- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验报告——简易计算器
目录:
一、 实验目的 1
二、 实验任务 1
三、 电路设计及仿真 1
1. 结构设计图示如下: 2
2. 设计描述 2
3. 一位全加器: 2
4. 四位全加器: 2
5. 补码器 3
6. 四位加减器 4
7. 八位全加器 5
8. 乘法器 5
9. 整体电路: 6
四、 实验总结 7
1. 实验收获: 8
2. 实验中出现的问题及解决: 8
实验目的
1. 学习面向可编程器件(FPGA)的简单数字系统的设计流程。
2. 熟练掌握EDA设计软件Quartus II的原理图输入方式和层次化设计模式。
3. 熟悉实验装置——实验箱。
实验任务
1. 设计1位全加器,并将其封装成1位全加器模块,仿真验证运算结果;
2. 设计4位加/减运算器。用封装好的1位全加器模块组成成4位加/减运算器。仿真验证运算结果;
3. 以全加器为基础设计一个4位乘法器并封装成乘法器模块,输出显示乘积和正负数标志。仿真验证运算结果;
4. 使用已生成的器件模块为基础设计一个简易计算器,根据控制端的状态,完成加、减、乘法运算,用十进制显示运算结果;用发光二极管显示负数标志。仿真验证运算结果;即实现如下设计:
电路设计及仿真
结构设计图示如下:
设计描述
利用门电路组合成1位全加器,封装;
调用1位全加器组合4位全加器和4位补码全加器(实现补码和相加),分别封装;
利用门电路实现补码器,封装;(可改进——使用4位全加器实现,见下);
调用4位补码全加器和补码器实现4位加减器;
调用4位全加器实现8位全加器,封装;
调用8位全加器实现乘法器;
译码(二进制码——BCD码);
组合4位加减器和乘法器成简易计算器;
一位全加器:
利用门电路组合而成4位全加器;电路图如下:
将其封装成1位全加器模块。
四位全加器:
利用1位全加器模块搭建4位补码全加器(实现补码后相加),电路如下:
将其封装成4位补码全加器模块。
仿真波形:
补码器
根据真值表可得如下表达式:
;
其中K,CO,S3,S2,S1,S0的含义由四位补码全加器表明;F表示结果的符号;H,R3,R2,R1,R0依次表示运算结果的从高到低位;R3,R2,R1,R0具有高度对称性;
利用门电路组合而成4位补码器,电路图如下:
将其封装成4位补码器模块。
改进说明:
直接根据由得到的符号位,用类似运算前求补码的方式求结果的补码;即令原先A3,A2,A1,A0输入端都等于0,将S3,S2,S1,S0接入原先B3,B2,B1,B0输入端;F(由得到)接入原先K输入端;便可通过4位全加器实现求补码运算。即得到如下电路(求补码时取CO输出端接运算结果的最高位H):
四位加减器
调用4位补码全加器和4位补码器实现4位加减器,电路如下:
八位全加器
用4位全加器实现8位全加器,电路如下:
将其封装成8位全加器模块,供乘法器使用。
乘法器
根据错位相加法原理利用8位全加器模块组合而成乘法器,电路如下:
将其封装成乘法器模块,供简易计算器调用。
仿真波形:
整体电路:
将4位加减器和乘法器组合起来,根据控制端的状态,完成加、减、乘法运算;
将模块电路输出的二进制码转换为BCD码输出;整体电路如下:
功能仿真波形:
时序仿真波形:
实验总结
实验收获:
通过在Quartus II上用门电路搭建和组合原理图并实现封装调用,掌握了层次化的设计模式和由小到大、由简单到复杂的设计流程;
掌握了引脚锁定,功能下载的方法,熟悉了实验装置——实验箱的操作方法,并能通过开关、按键输入,数码管、二极管输出来验证简易计算器的运算结果是否正确。
实验中出现的问题及解决:
首先遇到的问题是封装后调用出错的问题,即在新建的工程文件中新建原理图,调用之前封装的模块,但编译不能通过。但将工程放在同一文件夹下即可避免此问题。出错原因是封装后的模块的原理图不再当前文件夹下。最后采用将封装模块和原理图文件都拷贝到需要此模块的文件夹下,在新建工程时添加.bdf文件即可。
实现4位加减运算器时借鉴组合电路设计实验中2位加减运算器的设计方法。但需要考虑到最后将补码转换为原码的方法。方法a采用门单路实现,较复杂;方法b仿照运算前取补码的方式,将补码相加后的结果和符号类比输入的加数和符号,同时被加数位全部置0,即可实现求补码运算。
由于忽视实验指导中的要求,最后将二进制码转化为BCD码。故开始没有转化,在实验中只能得到10以下的正确结果。最后利用74185及其组合电路将运算器输出的结果转化为BCD码,再接到数码管上,便能得到正确结果。
时序仿真时,由于设置的波形不合理,造成输出波形不断跳变而无法判断输出结果的问题原因是由于传输延时时间和周期同等数量级大小,致使输出尚未稳定时输入即发生变化,故输出不断跳变。最后将周期扩大为传输延迟时
文档评论(0)