Sipeed Tang Nano 20K
Sipeed Tang Nano 20K
- FPGA: Gowin GW2AR-18
- LUT4: 20736
- flip-flops: 15552
- Shadow SRAM: 40 k bits
- Block SRAM: 828 k bits
- Number of BSRAM: 46
- 32bits SDR SDRAM: 64 M bits
- multiplier 18 x 18: 48
- number of PLLs: 2
- I/O banks: 8
Back to FPGAs page
Links
Sipeed wiki: Tang Nano 20K, Gowin Arora FPGAs,
Tools YosysHQ Project Apicula,
local links
sb,
History
2026-01-19: when I connect the Tang Nano 20K to my machine via a usb cable (USB-C) the LEDs run a Larson scanner. usbconfig reports
root@kg-starone:~ # usbconfig -d ugen1.4 ugen1.4: <FT2232C/D/H Dual UART/FIFO IC Future Technology Devices International, Ltd> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (100mA)
from /var/log/messages
Jan 19 21:01:25 kg-starone kernel: ugen1.4: <SIPEED 20Ks FRIEND> at usbus1 Jan 19 21:01:25 kg-starone kernel: uftdi0 on uhub0 Jan 19 21:01:25 kg-starone kernel: uftdi0: <SIPEED 20Ks FRIEND, class 0/0, rev 2.00/5.00, addr 3> on usbus1 Jan 19 21:01:25 kg-starone kernel: uftdi1 on uhub0 Jan 19 21:01:25 kg-starone kernel: uftdi1: <SIPEED 20Ks FRIEND, class 0/0, rev 2.00/5.00, addr 3> on usbus1
usbconfig device descriptor
root@kg-starone:~ # usbconfig -d ugen1.4 dump_device_desc ugen1.4: <FT2232C/D/H Dual UART/FIFO IC Future Technology Devices International, Ltd> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (100mA) bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0200 bDeviceClass = 0x0000 <Probed by interface class> bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0000 bMaxPacketSize0 = 0x0040 idVendor = 0x0403 idProduct = 0x6010 bcdDevice = 0x0500 iManufacturer = 0x0001 <SIPEED> iProduct = 0x0002 <20K's FRIEND> iSerialNumber = 0x0003 <2023030621> bNumConfigurations = 0x0001
usbconfig current config
root@kg-starone:~ # usbconfig -d ugen1.4 dump_curr_config_desc ugen1.4: <FT2232C/D/H Dual UART/FIFO IC Future Technology Devices International, Ltd> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (100mA) Configuration index 0 bLength = 0x0009 bDescriptorType = 0x0002 wTotalLength = 0x0037 bNumInterfaces = 0x0002 bConfigurationValue = 0x0001 iConfiguration = 0x0000 <no string> bmAttributes = 0x0080 bMaxPower = 0x0032 Interface 0 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0000 bAlternateSetting = 0x0000 bNumEndpoints = 0x0002 bInterfaceClass = 0x00ff <Vendor specific> bInterfaceSubClass = 0x00ff bInterfaceProtocol = 0x00ff iInterface = 0x0002 <20K's FRIEND> Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0081 <IN> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x0001 bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0002 <OUT> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x0001 bRefresh = 0x0000 bSynchAddress = 0x0000 Interface 1 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0001 bAlternateSetting = 0x0000 bNumEndpoints = 0x0002 bInterfaceClass = 0x00ff <Vendor specific> bInterfaceSubClass = 0x00ff bInterfaceProtocol = 0x00ff iInterface = 0x0002 <20K's FRIEND> Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0083 <IN> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x0001 bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0004 <OUT> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x0001 bRefresh = 0x0000 bSynchAddress = 0x0000
2026-01-19: sb - I installed the yosys / nextpnr / apicula toolchain, but it doesn't look like FreeBSD's nextpnr port have support for Gowin yet.
tingo@kg-starone:~/work/bitraf/2026/0119_fpga_aften_uke_4/apicula/examples $ gmake blinky-tangnano20k.fs [..] 2.31. Executing CHECK pass (checking for obvious problems). Checking module top... Found and reported 0 problems. 2.32. Executing JSON backend. Warnings: 1 unique messages, 1 total End of script. Logfile hash: 05e9dca5d6, CPU: user 0.22s system 0.01s, MEM: 42.22 MB peak Yosys 0.60 (git sha1 5bafeb77dc71e054fa331ab9efa613e6fb0a1c49, c++ 19.1.7 -O2 -fstack-protector-strong -fno-strict-aliasing -fPIC -O3) Time spent: 35% 20x read_verilog (0 sec), 8% 1x abc9_exe (0 sec), ... nextpnr-himbaechel --json blinky-tangnano20k-synth.json --write blinky-tangnano20k.json --device GW2AR-LV18QN88C8/I7 --vopt family=GW2A-18C --vopt cst=tangnano20k.cst gmake: nextpnr-himbaechel: No such file or directory gmake: *** [Makefile:241: blinky-tangnano20k.json] Error 127 rm blinky-tangnano20k-synth.json
2026-01-19: I created this page.
2024-10-28: the package was delivered straight into my mailbox.
2024-10-21: the package was shipped.
2024-10-19: I ordered 1 x Sipeed Tang Nano 20K from Aliexpress, for USD 37.66 shipping included.