《数字系统设计基础》课件第4章_第1页
《数字系统设计基础》课件第4章_第2页
《数字系统设计基础》课件第4章_第3页
《数字系统设计基础》课件第4章_第4页
《数字系统设计基础》课件第4章_第5页
已阅读5页,还剩209页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

4.1组合逻辑电路分析

4.2常用组合逻辑电路的介绍4.3单元级组合逻辑电路的分析方法4.4组合逻辑电路的设计

4.5组合逻辑电路中的竞争与冒险习题

第4章组合逻辑电路在日常生活和生产实践中人们遇到了各种各样的逻辑问题,为解决这些逻辑问题而设计的逻辑电路不胜枚举。解决逻辑问题的电路通称逻辑电路。一个数字信号的处理系统包含了许许多多的逻辑电路。一般逻辑电路可以分为两大类:组合逻辑电路和时序逻辑电路。

组合逻辑电路是比较简单的一类逻辑电路,它具有以下特点:从电路结构上看,只有输入到输出的通路,没有输出到输入的通路,电路不存在反馈,不包含记忆元件;从逻辑功能上看,电路任何时刻的输出仅仅取决于该时刻的输入信号,而与这一时刻输入信号作用前电路的状态没有任何关系。组合逻辑电路的特点可用图4-1所示框图来表示。框图所示为多输入、多输出的组合逻辑电路。输入信号x1,x2

,…,xm为二值逻辑信号,输出信号y1,y2

,…,yn为输入信号的函数,n可以不等于m。输入/输出表达式可描述为

图4-1组合逻辑电路框图组合逻辑电路的分析就是找出给定逻辑电路的输出和输入之间的关系,从而确定给定逻辑电路的逻辑功能。分析方法通常采用代数法,一般的分析步骤如下:

(1)根据给定组合逻辑电路的逻辑图,从输入端开始,逐级推导出输出逻辑函数表达式。

(2)由输出函数表达式,列出它的真值表。

(3)由逻辑函数表达式或真值表,总结给定组合逻辑电路的逻辑功能。4.1组合逻辑电路分析图4-2异或电路逻辑图

【例4-1】

分析图4-2所示组合逻辑电路。

该电路是由4个与非门构成的三级门电路结构。组合逻辑电路中的“级”数,是指从某一输入信号发生变化到引起输出也发生变化所经历的逻辑门的最大数目。通常将输入级作为第一级,顺序推之。该电路具体分析如下:

(1)设中间变量a、b、c如图4-2所示,根据器件的基本功能,有

表4-1式(4-1)真值表最后写出输出函数表达式为

(4-1)

(2)由式(4-1)可列出其真值表,如表4-1所示。

(3)从真值表可见,该逻辑电路的功能是,当输入信号A和B相异时,输出为高电平;当A和B相同时,输出为低电平,电路的功能是“异或”逻辑功能。

【例4-2】

分析图4-3所示的逻辑电路。图4-3例4-2逻辑图

解从逻辑图可以写出如下的输出逻辑表达式:

利用逻辑表达式,列出表4-2所示的真值表。

从真值表可以看出,当输入变量A、B、C中有两个或两个以上取值为1时,输出Z为1,否则输出Z为0。所以此电路是一个多数表决电路。表4-2函数Z的真值表4.2.1加法器

加法器是一种算术运算电路,其基本功能是实现两个二进制数的加法运算。计算机CPU中的运算器本质上就是一种既能完成算术运算,又能完成逻辑运算的单元电路。

1.一位全加器

1)半加器

仅对两个1位二进制数Ai和Bi进行的加法运算称为“半加”。实现半加运算功能的逻辑部件叫做半加器(HalfAdder),简称HA。如图4-4为半加器的逻辑符号。表4-3为半加器的真值表。4.2常用组合逻辑电路的介绍图4-4半加器逻辑符号表4-3半加器的真值表其中Ai和Bi分别表示被加数和加数输入,Si为本位和输出,Ci+1为向相邻高位的进位输出,“∑”为加法器的限定符,“CO”为运算单元进位输出的限定符。半加器的输出逻辑函数表达式为

2)全加器

对两个1位二进制数Ai和Bi连同低位来的进位Ci进行的加法运算称为“全加”。实现全加运算功能的逻辑部件叫做全加器(FullAdder),简称FA。实现的逻辑电路如图4-5所示,对该电路分析可得全加器的输出逻辑函数表达式为

图4-51位二进制数全加器两个1位二进制数全加功能真值表如表4-4所示。表中的Ai和Bi分别表示被加数和加数输入,Ci表示来自相邻低位的进位输入,Si为本位和输出,Ci+1为向相邻高位的进位输

出。1位二进制数全加器的逻辑符号如图4-6所示。表4-41位二进制数全加功能真值表图4-61位二进制数全加器的逻辑符号

2.中规模4位二进制数并行加法器

1)4位逐位进位加法器

在1位全加器的基础上,可以构成多位加法电路,如图4-7所示为4位二进制数相加逐位进位的加法电路。由于每一位相加结果必须等到低一位的进位产生以后才能建立,即

串行进位,故4位逐位进位加法器最大的缺点是运算速度慢,但电路结构简单,在一些中低速数字设备中得到应用。图4-74位逐位进位加法器

2)4位超前进位加法器

4位超前进位加法器的逻辑电路如图4-8所示。每位加法器不必等低位的运算结果,即进行“并行进位”,提高了运算速度。它除了可进行二进制数的加法运算,还可做减法、

乘法运算和码组变换、数码比较等。

74283是典型的中规模4位二进制数并行加法器,其逻辑符号如图4-9所示。其中A3A2A1A0和B3B2B1B0分别为4位二进制被加数和加数输入,CI为低位的进位输入,S3S2S1S0为相加结果的4位和输出,CO为相加后的进位输出。国标符号中的P、Q为操作数限定符,∑为和输出限定符。图4-84位超前进位加法器的逻辑电路图4-94位超前进位加法器逻辑符号4.2.2数值比较器

数字系统中,有时需要比较两个数字的大小。数值比较器是能完成对两个二进制数进行大小比较的逻辑电路。其通用逻辑符号如图4-10所示。

1.1位数值比较器

1位数值比较器是对两个1位二进制数A和B进行比较。图4-11所示即为1位数值比较器的逻辑图。图4-10通用逻辑符号图4-111位数值比较器的逻辑图分析图4-11所示电路,可以写出电路的逻辑表达式为

列出1位数值比较器的真值表如表4-5所示。由真值表可见,该电路完成了1位二进制数A和B数值大小的比较功能。当A<B

时,FA<B输出为1;当A>B时,FA>B输出为1;当A=B时,FA=B输出为1。表4-51位数值比较器真值表

2.4位数值并行比较器

在1位数值比较器的基础上,构成了如图4-12所示的4位数值并行比较器。其中的A3~A0、B3~B0是待比较的两个4位二进制数,3个输入端IA>B、IA=B、IA<B为级联输入端,

FA>B、FA<B、FA=B为比较结果输出端。4位数值比较器的真值表如表4-6所示。图4-124位数值比较器逻辑图表4-64位数值比较器真值表由真值表可知4位数值比较器的比较原则是:先从高位数比起,若高位不等,即可判断出数值的大小,而不必关心低位数;若高位数相等,再比较低位数,比较结果由低位决定。图4-134位二进制数并行比较器的逻辑符号如果4位比较结果都相等,输出状态则取决于级联输入端IA>B、IA=B、IA<B的状态。因此,当没有更低位参与比较时,芯片的级联输入端IA>B、IA=B、IA<B应分别接0、1、0,以便在A、B两数相等时,产生FA=B的比较结果输出,这一点在使用时必须注意。4位数值比较器的逻辑符号如图4-13所示。

3.比较器的级联扩展

4位数值比较器可直接用来比较两个4位或小于4位的二进制整数的大小。当两个待比较的数的位数超过4位时,往往要将多个比较器级联使用。利用级联输入端IA>B、IA=B、IA<B,可以方便地实现比较器功能的扩展。

【例4-3】

试比较两个7位二进制整数的大小。

解采用两块4位比较器组件,用分段比较的方法可以实现对7位二进制数的比较,其逻辑图如图4-14所示。注意低位模块的级联输入分别接“0”、“1”、“0”,本电路中比较器高位多余输入端接“0”处理。图4-147位二进制数并行比较器4.2.3编码器

编码是对多种信息进行人为的数码指定,即给每一种信息指定一个具体的数码。例如,用二进制数码表示十进制数,称为二—十进制编码;电子设备中将字符变换成二进制数码,称为字符编码。编码就是将输入信号转换成对应的数码信号输出,能实现编码功能的电路称为编码器。实际中,按照被编码信号的不同特点和要求,有二进制编码器、二—十进制编码器和优先编码器之分。

1.二进制编码器

用n位二进制代码对2n个信息进行编码的电路,叫做二进制编码器。例如,n=3,可以对8个信息进行编码。这种编码器有一个特点:任何时刻只允许输入一个有效信号,不允许

多个输入信号同时有效,因而其输入是一组有约束的变量。输出是3位二进制代码。如表4-7所示为3位二进制编码器真值表,8个信息输入,3位编码输出,输入信息高电平有效,

输出编码用原码表示。表4-73位二进制编码器的真值表

2.优先编码器

优先编码器常用于优先中断系统和键盘编码。与普通编码器不同,优先编码器允许多个输入信号同时有效,但只按其中优先级别最高的有效输入信号编码。常用的中规模优先编码器有8—3线优先编码器CT54148/CT74148、CT54LS148/CT74LS148及10—4线优先编码器CT54147/CT74147、CT54LS147/CT74LS147、CC40147等。图4-15给出了8—3线优先编码器CT54148/CT74148的逻辑电路。图4-1574148优先编码器逻辑图分析图4-15所示优先编码器逻辑图,不考虑、YS

、信号,则由电路可得编码输出表达式为

按上式列出8—3线优先编码器的真值表,如表4-8所示。表4-88—3线优先编码器真值表由功能表可知,输入和输出的有效工作电位均为低电平。即当~

8个输入端中有一个输入为低电平时,对应输出一组用反码表示的3位二进制代码。例如当输入端为低电平时,输出=101,用二进制的反码形式表示。

优先编码器允许多个输入信号同时有效,但只按其中优先级别最高的有效输入信号编码。可见,优先权最高,优先权最低,下脚标号越大,优先权越高。为输入控制端,或称为选通输入端,低电平有效。=0,电路允许编码;=1,电路禁止编码,输出、、均为高电平。YS为选通输出端,当允许编码而无信号输入时,YS=0,其余情况下YS=1。

为扩展端,可以用来扩展编码器功能。8—3线优先编码器CT54148/CT74148的逻辑符号如图4-16所示。图中小圆圈表示低电平有效。图4-16CT54148/CT74148的逻辑符号

3.编码器的扩展

图4-17所示为由两片8—3线优先编码器扩展为16—4线优先编码器的电路。图中将高位片选通输出端YS接到低位片选通输入端。当高位片…

输入线中有一个为0时,高位片YS=1,控制着低位片端,使低位片=1,则低位片被封锁,低位片=111。此时,编码器的总输出取决于高位片的输出。例:输入0电平,则高位

片=010,高位片=0,因此,总编码输出

=0010。图4-178—3线优先编码器扩展为16—4线优先编码器当高位片…线输入全部高电平时,高位片不进行编码,则高位片的YS=0,=1,使低位片=0,低位片正常编码。例如,线输入为低电平,则低位片

=011,总编码输出为=1011。4.2.4译码器

译码是编码的逆过程,是将输入的二进制代码赋予的含义翻译过来,给出相应的输出高、低电平信号。常用的译码器电路有二进制译码器、二—十进制译码器和显示译码器。

