Download presentation
Presentation is loading. Please wait.
Published byHoward Summers Modified over 6 years ago
1
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
2
Outline Introduction The Proof Graph Proof Graph + Induction
Proof Graph + TBV Experimental Results Mike Case
3
Combinational Simplification
Redundancy Removal Redundancy Removal Synthesis for verification Commonly called a “merge” A B Combinational Simplification Retiming Redundancy Removal Interpolation Mike Case
4
Any Model Checking Flow
Proof Methods Induction TBV (Transformation-Based Verification) Base Case: (A=B)0 Inductive Step: (A=B)t implies (A=B)t+1 A B miter Any Model Checking Flow Mike Case
5
Fixed-Point Flow Using induction or TBV
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 Problem: Repeatedly tests the same equivalences until all are proved Problem: Merge only at the end. Timeouts? Mike Case
6
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 Mike Case
7
Outline Introduction The Proof Graph Proof Graph + Induction
Proof Graph + TBV Experimental Results Mike Case
8
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 Mike Case
9
The Proof Graph Nodes: equivalence classes, edges: “depends on”
Observation: something is soundly proved iff all of its dependencies are soundly proved Node 1 Node 3 Node 4 Represents Equiv Class 1 Represents: Equiv Class 3 Represents: Equiv Class 4 Node 2 Represents Equiv Class 2 Mike Case
10
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 }}} Mike Case
11
Outline Introduction The Proof Graph Proof Graph + Induction
Proof Graph + TBV Experimental Results Mike Case
12
Proof Dependencies (A=B)^(C=D) [(A=B)^(C=D)]T implies [(A=B)^(C=D)]T+1
Suspected equivalences: [(A=B)^(C=D)]T implies [(A=B)^(C=D)]T+1 Inductive step: (A≠B)T+1 such that (A=B)T and (C=D)T Boolean Satisfiability problems: ... Results: (A≠B)T+1 is unsatisfiable, and the proof depends on (C=D)T New edge: (A=B) (C=D) Mike Case
13
Structural Dependencies
Speculative reduction Dependencies = ? A2 B2 = ? A2 B2 = ? C2 D2 ≡ A1 B1 ≡ A1 B1 ≡ C1 D1 (A=B) (C=D) New edges: (A=B) (A=B) Mike Case
14
Proof Graph Algorithms By Example
proved = 0 soundlyProved = 0 falsified = 0 Node 1 Node 3 Node 4 proved = 0 soundlyProved = 0 falsified = 0 proved = 0 soundlyProved = 0 falsified = 0 Node 2 proved = 0 soundlyProved = 0 falsified = 0 Mike Case
15
Proof Graph Algorithms By Example
proved = 0 soundlyProved = 0 falsified = 0 Node 1 Node 3 Node 4 proved = 0 soundlyProved = 0 falsified = 0 proved = 0 soundlyProved = 0 falsified = 0 Node 2 proved = 0 soundlyProved = 0 falsified = 0 Mike Case
16
Proof Graph Algorithms By Example
proved = 0 soundlyProved = 0 falsified = 0 Node 1 Node 3 Node 4 soundlyProved = 0 falsified = 0 proved = 1 proved = 0 soundlyProved = 0 falsified = 0 Node 2 proved = 0 soundlyProved = 0 falsified = 0 Mike Case
17
Proof Graph Algorithms By Example
proved = 1 soundlyProved = 1 falsified = 0 Node 1 Merge Node 3 Merge Node 4 proved = 1 falsified = 0 proved = 0 soundlyProved = 0 falsified = 0 Node 2 soundlyProved = 1 proved = 0 soundlyProved = 0 falsified = 0 Mike Case
18
Proof Graph Algorithms By Example
proved = 1 soundlyProved = 1 falsified = 0 Node 1 Node 3 Node 4 proved = 1 soundlyProved = 1 falsified = 0 proved = 0 soundlyProved = 0 falsified = 0 Node 2 proved = 0 soundlyProved = 0 falsified = 0 Mike Case
19
Proof Graph Algorithms By Example
proved = 1 soundlyProved = 1 falsified = 0 Skip Node 1 Node 3 Node 4 proved = 1 soundlyProved = 1 falsified = 0 proved = 0 soundlyProved = 0 falsified = 0 Node 2 proved = 0 soundlyProved = 0 falsified = 1 Mike Case
20
Outline Introduction The Proof Graph Proof Graph + Induction
Proof Graph + TBV Experimental Results Mike Case
21
Suspected Redundancies Speculative Reduction + Miter Creation
TBV Review Problems Long runtime Frequent restarts Suspected Redundancies Speculative Reduction + Miter Creation Spec Reduced Netlist Netlist Logic Synthesis Interpolation Mike Case
22
TBV Dependencies No inductive hypothesis no proof dependencies
Structural dependencies: New edge: (A=B) (C=D) Mike Case
23
Outline Introduction The Proof Graph Proof Graph + Induction
Proof Graph + TBV Experimental Results Mike Case
24
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) Mike Case
25
Experimental Results : Runtime
Induction TBV Mike Case
26
Experimental Results : Number of Proofs
Induction TBV Mike Case
27
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 Mike Case
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.