1、4.3 4.3 组合逻辑电路的冒险现象组合逻辑电路的冒险现象4.3.1冒险的概念冒险的概念4.3.2静态逻辑冒险静态逻辑冒险4.3.3如何判断是否存在逻辑冒险如何判断是否存在逻辑冒险4.3.4如何避免逻辑冒险如何避免逻辑冒险信号通过连线及集成门都有一定的延迟时间,多个输入信信号通过连线及集成门都有一定的延迟时间,多个输入信号发生变化时,也可能有先后快慢的差异。在输入信号变化的号发生变化时,也可能有先后快慢的差异。在输入信号变化的瞬间,输出端出现一些不正确的尖峰信号,称为瞬间,输出端出现一些不正确的尖峰信号,称为冒险现象冒险现象。在组合电路中,如果输入信号变化前、后稳定输出相同,在组合电路中,如
2、果输入信号变化前、后稳定输出相同,而在转换瞬间有冒险,称为而在转换瞬间有冒险,称为静态冒险静态冒险。如果在得到最终稳定输出之前,输出发生了三次变化,即如果在得到最终稳定输出之前,输出发生了三次变化,即中间经历了暂态中间经历了暂态0- -1或或1- -0(输出序列为(输出序列为1- -0- -1- -0或或0- -1- -0- -1)这)这种冒险称为种冒险称为动态冒险动态冒险。例例4- -12分析如图分析如图4- -3- -1(a)所示的组合电路,当输入信号所示的组合电路,当输入信号abc由由000变化到变化到010及及abc由由000变化到变化到110时的输出波形。时的输出波形。1&abcF1
3、11010000001111001abcY1Y2b12(a)(b)图4- -3- -1 例4- -12逻辑图和卡诺图解解(1) 当输入信号当输入信号abc由由000变化到变化到010时,在稳定状态下输时,在稳定状态下输出 保 持 为出 保 持 为 1 。 若。 若tpd2tpd1,则在输出波,则在输出波形形F=1中出现短暂的中出现短暂的0,这就是静态这就是静态0冒险,冒险,如图如图4- -3- -2。bbY2Y1F图4- -3- -2 门延迟产生冒险(2) 当输入信号当输入信号abc由由000变化到变化到110时,在稳定状态下,输时,在稳定状态下,输出保持为出保持为1。假设。假设b信号滞后于信
4、号滞后于a信号信号td时间,并忽略门的延迟,时间,并忽略门的延迟,则在输出信号中也会出现静态则在输出信号中也会出现静态0冒险,如图冒险,如图4- -3- -3。Y2Y1Fabtd图4- -3- -3 多个输入信号变化时产生冒险举例结论:结论:静态逻辑冒险仅仅发生静态逻辑冒险仅仅发生在输入信号变化的瞬间,而在输入在输入信号变化的瞬间,而在输入稳定的状态下是不会发生的。但是,稳定的状态下是不会发生的。但是,输入信号发生变化的瞬间,并不一输入信号发生变化的瞬间,并不一定会发生静态冒险。定会发生静态冒险。例如,当输入信号例如,当输入信号abc由由000变变化到化到010时,若时,若tpd2tpd1,则
5、输出信号,则输出信号稳定稳定1中不会出现中不会出现0毛刺。毛刺。发生静态冒险有两种情况:发生静态冒险有两种情况:当有输入变量当有输入变量A和和A通过不同的传输路径到输出端时,通过不同的传输路径到输出端时,那么当输入变量那么当输入变量A发生突变时,输出端有可能产生静态逻辑冒发生突变时,输出端有可能产生静态逻辑冒险。险。4.3.3如何判断是否存在逻辑冒险如何判断是否存在逻辑冒险险。险。端就会产生静态逻辑冒端就会产生静态逻辑冒信号发生变化时,输出信号发生变化时,输出,当,当,则:,则:,若,若数数例如,对于逻辑函例如,对于逻辑函bbbFcacbbaF 11态逻辑冒险。态逻辑冒险。可能产生静可能产生静
6、发生突变时,输出端有发生突变时,输出端有,则可判断变量,则可判断变量或与式或与式(与或式)或(与或式)或存在存在一定条件下化简,如果一定条件下化简,如果输出逻辑函数在输出逻辑函数在冒险是否存在,只需将冒险是否存在,只需将判断这种静态逻辑判断这种静态逻辑AAAFAAF)( 当有两个或两个以上输入变量发生变化时,输出端有当有两个或两个以上输入变量发生变化时,输出端有可能产生静态逻辑冒险。可能产生静态逻辑冒险。 对于这种静态逻辑冒险,可以根据逻辑函数表达式来判断。对于这种静态逻辑冒险,可以根据逻辑函数表达式来判断。若若p(p2)个输入变量发生变化,如果由不变的个输入变量发生变化,如果由不变的(n-p
7、)个输入变量个输入变量组成的乘积项,不是该逻辑函数表达式中的乘积项或者多余项,组成的乘积项,不是该逻辑函数表达式中的乘积项或者多余项,则该则该p个变量发生变化时,就有可能产生静态逻辑冒险。个变量发生变化时,就有可能产生静态逻辑冒险。例例4- -13分析图分析图4- -3- -4所示电路,当输入信号所示电路,当输入信号abcd由由0100变变化到化到1101、由、由0111变化到变化到1110及由及由1001变化到变化到1011时,是否有冒时,是否有冒险现象发生。险现象发生。解解写出该组合电路的逻辑函数表达式,并作出卡诺图。写出该组合电路的逻辑函数表达式,并作出卡诺图。cadbcdF 1&cdd
8、F1110110001111000abcdY1Y2b12图4- -3- -5 例4- -13卡诺图&cY3a3图4- -3- -4 例4- -13逻辑电路111111011110(1) 当当abcd由由0100变化到变化到1101时,变时,变量量a、d发生变化,由不变的变量发生变化,由不变的变量b、c组成组成的乘积项的乘积项bc不是函数的乘积项或多余项,不是函数的乘积项或多余项,因此可能产生静态逻辑冒险。因此可能产生静态逻辑冒险。若若d先于先于a变化,则变化路径如图中所变化,则变化路径如图中所示示;反之则为路径;反之则为路径。显然所经历的过。显然所经历的过渡状态不同,因此有静态冒险的可能。渡状
9、态不同,因此有静态冒险的可能。4(2)当当abcd由由0111变化到变化到1110时,变量时,变量a、d发生变化,由不变的变量发生变化,由不变的变量b、c组成的组成的乘积项乘积项bc是函数的多余项,因此不会发生是函数的多余项,因此不会发生由于变量变化的先后而产生的静态冒险。由于变量变化的先后而产生的静态冒险。如图中路径如图中路径、,过渡状态完全相同。,过渡状态完全相同。32生逻辑冒险。生逻辑冒险。门的延迟,就有可能产门的延迟,就有可能产发生变化,若考虑发生变化,若考虑,而此时,而此时,由于,由于、如果如果dddFcb 11生逻辑冒险。生逻辑冒险。的情况,所以有可能产的情况,所以有可能产时,存在
10、时,存在、信号发生变化。当信号发生变化。当时,仅时,仅变化到变化到由由当当ccFbacabcd 1110111001 )3(在多个输入变量同时发生状态改变时,如果输入变量数目在多个输入变量同时发生状态改变时,如果输入变量数目很多,很难从逻辑表达式简单地找出所有可能产生冒险的情况,很多,很难从逻辑表达式简单地找出所有可能产生冒险的情况,可以通过计算机辅助分析,迅速地查出电路是否存在逻辑冒险可以通过计算机辅助分析,迅速地查出电路是否存在逻辑冒险现象。现象。4.3.4如何避免逻辑冒险如何避免逻辑冒险修改逻辑设计修改逻辑设计通过通过F=AB+AC+BC,增加多余,增加多余项项BC,以消除由于,以消除由
11、于A变化而引起的逻变化而引起的逻辑冒险。因为当辑冒险。因为当B=1、C=1时,存在时,存在F=A+A情况,由于增加了情况,由于增加了BC项,不项,不论论A如何变化,如何变化,BC项始终为项始终为1,输出,输出始终为始终为1,输出不会出现逻辑冒险。,输出不会出现逻辑冒险。由于由于BC为多余项,此方法又称为为多余项,此方法又称为增增加多余项法。加多余项法。1&cddFb&ca图4- -3- -6 增加与门消除逻辑冒险&abcb&daCf例如图例如图4- -3- -6所示电路。所示电路。引入取样脉冲引入取样脉冲冒险现象仅仅发生在输入信号变化转换的瞬间,在稳定状冒险现象仅仅发生在输入信号变化转换的瞬间,在稳定状态是没有冒险信号的。因此,采用取样脉冲,错开输入信号发态是没有冒险信号的。因此,采用取样脉冲,错开输入信号发生转换的瞬间,正确反映组合电路稳定时的输出值,可以有效生转换的瞬间,正确反映组合电路稳定时的输出值,可以有效地避免各种冒险。地避免各种冒险。输出加滤波电容输出加滤波电容&1F.11&F&1F&F.111FF&1图4- -3- -7 采用取样方法消除冒险通过滤波电容滤除输出端的毛刺信号。通过滤波电容滤除输出端的毛刺信号。