第 3章 组合逻辑电路
组合逻辑电路特点及表示方法
SSI组合电路的分析与设计
常用组合逻辑电路
MSI组合电路的设计
组合逻辑电路的竞争与冒险
3.1组合逻辑电路特点及表示方法
⒈ 定义
⒉电路结构特点
⒊表示方法
⒋电路框图及一般表达式
⒈ 组合逻辑电路定义
组合逻辑电路是实现某一逻辑功能而没有记忆特性的数字电路 。
其特点是电路任意时刻的稳态输出仅取决于该时刻的输入信号,而与电路原来的状态无关 。
⒉ 电路结构特点
电路结构特点:
组合逻辑电路仅由门电路组成;
电路中无记忆元件,输入输出之间无反馈 。
⒊ 电路表示方法
组合逻辑电路的表示方法有:
函数表达式真值表或功能表逻辑图卡诺图工作波形图
⒋ 组合电路框图及一般表达式为:
F1=f1(x1,x2,… xn)
F2=f2(x1,x2,… xn)

Fm=fm(x1,x2,… xn)
组合电路
x1x
2
xn
F1
F2
Fm
图 3-1组合逻辑电路框图输入逻辑变量输出逻辑函数
3.2 SSI组合电路的分析与设计
⒈ 分析方法:组合逻辑电路的分析就是根据给定的逻辑电路推导归纳出其逻辑功能。
⒉设计方法:设计就是从给定的逻辑要求出发,求出逻辑图。
分析步骤
⑴ 写输出逻辑表达式,根据给定逻辑电路,
由输入 → 输出或由输出 → 输入,逐级推导,写出输出函数的表达式 。
⑵ 简化逻辑表达式,根据需要,将表达式化成最简式 。
⑶ 列真值表,将各种可能输入信号取值组合代入表达式,求出真值表,得出逻辑关系 。
⑷ 确定逻辑功能,根据函数表达式或真值表判断电路的逻辑功能 。
设计步骤
⒈ 列真值表,首先确定所给实际逻辑问题的因果关系,将引起事件的原因确定为 输入变量,将事件所产生的结果作为 输出函数 。 其次,要进行状态赋值,即用 0,1表示输入信号和输出信号的逻辑状态,得到真值表 。
⒉ 由真值表写出逻辑函数表达式:
⒊ 对逻辑函数进行化简或变换,化简时可根据变量多少和情况,用公式法和图形法 。
⒋ 按最简式画出逻辑图注意
⑴ 由于赋值不同,可得到不同的真值表,
因而可得到不同的逻辑关系 。 因此应根据状态赋值去理解 0,1的具体含义 。
⑵ 列真值表时,不会出现或不允许出现的输入信号状态组合和输入变量取值组合可以不列出,如果列出,则可在相应输出处记上,×,号,以示区别,化简时可作约束项处理 。
2009-7-31 东北大学信息学院 11
例 3-1
试分析图 3-2所示电路的逻辑功能。
A
1
A
0
F
1
F
3
F
2
F
0

3 - 2

1
&
&
&
&
1
010 AAF?
011 AAF?
012 AAF?
013 AAF?
解,⑴ 由图 3-2写出逻辑表达式
2009-7-31 东北大学信息学院 12
⑵ 列出真值表
A1 A0 F0 F1 F2 F3
0 0
0 1
1 0
1 1
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
表 3-1 例 3-1真值表例 3-1
010 AAF? 011 AAF?
012 AAF? 013 AAF?
2009-7-31 东北大学信息学院 13
说明有效电平为高电平,且由输出状态便知道输入代码值,此种功能称为译码功能。
⑶ 确定逻辑功能:由真值表看出例 3-1
A1 A0 F0 F1 F2 F3
0 0
0 1
1 0
1 1
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
表 3-1 例 3-1真值表
A1A0=00时,F0=1,其余为 0
A1A0=01时,F1=1,其余为 0
A1A0=10时,F2=1,其余为 0
A1A0=11时,F3=1,其余为 0
2009-7-31 东北大学信息学院 14
=A1A0
=A1A0
=A1A0
=A1A0
电路的逻辑功能例 3-1
A
1
A
0
F
1
F
3
F
2
F
0

3 - 2

1
&
&
&
&
1
2009-7-31 东北大学信息学院 15
若逻辑图为图 3-3所示,则电路为低有效电平译码器。
=A1A0
=A1A0
=A1A0
=A1A0
例 3-1
A
1
A
0
F
1
F
3
F
2
F
0

3
-
3-
1
&
&
&
&
1
2009-7-31 东北大学信息学院 16
例 3-2
A
0
A
1
F
D
0
D
1
D
2
D
3

3 - 4

≥ 1
&
&
&
&
11
试分析图 3-4所示电路的逻辑功能
解:⑴写出逻辑表达式
301201
101001
DAADAA
DAADAAF


2009-7-31 东北大学信息学院 17
301201101001 DAADAADAADAAF
⑵ 列出真值表
A1 A0 F
0 0
0 1
1 0
1 1
D0
D1
D2
D3
例 3-2
⑶ 确定逻辑功能
由表看出,
A1A0=00时,F=D0;
A1A0=01时,F=D1;
A1A0=10时,F=D2;
A1A0=11时,F=D3。
电路具有选择数据输入功能。
2009-7-31 东北大学信息学院 18
试用与非门设计一个三变量表决器 。 A、
B,C三者中多数同意,提案通过,否则提案不被通过 。
解:方案一:同意用 1表示,不同意用 0
表示;通过用 1表示,不通过用 0表示 。
则列出真值表如表 3-4所示 。
例 3-3
2009-7-31 东北大学信息学院 19
BC
A 00 01 11 10
1
表决逻辑卡诺图方案一
0 0 0 0
0 1
1
1 1
A B C
表 3-4 例 3-3真值表
F
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
0
0
0
1
0
1
1
1
例 3-3
CABCABCABCABF
2009-7-31 东北大学信息学院 20
例 3-3
A
B
B
C
C
A
F
图 3-5 方案一逻辑图
&
&
&
&
CABCABCABCABF
2009-7-31 东北大学信息学院 21
方案二:同意用 0表示,不同意用 1表示;
通过用 1表示,不通过用 0表示 。 则列出真值表如表 3-4’所示 。
例 3-3
ACCBBA
ACCBBAF


A B C F
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
1
1
1
0
1
0
0
0
表 3-4’例 3-3真值表表决逻辑卡诺图方案二
BC
A 00 01 11 10
1
0 1 1 1
1 0
0
0 0
2009-7-31 东北大学信息学院 22
例 3-3
A
B
B
C
C
A
F
图 3-6 方案二逻辑图
&
&
&
&
ACCBBA
ACCBBAF


