Intel FPGA Fault Injection IP Core User Guide

Similar documents
Intel FPGA Error Message Register Unloader IP Core User Guide

Fixed-Point IP Cores (ALTERA_FIXED- POINT_FUNCTIONS) User Guide

LDPC IP Core User Guide

Altera Advanced SEU Detection IP Core User Guide

High-speed Reed-Solomon IP Core User Guide

Intel FPGA SerialLite III Streaming IP Core User Guide

RapidIO II Intel FPGA IP User Guide

Introduction to Intel FPGA IP Cores

RapidIO Intel FPGA IP User Guide

RapidIO II IP Core User Guide

RapidIO IP Core User Guide

Interlaken IP Core (2nd Generation) User Guide

Interlaken (2nd Generation) Intel FPGA IP User Guide

Viterbi IP Core User Guide

Introduction to Intel FPGA IP Cores

Intel Stratix 10 Low Latency 100- Gbps Ethernet IP Core User Guide

FFT IP Core. User Guide. Updated for Intel Quartus Prime Design Suite: Subscribe Send Feedback

Interlaken (2nd Generation) Intel Stratix 10 FPGA IP User Guide

25G Ethernet Intel Arria 10 FPGA IP User Guide

Intel Arria Gbps Ethernet IP Core User Guide

25G Ethernet Intel Stratix 10 FPGA IP User Guide

Low Latency 100-Gbps Ethernet IP Core User Guide

Low Latency 100G Ethernet Intel Stratix 10 FPGA IP Core User Guide

25G Ethernet Intel Stratix 10 FPGA IP User Guide

Intel Stratix 10 H-tile Hard IP for Ethernet Design Example User Guide

Intel Stratix 10 H-Tile Hard IP for Ethernet IP Core User Guide

SerialLite III Streaming IP Core Design Example User Guide for Intel Stratix 10 Devices

Low Latency 100G Ethernet Intel Stratix 10 FPGA IP Design Example User Guide

Intel Stratix 10 Low Latency 40G Ethernet Design Example User Guide

SerialLite III Streaming IP Core Design Example User Guide for Intel Arria 10 Devices

Stratix 10 Low Latency 40-Gbps Ethernet IP Core User Guide

Interlaken IP Core (2nd Generation) Design Example User Guide

H-tile Hard IP for Ethernet Intel Stratix 10 FPGA IP Design Example User Guide

Low Latency 100G Ethernet Design Example User Guide

25G Ethernet Intel Stratix 10 FPGA IP Design Example User Guide

High Bandwidth Memory (HBM2) Interface Intel FPGA IP Design Example User Guide

100G Interlaken MegaCore Function User Guide

Intel Quartus Prime Pro Edition Software and Device Support Release Notes

Customizable Flash Programmer User Guide

50G Interlaken MegaCore Function User Guide

Intel Quartus Prime Pro Edition Handbook Volume 3

CPRI v6.0 IP Core User Guide

Intel Quartus Prime Pro Edition

SDI II Intel FPGA IP User Guide

Intel Stratix 10 H-Tile PCIe Link Hardware Validation

Intel Arria 10 and Intel Cyclone 10 Avalon -MM Interface for PCIe* Design Example User Guide

Introduction to Altera IP Cores

Intel Quartus Prime Pro Edition Software and Device Support Release Notes

Clock Control Block (ALTCLKCTRL) IP Core User Guide

Low Latency 40G Ethernet Example Design User Guide

Viterbi IP Core User Guide

100G Interlaken MegaCore Function User Guide

Intel Quartus Prime Standard Edition Handbook Volume 3

Intel Cyclone 10 External Memory Interfaces IP Design Example User Guide

11. SEU Mitigation in Stratix IV Devices

FFT IP Core. User Guide. Subscribe Send Feedback. UG-FFT Latest document on the web: PDF HTML

AN 834: Developing for the Intel HLS Compiler with an IDE

External Memory Interfaces Intel Arria 10 FPGA IP Design Example User Guide

Intel Stratix 10 1G/2.5G/5G/10G Multi-rate Ethernet PHY IP Core User Guide

