A novel BRAM content accessing and processing method based on FPGA configuration bitstream

This paper presents a new approach to manage data content of memories implemented in FPGAs through the configuration bitstream. The proposed approach is able to read and write the data content from Block RAMs (BRAMs) in FPGA based designs by reading and processing the information stored in the bitstream. Thanks to this method it is possible to extract, load, copy or compare the information of BRAMs without neither resource overhead nor performance penalty in the design. It can also be applied to existing designs without the need of re-synthesizing. Due to its advantages it becomes an interesting tool to carry out several applications, such as error detection and recovery or fault injection. It also opens the doors to the design of cutting-edge applications. The approach has been implemented in a Xilinx ZYNQ System-on-Chip (SoC) device, which combines an FPGA and an ARM9 microprocessor. The access to the configuration bitstream has been performed using the ZYNQs Processor Configuration Access Port (PCAP). Nevertheless, the flow presented in this article can be adapted to devices from other Xilinx families or vendors. The proposed approach has been fully tested and compared with specifically designed memory controllers. The results obtained in the experimental tests confirm that the proposed approach works properly without increasing the resource overhead but at a penalty in terms of processing time.

[1]  Sébastien Pillement,et al.  Low-overhead fault-tolerance technique for a dynamically reconfigurable softcore processor , 2013, IEEE Transactions on Computers.

[2]  Matthew French,et al.  Open-Source Bitstream Generation , 2013, 2013 IEEE 21st Annual International Symposium on Field-Programmable Custom Computing Machines.

[3]  Masahiro Iida,et al.  A Novel Soft Error Detection and Correction Circuit for Embedded Reconfigurable Systems , 2011, IEEE Embedded Systems Letters.

[4]  Mihalis Psarakis,et al.  Combining checkpointing and scrubbing in FPGA-based real-time systems , 2013, 2013 IEEE 31st VLSI Test Symposium (VTS).

[5]  Mikel Azkarate-askasua,et al.  A novel SEU, MBU and SHE handling strategy for Xilinx Virtex-4 FPGAs , 2009, 2009 International Conference on Field Programmable Logic and Applications.

[6]  Unai Bidarte,et al.  Fast context reloading lockstep approach for SEUs mitigation in a FPGA soft core processor , 2013, IECON 2013 - 39th Annual Conference of the IEEE Industrial Electronics Society.

[7]  Tomoyuki Ishida,et al.  A novel states recovery technique for the TMR softcore processor , 2009, 2009 International Conference on Field Programmable Logic and Applications.

[8]  C. L. Ongil,et al.  Analysis of SET Effects in a PIC Microprocessor for Selective Hardening , 2011, IEEE Transactions on Nuclear Science.

[9]  Zbigniew Hajduk,et al.  An FPGA embedded microcontroller , 2014, Microprocess. Microsystems.

[10]  L. Carro,et al.  New Techniques for Improving the Performance of the Lockstep Architecture for SEEs Mitigation in FPGA Embedded Processors , 2009, IEEE Transactions on Nuclear Science.

[11]  Edward J. McCluskey,et al.  A memory coherence technique for online transient error recovery of FPGA configurations , 2001, FPGA '01.

[12]  Wai Chong Chia,et al.  An automated approach for locating multiple faulty LUTs in an FPGA , 2008, Microelectron. Reliab..

[13]  Mohsin M. Jamali,et al.  Test, diagnosis and fault simulation of embedded RAM modules in SRAM-based FPGAs , 2007 .

[14]  Masahiro Iida,et al.  Improving the soft-error tolerability of a soft-core processor on an FPGA using triple modular redundancy and partial reconfiguration , 2011 .

[15]  Javier Del Ser,et al.  Robustness of different TMR granularities in shared wishbone architectures on SRAM FPGA , 2012, 2012 International Conference on Reconfigurable Computing and FPGAs.

[16]  Martin Schoeberl,et al.  Hardware synchronization for embedded multi-core processors , 2011, 2011 IEEE International Symposium of Circuits and Systems (ISCAS).

[17]  Rajat Subhra Chakraborty,et al.  Hardware Trojan Insertion by Direct Modification of FPGA Configuration Bitstream , 2013, IEEE Design & Test.

[18]  Mihalis Psarakis,et al.  A Fault Tolerant Approach for FPGA Embedded Processors Based on Runtime Partial Reconfiguration , 2013, J. Electron. Test..

[19]  F. Novak,et al.  SEU Recovery Mechanism for SRAM-Based FPGAs , 2012, IEEE Transactions on Nuclear Science.

