• sales

    +86-0755-88291180

Tang-Nano-FPGA-Series-IDE-Install

【Install the IDE】

】Download the IDE

  • The IDE can be downloaded from this page after logging in.

It may look difference as this screenshot is from 2023.05.29 and the IDE has since been updated.


The IDE is available in two editions: Standard Edition and Education Edition.

The Standard Edition IDE requires license, which you can get from GOWIN Semiconductor Corp.

The Education Edition IDE is free to use, but supports fewer devices and includes fewer IP cores.

The following figure (updated 2023/05/29) shows the part numbers (PN) supported in the latest Education Edition IDE

The chips and boards in the following table can be synthesized and programmed via Educational IDE.

Chip full nameChip SeriesChip modelBoard
GW1NZ-LV1QN48C6/I5GW1NZGW1NZNano 1K
GW1NSR-LV4CQN48PC6/I5GW1NSRGW1NSR-4CNano 4K
GW1NR-LV9QN88PC6/I5GW1NRGW1NR-9CNano 9K
GW2AR-LV18QN88C8/I7GW2ARGW2AR-LV18Nano 20K
GW2A-LV18PG256C8/I7GW2AGW2A-18CPrimer 20K
GW5A-LV25MG121NC1/I0GW5AGW5A-25Primer 25K

For those who want to use Tang Nano (Onboard jtag is CH552), you'll need to use the Standard Edition IDE and apply for a license from GOWIN Semiconductor Corp.

】Install

[] Linux OS

For linux, download the Linux edition IDE and decompress it, the executable file gw_ide is in the decompressed folder /IDE/bin/. Execute it on command line to run the GOWIN IDE. Remember to change the permission of the software to make it executable with chmod + x if running the software fails.


[] Windows OS

Simply download the software and install it.

Making sure to install all components.


In the second picture, Gowin is the IDE which we will use to generate the bitstream file, and the Gowin programmer is what we use to burn it to the fpga. But the programmer installed with IDE does not match the USB-Jtag we provide. So we suggest you visit Tang questions to see how to replace programmer software with one will work better.

After you finish installing IDE, you will need to install 2 drivers.

After installing everything there will be an IDE icon, like the one below, on your desktop.


【Use the IDE】

】About the license

The Educational edition IDE does not require a license.

The Standard edition IDE requires a license, which you should apply for from the Gowin official website, visit https://www.gowinsemi.com/en/support/license/ for more information, and there you will be able to make a choice of software between GOWIN EDA and GOWIN GMDGOWIN EDA is what we use to program FPGA and the GOWIN GMD is what we use to program the hardcore or softcore in FPGA, so you should choose GOWIN EDA to get a license to run GOWIN IDE.

If you don't want to apply lic, you can use online lic server from Sipeed too:

ip: 106.55.34.119
port: 10559

if the ip not work, try use "gowinlic.sipeed.com" domain's IP.


Verify license

When you run GOWIN IDE, a license manager message box will appear. Once you have a license file you can click Browse... and select your license file, then Check and finally Save.

 

Programmer

Because the Programmer installed with IDE may not match the USB-JTAG we provide it may not work. So for Windows users we recommended using this Programmer instead.

For Linux users, go to the end of this page to see the section burn-in-linux if you have issues with the Gowin programmer.


【Other】

It may take some time to receive a license. During this time we sugegst you read the GOWIN Semiconductor Corp official documents, which are installed with the IDE.

There are three things in the IDE installation path: IDE folder, Programmer folder, uninst.exe

IDE folder:Here I suggest you look in the doc folder, where many GOWIN Semiconductor Corp official documents are, as shown below.


Programmer folder: There are also many documents here.

We suggest you delete the Programmer folder installed with the IDE and use this version Click me,which can solve some issues.

uninst.exe:This program uninstalls the IDE.


【Burn in linux】

    It's recommended to use openFPGALoader to flash the development board from linux environments. This page covers installation instructions and has been verified on Ubuntu but may work on other linux distributions.


    The currently available package on Ubuntu is older ('openfpgaloader') and does not support the latest boards (i.e. tangnano20k), because of this compiling the latest git source is recommended and covered below (adapted from the offical projects documentation: https://trabucayre.github.io/openFPGALoader/guide/install.html).


Compiling openFPGALoader from git

  1. Install build dependences
  2. Clone the source code
  3. Configure and compile the code
  4. Install
# Install build dependencies
sudo apt-get install libftdi1-2 libftdi1-dev libhidapi-hidraw0 libhidapi-dev libudev-dev zlib1g-dev cmake pkg-config make g++
# compile
git clone https://github.com/trabucayre/openFPGALoader.git
cd openFPGALoader
mkdir build
cd build
cmake ../ # add -DBUILD_STATIC=ON to build a static version
          # add -DENABLE_UDEV=OFF to disable udev support and -d /dev/xxx
          # add -DENABLE_CMSISDAP=OFF to disable CMSIS DAP support
cmake --build .
# or
# make -j$(nproc)
# install
sudo make install

Optionally install Udev rules

Using the board may require root permissions if Uden rules are not used. If this is not done you will likely need to run openFPGAloader as root or with sudo each time.

# Working in the openFPGAloader/ directory
# Copy the Udev rules to the correct directory
sudo cp 99-openfpgaloader.rules /etc/udev/rules.d/
# Reload the udev rules and activate them
sudo udevadm control --reload-rules && sudo udevadm trigger # force udev to take new rule
# Add the current user to the plugdev group
sudo usermod -a $USER -G plugdev # add user to plugdev group

】Flashing the board

First ensure openFPGAloader detects the cable and device.

$ sudo ./openFPGALoader --detect # This command should be executed in the directory where you previously executed make install  
# The log of succeed running is shown below
Jtag frequency : requested 6.00MHz   -> real 6.00MHz
index 0:
        idcode 0x100481b
        manufacturer Gowin
        family GW1N
        model  GW1N(R)-9C
        irlength 8


Flash the bitstream to the device as shown below. The board name must be speficied after the -b option, -f options means the file is programmed to the non-volatile flash, without it it will be stored in SRAM but lost if the device loses power.

$ sudo ./openFPGALoader -b tangnano9k -f ../../nano9k_lcd/impl/pnr/Tang_nano_9K_LCD.fs
# -b means target model,this can be found in the form below
# -f means download to flash,with it means download to sram
# The last is what need to be downloaded, it should be the related .fs file
# The log of succeed running is shown below
write to flash
Jtag frequency : requested 6.00MHz   -> real 6.00MHz  
Parse file Parse ../../nano9k_lcd/impl/pnr/Tang_nano_9K_LCD.fs: 
Done
DONE
Jtag frequency : requested 2.50MHz   -> real 2.00MHz  
erase SRAM Done
erase Flash Done
write Flash: [==================================================] 100.00%
Done
CRC check: Success

[]Board names

You can find the list of supported tang boards using the command openFPGAloader --list-boards | grep tang.

Board nameFPGAMemoryFlash
tangnanoGW1N-1 QN48OKInternal Flash
tangnano1kGW1NZ-1 QN48OKInternal Flash
tangnano4kGW1NSR-4C QN48OKInternal Flash
tangnano9kGW1NR-9C QN88POKInternal Flash
tangnano20kGW2AR-18C QN88OKExternal Flash
tangprimer20kGW2A-18C BGA256OKExternal Flash