资源描述
重庆交通大学 国际学院 工程教学部
第四章 组合逻辑电路
本章主要内容:
l 组合逻辑电路的分析与设计方法
l 常用的组合逻辑电路
ü 算术运算电路
ü 编码器
ü 译码器
ü 数据选择器
ü 数值比较器
ü 奇偶校验器
l 组合逻辑电路中的竞争-冒险现象及其消除
4.1 概述
组合逻辑电路的概念:
ü 若逻辑电路在任意时刻的输出值仅取决于当时的输入信号的组合,而与其它因素无关,则称此逻辑电路为组合逻辑电路。
4.2 组合逻辑电路的分析方法
一、 分析步骤:
逻辑图
输出表达式
真值表
电路功能
二、 分析举例:例4.1
最简表达式
逻辑图
逻辑问题
真值表
标准表达式
公式化简
卡诺图
图形化简
4.2 组合逻辑电路的传统设计方法
一、 设计步骤:
二、 设计举例:例4.2
4.3 常用的组合逻辑电路
一、 算术运算电路
1、 一位半加器
l 概念:不考虑来自于低位的进位的加法运算称为“半加”,实现“半加”功能的电路称为半加器。
l 真值表:
A
B
SO
CO
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
l 逻辑函数:
l 电路:
2、 一位全加器
l 概念:考虑来自于低位的进位的加法运算称为“全加”,完成“全加”功能的电路称为全加器。
l 真值表:
A
B
CI
SO
CO
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
l 逻辑函数:;
l 电路:
3、 多位加法器
l 概念:多位二进制数全加。如:B3B2B1B0+A3A2A1A0
CO
CO
CO
l 方法1:串行进位
A0+B0 A1+B1 A2+B2 A3+B3
l 方法2:超前进位
对于一位的情况:;。
同理:;
;
……………………………………………
二、 编码器
1、 编码的概念
l 用二进制代码表示各种信息或各种事物的过程称为编码。如:用二进制代码表示各种字符,称为字符编码(如ASCII);用二进制代码表示十进制数,称为二-十进制编码。
l 若用n位二进制数表示各种信息(事物),则所能表示的信息(事物)数量为2n。
2、 普通二进制编码器(2n –n线编码器)
l 功能说明:
l 真值表
Y7
Y6
Y5
Y4
Y3
Y2
Y1
Y0
C
B
A
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
l 逻辑函数
C=Y4+Y5+Y6+Y7
B=Y2+Y3+Y6+Y7
A=Y1+Y3+Y5+Y7
l 逻辑电路
l 电路的优缺点:输入中每个时刻只能有一个输入有效,否则,将会造成输出的混乱。
3、 优先8-3编码器
l 基本功能说明:
ü 规定各输入的优先级,若输入中同时出现有效信号,先对优先级高者编码;设优先级顺序为:I7、I6、……、I0。
ü 低电平为有效电平
ü 增设一个使能端(选通输入端),当其无效时(1),不能编码,输出无效(111);当其有效时(1),按优先级编码输出。
l 基本真值表
1
×
×
×
×
×
×
×
×
1
1
1
0
×
×
×
×
×
×
×
0
0
0
0
0
×
×
×
×
×
×
0
1
0
0
1
0
×
×
×
×
×
0
1
1
0
1
0
0
×
×
×
×
0
1
1
1
0
1
1
0
×
×
×
0
1
1
1
1
1
0
0
0
×
×
0
1
1
1
1
1
1
0
1
0
×
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
l 改进的真值表
为区别三种111输出(一种有效,两种无效),增设选通输出端和扩展端;当无有效输入信号,且电路处于工作状态(被选通)时,有效(0),否则为1;当有有效输入信号且电路工作(被选通)时,有效(0),否则为1。
1
×
×
×
×
×
×
×
×
1
1
1
1
1
0
×
×
×
×
×
×
×
0
0
0
0
1
0
0
×
×
×
×
×
×
0
1
0
0
1
1
0
0
×
×
×
×
×
0
1
1
0
1
0
1
0
0
×
×
×
×
0
1
1
1
0
1
1
1
0
0
×
×
×
0
1
1
1
1
1
0
0
1
0
0
×
×
0
1
1
1
1
1
1
0
1
1
0
0
×
0
1
1
1
1
1
1
1
1
0
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
l 逻辑函数
l 逻辑电路
4、 优先二-十进制编码器
l 真值表
注:真值表中的各输入/输出均为低电平有效
l 逻辑函数
l 逻辑电路
三、 译码器
1、 概念
l 将二进制代码所表示的信息转换为其对应的输出的过程,是编码的逆过程。
2、 二进制译码器(2-4线译码器)
l 功能:
l 真值表:
A1
A0
1
×
×
1
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
l 逻辑函数:
l 逻辑电路:
3、 二-十进制译码器
l 功能:
l 真值表:注:输出列为低电平有效。
4、 显示译码器
l 七段(八段)显示原理
l 基本真值表
数字
A3A2A1A0
Ya
Yb
Yc
Yd
Ye
Yf
Yg
0
0000
1
1
1
1
1
1
0
1
0001
0
1
1
0
0
0
0
2
0010
1
1
0
1
1
0
1
3
0011
1
1
1
1
0
0
1
4
0100
0
1
1
0
0
1
1
5
0101
1
0
1
1
0
1
1
6
0110
1
0
1
1
1
1
1
7
0111
1
1
1
0
0
0
0
8
1000
1
1
1
1
1
1
1
9
1001
1
1
1
1
0
1
1
1010
0
0
0
0
0
0
0
1011
0
0
0
0
0
0
0
1100
0
0
0
0
0
0
0
1101
0
0
0
0
0
0
0
1110
0
0
0
0
0
0
0
1111
0
0
0
0
0
0
0
l 完整真值表
Ø 增设灯测试输入、消隐输入、灭零输入、灭零输出。
Ø 消隐时:=0,其它任意;
Ø 灭零时,须以消隐为前提且无灯测试,故:=0,=0,=1;
Ø 灯测试时,须无消隐输入,故:=0,=1。
Ø 灭零输入在待显示字符为0时,应无效。
Ø 灭零输出在消隐及灭零时为0,其它情况下为1。
数字
A3A2A1A0
Ya
Yb
Yc
Yd
Ye
Yf
Yg
0
0000
1
1
1
1
1
1
1
1
1
1
0
1
0001
1
1
×
1
0
1
1
0
0
0
0
2
0010
1
1
×
1
1
1
0
1
1
0
1
3
0011
1
1
×
1
1
1
1
1
0
0
1
4
0100
1
1
×
1
0
1
1
0
0
1
1
5
0101
1
1
×
1
1
0
1
1
0
1
1
6
0110
1
1
×
1
1
0
1
1
1
1
1
7
0111
1
1
×
1
1
1
1
0
0
0
0
8
1000
1
1
×
1
1
1
1
1
1
1
1
9
1001
1
1
×
1
1
1
1
1
0
1
1
1010
1
1
×
1
0
0
0
0
0
0
0
1011
1
1
×
1
0
0
0
0
0
0
0
1100
1
1
×
1
0
0
0
0
0
0
0
1101
1
1
×
1
0
0
0
0
0
0
0
1110
1
1
×
1
0
0
0
0
0
0
0
1111
1
1
×
1
0
0
0
0
0
0
0
消隐
××××
×
0
×
0
0
0
0
0
0
0
0
灭零
0000
1
0
0
0
0
0
0
0
0
0
0
灯测试
××××
0
1
×
1
1
1
1
1
1
1
1
l 扩展——多位显示
整数部分:最高位的灭零输入接地,其它位的灭零输入连接于高位的灭零输出。
小数部分:最低位的灭零输入接地,其它位的灭零输入连接于低位的灭零输出。
四、 数据选择器
1、 4选1数据选择器
l 功能:相当于多路开关,改变开关的控制信号,可使输出等于不同路的输入。
D3
D2
D1 Y
D0 A1A0
l 真值表:
A1A0
Dn
Y
1
××
×
0
0
00
D0=0
0
0
00
D0=1
1
0
01
D1=0
0
0
01
D1=1
1
0
10
D2=0
0
0
10
D2=1
1
0
11
D3=0
0
0
11
D3=1
1
l 逻辑函数
l 逻辑电路
2、 8选1数据选择器
l 真值表
A2A1A0
Y
1
××
0
0
000
D0
0
001
D1
0
010
D2
0
011
D3
0
100
D4
0
101
D5
0
110
D6
0
111
D7
l 逻辑函数
l 逻辑电路
五、 数值比较器
1、 1位数值比较器
l 功能:比较两个1位二进制数,并以FA>B、FA=B、FA<B表示比较结果。
l 真值表
A
B
FA>B
FA=B
FA<B
0
0
0
1
0
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
l 逻辑函数
l 逻辑电路
2、 4位数值比较器
l 功能:比较两个4位二进制数,并以FA>B、FA=B、FA<B表示比较结果。
方法:从高位开始,若A3>B3,则A>B;若A3<B3,A<B;若A3=B3,则应继续比较次高位,按以上方法,直到最低位。
l 真值表
A3B3
A2B2
A1B1
A0B0
FA>BFA=BFA<B
A3>B3
××
××
××
100
A3<B3
××
××
××
001
A3=B3
A2>B2
××
××
100
A3=B3
A2<B2
××
××
001
A3=B3
A2=B2
A1>B1
××
100
A3=B3
A2=B2
A1<B1
××
001
A3=B3
A2=B2
A1=B1
A0>B0
100
A3=B3
A2=B2
A1=B1
A0<B0
001
A3=B3
A2=B2
A1=B1
A0=B0
010
l 扩展:增加扩展输入端IA>BIA=BIA<B,且当A=B时,FA>BFA=BFA<B= IA>BIA=BIA<B;将高4位的比较结果作为输出,高4位的扩展输入接于低4位的输出;低4位的扩展输入IA=B=1、IA<B=0、IA>B=0。
当高4位不等时,直接得比较结果;当高4位等于低4位时,其结果由低4位得到,若低4位不等,则其比较结果由IA>BIA=BIA<B输出至FA>BFA=BFA<B,若低4位相等,则结果由低4位的IA>BIA=BIA<B决定(010)。
六、 奇偶校验器
1、 4位奇偶校验器
l 功能:判断各路数据中1的个数的奇偶性。奇数用FOD表示,偶数用FEV表示输出。
l 真值表
ABCD
FOD(判奇输出)
FEV(判偶输出)
0000
0
1
0001
1
0
0010
1
0
0011
0
1
0100
1
0
0101
0
1
0110
0
1
0111
1
0
1000
1
0
1001
0
1
1010
0
1
1011
1
0
1100
0
1
1101
1
0
1110
1
0
1111
0
1
l 逻辑函数(可用观察法或推导法)
注:异或所完成的一般称为“模2加法”——只考虑本位加法结果,而不考虑其进位。若所加结果为1,表示其中1的个数为奇数;若所加结果为0,表示其中1的个数为偶数。
l 逻辑电路
2、 8位奇偶校验器/产生器
l 功能:判输入数据中的奇偶性,并增加奇偶控制端,其功能是:若EVEN=1,表示采用偶校验,即输入数据与输出(FOD)中1的总数应为偶数;若ODD=1,表示采用奇校验,即输入数据与输出(FOD)中1的总数应为奇数。
l 真值表
A~H中1的个数
EVEN
ODD
FEV
FOD
偶数
1
0
1
0
奇数
1
0
0
1
奇数
0
1
1
0
偶数
0
1
0
1
×
1
1
0
0
×
0
0
1
1
l 奇偶产生/校验的基本原理
Ø 片1采用奇校验,若D0~D7中1的个数为偶数,则FOD1=1;若D0~D7中1的个数为奇数,则FOD1=0。
Ø 若传输正确,D0~D7中1的个数为偶数,FOD1=1,则片2为奇校验,FOD2=1;若D0~D7中1的个数为奇数,FOD1=0,则片2为偶校验,FOD2=1。
Ø 设D0~D7中1的个数为偶数,FOD1=1,若传输不正确,D0~D7中1的个数变为奇数,则FOD2=0。
4.4采用集成逻辑部件实现组合逻辑电路
一、用译码器实现组合逻辑电路:
例一:用138译码器实现一位全加器电路。
解:138译码器为3-8线译码器,真值表:
A2
A1
A0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
一位全加器的真值表:
A(A2)
B(A1)
CI(A0)
SO
CO
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
而:
故:
再分别用两只与非门,即可实现一位全加逻辑。
电路图:P106
二、用数据选择器实现组合逻辑电路:
例二:用8选1数据选择器实现3人表决逻辑。
解:8选1数据选择器的真值表:
A2A1A0
Y
1
××
0
0
000
D0
0
001
D1
0
010
D2
0
011
D3
0
100
D4
0
101
D5
0
110
D6
0
111
D7
三人表决的真值表:
ABC
F
000
0
001
0
010
0
011
1
100
0
101
1
110
1
111
1
对比两个真值表,首先,应使D0、D1、D2、D4为0,使D3、D5、D6、D7为1,然后,将数据选择器的输入端作为三人表决的三个输入端,即可实现逻辑功能。
电路图:P106
例三:用8选1数据选择器实现四位奇校验器。
解:需实现的奇校验的真值表:
ABCD
FOD(判奇输出)
0000
0
0001
1
0010
1
0011
0
0100
1
0101
0
0110
0
0111
1
1000
1
1001
0
1010
0
1011
1
1100
0
1101
1
1110
1
1111
0
其卡诺图为:
AB
CD
00
01
11
10
00
0
1
0
1
01
1
0
1
0
11
0
1
0
1
10
1
0
1
0
而8选1数据选择器为3个输入端,故先对所需逻辑的卡诺图“降维”,方法如下:
D=0
AB
C
00
01
11
10
0
0
1
0
1
1
1
0
1
0
D=1
AB
C
00
01
11
10
0
1
0
1
0
1
0
1
0
1
对比两张卡诺图并用D变量一般代表:
AB
C
00
01
11
10
0
D
D
1
D
D
8选1数据选择器的卡诺图:
A2A1
A0
00
01
11
10
0
D0
D2
D6
D4
1
D1
D3
D7
D5
比较两张卡诺图,得:D0 、D3 、D5、D6=D,D1 、D2、 D4、D7=,
最后,A2、A1、A0作为A、B、C输入,D输入端按上述方法连接,即得所需逻辑。
4.5组合逻辑电路的竞争-冒险现象及其消除
一、 竞争-冒险现象
1、 例子:P101
2、 概念:
l 输出端门电路的两个(或多个)输入信号可能存在由于传输路径及传输延迟的不同,或者同时向相反的逻辑电平跳变的竞争现象。我们把由于竞争而在电路输出端可能产生尖峰脉冲的现象叫做竞争-冒险现象。
二、 竞争-冒险现象的判断方法
1、 观察法:
l 由逻辑图观察,可发现由于传输路径的不同而造成的竞争-冒险现象。
2、 逻辑函数法:
l 若逻辑函数在某条件下出现原变量与其非变量的组合,则此电路存在竞争-冒险现象。
l 例:,当BC=11时,,当A发生正向跳变时,发生负向跳变,输出出现竞争-冒险现象。(可画电路图进一步证明)
3、 卡诺图法:
l 若卡诺图中出现相邻但不相交的“圈”,则化简后的表达式中一定会出现某种原变量与反变量的组合,此电路存在竞争-冒险现象。
l 例:,将其转换为卡诺图后,将出现两个相邻但不相交的圈,化简后的结果为
三、 竞争-冒险现象的消除方法
1、 修改逻辑函数——增加冗余项
l 增加冗余项的方法:在卡诺图中的相邻但不相交的圈之外,增加这些圈的“搭接圈”。
l 例:,增加“搭接圈”后,结果为,当BC=11时,F≡1。
2、 接入滤波电容
在输出端接一小电容,利用其充放电的基本特性,构成一低通滤波器,尖峰信号属于高频信号,不能通过低通滤波器。
3、 引入封锁脉冲或选通脉冲
在输出门的输入端增加封锁脉冲或选通脉冲输入端,当该脉冲无效时,电路无输出,当该脉冲有效时,电路才有输出。该脉冲的有效时刻在输入信号稳定之后。
习题解答
4.10
ABS3S2
Y
0000
0
0001
0
0010
0
0011
0
0100
0
0101
0
0110
0
0111
0
1000
0
1001
1
1010
0
1011
1
1100
0
1101
0
1110
1
1111
1
故:
真值表如下:
其逻辑功能为:
1、 A=0时:Y=0;
2、 A=1时:若B=0,则Y=S2;若B=1,则Y=S3。
4.11
ABCD
F
0000
0
0001
0
0010
0
0011
0
0100
0
0101
0
0110
0
0111
1
1000
0
1001
0
1010
0
1011
1
1100
0
1101
1
1110
1
1111
1
真值表:
卡诺图为:
AB
CD
00
01
11
10
00
0
0
0
0
01
0
0
1
0
11
0
1
1
1
10
0
0
1
0
电路图
4.12
四位循环码:
其顺序可根据四变量卡诺图得到,其特点是:每两个码组具有相邻性(只有一位不同),全部码组如下:
0000→0001→0011→0010→0110→0111→0101→0100→1100→1101→1111→1110→1010→1011→1001→1000
真值表如下:
ABCD
Y3Y2Y1Y0
0000
0000
0001
0001
0010
0011
0011
0010
0100
0110
0101
0111
0110
0101
0111
0100
1000
1100
1001
1101
1010
1111
1011
1110
1100
1010
1101
1011
1110
1001
1111
1000
Y3的卡诺图: Y2的卡诺图: Y1的卡诺图:
AB
CD
00
01
11
10
00
0
0
1
1
01
0
0
1
1
11
0
0
1
1
10
0
0
1
1
AB
CD
00
01
11
10
00
0
1
0
1
01
0
1
0
1
11
0
1
0
1
10
0
1
0
1
AB
CD
00
01
11
10
00
0
1
1
0
01
0
1
1
0
11
1
0
0
1
10
1
0
0
1
AB
CD
00
01
11
10
00
0
0
0
0
01
1
1
1
1
11
0
0
0
0
10
1
1
1
1
Y0的卡诺图:
电路图
4.13
3-8线译码器的真值表:
A2
(A)
A1
(B)
A0
(C)
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
而:
Y1卡诺图: Y2卡诺图: Y3卡诺图:
AB
C
00
01
11
10
0
1
0
1
1
1
0
0
0
0
AB
C
00
01
11
10
0
0
0
0
1
1
0
1
1
1
AB
C
00
01
11
10
0
0
0
0
0
1
0
0
1
1
电路图
4.16
对4-16线译码器:
4.17
根据8选1数据选择器的真值表及各Dn端的状态,可得下表:
A2A1A0
Y
0
000
D0
D
0
001
D1
D
0
010
D2
1
0
011
D3
0
0
100
D4
D
0
101
D5
D
0
110
D6
0
111
D7
0
依据此表,得A、B、C、D四变量的真值表与卡诺图:
ABCD
Y
0000
0
0001
1
0010
0
0011
1
0100
1
0101
1
0110
0
0111
0
1000
0
1001
1
1010
0
1011
1
1100
1
1101
0
1110
0
1111
0
AB
CD
00
01
11
10
00
0
1
1
0
01
1
1
0
1
11
1
0
0
1
10
0
0
0
0
化简卡诺图后:
4.18
方法一:
所需实现功能的卡诺图为:
AB
CD
00
01
11
10
00
0
0
1
1
01
1
1
0
1
11
1
0
0
0
10
1
1
0
0
对此卡诺图降维:
D=0
AB
C
00
01
11
10
0
0
0
1
1
1
1
1
0
0
D=1
AB
C
00
01
11
10
0
1
1
0
1
1
1
0
0
0
D=0时卡诺图用D变量一般代表:
AB
C
00
01
11
10
0
0
0
1
0
0
对比8选1数据选择器的卡诺图,可令第一片的D0、D2、D5、D7=0;D1、D3、D4、D6=,得到F1。
A2A1
A0
00
01
11
10
0
D0
D2
D6
D4
1
D1
D3
D7
D5
D=1时卡诺图用D变量一般代表:
AB
C
00
01
11
10
0
D
D
0
D
1
D
0
0
0
对比8选1数据选择器的卡诺图,可令第二片的D3、D5、D6、D7=0;D0、D1、D2、D4=D,得到F2。
最后的输出为:F=F1+F2
电路图:
按上述方法对两片的Dn端进行处理,再用一只或门对两片的输出求或,即得最后结果。
方法二:
利用8选1数据选择器的使能端,A直接作用于低位片,A取非后作用于高位片,当A=0时,低位片正常工作,高位片不工作;A=1时,高位片工作,低位片不工作。两片的输出求或后作为总输出。
按此方式工作时的真值表为:
A()
BCD(A2A1A0)
Y0
Y1
0
000
D0
0
0
001
D1
0
0
010
D2
0
0
011
D3
0
0
100
D4
0
0
101
D5
0
0
110
D6
0
0
111
D7
0
1
000
0
D8
1
001
0
D9
1
010
0
D10
1
011
0
D11
1
100
0
D12
1
101
0
D13
1
110
0
D14
1
111
0
D15
卡诺图为:
AB
CD
00
01
11
10
00
D0
D4
D12
D8
01
D1
D5
D13
D9
11
D3
D7
D15
D11
10
D2
D6
D14
D10
所需实现功能的卡诺图为:
AB
CD
00
01
11
10
00
0
0
1
1
01
1
1
0
1
11
1
0
0
0
10
1
1
0
0
对比两张卡诺图,可得:
D0、D4、D7、D10、D11、D13、D14、D15=0;D1、D2、D3、D5、D6、D8、D9、D12=1
电路图:
按以上方法处理Dn端,B、C、D端接于高低两片的A2A1A0端,A直接接于低位片的端,A通过非门接于高位片的端,输出F为两片输出之和。
19
展开阅读全文