- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验一原理图输入方式设计数字逻辑电路要点
实验一 原理图输入方式设计数字逻辑电路
一、实验目的:
了解基本组合逻辑电路的原理及利用 Quartus II 软件进行设计的一般方法。
熟悉 Quartus II 原理图输入法的设计流程,掌握编辑、编译和仿真的方法。
掌握原理图的层次化设计方法。
了解 Quartus II 软件的编程下载及引脚锁定的方法。
了解 Quartus II宏功能模块的使用方法。
二、实验的硬件要求:
EDA/SOPC实验箱。
计算机。
三、实验原理
见附件《Quartus设计的一般步骤》、《元件例化和调用的操作步骤》、《QuartusII基于宏功能模块的设计》
四、实验内容:
用原理图方式设计1位二进制半加器半加器。
新建一个工程“HalfAdder”,选择芯片“Cyclone III EP3C16Q240C8”,建立原理图如图1-1,保存为“HalfAdder.BDF”。
图1-1 半加器电路图
编译工程。
建立波形文件,对半加器电路分别进行时序仿真和功能仿真,其波形如下:
图1-2半加器时序仿真波形,注意观察输出延时,以及毛刺的产生原因
图1-3半加器功能仿真波形
原理图层次化设计。
新建一工程,取名“FullAdder”;将上面设计的半加器“HalfAdder.BDF”复制到当前工程目录,并生成“符号元件”HalfAdder.BSF。
建立一个原理图文件,取名“FullAdder.BDF”,利用“符号元件”HalfAdder.BSF及其它元件设计全加器电路如下图:
图1-4 全加器电路图
用功能仿真测试全加器的逻辑功能。
图1-5 全加器功能仿真波形
图1-6是输入输出信号与FPGA连接示意图,图中用到了“拨档开关”作为输入,“LED显示模块”显示输出值。表1-1是本实验连接的FPGA管脚编号。
图1-6 输入输出信号与FPGA管脚连接示意图
表1-1 全加器用到的实验箱资源与FPGA管脚编号
信号名称 实验箱I/O资源 FPGA I/O名称 功能说明 A K1 Pin_78 全加器输入1 B K2 Pin_82 全加器输入2 Ci K3 Pin_81 来自低位的进位输入 S D1_2 Pin_218 和 Co D1_1 Pin_219 进位输出
按表1-1绑定管脚,用开关K1、K2、K3输入A、B、Ci,用2个LED显示S和Co。将sof文件下载到FPGA中进行测试。
QuartusII宏功能模块实现ROM存储器模块。
建一个原理图文件。
②使用“MegaWizard Plug-In Manager”向导,按图1-7的步骤定制一个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依次递增)即可。实验中要求初始化数据为学号开始连续递增的32个数字(如学号为15,则内存数据为15~44)
图1-7 使用“MegaWizard Plug-In Manager”定制ROM
④生成图1-8所示的ROM模块添加管脚,编译并仿真测试。
图1-8 测试ROM模块
用ROM作为流水灯数据输入,并测试
用16个LED灯可以显示出各种奇妙的显示效果,实际上是在每个时钟节拍输出16位的数据显示在LED上。需要显示的数据预先写好存储在ROM中,设置ROM中的数据就可以显示任意的图案。
按图1-7设计一个ROM存储器和一个计数器。ROM存储器位宽:16bit,容量:256个字,用LED.MIF作为初始化文件。计数器(counter)也可以用宏功能模块(在“Arithmetic”中的“LPM_COUNTER”),采用 “q”为8位输出的默认设置,即可得到一个0~255的加法计数器。计数器输出作为ROM地址输入,这样可以按时钟节拍依次输出0~255各个地址的数据。
将图1-9的原理图作为顶层文件编译,按照表1-2绑定管脚,重新编译后下载到实验箱。时钟频率使用10HZ,输出端连接16个LED灯。
图1-9 ROM作为流水灯的输入测试电路
表1-2 流水灯用到的实验箱资源与FPGA管脚编号
信号名称 实验箱I/O资源 FPGA I/O名称 功能说明 Clock CLOCK
(时钟源模块1-48MHz) Pin_33 时钟输入(设置为10Hz) q[15] D1_1 Pin_219 16位
文档评论(0)