- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
常用模块电路设计
实验三 常用模块电路的设计
一、实验目的:
掌握QuartusII宏功能模块的设计方法。
掌握VHDL设计ROM和RAM的方法。
掌握三态总线的设计与使用方法。
掌握4×4键盘扫描模块设计方法。
掌握PS2接口电路设计方法。
了解640×480VGA显示控制电路的原理和设计方法。
二、实验的硬件要求:
EDA/SOPC实验箱。
计算机。
三、实验原理
1、QuartusII宏功能模块应用
Altera提供多种方法来获取Altera Megafunction Partners Program(AMPP?)和
MegaCore?宏功能模块,这些函数经严格的测试和优化,可以在Altera特定器件结构中发挥出最佳性能。可以使用这些知识产权的参数化模块减少设计和测试的时间。MegaCore和AMPP宏功能模块包括应用于通信、数字信号处理(DSP)、PCI和其它总线界面,以及存储器控制器中的宏功能模块。
Altera提供的宏功能模块与LPM函数有:
①算术组件: 包括累加器、加法器、乘法器和LPM算术函数;
②门电路: 包括多路复用器和LPM门函数。
③I/O组件: 包括时钟数据恢复(CDR)、锁相环(PLL)、双数据速率(DDR)、千兆位
收发器块(GXB)、LVDS接收器和发送器、PLL重新配置和远程更新宏功能模块。
④存储器编译器:包括FIFO Partitioner、RAM和ROM宏功能模块。
⑤存储组件: 包括存储器、移位寄存器宏模块和 LPM 存储器函数。
宏功能模块应用可以通过元件库中的“Megafunctions/LPM”或“MegaWizard Plug-In Manager”进行参数化设置并使用。其操作方法请参考“QuartusII基于宏功能模块的设计”。
2、ROM和RAM存储器设计
用FPGA实现ROM和RAM存储器可以用逻辑单元,也可以用内含的EAB/ESB,一般用VHDL直接构造存储器时用的是逻辑单元,对于内含EAB/ESB的FPGA芯片,使用“MegaWizard Plug-In Manager”定制存储器,可选择使用EAB/ESB,这样可以节约大量的逻辑单元。
一般较大规模的ROM和RAM使用“MegaWizard Plug-In Manager” 定制,而较小规模,且有特殊特性要求时用VHDL直接构造。
3、
四、实验内容:
1、QuartusII宏功能模块实现ROM存储器模块
①新建一个原理图文件。
②使用“MegaWizard Plug-In Manager”向导,按图3.1的步骤定制一个32×8bit的ROM模块。
③建立内存初始化文件
QuartusII 能接受的LPM_ROM 中的初始化数据文件的格式有2 种:Memory Initialization File (.mif)格式和Hexadecimal(Intel-Format)File(.hex)格式。内存初始化文件可以手工编写,也可以用其它软件生成。本例数据量较小,可以在QuartusII中直接file→new→……Memory File→Memory Initialization File,然后填写每个存储单元的数据(如:0~31依次递增)即可。
图3.1使用“MegaWizard Plug-In Manager”定制ROM
④生成图3.2所示的ROM模块添加管脚,编译并仿真测试。
图3.2 测试ROM模块
2、QuartusII宏功能模块实现RAM存储器模块
RAM与ROM定制方法相似,按图3.3定制一个 32×8bit一端口RAM,该RAM读写共用一个地址总线,“wren”为写入信号,高电平有效。除了一端口RAM,还有二端口、三端口RAM,也可以采用读写地址总线分开的形式。还有一种形式,读写数据采用同一条总线,应使用三态总线,且读写控制必须分开进行。
图3.3 32×8bit一端口RAM
图3.4为仿真波形,注意观察哪些地址位写入了什么数据?
图3.4 一端口RAM仿真波形
3、用VHDL设计ROM和RAM
用VHDL可以非常灵活地设计各种特性的存储器。图3.5和图3.6分别是实现ROM和RAM的VHDL代码。
图3.5 一端口ROM存储器VHDL代码
图3.5的ROM存储器采用组合逻辑电路方式设计,从下面的功能仿真波形可以看到,输出“d”与地址“adr”同步变化。请改用时序逻辑电路方式实现,该怎么描述?输出“d”与地址“adr”的时序关系是怎样的?
图3.6的RAM读写数据采用一条总线“d”,“d”应使用“inout”类型端口,注意代码中是如何描述三态总线的?(要点:没有数据输出的时候(只有wr=0并且cs=1时才输出数据),“d”应设置为高阻态,即释放总线,允许总线输入数据。)
图3.6
文档评论(0)