modelsim使用的一点心得体会.DOC

上传人:bo****9 文档编号:4017858 上传时间:2019-09-11 格式:DOC 页数:8 大小:33KB
下载 相关 举报
modelsim使用的一点心得体会.DOC_第1页
第1页 / 共8页
modelsim使用的一点心得体会.DOC_第2页
第2页 / 共8页
modelsim使用的一点心得体会.DOC_第3页
第3页 / 共8页
modelsim使用的一点心得体会.DOC_第4页
第4页 / 共8页
modelsim使用的一点心得体会.DOC_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、1使用的一点心得、 至今还没有弄明白为什么要用ModelSim, 因为看波形QuartusII 自带的工具就可以了啊.、 我刚刚接触modelsim,我想大多数菜鸟跟我一样,看过如何使用ModelSim的介绍, 说句实话, 那些介绍写的都太过简单,仿佛大家都不屑写上一些比较“弱智 “的步骤, 恰恰就是这些看似累赘的步走,难为我好久.教程上都写道,modelsim的简单使用方法如下:建立库-影射库到物理目录-编译代码-启动仿真.首先建立库就叫我头晕. 库的概念用在这儿实在不合适, 把我吓坏了, 也就没心思看下一步了 .在我看来, 教程应该这么写:建立一个目录modelsimStudy.用任何文本

2、编辑器编辑一个简单的例子程序,比如计数器 counter.vhd.有 clk 、ena 、reset输入, cnt作为输出.打开 Modelsim, 首先 createproject,工程名随意取了 ,比如命名为 test ,目录设在 modelsimStudy下,默认的库work不变( 这样就不用管什么建立库之类的东西了).然后 addexistingfile , 把 counter.vhd加入当前工程.2编译这个文件,通过之后, work下面会出现counter这个实体. 然后选中它, 右键,(左键双击也可 ).有很多窗口(新手就怕这个),一开始只要选择view 下面的objects 和

3、wave 窗口就行了. 旧版的 signal窗口在 6.0的版本改名为Objects(这个我是摸索了好久才发现的,是不是太笨了?).wave窗口刚打开时是空的 ,需要在objects 窗口的. 这时 ,wave上就有 clkenareset 等信号了.我们给clk 来个输入激励,在object窗口中选中clk ,右键选clock ,给它定义个时钟.运行 Run .嘿嘿. 有波形出来了吧.、2 中的例子绝对适合刚刚接触modelsim的新手, 有了这个体会之后,结合书上的教程, 理解库以及modelsim 的各个窗口用途就比较容易了 .然后再尝试结合Quartus使用.、Quartus中,选中m

4、odelsim作为仿真工具之后,在Quartus目录下会生成一个si mulation文件夹, 下面有个modelsim. 完成编译之后,在这个目录下面生成了供mode lsim使用的库和时序文件.如果选中了编译之后自动调用 modelsim,我的做法是用Qua rtus编辑波形文件,然后导出作为激励文件.或者,自行打开modelsim,然后选择改变目录, 把目录指向Quartus生成的 3modelsim目录. 新建工程,把Quartus下 的 vhdl 以及激励文件添加进来,进行仿真.、Modelsim仿真 cyclonePLL 的问题.我也遇到过 ,出现什么 fatalerror .解决

5、方法:应该设为那个 resolution非常不显眼, 认真找,它的默认值是default,改为 ps就行了 .中把不用的管脚设成高阻态:assignment-device-pin选取路径 Project Location作为 Project文件的存储目录; 保留Default Library N ame设置为 work.选取 OK,会看到工作区出现 Project and Library Tab.4. 下一步是添加包含设计单元的文件 ,在工作区的 Project 4page中, 点击鼠标右键,选取Add File to Project.5. 在这次练习中我们加两个文件 ,点击Add File

6、to Project对话框中的 Browse 按钮,打开ModelSim 安装路径中的example 目录,选取counter.v 和 tcounter.v,再选取 Reference from current location,然后点击 OK.在工作区的Project page中,单击右键,选取 Compile All.7. 两个文件编译了,鼠标点击Library Tab栏,将会看到两个编译了的设计单元列了出来.看不到就要把Library的工作域设为 work.8. 最后一不是导入一个设计单元 ,双击Library Tab中的 counter ,将会出现 Sim Tab, 其中显示了coun

7、ter设计单元的结构. 也可以DesignLoad desi gn 来导入设计.到这一步通常就开始运行仿真和分析,以及调试设计,不过这些工作在以后的课程中来完成. 结束仿真选取Design End Simulation,结束 Project选取.第三课新建一个目录,并设置该目录为当前工作目录,通过从该目录调用Mode lSim 或是选取FileChange Directory命令来完成.拷贝 example 目录中 5verilog文件到当前目录下.在你编译verilog文件前,你需要在新目录下生成一个设计库.如果你仅仅熟悉解释性verilog仿真器, 诸如 Cadence Verilog-X

