竞争与冒险是数字电路中存在的一种现象。由于元器件质量和设备工艺已达到相当高的水平,因而数字电路的故障往往是竞争与冒险引起的,所以要研究它们。在一个复杂的数字电路的设计阶段,就完全预料电路中的竞争与冒险是困难的,有一些要通过实验来检查。下面将说明组合数字电路中竞争与冒险的基本概念和确定消除它的一些基本方法。
竞争:在组合电路中,信号经由不同的途径达到某一会合点的时间有先有后,这种现象称为竞争。
冒险:由于竞争而引起电路输出发生瞬间错误现象称为冒险。表现为输出端出现了原设计中没有的窄脉冲,常称其为毛刺。
竞争与冒险的关系:有竞争不一定会产生冒险,但有冒险就一定有竞争。
解决方法:
一是添加布尔式的消去项
代数法消除竞争冒险 ,卡诺图法消除竞争冒险
二是在芯片外部加电容
加吸收电容器后,电路的时间常数加大,对窄的干扰脉冲,电路就不能响应。但是加吸收电容器要影响电路的动作速度,故电容量的选取要合适,这往往要靠调试来确定。
三是加选通控制端
另外在实际设计中,
可以通过改变设计,破坏毛刺产生的条件来减少毛刺的发生。毛刺并不是对所有的输入都有危害,对于D触发器的D输入端,只要毛刺不出现在时钟的上升沿并且不满足数据的建立和保持时间,就不会对系统造成危害,因此可认为D触发器的D输入端对毛刺不敏感。根据这个特性,应当在系统中尽可能采用同步电路,因为同步电路信号的变化都发生在时钟沿,只要毛刺不出现在时钟的沿口并且不满足数据的建立和保持时间,就不会对系统造成危害。由于毛刺很短,多为几纳秒,基本上都不可能满足数据的建立和保持时间。