当应用使用 GMIO 规范访问全局存储器(请参阅 配置 input_gmio/output_gmio)时,仿真需对 DDR 存储器建模,布线网络则会将 DDR 存储器连接至 PL 和 AI 引擎。AI 引擎到 DDR 存储器的连接由 AI 引擎阵列接口中嵌入的 DMA 数据移动器进行调解,并通过 PS 程序中的 GMIO API 进行控制。从 PL 上的 AXI4-Stream 端口到 DDR 存储器的连接由软核 GMIO 数据移动器块进行调解,此块是由 AI 引擎编译器自动生成的,用于仿真。数据移动器会通过 NoC 将源自 PL 块的串流接口转换为 AXI4 存储器映射接口传输事务,其中包含特定起始地址、块大小和突发量,如 配置 input_gmio/output_gmio 所示。
对全局存储器进行仿真时,可使用附加的 --gm-init-file 选项提供存储器数据文件,该选项使用预定义数据来初始化 DDR 存储器。此文件是从给定地址起始的 DDR 存储器的文本字节转储。此文件格式如下:
<startaddr>:
<byte>
<byte>
…
例如,可按如下方式通过全局存储器初始化来调用 AI 引擎仿真器:
aiesimulator –-pkg-dir=./Work -–gm-init-file=dump.txt
仿真器还会在仿真输出目录(默认目录:aiesimulator_output)中,为所使用的 DDR 存储器生成输出字节转储。输出文件的名称基于从基址 0x0
开始的 DDR 存储体(例如,DDRMC_SITE_X1Y0.mem)的内部位置。您可使用此转储来验证全局存储器传输事务。