Intel Arria 10 Native Floating- Point DSP Intel FPGA IP User Guide

Intel Arria 10 and Intel Cyclone 10 Avalon-ST Hard IP for PCIe* Design Example User Guide

Generic Serial Flash Interface Intel FPGA IP Core User Guide

Intel Stratix 10 External Memory Interfaces IP Design Example User Guide

AN 737: SEU Detection and Recovery in Intel Arria 10 Devices

9. SEU Mitigation in Cyclone IV Devices

AN 839: Design Block Reuse Tutorial

Intel Quartus Prime Pro Edition Software and Device Support Release Notes

Low Latency 40-Gbps Ethernet IP Core User Guide

Intel FPGA Temperature Sensor IP Core User Guide

1G/2.5G/5G/10G Multi-rate Ethernet PHY Intel Stratix 10 FPGA IP User Guide

Intel Stratix 10 SEU Mitigation User Guide

AN 836: RapidIO II Reference Design for Avalon-ST Pass-Through Interface

Intel Quartus Prime Standard Edition Handbook Volume 3

Intel High Level Synthesis Compiler

Quick Start Guide for Intel FPGA Development Tools on the Nimbix Cloud

Intel FPGA Voltage Sensor IP Core User Guide

Intel MAX 10 User Flash Memory User Guide

Introduction to Altera IP Cores

Intel Acceleration Stack for Intel Xeon CPU with FPGAs 1.0 Errata

ASMI Parallel II Intel FPGA IP Core User Guide

Nios II Embedded Design Suite Release Notes

Intel Quartus Prime Standard Edition Software and Device Support Release Notes

Error Correction Code (ALTECC_ENCODER and ALTECC_DECODER) Megafunctions User Guide

DisplayPort Intel FPGA IP User Guide

Intel Quartus Prime Software Download and Installation Quick Start Guide

AN 464: DFT/IDFT Reference Design

Intel Quartus Prime Standard Edition Software and Device Support Release Notes

Embedded Design Handbook

DDR and DDR2 SDRAM Controller Compiler User Guide

Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE) Quick Start User Guide

Arria V Avalon-MM Interface for PCIe Solutions

Intel FPGA DisplayPort IP Core User Guide

AN 825: Partially Reconfiguring a Design on Intel Stratix 10 GX FPGA Development Board

Intel Stratix 10 Logic Array Blocks and Adaptive Logic Modules User Guide

AN 830: Intel FPGA Triple-Speed Ethernet and On-Board PHY Chip Reference Design

9. Functional Description Example Designs

Remote Update Intel FPGA IP User Guide

Partial Reconfiguration Solutions IP User Guide

AN 797: Partially Reconfiguring a Design on Intel Arria 10 GX FPGA Development Board

AN 825: Partially Reconfiguring a Design on Intel Stratix 10 GX FPGA Development Board

Transcription:

Intel FPGA Fault Injection IP Core User Guide Updated for Intel Quartus Prime Design Suite: 17.1 Subscribe Send Feedback Latest document on the web: PDF HTML

Contents Contents 1... 3 1.1 Features...3 1.2 Device Support... 3 1.3 Resource Utilization and Performance... 3 1.4 Installing and Licensing Intel FPGA IP Cores... 4 1.5 Customizing and Generating IP Cores...4 1.5.1 IP Catalog and Parameter Editor... 4 1.5.2 IP Core Generation Output (Intel Quartus Prime Pro Edition)... 6 1.6 Instantiating the Intel FPGA Fault Injection IP Core... 9 1.6.1 About the EMR Unloader IP Core...9 1.6.2 About the Advanced SEU Detection IP Core... 10 1.7 Functional Description... 11 1.7.1 Single Event Upset Mitigation... 11 1.7.2 Using the Fault Injection Debugger and Fault Injection IP Core...12 1.7.3 Intel FPGA Fault Injection IP Pin Description... 13 1.8 Intel FPGA Fault Injection IP Core User Guide Archives...14 1.9 Document Revision History for Intel FPGA Fault Injection IP Core User Guide... 14 2

1 1.1 Features The Intel FPGA Fault Injection IP core injects errors into the configuration RAM (CRAM) of an FPGA device. This procedure simulates soft errors that can occur during normal operation due to single event upsets (SEUs). SEUs are rare events, and are therefore difficult to test. After you instantiate the Fault Injection IP core into your design and configure your device, you can use the Intel Quartus Prime Fault Injection Debugger tool to induce intentional errors in the FPGA to test the system's response to these errors. Related Links 1.2 Device Support Debugging Single Event Upset Using the Fault Injection Debugger (Quartus Prime Standard Edition Handbook Volume 3: Verification) Debugging Single Event Upset Using the Fault Injection Debugger (Quartus Prime Pro Edition Handbook Volume 3: Verification) Allows you to evaluate system response for mitigating single event functional interrupts (SEFI). Allows you to perform SEFI characterization in-house, eliminating the need for entire system beam testing. Instead, you can limit the beam testing to failures in time (FIT)/Mb measurement at the device level. Scale FIT rates according to the SEFI characterization that is relevant to your design architecture. You can randomly distribute fault injections throughout the entire device, or constrain them to specific functional areas to speed up testing. Optimize your design to reduce disruption caused by a single event upsets (SEU). The Fault Injection IP core supports Intel Arria 10, Intel Cyclone 10 GX and Stratix V family devices. The Cyclone V family supports Fault Injection on devices with the - SC suffix in the ordering code. Contact your local sales representative for ordering information on -SC suffix Cyclone V devices. 1.3 Resource Utilization and Performance The Intel Quartus Prime software generates the following resource estimate for the Stratix V A7 FPGA. Results for other devices are similar. Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. *Other names and brands may be claimed as the property of others. ISO 9001:2008 Registered

1 Table 1. Fault Injection IP Core FPGA Performance and Resource Utilization Device ALMs Logic Registers M20K Primary Secondary Stratix V A7 3,821 5,179 0 0 1.4 Installing and Licensing Intel FPGA IP Cores The Intel Quartus Prime software installation includes the Intel FPGA IP library. This library provides many useful IP cores for your production use without the need for an additional license. Some Intel FPGA IP cores require purchase of a separate license for production use. The Intel FPGA IP Evaluation Mode allows you to evaluate these licensed Intel FPGA IP cores in simulation and hardware, before deciding to purchase a full production IP core license. You only need to purchase a full production license for licensed Intel IP cores after you complete hardware testing and are ready to use the IP in production. The Intel Quartus Prime software installs IP cores in the following locations by default: Figure 1. Table 2. IP Core Installation Path intelfpga(_pro) quartus - Contains the Intel Quartus Prime software ip - Contains the Intel FPGA IP library and third-party IP cores altera - Contains the Intel FPGA IP library source code <IP name> - Contains the Intel FPGA IP source files IP Core Installation Locations Location Software Platform <drive>:\intelfpga_pro\quartus\ip\altera Intel Quartus Prime Pro Edition Windows* <drive>:\intelfpga\quartus\ip\altera Intel Quartus Prime Standard Edition Windows <home directory>:/intelfpga_pro/quartus/ip/altera Intel Quartus Prime Pro Edition Linux* <home directory>:/intelfpga/quartus/ip/altera Intel Quartus Prime Standard Edition Linux 1.5 Customizing and Generating IP Cores You can customize IP cores to support a wide variety of applications. The Intel Quartus Prime IP Catalog and parameter editor allow you to quickly select and configure IP core ports, features, and output files. 1.5.1 IP Catalog and Parameter Editor The IP Catalog displays the IP cores available for your project. Use the following features of the IP Catalog to locate and customize an IP core: 4

1 Filter IP Catalog to Show IP for active device family or Show IP for all device families. If you have no project open, select the Device Family in IP Catalog. Type in the Search field to locate any full or partial IP core name in IP Catalog. Right-click an IP core name in IP Catalog to display details about supported devices, to open the IP core's installation folder, and for links to IP documentation. Click Search for Partner IP to access partner IP information on the web. The parameter editor prompts you to specify an IP variation name, optional ports, and output file generation options. The parameter editor generates a top-level Intel Quartus Prime IP file (.ip) for an IP variation in Intel Quartus Prime Pro Edition projects. The parameter editor generates a top-level Quartus IP file (.qip) for an IP variation in Intel Quartus Prime Standard Edition projects. These files represent the IP variation in the project, and store parameterization information. Figure 2. IP Parameter Editor (Intel Quartus Prime Pro Edition) IP Parameters IP Block Symbol 5

1 Figure 3. IP Parameter Editor (Intel Quartus Prime Standard Edition) IP Port and Parameter Details Specify IP Variation Name and Target Device 1.5.2 IP Core Generation Output (Intel Quartus Prime Pro Edition) The Intel Quartus Prime software generates the following output file structure for individual IP cores that are not part of a Platform Designer system. 6

1 Figure 4. Table 3. Individual IP Core Generation Output (Intel Quartus Prime Pro Edition) <Project Directory> <your_ip>.ip - Top-level IP variation file <your_ip> - IP core variation files <your_ip>.bsf - Block symbol schematic file <your_ip>.cmp - VHDL component declaration <your_ip>.ppf - XML I/O pin information file <your_ip>.qip - Lists files for IP core synthesis <your_ip>.spd - Simulation startup scripts <your_ip>_bb.v - Verilog HDL black box EDA synthesis file * <your_ip>_generation.rpt - IP generation report <your_ip>_inst.v or.vhd - Lists file for IP core synthesis <your_ip>.qgsimc - Simulation caching file (Platform Designer) <your_ip>.qgsynthc - Synthesis caching file (Platform Designer) sim - IP simulation files <your_ip>.v or vhd - Top-level simulation file <simulator vendor> - Simulator setup scripts <simulator_setup_scripts> synth - IP synthesis files <your_ip>.v or.vhd - Top-level IP synthesis file <IP Submodule>_<version> - IP Submodule Library sim- IP submodule 1 simulation files <HDL files> synth - IP submodule 1 synthesis files <HDL files> <your_ip>_tb - IP testbench system * <your_testbench>_tb.qsys - testbench system file <your_ip>_tb - IP testbench files your_testbench> _tb.csv or.spd - testbench file sim - IP testbench simulation files * If supported and enabled for your IP core variation. Output Files of Intel FPGA IP Generation File Name <your_ip>.ip <your_ip>.cmp <your_ip>_generation.rpt Description Top-level IP variation file that contains the parameterization of an IP core in your project. If the IP variation is part of a Platform Designer system, the parameter editor also generates a.qsys file. The VHDL Component Declaration (.cmp) file is a text file that contains local generic and port definitions that you use in VHDL design files. IP or Platform Designer generation log file. Displays a summary of the messages during IP generation. continued... 7