1.二进制译码器

二进制译码器输入端若是n位二进制代码,相应地则有2n个输出端。对输入的每一种可能的代码组合,有且仅有一个输出信号为有效电平。

图4-18是2位二进制译码器的逻辑电路。图4-182位二进制译码器由图4-18可得输出端的表达式为

由逻辑表达式可得2位二进制译码器的真值表,如表4-9所示。表4-92位二进制译码器的真值表由真值表可以看出,A1、A0为地址输入端,其中A1为高位地址端。为状态信号输出端,上的非号表示低电平有效。为使能端,低电平有效。当=1时,禁止译码器工作,所有输出均为高电平;当=0时,允许译码器工作,中有一个为有效低电平输出。如果用表示i端的输出,mi表示输入地址变量A1、A0的一个最小项,则输出函数可写成

可见,译码器的每一个输出对应输入变量的一组取值。当使能端有效时,对于低电平有效的译码器输出,它正好是输入变量最小项的非。因此变量译码器也称为最小项发生器。2位二进制译码器的逻辑符号如图4-19所示。图4-192位二进制译码器的逻辑符号

2.常用中规模译码器

常用的中规模译码器有2—4线译码器、3—8线译码器和4—16线译码器。

1)双2—4线译码器74139

中规模译码器74139芯片内部有两个独立的2—4线译码器,它们的功能都和上述2位二进制译码器相同。当=1时,芯片不进行译码,输出全为1;当=0时,芯片工作,进行译码,对应译码地址输入端A1、A0的每一组代码输入,都能译成在对应输出端输出低电平0。

2)3—8线译码器74138

图4-20所示为3—8线译码器的逻辑电路,A2、A1、A0为3位地址输入端,A2为最高位地址端。为状态信号输出端,低电平有效。E1、、是三个使能端。由3—8线译码器真值表4-10可看出,只有当使能端E1为高电平且和均为低电平时,译码器才有有效状态信号输出,若有一个使能条件不满足要求,则译码器不工作,输出全为高电平。表4-103-8线译码器的真值表图4-203—8线译码器的逻辑电路表4-103—8线译码器的真值表如果用Yi表示i端的输出,则输出函数为

可见,当使能端有效时,每个输出函数也正好等于输入变量最小项的非,即

图4-213—8线译码器的逻辑符号

3—8线译码器的逻辑符号如图4-21所示。

3)二—十进制(4—10线)译码器7442

二—十进制译码器也称BCD译码器,它的功能是将输入的BCD码译成10个高、低电平输出信号,因此也称4—10线译码器。图4-22是二—十进制译码器7442的逻辑图和逻辑符号。输入端A3~A0为BCD编码地址输入,~为低电平有效输出。4位输入变量有16种组合,故取前10种组合方式为有效输入,后6种为无效输入状态。当为无效输入时,

~所有输出均为高电平。真值表如表4-11所示。图4-22二—十进制译码器

表4-11二—十进制译码器的真值表

3.译码器的扩展

合理利用选通端,可以扩展译码器的逻辑功能。图4-232—4线译码器构成3—8线译码器

1)两片2—4线译码器构成3—8线译码器

如图4-23所示电路,当A2=0时,片的=0,正常工作,片Ⅰ的输出值取决于输入地址A1A0;片Ⅱ的

=1,片Ⅱ被封锁,片Ⅱ的输出=1111。

当A2=1时,片Ⅰ的=1,片Ⅰ被封锁,即

=1111,片Ⅱ的=0,正常工作,在输入地址A1A0作用下有输出。

【例4-3】当A2A1A0分别等于010和101时,分析图4-23所示电路的工作情况。

解当A2A1A0=010时,由于A2=0,片Ⅱ被封锁,所以片Ⅱ的输出=1111;片Ⅰ工作(译码),因A1A0=10,故=0。总输出为

当A2A1A0=101时,A2=1,片Ⅰ被封锁,=1111;而片Ⅱ工作,因A1A0=01,故=0。此时总输出为

=11011111符合3—8线译码器真值表。

2)两片3—8线译码器构成4—16线译码器

利用两片3—8线译码器可以构成4—16线译码器,如图4-24所示。EN分别控制两片3—8线译码器的使能端,使两片译码器轮流工作。输入地址中高位地址输入端A3控制两片译码器的另外使能端,低3位地址A2A1A0同时控制两片译码器的3位地址输入来确定被选中芯片的哪一输出端输出低电平,而未选中芯片的输出均为高电平1。图4-243—8线译码器组成4—16线译码器

4.译码器的应用

1)作数据分配器使用

变量译码器还可以作为数据分配器使用。如图4-25所示,将使能端端作为数据输入端D,A1A0作为分配地址,就构成了4输出的数据分配器。例如,当A1A0=10时,若输入D=1,即=1,译码器使能端低电平有效,输出

全为1,故有=1=D。D=0时,即=0,译码器工作,A1A0=10,则=0=D。故无论D=1或0,都等于D,所以说,数据被分配给输出端。图4-25译码器作数据分配器

2)显示译码器

数字系统中,经常需要将数字、文字、符号的二进制代码翻译成人们习惯的形式直观地显示出来,以便掌握和监控系统的运行情况。把二进制代码翻译出来以供显示器件显示的电路称为显示译码器。

与二进制译码器不同,显示译码器是用来驱动显示器件,以显示数字或字符。显示译码器随显示器件的类型而异,常用的是7个字段构成字形的发光二极管(LED)数码管,与之相配的有BCD七段显示译码器。所谓七段显示如图4-26所示,当给其中某些段加一定驱动电压或者电流时,这些段发光,显示出相应的数码。图4-26七段显示译码器图4-27为七段显示译码器的电路原理图。图4-27集成数字显示译码器其中A3、A2、A1、A0为BCD码输入信号,Ya…Yg为译码器的7个输出(高电平有效)。由图可得:集成时为了扩大功能,增加熄灭输入信号、灯测试信号、灭零输入和灭零输出。其功能介绍如下:

