altera fault injection ip core user guide...contains local generic and port definitions that you use...

13
Altera Fault Injection IP Core User Guide 2016.10.31 UG-01173 Subscribe Send Feedback e Altera ® Fault Injection IP core injects errors into the configuration RAM (CRAM) of an FPGA device. is procedure simulates soſt errors that can occur during normal operation due to single event upsets (SEUs). SEUs are rare events, and are therefore difficult to test. Aſter you instantiate the Fault Injection IP core into your design and configure your device, you can use the Quartus ® Prime Fault Injection Debugger tool to induce intentional errors in the FPGA to test the system's response to these errors. Related Information 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) Features 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). Device Support e Fault Injection IP core supports Arria ® 10 and Stratix ® V family devices. e 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. Resource Utilization and Performance e Quartus Prime soſtware generates the following resource estimate for the Stratix 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 www.altera.com 101 Innovation Drive, San Jose, CA 95134

Upload: others

Post on 13-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Altera Fault Injection IP Core User Guide...contains local generic and port definitions that you use in VHDL design files. UG-01173 2016.10.31 IP Core Generation Output (Quartus Prime

Altera Fault Injection IP Core User Guide2016.10.31

UG-01173 Subscribe Send Feedback

The Altera® 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 IPcore into your design and configure your device, you can use the Quartus® Prime Fault InjectionDebugger tool to induce intentional errors in the FPGA to test the system's response to these errors.

Related Information

• Debugging Single Event Upset Using the Fault Injection Debugger (Quartus Prime StandardEdition Handbook Volume 3: Verification)

• Debugging Single Event Upset Using the Fault Injection Debugger (Quartus Prime Pro EditionHandbook Volume 3: Verification)

Features• 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 devicelevel.

• Scale FIT rates according to the SEFI characterization that is relevant to your design architecture. Youcan randomly distribute fault injections throughout the entire device, or constrain them to specificfunctional areas to speed up testing.

• Optimize your design to reduce disruption caused by a single event upsets (SEU).

Device Support

The Fault Injection IP core supports Arria® 10 and Stratix® V family devices. The Cyclone® V familysupports Fault Injection on devices with the -SC suffix in the ordering code. Contact your local salesrepresentative for ordering information on -SC suffix Cyclone V devices.

Resource Utilization and PerformanceThe Quartus Prime software generates the following resource estimate for the Stratix A7 FPGA. Results forother 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 ofIntel Corporation or its subsidiaries in the U.S. and/or other countries. Intel warrants performance of its FPGA and semiconductor products to currentspecifications 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 expresslyagreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published informationand before placing orders for products or services.*Other names and brands may be claimed as the property of others.

ISO9001:2008Registered

www.altera.com101 Innovation Drive, San Jose, CA 95134

Page 2: Altera Fault Injection IP Core User Guide...contains local generic and port definitions that you use in VHDL design files. UG-01173 2016.10.31 IP Core Generation Output (Quartus Prime

Table 1: Fault Injection IP Core FPGA Performance and Resource Utilization

Device ALMsLogic Registers

M20KPrimary Secondary

Stratix V A7 3,821 5,179 0 0

Installing and Licensing IP CoresThe Quartus Prime software installation includes the Altera FPGA IP library. This library provides usefulIP core functions for your production use without the need for an additional license. Some MegaCore® IPfunctions in the library require that you purchase a separate license for production use. The OpenCore®

feature allows evaluation of any Altera FPGA IP core in simulation and compilation in the Quartus Primesoftware. Upon satisfaction with functionality and performance, visit the Self Service Licensing Center toobtain a license number for any Altera FPGA product.

The Quartus Prime software installs IP cores in the following locations by default:

Figure 1: IP Core Installation Path

intelFPGA(_pro*)

quartus - Contains the Quartus Prime softwareip - Contains the IP library and third-party IP cores

altera - Contains the IP library source code<IP core name> - Contains the IP core source files

Table 2: IP Core Installation Locations

Location Software Platform

<drive>:\intelFPGA_pro\quartus\ip\

altera

Quartus Prime Pro Edition Windows

<drive>:\intelFPGA\quartus\ip\altera Quartus Prime StandardEdition

Windows

<home directory>:/intelFPGA_pro/

quartus/ip/altera

Quartus Prime Pro Edition Linux

<home directory>:/intelFPGA/quartus/

ip/altera

Quartus Prime StandardEdition

Linux

Customizing and Generating IP CoresYou can customize IP cores to support a wide variety of applications. The Quartus Prime IP Catalog andparameter editor allow you to quickly select and configure IP core ports, features, and output files.

2 Installing and Licensing IP CoresUG-01173

2016.10.31

Altera Corporation Altera Fault Injection IP Core User Guide

Send Feedback

Page 3: Altera Fault Injection IP Core User Guide...contains local generic and port definitions that you use in VHDL design files. UG-01173 2016.10.31 IP Core Generation Output (Quartus Prime

IP Catalog and Parameter EditorThe IP Catalog displays the IP cores available for your project. Use the following features of the IP Catalogto locate and customize an IP core:

• Filter IP Catalog to Show IP for active device family or Show IP for all device families. If you have noproject 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 filegeneration options. The parameter editor generates a top-level Quartus Prime IP file (.ip) for an IPvariation in Quartus Prime Pro Edition projects.

The parameter editor generates a top-level Quartus IP file (.qip) for an IP variation in Quartus PrimeStandard Edition projects. These files represent the IP variation in the project, and store parameterizationinformation.

Figure 2: IP Parameter Editor (Quartus Prime Pro Edition)

View IP Portand Parameter Details

Apply Preset Parameters forSpecific Applications

Specify IP VariationName and Target Device

For Qsys Pro Systems Only

UG-011732016.10.31 IP Catalog and Parameter Editor 3

Altera Fault Injection IP Core User Guide Altera Corporation

Send Feedback

Page 4: Altera Fault Injection IP Core User Guide...contains local generic and port definitions that you use in VHDL design files. UG-01173 2016.10.31 IP Core Generation Output (Quartus Prime

Figure 3: IP Parameter Editor (Quartus Prime Standard Edition)

View IP Portand Parameter Details

Specify IP VariationName and Target Device

IP Core Generation Output (Quartus Prime Pro Edition)The Quartus Prime software generates the following output file structure for individual IP cores that arenot part of a Qsys system.

4 IP Core Generation Output (Quartus Prime Pro Edition)UG-01173

2016.10.31

Altera Corporation Altera Fault Injection IP Core User Guide

Send Feedback

Page 5: Altera Fault Injection IP Core User Guide...contains local generic and port definitions that you use in VHDL design files. UG-01173 2016.10.31 IP Core Generation Output (Quartus Prime

Figure 4: Individual IP Core Generation Output (Quartus Prime Pro Edition)

<Project Directory>

<your_ip>_inst.v or .vhd - Lists file for IP core synthesis

<your_ip>.qip - Lists files for IP core synthesis

synth - IP synthesis files

<IP Submodule>_<version> - IP Submodule Library

sim

<your_ip>.v or .vhd - Top-level IP synthesis file

sim - IP simulation files

<simulator vendor> - Simulator setup scripts<simulator_setup_scripts>

<your_ip> - IP core variation files

<your_ip>.ip - Top-level IP variation file

<your_ip>_generation.rpt - IP generation report

<your_ip>.bsf - Block symbol schematic file

<your_ip>.ppf - XML I/O pin information file

<your_ip>.spd - Simulation startup scripts

1

<your_ip>.cmp - VHDL component declaration

<your_ip>.v or vhd - Top-level simulation file

synth

- IP submodule 1 simulation files

- IP submodule 1 synthesis files

<your_ip>.sip - Simulation integration file

<your_ip>_bb.v - Verilog HDL black box EDA synthesis file

<HDL 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 1. If supported and enabled for your IP core variation.

<your_ip>.qgsimc - Simulation caching file (Qsys Pro)

<your_ip>.qgsynthc - Synthesis caching file (Qsys Pro)

Table 3: Files Generated for IP Cores

File Name Description

<my_ip>.ip Top-level IP variation file that contains the parameterization of an IPcore in your project. If the IP variation is part of a Qsys Pro system,the parameter editor also generates a .qsys file.

<my_ip>.cmp The VHDL Component Declaration (.cmp) file is a text file thatcontains local generic and port definitions that you use in VHDLdesign files.

UG-011732016.10.31 IP Core Generation Output (Quartus Prime Pro Edition) 5

Altera Fault Injection IP Core User Guide Altera Corporation

Send Feedback

Page 6: Altera Fault Injection IP Core User Guide...contains local generic and port definitions that you use in VHDL design files. UG-01173 2016.10.31 IP Core Generation Output (Quartus Prime

File Name Description

<my_ip>_generation.rpt IP or Qsys generation log file. A summary of the messages during IPgeneration.

<my_ip>.qgsimc (Qsys Prosystems only)

Simulation caching file that compares the .qsys and .ip files withthe current parameterization of the Qsys Pro system and IP core. Thiscomparison determines if Qsys Pro can skip regeneration of the HDL.

<my_ip>.qgsynth (Qsys Prosystems only)

Synthesis caching file that compares the .qsys and .ip files with thecurrent parameterization of the Qsys Pro system and IP core. Thiscomparison determines if Qsys Pro can skip regeneration of the HDL.

<my_ip>.qip Contains all information to integrate and compile the IP component.

<my_ip>.csv Contains information about the upgrade status of the IP component.

<my_ip>.bsf A symbol representation of the IP variation for use in Block DiagramFiles (.bdf).

<my_ip>.spd Required input file for ip-make-simscript to generate simulationscripts for supported simulators. The .spd file contains a list of filesyou generate for simulation, along with information about memoriesthat you initialize.

<my_ip>.ppf The Pin Planner File (.ppf) stores the port and node assignments forIP components you create for use with the Pin Planner.

<my_ip>_bb.v Use the Verilog blackbox (_bb.v) file as an empty module declara‐tion for use as a blackbox.

<my_ip>.sip Contains information you require for NativeLink simulation of IPcomponents. Add the .sip file to your Quartus Prime StandardEdition project to enable NativeLink for supported devices. TheQuartus Prime Pro Edition software does not support NativeLinksimulation.

<my_ip>_inst.v or _inst.vhd HDL example instantiation template. Copy and paste the contents ofthis file into your HDL file to instantiate the IP variation.

<my_ip>.regmap If the IP contains register information, the Quartus Prime softwaregenerates the .regmap file. The .regmap file describes the registermap information of master and slave interfaces. This filecomplements the ..sopcinfo file by providing more detailed registerinformation about the system. This file enables register display viewsand user customizable statistics in System Console.

<my_ip>.svd Allows HPS System Debug tools to view the register maps ofperipherals that connect to HPS within a Qsys Pro system.

During synthesis, the Quartus Prime software stores the .svd files forslave interface visible to the System Console masters in the .sof filein the debug session. System Console reads this section, which QsysPro queries for register map information. For system slaves, Qsys Proaccesses the registers by name.

6 IP Core Generation Output (Quartus Prime Pro Edition)UG-01173

2016.10.31

Altera Corporation Altera Fault Injection IP Core User Guide

Send Feedback

Page 7: Altera Fault Injection IP Core User Guide...contains local generic and port definitions that you use in VHDL design files. UG-01173 2016.10.31 IP Core Generation Output (Quartus Prime

File Name Description

<my_ip>.v <my_ip>.vhd HDL files that instantiate each submodule or child IP core forsynthesis or simulation.

mentor/ Contains a ModelSim® script msim_setup.tcl to set up and run asimulation.

aldec/ Contains a Riviera-PRO script rivierapro_setup.tcl to setupand run a simulation.

/synopsys/vcs

/synopsys/vcsmx

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.

/cadence Contains a shell script ncsim_setup.sh and other setup files to setup and run an NCSIM simulation.

/submodules Contains HDL files for the IP core submodule.<IP submodule>/ For each generated IP submodule directory Qsys Pro generates /

synth and /sim sub-directories.

Instantiating the Fault Injection IP CoreThe Fault Injection IP core does not require you to set any parameters. To use the IP core, create a new IPinstance, include it in your Qsys 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 Qsys and the IP Catalog. Optionally,you can instantiate them directly into your RTL design, using Verilog HDL, SystemVerilog, or VHDL.

Using the EMR Unloader IP CoreThe EMR Unloader IP core provides an interface to the EMR, which is updated continuously by thedevice’s EDCRC that checks the device's CRAM bits CRC for soft errors.

UG-011732016.10.31 Instantiating the Fault Injection IP Core 7

Altera Fault Injection IP Core User Guide Altera Corporation

Send Feedback

Page 8: Altera Fault Injection IP Core User Guide...contains local generic and port definitions that you use in VHDL design files. UG-01173 2016.10.31 IP Core Generation Output (Quartus Prime

Figure 5: Example Qsys System Including the Fault Injection IP Core and EMR Unloader IP Core

Figure 6: Example Altera Fault Injection IP Core and EMR Unloader IP Core Block Diagram

Altera ErrorMessage RegisterUnloader IP Core

Altera FaultInjection IP Core

crcerror_pin

emr_data

emr_valid

67

error_injected

error_scrubbed

intosc

clkreset

System Reset

Related InformationAltera Error Message Unloader IP Core User Guide

Using the Advanced SEU Detection IP CoreUse the Advanced SEU Detection (ASD) IP core when SEU tolerance is a design concern.

8 Using the Advanced SEU Detection IP CoreUG-01173

2016.10.31

Altera Corporation Altera Fault Injection IP Core User Guide

Send Feedback

Page 9: Altera Fault Injection IP Core User Guide...contains local generic and port definitions that you use in VHDL design files. UG-01173 2016.10.31 IP Core Generation Output (Quartus Prime

You must use the EMR Unloader IP core with the ASD IP core. Therefore, if you use the ASD IP and theFault Injection IP in the same design, they must share the EMR Unloader output via an Avalon-ST splittercomponent. The following figure shows a Qsys system in which an Avalon-ST splitter distributes the EMRcontents to the ASD and Fault Injection IP cores.

Figure 7: Using the ASD and Fault Injection IP in the Same Qsys System

Related InformationAltera Advanced SEU Detection (ALTERA_ADV_SEU_DETECTION) IP Core User Guide

Functional DescriptionWith the Altera Fault Injection IP core, designers can perform SEFI characterization in-house, scale FITrates according to SEFI characterization, and optimize designs to reduce effect of SEUs.

UG-011732016.10.31 Functional Description 9

Altera Fault Injection IP Core User Guide Altera Corporation

Send Feedback

Page 10: Altera Fault Injection IP Core User Guide...contains local generic and port definitions that you use in VHDL design files. UG-01173 2016.10.31 IP Core Generation Output (Quartus Prime

Single Event Upset MitigationIntegrated circuits and programmable logic devices such as FPGAs are susceptible to SEUs. SEUs arerandom, nondestructive events, caused by two major sources: alpha particles and neutrons from cosmicrays. 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.

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)

For more information about SEU mitigation in Altera devices, refer to the SEU Mitigation chapter in therespective device handbook.

Related InformationAltera Website: Single Event Upsets

Using the Fault Injection Debugger and Fault Injection IP CoreThe Fault Injection Debugger works together with the Fault Injection IP core. First, you instantiate the IPcore in your design, compile, and download the resulting configuration file into your device. Then, yourun the Fault Injection Debugger from within the Quartus Prime software or from the command line tosimulate soft errors.

The Fault Injection Debugger communicates with the Fault Injection IP core via the JTAG interface. Youperform debugging using the Fault Injection Debugger in the Quartus Prime software or using thecommand-line interface.

• The Fault Injection Debugger allows you to operate fault injection experiments interactively or by batchcommands, 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 IP accepts commands from the JTAG interface and reports status back through theJTAG interface.

Note: The Fault Injection IP core is implemented in soft logic in your device; therefore, you must accountfor this logic usage in your design. One methodology is to characterize your design’s response toSEU 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 hardenederror detection circuitry in Altera devices.

• (Optional) The Advanced SEU Detection (ASD) IP core, which compares single-bit error locations to asensitivity map during device operation to determine whether a soft error affects it.

10 Single Event Upset MitigationUG-01173

2016.10.31

Altera Corporation Altera Fault Injection IP Core User Guide

Send Feedback

Page 11: Altera Fault Injection IP Core User Guide...contains local generic and port definitions that you use in VHDL design files. UG-01173 2016.10.31 IP Core Generation Output (Quartus Prime

Figure 8: Fault Injection Debugger Overview Block Diagram

Non-CriticalUser Logic

Command-LineInterface or

Fault InjectionDebugger User

Interface

Intel FPGA

Advanced SEUDetection IP (3)

Fault Injection IP(1)

CriticalUser Logic

Sensitivity MapHeader File (.smh)

JTAG

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.

Injected Error

Unused Logic

EMR Unloader IP(2)

Related Information

• Download Center• AN 539: Test Methodology or Error Detection and Recovery using CRC in Altera FPGA Devices• Understanding Single Event Functional Interrupts in FPGA Designs White Paper• Altera Fault Injection IP Core User Guide• Altera Error Message Unloader IP Core User Guide• Altera Advanced SEU Detection (ALTERA_ADV_SEU_DETECTION) IP Core User Guide

Altera Fault Injection IP Pin DescriptionThe Altera Fault Injection IP core includes the following I/O pins.

Table 4: Altera Fault Injection IP Core I/O Pins

Pin Name Pin Direction Pin Description

crcerror_pin input Input from Altera Error Message Register UnloaderIP. This signal is asserted when a CRC error has beendetected by the device's EDCRC.

UG-011732016.10.31 Altera Fault Injection IP Pin Description 11

Altera Fault Injection IP Core User Guide Altera Corporation

Send Feedback

Page 12: Altera Fault Injection IP Core User Guide...contains local generic and port definitions that you use in VHDL design files. UG-01173 2016.10.31 IP Core Generation Output (Quartus Prime

Pin Name Pin Direction Pin Description

emr_data input Error Message Register (EMR) contents. Refer to theappropriate device handbook for the EMR fields.

This input complies with the Avalon Streaming datainterface signal.

emr_valid input Indicates the emr_data inputs contain valid data. Thisis an Avalon Streaming valid interface signal.

Reset input Module reset input.

error_injected output Indicates an error was injected into CRAM ascommanded via the JTAG interface.

error_scrubbed output Indicates the device scrubbing is complete ascommanded via the JTAG interface.

intosc output Optional output. The Altera Fault Injection IP usesthis clock, for example, to clock the EMR_unloaderblock.

Figure 9: Altera Fault Injection IP Pin Diagram

crcerror_pinvalid

datareset

error_injected

error_scrubbed

fault_injection_0

clk

crcerror_pinemr_validemr_data[66:0]reset

error_injected

error_scrubbed

intosc

altera_fault_injection

avst_emr_snk

Altera Fault Injection IP Core User Guide ArchivesIf a version is not listed, the manual for the previous version applies.

IP Core Version User Guide

15.1 Altera Fault Injection IP Core User Guide15.0 Altera Fault Injection IP Core User Guide

12 Altera Fault Injection IP Core User Guide ArchivesUG-01173

2016.10.31

Altera Corporation Altera Fault Injection IP Core User Guide

Send Feedback

Page 13: Altera Fault Injection IP Core User Guide...contains local generic and port definitions that you use in VHDL design files. UG-01173 2016.10.31 IP Core Generation Output (Quartus Prime

Document Revision History

Table 5: Document Revision History

Date Version Changes

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.

UG-011732016.10.31 Document Revision History 13

Altera Fault Injection IP Core User Guide Altera Corporation

Send Feedback