Intel FPGA高级SEU检测IP用户指南

ID 683542
日期 11/07/2017
Public
文档目录

1.3.3.3. 对SMH修订本2执行查找功能( Stratix® V、 Arria® V和 Cyclone® V器件)

要对敏感度映射头文件数据执行查找功能,可使用 Stratix® V Arria® V Cyclone® V器件的比特、字节以及EMR的帧数:
  1. 读取帧数的32位帧信息字串:
    • 地址 = <frame_info_base_address> + (帧 * 4)
    • 返回值 = (frame_info_data_offsetoffset_map_array_index)
  2. 读取帧的偏移映射信息。返回值是16位。
    • 地址 = offset_map_base_address + 当前帧的偏移阵列 + 当前字节和位的偏移数据值

    其中:

    • 当前帧的偏移阵列 = offset_map_array_index * offset_map_length
    • 当前字节和位的偏移数据值 = [(字节 * 8) + 位] * 2
    • 返回值 = offset_map_value
  3. 读取8位敏感度数值:
    • 地址 = sensitivity_data_array_base_address + frame_info_data_offset + (offset_map_value * sensitivity_data_tag_size / 8)
    • 返回值 = sensitive_bit_word[7:0]
  4. 读取敏感度数据标记。偏移映射值提供了敏感比特索引。敏感度标记的返回值是sensitivity_data_tag_size比特长。一个零标记表示该比特对于任何区域均是非关键比特;一个非零标记则表示区域映射中的偏移。

    sensitive_tag = (sensitive_data word >> tag_shift) & tag_mask

    其中:

    • tag_shift = (offset_map_value * sensitivity_data_tag_size)[2:0]
    • tag_mask = (0x1 << sensitivity_data_tag_size) - 1
  5. 仅读取非零敏感度标记的区域掩码。区域掩码的返回值是16位。
    region_mask = region_map_base_address + (sensitivity_data_tag - 1) * 2