This project is a Makefile created entirely with open-source tools to facilitate the synthesis, routing, simulation and programming of FPGA projects using the TangNano 9K FPGA from Gowin. The workflow is simplified using Yosys, Nextpnr and Icarus via Docker, while OpenFPGALoader and GTKwave must be installed on the user's system.
This Makefile was developed to automate the workflow of developing projects with the TangNano 9K, from synthesis to download to the device. Using Docker ensures that all necessary environments are configured automatically, providing an easy-to-use working environment with fully open-source solutions.
- Automatic synthesis of FPGA projects using Yosys
- Routing of FPGA projects with Nextpnr using the Apicula project
- Simulation of FPGA designs using Icarus Verilog
- Generates VCD files with Icarus Verilog, which can be viewed and analyzed in GTKWave
- Universal utility for FPGA programming using OpenFPGALoader
- Development environment encapsulated in Docker
Before starting, make sure you have the following software installed:
- Docker
- Make - to run the Makefile
- GTKWave (optional) - To analyze the simulation
- OpenFPGALoader - for downloading the bitstream to the FPGA
-
Clone this repository to your local machine:
git clone https://github.com/Alfredosavi/tangnano-hello.git cd tangnano-hello
-
To synthesize and route the project, run:
make
-
To compile and simulate the bench tests, run:
make test
-
To download the bitstream to the FPGA, run:
make prog
-
To download the bitstream to the flash memory, run:
make flash
-
To reset the FPGA, run:
make reset
-
You can clean up the generated files by running:
make clean
This project is licensed under the MIT License - see the LICENSE file for details.