第4章组合逻辑电路_第1页
第4章组合逻辑电路_第2页
第4章组合逻辑电路_第3页
第4章组合逻辑电路_第4页
第4章组合逻辑电路_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

第四章组合逻辑电路§4.1组合逻辑电路分析§4.2组合逻辑电路设计§4.3组合逻辑电路险象

完成逻辑功能的电路称为逻辑电路,它可以分为两大类:组合逻辑电路和时序逻辑电路。组合逻辑电路的特点是没有记忆,当前的输出只与当前的输入有关,与以前的历史无关(相比之下,时序电路当前的状态就与现在和过去都有关)。我们有时为解决逻辑问题,要设计一种专用的组合电路,对一些被广泛使用的经典组合电路我们可以采用拿来主义,不必重新设计,如:编码器、译码器、数据选择器/分配器等。本章分为两大部分:给定电路——分析实现逻辑关系——设计

4.1组合逻辑电路的分析

分析步骤如下:

(1)从输入向输出逐级推导,得到最终的输出表达式。(在这个过程中,有时可以设几个中间变量)(2)表达式化简。(3)由逻辑表达式列出真值表。(4)由真值表(简单逻辑可直接由表达式)概括出逻辑功能。

(这一步较难)

组合逻辑电路的分析,就是将电路图上的连接,转化为易于归纳的形式,进而了解电路的功能。(1)逐级推导表达式例1:(3)列出真值表。三位奇数校验器(4)总结归纳:(2)表达式化简

输入中有奇数个1时,输出为1.(本例已是最简)例2:ABCF0000001101111001101111011110真值表规律:ABC取值相同时,输出为0;ABC取值不同时,输出为1例3:ABCD为8421码。ABCDWXYZ0000001100010100001001010011011001000111ABCDWXYZ0101100001101001011110101000101110011100真值表:ABCD输入只能有0000~1001。由真值表可知,电路输出是十进制数的余3码,即该电路是一个代码转换电路。Y1.AB。。。。&&&&YY3Y2..例4:分析下图的逻辑功能1.写出逻辑表达式Y=Y2Y3=AABBAB...AB..AB.A.AB.B2.应用逻辑代数化简Y=AABBAB...=AAB+BAB..=AB+AB反演律=A(A+B)+B(A+B)..反演律=AAB+BAB..3.列真值表0011001110014.分析逻辑功能输入相同输出为“0”,输入相异输出为“1”,称为“异或”逻辑关系。这种电路称“异或”门。Y=AB+AB=AB逻辑式=1ABY逻辑符号ABY1.写出逻辑式例5:分析下图的逻辑功能。.&。。&。1。1.BAY&AB.Y=ABAB.ABA•B=AB+AB化简2.列逻辑真值表001100100111Y=AB+AB3.分析逻辑功能输入相同输出为“1”,输入相异输出为“0”,称为“判一致电路”,可用于判断各输入端的状态是否相同。ABY

以下我们结合一些常用组合逻辑电路,边学习典

型电路,边熟悉分析过程。一、全加器所谓全加器,是指具有从低位进位、向高位进位功能的加法器。如果不考虑低位进位,则称为半加器。(与全加器对应的还有全减器、半减器。)下面我们分析一位全加器电路。(1)逐级分析,写出表达式(2)列出真值表规律:输入有奇数个1时,F=1;输入有两个或以上1,CO=1。(3)归纳逻辑功能

归纳功能是比较难的,需要积累经验。

本例第一步要总结出奇数个1,两个以上1这样的规律,然后再联想出全加器:

A、B—被加数、加数,

CI——低位进位,

F——本位的和,

CO——向高位的进位。二、半加器真值表ABSCO0000011010101101规律:输入有奇数个1时,S=1;输入有两个1时,CO=1。∑

与全加器对应的还有全减器,即带低位借位,向高位借位的减法器。

如果不事先说出分析的是全加器,可能不一定会想到是加法器这类的东西。目前,我们要求能够从真值表归纳出表面的逻辑规律,如:输入有奇数个1时,输出为1。

与半加器对应的还有半减器,即不考虑低位借位的减法器。三、译码器

例:2线—4线译码器将二进制编码翻译成不同的硬件输出组合。

