Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.