Modelsim建立工程及仿真小细节
前几天在做串口转axi主机的模块,我用Modelsim做仿真,在这里我给大家分享一下Modelsim仿真的流程以及一些小细节。
在这里我用串口发送接收程序作为例子。
首先打开Modelsim,建立工程
然后给工程命名,这里我用串口发送接收,所以名字用uart_top_tb(写少了tb,问题不大。命名不能有中文),然后选择工程存放路径。
接着软件弹出个窗口,叫你添加文件,因为我的.v文件已经写好,所以直接添加。选择完后,点击OK。
接着就要对选择的文件进行编译。
如果你没有错的话,transcript窗口应该会出现这些信息。如果有其他的警告或者报错,一定要看一下,因为很多时候就是不看导致仿真出错。
到这里工程已经编译完成了,就可以来进行仿真了。
点击开始仿真,软件会叫你选择要跑哪个文件,这个时候我们就要选择要仿真的顶层文件,-----------注意:是tb文件,不是模块的顶层。
这里我选择uart_tx_rx_tb,这个tb文件里面包含了uart_rx和uart_tx两个模块,所以不用选其他的,直接点这个就好了。
然后软件就自己跑啦,稍等片刻。
在sim窗口对要查看仿真波形的模块,右键add wave或者选中某个模块或者信号,直接Ctrl+W,添加波形(个人比较喜欢这种操作,帅气)。
这里有个小坑,当添加的模块中,想要的波形居然没有看到怎么办?别慌,先选中要添加波形的模块,然后点击下面的Object,在那里也可以将波形添加,同样也是Ctrl+W。
添加完波形后,还需要restart一下,在run all。
然后就可以得到波形图了。但是这密密麻麻的波形,让人看了就头皮发麻,怎么办呢?
别急。
把想看的信号弄成其他颜色的是不是好看的多了。操作很简单。
通过这种操作,可以更方便的看出哪个地方有错。
当然啦,Modelsim还有其他很强大的地方。在.v文件,鼠标点击你想要的信号,Ctrl+W,就可以将信号添加到Wave窗口。
先点击某一个信号(不要时钟或者复位等输入的信号哈),然后点击图中这个图标,就会出现哪些信号和这个信号是相关的(这个功能太赞了!!)另外几个按钮小伙伴们可以自己去尝试一下,都挺不错的。
另外,对添加的信号快速分组,先Ctrl+A,在Ctrl+G,就可以完成分组了,简单粗暴。
使用命令行对transcript窗口执行命令的,我这个还不太会,等我学会了可以分享给大家,有会的小伙伴可以评论一下,教一下我。