Optimal redundancy removal without fixedpoint computation
Download
1 / 27

Optimal Redundancy Removal without Fixedpoint Computation - PowerPoint PPT Presentation


  • 67 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
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

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
Outline

  • Introduction

  • The Proof Graph

  • Proof Graph + Induction

  • Proof Graph + TBV

  • Experimental Results

Mike Case


Redundancy removal

Interpolation

Combinational Simplification

Redundancy Removal

Retiming

Redundancy Removal

  • Redundancy Removal

  • Synthesis for verification

Commonly calleda “merge”

A

B

Mike Case


Proof methods

A

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

Using induction or TBV

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


Outline1
Outline

  • Introduction

  • The Proof Graph

  • Proof Graph + Induction

  • Proof Graph + TBV

  • Experimental Results

Mike Case


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


Outline2
Outline

  • Introduction

  • The Proof Graph

  • Proof Graph + Induction

  • Proof Graph + TBV

  • Experimental Results

Mike Case


Proof dependencies
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

?

?

?

=

=

=

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
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 example1
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 example2
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 example3
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 example4
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 example5
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


Outline3
Outline

  • Introduction

  • The Proof Graph

  • Proof Graph + Induction

  • Proof Graph + TBV

  • Experimental Results

Mike Case


Tbv review

Suspected Redundancies

Interpolation

Spec Reduced Netlist

Speculative Reduction +Miter Creation

Netlist

TBV Review

  • Problems

    • Long runtime

    • Frequent restarts

LogicSynthesis

Mike Case


Tbv dependencies
TBV Dependencies

  • No inductive hypothesis  no proof dependencies

  • Structural dependencies:

New edge:

(A=B)  (C=D)

Mike Case


Outline4
Outline

  • Introduction

  • The Proof Graph

  • Proof Graph + Induction

  • Proof Graph + TBV

  • Experimental Results

Mike Case


Sixthsense experiment setup
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


Experimental results runtime
Experimental Results : Runtime

Induction

TBV

Mike Case



Conclusion
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


ad