EDA课程设计算术逻辑运算单元ALU.docx

上传人:b****2 文档编号:2319681 上传时间:2023-05-03 格式:DOCX 页数:13 大小:300.88KB
下载 相关 举报
EDA课程设计算术逻辑运算单元ALU.docx_第1页
第1页 / 共13页
EDA课程设计算术逻辑运算单元ALU.docx_第2页
第2页 / 共13页
EDA课程设计算术逻辑运算单元ALU.docx_第3页
第3页 / 共13页
EDA课程设计算术逻辑运算单元ALU.docx_第4页
第4页 / 共13页
EDA课程设计算术逻辑运算单元ALU.docx_第5页
第5页 / 共13页
EDA课程设计算术逻辑运算单元ALU.docx_第6页
第6页 / 共13页
EDA课程设计算术逻辑运算单元ALU.docx_第7页
第7页 / 共13页
EDA课程设计算术逻辑运算单元ALU.docx_第8页
第8页 / 共13页
EDA课程设计算术逻辑运算单元ALU.docx_第9页
第9页 / 共13页
EDA课程设计算术逻辑运算单元ALU.docx_第10页
第10页 / 共13页
EDA课程设计算术逻辑运算单元ALU.docx_第11页
第11页 / 共13页
EDA课程设计算术逻辑运算单元ALU.docx_第12页
第12页 / 共13页
EDA课程设计算术逻辑运算单元ALU.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

EDA课程设计算术逻辑运算单元ALU.docx

《EDA课程设计算术逻辑运算单元ALU.docx》由会员分享,可在线阅读,更多相关《EDA课程设计算术逻辑运算单元ALU.docx(13页珍藏版)》请在冰点文库上搜索。

EDA课程设计算术逻辑运算单元ALU.docx

EDA课程设计算术逻辑运算单元ALU

燕山大学

EDA课程设计报告书

题目:

算术运算逻辑单元ALU

 

姓名:

班级:

学号:

成绩:

一、设计题目及要求

题目名称:

算术运算单元ALU

要求:

1.进行两个四位二进制数的运算;

2.算术运算:

A+B,A-B,A×B;

3.逻辑运算:

AandB,AorB,Anot,AxorB;

4.用数码管显示算术运算结果,以LED指示灯显示逻辑运算结果。

 

二、设计过程及内容(包括

总体设计的文字描述,即由哪几个部分构成的,各个部分的功能及如何实现方法;

主要模块比较详尽的文字描述,并配以必要的图片加以说明,但图片数量无需太多)

1.整体设计思路

(1)根据设计要求将题目划分为五个模块。

包括两个逻辑运算模块,两个算术运算模块,和一个控制模块。

其中逻辑运算模块为AandB和AorB,Anot和AxorB;算术模块为A±B,A×B。

(2)因为需要进行四位二进制数的运算,因此用A4,A3,A2,A1表示四位二进制数A,用B4,B3,B,B1表示四位二进制数B,用C4,C3,C2,C1表示四位二进制数C。

其中A,B为输入,C为输出。

 

2.分模块设计

(1)A+B和A-B模块

A+B可以直接通过74283两个四位二进制数加法器实现。

A-B可以看作A+(-B),即A加B的补码来实现。

同时再设计一个转换控制端M。

M=0时实现A+B,M=1时实现A-B。

最后再设计一个总的控制端K1,K1=1时模块正常工作,K1=0时不工作。

做加法时,C0为进位输出,C0输出1表示有进位,做减法时,C0为借位输出,C0输出1表示有借位。

通过74283五位输出,进入译码器将五位变成八位输出,在通过数码管显示。

实现A+B,例:

0111+0111=1110(7+7=14)则数码管应显示14。

实现A-B例:

1100-0110=0110(12-6=6)则数码管显示06。

A+B,A-B总原理图如下:

A+B,A-B分原理图如下:

译码器原理图如下:

扫描电路原理图如下:

 

 

A+B仿真图:

A-B仿真图:

 

(2)AXB模块

AXB模块采用乘数累加被乘数的次的原理来实现乘法功能。

乘数输入端为A0~A3,被乘数输入端为B0~B3。

