Note: this quickstart only works on linux so far. Pull requests are very welcome
This is a quickstart project you can use for your fomu PVT board.
Note: this project is specifically set up for the PVT version. The difference between the multiple boards are outlined here.
All information in this project can be found in the workshop and in the example project.
To modify this project for other fomu versions (evt1, evt2, evt3, hacker), see the original makefile
Simply run source env.sh
. This script will check if the fomu toolchain is present in tools/fomu-toolchain
. If the toolchain is not there, it will ask you to download it. The download is about 300MB.
Every time you start a new terminal session, you should run source env.h
again.
Several good verilog resources exist:
- Introduction to verilog for beginners: nandland.com
- Simple blink program from the fomu examples: blink.v
- Example projects for iCE40 can be found here: github.com/nesl/ice40_examples
Run make
in this project should create an build
directory. This directory will contain:
out.json
- Your .v file turned into a diagram (?), created by yosysout.asc
- A route diagram, generated by nextpnr-ice40out.bin
- A binary stream of the diagram, created by icepackout.dfu
- The binary file, but modified so that the dfu tools can upload it
The fomu uses an fpga called "iCE40" datasheet
Run make clean
to clean the project.
By default the toolchain will be installed in tools/fomu-toolchain
. You can manually download and configure a toolchain:
- Download the latest release from https://github.com/im-tomu/fomu-toolchain/releases
- Extract it where you want
- Add
$PWD/bin/
to your$PATH
make
should now work correctly