The Altera Advanced SEU Detection IP core contains the following features:
• Hierarchy tagging—Enables tagging of logical hierarchies and specifying their criticality relative to
SEU.
• Sensitivity processing—Determines the criticality of an SEU detected and located by error detection
cyclical redundancy check (EDCRC) hard IP. This feature includes on and off-chip sensitivity
processing.
Table 1: Features Device Family Support
FeatureSupported Device
Hierarchy taggingStratix® IV, Arria® V, Arria V GZ, Cyclone® V, Stratix V and later.
Sensitivity processingArria V, Arria V GZ,Cyclone V, Stratix V and later.
You can select and configure the Altera Advanced SEU Detection IP core through the IP Catalog and
parameter editor in the Quartus® II software.
Related Information
Introduction to Altera IP Cores
Functional Description
Stratix IV devices contain a 16-bit cyclic redundancy check (CRC) value per CRAM frame, and Arria V,
Cyclone V, Stratix V, and later device families contain a 32-bit CRC value per CRAM frame. The CRC
value allows the configuration engine to determine the SEU location. The Quartus II software can
generate a Sensitivity Map Header File (.smh) of the configuration regions of your design that are sensitive
to SEU.
You can instantiate the Altera Advanced SEU Detection IP core with the following configurations:
• On-Chip Lookup Sensitivity Processing—Error location reporting and lookup performed by the
FPGA.
• Off-Chip Lookup Sensitivity Processing—Error location lookup determined by an external unit (such
as a microprocessor).
On-Chip Lookup Sensitivity Processing
All device families that support SEU detection include a hard error detection block that detects soft errors
and provides the location of single-bit errors, and double-bit adjacent errors for supported devices. The
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
EMR
Unloader
IP Core
Advanced
SEU Detection
IP Core
User-Supplied
Memory Access
Logic
critical_error
noncritical_error
regions_report
Memory
Interface
Error
Messages
Register
Interface
CRAM CRC Error Detected
FPGA
Sensitivity Lookup
Information (SMH)
Stored in
External Memory
CRC_ERROR
2
On-Chip Lookup Sensitivity Processing
Altera Advanced SEU Detection IP core interprets the error detection register of the error detection block,
and then compares single-bit error locations with a sensitivity map. This check determines whether or not
the failure affects the device operation.
Figure 1: System Overview for On-Chip Lookup Sensitivity Processing
The Altera Advanced SEU Detection IP core accepts the content of the error message register (EMR) and
issues a query to an external memory containing the sensitivity map. The system designer is responsible
for the memory access logic and external memory.
ALTADVSEU
2015.05.04
Altera recommends that you implement an SEU detection circuit that tolerates a soft error in its logic by
instantiating two instances of the Altera Advanced SEU Detection IP core in your design. In this case, one
instance of the IP core flags errors that occur in the other instance of the IP core as “critical.”
Related Information
• Configuration, Design Security, and Remote System Upgrades in Stratix IV Devices
Provides more information about the design security for Stratix IV devices.
• Configuration, Design Security, and Remote System Upgrades in Arria V Devices
Provides more information about the design security for Arria V devices.
• Configuration, Design Security, and Remote System Upgrades in Cyclone V Devices
Provides more information about the design security for Cyclone V devices.
• Configuration, Design Security, and Remote System Upgrades in Stratix V Devices
Provides more information about the design security for Stratix V devices.
Altera Corporation
Altera Advanced SEU Detection IP Core User Guide
Send Feedback
clk
reset
cache_comparison_off
data
valid
error
address
read
byteenable
waitrequest
critical_error
clk
reset
cache_comparison_off
emr[66:0]
emr_valid
emr_error
mem_addr[31:0]
mem_rd
mem_bytesel[3:0]
mem_wait
critical_error
my_asd
Altera Advanced SEU Detection IP Core
noncritical_errornoncritical_error
regions_reportregions_report
readdata
readdatavalid
mem_data[31:0]
mem_datavalid
ALTADVSEU
2015.05.04
On-Chip Processing Signals
Figure 2: Altera Advanced SEU Detection Core Signals for On-Chip Processing
On-Chip Processing Signals
3
Table 2: Altera Advanced SEU Detection Core Signals for On-Chip Processing
• Commands the IP core to bypass cache
comparison.
• You can use this signal with the internal
scrubbing feature for custom design.
emrInput67Error Message Register data input from the
Altera Error Message Register Unloader IP
core.
Avalon-ST
(Streaming)
Sink Interface
Signals
(1)
emr_validInput1Indicates when emr data input is valid.
emr_errorInput1
• Indicates when emr data will be ignored due
to an error.
• This may occur when there is a data overrun
from the Altera EMR Unloader IP core.
(1)
The Avalon (ST) Streaming Sink Interface should be connected to the corresponding Avalon-ST Source
Altera Advanced SEU Detection IP Core User Guide
Interface of the EMR Uploader IP Core.
Send Feedback
Altera Corporation
4
On-Chip Processing Signals
InterfaceSignalsTypeWidthDescription
ALTADVSEU
2015.05.04
Errors Output
External
Memory
Avalon-MM
Master
noncritical_errorOutpu
t
critical_errorOutpu
t
regions_reportOutpu
t
mem_addr
Outpu
t
mem_rdOutpu
t
mem_byteselOutpu
t
mem_waitInput
1Indicates that an SMH lookup determined that
the EDCRC error is in a non-critical region.
1Indicates that an SMH lookup determined that
the EDCRC error is in a critical region.
1
• The ASD region for the error, as reported by
the SMH lookup.
• The width of this port comes from the
setting for the parameter “Largest ASD
region ID used.”
• Output to the user logic.
• Byte address of the 32-bit word to be read.
• Output to the user logic.
• Signals to the user logic to request a read
operation.
• Output to the user logic.
• A four-bit signal that selects the bytes
needed by the IP core. Use of this signal
allows 16-bit or 8-bit memories to optimize
the number of reads in cases where the IP
does not need all 32 bits. If bit 0 of mem_
bytesel is 0, then the IP core ignores bits 0 to
7 of mem_data, and similarly for bits 1 to 3
of mem_bytesel.
• Input from the user logic.
• Signals to the memory interface that the
read operation is still running. Must be high
by the first rising clock after mem_rd is
asserted to hold the IP core in a wait state.
Related Information
Altera Error Message Register Unloader IP Core User Guide
Altera Corporation
mem_dataInput
mem_datavalidInput
• Input from the user logic.
• 32-bit data bus. Data must be present if
mem_wait goes high and if mem_rd returns
low.
• Input from the user logic.
• Signals that the mem_data signal contains
valid data in response to a previous mem_rd
request.
Altera Advanced SEU Detection IP Core User Guide
Send Feedback
EMR
Unloader
IP Core
Advanced
SEU Detection
IP Core
Error Message
Cache Interface
Error Message
Register Interface
CRAM CRC Error Detected
FPGA
Sensitivity Processor
(e.g., System CPU)
CRC_ERROR
Sensitivity Lookup
Information (SMH)
Stored in System Memory
ALTADVSEU
2015.05.04
Off-Chip Lookup Sensitivity Processing
The Altera Advanced SEU Detection IP core interprets the content of the error detection block’s EMR
and presents information to a system processor, which determines whether the failure affects the device
operation. The system processor implements the algorithm to perform a lookup against the .smh.
The off-chip lookup sensitivity processing consists of two components:
• Design logic to interpret content of the EMR of the CRC block and present the information to a
processor interface.
• Cache to store off-loaded content of the EMR.
Figure 3: System Overview for Off-Chip Lookup Sensitivity Processing
Off-Chip Lookup Sensitivity Processing
5
The EMR processing unit interprets the content of EMR offloaded from the CRC block by the EMR
Uploader IP core upon an SEU. The EMR processing unit writes each unique EMR value into cache, until
the cache is full. After the cache is full, it asserts a cache overflow flag to the system interface.
For each new value written into cache, the EMR processing unit asserts an interrupt to the processor. The
system processor reads the EMR value and performs a lookup against the .smh to determine the criticality
of a CRAM location. After the system processor services the interrupt, the EMR processing unit advances
the cache line and generates additional interrupt assertions, provided that there is an EMR value in cache
that has not been processed.
After SMH lookup, the system processor determines the required corrective response.
Related Information
• Configuration, Design Security, and Remote System Upgrades in Stratix IV Devices
Provides more information about the design security for Stratix IV devices.
• Configuration, Design Security, and Remote System Upgrades in Arria V Devices
Provides more information about the design security for Arria V devices.
• Configuration, Design Security, and Remote System Upgrades in Cyclone V Devices
Provides more information about the design security for Cyclone V devices.
• Configuration, Design Security, and Remote System Upgrades in Stratix V Devices
Provides more information about the design security for Stratix V devices.
Off-chip sensitivity processing has similar signals with on-chip sensitivity processing, with the exception
of the external memory interface; the off-chip sensitivity processing has EMR cache interface instead.
• Commands the IP core to bypass cache
comparison.
• You can use this signal with the internal
scrubbing feature for custom design.
emrInput67Error Message Register data input from the
Altera Error Message Register Unloader IP
core.
emr_validInput1Indicates when emr data input is valid.
(2)
emr_errorInput1
t
• Indicates when emr data will be ignored due
to an error.
• This may occur when there is a data overrun
from the Altera EMR Unloader IP core.
1Indicates that an SMH lookup determined that
the EDCRC error is in a critical region.
The Avalon (ST) Streaming Sink Interface should be connected to the corresponding Avalon-ST Source
Interface of the EMR Uploader IP Core.
Altera Corporation
8
SMH Lookup
InterfaceSignalsTypeWidthDescription
ALTADVSEU
2015.05.04
cache_dataOutpu
External
cache_validOutpu
Memory
Avalon-MM
Master
cache_readyInput1Indicates that the reader of the Avalon Stream
cache_errorOutpu
Cache Statuscache_fill_levelOutpu
Related Information
Altera Error Message Register Unloader IP Core User Guide
SMH Lookup
The .smh file represents a hash of the CRAM bit settings on a design. Related groups of CRAM are
mapped to a signal bit in the sensitivity array. During an SEU event, a design can perform a lookup
against the .smh to determine if a bit is used. By using the information about the location of a bit, you can
reduce the effective soft error rate in a running system.
34
t
• Error cache data.
• This is the location information for an EMR
cache entry.
1Indicates when the cache_data contents are
t
valid.
interface is ready.
1This Avalon stream control signal indicates the
t
current transfer is in error and should be
ignored.
4Indicates how many entries are in the cache.
t
The following criteria determine the criticality of a CRAM location in your design:
• Routing—All bits that control a utilized routing line.
• Adaptive logic modules (ALMs)—If you configure an ALM, then the megafunction considers all
CRAM bits related to that ALM sensitive.
• Logic array block (LAB) control lines—If you use an ALM in a LAB, then the megafunction considers
all bits related to the control signals feeding that LAB sensitive.
• M20K memory blocks and digital signal processing (DSP) blocks—If you use a block, then the
megafunction considers all CRAM bits related to that block sensitive.
Related Information
Off-Chip Lookup Sensitivity Processing Operation Flow on page 6
Types of SMH Files
The .smh is an Intel-format Hexadecimal file. You can generate two revisions of .smh files:
• Revision 1—Generated for Stratix IV family devices. This revision does not support hierarchy tagging,
and does not contain tag size or region map information.
• Revision 2—Generated for Arria V, Cyclone V, and Stratix V, and later device families. The
generated .smh contains tag size and region map information.
Altera Corporation
Altera Advanced SEU Detection IP Core User Guide
Send Feedback
Sensitivity Data Array
Offset Maps
Frame Information Array
single_offset_map_length
sensitivity_data_array Base Address
offset_map Base Address
frame_info Base Address
32-bit ID: 0x00445341
0x00000014
0x00000000
Header Information
ALTADVSEU
2015.05.04
Revision 1 SMH
Figure 6: Revision 1 SMH
Revision 1 SMH
9
Altera Advanced SEU Detection IP Core User Guide
In revision 1 files, the sensitivity map header starts from 160-bit header information that provides basic
information about the .smh format. This includes the base addresses for the frame information, offset
maps and length of the single offset map, and the sensitivity data array.
• Frame information array—contains a 32-bit string for each frame in the device. The frame number
serves as the index for the frame information string. Each frame information string provides the
following information:
• offset_map_array_index (Bits 7:0)—the index for the offset map array that this frame uses.
• frame_info_data_offset (Bits 31:8)—a 24-bit address offset into the sensitivity array for this
frame.
• Offset map array—The offset map information array is a set of arrays containing 16-bit offset maps.
Each offset map value represents an additional offset into the sensitivity array for a frame group. Each
offset map value is 16 bits. The offset_map_length string in the header information defines the size
of each offset map array.
• Sensitivity data array—The sensitivity data array is a flat-bit vector where 1 specifies a sensitive bit and
0 specifies an insensitive bit.
Altera Corporation
Send Feedback
32 bit ID: 0xXX445341
frame_info Base Address
offset_map Base Address
sensitivity_data_array Base Address
single_offset_map_length
sensitivity_data_tag_size
region_map Base Adress
SOF 32 bit CRC Signature
Reserved
Frame Info
Offset Maps
Sensitivity Data Array
Region Map
Header
Information
0x00000000
10
Revision 2 SMH
Revision 2 SMH
Figure 7: Revision 2 SMH
ALTADVSEU
2015.05.04
Altera Corporation
In revision 2 files, the sensitivity map header is an extension of revision 1 header format. The header
information provides basic information about the .smh revision 2, and includes all the revision 1 header
information fields. The additional fields include size of the sensitivity data tag size in bits, base addresses
for the region map, and 32-bit CRC signature of the corresponding .sof file.
The 32-bits ID of the sensitivity map header revision 2 is defined as follows:
• Bits 23:0—Altera sensitivity map header ID 0x445341
• Bits 24:31—a bit mask for the header information with bit 24 reserved
• Bit 25—indicates the presence of sensitivity tag information in the .smh
• Bits 27:26—reserved
• Bit 28—indicates the presence of 32-bit CRC signature of corresponding .sof
• Bits 29:31—reserved
Altera Advanced SEU Detection IP Core User Guide
Send Feedback
ALTADVSEU
2015.05.04
Getting Started with Altera Altera Advanced SEU Detection IP Core
• Frame information array—contains a 32-bit string for each frame in the device. The frame number
serves as the index for the frame information string. Each frame information string provides the
following information:
• offset_map_array_index (Bits 7:0)—the index for the offset map array that this frame uses.
• frame_info_data_offset (Bits 31:8)—a 24-bit address offset into the sensitivity array for this
frame.
• Offset map array—The offset map information array is a set of arrays containing 16 bit offset maps.
Each offset map value represents an additional offset into the sensitivity array for a frame group. Each
offset map value is 16 bits. The size of each offset map array is defined by the offset_map_length
string contained in the header information.
• Sensitivity data array—The size of the single sensitivity data entry or tag
(sensitivity_data_tag_size) is in bits and aligned to power of 2. The sensitivity data array is a flat
sensitivity tag vector where a sensitive tag of 0 specifies a bit insensitive for all regions, and non-zero
tag specifies an offset into region map.
• Region map information array—The region map information array contains a 16-bit string for each
non-zero sensitivity tag. The sensitivity data tag serves as the index-1 for the region map array. The
string is a bitmask of the regions, the bit is sensitive for. Each region can be identified in the bitmask by
mask 1 << (Region ID - 1).
Table 4: Revision 2 SMH File Size and ASD Regions Based on Sensitivity Tag
11
These SMH sizes are for Stratix V 5SGXEA7 device with a SOF size of 31,731,193 bytes.
Number of ASD RegionsSensitivity Tag Size (bits)SMH Size (bytes)
112,296,736
2-323,984,920
3-1547,361,308
10-127814,114,024
Getting Started with Altera Altera Advanced SEU Detection IP Core
The Altera Advanced SEU Detection IP core must be used along with the Altera EMR Unloader IP core.
The Altera EMR Unloader IP core provides Error Message Register (EMR) contents whenever it detects
an EDCRC error. Connect the EMR, EMR_valid and EMR_error signals from your Altera EMR Unloader
IP variation to the corresponding inputs of your Altera Advanced SEU Detection IP variation.
Installing and Licensing IP Cores
The Altera IP Library provides many useful IP core functions for your production use without purchasing
an additional license. Some Altera MegaCore® IP functions require that you purchase a separate license
for production use. However, the OpenCore® feature allows evaluation of any Altera® IP core in
simulation and compilation in the Quartus II software. After you are satisfied with functionality and
perfformance, visit the Self Service Licensing Center to obtain a license number for any Altera product.
Altera Advanced SEU Detection IP Core User Guide
Send Feedback
Altera Corporation
acds
quartus - Contains the Quartus II software
ip - 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
12
Customizing and Generating IP Cores
Figure 8: IP Core Installation Path
Note: The default IP installation directory on Windows is <drive>:\altera\<version number>; on Linux it is
<home directory>/altera/ <version number>.
Related Information
• Altera Licensing Site
• Altera Software Installation and Licensing Manual
Customizing and Generating IP Cores
You can customize IP cores to support a wide variety of applications. The Quartus II IP Catalog and
parameter editor allow you to quickly select and configure IP core ports, features, and output files.
ALTADVSEU
2015.05.04
IP Catalog and Parameter Editor
The Quartus II IP Catalog (Tools > IP Catalog) and parameter editor help you easily customize and
integrate IP cores into your project. You can use the IP Catalog and parameter editor to select, customize,
and generate files representing your custom IP variation.
Note:
The IP Catalog lists installed IP cores available for your design. Double-click any IP core to launch the
parameter editor and generate files representing your IP variation. 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 Qsys system file (.qsys) or Quartus II IP file (.qip) representing the IP core in your
project. You can also parameterize an IP variation without an open project.
Use the following features to help you 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 no
• 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
• Click Search for Partner IP, to access partner IP information on the Altera website.
The IP Catalog (Tools > IP Catalog) and parameter editor replace the MegaWizard™ Plug-In
Manager for IP selection and parameterization, beginning in Quartus II software version 14.0. Use
the IP Catalog and parameter editor to locate and paramaterize Altera IP cores.
project open, select the Device Family in IP Catalog.
installation folder, and view links to documentation.
Altera Corporation
Altera Advanced SEU Detection IP Core User Guide
Send Feedback
Search for installed IP cores
Double-click to customize, right-click for
detailed information
Show IP only for target device
ALTADVSEU
2015.05.04
Figure 9: Quartus II IP Catalog
Using the Parameter Editor
13
Note: The IP Catalog is also available in Qsys (View > IP Catalog). The Qsys IP Catalog includes
exclusive system interconnect, video and image processing, and other system-level IP that are not
available in the Quartus II IP Catalog. For more information about using the Qsys IP Catalog, refer
to Creating a System with Qsys in the Quartus II Handbook.
Using the Parameter Editor
The parameter editor helps you to configure IP core ports, parameters, and output file generation options.
• Use preset settings in the parameter editor (where provided) to instantly apply preset parameter values
for specific applications.
• View port and parameter descriptions, and links to documentation.
• Generate testbench systems or example designs (where provided).
Altera Advanced SEU Detection IP Core User Guide
Send Feedback
Altera Corporation
View IP port
and parameter
details
Apply preset parameters for
specific applications
Specify your IP variation
name and target device
Legacy parameter
editors
14
Specifying IP Core Parameters and Options
Figure 10: IP Parameter Editors
ALTADVSEU
2015.05.04
Specifying IP Core Parameters and Options
Follow these steps to specify IP core parameters and options.
1. In the Qsys IP Catalog (Tools > IP Catalog), locate and double-click the name of the IP core to
customize. The parameter editor appears.
2. Specify a top-level name for your custom IP variation. This name identifies the IP core variation files
in your project. If prompted, also specify the target Altera device family and output file HDL
preference. Click OK.
3. Specify parameters and options for your IP variation:
• Optionally select preset parameter values. Presets specify all initial parameter values for specific
applications (where provided).
• Specify parameters defining the IP core functionality, port configurations, and device-specific
features.
• Specify options for generation of a timing netlist, simulation model, testbench, or example design
(where applicable).
• Specify options for processing the IP core files in other EDA tools.
4. Click Finish to generate synthesis and other optional files matching your IP variation specifications.
The parameter editor generates the top-level .qsys IP variation file and HDL files for synthesis and
simulation. Some IP cores also simultaneously generate a testbench or example design for hardware
testing.
5. To generate a simulation testbench, click Generate > Generate Testbench System. Generate
Testbench System is not available for some IP cores that do not provide a simulation testbench.
6. To generate a top-level HDL example for hardware verification, click Generate > HDL Example.
Generate > HDL Example is not available for some IP cores.
Altera Corporation
The top-level IP variation is added to the current Quartus II project. Click Project > Add/Remove Files
in Project to manually add a .qsys file to a project. Make appropriate pin assignments to connect ports.
Altera Advanced SEU Detection IP Core User Guide
Send Feedback
<your_testbench>_tb.csv
<your_testbench>_tb.spd
<your_ip>.cmp - VHDL component declaration file
<your_ip>.ppf - XML I/O pin information file
<your_ip>.qip - Lists IP synthesis files
<your_ip>.sip - Contains assingments for IP simulation files
<your_ip>.v or .vhd
Top-level IP synthesis file
<your_ip>.v or .vhd
Top-level simulation file
<simulator_setup_scripts>
<your_ip>.qsys - System or IP integration file
<your_ip>_bb.v - Verilog HDL black box EDA synthesis file
<your_ip>_inst.v or .vhd - Sample instantiation template
<your_ip>_generation.rpt - IP generation report
<your_ip>.debuginfo - Contains post-generation information
<your_ip>.html - Connection and memory map data
<your_ip>.bsf - Block symbol schematic
<your_ip>.spd - Combines simulation scripts for multiple cores
The Quartus II software generates the following IP core output file structure:
Figure 11: IP Core Generated Files
15
Table 5: IP Core Generated Files
<my_ip>.qsys
Altera Advanced SEU Detection IP Core User Guide
Send Feedback
File NameDescription
The Qsys system or top-level IP variation file. <my_ip> is the name
that you give your IP variation.
Altera Corporation
16
Files Generated for Altera IP Cores
File NameDescription
<system>.sopcinfoDescribes the connections and IP component parameterizations in
your Qsys system. You can parse its contents to get requirements
when 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 tool
chain include address map information for each slave relative to each
master that accesses the slave. Different masters may have a different
address map to access a particular slave component.
<my_ip>.cmpThe VHDL Component Declaration (.cmp) file is a text file that
contains local generic and port definitions that you can use in VHDL
design files.
ALTADVSEU
2015.05.04
<my_ip>.html
A report that contains connection information, a memory map
showing the address of each slave with respect to each master to
which it is connected, and parameter assignments.
<my_ip>_generation.rptIP or Qsys generation log file. A summary of the messages during IP
generation.
<my_ip>.debuginfoContains post-generation information. Used to pass System Console
and Bus Analyzer Toolkit information about the Qsys interconnect.
The Bus Analysis Toolkit uses this file to identify debug components
in the Qsys interconnect.
<my_ip>.qip
Contains all the required information about the IP component to
integrate and compile the IP component in the Quartus II software.
<my_ip>.csvContains information about the upgrade status of the IP component.
<my_ip>.bsfA Block Symbol File (.bsf) representation of the IP variation for use
in Quartus II Block Diagram Files (.bdf).
<my_ip>.spd
Required input file for ip-make-simscript to generate simulation
scripts for supported simulators. The .spd file contains a list of files
generated for simulation, along with information about memories
that you can initialize.
<my_ip>.ppfThe Pin Planner File (.ppf) stores the port and node assignments for
<my_ip>_bb.vYou can use the Verilog black-box (_bb.v) file as an empty module
<my_ip>.sipContains information required for NativeLink simulation of IP
<my_ip>_inst.v or _inst.vhdHDL example instantiation template. You can copy and paste the
Altera Corporation
IP components created for use with the Pin Planner.
declaration for use as a black box.
components. You must add the .sip file to your Quartus project.
contents of this file into your HDL file to instantiate the IP variation.
Altera Advanced SEU Detection IP Core User Guide
Send Feedback
ALTADVSEU
2015.05.04
Files Generated for Altera IP Cores
File NameDescription
<my_ip>.regmapIf the IP contains register information, the .regmap file generates.
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
enables register display views and user customizable statistics in
System Console.
17
<my_ip>.svd
<my_ip>.v
or
<my_ip>.vhd
mentor/
aldec/
/synopsys/vcs
/synopsys/vcsmx
Allows HPS System Debug tools to view the register maps of
peripherals connected to HPS within a Qsys system.
During synthesis, the .svd files for slave interfaces visible to System
Console masters are stored in the .sof file in the debug section.
System Console reads this section, which Qsys can query for register
map information. For system slaves, Qsys can access the registers by
name.
HDL files that instantiate each submodule or child IP core for
synthesis or simulation.
Contains a ModelSim® script msim_setup.tcl to set up and run a
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.
/cadence
/submodulesContains HDL files for the IP core submodule.
<child IP cores>/For each generated child IP core directory, Qsys generates /synth and /
Altera Advanced SEU Detection IP Core User Guide
Send Feedback
Contains a shell script ncsim_setup.sh and other setup files to set up
and run an NCSIM simulation.
sim sub-directories.
Altera Corporation
18
Altera Advanced SEU Detection IP Core Parameters
Altera Advanced SEU Detection IP Core Parameters
ALTADVSEU
2015.05.04
Parameter
Group
General
Sensitivity
Data
Access
Parameter
NameLegal Value
CRC error cache depth2, 4, 8,16, 32,
64
Largest ASD region ID1 to 16
Use on-chip sensitivity
ON, OFF
processing
Memory interface
—
address width
Description
• Specifies how many non-critical cyclic
redundancy check (CRC) error to ignore.
• Default value is 8.
• Indicates the largest ASD SEU detection
region ID in your design.
• Configures the width of the regions_report
port.
• Default value is 1.
• Configures the IP core to use on-chip
sensitivity processing or off-chip sensitivity
processing.
• When enabled, implements an external
memory interface in the IP.
• Specifies width of the address bus connected
to the external memory interface.
• Default value is 32.
Sensitivity data start
address
—
• Specifies the offset added to all addresses the
external memory interface generates.
• Default value is 0x0.
SEU Mitigation on CRAM Array
Critical applications require an SEU recovery strategy. The Quartus II software provides SEU detection,
and allows you to design a recovery response to reduce SEU disruption.
Enabling the Advanced SEU Detection Feature in the Quartus II Software
To enable the Advanced SEU Detection feature in the Quartus II software and generate an .smh, turn on
Generate SEU sensitivity map file (.smh) in the Device and Pin Options dialog box (Assignments >
Device > Device and Pin Options).
Hierarchy Tagging
The Quartus II hierarchy tagging feature enables customized soft error classification by indicating design
logic susceptible to soft errors. Hierarchy tagging improves design-effective FIT rate by tagging only the
critical logic for device operation. You also define the system recovery procedure based on knowledge of
logic impaired by SEU. This technique reduces downtime for the FPGA and the system in which the
FPGA resides. Hierarchy tagging is available only for Arria V, Cyclone V, Stratix V, and later device
families.
Altera Corporation
Altera Advanced SEU Detection IP Core User Guide
Send Feedback
ALTADVSEU
2015.05.04
The .smh contains a mask for design sensitive bits in a compressed format. The sensitivity mask is
generated for the entire design. Hierarchy tagging provides the following benefits:
• Hierarchy tagging provides the following benefits:
• Increases system stability by avoiding disruptive recovery procedures for inconsequential errors.
• Allows diverse corrective action for different design logic.
Using Partitions to Specify Logic Sensitivity ID
In the Quartus II software, you can designate a design block as a design partition. You can then assign a
sensitivity value to the partition.
The PARTITION_ASD_REGION_ID global assignment specifies the numeric value from 0 to 16. The value
represents the sensitivity tag associated with this partition:
A sensitivity tag of 1 is the same as no PARTITION_ASD_REGION_ID assignment, specifying basic sensitivity
level: "region used in design". If a soft error occurs in this partition, the error is reported back as a critical
error in the sensitivity region 1.
A sensitivity tag of 0 is reserved, as indication that CRAM bits are not used in your design. You can
explicitly set it to indicate that partition is not-critical, and force the partition to be completely excluded
from the sensitivity mapping.
Using Partitions to Specify Logic Sensitivity ID
19
Note:
You can create multiple partitions with the same sensitivity tag in a design.
Design Partitions Properties
Specify the sensitivity ID assigned to the partition in the ASD Region column in the Design Partition
window.
Figure 12: ASD Region Column in the Design Partition Window
Sensitivity Map Header File Lookup
The .smh contains critical bit information about the design. The sensitivity data is generated as a standard
Intel hex (big-endian) .smh file during .sof generation.
Altera Advanced SEU Detection IP Core User Guide
Send Feedback
Altera Corporation
20
Programming a Sensitivity Map Header File into a Memory
Programming a Sensitivity Map Header File into a Memory
You can program a .smh into any type of memory. For example, to use CFI flash memory, follow these
steps:
1. Rename the .smh to <file_name>.hex, or convert it to little-endian <file_name>.hex if required.
2. In the Quartus II software, click File > Convert Programming Files.
3. In the Convert Programming Files window under Output programming file, select the desired
options.
4. To add hex data, follow these steps:
Figure 13: Add Hex Data Dialog Box
ALTADVSEU
2015.05.04
a. Click Add Hex Data.
b. In the Add Hex Data dialog box, turn on Set start address and enter a start address.
c. In the Hex file box, click browse to select the .hex file, and click OK.
5. Click Generate.
Performing a Lookup for SMH Revision 1
To perform a lookup into the sensitivity map header data using a bit, byte, and frame number from an
EMR (Stratix IV devices only):
1. Read the 32-bit frame information string for the frame number:
• Address = 0x14 + (frame*4)
• Return value = (frame_info_data_offset, offset_map_array_index)
2. Read the offset map information for a frame. The return value for the offset map information is 16 bits:
• Address = offset_map_base_address + offset array for current frame + offset data value for
current byte and bit
where,
Altera Corporation
Altera Advanced SEU Detection IP Core User Guide
Send Feedback
ALTADVSEU
2015.05.04
• Offset array for current frame = offset_map_array_index * offset_map_length
• Offset data value for current byte and bit = [(byte * 8) + bit] * 2
4. Read the sensitive bit. The offset map value provides the sensitive bit index. A value of 1 indicates a
critical bit, and a value of 0 indicates a non-critical bit.
• Sensitive bit = sensitive_bit_word[bit_index]
where,
• bit_index = offset_map_value[2:0]
Performing a Lookup for SMH Revision 2
To perform a lookup into the sensitivity map header data using a bit, byte and frame number from an
EMR (Arria V, Cyclone V, Stratix V, and later devices only):
1. Read the 32-bit frame information string for the frame number:
Performing a Lookup for SMH Revision 2
21
• Address = 0x1C + (frame*4)
• Return value = (frame_info_data_offset, offset_map_array_index
2. Read the offset map information for a frame. The return value for the offset map information is 16 bits:
• Address = offset_map_base_address + offset array for current frame + offset data value for
current byte and bit
where,
• Offset array for current frame = offset_map_array_index * offset_map_length
• Offset data value for current byte and bit = [(byte * 8) + bit] * 2
4. Read sensitivity data tag. The offset map value provides the sensitive bit index. The return value for the
sensitivity tag is sensitivity_data_tag_size bit length. A zero tag indicates that bit is not critical for
any region while a non-zero tag indicates offset in region map.
• sensitive_tag = (sensitive_data word >> tag_shift) and tag_mask