Tang Nano 9K – FPGA SBC with HDMI
wiki.sipeed.com
wiki.sipeed.com
Cheapest GW1N-1 (still 1Gbit serdes) boards are $10 on ebay, meanwhile you cant really buy anythink Xilinx/intel
Reminds me of ESP8266/32 selling for peanuts with huge volumes available while people hunt for scalped overpriced STMs.
Having a FOSS toolchain (yosys+nextpnr from what I recall) supporting it also helps a bunch.
While the for the Tang Nano 9K is not cracy cheap ~19eur for the board and 9.5eur shipping is not horrible. Hard to get a devboard with anything modern at that pricepoint with the same amount of LUT's.
I have one of the "4K" versions of this board (which also has an onboard Cortex hard core) and unfortunately still have to use the Gowin EDA suite for a lot of projects.
It's getting there, though!
How hard is it to get into FPGA development with that sort of background? Starting from barely knowing how to spell FPGA?
Even tho Verilog and VHDL look like normal programming languages, you aren't actually programming. You are describing hardware/logical circuits. Most things run, by default, in parallel, which you always have to keep in mind. But then there are things like processes which are evaluated sequentially, but they still behave different than a C-program.
You could also use external IP-Blocks to not be forced doing everything from scratch, but they are not always easy to work with.
So my (personal) conclusion is: It's not hard to get it running. You could easily do that. Personally I would prefer to go with Xilinx or Intel chips, just because you have more resources and a kind-of working IDE. Or you could go with some Lattice ECP-5 based chips and use the open source toolchain yosys etc. It can be a super exciting experience, but a lot of people just seem to find it boring. I am personally very grateful that I had an exceptionally good professor in uni that thought us most things.
Like, you're not assigning a value, rather connecting an output to an input with a wire. You're not writing traditional sequential statements, but wiring logic gates (level-based) or hooking up flip-flops and latches (edge-based) to implement state machines.
With this in mind, I got a very simple soft-CPU going in very little time.
I found it more difficult to get data into or out of the FPGA though. Things like I2C which is trivial with a microcontroller that has I2C peripheral is suddenly not so fun.