产生竞争冒险的原因
- 格式:ppt
- 大小:802.00 KB
- 文档页数:16
探索组合逻辑电路的竞争冒险现象及消除方法随着电子技术的不断发展和应用,组合逻辑电路作为数字电路中最简单的一种电路,在电子设备中应用广泛。
然而,在实际应用中,我们常常会遇到一些竞争冒险的问题。
那么,究竟什么是竞争冒险呢?它又是如何产生的呢?如何消除这种现象呢?下面就来一一解答。
一、竞争冒险的定义竞争冒险(Race Hazard)是指输入信号有多条路径到达输出端,而输出信号的正确性与哪条输入路线先到达输出端有关的一种现象。
简而言之,竞争冒险就是同一信号在不同的路径上到达目的地的时间不同,导致信号的正确性无法得到保证。
二、竞争冒险的产生原因竞争冒险通常是在异步电路中产生的。
异步电路是一种没有时钟信号的电路。
因为没有时钟信号控制,异步电路的输入信号会在任何时间到达电路中。
如果异步电路的不同信号路径的延时不相等,就会产生竞争冒险。
三、竞争冒险的消除方法为了消除竞争冒险,我们有以下几种方法:1.插入缓冲器插入缓冲器是一种最基本的解决竞争冒险问题的方法。
在信号到达目的地之前,可以在较长的信号路径中插入缓冲器,使延时较短的信号路径延迟与较长的信号路径相同的时间,达到信号的同步。
2.加强约束条件加强约束条件也可以消除竞争冒险的问题。
在设计电路的时候,我们可以设置更为严格的约束条件,使得各个信号路径的延迟时间尽量相近,从而避免产生竞争冒险。
3.优化电路结构优化电路结构也可以解决竞争冒险的问题。
我们可以在电路设计过程中尽量避免存在长短不一的信号路径,或者在架构设计时就考虑到延迟问题,在电路结构设计时保持信号路径相对简单结构,减少信号传输延迟时间。
总之,竞争冒险是组合逻辑电路中不可避免的现象,我们应该在电路设计与实现中充分考虑其存在,采取相应的措施来消除竞争冒险带来的风险和影响。
组合逻辑电路中的竞争冒险
前面分析组合逻辑电路时,都没有考虑门电路的延迟时间对电路产生的影响。
实际上,从信号输入到稳定输出需要一定的时间。
由于从输入到输出的过程中,不同通路上门的级数不同,或者门电路平均延迟时间的差异,使信号从输人经不同通路传输到输出级的时间不同。
由于这个原因,可能会使逻辑电路产生错误输出。
通常把这种现象称为竞争冒险。
一、产生竞争冒险的原因
首先来分析下图所示电路的工作情况,可以建立竞争冒险的概念。
在图中,与门G2的输入是A和两个互补信号。
由于G1的延迟,的下降沿要滞后于A的上升沿,因此在很短的时间间隔内,G2的两个输入端都会出现高电平,致使它的输出出现一个高电平窄脉冲(它是按逻辑设计要求不应出现的干扰脉冲),见图中的波形部分所示。
与门G2的2个输入信号分别由G1和A端两个路径在不同的时刻到达的现象,通常称为竞争,由此而产生输出干扰脉冲的现象称为冒险。
下面进一步分析组合逻辑电路产生竞争冒险的原因。
设有一个逻辑电路如上图所示,其工作波形如下图所示。
它的输出逻辑表达式为。
由此式可知,当A和B都为1时,L=1,与C的状态无关。
但是,由波形图可以看出,在C由1变0时,C由0变1有一延迟时间,在这个时间间隔内,G2和G3的输出AC和同时为0,而使输出出现一负跳变的窄脉冲,即冒险现象。
这是产生竞争冒险的原因之一,其他原因这里不作详述。
由以上分析可知,当电路中存在由反相器产生的互补信号,且在互补信。
什么是竞争和冒险,如何消除?∙当一个门的输入有两个或两个以上的变量发生改变时,由于这些变量是经过不同组合逻辑路径产生的,使得它们状态改变的时刻有先有后,这种时差引起的现象称为竞争(Race)。
竞争的结果若导致冒险或险象(Hazard)发生(例如毛刺(glitch)),并造成错误的后果,那么就称这种竞争为临界竞争。
若竞争的结果没有导致冒险发生,或虽有冒险发生,但不影响系统的工作,那么就称这种竞争为非临界竞争。
∙组合逻辑电路的险象仅在信号状态改变的时刻出现毛刺(glitch),这种冒险是过渡性的,它不会使稳态值偏离正常值,但在时序电路中,冒险是本质的,可导致电路的输出值永远偏离正常值或者发生振荡。
∙组合逻辑电路的冒险是过渡性冒险,从冒险的波形上,可分为静态冒险和动态冒险。
∙输入信号变化前后,输出的稳态值是一样的,但在输入信号变化时,输出信号产生了毛刺,这种冒险是静态冒险。
若输出的稳态值为0,出现了正的尖脉冲毛刺,称为静态0险象。
若输出稳态值为1,出现了负的尖脉冲毛刺,则称为静态1冒险。
∙输入信号变化前后,输出的稳态值不同,并在边沿处出现了毛刺,称为动态险象(冒险)。
∙从引起冒险的具体原因上,冒险可以分为函数冒险和逻辑冒险。
函数冒险是逻辑函数本身固有的,当多个输入变量发生变化时,常常会发生逻辑冒险。
避免函数冒险的最简单的方法是同一时刻只允许单个输入变量发生变化,或者采用取样的办法。
∙单个输入变量改变时,不会发生函数冒险,但电路设计不合适时,仍会出现逻辑冒险。
通过精心设计,修改电路的结构,可以消除逻辑冒险。
∙如何解决∙ 1.通过改变设计,破坏毛刺产生的条件,减少毛刺发生。
例如,数字电路设计中,常常采用Gray Code计数器取代普通计数器,因为Gray Code 计数器的输出每次只有一位跳变,消除了竞争冒险发生的条件,避免了毛刺的产生。
∙ 2.毛刺并不是对所有的输入都有危害,例如:D触发器的D输入端,只要毛刺不出现在时钟的上升沿且满足数据的建立和保持时间,就不会对系统造成危害,因此可以说D触发器的D输入端对毛刺不敏感。
4第四章组合逻辑电路中的竞争冒险数字逻辑课件4.3组合逻辑电路中的竞争组合逻辑电路中的竞争冒险与险象数字逻辑课件竞争冒险的概念及其原因竞争:输入信号经过不同的路径到达输出端的时竞争:间有先有后,这种现象称为竞争。
间有先有后,这种现象称为竞争。
产生的原因:信号经过门的级数、具体逻辑门产生的原因:信号经过门的级数、的时延大小、导线的长短。
的时延大小、导线的长短。
竞争会给电路带来什么样的影响?竞争会给电路带来什么样的影响?数字逻辑课件一个简单门电路的冒险分析AFBF=A+A数字逻辑课件一、冒险与竞争竞争:在组合电路中,竞争:在组合电路中,信号经由不同的途径达到某一会合点的时间有先有后冒险:由于竞争而引起电路输出发生瞬间错误现象。
冒险:由于竞争而引起电路输出发生瞬间错误现象。
表现为输出端出现了原设计中没有的窄脉冲,常称其为毛刺。
输出端出现了原设计中没有的窄脉冲,常称其为毛刺。
数字逻辑课件冒险的概念及其产生的原因如果电路中存在竞争现象,如果电路中存在竞争现象,则当输入信号变化时就有可能引起输出信号出现非预期的错误输出,时就有可能引起输出信号出现非预期的错误输出,险象或冒险。
这种现象称为险象或冒险。
在组合电路中,在组合电路中,当逻辑门有两个互补输入信号同时向相反状态变化时,同时向相反状态变化时,输出端可能产生过渡干扰脉冲的现象,竞争冒险。
扰脉冲的现象,称为竞争冒险。
数字逻辑课件险象的判断判断组合逻辑电路中是否有可能产生险象的方法有两种,代数法和卡诺图法。
的方法有两种,即代数法和卡诺图法。
数字逻辑课件代数法判断险象首先检查函数表达式中是否存在具备竞争条件的变量,条件的变量,即是否有某个变量同时以原变量和反变量的形式在函数表达式中出现。
变量和反变量的形式在函数表达式中出现。
若有,则消去函数表达式的其他变量,再若有,则消去函数表达式的其他变量,看函数表达式是否能化成或的形式,若能,看函数表达式是否能化成或的形式,若能,则对应的逻辑电路存在产生险象的可能性。
竞争与冒险解释一:在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。
产生毛刺叫冒险。
如果布尔式中有相反的信号则可能产生竞争和冒险现象。
解决方法:一是添加布尔式的(冗余)消去项,但是不能避免功能冒险,二是在芯片外部加电容。
三是增加选通电路。
在组合逻辑中,由于多少输入信号变化先后不同、信号传输的路径不同,或是各种器件延迟时间不同(这种现象称为竞争)都有可能造成输出波形产生不应有的尖脉冲(俗称毛刺),这种现象成为冒险。
解释二: 竞争与冒险是数字电路中存在的一种现象。
由于元器件质量和设备工艺已达到相当高的水平,因而数字电路的故障往往是竞争与冒险引起的,所以要研究它们。
在一个复杂的数字电路的设计阶段,就完全预料电路中的竞争与冒险是困难的,有一些要通过实验来检查。
下面将说明组合数字电路中竞争与冒险的基本概念和确定消除它的一些基本方法。
竞争:在组合电路中,信号经由不同的途径达到某一会合点的时间有先有后,这种现象称为竞争。
冒险:由于竞争而引起电路输出发生瞬间错误现象称为冒险。
表现为输出端出现了原设计中没有的窄脉冲,常称其为毛刺。
竞争与冒险的关系:有竞争不一定会产生冒险,但有冒险就定有竞争。
在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。
产生毛刺叫冒险。
如果布尔式中有相反的信号则可能产生竞争和冒险现象。
解决方法:一是添加布尔式的消去项,二是在芯片外部加电容。
当组合逻辑电路存在冒险现象时,可以采取修改逻辑当一个门的输入有两个或两个以上的变量发生改变时,由于这些变量是经过不同路径产生的,使得它们状态改竞争的结果若导致冒险或险象(Hazard )发生(例如毛刺),并造成错误的后果,那么就称这种竞争为临界竞争。
若竞争的结果没有导致冒险发生,或虽有冒险发生,但不影响系统的工作,那么就称这种竞争为非临界竞争。
变的时刻有先有后,这种时差引起的现象称为竞争Race )。
组合逻辑电路中的竞争冒险一、定义1、竞争:组合电路中,若某个变量通过两条以上途径到达输入端,由于每条路径上的延迟时间不同,到达逻辑门的时间就有先有后的现象。
2、冒险:因竞争使真值表描述的逻辑关系受到短暂的破坏,在输出端产生错误结果的现象。
(毛刺) 有竞争存在时不一定产生冒险。
二、冒险的类型“1”型冒险:使输出出现高电平窄脉冲的冒险;(恒为0时不为0,A A∙)“0”型冒险:使输出出现低电平窄脉冲的冒险。
(恒为1时不为1,A A+)三、0型冒险和1型冒险的判断在一个逻辑函数式Y中,如果某个变量以原变量和反变量的形式在式中出现,那么该变量就是具有竞争条件的变量。
1.如果令其它变量为0或1消去后式子中出现类似下式形式:=则电路中就会产生0型冒险。
AY+A2.如果令其它变量为0或1消去后式子中出现类似下式形式:四、判断方法:(1)找出以原、反变量同时出现的变量;(2)以其它变量为自变量列真值表求Y 的表达式;(3)Y 中有A A ∙则存在“1”型冒险;有A A +则存在“0”型冒险五、消除办法:(1)修改逻辑设计;(2)增加选通脉冲;(3)使用滤波电容。
例24 判断C A B A AC Y ++=是否存在冒险。
解:(1)判断条件:函数式中以原、反变量形式出现同时出现的A 是C 和,先判断A 见表。
A 变量判断表(2)判断结果:从表中可以看出当1==C B 时有A A Y +=则电路中A 信号在“0型冒险”。
同理判断变量C ,会发现变量C 不存在冒险。
1型冒险的判断方法同上面一样。
四、修改逻辑设计以消除竞争冒险利用逻辑代数中的公式对存在冒险的逻辑函数式进行变换,增加多余项,来消除冒险。
例如AC=,Y+AB在1==CB时有0型冒险。
如果利用公式将Y变换为:+Y+=A=,则当1=+ACBCBBAACB时结果变为1=Y,从=C而消除了冒险。
当一个门的输入有两个或两个以上的变量发生改变时,由于这些变量是经过不同组合逻辑路径产生的,使得它们状态改变的时刻有先有后,这种时差引起的现象称为竞争(Race)。
竞争的结果若导致冒险或险象(Hazard)发生(例如毛刺(glitch)),并造成错误的后果,那么就称这种竞争为临界竞争。
若竞争的结果没有导致冒险发生,或虽有冒险发生,但不影响系统的工作,那么就称这种竞争为非临界竞争。
组合逻辑电路的险象仅在信号状态改变的时刻出现毛刺(glitch),这种冒险是过渡性的,它不会使稳态值偏离正常值,但在时序电路中,冒险是本质的,可导致电路的输出值永远偏离正常值或者发生振荡。
组合逻辑电路的冒险是过渡性冒险,从冒险的波形上,可分为静态冒险和动态冒险。
输入信号变化前后,输出的稳态值是一样的,但在输入信号变化时,输出信号产生了毛刺,这种冒险是静态冒险。
若输出的稳态值为0,出现了正的尖脉冲毛刺,称为静态0险象。
若输出稳态值为1,出现了负的尖脉冲毛刺,则称为静态1冒险。
输入信号变化前后,输出的稳态值不同,并在边沿处出现了毛刺,称为动态险象(冒险)。
从引起冒险的具体原因上,冒险可以分为函数冒险和逻辑冒险。
函数冒险是逻辑函数本身固有的,当多个输入变量发生变化时,常常会发生逻辑冒险。
避免函数冒险的最简单的方法是同一时刻只允许单个输入变量发生变化,或者采用取样的办法。
单个输入变量改变时,不会发生函数冒险,但电路设计不合适时,仍会出现逻辑冒险。
通过精心设计,修改电路的结构,可以消除逻辑冒险。
如何解决1.通过改变设计,破坏毛刺产生的条件,减少毛刺发生。
例如,数字电路设计中,常常采用Gray Code计数器取代普通计数器,因为Gray Code 计数器的输出每次只有一位跳变,消除了竞争冒险发生的条件,避免了毛刺的产生。
2.毛刺并不是对所有的输入都有危害,例如:D触发器的D输入端,只要毛刺不出现在时钟的上升沿且满足数据的建立和保持时间,就不会对系统造成危害,因此可以说D触发器的D输入端对毛刺不敏感。