EDA计算器设计大作业.pdf

上传人:修**** 文档编号:75974616 上传时间:2023-03-06 格式:PDF 页数:26 大小:2.09MB
返回 下载 相关 举报
EDA计算器设计大作业.pdf_第1页
第1页 / 共26页
EDA计算器设计大作业.pdf_第2页
第2页 / 共26页
点击查看更多>>
资源描述

《EDA计算器设计大作业.pdf》由会员分享,可在线阅读,更多相关《EDA计算器设计大作业.pdf(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、EDAEDA 大作业大作业计算器设计计算器设计专业:专业:电子信息工程设计者:设计者:简单计算器简单计算器1EDAEDA 大作业大作业摘要摘要本文介绍了一个简单的计算器的设计,该设计采用了现场可编程逻辑器件FPGA 设计,并基于 VHDL 语言实现加减乘除功能,并用十进制显示在数码管上。系统由计算部分、输入部分、选择部分、输出部分组成,计算部分为加法器、减法器、乘法器和除法器组成。使用Altera 公司的 QuartusII 开发软件进行功能仿真并给出仿真波形,并下载到试验箱,用实验箱上的按键开关模拟输入,用数码管显示十进制计算结果。通过外部按键可以完成四位二进制数的加、减、乘、除四种运算功能

2、,其结果简单,易于实现。关键字:VHDL,计算器,QuartusII简单计算器简单计算器2EDAEDA 大作业大作业目录目录一实验目的.4二、流程图.4三顶层原理图.5四、各个模块.6(1)加法器模块.61、封装元件.62、加法器程序.73、仿真结果.7(2)减法器模块.81、封装元件.82、减法器程序.93、仿真结果.104、硬件运行结果.11(3)乘法器模块.121、封装元件.122、乘法器的设计思想.123、乘法器程序.134、仿真结果.145、硬件运行结果.14(4)除法器模块.151、封装元件.152、除法器设计思想.153、除法器程序.164、仿真结果.165、硬件运行结果.17(

3、5)8 位除法器.181、封装元件.182、8 位除法器设计思想.183、8 位除法器程序.194、仿真结果.21(6)数码管七段译码电路.221、封装元件.222、共阴极七段显示码十六进制转换表.223、七段译码器程序.234、仿真结果.23(7)选择模块.241、封装元件.242、程序.25五、管脚锁定.25六、小结与收获.26简单计算器简单计算器3EDAEDA 大作业大作业一实验目的一实验目的1、熟悉QuartusII 软件的相关操作,掌握数字电路设计的基本流程。2、介绍QuartusII 的软件,掌握基本的设计思路,软件环境参数配置,仿真,管脚分配,下载等基本操作。3、了解 VHDL

4、或原理图设计方法与定制 IP 模块的思想。4、掌握并行加法器,减法器乘法器以及除法器的设计思路及工作原理。5、设计一个能完成加减乘除功能并以十进制显示结果的简单计算器。二、流程图二、流程图加法模块减法模块输入控制功能的数选择模块乘法模块十六进制转换成十进制显示结果除法模块 当输入为 00 时输出加法结果 当输入为 01 时输出减法结果 当输入为 10 时输出乘法结果 当输入为 11 时输出除法结果简单计算器简单计算器4EDAEDA 大作业大作业三顶层原理图三顶层原理图控制模块七段数码管显示除法余数输出个位加法模块减法模块输出十位乘法模块三个八位除法器,把十六进制数转换为十进制输出百位除法模块创

5、新:四个模块输出均为十六进制数,为了输出方便观察,设计了创新:四个模块输出均为十六进制数,为了输出方便观察,设计了8 8位除法器,将输出变为十进制数显示在数码管上。位除法器,将输出变为十进制数显示在数码管上。DATAIN1.0DATAIN1.0为输入控制端,通过试验箱上两个拨码开关控制输入。为输入控制端,通过试验箱上两个拨码开关控制输入。A3.0A3.0和和 B3.0B3.0是两个四位二进制输入数,是两个四位二进制输入数,当当 DATAINDATAIN为为 0000 时进行时进行加法运算,当加法运算,当 DATAINDATAIN为为 0101 时进行减法运算,当时进行减法运算,当 DATADA

6、TA为为 1010 时进时进行乘法运算,当行乘法运算,当 DATADATA为为 1111是进行除法运算。结果用十进制显示三是进行除法运算。结果用十进制显示三个共阳静态个共阳静态 LEDLED 数码管上,除法的余数单独显示在右下角的七段驱数码管上,除法的余数单独显示在右下角的七段驱动共阳数码管中的一个上。动共阳数码管中的一个上。简单计算器简单计算器5EDAEDA 大作业大作业四、各个模块四、各个模块(1)(1)加法器模块加法器模块1 1、封装元件、封装元件ADDER4BCLRA3.0B3.0S7.0inst6当 CLR 为1时清零,输出为零当 CLR 为0时,输入两个四位二进制数,输出两个数之和

7、,S3.0为和,S4为进位。简单计算器简单计算器6EDAEDA 大作业大作业2 2、加法器程序、加法器程序3 3、仿真结果、仿真结果当 CLR 为 1 时,输出为 0;当 CLR 为 0 时,进行加法运算。S3.0为相加后得到的和,S7.4为相加后的进位。4、硬件运行结果简单计算器简单计算器7EDAEDA 大作业大作业从左到右,前三个数码管为结果,用十进制显示:第一个为百位,第二个为十位,第三个为个位。第五个为加数,第六个为被加数。(2 2)减法器模块)减法器模块1 1、封装元件、封装元件sub4CLRa3.0b3.0s3.0co简单计算器简单计算器inst18EDAEDA 大作业大作业设计思

