VCS初体验

简介

VCS是编译型Verilog模拟器,它完全支持OVI标准的Verilog HDL语言、PLI和SDF。 VCS具有目前行业中最高的模拟性能,其出色的内存管理能力足以支持千万门级的ASIC设计。VCS集成了Virsim图形用户界面,它提供了对模拟结果的交互和后处理分析。VCS 2009.12 Linux 验证库是业界范围最广的基于标准的验证IP产品组合,可以方便地集成到Verilog、SystmVerilog、VHDL和Openvera的测试平台中,用于生成总线通信以及协议违反检查(本段摘自TOMEDA网,详情移步TOMEDA))

准备

此次实验主要以<<验证与vcs使用>>一文为指导,以自己写的uart模块verilog代码为实验对象.关于vcs的工作方式,运行方式等在该文中都有介绍,在此不再多说,这里以uart模块为例简单了解vcs工作过程.如需该文,可在eetop上搜索下载,也可以邮件call我.

进入实验

Step1

找一台装有vcs的机器,将你要仿真验证的工程拷贝进去,你的工程文件里应该包含设计文件和验证文件等,打开终端然后进入工程目录.用图形方式启动vcs,在启动时加上参数-RI.

1
$ vcs -RI *.v

这样vcs会对该目录下的所有.v文件进行编译,如果各个模块之间有调用的话,它会自动检索并调用.但是值得注意的是我运行的时候提示错误

1
2
3
4
Error-[V2KS] Verilog 2000 IEEE 1364-2000 syntax used. Please compile with +v2k
to support this construct
Ansi style port declaration.
"control.v", 7

提示错误是需要用verilog 2000标准去编译,即加上+v2k 参数

1
$ vcs +v2k -RI *.v

如果编译通过会弹出Virsim窗口如图
step1

Step2

点击上图绿色箭头运行仿真.然后根据教程,分别调出hierarchy窗口,wareform窗口,logic窗口,register窗口,source窗口.其中hierarchy窗口类似与一个查看器,能够表示出你设计模块的层次结构,当选中其中一个模块时,按住鼠标中键拖进打开的对应窗口就会显示相应的功能.例如拖进source窗口里就会显示对应的verilog代码.另外在第一个弹出的窗口里的history栏有仿真报告,可以查看整个仿真过程.

Step3

其他功能可以参考教程详细操作.

总结

对于一些新接触的EDA软件,要想快速学习,首先就是要找到对应的Lab_Guide.然后根据Lab_Guide进行仔细的操作和研读,以达到熟练程度.