Skip to main content

Dynamic and Partial Reconfiguration of FPGAs

  • Living reference work entry
  • First Online:
Handbook of Computer Architecture

Abstract

The reconfigurability of FPGAs is a unique capability that can be exploited beyond just repurposing or modifying hardware designs. Static reconfiguration, where a single monolithic hardware design is replaced by another, allows for in-field upgradability and enhancements, de-risks hardware deployment, and enables their function as off-the-shelf programmable devices. However, this configurability, through modification of configuration memory contents, also opens the door to dynamic reconfiguration, where hardware designs are changed at runtime to serve different purposes. More advanced still is the ability to modify only portions of the hardware architecture, while the rest remains functional. By closing the loop, wherein the static part of the hardware is responsible for controlling the reconfiguration of the dynamic part, self-reconfiguring systems are possible. This chapter explores the dynamic and partial reconfiguration capabilities of FPGAs from the perspectives of the architecture, the programming model, and the applications that can leverage these unique capabilities.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

References

  • Agne A, Happe M, Keller A, Lübbers E, Plattner B, Platzner M, Plessl C (2014) Reconos: an operating system approach for reconfigurable computing. IEEE Micro 34(1):60–71

    Article  Google Scholar 

  • Ahmed MK, Mandebi J, Saha SK, Bobda C (2022) Multi-tenant cloud FPGA: a survey on security. arXiv preprint arXiv:2209.11158

    Google Scholar 

  • Anup Agarwal DK, Seshan S (2023) StaRRNIC: Enabling Runtime Reconfigurable FPGA NICs. http://reports-archive.adm.cs.cmu.edu/anon/2023/CMU-CS-23-100.pdf

    Google Scholar 

  • Beckhoff C, Koch D, Torresen J (2012) GoAhead: a partial reconfiguration framework. In: Proceedings of the IEEE international symposium on field-programmable custom computing machines (FCCM), pp 37–44

    Google Scholar 

  • Beckhoff C, Koch D, Torreson J (2013) Automatic floorplanning and interface synthesis of island style reconfigurable systems with GoAhead. In: International conference on architecture of computing systems, pp 303–316

    Google Scholar 

  • Beckhoff C, Koch D, Torresen J (2014) Portable module relocation and bitstream compression for Xilinx FPGAs. In: 2014 24th international conference on field programmable logic and applications (FPL), pp 1–8

    Google Scholar 

  • Benz F, Seffrin A, Huss SA (2012) Bil: a tool-chain for bitstream reverse-engineering. In: International conference on field programmable logic and applications (FPL), pp 735–738

    Google Scholar 

  • Bolchini C, Miele A, Santambrogio MD (2007) TMR and partial dynamic reconfiguration to mitigate SEU faults in FPGAs. In: IEEE international symposium on defect and fault-tolerance in VLSI Systems (DFT), pp 87–95

    Google Scholar 

  • Boutros A, Betz V (2023) Field-programmable gate array architecture. In: Chattopadhyay A (ed) Handbook of computer architecture. Springer, Singapore

    Google Scholar 

  • Bucknall AR, Shreejith S, Fahmy SA (2019) Network enabled partial reconfiguration for distributed FPGA edge acceleration. In: 2019 international conference on field-programmable technology (ICFPT), pp 259–262

    Google Scholar 

  • Bucknall AR, Fahmy SA (2023) ZyPR: end-to-end build tool and runtime manager for partial reconfiguration of FPGA SoCs at the edge. ACM Trans Reconfigurable Technol Syst (TRETS) 16(3):34–13433

    Google Scholar 

  • Bucknall AR (2022) Build framework and runtime abstraction for partial reconfiguration on FPGA SoCs. Phd thesis, University of Warwick

    Google Scholar 

  • Capalija D, Abdelrahman TS (2013) A high-performance overlay architecture for pipelined execution of data flow graphs. In: Proceedings of the international conference on field programmable logic and applications (FPL)

    Google Scholar 

  • Caulfield AM, Chung ES, Putnam A, Angepat H, Fowers J, Haselman M, Heil S, Humphrey M, Kaur P, Kim J-Y et al (2016) A cloud-scale acceleration architecture. In: IEEE/ACM international symposium on microarchitecture (MICRO)

    Google Scholar 

  • Compton K, Hauck S (2002) Reconfigurable computing: a survey of systems and software. ACM Comput Surv 34(2):171–210

    Article  Google Scholar 

  • Dörr T, Sandmann T, Schade F, Bapp FK, Becker J (2019) Leveraging the partial reconfiguration capability of FPGAs for processor-based fail-operational systems. In: International symposium on applied reconfigurable computing, pp 96–111

    Google Scholar 

  • Duncan A, Rahman F, Lukefahr A, Farahmandi F, Tehranipoor M (2019) FPGA bitstream security: a day in the life. In: IEEE international test conference (ITC), pp 1–10

    Google Scholar 

  • Fahmy SA (2018) Design abstraction for autonomous adaptive hardware systems on FPGAs. In: NASA/ESA conference on adaptive hardware and systems (AHS), pp 142–147

    Google Scholar 

  • Forencich A, Snoeren AC, Porter G, Papen G (2020) Corundum: an open-source 100-GBPS NIC. In: IEEE international symposium on field-programmable custom computing machines (FCCM), pp 38–46

    Google Scholar 

  • Hussain HM, Benkrid K, Seker H (2015) Dynamic partial reconfiguration implementation of the SVM/KNN multi-classifier on FPGA for bioinformatics application. In: Proceedings of the annual international conference of the IEEE engineering in medicine and biology society (EMBC), pp 7667–7670

    Google Scholar 

  • Ichinomiya Y, Tanoue S, Amagasaki M, Iida M, Kuga M, Sueyoshi T (2010) Improving the robustness of a softcore processor against SEUs by using TMR and partial reconfiguration. In: IEEE international symposium on field-programmable custom computing machines (FCCM), pp 47–54

    Google Scholar 

  • Inc. A (2024a) AWS-FPGA. https://github.com/aws/aws-fpga

  • Inc. X (2024b) XRT. https://github.com/Xilinx/XRT

  • Inc. X (2024) Open-NIC. https://github.com/Xilinx/open-nic

  • Inc. X (2024) PYNQ. https://github.com/Xilinx/PYNQ

  • Irmak H, Ziener D, Alachiotis N (2021) Increasing flexibility of FPGA-based CNN accelerators with dynamic partial reconfiguration. In: Proceedings of the international conference on field-programmable logic and applications (FPL), pp 306–311

    Google Scholar 

  • Iturbe X, Benkrid K, Arslan T, Hong C, Erdogan AT, Martinez I (2011) Enabling FPGAs for future deep space exploration missions: improving fault-tolerance and computation density with R3TOS. In: NASA/ESA conference on adaptive hardware and systems (AHS), pp 104–112

    Google Scholar 

  • Intel (2021) Using the Design Security Features in IntelⓇFPGAs. https://www.intel.com/content/www/us/en/docs/programmable/683269/current/using-the-design-security-features-in-fpgas.html

  • Jacobsen M, Richmond D, Hogains M, Kastner R (2015) RIFFA 2.1: a reusable integration framework for FPGA accelerators. ACM Trans Reconfigurable Technol Syst (TRETS) 8(4):1–23

    Article  Google Scholar 

  • Jain AK, Maskell DL, Fahmy SA (2021) Coarse grained FPGA overlay for rapid just-in-time accelerator compilation. IEEE Trans Parallel Distrib Syst 33(6):1478–1490

    Article  Google Scholar 

  • Janßen B, Zimprich P, Hübner M (2017) A dynamic partial reconfigurable overlay concept for PYNQ. In: Proceedings of the international conference on field programmable logic and applications (FPL)

    Google Scholar 

  • Karen Horovitz RK (2024) Intel FPGA Secure Device Manager. https://apps.dtic.mil/sti/pdfs/AD1052301.pdf

  • Koch D (2012) Partial reconfiguration on FPGAs: architectures, tools and applications, vol 153. Springer, New York

    Google Scholar 

  • Korolija D, Roscoe T, Alonso G (2020) Do OS abstractions make sense on FPGAs? In: 14th USENIX symposium on operating systems design and implementation (OSDI 20). USENIX Association, pp 991–1010

    Google Scholar 

  • Kouris A, Venieris SI, Bouganis C-S (2018) CascadeCNN: pushing the performance limits of quantisation in convolutional neural networks. In: 2018 28th international conference on field programmable logic and applications (FPL), pp 155–1557

    Google Scholar 

  • Kuon I, Tessier R, Rose J (2008) FPGA architecture: survey and challenges. Found Trends Electron Des Autom 2:135–253

    Article  Google Scholar 

  • Li X, Wang X, Liu F, Xu H (2018) DHL: enabling flexible software network functions with FPGA acceleration. In: IEEE international conference on distributed computing systems (ICDCS)

    Google Scholar 

  • Liu M, Kuehn W, Lu Z, Jantsch A (2009) Run-time partial reconfiguration speed investigation and architectural design space exploration. In: International conference on field programmable logic and applications (FPL), pp 498–502

    Google Scholar 

  • Montone A, Santambrogio MD, Sciuto D, Memik SO (2010) Placement and floorplanning in dynamically reconfigurable FPGAs. ACM Trans Reconfigurable Technol Syst (TRETS) 3(4):1–34

    Article  Google Scholar 

  • Nava F, Sciuto D, Santambrogio MD, Herbrechtsmeier S, Porrmann M, Witkowski U, Rueckert U (2011) Applying dynamic reconfiguration in the mobile robotics domain: a case study on computer vision algorithms. ACM Trans Reconfigurable Technol Syst (TRETS) 4(3), 29:1–29:22

    Google Scholar 

  • Nguyen TD, Kumar A (2020) Maximizing the serviceability of partially reconfigurable FPGA systems in multi-tenant environment. In: Proceedings of the ACM/SIGDA international symposium on field-programmable gate arrays, pp 29–39

    Google Scholar 

  • Nguyen T, Blair Z, Neuendorffer S, Wawrzynek J (2023) SPADES: A productive design flow for Versal programmable logic. In: 2023 33rd international conference on field-programmable logic and applications (FPL), pp 65–71

    Google Scholar 

  • Nguyen M, Hoe JC (2018) Time-shared execution of realtime computer vision pipelines by dynamic partial reconfiguration. In: International conference on field programmable logic and applications (FPL), pp 230–2304

    Google Scholar 

  • Osterloh B, Michalik H, Habinc SA, Fiethe B (2009) Dynamic partial reconfiguration in space applications. In: NASA/ESA conference on adaptive hardware and systems, pp 336–343

    Google Scholar 

  • Oszwald F, Becker J, Obergfell P, Traub M (2018) Dynamic reconfiguration for real-time automotive embedded systems in fail-operational context. In: IEEE international parallel and distributed processing symposium workshops, pp 206–209

    Google Scholar 

  • Paulsson K, Hubner M, Becker J (2006) Strategies to on-line failure recovery in self-adaptive systems based on dynamic and partial reconfiguration. In: First NASA/ESA conference on adaptive hardware and systems (AHS’06), pp 288–291

    Google Scholar 

  • Pham K, Horta E, Koch D, Vaishnav A, Kuhn T (2018) IPRDF: an isolated partial reconfiguration design flow for Xilinx FPGAs. In: International symposium on embedded multicore/many-core systems-on-chip (MCSoC), pp 36–43

    Google Scholar 

  • Pham TH, Fahmy SA, McLoughlin IV (2017) An end-to-end multi-standard OFDM transceiver architecture using FPGA partial reconfiguration. IEEE Access 5:21002–21015

    Article  Google Scholar 

  • Pham KD, Horta E, Koch D (2017) BITMAN: a tool and API for FPGA bitstream manipulations. In: Design, automation and test in Europe conference and exhibition (DATE), pp 894–897

    Google Scholar 

  • Proulx A, Chouinard J-Y, Fortier P, Miled A (2023) A survey on FPGA cybersecurity design strategies. ACM Trans Reconfigurable Technol Syst 16(2):1–33

    Article  Google Scholar 

  • Rabozzi M, Durelli GC, Miele A, Lillis J, Santambrogio MD (2016) Floorplanning automation for partial-reconfigurable FPGAs via feasible placements generation. IEEE Trans Very Large Scale Integr (VLSI) Syst 25(1):151–164

    Article  Google Scholar 

  • Reviriego P, Ullah A, Pontarelli S (2019) PR-TCAM: efficient TCAM emulation on Xilinx FPGAs using partial reconfiguration. IEEE Trans Very Large Scale Integr (VLSI) Syst 27(8):1952–1956

    Article  Google Scholar 

  • Rodríguez A, Valverde J, Portilla J, Otero A, Riesgo T, Torre E (2018) FPGA-based high-performance embedded systems for adaptive edge computing in cyber-physical systems: the ARTICo3 framework. Sensors 18(6):1877

    Article  Google Scholar 

  • Rossi E, Damschen M, Bauer L, Buttazzo G, Henkel J (2018) Preemption of the partial reconfiguration process to enable real-time computing with FPGAs. ACM Trans Reconfigurable Technol Syst (TRETS) 11(2):1–24

    Article  Google Scholar 

  • Sadek A, Mostafa H, Nassar A Ismail Y (2017) Towards the implementation of multi-band multi-standard software-defined radio using dynamic partial reconfiguration. Int J Commun Syst 30(17):3342

    Article  Google Scholar 

  • Shreejith S, Vipin K, Fahmy SA, Lukasiewycz M (2013) An approach for redundancy in FlexRay networks using FPGA partial reconfiguration. In: Design, automation and test in Europe conference and exhibition (DATE), pp 721–724

    Google Scholar 

  • Soni RK, Steiner N, French M (2013) Open-source bitstream generation. In: IEEE international symposium on field-programmable custom computing machines (FCCM), pp 105–112

    Google Scholar 

  • Steiger C, Walder H, Platzner M (2004) Operating systems for reconfigurable embedded platforms: Online scheduling of real-time tasks. IEEE Trans Comput 53(11):1393–1407

    Article  Google Scholar 

  • Stitt G, Coole J (2011) Intermediate fabrics: virtual architectures for near-instant FPGA compilation. IEEE Embed Syst Lett 3(3):81–84

    Article  Google Scholar 

  • Stoddard A, Gruwell A, Zabriskie P, Wirthlin MJ (2016) A hybrid approach to FPGA configuration scrubbing. IEEE Trans Nucl Sci 64(1):497–503

    Article  Google Scholar 

  • Vaishnav A, Pham KD, Koch D (2018) A survey on FPGA virtualization. In: International conference on field programmable logic and applications (FPL), pp 131–138

    Google Scholar 

  • Vaishnav A, Pham K, Powell J, Koch D (2020) Fos: a modular FPGA operating system for dynamic workloads. ACM Trans Reconfigurable Technol Syst 20:1–20:28

    Google Scholar 

  • Vipin K, Fahmy SA (2012) Architecture-aware reconfiguration-centric floorplanning for partial reconfiguration. In: Reconfigurable computing: architectures, tools and applications: international symposium on applied reconfigurable computing, pp 13–25

    Google Scholar 

  • Vipin K, Fahmy SA (2012) A high speed open source controller for FPGA partial reconfiguration. In: International conference on field-programmable technology (FPT), pp 61–66

    Google Scholar 

  • Vipin K, Fahmy SA (2013) Automated partitioning for partial reconfiguration design of adaptive systems. In: IEEE international symposium on parallel and distributed processing workshops, pp 172–181

    Google Scholar 

  • Vipin K, Fahmy SA (2014) Automated partial reconfiguration design for adaptive systems with CoPR for Zynq. In: Proceedings of the international symposium on field-programmable custom computing machines (FCCM), pp 202–205

    Google Scholar 

  • Vipin K, Fahmy SA (2014a) DyRACT: a partial reconfiguration enabled accelerator and test platform. In: International conference on field programmable logic and applications (FPL)

    Google Scholar 

  • Vipin K, Fahmy SA (2014b) ZyCAP: efficient partial reconfiguration management on the Xilinx Zynq. IEEE Embed Syst Lett 6(3):41–44

    Article  Google Scholar 

  • Vipin K, Fahmy SA (2018) FPGA dynamic and partial reconfiguration: a survey of architectures, methods, and applications. ACM Comput Surv (CSUR) 51(4), 72:1–72:39

    Google Scholar 

  • Venieris SI, Bouganis C-S (2017) Latency-driven design for FPGA-based convolutional neural networks. In: Proceedings of the international conference on field programmable logic and applications (FPL)

    Google Scholar 

  • Vliegen J, Mentens N, Verbauwhede I (2013) A single-chip solution for the secure remote configuration of FPGAs using bitstream compression. In: International conference on reconfigurable computing and FPGAs (ReConFig), pp 1–6

    Google Scholar 

  • Wirthlin M (2015) High-reliability FPGA-based systems: space, high-energy physics, and beyond. Proc IEEE 103(3):379–389

    Article  Google Scholar 

  • Xiao Y, Park D, Butt A, Giesen H, Han Z, Ding R, Magnezi N, Rubin R, DeHon A (2019) Reducing FPGA compile time with separate compilation for FPGA building blocks. In: 2019 international conference on field-programmable technology (ICFPT), pp 153–161. https://doi.org/10.1109/ICFPT47387.2019.00026

  • Xiao Y, Hota A, Park D, DeHon A (2022) HiPR: high-level partial reconfiguration for fast incremental FPGA compilation. In: 2022 32nd international conference on field-programmable logic and applications (FPL), pp 70–78

    Google Scholar 

  • Xilinx (2023) UltraScale Architecture Configuration User Guide. https://docs.amd.com/v/u/en-US/ug570-ultrascale-configuration

  • Xilinx (2023) Abstract Shell for Dynamic Function eXchange. https://docs.xilinx.com/r/en-US/ug909-vivado-partial-reconfiguration/Abstract-Shell-for-Dynamic-Function-eXchange

  • Xilinx (2024) Using Encryption and Authentication to Secure an UltraScale/UltraScale+ FPGA Bitstream Application Note (XAPP1267). https://docs.xilinx.com/r/en-US/xapp1267-encryp-efuse-program/Using-Encryption-and-Authentication-to-Secure-an-UltraScale/UltraScale-FPGA-Bitstream-Application-Note

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Suhaib A. Fahmy .

Editor information

Editors and Affiliations

Section Editor information

Rights and permissions

Reprints and permissions

Copyright information

© 2024 The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd.

About this entry

Check for updates. Verify currency and authenticity via CrossMark

Cite this entry

Fahmy, S.A., Iyer, K.B. (2024). Dynamic and Partial Reconfiguration of FPGAs. In: Chattopadhyay, A. (eds) Handbook of Computer Architecture. Springer, Singapore. https://doi.org/10.1007/978-981-15-6401-7_51-1

Download citation

  • DOI: https://doi.org/10.1007/978-981-15-6401-7_51-1

  • Published:

  • Publisher Name: Springer, Singapore

  • Print ISBN: 978-981-15-6401-7

  • Online ISBN: 978-981-15-6401-7

  • eBook Packages: Springer Reference EngineeringReference Module Computer Science and Engineering

Publish with us

Policies and ethics