Versal AI Core 系列器件包含 AI 引擎阵列,其中包含以下类别的几个列。
- PL 列
- 用于提供 PL 串流访问。每个列都支持 8 个 64 位从通道,用于将数据串流到 AI 引擎,并包含 6 个 64 位主通道,用于将数据串流到 PL。
- NoC 列
- 用于提供 AI 引擎阵列与 NoC 之间的连接。这些接口也可连接到 PL。
如需指令 AI 引擎编译器选择更高频率的结果,请使用 --pl-freq=<number>
指定 PL 内核的时钟频率 (MHz)。默认值为 AI 引擎频率的四分之一,支持的最大值为 AI 引擎频率的一半,值取决于速度等级。示例如下:
- 以下选项可为所有 AI 引擎到 PL 启用 300 MHz 的 AI 引擎到 PL 频率:
--pl-freq=300
- 要为特定 PLIO 接口设置不同频率,请使用以下代码在 ADF graph 进行设置。
adf::PLIO *<input>= new adf::PLIO(<logical_name>, <plio_width>, <file>, <FreqMHz>);
AI 引擎到 PL 的 AXI4-Stream 通道使用包含可选 BLI 寄存器的边界逻辑接口 (BLI) 连接(从通道 3 和 7 除外)。通道 3 和 7 这两条从通道的接口速度较慢。AI 引擎与 PL 之间的数据传输性能取决于是否启用可选 BLI 寄存器。
对于时序关键性较低的设计,无需使用 BLI 寄存器即可使用全部 8 条通道。在此情况下仍可满足 PL 时序。但对于频率较高的设计,只能使用 6 条快速通道(0、1、2、4、5 和 6),且源自 PL 的时序路径必须使用 BLI 寄存器加以寄存。
为了控制跨 AI 引擎 PL 通道的 BLI 寄存器的使用,请使用 --pl-register-threshold=<number>
编译器选项 (MHz)。默认值为 AI 引擎频率的 1/8(基于速度等级)。下面给出 1 个示例:
-
–pl-register-threshold=125
编译器将仅限把AI 引擎到 PL 频率高于此设置(即此例中的 125 MHz)的所有 PLIO 接口映射到已启用 BLI 寄存器的高速通道。如果 PLIO 接口频率不高于
pl-register-threshold
值,那么将使用任意 AI 引擎到 PL 通道。
总之,如果 pl-freq
< pl-register-threshold
,则全部 8 条通道均可使用且无需寄存。如果 pl-freq
> pl-register-threshold
,则只能使用 6 条快速通道且需寄存。pl-register-threshold
是一种控制频率阈值的方法,超过阈值的情况下,只能使用快速通道(含寄存)。