在硬件仿真期间为 Vitis HLS 生成测试矢量 - 2023.2 简体中文

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

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

现在可以指令 Vitis 工具在硬件仿真 (hardware emulation) 期间生成测试矢量用于仿真 (simulation),而无需重新运行 v++ 编译和链接。测试矢量将允许 Vitis HLS 允许 C/RTL 协同仿真,而无需专用 C++ 测试激励文件,以满足下列需求:

  • 死锁分析
  • FIFO 深度最优化
  • 其他性能最优化

请使用以下步骤:

  1. 创建 hlsPre.tcl 文件并插入以下命令:
    config_export -cosim_trace_generation
  2. 运行 v++ --compile 并保留 <compile_dir> 下的 HLS 工程目录
  3. 运行 v++ --link --target hw_emu
  4. 运行该应用以进行硬件仿真
  5. 在 HW_EMU 运行目录内找到 hls_cosim
    1. 此目录针对每个内核包含一个目录,针对内核下的每个内核 CU(内核实例)也包含一个目录:
      <build_dir>/.run/<run_number>/hw_em/device0/binary_0/behav_waveform/xsim/hls_cosim/<kernel_name>
  6. 将相应的内核目录复制到 HLS 工程目录中,即:
    cp -r <build_dir>/.run/<run_number>/.../xsim/hls_cosim/<kernel_name> <compile_dir>/<kernel_name>/<kernel_name>
  7. 打开 Vitis HLS 工具并以批处理模式或 GUI 模式运行 C/RTL 协同仿真:
    cosim_design -hwemu_trace_dir <kernel_name>/<instance_name> ...

仅限满足以下条件时,从 HW_EMU 生成的追踪才有效:

  • 内核功能不发生改变
  • 内核顶层接口不发生改变
  • 顶层接口读写次数(s_axilite 寄存器、m_axi 接口、axis 接口)不发生改变。