A Constraint Satisfaction Approach for Programmable Logic Detailed Placement

  • Andrew Mihal
  • Steve Teig
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7962)


This paper presents a Boolean SAT constraint satisfaction formulation of the detailed placement problem for programmable logic. The detailed placement problem is usually considered a poor candidate for a SAT-based solution due to complex timing constraints and the large size of the problem space. To overcome these challenges, we encode domain-specific knowledge into the problem formulation and add new features to the SAT solver. First, a Boolean encoding of timing constraints is presented that utilizes concepts from static timing analysis. Second, future cost clauses are added to the formulation to guide the SAT solver in a manner similar to A* search. Third, a dynamic clause generation approach is described that keeps the working problem size small by adding clauses on demand as the SAT solver explores the problem space. This includes dynamic cardinality clauses and dynamic addition of literals to cardinality clauses.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bacchus, F.: Enhancing Davis Putnam with extended binary clause reasoning. In: National Conference on Artificial Intelligence, pp. 613–619 (July 2002)Google Scholar
  2. 2.
    Betz, V., Rose, J.: VPR: A new packing, placement, and routing tool for FPGA research. In: Glesner, M., Luk, W. (eds.) FPL 1997. LNCS, vol. 1304, pp. 213–222. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  3. 3.
    Chen, D., Cong, J., Pan, P.: FPGA design automation: A survey. Foundations and Trends in Electronic Design Automation 1(3), 195–330 (2006)CrossRefGoogle Scholar
  4. 4.
    Devadas, S.: Optimal layout via Boolean satisfiability. In: IEEE International Conference on Computer-Aided Design, pp. 294–297 (November 1989)Google Scholar
  5. 5.
    Drechsler, R., Eggersglüß, S., Fey, G., Tille, D.: Test Pattern Generation using Boolean Proof Engines. Springer (2009)Google Scholar
  6. 6.
    Eén, N., Sörensson, N.: An extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  7. 7.
    Eén, N., Sörensson, N.: Temporal induction by incremental SAT solving. In: First Intl. Workshop on Bounded Model Checking, vol. 89, pp. 543–560 (2003)Google Scholar
  8. 8.
    Ganesh, V., O’Donnell, C.W., Soos, M., Devadas, S., Rinard, M.C., Solar-Lezama, A.: Lynx: A programmatic SAT solver for the RNA-folding problem. In: Cimatti, A., Sebastiani, R. (eds.) SAT 2012. LNCS, vol. 7317, pp. 143–156. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  9. 9.
    Kirkpatrick, T.I., Clark, N.R.: PERT as an aid to logic design. IBM Journal of Research and Development 10(2), 135–141 (1966)MATHCrossRefGoogle Scholar
  10. 10.
    Kuehlmann, A., Paruthi, V., Krohm, F., Ganai, M.: Robust Boolean reasoning for equivalence checking and functional property verification. IEEE Transactions on Computer-Aided Design 21(12), 1377–1394 (2002)CrossRefGoogle Scholar
  11. 11.
    Kuehlmann, A.: Dynamic transition relation simplification for bounded property checking. In: International Conference on Computer-Aided Design, pp. 50–57 (2004)Google Scholar
  12. 12.
    Kuon, I., Tessier, R., Rose, J.: FPGA architecture: Survey and challenges. Foundations and Trends in Electronic Design Automation 2(2), 135–253 (2008)CrossRefGoogle Scholar
  13. 13.
    Liffiton, M.H., Maglalang, J.C.: A cardinality solver: More expressive constraints for free. In: Cimatti, A., Sebastiani, R. (eds.) SAT 2012. LNCS, vol. 7317, pp. 485–486. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  14. 14.
    Mishchenko, A., Brayton, R., Jiang, J.R., Jang, S.: SAT-based logic optimization and resynthesis. In: Intl. Workshop on Logic and Synthesis, pp. 358–364 (May 2007)Google Scholar
  15. 15.
    Moskewicz, M., Madigan, C., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an efficient SAT solver. In: Design Automation Conference, pp. 530–535 (2001)Google Scholar
  16. 16.
    Nam, G., Aloul, F., Sakallah, K., Rutenbar, R.: A comparative study of two Boolean formulations of FPGA detailed routing constraints. IEEE Transactions on Computers 53(6) (June 2004)Google Scholar
  17. 17.
    Nam, G., Sakallah, K., Rutenbar, R.: Satisfiability-based layout revisited: Detailed routing of complex FPGAs via search-based Boolean SAT. In: Intl. Symposium on Field Programmable Gate Arrays, pp. 167–175 (1999)Google Scholar
  18. 18.
    Ohrimenko, O., Stuckey, P., Codish, M.: Propagation via lazy clause generation. Constraints 14(3), 357–391 (2009)MathSciNetMATHCrossRefGoogle Scholar
  19. 19.
    Seshia, S.: Adaptive Eager Boolean Encoding for Arithmetic Reasoning in Verification. PhD thesis, Carnegie Mellon University (2005)Google Scholar
  20. 20.
    Various. OpenCores open source hardware IP cores (April 2013), http://opencores.org
  21. 21.
    Glenn Wood, R., Rutenbar, R.: FPGA routing and routability estimation via Boolean satisfiability. IEEE Transactions on VLSI 6(2) (June 1998)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Andrew Mihal
    • 1
  • Steve Teig
    • 1
  1. 1.Tabula Inc.Santa ClaraUSA

Personalised recommendations