Autonomous Soft-Error Tolerance of FPGA Configuration Bits

Field-programmable gate arrays (FPGAs) are increasingly susceptible to radiation-induced single event upsets (SEUs). These upsets are predominant in a space environment; however, with increasing use of static RAM (SRAM) in modern FPGAs, these SEUs are gaining prominence even in a terrestrial environment. SEUs can flip SRAM bits of FPGA, potentially altering the functionality of the implemented design. This has motivated FPGA designers to investigate techniques to protect the FPGA configuration bits against such inadvertent bit flips (soft error). Traditionally, triple modular redundancy (TMR) is used to protect the FPGA bit flips. Increasing design complexity and limited battery life motivate for alternative approaches for soft-error tolerance. In this article, we propose a technique to improve autonomous fault-masking capabilities of a design by maximizing the number of zeros or ones in lookup tables (LUTs). The technique analyzes critical configuration bits and utilizes spare resources (XOR gates and carry chains) of FPGAs to selectively manipulate the logic implemented in LUTs using two operations: LUT restructuring and LUT decomposition. We implemented the proposed approach for Xilinx Virtex-6 FPGAs and validated the same with a wide set of designs from the MCNC, IWLS 2005, and ITC99 benchmark suites. Results demonstrate that the proposed logic restructuring maximizes logic 0 (or 1) of LUTs by an average of 20%, achieving 80% fault masking with no area overhead. The fault rate of the entire design is reduced by 60% on average as compared to the existing techniques. Furthermore, the logic decomposition algorithm provides incremental fault-tolerance capabilities and achieves an additional 5% fault masking with an average 7% increase in slice usage. The complete methodology is implemented into a tool for Xilinx FPGA and is made available online for the benefit of the research community. The algorithms are lightweight, and the whole design flow (including Xilinx Place and Route) was completed in 75 minutes for the largest benchmark in the set.

[1]  Yu Hu,et al.  Fault-tolerant resynthesis with dual-output LUTs , 2010, 2010 15th Asia and South Pacific Design Automation Conference (ASP-DAC).

[2]  Jason Cong,et al.  LUT-based FPGA technology mapping for reliability , 2010, Design Automation Conference.

[3]  Munehiro Matsuura,et al.  A method to decompose multiple-output logic functions , 2004, Proceedings. 41st Design Automation Conference, 2004..

[4]  R. Leveugle,et al.  A methodology and tool for predictive analysis of configuration bit criticality in SRAM-based FPGAS: Experimental results , 2009, 2009 3rd International Conference on Signals, Circuits and Systems (SCS).

[5]  Luigi Carro,et al.  Designing fault tolerant systems into SRAM-based FPGAs , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[6]  Mahmut T. Kandemir,et al.  Improving soft-error tolerance of FPGA configuration bits , 2004, IEEE/ACM International Conference on Computer Aided Design, 2004. ICCAD-2004..

[7]  Jürgen Teich,et al.  Identifying FPGA IP-Cores Based on Lookup Table Content Analysis , 2006, 2006 International Conference on Field Programmable Logic and Applications.

[8]  Alan Mishchenko,et al.  A new-enhanced constructive decomposition and mapping algorithm , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[9]  Luigi Carro,et al.  On the optimal design of triple modular redundancy logic for SRAM-based FPGAs , 2005, Design, Automation and Test in Europe.

[10]  Yu Hu,et al.  Exploiting Free LUT Entries to Mitigate Soft Errors in SRAM-based FPGAs , 2011, 2011 Asian Test Symposium.

[11]  Akash Kumar,et al.  Improving autonomous soft-error tolerance of FPGA through LUT configuration bit manipulation , 2013, 2013 23rd International Conference on Field programmable Logic and Applications.

[12]  Brent E. Nelson,et al.  RapidSmith: Do-It-Yourself CAD Tools for Xilinx FPGAs , 2011, 2011 21st International Conference on Field Programmable Logic and Applications.

[13]  Narayanan Vijaykrishnan,et al.  Improving soft-error tolerance of FPGA configuration bits , 2004, ICCAD 2004.

[14]  Yu Hu,et al.  IPR: In-Place Reconfiguration for FPGA fault tolerance , 2009, 2009 IEEE/ACM International Conference on Computer-Aided Design - Digest of Technical Papers.

[15]  Hamid Beigy,et al.  Quine-McCluskey Classification , 2007, 2007 IEEE/ACS International Conference on Computer Systems and Applications.

[16]  Lei He,et al.  In-place decomposition for robustness in FPGA , 2010, 2010 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[17]  DasAnup,et al.  Autonomous Soft-Error Tolerance of FPGA Configuration Bits , 2015 .

[18]  Jim Tørresen,et al.  The Xilinx Design Language (XDL): Tutorial and use cases , 2011, 6th International Workshop on Reconfigurable Communication-Centric Systems-on-Chip (ReCoSoC).

[19]  Bernd Steinbach,et al.  An algorithm for bi-decomposition of logic functions , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).