61
制制 制制制 1 制6制 制制制制制制制制 制制制制制 制制制制制制制 制制制制制制制 制制制制制 制制制制制

第6章 组合电路设计实例

  • Upload
    lucien

  • View
    41

  • Download
    9

Embed Size (px)

DESCRIPTION

第6章 组合电路设计实例. 桶式移位器 简单浮点编码器 双优先级编码器 级联比较器 关模比较器. 桶式移位器. 具有 n 个数据输入和 n 个数据输出 控制输入:指定输入输出之间如何移动数据 (移位方向、移位类型、移动的位数) 设计一个简单16位桶式移位器(向左移位). 用4位控制输入 S[3:0] 指定移动位数,例: S=0101,. 若输入: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15. 则输出 :5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4. - PowerPoint PPT Presentation

Citation preview

Page 1: 第6章  组合电路设计实例

制作:金燕华1

第 6 章 组合电路设计实例

桶式移位器简单浮点编码器双优先级编码器

级联比较器关模比较器

Page 2: 第6章  组合电路设计实例

制作:金燕华2

桶式移位器 具有 n 个数据输入和 n 个数据输出 控制输入:指定输入输出之间如何移动数据 (移位方向、移位类型、移动的位数)

设计一个简单 16 位桶式移位器(向左移位)

若输入: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

则输出: 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4

用 4 位控制输入 S[3:0] 指定移动位数,例 : S=0101 ,

思路:输出的每一位都是从 16 个输入中选出的。 —— 多路复用器(数据选择器)

Page 3: 第6章  组合电路设计实例

制作:金燕华3

方案一:利用 74x151

1 、如何扩展路复用器? 16 个输入端; 4 个地址选择端;

EN

CBA Y

D7~D0

EN

CBA Y

D7~D0D[7:0]

D[15:8]

S3

YY

ENAB YC YD0

D7

74x151

当 S=0101 时 Y=D5

S[2:0]

S[2:0]

S[3:0]

D[15:0]

Page 4: 第6章  组合电路设计实例

制作:金燕华4

方案一:利用 74x151

2 、当 S=0101 时,如何使输出为 DIN6, …, DIN15, …, DIN4 ?

当 S=0101 时 Y=D5

ENAB YC YD0

D7

74x151

EN

CBA Y

D7~D0

EN

CBA Y

D7~D0D[7:0]

D[15:8]

S3

Y

S[2:0]

S[2:0]

DIN[7:0]

DIN[15:8]

DIN[8:1]

DIN[0,15:9]

通过控制数据输入端的连接

Page 5: 第6章  组合电路设计实例

制作:金燕华5

P334图 6-1

DIN[14:7]

DIN[6:0,15]

DIN[13:6]

DIN[5:0,15,14]

DIN[0,15:9]

DIN[8:1]

DIN[15:8]

DIN[7:0]

DIN[15:0]

S[3:0]

DOUT15

DOUT14

DOUT1

DOUT0

DOUT[15:0]S[2:0]

S3

74x151

74x151

74x151

74x151

74x151

74x151

74x151

74x151

Page 6: 第6章  组合电路设计实例

制作:金燕华6

P334图 6-1

DIN[14:7]

DIN[6:0,15]

DIN[13:6]

DIN[5:0,15,14]

DIN[0,15:9]

DIN[8:1]

DIN[15:8]

DIN[7:0]

DIN[15:0]

S[3:0]S[2:0]

S3

74x251

74x251

74x251

74x251

74x251

74x251

74x251

74x251

利用三态输出74x251

DOUT[15:0]

基本原理:利用多路复用器,通过控制数据输入端的连接使输出产生移位。

负载太大

Page 7: 第6章  组合电路设计实例

制作:金燕华7

方案二:利用 74x157

GSA4~A0B4~B0

Y4~Y0

74x157

DIN[3:0]

DIN[2:0,3]

如何利用 2 输入 4 位多路复用控制移位?

基本原理:利用多路复用器,通过控制数据输入端的连接使输出产生移位。当 S=0 时, Y=A ,不移位

当 S=1 时, Y=B ,相当于右移一位 改变 A 端输入数据的连接顺序 可以使输出:左 / 右移动一或多位

