Professional Documents
Culture Documents
Jacob Abraham
ECE Department, University of Texas at Austin Lecture 4. Formal Equivalence Checking Jacob Abraham, January 26, 2017 1 / 35
Outline
ECE Department, University of Texas at Austin Lecture 4. Formal Equivalence Checking Jacob Abraham, January 26, 2017 1 / 35
ECE Department, University of Texas at Austin Lecture 4. Formal Equivalence Checking Jacob Abraham, January 26, 2017 2 / 35
ECE Department, University of Texas at Austin Lecture 4. Formal Equivalence Checking Jacob Abraham, January 26, 2017 3 / 35
Erroneous Design
ECE Department, University of Texas at Austin Lecture 4. Formal Equivalence Checking Jacob Abraham, January 26, 2017 6 / 35
Model Flattening
ECE Department, University of Texas at Austin Lecture 4. Formal Equivalence Checking Jacob Abraham, January 26, 2017 7 / 35
‘ifdef CHIP_VERSION_1
‘define A 0
‘else
‘define A 1
‘endif
assign A = 1b1;
...
if (!A) ...
ECE Department, University of Texas at Austin Lecture 4. Formal Equivalence Checking Jacob Abraham, January 26, 2017 8 / 35
ECE Department, University of Texas at Austin Lecture 4. Formal Equivalence Checking Jacob Abraham, January 26, 2017 10 / 35
Synthesized Netlists
ECE Department, University of Texas at Austin Lecture 4. Formal Equivalence Checking Jacob Abraham, January 26, 2017 11 / 35
State Negation
Are the two circuit below equivalent?
State Replication
ECE Department, University of Texas at Austin Lecture 4. Formal Equivalence Checking Jacob Abraham, January 26, 2017 13 / 35
Scan Chains
ECE Department, University of Texas at Austin Lecture 4. Formal Equivalence Checking Jacob Abraham, January 26, 2017 14 / 35
ECE Department, University of Texas at Austin Lecture 4. Formal Equivalence Checking Jacob Abraham, January 26, 2017 15 / 35
Clock Gating
Another verification issue
Stop clock to inactive flip-flops
No clock asserted =⇒ no switching power
Automatically inserted in synthesis
Thus, in netlist, but not in RTL
Enabled flop
Black Boxes
ECE Department, University of Texas at Austin Lecture 4. Formal Equivalence Checking Jacob Abraham, January 26, 2017 17 / 35
case ({a,b})
2b00: out=0
2b01: out=1
2b10: out=1
endcase
ECE Department, University of Texas at Austin Lecture 4. Formal Equivalence Checking Jacob Abraham, January 26, 2017 20 / 35
Pipeline Retiming
ECE Department, University of Texas at Austin Lecture 4. Formal Equivalence Checking Jacob Abraham, January 26, 2017 21 / 35
ECE Department, University of Texas at Austin Lecture 4. Formal Equivalence Checking Jacob Abraham, January 26, 2017 22 / 35
ECE Department, University of Texas at Austin Lecture 4. Formal Equivalence Checking Jacob Abraham, January 26, 2017 23 / 35
Cut Points
Problem: verifying large combinational cones
Solution: Divide logic at points other than states
Internal signals may correspond
In extreme cases, recode RTL to enable matching non-state
points
Cut point = non-state to treat as key point
Map and verify just like latches/flops
Reduces logic cones being analyzed
Case Splitting
ECE Department, University of Texas at Austin Lecture 4. Formal Equivalence Checking Jacob Abraham, January 26, 2017 27 / 35
False Positives
ECE Department, University of Texas at Austin Lecture 4. Formal Equivalence Checking Jacob Abraham, January 26, 2017 29 / 35
ECE Department, University of Texas at Austin Lecture 4. Formal Equivalence Checking Jacob Abraham, January 26, 2017 32 / 35
ECE Department, University of Texas at Austin Lecture 4. Formal Equivalence Checking Jacob Abraham, January 26, 2017 35 / 35