(一)编译
$vcs file_name 加各种开关选项
1.基本选项
-Mupdate :增量编译 再次编译时只编译改变的文件
-R : 编译后继续进行仿真
-gui :打开DVE图形界面
-l<filename>:set log file name,用于写编译信息 生成log文件 一般在仿真大型文件时用到
-sverilog :支持system verilog 语言
+v2k :支持verilog语言
2.工艺库相关选项
-v lib_file :RTL代码里涉及到这个工艺库
-y dir_file :告诉vcs去哪里找这个工艺库 工艺库的路径
+libext+lib_ext :当用到很多库,代替-v
+incdir+inc_dir :代码里如果有include,使用这个命令告诉vcs包含文件的位置。verilog代码里面写`include "filename.vh"
3.文件可选项
-f file : 有很多文件时把多个文件整合到这一个文件夹中
4.修改文件名
-o foo :修改可执行文件的名字 文件原名为simv文件
5.define 定义一个宏
+define +<macro_name>=<value> :macro_name 宏名;value 初始化值; 如+define+INCR_COUNTER
(二)仿真
$simv 加一些仿真开关选项
./sim -gui &(./指在当前文件,sim指编译得到的可执行文件,gui指打开vcs的gui界面-dve,&指后台执行)将会得到执行的PID值
-s 结束仿真时间
$plusargs() 动态接收参数
-E echo
-l logfile 把仿真信息写入logfile文件里
(三)VCS Debug的三种方法
1.系统任务法
system task calls
$display 打印变量赋值前值
$montor 打印变量赋值后值,变量值改变,打印值也变
$time 仿真时间
$readmemb 将文件里的内容读入存储器中,读二进制binary
$readmemh 将文件里的内容读入存储器中,读十六进制hexadmecimal
2.UCLI命令行法
$vcs filename +v2k -ucli -R
3.VCS DVE