利用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设置其属性。
1.2 一些warming解决
当我们正确的添加了所有文件的时候,可能还会出现一些warning,例如有因为编译顺序造成的参数找不到的情况,可以通过compile order中调整编译顺序解决。
当调用VMT模型的时候,需要将VMT中的.inc文件命名为.v文件,vivado不识别.inc文件。
2.搭建仿真环境
2.1 编译仿真库
在simulation中建立tb文件,保证没有语法错误之后即可进行仿真库的编译。
(1
)在tools 中选择compile simulation libraries
(2)选择仿真工具
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中设置仿真选项。
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 可以将仿真脚本导出
Target simulator:选择VCS
Compiled library location:编译库路径 选择为导出脚本的路径,可任意选择
Export directory:导出目录 为仿真工程的位置
Use absolute paths:导出脚本中对文件使用绝对路径
Copy source files to export directory:将所有的文件导出到srcs文件夹中,之后的修改我们可以直接修改内部文件