NC-Verilog中,有部分选项是ncvlog、ncelab和ncsim通用的选项,见表表 2‑1。
2‑1 ncvlog、ncelab和ncsim通用的基本选项
选项 |
说明 |
对应ncverilog选项 |
-64bit |
调用64-bit版本的ncvlog |
+nc64bit |
-cdslib |
指定cds.lib文件的路径 |
+nccdslib+ |
-hdlvar |
指定hdl.var文件的路径 |
+nchdlvar+ |
-errormax |
当错误数量达到指定数值时退出执行 |
+max_error_count+ |
-file |
使用指定的命令行文件 |
-f |
-logfile |
定义输出的log文件名 |
-l |
-ncerror |
将指定“告警”信息的严重等级提高为“错误” |
+ncerror+ |
-ncfatal |
将指定“告警”或“错误”信息的严重等级提高为“致命” |
+ncfatal+ |
-neverwarn |
禁止打印所有告警信息 |
-w |
-nocopyright |
禁止打印版权信息 |
+ncnocopyright |
-nolog |
禁止产生log文件 |
+ncnolog |
-nostdout |
关闭屏幕打印,但不影响log文件的 |
+ncnostdout |
-nowarn |
关闭指定告警信息的打印 |
+ncnowarn+ |
-quiet |
Log文件的安静模式,生成log文件时,屏蔽工具标识信息和调用工具时的命令行参数等。 |
-q (-Q可以保存工具标识信息) |
-status |
打印内存和CPU的使用情况统计 |
+ncstatus |
-update |
增量仿真 |
+ncupdate |
-version |
打印工具的版本信息 |
+ncversion |
-ieee1364 |
支持IEEE-1364的Verilog标准 |
+ieee1364 |
-ncinitialize |
仿真0时刻,将设计中的变量初始化为指定值 |
+ncinitializ |
2‑2 ncvlog的常用选项
选项 |
说明 |
对应ncverilog选项 |
-ams |
支持AMS(Analog Mixed-Signal ,混合模拟信号)的编译 |
+ncams |
-assert |
支持PSL断言的编译检查 |
+assert |
-checktasks |
检查设计文件中是否存在非预定义的系统任务,例如$fsdbDumpvars |
+ncchecktasks |
-controlassert |
指定一个断言的控制文件,用来定义哪些断言打开,哪些断言关闭。 |
+controlassert+ |
-define |
定义一个变量 |
+define+ |
-design_top |
指定编译的设计最顶层module名 |
+ncdesign_top+ |
-escapedname |
输出信息中包括转义符,默认是不包括转义符 |
+ncescapedname |
-incdir |
在指定目录下搜索include文件 |
+incdir+ |
-linedebug |
支持行断点的设置和代码的单步执行 |
+nclinedebug |
-noline |
编译出错时,不定位代码行 |
+ncnoline |
-sv |
支持SystemVerilog,如果是单命令模式,缺省支持SV |
+sv |
-work |
定义指定的库为work库 |
+work+ |
2‑3ncelab的常用选项
选项 |
说明 |
对应ncverilog选项 |
-access [+] [-] |
设置仿真对象文件的访问权限,包括读r、写w和连接c,“+”表示增加,“-”表示删除。默认是没有任何权限。 |
+access<+/-rwc> |
-covdut |
指定某个DUT的module进行覆盖率仿真 |
+nccovdut+ |
-coverage |
仿真时使能某种类型的覆盖率,包括block、expr、fsm、toggle和all,即块、表达式、状态机、翻转率和全部 |
+nccoverage+ |
-covfile |
指定一个参数文件名,用于配置覆盖率仿真的参数选项 |
+nccovfile+ |
-defparam |
参数重定义 |
+defparam+ |
-maxdelays |
应用specify块中min:typ:max延时的最大延时 |
+ncmaxdelays |
-mindelays |
应用specify块中min:typ:max延时的最小延时 |
+ncmindelays |
-typdelays |
应用specify块中min:typ:max延时的典型延时 |
+nctypdelays |
-noassert |
屏蔽快照snapshot中的PSL断言 |
+noassert |
-noautosdf |
关闭SDF自动反标 |
+noautosdf |
-noneg_tchk |
禁止Verilog代码或SDF反标中$setuphold和 $recrem时序检查中的负值。如果文件中出现负值,则负值当成0处理,并给出告警。 |
+noneg_tchk |
-nonotifier |
忽略时序检查时的notifier |
+ncno_notifier |
-nospecify |
屏蔽Specify块中的时序以及SDF中的延时和时序检查 |
+nospecify |
-notimingchecks |
关闭时序检查 |
+notimingchecks |
-no_tchk_msg |
屏蔽时序检查时告警信息的显示 |
+no_tchk_msg |
-ntcnotchks |
如果设计中存在负延时的时序检查(NTC:negative timing check),那么仿真时使用-notimingchecks和不使用-notimingchecks选项有可能会出现不同的仿真结果。这种情况下,可以使用-ntcnotchks选项:产生负延时时序检查的延时,但不进行时序检查。 |
+ncntcnotchks |
-timescale ‘unit/precision’ |
为设计中没有指定`timescale的module指定默认的timescale |
+nctimescale+ |
-override_precision |
用-timescale选项中的时间精度替换整个设计中的时间精度 |
+ncoverride_precision |
-override_timescale |
用-timescale选项中的参数替换整个设计中的时间单位和精度 |
+ncoverride_timescale |
-partialdesign |
在设计缺少某个模块层次时依然解析设计并产生仿真用的快照。 |
+partialdesign |
-sdf_verbose |
在SDF的log文件打印详细的SDF信息 |
+ncsdf_verbose |
-snapshot |
指定快照(snapshot)文件的名称,默认是设计的最顶层模块名 |
+name+ |
2‑4 ncsim的常用选项
选项 |
说明 |
对应ncverilog选项 |
-append_log |
将多个ncsim命令的log文件存储到一个文件中 |
+ncappend_log |
-batch |
不等命令行的命令输入,直接开始仿真 |
+ncbatch |
-covworkdir |
指定覆盖率结果数据存储的work名,默认是cov_work/design/test |
+nccovworkdir+ |
-covdesign |
指定覆盖率结果数据存储的design名,默认是cov_work/design/test |
+nccovdut+ |
-covtest |
指定覆盖率结果数据存储的test名,默认是cov_work/design/test |
+nccovtest+ |
-profile |
生成一个统计仿真过程中各个模块占用CPU时间的profile文件。 |
+ncprofile |
-profoutput |
指定profile文件的文件名,默认是ncprof.out |
+ncprofoutput+ |
-dut_prof |
在仿真运行的profile文件中,增加一个报告指定DUT模块仿真时间的表格 |
+dut_prof+ |
-gui |
调用带SimVision的仿真器 |
+gui |
-keyfile |
指定一个key文件名,替换默认的ncsim.key |
-k |
-nokey |
禁止生成key文件 |
+ncnokey |
-licqueue |
没有ncsim的license时,将仿真进入队列等候,直到获取license |
+nclicq |
-lps_off |
关闭低功耗仿真(LPS:Low-Power Simulation) |
+nclps_off |
-ppe |
仿真时调用“后处理环境”(PPE:Post Processing Environment)。PPE模式可以分析SHM模型中的仿真结果,在不使用license的情况下进行调试。 |
+ncppe |
-input |
执行脚本文件中的TCL命令 |
+ncinput+ |
-tcl |
调用仿真器的交互模式,启动仿真器后停留在0时刻。 |
+tcl |
从上述4个表的对照可以发现,相对于三命令模式下的选项,大部分单命令模式的选项都由“-”变成了“+”,而且有些选项之前多了“nc”两个字母。
除了上述表格中对应的ncverilog选项之外,还有下面一些常用的ncverilog选项,见表表 2‑5。
2‑5 ncverilog其它一些常用的选项
选项 |
说明 |
+ncdebug |
等同于+access+r |
+nclibname+ |
指定一个用于搜索的库 |
+ncrun |
自动开始仿真 |
+nctfile+ |
指定一个时序文件,用于进行时序检查的设置 |
+nclog_ncvlog+ |
单独产生一个ncvlog的文件 |
+nclog_ncelab+ |
单独产生一个ncelab的文件 |
+nclog_ncsim+ |
单独产生一个ncsim的文件 |
+checkargs |
检查命令行中选项的有效性 |
+compile |
只进行ncvlog,不进行ncelab |
-c |
进行ncvlog和ncelab,不进行ncsim |
+loadpli1= |
指定PLI1库 |
+loadvpi= |
指定VPI库 |
+noupdate |
关闭默认的增量仿真模式 |
+v1995 |
关闭Verilog-2001标准,只支持Verilog-1995标准 |
-clean |
删除以前的INCA_libs目录(如果存在的话) |
-debug |
等同于+access+rw |
-F |
搜索参数文件 |
-L |
指定一个搜索库文件的目录 |
-v |
指定一个库文件 |
-y |
指定一个库文件目录 |
+libext+ |
指定库文件的扩展名,与-y配合使用 |
+libverbose |
打印库文件的详细信息 |
-ovm |
支持OVM |
-races |
进行0延时的竞争冒险检查 |
-R |
使用上次产生的快照文件进行仿真 |
-r |
使用指定的快照文件进行仿真 |
-s |
调用快照文件,进入交互模式 |