skip to main content
research-article

Speeding-up heuristic allocation, scheduling and binding with SAT-based abstraction/refinement techniques

Published:02 March 2010Publication History
Skip Abstract Section

Abstract

Hardware synthesis is the process by which system-level, Register Transfer (RT)-level, or behavioral descriptions can be turned into real implementations, in terms of logic gates. Scheduling is one of the most time-consuming steps in the overall design flow, and may become much more complex when performing hardware synthesis from high-level specifications. Exploiting a single scheduling strategy on very large designs is often reductive and potentially inadequate. Furthermore, finding the “best” single candidate among all possible scheduling algorithms is practically infeasible. In this article we introduce a hybrid scheduling approach that is a preliminary step towards a comprehensive solution not yet provided by industrial or by academic solutions. Our method relies on an abstract symbolic representation of data flow nodes (operations) bound to control flow paths: it produces a more realistic lower bound during the prescheduling resource estimation step and speeds up slower but accurate heuristic scheduling techniques, thus achieving a globally improved result.

References

  1. Aho, A. V., Sethi, R., and Ullman, J. D. 1986. Compilers: Principles, Techniques, and Tools. Addison-Wesley Longman Publishing, Boston, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Bergamaschi, R. A., Raje, S., and Trevillyan, L. 1997. Control-Flow versus data-flow-based scheduling: Combining both approaches in an adaptive scheduling system. IEEE Trans. Very Large Scale Integr. Syst. 5, 1, 82--100. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Biere, A., Cimatti, A., Clarke, E. M., Fujita, M., and Zhu, Y. 1999. Symbolic model checking using SAT procedures instead of BDDs. In Proceedings of the 36th Design and Automation Conference. IEEE Computer Society, 317--320. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Büning, H. K., Karpinski, M., and Flögel, A. 1995. Resolution for quantified boolean formulas. Inf. Comput. 117, 1, 12--18. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Cabodi, G., Lazarescu, M., Lavagno, L., Nocco, S., Passerone, C., and Quer, S. 2002. A symbolic approach for the combined solution of scheduling and allocation. In Proceedings of the 15th International Symposium on System Synthesis. 237--242. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Camposano, R. 1991. Path-Based scheduling for synthesis. IEEE Trans. Comput.-Aided Des. Integr. Circ. Syst. 10, 1, 85--93.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Camposano, R. and Bergamaschi, R. A. 1990. Synthesis using path-based scheduling: Algorithms and exercises. In Proceedings of the 27th ACM/IEEE Design Automation Conference. ACM, New York, 450--455. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Chaudhuri, S. and Walker, R. A. 1994. Computing lower bounds on functional units before scheduling. IEEE Trans. VLSI Syst. 36--41.Google ScholarGoogle Scholar
  9. Clarke, E., Grumberg, O., Jha, S., Lu, Y., and Veith, H. 2003. Counterexample-Guided abstraction refinement for symbolic model checking. J. ACM 50, 5, 752--794. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Cooper, K. D., Schielke, P. J., and Subramanian, D. 1998. An experimental evaluation of list scheduling. Tech. rep., Deptartment of Computer Science, Rice University.Google ScholarGoogle Scholar
  11. Davis, M., Logemann, G., and Loveland, D. 1962. A machine procedure for theorem-proving. J. ACM 5, 394--397. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Davis, M. and Putnam, H. 1960. A computing procedure for quantification theory. J. ACM 7, 201--215. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. De Micheli, G. 1994. Synthesis and Optimization of Digital Circuits. McGraw-Hill Higher Education. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Eén, N. and Sörensson, N. 2003a. Temporal induction by incremental SAT solving. Electron. Not. Theor. Comput. Sci. 89, 4.Google ScholarGoogle Scholar
  15. Eén, N. and Sörensson, N. 2003b. The minisat SAT solver. http://www.cs.chalmers.se/Cs/Research/FormalMethods/MiniSat/.Google ScholarGoogle Scholar
  16. Fang, J. Z. 1997. Compiler algorithms on if-conversion, speculative predicates assignment and predicated code optimizations. In Proceedings of the 9th International Workshop on Languages and Compilers for Parallel Computing (LCPC'96). Springer, 135--153. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Garey, M. R. and Johnson, D. S. 1990. Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Haynal, S. P. 2000. Automata-Based symbolic scheduling. Ph.D. thesis. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Hennessy, J. L. and Patterson, D. A. 2002. Computer Architecture: A Quantitative Approach. Morgan Kaufmann. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Hooker, J. N. 1993. Solving the incremental satisfiability problem. J. Logic Program. 15, 1-2, 177--186. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Katkoori, S. and Vemuri, R. 1999. Accurate resource estimation algorithms for behavioral synthesis. In Proceedings of the 9th Great Lakes Symposium on VLSI (GLS'99). IEEE Computer Society, 338. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Ly, T., Knapp, D., Miller, R., and MacMillen, D. 1995. Scheduling using behavioral templates. In Proceedings of the 32nd ACM/IEEE Design Automation Conference. ACM, New York, 101--106. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Marques-Silva, J. P. and Sakalla, K. A. 1996. GRASP - A new search algorithm for satisfiability. In Proceedings of the International Conference on Tools with Artificial Intelligence. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Memik, S. O. and Fallah, F. 2002. Accelerated SAT-based scheduling of control/data flow graphs. In Proceedings of the IEEE International Conference on Computer Design: VLSI in Computers and Processors. IEEE Computer Society, 395--400. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Moskewicz, M., Madigan, C., Zhao, Y., Zhang, L., and Malik, S. 2001. Chaff: Engineering an efficient SAT solver. In Proceedings of the 38th Design Automation Conference. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Namballa, R., Ranganathan, N., and Ejnioui, A. 2004. Control and data flow graph extraction for high-level synthesis. In Proceedings of the IEEE Annual Symposium on VLSI, 187.Google ScholarGoogle Scholar
  27. Pangrle, B. M. and Gajski, D. D. 1987. Design tools for intelligent silicon compilation. IEEE Trans. Comput.-Aided Des. Integr. Circ. Syst. 6, 6, 1098--1112.Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Paulin, P. G. and Knight, J. P. 1987. Force-Directed scheduling in automatic data path synthesis. In Proceedings of the 24th ACM/IEEE Design Automation Conference. ACM, New York, 195--202. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Rabaey, J. M., Chu, C., Hoang, P., and Potkonjak, M. 1991. Fast prototyping of datapath-intensive architectures. IEEE Des. Test Comput. 8, 2, 40--51. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Safir, A. and Zavidovique, B. 1990. Towards a global solution to high level synthesis problems. In Proceedings of the European Design Automation Conference. IEEE Computer Society Press, 283--288. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Selman, B., Kautz, H., and Cohen, B. 1996. Local search strategies for satisfiability testing. In DIMACS Series in Discrete Mathematics and Theoretical Computer Science. 521--532.Google ScholarGoogle Scholar
  32. Sentovich, E. M., Singh, K. J., Lavagno, L., Moon, C., Murgai, R., Saldanha, A., Savoj, H., Stephan, P. R., Brayton, R. K., and Sangiovanni-vincentelli, A. 1992. SIS: A system for sequential circuit synthesis. Tech. rep. UCB/ERL M92/41, University of California, Berkeley.Google ScholarGoogle Scholar
  33. Syswerda, G. and Palmucci, J. 1991. The application of genetic algorithms to resource scheduling. In Proceedings of the 4th International Conference on Genetic Algorithms. 502--508.Google ScholarGoogle Scholar
  34. Tiruvuri, G. and Chung, M. 1998. Estimation of lower bounds in scheduling algorithms for high-level synthesis. ACM Trans. Des. Autom. Electron. Syst. 3, 2, 162--180. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Zhaoxuan, S. and Chuen, J. C. 2002. Lower bound estimation of hardware resources for scheduling in high-level synthesis. J. Compu. Sci. Technol. 17, 6, 718--730. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Speeding-up heuristic allocation, scheduling and binding with SAT-based abstraction/refinement techniques

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Design Automation of Electronic Systems
        ACM Transactions on Design Automation of Electronic Systems  Volume 15, Issue 2
        February 2010
        294 pages
        ISSN:1084-4309
        EISSN:1557-7309
        DOI:10.1145/1698759
        Issue’s Table of Contents

        Copyright © 2010 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 2 March 2010
        • Accepted: 1 December 2009
        • Revised: 1 November 2009
        • Received: 1 July 2009
        Published in todaes Volume 15, Issue 2

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader