第一章Modelsim 的编译
ModelsimAltera 编译的方法一般上有两种,但是对于笔者来说,尤其是新手非常建议就是直接从 QuartusII 调用 ModelsimAltera,那么我们省下手动编译,手动添加wave,手动配置仿真时间等这系列的工作(事实上配置是在Quartus II 里完成):
操作的方面如下演示视频:
http://www.swfcabin.com/open/1304672343
就如演示中那样,我们将一切的工作都丢给Quartus II去干了。啊哈!多么逍遥呀~兄弟。在这里,笔者需要提醒提醒几个要点,是仿真用的时间刻度(单位)和时间长度。在演示视频中,时间刻度位1ps反之仿真的时间长度是10us。这只是暂时性而已,实际上要根据仿真的环境重新配置。
笔者先分析一下,在第一个演示视频中,Quartus II是如何帮我们自动编译仿真对象。
一、配置ModelsimAltera 的路径。
二、告诉Quartus II 我们所使用的仿真软件是 ModelsimAltera。
三、告诉Quartus II 我们是使用 Verilog HDL语言,而且时间刻度(单位)为
1ps。
四、添加激励文本和配置编译信息。
五、告诉Quartus II 激励文本的文件名和激励文件中的顶层仿真模块(激励
环境)。
六、配置仿真的时间长度。
七、告诉Quartus II 激励文本的路径。
第二种方法比较麻烦,眼下却受许很多新手的欢迎,人们怎么都这么奇怪?比起简单更喜欢复杂??唉~还是废话少说,直接看演示视频吧:
http://www.swfcabin.com/open/1304672817
看到了吧,第二种的办法是不是比第一种办法些许麻烦?很多东西都要劳烦自己一遍去手动执行。笔者先稍微分析一下,第二演示视频中的经过:
一、建立仿真项目。
二、添加仿真对象(.v文件)和激励文件(.vt文件)。
三、开始仿真(配置时间刻度),演示中时间刻度是ps为单位。
四、添加wave输出。
五、配置最大的仿真时间,演示中是10us。
基本上 ModelsimAltera 的编译就是这么简单而已,如果仿真软件换作是 Modelsim的话,那么就要添加一步“配置仿真库”的动作。这个仿真库是什么?从笔者的角度去理解的话,当每一个仿真对象需要在Modelsim里执行仿真的时候。那么Modelsim是有责任将这些仿真对象编译成“可以仿真的元素”。在第二演示视频中,在添加wave的时候读者是否见到“U1 .... #always ...”之类的关键字?余下的就是仿真元素了。学习过编程的学生都知道,要把C语言生成可执行文件,就得把C语言编译。同样的,要把仿真对象在Modelsim里执行,就得把仿真对象编译成Modelsim可以认识的仿真元素,关于“仿真库”可以看成是编译器的字典吧。
事实上,笔者只是把Modelsim用来观看Verilog HDL的模块的输出波形而已,就这一点笔者根本用不着牛刀去解剖Modelsim,什么是仿真库?什么是仿真元素?这些东西和笔者学习目都有出入,所以笔者就无视了。如果读者们喜欢搞解剖或者分尸的话,笔者很建议你们去试一试(你会死的很好看的(*^__^*) 嘻嘻……)。
在第一种和第二种的编译办法之间比较的话,第一种办法的配置几乎是经过Quartus II来执行,反之第二种办法的配置是在 Modelsim里执行。第一种方法除了更适合新手以外,在创建仿真目录的时候也很方便,因为Quartus II 会自动在项目的目录下创建仿真目录。然而第二种办法需要自己手动建立仿真目录。
至于那个好,那个又不好,这是萝卜青菜的问题 ... 见仁见智吧。笔者是懒人,笔者比较喜欢第一种办法 ... 啊哈哈,见笑了。
这一章就先谈到这里吧 ... 录制演示视频真的很复杂 ,笔者很害羞而且又有爆音症,笔者就不把自己的声音拿出来吓人了(丢人了),所以演示视频都是哑巴的, 大伙莫怪了 ...
用户1609127 2011-5-6 17:54