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

    文章

    1685

    浏览量

    131023
  • 时序设计
    +关注

    关注

    0

    文章

    21

    浏览量

    43915

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

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

收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

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

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

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

    时钟的解决方案

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

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

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

    IC设计:ram的应用-异步时钟位宽转换

    在进行模块设计时,我们经常需要进行数据位宽的转换,常见的两种转换场景有同步时钟位宽转换和异步时钟位宽转换。本文将介绍异步
    的头像 发表于 11-23 16:41 663次阅读
    IC设计:ram的应用-异步<b class='flag-5'>时钟</b><b class='flag-5'>域</b>位宽转换

    数字电路中的亚稳态产生原因

    亚稳态是指触发器的输入信号无法在规定时间内达到一个确定的状态,导致输出振荡,最终会在某个不确定的时间产生不确定的输出,可能是0,也可能是1,导致输出结果不可靠。
    的头像 发表于 11-22 18:26 1697次阅读
    数字电路中的<b class='flag-5'>亚稳态</b>产生原因

    FPGA工程师面试刚需

    不依赖于时钟。 缺点: 1)复位信号易受外界干扰,并对电路内的毛刺敏感; 两级触发器防止亚稳态传播原理: 假设第一级触发器的输入不满足其建立保持时间,它在第一个脉冲沿到来后输出的数据就为亚稳态,那么
    发表于 11-03 10:39

    FPGA项目开发之同步信号和亚稳态

    步信号进入到 FPGA 或多个彼此异步的时钟时,我们就需要仔细考虑设计,以确保我们不会违反建立和保持时间并导致亚稳态。当然,无论哪种情况,我们都无法阻止亚稳态事件的发生,但我们可以确
    发表于 11-03 10:36

    怎么解决亚稳态的出现?

    亚稳态
    jf_44903265
    发布于 :2023年10月31日 17:40:44

    请问双口RAM能用来进行时钟传输数据吗?

    请问双口RAM能用来进行时钟传输数据吗? 双口RAM是一种用于在两个时钟之间传输数据的存储器,因此它确实可以用于
    的头像 发表于 10-18 15:24 761次阅读

    为什么异步fifo中读地址同步在写时钟时序分析不通过?

    为什么异步fifo中读地址同步在写时钟时序分析不通过? 异步FIFO中读地址同步在写时钟时序
    的头像 发表于 10-18 15:23 588次阅读

    fpga时钟通信时,慢时钟如何读取快时钟发送过来的数据?

    fpga时钟通信时,慢时钟如何读取快时钟发送过来的数据? 在FPGA设计中,通常需要
    的头像 发表于 10-18 15:23 896次阅读

    如何解决问题

    如何解决问题?首先我们需要知道什么是指的是浏览器不能执行其它网站的脚本,它是由浏览
    的头像 发表于 10-09 16:07 484次阅读
    如何解决<b class='flag-5'>跨</b><b class='flag-5'>域</b>问题