The Sipeed Tang Nano 20K is a low-cost FPGA development board based on Gowin GW2AR-18 FPGA with 20,736 logic cells and 64Mbit RAM, which coupled with 64MBit QSPI flash provides enough resources to simulate a 32-bit RISC-V core booting Linux or playing retro games in an emulator.
The FPGA board comes with a USB-C port for power and to load the FPGA bitstream through a BL616 microcontroller that also acts as a USB to serial chip, an HDMI port and an RGB LCD interface for video output, two user buttons, and two rows GPIOs to connect peripherals such as gamepads (through adapters).
Sipeed Tang Nano 20K specifications:
- FPGA – Gowin GW2A-LV18QN88C8I7 with
- 20,736 logic units (LUT4)
- 15,552 flip-flops (FF)
- RAM
- 41,472 shadow SRAM (S-SRAM)
- 828K block SRAM (B-SRAM)
- Numbers of B-SRAM – 46
- 64Mbit 32-bit SDR SDRAM
- 48x 18×18 multipliers
- 2x PLLs
- 8x I/O Bank
- Onboard debugger – Bouffalo Labs BL616 32-bit RISC-V CPU (RV32IMAFCP) @ up to 320 MHz, 480KB SRAM, embedded flash for
- JTAG for FPGA
- USB to UART for FPGA
- USB to SPI for FPGA communication
- Control frequency generated by the MS5351
- Clock generator – MS5351 provides 3 extra clocks for the FPGA
- Storage – 64Mbit QSPI flash to save the FPGA bitstream, microSD card slot for data
- Display interfaces
- 40-pins RGB LCD connector
- HDMI port
- Audio – MAX98357A PCN amplifier, 2-pin header for speaker
- Expansions – 40-pin GPIO header with SPI, SDIO, I2S, LCD, HDMI EDID, etc…
- Misc – 6x LEDs, 1x RGB LED (WS2812), 2x user keys, update button
- Power Supply – 5V via USB-C port
- Dimensions – 54.04 x 22.55mm
The company has showcased a 48MHz 32-bit RISC-V VexRiscv softcore (Litex firmware) running on the FPGA and booting a minimal Linux image in the Twitter video embedded below. You’ll also find various samples to control HDMI and RGB LCD interfaces, audio output, UART, and the LEDs on GitHub. Another fun project is the NESTang FPGA Nintendo Entertainment System working on Sipeed Tang Nano 20K and Primer 20K boards. Programming is done through the Gowin IDE, and you’ll find the resources to get started and further hardware documentation (schematics, datasheets, etc…) in the wiki.
#FPGA Tang Nano 20K run #RISCV RV32IMA, boot up #Linux ! pic.twitter.com/gMOeps4Kf2
— Sipeed (@SipeedIO) May 18, 2023
Sipeed has just started selling the Tang Nano 20K development board on Aliexpress for $25 and up. You’ll also find accessories there such as 4.3-inch or 5-inch displays, and even a full retro game kit (about $48) with the board, two joysticks with adapters, a breadboard, and a USB cable to run the NESTang bitstream and play some NES games using the HDMI port at 720p resolution and with audio.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
Why simulate a 48Mhz Risc V when the board has also has a 320Mhz risc embedded?
For educational purposes, and the emulated RISV-C core has access to more interfaces and memory to run things like Linux, which would probably not be possible with the BL616.
The terms “simulate” and “emulate” are incorrect and misleading when referring to a soft IP RISC-V *implemented* in FPGA logic.
I have one, the 9k. However, I don’t seem to find any good tutorials about it. Do you happen to know any?
I don’t know any specific tutorials. but you can check out the samples on GitHub, documentation from Gowin, etc…
Depending on the core, you could define custom instructions that would use DSPs or other stuff for acceleration purposes and it could be even faster than the 320MHz one.
Or just for easy interface and control with the accelerators inside the FPGA.
GOWIN offers USB 2.0 SoftPHY IP with support of 480Mbps in USB High Speed mode. It would be useful if such interface is presented as well as some software examples available.
I wonder how many instances it would support concurrently. Could be a nice solution to build a multi-head KVM with, which could also support e.g. media (USB CDROM or USB flash drive) attachment.
The soft IP won’t last long if you operate it over a wide temperature range. The soft IP core uses IODelay to implement oversampling (there’s no hardware CDR for the USB data lines), and unfortunately the IODelay is not very accurate over PVT, and the current version of USBHS IP doesn’t try to do any dynamic calibrations.
The chip alone is USD $64 on mouser in qty 168… something is weird about all of the tang boards from sipeed, the cost of the entire board is less than the cost of the FPGA for all of them (by a significant margin). I’m thinking that they get the chips for free?
No only for Gowin. Something magic happens in China with the boards often cheaper than chips purchased outside of China 🙂
I purchased recently form China used GW2AR-LV18 QN88C8/I7 for about 4.70 USD/pcs. Haven’t complete my boards yet, but hope they will work fine. GW2AR evaluation board from Gowin cost about 75 EUR, The price of the chip probably is much lower, but apparently some distributors are trying to make higher profits.
Where did you buy from specifically?
taobao.com
I was given a quote of 45 CNY for sample quantity and 42 CNY for 1k qty by an authorized distributor referred by Gowin’s application engineer. Mouser was asking for a stupid amount of margin on FPGAs, regardless of vendors, probably with Lattice being the only exception.
I don’t really get why go with Sipeed/GoWin for FPGA.
You can get cheap Spartan 7 or 6 for around the same price, which would be considerably better or even Lattice alternatives too. For a bit more, you can get a cheap Zynq board too.
See a list of cheap fpgas boards:
http://www.joelw.id.au
Which board with Spartan costs around 25$?
Breadboard friendly, lightweight and *fast* SDK!, small, cheap and easy to make random small FPGA projects with. Featureful enough chips. Good balance of I/O on sipeed boards. I hope sipeed continues expanding their gowin line. 🙂
Zynq with its 110+ GiB SDK and 3 minute compile times on 16 core machine for a simple blinky project is really unwieldy.
I guess I have something for all those Chinese manufacturers with win/winner in their name, lol. I kinda like their products.
orange crab is faster and smaller and have lipo power
and is open source 😉
Why do you think is faster? They have similar parameters although Tang Nano 20k has more DSP than Orange Crab. Also the price – 25$ vs 99$ makes a difference 🙂
Also what do you mean by ‘is opensource’? It is a board with lattice fpga, this is board with gowin fpga, both has schematics available. There is not much difference.
The tools need to be open source, not the board design. Ideally both, I guess, but with closed tools, not much else matters.
gowin FPGAs have open source toolchain too for nano 1k,4k,9k, check e.g. https://learn.lushaylabs.com/getting-setup-with-the-tang-nano-9k/
20k is a matter of time https://github.com/YosysHQ/apicula/issues/127
Gowin has education version of their IDE/toolchain that works with all Sipeed Tang Nano boards -1k,4k,9k,20k with no license needed https://wiki.sipeed.com/hardware/en/tang/Tang-Nano-Doc/install-the-ide.html
It also has much less I/O. FPGA’s are often useful when you want to acquire/send a lot of data in parallel in a precisely timed manner.