当乘数和被乘数均输入时,乘数进入到加法器中与默认值0000相加,相加的结果在时钟信号CLK的第一个脉冲时存入置数器74161中;在第一个时钟信号到来时,计数器74161计数一次,并将输出输入到比较器7485中,与被乘数作比较,如果两者不相等,则7485输出为0,通过非门转化为1,使乘数可以继续输入到加法器74283中进行累加;当下一个时钟信号到来时,计数器计数一次,然后乘数累加一次。

当计数器的数值与被乘数的大小相等时,比较器7485输出1,通过非门转化为0,使乘数停止输入。

当加法器中相加的结果有几位时,通过cout段输出到另一计数器中,计数器的输出为乘法运算结果的高四位输出,加法器的最后输出为运算结果的低四位输出。

最后的运算结果转化为十进制,将高位的数值乘以16再加地位的数值即可。

AXB原理图:

 

AXB仿真图:

 

(3)AandB和AorB模块

AandB模块通过四个二输入与门实现,AorB通过四个二输入或门实现。

同时设计一个转换控制端M,当M=1时,AandB模块工作,M=0时,AorB模块工作。

最后设计一个总的控制端K3,K3=1时模块正常工作,K3=0时模块不工作。

最后,在C1,C2,C3,C4四个输出端接LED指示灯,当输出1时,指示灯亮,输出0时,灯不亮。

Aandb,AorB的原理图如下:

 

AandB仿真图:

AorB仿真图:

(4)Anot和AxorB模块

Anot直接通过四个非门实现,AxorB直接通过四个异或门实现。

同时设计一个转换控制端M,当M=1时,A非工作;当M=0时,A异或B工作。

另外再设计一个总的控制端K4。

当K4=1时,模块正常工作;当K4=0时,模块不工作。

最后,在C1,C2,C3,C4四个输出端接LED指示灯,当输出1时,指示灯亮,输出0时,灯不亮。

Anot,AxorB原理图如下:

 

 

Anot仿真图:

AxorB仿真图:

(5)控制模块

控制模块可以通过一个二线四线译码器来实现,依次控制上述总的控制端K1,K2,K3,K4。

从而可以分别实现各个模块的功能。

译码器真值表

输入端

输出端

S1

S0

K1

K2

K3

K4

0

0

1

0

0

0

0

1

0

1

0

0

1

0

0

0

1

0

1

1

0

0

0

1

 

控制模块原理图如下:

控制模块仿真图:

 

三、设计结论(包括设计过程中出现的问题;对EDA课程设计感想、意见和建议)

在这次的EDA设计中,我们学习到了EDA的设计基本步骤和设计方法。

主要是对EDA的设计软件MAX—plusII的基本操作,有了一定的了解。

了解到如何将软件里设计好的文件,是用下载应用到硬盘中,进而实现它的实际作用。

这两周的学习,让我们感受到,我们的专业是注重实际操作的。

有些问题也是看不出来的,需要不断的动手操作,在实践中才能发现问题。

然后我们要不断改进,修正做错的地方,才能做的更好。

而我们在这过程中,要一起努力,一起讨论,共同研究,谁也不可能一个人就解决所有的问题。

同时我们也要主动承担起应尽的责任,身为团队中的一员,就不能将所有的事都丢给队友。

这就是团队精神。

在实现如何让四位二进制数相加减的结果,在数码管显示时,我们遇到麻烦,经过老师的指导,以及小组成员讨论,最终我们通过采取真值表的方法,将由74283的五位输出转化为八位输出,最终实现数码管的显示。

两周的紧张课设,让我们学习到很多,在乘法模块的设计中,从完全没有思路到渐渐出来雏形,经历了很多波折。

一开始的思路是利用移位相加原理,但是在时钟信号的控制和输出的控制中出现问题,最后不得不放弃;后来又想到用乘数累加的方法,最后实现了乘法的运算,但是只是数值较小的乘法运算,这是一点不足。

于我们个人而言,这次的学习,还让我们明白,作为一个科技工作者,要严谨,认真,耐心。

即使是一个简单的电路,也要认真地思索电路,不怕繁琐,耐心做事。

即使面对困难,也不退缩。

要提高思考问题、解决问题的能力,增强动手能力和创新意识。

这两周过的很充实,我们也学会了很多东西。

在此感谢学校安排这样的课程,感谢指导老师的指导!

 

(注:

本资料素材和资料部分来自网络,仅供参考。

请预览后才下载,期待您的好评与关注!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2