AI 引擎错误事件 - 2022.1 简体中文

Versal ACAP AI 引擎编程环境 用户指南 (UG1076)

Document ID
UG1076
Release Date
2022-05-25
Version
2022.1 简体中文

本节提供了有关先前所述使用 XRT 错误报告 API 获取的错误以及这些错误的相关调试信息。这些错误是由 AI 引擎阵列传出的,可用于调试硬件中应用特有的错误。对于 XRT_ERROR_CLASS_AIE 类的错误,您可启用 dmesg log 日志来获取更多信息,该日志可提供错误原因,如下表所述。log 日志示例如下:

[ 6616.963964] aie aie0: Asserted tile error event 56 at col 6 row 7
[DLBF] Completed reading 4 iterat[ 6616.970234] aie aie0: Asserted tile error event 56 at col 7 row 8
[ 6616.979187] aie aie0: Asserted tile error event 56 at col 8 row 5
注释: 请注意,tile(拼块)的位置是以 colrow 编号来表示的。行 0 是 SHIM tile(SHIM 接口拼块),AI 引擎从行 1 开始。

下表列出了各种错误类别、精确的错误数量、错误描述以及有关调试并解决错误的后续步骤的技巧提示。

表 1. 核模块错误事件
错误分组 编号 名称 描述 调试技巧
Instruction Errors(指令错误) 59 Instruction Decompression Error(指令解压错误) AI 引擎无法解压所提取的指令时发生的事件。如果程序指令损坏,就会发生此错误。确认 ELF 生成。 使用 Vitis 编译器 (V++) --package 命令重新生成 ELF 文件。如果问题仍然存在,请联系赛灵思技术支持。
Access Errors(访问错误) 55 PM Reg Access Failure(PM 寄存器访问故障) AXI 存储器映射接口和 AI 引擎访问 PM 时,如发生 bank 访问冲突,就会出现此错误。 联系赛灵思技术支持。
60 DM address out of range(DM 地址超出范围) 如果 AI 引擎尝试访问的存储器位置超出 0x20000 – 0x3FFFF 的范围,就会生成此事件。 请运行 AI 引擎仿真器 (aiesimulator) 并搭配 –-enable-memory-check,这将标记所有访问违例。

或者运行 x86simulator 搭配 --valgrind,这将标记所有访问违例。

65 PM address out of range(PM 地址超出范围) PC 超出范围时,就会生成此事件 请运行 AI 引擎仿真器 (aiesimulator) 并搭配 – enable-memory-check,这将标记所有访问违例。或者运行 x86simulator 搭配 --valgrind,这将标记所有访问违例。
66 DM access to unavailable(DM 访问不可用位置) 如果 AI 引擎对近邻中的隔离 tile 发出访问,就会生成此事件。 请检查 AI 引擎上运行的内核是否正在访问另一分区内的隔离 tile 的数据存储器。

如果问题仍然存在,请联系赛灵思技术支持。

Bus Errors(总线错误) 58 AXI MM Slave Error(AXI MM 从接口错误) 如果 AXI 存储器映射接口的从读/写请求的对象是 AI 引擎 tile 中不存在的地址,则会生成此事件。 如果 PL IP 当前使用 AXI 存储器映射接口来访问 AI 引擎寄存器,请检查 PL IP,查看它是否正在访问无效的寄存器。

如果问题仍然存在,请联系赛灵思技术支持。

Stream Errors(串流错误) 54 TLAST in WSS words 0-2(WSS 码字 0-2 中存在 TLAST) 如果 TLAST 并非位于宽串流的第 4 个码字处,就会生成此事件。 如果使用 PL IP 生成串流,请检查它是否正确生成 TLAST。

如果问题仍然存在,请联系赛灵思技术支持。

56 Stream Pkt Parity Error(串流包奇偶校验错误)

如果包的报头中存在任何奇偶校验错误,就会生成此事件。

请检查数据源(例如,生成包的 PL IP),确认包是否有效,以及是否能正确计算得出奇偶校验位。如果数据来自 PL IP,请检查从该 PL IP 生成的包报头。
57 Control Pkt Error(控制包错误) 控制包错误 请检查数据源(例如,生成包的 PL IP),确认它是否能正确生成包。

如果问题仍然存在,请联系赛灵思技术支持。

ECC 错误 64 PM ECC Error 2bit(PM ECC 2 位错误) 当检测到 2 位 ECC 错误时,就会生成此事件 重新运行该应用。

如果问题仍然存在,请联系赛灵思技术支持。

62 PM ECC Error Scrub 2bit(PM ECC 2 位清理) 如果 ECC 清理程序检测到 2 位 ECC 错误,就会生成此事件 重新运行该应用。

如果问题仍然存在,请联系赛灵思技术支持。

Lock Errors(锁定错误) 67 Lock Access to unavailable(锁定访问不可用位置) 如果 AI 引擎对近邻中的隔离 tile 发出访问,就会生成此事件。 请运行 AI 引擎仿真器 (aiesimulator) 并搭配 –-enable-memory-check,这将标记所有访问违例。如果问题仍然存在,请联系赛灵思技术支持。或者运行 x86simulator 搭配 --valgrind,这将标记所有访问违例。
  1. CORE(核)指的是 AI 引擎 tile 中的 AI 引擎
