【基础知识】~ 竞争/冒险

本文详细介绍了逻辑门电路中竞争和冒险的概念,竞争是指信号通过不同路径到达同一节点的时间差,而冒险则是由此可能导致的输出尖峰脉冲。四种常见的消除竞争冒险的方法包括修改逻辑设计、输出端并联电容、使用格雷码和利用D触发器。在Verilog编程中,遵循特定规则可以避免竞争冒险问题,如使用非阻塞赋值等。
摘要由CSDN通过智能技术生成

竞争/冒险

产生背景

信号经过逻辑门电路都需要一定的时间,由于不同路径上门的级数不同,信号经过不同路径传输的时间不同,或者门的级数相同但各个门延迟时间有差异,也会造成传输时间不同。竞争与冒险是逻辑门因输入端的竞争而导致输出产生不应有的尖峰干扰脉冲(又称过渡干扰脉冲)的现象。

在这里插入图片描述
上图表示的是对于A信号取反,之后再与A相与得到的波形图。由于器件的延时导致的,最后出现尖峰干扰脉冲。

什么是竞争?

在组合电路中,信号经由不同的途径达到某一会合点的时间有先有后,这种现象称为竞争。

什么是冒险?

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

二者的行为关系

竞争不一定会产生冒险,但冒险就一定有竞争。

4种消除竞争冒险常见的方法

1)修改逻辑设计,这主要包括去除互补逻辑变量和增加冗余项。
2)输出端并联电容,这主要利用了电容的充放电特性,对毛刺滤波,对窄脉冲起到平波的作用。
3)利用格雷码每次只有一位跳变,消除了竞争冒险产生的条件。
4)利用 D 触发器对毛刺不敏感的特性。

编写代码如何避免产生竞争冒险?

在 Verilog 编程时,需要注意以下几方面,在绝大多数情况下可避免综合后仿真出现冒险问题。
1)时序电路建模时,用非阻塞赋值。
2)锁存器电路建模时,用非阻塞赋值。
3)用 always 和组合逻辑建模时,用阻塞赋值。
4)在同一个 always 块中建立时序和组合逻辑模型时,用非阻塞赋值。
5)在同一个 always 块中不要既使用阻塞赋值又使用非阻塞赋值。
6)不要在多个 always 块中为同一个变量赋值。

声明

本人所有系列的文章,仅供学习,不可商用,如有侵权,请告知,立删!!!

本人主要是记录学习过程,以供自己回头复习,再就是提供给后人参考,不喜勿喷!!!

如果觉得对你有用的话,记得收藏+评论!!!

欢迎大家批评指正,侵删!

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值