FONT SIZE : AAA
Wouldn’t it be great to be able to have your own chips made that do exactly what you want them to? Well, field-programmable gate arrays (FPGAs) let you get pretty close to this ideal. Rather than being a chip specifically designed for you, an FPGA is a general-purpose chip that can be configured to act any way you want.
What is more, the way you configure your FPGA is either by drawing schematics or using a hardware-definition language that could (if your design is successful) also be used to manufacture chips that are actually custom chips to your design. The language in question is called Verilog, and although this book shows you how to make designs using a schematic editor, the main focus is on learning the Verilog language.
The FPGA configuration can be changed as many times as you like, making it a great tool for prototyping your designs. If a problem rears its head, you can just reprogram the device until you get all the bugs out. The ultimate mind-bending flexibility comes when you realize that you could actually configure your FPGA to include a processor capable of running programs.
In this book you will learn both the general principals of using FPGAs and how to get the examples described in this book up and running on three of the most popular FPGA evaluation boards: the Mojo, the Papilio One, and the Elbert 2.
Although, logically, a microcontroller can do pretty much anything that a FPGA can, a FPGA generally will run faster, and some people find it easier to write a description of logic gates and hardware than they do a complex algorithm. You can use a FPGA to implement a microcontroller or other processor (and people do).
Perhaps the most compelling reasons to try out programming some Verilog on one of the many low-cost FPGA boards is simply to learn something new and have some fun!