Page 8: 第6章  组合电路设计实例

制作:金燕华8

通过S0控制16位多路复用器移位

74x157A4~A0B4~B0 G S

Y4~Y0

YO[3:0]

YO[7:4]

YO[11:8]

YO[15:12]

DI[3:0]

DI[7:4]

DI[11:8]

DI[15:12]

DI[2:0,15]

DI[6:3]

DI[10:7]

DI[14:11]

S0DI[15:0] YO[15:0]

A4~A0B4~B0 G S

Y4~Y0

A4~A0B4~B0 G S

Y4~Y0

A4~A0B4~B0 G S

Y4~Y0

Page 9: 第6章  组合电路设计实例

制作:金燕华9

DI[15:0]

74x157

74x157

74x157

74x157

S0

74x157

74x157

74x157

74x157

S1

74x157

74x157

74x157

74x157

S2

74x157

74x157

74x157

74x157

S3

DO[15:0]

S[3:0]

Si=1 :移动 1 位 移动 2 位 移动 4 位 移动 8 位Si=0 :不移动 节省器件,延迟大, P335 图 6-2

Page 10: 第6章  组合电路设计实例

制作:金燕华10

首先解决的几个问题: ⑴ 如何确定第一个“ 1” 的位置? ⑵ 如何确定 3 位指数? ⑶ 如何从第一个“ 1” 开始选出 4 位?

浮点编码器11010110100 = 1101×27 + 0110100

00100101111 = 1001×25 + 01111

00000000010 = 0010×20 + 0

2111

2101

2000

从第一个“ 1” 开始取 4 位由第一个“ 1” 的位置决定

3 位指数浮点数的表示: B = M × 2E + T

截位误差

—— 优先编码器—— 优先编码器的输出

—— 数据选择器

Page 11: 第6章  组合电路设计实例

制作:金燕华11

( 1 )如何确定第一个“ 1” 的位置?

A2A1A0

GSEO

EI

I7

I1I0

74x148

—— 优先编码器

B10_L

B4_LB3_L

11010110100

00100101111

00000000010

B = M×2E + T

E2_LE1_LE0_L

通常 M3=1只有 B10_L ~ B3_L 都无效M3=0

( 3 )如何从第一个“ 1” 开始选出 4 位 M3M2M1M0 ?( 2 )如何确定 3 位指数?

(由 GS 端获得)

Page 12: 第6章  组合电路设计实例

制作:金燕华12

( 1 )如何确定第一个“ 1” 的位置?

—— 多路复用器 只需要选出 M2 M1 M0

( 3 )如何从第一个“ 1” 开始选出 4 位 M3M2M1M0 ?( 2 )如何确定 3 位指数?

M2_L

E0_LE1_LE2_LB9_LB8_L

B2_L

EN

YY

ABCD0D1

D7

74x151

同样的,通过改变数据输入端的连接

可以得到 M2M1M0

通常 M3=1只有 B10_L ~ B3_L 都无效M3=0 (由 GS 端获得)

P337 图 6-3

Page 13: 第6章  组合电路设计实例

制作:金燕华13

双优先级编码器

A2~A0GSEO

EI

74x148

I7~I0

利用 74x148找出最高优先级

如何找第二高优先级? 先“排除”最高优先输入 再用 74x148 找一次

其他输入不变强制最高优先输入无效

—— 利用译码器和“与门”实现 (注意有效电平)

可以找出最高和第二高优先级的编码器

需要 2个优先编码器1个译码器、若干“与门”

Page 14: 第6章  组合电路设计实例

制作:金燕华14

R_L[7:0]

A2~A0GSEO

EI

74x148

I7~I0 Y7~Y0

GI

74x138

CBA

G2A,B

A[2:0]

AVALID

最高优先输入为 0 ,其余输入为 1

A2~A0GSEO

EI

74x148

I7

I0

B[2:0]

BVALID

Page 15: 第6章  组合电路设计实例

制作:金燕华15

关模比较器输入:两个 8 位无符号二进制整数 X 和 Y

一个控制信号 M输出: 8 位无符号二进制整数 Z逻辑功能: M = 1 , Z = min(X,Y)

