Hardware Verification with SystemVerilog
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.