表 2. 存储器模块错误事件
错误分组 编号 名称 描述 调试技巧
ECC Errors(ECC 错误) 88 DM ECC Error Scrub 2bit(DM ECC 2 位清理) 当 ECC 清理程序在 DM 的 bank 0 或 bank 1 中检测到 2 位 ECC 错误时,就会生成此错误。 重新运行该应用。

如果问题仍然存在,请联系赛灵思技术支持。

90 DM ECC Error 2bit(DM ECC 2 位错误) 在访问 DM 的 bank 0 或 1 期间检测到 2 位 ECC 错误时,就会生成此事件。从 AI 引擎、tile DMA 或 AXI 存储器映射接口访问 DM 都可能导致发生此数据存储器 ECC 错误。 重新运行该应用。

如果问题仍然存在,请联系赛灵思技术支持。

Memory Parity Errors(存储器奇偶校验错误) 91 DM Parity Error Bank 2(DM 奇偶校验错误 bank 2) 在访问 DM bank 2 期间检测到奇偶校验错误时,就会生成此事件。

AI 引擎、tile DMA 或 AXI 存储器映射接口访问 DM 都可能导致发生此数据存储器奇偶校验错误。

重新运行该应用。

如果问题仍然存在,请联系赛灵思技术支持。

92 DM Parity Error Bank 3(DM 奇偶校验错误 bank 3) 在访问 DM bank 3 期间检测到奇偶校验错误时,就会生成此事件。

AI 引擎、tile DMA 或 AXI 存储器映射接口访问 DM 都可能导致发生此数据存储器奇偶校验错误。

重新运行该应用。

如果问题仍然存在,请联系赛灵思技术支持。

93 DM Parity Error Bank 4(DM 奇偶校验错误 bank 4) 在访问 DM bank 4 期间检测到奇偶校验错误时,就会生成此事件。

AI 引擎、tile DMA 或 AXI 存储器映射接口访问 DM 都可能导致发生此数据存储器奇偶校验错误。

重新运行该应用。

如果问题仍然存在,请联系赛灵思技术支持。

94 DM Parity Error Bank 5(DM 奇偶校验错误 bank 5) 在访问 DM bank 5 期间检测到奇偶校验错误时,就会生成此事件。

AI 引擎、tile DMA 或 AXI 存储器映射接口访问 DM 都可能导致发生此数据存储器奇偶校验错误。

重新运行该应用。

如果问题仍然存在,请联系赛灵思技术支持。

95 DM Parity Error Bank 6(DM 奇偶校验错误 bank 6) 在访问 DM bank 6 期间检测到奇偶校验错误时,就会生成此事件。

AI 引擎、tile DMA 或 AXI 存储器映射接口访问 DM 都可能导致发生此数据存储器奇偶校验错误。

重新运行该应用。

如果问题仍然存在,请联系赛灵思技术支持。

96 DM Parity Error Bank 7(DM 奇偶校验错误 bank 7) 在访问 DM bank 7 期间检测到奇偶校验错误时,就会生成此事件。

AI 引擎、tile DMA 或 AXI 存储器映射接口访问 DM 都可能导致发生此数据存储器奇偶校验错误。

重新运行该应用。

如果问题仍然存在,请联系赛灵思技术支持。

DMA Errors(DMA 错误) 97 DMA S2MM 0 Error(DMA S2MM 0 错误) 写入 S2MM 通道 0 的 BD 任务队列时,如果此队列已满,则可能导致此错误。 如果您负责管理应用中的缓冲器描述符,请验证您在队列已满时未推送新的缓冲器描述符。

如果问题仍然存在,请联系赛灵思技术支持。

98 DMA S2MM 1 Error(DMA S2MM 1 错误) 写入 S2MM 通道 1 的 BD 任务队列时,如果此队列已满,则可能导致此错误。 如果您负责管理应用中的缓冲器描述符,请验证您在队列已满时未推送新的缓冲器描述符。

如果问题仍然存在,请联系赛灵思技术支持。

99 DMA MM2S 0 Error(DMA MM2S 0 错误) 写入 MM2S 通道 0 的 BD 任务队列时,如果此队列已满,则可能导致此错误。 如果您负责管理应用中的缓冲器描述符,请验证您在队列已满时未推送新的缓冲器描述符。

如果问题仍然存在,请联系赛灵思技术支持。

100 DMA MM2S 1 Error(DMA MM2S 1 错误)

写入 MM2S 通道 1 的 BD 任务队列时,如果此队列已满,则可能导致此错误。

如果您负责管理应用中的缓冲器描述符,请验证您在队列已满时未推送新的缓冲器描述符。

如果问题仍然存在,请联系赛灵思技术支持。

表 3. SHIM 模块错误事件
错误分组 编号 名称 描述 调试技巧
Bus Errors(总线错误) 62 AXI MM Slave Tile Error(AXI MM 从拼块错误) 如果 AXI 存储器映射接口从请求进入接口拼块,但地址无效,则会生成此事件。 如果使用 PL IP 通过 AXI 存储器映射接口访问 AI 引擎寄存器,请检查此 IP 是否会尝试访问错误的地址。

