《组合逻辑电路 概述 组合逻辑电路基本分析和设计方.pptx》由会员分享,可在线阅读,更多相关《组合逻辑电路 概述 组合逻辑电路基本分析和设计方.pptx(150页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、由框图可知,输入与输出之间的逻辑关系可用一组逻辑函数表示:第1页/共150页a.逻辑功能特点组合逻辑电路的特点:任意时刻的输出仅仅取决于该时刻的输入,而与电路原来的状态无关,即无记忆功能。时序逻辑电路的特点:任意时刻的输出不仅取决于该时刻的输入,而且与电路原状态也有关,即有记忆功能。b.电路结构特点 只由逻辑门组成,不包含记忆元件,输出和输入之间无反馈。第2页/共150页3.1.2 逻辑功能的描述从理论上讲,逻辑图本身就是逻辑功能的一种表达方式.然而在许多情况下,用逻辑图所表示的逻辑功能不够直观,往往还需要转换成函数表达式或逻辑真值表的形式,以使电路的逻辑功能更加直观、明显。第3页/共150页
2、例1 1:已知组合逻辑电路如下图11=1=1COCI第4页/共150页分析:根据逻辑电路图写出逻辑函数表达式 CICO()CIAB由表达式填写真值表。如表1所示。由逻辑表达式或真值表不难看出,此种情况与考虑进位情况下两个二进制相加时的情况一样。例 故上述逻辑电路为一位全加器电路。第5页/共150页3.2 组合逻辑电路的分析方法和设计方法3.2.1 分析方法分析组合逻辑电路的一般是根据逻辑图求出它的逻辑函数表达式与真值表,注出该电路的逻辑功能。分析的目的,有时在于求出逻辑功能,有时在于证明给定的逻辑功能是否正确。分析步骤:(卡诺图)逻辑表达式逻辑图真值表功能第6页/共150页(1)分别用符号标注
3、各级门的输出端;(2)从输入端到输出端逐级写出逻辑表达式,最后列出输出函数表达式,并用卡诺图化简函数表达式;(3)列出真值表;(4)分析出电路的逻辑功能。第7页/共150页例2:如图所示,试分析其逻辑功能。图图3.2.1 例例2逻辑电路图逻辑电路图第8页/共150页分析:(1)用T1、T2、T3表示中间变量;(2)由输入端逐级写出逻辑函数。T1ABC T2A+B+C F2AB+AC+BC T3T2 (A+B+C)F1T1+T3 ABC+(A+B+C)ABC+(A+B+C)第9页/共150页(3)列出真值表表表3.2.1 【例例2】真值表真值表第10页/共150页(4)列出卡诺图第11页/共15
4、0页(5)化简逻辑函数表达式,从卡诺图可得:(6)确定逻辑功能从真值表和逻辑函数表达式可以看出,F1实现的是三个变量的异或功能。F2实现的是两个或两个以上“1”的输出功能。另外,例2与例1进行对比,可以发现,它们的逻辑图虽然不一样,但它们的功能是一样 的。故此例也可以构成全加法器。第12页/共150页3.2.2 组合逻辑电路的设计方法组合逻辑电路的设计是从提出问题开始,到一个符合要求的逻辑电路结束。1.设计步骤(1)逻辑抽象:分析设计题目要求,确定输入变量和输出函数的数目,明确输出函数与输入变量之间的逻辑关系;(2)列出真值表;(3)根据真值表写出函数表达式,利用公式或卡诺图化简输出函数表达式
5、;(4)根据最简输出函数表达式画出逻辑图。第13页/共150页2.设计举例 例3:试设计将十进制的4位二进制数码8421转换成典型格雷码。解:(1)分析题意,列出真值表本题是给定了位二进制,可直接作为输入变量,用3、B2、B1、B0表示,输出4位格雷码,用G3、G2、G1、G0表示。它们的因果关系列成如下真值表。(2)注意:十进制只有十个数符,而4位8421码有十六种组合状态。其中四位8421码中10101111属于禁用码。在填写卡诺图时可将它 第14页/共150页们作为任意项处理。其G0G3卡诺图如图5所示。(3)由图5 G0G3卡诺图得逻辑表达式:这里需要指出的是,由G2卡诺图还可以对G2
6、进一步简化,即在实际工程中,尽量使元器件数量最少。G0G1已采用异或逻辑门,不妨G3也采用异或门电路.第15页/共150页 图5 G0G3卡诺图第16页/共150页(4)根据最简函数表达式画出逻辑图。如下图所示。第17页/共150页3.3 若干常用的组合逻辑电路常见的组合逻辑电路有加法器、编码器、译码器、数值、比较器、数据选择器、函数发生器、奇偶校验器/发生器等。第18页/共150页3.3.1 全加法器两个二进制加法运算是两个二进制数之间的算术运算基础,因为相减、乘、除,目前在计算机中都是化作若干步加法运算进行的。第19页/共150页我们先观察两个四位二进制加法运算过程。例如 A(1101)2
7、 ,B(1011)2 ,求FA+B1101+101111000现在的问题是如何用组合电路实现它。不妨先考虑一位的情形,然后扩展成四位,再扩展成十六位,乃至于三十二位 第20页/共150页一、一位全加法器(1)弄清题意,明确输入变量和输出变量的个数,它们之间的逻辑关系。观察两个一位加法演算过程得知,Ai+Bi时必须考虑(i-1)位的进位数,i-1位进位输出就是i位的进位输入,即CIiCOi-1;同时必须考虑到i位的进位输出COi,它实际上是i+1位的进位输入。最后再注意两数相加后的本位数值。令输入变量为:Ai 二进制数A的第i位数值第21页/共150页Bi 二进制数B的第i位数值CIi 第i位的
8、进位输入,即i-1位的进位输出,即CIiCOi-1输出变量:Fi 第i位的和的数值COi 第i位的进位输出,它等于i+1位的进位输入(2)列出真值表由上述分析可知,两个一位二进制数相加实际上变为三个二进制数相加的问题即 Ai+Bi+CIi。第22页/共150页两个一位二进制数相加真值表输输 入入输输 出出COi-1AiBiCOiFi0000111100110011010101010001011101101001第23页/共150页(4)画出输出变量Fi和COi的卡诺图。如下图所示。第24页/共150页(5)写出逻辑表达式第25页/共150页(6)画逻辑图。第26页/共150页二、四位全加法器1
9、.四位串行全加器:只要将四个一位全加器串联起来即可,如图8所示。图8:四位串行全加器逻辑图 优点:结构简单。缺点:运算速度慢。第27页/共150页2.四位超前进位全加器为了提高速度一般采用“超前进位”技术。超前进位(又称并行进位)加法器和串行进位加法器本质的区别在于:前者各位的进位不是由前一级全加器的进位输出来提供的,而是由专门的进位门来提供的,且这个专门的进位门的输入均是来自输入变量的函数。现用递推法求出各位的输出函数和进位输出函数。第28页/共150页(1)输入变量:A(A3A2A1A0)为二进制加数B(B3B2B1B0)为二进制被加数CI0为最低位进位值输出变量:F(F3F2F1F0)C
10、O3最后一位进位输出即CO3F3F2F1F0二进制和项第29页/共150页(2)写出各级函数表达式和进位输出函数表达式:如图7所示:设中间变量Xi、Yi、Pi、Gi则第30页/共150页当i=0时,则第31页/共150页当i=1时,则第32页/共150页当i=2时,则第33页/共150页当i=3时,则第34页/共150页当i=n时,则通式:第35页/共150页(3)画出四位超前进位全加器的逻辑图用实际使用时,与非门、或非门、与或非门比与门、或门、与或门更容易实现。故对上述公式稍作改动。第36页/共150页i=0时:i=1时:第37页/共150页i=2时:i=3时:第38页/共150页i=n时:
11、根据上述输出逻辑和进位逻辑函数画出逻辑图如图3.3.4所示。第39页/共150页图3.3.44位超前进位全加法器第40页/共150页三、十六位全加法器1.根据Fi和COi的逆推公式构成16位全加器优点:速度快缺点:线路复杂2.将四个四位超前进位全加器串联构成十六位全加器。如图3.3.5所示。优点:结构简单缺点:速度较慢第41页/共150页图3.3.5四个4位并行进位加器串联构成十六位加法器第42页/共150页3.四位超前加法计数器和超前进位扩展器组成16位超前进位加法器用四块四个并行进行进位加法器串联组成的16位加法器。虽然每片进位输出是采用超前进位的,但是片间进位仍是逐片传递的。所以进位速度
12、仍然较慢。解决这个问题一个比较好的办法是,把四位运算单元作一组。用类拟超前进位CO3、CO7、CO11、CO15,从而实现各片间的快速进位。第43页/共150页四、用加法器设计组合逻辑电路如果要产生的逻辑函数能化成输入变量与输入变量或者输入变量在数值上相加的形式,这时用加法器来实现这个组合逻辑电路往往非常简单。例4:设计一个代码转换电路,将BCD代码的8421码转成余3码。解:以8421码为输入,余3码为输出,即可列出代码转换的真值表,如下表所示。第44页/共150页输入(输入(8421码)码)输出(余输出(余3码)码)A3A2A1A0Y3Y2Y1Y0000000110001010000100
13、10100110110010001110101100001101001011110101000101110011100第45页/共150页仔细观察一下表不难发现,输出与输入存在如下关系:其实这正是余3码的特征,其逻辑电路如下图所示。第46页/共150页3.3.2 编码器编码:编码就是用二进制码来表示每个给定的信息符号。编码器:实现编码的电路称编码器。信息符号可以是十进制数符0,1,2,9;字符A,B,Z,a,b,z;运算符“+”,“-”,“=”或其它符号等。编码器通常有二进制编码器,十进制编码器及优先编码器等。下面举两个典型编码器来说明编码器的工作原理。第47页/共150页1.普通编码器普通编
14、码器就是在任何时刻只允许输入一个编码信号,否则输出将发生混乱。例如计数器的按键输入信号就属于这一种。现以3位二进制普通编码器为例,分析一下普通编码器的工作原理。如下图所示。第48页/共150页输入:I0I78个高电平信号输出:3位二进制代码y2y1y0其真值表见表3.3.3。根据真值表写出输出逻辑函数表达式:第49页/共150页表3.3.3三位二进制编码的真值表第50页/共150页根据逻辑表达式很容易画出它的逻辑图,它由三个或门组成。图3.3.9三位二进制编码器第51页/共150页2.优先编码器在优先编码电路中,允许同时输入两个以上的编码信号。不过在设计优先编码器时已经将所有的输入信号按优先顺
15、序排了队,当几个输入信号同时出现时,只对其中优先权最高的一个进行编码。这种现象在日常工作和生活中也是存在的。例如:职称:校长副校长部长院长系主任室主任课题组长教员权力码:76543210第52页/共150页当某一个时刻,校长、院长、室主任同时下达命令,通知学生开会,但又不是属于同一个内容,这时会发生矛盾。在这种情况下,应优先考虑校长下的命令。依次类推。在计算机系统中同样存在优先编码问题。优先编码器广泛应用于计算机的优先中断系统、键盘系统中,它有二进制和十进制两种,这里只介绍二进制优先编码器。第53页/共150页 图3.3.13是典型的二进制编码器。该电路有8条数据输入线07,数字最大的优先权最
16、大,权力最大者7也,权力最小者0也。也就是说,当某时刻同时输入两个以上信号,其中有一个是7号线,那么应优先考虑7号数据线的编码。在7号线已编了码,或者暂时不需要编码的情况下剩余优先权最大就应该轮到6号线了,依次类推。第54页/共150页图3.3.13 八位二进制优先编码器(74LS148)第55页/共150页现规定,输入信号为“0”有效,即信号为0者要参与编码。例如输入数据线6和2输入为0,其余为1,那么优先考虑数据6编码。电路中有三条输出线A0、A1、A2(其中A2为最高位,A0为最低位0。本题中所介绍的编码器的输出是以反码形式出现,而不是以原码的形式进行编码。例如对应数据线7的编码号:A2
17、A1A0原码为111,而反码却为000;数据6对应输出。A2A1A0的原码为110,反码应为001;第56页/共150页根据上述分析,将输出函数与输入变量列成真值表。如下所示。第57页/共150页电路还设有“使能”输入当0时,允许编码;当1时,禁止电路编码。电路还设有“使能”输出E0和优先编码输出Gs。只有当数据输入出现“0”时,E0为1,Gs为0。表明编码器对输入数据在进行优先编码。由上述功能表写出输出函数表达式:第58页/共150页第59页/共150页同理可得:第60页/共150页如下图所示。优先编码器可以扩展,现将两片8输入优先编码器扩展成16输入优先编码器。第61页/共150页对该编码
18、器有如下三点重点说明:第一:在高低位片中,以高位片为优先片,取高位的Gs作为16位编码器的最高位编码输出A3,若高位片有0输入,必有高位片Gs=0此时,不管低位片是否有0输入,A3为0;若高位片无“0”输入,即它的Gs=1,则A3=1。第62页/共150页第二:取高低位相应的编码器输出作为三个附加“与门”的输入,与门的输出即为16位编码器低位编码器A0A2输出。高位片的“使能”输出E0和低位使能端相连的。若高位无“0”输入,则它的A0A2均为1,使三个与门开启。E0为0,使低位片处于正常工作.第63页/共150页此时,16位编码器的低位编码输出A0A2,即为低电位片的A0A2输出;若高位片有”
19、0”输入,则它的E0=1使低位片处于禁止状态,低位片的A0A2均高1。使三与门开启,此时高位A0A2作为16位编码器的低三位输出。第三:16位编码器中有“0”输入,则高位片或低位片Gs为“0”,16位编码器Gs也为0,表明,16位编码器在对输入信号进行编码。第64页/共150页3.3.3 数值比较器数值比较器:能完成比较两个数字大小,或者是否相等的各种逻辑电路。我们知道,要比较两个数值大小,一般按如下方法进行:0ABA-B=0A=B0AB=AFA=B=ABFAB)F(A=B)F(AB;2.当A=0,B=1时,=1,显然AB3,则AB。如果A3=B3,这就必须通过比较A2和B2的大小了。依次类推
20、能比出结果。第71页/共150页3.3.4 译码器译码是编码的逆过程,即将二进制数码还原成给定的信息符号(数符、字符、运算符或代码等)。能完成译码功能的电路称译码器。根据需要,输出信号可以是脉冲,也可以是高电平或低电平。译码器的种类很多。但它们的工作原理和分析方法大同小异。变量译码器、码制变换译码器和显示译码器是三种最典型、使用十分广泛的译码电路。第72页/共150页一、变量译码器1.逻辑抽象变量译码器又叫二进制译码器,它的输入是一组二进制代码,输出是一组与输入代码一一对应的高、低电平信号。以3线8线译码器为例说明变量译码器的工作原理。设输入是3位二进制代码A2A1A0,输出是其状态译码Y0Y
21、7。其方框图如图3.3.21所示。第73页/共150页图3.3.213线8线译码器框图第74页/共150页2.真值表表3.3.7是3位二进制(3线8线)译码器的真值表。第75页/共150页输输 入入输输 出出A2A1A0Y7Y6Y5Y4Y3Y2Y1Y00000000000100100000010010000001000110000100010000010000101001000001100100000011110000000表表3.3.7 3.3.7 真值表真值表第76页/共150页3.逻辑表达式由表3.3.7所示的真值表可直接得到逻辑表达式Y0=Y1=Y2=Y3=Y4=Y5=Y6=Y7=A2
22、A1A0第77页/共150页4.逻辑图实现上述逻辑功能常见的有二极管组成的电路和三极管组成的电路。图3.3.22所示为二极管与阵列组成的3线8线译码器。图3.3.23所示的是用与非门组成的3线8线译码器74LS138。第78页/共150页图3.3.22用二极管与阵列组成的3线8线译码器第79页/共150页图图3.3.23 用与非门组成的用与非门组成的 38线译码器线译码器74LS138第80页/共150页二、码制变换译码器二进制译码器是全译码的电路,它将每一种输入二进制代码状态都翻译出来了。如果把输入信号当做逻辑变量,输出变量当成逻辑函数,那么每一个输出信号就是输入变量的一个最小项,所以二进制
23、译码器,在其输出端提供了输入变量的全部最小项。二十进制译码器就是最常见的码制变换译码器。它是将输入BCD码的10个代码译成10个高低电平输出信号。仿照4线8线二进制译码第81页/共150页器的译码的方法,不难写出二十进制译码器的逻辑函数。=由上述逻辑函数不难构成二十进制译码器,图3.3.24所示的就是74LS42逻辑图、外引线排列图、逻辑功能示意图和国标符号。类似的第82页/共150页产品还有7442、MC14028B等。图3.3.244线10线译码器第83页/共150页三、显示译码器在数字系统中,经常需要将数字、文字、符号的二进制代码翻译成人们习惯的形式并直观地显示出来,供人们读取或监视系统
24、的工作情况。由于各种工作方式的显示器件对译码器的要求区别很大,而实际工作中又希望显示器和译码器配合使用,甚至直接利用译码器驱动显示器。因此,人们就把这种类型的译码器叫做显示译码器。第84页/共150页1.半导体显示器ST(1)简单显示原理某些特殊的半导体器件,例如用磷砷化镓做成的PN结,当外加正向电压时,可以将电能转换成光能,从而发出清晰悦目的光线。利用这样的PN结,既可以封装成单个的发光二极管(LED),也可以封装成分段式(或者点阵式)的显示器件,如图3.3.26所示。第85页/共150页(2)驱动电路既可以用半导体三极管驱动,也可以用TTL与非门驱动。如图3.3.27所示。图3.3.26图
25、3.3.27半导体显示器驱动电路第86页/共150页(3)基本特点半导体显示器的特点是清晰悦目、工作电压低(1.53V)、体积小、寿命长(1000h)、响应速度快(1100ns)、颜色丰富(有红、绿、黄等色)、可靠。第87页/共150页2.液晶显示器件液晶显示器件(LCD)是一种平板薄型显示器件,其驱动电压很低、工作电流极小,与CMOS电路组合起来可以组成微功耗系统,广泛地用于电子钟表、电子计数器、各种仪器和仪表中。液晶是一种介于晶体和液体之间的有机化合物,常温下既有液体的流动性和连续性,又有晶体的某些光学特性。液晶显示器件本身不发光,在黑暗中不能显示数字,它依靠在外界电场作用下产生的光电效应
26、,调制外界光线使液晶不同部位显视出反差,从而显示出字形。第88页/共150页3.显示译驱器(1)逻辑抽象十进制09十个字符可由七段组合而成,如图3.3.28所示。图3.3.28十进制数字与七段字型第89页/共150页(2)列真值表假如采用共阳极数码管。真值表见表3.3.9。第90页/共150页ABCDabcdefg显示显示000000000010000110011111001000100102001100001103010010011004010101001005011001000006011100011117100000000008100100001009表表3.3.9显示译码器真值表显示译
27、码器真值表第91页/共150页(3)画卡诺图根据表3.3.9真值表,画出a、b、c、d、e、f、g各段的卡诺图。如图3.3.31所示。第92页/共150页图3.3.31卡诺图第93页/共150页(4)写逻辑表达式根据图3.3.31的卡诺图,写出a、b、c、d、e、f、g各段的逻辑表达式。a=D+B=b=BD+BC=c=(3.3.38)d=D+B+BCD=e=D+B=f=CD+=g=+BCD=第94页/共150页(5)画逻辑图根据输出函数表达式(3.3.38)画逻辑图。如图3.3.32所示。图3.3.32BCD七段译码显示电路第95页/共150页4.集成显示译码器ST由于显示器件的种类较多,应用
28、又十分广泛,因而厂家生产用于显示驱动的译码器也有各种不同的规格和品种。LS248等和OC输出、无上拉电阻、1电平驱动的74249、74LS249、7449等。第96页/共150页四、译码器的VHDL描述3线8线译码器的VHDL描述如下。LIBRARTIEEE;USEIEEE.STD_LOGIC_1164.ALLENTITYdecoderISPORT(A:INSTD_LOGIC_VECTOR(2DOWNTO0);S:INSTD_LOGIC;Y:OUTSTD_LOGIC_VECTOR(7DOWNTO0);第97页/共150页ENDdecoder;ARCHITECTUREarchOFdecoderI
29、SSIGNALSEL:STD_LOGIC_VECTOR(3DOWNTO0);BEGINSEL(0)=S;SEL(1)=A(0);SEL(2)=A(1);SEL(3)=A(2);WITHSELSELECT第98页/共150页Y=“00000001”WHEN”0001”,“00000010”WHEN”0011”,“00000100”WHEN”0101”,“00001000”WHEN”0111”,“00010000”WHEN”1001”,“00100000”WHEN”1011”,“01000000”WHEN”1101”,“10000000”WHEN”1111”,“11111111”WHENOTHER
30、S;ENDarch;第99页/共150页3.3.5 数据分配器能够将1个输入数据,根据需要传送到m个输出端的任何1个输出端的电路,叫做数据分配器,又称为多路分配器。其功能犹如一个多路开关,将信号D分配到指定的数据通道上。其原理框图如图3.3.34所示。图3.3.34数据分配器原理图框图第100页/共150页一、1路4路数据分配器CX(1)逻辑抽象输入信号:1路输入数据,用D表示;2个输入选择控制信号,用A0、A1表示。输出信号:4个数据输出端,用Y0、Y1、Y2、Y3表示.(2)列真值表1路4路数据分配器真值表如表3.3.10所示。第101页/共150页A1A0Y0Y1Y2Y300D00001
31、0D001000D011000D表表3.3.10 数据分配器真值表数据分配器真值表第102页/共150页(3)写逻辑表达式由表3.3.10不难得出输出变量的逻辑表达式。Y0=D=Y1=D=Y2=D=Y3=DA1A0=第103页/共150页(4)画逻辑图根据逻辑表达式,画出逻辑图,其逻辑图如下图所示。第104页/共150页二、数据分配器的VHDL描述LIBRARTIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYdemux_4ISPORT(D:INSTD
32、_LOGIC;A:INSTD_LOGIC_VECTOR(1DOWNTO0);Y:OUTSTD_LOGIC_VECTOR(3DO第105页/共150页WNTO0);ENDdemux_4;ARCHITECTUREarchOFdemux_4ISBEGINPROCESS(D,A)BEGINYY(0)Y(1)Y(2)Y(3)=D;ENDCASE;ENDPROCESS;ENDarch;第107页/共150页3.3.6 数据选择器在多路数据传送过程中,能够根据需要将其中任意一路挑选出来的电路,叫做数据选择器,也称为多路选择器或多路开关。它的功能与数据分配器相反,它是多输入、单输出。第108页/共150页一、
33、4选1数据选择器(1)逻辑抽象输入信号:4路数据,用D0、D1、D2、D3表示;两个选择控制信号,用A0、A1表示。输出信号:用Y表示,它可以是4路输入数据中的任意一路,究竟是哪一路完全由选择控制信号决定。第109页/共150页(2)列真值表根据以上分析,可列出如下所示的4选1数据选择器的真值表。输入输入输出输出DAAYD000D0D101D1D210D2D311D3第110页/共150页(3)写出逻辑函数表达式由上面的真值表可以得到逻辑函数表达式第111页/共150页(4)画逻辑图根据逻辑函数表达式画出逻辑图如图3.3.37所示。图3.3.374选1数据选择器逻辑图第112页/共150页二、
34、8选1数据选择器从上面的分析可以推出,8选1数据选择器需要3个地址译码输入端,8个数据输入端。74151是具有互补输出的数据选择器,有原码和反码两种输出形式,其逻辑图、逻辑符号如图3.3.39所示。真值表如表3.3.12所示。第113页/共150页图3.3.398选1数据选择器74151第114页/共150页表3.3.1274151真值表输入输入输出输出A2A1A0Y1010000D00001D00010D00011D00100D00101D00110D00111D0第115页/共150页三、16选1数据选择器下图所示的是74150逻辑图,它是一个16选1的数据选择器。第116页/共150页四
35、、利用使能端ST扩展数据通道数下图是四片8选1数据选择器扩展为32选1数据选择器。第117页/共150页下图是由两片16选1数据选择器扩展为32选1数据选择器的逻辑图。第118页/共150页五、用数据选择器设计组合逻辑电路CX由于数据选择器是“与或非”或者“与非”门为主体的组合逻辑电路,因此可以用它实现逻辑运算。【例3.3.3】用74151实现逻辑函数:F(A,B,C)。解:首先将逻辑函数化成标准与或式。F(A,B,C)=AB+AC+BC=AB(C+)+A(B+)C+(A+)BC=第119页/共150页根据上式,只要将逻辑变量A、B、C依次接在74151选择控制端A2、A1、A0上,使能端接地
36、(0电平),并将数据输入端D3、D5、D6、D7接高电平“1”,其余接“0”,就可以构成符合要求的函数发生器。如图3.3.44所示。第120页/共150页图3.3.44函数F(A,B,C)逻辑图第121页/共150页这里需要指出的是,若输入变量数m小于选择器的地址端数n,即(mn)时,只需将高位地址端及相应的数据输入端接地即可。若mn时,有如下三种解决方法:(1)重新选择器件,使m=n(2)扩展法若输入变量数m大于现有选择器地址端数n时,也可采用扩展法。(3)降维法若输入变量数m大于现有选择器地址端数n时,还可以采用降维法。第122页/共150页所谓卡诺图的维数就是指卡诺图的变量数。如果把某个
37、或某些变量也作为卡诺图小方格内的值,则会减小卡诺图的维数,这种卡诺图称降维卡诺图。作为降维图小方格的那些变量称为记图变量。注:关于降维卡诺图的做图方法请参阅参考文献5。第123页/共150页六、数据选择器的VHDL语言描述。4选1数据选择器的VHDL语言描述如下。LIBRARTIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYmux_4ISPORT(D:INSTD_LOGIC_VECTOR(3DOWNTO0);A:INSTD_LOGIC_VECTOR(
38、1DOWNTO0);第124页/共150页Y:OUTSTD_LOGIC;ENDmux_4;ARCHITECTUREarchOFdemux_4ISBEGINY=D(0)WHENA=”00”ELSED(1)WHENA=”01”ELSED(2)WHENA=”10”ELSED(3)WHENA=”11”ELSEZ;ENDarch;第125页/共150页3.4 组合电路中的竞争冒险在我们日常工作、学习和生活中,竞争冒险现象真是无处不有,无时不有。例如:两辆的士车为了争一个乘客;运动场上,自行车赛抢跑道;商场上,同类商品为争夺市场互相压价等。其竞争之激烈,冒险之大可想而知。然而在组合逻辑电路中同样存在竞争冒
39、险现象。第126页/共150页3.4.1 竞争冒险的概念及其产生原因一、竞争冒险的概念在组合逻辑电路中,当输入信号改变时,输出端可能出现虚假信号过渡干扰脉冲的现象,叫做竞争冒险。如果负载是对干扰脉冲信号十分敏感的电路(例如下一章要介绍的触发器),就应采取措施消除竞争冒险。第127页/共150页二、产生竞争冒险的原因组合逻辑电路中输入信号的变化传输到电路各级集成门时,在时间上有先有后,这种先后所形成的时差称为竞争。竞争一般分为功能竞争和逻辑竞争两大类.如果输入端是n(n)个互相独立的信号发生变化,且由于变化的快慢不同,使到达某点有先有后而产生竞争,这种竞争称功能竞争。如果输入信号中,只有某一个输
40、入变量发生变化,在电路中经过不同的路径达到某点的时间有先有后而产第128页/共150页生的竞争称为逻辑竞争。竞争不一定带来冒险。将逻辑电路产生错误输出的竞争称为临界竞争(冒险竞争);而不会使电路产生错误输出的竞争称为非临界竞争(安全竞争)。第129页/共150页三、电路举例图3.4.3所示的是二进制译码器。由前面分析可知,Y0=和Y3=AB会产生功能竞争,而Y1=和Y2=会产生逻辑竞争。在输入信号发生变化时均有产生干扰脉冲的可能(也就是说存在冒险)。第130页/共150页图3.4.32位二进制译码器逻辑图第131页/共150页3.4.2 消除竞争冒险的方法检查一个组合电路中是否存在竞争冒险,有
41、很多种方法,其中最直观的方法就是逐级列出真值表,并找出哪些门的输入会发生竞争,然后,判断是否会在整个电路的输出端产生干扰脉冲。如果可能产生则有竞争冒险,否则就没有。在有竞争冒险存在的情况下,而负载又是对干扰脉冲敏感的电路,就应设法消除。下面介绍几种方法。第132页/共150页一、引入封锁脉冲CX为了消除因竞争冒险所产生的干扰脉冲,可以引入一个负脉冲,在输入信号发生竞争的时间内,把可能产生干扰脉冲的门封住,图3.4.4中的负脉冲就是这样的封锁脉冲。从图3.4.4(b)的波形图上可以看出,封锁脉冲必须与输入信号的转换同步,而且它的宽度不应小于电路从一个稳态到另一个稳态所需要的过渡时间t。第133页
42、/共150页图3.4.4消除竞争冒险的几种方法第134页/共150页二、引入选通脉冲第二种可行的方法是在电路中引进一个选通脉冲。如图3.4.4中的P2。由于P2的作用时间取在电路到达新的稳定状态之后,所以G1、G4的输出端不会有干扰脉冲出现。不过,这时G1、G4正常的输出信号也马上变成脉冲形式了,而且它们的宽度也与选通脉冲相同。例如,当输入信号变为11以后,Y3并不马上变成高电平,而要等到P2出现时,它才给出一个正脉冲。第135页/共150页三、接入滤波电容因为竞争冒险所产生的干扰脉冲一般很窄,所以可以采用在输出端并接一个不大的滤波电容的方法,消除干扰脉冲。图3.4.4(a)中的Cf,就表示这
43、种滤波电容。由于干扰脉冲通常与门电路的传输时间属于同一个数量级,所以在TTL电路中,只要Cf有几百皮法的数量,就足以把干扰脉冲消弱至开门电平以下。第136页/共150页四、修改逻辑设计增加冗余项当竞争冒险是由单个变量改变状态引起时,则可用增加冗余项的方法予以消除。例如给定的逻辑函数是Y=AB+C则可以画出它的逻辑图,如图3.4.5所示。不难发现,当B=C=1时,有Y=AB+C=A1+1=A+若从1变为0(或从0变为1),则在门G4的输入端会发生竞争,因此输出可能出现干扰脉冲。第137页/共150页根据第1章介绍的吸收定理,增加冗余项BC,即将函数表达式改写为Y=AB+C+BC并在电路中也相应地
44、增加门G5,则当A改变状态时,由于门G5输出的低电平封住了门G4,故不会再发生竞争冒险。在组合电路中,当单个输入变量改变状态时,分析有无竞争冒险存在的一个简便方法,就是写出函数的与或表达式,画出函数的卡诺图。检查有无几何相邻的乘积项(两个不同的第138页/共150页乘积项如果包含了几何相邻的最小项,则这两个乘积项就称为是几何相邻的),若没有则无竞争冒险,反之则有。函数Y=AB+C中之所以有竞争冒险存在,原因在于乘积项AB和C是几何相邻的,见图3.4.6。AB中的最小项m7=ABC和C中的最小项m3=BC是相邻的,如果在表达式中增加一项由这两个相邻最小项组成的乘积项BC,则即可消除由单个变量A改
45、变状态时产生的竞争冒险。第139页/共150页图3.4.5修改逻辑以消除竞争冒险图3.4.6Y的卡诺图第140页/共150页现在通过一个例子进行说明。【例3.4.1】检查实现函数Y=+BD+AC 的组合电路中,单个变量改变状态时有无竞争冒险,若有则用增加冗余项的方法消除。解:画出函数Y的卡诺图,见图3.4.7。CDAB00011110000111图3.4.710卡诺图1100011001110001ABCABC第141页/共150页分析单个变量改变状态时有无竞争冒险。由图3.4.7知,有竞争冒险。因为乘积项和BD相邻,AC和BD相邻。从前一相邻知道,当=D=1时,Y=B+,B改变状态时,输出端
46、可能出现过渡干扰脉冲。从后一相邻项知道,当A=B=C=1时,Y=D+,D改变状态时,输出端也可能出现过渡干扰脉冲。用增加冗余项的方法消除竞争冒险。增加冗余项D、ABC,即取Y=+BD+AC+D+ABC,这样一来,函数表达式虽然不是最第142页/共150页简的,但却是“最好”的,因为当B或者D改变状态时,电路的输出端不会出现过渡干扰脉冲。逻辑图如下。第143页/共150页把上述四种方法稍加比较便可看出,前面两种方法比较简单,而且不增加器件数目。但它们有一个共同的局限性,这就是必须找到一个封锁脉冲或选通脉冲,而且对这个脉冲的宽度和产生的时间是有严格要求的。接入滤波电容的方法同样也具备简单易行的优点
47、,它的缺点是导致输出波形的边沿变坏,这在有些情况下不是不可取的。至于修改逻辑设计的方法,如果应用得当,有时可以收到最理想的结果。例如,在图3.4.5所示电路中,如果门G5在逻辑第144页/共150页电路中本来就存在,那么,只要把它的输出通过一根线引到G1的一个输入端就行了,既不必增加门电路,也不会给电路带来任何不利的影响。然而,这样有利的条件并不是任何时候都存在的,有时必须另外增加电路器件才能实现,这就需要权衡一下这样做是否值得。第145页/共150页本章小结1、组合逻辑电路一般由若干个基本逻辑单元组合而成,它的特点是任何时刻输出信号仅仅取决于该时刻的输入信号,而与电路原来所处的状态无关。它的
48、基础是逻辑代数和门电路。2、本章的重点内容就是组合逻辑电路的分析和设计方法。组合逻辑电路的分析方法是根据逻辑图,分析得到该图的功能。其分析步骤如下:第146页/共150页(1)根据逻辑图,分别用符号标注各级门的输出端;(2)逐级列出各级输出函数表达式,最后得出输出函数表达式;(3)利用公式化简法或卡诺图化简法或列表化简法对函数表达式进行化简;(4)列出真值表;(5)说明给定电路的基本功能。而组合逻辑电路的设计方法是根据要求,设计符合要求的逻辑电路。其设计方法步骤如第147页/共150页下:(1)逻辑抽象:分析设计题目要求,确定输入变量的数目,明确输出函数与输入变量之间的逻辑关系;(2)列出真值表;(3)根据真值表写出函数表达式,利用公式化简法或卡诺图化简法或列表化简法化简函数表达式;(4)根据最简函数表达式,画出逻辑图.第148页/共150页3、组合逻辑电路种类繁多,本章只列举了几种常见的组合逻辑电路:编码器、译码器、比较器、分配器、选择器和加法器等。为了便于掌握上述几种电路的基本原理,介绍过程中均采用设计方法。同时最后得到的逻辑图尽量与74系列靠近。4、在设计和使用组合逻辑电路时遇到最棘手的问题是组合逻辑电路竞争冒险问题。本章只介绍竞争冒险的基本概念,产生的原因及一般消除方法。第149页/共150页感谢您的观看!第150页/共150页