(1)为消隐输入。当=0时,不管其它输入端状态如何,七段数码管均处于熄灭状态,不显示数字。

(2)为灯测试输入。当=1,=0时,不管输入A3A2A1A0状态如何,七个段均发亮,显示“8”,它主要用来检测数码管各段是否损坏。

(3)为灭零输入。当=

=1,=0时,输入A3A2A1A0为0000,各段均熄灭,不显示“0”。而A3A2A1A0为其它各种组合时,正常显示。它主要用来熄灭无效的零。如0093.2300,显然前两个零和后两个零均无效,则可使用使之熄灭,显示93.23。

(4)为灭零输出。当本位的“0”熄灭时,=0,在多位显示系统中,它与下一位的相连,通知下一位如果是零也可熄灭。

表4-12为七段显示译码器真值表。七段显示译码器逻辑符号如图4-28所示。表4-12七段显示译码器真值表图4-28七段显示译码器逻辑符号4.2.5数据选择器

数据选择器(DataSelector)又称多路选择器(Multiplexer,简称MUX),是一种多输入、单输出的组合逻辑器件。在输入地址码的控制下,能够从多路输入数据中选择一路输出,以实现数据的选择。n位地址输入的数据选择器,有2n位数据输入,1位数据输出。常用的选择器有2选1、4选1、8选1等多种类型数据选择器。

1.4选1数据选择器

双4选1数据选择器的电路如图4-29所示,它包含两个4选1数据选择器。A1、A0是两个选择器的公共地址输入端,D0~D3为4路数据输入端,Y为数据输出端。是选通

端,低电平有效。经分析可知,当=1时,数据选择器不工作,输出Y=0;当=0时,数据选择器工作,通过地址输入A1、A0的4种组合,从D0~D34路数据中选择其中1路输

出。其功能表见表4-13,逻辑符号如图4-30所示。图4-29双4选1数据选择器原理图图4-30双4选1数据选择器逻辑符号表4-13双4选1数据选择器真值表由功能表可写出=0时4选1数据选择器函数表达式:

通过上式可以看出,数据选择器实际上就是一个逻辑函数的最小项输出器。当A1、A0给定后,只有与其对应的一路数据才能输出,从而实现数据选择的功能。

2.8选1数据选择器74LS151

74LS151为互补输出的8选1数据选择器,地址输入端为A2、A1、A0,按二进制译码,从8个输入数据D0~D7中选择一路输出。是选通端,低电平有效。8选1数据选择器真

值表见表4-14,逻辑符号如图4-31所示。表4-148选1数据选择器真值表图4-318选1数据选择器逻辑符号由真值表可写出8选1数据选择器逻辑函数表达式为

3.数据选择器的功能扩展

合理地利用数据选择器的选通端,可以实现数据选择器的功能扩展。

图4-32是将双4选1数据选择器扩展为8选1选择器的逻辑图。两个4选1数据选择器有8个数据输入端,但4选1数据选择器只有2位地址码输入,而8选1数据选择器需3位地址码输入,故最高位地址码输入只能借用选通端。图4-32双4选1数据选择器扩展为8选1选择器图中,A2是8选1数据选择器地址端的最高位,A0是最低位。A2控制两个4选1选择器的选通端,使两个数据选择器轮流工作。当A2=0时,片2被封锁,Y2=0,片1工作,由低两位地址A1A0来选择片1中1D0~1D3的数据输出,此时Y=Y1;当A2=1时,片1输出被封锁,Y1=0,片2工作,由低两位地址A1A0选择片2中2D0~2D3数据的输出,此时Y=Y2。图4-33所示为由4片8选1数据选择器和1片4选1数据选择器构成的32选1数据选择器电路。当高两位地址A4A3=00时,由低三位地址A2~A1选择片Ⅰ输入D0~D7中数据;A4A3=01时,由A2~A0选择片Ⅱ输入D8~D15中数据;A4A3=10时,由A2~A0选择片Ⅲ输入D16~D23中数据;A4A3=11时,由A2~A0选择片Ⅳ输入D24~D31中数据。图4-338选1扩展为32选1数据选择器电路

1.以译码器、数据选择器为核心的组合逻辑电路分析

以译码器、数据选择器为核心的组合逻辑电路的分析步骤如下:

(1)写出逻辑表达式。

(2)列出真值表。

(3)分析电路的逻辑功能。4.3单元级组合逻辑电路的分析方法

【例4-4】

分析图4-34所示电路的逻辑功能。

(1)根据双4选1数据选择器电路,写出其输出逻辑表达式为

(2)根据表达式,写出逻辑真值表如表4-15所示。图4-34例4-4逻辑电路表4-15例4-4逻辑真值表

(3)功能分析。

由真值表判断,此电路是1位全加器功能电路。A是低位的进位,B、C是两个加数,Y1为全加器的本位和S,Y2为全加器向高位的进位CO。

2.以优先编码器、超前进位加法器、数值比较器

为核心的组合逻辑电路

以优先编码器、超前进位加法器、数值比较器为核心的组合逻辑电路的分析步骤如下:

(1)列出逻辑真值表。

(2)分析电路的逻辑功能。

【例4-5】分析图4-35所示组合逻辑电路的功能。已知输入A3A2A1A0为5421BCD码。

解该电路由1片4位二进制数比较器7485和1片4位二进制数加法器7483构成,要写出表达式比较困难,可以直接根据加法器和比较器的功能,列出电路的真值表,如表4-16所示。

从真值表可见,输入A3A2A1A0是5421BCD码时,输出Y3Y2Y1Y0为8421BCD码。因此,该电路是一个5421BCD/8421BCD转换电路。图4-35例4-5逻辑电路表4-16例4-5电路真值表组合逻辑电路的设计与分析是一个相反的过程,主要是将逻辑命题的设计要求用逻辑函数来描述,再用具体的电路加以实现。设计时应按照设计的步骤逐步实现。

