FPGARelated.com
Books

Free Range VHDL. The no-frills guide to writing powerful code for your digital implementations

Fabrizio Tappero, Bryan Mealy 2013

Free Range VHDL is a fundamental guide to develop the skills necessary to write powerful VHDL code. The approach taken by this book is to provide only what you need to know to get up and running quickly in VHDL.

As with all learning, once you have obtained and applied some useful information, it is much easier to build on what you know as opposed to continually adding information that is not directly applicable to the subjects at hand.

VHDL is an extremely powerful tool. The more you understand as you work and study with VHDL, the more it will enhance your learning experience independently of your particular area of interest. The concept of using software to design hardware that is controlled by software will definitely provide you with endless hours of contemplation.

To support our work, a paperback version can be purchased on Amazon or on the website freerangefactory.org. Alternatively, please consider a donation.

More info: http://freerangefactory.org


Why Read This Book

You will get a compact, pragmatic roadmap for becoming productive in VHDL quickly — focusing on the constructs, styles, and synthesis-aware techniques that actually matter for hardware implementation. The book strips away theory-heavy detours so you can write readable, synthesizable VHDL and apply it to real FPGA projects.

Who Will Benefit

Engineers and students who know basic digital logic and want a short, practical guide to writing synthesizable VHDL for FPGA and ASIC prototyping.

Level: Beginner — Prerequisites: Basic digital logic (combinational and sequential circuits), familiarity with binary/hex number systems and basic programming concepts; no prior VHDL assumed.

Get This Book

Key Takeaways

  • Write synthesizable VHDL using the most useful language constructs and idioms.
  • Design and implement common digital building blocks (registers, counters, FIFOs, state machines) in a synthesis-friendly way.
  • Create effective testbenches and simulation workflows to validate RTL before synthesis.
  • Apply synthesis and implementation-aware techniques to map designs cleanly onto FPGAs (timing, reset, clocking, resource use).
  • Organize reusable code with packages, generics, and component interfaces for maintainable HDL projects.

Topics Covered

  1. Introduction: Why VHDL and how to use this book
  2. Getting started: VHDL basics, entities, and architectures
  3. Types, signals, and operators: std_logic, vectors, and numeric types
  4. Concurrent vs sequential coding: processes, assignments, and timing
  5. Combinational and sequential design patterns
  6. Finite State Machines: styles, encoding, and synthesis-friendly practice
  7. Modules and hierarchy: components, packages, and generics
  8. Testbenches and simulation: writing, debugging, and regression
  9. Synthesis considerations: inference, constraints, and common pitfalls
  10. FPGA implementation notes: clocks, resets, timing, and resource mapping
  11. Practical examples and mini-projects (filters, counters, simple processor blocks)
  12. Coding style, readability, and verification tips
  13. Appendices: tool basics, quick reference, and further reading

Languages, Platforms & Tools

VHDLXilinx FPGAs (general)Intel/Altera FPGAs (general)ModelSim/Questa (simulation)Xilinx ISE/Vivado (synthesis & implementation)Intel Quartus (synthesis & implementation)Generic simulators/synthesizers (GHDL, other toolchains)

How It Compares

Unlike longer academic texts (e.g., Bhasker's 'A VHDL Primer' or Perry's 'VHDL Programming by Example'), this book is much more concise and hands-on—prioritizing immediately usable, synthesis-focused techniques over exhaustive language coverage.

Related Books