490 likes | 735 Views
第 4 章 组合逻辑电路. 4.1 组合逻辑电路的分析 4.2 组合逻辑电路的设计 4.3 若干常用的组合逻辑电路. 4.1 组合逻辑电路的分析. 所谓逻辑电路的分析,就是找出给定逻辑电路输出和输入之间的逻辑关系,并指出电路的逻辑功能。分析过程一般按下列步骤进行: ① 根据给定的逻辑电路,从输入端开始,逐级推导出输出端的逻辑函数表达式。 ② 根据输出函数表达式列出真值表。 ③ 用文字概括出电路的逻辑功能。.
E N D
第 4 章 组合逻辑电路 4.1组合逻辑电路的分析 4.2组合逻辑电路的设计 4.3若干常用的组合逻辑电路
4.1 组合逻辑电路的分析 所谓逻辑电路的分析,就是找出给定逻辑电路输出和输入之间的逻辑关系,并指出电路的逻辑功能。分析过程一般按下列步骤进行: ① 根据给定的逻辑电路,从输入端开始,逐级推导出输出端的逻辑函数表达式。 ② 根据输出函数表达式列出真值表。 ③ 用文字概括出电路的逻辑功能。
【例4-1】 分析图4-2所示组合逻辑电路的逻辑功能。 解:根据给出的逻辑图, 逐级推导出输出端的逻辑函数表达式:
表 4-1 例4-1真值表 由真值表可以看出,在三个输入变量中,只要有两个或两个以上的输入变量为1,则输出函数F为1,否则为0,它表示了一种“少数服从多数”的逻辑关系。因此可以将该电路概括为:三变量多数表决器。
表 4-2 半加器真值表 图 4-3 半加器
4.2 组合逻辑电路的设计 工程上的最佳设计,通常需要用多个指标去衡量,主要考虑的问题有以下几个方面: ① 所用的逻辑器件数目最少,器件的种类最少,且器件之间的连线最简单。这样的电路称“最小化”电路。 ② 满足速度要求,应使级数尽量少,以减少门电路的延迟。 ③ 功耗小,工作稳定可靠。
上述“最佳化”是从满足工程实际需要提出的。显然,“最小化”电路不一定是“最佳化”电路,必须从经济指标和速度、 功耗等多个指标综合考虑,才能设计出最佳电路。 组合逻辑电路可以采用小规模集成电路实现,也可以采用中规模集成电路器件或存储器、可编程逻辑器件来实现。 虽然采用中、大规模集成电路设计时,其最佳含义及设计方法都有所不同,但采用传统的设计方法仍是数字电路设计的基础。因此下面先介绍采用设计的实例。
组合逻辑电路的设计一般可按以下步骤进行: ① 逻辑抽象。将文字描述的逻辑命题转换成真值表叫逻辑抽象,首先要分析逻辑命题,确定输入、 输出变量;然后用二值逻辑的0、1两种状态分别对输入、输出变量进行逻辑赋值,即确定0、1 的具体含义;最后根据输出与输入之间的逻辑关系列出真值表。 ② 选择器件类型。根据命题的要求和器件的功能及其资源情况决定采用哪种器件。例如,当选用MSI组合逻辑器件设计电路时,对于多输出函数来说,通常选用译码器实现电路较方便,而对单输出函数来说,则选用数据选择器实现电路较方便。 ③ 根据真值表和选用逻辑器件的类型,写出相应的逻辑函数表达式。当采用SSI集成门设计时,为了获得最简单的设计结果,应将逻辑函数表达式化简,并变换为与门电路相对应的最简式。 ④ 根据逻辑函数表达式及选用的逻辑器件画出逻辑电路图。
【例4-2】设计一个一位全减器。 ① 列真值表。 全减器有三个输入变量:被减数An、减数Bn、低位向本位的借位Cn;有两个输出变量:本位差Dn、本位向高位的借位C n+1, 其框图如图4 - 5(a)所示。 表 4-3 全减器真值表
图 4-4 全减器框图及K图 (a) 框图; (b) Cn+1; (c) Dn
② 选器件。 选用非门、异或门、与或非门三种器件。 ③ 写逻辑函数式。 首先画出Cn+1和Dn的K图如图4-5(b)、(c)所示,然后根据选用的三种器件将Cn+1、Dn分别化简为相应的函数式。由于该电路有两个输出函数,因此化简时应从整体出发,尽量利用公共项使整个电路门数最少,而不是将每个输出函数化为最简当用与或非门实现电路时,利用圈0方法求出相应的与或非式为
当用异或门实现电路时,写出相应的函数式为 其中 为Dn和Cn+1的公共项。
④ 画出逻辑电路。 图 4 – 5 全减器逻辑图
4.3 若干常用的组合逻辑电路 1 编码器 用文字、符号或数码表示特定对象的过程称为编码。在数字电路中用二进制代码表示有关的信号称为二进制编码。 实现编码操作的电路就是编码器。按照被编码信号的不同特点和要求,有二进制编码器、二—十进制编码器、优先编码器之分。
(1) 二进制编码器 用n位二进制代码对N=2n个一般信号进行编码的电路,叫做二进制编码器。例如n=3,可以对8个一般信号进行编码。这种编码器有一个特点:任何时刻只允许输入一个有效信号,不允许同时出现两个或两个以上的有效信号,因而其输入是一组有约束(互相排斥)的变量。 现以三位二进制编码器为例,分析编码器的工作原理。图4-9是三位二进制编码器的框图,它的输入是I0~I78个高电平信号,输出是三位二进制代码F2、F1、F0。为此,又把它叫做8线—3线编码器。输出与输入 的对应关系如表4-6所示。
由表4 - 4可得出编码器的输出函数为 因为任何时刻I0~I7当中仅有一个取值为1,利用这个约束条件将上式化简,得到
(2) 优先编码器 优先编码器常用于优先中断系统和键盘编码。与普通编码器不同,优先编码器允许多个输入信号同时有效,但它只按其中优先级别最高的有效输入信号编码,对级别较低的输入信号不予理睬。常用的MSI优先编码器有10线—4线(如74LS147)、 8线—3线(如74LS148)。 74LS148二进制优先编码器的逻辑符号如图4-12所示。功能表如表4-8所示。
图4 - 8中,小圆圈表示低电平有效,各引出端功能如下: 7~0为状态信号输入端,低电平有效,7的优先级别最高,0的级别最低; C、B、A为代码(反码)输出端,C为最高位; E1为使能(允许)输入端,低电平有效;当E1=0时,电路允许编码;当E1=1时,电路禁止编码,输出C、B、A均为高电平;E0和CS为使能输出端和优先标志输出端,主要用于级联和扩展。
从功能表可以看出,当E1=1时,表示电路禁止编码,即无论7~0中有无有效信号,输出C、B、A均为1,并且CS=E0=1。当E1=0时,表示电路允许编码,如果7~0中有低电平(有效信号)输入,则输出C、B、A是申请编码中级别最高的编码输出(注意是反码),并且CS=0,E0=1;如果7~0中无有效信号输入,则输出C、B、A均为高电平,并且CS=1, E0=0。 从另一个角度理解E0和CS的作用。当E0=0,CS=1时,表示该电路允许编码,但无码可编;当E0=1,CS=0时,表示该电路允许编码,并且正在编码;当E0=CS=1时,表示该电路禁止编码,即无法编码。
2 译码器 图4-9为3—8译码器的逻辑符号,功能表如表4-6所示。图中,A2、A1、A0为地址输入端,A2为高位。 为状态信号输出端,低电平有效。E1和E2A、E2B为使能端。由功能表可看出,只有当E1为高,E2A、E2B都为低时,该译码器才有有效状态信号输出;若有一个条件不满足,则译码不工作,输出全为高。 图 4 – 9 3—8译码器逻辑符号
如果用 表示i端的输出,则输出函数为 可见,当使能端有效(E=1)时,每个输出函数也正好等于输入变量最小项的非。 二进制译码器的应用很广,典型的应用有以下几种: ① 实现存储系统的地址译码; ② 实现逻辑函数; ③ 带使能端的译码器可用作数据分配器或脉冲分配器。
3 数据选择器 数据选择器又称多路选择器(Multiplexer, 简称MUX),其框图如图4-10(a)所示。它有2n位地址输入、2n位数据输入、1位输出。每次在地址输入的控制下,从多路输入数据中选择一路输出,其功能类似于一个单刀多掷开关,见图4 - 10(b)。 图 4 – 10 数据选择器框图及等效开关
常用的数据选择器有2选1、4选1、8选1、16选1等。 图4-11是4选1数据选择器的逻辑图及符号,其中D0~D3是数据输入端,也称为数据通道;A1、A0是地址输入端,或称选择输入端;Y是输出端;E是使能端,低电平有效。当E=1时,输出Y=0,即无效,当E=0时,在地址输入A1、A0的控制下,从D0~D3中选择一路输出,其功能表见表4-7。 表 4 – 7 4选1 MUX功能表
当E=0时,4选1 MUX的逻辑功能还可以用以下表达式表示: 式中,mi是地址变量A1、A0所对应的最小项,称地址最小项。 式(4 - 13)还可以用矩阵形式表示为
式中(A1A0)m是由最小项组成的行阵,(D0D1D2D3)T是由D0、D1、D2、D3组成的列阵的转置。 图4-12为8选1 MUX的逻辑符号,其功能表如表4-8所示, 输出表达式为 图 4 – 12 8选1MUX逻辑符号
数据选择器的应用 数据选择器的应用很广,典型应用有以下几个方面: ① 作数据选择,以实现多路信号分时传送。 ② 实现组合逻辑函数。 ③ 在数据传输时实现并—串转换。 ④ 产生序列信号。 对于n个地址输入的MUX,其表达式为
其中mi是由地址变量An-1、…、A1、A0组成的地址最小项。而任何一个具有l个输入变量的逻辑函数都可以用最小项之和来表示: 这里的mi是由函数的输入变量A、B、C、…组成的最小项。 比较Y和F的表达式可以看出,只要将逻辑函数的输入变量A、B、C、…加至数据选择器地址输入端,并适当选择Di的值,使F=Y,就可以用MUX实现函数F。因此,用MUX实现函数的关键在于如何确定Di的对应值。
1) l≤n的情况 l为函数的输入变量数,n为选用的MUX的地址输入端数。 当l=n时,只要将函数的输入变量A、B、C、…依次接到MUX的地址输入端,根据函数F所需要的最小项,确定MUX中Di的值(0或1)即可;当l<n时,将MUX的高位地址输入端不用(接0或1),其余同上。
2) l>n的情况 当逻辑函数的变量数l大于MUX的地址输入端数n时,不能采用上面所述的简单方法。如果从l个输入变量中选择n个直接作为MUX的地址输入,那么,多余的(l-n)个变量就要反映到MUX的数据输入Di端,即Di是多余输入变量的函数,简称余函数。因此设计的关键是如何求出函数Di。 确定余函数Di可以采用代数法或降维K图法。
为了减少画K图的次数,也可以直接在F的三变量K图上求出余函数Di。例如在图4 - 13(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图。 ② 选择地址输入。 ③ 在F的K图上确定余函数Di的范围。 ④ 求余函数Di。 ⑤ 画出逻辑图。
4 数据分配器 数据分配器又称多路分配器(DEMUX),其功能与数据选择器相反,它可以将一路输入数据按n位地址分送到2n个数据输出端上。 其功能表如表4 - 9所示。其中D为数据输入,A1、A0为地址输入,Y0~Y3为数据输出,E为使能端。 表 4 – 9 1—4 DEMUX功能表
5 数码比较器 1. 逻辑功能 图 4 – 14 四位并行数码比较器逻辑符号
由图4 - 14可见,该比较器有 11 个输入端,三个输出端,其中输入端A3~A0、B3~B0接两个待比较的四位二进制数;输出端PA<B、PA=B、PA>B是三个比较结果;CA<B、CA=B、 CA>B是三个级联输入端,当扩大待比较的二进制数的位数时,可将低位比较器的输出端PA<B、PA=B、PA>B分别接到高位比较器的CA<B、CA=B、CA>B三个输入端。
由表4-10可以看出: 输出PA>B=1(即A大于B)的条件是:最高位A3>B3,或者最高位相等而次高位A2>B2,或者最高位和次高位均相等而次低位A1>B1,或者高三位相等而最低位A0>B0,或者四位均相等而低位比较器来的输入CA>B=1。 输出PA=B=1的条件是:A3=B3,A2=B2, A1=B1,A0=B0, 且级联输入端CA=B为1。 输出PA<B=1的条件请读者导出。
6 加法器 图 4 – 15 四位串行进位并行加法器
超前进位产生器逻辑符号如图4-16(c)所示,它是一种产生快速进位的集成电路。根据全加器进位信号 令Gn=AnBn,则可以得出 上式称为递推公式,Gn称进位产生函数,Pn称为进位传输函数。由式(4 - 18)可以推出各级进位信号表达式,并构成快速进位的逻辑电路(推导过程从略)。因此,图4 - 16(c)中P0、P1、 P2、P3分别为进位传输信号,G0、G1、G2、G3分别为进位产生输入信号,Cn+1、Cn+2、Cn+3分别为进位输出,FP和FG分别为进位传输输出和进位产生输出。 其表达式为
OVER 加法器在数字系统中的应用十分广泛。其除了能进行多位二进制数的加法运算外,也可以用来完成二进制减法运算。在利用加法器完成减法运算时,最通常的做法是将减数的二进制数的每一位变反(0→1, 1→0),并且在最低位加1, 其结果再同被减数相加。即采用减数求补相加法,A-B=A加[B]反加1。 利用加法器可以实现码组变换。