欢迎来到天天文库
浏览记录
ID:5379420
大小:1.30 MB
页数:8页
时间:2017-12-08
《modelsim仿真必会教程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Modelsim功能仿真新手教程Bywangjun850725@163.com操作系统:win7软件版本:modelsim6.5se本文只针对初学者,让他们少走点弯路,modelsim软件本身感觉还是比较难以使用的。本人才疏学浅,但有颗助人的心。大神请跳过,不要鄙视我。如有错误,请不吝指点。QQ群:41143927建立工程省略N字,这没有什么好说的。几乎所有的软件都是以工程为基础的。添加设计文件因为我已经编辑好了文件,所以直接添加已经存在的。没有人会用modelsim自带的编辑器来写程序(要是没有选择,我宁愿用记事本,如果你用了,我佩服你)。编译文件没有什么好说的,添加进去的文件全部编译就好了
2、。如果你看编译后的文件后面还有一个问号,你不爽,鼠标右键更新下就好了开始仿真Modelsimse版本是可以手动描绘激励波形的,但这种方法太笨,太烦,修改起来很不方便,所以直接放弃。Simulate里有个startsimulate,点开这里有几点要说明下1.要点开work库,找到你testbench对应的那个模块2.Resolution选不选关系不大,如果你设计文件指定了仿真时间的话3.Optimization,要把这个勾去掉,不然会优化掉很多信号,这里也坑了我很久。功能仿真只要这么多,如果做后仿,library里要添加已经编译好的器件库,SDF里要添加.vo,.sdo文件观察波形添加信号到波形
3、窗口的方法有很多,刚学手动添加,后来肯定是要在脚本里指定的,下面会有首先要把设计中的信号添加到wave窗口里。鼠标左键按住不放,将对应的模块拖到wave窗口里,这是最简单的办法。如果设计的模块多了,每个模块的信号不能很好的被区分,就可以在每个模块的中间插入一个Divider,信号旁边右键就可以看到,最好给起个名字如果你的模块层次非常的多,信号的路径名字就会占据本来就不大的屏幕时很不爽的。菜单Wave‐>Wavepreference‐>Displaysignalpath里面改成1就可以了运行仿真在Transcript窗口里输入Run1ms搞定,波形神马的就出现了。你要做的工作就是看波形是否是
4、你想要的。可以使用想要的快捷键来查看波形。f,全屏显示波形;c,以波形图上的黄线为轴放大波形等,具体请baidu。自动化仿真一个简单的分频器要你仿真10次,每次都重复上面这些步骤,你也会受不了的,更何况稍微大一点的设计。你需要新建一个文本文档,modelsim的默认后缀名是.do。但随便什么后缀名都是可以的。因为种种其他原因,我把后缀名改成了.tcl。一个简单完整的脚本如下第1行:当你在仿真的时候,可以直接退出去,然后再次开始仿真第3行:加载你的设计文件,并指定最小时间为ns第5行:为每个模块都增加一个分隔符,看起来舒服点,上面的图有提到过第6.7.8:testbench里的信号……第1
5、4行:指定信号的显示方式是无符号数第15行:再指定信号显示的颜色第16行:再指定信号显示的别名,主要用于参数化状态机的时候用第18行:运行仿真的时间,最大单位是ms,但最大时间不太清楚设计代码我为什么不直接贴代码,而是要上图呢?如果你是初学者,抄一遍代码是必要的;如果你不是,这代码对你也没有意义。Testbench先上图,然后再说其他的。第1行:指定仿真的时间精度第2行:这样主要是为了在功能仿真时稍微带点延迟,方便观察,有点后仿真的影子第4行:格式就是那么写的,我不知道为什么第5.6.7行:你设计文件里的input端口在testbench里要声明为reg;你设计文件里的output端口在tes
6、tbench里要定义为wire第9‐13行:对testbench里reg的初始化时必不可少的第15行:生成时钟,必不可少第17行:传递给设计文件的一个参数第19‐29行:产生复位信号的一个小任务。写成任务时为了方便的在以后的设计中使用第31‐40行:对设计文件的例化Testbench的语法还是有必要学一学的,特别是那些不可综合的语句。不然设计写好了,如何写testbench会让你头疼的。$random,$readmem还是比较常用的多看看别人写的testbench,自然就会看到一些技巧其他乱糟糟的代码是我绝对不能接受的,对齐是最基本的要求不要去怀疑modelsim,出现了意想不到的情况
7、首先就要想到是自己的问题。当然工具也会有错,但一般人也发现不了(包括你)复位,不论在testbench和设计文件里都非常重要。最关键的是没有初始化modelsim是不工作的。红线,蓝线就是你看到的。红线:为初始化的信号,例如reg;蓝线:为初始化的信号,例如wire;还有很少见的白色虚线:modelsim模仿外部上拉的情况当你不知道一个modelsim操作的命令是什么时,注意看你操作时tran
此文档下载收益归作者所有