Professional Documents
Culture Documents
Verification
By: John Goss
Verification Engineer
IBM
gossman@us.ibm.com
Other References
Text References:
http://janick.bergeron.com/wtb
http://www.vhdl.org
Introduction
Prior Knowledge
VHDL
vs..
Verilog
What language should I use?
This is usually dictated by ones experience
and personal preference
Typically, when working with a language, you
do not notice the things that are simple to do,
instead you notice the frustrations and how
easy it would be if you were using the other
language
Both languages are inadequate for verification
(by themselves)
Both languages are equal in terms of the area
under the learning curve. VHDLs learning curve
is steeper, but Verilogs goes on much further
Product time-to-market
Development costs
What is Verification?
Not a testbench
Not a series of testbenches
Verification is a process
used to demonstrate the
functional correctness of a
design. Also called logic
What is a testbench?
A testbench usually refers to the code used to create a predetermined input sequence to a design, then optionally observe
the response.
Verification challenge:
Importance of Verification
Verification is on
critical path
Want to minimize
Verification Time!
Reconvergence Model
Transformation
Verification
Human Factor in
Verification Process
An individual (or
group of
individuals) must
RTL Coding
interpret
Specification
specification and
Interpretransform into
tation
Verification
correct function.
Automation
Poka-Yoka
Redundancy
Automation
Good in concept
Reality dictates that this is not feasible
Poka-Yoka
Redundancy
Simplest
Most costly, but still cheaper than redesign
and replacement of a defective product
Designer should NOT be in charge of
verification!
Formal Verification
Model Checking
Functional Verification
Testbench Generators
Formal Verification
Equivalence
Model Checking
Equivalence Checking
Equivalence
Reconvergence Model
Synthesis
RTL
Gates
Check
Model Checking
Model Checking
Reconvergence Model
RTL
Specification
RTL
Interpretation
Model
Assertions Checking
Functional Verification
Functional Reconvergence
Model
Specification
RTL
Functional
Verification
Testbench Generators
Testbench Generation
Reconvergence Model
Code Coverage/Proof
RTL
Testbench
Metrics
Testbench
Generation
Functional Verification
Approaches
Black-Box Approach
White-Box Approach
Grey-Box Approach
Black-Box
Inputs
Outputs
The black box has inputs, outputs, and performs some function.
The function may be well documented...or not.
To verify a black box, you need to understand the function and
be able to predict the outputs based on the inputs.
The black box can be a full system, a chip, a unit of a chip, or a
single macro.
White-Box
Grey-Box
Perfect Verification
Fabrication
Specification
Silicon
Net list
Verification
Test
Verify It.
Cost of Verification
Necessary Evil
Yet indispensable
Hypothesis Matrix
Errors
Bad Design
No Errors
Type II
(False
Positive)
Verification Terminology
Verification Terms
(continued)