Repository: https://github.com/E4tHam/tangnano_example
The Tang Nano is the famous / infamous $5 FPGA (learn more here). This repository is a simple example of how to get started with the Tang Nano with FuseSoC.
make tangnano # generate the bitstream
make load # load the bitstream to the Tang Nano SRAM
make lint # verify code meets Verilator standards
make sim # simulate in icarus
make view # open dump in gtkwave
make clean # remove build files
As of (2/22/22) programming the flash has difficulties. This is a collection of problems I encountered and their solutions. Hopefully in the future these will be resolved. :)
- Currently, openFPGALoader does not support writing to internal flash via the USB port. An external JTAG probe is required. trabucayre/openFPGALoader#32 To write to the flash, you must use Gowin's proprietary programmer.
- There is a bug in the official release of Gowin's FPGA programmer. You will need this version or higher: Gowin Programmer 2.
- By default, Gowin's programmer has a programming frequency set to 30MHz, but the Tang Nano only supports up to 25MHz. Change the cable settings and set it lower; 2.5MHz is common.