数字系统中采用异步芯片产生“隐故障”的原因分析及处理
数字逻辑通常包含组合电路和存贮电路(或者说是)。一方面组合电路部分可能会发生竞争——冒险现象,另一方面触发器在工作过程中也会发生竞争——冒险现象。为了保证触发器可靠地翻转,输入信号和时钟信号在时间配合上应满足一定的要求。然而当输入信号和时钟信号同时改变,而且经不同路径到达同一触发器时,便产生了竞争。竞争的结果有可能导致触发器误动作。这种情况为存贮电路的竞争——冒险现象。下图给出的八进制异步计数器电路,就存在着这种存贮电路的竞争——冒险现象。
问题分析:由下图可知计数器是由3个主从JK触发器FF1、FF2、FF3和两个器G1、G2组成。其中FF1工作在Jl=Kl=l的状态,每次CP1的下降沿到达时它都要翻转。FF2同样也工作在J2=K2=1的状态,所以每次Ql由高跳变为低电平时都要翻转。FF3的情况要复杂一些。由于CP3取自Ql(经过两级反相器延迟),而J3=K3=Q2,FF2的时钟信号又取自Ql,因而当FF1由0变成l时,FF3的输入信号和时钟电平同时改变,导致了电路的竞争——冒险现象的发生。
解决办法:通常是在时钟的传输通道上增加延迟环节。本例中的两个反相器Gl和G2就是作延迟环节用的。只要G1和G2的传输延迟时间足够长,一定能使02的变化先于CLK3的变化,保证电路按八进制计数器循环正常工作。