Simulation and SAT-based Boolean matching for large Boolean networks

Boolean matching is to check the equivalence of two target functions under input permutation and input/output phase assignment. This paper addresses the permutation independent (P-equivalent) Boolean matching problem. We will propose a matching algorithm seamlessly integrating Simulation and Boolean Satisfiability (S&S) techniques. Our proposed algorithm will first utilize functional properties like unateness and symmetry to reduce the searching space. In the followed simulation phase, three types of input vector generation and checking method will be used to match the inputs of two target functions. Experimental results on large benchmarking circuits demonstrate that our matching algorithm is indeed very effective and efficient to solve Boolean matching for large Boolean networks.

[1]  Robert K. Brayton,et al.  Symmetry detection for large Boolean functions using circuit representation, simulation, and satisfiability , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

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

[3]  Qi Zhu,et al.  SAT sweeping with local observability don't-cares , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[4]  Robert K. Brayton,et al.  Using simulation and satisfiability to compute flexibilities in Boolean networks , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[5]  Igor L. Markov,et al.  Node Mergers in the Presence of Don't Cares , 2007, 2007 Asia and South Pacific Design Automation Conference.

[6]  Malay K. Ganai,et al.  Robust Boolean reasoning for equivalence checking and functional property verification , 2002, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[7]  A. Richard Newton,et al.  Fast Boolean matching with don't cares , 2006, 7th International Symposium on Quality Electronic Design (ISQED'06).

[8]  Kuo-Hua Wang,et al.  Incremental learning approach and SAT model for boolean matching with don’t cares , 2007, 2007 IEEE/ACM International Conference on Computer-Aided Design.

[9]  Joao Marques-Silva,et al.  GRASP: A Search Algorithm for Propositional Satisfiability , 1999, IEEE Trans. Computers.

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

[11]  Tsutomu Sasao,et al.  Efficient computation of canonical form for Boolean matching in large libraries , 2004 .

[12]  Sean Safarpour,et al.  Efficient SAT-based Boolean matching for FPGA technology mapping , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[13]  R. Brayton,et al.  FRAIGs: A Unifying Representation for Logic Synthesis and Verification , 2005 .

[14]  Joao Marques-Silva,et al.  Boolean satisfiability in electronic design automation , 2000, Proceedings 37th Design Automation Conference.

[15]  R. Brayton,et al.  Improvements to Combinational Equivalence Checking , 2006, 2006 IEEE/ACM International Conference on Computer Aided Design.

[16]  Afshin Abdollahi Signature based Boolean matching in the presence of don’t cares , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[17]  Giovanni Agosta,et al.  A Unified Approach to Canonical Form-based Boolean Matching , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[18]  Luca Benini,et al.  A survey of Boolean matching techniques for library binding , 1997, TODE.

[19]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[20]  Paolo Crippa,et al.  A statistical methodology for the design of high-performance CMOScurrent-steering digital-to-analog converters , 2002, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[21]  Kuo-Hua Wang Exploiting k-distance signature for Boolean matching and G-symmetry detection , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[22]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.