Optimal Redundancy Removal without Fixedpoint Computation

Post on 31-Dec-2015

18 views 0 download

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

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