第 4 章 组合逻辑电路

49
第 4 第 第第第第第第 4.1 组组组组组组组组组 4.2 组组组组组组组组组 4.3 组组组组组组组组组组组

description

第 4 章 组合逻辑电路. 4.1 组合逻辑电路的分析 4.2 组合逻辑电路的设计 4.3 若干常用的组合逻辑电路. 4.1 组合逻辑电路的分析. 所谓逻辑电路的分析,就是找出给定逻辑电路输出和输入之间的逻辑关系,并指出电路的逻辑功能。分析过程一般按下列步骤进行:  ① 根据给定的逻辑电路,从输入端开始,逐级推导出输出端的逻辑函数表达式。  ② 根据输出函数表达式列出真值表。  ③ 用文字概括出电路的逻辑功能。. - PowerPoint PPT Presentation

Transcript of 第 4 章 组合逻辑电路

Page 1: 第  4  章  组合逻辑电路

第 4 章 组合逻辑电路

4.1 组合逻辑电路的分析

4.2 组合逻辑电路的设计

4.3 若干常用的组合逻辑电路

Page 2: 第  4  章  组合逻辑电路

4.1 组合逻辑电路的分析

所谓逻辑电路的分析,就是找出给定逻辑电路输出和输入之间的逻辑关系,并指出电路的逻辑功能。分析过程一般按下列步骤进行:

① 根据给定的逻辑电路,从输入端开始,逐级推导出输出端的逻辑函数表达式。

② 根据输出函数表达式列出真值表。

③ 用文字概括出电路的逻辑功能。

Page 3: 第  4  章  组合逻辑电路

【例 4-1 】 分析图 4-2 所示组合逻辑电路的逻辑功能。

解:根据给出的逻辑图, 逐级推导出输出端的逻辑函

数表达式:

ACBCABACBCABPPPF

ACPBCPABP

321

321 ,,

Page 4: 第  4  章  组合逻辑电路

&

&

&

&P2

P 1

P3

F

A

B

C

4-2图

Page 5: 第  4  章  组合逻辑电路

表 4-1 例 4-1 真值表

A B C F

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

0

0

0

1

0

1

1

1

由真值表可以看出,在三个输入变量中,只要有两个或两个以上的输入变量为 1 ,则输出函数 F 为 1 ,否则为 0 ,它表示了一种“少数服从多数”的逻辑关系。因此可以将该电路概括为:三变量多数表决器。

Page 6: 第  4  章  组合逻辑电路

表 4-2 半加器真值表

Ai Bi Ci+1 Si

0 0

0 1

1 0

1 1

0 0

0 1

0 1

1 0

图 4-3 半加器

&

A i

Bi

S i

C i + 1

1=

Page 7: 第  4  章  组合逻辑电路

4.2 组合逻辑电路的设计

工程上的最佳设计,通常需要用多个指标去衡量,主要考虑的问题有以下几个方面:

① 所用的逻辑器件数目最少,器件的种类最少,且器件之间的连线最简单。这样的电路称“最小化”电路。

② 满足速度要求,应使级数尽量少,以减少门电路的延迟。

③ 功耗小,工作稳定可靠。

Page 8: 第  4  章  组合逻辑电路

上述“最佳化”是从满足工程实际需要提出的。显然,“最小化”电路不一定是“最佳化”电路,必须从经济指标和速度、 功耗等多个指标综合考虑,才能设计出最佳电路。

组合逻辑电路可以采用小规模集成电路实现,也可以采用中规模集成电路器件或存储器、可编程逻辑器件来实现。 虽然采用中、大规模集成电路设计时,其最佳含义及设计方法都有所不同,但采用传统的设计方法仍是数字电路设计的基础。因此下面先介绍采用设计的实例。

Page 9: 第  4  章  组合逻辑电路

组合逻辑电路的设计一般可按以下步骤进行:

