第 4 章 组合逻辑电路

44
第 4 第 第第第第第第 第第第第第第第第第第第第第第第第第第第第第第第第第第第第第第第第第第第第第第第第第第第第第第第第 第第第第第第第第第第第第第第第第第 第第第第第第第第第第第第第第 第第第第第第第第 - 第第第第第第第 第第第第第第 - 第第第第第第第第

description

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

Transcript of 第 4 章 组合逻辑电路

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

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

《数字电子技术基础》

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

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

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

4.1 组合逻辑电路的分析方法• 1 .组合逻辑电路的结构特点• 组合逻辑电路是由各种门电路组成的,用于

实现复杂的组合逻辑功能。• 组合逻辑电路的特点:组合电路的输出信号

仅取决于同一时刻的输入信号,与电路原来所处的状态无关。

• 组合逻辑电路结构的特点:输出与输入之间没有反馈电路,电路中的信号传递是树形结构,电路中没有记忆单元。

• 一个多端输入、多端输出组合逻辑电路中x1, x2, …, xm 是输入信号 y1, y2,…yn 是输出信号。输出和输入间的逻辑关系可以用一组逻辑函数式表示:y1 = f1(x1, x2, …, xm)

y2 = f2(x1, x2, …, xm) …yn = fn(x1, x2, …, xm)

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

2 .组合逻辑电路的分析步骤• 组合逻辑电路的分析,找出给定逻辑电路输出和输入之间的

逻辑关系,从而确定电路的逻辑功能。• 分析过程的一般步骤:• ( 1 )根据给定的组合逻辑电路图,以每个门电路的输入信

号为自变量,由输入端逐级写出输出端的逻辑函数表达式。• ( 2 )用公式化简或卡诺图化简,使逻辑关系简单明了。 • ( 3 )由逻辑函数表达式列出真值表。 • ( 4 )根据真值表或逻辑函数表达式分析出给定组合逻辑电

路的逻辑功能。

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

• 【例 4.1 】 分析逻辑电路,确定该电路的逻辑功能。

• 解:逐级推导电路输出端的逻辑表达式。• ( 1 )写出逻辑函数表达式并化简

• ( 2 )由逻辑表达式列出真值表。真值表可以完全描述电路的逻辑功能。

• ( 3 )确定逻辑功能。由真值表可以确定电路的功能为异或逻辑, Y = A⊕B。

A B Y

0 00 11 01 1

0110

1 2 1

3 1

P AB P AP AAB AB

P P B BAB AB

2 3Y P P AB AB AB AB

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

• 【例 4.2 】 分析逻辑电路,确定其逻辑功能。

• 解:( 1 )逐级写出逻辑表达式

• ( 2 )化简逻辑函数

• ( 3 )由逻辑表达式列出真值表• ( 4 )确定逻辑功能。分析真值表可以得出,

电路实现的是一位二进制数全加器的功能。

A B C Y1 Y2

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

0 01 01 00 11 00 10 11 1

21

2

Y ABC (A B C) Y

ABC (A B C)AB AC BC

Y AB AC BC

1

2

Y A BC ABC ABC ABC

Y AB AC BC

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

4.2 常用的组合逻辑电路• 常用组合逻辑电路已制成了专用中规模集成芯片,广泛应用于数字系统

的设计中。本节主要介绍编码器、译码器、数据选择器、加法器、数值比较器和奇偶校验器等典型的中规模组合逻辑器件,着重分析它们的逻辑功能、使用方法及扩展应用。

• 4.2.1 编码器• 数字信号不仅可以表示数,也可以表示各种指

令和信息。对于不同的事物用一组二值代码表示,就是“编码”。编码器( Encoder)电路的逻辑功能就是将每一个高、低电平形式的信号编成对应的二进制代码。

• 编码器分为普通编码器和优先编码器两类。普通编码器任何时刻只允许输入一个编码信号,否则会导致输出混乱。优先编码器可以有两个或多个编码信号同时输入,优先编码器将所有待编码信号排队,按优先顺序只对优先权最高的一个进行编码。

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

