VCS前仿真基础操作实践笔记

tech2026-10-09  1

简介 VCS全称 verilog compile simulator,是Synopsys公司的产品,在Linux系统中使用,作用和学校经常用的modelsim差不多,可以编译、仿真、看波形和进行覆盖率的仿真,公司里用的比较多一点。 工作方式 VCS先将verilog文件转化为C文件,在linux下编译生成可执行的模拟文件simv,在linux下运行这个simv文件即可进行仿真分析。还可生成一些供分析的文件 步骤

编译 VCS 命令:vcs [options] [options] 可选项 -R:编译后立即执行仿真文件 -gui :在仿真时,使用dve调试,即可查看波形 -f filename:可将要编译的源文件全部放在filename文件中,只编译这一个文件即可编译所有的.v源文件 -l file.log:记录 DVE或VCS中间的一些日志文件 -Mupdata:只编译发生改动的源文件 -debug_pp:产生vpd波形文件 -debug :相比较-debug -pp,多了ULCI调试 -debug_all:相比较-debug,又多了单步调试功能,一般推荐使用此条命令 -full64:vcs以64为模式编译,生成64位simv文件 -full32:vcs以64为模式编译,生成32位simv文件 可成功打开的几种方式 一、分步骤慢慢来 1、编译 2、仿真并打开了DVE 3、点击蓝色选中区域前面的+号,再选中实例化的模块名,右击如下图绿色框选择new wave view添加波形

4、点击下图最上面绿色框中输入自己想要仿真的时间,点击下图橙色框中的箭头开始仿真 红框里是从左到右,依次是全部波形充满整个窗口、放大2倍、缩小2倍。 右击信号名选择如下图选项,可修改信号的进制

退出时如下图红框

二、使用-f filename将多个.v文件可把所有源文件放在一个文件里 1、当前目录下新建一个makefile.f的文件

将源文件写进来,./表示当前目录下的文件,要是其他目录下,标明对应路径 2、编译时用-f makefile.f命令,之后的仿真查看波形,和一中步骤相同 三、使用-R,加个命令一步到位

或者 或者不写-debug_all,直接下图也可 还可以记录编译过程产生的日志文件

// 我踩过的坑 直接输入 (涉及的traffic_light_tb.v traffic_light.v具体代码详见https://blog.csdn.net/weixin_46195347/article/details/108270076) 提示:tb文件放在源文件之前,否则会报如下错误 module has timescale but previous module/package do not

.v文件顺序正确的前提下回车,会报如下错误: 遇到这种情况要使用source命令配置环境变量,命令如下所示,路径每个人根据自己的设置

source /path/.cshrc

重新输入命令(按住Alt键点击P 键可以跳至上一条输入过的命令)

vcs traffic_light_tb.v traffic_light.v

编译结束生成如下文件 可以看到并没有simv文件,无法进行下一步,此时要加入-full64可选项(我自己这样试过之后是可以的) 可以看到多了simv文件

仿真命令 结果 有点迷,多了个ucli.key文件,打开后是我自己刚刚输的两条命令 所以选择直接 迷惑,错误的意思是说编译时没有启动DVE/VERDI调试,请重新编译,来,加上-debug_all回炉重造 千呼万唤使出来,此时的文件里的文件类型 其中文件类型 .vpd文件是VCS和DVE支持的波形文件 simv文件是编译生成的二进制可执行文件 csrc是增量编译文件,可以通过-Mdirectory=directory或Mdir=dir来指定,可以指定多个 .sim是中间临时文件 ucli.key文件是把过程中输入的ucli命令写入此文件,之后仿真的时候可以从该文件读取ucli命令,可以通过-k=KeyFilename指定文件,默认的就是ucli.key

最新回复(0)