- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ModeSim新手入门
1. 新手任务
1.1 任务介绍
用ModelSim的编辑器实现并仿真以下功能(语言为Verilog):
50M时钟下,系统复位sys_rst_l无效后,当计数使能cnt_en为1时,一个8位的计数器开始计数,cnt_data[7:0]为输出的计数;否则若cnt_en为0,计数停止并保持不变。
同时,利用cnt_data的值对FPGA内部的FIFO进行读写操作。当cnt_data[2]为0时,进行一个写FIFO操作,否则,当cnt_data[2]为1时,进行一个读FIFO操作。读潜伏周期为2。
1.2 实现流程
1.2.1 建立工程
打开ModelSim65 SE后,界面如图1.2.1-1所示。
选择File-New-Project,如图1.2.1-2所示。然后弹出Creat Poject对话框,如图1.2.1-3所示。
选择工程路径,本例中为D:\lsp\EDA\model_samples\test,工程名仍为test,点击OK,工程建立完毕,同时,弹出Add Items to the Project对话框,如图1.2.1-4所示。
可以选择创建新的文件或者加入已有的文件。本例中采用创建新的文件。弹出Creat Project File对话框,如图1.2.1-5所示。将语言设为verilog,文件名取为modelsim_study,点击OK,完成整个工程的建立。
这时的主界面上,在Project选项卡中有了刚刚建立的新文件modelsim_study.v文件,如图1.2.1-6所示;在Library选项卡中,有了一个work库,为当前的工作库,如图1.2.1-7所示。
图1.2.1-1
图1.2.1-2
图1.2.1-3
图1.2.1-4
图1.2.1-5
图1.2.1-6
图1.2.1-7
1.2.2 编写并编译程序
在Project选项卡中双击modelsim_study.v文件,会在界面右侧出现文本编辑器,如图1.2.2-1所示。
程序编写完成后,在Project选项卡中右击文件,选择Compile-Compile Selected,如图1.2.2-2所示。编译完成后,Status栏中显示为绿色的“对”号。
图1.2.2-1
图1.2.2-2
1.2.3 建立和编写TestBanch
在文本编辑模式下,选择Source-Show Language Templates,出现几种常用的模板,如图1.2.3-1所示。在language templates一栏中双击Create TestBanch,弹出Create TestBanch Wizard对话框。如图1.2.3-2所示。
在Create TestBanch Wizard对话框中选中Work工作库中的modelsim_study文件,点击Next-,弹出新的对话框如图1.2.3-3所示。
点击Finish后得到一个TestBanch文件。在Project选项卡以及Library的Work工作库中都可以看到一个新的文件modelsim_study_tb.v文件。如图1.2.3-4所示。该模板中提供了对你所写的文件的例化,接下来就是继续完善,也就是写激励的过程了。这里先写个很简单的激励。
写激励首先要定义好时间单位,用`timescale语句。其指令格式为:`timescale time_unit/time_precision,time_unit为时间单位,time_precision为延时的精度。这里均设为1ns。
然后写初始化,使用initial begin end语句。定义开始时各个信号的初始状态。如设置系统复位信号sys_rst_l先有效,50ns后无效,则可写成:sys_rst_l=0;#50 sys_rst_l=1。具体的初始化激励代码如图1.2.3-5所示。
接着,定义时钟信号。如果复位信号也与时钟同步,可以先定义时钟,再初始化复位信号,可以预防竞争冲突。时钟信号的定义如图1.2.3-6,时钟频率为50M。
再接着,编写了一个FIFO的简单模型。可参见附件。特别需要注意的是,ModelSim软件自己生成的TestBanch模型中,例外时的参数传递使用的“#()”形式,这样的形式不能被正确的Load,因此,这一部分需要修改为图1.2.3-7所示。
编译modelsim_study_tb.v,成功后,TestBanch编写完毕,可以进行仿真了。
图1.2.3-1
图1.2.3-2
图1.2.3-3
图1.2.3-4
图1.2.3-5
图1.2.3-6
图1.2.3-7
1.2.4 仿真
选择Simulate-Start Simulate,弹出Start Simulate对话框,如图1.2.4-1所示。在Design一栏中选择Work库下的modelsim_s
您可能关注的文档
最近下载
- AutoFormR6实例讲解-拉伸.ppt
- 食品安全主体责任日管控记录表、周排查记录表、月调度记录表(1).docx VIP
- 金元浦-中国文化概论(第四版)第十三章.ppt VIP
- 二杨梅素基二硒醚在肿瘤方面的药物应用.pdf VIP
- 2025年新能源汽车建设项目可行性研究报告(编制大纲).docx
- 一种固定式高倍数泡沫产生器.pdf VIP
- 初中-历史-人教部编版-第19课法国大革命和拿破仑帝国_2020430155529.ppt VIP
- 【MOOC】《中国马克思主义与当代》(北京科技大学)中国大学MOOC慕课答案.docx VIP
- 1.2互联网应用的基本特征(教学课件)-第1册信息科技同步教学(河北大学版2024新教材).pptx VIP
- 某文旅项目施工合同模板.pdf VIP
文档评论(0)