© 2007

Hardware Verification with SystemVerilog

An Object-Oriented Framework


Table of contents

  1. Front Matter
    Pages i-xxi
  2. SystemVerilog and Verification (The Why and How)

    1. Front Matter
      Pages 7-8
    2. Pages 1-6
    3. Pages 9-22
    4. Pages 23-46
    5. Pages 47-68
  3. An Open-Source Environment with SystemVerilog

    1. Front Matter
      Pages 69-70
    2. Pages 71-88
    3. Pages 115-136
    4. Pages 137-150
  4. Using OOP for Verification (Best Practices)

    1. Front Matter
      Pages 151-152
    2. Pages 153-172
    3. Pages 173-188
    4. Pages 189-204
    5. Pages 205-222
    6. Pages 223-246
  5. Examples (Putting It All Together)

    1. Front Matter
      Pages 247-248
    2. Pages 249-280
    3. Pages 281-294

About this book


Verification is increasingly complex, and SystemVerilog is one of the languages that the verification community is turning to. However, no language by itself can guarantee success without proper techniques. Object-oriented programming (OOP), with its focus on managing complexity, is ideally suited to this task.

With this handbook—the first to focus on applying OOP to SystemVerilog—we’ll show how to manage complexity by using layers of abstraction and base classes. By adapting these techniques, you will write more "reasonable" code, and build efficient and reusable verification components.

Both a learning tool and a reference, this handbook contains hundreds of real-world code snippets and three professional verification-system examples. You can copy and paste from these examples, which are all based on an open-source, vendor-neutral framework (with code freely available at

Learn about OOP techniques such as these:

  • Creating classes—code interfaces, factory functions, reuse
  • Connecting classes—pointers, inheritance, channels
  • Using "correct by construction"—strong typing, base classes
  • Packaging it up—singletons, static methods, packages

This handbook guides the user in applying OOP techniques for verification. Mike and Robert have captured their years of experience in a clear and easy-to-read handbook. The examples are complete, and the code is available for you to get started right away. Highly recommended.

Thomas D. Tessier, President,
t2design, Inc.

This handbook contains a lot of useful advice for any verification engineer wanting to create a class-based testbench, regardless of the framework/methodology used. I recommend Hardware Verification with SystemVerilog to anyone who wants a greater understanding of how best to use OOP with SystemVerilog.

Dr. David Long, Senior Consultant,

This is a fantastic book that not only shows how to use SystemVerilog and Object-Oriented Programming for verification, but also provides practical examples that are open source!

Stephanie Waters, Field Applications Engineer,
Cadence Design Systems

I have been using SystemVerilog for two years in my research, and this is by far the best book I have found about how to achieve professional grade verification. I will apply these techniques on my future projects.

Dr. Oswaldo Cadenas, Lecturer, Electronic Engineering,
University of Reading, U.K.


C++ programming language Factor Hardware Interface Open-Source SystemVerilog Verilog complexity computer-aided design (CAD) construction hardware verification layers programming testing verification

Authors and affiliations

  1. 1.HarvardUSA
  2. 2.SomervilleUSA

Bibliographic information

Industry Sectors
IT & Software
Energy, Utilities & Environment
Oil, Gas & Geosciences