第四章 组合逻辑电路

38
第第第 第第第 第第第第第第 第第第第第第 第第第 第第第 第第第第第第第第第第第第 第第第第第第第第第 第第 第第第第第第 : 一;一 第第第第第第第第第第第第 第第第第第第第第第 第第 第第第第第第 : 一;一 第第 第第第第第第第第第第第第第第第第第第第第第第第 第第第第第第第第 。, 第第 第第第第第第第第第第第第第第第第第第第第第第第 第第第第第第第第 。, 第第第第第第第第 第第第第第第第第 第第第第第第第第第第第第第第 第第第 第第第第第第第第第第第第第第 第第第 - - 第第第第第第第 第第第第第第第 第第 第第 - - 第第第第第第第第第第第第第第

description

第四章 组合逻辑电路. 内容提要   数字逻辑电路可分为两大类: 一类叫组合逻辑电路;另一类叫时序逻辑电路。本章首先介绍组合逻辑电路的共同特点和描述方法,然后重点介绍组合逻辑电路的分析和 设计,最后讨论组合逻辑电路系统中竞争-冒险现象及消除竞争-冒险现象的方法。. § 4.1 逻辑函数的实现 . - PowerPoint PPT Presentation

Transcript of 第四章 组合逻辑电路

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

第四章第四章 组合逻辑电路组合逻辑电路                                内容提要内容提要

数字逻辑电路可分为两大类: 一类叫组合逻辑数字逻辑电路可分为两大类: 一类叫组合逻辑电路;另一类叫时序逻辑电路。本章首先介绍组电路;另一类叫时序逻辑电路。本章首先介绍组合逻辑电路的共同特点和描述方法,然后重点介合逻辑电路的共同特点和描述方法,然后重点介绍组合逻辑电路的分析和绍组合逻辑电路的分析和设计,最后讨论组合逻设计,最后讨论组合逻辑电路系统中竞争辑电路系统中竞争 -- 冒险现象及消除竞争冒险现象及消除竞争 -- 冒险冒险现象的方法。现象的方法。

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

§§4.14.1 逻辑函数的实现逻辑函数的实现 ““ 与”、“或”、“非”运算是逻辑代数的基本与”、“或”、“非”运算是逻辑代数的基本运算。通过这些基本运算,逻辑函数可以表示成运算。通过这些基本运算,逻辑函数可以表示成许多种不同的形式,通常采用的有以下几种:许多种不同的形式,通常采用的有以下几种:“与“与 -- 或”表达式;“或或”表达式;“或 -- 与”表达 式;“与非与”表达 式;“与非 --与非”表达式; “或非与非”表达式; “或非 -- 或非”表达式;“与或非”表达式;“与 --或或 -- 非”表达式等。非”表达式等。对于某一个逻辑函数,尽管其表达式的形式不同,对于某一个逻辑函数,尽管其表达式的形式不同, 但这些表达式所表示的逻辑功能却是相 但这些表达式所表示的逻辑功能却是相同的。函同的。函数的表示形式和实现该函数的逻辑电路之间有着数的表示形式和实现该函数的逻辑电路之间有着对应的关系,也就是说,每一种函数形式对应一对应的关系,也就是说,每一种函数形式对应一种逻辑电路。种逻辑电路。

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

4.1.1 4.1.1 “ ”用 与非 门实现逻辑函数“ ”用 与非 门实现逻辑函数 用“与非”门实现逻辑函数,一般按以下步骤进用“与非”门实现逻辑函数,一般按以下步骤进行行第一步第一步:求出函数的最简“与:求出函数的最简“与 -- 或”表达式。或”表达式。

第二步第二步:将最简“与:将最简“与 -- 或”表达式变换成“与或”表达式变换成“与非非 -- 与非”表达式。与非”表达式。

第三步第三步:画出与函数表达式对应的逻辑电路图。:画出与函数表达式对应的逻辑电路图。下面举例说明。下面举例说明。

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

