27
Micro-RDC icroelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work supported by the United States Air Force under Contract No. FA9453-08-M-0096. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the United States Air Force. G. Alonzo Vera [email protected]

Micro-RDC Microelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work

Embed Size (px)

Citation preview

Page 1: Micro-RDC Microelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work

Micro-RDCMicroelectronics Research Development Corporation

A Programmable Scrubber forFPGAs

ACKNOWLEDGMENT OF SUPPORT: This material is based upon work supported by the United States Air Force under Contract No. FA9453-08-M-0096. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the United States Air Force.

G. Alonzo [email protected]

Page 2: Micro-RDC Microelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work

Agenda

Summary of reported solutionsDesign specificationArchitectureExtended FeaturesStatus and testing plan

Page 3: Micro-RDC Microelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work

Agenda

Summary of reported solutionsDesign specificationArchitectureExtended FeaturesStatus and testing plan

Page 4: Micro-RDC Microelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work

Summary of reported solutions

Commonly implemented: Blind scrubbing NASA/GSFC Radiation effects analysis group V4 scrubber (06/2007)

Some examples of read, detect, scrub Sandia-Xilinx Virtex FPGA SEU experiment on the International

Space Station. Cross scrubbing between V4 and V5. LANL flight experiment for Virtex I and its derivations BYU ICAP-based scrubber. Uses picoblaze Radix4 configuration scrubber Aeroflex Scrubber, an implementation of 989 XAPP 714: self scrubber, not longer supported XAPP 779: V2 scrubber XAPP 988: V4 scrubber XAPP 989: lastest supported solution from Xilinx (V2/V4)

Page 5: Micro-RDC Microelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work

Commercially available solutions

Radix4 consulting Works only for VirtexII family Can be implemented as a peripheral or as stand alone Mitigate SEUs and SEFIs Uses 8-bit SelectMAP or ICAP

Ref.: Radix4 Configuration Scrubber datasheet

Page 6: Micro-RDC Microelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work

Commercially available solutions

Aeroflex Implements Xilinx's scrubber (XAPP989) on an Eclipse RadHard

FPGA For Virtex 4 family Corrects and detect SEU Uses 8-bit SelectMAP Uses single CRC32

for the whole bitstream Identifies SEFI's Scrubs by pulling down

PROG_B (whole device) Doesn't support frame-based

scrubbing

Ref.: Aeroflex's XRTC 2009 presentation

Page 7: Micro-RDC Microelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work

Agenda

Summary of reported solutionsDesign specificationArchitectureExtended FeaturesStatus and testing plan

Page 8: Micro-RDC Microelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work

Agenda

Summary of reported solutionsDesign specificationArchitectureExtended FeaturesStatus and testing plan

Page 9: Micro-RDC Microelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work

Design specification

Read/Write access to a memory-like configuration storage.

Error detection and correction using SECDEC or alternative.

Small footprint (originally thought as a “self-scrubber”).Flexibility to implement different scrubbing rates and

strategies, support different families and interfaces.Deal with scrubber's own susceptibility to SEU (TMR?).Others: Heartbeat signal, status and statistics on errors

reporting capabilities, re-programming.

Page 10: Micro-RDC Microelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work

Agenda

Summary of reported solutionsDesign specificationArchitectureExtended FeaturesStatus and testing plan

Page 11: Micro-RDC Microelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work

Agenda

Summary of reported solutionsDesign specificationArchitectureExtended FeaturesStatus and testing plan

Page 12: Micro-RDC Microelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work

Architecture

Femto: 8 bit, single cycle, micro-coded, “controller”

“small footprint ...”

“error detection ..”

“flexibility ...” “read/write access ...”

Page 13: Micro-RDC Microelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work

FemtoCntrl: instructions

Page 14: Micro-RDC Microelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work

FemtoCntrl: Program example

Page 15: Micro-RDC Microelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work

PROM organization for Femto

Page 16: Micro-RDC Microelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work

Femto Flow

Page 17: Micro-RDC Microelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work

S-ASIC for rad-hard implementation

A Low-Cost Solution for Low-Volume, Advanced Radiation-Hardened IC’s

MPW Reticle → 10 Die w/Various Features

Page 18: Micro-RDC Microelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work

Femto's numbers

It currently occupies ~522 slices XAPP989: ~ 200 to 1200 slices. Others ??

Time to scrub ~ 0.2 sec (8bits @20 MHz for 32Mbit PROM) Instruccion memory: 256 instructions CRC16 code book : 1024

Page 19: Micro-RDC Microelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work

Agenda

RequirementsOther reported solutionsDesign specificationExtended FeaturesStatus and testing plan

Page 20: Micro-RDC Microelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work

Scrubber extended features

Selective scrubbing: flexible to implement different scrubbing rates and strategies

Page 21: Micro-RDC Microelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work

Scrubber extended features

Flexible deployment

Page 22: Micro-RDC Microelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work

Scrubber extended features

Support for other FPGA families or other devices (e.g. memories?)

Page 23: Micro-RDC Microelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work

Scrubber extended features

data

0 0 0Q0 Q1 Q2

D D D QQQ_Q

_Q

_Q

clock

data

1 0 1Q0 Q1 Q2

D D D QQQ_Q

_Q

_Q

clock

data

0 0 0Q0 Q1 Q2

D D D QQQ_Q

_Q

_Q

clock

data

1 0 1Q0 Q1 Q2

D D D QQQ_Q

_Q

_Q

clock

time = 0

FPGA had its configuration just loaded and the registers are at reset

time = XFPGA have been working for a while

and the shift register has valuable data on it.

Shift register implemented with Distributed RAM (SRL)

time = YFPGA has its configuration reloaded

due to the presence of an upset. The shift register contents are reset, content

is lost. Time = X is required to recalculate contents

time = Y

Alternative solution. FPGA has its configuration reloaded. Scrubbing

is used to set the shift register value to predefined state.

State reloading

Page 24: Micro-RDC Microelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work

Agenda

Summary of reported solutionsDesign specificationArchitectureExtended FeaturesStatus and testing plan

Page 25: Micro-RDC Microelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work

Agenda

RequirementsOther reported solutionsArchitectureExtended FeaturesStatus and testing plan

Page 26: Micro-RDC Microelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work

Testing Plan

Supporting components: Formal verification plan for software components (flow) and RTL (Q3-09)

Static testing: Fault injection / scrubbing automatic test (Q3-09)

Dynamic testing Synthetic : Fault injection / detect / scrub / error

monitoring (Q4-09) Proton testing: radiate / detect / scrub / error

monitoring (Q1-10)

Page 27: Micro-RDC Microelectronics Research Development Corporation A Programmable Scrubber for FPGAs ACKNOWLEDGMENT OF SUPPORT: This material is based upon work

Questions?

[email protected]