某工厂有 A,B,C三个车间,各需电力
10KW,由厂变电所的 X,Y两台变压器供电 。 其中 X变压器的功率为 13KVA
( 千伏安 ),Y变压器的功率为 25KVA。
为合理供电,需设计一个送电控制电路 。
控制电路的输出接继电器线圈 。 送电时线圈通电 。 不送电时线圈不通电 。 线圈动作电压 12V,线圈电阻 300欧 。
例 3-4
解,⒈设 A,B,C为输入变量,X,Y为输出逻辑函数。
A,B,C工作用 1表示,不工作用 0表示;
送电用 1表示,不送电用 0表示。
则三个车间的工作情况及变压器是否供电,列于表 3-3中。 (一个车间工作时,X供电,两个车间工作时,由 Y供电,三个车间同时工作时,X,Y同时送电 )。
例 3-4
⒉ 写逻辑函数表达式
ABCCBACBACBAX
ABCCABCBABCAY
例 3-4
0 0
1 0
1 0
0 1
1 0
0 1
0 1
1 1
000
001
010
0 1 1
100
101
110
111
X YABC
表 3-3 例 3-4真值表
⒊ 化简,变换
CBA
CBACBA
BCCBACBCBA
ABCCBACBACBAX




)()(
)()(
CABCABCABCAB
A B CCABCBABCAY


例 3-4
⒋ 画逻辑图
由线圈动作电压 12V,线圈电阻 300欧算得线圈动作时,流过线圈电流等于
40mA,一般的逻辑门不可能带 40mA电流 。 为此,X,Y需经集电极开路非门取反之后驱动线圈,逻辑图如图 3-4示 。
例 3-4
例 3-4
& &&&


1 1
=1
=1
12V 12V
Y X
A B C
人类有四种基本血型 —A,B,AB,O型。输血者与受血者的血型必须符合下述原则,O型血可以输给任意血型的人,但 O型血只能接受 O型血;
AB型血只能输给 AB型,但 AB型能接受所有血型;
A型血能输给 A型和 AB型,但只能接受 A型或 O型血; B型血能输给 B型和 AB型,但只能接受 B型或
O型血。试用与非门设计一个检验输血者与受血者血型是否符合上述规定的逻辑电路。如果输血者与受血者的血型符合规定电路输出,1”(提示:
电路只需要四个输入端。它们组成一组二进制代码,每组代码代表一对输血 —受血的血型对)。
例 3-5
解:
用变量 A,B,C,D
表示输血者、受血者的血型对作为输入变量,用 F表示血型是否符合作为输出变量。
可得真值表如表 3-6所示。
血型与二进制数对应关系
O 00
A 01
B 10
AB 11
例 3-5
A B C D F 说明
0 0
0 0
0 0
0 0
0 0
0 1
1 0
1 1
1
1
1
1
O→ O
O→ A
O→ B
O→ AB
0 1
0 1
0 1
0 1
0 0
0 1
1 0
1 1
0
1
0
1
A禁送 O
A→ A
A禁送 B
A→ AB
1 0
1 0
1 0
1 0
0 0
0 1
1 0
1 1
0
0
1
1
B禁送 O
B禁送 A
B→ B
B→ AB
1 1
1 1
1 1
1 1
0 0
0 1
1 0
1 1
0
0
0
1
AB禁送 O
AB禁送 A
AB禁送 B
AB→ AB
表 3-6 真值表
A
B
AB
O
A(01)
B(10)
AB(11)
O(00)
例 3-5
由真值表画出卡诺图如图 3-8所示。由卡诺图得表达式如下:
CBCDDABA
CBCDDABAF


说明
AB
CD00 01 11 10
00
01
图 3-8输血、受血卡诺图
1 1 1 1
0 1 1 0
11
10
0
0
0
0
1
1
0
1
例 3-5
A
B C D
F
&
& &
&
&
1
1
CBCDDABA
CBCDDABAF


如何把一个具体问题抽象为一个逻辑问题是逻辑设计中最困难、也是最重要的一步。
如果不能把一个具体问题正确地用逻辑语言进行描述,则逻辑设计就无从谈起。
说明
设计一个判别二个 n位二进制数之和奇偶性的电路,当二数之和为奇数时电路输出为 1,否则输出为 0。
设:二数为
A=an-1an-2...a1a0 B=bn-1bn-2...b1b0
二个 n位二进制数之和奇偶性取决于 a0和
b0之和的奇偶性。

0
1
1
0
0 0
0 1
1 0
1 1
Fa0 b0
真值表 F=a0⊕ b0
=1
F
a0
b0
真值表如下
3.3常用组合逻辑电路
常用的组合逻辑电路有编码器、译码器、
数据选择器、数据分配器、加法器、比较器、算术逻辑单元等。
上节所介绍的分析方法和设计方法都适用于将要介绍的常用组合电路。
本节着重介绍其功能表示和应用。
3.3编码器
编码:是指对一系列二值代码中的每一组代码赋予一固定的含意 。
编码器:实现编码的数字电路称作编码器 。
本节主要介绍二进制编码器,二 —十进制编码器和优先编码器
⒈ 二进制编码器
二进制编码器:用 n位二进制代码对
N=2n个一般信号进行编码的电路,称为二进制编码器。
三位二进制编码器
A2A1A0是三个输出端。
编码器的编码是唯一的。即某一时刻,
只能对一个输入信号编码。
I0,I1,…,I7是八个输入端,输入信号为低有效。
对于一般编码器,只能有一个信号电平有效。
故对于 I0,I1,… I7 某一时刻,只能有一个是低电平,其余均为高电平。
图中没有 I0输入,
但 I1~ I7均为 1时表明不对 I1~ I7编码,
而只能对 I0编码,
此时 A2A1A0为 000。
76542 IIIIA?
76321 IIIIA?
75310 IIIIA?
注意:
输入变量上面的非号并不代表反变量,而代表的是输入低电平有效。
& & &
A
2
A
1
A
0
I
0
I
2
I
4
I
6
I
1
I
3
I
5
I
7
三位二进制编码器功能的真值表
0I 1I 2I 3I 4I 5I 6I 7I
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
0 1 1 1 1 1 1 1
1 0 1 1 1 1 1 1
1 1 0 1 1 1 1 1
1 1 1 0 1 1 1 1
1 1 1 1 0 1 1 1
1 1 1 1 1 0 1 1
1 1 1 1 1 1 0 1
1 1 1 1 1 1 1 0
A2 A1 A0
输 出输 入三位二进制编码器功能的真值表
⒈ 二进制编码器
⒉ 二 —十进制编码器
二 —十进制编码器:将十进制数的十个数字 0—9编成二进制代码的电路,称为二 —十进制编码器 。
CMOS型二 —十进制编码器 C304
表达式,
A3= 8+9
A2=4+ 5+ 6+ 7
A1=2+ 3+ 6+ 7
A0=1+ 3+ 5+ 7+9
≥ 1
≥ 1
≥ 1
≥ 1
≥ 1
≥ 1



1
9 8 7 6 5 4 3 2 1
2
0
2
1
2
2
2
3
A
0
A
1
A
2
A
3
逻辑图及表达式十进制数 0是隐含输入的。因为当 1~ 9各输入均无有效信号即无高电平输入时,编码器输出 A3A2A1A0为
0000,恰好是 0的编码,
故省去了 0输入线。
1~ 9中任意时刻只允许有一个输入为高电平信号,否则将在输出端发生混乱,出现错误,
为克服这一局限性,
采用优先编码器。
真值表
0001
0010
0 0 1 1
0100
0101
0 1 1 0
0 1 1 1
1000
1001
0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 1 0 0
0 0 0 0 0 1 0 0 0
0 0 0 0 1 0 0 0 0
0 0 0 1 0 0 0 0 0
0 0 1 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0
1
2
3
4
5
6
7
8
9
A3 A2 A1 A09 8 7 6 5 4 3 2 1
输 出输 入十进制数
⒊ 优先编码器
优先编码器允许同时在几个输入端加入有效输入信号,但电路只对其中优先级别最高的输入信号进行编码,而不理睬级别低的信号。
优先编码器逻辑图真值表表达式多片级联举例
70 II?
为编码输入端
7
的优先权最高
0I
的优先权最低
012 AAA,、
为编码输出端 (反码输出 )
图 3 - 1 2 7 4 1 4 8
S
E
A
o
A
1
A
2
& & ≥ 1 ≥ 1 ≥ 1
& & &
1
1 1 1
1 1
1
1
1
1 11
I
0
I
1
I
2
I
3
I
4
I
5
I
6
I
7
I
s
逻 辑 图
SI
为控制端 (选通控制端 )S 为选通输出端 E 为扩展端ES,是为扩展编码功能而设置的图 3 - 1 2 7 4 1 4 8
S
E
A
o
A
1
A
2
& & ≥ 1 ≥ 1 ≥ 1
& & &
1
1 1 1
1 1
1
1
1
1 11
I
0
I
1
I
2
I
3
I
4
I
5
I
6
I
7
I
s
逻 辑 图
s76542 )( IIIIIA s765435421 )( IIIIIIIIIA s76564364210 )( IIIIIIIIIII s76543210 IIIIIIIIIS?
s76543210
ss76543210
)( IIIIIIIII
IIIIIIIIIIE

图 3 - 1 2 7 4 1 4 8
S
E
A
o
A
1
A
2
& & ≥ 1 ≥ 1 ≥ 1
& & &
1
1 1 1
1 1
1
1
1
1 11
I
0
I
1
I
2
I
3
I
4
I
5
I
6
I
7
I
s
逻 辑 图
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1 1 1
1 1 1
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
× × × × × × × ×
1 1 1 1 1 1 1 1
× × × × × × × 0
× × × × × × 0 1
× × × × × 0 1 1
× × × × 0 1 1 1
× × × 0 1 1 1 1
× × 0 1 1 1 1 1
× 0 1 1 1 1 1 1
0 1 1 1 1 1 1 1
1
0
0
0
0
0
0
0
0
0
SE A2 A1 A0I0 I1 I2 I3 I4 I5 I6 I7IS
输 出输 入表 3-9 74148的真值表
⒊ 优先编码器
7 4 1 4 8
E A
2
A
1
A
0
S
I
S
I
7
I
6
I
5
I
4
I
3
I
2
I
1
I
0
74148的引脚图及符号如图所示:
⒊ 优先编码器
1
2
3
4
5
7
6
GND
VCC
8
16
15
14
13
12
10
11
9
S
E
A2
A1
A 0
I3
I2
I1
I0
I4
I5
I6
I7
Is
74148
例 3-6
解:
8线 —3线优先编码器 74148和与非门构成的电路如图所示。试说明该电路的逻辑功能。
II
74148
7I2I1 I5 I6I4I3
I8I9
&
&11
F0F3 F1F2
A0A1A2
I0S
SIIIIIF 98983
,F2 =F1 = F0 =0
1?SI
0?SI,8-3线优先编码器
74148和与非门构成了 10线 -4线编码器例 3-6 真值表
0 0 0 0
1 0 0 1
1 0 0 0
0 1 1 1
0 1 1 0
0 1 0 1
0 1 0 0
0 0 1 1
0 0 1 0
0 0 0 1
0 0 0 0
1 1 1 1 1 1 1 1 1 1
× × × × × × × × × 0
× × × × × × × × 0 1
× × × × × × × 0 1 1
× × × × × × 0 1 1 1
× × × × × 0 1 1 1 1
× × × × 0 1 1 1 1 1
× × × 0 1 1 1 1 1 1
× × 0 1 1 1 1 1 1 1
× 0 1 1 1 1 1 1 1 1
0 1 1 1 1 1 1 1 1 1
F2 F2 F1 F0I2 I 3 I4 I5 I6 I7 I8 I9I1
输 出输 入
I0
例 3-7
解,74148的输出编码为反码形式,而题目要求输出为原码形式 。 根据题目要求需要两片 74148,设片 ⑴ 为低位片,片 ⑵ 为高位片 。
按着高位优先的原则应首先允许高位片 ⑵ 进行编码,
试用两片 74148接成 16线 -4线优先编码器,
输出编码为原码形式。
SLH IS?0SH?I
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 0 0 0
1 1 1 1
1 1 1 0
1 1 0 1
1 1 0 0
1 0 1 1
1 0 1 0
1 0 0 1
1 0 0 0
0 1 1 1
0 1 1 0
0 1 0 1
0 1 0 0
0 0 1 1
0 0 1 0
0 0 0 1
0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
× × × × × × × × × × × × × × × 0
× × × × × × × × × × × × × × 0 1
× × × × × × × × × × × × × 0 1 1
× × × × × × × × × × × × 0 1 1 1
× × × × × × × × × × × 0 1 1 1 1
× × × × × × × × × × 0 1 1 1 1 1
× × × × × × × × × 0 1 1 1 1 1 1
× × × × × × × × 0 1 1 1 1 1 1 1
× × × × × × × 0 1 1 1 1 1 1 1 1
× × × × × × 0 1 1 1 1 1 1 1 1 1
× × × × × 0 1 1 1 1 1 1 1 1 1 1
× × × × 0 1 1 1 1 1 1 1 1 1 1 1
× × × 0 1 1 1 1 1 1 1 1 1 1 1 1
× × 0 1 1 1 1 1 1 1 1 1 1 1 1 1
× 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
SEA3A2 A1 A0I0 I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 I11 I12 I13 I14 I15
输 出输 入表 3-10 例 3-7的真值表
3H AS?815 II?
中有低电平时,A3A2A1A0为 1111-1000。
07 I?
中有低电平时,3 2 1 0为 0 0 。
正常编码时,片⑴和片⑵总是只有一片工作。
不工作的那片的 3个输出端都为高电平,使与非门处于使能状态,
为工作的一片编码数据输出创造条件。
工作的一片编码器的 3
个输出端经与非门倒相后还原为原码。
3AS?
⑵ 片的
1?S
0?S
⑵ 片工作时,
否则,1
21 SSS
021 EEE
1,0 ES
若有编码输入否则
I
s
I
6
I
5
I
4
I
3
I
2
I
1
I
0
E
A
2
A
1
A
0
S
7 4 1 4 8
I
s
I
7
I
6
I
5
I
4
I
3
I
2
I
1
I
0
E
A
2
A
1
A
0
S
7 4 1 4 8
I
S
1 5
1 4
1 3
1 2
1 1
1 0
9
8
I
7
7
6
5
4
3
2
1
0
( 2 )
( 1 )





1
E
2
E
1
E
A
3
A
2
A
1
A
0
S
S
2
S
1
图 3 - 1 3 1 6 线 - 4 线 优 先 编 码 器 逻 辑 图
3.4译码器
译码是编码的逆过程 。
在编码时所使用的每一种二进制代码状态,都赋予了特定的含义,即表示了一个确定的信号或对象 。
把代码的特定含义,翻译,出来的过程叫做译码 。
实现译码操作的电路称做译码器 。
译码器可以将输入代码的状态转换成相应的输出信号,以表示其原意 。 根据需要,输出信号可以是脉冲,也可以是电位 。 译码器种类很多 。
3.4译码器
⒈ 二进制译码器 74138
⒉ 二 -十进制译码器
⒊ 半导体数码管和七段字型译码器
⒈ 二进制译码器
把二进制代码的各种状态,按照其原意翻译成对应输出信号的电路,叫做二进制译码器。
二进制译码器中如果输入代码有 n位,就有
2n个输出信号,每个输出信号都对应了输入代码的一种状态。这种译码器有时又称做变量译码器,因为它可以译出输入变量的全部状态。
逻辑图
A2,A1,A0为二进制代码输入端
70 FF?
输出端,低电平有效
321 SSS,、
为三个控制端 01
321 SSS,
译码器工作。否则禁止。
0120 AAAF? 0121 AAAF?0122 AAAF? 0123
AAAF?0124 AF 0125 AAAF?0126 AA? 017 A?




& &


1
1
1
1 1
1

F
0
F
1
F
2
F
3
F
4
F
5
F
6
F
7
S
1
S
2
S
3
A
0
A
1
A
2
图 3 - 1 4 7 4 1 3 8 逻 辑 图表 3-11 74138的真值表
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
0 1 1 1 1 1 1 1
1 0 1 1 1 1 1 1
1 1 0 1 1 1 1 1
1 1 1 0 1 1 1 1
1 1 1 1 0 1 1 1
1 1 1 1 1 0 1 1
1 1 1 1 1 1 0 1
1 1 1 1 1 1 1 0
× × ×
× × ×
000
001
010
0 1 1
100
101
1 1 0
111
代码输入
0 ×
× 1
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
使能输入 译码输出
F0 F1 F2 F3 F4 F5 F6 F7A2 A1 A0S1 S2+S3
74138译码器
74138的符号图及引脚图如图所示。
1
2
3
4
5
7
6
A
B
C
S2
S3
GND
S1
Vcc
Y0
Y1
Y2
Y3
Y5
Y4
8
16
15
14
13
12
10
11
9
Y7
Y6
74138
A
0
A
1
A
2
F
0
F
1
F
2
F
3
F
4
F
5
F
6
F
7
S
3
S
2
S
1
7 4 1 3 8
例 3-6
试用 74138译码器实现 4线 -16线译码器 。
解,74138只有三个代码输入端 (或称地址输入端 )。
4线 -16线译码器应有四个地址输入端,设为
A3A2A1A0。 A2A1A0与单片 74138的 A2A1A0相接,
选控制端作为 A3输入端 。 在 A3=0和 A3=1时应使低位片和高位片分别处于使能状态 。 有两种方案 。
例 3-6
试用 74138译码器实现 4线 -16线译码器 。
解:方案一,
+5V
A0 A1 A2 A3 S
A
0
A
1
A
2
F
0
F
1
F
2
F
3
F
4
F
5
F
6
F
7
S
3
S
2
S
1
7 4 1 3 8
A
0
A
1
A
2
F
0
F
1
F
2
F
3
F
4
F
5
F
6
F
7
S
3
S
2
S
1
7 4 1 3 8
方案一:具有使能端
S
1
S
2
S
3
A
0
A
1
A
2
0 1 2 3 4 5 6 7
7 4 1 3 8 ( 1 )
S
1
S
2
S
3
A
0
A
1
A
2
0 1 2 3 4 5 6 7
7 4 1 3 8 ( 2 )
+ 5 V
A
0
A A
2
A
3
S
0 1 2 3 4 5 6 7
8 9 1 0 1 1 1 2 1 3 1 4 1 5
图 3 - 1 5 方 案 一
1
方案二:不带控制端
S
1
S
2
S
3
A
0
A
1
A
2
0 1 2 3 4 5 6 7
7 4 1 3 8 ( 1 )
S
1
S
2
S
3
A
0
A
1
A
2
0 1 2 3 4 5 6 7
7 4 1 3 8 ( 2 )
+ 5 V
A
0
A A
2
A
3
0 1 2 3 4 5 6 7
8 9 1 0 1 1 1 2 1 3 1 4 1 5
图 3 - 1 5 方 案 二
1
实现逻辑函数举例
由于二进制译码器的每一个输出均是输入代码的最小项函数。故可用二进制译码器实现逻辑函数。
A B CCBACBACBA
A B CCBACBACBA
CBAF


)7,4,2,1(),,(
7421
012012012012
FFFF
AAAAAAAAAAAAF


令 A2=A,A1=B,A0=C,
则例
用 74138实现逻辑函数 F=∑(1,2,4,7)。
F
0
F
1
F
2
F
3
F
4
F
5
F
6
F
7
S
1
S
2
S
3
A
2
A
1
A
0
74138
F
A B C5V
&
二 -十进制译码器有很多种,其输入为一组 BCD码,输出是一组高,低电平信号 。
按其输入,输出线数又称做 4线 -10线译码器 。
CMOS二 -十进制译码器 CC4028
逻辑图表达式级联举例
⒉ 二 —十进制译码器
CC4028 的逻辑图 (参见 P64 图 3-
18)
F9 F8 F7 F6 F5 F4 F3 F2 F1 F0
&
A3 A2 A1 A0
≥1 ≥1 ≥1 ≥1 ≥1 ≥1 ≥1
& & & & & & & & &
1 1 1 1 1 1 1 1 1 1
1 1
1 1
1 1
1 1
CC4028为两级译码,第一级为下半部分,将输入数据译为七项:
第二级译码将下部七项分别组合译码输出为右下十项
10 AA?10 AA?10 AA?10 AA?32 AA?
32 AA?32 AA?
01230 AAAAF 01231 AAAAF 01232 AAAAF01236 01235 AAA0123 012347 0123801239 AAA
⒉ 二 —十进制译码器二十进制译码器
A0
A1
A2
A3
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
图 3-24 CC4028的逻辑符号和外引脚图
1
8
7
6
5
4
3
2
16
15
9
10
11
12
13
14
F4
VSS
F2
F0
F7
F9
F5
F6
VDD
F3
F1
F8
A2
A1
A3
A0
CC4028
表 3-12 CC4028的真值表
1 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 1
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
输 出
0000
0001
0010
0 0 1 1
0100
0101
0 1 1 0
0 1 1 1
1000
1001
A3 A2 A1 A0
输 入
A3A2A1A0只能输入
8421码。
六个无关项没有参与化简,出现这些无关项时,译码器也不会出现错误。输出全为 0。
当将 A3端置 0,输入 A2A1A0的 3位二进制码就可以在输出端转译为八进制码。
多片级联
用多片 CC4028级联,可构成 N位二进制~ 2N地址译码器 。
用两片 CC4028构成的 4位二进制码转译成 16地址码 。
当输入为 0000~ 0111时,⑴片的 A3=0,F0~ F7输出 1,
⑵片的 A3=1,F0~ F7( 8~ 15)输出 0;
当输入为 1000~ 1111时,⑵片的,~ 输出
1,⑴片的 A3=1 F0~ F7( 0~ 7)输出 。
当 A3A2A1A0为 1010~ 1111时,F0~ F9全为 0。当将 3置 0输入 A2A1A0的二进制码就可在输出端转译为八进制码。
图 3-25 CC4028 级联图
CC4028⑴
0 1 2 3 4 5 6 7
A0 A1 A2
F3 F4 F5 F6 F7 F8 F9
A3
F0 F1 F2
CC4028⑵
8 9 10 11121314 15
A0 A1 A2
F3 F4 F5 F6 F7 F8 F9
A3
F0 F1 F2
&
⒊ 半导体数码管和七段字型译码器
数码管即数码显示器 。
常用的数码显示器有半导体数码管,荧光数码管,辉光数码管和液晶显示器等 。
由于各种工作方式的显示器件对译码器的要求各不相同,故需根据不同的显示器件介绍其显示译码器 。
本节只研究驱动七段发光二极管的显示译码器,故首先介绍七段发光二极管的简单显示原理 。
⒊ 半导体数码管和七段字型译码器
一些特殊半导体材料,如磷砷化镓作成的 PN结,
当外加正向电压时,可以将电能转换为光能,从而发出清晰悦目的光线 。 利用这种 PN结,可封装成单个的发光二极管,也可封装成分段式 ( 或点阵式 ) 的显示器件,如用七个作成条形的发光二极管排列成组合字型 。 还常在其右下角组合一个圆形发光二极管用来显示数字中的小数点 。 这种数码管常称为 七段数码管 。
按其内部结构可分为共阴极和共阳极数码管如图 3-
26示 。
半导体数码管
a
a
b
b
c
c
d
d
e
e
f
f
g
g
阳 极阴 极
( a ) ( b )

3 - 1 9
半 导 体 数 码 管
( a )
共 阳 极 形 式
( b )
共 阴 极 形 式
( c )
共 阴 极 结 构
( d )
共 阳 极 结 构阳 极阴 极图半 导 体 数 码 管阳 极阴 极图半 导 体 数 码 管共 阴 极 结 构 共 阳 极 结 构
a b c d e f g
a b c d e f g
a
b
c
d
e
f
g
( c )
( d )
a
b
c
d
e
f
g
V C C

1

1

1

1

1

1

1

& &




1

1
1
1
≥ 1 ≥ 1 ≥ 1 ≥ 1
≥ 1
≥ 1
≥ 1
&&

&&
&&
a b
c
d
e
f
g
G
2 0
G
2 1
G
2 2
G
2 3
G
2 4
G
2 5
G
2 6
G
9
G
1 0
G
1 1
G
1 2
G
1 3
G
1 4
G
1 5
G
5
G
6
G
7
G
8
G
1
G
2
G
3
G
4
G
1 9
G
1 8
G
1 7
G
1 6
R B IL TB I / R B O
A
0
A
1
A
2
A
3
图 3 - 2 0 二 - 十 进 制 七 段 译 码 器 7 4 4 7 逻 辑 图七段字型译码器
0
1
2
3
4
5
6
7
8
9
熄灭熄灭
8
显示数字符号
0 0 0 0 0 0 1
1 0 0 1 1 1 1
0 0 1 0 0 1 0
0 0 0 0 1 1 0
1 0 0 1 1 0 0
0 1 0 0 1 0 0
1 1 0 0 0 0 0
0 0 0 1 1 1 1
0 0 0 0 0 0 0
0 0 0 1 1 0 0
1 1 1 1 1 1 1
1 1 1 1 1 1 1
0 0 0 0 0 0 0
a b c d e f g
输 出
1 1 0 0 0 0 1
1 × 0 0 0 1 1
1 × 0 0 1 0 1
1 × 0 0 1 1 1
1 × 0 1 0 0 1
1 × 0 1 0 1 1
1 × 0 1 1 0 1
1 × 0 1 1 1 1
1 × 1 0 0 0 1
1 × 1 0 0 1 1
× × × × × × 0
1 0 0 0 0 0 0
0 × × × × × 1
LT RBI A3 A2 A1 A0
BI/RBO
输 入表 3-13 74LS47功能表试灯输入 LT
× × × × × 0
BI灭灯输入 RBO灭零输出
1
1
熄灭熄灭
RBI灭零输入熄灭当 作为灭零输出端使用时,本位灭零后输出低电平。用于控制相邻位是否应该灭零。图中整数部分的个位和小数部分的十分位没有使用灭零功能,当全部数据为零时则可保留显示 0.0,否则七位将会全部熄灭。
RBOBI /
R B I
R B I
R B I R B I
R B I R B I
R B I R B O R B IR B OR B O
R B O
R B OR B OR B OR B O
小 数 点
,1

,1,
图 3 - 2 1 八 位 数 字 显 示 系 统 的 灭 零 控 制
RBO灭零输出
a
b
c
d
e
f
g
3 0 0 Ω
R
1 4 1 5 9 1 0 1 1 1 2 1 3
g f e d c b a
3 4 5 1 6
A
3
A
2
A
1
A
0
A
3
A
2
A
1
A
0
6 2
1 7
8
G N D
7 4 4 7
L T R B O R B I V
C C
+ 5 V
图 3 - 2 2 共 阳 极 L E D 数 字 显 示 器 与 译 码 器 接 线 图
1 2
6 7
5 9 4 3 8
用输出低电平有效的译码器驱动共阳极数码管和用输出高电平有效的译码器驱动共阴极数码管的接线图。图中 R
为限流电阻。
A
3
A
2
A
1
A
0
A
3
A
2
A
1
A
0
a
b
c
d
e
f
g
L T
R B O
R B I
G N D
V
C C
7
4
4
8
a
b
c
d
e
f
g
R
1 k Ω
图 3 - 2 3 共 阴 极 L E D 数 字 显 示 器 与 译 码 器 接 线 图
+ 5 V
1
3.5 数据分配器和 数据选择器
⒈ 数据分配器
⒉ 数据选择器
⒈ 数据分配器
数 据 分 配 器 又 称 多 路 解 调 器,简称
DEMUX。
其功能是将一路数据根据需要送到被指定的一路输出通道上去 。
数据分配器是一个多输出的逻辑电路 。
D
K
W
3
W
2
W
1
W
0
A B
图 3 - 2 4 数 据 分 配 器 示 意 图
A
B
W
3
W
2
W
1
W
0
&&&&
1
1
D
图 3 - 2 5 四 路 数 据 分 配 器
开关 K受地址输入 A,B控制,将数据 D分配到选定的通道中去。例如,AB=01时,将 D送到 W1通道。
数据分配器的原理示意图
DF?0
当 A2A1A0=000时
DF?1
A2A1A0=001时
DF?7
A2A1A0=111时
用三线 -八线译码器 74138可以实现八路
DEMUX。

F0 F1 F2 F3 F4 F5 F6 F7
74138
S1 S2 S3 A2 A1 A0
A2 A1 A01 D
数据输入原码输出
(a)
反码输出
F
0
F
1
F
2
F
3
F
4
F
5
F
6
F
7
7 4 1 3 8
S
1
S
2
S
3
A
2
A
1
A
0
A
2
A
1
A
0
D
数 据 输 入反 码 输 出
( b )
032 SS
若令 S1=D,
则构成另一种 DEMUX。
DF?0
DF?1
DF?7
即当 A2A1A0=000时,
A2A1A0=001时,
A2A1A0=111时,
⒉ 数据选择器
数 据选 择器又 叫多 路开关,简称 MUX
(Multiplexer)。 数据选择器的逻辑功能是在地址选择信号的控制下,从多路数据中选择一路数据作为输出信号 。
数据选择器原理示意图
A
1
A
0
D
0
D
1
D
2
D
3
S
F
A1 A0 D0 D1 D2 D3 E
四选一数据选择器逻辑图
≥1
F
&
1 1
1 1
1
mi (i=0,1,2,3)是地址选择信号 A1和 A0的四个最小项 。 每当 A1和
A0有一组确定取值时,
F有相应的数据输出 。

3
0
301201101001
i
ii Dm
DAADAADAADAAF
表达式
E
由逻辑图可列出数据选择器的输出函数表达式
(在 = 0时选择器工作 ):
A1 A0 D0 D1 D2 D3 E
四选一数据选择器逻辑图
≥1
F
&
1 1
1 1
1
双四选一数据选择器 74153的逻辑图
1 1 1
1
1
1
≥ 1

≥ 1

D
'
0
D
'
1
D
'
2
D
'
3
E
'
D
0
D
1
D
2
D
3
A
1
E
A
0
F
1
F
0
表 3-17 74153功能表
0 0
D0 (D’0)
D1 (D’1)
D2 ( D’2)
D3 ( D’3)
× ×
D0~D3 (D’0~D’3)
D0~D3 (D’0~D’3)
D0~D3 (D’0~D’3)
D0~D3 (D’0~D’3)
1
0
0
0
0
× ×
0 0
0 1
1 0
1 1
F1 (F2)Di ( D’i)E (E’)A1 A0
数 据使 能地址选择 输 出数 据
74153的功能表
F
1
F
2
A
1
A
0
7 4 1 5 3
D
'
0
D
'
2
D
'
1
D
'
3
E
'
D
3
D
2
D
1
D
0
E
八选一数据选择器 74151
F
F
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
A
2
A
1
A
0
E

≥ 1
1
1
1
1
1
1
1
1



7
0
ii
70126012
501240123012
201210120012
i
Dm
DAAADAAA
DAAADAAADAAA
DAAADAAADAAAF



7
0
70126012
501240123012
201210120012
i
ii
Dm
DAAADAAA
DAAADAAADAAA
DAAADAAADAAAF
八选一数据选择器 74151
表 3-16 74151的功能表
1
D0
D1
D2
D3
D4
D5
D6
D7
0
D0
D1
D2
D3
D4
D5
D6
D7
×
0
1
0
1
0
1
0
1
×
0
0
1
1
0
0
1
1
×
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
FFA1A2A3E
用 74153双 4选一构成 8选一数据选择器
F
1
F
2
A
1
A
0
7 4 1 5 3
D
'
0
D
'
2
D
'
1
D
'
3
E
'
D
3
D
2
D
1
D
0
E
1
≥ 1
A
0
A
1
A
2
F
G
1
D
3
D
2
D
1
D
0
D
7
D
6
D
5
D
4
F
1
F
2
A
1
A
0
7 4 1 5 3
D
'
0
D
'
2
D
'
1
D
'
3
E
'
D
3
D
2
D
1
D
0
E
数据选择器实现逻辑函数
由于数据选择器的输出函数形式是与 -或式,所以,可以用数据选择器实现任意函数 。
⒈ 输入变量的个数与数据选择器的地址变量个数相等时一般单输出组合逻辑电路都可以用数据选择器来实现 。
代数比较法
5V
A
B
C
D2D0 D1 D4 D5 D6 D7D3
E
F
A2
A1
A0
F=∑(m1,m2,m4,m7)

试用八选一数据选择器实现逻辑函数
F(A,B,C)=∑(m1,m2,m4,m7)。
数据选择器实现逻辑函数
⒉ 若实现的函数变量比所用的 MUX地址变量个数多,是否仍可以用代数比较法呢?
回答是肯定的 。
当 MUX地址变量为 n,函数变量为 n+1时,
先从 n+1个函数变量中选取其中的 n个变量与地址变量一一对应,再将函数展开为这 n
个变量的最小项之和的形式,这时各最小项的系数可能是常量 0或 1,也可能是剩余变量的原变量或反变量 。
A B CCBACBACBA
A B CCBACBACBAF


301201101001 DAADAADAADAAF
C
D0 D1 D2
A0
A1
D3
F
E
∑(m1+m2+m4+m7)
B
A
CDDCDD 2130,
&
2009-7-31 东北大学信息学院 98
3.6 数值比较电路
数值比较电路是用来比较两个二进制数的大小或是否相等的电路 。
比较原理
一位比较器
四位比较器
2009-7-31 东北大学信息学院 99
比较原理
比较两个二进制数的大小要从最高位开始比较直至最低位 。
如对于 A=A3A2A1A0 和 B=B3B2B1B0,若
A3>B3,以下各位不必比较,就可判断
A>B,反之,若 A3<B3,则 A<B;
若 A3=B3,则比较 A2和 B2的关系,…… 直至最低位,从而可以确定 A和 B的关系;
只有 A和 B各位都相等才有 A=B。
2009-7-31 东北大学信息学院 100
一位比较器
两个一位二进制数 Ai和 Bi的比较有三种结果,Ai>Bi,Ai<Bi,Ai=Bi。 其真值表如表 3-
19所示 。
表 3-19 一位比较器真值表输 入 输 出
Ai Bi (Ai=Bi) (Ai<Bi) (Ai>Bi)
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
由表可得出一位比较器的三个输出端的逻辑表达式分别为:
iiii )( BABA
iiii )( BABA
iiii )( BABA
2009-7-31 东北大学信息学院 101
(Ai=Bi)
Ai Bi
(Ai<Bi) (Ai>Bi)
图 3-33一位比较器
≥1& &
& &
1 1
一位比较器逻辑图
iiii )( BABA
iiii )( BABA
iiii )( BABA
2009-7-31 东北大学信息学院 102
四位比较器
中规模四位数值比较器 CC14585(74LS85)
的逻辑图和逻辑符号如图 3-34所示。
2009-7-31 东北大学信息学院 103
四位比较器
(a<b)
(a=b) (a>b)
B0A
0B
1A
1B
2A
2B
3A
3
(A>B)
(A=B)
(A<B)
(b) 逻辑符号
A
3
A
2
A
1
A
0
B
3
B
1
B
2
B
0
1
1
1
1
1
1
1
1















≥ 1
≥ 1
≥ 1
≥ 1
≥ 1
≥ 1
A > B
A < B
A = B
a
>
b
a
<
b
a
=
b
A
3

B
3
A
2

B
2
A
1

B
1
A
0

B
0
A3A2A1A0和
B3B2B1B0为比较输入; A>B,A<B,A=B
为比较输出;
a>b,a<b,a=b
为级联输入。
2009-7-31 东北大学信息学院 104
表 3-20 四位数值比较器真值表



比 较 输 入 级 联 输 入 输 出
A3 B3 A2 B2 A1 B1 A0 B0 (a>b) (a<b) (a=b) (A>B) (A<B) (A=B)
A3>B3
A3<B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
× ×
× ×
A2>B2
A2<B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
× ×
× ×
× ×
× ×
A1>B1
A1<B1
A1=B1
A1=B1
A1=B1
A1=B1
A1=B1
× ×
× ×
× ×
× ×
× ×
× ×
A0>B0
A0<B0
A0=B0
A0=B0
A0=B0
× × ×
× × ×
× × ×
× × ×
× × ×
× × ×
× × ×
× × ×
1 0 0
0 1 0
0 0 1
1 0 0
0 1 0
1 0 0
0 1 0
1 0 0
0 1 0
1 0 0
0 1 0
1 0 0
0 1 0
0 0 1
注:①只要两数最高位不等,就可以判断两数大小。其余各位可以为任意值。
2009-7-31 东北大学信息学院 105
表 3-20 四位数值比较器真值表



比 较 输 入 级 联 输 入 输 出
A3 B3 A2 B2 A1 B1 A0 B0 (a>b) (a<b) (a=b) (A>B) (A<B) (A=B)
A3>B3
A3<B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
× ×
× ×
A2>B2
A2<B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
× ×
× ×
× ×
× ×
A1>B1
A1<B1
A1=B1
A1=B1
A1=B1
A1=B1
A1=B1
× ×
× ×
× ×
× ×
× ×
× ×
A0>B0
A0<B0
A0=B0
A0=B0
A0=B0
× × ×
× × ×
× × ×
× × ×
× × ×
× × ×
× × ×
× × ×
1 0 0
0 1 0
0 0 1
1 0 0
0 1 0
1 0 0
0 1 0
1 0 0
0 1 0
1 0 0
0 1 0
1 0 0
0 1 0
0 0 1
② 若高位相等,则需要比较低位。
2009-7-31 东北大学信息学院 106
表 3-20 四位数值比较器真值表



比 较 输 入 级 联 输 入 输 出
A3 B3 A2 B2 A1 B1 A0 B0 (a>b) (a<b) (a=b) (A>B) (A<B) (A=B)
A3>B3
A3<B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
× ×
× ×
A2>B2
A2<B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
× ×
× ×
× ×
× ×
A1>B1
A1<B1
A1=B1
A1=B1
A1=B1
A1=B1
A1=B1
× ×
× ×
× ×
× ×
× ×
× ×
A0>B0
A0<B0
A0=B0
A0=B0
A0=B0
× × ×
× × ×
× × ×
× × ×
× × ×
× × ×
× × ×
× × ×
1 0 0
0 1 0
0 0 1
1 0 0
0 1 0
1 0 0
0 1 0
1 0 0
0 1 0
1 0 0
0 1 0
1 0 0
0 1 0
0 0 1
③ 若 A,B两数各位均相等,输出状态取决于级联输入状态。
2009-7-31 东北大学信息学院 107
表 3-20 四位数值比较器真值表



比 较 输 入 级 联 输 入 输 出
A3 B3 A2 B2 A1 B1 A0 B0 (a>b) (a<b) (a=b) (A>B) (A<B) (A=B)
A3>B3
A3<B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
× ×
× ×
A2>B2
A2<B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
× ×
× ×
× ×
× ×
A1>B1
A1<B1
A1=B1
A1=B1
A1=B1
A1=B1
A1=B1
× ×
× ×
× ×
× ×
× ×
× ×
A0>B0
A0<B0
A0=B0
A0=B0
A0=B0
× × ×
× × ×
× × ×
× × ×
× × ×
× × ×
× × ×
× × ×
1 0 0
0 1 0
0 0 1
1 0 0
0 1 0
1 0 0
0 1 0
1 0 0
0 1 0
1 0 0
0 1 0
1 0 0
0 1 0
0 0 1
Ai=Bi 1
ii BA
1ii?BAAi>Bi
Ai<Bi
1ii?BA
2009-7-31 东北大学信息学院 108
表 3-20 四位数值比较器真值表



比 较 输 入 级 联 输 入 输 出
A3 B3 A2 B2 A1 B1 A0 B0 (a>b) (a<b) (a=b) (A>B) (A<B) (A=B)
A3>B3
A3<B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
× ×
× ×
A2>B2
A2<B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
× ×
× ×
× ×
× ×
A1>B1
A1<B1
A1=B1
A1=B1
A1=B1
A1=B1
A1=B1
× ×
× ×
× ×
× ×
× ×
× ×
A0>B0
A0<B0
A0=B0
A0=B0
A0=B0
× × ×
× × ×
× × ×
× × ×
× × ×
× × ×
× × ×
× × ×
1 0 0
0 1 0
0 0 1
1 0 0
0 1 0
1 0 0
0 1 0
1 0 0
0 1 0
1 0 0
0 1 0
1 0 0
0 1 0
0 0 1
)(
)(
00112233
00112233
112233223333
baBABABABA
BABABABA
BABABABABABABA



2009-7-31 东北大学信息学院 109
表 3-20 四位数值比较器真值表



比 较 输 入 级 联 输 入 输 出
A3 B3 A2 B2 A1 B1 A0 B0 (a>b) (a<b) (a=b) (A>B) (A<B) (A=B)
A3>B3
A3<B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
× ×
× ×
A2>B2
A2<B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
× ×
× ×
× ×
× ×
A1>B1
A1<B1
A1=B1
A1=B1
A1=B1
A1=B1
A1=B1
× ×
× ×
× ×
× ×
× ×
× ×
A0>B0
A0<B0
A0=B0
A0=B0
A0=B0
× × ×
× × ×
× × ×
× × ×
× × ×
× × ×
× × ×
× × ×
1 0 0
0 1 0
0 0 1
1 0 0
0 1 0
1 0 0
0 1 0
1 0 0
0 1 0
1 0 0
0 1 0
1 0 0
0 1 0
0 0 1
)(
)(
00112233
00112233
112233223333
baBABABABA
BABABABA
BABABABABABABA



2009-7-31 东北大学信息学院 110
表 3-20 四位数值比较器真值表



比 较 输 入 级 联 输 入 输 出
A3 B3 A2 B2 A1 B1 A0 B0 (a>b) (a<b) (a=b) (A>B) (A<B) (A=B)
A3>B3
A3<B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
× ×
× ×
A2>B2
A2<B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
× ×
× ×
× ×
× ×
A1>B1
A1<B1
A1=B1
A1=B1
A1=B1
A1=B1
A1=B1
× ×
× ×
× ×
× ×
× ×
× ×
A0>B0
A0<B0
A0=B0
A0=B0
A0=B0
× × ×
× × ×
× × ×
× × ×
× × ×
× × ×
× × ×
× × ×
1 0 0
0 1 0
0 0 1
1 0 0
0 1 0
1 0 0
0 1 0
1 0 0
0 1 0
1 0 0
0 1 0
1 0 0
0 1 0
0 0 1
)()( 00112233 baBABABABABA
2009-7-31 东北大学信息学院 111
图 3-35 四位数值比较器引脚图
CMOS比较器 TTL比较器
1 6 1 5 1 4 1 3 1 2 1 1 1 0 9 1 6 1 5 1 4 1 3 1 2 1 1 1 0 9
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
C C 1 4 5 8 5
C 6 6 3
V
D D
A
3
B
3
A > B A < B B
0
A
0
A
1
B
2
A
2
A = B a < ba > b a = b A
1
V
s s
7 4 8 5
7 4 L S 8 5
V
c c
A
3
B
2
A
2
A
1
B
1
A
0
B
0
B
3
a > ba < b a = b A = BA > B A < B 地四位比较器的外引脚排列图
2009-7-31 东北大学信息学院 112
八位二进制数比较时,若高四位相等,就得看低四位比较结果 。
用两片 74LS85比较八位数时,高四位的输出就是八位数比较结果的输出 。
低四位片输出接到高四位片的级联输入,
从而高四位相等时,高四位的输出取决于级联输入 —低四位的比较结果 。
四位比较器的级联
2009-7-31 东北大学信息学院 113
A3
A2
A1
A0
B3
B2
B1
B0
A>B
A<B
A=B
a>b a=b a<b
74LS85
(1)
0 1 0
两片 74LS85构成的八位数值比较的逻辑图
A3
A2
A1
A0
B3
B2
B1
B0
A>B
A<B
A=B
a>b a=b a<b
74LS85
(2)
实现逻辑图
2009-7-31 东北大学信息学院 114

A B C D F1 F2 F3
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
0 1 0
0 0 1
0 0 1
0 0 1
0 0 1
0 0 1
0 0 1
解:若把 A,B,C,D看成二进制数时,
ABCD=0110时,F2=1;
ABCD<0110时,F1=1;
ABCD>0110时,F3=1;
上述分析结果是 ABCD与二进制 0110比较得出的 。
1 1 0
因此选用四位二进制数值比较器较为方便。
令 A3A2A1A0=ABCD,
B3B2B1B0= 110,
A<B时为 F1,A=B时为 F2,
A>B时为 F3。
逻辑图如图所示。
试选用中规模集成电路实现左表所示电路。
2009-7-31 东北大学信息学院 115
a>b a<ba=b
A3
A2
A1
A0
B3
B2
B1
B0
A>B
A<B
A=B
74LS85
+5V
F3
F2
F1
A
B
C
D
0
1
1
0
例子的逻辑图
2009-7-31 东北大学信息学院 116
3.6 算数运算电路
⒈ 二进制加法电路
⒉二进制减法电路
⒊算术逻辑单元 (ALU)
2009-7-31 东北大学信息学院 117
⒈ 二进制加法电路
⑴ 半加和全加的概念
⑵半加器( Half Adder)
⑶ 全加器( Full Adder)
⑷加法器
①串行加法器
②并行加法器串行进位并行加法器超前进位并行加法器
⑸ BCD码加法器
2009-7-31 东北大学信息学院 118
⑴ 半加和全加的概念
两个 n位二进制数相加,是从最低有效位开始相加,得到,和数,并传送进位最后得到结果。
最低位只有加数和被加数相加,称为半加;
其余各位是加数、被加数和相邻低位的进位相加称为全加。
2009-7-31 东北大学信息学院 119
⑵ 半加器 ( Half Adder)
半加器:完成只有加数和被加数相加的电路,称为半加器,如最低位的加法。
2009-7-31 东北大学信息学院 120
iiiiiii BABABAS
ii1i BAC
Ai Bi Si Ci+1
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
半加器真值表 Ai
Bi Si
Ci+1
(a)
&
=1
Ci+1
ΣA
i
Bi
Si
(b)
CO
Ci+1
HA
Ai
Bi
Si
(c)
半加器的逻辑符号及真值表
2009-7-31 东北大学信息学院 121
⑶ 全加器( Full Adder)
全加器:能够完成除了加数,被加数相加之外,还要加上相邻低位的进位的电路,
称为全加器 。
2009-7-31 东北大学信息学院 122
Ai Bi Ci
0 0
1 0
1 0
0 1
1 0
0 1
0 1
1 1
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
Si Ci+1
全加器真值表
iiii CBAS
)( iiiii1i BACBAC
全加器的真值表和加数被加数 低位来的进位向高位的进位
Ai BiCi 0 1
00
01
11
10
Ai BiCi 0 1
00
01
11
10
0
0
0
0
0 0
0
0
1
1
1
1
1
1 1
1
Si Ci+1
2009-7-31 东北大学信息学院 123iiii CBAS
)( iiiii1i BACBACS
i
Ai
Bi
Ci Ci+1
FA
全加器惯用逻辑符号
SiAi
Bi
Ci Ci+1
Σ
全加器国标逻辑符号
CI CO
全加器的逻辑符号和逻辑图
=1
=1
Ci+1
Si
Ai Bi Ci
全加器逻辑图
≥1
&
&
2009-7-31 东北大学信息学院 124
⑷ 加法器
加法器:实现多位二进制数加法运算的电路。
串行加法器:串行加法器采用串行运算方式,
从二进制数的最低位开始,逐位相加至最高位,最后得出和数。
并行加法器:并行加法器采用并行运算方式,
将各位数同时相加,因而提高了运算速度。
2009-7-31 东北大学信息学院 125
并行加法器
按进位数传递方式可分为串行进位和并行进位两种方式并行加法器。
串行进位并行加法器的全加器的个数等于相加数的位数 。
图 3-38串行进位并行加法器的逻辑图 。
C I

C O
B
3
A
3
C
3
C
4
S
3
C I

C O
B
2
A
2
C
2
C
3
S
2
C I

C O
B
1
A
1
C
1
C
2
S
1
C I

C O
B
0
A
0
C
0
= 0
C
1
S
0
图 3 -3 8 串 行 进 位 并 行 加 法 器
2009-7-31 东北大学信息学院 126
串行进位并行加法器
全加器的个数等于加数的位数 。 优点是电路简单,
连接方便;缺点是运算速度不高 。 最高位的运算,
必须等到所有低位运算依次结束,送来进位信号之后才能进行 。
C I

C O
B
3
A
3
C
3
C
4
S
3
C I

C O
B
2
A
2
C
2
C
3
S
2
C I

C O
B
1
A
1
C
1
C
2
S
1
C I

C O
B
0
A
0
C
0
= 0
C
1
S
0
图 3 - 3 8 串 行 进 位 并 行 加 法 器
2009-7-31 东北大学信息学院 127
超前进位并行加法器
超前进位并行加法器采用超前进位 ( 并行进位 ) 的方法,能够先判断出各位的进位是 0还是 1,因此四个全加器可同时相加,从而提高了运算速度 。
3-39为四位超前进位加法器 74LS283的逻辑图 。 它由四个全加器和超前进位电路组成 。 每位全加器输出本位和 Si,绝对进位 Gi及产生相对进位用的 Pi,Pi=Ai⊕ Bi。
2009-7-31 东北大学信息学院 128
每位全加器输出本位和 Si
=1
=1
=1
=1












≥ 1
≥ 1
≥ 1
≥ 1
≥ 1
≥ 1
≥ 1
≥ 1
11
B
3
B
2
B
1
B
0
A
3
A
2
A
1
A
0
C
0
S
0
S
1
S
2
S
3
C
1
C
2
C
3
( C
4
)
CO
P
3
P
2
P
1
P
0
进位信号
)( iiiii1i BACBAC
令 AiBi=Gi为绝对进位,
PiCi为相对进位则 Ci+1=Gi+PiCi
四位进位信号的逻辑表达式,C1=A0B0+(A0⊕ B0)C0=G0+P0C0
C2=G1+P1C1
=G1+P1(G0+P0C0)
=G1+P1G0+P1P0C0
C3=G2+P2C2
=G2+P2(G1 1G0+P1 0)
=G2+P2 1+P2P1G0+ 2 1P0C0
C4=G3+P3C3=G3+P3(G2+P2G1
+P2P1G0+P2P1P0C0)
=G3+P3G2+P3P2G1+P3P2P1G0+
P3P2P1P0C0
2009-7-31 东北大学信息学院 129
FA
FA
FA
FA
≥1
≥1
≥1
≥1
C0
A0
B0
C0S
0
P0
G0
C1
B1
A1
C2
A2
B2
C3
A3
B3
S1
P1
G1
S2
P2
G2
S3
P3
G3
&2
C4
3
C3
C2
C1
图 3-39四位超前进位并行加法器
=1
=1
1
&
&
&
&
&
&
&
&
&
2009-7-31 东北大学信息学院 130
由这些表达式画出的超前进位电路实现了相对进位信号的快速传递 。
各位和如下式:
S0=A0⊕ B0⊕ C0
S1=A1⊕ B1⊕ C1
S2=A2⊕ B2⊕ C2
S3=A3⊕ B3⊕ C3
和数信号与进位信号是同时产生的,不必逐级传送 。 因而,提高了运算速度 。
2009-7-31 东北大学信息学院 131
A3 A2 A1A0
C0
B3 B2 B1B0
S3 S2 S1 S0
C4 74283
S1 B1
16 15 14 13 12 11 10 9
87654321
VCC B2 S3 CO
A1 B0 CI GND
A2 S2 A3 B3
A0S0
A2 S2B2 A3 B3 S3
C4
C0B0A0A1 S0B1
S1
74283的外引线排列图和逻辑符号
74LS283的逻辑符号及外引脚排列图
2009-7-31 东北大学信息学院 132

解:按照加法的规则,低四位的进位输出 CO
应接高四位的进位输入 CI,而低四位的进位输入应接 0。 逻辑图如图所示 。
两片 74283构成八位二进制加法器
A3A2 A1A0
CI
B3B2B1B0
S3 S2 S1 S0
CO 74283
A3A2 A1A0
CI
B3 B2B1B0
S3 S2 S1 S0
CO 74283 0
试用两片 74LS283构成八位二进制数加法器。
2009-7-31 东北大学信息学院 133
⑸ BCD码加法器
BCD( Binary Coded Decimal) 码是用二进制代码分别表示十进制数各位的代码组合 。
由于每位十进制数最大为 9,所以 BCD码相加时,
其值超过 9的位必须通过减 10或加 6加以调整 。
因此 BCD码相加时,其和有需要调整和不需要调整两种情况:
一种和数为 0-9,不需要调整;
另一种和数为 10-18,需要调整
0011
0100+)
0111
1100
+) 0110
1 0010
0111
+) 0101
1100
非 BCD码需要调整
2009-7-31 东北大学信息学院 134
图为一位 BCD码并行加法器逻辑图。
门 G1,G2,G3用来产生加 6的控制信号 。 当门 G1,G2为
1时,说明,和,
输出端为 10,11、
12,13,14,15。
当 C'5为 1时,和数为 16,17,18。
A4 A1A3 A2
S4 S3 S2 S1
FA
B4
C4 FA
B1
C1FA
B3
C3
FA
B2
C2
G1
G2
≥1 FA HA
C'5
G3
C5进位输出
S'4 S'3 S'2 S'1 进位输入一位 BCD码并行加法器
=1
由四位串行进位并行加法器和十进制调整电路组成。
以上情形都需要向高位加法器传送进位信号 C5,并对和
S'3,S'2位加 1,实现加 6调整。
要实现多位 BCD
码相加,可以用若干个此电路组成多位 BCD码加法器。
2009-7-31 东北大学信息学院 135
例:
试用 74LS283实现 8421码的加法运算。
两个一位 8421码相加之和,最小数是
0000+0000=0000;
最大数是 1001+1001=11000( 8421码的 18)。
74LS283为四位二进制加法器。用它进行 8421码相加时,若和数小于等于 9时,无需修正(加
0000),即 74283输出为 8421码相加之和。
当和数大于等于十进制数 10时,需加 6予以修正,
加 0110。
2009-7-31 东北大学信息学院 136
S3S2
S1S0
00 01 11 10
00
01
0 0 0 0
000 0
11
10
1
0
1
1
1
1
1
0
C= S3S2+S3S1
A3 A2 A1 A0
CI
B3 B2 B1 B0
S3 S2 S1 S0
CO 74283( 2)
A3 A2 A1 A0
CI
B3 B2 B1 B0
S3 S2 S1 S0
CO 74283( 1)
十位
≥1
C
个位
A3 A2 A1 A0 B3 B2 B1 B0
&
&
用 C作为控制端,
C=0时不修正,
C=1修正加 0110。
逻辑图如图所示。
修正信号方程为
=CO+S3S2+S3S1
逻辑图如图所示
2009-7-31 东北大学信息学院 137
⒉ 二进制减法电路
在计算机中,常常用加法器实现减法运算。
二进制正、负数表示方法不同,实现减法运算的电路也不同。
二进制正、负数的表示方法原码表示法补码表示法
2009-7-31 东北大学信息学院 138
原码表示法
原码表示法又称为符号 -绝对值表示法。
在二进制数最高位前增加一位符号位,
符号位为 0,表示是正数,符号位为 1表示是负数。其余各位表示数的绝对值。
如,A=+10010; B=-10010。
[+ 10010]原 =010010;
[ - 10010]原 =110010。
2009-7-31 东北大学信息学院 139
补码表示法
一个正数的补码与其原码相同 。
如一个二进制正数 A=+10110的原码
[A]原 =[+10110]原 =010110,
[A]补 =[+10110]补 =010110
一个负数的补码为在符号位 1不变的前提下,
绝对值取反加 1。
取反得反码 。
如 110010 原码
101101 反码
101101 反码
+ 1 加 1
101110 补码
2009-7-31 东北大学信息学院 140
也可以用 2n-A的方法求出 -A的补码。
[- A]补 =2n - A 其中 n为 A的位数。
例如 [-13]10=[- 1101]2,
[- 1101]补 =24-1101=10000 - 1101=0011
它的补码为,[- 1101]补 =1,0011
如 -10010的补码为
25-10010=100000-10010=01110,再加上符号位,
则 -10010的补码为 101110。
与上面方法求得的补码相同。
补码表示法
2009-7-31 东北大学信息学院 141
减法电路
因为减正数等于加负数;减负数等于加正数。
有了正、负数的补码表示法,就可以变减法为补码加法运算。
⒈用补码完成减法
①用补码表示正、负数,X-Y= X+[-Y]补 的补码加法运算。
二进制原码减法运算
0101 5
- 0010 2
0011 3
二进制补码加法运算补码运算结果仍为补码 。 差值为正时,补码原码相同,为十进制数 3。
0101 5
+ 1110 -2的补码
1 0011 3
符号位溢出舍掉
2009-7-31 东北大学信息学院 142
减法电路
补码运算的结果仍为补码。结果为正数,
符号位为 0,结果为负数,符号位为 1。
再对 1101求补得原码,即 [1101]补 =1011,结果为 -3。
将加减运算变换成补码加法运算非常方便。
4
-) 7
- 3
0 1 0 0
1 0 0 1+)
1 1 0 1
4的补码
-7的补码
-3的补码
2009-7-31 东北大学信息学院 143
补码加法运算的步骤是:
① 把减法运算表示成加法运算;
②将两数各自求补;
③将求补后的两个补码相加,如有溢出则丢掉,对运算结果求补,得到原码。
2009-7-31 东北大学信息学院 144
2.求反电路
求反电路可以用异或门实现,如图 3-40所示。
=1
F3
A3
=1
F2
A2
=1
F1
A1
=1
F0
A0
M
图 3-40 求反电路
M=0时,
iii 0 AAF
iii 1 AAF
M=1时,
2009-7-31 东北大学信息学院 145
3.原码输出二进制减法电路
按照补码运算规则设计的减法电路如图 3-
41所示。
两个四位二进制数 A和 B(最高位为符号位)
做减法运算是变减法为补码的加法运算。
2009-7-31 东北大学信息学院 146
3.原码输出二进制减法电路
7 4 L S 2 8 3 ( 1 # )
B
3
B
2
B
1
B
0
= 1= 1= 1 = 1
= 1= 1 = 1
A
3
A
2
A
1
A
0
B
3
B
2
B
1
B
0
A
3
A
2
A
1
A
0
S
3
S
2
S
1
S
0
C
0
C
0
C
4
C
4
( 2 # )
符 号 位
1
S
'
3
S
'
2
S
'
1
S
'
0
被 减 数 A
减 数 B
G
1
G
2
G
3
图 3 - 4 1 原 码 输 出 二 进 制 减 法 电 路中规模四位超前进位加法器求反电路四位二进制数
A和 B
在 A3A2A1A0输入端送入 -5的补码 1011,
B3B2B1B0输入端送入 +2的补码 0010。
-2的补码由 C0=1控制求反电路对 +2求反,送入 1# 74LS283
实现 的运算。得中间结果
S3’S2’S1’S0’为 -7的补码,符号位 S3’为 1表示是负数的补码。
1 BA
S3’也控制门 G1、
G2,G3对数值部分
S2’S1’S0’(001)求反,
求反后送入
#74LS283与
B3B2B1B0(0000)、
C0(1)相加,实现对
-7的补码再求补得 -
7的原码输出。
例如 -5-2=-7
用二进制数计算的过程描述如下:
对 -7的补码再求补码,1001为
1111。用负数减正数,结果为负数。
2009-7-31 东北大学信息学院 147
3.原码输出二进制减法电路中规模四位超前进位加法器求反电路四位二进制数
A和 B
在 A3A2A1A0输入端送入 -5的补码 1011,
B3B2B1B0输入端送入 +2的补码 0010。
-2的补码由 C0=1控制求反电路对 +2求反,送入 1# 74LS283
实现 的运算。得中间结果
S3’S2’S1’S0’为 -7的补码,符号位 S3’为 1表示是负数的补码。
1 BA
S3’也控制门 G1、
G2,G3对数值部分
S2’S1’S0’(001)求反,
求反后送入
#74LS283与
B3B2B1B0(0000)、
C0(1)相加,实现对
-7的补码再求补得 -
7的原码输出。
例如 -5-2=-7
用二进制数计算的过程描述如下:
对 -7的补码再求补码,1001为
1111。用负数减正数,结果为负数。
7 4 2 8 3
7 4 2 8 3
= 1
= 1 = 1
= 1
= 1
= 1 = 1
= 1
A
3
A
2
A
1
A
0
B
3
B
2
B
1
B
0
X
3
X
2
X
1
X
0
Y
3
Y
2
Y
1
Y
0
S
3
S
2
S
1
S
0
S
3
S
2
S
1
S
0
F
3
F
2
F
1
F
0
X
3
Y
3
X
2
Y
2
X
1
Y
1
X
0
Y
0
C
0
C
0
C
- 1
C
- 1
S
2009-7-31 东北大学信息学院 148
3.原码输出二进制减法电路中规模四位超前进位加法器求反电路四位二进制数
A和 B
在 A3A2A1A0输入端送入 -5的补码 1011,
B3B2B1B0输入端送入 +2的补码 0010。
-2的补码由 C0=1控制求反电路对 +2求反,送入 1# 74LS283
实现 的运算。得中间结果
S3’S2’S1’S0’为 -7的补码,符号位 S3’为 1表示是负数的补码。
1 BA
S3’也控制门 G1、
G2,G3对数值部分
S2’S1’S0’(001)求反,
求反后送入
#74LS283与
B3B2B1B0(0000)、
C0(1)相加,实现对
-7的补码再求补得 -
7的原码输出。
例如 -5-2=-7
用二进制数计算的过程描述如下:
对 -7的补码再求补码,1001为
1111。用负数减正数,结果为负数。
1 0 1 1
0 0 1 0
1 1 0 1
1 0 0 1
1 1 1 0
1 1 1 1
7 4 2 8 3 ( 1 )
7 4 2 8 3 ( 2 )
= 1
= 1 = 1
= 1
=
1
= 1
= 1
A
3
A
2
A
1
A
0
B
3
B
2
B
1
B
0
A
3
A
2
A
1
A
0
B
3
B
2
B
1
B
0
S
3
S
2
S
1
S
0
S
3
S
2
S
1
S
0
F
3
F
2
F
1
F
0
A
3
B
3
A
2
B
1
A
1
B
2
A
0
B
0
C
0
C
0
C
- 1
C
- 1
1
' ' ' '
2009-7-31 东北大学信息学院 149
原码输出减法电路的设计原理是:
负数用补码表示,将减法变为加法。
[A-B] 补 =[A] 补 +[-B]补,变成原码需要对
[A-B]补 再求补一次,
即 [[A-B]补 ]补 =[A-B]原 。
2009-7-31 东北大学信息学院 150
⒊ 算术逻辑单元( ALU)
算术逻辑单元 (Arithmetic Logic Unit,简称 ALU)
不仅能进行算术运算(如加减运算),而且能进行逻辑运算(与、与非、或、或非、异或、数码比较等)。它是在全加器的基础上,增加控制门和功能选择控制端构成的。
算术逻辑单元输入端输入的二进制代码,可以是参加运算的数据,也可以是代表特定含义的信息。
由于其功能全面,在计算机和数字装置中得到了广泛的应用。
2009-7-31 东北大学信息学院 151
ALU的基本组成原理
图 3-42为一个功能简单的 ALU的逻辑框图及其中某一位的逻辑图。
图 3 - 4 2 简 单 A L U 逻 辑 原 理 图 ( a ) 逻 辑 框 图
B
0
A
0
B
3
A
3
B
2
A
2
B
1
A
1
C
4
C
3
C
2
C
1
F
3
F
2
F
1
F
0
M
S
1
S
0
C
0
方式控制端,M=1,算术运算,M=0逻辑运算。
操作选择端数据输入端进位输入端进位输出端结果输出端
2009-7-31 东北大学信息学院 152
ALU的基本组成原理图 3 - 4 2 简 单 A L U 逻 辑 图 ( b ) 一 位 逻 辑 图


& &
= 1
= 1
= 1
≥ 1
S
1
B
i
S
0
A
i
M C
i
G
1
G
2
G
3
G
4
G
5
G
6
G
8
G
7
F
i
C
i + 1
2009-7-31 东北大学信息学院 153
ALU的基本组成原理
当方式控制端 M=0时,进行逻辑运算。对应 S1,S0的四种状态,ALU执行不同的操作。
当 M=1时,进行算术运算。由于进位输入端有两个状态,所以 ALU执行的操作也不同。如表 3-22,3-23所示。 表 3-22,3-23 简单 ALU的逻辑功能选 择
S1 S0
M=0
逻辑运算
M=1 算术操作
Ci=0 Ci=1
0 0
0 1
1 0
1 1
Fi=Ai
Fi=Ai
Fi=Ai⊕ Bi
Fi=Ai⊕ Bi
Fi=Ai
Fi=Ai
Fi=Ai加 Bi
Fi=Ai加 Bi
Fi=Ai加 1
Fi=Ai加 1
Fi=Ai加 Bi加 1
Fi=Ai加 Bi加 1
2009-7-31 东北大学信息学院 154
集成算术逻辑单元
图 3-43是 74181ALU中规模集成电路逻辑原理图。
74181是在四位超前进位加法器基础上发展起来的,
具有十六种逻辑运算功能和十六种算术运算功能。
具有如下性能特点:
①在扩展字长时,可作高速超前进位运算。
②算术运算:加、减,左移一位;比较大小; 12个其它算术运算。
③逻辑运算:异或;比较;与;与非;或;或非及其它逻辑运算。
④芯片上有 75个等效门。
2009-7-31 东北大学信息学院 155
B3A3B2A2
Y3X3Y2X2
B1A1
Y1X1
B0A0
Y0X0
S3
S2
S1
S0MC-1
G
C3
T3T2T1T0
F3F2F1F0
FA=B
M+C2M+C1M+C0
M+C-1
图 6-14 74181型 ALU中规模集成电路逻辑原理图
P
≥1 ≥1
≥1
≥1
≥1
=1 =1
=1 =1
& &
&
&
&
& & & && & & & & & & & &
& &
& &
& & & & && & & &
& & &
& &&&
&
& &
&
& & &
&
& &
2009-7-31 东北大学信息学院 156
A3A2A1A0和 B3B2B1B0是两个输入运算代码,
F3F2F1F0是输出的运算结果,是进行算术加法运算时的进位输出,是来自低位的进位输入。
当两个数完全相同时,FA=B=1。
G,P是进位产生函数输出端和进位传送函数输出端,提供扩展位数、片间连接用。
M是逻辑 /算术运算控制端,S3S2S1S0为操作选择端。
将输入变量和输出变量按正逻辑规定列出
74181的运算功能见表 3-24。
2009-7-31 东北大学信息学院 157
F=A加 1
F=(A+B)加 1
F=(A+B)加 1
F=0
F=A加 AB加 1
F=(A+B)加 AB加 1
F=A减 B
F=AB
F=A加 AB加 1
F=A加 B加 1
F=(A+B)加 AB加 1
F=AB
F=A加 A加 1
F=(A+B)加 A加 1
F=(A+B)加 A加 1
F=A
C-1=0(有进位 )C-1=1(无进位 )
F=A
F=A+B
F=A+B
F=减 1
F=A加 AB
F=(A+B加 )AB
F=A减 B减 1
F=AB减 1
F=A加 AB
F=A加 B
F=(A+B)加 AB
F=AB减 1
F=A加 A(相当 A乘以 2)
F=(A+B)加 A
F=(A+B)加 A
F=A减 1
F=A
F=A+B
F=AB
F=0
F=AB
F=B
F=A B
F=AB
F=A+B
F=A B
F=B
F=AB
F=1
F=A+B
F=A+B
F=A
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
M=0算术运算M=1
逻辑运算运 算 功 能
S3 S2 S1 S0
操 作 选 择
表 3-24 74181型四位算术逻辑单元的运算种类 (正逻辑 )
2009-7-31 东北大学信息学院 158
若输入、输出按负逻辑规定,则输入为
0123,,,AAAA
0123,,,BBBB 1?C
输出为
0123,,,FFFF
C3 和P G
S3S2S1S0,M,FA=B端是状态标志,符号不变 。
1 6 1 7 1 4 1 5 1 3 1 1 1 0 9
2 1 2 3 2 2 2 1 2 0 1 9 1 8
7
8
3
4
5
6
7 4 1 8 1
A
0
B
0
A
1
B
1
A
2
B
2
A
3
B
3
C
3
F
A = B
G P F
3
F
2
F
1
F
0
C
- 1
M
S
3
S
2
S
1
S
0
1 6 1 7 1 4 1 5 1 3 1 1 1 0 9
2 1 2 3 2 2 2 1 2 0 1 9 1 8
7
8
3
4
5
6
7 4 1 8 1
A
0
B
0
A
1
B
1
A
2
B
2
A
3
B
3
C
3
F
A = B
G P F
3
F
2
F
1
F
0
C
- 1
M
S
3
S
2
S
1
S
0
2009-7-31 东北大学信息学院 159
3.8 奇偶校验电路
在数字设备中,数据的传输是大量的,且传输的数据都是由若干位二进制代码 0和 1组合而成的 。
由于系统内部或外部干扰等原因就可能使数据信息在传输过程中产生错误,例如在发送端,待发送的数据是 8位,有三位是 1,到了接收端变成了四位是 1,产生了误传 。
奇偶校验器就是能自动检验数据信息传送过程中是否出现误传的逻辑电路 。
2009-7-31 东北大学信息学院 160
⒈ 奇偶校验的基本原理发 送 端 接 收 端信 息 码 传 输 码监 督 码报 警奇 偶发 生 器奇 偶校 验 器校 验 正 确命 令 接 收校 验 出 错报 警
3
3
3
3
4
1 1
图 3 - 4 4 奇 偶 校 验 原 理 框 图
奇偶校验的基本方法就是在待发送的有效数据位之外再增加一位奇偶校验位 (又称监督码 )。
利用这一位将待发送的数据代码中含 1
的个数补成奇数 (当采用奇校验 )或者补成偶数 (当采用偶校验 ),形成传输码。
在接收端通过检查接收到的传输码中 1的个数的奇偶性判断传输过程中是否有误传现象。
传输正确则向接收端发出接收命令,否则拒绝接收或发出报警信号。 产生奇偶校验位
(监督码)
判断传输码中含
1的个数奇偶性
2009-7-31 东北大学信息学院 161
⒈ 奇偶校验的编码表
1 0 0 0
0 0 0 1
0 0 1 0
1 0 1 1
0 1 0 0
1 1 0 1
1 1 1 0
0 1 1 1
1
0
0
1
0
1
1
0
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
WOD A B C WODA B C
传输码监督码发送码奇校验
0 0 0 0
1 0 0 1
1 0 1 0
0 0 1 1
1 1 0 0
0 1 0 1
0 1 1 0
1 1 1 1
0
1
1
0
1
0
0
1
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
WE A B C WEA B C
传输码监督码发送码偶校验
CBA
CBACBA
CABCBABCACBAW



)()(
OD
CBA
CBACBA
A B CCBACBACBAW



)()(
E
2009-7-31 东北大学信息学院 162
三位二进制码的奇校验系统联接方式
CBAWOD
CBAWE
1ODOD 2 WCBAW
发送端接收端
= 1
= 1
= 1
= 1
= 1
1
1
数 据 代 码 ( 信 息 码 )
A
B
C
W
E 1
W
O D 1
奇 偶 发 生 器奇 偶 校 验 器传 输 码监 督 码 位
W
E 2
W
O D 2
2009-7-31 东北大学信息学院 163
⒉ 中规模集成奇偶发生器 /校验器
如图是中规模集成奇偶发生器 74180的逻辑图 。
=
=
=
=
= 1
= 1
=




1
≥ 1
≥ 1
A
B
C
D
E
F
G
H
G
1
G
2
G
3
G
4
G
5
G
6
G
7
G
8
G
9
G
1 0
G
1 1
G
1 2
G
1 3
G
1 4
P
P
W
E
W
O D
S
O D
S
E A,B,C,D,E,F,G,H是八位输入代码 。
SOD和 SE是奇偶控制端
WOD是奇校验端,WE是偶校验端
2009-7-31 东北大学信息学院 164
⒉ 中规模集成奇偶发生器 /校验器
如图是中规模集成奇偶发生器 74180的引脚排列图。1
2
3
4
5
6
7
1 4
1 3
1 2
1 1
1 0
9
8
G
H
S
E
S
O D
W
E
W
O D
G N D
V
C C
F
E
D
C
B
A
7
4
1
8
0
2009-7-31 东北大学信息学院 165
⒉ 中规模集成奇偶发生器 /校验器
如图是中规模集成奇偶发生器 74180的逻辑图。
=
=
=
=
= 1
= 1
=




1
≥ 1
≥ 1
A
B
C
D
E
F
G
H
G
1
G
2
G
3
G
4
G
5
G
6
G
7
G
8
G
9
G
1 0
G
1 1
G
1 2
G
1 3
G
1 4
P
P
W
E
W
O D
S
O D
S
E
HGFEDCBA
HGFEDCBAP


EODE
EODOD
PSSPW
SPSPW


2009-7-31 东北大学信息学院 166
⒉ 中规模集成奇偶发生器 /校验器
表 3-27是 74180的功能表 。SOD=1,SE=0,
监督码引自 WOD。
SOD=0
SE=1
监督码引自 WE。
1 0
1 0
0 1
0 1
1 1
0 0
SE SOD
1 0
0 1
0 1
1 0
0 0
1 1
偶 数奇 数偶 数奇 数
×
×
WE WODA~ H中一的个数输 出输 入
2009-7-31 东北大学信息学院 167
⒉ 中规模集成奇偶发生器 /校验器
图 3-47是一个八位奇校验系统 。
SOD=1,SE=0
,监督码引自
WOD。
A-H是偶数
,WOD=1,否则
WOD=0。
如果
WOD=1,SOD=1,
SE=0,WOD2=1,
正确。
如果 WOD=0,
SOD=0,
SE=1,
WOD2=1,正确。
否则 WOD2=0,错误。
奇 偶 发 生 器 奇 偶 校 验 器
1
A
B
C
D
E
F
G
H
传 输 码
S
O D
5 V
S
E
W
O D 1
W
E
W
E
W
O D 2
S
E
S
O D
1 正 确
2 出 错

2009-7-31 东北大学信息学院 168
3.9 MSI组合电路的分析与设计
用中规模集成电路构成的组合逻辑电路的分析
用中规模集成电路构成的组合逻辑电路的设计
2009-7-31 东北大学信息学院 169
例 1 试分析图示逻辑图的功能 。
D0 D1 D2
A0
A1
D3
F
E
1
A
0
四选一 MUX
解:如图是四选一数据选择器 。
由于 A1=0,所以 A1A0只有 00和 01两种取值 。
A1A0=00时,F=D0=1; A1A0=01时,F=D1=0。
AAF 0 AF?可见 。实现了的功能 。
2009-7-31 东北大学信息学院 170
例 2 试分析图示逻辑图的功能。
D0 D1 D2
A0
A1
D3
F
E
0
B
0
四选一 MUX
A
10
解:四选一数据选择器的逻辑函数表达式为
301201101001 DAADAADAADAAF
ABAA
AAAAAAAAF


01
01010101 1000
实现了与逻辑功能。
2009-7-31 东北大学信息学院 171
例 3 试分析图示逻辑图的功能。
D0 D1 D2
A0
A1
D3
F
E
1
B
0
四选一 MUX
A
00
C
EDAADAADAADAAF )( 301201101001
当 =1时,F=0;当 =0时,
四选一 MUX 具有,选择功能,。 将 A=,B=A1,C=A0
代入上式,得:
E
EE
CBACBA
ABCCBCBCBF

)0001( 实现了或非功能 。
2009-7-31 东北大学信息学院 172
例 4 试分析图示逻辑图的功能 。
A0
F0
“1”
A2 A1 A0
A2
A1
A2 A1 A0
S3
S2
S1D0
D1
D2
D3
D4
D5
D6
D7
F1
F2
F3
F4
F5
F6
F7
GF
E
74LS151
MUX DEMUX
74LS138
E
数据分配器
2009-7-31 东北大学信息学院 173
设计步骤
⒈ 列真值表
⒉ 写逻辑函数表达式
⒊ 将逻辑函数表达式变换成与所用中规模集成电路逻辑函数表达式相似的形式
⒋ 根据对比结果画出逻辑图 。
2009-7-31 东北大学信息学院 174
用中规模集成电路 ( MSI) 设计组合电路的基本方法是比较法 。 比较逻辑函数表达式或比较真值表 。 比较时可能出现以下几种情况:
⑴ 组合电路的逻辑函数与某种 MSI的逻辑函数一样,选用该种 MSI效果最好 。
⑵ 组合电路的逻辑函数表达式是某种 MSI的逻辑函数表达式的一部分,对多出的输入变量和乘积项适当处理 ( 接 1或接 0),即可得到组合电路的逻辑函数 。 或者用多片 MSI和少量的逻辑门进行扩展得到组合电路的逻辑函数 。
说明
2009-7-31 东北大学信息学院 175
⑶ 多输入,单输出的组合电路的逻辑函数,
选用数据选择器较方便,多输入,多输出的组合电路的逻辑函数选用译码器和逻辑门较好 。
⑷ 当组合电路的逻辑函数与 MSI的逻辑函数相同之处较少时,不宜选用此几种 MSI芯片 。
说明
2009-7-31 东北大学信息学院 176
例 1 试用 3线 -8线译码器实现一组多输出逻辑函数:
CBABCACAZ1 CBABCZ2
BCAAZ3 ABCCBCBAZ4
5364
1
mmmm
CBABCACABCBACBABCACAZ


173
2
mmm
CBAA B CBCACBABCZ


34567
3
mmmmm
BCACBACBACABA B CBCAAZ


7402
4
mmmm
ABCCBACBACBAABCCBCBAZ


解:
2009-7-31 东北大学信息学院 177
6543
65431
FFFF
mmmmZ


731
7312
FFF
mmmZ


76543
765433
FFFFF
mmmmmZ


7420
74204
FFFF
mmmmZ


F0 F1 F2 F3 F4 F5 F6 F7
74138
S1 S2 S3 A2 A1 A0
5V A B C
Z1 Z2 Z3 Z4
& & & &
2009-7-31 东北大学信息学院 178
试用四选一数据选择器实现 (参见 P87例 3-15)。AF?
令 A1=0,A0=A。 A=0时,A1A0=00,F=D0,
D0=1,则实现了 ;AF?
例 2
D0 D1 D2
A1
A0
D3
F
E
A
1 0
F
四选一 MUX
AF?
解:四选一数据选择器有四个数据输入端,
而实现 只需要两个输入端。AF?
A=1时,A1A0=01,F=D1,D1=0,则实现了
2009-7-31 东北大学信息学院 179
例 3
用 4选 1数据选择器和 3—8线译码器设计一个电路,主裁判同意情况下,三名副裁判多数同意成绩被承认。
2009-7-31 东北大学信息学院 180D3=1
D1=D
D1=0
(F与 CD)无关
0
0
0
0
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
0
1
1
1
0
0
0
1
0
0
0
0
F
D2=D
D0=0
方案二
D3=C+D
(F=C+D)
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
D2=CD
(F=CD)
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
D0=0
(F与 CD)无关
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
方案一A B C D
E
F
F
A
B
C
C
D
D
D
0
D
1
D
2
D
3
A
0
A
1
0
0
≥ 1
&方案一
E
F
F
A B
D
0
D
1
D
2
D
3
A
0
A
1
0
D
D
1
C
1
方案二
2009-7-31 东北大学信息学院 181
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
FA B C D
表 3-29 真值表
F
0
F
1
F
2
F
3
F
4
F
5
F
6
F
7
&
7 4 1 3 8
S
3
S
2
S
1
A
2
A
1
A
0
A B C D
F
2009-7-31 东北大学信息学院 182
3.10 组合逻辑电路的竞争 -冒险
一个门电路只要有两个输入信号同时向相反方向变化 (即由 01变为 10,或者相反 ),其输出端就可能产生干扰脉冲。
2009-7-31 东北大学信息学院 183
⒈ 竞争 -冒险及其成因
竞争,门电路的两个输入端同时向相反的逻辑电平变化的现象称为竞争。
冒险,由于竞争,电路的输出端就可能出现暂短的错误输出,即出现了不应有的窄脉冲或称尖峰脉冲,这种现象称为冒险。
冒险的危害 在于它可能使后接的时序电路产生错误操作。因而,有时要设法消除竞争冒险或尽量消除竞争冒险带来的危害。
2009-7-31 东北大学信息学院 184

F
A
B
F
A
B
t
1
t
2
V
T
V
T
图 3-52 边沿不陡竞争产生尖脉冲
2009-7-31 东北大学信息学院 185

1
A
A
F
A
F = A · A
1 t
pd
1 t
pd
A
3.53 竞争冒险产生的正脉冲
2009-7-31 东北大学信息学院 186
A
A
F=A+A
tpd
(b) 波形图 3-54 竞争产生的负尖脉冲
≥1
G1
G2
A
A
F
(a) 电路
1
2009-7-31 东北大学信息学院 187
AAF AAF
由图 3-53和图 3-54看出只要输出逻辑函数在一定条件下变换成 或 就可能产生竞争 -冒险。由图 3-52可知,两个输入信号从不同电平同时向相反方向跳变,就可能产生竞争 -冒险。
竞争 -冒险的判断
2009-7-31 东北大学信息学院 188
当判定电路中存在竞争冒险可能之后,而负载又是对脉冲敏感的电路,则应该设法消除竞争冒险。方法有:
㈠修改逻辑设计
㈡引入封锁脉冲
㈢引入选通脉冲
㈣接入滤波电容竞争 -冒险的消除
2009-7-31 东北大学信息学院 189
CAABF AAF
CAABBCCAABF
CAABF
例如,在 B=C=1时,,会产生竞争冒险。根据可在 式中加入 BC。
111 AAF
加入 BC 之后,B=C=1时,
消除了竞争冒险。
㈠ 修改逻辑设计
2009-7-31 东北大学信息学院 190
在产生竞争冒险的时间内引入负脉冲,在输入信号发生竞争的时间内,把可能产生干扰脉冲的门封住,使尖脉冲不能输出,
从而消除竞争冒险。
㈡ 引入封锁脉冲
2009-7-31 东北大学信息学院 191
3-2,3-4,3-5,3-7,3-9,3-16
作业,