- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
7实验七 基于LP_ROM的流水灯控制器设计与调试
实验七 基于LPM_ROM的LED流水灯设计与调试
一、实验目的
1、掌握QuartusII采用原理图结合VHDL编程方式进行设计的流程。
2、学会调用LPM模块的操作步骤。掌握基于LPM_ROM设计的基本方法。
二、实验原理:
基于LPM_ROM的LED流水灯控制器的顶层原理图文件图 7-1 所示,包含2 个部分:由6位二进制计数器担任的ROM的地址信号发生器和由LPM_ROM模块构成一个存储显示花样数据的ROM。在系统时钟的作用下,地址计数器轮流读出LPM_ROM中的数据,使实验箱上的8个LED根据预先存储在ROM中的数据按各种花样变化。
三、实验步骤
在QuartusII中可以用LPM模块设计ROM、RAM、FIFO、PLL,在本实验中将以ROM为例,介绍LPM功能的使用。
1、建立工程
在F盘建立新的工程
2、分模块设计
1)地址计数器模块(CNT16.VHD)设计:
a) 建立VHDL文件,写入程序。(源程序略)
b) 编译通过之后,将VHDL文档封装生成 CNT16元件(当前VHDL编辑界面下,点击File——Creat/Update——Creat Symbol Files for current File)
2)设计ROM初始化数据文件
在此首先确定图 7-1 中ROM 内的数据文件。QuartusII 能接受的LPM_ROM 中的初始化数据文件的格式有2 种:Memory Initialization File (.mif)格式和Hexadecimal(Intel-Format)File(.hex)格式。实际应用中只要使用其中一种格式文件即可。以下以64点LED花样显示数据为例说明(.mif)文件的建立。
①首先在Quartus II 中选择ROM 数据文件编辑窗,即在File 菜单中选择 New,并在New窗中选择Other files 页,再选择Memory Initialization File 项,单击OK 按钮后产生ROM 数据文件大小选择窗。根据LED流水灯的设计要求,可选ROM 的数据数Number 为64,数据宽Word size 取8 位。
图4-1 mif ROM文件编辑窗 图4-2 ROM大小选择窗口
②单击OK 按钮,将出现如图7-3 所示的mif 数据表格,然后将数据填入此表中,表格中的数据格式可通过鼠标右键点击窗口边缘的地址数据弹出的窗口选择。此表中任一数据(如第四行的0F)对应的地址为左列与顶行数之和(如24+3=27,十六进制为21H,。其中的数据还可以用Excel或者Matlab等工具批量生成,具体方法请自行研究。
③完成后,在File 菜单中单击Save as 按钮,保存此数据文件,在这里不妨取名为 LED.mif。
(.hex)格式文件的建立请参阅教材。
3)LED—ROM宏模块的定制:
新建一个.bdf的文件(File----New---BlockDiagram/SchematicFile)
点击Tools---MegaWizard Plug in Manager,(或者双击原理图纸空白处,出现的对话框中点击MegaWizard Plug in Manage下图所示)选择Create a new custom… 项即开始定制一个新的模块(如果要修改一个已编辑好的LPM 模块,则选择Edit an existing custom… 项)。
创建宏模块
本设计选择ROM:1 PORT ,命名为ledrom;
设定ROM内为64字节的数据,每个字节对应一个16位的输出数据的地址;
勾选’q’ output part,选择地址锁存信号clock.
为ledrom引入初始化数据,指向的数据为前面已建立好的led.mif文件。
完成宏模块ledrom后将其放置到原理图纸中;在我们新建的.btf文件可以看到已经设置完毕的LPM_ROM。大家可以根据MegaWizard Plug-In Manger用类似的方法自行设计RAM、FIFO等其他宏模块。
4) 完成电路原理图连接:
调入宏模块ledrom和CNT16元件后加入输入输出引脚端口,双击端口给其命名:clk ,led[7..0](总线型);完成图7.1所示的顶层电路原理图的连接
3、编译该项目
同实验一
4、进行波形仿真
同实验一
5、管脚分配
同实验三
6、配置FPGA
同实验三
四、实验内容:
在QuartusⅡ上进行编辑、编译、仿真。说明例中各语句的作用,详细描述示例的功能特点,给出其所有信号的时序仿真波形。
完成引脚锁定以及硬件下载测试,在实验系统上硬件验证该实验的功能。目标器件是EP1C3T144C8。
通过修改LED—ROM
文档评论(0)