首页 > 其他分享 >为什么打两拍可以消除亚稳态的影响?

为什么打两拍可以消除亚稳态的影响?

时间:2023-06-18 20:46:53浏览次数:32  
标签:为什么 触发器 rx 时间 亚稳态 信号 消除 时钟

触发器的建立时间和保持时间 

  时序电路的基础是触发器(FF、Flip-Flop),触发器正常工作需要满足建立时间和保持时间的时序要求

建立时间(Tsu:set up time)  

  是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被稳定的打入触发器,Tsu就是指这个最小的稳定时间

保持时间(Th:hold time)  

  是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,如果保持时间不够,数据同样不能被稳定的打入触发器,Th就是指这个最小的保持时间

亚稳态

亚稳态 (Metastability)

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

  亚稳态振荡时间 Tmet 关系到后级寄存器的采集稳定问题,Tmet 影响因素包括:器件 的生产工艺、温度、环境以及寄存器采集到亚稳态里稳定态的时刻等。甚至某些特定条 件,如干扰、辐射等都会造成 Tmet 增长。

  只要系统中有异步元件,亚稳态就是无法避免的,亚稳态主要发生在异步信号检测、跨时钟域信号传输以及复位电路等常用设计中。由于产生亚稳态后,寄存器Q端输出在稳定下来之前可能是毛刺、振荡、固定的某一电压值。在信号传输中产生亚稳态就会导致与其相连其他数字部件将其作出不同的判断,有的判断到“1”有的判断到“0”,有的也进入了亚稳态,数字部件就会逻辑混乱。

如何防止亚稳态

  首先,在同步系统中,输入信号总是系统时钟同步,能够达到寄存器的时序要求,所以亚稳态肯定不会发生。在异步系统的信号输出过程中,如果无法满足建立时间和保持时间的要求则会发生亚稳态。

  预防亚稳态的方法就是将输入信号(单bit信号)打拍,也就是在要使用的时钟域下,将信号寄存。

  rx是相对于时钟域sys_clk的异步信号,rx_reg1、rx_reg2分别是rx在时钟域sys_clk打一拍(寄存一次、可以理解为延迟一个时钟周期 )、打两拍(寄存一两次、可以理解为延迟两个时钟周期)的信号。可以看到rx_reg1可能还存在低概率的亚稳态现象,当然rx_reg2虽然在示意图里是稳定的,不过实际过程中也仍然存在亚稳态发生的概率。

  单比特信号从慢速时钟域同步到快速时钟域需要使用打两拍的方式消除亚稳态。 第一级寄存器产生亚稳态并经过自身后可以稳定输出的概率为 70%~80%左右,第二级寄存 器可以稳定输出的概率为 99%左右,后面再多加寄存器的级数改善效果就不明显了,所以 数据进来后一般选择打两拍即可。这里注意,该方法仅仅适用单比特信号从慢速时钟域同步到快速时钟域,单比特信号从快速时钟域同步到慢速时钟域还仅仅使用打两拍的方式则会漏采数据。

  参考:https://blog.csdn.net/weixin_42279450/article/details/124199039

     https://wuzhikai.blog.csdn.net/article/details/119619162

标签:为什么,触发器,rx,时间,亚稳态,信号,消除,时钟
From: https://www.cnblogs.com/superego-zhang/p/17489708.html

相关文章

  • 美团一面:OOM后,JVM一定会退出吗?为什么?
    文章且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完成职业升级,薪酬猛......
  • 为什么jdk1.7的HashMap会产生死循环?
    前言JDK1.7中的HashMap在多线程情况下扩容可能会导致死循环。本文就这个问题进行讲解。扩容死循环这里回顾一下HashMap1.7扩容的过程,在扩容过程中,单链表的表现,相关的代码如下:Jdk1.7:voidresize(intnewCapacity){Entry[]oldTable=table;intoldCapacity=......
  • 为什么水分仪等测量仪器的表显总是跳个不停?而且跳动毫无规律可寻, 为什么不能输出一个
    为什么水分仪的表显值都是跳动不规律的跳动值,而不是稳定值的输出?尤其像带有杂质的物料的水分测量,测量值的跳动更是非常夸张,要回答这个问题,则需要从源头起。目前常用的水分测量设备分为接触式和非接触式的,在线与非在线的;从应用上来说,最常用的分类方式就是这两种。从测......
  • 谷歌浏览器打开时为什么页面是360,如何恢复
     001、 002、 003、 004、再次打开浏览器 ......
  • 为什么要推进人才工作数字化转型?
    推进人才工作数字化转型的原因主要有以下几点:一、提高工作效率通过数字化手段,可以将繁琐、重复的工作自动化,从而减轻人力资源工作者的工作负担,提高工作效率。例如,利用人才信息系统,可以实现简历筛选、面试安排等流程的自动化处理,大幅度节约时间和精力。二、优化管理模式数字化转型可......
  • 为什么连接集成在企业的数智平台里是“刚需”?
    某省烟草公司原有900多个财务人员从事核算工作,在其财务软件与17家银行进行在线集成后,银行单证回单与财务系统中的单据实现了自动生成、自动对账、自动关联、自动归档等,投产当年即减少了180个财务人员,剩下的财务核算工作量比重也从原来的70%降低至20%,从重复性事务工作中解脱出来的财......
  • 为什么HTTP代理无法访问目标网站
    很多人发现,使用了HTTP代理后,无法访问目标网站,这是为什么呢?我们一起来分析下。1、使用方法不对:代理IP授权可能不对,有可能协议不对,还有可以配置不对,如果代理IP连接不上,自然不能访问目标网站。2、代理IP被限制:大多数网站都有防护规则,比如短时间内访问太多次,很有可能受到限......
  • 中视频为什么要做好的账号定位?
    为什么要正确定位中视频账号呢?主要有以下3个理由:一是通过账号定位可以找到适合的运营方向,确定自身的运营目标;二是良好的账号定位可以为未来的内容策划提供指导;三是进行账号定位的过程也是对自己的审视,定位好账号后,运营者的优势将得以凸显。(腾讯|课堂搜|索“如何运营视频才能获得......
  • vuex actions 和 mutations 分析,为什么官方建议 actions 里面不要直接修改 state, 为
    来自官方大大:区分actions和mutations并不是为了解决竞态问题,而是为了能用devtools追踪状态变化。事实上在vuex里面actions只是一个架构性的概念,并不是必须的,说到底只是一个函数,你在里面想干嘛都可以,只要最后触发mutation就行。异步竞态怎么处理那是用户自己的事情。vu......
  • 为什么爬虫工程师都不做爬虫了?
    爬虫工程师并不是不做爬虫了,而是在做爬虫的同时,还需要处理数据、分析数据、存储数据等一系列工作。爬虫只是整个数据处理流程中的一个环节,而且爬虫的难度相对较低,所以爬虫工程师需要掌握更多的技能,如数据分析、数据库管理、编程语言等,以便更好地完成整个数据处理流程。因此,爬虫工......