第 10章 组合逻辑电路第 10章 组合逻辑电路
10.1 组合逻辑电路的分析与设计
10.2 组合逻辑部件
10.3 竞争与冒险第 10章 组合逻辑电路
10.1 组合逻辑电路的分析与设计
10.1.1组合逻辑电路的分析如果数字电路的输出只决定于电路当前输入,而与电路以前的状态无关,这类数字电路就是组合逻辑电路 。,就是根据给定的电路,确定其逻辑功能 。 对于比较简单的组合逻辑电路,
通过列写逻辑函数式或真值表及化简等过程,即可确定其逻辑功能 。 对于较复杂的电路,则要搭接实验电路,测试输出与输入变量之间的逻辑关系,列成表格
( 功能表 ),方可分析出其逻辑功能 。
第 10章 组合逻辑电路下面通过实例,说明组合逻辑电路的分析方法 。
例 10.1 分析图 10.1所示电路的逻辑功能 。
解 ( 1) 写出该电路输出函数的逻辑表达式。
(2) 列出函数的真值表,如表 10.1所示 。 所谓真值表,是在表的左半部分列出函数中所有自变量的各种组合,右半部分列出对应于每一种自变量组合的输出函数的状态 。
(3) 可见该电路是判断三个变量是否一致的电路 。
BACBCAZ
第 10章 组合逻辑电路
≥1
&& &
A C B C A B
Z
图 10.1不一致判定电路第 10章 组合逻辑电路表 10.1 真值表
A B C Z
0000
0011
0101
0 1 1 1
1001
1011
1 1 0 1
1111
第 10章 组合逻辑电路例 10.2 分析图 10.2所示电路的逻辑功能。
解该电路有八个输出端 ~,当 E1=1、
不成立时,与门输出低电平 0,封锁了输出端八个与非门,电路不能工作; 当 E1=1、
成立时,上述封锁作用消失,输出端的状态随输入信号 A2,A1,A0的变化而变化,电路工作 。 E1、,三个输入端可以使电路工作或者不工作,故称它们为使能端 。
0Y 7Y
032 EE
032 EE
2E 3E
第 10章 组合逻辑电路
& & & & & & & &
Y
0
Y
1
Y
2
Y
3
Y
4
Y
5
Y
6
Y
7
1 1 1
&
11
E
3
E
2
E
1
A
2
A
1
A
0
图 10.2 3-8译码器逻辑电路图第 10章 组合逻辑电路当 A2A1A0=101时,A1的低电平使,,,
输出高电平,A0的高电平进一步使,输出高电平,A2 输出高电平 。 这样,
只有 输出低电平 。 因而得到 的逻辑表达式为
2? 3? 6?
7? 0? 4?
1?
5? 5?
3210125 EEE
第 10章 组合逻辑电路用同样的方法,可以写出所有输出端的逻辑表达式如下:
3210127321
0
126
3210
1
253210124
32101
2
3321
0
122
3210121321
0
1
2
0
,
,
,
,,
EEEEEE
EEEEEE
EEEEEE
EEEEEE




