Getting Started with FPGAs

The best book for beginners, making FPGAs easy and fun!

I wrote a book! Whether you have been toying with field programmable gate arrays (FPGAs) for years or are completely new to these reprogrammable devices, this book will teach you to think like an FPGA engineer and develop reliable designs with confidence. This book is best if used with the Go Board. It has several projects that walk you through programming real hardware, so you can do hands-on work.

Through detailed code examples, patient explanations, and hands-on projects, Getting Started with FPGAs will actually get you started. I will guide you through the basics of digital logic, look-up tables, and flip-flops, as well as high-level concepts like state machines. You’ll explore the fundamentals of the FPGA build process including simulation, synthesis, and place and route. You’ll learn about key FPGA primitives, such as DSP blocks and PLLs, and examine how FPGAs handle math operations and I/O.

Code examples are provided in both Verilog and VHDL, making the book a valuable resource no matter your language of choice. You’ll discover how to:

  • Implement common design building blocks like multiplexers, LFSRs, and FIFOs
  • Cross between clock domains without triggering metastable conditions or timing errors
  • Avoid common pitfalls when performing math
  • Transmit and receive data at lightning speeds using SerDes
  • Write testbench code to verify your designs are working

With this accessible, hands-on guide, you’ll be creating your own functional FPGA projects in no time. Getting started with FPGAs has never been easier.

Requirements: To complete the projects in this book, I recommend purchasing a Go Board, the development board I created to allow beginners to start working with real hardware!

Support Me, Buy From Me!
Amazon
No Starch Press (eBook)
Barnes and Noble

Example Pages

Table of Contents

Chapter 1: Meet the FPGA
Chapter 2: Setting Up Your Hardware and Tools
Chapter 3: Boolean Algebra and the Look-Up Table
Chapter 4: Storing State with the Flip-Flop
Chapter 5: Testing Your Code with Simulation
Chapter 6: Common FPGA Modules
Chapter 7: Synthesis, Place and Route, and Crossing Clock Domains
Chapter 8: The State Machine
Chapter 9: Useful FPGA Primitives
Chapter 10: Numbers and Math
Chapter 11: Getting Data In and Out with I/O and SerDes
Appendix A: FPGA Development Boards
Appendix B: Tips for a Career in FPGA Engineering

Full Table of Contents (PDF download)

Full Index (PDF download)