FPGARelated.com
Books

Writing Testbenches: Functional Verification of HDL Models

Janick Bergeron 2003

mental improvements during the same period. What is clearly needed in verification techniques and technology is the equivalent of a synthesis productivity breakthrough. In the second edition of Writing Testbenches, Bergeron raises the verification level of abstraction by introducing coverage-driven constrained-random transaction-level self-checking testbenches­ all made possible through the introduction of hardware verification languages (HVLs), such as e from Verisity and OpenVera from Synopsys. The state-of-art methodologies described in Writing Test­ benches will contribute greatly to the much-needed equivalent of a synthesis breakthrough in verification productivity. I not only highly recommend this book, but also I think it should be required reading by anyone involved in design and verification of today's ASIC, SoCs and systems. Harry Foster Chief Architect Verplex Systems, Inc. xviii Writing Testbenches: Functional Verification of HDL Models PREFACE If you survey hardware design groups, you will learn that between 60% and 80% of their effort is now dedicated to verification.


Why Read This Book

You should read this book if you need a practical, down-to-earth guide to building robust, maintainable testbenches for Verilog or VHDL designs. It teaches verification best practices — including constrained-random stimulus, coverage-driven strategies, transaction-level testbenches, and use of HVLs — that will make your verification more efficient and scalable.

Who Will Benefit

Hardware designers and verification engineers with HDL experience who are responsible for creating systematic, automated testbenches and improving verification productivity.

Level: Advanced — Prerequisites: Working familiarity with Verilog and/or VHDL, basic digital design and simulation experience, and understanding of functional RTL behavior.

Get This Book

Key Takeaways

  • Design transaction-level, self-checking testbenches that separate stimulus, checking, and scoreboard functionality.
  • Implement constrained-random stimulus generation and apply coverage-driven verification to measure and guide test quality.
  • Use hardware verification languages (e, OpenVera) concepts and map those ideas to HDL-based flows and verification tools.
  • Build reusable testbench components such as drivers, monitors, scoreboards, and bus-functional models.
  • Define and collect functional coverage metrics and use coverage to close verification gaps and prioritize tests.

Topics Covered

  1. Introduction: Why Verification Matters and Testbench Roles
  2. Basic Testbench Structures and Classical Techniques
  3. Self-Checking Testbenches and Checkers/Scoreboards
  4. Transaction-Level Modeling and Bus-Functional Models
  5. Constrained-Random Verification: Principles and Practice
  6. Coverage-Driven Verification and Functional Coverage
  7. Hardware Verification Languages: e and OpenVera Concepts
  8. Testbench Architecture, Reuse, and Modularization
  9. Debugging, Diagnostics, and Effective Simulation Practices
  10. Verification Planning, Metrics, and Case Studies

Languages, Platforms & Tools

VerilogVHDLe (Specman)OpenVeraSystemVerilog (conceptual coverage)Specman/eSynopsys VCSCadence Incisive/NC-SimMentor ModelSim/QuestaCoverage measurement tools (general)

How It Compares

Covers similar verification principles to books like 'SystemVerilog for Verification' but is more language-agnostic and HVL-focused (it predates widespread UVM adoption); compared to newer UVM-focused texts, Bergeron emphasizes general testbench architecture and methodology rather than specific SystemVerilog/UVM APIs.

Related Books