根据上述表达式可列出如表 10.2所示的真值表。
第 10章 组合逻辑电路表 10.2 真值表第 10章 组合逻辑电路依据上述分析,可以看出,对应于 A2,A1,A0
八种组合中的每一种组合,八个输出端中只有对应的一个端子输出 0,其它输出端都输出 1。 这就是这个电路能完成的逻辑功能 。
这个电路是我们将要讲到的译码器中的集成译码器 74LS138的内部电路。
第 10章 组合逻辑电路
10.1.2 组合逻辑电路的设计组合逻辑电路的设计,一般分下述几个步骤:
(1) 根据给定的设计要求,确定哪些是输入变量,
哪些是输出变量,分析它们之间的逻辑关系,并确定输入变量的不同状态以及输出端的不同状态,哪个该用 1
表示,哪个该用 0表示 。
(2) 列真值表 。 在列真值表时,不会出现或不允许出现的输入变量的取值组合可不列出 。 如果列出,就在相应的输出函数处画,×,号,化简时作约束项处理 。
(3) 用卡诺图或公式法化简 。
(4) 根据简化后的逻辑表达式画出逻辑电路图。
第 10章 组合逻辑电路例 10.3 交叉路口的交通管制灯有三个,分红,
黄,绿三色 。 正常工作时,应该只有一盏灯亮,其它情况均属电路故障 。 试设计故障报警电路 。
解 设定灯亮用 1表示,灯灭用 0表示; 报警状态用 1表示,正常工作用 0表示 。 红,黄,绿三灯分别用 R,Y,G表示,电路输出用 Z表示 。 列出真值表如表 10.3所示 。
第 10章 组合逻辑电路表 10.3 真值表
R Y G Z
0001
0010
0100
0 1 1 1
1000
1011
1 1 0 1
1111
第 10章 组合逻辑电路
1 0 1 0
0 1 1 1
R
YG
0100 11 10
0
1
图 10.3 报警电路卡诺图第 10章 组合逻辑电路作出卡诺图 (图 10.3),可得到电路的逻辑表达式为若限定电路用与非门作成,则逻辑函数式可改写成据此表达式作出的电路如图 10.4所示。
RGYGRYGYRZ
RGYGRYGYRZ
第 10章 组合逻辑电路
&&& &
&
R Y R G Y G R Y G
图 10.4 电路逻辑图第 10章 组合逻辑电路
10.2 组合逻辑部件
10.2.1编码器所谓编码,就是用二进制码来表示给定的数字,
字符或信息 。 一位二进制码有 0,1两种状态,n位二进制码有 2n种不同的组合 。 用不同的组合来表示不同的信息,就是二进制编码 。
我们以 8421BCD码编码器为例,说明一般编码器的功能 。
在这种编码器的输入端输入一个一位十进制数,
通过内部编码,输出四位 8421BCD二进制代码,每组代码与相应的十进制数对应 。
第 10章 组合逻辑电路下面介绍集成 8421BCD码编码器 C304。 图 10.5是其内部电路,图中 1~ 9为对应于数字 1~9的按键输入端 。 某一键按下,该输入端就向电路输入高电平 。 A、
B,C,D是编码输出端,D是最高位 。 当按下数字 3
的键时,DCBA=0011,这可以通过分析电路得到 。
图 10.6是这种集成电路的一个实用电路 。
第 10章 组合逻辑电路
&
≥1 ≥1 ≥1 ≥1 ≥1 ≥1
& & 1
A B C D
1 2 3 4 5 6 7 8 9
图 10.5 C304内部电路图第 10章 组合逻辑电路
C 3 0 4
NC 1 2 3 4 5 6 7 8 9
A B C D ≥1
≥1 ≥1
1 2 3 4 5 6 7 8 90
G
s
10.6 C304实用电路第 10章 组合逻辑电路在 C304中,数字 0是隐含输入的 。 当输入端 1~ 9均为 0时,电路输出即是 0的编码 。 在图 10.6所示的实用电路中,数字 1~ 9的输入键接入 C304的相应输入端,0号键接空端 (开路脚 )NC。 由于按 0号键和不按任何键,
BCD码输出都是 0000,为了区别这种情况,电路中用了三个或门,形成群信号 Gs。 当按动 0~ 9这 10个键中的任一键时,Gs=1; 不按键时,Gs=0。 这样,接收电路就可依此判定输出端的四个 0是表示输入了数字 0还是没有按键 。 有些计算机键盘的数字输入逻辑电路就用的是
C304。
第 10章 组合逻辑电路
10.2.2
译码是编码的逆过程 。 译码器将输入的二进制代码转换成与代码对应的信号 。 n位二进制代码,则其输出端子数 N≤2n。 N=2n称为完全译码,N<2n称为部分译码 。
第 10章 组合逻辑电路
1,3-8译码器在 10.1.1中提到的 74LS138,就是用三位二进制码输入,具有八个输出端子的完全译码器 。 它的三个输入端的每一种二进制码组合,代表某系统的八种状态之一 。 当八种状态的某一种状态存在而向 74LS138三个输入端输入对应于该状态的二进制码时,八个输出端中对应于这个状态的输出端输出低电平,其它输出端输出高电平 。
第 10章 组合逻辑电路图 10.7是某系统存储器寻址电路,用 74LS138产生内存芯片片选信号 。 该系统地址码有 16位 (A15~ A0),
用了八片容量为 2 K× 8的 ROM存储芯片 (图中只画出了三片 )。
第 10章 组合逻辑电路
7 4 L S 1 3 8
Y
0
Y
1
Y
2
Y
3
Y
4
Y
5
Y
6
Y
7
E
3
E
1
E
2
A
2
A
1
A
0
A
10
~ A
0
2 K × 8
R O M
D o u t
CS
A
10
~ A
0
2 K × 8
R O M
D o u t
CS
A
10
~ A
0
2 K × 8
R O M
D o u t
CS

1
A
12
A
14
A
13
A
11
A
15
地址总线
A
10
~ A
0
8 8 8
图 10.7 存储器寻址电路实例第 10章 组合逻辑电路
2,8421BCD码译码器这种译码器的输入端子有四个,分别输入四位
8421BCD 二进制代码的各位,输出端子有 10个 。 每当输入一组 8421BCD码时,输出端的 10个端子中对应于该二进制数所表示的十进制数的端子就输出高 /低电平,而其它端子保持原来的低 /高电平 。
74LS42是 8421BCD码译码器,其逻辑符号如图
10.8所示 。
第 10章 组合逻辑电路第 10章 组合逻辑电路
3,显示译码器如果 BCD译码器的输出能驱动显示器件发光,将译码器中的十进制数显示出来,这种译码器就是显示译码器 。 显示译码器有好多种,下面以控制发光二极管显示的译码电路为例,讨论显示译码器的工作过程 。
图 10.9所示为由发光二极管组成的七段显示器字型图及其接法 。 a~ g七段是七个发光二极管,有共阴极和共阳极两种接法 。 共阴极接法时,哪个管子的阳极接收到高电平,哪个管子发光; 共阳极接法时,哪个管子阴极接收到低电平,哪个管子发光 。 例如,对共阴极接法,
当 a~ g=1011011时,显示数字,5”。
第 10章 组合逻辑电路图 10.9
(a) 外形; (b) 共阳极接法; (c) 共阴极接法
a
b
g
f
e c
d
a b c d e f g a b c d e f g
( a ) ( b ) ( c )
第 10章 组合逻辑电路
74LS48是控制七段显示器显示的集成译码电路之一,
其引线排列图如图 10.10所示 。 A,B,C,D为 BCD码输入端,A为最高位,Ya~ Yg为输出端,分别驱动七段显示器的 a~ g输入端,高电平触发显示,可驱动共阴极发光二极管组成的七段显示器显示 。 其它端为使能端 。
74LS48的功能表如表 10.4所示 。 分析功能表与七段显示器的关系可知,只有输入的二进制码是 8421BCD码时,
才能显示 0~ 9的十进制数字 。 当输入的四位码不在
8421BCD码内,显示的字型就不是十进制数 。
第 10章 组合逻辑电路表 10.4 74LS48功能表第 10章 组合逻辑电路
74 L S 4 8
16 15 14 13 12 11 10 9
1 2 3 4 5 6 7 8
U
CC
Y
f
Y
g
Y
a
Y
b
Y
e
Y
d
Y
c
C B LT RBI A D GND
B I / R B O
图 10.10 74LS48引线排列图第 10章 组合逻辑电路
74LS48的使能端的功能如下:
(1) 。 时,不论其它各使能端和输入端处于何种状态,Ya~ Yg均输出低电平,显示器的七个字段全熄灭 。
这个端子是个双功能端子,既可作输入端子,
也可作输出端子 。 作输入端子用时,; 作输出端子用时,。
(2) 。 为灭零输出 。 =0,输入 ABCD=0000时,=0,
利用该灭零输出信号可将多位显示中的无用零熄灭 。
RBOBI / 0?BI
BI
RBO
RBOBI / RBO
RBORBI
第 10章 组合逻辑电路
10.2.3数据选择器和数据分配器
1,数据选择器根据地址码从多路数据中选择一路输出的器件,
叫数据选择器 。 利用数据选择器,可将并行输入的数据转换成串行数据输出 。 图 10.11所示为集成八选一数据选择器 74LS251的逻辑符号 。
第 10章 组合逻辑电路
7 4 L S 2 5 1
A
0
D
1
D
2
D
3
D
4
D
5
D
6
D
7
A
1
A
2
ST
Y Y
D
0
图 10.11 74LS251逻辑符号第 10章 组合逻辑电路分时传送四位十进制数并显示的电路如图 10.12所示 。 四个七段显示器的输入端并接在显示译码器的七个输出端 。 千位的四位 BCD码,在 A1A0=11时由四块数据选择器的 D3传送 。 百位,十位,个位依次在 A1A0为 10、
01,00时由各选择器的 D2,D1,D0传送 。 在千位数字被传送时,A1A0=11,权位选择器的 Y3被译出,选通千位七段显示器显示,随后其它各位依次显示 。
第 10章 组合逻辑电路
D
0
D
1
D
2
D
3
A
1
A
0
C
3
D
0
D
1
D
2
D
3
A
1
A
0
C
2
D
0
D
1
D
2
D
3
A
1
A
0
C
1
D
0
D
1
D
2
D
3
A
1
A
0
C
0
Y
a
Y
b
Y
c
Y
d
Y
e
Y
f
Y
g
七段显示译码器权位选择译码器千位 百位 十位 个位
Y
3
Y
2
Y
1
Y
0
A
1
A
0
A
B
C
D
图 10.12 用数据选择器实现分时数字显示第 10章 组合逻辑电路例 10.4 利用四选一数据选择器实现逻辑功能
A B CCABCBABCA
解 四选一数据选择器的逻辑符号如图 10.13所示 。
A1,A0为地址码,D0~ D3为数据输入端,Y为输出 。
若将逻辑变量 A,B作为地址码 A1,A0,那么,输出函数就为
3210 ABDDBABDABDA
要实现本题所要求的逻辑功能,须使
A B CCABCBABCA
A B DDBABDABDA

