1、第4章 组合逻辑电路 第第 4 章章 组合逻辑电路组合逻辑电路 4.1 组合逻辑电路的分析组合逻辑电路的分析 4.2 组合逻辑电路的设计组合逻辑电路的设计 4.3 常用常用MSI组合逻辑器件及应用组合逻辑器件及应用 4.4 组合逻辑电路中的竞争与冒险组合逻辑电路中的竞争与冒险 第4章 组合逻辑电路 4.1 组合逻辑电路的分析组合逻辑电路的分析 所谓逻辑电路的分析,就是找出给定逻辑电路输出和输入之间的逻辑关系,并指出电路的逻辑功能。分析过程一般按下列步骤进行:根据给定的逻辑电路,从输入端开始,逐级推导出输出端的逻辑函数表达式。根据输出函数表达式列出真值表。用文字概括出电路的逻辑功能。第4章 组合
2、逻辑电路 【例4-1】分析图4-2所示组合逻辑电路的逻辑功能。解解:根据给出的逻辑图,逐级推导出输出端的逻辑函数表达式:ACBCABACBCABPPPFACPBCPABP321321,第4章 组合逻辑电路&P2P1P3FABC图 4-2第4章 组合逻辑电路 表表 4-1 例例4-1真值表真值表 A B CF0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 100010111 由真值表可以看出,在三个输入变量中,只要有两个或两个以上的输入变量为1,则输出函数F为1,否则为0,它表示了一种“少数服从多数”的逻辑关系。因此可以将该电路概括为:三变量多数表决器。第4章 组合
3、逻辑电路【例4-2】分析图4-3(a)所示电路,指出该电路的逻辑功能。图 4-3 例4-2电路(a)一位全加器;(b)一位全加器符号 1&11AiBiCiSiCi+1(a)全加器SiCi+1AiBiCi(b)1第4章 组合逻辑电路 解:解:写出函数表达式。iiiiiiiiiiBACBACCBAS)(1 列真值表。Ai Bi CiCi+1 Si0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 10 00 10 11 00 11 01 01 1表 4-2 例4-2真值表 第4章 组合逻辑电路 分析功能。由真值表可见,当三个输入变量Ai、Bi、Ci中有一个为1或三个同时为
4、1时,输出Si=1,而当三个变量中有两个或两个以上同时为1时,输出Ci+1=1,它正好实现了Ai、Bi、Ci三个一位二进制数的加法运算功能,这种电路称为一位全加器。其中,Ai、Bi分别为两个一位二进制数相加的被加数、加数,Ci为低位向本位的进位,Si为本位和,Ci+1是本位向高位的进位。一位全加器的符号如图4-3(b)所示。如果不考虑低位来的进位,即Ci=0,则这样的电路称为半加器,其真值表和逻辑电路分别如表4-3和图4-4所示。第4章 组合逻辑电路 表 4-3 半加器真值表 Ai BiCi+1 Si0 00 11 01 10 00 10 11 0图 4-4 半加器&AiBiSiCi+11第4
5、章 组合逻辑电路 4.2 组合逻辑电路的设计组合逻辑电路的设计 工程上的最佳设计,通常需要用多个指标去衡量,主要考虑的问题有以下几个方面:所用的逻辑器件数目最少,器件的种类最少,且器件之间的连线最简单。这样的电路称“最小化”电路。满足速度要求,应使级数尽量少,以减少门电路的延迟。功耗小,工作稳定可靠。第4章 组合逻辑电路 上述“最佳化”是从满足工程实际需要提出的。显然,“最小化”电路不一定是“最佳化”电路,必须从经济指标和速度、功耗等多个指标综合考虑,才能设计出最佳电路。组合逻辑电路可以采用小规模集成电路实现,也可以采用中规模集成电路器件或存储器、可编程逻辑器件来实现。虽然采用中、大规模集成电
6、路设计时,其最佳含义及设计方法都有所不同,但采用传统的设计方法仍是数字电路设计的基础。因此下面先介绍采用设计的实例。第4章 组合逻辑电路 组合逻辑电路的设计一般可按以下步骤进行:逻辑抽象。将文字描述的逻辑命题转换成真值表叫逻辑抽象,首先要分析逻辑命题,确定输入、输出变量;然后用二值逻辑的0、1两种状态分别对输入、输出变量进行逻辑赋值,即确定0、1 的具体含义;最后根据输出与输入之间的逻辑关系列出真值表。选择器件类型。根据命题的要求和器件的功能及其资源情况决定采用哪种器件。例如,当选用MSI组合逻辑器件设计电路时,对于多输出函数来说,通常选用译码器实现电路较方便,而对单输出函数来说,则选用数据选
7、择器实现电路较方便。根据真值表和选用逻辑器件的类型,写出相应的逻辑函数表达式。当采用SSI集成门设计时,为了获得最简单的设计结果,应将逻辑函数表达式化简,并变换为与门电路相对应的最简式。根据逻辑函数表达式及选用的逻辑器件画出逻辑电路图。第4章 组合逻辑电路 【例4-3】设计一个一位全减器。列真值表。全减器有三个输入变量:被减数An、减数Bn、低位向本位的借位n;有两个输出变量:本位差Dn、本位向高位的借位C n+1,其框图如图4-5(a)所示。表 4-4 全减器真值表 An Bn CnCn+1 Dn0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 10 01 11
8、11 00 10 00 0 1 1第4章 组合逻辑电路 图 4-5 全减器框图及K图(a)框图;(b)Cn+1;(c)Dn 全减器DnCn+1AnBnCn(a)0AnBnCn0001111001(b)10011100AnBnCn0001111001(c)1011010第4章 组合逻辑电路 选器件。选用非门、异或门、与或非门三种器件。写逻辑函数式。首先画出Cn+1和Dn的K图如图4-5(b)、(c)所示,然后根据选用的三种器件将Cn+1、Dn分别化简为相应的函数式。由于该电路有两个输出函数,因此化简时应从整体出发,尽量利用公共项使整个电路门数最少,而不是将每个输出函数化为最简当用与或非门实现电路
9、时,利用圈0方法求出相应的与或非式为 第4章 组合逻辑电路 nnnnnnnnnnnnnnnnnnnnBACACBCCBACBACBACBAD1当用异或门实现电路时,写出相应的函数式为 nnnnnnnnnnnnnnnnnnnnnnnCBCBACBCBACBCBACBACCBAD)()(1其中 为Dn和Cn+1的公共项。)(nnCB 第4章 组合逻辑电路 画出逻辑电路。图 4 6 全减器逻辑图 Cn1&1&111BnAnDnCn+1(a)111Dn&Cn+1CnBnAn(b)第4章 组合逻辑电路 【例【例4-4】用门电路设计一个将8421 BCD码转换为余3码的变换电路。解:解:分析题意,列真值表
10、。该电路输入为8421 BCD码,输出为余3码,因此它是一个四输入、四输出的码制变换电路,其框图如图4-7(a)所示。根据两种BCD码的编码关系,列出真值表,如表4-5所示。由于8421 BCD码不会出现10101111这六种状态,因此把它视为无关项。第4章 组合逻辑电路 选择器件,写出输出函数表达式。题目没有具体指定用哪一种门电路,因此可以从门电路的数量、种类、速度等方面综合折衷考虑,选择最佳方案。该电路的化简过程如图4-7(b)所示,首先得出最简与或式,然后进行函数式变换。变换时一方面应尽量利用公共项以减少门的数量,另一方面减少门的级数,以减少传输延迟时间,因而得到输出函数式为 DEDCD
11、CCDDCEDCBDCBDCBDBCBDCBEBDBCABDBCAE0123)()()(第4章 组合逻辑电路 图 4 7 例4-4框图及K图 码制变换电路ABDCE3E2E1E0(a)ABCD000111100001111111011E3ABCD000111100001111111101E21ABCD00011110000111111101E11ABCD00011110000111111011E0(b)第4章 组合逻辑电路 画逻辑电路。该电路采用了三种门电路,速度较快,逻辑图如图4-8所示。表 4 5 例4-4真值表 A B C DE3 E2 E1 E00 0 0 00 0 0 10 0 1
12、00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 10 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 0 第4章 组合逻辑电路 图 4 8 8421 BCD码转换为余3码的电路 1&11&11E3E2E1E0ABCD第4章 组合逻辑电路 4.3 常用常用MSI组合逻辑器件及应用组合逻辑器件及应用 4.3.1 编码器编码器 用文字、符号或数码表示特定对象的过程称为编码。在数字电路
13、中用二进制代码表示有关的信号称为二进制编码。实现编码操作的电路就是编码器。按照被编码信号的不同特点和要求,有二进制编码器、二十进制编码器、优先编码器之分。第4章 组合逻辑电路 1.二进制编码器二进制编码器 用n位二进制代码对N=2n个一般信号进行编码的电路,叫做二进制编码器。例如n=3,可以对8个一般信号进行编码。这种编码器有一个特点:任何时刻只允许输入一个有效信号,不允许同时出现两个或两个以上的有效信号,因而其输入是一组有约束(互相排斥)的变量。现以三位二进制编码器为例,分析编码器的工作原理。图4-9是三位二进制编码器的框图,它的输入是I0I78个高电平信号,输出是三位二进制代码F2、F1、
14、F0。为此,又把它叫做8线3线编码器。输出与输入 的对应关系如表4-6所示。第4章 组合逻辑电路 图 4 9 三位二进制8线3线编码器框图 8线3线编码器I0F2F1F0I1I2I3I4I5I6I7第4章 组合逻辑电路 表 4 6 三位二进制编码器的真值表 输 入 输 出 I0 I1 I2 I3 I4 I5 I6 I7 F2 F1 F01 0 0 0 0 0 0 0 0 1 0 0 0 0 0 00 0 1 0 0 0 0 00 0 0 1 0 0 0 00 0 0 0 1 0 0 00 0 0 0 0 0 1 00 0 0 0 0 0 0 10 0 00 0 10 1 00 1 11 0 0
15、1 0 11 1 01 1 1第4章 组合逻辑电路 由表4-6可得出编码器的输出函数为 因为任何时刻I0I7当中仅有一个取值为1,利用这个约束条件将上式化简,得到 753107632176542IIIIFIIIIFIIIIF第4章 组合逻辑电路 图 4 10 三位二进制编码器 111F2F1F0I7I6I5I4I3I2I1第4章 组合逻辑电路 2.二二十进制十进制(BCD)编码器编码器 将十进制数0、1、2、3、4、5、6、7、8、9 等10个信号编成二进制代码的电路叫做二十进制编码器。它的输入是代表09这10个数符的状态信号,有效信号为1(即某信号为1时,则表示要对它进行编码),输出是相应的
16、BCD码,因此也称10线4线编码器。它和二进制编码器特点一样,任何时刻只允许输入一个有效信号。例如,要实现一个十进制8421BCD编码器,因输入变量相互排斥,可直接列出编码表如表4-7所示。将表中各位输出码为1的相应输入变量相加,便可得出编码器的各输出表达式:第4章 组合逻辑电路 975319753176327632765476549898YYYYYYYYYYAYYYYYYYYBYYYYYYYYCYYYYD第4章 组合逻辑电路 表 4 7 8421 BCD码编码表 第4章 组合逻辑电路 图 4-118421BCD码编码器&111111111ABCY1Y2Y3Y4Y5Y6Y7Y8Y9&D第4章
17、组合逻辑电路 3.优先编码器优先编码器 优先编码器常用于优先中断系统和键盘编码。与普通编码器不同,优先编码器允许多个输入信号同时有效,但它只按其中优先级别最高的有效输入信号编码,对级别较低的输入信号不予理睬。常用的MSI优先编码器有10线4线(如74LS147)、8线3线(如74LS148)。74LS148二进制优先编码器的逻辑符号如图4-12所示。功能表如表4-8所示。第4章 组合逻辑电路 图 4 12 74LS148逻辑符号74LS148E176543210CSCBAE0第4章 组合逻辑电路 表 4 8 74LS148的功能表 第4章 组合逻辑电路 图4-12中,小圆圈表示低电平有效,各引
18、出端功能如下:70为状态信号输入端,低电平有效,7的优先级别最高,0的级别最低;C、B、A 为代码(反码)输出端,C为最高位;E1为使能(允许)输入端,低电平有效;当E1=0时,电路允许编码;当E1=1时,电路禁止编码,输出C、B、A均为高电平;E0和CS为使能输出端和优先标志输出端,主要用于级联和扩展。第4章 组合逻辑电路 从功能表可以看出,当E1=1时,表示电路禁止编码,即无论70中有无有效信号,输出C、B、A均为1,并且CS=E0=1。当E1=0时,表示电路允许编码,如果70中有低电平(有效信号)输入,则输出C、B、A是申请编码中级别最高的编码输出(注意是反码),并且CS=0,E0=1;
19、如果70中无有效信号输入,则输出C、B、A均为高电平,并且CS=1,E0=0。从另一个角度理解E0和CS的作用。当E0=0,CS=1时,表示该电路允许编码,但无码可编;当E0=1,CS=0时,表示该电路允许编码,并且正在编码;当E0=CS=1时,表示该电路禁止编码,即无法编码。第4章 组合逻辑电路 4.3.2 译码器译码器 1.二进制译码器二进制译码器 二进制译码器有n个输入端(即n位二进制码),2n个输出线。常见的MSI译码器有24译码器、38译码器和416译码器。图4-13为24译码器的逻辑电路及逻辑符号,其功能表如表4-9所示,图4-13中A1、A0为地址输入端,A1为高位。为状态信号输
20、出端,Yi上的非号表示低电平有效。E为使能端(或称选通控制端),低电平有效。当E=0时,允许译码器工作,中有一个为低电平输出;当E=1时,禁止译码器工作,所有输出 均为高电平。一般使能端有两个用途:一是可以引入选通脉冲,以抑制冒险脉冲的发生(参看本章4.4节);二是可以用来扩展输入变量数(功能扩展)。3210YYYY、30YY30YY第4章 组合逻辑电路 图 4 13 24译码器逻辑电路及符号&11111Y0Y3Y2Y1A1A0E(a)(b)24译码器A1EA0Y0Y3Y2Y1第4章 组合逻辑电路 从表4-9还可以看出,当E=0时,24译码器的输出函数分别为:如果用 表示i端的输出,mi表示输
21、入地址变量A1、A0的一个最小项,则输出函数可写成,013012011010AAYAAYAAYAAYiY)3,2,1,0(imEYii可见,译码器的每一个输出函数对应输入变量的一组取值,当使能端有效(E=0)时,它正好是输入变量最小项的非。因此变量译码器也称为最小项发生器。第4章 组合逻辑电路 表 4 9 24译码器功能表 第4章 组合逻辑电路 图4-14为38译码器的逻辑符号,功能表如表4-10所示。图中,A2、A1、A0为地址输入端,A2为高位。为状态信号输出端,低电平有效。E1和E2A、E2B为使能端。由功能表可看出,只有当E1为高,E2A、E2B都为低时,该译码器才有有效状态信号输出;
22、若有一个条件不满足,则译码不工作,输出全为高。70YY图 4 14 38译码器逻辑符号 38译码器 E1 E2A E2BA1A2A0Y0Y7Y6Y5Y4Y3Y2Y1第4章 组合逻辑电路 表 4 10 38译码器功能表 第4章 组合逻辑电路 如果用 表示i端的输出,则输出函数为 iYBABAiiEEEEEEEiEmY221221)70(可见,当使能端有效(E=1)时,每个输出函数也正好等于输入变量最小项的非。二进制译码器的应用很广,典型的应用有以下几种:实现存储系统的地址译码;实现逻辑函数;带使能端的译码器可用作数据分配器或脉冲分配器。第4章 组合逻辑电路【例 4-5】试用38译码器实现函数:)
23、7,6,5,4,3,2,1()7,4,0(21mFmF 解:解:因 为 当 译 码 器 的 使 能 端 有 效 时,每 个 输出 ,因此只要将函数的输入变量加至译码器的地址输入端,并在输出端辅以少量的门电路,便可以实现逻辑函数。本题F1、F2均为三变量函数,首先令函数的输入变量ABC=A2A1A0,然后将F1、F2变换为译码器输出的形式:iiiMmY第4章 组合逻辑电路 图 4 15 例4-5之电路 38译码器 E1 E2A E2BA1A2A0Y0Y7Y6Y5Y4Y3Y2Y11ABC&F1F2第4章 组合逻辑电路 2.二二十进制译码器十进制译码器 二十进制译码器也称BCD译码器,它的功能是将输
24、入的一位BCD码(四位二元符号)译成10个高、低电平输出信号,因此也叫410译码器。图4-16是二十进制译码器74LS42的逻辑图和逻辑符号。功能表如表4-11所示。第4章 组合逻辑电路 图 4 16 二十进制译码器74LS42&Y0Y7Y6Y5Y4Y3Y2Y1Y8Y9&11111111A1A2A3图 4-16410译码器BCD输入A2A3A1A0Y0Y1Y3Y2Y4Y5Y6Y7Y8Y9A0第4章 组合逻辑电路 表 4 11 二十进制译码器74LS42的真值表 第4章 组合逻辑电路 3.显示译码器显示译码器 与二进制译码器不同,显示译码器是用来驱动显示器件,以显示数字或字符的MSI部件。显示译
25、码器随显示器件的类型而异,与辉光数码管相配的是BCD十进制译码器,而常用的发光二极管(LED)数码管、液晶数码管、荧光数码管等是由7个或8个字段构成字形的,因而与之相配的有BCD七段或BCD八段显示译码器。现以驱动LED数码管的BCD七段译码器为例,简介显示译码原理。第4章 组合逻辑电路 发光二极管(LED)由特殊的半导体材料砷化镓、磷砷化镓等制成,可以单独使用,也可以组装成分段式或点阵式LED显示器件(半导体显示器)。分段式显示器(LED数码管)由7条线段围成 字型,每一段包含一个发光二极管。外加正向电压时二极管导通,发出清晰的光,有红、黄、绿等色。只要按规律控制各发光段的亮、灭,就可以显示
26、各种字形或符号。LED数码管有共阳、共阴之分。图4-17(a)是共阴式LED数码管的原理图,图4-17(b)是其表示符号。使用时,公共阴极接地,7个阳极ag由相应的BCD七段译码器来驱动(控制),如图4-17(c)所示。第4章 组合逻辑电路 图 4 17 数字显示译码器 abcdefgabcdefgagb c d e f(a)(b)BCD七段译码器DCBADCBAagbcdfeUCCRL7(c)UCCGNDGND第4章 组合逻辑电路 BCD七段译码器的输入是一位BCD码(以D、C、B、A表示),输出是数码管各段的驱动信号(以FaFg表示),也称47译码器。若用它驱动共阴LED数码管,则输出应为
27、高有效,即输出为高(1)时,相应显示段发光。例如,当输入8421码DCBA=0100时,应显示 ,即要求同时点亮b、c、f、g段,熄灭a、d、e段,故译码器的输出应为FaFg=0110011,这也是一组代码,常称为段码。同理,根据组成09这10个字形的要求可以列出8421BCD七段译码器的真值表,见表4-12(未用码组省略)。第4章 组合逻辑电路 表 4-12 BCD七段译码器真值表 第4章 组合逻辑电路 MSI BCD七段译码器就是根据上述原理组成的,只是为了使用方便,增加了一些辅助控制电路。这类集成译码器产品很多,类型各异,它们的输出结构也各不相同,因而使用时要予以注意。图4-17(c)是
28、BCD七段译码器驱动LED数码管(共阴)的接法。图中,电阻是上拉电阻,也称限流电阻,当译码器内部带有上拉电阻时,则可省去。数字显示译码器的种类很多,现已有将计数器、锁存器、译码驱动电路集于一体的集成器件,还有连同数码显示器也集成在一起的电路可供选用。第4章 组合逻辑电路 4.3.3 数据选择器数据选择器 数据选择器又称多路选择器(Multiplexer,简称MUX),其框图如图4-18(a)所示。它有2n位地址输入、2n位数据输入、1位输出。每次在地址输入的控制下,从多路输入数据中选择一路输出,其功能类似于一个单刀多掷开关,见图4-18(b)。图 4 18 数据选择器框图及等效开关 数据选择器
29、D0D1D2n-1FA0A1An-1FD0D1D2n-1(a)(b)第4章 组合逻辑电路 常用的数据选择器有2选1、4选1、8选1、16选1等。图4-19是4选1数据选择器的逻辑图及符号,其中D0D3是数据输入端,也称为数据通道;A1、A0是地址输入端,或称选择输入端;Y是输出端;E是使能端,低电平有效。当E=1时,输出Y=0,即无效,当E=0时,在地址输入A1、A0的控制下,从D0D3中选择一路输出,其功能表见表4-13。表 4 13 4选1 MUX功能表 EA1 A0Y100000 00 11 01 1 D0D1D2D30第4章 组合逻辑电路 图图 4 19 4选选1 MUX&1Y1111
30、D1D2D3D0A0A1E(a)逻辑图4选1MUX(b)逻辑符号YA0A1D1D0D3D2E第4章 组合逻辑电路 当E=0时,4选1 MUX的逻辑功能还可以用以下表达式表示:iiiDmDAADAADAADAAY30301201101001 式中,mi是地址变量A1、A0所对应的最小项,称地址最小项。式(4-13)还可以用矩阵形式表示为 TmDDDDAADDDDAAAAAAAAY)()()(321001321001010101第4章 组合逻辑电路 式中(A1A0)m是由最小项组成的行阵,(D0D1D2D3)T是由D0、D1、D2、D3组成的列阵的转置。图4-20为8选1 MUX的逻辑符号,其功能
31、表如表4-14所示,输出表达式为 TmiiiDDDDDDDDAAADmY)()(7654321001270图 4 20 8选1MUX逻辑符号 8选1MUXYA0A2D1D0D3D2D5D4D7D6EA1第4章 组合逻辑电路 表 4 14 8选1 MUX功能表 EA2 A1 A0Y100000000 0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 10D0D1D2D3D4D5D6D7第4章 组合逻辑电路 1.数据选择器的应用数据选择器的应用数据选择器的应用很广,典型应用有以下几个方面:作数据选择,以实现多路信号分时传送。实现组合逻辑函数。在数据传输时实现并串转换。产
32、生序列信号。对于n个地址输入的MUX,其表达式为 120liimY第4章 组合逻辑电路 其中mi是由地址变量An-1、A1、A0组成的地址最小项。而任何一个具有l个输入变量的逻辑函数都可以用最小项之和来表示:120liimF这里的mi是由函数的输入变量A、B、C、组成的最小项。比较Y和F的表达式可以看出,只要将逻辑函数的输入变量A、B、C、加至数据选择器地址输入端,并适当选择Di的值,使F=Y,就可以用MUX实现函数F。因此,用MUX实现函数的关键在于如何确定Di的对应值。第4章 组合逻辑电路 1)ln的情况 l为函数的输入变量数,n为选用的MUX的地址输入端数。当l=n时,只要将函数的输入变
33、量A、B、C、依次接到MUX的地址输入端,根据函数F所需要的最小项,确定MUX中Di的值(0或1)即可;当ln时,将MUX的高位地址输入端不用(接0或1),其余同上。第4章 组合逻辑电路【例 4-6】试用8选1MUX实现逻辑函数:CBABAF 解:解:首先求出F的最小项表达式。将F填入K图,如图4-21所示,根据K图可得)7,5,4,3,2,1(),(mCBAF当采用8选1 MUX时,有 7076543210012)()(iTmiiDDDDDDDDAAADmY令A2=A,A1=B,A0=C,且令D1=D2=D3=D4=D5=D7=1,D0=D6=0则有Y=(ABC)m(01111101)=m(
34、1,2,3,4,5,7),故F=Y。用8选1MUX实现函数F的逻辑图如图4-22所示。第4章 组合逻辑电路 图 4 21 例4-6之K图 0ABC00011110011011111第4章 组合逻辑电路 图 4-22 例4-6之逻辑图 需要注意的是,因为函数F中各最小项的标号是按A、B、C的权为4、2、1写出的,因此A、B、C必须依次加到A2、A1、A0端。8选1MUXYA0A2D1D0D3D2D5D4D7D6A1FABC1第4章 组合逻辑电路 2)ln的情况 当逻辑函数的变量数l大于MUX的地址输入端数n时,不能采用上面所述的简单方法。如果从l个输入变量中选择n个直接作为MUX的地址输入,那么
35、,多余的(l-n)个变量就要反映到MUX的数据输入Di端,即Di是多余输入变量的函数,简称余函数。因此设计的关键是如何求出函数Di。确定余函数Di可以采用代数法或降维K图法。第4章 组合逻辑电路【例 4-7】试用4选1MUX实现三变量函数:CBABCACBACBAF 解:解:首先选择地址输入,令A1A0=AB,则多余输入变量为C,余函数Di=f(c)。确定余函数Di。用代数法将F的表达式变换为与Y相应的形式:CABCBACBABACBABCACCBACBABCACBACBAFDAADAADAADAAY1)(301201101001第4章 组合逻辑电路 将F与Y对照可得 0,13210DCDCD
36、D图 4 23 例4-7之逻辑图 4选1MUXYA0A1D1D0D3D2EFABC11第4章 组合逻辑电路 n变量的逻辑函数,可以用n维(即n变量)K图表示,也可以用(n-1)、(n-2)、维K图表示,这种(n-1)、(n-2)、维K图称为降维K图。例4-7中的三变量逻辑函数F可以用图4-24(a)三变量K图表示,也可以用图(b)所示的以A、B为变量,C为引入变量的二维K图表示。降维的方法是在图(a)中先求出在AB各组取值下F与C变量之间的函数关系,然后将它们分别填入图(b)的降维K图中。从图(b)中看出,该K图中除了填0、1外,还填入了变量C、,因此它又称为引入变量K图。如果选择4选1MUX
37、的地址输入A1A0=AB,将图(c)所示Y的K图和图(b)F的K图相对照,则很容易求出多余函数:C0,13210DCDCDD第4章 组合逻辑电路 为了减少画K图的次数,也可以直接在F的三变量K图上求出余函数Di。例如在图4-24(d)F 的K图中选择AB=A1A0,则AB变量(即地址变量)按其组合可直接将F的K图划分为四个子K图,如图(d)中虚线所示。每个子K图所对应的函数就是余函数Di,它们仅与多余输入变量C有关,即Di=f(C)。在各子K图上直接化简,便可求出余函数Di的值:D0=1,D1=C,D2=C,D3=0。可见,后面这种方法更加简便,其求解步骤归纳如下:画出函数F的K图。选择地址输
38、入。在F的K图上确定余函数Di的范围。求余函数Di。画出逻辑图。第4章 组合逻辑电路 图 4-24 例4-7卡诺图法 1ABC000111100100111001AB0101CC0(a)(b)D0A1A00101D2D1D3(c)1ABC00011110010011100(d)FFYD3D2D1D0第4章 组合逻辑电路【例4-8】试用8选1MUX实现逻辑函数:)14,13,12,7,5,4,0(),(mDCBAF 画出F的四变量K图如图4-25(a)所示。图图 4 25 例例 4-8在在F之之K图上确定图上确定Di 1ABCD00011110000111001110111010001001AB
39、CD0001111000011100111011101000100(a)(b)D0D2D6D4D1D3D7D5D0D1D3D2D4D5D7D6第4章 组合逻辑电路 选择地址变量,确定余函数Di。原则上,地址变量的选择是任意的,但选择合适了才能使电路简化。若选择A2A1A0=ABC,则引入变量为D。在图4-25(a)F之K图上,确定8选1MUX数据输入Di的范围,如图(a)中虚线所示。化简各子K图求得余函数为:D0=D,D1=0,D2=1,D3=D,D4=D,D5=0,D6=1,D7=D,函数F可表示为 TmDDDDABCYF)1010()(其逻辑图如图4-26(a)所示。第4章 组合逻辑电路
40、图 4 26 例4-8的逻辑图 8选1MUXYA0A2D1D0D3D2D5D4D7D6A1FABCED118选1MUXYA0A2D1D0D3D2D5D4D7D6A1FACDEB1(a)(b)第4章 组合逻辑电路 比较图4-26(a)和(b)可看出,显然选择A、C、D为地址变量时电路简单,其数据输入可以不附加任何门。因此,为了在产生余函数时不附加门电路或尽量少附加门电路,通常要将各种地址选择方案进行比较,这样做是比较麻烦的。比较简单的方法是观察F的K图或将F化简,从F的输入变量中选择出现比较多的输入变量加到地址输入端,这样就能简化电路。第4章 组合逻辑电路 2.数据选择器的扩展数据选择器的扩展
41、利用使能端进行扩展。图4-27是将双4选1MUX扩展为8选1 MUX的逻辑图。其中A2是8选1MUX地址端的最高位,A0是最低位。树状扩展。通过MUX的级联用2n+1个2n选1的MUX可以扩展为(2n)2选1的MUX。例如,n=2,即可用5个4选1MUX实现16选1MUX。如图4-28所示。第4章 组合逻辑电路 双4选1MUXY1A0A1A1E1D0A01D31D21D1D0D1D2D3A22D02D32D22D1D4D5D6D71图 4-27E1E2Y21Y第4章 组合逻辑电路 图 4 28 5个4选1MUX实现16选1MUX 双4选1MUXYA0A1A1D0A0D3D2D1D0D3D0D3
42、D2D1D4D7双4选1MUXYA0A1ED0D3D2D1D8D11D0D3D2D1D12D15EE4选1MUXA3A2A1A0YYYED0D1D2D3EEY第4章 组合逻辑电路 数据分配器又称多路分配器(DEMUX),其功能与数据选择器相反,它可以将一路输入数据按n位地址分送到2n个数据输出端上。图4-29为14 DEMUX的逻辑符号,其功能表如表4-15所示。其中D为数据输入,A1、A0为地址输入,Y0Y3为数据输出,E为使能端。4.3.4 数据分配器数据分配器表 4 15 14 DEMUX功能表 E A1 A0Y0 Y1 Y2 Y31 0 0 00 0 10 1 00 1 11 1 1
43、1D 1 1 11 D 1 11 1 D 11 1 1 D第4章 组合逻辑电路 图 4-29 14DEMUX 数据分配器DEA1A0Y0Y1Y2Y3图 4-29第4章 组合逻辑电路 常用的DEMUX有14DEMUX,18DEMUX,116 DEMUX等。从表4-15看出,14 DEMUX与24译码器功能相似,如果将2-4译码器的使能端E用作数据输入端D(见图4-30(a),则24译码器的输出可写成)3,2,1,0(imDmEYiii随着译码器输入地址的改变,可使某个最小项mi为1,则译码器相应的输出Yi=D,因而只要改变译码器的地址输入A、B,就可以将输入数据D分配到不同的通道上去。因此,凡是
44、具有使能端的译码器,都可以用作数据分配器。图4-30(b)是将38译码器用作18DEMUX的逻辑图。其中:第4章 组合逻辑电路 iiiBADmmEYEEDE12210,当改变地址输入A、B、C时,Yi=D,即输入数据被反相分配到各输出端。数据分配器常与数据选择器联用,以实现多通道数据分时传送。例如,发送端由MUX将各路数据分时送到公共传输线上,接收端再由分配器将公共传输线上的数据适时分配到相应的输出端,而两者的地址输入都是同步控制的,其示意图如图4-31所示。第4章 组合逻辑电路 图 4 30 用译码器实现DEMUX 24译码器A0A1Y0Y3Y2Y1EABD38译码器A1A2A0E2BE2A
45、E1CBA(a)(b)Y0Y7Y6Y5Y4Y3Y2Y1D第4章 组合逻辑电路 图 4 31 多通道数据分时传送8 1MUXA1A2A0CBAD0D1D2D3D4D5D6D71 8DEMUXA1A0A2F0F1F2F3F4F5F6F7YD第4章 组合逻辑电路 4.3.5 数码比较器数码比较器 1.逻辑功能逻辑功能 图 4 32 四位并行数码比较器逻辑符号 A3B2A2B1A1B0A0CABCABCABPABPABPABB3COMP第4章 组合逻辑电路 由图4-32可见,该比较器有 11 个输入端,三个输出端,其中输入端A3A0、B3B0接两个待比较的四位二进制数;输出端PAB、PA=B、PAB是
46、三个比较结果;CAB、CA=B、CAB是三个级联输入端,当扩大待比较的二进制数的位数时,可将低位比较器的输出端PAB、PA=B、PAB分别接到高位比较器的CAB、CA=B、CAB三个输入端。第4章 组合逻辑电路 表 4 16 四位比较器功能表 第4章 组合逻辑电路 由表4-16可以看出:输出PAB=1(即A大于B)的条件是:最高位A3B3,或者最高位相等而次高位A2B2,或者最高位和次高位均相等而次低位A1B1,或者高三位相等而最低位A0B0,或者四位均相等而低位比较器来的输入CAB=1。输出PA=B=1的条件是:A3=B3,A2=B2,A1=B1,A0=B0,且级联输入端CA=B为1。输出P
47、AB=1的条件请读者导出。第4章 组合逻辑电路 2.比较器的级联比较器的级联 四位比较器可直接用来比较两个四位或小于四位的二进制整数的大小。当两个待比较的数的位数超过四位时,往往要将多个比较器级联使用。【例 4-9】试比较两个七位二进制整数的大小。解:解:采用两块四位比较器组件,用分段比较的方法,可以实现对七位二进制的比较,其逻辑图如图4-33所示。第4章 组合逻辑电路 图 4 33 七位数的比较 1A0B0A1B1A2B2A3B3A0B0A1B1A2B2A3B3A4B4A5B5A6B6A0B0A1B1A2B2A3B3PABPABPABPABPABPABABABABCABCABCOMPCOMP
48、第4章 组合逻辑电路 4.3.6 加法器加法器 图 4 34 四位串行进位并行加法器 第4章 组合逻辑电路 图 4 35 超前进位加法器 第4章 组合逻辑电路 超前进位产生器逻辑符号如图4-35(c)所示,它是一种产生快速进位的集成电路。根据全加器进位信号 令Gn=AnBn,则可以得出,)(1nnnnnnCBABACnnnnCPGC1 上式称为递推公式,Gn称进位产生函数,Pn称为进位传输函数。由式(4-18)可以推出各级进位信号表达式,并构成快速进位的逻辑电路(推导过程从略)。因此,图4-35(c)中P0、P1、P2、P3分别为进位传输信号,G0、G1、G2、G3分别为进位产生输入信号,Cn
49、+1、Cn+2、Cn+3分别为进位输出,FP和FG 分别为进位传输输出和进位产生输出。其表达式为 第4章 组合逻辑电路 012312323301230120121223010112001CPPPGPPGPGCPPPPFCPPPGPPGPGCCPPGPGCCPGCGPnnnnnn 加法器在数字系统中的应用十分广泛。其除了能进行多位二进制数的加法运算外,也可以用来完成二进制减法运算。在利用加法器完成减法运算时,最通常的做法是将减数的二进制数的每一位变反(01,10),并且在最低位加1,其结果再同被减数相加。即采用减数求补相加法,A-B=A加B反加1。利用加法器可以实现码组变换。第4章 组合逻辑电路
50、 【例【例4-10】试采用四位加法器完成余3码到8421 BCD码的转换。解:解:因为对于同样一个十进制数,余3码比相应的8421BCD码多3,因此要实现余3码到8421 BCD码的转换,只需从余3码减去(0011)即可。由于0011各位变反后成为1100,再加1,即为1101,因此,减(0011)同加(1101)等效。所以,在四位加法器的A3A0接上余3码的四位代码,B3、B2、B1、B0上接固定代码1101,就能实现转换,其逻辑电路如图4-36所示。利用加法器还可以实现8421 BCD码相加。第4章 组合逻辑电路 图 4 36 全加器构成的余3码到8421BCD码的转换四位加法器A2A3A