Download presentation
Presentation is loading. Please wait.
1
第三章 组合逻辑电路
2
第三章 组合逻辑电路 … §3.1 概述 数字电路按其完成逻辑功能的不同特点,可划分为组合逻辑电路和时序逻辑电路两大类。 x1 z1
第三章 组合逻辑电路 § 概述 数字电路按其完成逻辑功能的不同特点,可划分为组合逻辑电路和时序逻辑电路两大类。 组合逻辑电路:指该电路在任一时刻输出的稳定状态,仅取决于该时刻的输入信号,而与输入信号作用前电路所处的状态无关。 特点:从电路结构上看,组合逻辑电路仅由门电路组成,电路中无记忆元件,输入与输出之间无反馈。 组合逻辑电路 … x1 xn z1 zm 向量函数形式: Z=F(X)
3
§3.2 组合逻辑电路的分析方法和设计方法 一、分析组合逻辑电路,一般是根据已知的逻辑电路,找出其逻辑函数表达式,或写出其真值表,从而了解其电路的逻辑功能。 有时分析的目的在于检验所设计的逻辑电路是否能实现预定的逻辑功能。 分析组合逻辑电路的一般步骤: ①用文字或符号标出各个门的输入或输出。 ②从输入端到输出端逐级写出输出函数对输入变量的逻辑函数表达式,也可由输出端向输入端逐级推导,最后得到以输入变量表示的输出逻辑函数表达式。 ③用逻辑代数或卡诺图化简或变换各逻辑函数表达式,或列出真值表。
4
④根据真值表或逻辑函数表达式确定电路的逻辑功能。
例:试分析如下图电路的逻辑功能。 ⅰ.写出逻辑函数表达式: 从逻辑函数式中不能直观地看出这个电路的逻辑功能和用途。需要把其转换成真值表的形式。
5
ⅱ.作逻辑真值表: 可以看出,当DCBA表示的二进制数小于或等于5时Yo为1,这个二进制数大于5且小于11时Y1为1,当这个二进制数大于或等于11时Y2为1。 因此,这个逻辑电路可以用来判别输入的4位二进制数数值的范围。
6
二、组合逻辑电路的设计方法: 根据给出的实际逻辑问题,求出实现这一逻辑功能的最简单逻辑电路。设计步骤如下: 1.进行逻辑抽象,将一个实际的逻辑问题抽象为一个逻辑函数。首先分析所给实际逻辑问题的因果关系,将引起事件所产生的结果作为输出函数,再分别以二值逻辑0和1给以逻辑赋值,做出真值表。 2.根据真值表可写出输出逻辑函数的“与或”表达式。 3.将输出逻辑函数表达式进行化简或变换。 4.根据化简或变换后的输出逻辑函数表达式,画出其逻辑图。 5.工艺设计。包括设计机箱、面板、电源、显示电路、控制开关等等。最后还必须完成组装、测试。
7
§3.3 常用的逻辑电路 本节介绍了几种常用组合逻辑电路的分析和设计。 为了使用方便,目前已将这些常用电路的设计标准化,且制成了中、小规模单片集成电路产品。 §3.3.1编码器 为了区分一系列不同的事物,将其中的每个事物用一个二值代码表示,即为编码的含意。编码器的逻辑功能就是把输入的每一个高、低电平信号编成一个对应的二进制代码。 一、3位二进制编码器 它的输入是 I0~I7 8个高电平信号,输出是3位二进制代码Y2Y1Y0。因此,它又称为8线-3线编码器。 输入I0~I7当中只允许一个取值为1。
8
3位二进制编码器的真值表 得逻辑表达式: (利用约束项化简)
9
优先8线-3线编码器 在上述二进制编码器中,如果多个输入端同时为1,其输出是混乱的。因此,在数字系统中常要求当编码器同时有多个输入为有效时,输出不但有意义, 且应按事先编排好的优先顺序输出,当几个输入信号同时出现时,只对其中优先权最高的一个进行编码。 输入信号以I7的优先权最高,I0的优先权为最低。
10
Y2=I7+I6+I5+I4 Y1=I7+I6+I3I4I5+I2I4I5 Y0=I7+I5I6+I3I4I6+I1I2I4I6
扩展电路功能: G1门、G2门、G3门组成控制电路。 S-控制端(选通输入端) Ys-选通输出端,低电平表示“无编码信号输入” YEX-扩展端,低电平表示“有编码信号输入” 8线-3线优先编码器74LS148的逻辑图
11
把I1~I9的十个状态分别编成十个BCD码。其中I9的优先权最高,I1的优先权最低。
二、二-十进制编码器: 74LS147的功能表 把I1~I9的十个状态分别编成十个BCD码。其中I9的优先权最高,I1的优先权最低。
12
二-十进制优先编码器74LS147的逻辑图
13
试用两片74LS148接成16线-4线优先编码器,将A0~A15 16个低电平输入信号编为0000~1111 16个4位二进制代码。其中A15的优先权最高,A0的优先权最低。
14
编码的逆过程,即将具有特定含义的一组代码“翻译”出它的原意叫译码。
§3.3.2 译码器(解码器) 编码的逆过程,即将具有特定含义的一组代码“翻译”出它的原意叫译码。 一、二进制译码器: 3位二进制译码器(3线-8线译码器) 3位二进制译码器的框图 译码器将每个输入代码译成对应的一根输出线上的高、低电平信号。
15
采用二极管与门阵列构成的3位二进制译码器 用二极管与门阵列构成的译码器比较简单,但是其电路的输入电阻较低而输出电阻较高,且输出的高、低电平信号发生偏移。 通常只在一些大规模集成电路内部采用这种结构,而在一些中规模集成电路译码器中多采用三极管集成门电路结构。
16
用与非门组成的3线-8线译码器74LS138 S1,S2,S3为片选段,S1=1,S2=S3=0时,Gs输出高电平,译码器处于工作状态。
17
3线-8线译码器74LS138的功能表 S 1 2 +S 3 A Y 4 5 6 7 x 输出 输入
18
二、二-十进制译码器:将输入BCD码的十个代码译成十个高、低电平输出信号。
19
二-十进制译码器74LS42的真值表
20
试用两片3线-8线译码器74LS138组成4线-16线译码器,将输入的4位二进制代码D3D2D1D0译成16个独立的低电平信号Z0~Z15。
21
§3.3.3 数据选择器(多路转换器) 从多个输入数据中选择一个送至输出端,以双4选1数据选择器74LS153为例,它包含两个完全相同的4选1数据选择器,两个数据选择器有公共的地址输入端,而数据输入端和输出端十各自独立的。通过给定不同的地址代码,即可从4个输入数据中选出所要的一个,并送至输出端Y。 逻辑表达式:
22
在CMOS集成电路中经常用传输门组成数据选择器。以双4选1数选器CC14539为例:
S为附加控制端,S=0时数选器正常工作,S=1时数选器被禁止工作,输出被封锁为低电平。此外,S也作为扩展端使用,以实现片间的连接。
23
试用一片双4选1数选器CC14539组成一个8选1数据选择器。
24
§3.3.4 加法器 一、半加器:不考虑进位将两个一位二进制数A和B相加。 CO S C A B 半加和 向高位的进位 二、全加器:其输入不仅有两个1位二进制数相加,还需加上低位送来的进位。 又有: CO S C A B CI 以双全加器74LS183为例,其图形符号为:
25
双全加器74LS182的1/2逻辑图 三、多位加法器:进行两个多位二进制数的相加 1.串行进位加法器:依次将低位的进位输出接到高位的进位输入,每一位的相加结果都必须等到低一位进位产生以后才能建立(行波进位加法器)
26
这种加法器的最大缺点是运算速度慢,做一次加法运算可能需要四个全加器的传输延迟时间。但是其电路结构比较简单。
2.超前进位加法器:进位Ci是Ai-1,Ai-2,......,A0及Bi-1,Bi-2,......, B0的函数,通过逻辑电路得出每一个Ci Ci=AiBi+(Ai+Bi)Ci-1 可使 Gi=AiBi,Pi=(Ai+Bi) 则 Ci=Gi+PiCi-1 将此式展开得:
27
Ci= Gi+PiCi-1 = Gi+Pi(Gi-1+Pi-1Ci-2) = = Gi+PiGi-1+PiPi-1Gi PiPi P1G0+PiPi P0C0 4位超前进位加法器74LS283的逻辑图如右图
28
§3.3.5 数值比较器 用来将两个同样位数的二进制数A、B进行比较,并能判别其大小关系的逻辑器件,叫做数码比较器。 1.两个一位二进制数的比较 ①A>B(A=1,B=0)则 ②A<B(A=0,B=1)则 ③A=B(A=B=0,A=B=1)则 输出函数式 Y(A=B)=A⊙B
29
2.比较两个多位数A和B,需从高而低逐位比较。
例两个4位二进制数A3A2A1A0和B3B2B1B0进行比较,以下是4位数码比较器CC14585 I(A<B)、I(A=B)和I(A>B)是扩展端,供片间连接时用。
30
Y(A<B)=A3B3+(A3⊙B3)A2B2+(A3⊙B3)(A2 ⊙B2)A1B1 +(A3⊙B3)(A2⊙B2)(A1⊙B1)A0B0 +(A3⊙B3)(A2⊙B2)(A1⊙B1)(A0⊙B0)I(A<B) Y(A=B)=(A3 ⊙B3)(A2 ⊙B2)(A1 ⊙B1)(A0 ⊙B0)I(A<B) Y(A>B)=Y(A<B)+Y(A=B) 试用两片CC14585组成一个8位数值比较器。
31
§3.4 组合逻辑电路的设计 一、设计方法的分类:
§3.4 组合逻辑电路的设计 一、设计方法的分类: 随着微电子技术的不断发展,单块芯片的集成度越来越高,出现了小规模(SSI)、中规模(MSI)、大规模(LSI)和超大规模(VLSI)集成电路。 TTL电路中,以单块芯片所包含的门电路或等效门电路的数目来划分集成规模。 MOS系列中,则以单块芯片所包含的元器件数目来划分的。 TTL电路 MOS系列 12个以下的 个以下的 ———— 小规模集成电路 ~100之间的 ~1000之间 ———— 中规模集成电路 以上的 1000~10000之间 ———— 大规模集成电路 10000以上的 ———— 超大规模集成电路 一般说来,小规模集成电路仅仅是器件的集成 中规模集成电路是逻辑部件的集成 大、超大规模集成电路则是数字系统或子系统的集成
32
实现组合逻辑电路的设计,根据所用器件不同,设计方法有:① SSI 用数字电路设计的经典方法 ② MSI 用中规模集成功能模块实现其他组合逻辑功能 ③ LSI 使用大规模集成电路的可编程逻辑器件PLD,实现给定逻辑功能的设计 二、用SSI设计组合逻辑电路 1.单输出组合逻辑电路的设计: 例:设计一个监测信号灯工作状态的逻辑电路。这组信号灯分别为红、黄、绿三盏。点亮状态只允许为红、绿、黄和绿三种之一。其他状态表示电路出现故障。要求电路能够发生故障信号。 解: 一、进行逻辑抽象:以三个灯的状态为输入变量,用A,B,C表示,灯亮为1,灯不亮为0;故障信号为输出,用Y表示,正常状态为0,故障发生则为1。列出真值表如下:
33
二、写出逻辑函数式: Y=AB C+ABC+ABC+ABC+ABC
三、化简: Y=AC+AC+AB 转换为与非-与非式: 四、画逻辑图:
34
2.多输出组合逻辑电路的设计: 例:设计一个输入为BCD代码的七段字形译码器。BCD代码可用8421BCD码,七段字形显示器件可用七段独立的发光元件(发光二极管LED、液晶显示器LCD、荧光数码管、真空电子管等) 解:用七段独立的发光元件(发光二极管LED、液晶显示器LCD、荧光数码管或真空电子管)显示数字0--9。
36
Ya=A3A2A1A0+A3A1+A2A0 Yb=A3A1+A2A1A0+A2A1A0 Yd=A2A1A0+A2A1A0+A2A1A0 Yc=A3A2+A2A1A0 Ye=A2A1+A0 Yf=A3A2A1+A2A1+A1A0 Yg=A3A2A1+A2A1A0
38
三、用MSI设计组合逻辑电路 数字集成电路生产工艺不断成熟,中大规模通用数字集成电路产品已批量生产,产品已标准化、系列化,且成本低廉,许多数字电路都可直接使用中大规模集成电路的标准模块来实现。这样可以缩小电路的体积,减少连线,提高电路的可靠性,降低成本,且其它一些逻辑功能也可以用标准的中规模集成模块来设计。 MSI设计最简标准:所用集成模块数目最少,品种最少,集成模块之间连线最少。 目前,用于实现组合逻辑电路设计最多的中规模集成电路有数据选择器,译码器,全加器等。单输出函数选用数据选择器,多输出函数则选用译码器。
39
一、用数据选择器实现逻辑函数 例1: 试用四选一数据选择器实现逻辑函数 ——— (1)式 解:当S=1时,4选1数选器的逻辑函数式为: Y= D0(A1A0)+D1(A1A0)+D2(A1A0)+D3(A1A0) 分析:将地址输入A0 , A1和数据输入视为三变量R , A ,G. 则需令 D0 ~D3为第三个变量的适当状态(原变量,反变量,0,1),将(1)式变换成与(2)式对应的形式: Y= G ( R A ) + G ( R A ) + G ( R A ) + 1 ( R A ) ——— (2)式 ——— (3)式 将(2)式与(3)式对比: 令 A1=R,A0=A,D0=D2=G D1=G,D3=1
40
例2:用八选一数据选择器产生三变量逻辑函数
解:8选1数选器的地址输入位数n=3,分别对应A2=A,A1=B,A0=C,与8选1数选器的逻辑函数式对比: Y=D0(A2A1A0)+D1(A2A1A0)+D2(A2A1A1)+D3(A2A1A0) +D4(A2A1A0)+D5(A2A1A0)+D6(A2A1A0)+D7(A2A1A0) Z=A B C+AC+ABC =1(A B C)+0(A BC)+0(ABC)+1(ABC)+0(AB C)+1(ABC) +0(ABC)+0(ABC) 得:D0=D3=D5=D7=1 D1=D2=D4=D6=0
41
可看出一片4选1数选器能产生任何一种最多3变量的逻辑函数,一片8选1数选器能产生任何一种最多4变量的逻辑函数,
可看出一片4选1数选器能产生任何一种最多3变量的逻辑函数,一片8选1数选器能产生任何一种最多4变量的逻辑函数,.....,即具有n位地址输入的数据选择器可以产生任何一种输入变量数不大于n+1的组合逻辑函数。
42
二、用译码器产生多输出逻辑函数 例3:试利用3线-8线译码器产生一组多输出逻辑函数 Y0 = A2 A1 A0 = m0 Y2 = A2 A1 A0 = m2 Y1 = A2 A1 A0 = m1 Y3 = A2 A1 A0 = m3 Y4 = A2 A1 A0 = m4 Y5 = A2 A1 A0 = m5 Y6 = A2 A1 A0 = m6 Y7 = A2 A1 A0 = m7 解:当S=1时,3线—8线译码器各输出端的函数式为:
43
将Z1~Z4化为最小项之和的形式: Z1= ABC + ABC + ABC + ABC = m3 + m4+ m5+ m6 Z2= ABC + ABC + A BC = m1 + m3+ m7 Z3= ABC + ABC + ABC + ABC = m3 + m4+ m5+ m6+m7 Z4= ABC + A BC + ABC + ABC = m0 + m2+ m4+ m7 经转换得: Z1= m3 m4 m5 m6 Z2= m1 m3 m7 Z3= m3 m4 m5 m6m7 Z4= m0 m2 m4 m7
44
例4.设计一个能将BCD代码转换为余3代码的代码转换器。
解:列出代码转换电路的逻辑真值表: 可得: Y3Y2Y1Y0=DCBA+ 0011
45
§3.5 组合逻辑电路中的竞争-冒险现象 一、竞争-冒险现象及其成因 门电路两个输入信号同时向相反的逻辑电平跳变的现象称为竞争。我们把由于竞争而在电路输出端可能产生尖峰脉冲的现象叫做竞争-冒险现象。 分析当输入信号逻辑电平发生变化的瞬间,电路的工作情况: & A B Y
46
A 1 Y B 二、竞争-冒险是组合逻辑电路中经常会发生的一种现象,必须采取恰当的措施加以防止。 消除竞争—冒险现象的方法有:1.引入封锁脉冲 2.引入选通脉冲 3.接入滤波电容 4.修改逻辑设计 在负载电路对竞争-冒险所产生的尖峰脉冲不敏感时,如负载为发光器件,竞争-冒险所产生的尖峰脉冲对电路的工作没有影响,可不必考虑这一问题。
47
同一输入变量经不同途径到达输出门的情况(m、n 均为正整数)
48
卡诺图法 有相接的卡诺图 加搭接块的卡诺图 利用取样脉冲克服险象 A B L C D 1 取样脉冲 A B C & 1 L D 取样脉冲
49
例、用74138和最少的逻辑门设计一地址译码器,要求地址范围是十六进制00-3FH.
分析:地址码共有64个,则译码输出端共有64个,需要八片3/8译码器(74138)。 地址低三位接74138的地址输入端。 高三位地址信号用来对八片74138寻址。 电路图有如下两种形式:
52
译码器真值表如下( 输出低电平有效): A5A4A3A2A1A0 Y0Y1Y2…Y61Y62Y63 … … …….. ……… … …
53
例:设计一个电路,可以把带符号的二进制数(包括符号位在内共8位)变换为该数的补码。可供选择的集成电路为二进制加法器74LS283和其他门电路(数量均不限)。已知74LS283的图形符号如下图所示。(中国科学技术大学招研考题 10分)
54
解:设输入带符号二进制数为A7~A0,其补码为B7~B0。当A7=0时,输出与输入相同;当A7=1时,需要对输入码进行“求反加1”的运算。由7个异或门以及两片四位加法器74LS283构成,如图所示。
55
A2、A1、A0为地址信号。试用该数据选择器实现函数
例4 例3:已知八选一数据选择器的输出函数为 式中 Di为数据输入端, ... A2、A1、A0为地址信号。试用该数据选择器实现函数 画出逻辑草图(可附加必要的门电路)。
56
1 例 5 用四选一数据选择器实现如下逻辑函数: F=∑(0, 1, 5, 6, 7, 9, 10, 14, 15)
例5 例 5 用四选一数据选择器实现如下逻辑函数: F=∑(0, 1, 5, 6, 7, 9, 10, 14, 15) 解 选地址A1A0变量为AB,则变量CD将反映在数据输入端。如图 所示。 F CD 0 0 0 1 1 1 1 0 AB 1 0 0 0 1 1 1 1 0
57
例5的逻辑图
58
例:下图所示电路是否存在逻辑冒险现象。若存在冒险现象,应如何消除。(中国科技大学研究生招生试题)
59
思考题:试用两块四位全加器可将两位十进制数的8421BCD码转换成二进制数。(华南理工大学研究生招生试题)
Similar presentations