① 逻辑抽象。将文字描述的逻辑命题转换成真值表叫逻辑抽象,首先要分析逻辑命题,确定输入、 输出变量;然后用二值逻辑的 0 、 1 两种状态分别对输入、输出变量进行逻辑赋值,即确定 0 、 1 的具体含义;最后根据输出与输入之间的逻辑关系列出真值表。

② 选择器件类型。根据命题的要求和器件的功能及其资源情况决定采用哪种器件。例如,当选用 MSI 组合逻辑器件设计电路时,对于多输出函数来说,通常选用译码器实现电路较方便,而对单输出函数来说,则选用数据选择器实现电路较方便。

③ 根据真值表和选用逻辑器件的类型,写出相应的逻辑函数表达式。当采用 SSI 集成门设计时,为了获得最简单的设计结果,应将逻辑函数表达式化简,并变换为与门电路相对应的最简式。

④ 根据逻辑函数表达式及选用的逻辑器件画出逻辑电路图。

Page 10: 第  4  章  组合逻辑电路

【例 4-2 】设计一个一位全减器。

① 列真值表。

全减器有三个输入变量:被减数 An 、减数 Bn 、低位向本位的借位 CCn ;有两个输出变量:本位差 Dn 、本位向高位的借位 C n+1 , 其框图如图 4 - 5(a) 所示。

表 4-3 全减器真值表 An Bn Cn Cn+1 Dn

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

0 01 11 11 00 10 0

0 0 1 1

Page 11: 第  4  章  组合逻辑电路

图 4-4 全减器框图及 K 图 (a) 框图 ; (b) Cn+1 ; (c) D

n

全减器

D n

C n +1

A n

B n

C n

( a )

0

A n B n

C n00 01 11 10

0

1

( b )

1 0 0

1 1 1 0

0

A n B n

C n00 01 11 10

0

1

( c )

1 0 1

1 0 1 0

Page 12: 第  4  章  组合逻辑电路

② 选器件。

选用非门、异或门、与或非门三种器件。

③ 写逻辑函数式。

首先画出 Cn+1 和 Dn 的 K 图如图 4-5(b) 、 (c) 所示,然后

根据选用的三种器件将 Cn+1 、 Dn 分别化简为相应的函数式。

由于该电路有两个输出函数,因此化简时应从整体出发,尽量利用公共项使整个电路门数最少,而不是将每个输出函数化为最简当用与或非门实现电路时,利用圈 0 方法求出相应的与或非式为

Page 13: 第  4  章  组合逻辑电路

nnnnnnn

nnnnnnnnnnnnn

BACACBC

CBACBACBACBAD

1

当用异或门实现电路时,写出相应的函数式为

nnnnnnnnnn

nnnnnnnnn

nnnn

CBCBACBCBA

CBCBACBAC

CBAD

)()(

1

其中 为 Dn 和 Cn+1 的公共项。 )( nn CB

Page 14: 第  4  章  组合逻辑电路

④ 画出逻辑电路。

图 4 – 5 全减器逻辑图

Cn

1& ≥1

& ≥1

1

1

Bn

A n

Dn

Cn + 1

( a )

1=

1

1= D n

&

&

& C n + 1

C n

B n

An

( b )

Page 15: 第  4  章  组合逻辑电路

4.3 若干常用的组合逻辑电路

1 编码器

用文字、符号或数码表示特定对象的过程称为编码。在数字电路中用二进制代码表示有关的信号称为二进制编码。 实现编码操作的电路就是编码器。按照被编码信号的不同特点和要求,有二进制编码器、二—十进制编码器、优先编码器之分。

Page 16: 第  4  章  组合逻辑电路

(1) 二进制编码器

用 n 位二进制代码对 N=2n 个一般信号进行编码的电路,叫做二进制编码器。例如 n=3 ,可以对 8 个一般信号进行编码。这种编码器有一个特点:任何时刻只允许输入一个有效信号,不允许同时出现两个或两个以上的有效信号,因而其输入是一组有约束 (互相排斥 ) 的变量。

现以三位二进制编码器为例,分析编码器的工作原理。图 4-9 是三位二进制编码器的框图,它的输入是 I0~I78 个高电

平信号,输出是三位二进制代码 F2 、 F1 、 F0 。为此,又把它叫做 8 线— 3 线编码器。输出与输入 的对应关系如表 4-6

所示。

Page 17: 第  4  章  组合逻辑电路

图 4 – 6 三位二进制 8 线— 3 线编码器框图

83

线-

线编

码器

I 0

F 2

F1

F 0

I 1

I 2

I 3

I 4

I 5

I 6

I 7

Page 18: 第  4  章  组合逻辑电路

表 4 – 4 三位二进制编码器的真值表

输 入 输 出

I0 I1 I2 I3 I4 I5 I6 I7 F2 F1 F0

1 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0

0 0 1 0 0 0 0 0

0 0 0 1 0 0 0 0

0 0 0 0 1 0 0 0

0 0 0 0 0 0 1 0

0 0 0 0 0 0 0 1

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

Page 19: 第  4  章  组合逻辑电路

由表 4 - 4 可得出编码器的输出函数为

因为任何时刻 I0~I7 当中仅有一个取值为 1 ,利用这个约

束条件将上式化简,得到

75310

76321

76542

IIIIF

IIIIF

IIIIF

Page 20: 第  4  章  组合逻辑电路

图 4 – 7 三位二进制编码器

≥1

≥1

≥1

F2

F 1

F 0

I7

I6

I5

I4

I3

I2

I1

Page 21: 第  4  章  组合逻辑电路

(2) 优先编码器

优先编码器常用于优先中断系统和键盘编码。与普通编码器不同,优先编码器允许多个输入信号同时有效,但它只按其中优先级别最高的有效输入信号编码,对级别较低的输入信号不予理睬。常用的 MSI优先编码器有 10 线— 4 线 ( 如 74LS147) 、 8 线— 3 线 ( 如 74LS148) 。

74LS148 二进制优先编码器的逻辑符号如图 4-12 所示。功能表如表 4-8 所示。

Page 22: 第  4  章  组合逻辑电路

图 4 – 8 74LS148 逻辑符号

74LS

148

E 1

76543210

CS

CBA

E 0

Page 23: 第  4  章  组合逻辑电路

表 4 – 5 74LS148 的功能表

Page 24: 第  4  章  组合逻辑电路

图 4 - 8 中,小圆圈表示低电平有效,各引出端功能如下:

7~0 为状态信号输入端,低电平有效, 7 的优先级别最高, 0 的级别最低;

C 、 B 、 A 为代码 (反码 ) 输出端, C 为最高位;

E1 为使能 (允许 ) 输入端,低电平有效;当 E1=0 时,

电路允许编码;当 E1=1 时,电路禁止编码,输出 C 、 B 、

A均为高电平; E0 和 CS 为使能输出端和优先标志输出端,

主要用于级联和扩展。

Page 25: 第  4  章  组合逻辑电路

从功能表可以看出,当 E1=1 时,表示电路禁止编码,

即无论 7~0 中有无有效信号,输出 C 、 B 、 A均为 1 ,并且 CS=E0=1 。当 E1=0 时,表示电路允许编码,如果 7~

0 中有低电平 ( 有效信号 ) 输入,则输出 C 、 B 、 A 是申请编码中级别最高的编码输出 (注意是反码 ) ,并且 CS=

0 , E0=1 ;如果 7~0 中无有效信号输入,则输出 C 、 B 、A均为高电平,并且 CS=1, E0=0 。

从另一个角度理解 E0 和 CS 的作用。当 E0=0 , CS=1

时,表示该电路允许编码,但无码可编;当 E0=1 , CS=

0 时,表示该电路允许编码,并且正在编码;当 E0=CS=1

时,表示该电路禁止编码,即无法编码。

Page 26: 第  4  章  组合逻辑电路

图 4-9 为 3—8 译码器的逻辑符号,功能表如表 4-6 所示。图中, A2 、 A1 、 A0 为地址输入端, A2 为高位。 为状态信号输出端,低电平有效。 E1 和 E2A 、 E2B 为使能端。由功能表可看出,只有当 E1 为高, E2A 、 E2B 都为低时,该译码器才有有效状态信号输出;若有一个条件不满足,则译码不工作,输出全为高。

70 ~ YY

图 4 – 9 3—8 译码器逻辑符号

3 8- 译码器

E 1 E 2 A E 2 BA 1A

2 A 0

Y0

Y7

Y6

Y5

Y4

Y3

Y2

Y1

2 译码器

Page 27: 第  4  章  组合逻辑电路

表 4 – 6 3—8 译码器功能表

Page 28: 第  4  章  组合逻辑电路

如果用 表示 i 端的输出,则输出函数为 iY

BABA

ii

EEEEEEE

iEmY

221221

)7~0(

可见,当使能端有效 (E=1) 时,每个输出函数也正好等于输入变量最小项的非。

二进制译码器的应用很广,典型的应用有以下几种:

① 实现存储系统的地址译码;

② 实现逻辑函数;

③ 带使能端的译码器可用作数据分配器或脉冲分配器。

Page 29: 第  4  章  组合逻辑电路

3 数据选择器 数据选择器又称多路选择器 (Multiplexer, 简称 MUX) ,其框图如图 4-10(a) 所示。它有 2n 位地址输入、 2n 位数据输入、 1 位输出。每次在地址输入的控制下,从多路输入数据中选择一路输出,其功能类似于一个单刀多掷开关,见图 4 -

10(b) 。

图 4 – 10 数据选择器框图及等效开关

数据选择器

D 0

D 1

D 2n -1

F

A 0 A 1 A n -1

F

D0

D 1

D 2 n -1

( a )( b )

Page 30: 第  4  章  组合逻辑电路

常用的数据选择器有 2 选 1 、 4 选 1 、 8 选 1 、 16

选 1 等。 图 4-11 是 4 选 1 数据选择器的逻辑图及符号,其中 D0~D3 是数据输入端,也称为数据通道; A1 、 A0

是地址输入端,或称选择输入端; Y 是输出端; E 是使能端,低电平有效。当 E=1 时,输出 Y=0 ,即无效,当E=0 时,在地址输入 A1 、 A0 的控制下,从 D0~D3 中选择一路输出,其功能表见表 4-7 。 表 4 – 7 4 选 1 MUX 功能表

E A1 A0 Y

1

0

0

0

0

0 0

0 1

1 0

1 1

× ×

D0

D1

D2

D3

0

Page 31: 第  4  章  组合逻辑电路

图 4 – 11 4 选 1 MUX

& ≥1

Y

1

1

1

1D1

D2

D 3

D 0

A0

A 1

E( a ) 逻辑图

4 1选 MUX

( b ) 逻辑符号

Y

A0

A 1

D 1D 0 D 3D 2

E

Page 32: 第  4  章  组合逻辑电路

当 E=0 时, 4 选 1 MUX 的逻辑功能还可以用以下表达式表示:

ii

iDm

DAADAADAADAAY

3

0

301201101001

式中, mi 是地址变量 A1 、 A0 所对应的最小项,称地址最小项。 式 (4 - 13)还可以用矩阵形式表示为

Tm DDDDAA

D

D

D

D

AAAAAAAAY )()()( 321001

3

2

1

0

01010101

Page 33: 第  4  章  组合逻辑电路

式中 (A1A0)m 是由最小项组成的行阵, (D0D1D2D3)T 是由 D0 、

D1 、 D2 、 D3 组成的列阵的转置。

图 4-12 为 8 选 1 MUX 的逻辑符号,其功能表如表 4-8

所示, 输出表达式为 T

mii

i DDDDDDDDAAADmY )()( 76543210012

7

0

图 4 – 12 8 选 1MUX 逻辑符号

8 1选 MUX

Y

A0

A 2

D 1D 0 D 3D 2 D 5D 4 D 7D 6

EA1

Page 34: 第  4  章  组合逻辑电路

表 4 – 8 8 选 1 MUX 功能表

E A2 A1 A0 Y

1

0

0

0

0

0

0

0

0

× × ×

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

0

D0

D1

D2

D3

D4

D5

D6

D7

Page 35: 第  4  章  组合逻辑电路

数据选择器的应用

数据选择器的应用很广,典型应用有以下几个方面:

① 作数据选择,以实现多路信号分时传送。

② 实现组合逻辑函数。

③ 在数据传输时实现并—串转换。

④ 产生序列信号。 对于 n 个地址输入的 MUX ,其表达式为

12

0

l

iimY

Page 36: 第  4  章  组合逻辑电路

其中 mi 是由地址变量 An-1 、…、 A1 、 A0 组成的地址最小项。

而任何一个具有 l 个输入变量的逻辑函数都可以用最小项之和来表示:

12

0

l

iimF

这里的 mi 是由函数的输入变量 A 、 B 、 C 、…组成的最小

项。

比较 Y 和 F 的表达式可以看出,只要将逻辑函数的输入变量 A 、 B 、 C 、 …加至数据选择器地址输入端,并适当选择 Di 的值,使 F=Y ,就可以用 MUX 实现函数 F 。因此,

用 MUX 实现函数的关键在于如何确定 Di 的对应值。

Page 37: 第  4  章  组合逻辑电路

1) l≤n 的情况