实现逻辑功能的方法可采用硬件逻辑方式,即采用逻辑门、中规模集成组件或专用集成电路ASIC等数字器件来实现;也可采用程序逻辑方式,即用某一种语言编写程序,使用计算机实现其逻辑功能。本节主要介绍采用小规模及中规模逻辑器件设计组合逻辑电路的方法。4.4组合逻辑电路的设计4.4.1采用小规模集成器件设计组合逻辑电路

工程上的最佳设计,通常需要用多个指标去衡量,主要考虑的问题有:

(1)电路最简,即所用的逻辑器件数目最少,器件的种类最少,且器件之间的连线最少。

(2)速度要求,应使所用门电路的级数最少,以减少延迟。

1.采用小规模集成器件设计组合逻辑电路的设计步骤

(1)根据对电路功能要求的文字描述,用真值表表示出输入与输出的逻辑关系。

(2)根据真值表写出逻辑函数表达式。

(3)根据提供的门电路,对逻辑函数表达式进行化简或相应变换。

(4)根据逻辑函数表达式画出逻辑电路图。

下面通过一些例题说明采用小规模集成器件设计组合逻辑电路的基本方法。

【例4-6】

用小规模集成器件设计一个3变量的多数表决电路。当多数人同意时,提议通过;否则,提议不通过。解根据题意,有3个输入变量,1个输出变量。设3个输入变量分别为A、B、C,输出变量为F。当输入同意时用逻辑1表示,不同意时为逻辑0;输出状态为逻辑1时表示通过,输出状态为逻辑0时表示否决。得其真值表如表4-17所示。表4-17例4-6真值表由真值表写出逻辑函数表达式为

利用公式法或卡诺图法化简,得最简与-或表达式为

F=AB+AC+BC

(4-2)

若采用与非逻辑器件实现,则可以对式(4-2)两次求反,变换成与非-与非表达式

(4-3)

根据式(4-3)画出采用与非器件组成的逻辑电路如图4-36所示。图4-36采用与非器件组成的例4-6逻辑电路若采用或非逻辑器件实现,则对式(4-2)进行代数变换,先得到或-与式:

F=AB+AC+BC=A(B+C)+BC

=(A+BC)(B+C)

=(A+B)(A+C)(B+C)

(4-4)

再对或-与式两次求反,变换成或非-或非表达式:

(4-5)

根据式(4-5)画出采用或非器件组成的逻辑电路如图4-37所示。当然采用或非器件时,也可以通过对卡诺图中0格化简来得到式(4-4)所表示的最简或与式。图4-37采用或非器件组成的例4-6逻辑电路

若采用与或非逻辑器件实现,则对式(4-5)进行代数变换,得到与或非式:

2.只有原变量输入条件下的设计

【例4-7】

在只有原变量输入,没有反变量输入条件下,用与非门实现下面的函数:

F(A,B,C,D)=∑m(4,5,6,7,8,9,10,11,12,13,14)图4-38例4-7卡诺图

解用卡诺图对函数进行化简,如图4-38所示。

化简结果为

(4-6)

两次求反,得

(4-7)

如果既有原变量输入,又有反变量输入,则5个与非门电路即可完成式(4-7)功能。

现在没有反变量输入,第一级反相器用来产生反变量,所以其逻辑电路如图4-39所示,电路为3级门电路结构。图4-39用9个与非门完成的电路图但是,图4-39所示电路不是最佳结果,如果对式(4-6)进行合并,得

(4-8)

式(4-8)对应的逻辑电路如图4-40所示,也是3级门结构,但比图4-39少了4个反相器。图4-40用5个与非门完成的电路图但图4-40仍然不是最佳结果,因为在式(4-6)中

和为化简中的多余项,现在称它为生成项,加入这些生成项后,函数值不会改变,因此,式(4-6)变为

(4-9)图4-414个与非门完成的电路图由式(4-9)画出逻辑电路如图4-41所示。可见,该电路仍然是3级门结构,只需要4个与非门,显然是实现该函数的最佳结果。

可以看出,在没有反变量输入的条件下,组合电路的结构为3级门结构。其中第1级(即输入级)与非门器件的多少,取决于所有乘积项所包含尾部因子种类的多少。尾部因子是指乘积项中带非号部分的因子。第2级(即中间级)包含器件的多少,取决于乘积项的多少。

第3级为输出级。因此,为了获得最佳设计结果,应尽可能地合并乘积项,以减少第2级器件数;同时为了减少第1级的器件数,应尽可能减少尾部因子的种类。

1)用卡诺图化简逻辑函数,得最简与-或式。

(2)利用公式AB+

C=AB+

C+BC寻找所有的生成项,找到后将能进行合并的有用生成项加入到原最简式中进行乘积项合并。能进行合并的乘积项是指除尾部因子之外的

其它变量因子完全相同的乘积项。例如,

AB

和AB

,这两个乘积项除尾部因子和以外,其它变量因子AB完全相同,则可以合并为AB。根据这个原则选取有用生成项,

加入到最简式中进行乘积项合并。

(3)进行尾部因子变换,尽可能减少尾部因子种类。例如,乘积项AB

和AC

,则可以变换成AB

和AC,使原来两种尾部因子变换为一种尾部因子。

(4)两次求反,得到与非-与非表达式,并画出逻辑电路图。

3.组合逻辑电路设计中的实际问题

上面介绍了一般组合逻辑电路的设计方法,实际遇到的问题相对要复杂一些。设计过程中常见的问题有以下几点:(1)多余输入端的处理。

多余输入端的处理可分为两种情况:与逻辑时,对于TTL电路可将多余输入端接高电平、与其它输入端并接或悬空(但在干扰比较严重的场合不能悬空);对于CMOS电路的输入与逻辑只能接成高电平或输入端并接,但不能悬空。或逻辑时,无论是TTL电路,还是CMOS电路,都可将多余输入端接低电平或和其它输入端并接。

