
• Offset array for current frame = offset_map_array_index * offset_map_length
• Offset data value for current byte and bit = [(byte * 8) + bit] * 2
• Return value = offset_map_value
3. Read the 8-bit sensitivity value:
• Address = (offset_map_value/8) + sensitivity_base_address + frame_info_data_offset
• Return value = sensitive_bit_word[7:0]
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:
• 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
• Return value = offset_map_value
3. Read the 8-bit sensitivity value:
• Address = (offset_map_value * sensitivity_data_tag_size /8) + sensitivity_base_address
+ frame_info_data_offset
• Return value = sensitive_bit_word[7:0]
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
where,
• tag_shift = (offset_map_value * sensitivity_data_tag_size)[2:0]
• tag_mask = (0x1 << sensitivity_data_tag_size) - 1;
5. Read the region mask for a non-zero sensitivity tag. The return value for the region mask is 16 bits.
• region_mask = region_map_base_address + (sensitivity_data_tag - 1) * 2
ALTADVSEU
2015.05.04
Performing a Lookup for SMH Revision 2
21
Altera Advanced SEU Detection IP Core User Guide
Altera Corporation
Send Feedback
Commenti su questo manuale