1第11章组合逻辑电路例题解析例11.1分析图11.1电路的逻辑功能。解(1)在图11.1中,有A,B,C,D四输入变量,F一个输出函数,用T1、T2分别标注中间变量。(2)写出输出逻辑函数表达式为T1=A⊙BT2=C⊙DF=T1⊙T2=A⊙B⊙C⊙D(3)根据表达式列出真值表如表11.1所示。(4)功能说明。从真值表可看出,当A,B,C,D四输入变量中有偶数个1(包括全0)时电路输出F为1,而有奇数个1时,输出F为0,因此这是一个四输入的偶校验电路。例11.2组合逻辑电路如图11.2所示。已知A,B,C是输入变量,F1和F2是输出函数,试写出输出函数F1和F2的逻辑表达式,并分析该组合逻辑电路的逻辑功能。解:(1)根据逻辑图可写出输出函数F1和F2的逻辑表达式并化简。H=AB;I=A+B;J=IC=(A+B)C;K=I+C=A+B+C:M=HC=ABCN=H+J=AB+(A+B)CQ=KN=(A+B+C)AB+(A+B)C表11.1图11.1T1T22F1=M+Q=ABC+(A+B+C)AB+(A+B)C=ABC+(A+B+C)(A+B)(A+C)(B+C)=ABC+ABC+ABC+ABC=A(B○C)+A(B○C)=A○B○CF2=N=AB+(A+B)C=AB+AC+BC(2)根据F1和F2的逻辑表达式列出真值表如表11.2所示。(3)分析真值表可知,该组合逻辑电路是一个全加器。输入A,B,C分别是加数、被加数和低位的进位;输出F1是本位的和,F2是本位向高位的进位。例11.3试用与非门设计—个组合逻辑电路,它接收—位8421BCD码B3、B2、B1、B0,仅当2<B3B2B1B0<7时,输出F才为1。解:(1)根据题意知,逻辑变量为B3B2B1B0,逻辑函数为F。列出真值表如表11.3所示,因B3B2B1B0为8421BCD码,所以从1010~1111六组值对应的最小项为无关项(约束项),它们的函数值可以任取。(2)将真值表中的函数值填入卡诺图并化简,如图11.3(a)。注意其中无关项的处理。(3)由卡诺图化简可得最简式,并转换为与非与非式为01202120120212BBBBBBBBBBBBBBF(4)画出逻辑电路如图解11.3(b)所示。3例11.4某实验室用两个灯显示三台设备的故障情况,当一台设备有故障时黄灯亮;当两台设备同时有故障时红灯亮;当三台设备同时有故障时黄、红两灯都亮。设计该逻辑电路。解:(1)根据逻辑问题找出输入变量和输出变量,并设定逻辑值。在所述逻辑问题中,可确定A、B、C为输入变量,它们代表三台设备的故障情况,并设定:有故障时,对应逻辑“1”,无故障时,对应逻辑“0”。确定量F1、F2为输出变量,它们分别表示黄灯和红灯的亮、灭情况,并设定:灯亮时,对应逻辑“1”;灯灭时,对应逻辑“0”。(2)根据逻辑问题及以上设定,列出真值表如表11.4所示。(3)由真值表写出逻辑表达式并化简。用公式法化简F1:F1=ABC+ABC+ABC+ABC=A(BC+BC)+A(BC+BC)=A(B○C)+A(B○C)=A○(B○C)用卡诺图法化简F2,将真值表中的函数值填入卡诺图如图11.4(a)并化简。4由卡诺图得最简表达式:F2=AB+BC+AC若采用与非门实现,则应将函数转换为与非与非式:ACBCABF2(4)根据表达式画出逻辑电路如图11.4(b)所示。由图可见,该电路要用三片集成器件构成:一片四异或门7486、—片四2输入与非门7400、—片三3输入与非门7410。虽然逻辑表达式是最简的,但实际实现起来所用的集成器件的个数和种类都不是最少。(5)若以集成器件为基本单元来考虑向题,可重新化简逻辑函数F2:F2=ABC+ABC+ABC+ABC=A(BC+BC)+BC=A(B○C)+BC=A(B○C)·BC对应的逻辑电路如图11.4(c)所示,此电路只需两片集成器件即可完成。由此可见,计逻辑电路时,不能单纯考虑逻辑表达式是否最简,所用逻辑门是否最少,而要从实际出发,以集成器件为基本单元来考虑问题,看是否所用集成器件的个数及种类最少。另外,进行多个输出端的逻辑函数的化简时,让不同的输出逻辑函数中包含相同项,可以减少门的个数,有利于整个逻辑电路的化简。例11.5试用3个异或门4位二进制码转换成4位格雷码。5解(1)列出将4位二进制码转换成4位格雷码的真值表,如表11.5所示。其中B3B2B1B0是二进制码、G3G2G1G0是格雷码。(2)用卡诺图化简输出函数表,得逻辑函数表达式为:G3=B3G2=B3○B2Gl=B2○B1G0=B1○B0(3)根据表达式画出逻辑图,如图11.5所示。例11.6试用2输入与门和2输入或门实现4变量逻辑函数:F(A,B,C,D)=∑m(7,11)解将逻辑函数写成最小项形式F(A,B,C,D)=∑m(7,11)=CDBABCDA此函数已为最简形式。从表面上看,实现此函数只能用2个4输入与门和1个2输入或门实现。但是,如果将公因子提出来,变为6F(A,B,C,D)=)(BABACD即可用2输入门电路实现,电路如图11.6所示。例11.7用8选1数据选择器74151实现逻辑函数CBBACAF解:逻辑变量的数目为3个(A、B、C),8选1数据选择器74151的数据选择器选择输入端为也为3个(A0A1A2)。写出该函数的卡诺图如图11.7所示。用卡诺图来表示8选1数据选择器的功能表。如图11.8所示。将函数的卡诺图与8选1数据选择器卡诺图比较后,只须将逻辑变量A、B、C依次接在选择输入端A2、A1、A0,使能端ST接0,而8选1数据选择器的各数据输入端依次接为D0=0,D1=1,D2=0,D3=0,D4=1,D5=1,D6=1,D7=0。这样74l5l的输出端Y就是逻辑函数F。如图11.9所示。用具有n个地址输入的数据选择器来实现n个逻辑变量的函数不需要将函数化简为最简式,只要将输入逻辑变量加到相应的地址端,选择器的数据输入端D0~D7按函数卡诺图中最小项格中的值(0或1)对应相连即可。用数据选择器除了实现选择输入端数与逻辑变量数相同的逻辑函数外,还可以实现选择输入端数少于逻辑变量的逻辑函数。借助于引入变量的卡诺图,分离出多余的变量,将其它变量依次接数据选择器的选择输入端,而分离出的变量按一定规则接到数据选择器输入端,即可实现逻辑函数。例11.8用MSI(中规模集成电路)组合电路芯片构成一位二进制全减器。解设被减数为A,减数为B,借位输入为CI,全减差输出为D,全减借位输出为Co。列出真值表,如表11.6所示,由表11.6可得表达式D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7图11.9图11.7图11.87IIIIIABCCBACBACBAmCBAD)7,4,2,1(),,(IIIIIOABCBCACBACBAmCBAC)7,3,2,1(),,(根据表达式.即可用MSI中规模集成电路实现,现采用译码器HC138实现,用译码器实现时,因为译码器HC138是反码输出,所以可将上式分别变为7421)7,4,2,1(),,(mmmmmCBADI7321)7,3,2,1(),,(mmmmmCBACIO从而在译码器输出增加与非门来实现。如图11.10所示。例11.9已知逻辑电路图如图11.11(a)所示,判断电路是否存在冒险,并画出消除冒险的电路。解根据图11.11(a)的电路图可写出:CAABCAABF,令B=C=1时,AAF,所以会产生0冒险。消除冒险的方法是增加冗余项,消除AA产生的条件。现根据包含律将F改写为BCCAABF,令B=C=1时,1AAF,就不可能出现0冒险。在电路中增加相应的门电路,画出电路图如图11.11(b)所示。8例11.10已知逻辑电路图如图11.12(a)所示,判断电路是否存在冒险,并画出消冒险的电路。解根据图11.12(a)的电路图写出C)A(B)(ACABAF当A=C=0时,AAF,所以会产生1冒险。消除冒险的方法是消除AA产生的条件,即根据包含律将F改写为CBCABAC)C)(BA(B)(AC)B)(A(AF令B=C=0时,0AAF=0不可能产生1冒险,画出电路图如图11.12(b)所示。