View on GitHub

FPGA tutorial

Here are some materials for my FPGA workshop. The workshop uses the open source Icestorm toolchain. The hardware is a few Lattice boards (because that’s what I have), as well as some peripherals like OLED displays.

The code is MIT licensed (see LICENSE) unless otherwise stated in the file. Patches welcome!

See also fpga-experiments which is a very messy sandbox where I try out all this stuff.

This tutorial has the following parts:


Play the excellent NandGame. Try to get at least to “Data Flip-Flop”.

Bit operations

If you are not familiar with bit operations, learn a bit about them. There are some links and exercises in the bits directory.


Move on to Verilog language.


Finally, we get to play with real hardware.