VCS命令详解-FPGA常见问题社区-FPGA CPLD-ChipDebug

VCS命令详解

前言:

本文一共接近一万四千字,适合作为vcs中文使用手册查询,希望能帮助到一些朋友。

VCS命令详解(一): 编译命令

A

-ams:允许在VCS两步模式下使用Verilog-AMS代码。

-ams_discipline <discipline_name>:在VCS两步模式下,指定VerilogAMS中的默认离散规则。

-ams_iereport:在VCS 两步模式下提供自动插入的连接模块(AICM)信息。

-as :指定备用汇编器。仅适用于增量编译模式,这是默认设置。IBM RS / 6000 AIX不支持。

-ASFLAGS :将选项传递给汇编器。IBM RS / 6000 AIX不支持。

-assert <keyword_argument> keyword_argument如下

disable_cover:禁用SVA覆盖率的报表。

dumpoff:禁止在VPD波形文件中存储SVA信息。

dve:在您加载到DVE中的VPD文件中启用SystemVerilog断言跟踪。通过此跟踪,您可以查看断言图。

enable_diag:使用运行时选项进一步控制SystemVerilog断言结果报告。

filter_past:忽略包含尚未超过历史记录阈值的过去运算符的SystemVerilog断言子序列。

vpiSeqBeginTime:使您能够查看使用Debussy时SystemVerilog断言序列开始的仿真时间。

vpiSeqFail:使您可以查看使用Debussy时SystemVerilog断言序列不匹配的仿真时间。

+acc + 1 | 2 | 3 | 4

旧样式的方法可在整个设计中启用PLI ACC功能。

1启用除断点和延迟注释之外的所有功能。

2启用1启用的功能,再加上网络和寄存器的值更改的断点。

3启用2启用加上模块路径延迟注释。

4启用3启用加上门延迟注释。

+ad = <分区文件名>:指定用于混合信号仿真的分区文件。

+allmtm:允许您在运行时使用+ mindelays,+ maxdelays或+ typdelays运行时选项指定min:typ:max延迟值三重态中已编译SDF文件中的哪些值。

+applylearn [+ <文件名>]:编译您的设计以仅启用在先前的设计仿真过程中进行调试操作所需的ACC功能。+ vcs + learn + pli运行时选项在名为pli_learn.tab的文件中记录了使用ACC功能的位置。如果不更改文件名或位置,则可以从此选项中省略+ <文件名>。

+autoprotect [<文件后缀>]:创建一个受保护的源文件;所有模块均已加密。

+auto2protect [<文件后缀>]:创建一个受保护的源文件,该文件不对模块头中的端口连接列表进行加密;所有模块均已加密。

+auto3protect [<文件后缀>]:创建一个受保护的源文件,该文件不加密模块头中的端口连接列表或第一个端口声明之前的任何参数声明;所有模块均已加密。

B

+bidir + 1:告诉VCS在找到双向注册混合信号网络时完成编译。

C

-C:在生成中间C或汇编代码之后停止。

-cc:指定和替代C编译器。

-CC:与-CFLAGS相同。

-CFLAGS:将选项传递给C编译器。允许使用多个-CFLAGS。允许传递C编译器优化级别。

-cm line|cond|fsm|tgl|branch|assert

指定针对指定的覆盖率类型进行编译。参数指定了覆盖范围的类型:

line:编译行覆盖率

cond:编译条件覆盖率

fsm:编译状态机覆盖率

tgl:编译翻转覆盖率

branch:编译分支覆盖率

assert:编译断言覆盖率

如果您希望VCS编译多种类型的Coverage,使用加号(+)作为参数之间的分隔符,例如:

-cm line + cond + fsm + tgl

-cm_assert_hier :将断言覆盖率的范围限制为指定文件中。

-cm_cond

由一个或多个参数指定的修改后的条件覆盖率:

basic:只有逻辑条件,没有多个条件。

std:仅逻辑和敏感条件。

full:完整的逻辑和非逻辑,多种情况,不敏感条件。

allops:逻辑和非逻辑条件。

event:事件控制的敏感列表位置中的信号都是条件。

anywidth:启用需要超过32位的条件

for:如果启用for循环,则启用条件。

tf:在用户定义的任务和功能中启用条件。

sop:条件SOP覆盖率而不是敏感条件。还告诉VCS,当它读取包含按位XOR和〜^按位XNOR运算符的条件表达式时,会将表达式简化为否定和逻辑AND或 OR。

-cm_constfile :指定列出信号和0或1值的文件。VCS会针对线路和条件覆盖范围进行编译,就好像这些信号永久处于指定值,并且您包含了-cm_noconst选项一样。

-cm_count:启用cmView执行以下操作:在翻转覆盖范围中,不仅信号是否从0切换到1以及从1切换到0,还切换了信号切换的次数。在FSM覆盖范围中,不仅FSM是否达到状态都具有这种过渡,而且它的执行次数在条件覆盖率中,不仅要满足是否满足条件,还要满足条件的次数在行覆盖率中,不仅要执行一条线,还要执行多少次。

-cm_dir <directory_path_name>:指定coverageDatabase目录的备用名称和位置。

-cm_fsmcfg :指定状态机覆盖率配置文件。

-cm_fsmopt <keyword_argument>:

关键字参数如下:

allowTemp:当对持有当前状态的变量进行间接分配时,允许提取FSM。

optimist:指定当VCS在FSM覆盖范围内提取FSM时识别非法过渡。然后,cmView会在报告文件中报告非法转换。

report2StateFsms:默认情况下,VCS不会提取两个状态的FSM。此关键字告诉VCS提取它们。