M = 0 , Z = max(X,Y)

思路:(核心问题)( 1 )比较 X,Y 的大小( 2 )使 Z 为 X,Y 之一( 3 )控制逻辑

—— 比较器( 8 位)—— 多路复用器(二选一)

—— 根据 M 和 X,Y 大小控制 多路复用器的地址选择端。

GS1A~4A1B~4B

74x157

1Y~4Y

Page 16: 第6章  组合电路设计实例

制作:金燕华16

控制逻辑M

多 路复 用

Z

比较器XY X>Y

思路:(核心问题)( 1 )比较 X,Y 的大小( 2 )使 Z 为 X,Y 之一( 3 )控制逻辑

—— 比较器( 8 位)—— 多路复用器(二选一)

—— 根据 M 和 X,Y 大小控制 多路复用器的地址选择端。

关模比较器原理框图

Page 17: 第6章  组合电路设计实例

制作:金燕华17

控制逻辑M

多 路复 用 器 Z

比较器XY X>Y

GS1A~4A1B~4B

74x157

1Y~4Y

GS1A~4A1B~4B

74x157

1Y~4Y

P7~0

Q7~0

74x682

P=QP>Q

X[7:0]Y[7:0] Z[7:0]

S=0 Y=AS=1 Y=B

M

Page 18: 第6章  组合电路设计实例

制作:金燕华18

M

M P>Q_L S

0 00 11 01 1

S=0 Y=AS=1 Y=B

0110

GS1A~4A1B~4B

74x157

1Y~4Y

GS1A~4A1B~4B

74x157

1Y~4Y

P7~0

Q7~0

74x682

P=QP>Q

X[7:0]Y[7:0] Z[7:0]

P341 图 6-8

M=1 , min(X,Y)

M=0 , max(X,Y)

Page 19: 第6章  组合电路设计实例

制作:金燕华19

第 6 章 组合电路设计实例

桶式移位器简单浮点编码器双优先级编码器

级联比较器关模比较器

Page 20: 第6章  组合电路设计实例

制作:金燕华20

桶式移位器 具有 n 个数据输入和 n 个数据输出 控制输入:指定输入输出之间如何移动数据 (移位方向、移位类型、移动的位数)

设计一个简单 16 位桶式移位器(向左移位) 16 个数据输入和 16 个数据输出若输入: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

则输出: 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4

用 4 位控制输入 S[3:0] 指定移动位数,例 : S=0101 ,

思路:输出的每一位都是从 16 个输入中选出的 —— 多路复用器(数据选择器)需要解决的问题:( 1 )需要多少个 16 选 1 的多路复用器?( 2 )如何控制输出移位?

Page 21: 第6章  组合电路设计实例

制作:金燕华21

方案一:利用 74x151

1 、如何扩展路复用器? 16 个输入端; 4 个地址选择端;

EN

CBA Y

D7~D0

EN

CBA Y

D7~D0D[7:0]

D[15:8]

S3

YY

ENAB YC YD0

D7

74x151

当 S=0101 时 Y=D5

S[2:0]

S[2:0]

S[3:0]

D[15:0]

Page 22: 第6章  组合电路设计实例

制作:金燕华22

2 、如何产生移位??

ENCBAD0D1D2D3D4D5D6D7

74x151

YY

DI0DI1DI2DI3DI4DI5DI6DI7

ENCBAD0D1D2D3D4D5D6D7

74x151

YY

S[2:0]

Y0

DI1DI2DI3DI4DI5DI6DI7DI0

S[2:0]

Y1

DI2DI3DI4DI5DI6DI7DI0DI1

S[2:0]

Y2

通过控制数据输入端的连接产生移位

Page 23: 第6章  组合电路设计实例

制作:金燕华23

ENAB YC YD0

D7

74x1512 、如何产生移位??

通过控制数据输入端的连接产生移位

EN

CBA Y

D7~D0

EN

CBA Y

D7~D0DIN[7:0]

DIN[15:8]

Y0

S[2:0]

S[2:0]S3

DIN[8:1]

DIN[0,15:9]

Y1

74x151

74x151

