Download presentation
Presentation is loading. Please wait.
Published byMichael Marshall Modified over 9 years ago
1
Kuo-Hua Wang, Chung-Ming Chan, Jung-Chang Liu Dept. of CSIE Fu Jen Catholic University Slide: Chih-Fan Lai Simulation and SAT-Based Boolean Matching for Large Boolean Networks
2
Outline Introduction Background Definitions & Notations Simulation Approach Discussion Experimental Results Conclusions
3
Introduction(1/2) Boolean Matching to check if two functions are equivalent under input permutation and input/output phase assignments For example: Let and then x x x 3 2 1 Ref: slide of KH Wang, “ Incremental Learning Approach and SAT Model for Boolean Matching with Don't Cares”, 2007
4
Introduction(2/2) Previous Works Computing Signatures Transforming into Canonical Form This Work Integrating Simulation and Boolean Satisfiability(S&S)
5
Outline Introduction Background Definitions & Notations Simulation Approach Discussion Experimental Results Conclusions
6
Background Boolean Matching Equivalence of Function Boolean Satisfiability And-Inverter Graph(AIG) Functional Property Unate Symmetry
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 } n We want to find a feasible mapping P such that f(X) = g(Y), where Y = P(X) n This paper addresses the permutation independent (P-equivalent) Boolean matching problem
8
Equivalence of Function 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
9
Functional Property Consider a function f(X) with n inputs Cofactor of f w.r.t. xi f xi (x 1, x 2, … x i =1, …, x n ) Positive(negative) unate in x i fx i ⊆ fx i (fx i ⊆ fx i ) __
10
Functional Property(cont’d) Symmetry Non-equivalence symmetry(NE) fx i x j = fx i x j Equivalence symmetry(E) fx i x j = fx i x j Single variable symmetry(SV) fx i x j = fx i x j _ _ _ _ _ _ __ ___ _
11
Outline Introduction Background Definitions & Notations Simulation Approach Discussion Experimental Results Conclusions
12
Definitions and Notations P = {X 1, X 2, …, X k } Partition of input set X, where ∪ X i = X and X i ∩ X j is empty for i ≠ j |P| Partition size of P, the number of subsets X i ’s in P
13
Definitions and Notations(cont’d) Given two input sets X and Y with the same number of input variables, let P X = {X 1, X 2, …, X k } and P Y = {Y 1, Y 2, …, Y k } be two ordered input partitions of X and Y, respectively.
14
Definition(1/5) Definition 1 A mapping relation R = {G 1,G 2, · · ·,G k } is a set of mappings between the input groups of P X and P Y, where G i = X i Y i and |X i | = |Y i |. Each element G i ∈ R is a mapping group which maps X i to Y i.
15
Definition(2/5) Definition 2 The mapping relation size is the number of mapping groups in R, denoted as |R|. The mapping group size of Gi, denoted as |G i |, is the group size of X i (or Y i ).
16
Definition(3/5) Definition 3 G i is unique if and only if |G i | = 1 or X i (Y i ) is a NE- symmetric set of f (g). The mapping relation R is unique if and only if all the mapping groups in R are unique.
17
Definition(4/5) Definition 4 Let v i be an input vector w.r.t. the input set X. The input weight of v i is the number of inputs with binary value 1. It is denoted as ρ (v i,X) Example: X = x 1 x 2 x 3 x 4 x 5, v i = 11010 ρ (v i,X) = 3
18
Definition(5/5) Definition 5 Consider a function f(X) and a vector set V involving m distinct input vectors. The output weight of f w.r.t. V is the number of vectors v i ’s in V such that f(v i ) = 1. It is denoted as σ (f, V ) and 0 ≤ σ (f, V ) ≤ m Example X1x2x3f( x1, x2, x3) 0100 1111 1011 σ (f, V ) = 2
19
Outline Introduction Background Definitions & Notations Simulation Approach Discussion Experimental Results Conclusions
20
Simulation Approach(1/6) To quickly remove impossible input corresponding
21
Simulation Approach(2/6) Type-1 Vector First, generate input vector with weight = 0 or m where m is the target mapping group size, i.e. all 1 or 0 For each input xi in group Gi, generate vector with complementing the value of xi Xi = {x1, x2, x3, x4} x1 10000111 x2 0100 or1011 x3 00101101 x4 00011110
22
Simulation Approach(3/6) Type-2 Vector For each input xi, assign 1(0) to xi and one of the remaining inputs, 0(1) to the other inputs. Output weight will be the signature of the input after simulation. Example x1x2x3x4f 11001 10100 10011 Signature of x1 is σ (f, V ) = 2
23
Simulation Approach(4/6) Type-3 Vector Only be used for the partition with several NE-symmetric sets. Suppose Xi consists e symmetric set S 1, S 2, …, S e, each with k inputs Generate two random vectors with different weight says a 1 and a 2 Assign a 1 to Si and a 2 to the other sets for each sets Partition by different output value
24
Simulation Approach(5/6) Type-3 Vector(cont’d) Example X have 3 NE-symmetric sets {x1,x2}, {x3,x5}, {x6,x7} Y have 3 NE-symmetric sets {y2,y3}, {x4,x5}, {x6,x7} a 1 = 11, a 2 = 01, x1x2x1x2x3x5x3x5x6x7x4x8output y2y3y4y5y6y7y1y8f v11101 110 v2011101111 v301 11 1
25
Simulation Approach(6/6) For each group A ∈ P Xi, there is a corresponding group B ∈ P Yi, if |P Xi | ≠ |P Yi | |A| ≠ |B| f(X) and g(Y) can not match to each other
26
Outline Introduction Background Definitions & Notations Simulation Approach Discussion Experimental Results Conclusions
27
Discussion(1/2) Matching Algorithm Initialization Functional property Simulation Recursion
28
Discussion(2/2) Some Implementation Issues Vector Generation Reduction of Simulation Time
29
Outline Introduction Background Definitions & Notations Simulation Approach Discussion Experimental Results Conclusions
30
Outline Introduction Background Definitions & Notations Simulation Approach Discussion Experimental Results Conclusions
31
Proposed a S&S-based Boolean matching algorithm Three types of input vectors for simulation Had been tested on a set of large benchmark and is effective and efficient
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.