检查用户定义的约束 - 2022.1 简体中文

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

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

错误定义用户约束可能导致映射器故障。映射器预检器将捕获其中部分故障。但在预检阶段并不能捕获所有故障。在此类情况下,请检查确认是否存在下列状况。

  1. 如果 graph 中有大量绝对位置约束或并置约束,请检查这些约束,确认并未向映射器提供冲突性指令。AI 引擎阵列固有的棋盘式性质可能造成此类问题,如下图所示。

    在此图中,红色内核具有绝对位置约束,这些内核之间的窗口缓冲器(绿色)与第一个内核存在并置约束。这将导致映射器故障。

    图 1. 存在冲突的绝对位置约束/并置约束

  2. 如果在级联链中包含内核的绝对位置约束,请检查确认这些约束与架构是否兼容。在 AI 引擎架构中,每一行的级联方向都会发生更改。如有如下图所示绝对约束和级联,将导致映射器故障。
    图 2. 存在冲突的级联方向

  3. 在某些情况下,约束到特定拼块的缓冲器大小可能超过拼块的存储器容量(AI 引擎架构中为 32 KB)。这将导致映射器故障。
  4. AI 引擎架构中的每个拼块都具有 2 条输入 DMA 通道和 2 条输出 DMA 通道。如果缓冲器的约束方式导致特定拼块所需的 DMA 通道数量超过该数量,那么就会导致映射器故障。