1 File Name <your_ip>.qgsimc (Platform Designer systems only) <your_ip>.qgsynth (Platform Designer systems only) <your_ip>.qip <your_ip>.csv <your_ip>.bsf <your_ip>.spd <your_ip>.ppf <your_ip>_bb.v <your_ip>_inst.v or _inst.vhd <your_ip>.regmap <your_ip>.svd <your_ip>.v <your_ip>.vhd mentor/ aldec/ /synopsys/vcs /synopsys/vcsmx /cadence /submodules <IP submodule>/ Description Simulation caching file that compares the.qsys and.ip files with the current parameterization of the Platform Designer system and IP core. This comparison determines if Platform Designer can skip regeneration of the HDL. Synthesis caching file that compares the.qsys and.ip files with the current parameterization of the Platform Designer system and IP core. This comparison determines if Platform Designer can skip regeneration of the HDL. Contains all information to integrate and compile the IP component. Contains information about the upgrade status of the IP component. A symbol representation of the IP variation for use in Block Diagram Files (.bdf). Input file that ip-make-simscript requires to generate simulation scripts. The.spd file contains a list of files you generate for simulation, along with information about memories that you initialize. The Pin Planner File (.ppf) stores the port and node assignments for IP components you create for use with the Pin Planner. Use the Verilog blackbox (_bb.v) file as an empty module declaration for use as a blackbox. HDL example instantiation template. Copy and paste the contents of this file into your HDL file to instantiate the IP variation. If the IP contains register information, the Intel Quartus Prime software generates the.regmap file. The.regmap file describes the register map information of master and slave interfaces. This file complements the.sopcinfo file by providing more detailed register information about the system. This file enables register display views and user customizable statistics in System Console. Allows HPS System Debug tools to view the register maps of peripherals that connect to HPS within a Platform Designer system. During synthesis, the Intel Quartus Prime software stores the.svd files for slave interface visible to the System Console masters in the.sof file in the debug session. System Console reads this section, which Platform Designer queries for register map information. For system slaves, Platform Designer accesses the registers by name. HDL files that instantiate each submodule or child IP core for synthesis or simulation. Contains a msim_setup.tcl script to set up and run a ModelSim simulation. Contains a Riviera*-PRO script rivierapro_setup.tcl to setup and run a simulation. Contains a shell script vcs_setup.sh to set up and run a VCS* simulation. Contains a shell script vcsmx_setup.sh and synopsys_sim.setup file to set up and run a VCS MX* simulation. Contains a shell script ncsim_setup.sh and other setup files to set up and run an NCSIM simulation. Contains HDL files for the IP core submodule. Platform Designer generates /synth and /sim sub-directories for each IP submodule directory that Platform Designer generates. 8

1 1.6 Instantiating the Intel FPGA Fault Injection IP Core The Fault Injection IP core does not require you to set any parameters. To use the IP core, create a new IP instance, include it in your Platform Designer (Standard) system, and connect the signals as appropriate. Note: You must use the Fault Injection IP core with the Error Message Register (EMR) Unloader IP core. The Fault Injection and the EMR Unloader IP cores are available in Platform Designer (Standard) and the IP Catalog. Optionally, you can instantiate them directly into your RTL design, using Verilog HDL, SystemVerilog, or VHDL. 1.6.1 About the EMR Unloader IP Core The EMR Unloader IP core provides an interface to the EMR, which is updated continuously by the device s EDCRC that checks the device's CRAM bits CRC for soft errors. Figure 5. Example Platform Designer (Standard) System Including the Fault Injection IP Core and EMR Unloader IP Core 9

1 Figure 6. Example Intel FPGA Fault Injection IP Core and EMR Unloader IP Core Block Diagram crcerror_pin error_injected Intel FPGA Error Message Register Unloader IP Core emr_data 67 emr_valid Intel FPGA Fault Injection IP Core error_scrubbed intosc reset clk System Reset 1.6.2 About the Advanced SEU Detection IP Core Use the Advanced SEU Detection (ASD) IP core when SEU tolerance is a design concern. You must use the EMR Unloader IP core with the ASD IP core. Therefore, if you use the ASD IP and the Fault Injection IP in the same design, they must share the EMR Unloader output via an Avalon -ST splitter component. The following figure shows a Platform Designer (Standard) system in which an Avalon-ST splitter distributes the EMR contents to the ASD and Fault Injection IP cores. 10

1 Figure 7. Using the ASD and Fault Injection IP in the Same Platform Designer (Standard) System 1.7 Functional Description With the Intel FPGA Fault Injection IP core, designers can perform SEFI characterization in-house, scale FIT rates according to SEFI characterization, and optimize designs to reduce effect of SEUs. 1.7.1 Single Event Upset Mitigation Integrated circuits and programmable logic devices such as FPGAs are susceptible to SEUs. SEUs are random, nondestructive events, caused by two major sources: alpha particles and neutrons from cosmic rays. Radiation can cause either the logic register, embedded memory bit, or a configuration RAM (CRAM) bit to flip its state, thus leading to unexpected device operation. Intel Arria 10, Intel Cyclone 10 GX, Arria V, Cyclone V, Stratix V and newer devices have the following CRAM capabilities: Error Detection Cyclical Redundance Checking (EDCRC) Automatic correction of an upset CRAM (scrubbing) Ability to create an upset CRAM condition (fault injection) 11