4.2.2 译码器• 译码器( Decoder)的逻辑功能是将一组输

入的二进制代码译成对应的输出高、低电平信号。译码器按功能分为“二进制译码器”、“二十进制译码器”和“显示译码器”。

• 1 .二进制译码器• n 个输入端、 N 个输出端的译码器,当 N=2n

时,称为“全译码”;当 N<2n 时,称为“部分译码”。

• ( 1 ) 2 线 -4线译码器• 74139电路当 =0时,可得S

3 1 0

2 01

1 1 0

0 1 0

Y A A

Y A A

Y A A

Y A A

当 = 1 时, 取非后为 0 ,封锁与非门输入端, ~ 输出全为 1 。当 = 1 时, 取非后为 0 ,封锁与非门输入端, ~ 输出全为 1 。

S S3Y 0Y

2 线 -4 线译码器的真值表2 线 -4 线译码器的真值表

A1A0

1 × ×0 0 00 0 10 1 00 1 1

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

0123 YYYYS

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

( 2 ) 3 线 -8 线译码器 74138• 74138芯片,有 3 个地址输入端, 8 个

输出端, 3 线 -8线译码器• 输入的 3 位二进制码有 8 种状态,译码

器将每组输入代码译成对应的一根输出线上的低电平信号。

• 当控制门 GS的输出为高电平( S=1)时,译码器的输出逻辑表达式

70127

60126

50125

40124

30123

20122

10121

00120

mAAAY

mAAAY

mAAAY

mAAAY

mAAAY

mAAAY

mAAAY

mAAAY

• 是 A2A1A0地址输入的最小项译码输出, S1、 和 是译码器的控制端(片选输入端)。

• 当 S1=1、 时, GS门的输出为高电平( S=1),译码器处于工作状态;

0 7Y Y2S 3S

2 3S S 0

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

• 如果 GS门的输出为低电平( S=0),译码器禁止工作,所有的输出端被封锁在高电平。

• GS门为负与门,低电平输入。“片选”输入端可以用做扩展译码器的功能。

S1 A2 A1 A0

0×11111111

× ×1 10 00 00 00 00 00 00 00 0

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

1 1 1 1 1 1 1 11 1 1 1 1 1 1 10 1 1 1 1 1 1 11 0 1 1 1 1 1 11 1 0 1 1 1 1 11 1 1 0 1 1 1 11 1 1 1 0 1 1 11 1 1 1 1 0 1 11 1 1 1 1 1 0 11 1 1 1 1 1 1 0

3 线 -- 8 线译码器的功能表 3 线 -- 8 线译码器的功能表

32SS 76543210 YYYYYYYY

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

• 【例 4.4 】 用 4 片 74138和 1 片 74139构成 5 线 -32线译码器。• 4 片 74138芯片的 3 个地址输入端 A2A1A0 并接在一起,接 5 位二进制码

的低 3 位 D2D1D0

• 控制 74138的“片选”输入端 S1 、 和 ,使其中 1 片译码工作时,其他 3 片被禁止工作。

• 高两位二进制码 D4D3 作为 74139的地址输入,译码输出端的低电平信号分别控制 4 片 74138的 ,使其轮流工作在译码状态。

D4 D3 D2 D1 D0

0 0 0 0 00 0 0 0 10 0 0 1 0

┆0 1 1 1 00 1 1 1 11 0 0 0 01 0 0 0 1

┆1 1 1 0 11 1 1 1 01 1 1 1 1

0 1 1… 1 1 1 1 … 1 1 11 0 1… 1 1 1 1 … 1 1 11 1 0… 1 1 1 1 … 1 1 1

┆1 1 1… 0 1 1 1 … 1 1 11 1 1… 1 0 1 1 … 1 1 11 1 1… 1 1 0 1 … 1 1 11 1 1… 1 1 1 0 … 1 1 1

┆1 1 1… 1 1 1 1 … 0 1 11 1 1… 1 1 1 1 … 1 0 11 1 1… 1 1 1 1 … 1 1 0