绿色表示高位红色表示低位

Page 24: 第6章  组合电路设计实例

制作:金燕华24

P334图 6-1

DIN[14:7]

DIN[6:0,15]

DIN[13:6]

DIN[5:0,15,14]

DIN[0,15:9]

DIN[8:1]

DIN[15:8]

DIN[7:0]

DIN[15:0]

S[3:0]

DOUT15

DOUT14

DOUT1

DOUT0

DOUT[15:0]S[2:0]

S3

74x151

74x151

74x151

74x151

74x151

74x151

74x151

74x151

Page 25: 第6章  组合电路设计实例

制作:金燕华25

P334图 6-1

DIN[14:7]

DIN[6:0,15]

DIN[13:6]

DIN[5:0,15,14]

DIN[0,15:9]

DIN[8:1]

DIN[15:8]

DIN[7:0]

DIN[15:0]

S[3:0]S[2:0]

S3

74x251

74x251

74x251

74x251

74x251

74x251

74x251

74x251

利用三态输出74x251

DOUT[15:0]

基本原理:利用多路复用器,通过控制数据输入端的连接使输出产生移位。

并行处理负载太大

Page 26: 第6章  组合电路设计实例

制作:金燕华26

方案二:利用 74x157

GSA4~A0B4~B0

Y4~Y0

74x157

DIN[3:0]

DIN[2:0,3]

如何利用 2 输入 4 位多路复用控制移位?

基本原理:利用多路复用器,通过控制数据输入端的连接使输出产生移位。当 S=0 时, Y=A ,不移位

当 S=1 时, Y=B ,相当于移动一位 改变 A 端输入数据的连接顺序 可以使输出:左 / 右移动一或多位

Page 27: 第6章  组合电路设计实例

制作:金燕华27

74x157A4~A0B4~B0 G S

Y4~Y0

YO[3:0]

YO[7:4]

YO[11:8]

YO[15:12]

DI[3:0]

DI[7:4]

DI[11:8]

DI[15:12]

DI[2:0,15]

DI[6:3]

DI[10:7]

DI[14:11]

S0DI[15:0] YO[15:0]

A4~A0B4~B0 G S

Y4~Y0

A4~A0B4~B0 G S

Y4~Y0

A4~A0B4~B0 G S

Y4~Y0

S = 0 Y = A 不移位

S = 1 Y = B 移动 1 位

注意移位方向

Page 28: 第6章  组合电路设计实例

制作:金燕华28

DI[15:0]

74x157

74x157

74x157

74x157

S0

74x157

74x157

74x157

74x157

S1

74x157

74x157

74x157

74x157

S2

74x157

74x157

74x157

74x157

S3

DO[15:0]

S[3:0]

Si=1 :移动 1 位 移动 2 位 移动 4 位 移动 8 位Si=0 :不移动 串行方式,节省器件,延迟大, P335 图 6-2

Page 29: 第6章  组合电路设计实例

制作:金燕华29

首先解决的几个问题: ⑴ 如何确定第一个“ 1” 的位置? ⑵ 如何确定 3 位指数? ⑶ 如何从第一个“ 1” 开始选出 4 位?

浮点编码器11010110100 = 1101× 27 + 0110100

00100101111 = 1001× 25 + 01111

00000000010 = 0010× 20 + 0

2111

2101

2000

从第一个“ 1” 开始取 4 位由第一个“ 1” 的位置决定

3 位指数浮点数的表示: B = M × 2E + T

截位误差

—— 优先编码器—— 优先编码器的输出

—— 数据选择器

Page 30: 第6章  组合电路设计实例

制作:金燕华30

( 1 )如何确定第一个“ 1” 的位置?

A2A1A0

GSEO

EI

I7

I1I0

74x148

—— 优先编码器

B10_L

B4_LB3_L

11010110100

00100101111

00000000010

B = M×2E + T

E2_LE1_LE0_L

通常 M3=1只有 B10_L ~ B3_L 都无效M3=0

( 3 )如何从第一个“ 1” 开始选出 4 位 M3M2M1M0 ?( 2 )如何确定 3 位指数?

(由 GS 端获得)

Page 31: 第6章  组合电路设计实例

