660 likes | 796 Views
第三章 组合逻辑电路. 本章提要: 既介绍算术运算电路、信号变换电路、数字比较器等常用组合逻辑电路的工作原理和使用方法,又介绍 CMOS 、 LSTTL 集成芯片在工程设计中的应用。 通过本章的学习,应达到以下要求: 1 、掌握半加器、全加器、常用算术 / 逻辑运算单元等运算电路集成芯片的工作原理和使用方法; 2 、掌握典型的译码器、编码器、数据选择器、数据分配器等信号变换电路集成芯片的工作原理和使用方法; 3 、了解数值比较器的工作原理和扩展方法;了解组合逻辑电路中的竞争与冒险现象。会进行基本组合逻辑电路的应用设计。. 第三章 组合逻辑电路. Y 1. Y 2.
E N D
第三章 组合逻辑电路 本章提要: 既介绍算术运算电路、信号变换电路、数字比较器等常用组合逻辑电路的工作原理和使用方法,又介绍CMOS、LSTTL集成芯片在工程设计中的应用。 通过本章的学习,应达到以下要求: 1、掌握半加器、全加器、常用算术/逻辑运算单元等运算电路集成芯片的工作原理和使用方法; 2、掌握典型的译码器、编码器、数据选择器、数据分配器等信号变换电路集成芯片的工作原理和使用方法; 3、了解数值比较器的工作原理和扩展方法;了解组合逻辑电路中的竞争与冒险现象。会进行基本组合逻辑电路的应用设计。
第三章 组合逻辑电路 Y1 Y2 X1 X2 组合逻辑电路 输入 输出 . . . Yn . . . Xn 3.1 概 述 ◆数字电路按逻辑功能和电路结构的不同特点来划分可分为两类:组合逻辑电路、时序逻辑电路。 在任何时刻,输出状态只决定于该时刻各输出状态的组合,而于电路以前的状态无关的逻辑电路称为组合逻辑电路。
第三章 组合逻辑电路 3.1 概 述 ◆组合逻辑电路的特点是: (1)输出与输入之间没有反馈延时通路 (2)电路中没有记忆元件 ◆组合逻辑电路的表示方法除函数表达式外,还可以由真值表、卡诺图、逻辑电路图来表达,实际上由一种表示方法可推出另一种表示方法。
第三章 组合逻辑电路 3.1 概 述 组合逻辑电路的分析 组合逻辑电路分析的主要任务是根据其逻辑电路图确定逻辑功能。 确定 已知逻辑电路 逻辑功能 • 分析步骤: • ①写出逻辑图输出端的逻辑表达式 • ②化简和变换逻辑表达式 • ③列出真值表 • ④根据真值表和逻辑表达式对逻辑电路进行分析,最后确定电路的逻辑功能,并可附加简单说明。
第三章 组合逻辑电路 Y2 & . & A . Y1 & Y . B & Y3 3.1 概 述 组合逻辑电路的分析 例 Y = Y2 Y3 进行逻辑变换和化简:
第三章 组合逻辑电路 A B Y 0 0 0 =1 1 1 0 A Y 0 1 1 B 1 1 0 逻辑符号 3.1 概 述 组合逻辑电路的分析 例 真值表 “异或”门
第三章 组合逻辑电路 3.1 概 述 组合逻辑电路的设计 ◆当用小规模集成电路设计组合逻辑电路时一般步骤如下: ①分析设计任务,确定输入变量、输出变量,找到输出与输入之间的 因果关系,列出真值表。 ②由真值表写出逻辑表达式。 ③化简、变换逻辑表达式,并画出逻辑图。 这样逻辑电路原理设计的工作任务就完成了,实际设计工作还包括集成电路芯片的选择,电路板工艺设计,安装、调试等内容 ◆组合逻辑电路设计的任务是根据给定的逻辑问题(课题),设计出能实现其逻辑功能的组合逻辑电路,最后画出实现逻辑功能的电路图,当用逻辑门设计组合逻辑电路时,要求使用的芯片最少、连接线最少。实际上,组合逻辑电路的设计与分析过程是一个相反的工作
第三章 组合逻辑电路 3.1 概 述 组合逻辑电路的设计 ◆设计步骤 卡诺图化简 用SSI实现 最简式 逻辑电路图 逻辑抽象 实际逻 辑问题 真值表 逻辑赋值 适当形式的函数式 逻辑电路图 函数变换 用MSI实现
第三章 组合逻辑电路 3.1 概 述 组合逻辑电路的设计 用与非门设计一个举重裁判表决电路。设举重比赛有3个裁判,一个主裁判和两个副裁判。杠铃完全举上的裁决由每一个裁判按一下自己面前的按钮来确定。只有当两个或两个以上裁判判明成功,并且其中有一个为主裁判时,表成功的灯才亮 例 1、设主裁判为变量A,副裁判分别为B和C;表示成功与否的灯为Y,根据逻辑要求列出真值表 2、逻辑表达式:
第三章 组合逻辑电路 1 1 1 3.1 概 述 组合逻辑电路的设计 用与非门设计一个举重裁判表决电路。设举重比赛有3个裁判,一个主裁判和两个副裁判。杠铃完全举上的裁决由每一个裁判按一下自己面前的按钮来确定。只有当两个或两个以上裁判判明成功,并且其中有一个为主裁判时,表成功的灯才亮 例 3、化简 Y= AB +AC 4、逻辑电路图
第三章 组合逻辑电路 3.1 概 述 组合逻辑电路设计中应注意的问题 在我们设计电路时,最终电路可能存在一个门电路的输出带的负载非常多,可能超过器件的带负载能力,由于负载一般为同系列的门电路,故这类问题通常叫扇出问题。 解决这种问题通过可通过两种方法解决:一种是采用扇出系数大的门作为输出(选择器件手册中称为带缓冲的门),这种门的扇出可达20个,是可以满足要求的。另一种方法是采用分组的方法增加驱动能力 ◆输入端的限制问题(扇入问题) ◇多余输入端的处理 ◇电路提供的输入端少于实际需要的输入端 当集成电路的输入端少于实际电路需要的输入端数时,比输入有多余端的处理措施复杂得多,通常采用分组的方法进行解决 ◆扇出问题
第三章 组合逻辑电路 3.2 算术运算电路 半加器电路 半加器是只考虑两个加数本身相加,而不考虑来自低位进位的逻辑电路 例 设计一位二进制半加器,输入变量有两个,分别为加数A和被加数B;输出也有两个,分别为和数S和进位C 1、真值表 2、逻辑表达式 3、逻辑电路
第三章 组合逻辑电路 3.2 算术运算电路 全加器电路 全加器是完成两个二进制数Ai和Bi及相邻低位的进位Ci-1相加的逻辑电路 例 设计一个全加器,其中,Ai和Bi分别是被加数和加数, Ci-1为相邻低位的进位,Si为本位的和,Ci为本位的进位 1、真值表 2、逻辑表达式
第三章 组合逻辑电路 & & & Ai Bi Ci-1 Ci ≥1 Ai Si Bi CO Ci Ci-1 CI =1 Si 3.2 算术运算电路 全加器电路 例 设计一个全加器,其中,Ai和Bi分别是被加数和加数, Ci-1为相邻低位的进位,Si为本位的和,Ci为本位的进位 3、逻辑电路
第三章 组合逻辑电路 3.3 信号变换电路 编码器 十进制码→8421BCD编码器 在日常生活中,人们通常使用十进制数来进行处理计算,然而数字设备却用二进制数或代码进行判断处理。十进制码→8421BCD编码器的作用就是将人们习惯使用的十进制数变换成8421BCD码的电路(十进制数X与四位二进制数的关系是,对应权分别为8421) 高低电平信号 二进制代码 2n个 n位 编码器
第三章 组合逻辑电路 3.3 信号变换电路 编码器 真值表 十进制码→8421BCD编码器 十进制码输入有10个数码,要求对应有10种输出状态,而3位二进制代码只有8种状态,所以输出需用4位(取n=4)二进制代码.设输入的10个数码分别用I0、I1、…、I9表示,输出的8421BCD码分别采用Y3、Y2、Y1、Y0表示
第三章 组合逻辑电路 3.3 信号变换电路 编码器 十进制码→8421BCD编码器 由于I0、I1、…、I9是一组相互排斥的变量,故可由真值表直接写出输出函数的逻辑表达式:
第三章 组合逻辑电路 3.3 信号变换电路 译码器 译码是编码的反过程,它是将代码的组合译成一个特定的输出信号 高低电平信号 二进制代码 译码器
第三章 组合逻辑电路 3.3 信号变换电路 译码器 集成4线-10线译码器 8421BCD输入的集成4线-10线译码器CC74HC42的引脚排列图和逻辑功能示意图 (a)引脚排列图 (b)逻辑功能 CC74HC42的输出为反变量,即为低电平有效,并且采用完全译码的方案
第三章 组合逻辑电路 BCD 数码 显示 译码器 数码 显示器 a b f g c e d 3.3 信号变换电路 译码器 8421BCD码→七段10进制码显示的译码器 数字系统中,常需要将运算结果用人们习惯的十进制显示出来,这就要用到显示译码器 半导体显示(LED) 主要用于显示数字和字线 液晶显示(LCD) 可以显示数字、字母、文字和图形等 七段显示器: 用七个发光字段构成 0 9 十个数字 每字段是一只发光二极管
第三章 组合逻辑电路 COM +VCC g a b f Ya a A3 Yb g a b c d e f Yc f b g A2 显示 译码器 Yd 1 0 0 1 0 0 0 0 0 0 Ye A1 e c Yf 0 0 0 1 0 0 1 1 1 0 A0 Yg d 共阴 .h 0 0 1 0 1 0 0 1 1 0 1 1 0 1 0 0 1 0 1 0 e d c . h COM 3.3 信号变换电路 译码器 8421BCD码→七段10进制码显示的译码器 ◆共阴极 — 高电平驱动 1 1 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 1 1 0 0 0 0
第三章 组合逻辑电路 +UCC +UCC Ya 0 0 0 1 1 0 0 0 0 0 Yb A3 Yc 0 0 1 0 0 1 0 0 1 1 显示 译码器 A2 Yd Ye 0 0 0 0 1 1 0 0 1 1 A1 Yf A0 1 0 1 1 0 0 1 0 1 0 Yg 共阳 3.3 信号变换电路 译码器 8421BCD码→七段10进制码显示的译码器 ◆共阳极 — 低电平驱动 a b c d e f g 0 0 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 1 0 0 1 1 1 1 0 0 0 0 0 0 1 UCC
A3A2A1A0 a b c d e f g 09 0 0 1 1 1 1 1 1 0 0 1 0 1 0 0 0 1 1 0 0 1 1 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 a 0 1 1 1 1 1 1 0 0 0 0 b f g 1 0 0 0 1 1 1 1 1 1 1 c e 1 0 0 1 1 1 1 0 0 1 1 d 7段显示译码器真值表 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 1 0 1 1 0 1
第三章 组合逻辑电路 ≥1 ≥1 1 ≥1 ≥1 ≥1 ≥1 ≥1 ≥1 ≥1 ≥1 ≥1 ≥1 ≥1 ≥1 ≥1 ≥1 ≥1 ≥1 ≥1 1 1 1 A0 A1 A2 A3 3.3 信号变换电路 译码器 8421BCD码→七段10进制码显示的译码器 a c e f g b d
第三章 组合逻辑电路 A1 A0 I3 Y I2 I1 I0 3.3 信号变换电路 数据选择器 数据选择器的工作原理 从一组数据中选择一路信号进行传输的电路 控制信号 数据选择器类似多路开关。选择哪一路信号由相应的一组控制信号控制 输出信号 输入信号
第三章 组合逻辑电路 A1 A0 E E A 1 1 1 1 A 0 四选 D Y 一 0 & ≥1 D 1 D D 2 0 D 3 D 1 Y D 2 D 3 逻辑图 3.3 信号变换电路 数据选择器 数据选择器的工作原理 CC4539 符号图
第三章 组合逻辑电路 3.3 信号变换电路 数据选择器 数据选择器的工作原理 四选一功能表
第三章 组合逻辑电路 7 E 16 UCC Y 5 1 D 11 A 3 0 D4 10 A D 1 2 9 A D5 D 2 4 D 1 D6 0 74HC151 D 74HC151 3 D 0 1 D7 2 D W 2 Y 16 1 D A 3 W 15 D 0 4 A 14 D E 1 5 13 D GND 8 9 A 6 2 12 D 7 3.3 信号变换电路 数据选择器 数据选择器CC74HC151 一种典型的集成8线-1线数据选择器 使能端,低电平有效 地址信号输入端 8 路数据 输入端 引脚图 符号图 互补 输出端
第三章 组合逻辑电路 3.3 信号变换电路 数据选择器 数据选择器CC74HC151
第三章 组合逻辑电路 3.3 信号变换电路 数据选择器 数据选择器的应用 利用数据选择器,当使能端有效时,将地址输入、数据输入代替逻辑函数中的变量实现逻辑函数 例 用八选一数据选择器CC74HC151产生逻辑函数: 1、把逻辑函数变换成最小项表达示:
第三章 组合逻辑电路 3.3 信号变换电路 数据选择器 数据选择器的应用 例 用八选一数据选择器CC74HC151产生逻辑函数: 2、八选一数据选择器的输出逻辑函数表达式为 若将式中A2、A1、A0用A、B、C来代,D0=D1=D3=D6=1, D2=D4=D5=D7=0,画出该逻辑函数的逻辑图
第三章 组合逻辑电路 Y E A A 2 74HC151 B A 1 C A 0 D D D D D D D D 0 1 2 3 4 5 6 7 1 0 3.3 信号变换电路 数据选择器 数据选择器的应用 例 用八选一数据选择器CC74HC151产生逻辑函数: 3、逻辑图为
第三章 组合逻辑电路 Y = AB + AC + BC = ABC + ABC + ABC + ABC Y′= A2A1A0D0 + A2A1A0D1 + A2A1A0D2 + A2A1A0D3 + A2A1A0D4 + A2A1A0D5 + A2A1A0D6 + A2A1A0D7 3.3 信号变换电路 数据选择器 数据选择器的应用 例 用数据选择器实现三变量多数表决器 1、选择数据选择器 Y为三变量函数 ,故选用 8 选 1 数据选择器,现选用 74HC151 2、写出逻辑函数的最小项表达式 3、写出数据选择器的输出表达式
第三章 组合逻辑电路 则 Y′= ABCD0 + ABCD1 + ABCD2 + ABCD3 + ABCD4 + ABCD5 + ABCD6 + ABCD7 3.3 信号变换电路 数据选择器 数据选择器的应用 例 用数据选择器实现三变量多数表决器 4、比较 Y 和 Y′两式中最小项的对应关系 令 A = A2 ,B = A1 ,C = A0 D0 =D1 = D2 = D4= 0 为使 Y = Y′,应令 D3 =D5 = D6 = D7 = 1
第三章 组合逻辑电路 Y Y E Y′ A2 A CT74LS151 A1 B A0 C D0 D0 D3 D3 D4 D4 D1 D1 D2 D2 D6 D6 D7 D7 D5 D5 1 1 3.3 信号变换电路 数据选择器 数据选择器的应用 例 用数据选择器实现三变量多数表决器 即可得输出函数 5、画连线图
第三章 组合逻辑电路 3.3 信号变换电路 数据分配器 。 1路对8路数据分配器CC4051的示意图如图3.23所示。 根据输出端的个数不同,数据分配器(即1路对多路模拟开关)可分为1对4路模拟开关、1对8路模拟开关等不同类型.在图3.25中,INH作为数据输入端,C、B、A作为地址端,从Y0~Y7分别得到相应的输出。1路8路模拟开关CC4051的功能表如表3.14所示。 数据分配器又称1路对多对模拟开关,是数据选择器的逆过程,即将一路输入变为多路输出的电路
图3.24 双1对4路模拟开关CC74HC4352引脚图 图3.25 1对8模拟开关CC4051引脚图
※3.4数值比较器 3.4.1 1位数值比较器 在数字系统中,特别是计算机中的CPU具有多种运算功能,其中一种简单的运算功能就是比较两个数A和B的大小。数值比较就是对两数A、B进行比较,以判断其大小的逻辑电路。比较结果有A>B、A<B、A﹦B三种情况。 1位数值比较器是多位比较器的基础。两个1位二进制数进行比较,输入信号是两个要进行比较的1位二进制数,先用A、B表示;输出是比较结果,有三种情况:A>B、A<B、A﹦B,现分别用L1、L2、L3表示。设A>B时L1=1;A<B时L2=1;A=B时L3=1。由此可列出1位数值比较器的真值表,如表3.15所示。根据此表可写出各输出的逻辑表达式: 由以上逻辑表达式可列出1位数值比 较器的逻辑图,如图3.26所示。
3.4.2 集成数值比较器 1. 1 集成数值比较器CC74HC85的功能 集成数值比较器CC74HC85是4位数值比较器,其引脚图如图3.27所示,其功能如表3.16。从表3.16中可以看出,两个4位数A、B比较,是先将A的最高位A3和B的最高位B3进行比较,如果二者不相等就可以作为A、B的比较结果;如果二者相等,则再比较次高位A2和B2,依次类推。显然,如果A=B,则比较步骤必须进行到最低位上才能得到结果。 真值表中的输入变量包括A3与B3、A2与B2、A1与B1、A0与B0输出变量为A与B的比较结果。其中低位片第5,6,7脚的输出信号FA>B、FA<B、FA=B是这两个低位数字的比较结果。设置级联输入端第2,3,4脚是为了进行数值比较器的扩展,以便组成位数更多的数值比较器。
表3.16 4位数值比较器CC74HC85 由真值表可以看出,仅对4位数进行比较时,应对IA>B、IA<B、 IA=B进行适当的处理,及IA>B=IA<B=0、IA=B=1。
2、数值比较器的扩展 利用集成数值比较器的级联输入端,很容易构成更多位的数值比较器。数值比较器的扩展方式有串联和并联两种。采用串联方式扩展数值比较器时,随着位数的增加,从数据输入到稳定输出的延迟时间增加,当位数较多且要满足一定的速度要求时,可以采用并联方式。下面仅以串联方式为例说明数值比较器的扩展方法。 如图3.28所示,两个4位数值比较器CC74HC85串联而成为一个8位数值比较器。由于两个8位数,若高4位相同,它们的大小则由低4位的比较结果确定。因此,低4位的比较结果应作为高4位的条件,即低4位比较器的输出端应分别与高4位比较器的IA>B、IA<B、IA=B的级联输入端连接。 图3.28 数值比较器的位数扩展联接图
对于LSTTL集成数值比较器,最低4位的级联输入端IA>B、IA<B、IA=B必须预先预置为0、0、1,这样就能使两个多位数的各位都相同时,比较器的FA=B输出端为1。对于LSTTL集成数值比较器,最低4位的级联输入端IA>B、IA<B、IA=B必须预先预置为0、0、1,这样就能使两个多位数的各位都相同时,比较器的FA=B输出端为1。 应该注意的是,在CMOS集成数值比较器中,IA>B输入端应该接高电平。这是因为在CMOS集成4位数值比较器中,为了使电路简化,首先实现FA<B和FA=B,再将两者进行或非运算而求得FA>B;而在LSTTL 集成4位数值比较器中,是由各位数码的比较结果求得FA>B、FA=B和FA<B的。
※3.5 组合逻辑电路的竞争和冒险 3.5.1 组合逻辑电路中的竞争、冒险现象 例3.8 试分别画出图3.29(a)、(b)所示电路的输出波形。给定输入波形如图3.29(c)所示,设门的传输延迟时间为tPD,门G2、G3的传输延时不予考虑。 图3.29 例3.7电路及其波形
解:若不考虑门G1的延迟时间,则图3.29(a)(b)所示的输出分别为:解:若不考虑门G1的延迟时间,则图3.29(a)(b)所示的输出分别为: 若考虑门G1的传输延迟时间,则波形 反相以外还要延迟tPD,从而在t1~t2期间,波形 和A同时为高电平,Y1中出现了一个正向的窄脉冲。同理在t3~t4期间,Y2中出现了一个负向脉冲,如图3.29(c)所示,从图3.29中可以看出,同一个门的一组输入信号,由于经过不同长度导线或经过不同数目的“门”的传输,到达门输入端的时间有先有后,这种现象称为“竞争”。 逻辑因输入端的竞争而导致输出产生本不该出现的干扰窄脉冲,后续有“记忆”功能的电路会将其当成有效信号而予以响应,从而使系统出现逻辑错误,称为“冒险”。根据出现的干扰窄脉冲的极性,冒险又分为“0”型冒险和“1”型冒险。 1、“0”型冒险,输出负脉冲 在图3.29(b)中, ,当变量A由高电平变到低电平时,输出Y2产生一个负脉冲,宽度为 ,这一负向脉冲又成为毛刺。但A变化不一定都产生冒险,当A由低变到高时,就无冒险产生。
2、 “1”型冒险,输出正脉冲 在图3.29(a)中, ,当A由低电平变到高电平时产生一宽度为tPD的正脉冲。 综上所述,在组合逻辑电路中,当一个门电路同时输入两个同时向相反方向变化的互补信号时,则在输出端可能会产生不应该有的干扰窄脉冲,这是产生竞争冒险的根本原因。 3.5.2 冒险现象的识别 在电路输入端只有一个变量改变状态的情况下,用代数法或卡诺图法可判断一个组合逻辑是否存在冒险。 1、 代数判别法 写出组合逻辑电路的逻辑表达式,当某些逻辑变量取特定值(0或1)时,若表达式能转换为 或 时,则存在冒险。 例3.9 试判断如图3.30所示逻辑电路是否存在冒险。 因此,如图3.30所示的电路存在冒险。
2. 卡诺图判别法 根据电路逻辑表达式,画出输出变量卡诺图,若卡诺图上的圈相切,且相切处又无其他圈包含,则存在冒险。 例3.10 设逻辑函数 试用卡诺图法判别该电路是否存在冒险。 解: 卡诺图如图3.31所示,因此存在冒险。 在试验室中,通过示波器和逻辑分析仪来检查电路的竞争和冒险是常用的方法,并能对电路的设计和计算机仿真的结果进行验证。
3.5.3 冒险现象的消除方法 消除组合逻辑电路的冒险现象,主要有以下三种方法。 1、在输出端接滤波电容 由于竞争产生的干扰脉冲一般很窄,所以在电路的输出端对地接一个电容值在100pF以下的小电容,是输出波形的上升和下降都变得比较缓慢,从而消除冒险现象。 2、引入选择脉冲 因为冒险现象仅仅从发生在输入信号变化转换的瞬间,在稳定状态是没有冒险信号的,所以,采用选择脉冲,输入信号发生转换的瞬间,正确反映组合电路稳定时的输出值,可以有效地避免各种冒险。常用的选择脉冲的极性及所加的位置如图3.32所示。 图3.32 选通脉冲的极性及所加的位置示意图 当输入信号变换完成,进入稳态后,才启动选通脉冲将门打开。这样,输出端就不会出现冒险脉冲。