altera fault injection ip core user guide fault injection ip core user guide 2015.12.15 ug-01173...

13
Altera Fault Injection IP Core User Guide 2015.12.15 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 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 The Fault Injection IP core supports Stratix ® V family devices. For assistance with support for Arria ® V or Cyclone ® V family devices, file a service request using mySupport on the Altera website. Resource Utilization and Performance The Quartus Prime software generates the following resource estimate for the Stratix A7 FPGA. Results for other devices are similar. © 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera 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 Altera. Altera 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. ISO 9001:2008 Registered www.altera.com 101 Innovation Drive, San Jose, CA 95134

Upload: vancong

Post on 12-May-2018

235 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Altera Fault Injection IP Core User Guide Fault Injection IP Core User Guide 2015.12.15 UG-01173 Subscribe Send Feedback The Altera® Fault Injection IP core injects errors into the

Altera Fault Injection IP Core User Guide2015.12.15

UG-01173 Subscribe Send Feedback

The Altera® Fault Injection IP core injects errors into the configuration RAM (CRAM) of an FPGAdevice.

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 SupportThe Fault Injection IP core supports Stratix® V family devices. For assistance with support for Arria® V orCyclone® V family devices, file a service request using mySupport on the Altera website.

Resource Utilization and PerformanceThe Quartus Prime software generates the following resource estimate for the Stratix A7 FPGA. Resultsfor other devices are similar.

© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos aretrademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified astrademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performanceof its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to anyproducts and services at any time without notice. Altera 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 Altera. Altera customers are advised to obtain the latest version of devicespecifications before relying on any published information and before placing orders for products or services.

ISO9001:2008Registered

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

Page 2: Altera Fault Injection IP Core User Guide Fault Injection IP Core User Guide 2015.12.15 UG-01173 Subscribe Send Feedback The Altera® Fault Injection IP core injects errors into the

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

Licensing IP CoresThe Altera IP Library provides many useful IP core functions for your production use without purchasingan additional license. Some Altera MegaCore® IP functions require that you purchase a separate licensefor production use. However, the OpenCore® feature allows evaluation of any Altera IP core in simulationand compilation in the Quartus Prime software. After you are satisfied with functionality andperformance, visit the Self Service Licensing Center to obtain a license number for any Altera product.

Figure 1: IP Core Installation Path

acds

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

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

Note: The default IP installation directory on Windows is <drive>:\altera\<version number>; on Linux it is<home directory>/altera/ <version number>.

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 Licensing IP CoresUG-01173

2015.12.15

Altera Corporation Altera Fault Injection IP Core User Guide

Send Feedback

Page 3: Altera Fault Injection IP Core User Guide Fault Injection IP Core User Guide 2015.12.15 UG-01173 Subscribe Send Feedback The Altera® Fault Injection IP core injects errors into the

IP Catalog and Parameter EditorThe IP Catalog (Tools > IP Catalog) and parameter editor help you easily customize and integrate IPcores into your project. Use the IP Catalog and parameter editor to select, customize, and generate filesrepresenting the custom IP variation in your project.

Search for installed IP

Double-click to customizeright-click for details

Filter IP by device

The IP Catalog displays the installed IP cores available for your design. Double-click any IP core to launchthe parameter editor and generate files representing your IP variation. Use the following features to helpyou quickly locate and select 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, open the IP core's

installation folder, and click links to IP documentation.• Click Search for Partner IP, to access partner IP information on the Altera website.

The parameter editor prompts you to specify an IP variation name, optional ports, and output filegeneration options. The parameter editor generates a top-level Qsys system file (.qsys) or Quartus PrimeIP file (.qip) representing the IP core in your project. You can also parameterize an IP variation without anopen project.

The IP Catalog is also available in Qsys (View > IP Catalog). The Qsys IP Catalog includes exclusivesystem interconnect, video and image processing, and other system-level IP that are not available in theQuartus Prime IP Catalog. For more information about using the Qsys IP Catalog, refer to Creating aSystem with Qsys in the Quartus Prime Handbook.