(1)写出表达式

(2)列出真值表(3)总结、归纳

通常M线—N线二进制译码器,满足N=2M关系,

M位二进制码输入,N条译码线输出。另有若干译码允许端(高或低电平有效)。当任一允许端无效时,译码器不工作,输出线全为高。当所有允许端均有效时,译码器工作:对任一个二进制码输入,有唯一的一条输出线为低电平,其他输出端均为高电平。(输出线下标号=二进制码值)按照这一原则,3线—8线二进制译码器,4线—16线二进制译码器就很容易理解了。另外还有一些BCD译码器,如4线—10线译码器。

比较器的作用是给出两个数据的大小信息:大于、

小于或等于。

一位数值比较器的电路如图:四、数值比较器(1)写出表达式(2)列出真值表(3)归纳

上述一位比较器是组成多位比较器的基础,可以用它构成任意位比较器。多位比较器的比较规律:

从高位开始,出现不等即可知谁大谁小,如果所有位均相等,则两数相等。

A=1B=0大于

A=0B=1小于

A=1B=1或A=0B=0等于

根据功能要求,实现具体电路设计。分为门电路设计和中规模集成器件设计。

其步骤如下:

(1)搞清功能要求,明确因果关系,设置输入、输出变量。

(2)列出真值表。

(3)写出逻辑表达式。

(4)化简逻辑表达式。

(5)表达式变换(根据对使用器件的要求)。

(6)画出逻辑电路图。

4.2组合逻辑电路的设计4.2.1一般组合逻辑电路的设计

例1:

火灾报警系统,有三种探测器:烟感、温感和光

感。为防止误报,规定只有两种或两种以上发出

报警才确认,并启动声光报警设备。(用与非门

实现)

解:(1)根据题意:设探头为输入,分别用A、B、C代表烟感、温感和光感三种探头。取值为1=报警0=无报警。设报警器输出为F,

1=启动设备0=关闭设备(2)列出真值表ABCF00000101001110010111011100010111(3)写出逻辑表达式(4)化简表达式(5)因为指定用与非门实现,所以要对表达式进行变换。(6)画出电路图也可以写或与式,再两次求反,用或非门实现ABCF00000101001110010111011100010111&&&&BACF例2:设计一个3变量“多数表决电路”。要求:按照少数服从多数的原则表决,确定某项决议是否通过。其中甲具有最高表决权,即甲同意则决议通过(用与非门实现)

解:(1)根据题意:用A表示甲,B、C表示其他参与决议的代表。1表示同意,0表示不同意。设F为表决电路输出,1为决议通过,0为决议没通过。(2)列出真值表ABCF00000101001110010111011100011111(3)写出逻辑表达式(4)化简表达式(5)因为指定用与非门实现,所以要对表达式进行变换。(6)画出电路图也可以写或与式,再两次求反,用或非门实现&&&BCAFABCF00000101001110010111011100011111

例3:设计一个比较两个3位二进制数是否相等的数值比较器。

解:(1)根据题意:设两个3位二进制数分别A=A2A1A0,

B=B2B1B0;结果为F,相等为1,不等为0。即此电路为6输入一输出。(2)列出真值表(太复杂了)分析:当两个数各位都相等时,即为相等,否则

F=0。只有Ai和Bi同时为0或同时为1时,A=B。则有(3)化简表达式(不可化简了)可用7个与门和3个或门实现。也可对表达式进行转换:

=1=1=1≥1A2B2A1B1A0B0F

则可用3个异或非(同或)门和1个与门实现。(4)画逻辑电路图

例4:设计一个乘法器,用于产生两个2位二进制数的乘积。A

B0

00

10

20

31

01

11

21

32

02

12

22

33

03

13

23

3M0000012302460369A1A0B1B0

M3M2M1M000000001001000110100010101100111100010011010101111001101111011110000000000000000000000010010001100000010010001100000001101101001真值表表达式:表达式化简:采用8个与门、两个或门和若干非门即可实现。4.2.2具有特殊条件的组合逻辑电路设计一、包含无关条件的组合逻辑电路设计例1:设计一个组合逻辑电路,用于判别以余3码表示的

1位十进制数是否为合数。AB

