This guide is only for WSL/Linux. If you are on MacOS, you will need to borrow a Linux machine. You may use the following example if you want to install the tools yourself: E4tHam/tangnano_example.
pip3 install apycula
cd ~/Downloads
curl -JOL https://github.com/YosysHQ/oss-cad-suite-build/releases/download/2022-04-30/oss-cad-suite-linux-x64-20220430.tgz
tar -xzvf oss-cad-suite-linux-x64-20220430.tgz -C ~/Utils/
"~/Utils/oss-cad-suite/bin"
to PATH.nextpnr-gowin
(compiled by myself)
sudo apt install libboost-all-dev
cd ~/Utils/oss-cad-suite/bin
curl -JOL https://ieee.sifferman.dev/S22-FPGA/Lecture/FPGAs/nextpnr-gowin
chmod +x nextpnr-gowin
FPGA stands for field-programmable gate array. They are used to implement digital circuits designed in RTL. There is a good explanation of their architecture in Parallel Programming for FPGAs by Ryan Kastner, Janarbek Matai, and Stephen Neuendorffer, Section 1.2. The following figures are taken from that textbook.
Now that our RTL is finished, we need to set our IO on our FPGA. You can use the following template:
Next, add the new files to the core file and create a new Apicula target.