[20]  Sorin A. Huss,et al.  Bil: A tool-chain for bitstream reverse-engineering , 2012, 22nd International Conference on Field Programmable Logic and Applications (FPL).

[21]  L. Sterpone,et al.  A New Mitigation Approach for Soft Errors in Embedded Processors , 2008, IEEE Transactions on Nuclear Science.

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

[23]  Masahiro Iida,et al.  Improving the Robustness of a Softcore Processor against SEUs by Using TMR and Partial Reconfiguration , 2010, 2010 18th IEEE Annual International Symposium on Field-Programmable Custom Computing Machines.

[24]  Douglas L. Maskell,et al.  iDEA: A DSP block based FPGA soft processor , 2012, 2012 International Conference on Field-Programmable Technology.

[25]  Ann Gordon-Ross,et al.  On-chip Context Save and Restore of Hardware Tasks on Partially Reconfigurable FPGAs , 2013, 2013 IEEE 21st Annual International Symposium on Field-Programmable Custom Computing Machines.

[26]  S. Rezgui,et al.  Complex upset mitigation applied to a Re-configurable embedded processor , 2005, IEEE Transactions on Nuclear Science.

[27]  Dimitrios Soudris,et al.  A low-cost fault tolerant solution targeting commercial FPGA devices , 2013, J. Syst. Archit..

[28]  Dimitrios Soudris,et al.  A low-cost fault tolerant solution targeting to commercial FPGA devices , 2012, 2012 NASA/ESA Conference on Adaptive Hardware and Systems (AHS).

[29]  Lloyd W. Massengill,et al.  Basic mechanisms and modeling of single-event upset in digital microelectronics , 2003 .

[30]  Arun K. Somani,et al.  Low Overhead Soft Error Mitigation Techniques for High-Performance and Aggressive Designs , 2012, IEEE Trans. Computers.

[31]  Fernanda Gusmão de Lima Kastensmidt,et al.  Synchronizing triple modular redundant designs in dynamic partial reconfiguration applications , 2008, SBCCI '08.

[32]  Luigi Carro,et al.  Evaluating Neutron Induced SEE in SRAM-Based FPGA Protected by Hardware- and Software-Based Fault Tolerant Techniques , 2013, IEEE Transactions on Nuclear Science.

[33]  Janak H. Patel,et al.  A low-overhead coherence solution for multiprocessors with private cache memories , 1984, ISCA '84.

[34]  Fabrice Monteiro,et al.  A Self-Checking Hardware Journal for a Fault-Tolerant Processor Architecture , 2011, Int. J. Reconfigurable Comput..

[35]  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).

[36]  Ann Gordon-Ross,et al.  HTR: On-Chip Hardware Task Relocation for Partially Reconfigurable FPGAs , 2013, ARC.

[37]  Michael J. Wirthlin,et al.  A Comparison of fault-tolerant memories in SRAM-based FPGAs , 2010, 2010 IEEE Aerospace Conference.

[38]  Yu Wang,et al.  A bitstream readback-based automatic functional test and diagnosis method for Xilinx FPGAs , 2014, Microelectron. Reliab..

[39]  James K. Archibald,et al.  Cache coherence protocols: evaluation using a multiprocessor simulation model , 1986, TOCS.

[40]  A. Megacz A Library and Platform for FPGA Bitstream Manipulation , 2007 .

[41]  Ricardo Reis,et al.  Multiple fault injection platform for SRAM-based FPGA based on ground-level radiation experiments , 2015, 2015 16th Latin-American Test Symposium (LATS).

[42]  Mihalis Psarakis,et al.  Scrubbing-based SEU mitigation approach for Systems-on-Programmable-Chips , 2011, 2011 International Conference on Field-Programmable Technology.

[43]  Viswanathan Subramanian,et al.  Low overhead Soft Error Mitigation techniques for high-performance and aggressive systems , 2009, 2009 IEEE/IFIP International Conference on Dependable Systems & Networks.

[44]  Karthika Manilal,et al.  Design of Soft error tolerance technique for FPGA based soft core processors , 2014, 2014 IEEE International Conference on Advanced Communications, Control and Computing Technologies.

[45]  Eduardo de la Torre,et al.  Adaptive reconfigurable voting for enhanced reliability in medium-grained fault tolerant architectures , 2015, 2015 NASA/ESA Conference on Adaptive Hardware and Systems (AHS).

[46]  Unai Bidarte,et al.  Interface tasks oriented 8-bit soft-core processor , 2012 .

[47]  José Luis Martín,et al.  Tornado: A self-reconfiguration control system for core-based multiprocessor CSoPCs , 2007, J. Syst. Archit..