eda计算器设计大作业

上传人:小** 文档编号:91591945 上传时间:2019-06-30 格式:DOC 页数:26 大小:4.31MB
返回 下载 相关 举报
eda计算器设计大作业_第1页
第1页 / 共26页
eda计算器设计大作业_第2页
第2页 / 共26页
eda计算器设计大作业_第3页
第3页 / 共26页
eda计算器设计大作业_第4页
第4页 / 共26页
eda计算器设计大作业_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《eda计算器设计大作业》由会员分享,可在线阅读,更多相关《eda计算器设计大作业(26页珍藏版)》请在金锄头文库上搜索。

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

2、三顶层原理图5四、各个模块7(1)加法器模块71、封装元件72、加法器程序83、仿真结果8(2)减法器模块91、封装元件92、减法器程序103、仿真结果114、硬件运行结果12(3)乘法器模块131、封装元件132、乘法器的设计思想133、乘法器程序144、仿真结果155、硬件运行结果15(4)除法器模块161、封装元件162、除法器设计思想163、除法器程序174、仿真结果175、硬件运行结果18(5)8位除法器191、封装元件192、8位除法器设计思想193、8位除法器程序204、仿真结果22(6)数码管七段译码电路231、封装元件232、共阴极七段显示码十六进制转换表233、七段译码器程

3、序244、仿真结果24(7)选择模块251、封装元件252、程序26五、管脚锁定26六、小结与收获27一实验目的1、熟悉QuartusII软件的相关操作,掌握数字电路设计的基本流程。2、介绍QuartusII的软件,掌握基本的设计思路,软件环境参数配置,仿真,管脚分配,下载等基本操作。3、了解VHDL或原理图设计方法与定制IP模块的思想。4、掌握并行加法器,减法器乘法器以及除法器的设计思路及工作原理。5、设计一个能完成加减乘除功能并以十进制显示结果的简单计算器。二、流程图输入控制功能的数选择模块减法模块乘法模块除法模块加法模块显示结果十六进制转换成十进制 当输入为00时输出加法结果 当输入为0

4、1时输出减法结果 当输入为10时输出乘法结果 当输入为11时输出除法结果三顶层原理图显示除法余数七段数码管三个八位除法器,把十六进制数转换为十进制数输出十位输出个位输出百位控制模块加法模块减法模块除法模块乘法模块创新:四个模块输出均为十六进制数,为了输出方便观察,设计了8位除法器,将输出变为十进制数显示在数码管上。DATAIN1.0为输入控制端,通过试验箱上两个拨码开关控制输入。A3.0和B3.0是两个四位二进制输入数,当DATAIN为00时进行加法运算,当DATAIN为01时进行减法运算,当DATA为10时进行乘法运算,当DATA为11是进行除法运算。结果用十进制显示三个共阳静态LED数码管

5、上,除法的余数单独显示在右下角的七段驱动共阳数码管中的一个上。四、各个模块(1)加法器模块1、封装元件 当CLR为1时清零,输出为零当CLR为0时,输入两个四位二进制数,输出两个数之和,S3.0为和,S4为进位。2、加法器程序3、仿真结果 当CLR为1时,输出为0;当CLR为0时,进行加法运算。S3.0为相加后得到的和,S7.4为相加后的进位。4、硬件运行结果从左到右,前三个数码管为结果,用十进制显示:第一个为百位,第二个为十位,第三个为个位。第五个为加数,第六个为被加数。(2)减法器模块1、封装元件 设计思想:减去一个数等于加上这个数的补码。对减数求补码,再调用加法器当CLR为1时清零,输出

6、为零当CLR为0时,a是四位二进制被减数,b时四位二进制减数。S为相减的结果,co为借位,当co为0时代表a减b是整数,否则为负数或者0。2、减法器程序调用一个加法程序3、仿真结果CLR为清零,当CLR为1时清零,输出为0;当CLR为0时进行减法运算,a、b为两个四位二进制输入,s为输出,当co为0时,代表s为正,当co为1时代表co为负,当被减数小于减数时,s为相减得到的结果的补码。4、硬件运行结果从左到右,前三个数码管用十进制显示结果:第一个代表正负,为0时代表正,为1时代表负。第五个为减数,第六个为被减数。(3)乘法器模块1、封装元件 当clr为1时输出为0当clr为0时,a与b相乘输出

7、y2、乘法器的设计思想用并行相乘的方法。通过开关和键盘,两组分别输入4bit的数据进行乘法运算时,先求出部分积,即求得二进制数据的乘数和被乘数逐位相乘,之后运用二进制加法进行加和。举例如下,10X9=90: -10 9 = 90 - 1 0 1 0 - X 1 0 0 1 = - - - 00001010 - 00000000 -部分积 - 00000000 - 01010000 - - 1011010 =90 这里加法的结果就是所求结果。3、乘法器程序4、仿真结果clr为清零,当clr为1时进行乘法运算,a、b为两个四位二进制输入,y为十六进制输出。5、硬件运行结果从左到右,前三个数码管用十

8、进制显示结果:第一个为百位,第二个为十位,第三个为个位。第五个为乘数,第六个为被乘数。(4)除法器模块1、封装元件 当clr为1时,输出为0。当clr为0时,a与b相除输出s,s高四位为商,低四位为余2、除法器设计思想 f:=a; g:=b; e:=(others=0);-f等于被除数,g等于除数 for i in 1 to 15 loop -e为商 if (f=g) then f:=f-g; e:=e+1; else exit; end if; end loop; s(7 downto 4)=e;s(3 downto 0)=f; 利用循环的思想设计除法器。S高四位为商,第四位为余数3、除法器

9、程序4、仿真结果 当clr=1时清零,当clr=0时进行除法运算。a、b为四位二进制数,a为被除数,b为除数,s高四位为商,s低四位为余数。5、硬件运行结果从左到右,前三个数码管用十进制显示计算后的商,第一个为百位,第二个为十位,第三个为个位。第五个数码管为除数,第六个数码管为被除数。右下角一个数码管显示运算得到的余数。(5)8位除法器1、封装元件 作用:用于把十六进制显示的输出换成十进制显示。方法:被除数除以10时,余数为个位;得到的商除以10,得到的余数为十位;得到的商再除以10,得到的余数为百位。2、8位除法器设计思想 利用移位减法原理设计除法器 首先在被除数前面补7个零,赋值为Rema

10、in7,除数后面补7个零,赋值为diver7。若Remain7 大于diver7,则 shang(7)为1,Remain6= Remain7 - diver7。否则shang(7)为0, Remain6= Remain7 ; Diver6等于diver7左移一位,后面补零。再重复上一个步骤,得出shang(6),直到得出shang(0)为止 Remain是中间与diver相减的得到的数,diver保存除数移位后的数;说明:8位除法器不能用四位除法器那循环的方法,因为,如果用循环的方法,由于循环次数太多,在电脑上要运行半个小时以上,不能用。3、8位除法器程序4、仿真结果(6)数码管七段译码电路1

11、、封装元件 作用:用于在一个七段共阳数码管显示除法器的余数。2、共阴极七段显示码十六进制转换表十六进制码共阴极七段显示码NumD8D4D2D1gfedcba000000111111100010000110200101011011300111001111401001100110501011101101601101111101701110000111810001111111910011101111A10101110111B10111111100C11000111001D11011011110E11101111001F111111100013、七段译码器程序4、仿真结果(7)选择模块1、封装元件 当

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

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

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号