例例 4.1.1 4.1.1 用“与非”门实现逻辑函数用“与非”门实现逻辑函数 F=ABC+ABC+BC D+BCF=ABC+ABC+BC D+BC解:解:第一步第一步:求出函数的最简“与:求出函数的最简“与 -- 或”表达式。将逻或”表达式。将逻辑函数表示在卡诺图上,并加以简化,如图辑函数表示在卡诺图上,并加以简化,如图 4.1.14.1.1 所示。所示。由图由图 4.1.14.1.1 所示卡诺图,得到函数的最简“与—或”表所示卡诺图,得到函数的最简“与—或”表达式:达式:F=AB+BC+BDF=AB+BC+BD第二步第二步:将最简“与:将最简“与 -- 或”表达式或”表达式变换成“与非变换成“与非 -- 与非”表达式。对与非”表达式。对所得函数表达式两次求反,得到所得函数表达式两次求反,得到函数的“与非函数的“与非 -- 与非”表达式。 与非”表达式。

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

F=AB·BC·BDF=AB·BC·BD

第三步第三步: 画出与函数表达: 画出与函数表达式对应的逻辑电路图。根据式对应的逻辑电路图。根据所得逻辑函数“与非所得逻辑函数“与非 -- 与非”与非”表达式,画出实现给定函数表达式,画出实现给定函数的两级“与非”逻辑电路,的两级“与非”逻辑电路,如图如图 4.1.24.1.2 所示。所示。

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

4.1.2 4.1.2 用“或非”门实现逻辑函数用“或非”门实现逻辑函数

使用“或非”门也可以构成实现各种逻辑功能的使用“或非”门也可以构成实现各种逻辑功能的逻辑电路,其基本步骤为:逻辑电路,其基本步骤为:第一步:求函数的最简“或第一步:求函数的最简“或 -- 与”表达式。与”表达式。第二步:将最简“或第二步:将最简“或 -- 与”表达式变换成“或与”表达式变换成“或非非 -- 或非”表达式。或非”表达式。第三步:根据“或非第三步:根据“或非 -- 或非”表达式画出逻辑电或非”表达式画出逻辑电路图。路图。下面举例说明。下面举例说明。

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

例例 4.1.24.1.2 “ ”用 或非 门实现逻辑函“ ”用 或非 门实现逻辑函数,数, F=CD+ACD+ABD+ACDF=CD+ACD+ABD+ACD 解:第一步:求函数的最简“或解:第一步:求函数的最简“或 -- 与”表达与”表达式。将给定逻辑函数表示在卡诺图上,如式。将给定逻辑函数表示在卡诺图上,如 4.4.1.41.4 所示。再对图所示。再对图 4.1.44.1.4 卡诺图的卡诺图的 00 方格进方格进行合并, 得到反函数行合并, 得到反函数 FF 的最简“与的最简“与 -- 或”表或”表达式:达式: F=A C+A DF=A C+A D

然后对该函数表达式然后对该函数表达式取反,取反,即可得到函数即可得到函数 FF 的最简“或的最简“或 -- 与”表达式:与”表达式:

F=(A+C)(A+D)F=(A+C)(A+D)

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

示例:示例:第二步:将最简“或第二步:将最简“或 -- 与”表达式变换成与”表达式变换成“或非“或非 -- 或非”表达式。只要对所得最简或非”表达式。只要对所得最简“或“或 -- 与”表达式与”表达式两次得反,两次得反,即可得到即可得到 F = (A+C)(A+D)=F = (A+C)(A+D)=(A+C)+(A+D)(A+C)+(A+D)

“第三步:根据 或非“第三步:根据 或非 -- ”或非 表达式画出逻辑”或非 表达式画出逻辑电路图。电路图。

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

4.1.3 4.1.3 用“与或非”门实现逻辑函数用“与或非”门实现逻辑函数例例 4.1.3 4.1.3 用“与或非”门实现逻辑函数用“与或非”门实现逻辑函数 F=∑m(1F=∑m(1 ,, 33 ,, 44 ,, 55 ,, 66 ,, 77 ,, 1212 ,, 1414))

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

