1、概念

竞争(competition):

说法一:在组合逻辑中,信号由于经由不同路径达到输出端,由于每条途径延迟时间不同,达到输出门的时间就有先有后,这种现象就称之为竞争。

说法二:门电路的两个输入信号同时向反向的逻辑电平跳变(一个从1跳变到0,另一个从0跳变到1)的现象称之为竞争。

说法一从原理上去概述,说法二从现象上去概述,两种说法都对,要达到冒险,缺一不可,但两者都满足不一定会有冒险。

冒险(risk):

多路信号电平值发生改变时,在信号变化的瞬间,组合逻辑的输出有先有后,并不是同时变化,往往会出现一些尖峰信号,这些尖峰信号称之为毛刺,如果一个电路中出现毛刺,就说明该电路存在冒险。

竞争冒险(competition risk ):

由于竞争而在电路输出端可能产生尖峰脉冲的现象就称之为竞争冒险。

如下图的简单电路,由于门电路的延时,A非相对于A信号会滞后一段是时间(时间由工艺决定),这就会导致输出产生一个干扰脉冲。

2、竞争与冒险的关系

有竞争不一定有冒险,但出现了冒险就一定存在竞争。 如果两个跳变信号,其中一个在到达VIL(max)或VIH(min)时另一个已经到达稳定状态,则此种情况下竞争不会导致冒险。

3、竞争与冒险的判断

判断电路中是否存在静态冒险,主要有两种方法:代数法与卡诺图法。

(1)代数法

对于任意组合电路,当其表达式的某种组合会导致出现F=A+(~A)(A取反)或者F=A(~A)时,就会产生静态冒险,理由反相器必定会产生延时。比如下面这个表达式:

当输入Y与Z稳定在1时,F应该稳定产生1,而X发生变化时,就会导致电路产生0的窄脉冲,也就产生了静态1型冒险。静态0型冒险类似。

(2)卡诺图法

当对卡诺图化简时存在相切的最小项或者最大项时,电路中就可能存在竞争冒险。如下图所示,所圈出最小项存在相切的现象,就产生了冒险。

4、竞争与冒险解决方法

(1)修改逻辑设计,增加冗余项:(设计中)

对于给定的逻辑 Y=AB+ÃC,当BC都为1的时候,若A值改变,则会发生竞争。所以可以添加冗余项:Y=AB+ÃC+BC

分析有无竞争冒险:画出函数的卡诺图,检查有无几何相邻的逻辑项,有则可能产生竞争冒险。

如下图所示电路,可以增加冗余项来抵消静态冒险,具体做法是在相切的最小项中增加一个最小项,使相切的点合二为一。

原来的表达式为:

当B与C均为1时,就会产生静态冒险,而圈上相切项之后,表达式为:,这样便不会再产生冒险。

(2)引入滤波电容:输出端并接一个不大的滤波电容

缺点:输出波形边沿变坏。

(3)引入选通脉冲

(4)格雷码计数器

对于一般的二进制或十进制计数器,在计数时,将有多bit信号同时跳变。使用格雷码将避免毛刺的出现,因为格雷码让计数器的输出每次只有一次跳变。

(5)利用D触发器对毛刺不敏感的特性,对组合逻辑输出加寄存器。可以通过改变设计,破坏毛刺产生的条件来减少毛刺的发生。(组合逻辑输出加寄存器)毛刺并不是对所有的输入都有危害,对于D触发器的D输入端,只要毛刺不出现在时钟的上升沿并且不满足数据的建立和保持时间,就不会对系统造成危害,因此可认为D触发器的D输入端对毛刺不敏感。根据这个特性,应当在系统中尽可能采用同步电路,因为同步电路信号的变化都发生在时钟沿,只要毛刺不出现在时钟的沿口并且不满足数据的建立和保持时间,就不会对系统造成危害。由于毛刺很短,多为几纳秒,基本上都不可能满足数据的建立和保持时间。

(6)信号同步法:

A、信号延时同步法

其原理是在两级信号传递的过程中加一个延时环节,这里的信号延时可以是数据信号的延时也可以是时钟信号的延时。

B、状态机控制

使用状态机可以实现信号的同步和消除毛刺的目的。在传输比较复杂的多模块系统中,由状态机在特定的时刻分别发出控制特定模块的时钟信号或者模块使能信号,状态机的循环控制就看以使整个系统协调运作,同时减少毛刺信号。

5、在verilog编程时需要注意以下几点:

(1)时序电路建模时,用非阻塞赋值。

(2)锁存器电路建模时,用非阻塞赋值。

(3)用always和组合逻辑建模时,用阻塞赋值。

(4)在同一个always块中建立时序合组合逻辑模型时,用非阻塞赋值。

(5)在同一个always块中不要既用阻塞赋值又用非阻塞赋值。

(6)不要在多个always块中为同一个变量赋值。

