Presented By Anna Fariha Roll : SN – 213 MS, 1 st Semester Session: 2010-11

30
Dept of CSE, University of Dhaka 1 Presented By Anna Fariha Roll : SN – 213 MS, 1 st Semester Session: 2010-11 Boolean Matching

description

Boolean Matching. Presented By Anna Fariha Roll : SN – 213 MS, 1 st Semester Session: 2010-11. Presentation Outline. Equivalence of Functions Negation of Input Variables Permutation of Input Variables Negation of Output Classes of Functional Equivalence Boolean Matching - PowerPoint PPT Presentation

Transcript of Presented By Anna Fariha Roll : SN – 213 MS, 1 st Semester Session: 2010-11

Page 1: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 1

Presented By

Anna Fariha

Roll : SN – 213MS, 1st SemesterSession: 2010-11

Boolean Matching

Page 2: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 2

Presentation Outline Equivalence of Functions

Negation of Input Variables Permutation of Input Variables Negation of Output

Classes of Functional Equivalence Boolean Matching Boolean Matching Algorithms Boolean Signature

Signature of Function Unateness Property Symmetry Property Size of On-Set

Signature of Variables Cofactor Signature Cofactor Statistics and Component Signature Single Fault Propagation Weight Signature and Partner Patterns

Flow Chart for Boolean Matching Algorithm using Boolean Signature

Application of Boolean Matching

Page 3: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 3

Considered under three cases:

Negation of Input Variables. Permutation of Input Variables. Negation of Output.

3

Equivalence of Functions

Page 4: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 4

X = {x1, x2, x3,…, xn} Set of Boolean input variables.

f (X) and g (X) Denotes two Boolean functions of X.

(X) Maps each xi to itself or its complement.

If g (X) = f ( (X)) Then we say f (X) and g (X) are equivalent functions.

4

Negation of Input Variables (1/2)

Page 5: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 5

Example:

X = {x1, x2, x3} f (X) = x1 + x2 + x3

g (X)= x1 + x2 + x3

Mapping:x1 x1

x2 x2

x3 x3

g (X) = f ( (X) ), so f (X) and g (X) are equivalent functions.

Negation of Input Variables (2/2)

Page 6: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 66

Permutation of Input Variables (1/2)

X = {x1, x2, x3,…, xn} Set of Boolean input variables.

f (X) and g (X) Denotes two Boolean functions of X.

(X) Maps each xi to any xi.

If g (X) = f ( (X)) Then we say f (X) and g (X) are equivalent functions.

Page 7: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 7

Permutation of Input Variables (2/2)

Example:

X = {x1, x2, x3} f (X) = x1x3 + x2 + x3x1

g (X)= x3x2 + x1 + x2x3

Mapping:x1 x3

x2 x1

x3 x2

g (X) = f ( (X) ), so f (X) and g (X) are equivalent functions.

Page 8: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 88

Negation of Output

X = {x1, x2, x3,…, xn} Set of Boolean input variables.

f (X) and g (X) Denotes two Boolean functions of X.

If g (X) = f (X) or g (X) = f (X) Then we say f(X) and g(X) are equivalent functions.

Example: X = {x1, x2, x3} f (X) = x1x2x3

g (X)= x1 + x2 + x3

g (X) = f (X), so f (X) and g (X) are equivalent functions.

Page 9: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 9

N-equivalent Equivalent under input Negation.

P-equivalent Equivalent under input Permutation.

NP-equivalent Equivalent under input Negation, input

Permutation. NPN-equivalent

Equivalent under input Negation, input Permutation, output Negation.

9

Classes of Functional Equivalence

Page 10: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 10

Boolean Matching (1/2)

Boolean matching is defined as the problem ofdetermining whether a Boolean function can befunctionally equivalent to another one under apermutation of its inputs and complementationof some of its inputs or complementation ofitself.

Page 11: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 11

X = {x1, x2, x3,…, xn} Set of Boolean input variables.

Y = {y1,y2, y3,…, yn} Set of Boolean input variables.

f (X) Denotes Boolean function of X.

g (Y) Denotes Boolean function of Y.

(X) (mapping from X to Y) Maps each xi to a unique yj or yj.

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

11

Boolean Matching (2/2)

Total number of mappings

2n x n! x 2

Page 12: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 12

Boolean Matching Algorithms (1/3)

Canonical Forms Burch et al. -“Efficient Boolean Function Matching”. Wu et al. -“Efficient Boolean Matching Algorithm for Cell Libraries”. Debnath et al. - “Fast Boolean Matching Under Permutation Using

Representative”. Ciric et al. - “Efficient Canonical Form for Boolean Matching of Complex

Functions in Large Libraries”. Hinsberger et al. - “Boolean Matching for Large Libraries”.

Based on Truth table of the function. Table look-up.

Drawbacks Space complexity. Applicable for library cells with seven or fewer input variables.

Page 13: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 13

Boolean Matching Algorithms (2/3)

Boolean Signatures Mohnke et al. - “Permutation and Phase Independent Boolean

Comparison”.

Based on Signature of function. Signature of variable. Signatures invariant to

Input permutation. Input negation. Output negation.

Signature used as necessary condition for equivalence.

Drawbacks: Fails to conclude a unique correspondence of variables of the

benchmark circuits.

Page 14: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 14

Boolean Matching Algorithms (3/3)

Signature Based Canonical Form Abdollahi – “Symmetry Detection and Boolean Matching Utilizing a

Signature-Based Canonical Form of Boolean Functions”.

Based on Generalized signatures. Variable symmetries. Handles combinational functions. No limitation on the number of input variables.

Spectral Methods Clarke et al. – “Spectral Transforms for Large Boolean Functions

