数字电路中的竞争冒险现象

原文出自微信公众号【小小的电子之路】

门电路的两个输入信号同时向相反的逻辑电平跳变的现象叫做竞争,这种竞争可能在电路的输出端产生尖峰脉冲,这种现象称为竞争冒险。

竞争冒险产生的根本原因是输入信号通过两条或两条以上的路径传输到输出端,每条路径的延时不同,从而导致信号不能同时到达输出端。接下来,我们就通过几个简单的电路了解一下竞争冒险现象。

1、移位寄存器

首先来看下面一个电路,这个电路简单描述了移位寄存器的工作原理,当时钟上升沿来临的时候,数据会整体向右移动一位。但是现在的问题是:每次时钟有效时,为什么数据只移动一位?

 要想解释上面的问题,就需要具体了解一下构成移位寄存器的最小单元—D触发器的行为。下图是一个D触发器的原理图,当有效时钟边沿到来时,其输入端D的值会存入输出端Q。

 对上述D触发器进行功能仿真,仿真结果如下图所示,可以看出,当时钟上升沿到来时,触发器的输出Q会等于输入D。

 接下来,对D触发器进行更接近真实情况的门级仿真,通过仿真结果可以看到,当时钟上升沿到来时,触发器的输出并没有立马发生变化,而是等待一段时间之后其输出Q才会与输入D相等。

 这一段延时称为触发器的Tco时间,即输出延时,指从触发器有效边沿到来到触发器输出有效的时间差。这也是移位寄存器每次只能移动一位的原因。

2、计数器

接下来再看另一个电路—计数器电路,该电路由多个逻辑门组合而成,可以实现十六进制计数功能。

 对该电路进行功能仿真,可以看出电路功能正常。

 同样,对电路进行门级仿真,结果如下,将仿真图放大可以发现,在计数值由0001变为0010的过程中,出现了短暂的0011的计数值。

 之所以出现0011这样的计数值,是因为每一位分别由多个不同的逻辑门电路控制,因此,每一位的变化存在一定的延时,这一延时称为Tpd时间,即传输延时,指从输入信号有效到输出信号稳定时的时间差

但是,不同位的控制电路的延时是不同的,以上面的现象为例,该计数器第三位的控制电路的延时要比第四位短,因此,第三位先变为1,第四位后变为0,两个变化之间的延时差就导致出现了0011这样的现象,这就是竞争冒险现象。

以当前的时钟频率,上面的现象是不会导致系统出现问题的,因为不稳定状态持续的时间非常短,不会被时钟采样到,但是,如果时钟频率太高,该状态就有可能被采样到,导致系统出错,这就是某些代码运行时时钟频率不能太高的原因之一。

以上就是本次分享的全部内容,谢谢大家!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值