Learn what FPGAs are, how they work, and how to design FPGA integrated circuits on Linux.
In 2023, the number of people who have written some form of software code at least once is surely orders of magnitude greater than whatever it was in 1991, when Linux was born. That is good, but in my opinion, another very important group should have grown even more in the same period, but didn’t: I refer to the people who have tried at least once to design digital integrated circuits (ICs) – that is, digital hardware instead of software.
This is a pity, because without such circuits no software could exist, and designing them is much more accessible today than it was 30 years ago. My goal in this article, which requires no previous knowledge of digital ICs, is to prove that point – at least for those really important ICs (that can also run Linux), known as field-programmable gate arrays (FPGAs).
The basic flow and core concepts of FPGA design are not intrinsically more difficult than those for efficient software design. However, they are different enough that a complete FPGA tutorial for beginners could well fill half this magazine.
Use Express-Checkout link below to read the full article (PDF).