Skip to main content
Log in

A SAT Solver Using Reconfigurable Hardware and Virtual Logic

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

Abstract

In this paper, we present the architecture of a new SAT solver using reconfigurable logic and a virtual logic scheme. Our main contributions include new forms of massive fine-grain parallelism, structured design techniques based on iterative logic arrays that reduce compilation times from hours to minutes, and a decomposition technique that creates independent subproblems that may be concurrently solved by unconnected FPGAs. The decomposition technique is the basis of the virtual logic scheme, since it allows solving problems that exceed the hardware capacity. Our architecture is easily scalable. Our results show several orders of magnitude speedup compared with a state-of-the-art software implementation, and also with respect to prior SAT solvers using reconfigurable hardware.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Abramovici, M., Breuer, M. A. and Friedman, A. D.: Digital Systems Testing and Testable Design, IEEE Press, 1995.

  2. Abramovici, M. and Saab, D.: Satisfiability on reconfigurable hardware, in Proc. Intn'l. Workshop on Field-Programmable Logic and Applications, Sept. 1997.

  3. Abramovici, M., Sousa, J. and Saab, D.: A massively-parallel easily-scalable satisfiability solver using reconfigurable hardware, in Proc. Design Automation Conf., June 1999.

  4. Abramovici, M. and de Sousa, J. T.: A virtual logic system for solving satisfiability problems using reconfigurable hardware, in Proc. Symp. on Field-Programmable Custom Computing Machines, April 1999.

  5. Babb, J., Frank, M. and Agarwal, A.: Solving graph problems with dynamic computation structures, in SPIE Photonics East: Reconfigurable Technology for Rapid Product Development & Computing, November 1996, pp. 225–236.

  6. Babb, J., Tessier, R. and Agarwal, A.: Virtual wires: Overcoming pin limitations in FPGA-based logic emulators, in Proc. Symp. on Field-Programmable Custom Computing Machines, April 1993, pp. 142–151.

  7. Bohm, M. and Speckenmeyer, E.: A fast parallel SAT solver: Efficient workload balancing, Ann. Math. Artificial Intelligence 17(3–4) (1996), 381–400.

    Google Scholar 

  8. Brayton, R., Hachtel, G., McMullen, C. and Sangiovanni-Vincentelli, A.: Logic Minimization Algorithms for VLSI Synthesis, Kluwer Academic Publishers, 1984.

  9. Chakradhar, S. T. and Agrawal, V. D.: A novel VLSI solution to a difficult graph problem, in Proc. Intn.l. Symp. on VLSI Design, January 1990, pp. 124–129.

  10. Cook, S. A.: The complexity of theorem-proving procedures, in Proc. 3rd Annual ACM Symp. on Theory of Computation, 1971, pp. 151–158.

  11. Davis, M. and Putnam, H.: A computing procedure for quantification theory, J. ACM 7 (1960), 167–187.

    Google Scholar 

  12. Devadas, S.: Optimal layout via boolean satisfiability, in Proc. Intn'l. Conf. on CAD, November 1989, pp. 294–297.

  13. Devadas, S., Keutzer, K.,Malik, S. andWang, A.: Certified timing verification and the transition delay of a logic circuit, in Proc. Design Automation Conf., June 1992, pp. 549–555.

  14. DIMACS Challenge Benchmarks, ftp://dimacs.rutgers.edu/pub/challenge/sat/benchmarks/cnf/.

  15. Fujiwara, H. and Shimono, T.: On the acceleration of test generation algorithms, IEEE Trans. Comput. C-32(12), December 1983, pp. 1137–1144.

    Google Scholar 

  16. Gately, J. et al.: UltraSPARC-I emulation, in Proc. Design Automation Conf. June 1995, pp. 13–18.

  17. Goel, P.: An implicit enumeration algorithm to generate tests for combinational logic circuits, IEEE Trans. Comput. C-30(3), March 1981, pp. 215–222.

    Google Scholar 

  18. Gu, J.: Satisfiability problems in VLSI engineering, in DIMACS Workshop on Satisfiability Problem: Theory and Applications, March 1996.

  19. Gu, J., Purdom, P. W., Franco, J. and Wah, B. W.: Algorithms for the satisfiability (SAT) problem: A survey, in DIMACS Workshop on Satisfiability Problem: Theory and Applications, March 1996, pp. 19–51.

  20. Gu, J. and Puri, R.: Asynchronous circuit synthesis with boolean satisfiability, IEEE Trans. on CAD 14(8) (1995), pp. 961–973.

    Google Scholar 

  21. Larrabee, T.: Test pattern generation using boolean satisfiability, IEEE Trans. on CAD 11(1) (1992), pp. 4–15.

    Google Scholar 

  22. McGeer, P. C. et al.: Timing analysis and delay-fault test generation using path recursive functions, in Proc. Intn'l. Conf. on CAD, November 1991, pp. 180–183.

  23. http://www.icube.com/prodpage/ProdPage.html, I-Cube Co.

  24. Platzner, M. and De Micheli, G.: Acceleration of satisfiability algorithms by reconfigurable hardware, in Proc. Intn'l. Workshop on Field-Programmable Logic and Applications, Sept. 1998.

  25. Rashid, A., Leonard, J. and Mangione-Smith, W. H.: Dynamic circuit generation for solving specific problem instances of boolean satisfiability, in Proc. Symp. on Field-Programmable Custom Computing Machines, April 1998, pp. 196–204.

  26. Scalera, S. M. and Vazquez, J. R.: The design and implementation of a context switching FPGA, in Proc. Symp. on Field-Programmable Custom Computing Machines, April 1998, pp. 78–85.

  27. Silva, J.M.: An overview of backtrack search satisfiability algorithms, in Proc. 5th Intn'l. Symp. on Artificial Intelligence and Mathematics, January 1998.

  28. Silva, J. M. and Sakallah, K. A.: GRASP-A new search algorithm for satisfiability, in Proc. Intn'l. Conf. on CAD, November 1996, pp. 220–227.

  29. L. G. Silva et al.: Realistic delaymodeling in satisfiability-based timing analysis, in Proc. Intn'l. Symp. on Circuits and Systems (ISCAS), May 1998.

  30. Stephan, P. R., Brayton, R. K. and Sangiovanni-Vincentelli, A.: Combinational test generation using satisfiability, IEEE Trans. on CAD 15(9) (1996), 1167–1176.

    Google Scholar 

  31. Suyama, T., Yokoo, M. and Sawada, H.: Solving satisfiability problems on FPGAs, in Proc. Intn'l. Workshop on Field-Programmable Logic and Applications, 1996.

  32. Trimberger, S., Carberry, D., Johnson, A. and Wong, J.: A time-multiplexed FPGA, in Proc. Symp. on Field-Programmable Custom Computing Machines, April 1997.

  33. Varghese, J., Butts, M. and Batchller, J.: An efficient logic emulation system, IEEE Trans. on VLSI 1(2) (1993), 171–174.

    Google Scholar 

  34. Vuillemin, J. et al.: Programmable active memories: reconfigurable systems come of age, IEEE Trans. on VLSI Systems, March 1996.

  35. Wood, R. G. and Rutenbar, R. A.: FPGA routing and routability estimation via Boolean satisfiability, in Proc. Intn'l. Symp. on FPGAs, February 1997.

  36. Wu, Y. and Adham, S.: BIST fault diagnosis in scan-based VLSI environments, in Proc. Intn'l. Test Conf., October 1996, pp. 48–57.

  37. XC6200 Field-Programmable Gate Arrays, Xilinx, June 1996. 38. Zhong, P., Martonosi, M., Ashar, P. and Malik, S.: Accelerating Boolean satisfiability with configurable hardware, in Proc. Symp. on Field-Programmable Custom Computing Machines, April 1998. 39. Zhong, P., Martonosi, M., Ashar, P. and Malik, S.: Using reconfigurable computing techniques to accelerate problems in the CAD domain: A case study with Boolean satisfiability, in Proc. Design Automation Conf., June 1998. 40. Zhong, P., Martonosi, M., Ashar, P. and Malik, S.: Solving Boolean satisfiability with dynamic hardware configurations, in Proc. Intn'l. Workshop on Field-Programmable Logic and Applications, Sept. 1998.

Download references

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Abramovici, M., De Sousa, J.T. A SAT Solver Using Reconfigurable Hardware and Virtual Logic. Journal of Automated Reasoning 24, 5–36 (2000). https://doi.org/10.1023/A:1006310219368

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1006310219368

Navigation