2020年1月4日1第4章组合逻辑电路4.1组合逻辑电路的分析方法4.2组合逻辑电路的设计方法4.3组合逻辑电路的险象2020年1月4日2第4章组合逻辑电路数字电路分类:组合逻辑电路和时序逻辑电路。组合逻辑电路:电路任一时刻的输出状态只决定于该时刻各输入状态的组合,而与电路的原状态无关。组合电路就是由门电路组合而成,电路中没有记忆单元,没有反馈通路。每一个输出变量是全部或部分输入变量的函数:L1=f1(A1、A2、…、Ai)L2=f2(A1、A2、…、Ai)……Lj=fj(A1、A2、…、Ai)……组合逻辑电路A1A2AiL1L2Lj组合电路的一般结构2020年1月4日34.1组合逻辑电路的分析方法1.分析的主要步骤如下:(1)由逻辑图写表达式;(2)化简表达式;(3)列真值表;(4)描述逻辑功能,并对原电路的设计方案进行评定,必要时提出改进意见和改进方案。所谓组合逻辑电路的分析,就是根据给定的逻辑电路图,求出电路的逻辑功能。组合逻辑电路逻辑表达式最简表达式真值表逻辑功能化简变换2020年1月4日4例4-1组合电路如图所示,分析该电路的逻辑功能。2.举例说明组合逻辑电路的分析方法图4-1例4-1逻辑电路图解:(1)由逻辑图逐级写出表达式(借助中间变量P)。PABCLAPBPCPAABCBABCCABC&&&&≥1ABCLP2020年1月4日5解:(1)由逻辑图逐级写出表达式(借助中间变量P)。(2)化简与变换:(3)由表达式列出真值表。PABCLAPBPCPAABCBABCCABC()LABCABCABCABCABCABC(4)分析逻辑功能:当A、B、C三个变量不一致时,输出为“1”,所以这个电路称为“不一致电路”。000001010011100101110111ABC01111110L真值表2020年1月4日6例4-2分析图4-2(a)所示电路的逻辑功能。图4-2(a)例4-2逻辑电路图图4-2(b)2020年1月4日7解:为了方便写表达式,在图中标注中间变量,比如F1、F2和F3。SBABABABABAABBABAABBABABFAFFF))((1132ABABFC12020年1月4日8表4-2例4-2真值表该电路实现两个一位二进制数相加的功能。S是它们的和,C是向高位的进位。由于这一加法器电路没有考虑低位的进位,所以称该电路为半加器。根据S和C的表达式,将原电路图改画成图4-2(c)所示的逻辑图。图4-2(c)逻辑图S=A⊕BC=AB2020年1月4日9例4-3:试分析图4-3所示逻辑电路的功能。①表达式01012123233BBGBBGBBGBG图4-3例4-3的逻辑电路图2020年1月4日10自然二进制码格雷码B3B2B1B0G3G2G1G000000000000100010010001100110010010001100101011101100101011101001000110010011101101011111011111011001010110110111110100111111000②真值表01012123233BBGBBGBBGBG自然二进制码至格雷码的转换电路。③分析功能①表达式2020年1月4日114.2组合逻辑电路的设计方法1.组合逻辑电路的设计步骤:(1)分析设计要求,设置输入输出变量并逻辑赋值;(2)列真值表;(3)写出逻辑表达式,并化简;(4)画逻辑电路图。与分析过程相反,组合逻辑电路的设计是根据给定的实际逻辑问题,求出实现其逻辑功能的最简单的逻辑电路。实际逻辑问题最简(或最逻辑图化简变换真值表逻辑表达式合理)表达式2020年1月4日122.组合逻辑电路设计方法举例。例4-4一火灾报警系统,设有烟感、温感和紫外光感三种类型的火灾探测器。为了防止误报警,只有当其中有两种或两种以上类型的探测器发出火灾检测信号时,报警系统产生报警控制信号。设计一个产生报警控制信号的电路。解:(1)分析设计要求,设输入输出变量并逻辑赋值;输入变量:烟感A、温感B,紫外线光感C;输出变量:报警控制信号Y。逻辑赋值:用1表示肯定,用0表示否定。2020年1月4日13(2)列真值表;把逻辑关系转换成数字表示形式;表4-2例4-4真值表ABCY00000010010001111000101111011111(3)由真值表写逻辑表达式,并化简;化简得最简式:2020年1月4日14(5)如果,要求用与非门实现该逻辑电路,就应将表达式转换成与非—与非表达式:得最简与—或表达式:(4)画出逻辑图:YABBCAC画出逻辑图:YABBCACABBCACBC&A&Y&&&&&≥1YABC2020年1月4日15(6)画逻辑电路图:如果作以下变换:用一个与或非门加一个非门就可以实现,其逻辑电路图如下图所示。2020年1月4日16例4-5设计一个比较两个三位二进制数是否相等的数值比较器。解令:两个3位二进制数分别为A=a3a2a1,B=b3b2b1,比较结果为函数F。当A=B时,F为1;否则F为0。显然,这是一个有6个输入变量,1个输出函数的组合逻辑电路。①建立给定问题的逻辑描述要使二进制数A=B,则必须满足a3=b3且a2=b2且a1=b1;而ai=bi,则ai和bi同时为0或者同时为1两种可能,因此,该问题可用逻辑表达式描述如下:2020年1月4日17②求出逻辑函数最简表达式假定将上述逻辑表达式展开成“与-或”表达式,则表达式中包含8个6变量“与项”。所以该函数不能化简③选择逻辑门类型并进行逻辑函数变换假定采用异或门和或非门实现给定功能,可将逻辑表达式作如下变换:2020年1月4日18④画出逻辑电路图。F=(a3⊕b3)+(a2⊕b2)+(a1⊕b1)=1a3b3=1a2b2=1a1b1F≥12020年1月4日193设计中几个实际问题的处理实际提出的设计要求是形形色色的,往往除了复杂之外,还存在某些特殊情况需要考虑。为了在各种特殊情况下能设计出最简的逻辑电路,必须针对具体问题作出具体的分析和处理。下面就几个常见问题进行讨论。一、包含无关条件的组合逻辑电路设计在某些实际问题中,常常由于输入变量之间存在的相互制约或问题的某种特殊限定等,使得输入变量的某些取值组合根本不会出现,或者虽然可能出现,但对在这些输入取值组合下函数的值是为1还是为0并不关心。通常把这类问题称为包含无关条件的逻辑问题;与这些输入取值组合对应的最小项称为无关最小项,简称为无关项或者任意项;描述这类问题的逻辑函数称为包含无关条件的逻辑函数。2020年1月4日20例如,假定用A、B、C表示计算机中的+、-、×运算,并令变量取值1执行相应运算,则A、B、C三个变量不允许两个或两个以上同时为1,从而A、B、C只允许出现000,001,010,100四种取值组合;不允许出现110,101,011,111四种组合,即包含无关最小项。与A、B、C相关的逻辑函数称为包含无关条件的逻辑函数。当采用最小项之和表达式描述一个包含无关条件的逻辑问题时,函数表达式中是否包含无关项以及对无关项是令其值为1还是为0,并不影响函数的实际逻辑功能。因此,在化简这类逻辑函数时,利用这种随意性往往可以使逻辑函数得到更好地简化,从而使设计的电路达到更简。ABCABCABCABC,,,一、包含无关条件的组合逻辑电路设计2020年1月4日21例6设计一个组合逻辑电路,用于判别以余3码表示的1位十进制数是否为合数。解由题意可知,该电路输入为1位十进制数的余3码,输出为对其值进行判断的结果。设输入变量为A、B、C、D,输出函数为F,当ABCD表示的十进制数为合数(4、6、8、9)时,输出F为1,否则F为0。因为按照余3码的编码规则,ABCD的取值组合不允许为0000、0001、0010、1101、1110、1111,故该问题为包含无关条件的逻辑问题,与上述6种取值组合对应的最小项为无关项,即在这些取值组合下输出函数F的值可以随意指定为1或者为0,通常记为d。一、包含无关条件的组合逻辑电路设计2020年1月4日22据此,可建立描述该问题的真值表如表4.4所示。根据真值表可写出F的逻辑表达式为F(A,B,C,D)=∑m(7,9,11,12)+∑d(0,1,2,13,14,15)一、包含无关条件的组合逻辑电路设计2020年1月4日23不考虑无关项:函数F的卡诺图如图(a)所示,合并卡诺图上的1方格,可得到化简后的逻辑表达式为F(A,B,C,D)=ABD+ABCD+ABCD若考虑无关项:F的卡诺图如图(b)所示,根据合并的需要将卡诺图中的无关项d(13,14,15)当成1处理,而把d(0,1,2)当成0处理,可得到化简后的逻辑表达式为F(A,B,C,D)=AB+AD+BCD显然,后一个表达式比前一个表达式更简单。2020年1月4日24假定采用与非门组成实现给定逻辑功能的电路,可将F的最简表达式变换成与非-与非表达式:一、包含无关条件的组合逻辑电路设计相应的逻辑电路图如图所示。可见,设计包含无关条件的组合逻辑电路时,恰当地利用无关项进行函数化简,通常可使设计出来的电路更简单。2020年1月4日25二、多输出函数的组合逻辑电路设计实际问题中,大量存在着由同一组输入变量产生多个输出函数的问题,实现这类问题的组合逻辑电路称为多输出函数的组合逻辑电路。设计多输出函数的组合逻辑电路时,如果只是孤立地求出各输出函数的最简表达式,然后画出相应逻辑电路图并将其拼在一起,通常不能保证逻辑电路整体最简。因为各输出函数之间往往存在相互联系,具有某些共同的部分,因此这类电路达到最简的关键是在函数化简时找出各输出函数的公用项,使之在逻辑电路中实现对逻辑门的共享,从而达到电路整体结构最简。2020年1月4日26例7设计一个全加器(逻辑门自选)。本章前面讨论过半加器电路,它是不考虑低位进位的加法器。全加器能把本位两个加数An、Bn和来自低位的进位Cn-1三者相加,得到求和结果Sn和该位的进位信号Cn。由此可知,全加器有3个输入变量An、Bn、Cn-1,2个输出函数Sn和Cn表示。二、多输出函数的组合逻辑电路设计2020年1月4日27表3-12全加器的真值表SnCn0000000110010100110110010101011100111111AnBnCn-1由真值表写最小项之和式,再稍加变换得:1111111)()(nnnnnnnnnnnnnnnnnnnnnnCBACBACBACBACBACBACBAS2020年1月4日28nnnnnnnnnnnnnnBACBABACBACBAC111)(SnCn0000000110010100110110010101011100111111AnBnCn-1由真值表写最小项之和式,再稍加变换得:2020年1月4日29图全加器(a)电路图(b)逻辑符号1nnnnCBASnnnnnnBACBAC1)(由表达式得逻辑图:公共项2020年1月4日30三、无反变量提供的组合逻辑电路设计在某些问题的设计中,为了减少各部件之间的连线,只给逻辑电路的输入端提供原变量,不提供反变量。设计这类电路时,直截了当的办法是当需要某个反变量时,就用一个非门将相应的原变量转换成反变量,但这样处理往往是不经济的。因此,通常采用适当的方法进行处理,以便尽可能减少非门数量。2020年1月4日31例8输入变量中无反变量时,用与非门实现如下逻辑函数:解因为给定函数已经是最简“与-或”表达式,故可直接变换成与非-与非表达式相应逻辑电路如右图所示。三、无反变量提供的组合逻辑电路设计较复杂2020年1月4日32如果对函数F的表达式作如下整理,即相应逻辑电路如右图所示。三、无反变量提供的组合逻辑电路设计较简洁2020年1月4日33例9设计一个组合逻辑电路,用来判断献血者与受血者血型是否相容。血型相容