算术运算单元ALU的设计__实现几种基本功能

温柔似野鬼°
994次浏览
2021年01月30日 12:31
最佳经验
本文由作者推荐

-

2021年1月30日发(作者:我好像在哪见过你)
算术运算单元
ALU
的设计




设计要求:



1
)设计
4

ALU
,可实现
8
种算术逻辑运算。

a.
进行两个四位二进制数的运算。

b.
算术运算:
A+B,A-B,A+1,A-1
c.
逻辑运算:
A and B,A or B,A not, A xor B < br>(
2

4
位输入
A3

A0
B3---B0
用开关设置输入。


3

8
种算术逻辑运算通过
3
位功能选择开关选择某一种功能。


4)运算结果用两个数码管显示和
2
个发光管显示(有一个显示进借位、有
一个显示 溢出)






系统框图:














设计结构:


设计分为输入控制模块、输出选择模块、加减运算模块及逻辑运算模块等部分。

在输 入控制部分,利用锁存器,使
A

B
信号通过脉冲控制同时送入运算电路。< br>
在输出控制模块,选择需要输出的显示信号。加减运算电路实现加减运算功能。

逻辑运算电路实现逻辑运算功能。







输入控制

加减运算

加减输出显示





输出选择控制

逻辑电路




逻辑显示


(总电路图)


功能的实现原理:

该电路是是实现四种 算术运算和四种逻辑运算功能的算术运算单元电路。

要是由算术运算模块、
逻辑运算 模块、
输入控制模块和输出控制模块几部分组成。
通过时序输入控制实现信号
A,B< br>同时送入到运算电路中进行运算,
这样能解决非
时序信号先后输入进行运算时产生的错误 。
信号送入运算单元后,
逻辑运算和算
术运算是同时进行的,
只是在不同的模 块中进行的而已。
而四种算术运算则是通
过控制端来进行先后选择运算的。在输出时只显示一种 功能则是通过
5

74LS244
(三态门芯片)
和一些门电路通过 控制信号
f3,f2,f1
置不同的数进行控
制的选择输出的,
数码显示管显 示的算术运算的结果,
小灯泡则是用来显示逻辑
运算的结果。
f3f2f1
置 数
111

000

001

010
、< br>011

100

101

110
分别控制
的输出显示是
A+B,A-B,A

B,A

B,A
异或
B


A

A+1

A-1.运算结果是同时
被送出的,当
f3f2f1
被置某一个数时,对应的芯片
244
的使能端有效,那么相
应的功能就被出去显示。当
f3f2f1
被置< br>111

000

101

110
时第一片
244
始终
有效,
此时输出的是哪一种功能则取决于这几个数所控制的算术运 算电路在进行
的是哪一种功能了,它们都是经过一定的门器件进行控制的。输出除了显示这
8< br>中功能外,还显示了算术运算中的溢出与进借位显示。




器件清单:
74LS183
8

74LS244
5

74LS373 2

74LS161 1


74LS157 1

74LS04 74LS08 74LS32
74LS136 2

74LS11 2


74LS47 3


数码管
3


二极管

若干

电阻若干

导线若干


各部分功能:


(输入时序控制)


输入时序控制:
通过两片
74LS3 73
(锁存器)
、一片
74LS161
(计数器)和
相应的门器件来 实现使输入信号
A

B
能同时送入运算单元电路进行运算,
避免了一些不必要错误的发生。当第一个脉冲输入时,计数器的输出端输出的是
00
信号,该信 号通过门器件作用使第一片
373ENG
有效,使信号
A
送入锁存器里
面锁存不输出,当第二个脉冲到来时,
161
输出端输出
01
,此时使信号
B
送入
锁存器锁存不输出,当第三个脉冲到来时,两片
373
的的< br>~OC
有效,锁存在锁
存器里面的信号
A,B
同时被送入运算电路进行 运算,同时
161
被置零,若再来
一个脉冲时输出端又从
00
开始计 数控制
373
了。
这个的目的是使
计数器当输出端输出
10
时时输入端的信号重新置零开始计数控制锁存器。
00

01

10


这三种情况分别控制两片
373
的状态,分别代表锁存
A,
锁存
B
和同时输出
A,B.
脉冲信号由一个开关在总电路中控制 。




输出选择

输出选择:
该模块 是用门器件通过控制
f3f2f1
的置数来选择哪一端输出为
1

从 而控制哪一片
74LS244
有效,选择输出哪一种功能所对应的结果显示出来。
其中
and,or,xor,r
分别对应逻辑运算结果对应的
244
芯片的使能端 的有效性,而
account
对应算术运算,
EN
对应选择
A+1< br>,
A-1
功能,
E
对应选择
A+B,A-B
功能。< br>这些端口对应的都是高电平,
在外面加了一个非门后就能直接控制
244
的使能 端
了。该模块的真值表如下:

f3f2f1
account
E
EN
and
or
xor
r
111
1
0
0
0
0
0
0
000
1
1
0
0
0
0
0
001
0
0
0
1
0
0
0
010
0
0
0
0
1
0
0
011
0
0
0
0
0
1
0
100
0
0
0
0
0
0
1
101
1
0
1
0
0
0
0
110
1
1
1
0
0
0
0
当输出为
1< br>时对应的端口处于有效状态。
f3f2f1
置数
111

00 0

001

010

011

100< br>、
101

110
分别对应的功能是
A+B,A-B,A
B,A

B,A
异或
B
,非
A
,< br>A+1

A-1



(
运算部分)


(选择输出部分)

算术运算

算术运算:
该部分由两个小部分组成,一部分是做加减运算的,另 一部分是用作选择输
出的。
因为只有一个数码管,
要用该数码管既显示加的结果也显示 减的结果,
就选用了一个
子电路来对其进行操作。
E2

0
时输出是加的结果,为
1
时输出减的结果。运算电路中运
用了
8
个< br>72LS183,1

74LS157
和异或门组成了这个算术运算电路
(可以实现被减数小于减
数的运算)

157
是一个数据选择器,
-G
始终为低电平选择器才处在工作状态,选择器的上
部分与信号
B
连接,< br>下部分置
1
,当
-A/B
端置
1
时做自加减运算,< br>置
0
时做加减运算。
具体
是加还是减则取决于
E
端的 置数,这些控制端都是用一定门器件通过
f3f2f1
来控制的。

仿真电路图:

逻辑运算模块:




运算功能:



①加法功能







仿





1110+1101=1011

产生进位,进位端有显示















2+3=5
,进位端和益出端均无显示

-


-


-


-


-


-


-


-