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

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

3天内不再提示

从锁存器角度看亚稳态发生的原因及方案简单分析

冬至子 来源:Bug记录 作者:woodfan 2023-06-20 15:29 次阅读

发生亚稳态的原因是信号在传输的过程中不能满足触发器的建立时间和保持时间。发生亚稳态时,触发器的输出是个中间态,也是x态,不能确定为0或1,而且这个亚稳态还会往后传递至更多的组合逻辑和时序逻辑电路。

所谓建立时间,就是在clk有效边沿到来之前输入信号需要保持稳定的最小时间;所谓保持时间,就是在clk有效边沿到来之后输入信号还需要保持稳定的最小时间。

为了简便分析,将一个触发器的结构简化为下图:

图片

一个触发器等效为两个触发电平不一样的锁存器的信号链;锁存器的特性为:

  • 当clk为有效电平时,锁存器是透传模式,Q随着D的变化而变化;
  • 当clk为无效电平时,锁存器在锁存模式,Q为之前保存的值,D输入值不会对Q有影响。

所以,如上图,当clk为低电平的时候, L1为透明传输模式,输入信号in透传至Q1,但是L2是锁存模式,Q2并不会受到Q1的影响;

而当clk翻转至高电平时,L1将会进入锁存模式,这个过程需要一段时间完成。L2会进入透传模式,而此时L1可能还处于透传模式。那么在clk翻转之前的一段时间到L1完成进入锁存,L2进入透传模式这段时间内,输入信号in都是不可以变化的,否则可能导致Q1传导中间值,进而Q2也传输x态,也就是所谓的亚稳态。

图片

图来自百度百科

再探讨一些异步信号同步的方法原理。对于单bit信号来说,我们都知道一般用两个DFF触发器来做同步,当然这不是一定的,具体几个DFF需要根据两个时钟域的频率做计算。但本文分析以两个DFF触发器为例。

值得一提的是,多个DFF触发器解决异步信号同步的亚稳态方案,并不能完全地消除亚稳态,只是极大地降低了亚稳态发生的概率。有一个MTBF的平均无故障时间公式计算,公式跟芯片工艺的PVT,接收数据时钟频率,接收数据的翻转率有关。如果我们的MTBF时间大于产品的保质期,可以视为没问题(保修期的作用之一)

图片

图来自百度百科

那么,为什么加两个触发器就能降低亚稳态的概率呢?从电路上分析来说,虽然触发器的输出是中间值,但是现实世界中是存在噪声的,那么一定会导致信号会偏向某个固定值0或1。但这个过程是需要一定时间的,所以通过加两级触发器,让这个趋向确定值的过程在触发器传递过程中完成,那么最后触发器的输出就是一个确定值了。

当然,也会发生某些情况下,这个趋向确定值的过程会很漫长,所以说只能降低发生的概率而不能消除。

那么对于多bit信号的同步呢,在我看来,方案是让把多bit信号转换为单bit信号同步(格雷码),或者让多bit信号保持稳定,只要能够保证在接收数据时钟域内,信号一直稳定不变,就不会产生亚稳态。大家可以想想诸如FIFO,D-MUX,握手等方法是不是等待多bit信号稳定后再去采样。

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

    关注

    8

    文章

    745

    浏览量

    41037
  • 触发器
    +关注

    关注

    14

    文章

    1681

    浏览量

    60406
  • FIFO存储
    +关注

    关注

    0

    文章

    102

    浏览量

    5895
  • CLK
    CLK
    +关注

    关注

    0

    文章

    122

    浏览量

    16912
  • dff
    dff
    +关注

    关注

    0

    文章

    26

    浏览量

    3288
收藏 人收藏

    评论

    相关推荐

    利用IDDR简化亚稳态方案

    不同的时钟,其中一个时钟速度是另一个的两倍)。图3 显示IDDR替代的同步链整体而言,亚稳态问题会给设计带来不便,但采用一些快速便捷的解决方案(如以一种新的方式使用IDDR原语)就能大幅降低设计
    发表于 12-29 15:17

    FPGA中亚稳态——让你无处可逃

    1. 应用背景1.1亚稳态发生原因在FPGA系统中,如果数据传输中不满足触发的Tsu和Th不满足,或者复位过程中复位信号的释放相对于有效时钟沿的恢复时间(recovery time)
    发表于 01-11 11:49

    xilinx资料:利用IDDR简化亚稳态

    亚稳态事件,结合实例讲解,语言通俗易懂,由浅入深,特别举了多个实例以及解决方案,非常具有针对性,让人受益匪浅,非常适合对亚稳态方面掌握不好的中国工程师和中国的学生朋友,是关于亚稳态
    发表于 03-05 14:11

    FPGA中亚稳态——让你无处可逃

    本帖最后由 eehome 于 2013-1-5 09:55 编辑 1. 应用背景1.1亚稳态发生原因在FPGA系统中,如果数据传输中不满足触发的Tsu和Th不满足,或者复位过程
    发表于 04-25 15:29

    FPGA触发亚稳态认识

    指标都是有余量的。轻微的违反tSU或者tH并不会发生亚稳态,只是导致触发的tCO超出器件的规范(spec)。只有当数据的跳变出现在亚稳态捕捉窗口W (见图2中的W,fs级别的时间窗口
    发表于 12-04 13:51

    fpga亚稳态实例分析

    要求的,进而出现亚稳态。但是有人认为, “cnt”的值原来是零,“clr_cnt”只是把”cnt”的值清零, 这样来说触发“cnt”的输入根本没有发生过变化,怎么可能有亚稳态事件?
    发表于 12-04 13:55

    亚稳态问题解析

    亚稳态是数字电路设计中最为基础和核心的理论。同步系统设计中的多项技术,如synthesis,CTS,STA等都是为了避免同步系统产生亚稳态。异步系统中,更容易产生亚稳态,因此需要对异步系统进行特殊的设计处理。学习SoC芯片设计,
    发表于 11-01 17:45

    在FPGA复位电路中产生亚稳态原因

    亚稳态概述01 亚稳态发生原因在 FPGA 系统中,如果数据传输中不满足触发的 Tsu 和 Th 不满足,或者复位过程中复位信号的释放相对
    发表于 10-19 10:03

    FPGA--中复位电路产生亚稳态原因

    FPGA 设计需要重视的一个注意事项。理论分析01 信号传输中的亚稳态在同步系统中,输入信号总是系统时钟同步,能够达到寄存的时序要求,所以亚稳态不会
    发表于 10-22 11:42

    关于FPGA设计的同步信号和亚稳态分析

    让我们触发开始,所有触发都有一个围绕活动时钟沿的建立(setup time)和保持窗口(hold time),在此期间数据不得更改。如果该窗口中的数据实际发生了变化,则触发
    发表于 10-18 14:29

    今日说“法”:让FPGA设计中的亚稳态“无处可逃”

    分析一下。 背景 1、亚稳态发生原因 在FPGA系统中,如果数据传输中不满足触发的Tsu和Th不满足,或者复位过程中复位信号的释放相
    发表于 04-27 17:31

    一种消除异步电路亚稳态的逻辑控制方法

    本文分析了异步电路中亚稳态产生的原因和危害, 比较了几种常用的降低亚稳态发生概率的设计方法, 针对这些方法不能彻底消除
    发表于 10-01 01:56 55次下载
    一种消除异步电路<b class='flag-5'>亚稳态</b>的逻辑控制方法

    亚稳态产生原因、危害及消除方法

    亚稳态问题是数字电路中很重要的问题,因为现实世界是一个异步的世界,所以亚稳态是无法避免的,并且亚稳态应该也是面试常考的考点。
    的头像 发表于 09-07 14:28 7593次阅读

    什么是亚稳态?如何克服亚稳态

    亚稳态在电路设计中是常见的属性现象,是指系统处于一种不稳定的状态,虽然不是平衡状态,但可在短时间内保持相对稳定的状态。对工程师来说,亚稳态的存在可以带来独特的性质和应用,如非晶态材料、晶体缺陷
    的头像 发表于 05-18 11:03 2967次阅读

    亚稳态分析与处理

    本文主要介绍了亚稳态分析与处理。
    的头像 发表于 06-21 14:38 2463次阅读
    <b class='flag-5'>亚稳态</b>的<b class='flag-5'>分析</b>与处理