๐พ Archived View for bbs.geminispace.org โบ s โบ FPGA โบ 18388 captured on 2024-08-19 at 00:54:28. Gemini links have been rewritten to link to archived content
โฌ ๏ธ Previous capture (2024-07-09)
โก๏ธ Next capture (2024-08-31)
-=-=-=-=-=-=-
I haven't done much with FPGAs for a bunch of years. Kind of got disgusted by the proprietary hardware, terrible tools, and general awfulness of verilog (and god forbid, VHDL). Also, modern CPUs can emulate most things I want from FPGAs, but much faster and neater (less physical space, which is at a premium)...
But I couldn't resist buying a little $10 Sipeed boards with Gowin FPGAs (Nano1K). I should've spent the extra $10 for a much more useful 9K, or even 20K (still under $30)...
But I got the little one, largely because I just wanted to see what it's like to work with these FPGAs, and my Xilinx experience has taught me to not get greedy with resources, because the compile time grows exponentially with Xilinx tools.
It took just over a week to get it from AliExpress (shipped from California).
The IDE is not too bad, as far as these atrocious things go (Synplify-based). Much simpler than both Xilinx IDEs, but it does the job. The tools, likewise, are simpler, which could be a good thing, especially if you can run them from a Makefile.
I installed Gowin's student IDE, and had the board running in less than an hour (mostly figuring out how to actually flash it, and the solution is to not use the built-in burner but an opensource tool called openFPGALoader, which works with almost every kind of FPGA)...
A flashing RGB LED example builds in something like 10 seconds for the 1k board, (and a few seconds more for the 20K board, so yeah, I should've gotten that one). Not bad, but many years ago I made a makefile for Xilinx that built and flashed smallish devices (XC3S200) in 15 seconds, so it's not amazing (as some people described it). But workable.
I still remember some punk verilog, and was able to get rid of a bunch of junk and flash the LED different ways immediately.
Unfortunately, this FPGA, much like the Lattice parts (I think it may be a Lattice clone), does not have my favorite Xilinx feature, an in-LUT shift register. Using these I used to hack up amazing instantiations, such as packing an entire VGA timing circuit into 4 slices. Shift registers are amazingly useful, and using two of them in a slice, with mutually-prime bit lengths, allowed me to create long delays, or pulse generators, stacked using the carry chain. Oh, well...
I think I have to at least put a 6502 on this thing to scratch this itch...
I definitely should've gotten a bigger devboard - the 9K supports serial over the same USB port it's already connected to... I don't even have a soldering iron (or much space for it) in NYC, so I guess it's back to aliexpress for the Nano 9K...
I can now synthesize, but I can't even find the routing/placement executable...
Jul 07 ยท 6 weeks ago ยท ๐ decant_
๐ decant_ ยท Jul 08 at 03:56:
Hey, I don't know much about FPGA. I want to ask what kind of capability would FPGA in this price range have. What is the use case? Is it powerful enough to emulate a m68k?
๐ stack [OP/mod] ยท Jul 08 at 14:12:
@decant_: the 1k model is really more of a toy, but should fit a simple CPU like a 6502 or a picoblaze clone, with an IO port. Internal block RAM is around 8KB, so you are looking at something like an Apple 1, at maybe 50-75MHz.
Nano 4K has has a built-in hard ARM Cortex-M3 (thumb instructions) and 4 times as many 4-input lookup tables/flops...Also, 64MB HyperRAM (whatever that is), and HDMI and camera interfaces.
Nano 9K has room enough for a soft RISC-V CPU and a DRAM controller and enough left over for anything that fits in a 4K (Ithink) -- lots of peripherals and HDMI, etc. Also 32MB flash, 64MB DRAM
20K is more stuff that I'd know what to do with, and is faster.
โ https://wiki.sipeed.com/en/
I think there is an Atari ST project that fits into a 9k (and 20k), with a 68K processor, of course. Search for MiSTer or something like that.