Solving boolean satisfiability with dynamic hardware configurations

  • Peixin Zhong
  • Margaret Martonosi
  • Pranav Ashar
  • Sharad Malik
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1482)


Boolean satisfiability (SAT) is a core computer science problem with many important commercial applications. An NP-complete problem, many different approaches for accelerating SAT either in hardware or software have been proposed. In particular, our prior work studied mechanisms for accelerating SAT using configurable hardware to implement formula-specific solver circuits. In spite of this progress, SAT solver runtimes still show room for further improvement.

In this paper, we discuss further improvements to configurable-hardware-based SAT solvers. We discuss how dynamic techniques can be used to add the new solver circuitry to the hardware during run-time. By examining the basic solver structure, we explore how it can be best designed to support such dynamic reconfiguration techniques. These approaches lead to several hundred times speedups for many problems. Overall, this work offers a concrete example of how aggressively employing on-the-fly reconfigurability can enable runtime learning processes in hardware. As such, this work opens new opportunities for high performance computing using dynamically reconfigurable hardware.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    M. Abramovici and D. Saab. Satisfiability on Reconfigurable Hardware. In Seventh International Workshop on Field Programmable Logic and Applications, Sept. 1997.Google Scholar
  2. 2.
    S. Chakradhar, V. Agrawal, and S. Rothweiler. A transitive closure algorithm for test generation. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 12(7):1015–1028, July 1993.CrossRefGoogle Scholar
  3. 3.
    M. Davis and H. Putnam. A Computing Procedure for Quantification Theory. Journal of the ACM, 7:201–215, 1960.MATHMathSciNetCrossRefGoogle Scholar
  4. 4.
    DIMACS. Dimacs challenge benchmarks and ucsc benchmarks. Available at ftp://Dimacs.Rut-gers.EDU/pub/challenge/sat/benchmarks/cnf.Google Scholar
  5. 5.
    P. Goel. An Implicit Enumeration Algorithm to Generate Tests for Combinational Logic Circuits. IEEE Transactions on Computers, C30(3):215–222, March 1981.MathSciNetGoogle Scholar
  6. 6.
    T. Larrabee. Test Pattern Generation Using Boolean Satisfiability. In IEEE Transactions on Computer-Aided Design, volume 11, pages 4–15, January 1992.CrossRefGoogle Scholar
  7. 7.
    J. Silva and K. Sakallah. GRASP-A New Search Algorithm for Satisfiability. In IEEE ACM International Conference on CAD-96, pages 220–227, Nov. 1996.Google Scholar
  8. 8.
    P. Stephan, R. Brayton, and A. Sangiovanni-Vincentelli. Combinational Test Generation Using Satisfiability. Department of Electrical Engineering and Computer Sciences, University of California at Berkeley, 1992. UCB/ERL Memo M92/112.Google Scholar
  9. 9.
    T. Suyama, M. Yokoo, and H. Sawada. Solving Satisfiability Problems on FPGAs. In 6th Int'l Workshop on Field-Programmable Logic and Applications, Sept. 1996.Google Scholar
  10. 10.
    P. Zhong, P. Ashar, S. Malik, and M. Martonosi. Using reconfigurable computing techniques to accelerate problems in the cad domain: A case study with boolean satisfiability. In 35th Design Automation Conference, 1998.Google Scholar
  11. 11.
    P. Zhong, M. Martonosi, P. Ashar, and S. Malik. Accelerating boolean satisfiability with configurable hardware. In FCCM'98, 1998.Google Scholar

Copyright information

© Springer-Verlag 1998

Authors and Affiliations

  • Peixin Zhong
    • 1
  • Margaret Martonosi
    • 1
  • Pranav Ashar
    • 1
  • Sharad Malik
    • 1
  1. 1.Dept. of Electrical EngineeringPrinceton University NEC CCRLPrincetonUSA

Personalised recommendations