用于串流流量的 AXI4-Stream I/O 模型 - 2023.2 简体中文

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

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

以下章节主要围绕 AXI4‑Stream 展开。串流 I/O 模型可用于对平台上的串流流量进行仿真,并且支持延迟建模。当目标为软件仿真或硬件仿真时,您可以将串流 I/O 添加到自己的应用中,或者在硬件仿真关联环境中将其添加到您的定制平台设计中,如下所述:

  • 串流 I/O 内核可像任何其他已编译的内核对象 (XO) 文件一样,使用 v++ --link 命令添加到器件二进制 (xclbin) 文件中。使用这些预编译的 XO 文件可以缩短 v++ 编译时间。Vitis 安装为各种不同数据宽度的 AXI4‑Stream 接口提供了内核。受支持的标准位宽为 8、16、32、64、128、256 和 512。这些位宽可在如下软件安装位置中找到:$XILINX_VITIS/data/emulation/XO

    您可使用以下命令示例将这些内核添加到自己的设计中:

    v++ -t hw_emu --link $XILINX_VITIS/data/emulation/XO/sim_ipc_axis_master_32.xo $XILINX_VITIS/data/emulation/XO/sim_ipc_axis_slave_32.xo ... 

    在以上示例中,sim_ipc_axis_master_32.xosim_ipc_axis_slave_32.xo 提供了 32 位主内核和从内核,这些内核能够与目标平台以及您的设计中的其他内核相链接,以创建用于仿真构建的 .xclbin 文件。

  • 对于硬件仿真,还可以使用 Vivado IP integrator 将 IPC 模块添加到平台块设计中,以供 AMD Versal™ AMD Zynq™ UltraScale+™ MPSoC 定制平台使用。该工具提供了 sim_ipc_axis_master_v1_0sim_ipc_axis_slave_v1_0 IP 用于添加到您的平台设计中。这些内核可在如下软件安装位置中找到:$XILINX_VIVADO/data/emulation/hw_em/ip_repo

    以下提供的 Tcl 脚本示例可用于将 IPC IP 添加到您的平台设计中,这样您即可将来自以 Python 或 C++ 编写的外部进程的数据流量注入自己的仿真中:

    #Update IP Repository path if required
    set_property  ip_repo_paths $XILINX_VIVADO/data/emulation/hw_em/ip_repo [current_project]
    ## Add AXIS Master
    create_bd_cell -type ip -vlnv xilinx.com:ip:sim_ipc_axis_master:1.0 sim_ipc_axis_master_0
    #Change Model Property if required
    set_property -dict [list CONFIG.C_M00_AXIS_TDATA_WIDTH {64}] [get_bd_cells sim_ipc_axis_master_0]
    
    ##Add AXIS Slave
    create_bd_cell -type ip -vlnv xilinx.com:ip:sim_ipc_axis_slave:1.0 sim_ipc_axis_slave_0
    #Change Model Property if required
    set_property -dict [list CONFIG.C_S00_AXIS_TDATA_WIDTH {64}] [get_bd_cells sim_ipc_axis_slave_0]