Bi-decomposing large Boolean functions via interpolation and satisfiability solving

Boolean function bi-decomposition is a fundamental operation in logic synthesis. A function f(X) is bi-decomposable under a variable partition X<sub>A</sub>, X<sub>B</sub>, X<sub>C</sub> on X if it can be written as h(f<sub>A</sub>(X<sub>A</sub>, X<sub>C</sub>), f<sub>B</sub>(X<sub>B</sub>, X<sub>C</sub>)) for some functions h, Ja, and /#. The quality of a bi-decomposition is mainly determined by its variable partition. A preferred decomposition is disjoint, i.e. X<sub>C</sub> = Oslash, and balanced, i.e. |X<sub>A</sub>| ap |X<sub>B</sub>|. Finding such a good decomposition reduces communication and circuit complexity, and yields simple physical design solutions. Prior BDD-based methods may not be scalable to decompose large functions due to the memory explosion problem. Also as decomposability is checked under a fixed variable partition, searching a good or feasible partition may run through costly enumeration that requires separate and independent decomposability checkings. This paper proposes a solution to these difficulties using interpolation and incremental SAT solving. Preliminary experimental results show that the capacity of bi-decomposition can be scaled up substantially to handle large designs.

[1]  Jie-Hong Roland Jiang,et al.  Compatible class encoding in hyper-function decomposition for FPGA synthesis , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

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

[3]  Czech Republickrajicek Interpolation Theorems, Lower Bounds for Proof Systems, and Independence Results for Bounded Arithmetic , 2007 .

[4]  J. A. Robinson,et al.  A Machine-Oriented Logic Based on the Resolution Principle , 1965, JACM.

[5]  Bernd Steinbach,et al.  An algorithm for bi-decomposition of logic functions , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

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

[7]  Jie-Hong Roland Jiang,et al.  To SAT or not to SAT: Ashenhurst decomposition in a large scale , 2008, 2008 IEEE/ACM International Conference on Computer-Aided Design.

[8]  Pavel Pudlák,et al.  Lower bounds for resolution and cutting plane proofs and monotone computations , 1997, Journal of Symbolic Logic.

[9]  Jordi Cortadella Timing-driven logic bi-decomposition , 2003, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[10]  R. Karp Functional Decomposition and Switching Circuit Design , 1963 .

[11]  Christoph Scholl,et al.  Functional Decomposition With Application to FPGA Syn-thesis , 2001 .

[12]  Igor L. Markov,et al.  AMUSE: a minimally-unsatisfiable subformula extractor , 2004, Proceedings. 41st Design Automation Conference, 2004..

[13]  Christoph Scholl Functional decomposition with applications to FPGA synthesis , 2001 .

[14]  Tsutomu Sasao,et al.  On bi-decomposition of logic functions , 1997 .

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

[16]  A. Mishchenko,et al.  Scalable exploration of functional dependency by interpolation and incremental SAT solving , 2007, 2007 IEEE/ACM International Conference on Computer-Aided Design.

[17]  D. Bochmann,et al.  A new decomposition method for multilevel circuit design , 1991, Proceedings of the European Conference on Design Automation..

[18]  William Craig,et al.  Linear reasoning. A new form of the Herbrand-Gentzen theorem , 1957, Journal of Symbolic Logic.

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

[20]  Robert K. Brayton,et al.  Functional Dependency for Verification Reduction , 2004, CAV.

[21]  B. Steinbach,et al.  Synthesis Of Multi-Level Circuits Using EXOR-Gates , 2001 .

[22]  Jan Krajícek,et al.  Interpolation theorems, lower bounds for proof systems, and independence results for bounded arithmetic , 1997, Journal of Symbolic Logic.

[23]  Sze-Tsen Hu ON THE DECOMPOSITION OF SWITCHING FUNCTIONS , 1961 .

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

[25]  Stephen Dean Brown,et al.  FPGA technology mapping: a study of optimality , 2005, Proceedings. 42nd Design Automation Conference, 2005..

[26]  H. A. Curtis,et al.  A new approach to The design of switching circuits , 1962 .

[27]  M. F.,et al.  Bibliography , 1985, Experimental Gerontology.

[28]  Kenneth L. McMillan,et al.  Interpolation and SAT-Based Model Checking , 2003, CAV.