-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: add icestorm fpga dev container
- Loading branch information
1 parent
1bf6866
commit 8411494
Showing
3 changed files
with
33 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
VERSION=v1.0.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
FROM alpine:3.18 | ||
|
||
ARG DEBIAN_FRONTEND=noninteractive | ||
ENV TZ=UTC | ||
|
||
RUN apk update | ||
RUN apk add --no-cache --update bash curl git g++ musl-dev make \ | ||
libftdi1-dev clang bison flex-dev gperf readline-dev \ | ||
gawk tcl-dev libffi-dev eigen-dev \ | ||
graphviz python3 libftdi1-dev gcc-gnat \ | ||
qt5-qtbase python3-dev boost-dev cmake | ||
|
||
# To use VHDL with yosys, require ghdl plugin | ||
RUN git clone https://github.com/ghdl/ghdl.git ghdl | ||
RUN git clone https://github.com/ghdl/ghdl-yosys-plugin ghdl-yosys-plugin | ||
|
||
# To use yosys with ice40, require icestorm and nextpnr with ice40 architecture | ||
RUN git clone https://github.com/YosysHQ/yosys.git yosys | ||
RUN git clone https://github.com/YosysHQ/icestorm.git icestorm | ||
RUN git clone https://github.com/YosysHQ/nextpnr nextpnr | ||
|
||
# Install all | ||
RUN cd yosys; make -j$(nproc); make install | ||
RUN cd ghdl; ./configure --prefix=/usr/local; make -j$(nproc); make install | ||
RUN cd ghdl-yosys-plugin; make -j$(nproc); make install | ||
RUN cd icestorm; make -j$(nproc); make install | ||
RUN cd nextpnr; \ | ||
git submodule init && git submodule update; \ | ||
cmake . -DARCH=ice40 -DUSE_IPO=off -DCMAKE_INSTALL_PREFIX=/usr/local; \ | ||
make -j$(nproc); \ | ||
make install |