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
    +关注

    关注

    1635

    文章

    21837

    浏览量

    608321
  • 触发器
    +关注

    关注

    14

    文章

    2024

    浏览量

    61489
  • 亚稳态
    +关注

    关注

    0

    文章

    47

    浏览量

    13371
收藏 人收藏

    评论

    相关推荐

    在APP FPGA 通过IIC接口对DLPC910寄存器进行配置遇到的两个问题求解

    在APP FPGA 通过IIC接口对DLPC910寄存器进行配置,有两个问题想要请教: 1、DLPC910被封装成了FPGA,通过IIC改变它的
    发表于 02-25 06:47

    CMOS逻辑IC使用时如何应对电路的危害、亚稳态、锁存以及ESD—东芝半导体带你深入电子设计

    提要 本期课堂,我们将继续深入CMOS逻辑IC的使用注意事项,介绍如何应对电路的危害、亚稳态、锁存以及ESD防护等问题。 Q 危害的问题 如果是由OR(或)、AND(与)和其它门组成的多输入组合
    的头像 发表于 02-07 17:43 766次阅读
    CMOS逻辑IC使用时如何应对电路<b class='flag-5'>中</b>的危害、<b class='flag-5'>亚稳态</b>、锁存以及ESD—东芝半导体带你深入电子设计

    PCM5142如何在FPGA通过SPI配置寄存器?

    工作正常)。左右通道均没有输出;(xsmt/mode1已拉高) 2、如何在FPGA通过SPI配置寄存器,文档只有page0 R1,并没有具体寄存
    发表于 10-31 07:29

    FPGA Verilog HDL代码如何debug?

    优点在于: 速度快,能够快速得出比较结果。 如果您的系统对时序要求较为严格,对亚稳态比较敏感,或者后续的逻辑处理需要严格按照时钟节拍进行,那么使用 4 级比较器搭配寄存器的方法可能更合适。 但如果您更
    发表于 09-24 19:16

    FPGA Verilog HDL有什么奇技巧?

    reg 变量,因为 initial 块是不可综合的,只能在仿真环境中使用,用于初始化寄存器、内存或执行仿真期间的其他任务。 但在 FPGA 设计,可以使用默认赋值或者使用有条件的赋值语句来为 reg
    发表于 09-12 19:10

    稳态触发器稳态是什么状态的

    稳态触发器,也称为单稳态多谐振荡器或单稳态脉冲发生器,是一种常用的数字电子元件。关于其稳态状态,存在不同的表述方式,但核心意义是一致的。以下是单
    的头像 发表于 08-22 10:09 717次阅读

    稳态触发器是什么耦合双稳态电路

    稳态触发器是一种具有两个稳定状态的数字逻辑电路,它可以在两个状态之间切换,并且能够在没有外部输入信号的情况下保持当前状态。双稳态触发器广泛应用于数字电子系统,如存储器、计数器、寄存
    的头像 发表于 08-11 10:15 1009次阅读

    稳态触发器的类型有哪些

    状态的逻辑电路。在没有外部输入信号的情况下,双稳态触发器可以保持在两个稳定状态之一,并且只有在接收到外部触发信号时才会从一个状态切换到另一个状态。这种特性使得双稳态触发器在数字电路设计具有广泛的应用,如存储器、计数器、
    的头像 发表于 08-11 09:59 1147次阅读

    如何降低输入引起的稳态误差

    引言 稳态误差是指在给定输入信号作用下,系统输出与期望输出之间的差异。在控制系统稳态误差的存在会影响系统的性能和稳定性。因此,降低输入引起的稳态误差对于提高控制系统的性能至关重要。
    的头像 发表于 07-29 10:50 670次阅读

    减小系统稳态误差的方法有哪些?

    引言 在控制系统稳态误差是指系统在稳态条件下,输出与期望值之间的偏差。减小稳态误差对于提高系统的控制精度和性能至关重要。 系统稳态误差的
    的头像 发表于 07-29 10:35 2807次阅读

    FPGA异步信号处理方法

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

    忆阻器诱导的超混沌、多涡旋和极端多稳态小数阶HNN:镜像加密和FPGA实现

    电子发烧友网站提供《忆阻器诱导的超混沌、多涡旋和极端多稳态小数阶HNN:镜像加密和FPGA实现.pdf》资料免费下载
    发表于 06-03 14:46 0次下载

    CPU寄存器的用途

    在计算机体系结构,中央处理单元(CPU)无疑是整个系统的核心。CPU负责执行指令、处理数据、控制计算机系统的运行等关键任务。而在这个过程寄存器扮演着至关重要的角色。本文将详细探讨CPU
    的头像 发表于 05-30 17:09 1841次阅读

    数字电路亚稳态是什么

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

    深入理解 FPGA 的基础结构

    转载地址:https://zhuanlan.zhihu.com/p/506828648 文章很详细的介绍了FPGA的基础结构,能更直观的理解内部结构原理。对深入学习很有帮助。 以下是正文: 这一段
    发表于 04-03 17:39