算术逻辑运算单元ALU剖析

别妄想泡我
872次浏览
2021年01月30日 12:31
最佳经验
本文由作者推荐

-

2021年1月30日发(作者:郭兰英南泥湾)

题目:


燕

山

大

学


EDA
课程设计报告书



算术逻辑逻辑单元
ALU



姓名:

班级:

学号:

成绩:











一、设计题目及要求

题目名称:算术运算单元
ALU

要求:


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


2
.算术运算:
A+B, A-B, A
×
B
;


3
.逻辑运算:
A and B, A or B, A not, A xor B
;


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




二、设计过程及内容


1.
整体设计思路


(1
)根据设计要求将题目划分为五 个模块。包括两个逻辑运算模块,两个
算术运算模块,和一个控制模块。其中逻辑运算模块为
A
and
B
和
A
or
B
,
A not
和
A xor B
;算术模块为
A
±
B
,< br>A
×
B
。


(
2
)因为需要进行 四位二进制数的运算,因此用
A3,A2,A1,A0
表示四位
二进制数
A< br>,用
B3,B2,B1,B0
表示四位二进制数
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
,
A-B
总原理图如下:







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





译码器原理图如下:




扫描电路原理图如下:











A+B
仿真图:
15+15=30


A-B
仿真图:
14-6=8









(
2
)
AXB
模块(宋任强负责)


乘 法模块计算部分由四个
74285
实现,计算结果经译码器编译为
10
位BCD
码,经
扫描器输入到数码管,
K2
控制是否进行乘法运算。

AXB
总原理图:


A
×
B
运算部分



-


-


-


-


-


-


-


-