4.1.4 4.1.4 用“异或”门实现逻辑函数用“异或”门实现逻辑函数 例例 4.1.4 4.1.4 用“异或”门实现函数 用“异或”门实现函数 F=∑m(1F=∑m(1 ,, 22 ,, 44 ,, 7)7)

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

§4.2 §4.2 组合逻辑电路的分析组合逻辑电路的分析 组合逻辑电路的分析是指分析一个给定的逻辑组合逻辑电路的分析是指分析一个给定的逻辑电路,找出电路的逻辑功能。通常采用的分析电路,找出电路的逻辑功能。通常采用的分析方法是:方法是:从电路输入到输出逐级写出逻辑函数式,得到从电路输入到输出逐级写出逻辑函数式,得到表示输出与输入关系的逻辑函数式。然后将得表示输出与输入关系的逻辑函数式。然后将得到的函数式化简或变换,以使逻辑关系简单明到的函数式化简或变换,以使逻辑关系简单明了。为了使电路的逻辑功能更加直观,可以把了。为了使电路的逻辑功能更加直观,可以把逻辑函数式转换为真值表的形式。通过分析,逻辑函数式转换为真值表的形式。通过分析,不仅确定了电路的逻辑功能,而且可以发现原不仅确定了电路的逻辑功能,而且可以发现原电路设计的缺点,以便完善和改进电路。 电路设计的缺点,以便完善和改进电路。

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

组合组合逻辑电路分析逻辑电路分析组合逻辑电路的分析一般可按以下步骤进行:组合逻辑电路的分析一般可按以下步骤进行:第一步:根据给定逻辑电路图,写出逻辑表达式第一步:根据给定逻辑电路图,写出逻辑表达式第二步:简化逻辑函数表达式。第二步:简化逻辑函数表达式。

第三步:列出逻辑电路的真值表。第三步:列出逻辑电路的真值表。

第四步:逻辑功能分析。第四步:逻辑功能分析。

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

例例 4.2.1 4.2.1 分析图分析图 4.2.14.2.1 给定的逻辑电路。给定的逻辑电路。 解: 解: 第一步:第一步:逻辑函数逻辑函数P1=ABCP1=ABC

P2=A·P1=A·ABCP2=A·P1=A·ABC

P3=B·P1=B·ABCP3=B·P1=B·ABC

P4=C·P1=C·ABCP4=C·P1=C·ABC

F=P4+P2+P3=A·ABC+B·ABC+C·ABC F=P4+P2+P3=A·ABC+B·ABC+C·ABC

第二步:第二步:化简化简

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

组合逻辑电路分析组合逻辑电路分析F =A·ABC+B·ABC+C·ABCF =A·ABC+B·ABC+C·ABC =ABC(A+B+C) =ABC(A+B+C) =ABC+A+B+C=ABC+A B C =ABC+A+B+C=ABC+A B C 第三步:第三步:表表 4.2.1 4.2.1 给定逻辑电路的真值表给定逻辑电路的真值表 第四步:功能第四步:功能 分析:分析: 当当 A=B=CA=B=C 时时 F=1,F=1, 全全 11 或全或全 00 检测电路。检测电路。

A B C F00001111

00110011

01010101

1

1

0

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

§4.3 §4.3 组合逻辑电路的设计组合逻辑电路的设计 4.3.1 4.3.1 组合逻辑电路的设计工作一般过程:组合逻辑电路的设计工作一般过程:1.1.进行逻辑抽象关系,建立真值表。进行逻辑抽象关系,建立真值表。(1)(1)分析实际问题的因果关系,确定输入和输出变量。分析实际问题的因果关系,确定输入和输出变量。(2)(2) 定义逻辑状态的含意。 定义逻辑状态的含意。(3)(3) 根据给定因果关系的逻辑要求建立真值表。 根据给定因果关系的逻辑要求建立真值表。2.2.根据真值表写出逻辑函数表达式。根据真值表写出逻辑函数表达式。3.3.逻辑函数化简逻辑函数化简,,并根据要求把函数转换为适当的形式。并根据要求把函数转换为适当的形式。4.4. 根据逻辑函数表达式,选择器件的类型,画出逻辑电根据逻辑函数表达式,选择器件的类型,画出逻辑电路图。路图。

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

