310 likes | 506 Views
Simulation and SAT-Based Boolean Matching for Large Boolean Networks. Kuo-Hua Wang, Chung-Ming Chan, Jung-Chang Liu Dept. of CSIE Fu Jen Catholic University Slide: Chih -Fan Lai. Outline. Introduction Background Definitions & Notations Simulation Approach Discussion
E N D
Simulation and SAT-Based Boolean Matching for Large Boolean Networks Kuo-HuaWang, Chung-Ming Chan, Jung-Chang Liu Dept. of CSIE Fu Jen Catholic University Slide: Chih-Fan Lai
Outline • Introduction • Background • Definitions & Notations • Simulation Approach • Discussion • Experimental Results • Conclusions
x 1 x 2 x 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 Ref: slide of KH Wang, “Incremental Learning Approach and SAT Model for Boolean Matching with Don't Cares”, 2007
Introduction(2/2) • Previous Works • Computing Signatures • Transforming into Canonical Form • This Work • Integrating Simulation and Boolean Satisfiability(S&S)
Outline • Introduction • Background • Definitions & Notations • Simulation Approach • Discussion • Experimental Results • Conclusions
Background • Boolean Matching • Equivalence of Function • Boolean Satisfiability • And-Inverter Graph(AIG) • Functional Property • Unate • Symmetry
Boolean Matching • Given functions f (X) and g (Y), where X = { x1 , x2 ,…, xn} and Y = { y1 , y2 ,…, yn} • We want to find a feasible mapping P such that f(X) = g(Y), where Y = P(X) • This paper addresses the permutation independent (P-equivalent) Boolean matching problem
Equivalence of Function • NPN-equivalent : • equivalent under input Negation, input Permutation, output Negation • NP-equivalent : • equivalent under input Negation, input Permutation • P- equivalent : • equivalent under input Permutation
Functional Property • Consider a function f(X) with n inputs • Cofactor of f w.r.t. xi • fxi(x1, x2, … xi=1, …, xn) • Positive(negative) unate in xi • fxi ⊆ fxi (fxi ⊆ fxi) _ _
Functional Property(cont’d) • Symmetry • Non-equivalence symmetry(NE) • fxixj = fxixj • Equivalence symmetry(E) • fxixj = fxixj • Single variable symmetry(SV) • fxixj = fxixj • fxixj = fxixj • fxixj = fxixj • fxixj = fxixj _ _ _ _ _ _ _ _ _ _ _ _
Outline • Introduction • Background • Definitions & Notations • Simulation Approach • Discussion • Experimental Results • Conclusions
Definitions and Notations • P = {X1, X2, …, Xk} • Partition of input set X, where ∪Xi =X and Xi∩Xj is empty for i≠ j • |P| • Partition size of P, the number of subsets Xi’s in P
Definitions and Notations(cont’d) • Given two input sets X and Y with the same number of input variables, let PX = {X1, X2, …, Xk} and PY = {Y1, Y2, …, Yk} be two ordered input partitions of X and Y , respectively.
Definition(1/5) Definition 1 A mapping relation R = {G1,G2, · · · ,Gk} is a set of mappings between the input groups of PX and PY , where Gi = XiYi and |Xi| = |Yi|. Each element Gi ∈ R is a mapping group which maps Xito Yi.
Definition(2/5) Definition 2 The mapping relation sizeis the number of mapping groups in R, denoted as |R|. The mapping group size of Gi, denoted as |Gi|, is the group size of Xi (or Yi).
Definition(3/5) Definition 3 Giis uniqueif and only if |Gi| = 1 or Xi(Yi) 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.
Definition(4/5) Definition 4 Let vi be an input vector w.r.t. the input set X. The input weightof viis the number of inputs with binary value 1. It is denoted as ρ(vi,X) Example: • X = x1x2x3x4x5, vi = 11010 • ρ(vi,X) = 3
Definition(5/5) Definition 5 Consider a function f(X) and a vector set V involving m distinct input vectors. The output weightof f w.r.t. V is the number of vectors vi’s in V such that f(vi) = 1. It is denoted as σ(f, V ) and 0 ≤ σ(f, V ) ≤ m Example σ(f, V ) = 2
Outline • Introduction • Background • Definitions & Notations • Simulation Approach • Discussion • Experimental Results • Conclusions
Simulation Approach(1/6) • To quickly remove impossible input corresponding
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 1000 0111 x2 0100 or 1011 x3 0010 1101 x4 0001 1110
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
Simulation Approach(4/6) • Type-3 Vector • Only be used for the partition with several NE-symmetric sets. • Suppose Xi consists e symmetric set S1, S2, …, Se, each with k inputs • Generate two random vectors with different weight says a1 and a2 • Assign a1 to Si and a2 to the other sets for each sets • Partition by different output value
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} • a1 = 11, a2 = 01,
Simulation Approach(6/6) • For each group A ∈ PXi, there is a corresponding group B ∈PYi, if • |PXi| ≠ |PYi| • |A| ≠ |B| • f(X) and g(Y) can not match to each other
Outline • Introduction • Background • Definitions & Notations • Simulation Approach • Discussion • Experimental Results • Conclusions
Discussion(1/2) • Matching Algorithm • Initialization • Functional property • Simulation • Recursion
Discussion(2/2) • Some Implementation Issues • Vector Generation • Reduction of Simulation Time
Outline • Introduction • Background • Definitions & Notations • Simulation Approach • Discussion • Experimental Results • Conclusions
Outline • Introduction • Background • Definitions & Notations • Simulation Approach • Discussion • Experimental Results • Conclusions
Conclusions • 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