DyRACT: A partial reconfiguration enabled accelerator and test platform

Integrating FPGAs with a general purpose computer remains difficult, but recent efforts have resulted in open frameworks that offer a software API and hardware interface to allow easier integration. However, such systems only support static FPGA designs. With the addition of partial reconfiguration (PR) support, such frameworks can enable more effective use of FPGAs. Now, designers can incorporate hardware accelerators within their software applications, and these can be loaded dynamically as required. We present a PR-enabled FPGA platform that allows user modules to be loaded onto the FPGA, inputs to be applied, results obtained, and functions to be swapped at runtime. The interface and PR management logic are part of the static region, while multiple accelerators can be loaded using high level functions provided by the API. Reconfiguration and data transfer are both managed over the PCIe interface from the host PC, with communication throughput of more than 1.5 GB/s (75% of peak PCIe bandwidth) and reconfiguration of a large accelerator in 20 ms.

[1]  Viktor K. Prasanna,et al.  Dynamic precision management for loop computations on reconfigurable architectures , 1999, Seventh Annual IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00375).

[2]  Stefan H.-M. Ludwig,et al.  Implementing Photoshop Filters in Virtex , 1999, FPL.

[3]  Régis Leveugle,et al.  Using run-time reconfiguration for fault injection in hardware prototypes , 2000, 17th IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems, 2002. DFT 2002. Proceedings..

[4]  Peter M. Athanas,et al.  A versatile framework for FPGA field updates: an application of partial self-reconfiguration , 2003, 14th IEEE International Workshop on Rapid Systems Prototyping, 2003. Proceedings..

[5]  R. Chamberlain,et al.  Achieving Real Data Throughput for an FPGA Co-Processor on Commodity Server Platforms , 2004 .

[6]  Michel Paindavoine,et al.  Implementation of JPEG2000 arithmetic decoder using dynamic reconfiguration of FPGA , 2004, 2004 International Conference on Image Processing, 2004. ICIP '04..

[7]  Maya Gokhale,et al.  Metropolitan road traffic simulation on FPGAs , 2005, 13th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'05).

[8]  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.

[9]  L. Sterpone,et al.  A New Partial Reconfiguration-Based Fault-Injection System to Evaluate SEU Effects in SRAM-Based FPGAs , 2007, IEEE Transactions on Nuclear Science.

[10]  J. Palicot,et al.  Partial Reconfiguration of FPGAs for Dynamical Reconfiguration of a Software Radio Platform , 2007, 2007 16th IST Mobile and Wireless Communications Summit.

[11]  Martin C. Herbordt,et al.  Achieving High Performance with FPGA-Based Computing , 2007, Computer.

[12]  Linda Doyle,et al.  An FPGA-based cognitive radio framework , 2008 .

[13]  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.

[14]  Ken Eguro,et al.  SIRC: An Extensible Reconfigurable Computing Communication API , 2010, 2010 18th IEEE Annual International Symposium on Field-Programmable Custom Computing Machines.

[15]  Jae Wook Jeon,et al.  FPGA Design and Implementation of a Real-Time Stereo Vision System , 2010, IEEE Transactions on Circuits and Systems for Video Technology.

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

[17]  Oliver Diessel,et al.  ReSim: A reusable library for RTL simulation of dynamic partial reconfiguration , 2011, 2011 International Conference on Field-Programmable Technology.

[18]  Michael J. Wirthlin,et al.  FPGA Bootstrapping on PCIe Using Partial Reconfiguration , 2011, 2011 International Conference on Reconfigurable Computing and FPGAs.

[19]  Kizheppatt Vipin,et al.  A high speed open source controller for FPGA Partial Reconfiguration , 2012, 2012 International Conference on Field-Programmable Technology.

[20]  Yoav Freund,et al.  RIFFA: A Reusable Integration Framework for FPGA Accelerators , 2012, 2012 IEEE 20th International Symposium on Field-Programmable Custom Computing Machines.

[21]  Kizheppatt Vipin,et al.  System-level FPGA device driver with high-level synthesis support , 2013, 2013 International Conference on Field-Programmable Technology (FPT).

[22]  Ryan Kastner,et al.  RIFFA 2.0: A reusable integration framework for FPGA accelerators , 2013, 2013 23rd International Conference on Field programmable Logic and Applications.

[23]  Kizheppatt Vipin,et al.  ZyCAP: Efficient Partial Reconfiguration Management on the Xilinx Zynq , 2014, IEEE Embedded Systems Letters.