1 / 21

Boolean Matching in Logic Synthesis

Boolean Matching in Logic Synthesis. Equivalence of Functions. Equivalence of two functions defined under Negation of input variables Permutation of input variables Negation of output. Negation of Input Variables (Phase Assignment). Let f ( X ) and g ( X ) be two functions and

derron
Download Presentation

Boolean Matching in 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. Boolean Matching in Logic Synthesis

  2. Equivalence of Functions Equivalence of two functions defined under • Negation of input variables • Permutation of input variables • Negation of output

  3. Negation of Input Variables (Phase Assignment) • Let f (X) and g (X)be two functions and X = { x1 , x2 ,…, xn} • g (X) = f ( (X) ) •  maps each xi to itself or its complement Ex. f = x1 + x2 + x3and g = x1 + x2 + x3  maps x1 x1 x2 x2 x3 x3 g (X) = f ( (X) )

  4. Permutation of Input Variables • g (X) = f ( (X) ) •  is a permutation of X Ex. f = x1 x3 + x2 x4and g = x2 x4 + x1 x3  maps x1 x2 x2 x1 x3 x4 x4 x3 g (X) = f ( (X) )

  5. Negation of Output • g (X) = f (X) or g (X) = f (X) Ex. f = x1 + x2and g = x1 x2 g (X) = f (X)

  6. Equivalence of Functions • NPN-equivalent : • equivalent under input Negation, input Permutation, output Negation • NP-equivalent : • equivalent under input Negation, input Permutation • P- equivalent : • equivalent under input Permutation

  7. Boolean Matching • Given functions f (X) and g (Y),where X = { x1 , x2 ,…, xn} and Y = { y1 , y2 ,…, yn}  : maps each xi to a unique yj or yj g (Y) = f ( (X) ) (or f ( (X) )

  8. Applications of Boolean Matching • Technology Mapping • matching of complex gates, e.g. ACT2 • exploiting implicit don’t care • Logic Verification • input correspondence is not given

  9. Boolean Matching • Given functions f (X) and g (Y),where X = { x1 , x2 ,…, xn} and Y = { y1 , y2 ,…, yn}  : maps each xi to a unique yj or yj g (Y) = f ( (X) ) (or f ( (X) ) • 2n n!  2 mappings

  10. Solving Boolean Matching • Pruning search space • Signature of function • Signature of variable • Signatures invariant to input permutation / input negation / output negation • Signature used as necessary condition for equivalence

  11. A General Paradigm of Boolean Matching

  12. Signatures of Functions • Unateness property • Symmetry property • Size of on_set

  13. Unateness Property • Matched functions having the same number of unate variables • Speed-up of phase assignment • transforming negative unate variables to positive ones by adding inverters • all unate variables being positive unate • phase assignment required for binate variables only • Speed-up of permutation • unate variables not being associated to binate variables

  14. Symmetry Property • Symmetry class : a set of variables that are interchangeable without affecting the logic functionality • Matched functions having the same symmetry classes • Variables in different symmetry sets not being associated

  15. Size of On_set • the number of minterms for which a function f evaluates to 1 (denoted as onsize(f) ) • matched functions having the same size of on_set • computed on Ordered Binary Decision Diagram

  16. Signature of Variables • Cofactor signature • Cofactor statistics and Component signature • Single fault propagation weight signature (SFP) and Partner patterns

  17. Cofactor Signature • Cofactor signature of a variable xt for function f : onsize (xt fxt) : 0-branch : 1-branch f xt xt fxt 0 1

  18. Cofactor Statistics (Component Signature) of xt • A sorted list of onsize (xt xj fxtxj) for all xt in the input set f xt xj xt xj fxtxj 0 1

  19. Single Fault Propagation Weight (Partner) Signature • ( onsize (xt  fxt  fxt), onsize (xt  fxt  fxt), onsize (fxt  fxt) ) xt xt xt xt 0 1

  20. Structural Equivalence x0 y1 (1) Graph isomorphism (2) One to one correspondence of labels of nonterminal nodes of two graphs (3) For all nonterminal nodes, all corresponding branches having the same value or all corresponding branches having complemented value x1 y2 x2 y0 0 1 1 0

  21. Matching Based on Structure of BDD x0 y0 y1 • Structure Equivalence of BDDf of (a) and BDDg of (c) • Top-Down transformation • Bottom-up transformation x1 y1 y1 y2 x2 y0 y2 0 1 0 1 1 0 (a) BDDf (b) BDDg (c) BDDg

More Related