使用以 System Verilog/Verilog 编写的现有测试激励文件,并针对您的测试激励文件层级稍作修改,从而生成流量,如下所述。
图 1. 测试激励文件层级
如上图中所示,外部测试激励文件(左侧)和 Vitis 仿真(右侧)都作为独立仿真进程运行。要在两个进程之间使用 IPC 建立通信,必须例化 SIM_IPC 主/从模块。
执行以下修改:
- 在 Vitis 仿真设计中添加 IPC 模块。这些模块以预封装的 XO 文件形式提供,您可以使用
v++
命令行插入这些模块,如 用于串流流量的 AXI4-Stream I/O 模型 中所述。 - 在 SV/V 测试激励文件中添加 SIM IPC 模块。例化流量生成器顶部的
ipc_axis_master_mirror
模块,并通过 SV 接口建立管脚级别的连接。ipc_axis_master_mirror
将管脚级别的 AXI 传输事务转换为generic_payload
,并通过 IPC 套接字发送到 Vitis 仿真设计中的ipc_axis_master
模块。同样,在流量生成器顶部例化一个ipc_axis_slave_mirror
模块以连接到 Vitis 仿真设计中的ipc_axis_slave
模块。
同样的方法也可部署用于驱动从外部 System Verilog/Verilog 流量生成器/测试激励文件到 AI 引擎仿真器或 x86 仿真器的流量。
图 2. XTLM 测试激励文件层级
注释: 用于在外部 TG 与仿真进程/AI 引擎仿真器/x86 仿真之间往来发送数据的模块在不同的仿真上下文中可采用不同的名称,以确保:
-
xtlm_ipc_pl2aie
或ipc_axis_master_mirror
相同 -
tlm_ipc_aie2pl
或ipc_ais_slave_mirror
相同 - 这些集合在一起构成 xtlm_ipc_verilog_stub 模块。所有名称均可互换。