1、第三章 组合逻辑电路,概述,一个数字系统通常包含有许多的数字逻辑电路。根据逻辑功能的特点不同,通常分为组合逻辑电路和时序逻辑电路。所谓组合逻辑电路就是任意时刻的输出稳定状态仅仅取决于该时刻的输入信号,而与输入信号作用前电路所处的状态无关。,第一节 组合逻辑电路的分析与设计,一、组合逻辑电路的分析,组合逻辑电路的分析可分为以下几步:,1. 分别用代号标出每一级的输出端;,2. 根据逻辑关系写出每一级输出端对应的逻辑关系表达式;并一级一级向下写,直至写出最终输出端的表达式,具体方法:由输入端逐级向后递推,写出每个门输出对应于输入的逻辑关系式,最后一定能推出最终输出对应于输入的逻辑关系式。,3. 列
2、出最初输入状态与最终输出状态输出的真值表(注意:输入、输出变量的排列顺序可能会影响其结果的分析,一般按ABC或F3F2F1的顺序排列);,4. 根据真值表或表达式分析出逻辑电路的功能。,逻辑图,逻辑表达式,1,1,最简与或表达式,化简,2,2,从输入到输出逐级写出,最简与或表达式,3,真值表,3,4,电路的逻辑功能,当输入A、B、C中有2个或3个为1时,输出Y为1,否则输出Y为0。所以这个电路实际上是一种3人表决用的组合电路:只要有2票或3票同意,表决就通过。,4,逻辑图,逻辑表达式,例:,最简与或表达式,真值表,用与非门实现,电路的输出Y只与输入A、B有关,而与输入C无关。Y和A、B的逻辑关
3、系为:A、B中只要一个为0,Y=1;A、B全为1时,Y=0。所以Y和A、B的逻辑关系为与非运算的关系。,电路的逻辑功能,二、组合逻辑电路的设计,组合逻辑电路的设计是根据某一具体逻辑问题的要求,得到实现这一逻辑功能的“最优”电路。所谓“最优”的逻辑设计,往往需要综合考虑其指标。在用小规模集成电路进行逻辑设计时,追求的目标是最少逻辑门数和最少的器件种类等,以达到最稳定、最经济的指标。随着集成电路生产工艺的不断成熟,直接用中、大规模集成电路来实现给定逻辑功能的数字电路已成为目前逻辑电路设计的新思想。其“最优”设计的指标也转为追求合适的集成器件和集成块数的减少。,组合逻辑电路的一般设计方法:,组合逻辑
4、电路设计步骤:,1. 根据电路功能的文字描述,作出输入、输出变量的逻辑规定,将其输入、输出的逻辑关系用真值表的形式列出;,2. 通过逻辑化间,由真值表写出最简的逻辑函数表达式,真值表中输入变量的组合共有2n种,正好与最小项一一对应。因此,可以用真值表中输出等于1时所对应的最小项之和来表示输出的逻辑函数表达式。,3. 对输出的逻辑函数化简;,可以用代数法或卡诺图法将所得的函数化为最简与或表达式。,4. 作出逻辑电路图;,化简后的逻辑函数表达式是最简的“与或”形式,一般可用二级与非门来实现此逻辑。(因为与非/与非等于与或),5.最后一步进行实物安装调试,这是最终验证设计是否正确的手段。,真值表,电
5、路功能描述,例1:设计一个楼上、楼下开关的控制逻辑电路来控制楼梯上的路灯,使之在上楼前,用楼下开关打开电灯,上楼后,用楼上开关关灭电灯;或者在下楼前,用楼上开关打开电灯,下楼后,用楼下开关关灭电灯。,设楼上开关为A,楼下开关为B,灯泡为Y。并设A、B闭合时为1,断开时为0;灯亮时Y为1,灯灭时Y为0。根据逻辑要求列出真值表。,1,穷举法,1,2,逻辑表达式或卡诺图,最简与或表达式,化简,3,2,已为最简与或表达式,4,逻辑变换,5,逻辑电路图,用与非门实现,用异或门实现,真值表,电路功能描述,例2:用与非门设计一个举重裁判表决电路。设举重比赛有3个裁判,一个主裁判和两个副裁判。杠铃完全举上的裁
6、决由每一个裁判按一下自己面前的按钮来确定。只有当两个或两个以上裁判判明成功,并且其中有一个为主裁判时,表明成功的灯才亮。,设主裁判为变量A,副裁判分别为B和C;表示成功与否的灯为Y,根据逻辑要求列出真值表。,1,穷举法,1,2,2,逻辑表达式,3,卡诺图,最简与或表达式,化简,4,5,逻辑变换,6,逻辑电路图,3,化简,4,1,1,1,Y=,AB,+AC,5,6,设计步骤:,根据设计要求,设定三个输入变量A、B、C:,A为1时,表示A车间工作,反之为不工作。 B为1时,表示B车间工作,反之为不工作。 C为1时,表示C车间工作,反之为不工作。 设定输出变量M和N: M为1时,表示M发电机工作,反
7、之为不工作。 N为1时,表示N发电机工作,反之为不工作。,根据设计要求,列出输入、输出关系的真值表,如图所示,由真值表写出输出M、N的逻辑表达式:,用卡诺图法化简逻辑函数,如图所示,可得M、N的最简与或表达式:,用与非门涉及此逻辑函数的逻辑图。由于:,因此,可用与非门实现此逻辑,如图所示,例4 设计一个用来判别一位8421BCD码是否大于5的电路。如果输入值大于5时,电路输出1;当输入小于等于5时,电路输出为0。,第一步:根据题意列出真值表。,由于8421BCD码每一位数是由四位二进制数组成,且其有效编码为00001001,而10101111是不可能出现的,故在真值表中当作任意项来处理。其值表
8、如下表:,第二步:根据真值表写出其化简过的与非表达式。,由卡诺图不难得到化简后的与非表达式为:,第三步:根据简化的与非表达式画出如图所示的逻辑电路图。,在设计过程中要注意考虑几个实际问题:,逻辑门输入 端数的限制,输入变量 的形式(原变 量、反变量),对电路信 号传输时 间的要求。,单输出函数 与多输出函数,第二节 输入端的限制问题(扇入问题),一、多余输入端的处理,上面介绍的是组合逻辑的一般设计方法,实际遇到的问题往往比较复杂。下面对设计过程常见的问题进行讨论。,1.多余输入端的处理,多余输入端的处理可分为两种情况加以处理:即输入端的逻辑关系是与逻辑关系还是或逻辑关系两种。,输入端为与逻辑时
9、:对于TTL电路可将多余输入端接高电平、与其它输入端并接或悬空(但在干扰比较严重的场合不能将多余输入端悬空);对于CMOS的输入与逻辑只能接成高电平或输入端相并联,但不能悬空。,输入端为或逻辑时:无论对于TTL电路,还是CMOS电路可将多余输入端接低电平、与其它输入端并接。,2. 电路提供的输入端少于实际需要的输入端,对于处理集成电路的输入端少于实际电路需要的输入端的问题,要比处理输入有多余端复杂,通常采用分组的方法进行解决。下图你应该不难看懂。,二、扇出问题,在我们设计电路时,最终的电路可能存在一个门电路的输出带的负载非常多,可能超过器件的带负载能力,由于负载一般为同系列的门电路,故这问题通
10、常叫做扇出问题。,解决这种问题通过可通过两种方法来解决:一种是采用扇出系数大的门作为输出(通过在器件手册称为带缓冲的门),一般这种门的扇出可达20,这一般是可以满足要求的。另一种方法可采用分组的方法增加驱动能力,这与上图的工作原理类似。,1、产生竞争冒险的原因,在组合电路中,当输入信号的状态改变时,输出端可能会出现不正常的干扰信号,使电路产生错误的输出,这种现象称为竞争冒险。,产生竞争冒险的原因:主要是门电路的延迟时间产生的。,干扰信号,第三节 组合电路中的竞争冒险,我们在前面设计和分析电路时,没有考虑器件的延时问题,而实际的器件是存在延时的,竟争冒险现象就是由于器件的延时造成的,没有延时的话
11、其将没有竟争冒险。 上图中是在或与输入端的两个输入的变量正好相反,其实在与输入端的两个变量正好相反并且有延时的话同样会出现竟争冒险的现象。,结论:门电路中有两个输入信号同时向相反的电平跳变的现象叫做竞争。,竟争的结果,如果使稳态输出的逻辑关系受到短暂的破坏,出现不应有的尖脉冲,这种现象叫做冒险。,发生冒险的竞争叫做临界竞争;不发生冒险的竞争叫做非临界竞争。当发生临界时,若输出端出现负向干扰脉冲,叫做偏1冒险(或0型冒险);若输出端出现正向干扰脉冲,叫做偏0冒险(或1型冒险)。偏0冒险和偏1冒险都是电路输出在稳态情况下的冒险,所以统称为静态冒险。,2 组合电路竞争冒险的判断,代数法,判断有没有竟
12、争冒险现象,只要判断任意一个与输入、或输入的变量是否出现两个输入变量相反、或两个输入变量相同但经过的路径不同,则可能存在竟争冒险的现象,这可以很方便用代数法加以判断。,一个输入变量:,多个输入变量:总有竞争冒险现象,Y=AB+C,卡诺图法,(偏1冒险),(偏0冒险),除上面的判断方法还可以用卡诺图进行判断,下图为前面卡诺图化简的一个例子,在这两种圈法中很显然其第二种更简单,第一种不是最简,但在竟争冒险的判断中,第一种不存在,而第二种却存在竟争冒险现象。利用卡诺图法进行判断的规则:观察卡诺图中的是否有两个圈相切但不相交,如有则存在竟争冒险现象。很显然其第二图是只相切但不相交,而第一个图是全部相交
13、的,故其没有竟争冒险现象。,(a),(b), 表格法,冒险由竞争引起。所以,一个组合电路是否产生冒险可以逐级列出真值表(为了排除功能竟争,在可能的情况下,输入变量的取值按循环码排列),查出每个门的输入是否有两个中间变量同时反向变化,产生竞争,如果有就存在静态冒险。如果某个们的中间变量,一个存在静态冒险,另一个又有跳变(两中间变量竞争),该门的输出就有动态竞争。,解:函数的逻辑电路如图所示。,2,3,4,5,L,真值表,由真值表可以看出,当B=C=0,A由0变为1时,中间变量Y、Z同时反向变化有竞争,故门4输出L存在偏0冒险。又由门5输入的中间变量X有跳变,所以电路输出F存在动态冒险。,小结:代
14、数法是最基本的方法,但不只观且繁琐。卡诺图法是代数法的直观表现,是一种比较方便的方法。表格法则便于计算机来判断。,3 消除冒险的方法,消除逻辑竞争引起的冒险,常用的方法有,一、引入封锁脉冲,在输入信号变化期间,引入一个与冒险脉冲(干扰脉冲)同步的封锁脉冲,把产生冒险的门封锁。,相与,二、引入选通脉冲,在产生冒险的门电路的输入端,引入一个选通脉冲,其作用是,封锁过渡状态,只有电路达到新的稳态之后才把门打开。所以选通脉冲是一种较宽的封锁脉冲,三、接入滤波电容,干扰脉冲很窄,可以在电路的输出端并接一个容量不大的电容,滤掉冒险脉冲,四、增加冗余项,所谓增加冗余项,就是在卡诺图上,加上一个与两相切卡诺图
15、相交的一个圈(一项),破坏相切性。加上此项(此圈)后,函数式再不可能化成Y=A+A或Y=AA的形式,从而消除了冒险。,当B=C=1时:,此法也称修改逻辑设计,本节小结,组合电路的特点:在任何时刻的输出只取决于当时的输入信号,而与电路原来所处的状态无关。实现组合电路的基础是逻辑代数和门电路。组合电路的逻辑功能可用逻辑图、真值表、逻辑表达式、卡诺图和波形图等5种方法来描述,它们在本质上是相通的,可以互相转换。组合电路的设计步骤:逻辑图写出逻辑表达式逻辑表达式化简列出真值表逻辑功能描述。组合电路的设计步骤:列出真值表写出逻辑表达式或画出卡诺图逻辑表达式化简和变换画出逻辑图。在许多情况下,如果用中、大
16、规模集成电路来实现组合函数,可以取得事半功倍的效果。,3.4.1 加法器实现两个二进制数相加功能的电路称为加法器。加法器有一位加法器和多位加法器之分。,1.一位加法器实现两个一位二进制数相加的电路称为一位加法器。一位加法器又分为半加器和全加器。1) 半加器 只考虑本位两个一位二进制数A和B相加,而不考虑低位进位的加法,称为半加,实现半加功能的电路称为半加器。,半加器的真值表如表310所示。表中的A和B分别表示两个相加的一位二进制数,S是本位和,Cout是本位向高位的进位。,第四节 加法器及其应用,1、半加器,3.4.1 半加器和全加器,能对两个1位二进制数进行相加而求得和及进位的逻辑电路称为半
17、加器。,2、全加器,能对两个1位二进制数进行相加并考虑低位来的进位,即相当于3个1位二进制数相加,求得和及进位的逻辑电路称为全加器。,Ai、Bi:加数, Ci-1:低位来的进位,Si:本位的和, Ci:向高位的进位。,全加器的逻辑图和逻辑符号,用与门和或门实现,用与或非门实现,再取反,得:,3.4.2.多位加法器实现两个多位二进制数相加的电路称为多位加法器。根据电路结构的不同,常见的多位加法器分为串行进位加法器和超前进位加法器。1) 串行进位加法器(行波进位加法器)n位串行进位加法器由n个一位加法器串联构成,图所示是一个四位串行进位加法器。在串行进位加法器中,采用串行运算方式,由低位至高位,每
18、一位的相加都必须等待下一位的进位。这种电路结构简单,但运算速度慢:一个n位串行进位加法器至少需要经过n个全加器的传输延迟时间才能得到可靠的运算结果。,实现多位二进制数相加的电路称为加法器。,1、串行进位加法器,3.4.2 加法器,构成:把n位全加器串联起来,低位全加器的进位输出连接到相邻的高位全加器的进位输入。,特点:进位信号是由低位向高位逐级传递的,速度不高。,2)超前进位加法器为了提高运算速度,将各进位提前并同时送到各个全加器的进位输入端,这种加法器称为超前进位加法器。其特点是运算速度快,但电路结构较复杂。两个n位二进制数An-1An-2AiA1A0和Bn-1Bn-2BiB1B0进行相加的
19、算式如下:,超前进位加法器就是利用上面表达式同时计算出各位的进位,并同时加到各个全加器的进位输入端,从而大大提高加法器的运算速度。,2、并行进位加法器(超前进位加法器),进位生成项,进位传递条件,进位表达式,和表达式,4位超前进位加法器递推公式,超前进位发生器,加法器的级连,集成二进制4位超前进位加法器,3.4.3 加法器的应用,1、8421 BCD码转换为余3码,BCD码+0011=余3码,2、二进制并行加法/减法器,3、二-十进制加法器,修正条件,本节小结,能对两个1位二进制数进行相加而求得和及进位的逻辑电路称为半加器。能对两个1位二进制数进行相加并考虑低位来的进位,即相当于3个1位二进制
20、数的相加,求得和及进位的逻辑电路称为全加器。实现多位二进制数相加的电路称为加法器。按照进位方式的不同,加法器分为串行进位加法器和超前进位加法器两种。串行进位加法器电路简单、但速度较慢,超前进位加法器速度较快、但电路复杂。加法器除用来实现两个二进制数相加外,还可用来设计代码转换电路、二进制减法器和十进制加法器等。,用来完成两个二进制数的大小比较的逻辑电路称为数值比较器,简称比较器。,3.5.1 1位数值比较器,设AB时L11;AB时L21;AB时L31。得1位数值比较器的真值表。,第五节 数值比较器及位数扩展,逻辑表达式,逻辑图,3.5.2 4位数值比较器,真值表中的输入变量包括A3与B3、A2
21、与B2、A1与B1 、A0与B0和A与B的比较结果,AB、AB和A=B。A与B是另外两个低位数,设置低位数比较结果输入端,是为了能与其它数值比较器连接,以便组成更多位数的数值比较器;3个输出信号 L1(AB)、L2(AB)、和L3(AB)分别表示本级的比较结果。,逻辑图,3.5.3 比较器的级联,集成数值比较器,串联扩展,TTL电路:最低4位的级联输入端AB、 AB和A=B 必须预先分别预置为0、0、1。,CMOS电路:各级的级联输入端AB必须预先预置为0 ,最低4位的级联输入端AB和A=B 必须预先预置为0、1。,并联扩展,本节小结,在各种数字系统尤其是在计算机中,经常需要对两个二进制数进行
22、大小判别,然后根据判别结果转向执行某种操作。用来完成两个二进制数的大小比较的逻辑电路称为数值比较器,简称比较器。在数字电路中,数值比较器的输入是要进行比较的两个二进制数,输出是比较的结果。利用集成数值比较器的级联输入端,很容易构成更多位数的数值比较器。数值比较器的扩展方式有串联和并联两种。扩展时需注意TTL电路与CMOS电路在连接方式上的区别。,用由0和1组成的二值代码表示不同的事物称为编码,实现编码功能的电路称为编码器。常见的编码器有普通编码器、优先编码器、二进制编码器、二十进制编码器等等。在普通编码器中,输入信号是相互排斥的,任一时刻都有而且只有一个输入信号出现。,第六节 编码器,1.二进
23、制普通编码器用n位二进制代码对2n个相互排斥的信号进行编码的电路,称为二进制普通编码器。三位二进制普通编码器的功能是对八个相互排斥的输入信号进行编码,它有八个输入、三个输出,因此也称为8线-3线二进制普通编码器。真值表只列出了输入I0I7可能出现的组合,其他组合都是不可能发生的,也就是约束。,3.6.1 二进制编码器,1、3位二进制编码器,输入8个互斥的信号输出3位二进制代码,真值表,三位二进制普通编码器的真值表,逻辑表达式,逻辑图,用n位二进制代码对2n个允许同时出现的信号进行编码,这些信号具有不同的优先级,多于一个信号同时出现时,只对其中优先级最高的信号进行编码,这样的编码器称为二进制优先
24、编码器。8线-3线二进制优先编码器的框图如图33所示,表32是它的真值表。在真值表中,给I0I7假定了不同的优先级,I7的优先级最高,I6次之,I0的优先级最低。真值表中的“”表示该输入信号取值无论是0还是1都无所谓,不影响电路的输出。,在优先编码器中,允许两个或两个以上的信号同时出现,所有输入信号按优先顺序排队,当有多于一个信号同时出现时,只对其中优先级最高的一个信号进行编码。用n位0、1代码对2n个信号进行编码的电路称为二进制编码器。用二进制代码对09十个十进制符号进行编码的电路称为二十进制编码器。,2、3位二进制优先编码器,真值表,设I7的优先级别最高,I6次之,依此类推,I0最低。,逻
25、辑表达式,逻辑图,8线-3线优先编码器,如果要求输出、输入均为反变量,则只要在图中的每一个输出端和输入端都加上反相器就可以了。,2、集成3位二进制优先编码器,集成3位二进制优先编码器74LS148,集成3位二进制优先编码器74LS148的真值表,输入:逻辑0(低电平)有效,输出:逻辑0(低电平)有效,集成3位二进制优先编码器74LS148的级联,16线-4线优先编码器,3.6.2 二-十进制编码器,1、8421 BCD码编码器,输入10个互斥的数码输出4位二进制代码,真值表,逻辑表达式,逻辑图,2、8421 BCD码优先编码器,真值表,逻辑表达式,逻辑图,3、集成10线-4线优先编码器,本节小
26、结,用二进制代码表示特定对象的过程称为编码;实现编码操作的电路称为编码器。编码器分二进制编码器和十进制编码器,各种译码器的工作原理类似,设计方法也相同。集成二进制编码器和集成十进制编码器均采用优先编码方案。,译码是编码的逆过程,是将二进制代码所表示的相应信号或对象“翻译”出来。具有译码功能的电路称为译码器。常见的译码器有二进制译码器、二十进制译码器和显示译码器等。,1.二进制译码器具有n个输入,2n个输出,能将输入的所有二进制代码全部翻译出来的译码器称为二进制译码器。,第七节 译码器极其应用,二进制译码器可以译出输入变量的全部状态,故又称为变量译码器。,三位二进制译码器有三个输入、八个输出,因
27、此也称为3线-8线译码器。二进制译码器假定输入的任何组合都可能出现,且每一个输出对应一个输入组合。,真值表,输入:3位二进制代码输出:8个互斥的信号,逻辑表达式,逻辑图,电路特点:与门组成的阵列,2、集成二进制译码器74LS138,A2、A1、A0为二进制译码输入端, 为译码输出端(低电平有效),G1、 、 为选通控制端。当G11、 时,译码器处于工作状态;当G10、 时,译码器处于禁止状态。,真值表,输入:自然二进制码,输出:低电平有效,3、74LS138的级联,二-十进制译码器的输入是十进制数的4位二进制编码(BCD码),分别用A3、A2、A1、A0表示;输出的是与10个十进制数字相对应的
28、10个信号,用Y9Y0表示。由于二-十进制译码器有4根输入线,10根输出线,所以又称为4线-10线译码器。,3.7.2 二-十进制译码器,1、8421 BCD码译码器,把二-十进制代码翻译成10个十进制数字信号的电路,称为二-十进制译码器。,真值表,逻辑表达式,逻辑图,将与门换成与非门,则输出为反变量,即为低电平有效。,、集成8421 BCD码译码器74LS42,3.7.3 显示译码器,1、数码显示器,在数字系统中,经常需要将数字、文字、符号的二进制代码翻译成人们习惯的形式,直观地显示出来,以便掌握和监控系统的运行情况。把二进制代码翻译出来以供显示器件显示的电路称为显示译码器。设计显示译码器时
29、,首先要了解显示器件的特性。常用的显示器件有半导体显示器件和液晶显示器件,它们都可以用TTL和CMOS电路直接驱动。显示译码器有很多种类,BCD-七段显示译码器是其中一种常用的显示译码器。,b=c=f=g=1,a=d=e=0时,c=d=e=f=g=1,a=b=0时,共阴极,2、显示译码器,真值表仅适用于共阴极LED,真值表,逻辑表达式,逻辑图,2、集成显示译码器74LS48,引脚排列图,功能表,辅助端功能,3.7.4 译码器的应用,1、用二进制译码器实现逻辑函数,画出用二进制译码器和与非门实现这些函数的接线图。,写出函数的标准与或表达式,并变换为与非-与非形式。,任一组合逻辑函数均可以写成最小
30、项之和的形式(标准与或表达式)。而二进制译码器的输出提供了其输入变量所有不同的最小项(或最小项的反),因此,可以利用译码器来实现组合逻辑函数。,【例】用74138实现逻辑函数 。,解:,实现电路如图所示。,2、用二进制译码器实现码制变换,十进制码,余3码,十进制码,2421码,3、数码显示电路的动态灭零,本节小结,把代码状态的特定含义翻译出来的过程称为译码,实现译码操作的电路称为译码器。实际上译码器就是把一种代码转换为另一种代码的电路。译码器分二进制译码器、十进制译码器及字符显示译码器,各种译码器的工作原理类似,设计方法也相同。二进制译码器能产生输入变量的全部最小项,而任一组合逻辑函数总能表示
31、成最小项之和的形式,所以,由二进制译码器加上或门即可实现任何组合逻辑函数。此外,用4线-16线译码器还可实现BCD码到十进制码的变换。,数据选择器框图及等效开关,第八节 数据选择器,一个数据选择器具有n个数据选择端,2n个数据输入端,一个数据输出端。每次在地址输入的控制下,从多路输入数据中选择一路输出,其功能类似于一个单刀多掷开关,如下图(b)。,能从多个输入的数据中选择出其中一个进行传输的电路称为数据选择器,数据选择器又称多路选择器(Multiplexer, 简称MUX),其框图如下图(a)所示。,3.8.1 4选1数据选择器,4选1数据选择器真值表,逻辑表达式,由地址码决定从路输入中选择哪
32、路输出。,常用的数据选择器有2选1、4选1、8选1、16选1等。,逻辑图,四选一数据选择器框图,数据选择器的应用很广,典型应用有以下几个方面: 作数据选择,以实现多路信号分时传送。 实现组合逻辑函数。 在数据传输时实现并串转换。 产生序列信号。,3.8.2 集成数据选择器,集成双4选1数据选择器74LS153,74LS153组成的数字电子密码锁密码验证部分电路原理图,双4选1MUX,双2线-4线译码器,六反相器,2输入四与门,MUX典型应用实例,执行开锁部分电路原理图,密码输入部分电路原理图,数字电子密码锁原理电路总图,例 74LS153数据选择器的扩展应用, 利用使能端进行扩展。下图是将双4
33、选1MUX扩展为8选1 MUX的逻辑图。其中A2是8选1MUX地址端的最高位, A0是最低位。,例如,n=2,即可用5个4选1MUX实现16选1MUX。, 树状扩展。通过MUX的级联用2n+1个m选1的MUX可以扩展为 选1的MUX。,74LS151是一个具有互补输出的八选一数据选择器,它有三个数据选择端,八个数据输入端,两个互补数据输出端,一个低电平有效的选通使能端。,74LS151的真值表,数据选择器的扩展,3.8.3 用数据选择器实现逻辑函数,基本原理,数据选择器的主要特点:,(1)具有标准与或表达式的形式。即:,(2)提供了地址变量的全部最小项。,(3)一般情况下,Di可以当作一个变量
34、处理。,因为任何组合逻辑函数总可以用最小项之和的标准形式构成。所以,利用数据选择器的输入Di来选择地址变量组成的最小项mi,可以实现任何所需的组合逻辑函数。,其中mi是由地址变量An-1、A1、A0组成的地址最小项。,比较Y和F的表达式可以看出,只要将逻辑函数的输入变量A、B、C、 加至数据选择器地址输入端,并适当选择Di的值,使F=Y,就可以用MUX实现函数F。因此,用MUX实现函数的关键在于如何确定Di的对应值。,这里的mi是由函数的输入变量A、B、C、组成的最小项。,对于n个地址输入的MUX,其表达式为:,而任何一个具有n个输入变量的逻辑函数都可以用最小项之和来表示:,用数据选择器实现逻
35、辑函数的方法有两种:比较法和图表法(真值表或卡诺图)。,比较法的一般步骤如下: (1)选择接到数据选择端的函数变量。 (2)写出数据选择器输出的逻辑表达式。 (3)将要实现的逻辑函数转换为标准与或表达式。 (4)对照数据选择器输出表达式和待实现函数的表达式,确定数据输入端的值。 (5)连接电路。,真值表法的一般步骤如下: (1)选择接到数据选择端的函数变量。 (2)画出逻辑函数和数据选择器的真值表。 (3)确定各个数据输入端的值。 (4)连接电路。,下面分三种情况进行讨论。,1) 函数变量的数目m等于数据选择器中数据选择端的数目n,在这种情况下,把变量一对一接到数据选择端,各个数据输入端依据具
36、体函数接“0”或“1”,不需要反变量输入,也不需要任何其他器件,就可以用数据选择器实现任何一个组合逻辑函数。,2)函数变量的数目m多于数据选择器中数据选择端的数目n,在这种情况下,不可能将函数的全部变量都接到数据选择器的数据选择端,有的变量要接到数据选择器的数据输入端。要实现逻辑函数,可能还必须要有反变量输入或其他门电路。,3)函数变量的数目m少于数据选择器中数据选择端的数目n,当函数变量的数目m少于数据选择器中数据选择端的数目n时,可以将变量接到数据选择器中的m个数据选择端,再依据具体函数来确定数据输入端和剩余数据选择端的值。在这种情况下,无需反变量输入,亦无需其他器件,即可以实现任何一个组
37、合逻辑函数,而且有多种实现方案。,【例1】 用74LS151八选一数据选择器实现逻辑函数,解: 首先选择接到数据选择端的函数变量。,74LS151八选一数据选择器有三个数据选择端:A2、A1、A0,函数F有A、B、C三个变量,它们可以一对一连接。连接方法有多种,现让A2接变量A,A1接变量B,A0接变量C。,写出数据选择器74LS151输出端的逻辑表达式如下:,写出逻辑函数F的标准与或表达式:,比较Y和F的表达式可以看出,当D0=0,D1=D2=D3=D4=D5=D6=1,D7=0时,Y=F。逻辑图下图所示。,【例2】用74LS151八选一数据选择器实现逻辑函数,解: 74LS151八选一数据
38、选择器有三个数据选择端A2、A1、A0,而函数F有A、B、C、D四个变量,只能将其中的三个接到数据选择器的数据选择端上。下面设计两种不同的方案。 (真值表法),方案一:让A2接变量A,A1接变量B,A0接变量C。画出如下表所示的真值表。,方案二:让A2接变量A,A1接变量B,A0接变量D。画出如下表所示的真值表。,从表中可以看出,当D0=C、D1=0、D2=C、D3=1、D4=C、D5=1、D6=C、D7=C时,Y=F。逻辑图如下图所示。,可以看出,方案一需要反变量D输入(也可以用一个非门产生),而方案二则不需要。设计实现方案时,应尽可能不用或少用反变量输入及其他门电路。,当逻辑函数的变量数m
39、大于MUX的地址输入端数n时,不能采用简单方式连接。如果从m个输入变量中选择n个直接作为MUX的地址输入,那么,多余的(m-n)个变量就要反映到MUX的数据输入Di端,即Di是多余输入变量的函数,简称余函数。因此设计的关键是如何求出函数Di。,比较上面的两图可看出,显然选择A、C、D为地址变量时电路简单,其数据输入可以不附加任何门。因此,为了在产生余函数时不附加门电路或尽量少附加门电路,通常要将各种地址选择方案进行比较,这样做是比较麻烦的。比较简单的方法是观察F的卡诺图或将F化简,从F的输入变量中选择出现比较多的输入变量加到地址输入端,这样就能简化电路。,重要说明,【例3】用74LS151八选
40、一数据选择器实现逻辑函数,解: 函数F只有A、B两个变量,将它们接到74LS151数据选择器其中的两个数据择端,接法有多种。现让A1接变量A,A0接变量B,则数据选择器输出的逻辑表达式为:,从表达式可以看出,当:,用MSI74151实现函数 的逻辑图,本节小结,数据选择器是能够从来自不同地址的多路数字信息中任意选出所需要的一路信息作为输出的组合电路,至于选择哪一路数据输出,则完全由当时的选择控制信号决定。数据选择器具有标准与或表达式的形式,提供了地址变量的全部最小项,并且一般情况下,Di可以当作一个变量处理。因为任何组合逻辑函数总可以用最小项之和的标准形式构成。所以,利用数据选择器的输入Di来
41、选择地址变量组成的最小项mi,可以实现任何所需的组合逻辑函数。用数据选择器实现组合逻辑函数的步骤:选用数据选择器确定地址变量求Di画连线图。,数据分配器的逻辑功能是将一个输入信号,根据选择信号的不同取值,传送至多个输出数据通道中的某一个。数据分配器又称为多路分配器。一个数据分配器有一个数据输入端,n个选择输入端,2n个数据输出端。,3.9.1 1路-4路数据分配器,由数据分配器的逻辑表达式中可以看出以下特点:选择输入端的各个不同最小项作为因子会出现在各个输出的表达式中。这与译码器电路的输出为地址输入的各个不同的最小项(或其反)这一特点相同。实际上,我们可以利用译码器来实现数据分配器的功能。,由
42、地址码决定将输入数据送给哪路输出。,真值表,逻辑表达式,地址变量,输入数据,逻辑图,3.9. 集成数据分配器及其应用,集成数据分配器,把二进制译码器的使能端作为数据输入端,二进制代码输入端作为地址码输入端,则带使能端的二进制译码器就是数据分配器。,由74LS138构成的1路-8路数据分配器,数据分配器的应用,数据分配器和数据选择器一起构成数据分时传送系统,本节小结,数据分配器的逻辑功能是将1个输入数据传送到多个输出端中的1个输出端,具体传送到哪一个输出端,也是由一组选择控制信号确定。数据分配器就是带选通控制端即使能端的二进制译码器。只要在使用中,把二进制译码器的选通控制端当作数据输入端,二进制
43、代码输入端当作选择控制端就可以了。数据分配器经常和数据选择器一起构成数据传送系统。其主要特点是可以用很少几根线实现多路数字信息的分时传送。,ROM的分类,掩膜ROM:不能改写。,PROM:只能改写一次。,EPROM:可以改写多次。,存储器的分类,RAM:在工作时既能从中读出(取出)信息,又能随时写入(存入)信息,但断电后所存信息消失。,ROM:在工作时只能从中读出信息,不能写入信息,且断电后其所存信息在仍能保持。,3.10 ROM只读存储器,3.10.1 ROM的结构及工作原理,1、ROM的结构,存储容量字线数位线数2nb(位),2、ROM的工作原理,44位ROM,地址译码器,存储体,存储内容
44、,A1=0A0=0,W0=1,W1=0,W2=0,W3=0,D3=1,D1=1,D0=1,D2=0,A1=0A0=1,W0=0,W1=1,W2=0,W3=0,D3=0,D1=0,D0=1,D2=1,A1=1A0=0,W0=0,W1=0,W2=1,W3=0,D3=1,D1=0,D0=0,D2=1,A1=1A0=1,W0=0,W1=0,W2=0,W3=1,D3=0,D1=1,D0=1,D2=1,ROM的简化画法,地址译码器产生了输入变量的全部最小项,存储体实现了有关最小项的或运算,与阵列固定,或阵列可编程,连接,断开,3.10.2 ROM的应用,1、用ROM实现组合逻辑函数,逻辑表达式,真值表或最
45、小项表达式,1,1,按A、B、C、D排列变量,并将Y1、Y2扩展成为4变量的逻辑函数。,2,2,选择ROM,画阵列图,2、用ROM作函数运算表,用ROM构成能实现函数yx2的运算表电路。,例,设x的取值范围为015的正整数,则对应的是4位二进制正整数,用BB3B2B1B0表示。根据yx2可算出y的最大值是152225,可以用8位二进制数YY7Y6Y5Y4Y3Y2Y1Y0表示。由此可列出YB2即yx2的真值表。,真值表,逻辑表达式,阵列图,3、用ROM作字符发生器电路,用ROM存储字符Z,3.10.3 ROM的容量扩展,EPROM芯片,正常使用时,VCC=5V,VPP=5V。编程时,VPP=25
46、V。,1、位扩展(字长的扩展),地址线及控制线分别并联,输出一个作为高8位,另一个作为低8位,用两片27256扩展成32k16位EPROM,2、字扩展(字数扩展,地址码扩展),用4片27256扩展成432k16位EPROM,本节小结,只读存储器在存入数据以后,不能用简单的方法更改,即在工作时它的存储内容是固定不变的,只能从中读出信息,不能写入信息,并且其所存储的信息在断电后仍能保持,常用于存放固定的信息。ROM由地址译码器和存储体两部分构成。地址译码器产生了输入变量的全部最小项,即实现了对输入变量的与运算;存储体实现了有关最小项的或运算。因此,ROM实际上是由与门阵列和或门阵列构成的组合电路,
47、利用ROM可以实现任何组合逻辑函数。利用ROM实现组合函数的步骤:(1)列出函数的真值表或写出函数的最小项表达式。(2)选择合适的ROM,画出函数的阵列图。,3.11 PLD可编程逻辑器件,PLD的基本结构,门电路的简化画法,3.11.1 PLD分类,3.11.2 PLA的应用,用PLA实现逻辑函数的基本原理是基于函数的最简与或表达式,例,用PLD实现下列函数,各函数已是最简,阵列图,本节小结,PLD的主体是由与门和或门构成的与阵列和或阵列,因此,可利用PLD来实现任何组合逻辑函数,GAL还可用于实现时序逻辑电路。 用PLA实现逻辑函数的基本原理是基于函数的最简与或表达式。用PLA实现逻辑函数时,首先需将函数化为最简与或式,然后画出PLA的阵列图。,