前面所分析的逻辑电路,基于输入 /输出都是在稳定的逻辑电平下进
行的,没有考虑动态变化状态。实际上,输入信号有变化,或者某个变
量通过两条以上路经到达输出端。由于路经不同,到达的时间就有先有
后,这一现象叫做 竞争 。
一、竞争和冒险
例:一个由两级或非门组成的组合电路。
假设,B = 0,0AAF ???
☆ 理想情况下,A 无论如何变化,F≡0。
☆ 实际情况下:输入信号每通过一级门电路都需要一定的延迟时间 t pd 。
画出考虑延迟时间的输入 /输出波形图。
pdt
当, A 由 1→0,
0
考虑 G1门延迟时间
当 A由 1变为 0时,由于考虑了 G1门的延迟时
间,在 G2门的 2个输入端出现了均为 0的短
暂时刻,使 G2门输出产生了不应有的窄脉
冲,这个窄脉冲称为 毛刺 。
A
B
F
≥1
≥1
1G
2G
F
0
A
B
A
从 波形上可以分为,☆ 静态冒险
☆ 动态冒险
☆ 静态冒险,输入信号变化前、后,输
出的稳态值是一样的,只
有输入信号发生变化时,
输出产生毛刺。
☆ 动态冒险,输入信号变化前、后,输
出的稳态值是不一样的,
并在边沿处产生毛刺。
1 1
0 0
动态冒险往往是由静态冒险造成的。
☆ 引起冒险的原因可分为,函数冒险和功能冒险。
0 0
1
0
1 1
在稳态条件下:
在动态条件下:
1F,1A 0B ???当,1F,0A 1B ???当:
pdt
A由 1→0,早于 B由 0→1 的变化,
即 A先到达或门输入端并与变化
前的 B相加,经或门传输延迟时
间 t pd后,到达 F,使 F=0。输出
出现偏 1冒险。
☆ 这种冒险通过改变电路结
构是不能消除的,避免冒险的
方法是,同一时刻只允许单个
输入变量变化。
≥1A
B
BAF ??
0
1
1
1A
0B
1F
AB
C 00 01 11 10
0
1
1 1
1
0
0 0
0
0
ABCB ??
当 ABC从 010→111 时:
由 F的卡诺图可知,在稳定情况下,
F(0,1,0)=1 F(1,1,1)=1
如果 A,C两个输入信号发生变化:
若,C先由 0→1,其路经 010→011→111 。
F(0,1,0)=1
F(0,1,1)=0
F(1,1,1)=1
产生偏 1冒险。 1 10
若,A先由 0→1,其路经 010→110→111 。
F(0,1,0)=1
F(1,1,0)=1
F(1,1,1)=1
不会产生冒险。
由以上分析可知:
当有两个或两个以上的输
入信号发生变化时,由于
可能经过的路经不同而产
生的静态冒险称为功能冒
险。
&
&
≥1
A
B
C
F
代数法:
卡诺图法:
取样脉冲法
输出端加滤波电路
1、代数法:
在 n变量的逻辑表达式中,给 n-1个变量以特定取
值( 0,1),表达式仅保留某个具有竞争能力的变量 X,使逻
辑表达式变成
XXXX ?? 或
则实现该表达式的逻辑电路存在冒险。
冒险。冒险,称为偏 01XX ?
冒险。冒险,称为偏 10XX ?
根据逻辑电路图写出表达式。
A
AB
CA
CAAB??
CAABCAABF ????
令 B=C=1AA ??
A具有两条路经到达输出端,所以 A变量为具有竞争能力的变量。
会产生 0冒险。
产生偏 1冒险,即 0冒险。
消除冒险的方法:
消除冒险的方法就是消除 AA?
产生的条件。
根据包含律可以写出:
BCBAABCAABF ????? 令 B=C=1
11 ???? AAF 输出 F≡1,不可能出现 0冒险。
从本例看出:最简和最佳是一对矛盾两个方面。
&
&
&1
A
B
C
F
&
&&1
A
B
C F
&
≥1
≥1
≥11
A
B
C
FA
BA?
CA?
CABA ????
? ?? ?CABACABAF ???????
令 B=C=0AAF ??
会产生 1冒险
消除冒险的方法:
消除冒险的方法就是消除 AA?
产生的条件。
根据包含律可以写出,
? ?? ?CABAF ??? ? ?? ?? ?CBCABA ????
CBCABA ?????? 令 B=C=0
0??? AAF 输出 F≡0,不可能出现 1冒险。
≥1
≥1≥11
A
B
C F
≥1
AB
C 00 01 11 10
0
1
000
01 1
1
1
AB
C 00 01 11 10
0
1
在卡诺图中,函数的每一个与项(或项)对应一个
合并圈,若两个合并圈相切,相切之处会出现冒险。
CAABF ?? ? ?? ?CABAF ???
相切处,B=C=1 相切处,B=C=0
CAABF ?? 令 B=C=1
AA ?? 产生 0冒险
☆ 消除冒险的方法:
在相切处增加一个合
并圈 BC。
? ?? ?CABAF ??? 令 B=C=0
AA?? 产生 1冒险
☆ 消除冒险的方法:
在相切处增加一个合并圈 B+C。
?卡诺图法和代数法分析方法完全一样。
多个输入发生状态变化时,冒险是难以消除的。当组合
电路的冒险影响了整个系统的工作时,可以采用取样脉冲的
方法加以解决。
脉冲
A
B
C
d
e
f
F
☆ 先判断组合电路
有无冒险产生,AA? AA,?
若有冒险加取样脉冲与组
合电路相与。
☆ 取样脉冲仅在输出门处
于稳定值期间到来,保证输出
结果正确,在取样脉冲周期之
外,输出信息无效。
☆ 取样脉冲法目的是避开
冒险。
&
&
&1
A
B
C
F&
RC积分电路,是一阶低通
滤波器,能滤除信号中高频分量,
毛刺就是一个高频分量,加滤波
电路能有效消除毛刺。
本章重点掌握:
全加器、译码器、数据选择器。
小规模集成电路要会分析,会设计。
中规模集成电路:要求看懂功能表,熟练应用集成电路。
R
CVi Vo
Vi
Vo
本章小结
1,常用的中规模组合逻辑器件包括编码器, 译码器, 数据
选择器, 数值比较器, 加法器等 。
2,上述组合逻辑器件除了具有其基本功能外, 还可用来设
计组合逻辑电路 。 应用中规模组合逻辑器件进行组合逻
辑电路设计的一般原则是:使用 MSI芯片的个数和品种型
号最少, 芯片之间的连线最少
3,用 MSI芯片设计组合逻辑电路最简单和最常用的方法是,
用数据选择器设计多输入, 单输出的逻辑函数;用二进
制译码器设计多输入, 多输出的逻辑函数 。
习题五
7.设计一位二进制数全减电路
解:首先列出全减器真值表
A B CI S CO
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
1
1
1
1
1
1
1
1
0
0
0
0 0
0 0
00 01 11 10
0
1
AB
C 00 01 11 10
0
1
AB
C
1 1
1 1 11 1
1
S CO
iCBAS ???
iO CBABAC ???? )( iCBABA ???? )(
用与非门和异或门实现
要求用 2-4译码器及与门实现
最后画出用与非门和异或门实现
的全减器逻辑电路图。
S全减差
OC借位输出
A
B
iC
1 &
1 &
&
=1=1
iS A B C? ? ?
()OiC A B A B C? ? ? ?
A B CI S CO
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1
? ?? ??? m MS 6,5,3,0)7,4,2,1(
6530 MMMM ???? 6530 mmmm ????
6530 YYYY ????
? ?? ??? m MOC 6,5,4,0)7,3,2,1(
6540 MMMM ???? 6540 mmmm ????
6540 YYYY ????
最后画出用 2-4译码器实现的
一位二进制全减器。
0 1 2 3
BIN/OCT(1)
1 2 EN
0 1 2 3
BIN/OCT(2)
1 2 EN
& S
1A
B
C
& C
O
0 3 5 6S Y Y Y Y? ? ? ?
0 4 5 6OC Y Y Y Y? ? ? ?
( 1)8421BCD码转换为余三码
( 2)将余三码转换为 8421BCD码
加数
余三码
A3 A2 A1 A0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
被加数
B3 B2 B1 B0
输出
8421BCD码
F3 F2 F1 F0
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
8421BCD吗=余三码- 0011
(- 0011)补 = 1100+1=1101
1 1 0 1
1 1 0 1
1 1 0 1
1 1 0 1
1 1 0 1
1 1 0 1
1 1 0 1
1 1 0 1
1 1 0 1
1 1 0 1
( 1)8421BCD转换为余三码
输入
8421BCD码
B3 B2 B1 B0
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
输出
余三码
A3 A2 A1 A0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
XX10
XX10
1X10
1X00
00 01 11 10
00
01
11
10
32BB
10BB
3A
XX01
XX01
1X01
0X10
00 01 11 10
00
01
11
10
32BB
10BB
2A
XX00
XX11
0X00
1X11
00 01 11 10
00
01
11
10
32BB
10BB
1A
XX11
XX00
0X00
1X11
00 01 11 10
00
01
11
10
32BB
10BB
0A
0
1
3B
2B
0 100 01 11 10
0
1
32BB
1B
0
0
0B
1
X
X X
1 0
01101 1 BBBBB ????
01 BB?
1
X
00 ?D
011 BBD ??
132 ?? DD
同理可以得出 A2片输入为:
010 BBD ??
011 BBD ?
032 BDD ??
A1片输入为:
A0片输入为:
032 BDD ??
13210 BDDDD ????
XX10
XX10
1X10
1X00
00 01 11 10
00
01
11
10
32BB
10BB
3A
XX01
XX01
1X01
0X10
00 01 11 10
00
01
11
10
32BB
10BB
2A
XX00
XX11
0X00
1X11
00 01 11 10
00
01
11
10
32BB
10BB
1A
XX11
XX00
0X00
1X11
00 01 11 10
00
01
11
10
32BB
10BB
0A
0 1 1 0D D B B??
132 ?? DD
011 BBD ??
00 ?D 010 BBD ??
011 BBD ?
032 BDD ??
0 1 1 0D D B B??
032 BDD ??
13210 BDDDD ????
A3片输入,A2片输入,A1片输入,A0片输入:
0 1 2 3
EN Y0 1
MUX(3)
0 1 2 3
EN Y0 1
MUX(2)
0 1 2 3
EN Y0 1
MUX(1)
0 1 2 3
EN Y0 1
MUX(0)
3A 2A 1A 0A
1B0B
0B1
10BB 10BB10BB
=1&≥1
3B
2B
132 ?? DD
011 BBD ??
00 ?D 010 BBD ??
011 BBD ?
032 BDD ??
0 1 1 0D D B B??
032 BDD ??
13210 BDDDD ????
A3片输入,A2片输入,A1片输入,A0片输入:
B3
B2
1
0 03G
EN3
01
23
EN2
01
23 MUX
Y2
Y3
1
0 03G
2
EN0
01
23
EN1
01
3MUX
Y1
Y0≥1
& =1
0B
1B
0B
1B
0B
1
0B
1B
0B
1B
3A 2A 1A 0A
20 选 1可用 5片 4选 1和 1片 3-8译码器组成。
32 选 1可用 8片 4选 1和 1片 3-8译码器组成。
/ST A1 A0 Y
1 X X 0
0 0 0 D0
0 0 1 D1
0 1 0 D2
0 1 1 D3
A2 A1 A0 /Y0 /Y1 /Y2 /Y3 /Y4 /Y5 /Y6 /Y7
0 0 0 0 1 1 1 1 1 1 1
0 0 1 1 0 1 1 1 1 1 1
0 1 0 1 1 0 1 1 1 1 1
0 1 1 1 1 1 0 1 1 1 1
1 0 0 1 1 1 1 0 1 1 1
1 0 1 1 1 1 1 1 0 1 1
1 1 0 1 1 1 1 1 1 0 1
1 1 1 1 1 1 1 1 1 1 0
0D 1D 2D 3D
0 1 2 3EN
1A
0A (1)MUXY
4D 5D 6D 7D
0 1 2 3EN
1A
0A (2)MUXY
8D 9D 10D 11D
0 1 2 3EN
1A
0A (3)MUXY
12D 13D 14D 15D
0 1 2 3EN
1A
0A (4)MUXY
16D 17D 18D 19D
0 1 2 3EN
1A
0A (5)MUXY
&
1
24ABC 01
23
4
56
7
≥1
F
D
E
1
用 5片 4选 1和 1片 3-8译码器组成的 20 选 1 数据选择器。
16选 1需要 4位地址码 A3,A2,A1,A0。
高 2位地址 A3,A2产生双 4选 1的选通信号。
低 2位地址 A1,A0作为双 4选 1的地址码。
A3 A2 /ST1 /ST2 /ST3 /ST4
0 0 0 1 1 1
0 1 1 0 1 1
1 0 1 1 0 1
1 1 1 1 1 0
A0
A1
0
1 03G
2ST EN2
0
1
2
3
1ST EN1
0
1
2
3 MUX
Y1
Y2
0
1 03G
2ST
1ST
2
EN2
0
1
2
3
EN1
0
1
3MUX
Y1
Y2
≥1
0D
3D
4D
7D
8D
11D
12D
15D
231 AAST ?
232 AAST ?
233 AAST ?
234 AAST ?
练习题:
1、已知 F(ABCD)=∑(0,2,8,10,11,14,15),要求在输入
只有原变量的条件下,用最少或非门实现,并画出逻
辑电路图。
2、设计一位全加器。要求用 2-4译码器及与非门实现,
并画出逻辑电路图。
3、分析电路:
☆ 写出电路的输出函数 F1,F2的逻辑表达式,结果用
最小项之和的形式 ∑ m来表示。
☆ 若要用 74138实现四变量函数 Y(ABCD)= ∑m(0,5,8,15)
芯片如何连接,画出其电路图。
4,组合电路综合应用题
试设计一个即能做一位二进制数的全加运算,又能
做一位二进制数的全减运算的组合逻辑电路。
☆ 根据题意要求,列出真值表。
☆ 写出电路输出函数的最简与或表达式。
☆ 画出用 74138译码器实现的电路。
☆ 画出用数据选择器实现的电路。