2S 3S

3S

31302917161514210 ZZZZZZZZZZ

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

2 .二 - 十进制译码器• 将输入 8421BCD码的 10个代码译成 10个低电

平(或高电平)的输出信号。• 当输入超过 8421BCD码的范围(即 1010~

1111)时,输出均为高电平,为无效译码输出。

• 输出端的逻辑函数为

0123901234

0123801233

0123701232

0123601231

0123501230

AAAAYAAAAY

AAAAYAAAAY

AAAAYAAAAY

AAAAYAAAAY

AAAAYAAAAY

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

3 .数据分配器• 将一条数据传输线上的数据分配到多条线

路上,相当于一个多路开关。• 用译码器 74138实现数据分配器的功能

。• 将数据线连接控制端,作为数据输入• 将 S1接使能信号 EN, 接低电

平, A2A1A0 作为选择通道地址输入。• EN=1,串行数据 D 被传送到由地址码

A2A1A0 指定的输出线路上。• 例如: EN=1, A2A1A0 =101时,串行

数据 D 被传送到输出端 。

2S

5Y

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

• 4 .显示译码器• 用七段显示译码器显示十进制数字,由译码驱动器和显示器组成。

• 将 8421BCD码转换成十进制数字的七段字形驱动信号,连接数码显示电路。

• 常用集成七段显示译码器分为两类,一类是译码器输出高电平有效信号,用来驱动共阴极显示器,

• 另一类是输出低电平有效信号,驱动共阳极显示器。• 7448的译码显示电路

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

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

数 字输 入 输 出

A3A2A1A0 Ya Yb Yc Yd Ye Yf Yg

0123456789

1111111111

1×××××××××

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

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

1111111111

101112131415

111111

××××××

1 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1

0 0 0 1 1 0 10 0 1 1 0 0 10 1 0 0 0 1 11 0 0 1 0 1 10 0 0 1 1 1 10 0 0 0 0 0 0

111111

LT RBI RBO/BI

灯测试 0 × × × × × 1 1 1 1 1 1 1 1

灭零 1 0 0 0 0 0 0 0 0 0 0 0 0 0

熄灭 1 × × × × × 0 0 0 0 0 0 0 0

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

• 7448输出与输入的逻辑关系:

• 7448有三个附加控制端• 灯测试输入 、灭零输入 和灭灯输入 / 灭零输出 ,用作扩展电路的功能。

• ① 灯测试输入 :• =0 时,无论输入信号是什么状

态,所有字段 Ya~ Yg=1 ,驱动数码管的七段同时点亮,检查数码管各段能否正常发光。

• =1数码管正常工作。

3 2 1 0a 0 3 1 2

0 1b 2 1 3 1 2 0

2 0c 1 3 2

1 0 2 1d 2 1 0 2 0

1e 0 2

3 2 2f 0 1 1 0

3 2 1g 2 1 0

Y A A A A A A A A

Y A A A A A A A A

Y A A A A A

Y A A A A A A A A A

Y A A A

Y A A A A A A A

Y A A A A A A

LT RBI

BI / RBO

LT

LT

LT

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

• ② 灭零输入 :• 灭零输入信号 =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 ,表示译码器熄灭了本应显示的零,还作为下一级灭零输入信号。

RBI

RBI

RBI

BI / RBOBI / RBO BI

RBI RBI RBO

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

4.2.3 数据选择器数据选择器:从多路输入数据中选出某一个数据送到输出端数据选择器:从多路输入数据中选出某一个数据送到输出端

• 1 .双 4 选 1 数据选择器• 74LS153,包含两个完全相同的 4 选

1 数据选择器。• 两个 4 选 1 数据选择器共用地址输入端

A1、 A0 ,数据输入和输出是独立的。• 控制端 和 分别控制两个 4 选 1 数据

选择器,• =0时,信号到达输出端,数据选择

器工作;• =1时,数据选择器禁止工作,输出