(2)电路提供的输入端少于实际需要的输入端。

当集成电路的输入端少于实际需要的输入端时,例如要实现4输入与非关系,但实际提供的集成电路只有2输入与非门,通常采用分组的方法进行解决,如图4-42所示。图4-42采用分组方法

(3)扇出问题。

在设计电路时,最终的电路可能存在一个门电路的输出需带的负载非常多,超过器件的带负载能力的问题,由于负载一般为同系列的门电路,所以常称此问题为扇出问题。通常用两种方法来解决该问题,一种是采用扇出系数大的门作为输出(称为带缓冲的门);另一种是采用分组的方法增加驱动能力,这与图4-42的工作原理类似。4.4.2采用中规模集成器件设计组合逻辑电路

由于中规模集成器件的大量出现,许多逻辑问题可以直接选用相应的中规模集成器件实现,既方便也不易出错,增加了设计的可靠性。

采用中规模集成器件实现逻辑函数时,需和所用器件的逻辑表达式相对应,所以常采用逻辑函数对比方法,即将要实现的逻辑函数表达式变换成与器件的逻辑表达式类似的形式。若函数表达式形式与器件表达式形式完全一致,则直接选用该器件;若器件的输入变量数多于函数变量数,则对器件多余输入端进行处理;若器件的输入变量数少于函数变量数,则可通过扩展等方法来实现。

实现单输出函数时,一般选用数据选择器完成;实现多输出函数时,一般选译码器和附加逻辑门完成。若逻辑函数的输出为输入信号相加,则采用全加器来实现。设计过程一般按下列步骤进行:

(1)对设计命题进行逻辑抽象,列出逻辑真值表。

(2)根据真值表写出相应的逻辑函数表达式。

(3)将逻辑函数表达式变换为适当的形式,以满足中规模集成器件的输入、输出要求。

(4)根据变换的逻辑函数表达式画出逻辑电路连接图。

1.采用数据选择器实现组合逻辑函数

将要实现的逻辑函数表达式变换成与数据选择器表达式相类似的形式。若数据选择器的地址输入变量有n位,组合逻辑函数的输入变量有m个,则比较的结果有三种情况:n=m、n<m、n>m。

1)数据选择器地址输入端数n=m(函数变量数)

具有n位地址输入的数据选择器,具有对2n个数据选择的功能。例如,n=3可以完成8路数据的选择功能。8选1数据选择器的表达式为

也可用卡诺图的形式来表示8选1数据选择器,如图4-43所示。采用8选1数据选择器,可以实现任意3输入变量的组合逻辑函数。

【例4-8】

用8选1数据选择器实现函数图4-438选1数据选择器卡诺图

解用卡诺图比较法。

首先如图4-44所示做出函数F的卡诺图,再与图4-43所示8选1数据选择器卡诺图相比较,只要将函数输入变量A、B、C作为8选1数据选择器的地址,而8选1数据选择器的各数据输入端分别为

D0=0,D1=1,D2=1,D3=1

D4=1,D5=1,D6=1,D7=0

那么,8选1数据选择器的输出即为该函数输出F。其电路图如图4-45所示。图4-44例4-8卡诺图图4-458选1数据选择器实现例4-8函数

【例4-9】

用4选1数据选择器实现逻辑函数Y=

B+A。解用函数表达式法进行比较。

将逻辑函数变换为最小项之和形式

比较可得:D0=0,D1=1,D2=1,D3=1,4选1数据选择器的输出即为该函数输出Y。例4-9的实现电路如图4-46所示。图4-46例4-9实现电路数据选择器是一个逻辑函数的最小项输出器。用它实现逻辑函数时,只需将函数变换成最小项形式,将函数的输入变量加到地址输入端(注意高低位),将逻辑函数中包含有的最小项在相应的数据输入端加逻辑1,没有包含的最小项在相应的数据输入端加逻辑0,则在数据输出端输出的就是相应的逻辑函数。

2)数据选择器地址输入端数n>m(函数变量数)

当函数输入变量较少时,只需将数据选择器的高位地址端及相应的数据输入端接地即可。

【例4-10】

用8选1数据选择器实现逻辑函数Y=

B+A

解逻辑函数变换为最小项之和形式为

比较可得:A2=0,A1=A,A0=B时,

D0=0,D1=1,D2=1,D3=0

D4=D5=D6=D7=0

实现的电路如图4-47所示。图4-47

8选1数据选择器实现例4-10电路

3)数据选择器地址输入端数n<m(函数变量数)

n个地址输入端的数据选择器,对应有2n个数据输入端。逻辑函数输入变量数若为m,则应有2m个最小项。n<m,即器件的数据输入端数目少于函数的最小项数目时,可通过扩

展法,将2n选1选择器扩展成2m

选1选择器;或通过降维法,将m变量的函数转换成为n变量的函数。

(1)扩展法。

【例4-11】

用8选1数据选择器实现4变量函数:

F(A,B,C,D)=∑m(1,5,6,7,9,11,12,13,14)解

8选1数据选择器有3个地址端、8个数据输入端,而4变量函数共有16个最小项,所以用两片8选1数据选择器扩展成16选1数据选择器来实现,如图4-48所示。图4-48扩展法实现例4-11

(2)降维法。

在一个函数的卡诺图中,函数的所有变量均为卡诺图的变量,图中每一个最小项方格都填有1、0或任意值×。一般将卡诺图的变量数称为该卡诺图的维数。如果把某个或某些

变量也作为卡诺图方格内的值,则会减少卡诺图的维数,称此图为降维卡诺图,简称降维图。

降维后被写到方格内的那些变量称为记图变量。