With Applications to Technology Mapping”. Miller - "A Spectral Method for Boolean Function Matching“.

Page 15: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 15

Signature of function. Signature of variable. Signatures invariant to

Input permutation. Input negation. Output negation.

Signature used as necessary condition for equivalence.

15

Boolean Signature

Page 16: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 16

Unateness Property. Symmetry Property. Size of On-Set.

16

Signature of Function

Page 17: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 17

Example

g(X) = x1x2x4 + x1x2x5 + x1x3x6 + x1x3x7

Total variables

n = 7 (x1, x2, x3, x4, x5, x6, x7).

Binate variables (having both complemented and uncomplented values)

b = 3 (x1, x2, x3).

Unate variables (having either of the complemented or uncomplented values)

u = 4 (x4, x5, x6 x7).

u = n – b.

17

Unateness Property (1/2)

Page 18: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 18

Matched functions must have 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.

18

Unateness Property (2/2)

Page 19: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 1919

Symmetry Property (1/2)

Symmetry Set A set of variables that are pair wise interchangeable

without affecting the logic functionality. Symmetry Class

A symmetry class is an ensemble of symmetry sets with the same cardinality.

Matched functions having the same symmetry classes.

Variables in different symmetry sets not being associated.

Page 20: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 2020

Symmetry Property (2/2)Example

g (X) = x1x2x3 + x4x5 + x6x7

3 Symmetry Sets1. {x1, x2, x3}

2. {x4, x5}

3. {x6, x7}

2 Symmetry Classes1. C3 = {{x1, x2, x3}}

2. C2 = {{x4, x5}, {x6, x7}}

Signature [|C1|, |C2|, |C3|, |C4|, |C5|, |C6|, |C7|]

= [0,2,1,0,0,0,0]

Page 21: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 21

Set of minterms for which a function f (X) evaluates to 1.

Matched functions must have the same size of on-set. Size of on-set, onsize (f), is denoted by |f|.

Computed on Ordered Binary Decision Diagram (ROBDD).

Output complementation changes the satisfy count of an n-input function f from |f| to 2n - |f|.

21

Size of On-Set

Page 22: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 22

Cofactor Signature.

Cofactor Statistics and Component Signature.

Single Fault Propagation Weight Signature (SFP) and Partner Patterns.

22

Signature of Variables

Page 23: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 23

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

: 0-branch : 1-branch

xt

xt fxt

0 1

23

Cofactor Signature

Page 24: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 24

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

xtxjfxtxj

0 1

xt

xj

24

Cofactor Statistics and Component Signature

Page 25: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 25

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

xt xt xt xt

0 1

25

Single Fault Propagation Weight Signature and Partner Patterns

Page 26: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 2626

Flow Chart for Boolean Matching Algorithm using Boolean Signature

Function f and g

Compute Signaturesof Functions

Equal?Not

MatchedNo

Compute Signaturesof variables

Yes

Equal?

Equivalence of f and g ?

Matched

NotMatched

NotMatched

Yes

Yes

No

No

Page 27: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 27

Technology Mapping Matching of complex gates. Exploiting implicit don’t care.

Logic Verification When input correspondence is not given. Verify correctness of a logic circuit.

Logic Synthesis Cell library binding process.

27

Application of Boolean Matching

Page 28: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 28

Conclusion

Boolean matching is based on exact equivalence checking techniques that find a match whenever possible. Various kinds of algorithms exist for Boolean matching. An overview of Boolean Signature based

algorithm is discussed.

Page 29: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 29

References[1] L. Benini and G. De Micheli, “A survey of Boolean matching techniques for library binding,” ACM Trans.

Design Automation of Electronic Systems, vol. 2, no. 3, pp. 193–226, July 1997.[2] J. R. Burch and D. E. Long, “Efficient Boolean function matching,” in Proc. Int. Conf. on Computer-Aided

Design, pp. 408–411, Nov. 1992. [3] Q. Wu, C. Y. R. Chen, and J. M. Acken, “Efficient Boolean matching algorithm for cell libraries,” Proc. IEEE Int.

Conf. on Computer Design, pp. 36–39, Oct. 1994.[4] D. Debnath and T. Sasao, “Fast Boolean matching under permutation using representative,” Proc. ASP

Design Automation Conf., pp. 359–362, Jan. 1999.[5] J. Ciric and C. Sechen, “Efficient canonical form for Boolean matching of complex functions in large

libraries,” IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems, vol. 22, no. 5, pp. 535–544, May 2003.

[6] D. Debnath and T. Sasao, “Efficient computation of canonical form for Boolean matching in large libraries,” Proc. ASP Design Automation Conf., pp. 591–596, Jan. 2004.

[7] U. Hinsberger and R. Kolla, “Boolean matching for large libraries,” Proc. Design Automation Conf., pp. 206–211, 1998.

[8] J. Mohnke and S. Malik, “Permutation and phase independent Boolean comparison,” Integration - the VLSI journal, 16: pp. 109-129, 1993.

[9] E.M. Clarke et al., "Spectral Transforms for Large Boolean Functions with Applications to Technology Mapping", Proc. Design Automation Conference, pp. 54-60, 1993.

[10] D.M.Miller, "A Spectral Method for Boolean Function Matching", Proc. European Design and Test Conference, pp. 602, 1996.

[11] A. Abdollahi and M. Pedram, "Symmetry Detection and Boolean Matching Utilizing a Signature-Based Canonical Form of Boolean Functions,“ Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions, pp 1128 – 1137, on June 2008.

[12] www.cs.nthu.edu.tw/~tingting/logic/ch5-2.ppt

Page 30: Presented By Anna Fariha Roll : SN – 213 MS, 1 st  Semester Session: 2010-11

Dept of CSE, University of Dhaka 30

?