Lecture 6: Verification
Download
Report
Transcript Lecture 6: Verification
ELEC 7770
Advanced VLSI Design
Spring 2007
Verification
Vishwani D. Agrawal
James J. Danaher Professor
ECE Department, Auburn University
Auburn, AL 36849
[email protected]
http://www.eng.auburn.edu/~vagrawal/COURSE/E7770_Spr07
Spring 07, Feb 6
ELEC 7770: Advanced VLSI Design (Agrawal)
1
VLSI Realization Process
Customer’s need
Design
Determine requirements
Write specifications
Design synthesis and Verification
Test development
Fabrication
Manufacture
Manufacturing test
Chips to customer
Spring 07, Feb 6
ELEC 7770: Advanced VLSI Design (Agrawal)
2
Verification and Testing
Specification
Spring 07, Feb 6
Hardware
design
Manufacturing
Verification
Testing
50-70% cost
30-50% cost
ELEC 7770: Advanced VLSI Design (Agrawal)
Silicon
3
Definitions
Verification: Predictive analysis to ensure that the
synthesized design, when manufactured, will
perform the given I/O function.
Alternative Definition: Verification is a process used
to demonstrate the functional correctness of a
design.
Spring 07, Feb 6
ELEC 7770: Advanced VLSI Design (Agrawal)
4
What is Being Verified?
Given a set of specification,
Does the design do what was specified?
RTL coding
Specification
Interpretation
Verification
J. Bergeron, Writing Testbenches: Functional Verification
Of HDL Models, Springer, 2000.
Spring 07, Feb 6
ELEC 7770: Advanced VLSI Design (Agrawal)
5
Avoiding Interpretation Error
Use redundancy
RTL coding
Specification
Verification
Spring 07, Feb 6
ELEC 7770: Advanced VLSI Design (Agrawal)
6
Methods of Verification
Simulation: Verify input-output behavior for
selected cases.
Formal verification: Exhaustively verify inputoutput behavior:
Equivalence checking
Model checking
Symbolic simulation
Spring 07, Feb 6
ELEC 7770: Advanced VLSI Design (Agrawal)
7
Equivalence Checking
Logic equivalence: Two circuits implement
identical Boolean function.
Logic and temporal equivalence: Two finite state
machines have identical input-output behavior
(machine equivalence).
Topological equivalence: Two netlists are
identical (graph isomorphism).
Reference: S.-Y. Hwang and K.-T. Cheng,
Formal Equivalence Checking and Design
Debugging, Springer, 1998.
Spring 07, Feb 6
ELEC 7770: Advanced VLSI Design (Agrawal)
8
Compare Two Circuits
a
a
c
f
b
c
b
f
Graphs isomorphic?
Boolean functions identical?
Timing behaviors identical?
Spring 07, Feb 6
ELEC 7770: Advanced VLSI Design (Agrawal)
9
Model Checking
Construct an abstract model of the system, usually
in the form of a finite-state machine (FSM).
Analytically prove that the model does not violate
the properties (assertions) of original specification.
Reference: E. M. Clarke, Jr., O. Grumberg, and D.
A. Peled, Model Checking, MIT Press, 1999.
RTL coding
Specification
RTL
Assertions
Interpretation
Spring 07, Feb 6
Model checking
ELEC 7770: Advanced VLSI Design (Agrawal)
10
Symbolic Simulation
Simulation with algebraic symbols rather than
numerical values.
Self-consistency: A complex (more advanced)
design produces the same result as a much
simpler (and previously verified) design.
Reference: R. B. Jones, Symbolic Simulation
Methods for Industrial Formal Verification,
Springer, 2002.
Spring 07, Feb 6
ELEC 7770: Advanced VLSI Design (Agrawal)
11
Simulation: Testbench
Testbench (HDL)
Design
under
verification
(HDL)
Spring 07, Feb 6
ELEC 7770: Advanced VLSI Design (Agrawal)
12
Testbench
HDL code:
Generates stimuli
Checks output responses
Approaches:
Blackbox
Whitebox
Greybox
Metrics (unreliable):
Statement coverage
Path coverage
Expression or branch coverage
Spring 07, Feb 6
ELEC 7770: Advanced VLSI Design (Agrawal)
13