VCS_UG学习笔记
除了说明性质的内容,关于命令和仿真,均是默认Verilog语言,暂不考虑SystemVerilog相关的内容。
环境:
运行脚本来验证你的系统配置:syschk.sh
库:
-
名称上看:库 = 设计库 = 逻辑库
-
功能上看:VCS里面库的概念不像C语言中的头文件。库是VCS存放中间文件的地方,VCS把全部的中间文件存储在库里面。库指向文件系统的一个真实的物理目录,这个指向关系由synopsys_sim.setup文件指定。
-
默认情况:WORK是默认的库,它被映射到worklib目录。
WORK > DEFAULT DEFAULT : ./worklib
仿真:
VCS支持两种工作的流程:Two-step Flow和Three-step Flow
类型 | 步骤 | 语言 |
---|---|---|
两步 | 编译——仿真 | Verilig、SystemVerilog |
三步 | 分析——执行(制作)——仿真 | Verilog、VHDL、混合HDL |
相同点:仿真的前一步得到simv可执行文件,作为仿真阶段的输入。不同点:TODO。
- 两步方式的基本使用:
vcs [compile_options] Verilog_files
simv [run_options]
- 三步方式的基本使用:
vlogan [vlogan_options] file1.v file2.v
vcs [elaboration_options] design_unit
simv [run_options]
编译标志:
适用于命令中为compile_options或者elaboration_options的位置。compile_options与elaboration_options基本是一样的,稍有个别的标志是不同的,没必要严格区分,此处均以编译标志概括。这里给出一些常用的编译标志。
编译标志 | 功能 |
---|---|
-q | 静默模式 |
-f filename | 指明源文件列表的文件 |
-full64 | 64位 |
-l filename | 指明一个日志文件 |
-timescale=time_unit/time_precision | 指明仿真时间,优先级高于源代码中的 |
-v library_file | 指明Verilog模块定义的库文件 |
-y library_directory | 指明Verilog模块定义的库文件的目录 |
+define+macro | 宏定义 |
+lint=[no]ID|none|all | 打印出不良的Verilog代码风格 |
+incdir+directory | 指明include文件存放的目录 |
V |