Vivado 仿真器中以批处理或脚本模式(Batch or Scripted Mode)进行仿真

以下说明来自ug900:在 Vivado 仿真器中以批处理或脚本模式进行仿真 具体可以内容可自行查找
其中代码运行截图为自己实践的实例·
在这里插入图片描述

Note: xelab, xvlog and xvhdl are not Tcl commands. The xvlog, xvhdl, xelab are Vivado-independent compiler executables. Hence, there is no Tcl command for them.
注意,xelab, xvlog and xvhdl不是 Tcl 命令。xvlog, xvhdl, xelab 是独立于 Vivado 的编译器可执行文件。 因此,它们没有 Tcl 命令。

若对应命令需要帮助,可以用xxx -help

解析设计文件,xvhdl 和 xvlog

xvhdl:
此命令分析 VHDL 源文件并将分析的转储存储到 HDL 中 磁盘上的库。
xvlog:
The xvlog command is the Verilog parser. The xvlog command parses the Verilog source file(s) and stores the parsed dump into a HDL library on disk.
该命令是Verilog解析器。该 xvlog 命令解析 Verilog 源文件,并将解析的转储存储到 HDL 磁盘上的库。

使用方式

Usage: xvlog [options] file
后面给出的是需要解析的HDL文件
示例:
在这里插入图片描述
–sv指定输入的文件用sv模式编译,–work给定了对应存储库的名字为mylib,最后给出需要解析的HDL文件为src文件夹中所有的.v .sv文件。

可选项-和–

通常而言,-说明参数是字符形式,后面接的是单字母命令。- -说明参数是字符串形式,对应相应单-命令的全称两者是等价的,如 xx -h 和 xx --help。
此命令中间有很多的可选项,不清楚的话可以去ug900中查,也可以直接命令行里输入xvlog -h或–help。
ug900的指令可选项列表

xelab 详细阐述和生成设计快照

使用 Vivado 仿真器进行仿真分两个阶段进行:

第一阶段,模拟器编译器 xelab 将 HDL 模型编译为快照,快照以模拟器可以执行的形式表示模型。
第二阶段,模拟器加载并执行(使用命令)快照以模拟模型。在非项目模式下,您可以通过跳过第一阶段并重复第二阶段来重复使用快照。xsim
当模拟器创建快照时,它会根据模型中排名靠前的模块的名称为快照分配一个名称。但是,您可以通过将快照名称指定为编译器的选项来覆盖默认值。快照名称在目录或 SIMSET 中必须是唯一的;重复使用快照名称(无论是默认名称还是自定义名称)都会导致使用该名称覆盖以前构建的快照。

重要:在同一目录或 SIMSET 中,不能用相同的快照名运行两个模拟

使用方式

Usage: xelab [options] [libname.]unitname

其中必须xelab命令后面跟的就是[libname.]unitname(设计的顶层),中间有很多的可选项,不清楚的话可以去ug900中查,也可以直接命令行里输入xelab -h,他会给出所有可选项和示例等。

示例:
以下指令编译了模块(编译为快照?),创建了快照mylib.stack_tb
在这里插入图片描述
以下是多了两个参数
-s [ --snapshot ] arg:Specify the name of design snapshot
指定了快照名simTest,所以后面指令显示的快照名就是simTest,没有指定就是默认的顶层mylib.stack_tb
在这里插入图片描述
–debug参数如下:
在这里插入图片描述

static elaboration

指令执行中涉及了static elaboration,可以参考文章:elaborate
analyze: (xvlog做的)读入RTL代码,分析每个文件的语法是否正确。(这个时候每个module还是独立的,没有instance的关系)
elaborate: 用analyze已经读入的RTL代码来构建hierarchy。顶层是可以设置的。这个时候整个design的层次就有了,instance的关系也明确了。

xsim模拟设计快照

该命令加载模拟快照以执行批处理模式模拟,或提供工作区 (GUI)或基于 Tcl 的交互式模拟环境。
语法:xsim
在这里插入图片描述
在这里插入图片描述

示例:
在这里插入图片描述
该指令会打开vivado的仿真波形界面,将波形添加后可以运行查看结果。

总结※

总之我理解的这三个指令就是:
1、xvlog会analyze解析HDL文件;
analyze: 读入RTL代码,分析每个文件的语法是否正确。(这个时候每个module还是独立的,没有instance的关系)

2、xelab会将 HDL 模型编译为快照,快照以模拟器可以执行的形式表示模型(就是之前提到的第一阶段),其中有elaborate (用analyze已经读入的RTL代码来构建hierarchy。顶层是可以设置的。这个时候整个design的层次就有了,instance的关系也明确了)来构建模块间的层次结构,并且会分析各模块数据流;

3、xsim模拟器加载并执行(使用命令)快照以模拟模型(第二阶段),就是进行仿真,这个仿真可以存波形文件多次调用。
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值