Hardware Verification with C++ : A Practitioner’s Handbook
Part I makes the case for C++, and shows a standard verification system using object-oriented programming (OOP). Part II presents two open-source C++ libraries that enable efficient verification with C++ -- Teal, a C++ to Verilog interface, and Truss, a standard verification framework. Part III focuses on OOP with examples from real verification projects. Part IV puts it all together showing complete block-level and system-level verification systems. "The handbook provides a clear understanding of object-oriented programming, and how it applies to hardware verification. It is clear to me that C++, together with Teal and Truss, could form a strong platform for the next generation of hardware verification."
Constraint-Based Verification
Constraint-Based Verifcation covers the emerging field in functional verification of electronic designs thats is now commonly referred to by this name. Topics are developed in the context of a wide range of dynamic and static verification approaches including stimulation, emulation and formal methods. The goal is to show how constraints, or assertions, can be used toward automating the generation of testbenches, resulting in a seamless verifcation flow. Topics such as verification coverage, and connection with assertion-based verification are also covered.

