VIVADO与VCS联合搭建仿真环境

 

利用tcl脚本将文件添加到vivado中,解决掉所有的warning,保证综合和仿真目录下没有warning。

1.1 文件属性设置

(1)设置头文件

由于工程中可能大量使用头文件,会产生找不到参数的情况。在tcl中注意对头文件进行设置。首先通过add_files 添加文件,然后通过set_property file_type {Verilog Header} [get_files xxx]将其设置为头文件。

 

 

当有些头文件需要设置为全局头文件的时候使用 set_property is_global_include true [get_files xxx] 

(2)设置systemverilog

当有些文件是用sv写的时候需要将其设置为systemverilog属性。(systemverilog在vivado中只能用于simulation不能用于synthesis)

 set_property file_type {SystemVerilog} [get_files xxx]

在vivado软件中也可以通过source file properties设置其属性。

VIVADO与VCS联合搭建仿真环境

1.2 一些warming解决

当我们正确的添加了所有文件的时候,可能还会出现一些warning,例如有因为编译顺序造成的参数找不到的情况,可以通过compile order中调整编译顺序解决。

当调用VMT模型的时候,需要将VMT中的.inc文件命名为.v文件,vivado不识别.inc文件。

2.搭建仿真环境

2.1 编译仿真库

在simulation中建立tb文件,保证没有语法错误之后即可进行仿真库的编译。

(1

)在tools 中选择compile simulation libraries

VIVADO与VCS联合搭建仿真环境

(2)选择仿真工具

VIVADO与VCS联合搭建仿真环境

Simulation:可针对不同的仿真工具进行选择包括modelsim、Questasim、IES(incisive enterprise simulation)、VCS

Language:Verilog、VHDL、ALL

Library: Unisim 功能仿真;Simprim 时序仿真;默认两者都包含

Compiled library location:编译仿真库的路径,默认为.cache/compile_sim

Simulation executable path:仿真器执行路径为vcs的安装路径

Miscellaneous options:想要添加的其他的一些tcl指令

Compile 32-bit libraries:不要选择编译32bit的仿真库,仿真带IP的要使用64bit仿真库;

Verbose:选上之后在运行的时候会在tcl中显示详细的运行信息

 

编译完成之后在compile_simlib中生成一个仿真初始化文件VCS对应synopsys_sim.setup。内部会标注vcs仿真总使用的仿真库与调用的IP位置。

(3)仿真设置

在simulation settings中设置仿真选项。

VIVADO与VCS联合搭建仿真环境

arget simulation:选择仿真工具,这里为VCS

Simulation language:verillog、VHDL、mixed

如果仿真中调用了VMT模型则需要在vcs.compile.vlogan.more_options、vcs.elaborate.vcs.more_options、vcs.simulate.vcs.more_ options 中添加-vera选项。-vera为指定标准的Vera PLI表文件和对象库。VMT模型中使用的为vera语言。

 

使用vcs+verdi脚本进行仿真比较方便。可以通过对VIVADO生成的脚本进行更改来实现。

导出VCS脚本

在VIVADO中的File选项通过Export 可以将仿真脚本导出

VIVADO与VCS联合搭建仿真环境

Target simulator:选择VCS

Compiled library location:编译库路径 选择为导出脚本的路径,可任意选择

Export directory:导出目录 为仿真工程的位置

Use absolute paths:导出脚本中对文件使用绝对路径

Copy source files to export directory:将所有的文件导出到srcs文件夹中,之后的修改我们可以直接修改内部文件