this post was submitted on 13 Mar 2025
472 points (99.4% liked)
Programmer Humor
21471 readers
1879 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
That Spartan 6 FPGA can probably boot on a softcore with mainline Linux support. It has enough fabric space (74k logic cells) to implement some smaller RV32 designs.
Mad that FPGA looks pretty cheap to toy around with thanks for letting me know!
I dream of making a SBC that has an FPGA and modular cable system to emulate as many device interfaces as possible
No problem! I've similar goals, though I tend to be too exhausted in my free time as of late. The 6 series are a bit long in the tooth at this point (there's 3 or 4 newer generations). They probably won't give amazing performance, though they're still used in logic analyzers. Probably great to learn on though.
English please, ENGLISH!!! WE ONLY SPEAK ENGLISH HERE!!!!!
Top row, second column. That chip is a Xilinx (now AMD) Spartan 6 Field-Programmable Gate Array (FPGA). An FPGA is a type of chip that contains an array of logic gates, flip-flops, and other elements whose interconnects can be "programmed" (I use quotes because it's more like configuration than software programming). These elements are collectively referred to as the FPGA "fabric" and the naming of the individual elements varies between manufacturers but Xilinx uses "Logic Cells".
The fabric of this particular chip has 74,637 Logic Cells (there's more element types but I'm not going into those because I'm still learning any them).
What makes FPGAs so special? Basically, they contain all of the parts needed to make a CPU (or other digital circuit). An FPGA may not be able to implement a general purpose CPU that is as fast or powerful as custom silicon but, it can do it. A CPU implemented on an FPGA is known as a "soft core".
What is RV32? Simply, a 32-bit RISC-V processor. There are some open-source RV32 implementations that will both fit in the pictured FPGA and are capable of booting mainline Linux.