数字电路基础知识—— 组合逻辑电路中的竞争与冒险(竞争与冒险、检验方法、及消除方法)

在数字逻辑设计中,并不是说最简的逻辑表达式在设计组合逻辑时一定是最优的,可能就会出现本次介绍的竞争与冒险问题,所以需要了解竞争与冒险的检验以及竞争与冒险的避免消除方法。

一、竞争与冒险现象及其形成原因

两个输入信号同时向相反方向的逻辑电平跳变的现象(即一个由1- > 0, 另一个从0 -> 1),称为竞争。
因竞争导致在输出端可能产生尖峰脉冲的现象,称为冒险。

通俗一点的说,信号由于经由不同路径传输达到某一汇合点的时间有先有后的现象,就称之为竞争,由于竞争现象所引起的电路输出发生瞬间错误的现象,就称之为冒险。
竞争表现在输出波形上,则是出现0电平或者1电平的尖峰,称 “毛刺”
数字电路基础知识—— 组合逻辑电路中的竞争与冒险(竞争与冒险、检验方法、及消除方法)
上图表示一个与门,在输入信号A从1变为0,并且B 从)变为1,而且B信号首先上升到VIL,这样会在极短时间内,产生一个毛刺。

二、竞争冒险的影响因素:

对于一个非门和一个与门,本来在理想情况下Y的输Y出应该是一直稳定的0输出,但是实际上每个门电路从输入到输出是一定会有时间延迟的,这个时间通常叫做电路的开关延迟。而且制作工艺门的种类甚至制造时微小的工艺偏差,都会引起这个开关延迟时间的变化。
下图图很好的说明了组合逻辑中的冒险竞争对于电路的影响。
数字电路基础知识—— 组合逻辑电路中的竞争与冒险(竞争与冒险、检验方法、及消除方法)

三、 检查竞争冒险的常用方法:

  1. 逻辑表达式化简法
    如果输出端门电路的两个输入信号A和A’是输入变量A经过两个不同的传输途径而来,则当输入变量发生变化时,输出端就可能产生尖峰脉冲。

    故对于输出端的逻辑函数在一定条件下能化简成:
    Y=A+A’ , 存在 “0” 型竞争;
    Y=AA’ ,存在 “1” 型竞争;
    的情况下,则判定一定有竞争冒险现象。

  2. 卡洛图法
    即如果一个逻辑函数的表达式的卡洛图中所画圈没有重叠并且相切,则判定有竞争冒险。(本质上还是利用上面的方法,只是比较直观形象的判断)
    对于以下卡洛图,左图存在竞争冒险,而由图不存在竞争冒险。
    数字电路基础知识—— 组合逻辑电路中的竞争与冒险(竞争与冒险、检验方法、及消除方法)

  3. 例:对于逻辑函数Y=AB+A’C
    当B=C=1时,Y=A+A’,故此函数存在竞争冒险。
    画出此逻辑函数的卡洛图,发现和上左图有类似的,因此存在竞争与冒险。

四、消除冒险竞争

  1. 加滤波电容,消除毛刺的影响
    在输出端并联接一个很小的滤波电容,削弱尖峰脉冲的幅度至门电路的阈值以下。
    简单易行,但是会增加输出电压波形上升时间和下降时间,使波形变坏。
    数字电路基础知识—— 组合逻辑电路中的竞争与冒险(竞争与冒险、检验方法、及消除方法)

  2. 加选通信号,避开毛刺
    引入选通信号p,因为p的高电平出现在电路到达稳定状态后,所以上图中的G0-G3每个门都不会出现尖峰脉冲。
    注意:
    G0-G3的信号也会变成脉冲信号,并且宽度需要和脉冲相同。如,当AB=11时,Y3并不会立刻变为1,需要等到p脉冲出现过后,才给出一个正脉冲。
    数字电路基础知识—— 组合逻辑电路中的竞争与冒险(竞争与冒险、检验方法、及消除方法)

  3. 增加冗余项,消除逻辑冒险。(卡洛图)
    1)存在竞争的情况下,增加冗余项,实现输出消除毛刺。
    例:逻辑表达式如下:Y = A’BC + AB
    当B = C = 1时, 电路存在“0”型竞争。增加项:冗余项 B&C
    更变后:Y = A’BC + AB + B C (利用消去冗余项公式)

    2)还有卡诺图法,在两个相切的圆之间,相切接触的地方增加一个连接圆。
    数字电路基础知识—— 组合逻辑电路中的竞争与冒险(竞争与冒险、检验方法、及消除方法)
    对于上面的卡洛图,在相切的位置增加 冗余项 B’C,故函数表达式Y=A’B’+AC+B’C