一个输入信号的改变可能导致多个输出信号的改变,这被称为毛刺或冒险。
多个输入上的同时变化也会导致毛刺,这些毛刺不能够通过增加硬件来避免,因为大多数系统都会有多个输入上的同时(或几乎同时)变化,所以毛刺普遍存在。
下图是一个带有毛刺的电路:
下图展示了毛刺的时序:
由于受电路的延迟等因素的影响,使得原本正常的逻辑关系,发生了混乱,这就是产生了竞争-冒险现象 。
- 竞争:门电路的两个输入端同时向相反的逻辑电平变化的现象称为竞争。
- 冒险:由于竞争,电路的输出端就可能出现暂短的错误输出,即出现了不应有的窄脉冲或称尖峰脉冲,这种现象称为冒险。冒险的危害在于它可能使后接的时序电路产生错误操作。因而,有时要设法消除竞争冒险或尽量消除竞争冒险带来的危害。
判断方法主要有表达式法、卡诺图法、软件仿真及实验法。
消除方法主要有修改逻辑设计、输出端接滤波电容、引入选通脉冲。
当信号的变化在卡诺图中穿越2个主蕴含项的边缘就会出现毛刺。能够通过在卡诺图中增加多余的蕴含项来盖住这些边缘以避免毛刺。当然,这会增加额外的硬件成本。
下面是一个无毛刺的电路:
上图消去毛刺的方法是在卡诺图中增加一个新的覆盖主蕴含项边缘的圈: