1 / 58

Resolution Proofs as a Data Structure for Logic Synthesis

Resolution Proofs as a Data Structure for Logic Synthesis. John Backes ( back0145@umn.edu ) Marc Riedel ( mriedel@umn.edu ) Electrical and Computer Engineering University of Minnesota. Data Structures. Sum of Products (SOPs) Advantages: explicit, readily mapable.

tovi
Download Presentation

Resolution Proofs as a Data Structure for Logic Synthesis

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Resolution Proofs as a Data Structure for Logic Synthesis John Backes (back0145@umn.edu) Marc Riedel (mriedel@umn.edu) Electrical and Computer Engineering University of Minnesota

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

  3. Data Structures • And Inverter Graphs (AIGs) • Advantages: • Compact. • Easily convertible to CNFs. • Scalable, efficient. • Disadvantages: • Hard to perform large structural changes.

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

  5. 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).

  6. AIG Synthesis SAT-Sweeping (merging equivalent nodes)

  7. AIG Synthesis SAT-Sweeping (merging equivalent nodes)

  8. AIG re-writing Local manipulations performed on windows Local minimums can be reached AIG Synthesis

  9. AIG re-writing Local manipulations performed on windows Local minimums can be reached AIG Synthesis

  10. AIG re-writing Local manipulations performed on windows Local minimums can be reached AIG Synthesis

  11. 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)?

  12. Resubstitution f (x1,x2)? Aig Synthesis

  13. Resubstitution f (x1,x2)? Large changes This question is formulated as a SAT instance. Craig Interpolation provides implementation. Aig Synthesis

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

  15. 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)

  16. 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)

  17. 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 ( )

  18. Example: Generating I ( )( )( )( )( ) ( )( ) a + ¬ c + d ¬ a + ¬ c + d a + c ¬ a + c ¬ d d + ¬c a + b ( ) ( ) c ¬ c ( )

  19. ( )( )( ) ( ) a + c ¬ a + c ¬ d d + ¬c ( ) ( ) c ¬ c ( ) Example: Generating I

  20. a c ¬a c Example: Generating I ( )( )( ) ( ) a + c ¬ a + c ¬ d d + ¬c ( ) ( ) c ¬ c ( )

  21. Example: Generating I a c ¬a c )( ) ( ) ¬ d d + ¬c ( ) ( ) c ¬ c ( )

  22. ( ) ¬ d Example: Generating I a c ¬a c ( ) ( ) c ¬ c ( )

  23. ( ) ¬ d Example: Generating I a c ¬a c ¬d ( )

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

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

  26. Example fj(x1,x2,x3,x4,x5,x6)? fk(x1,x2,x3,x4,x5,x6)?

  27. Example fj(x1,x2,x3,x4,x5,x6)? fk(x1,x2,x3,x4,x5,x6)?

  28. Observation • There are often many ways to prove a SAT instance unsatisfiable. • Same/similar nodes shared between different proofs.

  29. Example fj(x1,x2,x3,x4,x5,x6)? fk(x1,x2,x3,x4,x5,x6)?

  30. Example fj(x1,x2,x3,x4,x5,x6)? fk(x1,x2,x3,x4,x5,x6)?

  31. Restructuring Mechanism • 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)

  32. Example Can (a + b) be resolved from (a + e + d)(a + b + d) (a + b + d + e)? (Gershman ‘08)

  33. Example Can (a + b) be resolved from (a + e + d)(a + b + d) (a + b + d + e)? (Gershman ‘08)

  34. Example Can (a + b) be resolved from (a + e + d)(a + b + d) (a + b + d + e)? (Gershman ‘08)

  35. Example Can (a + b) be resolved from (a + e + d)(a + b + d) (a + b + d + e)? (Gershman ‘08)

  36. Example Can (a + b) be resolved from (a + e + d)(a + b + d) (a + b + d + e)? (Gershman ‘08)

  37. Example Can (a + b) be resolved from (a + e + d)(a + b + d) (a + b + d + e)? (Gershman ‘08)

  38. Example Can (a + b) be resolved from (a + e + d)(a + b + d) (a + b + d + e)? (Gershman ‘08)

  39. Example Can (a + b) be resolved from (a + e + d)(a + b + d) (a + b + d + e)? (Gershman ‘08)

  40. Example Can (a + b) be resolved from (a + e + d)(a + b + d) (a + b + d + e)? (Gershman ‘08)

  41. Example Can (a + b) be resolved from (a + e + d)(a + b + d) (a + b + d + e)? (Gershman ‘08)

  42. Example Can (a + b) be resolved from (a + e + d)(a + b + d) (a + b + d + e)? (Gershman ‘08)

  43. Example Can (a + b) be resolved from (a + e + d)(a + b + d) (a + b + d + e)? (Gershman ‘08)

  44. Proposed method • 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.

  45. Which nodes can be shared? • For the interpolants to be valid: • The clause partitions Aand Bmust remain the same. • The global variables must remain the same.

  46. Which nodes can be shared? 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

  47. Which nodes can be shared? 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

  48. Restructuring Proofs • Color the assertion clauses and descendants black. • Color the remaining clauses white. • Resolve black nodes from white nodes.

  49. Restructuring Proofs

  50. Restructuring Proofs

More Related