被封锁为低电平。• 4 选 1 数据选择器的逻辑表达式

1E 2E

E

E

1 0 1 01 10 11 0 10 1 10 1 0 1Y [D (A A ) D (A A ) D (A A ) D (A A )]E

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

• 【例 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的逻辑符号2 1 0 2 1 2 0 20 0 1 1 2 1 0 3

1 0 1 02 4 2 0 5 2 1 6 2 1 0 7

Y A A A D A A A D A A A D A A A D

A A A D A A A D A A A D A A A D

1E2E

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

• 8 选 1 数据选择器真值表。• 【例 4.6】 8 选 1 数据选择器扩展为

32选 1 数据选择器电路。• 解: 32选 1 数据选择器需要 32个数

据输入端, 5 位地址码。采用 4 片74151, 1 片 4 选 1 数据选择器

• 高两位地址码 A4A3 作为 4 选 1 数据选择器的地址码,控制 4 片 74151中只有一片可以输出。

S2 S1 S0 Y

100000000

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

0 1

E Y

77

66

55

44

33

22

11

00

DD

DD

DD

DD

DD

DD

DD

DD

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

4.2.4 数值比较器• 数值比较器是用来比较两个数字的大

小或是否相等的逻辑电路。• 1 .一位数值比较器 • 两个一位二进制数 A 和 B 的比较有三

种可能。

A B YA>B YA=B YA<B

0 00 11 01 1

0 1 00 0 11 0 00 1 0

A BY AB

YA=B = A⊙BYA=B = A⊙B

A BY AB

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

2 .多位数值比较器• 比较两个多位二进制数, A3A2A1A0=1000与 B3B2B1B0=0111, A3>B3, A>B; A3=B3

再比较 A2与 B2。由高而低地逐位比较,高位相等时,比较低位的数值。• 74LS85的逻辑表达式

A3 B3 A2 B2 A1 B1 A0 B0 A>B A<B A = B YA>B YA<B YA = B

A3>B3 × × × × × × × × ×A3<B3 × × × × × × × × ×A3=B3 A2>B2 × × × × × × ×A3=B3 A2<B2 × × × × × × ×A3=B3 A2=B2 A1>B1 × × × × ×A3=B3 A2=B2 A1<B1 × × × × ×A3=B3 A2=B2 A1=B1 A0>B0 × × ×A3=B3 A2=B2 A1=B1 A0<B0 × × ×A3=B3 A2=B2 A1=B1 A0=B0 1 0 0

A3=B3 A2=B2 A1=B1 A0=B0 0 1 0

A3=B3 A2=B2 A1=B1 A0=B0 × × 1

1 0 00 1 01 0 00 1 01 0 00 1 01 0 00 1 01 0 00 1 00 0 1

I(A>B)、 I(A<B) 和 I(A=B) 是扩展端,用于连接低位芯片的比较输出。

I(A>B)、 I(A<B) 和 I(A=B) 是扩展端,用于连接低位芯片的比较输出。

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

• 【例 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 。

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

4.2.5 加法器

A B S CO

0 00 11 01 1

0 01 01 00 1

• 在计算机中,两个二进制数的算术运算(加、减、乘、除)都能化为加法运算,加法器是构成算术运算器的基本单元。

• 1 .半加器• 将两个一位二进制数相加,不考虑低位进位的运算电路。

• 半加器的真值表中 A 、 B 为加数, S 为本位和, CO为高位进位。

• 半加器的逻辑表达式

S AB AB A B

CO=AB CO=AB

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

A B CI S CO

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

0 01 01 00 11 00 10 11 1

2 .全加器• 两个二进制数相加,考虑低位进位的运算电路。• 全加器将两个加数 A 、 B 和低位进位 CI相加,产生本位和 S 和高位进位 CO。

• CO逻辑表达式有多种形式,用异或门等门电路构成的全加器逻辑表达式

二进制数 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

二进制数 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

S = A B CI⊕ ⊕CO = (A B) CI+AB⊕

S = A B CI⊕ ⊕CO = (A B) CI+AB⊕

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

