1 / 23

Interpolating Functions from Large Boolean Relations

Interpolating Functions from Large Boolean Relations. Jie-Hong Roland Jiang, Hsuan-Po Lin, and Wei-Lun Hung Grad. Inst. of Electronics Eng. / Dept of Electrical Eng. National Taiwan University. Outline. ◆ Introduction. ◆ Our Approach . ◆ Experimental Results. ◆ Conclusions.

larya
Télécharger la présentation

Interpolating Functions from Large Boolean Relations

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. Interpolating Functions from Large Boolean Relations Jie-Hong Roland Jiang, Hsuan-Po Lin, and Wei-Lun Hung Grad. Inst. of Electronics Eng. / Dept of Electrical Eng. National Taiwan University

  2. Outline ◆ Introduction ◆ Our Approach ◆ Experimental Results ◆ Conclusions

  3. Relations vs. Functions Boolean relation R(X, Y) Boolean function F(X) Disallow one-to-many mappings Can only describe deterministic behavior A special case of relation • Allow one-to-many mappings • Can describe non-deterministic behavior • More generic than functions x1x2 x1x2 y1y2 y1y2 00 00 00 00 01 01 01 01 10 10 10 10 11 11 11 11 f1 = x1 x2 f2 =  x1 x2

  4. Total Relations vs. Partial Relations Total relation Partial relation Some input element is not mapped to any output element • Every input element is mapped to at least one output element x1x2 y x1x2 y 00 00 0 0 01 01 10 10 1 1 11 11

  5. Totalization • A partial relation can be totalized • Assume that the input element not mapped to any output element is a don’t care x1x2 y x1x2 y Total relation Partial relation 00 00 Totalize 0 0 01 01 10 10 1 1 11 11 T(X, y) = R(X, y)  y.  R(X, y)

  6. Application of Boolean Relations • In high-level design, Boolean relations can be used to describe (nondeterministic) specifications • In gate-level design, Boolean relations can be used to characterize the flexibility of sub-circuits • Boolean relations are more powerful than traditional don’t-care representations x1x2 y1y2 00 00 01 01 10 10 11 11

  7. Needs of Relation Determinization • For hardware implement of a system, we need functions rather than relations • Physical realization are deterministic by nature • One input stimulus results in one output response

  8. Needs of Relation Determinization • To simplify implementation, we can explore the flexibilities described by a relation for optimization y1 y1 z1 x1 z1 x2 x2 x1 z2 z2 y2 y2 f1 = x1 x2 f2 =  x1 x2 f1 = x2 f2 =  x1 00 00 00 01 01 01 x1x2 y1y2 z1z2 10 10 10 11 11 11

  9. Problem Statement • Given a nondeterministic Boolean relation R(X, Y), how to determinize and extract functions from it? • For a deterministic total relation, we can uniquely extract the corresponding functions

  10. Related Work • Prior Work • BDD- or SOP-based representation • Not scalable • Focused on function optimization • Ours • AIG representation • Focus on scalability with reasonable optimization quality

  11. Enabling Technique • Craig Interpolation Theorem • If φA  φB is UNSAT for propositional formulas φA ,φB, • then there exists an interpolantI such that • φA→I • IφBis UNSAT • I refers only to the common • variables of φAand φB I φB φA

  12. Single-Output Relations • For a single-output total relationR(X, y), we derive a function f for variable y using interpolation  R(X,0) R(X,1) is UNSAT 11 00 10 x1x2 y 00 I 0 01 10 φA φB 1 11 φB :  R(X,1) Minimal care offset of f φA :  R(X,0) Minimal care onset of f

  13. Interpolantion vs. Cofactoring • Naïve derivation of f is by cofactoring • R(X,1) (largest onset of f) or •  R(X,0) (smallest onset of f)  φB= R(X,1) Largest onset of f 00 11 10 x1x2 y φA= R(X,0) Smallest onset of f I 00 0 01 The function extracted from a single-output relation using cofactor is usually of similar size as the relation 10 φA φB 1 11 • Interpolation may extract smaller functions and prevent AIG explosion  R(X,0) ⊆ I ⊆ R(X,1)

  14. Multiple-Output Relations • Two-phase computation: • Phase 1 : Backward reduction • Reduce to single-output case R(X, y1, …, yn) →y2, …, yn. R(x, y1, …, yn) • Existential quantification using expansion y. φ(x,y) = φ(x,1) + φ(x,0) • Existential quantification using substitution [CAV 2009] y. φ(x,y) = φ(x, f(x)) • Phase 2 : Forward substitution • Extract functions

  15. Multiple-Output Relations Example (Xp) R(3) R(2) R Phase1: (expansion reduction) y3.R(X, y1, y2 , y3) → R(3)(X, y1, y2) y2.R(3)(X, y1, y2) → R(2)(X, y1) y1 y2 y3 X Phase2: R(2)(X, y1) → y1 = f1(X) R(3)(X, y1, y2) → R(3)(X, f1(X), y2) → y2 = f2(X) R(X, y1, y2 , y3) → R(X, f1(X), f2(X), y2) → y3 = f3(X) f3 f2 f1 X X X

  16. Multiple-Output Relations Example (St) R<3> R<2> R Phase1: (substitution reduction) R(X, y1, y2 , y3) → y3 = f3’(X , y1, y2 ) → R<3>(X, y1, y2) R<3>(X, y1, y2) → y2 = f2’(X , y1 ) → R<2>(X, y1) y1 y2 y3 X Phase2: R<2>(X, y1) → y1 = f1(X) R<3>(X, y1, y2) → R<3>(X, f1(X), y2) → y2 = f2(X) R(X, y1, y2 , y3) → R(X, f1(X), f2(X), y2) → y3 = f3(X) f2 f3 f1 f3' f2' X X X y1 y1 y2 X X

  17. Multiple-Output Relations Example (SD) R<2> R<3> R Phase1: (substitution reduction) R(X, y1, y2 , y3) → y3 = f3’(X , y1, y2 ) → R<3>(X, y1, y2) R<3>(X, y1, y2) → y2 = f2’(X , y1 ) → R<2>(X, y1) R<2>(X, y1, y2) → y1 = f1’(X) y1 y2 y3 X Phase2: (interpolation for deterministic rel.) D = R Λ ∏i (yi ≡ fi’) fi(X) = Interpolant(Dyi, D yi) f1 f2 f3 f3' f2' f1' X X X y1 y1 y2 X X X

  18. Experimental Setup • Our methods were implemented in ABC using MiniSAT • We prepare Boolean relations by computing the transition relations of ISCAS and ITC circuits • Insert don’t cares to introduce nondeterminism • Represent transition relations using AIGs

  19. Experimental Results – w/o DC --- : BDD nodes are over 500K during computation

  20. Experimental Results – w/ DC --- : BDD nodes are over 500K during computation

  21. Experimental Results (cont’d) • Further synthesis by ABC commands “collapse” and “dc2”

  22. Experimental Results (cont’d) • Interpolant vs. cofactor

  23. Conclusions • Scalable function extraction from Boolean relations • Interpolation plays an essential role • Relations with up to thousands of variables can be determinized inexpensively • Extracted functions are of reasonable sizes • Future work • Determinization scheduling • Simple function extraction

More Related