Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Presented By Anna Fariha Roll : SN – 213 MS, 1 st Semester Session: 2010-11 Boolean Matching."— Presentation transcript:

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

2 Dept of CSE, University of Dhaka2 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

3 Dept of CSE, University of Dhaka3 Considered under three cases:  Negation of Input Variables.  Permutation of Input Variables.  Negation of Output. 3 Equivalence of Functions

4 Dept of CSE, University of Dhaka4 n X = {x 1, x 2, x 3,…, x n }  Set of Boolean input variables. n f (X) and g (X)  Denotes two Boolean functions of X. n  (X)  Maps each x i to itself or its complement. n If g (X) = f (  (X))  Then we say f (X) and g (X) are equivalent functions. 4 Negation of Input Variables (1/2)

5 Dept of CSE, University of Dhaka5 Example:  X = {x 1, x 2, x 3 }  f (X) = x 1 + x 2 + x 3  g (X)= x 1 + x 2 + x 3   Mapping: x 1 x 2 x 3  g (X) = f (  (X) ), so f (X) and g (X) are equivalent functions.

6 Dept of CSE, University of Dhaka6 6 Permutation of Input Variables (1/2) n X = {x 1, x 2, x 3,…, x n }  Set of Boolean input variables. n f (X) and g (X)  Denotes two Boolean functions of X. n  (X)  Maps each x i to any x i. n If g (X) = f (  (X))  Then we say f (X) and g (X) are equivalent functions.

7 Dept of CSE, University of Dhaka7 Permutation of Input Variables (2/2) Example:  X = {x 1, x 2, x 3 }  f (X) = x 1 x 3 + x 2 + x 3 x 1  g (X)= x 3 x 2 + x 1 + x 2 x 3   Mapping: x 1 x 3 x 2 x 1 x 3 x 2  g (X) = f (  (X) ), so f (X) and g (X) are equivalent functions.

8 Dept of CSE, University of Dhaka8 8 Negation of Output n X = {x 1, x 2, x 3,…, x n }  Set of Boolean input variables. n f (X) and g (X)  Denotes two Boolean functions of X. n If g (X) = f (X) or g (X) = f (X)  Then we say f(X) and g(X) are equivalent functions. n Example:  X = {x 1, x 2, x 3 }  f (X) = x 1 x 2 x 3  g (X)= x 1 + x 2 + x 3  g (X) = f (X), so f (X) and g (X) are equivalent functions.

9 Dept of CSE, University of Dhaka9  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

10 Dept of CSE, University of Dhaka10 Boolean matching is defined as the problem of determining whether a Boolean function can be functionally equivalent to another one under a permutation of its inputs and complementation of some of its inputs or complementation of itself.

11 Dept of CSE, University of Dhaka11 n X = {x 1, x 2, x 3,…, x n }  Set of Boolean input variables. n Y = {y 1,y 2, y 3,…, y n }  Set of Boolean input variables. n f (X)  Denotes Boolean function of X. n g (Y)  Denotes Boolean function of Y. n  (X) (mapping from X to Y)  Maps each x i to a unique y j or y j. g (Y) = f (  (X) ) (or f (  (X) ) 11 Boolean Matching (2/2) Total number of mappings 2 n x n! x 2

12 Dept of CSE, University of Dhaka12  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.

13 Dept of CSE, University of Dhaka13  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.

14 Dept of CSE, University of Dhaka14  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“.

15 Dept of CSE, University of Dhaka15  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

16 Dept of CSE, University of Dhaka16 l Unateness Property. l Symmetry Property. l Size of On-Set. 16 Signature of Function

17 Dept of CSE, University of Dhaka17 Example g(X) = x 1 x 2 x 4 + x 1 x 2 x 5 + x 1 x 3 x 6 + x 1 x 3 x 7  Total variables  n = 7 (x 1, x 2, x 3, x 4, x 5, x 6, x 7 ).  Binate variables (having both complemented and uncomplented values)  b = 3 (x 1, x 2, x 3 ).  Unate variables (having either of the complemented or uncomplented values)  u = 4 (x 4, x 5, x 6 x 7 ).  u = n – b. 17 Unateness Property (1/2)

18 Dept of CSE, University of Dhaka18  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)

19 Dept of CSE, University of Dhaka19 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.

20 Dept of CSE, University of Dhaka20 Symmetry Property (2/2) Example g (X) = x 1 x 2 x 3 + x 4 x 5 + x 6 x 7  3 Symmetry Sets 1.{x 1, x 2, x 3 } 2.{x 4, x 5 } 3.{x 6, x 7 }  2 Symmetry Classes 1.C 3 = {{x 1, x 2, x 3 }} 2.C 2 = {{x 4, x 5 }, {x 6, x 7 }}  Signature [|C 1 |, |C 2 |, |C 3 |, |C 4 |, |C 5 |, |C 6 |, |C 7 |] = [0,2,1,0,0,0,0]

21 Dept of CSE, University of Dhaka21  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 2 n - |f|. 21 Size of On-Set

22 Dept of CSE, University of Dhaka22  Cofactor Signature.  Cofactor Statistics and Component Signature.  Single Fault Propagation Weight Signature (SFP) and Partner Patterns. 22 Signature of Variables

23 Dept of CSE, University of Dhaka23  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 23 Cofactor Signature

24 Dept of CSE, University of Dhaka24 l A sorted list of onsize (x t x j  f x t x j ) for all x t in the input set xtxjfxtxjxtxjfxtxj 01 xtxt xjxj 24 Cofactor Statistics and Component Signature

25 Dept of CSE, University of Dhaka25 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 25 Single Fault Propagation Weight Signature and Partner Patterns

26 Dept of CSE, University of Dhaka26 Flow Chart for Boolean Matching Algorithm using Boolean Signature Function f and g Compute Signatures of Functions Equal? Not Matched No Compute Signatures of variables Yes Equal? Equivalence of f and g ? Matched Not Matched Not Matched Yes No

27 Dept of CSE, University of Dhaka27  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

28 Dept of CSE, University of Dhaka28 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.

29 Dept of CSE, University of Dhaka29 [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 www.cs.nthu.edu.tw/~tingting/logic/ch5-2.ppt

30 Dept of CSE, University of Dhaka30 ?


Download ppt "Presented By Anna Fariha Roll : SN – 213 MS, 1 st Semester Session: 2010-11 Boolean Matching."

Similar presentations


Ads by Google