{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,30]],"date-time":"2026-04-30T10:58:17Z","timestamp":1777546697526,"version":"3.51.4"},"reference-count":30,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2015,9,11]],"date-time":"2015-09-11T00:00:00Z","timestamp":1441929600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"I\/UCRC Program of the National Science Foundation","award":["EEC-0642422 and IIP-1161022"],"award-info":[{"award-number":["EEC-0642422 and IIP-1161022"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Reconfigurable Technol. Syst."],"published-print":{"date-parts":[[2015,10]]},"abstract":"<jats:p>Reconfigurable computing devices such as field-programmable gate arrays (FPGAs) offer advantages over fixed-logic CPU and GPU architectures, including improved performance, superior power efficiency, and reconfigurability. The challenge of FPGA application development, however, has limited their acceptance in high-performance computing and high-performance embedded computing applications. FPGA development carries similar difficulties to hardware design, requiring that developers iterate through register-transfer level designs with cycle-level accuracy. Furthermore, the lack of hardware and software standards between FPGA platforms limits productivity and application portability, and makes porting applications between heterogeneous platforms a time-consuming and often challenging process. Recent efforts to improve FPGA productivity using high-level synthesis tools and languages show promise, but platform support remains limited and typically is left as a challenge for developers. To address these issues, we present RC Middleware (RCMW), a novel middleware that improves productivity and enables application and tool portability by abstracting away platform-specific details. RCMW provides an application-centric development environment, exposing only the resources and standardized interfaces required by an application, independent of the underlying platform. We demonstrate the portability and productivity benefits of RCMW using four heterogeneous platforms from three vendors. Our results indicate that RCMW enables application productivity and improves developer productivity, and that these benefits are achieved with less than 7% performance and 3% area overhead on average.<\/jats:p>","DOI":"10.1145\/2746404","type":"journal-article","created":{"date-parts":[[2015,9,15]],"date-time":"2015-09-15T12:09:15Z","timestamp":1442318955000},"page":"1-22","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":11,"title":["Low-Overhead FPGA Middleware for Application Portability and Productivity"],"prefix":"10.1145","volume":"8","author":[{"given":"Robert","family":"Kirchgessner","sequence":"first","affiliation":[{"name":"University of Florida, Gainesville, FL"}]},{"given":"Alan D.","family":"George","sequence":"additional","affiliation":[{"name":"University of Florida, Gainesville, FL"}]},{"given":"Greg","family":"Stitt","sequence":"additional","affiliation":[{"name":"University of Florida, Gainesville, FL"}]}],"member":"320","published-online":{"date-parts":[[2015,9,11]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/1950413.1950421"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/2209285.2209286"},{"key":"e_1_2_1_3_1","unstructured":"Altera Corp. 2007. Avalon Memory-Mapped Interface Specification. Available at https:\/\/www.altera.com.  Altera Corp. 2007. Avalon Memory-Mapped Interface Specification. Available at https:\/\/www.altera.com."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/TVLSI.2007.912106"},{"key":"e_1_2_1_5_1","unstructured":"ARM. 2013. AMBA AXI and ACE Protocol Specification. Available at http:\/\/www.arm.com.  ARM. 2013. AMBA AXI and ACE Protocol Specification. Available at http:\/\/www.arm.com."},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of the 2010 International Conference on Field-Programmable Technology (FPT\u201910)","author":"Betkaoui B.","unstructured":"B. Betkaoui , D. B. Thomas , and W. Luk . 2010. Comparing performance and energy efficiency of FPGAs and GPUs for high productivity computing . In Proceedings of the 2010 International Conference on Field-Programmable Technology (FPT\u201910) . 94--101. B. Betkaoui, D. B. Thomas, and W. Luk. 2010. Comparing performance and energy efficiency of FPGAs and GPUs for high productivity computing. In Proceedings of the 2010 International Conference on Field-Programmable Technology (FPT\u201910). 94--101."},{"key":"e_1_2_1_7_1","volume-title":"Proceedings of the 2001 IEEE International Symposium on Circuits and Systems (ISCAS\u201901)","volume":"5","author":"Cai L.","unstructured":"L. Cai , D. Gajski , and M. Olivarez . 2001. Introduction of system level architecture exploration using the SpecC methodology . In Proceedings of the 2001 IEEE International Symposium on Circuits and Systems (ISCAS\u201901) , Vol. 5 . 9--12. L. Cai, D. Gajski, and M. Olivarez. 2001. Introduction of system level architecture exploration using the SpecC methodology. In Proceedings of the 2001 IEEE International Symposium on Circuits and Systems (ISCAS\u201901), Vol. 5. 9--12."},{"key":"e_1_2_1_8_1","volume-title":"Proceedings of the 2012 22nd International Conference on Field-Programmable Logic and Applications (FPL\u201912)","author":"Czajkowski T. S.","unstructured":"T. S. Czajkowski , U. Aydonat , D. Denisenko , J. Freeman , M. Kinsner , D. Neto , J. Wong , P. Yiannacouras , and D. P. Singh . 2012. From OpenCL to high-performance hardware on FPGAS . In Proceedings of the 2012 22nd International Conference on Field-Programmable Logic and Applications (FPL\u201912) . 531--534. T. S. Czajkowski, U. Aydonat, D. Denisenko, J. Freeman, M. Kinsner, D. Neto, J. Wong, P. Yiannacouras, and D. P. Singh. 2012. From OpenCL to high-performance hardware on FPGAS. In Proceedings of the 2012 22nd International Conference on Field-Programmable Logic and Applications (FPL\u201912). 531--534."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2010.29"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2008.65"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1155\/ES\/2006\/56320"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1109\/MCSE.2011.11"},{"key":"e_1_2_1_13_1","volume-title":"Retrieved","author":"Ltd DEL","year":"2014","unstructured":"Gi DEL Ltd . 2014 . PROCWizard . Retrieved August 24, 2015, from http:\/\/www.gidel.com\/procwizard.htm. GiDEL Ltd. 2014. PROCWizard. Retrieved August 24, 2015, from http:\/\/www.gidel.com\/procwizard.htm."},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/LES.2012.2209397"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-70592-5_5"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2011.48"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASAP.2013.6567577"},{"key":"e_1_2_1_19_1","unstructured":"Nallatech Ltd. 2007. DIMEtalk V3.0. Available at http:\/\/www.nallatech.com.  Nallatech Ltd. 2007. DIMEtalk V3.0. Available at http:\/\/www.nallatech.com."},{"key":"e_1_2_1_20_1","volume-title":"Retrieved","year":"2014","unstructured":"OpenCores. 2014 . Open Cores Home Page . Retrieved August 24, 2015, from http:\/\/opencores.org. OpenCores. 2014. Open Cores Home Page. Retrieved August 24, 2015, from http:\/\/opencores.org."},{"key":"e_1_2_1_21_1","volume-title":"Retrieved","author":"OpenFPGA Inc.","year":"2008","unstructured":"OpenFPGA Inc. 2008 . OpenFPGA Home Page . Retrieved August 24, 2014, from http:\/\/openfpga.org. OpenFPGA Inc. 2008. OpenFPGA Home Page. Retrieved August 24, 2014, from http:\/\/openfpga.org."},{"key":"e_1_2_1_22_1","volume-title":"Proceedings of the Symposium on Application Accelerators in High-Performance Computing. 13--15","author":"Pascoe C.","unstructured":"C. Pascoe , A. Lawande , H. Lam , A. George , W. Farmerie Sun , and M. Herbordt . 2010. Reconfigurable supercomputing with scalable systolic arrays and in-stream control for wavefront genomics processing . In Proceedings of the Symposium on Application Accelerators in High-Performance Computing. 13--15 . C. Pascoe, A. Lawande, H. Lam, A. George, W. Farmerie Sun, and M. Herbordt. 2010. Reconfigurable supercomputing with scalable systolic arrays and in-stream control for wavefront genomics processing. In Proceedings of the Symposium on Application Accelerators in High-Performance Computing. 13--15."},{"key":"e_1_2_1_23_1","volume-title":"Proceedings of the 2005 International Conference on Field-Programmable Logic and Applications. 598--601","author":"Reves X.","unstructured":"X. Reves , V. Marojevic , R. Ferrus , and A. Gelonch . 2005. FPGA\u2019s middleware for software defined radio applications . In Proceedings of the 2005 International Conference on Field-Programmable Logic and Applications. 598--601 . X. Reves, V. Marojevic, R. Ferrus, and A. Gelonch. 2005. FPGA\u2019s middleware for software defined radio applications. In Proceedings of the 2005 International Conference on Field-Programmable Logic and Applications. 598--601."},{"key":"e_1_2_1_24_1","first-page":"29","article-title":"The statistically unreliable nature of lines of code","volume":"18","author":"Schofield J.","year":"2005","unstructured":"J. Schofield . 2005 . The statistically unreliable nature of lines of code . CrossTalk 18 , 4, 29 -- 33 . J. Schofield. 2005. The statistically unreliable nature of lines of code. CrossTalk 18, 4, 29--33.","journal-title":"CrossTalk"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2009.25"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2005.59"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/LES.2011.2167713"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/MCSE.2010.69"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2010.28"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1109\/TVLSI.2012.2231101"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/1862648.1862649"}],"container-title":["ACM Transactions on Reconfigurable Technology and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2746404","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2746404","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T06:16:58Z","timestamp":1750227418000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2746404"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015,9,11]]},"references-count":30,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2015,10]]}},"alternative-id":["10.1145\/2746404"],"URL":"https:\/\/doi.org\/10.1145\/2746404","relation":{},"ISSN":["1936-7406","1936-7414"],"issn-type":[{"value":"1936-7406","type":"print"},{"value":"1936-7414","type":"electronic"}],"subject":[],"published":{"date-parts":[[2015,9,11]]},"assertion":[{"value":"2014-04-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2015-03-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2015-09-11","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}