reportvalues:指定报告保存一个“热”或“热位” FSM的当前状态的reg的值转换,其中存在用于保存当前和下一状态的信号的位数的参数。

reportWait:当为保持当前状态的信号分配了相同的状态值时,使VCS能够监视过渡。

reportXassign:允许提取状态包含X(未知)值的FSM。

-cm_fsmresetfiltser :过滤出由if语句控制的赋值语句中的过渡,其中条件表达式(紧跟关键字if)是您在文件中指定的信号。

-cm_hier :在为行,条件,FSM或翻转覆盖率进行编译时,指定一个配置文件,该文件指定模块定义,源文件或模块实例及其子层次结构,您希望VCS从覆盖范围中排除它,或者将其作为为覆盖而编译的设计的唯一部分。

-cm_ignorepragmas:告诉VCS忽略覆盖率指标的语用表。

-cm_libs yv|celldefine:当包含yv参数时,指定为Verilog库中的coverage源文件进行编译。当包含celldefine参数时,指定在`celldefine编译器指令下的coverage模块定义的编译。您可以使用加号(+)分隔符指定两个参数。

-cm_line contassign:启用行覆盖以进行连续分配。

-cm_name :作为编译时或运行时选项,指定中间数据文件的名称。

-cm_noconst:告诉VCS不要监视由于信号始终为1或0值而永远无法满足的条件或永远无法执行的线路。

-cm_pp [gui]|[batch]

告诉VCS启动cmView,默认情况下启动cmView n批处理模式以写入报告:

gui:指定启动cmView图形用户界面,而不是编写报告。

batch:指定以批处理模式启动cmView以编写报告。此关键字参数不是必需的,因为批处理模式是默认条件。

您在此选项及其参数的右侧输入cmView命令行选项。

-cm_resetfilter:您可以在由if语句控制的分配中过滤掉FSM覆盖范围转换,其中条件表达式(在if关键字之后)是您在文件中指定的信号。可以在任何模块或文件中指定的模块上的指定信号上进行过滤。您还可以指定FSM以及信号是真还是假。

-cm_tglfile :指定在运行时显示文件中输入的顶级模块实例指定的一个或多个子层次结构的总切换计数。

-cm_tgl mda:为Verilog 2001和SystemVerilog未打包的多维数组启用翻转覆盖。

-cpp:指定一个C ++编译器。

+charge_decay:使trireg网络中的电荷衰减。如果将trireg连接到晶体管开关(双向传递),例如tran,rtran,tranif1或rtranif0,则电荷衰减将不起作用。

+ cli + [<模块名称> =] 1 | 2 | 3 | 4

启用CLI调试。

1使您可以查看网络和寄存器的值以及将值存入寄存器。

2还启用网络和寄存器的值更改的断点。

3还使您能够在网上强制赋值。

4还使您可以在寄存器上强加一个值。

您可以指定模块以仅对模块实例启用CLI调试。

+ cliedit:使您可以使用UNIX GNU命令行编辑界面输入CLI命令。有关下载和设置信息,请参见《 VCS / VCSi用户指南》。

+ csdf +预编译:将SDF文件预编译为一种格式,供VCS在编译Verilog代码时进行解析。

+ csdf + precomp + dir + <目录>:指定您要VCS在其中写入预编译的SDF文件的目录路径。

+ csdf + precomp + ext + :指定在预编译的SDF文件的文件扩展名之外添加“ _c”字符串的替代方法。

D

-debug:启用UCLI命令和DVE的使用。

-debug_all:启用UCLI和DVE的使用。还启用行步进。

-doc:启动浏览器以显示VCS / VCSi文档的HTML文件。

-dve_opt <dve_option>:您可以使用称为-dve_opt的参数将DVE参数从simv传递到DVE。每个DVE参数必须在-dve_opt参数之后。如果参数需要其他选项,则需要使用=号(例如-dve_opt -session = file.tcl)。

+define+<macro_name>=value:定义文本宏。使用`ifdef编译器指令在Verilog源代码中测试此定义。

+delay_mode_distributed:指定忽略模块路径延迟,并且仅在所有门,开关和连续分配上使用延迟规范。

+delay_mode_path:对于具有指定块的模块,请忽略所有门和开关上的延迟规范,并仅在连续分配时使用模块路径延迟和延迟规范。

+delay_mode_unit :指定忽略模块路径延迟,并将所有门,开关和连续分配上的所有延迟规范更改为源代码中所有`timescale编译器指令的最短时间精度参数。

+delay_mode_zero:将所有门,开关和连续分配上的所有延迟规格更改为零,并将所有模块路径延迟更改为零。

+deleteprotected:进行源代码保护时,允许覆盖现有文件。

E

-e <new_name_for_main>:指定PLI应用程序中main()例程的名称。

+error+ n

使您可以在编译时将最大NTB错误数增加到n.

F

-f :指定一个文件,其中包含源文件的路径名列表和编译时选项。

-F :与-f选项相同,但是允许您指定文件的路径,并且文件中列出的源文件不必是绝对路径名。

-file filename:此选项用于解决使用-f或-F选项指定的文件中的条目时可能遇到的问题。该文件可以包含更多的编译时选项和不同类型的文件。它可以包含用于控制编译的选项以及PLI选项和目标文件。您还可以在此文件中使用转义字符和元字符,例如$,`和!。并且它们会扩展,例如:

-CFLAGS ‘-I$VCS_HOME/include’

/my/pli/code/$ PROJECT/treewalker.o

-P /my/pli/code/$PROJECT/treewalker.tab

