+ All Categories
Home > Documents > Optimal Redundancy Removal without Fixedpoint Computation

Optimal Redundancy Removal without Fixedpoint Computation

Date post: 31-Dec-2015
Category:
Upload: zachary-rivas
View: 15 times
Download: 0 times
Share this document with a friend
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
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
Transcript
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


Recommended