竞争冒险及其消除

信号由于经由不同路径传输达到某一汇合点的时间有先有后的现象,就称之为竞争

 

由于竞争现象所引起的电路输出发生瞬间错误的现象,就称之为冒险

 

 

 

FPGA设计中最简单的避免方法是尽量使用时序逻辑同步输入输出。

 

 

 

 

消除竞争冒险的常用方法有以下三种:

  1. 加滤波电容,消除毛刺的影响
  2. 加选通信号,避开毛刺
  3. 增加冗余项,消除逻辑冒险

下面主要介绍增加冗余项的原理

可以先通过逻辑表达式画出卡诺图来判断是否会出现冒险现象,当卡诺图中的卡诺圈相切,则有竞争冒险

由上图,图中的圈称为卡诺圈,卡诺圈中只能包含1,2,4,8....2^n(n为非负整数)个元素,当该函数在A=B=1时,存在0型逻辑冒险。

 

 

 图中红圈与蓝圈有相切的地方,被称为卡诺圈相切。

  1. 变量取值在卡诺圈内变化,不存在逻辑冒险;
  2. 变量取值在相切的卡诺圈跳变时,而这个相切部分又没有被另外的卡诺圈包围,则可能存在逻辑冒险。

可能存在冒险的情况实例

 

注:画卡诺图时变化顺序为00-01-11-10,每次变化一位,更多项以此类推。

 

posted @ 2020-07-31 22:13  Lightmonster  阅读(5804)  评论(1编辑  收藏  举报