引言
本文用于总结阅读VCS user guide后的读书笔记,具体如果以后用到userguide里面的知识可以更快的去查询。由于手册非常全面,长达1000多页码,而且涉及到了与C,SV,VHDL,verilog,所以,不可能一朝一日掌握,在已经具备Verilog的基础上,下面对VCS里面的Verilog部分进行阅读并做好笔记,然后,随着能力不断增强,再逐渐补充,也不失为一种优秀的学习方法。另外,我知道很多人也看过启芯的视频,或者跑过官方的一些简单流程,但我觉得user guide还是有必要看一看。
1、Getting Started
前面一大堆介绍了如何安装,这些不用管,我们已经安装完毕了。
-----------------------------------分界限--------------------------------------
Using the Simulator
VCS MX使用三个步骤来编译、综合、仿真 verilog、vhdl、mixed hdl.
注意:鉴于我们的ubuntu18.04以及安装的vcs2016 必须使用-full64,否则找不到编译器
- 分析设计analyzing
vlogan -full64 [ vlogan-option] file.v +v2k
vhdlan -full64 [vhdlan-option] file.vhd
vlogan -sverilog [vlogan -option] file.sv file2.v
- 综合设计elaborating
vcs -full64 [compile-option] file.v +v2k
- 仿真设计simulating
simv [run-option]
2、VCS MX flow
2.1 分析过程
分析过程,VCS要做的工作是检查语法错误(syntax errors),VCS会生成一些中间文件,提供给下一级的综合,并会保存这些中间文件。
using vlogan
注意;鉴于安装的系统和软件,务必加上-full64
% vlogan -full64 [vlogan_option] file.v file2.v
option:
【这里举例几个参数】具体可以查看userguide
-help
打印vlogan的信息
-nc
压缩新思科技的版权信息
-q
压缩所有vlogan的信息
-full64
采用64位仿真分析设计。
-l filename.log
制定一个日志文件 ,由于终端显示有限
-sverilog
开启SV。
-timescale=time_unit/time_precision
优先级高于源文件中。
-v library_file
指定Verilog的库文件来搜索module的定义【比如xilinx的库】
-y library_directory
指定verilog库的目录来搜索module
+incldir+directory
制定包含的头文件,你也可以指定多个头文件用+即可
-sverilog
开启sv
-+v2k
开始veriog2001标准
实际例子:
可以看出生成的AN.DB为分析模块后产生的一个中间文件
2.2 综合过程
综合是开始仿真设计的第二步骤。在这一部分,将会使用生成的中间文件,然后生成一个二进制的可执行文件,simv 。这个可执行的二进制文件将会在仿真中用到。
在这个过程,你可以选择优化模式或者debug模式。
官方推荐使用debug模式,再切换到优化模式。
在debug模式中,你还可以需选择部分debug还是fulldebug,这种模式下,VCS的性能不是最好。
句法如下:
鉴于本系统实验平台,务必加上-full64
vcs -full64 [elab-option] [libname.] design_unit
design_unit是设计单元
libname. 你可以指定库
下面看一下选项;具体请查看useguide
搜索Verilog的库
-lib library1[:library2:library3…]
制定库文件搜索,对于没有找到的模块
-full64
以64位模式开启综合和仿真
-file filename
制定一个文件包含了综合时的选项(这个可以不用每次去敲这么多选项,停方便)
-gui
在运行的时候就开启DVE,也就是综合后,立马执行DVE
-R
立即运行可执行文件,一旦VCS链接完成
-l filename.log
指定一个文件用于记录综合后的信息,如果你已经输入了-R选项,VCS会在同一个文件中记录下综合和仿真的信息
2.3 仿真过程
有两种模式,一种是interaction mode(debug mode)
一种是Batch mode(优化模式)
为了以debug模式运行,在综合时候必须加上-debug 或者-debug_all
当你需要debug你的设计时,比如使用DVE或者UCLI时候,你就需要debug模式
现在 VCS具有以下针对debug的选项
-debug_pp
-debug 部分调试模式
-debug_all 开启全部调试
使用优化模式(batch mode)被用于当你的设计已经经过验证,并且没错误,优化模式将会使VCS的运行效果非常好。