Learn how to design digital circuits with FPGAs (field-programmable gate arrays), the devices that reconfigure themselves to become the very hardware circuits you set out to program. With this practical guide, author Justin Rajewski shows you hands-on how to create FPGA projects, whether you're a programmer, engineer, product designer, or maker. You'll quickly go from the basics to designing your own processor.
Designing digital circuits used to be a long and costly endeavor that only big companies could pursue. FPGAs make the process much easier, and now they're affordable enough even for hobbyists. If you're familiar with electricity and basic electrical components, this book starts simply and progresses through increasingly complex projects.
Set up your environment by installing Xilinx ISE and the author's Mojo IDE
Learn how hardware designs are broken into modules, comparable to functions in a software program
Create digital hardware designs and learn the basics on how they'll be implemented by the FPGA
Build your projects with Lucid, a beginner-friendly hardware description language, based on Verilog, with syntax similar to C/C++ and Java
Justin Rajewski first got started with FPGAs over a summer internship with Northrop Grumman before his senior year of high school. Before this, a SparkFun blog post had piqued his interested in FPGAs, but he was frustrated with the lack of information available for beginners. After a few summers working with FPGAs as an intern, and some formal classes at Stanford University, Justin created the Mojo, an FPGA development board targeted specifically for beginners. He then launched a hugely successful Kickstarter for the Mojo. Justin continued to work on the Mojo and has even gone so far as to create an IDE with a new beginner-friendly language, Lucid.