Note: The IP Catalog (Tools > IP Catalog) and parameter editor replace the MegaWizard™ Plug-InManager for IP selection and parameterization, beginning in Quartus II software version 14.0. Usethe IP Catalog and parameter editor to locate and paramaterize Altera IP cores.

UG-011732015.12.15 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 Fault Injection IP Core User Guide 2015.12.15 UG-01173 Subscribe Send Feedback The Altera® Fault Injection IP core injects errors into the

Files Generated for Altera IP Cores and Qsys SystemsThe Quartus Prime software generates the following output file structure for IP cores and Qsys systems.For Arria 10 devices and newer, the generated .qsys file must be added to your project to represent IP andQsys systems. For devices released prior to Arria 10 devices, the generated .qip and .sip files must be addedto your project to represent IP and Qsys systems.

Figure 2: Files generated for IP cores and Qsys Systems

<Project Directory>

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

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

<your_ip>.debuginfo - Post-generation debug data

synth - IP synthesis files

<IP Submodule> - 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>.qip or .qsys - System or IP integration 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 - Combines individual simulation startup scripts 1

1

<your_ip>.html - Memory map data

<your_ip>.sopcinfo - Software tool-chain integration file

<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 - NativeLink 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.

4 Files Generated for Altera IP Cores and Qsys SystemsUG-01173

2015.12.15

Altera Corporation Altera Fault Injection IP Core User Guide

Send Feedback

Page 5: Altera Fault Injection IP Core User Guide Fault Injection IP Core User Guide 2015.12.15 UG-01173 Subscribe Send Feedback The Altera® Fault Injection IP core injects errors into the

Table 2: IP Core and Qsys Simulation Generated Files

File Name Description

<my_ip>.qsys The Qsys system or top-level IP variation file. <my_ip> is the namethat you give your IP variation. You must add the .qsys file to yourQuartus project to enable NativeLink for Arria 10 and Stratix 10device families.

<system>.sopcinfo Describes the connections and IP component parameterizations inyour Qsys system. You can parse its contents to get requirementswhen you develop software drivers for IP components.

Downstream tools such as the Nios II tool chain use this file.The .sopcinfo file and the system.h file generated for the Nios II toolchain include address map information for each slave relative to eachmaster that accesses the slave. Different masters may have a differentaddress map to access a particular slave component.

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

<my_ip>.html A report that contains connection information, a memory mapshowing the address of each slave with respect to each master towhich it is connected, and parameter assignments.

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

<my_ip>.debuginfo Contains post-generation information. Used to pass System Consoleand Bus Analyzer Toolkit information about the Qsys interconnect.The Bus Analysis Toolkit uses this file to identify debug componentsin the Qsys interconnect.

<my_ip>.qip Contains all the required information about the IP component tointegrate and compile the IP component in the Quartus Primesoftware.

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

<my_ip>.bsf A Block Symbol File (.bsf) representation of the IP variation for usein Quartus Prime Block Diagram Files (.bdf).

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

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

<my_ip>_bb.v You can use the Verilog black-box (_bb.v) file as an empty moduledeclaration for use as a black box.

UG-011732015.12.15 Files Generated for Altera IP Cores and Qsys Systems 5

Altera Fault Injection IP Core User Guide Altera Corporation

Send Feedback

Page 6: Altera Fault Injection IP Core User Guide Fault Injection IP Core User Guide 2015.12.15 UG-01173 Subscribe Send Feedback The Altera® Fault Injection IP core injects errors into the

File Name Description

<my_ip>.sip Contains information required for NativeLink simulation of IPcomponents. You must add the .sip file to your Quartus project toenable NativeLink for Arria II, Arria V, Cyclone IV, Cyclone V, MAX10, MAX II, MAX V, Stratix IV, and Stratix V devices.

<my_ip>_inst.v or _inst.vhd HDL example instantiation template. You can copy and paste thecontents of this file into your HDL file to instantiate the IP variation.

<my_ip>.regmap If the IP contains register information, the .regmap file generates.The .regmap file describes the register map information of masterand slave interfaces. This file complements the .sopcinfo file byproviding more detailed register information about the system. Thisenables register display views and user customizable statistics inSystem Console.

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