l 为函数的输入变量数, n 为选用的 MUX 的地址输入端

数。 当 l=n 时,只要将函数的输入变量 A 、 B 、 C 、…依

次接到 MUX 的地址输入端,根据函数 F 所需要的最小

项,确定 MUX 中 Di 的值 (0 或 1) 即可;当 l< n 时,将 M

UX 的高位地址输入端不用 (接 0 或 1) ,其余同上。

Page 38: 第  4  章  组合逻辑电路

2) l> n 的情况

当逻辑函数的变量数 l 大于 MUX 的地址输入端数 n

时,不能采用上面所述的简单方法。如果从 l 个输入变量中选择 n 个直接作为 MUX 的地址输入,那么,多余的 (l-

n) 个变量就要反映到MUX 的数据输入 Di 端,即 Di 是多

余输入变量的函数,简称余函数。因此设计的关键是如何

求出函数 Di 。

确定余函数 Di 可以采用代数法或降维 K 图法。

Page 39: 第  4  章  组合逻辑电路

为了减少画 K 图的次数,也可以直接在 F 的三变量 K

图上求出余函数 Di 。例如在图 4 - 13(d)F 的 K 图中选择 AB

=A1A0 ,则 AB 变量 ( 即地址变量 ) 按其组合可直接将 F 的 K

