VCS工具使用

如何使用VCS工具进行验证环境的运行,和各个参数的使用。

ASIC_RAM做了timingcheck了,编译选项+notimingcheck+nospecify可以去除

-sverilog
让vcs支持systemverdilog语言的编译
+v2k
兼容verilog2001标准
+define+XXX
添加宏定义,这个宏定义对整个工程起作用
+incdir+../../…
这个选项所指定的路径是告诉VCS给文件中使用了`include语句的文件指定查找路径。如果有不止一个文件路径的时候可以使用“+”继续在上述选项后面累加。注意是在你的设计当中用到了'include语句的时候。
-assert keyword_argument
key_argument:
  disable_cover:不收集断言的覆盖率
  dumpoff:dump波形的时候不dump sva
+notimingcheck+nospecify
不进行时序检查,对一些模块中添加了$setupcheck()等时序检查的语句时,这个选项不使能这些语句。
-timescale=xx/xx
设定时间的刻度和精度。
+vcs+lic+wait
这个选项主要是在系统中的VCS license被占用的情况下,通知VCS等待license空闲的时候再执行,不要直接退出来。等同于-licqueue
-v filename
指定一个verilog的库文件。VCS会在这个文件当中查找你的源代码中不存在/没有定义的module和UDP。
-y directory这个命令其实和上一个-v的选项差不多。只不过这个选项是告诉VCS一个verilog库的存放路径,当VCS在编译的时候发现你提供的源文件中有些例化module和UDP找不到原形的情况下,它会在这个路径给你查找匹配的module和UDP。VCS查找的方式是先在这个路径下查找与例化名相同的文件,然后再查看这个文件里面的module和UDP的名字,如果匹配就直接将这个文件

instance到你的源文件当中。注意:如果你的库文件在多个路径当中都有相同的名字,那么VCS会采纳第一个路径下的库。

-full64
这个选项是为64位的操作系统准备的,如果你的操作系统是32位的就不要操这个心了。
+vcsd
在跑模拟的時候必需加上+vcsd +vpi使用VPI的PLI存取模式
+vpi
在跑模拟的時候必需加上+vcsd +vpi使用VPI的PLI存取模式
+memcbk
使用2001后代码中会有很多数组,在仿真时用vcs仿真带二维数组的verilog代码,编译的时候需要打开memcbk选项,在仿真的时候dump波形的时候才能dump二位数组。
+libext+extension+
这个选项是告诉VCS在指定的lib路径下查找上述选项指定扩展名的文件。当然了你也可以指定多个扩展名,比如:+libext+.V+.v等等,指定的扩展名的顺序就是VCS的查找顺序。这个功能是应用原文件的加载,比如:你不指定原文件的名字,只是通过这个所谓的后缀进行加载。
-Mdir=./$mode_name/exec/uvm_test_csrc
这个目录是存放module编译成object文件的地方,在编译器链接object文件为一个executable文件的时候会去这个目录去查找。如果有文件已经编译过然后又没有修改,哪可以把这些编译后的文件目录作为-Mdir参数,这样编译的时候就可以不编译这些文件。这个目录可以指定多个,通过":"分隔。
vcs design.v -Mlib=/design/dir1:/design/dir2

-Mdir=directory
指定增量编译的编译目录

-Mmakep=make_path
指定make目录?
-l filename
指定VCS产生的编译log文件名
-o execname
指定VCS生成的可执行文件名,默认为simv
-f filename
指定filelist的文件名,-f可以通过//注释掉。
-debug_access+f
debug选项,根据各项目需求自行选择debug类型
-debug

-debug_all
-lca
VCS 编译器的一个功能增强选项,相比与普通的版本的扩展模式,一般像有加密库文件、收集代码覆盖率都需要加上此编译选项。
+vcs+initreg+random|X|0|1
在0时刻将设计中的所有状态变量(reg类型)、寄存器和MDA中的memory初始化成随机的0/1。注意:该选项只对verilog的设计起作用。建议100%NL前至少带该参数完成一次回归
+vcs+initreg+config+config_fileinstance
  instance_hierarchical_name [x|z|0|1|random| random seed_value]    
  tree instance_hierarchical_name depth [x|z|0|1|random| random seed_value]
-R
编译完成后执行simv
-add_seq_delay
添加一个固定延时,解决沿采沿的问题。
+fsdb+force  
波形显示force
(后面加gate=off/on就不会显示标记)

 

+fsdb+sva_success
波形显示断言成功

  

+fsdb+delta
显示组合逻辑的毛刺

-diag timescale   //显示小于timescale精度的延时信息,用于后仿SDF的时候。

猜你喜欢

转载自www.cnblogs.com/yuandonghua/p/10266977.html
VCS