Wednesday, 4 January 2017

Why learn to use FPGAs?
For electronics and microcontroller buffs, the programmable logic on an FPGA is up there, next to working with "real hardware".The interfacing possibilities are endless-- with the right FPGA, you can talk to pretty much anything (DVI, HDMI, Fibre Channel, LVDS, PCIe, LVCMOS, LVTTL).Unlike working with chips and wires, the design, prototyping and debugging phases of a project using an FPGA are very fast. In the past, designing and building complex projects required the use of graph paper, discrete logic chips, breadboards and jumper wires, making it a slow and tedious project. However, in the world of FPGAs, after updating your design, all you have to do is press the "implement" button. In addition to being fast to use, designing and prototyping hardware is cheap-- a mid-range laptop and an FPGA development board is all you need for designs that would cost tens of thousands of dollars to build with discrete logic. For hobbyists, the best part is that when you are finished with one project, you can easily reuse your development board for the next.

What will you learn?
A working knowledge of a subset of VHDL-- enough to complete most projects
• Familiarity with the ISIM simulator, and have used it to debug an issue or two
• Familiarity with all the major components of the Spartan-3E FPGA
• Used nearly all the interfaces on your chosen FPGA development board
• Transferred data to an FPGA over the USB host port (which is often overlooked in other books!)
• You may have even built a few custom interfaces that are not on the board.These skills will send      you well on your way to implementing your own projects such as:
• Servo and motor drivers
• Sensor interfaces for robotics
• Digital Signal Processing for audio, video, or RF signals
• Interfacing with any of the hundreds of low cost sensors that are now available, including but not limited to accelerometers and gyroscopes
• You could even consider building your own CPU.

Why VHDL?
Today there are two dominant Hardware Description Languages (HDLs) in use-- Verilog and VHDL.
• VHDL is based on ADA, is strongly typed and very verbose.
• Verilog is more like C-- loosely typed with lots of punctuation.

Both languages are pretty much    equally expressive-- anything you can do using one language you can also do in the other, and they can even be mixed and matched in the same project with far more fluidity than mixing languages in software design.

For me, I find that the explicitness of VHDL makes it more explainable. I’m also from outside of the USA-- where VHDL seems to be the de facto standard for research and industry. I find Verilog code a bit like Perl. It is quick to write but it feels very "fast and loose"-- sometimes, it is very hard to tell what the heck is going on.

For the size of projects in this course, use whatever language you like-- it is more about the underlying concept than the code.

You won’t need it at the moment, but if you want to learn the other 90% of the VHDL language that is not covered here, snag yourself a copy of "Free Range VHDL". It is available on a web browser near you, at http://www.freerangefactory.org

No comments:

Post a Comment