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

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

3天内不再提示

时序问题常见的跨时钟域亚稳态问题

FPGA之家 来源:CSDN博客 作者:多喝hot水 2021-06-18 15:28 次阅读

今天写一下时序问题常见的跨时钟域的亚稳态问题。

先说明一下亚稳态问题:

D触发器有个明显的特征就是建立时间(setup time)和保持时间(hold time)

如果输入信号在建立时间和保持时间发生变化,则可能产生亚稳态,如果在时钟上升沿也就是D触发器采样期间,输入点评判断为1则输出为1,如果是0则输出为0,另外一种情况就是在时钟上升沿时,D在发生变化,在中间思考跳转很久,但不知道Dinput跳到0还是1(此状态出现概率非常低,但会出现)到下一个时钟还没有思考好是0还是1,没有出现稳定状态,这就是亚稳态。[1]

总结:在FPGA系统中,如果数据传输中不满足触发器的Tsu和Th不满足,或者复位过程中复位信号的释放相对于有效时钟沿的恢复时间(recovery time)不满足,就可能产生亚稳态,此时触发器输出端Q在有效时钟沿之后比较长的一段时间处于不确定的状态,在这段时间里Q端在0和1之间处于振荡状态,而不是等于数据输入端D的值。这段时间称为决断时间(resolution time)。经过resolution time之后Q端将稳定到0或1上,但是稳定到0或者1,是随机的,与输入没有必然的关系。[2]

总结亚稳态问题产生场景:1)跨时钟域的信号传输,由于源信号时钟与目的信号时钟的相移未知,可能导致保持时间和建立时间条件不满足,从而产生亚稳态现象。2)异步信号,最常见的为异步复位信号,由于异步信号不与触发器同步时钟同步,所以可能导致保持时间和建立时间条件不满足,产生亚稳态现象。

(建立时间保持时间条件:数据在建立时间和保持时间保持稳定)

亚稳态导致的后果:

一般情况下亚稳态产生的后果为产生不可预知的数据,或者在前面所述亚稳态第三种情况可能导致系统崩溃。在数据表现方面来说会产生毛刺、突变等现象。影响系统后续的逻辑判断和程序整体运行走向。

一般FPGA的建立时间和保持时间加起来为1ns左右,所以可以根据概率论来计算亚稳态产生的概率,也就是同步时钟周期的倒数。

亚稳态的串扰,也就是D触发器处于震荡状态时会影响后续触发器的状态,一般来说如果震荡状态不超过同步时钟周期,也就不会串扰下一个触发器导致下一个触发器也产生振荡,一般工程上来讲串两至三个触发器基本就可以保证不串扰。(是可能不串扰,不是一定不串扰,串扰的可能性很小)

针对上述的亚稳态问题,常见的解决方法:

1)通过对异步信号边沿提取实现异步信号同步处理,在边沿提取过程中也要防止亚稳态串扰,进行多寄存器缓存减小亚稳态串扰的可能性。

2)通过FIFO实现异步信号同步处理。

3)对于异步时钟通过异步复位同步释放的方法实现亚稳态大可能的消除:

异步复位,同步释放就是对异步复位时钟进行两次或两次以上缓存,尽可能的减少亚稳态信号进入到系统内部。

在进行异步复位同步释放的时候一定能够要进行至少两次缓存,这样才能保证亚稳态串扰的可能性大大降低。

原文标题:【FPGA】几种时序问题的常见解决方法

文章出处:【微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

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

    关注

    10

    文章

    1733

    浏览量

    131446
  • 时序设计
    +关注

    关注

    0

    文章

    21

    浏览量

    43927

