
6 phillip stanley-marbell
The compilation process will take about four minutes.
F.5 Compiling NextPNR
The program
nextpnr is the tool that determines how to fit your design into
the FPGA (placing components and routing wires: place and route or pnr).
You need to complete installing IceStorm before attempting this step. If
you are the team member tasked with installing this step, you need to wait
until the previous step of installing icestorm is complete. Change directory
into the
tools/nextpnr directory of the top-level of your clone of the course
repository and run the following:
$ cmake -DARCH=ice40 .; make; sudo make install
-- The C compiler identification is AppleClang 10.0.1.10010046
-- The CXX compiler identification is AppleClang 10.0.1.10010046
-- Check for working C compiler: cc
-- Check for working C compiler: cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
...
The compilation process will take about 15 minutes. On Amazon Linux, you
will instead need to run the following:
$ cmake3 -DARCH=ice40 -DBUILD
_
GUI=OFF -DBUILD
_
PYTHON=OFF -DBUILD
_
HEAP=OFF . ; make; sudo make install
...
F.6 Compiling Arachnepnr
The program
arachnepnr is the tool that determines how to fit your design
into the FPGA (placing components and routing wires: place and route or
pnr). ArachnePNR and NextPNR are different implementations of the same
concept and you will have the opportunity to use them both in different
situations to get acquainted with them.
You need to complete installing IceStorm before attempting this step. If
you are the team member tasked with installing this step, you need to wait
until the previous step of installing
icestorm is complete. Change directory
into the
tools/arachnepnr directory of the top-level of your clone of the
course repository and run the following:
$ sudo make install
c++ -Isrc -std=c++11 -MD -O2 -Wall -Wshadow -Wsign-compare -Werror -c -o src/arachne-pnr.o src/arachne-pnr.cc
c++ -Isrc -std=c++11 -MD -O2 -Wall -Wshadow -Wsign-compare -Werror -c -o src/netlist.o src/netlist.cc
c++ -Isrc -std=c++11 -MD -O2 -Wall -Wshadow -Wsign-compare -Werror -c -o src/blif.o src/blif.cc
c++ -Isrc -std=c++11 -MD -O2 -Wall -Wshadow -Wsign-compare -Werror -c -o src/pack.o src/pack.cc
c++ -Isrc -std=c++11 -MD -O2 -Wall -Wshadow -Wsign-compare -Werror -c -o src/place.o src/place.cc
...
The compilation process will take about 2 minutes.