{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:15:07Z","timestamp":1750220107345,"version":"3.41.0"},"reference-count":38,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2022,12,14]],"date-time":"2022-12-14T00:00:00Z","timestamp":1670976000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Reconfigurable Technol. Syst."],"published-print":{"date-parts":[[2022,12,31]]},"abstract":"<jats:p>\n            In this article, we present\n            <jats:italic>Syncopation<\/jats:italic>\n            , a performance-boosting fine-grained timing analysis and adaptive clock management technique for High-Level Synthesis-generated circuits implemented on Field-Programmable Gate Arrays. The key idea is to use the HLS scheduling information along with the placement and routing results to determine the worst-case timing path for individual clock cycles. By adjusting the clock period on a cycle-by-cycle basis, we can increase performance of an HLS-generated circuit. Our experiments show that Syncopation improves performance by 3.2% (geomean) across all benchmarks (up to 47%). In addition, by employing targeted synthesis techniques along with Syncopation, we can achieve 10.3% performance improvement (geomean) across all benchmarks (up to 50%). Syncopation instrumentation is implemented entirely in soft logic without requiring alterations to the HLS-synthesis toolchain or changes to the FPGA, and has been validated on real hardware.\n          <\/jats:p>","DOI":"10.1145\/3520140","type":"journal-article","created":{"date-parts":[[2022,5,30]],"date-time":"2022-05-30T10:00:34Z","timestamp":1653904834000},"page":"1-32","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Adaptive Clock Management of HLS-generated Circuits on FPGAs"],"prefix":"10.1145","volume":"15","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-4557-0317","authenticated-orcid":false,"given":"Kahlan","family":"Gibson","sequence":"first","affiliation":[{"name":"University of British Columbia, Vancouver, British Columbia, Canada"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1905-9577","authenticated-orcid":false,"given":"Esther","family":"Roorda","sequence":"additional","affiliation":[{"name":"University of British Columbia, Vancouver, British Columbia, Canada"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-1043-0920","authenticated-orcid":false,"given":"Daniel Holanda","family":"Noronha","sequence":"additional","affiliation":[{"name":"University of British Columbia, Vancouver, British Columbia, Canada"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1241-6690","authenticated-orcid":false,"given":"Steven J. E.","family":"Wilton","sequence":"additional","affiliation":[{"name":"University of British Columbia, Vancouver, British Columbia, Canada"}]}],"member":"320","published-online":{"date-parts":[[2022,12,14]]},"reference":[{"key":"e_1_3_2_2_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.micpro.2006.02.006"},{"key":"e_1_3_2_3_2","doi-asserted-by":"publisher","DOI":"10.1145\/2514740"},{"key":"e_1_3_2_4_2","doi-asserted-by":"publisher","DOI":"10.1109\/CICC.2010.5617392"},{"volume-title":"International Conference on Field-Programmable Technology (ICFPT)","author":"Chen Y. T.","key":"e_1_3_2_5_2","unstructured":"Y. T. Chen, J. H. Kim, K. Li, G. Hoyes, and J. H. Anderson. n.d. High-level synthesis techniques to generate deeply pipelined circuits for FPGAs with registered routing. In International Conference on Field-Programmable Technology (ICFPT)."},{"key":"e_1_3_2_6_2","doi-asserted-by":"publisher","DOI":"10.1145\/3373087.3375297"},{"key":"e_1_3_2_7_2","doi-asserted-by":"publisher","DOI":"10.1109\/ESSCIRC.2016.7598292"},{"key":"e_1_3_2_8_2","doi-asserted-by":"publisher","DOI":"10.1109\/FPT.2018.00020"},{"key":"e_1_3_2_9_2","doi-asserted-by":"publisher","DOI":"10.1109\/FPT.2009.5377666"},{"key":"e_1_3_2_10_2","doi-asserted-by":"publisher","DOI":"10.23919\/DATE.2018.8341975"},{"key":"e_1_3_2_11_2","doi-asserted-by":"publisher","DOI":"10.1109\/12.55696"},{"key":"e_1_3_2_12_2","doi-asserted-by":"publisher","DOI":"10.7873\/DATE.2015.0853"},{"key":"e_1_3_2_13_2","volume-title":"30th International Conference on Field Programmable Logic and Applications (FPL)","author":"Gibson K.","year":"2020","unstructured":"K. Gibson, E. Roorda, D. H. Noronha, and S. Wilton. 2020. Syncopation: Adaptive clock management for HLS-generated circuits on FPGAs. In 30th International Conference on Field Programmable Logic and Applications (FPL)."},{"key":"e_1_3_2_14_2","doi-asserted-by":"publisher","DOI":"10.1109\/ASICON47005.2019.8983520"},{"key":"e_1_3_2_15_2","doi-asserted-by":"publisher","DOI":"10.7873\/DATE.2015.0512"},{"key":"e_1_3_2_16_2","article-title":"Understanding how the new Intel Hyperflex FPGA architecture enables next-generation high-performance systems","author":"Hutton Mike","year":"2017","unstructured":"Mike Hutton. 2017. Understanding how the new Intel Hyperflex FPGA architecture enables next-generation high-performance systems. Retrieved from https:\/\/www.intel.com\/content\/dam\/www\/programmab le\/us\/en\/pdfs\/literature\/wp\/wp-01231-understanding-how-hyperflex-architecture- enables-high-performance-systems.pdf.","journal-title":"Retrieved from https:\/\/www.intel.com\/content\/dam\/www\/programmab le\/us\/en\/pdfs\/literature\/wp\/wp-01231-understanding-how-hyperflex-architecture- enables-high-performance-systems.pdf"},{"key":"e_1_3_2_17_2","article-title":"Verilog HDL Synthesis Attributes and Directives","year":"2017","unstructured":"Intel. 2017. Verilog HDL Synthesis Attributes and Directives. Retrieved from https:\/\/www.intel.com\/content\/www\/us\/en\/programm able\/quartushelp\/17.0\/hdl\/vlog\/vlog_file_dir.htm.","journal-title":"Retrieved from https:\/\/www.intel.com\/content\/www\/us\/en\/programm able\/quartushelp\/17.0\/hdl\/vlog\/vlog_file_dir.htm"},{"key":"e_1_3_2_18_2","article-title":"Intel\u00ae Quartus\u00ae Prime Pro Edition User Guide: Design Optimization","year":"2020","unstructured":"Intel. 2020. Intel\u00ae Quartus\u00ae Prime Pro Edition User Guide: Design Optimization. Retrieved from https:\/\/www.intel.com\/content\/dam\/www\/programmab le\/us\/en\/pdfs\/literature\/ug\/ug-qpp-design-optimization.pdf.","journal-title":"Retrieved from https:\/\/www.intel.com\/content\/dam\/www\/programmab le\/us\/en\/pdfs\/literature\/ug\/ug-qpp-design-optimization.pdf"},{"key":"e_1_3_2_19_2","doi-asserted-by":"publisher","DOI":"10.1145\/3316781.3317899"},{"key":"e_1_3_2_20_2","doi-asserted-by":"publisher","DOI":"10.1109\/ISSCC.2019.8662389"},{"key":"e_1_3_2_21_2","doi-asserted-by":"publisher","DOI":"10.1109\/JSSC.2019.2912510"},{"key":"e_1_3_2_22_2","doi-asserted-by":"publisher","DOI":"10.1109\/ACSSC.2017.8335150"},{"key":"e_1_3_2_23_2","doi-asserted-by":"publisher","DOI":"10.1145\/3174243.3174264"},{"key":"e_1_3_2_24_2","doi-asserted-by":"publisher","DOI":"10.1109\/FPL.2013.6645540"},{"journal-title":"Retrieved from http:\/\/legup.eecg.utoronto.ca\/docs\/4.0\/programme rmanual.html","article-title":"LegUp 4.0 Programmer\u2019s Manual","key":"e_1_3_2_25_2","unstructured":"Legup. LegUp 4.0 Programmer\u2019s Manual. Retrieved from http:\/\/legup.eecg.utoronto.ca\/docs\/4.0\/programme rmanual.html."},{"key":"e_1_3_2_26_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICCAD45719.2019.8942136"},{"key":"e_1_3_2_27_2","doi-asserted-by":"publisher","DOI":"10.1109\/FPT.2018.00034"},{"key":"e_1_3_2_28_2","doi-asserted-by":"publisher","DOI":"10.1109\/43.238604"},{"key":"e_1_3_2_29_2","doi-asserted-by":"publisher","DOI":"10.1109\/ISCAS.2007.378817"},{"key":"e_1_3_2_30_2","doi-asserted-by":"crossref","first-page":"325","DOI":"10.1109\/ISVLSI.2016.13","volume-title":"IEEE Computer Society Annual Symposium on VLSI (ISVLSI)","author":"Ragavan R.","year":"2016","unstructured":"R. Ragavan, C. Killian, and O. Sentieys. 2016. Adaptive overclocking and error correction based on dynamic speculation window. In IEEE Computer Society Annual Symposium on VLSI (ISVLSI). 325\u2013330."},{"key":"e_1_3_2_31_2","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2018.00026"},{"key":"e_1_3_2_32_2","first-page":"290","volume-title":"IEEE Computer Society Annual Symposium on VLSI","author":"Ram D. S. H.","year":"2011","unstructured":"D. S. H. Ram, M. C. Bhuvaneswari, and S. M. Logesh. 2011. A novel evolutionary technique for multi-objective power, area and delay optimization in high level synthesis of datapaths. In IEEE Computer Society Annual Symposium on VLSI. 290\u2013295."},{"key":"e_1_3_2_33_2","doi-asserted-by":"crossref","first-page":"29","DOI":"10.1109\/FCCM.2013.10","volume-title":"IEEE 21st Annual International Symposium on Field-Programmable Custom Computing Machines","author":"Shi K.","year":"2013","unstructured":"K. Shi, D. Boland, and G. A. Constantinides. 2013. Accuracy-performance tradeoffs on an FPGA through overclocking. In IEEE 21st Annual International Symposium on Field-Programmable Custom Computing Machines. 29\u201336."},{"key":"e_1_3_2_34_2","doi-asserted-by":"publisher","DOI":"10.1145\/2593069.2593118"},{"key":"e_1_3_2_35_2","doi-asserted-by":"publisher","DOI":"10.1145\/503048.503067"},{"key":"e_1_3_2_36_2","doi-asserted-by":"publisher","DOI":"10.1145\/3373087.3375353"},{"key":"e_1_3_2_37_2","doi-asserted-by":"publisher","DOI":"10.1109\/ISCAS.2008.4541637"},{"key":"e_1_3_2_38_2","doi-asserted-by":"publisher","DOI":"10.1109\/FPL.2013.6645541"},{"key":"e_1_3_2_39_2","first-page":"269","volume-title":"ACM\/SIGDA International Symposium on Field-Programmable Gate Arrays","author":"Zhou Yuan","year":"2018","unstructured":"Yuan Zhou, Udit Gupta, Steve Dai, Ritchie Zhao, Nitish Srivastava, Hanchen Jin, Joseph Featherston, Yi-Hsiang Lai, Gai Liu, Gustavo Angarita Velasquez, et\u00a0al. 2018. Rosetta: A realistic high-level synthesis benchmark suite for software programmable FPGAs. In ACM\/SIGDA International Symposium on Field-Programmable Gate Arrays. 269\u2013278."}],"container-title":["ACM Transactions on Reconfigurable Technology and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3520140","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3520140","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T18:10:32Z","timestamp":1750183832000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3520140"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,12,14]]},"references-count":38,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2022,12,31]]}},"alternative-id":["10.1145\/3520140"],"URL":"https:\/\/doi.org\/10.1145\/3520140","relation":{},"ISSN":["1936-7406","1936-7414"],"issn-type":[{"type":"print","value":"1936-7406"},{"type":"electronic","value":"1936-7414"}],"subject":[],"published":{"date-parts":[[2022,12,14]]},"assertion":[{"value":"2021-09-14","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2022-02-20","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2022-12-14","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}