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

本文档详细列举了VCS编译时涉及的各种命令,包括编译模式、覆盖范围选项、延迟处理、断言控制、编译优化等多个方面,旨在帮助用户理解和使用VCS进行高效、精确的编译工作。
摘要由CSDN通过智能技术生成

VCS仿真命令详解


本文中所有命令基于VCS2014版

编译时候的命令(按字母排序)

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:启用行覆盖以进行连续分配。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值