Constraint-Based Verification covers an emerging field in functional verification of electronic designs, referred to as the "constraint-based verification." The topics are developed in the context of a wide range of dynamic and static verification approaches including simulation, emulation, and formal methods. The goal is to show how constraints, or assertions, can be used towards automating the generation of testbenches, resulting in a seamless verification flow. Topics such as verification coverage, and connection with assertion based verification, are also covered.
The book targets verification engineers as well as researchers. It covers both methodological and technical issues. Particular stress is given to the latest advances in functional verification.
The research community has witnessed recent growth of interests in constraint-based functional verification. Various techniques have been developed. They are relatively new, but have reached a level of maturity so that they are appearing in commercial tools such as Vera and System Verilog.
Covers the methodology and state-of-the-art techniques of constrained verification, which is new and popular
It relates constrained verification with the also-hot technology called assertion-based design
Discussed and clarifies language issues, critical to both the above, which will help the implementation of these languages
As the complexity and miniaturization of electronic hardware advances, more time and money is actually now spent on testing and verification than in the preliminary design stage. This practical-oriented guidebook covers both the fundamentals and the techniques of constraint-based testbench automation. The book compares and contrasts constraint-based verification with traditional testbench approaches: test generation (a key concept), simulation monitoring, and coverage. Related aspects of verification languages such as e/vera/PSL/OVL/SVA are also covered. On the technical side, state-of-the art algorithms of test generation, performance optimization, and randomization are explained.