0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

毛刺的产生原因:冒险和竞争

FPGA设计论坛 来源:FPGA设计论坛 作者:FPGA设计论坛 2022-04-29 10:33 次阅读

1. 毛刺的产生原因:冒险和竞争

使用分立元件设计电路时,由于PCB在走线时,存在分布电容和电容,所以在几ns内毛刺被自然滤除,而在PLD内部没有分布电感和电容,所以在PLD/FPGA设计中,竞争和冒险问题比较重要。

信号在FPGA器件内部通过连线和逻辑单元时,都有一定的延时。延时的大小与连线的长短和逻辑单元的数目有关,同时还受器件的制造工艺、工作电压、温度等条件的影响。信号的高低电平转换也需要一定的过渡时间。由于存在这两方面因素,多路信号的电平值发生变化时,在信号变化的瞬间,组合逻辑的输出有先后顺序,并不是同时变化,往往会出现一些不正确的尖峰信号,这些尖峰信号称为"毛刺"。如果一个组合逻辑电路中有"毛刺"出现,就说明该电路存在"冒险"。

可以概括的讲,只要输入信号同时变化,(经过内部走线)组合逻辑必将产生毛刺。将它们的输出直接连接到时钟输入端、清零或置位端口的设计方法是错误的,这可能会导致严重的后果。所以我们必须检查设计中所有时钟、清零和置位等对毛刺敏感的输入端口,确保输入不会含有任何毛刺。

存在逻辑冒险的电路:

18dc937e-c761-11ec-bce3-dac502259ad0.jpg

仿真波形:

18fc92d2-c761-11ec-bce3-dac502259ad0.jpg

2. 判断是否存在冒险

关于冒险的知识,数电书上有详细的说明,当时没有认真学,只了解个大概,现在又要重新看...还记得当年画卡诺图时的痛苦

冒险按照产生方式分为静态冒险&动态冒险两大类。静态冒险指输入有变化,而输出不应该变化时产生的窄脉冲;动态冒险指输入变化时,输出也应该变化时产生的冒险。动态冒险是由静态冒险引起的,所以,存在动态冒险的电路也存在静态冒险。

静态冒险根据产生条件不同,分为功能冒险和逻辑冒险两种。当有两个或两个以上的输入信号同时变化时,在输出端有毛刺,称为功能冒险;如果只有一个输入变量变化时,出现的冒险称为逻辑冒险。

因为动态冒险是由静态冒险引起的,所以消除了静态冒险,也就消除了动态冒险。功能冒险是由电路的逻辑功能产生的,只要输入信号不是按照循环码的方式变化,就会产生功能冒险,而且不能通过修改设计来消除,只能通过对输出进行采样来消除。判断逻辑冒险的步骤:

判断信号是否会同时变化

