算术逻辑运算单元ALU剖析
别妄想泡我
872次浏览
2021年01月30日 12:31
最佳经验
本文由作者推荐
-
题目:
燕
山
大
学
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
运算部分