Abstract
Complexities of applications implemented on embedded and programmable systems grow with the advances in capacities and capabilities of these systems. Mapping applications onto them manually is becoming a very tedious task. This draws attention to using high-level synthesis within design flows. Meanwhile, it is essential to provide a flexible formulation of optimization objectives as well as to perform efficient planning for various design objectives early on in the design flow. In this work, we address these issues in the context of data flow graph (DFG) scheduling, which is an essential element within the high-level synthesis flow. We present an algorithm that schedules a chain of operations with data dependencies among consecutive operations at a single step. This local problem is repeated to generate the schedule for the whole DFG. The local problem is formulated as a maximum weight noncrossing bipartite matching. We use a technique from the computational geometry domain to solve the matching problem. This technique provides a theoretical guarantee on the solution quality for scheduling a single chain of operations. Although still being local, this provides a relatively wider perspective on the global scheduling objectives. In our experiments we compared the latencies obtained using our algorithm with the optimal latencies given by the exact solution to the integer linear programming (ILP) formulation of the problem. In 9 out of 14 DFGs tested, our algorithm found the optimal solution, while generating latencies comparable to the optimal solution in the remaining five benchmarks. The formulation of the objective function in our algorithm provides flexibility to incorporate different optimization goals. We present examples of how to exploit the versatility of our algorithm with specific examples of objective functions and experimental results on the ability of our algorithm to capture these objectives efficiently in the final schedules.
- Actel. Visit the Web site http://varicore.actel.com.Google Scholar
- Altera Corp. Visit the Web site http://www.altera.com/products/prd-index.html.Google Scholar
- Atallah, M. J. and Kosaraju, S. R. 1989. An efficient algorithm for maxdominance with applications. Algorithmica 4, 2, 221--236.Google ScholarCross Ref
- Camposano, R. 1991. Path-based scheduling for synthesis. IEEE Trans. Comput.-Aided Des. 10, 85--93.Google ScholarDigital Library
- Chameleon Systems. Visit the Web site www.chameleonsystems.com.Google Scholar
- Cloutier, R. and Thomas, D. 1990. The combination of scheduling, allocation and mapping in a single algorithm. Proceedings of the Design Automation Conference. Google Scholar
- Cormen, T. H., Leiserson, C. E., and Rivest, R. L. 1990. Introduction to Algorithms. MIT Press, Cambridge, MA. Google Scholar
- Fisher, J. A. 1981. Trace scheduling: A technique for global microcode compaction. IEEE Trans. Comput. 30, 7, 478--490.Google ScholarDigital Library
- Gokhale, M. B., Stone, J. M., Arnold, J., and Kalinowski, M. 2000. Stream-oriented FPGA computing in the streams-c high level language. In Proceedings of the IEEE Symposium on Field-Programmable Custom Computing Machines. Google Scholar
- Haldar, M., Nayak, A., Choudhary, A., and Banerjee, P. 2001. A system for synthesizing optimized FPGA hardware from matlab. In Proceedings of the International Conference on Computer Aided Design. Google Scholar
- Hammes, J., Rinker, R., Bohm, W., Najjar, W., Draper, B., and Beveridge, R. 1999. Cameron: High-level language compilation for reconfigurable systems. In Proceedings of the Conference on Parallel Architectures and Compilation Techniques. Google Scholar
- Hauck, S., Fry, T. W., Hosler, M. M., and Kao, J. P. 1997. The Chimaera reconfigurable functional unit. In Proceedings of the IEEE Symposium on FPGAs for Custom Computing Machines. Google Scholar
- Hwu, W. W., Haab, G. E., Holm, J. G., Lavery, D. M., Mahlke, S. A., Chen, W. Y., Chang, P. P., Warter, N. J., Bringmann, R. A., Ouellette, R. G., Hank, R. E., and Kiyohara, T. 1993. The superblock: An effective structure for vliw and superscalar compilation. J. Supercomput. 7, 1--2, 229--248. Google ScholarDigital Library
- Kastner, R., Memik, S. O., Bozorgzadeh, E., and Sarrafzadeh, M. 2001. Instruction generation for hybrid reconfigurable systems. In Proceedings of the International Conference on Computer-Aided Design. Google Scholar
- Kramer, H. and Rosenstiel, W. 1990. System synthesis using behavioral descriptions. In Proceedings of the European Design Automation Conference. Google Scholar
- Lee, D. T. 1996. "Computational geometry". In The Computer Science and Engineering Handbook, Chap. 6, Allen B. Tucker, Ed. CRC Press, Boca Raton, FL.Google Scholar
- Lee, C., Potkonjak, M., and Mangione-Smith, W. H. 1997. Mediabench: A tool for evaluating and synthesizing multimedia and communications systems. In Proceedings of the International Symposium on Microarchitecture. Google ScholarDigital Library
- Lucent Technologies. Lucent technologies announces high-speed communications cores for customizing ORCA FPGAs.Google Scholar
- Mahlke, S. A., Lin, D. C., Chen, W. Y., Hank, R. E., and Bringmann, R. A. 1992. Effective compiler support for predicated execution using the hyperblock. In Proceedings of the International Symposium on Microarchitecture. Google Scholar
- McFarland, M. C. 1986. Using bottom-up design techniques in the synthesis of digital hardware from abstract behavioral descriptions. In Proceedings of the Design Automation Conference. Google Scholar
- McFarland, M. C., Parker, A. C., and Camposano, R. 1988. Tutorial on high-level synthesis. In Proceedings of the Design Automation Conference. Google Scholar
- Monteiro, J., Devadas, S., Ashar, P., and Mauskar, A. 1996. Scheduling techniques to enable power management. In Proceedings of the Design Automation Conference. Google Scholar
- Musoll, E. and Cortadella, J. 1995. Scheduling and resource binding for low power. In Proceedings of the International Symposium on System Synthesis. Google Scholar
- Pangrle, B. M. and Gajski, D. 1987. Design tools for intelligent silicon compilation. IEEE Trans. Comput.-Aided Des. 6, 6, 1098--1112.Google ScholarDigital Library
- Parker, A. C., Pizarro, J., and Mlinar, M. 1986. Maha: A program for datapath synthesis. In Proceedings of the Design Automation Conference. Google Scholar
- Paulin, P. G. and Knight, J. P. 1987. Force directed scheduling in automatic data path synthesis. In Proceedings of the International Conference on Computer Design. Google Scholar
- Paulin, P. J. and Knight, J. P. 1989. Force directed scheduling for behavioral synthesis of asics. IEEE Transactions on Comput.-Aided Des. 8, 6, 661--679.Google ScholarCross Ref
- Potasman, J., Lis, J., Nicolau, A., and Gajski, D. 1990. Percolation based synthesis. In Proceedings of the Design Automation Conference. Google Scholar
- Schreiber, R., Aditya, S. G., Rau, B. R., Mahlke, S., Kathail, V., Cronquist, D., and Sivaraman, M. 2002. Pico-npa high-level syntesis of nonprogrammable hardware accelerators. J. VLSI Signal Process. 31, 2, 127--142. Google ScholarDigital Library
- Shiue, W. and Chakrabarti, C. 2000. Low-power scheduling with resources operating at multiple voltages. IEEE Trans. Circ. Syst. II: Analog Digital Sign. Process. 47, 6, 536--543.Google ScholarCross Ref
- So, B., Hall, M., and Diniz, P. 2002. A compiler approach to fast design space exploration in fpga-based systems. In Proceedings of the Conference on Programming Language Design and Implementation. Google Scholar
- Srivastava, A., Memik, S. O., Choi, B. K., and Sarrafzadeh, M. 2003. Achieving design closure through delay relaxation parameter. In Proceedings of the International Symposium on Computer Aided Design. Google Scholar
- Thomas, D. E., Lagnese, E. D., Walker, R. A., Nestor, J. A., Rajan, J. V., and Blackburn, R. L. 1990. Algorithmic and Register Transfer Level Synthesis: The System Architect's Workbench. Kluwer Academic Publishers, Norwell, MA. Google Scholar
- Timmer, A. H. and Jess, J. A. G. 1995. Exact scheduling strategies based on bipartite graph matching. In Proceedings of the European Design and Test Conference. Google Scholar
- Wazlowski, M., Agarwal, L., Lee, T., Smith, A., Lam, E., Athanas, P., Silverman, H., and Gosh, S. 1993. Prism-ii compiler and architecture. In Proceedings of the IEEE Workshop on FPGAs for Custom Computing Machines.Google Scholar
- Wong, J. L., Megerian, S., and Potkonjak, M. 2002. Forward-looking objective functions: Concepts and applications in high level synthesis. In Proceedings of the Design Automation Conference. Google Scholar
- Xilinx, Inc. Visit the Web site www.xilinx.com/apps/appsweb.htm.Google Scholar
Index Terms
- A scheduling algorithm for optimization and early planning in high-level synthesis
Recommendations
An Equivalence-Checking Method for Scheduling Verification in High-Level Synthesis
A formal method for checking equivalence between a given behavioral specification prior to scheduling and the one produced by the scheduler is described. Finite state machine with data path (FSMD) models have been used to represent both the behaviors. ...
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 ...
High-Level Synthesis: Past, Present, and Future
Editor's note:This article presents the history and evolution of HLS from research to industry adoption. The authors offer insights on why earlier attempts to gain industry adoption were not successful, why current HLS tools are finally seeing adoption, ...
Comments