-full64:在64位模式下编译设计,并创建一个64位可执行文件以在64位模式下进行仿真。

G

-gen_asm:指定生成中间汇编代码。IBM RS / 6000 AIX不支持。

-gen_c:指定生成中间C代码。这是IBM RS / 6000 AIX中的缺省值。

-gen_obj:生成目标代码;在Linux,Solaris和HP平台上默认为IBM RS / 6000 AIX不支持。

H

-h or -help:列出最常用的编译时和运行时选项的描述。

I

-ID:显示计算机的主机ID或加密狗ID。

-ignore <keyword_argument>:

关键字参数如下:

unique_checks:禁止显示有关SystemVerilog unique if和unique case语句的警告消息。

priority_checks:禁止显示有关SystemVerilog优先级if和优先级案例的警告消息。

all:禁止显示有关SystemVerilog独特的if,unique case,priority if和priority case语句的警告消息。

+incdir + <目录> :指定目录,该目录包含使用`include编译器指令指定的文件。您可以指定多个目录,并用+字符分隔每个路径名。

+libext + <扩展名>:指定VCS仅在具有指定扩展名的Verilog库目录中搜索源文件。您可以指定多个扩展名,并用+字符分隔每个扩展名。例如,+ libext ++。v指定不带扩展名的搜索库文件和带.v扩展名的库文件。输入-y选项时,请输入此选项。

+liborder:指定在vcs命令行后的库中搜索模块定义,该库中包含一个未解决的实例,然后在vcs命令行中使用未解决的实例搜索该库之前的库。

+librescan指定始终使用vcs命令行上指定的第一个库开始搜索未解析的模块定义。

+libverbose:当VCS在Verilog库目录中的源文件中找到模块定义时,告诉VCS显示一条消息,该消息可解析VCS在源文件,库文件或库目录中的另一个文件中读取的模块实例化语句。

+lint = [no] ID | none |all,…:启用或禁用有关您的Verilog代码的Lint消息。

J

-j<number_of_processes>:指定用于并行编译的进程数。j字符和数字之间没有空格。

L

-l :(小写L)指定日志文件,如果您包括-R,-RI或-RIG选项,则VCS将在其中记录编译消息和运行时消息。

-ld :指定备用链接器。

-LDFLAGS :将选项传递给链接器。仅适用于增量编译模式。

-line:在DVE中启用单步执行代码和源行断点的功能。

-lmc-swift:启用LMC SWIFT接口。

-lmc-swift-template <swift_model_name>:为SWIFT模型生成Verilog模板。

-l:将库链接到生成的可执行文件。

-load <shared_VPI_library>:<registration_routine>:指定VPI应用程序在共享库中的注册例程。

M

-Marchive=<number_of_module_definitions>:告诉链接器创建包含指定数量的模块定义的临时对象文件。如果链接器命令行上的目标文件过多导致命令行缓冲区溢出,请使用此选项

-Mdelete:当make文件中的chmod -x simv命令无法更改旧simv可执行文件的权限时,请使用此选项,以免发生这种情况。此选项用make文件中的rm -f simv命令替换此命令。

-Mlib=:指定VCS在其中查找描述符信息的目录,以查看是否需要重新编译模块。还指定目标文件的中心位置。您可以使用此选项进行共享增量编译。

-Mmakeprogram=:用于制作对象的程序(默认为make)。

-Mupdate[=0]:默认情况下,VCS会在两次编译之间覆盖Makefile。如果希望在编译之间保留Makefile,请使用0参数输入此选项。输入不带0参数的参数指定默认条件,即增量编译并更新Makefile。

+maxdelays:在延迟规范SDF文件中遇到min:typ:max值时,请使用最大值。

+memcbk启用内存和多维数组(MDA)的回调。如果您的设计有记忆或MDA并且正在执行,请使用以下任何一项:

1在模拟过程中写入VCD或VPD文件。对于VCD文件,在运行时,还必须输入+ vcs + dumparrays运行时选项。对于VPD文件,必须输入$ vcdplusmemon系统任务。VCD和VPD文件用于DVE的后处理或使用SmartDebug的调试。

2.使用VCS / SystemC接口

3.使用DVE进行交互式调试

4.为Debussy编写FSDB文件

5.使用任何调试接口应用程序-VCSD / PLI(acc / pli)需要在内存或MDA上使用值更改回调。如果将这些API用于内存或MDA,则acc_add_callback,vcsd_add_callback和vpi_register_cb之类的API需要此选项。

+memopt:应用优化以减少内存。有关更多信息,请参见《 VCS / VCSi用户指南》。

+mindelays:在延迟规范和SDF文件中遇到min:typ:max值时,请使用最小值。

+multisource_int_delays:启用多源互连延迟。

N

-negdelay:在SDF文件的IOPATH和INTERCONNECT条目中启用负值。

-noIncrComp:禁用增量编译。

-notice:启用详细的诊断消息。

-ntb:启用《 OpenVera语言参考手册:本机TestBench》中描述的OpenVera Testbench语言构造。

-ntb_cmp:编译并生成测试平台外壳程序(file.vshell)和共享对象文件。与设计文件分开编译.vr文件时,请使用此选项。

-ntb_define :在命令行上指定任何OpenVera宏名称。您可以使用+分隔符指定多个宏名称。

-ntb_filext <.ext>:指定OpenVera文件扩展名。您可以使用+分隔符指定多个文件扩展名。

-ntb_incdir <directory_path>:指定OpenVera文件的包含目录路径。您可以使用+分隔符指定多个包含目录。

-ntb_noshell:告诉VCS不要生成外壳文件。重新编译测试台时使用此选项。

-ntb_opts <keyword_argument>

The keyword arguments are as follows:

check:当超出范围或非法的数组访问时,在编译或模拟过程中报告错误。

dep_check:启用依赖性分析和增量编译。检测具有循环依赖性的文件,并在VCS无法确定首先编译哪个文件时发出错误消息。

no_file_by_file_pp:默认情况下,VCS会对每个输入文件进行逐个文件预处理,并将合并的结果提供给解析器。此参数禁用此行为。

print_deps[=]:输入此参数和dep_check参数。此参数告诉VCS在屏幕上或指定的文件中显示源文件的依赖性。

tb_timescale=:指定测试平台的替代时标。时间刻度采用Verilog格式(例如10ns / 10ns)。

use_sigprop:启用信号属性访问功能。(例如,vera_get_ifc_name())。

vera_portname:

指定以下内容:

Vera Shell模块的名称为vera_shell。

接口端口名为ifc_signal。

绑定信号的名称例如为: if_signal [3:0]。

您可以使用+分隔符输入多个关键字参数,

例如:-ntb_opts use_sigprop + vera_portname

-ntb_shell_only:仅生成一个.vshell文件。与设计文件分开编译测试平台时,请使用此选项。

-ntb_sfname :指定测试平台外壳的文件名。

-ntb_sname <moudle_name>:指定VCS在其中写入testbench shell模块的名称和目录。

-ntb_spath:指定VCS在其中写入测试平台外壳程序和共享对象文件的目录。默认值为编译目录。

-ntb_vipext <.ext>:指定OpenVera加密模式文件扩展名,以标记要在OpenVera加密IP模式下处理的文件。与-ntb_filext选项不同,默认的加密模式扩展名.vrp,.vrhp不会被覆盖,并且始终有效。您可以使用+分隔符同时传递多个文件扩展名。

-ntb_vl :指定所有Verilog文件的编译,包括设计,testbench shell文件和顶级Verilog模块。

+nbaopt:从设计中所有非阻塞分配语句中删除分配内延迟。

+neg_tchk:在计时检查中启用负值。

+nocelldefinepli + 0 | 1 | 2

用于指定VPD文件在VPD文件中记录的有关celldefine编译器指令下定义的网络和寄存器的信息。0使您能够记录在celldefine编译器指令定义的所有模块中或在使用-v或-y编译时选项指定的库中定义的所有模块中,转换时间以及网络和寄存器的值。

1禁用记录在celldefine编译器指令定义的所有模块中的转换时间以及网络和寄存器的值。

2禁用在celldefine编译器指令定义的所有模块中或在用-v或-y编译时选项指定的库中定义的所有模块中记录网络和寄存器的转换时间以及网络和寄存器的值,无论这些库中的模块是否在`celldefine编译器指令是否存在。