3210
这样,只要 D0=0,D1=C,D2=C,D3=1即可。
第 10章 组合逻辑电路
D
0
D
1
D
2
D
3
A
1
A
0
Y
图 10.13 四选一数据选择器逻辑符号第 10章 组合逻辑电路
2.
数据分配器有一个输入端,多个输出端 。 由地址码对输出端进行选通,将一路输入数据分配到多路接收设备中的某一路 。 图 10.14所示为 8路数据分配器逻辑符号 。 当地址码 A2A1A0=011时,Y3=D,余类推 。
分配器也能多级连接,实现多路多级分配 。 图
10.15中五个四选一分配器构成 16路分配器 。 五个分配器用同样的地址码 A1,A0,请读者分析电路工作过程 。
第 10章 组合逻辑电路
A
1
A
0
A
2
Y
0
Y
1
Y
2
Y
3
Y
4
Y
5
Y
6
Y
7
D
图 10.15分配器的输出扩展第 10章 组合逻辑电路A
0
A
1
C
3
D
0
D
1
D
2
D
3
A
0
A
1
C
2
D
0
D
1
D
2
D
3
A
0
A
1
C
1
D
0
D
1
D
2
D
3
A
0
A
1
C
0
D
0
D
1
D
2
D
3
D
0
D
1
D
2
D
3
A
0
A
1
Y
3
Y
2
Y
1
Y
0
D
A
0
A
1
图 10.15 分配器的输出扩展第 10章 组合逻辑电路
10.2.4
数据比较器是对两个位数相同的二进制数进行比较以判定其大小的逻辑电路 。 图 10.16 为集成比较器
74LS85的逻辑符号,表 10.5是其功能表 。
第 10章 组合逻辑电路
A
0
A
1
A
2
A
3
A
i
> B
i
A
i
= B
i
A
i
< B
i
B
0
B
1
B
2
B
3
F
A > B
F
A = B
F
A < B
图 10.16 74LS85逻辑符号第 10章 组合逻辑电路表 10.5 74LS85功能表第 10章 组合逻辑电路图 10.17是用 74LS85组成的八位二进制数比较器的连接图 。 图中,低位片的 Ai>Bi和 Ai<Bi接地,Ai=Bi
接高电平,是因为低位前面没有更低位 。 这样接,低位的比较结果就只决定于低四位进行比较的数据 。
第 10章 组合逻辑电路
A
0
A
1
A
2
A
3
A
i
> B
i
A
i
= B
i
A
i
< B
i
B
0
B
1
B
2
B
3
F
A > B
F
A = B
F
A < B
A
0
A
1
A
2
A
3
A
i
> B
i
A
i
= B
i
A
i
< B
i
B
0
B
1
B
2
B
3
F
A > B
F
A = B
F
A < B
低位片高位片
1
图 10.17 74LS85组成的八位二进制数比较器第 10章 组合逻辑电路
10.2.5 全加器进行二进制加法时,除本位的两个加数 An,Bn相加外,还要加上低位的进位 Cn-1 。 这种加上低位进位的加法叫全加,能实现这种功能的电路叫全加器 。
全加器的输出有本位 Sn和向高位的进位 Cn。 全加器的真值表如表 10.6所示 。
第 10章 组合逻辑电路表 10.6全加器真值表
An Bn C n-1 Sn Cn
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
输 入 输 出第 10章 组合逻辑电路根据真值表,可写出全加器输出 Sn和 Cn的表达式如下:
1
1
111
1
1
1
1
1
1
11
11
111
1
11
11
)(
)(
)(
)()(















nnnnn
nn
nn
nnn
nnnnn
n
n
n
n
n
nnn
nnn
nnn
n
nn
nnn
nnnn
nn
n
nnnn
nnnn
n
n
n
n
n
nnnnn
n
n
n
n
n
nnn
nnnn
nnnn
n
n
n
n
n
CBABA
CBABABA
CBACBACBACBAC
CBA
CBACBA
CBABACBABA
CBACBACBACBAS
CBACBACBACBAC
CBACBACBACBAS
对上面两式可作如下转换:
第 10章 组合逻辑电路用异或门等门电路组成的全加器及其逻辑符号如
‘’
图 10.18所示。
图 10.18
(a) 电路; (b) 逻辑符号第 10章 组合逻辑电路
10.3 竞争与冒险
10.3.1竞争在组合逻辑电路中,若某个变量通过两条以上途径到达输出端,由于各条途径的传输延迟时间不同,
故同一个变量沿不同途径到达输出端的时间就有先有后,。
经多途径向输出端传递的变量称为有竞争能力的变量。
第 10章 组合逻辑电路
10.3.2
组合逻辑电路中某一具有竞争能力的变量变化时,
如果输出端的状态在短暂时间里偏离应有状态进入另一状态,后又退回应有状态,这种现象叫做冒险 。
图 10.19 (a )所示电路的逻辑功能为 F=AC+ B,
当变量 B=C=1时,F=A+ 。
当 A处于稳态时,不论 A取何值,F恒为 1。
第 10章 组合逻辑电路
≥1
&
&
&
1
B
A
C
F
1
B
A
C
F≥1
≥1
( a )
( b )
图 10.19 具有竞争能力的电路实例第 10章 组合逻辑电路
10.3.3冒险现象的判断上面举出的两个具有冒险现象的电路虽然只是两个实例,但具有普遍意义 。 一般地说,只要两个互补的变量送入同一门电路,就有可能出现冒险现象 。
判断电路是否发生冒险的办法较多,常用的方法有代数法和卡诺图法 。
1,代数法依据电路,写出逻辑函数式 。 先找出具有竞争能力的变量,然后使其它变量取各种可能的组合值,判断是否有 A+ 和 A 状态发生而产生冒险现象。

第 10章 组合逻辑电路例 10.5 判断逻辑函数 F=AB+ C+A 的电路是否会发生冒险现象 。
解 由于 B和 C在函数式中以互补状态出现,因此具有竞争能力 。 B是否会产生冒险 。 令
A,C两变量取各种可能值的组合,算出对应的 F。 容易得到,在 AC取 00,01和 11时,输出 F的值是定值,
AC=11时,F=B+,所以有冒险现象 。
用同样的办法可以得到,AB=10时,F=C+,
变量 C也会产生冒险现象 。
B C
B
C
第 10章 组合逻辑电路例 10.6 判断逻辑函数为 F=(A+B)( +C)( +C)的电路是否会发生冒险现象 。
解 A,B两变量可能产生冒险现象 。 代入变量 B和
C的各种组合值计算 F,
当 B=C=0时,F=A,所以变量 A能产生冒险 。
当 A=C=0时,F=B,所以变量 B能产生冒险 。
B A
A
B
第 10章 组合逻辑电路
2,卡诺图法用卡诺图法判断冒险现象直观,方便 。 当卡诺图中圈出的相邻方格组相切时,则有冒险现象发生 。 但方格组的圈法与用卡诺图化简时有区别 。
第 10章 组合逻辑电路
0 1 0 0
1 1 1 1
BC
0100 11 10
0
1
0 0 1 0
0 1 1 0
A
BC
0100 11 10
0
1
BC AB
AC
A + B B + C
A + C
( a ) ( b )
图 10.20 判断冒险卡诺图实例第 10章 组合逻辑电路
10.3.4冒险现象的防止冒险现象能使电路产生误动作 。 防止发生冒险现象的常用方法如下 。
1,修改逻辑设计,增加多余项
2,增加选通电路
3,
第 10章 组合逻辑电路
&
&
&
1
B
A
C
F
ST
图 10.21 加选通电路消除