fpga reliability evaluation
play

FPGA Reliability Evaluation Aitzan Sari, Vasileios Vlagkoulis, - PowerPoint PPT Presentation

Workshop on Open-Source Design Automation for FPGAs An Open-Source Framework for Xilinx FPGA Reliability Evaluation Aitzan Sari, Vasileios Vlagkoulis, Mihalis Psarakis Dept. of Informatics, University of Piraeus, Greece Motivation FPGAs


  1. Workshop on Open-Source Design Automation for FPGAs An Open-Source Framework for Xilinx FPGA Reliability Evaluation Aitzan Sari, Vasileios Vlagkoulis, Mihalis Psarakis Dept. of Informatics, University of Piraeus, Greece

  2. Motivation • FPGAs gain acceptance in critical applications (e.g. space avionics) • SRAM FPGAs are vulnerable to Single Event Effects (SEEs) • Need for FPGA design automation tools for the analysis of SEE vulnerability and design of mitigation approaches • Commercial and academic tools are available • Our goal: provide an open-source framework to support FPGA reliability assessment and improvement tasks 29 March 2019 M.Psarakis / University of Piraeus 2

  3. Existing academic frameworks • Reliability analysis and Implementation tools • VERI-Place (by Politecnico di Torino): for the placement of hardened circuits • an executable version is available upon request • SEVAX (by University of Piraeus): analytical approach for the SEU sensitivity analysis • open-source, available in github • Fault injection platforms • FTUNSHADES (by University of Sevilla and ESA): hardware-accelerated fault injection platform • available as a cloud-service, free of charge for research projects • JTAG configuration manager (by Brigham Young University): supports the JTAG protocol and FPGA configuration function and runs on an embedded board • not publicly available 29 March 2019 M.Psarakis / University of Piraeus 3

  4. An open-source framework JTAG-based User FPGA Application configuration engine JTAG To provide various FPGA configuration functions at low cost:  No extra equipment  No DUT modifications 29 March 2019 M.Psarakis / University of Piraeus 4

  5. Framework architecture User FPGA configuration Vivado application JTAG functions (TCL) 1 TCL I/F Local TCP/IP server On-chip logic handler Target FPGA High-level JTAG configuration User Logic functions engine 3 2 29 March 2019 M.Psarakis / University of Piraeus 5

  6. On-chip logic • Provides communication with the FPGA User FPGA configuration Vivado application JTAG functions (TCL) through the JTAG port TCL I/F Local TCP/IP server On-chip logic handler • Slower but less sensitive to radiation effects Target FPGA High-level JTAG configuration User Logic functions engine • Access to the configuration memory and registers • For reconfiguration (fault injection), readback and scrubbing • Access to the user logic • For monitoring and debugging • Three different alternatives 29 March 2019 M.Psarakis / University of Piraeus 6

  7. 1 - Basic setup JTAG controller provides access to the configuration JTAG I/F JTAG Controller BSCAN primitive memory and user logic User Logic User I/O (through BSCAN primitive) Configuration Memory & Registers FPGA device • Enables: • FPGA (re)configuration and configuration memory readback • Fault injection to the configuration frame(s) • Monitoring of the user logic 29 March 2019 M.Psarakis / University of Piraeus 7

  8. 2 – Frame ECC-based scrubbing setup • FRAME ECC provides access to the embedded ECC logic BSCAN primitive • FIFO retains the erroneous frames detected by the FRAME ECC JTAG I/F JTAG Controller BSCAN primitive • FIFO is read through the BSCAN primitive • HeartBeat logic provides watchdog BSCAN primitive Configuration functionality for the FRAME ECC User Logic Memory & User I/O Registers • Enables the building of a configuration FRAME ECC memory scrubber primitive FIFO Logic • FRAME ECC scans the configuration memory and stores the erroneous frames HeartBeat Logic • FIFO is read periodically • in case of error, configuration frames are FPGA device repaired by partial reconfiguration • Heartbeat is read periodically • in case of alarm, FPGA is fully reconfigured 29 March 2019 M.Psarakis / University of Piraeus 8

  9. 3 – Hardened (TMR) version • FIFO and HeartBeat modules are BSCAN primitive triplicated and voted JTAG I/F JTAG Controller BSCAN primitive • Multiple primitives simplifies the routing and facilitates the BSCAN primitive Configuration implementation of the Xilinx Memory & User Logic User I/O Registers Isolation Design Flow TMR with a voter FRAME ECC primitive • This setup is for use in a radiation FIFO Logic environment (e.g. radiation HeartBeat Logic experiments) • Tolerates all the programmable FPGA device resources of the on-chip logic against SEUs 29 March 2019 M.Psarakis / University of Piraeus 9

  10. JTAG configuration engine (CE) • Provides the low-level JTAG operations (as TCL FPGA configuration User Vivado application JTAG functions (TCL) functions) for accessing the FPGA configuration memory Local TCP/IP TCL I/F On-chip logic handler • basic boundary scan commands server Target FPGA • e.g. scan_ir_hw_jtag and scan_dr_hw_jtag High-level JTAG configuration User Logic functions engine • complex Vivado TCL commands • e.g. Configure, Readback, ReadbackCapture. ReadbackVerify, RegisterWrite, RegisterRead, FrameWrite, FrameRead • accepts commands from the user application and • executes the associated low-level TCL functions 29 March 2019 M.Psarakis / University of Piraeus 10

  11. High-level functions • Consists of the user application and the User FPGA configuration Vivado application JTAG functions (TCL) interface functionality with the JTAG CE TCL I/F Local TCP/IP On-chip logic (TCL I/F handler) handler server Target FPGA High-level JTAG configuration User Logic functions engine • Target application communicates with the JTAG CE • Using the APIs exposed by the TCL I/F handler • Proposed framework has been designed using Qt and PySide2 • Qt is a cross-platform application and UI development framework • PySide2 is a Python binding for Qt 29 March 2019 M.Psarakis / University of Piraeus 11

  12. TCP client-server approach • JTAG CE runs in a separate thread as TCP server User FPGA configuration Vivado application JTAG functions (TCL) • TCL I/F handler starts a Vivado instance in TCL I/F Local TCP/IP batch mode and a TCP client On-chip logic handler server Target FPGA High-level JTAG configuration • TCP client is used as Inter-Process User Logic functions engine Communication (IPC) between the user application thread and the JTAG CE • TCP client-server scheme was used to reduce the execution time overhead introduced by the Vivado instance • Creates a single Vivado instance instead of instantiating Vivado for every TCL script execution 29 March 2019 M.Psarakis / University of Piraeus 12

  13. Multiple client/server schemes • TCP client-server solution enables the development of: • multi-client schemes: multiple applications (clients) run in the same platform targeting the same FPGA device • example: a fault injection tool and a memory scrubbing process run in parallel for the same target FPGA • multiple-server schemes: multiple servers communicate with a single client and target different FPGA devices • example: concurrent fault injection in multiple FPGA boards 29 March 2019 M.Psarakis / University of Piraeus 13

  14. Use cases • Implemented for the needs of a radiation testing experiment • for the characterization of Xilinx Zynq-7000 devices under heavy-ion irradiation • Configuration memory scrubber • Radiation testing logger • checks the embedded ECC, monitors • records the bit upsets of the FPGA the heartbeat, reads and writes memories during irradiation (repairs) erroneous frames • JTAG commands: readback, • User application runs a 2D error readback-capture and readback- correction algorithm verify • JTAG commands: readback, readback- capture, FPGA configuration frame(s) read & write, configuration register(s) read & write 29 March 2019 M.Psarakis / University of Piraeus 14

  15. Conclusion • An open-source framework that provides access to the FPGA configuration memory and circuit logic via the JTAG protocol • Supports the development of FPGA reliability-aware methodologies • Open-source Project • Source code (TCL scripts, GUI, Python code for simple use cases and VHDL code for on-chip logic) are available to the github project FREtZ (FPGA Reliability Evaluation through JTAG) • Project is licensed under the GNU GPLv3 29 March 2019 M.Psarakis / University of Piraeus 15

  16. Thanks for your attention 29 March 2019 M.Psarakis / University of Piraeus 16

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend