第3章 组合逻辑电路
【基本要求、重点及难点】
本章介绍了组合逻辑电路分析和设计方法、常用的中规模集成电路(加法器、数值比较器、编码器、译码器、数据选择器和数据分配器等)的工作原理及实际应用、组合逻辑电路的竞争冒险现象等内容。应熟练掌握组合逻辑电路分析和设计方法,常用集成电路器件的功能及实际应用,熟练应用译码器或数据选择器设计逻辑电路;正确理解根据逻辑事件设定输入和输出变量及其逻辑状态的含义,根据因果关系列出真值表及按要求画出逻辑图;一般了解组合逻辑电路的竞争冒险现象。
【基本概念的分析】
组合逻辑电路一般是由若干个基本逻辑单元组合而成的,特点是任何时候输出信号都只取决于当时的输入信号,而与电路原来所处的状态无关,它的基础是逻辑代数和门电路。
分析给定的组合逻辑电路时,可以逐级地写出输出的逻辑表达式,然后进行化简,力求获得一个最简单的逻辑表达式,以使输出与输入之间的逻辑关系能一目了然。设计组合逻辑电路时,按设计步骤进行设计,把实际问题转化为逻辑关系。
常用的中规模集成电路包括加法器、数值比较器、编码器、译码器、数据选择器和数据分配器。为了增加使用的灵活性和便于功能扩展,在多数中规模组合逻辑器件中,都设置了使能端(或称选通端、控制端等),它们既可控制电路(器件)的工作状态,又可作为输出信号的选通信号,还可作为信号的输入端来使用,以便于构成各种比较复杂的数字电路系统。
组合逻辑电路存在竞争与冒险现象,在电路的输出端会出现尖峰干扰脉冲,这可能会引起负载电路的错误动作。因此,应采取措施消除冒险现象。消除冒险现象的方法通常有:加封锁脉冲、接滤波电容、加选通脉冲和修改逻辑设计等。
【思考题分析解答】
3.1思考题
1.组合逻辑电路逻辑功能和电路结构的特点是什么?
[答案]逻辑功能的特点:任一时刻的输出只取决于该时刻的输入状态,而与电路以前的状态无关;电路结构的特点:输入与输出间无反馈线。
2.如何描述组合逻辑电路的功能?
[答案]可以用真值表、卡诺图、逻辑表达式、逻辑图等来表示组合逻辑电路的逻辑功能。
3.2.1思考题
1.组合逻辑电路的逻辑特点是什么?
[答案]组合逻辑电路的逻辑特点是具有即时性。
2.组合逻辑电路的分析方法如何?
[答案](1)根据给定的逻辑图写出输出函数的逻辑表达式;(2)进行化简,求出输出函数的最简表达式;(3)列出输出函数的真值表;(4)说明给定电路的基本功能。
3.2.2思考题
1.组合逻辑电路的设计应如何进行?
[答案](1)进行逻辑抽象。①分析设计要求,确定输入、输出信号及它们之间的因果关系。②设定变量,用英文字母表示有关输入、输出信号,表示输入信号者称输入变量,有时也简称为变量,表示输出信号者叫做输出变量,有时也称为输出函数或简称为函数。③状态赋值,即用0和1表示信号的有关状态。④列真值表,根据因果关系,把变量的各种取值和相应的函数值,以表格形式一一列出,而变量取值顺序则常按二进制数递增排列,也可按循环码排列。
(2)进行化简。①输入变量比较少时,可以用卡诺图化简。②输入变量比较多用卡诺图化简不方便时,可以用公式法化简。
(3)画逻辑图。①变换最简与或表达式,求出所需要的最简式。②根据最简式画出逻辑图。
2.逻辑函数的化简对组合逻辑电路的设计有何实际意义?
[答案]化简的实际意义是使所设计的电路最简单。
3.3.1思考题
1.比较串行加法器和并行加法器运算速度,比较串行加法器和超前进位加法器的特点。
[答案]串行加法器运算速度慢(逐位相加),并行加法器运算速度快(同时相加)。
串行加法器的特点:优点是电路简单、连接方便;缺点是运算速度不高。
超前进位加法器的特点:运算速度高。
提示:根据实际设计要求选择不同类型的加法器。
2.如何利用半加器和门电路构成全加器?
[答案]可用二个半加器和一个2输入的或门电路构成全加器,第一个半加器输入AiBi,输出接2输入的或门,或门输出接第二个半加器的一个输入端,Ci-1接第二个半加器的另一个输入端,第二个半加器的输出即为全加器输出,电路图略。
3.试采用4位全加器完成8421BCD码到余3码的转换。
[答案]将4位全加器中的A3A2A1A0加入8421BCD码,B3B2B1B0固定为0011,和即为余3码,电路图略。
3.3.2思考题
1.比较器74LS85的多个输出端可以同时为高电平吗?
[答案]不可以,只能有一个是高电平。
提示:参见74LS85的功能表。
2.除M'(A<B)输入端以外,如果74LS85比较器的所有输入端都为低电平,输出是什么?
[答案]输出M(A<B)为1。
3.比较器74LS85不进行级联时,其3个级联输入端分别接什么电平?
[答案]M'(A<B)和L'(A>B)为0电平,G'(A=B)接1电平。
3.3.3思考题
1.如果多个输入作用在优先编码器的输入端,哪一个输入端将被编码?
[答案]权最高的输入端将被编码。
2.优先编码器74LS148的5个输出端是什么?它们是低电平有效,还是高电平有效?
[答案]为编码输出,为选通输出端,为扩展端,可用于扩展编码器的功能。低电平有效。
提示:参见优先编码器74LS148的功能表。
3.在什么情况下,编码器输入的编码信号是相互排斥的?
[答案]有2个以上输入的编码信号有效时,此时编码器输入的编码信号是相互排斥的。
3.3.4思考题
1.二进制译码器为什么又称最小项译码器?
[答案]二进制译码器的输出全是最小项的形式输出。
2.二-十进制译码器有多少个输入端和输出端?
[答案]有4个输入端和10个输出端。
3.译码器74LS138的3个使能输入端,只要一端满足条件,是否就可以工作?
[答案]不可以,必须同时满足。
提示:参见74LS138的功能表。
4.如有共阳接法半导体数码显示器,应选用什么输出电平有效的显示译码器?
[答案]应选用输出低电平有效的显示译码器。
5.用输出低电平有效的二进制译码器实现逻辑函数时,应选用什么门电路?
[答案]应选用与非门电路。
3.3.5思考题
1.为什么有时将数据选择器称为多路转换器?
[答案]在多路数据传送过程中,能够根据需要将其中任意一路挑选出来的电路,叫做数据选择器,因为从多路数据中选择一路输出,所以有时也称为多路转换器。
2.为什么有时将数据分配器称为多路分配器?举例说明如何用译码器来做数据分配器。
[答案]能够将1个输入数据,根据需要传送到m个输出端的任何1个输出端的电路,叫做数据分配器,因为将1个输入数据送到多个输出端,所以有时又称为多路分配器。
在使用时,把二进制集成译码器的选通控制端当作数据输入端,二进制代码输入端当作选择控制端即可。例如,74LS139是集成2线—4线译码器,也是集成1路—4路数据分配器,74LS138是集成3线—8线译码器,也是集成1路—8路数据分配器,而且它们的型号也相同。
3.当逻辑函数变量个数多于地址变量个数时,如何用数据选择器实现逻辑函数?
[答案]多余的变量作为数据信号来输入。
提示:可加上合适的门电路进行变量运算即可实现。
3.4思考题
1.组合逻辑电路的竞争现象是由什么引起的?表现为什么脉冲?
[答案]是器件的延时造成的;表现为窄脉冲。
2.产生竞争冒险的主要原因是什么?
[答案]在变量发生变化时门电路有延时。
3.消去竞争冒险方法有哪些?
[答案]冗余项法、选通法、滤波法。
【自我测试题分析解答】
一、选择题(请将下列题目中的正确答案填入括号内)
1.c;2.c;3.b;4.c;5.c;6.b;7.b;8.b;9.c;10.b。
二、判断题(正确的在括号内打√,错误的在括号内打×)
1.√;2.√;3.×;4.×;5.√;6.√。
三、分析计算题
1.解:10010。
2.解:由题意,三个开关用ABC表示,路灯用F表示,设定逻辑状态为开关闭合为1,断开为0,路灯亮为1,路灯灭为0,列出真值表见表1.3.1所示。
表 1.3.1
由真值表1.3.1可写出表达式并化简得:F=ABC,根据表达式可画出电路图,用2个异或门即可实现,电路图略。
3.解:用4选1组成16选1,需要增加2位地址码A2A3,把A2A3送入2—4译码器的输入,2—4译码器产生的4个输出信号,分别控制4个4选1数据选择器的使能端,其构成的电路图如图1.3.1所示。
图 1.3.1
4.解:由译码器来实现逻辑函数,应首先将逻辑函数表达式化为最小项与或标准表达式。
(1)F1=∑m(0,1,3,4,6,7),用3—8译码器和一个6输入与非门组成,电路图略。
(2)F2=∑m(0,2,8,4,10,12,13),用4—16译码器和一个7输入与非门组成,电路图略。
5.解:(1)F1= +B+A+ABC,和4选1数据选择器的输出表达式比较得:
A1A0=AB,D0=,D1=1,D2=,D3=C,实现的电路图如图1.3.2(a)所示。
(2)F2=+,和4选1输出表达式比较得:
A1A0=AB,D0=0,D1=0,D2=1,D3=,实现的电路图如图1.3.2(b)所示。
图 1.3.2
【习题分析解答】
一、选择题(请将下列题目中的正确答案填入括号内)
1.a;2.a;3.b;4.a;5.c;6.a;7.c;8.b;9.c;10.c;11.a;12.b。
二、判断题(正确的在括号内打√,错误的在括号内打×)
1.√;2.√;3.×;4.√;5.√;6.×。
三、分析计算题
1.解:由逻辑图可得:(a)F1=AB+CD,四个变量先两两异或,再实现或运算;
(b)F2=ABCD,四个变量异或运算;
(c)M=0:F0=A0,F1=A1,F2=A2,M=0时实现信号的直通传输功能;
M=1:F0=,F1=,F2=,M=1时实现信号反相后的传输功能。
2.解:设3台设备为A、B、C,无故障为“0”,有故障为“1”,F1为红灯,F2为黄灯,灯灭为“0”,灯亮为“1”。列出真值表见表1.3.2所示。
由表1.3.2可得:F1=AB+AC+BC,F2=C+++ABC=ABC。由表达式可画出逻辑图如图1.3.3所示。
表 1.3.2
图 1.3.3
3.解:设总裁判为D,由题意可得表1.3.3所示的真值表。
由真值表可得:F=ABC+AD+BD+CD;
由表达式可画出逻辑图如图1.3.4所示。
表 1.3.3
图 1.3.4
4.解:由题意可得表1.3.4所示的真值表。
由真值表可得:Y3=X3+X0X2+X1X2;
Y2=X0X3+X2;
Y1=X3+X1+X1X0;
Y0=X0+X1X2+X3。
由表达式画逻辑电路图如图1.3.5所示。
表 1.3.4
图 1.3.5
5.解:A3A2A1A0接8421码,B3B2B1B0接0011,全加器的S3S2S1S0为余3码。
6.解:用A3A2A1A0表示8421码,B3B2B1B0表示余3码,可得真值表1.3.5所示。
表 1.3.5
表 1.3.6
由真值表可得:B3=A3+A2A1+A2A0,B2=A1+A0,B1=A1☉A0,B0=A0。
由表达式画逻辑电路图如图1.3.6所示。
7.解:由题意可得表1.3.6所示的真值表。
由真值表可得:
Y3=A1A0B1B0;
Y2=A1B1+A1B1;
Y1=A1B0+A0B1+A1B0+A0B1;
Y0=A0B0。
图 1.3.6
图 1.3.7
根据题意,画出Y2表达式的逻辑图如图1.3.7所示。
8.解:设4个控制路灯的开关为A、B、C和D,开关动作为1,不动作为0。路灯用F表示,路灯亮为1,路灯灭为0。由此可列出真值表(真值表略),由真值表可知ABCD组合为0001、0010、0100、0111、1000、1011、1101、1110时灯亮。由此可得到最小项表达式,并化简后得到:F=ABCD。由表达式可知用3个异或门即可实现,电路图略。
9.解:实现对被减数、减数及来自相邻低位的借位数,进行全减减运算而得到差,以及向相邻高位借位的逻辑电路,称为全减器。
设在第i位进行减法运算,输入被减数为Ai,减数为Bi,来自相邻低位的借位数为Ci-1,输出本位差为Di,借位为Ci。由此可列出真值表见表1.3.7所示。
表 1.3.7
图 1.3.8
由真值表写出全减器表达式:
Di=m1+m2+m4+m7=AiBiCi-1;Ci=m1+m2+m3+m7=BiCi-1+Bi+Ci-1。
由表达式画全减器逻辑电路图,如图1.3.8所示。
图 1.3.9
10.解:由题意可知:当A1A0和B1B0同时为00、01、10、11时,A=B,输出F为1。对应的最小项为m0、m5、m10、m15,由此可写表达式:
F=∑m(0,5,10,15)=(A1☉B1)(A0☉B0)
由表达式画逻辑电路图,如图1.3.9所示。
11.解:由题意可得表1.3.8所示的真值表。
由真值表写达式,并化简得:
Z2=B2+B1=B2B1;
Z1=B2;
Z0=+B0+B0。
表 1.3.8
12.解:(1)当使能端=0时,Y2Y1Y0=101;(2)当=1时,输出高阻。
13.解:F1=m0+m1+m4+m5;F2=m1+m3+m6+m7。连接图如图1.3.10所示。(主教材书中应为(1)F1=C+AC+;(2)F2=AB+C。)
图 1.3.10
14.解:根据题意可写出全加器最小项表达式:Si=m1+m2+m4+m7、Ci=m3+m5+m6+m7;全减器最小项表达式:Di=m1+m2+m4+m7、Ci=m1+m2+m3+m7。由表达式可画出全加器和全减器的电路图如图1.3.11所示。
图 1.3.11
15.解:由题意设红黄绿用RYG表示,列出真值表(真值表略),写出最小项标准表达式,然后与4选1数据选择器的输出表达式比较得:A1A0=RY;D0=,D1=D2=G,D3=1。画出电路图如图1.3.12所示。
图 1.3.12
16.解:(1)写出最小项标准表达式与4选1输出表达式比较得:
D0=C+D,D1=CD,D2=,D3=。
(2)写出最小项标准表达式与4选1输出表达式比较得:
D0=D,D1=C+D,D2=C+D,D3=0。
画出电路图如图1.3.13所示。
图 1.3.13
17.解:参考自我测试题3,将图1.3.1中后2个2—4译码器,用3—8译码器替代。
18.解:由题意可得表1.3.9所示的真值表。
由真值表写表达式:F=m0+m3+m5+m6。
由表达式可用译码器产生的逻辑电路图如图1.3.14所示。
用4选1数据选择器时,将表达式与4选1输出表达式比较得:
A1A0=AB,D0=,D1=D2=D3=C,数据选择器产生的逻辑电路图如图1.3.15所示。
19.解:根据逻辑功能列真值表见表1.3.10~表1.3.12所示。
由真值表可写表达式(并化简):
F1=ABC+ABD+ACD+BCD,F2=(A+B+C+D)(+++),F3=ABCD。
再由表达式画逻辑电路图,如图1.3.16所示。
表 1.3.9
图 1.3.14
图 1.3.15
表 1.3.10
表 1.3.11
表 1.3.12
20.解:设4项质量指标为D、C、B和A,质量指标满足要求用1表示,不满足要求用0表示。产品检验结果用F表示,产品合格为1,不合格为0。根据题意可列出真值表(真值表略),并由真值表可得到表达式:F=+A+BA+DCBA。
图 1.3.16
设A2=D、A1=C、A0=B,上述表达式同8选1数据选择器表达式比较后可得:D0=D1=D2=D3=D4=0,D5=D6=A,D7=1,由此画出逻辑电路图如图1.3.17所示。
图 1.3.17
21.解:选择8选1数据选择器,其地址输入码A2A1A0为自然二进制代码,并取D0D1D2D3D4D5D6D7=11011010,这样当地址输入码A2A1A0由000依次变到111时,输出端Y便输出11011010的序列脉冲信号,电路图如图1.3.18所示。
图 1.3.18
22.解:(a)F1=C+B+;
(b)F2= D+C+BC+AC++ABD+ABCG。
23.解:由图写出表达式:
F=Z+X+G0XZ+G1Z+G1+G1G0+G1G0XZ。
整理后得:G1G0=00,F=X+Z;G1G0=01,F=XZ;
G1G0=10,F=XZ;G1G0=11,F=X☉Z。
24.解:当=C=1时,F2=A++1,由于C=1,所以F2始终为1,故F2不存在竞争冒险现象。
【实验与实训分析提示】
一、组合逻辑电路
1.提示:实验前画出设计的电路图,学会测试判断TTL集成门电路的好坏,在确保集成门电路逻辑功能正确的情况下,进行组合逻辑电路的测试。
2.注意:根据设计电路要求,选择合适的集成门电路并完成相关测试。
二、全加器
1.提示:读懂保留进位全加器(74LS183)和4位二进制全加器(74LS283)的引脚图和功能表,实验前画出测试电路图和测试表格。
2.注意:4位串行进位加法器测试时,应注意高低位进位端的正确连接。
三、数据选择器
1.提示:读懂双4选1数据选择器(74LS1534)的引脚图和逻辑功能表,其中两个数据选择器的选择控制信号端A1A2是公用的。实验前画出测试电路图和测试表格。
2.注意:双4选1数据选择器使用时,应正确连接使能端逻辑电平,确保数据选择器处于正常的工作状态。
四、数值(数码)比较器
1.提示:读懂4位数码比较器74LS85的引脚图和逻辑功能表,实验前画出测试电路图和测试表格。
2.注意:用门电路设计1位二进制数比较器和4位二进制数比较器时,电路要求最简化。
五、译码器
1.提示:读懂译码器74LS138的引脚图和逻辑功能表,实验前画出测试电路图和测试表格。正确用3—8线译码器构成4—16线译码器,掌握译码器的扩展方法。
2.注意:译码器74LS138使用时,应正确连接使能端逻辑电平,确保译码器处于正常的工作状态。
六、综合实训
1.加减运算电路
提示:本题主要考核综合应用几种集成电路设计组合逻辑电路的能力,必须对所用的每一种集成电路的逻辑功能十分清楚,才能完成综合电路的设计。建议用一个变量作为控制信号,变量为0时全加运算,而变量为1时全减运算,合理连接变量控制信号与集成器件的使能端,即可实现两种功能。
(1)全加器和全减器的真值表见表1.3.13。
表 1.3.13
表中X变量为控制信号,X=0时作为全加器运算;X=1时作为全减器运算,Ci为进借位信号。
全加器时:Ai、Bi为两个加数,Si为全加的和,Ci-1为低位向高位进位;
全减器时:Ai为被减数,Bi为减数,Di为全减差数,Ci-1为低位向高位的借位。
(2)写表达式:
Si(Di)=∑M(1,2,4,7,9,10,12,15);
Ci=∑M(3,5,6,7,9,10,11,15)。
(3)用译码器实现函数Si和Ci。
用两片138芯片可扩展为4线—16线的译码器。分别令A2、A1、A0和一位可控制的全加、全减器的Ai、Bi、Ci-1端相连,控制端X和芯片(I)的,端及芯片(Ⅱ)的S1端相连。根据138芯片的功能可知,X=0时,芯片(I)工作[芯片(I)S1端直接高电平];而当X=1时,芯片(Ⅱ)工作[芯片(Ⅱ),端接低电平]。按此法连成的一位全加、全减器电路图如图1.3.19所示。
图 1.3.19
由于138芯片输出的通道被译中时为低电平输出,故电路中输出函数应加与非门。若译码器译中的通道为高电平输出,则应通过或门输出。
(4)用数据选择器74LS253(153)芯片实现函数Si(Di)、Ci。
74LS253芯片为双4选1数据选择器,根据其表达式和函数Si(Di)的表达式比较,Si(Di)=Ci-1+Bi+Ai+AiBiCi-1,若令A1=Ai、A0=Bi,则直接可得到:D0=D3=Ci-1、D1=D2=Ci-1。因此用74LS253得到函数Si(Di)的电路图如图1.3.20(a)所示。
进位(借位)函数Ci的表达式若改写为最小项的形式,可写成:
Ci=(BiCi-1+AiCi-1+AiBi+AiBiCi-1)+X(Ci-1+Bi+BiCi-1+AiBiCi-1)。
Ci为四变量函数,本例中将变量和X分别接至1和2端。芯片的地址译码端仍按上面所述的接法,即令A1=Ai、A0=Bi,比较表达式,可得1D0=0、1D1=Ci-1、1D2=Ci-1、1D3=1、2D0=Ci-1、2D1=1、2D2=0、2D3=Ci-1。因此用74LS253实现的一位全加、全减器的进位(借位)信号Ci的电路如图1.3.20(b)所示。图中,当X=0时,1Y通道内容与或门输出,2Y通道输出呈高阻,和X=0线相与后不影响Ci输出。反之,当X=1时,2Y通道内容经与或门输出,1Y通道的内容被封锁。
图 1.3.20
2.制作温度检测报警电路
提示:电路用数值比较器来实现,设置一个基准温度(如在B输入端设定),当实测的(加在A输入端)超过基准温度时,电路发生报警(声响电路可直接用蜂鸣器)。