DO文件是什么?
DO文件是一次执行多条命令的脚本。这个脚本可以就像带有相关参数的一系列ModelSim的命令,或者是带有变量和执行条件等等的Tcl命令程序。可在GUI或者系统命令提示符中执行DO文件。
首先了解一下Modelsim仿真!
第一步
创建一个工程和工程库
第二步
加载设计文件(功能模块和Tb模块)
第三步
编译源文件
第四步
运行仿真,并查看结果
do文件的作用就是把上述的步骤①---④用tcl脚本语言来编写出来,让Modelsim来运行该do文件宏命令,并自动执行仿真的步骤。这种好处也许在小设计中没怎么表现,但是如果在一个大的工程中,常常需要对一个设计单元进行反复的调试和仿真,但是仿真时的设置是不变的,这时如果使用了do文件,把仿真中使用到的命令都保存下来了,就可以节省大量的人力,提高了工作效率。
Modelsim中常用的Tcl命令
ModelSim的tcl最大的优势就在于它可以让整个仿真自动运行,免除每次进行各种用户界面控制操作的麻烦。用tcl就可以自动完成建库、映射库到物理目录、编译源代码、启动仿真器、运行仿真等一系列操作。
执行Tcl(.do文件)
do name.do
编译
vlog iic_write.v
启动仿真
vsim tb_iic_write.v
将信号加入wave
add wave tb_iic_write *
执行仿真
run 2000000/-all
退出仿真
quit -sim
DO文件如何编写呢?
do文件就是Modelsim中Tcl命令的整合!
具体操作如下:
do文件编写完成!下一步:
在Modelsim中,将工作目录切换到功能模块所在目录下,然后在Modelsim的File窗口中的Change Directory选项中切换工作目录。
调用do文件
在Modelsim的Transcript窗口中的命令行输入:do test.do命令即可。
Modelsim中的do文件编写小技巧!
我们先了解Transcript窗口的作用和用处?
Transcript窗口记录着我们在Modelsim中使用的每个操作步骤,同时在代码运行的时候的Error和Warning也是通过该窗口显示给使用者,以及Transcript窗口的命令行控制。
技巧1
既然我们的每个操作命令都能在Transcript窗口显示出来,也就是说在我们遇到不会的Tcl命令时,可以通过Modelsim界面上通过鼠标操作一遍,查看该操作是的Tcl命令,再编写进我们的do文件中就可以在调用do文件时实现我们想要的操作。
技巧2
当我们没了仿真波形更容易分析,将波形设置为不同的颜色或者不同进制等,此时我们可以在Wave窗口的左上角“Save Format”保存为do文件(或者Ctrl + S)。
打开wave.do文件我们发现也是许多的Tcl命令,这些Tcl命令也是可以编写进我们的test.do文件,再通过Modelsim调用。这样Wave窗口最终输出的波形就是我们之前设计过的风格了。
Over
注意
1
do文件编写时,Tcl命令的顺序需要正确
2
do文件中的注释符号“#”的使用,注释必须在代码的下一行进行解释,不能在代码后注释
3
功能模块一定要放在工作目录所在的文件夹,并且文件夹不能有中文
4
如果do文件运行时,出现了错误。可以通过在Model的Transcript窗口的命令行按顺序将我们的do文件中Tcl命令运行,就可以发现并纠正Error。
关注我们了解更多资讯
ModelSim仿真软件介绍(一)
FPGA数字信号处理(二)数字混频
【FPGA信号处理一】5分钟学会FIR 滤波器设计
在Vivado中,您使用过TCL吗?
编写可综合的FPGA代码经验总结(二)
【干货分享】编写可综合的FPGA代码经验总结(一)
【干货分享】异步电路中的时钟同步处理方法
【干货分享】同步电路分析---异步和同步电路的区别(二)
【干货分享】Verilog中阻塞和非阻塞赋值金规
【干货分享】同步电路的时序模型分析(一)
【干货分享】同步复位和异步复位,您真搞明白了吗?
【干货分享】Get到这些小技巧,FPGA设计将提高一个台阶
Vivado中几种仿真模式比较
FPGA中的上拉下拉电阻以及开漏推挽输出电路
Timequest Timing Analyzer时序分析
Testbench编写是如此的简单
加入微信群
1、仅限FPGA技术交流
2、先加群主验证后邀请加入
3、需注明单位+研究方向
FPGA技术联盟
业界最专业的FPGA以及数字设计公众号,为该领域最大的技术交流和信息分享平台。微信群包括有众多FPGA相关公司研发总监和FPGA领域专家。覆盖有中国航天、中航工业、中电集团、中船重工、华为、中兴以及国内外知名大学等业界翘楚。集结全球FPGA技术领域精英。