Newsletter

Hardware Verification with C++

Much to my surprise, I spent my weekend curled up with a really good book on hardware verification with C++ by Mike Mintz and Robert Ekendahl.



Programmable Logic DesignLine

Here's a nugget of trivia for you – I'm a hardware design engineer by trade. I like the actually process of wrestling with a design problem and rounding up herds of wild logic functions, but once I've done the fun part – the design – I typically have little interest in verifying that it works (hey, I designed it, it's got to work . . . right?).

Here's another item of trivia – although I love technology, I tend not to read many technical books these days, because most of them bore my socks off. I mean, really, have you seen some of the books out there? It's like the publishers go out of their way to say "what is the most boring font we can use and how can we present the material so as to make it hard to read?" Meanwhile, the authors of technical books almost invariably discard their sense of humor (and any semblance of grammar) as they start to write their Magnum Opus.

Thus, I was very pleasantly surprised when I spent this past weekend curled up with a book titled Hardware Verification with C++ (A Practitioner's Handbook) by Mike Mintz and Robert Ekendahl. Published by Springer (ISBN: 0-387-25543-5), this little rapscallion is a gem. Quite apart from anything else, the authors write with an easy-going style that makes the book a pleasure to read (any technical book that includes quotes from The Hitchhikers Guide to The Galaxy immediately attracts my interest). Also, the layout and ordering, the use of section titles, and so forth make the book very accessible.

But the real reason I like this little scamp is that it really teaches you something without making your brain ache. The authors are proponents of C++ and Object-Oriented Programming (OOP), but they don't just stand around beating a drum "accentuating the positive and eliminating the negative." Instead, they walk us through the pros and cons (benefits and drawbacks) of various languages in the context of verification so that we can make informed decisions.

I've also come to realize how valuable it is to have two authors collaborate on a book like this. First you double the amount of experience being brought into play (Mike has more than 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). As the authors note, they had heated discussions over each line of code in the book, and the results are apparent in that all of the code that made it through is actually useful and makes sense.

The book itself comprises 16 chapters divided into four main sections:

  • Part 1: C++ and Verification (the Why and How)
  • Part 2: An Open-Source Environment with C++
  • Part 3: Using OOP for Verification (Best Practices)
  • Part 4: Examples (Putting It All Together)

What really sets this book apart to my mind is that it wasn't written by two academics waffling on endlessly about theory that is almost impossible to put into practice in the real world. Instead, it is obvious that this tome was written by engineers slaving away in the trenches who actually know what they are talking about and can explain it in ways we can all understand.

Anyone can write a book. Very few people can write a good book. Mike and Robert are firmly established in this latter category. In a nutshell, I learned more about verifying hardware using C++ in one weekend with this book than I have in the last few years!

FYI Mike and Robert have a verification website at www.trusster.com where you'll find all sorts of interesting "stuff" (including the latest and greatest versions of the code referenced in their book).

Questions? Comments? Feel free to email me – Clive "Max" Maxfield – at max@techbites.com). And, of course, if you haven't already done so, don't forget to Sign Up for our weekly Programmable Logic DesignLine Newsletter.

 







 Featured Jobs
Boeing seeking Embedded Software Engineer 5 in Huntington Beach, CA

SEL seeking Lead DSP Engineer in Pullman, WA

SEL seeking Power Systems Instructor in Pullman, WA

Rutland Regional Medical seeking Server Engineer in Rutland, VT

Osram Sylvania seeking Mechanical Design Engineer in Danvers, MA

More jobs on EETimesCareers
 Sponsor
 CAREER CENTER
Ready to take that job and shove it?
SEARCH JOBS:

 SPONSOR

 RECENT JOB POSTINGS
For more great jobs, career related news, features and services, please visit EETimes' Career Center.