Presentation is loading. Please wait.

Presentation is loading. Please wait.

Boolean Matching in Logic Synthesis. Equivalence of Functions Equivalence of two functions defined under l Negation of input variables l Permutation of.

Similar presentations


Presentation on theme: "Boolean Matching in Logic Synthesis. Equivalence of Functions Equivalence of two functions defined under l Negation of input variables l Permutation of."— Presentation transcript:

1 Boolean Matching in Logic Synthesis

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

3 Negation of Input Variables (Phase Assignment) n Let f (X) and g (X) be two functions and X = { x 1, x 2,…, x n } l g (X) = f (  (X) ) l  maps each x i to itself or its complement Ex. f = x 1 + x 2 + x 3 and g = x 1 + x 2 + x 3  maps x 1 x 1 x 2 x 2 x 3 x 3 g (X) = f (  (X) )

4 Permutation of Input Variables l g (X) = f (  (X) ) l  is a permutation of X Ex. f = x 1 x 3 + x 2 x 4 and g = x 2 x 4 + x 1 x 3  maps x 1 x 2 x 2 x 1 x 3 x 4 x 4 x 3 g (X) = f (  (X) )

5 Negation of Output l g (X) = f (X) or g (X) = f (X) Ex. f = x 1 + x 2 and g = x 1  x 2 g (X) = f (X)

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

7 Boolean Matching n Given functions f (X) and g (Y), where X = { x 1, x 2,…, x n } and Y = { y 1, y 2,…, y n }  : maps each x i to a unique y j or y j g (Y) = f (  (X) ) (or f (  (X) )

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

9 Boolean Matching n Given functions f (X) and g (Y), where X = { x 1, x 2,…, x n } and Y = { y 1, y 2,…, y n }  : maps each x i to a unique y j or y j g (Y) = f (  (X) ) (or f (  (X) ) n 2 n  n!  2 mappings

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

11 A General Paradigm of Boolean Matching

12 Signatures of Functions l Unateness property l Symmetry property l Size of on _ set

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

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

15 Size of On _ set l the number of minterms for which a function f evaluates to 1 (denoted as onsize(f) ) l matched functions having the same size of on _ set l computed on Ordered Binary Decision Diagram

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

17 Cofactor Signature l Cofactor signature of a variable x t for function f : onsize (x t  f x t ) : 0-branch : 1-branch xtxt x t  f x t 01 f

18 Cofactor Statistics (Component Signature) of x t l A sorted list of onsize (x t x j  f x t x j ) for all x t in the input set x t x j  f x t x j 01 f xtxt xjxj

19 Single Fault Propagation Weight (Partner) Signature l ( onsize (x t  f x t  f x t ), onsize (x t  f x t  f x t ), onsize (f x t  f x t ) ) xtxt xtxt xtxt xtxt 01

20 Structural Equivalence (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 x0x0 01 x1x1 x2x2 y1y1 10 y2y2 y0y0

21 Matching Based on Structure of BDD l Structure Equivalence of BDD f of (a) and BDD g of (c) l Top-Down transformation l Bottom-up transformation x0x0 01 x1x1 x2x2 y1y1 10 y2y2 y0y0 y0y0 0 y1y1 y2y2 y1y1 1 (a) BDD f (b) BDD g (c) BDD g


Download ppt "Boolean Matching in Logic Synthesis. Equivalence of Functions Equivalence of two functions defined under l Negation of input variables l Permutation of."

Similar presentations


Ads by Google