presented by anna fariha roll : sn – 213 ms, 1 st semester session: 2010-11
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 PresentationTRANSCRIPT
Dept of CSE, University of Dhaka 1
Presented By
Anna Fariha
Roll : SN – 213MS, 1st SemesterSession: 2010-11
Boolean Matching
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
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
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)
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)
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.
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.
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.
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
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.
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
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.
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.
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“.
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
Dept of CSE, University of Dhaka 16
Unateness Property. Symmetry Property. Size of On-Set.
16
Signature of Function
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)
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)
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.
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]
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
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
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
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
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
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
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
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.
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