FPGARelated.com
Books

Programming FPGAs: Getting Started with Verilog

Simon Monk 2016

Take your creations to the next level with FPGAs and Verilog

This fun guide shows how to get started with FPGA technology using the popular Mojo, Papilio One, and Elbert 2 boards. Written by electronics guru Simon Monk, Programming FPGAs: Getting Started with Verilog features clear explanations, easy-to-follow examples, and downloadable sample programs. You’ll get start-to-finish assembly and programming instructions for numerous projects, including an LED decoder, a timer, a tone generator―even a memory-mapped video display! The book serves both as a hobbyists’ guide and as an introduction for professional developers.

• Explore the basics of digital electronics and digital logic
• Examine the features of the Mojo, Papilio One, and Elbert 2 boards
• Set up your computer and dive in to Verilog programming
• Work with the ISE Design Suite and user constraints files
• Understand and apply modular Verilog programming methods
• Generate electrical pulses through your board’s GPIO ports
• Control servomotors and create your own sounds
• Attach a VGA TV or computer monitor and generate video
• All source code and finished bit files available for download


Why Read This Book

You should read this book if you want a short, hands-on path from zero to your first working FPGA projects: you will learn the essentials of synthesizable Verilog, how to simulate and synthesize designs, and how to load them onto inexpensive development boards. The author uses clear, example-driven chapters and small projects so you can quickly build confidence and practical skills.

Who Will Benefit

Beginners, hobbyists, makers, and engineers new to HDLs who want a gentle, project-oriented introduction to Verilog and basic FPGA workflows.

Level: Beginner — Prerequisites: Basic familiarity with digital logic concepts (gates, registers, clocks) and general programming ideas (variables, control flow); no prior HDL experience required.

Get This Book

Key Takeaways

  • Write synthesizable Verilog modules for common combinational and sequential circuits.
  • Simulate designs with simple testbenches to verify functionality before synthesis.
  • Synthesize and program an FPGA development board using common vendor or open-source toolchains.
  • Design and implement basic finite state machines and typical I/O (LEDs, switches, seven-segment displays).
  • Integrate simple peripherals such as serial (UART) and basic video (VGA) outputs into projects.

Topics Covered

  1. Introduction to FPGAs and development boards
  2. Tools and getting started (simulators and synthesizers)
  3. Verilog fundamentals: modules, wires, regs, operators
  4. Combinational logic examples
  5. Sequential logic and registers
  6. Finite State Machines and design patterns
  7. Writing simple testbenches and simulation
  8. Synthesis, constraints, and programming the FPGA
  9. Basic projects: counters, LED drivers, debouncing
  10. Simple peripherals: UART and serial communication
  11. Basic video: generating VGA signals
  12. Debugging, resources, and next steps

Languages, Platforms & Tools

VerilogGeneric FPGA development boards (hobbyist/small FPGAs)Vendor toolchains (e.g., Vivado, Quartus) and common free/open-source toolchains (e.g., Yosys/IceStorm) — general guidance rather than deep tool-specific coverage

How It Compares

More approachable and project-focused than Samir Palnitkar's Verilog guide (which is a fuller language reference), and less formal/rigorous than Pong P. Chu's FPGA Prototyping books which target coursework and deeper synthesis/implementation techniques.

Related Books