1、12.1 概 述 l数字逻辑电路按其逻辑功能的不同可分为:数字逻辑电路按其逻辑功能的不同可分为:组合逻辑组合逻辑电路电路和和时序逻辑电路时序逻辑电路两大类。两大类。l所谓组合逻辑电路所谓组合逻辑电路是指该电路在任意时刻的输出状态是指该电路在任意时刻的输出状态只取决于这一时刻的输入状态,而与以前的输入和电只取决于这一时刻的输入状态,而与以前的输入和电路的原状态都无关,简称为路的原状态都无关,简称为组合电路组合电路。其电路结构只。其电路结构只含有逻辑门电路,而不含有记忆元件,且只有从输入含有逻辑门电路,而不含有记忆元件,且只有从输入到输出的通路,而不具有从输出到输入的反馈回路。到输出的通路,而不具
2、有从输出到输入的反馈回路。时序逻辑电路我们将在第四章中进行叙述。时序逻辑电路我们将在第四章中进行叙述。返回主菜单返回主菜单2l组合逻辑电路的讨论可从组合逻辑电路的讨论可从分析分析与与设计设计两方面来考虑。两方面来考虑。l组合逻辑电路的分析,就是根据给定的组合逻辑电,就是根据给定的组合逻辑电路,写出其逻辑函数表达式,并以此来描述其逻辑路,写出其逻辑函数表达式,并以此来描述其逻辑功能,确定输出与输入的逻辑关系,评定电路设计功能,确定输出与输入的逻辑关系,评定电路设计的合理性、可靠性,指出原电路设计的不足之处,的合理性、可靠性,指出原电路设计的不足之处,必要时提出改进意见和改进方案,便于完善、改进必
3、要时提出改进意见和改进方案,便于完善、改进设计。设计。3l组合逻辑电路的设计是组合逻辑电路分析的逆是组合逻辑电路分析的逆过程,它是根据给定的逻辑功能要求或给出的过程,它是根据给定的逻辑功能要求或给出的逻辑函数,在一定条件下,设计出既能实现该逻辑函数,在一定条件下,设计出既能实现该逻辑功能又经济实惠的组合逻辑电路方案,并逻辑功能又经济实惠的组合逻辑电路方案,并画出其逻辑电路图。画出其逻辑电路图。l本章本章主要介绍主要介绍组合逻辑电路的组合逻辑电路的分析与设计、二分析与设计、二进制运算电路、编码与编码器、译码与译码器进制运算电路、编码与编码器、译码与译码器及组合逻辑电路的及组合逻辑电路的竞争与险象
4、竞争与险象。42.2 组合逻辑电路的分析 一、组合逻辑电路分析的一般方法一、组合逻辑电路分析的一般方法l组合电路的分析,一般可按以下组合电路的分析,一般可按以下步骤步骤进行:进行:l1根据给定的逻辑电路,写出逻辑函数表达式根据给定的逻辑电路,写出逻辑函数表达式(由图写(由图写表达式)表达式)l2化简逻辑电路的输出函数表达式化简逻辑电路的输出函数表达式(化简表达式)(化简表达式)l3根据化简后的逻辑函数表达式列出真值表根据化简后的逻辑函数表达式列出真值表(列出真值(列出真值表)表)l4功能评述功能评述(并分析合理性并分析合理性)返回主菜单返回主菜单5 二、组合逻辑电路分析举例l下面举例说明组合逻
5、辑电路分析的过程。下面举例说明组合逻辑电路分析的过程。l l例例2.12.1 分析图分析图2.1(a)给定的组合逻辑电路。给定的组合逻辑电路。(a)(b)图2.1 例2.1的逻辑电路图返回返回61.根据给定的逻辑电路图,写出输出逻辑函数表达式。根据电路中每种逻辑门电路的功能,从输入到输出,逐级写根据电路中每种逻辑门电路的功能,从输入到输出,逐级写出各逻辑门的函数表达式:出各逻辑门的函数表达式:2.2.化简电路的输出函数表达式。化简电路的输出函数表达式。用代数化简法对所得输出函数表达式化简如下 73.3.列出该逻辑函数的真值表,如列出该逻辑函数的真值表,如表表2.12.1所列。所列。表表 2.1
6、 例例2.1真值表真值表A AB BC CF F0 00 00 01 10 00 01 10 00 01 10 00 00 01 11 10 01 10 00 00 01 10 01 10 01 11 10 00 01 11 11 11 184.功能评述。(并分析合理性)l从真值表我们不难看出,当输入A、B、C取值都为0或都为1时,逻辑电路的输出F为1;否则,输出F均为0。即当输入一致时输出为1,输入不一致时输出为0。因此,该电路具有检查输入信号是否致的逻辑功能,一旦输出为0,则表明输入不一致,通常称该电路为“不一致电路”。9l由分析可知,该电路的设计方案并不是最佳。由分析可知,该电路的设计方
7、案并不是最佳。根据化简后的逻辑函数表达式可得根据化简后的逻辑函数表达式可得图图2.12.1(b b)所示比原电路更简单的逻辑电路。所示比原电路更简单的逻辑电路。l在采用几套设备同时工作的系统中,可采用在采用几套设备同时工作的系统中,可采用“不一致电路不一致电路”进行控制,一旦运行结果不一致,进行控制,一旦运行结果不一致,便由该电路发出报警信号,通知操作人员及时便由该电路发出报警信号,通知操作人员及时排除故障,确保系统的可靠性。排除故障,确保系统的可靠性。102.3 组合逻辑电路的设计l l概述概述l l2.3.1 2.3.1 单输出组合逻辑电路的设计单输出组合逻辑电路的设计l l2.3.2 2
8、.3.2 多输出组合逻辑电路的设计多输出组合逻辑电路的设计返回主菜单返回主菜单11一、组合逻辑电路设计的一般方法一、组合逻辑电路设计的一般方法l组合逻辑电路的设计过程一般包括以下组合逻辑电路的设计过程一般包括以下步骤:l1.根据命题的逻辑要求,确定好输入、输出变根据命题的逻辑要求,确定好输入、输出变量及其赋值量及其赋值l2.根据逻辑功能建立真值表根据逻辑功能建立真值表l3.根据真值表求得输出逻辑函数的根据真值表求得输出逻辑函数的“最小项之最小项之和和”表达式表达式l4.用用代数法或卡诺图法代数法或卡诺图法化简上述逻辑函数表达化简上述逻辑函数表达式,并根据实际要求把函数表达式式,并根据实际要求把
9、函数表达式转换成适当转换成适当的形式的形式l5.根据根据最简最简逻辑函数表达式画出逻辑电路图逻辑函数表达式画出逻辑电路图2.3 组合逻辑电路的设计组合逻辑电路的设计12二、组合逻辑电路设计的类型二、组合逻辑电路设计的类型根据输出变量的多少,我们可以把组合逻辑电路根据输出变量的多少,我们可以把组合逻辑电路的设计问题归纳为以下的设计问题归纳为以下两种两种:1单输出组合逻辑电路的设计2多输出组合逻辑电路的设计返回返回132.3.1 单输出组合逻辑电路的设计l单输出组合逻辑电路是指只有一个输出逻辑变是指只有一个输出逻辑变量的组合逻辑电路。其设计不需考虑其它逻辑量的组合逻辑电路。其设计不需考虑其它逻辑函
10、数之间的相互联系问题,逻辑抽象或者逻辑函数之间的相互联系问题,逻辑抽象或者逻辑简化等方面都比较简单。简化等方面都比较简单。l下面通过举例说明单输出组合逻辑电路设计的下面通过举例说明单输出组合逻辑电路设计的过程。过程。l l例例2.22.2 试设计一个甲、乙、丙三人试设计一个甲、乙、丙三人“多数表决多数表决电路电路”。当表决某一提案时,只有两个及以上。当表决某一提案时,只有两个及以上人同意,该提案表示通过,否则该提案不通过。人同意,该提案表示通过,否则该提案不通过。要求用要求用与非门与非门实现该逻辑功能。实现该逻辑功能。返回返回14l解:解:1.根据命题的逻辑要求,确定好输入、输出变根据命题的逻
11、辑要求,确定好输入、输出变量及其赋值。量及其赋值。根据题意,设定根据题意,设定A、B、C分别代表参加表决的分别代表参加表决的甲、乙、丙三个逻辑变量甲、乙、丙三个逻辑变量为输入为输入,表决结果用,表决结果用逻辑函数逻辑函数F表示表示为输出为输出;逻辑变量取值为;逻辑变量取值为0表示表示反对,逻辑变量取值为反对,逻辑变量取值为1表示同意;逻辑函数表示同意;逻辑函数F取值为取值为0表示提案被否决,逻辑函数表示提案被否决,逻辑函数F取值为取值为1表示提案通过。表示提案通过。152.2.根据逻辑功能建立真值表,如表表表表2.22.22.22.2所列。表表 2.2 例例2.2真值表真值表A AB BC C
12、F F0 00 00 00 00 00 01 10 00 01 10 00 00 01 11 11 11 10 00 00 01 10 01 11 11 11 10 01 11 11 11 11 1163.根据真值表求得输出逻辑函数的根据真值表求得输出逻辑函数的“最小最小项之和项之和”表达式。表达式。17 4.化简上述逻辑函数表达式,并根据实际要求转化简上述逻辑函数表达式,并根据实际要求转换成适当的形式。换成适当的形式。输出逻辑函数的卡诺图,如输出逻辑函数的卡诺图,如图图2.22.2所示。所示。图图 2.2 例例2.2的卡诺图的卡诺图根据卡诺图可得输出逻辑函数的最简与或表达式为:F=AB+AC
13、+BC。因题中要求使用与非门实现这一逻辑功能,所以将其化为与非的形式:18 5.根据逻辑函数表达式画出逻辑电路图,如根据逻辑函数表达式画出逻辑电路图,如图图2.32.3所示。所示。图图 2.3 例例2.2的逻辑电路图的逻辑电路图192.3.2 多输出组合逻辑电路的设计l多输出组合逻辑电路是指具有两个或两个以上的输出多输出组合逻辑电路是指具有两个或两个以上的输出逻辑变量的组合逻辑电路。逻辑变量的组合逻辑电路。l l例例2.32.3 设计一个故障指示电路,具体要求为:设计一个故障指示电路,具体要求为:l(1)两台电动机同时工作时,绿灯亮;)两台电动机同时工作时,绿灯亮;l(2)一台电动机发生故障时
14、,黄灯亮;)一台电动机发生故障时,黄灯亮;l(3)两台电动机同时发生故障时,红灯亮。)两台电动机同时发生故障时,红灯亮。返回返回20l解:解:1.设定设定A、B分别表示两台电动机这两个逻辑变量分别表示两台电动机这两个逻辑变量为为输入输入,F绿、绿、F黄、黄、F红分别表示绿灯、黄灯、红灯红分别表示绿灯、黄灯、红灯为输出为输出;且用;且用0表示电动机正常工作,表示电动机正常工作,1表示电动机表示电动机发生故障;发生故障;1表示灯亮,表示灯亮,0表示灯灭。表示灯灭。2.建立真值表建立真值表 按设计要求可得按设计要求可得表表2.32.3所列的真值表所列的真值表 A AB BF F绿绿F F黄黄F F红
15、红0 00 01 10 00 00 01 10 01 10 01 10 00 01 10 01 11 10 00 01 1表2.321 3.根据真值表求得输出逻辑函数的表达式根据真值表求得输出逻辑函数的表达式4.化简上述逻辑函数表达式,并转换成适当的形式。由于上述逻辑函数的表达式都是最简了,所以不用再化简。22 5.根据逻辑函数表达式画出逻辑电路图,如根据逻辑函数表达式画出逻辑电路图,如图图2.42.4所示。所示。图图 2.4 例例2.3逻辑电路图逻辑电路图232.4 二进制运算电路l l概述概述l l2.4.1 2.4.1 半加器半加器l l2.4.2 2.4.2 全加器全加器返回主菜单返回
16、主菜单242.4 二进制运算电路l二进制的相加与十进制类似,其二进制的相加与十进制类似,其基本规则是:是:(1)每每一位数是由三个数相加,即被加数、加数和低一位向一位数是由三个数相加,即被加数、加数和低一位向本位的进位数;本位的进位数;(2)任意位相加的结果一般是两个数,任意位相加的结果一般是两个数,一个是留在本位的一个是留在本位的“和和”数,另一个是向高位的进位数,另一个是向高位的进位数。数。l在数字系统中,为实现二进制的加法运算,常采用在数字系统中,为实现二进制的加法运算,常采用半半加器加器和和全加器全加器,下面分别加于介绍。,下面分别加于介绍。返回返回252.4.1 半加器l半加器是指仅
17、考虑第半加器是指仅考虑第i位的两个二进制数相加的位的两个二进制数相加的“和和”数及其向高位的进位数,而不考虑来自低位数及其向高位的进位数,而不考虑来自低位(第第i-1位位)的进位数的运算电路。)的进位数的运算电路。l假定二进数假定二进数Ai为被加数、为被加数、Bi为加数、为加数、Si为其和数、为其和数、Ci为进位数,则根据半加器的逻辑功能,可得为进位数,则根据半加器的逻辑功能,可得表表2.42.4所列的半加器真值表。所列的半加器真值表。A Ai iB Bi iS Si iC Ci i0 00 00 00 00 01 11 10 01 10 01 10 01 11 10 01 1表表 2.4 半
18、加器真值表半加器真值表返回返回26l由上述真值表可得半加器的输出逻辑函数表达式为:由上述真值表可得半加器的输出逻辑函数表达式为:则可画出其逻辑电路,如图图图图2.52.52.52.5(a a a a)所示,(b b b b)是逻辑符号图。(a)逻辑电路图逻辑电路图 (b)逻辑符号图逻辑符号图图图 2.5 半加器半加器272.4.2 全加器l半加器是两个一位二进制数的相加,它没有考虑是两个一位二进制数的相加,它没有考虑来自低位的进位,因此,半加器无法实现多位二来自低位的进位,因此,半加器无法实现多位二进制的加法运算。在实际应用中,多位二进制数进制的加法运算。在实际应用中,多位二进制数相加运算,往
19、往由相加运算,往往由全加器全加器来实现。来实现。l所谓全加器,是指两个多位二进制数相加时,第,是指两个多位二进制数相加时,第i位的被加数位的被加数Ai和加数和加数Bi及来自相邻低位的进位数及来自相邻低位的进位数Ci-1三者相加,其结果得到本位和三者相加,其结果得到本位和Si及向相邻高位及向相邻高位的进位数的进位数Ci的运算电路。的运算电路。l根据全加器的逻辑功能,可得根据全加器的逻辑功能,可得表表2.52.5所列的全加所列的全加器真值表。器真值表。返回返回28表 2.5 全加器真值表A Ai iB Bi iC Ci-1i-1S Si iC Ci i0 00 00 00 00 00 00 01
20、11 10 00 01 10 01 10 00 01 11 10 01 11 10 00 01 10 01 10 01 10 01 11 11 10 00 01 11 11 11 11 11 1返回返回29(a)Si的卡诺图的卡诺图 (b)Ci的卡诺图的卡诺图 图图 2.6 全加器的卡诺图全加器的卡诺图返回返回30l由由图图2.62.6所示的卡诺图可得所示的卡诺图可得Si和和Ci的最简与或表达式:的最简与或表达式:将上述表达式进行等价变换得:=31l根据上述表达式,可画出一位全加器的根据上述表达式,可画出一位全加器的逻辑图逻辑图,如如图图2.72.7(a a)所示,所示,(b b)图为其图为其
21、逻辑符号图逻辑符号图。(a)逻辑电路图逻辑电路图 (b)逻辑符号图逻辑符号图图图 2.7 全加器全加器返回返回322.5 编码与编码器l l概述概述概述概述l l2.5.1 2.5.1 2.5.1 2.5.1 二进制编码器二进制编码器二进制编码器二进制编码器l l2.5.2 2.5.2 2.5.2 2.5.2 二二二二十进制编码器十进制编码器十进制编码器十进制编码器l l2.5.3 2.5.3 2.5.3 2.5.3 优先编码器优先编码器优先编码器优先编码器返回主菜单返回主菜单332.5 编码与编码器l在数字系统中,用二进制代码的各种组合来表在数字系统中,用二进制代码的各种组合来表示某种具有特
22、定含义的对象或信号示某种具有特定含义的对象或信号(如十进制数、如十进制数、文字、符号等文字、符号等)的过程称之为的过程称之为编码【将具有特定意义的信息编成相应的二进制代码的过程为编码】;能够实现编码逻辑功能的电路称为;能够实现编码逻辑功能的电路称为编码器。常用的编码器有二进制编码器、二。常用的编码器有二进制编码器、二十进十进制编码器及优先编码器等。制编码器及优先编码器等。返回返回342.5.1 二进制编码器l二进制编码器是将某种具有特定含义的对象或是将某种具有特定含义的对象或信号用二进制代码进行编码的电路。信号用二进制代码进行编码的电路。l如把如把I0、I1、I2、I3、I4、I5、I6、I7
23、八个输入信八个输入信号编成对应的二进制代码输出,其号编成对应的二进制代码输出,其编码过程编码过程为:为:返回返回35 一、确定输出二进制代码的位数一、确定输出二进制代码的位数一、确定输出二进制代码的位数一、确定输出二进制代码的位数l若编码器有若编码器有M个输入,个输入,N位输出位输出【其输入为被其输入为被编信号,输出为二进制代码编信号,输出为二进制代码】,则它们之间必,则它们之间必须满足如下关系:须满足如下关系:(输入输入)M2N (输出输出)l由于由于I0I7为八位输入,而为八位输入,而23=8,因此取,因此取N=3,即输出为三位二进制代码。该编码器通常称为即输出为三位二进制代码。该编码器通
24、常称为“8线-3线编码器”。36 二、写出编码器的编码表二、写出编码器的编码表l列出要编码的输入信号与对应的二进制代码列出要编码的输入信号与对应的二进制代码之间的关系表。该关系表是我们任意设定的,之间的关系表。该关系表是我们任意设定的,因此可以有多种不同的关系表,但该关系表因此可以有多种不同的关系表,但该关系表应有一定的规律性和便于记忆。应有一定的规律性和便于记忆。表表2.62.6是其中是其中的一种。的一种。37表表2.6 三位二进制编码器的编码表三位二进制编码器的编码表输入输入输出输出F F2 2F F1 1F F0 0I I0 00 00 00 0I I1 10 00 01 1I I2 2
25、0 01 10 0I I3 30 01 11 1I I4 41 10 00 0I I5 51 10 01 1I I6 61 11 10 0I I7 71 11 11 1返回返回38 三、写出输出逻辑函数表达式三、写出输出逻辑函数表达式三、写出输出逻辑函数表达式三、写出输出逻辑函数表达式l根据上表可得:根据上表可得:39 四、画逻辑电路l由上述表达式可得由上述表达式可得图图2.82.8所示的三位二进制编码器所示的三位二进制编码器逻辑图。逻辑图。l当当I1I7均为均为0时,输出为时,输出为F2F1F0=000,即为,即为I0的编的编码,故逻辑图中没有画出码,故逻辑图中没有画出I0图图 2.8 三位
26、二进制编码器逻辑电路图三位二进制编码器逻辑电路图74LS14840值得注意的是,上述编码器在任何时刻都只能,上述编码器在任何时刻都只能对一个输入信号进行编码,不允许有两个或两对一个输入信号进行编码,不允许有两个或两个以上的输入信号同时请求编码,否则输出编个以上的输入信号同时请求编码,否则输出编码会发生混乱,即码会发生混乱,即I0I7的编码信号是相互排斥的编码信号是相互排斥的。的。返回返回412.5.2 二十进制编码器l二十进制编码器是将是将09十个十进制的数码转换成十个十进制的数码转换成对应的二进制代码的电路,该二进制代码又称对应的二进制代码的电路,该二进制代码又称二二十十进制代码进制代码,简
27、称,简称BCD码码。其。其编码过程编码过程为:为:一、确定输出二进制代码的位数一、确定输出二进制代码的位数一、确定输出二进制代码的位数一、确定输出二进制代码的位数 由于输入有由于输入有09十个数码,而十个数码,而24=1610,则输出,则输出应是四位二进制代码。这种编码器通常称为应是四位二进制代码。这种编码器通常称为10线线-4线线编码器。编码器。返回返回42 二、列编码表二、列编码表l 四位二进制代码共有十六种状态,其中任何四位二进制代码共有十六种状态,其中任何十种状态都可表示十种状态都可表示09十个数码,方案很多。最十个数码,方案很多。最常用的是常用的是8421编码方式编码方式,就是在四位
28、二进制代码,就是在四位二进制代码的十六种状态中取出前面十种状态,表示的十六种状态中取出前面十种状态,表示09十十个数码,后面六种状态去掉,如个数码,后面六种状态去掉,如表表2.72.7所列。所列。43表表2.7 8421码编码表码编码表输入输入输出输出十进制数十进制数F F3 3F F2 2F F1 1F F0 00 0(I I0 0)0 00 00 00 01 1(I I1 1)0 00 00 01 12 2(I I2 2)0 00 01 10 03 3(I I3 3)0 00 01 11 14 4(I I4 4)0 01 10 00 05 5(I I5 5)0 01 10 01 16 6(
29、I I6 6)0 01 11 10 07 7(I I7 7)0 01 11 11 18 8(I I8 8)1 10 00 00 09 9(I I9 9)1 10 00 01 1返回返回44 三、由编码表写出输出逻辑表达式三、由编码表写出输出逻辑表达式45 四、画逻辑电路,如四、画逻辑电路,如图图2.92.9所示所示图图 2.9 二二十进制十进制(8421BCD码码)编码器逻辑电路图编码器逻辑电路图与8线-3线编码器一样,该输入编码信号也是相互排斥的。返回返回74LS147462.5.3 优先编码器l前面所讨论的编码器在任何时刻都只能对一个输入信号进前面所讨论的编码器在任何时刻都只能对一个输入信
30、号进行编码,否则输出编码会发生混乱,即行编码,否则输出编码会发生混乱,即输入编码信号输入编码信号是是相相互排斥互排斥的。而在实际应用中往往存在多个输入信号同时输的。而在实际应用中往往存在多个输入信号同时输入的情况。允许同时输入多个数码信号,而输出不发生混入的情况。允许同时输入多个数码信号,而输出不发生混乱,同时又能对具有优先级别级的信号进行编码,这样的乱,同时又能对具有优先级别级的信号进行编码,这样的电路称作电路称作优先编码器。l在优先编码器中,是优先级别高的编码信号排斥级别低的。在优先编码器中,是优先级别高的编码信号排斥级别低的。至于优先权的顺序,这完全是根据实际需要来确定的。至于优先权的顺
31、序,这完全是根据实际需要来确定的。返回返回47l l例如例如,电话总机房需要对下面四种电话进行编码,电话总机房需要对下面四种电话进行编码控制,优先级别最高的是火警电话,其次是急救控制,优先级别最高的是火警电话,其次是急救电话,第三是工作电话,最后是生活电话。我们电话,第三是工作电话,最后是生活电话。我们可以设计一优先编码器来满足上述要求。可以设计一优先编码器来满足上述要求。l假如用假如用A、B、C、D分别代表火警、急救、工作、分别代表火警、急救、工作、生活这四种电话,生活这四种电话,1表示有通话请求,表示有通话请求,0表示无通表示无通话请求;话请求;FA、FB、FC、FD分别表示火警、急救、分
32、别表示火警、急救、工作、生活这四种电话的接通状态,工作、生活这四种电话的接通状态,1表示允许接表示允许接通,通,0表示不允许接通。根据此逻辑功能可得其真表示不允许接通。根据此逻辑功能可得其真值表如值表如表表2.82.8所列。所列。48表表 2.8 2.8 电话接通优先编码器真值表电话接通优先编码器真值表A AB BC CD DF FA AF FB BF FC CF FD D0 00 00 00 00 00 00 00 00 00 00 01 10 00 00 01 10 00 01 10 00 00 01 10 00 00 01 11 10 00 01 10 00 01 10 00 00 01
33、 10 00 00 01 10 01 10 01 10 00 00 01 11 10 00 01 10 00 00 01 11 11 10 01 10 00 01 10 00 00 01 10 00 00 01 10 00 01 11 10 00 00 01 10 01 10 01 10 00 00 01 10 01 11 11 10 00 00 01 11 10 00 01 10 00 00 01 11 10 01 11 10 00 00 01 11 11 10 01 10 00 00 01 11 11 11 11 10 00 00 049l根据根据真值表真值表我们可知,当优先级别高的电话有
34、我们可知,当优先级别高的电话有通话请求时,所有级别低的电话无论有无通话通话请求时,所有级别低的电话无论有无通话请求均不允许接通,由真值表可得电话接通信请求均不允许接通,由真值表可得电话接通信号的逻辑函数表达式:号的逻辑函数表达式:50l由上述表达式可得其对应的由上述表达式可得其对应的优先编码逻辑电路优先编码逻辑电路如如图图2.102.10所示。所示。图图 2.10 电话接通优先编码器逻辑图电话接通优先编码器逻辑图51l l图图2.112.11所示为所示为10线线4线优先编码器线优先编码器CT74LSl47的的逻辑功能示意图,其真值表如逻辑功能示意图,其真值表如表表2.92.9所列。所列。图图
35、2.11 10线线4线优先编码器线优先编码器CT74LSl47的逻辑功能示意图的逻辑功能示意图返回返回52l表 2.9 10线4线优先编码器CT74LSl47的真值表输输 入入输输 出出1 11 11 11 11 11 11 11 11 11 11 11 11 1d dd dd dd dd dd dd dd d0 00 01 11 10 0d dd dd dd dd dd dd d0 01 10 01 11 11 1d dd dd dd dd dd d0 01 11 11 10 00 00 0d dd dd dd dd d0 01 11 11 11 10 00 01 1d dd dd dd d
36、0 01 11 11 11 11 10 01 10 0d dd dd d0 01 11 11 11 11 11 10 01 11 1d dd d0 01 11 11 11 11 11 11 11 10 00 0d d0 01 11 11 11 11 11 11 11 11 10 01 10 01 11 11 11 11 11 11 11 11 11 11 10 0返回返回53l其中,其中,、为数码输出端,输出为为数码输出端,输出为8421BCD码码的反码。的反码。为编码信号输入端,输入低电平为编码信号输入端,输入低电平0有效,有效,这时表示有编码请求。输入高电平这时表示有编码请求。输入高电平1
37、无效,表示无编无效,表示无编码请求。在码请求。在 中,中,的优先级别最高,的优先级别最高,次之,次之,其余依次类推,其余依次类推,的级别最低。也就是说,当的级别最低。也就是说,当 =0时,其余输入信号不论是时,其余输入信号不论是0还是还是1都不起作用,电路都不起作用,电路只对只对 进行编码,输出进行编码,输出 =0110,为反码,其,为反码,其原码为原码为1001。其余类推。在。其余类推。在图图2.112.11中,没有中,没有 ,这,这是因为当是因为当 ,都为高电平,都为高电平1时,输出时,输出 =1111,其反码为,其反码为0000,相当于输入,相当于输入 ,因此,在,因此,在逻辑功能示意图
38、中没有输入端逻辑功能示意图中没有输入端 。542.6 译码与译码器l l概述概述l l2.6.1 2.6.1 二进制译码器二进制译码器l l2.6.2 2.6.2 二二十进制译码器十进制译码器返回主菜单返回主菜单552.6 译码与译码器l译码是编码的逆过程,是将二进制代码的各种是编码的逆过程,是将二进制代码的各种组合按其编码时的原意翻译成对应的对象或信组合按其编码时的原意翻译成对应的对象或信号的过程称之为号的过程称之为译码译码。能实现译码功能的逻辑。能实现译码功能的逻辑电路称为电路称为译码器译码器。常用的译码器有二进制译码。常用的译码器有二进制译码器、二器、二-十进制译码器等。十进制译码器等。
39、返回返回562.6.1 二进制译码器l二进制译码器二进制译码器是将输入二进制代码翻译是将输入二进制代码翻译成对应的输出信号的过程。如把输入的成对应的输出信号的过程。如把输入的一组三位二进制代码译成对应的八个输一组三位二进制代码译成对应的八个输出信号,其出信号,其译码过程译码过程为:为:返回返回57 一、写出译码器的状态表一、写出译码器的状态表一、写出译码器的状态表一、写出译码器的状态表l设输入三位二进制代码为设输入三位二进制代码为A2、A1、A0,输出设,输出设为为 八个信号,且低电平有效。其中八个信号,且低电平有效。其中A2A1A0=000时,时,=0,其余输出均为,其余输出均为1;A2A1
40、A0=001时,时,=0,其余输出均为,其余输出均为1;依此;依此类推,类推,A2A1A0=111时,时,=0,其余输出均为,其余输出均为1;则可得三位二进制译码器的状态表如;则可得三位二进制译码器的状态表如表表2.102.10所列。所列。58l表 2.10 三位二进制译码器的状态表输输 入入输输 出出d1ddd111111110dddd1111111110000011111111000110111111100101101111110011111011111010011110111101011111101110110111111011011111111110返回返回1 返回返回259二、由状态
41、表可得输出逻辑函数表达式60 三、画出逻辑图,如图图2.122.12所示图图 2.12 3线线-8线译码器线译码器CT74LS138的逻辑图的逻辑图61l该三位二进制译码器又称为该三位二进制译码器又称为3线线-8线译码器线译码器,常用,常用的是的是CT74LS138型译码器,型译码器,表表2.102.10就是它的功能就是它的功能表,它有一个使能端表,它有一个使能端 和两个控端和两个控端 、;当当 =1且且 +=0时,时,EN=1,译码器可以译码,译码器可以译码,输出低电平有效;当,输出低电平有效;当 =0或或 +=1时,时,EN=0,译码器禁止译码,输出全为高电平,译码器禁止译码,输出全为高电
42、平1。62l二进制译码器除二进制译码器除3线线8线译码器外,还有线译码器外,还有2线线4线译码器和线译码器和4线线16线译码器,如线译码器,如图图2.132.13所示为所示为2线线4线译码器的逻辑图。线译码器的逻辑图。图图 2.13 2线线4线译码器逻辑图线译码器逻辑图返回返回632.6.2 二十进制译码器l二二十进制译码器十进制译码器是将某种二是将某种二十进制代码变十进制代码变换为相对应的十个信号输出的组合电路,又称换为相对应的十个信号输出的组合电路,又称4线线10线译码器线译码器。l l图图2.142.14所示为所示为4线线10线译码器线译码器CT74LS42的的逻逻辑图辑图。由逻辑图可知
43、,它有。由逻辑图可知,它有A3、A2、A1、A0四四个输入端,个输入端,I0I9十个输出端,输出端低电平十个输出端,输出端低电平有效。有效。返回返回64图图 2.14 4线线-10线译码器线译码器CT74LS42的逻辑图的逻辑图根据图图图图2.142.142.142.14可得输出逻辑函数表达式为返回返回返回返回65l其真值表如其真值表如表表2.112.11所列。所列。表表 2.11 4线线-10线译码器线译码器CT74LS42的真值表的真值表十进制数十进制数输入输入输出输出0 00 00 00 00 00 01 11 11 11 11 11 11 11 11 11 10 00 00 01 11
44、 10 01 11 11 11 11 11 11 11 12 20 00 01 10 01 11 10 01 11 11 11 11 11 11 13 30 00 01 11 11 11 11 10 01 11 11 11 11 11 14 40 01 10 00 01 11 11 11 10 01 11 11 11 11 15 50 01 10 01 11 11 11 11 11 10 01 11 11 11 16 60 01 11 10 01 11 11 11 11 11 10 01 11 11 17 70 01 11 11 11 11 11 11 11 11 11 10 01 11 18
45、 81 10 00 00 01 11 11 11 11 11 11 11 10 01 19 91 10 00 01 11 11 11 11 11 11 11 11 11 10 0伪伪码码1 10 01 10 01 11 11 11 11 11 11 11 11 11 11 10 01 11 11 11 11 11 11 11 11 11 11 11 11 11 10 00 01 11 11 11 11 11 11 11 11 11 11 11 10 01 11 11 11 11 11 11 11 11 11 11 11 11 11 10 01 11 11 11 11 11 11 11 11 1
46、1 11 11 11 11 11 11 11 11 11 11 11 11 11 11 1返回返回返回返回66 由由真值表真值表可知,代码可知,代码10101111没被使用,称没被使用,称为伪码。为伪码。CT74LS42能自动拒绝伪码输入,当能自动拒绝伪码输入,当输入为输入为10101111时,输出都为高电平时,输出都为高电平1,所,所以译码器不会产生错误译码。以译码器不会产生错误译码。返回返回672.7 组合逻辑电路的竞争与险象l l概述概述l l2.7.1 2.7.1 竞争险象的概念及产生的原因竞争险象的概念及产生的原因l l2.7.2 2.7.2 险象的判断及消除险象的判断及消除返回主菜
47、单返回主菜单682.7 组合逻辑电路的竞争与险象l前面所讨论的组合逻辑电路,仅研究了输入与前面所讨论的组合逻辑电路,仅研究了输入与输出之间的稳定关系,而没有考虑信号传输中输出之间的稳定关系,而没有考虑信号传输中的时延问题,事实上,信号经过任何逻辑门与的时延问题,事实上,信号经过任何逻辑门与导线时都会产生时间的延迟,该时间的延迟会导线时都会产生时间的延迟,该时间的延迟会使数字系统的操作速度下降,引起电路中波形使数字系统的操作速度下降,引起电路中波形参数变坏,甚至产生竞争冒险现象。参数变坏,甚至产生竞争冒险现象。返回返回692.7.1 竞争险象的概念及产生的原因 一、竞争一、竞争l在组合逻辑电路中
48、,输入信号经过不同的路径到达在组合逻辑电路中,输入信号经过不同的路径到达某点汇合时产生某点汇合时产生“时差时差”的现象,称之为的现象,称之为竞争竞争。二、险象二、险象l组合逻辑电路中竞争现象的存在,使得输入信号的组合逻辑电路中竞争现象的存在,使得输入信号的变化可能引起输出信号产生错误的输出,这一现象变化可能引起输出信号产生错误的输出,这一现象称为称为险象险象。当然,并不是所有的竞争都会产生错误。当然,并不是所有的竞争都会产生错误的输出,我们把产生错误输出的竞争称为的输出,我们把产生错误输出的竞争称为临界竞争临界竞争;把不产生错误输出的竞争称为把不产生错误输出的竞争称为非临界竞争非临界竞争。返回
49、返回70l如如图图2.152.15所示逻辑电路的输出函数为所示逻辑电路的输出函数为 图图 2.15 函数函数 的逻辑电路的逻辑电路若B=0,则不计电路的延迟时1A=0时,F=02A=1时,F=071 若考虑传输的延迟,设一级门延迟时间为若考虑传输的延迟,设一级门延迟时间为t t,则到达或非门,则到达或非门G G2 2的时间将比的时间将比A A到达时间晚到达时间晚t t,这时,这时A A和的或非结果再次延迟和的或非结果再次延迟t t时间,则输时间,则输出波形出现一个宽度为出波形出现一个宽度为t t的窄脉冲,即为的窄脉冲,即为“毛刺毛刺”,如,如图图2.162.16(b b)所示。所示。(a)(a
50、)理想波形理想波形 (b)(b)有有“毛刺毛刺”的波形的波形图图 2.16 函数函数 的波形的波形72根据“毛刺”的极性,险象可分为以下两种:(1 1)0 0型型:输出负尖脉冲,即正常输出应为高电平1,由于竞争的存在,产生低电平0。(2 2)1 1型型:输出正尖脉冲,即正常输出应为低电平0,由于竞争的存在,产生高电平1。返回返回732.7.2 险象的判断及消除 一、险象的判断l判断一个逻辑电路是否可能发生险象常判断一个逻辑电路是否可能发生险象常用的方法有用的方法有代数法代数法和和卡诺图法卡诺图法。返回返回74l1.代数判别法l(1)检查是否有某个变量同时以原变量和反检查是否有某个变量同时以原变