制作:金燕华31

( 1 )如何确定第一个“ 1” 的位置?

—— 多路复用器 只需要选出 M2 M1 M0

( 3 )如何从第一个“ 1” 开始选出 4 位 M3M2M1M0 ?( 2 )如何确定 3 位指数?

M2

E2E1E0B2B3

B9

EN

YY

ABCD0D1

D7

74x151

同样的,通过改变数据输入端的连接

可以得到 M2M1M0

通常 M3=1只有 B10_L ~ B3_L 都无效M3=0 (由 GS 端获得)

P337 图 6-3

M2_L

E0_LE1_LE2_LB9_LB8_L

B2_L

注意有效电平

Page 32: 第6章  组合电路设计实例

制作:金燕华32

双优先级编码器

A2~A0GSEO

EI

74x148

I7~I0

利用 74x148找出最高优先级

如何找第二高优先级? 先“排除”最高优先输入 再用 74x148 找一次

其他输入不变强制最高优先输入无效

—— 利用译码器和“与门”实现 (注意有效电平)

可以找出最高和第二高优先级的编码器

需要 2个优先编码器1个译码器、若干“与门”

Page 33: 第6章  组合电路设计实例

制作:金燕华33

R_L[7:0]

A2~A0GSEO

EI

74x148

I7~I0 Y7~Y0

GI

74x138

CBA

G2A,B

A[2:0]

AVALID

最高优先输入为 0 ,其余输入为 1

A2~A0GSEO

EI

74x148

I7

I0

B[2:0]

BVALID

Page 34: 第6章  组合电路设计实例

制作:金燕华34

级联比较器3 片 74x682 构成 24 位比较器

P0~P7 P=Q

Q0~Q7 P>Q

P0~P7 P=Q

Q0~Q7 P>Q

P0~P7 P=Q

Q0~Q7 P>Q

[7:0]

[15:8]

[23:16]

P[23:0]Q[23:0]

PEQQ

PGTQ

P338 6.1.4

P340 图 6-7

Page 35: 第6章  组合电路设计实例

制作:金燕华35

关模比较器输入:两个 8 位无符号二进制整数 X 和 Y

一个控制信号 M输出: 8 位无符号二进制整数 Z逻辑功能: M = 1 , Z = min(X,Y)

M = 0 , Z = max(X,Y)

思路:(核心问题)( 1 )比较 X,Y 的大小( 2 )使 Z 为 X,Y 之一( 3 )控制逻辑

—— 比较器( 8 位)—— 多路复用器(二选一)

—— 根据 M 和 X,Y 大小控制 多路复用器的地址选择端。

GS1A~4A1B~4B

74x157

1Y~4Y

Page 36: 第6章  组合电路设计实例

制作:金燕华36

控制逻辑M

多 路复 用

Z

比较器XY X>Y

思路:(核心问题)( 1 )比较 X,Y 的大小( 2 )使 Z 为 X,Y 之一( 3 )控制逻辑

—— 比较器( 8 位)—— 多路复用器(二选一)

—— 根据 M 和 X,Y 大小控制 多路复用器的地址选择端。

关模比较器原理框图

Page 37: 第6章  组合电路设计实例

制作:金燕华37

控制逻辑M

多 路复 用 器 Z

比较器XY X>Y

GS1A~4A1B~4B

74x157

1Y~4Y

GS1A~4A1B~4B

74x157

1Y~4Y

P7~0

Q7~0

74x682

P=QP>Q

X[7:0]Y[7:0] Z[7:0]

S=0 Y=AS=1 Y=B

M

Page 38: 第6章  组合电路设计实例

制作:金燕华38

M

M P>Q_L S

0 00 11 01 1

S=0 Y=AS=1 Y=B

0110

GS1A~4A1B~4B

74x157

1Y~4Y

GS1A~4A1B~4B

74x157

1Y~4Y

P7~0

Q7~0

74x682

P=QP>Q

X[7:0]Y[7:0] Z[7:0]

P341 图 6-8

M=1 , min(X,Y)

M=0 , max(X,Y)

Page 39: 第6章  组合电路设计实例

制作:金燕华39

