{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,10]],"date-time":"2026-06-10T03:34:45Z","timestamp":1781062485529,"version":"3.54.1"},"reference-count":184,"publisher":"Institute of Electrical and Electronics Engineers (IEEE)","license":[{"start":{"date-parts":[[2020,1,1]],"date-time":"2020-01-01T00:00:00Z","timestamp":1577836800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/legalcode"}],"funder":[{"name":"Maritime Division of the Defence Science and Technology Group, Australia"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["IEEE Access"],"published-print":{"date-parts":[[2020]]},"DOI":"10.1109\/access.2020.3024098","type":"journal-article","created":{"date-parts":[[2020,9,14]],"date-time":"2020-09-14T21:10:39Z","timestamp":1600117839000},"page":"174692-174722","source":"Crossref","is-referenced-by-count":43,"title":["Towards Automatic High-Level Code Deployment on Reconfigurable Platforms: A Survey of High-Level Synthesis Tools and Toolchains"],"prefix":"10.1109","volume":"8","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-3110-6436","authenticated-orcid":false,"given":"Mostafa W.","family":"Numan","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8288-4791","authenticated-orcid":false,"given":"Braden J.","family":"Phillips","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4935-0186","authenticated-orcid":false,"given":"Gavin S.","family":"Puddy","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-0309-4332","authenticated-orcid":false,"given":"Katrina","family":"Falkner","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"263","reference":[{"key":"ref170","doi-asserted-by":"publisher","DOI":"10.1145\/2684746.2689087"},{"key":"ref172","doi-asserted-by":"publisher","DOI":"10.23919\/FPL.2017.8056800"},{"key":"ref171","doi-asserted-by":"publisher","DOI":"10.1109\/FPL.2016.7577371"},{"key":"ref174","doi-asserted-by":"publisher","DOI":"10.1016\/j.jpdc.2018.02.012"},{"key":"ref173","doi-asserted-by":"publisher","DOI":"10.1109\/FPT.2018.00072"},{"key":"ref176","doi-asserted-by":"publisher","DOI":"10.23919\/DATE.2019.8715190"},{"key":"ref175","article-title":"GCC-plugin for automated accelerator generation and integration on hybrid FPGA-SoCs","author":"vogt","year":"2015","journal-title":"arXiv 1509 00025"},{"key":"ref178","doi-asserted-by":"publisher","DOI":"10.23919\/DATE.2019.8714724"},{"key":"ref177","doi-asserted-by":"publisher","DOI":"10.1109\/FPT.2018.00075"},{"key":"ref168","doi-asserted-by":"publisher","DOI":"10.1155\/2019\/2624938"},{"key":"ref169","doi-asserted-by":"publisher","DOI":"10.1145\/1496909.1496921"},{"key":"ref39","first-page":"147","author":"coussy","year":"2008","journal-title":"GAUT A High-Level Synthesis Tool for DSP Applications"},{"key":"ref38","year":"2020","journal-title":"University of California Riverside"},{"key":"ref33","year":"2020","journal-title":"Y Explorations"},{"key":"ref32","year":"2020","journal-title":"Stratus High-Level Synthesis"},{"key":"ref31","year":"2020","journal-title":"C-to-Silicon Compiler Cadence"},{"key":"ref30","first-page":"75","author":"meredith","year":"2008","journal-title":"High-Level SystemC Synthesis with Forte&#x2019;s Cynthesizer"},{"key":"ref37","first-page":"191","author":"najjar","year":"2016","journal-title":"ROCCC 2 0"},{"key":"ref36","year":"2020","journal-title":"Catapult High-Level Synthesis"},{"key":"ref35","year":"2020","journal-title":"Intel HLS compiler"},{"key":"ref34","doi-asserted-by":"publisher","DOI":"10.1109\/FPGA.1998.707890"},{"key":"ref181","doi-asserted-by":"publisher","DOI":"10.1109\/SCAM.2013.6648190"},{"key":"ref180","doi-asserted-by":"publisher","DOI":"10.23919\/FPL.2017.8056792"},{"key":"ref184","doi-asserted-by":"publisher","DOI":"10.1145\/3289602.3293907"},{"key":"ref183","doi-asserted-by":"publisher","DOI":"10.1109\/SmartCloud.2016.36"},{"key":"ref182","article-title":"HLS-FPGa-machine-learning\/hls4ml: v0.1.5","author":"tran","year":"2019"},{"key":"ref28","doi-asserted-by":"publisher","DOI":"10.1145\/1950413.1950423"},{"key":"ref27","doi-asserted-by":"publisher","DOI":"10.1109\/FPL.2012.6339221"},{"key":"ref179","article-title":"Hlslib: Software engineering for hardware design","author":"de fine licht","year":"2019","journal-title":"arXiv 1910 04436"},{"key":"ref29","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2015.2513673"},{"key":"ref20","doi-asserted-by":"publisher","DOI":"10.1145\/1749603.1749604"},{"key":"ref22","doi-asserted-by":"publisher","DOI":"10.1109\/ACCESS.2017.2727221"},{"key":"ref21","doi-asserted-by":"publisher","DOI":"10.1007\/s10617-012-9096-8"},{"key":"ref24","year":"2020","journal-title":"Intel FPGA SDK for OpenCL"},{"key":"ref23","year":"2020","journal-title":"Vivado High-Level Synthesis"},{"key":"ref101","doi-asserted-by":"publisher","DOI":"10.1002\/(SICI)1097-024X(199606)26:6<635::AID-SPE26>3.0.CO;2-P"},{"key":"ref26","doi-asserted-by":"publisher","DOI":"10.1109\/FPL.2013.6645550"},{"key":"ref100","doi-asserted-by":"publisher","DOI":"10.1145\/2897824.2925892"},{"key":"ref25","doi-asserted-by":"publisher","DOI":"10.1109\/ICCIC.2016.7919615"},{"key":"ref50","article-title":"Handel-C language reference guide","author":"aubury","year":"1996","journal-title":"Computing Laboratory"},{"key":"ref51","year":"2020","journal-title":"Handel-C Synthesis Methodology"},{"key":"ref154","doi-asserted-by":"publisher","DOI":"10.1145\/2897937.2898040"},{"key":"ref153","doi-asserted-by":"publisher","DOI":"10.7873\/DATE.2015.0015"},{"key":"ref156","doi-asserted-by":"publisher","DOI":"10.1145\/3289602.3293918"},{"key":"ref155","doi-asserted-by":"publisher","DOI":"10.1109\/ICCAD.2017.8203809"},{"key":"ref150","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2017.2648838"},{"key":"ref152","doi-asserted-by":"publisher","DOI":"10.1109\/MuCoCoS.2013.6633604"},{"key":"ref151","doi-asserted-by":"publisher","DOI":"10.1109\/FPL.2015.7294015"},{"key":"ref146","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2017.2783363"},{"key":"ref147","doi-asserted-by":"publisher","DOI":"10.1109\/ICCAD.2015.7372553"},{"key":"ref148","doi-asserted-by":"publisher","DOI":"10.1109\/ACSSC.2017.8335152"},{"key":"ref149","doi-asserted-by":"publisher","DOI":"10.1145\/3174243.3174264"},{"key":"ref59","year":"2020","journal-title":"OpenCL Overview"},{"key":"ref58","year":"2020","journal-title":"Vitis Unified Software Platform"},{"key":"ref57","year":"2020","journal-title":"SDAccel Enabling Hardware-Accelerated Software"},{"key":"ref56","year":"2020","journal-title":"SDSoC Development Environment"},{"key":"ref55","year":"2020","journal-title":"Vivado Design Suite&#x2013;HLx Editions"},{"key":"ref54","article-title":"xPilot: A platform-based behavioral synthesis system","volume":"5","author":"chen","year":"2005"},{"key":"ref53","doi-asserted-by":"publisher","DOI":"10.1109\/EUC.2014.28"},{"key":"ref52","year":"2010","journal-title":"DK Design Suite Manual"},{"key":"ref40","year":"2020","journal-title":"GAUT&#x2013;High-Level Synthesis Tool"},{"key":"ref167","doi-asserted-by":"publisher","DOI":"10.1109\/FPL.2019.00069"},{"key":"ref166","year":"2020","journal-title":"HIPPEROS SA The Embedded Software Company"},{"key":"ref165","doi-asserted-by":"publisher","DOI":"10.1145\/3316781.3317754"},{"key":"ref164","doi-asserted-by":"publisher","DOI":"10.23919\/DATE.2017.7927161"},{"key":"ref163","doi-asserted-by":"publisher","DOI":"10.1145\/3019612.3019683"},{"key":"ref162","doi-asserted-by":"publisher","DOI":"10.1145\/3240765.3240815"},{"key":"ref161","volume":"25","author":"birkhoff","year":"1940","journal-title":"Lattice Theory"},{"key":"ref160","doi-asserted-by":"publisher","DOI":"10.1109\/ICCD.2018.00040"},{"key":"ref4","doi-asserted-by":"publisher","DOI":"10.1145\/2847263.2847274"},{"key":"ref3","doi-asserted-by":"publisher","DOI":"10.1145\/2983630"},{"key":"ref6","doi-asserted-by":"publisher","DOI":"10.1016\/j.compfluid.2018.06.005"},{"key":"ref5","doi-asserted-by":"publisher","DOI":"10.1109\/SAMOS.2016.7818341"},{"key":"ref159","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2018.2840686"},{"key":"ref8","doi-asserted-by":"publisher","DOI":"10.1145\/3241793.3241805"},{"key":"ref49","year":"2020","journal-title":"LegUp Software IDE for Programming FPGAs"},{"key":"ref7","article-title":"Towards automatic transformation of legacy scientific code into OpenCL for optimal performance on FPGAs","author":"vanderbauwhede","year":"2018","journal-title":"arXiv 1901 00416"},{"key":"ref157","doi-asserted-by":"publisher","DOI":"10.1109\/ICCAD.2017.8203844"},{"key":"ref158","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2017.44"},{"key":"ref9","doi-asserted-by":"publisher","DOI":"10.1109\/TMSCS.2017.2699647"},{"key":"ref46","year":"2020","journal-title":"Press Release Synopsys Introduces Synphony High Level Synthesis"},{"key":"ref45","year":"2020","journal-title":"Altium Designer"},{"key":"ref48","year":"2020","journal-title":"HDL-Coder"},{"key":"ref47","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2002.1033026"},{"key":"ref42","year":"2020","journal-title":"Kiwi HLS and Kiwi Scientific Acceleration"},{"key":"ref41","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2008.46"},{"key":"ref44","first-page":"127","author":"wakabayashi","year":"1991","journal-title":"Cyber High Level Synthesis System From Software into ASIC"},{"key":"ref43","year":"2020","journal-title":"CyberWorkBench"},{"key":"ref127","year":"0"},{"key":"ref126","article-title":"Compilation infrastructure for dataflow programs","author":"wipliez","year":"2010"},{"key":"ref125","doi-asserted-by":"publisher","DOI":"10.1007\/s11265-009-0397-5"},{"key":"ref124","year":"2020","journal-title":"CAPH&#x2013;High Level Dataflow Programming for FPGAs"},{"key":"ref73","doi-asserted-by":"publisher","DOI":"10.1145\/193209.193217"},{"key":"ref72","year":"2020","journal-title":"Icarus verilog"},{"key":"ref129","year":"2020","journal-title":"Maxeler products"},{"key":"ref71","year":"2020","journal-title":"Verilator"},{"key":"ref128","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2011.17"},{"key":"ref70","year":"2020","journal-title":"ModelSim"},{"key":"ref76","doi-asserted-by":"publisher","DOI":"10.1109\/PACT.2013.6618841"},{"key":"ref130","doi-asserted-by":"publisher","DOI":"10.1145\/1556444.1556449"},{"key":"ref77","article-title":"Transformations of high-level synthesis codes for high-performance computing","author":"de fine licht","year":"2018","journal-title":"arXiv 1805 08288"},{"key":"ref74","doi-asserted-by":"publisher","DOI":"10.1145\/1369396.1369402"},{"key":"ref75","year":"2020","journal-title":"Synopsys Design Compiler"},{"key":"ref133","doi-asserted-by":"publisher","DOI":"10.1145\/3296979.3192379"},{"key":"ref134","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPSW.2018.00023"},{"key":"ref131","article-title":"High-level synthesis of dataflow programs for heterogeneous platforms design flow tools and design space exploration","author":"bezati","year":"2015"},{"key":"ref78","year":"2020","journal-title":"FPGA s"},{"key":"ref132","doi-asserted-by":"publisher","DOI":"10.1007\/s11265-017-1226-x"},{"key":"ref79","doi-asserted-by":"publisher","DOI":"10.1109\/ASPDAC.2010.5419677"},{"key":"ref136","doi-asserted-by":"publisher","DOI":"10.1145\/2228360.2228584"},{"key":"ref135","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2016.20"},{"key":"ref138","doi-asserted-by":"publisher","DOI":"10.1109\/ASAP.2013.6567545"},{"key":"ref137","doi-asserted-by":"publisher","DOI":"10.1145\/3180481"},{"key":"ref60","year":"2020","journal-title":"clang A C Language Family Frontend for LLVM"},{"key":"ref139","doi-asserted-by":"publisher","DOI":"10.1145\/2162049.2162071"},{"key":"ref62","first-page":"29","author":"bollaert","year":"2008","journal-title":"Catapult Synthesis A Practical Introduction to Interactive C Synthesis"},{"key":"ref61","year":"2020","journal-title":"Intel Quartus Prime Software Suite"},{"key":"ref63","year":"2020","journal-title":"Catapult C Synthesis"},{"key":"ref64","year":"2020","journal-title":"AC Datatypes"},{"key":"ref140","year":"2020","journal-title":"Spatial"},{"key":"ref65","doi-asserted-by":"publisher","DOI":"10.1109\/43.898829"},{"key":"ref141","author":"cole","year":"1991","journal-title":"Algorithmic Skeletons Structured Management of Parallel Computation"},{"key":"ref66","first-page":"113","author":"wakabayashi","year":"2008","journal-title":"&#x2018;All-in-C&#x2019; Behavioral Synthesis and Verification with CyberWorkBench"},{"key":"ref142","doi-asserted-by":"publisher","DOI":"10.1109\/5.381846"},{"key":"ref67","doi-asserted-by":"publisher","DOI":"10.1109\/ASAP.2011.6043237"},{"key":"ref143","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2015.31"},{"key":"ref68","year":"2020","journal-title":"The PandA Project"},{"key":"ref144","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2016.27"},{"key":"ref2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-19475-7_8"},{"key":"ref69","year":"2020","journal-title":"Lattice Diamond Software"},{"key":"ref145","doi-asserted-by":"publisher","DOI":"10.1109\/ACSSC.2017.8335151"},{"key":"ref1","doi-asserted-by":"publisher","DOI":"10.1117\/12.2280803"},{"key":"ref109","year":"2020","journal-title":"Halide for Heterogeneous Computing"},{"key":"ref95","doi-asserted-by":"publisher","DOI":"10.1145\/2601097.2601174"},{"key":"ref108","doi-asserted-by":"publisher","DOI":"10.1145\/3289602.3293910"},{"key":"ref94","doi-asserted-by":"publisher","DOI":"10.1145\/2499370.2462176"},{"key":"ref107","article-title":"Generating power and area efficient image processing pipelines through a DSL compiler on FPGAs using automated bitwidth tuning","author":"benara","year":"2019"},{"key":"ref93","doi-asserted-by":"publisher","DOI":"10.1145\/2786763.2694364"},{"key":"ref106","doi-asserted-by":"publisher","DOI":"10.1145\/2967938.2967969"},{"key":"ref92","doi-asserted-by":"publisher","DOI":"10.1109\/FPL.2014.6927454"},{"key":"ref105","doi-asserted-by":"publisher","DOI":"10.1155\/2017\/3925961"},{"key":"ref91","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPSW.2014.34"},{"key":"ref104","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-39038-8_3"},{"key":"ref90","doi-asserted-by":"publisher","DOI":"10.1109\/ReConFig.2015.7393328"},{"key":"ref103","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2011.68"},{"key":"ref102","first-page":"609","article-title":"OptiML: An implicitly parallel domain-specific language for machine learning","author":"sujeeth","year":"0","journal-title":"Proc Int Conf Int Conf Mach Learn"},{"key":"ref111","doi-asserted-by":"publisher","DOI":"10.1109\/ISCAS.2019.8702260"},{"key":"ref112","year":"2020","journal-title":"Halide to FPGA"},{"key":"ref110","doi-asserted-by":"publisher","DOI":"10.1145\/3107953"},{"key":"ref98","doi-asserted-by":"publisher","DOI":"10.1145\/3195970.3196109"},{"key":"ref99","article-title":"TVM: An automated End-to-End optimizing compiler for deep learning","author":"chen","year":"2018","journal-title":"arXiv 1802 04799"},{"key":"ref96","doi-asserted-by":"publisher","DOI":"10.1145\/2491956.2462166"},{"key":"ref97","doi-asserted-by":"publisher","DOI":"10.1109\/ICCAD.2017.8203894"},{"key":"ref10","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-78890-6_59"},{"key":"ref11","doi-asserted-by":"publisher","DOI":"10.1145\/3287624.3288756"},{"key":"ref12","year":"2020","journal-title":"MAXELER Technologies"},{"key":"ref13","article-title":"CAL language report: Specification of the CAL actor language, version: 1.0","author":"eker","year":"2003"},{"key":"ref14","doi-asserted-by":"publisher","DOI":"10.1109\/MDT.2009.69"},{"key":"ref15","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-01857-7_47"},{"key":"ref118","first-page":"471","article-title":"The semantics of a simple language for parallel programming","volume":"74","author":"gilles","year":"1974","journal-title":"Inf Process"},{"key":"ref16","year":"2020","journal-title":"LLVM Compiler Infrastructure"},{"key":"ref82","doi-asserted-by":"publisher","DOI":"10.1109\/ICCD.2017.75"},{"key":"ref117","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-06859-7_145"},{"key":"ref17","doi-asserted-by":"publisher","DOI":"10.1109\/MDT.2009.83"},{"key":"ref81","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2018.00022"},{"key":"ref18","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2011.2110592"},{"key":"ref84","doi-asserted-by":"publisher","DOI":"10.1109\/SAMOS.2011.6045455"},{"key":"ref119","doi-asserted-by":"publisher","DOI":"10.1109\/85.238389"},{"key":"ref19","first-page":"99","author":"zhang","year":"2008","journal-title":"AutoPilot A Platform-Based ESL Synthesis System"},{"key":"ref83","doi-asserted-by":"publisher","DOI":"10.23919\/DATE.2017.7927025"},{"key":"ref114","doi-asserted-by":"crossref","first-page":"219","DOI":"10.1007\/s11265-017-1283-1","article-title":"A halide-based synergistic computing framework for heterogeneous systems","volume":"91","author":"liao","year":"2017","journal-title":"J Signal Process Syst"},{"key":"ref113","author":"weng","year":"2017","journal-title":"Halide-SDSoC"},{"key":"ref116","doi-asserted-by":"publisher","DOI":"10.1145\/2228360.2228472"},{"key":"ref80","year":"2020","journal-title":"Falcon Computing Solutions"},{"key":"ref115","doi-asserted-by":"publisher","DOI":"10.1145\/3293883.3302574"},{"key":"ref120","year":"2017","journal-title":"Multiscale Dataflow Programming&#x2013;Tutorials"},{"key":"ref89","doi-asserted-by":"publisher","DOI":"10.1109\/ICCD.2017.74"},{"key":"ref121","doi-asserted-by":"publisher","DOI":"10.1109\/ACSSC.2016.7869072"},{"key":"ref122","year":"0","journal-title":"MAXELER Technologies"},{"key":"ref123","first-page":"201","author":"s\u00e9rot","year":"2013","journal-title":"CAPH A Language for Implementing Stream-Processing Applications on FPGAs"},{"key":"ref85","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-12133-3_25"},{"key":"ref86","doi-asserted-by":"publisher","DOI":"10.1109\/ASAP.2018.8445108"},{"key":"ref87","doi-asserted-by":"publisher","DOI":"10.1145\/2185520.2185528"},{"key":"ref88","article-title":"Tiramisu: A polyhedral compiler for expressing fast and portable code","author":"baghdadi","year":"2018","journal-title":"arXiv 1804 10694"}],"container-title":["IEEE Access"],"original-title":[],"link":[{"URL":"http:\/\/xplorestaging.ieee.org\/ielx7\/6287639\/8948470\/09195872.pdf?arnumber=9195872","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,12,17]],"date-time":"2021-12-17T19:55:55Z","timestamp":1639770955000},"score":1,"resource":{"primary":{"URL":"https:\/\/ieeexplore.ieee.org\/document\/9195872\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020]]},"references-count":184,"URL":"https:\/\/doi.org\/10.1109\/access.2020.3024098","relation":{},"ISSN":["2169-3536"],"issn-type":[{"value":"2169-3536","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020]]}}}