VCS基本编译参数

发布时间 2023-05-25 19:59:57作者: burlingame

参考:VCS基本编译参数 - 知乎 (zhihu.com)

1. vcs常用编译选项:

(1) 帮助文档

vcs -h 列出最常用的vcs编译和runtime选项

vcs -doc 在网页上显示vcs文档

vcs -ID 显示本机的一些信息以及VCS的版本信息

 

(2)license选项

vcs -licqueue 告诉VCS,当没有license时等待。

 

(3)接入verilog库选项

vcs -v asic.v 在RTL中引用了一些module,如果从当前目录中找不到,就在asic.v中找。

vcs -y /usr/ 让vcs在目录中找module。在RTL中注明具体module的位置:`uselib directory = /usr/。在编译时,同时碰到-y和`uselib,以uselib为主。

vcs +libext+.bb+.v 在-y注明的文件夹中搜索.bb文件和.v作为module的来源。

vcs +incdir+".",在RTL中写了`include的话,用该选项指明路径。“-incdir”用在库文件中,用来声明逻辑库,如下:

“library gatelib /net/design1/gatelib/*.v -incdir /

net/ design1/spec1lib, /net/design1/spec2lib;”

vcs +liborder ,用不同的文件搜索顺序搜索库。

vcs -libmap lib.txt,将库文件lib.txt告诉vcs,库文件的格式为:

“library lib1 /net/design1/design1_1/*.v;

library lib2 /net/design1/design1_2/*.v; ”

(4) 64位计算支持

vcs -full64

 

(5) 将编译选项都写在一个文件中

vcs -file a, a中包含了所有的vcs选项,运行时输入vcs -file a就可以了

 

(6)dve和ucli选项

vcs -gui,编译完后直接打开dve,在dve界面下再完成仿真过程。

 

(7)编译完后直接进行仿真

vcs -R,这种方法有一个问题,就是$display不会即时显示,只有仿真完后一齐显示,这样不好。

 

(8)改变参数选项

vcs -pvalue+CNT_WIDTH=21,用于改变RTL中的参数设置。

vcs -parameters a.txt,a.txt中存储着参数的值,如下:assign 21 CNT_WIDTH。

vcs +define+SVA_TEST,当RTL中`ifdef命令,就用到了。

(9)控制消息打印

vcs -notice,显示诊断消息

vcs -q,让vcs编译时进入“安静模式”

vcs -V,让vcs编译时进入“啰嗦模式”,verbose

vcs -l a.log,产生a.log文件。如果连-R共用,则编译内容和仿真内容都会显示在a.log中。

vcs +warn=noRWSI,编译时不打印warning信息

vcs +warn=noTFIPC,报告所有的warning,除了有关TFIPC的. TFIP和RWSI都是某种错误类型。

vcs +warn=all,报告所有的warning

vcs +warn=TFIPC:2 a.v,只显示关于a.v的TFIPC warning的前2个。

vcs -error=TFIPC,将TFIPC的错误爆出来

vcs +lint 报告lint消息。

vcs -suppress ,和vcs -q差不多,都是抑制消息用的。比如:vcs -suppress=warn

(10)在生成的simv中加入调试选项:

vcs -debug 或 -debug_all,其实-debug_pp不行。

debug模式可支持DVE, ucli, PLIs.

debug_pp是后处理模式(post-process)下的推荐选项。此模式也支持SVA,支持“时间断点”和“值断点”,但不支持“行断点”和“事件断点”。

debug功能与debug_pp一致,跑得更慢。

debug_all,允许逐行执行。

 

(11)产生一个不叫simv的二进制文件:

vcs -o simv2

 

(12)编译时就初始化regs为随机数

vcs +vcs+initreg+random,编译时将registers初始化为随机数。

在仿真时,使用:

simv +vcs+initreg+0|1|random|<seed>

 

(13)检查信号的X状态和Z状态

vcs -xzcheck,可在RTL中写$xzcheckon和$xzcheckoff来对xz进行检查和关闭。

可以使用 vcs -xzcheck nofalseneg 来屏蔽一些warning

 

(14)控制编译error和warning消息

2. 仿真:编译后产生simv可执行文件。仿真用simv文件,分为2种仿真方式:

(1)交互模式:dve,ucli

(2)batch模式:直接执行simv即可