组合逻辑部分小结

第 4 章 组合逻辑设计原理第 5 章 组合逻辑设计实践第 6 章 组合电路设计实例

Page 40: 第6章  组合电路设计实例

制作:金燕华40

第 4 章 基本原理

开关代数基础

组合逻辑的基本分析、综合方法

冒险

开关代数的公理、定理 对偶、反演规则 逻辑函数的表示法

分析步骤,利用公式进行化简 设计方法、步骤 利用卡诺图化简,电路处理 无关项的化简、多输出函数的化简

—— 冒险的检查和消除

Page 41: 第6章  组合电路设计实例

制作:金燕华41

组合电路的分析分析的目的:

确定给定电路的逻辑功能分析步骤:

由输入到输出逐级写出逻辑函数表达式对输出逻辑函数表达式进行化简判断逻辑功能(列真值表或画波形图)

Page 42: 第6章  组合电路设计实例

制作:金燕华42

分析图示逻辑电路的功能B3

B2

B1

B0

G3

G2

G1

G0

解: 1 、写表达式2 、列真值表3 、分析功能

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 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1

B3 B2 B1 B0 G3 G2 G1 G00 0 0 00 0 0 10 0 1 1

G3 = B3G2 = B3B2G1 = B2B1G0 = B1B0

二进制码至格雷码的转换电路

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

Page 43: 第6章  组合电路设计实例

制作:金燕华43

组合电路的综合

问题描述

逻辑抽象

选定器件类型

函数化简电路处理

将函数式变换

电路实现

真值表或

函数式

用门电路

用 MSI 组合电路或

PLD

Page 44: 第6章  组合电路设计实例

制作:金燕华44

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

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

X1 X0 Y1 Y0

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

P3 P2 P1

P0

设计 2 位数乘法器1 、列真值表 输入: X 、 Y ( 2

位) 输出:乘积 P ( 4

位)

P3 = X1·X0·Y1·Y0

Y1Y0

X1X0

00 01 11 1000

01

11

10

P2

1

11 2 、用门电路实现 利用卡诺图化简 注意:多输出函数

3 、电路处理

Page 45: 第6章  组合电路设计实例

制作:金燕华45

Y1Y0

X1X0

00 01 11 1000

01

11

10

0

1111

1111

1111

111

Y1Y0

X1X0

00 01 11 1000

01

11

10

1

11

1

Y1Y0

X1X0

00 01 11 1000

01

11

10

P2

1

11

P3 = X1·X0·Y1·Y0

P2 = X1·Y1 · (X1·X0·Y1·Y0)’

= X1·Y1·P3’

Page 46: 第6章  组合电路设计实例

制作:金燕华46

Y1Y0

X1X0

00 01 11 1000

01

11

10

P1

1

1

1

11

1

Y1Y0

X1X0

00 01 11 1000

01

11

10

P0

1

1 1

1

P3 = X1·X0·Y1·Y0

P2 = X1·Y1·P3’

P1 = X1·Y0·P3’+X0·Y1·P3’

P0 = X0·Y0

Y1Y0

X1X0

00 01 11 1000

01

11

10

P2

1

11

1

1

Page 47: 第6章  组合电路设计实例

制作:金燕华47

比较:按多输出化简(蓝色)按单个卡诺图化简(黑色)

P3 = X1 · X0 · Y1 · Y0

P2 = X1·X0·Y1 + X1·Y1·Y0’

P1 = X1·Y1’·Y0 + X1·X0’·Y0 + X0·Y1·Y0’ + X1’·X0·Y1

P0 = X0 · Y0

P3 = X1·X0·Y1·Y0

P2 = X1·Y1·P3’

P1 = X1·Y0·P3’+X0·Y1·P3’

P0 = X0·Y0

考虑:用用译码器实现 —— 直接表示为标准和形式

Page 48: 第6章  组合电路设计实例

制作:金燕华48

人的血型有 A 、 B 、 AB 、 O 四种,输血者的血型与受血者的血型必须符合下面的关系。设计逻辑电路判断输血者与受血者的血型是否符合规定。

A

B

AB

O

A

B

AB

O

输血者 受血者