图划分为四个子 K 图,如图 (d) 中虚线所示。每个子 K 图所对应的函数就是余函数 Di ,它们仅与多余输入变量 C 有关,即 Di=f(C) 。在各子 K 图上直接化简,便可求出余函数 Di 的值: D0=1,D1=C, D2=C, D3=0 。可见,后面这种方法更加简便,其求解步骤归纳如下: ① 画出函数 F 的 K 图。

② 选择地址输入。 ③ 在 F 的 K 图上确定余函数 Di 的范围。 ④ 求余函数 Di 。 ⑤ 画出逻辑图。

Page 40: 第  4  章  组合逻辑电路

图 4-13

1

ABC 00 01 11 10

0

1

0 0 1

1 1 0 0

1

AB 0 1

0

1

C

C 0

( a ) ( b )

D 0

A 1A

00 1

0

1

D 2

D 1 D 3

( c )

1

ABC 00 01 11 10

0

1

0 0 1

1 1 0 0

( d )

F FY D 3 D 2D 1D 0

Page 41: 第  4  章  组合逻辑电路

数据分配器又称多路分配器 (DEMUX) ,其功能与数据选择器相反,它可以将一路输入数据按 n 位地址分送到 2n 个数据输出端上。 其功能表如表 4 - 9 所示。其中 D

