原创 第一章Modelsim 的编译

2011-5-6 17:47 3651 15 16 分类: FPGA/CPLD

第一章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 会自动在项目的目录下创建仿真目录。然而第二种办法需要自己手动建立仿真目录。

至于那个好,那个又不好,这是萝卜青菜的问题 ... 见仁见智吧。笔者是懒人,笔者比较喜欢第一种办法 ... 啊哈哈,见笑了。


这一章就先谈到这里吧 ... 录制演示视频真的很复杂 ,笔者很害羞而且又有爆音症,笔者就不把自己的声音拿出来吓人了(丢人了),所以演示视频都是哑巴的, 大伙莫怪了 ... 


PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户1609127 2011-5-6 17:54

该死的,录制视频消耗太多时间了
相关推荐阅读
用户1609127 2011-10-22 18:26
Verilog的私私细语 - 时钟化和信号的长度
目录 第2章 时钟化和信号的长度 2.01 一个时钟一块数据的概念 2.02 信号时钟化 2.03 深入了解模块的沟通 2.04 电平检测模块的整合(即时事件在时序上的不和谐)      实验八:电...
用户1609127 2011-09-08 12:47
瞎搞Time Quest 和无责任的笔记 第二章
最近整合篇的第二章的构思和灵感都累积不少了,应该是时候开工了。恰好手头上还有一本笔记还没有写完,就是这本瞎搞TimeQuest的第二章。目录笔者也懒得贴了,看过第一章的同学多少也会猜到第二章的内容是什...
用户1609127 2011-08-29 18:21
瞎搞Time Quest 和无责任的笔记 第一章
哎呀 ... 潜水了都有一段时间了,这是最近研究的成果和目标。 话说TimeQuest这个东西真的很搞怪呀,做得笔者不得不从其他的方向去研究它。 好了还是切入正题,TimeQuest用作静态时序的工具...
用户1609127 2011-07-06 17:43
Verilog的私私细语 - 整合的概念
目录         02  第1章  整合的概念          1.01  源码上的整合                   实验一:字面上的整合          1.02  时钟和步骤的定...
用户1609127 2011-06-22 10:18
VerilogHDL那些事儿 - 建模篇v4 + 时序篇v1
VerilogHDL那些事儿 - 建模篇v4 ====== v4 ====== 主要是修改了大量用法上的BUG和极限的精简内容 https://docs.google.com/leaf?id=0B...
用户1609127 2011-06-10 13:19
Verilog HDL的礼物 - Verilog HDL扫盲文
目录 02第0章 Verilog HDL语言扫盲文 030.01 各种的HDL语言 030.02 HDL语言的层次 03 0.03 RTL级和组合逻辑级 040.04 Verilog HDL语言真的那...
EE直播间
更多
我要评论
1
15
关闭 站长推荐上一条 /3 下一条