Vivado 仿真器快捷参考指南 - 2023.2 简体中文

Vivado Design Suite 用户指南: 逻辑仿真 (UG900)

Document ID
UG900
Release Date
2023-10-18
Version
2023.2 简体中文

下表提供了常用 AMD Vivado™ 仿真器命令的快捷参考和示例。

表 1. 独立模式:从命令行解析、细化和运行仿真
解析 HDL 文件
Vivado 仿真器支持三种 HDL 文件类型:Verilog、SystemVerilog 和 VHDL。您可使用 XVHDL 和 XVLOG 命令解析受支持的文件。
解析 VHDL 文件

xvhdl file1.vhd file2.vhd

xvhdl -work worklib file1.vhd file2.vhd

xvhdl -prj files.prj

解析 Verilog 文件

xvlog file1.v file2.v

xvlog -work worklib file1.v file2.v

xvlog -prj files.prj

解析 SystemVerilog 文件

xvlog -sv file1.v file2.v

xvlog -work worklib -sv file1.v file2.v

xvlog -prj files.prj

如需了解有关 PRJ 文件格式的信息,请参阅 工程文件 (.prj) 语法

其他 xvlog 和 xvhdl 选项
xvlog 和 xvhdl 主要选项

如需获取命令选项的完整列表,请参阅 表 1

xvlogxvhdl 的主要选项如下所示:

主要选项 适用于:
xelab、xvhdl 和 xvlog xsim 命令选项 xvlog
xelab、xvhdl 和 xvlog xsim 命令选项 xvlogxvhdl
xelab、xvhdl 和 xvlog xsim 命令选项 xvlog
xelab、xvhdl 和 xvlog xsim 命令选项 xvlogxvhdl
xelab、xvhdl 和 xvlog xsim 命令选项 xvlogxvhdl
xelab、xvhdl 和 xvlog xsim 命令选项 xvlogxvhdl
xelab、xvhdl 和 xvlog xsim 命令选项 xvlog, xvhdl
xelab、xvhdl 和 xvlog xsim 命令选项 xvhdl, vlog
xelab、xvhdl 和 xvlog xsim 命令选项 xvlogxvhdl
细化和生成可执行快照

解析后,您可在 Vivado 仿真器中使用 XELAB 命令来细化设计。XELAB 用于生成可执行快照。

您可跳过解析器阶段,直接调用 XELAB 命令并传递 PRJ 文件。XELAB 用于调用 XVLOGXVHDL 来解析文件。

用法 xelab top1 top2 细化具有如下 2 个顶层设计单元的设计:top1top2。在此示例中,设计单元是在 work 库中编译的。
xelab lib1.top1 lib2.top2 细化具有如下 2 个顶层设计单元的设计:top1top2。在此示例中,设计单元是分别在 lib1lib2 中编译的
xelab top1 top2 -prj files.prj 细化具有如下 2 个顶层设计单元的设计:top1top2。在此示例中,设计单元是在 work 库中编译的。files.prj 文件包含如下条目:
verilog <libraryName> 
<VerilogDesignFileName>
vhdl <libraryName> <VHDLDesignFileName>
sv <libraryName> 
<SystemVerilogDesignFileName>
xelab top1 top2 -s top 细化具有如下 2 个顶层设计单元的设计:top1top2。在此示例中,设计单元是在 work 库中编译的。编译后,xelab 会生成名为 top 的可执行快照。如无 -s top 开关,xelab 会通过串联单元名称来创建快照。
命令行帮助和 xelab 选项

xelab -help

表 1

运行仿真
解析后,细化和编译阶段即告成功;xsim 会加载可执行快照以运行仿真。
用法 xsim top -R 对设计进行仿真直至完成。
xsim top -gui 打开 Vivado 仿真器工作空间 (GUI)。
xsim top 在 Tcl 模式下打开 Vivado Design Suite 命令提示符。您可从中调用如下选项:
run -all 
run 100 ns
重要快捷方式
您可通过单、双和三阶段方式调用解析、细化和可执行生成与仿真。
  三阶段

xvlog bot.v

xvhdl top.vhd

xelab work.top -s top

xsim top -R

  双阶段

xelab -prj my_prj.prj work.top -s top

xsim top -R

其中 my_prj.prj 文件包含:

verilog work bot.v

vhdl work top.vhd

  单阶段

xelab -prj my_prj.prj work.top -s top -R

其中 my_prj.prj 文件包含:

verilog work bot.v vhdl work top.vhd

注释: 如果设计包含 UVM 构造,则需向 xvlog 和 xelab 命令传递 -L uvm
Vivado 仿真 Tcl 命令

常用 Tcl 命令如下所示。要获取完整列表,请在 Tcl 控制台中调用下列命令:

load_features simulator

help -category simulation

如需了解有关任意 Tcl 命令的信息,请输入:-help <Tcl_command>

Vivado 仿真器常用 Tcl 命令: add_bp 在某一行 HDL 源代码中添加断点。
add_force 将某个信号、连线或寄存器的值强制设为指定值。如需获取 Tcl 命令示例,请参阅 使用 Force 命令

current_time

now

报告当前仿真时间。如需获取 Tcl 脚本内此命令的示例,请参阅 使用 -tclbatch 文件
current_scope 报告或设置当前工作中的 HDL 作用域。如需了解更多信息,请参阅 “Scope”窗口
get_objects 根据指定模式,获取一个或多个 HDL 作用域内的 HDL 对象列表。如需获取命令使用示例,请参阅:SAIF Tcl 命令示例
get_scopes 获取 HDL 子作用域列表。如需了解更多信息,请参阅 “Scope”窗口
get_value 获取选定的 HDL 对象(变量、信号、连线或寄存器)的当前值。如需了解更多信息,请在 Tcl 控制台中输入 get_value -help
launch_simulation 使用 Vivado 仿真器启动仿真。
remove_bps 从仿真中移除断点。
report_drivers 为 HDL 连线或信号对象打印驱动程序和当前驱动值。如需了解更多信息,请参阅:使用 report_drivers Tcl 命令
report_values 打印给定 HDL 对象(变量、信号、连线或寄存器)的当前仿真值。如需获取 Tcl 命令的使用示例,请参阅 “Scope”窗口
restart 将仿真回绕至加载后状态(就像重新加载设计一样);时间设为 0。
set_value 将 HDL 对象(变量、信号、连线或寄存器)设为指定值。如需了解更多信息,请参阅:Vivado 仿真器 Tcl 命令中的值规则
step 单步执行仿真直至下一个语句。请参阅 单步执行仿真