Modelsim自动化仿真平台
1赞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文件的窗口,如图所示:
Modelsim在这个路径下自动创建了一个wave.do文件,我们打开看看会发现,里面都是我们定义信号颜色和其他设置所用的tcl命令,但这个do文件不完整,都是一些简单的add wave,缺少上述讲的仿真步骤1234,那么我们可以将它补全,成为一个完整的tcl文件使用,也可以将这些tcl命令复制出去使用。
还有很多有用的tcl命令,以后用到在做总结。