昨天停了一天电,没来得及搞仿真,今天又在忙答辩的事情,现在才来得及整理,还不晚,哈哈哈哈哈哈哈哈
~
有不足之处,请指出。
Show Time
打开的modelsim界面长这样
现在开始对上次的加法器进行仿真验证,而进行验证需要一个激励文件,也就是testbench,相当于你开车需要点火才能启动一个道理,而testbench的编写也是学习FPGA不可缺少的一部分,我当初学的时候,因为觉得这个太麻烦了,而教程又少,就没学,后来吃了很多亏才下定决心找资料学,现在也勉勉强强吧~
这次需要的testbench代码内容如下,下次再对代码的含义进行分析:
根据上次编写的adder模块的功能,具体可以看上次的文章:
主要功能如下所示:
可以预想到,结果会有三个,分别是0+0+5=5,3+3+5=11,3+5+5=13;接下来开始对这个预想进行验证;
首先使用modelsim进行仿真需要创立一个工程(project)
然后主要就是对这个工程进行命名,并设置需要存放的位置
图中的1代表工程名字,2就是你要存放的位置,3是一个工作库的名字,一般我都是默认work,如果需要使用到的库有点多,可以加个work1,work2之类的,方便与其他的库进行区分;
点完OK后出现添加项目进工程中:
依次是创建新文件,添加新文件,创建新仿真,创建新文件夹,因为我已经提前在编辑器中编辑好了testbench,所以就直接用Add Existing File就行了,点了会出现这样的界面:
按Browse找到你要仿真的文件和激励文件,可以依此添加,也可以两个文件放在一个目录同时选择进行添加
点击OK添加完成后,注意看左上角的窗口是否多出了你需要的文件:
如果文件没添加完就继续上面那个添加文件的步骤,直到你文件添加完成,就可以点击Close,开始接下来的操作;
将文件选中后,右键找到Compile的选项,然后右边可以选择第一个也可以选择ALL这个进行编译;
编译完之后的Status会变成一个勾勾,如果不是请检查代码错误:
这步弄完后,点击屏幕中间的那个Libary,并找到刚刚创建work:
将work左边的+点击一下,就会找到你需要仿真的文件,并使用激励文件进行仿真:
选中tb开头的这个文件,右键选择仿真,点Simulate就行;
点完后,出现这样的界面:
现在就相当于已经仿真通过了,接下来就是将需要观察的信号弄到wave窗口就行观察,看是否满足设计功能,一样选中要观察的模块,然后Add就行,我这只演示tsetbench的信号,如果想观察加法器那个模块的信号,就再次选择那个模块进行添加就行:
出来个Wave的窗口:
先对波形的格式进行设置,然后再去跑,可以观察到想要的数据变化:
然后这就是一个无符号的十进制数,其他的类型自行使用观察结果,剩下的几个信号一样如此设置,弄好后开始运行run:
得到的数据波形如下:
可以看出结果与预想的一致,仿真结束。
通过今天的仿真实践,对Modelsim的基本使用有了一个了解,对于其他的功能可以多尝试,对之后的仿真有一定的帮助,虽然我懂得的也并不是很多,但是尽量把我知道的进行表述出来并进行精简化,如果有不解之处,可以多多上网了解,网络很强大的~