靖harry

Talk is cheap,show me the code!

Modelsim自动化仿真平台

1
阅读(2095)

Modelsim自动化仿真平台

        很久没碰FPGA了,最近因为项目需要,用FPGA设计锁相环,于是得重新熟悉一下。首先,就发现modelsim自动仿真的tcl脚本命令就记不清了,索性简单总结一下,以便以后再用。

首先需要了解modelsim仿真的步骤:

        (1) GUI控制

 1.启动ModelSim,建立库

 2.映射库到物理目录

 3.编译代码源

 4.启动仿真器

 5.执行仿真

        (2)TCL脚本控制

 1.建立库

 2.映射库到物理目录

 3.编译代码源

 4.启动仿真器

 5.执行仿真

接下来就讨论用tcl脚本仿真的步骤,以下将常用步骤作为一个模板,以后可以套用再稍加修改。

#退出当前工程
quit -sim 
#清空命令行显示信息
.main clear 
#创建库 ‘./’表示当前目录,‘../’表示上一层目录
#其实库就是文件夹
vlib ./lib
vlib ./lib/work 
#将逻辑库映射到物理目录
vmap work ./lib/work
#编译源代码,文件要加扩展名.v
vlog -work work ./tb/tb_LP.v
vlog -work work ./../RTL/FIR_lowpass.v
#启动仿真器,-voptargs=+acc为优化,顶层不用加.v扩展名
vsim -voptargs=+acc work.tb_LP
#添加波形,‘-divider’为区域划分
add wave -divider {tb} 
add wave tb_LP/*
add wave -divider {soource}
#要添加顶层文件中例化体中的信号,一定要用后面的例化名
add wave tb_LP/u_FIR_Lowpass/* 
#运行仿真,设置时间
run 1ms

        注意,上述对文件的操作都用到当前路径(相对路径),那么这个当前路径是什么呢?这点很重要,编写完.do文件后不是马上就在modelism的命令窗口运行,而是先将当前路径定位到你存放.do文件的文件夹。具体操作为:点击file选项下的change Directary选项,定位路径。然后在命令窗口中输入:do run.do(这里的run是我保存的.do文件名)。接着就可以进行观察仿真波形了。

        然而,上面的模板只是替代了一些重复的简单的操作,一些细小的操作,例如改变信号的颜色之类的tcl命令,模板里就没有写了。事实上,每一步GUI操作,后台都会对应着脚本操作。那么,例如上述改变信号颜色的tcl命令在哪里找到呢?我在一片博文中找到了方法:         http://www.cnblogs.com/LJWJL/archive/2013/01/14/simulation.html

        首先,先在波形窗口手动对信号做一些操作,然后点击wave窗口左上角的save format图标,会出现一个保存do文件的窗口,如图所示:

1.JPG

Modelsim在这个路径下自动创建了一个wave.do文件,我们打开看看会发现,里面都是我们定义信号颜色和其他设置所用的tcl命令,但这个do文件不完整,都是一些简单的add wave,缺少上述讲的仿真步骤1234,那么我们可以将它补全,成为一个完整的tcl文件使用,也可以将这些tcl命令复制出去使用。

         还有很多有用的tcl命令,以后用到在做总结。