Loading in 5 sec....

Optimal Redundancy Removal without Fixedpoint ComputationPowerPoint Presentation

Optimal Redundancy Removal without Fixedpoint Computation

- 67 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about ' Optimal Redundancy Removal without Fixedpoint Computation' - zachary-rivas

**An Image/Link below is provided (as is) to download presentation**

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

### Optimal Redundancy Removal without Fixedpoint Computation

Outline

Outline

Mike Case†, Jason Baumgartner, Hari Mony, Bob Kanzelman IBM System and Technology Group

FMCAD 2011

† Now with Calypto Design Systems

Outline

- Introduction
- The Proof Graph
- Proof Graph + Induction
- Proof Graph + TBV
- Experimental Results

Mike Case

Combinational Simplification

Redundancy Removal

Retiming

Redundancy Removal- Redundancy Removal
- Synthesis for verification

Commonly calleda “merge”

A

B

Mike Case

B

Proof Methods- Induction
- TBV (Transformation-Based Verification)

Base Case: (A=B)0Inductive Step: (A=B)t implies (A=B)t+1

Any Model Checking Flow

miter

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

}

Problem: Repeatedly tests the same equivalences until all are proved

Problem: Merge only at the end. Timeouts?

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

Mike Case

Outline

- Introduction
- The Proof Graph
- Proof Graph + Induction
- Proof Graph + TBV
- Experimental Results

Mike Case

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

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

RepresentsEquiv Class 1

Represents:Equiv Class 4

Represents:Equiv Class 3

Node 2

RepresentsEquiv Class 2

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
- }}}

Mike Case

Outline

- Introduction
- The Proof Graph
- Proof Graph + Induction
- Proof Graph + TBV
- Experimental Results

Mike Case

Proof Dependencies

(A=B)^(C=D)

Suspected equivalences:

[(A=B)^(C=D)]Timplies [(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

?

?

=

=

=

Structural Dependencies- Dependencies

- Speculative reduction

A2

B2

A2

B2

C2

D2

≡

A1

B1

≡

A1

B1

≡

C1

D1

(A=B) (C=D)

New edges:

(A=B) (A=B)

Mike Case

Proof Graph Algorithms By Example

proved = 0soundlyProved = 0falsified = 0

Node 1

Node 3

Node 4

proved = 0soundlyProved = 0falsified = 0

proved = 0soundlyProved = 0falsified = 0

Node 2

proved = 0soundlyProved = 0falsified = 0

Mike Case

Proof Graph Algorithms By Example

proved = 0soundlyProved = 0falsified = 0

Node 1

Node 3

Node 4

proved = 0soundlyProved = 0falsified = 0

proved = 0soundlyProved = 0falsified = 0

Node 2

proved = 0soundlyProved = 0falsified = 0

Mike Case

Proof Graph Algorithms By Example

proved = 0soundlyProved = 0falsified = 0

Node 3

Node 1

Node 4

soundlyProved = 0falsified = 0

proved = 1

proved = 0soundlyProved = 0falsified = 0

Node 2

proved = 0soundlyProved = 0falsified = 0

Mike Case

Proof Graph Algorithms By Example

proved = 1

soundlyProved = 1

falsified = 0

Merge

Merge

Node 3

Node 1

Node 4

proved = 1falsified = 0

proved = 0soundlyProved = 0falsified = 0

soundlyProved = 1

Node 2

proved = 0soundlyProved = 0falsified = 0

Mike Case

Proof Graph Algorithms By Example

proved = 1soundlyProved = 1falsified = 0

Node 3

Node 1

Node 4

proved = 1soundlyProved = 1falsified = 0

proved = 0soundlyProved = 0falsified = 0

Node 2

proved = 0soundlyProved = 0falsified = 0

Mike Case

Proof Graph Algorithms By Example

proved = 1soundlyProved = 1falsified = 0

Skip

Node 3

Node 1

Node 4

proved = 1soundlyProved = 1falsified = 0

proved = 0soundlyProved = 0falsified = 0

Node 2

proved = 0soundlyProved = 0

falsified = 1

Mike Case

- Introduction
- The Proof Graph
- Proof Graph + Induction
- Proof Graph + TBV
- Experimental Results

Mike Case

Interpolation

Spec Reduced Netlist

Speculative Reduction +Miter Creation

Netlist

TBV Review- Problems
- Long runtime
- Frequent restarts

LogicSynthesis

Mike Case

TBV Dependencies

- No inductive hypothesis no proof dependencies
- Structural dependencies:

New edge:

(A=B) (C=D)

Mike Case

- Introduction
- The Proof Graph
- Proof Graph + Induction
- Proof Graph + TBV
- Experimental Results

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)

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

Mike Case

Download Presentation

Connecting to Server..