处理 I/O 流量生成器 - 2023.2 简体中文

Vitis 统一软件平台文档 应用加速开发 (UG1393)

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 简体中文

部分用户应用(如视频流媒体和基于以太网的应用)使用平台上的 I/O 端口执行进出平台的数据串流。对于此类应用,要对设计执行软硬件仿真或者运行 AI 引擎仿真,需要一种机制来模拟 I/O 端口的硬件行为以及对通过这些端口运行的数据流量进行仿真。I/O 流量生成器允许您在 AMD Vitis™ 应用加速开发流程中执行软件和硬件仿真期间、在 AI 引擎仿真流程(x86 仿真器和 AI 引擎仿真器)期间,或者在 AMD Vivado™ Design Suite 中执行逻辑仿真期间,对流经 I/O 端口的流量进行建模。

重要: 软件仿真仅支持 AXI4‑Stream I/O 仿真,并且在 AMD Zynq™ 7000 器件上不受支持。硬件仿真支持 AXI4‑StreamAXI4 存储器映射接口 I/O 仿真。

用于串流流量的 AXI4-Stream I/O 模型 中所述,可在 Python、MATLAB、C/C++ 或 RTL (Verilog/SV) 模块中编写流量生成器。在使用进程间通信 (IPC) 与 Vitis 仿真进程或 AI 引擎 仿真进程通信的外部进程中启动这些流量生成器。IPC 连接是使用 IPC AXI4‑Stream 主/从模块建立的,如 以 Python/C++/MATLAB 运行流量生成器 中所述。

流量生成器旨在将数据传递到系统中,或者接收来自系统的数据。提供这些 API 的目的是为标准数据类型或者较复杂的数据类型处理数据传输。您用于创建流量生成器的 API 是根据系统所需的数据类型来决定的。例如,send_data 或 receive_data 之类的简单 API 负责标准数据类型,如 适用于 AI 引擎计算图的 Python API适用于 PL 内核的 Python API 中所述。更为复杂的数据类型则需要 通用 Python API高级 Python 流量生成器 API 中所述的 API。

以下提供了更多的详细信息,用于描写在 Python/C/C++/Verilog 中基于您的应用将流量生成器与后续 PL 内核或 AI 引擎内核集成的各种方法。