8、想:设计思想:减去一个数等于加上这个数的补码。对减数求补码,再调用加法器当 CLR 为1时清零,输出为零当 CLR 为0时,a 是四位二进制被减数,b 时四位二进制减数。S 为相减的结果,co 为借位,当 co 为 0 时代表 a 减 b 是整数,否则为负数或者 0。2 2、减法器程序、减法器程序简单计算器简单计算器9EDAEDA 大作业大作业调用一个加法程序3 3、仿真结果、仿真结果简单计算器简单计算器10EDAEDA 大作业大作业CLR 为清零,当CLR 为 1 时清零,输出为0;当CLR 为 0 时进行减法运算,a、b 为两个四位二进制输入,s 为输出,当 co 为 0 时,代表 s 为

9、正,当 co 为 1 时代表 co 为负,当被减数小于减数时,s 为相减得到的结果的补码。4 4、硬件运行结果、硬件运行结果从左到右,前三个数码管用十进制显示结果:第一个代表正负,为时代表正,为 1 时代表负。第五个为减数,第六个为被减数。简单计算器简单计算器110EDAEDA 大作业大作业(3 3)乘法器模块)乘法器模块1 1、封装元件、封装元件multi4bclra3.0b3.0y 7.0inst21当 clr 为1时输出为 0当 clr 为0时,a 与 b 相乘输出 y2 2、乘法器的设计思想、乘法器的设计思想用并行相乘的方法。通过开关和键盘,两组分别输入 4bit 的数据进行乘法运算时

10、,先求出部分积,即求得二进制数据的乘数和被乘数逐位相乘,之后运用二进制加法进行加和。举例如下,10X9=90:-10 9 =90-1 0 1 0-X 1 0 0 1 =-00001010-00000000 -部分积简单计算器简单计算器12EDAEDA 大作业大作业-00000000-01010000 -1011010 =90 这里加法的结果就是所求结果。3 3、乘法器程序、乘法器程序简单计算器简单计算器13EDAEDA 大作业大作业4 4、仿真结果、仿真结果clr 为清零,当 clr 为 1 时进行乘法运算,a、b 为两个四位二进制输入,y 为十六进制输出。5 5、硬件运行结果、硬件运行结果从

11、左到右,前三个数码管用十进制显示结果:第一个为百位,第二个为十位,第三个为个位。第五个为乘数,第六个为被乘数。简单计算器简单计算器14EDAEDA 大作业大作业(4 4)除法器模块)除法器模块1 1、封装元件、封装元件divisionclra3.0b3.0s7.0inst2当 clr 为1时,输出为 0。当 clr 为0时,a 与 b 相除输出 s,s 高四位为商,低四位为余2 2、除法器设计思想、除法器设计思想 f:=a;g:=b;e:=(others=0);-f f 等于被除数,等于被除数,g g 等于除数等于除数for i in 1 to 15 loop-e e 为商为商if(f=g)t