原文标题:【FPGA】几种时序问题的常见解决方法

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    一文解析时钟传输

    采样到的信号质量!最常用的同步方法是双级触发器缓存法,俗称延迟打拍法。信号从一个时钟进入另一个时钟之前,将该信号用两级触发器连续缓存两次,可有效降低因为
    的头像 发表于 11-16 11:55 503次阅读
    一文解析<b class='flag-5'>跨</b><b class='flag-5'>时钟</b><b class='flag-5'>域</b>传输

    TPS65950实时时钟时序补偿分析

    电子发烧友网站提供《TPS65950实时时钟时序补偿分析.pdf》资料免费下载
    发表于 10-29 10:01 0次下载
    TPS65950实时<b class='flag-5'>时钟</b><b class='flag-5'>时序</b>补偿分析

    FPGA Verilog HDL有什么奇技巧?

    模块的时序风险:在进行 design partition(设计划分)时,如果前后两个模块时钟不同,采用 register in(寄存器输入)可能会引入
    发表于 09-12 19:10

    FPGA异步信号处理方法

    FPGA(现场可编程门阵列)在处理异步信号时,需要特别关注信号的同步化、稳定性以及潜在的亚稳态问题。由于异步信号可能来自不同的时钟或外部设备,其到达时间和频率可能不受FPGA内部时钟
    的头像 发表于 07-17 11:10 1132次阅读

    电源时序常见故障维修

    电源时序器是一种用于控制多个电源设备按照特定顺序开启或关闭的设备,广泛应用于音响、灯光、视频等设备的控制中。然而,在使用过程中,电源时序器可能会出现各种故障。本文将介绍电源时序器的常见
    的头像 发表于 07-08 14:14 2659次阅读

    数字电路中的亚稳态是什么

    在数字电路的设计与实现中,亚稳态是一个不可忽视的现象。它可能由多种因素引发,对电路的稳定性和可靠性产生严重影响。本文将深入探讨数字电路中亚稳态的概念、产生原因、影响以及应对策略,以期为读者提供全面而深入的理解。
    的头像 发表于 05-21 15:29 1232次阅读

    Xilinx FPGA编程技巧之常用时序约束详解

    虚假路径,工具在进行时序分析的时候将会跳过对这组路径的时序分析。这种路径最常见于不同时钟的寄存器数据传输,如下图: 其约
    发表于 05-06 15:51

    Xilinx FPGA编程技巧之常用时序约束详解

    SRC_GRP到DST_GRP之间的路径不会影响时序性能,那么可以将这一组路径约束为虚假路径,工具在进行时序分析的时候将会跳过对这组路径的时序分析。这种路径最常见于不同
    发表于 04-12 17:39

    介绍一个IC设计错误案例:可读debug寄存器错误时钟

    本文将介绍一个时钟错误的案例如图所示,phy_status作为一个多bit的phy_clk时钟的信号,需要输入csr模块作为一个可读状态寄存器
    的头像 发表于 03-11 15:56 505次阅读
    介绍一个IC设计错误案例:可读debug寄存器错误<b class='flag-5'>跨</b><b class='flag-5'>时钟</b>

    为什么格雷码可以辅助解决多bit时钟的问题​?求解

    单bit通过两级同步打拍可以有效的解决亚稳态问题。
    的头像 发表于 03-08 09:02 1336次阅读
    为什么格雷码可以辅助解决多bit<b class='flag-5'>跨</b><b class='flag-5'>时钟</b><b class='flag-5'>域</b>的问题​?求解

    时序电路的分类 时序电路的基本单元电路有哪些

    时序电路是一种能够按照特定的顺序进行操作的电路。它以时钟信号为基准,根据输入信号的状态和过去的状态来确定输出信号的状态。时序电路广泛应用于计算机、通信系统、数字信号处理等领域。根据不同的分类标准
    的头像 发表于 02-06 11:25 2535次阅读

    两级触发器同步,就能消除亚稳态吗?

    两级触发器同步,就能消除亚稳态吗? 两级触发器同步可以帮助消除亚稳态。本文将详细解释两级触发器同步原理、亚稳态的定义和产生原因、以及两级触发器同步如何消除亚稳态的机制。 1. 两级触发
    的头像 发表于 01-16 16:29 1196次阅读

    复位信号存在亚稳态,有危险吗?

    复位信号存在亚稳态,有危险吗? 复位信号在电子设备中起着重要的作用,它用于使设备回到初始状态,以确保设备的正常运行。然而,我们有时会发现复位信号存在亚稳态,这意味着信号在一定时间内未能完全复位,并
    的头像 发表于 01-16 16:25 484次阅读

    时钟的解决方案

    在很久之前便陆续谈过亚稳态,FIFO,复位的设计。本次亦安做一个简单的总结,从宏观上给大家展示时钟的解决方案。
    的头像 发表于 01-08 09:42 903次阅读
    <b class='flag-5'>跨</b><b class='flag-5'>时钟</b><b class='flag-5'>域</b>的解决方案

    如何处理时钟这些基础问题

    对于数字设计人员来讲,只要信号从一个时钟跨越到另一个时钟,那么就可能发生亚稳态。我们称为“
    发表于 01-08 09:39 633次阅读
    如何处理<b class='flag-5'>跨</b><b class='flag-5'>时钟</b><b class='flag-5'>域</b>这些基础问题