组合逻辑中的竞争与冒险相关推荐

  1. 组合逻辑中的竞争与冒险现象

    实际的信号有一个上升和下降的过程 由于信号在变化过程中,不会瞬间立刻发生变化,要经过一个过渡过程 当输入的A的信号已经到达高电平,可是我们发现B的信号还没有降到低电平,在这一段时间内,输出还是为高电平 ...

  2. 组合逻辑中的 竞争冒险问题

    目录 1. 竞争 逻辑冒险 功能冒险 1.1. 数字电路的 竞争问题 功能冒险 逻辑冒险 1.2. 测试仿真的 竞争问题 放大delta cycle 2. 判断冒险 2.1. 判断 功能冒险 2.2. ...

  3. 组合电路中的竞争与冒险

    组合电路中的竞争与冒险 1.竞争与冒险 由于逻辑门存在延迟时间以及信号的传输路径不同,当输人信号电平发生瞬间变化时,电路可能产生与稳态时逻辑功能不一致的错误输出,这种现象就是电路中的竞争与冒险. 例如 ...

  4. 【 FPGA 】组合逻辑中的竞争与险象问题(五)

    上篇博文:组合逻辑中的竞争与险象问题(四)说到了险象的分类,通过险象的分类,我们同时也明白了什么样的竞争会引起什么样的险象. 这篇博文来分析,险象对数字电路的影响以及如何消除险象? 险象对数字电路的影 ...

  5. 【 FPGA 】组合逻辑中的竞争与险象问题(四)

    上篇博文:组合逻辑中的竞争与险象问题(三)讲解了险象的定义,即竞争引起的非预期输出,同时给出了分析,对什么样的竞争会引起险象. 这篇博文继续讲解险象问题,重要突出险象的分类. 上篇博文最后提出了化简后 ...

  6. 【 FPGA 】组合逻辑中的竞争与险象问题(三)

    上篇博文:组合逻辑中的竞争与险象问题(二)讲了半开关的相关知识,更确切的说是竞争的根源问题.这篇博文将险象问题. 险象的定义 有竞争引起的非预期行为就叫做险象. 可见,竞争是险象的前提.但是竞争就一前 ...

  7. 【 FPGA 】组合逻辑中的竞争与险象问题(二)

    竞争与险象的讨论前提 当多个输入发生变化时,由于变化时刻以及延迟的影响,组合逻辑的输出中必然存在着不稳定态.但是通过上篇博文的分析:组合逻辑中的竞争与险象问题(一),我们发现即使仅有一个输入发生变化时 ...

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

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

  9. 【 FPGA 】组合逻辑中的竞争与险象问题(一)

    针对单输出的组合逻辑进行简单分析,而多输出的组合逻辑可分解为多个但输出的组合逻辑. 单输入的组合逻辑 对于一个简单的非门电路,它的输出将永远跟随输入变化,即使考虑到门延迟.线延迟的影响,输出波形最多也 ...

最新文章

  1. decorator java_装饰器模式-Decorator(Java实现)
  2. 本周ASP.NET英文技术文章推荐[09/30- 07/13]:.NET Framework、JSON、Google Analytics、文件上传、GridView、IIS 7、Web开发...
  3. Google啊谷狗,你是在考验中国人的智商还是探测中国人的情商?
  4. SQL数据库的多表查询
  5. 旋转图像 leetcode
  6. 2021-09-03 DeepMatch 推荐系统
  7. 标准情况下绝对湿度与相对湿度excel表
  8. 用diskpart恢复U盘
  9. 【Codeforces 372A】Counting Kangaroos is Fun
  10. dwf怎么合成一个_油菜素内酯合成基因DWF1、DET2影响毛白杨木质部形成
  11. re匹配截至到第一个中文_Python正则表达式:re模块常用方法详解
  12. Jenkins下载与安装
  13. java计时器脚本_在倒数计时器脚本中跳过很多秒
  14. k-means+matlab 之辣鸡学算法
  15. 白白的python之路--Day1
  16. ArcGIS API For JavaScript 拉框放大地图
  17. 较详细的MongDB工具类
  18. C语言qsort函数的使用
  19. Quorum联盟链开发入门
  20. 智慧楼宇可视化3D数字孪生系统

热门文章

  1. Android 获取内部存储中音乐文件的正确姿势
  2. 发自肺腑深入肌肤 —— 一位武汉老程序员的自白
  3. 苹果CMS 10播放地址倒序排列
  4. OracleDBA精选面试题
  5. 作为外包,你冤枉了吗?| 程序员有话说
  6. 如何使用uTorrent制作自己的种子
  7. ContentPrivider
  8. 计算机的位、字节、字
  9. 黑金花大理石_黑色是百搭更是经典 — 黑金花大理石简介及案例欣赏
  10. 字节三面:对于 Spring 你了解多少?如果你会了这 150 道题 ,吊打面试官岂不是洒洒水