optimal redundancy removal without fixedpoint computation
Download
Skip this Video
Download Presentation
Optimal Redundancy Removal without Fixedpoint Computation

Loading in 2 Seconds...

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