8、L,那么对于你来说这是一个新的方法 .因为 Mod elSim 是一个编译性Verilog仿真器, 对于编译它需要一个目标设计库.如果需要的话, ModelSim 能够编译VHDL 和 Verilog代码到同一个库中.在编译任何HDL代码前,要建立一个设计库来存放编译结果.选取生成一个新的设计库.确定选取Create: a new l ibrary and a logical mapping to it, 在 Library Name域中键入 work,然后选取 OK.这就在当前目录中建立了一个子目录,即你的设计库.ModelSim 在这个目录中保存了名为_info的特殊文件 .下面你将编译V

9、erilog设计.这个设计例子由两个 Verilog 源文件组成,每一个都包含一个唯一的模块.文件 counter.v 包含一个名为 counter 的模块,它执行一个简单的八位加法计数器.另一个文件 tcounter.v 是一个测试台模块 (test_counter), 通常用来校验 c ounter .在仿真下, 你可以看到这两个文件,通过一个被测试台例示了的模块 c ounter 的一个简单的实例 (名为 dut 6的实例), 来层次化的设置了.稍候你将有机会看一下这个代码的结构,现在 ,你需要编译两个文件到 work 设计库.通过选取工具条中的Compile 按钮来编译两个文件.这就打

10、开了Compile HDL Source Files对话框.选取两个文件后,选择Compile, 编译完成后选取Done.选取工具条中的Load Design 按钮开始仿真 .对话框允许你从指定的库中选取一个设计单元仿真.你也可以为仿真选取Simulation Resolution限制, 缺省的库是work, 缺省的是 1ns .选取 test_counter,点击 Load 接受这些设置.通过在主窗口下的vsim 提示符下敲入下述命令来调出Signals 、为了列示顶级 ( top-level )信号, 移动鼠标到 Signals window,选取 V iewListSignals in

11、Region.现在向 Wave window添加信号. 在 Signals window 选取 EditSelect A ll 选择三个信号,拖动三个信号到 Wave window的路径名或是数值窗格的任一个中.条目也能够从一个窗口拷贝到另一个窗口(或者是在 Wave and List windo w内部 ),通过 Edit Copy 和 Edit Paste 菜单命令.也能删除选取的条目Edit Delete .下面打开Source window, 选 取导入设计的时候会在工作去开出一个新的Sim Tab 栏 . 这 个 7Structure Pane展示了设计的层次结构.你可以点即 “+“

12、( expand)或 “ - “( contract) 来观察.点击其中的Function increment可以注意到其他窗口是怎么适当的自动 更新的.明确地说 ,Source window 显示了你在Structure window所选的层次水平的 Verilog代码. 在这种方式下使用Structure Pane类似于解释性Verilo g 的范围命令.现在, 点击 Structure Pane的顶层线,确定test_counter模块显示在 Source window .运行 100ns,缺省设置.设 置 Run Length 为 500ns, 然 后 Run .在仿真运行了600ns

13、, 在工作取底部状态栏可以看到这些信息.上个命令使仿真器前进了500ns,也可以设置仿真器推进的时间际仿真器向 前推进了选取主窗口Run All .选取 Break 中断运行.看 Source window ,察看中断执行的语句.调试仿真在 List window选取/test_counter/count.从 List window菜单条中选取 Prop Signal Props.Modify Signal Properties (list)对话框打开了 .为信号 counter选取十进制(在Radix ), 相应的 List 8window的输出也发生改变,成为十进制数,而不是缺省的二进制了

14、.我们选取工作区Structure Pane中的 dut:counter,然后在中的 30 行(这里包含一个到Verilog功能增量的调用)设置断点.选取 Restart按钮,重载设计组件和重置仿真时间为零.确认 Restart对话框中所有条目被选中,然后点击 Restart.例子中的 Verilog 代码中 19 行有一个stop 语句, 如果不Restart 的话, 将会停在这一句上.选 取 Run -All(主窗口),恢复执行仿真.中断后看Source window .正常的,当中断到达后你对一个或多个信号的值感兴趣,你有几个选项可以检测这些值.你能看显示在Signals window中的值; 可以在Source wind ow中 ,在变量上点右键;或者使用examine 命令.命令的结果是,值会输出在主窗口.执行单步跳使命令Step,遍历 Verilog源函数 .结束仿真的命令为:quit -force.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 公文范文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。