Visible to Intel only — GUID: sss1424945316047
Ixiasoft
1. Advanced SEU Detection Intel® FPGA IP Overview
2. Advanced SEU Detection Intel® FPGA IP Functional Description
3. Using the Advanced SEU Detection Intel® FPGA IP
4. SEU Mitigation on CRAM Array
5. Advanced SEU Detection Intel® FPGA IP User Guide Archives
6. Document Revision History for the Advanced SEU Detection Intel® FPGA IP User Guide
4.3.1. Programming Sensitivity Map Header File into Memory
4.3.2. Performing a Lookup for SMH Revision 1 ( Stratix® IV and Arria® II)
4.3.3. Performing a Lookup for SMH Revision 2 ( Stratix® V, Arria® V, and Cyclone® V Devices)
4.3.4. Performing a Lookup for SMH Revision 3 ( Arria® 10 and Cyclone® 10 GX Devices)
Visible to Intel only — GUID: sss1424945316047
Ixiasoft
4.3.3. Performing a Lookup for SMH Revision 2 ( Stratix® V, Arria® V, and Cyclone® V Devices)
To perform a lookup into the sensitivity map header data using a bit, byte, and frame number from an EMR for Stratix® V, Arria® V, and Cyclone® V devices:
- Read the 32 bit frame information string for the frame number:
- Address = <frame_info_base_address> + (frame*4)
- Return value = (frame_info_data_offset, offset_map_array_index)
- Read the frame's offset map information. The return value 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 the current frame = offset_map_array_index * offset_map_length
- Offset data value for the current byte and bit = [(byte * 8) + bit] * 2
- Return value = offset_map_value
- Read the 8 bit sensitivity value:
- Address = sensitivity_data_array_base_address + frame_info_data_offset + (offset_map_value * sensitivity_data_tag_size / 8)
- Return value = sensitive_bit_word[7:0]
- Read the 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 the bit is not critical for any region; a non-zero tag indicates an offset in the region map.
sensitive_tag = (sensitive_data word >> tag_shift) & tag_mask
Where:
- tag_shift = (offset_map_value * sensitivity_data_tag_size)[2:0]
- tag_mask = (0x1 << sensitivity_data_tag_size) - 1
- Read the region mask for a non-zero sensitivity tag only. The return value for the region mask is 16 bits.
region_mask = region_map_base_address + (sensitivity_data_tag - 1) * 2