44.3.2 .3.2 单输出组合逻辑电路的设计单输出组合逻辑电路的设计  例例 4.3.14.3.1 用“与非”门设计一个三变量“多数表用“与非”门设计一个三变量“多数表决电路”决电路” 要求该逻辑电路的三个输入量中出现要求该逻辑电路的三个输入量中出现两个以上的两个以上的 11 时,表示表决通过,电路输出为时,表示表决通过,电路输出为 11 ,,否则输出为否则输出为 00 。。解:解:第一步:第一步:进行逻辑抽象关系,建立真值表。进行逻辑抽象关系,建立真值表。

FABC

0 0 0 1 0 1 1 10 0 0 0 1 1 1 10 0 1 1 0 0 1 10 1 0 1 0 1 0 1

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

第二步第二步:根据真值表写出:根据真值表写出 逻辑函数表达式。 逻辑函数表达式。 F=∑m(3,5,6,7)F=∑m(3,5,6,7)

第三步第三步:将逻辑函数化简,:将逻辑函数化简,“ ”根据题意,要求用 与非 门“ ”根据题意,要求用 与非 门

实现上述函数实现上述函数 ,,故将函数表达故将函数表达“式转换成 与非“式转换成 与非 -- ”与非 表达式”与非 表达式 ,,即即 ::

F = AB+AC+BC = AB ·AC · BC F = AB+AC+BC = AB ·AC · BC 第四步第四步 “ ”:根据逻辑函数表达式选用 与非 门画出“ ”:根据逻辑函数表达式选用 与非 门画出逻辑电路图。逻辑电路图。

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

例例 4.3.14.3.1实现函数的逻辑电路图实现函数的逻辑电路图

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

例例 4.3.2 4.3.2 设计一个一位数值检测器当输入的十设计一个一位数值检测器当输入的十进制数大于等于进制数大于等于 55 时时,输出为 1 ,否则输出为,否则输出为输输输出为输出为 00 ,, (( 十进制数用十进制数用 84218421BCDBCD 码码 )) 。。解:第一步:进行逻辑抽象关系,建立真值表。设十进解:第一步:进行逻辑抽象关系,建立真值表。设十进制数制数 84218421BCDBCD 码用四个变量码用四个变量 AA 、、 BB 、、 CC 、、 DD 表示输表示输入,电路的输出为入,电路的输出为 FF 。。根据题意,当变量根据题意,当变量AA 、、 BB 、、 CC 、、 DD 取值为:取值为: 00000000 ~~ 01000100 时,函数时,函数 FF的值为的值为 00 ;当变量;当变量 AA 、、 BB 、、 CC 、、 DD 取值为取值为 01010101 ~~ 11001001 时,函数时,函数 FF 的值为的值为 11 。。由于四位二进制数有由于四位二进制数有 1616 种种组合,而十进制数组合,而十进制数 00 ~~ 99 只利用了只利用了 1010 种组合,还冗余种组合,还冗余66 种组合。为讨论方便起见,对应这种组合。为讨论方便起见,对应这 66 种输入组合的函种输入组合的函数值记作“数值记作“ d”d” ,,表示既可当作表示既可当作 11 处理,也可当作处理,也可当作 00 处处理,为任意值。由此,可列出表理,为任意值。由此,可列出表 4.3.24.3.2 的真值表。的真值表。

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

例例 4.3.24.3.2 的真值表的真值表 P75P75 表表 4.3.24.3.2

第二步:根据真值表列出逻辑函数表达式第二步:根据真值表列出逻辑函数表达式 :: F = F = ∑m(5,6,7,8,9)+∑d(10,11,12,13,14,15)∑m(5,6,7,8,9)+∑d(10,11,12,13,14,15)

第三步:对逻辑函数进行简化,第三步:对逻辑函数进行简化, F=A+BD+BC F=A+BD+BC

“转换成 与非“转换成 与非 -- ”与非 表达式”与非 表达式 :: F = A+BD+BCF = A+BD+BC

==A · BD · BC A · BD · BC

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

第四步:对应的逻辑电路图,如图第四步:对应的逻辑电路图,如图 4.3.44.3.4 所示。所示。

图图 4.3.44.3.4

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

4.3.34.3.3 多输出组合逻辑电路的设计多输出组合逻辑电路的设计 例例 4.3.34.3.3 设计一个一位二进制全加器,它能将两设计一个一位二进制全加器,它能将两个一位二进制数及来自低位的进位进行相加,并个一位二进制数及来自低位的进位进行相加,并产生“和”及向高位的“进位”。产生“和”及向高位的“进位”。解:第一步解:第一步:进行逻辑抽象关系,建立真值表。:进行逻辑抽象关系,建立真值表。

Ai Bi Ci-1 Si Ci00001111

001

011

01

01010101

01101001

0

0111

00

1

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

第二步第二步 :根据真值表写出函数表达式。 :根据真值表写出函数表达式。 SSii = A = AiiBBiiCCi-1i-1 + A + AiiBBiiCCi-1i-1 + A + AiiBBiiCCi-1i-1 + A + AiiBBiiCCi-i-

11

CCii = A = AiiBBiiCCi-1i-1 + A + AiiBBiiCCi-1i-1 + A + AiiBBiiCCi-1i-1 + A + AiiBBiiCCi-i-

11

第三步第三步:逻辑函数化简并转换成适当形式。:逻辑函数化简并转换成适当形式。

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

 逻辑表达式变换逻辑表达式变换 Si=AiBiCi-1+AiBiCi-1 + AiBiCi-Si=AiBiCi-1+AiBiCi-1 + AiBiCi-1+AiBiCi-11+AiBiCi-1

=AiBiCi-1 · AiBiCi-1 · AiBiCi-1 · =AiBiCi-1 · AiBiCi-1 · AiBiCi-1 · AiBiCAiBiC

Ci=AiBi+AiCi-1+BiCi-1Ci=AiBi+AiCi-1+BiCi-1

= AiBi · AiCi-1 · BiCi-1= AiBi · AiCi-1 · BiCi-1

实现上述函数的相应逻辑电路图如图实现上述函数的相应逻辑电路图如图 4.3.64.3.6 所示。所示。

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

例例 4.3.4 4.3.4 用“与非”门设计一个将用“与非”门设计一个将84218421BCDBCD 码转换成余码转换成余 33 码的代码转换电码的代码转换电路。路。 解:解:第一步:进行逻辑抽象关系,建立真值表。第一步:进行逻辑抽象关系,建立真值表。① ① 输入为输入为 84218421BCDBCD 码,用码,用 AA 、、 BB 、、 CC 、、 DD 四个变量。四个变量。② ② 输出为余输出为余 33 码,用码,用 WW 、、 XX 、、 YY 、、 ZZ 四个变量。四个变量。③ ③ 注意不允许出现的注意不允许出现的 66 种组合码。种组合码。其逻辑功能真值表其逻辑功能真值表 P79P79如如 4.3.44.3.4所示。所示。

第二步:根据真值表列出函数表达式。 第二步:根据真值表列出函数表达式。W=∑m(5,6,7,8,9)+∑d(10,11,12,13,14,15)W=∑m(5,6,7,8,9)+∑d(10,11,12,13,14,15)X=∑m(1X=∑m(1 ,, 22 ,, 33 ,, 44 ,, 9)+∑d(10,11,12,13,14,15) 9)+∑d(10,11,12,13,14,15) Y=∑m(0Y=∑m(0 ,, 33 ,, 44 ,, 77 ,, 8)+∑d(10,11,12,13,14,15)8)+∑d(10,11,12,13,14,15)Z=∑m(0Z=∑m(0 ,, 22 ,, 44 ,, 66 ,, 8)+∑d(10,11,12,13,14,15)8)+∑d(10,11,12,13,14,15)

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

