27
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

Optimal Redundancy Removal without Fixedpoint Computation

Embed Size (px)

DESCRIPTION

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. Outline. Introduction The Proof Graph Proof Graph + Induction Proof Graph + TBV - PowerPoint PPT Presentation

Citation preview

Page 1: 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

Page 2: Optimal Redundancy Removal without Fixedpoint Computation

FMCAD 2011

2 Mike Case

Outline

Introduction

The Proof Graph

Proof Graph + Induction

Proof Graph + TBV

Experimental Results

Page 3: Optimal Redundancy Removal without Fixedpoint Computation

FMCAD 2011

3 Mike Case

Redundancy Removal

Redundancy Removal

Synthesis for verification

A B

Combinational Simplification

RetimingRedundancy

RemovalInterpolation

Commonly calleda “merge”

Page 4: Optimal Redundancy Removal without Fixedpoint Computation

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

Page 5: Optimal Redundancy Removal without Fixedpoint Computation

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?

Page 6: Optimal Redundancy Removal without Fixedpoint Computation

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

Page 7: Optimal Redundancy Removal without Fixedpoint Computation

FMCAD 2011

7 Mike Case

Outline

Introduction

The Proof Graph

Proof Graph + Induction

Proof Graph + TBV

Experimental Results

Page 8: Optimal Redundancy Removal without Fixedpoint Computation

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

Page 9: Optimal Redundancy Removal without Fixedpoint Computation

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

Page 10: Optimal Redundancy Removal without Fixedpoint Computation

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

}}}

Page 11: Optimal Redundancy Removal without Fixedpoint Computation

FMCAD 2011

11 Mike Case

Outline

Introduction

The Proof Graph

Proof Graph + Induction

Proof Graph + TBV

Experimental Results

Page 12: Optimal Redundancy Removal without Fixedpoint Computation

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:

Page 13: Optimal Redundancy Removal without Fixedpoint Computation

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:

Page 14: Optimal Redundancy Removal without Fixedpoint Computation

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

Page 15: Optimal Redundancy Removal without Fixedpoint Computation

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

Page 16: Optimal Redundancy Removal without Fixedpoint Computation

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

Page 17: Optimal Redundancy Removal without Fixedpoint Computation

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

Page 18: Optimal Redundancy Removal without Fixedpoint Computation

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

Page 19: Optimal Redundancy Removal without Fixedpoint Computation

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

Page 20: Optimal Redundancy Removal without Fixedpoint Computation

FMCAD 2011

20 Mike Case

Outline

Introduction

The Proof Graph

Proof Graph + Induction

Proof Graph + TBV

Experimental Results

Page 21: Optimal Redundancy Removal without Fixedpoint Computation

FMCAD 2011

21 Mike Case

TBV Review

Netlist

Suspected Redundancies

Speculative Reduction

+Miter Creation

Spec Reduced

Netlist

LogicSynthesis

Interpolation

Problems

–Long runtime

–Frequent restarts

Page 22: Optimal Redundancy Removal without Fixedpoint Computation

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:

Page 23: Optimal Redundancy Removal without Fixedpoint Computation

FMCAD 2011

23 Mike Case

Outline

Introduction

The Proof Graph

Proof Graph + Induction

Proof Graph + TBV

Experimental Results

Page 24: Optimal Redundancy Removal without Fixedpoint Computation

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)

Page 25: Optimal Redundancy Removal without Fixedpoint Computation

FMCAD 2011

25 Mike Case

Experimental Results : Runtime

Induction TBV

Page 26: Optimal Redundancy Removal without Fixedpoint Computation

FMCAD 2011

26 Mike Case

Experimental Results : Number of Proofs

Induction TBV

Page 27: Optimal Redundancy Removal without Fixedpoint Computation

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