-
命令格式:vlog [options]
[ ...] -
命令选项
-
-cover[=
], 可指定为{b|c|e|s|f|t} -
+define+
[= ],该选项等同于在编译源文件时添加``define `也可在一个+define后添加多个宏定义(也可以分开) vlog +define+one=r1+two=r2+three=r3 test.v
-
(-f | -file)
,对应一个参数文件,文件内可添加更多的编译选项内容 -
+incdir+
,指明对于源文件中使用`include编译导向时将会查找对应文件的文件夹 -
(-l | -logfile)
生成编译时的log记录文件。 -
-L
指定在编译时在哪些库中搜索预先编译的模块。 -
-novopt编译时不作优化
-
-lint编译时作语义检查(例如,为input端口赋值、访问未声明的变量、访问数组的范围越界等)
-
{+initmem | +initreg}[=
][+{0|1│X│Z}],初始化{数组│变量}, 可以为(r|b|e),只对静态变量(例如硬件信号或者static变量)起作用 -
-quiet过滤一些加载库的信息,使得log信息更简洁
-
-timescale[ =]I[ ]
/ 指明那些未指定时间单位的module/interface/program/package等。-timescale=1ns/1ps -
-warning
[, ..]将指定消息严重级别降为warning级别 -
-work
在编译时将目标编译到指定的库中,库名可以是逻辑库名或者库的对应路径
-
- vlib
按照库指定路径和库名去创建库。 - vdir -all显示当前所有编译库、预编译库中的内容。
- vdir [-lib
][ ],显示指定库(库名或路径)的内容,或者指定模块的信息。 - verror [-fmt | -full][-kind
] {-all | }显示{全部│指定msgNum},有关某一个指令 的错误描述内容,便于理解错误。
-
命令格式:vsim [options]
-
命令选项
- [-batch | -c | -gui | -i ]采用后台模式(-batch)、命令行模式(-c) 、用户界面模式(-gui)或者交互模式(-i) 。
- -do "
" | 传入并执行Tcl命令或者脚本文件。 - -f
传入带有仿真选项的文件,可在仿真过程中解析并采用这些仿真选项。 - [-g |-G]
= ..., -g可以覆盖那些没有被显式赋值(采取默认值)的参数,而-G则可以覆盖那些已经被显式赋值的参数。 - -immedassert | -noimmedassert,使能或禁止立即断言( immediate assertion)。
- -solvefaildebug=
,使能随机化失败调试,如果value不给值,则使能基本调试功能。 - -sv_lib
导入DPI共享对象(shared object),用于导入DPI方法。 - -sv_seed
| random,用于指定仿真时的随机种子。 - -title
在仿真窗口指定当前仿真的"标题",便于调试多个同时进行的仿真窗口。 - -wlf
指定保存的保存文件,默认输出vsim.wlf。 - -coverage使能覆盖率收集,但要求编译时添加+cover选项。
- -viewcov [
=] 调用coverageview模式查看UCDB覆盖率数据。 - -coverstore
-testname 在仿真结束时保存覆盖率数据结果,必须要单独调用coverage save命令。 - -default_radix
在仿真时指定变量显示的默认格式({ascii | binary | decimal | hexadecimal | octal | symbolic | unsigned}) - -uvmcontrol={all | certe | disable | msglog | none | struct | trlog | verbose}使能UVM有关调试功能。
- -classdebug -msgmode both -uvmcontrol=all(应用方式)
-
mem list [-r][
]∶显示目标路径下的数组信号/变量。 -
mem display:显示目标mem的内容,相关命令mem search。
-
mem load:向目标mem中加载指定数据(从文件中或者命令行参数)。
-
mem save:将目标mem中的数据保存到指定文件。
- classinfo instances
:显示目标类的实例。 - classinfo isa
:显示继承于目标类的子类。 - classinfo stats:显示当前仿真有关类占据内存的状态信息。
- classinfo types
:显示正则表达式中相关的类型名。
- virtual region:创建虚拟层次。
- virtual signal:创建虚拟信号。
- virtual function:创建虚拟组合逻辑(可添加延迟)信号。
- virtual show:显示仿真中的虚拟层次、信号。
- virtual describe:对virtual信号进行详细说明。
- virtual delete:移除virtual信号。
前提: vsim -uvmcontrol=all -classdebug
- uvm configtracing {0 | 1}︰跟踪configuration database set & get。
- uvm displayobjections [
]:返回当前仿真中的objections raise & drop。 - uvm findregisters [-acc]
:返回寄存器模型后门映射的寄存器路径。 - uvm findsequences [
]:返回当前仿真中的activesequences。 - uvm handle
:返回UVM对象的句柄值。 - uvm printconfig [
[ ]]:显示与目标组件和配置对象相关的配置信息。 - uvm printfactory:打印已经在工厂注册的各个UVM类型。
- uvm printtopology:打印UVM层次结构。
- uvm setverbosity
[ ]:设置UVM冗余度。
coverage 记录功能:
- coverage open
[ ]:在GUI模式下打开某个UCDB文件,并为其指定某个逻辑名称。coverage open last.ucdb test - coverage attribute :用来显示或者设置与当前UCDB/Test/Object有关的属性(attribute) 。
- coverage ranktest:根据在已合并的UCDB数据库中的各个test对于覆盖率的贡献进行排序。
- coverage tag:将覆盖率数据库中的不同数据目标贴上标签(tag),继而跟验证计划(xml)中的覆盖目标进行映射。
- coverage testnames:显示目前加载UCDB数据库中包含的各个test名。
- coverage save:在仿真中将覆盖率数据保存为UCDB文件。
vcover 处理功能:
-
vcover attribute:显示当前加载UCDB的属性。
vcover attribute -ucdb [-name ...]| [ : test] -
vcover merge:将多个通过"coverage save"命令创建的UCDB文件进行合并。
vcover merge{ [-out] [ ... ] } -
vcover remove:将已合并进去的测试计划(testplan)相关数据和映射链接移除。
vcover remove -tplan { [-out]} [-[wprof= ] [-proftick= ] [-stats [=[+ | -] [,[+ | -] ] ] -
vcover report:从之前已经保存或者处理的UCDB数据中打印覆盖率信息或者过滤信息。
vcover reportvcover report -html
-
vcover testnames:显示指定UCDB数据中的test集合。
vcover testnames
-
vcover history:显示目标UCDB文件的生成过程(命令记录)。
vcover history < hist_options >
- do
[ ..….]:执行一个DO tcl脚本。 - echo [
]:在Transcript窗口显示信息。 - [environment | env] [-dataset | -nodataset] [
| -forward | -back] :显示或改变当前的数据/信号所在的路径,相关命令show。 - [examine | exa]:显示一个或者多个目标变量/信号的数值。
- exit [-f]:退出当前仿真。
- quit [{-force | -f}| -sim]:强制退出,或者卸载当前仿真但不退出SIM,相关命令stop。
- find:按照指定类型和名称找到信号/变量。
- force {
[[@] ][,[@] ]... [-freeze | -deposit | -drive][-cancel [@] ][-repeat [@] ]:如下
force -freeze /top/p/addr 0 100,1 150 -r 200 -cancel 2000 - noforce:去除在某些信号上已添加的force效用。
- log:创建波形文件并且将对应数据保存到WLF格式文件中。
- setenv
[ ]︰设置环境变量,相关命令: unsetenv,printenv。 - simstats:显示与编译、仿真有关的数据信息。
- report [files | where | simulator control | simulator state]:报告与仿真有关的文件、配置、控制和状态,相关命令: where
- checkpoint
:将仿真状态、波形等文件均保存下来,并且在当前仿真中可以利用restore命令回退。 - when:在信号状态或者仿真时间满足条件时,可执行预定任务。
- wlf2log | wlf2vcd:将WLF波形文件转换为log或者vcd格式,相关命令vcd2wlf。
- vcd file | vcd add | vcd {on | off}:用来记录信号变化的vcd格式文件的相关命令。



