This is the second of our books designed to help the professional verifier

manage complexity. This TIme, we have responded to a growing interest not

only in object-oriented programming but also in SystemVerilog. The wriTIng

of this second handbook has been just another step in an ongoing masochisTIc

endeavor to make your professional lives as painfree as possible.

The authors are not special people. We have worked in several companies,

large and small, made mistakes, and generally muddled through our work.

There are many people in the industry who are smarter than we are, and many

coworkers who are more experienced. However, we have a strong desire to

help.

We have been in the lab when we bring up the chips fresh from the fab, with

customers and sales breathing down our necks. We’ve been through software

bring-up and worked on drivers that had to work around bugs1 in producTIon

chips.

What we feel makes us unique is our combined broad experience from both

the software and hardware worlds. Mike has over 20 years of experience from

the software world that he applies in this book to hardware verification.

Robert has over 12 years of experience with hardware verification, with a

focus on environments and methodology.

What we bring to the task of functional verification is over three decades of

combined experience, from design, verification, software development, and

management. It is our experiences that speak in this handbook. It is our desire

that others might learn and benefit from these experiences.

We have had heated discussions over each line of code in this book and in

our open-source libraries. We rarely agree at first, but by having to argue our

cases we arrive at what we feel are smart, efficient, flexible, and simple

solutions. Most of these we have “borrowed” from the software industry but

have applied to the field of verification.

We believe that the verification industry can benefit from the lessons learned

from the software domain. By using industry-standard languages, the verification

domain can adapt techniques and code from over twenty calendar yearsof software effort, the scope of which is nothing short of stunning. Many

brilliant people have paved the way in the software field. Although the

field of verification is much younger, we could benefit greatly from

listening, learning, and adapting mature programming techniques to the

production of products of the highest quality.

So why do we provide open-source software at our website,

www.trusster.com? Open-source software is a key to uniting and increasing

the productivity of our industry. There is almost no successful closedsource

(“hard macro”) intellectual property (IP), for a good reason.

Without the ability to look at the source and edit as necessary, the task

is much more difficult and the chances for success are slim.

We hope that you enjoy this book—and better yet, find its principles

increasingly useful in daily practice. We look forward to your comments.

Please keep in touch with us at www.trusster.com.

Hardware Verification with SystemVerilog