Making the leap from software programming to digital design is certainly not an easy one. Many former programming students embark on the journey of learning FPGA, thinking it should be easy enough with their experience – but, more often than not, the road is bumpy and way longer than they expected.
Here is a straightforward guide to what you should know before you get started, what you should focus on while you’re learning as well as exactly where you can go to learn the basics. The best option is, of course, to enroll in a course that teaches you everything from the beginning but if that’s not for you, there are still a few alternatives online.
What is FPGA in any way?
While you may know all of this already, it’s good to have a quick brush-up before you embark on those tutorials. FPGA or field-programmable gate array is, essentially, a huge array of gates that you can reprogram and reconfigure anywhere and whenever you like.
It is of course much more complicated than this and ‘a huge array of gates’ doesn’t even begin to describe it. The basic principle is, however, that these gates can be connected with one another to make a circuit of your choice. In other words, you can tell it what to be instead of just telling it what to do.
Forget everything about software development
Before you get started on learning the basics, it’s important to keep in mind that what you already know about software development may actually be more of an obstacle than help when you’re trying to understand digital design.
Programming languages, for starters, doesn’t have anything to do with FPGA – if you want to avoid any further confusion, make sure you start from scratch and build your way up again.
You need to learn HDL languages such as Verilog and VHDL if you’re going to have a chance at grasping the concept, and you need to get yourself a development board as well. Digilentinc basys 3 is a great place to start, for example, and it’s going to make it a lot easier for you to get all the practise you need.
That’s the main point of learning digital design; you have to learn by doing. Find a real-life project to work on and continue to build your skills by reading books on the side. The main learning comes from doing and you should ask more experienced designers for help while you’re in the process of learning.
Learn hardware as well
To make it just a bit more complicated, it’s crucial that you understand what you are trying to express with the language. What kind of hardware is being described? In order to answer this and get the best kind of foundation for learning digital design, you should get some books on basic electronics as well as an HDL Chip Design book.
That way, it will be a lot easier to proceed and you won’t get stuck too many times while you’re still a beginner.