例如,4变量卡诺图降维成3变量、2变量卡诺图的具体做法如图4-49所示。图4-49降维图示例综合上述可归纳为:如果记图变量为a。对于原卡诺图,当a=0时,原图单元值为F,a=1时,原图单元值为G,则在新降维图对应的单元格中填入子函数F+aG。其中F和G可以为0,也可以为1,可以为某一变量,也可以为某一函数。

【例4-12】

用降维法完成例4-11,即用一片8选1数据选择器实现4变量逻辑函数:

F(A,B,C,D)=∑m(1,5,6,7,9,11,12,13,14)

解首先作出F的卡诺图。由于用8选1数据选择器实现,故只需将函数降到3变量,若以D作为记图变量,则降维过程如图4-50所示。图4-50例4-10降维过程将函数降维图与8选1数据选择器卡诺图(图4-43)比较可得A2A1A0=ABC

时,

D0=D,D1=0,D2=D,D3=1,D4=D,

D5=D,D6=1,D7=

画出逻辑电路图如图4-51所示。图4-51用一片8选1数据选择器实现例4-12

2.用译码器设计组合逻辑函数

一个n变量的完全译码器的输出包含了n变量函数的全部最小项。当译码器的使能端有效时,每个输出(低电平有效)对应相应的最小项的非,即。因此,只要将函数的输入变量加至译码器的地址输入端,并在输出端辅以门电路,便可以实现逻辑函数。

【例4-13】

利用3—8线译码器设计一个多输出的组合逻辑电路。输出的逻辑函数式为

解①写出函数的最小项之和形式为

②化为与非-与非式为

③画逻辑电路如图4-52所示。图4-52例4-13译码器实现电路

【例4-14】

用译码器设计两个1位二进制数的全加功能。

解由表4-4全加器真值表可得

由3—8线译码器实现全加功能的电路如图4-53所示。图4-53用3—8线译码器组成全加器图4-548421BCD码转换成余3BCD码电路

3.全加器的应用

【例4-15】

设计将8421BCD码转换成余3BCD码的码制转换电路。

解由于余3BCD码是在8421BCD码基础上加上恒定常数3=(0011)2得来的,因此,可采用4位全加器实现。8421BCD码DCBA送入一组数据输入端,另一组数据输入端接上恒

定常数(0011)2,输出F3~F0

即为余3BCD码,如图4-54所示,即实现了该码制的转换。

【例4-16】试用4位超前进位加法器74LS283构成4位减法器。

解设被减数为A3A2A1A0,减数为B3B2B1B0。由二进制运算法则可知,A3A2A1A0减去B3B2B1B0等于A3A2A1A0加上B3B2B1B0的补码。而补码等于反码加1。故B3B2B1B0的补码

可以先利用非门求B3B2B1B0的反码,再利用低位进位输入端CI接1实现B3B2B1B0的反码加1。

实现电路如图4-55所示。图4-55超前进位加法器构成减法器

【例4-17】

用74LS283构成1位8421BCD码加法器。解

74283是4位二进制加法器,其进位规则为“逢十六进一”,所以不管输入什么数,74283都会将其视为二进制数进行加法运算。而十进制数加法的进位规则为“逢十进一”,这样就造成了在加法运算时,它们之间的进位差6。也就是说,当十进制数需发生进位时,8421BCD码的4位二进制数还差6才能使第4位发生进位。反之,如果BCD码产生进位,而本位结果比十进制数也差6。因此用74283实现BCD加法时,必须解决进位规则不同带来的问题,对运算结果进行加6修正。由于两个1位十进制数相加时,被加数A和加数B的取值范围是0~9,其和的最大值是9+9=18。可知,当十进制数小于等于9,即二进制数小于等于(1001)2时,二进制码与BCD码相同;当十进制数大于等于10,即二进制数大于等于(1010)2时,BCD码比二进制码大6。因此,只要在二进制码上加(0110)2就可以把二进制码转换为8421BCD码,同时产生进位输出CO=1。因此,电路应该由三部分组成:第一部分进行加数和被加数相加;第二部分判别是否加以修正,即产生修正控制信号;第三部分完成加6修正。第一部分和第三部分分别由两个4位全加器实现。第二部分判别信号的产生,应在4位8421BCD码相加有进位信号CO产生时,或者和数在10~15的情况下产生修正控制信号F,所以F应为

即当F=1时,把(0110)2加到二进制加法器。图4-56即为用全加器构成1位8421BCD码加法器电路。图4-56用全加器构成1位8421BCD码加法器在两个二进制数之间的算术运算中,无论是加、减、乘、除,均可化作若干步相加运算进行。因此,加法器成为运算的基本单元。

4.比较器的应用

利用比较器的比较功能,可以实现一些特殊的数字电路。

【例4-18】

用4位比较器构成一个四舍五入判别电路。当输入二进制数B3B2B1B0≥(0101)2时,判别电路输出F为1,否则输出F为0。

解将输入二进制数B3B2B1B0与(0100)2进行比较。将4位比较器的P输入端接B3B2B1B0,Q输入端接(0100)2,则当输入二进制数B3B2B1B0≥(0101)2时,比较器FA>B端输出为1。因

此,可用FA>B端作为判别电路的输出F,完成四舍五入判别电路。电路连接如图4-57所示。图4-57比较器构成二进制数判别电路4.5.1组合逻辑电路中的竞争与冒险

1.竞争与冒险

组合逻辑电路中,输入信号A经过多条传输路径到达某个输出端的现象称为逻辑竞争(LogicRace),变量A称为有竞争力的变量。逻辑竞争有可能导致电路输入输出关系瞬间偏

离真值表,产生短暂的错误输出,造成逻辑功能的瞬时紊乱,经过一段过渡时间后才到达原先所期望的状态,这种现象称为逻辑电路的冒险现象(Hazard)。4.5组合逻辑电路中的竞争与冒险例如,逻辑函数F=AC+B

