Resolution proofs as a data structure for logic synthesis
Download
1 / 58

Resolution Proofs as a Data Structure for Logic Synthesis - PowerPoint PPT Presentation


  • 67 Views
  • Uploaded on

Resolution Proofs as a Data Structure for Logic Synthesis. John Backes ( [email protected] ) Marc Riedel ( [email protected] ) Electrical and Computer Engineering University of Minnesota. Data Structures. Sum of Products (SOPs) Advantages: explicit, readily mapable.

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 ' Resolution Proofs as a Data Structure for Logic Synthesis' - tovi


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
Resolution proofs as a data structure for logic synthesis

Resolution Proofs as a Data Structure for Logic Synthesis

John Backes ([email protected])

Marc Riedel ([email protected])

Electrical and Computer Engineering

University of Minnesota


Data structures
Data Structures

  • Sum of Products (SOPs)

    • Advantages: explicit, readily mapable.

    • Disadvantages: not scalable.

  • Binary Decision Diagrams (BDDs)

    • Advantages: canonical, easily manipulated.

    • Disadvantages: not readily mapable, not scalable.


Data structures1
Data Structures

  • And Inverter Graphs (AIGs)

    • Advantages:

      • Compact.

      • Easily convertible to CNFs.

      • Scalable, efficient.

    • Disadvantages:

      • Hard to perform large structural changes.


Resolution proofs
Resolution Proofs

  • Implicitly extracted from SAT solvers; converted to logic via Craig Interpolation.

  • Utilize as a data structure to perform logic manipulations.

  • Advantages:

    • Scalable, efficient.

    • Can effect large structural changes.


Aig synthesis
AIG Synthesis

  • Re-writing

    • Cuts are replaced by pre-computed optimal structures (Mishchenko ’06).

  • SAT Sweeping

    • Nodes of an AIG can be merged by proven equivalence (Zhu ‘06).

  • SAT-Based Resubstitution

    • Target nodes are recomputed from other nodes (Lee ‘07).


Aig synthesis1
AIG Synthesis

SAT-Sweeping (merging equivalent nodes)


Aig synthesis2
AIG Synthesis

SAT-Sweeping (merging equivalent nodes)


Aig synthesis3

AIG re-writing

Local manipulations performed on windows

Local minimums can be reached

AIG Synthesis


Aig synthesis4

AIG re-writing

Local manipulations performed on windows

Local minimums can be reached

AIG Synthesis


Aig synthesis5

AIG re-writing

Local manipulations performed on windows

Local minimums can be reached

AIG Synthesis


Resubstitution a k a functional dependencies
Resubstitution a.k.a. Functional Dependencies

Giventarget:

f (z1,z2,…,zn),

Given candidates:x1(z1,z2,…,zn), x2(z1,z2,…,zn), …, xm(z1,z2,…,zn)

is it possible to implement f (x1,x2,…,xm)?


Aig synthesis6

Resubstitution

f (x1,x2)?

Aig Synthesis


Aig synthesis7

Resubstitution

f (x1,x2)?

Large changes

This question is formulated as a SAT instance.

Craig Interpolation provides implementation.

Aig Synthesis


Craig interpolation
Craig Interpolation

  • Given formulas Aand Bsuch that A→¬B, there exists I such that A→ I →¬B

  • I only contains variables that are present in both Aand B.

I

B

A


Craig interpolation1
Craig Interpolation

SAT?: ( f )(CNFLeft)( f *)(CNFRight)(x1 = x1*)(x2 = x2*)…(xm = xm*)

A

B

  • f (x1,x2,…,xm)?

  • If UNSAT, a proof of unsatisfiablility is generated.

  • An implementation of f is generated from the proof.

(Lee ‘07)


Resolution proofs1
Resolution Proofs

  • A proof of unsatisfiability for an instance of SAT forms a graph structure.

  • The original clauses are called the roots and the empty clause is the only leaf.

  • Every node in the graph (besides the leaves) is formed via Boolean resolution.

    • E.g.,: (c + d)(¬c + e)→(d + e)


A resolution proof
A Resolution Proof

Clauses of Aare shown in red, and clauses of Bare shown in blue.

(

)(

)(

)(

)(

)

(

)(

)

a

+

¬

c

+

d

¬

a

+

¬

c

+

d

a

+

c

¬

a

+

c

¬

d

d

+

¬c

a

+

b

(

) (

)

c

¬

c

( )


Example generating i
Example: Generating I

(

)(

)(

)(

)(

)

(

)(

)

a

+

¬

c

+

d

¬

a

+

¬

c

+

d

a

+

c

¬

a

+

c

¬

d

d

+

¬c

a

+

b

(

) (

)

c

¬

c

( )


Example generating i1

(

)(

)(

)

(

)

a

+

c

¬

a

+

c

¬

d

d

+

¬c

(

) (

)

c

¬

c

( )

Example: Generating I


Example generating i2

a c ¬a c

Example: Generating I

(

)(

)(

)

(

)

a

+

c

¬

a

+

c

¬

d

d

+

¬c

(

) (

)

c

¬

c

( )


Example generating i3
Example: Generating I

a c ¬a c

)(

)

(

)

¬

d

d

+

¬c

(

) (

)

c

¬

c

( )


Example generating i4

(

)

¬

d

Example: Generating I

a c ¬a c

(

) (

)

c

¬

c

( )


Example generating i5

(

)

¬

d

Example: Generating I

a c ¬a c

¬d

( )


