Efficient Runtime Frame ECC Recomputation for Reliable Task Execution on Xilinx FPGAs

Many beneficial techniques in reconfigurable computing including clock management, communication and relocation sometimes rely on runtime editing of configuration bitstream. However, there is a major reliability issue with editing the content of the configuration memory of a design in runtime, especially for safety critical applications as these designs rely on using the frame Error Correcting Code (ECC) in the bitstream to track un-wanted bit flips. Hence, it is necessary that the process of editing configuration bitstream be accompanied by re-computing the Frame ECC. In this paper, we present an efficient implementation of a runtime re-computation of frame ECC for Xilinx FPGA configuration bitstream. A re-computation engine makes it possible to carry out desired editing to a design bitstream in runtime without losing the protection offered by the soft error mitigation (SEM) mechanisms. The implementation occupies only 364 LUTs, 193 flip flops and 3 lS-Kb BRAM on the Xilinx xc7a35tcpg236–1 chip and has a Iatency of only 104 clock cycles for each frame. We have shown that the Iatency does not introduce any delay to task configuration if the Frame ECC engine and the configuration controller are enabled at the same time. We have tested the scheme by successfully updating the clock frequency of a design protected by SEM mechanism in runtime, while the design was still able to detect and recover from soft errors.

[1]  Marco Platzner,et al.  ReconOS: An Operating System Approach for Reconfigurable Computing , 2014, IEEE Micro.

[2]  Wayne Luk,et al.  Enhancing Relocatability of Partial Bitstreams for Run-Time Reconfiguration , 2007, 15th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM 2007).

[3]  Tughrul Arslan,et al.  A fault-tolerant ICAP controller with a selective-area soft error mitigation engine , 2017, 2017 NASA/ESA Conference on Adaptive Hardware and Systems (AHS).

[4]  Harald Michalik,et al.  Read back scrubbing for SRAM FPGAs in a data processing unit for space instruments , 2015, 2015 NASA/ESA Conference on Adaptive Hardware and Systems (AHS).

[5]  Akash Kumar,et al.  A bit-interleaved embedded hamming scheme to correct single-bit and multi-bit upsets for SRAM-based FPGAs , 2014, 2014 24th International Conference on Field Programmable Logic and Applications (FPL).

[6]  Brock J. LaMeres,et al.  An FPGA-based radiation tolerant SmallSat Computer System , 2017, 2017 IEEE Aerospace Conference.

[7]  Tughrul Arslan,et al.  FAReP: Fragmentation-Aware Replacement Policy for Task Reuse on Reconfigurable FPGAs , 2017, 2017 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW).

[8]  Tughrul Arslan,et al.  Online clock routing in Xilinx FPGAs for high-performance and reliability , 2012, 2012 NASA/ESA Conference on Adaptive Hardware and Systems (AHS).

[9]  Tughrul Arslan,et al.  A Functionality-Based Runtime Relocation System for Circuits on Heterogeneous FPGAs , 2018, IEEE Transactions on Circuits and Systems II: Express Briefs.

[10]  Tughrul Arslan,et al.  Methods and Mechanisms for Hardware Multitasking: Executing and Synchronizing Fully Relocatable Hardware Tasks in Xilinx FPGAs , 2011, 2011 21st International Conference on Field Programmable Logic and Applications.

[11]  Russell Tessier,et al.  FPGA Architecture: Survey and Challenges , 2008, Found. Trends Electron. Des. Autom..

[12]  Jon Perez,et al.  R3TOS: A Novel Reliable Reconfigurable Real-Time Operating System for Highly Adaptive, Efficient, and Dependable Computing on FPGAs , 2013, IEEE Transactions on Computers.

[13]  John Wawrzynek,et al.  Hardware-assisted fast routing , 2002, Proceedings. 10th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

[14]  Alan D. George,et al.  Scrubbing optimization via availability prediction (SOAP) for reconfigurable space computing , 2012, 2012 IEEE Conference on High Performance Extreme Computing.