3 .多位加法器• 将一位全加器串行进位连接,构成多位加法器。串行进位速度慢,可以采用超前进位方式。

• 超前进位加法器 74LS283的逻辑表达式0 0 0 0 0 0 0X A B (A B ) A B Y0 = (CI)0

S0 = A0⊕B0⊕CI

Y0 = (CI)0

S0 = A0⊕B0⊕CI

01 0 0 0 0 0 0 0 0 0 1Y A B A B CI A B (A B )(CI) (CI)

Y2 = A1B1+ (A1+B1) A0B0+ (A1+B1) (A0+B0)CI = (CI)2 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 Y3 = A2B2+ (A2+B2) A1B1+ (A2+B2) (A1+B1) A0B0+ (A2+B2) (A1+B1) (A0+B0)CI = (CI)3

3 3 3 3 2 2 3 3 2 2 1 1 3 3 2 2 1 1 0 0 3 3 2 2 1 1 0 0CO A B A B A B A B A B A B A B A B A B A B A B A B A B A B CI

i i i i i i iX A B (A B ) A B

i i 1 iY CO (CI)

Si = Ai⊕Bi⊕CIiSi = Ai⊕Bi⊕CIi

推导 推导

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

• 超前进位加法器的每一级进位信号只由被加数和加数决定,与低位的进位无关。

• 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 )的进位输入。

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

4.3 组合电路的设计方法 • 根据提出的实际逻辑问题,设计出最简单的组合逻辑电路。• 组合逻辑电路的设计步骤:• ( 1 )逻辑抽象,分析问题的逻辑关系,确定输入、输出变量。设定变

量逻辑状态 1 和 0 所代表的含义,根据逻辑功能的要求列出真值表。• ( 2 )由真值表写出逻辑函数表达式,并进行化简。• ( 3 )选定器件的类型:可以根据设计需要选择门电路、中规模集成的

组合逻辑器件构成的逻辑电路。• ( 4 )将逻辑函数变换成与选定器件相适应的形式。• ① 当采用门电路设计时,根据所选用的逻辑门进行函数化简,变换成与

逻辑门类型适应的形式,用最少的门电路来实现。• ② 当采用中、大规模集成电路设计时,需要将逻辑函数变换成与所用器

件的逻辑函数式相同的形式,再用最少的集成块来实现。• ( 5 )画出逻辑电路图。

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

4.3.1 基于门电路的组合逻辑电路设计• 基于门电路的设计考虑:①小规模集成器件都是同一类型的门电路,要将逻

辑函数式化简为同一形式,与非 - 与非式、或非 - 或非式。②多端输出组合逻辑电路的化简,要逻辑函数的整体最简,总的逻辑门数最少。

• 【例 4.8 】 设计一个交通灯的控制电路,信号灯红、黄、绿组成。出现故障,控制电路发出故障信号。分别用与或非门、或非门和与非门实现控制电路。

• 解:( 1 )列出逻辑函数真值表。红、黄、绿灯为输入变量 R 、 A 、 G ;灯亮为 1 ,灯灭为 0 ;输出变量 Y ,正常工作 Y 为 0 ,发生故障 Y 为 1 。

• ( 2 )写出逻辑函数式R A G Y

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

10010111

Y RAG RAG RAG RAG RAG

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

• ( 3 )用与或非门器件实现逻辑电路,卡诺图圈 0 化简,求与或表达式,再次求反得到 Y 表达式。

• ( 4 )用或非门器件实现电路,卡诺图圈 0 化简,求 Y 的最简或与表达式,再两次求反得到 Y 。

• ( 5 )用与非门器件实现电路,卡诺图圈 1 化简,求 Y 的最简与或表达式,再两次求反得到 Y 。

• ( 6 )画出逻辑电路图

Y RAG RAG RAG

Y RAG RAG RAG

Y (R A G)(R A G)(R A G) Y Y (R A G) (R A G) (R A G)

Y RAG RG RA AG Y Y RAGRGRAAG

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

