ABSTRACT
This paper considers the role of performance and area estimates from behavioral synthesis in design space exploration. We have developed a compilation system that automatically maps high-level algorithms written in C to application-specific designs for Field Programmable Gate Arrays (FPGAs), through a collaboration between parallelizing compiler technology and high-level synthesis tools. Using several code transformations, the compiler optimizes a design to increase parallelism and utilization of external memory bandwidth, and selects the best design among a set of candidates. Performance and area estimates from behavioral synthesis provide feedback to the compiler to guide this selection. Estimates can be derived far more quickly (up to several orders of magnitude faster) than full synthesis and place-and-route, thus allowing the compiler to consider many more designs than would otherwise be practical. In this paper, we examine the accuracy of the estimates from behavioral synthesis as compared to the fully synthesized designs for a collection of 209 designs for five multimedia kernels. Though the estimates are not completely accurate, our results show that the same design would be selected by the design space exploration algorithm, whether we use estimates or actual results from place-and-route, because it favors smaller designs and only increases complexity when the benefit is significant.
- Annapolis Microsystems Inc. WildStar TM Reconfigurable Computing Engines. User's Manual, r3.3 edition, 1999.]]Google Scholar
- S. Carr and K. Kennedy. Improving the ratio of memory operations to floating-point operations in a loop. ACM Trans. Program. Lang. Syst. (TOPLAS), 16(6):1768--1810, Nov. 1994.]] Google ScholarDigital Library
- S. Derrien and S. Rajopadhye. Loop tiling for reconfigurable accelerators. In Proc. of the Eleventh Intl. Symp. on Field Programmable Logic, 2001.]] Google ScholarDigital Library
- P. Diniz, M. Hall, J. Park, B. So, and H. Ziegler. Bridging the Gap between Compilation and Synthesis in the DEFACTO System. In Proc. of the 14th Workshop on Languages and Compilers for Parallel Computing (LCPC'01), Berlin, 2001. Springer Verlag.]]Google Scholar
- A. Halambi, P. Grun, V. Ganesh, A. Khare, N. Dutt, and A. Nicolau. EXPRESSION: A Language for Architecture Exploration through Compiler/Simulator Retargetability. In Proc. of the Conf, on Design Automation and Test Europe (DATE99), March 1999.]] Google ScholarDigital Library
- V. Kathail, S. Aditya, R. Schreiber, B. Rau, D. Cronquist, and M. Sivaraman. PICO: Automatically Designing Custom Computers. In IEEE Computer, pages 39--47, Sept. 2002.]] Google ScholarDigital Library
- Mentor Graphics Inc. Monet TM User's Manual, 2002.]]Google Scholar
- B. So, M. Hall, and P. Diniz. A Compiler Approach to Fast Hardware Design Space Exploration in FPGA-based Systems. In Proc. of the 2002 Conf. on Programming Languages Design and Implementation (PLDI'02). ACM Press, June 2002.]] Google ScholarDigital Library
- B. So, H. Ziegler, and M. Hall. A Compiler Support for Custom Data Layout. In Proc. of the 15th Workshop on Languages and Compilers for Parallel Computing (LCPC'02), Berlin, 2002. Springer Verlag.]]Google Scholar
- Synopsys Inc. Behavioral Compiler TM. User's Guide, http://www.synopsys.com/products/beh_syn/ beh_syn_br.html, 1999.]]Google Scholar
- Synopsys Inc. CoCentric TM Data Sheet, http://www.synopsis.com/products/cocentric_studio/ cocentric_studio.html, 2002.]]Google Scholar
- M. Weinhardt. Compilation and pipeline synthesis for reconfigurable architectures. In Proc. of the 1997 Reconfigurable Architecture Workshop (RAW'97). Springer Verlag, 1997.]]Google Scholar
Index Terms
- Using estimates from behavioral synthesis tools in compiler-directed design space exploration
Recommendations
Accelerating FPGA Prototyping through Predictive Model-Based HLS Design Space Exploration
DAC '19: Proceedings of the 56th Annual Design Automation Conference 2019One of the advantages of High-Level Synthesis (HLS), also called C-based VLSI-design, over traditional RT-level VLSI design flows, is that multiple micro-architectures of unique area vs. performance can be automatically generated by setting different ...
Learning from the Past: Efficient High-level Synthesis Design Space Exploration for FPGAs
The quest to democratize the use of Field-Programmable Gate Arrays (FPGAs) has given High-Level Synthesis (HLS) the final push to be widely accepted with FPGA vendors strongly supporting this VLSI design methodology to expand the FPGA user base. HLS takes ...
Fast Parallel High-Level Synthesis Design Space Explorer: Targeting FPGAs to accelerate ASIC Exploration
GLSVLSI '22: Proceedings of the Great Lakes Symposium on VLSI 2022Raising the level of VLSI design abstraction to the behavioral level allows to generate different micro-architectures from the same behavioral description by simply setting different synthesis options. These are typically synthesis directives in the ...
Comments