判断信号同时变化时,是否会发生冒险(代数法 or 卡诺图

3. 消除毛刺

我们可以通过改变设计,破坏毛刺产生的条件,来减少毛刺的发生。例如,在数字电路设计中,常常采用格雷码计数器取代普通的二进制计数器,这是因为格雷码计数器的输出每次只有一位跳变,消除了竞争冒险的发生条件,避免了毛刺的产生。

毛刺并不是对所有的输入都有危害,例如D触发器的D输入端,只要毛刺不出现在时钟的上升沿并且满足数据的建立和保持时间,就不会对系统造成危害,我们可以说D触发器的D输入端对毛刺不敏感。根据这个特性,我们应当在系统中尽可能采用同步电路,这是因为同步电路信号的变化都发生在时钟沿,只要毛刺不出现在时钟的沿口并且不满足数据的建立和保持时间,就不会对系统造成危害。(由于毛刺很短,多为几纳秒,基本上都不可能满足数据的建立和保持时间)

以上方法可以大大减少毛刺,但它并不能完全消除毛刺,有时,我们必须手工修改电路来去除毛刺。一般有两种方法:

脉冲选择法

一般说来,冒险出现在信号发生电平转换的时刻,也就是说在输出信号的建立时间内会发生冒险,而在输出信号的保持时间内是不会有毛刺信号出现的。如果在输出信号的保持时间内对其进行"采样",就可以消除毛刺信号的影响。缺点是必须人为的保证sample信号必须在合适的时间中产生

19209d1c-c761-11ec-bce3-dac502259ad0.png

19492584-c761-11ec-bce3-dac502259ad0.png

时序逻辑保持法

利用D触发器的D输入端对毛刺信号不敏感的特点,在输出信号的保持时间内,用触发器读取组合逻辑的输出信号,这种方法类似于将异步电路转化为同步电路。

1962c0fc-c761-11ec-bce3-dac502259ad0.png

198d2194-c761-11ec-bce3-dac502259ad0.png

4. 具体信号的讨论

1. 置位/复位信号

清除和置位信号要求象对待时钟那样小心地考虑它们,因为这些信号对毛刺也是非常敏感的。正如使用时钟那样,最好的清除和置位是从器件的引脚单直接地驱动。有一个主复位Reset引脚是常用的最好方法,主复位引脚给设计项目中每个触发器馈送清除或置位信号。几乎所有PLD器件都有专门的全局清零脚和全局置位。如果必须从器件内产生清除或置位信号,则要按照“门控时钟”的设计原则去建立这些信号,确保输入无毛刺。

2. 组合逻辑输出

当PLD输出引脚给出系统内其它部分的边沿敏感信号或电平敏感信号时,这些出信号必须象内部时钟、清除和置位信号一样小心地对待。只要可能就应在PLD输出端寄存那些对险象敏感的组合输出。如果你不能寄存险象敏感的输出,则应符合“门控时钟”中讨论的门控时钟的条件。决不能用多级逻辑驱动毛刺敏感的输出。

3. 异步输入信号

按照定义,异步输入不是总能满足(它们所馈送的触发器的)建立和保持时间的要求。因此,异步输入常常会把错误的数据锁存到触发器,或者使触发器进入亚稳定的状态,在该状态下,触发器的输出不能识别为l或0。如果没有正确地处理,亚稳性会导致严重的系统可靠性问题。采用附加触发器同步使能信号的方法可保证不违反计数器的建立时间,从而解决可靠性的问题。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21309

    浏览量

    593122
  • PLD
    PLD
    +关注

    关注

    6

    文章

    220

    浏览量

    59014
  • 毛刺
    +关注

    关注

    0

    文章

    29

    浏览量

    15534

原文标题:FPGA学习-关于毛刺

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    无铅锡膏焊接后,边缘有毛刺和玷污的原因有哪些?

    呢?今天深圳佳金源锡膏厂家带大家来了解下:首先我们来分析下造成这种现象的根源:一、PCB板焊后成形模糊,锡膏边缘不平整,表面上有毛刺原因1:锡膏粘度较低解决方法:更换锡
    的头像 发表于 04-02 16:54 301次阅读
    无铅锡膏焊接后,边缘有<b class='flag-5'>毛刺</b>和玷污的<b class='flag-5'>原因</b>有哪些?

    FPGA中竞争冒险的前世今生

    竞争冒险:在组合电路中,当逻辑门有两个互补输入信号同时向相反状态变化时,输出端可能产生过渡干扰脉冲的现象,称为竞争冒险。那么 FPGA
    发表于 02-21 16:26

    竞争冒险产生原因,判断方法和避免竞争冒险的方法

    在实际的电路设计过程中,存在传播延时和信号变换延时。由延时引起的竞争冒险现象会影响输出的正确与否。下面将就 竞争冒险产生
    的头像 发表于 02-18 14:34 1062次阅读
    <b class='flag-5'>竞争</b>与<b class='flag-5'>冒险</b><b class='flag-5'>产生</b>的<b class='flag-5'>原因</b>,判断方法和避免<b class='flag-5'>竞争</b>与<b class='flag-5'>冒险</b>的方法

    使用ADuC7020产生毛刺原因?怎么解决?

    。 我尝试解决问题,首先测芯片供电AVDD,LVDD,均正常,VREF值是正常的,但是也是有同样的毛刺。然后检查其他原因,通过仿真发现一个端口的的情况: 上图的ADCCON状态和DAC0输出的波形
    发表于 01-12 07:44

    双面无毛刺冲裁如何实现(一种消除毛刺的加工方法)

    冲裁加工时总是会产生毛刺,很难消除掉,因此,经常在加工后进行压毛刺来消除毛刺。鉴于分型面的问题,最近使用去毛刺的方式有增加的趋势.
    的头像 发表于 12-12 14:17 291次阅读
    双面无<b class='flag-5'>毛刺</b>冲裁如何实现(一种消除<b class='flag-5'>毛刺</b>的加工方法)

    AD5764有毛刺是什么原因造成的?

    下图是从AD5764芯片手册中截取的。 下图除了0 - 2.0us 是毛刺,其余部分都是稳定在了-6mV 。 我的问题是:我用示波器测量我的波形的时候,到处都是大约20mV的毛刺。没有像这么稳定的 -6mV 。请问这是什么原因
    发表于 12-12 07:16

    什么是紧固件毛刺呢?紧固件毛刺是怎么样形成的呢?

    美、磨损或挤压而引起的,并且可能对紧固件的性能和使用带来负面影响。因此,正确的去除紧固件毛刺对保障产品质量和安全至关重要。 紧固件毛刺的形成主要有以下几个原因: 1. 制造过程中的不完美:在加工、锻造、冷挤压等制造过程
    的头像 发表于 12-07 14:24 357次阅读

    PCB钻孔毛刺产生原因毛刺的危害

    PCB钻孔毛刺产生原因毛刺的危害 PCB(Printed Circuit Board)是一种非常重要的电子组件,被广泛应用于各种电子设备中。在PCB的生产过程中,钻孔是一个非常关键
    的头像 发表于 12-07 14:24 1747次阅读

    如何最小化毛刺尺寸?如何控制毛刺方向?

    ,以及最小化毛刺尺寸和控制毛刺方向的方法。 一、毛刺的形成原因毛刺是制品表面或边缘的突起物,其形成主要有以下
    的头像 发表于 12-07 14:24 274次阅读

    什么是毛刺毛刺的大小和方向 如何测量毛刺的尺寸?

    什么是毛刺毛刺的大小和方向 如何测量毛刺的尺寸?如何检查已去除的毛刺毛刺是指由于加工工艺或其他原因
    的头像 发表于 12-07 14:24 1801次阅读

    AD5781输出信号有毛刺是什么原因造成的?

    AD8675后,就有很大的毛刺,这是什么原因? 评估板的电路图 未经过运放的波形 经过运放后的DA输出的波形 毛刺信号波形
    发表于 12-07 06:04

    FPGA | 竞争冒险毛刺问题

    的影响; 2、加选通信号,避开毛刺; 3、增加冗余项消除逻辑冒险。 那么 FPGA 产生竞争冒险原因
    发表于 11-02 17:22

    数字电路中的竞争冒险现象

    门电路的两个输入信号同时向相反的逻辑电平跳变的现象叫做 竞争 ,这种竞争可能在电路的输出端产生尖峰脉冲,这种现象称为 竞争冒险
    的头像 发表于 09-25 11:50 1523次阅读
    数字电路中的<b class='flag-5'>竞争</b><b class='flag-5'>冒险</b>现象

    Verilog竞争冒险产生原因与判断方法

    数字电路中,信号传输与状态变换时都会有一定的延时。
    的头像 发表于 06-01 15:19 1932次阅读
    Verilog<b class='flag-5'>竞争</b>与<b class='flag-5'>冒险</b>的<b class='flag-5'>产生</b><b class='flag-5'>原因</b>与判断方法

    简谈FPGA的竞争冒险毛刺问题

    问题。 竞争冒险:在组合电路中,当逻辑门有两个互补输入信号同时向相反状态变化时,输出端可能产生过渡干扰脉冲的现象,称为竞争冒险
    发表于 05-30 17:15