1 - IEAv
Transcrição
1 - IEAv
Radiation Effects and Mitigation Techniques for FPGAs Fernanda Lima Kastensmidt Universidade Federal do Rio Grande do Sul (UFRGS) Contact: [email protected] Field Programmable Gate Arrays A type of gate array that is programmed in the field rather than in a semiconductor fab. It contains programmable logic components called "logic blocks", and a hierarchy of configurable interconnects that allow the blocks to be "wired together“. Logic blocks: can be configured to perform complex combinational functions (combinational logic) include memory elements (sequential logic) It may contain embedded memories and microprocessors SERESSA 2011 – Fernanda Kastensmidt FPGA Design Flow Design Synthesis optimizations Logic mapping Placement Routing configuration bitstream … 101001110100000111… User’s design mapped into the FPGA SERESSA 2011 – Fernanda Kastensmidt FPGA Summary Programmable Element ANTIFUSE • electrically programmable switch forms a low resistance path between two metal layers. Characteristics Example of Fabricants FLASH • electrically programmable transistors hold the configuration that controls a pass transistors or multiplexers connected to predefined metal layers SRAM • the state of a static latch controls pass transistors or multiplexers connected to predefined metal layers • Configuration is NO volatile • Configuration is NO volatile • Configuration is volatile • One-time configurable • Re-configurable • Re-configurable SERESSA 2011 – Fernanda Kastensmidt Effects of ionizing radiation Single Event Effects (SEE) Soft Errors Hard Errors Single Event Transient (SET) Functional Interrupt (SEFI) Single Event Upset (SEU) Single Event Latchup (SEL) Gate Rupture (SEGR) Single Event Burnout (SEB) Total Ionizing Dose (TID) Displacement Damage (DD) 6 Kastensmidt SERESSA 2011 – Fernanda Radiation effects in FPGA Single Event Effects (SEE) Soft Errors Hard Errors Single Event Transient (SET) Functional Interrupt (SEFI) Single Event Upset (SEU) Single Event Latchup (SEL) Gate Rupture (SEGR) Single Event Burnout (SEB) Total Ionizing Dose (TID) Displacement Damage (DD) 7 Kastensmidt SERESSA 2011 – Fernanda SEU in Memory Elements SRAM cell OFF OFF 01 OFF WL OFF WL 01 gnd BIT-FLIP P N N P ionization 8 Kastensmidt SERESSA 2011 – Fernanda SET in Logic Gates Inverter cell 1 OFF 0 gnd P N N P ionization 9 Kastensmidt SERESSA 2011 – Fernanda SET in Combinational Circuits Not all SETs are captured by a memory cell. They can be: Logical masked Electrical masked Latch window masked Logical masked e0 e1 e2 a3 1 0 0 0 1 1 1 10 Kastensmidt SERESSA 2011 – Fernanda Q SET in Combinational Circuits Not all SETs are captured by a memory cell. They can be: Logical masked Electrical masked Latch window masked Electrical masked e0 e1 e2 a3 1 1 1 0 1 Negligible pulse 0 0 0 SERESSA 2011 – Fernanda Kastensmidt Q SET in Combinational Circuits Not all SETs are captured by a memory cell. They can be: Logical masked Electrical masked Latch window masked Latch window masked e0 e1 e2 a3 1 1 1 0 1 0 0 0 clk edge 12 Kastensmidt SERESSA 2011 – Fernanda Q TID Effects in CMOS circuits Effects: • shifts in the NMOS transistor Voltage Threshold (Vth) • increase of leakage current in transistors • Flash transistors: lost of gate charge Because oxide dimensions reduce with the advance of technology, TID effects have been reduced. SERESSA 2011 – Fernanda Kastensmidt Using FPGA under Radiation Analyze SEU and SET effects in FPGA architecture and your configured design Use hardening techniques if needed Qualify FPGA and your design under radiation User implementation: Hardening techniques at hardware description language (your configured design): VHDL or Verilog design Vendor implementation: Hardening techniques at the FPGA matrix logic gates and flip-flops FPGA SERESSA 2011 – Fernanda Kastensmidt Synthesis Tool Synthesis attributes must be set on your design tool. For example by using Synplify, Mentor or Synopsys. According to the tool and vendor there are: tmr attributes can be turned on or off and it can be local or global. Examples: Module br_core (.............) /* synthesis syn_radhardlevel="tmr" */; reg hdw_loss_arb /* synthesis syn_radhardlevel="tmr" */; SERESSA 2011 – Fernanda Kastensmidt Common used SEE Mitigation Techniques Localized TMR: Only flip-flops are TMR with voters By the user (HDL level description) By the vendor (in the silicon FPGA matrix) Global TMR (also known XTMR) All logic and flip-flops are TMR and voted Clk tree can be also triplicated IOBs can also be triplicated By the user (HDL level description) Reconfiguration SET filtering Usually by the user (HDL level description) Be very aware about synchronization EDAC and other redundancy methods Can be used in by user (HDL description) depending on the FPGA and cases. One time Configurable FPGAs 17 Antifuse FPGA from Actel (Microsemi) RTAX –S/SL 0.15 µm CMOS antifuse process technology, 7 metal layer 1.5V core Embedded memory 350 MHz Antifuse FPGAs SERESSA 2011 – Fernanda Kastensmidt RTAX-S device RAM RAM RAM RAM RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC RAMC RAMC SC SC SC SC SC SC SC SC SC SC SC SC RD SC SC SC SC SC SC SC SC RD SC SC RAMC SC SC SC SC SC SC RD SC SC RAMC SC SC SC SC SC SC RD SC SC RAMC SC SC SC SC SC SC RD SC SC RAMC SC SC SC SC SC SC RD SC SC RX SC SC RAMC RAMC SC SC SC SC SC SC SC SC SC SC SC SC RD RD SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC RAMC SC SC SC SC SC SC RD SC SC RAMC SC SC SC SC SC SC RD SC SC C C R TXSC SC TXSC SC SC SC SC SC SC SC SC SC SC SC SC SC SC SC SC SC SC SC SC SC SC SC SC SC SC B RXSC SC SC SC SC HD HD HD HD HD HD HD HD HD HD HD HD HD RAMC SC SC SC SC SC SC CT SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC RAMC RAMC SC SC SC SC SC SC SC SC SC SC SC SC RD RD SC SC SC SC SC SC SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC RAMC RAMC SC SC SC SC SC SC SC SC SC SC SC SC RD RD SC SC SC SC SC SC SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC Super Cluster TX TX RX RX [Actel, RTAX-S RadTolerant FPGAs 2007] Antifuse FPGAs C C R RTAX-S device C C-CELL R R-CELL CFN C-CELL D1 D3 B0 B1 FCI D1 D3 B0 B1 CFN Susceptible to SET C Robust to SEU 0 1 0 1 X 0 1 0 1 0 1 0 1 0 1 0 1 X 0 1 X 0 1 FCO Y A1 A0 DB D0 D2 Y A1 A0 DB D0 D2 0 1 ERROR [Actel, RTAX-S RadTolerant FPGAs 2007] Antifuse FPGAs SERESSA 2011 – Fernanda Kastensmidt RTAX-S device Control Logic [Wang et al, NSREC, 03] Logic redundancy design Clock Network Eliminate small leaves in the clock tree User flip-flop Hard-wired triple redundant latch for master and slave Embedded SRAM EDAC macro in FPGA design software (ACTgen) Hamming code detect two error bits, correct one error bit Bit separation: mitigate charge sharing Antifuse FPGAs SERESSA 2011 – Fernanda Kastensmidt RTAX-S: SEU Hardened Techniques [Wang et al, NSREC, 03] C C R Hardened flip-flop (TMR) D1 D3 B0 B1 D1 D3 B0 B1 CFN FCI C-CELL CFN FCI C-CELL 0 1 0 1 comb logic A1 A0 D0 D2 Y A1 A0 DB DB comb logic 0 1 D0 D2 0 1 0 1 0 1 0 1 0 1 0 1 Y 0 1 VHDL / Verilog directly to the FPGA with no modifications as all flip-flops are already hardened by the vendor. Antifuse FPGAs SERESSA 2011 – Fernanda Kastensmidt RTAX-S: SET mitigation by User [Wang et al, NSREC, 03] C C R Hardened flip-flop (TMR) D1 D3 B0 B1 D1 D3 B0 B1 CFN FCI C-CELL CFN FCI C-CELL 0 1 0 1 0 1 0 1 0 1 0 1 SET Filter comb logic A1 A0 DB D0 D2 0 1 Y A1 A0 DB D0 D2 0 1 Y 0 1 0 1 VHDL / Verilog must be modified to add SET filtering. Antifuse FPGAs Antifuse FPGA from Aeroflex UT6325 RadTol Eclipse FPGA 0.25μm, five-layer metal, ViaLinkTM epitaxial CMOS 120 MHz 2.5V core supply voltage Embedded memory Antifuse FPGAs SERESSA 2011 – Fernanda Kastensmidt RadHard Eclipse FPGA ERROR X hardened flip-flops Robust to SEU ViaLink connections Antifuse FPGAs SEU hardened Technique Hardened flip-flop by vendor: based on DICE DICE Memory Cell [Calin, 96] Vdd Vdd Vdd Vdd MP0 MP1 MP2 MP3 A B C D MN0 Vss MN1 Vss MN2 MN3 Vss Vss clk MN4 MN5 MN6 MN7 /D D Embedded memory: EDAC code by user Combination logic: SET filtering by user Antifuse FPGAs One-time configurable FPGA Summary Configuration cells are not sensitive to SEE. Flip-flops are not sensitive to SEU Actel and Aeroflex provides one solution where all flip-flops are hardened. No modifications at HDL is needed for SEU mitigation Logic are susceptible to SETs in high frequency (>100Mhz) The user may protect the logic by using high level mitigation techniques in the HDL description of the design. Redundancy or EDAC is more appropriate than SET filtering, or SET filtering with TMR in flip-flops. Embedded memory EDAC codes implemented by user Antifuse FPGAs SERESSA 2011 – Fernanda Kastensmidt Reconfigurable FPGAs 28 Reconfiguration in space: why? To gain flexibility Reconfiguration has been there for years: Resource optimization due to time sharing Extend the lifetime by adding new functions Bug fixing Updates Download of new software Enabling/disabling of spare modules Reconfigurable FPGAs can bring new possibilities! SERESSA 2011 – Fernanda Kastensmidt FPGA structure/technology SERESSA 2011 – Fernanda Kastensmidt What about space? Reconfigurable FPGAs: Configuration memory must be changeable on-the-fly Multiple configuration images must be stored Space environment can alter configuration information Challenges: Understand the problem Identify suitable error mitigation techniques SERESSA 2011 – Fernanda Kastensmidt SRAM-based FPGA Architecture Xilinx Virtex-4QV BRAM Lookup Table CLB (LUT) A B C D 0 1 PowerPC 1 1 1 1 1 1 0 Boolean Function F(A,B,C,D) ‘0’ 1 PowerPC 0 0 1 DSP 0 1 0 SRAM-based FPGAs 32 SEU in SRAM-based FPGAs: CLB slice I1 I2 I3 I4 LUT CLB slice 0 0 0 1 0 1 1 1 0 0 0 1 0 1 1 1 Transient Effect (corrected at next ffp load) LUT routing Persistent effect (corrected by scrubbing) SRAM-based FPGAs Configuration memory bits SERESSA 2011 – Fernanda Kastensmidt 33 SET in SRAM-based FPGAs : CLB slice I1 I2 I3 I4 LUT CLB slice 0 0 0 1 0 1 1 1 0 0 0 1 0 1 1 1 X SET may be captured by the ffp. LUT routing Transient Effect (corrected at next ffp load) SRAM-based FPGAs Configuration memory bits 34 SRAM-based FPGA General Routing Matrix (GRM) Xilinx Virtex-4QV Direct lines Long lines CLB CLB CLB Hex connections CLB CLB CLB CLB CLB CLB CLB Fast connect Double lines CLB SRAM-based FPGAs CLB CLB CLB Hex lines CLB CLB Direct connections CLB CLB CLB CLB 35 CLB SEU in SRAM-based FPGAs: Routing configuration cells Xilinx Virtex-4QV Direct connections: 0 Hex connections: 1 open open short short 1 short 0 0 1 1 1 open Persistent effect (corrected by scrubbing) SRAM-based FPGAs SERESSA 2011 – Fernanda Kastensmidt 36 Other sensitive structures Power-on Reset (POR) • Low probability of occurrence • Signature: done pin transitions low, I/O becomes tristated, no user functionality available • Solution: reconfigure device SelectMAP and JTAG controllers • Low probability of occurrence • Signature: loss of communication, read access to configuration memory returns constant value. • Solution: reconfigure device Single-Event-Functional Interrupts (SEFI) Digital Clock Manager (DCM) Input and Output Blocks (IOB) Power-PC Hard IP Multi-Gigabit Transceivers (MGT) SRAM-based FPGAs 37 Flash-based FPGA ProAsic3 /RT3P Flash-based FPGAs SEE sensitivity Configurable Logic Block called VersaTile VersaTile logic Flash-based FPGAs Effect 1: SET in the logic SERESSA 2011 – Fernanda Kastensmidt SEE sensitivity Configurable Logic Block called VersaTile VersaTile X ffp Flash-based FPGAs Effect 2: SEU in the ffp SERESSA 2011 – Fernanda Kastensmidt SEE sensitivity Floating Gate (FG) switch Effect 3: SET in the logic path SET in the routing path Flash-based FPGAs SERESSA 2011 – Fernanda Kastensmidt SEE Mitigation Techniques Design-level solutions: Use non rad-hard FPGAs (military / COTS): Design-level and architectural-level mitigation Place and route mitigation Device-level solutions: Use rad-hard FPGAs by construction (Virtex-5QV , ATF280), based on 12T memory elements, plus glitch filtering and ECC Flash-based FPGAs SERESSA 2011 – Fernanda Kastensmidt SEE Mitigation Techniques Different types of mitigations according to the FPGA sensitivity Implemented by user: SEE mitigation techniques at design and architecture level: VHDL or Verilog; and at EDA level: place&route Soft FPGAs (COTS/Military) SRAM-based FPGAs: Virtex families [Xilinx] - Virtex-4QV (Space-grade) FLASH-based FPGAs: ProASIC families [Actel] design FPGA Flash-based FPGAs SRAM-based FPGAs SERESSA 2011 – Fernanda Kastensmidt Design Flow Mitigation for SRAM-based FPGAs HDL design TMR by hand ISE tool Placement Routing ISE tool Synthesis optimizations configuration bitstream … 101001110100000111… Scrubbing (full or partial reconfiguration) SRAM-based FPGAs Logic mapping Placement Routing 10101011.. output Fault Injection (fault tolerance verification) SERESSA 2011 – Fernanda Kastensmidt SEE mitigation for SRAM-based FPGAs Scrubbing: full or partial reconfiguration XQR18V04 BOOT DATA[7:0] OE/RESET CE GND CLK EEPROM Original bitstream XQR18V04 SCRUB DATA[7:0] OE/RESET CE GND CLK OSC SRAM-based FPGAs 10101000101 FPGA DATA[7:0] INIT Configuration bits DONE 00000001010 00000001010 CS 10101010100 10101010100 WR I/O I/O SCRUB Controller I/O I/O 10101010010 10101010010 10101010101 10101000101 01010100101 01010100101 11111111101 11111111101 11100000000 11100000000 11101010101 11101010101 10101010101 10101010101 00101000010 00101000010 CCLK SERESSA 2011 – Fernanda Kastensmidt Scrubbing Method Scrubbing can be performed: from outside the FPGA by another FPGA controller from inside the FPGA: Hardware Internal Configuration Access Port (HWICAP) SRAM-based FPGAs SERESSA 2011 – Fernanda Kastensmidt SEE mitigation for SRAM-based FPGAs Global TMR (also known XTMR) All logic and flip-flops are TMR and voted clk tree triplicated IOBs triplicated Implemented by the user (HDL level description) or by tool FPGA REDUNDANT LOGIC (tr2) REDUNDANT LOGIC (tr1) REDUNDANT LOGIC (tr2) REDUNDANT LOGIC (tr0) REDUNDANT LOGIC (tr1) REDUNDANT LOGIC (tr2) TMR Output Voter REDUNDANT LOGIC (tr1) REDUNDANT LOGIC (tr0) TMR flip-flop INPUT TMR flip-flop REDUNDANT LOGIC (tr0) package PIN package PIN granularity SRAM-based FPGAs OUTPUT SERESSA 2011 – Fernanda Kastensmidt FPGA REDUNDANT LOGIC (tr2) REDUNDANT LOGIC (tr1) REDUNDANT LOGIC (tr2) TMR Output Voter REDUNDANT LOGIC (tr1) TMR flip-flop INPUT REDUNDANT LOGIC (tr0) TMR flip-flop REDUNDANT LOGIC (tr0) REDUNDANT LOGIC (tr0) REDUNDANT LOGIC (tr1) REDUNDANT LOGIC (tr2) OUTPUT package PIN package PIN TMR flip-flop OK tr0 tr1 tr2 clk0 clk1 clk2 X OK OK MAJ MAJ MAJ The recovery path is mandatory to correct the state of the flipflops, specially in FSM. R0 R1 R2 OK OK 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 MAJ 0 0 0 1 0 1 1 1 LUT: 00010111_00010111 SRAM-based FPGAs SERESSA 2011 – Fernanda Kastensmidt 48 FPGA REDUNDANT LOGIC (tr2) REDUNDANT LOGIC (tr1) REDUNDANT LOGIC (tr2) REDUNDANT LOGIC (tr0) REDUNDANT LOGIC (tr1) REDUNDANT LOGIC (tr2) TMR Output Voter REDUNDANT LOGIC (tr1) REDUNDANT LOGIC (tr0) TMR flip-flop INPUT TMR flip-flop REDUNDANT LOGIC (tr0) OUTPUT package PIN package PIN REF R0 R1 R2 MAJ 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1 1 0 0 0 0: it allows the data to pass to the output pad. 1: it blocks the data LUT: 00011000_00011000 SRAM-based FPGAs R0 X O_voter 3-state_0 1 R0 X R1 OK O_voter 3-state_1 0 R1 OK R2OK O_voter 3-state_2 R2 SERESSA 2011 – Fernanda Kastensmidt 0 OK 49 Embedded Memory (BRAM): EDAC Virtex5: XQR5VFX130’s from Xilinx BRAM blocks are configurable as 512 64-bit RAM with 8-bit error correcting code (ECC) bits for every 64-bit word. The 8-bit ECC parity checksum detect and correct single-bit errors, and detect (but not correct) double-bit errors. For every word read, the 72-bits are fed into an ECC decoder which generates status bits indicating: no error, single-bit error detected and corrected, or double-bit error detected. [Allen et al., TNS 2010] SRAM-based FPGAs SERESSA 2011 – Fernanda Kastensmidt Embedded memory (BRAM): TMR Upsets in BRAMs are not corrected by scrubbing. TMR with refreshing can be used to mitigate upsets. Need to use Dual Port BRAMs. OK X Mechanism to refresh the memory contents Counter Voters SRAM-based FPGAs SERESSA 2011 – Fernanda Kastensmidt OK SEE in Embedded Processor PowerPC Software-based techniques Duplication of variables with comparisons (data fault effects) Basic block signatures (control flow fault effects) Watch-dog and self-checking blocks (improve control flow fault effects) Two Power-PCs for detection and recomputation [Bernardi, et al,, TNS, 2006] [Azambuja, et al, TNS, 2011] SRAM-based FPGAs SERESSA 2011 – Fernanda Kastensmidt Problem: Domain Crossing Events Bit-flips in the routing can generate short cut connections among different blocks of the TMR (tr0, tr1 and tr2). upset INPUT REDUNDANT OK LOGIC (tr1) REDUNDANTOK LOGIC (tr2) package PIN OK tr0 OK tr1 OK tr2 TMR Output Majority Voter REDUNDANTX LOGIC (tr0) TMR register with voters and refresh FPGA OUTPUT package PIN Upset affects only the redundant logic tr0, consequently, the majority voter choose the correct result (two out of three outputs). SRAM-based FPGAs SERESSA 2011 – Fernanda Kastensmidt Problem: Domain Crossing Events Bit-flips in the routing can generate short cut connections among different blocks of the TMR (tr0, tr1 and tr2). upset INPUT REDUNDANT OK LOGIC (tr1) REDUNDANT LOGIC (tr2) package PIN X X tr0 X tr1 X tr2 TMR Output Majority Voter REDUNDANT X LOGIC (tr0) TMR register with voters and refresh FPGA OUTPUT package PIN Upset affects two redundant logic modules, consequently, the majority voter may choose the wrong result (two out of three outputs). SRAM-based FPGAs SERESSA 2011 – Fernanda Kastensmidt Problem: Domain Crossing Events Bit-flips in the routing can generate short cut connections among different blocks of the TMR (tr0, tr1 and tr2). Signal: tr0_comp/N$302 Redundant 0 upset Signal: counter6/counter/I$26/tr2_count(1) Redundant 2 SRAM-based FPGAs SERESSA 2011 – Fernanda Kastensmidt Problem: Domain Crossing Events According to the location of the upsets, more than one CLB or routing connections can be affected generating error in more than one TMR redundant part. ~5% of the upsets in the routing may result on this type of fault Multiple bit upsets due to: High density and small dimensions of the configuration memory cells. Charge sharing SRAM-based FPGAs SERESSA 2011 – Fernanda Kastensmidt Solution for Domain Crossing Events Use dedicated placement and routing to minimize domain cross-section and vulnerable bit upsets. RoRa: Reliability-Oriented Place and Route Algorithm RORA [Sterpone, L. Electronics System Design Techniques for Safety Critical Applications Publisher Springer, 2008] SRAM-based FPGAs SEE Mitigation in Flash-based FPGAs Considering only SEU effect: Local TMR EDAC (hamming code) ProAsic3 /RT3P Considering SET and SEU effects: Global TMR SET filtering System redundancy and checkers Etc… User can protect the design at HDL level as in a ASIC! Flash-based FPGAs SERESSA 2011 – Fernanda Kastensmidt SEU mitigation for FLASH-based FPGAs Local TMR: Only flip-flops are TMR with voters Implemented: By the user (HDL level description) By the vendor (in the silicon FPGA matrix) ProAsic3 /RT3P FPGA LOGIC TMR Output Voter LOGIC TMR flip-flop Flash-based FPGAs LOGIC TMR flip-flop INPUT SERESSA 2011 – Fernanda Kastensmidt OUTPUT FPGA package PIN TMR Output Voter REDUNDANT LOGIC (tr0) TMR flip-flop REDUNDANT LOGIC (tr0) TMR flip-flop INPUT REDUNDANT LOGIC (tr0) OUTPUT package PIN TMR flip-flop clk X OK clk clk Flash-based FPGAs OK OK MAJ R0 R1 R2 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 MAJ 0 0 0 1 0 1 1 1 SERESSA 2011 – Fernanda Kastensmidt 60 SEU&SET mitigation for FLASH-based FPGAs TMR & SET filtering Implemented usually by the user (HDL level description) Be very aware about performance degradation Added delay is proportional to the SET pulse width intended to be filtered. FPGA Delay x1 Delay x2 Flash-based FPGAs LOGIC Delay x1 Delay x2 TMR Output Voter LOGIC TMR flip-flop INPUT SERESSA 2011 – Fernanda Kastensmidt OUTPUT FPGA Delay x2 Delay x1 Delay x2 TMR Output Voter Delay x1 LOGIC TMR flip-flop LOGIC INPUT OUTPUT clk logic0 OK clk Delay x1 clk X MAJ logic1 logic2 OK ffp0 ffp1 ffp2 Delay x2 clk OK MAJ Frequency penalty is proportional to Delay Flash-based FPGAs 62 SEU & SET mitigation in Flash-based FPGA VersaTile VersaTile VersaTile VersaTile ffp logic logic MAJ VersaTile VersaTile ffp delay VersaTile VersaTile delay delay VersaTile ffp VHDL / Verilog must be modified to add SET filtering and TMR Flash-based FPGAs SERESSA 2011 – Fernanda Kastensmidt SEE Mitigation Techniques Different types of mitigations according to the FPGA sensitivity RadHard SRAM-based FPGAs Virtex-5QV (Space-grade) - SIRF [XILINX] ATF280E [ATMEL] design Implemented by vendor: Device level and Hardening by Design (RHBD) techniques at the FPGA FPGA matrix logic gates and flip-flops Flash-based FPGAs SERESSA 2011 – Fernanda Kastensmidt ATF280 Reprogrammable RadTol FPGAs From Atmel SRAM-based FPGAs SERESSA 2011 – Fernanda Kastensmidt Mitigation Techniques in ATF280 Layout rules to mitigate charge sharing SEU hardened Memory cells (12T) Core cell Flip-Flops, embedded memory, configuration memory based on radiation hardened Flip-Flops Controller protected by classical TMR RAM address decoders, clock and reset trees Protected by DMR (resistive isolation path based on N and P isolated path carrying the same signal) Isolation path to filter SET [BANCELIN, MAPLD 2009] SRAM-based FPGAs SERESSA 2011 – Fernanda Kastensmidt Device-level SEE Mitigation in ATF280E FPGA SEU Hardened Flip-flop Isolation path for SET [BANCELIN, MAPLD 2009] SRAM-based FPGAs SERESSA 2011 – Fernanda Kastensmidt Xilinx SIRF FPGA Virtex-5QV (Space-grade) 65nm CMOS process SEU hardened flip-flops: All configuration SRAM cells All user flip-flops (CLB) SET filtering structure that can be configured on or off when configuring the FPGA. BRAMs have EDAC with refreshing to avoid accumulation of errors. SRAM-based FPGAs SERESSA 2011 – Fernanda Kastensmidt Resource Comparison ANTIFUSE SEU Equiv. Gates (4-LUT) FLASH SRAM 1.5 K 40 K 75 K 180 K 14 K 3K 20 K 75 K 180 K 14 K Dist. Mem (bits) - - - 1,000 K - Emb. Mem (bits) 55 K 504 K 504 K 6,000 K 115 K - 120 - 96 - 0.25μm 0.15μm FFps DSP modules [From Vendor Datasheets] or 0.13μm 0.09μm SERESSA 2011 – Fernanda Kastensmidt 0.18μm SEE Mitigation techniques ANTIFUSE SET SEU Config. bits SET filtering or global TMR None None FLASH SET filtering with localized TMR / EDAC / global TMR / others None None SRAM None* Global TMR None Scrubbing SERESSA 2011 – Fernanda Kastensmidt None SEE Summary ANTIFUSE SEU FLASH SRAM Satured crossSection (cm2/ffp) Embedded memory 2E-7 4E-9 4E-8 3E-8 Flip-flop 5E-7 1E-9 2E-7 7E-7 Embedded memory 64 30 1 0.2 Flip-flop 42 37 6 0.5 0.25μm 0.15μm LETth MeV-cm2/mg 0.13μm *With mitigation: SEE immunity < 43 MeV-cm2/mg 0.09μm SEE Summary ANTIFUSE SEU FLASH SRAM Error Rate per bit Embedded memory 4.8E-11 4.4E-12 4E-8 7E-7 2.8E-10 7.0E-13 5E-9 2E-6 Flip-flop 0.25μm 0.15μm 0.13μm The final Error Rate depends on your final design! 0.09μm TID and SEL effects in FPGAs ANTIFUSE TID SEL free 300 krad (si) < 120 Mev-cm2/mg 300 krad (si) < 117 Mev-cm2/mg FLASH < 40 krad (si) < 96 Mev-cm2/mg SRAM 300 krad (si) < 125 < 70 Mev-cm2/mg Mev-cm2/mg SERESSA 2011 – Fernanda Kastensmidt TID Effects in ProASIC3 / RT3P Logic is fabricated in 130nm and it presents electrical degradations that follows ASIC degradation. Floating gate (FG) transistor show degradation in: Vth shifts Leakage current Lost of charge Degradation in Charge-pump and control circuits. 27/09/2010 ESTEC TID Test: Co-60 source ProAsic3 FPGA Rate: 1.749 krad(Si)/h 0.48 rad(Si)/s At IEAv in São Jose dos Campos, Brazil Current & Temperature x krads(Si) 0.060000 Power supply DC current (A) 0.055000 0.050000 0.045000 0.040000 0.035000 0.030000 0.025000 0.020000 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 Accumulated dose (krad(Si)) 29.00 28.80 28.60 Temperature (Celsius) 28.40 28.20 28.00 27.80 27.60 27.40 27.20 27.00 26.80 0 5 10 15 20 25 30 35 40 45 50 55 Accumulated dose (krad(Si)) 60 65 70 75 80 TID effect Propagation Delay Degradation in ProASIC3 (130nm technology) [Kastensmidt et al, TNS, 2011] SERESSA 2011 – Fernanda Kastensmidt 1000 Avg1 (caseA & caseB) - measured Avg2 (caseC) - measured % Propagation-delay Degradation Avg3 (caseD) - measured Avg (all) - measured 100 10 1 0 3 6 10 13 17 20 24 27 31 34 38 41 45 48 52 Acummulated dose (krad(Si)) 27/09/2010 ESTEC 55 59 62 69 Conclusions Reconfigurable computing could be a breakthrough for certain space applications However, space is a very conservative business and may deem reconfigurable computing as too risky Sensitivity of devices to radiations Complexity of the design and validation process Enabling technology still not mature enough: Virtex 5 QV is ITAR and unknown AT280 is too small and low performing RT3P is not yet as capable as high-end SRAM FPGAs SERESSA 2011 – Fernanda Kastensmidt Thank You! Fernanda Lima Kastensmidt Universidade Federal do Rio Grande do Sul (UFRGS) Contact: [email protected]