+noerrorIOPCWM:当信号比连接的输入端口宽或窄时,将错误条件更改为警告条件,从而允许VCS在显示警告消息后创建simv可执行文件。

+nolibcell :指定不将库中的模块定义为单元,除非它们在`celldefine编译器指令下。

+nospecify:在指定块中抑制模块路径延迟和时序检查。

+notimingcheck:在指定块中禁止计时检查。

+nowarnTFMPC:在Verilog编译期间禁止显示“模块端口连接太少”警告消息。

+no_notifier:禁用在某些计时检查系统任务中指定的通知程序寄存器的切换。

+no_tchk_msg:禁用时序检查警告消息的显示,但不禁用时序检查中通知程序寄存器的切换。这也是一个运行时选项。

O

-o :指定作为编译产物的可执行文件的名称。默认名称为simv。

-ovac:启动OVA编译器,以在vcs命令行上检查OVA文件的语法。

-ova_cov:启用功能覆盖。

-ova_cov_events:启用表达式的功能覆盖率报告。

-ova_cov_hier :将功能覆盖范围限制在指定文件中列出的模块实例。

-ova_debug或-ova_debug_vpd:启用OVA尝试转储到VPD中的功能。

-ova_file :指定一个OpenVera断言文件。如果文件名具有.ova扩展名,则不需要。

-ova_filter_past:对于使用过去运算符定义的断言,请忽略过去历史记录缓冲区为空的这些断言。例如,在模拟的开始,过去的历史记录缓冲区为空。因此,应该忽略第一个采样点和后续采样点的检查/禁止,直到相对于采样点已填充了过去的缓冲区为止。

-ova_filter_last:忽略包含尚未超过历史阈值的过去运算符的断言子序列。

-ova_enable_diag:启用运行时选项以控制功能覆盖率报告。

-ova_inline:启用编译在Verilog源文件中编写的OVA代码。

-ova_lint:启用OVA linter的一般规则

-ova_lint_magellan:为OVA linter启用麦哲伦规则。

-override-cflags:告诉VCS不要将其默认选项传递给C编译器。

-override_timescale = <time_unit> / <time_precision>:覆盖源代码中所有timescale编译器指令的时间单位和精度单位,并且像-timescale选项一样,为第一个timescale编译器指令之前的所有模块定义分配时标。

P

-P <pli.tab>:指定一个PLI表文件。

-parameters :将文件中指定的参数更改为文件中指定的值。文件中一行的语法如下:

分配<值> <路径参数>

参数的路径类似于层次结构名称,除了您使用斜杠字符(/)而不是句点作为分隔符。

-platform:返回VCS安装目录中平台目录的名称。

-pvalue + <paraemeter_hierarchical_name> = value:将指定的参数更改为指定的值。

+optconfigfile + <文件名>:指定VCS配置文件。

+overlap:对于在时序检查中用负延迟值指定的相同信号,可以对多个不重叠的冲突窗口进行精确仿真。请参见《 VCS / VCSi用户指南》中的“使用多个不重叠的窗口”部分。

+pathpulse:允许在指定块中搜索PATHPULSE $规范。

+pli_unprotected:启用对正在创建的受保护源文件中的模块的PLI和CLI访问(通常对受保护模块禁用PLI和CLI访问)。

+plusarg_save:在使用-f选项指定的文件中输入此选项,以便VCS将以文件后跟加号+字符开头的选项传递给simv可执行文件。

+plusarg_ignore:还要在使用-f选项指定的文件中输入此选项,以使VCS不会将文件中后面的选项传递给simv可执行文件。将此选项与+ plusarg_save选项一起使用,以指定不应传递其他选项。

+print + bidir +warn:告诉VCS显示双向已注册混合信号网络的列表。

+protect[<文件后缀>]:创建一个受保护的源文件;仅加密保护/端保护区域。

+pulse_e / <数字>:指定标记为错误,并为宽度小于或等于number参数指定的模块路径延迟百分比的任何路径脉冲驱动X。

+pulse_int_e / <数字>:与+ pulse_e选项相同,但仅适用于互连延迟。

+pulse_int_r / <数字>:与+ pulse_r选项相同,但仅适用于互连延迟。

+pulse_on_event:指定当VCS遇到短于模块路径延迟的脉冲时,VCS等待直到模块路径延迟过去,然后在模块输出端口上驱动X值并显示错误消息。

+pulse_on_detect:指定当VCS遇到短于模块路径延迟的脉冲时,VCS立即在模块输出端口上驱动X值,并显示错误消息。它不会等到模块路径延迟过去。

+pulse_r / <数字>:拒绝宽度小于模块路径延迟数百分比的任何脉冲。

+putprotect + <目标目录> :指定受保护文件的目标目录。

Q

-q:禁止VCS编译器消息。

R

-R:VCS将可执行文件链接在一起后,立即运行可执行文件。您可以将任何运行时选项添加到vcs命令行。

+race:指定VCS在仿真过程中生成设计中所有竞争状况的报告,并将此报告写入race.out文件中。

+race=all:在编译过程中分析源代码,以查找导致竞争条件的编码样式。

+raced:指定VCS在仿真过程中生成一个有关种族和endrace编译器指令之间设计中竞争状况的报告,并将此报告写入race.out文件中。

+race_maxvecsize = <大小>:指定动态种族检测工具为其寻找竞争条件的最大矢量信号。

+rad:在您的设计上执行Radiant Technology优化。

S

-s:在开始时停止仿真。将此选项与-R和cli一起使用。

-sim_res = <time_precision>:定义模拟分辨率。它还为分析后没有时间表的模块定义了时间表。

-sv_pragma:指示VCS编译单行或多行注释中紧随sv_pragma关键字的SystemVerilog断言代码。。

-sysc:告诉VCS在./csrc目录中查找包含由VCS / SystemC协同仿真接口定义的包装程序和接口文件的子目录,以连接混合Verilog和SystemC设计的Verilog和SystemC部分

-syslib :指定要与运行时可执行文件链接的系统库。

+sdfprotect [<文件后缀>]:创建一个受保护的SDF文件。

+sdf_nocheck_celltype :告诉VC在从SDF文件向模块实例注释延迟值之前,不要检查以确保SDF文件中的CELLTYPE条目与模块实例的模块标识符不匹配。

+sdfverbose:允许显示有关SDF反向注释的十多个警告和十多个错误消息。

+spl_read:告诉VCS将输出端口视为输入端口,以便于跨模块边界进行更准确的多驱动程序竞争分析。此选项可能会对运行时性能产生不利影响。

+systemverilogext + :指定包含SystemVerilog源代码的源文件的文件扩展名。

T

-timescale = <time_unit> / <time_precision>:如果只有一些源文件包含`timescale编译器指令,而那些未在vcs命令行上首先出现,则使用此选项为这些源文件指定时间标度。

+tetramax:在零延迟模式下模拟TetraMAX的测试平台时输入此选项。TetraMAX可以运行simv可执行文件。此选项告诉VCS准备simv可执行文件以供TetraMAX使用。

+timopt + <时钟周期> :启用时序检查优化,+ <clock_period>参数指定设计中最快时钟的时钟周期。有关此选项的更多信息,请参考《 VCS / VCSi用户指南》。启动Timopt时序优化器。+ <clock_period>参数指定设计中最快时钟的时钟周期。Timopt将时序优化应用于您的设计。Timopt还会在当前目录中写入timopt.cfg文件。该文件包含不确定的时序设备的时钟信号和模块定义。您编辑此文件并在没有+ <clock_period>参数的情况下重新编译以获得更多的Timopt优化。

+transport_int_delays:通过单脉冲源网络的全脉冲控制实现传输延迟。

+transport_path_delays:打开I / O路径的传输行为。

+typedelays:在延迟规范和SDF文件中遇到min:typ:max值时,请使用典型值。

U

-u:将标识符中的所有字符更改为大写。

-ucli:在运行时指定UCLI模式。

-use_vpiobj:用于指定vpi_user.c文件,使您可以使用vpi_register_systf VPI访问例程。

V

-V 启用详细模式。

-v <文件名> 指定一个Verilog库文件以搜索模块定义。

-vera:指定标准VERA PLI表文件和对象库。

-vera_dbind:指定用于动态绑定的VERA PLI表文件和对象库。

-Vt:启用警告消息并显示每个命令使用的时间。

+v2k:启用1364-2001标准中新的Verilog构造的使用。

+ vc [abstract ] [+allhdrs] [+list]

使用DirectC界面在您的Verilog代码中启用C / C ++函数的直接调用。可选后缀指定以下内容:

+abstract

指定您正在使用抽象访问槽vc_handles来访问Verilog参数的数据结构。

+ allhdrs

写入vc_hdrs.h文件,其中包含可在Verilog代码中使用的外部函数声明。

+list

在屏幕上显示您在Verilog源代码中调用的所有功能。

+vcs + dumpvars:在您的Verilog代码中输入$ dumpvars(不带参数)的替代方法。

+vcs + flush + log:增加刷新编译和模拟日志文件缓冲区的频率。

+vcs + flush + all:用于输入+ vcs + flush + log,+ vcs + flush + dump和+ vcs + flush + fopen所有三个选项的快捷方式选项。

+vcs + initmem + 0 | 1 | x | z:初始化设计中所有存储器的所有位。

+vcs + initreg + 0 | 1 | x | z:初始化设计中所有寄存器的所有位。

+vcs + lic + vcsi:签出三个VCSi许可证以运行VCS。

+vcsi + lic + vcs:当所有VCSi许可证都在使用中时,签出VCS许可证以运行VCSi。

+vcs + lic + wait:告诉VCS如果没有可用的网络许可证。

+vcsi + lic +wait:告诉VCSi如果没有可用的网络许可证。

+vcs + vcdpluson:$ vcdpluson选项的编译时替代。+ vcs + vcdpluson开关启用整个设计的转储。但是,您将需要使用调试开关(例如-debug_pp)来转储数据。

+vcs + mipdexpand:旨在与+ oldsdf一起使用。当在运行时从ASCII文本SDF文件中回注SDF延迟值时,如果SDF文件包含端口的各个位的PORT条目,则使用此编译时选项可使VCS对这些PORT条目延迟值进行回注。使用此编译时选项可使PLI应用程序将延迟值传递给端口的各个位。

+verilog1995ext + :为包含Verilog 1995源代码的源文件指定文件名扩展名。

+verilog2001ext + :为包含Verilog 2001源代码的源文件指定文件名扩展名。

+vhdllib + <logic_libname> :此选项指定VHDL逻辑库,以用于在Verilog设计中实例化的VHDL设计实体实例。

+vpi:启用VPI PLI访问例程的使用。

W

+ warn = [no] ID | none |all,… :启用或禁用警告消息。

Y

-y <directory_pathname> :指定Verilog库目录以搜索模块定义。

VCS命令详解(二):仿真命令

-a <文件名>
指定将模拟中的所有消息追加到指定文件中文本的底部,以及将这些消息显示到标准输出。
-assert <关键字参数>
关键字参数及其作用如下:
dumpoff:在仿真过程中,禁止在VPD文件中转储SVA信息。
filter:阻止报告琐碎的SystemVerilog断言含义成功。当隐含构造仅由于前提条件(先验)部分为假(因此不检查结果部分)而成功注册时,就会发生这些情况。使用此选项,报告仅显示整个表达式匹配的成功。
finish_maxfail =如果任何断言的SystemVerilog断言失败的次数达到N,则终止仿真。必须提供N,否则未设置限制。
global_finish_maxfail =当所有SystemVerilog断言的失败总数达到N时,停止仿真。
maxcover =N次覆盖Cover语句后,禁止收集Cover语句的coverage信息。必须为正整数,不能为0。
maxfail =将每个断言的SystemVerilog断言失败的次数限制为N。达到限制时,将禁用断言。必须提供N,否则未设置限制。
maxsuccess =将已报告的SystemVerilog断言成功总数限制为N。必须提供N,否则未设置任何限制。即使在达到限制后,也会继续监视断言。
nocovdb:告诉VCS不要为声明覆盖写入<program_name> .db文件。
nopostproc
在模拟结束时禁用显示SVA覆盖摘要。
quiet0 | 1
quiet0在标准输出中禁用有关断言失败的消息。quiet1在标准输出中禁用有关断言失败的消息,但在模拟结束时显示它们的摘要。还报告从未触发的断言。
report[= <文件名>]
除了在屏幕上显示结果之外,还生成SystemVerilog断言报告文件。默认情况下,文件的名称和位置是./simv.vdb/report/ova.report,但是您可以通过输入filename路径名参数来更改它。
success
除了失败之外,还可以报告成功的SystemVerilog断言匹配。默认为仅报告故障。
verbose
将更多信息添加到由report = 关键字指定的报告中,包括永不触发的断言和未完成的断言,以及存在,尝试和失败的断言数量的摘要。
您可以使用加号+分隔符输入多个关键字,例如:
-assert
maxfail = 10 + maxsuccess = 20 + success + filter
-cm line|cond|fsm|tgl|branch|assert
指定监视指定类型的覆盖范围。参数指定了覆盖范围的类型:
line监视行或语句的覆盖范围。
cond监视条件覆盖率。
fsm监控FSM覆盖率。
tgl监控切换覆盖范围。
branch监视分支机构的覆盖范围。
assert监视SystemVerilog assert的声明覆盖范围。
如果希望VCS监视多种类型的coverage,请使用加号+字符作为参数之间的分隔符,例如:-cm line + cond + fsm + tgl
-cm_dir <目录路径名称>
指定coverage数据库目录的备用名称和位置。
-cm_glitch(参考xrun的set_glitch_strobe xxx ns)
指定一个毛刺周期,在此期间,VCS不会监视由值更改引起的覆盖范围。周期是用非负整数指定的模拟时间间隔。
-cm_log <文件名>
指定一个日志文件,用于在模拟过程中监视覆盖范围。
-cm_name <文件名>
作为编译时或运行时选项,指定中间数据文件的名称。在cmView命令行上,指定报告文件的名称。
-cm_tglfile <文件名>
指定在运行时显示文件中输入的顶级模块实例指定的一个或多个子层次结构的总切换计数。
-E <程序>
启动程序,该程序显示创建simv(或simv.exe或使用-o选项指定的其他名称)可执行文件时vcs命令行上的编译时选项。
-grw <文件名>
将$ gr_waves输出文件的名称设置为指定文件。默认文件名为grw.dump。
-gui
启动可视环境(DVE)图形用户界面。
-i<文件名>
指定包含模拟开始时VCS执行的CLI命令的文件。
-k <文件名> |关
指定vcs.key文件的替代名称或位置,VCS会将在模拟过程中输入的CLI交互式命令写入该名称或位置。off参数告诉VCS不要写入此文件。
-l <文件名>
指定将模拟中的所有消息写入指定文件,并在标准输出中显示这些消息。对于日志文件,此选项以字母“ l”(小写字母“ L”)开头。
-ova_cov
启用功能覆盖率报告。
-ova_cov_name <文件名>
指定功能覆盖率报告文件的文件名或完整路径名。此选项将覆盖默认的报告名称和位置。如果仅给出文件名,则使用默认位置,从而生成./simv.vdb/fcov/ <文件名> .db。
-ova_cov_db <文件名>
指定初始coverage文件的路径名。需要初始coverage文件来设置数据库。默认情况下,从simv.vdb / snps / fcov / default.db中加载空的coverage文件。
-ova_filter
阻止琐碎的if-then成功报告。当if-then构造仅由于if部分为false(因此不检查then部分)而注册成功时,就会发生这些情况。使用此选项,报告仅显示整个表达式匹配的成功。该选项由-ova_enable_diag编译时选项启用。
-ova_max_fail
将每个断言的报告失败次数限制为N。即使达到此限制后,也会继续监视断言。-ova_ebable_diag编译时选项启用了此选项。
-ova_max_success
将每个断言的成功次数限制为N。即使在达到限制后,也会继续监视断言。该选项由-ova_enable_diag编译时选项启用。
-ova_name <名称| / <路径名> / <名称>
指定./simv.vdb/scov/results.db和./simv.vdb/reports/ova.report文件的替代名称或位置和名称。如果要从一系列模拟运行中获取数据和报告,则可以使用此选项。这是防止VCS覆盖以前的模拟中的这些文件的一种方法。如果仅指定名称,则替代名称的文件将位于默认目录中。如果指定路径名,并使用包含斜杠字符/的参数,则为这些文件指定其他位置和名称,例如:
-ova_name / net / design1 / ova / run2
此示例告诉VCS在/ net / design1 / ova目录中写入run2.db和run2.report。
-ova_report [<文件名>]
指定编写OpenVera断言报告文件。默认文件名和位置是simv.vdb / report / ova.report,但是您可以指定其他名称和位置作为此选项的参数。
-ova_simend_max_fail
如果达到任何断言的失败次数,则终止仿真。该选项由-ova_enable_diag编译时选项启用。
-ova_sucess
启用成功匹配报告。该选项由-ova_enable_diag编译时选项启用。
-ova_quiet [1]
禁用在屏幕上显示功能覆盖率结果。可选的1参数指定显示这些结果的摘要。
-ova_verbose
在报告末尾添加更多信息,包括从未触发的断言和未完成的尝试,以及包含存在,尝试和失败的断言数量的摘要。
-q
静音模式。禁止打印VCS标头和摘要信息,在仿真开始时专有消息以及在仿真结束时打印VCS仿真报告(时间,CPU时间,数据结构大小和日期)
-s
停止仿真,然后进入交互模式。与+ cli + 选项一起使用。
-sverilog
启用Accellera SystemVerilog规范中的Verilog语言扩展。
-ucli
启用UCLI命令的使用。
-V
详细模式。打印VCS版本和扩展的摘要信息。在模拟开始时,打印VCS编译和运行时的版本号以及版权信息。
-vcd <文件名>
将输出的VCD文件名设置为指定的文件。默认文件名为verilog.dump。Verilog源代码中的$ dumpfile系统任务将被覆盖
此选项。
vcdfile + <文件名>
指定要用于后期处理的VCD文件。
-vhdlrun“ <scsim命令行选项>”
VCS-MX选项可为混合HDL设计的VHDL部分传递scsim命令行选项。
-xzcheck [nofalseneg]
每次VCS评估条件表达式具有X或Z值时,都会检查设计中的所有条件表达式并显示警告消息。
nofalseneg
当条件表达式的值在相同的仿真时间步中转换为X或Z,然后转换为0或1时,禁止显示警告消息。
+cliecho
指定VCS在您使用-i选项指定的文件中显示CLI命令,因为VCS执行这些命令。仅限于UNIX。
+maxdelays
物种使用已编译的SDF文件获得+ allmtm编译时选项生成的最大延迟。如果还输入+ override_model_delays运行时选项,则还指定使用SWIFT VMC或SmartModels或Synopsys硬件模型的最大延迟。
+mindelays
指定使用已编译的SDF文件来获得+ allmtm编译时选项所产生的最小延迟。如果还输入+ override_model_delays运行时选项,则还指定对SWIFT VMC或SmartModels或Synopsys硬件模型使用最小延迟。
+no_notifier
禁止通知程序寄存器的切换,通知程序寄存器是定时检查系统任务的可选参数。
+no_pulse_msg
当出现脉冲错误情况时,抑制脉冲错误消息,但不抑制在模块路径输出处生成StX值。
+no_tchk_msg
禁用定时检查警告消息的显示,但不禁用定时检查中通知程序寄存器的切换。这也是一个编译时选项。
+notimingcheck
禁止计时检查。
+ntb_cache_dir = <目录路径>
指定VCS保留为用于随机化的内部磁盘缓存的缓存的目录位置。
+ntb_debug_on_error
遇到模拟错误时,使模拟立即停止。除了正常的验证错误外,如果发生运行时错误,此选项也会暂停仿真。
+ntb_enable_solver_trace =
启用当VCS执行randomize()方法调用时显示诊断信息的调试模式。允许的值为:
0-不显示(默认)。
1-显示VCS正在解决的约束。
2-显示整个约束集。
+ntb_enable_solver_trace_on_failure =
使得能够显示跟踪信息只有当VCS约束求解器无法计算的溶液中,通常是由于不一致constraints.When选项的值是2的模式中,分析缩减到最小的一组不一致的限制,从而有助于调试处理。允许值为0、1、2。默认值为2。
+ntb_exit_on_error [= ]
值小于0时,导致VCS退出。该值可以是:
0:继续
1:在第一个错误时退出(默认值)
N:第n个错误退出。
当value = 0时,无论错误数量如何,仿真都会结束。
+ntb_load = path_name_to_libtb.so
指定加载测试台共享库文件libtb.so。
+ntb_random_seed =
设置模拟开始时顶级随机数生成器使用的种子值。随机(种子)系统函数调用将覆盖此设置。该值可以是任何整数。
+ntb_solver_mode =
允许在两个约束求解器模式之一之间进行选择。设置为1时,在每个类的第一次调用randomize()的过程中,求解程序将花费更多的预处理时间来分析约束。设置为2时,求解程序将进行最少的预处理,并在每次对randomize()的调用中分析约束。预设值为2。
+ntb_stop_on_error
导致模拟在遇到模拟错误时立即停止,从而将其转换为cli调试环境。除了正常的验证错误外,ntb_stop_on_error还会在运行时出现错误时停止仿真。默认设置是在当前仿真时间内执行其余代码。
+override_model_delays
使您能够使用+ mindelays,+ typdelays或+ maxdelays运行时选项为SWIFT SmartModels或Synopsys硬件模型指定时序。
+sdfverbose
允许显示有关SDF反向注释的十多个警告和十个错误消息。
+typedelays
指定将编译的SDF文件用于+ allmtm编译时选项生成的典型延迟。如果还输入+ override_model_delays运行时选项,则还指定对SWIFT VMC或SmartModels或Synopsys硬件模型使用典型延迟。
+vcs + dumparrays
在VCD文件中启用转储内存和多维数组值。您还必须使用+ memcbk编译时选项。
+vcs + dumpoff + +
在时间处关闭值更改转储($ dumpvars系统任务)。是大于32位的时间值的高32位。
+vcs + dumpon + +
禁止$ dumpvars系统任务,直到时间。是大于32位的时间值的高32位。
+vcs + dumpvarsoff
禁止$ dumpvars系统任务。
+vcs +finish+ +
在时间结束仿真。是大于32位的时间值的高32位。
+vcs + grwavesoff
禁止$ gr_waves系统任务。
+vcs + ignorestop
告诉VCS忽略源代码中的$ stop系统任务。
+vcs + flush + log
增加刷新编译和模拟日志文件缓冲区的频率。
+vcs + flush + dump
增加刷新VCD文件的所有缓冲区的频率。
+vcs + flush + fopen
增加刷新$ fopen系统功能打开的文件的所有缓冲区的频率。
+vcs + flush + all
用于输入+ vcs + flush + log,+ vcs + flush + dump和+ vcs + flush + fopen所有三个选项的快捷方式选项。
+vcs +学习+ pli
跟踪使用ACC功能进行调试操作的位置,以便您可以重新编译设计,并在下一次仿真中仅在需要它们的地方启用它们。使用此选项,VCS将写入pli_learn.tab辅助PLI表文件。使用+ applylearn编译时选项重新编译设计时,可以输入此文件。
+vcs + lic + vcsi
签出三个VCSi许可证以运行VCS。
+vcsi + lic + vcs
当所有VCSi许可证都在使用中时,签出VCS许可证以运行VCSi。
+vcs + lic + wait
如果作业开始时没有可用的网络许可证,请等待。
+vcsi + lic +wait
告诉VCSi如果没有可用的网络许可证。
+vcs + mipd + noalias
如果在模拟运行期间,在MIPD注释发生之前调用了acc_handle_simulated_net,则会发出警告消息。发生这种情况时,只要指定了mip,mipb功能,就可以使用此选项为所有端口禁用此类别名。此选项适用于常规sdf注释,不适用于已编译的SDF。
+vcs + nostdout
禁用VCS的所有文本输出,包括消息和$ monitor和$ display以及其他系统任务的文本。如果包含-l选项,则VCS仍将此输出写入日志文件。
+vcs + stop + +
在时间停止模拟。是大于32位的时间值的高32位(可选)。请参见《 VCS / VCSi用户指南》中的“在停止仿真之前指定长时间”一节。
+vera_load = <文件名.vro>
指定VERA目标文件。
+vera_mload = <文件名>
指定一个文本文件,其中包含VERA目标文件的列表。

请登录后发表评论