第三步:化简函数表达式,并转换成适当形式。第三步:化简函数表达式,并转换成适当形式。 上述函数分别表示在卡诺图上上述函数分别表示在卡诺图上 ,, 如图如图 4.3.94.3.9 所示。所示。图图 4.3.94.3.9 的四个卡诺图分别表示四个函数,通过的四个卡诺图分别表示四个函数,通过卡诺图化简,可得卡诺图化简,可得 :: W=A+BC+BD W=A+BC+BD

X=BC+BD+BC DX=BC+BD+BC D

Y=CD+C DY=CD+C D

Z=D Z=D

图图 4.34.3..1010 是电路图是电路图

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

§4.4 §4.4 组合逻辑电路的竞争与冒险组合逻辑电路的竞争与冒险 前面讨论组合逻辑电路设计时,只研究电路输出前面讨论组合逻辑电路设计时,只研究电路输出和输入稳态值之间的关系,没有考虑信号传输时和输入稳态值之间的关系,没有考虑信号传输时延的影响。实际上,信号通过逻辑门和导线都会延的影响。实际上,信号通过逻辑门和导线都会产生时间延迟,这就是说,信号从逻辑电路的输产生时间延迟,这就是说,信号从逻辑电路的输入端传送到输出端会产生一定的时间延迟。例如,入端传送到输出端会产生一定的时间延迟。例如, 一个二输入“与非”门,假定其延迟时间为 一个二输入“与非”门,假定其延迟时间为ttpdpd ,,当输入当输入 BB 为为 11 ,而输入,而输入 AA 从从 00 变到变到 11 再回再回到到 00 时,“与非”门的输出将由时,“与非”门的输出将由 11 变到变到 00 再变再变到到 1,1, 其输出、输入时间图如图其输出、输入时间图如图 4.4.14.4.1 所示。所示。

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

输入、输出时间关系图如图输入、输出时间关系图如图 4.4.14.4.1 所示所示。。 4.4.14.4.1 竞争与冒险的产生竞争与冒险的产生由于组成电路的逻辑门由于组成电路的逻辑门和导线延迟时间的影响,和导线延迟时间的影响,输入信号通过不同途径输入信号通过不同途径到达输出端的时间就有到达输出端的时间就有先有后,这一现象称为先有后,这一现象称为竞争。竞争的结果是随机的,有时竞争不影响电竞争。竞争的结果是随机的,有时竞争不影响电路的逻辑功能,有时竞争却导致逻辑错误,使电路的逻辑功能,有时竞争却导致逻辑错误,使电路产生错误的输出。 路产生错误的输出。  

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

竞争与冒险的产生竞争与冒险的产生 分析 分析对于图对于图 4.4.24.4.2 给定的组合给定的组合逻辑电路,可写出函数表逻辑电路,可写出函数表达式达式 : : F = AB·ACF = AB·AC = = AB·ACAB·AC

当当输入输入 B=C=1B=C=1,,则上述表则上述表达式为达式为:: F=A+AF=A+A

当当 B=C=1B=C=1时时,,无论无论 AA 怎样怎样变化,函数值变化,函数值 FF 保持保持 11不变。不变。

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

