Building a Better Boolean Matcher and Symmetry Detector

Boolean matching is a powerful technique that has been used in technology mapping to overcome the limitations of structural pattern matching. The current basis for performing Boolean matching is the computation of a canonical form to represent functions that are equivalent under negation and permutation of inputs and outputs. In this paper, we first present a detailed analysis of previous techniques for Boolean matching. We then describe a novel combination of existing methods and new ideas that results in a matcher which is dramatically faster than previous work. We point out that the presented algorithm is equally relevant for detecting generalized functional symmetries, which has broad applications in logic optimization and verification

[1]  Reiner Kolla,et al.  Boolean matching for large libraries , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[2]  Tsutomu Sasao,et al.  Efficient computation of canonical form for boolean matching in large libraries , 2004, ASP-DAC 2004: Asia and South Pacific Design Automation Conference 2004 (IEEE Cat. No.04EX753).

[3]  Masahiro Fujita,et al.  Spectral Transforms for Large Boolean Functions with Applications to Technology Mapping , 1993, 30th ACM/IEEE Design Automation Conference.

[4]  Sharad Malik,et al.  Limits of Using Signatures for Permutation Independent Boolean Comparison , 2002, Formal Methods Syst. Des..

[5]  Jason Cong,et al.  Cut ranking and pruning: enabling a general and efficient FPGA mapping solution , 1999, FPGA '99.

[6]  Giovanni De Micheli,et al.  Technology mapping using Boolean matching and don't care sets , 1990, Proceedings of the European Design Automation Conference, 1990., EDAC..

[7]  Sharad Malik,et al.  Permutation and phase independent Boolean comparison , 1993, Integr..

[8]  C. Y. Roger Chen,et al.  Efficient Boolean matching algorithm for cell libraries , 1994, Proceedings 1994 IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[9]  Douglas B. Netherwood Logic Matrices and the Truth Function Problem , 1959, JACM.

[10]  Massoud Pedram,et al.  Boolean matching using binary decision diagrams with applications to logic synthesis and verification , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[11]  Tae Sun Kim,et al.  An Efficient Method for Optimal BDD Ordering Computation , 1993 .

[12]  A. Prasad Sistla,et al.  Symmetry and model checking , 1993, Formal Methods Syst. Des..

[13]  Stanley L. Hurst,et al.  Spectral techniques in digital logic , 1985 .

[14]  Sharad Malik,et al.  Limits of using signatures for permutation independent Boolean comparison , 1995, ASP-DAC '95.

[15]  Massoud Pedram,et al.  A new canonical form for fast Boolean matching in logic synthesis and verification , 2005, Proceedings. 42nd Design Automation Conference, 2005..

[16]  Carl Sechen,et al.  Efficient canonical form for Boolean matching of complex functions in large libraries , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[17]  Jerry R. Burch,et al.  Efficient Boolean function matching , 1992, ICCAD.

[18]  Igor L. Markov,et al.  Exploiting structure in symmetry detection for CNF , 2004, Proceedings. 41st Design Automation Conference, 2004..