1、4.2.2采用中规模集成器件实现组合逻辑函数采用中规模集成器件实现组合逻辑函数4.2组合逻辑电路设计4.2.1采用小规模集成器件的组合逻辑电路设计采用小规模集成器件的组合逻辑电路设计说明说明:有时由于输入变量的条件(如只有原变量输入,没:有时由于输入变量的条件(如只有原变量输入,没有反变量输入)、采用器件的条件(如在一块集成器件上包含有反变量输入)、采用器件的条件(如在一块集成器件上包含多个基本门)等因素,采用多个基本门)等因素,采用最简最简与与- -或或式式实现电路,不一定是最实现电路,不一定是最佳电路结构。佳电路结构。4.2.1 采用小规模集成器件的组合逻辑电路设计采用小规模集成器件的组合
2、逻辑电路设计设计步骤 概念概念:设计是分析的逆过程,即如何根据逻辑功能的要求:设计是分析的逆过程,即如何根据逻辑功能的要求及器件资源情况,设计出实现该功能的最佳电路及器件资源情况,设计出实现该功能的最佳电路。逻辑功能逻辑功能要求要求真值表真值表逻辑函数逻辑函数表达式表达式化简化简变换变换逻辑图逻辑图图4- -2- -1 组合逻辑电路设计步骤例题讲解例例4- -1有一火灾报警系统,设有烟感、温感和紫外光感三有一火灾报警系统,设有烟感、温感和紫外光感三种不同类型的火灾探测器。为了防止误报警,只有当其中有两种不同类型的火灾探测器。为了防止误报警,只有当其中有两种或两种类型以上的探测器发出火灾探测信号
3、时,报警系统才种或两种类型以上的探测器发出火灾探测信号时,报警系统才产生报警控制信号,试设计产生报警控制信号的电路。产生报警控制信号,试设计产生报警控制信号的电路。依题意:依题意:探测器的火灾探测信号应为电路的输入,令探测器的火灾探测信号应为电路的输入,令A、B、C分别代表分别代表烟感、温感和紫外光感三种探测器的探测信号烟感、温感和紫外光感三种探测器的探测信号,“1”表示有火灾探测信号,表示有火灾探测信号, “0”表示没有火灾探测信号;表示没有火灾探测信号;最终是否产生报警信号为电路的输出,设为最终是否产生报警信号为电路的输出,设为F, “1”表示表示产生报警信号,产生报警信号, “0”表示不
4、产生报警信号。表示不产生报警信号。解解第二步:第二步: 根据电路设计对所使用器件的要求,将输出表达根据电路设计对所使用器件的要求,将输出表达式变换成适当的形式。式变换成适当的形式。第一步:第一步:列写真值表,求得最简列写真值表,求得最简与或与或表达式。表达式。11001100B10101010C11101000F01111000A表4- -2- -1 例4- -1真值表001001110001111001ABC CBCABAFBCACABF 图4- -2- -2 例4- -1卡诺图与或式:与或式:或与式:或与式:(1) 若采用若采用与非与非器件,则变换成器件,则变换成与非与非- -与非与非表达
5、式。表达式。BCACABBCACABF &ABCF(2) 若采用若采用或非或非器件,则变换成器件,则变换成或非或非- -或非或非表达式。表达式。CBCABACBCABAF )()(3) 若采用若采用与或非与或非器件,则变换器件,则变换成成与或非与或非表达式。表达式。CBCABACBCABAF 1ABCF111图4- -2- -4 例4- -1或非结构逻辑图&ABCF11&11图4- -2- -5 例4- -1与或非结构逻辑图图4- -2- -3 例4- -1与非结构逻辑图例例4- -2在只有原变量输入,没有反变量输入条件下,用在只有原变量输入,没有反变量输入条件下,用与与非非门实现函数门实现函
6、数F(A,B,C,D)=m(4,5,6,7,8,9,10,11,12,13,14)解解 第一步第一步: 作出卡诺图,化简求得最简与或表达式。作出卡诺图,化简求得最简与或表达式。01110111000111100001CDAB010101111110图4- -2- -6 例4- -2卡诺图&ABC&ABDF图4- -2- -7 例4- -2既有原变量输入又有反变量输入时与非结构逻辑图DACBBABAF 化简结果为:化简结果为:如果允许有反变量输入,其逻辑电路如图如果允许有反变量输入,其逻辑电路如图4- -2- -7所示。所示。DACBBABAF 变换为变换为与非与非与非与非式:式:ACBBDAA
7、CBBDACABDBADACBBABAF )()( 第二步第二步: 对化简结果进一步变对化简结果进一步变换,力求电路最简。换,力求电路最简。 由于只有原变量输入,则其由于只有原变量输入,则其逻辑电路如图逻辑电路如图4- -2- -8(a)所示。所示。图4- -2- -8 例4- -2只有原变量输入时与非结构逻辑图&BC&ADF1111(a)&BCADF(b) 逻辑电路如图逻辑电路如图4- -2- -8(b)所示。所示。与图与图(a)相比,电路更简单,但仍然相比,电路更简单,但仍然不是最佳结果。不是最佳结果。第三步:第三步:引入引入生成项生成项,进一步改进。,进一步改进。DBDABADABA 根
8、据:根据:ABCDBABCDAABCDBABCDAACDBBCDADCABDCBADBDABACACBBAF )()( &ACDBF图4- -2- -8 例4- -2只有原变量输入时与非结构逻辑图(c) 逻辑电路如图逻辑电路如图4- -2- -8(c)所所示。该电路仍然是级门结构,示。该电路仍然是级门结构,只需要个只需要个与非与非门,显然是实门,显然是实现该函数的最佳结果。现该函数的最佳结果。在只有原变量输入,没有反变量输入的条件下,使用在只有原变量输入,没有反变量输入的条件下,使用与非与非门设计的特点:门设计的特点:(1) 结构为级门电路,分别是结构为级门电路,分别是输入级输入级、与与项级项
9、级和和输出级输出级(或或项级)。项级)。(2) 输入级门电路的个数,取决于函数中乘积项所包含的输入级门电路的个数,取决于函数中乘积项所包含的尾尾部因子部因子种类的多少。种类的多少。(3) 与与项级包含器件的多少,取决于项级包含器件的多少,取决于乘积项乘积项的多少。的多少。(4) 输出级总是一个输出级总是一个与非与非门。门。因此:因此:应尽可能地合并乘积项,以减少应尽可能地合并乘积项,以减少与与项级的器件数;项级的器件数;尽可能地减少尾部因子的种类,以减少输入级器件的数目。尽可能地减少尾部因子的种类,以减少输入级器件的数目。例例4- -3在只有原变量输入条件下,采用在只有原变量输入条件下,采用或
10、非或非门实现逻辑函门实现逻辑函数数F(A,B,C,D)=m(0,5,7, 11,12,13,15)解解第一步:第一步:先求先求F*(A,B,C,D)的最小项表达式,并化简。的最小项表达式,并化简。 mmFF1 , 5 , 6 , 7 , 9 ,11,12,13,1414,10, 9 , 8 , 6 , 4 , 3 , 2 , 1*,所以:,所以:由于由于F*中的最小项与中的最小项与F中最小项一一对应,若中最小项一一对应,若F中最小项号码为中最小项号码为i,则则F*中有号码为中有号码为(2n-1)-i的最小项。的最小项。11111000111100001CDAB11111110图4- -2- -
11、9 例4- -3卡诺图通过卡诺图化简,得到:通过卡诺图化简,得到:DBADABBCADCF *第二步:第二步:寻找全部生成项,寻找全部生成项,进行乘积项合并。进行乘积项合并。DBCDABBCADABBCACABDABDCDABDCBDABCADCBCADC BADCDABADBCDCDBCCABDBADABBCADCF *ABDADCDABABDBCCDDBADCDABADBCDCF * DBADADCBADBACBDCDF DBADADCBADBACBDCDF 共有个生成项,其中共有个生成项,其中ABD找不到找不到可以合并的乘积项,为无用生成项。加可以合并的乘积项,为无用生成项。加入生成项以
12、后得:入生成项以后得:第三步:第三步:减少尾部因子种类。减少尾部因子种类。第四步:第四步:两次求反,得到两次求反,得到或非或非或非或非表达式。表达式。1111111FABCD图4- -2- -10 例4- -3逻辑电路例例4- -4人类有人类有O、A、B、AB种基本血型,输血者与受种基本血型,输血者与受血者的血型必须符合图示原则。试用血者的血型必须符合图示原则。试用与非与非门设计一血型关系检门设计一血型关系检测电路,用以检测输血者与受血者之间的血型关系是否符合图测电路,用以检测输血者与受血者之间的血型关系是否符合图示关系,如果符合,输出为示关系,如果符合,输出为1,否则为,否则为0。 依题意:
13、依题意:输血者的种血型和受血输血者的种血型和受血者的种血型都是输入变量,二者之间者的种血型都是输入变量,二者之间的关系是否符合上述原则为输出函数的关系是否符合上述原则为输出函数L。为了使电路最简,考虑用两个变量为了使电路最简,考虑用两个变量的四种组合表示种血型,共需个输的四种组合表示种血型,共需个输入变量。入变量。OOAABBABAB受血者受血者输血者输血者解解第一步第一步: 作出卡诺图,化简得到最简作出卡诺图,化简得到最简与或与或表达式。表达式。血型血型输血者输血者受血者受血者C DE FO0 00 0A0 10 1B1 01 0AB1 11 1输入输入输出输出CDEFL0000100011
14、00101001110101101111101011011111111011110110000111100001CDEF001000111110EDFCEFDCL 第三步:第三步: 画逻辑图。画逻辑图。&1&1&LCDEF第二步:第二步:将最简将最简与或与或表达式变换为表达式变换为与非与非与非与非式。式。EDFCEFDCL 4.2.2 采用中规模集成器件实现组合逻辑函数采用中规模集成器件实现组合逻辑函数方法及依据方法及依据 中规模集成器件都具有某种确定的逻辑功能,可以写出输中规模集成器件都具有某种确定的逻辑功能,可以写出输出和输入关系的逻辑函数表达式。采用集成器件实现逻辑函数出和输入关系的逻辑
15、函数表达式。采用集成器件实现逻辑函数时,可以将要实现的逻辑函数表达式进行变换,使之尽可能地时,可以将要实现的逻辑函数表达式进行变换,使之尽可能地与某种集成器件的逻辑函数表达式类似。与某种集成器件的逻辑函数表达式类似。一般来说,使用数据选择器实现单输出函数;使用译码器一般来说,使用数据选择器实现单输出函数;使用译码器和附加逻辑门实现多输出函数;对一些具有某些特点的逻辑函和附加逻辑门实现多输出函数;对一些具有某些特点的逻辑函数,如输出信号为输入信号的相加,则采用加法器来实现。数,如输出信号为输入信号的相加,则采用加法器来实现。 采用中规模集成器件设计组合逻辑电路既可省去繁琐的设采用中规模集成器件设
16、计组合逻辑电路既可省去繁琐的设计,也可以避免设计中带来的错误,以提高电路的可靠性。计,也可以避免设计中带来的错误,以提高电路的可靠性。用具有用具有n个地址输入端的数据选择器实现个地址输入端的数据选择器实现n变量的逻辑变量的逻辑函数函数对于数据选择器,输出与输入信号之间存在如下关系:对于数据选择器,输出与输入信号之间存在如下关系:的最小项。的最小项。为数据选择端逻辑变量为数据选择端逻辑变量,其中,其中iiiimmDYn 120D0D2D6D4D1D3D7D50001111001A2A1A0例如例如8选选1数据选择器可以用卡数据选择器可以用卡诺图的形式来表示,如图诺图的形式来表示,如图4- -2-
17、 -13所所示。示。图4-2-13 8选1数据选择器卡诺图以上说明:以上说明:只要将作出逻辑函数的卡诺图,将输入变量加到只要将作出逻辑函数的卡诺图,将输入变量加到8选选1数据数据选择器地址端,在数据输入端按卡诺图中最小项方格中的值相选择器地址端,在数据输入端按卡诺图中最小项方格中的值相连,就可以实现任意输入变量的组合逻辑函数。连,就可以实现任意输入变量的组合逻辑函数。例例4-5用用8选选1数据选择器实现函数数据选择器实现函数解解第一步:第一步:作卡诺图。作卡诺图。CBCABAF 011111010001111001ABC图4-2-14 例4-5卡诺图第二步:第二步:画接线图。画接线图。注意:注
18、意:将函数输入变量将函数输入变量A、B、C作为数据选择器的地址时,作为数据选择器的地址时,应当保持变量顺序与地址端高应当保持变量顺序与地址端高低位的对应关系。例如变量低位的对应关系。例如变量A接地址接地址A2端、端、B接地址接地址A1端、端、C接地址接地址A0端,否则输出端得到端,否则输出端得到的函数并非所要实现的函数。的函数并非所要实现的函数。0 1 2 3 4 5 6 7G07MUXYA0ENCBAF1图4-2-15 用8选1数据选择器实现例4-5函数A1A2ST例例4-6用用8选选1数据选择器实现数据选择器实现4变量逻辑函数:变量逻辑函数: F(A,B,C,D) = m(1,5,6,7,
19、9,11,12,13,14) 8选选1数据选择器有数据选择器有3个地址输入端、个地址输入端、8个数据输入端,而个数据输入端,而4变量逻辑函数有变量逻辑函数有16个最小项,所以需要采用两片个最小项,所以需要采用两片8选选1数据选择数据选择器,扩展成器,扩展成16选选1数据选择器,从而得到数据选择器,从而得到4个地址输入端和个地址输入端和16个个数据输入端,以满足本题的要求。数据输入端,以满足本题的要求。(1) 扩展法扩展法用具有用具有n个地址输入端的数据选择器实现个地址输入端的数据选择器实现m变量的逻辑变量的逻辑函数函数(mn)0 1 2 3 4 5 6 7A2G07MUX YA0EN1DCBA
20、0 1 2 3 4 5 6 7A2G07MUX YA0ENF11解解第一步:第一步:将两片将两片8选选1MUX,扩展成,扩展成16选选1MUX。第二步:第二步:分配变量,确定数据输入端的二值电平。分配变量,确定数据输入端的二值电平。 图4-2-16 用两片8选1MUX实现例4-6函数A1A10 1 2 3A1G03MUX YA0ENDCST0 1 2 3G03MUX YENST0 1 2 3G03MUX YENST0 1 2 3G03MUX YENST10 1 2 31G03MUX Y0ENSTBAF图4-2-17 用5片4选1MUX实现例4-6函数采用采用4选选1数据选择器的实现方法。数据选
21、择器的实现方法。A1A0A1A0A1A0(2) 降维图法降维图法概念:概念:卡诺图的变量数称为该图的卡诺图的变量数称为该图的维数维数。如果把某些变量也作为卡诺图小方格内的值,将减小卡诺如果把某些变量也作为卡诺图小方格内的值,将减小卡诺图的维数,这种卡诺图称为图的维数,这种卡诺图称为降维卡诺图降维卡诺图。作为降维图小方格中值的那些变量称为作为降维图小方格中值的那些变量称为记图变量记图变量。降维的方法:降维的方法:设记图变量为设记图变量为x,对于原卡诺图(或降维图)中,当,对于原卡诺图(或降维图)中,当x=0时,时,原图单元值为原图单元值为F,x=1时,原图单元值为时,原图单元值为G,则在新的降维
22、图中,则在新的降维图中对应的降维图单元中填入子函数对应的降维图单元中填入子函数xF+xG。其中。其中F和和G可以是可以是0、1、某一变量,也可以是某一函数。某一变量,也可以是某一函数。图4-2-18 降维图示例00000011000111100001CDAB01100111111000DD011D0001111001ABC(a) F函数的卡诺图函数的卡诺图(b) 3变量降维图变量降维图0CD+CDCC+D0101AB(c) 2变量降维图变量降维图CDC 通过降维以后,相当于减少了逻辑函数的变量数目。当降通过降维以后,相当于减少了逻辑函数的变量数目。当降维卡诺图的维数与数据选择器的地址输入端数目
23、相等时,即可维卡诺图的维数与数据选择器的地址输入端数目相等时,即可按照按照用具有用具有n个地址输入端的数据选择器实现个地址输入端的数据选择器实现n变量逻辑函数变量逻辑函数的的方法来实现方法来实现m变量的逻辑函数。变量的逻辑函数。例例4- -7用用8选选1数据选择器实现函数数据选择器实现函数 F(A,B,C,D) = m(1,5,6,7,9,11,12,13,14) 8选选1数据选择器只有数据选择器只有3个地址输入端,而将要实现的是个地址输入端,而将要实现的是4变变量的逻辑函数,所以需要将量的逻辑函数,所以需要将4变量卡诺图降维变成变量卡诺图降维变成3变量降维卡变量降维卡诺图。这里选择诺图。这里
24、选择D为记图变量。为记图变量。解解第一步:第一步:将将4变量卡诺图降维变成变量卡诺图降维变成3变量降维卡诺图。变量降维卡诺图。00101111000111100001CDAB010101101110DD1D01DD0001111001ABC(a) 卡诺图卡诺图(b) 降维图降维图图4-2-19 例4-7的降维图0 1 2 3 4 5 6 7G07MUXYA0ENCBAF1D注意:注意:可以选择不同的变量作为记图变量,不同的选择方可以选择不同的变量作为记图变量,不同的选择方案会有不同的结果。要得到最佳方案,必须对原始卡诺图进行案会有不同的结果。要得到最佳方案,必须对原始卡诺图进行仔细分析,以选择
25、子函数最少或最简单的方案。仔细分析,以选择子函数最少或最简单的方案。第二步:第二步:画逻辑图,确定数据输入端记图变量及二值电平。画逻辑图,确定数据输入端记图变量及二值电平。 .1图4-2-20 用8选1MUX实现例4-7A1A2ST例例4- -8用用8选选1数据选择器实现逻辑函数数据选择器实现逻辑函数 F(A,B,C,D,E) = m(0,1,3, 9,11,12,13,14,20,21,22,23,26,31)图4-2-21 例4-8的降维图解作函数的卡诺图和降维卡诺图。解作函数的卡诺图和降维卡诺图。10000010000111100001CDAB010101011110(a) 卡诺图卡诺图
26、11001100000111100001CDAB001101011110E = 0E = 11E00EEE0000111100001CDAB0EE101011110(b) 4变量降维图变量降维图D+EEDE00D+E DE10001111001ABC(c) 3变量降维图变量降维图C(D+E)CCE+C(D+E) CDE+CDE0101AB(d) 2变量降维图变量降维图0 1 2 3 4 5 6 7G07MUXYENCBAF1D&图4-2-22 用8选1MUX实现例4-8&E添加必要的逻辑门,构成逻辑电路。添加必要的逻辑门,构成逻辑电路。A0A1A2ST0 1 2 3G03MUXYENDCST0
27、 1 2 3G03MUXYENST0 1 2 3G03MUXYENSTE0 1 2 3G03MUXYENSTBAF图4-2-23 4选1MUX实现例4-8函数采用采用4选选1数据选择器的实现方法。数据选择器的实现方法。11ECDC ECDCEC CDEEDC A0A1A0A1A0A1A0A1利用译码器实现组合逻辑函数利用译码器实现组合逻辑函数一个一个n变量的完全译码器(变量译码器)的输出包含了变量的完全译码器(变量译码器)的输出包含了n变变量的所有最小项(量的所有最小项(非非)。用)。用n变量译码器加上输出门,就能获变量译码器加上输出门,就能获得任何形式的输入变量不大于得任何形式的输入变量不大
28、于n的组合逻辑函数。的组合逻辑函数。例例4-9 用译码器实现一组多输出逻辑函数用译码器实现一组多输出逻辑函数 CABCCAFABCCBBAFACCBBAF321解该组多输出逻辑函数均为输入变量,因此可选用解该组多输出逻辑函数均为输入变量,因此可选用3线线- -8线译码器实现。如线译码器实现。如CT54S138,在使能端均为有效电平的情况,在使能端均为有效电平的情况下,电路完成译码功能,输出与输入变量之间的关系为:下,电路完成译码功能,输出与输入变量之间的关系为:的最小项。的最小项。、为输入变量为输入变量,其中,其中012AAAmmYiii 第一步:第一步:将各函数写成最小项表达式,并进行变换。
29、将各函数写成最小项表达式,并进行变换。764317643176431376210762107621027541754175411YYYYYmmmmmmmmmmCABCCAFYYYYYmmmmmmmmmmABCCBBAFYYYYmmmmmmmmACCBBAF 若将输入变量若将输入变量A、B、C分别加到译码器的地址输入端分别加到译码器的地址输入端A2、A1、A0,用,用与非与非门作为各函数的输出门,即可实现该多输出函门作为各函数的输出门,即可实现该多输出函数的逻辑电路。数的逻辑电路。第二步:第二步:分配变量,画逻辑图。分配变量,画逻辑图。CBABIN/OCT&76543210124STASTBST
30、C1 1&F3F1&F2图4-2-24 用译码器实现例4-9函数思考:思考:如果译码器输出为高电平有效,该如何实现?如果译码器输出为高电平有效,该如何实现?采用全加器实现组合逻辑函数采用全加器实现组合逻辑函数若某一逻辑函数的输出恰好是输入代码所表示的数加上某若某一逻辑函数的输出恰好是输入代码所表示的数加上某一常数或另一组输入代码,可用全加器实现。一常数或另一组输入代码,可用全加器实现。依题意:依题意:余余3 BCD码是在码是在8421 BCD码的基础上加上常数码的基础上加上常数3(0011),因此可采用,因此可采用4位全加器,位全加器,8421 BCD码作为一组数据输入,码作为一组数据输入,另
31、一组输入端接入常数另一组输入端接入常数(0011),输,输出出F3F0即为余即为余3 BCD码,从而码,从而实现了码制的转换。实现了码制的转换。例例4- -10设计将设计将8421 BCD码转换成余码转换成余3 BCD码的码制转换码的码制转换电路。电路。ABC03PF0F1D103QF2CI03F3CO图4-2-25 用全加器实现例4-10电路例例4- -11用全加器实现两个位用全加器实现两个位8421 BCD码十进制加法运码十进制加法运算。算。 1位位8421 BCD码十进制数由码十进制数由4位二进制码组成,加法运算时位二进制码组成,加法运算时是是“逢十六进一逢十六进一”,而十进制数相加是,
32、而十进制数相加是“逢十进一逢十进一”,二者之,二者之间进位差间进位差6。当十进制数需发生进位时,。当十进制数需发生进位时,8421 BCD码的码的4位二进位二进制数还差制数还差6才能使最高位发生进位;反之,如果才能使最高位发生进位;反之,如果8421 BCD码产码产生了进位,本位结果(和数)比十进制数也差生了进位,本位结果(和数)比十进制数也差6。因此,在计算。因此,在计算结果中应加结果中应加6进行修正。进行修正。解根据分析,当解根据分析,当8421 BCD相加有进位信号产生时,或和相加有进位信号产生时,或和数在数在1015之间时,应产生修正控制信号之间时,应产生修正控制信号F,完成加,完成加6修正。修正。1323151413121110FFFFCOmmmmmmCOF AB30PF0F130QF2CI30F3CO图4-2-26 用全加器实现两个8421 BCD码加法84218421被加数被加数加数加数30P1230Q4CI308CO842184211&F进位进位和和相加相加修正判别修正判别修正修正1323151413121110FFFFCOmmmmmmCOF