竞争与冒险的产生竞争与冒险的产生 分析 分析这是一种理想状态下的结论,考虑到实际电路存在时延,这是一种理想状态下的结论,考虑到实际电路存在时延,当当 B=C=1B=C=1 时,电路的输出、输入关系可用图时,电路的输出、输入关系可用图 4.4.34.4.3 的的时间图来说明。时间图来说明。当当 AA 由由 00 变到变到 11 时,在图中时,在图中①①处存在一次非临界竞争,处存在一次非临界竞争,输出输出 FF 仍保持为仍保持为 11 ,没有出现错误;但当,没有出现错误;但当 AA 由由 11 变为变为00 时,在图中时,在图中②②处存在一次临界竞争,输出处存在一次临界竞争,输出 FF 出了错误,出了错误,也就是说,竞争的结果产生了冒险。也就是说,竞争的结果产生了冒险。组合逻辑电路的冒险分为静态冒险和动态冒险。如果在组合逻辑电路的冒险分为静态冒险和动态冒险。如果在输入变化而输出不应发生变化的情况下产生了短暂的错输入变化而输出不应发生变化的情况下产生了短暂的错误输出,误输出,这种冒险称为静态冒险。这种冒险称为静态冒险。如果在输入变化而输如果在输入变化而输出应该发生变化的情况下,在变化过程中产生了短暂的出应该发生变化的情况下,在变化过程中产生了短暂的错误输出,错误输出,这种冒险称为动态冒险。这种冒险称为动态冒险。

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

4.4.2 4.4.2 判别冒险判别冒险 判别一个电路是否存在冒险有代数法和卡诺图法判别一个电路是否存在冒险有代数法和卡诺图法一、代数判别法一、代数判别法 在函数表达式中,不同的“在函数表达式中,不同的“与与”项彼此包含着互补变量,”项彼此包含着互补变量,

“在某种输入变量组合下,函数表达式可能形成互补“在某种输入变量组合下,函数表达式可能形成互补 或或””项,该函数表达式所对应的逻辑电路就有可能出现项,该函数表达式所对应的逻辑电路就有可能出现冒险。冒险。

“同理,对于函数表达式,不同的“同理,对于函数表达式,不同的 或或”项彼此包含着互补”项彼此包含着互补变量,在某种输入变量组合下变量,在某种输入变量组合下,,函数表达式可能形成互函数表达式可能形成互

“补的“补的 与与”项,该函数表达式所对应的逻辑电路就有可能”项,该函数表达式所对应的逻辑电路就有可能出现冒险。出现冒险。

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

代数判别法代数判别法 冒险究竟会不会产生,还要结合电路的延迟,通冒险究竟会不会产生,还要结合电路的延迟,通过时间图仔细观察和分析。代数判别法是从函数过时间图仔细观察和分析。代数判别法是从函数表达式的结构来判别是否具有产生险象的条件,表达式的结构来判别是否具有产生险象的条件,若函数表达式中某个变量若函数表达式中某个变量 XX 同时以原变量和反变同时以原变量和反变量形式存在,则将函数表达式中其他变量的各种量形式存在,则将函数表达式中其他变量的各种取值组合依次代入,把它们从函数表达式中消去,取值组合依次代入,把它们从函数表达式中消去,仅保留被研究的变量仅保留被研究的变量 XX ,,如果函数表达式出现:如果函数表达式出现:X+XX+X 、、 X·XX·X 形式,说明对应的逻辑电路可能形式,说明对应的逻辑电路可能产生冒险。产生冒险。

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

 举例举例给定组合逻辑电路的函数为给定组合逻辑电路的函数为  F=A C+AB+ACF=A C+AB+AC

从函数表达式可知,变量从函数表达式可知,变量 AA 和和 CC 同时以原变量同时以原变量和反变量形式出现在函数表达式中,则与该函数和反变量形式出现在函数表达式中,则与该函数表达式对应的组合逻辑电路在表达式对应的组合逻辑电路在 AA 或或 CC 发生变化发生变化时,可能由于竞争而时,可能由于竞争而产生冒险。产生冒险。现对现对 AA 、、 CC 两个变量分别进行分析。将两个变量分别进行分析。将 BB 和和 CC的各种取值组合分别代入函数表达式中,则的各种取值组合分别代入函数表达式中,则

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

