Boolean matching of function vectors with strengthened learning

Boolean matching for multiple-output functions determines whether two given (in)completely-specified function vectors can be identical to each other under permutation and/or negation of their inputs and outputs. Despite its importance in design rectification, technology mapping, and other logic synthesis applications, there is no much direct study on this subject due to its generality and consequent computational complexity. This paper extends our prior Boolean matching decision procedure BooM to consider multiple-output functions. Through conflict-driven learning and partial assignment reduction, Boolean matching in the most general setting can still be accomplishable even when all other techniques lose their foundation and become unapplicable. Experiments demonstrate the indispensable power of strengthened learning for practical applications.

[1]  Giovanni Agosta,et al.  A Transform-Parametric Approach to Boolean Matching , 2009, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[2]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

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

[4]  Fausto Giunchiglia,et al.  Theorem proving in technology transfer: the user’s point of view , 2000, International Journal on Software Tools for Technology Transfer.

[5]  Jason Cong,et al.  Boolean matching for LUT-based logic blocks with applications toarchitecture evaluation and technology mapping , 2001, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[6]  Kavita Ravi,et al.  Minimal Assignments for Bounded Model Checking , 2004, TACAS.

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

[8]  Desh Ranjan,et al.  On the Computational Complexity of Some Classical Equivalence Relations on Boolean Functions , 1998, Theory of Computing Systems.

[9]  Hilary Putnam,et al.  A Computing Procedure for Quantification Theory , 1960, JACM.

[10]  Marco Schaerf,et al.  An Algorithm to Evaluate Quantified Boolean Formulae and Its Experimental Evaluation , 2002, Journal of Automated Reasoning.

[11]  Igor L. Markov,et al.  Large-scale Boolean matching , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[12]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[13]  Kuo-Hua Wang,et al.  Simulation and SAT-based Boolean matching for large Boolean networks , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[14]  Sharad Malik,et al.  Application of BDDs in Boolean matching techniques for formal logic combinational verification , 2001, International Journal on Software Tools for Technology Transfer.

[15]  G. S. Tseitin On the Complexity of Derivation in Propositional Calculus , 1983 .

[16]  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.

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

[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]  Massoud Pedram,et al.  Symmetry Detection and Boolean Matching Utilizing a Signature-Based Canonical Form of Boolean Functions , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

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

[22]  Manindra Agrawal,et al.  The Boolean isomorphism problem , 1996, Proceedings of 37th Conference on Foundations of Computer Science.

[23]  Ruchir Puri,et al.  DeltaSyn: An efficient logic difference optimizer for ECO synthesis , 2009, 2009 IEEE/ACM International Conference on Computer-Aided Design - Digest of Technical Papers.

[24]  Jie-Hong Roland Jiang,et al.  BooM: A decision procedure for boolean matching with abstraction and dynamic learning , 2010, Design Automation Conference.