{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,19]],"date-time":"2026-06-19T22:42:25Z","timestamp":1781908945454,"version":"3.54.5"},"reference-count":31,"publisher":"Association for Computing Machinery (ACM)","issue":"3","funder":[{"name":"France 2030 Priority Research Program and equipment for artificial intelligence PEPR AI","award":["ANR-23-PEIA-0009"],"award-info":[{"award-number":["ANR-23-PEIA-0009"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Reconfigurable Technol. Syst."],"published-print":{"date-parts":[[2025,9,30]]},"abstract":"<jats:p>Dynamically reconfigurable architectures allow sharing of hardware resources, which is particularly beneficial for small low-end FPGAs. Based on the online modification of parts of the circuit, these architectures require partial reconfiguration of the chip. Reducing resource availability or usage comes at the cost of a performance penalty affecting execution time. The challenge lies in bitstream management, especially for complex applications that often exceed the internal memory capacity of the FPGA (BRAM). Consequently, the time penalty arises from the need to retrieve partial bitstreams from external memory (e.g., often a DDR) each time it is necessary. Current state-of-the-art reconfiguration controllers are limited to a throughput of 400 MB\/s, significantly penalizing reconfiguration times and making dynamic reconfiguration unattractive for real-life applications (e.g., video processing, machine learning applications, and continual and federated learning for embedded systems).<\/jats:p>\n          <jats:p>This article introduces a novel partial reconfiguration controller architecture that achieves a throughput of up to 1.396 GB\/s, a 3.49\u00d7 acceleration over existing controllers. The reduced reconfiguration time allows the practical use of dynamic reconfiguration with fewer performance penalties. Additionally, the article compares various reconfiguration controllers in terms of time penalties and offers a tradeoff between algorithm complexity, FPGA resources, and performance.<\/jats:p>","DOI":"10.1145\/3748728","type":"journal-article","created":{"date-parts":[[2025,7,17]],"date-time":"2025-07-17T14:29:20Z","timestamp":1752762560000},"page":"1-22","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":3,"title":["VERSATILE: Very Fast Partial Reconfiguration Controller"],"prefix":"10.1145","volume":"18","author":[{"ORCID":"https:\/\/orcid.org\/0009-0008-5519-5091","authenticated-orcid":false,"given":"Mustafa","family":"Ibrahim","sequence":"first","affiliation":[{"name":"CNRS, IETR UMR 6164, Nantes Universit\u00e9, Nantes, France"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9160-2896","authenticated-orcid":false,"given":"Sebastien","family":"Pillement","sequence":"additional","affiliation":[{"name":"CNRS, IETR UMR 6164, Nantes Universit\u00e9, Nantes, France"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-5369-0787","authenticated-orcid":false,"given":"Andrea","family":"Pinna","sequence":"additional","affiliation":[{"name":"CNRS, LIP6, Sorbonne Universit\u00e9, Paris, France"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1562-7282","authenticated-orcid":false,"given":"Sebastien Le","family":"Nours","sequence":"additional","affiliation":[{"name":"CNRS, IETR UMR 6164, Nantes Universit\u00e9, Nantes, France"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2025,9]]},"reference":[{"key":"e_1_3_1_2_2","unstructured":"Versatile. 2025. Retrieved from https:\/\/gitlab.univ-nantes.fr\/ibrahim-m-2\/versatile-very-fast-partial-reconfiguration-controller.git"},{"key":"e_1_3_1_3_2","unstructured":"ARM. 2013. AMBA\u00ae AXI\u2122 and ACE\u2122 Protocol Specification."},{"key":"e_1_3_1_4_2","first-page":"1373","volume-title":"2012 Design, Automation & Test in Europe Conference & Exhibition (DATE)","author":"Bonamy R.","year":"2012","unstructured":"R. Bonamy, H.-M. Pham, S. Pillement, and D. Chillet. 2012. UPaRC\u2014Ultra-fast power-aware reconfiguration controller. In 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE). IEEE, 1373\u20131378."},{"key":"e_1_3_1_5_2","doi-asserted-by":"publisher","DOI":"10.1155\/2015\/314358"},{"key":"e_1_3_1_6_2","doi-asserted-by":"crossref","first-page":"172","DOI":"10.1109\/IPDPSW52791.2021.00033","volume-title":"2021 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)","author":"Charaf Najdet","year":"2021","unstructured":"Najdet Charaf, Ahmed Kamaleldin, Martin Th\u00fcmmler, and Diana G\u00f6hringer. 2021. RV-CAP: Enabling dynamic partial reconfiguration for FPGA-based RISC-V system-on-chip. In 2021 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW). IEEE, 172\u2013179."},{"key":"e_1_3_1_7_2","unstructured":"DIGILENT. 2017. Genesys 2 FPGA Board Reference Manual. Retrieved from https:\/\/digilent.com\/reference\/programmable-logic\/genesys-2\/reference-manual"},{"key":"e_1_3_1_8_2","unstructured":"DIGILENT. 2018. Zybo Z7 Board Reference Manual. Retrieved from https:\/\/digilent.com\/reference\/programmable-logic\/zybo-z7\/reference-manual"},{"key":"e_1_3_1_9_2","unstructured":"DIGILENT. 2019. Nexys A7\u2122 FPGA Board Reference Manual. Retrieved from https:\/\/digilent.com\/reference\/programmable-logic\/nexys-a7\/reference-manual"},{"key":"e_1_3_1_10_2","doi-asserted-by":"crossref","DOI":"10.1007\/978-3-031-12748-9_8","article-title":"QoS aware design-time\/run-time manager for FPGA-based embedded systems","author":"Duhamel A.","year":"2022","unstructured":"A. Duhamel and S. Pillement. 2022. QoS aware design-time\/run-time manager for FPGA-based embedded systems. In Design and Architecture for Signal and Image Processing (DASIP).","journal-title":"Design and Architecture for Signal and Image Processing (DASIP)"},{"key":"e_1_3_1_11_2","doi-asserted-by":"crossref","first-page":"217","DOI":"10.1109\/GCCE.2013.6664803","volume-title":"2013 IEEE 2nd Global Conference on Consumer Electronics (GCCE","author":"Hori Yohei","year":"2013","unstructured":"Yohei Hori, Toshihiro Katashita, and Kazukuni Kobara. 2013. Energy and area saving effect of dynamic partial reconfiguration on a 28-nm process FPGA. In 2013 IEEE 2nd Global Conference on Consumer Electronics (GCCE). IEEE, 217\u2013218."},{"key":"e_1_3_1_12_2","unstructured":"Intel. 2025. Intel\u00ae Arria\u00ae 10 Device Overview. Retrieved from https:\/\/www.intel.com\/content\/www\/us\/en\/docs\/programmable\/683332\/current\/device-overview.html"},{"key":"e_1_3_1_13_2","unstructured":"Intel. 2022. Intel\u00ae Cyclone\u00ae 10 LP Device Overview. Retrieved from https:\/\/www.intel.com\/content\/www\/us\/en\/docs\/programmable\/683879\/current\/device-overview.html"},{"key":"e_1_3_1_14_2","unstructured":"Intel. 2023. Intel\u00ae Quartus\u00ae Prime Pro Edition User Guide: Partial Reconfiguration. Retrieved from https:\/\/www.intel.com\/content\/www\/us\/en\/docs\/programmable\/683834\/23-1\/faq.html"},{"key":"e_1_3_1_15_2","unstructured":"Intel. 2024. FIFO Intel\u00ae FPGA IP User Guide. Retrieved from https:\/\/www.intel.com\/content\/www\/us\/en\/docs\/programmable\/683522\/24-2\/user-guide.html"},{"key":"e_1_3_1_16_2","first-page":"1","volume-title":"2015 International Conference on ReConFigurable Computing and FPGAs (ReConFig)","author":"Kulkarni Amit","year":"2015","unstructured":"Amit Kulkarni, Vipin Kizheppatt, and Dirk Stroobandt. 2015. MiCAP: A custom reconfiguration controller for dynamic circuit specialization. In 2015 International Conference on ReConFigurable Computing and FPGAs (ReConFig). IEEE, 1\u20136."},{"key":"e_1_3_1_17_2","volume-title":"The H. 264 Advanced Video Compression Standard","author":"Richardson Iain E.","year":"2011","unstructured":"Iain E. Richardson. 2011. The H. 264 Advanced Video Compression Standard. John Wiley & Sons."},{"key":"e_1_3_1_18_2","article-title":"Best practices for convolutional neural networks applied to visual document analysis","author":"Simard Patrice Y.","year":"2003","unstructured":"Patrice Y. Simard, David Steinkraus, and John C. Platt. 2003. Best practices for convolutional neural networks applied to visual document analysis. In 7th International Conference on Document Analysis and Recognition (ICDAR).","journal-title":"7th International Conference on Document Analysis and Recognition (ICDAR)"},{"key":"e_1_3_1_19_2","doi-asserted-by":"publisher","DOI":"10.1109\/LES.2014.2314390"},{"key":"e_1_3_1_20_2","doi-asserted-by":"publisher","DOI":"10.1145\/3193827"},{"key":"e_1_3_1_21_2","unstructured":"Xilinx. 2016. AXI HWICAP v3.0 LogiCORE IP Product Guide PG134. Retrieved from https:\/\/docs.amd.com\/r\/en-US\/pg134-axi-hwicap"},{"key":"e_1_3_1_22_2","unstructured":"Xilinx. 2016. Partial Reconfiguration Decoupler v1.0 PG227. Retrieved from https:\/\/docs.amd.com\/v\/u\/en-US\/pg227-pr-decoupler"},{"key":"e_1_3_1_23_2","unstructured":"Xilinx. 2018. Zynq-7000 AP SoC and 7 Series Devices Memory Interface Solutions v4.1. Retrieved from https:\/\/www.xilinx.com\/support\/documents\/ip_documentation\/mig_7series\/v4_1\/ug586_7Series_MIS.pdf"},{"key":"e_1_3_1_24_2","unstructured":"Xilinx. 2021. Vivado Design Suite 7 Series FPGA and Zynq-7000 SoC Libraries Guide UG953. Retrieved from https:\/\/docs.amd.com\/r\/2021.1-English\/ug953-vivado-7series-libraries\/Xilinx-Resources"},{"key":"e_1_3_1_25_2","unstructured":"Xilinx. 2021. Vivado Design Suite User Guide High-Level Synthesis UG902. Retrieved from https:\/\/www.xilinx.com\/support\/documents\/sw_manuals\/xilinx2020_1\/ug902-vivado-high-level-synthesis.pdf"},{"key":"e_1_3_1_26_2","unstructured":"Xilinx. 2022. 7 Series FPGAs and Zynq-7000 SoC XADC Dual 12-Bit 1 MSPS Analog-to-Digital Converter User Guide (UG480). Retrieved from https:\/\/docs.amd.com\/r\/en-US\/ug480_7Series_XADC"},{"key":"e_1_3_1_27_2","unstructured":"Xilinx. 2022. AXI DMA LogiCORE IP Product Guide PG021. Retrieved from https:\/\/docs.amd.com\/r\/en-US\/pg021_axi_dma\/Features"},{"key":"e_1_3_1_28_2","unstructured":"Xilinx. 2022. SmartConnect (PG247). Retrieved from https:\/\/docs.amd.com\/r\/en-US\/pg247-smartconnect"},{"key":"e_1_3_1_29_2","unstructured":"Xilinx. 2022. Vivado Design Suite User Guide: Partial Reconfiguration UG909. Retrieved from https:\/\/docs.amd.com\/v\/u\/2020.1-English\/ug909-vivado-partial-reconfiguration"},{"key":"e_1_3_1_30_2","unstructured":"Xilinx. 2023. UltraScale Architecture Libraries Guide (UG974). Retrieved from https:\/\/docs.amd.com\/r\/2023.2-English\/ug974-vivado-ultrascale-libraries"},{"key":"e_1_3_1_31_2","unstructured":"Xilinx. 2023. Zynq 7000 SoC Technical Reference Manual UG585. Retrieved from https:\/\/docs.amd.com\/r\/en-US\/ug585-zynq-7000-SoC-TRM"},{"key":"e_1_3_1_32_2","unstructured":"Xilinx. 2023. Zynq UltraScale+ Device Technical Reference Manual (UG1085). Retrieved from https:\/\/www.origin.xilinx.com\/support\/documents\/user_guides\/ug1085-zynq-ultrascale-trm.pdf"}],"container-title":["ACM Transactions on Reconfigurable Technology and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3748728","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,9,1]],"date-time":"2025-09-01T09:09:40Z","timestamp":1756717780000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3748728"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,9]]},"references-count":31,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2025,9,30]]}},"alternative-id":["10.1145\/3748728"],"URL":"https:\/\/doi.org\/10.1145\/3748728","relation":{},"ISSN":["1936-7406","1936-7414"],"issn-type":[{"value":"1936-7406","type":"print"},{"value":"1936-7414","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,9]]},"assertion":[{"value":"2024-09-19","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-06-30","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-09-01","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}