.tcl文件_简约而不简单的DO文件Modelsim的TCL应用

DO文件是什么?

b38b4bf26d4eeeb628b5fc259418a1fc.png

DO文件是一次执行多条命令的脚本。这个脚本可以就像带有相关参数的一系列ModelSim的命令,或者是带有变量和执行条件等等的Tcl命令程序。可在GUI或者系统命令提示符中执行DO文件。

首先了解一下Modelsim仿真!

第一步

创建一个工程和工程库

第二步

加载设计文件(功能模块和Tb模块)

第三步

编译源文件

第四步

运行仿真,并查看结果

do文件的作用就是把上述的步骤①---④用tcl脚本语言来编写出来,让Modelsim来运行该do文件宏命令,并自动执行仿真的步骤。这种好处也许在小设计中没怎么表现,但是如果在一个大的工程中,常常需要对一个设计单元进行反复的调试和仿真,但是仿真时的设置是不变的,这时如果使用了do文件,把仿真中使用到的命令都保存下来了,就可以节省大量的人力,提高了工作效率。

Modelsim中常用的Tcl命令

b38b4bf26d4eeeb628b5fc259418a1fc.png e8abd6863a13bfdcd08e7d4eafdd8549.png

 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文件如何编写呢?

b38b4bf26d4eeeb628b5fc259418a1fc.png

do文件就是Modelsim中Tcl命令的整合!

具体操作如下:

d81ffbaf41b91ec1a1b56d7fcbfe9221.png

do文件编写完成!下一步:

在Modelsim中,将工作目录切换到功能模块所在目录下,然后在Modelsim的File窗口中的Change Directory选项中切换工作目录。

调用do文件

在Modelsim的Transcript窗口中的命令行输入:do test.do命令即可。

Modelsim中的do文件编写小技巧!

我们先了解Transcript窗口的作用和用处?

cb4665761ff8ca82b71cf7c522d88141.png

Transcript窗口记录着我们在Modelsim中使用的每个操作步骤,同时在代码运行的时候的Error和Warning也是通过该窗口显示给使用者,以及Transcript窗口的命令行控制。

技巧1

既然我们的每个操作命令都能在Transcript窗口显示出来,也就是说在我们遇到不会的Tcl命令时,可以通过Modelsim界面上通过鼠标操作一遍,查看该操作是的Tcl命令,再编写进我们的do文件中就可以在调用do文件时实现我们想要的操作。

技巧2

1371957f62ac775dc708fe54321e3449.png

当我们没了仿真波形更容易分析,将波形设置为不同的颜色或者不同进制等,此时我们可以在Wave窗口的左上角“Save Format”保存为do文件(或者Ctrl + S)。

fab4a2488f121a1a65df1383eb4c9891.png 23277b559f235f314cd14fd3ca1b7a79.png

打开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、需注明单位+研究方向

4b24987c168460e6500252c9a5a0a18e.png

FPGA技术联盟

业界最专业的FPGA以及数字设计公众号,为该领域最大的技术交流和信息分享平台。微信群包括有众多FPGA相关公司研发总监和FPGA领域专家。覆盖有中国航天、中航工业、中电集团、中船重工、华为、中兴以及国内外知名大学等业界翘楚。集结全球FPGA技术领域精英。

e949e244a4432d87cdd924d1b751d2a4.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值