• sales

    +86-0755-88291180

Tang Nano FPGA Demo Code

1. Preface

Basic guide to use Tang FPGA.


2. Tang Nano

  • The onboard downloader is ch552

Github: https://github.com/sipeed/Tang-Nano-examples


3. Tang Nano 1K

Github: https://github.com/sipeed/TangNano-1K-examples


4. Tang Nano 4K

Github: https://github.com/sipeed/TangNano-4K-example

Other example


5. Tang Nano 9K

Github: https://github.com/sipeed/TangNano-9K-example

FPGA drives 1.14-inch SPI screen

】HDMI display : Examples of PicoRV(as follows

[] Environment
    Python
    Gowin IDE
[] Steps
   []  Program FPGA
    -> Open picotiny project by picotiny.gprj file in TangNano-9K-example\picotiny\project directory
    ->Tick Use MSPI as regular IO in Project->Configuration->Place&Route->Dual-Purpose Pin which can be found in         the top menu bar
    ->Right-click Place&Route which is in Process interface and choose Clean&Rerun All
    ->Download the generated .fs file to the Embedded Flash of Nano 9K
        Then we can use the FPGA like a mcu.

    [] Download firmware

Execute the following command in TangNano-9K-example\picotiny directory

python .\sw\pico-programmer.py .\example-fw-flash.v COM13

The COM13 at the end of command line refers to the serial port number of the development board in the system.
For example, if it is allocated COM14 in your system, you need change it into COM14.

There is a countdown shows - Waiting for reset - when you succeed execute the command, in which time it's required to press the S1 button of the development board to complete the programming.
The succeed done log is as below:

\TangNano-9K-example\picotiny> python .\sw\pico-programmer.py .\example-fw-flash.v COM13
Read program with 11760 bytes
  - Waiting for reset -
    ...
Total sectors 3
Total pages 46
Flashing 1 / 3
Flashing 2 / 3
Flashing 3 / 3

Flashing completed

Then we can use serial port tools to execute command and use HDMI to display the code interface.

[] End

Other knowledge like cross-compile is not mentioned here, so you should learn to use it by yourself.


】Litex on Tang Nano 9K : https://github.com/litex-hub/litex-boards

Partner tutorials:

Lushay Labs are willing to make series around ethernet, graphics and GPU basics, and in the future there is 2 processor project.

】Those who are interested in these projects can read the following guides provided by Lushay Labs.

Other Blogs


6. Tang Nano 20K

Github: https://github.com/sipeed/TangNano-20K-example


7. Troubles

Here are the most common troubles or questions we gathered: Tang Solutions


TAG: 15.6 inch Dual LCD Computer PC Monitor Display Double Secondary Screen Type C Mini HDMI 1080P For Windows/MacOS Thermal imaging camera ESP32 S3 5 inch LCD Development Board 800x480 TouchScreen Display TVBOX LVGL HMI Sensor CAN RS485 ESP32 S3 Development Board 1.5 inch Round Rotary OLED TouchScreen Smart Knob Display 1.5inch Display 466x466 LVGL for Arduino Raspberry Pi Pico 2 RP2350 1.47 inch LCD Display Development board RP2350A 1.47inch Screen RGB color $8.5 Modbus RTU Relay 32CH D-Robotics RDK X3 Module Core MD Module Horizon Sunrise Pi ARM Cortex-A53 5Tops Size Compatible With Raspberry Pi CM4 Size TTL To CAN Mini DeepSeek XiaoZhi AI Voice Chat Robot BOX ESP32-S3 Development Board 1.28 inch Round LCD 1.28inch TouchScreen N16R8 Raspberry Pi Pico 2 RP2350-Tiny/Tiny-Kit Super Mini Board RP2350A ESP32 S3 Development Board 2.41 inch AMOLED Display 600x450 TouchScreen For Arduino LVGL With SD-Port/ QMI8658C 6-Axis Sensor Raspberry Pi DeepSeek XiaoZhi AI Voice Chat ESP32-S3 All-in-One-PCB-Kit N16R8 WROOM-1-N16R8 DevKitC-1 Development Board Jetson Nano 3G module Luckfox Pico MINI USB Camera 2MP GC2093 ‌WDR Backlight Compensation‌ Onboard microphone DAPLINK ESP32 S3 Development Board 2.8 inch Round LCD Display 480x480 QMI8658 Sensor / SD /MP3 Audio /Battery Port LVGL/HMI For Arduino DDSM315 Direct Drive Servo Motor All-In-One Design Hub RS485 Motor UGV Rover PT AI OpenCV Robot Car MediaPipe For Raspberry Pi