Electronic System Level

Models and their Application

Testbench Models

 






















 

 

 

 

 

 

 

 

 

Chapter 4 Testbench Models

Verification has become as expensive and as important as design and as such, models and languages for verification are emerging that are highly directed towards their intended function. Most of what we think of as verification today is implementation verification taking place at the RTL level of abstraction, or physical verification taking place at even lower levels of abstraction. Very little of the total verification effort goes into design verification. To put that another way, we spend most of out time verifying that we have implemented something correctly, rather than determining that we have specified the right thing, or that the collection of pieces that are being assembled are capable of performing the right function within the constraints imposed the specification.

ESL verification attempts to ensure that the functional specification is right and complete, and looks not just at the hardware piece of the system, but also at the software running on the hardware. It attempts to ensure that the architectural decisions that are being taken are correct. In short, verification should concentrate on the design choices that are being made at that point in the design flow. For ESL verification that means system level functionality, performance and providing the reference models that are to be used for the implementation verification.

In this chapter we will introduce the major languages that are in use today and how they are used to create reusable verification models. This includes some of the methodologies that define frameworks for how these models play together to make complete testbenches.

A testbench is not a single model, or even a collection of models. It is a group of diverse models that, in conjunction with a set of tools, enables an act of verification to be performed. It is not possible, with the technology that exists today, to perform complete verification, and thus the goal is one of minimizing the risk of a serious bug escape while keeping to various budget constraints, such as manpower, size of server farms or elapsed time. In this chapter we will examine some of the more common models that make up a verification environment, but it should be understood that there are many ways to put these together to help perform the task of verification.

4.1 Testbench basics
     4.1.1 Testbench components
     4.1.2 Verification Methodologies
     4.1.3 Verification IP
4.2 Verification Plan
4.3 Comparison Model
     4.3.1 Testbench Languages
4.4 Progress Model
     4.4.1 Ad-hoc metrics
     4.4.2 Structural metrics
     4.4.3 Functional metrics
     4.4.4 Coverage metrics in SystemC
     4.4.5 Coverage Metrics in SystemVerilog
4.5 Input Constraints
4.6 Verification IP
     4.6.1 VIP Components
     4.6.2 VIP standardization
4.7 Conclusions
4.8 References

Errata

Feedback

     Your name:
     Your company or affiliation:
     e-mail address:

     Would you like to be contacted by one of the authors

Your comments or suggestion


Buy the books here

This site is owned and maintained by Brian Bailey
All information is Copyright © 2007-2010