如果问题仍然存在,请联系赛灵思技术支持。

64 AXI MM Decode NSU Error(AXI MM 解码 NSU 错误) AXI 存储器映射接口流量的内部响应含有 DECERR。例如,如果某一列中的多个 tile 均已采用时钟门控,那么在内部会生成解码器错误并穿越 AXI 存储器映射接口进入接口 tile,从而生成此事件。 如果使用 PL IP 通过 AXI 存储器映射接口访问 AI 引擎寄存器,请检查此 IP 是否会尝试访问已采用门控的 tile。

如果问题仍然存在,请联系赛灵思技术支持。

65 AXI MM Slave NSU Error(AXI MM 从 NSU 错误) AXI 存储器映射接口流量的内部响应含有 SLVERR。例如,该接口 tile 列内的某个 AI 引擎 tile 的响应中包含从错误。该从错误将作为从错误,穿越 AXI 存储器映射接口到达接口 tile。 如果使用 PL IP 通过 AXI 存储器映射接口访问 AI 引擎寄存器,请检查此 IP 是否会尝试访问错误的地址。

如果问题仍然存在,请联系赛灵思技术支持。

66 AXI MM Unsupported Traffic(AXI MM 不受支持的流量) 源自 NoC 的 AXI 存储器映射接口提交了 AI 引擎不支持的请求。 如果使用 PL IP 通过 AXI 存储器映射接口访问 AI 引擎,请检查此 IP 是否会生成不受支持的 AXI 存储器映射接口请求。
67 AXI MM Unsecure Access in Secure Mode(安全模式下的 AXI MM 不安全访问) 源自 NoC 的 AXI 存储器映射接口当前发生安全模式违例(在 AI 引擎仅支持安全流量的情况下,尝试路由不安全的流量)。 检查 AI 引擎阵列是否是在安全模式下配置的。
68 AXI MM Byte Strobe Error(AXI MM 字节选通错误) 源自 NoC 的 AXI 存储器映射接口正在以不完整的 32 位码字执行写入(任一 32 位码字内的所有字节选通都必须置位)。 如果 PL IP 正在使用 AXI 存储器映射接口访问 AI 引擎,请检查是否每个 32 位码字中的所有字节选通都已置位。
Stream Error(串流错误) 63 Control Pkt Error(控制包错误) 控制包错误 如果 PL IP 正在生成控制包,请检查此 IP 是否正确生成这些包。

如果问题仍然存在,请联系赛灵思技术支持。

DMA Error(DMA 错误) 69 DMA S2MM 0 Error(DMA S2MM 0 错误) 此 DMA 错误对应于 DMA S2MM 通道 0。可能的原因有:
  • 写入已满的 BD 任务队列;
  • 尝试访问存储器时发生解码错误
  • 尝试访问存储器时发生从错误
如果您负责管理应用中的缓冲器描述符,请验证您在队列已满时未推送新的缓冲器描述符。

如果您负责管理应用中的缓冲器描述符,请检查发送到接口 tile DMA 缓冲器描述符的存储器地址是否有效。

如果问题仍然存在,请联系赛灵思技术支持。

70 DMA S2MM 1 Error(DMA S2MM 1 错误) 此 DMA 错误对应于 DMA S2MM 通道 1。可能的原因有:
  • 写入已满的 BD 任务队列;
  • 尝试访问存储器时发生解码错误
  • 尝试访问存储器时发生从错误
如果您负责管理应用中的缓冲器描述符,请验证您在队列已满时未推送新的缓冲器描述符。

如果您负责管理应用中的缓冲器描述符,请检查发送到接口 tile DMA 缓冲器描述符的存储器地址是否有效。

如果问题仍然存在,请联系赛灵思技术支持。

71 DMA MM2S 0 Error(DMA MM2S 0 错误) 此 DMA 错误对应于 DMA MM2S 通道 0。可能的原因有:
  • 写入已满的 BD 任务队列;
  • 尝试访问存储器时发生解码错误
  • 尝试访问存储器时发生从错误
如果您负责管理应用中的缓冲器描述符,请验证您在队列已满时未推送新的缓冲器描述符。

如果您负责管理应用中的缓冲器描述符,请检查发送到接口 tile DMA 缓冲器描述符的存储器地址是否有效。

如果问题仍然存在,请联系赛灵思技术支持。

72 DMA MM2S 1 Error(DMA MM2S 1 错误) 此 DMA 错误对应于 DMA MM2S 通道 1。可能的原因有:
  • 写入已满的 BD 任务队列;
  • 尝试访问存储器时发生解码错误
  • 尝试访问存储器时发生从错误
如果您负责管理应用中的缓冲器描述符,请验证您在队列已满时未推送新的缓冲器描述符。

如果您负责管理应用中的缓冲器描述符,请检查发送到接口 tile DMA 缓冲器描述符的存储器地址是否有效。

如果问题仍然存在,请联系赛灵思技术支持。

  1. SHIM 是指 AI 引擎阵列中的接口 tile(拼块)。