解: 1 、逻辑抽象,得真值表 用 X1X0对应输血者的血型( 00~11 ) 用 Y1Y0对应受血者的血型( 00~11 ) 输出 F , 1 表示可以输血, 0 表示不行00

01

10

11

00

01

10

11

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

X1X0 Y1Y0 F

10100

2 、用门电路实现 卡诺图化简 (略)利用译码器利用多路复用器

Page 49: 第6章  组合电路设计实例

制作:金燕华49

第 5,6 章 设计实践常用的中规模集成电路( MSI )

编码器、译码器、多路复用器、奇偶校验、 比较器、加法器、三态器件掌握基本功能,级联的方法综合应用:利用基本 MSI 器件作为基本单元设计更复杂的组合逻辑电路

文档标准和电路定时(了解)

Page 50: 第6章  组合电路设计实例

制作:金燕华50

设计减法器 方法一:利用真值表化简

二进制减法表( P22 表 2-3 )D = X Y BI BO = X’·Y + X’·BI + Y·BI

方法二:利用加法器设计减法器( X - Y )相当于( X + Y 补)对 Y 求补:逐位求反+ 1

1X Y

CI COS

X YCI CO

S

X YCI CO

SB_L

X0 Y0 X1 Y1 Xn Yn

D0 D1 Dn

Page 51: 第6章  组合电路设计实例

制作:金燕华51

设计将 BCD 码转换成余 3 码的码制转换电路方案一:利用基本门电路( SSI )实现

1 、列真值表0 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 0

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 11 0 1 0 … …1 1 1 1

X3~X0 F3~F0

d

2 、卡诺图化简(多输出函数)3 、电路处理,得到电路图 “与 -或”式 “与非 -与非”式 “或 -与”式 “或非 -或非”式

方案二:利用中规模集成电路 MSI 实现 —— 译码器实现多输出函数

思考:有没有更好的方法???

Page 52: 第6章  组合电路设计实例

制作:金燕华52

X1X0

X3X200 01 11 10

00

01

11

10

F3

1

1

1

1

1

d

d

d

d

d

d

X1X0

X3X200 01 11 10

00

01

11

10

F2

1

1

1

1

1

d

d

d

d

d

d

X1X0

X3X200 01 11 10

00

01

11

10

F1

1

11

1 1

d

d

d

d

d

d

X1X0

X3X200 01 11 10

00

01

11

10

F0

1

11

1 1

d

d

d

d

d

d

Page 53: 第6章  组合电路设计实例

制作:金燕华53

设计将 BCD 码转换成余 3 码的码制转换电路一个更好的方法:余 3 码 = BCD 码 + 3 —— 利用加法器( MSI )实现

A0A1A2A3

B0B1B2B3

C0

S0S1S2S3

C4

74x283

X0X1X2X3

F0F1F2F3

VCC 1100

Page 54: 第6章  组合电路设计实例

制作:金燕华54

实现两个 BCD 码的加法运算思考:两个 BCD 码与两个 4 位二进制数相加的区别 如果 (X+Y) 产生进位信号C 或 在 1010~1111 之间 需要进行修正 —— 结果加 6

利用 F 表示是否需要修正F = C + S3·S2·S1·S0 + S3·S2·S1·S0’

+ S3·S2·S1’·S0 + S3·S2·S1’·S0’

+ S3·S2’·S1·S0 + S3·S2’·S1·S0’

X1X0

X3X200 01 11 10

00

01

11

10

1

1

1

1

1

1

F = C + S3·S2 +S3·S1

Page 55: 第6章  组合电路设计实例

制作:金燕华55相加 判别 修正

A0 S0A1 S1A2 S2A3 S3

B0B1B2B3

C0 C4

74x283A0 S0A1 S1A2 S2A3 S3

B0B1B2B3

C0 C4

74x283X0X1X2X3

Y0Y1Y2Y3

F0F1F2F3

C

实现两个 BCD 码的加法运算 需要 2 个加法器,分别进行加法运算和修正 判别逻辑: F = C + S3·S2 +S3·S1

电路组成

F

Page 56: 第6章  组合电路设计实例

制作:金燕华56

