组合电路中的竞争于冒险
- 格式:docx
- 大小:176.45 KB
- 文档页数:8
探索组合逻辑电路的竞争冒险现象及消除方法随着电子技术的不断发展和应用,组合逻辑电路作为数字电路中最简单的一种电路,在电子设备中应用广泛。
然而,在实际应用中,我们常常会遇到一些竞争冒险的问题。
那么,究竟什么是竞争冒险呢?它又是如何产生的呢?如何消除这种现象呢?下面就来一一解答。
一、竞争冒险的定义竞争冒险(Race Hazard)是指输入信号有多条路径到达输出端,而输出信号的正确性与哪条输入路线先到达输出端有关的一种现象。
简而言之,竞争冒险就是同一信号在不同的路径上到达目的地的时间不同,导致信号的正确性无法得到保证。
二、竞争冒险的产生原因竞争冒险通常是在异步电路中产生的。
异步电路是一种没有时钟信号的电路。
因为没有时钟信号控制,异步电路的输入信号会在任何时间到达电路中。
如果异步电路的不同信号路径的延时不相等,就会产生竞争冒险。
三、竞争冒险的消除方法为了消除竞争冒险,我们有以下几种方法:1.插入缓冲器插入缓冲器是一种最基本的解决竞争冒险问题的方法。
在信号到达目的地之前,可以在较长的信号路径中插入缓冲器,使延时较短的信号路径延迟与较长的信号路径相同的时间,达到信号的同步。
2.加强约束条件加强约束条件也可以消除竞争冒险的问题。
在设计电路的时候,我们可以设置更为严格的约束条件,使得各个信号路径的延迟时间尽量相近,从而避免产生竞争冒险。
3.优化电路结构优化电路结构也可以解决竞争冒险的问题。
我们可以在电路设计过程中尽量避免存在长短不一的信号路径,或者在架构设计时就考虑到延迟问题,在电路结构设计时保持信号路径相对简单结构,减少信号传输延迟时间。
总之,竞争冒险是组合逻辑电路中不可避免的现象,我们应该在电路设计与实现中充分考虑其存在,采取相应的措施来消除竞争冒险带来的风险和影响。
3.4组合逻辑电路中竞争--冒险现象理想情况电路中的连线和逻辑门都没有延迟。
电路的多个输入信号发生变化时都是同时瞬间完成的。
实际情况信号通过逻辑门需要响应时间。
信号的变化需要一定的过渡时间。
多个信号发生变化时有先后快慢的差异。
冒险逻辑冒险功能冒险不同的冒险,产生的原因不同,消除冒险的方法也不相同。
3.4.1 竞争 冒险现象及其成因两个输入信号(一个从1将出现毛刺竞争不一定都会产生尖峰脉冲不产生毛刺t pd2<t pd1+t 出现毛刺检查逻辑冒险的方法稳态时输出1,输入变化瞬间输出0的冒险,称为偏1型冒险。
稳态时输出0,输入变化瞬间输出1的冒险,称为偏0型冒险。
方法代数法卡诺图法方法比较繁琐,适用范围广,对两级(含)以上电路都适用。
注意:不能对函数进行化简。
方法简单,只适用于两级电路。
计算机模拟检查法实验检查法功能冒险输入从Ii 变到Ij时产生功能冒险的条件:2、有P个(P≥2)变量同时发生变化;1、输入变量变化前后函数值相同。
即F( I i)=F( I j);3 、由P个变量组合所构成的2P个格,既有1又有0。
例3-14:判断下面卡诺图所示逻辑函数,当输入ABCD从0110→1100,1111→1010,0011→0100,1000→1101变化时,是否存在功能冒险。
功能冒险的消除方法选通脉冲加入的位置和极性的确定:与非门实现函数F=AB+CD正极性脉冲加在第二级功能冒险的消除方法或非门实现函数F=(A+B)(C+D)负极性脉冲加在第一级功能冒险的消除方法负极性脉冲加在一个与门上功能冒险的消除方法方法二:在对输出波形边沿要求不高的情况下,可以在输,滤除毛刺。
出端接一个几十到几百皮法的滤波电容CL在输出端加小电容可以消除毛刺。
但是输出波形的前后沿将变坏,只适用于低速电路,在对波形要求较严格时,应再加整形电路。
3.4.2 消除竞争 冒险的方法加冗余项:只能消除逻辑冒险,而不能消除功能冒险,适用范围有限。
组合逻辑电路中的竞争冒险
前面分析组合逻辑电路时,都没有考虑门电路的延迟时间对电路产生的影响。
实际上,从信号输入到稳定输出需要一定的时间。
由于从输入到输出的过程中,不同通路上门的级数不同,或者门电路平均延迟时间的差异,使信号从输人经不同通路传输到输出级的时间不同。
由于这个原因,可能会使逻辑电路产生错误输出。
通常把这种现象称为竞争冒险。
一、产生竞争冒险的原因
首先来分析下图所示电路的工作情况,可以建立竞争冒险的概念。
在图中,与门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输入端对毛刺不敏感。