作者:子墨祭,文章来源:CSDN博客
一、前言
虽然我们是个菜鸟,但不妨碍我们伪装成老鸟~
二、上干货,按步骤来
①vivado与modelsim进行绑定;
②准备好你的设计文件与仿真文件;
③modelsim创建工程,路径sim;
⑤创建do文件;
⑥运行do文件;
⑦添加你所需要的信号,保存wave.do文件
⑧重新运行do文件
三、分步骤详解
3.1vivado与modelsim进行绑定
= =
这里就默认大家都已经绑定好可以联合仿真了~
3.2准备好你的设计文件与仿真文件
没什么好说的,设计文件和testbench写好,编译通过;
3.3modelsim创建工程,路径sim
后面空了讲下设计规范,包括代码规范,工程目录结构,命名等;
这里简单说下,一个规范的工程的目录结构,如下图所示:
par : 放置工程文件
src :设计文件
sim :仿真文件
xdc :约束文件
ref :参考文件
这只是工程目录,还有doc,out等;
modelsim新建工程,路径sim,工程名建议跟设计工程名保持一致:
3.5创建do文件
将tb.do文件模板复制到sim目录下,然后进行修改:
将自己的设计文件和仿真文件全部添加进去,注意路径是用 ‘/’ 不是 ’\’;
filelisit.vvv是我用dat文件自动获取的所有.v文件,可以手动添加;
#tb.do模板
vlib work
vmap work work
#将所有.v文件(包含设计文件和仿真文件)都加进来,注意文件路径是 ‘/’ 不是 '\'
vlog -work work ./*.v
vlog -work work ../src/*.v
#vlog -work work ./*.sv
#vlog -work work -f ./filelist.vvv
#若工程中使用了IP核,需将IP核仿真网表文件加进来
#例如用了pll:vlog -work work ../par/project1_1.srcs/sources_1/ip/clk_wiz_0/clk_wiz_0_sim_netlist.v
####以下为模板,不需要更改#####
vsim \
-novopt \
-L unisims_ver \
-L unimacro_ver \
-L simprims_ver \
-L secureip \
tb #tb 是testbench的module名称
view wave
view structure
view signals
add log -r /*
do wave.do
run 0.5ms
radix hex
3.6运行do文件
注意:运行哪个工程的do文件,modelsim必须先打开对应的工程mpf文件
3.7添加你所需要的信号,保存wave.do文件
因为初次打开是没有wave文件的,所以一片空白,添加我们所需要的信号后,保存wave文件。
3.8重新运行do文件
搞定,收工!
老鸟的姿势又学会一招!