Generating multiple dependencies
Generating Multiple Dependencies

  • Often, goal is to synthesize dependencies for multiple functions with overlapping support sets.

  • In this case, multiple proofs are generated and then interpolated.


Example

Large portions of a network can be converted to a resolution proof.

fj(x1,x2,x3,x4,x5,x6)?

fk(x1,x2,x3,x4,x5,x6)?

Example


Example1
Example proof.

fj(x1,x2,x3,x4,x5,x6)?

fk(x1,x2,x3,x4,x5,x6)?


Example2
Example proof.

fj(x1,x2,x3,x4,x5,x6)?

fk(x1,x2,x3,x4,x5,x6)?


Observation
Observation proof.

  • There are often many ways to prove a SAT instance unsatisfiable.

  • Same/similar nodes shared between different proofs.


Example3
Example proof.

fj(x1,x2,x3,x4,x5,x6)?

fk(x1,x2,x3,x4,x5,x6)?


Example4
Example proof.

fj(x1,x2,x3,x4,x5,x6)?

fk(x1,x2,x3,x4,x5,x6)?


Restructuring mechanism
Restructuring Mechanism proof.

  • Some clause c can be resolved from some set of clauses Wiff(W)(c) is unsatisfiable.

  • The resolution proof of (W)(c)can be altered to show how ccan be resolved from W.

(Gershman ‘08)


Example5
Example proof.

Can (a + b) be resolved from (a + e + d)(a + b + d) (a + b + d + e)?

(Gershman ‘08)


Example6
Example proof.

Can (a + b) be resolved from (a + e + d)(a + b + d) (a + b + d + e)?

(Gershman ‘08)


Example7
Example proof.

Can (a + b) be resolved from (a + e + d)(a + b + d) (a + b + d + e)?

(Gershman ‘08)


Example8
Example proof.

Can (a + b) be resolved from (a + e + d)(a + b + d) (a + b + d + e)?

(Gershman ‘08)


Example9
Example proof.

Can (a + b) be resolved from (a + e + d)(a + b + d) (a + b + d + e)?

(Gershman ‘08)


Example10
Example proof.

Can (a + b) be resolved from (a + e + d)(a + b + d) (a + b + d + e)?

(Gershman ‘08)


Example11
Example proof.

Can (a + b) be resolved from (a + e + d)(a + b + d) (a + b + d + e)?

(Gershman ‘08)


Example12
Example proof.

Can (a + b) be resolved from (a + e + d)(a + b + d) (a + b + d + e)?

(Gershman ‘08)


Example13
Example proof.

Can (a + b) be resolved from (a + e + d)(a + b + d) (a + b + d + e)?

(Gershman ‘08)


Example14
Example proof.

Can (a + b) be resolved from (a + e + d)(a + b + d) (a + b + d + e)?

(Gershman ‘08)


Example15
Example proof.

Can (a + b) be resolved from (a + e + d)(a + b + d) (a + b + d + e)?

(Gershman ‘08)


Example16
Example proof.

Can (a + b) be resolved from (a + e + d)(a + b + d) (a + b + d + e)?

(Gershman ‘08)


Proposed method
Proposed method proof.

  • Select potential target functions with the same support set:

    f1(x1,x2,…,xm), f2(x1,x2,…,xm), … , fn(x1,x2,…,xm)

  • Generate collective resolution proof.

  • Structure the proofs so that there are moreshared nodes.


Which nodes can be shared
Which nodes can be shared? proof.

  • For the interpolants to be valid:

    • The clause partitions Aand Bmust remain the same.

    • The global variables must remain the same.


Which nodes can be shared1
Which nodes can be shared? proof.

f (x1,x2,…,xm):

( f )(CNFLeft)( f *)(CNFRight)(x1 = x1*)(x2 = x2*)…(xm = xm*)

B

A

g (x1,x2,…,xm):

( g)(CNFLeft)( g *)(CNFRight)(x1 = x1*)(x2 = x2*)…(xm = xm*)

B

A


Which nodes can be shared2
Which nodes can be shared? proof.

f (x1,x2,…,xm):

( f )(CNFLeft)( f *)(CNFRight)(x1 = x1*)(x2 = x2*)…(xm = xm*)

B

A

Only the assertion clausesdiffer

g (x1,x2,…,xm):

( g)(CNFLeft)( g *)(CNFRight)(x1 = x1*)(x2 = x2*)…(xm = xm*)

B

A


Restructuring proofs
Restructuring Proofs proof.

  • Color the assertion clauses and descendants black.

  • Color the remaining clauses white.

  • Resolve black nodes from white nodes.





Proposition
Proposition proof.

The interpolants from restructured proofs are equivalent.

Proof:

  • The roots of all white clauses are present in the original SAT instance.

  • The global variables are the same for each SAT instance.


Experiment
Experiment proof.

  • Test to see to what extent proofs can be restructured.

    • How many black nodes can be resolved from white nodes?

  • Generated resolution proofs from benchmark circuits.

    • POs specified in terms of all PIs.


Discussion
Discussion proof.

Can effect large structural changes.


Discussion1
Discussion proof.

  • Preliminary results show that there is significant potential for node sharing.

  • Techniques are highly scalable.

    • Calls to SAT solver are incremental.

    • Heuristics could improve scalability.


Future work
Future Work proof.

  • Implement full synthesis routine.

  • Improve conversion of resolution proofs to circuits (Backes and Riedel ICCAD’10).

  • Try different decision variable orderings.

  • Explore more general restructuring operations with resolution proofs.


Questions
Questions? proof.

Acknowledgments


ad