• 【例 4.9 】 设计一个一位二进制全减器。• 解:一位二进制全减器第 i 位的减法,全减器有 3 个输

入变量:被减数 Ai,减数 Bi,低位向本位的借位 Ci-1

;两个输出变量:本位差 Di,本位向高位的借位 Co

• ( 1 )真值表,输入变量被减数 A ,减数 B ,低位借位 CI输出变量高位借位 CO,本位差 D 。

• ( 2 )写出逻辑函数式。多输出端函数化简,考虑整体最简。利用函数式中的“公共项”,使整体逻辑电路所需的逻辑门的数量最少。

• ( 3 )用异或门和与非门实现全减器电路。

• ( 4 )画出逻辑电路图。

A B CI CO D

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

0 01 11 11 00 10 00 01 1

D A BC ABC ABC ABC

A B C

OC ABC ABC BC

A(B C) BC

D A BC ABC ABC ABC

A B C

CO A BC ABC BC

A(B C) BC

A(B C) BC

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

4.3.2 基于中规模集成器件的组合逻辑电路设计• 中规模逻辑器件实现组合逻辑函数,采用逻辑函数对比的方法,或做出相应的扩展。

【例 4.10】用译码器实现多输出组合逻辑函数。

解:实现多输出组合逻辑函数用 3 线 -8线译码器 8 是最好的选择。 74138芯片的 S1=1、 74138的译码输出功能为

• 多输出函数的最小项表达式

• 将输入变量 A 、 B 、 C 加到 74138的地址码输入端,用与非门作为输出门

1

2

3

Y AC ABC ABC

Y BC A BC

Y AB ABC

2 3S S 0 0 2 1 0 0 4 1 0 42

1 2 1 1 5 1 50 2 0

2 2 0 2 6 0 61 2 1

3 2 3 7 71 0 2 1 0

Y A A A m Y A A A m

Y A A A m Y A A A m

Y A A A m Y A A A m

Y A A A m Y A A A m

3 4 5 61 3 4 5 6

1 3 72 1 3 7

2 3 53 2 3 5

Y AC ABC ABC m m m m m m m m

Y BC ABC m m m m m m

Y AB ABC m m m m m m

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

【例 4.11】用数据选择器设计组合逻辑函数• 解:用 1 片 8 选 1 数据选择器 74151实现四变量的组合逻辑函

数。 74151使能端 =0 时, 74151的输出逻辑表达式

• 将逻辑表达式展开成最小项表达式• 确定 A 、 B 、 C 为地址输入,连接 S2S1S0 端。 • 对应 D0=D2=D 、 D1=D4=1 、 D3=D6= ,• 没有出现的最小项都为 0 。

E2 1 0 2 1 2 0 20 0 1 1 2 1 0 3

1 0 1 02 4 2 0 5 2 1 6 2 1 0 7

Y S S S D S S S D S S S D S S S D

S S S D S S S D S S S D S S S D

D

•8 选 1 数据选择器还可以实现 8 位并行数据转换为串行数据的功能•将 8 位并行数据加到数据输入端,当地址输入 S2S1S0由 000~ 111递增变化时,输出端 Y 依次输出 D0~ D7 数据。

•8 选 1 数据选择器还可以实现 8 位并行数据转换为串行数据的功能•将 8 位并行数据加到数据输入端,当地址输入 S2S1S0由 000~ 111递增变化时,输出端 Y 依次输出 D0~ D7 数据。

Y(A,B,C,D) m(1,2,3,5,6,8,9,12)

Y(A,B,C,D) m(1,2,3,5,6,8,9,12)

A BCD A BCD A BCD ABCD ABCD ABC D ABCD ABC D

(A BC) D (A BC) 1 (ABC) D (ABC) D (ABC) 1 (ABC) D

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

【例 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。

•验证设计结果:设 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。

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

• 【例 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 修正的逻辑函数为

0 13 2 1 0 3 2 1 3 2 0

1 0 2 2 03 2 3 1 0 3 1

