{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:18:04Z","timestamp":1750306684753,"version":"3.41.0"},"reference-count":23,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2015,5,11]],"date-time":"2015-05-11T00:00:00Z","timestamp":1431302400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100000038","name":"Natural Sciences and Engineering Research Council of Canada","doi-asserted-by":"publisher","award":["417430-11"],"award-info":[{"award-number":["417430-11"]}],"id":[{"id":"10.13039\/501100000038","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Reconfigurable Technol. Syst."],"published-print":{"date-parts":[[2015,5,19]]},"abstract":"<jats:p>\n            We consider the impact of compiler optimizations on the quality of high-level synthesis (HLS)-generated field-programmable gate array (FPGA) hardware. Using an HLS tool implemented within the state-of-the-art LLVM compiler, we study the effect of compiler optimizations on the hardware metrics of circuit area, execution cycles,\n            <jats:italic>FMax<\/jats:italic>\n            , and wall-clock time. We evaluate 56 different compiler optimizations implemented within LLVM and show that some optimizations significantly affect hardware quality. Moreover, we show that hardware quality is also affected by some optimization parameter values, as well as the order in which optimizations are applied. We then present a new HLS-directed approach to compiler optimizations, wherein we execute\n            <jats:italic>partial<\/jats:italic>\n            HLS and profiling at intermittent points in the optimization process and use the results to judiciously undo the impact of optimization passes predicted to be damaging to the generated hardware quality. Results show that our approach produces circuits with 16% better speed performance, on average, versus using the standard -O3 optimization level.\n          <\/jats:p>","DOI":"10.1145\/2629547","type":"journal-article","created":{"date-parts":[[2015,5,12]],"date-time":"2015-05-12T12:18:00Z","timestamp":1431433080000},"page":"1-26","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":28,"title":["The Effect of Compiler Optimizations on High-Level Synthesis-Generated Hardware"],"prefix":"10.1145","volume":"8","author":[{"given":"Qijing","family":"Huang","sequence":"first","affiliation":[{"name":"Department of Electrical and Computer Engineering, University of Toronto, Toronto, Ontario, Canada"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ruolong","family":"Lian","sequence":"additional","affiliation":[{"name":"Department of Electrical and Computer Engineering, University of Toronto, Toronto, Ontario, Canada"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Andrew","family":"Canis","sequence":"additional","affiliation":[{"name":"Department of Electrical and Computer Engineering, University of Toronto, Toronto, Ontario, Canada"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jongsok","family":"Choi","sequence":"additional","affiliation":[{"name":"Department of Electrical and Computer Engineering, University of Toronto, Toronto, Ontario, Canada"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ryan","family":"Xi","sequence":"additional","affiliation":[{"name":"Department of Electrical and Computer Engineering, University of Toronto, Toronto, Ontario, Canada"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Nazanin","family":"Calagar","sequence":"additional","affiliation":[{"name":"Department of Electrical and Computer Engineering, University of Toronto, Toronto, Ontario, Canada"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Stephen","family":"Brown","sequence":"additional","affiliation":[{"name":"Department of Electrical and Computer Engineering, University of Toronto, Toronto, Ontario, Canada"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jason","family":"Anderson","sequence":"additional","affiliation":[{"name":"Department of Electrical and Computer Engineering, University of Toronto, Toronto, Ontario, Canada"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2015,5,11]]},"reference":[{"volume-title":"Implementing FPGA Design with the OpenCL Standard. White Paper WP-01173-2.0","key":"e_1_2_1_1_1","unstructured":"Altera. 2012a. Implementing FPGA Design with the OpenCL Standard. White Paper WP-01173-2.0 . Altera Corporation . Available at http:\/\/www.altera.com\/literature\/wp\/wp-01173-opencl.pdf. Altera. 2012a. Implementing FPGA Design with the OpenCL Standard. White Paper WP-01173-2.0. Altera Corporation. Available at http:\/\/www.altera.com\/literature\/wp\/wp-01173-opencl.pdf."},{"volume-title":"Cyclone-II FPGA Family Datasheet","key":"e_1_2_1_2_1","unstructured":"Altera. 2012b. Cyclone-II FPGA Family Datasheet . Altera Corporation . Altera. 2012b. Cyclone-II FPGA Family Datasheet. Altera Corporation."},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/997163.997196"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/2514740"},{"key":"e_1_2_1_5_1","volume-title":"Proceedings of the International Workshop on Languages and Compilers for Parallel Computing. 143--157","author":"Cong Jason","year":"2012","unstructured":"Jason Cong , Bin Liu , Raghu Prabhakar , and Peng Zhang . 2012 . A study on the impact of compiler optimizations on high-level synthesis . In Proceedings of the International Workshop on Languages and Compilers for Parallel Computing. 143--157 . Jason Cong, Bin Liu, Raghu Prabhakar, and Peng Zhang. 2012. A study on the impact of compiler optimizations on high-level synthesis. In Proceedings of the International Workshop on Languages and Compilers for Parallel Computing. 143--157."},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1146909.1147025"},{"key":"e_1_2_1_7_1","volume-title":"Proceedings of IEEE Design Automation and Test in Europe (DATE\u201910)","author":"Coussy Phillipe","year":"2010","unstructured":"Phillipe Coussy , Ghizlane Lhairech-Lebreton , Dominique Heller , and Eric Martin . 2010 . GAUT\u2014a free and open source high-level synthesis tool . In Proceedings of IEEE Design Automation and Test in Europe (DATE\u201910) . Phillipe Coussy, Ghizlane Lhairech-Lebreton, Dominique Heller, and Eric Martin. 2010. GAUT\u2014a free and open source high-level synthesis tool. In Proceedings of IEEE Design Automation and Test in Europe (DATE\u201910)."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10766-010-0161-2"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.1981.1675827"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.5555\/832285.835535"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2145694.2145712"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.2197\/ipsjjip.17.242"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2013.50"},{"key":"e_1_2_1_14_1","volume-title":"The LLVM Compiler. Infrastructure. Retrieved","author":"LLVM.","year":"2015","unstructured":"LLVM. 2010a. The LLVM Compiler. Infrastructure. Retrieved April 9, 2015 , from http:\/\/www.llvm.org. LLVM. 2010a. The LLVM Compiler. Infrastructure. Retrieved April 9, 2015, from http:\/\/www.llvm.org."},{"key":"e_1_2_1_15_1","volume-title":"LLVM Loop Unroll Pass. Retrieved","author":"LLVM.","year":"2015","unstructured":"LLVM. 2010b. LLVM Loop Unroll Pass. Retrieved April 9, 2015 , from http:\/\/www.llvm.org\/docs\/Passes.html#loop-unroll-unroll-loops. LLVM. 2010b. LLVM Loop Unroll Pass. Retrieved April 9, 2015, from http:\/\/www.llvm.org\/docs\/Passes.html#loop-unroll-unroll-loops."},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1088\/1742-6596\/256\/1\/012026"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/144965.144998"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2006.38"},{"volume-title":"Proceedings of the International Symposium on Code Generation and Optimization (CGO\u201903)","author":"Triantafyllis Spyridon","key":"e_1_2_1_19_1","unstructured":"Spyridon Triantafyllis , Manish Vachharajani , Neil Vachharajani , and David I. August . 2003. Compiler optimization-space exploration . In Proceedings of the International Symposium on Code Generation and Optimization (CGO\u201903) . 204--215. Spyridon Triantafyllis, Manish Vachharajani, Neil Vachharajani, and David I. August. 2003. Compiler optimization-space exploration. In Proceedings of the International Symposium on Code Generation and Optimization (CGO\u201903). 204--215."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2010.28"},{"key":"e_1_2_1_21_1","first-page":"13","article-title":"Iterative modulo scheduling","volume":"24","author":"Rau B. Ramakrishna","year":"1996","unstructured":"B. Ramakrishna Rau . 1996 . Iterative modulo scheduling . International Journal of Parallel Processing 24 , 13 -- 64 . B. Ramakrishna Rau. 1996. Iterative modulo scheduling. International Journal of Parallel Processing 24, 13--64.","journal-title":"International Journal of Parallel Processing"},{"key":"e_1_2_1_22_1","unstructured":"Xilinx. 2013. C-Based Design: High-Level Synthesis with the Vivado HLS Tool. Technical Report. Xilinx Incorporated. Available at http:\/\/www.xilinx.com\/training\/dsp\/high-level-synthesis-with-vivado-hls.htm.  Xilinx. 2013. C-Based Design: High-Level Synthesis with the Vivado HLS Tool. Technical Report. Xilinx Incorporated. Available at http:\/\/www.xilinx.com\/training\/dsp\/high-level-synthesis-with-vivado-hls.htm."},{"key":"e_1_2_1_23_1","volume-title":"Y Explorations\u2014C to RTL Behavioral Synthesis. Retrieved","author":"Explorations Y.","year":"2015","unstructured":"Y. Explorations . 2012. Y Explorations\u2014C to RTL Behavioral Synthesis. Retrieved April 9, 2015 , from http:\/\/www.yxi.com. Y. Explorations. 2012. Y Explorations\u2014C to RTL Behavioral Synthesis. Retrieved April 9, 2015, from http:\/\/www.yxi.com."}],"container-title":["ACM Transactions on Reconfigurable Technology and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2629547","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2629547","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T07:01:18Z","timestamp":1750230078000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2629547"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015,5,11]]},"references-count":23,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2015,5,19]]}},"alternative-id":["10.1145\/2629547"],"URL":"https:\/\/doi.org\/10.1145\/2629547","relation":{},"ISSN":["1936-7406","1936-7414"],"issn-type":[{"type":"print","value":"1936-7406"},{"type":"electronic","value":"1936-7414"}],"subject":[],"published":{"date-parts":[[2015,5,11]]},"assertion":[{"value":"2013-09-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2014-04-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2015-05-11","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}