Optimal Redundancy Removal
without Fixedpoint Computation
Mike Case†, Jason Baumgartner, Hari Mony, Bob Kanzelman
IBM System and Technology Group
FMCAD 2011
† Now
with Calypto Design Systems
FMCAD 2011
Outline
Introduction
The Proof Graph
Proof Graph + Induction
Proof Graph + TBV
Experimental Results
2
Mike Case
FMCAD 2011
Redundancy Removal
Redundancy Removal
A
B
Commonly called
a “merge”
Synthesis for verification
Combinational
Simplification
3
Mike Case
Retiming
Redundancy
Removal
Interpolation
FMCAD 2011
Proof Methods
Induction
Base Case:
(A=B)0
Inductive Step: (A=B)t implies (A=B)t+1
TBV (Transformation-Based Verification)
A
B
4
Mike Case
miter
Any Model
Checking Flow
FMCAD 2011
Using induction
or TBV
Fixed-Point Flow
function redundancyRemoval() {
conjecture that all gates are equivalent
random simulation + refine equiv. classes
bounded model checking + refine equiv. classes
while (proveEquivalences() returns a counterexample) {
simulate the counterexample + refine equiv. classes
}
merge the remaining equivalences
}
5
Mike Case
Problem: Merge only at
the end. Timeouts?
Problem: Repeatedly
tests the same
equivalences until all
are proved
FMCAD 2011
Our Contributions
Track dependencies between equivalences
– Which subset(s) of equivalences are soundly proved, despite the
existence of counterexamples?
Benefits:
– Partial results
– Don’t re-test soundly proved equivalences
– Skip SAT calls that cannot lead to merges
Induction: up to 75% less runtime 97% reduction in SAT calls
TBV:
6
Mike Case
up to 90% less runtime 80% fewer calls to interpolation
FMCAD 2011
Outline
Introduction
The Proof Graph
Proof Graph + Induction
Proof Graph + TBV
Experimental Results
7
Mike Case
FMCAD 2011
Dependencies
Suppose induction cannot prove A=B
but can prove (A=B)^(C=D)
Then A=B depends on C=D
“Proof graph” used to track such dependencies
8
Mike Case
FMCAD 2011
The Proof Graph
Nodes: equivalence classes, edges: “depends on”
Node 1
Represents
Equiv Class 1
Node 3
Node 2
Represents:
Equiv Class 3
Node 4
Represents:
Equiv Class 4
Represents
Equiv Class 2
Observation: something is soundly proved iff all of its
dependencies are soundly proved
9
Mike Case
FMCAD 2011
Redundancy Removal w/ Proof Graph
while (there are suspected equivalences) {
setup the current iteration + build the proof graph
while (candidates = getProofCandidates()) {
switch (proveEquivalences(candidates)) {
case proved:
update the proof graph + try early merging
case counterexample:
simulate the counterexample + refine equivalences
update the proof graph
}}}
10
Mike Case
FMCAD 2011
Outline
Introduction
The Proof Graph
Proof Graph + Induction
Proof Graph + TBV
Experimental Results
11
Mike Case
FMCAD 2011
Proof Dependencies
Suspected equivalences:
(A=B)^(C=D)
Inductive step:
[(A=B)^(C=D)]T implies [(A=B)^(C=D)]T+1
Boolean Satisfiability problems:
(A≠B)T+1 such that (A=B)T and (C=D)T
...
Results:
(A≠B)T+1 is unsatisfiable, and the proof depends on (C=D)T
New edge: (A=B) (C=D)
12
Mike Case
FMCAD 2011
Structural Dependencies
Speculative reduction
Dependencies
?
A2
A1
A2
?
= B2
?
= B2
≡
C2
A1
B1
≡
= D2
B1
C1
≡
D1
(A=B) (C=D)
New edges:
(A=B) (A=B)
13
Mike Case
FMCAD 2011
Proof Graph Algorithms By Example
proved
=0
soundlyProved = 0
falsified
=0
Node 1
proved
=0
soundlyProved = 0
falsified
=0
Node 3
Node 2
proved
=0
soundlyProved = 0
falsified
=0
proved
=0
soundlyProved = 0
falsified
=0
14
Mike Case
Node 4
FMCAD 2011
Proof Graph Algorithms By Example
proved
=0
soundlyProved = 0
falsified
=0
Node 1
proved
=0
soundlyProved = 0
falsified
=0
Node 3
Node 2
proved
=0
soundlyProved = 0
falsified
=0
proved
=0
soundlyProved = 0
falsified
=0
15
Mike Case
Node 4
FMCAD 2011
Proof Graph Algorithms By Example
proved
=0
soundlyProved = 0
falsified
=0
Node 3
Node 1
proved
=0
soundlyProved = 0
falsified
=0
Node 2
proved
=1
soundlyProved = 0
falsified
=0
proved
=0
soundlyProved = 0
falsified
=0
16
Mike Case
Node 4
FMCAD 2011
Proof Graph Algorithms By Example
proved
=1
soundlyProved = 1
falsified
Node 3
Node 1
proved
=0
soundlyProved = 0
falsified
=0
Node 2
proved
=1
soundlyProved = 1
falsified
=0
proved
=0
soundlyProved = 0
falsified
=0
17
Mike Case
Node 4
=0
FMCAD 2011
Proof Graph Algorithms By Example
proved
=1
soundlyProved = 1
falsified
=0
Node 3
Node 1
proved
=0
soundlyProved = 0
falsified
=0
Node 2
proved
=1
soundlyProved = 1
falsified
=0
proved
=0
soundlyProved = 0
falsified
=0
18
Mike Case
Node 4
FMCAD 2011
Proof Graph Algorithms By Example
proved
=1
soundlyProved = 1
falsified
=0
Node 3
Node 1
proved
=0
soundlyProved = 0
falsified
=0
Node 2
proved
=1
soundlyProved = 1
falsified
=0
proved
=0
soundlyProved = 0
falsified
=1
19
Mike Case
Node 4
FMCAD 2011
Outline
Introduction
The Proof Graph
Proof Graph + Induction
Proof Graph + TBV
Experimental Results
20
Mike Case
FMCAD 2011
TBV Review
Problems
–Long runtime
Suspected
Redundancies
–Frequent restarts
Netlist
21
Mike Case
Speculative
Reduction
+
Miter Creation
Spec
Reduced
Netlist
Logic
Synthesis
Interpolation
FMCAD 2011
TBV Dependencies
No inductive hypothesis no proof dependencies
Structural dependencies:
?
A
=
New edge:
B
?
C
22
Mike Case
= D
(A=B) (C=D)
FMCAD 2011
Outline
Introduction
The Proof Graph
Proof Graph + Induction
Proof Graph + TBV
Experimental Results
23
Mike Case
FMCAD 2011
SixthSense Experiment Setup
1300 Benchmarks
– IBM property checking and SEC benchmarks
– Hard HWMCC 2010
– Largest AIG is 5.3M Ands and 330k registers
Redundancy removal w/ k=1 induction
Redundancy removal w/ TBV
(combinational simplification + interpolation)
24
Mike Case
FMCAD 2011
Experimental Results : Runtime
Induction
25
Mike Case
TBV
FMCAD 2011
Experimental Results : Number of Proofs
Induction
26
Mike Case
TBV
FMCAD 2011
Conclusion
Major enhancement to redundancy removal
–Minor book-keeping overhead
–Reduces the runtime of our engine
–Reduces the number of SAT calls
–Provides partial results
Used everyday within IBM
27
Mike Case
© Copyright 2026 Paperzz