HACKER Q&A
📣 non-entity

Learning FPGA's as a Software Developer?


I have a few cool projects in mind that would have me building some prototype hardware. As this hardware would probably go beyond what you could do with say an Arduino or similar MCU based board, and I'm not an hardware engineer, it seems like FPGAs or some other form of programmable logic is probably my best bet.

But most FPGA material seems to be for EE's. The HDLs seem foreign and there are so many brands, options, etc. It all seems so intimidating.

Are there any recommended resources for learning FPGA's coming from a software background?


  👤 GrumpyYoungMan Accepted Answer ✓
Yes, they are for EEs or at least CompEs, since a knowledge of digital logic and electronics are necessary to use them.

For hardware, a common recommendation is hobbyist/educational boards from Digilent, like the Arty S7: https://store.digilentinc.com/arty-s7-spartan-7-fpga-board-f... It's inexpensive, supported by Xilinx's free tools, and has a fair bit of tutorials written around it.

As for learning to use it, there's really no getting around the fact that you'll have to acquire an understanding of digital logic, which is more like Factorio than programming. Make sure you pick a textbook whose focus is on teaching digital logic and happens to cover a HDL; there are a few out there which focus on the HDL and presuppose a knowledge of digital logic, which will not be of much help to you.