,当A=B=1时,F应始终为1。但由于输入信号C经过多条传输路径到达输出端,造成逻辑功能的瞬时紊乱,使F出现了短暂的错误,经过一段过渡时间后才到达原先所期望的状态,如图4-58所示。图4-58具有冒险的“与或”电路传输时延引起的险象称为逻辑险象(LogicHazard),可以通过修改逻辑设计进行消除。

多个输入信号变化时间不同步引起的险象称为功能险象(FunctionHazard),这种险象不能从逻辑上进行消除,只能通过使用使能信号或选通信号来避开。

逻辑电路的险象持续时间虽然不长,但危害却不可忽视。尤其是当组合逻辑电路的输出用来驱动时序电路时,有可能会造成严重后果。瞬间的错误输出称为毛刺(Glitch)。逻辑电

路中,有竞争不一定产生冒险,有冒险就一定有竞争。

2.险象的种类

输入信号变化过程中只出现一个毛刺的险象称为静态险象(StaticHazard),交替出现多个毛刺的险象称为动态险象(DynamicHazard)。根据毛刺极性的不同,可以把险象分为0型险象和1型险象两种类型。输出毛刺为负向脉冲的险象称为0型险象,它主要出现在与或、与非、与或非型电路中;输出毛刺为正向脉冲的险象称为1型险象,它主要出现在或与、或非型电路中。4.5.2逻辑险象的识别

1.代数识别法

当某些逻辑变量取特定值(0或1)时,若组合逻辑电路输出函数表达式为下列形式之一,则存在逻辑险象:

(1)F=A+

,存在0型险象。

(2)F=A

,存在1型险象。

此时,A是有竞争力的变量,且能够产生险象。其它具有多条传输路径的变量也是有竞争力的变量,但不会产生险象。图4-59例4-19电路图

【例4-19】

找出图4-59所示电路中有竞争力的变量,并判断是否存在险象。如存在险象,指出险象类型。

解因为C、D有两条传输路径,所以C和D是有竞争力的变量。F的输出函数表达式为

当输入变量A=B=D=1时,有

因此,该电路存在变量C产生的0型险象。D虽然是有竞争力的变量,但不会产生险象。

【例4-20】

找出图4-60(a)所示电路中有竞争力的变量,判断电路是否存在险象。如存在险象,指出险象类型,画出输出波形。图4-60例4-20电路及波形图

解因为B有两条传输路径,所以B是有竞争力的变量。F的输出函数表达式为

若输入变量A=C=0,则有

因此,该电路存在变量B引起的1型险象,其险象波形图如图4-60(b)所示。

2.卡诺图识别法

在逻辑函数的卡诺图中,函数表达式的每个积项(或和项)对应于一个卡诺圈。如果两个卡诺圈存在着相切部分,且相切部分又未被另一个卡诺圈圈住,那么实现该逻辑函数的电路必然存在险象。

【例4-21】

用卡诺图法判断函数F是否存在险象:

F的卡诺图如图4-61(a)所示。从图中可见,代表BD和A

的两个卡诺圈相切,且相切部分的“1”又未被其它卡诺圈圈住。因此,当B从0到1或从1到0变化时,F将从一个卡诺圈进入另一个卡诺圈,从而产生险象。可以看出,除了B是有竞争力的变量外,C也是有竞争力的变量,但由于代表BC和BD的两个卡诺圈未相切,故不会产生险象。图4-61例4-21的卡诺图法判断4.5.3逻辑冒险现象的消除

消除组合逻辑电路中竞争—冒险现象的常用方法有修改逻辑设计、增加选通电路和增加输出滤波等多种。

1.利用冗余项修改逻辑设计

1)代数法

对于逻辑表达式F=AB+

C,当B=C=1时,存在竞争—冒险现象。利用逻辑代数公式,可以增加冗余项BC,使F=AB+

C+BC,以消除由于A变化而引起的逻辑冒险。因为当B=1、C=1时,存在F=A+情况,由于增加了BC项,则不论A如何变化,BC项始终为1,输出始终为1,则输出不会出现逻辑冒险。修改后的逻辑电路如图4-62所示。

采用修改逻辑设计增加冗余项的方法,适用范围非常有限,它仅能改变F=AB+

C函数中,当B=1、C=1时由A的状态改变所引起的逻辑冒险。图4-62增加冗余项后的逻辑电路图

2)卡诺图法

我们知道,当逻辑函数对应的卡诺图中存在相切的圈,而相切的两个方格又没有同时被另一个圈包含,则当变量组合在相切方格之间变化时,存在竞争—冒险现象。这时,只要在卡诺图两圈相切处增加一个冗余圈,就能消除冒险。

如图4-61(b)所示,若要消除例4-21函数的险象,将卡诺图中两个相切的1用卡诺圈相圈即可。由此得函数表达式为

2.脉冲选通法(取样法)

脉冲选通法是在电路中加入一个选通脉冲P,在确定电路进入稳定状态后,才让选通信号有效,产生正确输出,否则封锁电路输出,如图4-63所示。

3.滤波法

滤波法是在门电路的输出端接上一个滤波电容,将尖峰脉冲的幅度削减至门电路的阈值电压以下,如图4-64所示。由于竞争—冒险产生的尖峰脉冲很窄,所以通常接一个大约几百皮法的小电容即可。这种方法很简单,但会使波形变坏。在对波形要求较严格时,应再加整形电路。图4-63用选通脉冲消除竞争—冒险现象图4-64用滤波电容消除竞争—冒险现象冒险现象的三种消除方法比较:

(1)利用冗余项法:只能消除逻辑冒险,而不能消除功能冒险,适用范围有限。

(2)滤波法:加滤波电容使输出信号变坏,引起波形的上升、下降时间变长,不宜在中间级使用。这是实验调试阶段采用的应急措施。

(3)取样法:加取样脉冲对逻辑冒险及功能冒险都有效。目前大多数中规模集成模块都设有使能端,可以将取样信号作用于该端,待电路稳定后

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论