During synthesis, the .svd files for slave interfaces visible to SystemConsole masters are stored in the .sof file in the debug section.System Console reads this section, which Qsys can query for registermap information. For system slaves, Qsys can access the registers byname.

<my_ip>.v

or

<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 setup and run asimulation.

/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 toset up and run a VCS MX® simulation.

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

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

and /sim sub-directories.

6 Files Generated for Altera IP Cores and Qsys SystemsUG-01173

2015.12.15

Altera Corporation Altera Fault Injection IP Core User Guide

Send Feedback

Page 7: Altera Fault Injection IP Core User Guide Fault Injection IP Core User Guide 2015.12.15 UG-01173 Subscribe Send Feedback The Altera® Fault Injection IP core injects errors into the

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.

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

UG-011732015.12.15 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 Fault Injection IP Core User Guide 2015.12.15 UG-01173 Subscribe Send Feedback The Altera® Fault Injection IP core injects errors into the

Figure 4: 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 Information

• Altera 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.

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 theEMR contents to the ASD and Fault Injection IP cores.

8 Using the Advanced SEU Detection IP CoreUG-01173

2015.12.15

Altera Corporation Altera Fault Injection IP Core User Guide

Send Feedback

Page 9: Altera Fault Injection IP Core User Guide Fault Injection IP Core User Guide 2015.12.15 UG-01173 Subscribe Send Feedback The Altera® Fault Injection IP core injects errors into the

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

Related Information

• Altera 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.

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 cosmic

UG-011732015.12.15 Functional Description 9

Altera Fault Injection IP Core User Guide Altera Corporation

Send Feedback

Page 10: Altera Fault Injection IP Core User Guide Fault Injection IP Core User Guide 2015.12.15 UG-01173 Subscribe Send Feedback The Altera® Fault Injection IP core injects errors into the

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.

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 bybatch 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 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 toa sensitivity map during device operation to determine whether a soft error affects it.

10 Using the Fault Injection Debugger and Fault Injection IP CoreUG-01173

2015.12.15

Altera Corporation Altera Fault Injection IP Core User Guide

Send Feedback

Page 11: Altera Fault Injection IP Core User Guide Fault Injection IP Core User Guide 2015.12.15 UG-01173 Subscribe Send Feedback The Altera® Fault Injection IP core injects errors into the

Figure 6: Fault Injection Debugger Overview Block Diagram

Non-CriticalUser Logic

Command-LineInterface or

Fault InjectionDebugger User

Interface

Altera Device

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 3: Altera Fault Injection IP Core I/O Pins

Pin Name Pin Direction Pin Description

crcerror_pin input Input from Altera Error Message RegisterUnloader IP. This signal is asserted when aCRC error has been detected by the device'sEDCRC.

UG-011732015.12.15 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 Fault Injection IP Core User Guide 2015.12.15 UG-01173 Subscribe Send Feedback The Altera® Fault Injection IP core injects errors into the

Pin Name Pin Direction Pin Description

emr_data input Error Message Register (EMR) contents. Referto the appropriate device handbook for theEMR fields.

This input complies with the AvalonStreaming data interface signal.

emr_valid input Indicates the emr_data inputs contain validdata. This is an Avalon Streaming validinterface 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 IPuses this clock, for example, to clock the EMR_unloader block.

Figure 7: 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

Document Revision History

Table 4: Document Revision History

Date Version Changes

2015.12.15 15.1 • Changed Quartus II to QuartusPrime software.

• Fixed self-referencing related link.

12 Document Revision HistoryUG-01173

2015.12.15

Altera Corporation Altera Fault Injection IP Core User Guide

Send Feedback

Page 13: Altera Fault Injection IP Core User Guide Fault Injection IP Core User Guide 2015.12.15 UG-01173 Subscribe Send Feedback The Altera® Fault Injection IP core injects errors into the

Date Version Changes

2015.05.04 15.0 Initial release.

UG-011732015.12.15 Document Revision History 13

Altera Fault Injection IP Core User Guide Altera Corporation

Send Feedback