数字逻辑基础第二章 组合逻辑电路本章要求:
掌握组合逻辑电路的基本分析方法和一般设计过程
掌握常见逻辑模块的功能及其使用
掌握实际逻辑电路中冒险现象的形成原理及其防止
2.1 组合逻辑电路的分析组合逻辑的结构:
组合逻辑电路输入信号输出信号组合逻辑电路(简称组合电路)任意时刻的输出信号仅取决于该时刻的输入信号,与信号作用前电路原来的状态无关
=1
=1
=1
A
B
A
B
Y
Y 1
Y 2
&
&
&
&A
B
Y
Y 1
Y 2
Y 3
组合逻辑的例:两种异或门结构半加器
&
&
&
&A
B
S
1
Co
A B Co S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
全加器
Ci A B Co S
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
全加器的结构
&
&
&
&A
B S
&
&
&
&
Ci
&
Co
Co 1
Co 2
两个半加器的组合:
加数 1+加数 2+进位=和,进位 1,或” 进位 2=进位一个复杂的例子:代码转换
1
1 111
1
1
& >1
& >1
& >1
1
11
11
& >1
1
C
C
C
C
C
C
A3
A2
A1
A0
Y0
Y1
Y2
Y3
X2
X3>1
3 3 2 2 1 1 0 0
3 3 3 2 1 2 2 1 2 1 2
1 1 0 0
0,,,,
1,,
,
C Y A Y A Y A Y A
C Y X A A A Y X A A A A
Y A Y A
此例的真值表 (C=1)
A3 A2 A1 A0 Y3 Y2 Y1 Y0 A3 A2 A1 A0 Y3 Y2 Y1 Y0
0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
0 0 0 1 1 0 0 1 1 0 0 1 0 0 0 1
0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0
0 0 1 1 0 0 1 1 1 0 1 1 0 0 1 1
0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0
0 1 0 1 0 0 0 1 1 1 0 1 0 0 0 1
0 1 1 0 0 1 1 0 1 1 1 0 0 1 1 0
0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1
结果:
C=0时输出与输入相同; C=1时输入二进制码,输出格雷码常用组合逻辑模块
组合逻辑模块是一些基本的逻辑单元
熟悉组合逻辑模块的结构与功能,可以帮助分析复杂的逻辑结构
在设计逻辑电路时,可以从逻辑模块出发进行设计将输入的某种代码(通常为二进制码),转换为事件或另一种代码输出的过程,称为译码。
转换为事件输出的译码器,是编码器的逆过程。
转换为另一种代码输出的译码器,根据两个代码之间的关系,可以有各种不同的译码器。
常见的译码器:
转换为事件输出的译码器,3-8译码器、等等。
转换为另一种代码输出的译码器:( LED) 七段译码器,BCD译码器、等等。
译码器
3-8译码器( 74LS138)
Y3
&
&
11
11
11
1
Y1
Y0
A2
S2
A0
A1
&
&
Y2
Y7
&
&
Y5
Y4
&
&
Y6
&
S3
S1
S
A2
S2
A0
A1
S3
S1
&
Y3
Y1
Y0
Y2
Y7
Y5
Y4
Y6
0
1
2
3
4
5
6
7
1
2
4
EN
B I N/ OCT
使能相关输 入 输 出
S1 A2 A1 A0 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
0 x x x x 1 1 1 1 1 1 1 1
x 1 x x x 1 1 1 1 1 1 1 1
1 0 0 0 0 0 1 1 1 1 1 1 1
1 0 0 0 1 1 0 1 1 1 1 1 1
1 0 0 1 0 1 1 0 1 1 1 1 1
1 0 0 1 1 1 1 1 0 1 1 1 1
1 0 1 0 0 1 1 1 1 0 1 1 1
1 0 1 0 1 1 1 1 1 1 0 1 1
1 0 1 1 0 1 1 1 1 1 1 0 1
1 0 1 1 1 1 1 1 1 1 1 1 0
32 SS?
3- 8译码器的真值表编码器将输入信号(事件),用一个代码表示(输出)的过程,称为编码。
编码器有普通编码器和优先编码器两种。
普通编码器在同一个时刻只能允许有一个输入(单个事件)。
优先编码器允许多个事件同时发生,按照事先设定的优先级,确定输出代码。
8-3优先编码器
&
Y0
Y1
Y2
≥1
& ≥ 1
& ≥1
&
&
11
1
11
11
11
1
1
1
EX
Ys
I0
I1
I2
I3
I4
I5
I6
I7
S
Y0
Y1
Y2
EX
Ys
I0
I1
I2
I3
I4
I5
I6
I7
S
6 /Z 1 6
7 /Z 1 7
4 /Z 1 4
5 /Z 1 5
2 /Z 1 2
3 /Z 1 3
0 /Z 1 0
1 /Z 1 1
≥1
16
17
14
15
12
13
10
11
1a
2a
4a
a
18
H PR/B I N
E Na /V18
互连关联或关联
s I7 I6 I5 I4 I3 I2 I1 I0 Y2Y1Y0
0 0 X X X X X X X 1 1 1
0 1 0 X X X X X X 1 1 0
0 1 1 0 X X X X X 1 0 1
0 1 1 1 0 X X X X 1 0 0
0 1 1 1 1 0 X X X 0 1 1
0 1 1 1 1 1 0 X X 0 1 0
0 1 1 1 1 1 1 0 X 0 0 1
0 1 1 1 1 1 1 1 0 0 0 0
1 X X X X X X X X 1 1 1
8- 3优先编码器的真值表数据选择器从多个输入逻辑信号中选出一个逻辑信号送到输出端的器件,也称为多路器。
一个数据选择器连接 m个输入,由 n个选择变量决定这 m个输入中的哪一个被送到输出端。
这里 m = 2n。
2选 1数据选择器
&
Y
≥1
I 0
I 1
S
0
1
MU X
I 0
I 1
S
Y
G
0
1
与关联
10 SIISY
&
Y
≥1
1
11
11
11
Y
I0
I1
I2
I3
I4
I5
I6
I7
S0
1
S1
S2
En
0
2
}
G
0
7
EN
0
1
2
3
4
5
6
7
M UX
I0
I1
I2
I3
I4
I5
I6
I7
S0
S1
S2
En
Y
Y
8选 1数据选择器
7
0i
ii ImENY
2.2 组合逻辑电路的设计
基于门电路的设计基本的设计方法。
基于组合逻辑模块的设计利用组合电路模块实现主要功能,辅以门电路,结构比较简单。
运算电路设计需要熟悉二进制运算的特点,采用迭代设计。
一、基于门电路的设计方法逻辑抽象确定输入输出关系定义输入输出变量逻辑函数表达式真值表化简与变换逻辑图
(电路图)
例 1
设计一个带控制端的 3位输入代码检测电路。
当控制端 P为 0时,输入 >3并且 <6
时输出为 1;
当控制端 P为 1时,输入 <6时输出为 1 。
要求完成最简设计。
例 1的解:真值表
P ABC Y
0 000 0
0 001 0
0 010 0
0 011 0
0 100 1
0 101 1
0 110 0
0 111 0
P ABC Y
1 000 1
1 001 1
1 010 1
1 011 1
1 100 1
1 101 1
1 110 0
1 111 0
0 0 0 0
1 1 0 0
BA
PC
1 1 0 0
1 1 1 1
00
01
11
10
00 01 11 10
Y C B PC
例 1的解:卡诺图,化简例 1的解:利用卡诺图运算的方案
0 0 0 0
1 1 0 0
BA
PC
1 1 0 0
1 1 1 1
00
01
11
10
00 01 11 10
BCPBCC
BCPCY
)(
&B
P
C
Y
&
&
&
例 2
Dec Bin Gray
B3B2B1B0 G3G2G1G0
0 0000 0000
1 0001 0001
2 0010 0011
3 0011 0010
4 0100 0110
5 0101 0111
6 0110 0101
7 0111 0100
Dec Bin Gray
B3B2B1B0 G3G2G1G0
8 1000 1100
9 1001 1101
10 1010 1111
11 1011 1110
12 1100 1010
13 1101 1011
14 1110 1001
15 1111 1000
设计一个 4位格雷码和二进制码的相互转换电路。
例 2的解:格雷码转换到二进制码的卡诺图
G 3 G 2
G 1 G 0
00
01
00 01 11 10
11
10
1 1 1 1
1 1 1 1
G 3 G 2
G 1 G 0
00
01
00 01 11 10
11
10
1 1
1 1
1 1
1 1
G 3 G 2
G 1 G 0
00
01
00 01 11 10
11
10
1 1
1 1
1 1
1 1
B2 B1 B0
G3 = B3,G2~G0 转换到 B2~B0 的转换关系如上面卡诺图所示
01012123233,,,GBBGBBGGBGB
B 3 B 2
B 1 B 0
00
01
00 01 11 10
11
10
1 1 1 1
1 1 1 1
B 3 B 2
B 1 B 0
00
01
00 01 11 10
11
10
1 1
1 1
1 1
1 1
B 3 B 2
B 1 B 0
00
01
00 01 11 10
11
10
1 1
1 1
1 1
1 1
G2 G1 G0
G3 = B3,B2~B0 转换到 G2~G0 的转换关系如上面卡诺图所示
01012123233,,,BBGBBGBBGBG
例 2的解:二进制码转换到格雷码的卡诺图
S
Y 3
&
≥1
X 3
X 0
X 1
X 2
=1
&
≥1
=1
=1
Y 2
Y 1
Y 0
以 S 作为选择端,S=0,G → B; S=1,B → G
3 3 2 3 2
1 2 1 0 1 0
,
,
Y X Y X X
Y Y X Y Y X
3 3 2 3 2
1 2 1 0 1 0
,
,
Y X Y X X
Y X X Y X X
1 2 2 1
0 1 1 0
()
()
Y S Y S X X
Y S Y S X X
S=0
S=1
例 2的解:结果合成后的 Y1和 Y2
例 3
某特种录音机,具有下列功能:
按下 A轨键,磁带正转;按下 B轨键,磁带反转按下高速键,磁带高速转,方向由 A,B轨键确定按下快退键,磁带高速反转,方向由 A,B轨键确定试设计控制电路解:此问题的逻辑抽象为:
输入,A= 1,0表示 A 轨运行、停止
B=1,0表示 B 轨运行、停止
F= 1,0表示高速、常速
R= 1,0表示反转、正转输出,M=1,0表示电机运转、停止
RL1=1,0表示电机反转、正转
RL2=1,0表示电机高速、常速根据上述逻辑抽象,可以得到真值表如下:
A
A轨
B
B轨
F
高速前进
R
高速后退
M
1/0
转 /停
RL1
1/0
反 /正
RL2
1/0
高 /常
0 0 x x 0 d d
1 0 0 0 1 0 0
1 0 0 1 1 1 1
1 0 1 0 1 0 1
1 0 1 1 0 d d
0 1 0 0 1 1 0
0 1 0 1 1 0 1
0 1 1 0 1 1 1
0 1 1 1 0 d d
1 1 x x 0 d d
AB
FR
00
01
00 01 11 10
11
10
1 1 1
1 1 1
AB
FR
00
01
00 01 11 10
11
10
d d d d
1 d 1
d d d d
1 d
AB
FR
00
01
00 01 11 10
11
10
d d d d
1 d 1
d d d d
1 d 1
M R L 1 R L 2
RFRL
BRRBRL
FRABBAM
2
)(1
)()(
以上只是一种方案,可能有其他方案二、基于组合逻辑模块的设计方法
1、用数据选择器构成组合电路
0
1
} G
0
3
0
1
2
3
M U X
1
c
0
c
b
a
Y
1 0 1 01 0 0 0 1 1 2 1 0 3(,,)
( ) 1 ( ) ( ) 0 ( )
iY S S I S S I S S I S S I S S I
a b a b c a b a b c
a b a b c a b c
0
2}
G
0
7
0
1
2
3
4
5
6
7
MU X
C 1
0
1
B
A
C 2
Z
B
一般而言,用 2n选 1数据选择器实现 n+1个输入变量的逻辑函数需要且仅需要一个非门。
例,
2 1 2
2 1 1 21
1 2 1 2 1
2
22
1 1 1 2
12
1 2 1 2
11
22
22
11
( ) ( ) ( ) ( )
( ) ( )
( ) ( ) 0
( ) 1 ( )
Z C C A B C C A B C C A B C C A B
C C A B C C A B C C A B
C C A C C B C C A B
C C A B
C C A B C C A B
C C A B C C A
C C A C C A B
1 2 1 2
( ) ( )C C A B C C A B
0
2}
G
0
7
0
1
2
3
4
5
6
7
M U X
C 1
1
1
0
1
0
0
C 1
B
A
C 2
Z
特定条件下,用 2n选 1数据选择器实现 n+1个输入变量的逻辑函数可以不需要非门。
仍以前例说明:
2 1 2
2 1 1 21
1 2 1 2 1
2
22
1 1 1 2
12
2
2 2 1 1
22
21
22
1
22
2
( ) ( ) ( ) ( )
1
1 0
Z C C A B C C A B C C A B C C A B
C C A B C C A B C C A B
C C A C C B C C A B
C C A B
C A B C A B C C A B C
C A B C A B C C A B
C A B C C A B
C A B C A B
C
2
2 2 1
10
0
A B C A B
C A B C A B C
化简无 C1的非以 C1作为数据端
2、用译码器构成组合电路
&
S
Co
B
0
Ci
A
0
1
&
0
1
2
3
4
5
6
7
1
2
4
EN
B I N / O C T
&
76537653
74217421
YYYYmmmmC
YYYYmmmmS
o
例:
全加器电路三、运算电路设计
1、加法器
A
B
& ≥1
=1
Ci
S
Co
=1
具有最短延时的全加器电路单元电路辅助输出辅助输入主输入主输出迭代设计原理
CoCi
Σ
CoCi
Σ
CoCi
Σ
CoCi
Σ
A 0 B 0 A 1 B 1 A 2 B 2 A 3 B 3
S 0 S 1 S 2 S 3 C O3
C i0
具有串行进位的 4位二进制加法器
1 1 1 1
0 0 0 1
1 1 1 0
1 1 0 1 0 1
2 2 2 1
2 2 1 2 1 0 2 1 0 1
3 3 3 2
3 3 2 3 2 1 3 2 1 0 3 2 1 0
()
i i i i i i i i
i i i
i i i
i i i i i i i
C A B A C B C A B A B C G P C
C G P C
C G P C
G P G P P C
C G P C
G P G P P G P P P C
C G P C
G P G P P G P P P G P P P P C
G A B
P A B
其 中,称 为 进 位 产 生 信 号
,称 为 进 位 传 播 信 号
1
加法器的超前进位
CI - 1
CG 0 CI - 1
&
&
&
&
CG 1
CG 2
CG 3
CP 3
CP 2
CP 1
CP 0
CO 0
CO 1
CO 2
C G 4
C P 4
CG 0
CG 1
CG 2
CG 3
CP 0
CP 1
CP 2
CP 3
C P G
CP 4
CG 4
CO 2
CO 1
CO 0
& 1
1
1
1
4位超前进位电路
A
B
=1
1
&
&
C
S
CP
CG
配合超前进位电路的全加器迭代单元全加器迭代单元
S 0
全加器迭代单元
S 1
全加器迭代单元
S 2
全加器迭代单元
S 3
超前进位产生电路
A 0 A 3A 2A 1B 0 B 1 B 3B 2
C- 1
G 0 G 1 G 3G 2P 0 P 1 P 3P 2C 0 C 1 C 2
G 4 P 4
C- 1
Σ
0
3
0
3
P
Q
0
3
Σ
CI
CP
CG
带超前进位的 4位加法器利用加法器实现组合逻辑例:设计一个能将
BCD码转换为余 3码的代码转换器
8421BCD 码
DCBA
余 3 码
Y
3
Y
2
Y
1
Y
0
0000 001 1
0001 0100
0010 0101
001 1 01 10
0100 01 1 1
0101 1000
01 10 1001
01 1 1 1010
1000 101 1
1001 1 100
分析:
由余 3码与 BCD码的代码表可知,余 3码的 函数表达式 为:
Y3Y2Y1Y0=DCBA+0011
四位全加器
C0
C B A 1
A0A1A2A3 B0B1B2B3
0 0
C4 S0S1S2S3
Y0Y1Y2Y3
D
利用 4位全加器实现余 3码
0011
BCD码
2、减法器
XY
Bi 00 01 11 10
0
1
0 1 0 1
01 0 1
0 1 0 0
01 1 1
0
1
XY
Bi 00 01 11 10
D
Bo
iO BYXDB),(
全减器
X
Y
& ≥1
=1
Bi
D
Bo
=1
二进制补码
一个包含符号位在内为 n位的有符号二进制数,正数用原码表示,负数用补码表示。
正数和零,x = a;负数,。其中
a是该有符号数的绝对值。
补码的求法:绝对值 按位取反再加 1
2 nxa
将被减数作为加法器的一个加数,将减数以补码形式相加(按位取反再加 1:按位取“非”,同时将最低位的进位置成逻辑 1),就实现了二进制减法。
CI
Σ
P
0
0
3
3
Q
CO
0
3
Σ
CI
Σ
P
0
0
3
3
Q
CO
0
3
Σ
A /S
A 0
=1
=1
=1
=1
=1
=1
=1
=1
A 1
A 2
A 3
B 0
A 4
A 5
A 6
A 7
B 1
B 2
B 3
B 4
B 5
B 6
B 7
D 4
D 5
D 6
D 7
D 0
D 1
D 2
D 3
C O / B O
多位减法器
3、乘法器乘数 A A3 A2 A1 A0
乘数 B B3 B2 B1 B0
——————————————————————
部分积 P30 P20 P10 P00
部分积 P31 P21 P11 P01
部分积 P32 P22 P12 P02
部分积 P33 P23 P13 P03
——————————————————————
最后积 P7 P6 P5 P4 P3 P2 P1 P0
MU
A 3 B 3
MU
A 2 B 3
MU
A 1 B 3
MU
A 0 B 3
MU
A 3 B 2
MU
A 2 B 2
MU
A 1 B 2
MU
A 0 B 2
MU
A 3 B 1
MU
A 2 B 1
MU
A 1 B 1
MU
A 0 B 1
MU
A 3 B 0
MU
A 2 B 0
MU
A 1 B 0
MU
A 0 B 0
0
0
0
0
0000
P 7 P 6 P 5 P 4 P 3 P 2 P 1 P 0
Σ
MU &
CICO
4、除法器
10101 商除数 B 0101 ) 01101011 被除数 A
- 0101
0011 够减,商 =1,余数 R0 = A – B
- 0000
0110 不够减,商 =0,余数 R1 = R0
- 0101
0011 够减,商 =1,余数 R2 = R0–B/4
- 0000
0111 不够减,商 =0,余数 R3 = R2
- 0101
010 够减,商 =1,余数 R4 = R2–B/16
第一步:试商
BRR iii 211
当 Ri ≥ 0时,够减,商等于 1,将此余数保留到下一次。
下一个余数为
BRR iii 11 2 1
当 Ri < 0时,不够减,商等于 0,应该将余数恢复为原来的余数。下一个余数为
BRR iii 111 2 1
BBBRR iiiii 11 2 1221,)21(
由于,所以上式就是
BRBBRR iiiiii 111 2 12 1)21(
加减交替法:
1,第一次运算时从被除数的最高位开始减去除数,
得到余数。
2,若某次余数为正数(符号位为 0),则对应的商为 1,下一步运算时减去右移一位的除数得到新的余数;若某次余数为负数(符号位为 1),则对应的商为 0,下一步运算时加上右移一位的除数得到新的余数。
3,重复第二步运算,直到余数小于除数为止。
加减交替法的运算步骤二进制除法的运算规律,用二进制补码运算来做减法。若结果是正数,则符号位为 0,并且产生符号位的进位(进位为 1) ;若结果是负数,则符号位为 1,并且不产生符号位的进位(进位为 0)。所以,符号位的进位就是所求的商。
10101 商
0101 ) 01101011
+ 1011 加 B的补码(减 B)
100011 符号位 =0,符号位进位 =1(商 =1)
+ 1011 够减,加 B/2的补码(减 B/2)
011100 符号位 =1,符号位进位 =0(商 =0)
+ 0101 不够减,加 B/4
100011 符号位 =0,符号位进位 =1(商 =1)
+ 1011 加 B/8的补码(减 B/8)
011101 符号位 =1,符号位进位 =0(商 =0)
+ 0101 不够减,加 B/16
10010 符号位 =0,符号位进位 =1(商 =1)
B 3
DU
Σ
DU =1
CICO
B 2
DU
B 1
DU
B 0
DU
B 3
DU
B 2
DU
B 1
DU
B 0
DU
B 3
DU
B 2
DU
B 1
DU
B 0
DU
B 3
DU
B 2
DU
B 1
DU
B 0
DU
A 7 A 6 A 5 A 4
A 3
A 2
A 1
B 3
DU
B 2
DU
B 1
DU
B 0
DU
A 0
Q 0Q 1Q 2Q 3Q 4
1
5、数字比较器数据比较器有两组输入变量,它将输入的两组逻辑变量看成是两个二进制数 A与 B,然后对这两个二进制数进行数值比较。比较的结果有三种情况,A>B,A<B和 A=B。
输 入 输 出
A B A>B A=B A<B
0 0 0 1 0
0 1 0 0 1
1 0 1 0 0
1 1 0 1 0
1位数字比较器的真值表辅 助 输 入 输 入 辅 助 输 出
Ai-1>Bi-1 Ai-1=Bi-1 Ai-1<Bi-1 Ai Bi Ai>Bi Ai=Bi Ai<Bi
0 1 0 0 0 0 1 0
1 0 0 0 0 1 0 0
0 0 1 0 0 0 0 1
x x x 0 1 0 0 1
x x x 1 0 1 0 0
0 1 0 1 1 0 1 0
1 0 0 1 1 1 0 0
0 0 1 1 1 0 0 1
比较器的迭代单元的真值表
][)(][
][)(][
][)(][
11
11
11
iiiiiiii
iiiiii
iiiiiiii
BABABABA
BABABA
BABABABA
1,每个输出由两部分组成:本位比较结果和低位比较结果的进位。
2,本位比较相等的条件为 A,B的“同或”再“与”低位比较相等的结果。
3,输出 [Ai > Bi] 的条件有两个:第一个条件是本位结果满足 Ai > Bi,另一个条件是本位的比较结果相等时,低位比较结果 Ai-1 > Bi-1。这两个条件任意满足一个即可,所以是“或”关系。
4,输出 [Ai < Bi] 的结构与 [Ai > Bi] 类似。
&
A 3
B 3
&
&
&
≥1
& ≥1
&
≥1
&
≥1
&
&
&
A 2
B 2
A 1
B 1
A 0
B 0
A - 1 >B - 1
A - 1 =B - 1
A 3 <B 3
A 3 >B 3
A 3 =B 3
P < Q
P > Q
P = Q
C O M P
P
0
0
3
3
Q
<
>
=
A - 1 <B - 1
≥1&
≥1E 3
E 2
E 1
E 0
算术逻辑单元算术逻辑单元( Arithmetic Logic Unit,简称 ALU)是数字计算机中的一个核心运算部件。通常这个单元的输入被称为操作数,操作数可以是二进制数、十进制数或逻辑变量。
进入 ALU的操作数可以执行算术和逻辑运算。可执行的算术运算有两个操作数的加法(有进位和没有进位)、减法
(有借位和没有借位)、单个操作数的加 1、减 1、以及数值比较等等;某些 ALU还可以执行两个操作数的乘法、除法。可执行的逻辑运算一般均按位进行,有两个操作数的
“与”、“或”、“与非”、“或非”、“异或”、“异或非”和单个操作数的“非”等等。
2.3 数字集成电路的特性
Rc
V c c
Rb
e
c
b
v i
v o
v o
v i
截止状态放大状态饱和状态晶体管的开关作用:
V DD
d
sg
g
s
d
v i v o
v o
v i
n 沟道场效应管
p 沟道场效应管
p 沟道场效应管导通
n 沟道场效应管导通场效应管的开关作用:
数字集成电路的逻辑电平:
TTL,电源电压,+5V
逻辑低电平,0~ 0.7V
逻辑高电平,2.4~5V
输出逻辑电平:低电平,<0.5V
高电平,>2.7V
CMOS:电源电压,3.3V,5V
逻辑低电平,0~ 1/3 电源电压逻辑高电平,2/3 电源电压~电源电压输出逻辑电平:低电平,<0.1电源电压高电平,>0.9电源电压数字集成电路的输出电流与扇出:
TTL:低电平输出电流,-8 ~ -20 mA
高电平输出电流,0.4 ~ 1 mA
扇出,10 ~ 20
CMOS:低电平输出电流,0.5 ~ 24 mA
高电平输出电流,0.5 ~ 24 mA
扇出极大。
数字集成电路的动态响应特性:
随着集成电路技术的发展,数字集成电路的响应时间越来越短。早期的电路,大约 TTL 为
15ns,CMOS则大约有 100ns,目前已经普遍缩短到几 ns,最短的在 1~ 2ns。
数字集成电路的输出结构:
除了上面所讨论的常规输出结构以外,还有一些特殊的输出结构:
三态输出结构。
开路输出结构。
EN
1
L 型开路输出 H 型开路输出内部无上拉 内部有上拉 内部无下拉 内部有下拉集成数字逻辑电路芯片
2.4 组合逻辑电路中的竞争-冒险两级或非门电路波形图 (B=0)
t2+ 2tpd
A
A
L t2t1 t3 t4
t2+ tpd
tpd
1
A
B
1
1 2
ABAL +
0 AAL +
AB=0
毛刺竞争与冒险:
当一个门的输入有两个或两个以上变量发生改变时,由于这些变量(信号)是经过不同路径产生的,使得它们状态改变的时刻有先有后,这种时差引起的现象称为 竞争 。
竞争的结果若导致 冒险(险象) 发生(如上例中的毛刺),并造成错误的后果,则称这种竞争为临界竞争 ;竞争的结果不导致冒险发生,或虽有冒险发生,但不影响系统的工作,则称这种竞争为 非临界竞争 。
冒险的类型从冒险的波形上,可分为 静态和动态冒险 。
输入信号变化前后,输出的稳态值是一样的,但在输入信号变化时,输出产生了毛刺,这种冒险称为 静态冒险 。 若输出的稳态值为 0,出现了正的尖脉冲毛刺,则称为 静态 0冒险 ;若输出稳态值为 1,出现了负的尖脉冲毛刺,则称为 静态 1冒险 。
输入信号变化前后,输出的稳态值不同,并在边沿处出现了毛刺,称为 动态冒险 。
0 0
1 1 1
0
静态 0冒险 静态 1冒险由 1变 0 由 0变 1
动态冒险检查竞争-冒险的方法:
1、输入可以转换成的形式
2、在卡诺图上可以观察到相切的卡诺圈以上方法只有在 每个瞬时只有一个输入发生状态改变 的条件下才适用。
AAYAAY 或
&
A
B
Y
&
≥1
& C
1
1
1
X 3
X 0
X 1
X 2
X 3 X 2
X 1 X 0
00
01
00 01 11 10
1 1
1
1
11
1 1
11
10
A
B
C
1
相切点消除竞争-冒险的方法:
1,在输出端对地接入一个小电容 。优点是简单易行,而缺点是增加了输出电压波形的上升时间和下降时间,使波形变坏,并且完全无法在集成电路内部实现。
2、修改逻辑设计。 增加冗余项 可以消除竞争 -冒险,但是适用范围仍然很有限,只能消除由于单个输入发生变化引起的竞争-冒险。
3、在电路中 引入选通脉冲 。可以消除所有的冒险(包括静态冒险和动态冒险),并且容易实现,但需注意:这时正常的输出信号也将变成脉冲信号,而且它们的宽度与选通脉冲相同。
无险象的电路有险象的电路
CAABD +=
A
B
C
&
&
&
1
D
A
B
C &
&
1 &
&
D
AAD +=
当 B=C=1时
BCCAABD ++=
11?++= AAD
增加冗余项消除冒险当 B=C=1时冗余项有相切的卡诺图 加冗余项的卡诺图
BCCAABD ++=CAABD +=
卡诺图法
B C
A
00 01 11 10
0 0 1 1 0
1 0 0 1 1
BC
A
00 01 11 10
0 0 1 1 0
1 0 0 1 1
增加冗余项消除冒险相切点 相切点被消除
A
B
L
C
D
1
1
取样脉冲
A
B
C
&
&
&
1
&
D
L
利用取样脉冲克服冒险取样脉冲 原来的冒险取样后的输出
掌握组合逻辑电路的基本分析方法和一般设计过程
掌握常见逻辑模块的功能及其使用
掌握实际逻辑电路中冒险现象的形成原理及其防止
2.1 组合逻辑电路的分析组合逻辑的结构:
组合逻辑电路输入信号输出信号组合逻辑电路(简称组合电路)任意时刻的输出信号仅取决于该时刻的输入信号,与信号作用前电路原来的状态无关
=1
=1
=1
A
B
A
B
Y
Y 1
Y 2
&
&
&
&A
B
Y
Y 1
Y 2
Y 3
组合逻辑的例:两种异或门结构半加器
&
&
&
&A
B
S
1
Co
A B Co S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
全加器
Ci A B Co S
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
全加器的结构
&
&
&
&A
B S
&
&
&
&
Ci
&
Co
Co 1
Co 2
两个半加器的组合:
加数 1+加数 2+进位=和,进位 1,或” 进位 2=进位一个复杂的例子:代码转换
1
1 111
1
1
& >1
& >1
& >1
1
11
11
& >1
1
C
C
C
C
C
C
A3
A2
A1
A0
Y0
Y1
Y2
Y3
X2
X3>1
3 3 2 2 1 1 0 0
3 3 3 2 1 2 2 1 2 1 2
1 1 0 0
0,,,,
1,,
,
C Y A Y A Y A Y A
C Y X A A A Y X A A A A
Y A Y A
此例的真值表 (C=1)
A3 A2 A1 A0 Y3 Y2 Y1 Y0 A3 A2 A1 A0 Y3 Y2 Y1 Y0
0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
0 0 0 1 1 0 0 1 1 0 0 1 0 0 0 1
0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0
0 0 1 1 0 0 1 1 1 0 1 1 0 0 1 1
0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0
0 1 0 1 0 0 0 1 1 1 0 1 0 0 0 1
0 1 1 0 0 1 1 0 1 1 1 0 0 1 1 0
0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1
结果:
C=0时输出与输入相同; C=1时输入二进制码,输出格雷码常用组合逻辑模块
组合逻辑模块是一些基本的逻辑单元
熟悉组合逻辑模块的结构与功能,可以帮助分析复杂的逻辑结构
在设计逻辑电路时,可以从逻辑模块出发进行设计将输入的某种代码(通常为二进制码),转换为事件或另一种代码输出的过程,称为译码。
转换为事件输出的译码器,是编码器的逆过程。
转换为另一种代码输出的译码器,根据两个代码之间的关系,可以有各种不同的译码器。
常见的译码器:
转换为事件输出的译码器,3-8译码器、等等。
转换为另一种代码输出的译码器:( LED) 七段译码器,BCD译码器、等等。
译码器
3-8译码器( 74LS138)
Y3
&
&
11
11
11
1
Y1
Y0
A2
S2
A0
A1
&
&
Y2
Y7
&
&
Y5
Y4
&
&
Y6
&
S3
S1
S
A2
S2
A0
A1
S3
S1
&
Y3
Y1
Y0
Y2
Y7
Y5
Y4
Y6
0
1
2
3
4
5
6
7
1
2
4
EN
B I N/ OCT
使能相关输 入 输 出
S1 A2 A1 A0 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
0 x x x x 1 1 1 1 1 1 1 1
x 1 x x x 1 1 1 1 1 1 1 1
1 0 0 0 0 0 1 1 1 1 1 1 1
1 0 0 0 1 1 0 1 1 1 1 1 1
1 0 0 1 0 1 1 0 1 1 1 1 1
1 0 0 1 1 1 1 1 0 1 1 1 1
1 0 1 0 0 1 1 1 1 0 1 1 1
1 0 1 0 1 1 1 1 1 1 0 1 1
1 0 1 1 0 1 1 1 1 1 1 0 1
1 0 1 1 1 1 1 1 1 1 1 1 0
32 SS?
3- 8译码器的真值表编码器将输入信号(事件),用一个代码表示(输出)的过程,称为编码。
编码器有普通编码器和优先编码器两种。
普通编码器在同一个时刻只能允许有一个输入(单个事件)。
优先编码器允许多个事件同时发生,按照事先设定的优先级,确定输出代码。
8-3优先编码器
&
Y0
Y1
Y2
≥1
& ≥ 1
& ≥1
&
&
11
1
11
11
11
1
1
1
EX
Ys
I0
I1
I2
I3
I4
I5
I6
I7
S
Y0
Y1
Y2
EX
Ys
I0
I1
I2
I3
I4
I5
I6
I7
S
6 /Z 1 6
7 /Z 1 7
4 /Z 1 4
5 /Z 1 5
2 /Z 1 2
3 /Z 1 3
0 /Z 1 0
1 /Z 1 1
≥1
16
17
14
15
12
13
10
11
1a
2a
4a
a
18
H PR/B I N
E Na /V18
互连关联或关联
s I7 I6 I5 I4 I3 I2 I1 I0 Y2Y1Y0
0 0 X X X X X X X 1 1 1
0 1 0 X X X X X X 1 1 0
0 1 1 0 X X X X X 1 0 1
0 1 1 1 0 X X X X 1 0 0
0 1 1 1 1 0 X X X 0 1 1
0 1 1 1 1 1 0 X X 0 1 0
0 1 1 1 1 1 1 0 X 0 0 1
0 1 1 1 1 1 1 1 0 0 0 0
1 X X X X X X X X 1 1 1
8- 3优先编码器的真值表数据选择器从多个输入逻辑信号中选出一个逻辑信号送到输出端的器件,也称为多路器。
一个数据选择器连接 m个输入,由 n个选择变量决定这 m个输入中的哪一个被送到输出端。
这里 m = 2n。
2选 1数据选择器
&
Y
≥1
I 0
I 1
S
0
1
MU X
I 0
I 1
S
Y
G
0
1
与关联
10 SIISY
&
Y
≥1
1
11
11
11
Y
I0
I1
I2
I3
I4
I5
I6
I7
S0
1
S1
S2
En
0
2
}
G
0
7
EN
0
1
2
3
4
5
6
7
M UX
I0
I1
I2
I3
I4
I5
I6
I7
S0
S1
S2
En
Y
Y
8选 1数据选择器
7
0i
ii ImENY
2.2 组合逻辑电路的设计
基于门电路的设计基本的设计方法。
基于组合逻辑模块的设计利用组合电路模块实现主要功能,辅以门电路,结构比较简单。
运算电路设计需要熟悉二进制运算的特点,采用迭代设计。
一、基于门电路的设计方法逻辑抽象确定输入输出关系定义输入输出变量逻辑函数表达式真值表化简与变换逻辑图
(电路图)
例 1
设计一个带控制端的 3位输入代码检测电路。
当控制端 P为 0时,输入 >3并且 <6
时输出为 1;
当控制端 P为 1时,输入 <6时输出为 1 。
要求完成最简设计。
例 1的解:真值表
P ABC Y
0 000 0
0 001 0
0 010 0
0 011 0
0 100 1
0 101 1
0 110 0
0 111 0
P ABC Y
1 000 1
1 001 1
1 010 1
1 011 1
1 100 1
1 101 1
1 110 0
1 111 0
0 0 0 0
1 1 0 0
BA
PC
1 1 0 0
1 1 1 1
00
01
11
10
00 01 11 10
Y C B PC
例 1的解:卡诺图,化简例 1的解:利用卡诺图运算的方案
0 0 0 0
1 1 0 0
BA
PC
1 1 0 0
1 1 1 1
00
01
11
10
00 01 11 10
BCPBCC
BCPCY
)(
&B
P
C
Y
&
&
&
例 2
Dec Bin Gray
B3B2B1B0 G3G2G1G0
0 0000 0000
1 0001 0001
2 0010 0011
3 0011 0010
4 0100 0110
5 0101 0111
6 0110 0101
7 0111 0100
Dec Bin Gray
B3B2B1B0 G3G2G1G0
8 1000 1100
9 1001 1101
10 1010 1111
11 1011 1110
12 1100 1010
13 1101 1011
14 1110 1001
15 1111 1000
设计一个 4位格雷码和二进制码的相互转换电路。
例 2的解:格雷码转换到二进制码的卡诺图
G 3 G 2
G 1 G 0
00
01
00 01 11 10
11
10
1 1 1 1
1 1 1 1
G 3 G 2
G 1 G 0
00
01
00 01 11 10
11
10
1 1
1 1
1 1
1 1
G 3 G 2
G 1 G 0
00
01
00 01 11 10
11
10
1 1
1 1
1 1
1 1
B2 B1 B0
G3 = B3,G2~G0 转换到 B2~B0 的转换关系如上面卡诺图所示
01012123233,,,GBBGBBGGBGB
B 3 B 2
B 1 B 0
00
01
00 01 11 10
11
10
1 1 1 1
1 1 1 1
B 3 B 2
B 1 B 0
00
01
00 01 11 10
11
10
1 1
1 1
1 1
1 1
B 3 B 2
B 1 B 0
00
01
00 01 11 10
11
10
1 1
1 1
1 1
1 1
G2 G1 G0
G3 = B3,B2~B0 转换到 G2~G0 的转换关系如上面卡诺图所示
01012123233,,,BBGBBGBBGBG
例 2的解:二进制码转换到格雷码的卡诺图
S
Y 3
&
≥1
X 3
X 0
X 1
X 2
=1
&
≥1
=1
=1
Y 2
Y 1
Y 0
以 S 作为选择端,S=0,G → B; S=1,B → G
3 3 2 3 2
1 2 1 0 1 0
,
,
Y X Y X X
Y Y X Y Y X
3 3 2 3 2
1 2 1 0 1 0
,
,
Y X Y X X
Y X X Y X X
1 2 2 1
0 1 1 0
()
()
Y S Y S X X
Y S Y S X X
S=0
S=1
例 2的解:结果合成后的 Y1和 Y2
例 3
某特种录音机,具有下列功能:
按下 A轨键,磁带正转;按下 B轨键,磁带反转按下高速键,磁带高速转,方向由 A,B轨键确定按下快退键,磁带高速反转,方向由 A,B轨键确定试设计控制电路解:此问题的逻辑抽象为:
输入,A= 1,0表示 A 轨运行、停止
B=1,0表示 B 轨运行、停止
F= 1,0表示高速、常速
R= 1,0表示反转、正转输出,M=1,0表示电机运转、停止
RL1=1,0表示电机反转、正转
RL2=1,0表示电机高速、常速根据上述逻辑抽象,可以得到真值表如下:
A
A轨
B
B轨
F
高速前进
R
高速后退
M
1/0
转 /停
RL1
1/0
反 /正
RL2
1/0
高 /常
0 0 x x 0 d d
1 0 0 0 1 0 0
1 0 0 1 1 1 1
1 0 1 0 1 0 1
1 0 1 1 0 d d
0 1 0 0 1 1 0
0 1 0 1 1 0 1
0 1 1 0 1 1 1
0 1 1 1 0 d d
1 1 x x 0 d d
AB
FR
00
01
00 01 11 10
11
10
1 1 1
1 1 1
AB
FR
00
01
00 01 11 10
11
10
d d d d
1 d 1
d d d d
1 d
AB
FR
00
01
00 01 11 10
11
10
d d d d
1 d 1
d d d d
1 d 1
M R L 1 R L 2
RFRL
BRRBRL
FRABBAM
2
)(1
)()(
以上只是一种方案,可能有其他方案二、基于组合逻辑模块的设计方法
1、用数据选择器构成组合电路
0
1
} G
0
3
0
1
2
3
M U X
1
c
0
c
b
a
Y
1 0 1 01 0 0 0 1 1 2 1 0 3(,,)
( ) 1 ( ) ( ) 0 ( )
iY S S I S S I S S I S S I S S I
a b a b c a b a b c
a b a b c a b c
0
2}
G
0
7
0
1
2
3
4
5
6
7
MU X
C 1
0
1
B
A
C 2
Z
B
一般而言,用 2n选 1数据选择器实现 n+1个输入变量的逻辑函数需要且仅需要一个非门。
例,
2 1 2
2 1 1 21
1 2 1 2 1
2
22
1 1 1 2
12
1 2 1 2
11
22
22
11
( ) ( ) ( ) ( )
( ) ( )
( ) ( ) 0
( ) 1 ( )
Z C C A B C C A B C C A B C C A B
C C A B C C A B C C A B
C C A C C B C C A B
C C A B
C C A B C C A B
C C A B C C A
C C A C C A B
1 2 1 2
( ) ( )C C A B C C A B
0
2}
G
0
7
0
1
2
3
4
5
6
7
M U X
C 1
1
1
0
1
0
0
C 1
B
A
C 2
Z
特定条件下,用 2n选 1数据选择器实现 n+1个输入变量的逻辑函数可以不需要非门。
仍以前例说明:
2 1 2
2 1 1 21
1 2 1 2 1
2
22
1 1 1 2
12
2
2 2 1 1
22
21
22
1
22
2
( ) ( ) ( ) ( )
1
1 0
Z C C A B C C A B C C A B C C A B
C C A B C C A B C C A B
C C A C C B C C A B
C C A B
C A B C A B C C A B C
C A B C A B C C A B
C A B C C A B
C A B C A B
C
2
2 2 1
10
0
A B C A B
C A B C A B C
化简无 C1的非以 C1作为数据端
2、用译码器构成组合电路
&
S
Co
B
0
Ci
A
0
1
&
0
1
2
3
4
5
6
7
1
2
4
EN
B I N / O C T
&
76537653
74217421
YYYYmmmmC
YYYYmmmmS
o
例:
全加器电路三、运算电路设计
1、加法器
A
B
& ≥1
=1
Ci
S
Co
=1
具有最短延时的全加器电路单元电路辅助输出辅助输入主输入主输出迭代设计原理
CoCi
Σ
CoCi
Σ
CoCi
Σ
CoCi
Σ
A 0 B 0 A 1 B 1 A 2 B 2 A 3 B 3
S 0 S 1 S 2 S 3 C O3
C i0
具有串行进位的 4位二进制加法器
1 1 1 1
0 0 0 1
1 1 1 0
1 1 0 1 0 1
2 2 2 1
2 2 1 2 1 0 2 1 0 1
3 3 3 2
3 3 2 3 2 1 3 2 1 0 3 2 1 0
()
i i i i i i i i
i i i
i i i
i i i i i i i
C A B A C B C A B A B C G P C
C G P C
C G P C
G P G P P C
C G P C
G P G P P G P P P C
C G P C
G P G P P G P P P G P P P P C
G A B
P A B
其 中,称 为 进 位 产 生 信 号
,称 为 进 位 传 播 信 号
1
加法器的超前进位
CI - 1
CG 0 CI - 1
&
&
&
&
CG 1
CG 2
CG 3
CP 3
CP 2
CP 1
CP 0
CO 0
CO 1
CO 2
C G 4
C P 4
CG 0
CG 1
CG 2
CG 3
CP 0
CP 1
CP 2
CP 3
C P G
CP 4
CG 4
CO 2
CO 1
CO 0
& 1
1
1
1
4位超前进位电路
A
B
=1
1
&
&
C
S
CP
CG
配合超前进位电路的全加器迭代单元全加器迭代单元
S 0
全加器迭代单元
S 1
全加器迭代单元
S 2
全加器迭代单元
S 3
超前进位产生电路
A 0 A 3A 2A 1B 0 B 1 B 3B 2
C- 1
G 0 G 1 G 3G 2P 0 P 1 P 3P 2C 0 C 1 C 2
G 4 P 4
C- 1
Σ
0
3
0
3
P
Q
0
3
Σ
CI
CP
CG
带超前进位的 4位加法器利用加法器实现组合逻辑例:设计一个能将
BCD码转换为余 3码的代码转换器
8421BCD 码
DCBA
余 3 码
Y
3
Y
2
Y
1
Y
0
0000 001 1
0001 0100
0010 0101
001 1 01 10
0100 01 1 1
0101 1000
01 10 1001
01 1 1 1010
1000 101 1
1001 1 100
分析:
由余 3码与 BCD码的代码表可知,余 3码的 函数表达式 为:
Y3Y2Y1Y0=DCBA+0011
四位全加器
C0
C B A 1
A0A1A2A3 B0B1B2B3
0 0
C4 S0S1S2S3
Y0Y1Y2Y3
D
利用 4位全加器实现余 3码
0011
BCD码
2、减法器
XY
Bi 00 01 11 10
0
1
0 1 0 1
01 0 1
0 1 0 0
01 1 1
0
1
XY
Bi 00 01 11 10
D
Bo
iO BYXDB),(
全减器
X
Y
& ≥1
=1
Bi
D
Bo
=1
二进制补码
一个包含符号位在内为 n位的有符号二进制数,正数用原码表示,负数用补码表示。
正数和零,x = a;负数,。其中
a是该有符号数的绝对值。
补码的求法:绝对值 按位取反再加 1
2 nxa
将被减数作为加法器的一个加数,将减数以补码形式相加(按位取反再加 1:按位取“非”,同时将最低位的进位置成逻辑 1),就实现了二进制减法。
CI
Σ
P
0
0
3
3
Q
CO
0
3
Σ
CI
Σ
P
0
0
3
3
Q
CO
0
3
Σ
A /S
A 0
=1
=1
=1
=1
=1
=1
=1
=1
A 1
A 2
A 3
B 0
A 4
A 5
A 6
A 7
B 1
B 2
B 3
B 4
B 5
B 6
B 7
D 4
D 5
D 6
D 7
D 0
D 1
D 2
D 3
C O / B O
多位减法器
3、乘法器乘数 A A3 A2 A1 A0
乘数 B B3 B2 B1 B0
——————————————————————
部分积 P30 P20 P10 P00
部分积 P31 P21 P11 P01
部分积 P32 P22 P12 P02
部分积 P33 P23 P13 P03
——————————————————————
最后积 P7 P6 P5 P4 P3 P2 P1 P0
MU
A 3 B 3
MU
A 2 B 3
MU
A 1 B 3
MU
A 0 B 3
MU
A 3 B 2
MU
A 2 B 2
MU
A 1 B 2
MU
A 0 B 2
MU
A 3 B 1
MU
A 2 B 1
MU
A 1 B 1
MU
A 0 B 1
MU
A 3 B 0
MU
A 2 B 0
MU
A 1 B 0
MU
A 0 B 0
0
0
0
0
0000
P 7 P 6 P 5 P 4 P 3 P 2 P 1 P 0
Σ
MU &
CICO
4、除法器
10101 商除数 B 0101 ) 01101011 被除数 A
- 0101
0011 够减,商 =1,余数 R0 = A – B
- 0000
0110 不够减,商 =0,余数 R1 = R0
- 0101
0011 够减,商 =1,余数 R2 = R0–B/4
- 0000
0111 不够减,商 =0,余数 R3 = R2
- 0101
010 够减,商 =1,余数 R4 = R2–B/16
第一步:试商
BRR iii 211
当 Ri ≥ 0时,够减,商等于 1,将此余数保留到下一次。
下一个余数为
BRR iii 11 2 1
当 Ri < 0时,不够减,商等于 0,应该将余数恢复为原来的余数。下一个余数为
BRR iii 111 2 1
BBBRR iiiii 11 2 1221,)21(
由于,所以上式就是
BRBBRR iiiiii 111 2 12 1)21(
加减交替法:
1,第一次运算时从被除数的最高位开始减去除数,
得到余数。
2,若某次余数为正数(符号位为 0),则对应的商为 1,下一步运算时减去右移一位的除数得到新的余数;若某次余数为负数(符号位为 1),则对应的商为 0,下一步运算时加上右移一位的除数得到新的余数。
3,重复第二步运算,直到余数小于除数为止。
加减交替法的运算步骤二进制除法的运算规律,用二进制补码运算来做减法。若结果是正数,则符号位为 0,并且产生符号位的进位(进位为 1) ;若结果是负数,则符号位为 1,并且不产生符号位的进位(进位为 0)。所以,符号位的进位就是所求的商。
10101 商
0101 ) 01101011
+ 1011 加 B的补码(减 B)
100011 符号位 =0,符号位进位 =1(商 =1)
+ 1011 够减,加 B/2的补码(减 B/2)
011100 符号位 =1,符号位进位 =0(商 =0)
+ 0101 不够减,加 B/4
100011 符号位 =0,符号位进位 =1(商 =1)
+ 1011 加 B/8的补码(减 B/8)
011101 符号位 =1,符号位进位 =0(商 =0)
+ 0101 不够减,加 B/16
10010 符号位 =0,符号位进位 =1(商 =1)
B 3
DU
Σ
DU =1
CICO
B 2
DU
B 1
DU
B 0
DU
B 3
DU
B 2
DU
B 1
DU
B 0
DU
B 3
DU
B 2
DU
B 1
DU
B 0
DU
B 3
DU
B 2
DU
B 1
DU
B 0
DU
A 7 A 6 A 5 A 4
A 3
A 2
A 1
B 3
DU
B 2
DU
B 1
DU
B 0
DU
A 0
Q 0Q 1Q 2Q 3Q 4
1
5、数字比较器数据比较器有两组输入变量,它将输入的两组逻辑变量看成是两个二进制数 A与 B,然后对这两个二进制数进行数值比较。比较的结果有三种情况,A>B,A<B和 A=B。
输 入 输 出
A B A>B A=B A<B
0 0 0 1 0
0 1 0 0 1
1 0 1 0 0
1 1 0 1 0
1位数字比较器的真值表辅 助 输 入 输 入 辅 助 输 出
Ai-1>Bi-1 Ai-1=Bi-1 Ai-1<Bi-1 Ai Bi Ai>Bi Ai=Bi Ai<Bi
0 1 0 0 0 0 1 0
1 0 0 0 0 1 0 0
0 0 1 0 0 0 0 1
x x x 0 1 0 0 1
x x x 1 0 1 0 0
0 1 0 1 1 0 1 0
1 0 0 1 1 1 0 0
0 0 1 1 1 0 0 1
比较器的迭代单元的真值表
][)(][
][)(][
][)(][
11
11
11
iiiiiiii
iiiiii
iiiiiiii
BABABABA
BABABA
BABABABA
1,每个输出由两部分组成:本位比较结果和低位比较结果的进位。
2,本位比较相等的条件为 A,B的“同或”再“与”低位比较相等的结果。
3,输出 [Ai > Bi] 的条件有两个:第一个条件是本位结果满足 Ai > Bi,另一个条件是本位的比较结果相等时,低位比较结果 Ai-1 > Bi-1。这两个条件任意满足一个即可,所以是“或”关系。
4,输出 [Ai < Bi] 的结构与 [Ai > Bi] 类似。
&
A 3
B 3
&
&
&
≥1
& ≥1
&
≥1
&
≥1
&
&
&
A 2
B 2
A 1
B 1
A 0
B 0
A - 1 >B - 1
A - 1 =B - 1
A 3 <B 3
A 3 >B 3
A 3 =B 3
P < Q
P > Q
P = Q
C O M P
P
0
0
3
3
Q
<
>
=
A - 1 <B - 1
≥1&
≥1E 3
E 2
E 1
E 0
算术逻辑单元算术逻辑单元( Arithmetic Logic Unit,简称 ALU)是数字计算机中的一个核心运算部件。通常这个单元的输入被称为操作数,操作数可以是二进制数、十进制数或逻辑变量。
进入 ALU的操作数可以执行算术和逻辑运算。可执行的算术运算有两个操作数的加法(有进位和没有进位)、减法
(有借位和没有借位)、单个操作数的加 1、减 1、以及数值比较等等;某些 ALU还可以执行两个操作数的乘法、除法。可执行的逻辑运算一般均按位进行,有两个操作数的
“与”、“或”、“与非”、“或非”、“异或”、“异或非”和单个操作数的“非”等等。
2.3 数字集成电路的特性
Rc
V c c
Rb
e
c
b
v i
v o
v o
v i
截止状态放大状态饱和状态晶体管的开关作用:
V DD
d
sg
g
s
d
v i v o
v o
v i
n 沟道场效应管
p 沟道场效应管
p 沟道场效应管导通
n 沟道场效应管导通场效应管的开关作用:
数字集成电路的逻辑电平:
TTL,电源电压,+5V
逻辑低电平,0~ 0.7V
逻辑高电平,2.4~5V
输出逻辑电平:低电平,<0.5V
高电平,>2.7V
CMOS:电源电压,3.3V,5V
逻辑低电平,0~ 1/3 电源电压逻辑高电平,2/3 电源电压~电源电压输出逻辑电平:低电平,<0.1电源电压高电平,>0.9电源电压数字集成电路的输出电流与扇出:
TTL:低电平输出电流,-8 ~ -20 mA
高电平输出电流,0.4 ~ 1 mA
扇出,10 ~ 20
CMOS:低电平输出电流,0.5 ~ 24 mA
高电平输出电流,0.5 ~ 24 mA
扇出极大。
数字集成电路的动态响应特性:
随着集成电路技术的发展,数字集成电路的响应时间越来越短。早期的电路,大约 TTL 为
15ns,CMOS则大约有 100ns,目前已经普遍缩短到几 ns,最短的在 1~ 2ns。
数字集成电路的输出结构:
除了上面所讨论的常规输出结构以外,还有一些特殊的输出结构:
三态输出结构。
开路输出结构。
EN
1
L 型开路输出 H 型开路输出内部无上拉 内部有上拉 内部无下拉 内部有下拉集成数字逻辑电路芯片
2.4 组合逻辑电路中的竞争-冒险两级或非门电路波形图 (B=0)
t2+ 2tpd
A
A
L t2t1 t3 t4
t2+ tpd
tpd
1
A
B
1
1 2
ABAL +
0 AAL +
AB=0
毛刺竞争与冒险:
当一个门的输入有两个或两个以上变量发生改变时,由于这些变量(信号)是经过不同路径产生的,使得它们状态改变的时刻有先有后,这种时差引起的现象称为 竞争 。
竞争的结果若导致 冒险(险象) 发生(如上例中的毛刺),并造成错误的后果,则称这种竞争为临界竞争 ;竞争的结果不导致冒险发生,或虽有冒险发生,但不影响系统的工作,则称这种竞争为 非临界竞争 。
冒险的类型从冒险的波形上,可分为 静态和动态冒险 。
输入信号变化前后,输出的稳态值是一样的,但在输入信号变化时,输出产生了毛刺,这种冒险称为 静态冒险 。 若输出的稳态值为 0,出现了正的尖脉冲毛刺,则称为 静态 0冒险 ;若输出稳态值为 1,出现了负的尖脉冲毛刺,则称为 静态 1冒险 。
输入信号变化前后,输出的稳态值不同,并在边沿处出现了毛刺,称为 动态冒险 。
0 0
1 1 1
0
静态 0冒险 静态 1冒险由 1变 0 由 0变 1
动态冒险检查竞争-冒险的方法:
1、输入可以转换成的形式
2、在卡诺图上可以观察到相切的卡诺圈以上方法只有在 每个瞬时只有一个输入发生状态改变 的条件下才适用。
AAYAAY 或
&
A
B
Y
&
≥1
& C
1
1
1
X 3
X 0
X 1
X 2
X 3 X 2
X 1 X 0
00
01
00 01 11 10
1 1
1
1
11
1 1
11
10
A
B
C
1
相切点消除竞争-冒险的方法:
1,在输出端对地接入一个小电容 。优点是简单易行,而缺点是增加了输出电压波形的上升时间和下降时间,使波形变坏,并且完全无法在集成电路内部实现。
2、修改逻辑设计。 增加冗余项 可以消除竞争 -冒险,但是适用范围仍然很有限,只能消除由于单个输入发生变化引起的竞争-冒险。
3、在电路中 引入选通脉冲 。可以消除所有的冒险(包括静态冒险和动态冒险),并且容易实现,但需注意:这时正常的输出信号也将变成脉冲信号,而且它们的宽度与选通脉冲相同。
无险象的电路有险象的电路
CAABD +=
A
B
C
&
&
&
1
D
A
B
C &
&
1 &
&
D
AAD +=
当 B=C=1时
BCCAABD ++=
11?++= AAD
增加冗余项消除冒险当 B=C=1时冗余项有相切的卡诺图 加冗余项的卡诺图
BCCAABD ++=CAABD +=
卡诺图法
B C
A
00 01 11 10
0 0 1 1 0
1 0 0 1 1
BC
A
00 01 11 10
0 0 1 1 0
1 0 0 1 1
增加冗余项消除冒险相切点 相切点被消除
A
B
L
C
D
1
1
取样脉冲
A
B
C
&
&
&
1
&
D
L
利用取样脉冲克服冒险取样脉冲 原来的冒险取样后的输出