我们之前在文章中[原创]手把手教你用Tcl脚本进行Modelsim仿真提到过如何利用Tcl脚本在Modelsim中进行功能仿真,也就是前仿真。
这篇文章我们来讲讲如何利用Tcl脚本,在Modelsim中快速进行时序仿真。
01
我们首先谈谈功能仿真与时序仿真的区别。
功能仿真是对代码中的逻辑功能进行仿真,不涉及到布局布线中的延时信息。
在同步电路中,各个寄存器的跳变沿一定都是严格对齐的。
我们在前期进行逻辑代码开发的时候,这样的仿真结果已经足够用,不必进行时间漫长的综合与布局布线。
但是大家知道实际上,FPGA中的各条走线都有是有延时信息的,考虑这些延时信息的仿真就叫做时序仿真。
所以在这里大家应该可以明白了,时序仿真是要在FPGA进行布局布线之后才能进行的。
时序仿真和功能仿真还有一个比较显著的区别。
功能仿真中我们的仿真对象是各个.v文件(大家可以回顾一下之前的文章)。
而时序仿真是针对布局布线之后形成的一个网表,就是说即使工程中有多个源文件,但是时序分析仅仅针对的是布局布线后产生的一个网表。
下面我们来看看怎么产生这个网表。
02
首先建立Quartus工程,完成代码编写。
本例中,代码是