Designing an Efficient Hardware Implication Accelerator for SAT Solving

  • John D. Davis
  • Zhangxi Tan
  • Fang Yu
  • Lintao Zhang
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4996)


This paper discusses the design of a hardware accelerator for Boolean Constraint Propagation (BCP) using Field Programmable Gate Arrays (FPGA). In particular, we describe the detailed implementation of the inference engine, a key component of the accelerator that performs implications. Unlike previous efforts in FPGA assisted SAT solving, our design uses Block RAM (BRAM) to store instance information. This novel design not only facilitates fast lookup and update, but also avoids synthesizing overhead for each SAT instance. We demonstrate that SAT instances can be easily partitioned into multiple groups that can be processed by multiple inference engines in parallel. By exploiting parallelism in hardware, the BCP accelerator can infer implications in 6 to 17 clock cycles for a new variable assignment. In addition, our design supports dynamic insertion and deletion of learned clauses. Cycle accurate simulation shows that our BCP accelerator is 5~16 times faster than the conventional software based approach for BCP.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Zhang, L., Malik, S.: The Quest for Efficient Boolean Satisfiability Solvers. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, Springer, Heidelberg (2002)CrossRefGoogle Scholar
  2. 2.
    Suyama, T., Yokoo, M., Sawada, H., Nagoya, A.: Solving Satisfiability Problems Using Reconfigurable Computing. IEEE Trans. VLSI Systems 9(1), 109–116 (2001)CrossRefGoogle Scholar
  3. 3.
    Zhong, P., Martonosi, M., Ashar, P., Malik, S.: Using Configurable Computing to Accelerate Boolean Satisfiability. IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems 18(6), 861–868 (1999)CrossRefGoogle Scholar
  4. 4.
    Zhong, P., Martonosi, M., Ashar, P., Malik, S.: Solving Boolean Satisfiability with Dynamic Hardware Configurations. In: Hartenstein, R.W., Keevallik, A. (eds.) FPL 1998. LNCS, vol. 1482, pp. 326–335. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  5. 5.
    Abramovici, M., de Sousa, J.T.: A SAT Solver Using Reconfigurable Hardware and Virtual Logic. J. Automated Reasoning 24(1-2), 5–36 (2000)MATHCrossRefGoogle Scholar
  6. 6.
    Dandalis, A., Prasanna, V.K.: A Parallel Pipelined SAT Solver for FPGA’s. FPGAACM Trans. Design Automation of Electronic Systems 7(4), 547–562 (2002)CrossRefGoogle Scholar
  7. 7.
    de Sousa, J., Marques-Silva, J.P., Abramovici, M.: A Configware/Software Approach to SAT Solving. In: Proc. Ninth IEEE Int’l Symp. Field-Programmable Custom Computing Machines (2001)Google Scholar
  8. 8.
    Skliarova, I., Ferrari, A.B.: A Software/Reconfigurable Hardware SAT Solver. IEEE Trans. Very Large Scale Integration (VLSI) Systems 12(4), 408–419 (2004)CrossRefGoogle Scholar
  9. 9.
    Skliarova, I., Ferrari, A.B.: Reconfigurable Hardware SAT Solvers: A Survey of Systems. IEEE Transactions on Computers 53(11), 1449–1461 (2004)CrossRefGoogle Scholar
  10. 10.
    Moskewicz, M., Madigan, C., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an Efficient SAT Solver. In: 38th Design Automation Conference, Las Vegas (June 2001)Google Scholar
  11. 11.
    Davis, J.D., Tan, Z., Yu, F., Zhang, L.: A Practical Reconfigurable Hardware Accelerator for Boolean Satisfiability Solvers. In: 45th Design Automation Conference, Anaheim (June 2008)Google Scholar
  12. 12.
    HyperTransport Technology I/O link, AMD (2001)Google Scholar
  13. 13.
    Cormen, T.H., Leiserson, C.E., Rivest, R.L.: Introduction to Algorithms. McGraw-Hill, New York (1990)Google Scholar
  14. 14.
    Culberson, J.: Graph Coloring Programs, available at
  15. 15.
    Xilinx product specification, Content Addressable Memory V5.1, available at

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • John D. Davis
    • 1
  • Zhangxi Tan
    • 2
  • Fang Yu
    • 1
  • Lintao Zhang
    • 1
  1. 1.Microsoft Research Silicon Valley Lab 
  2. 2.UC Berkeley 

Personalised recommendations