[Grug Huhler] has been working with the Tang Nano 9K FPGA board. They are inexpensive, and he noticed there is a 20K version, so he picked one up. Of course, you’d expect the 20K board has a different FPGA with more gates than the 9K, but there are also a number of differences in the host board. [Grug] was kind enough to document the differences in the video below.
In addition to the differences, there’s a good demo of the boards hosting a system-on-chip design. The little DIP package is handy for breadboarding. All of the 20K pins are 3.3 V, according to the documentation. The 9K does have some 1.8 V pins. There are more external devices on the 20K board but that eats up more uncommitted pins. Depending on your design, that may or may not be a problem.
We keep meaning to pick some of these up to play with. The Verilog is easy enough, and the tools look adequate. If you need a refresher on Verilog, we have a boot camp for you that would probably port easily enough to the Tang system. We’ve been following [Grug’s] work on these chips lately, and you should, too.
Just received my 4k, looking forward to trying it out
The ecosystem is so annoying so my two 4K’s are still in the drawer after 4 years.
Is the ecosystem of four years ago annoying or recent version of ecosystem annoying?
As always, it depends. The FOSS side is still pretty rudimentary for these. OTOH the Gowin IDE works quite well under Linux. Yes it does actually work, very little if any weird quirks. I know, still can’t really believe it myself. It’s not all roses, under Linux you have to use the openFPGAloader to push stuff onto the board. Still quite happy with it, free (as in beer) IDE that works under Linux and an FPGA board (with integrated programmer !) for that kind of price? Literally unheard of before, “Arduino of FPGA” territory IMHO.
The Gowin IDE works fine for me on Manjaro. For the programmer you can use openFPGALoader as you said, or use the Gowin Programmer with that, works fine for me:
https://github.com/andrewz1/gowin_ftd2/
What would be a good, beginner-friendly FPGA ecosystem with a decent FOSS toolchain?
There is but one FOSS FPGA tool family: https://github.com/YosysHQ/oss-cad-suite-build
In that, support for the Lattice ice40 devices is far more mature than for e.g. GOWIN.
Read the install instructions (and the steps needed to get from a verilog file to a bitstream) yourself and then decide if “beginner-firendly” is the right vocabulary to describe it.
@Stappers said: “Is the ecosystem of four years ago annoying or recent version of ecosystem annoying?”
Exactly my (still unanswered) question. Thanks Stappers.
I’ve just started playing with the Tang Nano 9K and found the Lushay Labs website which provides good beginner friendly tutorials and a VS Code extension (Lushay Code) which make programming the FPGA a one click action just like an Arduino :)
Of course it’s not eleven, it’s eleven thousand
11264 ?
The 1.8v pins are somewhat annoying for my use cases, but really you just have to read the datasheet and know which ones to avoid. I have a 20k sitting in a drawer but haven’t pushed the limits of the 9k yet. I also like the picorv32 on it. I’m hoping to transplant the IC onto a custom flight controller board sometime this year, but first I need to port ELRS firmware to RV32i and my UART peripheral.
I found them quite easy to get going.
Far easier than my experience. Some decades ago with Cyclone/Max and Quartus or Spartan and ISE.
Then again that just means I came to Tang and Gowin with experience….
They do welcome edits to the wiki which is also a great sign and now Sipeed also provide a shared license server to skip having to register with Gowin for their IDE. Even though that was quick and easy.
I came in with no prior FPGA experience and found the “limited to core functionality” IDE quite a boon to get started. If you can get past the accent (and the video quality) these videos (episode 10 to 13) got me going with Verilog: https://www.youtube.com/watch?v=397DDnkBm8A&list=PLD2350A83B752C861&index=10
> All of the 20K pins are 3.3 V
That’s a whole lot of pins. Who needs so many pins ?
IDK, I built a 12bit R2R ladder DAC. Nice to have enough pins where still plenty are left over. Implementing the DDS itself isn’t too bad, it’s interfacing to the outside world where the real work kicks in. I had it output a hard coded frequency, good project to get one’s teeth wet. “Parallel RGB” LCD display is another one that can eat like 20 pins at once. Or have 3 ladder DAC’s and output analog RGB?
20,000 pins gives you 1,666 (and two-thirds) 12-bit R-2R ladders. If that’s binary kilo, 1706 2/3 of them.
Well, that flew right over my head. I blame the amazing ability of the human brain to “show” us what we expect to see. Just one “k” difference, give or take.