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.

Slides:



Advertisements
Similar presentations
Three Special Functions
Advertisements

Algorithms for computing Canonical labeling of Graphs and Sub-Graph Isomorphism.
Graph Isomorphism Algorithms and networks. Graph Isomorphism 2 Today Graph isomorphism: definition Complexity: isomorphism completeness The refinement.
Discrete Mathematics Lecture 5 Alexander Bukharovich New York University.
MVI Function Review Input X is p -valued variable. Each Input can have Value in Set {0, 1, 2,..., p i-1 } literal over X corresponds to subset of values.
On the Hardness of Graph Isomorphism Jacobo Tor á n SIAM J. Comput. Vol 33, p , Presenter: Qingwu Yang April, 2006.
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
Exploiting Symmetry in SAT-Based Boolean Matching for Heterogeneous FPGA Technology Mapping Yu Hu 1, Victor Shih 2, Rupak Majumdar 2 and Lei He 1 1 Electrical.
Boolean Functions and their Representations
Multi-Valued Input Two-Valued Output Functions. Multi-Valued Input Slide 2 Example Automobile features 0123 X1X1 TransManAuto X2Doors234 X3ColourSilverRedBlackBlue.
A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.
1 Section 10.1 Boolean Functions. 2 Computers & Boolean Algebra Circuits in computers have inputs whose values are either 0 or 1 Mathematician George.
1 FRAIGs: Functionally Reduced And-Inverter Graphs Adapted from the paper “FRAIGs: A Unifying Representation for Logic Synthesis and Verification”, by.
Boolean Unification EE219B Presented by: Jason Shamberger March 1, 2000.
ECE Synthesis & Verification - Lecture 9b 1 ECE 697B (667) Fall 2004 ECE 697B (667) Fall 2004 Synthesis and Verification of Digital Systems Boolean.
Boolean Matching in Logic Synthesis. Equivalence of Functions Equivalence of two functions defined under l Negation of input variables l Permutation of.
CSE 421 Algorithms Richard Anderson Lecture 27 NP Completeness.
Solving Boolean Satisfiability (SAT) Problem Using the Unate Recursive Paradigm Priyank Kalla, Maciej Ciesielski Dept. of Elec. & Comp. Engineering University.
1 Generalized Cofactor Definition 1 Let f, g be completely specified functions. The generalized cofactor of f with respect to g is the incompletely specified.
Exact State Minimization of Non-Deterministic FSMs 290N: The Unknown Component Problem Lecture 17.
ECE 667 Synthesis and Verification of Digital Systems
Daniel Kroening and Ofer Strichman Decision Procedure
BOOLEAN FUNCTION PROPERTIES
 Let A and B be any sets A binary relation R from A to B is a subset of AxB Given an ordered pair (x, y), x is related to y by R iff (x, y) is in R. This.
Literature Review: A New Decomposition Algorithm for Threshold Synthesis and Generalization of Boolean Functions Paper by José L. Subirats, José M. Jerez,
4 4.2 © 2012 Pearson Education, Inc. Vector Spaces NULL SPACES, COLUMN SPACES, AND LINEAR TRANSFORMATIONS.
Logic Circuits Chapter 2. Overview  Many important functions computed with straight-line programs No loops nor branches Conveniently described with circuits.
Boolean Algebra and Computer Logic Mathematical Structures for Computer Science Chapter 7.1 – 7.2 Copyright © 2006 W.H. Freeman & Co.MSCS Slides Boolean.
The Fast Optimal Voltage Partitioning Algorithm For Peak Power Density Minimization Jia Wang, Shiyan Hu Department of Electrical and Computer Engineering.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
1 A Novel Synthesis Algorithm for Reversible Circuits Mehdi Saeedi, Mehdi Sedighi*, Morteza Saheb Zamani {msaeedi, msedighi, aut.ac.ir.
Chun-Yao Wang ( 王俊堯 ) 2011/12/16 Department of Computer Science, National Tsing Hua University Hsinchu, Taiwan, R.O.C.
Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
ICS 252 Introduction to Computer Design Lecture 12 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
Boolean Functions 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Boolean Functions Basics Maciej Ciesielski Univ.
ECE 301 – Digital Electronics Logic Circuit Design (Lecture #9)
Output Grouping-Based Decomposition of Logic Functions Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University.
A function is a rule f that associates with each element in a set A one and only one element in a set B. If f associates the element b with the element.
Sets and Basic Operations on Sets Notation A set will usually be denoted by a capital letter, such as, A,B,X, Y,..., whereas lower-case letters, a, b,
4 Vector Spaces 4.1 Vector Spaces and Subspaces 4.2 Null Spaces, Column Spaces, and Linear Transformations 4.3 Linearly Independent Sets; Bases 4.4 Coordinate.
New Canonical Form for Fast Boolean Matching in Logic Synthesis and Verification Afshin Abdollahi and Massoud Pedram Department of Electrical Engineering.
Binary Decision Diagrams Prof. Shobha Vasudevan ECE, UIUC ECE 462.
“It is impossible to define every concept.” For example a “set” can not be defined. But Here are a list of things we shall simply assume about sets. A.
Presented By Anna Fariha Roll : SN – 213 MS, 1 st Semester Session: Boolean Matching.
CHAPTER 2 Boolean algebra and Logic gates
BDD-based Synthesis of Reversible Logic for Large Functions Robert Wille Rolf Drechsler DAC’09 Presenter: Meng-yen Li.
P & NP.
Chih-Fan Lai1, J.-H. Roland Jiang1, and Kuo-Hua Wang2
The Analysis of Cyclic Circuits with Boolean Satisfiability
Advanced Algorithms Analysis and Design
6.1 One-to-One Functions; Inverse Function
… and now for the Final Topic:
Speaker: Fuw-Yi Yang 楊伏夷 伏夷非征番, 道德經 察政章(Chapter 58) 伏者潛藏也
CMSC Discrete Structures
Fast Computation of Symmetries in Boolean Functions Alan Mishchenko
MVI Function Review Input X is p-valued variable. Each Input can have Value in Set {0, 1, 2, ..., pi-1} literal over X corresponds to subset of values.
Robert Brayton UC Berkeley
Yes, No, Maybe... BooleanAlgebra 12/10/2018.
Function Notation “f of x” Input = x Output = f(x) = y.
Advanced Algorithms Analysis and Design
4.1 One-to-One Functions; Inverse Function
MVI Function Review Input X is p-valued variable. Each Input can have Value in Set {0, 1, 2, ..., pi-1} literal over X corresponds to subset of values.
6.1 One-to-One Functions; Inverse Function
A logic function f in n inputs x1, x2, ...xn and
Equivalence Relations
A logic function f in n inputs x1, x2, ...xn and
CMSC Discrete Structures
Presentation transcript:

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

Outline Introduction Background Definitions & Notations Simulation Approach Discussion Experimental Results Conclusions

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 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 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

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

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 ) __

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 _ _ _ _ _ _ __ ___ _

Outline Introduction Background Definitions & Notations Simulation Approach Discussion Experimental Results Conclusions

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

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.

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.

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 ).

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.

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 = ρ (v i,X) = 3

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) σ (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} x x or1011 x x

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 Signature of x1 is σ (f, V ) = 2

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

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 v v v

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

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

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