1 For more information about SEU mitigation in Intel FPGA devices, refer to the SEU Mitigation chapter in the respective device handbook. 1.7.2 Using the Fault Injection Debugger and Fault Injection IP Core The Fault Injection Debugger works together with the Fault Injection IP core. First, you instantiate the IP core in your design, compile, and download the resulting configuration file into your device. Then, you run the Fault Injection Debugger from within the Intel Quartus Prime software or from the command line to simulate soft errors. The Fault Injection Debugger allows you to operate fault injection experiments interactively or by batch commands, and allows you to specify the logical areas in your design for fault injections. The command-line interface is useful for running the debugger via a script. The Fault Injection Debugger communicates with the Fault Injection IP core via the JTAG interface. The Fault Injection IP accepts commands from the JTAG interface and reports status back through the JTAG interface. Note: The Fault Injection IP core is implemented in soft logic in your device; therefore, you must account for this logic usage in your design. One methodology is to characterize your design s response to SEU in the lab and then omit the IP core from your final deployed design. You use the Fault Injection IP core with the following IP cores: The Error Message Register (EMR) Unloader IP core, which reads and stores data from the hardened error detection circuitry in Intel FPGA devices. (Optional) The Advanced SEU Detection (ASD) IP core, which compares single-bit error locations to a sensitivity map during device operation to determine whether a soft error affects it. 12

1 Figure 8. Fault Injection Debugger Overview Block Diagram Command-Line Interface or Fault Injection Debugger User Interface JTAG Intel FPGA Fault Injection IP (1) Unused Logic Critical User Logic Sensitivity Map Header File (.smh) EMR Unloader IP (2) Advanced SEU Detection IP (3) Non-Critical User Logic Injected Error Notes: 1. The fault Injection IP flips the bits of the targeted logic. 2. The Fault Injection Debugger and Advanced SEU Detection IP use the same EMR Unloader instance. 3. The Advanced SEU Detection IP core is optional. 1.7.3 Intel FPGA Fault Injection IP Pin Description The Intel FPGA Fault Injection IP core includes the following I/O pins. Table 4. Intel FPGA Fault Injection IP Core I/O Pins Pin Name Pin Direction Pin Description crcerror_pin input Input from Intel FPGA Error Message Register Unloader IP. This signal is asserted when a CRC error has been detected by the device's EDCRC. emr_data input Error Message Register (EMR) contents. Refer to the appropriate device handbook for the EMR fields. This input complies with the Avalon Streaming data interface signal. emr_valid input Indicates the emr_data inputs contain valid data. This is an Avalon Streaming valid interface signal. Reset input Module reset input. error_injected output Indicates an error was injected into CRAM as commanded via the JTAG interface. error_scrubbed output Indicates the device scrubbing is complete as commanded via the JTAG interface. intosc output Optional output. The Intel FPGA Fault Injection IP uses this clock, for example, to clock the EMR_unloader block. 13

1 Figure 9. Intel FPGA Fault Injection IP Pin Diagram fault_injection_0 avst_emr_snk crcerror_pin emr_valid emr_data[66:0] reset crcerror_pin valid data reset error_injected error_scrubbed clk error_injected error_scrubbed intosc 1.8 Intel FPGA Fault Injection IP Core User Guide Archives If a version is not listed, the manual for the previous version applies. IP Core Version User Guide 16.1 Altera Fault Injection IP Core User Guide 15.1 Altera Fault Injection IP Core User Guide 15.0 Altera Fault Injection IP Core User Guide 1.9 Document Revision History for Intel FPGA Fault Injection IP Core User Guide Date Version Changes 2017.11.06 17.1 Rebranded as Intel. Added Intel Cyclone 10 GX device support. 2016.10.31 16.1 Updated device support. 2015.12.15 15.1 Changed Quartus II to Quartus Prime software. Fixed self-referencing related link. 2015.05.04 15.0 Initial release. 14