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.
- Aho, A. V., Sethi, R., and Ullman, J. D. 1986. Compilers: Principles, Techniques, and Tools. Addison-Wesley Longman Publishing, Boston, MA. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Büning, H. K., Karpinski, M., and Flögel, A. 1995. Resolution for quantified boolean formulas. Inf. Comput. 117, 1, 12--18. Google ScholarDigital Library
- 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 ScholarDigital Library
- Camposano, R. 1991. Path-Based scheduling for synthesis. IEEE Trans. Comput.-Aided Des. Integr. Circ. Syst. 10, 1, 85--93.Google ScholarDigital Library
- 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 ScholarDigital Library
- Chaudhuri, S. and Walker, R. A. 1994. Computing lower bounds on functional units before scheduling. IEEE Trans. VLSI Syst. 36--41.Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- Davis, M., Logemann, G., and Loveland, D. 1962. A machine procedure for theorem-proving. J. ACM 5, 394--397. Google ScholarDigital Library
- Davis, M. and Putnam, H. 1960. A computing procedure for quantification theory. J. ACM 7, 201--215. Google ScholarDigital Library
- De Micheli, G. 1994. Synthesis and Optimization of Digital Circuits. McGraw-Hill Higher Education. Google ScholarDigital Library
- Eén, N. and Sörensson, N. 2003a. Temporal induction by incremental SAT solving. Electron. Not. Theor. Comput. Sci. 89, 4.Google Scholar
- Eén, N. and Sörensson, N. 2003b. The minisat SAT solver. http://www.cs.chalmers.se/Cs/Research/FormalMethods/MiniSat/.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Haynal, S. P. 2000. Automata-Based symbolic scheduling. Ph.D. thesis. Google ScholarDigital Library
- Hennessy, J. L. and Patterson, D. A. 2002. Computer Architecture: A Quantitative Approach. Morgan Kaufmann. Google ScholarDigital Library
- Hooker, J. N. 1993. Solving the incremental satisfiability problem. J. Logic Program. 15, 1-2, 177--186. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
Index Terms
- Speeding-up heuristic allocation, scheduling and binding with SAT-based abstraction/refinement techniques
Recommendations
Layout-driven RTL binding techniques for high-level synthesis
ISSS '96: Proceedings of the 9th international symposium on System synthesisThe importance of effective and efficient accounting of layout effects is well-established in high-level synthesis (HLS), since it allows more realistic exploration of the design space and the generation of solutions with predictable metrics. This ...
Simultaneous Scheduling, Allocation, Binding, Re-ordering, and Encoding for Crosstalk Pattern Minimization during High Level Synthesis
ISVLSI '08: Proceedings of the 2008 IEEE Computer Society Annual Symposium on VLSIOn chip signal crosstalk is a function of switching activity pattern, coupling parasitics, and signal timing. We propose a Simulated Annealing (SA) based high-level synthesis algorithm for crosstalk activity minimization for a given data environment. We ...
Stability-based algorithms for high-level synthesis of digital ASICs
This paper presents new algorithms for the scheduling and allocation phases in high-level synthesis under time and resource constraints. This is achieved by formulating these problems in terms of Liapunov's stability theorem using a transformation ...
Comments