3 2 3 1

Y CO S S S S S S S S S S S S

S S S S S S S S S S S S

CO S S S S

74283作 1 位 8421BCD码加法运算,片 1 的加法运算结果送入片 2 的 B3B2B1B0 。要加 6 修正, Y 为 1 ,片 2 的 A3A2A1A0 = 0110。不要加 6 修正时, Y 为 0 ,片 2 的 A3A2A1A0 = 0000;片 2 的输出 S3S2S1S0 为相加的和, Y也是进位输出。

74283作 1 位 8421BCD码加法运算,片 1 的加法运算结果送入片 2 的 B3B2B1B0 。要加 6 修正, Y 为 1 ,片 2 的 A3A2A1A0 = 0110。不要加 6 修正时, Y 为 0 ,片 2 的 A3A2A1A0 = 0000;片 2 的输出 S3S2S1S0 为相加的和, Y也是进位输出。

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

4.4 组合逻辑电路的冒险现象• 信号通过连线、集成门都有延迟时间,电路中多个输入信号变化时,经过多条路径传送后,有快慢的差异,产生瞬间的错误,输出端出现错误的尖峰脉冲,称为竞争冒险。

• 4.4.1 产生竞争冒险的原因• A 由 0 上升为 1 , 由 1 下降为 0 时, 等于 0 。 B 信号通过非门增

加延迟时间,下降沿到达与门比 A 信号上升沿晚 1tpd,输出端出现一个正向尖峰脉冲,“ 1 冒险”。

• B 信号通过非门增加延迟时间,上升沿到达或门的时间比 A 信号下降沿晚1tpd,输出端出现了负向尖峰脉冲,“ 0 冒险”。

• 冒险现象可能引起后级电路的错误动作。产生冒险的原因是两个互补的输入信号分别经过两条路径传输,延迟时间不同,到达的时间不同,这种现象称为竞争。

B Y AB

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

• 分析产生竞争冒险现象。电路逻辑表达式 • 当 B=C=1时, • 分析输出波形,输入信号 A 发生变化,通过非门的 信号比 A 延迟 1tpd

变化,通过与门的 比 AC延迟了 1tpd变化,输出波形 Y 出现了负向尖峰脉冲,电路存在竞争冒险。

• 判断一个组合电路是否存在冒险,当组合逻辑函数的表达式中部分变量为确定值时,表达式可能出现 或 的情况,有可能出现竞争冒险现象。

Y AB AC Y A A

AAB

Y AA Y A A

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

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),滤除冒险的毛刺信号,消除冒险。

Y AB AC Y AB AC BC

Y (A B)(B C) Y BBY AB BB AC BC AB AC BC

BB

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

作 业 答 案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,柜门不开。试用或非门设计一个能满足这一要求的多输出组合逻辑电路。

DBDA)DC(AY

BACBCBA)BA)(CB)(CBA(Y

CAB)CA(BYCABY

2

11

A B C Y1 Y2

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

0 00 10 11 00 1 0 11 01 0

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

• 4.10 写出如图 4.44所示 8 选 1 数据选择器的输出函数表达式。如果改用双 4 选 1 数据选择器 74153来实现逻辑函数 Y ,试画出其逻辑图。

• 4.12 用一片 3 线 -8线译码器 74LS138和与非门实现下列逻辑函数:

( 1 ) ( 2 ) ( 3 )

)14,13,12,9,7,6,5,2(m

DABCCABDCBABCADCBAD)CBA(Y

1Y AB AC 2Y ABC AB ABC

3Y BC ABC

)6,4,0(mY)6,5,3,2(mY)7,5,4(mY 121

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

• 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)

1Y ACD A BC BC D ABD

2Y ABD A B C A CD BCD

1Y AC BC A B

3Y ABC AB

ABCDDCABDCBADCBABCDADCBADCBADCBAY2

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

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

DABC1CAB1CBA1CBADBCA1CBA

DABCDCABDCABCDBADCBADCBADCBADBCACDBADCBAY

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

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