分析下面电路,写出输出与输入之间的关系 已知:输出为二进制数, X3~0 和 Y3~0 为十进制数的 BCD

CI

A3 A2 A1 A0 COB3 S3B2 S2B1 S1B0 S0

Y1Y0

X3X2X1X0

CI

A3 A2 A1 A0 COB3 S3B2 S2B1 S1B0 S0

Y3Y2

Z6Z5Z4Z3

Z2Z1Z0

Y1 Y0 Y1 Y0 0X3 X2 X1 X0+

C S3 S2 Z2 Z1 Z0

+ Y3 Y2 Y3 Y2 0 0 0

Z6 Z5 Z4 Z3 Z2 Z1 Z0

Z = X+Y*2+Y*8 = X+Y*10

将十进制 BCD 数 YX 转换为二进制数 Z (0100 1000)BCD = (0110000)2

Y3 Y2 Y1 Y0 0X3 X2 X1 X0+

+ Y3 Y2 Y1 Y0 0 0 0

Z6 Z5 Z4 Z3 Z2 Z1 Z0

Page 57: 第6章  组合电路设计实例

制作:金燕华57

第 4 章教学大纲要求 重点学习掌握逻辑代数的公理、定理,对偶关系,以及在逻辑代数化简时的作用;逻辑函数的表达形式:积之和与和之积标准型、真值表;组合电路的分析:逻辑函数表达式的产生过程及逻辑函数表达式的基本化简方法——函数化简方法;组合电路的综合过程:将功能叙述表达为组合逻辑函数的表达形式、逻辑函数表达式的化简——函数化简方法和卡诺图化简方法、使用与非门、或非门表达的逻辑函数表达式、逻辑函数的最简表达形式及综合设计的其他问题:无关项的处理、冒险问题和多输出逻辑化简的方法。(共 10学时)

Page 58: 第6章  组合电路设计实例

制作:金燕华58

第 5,6 章教学大纲要求

重点学习掌握:学习利用基本的逻辑门完成规定的组合逻辑电路的设计任务:如译码器、编码器、多路选择器、多路分配器、异或门、比较器、全加器。学习利用基本的逻辑门和已有的中规模集成电路( MSI)逻辑器件如译码器、编码器、多路选择器、多路分配器、异或门、比较器、全加器、三态器件等作为设计的基本元素完成更为复杂的组合逻辑电路设计的方法。

Page 59: 第6章  组合电路设计实例

制作:金燕华59

A2 = I7 + I6·I7’ + I5·I6’·I7’ + I4·I5’·I6’·I7’

= I7 + ( I6 + I5·I6’ + I4·I5’·I6’ )·I7’

= I7 + ( I6 + I5·I6’ + I4·I5’·I6’ )

= I7 + I6 + ( I5 + I4·I5’ )·I6’

= I7 + I6 + ( I5 + I4·I5’ )

= I7 + I6 + I5 + I4

P265 图 5-50 74x148 8 输入优先编码器利用: A + A’·B = (A+A’)·(A+B) = A+B

Page 60: 第6章  组合电路设计实例

制作:金燕华60

A1 = I7+I6·I7’+ I3·I4’·I5’·I6’·I7’+ I2·I3’·I4’·I5’·I6’·I7’

= I7+(I6+ I3·I4’·I5’·I6’+ I2·I3’·I4’·I5’·I6’)·I7’

= I7+(I6+ I3·I4’·I5’·I6’+ I2·I3’·I4’·I5’·I6’)

= I7+I6+(I3·I4’·I5’+ I2·I3’·I4’·I5’)·I6’

= I7+I6+(I3·I4’·I5’+ I2·I3’·I4’·I5’)

= I7+I6+(I3+I2·I3’)·I4’·I5’

= I7+I6+(I3+I2)·I4’·I5’

= I7+I6+I3·I4’·I5’+I2·I4’·I5’

Page 61: 第6章  组合电路设计实例

制作:金燕华61

第五章 作业 5.8 5.9 5.12 5.15 5.16 5.19 (a)(c)(e) 5.21 5.22 5.24 5.28

5.36 5.37 5.40 5.45 5.46 5.78 5.79 5.82 5.85 5.89