Block RAM-based architecture for real-time reconfiguration using Xilinx® FPGAs

Despite the advantages dynamic reconfiguration adds to a system, it only improves system performance if the execution time exceeds the configuration time. As a result, dynamic reconfiguration is only capable of improving the performance of quasi-static applications. In order to improve the performance of dynamic applications, researchers focus on improving the reconfiguration throughput. These approaches are mostly limited by the bus commonly used to connect the configuration controller to the memory, which contributes to the configuration time. A method proposed to ameliorate this overhead is an architecture utilizing localised block RAM (BRAM) connected to the configuration controller to store the configuration bitstream. The aim of this paper is to illustrate the advantages of the proposed architecture, especially for reconfiguring real-time applications. This is done by validating the throughput of the architecture and comparing this to the maximum theoretical throughput of the internal configuration access port (ICAP). It was found that the proposed architecture is capable of reconfiguring an application within a time-frame suitable for real-time reconfiguration. The drawback of this method is that the BRAM is extremely limited and only a discrete set of configurations can be stored. This paper also proposes a method on how this can be mitigated without affecting the throughput.

[1]  Bin Zhang,et al.  A multi-platform controller allowing for maximum Dynamic Partial Reconfiguration throughput , 2008, 2008 International Conference on Field Programmable Logic and Applications.

[2]  A. Yurdakul,et al.  Dynamic Partial Self-Reconfiguration on Spartan-III FPGAs via a Parallel Configuration Access Port ( PCAP ) , 2008 .

[3]  Shoji Yamamoto,et al.  Data Dependent Circuit for Subgraph Isomorphism Problem , 2002, FPL.

[4]  Walter Stechele,et al.  Combitgen: A new approach for creating partial bitstreams in Virtex-II Pro , 2006, ARCS Workshops.

[5]  William H. Mangione-Smith,et al.  A case study of partially evaluated hardware circuits: Key-specific DES , 1997, FPL.

[6]  Brad L. Hutchings,et al.  Improving functional density using run-time circuit reconfiguration [FPGAs] , 1998, IEEE Trans. Very Large Scale Integr. Syst..

[7]  Wayne Luk,et al.  Reconfigurable computing: architectures and design methods , 2005 .

[8]  C. Economakos,et al.  A run-time reconfigurable fuzzy PID controller based on modern FPGA devices , 2007, 2007 Mediterranean Conference on Control & Automation.

[9]  Dirk Stroobandt,et al.  Dynamic Circuit Specialisation for Key-Based Encryption Algorithms and DNA Alignment , 2012, Int. J. Reconfigurable Comput..

[10]  Satnam Singh,et al.  Expressing dynamic reconfiguration by partial evaluation , 1996, 1996 Proceedings IEEE Symposium on FPGAs for Custom Computing Machines.

[11]  Scott Hauck,et al.  Reconfigurable computing: a survey of systems and software , 2002, CSUR.

[12]  Jim Tørresen,et al.  High Speed Partial Run-Time Reconfiguration Using Enhanced ICAP Hard Macro , 2011, 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum.

[13]  Dirk Stroobandt,et al.  Automatically mapping applications to a self-reconfiguring platform , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[14]  Axel Jantsch,et al.  Run-time Partial Reconfiguration speed investigation and architectural design space exploration , 2009, 2009 International Conference on Field Programmable Logic and Applications.

[15]  Sharad Malik,et al.  Accelerating Boolean satisfiability with configurable hardware , 1998, Proceedings. IEEE Symposium on FPGAs for Custom Computing Machines (Cat. No.98TB100251).

[16]  Bertram Bussell,et al.  Parallel Processing in a Restructurable Computer System , 1963, IEEE Trans. Electron. Comput..

[17]  Marios S. Pattichis,et al.  A High-Speed Dynamic Partial Reconfiguration Controller Using Direct Memory Access Through a Multiport Memory Controller and Overclocking with Active Feedback , 2011, Int. J. Reconfigurable Comput..

[18]  Brad L. Hutchings,et al.  Improving Functional Density Using Run-time Circuit Reconfiguration-Very Large Scale Integration (VLSI) Systems, IEEE Transactions on , 1998 .

[19]  Dirk Stroobandt,et al.  A Method for Fast Hardware Specialization at Run-Time , 2007, 2007 International Conference on Field Programmable Logic and Applications.

[20]  D. C. Phillips,et al.  Programming Real-Time Computer Systems , 1966 .

[21]  Dirk Stroobandt,et al.  TROUTE: A Reconfigurability-Aware FPGA Router , 2010, ARC.

[22]  Jan M. Rabaey,et al.  Low-energy embedded FPGA structures , 1998, Proceedings. 1998 International Symposium on Low Power Electronics and Design (IEEE Cat. No.98TH8379).

[23]  Alessandro Forin,et al.  Minimizing partial reconfiguration overhead with fully streaming DMA engines and intelligent ICAP controller (abstract only) , 2010, FPGA '10.

[24]  Frank Vahid,et al.  Energy savings and speedups from partitioning critical software loops to hardware in embedded systems , 2004, TECS.

[25]  Ricardo Chaves,et al.  Dynamic FPGA Reconfigurations with Run-Time Region Delimitation , 2007 .

[26]  Walter Stechele,et al.  Dynamic Partial Reconfiguration of Xilinx FPGAs Lets Systems Adapt on the Fly , 2010 .

[27]  Brad L. Hutchings,et al.  Run-Time Reconfiguration: A method for enhancing the functional density of SRAM-based FPGAs , 1996, J. VLSI Signal Process..

[28]  Emi Eto Difference-Based Partial Reconfiguration , 2007 .

[29]  Walter Stechele,et al.  A new framework to accelerate Virtex-II Pro dynamic partial self-reconfiguration , 2007, 2007 IEEE International Parallel and Distributed Processing Symposium.