12、henf:=f-g;e:=e+1;elseexit;end if;end loop;s(7 downto 4)=e;s(3 downto 0)=f;利用循环的思想设计除法器。S 高四位为商,第四位为余数简单计算器简单计算器15EDAEDA 大作业大作业3 3、除法器程序、除法器程序4 4、仿真结果、仿真结果当 clr=1时清零,当 clr=0时进行除法运算。a、b 为四位二进制数,a 为被除数,b 为除数,s 高四位为商,s 低四位为余数。简单计算器简单计算器16EDAEDA 大作业大作业5 5、硬件运行结果、硬件运行结果从左到右,前三个数码管用十进制显示计算后的商,第一个为百位,第二个为十位

13、,第三个为个位。第五个数码管为除数,第六个数码管为被除数。右下角一个数码管显示运算得到的余数。简单计算器简单计算器17EDAEDA 大作业大作业(5 5)8 8 位除法器位除法器1 1、封装元件、封装元件Divbeichu7.0chu7.0shang7.0yu3.0inst3作用:作用:用于把十六进制显示的输出换成十进制显示。方法:方法:被除数除以 10 时,余数为个位;得到的商除以10,得到的余数为十位;得到的商再除以 10,得到的余数为百位。2 2、8 8 位除法器设计思想位除法器设计思想 利用移位减法原理移位减法原理设计除法器 首先在被除数前面补 7 个零,赋值为 Remain7,除数后

14、面补 7个零,赋值为 diver7。若 Remain7 大于 diver7,则shang(7)为1,Remain6=Remain7-diver7。否则 shang(7)为0,Remain6=Remain7;Diver6 等于 diver7 左移一位,后面补零。再重复上一个步骤,得出 shang(6),直到得出 shang(0)为止 Remain 是中间与 diver 相减的得到的数,diver 保存除数移位后的数;简单计算器简单计算器18EDAEDA 大作业大作业说明:说明:8 位除法器不能用四位除法器那循环的方法,因为,如果用循环的方法,由于循环次数太多,在电脑上要运行半个小时以上,不能用。

15、3 3、8 8 位除法器程序位除法器程序简单计算器简单计算器19EDAEDA 大作业大作业简单计算器简单计算器20EDAEDA 大作业大作业4 4、仿真结果、仿真结果简单计算器简单计算器21EDAEDA 大作业大作业(6 6)数码管七段译码电路)数码管七段译码电路1 1、封装元件、封装元件seg7D3.0data_out0.6inst12作用作用:用于在一个七段共阳数码管显示除法器的余数。2 2、共阴极七段显示码十六进制转换表、共阴极七段显示码十六进制转换表十六进制码NumD8D4D20000123456789ABCDEF000000011111111000111100001111011001

16、100110011共阴极七段显示码fedcb10001110111110111010001010111111101101101101111011011111111101001111100111100100D10101010101010101g0011111011110111a1011011111101011简单计算器简单计算器22EDAEDA 大作业大作业3 3、七段译码器程序、七段译码器程序4 4、仿真结果、仿真结果简单计算器简单计算器23EDAEDA 大作业大作业(7 7)选择模块)选择模块1 1、封装元件、封装元件chooseQ1.0input31.0output7.0output13.

17、0inst11 当 Q 为“00”时进行加法运算 当 Q 为“01”时进行减法运算 当 Q 为“10”时进行乘法运算 当 Q 为“11”时进行除法运算简单计算器简单计算器24EDAEDA 大作业大作业2 2、程序、程序五、管脚锁定五、管脚锁定简单计算器简单计算器25EDAEDA 大作业大作业六、小结与收获六、小结与收获回顾本次大作业完成的整个过程,觉得收获很多,主要有以下几个方面。(1)通过整个过程的设计完成,锻炼了分析、解决问题的能力,熟练掌握了 Quartus II 的原理图输入方式,并对硬件描述语言有了初步的认识和运用,认识到 Quartus II 用于电路仿真的强大功能;(2)完成过程中,关于电路的设计,有多种不同的实现方法,经过和同学讨论,交流想法,尽量选择简单易行的方法,同时灵活运用各种逻辑门电路,锻炼了逻辑思维能力;(3)通过整个过程的完成,最终在实验箱上顺利得到了正确的结果,虽然只是一个简易的、功能很少的计算器,但毕竟是自己亲手操作完成的,觉得很有成就感,这也增加了我对数字电子技术的兴趣。简单计算器简单计算器26

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 企业管理

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