为数据输入, A1 、 A0 为地址输入, Y0~Y3 为数据输出,

E 为使能端。

4 数据分配器

表 4 – 9 1—4 DEMUX 功能表 E A1 A0 Y0 Y1 Y2 Y3

1 × ×

0 0 0

0 0 1

0 1 0

0 1 1

1 1 1 1

D 1 1 1

1 D 1 1

1 1 D 1

1 1 1 D

Page 42: 第  4  章  组合逻辑电路

5 数码比较器

1. 逻辑功能

图 4 – 14 四位并行数码比较器逻辑符号

A 3B

2A

2B

1A 1B 0A 0

C A <

BC A =

BC A >

B

PA < B

P A = B

P A > B

B3 COMP

Page 43: 第  4  章  组合逻辑电路

由图 4 - 14 可见,该比较器有 11 个输入端,三个

输出端,其中输入端 A3~A0 、 B3~B0接两个待比较的四

位二进制数;输出端 PA < B 、 PA=B 、 PA > B 是三个比较

结果; CA < B 、 CA=B 、 CA > B 是三个级联输入端,当

扩大待比较的二进制数的位数时,可将低位比较器的

输出端 PA < B 、 PA=B 、 PA > B 分别接到高位比较器的 C

A < B 、 CA=B 、 CA > B 三个输入端。

Page 44: 第  4  章  组合逻辑电路

表 4 – 10 四位比较器功能表

Page 45: 第  4  章  组合逻辑电路

由表 4-10 可以看出:

输出 PA > B=1( 即 A 大于 B) 的条件是:最高位 A3> B

3 ,或者最高位相等而次高位 A2> B2 ,或者最高位和次

高位均相等而次低位 A1> B1 ,或者高三位相等而最低位

A0> B0 ,或者四位均相等而低位比较器来的输入 CA > B=

1 。

输出 PA=B=1 的条件是: A3=B3 , A2=B2, A1=B1 , A0=

B0 , 且级联输入端 CA=B 为 1 。

输出 PA < B=1 的条件请读者导出。

Page 46: 第  4  章  组合逻辑电路

6 加法器

图 4 – 15 四位串行进位并行加法器

Page 47: 第  4  章  组合逻辑电路

图 4 – 16 超前进位加法器

Page 48: 第  4  章  组合逻辑电路

超前进位产生器逻辑符号如图 4-16(c) 所示,它是一种产生快速进位的集成电路。根据全加器进位信号

令 Gn=AnBn ,则可以得出 ,)(1 nnnnnn CBABAC

nnnn CPGC 1

上式称为递推公式, Gn 称进位产生函数, Pn 称为进位传输函数。由式 (4 - 18) 可以推出各级进位信号表达式,并构成快速进位的逻辑电路 ( 推导过程从略 ) 。因此,图 4 - 16

(c) 中 P0 、 P1 、 P2 、 P3 分别为进位传输信号, G0 、 G1 、G2 、 G3 分别为进位产生输入信号, Cn+1 、 Cn+2 、 Cn+3 分别为进位输出, FP 和 FG 分别为进位传输输出和进位产生输出。 其表达式为

Page 49: 第  4  章  组合逻辑电路

0123123233

0123

0120121223

010112

001

CPPPGPPGPGC

PPPPF

CPPPGPPGPGC

CPPGPGC

CPGC

G

P

nn

nn

nn

加法器在数字系统中的应用十分广泛。其除了能进行多位二进制数的加法运算外,也可以用来完成二进制减法运算。在利用加法器完成减法运算时,最通常的做法是将减数的二进制数的每一位变反 (0→1, 1→0) ,并且在最低位加 1 , 其结果再同被减数相加。即采用减数求补相加法, A-B=A 加[ B]反加1 。

利用加法器可以实现码组变换。

NEXT BACK

OVEROVER