New Canonical Form for Fast Boolean Matching in
New Canonical Form for Fast Boolean Matching in Logic Synthesis and Verification Afshin Abdollahi and Massoud Pedram Department of Electrical Engineering University of Southern California Los Angeles CA
Introduction n Boolean Matching: Functional equivalence under permutation and complementation of inputs n Applications – Logic verification – LUT-based FPGA synthesis – Technology Mapping n Clustering n Boolean Matching n Covering
Boolean Matching (Example) x 1 x 2 x 3 x 4 N P
Equivalence Classes Boolean functions of n variables
Prior Work (Canonical Form) n [Burch and Long, 1992] n [Debnath and Sasao] and T [Ciric and Sechen] – Canonical form for complementation only – Semi-Canonical form for complementation and permutation , x 1 x 2 x 3 f x 1 x 3 x 2 f – Canonical form for matching under permutation only , 0 0 0 1 1 , 1 1998] 0 and 0 1 0 n [Hinsberger 0 and 0 Kolla 0 Sasao 1 0 , 2004] 0 0 1 [Debnath and 1 functions 1 seven 1 0 of up 1 to 1 – Canonical 0 form 1 for variables under both complementation 1 0 0 0 and permutation 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 0
Signatures x 1 x 2 x 3 f 0 0 1 1 1 0 0 0 1 1 0 1 0 1 st - sig 21 nd
Symmetry Classes
NP Representative of a class (i) (i), (ii) holds for fi Theorem:
NP Representative of a class
CP - Transformation x 1 x 2 x 3
CP - Transformation
Grouping the Symmetry Classes
Resolving Groups
Resolving Groups
Resolving Groups
Algorithm Summary Given: Form groups of symmetry classes Use 2 nd – signatures to resolve groups Recursively resolve the remaining groups Theorem: Function F (X ) produced by the above algorithm is the canonical form of function f (X ).
Example x 2 x 3 x 1 x 2 x 3 x 4 4 2 00 01 10 11 x 5 x 6 f
Experimental Results n n A library including a large number of cells Generated large number of Boolean functions
Experimental Results Run-Time (micro-seconds) Prior work [Debnath and Sasao, 2004] Worst case Average Number of Inputs
Conclusions n Presented a canonical form for general Boolean Matching problem under input variable complementation and permutation – Applicable to Boolean functions with large number of inputs – Handles simple symmetries efficiently – Utilizes 1 st, 2 nd or higher-order signatures exactly when they are needed n Future work – Classification of Boolean functions into those that need : only 1 st and 2 nd signatures n Higher-order signatures n – Capture higher-order symmetry relations
Prior Work n n [Hinsberger and Kolla, 1998] [Debnath and Sasao, 2004] T x 1 x 2 x 3 0 1 0 1 0 0 1 1 f x 1 x 3 x 2 f 1 1 0 0 0 1 1 0 1 0 0 1 1 , ,
- Slides: 22