描述
利用原先基于 C/C++ 的测试激励文件来为已综合的 RTL 执行综合后协同仿真。
提示: 要指定测试激励文件的文件,请运行以下命令:
add_files -tb
根据 -rtl
选项,仿真结果将写入处于活动状态的解决方案的 sim/Verilog 或 sim/VHDL 文件夹。
语法
cosim_design [OPTIONS]
选项
-
-O
- 启用 C/C++ 测试激励文件和 RTL 封装文件的优化编译。这样会增加编译时间,但是能提供更好的运行时性能。
-
-argv <string>
-
<string>
传递到 C/C++ 主函数。指定行为测试激励文件的实参列表。
-
-compiled_library_dir <string>
- 指定使用第三方仿真器进行仿真期间已编译的库目录。
<string>
是已编译的库目录的路径名称。此库必须事先使用compile_simlib
命令完成编译,如 Vivado Design Suite Tcl 命令参考指南(UG835) 中所述。 -
-coverage
- 启用使用 VCS 仿真器进行仿真期间的覆盖率功能。
-
-disable_binary_tv
- 使用纯文本测试矢量文件代替压缩二进制格式。
-
-disable_deadlock_detection
- 禁用协同仿真中的死锁检测功能。
-
-disable_dependency_check
- 运行协同仿真时禁用依赖关系检查。
-
-enable_dataflow_profiling
- 该选项会开启数据流通道剖析以跟踪协同仿真期间的通道大小。
-
-enable_fifo_sizing
- 在协同仿真期间,该选项可开启自动 FIFO 通道大小调整,以便进行数据流剖析。
-
-enable_tasks_with_m_axi
- 该选项用于启用
hls::task
和ap_ctrl_none
的仿真,并具有稳定的顶层指针。 -
-hwemu_trace_dir <kernel_name>/<instance_name>
- 指定测试矢量的位置,这些矢量是在硬件仿真期间生成的,将在协同仿真期间使用。这些测试矢量是由
config_export -cosim_trace_generation
命令生成的。该实参允许您在硬件仿真的仿真结果中指定 Vitis 内核的内核和实例名称,以便定位这些测试矢量。 -
-ldflags <string>
- 指定传递到连接器用于协同仿真的选项。
该选项通常用于为 C/C++ 语言测试激励文件传递 include 路径信息或库信息。
-
-random_stall
- 在协同仿真期间启用顶层接口的随机停滞。
-
-rtl [verilog | vhdl]
- 指定用于 C/RTL 协同仿真的 RTL 语言。默认为 Verilog。
-
-setup
- 创建仿真文件,包括在处于活动状态的解决方案的 sim/<HDL> 目录中创建的所有仿真文件。不执行仿真,但稍后可从命令外壳运行仿真。
-
-stable_axilite_update
- 启用
s_axilite
以配置寄存器,这些寄存器与传输事务前相比均保持稳定状态。 -
-trace_level [*none* | all | port | port_hier]
- 判定 C/RTL 协同仿真期间,要保存的波形追踪数据级别。
-
none
表示不保存追踪数据。这是默认方式。 -
all
表示生成要保存到追踪文件的所有端口和信号波形。 -
port
表示仅为顶层端口保存波形追踪数据。 -
port_hier
表示保存设计层级内的所有端口的追踪信息。
根据
-rtl
选项中使用的选择,执行仿真时,追踪文件将保存在当前解决方案的 sim/Verilog 或 sim/VHDL 文件夹内。 -
-
-user_stall <string>
- 指定协同仿真期间要使用的 JSON 停滞文件。此停滞文件可使用
cosim_stall
命令来生成。 -
-wave_debug
- 打开 Vivado 仿真器 GUI 以查看波形和仿真结果。在生成的 RTL 中启用查看所有进程的波形的功能,就像在数据流进程和顺序进程中一样。仅当通过设置
-tool xsim
使用 Vivado 仿真器来执行系统仿真时,才支持该选项。如需了解更多信息,请参阅 查看仿真波形。
示例
使用 Vivado 仿真器执行验证:
cosim_design
使用 VCS 仿真器验证 Verilog RTL,并启用波形追踪文件保存功能:
cosim_design -tool VCS -rtl verilog -coverage -trace_level all
使用 ModelSim 验证 VHDL RTL。值 5 和 1 会传递到测试激励文件函数,以供在 RTL 验证中使用:
cosim_design -tool modelsim -rtl vhdl -argv "5 1"