寄存器组的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三寄存器组的设计与实现
一、实验目的
1. 学习掌握Quartus II 的图形编辑、编译、仿真的设计流程;
2. 学习74670三态输出寄存器堆的使用;
3. 理解寄存器组的工作原理和过程,设计出4个16位寄存器组并对设计的正确性进行验证
二、实验任务及要求
1. 设计出功能完善的寄存器组,并对设计的正确性进行验证。具体要求如下:
(1) 用图形方式设计出寄存器组的电路原理图。
(2) 测试波形要用时序仿真实现,先将不同的数据连续写入4个寄存器后,再分别读出。
(3) 将设计文件封装成器件符号。
(4) 数据的宽度最好为16位。
三、实验装置
安装有Quartus II软件的PC机1台
四、设计思想
运用具有三态功能的芯片74670进行设计,74670为4*4(4个4位寄存器)的寄存器堆,使用四片74670并联,同时对4 片74670 芯片进行读写操作控制,从而实现4个16位数据的存储与输出。
五、逻辑电路图
74670芯片图:三态输出的4*4寄存器堆
六、实验结果:
见原理图,波形图以及元件封装图。
1.原理图分析:见设计思想
2.波形图分析:
当RE为1,WE不为1时,实现输入功能,WB,WA控制数据输入到哪个寄存器组当RE为1,WE为1时,出现高阻状态,此时既不输入也不输出
当WE为1,RE不为1时,实现输出功能,RB,RA控制哪个寄存器组的数据输出
3.封装元件的功能说明:
d[15..0]16位输入数据
q[15..0]16位输出数据
gwn:写入数据使能控制端,低有效
wa,wb:选择控制端,四种组合控制16位数输入到相应四种寄存器组
grn:读出数据使能控制端,低有效
ra,rb:选择控制端,四种组合控制从四种寄存器组读出相应16位数
七、实验小结:
1.遇到的问题及解决方法:
a.当Grid Time未进行设置时,输出的结果显示为全是Z,将时间改成100ns即可。
b.当读入操作数时,让WE是能控制端一直处于0状态,结果却不能正确显示。忽视了此实验为时序仿真,因而将WE改成1状态并且在WB、WA分别为00、01、10、11组合期间往下拉一小段设置为0,从而实现输入及显示正确的结果。
2.实验收获:
通过第一次计原实验(寄存器组的设计),我们更加熟悉了QuartusII软件的使用,尤其是对于其中的图形编辑、编译、仿真功能的实现。同时,也让我们有了一些利用已知元件设计出具有特定功能的新器件的意识,让我们有一种探求新事物的新鲜感。
同学之间的合作与交流在实验中体现得淋漓尽致,讨论交流让我们对问题有更深的认识,相互促进,相互学习,不知不觉中每个人的能力都能有所提高。
3.建议:
我认为实验对于学生能力的提高能起到很大的帮助,可以多开展实验来加强学生处理问题、解决问题的能力。