CH-2 VCS Flow

2-1 Three-Step Flow

三步流程分为 Analysis,Elaboration 和 Simulation。

2-1-1 Analysis

使用如下的命令

vlogan [analysis_options] design_file
vhdlan [analysis_options] design_file

这一步的目的是分析设计的语法错误以及产生后续的 elaboration 所需要的文件。下面是一些常用的选项

  • -full64 为 64-bit 的仿真来 Analysis 文件。
  • -output outfile 指定生成文件的名字
  • -f filename 指定包含需要的文件名的文件来进行 Analysis。顶层文件放到最后一个
  • -l filename 指定 Analysis 的 log 文件名
  • -ignore keyword_argument 屏蔽掉包含关键词的 warning 信息
  • -sverilog 支持 SystemVerilog 的 Analysis
  • -timescale=time_unit/time_precision 为不包含 `timescale 指定仿真的时间单位和精度
  • +define+macro 为仿真添加文本宏
  • +incdir+directory 指定文件中 include 的文件的路径。

2-1-2 Elaboration

这一步利用 Analysis 步骤生成的文件来编译生成可执行文件以用于仿真。Elaboration 可以分为两种模式:Optimized Mode 和 Debug Mode。

Optimized Mode 也叫 batch mode。这种模式下 vcs 尽量实现最优的编译时间和仿真时间。建议在做 regression 或者不需要 debug 信息时采用这种模式。Debug Mode 也叫 Interactive Mode,在设计的初期进行仿真时推荐使用这种模式以对设计进行 debug。

使用下面的命令进行 Elaboration

vcs [elab_options] [libname.] design_unit

下面是一些常用的参数

  • -full64 使能 64bit 的 Elaboration 和 Simulation
  • -file finename 指定包含 elaboration 选项的文件
  • -notice 启用详细的 elaboration 信息
  • -V Verbose mode
  • -l filename 指定 log 文件的名字
  • -o 指定生成文件的名字

2-1-3 Simulation

执行 Elaboration 生成的 simv 文件来进行仿真。可以选在以交互模式 Interactive Mode 或者批处理模式 Batch Mode 来执行仿真。

Interactive Mode 也叫 Debug Mode。这种模式下可以通过 GUI 或者命令行来对设计进行 debug。要执行这种模式的仿真需要以 Interactive Mode 来 Elaboration 设计。

Batch Mode 也叫 Optimized Mode。这种模式可以获得最好的仿真性能。

通过下面的指令执行仿真

simv_executable [runtime_options]

一些可用的选项

  • -gui 启动 Verdi
  • -ucli 以 UCLI 模式启动仿真

2-2 Two-step Flow

Two-step Flow 只能用于 verilog 和 systemverilog 的设计。Two-step Flow 分为 Compilation 和 Simulation 两步。Compilation 用于编译设计文件产生可执行程序,同样也可以分为 Debug Mode 和 Optimized Mode。

2-2-1 Compilation

vcs [compile options] Verilog_files

下面是一些常用的指令

  • +incdir+directory+ 指定设计中 include 的文件的路径

  • -f filename 指定包含设计文件列表和编译时间的文件

  • -verdi 启动 Verdi

  • -pvalue+parameter_hierarchical_name=value 重新指定设计中 parameter 的值

  • -parameters filename 指定文件,其中包含重新指定 parameter 值得语句。语法如

    assign value path_to_parameter
    

    需要注意的是要用正斜线/代替表示层次关系的.

  • -notice 启用详细的编译信息

  • -l filename 指定 log 文件的名字

  • +define+macro=value 定义宏,=value 是可选的

2-2-2 Simulation

Two-stwp Mode 的 simulation 过程和 three-step mode 的是类似的

上一篇:pip装包出现持续自动降版本,一直失败


下一篇:【linux驱动分析】之dm9000驱动分析(七):dm9000的卸载挂起和恢复以及打开和停止