+ All Categories
Home > Documents > Boolean Matching in Logic Synthesis

Boolean Matching in Logic Synthesis

Date post: 05-Feb-2016
Category:
Upload: derron
View: 23 times
Download: 2 times
Share this document with a friend
Description:
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 - PowerPoint PPT Presentation
21
Boolean Matching in Logic Synthesis
Transcript
Page 1: Boolean Matching in Logic Synthesis

Boolean Matching in Logic Synthesis

Page 2: 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

Page 3: Boolean Matching in Logic Synthesis

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 + x3 and g = x1 + x2 + x3

maps x1 x1

x2 x2

x3 x3

g (X) = f ( (X) )

Page 4: Boolean Matching in Logic Synthesis

Permutation of Input Variables

g (X) = f ( (X) ) is a permutation of X

Ex.f = x1 x3 + x2 x4 and g = x2 x4 + x1 x3

maps x1 x2

x2 x1

x3 x4

x4 x3

g (X) = f ( (X) )

Page 5: Boolean Matching in Logic Synthesis

Negation of Output

g (X) = f (X) or g (X) = f (X)

Ex.f = x1 + x2 and g = x1 x2

g (X) = f (X)

Page 6: Boolean Matching in Logic Synthesis

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

Page 7: Boolean Matching in Logic Synthesis

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

Page 8: Boolean Matching in Logic Synthesis

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

Page 9: Boolean Matching in Logic Synthesis

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

Page 10: Boolean Matching in Logic Synthesis

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

Page 11: Boolean Matching in Logic Synthesis

A General Paradigm of Boolean Matching

F u n c tio n f an d g

C o m p u te S ign a tu re so f F u n c tio n s

E q u a l?N o t

M atch edN o

C o m p u te S ign a tu re so f v a riab le s

Y es

E q u a l?

E q u iv a len ce o f f an d g ?

M atch ed

N o tM atch ed

N o tM atch ed

Y es

Y es

N o

N o

Page 12: Boolean Matching in Logic Synthesis

Signatures of Functions

Unateness property Symmetry property Size of on_set

Page 13: Boolean Matching in Logic Synthesis

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

Page 14: Boolean Matching in Logic Synthesis

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

Page 15: Boolean Matching in Logic Synthesis

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

Page 16: Boolean Matching in Logic Synthesis

Signature of Variables

Cofactor signature

Cofactor statistics and Component signature

Single fault propagation weight signature (SFP) and Partner patterns

Page 17: Boolean Matching in Logic Synthesis

Cofactor Signature

Cofactor signature of a variable xt for function f :onsize (xt fxt)

: 0-branch

: 1-branch

xt

xt fxt

0 1

f

Page 18: Boolean Matching in Logic Synthesis

Cofactor Statistics (Component Signature) of xt

A sorted list of onsize (xt xj fxtxj) for all xt in the input set

xt xj fxtxj

0 1

fxt

xj

Page 19: Boolean Matching in Logic Synthesis

Single Fault Propagation Weight (Partner) Signature

( onsize (xt fxt fxt), onsize (xt fxt fxt), onsize (fxt fxt) )

xt xt xt xt

0 1

Page 20: Boolean Matching in Logic Synthesis

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

x0

0 1

x1

x2

y1

1 0

y2

y0

Page 21: Boolean Matching in Logic Synthesis

Matching Based on Structure of BDD

Structure Equivalence of BDDf of (a) and BDDg of (c) Top-Down transformation Bottom-up transformation

x0

0 1

x1

x2

y1

1 0

y2

y0

y0

0

y1

y2

y1

1

(a) BDDf (b) BDDg (c) BDDg


Recommended