Optimal Redundancy Removal without Fixedpoint Computation
-
Upload
zachary-rivas -
Category
Documents
-
view
14 -
download
0
description
Transcript of Optimal Redundancy Removal without Fixedpoint Computation
Optimal Redundancy Removal without Fixedpoint Computation
Mike Case†, Jason Baumgartner, Hari Mony, Bob Kanzelman IBM System and Technology GroupFMCAD 2011
† Now with Calypto Design Systems
FMCAD 2011
2 Mike Case
Outline
Introduction
The Proof Graph
Proof Graph + Induction
Proof Graph + TBV
Experimental Results
FMCAD 2011
3 Mike Case
Redundancy Removal
Redundancy Removal
Synthesis for verification
A B
Combinational Simplification
RetimingRedundancy
RemovalInterpolation
Commonly calleda “merge”
FMCAD 2011
4 Mike Case
Proof Methods
Induction
TBV (Transformation-Based Verification)
Base Case: (A=B)0
Inductive Step: (A=B)t implies (A=B)t+1
AB
miter Any Model Checking Flow
FMCAD 2011
5 Mike Case
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
}
Using induction or TBV
Problem: Repeatedly tests the same
equivalences until all are proved
Problem: Merge only at the end. Timeouts?
FMCAD 2011
6 Mike Case
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: up to 90% less runtime 80% fewer calls to interpolation
FMCAD 2011
7 Mike Case
Outline
Introduction
The Proof Graph
Proof Graph + Induction
Proof Graph + TBV
Experimental Results
FMCAD 2011
8 Mike Case
Dependencies
Suppose induction cannot prove A=Bbut can prove (A=B)^(C=D)
Then A=B depends on C=D
“Proof graph” used to track such dependencies
FMCAD 2011
9 Mike Case
The Proof Graph
RepresentsEquiv Class 1
RepresentsEquiv Class 2
Represents:Equiv Class 3
Node 3
Node 2
Node 1 Node 4
Represents:Equiv Class 4
Nodes: equivalence classes, edges: “depends on”
Observation: something is soundly proved iff all of its dependencies are soundly proved
FMCAD 2011
10 Mike Case
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
}}}
FMCAD 2011
11 Mike Case
Outline
Introduction
The Proof Graph
Proof Graph + Induction
Proof Graph + TBV
Experimental Results
FMCAD 2011
12 Mike Case
Proof Dependencies
(A=B)^(C=D)
[(A=B)^(C=D)]T implies [(A=B)^(C=D)]T+1
(A≠B)T+1 such that (A=B)T and (C=D)T
...
(A≠B)T+1 is unsatisfiable, and the proof depends on (C=D)T
Suspected equivalences:
Inductive step:
Boolean Satisfiability problems:
Results:
(A=B) (C=D)New edge:
FMCAD 2011
13 Mike Case
Structural Dependencies
Speculative reduction
A1 B1
A2 B2=?
≡
A2 B2=?
=?
C2 D2
A1 B1
C1 D1
≡≡
Dependencies
(A=B) (C=D)(A=B) (A=B)New edges:
FMCAD 2011
14 Mike Case
Proof Graph Algorithms By Example
proved = 0soundlyProved = 0falsified = 0
Node 3
Node 2
Node 1
proved = 0soundlyProved = 0falsified = 0
Node 4
proved = 0soundlyProved = 0falsified = 0
proved = 0soundlyProved = 0falsified = 0
FMCAD 2011
15 Mike Case
Proof Graph Algorithms By Example
proved = 0soundlyProved = 0falsified = 0
Node 3
Node 2
Node 1
proved = 0soundlyProved = 0falsified = 0
Node 4
proved = 0soundlyProved = 0falsified = 0
proved = 0soundlyProved = 0falsified = 0
FMCAD 2011
16 Mike Case
Proof Graph Algorithms By Example
proved = 0soundlyProved = 0falsified = 0
Node 3
Node 2
Node 1
proved = 0soundlyProved = 0falsified = 0
Node 4
proved = 1
proved = 0soundlyProved = 0falsified = 0
soundlyProved = 0falsified = 0
FMCAD 2011
17 Mike Case
Proof Graph Algorithms By Example
proved = 0soundlyProved = 0falsified = 0
Node 3
Node 2
Node 1
proved = 0soundlyProved = 0falsified = 0
Node 4
proved = 1
falsified = 0
proved = 1
Merge
Merge
soundlyProved = 1
falsified = 0
soundlyProved = 1
FMCAD 2011
18 Mike Case
Proof Graph Algorithms By Example
proved = 0soundlyProved = 0falsified = 0
Node 3
Node 2
Node 1
proved = 0soundlyProved = 0falsified = 0
Node 4
proved = 1soundlyProved = 1falsified = 0
proved = 1soundlyProved = 1falsified = 0
FMCAD 2011
19 Mike Case
Proof Graph Algorithms By Example
Node 3
Node 2
Node 1
proved = 0soundlyProved = 0
Node 4
proved = 1soundlyProved = 1falsified = 0
proved = 1soundlyProved = 1falsified = 0
falsified = 1
proved = 0soundlyProved = 0falsified = 0
Skip
FMCAD 2011
20 Mike Case
Outline
Introduction
The Proof Graph
Proof Graph + Induction
Proof Graph + TBV
Experimental Results
FMCAD 2011
21 Mike Case
TBV Review
Netlist
Suspected Redundancies
Speculative Reduction
+Miter Creation
Spec Reduced
Netlist
LogicSynthesis
Interpolation
Problems
–Long runtime
–Frequent restarts
FMCAD 2011
22 Mike Case
TBV Dependencies
No inductive hypothesis no proof dependencies
Structural dependencies:
A B=?=?
=?=?
C D(A=B) (C=D)
New edge:
FMCAD 2011
23 Mike Case
Outline
Introduction
The Proof Graph
Proof Graph + Induction
Proof Graph + TBV
Experimental Results
FMCAD 2011
24 Mike Case
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)
FMCAD 2011
25 Mike Case
Experimental Results : Runtime
Induction TBV
FMCAD 2011
26 Mike Case
Experimental Results : Number of Proofs
Induction TBV
FMCAD 2011
27 Mike Case
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