Home

Awesome

Aim

There is also an ECP5 version of this board: https://github.com/mattvenn/basic-ecp5-pcb

What a Lattice iCE40 FPGA needs

PCB

board

BOM

Test

See the test program. This makes a nice pulsing effect on LED2, and LED1 is the slow PWM clock. The buttons increase or decrease pulsing speed.

make prog

Yosys and NextPNR are used to create the bitstream and then it's copied to the Raspberry Pi specified by PI_ADDR in the Makefile.

Fomu-Flash is used to flash the SPI memory, or program the FPGA directly.

HW V3: bfcbcf7

HW V2: 444ba78

HW V1: d9c7cdf

Errata

My fork of Fomu-Flash is used for programming. Fomu-Flash should be able to reconfigure the pins used with -g, but I couldn't get this to work, so I hard-coded the right pins in this fork.

Inspiration

Reference