具体分析具体分析当当 BC=00BC=00 时,时, F=AF=A ; ; 当当 BC=01BC=01 时, 时, F=AF=A ;;当当 BC=10BC=10 时,时, F=AF=A ; ; 当当 BC=11BC=11 时, 时, F=A+AF=A+A 。。由此可见,当由此可见,当 BC=11BC=11时,变量时,变量 AA 改变状态可能使逻辑改变状态可能使逻辑电路产生偏电路产生偏 11型冒险型冒险。同样,将。同样,将 AA 和和 BB 的各种取值组合的各种取值组合

分别代入函数表达式中,则 分别代入函数表达式中,则当当 AB=00AB=00 时,时, F=C F=C ; ; 当当 AB=01AB=01时,时, F=C+1F=C+1 ;;当当 AB=10AB=10 时,时, F=CF=C ; ; 当当 AB=11AB=11 时,时, F=CF=C 。。由此可见,当由此可见,当 ABAB在各种取值组合时,变量在各种取值组合时,变量 CC 改变状态改变状态均不会使逻辑电路产生险象。均不会使逻辑电路产生险象。

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

二、卡诺图判别法二、卡诺图判别法 具体办法是:将函数用卡诺图表示,并画出能合具体办法是:将函数用卡诺图表示,并画出能合并项对应的卡诺圈,若发现两个卡诺圈并项对应的卡诺圈,若发现两个卡诺圈“相切”“相切”,,即两个卡诺圈之间存在被不同卡诺圈包含的相邻即两个卡诺圈之间存在被不同卡诺圈包含的相邻最小项,该逻辑电路就可能产生冒险。例如,某最小项,该逻辑电路就可能产生冒险。例如,某逻辑电路对应的函数表达式为逻辑电路对应的函数表达式为 F=AD+AC+AB CF=AD+AC+AB C

将该函数表示在卡诺图上,将该函数表示在卡诺图上,观察卡诺图可发现,观察卡诺图可发现,

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

分析分析““ 与”项与”项 ADAD包含最小项包含最小项m1m1 、、 m3m3 、、 m5m5 、、 m7m7 “,“, 与”项与”项 AB CAB C包含最包含最小项小项m12m12 和和 m13m13 ,,它们分别被各“与”项对应的它们分别被各“与”项对应的卡诺圈所包含卡诺圈所包含 ,, 当变量当变量 ABCDABCD 由由 11011101 变到变到 01010101时,即由时,即由 m13m13 转移到转移到 m5m5 时,由于时,由于 m13m13 和和 m5m5被不同“与”项所覆盖被不同“与”项所覆盖 , , 因而使两个“与”项的值因而使两个“与”项的值都发生变化,此时就有可能产生冒险。都发生变化,此时就有可能产生冒险。 在卡诺图上,在卡诺图上,最小项最小项m5m5 和和 m13m13 相邻,分别被不相邻,分别被不同卡诺圈包含,两个卡诺圈彼此“相切”,同卡诺圈包含,两个卡诺圈彼此“相切”,在这种在这种情况下 函数表达式所对应的电路就可能产生冒险。情况下 函数表达式所对应的电路就可能产生冒险。

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

4.4.3 4.4.3 消除冒险消除冒险 当我们判别出所设计的组合逻辑电路存在冒险时,当我们判别出所设计的组合逻辑电路存在冒险时,就必须采取适当措施消除它。通常的办法是在逻就必须采取适当措施消除它。通常的办法是在逻辑函数最简“与辑函数最简“与 -- 或”表达式或”表达式 (( 或者“或或者“或 -- 与”与”表达式表达式 )) 中增加冗余项,该项应包含而且只能包中增加冗余项,该项应包含而且只能包含彼此相邻但属于不同“与”项含彼此相邻但属于不同“与”项 (( 或者“或”或者“或”项项 )) 的相邻最小项的相邻最小项 (( 或最大项或最大项 )) ,使原函数不可,使原函数不可能在某些条件下出现能在某些条件下出现 x+xx+x 或或 x·xx·x 形式,从而形式,从而消除可能产生的冒险。消除可能产生的冒险。举例说明举例说明 

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

举例举例 F=AB+ACF=AB+AC

本章结束本章结束