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

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

3天内不再提示

如何理解FPGA设计中的打拍(寄存)和亚稳态

C29F_xilinx_inc 来源:赛灵思 作者:赛灵思 2022-02-26 18:43 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1、前言

可能很多FPGA初学者在刚开始学习FPGA设计的时候(当然也包括我自己),经常听到类似于”这个信号需要打一拍、打两拍(寄存),以防止亚稳态问题的产生“这种话,但是对这个打拍和亚稳态问题还是一知半解,接下来结合一些资料谈下自己的理解。

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

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

如何理解FPGA设计中的打拍(寄存)和亚稳态

建立时间(Tsu:set up time)

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

保持时间(Th:hold time)

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

3、亚稳态

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

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

如何理解FPGA设计中的打拍(寄存)和亚稳态

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

4、如何防止亚稳态

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

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

如何理解FPGA设计中的打拍(寄存)和亚稳态

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

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

审核编辑:汤梓红

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

    关注

    1665

    文章

    22587

    浏览量

    641306
  • 触发器
    +关注

    关注

    14

    文章

    2065

    浏览量

    63650
  • 亚稳态
    +关注

    关注

    0

    文章

    47

    浏览量

    13768
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于XILINXPWR - 083的DC/DC转换器电源管理解决方案

    基于XILINXPWR - 083的DC/DC转换器电源管理解决方案 引言 在电子设计领域,电源管理解决方案对于FPGA等设备的稳定运行至关重要。今天要介绍的是基于XILINXPWR - 083
    的头像 发表于 04-26 13:15 301次阅读

    XILINXPWR - 082 EVM电源管理解决方案深度解析

    XILINXPWR - 082 EVM电源管理解决方案深度解析 在电子设计领域,电源管理解决方案对于FPGA等关键器件的稳定运行至关重要。今天,我们来深入探讨XILINXPWR - 082 EVM
    的头像 发表于 04-26 13:15 345次阅读

    基于TPS64203开关DC/DC控制器的Spartan™-3电源管理解决方案

    基于TPS64203开关DC/DC控制器的Spartan™-3电源管理解决方案 引言 在电子设计,为FPGA提供稳定、高效的电源是至关重要的。本文将详细介绍基于TPS64203开关DC/DC控制器
    的头像 发表于 04-26 13:05 222次阅读

    MC14528B双单稳态多谐振荡器:电子设计的实用选择

    MC14528B双单稳态多谐振荡器:电子设计的实用选择 在电子设计领域,单稳态多谐振荡器是一种常用的电路元件,能够产生固定时长的脉冲信号。今天我们要深入了解的是ON Semiconductor
    的头像 发表于 01-22 16:50 633次阅读

    LAT1170+如何理解 RAMECC FAR 寄存器的值

    电子发烧友网站提供《LAT1170+如何理解 RAMECC FAR 寄存器的值.pdf》资料免费下载
    发表于 01-09 16:12 0次下载

    深入解析CD4047B:CMOS低功耗单稳态/无稳态多谐振荡器

    深入解析CD4047B:CMOS低功耗单稳态/无稳态多谐振荡器 在电子设计领域,多谐振荡器是一种常用的电路元件,可用于产生各种脉冲信号。今天,我们将详细探讨德州仪器(Texas
    的头像 发表于 12-29 16:55 877次阅读

    CD4047B:CMOS低功耗单稳态/无稳态多谐振荡器的设计与应用

    CD4047B:CMOS低功耗单稳态/无稳态多谐振荡器的设计与应用 在电子设计领域,多谐振荡器是一种常见且重要的电路元件,它能产生方波信号,广泛应用于各种数字设备。今天,我们要深入探讨的是德州仪器
    的头像 发表于 12-28 16:20 1423次阅读

    CD4047B:低功耗单稳态/无稳态多谐振荡器的设计与应用

    CD4047B:低功耗单稳态/无稳态多谐振荡器的设计与应用 在电子设计领域,多谐振荡器是一种常见且重要的电路元件,它能产生方波信号,广泛应用于各种数字设备。今天我们要深入探讨的是德州仪器
    的头像 发表于 12-11 10:40 1258次阅读
    CD4047B:低功耗单<b class='flag-5'>稳态</b>/无<b class='flag-5'>稳态</b>多谐振荡器的设计与应用

    一文读懂稳态太阳光模拟器

    在光伏产业、材料科学、航空航天等领域,模拟自然太阳光的光照环境是开展测试的核心需求。稳态太阳光模拟器作为实现这一需求的关键设备,凭借其能持续稳定输出符合太阳光谱特性光照的能力,成为科研与生产
    的头像 发表于 11-05 18:03 2013次阅读
    一文读懂<b class='flag-5'>稳态</b>太阳光模拟器

    如何利用Verilog HDL在FPGA上实现SRAM的读写测试

    、建立读写操作、配置地址计数器、模拟数据流、综合与仿真以及下载到FPGA进行硬件测试。通过实践,掌握SRAM在FPGA的使用和基本读写方法,加深对FPGA工作原理的
    的头像 发表于 10-22 17:21 4659次阅读
    如何利用Verilog HDL在<b class='flag-5'>FPGA</b>上实现SRAM的读写测试

    FPGA数据延迟方案介绍

    本质上就是对数据进行多级寄存器缓存,延迟时间以clk的一个周期为单位,消耗的就是寄存器。比较适合延迟固定周期以及延迟周期比较短的情况。
    的头像 发表于 10-15 10:23 1000次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>中</b>数据延迟方案介绍

    聊聊FPGA的TDC原理

    今天我们不谈高大上的物理学,只聊聊如何在 FPGA ,用一串加法器和 D 触发器,“数清楚时间”——这就是时间数字转换器(TDC)的魅力。
    的头像 发表于 09-02 15:15 2801次阅读
    聊聊<b class='flag-5'>FPGA</b><b class='flag-5'>中</b>的TDC原理

    UPS电源—确保UPS电源稳态测试靠谱的妙招

    在UPS电源稳态测试,确保测试的准确性和可靠性是至关重要的。汇智天源工程师给大家分享一些关键措施,旨在提高测试过程的精确度和可信度。
    的头像 发表于 08-28 18:19 965次阅读
    UPS电源—确保UPS电源<b class='flag-5'>稳态</b>测试靠谱的妙招

    AI狂飙, FPGA会掉队吗? ()

    在上篇,我们介绍了FPGA的前面两个特点:硬件可编程、并行与实时,也列举了这两个特点带来的诸多机会。在本文中,我们将继续介绍另外两个特点,以集齐FPGA的四大特点和生存机会。FPGA
    的头像 发表于 08-08 09:36 1290次阅读
    AI狂飙, <b class='flag-5'>FPGA</b>会掉队吗? (<b class='flag-5'>中</b>)

    FPGA调试方式之VIO/ILA的使用

    在Vivado,VIO(Virtual Input/Output)是一种用于调试和测试FPGA设计的IP核,它允许设计者通过JTAG接口实时读取和写入FPGA内部的寄存器,从而检查设
    的头像 发表于 06-09 09:32 4591次阅读
    <b class='flag-5'>FPGA</b>调试方式之VIO/ILA的使用