1 / 44

第 4 章 组合逻辑电路

《 数字电子技术基础 》. 第 4 章 组合逻辑电路. 数字电路可以分成两大类: 组合逻辑电路和时序逻辑电路。 组合逻辑电路的分析方法和设计方法 常用中规模组合逻辑电路的结构和原理 应用中规模集成芯片的设计方法 组合逻辑电路竞争 - 冒险现象的成因,以及消除竞争 - 冒险现象的常用方法。. 4.1 组合逻辑电路的分析方法. 1 .组合逻辑电路的结构特点 组合逻辑电路是由各种门电路组成的,用于实现复杂的组合逻辑功能。 组合逻辑电路的特点:组合电路的输出信号仅取决于同一时刻的输入信号,与电路原来所处的状态无关。

bo-hartman
Download Presentation

第 4 章 组合逻辑电路

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 《数字电子技术基础》 第4章 组合逻辑电路 数字电路可以分成两大类: 组合逻辑电路和时序逻辑电路。 组合逻辑电路的分析方法和设计方法 常用中规模组合逻辑电路的结构和原理 应用中规模集成芯片的设计方法 组合逻辑电路竞争-冒险现象的成因,以及消除竞争-冒险现象的常用方法。

  2. 4.1 组合逻辑电路的分析方法 • 1.组合逻辑电路的结构特点 • 组合逻辑电路是由各种门电路组成的,用于实现复杂的组合逻辑功能。 • 组合逻辑电路的特点:组合电路的输出信号仅取决于同一时刻的输入信号,与电路原来所处的状态无关。 • 组合逻辑电路结构的特点:输出与输入之间没有反馈电路,电路中的信号传递是树形结构,电路中没有记忆单元。 • 一个多端输入、多端输出组合逻辑电路中x1, x2, …, xm是输入信号y1,y2,…yn是输出信号。输出和输入间的逻辑关系可以用一组逻辑函数式表示: y1 = f1(x1, x2, …, xm) y2 = f2(x1, x2, …, xm) … yn = fn(x1, x2, …, xm)

  3. 2.组合逻辑电路的分析步骤 • 组合逻辑电路的分析,找出给定逻辑电路输出和输入之间的逻辑关系,从而确定电路的逻辑功能。 • 分析过程的一般步骤: • (1)根据给定的组合逻辑电路图,以每个门电路的输入信号为自变量,由输入端逐级写出输出端的逻辑函数表达式。 • (2)用公式化简或卡诺图化简,使逻辑关系简单明了。 • (3)由逻辑函数表达式列出真值表。 • (4)根据真值表或逻辑函数表达式分析出给定组合逻辑电路的逻辑功能。

  4. 【例4.1】 分析逻辑电路,确定该电路的逻辑功能。 • 解:逐级推导电路输出端的逻辑表达式。 • (1)写出逻辑函数表达式并化简 • (2)由逻辑表达式列出真值表。真值表可以完全描述电路的逻辑功能。 • (3)确定逻辑功能。由真值表可以确定电路的功能为异或逻辑,Y = A⊕B。

  5. 【例4.2】 分析逻辑电路,确定其逻辑功能。 • 解:(1)逐级写出逻辑表达式 • (2)化简逻辑函数 • (3)由逻辑表达式列出真值表 • (4)确定逻辑功能。分析真值表可以得出,电路实现的是一位二进制数全加器的功能。

  6. 4.2 常用的组合逻辑电路 • 常用组合逻辑电路已制成了专用中规模集成芯片,广泛应用于数字系统的设计中。本节主要介绍编码器、译码器、数据选择器、加法器、数值比较器和奇偶校验器等典型的中规模组合逻辑器件,着重分析它们的逻辑功能、使用方法及扩展应用。 • 4.2.1 编码器 • 数字信号不仅可以表示数,也可以表示各种指令和信息。对于不同的事物用一组二值代码表示,就是“编码”。编码器(Encoder)电路的逻辑功能就是将每一个高、低电平形式的信号编成对应的二进制代码。 • 编码器分为普通编码器和优先编码器两类。普通编码器任何时刻只允许输入一个编码信号,否则会导致输出混乱。优先编码器可以有两个或多个编码信号同时输入,优先编码器将所有待编码信号排队,按优先顺序只对优先权最高的一个进行编码。

  7. 4.2.2 译码器 • 译码器(Decoder)的逻辑功能是将一组输入的二进制代码译成对应的输出高、低电平信号。译码器按功能分为“二进制译码器”、“二十进制译码器”和“显示译码器”。 • 1.二进制译码器 • n个输入端、N个输出端的译码器,当N=2n时,称为“全译码”;当N<2n时,称为“部分译码”。 • (1)2线-4线译码器 • 74139电路当 =0时,可得 2线-4线译码器的真值表 当 = 1时, 取非后为0, 封锁与非门输入端, ~ 输出全为1。

  8. (2)3线-8线译码器74138 • 74138芯片,有3个地址输入端,8个输出端,3线-8线译码器 • 输入的3位二进制码有8种状态,译码器将每组输入代码译成对应的一根输出线上的低电平信号。 • 当控制门GS的输出为高电平(S=1)时,译码器的输出逻辑表达式 • 是A2A1A0地址输入的最小项译码输出,S1、 和 是译码器的控制端(片选输入端)。 • 当S1=1、 时,GS门的输出为高电平(S=1),译码器处于工作状态;

  9. 如果GS门的输出为低电平(S=0),译码器禁止工作,所有的输出端被封锁在高电平。如果GS门的输出为低电平(S=0),译码器禁止工作,所有的输出端被封锁在高电平。 • GS门为负与门,低电平输入。“片选”输入端可以用做扩展译码器的功能。 3 线 -- 8 线译码器的功能表

  10. 【例4.4】 用4片74138和1片74139构成5线-32线译码器。 • 4片74138芯片的3个地址输入端A2A1A0并接在一起,接5位二进制码的低3位D2D1D0 • 控制74138的“片选”输入端S1、 和 ,使其中1片译码工作时,其他3片被禁止工作。 • 高两位二进制码D4D3作为74139的地址输入,译码输出端的低电平信号分别控制4片74138的 ,使其轮流工作在译码状态。

  11. 2.二-十进制译码器 • 将输入8421BCD码的10个代码译成10个低电平(或高电平)的输出信号。 • 当输入超过8421BCD码的范围(即1010~1111)时,输出均为高电平,为无效译码输出。 • 输出端的逻辑函数为

  12. 3.数据分配器 • 将一条数据传输线上的数据分配到多条线路上,相当于一个多路开关。 • 用译码器74138实现数据分配器的功能。 • 将数据线连接控制端,作为数据输入 • 将S1接使能信号EN, 接低电平,A2A1A0作为选择通道地址输入。 • EN=1,串行数据D被传送到由地址码A2A1A0 指定的输出线路上。 • 例如:EN=1, A2A1A0=101时,串行数据D被传送到输出端 。

  13. 4.显示译码器 • 用七段显示译码器显示十进制数字,由译码驱动器和显示器组成。 • 将8421BCD码转换成十进制数字的七段字形驱动信号,连接数码显示电路。 • 常用集成七段显示译码器分为两类,一类是译码器输出高电平有效信号,用来驱动共阴极显示器, • 另一类是输出低电平有效信号,驱动共阳极显示器。 • 7448的译码显示电路

  14. 7448七段显示译码器功能表 • 输入A3~A0是BCD代码,输出Ya~Yg是7位二进制代码。 • Yi=1,字段亮;Yi=0,字段灭。

  15. 7448输出与输入的逻辑关系: • 7448有三个附加控制端 • 灯测试输入 、灭零输入 和灭灯输入/灭零输出 ,用作扩展电路的功能。 • ① 灯测试输入 : • =0时,无论输入信号是什么状态,所有字段Ya~Yg=1,驱动数码管的七段同时点亮,检查数码管各段能否正常发光。 • =1数码管正常工作。

  16. ② 灭零输入 : • 灭零输入信号 =0,将不需要显示的零熄灭。 • 5位数码显示电路,显示39.7时会出现039.70,将多余的零熄灭。 • =0,当A3~A0=0000,所有字段Ya~Yg为0,本应显示的0被熄灭;如果A3~A0不为0000,输出字符正常显示。小数点前后两位的都要接1,避免出现不显示0.0的情况。 • ③ 灭灯输入/灭零输出 : • 输入/输出端口。作输入为灭灯输入控制端。 =0,无论A3~A0的状态是什么,数码管的各段同时熄灭。 • 作输出为灭零输出端。与灭零输入 同时作用, =0, 也为0,表示译码器熄灭了本应显示的零,还作为下一级灭零输入信号。

  17. 4.2.3 数据选择器 数据选择器:从多路输入数据中选出某一个数据送到输出端 • 1.双4选1数据选择器 • 74LS153,包含两个完全相同的4选1数据选择器。 • 两个4选1数据选择器共用地址输入端A1、A0,数据输入和输出是独立的。 • 控制端 和 分别控制两个4选1数据选择器, • =0时,信号到达输出端,数据选择器工作; • =1时,数据选择器禁止工作,输出被封锁为低电平。 • 4选1数据选择器的逻辑表达式

  18. 【例4.5】 用双4选1数据选择器构成8选1数据选择器。 • 解:8选1数据选择器有3位地址码,高位码A2作为控制信号,连接 , • A2取非后连接 。 • A2=0,数据D0~D3被选通到输出Y1,Y2禁止工作为低电平; • A2=1,数据D4~D7被选通道输出Y2,Y1禁止工作为低电平。 8选1数据选择器逻辑表达式 • 8选1数据选择器74151的逻辑符号

  19. 8选1数据选择器真值表。 • 【例4.6】8选1数据选择器扩展为32选1数据选择器电路。 • 解:32选1数据选择器需要32个数据输入端,5位地址码。采用4片74151,1片4选1数据选择器 • 高两位地址码A4A3作为4选1数据选择器的地址码,控制4片74151中只有一片可以输出。

  20. 4.2.4 数值比较器 • 数值比较器是用来比较两个数字的大小或是否相等的逻辑电路。 • 1.一位数值比较器 • 两个一位二进制数A和B的比较有三种可能。 YA=B = A⊙B

  21. 2.多位数值比较器 • 比较两个多位二进制数,A3A2A1A0=1000与B3B2B1B0=0111,A3>B3,A>B;A3=B3再比较A2与B2。由高而低地逐位比较,高位相等时,比较低位的数值。 • 74LS85的逻辑表达式 I(A>B)、I(A<B)和 I(A=B) 是扩展端, 用于连接低位芯片的比较输出。

  22. 【例4.7】用两片74LS85芯片组成一个8位数值比较器。【例4.7】用两片74LS85芯片组成一个8位数值比较器。 • 解:8位数值进行比较,从高位数值开始比较, • 将片2接两个数的高4位,片1接低4位,片1比较输出作为片2的扩展输入。 • 片1没有来自低位的比较信号,扩展端I(A>B)和I(A<B)接0,I(A=B)接1。 • I(A=B)接1,可以比较出两个8位数完全相等的输出Y(C=D)等于1。

  23. 4.2.5 加法器 • 在计算机中,两个二进制数的算术运算(加、减、乘、除)都能化为加法运算,加法器是构成算术运算器的基本单元。 • 1.半加器 • 将两个一位二进制数相加,不考虑低位进位的运算电路。 • 半加器的真值表中A、B为加数,S为本位和,CO为高位进位。 • 半加器的逻辑表达式 CO=AB

  24. 2.全加器 • 两个二进制数相加,考虑低位进位的运算电路。 • 全加器将两个加数A、B和低位进位CI相加,产生本位和S和高位进位CO。 • CO逻辑表达式有多种形式,用异或门等门电路构成的全加器逻辑表达式 S = A⊕B⊕CI CO = (A⊕B) CI+AB 二进制数A=1011 B=1110, 求和 1 0 1 1 A 1 1 1 0 B +) 1 1 1 Ci 低位进位  1 1 0 0 1 A+B

  25. 3.多位加法器 • 将一位全加器串行进位连接,构成多位加法器。串行进位速度慢,可以采用超前进位方式。 • 超前进位加法器74LS283的逻辑表达式 Y0= (CI)0 S0= A0⊕B0⊕CI Y2 = A1B1+(A1+B1) A0B0+(A1+B1) (A0+B0)CI = (CI)2 Y3 = A2B2+(A2+B2) A1B1+(A2+B2) (A1+B1) A0B0+(A2+B2) (A1+B1) (A0+B0)CI = (CI)3 推导 Si = Ai⊕Bi⊕CIi

  26. 超前进位加法器的每一级进位信号只由被加数和加数决定,与低位的进位无关。超前进位加法器的每一级进位信号只由被加数和加数决定,与低位的进位无关。 • YI式判断本级是否有低位进位信号,如果Ai-1、Bi-1都为1,本级有低位进位信号;如果Ai-1、Bi-1有一个为1,再判断Ai-2、Bi-2的情况; • 推出各级低位进位信号(CI)i。根据各级的Ai、Bi和(CI)i,各级的进位可以同时产生,提高了运算速度。 • 74LS283是4位加法器电路 • 需要更多位数的加法运算,可以进行扩展。 • 两片74LS283以串行进位方式扩展成8位加法器的电路。将低位片(1)的进位输出连到高位片(2)的进位输入。

  27. 4.3 组合电路的设计方法 • 根据提出的实际逻辑问题,设计出最简单的组合逻辑电路。 • 组合逻辑电路的设计步骤: • (1)逻辑抽象,分析问题的逻辑关系,确定输入、输出变量。设定变量逻辑状态1和0所代表的含义,根据逻辑功能的要求列出真值表。 • (2)由真值表写出逻辑函数表达式,并进行化简。 • (3)选定器件的类型:可以根据设计需要选择门电路、中规模集成的组合逻辑器件构成的逻辑电路。 • (4)将逻辑函数变换成与选定器件相适应的形式。 • ① 当采用门电路设计时,根据所选用的逻辑门进行函数化简,变换成与逻辑门类型适应的形式,用最少的门电路来实现。 • ② 当采用中、大规模集成电路设计时,需要将逻辑函数变换成与所用器件的逻辑函数式相同的形式,再用最少的集成块来实现。 • (5)画出逻辑电路图。

  28. 4.3.1 基于门电路的组合逻辑电路设计 • 基于门电路的设计考虑:①小规模集成器件都是同一类型的门电路,要将逻辑函数式化简为同一形式,与非-与非式、或非-或非式。②多端输出组合逻辑电路的化简,要逻辑函数的整体最简,总的逻辑门数最少。 • 【例4.8】 设计一个交通灯的控制电路,信号灯红、黄、绿组成。出现故障,控制电路发出故障信号。分别用与或非门、或非门和与非门实现控制电路。 • 解:(1)列出逻辑函数真值表。红、黄、绿灯为输入变量R、A、G;灯亮为1,灯灭为0;输出变量Y,正常工作Y为0,发生故障Y为1。 • (2)写出逻辑函数式

  29. (3)用与或非门器件实现逻辑电路,卡诺图圈0化简,求与或表达式,再次求反得到Y表达式。(3)用与或非门器件实现逻辑电路,卡诺图圈0化简,求与或表达式,再次求反得到Y表达式。 • (4)用或非门器件实现电路,卡诺图圈0化简,求Y的最简或与表达式,再两次求反得到Y。 • (5)用与非门器件实现电路,卡诺图圈1化简,求Y的最简与或表达式,再两次求反得到Y。 • (6)画出逻辑电路图

  30. 【例4.9】 设计一个一位二进制全减器。 • 解:一位二进制全减器第i位的减法,全减器有3个输入变量:被减数Ai,减数Bi,低位向本位的借位Ci-1;两个输出变量:本位差Di,本位向高位的借位Co • (1)真值表,输入变量被减数A,减数B,低位借位CI输出变量高位借位CO,本位差D。 • (2)写出逻辑函数式。多输出端函数化简,考虑整体最简。利用函数式中的“公共项”,使整体逻辑电路所需的逻辑门的数量最少。 • (3)用异或门和与非门实现全减器电路。 • (4)画出逻辑电路图。

  31. 4.3.2 基于中规模集成器件的组合逻辑电路设计 • 中规模逻辑器件实现组合逻辑函数,采用逻辑函数对比的方法,或做出相应的扩展。 【例4.10】用译码器实现多输出组合逻辑函数。 解:实现多输出组合逻辑函数用3线-8线译码器8是最好的选择。74138芯片的S1=1、 74138的译码输出功能为 • 多输出函数的最小项表达式 • 将输入变量A、B、C加到74138的地址码输入端,用与非门作为输出门

  32. 【例4.11】用数据选择器设计组合逻辑函数 • 解:用1片8选1数据选择器74151实现四变量的组合逻辑函数。74151使能端 =0时,74151的输出逻辑表达式 • 将逻辑表达式展开成最小项表达式 • 确定A、B、C为地址输入,连接S2S1S0端。 • 对应D0=D2=D、D1=D4=1、D3=D6= , • 没有出现的最小项都为0。 • 8选1数据选择器还可以实现8位并行数据转换为串行数据的功能 • 将8位并行数据加到数据输入端,当地址输入S2S1S0由000~111递增变化时,输出端Y依次输出D0~D7数据。

  33. 【例4.12】用加法器实现减法运算。 • 解:用74283构成四位减法器电路。 • 用补码相加来实现两个多位数相减。二进制数A减B,求减数B的补码。反码加1,将减数B通过非门求反,将74283芯片的CI接1,实现B反+1,求得B的补码。 • 二进制数补码相加运算的结果有两种情况: • 当A≥B时,进位输出CO=1,表示相加和为原码; • 当A<B时,进位输出CO=0,表示相加和为负数,必须再次求补运算才能得到原码。 • 片1完成A加B的补码运算(A+B反+1)。片1进位输出CO=1时,取反为0,控制片1输出S3S2S1S0通过异或门和片2,直接输出为A减B的差值D3D2D1D0。片1的进位输出CO=0时,取反为1,控制异或门输出为片1的S3S2S1S0 反码,片2实现S3S2S1S0 反码+1的运算,输出是A减B的差值D3D2D1D0 原码。 • 验证设计结果:设A=9、B=10,A减B,片1运算结果1001+0101+1=01111,片1的CO=0;片2运算结果为0001。 • 设A=12、B=10,片1运算结果1100+0101+1=10010,片1的CO=1; • 片2运算结果为0010。

  34. 【例4.13】 用4位加法器实现两个1位8421BCD码的十进制加法运算。 • 解:4位加法器实现二进制数相加,逢十六进一;8421码相加是逢十进一,解决进制转换问题。 • ① 6+7=13的8421BCD码加法和为十六进制数1101,超出8421BCD码的数值范围,加6修正后,得10011,为二位十进制数的13。 • ② 8+9=17的8421BCD码加法和为二位十六进制数10001,加6修正后,得到10111,为二位十进制数的17。 • 需要加6修正有两种情况: • ①十六进制加法运算的和在10~15之间, • ②加法运算有十六进制的进位CO。可以得出需要加6修正的逻辑函数为 74283作1位8421BCD码加法运算,片1的加法运算结果送入片2的B3B2B1B0。要加6修正,Y为1,片2的A3A2A1A0 = 0110。不要加6修正时,Y为0,片2的A3A2A1A0 = 0000;片2的输出S3S2S1S0为相加的和,Y也是进位输出。

  35. 4.4 组合逻辑电路的冒险现象 • 信号通过连线、集成门都有延迟时间,电路中多个输入信号变化时,经过多条路径传送后,有快慢的差异,产生瞬间的错误,输出端出现错误的尖峰脉冲,称为竞争冒险。 • 4.4.1 产生竞争冒险的原因 • A由0上升为1, 由1下降为0时, 等于0。B信号通过非门增加延迟时间,下降沿到达与门比A信号上升沿晚1tpd,输出端出现一个正向尖峰脉冲,“1冒险”。 • B信号通过非门增加延迟时间,上升沿到达或门的时间比A信号下降沿晚1tpd,输出端出现了负向尖峰脉冲,“0冒险”。 • 冒险现象可能引起后级电路的错误动作。产生冒险的原因是两个互补的输入信号分别经过两条路径传输,延迟时间不同,到达的时间不同,这种现象称为竞争。

  36. 分析产生竞争冒险现象。电路逻辑表达式 • 当B=C=1时, • 分析输出波形,输入信号A发生变化,通过非门的 信号比A延迟1tpd变化,通过与门的 比AC延迟了1tpd变化,输出波形Y出现了负向尖峰脉冲,电路存在竞争冒险。 • 判断一个组合电路是否存在冒险,当组合逻辑函数的表达式中部分变量为确定值时,表达式可能出现 或 的情况,有可能出现竞争冒险现象。

  37. 4.4.2 消除竞争冒险的方法 • 1.增加冗余项 • 增加乘积项BC, B=C=1时,Y=1,不产生冒险。增加了乘积项BC后,不是“最简”函数式,称为冗余项。 • 2.消去互补相乘项 • A=C=0时, 存在冒险。如变换为, • 消去 项,在A=C=0时,Y=0,电路不会出现竞争冒险。 • 3.增加选通信号 • 冒险现象出现在输入信号发生转换的瞬间,在稳定状态没有冒险信号。逻辑电路中增加选通脉冲,接到产生冒险门电路的输入端。就可能避免出现冒险脉冲。增加了选通脉冲后,组合逻辑电路的输出是脉冲信号。 门电路引入选通脉冲的方法和极性。 • 4.增加输出滤波电容 在可能产生竞争冒险的逻辑电路输出端并接一个滤波电容(4~20 pF),滤除冒险的毛刺信号,消除冒险。

  38. 作 业 答 案 4.3 试用与非门和异或门实现逻辑函数 Y(A,B,C,D)=∑m(0,2,4,6,8,9,10,13,14) 4.5某保险柜有3个按钮A、B、C,如果在按下按钮B的同时再按下按钮A或C,则发出开启柜门的信号Y1,柜门开启;如果按键错误,则发出报警信号Y2,柜门不开。试用或非门设计一个能满足这一要求的多输出组合逻辑电路。

  39. 4.10 写出如图4.44所示8选1数据选择器的输出函数表达式。如果改用双4选1数据选择器74153来实现逻辑函数Y,试画出其逻辑图。 • 4.12 用一片3线-8线译码器74LS138和与非门实现下列逻辑函数: (1) (2) (3)

  40. 4.13 试用4线-16线译码器74LS154和门电路实现下列多输出逻辑函数。图4.45是74LS154的逻辑图,、是控制端,其同时为低电平时,译码器正常工作。A3~A0为地址码输入端,Y15~Y0为低电平译码输出。 • (1) • (2) • 答案:Y1=Σm(2,3,4,7,12,13,15) • Y2=Σm(0,1,5,6,9,11,14) • 4.14 用双4选1 74LS153实现函数: (1) Y1=Σm(0,1,2,6,5,7) (2)Y2 =∑m(0,2,5,7,8,10,13,15); (3) Y3=Σm(1,6,7)

  41. 4.19 试用8选1数据选择器设计一个组合逻辑电路,使其输出信号Y与输入信号A、B、C、D的关系满足如图4.47所示的波形图。

  42. 4.21 用3线-8线译码器构成的电路, • 当输出Y0~Y7分别被译中时, • 求输入地址码A7~A0的 • 十六进制数取值范围。 • 解:A7A6A5A4A3A2A1A0 • 11100 000 - 11100 111 • ( E0 ~ E7 )H 4.22 用4位比较器7485和4位加法器74283构成电路 • 试分析电路的逻辑功能。 • 答案:YA>B=1, A-B运算; A+B反+1 • YA>B=0, B-A运算 B+A反+1

More Related