CD

F0000000100100011010001010110011110001001101010111100110111101111真值表AB

CD

Fddd0000101011ddd&&&&FBACD例2:有一个水塔,由大小两个水泵供水。水位高于C时不供水,水位低C时由小水泵单独供水;水位低于

B时,由大水泵单独供水;水位低于A时,由两个水泵同时供水,请说明两个水泵的工作情况。解:

设大电机为DL,小电

机为DS,取值为1表示

工作,为0表示停止。三

个位为A、B和C取值为

1表示水位低于A、B或

C点,为0则表示水位不

低。ABCDSDL00000001100110111111010XX100XX101XX110XX由卡诺图,得到:ABC00011110010011XXXXABC00011110010011XXXX1≥1&DSBACDL加法器:

实现二进制加法运算的电路进位如:000011+10101010不考虑低位来的进位半加器实现要考虑低位来的进位全加器实现二、多输出函数的组合逻辑电路设计1、半加器

半加:实现两个一位二进制数相加,不考虑来自低位的进位。两个输入AB表示两个同位相加的数两个输出SC表示半加和表示向高位的进位COABSC逻辑符号:半加器真值表逻辑表达式逻辑图&=1..ABSC00ABSC000110111010012、全加器输入Ai表示两个同位相加的数BiCi-1表示低位来的进位输出表示本位和表示向高位的进位CiSi

全加:实现两个一位二进制数相加,且考虑来自低位的进位。逻辑符号:COAiBiCi-1SiCiCIAiBiCi-1SiCi

0000010110101111(1)列真值表(2)写出逻辑式100010011001011101010101COCO>1AiBiCi-1SiCi半加器构成的全加器AiCi-1Bi逻辑图&&&=1≥1CiSi

例3:某工厂有A、B、C三个车间和一个自备电站,站内有两台发电机G1和G2。G1的容量是G2的两倍。如果一个车间开工,只需G2运行即可满足要求;如果两个车间开工,只需G1运行,如果三个车间同时开工,则G1和G2均需运行。试画出控制G1和G2运行的逻辑图。(用与非门实现)

设:A、B、C分别表示三个车间的开工状态:开工为“1”,不开工为“0”;

G1和G2运行为“1”,不运行为“0”。1.根据逻辑要求列真值表

首先假设逻辑变量、逻辑函数取“0”、“1”的含义。

逻辑要求:如果一个车间开工,只需G2运行即可满足要求;如果两个车间开工,只需G1运行,如果三个车间同时开工,则G1和G2均需运行。开工“1”不开工“0”运行“1”不运行“0”1.根据逻辑要求列真值表1010010100111001101110000111001000011101ABCG1G22.由真值表写出逻辑式取G=“1”若输入变量为“1”则取输入变量本身(如A);若输入变量为“0”则取其反变量(如A)。在一种组合中,各输入变量之间是“与”关系各组合之间是“或”关系1010010100111001101110000111001000011101ABCG1G23.化简逻辑式4.用“与非”门构成逻辑电路三、输入只有原变量、使用与非门的设计

所谓输入只有原变量没有反变量是指第一级的输入信号只能由A、B、C、D等组成,不能出现等

要解决这个问题似乎很简单:将所有的反变量都加一个反相器。但这样简单处理的结果是门太多,为了获得最佳计,我们可以通过表达式变换,用尽量少的电路满足只有原变量的要求。解:

用卡诺图化简

例如:在只有原变量输入的条件下,实现逻辑函数两次求反:用反相器解决只有原变量问题,不用动脑筋,但增加了四个门。

如果将表达式进行变换,可以简化电路。再两次求反

经过表达式变换,带“非号”的项合并了,逻辑门也减少了。如右图:有时,为了减少带“非号”的项,还可以考虑利用

多余项,寻求进一步化简的可能。(当然,不一定

都能再简化)

总结上述简化过程,我们可以发现:电路越来越简单了,但所需级数没变.

输入级是为了解决“非号”而存在的,带“非号”的项(称为尾部因子)越多,输入级越复杂,因此我们要尽量减少带“非号”的项。

中间级的门数与表达式乘积项的多少有关,应尽量

减少乘积项个数。

