Bi-decomposition Using SAT and Interpolation

  • Ruei-Rung Lee
  • Jie-Hong Roland Jiang
  • Wei-Lun Hung


Boolean function bi-decomposition is a fundamental operation in logic synthesis. A function f(X) is bi-decomposable under a variable partition \(X_A, X_B, X_C\) on X if it can be written as \(h(f_A(X_A,X_C), f_B(X_B,X_C))\) for some functions h, f A , and f B . The quality of a bi-decomposition is mainly determined by its variable partition. A preferred decomposition is disjoint, i.e., \(X_C = \emptyset\), and balanced, i.e., \(|X_A| \approx |X_B|\). 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 chapter 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.


Boolean Function Conjunctive Normal Form Variable Partition Boolean Formula Support Variable 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Ashenhurst, R.L.: The decomposition of switching functions. Computation Laboratory 29, 74–116 (1959)MathSciNetGoogle Scholar
  2. 2.
    Berkeley Logic Synthesis and Verification Group: ABC: A system for sequential synthesis and verification (2005).∼alanmi/abc/ (2007)
  3. 3.
    Bertacco, V., Damiani, M.: The disjunctive decomposition of logic functions. In: Proceedings of the International Conference on Computer Aided Design, pp. 78–82. San Jose (1997)Google Scholar
  4. 4.
    Bochmann, D., Dresig, F., Steinbach, B.: A new decomposition method for multilevel circuit design. In: Proceedings of the European Design Automation Conference, pp. 374–377. Amsterdam, The Netherlands (1991)Google Scholar
  5. 5.
    Cortadella, J.: Timing-driven logic bi-decomposition. IEEE Transactions on Computer Aided Design of Integrated Circuits and Systems 22(6), 675–685 (2003)CrossRefGoogle Scholar
  6. 6.
    Craig, W.: Linear reasoning: A new form of the Herbrand-Gentzen theorem. Journal of Symbolic Logic 22(3), 250–268 (1957)MATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    Curtis, A.: A New Approach to the Design of Switching Circuits. Van Nostrand, Princeton, NJ (1962)Google Scholar
  8. 8.
    Eén, N., Söensson, N.: An extensible SAT-solver. In: Proceedings of International Conference on Theory and Applications of Satisfiability Testing, pp. 502–518. Santa Margherita Ligure, Italy (2003)Google Scholar
  9. 9.
    Lee, C.C., Jiang, J.H.R., Huang, C.Y., Mishchenko, A.: Scalable exploration of functional dependency by interpolation and incremental SAT solving. In: Proceedings of the International Conference on Computer Aided Design, pp. 227–233. San Jose (2007)Google Scholar
  10. 10.
    McMillan, K.L.: Interpolation and SAT-based model checking. In: Proceedings of the International Conference on Computer Aided Verification, pp. 1–13. Boulder, CO, USA (2003)Google Scholar
  11. 11.
    Mishchenko, A., Steinbach, B., Perkowski, M.A.: An algorithm for bi-decomposition of logic functions. In: Proceedings of the Design Automation Conference, pp. 103–108. Las Vegas, Nevada, USA (2001)Google Scholar
  12. 12.
    Oh, Y., Mneimneh, M., Andraus, Z., Sakallah, K., Markov, I.: Amuse: A minimally unsatisfiable subformula extractor. In: Proceedings of the Design Automation Conference, pp. 518–523. San Diego, CA, USA (2004)Google Scholar
  13. 13.
    Robinson, J.A.: A machine-oriented logic based on the resolution principle. Journal of the ACM 12(1), 23–41 (1965)MATHCrossRefGoogle Scholar
  14. 14.
    Sasao, T., Butler, J.: On bi-decomposition of logic functions. In: Proceedings of the International Workshop on Logic Synthesis Tahoe City, CA, USA (1997)Google Scholar
  15. 15.
    Scholl, C.: Functional Decomposition with Applications to FPGA Synthesis. Kluwer Dordrecht, The Netherlands (2001)Google Scholar
  16. 16.
    Steinbach, B., Wereszczynski, A.: Synthesis of multi-level circuits using EXOR-gates. In: Proceedings of IFIP Workshop on Applications of the Reed-Muller Expansion in Circuit Design, pp. 161–168. Makuhari, Japan (1995)Google Scholar
  17. 17.
    Tseitin, G.: On the complexity of derivation in propositional calculus. In: A.O. Slisenko (ed.) Studies in Constructive Mathematics and Mathematical Logic, Part II, vol. 8, p. 280. Serial Zap. Nauchn. Sem. LOMI. Nauka, Leningrad (1968)Google Scholar
  18. 18.
    Yamashita, S., Sawada, H., Nagoya, A.: New methods to find optimal nondisjoint bidecompositions. In: Proceedings of the Design Automation Conference, pp. 59–68. San Francisco, CA, USA (1998)Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  • Ruei-Rung Lee
    • 1
  • Jie-Hong Roland Jiang
    • 1
  • Wei-Lun Hung
    • 1
  1. 1.National Taiwan UniversityTaipeiTaiwan

Personalised recommendations