A Real-Time Capable Dynamic Partial Reconfiguration System for an Application-Specific Soft-Core Processor

Modern FPGAs (Field Programmable Gate Arrays) are becoming increasingly important when it comes to embedded system development. Within these FPGAs, soft-core processors are often used to solve a wide range of different tasks. Soft-core processors are a cost-effective and time-efficient way to realize embedded systems. When using the full potential of FPGAs, it is possible to dynamically reconfigure parts of them during run time without the need to stop the device. This feature is called dynamic partial reconfiguration (DPR). If the DPR approach is to be applied in a real-time application-specific soft-core processor, an architecture must be created that ensures strict compliance with the real-time constraint at all times. In this paper, a novel method that addresses this problem is introduced, and its realization is described. In the first step, an application-specializable soft-core processor is presented that is capable of solving problems while adhering to hard real-time deadlines. This is achieved by the full design time analyzability of the soft-core processor. Its special architecture and other necessary features are discussed. Furthermore, a method for the optimized generation of partial bitstreams for the DPR as well as its practical implementation in a tool is presented. This tool is able to minimize given bitstreams with the help of a differential frame bitmap. Experiments that realize the DPR within the soft-core framework are presented, with respect to the need for hard real-time capability. Those experiments show a significant resource reduction of about 40% compared to a functionally equivalent non-DPR design.

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

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

[3]  Jorg Henkel,et al.  i-Core: A run-time adaptive processor for embedded multi-core systems , 2011 .

[4]  Fernanda Gusmão de Lima Kastensmidt,et al.  Dynamic partial reconfiguration manager , 2014, 2014 IEEE 5th Latin American Symposium on Circuits and Systems.

[5]  Oliver Diessel,et al.  ICAP-I: A reusable interface for the internal reconfiguration of Xilinx FPGAs , 2009, 2009 International Conference on Field-Programmable Technology.

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

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

[8]  Wolfgang Fengler,et al.  Increasing Efficiency in Data Flow Oriented Model Driven Software Development for Softcore Processors , 2018, 2018 IEEE 42nd Annual Computer Software and Applications Conference (COMPSAC).

[9]  Marco D. Santambrogio,et al.  High Speed Dynamic Partial Reconfiguration for Real Time Multimedia Signal Processing , 2012, 2012 15th Euromicro Conference on Digital System Design.

[10]  Jean-Luc Gaudiot,et al.  Minimizing the runtime partial reconfiguration overheads in reconfigurable systems , 2011, The Journal of Supercomputing.

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

[12]  Peter M. Athanas,et al.  Torc: towards an open-source tool flow , 2011, FPGA '11.

[13]  Tughrul Arslan,et al.  A tiny and multifunctional ICAP controller for dynamic partial reconfiguration system , 2017, 2017 NASA/ESA Conference on Adaptive Hardware and Systems (AHS).

[14]  Kurt Franz Ackermann,et al.  Leveraging partial dynamic reconfiguration on Zynq SoC FPGAs , 2014, 2014 9th International Symposium on Reconfigurable and Communication-Centric Systems-on-Chip (ReCoSoC).

[15]  Ursula Faber Partial Reconfiguration On Fpgas Architectures Tools And Applications , 2016 .

[16]  Walter Stechele,et al.  Autovision – A Run-time Reconfigurable MPSoC Architecture for Future Driver Assistance Systems (Autovision – Eine zur Laufzeit rekonfigurierbare MPSoC Architektur für zukünftige Fahrerassistenzsysteme) , 2007, it Inf. Technol..

[17]  Juanjo Noguera,et al.  Fast dynamic and partial reconfiguration data path with low hardware overhead on Xilinx FPGAs , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum (IPDPSW).

[18]  Walter Stechele,et al.  Towards Rapid Dynamic Partial Reconfiguration in Video-Based Driver Assistance Systems , 2010, ARC.

[19]  José L. Núñez-Yáñez,et al.  Dynamic Reconfiguration Optimisation with Streaming Data Decompression , 2010, 2010 International Conference on Field Programmable Logic and Applications.

[20]  Wolfgang Fengler,et al.  Optimizing compiler for a specialized real-time floating point softcore processor , 2017, 2017 8th Annual Industrial Automation and Electromechanical Engineering Conference (IEMECON).

[21]  Cedric Nishan Canagarajah,et al.  Evaluating dynamic partial reconfiguration in the integer pipeline of a FPGA-based opensource processor , 2008, 2008 International Conference on Field Programmable Logic and Applications.

[22]  Martin Schoeberl,et al.  A Controller for Dynamic Partial Reconfiguration in FPGA-Based Real-Time Systems , 2017, 2017 IEEE 20th International Symposium on Real-Time Distributed Computing (ISORC).

[23]  Carles Ferrer,et al.  AC_ICAP: A Flexible High Speed ICAP Controller , 2015, Int. J. Reconfigurable Comput..

[24]  Jim Tørresen,et al.  Portable module relocation and bitstream compression for Xilinx FPGAs , 2014, 2014 24th International Conference on Field Programmable Logic and Applications (FPL).

[25]  L. Wagner,et al.  Compiler Optimization on Instruction Scheduling for a Specialized Real-Time Floating Point Soft-Core Processor , 2019 .