Soc Verif Udemy Lec 5 Methodologies Sim Formal
Soc Verif Udemy Lec 5 Methodologies Sim Formal
Soc Verif Udemy Lec 5 Methodologies Sim Formal
Simulation Based
Formal Verification
Semi Formal Verificaion
Assertions
1 Simulator
0 0
1 1
1 1 ?
=
Test
Vector Implementation
Generator
1 1
0 0 checker
1
Design
RTLC / GatesC
Implementation
Step 2
Reference/Golden
Design
Design Equivalence
RTLA / GatesA Checker
Implementation
Reference/Golden Step C
A == B ?
Design
Design
RTLB / GatesB
Target/Modified
Design
Formal
G(p F q)
Property
PASS
MC
p
algorithm
p
q FAIL q
counterexample
FSM model
Scalability
each added flop doubles the state space. Limited to
designs with small state spaces like interfaces, small FSMs.
What properties to verify?
For some methods, needs the specification to be
translated into properties to verify that properties hold
under all inputs and all states.
What is Assertion?
An Assertion is a statement about a designs intended
behavior ,which must be verified
Benefits of Assertions:
Improving Observability and debug ability
Improving integration through correct usage checking
Improving verification efficiency
Improving communication through documentation
Useful in both static and dynamic simulations
Immediate Assertion
assert (A == B) else $error("It's gone wrong");
Concurrent Assertion
property p1;
@(posedge clk) disable iff (Reset) not b ##1 c;
endproperty
assert property (p1) else $error(B ##1C failed);