Skip to main content

Accelerating Boolean Satisfiability on a Custom IC

  • Chapter
  • First Online:
Hardware Acceleration of EDA Algorithms

Abstract

Boolean satisfiability (SAT) is a core NP-complete problem. Several heuristic software and hardware approaches have been proposed to solve this problem. In this work, we present a hardware solution to the SAT problem.We propose a custom IC to implement our approach, in which the traversal of the implication graph as well as conflict clause generation is performed in hardware, in parallel.

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

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 149.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. ftp://dimacs.rutgers.edu/pub/challenge/satisfiability/. The DIMACS ftp site

  2. http://www.cs.chalmers.se/cs/research/formalmethods/minisat/main.html. The MiniSAT Page

  3. http://www.lri.fr/simon/contest04/results/. The SAT’04 Competition

  4. Abramovici, M., Saab, D.: Satisfiability on reconfigurable hardware. In: Proceedings, International Workshop on Field Programmable Logic and Applications, pp. 448–456 (1997)

    Google Scholar 

  5. Abramovici, M., de Sousa, J., Saab, D.: A massively-parallel easily-scalable satisfiability solver using reconfigurable hardware. In: Proceedings, Design Automation Conference (DAC), pp. 684–690 (1999)

    Google Scholar 

  6. Bruni, R., Sassano, A.: Restoring satisfiability or maintaining unsatisfiability by finding small unsatisfiable subformulae. In: LICS Workshop on Theory and Applications of Satisfiability Testing (2001)

    Google Scholar 

  7. Büning, H.K.: On subclasses of minimal unsatisfiable formulas. Discrete Applied Mathematics 107(1–3), 83–98 (2000)

    Article  MATH  MathSciNet  Google Scholar 

  8. Cook, S.: The complexity of theorem-proving procedures. In: Proceedings, Third ACM Symposium on Theory of Computing, pp. 151–158 (1971)

    Google Scholar 

  9. Davydov, G., Davydova, I., BÂĺuning, H.K.: An efficient algorithm for the minimal unsatisfiability problem for a subclass of CNF. In: Annals of Mathematics and Artificial Intelligence, vol. 23, pp. 229 – 245 (1998)

    Google Scholar 

  10. Fleischner, H., Kullmann, O., Szeider, S.: Polynomial-time recognition of minimal unsatisfiable formulas with fixed clause-variable difference. In: Theoretical Computer Science, vol. 289, pp. 503–516 (2002)

    Google Scholar 

  11. Goldberg, E., Novikov, Y.: BerkMin: A fast and robust SAT solver. In: Proceedings, Design, Automation and Test in Europe (DATE) Conference, pp. 142–149 (2002)

    Google Scholar 

  12. Goldberg, E., Novikov, Y.: Verification of proofs of unsatisfiability for CNF formulas. In: Proceedings, Design and Test in Europe Conference, pp. 10,886 – 10,891 (2003)

    Google Scholar 

  13. Gu, J., Purdom, P., Franco, J., Wah, B.: Algorithms for the satisfiability (SAT) problem : A survey. DIMACS Series in Discrete Mathematics and Theoretical Computer Science 35, 19–151 (1997)

    MathSciNet  Google Scholar 

  14. Gulati, K., Waghmode, M., Khatri, S., Shi, W.: Efficient, scalable hardware engine for Boolean satisfiability and unsatisfiable core extraction. IET Computers Digital Techniques 2(3), 214–229 (2008)

    Article  Google Scholar 

  15. Huang, J.: MUP: A minimal unsatisfiability prover. In: ASP-DAC ’05: Proceedings of the 2005 Asia and South Pacific Design Automation Conference, pp. 432–437 (2005)

    Google Scholar 

  16. Jin, H., Awedh, M., Somenzi, F.: CirCUs: A satisfiability solver geared towards bounded model checking. In: Computer Aided Verification, pp. 519–522 (2004)

    Google Scholar 

  17. Karypis, G., Kumar, V.: A Software Package for Partitioning Unstructured Graphs, Partitioning Meshes and Computing Fill-Reducing Orderings of Sparse Matrices. http://www-users.cs.umn.edu/karypis/metis (1998)

  18. Kautz, H.A., Selman, B.: Planning as satisfiability. In: Proceedings, Tenth European Conference on Artificial Intelligence, pp. 359–363 (1992)

    Google Scholar 

  19. Lynce, J., Marques-Silva, J.: On computing minimum unsatisfiable cores. In: In Seventh International Conference on Theory and Applications of Satisfiability Testing, pp. 305–310 (2004)

    Google Scholar 

  20. McMillan, K.L.: Interpolation and SAT-based model checking. In: Proceedings, Computer Aided Verification, pp. 1–13 (2003)

    Google Scholar 

  21. Moskewicz, M., Madigan, C., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an efficient SAT solver. In: Proceedings of the Design Automation Conference, pp. 530–535 (2001)

    Google Scholar 

  22. Nagel, L.: SPICE: A computer program to simulate computer circuits. In: University of California, Berkeley UCB/ERL Memo M520 (1995)

    Google Scholar 

  23. Nam, G.J., Sakallah, K.A., Rutenbar, R.A.: Satisfiability-based layout revisited: Detailed routing of complex FPGAs via search-based Boolean SAT. In: FPGA ’99: Proceedings of the 1999 ACM/SIGDA Seventh International Symposium on Field Programmable Gate Arrays, pp. 167–175 (1999)

    Google Scholar 

  24. Oh, Y., Mneimneh, M., Andraus, Z.S., Sakallah, K.A., Markov, I.L.: AMUSE: A minimally unsatisfiable subformula extractor. In: Proceedings, Design Automation Conference, pp. 518–523 (2004)

    Google Scholar 

  25. Pagarani, T., Kocan, F., Saab, D., Abraham, J.: Parallel and scalable architecture for solving Satisfiability on reconfigurable FPGA. In: Proceedings, IEEE Custom Integrated Circuits Conference (CICC), pp. 147–150 (2000)

    Google Scholar 

  26. Papadimitriou, C.H., Wolfe, D.: The complexity of facets resolved. In: Journal of Computer and System Sciences, pp. 37(1):2–13 (1998)

    Google Scholar 

  27. Reis, N.A., de Sousa, J.T.: On implementing a configware/software SAT solver. In: FCCM ’02: Proceedings of the 10th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, p. 282. IEEE Computer Society, Washington, DC (2002)

    Chapter  Google Scholar 

  28. Silva, M., Sakallah, J.: GRASP-a new search algorithm for satisfiability. In: Proceedings of the International Conference on Computer-Aided Design (ICCAD), pp. 220–7 (1996)

    Google Scholar 

  29. Skliarova, I., Ferrari, A.: Reconfigurable hardware SAT solvers: A survey of systems. IEEE Transactions on Computers 53(11), 1449–1461 (2004)

    Article  Google Scholar 

  30. de Souza, J.T., Abramovici, M., da Silva, J.M.: A configware/software approach to SAT solving. In: IEEE Symposium on FPGAs for Custom Computing Machines (2001)

    Google Scholar 

  31. Suyama, T., Yokoo, M., Sawada, H., Nagoya, A.: Solving satisfiability problems using reconfigurable computing. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 9(1), 109–116 (2001)

    Article  Google Scholar 

  32. Waghmode, M., Gulati, K., Khatri, S., Shi, W.: An efficient, scalable hardware engine for Boolean satisfiability. In: Proceedings, IEEE International Conference on Computer Design (ICCD), pp. 326–331 (2006)

    Google Scholar 

  33. Zhang, L., Malik, S.: Validating SAT solvers using an independent resolution-based checker: Practical implementations and other applications. In: DATE ’03: Proceedings of the conference on Design, Automation and Test in Europe, p. 10880. IEEE Computer Society, Washington, DC (2003)

    Google Scholar 

  34. Zhao, Y., Malik, S., Moskewicz, M., Madigan, C.: Accelerating Boolean satisfiability through application specific processing. In: Proceedings, International Symposium on System Synthesis (ISSS), pp. 244–249 (2001)

    Google Scholar 

  35. Zhao, Y., Malik, S., Wang, A., Moskewicz, M., Madigan, C.: Matching architecture to application via configurable processors: A case study with Boolean satisfiability problem. In: Proceedings, International Conference on Computer Design (ICCD), pp. 447–452 (2001)

    Google Scholar 

  36. Zheng, L., Stuckey, P.J.: Improving SAT using 2SAT. In: ACSC ’02: Proceedings of the Twenty-fifth Australasian Conference on Computer Science, pp. 331–340. Australian Computer Society, Inc., Darlinghurst, Australia (2002)

    Google Scholar 

  37. Zhong, P., Ashar, P., Malik, S., Martonosi, M.: Using reconfigurable computing techniques to accelerate problems in the CAD domain: A case study with Boolean satisfiability. In: Proceedings, Design Automation Conference, pp. 194–199 (1998)

    Google Scholar 

  38. Zhong, P., Martonosi, M., Ashar, P., Malik, S.: Accelerating Boolean satisfiability with configurable hardware. In: Proceedings, IEEE Symposium on FPGAs for Custom Computing Machines, pp. 186–195 (1998)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kanupriya Gulati .

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer Science+Business Media, LLC

About this chapter

Cite this chapter

Gulati, K., Khatri, S.P. (2010). Accelerating Boolean Satisfiability on a Custom IC. In: Hardware Acceleration of EDA Algorithms. Springer, Boston, MA. https://doi.org/10.1007/978-1-4419-0944-2_4

Download citation

  • DOI: https://doi.org/10.1007/978-1-4419-0944-2_4

  • Published:

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-1-4419-0943-5

  • Online ISBN: 978-1-4419-0944-2

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics