SYNOPSYS VCS常用命令使用详解

VCS对verilog模型进行仿真包括两个步骤:

1. 编译verilog文件成为一个可执行的二进制文件命令为:vcs source_files

2. 运行该可执行文件:./simv


类似于NC, 也有单命令行的方式:vcs source_files -R

-R 命令表示, 编译后立即执行。


vcs常用的命令选项如下:
-cm line|cond|fsm|tgl|obc|path  设定coverage的方式
+define+macro=value+      预编译宏定义
-f filename             RTL文件列表
+incdir+directory+         添加include 文件夹
-I                 进入交互界面
-l                 logfile文件名
-P pli.tab              定义PLI的列表(Tab)文件
+v2k                使用推荐的标准
-y                  定义verilog的库
-notice               显示详尽的诊断信息
-o                  指定输出的可执行文件的名字,缺省是simv
+ nospecify            不对SPECIFY 模块进行时序检查和路径延时计算
+ notimingcheck           不进行时序检查;但是还是把path延时加入仿真中
 
Summary of vcs compile options:
-ASFLAGS     "opts" pass 'opts' to the assembler
-B         generate long call instructions in native assembly code (HP only)
-CC        "opts" pass 'opts' to C compiler
-CFLAGS      "opts" pass 'opts' to C compiler
-LDFLAGS     "opts" pass 'opts' to C compiler on load line only
-I         enable interactive/postprocessing debugging capabilities
-ID         get host identification information
-M          enable incremental compilation (see manual)
-Mupdate      enable incremental compilation and keep the Makefile up-to-date
-Marchive[=N]   create intermediate libs to reduce link line length; N objs per lib
-P plitab      compiles user-defined pli definition table 'plitab'
-PP          enable optimizer postprocessing capabilities for vcd+
-R          after compilation, run simulation executable
-RI         after compilation, run simulation under xvcs (Implies -I)
-RIG         run simulation under xvcs without compiling (executable has to exist)
-RPP         run xvcs in postprocessing mode (requires file created by vcdpluson)
-V[t]          verbose mode; with 't', include time information
-as          foo use foo as the assembler
-cc          foo use foo as the C compiler
-cpp         foo use foo as the C++ compiler
-e    specify the name of your main() routine. (see manual section 7-11 for more details).
-f file          reads 'file' for other options
-gen_c          generate C code (for HP and Sun, default is -gen_obj)
-gen_asm       generate native assembly code (HP and Sun only)
-gen_obj        generate native object code (HP and Sun only)
-ld           foo use foo as the linker. (refer vcs manual for compatibility with -cpp option)
-line           enable single-stepping/breakpoints for source level debugging
-lmc-swift        include lmc swift interface
-lmc-hm        include lmc hardware modeler interface
-vera           add VERA 4.5+ libraries
-vera_dbind      add VERA 4.5+ libraries for dynamic binding
-location        display full pathname to vcs installation for this platform.
-vhdlobj    generate a vhdl obj for simulating in a vhdl design
-mixedhdl        include MixedHDL-1.0 interface
-mhdl          include MixedHDL-2.0 interface and library
-q            quiet mode
-platform.        display name of vcs installation subdirectory for this platform.
-syslib         'libs' specify system libraries (placed last on the link line) eg -lm
-o           exec name the executable simulation model 'exec' (default is 'simv')
-u            treat all non text string characters as uppercase
-v file          search for unresolved module references in 'file'
-y libdir          search for unresolved module references in directory 'libdir'
+acc           enable pli applications to use acc routines (see manual)
+ad             include anlog simulation interface and library
+adfmi="files"      ADFMI support for vcs-ace
+cliedit           enable command line edit/recall (see doc/readline.ps)
+cli             enable command line interactive debugging (see manual)
+cmod           Enabling cmodule feature
+cmodext+cmodext    Changing cmodule extension to cmodext
+cmodincdir+cmoddir    Cmodule Include directory
+cmoddefine+macro    define cmodule source 'macro' in the form. of XX=YY
+define+macro       define hdl source 'macro' to have value "macro"
+plusarg_save       hardwire the plusargs, which follow this flag, into simv
+plusarg_ignore      turn off +plusarg_save
+prof           tells vcs to profile the the design and generate vcs.prof file
+race          tells vcs to generate a report of all race conditions and write this report in the race.out file
+rad+1           enable level 1 radiant optimizations (See Release Notes)
+rad+2           enable level 2 radiant optimizations (See Release Notes)
+libext+lext         use extension 'lext' when searching library directorys
+librescan         search from beginning of library list for all undefined mods
+incdir+idir         for `include files, search directory 'idir'
+nospecify         suppress path delays and timing checks
+notimingchecks     suppress timing checks
+optconfigfile+foo   use 'foo' as the optimization config file (See Release Notes)
+vcsd          enable the VCS Direct sim kernel interface
-cmhelp         enable CoverMeter help
-cm          enable VCS to first run cmSource to instrument the Verilog source files on the command line
-cm_all      enable VCS to link CoverMeter into the VCS executable in a way that enables all coverages

-cm_lineonly  enable VCS to link CoverMeter into the VCS executable in a way that only enables line coverage 




[cpp] view plaincopyprint?
  1. +v2k  
  2. Enables language features in the IEEE 1364-2001 standard.   

 
[cpp] view plaincopyprint?
  1. success报告成功匹配  
  2. Enables reporting of successful matches, and successes on   
  3. cover statements, in addition to failures. The default is to report   
  4. only failures.  
  5.   
  6.   
  7. filter过滤掉空成功。  
  8. Blocks reporting of trivial implication successes. These happen   
  9. when an implication construct registers a success only because   
  10. the precondition (antecedent) portion is false (and so the   
  11. consequent portion is not checked). With this option, reporting   
  12. only shows successes in which the whole expression matches.  
  13.   
  14.   
  15. -assert filter+success经常两者结合起来用。注意用时在filter+success前加上-assert  
  16.   
  17. maxsuccess=N  
  18. Limits the total number of reported successes to N. You must   
  19. supply N, otherwise no limit is set. VCS continues to monitor   
  20. assertions even after the limit is reached.  
  21.   
  22. -assert maxsuccess=3  
  23.   
  24. -l filename logfile文件名  
  25. Specifies a file where VCS records compilation messages. If you   
  26. also enter the -R or -RI option, VCS records messages from both   
  27. compilation and simulation in the same file.  
  28.   
  29.   
  30. -assert enable_diag  
  31. Enables further control of results reporting with runtime options  
  32.   
  33. -sverilog  
  34. Enables the use of SystemVerilog code.  
  35.   
  36. -cm assert  
  37. Compiles for SystemVerilog assertions coverage. -cm is not a   
  38. new compile-time option but the assert argument is new. This   
  39. option and argument must also be entered at runtime.  
  40.   
  41.   
  42.   
  43. vcs *.v *.sva -sverilog \  
  44. +define+enable_blk_assertions \  
  45. +define+tb_sva \  
  46. +define+slv_fc \  
  47. +define+slv_doc \  
  48. -PP -assert enable_diag -cm assert \  
  49. -l compile.log  
  50.   
  51.   
  52. simv -l run.log -assert filter+success -assert maxsuccess=3  
  53.   
  54. VCS对verilog模型进行仿真包括两个步骤:  
  55.   1. 编译verilog文件成为一个可执行的二进制文件命令为:  
  56.     {1}gt; vcs source_files  
  57.   
  58.   2. 运行该可执行文件  
  59.     {1}gt; ./simv  
  60.     
  61.   类似于NC, 也有单命令行的方式:  
  62.     {1}gt; vcs source_files -R  
  63.     -R 命令表示, 编译后立即执行.  
  64.       
  65.       
  66. -cm line|cond|fsm|tgl|obc|path     设定coverage的方式  
  67.   
  68.   
  69. A few more compile options are significant:  
  70. 1.  if RVM class libs are used in the OV code, this is required:  
  71. -ntb_opts rvm   
  72. 2. VMM classes, vmm_ macros can be used in SV; and rvm_ macros   
  73. in OV package are automatically translated to vmm_ equivalents if   
  74. this is also added  
  75. -ntb_opts interop -ntb_opts rvm  
  76.   
  77. -lca  
  78. 这是VCS的参数,表示使用VCS的“用户限制使用”的功能,即VCS提供的一些功能是他们还没有经过充分测试还没有发布的;如果你想使用这些功能就要加上 -lca参数。  
  79.   
  80. +incdir+directory  
  81. Specifies the directory or directories that VCS searches for include   
  82. files used in the `include compiler directive. More than one   
  83. directory may be specified, separated by +.  
  84.   
  85. +plusarg_save   
  86. Some runtime options must be preceded by the +plusarg_save   
  87. option for VCS to compile them into the executable. You can   
  88. specify this option either on the vcs command line or in the file   
  89. specified with the -f or -F option.   
  90. You can also enter the following runtime options on the vcs command   
  91. line or in the file that you specify with the -f or -F compile-time option,   
  92. so that VCS compiles them into the simv executable, BUT you must   
  93. precede them with the +plusarg_save compile-time option:  
  94. +cfgfile +override_model_delays  
  95. +vcs+dumpoff +vcs+dumpon  
  96. +vcs+dumpvarsoff +vcs+grwavesoff  
  97. +vcs+ignorestop +vcs+learn+pli  
  98. +vcs+mipd+noalias +vcs+nostdout  
  99. +vcs+stop +vera_load  
  100. +vera_mload +vpdbufsize  
  101. +vpddrivers +vpdfile  
  102. +vpdfilesize +vpdnocompress  
  103. +vpdnostrengths +vpdports  
  104. +vpdupdate  
  105.   
  106. -ntb_opts dtm  
  107. You enable testbench constructs outside programs with the   
  108. -ntb_opts dtm compile-time option and keyword argument.  
  109. The testbench constructs that you can enter outside programs with   
  110. this option are as follows:classes   associative arrays   dynamic arrays     
  111. SystemVerilog named events  

 

工作状态: 建立仿真环境
  
  VCS是Synopsys公司的仿真工具.

  VCS对verilog模型进行仿真包括两个步骤:
  1. 编译verilog文件成为一个可执行的二进制文件命令为:
    $> vcs source_files

  2. 运行该可执行文件
    $> ./simv
  
  类似于NC, 也有单命令行的方式:
    $> vcs source_files -R
    -R 命令表示, 编译后立即执行.

    下面讲述常用的命令选项:
  -cm line|cond|fsm|tgl|obc|path     设定coverage的方式
  
  +define+macro=value+       预编译宏定义

  -f filename             RTL文件列表

  +incdir+directory+           添加include 文件夹

  -I                 进入交互界面

  -l                 logfile文件名

  -P pli.tab             定义PLI的列表(Tab)文件

  +v2k                 使用推荐的标准

  -y                 定义verilog的库

  -notice               显示详尽的诊断信息

  -o                 指定输出的可执行文件的名字,缺省是sim.v

 


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/242884.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cisco Wireless Controller 5508 Configuration Step by Step – Part 1 (CLI and GUI Access, Upgrade)

As the industry’s most deployed controller, the Cisco 5500 Series Wireless Controller provides the highest performance, security, and scalability to support business communications today and in the future. Cisco 5500 Series Wireless Controller • Support …

求解单位冲激响应的笔记

求解单位冲激响应的笔记 冲激响应的定义 求解方式 正常的方式 另一种方法 再看下一个例子

信用贷款额度是怎么确定的?

信用贷款的额度,不同的贷款机构能办的最高额度都不一样,一般来说银行系统的信用贷款比较高,有些银行100万以内都可以做;而小贷公司的额度就相对比较低一些,一般都是1万-30万居多,部分贷款机构最高能做到50万…

定时器中断

定时器中断 1 定时器介绍 2 定时器的配置步骤 #include "time.h" #include "leds.h"//定时器0初始化函数 //Freq:CPU时钟频率(150MHz) //Period:定时周期值,单位us void TIM0_Init(flo…

一个弱智问题, Ubuntu 中gedit 菜单栏在哪里?

Ubuntu 所有的软件的菜单栏都移到了系统的顶部,习惯了 Windows 的用户习惯看 gedit 工具栏的上面。。。如图,鼠标移动到 Text Editor 哪里菜单栏出来了,这个问题憋了好几个月,一直找不到菜单栏在哪里。。。。

乱骑共享单车?黑名单见!

共享单车现在很火热,已经成为解决人们出行最后一公里的主要交通工具。但是共享单车方便人们出行的同时也出现了不少社会问题,比如盗用共享单车,共享单车乱停放,闯红灯,逆行、占道等,给交通运行带来了一定的…

增强型脉宽调制ePWM实验

增强型脉宽调制ePWM实验 1 PWM简介 2 F28335的ePWM介绍 3 PWM输出配置步骤 4 硬件设计 5 软件设计 #include "epwm.h" #include "leds.h"void EPWM1_Init(Uint16 tbprd) {EALLOW;SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC 1; // Disable T…

民间借贷利息多少才合法?

一、民间借贷利息多少才合法?民间借贷利率是否合法是要根据法律的相关规定来判断,事实上,就借贷利息本身而言,其实不存在合法不合法之说,只能说利率受不受法律保护。而且我国不同时期对民间借贷利率的保护界限也不一样…

ADC模数转换实验

ADC模数转换实验 1 AD 转换原理介绍 2 F28335的ADC介绍 3 ADC配置步骤 4 硬件设计 5 软件设计 #include "adc.h"void ADC_Init(void) {// Specific clock setting for this example:EALLOW;SysCtrlRegs.PCLKCR0.bit.ADCENCLK 1; // ADCEDIS…

战狼5天票房10亿,吴京抵押房产贷款赚大了

近几天要数最火的是什么,肯定是2017阅兵和《战狼2 》的火爆观影潮,一声“开火”引爆了这个夏天的热情。由吴京导演和主演的《战狼2》上映5天,累计票房已经超过10个亿!单日票房超过3.5个亿。一举打破了国产电影的单日最高票房&…

微型嵌入式操作系统对比

GPL(General Public License),即GNU通用公共许可证 1、 uCos-II(ucos ii):商业和GPL双许可。μC/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统内核。…

多相滤波器

前言 多相滤波器解决的是:多速率问题。 通过降采样、插值来改变信号的输出速率(主要利用Nyquist采样定理,保证不混叠),从而降低数据率,多相滤波器为这类操作提供了实现框架。在满足采样定理的前提下&#x…

RS232通信实验

RS232通信实验 1 通信的基本感念 2 F28335的SCI介绍 3 SCI配置步骤 4 硬件设计 5 软件设计 #include "uart.h"void UARTa_Init(Uint32 baud) {unsigned char scihbaud0;unsigned char scilbaud0;Uint16 scibaud0;scibaud37500000/(8*baud)…

贷款为什么要查看征信?

大家都是知道,绝大多数贷款机构在申请贷款的时候都是需要提供个人征信报告,那为什么申请贷款,需要查询个人征信报告呢?大家不要小看一张征信报告那么简单,其实它包含了借款人很多的信息,通过查看个人征信报告&#xf…

GPS NMEA 0183 4.10协议/GPS Linux串口驱动

NMEA 0183是美国国家海洋电子协会(National Marine Electronics Association)为海用电子设备制定的标准格式。现在已经成为GPS导航设备统一的RTCM(Radio Technical Commission for Maritime services)标准协议。 下图为GYM-1010-B…

欠条和借条傻傻分不清?小心借出的钱要不回!

在民间接贷中,经常会涉及到两个名词,一个是借条,另一个是欠条,两者到底有什么关系,又有什么区别呢?其实欠条和借条有相同的地方,但是也有很大的区别,如果把两者混了,可能…

TCL基础知识

TCL基础知识 置换 TCL解释器运用规则把命令分成一个个独立的单词,同时进行必要的置换 TCL置换分为以下三类 变量置换 $ 命令置换 [] 反斜杠置换 \ 用 $ 表示变量置换 TCL解释器会将认为 $后面为变量名,将变量置换成它的值 用[]表示命令置换 []内是一…

ARM AMBA 外围设备 的datasheet

可以去网页地址在线浏览对应的datasheet: http://infocentre.arm.com/help/index.jsp?topic/com.arm.doc.set.primecell/index.html 也可以去其中的网址中,下载对应的pdf版本的datasheet: ------------------------------------------------…

芝麻信用很高,为什么贷款还是被拒了?

之前见过这样一个朋友,他的芝麻信用680以上,借呗额度是2万,但是去申请贷款的时候还是被拒了。看到这很多人可能觉得为什么芝麻信用这么高,贷款还是会被拒了呢?其实芝麻信用不能等同于个人信用,就目前情况来…

Synopsys TCL

Synopsys TCL TCL在EDA工具中的扩展与应用 通过对设计的案例的分析,了解和学习DC获取电路并进行解析的方法 综合软件当中TCL的常见指令 语法格式:get_ports portsName 指令功能:返回design中对应的ports object 语法格式:ge…