1、1 1项目十二 组合逻辑电路的性能分析与设计【任务1】 用与非门设计一个能实现三人表决结果 的逻辑电路【任务2】 全加器的电路设计【任务3】 编码器与显示译码器的电路设计【任务4】 数字比较器的设计【任务5】 组合逻辑电路中的竞争与冒险小结项目十二 组合逻辑电路的性能分析与设计2 2项目十二 组合逻辑电路的性能分析与设计【任务1】 用与非门设计一个能实现 三人表决结果的逻辑电路相关知识在数字系统中,根据逻辑功能和电路结构特点的不同,常把数字电路分为两大类,即组合逻辑电路和时序逻辑电路。图12.1是组合逻辑电路的一般框图。其输出与输入之间的逻辑函数关系可表示为3 3项目十二 组合逻辑电路的性能分
2、析与设计图12.1 组合逻辑电路的一般框图4 4项目十二 组合逻辑电路的性能分析与设计12.1.1 组合逻辑电路的分析方法1. 分析步骤(1) 根据给定的逻辑图,写出各输出端的逻辑表达式;(2) 对表达式进行逻辑化简或变换,求最简式;(3) 列出真值表;(4) 根据真值表或逻辑表达式确定其逻辑功能。5 5项目十二 组合逻辑电路的性能分析与设计2. 分析举例试分析图12.2所示电路的逻辑功能。6 6项目十二 组合逻辑电路的性能分析与设计图12.2 逻辑电路示例7 7项目十二 组合逻辑电路的性能分析与设计(1) 写出逻辑表达式: (2) 进行逻辑变换和化简: (3) 该逻辑关系简单,不必列真值表。
3、(4) 由逻辑表达式可确定该逻辑电路实现的是异或功能。8 8项目十二 组合逻辑电路的性能分析与设计12.1.2 组合逻辑电路的设计方法1. 设计步骤(1) 分析事件的因果关系,确定输入变量和输出变量。通常把引起事件的原因定为输入变量,而把事件的结果作为输出变量,再根据给定事件的因果关系列出真值表。(2) 由真值表写出逻辑表达式。(3) 将逻辑函数化简或变换成适当形式。(4) 根据化简或变换后的逻辑表达式画出逻辑电路图。9 9项目十二 组合逻辑电路的性能分析与设计图12.3 组合逻辑电路设计流程10 10项目十二 组合逻辑电路的性能分析与设计2. 设计举例试设计一个能实现三人表决结果的逻辑电路,
4、要求用与非门实现。(1) 分析命题,进行逻辑抽象。参加表决的三人,可直接作为输入变量,用A、B、C表示;表决结果作为输出,用F表示。其因果关系可用真值表对应地表示出来,如表12-1所示。11 11项目十二 组合逻辑电路的性能分析与设计12 12项目十二 组合逻辑电路的性能分析与设计(2) 由真值表写出逻辑表达式: (3) 利用卡诺图化简(如图12.4所示): (4) 由逻辑表达式,画出逻辑电路(如图12.5所示)。13 13项目十二 组合逻辑电路的性能分析与设计图12.4 卡诺图 14 14项目十二 组合逻辑电路的性能分析与设计图12.5 三人表决器逻辑电路 15 15项目十二 组合逻辑电路的
5、性能分析与设计【任务2】 全加器的电路设计相关知识半加器和全加器是实现一位二进制数相加的组合逻辑电路,它们是算术运算电路中的基本单元,更是计算机中不可缺少的组成部分,应用十分广泛。16 16项目十二 组合逻辑电路的性能分析与设计1. 半加器两个一位二进制数相加,只考虑两个加数本身,不考虑低位进位数的相加运算叫做半加,实现半加运算的电路称为半加器。半加器的真值表如表12-2所示。其中,Ai 、Bi表示两个加数,Si表示半加和,Ci表示向高位的进位。17 17项目十二 组合逻辑电路的性能分析与设计18 18项目十二 组合逻辑电路的性能分析与设计由表12-2可求得逻辑表达式为 由上述逻辑表达式可以得
6、到半加器逻辑电路图和逻辑符号图,如图12.6所示。19 19项目十二 组合逻辑电路的性能分析与设计图12.6 半加器2020项目十二 组合逻辑电路的性能分析与设计2. 全加器实际在进行二进制数加法时,多数情况下,两个加数都不会是一位,因而不考虑低位进位的半加器是不能解决问题的。而全加器能进行两个同位的加数和来自低位的进位三者相加,并根据求和结果给出该位的进位信号。根据全加器的功能列出真值表,如表12-3所示。 由真值表12-3可作出Si、Ci的卡诺图,如图12.7所示。21 21项目十二 组合逻辑电路的性能分析与设计2222项目十二 组合逻辑电路的性能分析与设计图12.7 卡诺图2323项目十
7、二 组合逻辑电路的性能分析与设计求出逻辑表达式为 由上述Si 、Ci的逻辑表达式可画出全加器逻辑电路图和逻辑符号图,如图12.8所示。2424项目十二 组合逻辑电路的性能分析与设计图12.8 全加器2525项目十二 组合逻辑电路的性能分析与设计3. 逐位进位加法器在弄清楚一位全加器的组成和工作原理之后,就可以讨论多位二进制数相加的问题。实现多位数相加的电路很多,并行相加逐位进位加法器就是其中的一种。现以两个四位二进制数相加作为例子,简要作一介绍。图12.9所示由4个全加器组成。 2626项目十二 组合逻辑电路的性能分析与设计图12.9 四位并行相加串行进位全加器2727项目十二 组合逻辑电路的
8、性能分析与设计【任务3】 编码器与显示译码器的电路设计相关知识12.3.1 编码器与译码器1. 编码器1) 编码的概念一般来说,用文字、符号或者数码表示特定对象的过程称为编码。人们在日常生活中就经常遇到编码问题。例如,电话号码、开运动会给运动员编号等都是编码,它们是用十进制数来表示的。2828项目十二 组合逻辑电路的性能分析与设计 2) 二进制编码器用n位二进制代码表示2n个信号的编码电路,叫做二进制编码器。 试设计一个编码器,将Y0Y7等8个信号编成二进制代码。(1) 分析题意。输入信号(被编码的对象)共有N=8个,即Y0Y7。根据N=2n=8可知,输出是一组n=3的二进制代码,用A、B、C
9、来表示。设计框图如图12.10所示。2929项目十二 组合逻辑电路的性能分析与设计图12.10 框图3030项目十二 组合逻辑电路的性能分析与设计(2) 列真值表。对输入信号进行编码,任一输入信号分别对应一个编码。在制定编码的时候,应该使编码顺序有一定的规律可循,这样不仅便于记忆,同时也有利于编码器的连接,如表12-4所示。 31 31项目十二 组合逻辑电路的性能分析与设计3232项目十二 组合逻辑电路的性能分析与设计(3) 写出逻辑表达式。由编码表12-4直接写出输出变量A、B、C的函数表达式,并化成与非门形式:3333项目十二 组合逻辑电路的性能分析与设计必须指出,在真值(编码)表12-4
10、中,Y0项实际上是Y7Y6Y0=00000001的情况,其余Y7、Y6、Y5 、Y4、Y3、Y2、Y1情况类推。以输出C为例,C应为将上式整理、化简后得C=Y4+Y5+Y6+Y7由于编码器的特殊性,在分析设计时,可以从真值表中直接写出A、B、C的最简函数表达式。3434项目十二 组合逻辑电路的性能分析与设计(4) 画逻辑电路图,如图12.11所示。在本例中,编码方案不同,其逻辑电路图也不同。很明显,输出A、B、C只与当前输入Y0 Y7有关,所以是组合逻辑电路。虽然输入变量Y0没用上,但在当Y1 Y7全为0(无输入)时,即表示Y0等于1(有输入)的情况,Y0隐含在其中。3535项目十二 组合逻辑
11、电路的性能分析与设计图12.11 逻辑电路3636项目十二 组合逻辑电路的性能分析与设计3) 二十进制编码器 将十进制数0 9十个数字编成二进制代码的电路,叫做二十进制编码器。输入是09十个数字,输出是一组二进制代码二十进制码,简称BCD码。根据2nN=10,常取n=4。四位二进制代码共有16种组合(状态),只能用其中任意十种状态表示09十个输入信号,编码方案很多。二十进制编码器和二进制编码器的工作原理和设计过程是相同的。现以最常用的8421BCD码为例作简要说明。3737项目十二 组合逻辑电路的性能分析与设计8421BCD码的编码表如表12-5所示,由表可得3838项目十二 组合逻辑电路的性
12、能分析与设计3939项目十二 组合逻辑电路的性能分析与设计图12.12 逻辑电路4040项目十二 组合逻辑电路的性能分析与设计2. 译码器1) 译码的概念译码是编码的逆过程,是将每一个代码的信息“翻译”出来,即将每一个代码译为一个特定的输出信号。能完成这种功能的电路称为译码器。译码器种类很多,但可归纳为二进制译码器、二十进制译码器和显示译码器。41 41项目十二 组合逻辑电路的性能分析与设计2) 二进制译码器图12.13是二进制译码器的一般原理图,它具有n个输入端、2n个输出端和一个使能输入端。在使能输入端为有效电平时,对应每一组输入代码,只有其中一个输出端为有效电平,其余输出端则为相反电平。
13、4242项目十二 组合逻辑电路的性能分析与设计图12.13 二进制译码器的一般原理图 4343项目十二 组合逻辑电路的性能分析与设计下面首先分析由门电路组成的译码电路,以便熟悉译码器的工作原理和电路结构。二输入量的二进制译码器逻辑图如图12.14所示。A1、A0为二进制代码输入端, 为译码器的输出端, 是低电平有效的选通端。4444项目十二 组合逻辑电路的性能分析与设计图12.14 2线4线译码器逻辑图4545项目十二 组合逻辑电路的性能分析与设计由图12.14可以写出译码器的输出表达式:4646项目十二 组合逻辑电路的性能分析与设计4747项目十二 组合逻辑电路的性能分析与设计图12.15
14、74LS138译码器引脚图与逻辑图4848项目十二 组合逻辑电路的性能分析与设计4949项目十二 组合逻辑电路的性能分析与设计3) 二十进制译码器8421BCD码是最常用的二十进制码,对应于09的十进制数由四位二进制码00001001表示。因此,这种译码器应有4个输入端、10个输出端。若译码结果为低电平有效,则输入一组二进制码,对应的一个输出端为0,其余为1,这样就表示翻译了二进制码所对应的十进制数。5050项目十二 组合逻辑电路的性能分析与设计图12.16 二十进制译码器的一般原理图51 51项目十二 组合逻辑电路的性能分析与设计5252项目十二 组合逻辑电路的性能分析与设计图12.17 二
15、十进制译码器的逻辑电路图5353项目十二 组合逻辑电路的性能分析与设计4) 显示译码器在数字系统中,经常需要将数字、文字和符号的二进制编码翻译成人们习惯的形式,并直观地显示出来,以便查看。因此,数字显示电路是数字系统中不可缺少的部分。数字显示电路通常由译码器、驱动器和显示器组成,如图12.18所示。5454项目十二 组合逻辑电路的性能分析与设计图12.18 数字显示电路的组成5555项目十二 组合逻辑电路的性能分析与设计(1) 显示器件。显示器是用来直观显示数字、文字和符号的器件。数字显示器种类很多,按发光材料的不同可分为荧光管显示器、半导体发光二极管显示器(LED)和液晶显示器(LCD)等;
16、按显示方式不同可分为字形重叠式、分段式、点阵式等。5656项目十二 组合逻辑电路的性能分析与设计图12.19 七段半导体发光二极管显示器示意图5757项目十二 组合逻辑电路的性能分析与设计(2) 显示译码器。这里用驱动七段发光二极管的二十进制译码器作为例子来说明显示译码器的工作原理和设计过程。试设计一个驱动七段发光二极管的显示译码器,其输入是8421BCD码。 分析要求。画出设计框图及字形,如图12.20所示。 列真值表。根据8421BCD码对应的十进制数,要求七段显示字段组合,如表12-9所示。在该表中,没有列出的六种状态1010、1011、1100、1101、1110、1111为无效状态。
17、5858项目十二 组合逻辑电路的性能分析与设计图12.20 设计框图及字形5959项目十二 组合逻辑电路的性能分析与设计6060项目十二 组合逻辑电路的性能分析与设计 进行化简。用卡诺图法化简,如图12.21所示。无效状态作约束条件处理,得出最简表达式如下:61 61项目十二 组合逻辑电路的性能分析与设计图12.21 卡诺图6262项目十二 组合逻辑电路的性能分析与设计 画逻辑电路图,如图12.22所示。图12.22 逻辑图6363项目十二 组合逻辑电路的性能分析与设计12.3.2 数据选择器与数据分配器1. 数据选择器1) 数据选择器的功能与电路数据选择器(简称MUX)又称多路开关,它的功能
18、是根据地址控制信号,从多个数据输入通道中选择其中的某一通道的数据传送至输出端。数据选择器芯片种类很多,常用的有2选1,如74LS158;4选1,如74LS153;8选1,如74LS151;16选1,如74LS150等。6464项目十二 组合逻辑电路的性能分析与设计图12.23所示是一个4选1数据选择器原理图。A0、A1为地址控制输入端,D0D3为4个数据输入端。此外,为了对选择器工作与否进行控制和扩展功能的需要,设置了附加使能控制端。当时,选择器工作,当时,选择器输入的数据被封锁,输出为0。其输出函数的逻辑式为 表12-10为4选1数据选择器真值表。6565项目十二 组合逻辑电路的性能分析与设
19、计图12.23 4选1数据选择器原理图 6666项目十二 组合逻辑电路的性能分析与设计6767项目十二 组合逻辑电路的性能分析与设计2) 数据选择器的应用(1) 数据传输。多位数据并行输入转换成串行输出,如图12.24所示。8选1数据选择器74LS151,有八位并行输入数据D0D7,当地址输入A2A0的二进制数码依次由000递增至111,其最小项m0逐次变到m7时,8个通道的并行数据便依次传送到输出端,转换成串行数据。6868项目十二 组合逻辑电路的性能分析与设计图12.24 数据并行输入转换为串行输出6969项目十二 组合逻辑电路的性能分析与设计(2) 序列码发生器。如图12.25所示,在数
20、据选择器的数据输入端按照需要的序列码10110011的顺序置上高低电平,地址输入A2A0重复000111,则序列码10110011可连续不断重复发生。7070项目十二 组合逻辑电路的性能分析与设计图12.25 序列码发生器71 71项目十二 组合逻辑电路的性能分析与设计(3) 数据选择器组成函数发生器。从数据选择器的输出表达式可知,它基本上与逻辑函数的最小项与或表达式是一致的,只是多了一个因子Di 。当Di =1时,与之对应的最小项mi将包含在Y的函数式中;当Di=0时,与之对应的最小项将包含在Y的反函数中。 7272项目十二 组合逻辑电路的性能分析与设计所以,对于一个组合函数,可以根据它的最
21、小项表达式借助MUX来实现它,方法如下: 将给定函数化为最小项与或表达式; 以最小项因子作MUX的地址输入端,并由此确定MUX的规模; 将与或函数式中已存在的最小项mi相对应的数据输入端Di赋值为1,将与或函数式不存在的最小项相对应的数据输入端赋值为0。7373项目十二 组合逻辑电路的性能分析与设计【例12.1】 试用8选1 MUX产生函数解 将8选1 MUX的地址控制端A2设为0(A2=0),而设函数的变量A=A1,B=A0。 将函数变换成Y1(A2,A,B)形式:7474项目十二 组合逻辑电路的性能分析与设计 8选1 MUX的逻辑式为 为使Y=Y1(A2,A,B),需使各对应项相等,即 画
22、出连接图,如图12.26所示。7575项目十二 组合逻辑电路的性能分析与设计7676项目十二 组合逻辑电路的性能分析与设计2. 数据分配器数据分配器是数据选择器操作过程的逆过程。它能根据地址输入端信号的不同来控制数据D送至所指定的输出端。它有一个数据输入端,n个地址控制端和2n个输出端。故它可看做有使能端译码器的特例应用。7777项目十二 组合逻辑电路的性能分析与设计图12.27 四路数据分配器7878项目十二 组合逻辑电路的性能分析与设计根据图12.27(a)可写出各输出端的逻辑表达式:7979项目十二 组合逻辑电路的性能分析与设计8080项目十二 组合逻辑电路的性能分析与设计具有使能端的二
23、进制译码器可以完成数据分配器的功能。例如,将2线4线译码器74LS139(1/2)的使能端作为数据分配器的数据输入端,而公共译码输入端A1、A0作为地址输入端,作为数据输出端,即一个四路数据分配器,如图12.28所示。81 81项目十二 组合逻辑电路的性能分析与设计图12.28 2线4线译码器用作数据分配器8282项目十二 组合逻辑电路的性能分析与设计【任务4】 数字比较器的设计相关知识数字比较器就是对两数A、B进行比较,以判断其大小的逻辑电路。比较结果有AB、 AB,那么L1=1,L2=L3=0。若A和B的关系是AB 或A=B,则分别只有L2或L3为1。8383项目十二 组合逻辑电路的性能分
24、析与设计图12.29 数字比较器一般逻辑示意图8484项目十二 组合逻辑电路的性能分析与设计1. 一位数字比较器设计两个一位二进制数A和B相比较,其真值表如表12-12所示。由真值表可写出各输出的逻辑表达式:8585项目十二 组合逻辑电路的性能分析与设计8686项目十二 组合逻辑电路的性能分析与设计图12.30 一位数字比较器的逻辑电路图 8787项目十二 组合逻辑电路的性能分析与设计2. 多位数字比较器多位二进制数的比较,是从高位到低位逐位进行的,其原则如下:(1) 先从高位比起,高位大的数值一定大,高位小的数值一定小;(2) 若高位相等,则需再比低位,最终比较结果由低位数值情况决定。按此原
25、则,也可以设计出多位数字比较器。8888项目十二 组合逻辑电路的性能分析与设计3. 数字比较器的位数扩展数字比较器的位数扩展方式有串联和并联两种。图12.31表示由两个四位数字比较器串联而成为一个八位数字比较器。 8989项目十二 组合逻辑电路的性能分析与设计图12.31 串联方式扩展数字比较器的位数9090项目十二 组合逻辑电路的性能分析与设计【任务5】 组合逻辑电路中的竞争与冒险相关知识在前面讨论电路的逻辑关系时,都是考虑电路在稳态下的工作情况,即没有考虑门电路的延迟时间对电路产生的影响。实际上,从信号输入到稳定输出需要一定的时间。由于从输入到输出的过程中,不同通路上门的级数不同,或者门电
26、路平均延迟时间的差异,使信号从输入经不同通路传输到输出级的时间不同。由于这个原因,可能会使逻辑电路产生错误输出。通常把这种现象称为竞争冒险。91 91项目十二 组合逻辑电路的性能分析与设计1. 产生竞争冒险的原因每个门电路都具有传输时间。当输入信号的状态突然改变时,输出信号要延迟一段时间才改变,而且状态变化时,还附加了上升、下降边沿。在组合电路中,某个输入变量通过两条或两条以上途径传到输出门的输入端。由于每条途径的传输延迟时间不同,信号达到输出门的时间就有先有后,信号就会产生“竞争”。 9292项目十二 组合逻辑电路的性能分析与设计图12.32 因竞争冒险而产生干扰脉冲9393项目十二 组合逻
27、辑电路的性能分析与设计图12.33 将G4门换成或非门产生的干扰脉冲9494项目十二 组合逻辑电路的性能分析与设计2. 竞争冒险的判断(1) 代数法判断:逻辑表达式中,某个变量以原变量和反变量出现,就具备了竞争条件。去掉其他变量,留下具有竞争能力的变量,并得如下表达式,就产生冒险。9595项目十二 组合逻辑电路的性能分析与设计【例12.2】 判断F=(A+C)(A+B)(B+C)是否存在冒险。解 分析F表达式中各种状态。当A=0,B=0时,F=CC,出现“1”冒险; A=0,B=1时,F=C;A=1,B=0时,F=0;A=1,B=1时,F=1。当B=0,C=0时,F=AA,出现“1”冒险; B
28、=0,C=1时,F=0;B=1,C=0时,F=A;B=1,C=1时,F=1。可见,该逻辑函数将出现“1”冒险。(2) 用实验的方法判断:在电路输入端加入所有可能发生状态变化的波形,观察输出端是否有尖峰脉冲,这个方法比较直观可靠。9696项目十二 组合逻辑电路的性能分析与设计(3) 使用计算机辅助分析手段判断:通过在计算机上运行数字电路的模拟程序,能够迅速查出电路是否由于竞争冒险而输出尖峰脉冲。目前可供选用的这类程序已有很多。(4) 用卡诺图法判断:当描述电路的逻辑函数为与或表达式时,采用卡诺图来判断冒险更加直观、方便。其具体方法是,首先作出函数卡诺图,并画出和逻辑表达式中各“与”项对应的卡诺圈
29、,然后观察卡诺图,若发现某两个卡诺圈存在“相切”关系,则该电路可能产生冒险。9797项目十二 组合逻辑电路的性能分析与设计【例12.3】 已知某逻辑电路对应的逻辑表达式为F=AB+AC,试判断该电路是否可能产生冒险。解 作出给定函数F的卡诺图,并画出逻辑表达式中各“与”项对应的卡诺圈,如图12.34所示。由图可知,两卡诺圈相切,说明相应电路可能产生冒险。9898项目十二 组合逻辑电路的性能分析与设计图12.34 卡诺图9999项目十二 组合逻辑电路的性能分析与设计3. 消除竞争冒险的方法(1) 引入封锁脉冲:(2) 引入选通脉冲:(3) 接滤波电容: (4) 修改逻辑设计。 代数法。10010
30、0项目十二 组合逻辑电路的性能分析与设计【例12.4】 逻辑函数F=AB+AC,在B=C=1时,产生冒险现象。解 因为AB+AC=AB+AC+BC,式中加入了多余项BC,就可消除冒险现象。当B=0,C=0时,F=0;当B=0,C=1时,F=A;当B=1,C=0时,F=A;当B=1,C=1时,F=1。可见不存在A+A形式,是由于加入了BC项,消除了冒险。 卡诺图法。101101项目十二 组合逻辑电路的性能分析与设计图12.35 加多余卡诺圈的卡诺图102102项目十二 组合逻辑电路的性能分析与设计小 结组合逻辑电路由门电路组成,它的特点是输出仅取决于当前的输入,而与以前的状态无关,即组合逻辑电路
31、无记忆功能。组合逻辑电路的分析是根据已知的逻辑电路,找出输出与输入信号间的逻辑关系,确定电路的逻辑功能。其步骤为: 写出逻辑函数表达式; 化简和变换表达式; 列出真值表; 确定电路逻辑功能。103103项目十二 组合逻辑电路的性能分析与设计组合逻辑电路的设计是分析的逆过程,其任务是根据需要设计一个符合逻辑功能的最佳逻辑电路。设计的原则是使用集成芯片的品种型号最少,个数最少,芯片之间的连接最少。设计的步骤为: 根据逻辑关系设置变量及状态; 列出真值表; 写出逻辑函数表达式(或填写卡诺图); 化简、变换表达式; 画出逻辑电路图。104104项目十二 组合逻辑电路的性能分析与设计某些具有特定逻辑功能的组合电路常设计成标准化电路,制造成中小规模集成电路产品,这些逻辑电路种类很多,应用也很广泛,常见的有编码器、译码器;数据选择器、数据分配器;加法器和比较器等,它们除了具有基本功能外,还可以用来设计组合逻辑电路,如用数据选择器设计多输入、单输出的逻辑函数,用二进制译码器设计多输入、多输出的逻辑函数等。