Dynamic Partial Reconfiguration of FPGA for SEU Mitigation and Area Efficiency

Similar documents
Leso Martin, Musil Tomáš

Outline of Presentation Field Programmable Gate Arrays (FPGAs(

FPGA: What? Why? Marco D. Santambrogio

Improving the Fault Tolerance of a Computer System with Space-Time Triple Modular Redundancy

ALMA Memo No Effects of Radiation on the ALMA Correlator

Single Event Upset Mitigation Techniques for SRAM-based FPGAs

Initial Single-Event Effects Testing and Mitigation in the Xilinx Virtex II-Pro FPGA

Cost-and Power Optimized FPGA based System Integration: Methodologies and Integration of a Lo

DESIGN AND ANALYSIS OF SOFTWARE FAULTTOLERANT TECHNIQUES FOR SOFTCORE PROCESSORS IN RELIABLE SRAM-BASED FPGA

Outline. Trusted Design in FPGAs. FPGA Architectures CLB CLB. CLB Wiring

CPE/EE 422/522. Introduction to Xilinx Virtex Field-Programmable Gate Arrays Devices. Dr. Rhonda Kay Gaede UAH. Outline

INTRODUCTION TO FPGA ARCHITECTURE

Hamming FSM with Xilinx Blind Scrubbing - Trick or Treat

Performance Imrovement of a Navigataion System Using Partial Reconfiguration

Multiple Event Upsets Aware FPGAs Using Protected Schemes

An Architecture for Fail-Silent Operation of FPGAs and Configurable SoCs

Space: The Final Frontier FPGAs for Space and Harsh Environments

Fine-Grain Redundancy Techniques for High- Reliable SRAM FPGA`S in Space Environment: A Brief Survey

Fast SEU Detection and Correction in LUT Configuration Bits of SRAM-based FPGAs

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs)

A software platform to support dynamically reconfigurable Systems-on-Chip under the GNU/Linux operating system

FPGA Provides Speedy Data Compression for Hyperspectral Imagery

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs?

DESIGN AND IMPLEMENTATION OF 32-BIT CONTROLLER FOR INTERACTIVE INTERFACING WITH RECONFIGURABLE COMPUTING SYSTEMS

LogiCORE IP Soft Error Mitigation Controller v3.2

PROGRAMMABLE MODULE WHICH USES FIRMWARE TO REALISE AN ASTRIUM PATENTED COSMIC RANDOM NUMBER GENERATOR FOR GENERATING SECURE CRYPTOGRAPHIC KEYS

RADIATION TOLERANT MANY-CORE COMPUTING SYSTEM FOR AEROSPACE APPLICATIONS. Clinton Francis Gauer

Field Programmable Gate Array (FPGA)

Soft-Core Embedded Processor-Based Built-In Self- Test of FPGAs: A Case Study

Generic Scrubbing-based Architecture for Custom Error Correction Algorithms

Reducing Rad-Hard Memories for FPGA Configuration Storage on Space-bound Payloads

SAN FRANCISCO, CA, USA. Ediz Cetin & Oliver Diessel University of New South Wales

High temperature / radiation hardened capable ARM Cortex -M0 microcontrollers

Chapter 2. FPGA and Dynamic Reconfiguration ...

Soft Error Detection And Correction For Configurable Memory Of Reconfigurable System

FPGA architecture and design technology

Improving FPGA Design Robustness with Partial TMR

Implementation of single bit Error detection and Correction using Embedded hamming scheme

Introduction to Partial Reconfiguration Methodology

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

Comparison of SET-Resistant Approaches for Memory-Based Architectures

Dynamic Reconfigurable Computing Architecture for Aerospace Applications

LA-UR- Title: Author(s): Intended for: Approved for public release; distribution is unlimited.

AES Core Specification. Author: Homer Hsing

Time and Space Redundancy Fault Tolerance Trade-offs for FPGA Based Single and Multicore Designs

Programmable Logic Devices FPGA Architectures II CMPE 415. Overview This set of notes introduces many of the features available in the FPGAs of today.

FT-UNSHADES credits. UNiversity of Sevilla HArdware DEbugging System.

A Network-on-Chip for Radiation Tolerant, Multi-core FPGA Systems

DYNAMICALLY SHIFTED SCRUBBING FOR FAST FPGA REPAIR. Leonardo P. Santos, Gabriel L. Nazar and Luigi Carro

ECE 636. Reconfigurable Computing. Lecture 2. Field Programmable Gate Arrays I

On Supporting Adaptive Fault Tolerant at Run-Time with Virtual FPGAs

Mitigation of SCU and MCU effects in SRAM-based FPGAs: placement and routing solutions

Radiation Hardened System Design with Mitigation and Detection in FPGA

Simulation of Hamming Coding and Decoding for Microcontroller Radiation Hardening Rehab I. Abdul Rahman, Mazhar B. Tayel

SpaceWire IP Cores for High Data Rate and Fault Tolerant Networking

An Efficient FPGA Implementation of the Advanced Encryption Standard (AES) Algorithm Using S-Box

Introduction to Field Programmable Gate Arrays

FPGA based systems become very popular in many technical

Basic FPGA Architectures. Actel FPGAs. PLD Technologies: Antifuse. 3 Digital Systems Implementation Programmable Logic Devices

Reliability Improvement in Reconfigurable FPGAs

Single Event Latchup Power Switch Cell Characterisation

LogiCORE IP Soft Error Mitigation Controller v4.0

ESE532: System-on-a-Chip Architecture. Today. Message. Graph Cycles. Preclass 1. Reminder

11. SEU Mitigation in Stratix IV Devices

DESIGN OF IEEE TAP CONTROLLER IP CORE

SHA3 Core Specification. Author: Homer Hsing

Spartan-3E FPGA Design Guide for prototyping and production environment

Memories. Design of Digital Circuits 2017 Srdjan Capkun Onur Mutlu.

Configuration Scrubbing Architectures for High- Reliability FPGA Systems

SEU Mitigation Design Techniques for the XQR4000XL Author: Phil Brinkley, Avnet and Carl Carmichael

Implementation of Optimized ALU for Digital System Applications using Partial Reconfiguration

FPGAs operating in a radiation environment: lessons learned from FPGAs in space

PLAs & PALs. Programmable Logic Devices (PLDs) PLAs and PALs

Implementation of a FIR Filter on a Partial Reconfigurable Platform

ECE 331 Digital System Design

New Logic Module for secured FPGA based system

On-Line Single Event Upset Detection and Correction in Field Programmable Gate Array Configuration Memories

Energy proportional computing in Commercial FPGAs with Adaptive Voltage Scaling ABSTRACT 2. RELATED WORK 1. INTRODUCTION

System Verification of Hardware Optimization Based on Edge Detection

INTRODUCTION TO FIELD PROGRAMMABLE GATE ARRAYS (FPGAS)

A Kind of Low-cost Non-intrusive Autonomous Fault Emulation System

9. SEU Mitigation in Cyclone IV Devices

Don t expect to be able to write and debug your code during the lab session.

Reliability Measurement of FPGA Implementations on Software-Defined Radio Platforms

FPGA. Agenda 11/05/2016. Scheduling tasks on Reconfigurable FPGA architectures. Definition. Overview. Characteristics of the CLB.

VHDL-MODELING OF A GAS LASER S GAS DISCHARGE CIRCUIT Nataliya Golian, Vera Golian, Olga Kalynychenko

Systems. FPGAs. di Milano. By: Examiner: Axel Jantsch. Supervisor:

Study on FPGA SEU Mitigation for Readout Electronics of DAMPE BGO Calorimeter

Improving Reconfiguration Speed for Dynamic Circuit Specialization using Placement Constraints

EITF35: Introduction to Structured VLSI Design

Fault-Free: A Framework for Supporting Fault Tolerance in FPGAs

Evaluation of FPGA Resources for Built-In Self-Test of Programmable Logic Blocks

Reliability of Programmable Input/Output Pins in the Presence of Configuration Upsets

LSN 6 Programmable Logic Devices

Programmable Logic Devices

Lab 3 Sequential Logic for Synthesis. FPGA Design Flow.

Dependable VLSI Platform using Robust Fabrics

A Low-Cost SEE Mitigation Solution for Soft-Processors Embedded in Systems On Programmable Chips

Configurable Fault Tolerant Processor (CFTP) for Space Based Applications

FPGA Implementation of High Speed AES Algorithm for Improving The System Computing Speed

Transcription:

Dynamic Partial Reconfiguration of FPGA for SEU Mitigation and Area Efficiency Vijay G. Savani, Akash I. Mecwan, N. P. Gajjar Institute of Technology, Nirma University vijay.savani@nirmauni.ac.in, akash.mecwan@nirmauni.ac.in, nagendra.gajjar@nirmauni.ac.in Abstract The fast growing VLSI industry demands new techniques for configuring the FPGA. When it comes to defence and space application the configuration of the FPGA becomes more crucial. When it is required to configure the FPGA automatically, the need arises of more sophisticated and fast techniques for reconfiguration of FPGA. In the space application, the effect of radiation changes the bit patterns in the SRAM cells of FPGA, so it is required to put FPGA into its original condition before SEU. Considering all the facts the paper discusses the mitigation techniques for Single Event Upset (SEU) through Dynamic Partial Reconfiguration of FPGA. It is also very useful to save area of the FPGA by reconfiguration. For the proof of concept up and down sampler are developed as a reconfiguration module and then used for Dynamic Partial Reconfiguration technique. The timing and area requirement of reconfiguration using various techniques is the major focus of the paper. Keywords: Single Event Upset (SEU), Reconfiguration, Mitigation. 1. Introduction In the modern era the FPGAs are widely use to make the prototype of any system. In the space application FPGAs are more used because the designing with FPGA is easy and fast. Many times it is also required to reprogram the chip. FPGA is very flexible to reprogram. Xilinx Virtex FPGAs offer to exploit the features of dynamic and partial run-time reconfiguration. One of the major motivations of this paper is to give the proof of concept of DPR to mitigate the soft-errors in FPGA designs when we use it for space application. Single event upset (SEU) is defined by NASA as "Radiation-induced errors in microelectronic circuits caused when charged particles (usually from the radiation belts or from cosmic rays) lose energy by ionizing the medium through which they pass, leaving behind a wake of electron hole pairs" [10]. SEUs are soft errors, and are nondestructive. An SEU may occur in analogue, digital, optical components, or may have effects in surrounding interface circuitry. FPGAs based on SRAM can be reprogrammed an unlimited number of times, even in the end-user system. The Single Event Upset occurs when radiation affects the transistors that are part of the look up table logic of the FPGA. If the lookup table is affected by radiation can change the bit values associated with the hardware made up of the current FPGA design. SEU is a change of state caused by ions or electro-magnetic radiation striking a sensitive node (area) in a microelectronic device (Bit-Flip) as shown in the figure 1. The state change is a result of the free charge created by ionization in or close to an important node of a logic element. In these FPGAs, a multitude of latches, also called memory cells or RAM bits, define all logic functions and on-chip interconnects. Such latches are similar to the 6- transistor storage cells used in SRAMs, which has proved to be sensitive to single event upsets caused by highenergy neutrons [11]. Vol 2, No 2 (April 2011) IJoAT 285

Fig 1. SEU in the FPGA There are basically five area of the FPGA s CLB which susceptible to SEU as shown in the figure 2. 1. Upsets in the logic (LUT). 2. Upsets in the customization routing bits inside the CLB. 3. Upsets in the routing connecting CLBs and pins. 4. Upsets in the CLB flip-flops (flip-flops). 5. Upsets in BRAM. Fig 2. Area of the FPGA s CLB are affected by SEU There are two main categories of radiation effect that are relevant for Static Random Access Memory (SRAM) Field-Programmable Gate Arrays (FPGAs) in space: Total-Dose Effects and Single-Event Effects (SEEs). Total-Dose Effects are cumulative effects that induce degradation of electrical parameters at the device, circuit, and system level. SEU falls in to SEE category. The technique of removing SEU is called mitigation. Various mitigation techniques are available to get the rid of SEU. Some of the mitigation techniques are as follows: Triple Modular Redundancy (TMR) TMR registers with Voters and Scrubbing Read back CRC Partial Reconfiguration o Static Partial Reconfiguration o Dynamic Partial Reconfiguration Dynamic Partial Reconfiguration features open a wide area for designing systems exploiting this method, if for example run-time adaptive systems change their behavior on-demand initiated by processing input of data from external source. New approach using this feature makes it possible to use FPGAs with smaller configuration memory and consequently smaller chip size by storing configuration data on external memory. Thus it is possible to save cost and reduce power consumption because it does not actually use new modules of a system and do not allocate configuration memory and corresponding power consuming hardware. Vol 2, No 2 (April 2011) IJoAT 286

Nevertheless power dissipation during reconfiguration has to be considered [2]. The next sections of the paper mainly concentrate on the Partial Reconfiguration of the FPGA. 2. Partial Reconfiguration Partial Reconfiguration is reconfiguring only the part of FPGA. When the full FPGA is configured it requires more time to get reconfigured but when part of FPGA is reconfigured the process becomes fast. In the partial reconfiguration FPGA is divided in two regions one is static part which will never change in reconfiguration and the second is dynamic part which will change as and when require. This dynamic part can be reconfigured by two ways: Static Partial Reconfiguration Dynamic Partial Reconfiguration In Static Partial Reconfiguration the system will stop working at the time of reconfiguration and the part which is required to be reconfigured will only be programmed again. While in the Dynamic Partial Reconfiguration the system will keep on running when the dynamic part is getting reconfigured. In Dynamic Partial Reconfiguration, while run-time, different configurations were sent via the configuration access port to the configuration memory. Both logic elements and routing resources can be influenced and adapted to a new functionality and routing. It becomes clear that changes influence the behaviour of functions in the neighbourhood if signal lines cross the area where partial reconfiguration occurs. Figure 3 shows schematically the process of dynamic and partial hardware reconfiguration. On the lower par of the figure the timeline with the different time steps can be seen. At t0 the reconfigurable hardware is started and contains no configuration information. After a time period until t1 the configuration data is transferred to the device. After the successful transfer of configuration data the device starts with data processing within Configuration A and B. These two configurations can be algorithms, finite state machines or other processing elements. At t2 the functionality within configuration B is stopped and substituted by another configuration. The configuration C is loaded to the device while configuration A stays in operation. After transferring the data for configuration C at time step t3, the reconfigurable hardware proceeds data processing with configuration A and C. This small example shows the benefits of dynamic and partial reconfiguration. The architecture can be adapted to the requirements of the applications while parts of the system stay operative. A system exploiting this feature is described in [1]. Fig 3. Dynamic Partial Reconfiguration Vol 2, No 2 (April 2011) IJoAT 287

3. Implementation In Partial Reconfiguration the portion of the design which gets reconfigured, is called Reconfiguration Module (RM). To explore the efficiency of partial reconfiguration we have chosen one reconfiguration region and two RM, one is the digital up-sampler and another is down-sampler. They were designed and configured using static and dynamic partial reconfiguration. Figure 4 shows the RTL design of Up-Sampler and figure 5 shows the RTL design of Down-Sampler. Fig 4. RTL of Up Sampler Design Fig 5. RTL of Down Sampler Design The static part of the design consists of inputs to the system, start and stop control and a 100 MHz clock signal. While the dynamic part consist of up and down sampler as shown in figure 4 & 5. Systems implementing partial self-reconfiguration are still uncommon in most FPGA applications due to the relatively large overhead required for the initial analysis phase to find a working tool flow. Xilinx has recently been attempting to make partially reconfigurable systems easier to implement. Xilinx has added more documentation to their website and has produced a more user-friendly floor planning tool used for partial reconfiguration, but much of this information is currently limited to an Early Access area that requires approval for access. A dynamic partial reconfiguring system on a Xilinx Virtex FPGA is implemented by making use of the Internal Configuration Access Port (ICAP). A partial bitstream is written to the ICAP, which then reconfigures the specified portions of the FPGA with the new logic. Communication with the ICAP can be implemented through soft core processor or through a custom VHDL logic design. Using the custom logic or by writing the custom routine in the soft core processor we can frequently reconfigure the portion of the design which is very critical and we can mitigate or remove the accumulation of single bit-flip error which we called as SEU. Vol 2, No 2 (April 2011) IJoAT 288

These two reconfiguration modules are configured in the FPGA Xilinx Virtex5 XC5VLX110T-1ff1136 using static and dynamic partial reconfiguration. The designs are compared for reconfiguration timing. The total time of configuring the full FPGA is also compared. Figure 6 shows the dynamic reconfigurable portion in the final design. Fig 6. Pblock area of Dynamic part of Design 4. Results The figure 7 shows the reconfiguration menu which the part of routine written in the soft core processor and which having the UART interface enable for the user interaction with core and ICAP to do the reconfiguration. The figure 8 shows the timing requirement for reconfiguration of the RM into the design. Fig 7. Partial Reconfiguration of RM Module Fig 8. Timing requirement for the configuration of RM Vol 2, No 2 (April 2011) IJoAT 289

Table 1 is total device utilization summary when we combine the module into single design without reconfiguration. Table 2 is area comparisons for the up and down converter and shows the % saving in area when we use only one module into the design and doing the reconfiguration of the required module into the design. Table 1. Device Utilization Summary (Device Used: Virtex5, 5vlx110tff1136-1) XILINS VIRTEX5 XC5VLX110T-1FF1136 LOGIC UTILIZATION USED AVAILABLE UTILIZATION NUMBER OF SLICE REGISTERS 3255 69120 4% NUMBER OF SLICE LUTS 3245 69120 4% NUMBER OF FULLY USED BIT SLICES 1328 5172 25% NUMBER OF BONDED IOBS 22 640 3% NUMBER OF BLOCK RAM/FIFO 18 148 12% NUMBER OF BUFG/BUFGCTRLS 5 32 15% NUMBER OF DCM_ADVS 1 12 8% NUMBER OF DSP48ES 3 64 4% Table 2. Area Comparison Up/Down Sampler Device Used: Virtex5 5vlx110tff1136-1 Device utilization summary: Available Up sampler alone Down alone sampler Combine up and down sampler Average % of Saving Slice Utilization Logic Number of Slice Registers 69120 3 8 11 45.46 % Number of Slice LUTs 69120 4 9 12 50.00 % Number used as Logic 69120 4 9 12 50.00 % Slice Distribution Logic Number of LUT Flip Flop pairs used -- 7 17 12 8.34 % Table 3 shows the comparisons of the time required loading the Reconfiguration Modules into the FPGA and the time required to load the entire design as a whole. Table 3. Time Requirement for Reconfiguration Reconfigure Module Size of bit file Time Require to Reconfigure (Using No of Count) No of Processor Clock Cycle Down Sampler 43.379 Kbytes Up 39.993 Sampler Kbytes Blank 39.863 Kbytes 0.99 µsec (990 nsec) 1.16 µsec (1160 nsec) 0.97 µsec (970 nsec) 1 Cycle 1 Cycle 1 Cycle Vol 2, No 2 (April 2011) IJoAT 290

5. Conclusion This method is extremely useful for the space application as the SEU has to be mitigated. The basic conclusion that follows from the paper is that the time requirement in case of dynamic partial reconfiguration is very less compare to the full reconfiguration or the static partial reconfiguration. Also and small FPGA can also be used for larger design by dividing the design in the modules and we load the module into the FPGA as and when required by the application. Reference [1] M. Ullmann, M. Huebner, B. Grimm, J. Becker: An FPGA Run-Time System for Dynamical On- Demand Reconfiguration, RAW04, Santa Fee. [2] M. Hübner, J. Becker: Exploiting Dynamic and Partial Reconfiguration for FPGAs - Toolflow, Architecture and System Integration [3] Cristiana Bolchini, Davide Quarta, Marco D. Santambrogio: SEU Mitigation for SRAM-Based FPGAs through Dynamic Partial Reconfiguration [4] Davin Lim and Mike Peattie: Two types for partial reconguration: Module based or small bit manipulations, xapp290 (v1.0). May 2002. [5] Davin Lim and Mike Peattie: Difference-based partial reconguration, xapp290 (v2.0). Dec 2007. [6] Xilinx. Virtex 5 FPGA Configuration user guide, UG191 (v3.8), August 14, 2009. [7] Xilinx. Virtex 5 FPGA user guide, UG190, November 5, 2009. [8] http://trs-new.jpl.nasa.gov/dspace/bitstream/2014 /40763/1/08-09.pdf [9] http://www.sti.nasa.gov/thesfrm1. Vol 2, No 2 (April 2011) IJoAT 291