Hardware Verification with C++: A Practitioner's Handbook

Chapter 1: Introduction

Coding is a human endeavor. Forget that and all is lost.

Bjarne Stroustrup, father of C++

Overview

There are several books about hardware verification, so what makes this handbook different? Put simply, this handbook is meant to be useful in your day-to-day work. The authors are like you, cube dwellers, with battle scars from developing chips. We must cope with impossible schedules, a shortage of people to do the work, and constantly mutating hardware specifications.

We subtitled this book A Practitioner s Handbook because it contains real-world code examples and techniques. Sure, we talk about programming theory, but the theme of this book is writing code. We focus mainly on object-oriented programming (OOP) techniques and coding in C++. We back this up with a CD-ROM containing working, open-source Verification Intellectual Property (VIP), scripts, and several complete test systems.

We cover the following topics:

  • C++ as a verification language

  • The evolution of OOP, C++, and verification

  • How to use OOP to build a flexible and adaptable verification system

  • How to use specific OOP techniques to make verification code both simpler and more adaptable, with reference to actual situations (both good and bad) that the authors have encountered

  • Useful C++ code, both as snippets, complete examples, and code libraries all available as open source

This handbook is divided into four major sections:

  • Part I provides an overview of OOP concepts, then walks through transforming a block-level view of a typical verification system into code and classes.

  • Part II describes two free, open-source code...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Programming Languages
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.