下面归纳一下在只有原变量,没有反变量输入的条件下,用与非门实现逻辑函数时设计步骤:

第一步:用卡诺图化简,得到最简与—或式。

第二步:寻找所有的多余项,将可以用来实现合并尾部因子者加入(无此可能者不要)。

如:

加入不能简化。第三步:尾部因子变换。如:

第四步:两次求反,得与非—与非表达式。

第五步:画出逻辑图。例:设计一个组合逻辑电路,判断献血者与受血者的血型是否相容。规则如表所示,“√”表示两者血型相容。受血献血ABOABABABO√√√√√√√√√解:由题意知:电路输入变量为献血者和受血者。血型共四种,可用两个变量的4组编码表示,WX表示献血者,YZ表示受血者。F表示输出,相容为1,不容为0。受血献血WXYZABABO血型编码0000011011011011真值表WX

YZ

F0000WX

YZ

F000100100011010001

0101

1001

111000100110

1010

11110011

0111

1011111111111110000000如果换一种编码方式,如表所示:受血献血WXYZOABAB血型编码0000011011011011≥11≥1≥1FXWYZ1

关于无反变量提供时如何使组合电路达到最简的问题,至今尚无一种系统而有效的方法,只能由设计者根据具体问题进行灵活处理。4.3组合逻辑电路的险象

以前我们设计电路时,假定所有输入信号同时变化,门电路没有延迟,在此条件下,能保证输出逻辑正确。

实际情况是:输入信号不可能同时翻转,门的延迟也各不相同,于是就要出现问题了——冒险竞争!

几个概念:

静态冒险:如果输入的变化本不应引起输出变化,但实际出现了变化,称静态冒险。(打破了应有的平静)

如:本应

1

1实际

101

或本应00实际010

动态冒险:如果输入的变化确应引起输出发生一次翻转,但实际发生了多次翻转,称为动态冒险。如:本应

0

1

实际01014.3.1险象的产生

实际逻辑电路中,信号经过同一电路中的不同路径所产生的时延不同。时延的长短与信号经过的门数、具体逻辑门的时延大小和导线的长短有关。输入信号经过不同路径到达输出端的时间有先有后叫竞争。

险象:电路中竞争的存在,使得输入信号的变化可能引起输出信号出现非预期的错误输出现象。

非临界竞争:不产生错误输出的竞争。

临界竞争:导致错误输出的竞争。

组合电路中的险象是一种瞬态现象,表现为在输出产生不应有的尖脉冲,暂时破坏正常逻辑关系。瞬态结束即可恢复正常逻辑关系。例1:假设B=C=1,代入表达式可得

可知,理想情况下,无论A怎么变化,F恒为1。

实际电路中:存在时间延迟。假设每个门的延迟时间为tpd,同样分析B=C=1

时,A的变化对输出的影响。&1&&FABCdegG1G2G3G4Adtpd2tpde1F2&1&&FABCdegG1G2G3G4产生两次竞争:

第一次(A01):在门G4上发生竞争,由于G4为与非门,没有产生险象,因此是非临界竞争。第二次(A10)

:在门G4上发生竞争根据与非门特性,输出负脉冲,产生险象,因此是临界竞争。g例2:假设B=C=0,代入表达式可得

可知,理想情况下,无论A怎么变化,F恒为0。实际电路中:存在时间延迟。假设每个门的延迟时间为tpd,同样分析B=C=0

时,A的变化对输出的影响。≥11≥1≥1FABCdegG1G2G3G4Adtpd2tpde1F2g产生两次竞争:

第一次(A01)

:在门G4上发生竞争。根据或非门特性,输出正脉冲,产生险象,因此是临界竞争。第二次(A10)

:在门G4上发生竞争,由于G4为或非门,没有产生险象,因此是非临界竞争。≥11≥1≥1FABCdegG1G2G3G4按错误输出脉冲信号的极性“0”型险象:错误输出为负脉冲“1”型险象:错误输出为正脉冲4.3.2险象的判断方法:代数法、卡诺图法一、代数法步骤:1、找出同时以原变量和反变量形式出现的变量X。2、消去函数表达式中的其他变量,看是否出现或形式,有则可能

温馨提示

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

评论

0/150

提交评论