FPGA静态时序分析与约束(一)、理解亚稳态

本文详细介绍了FPGA中亚稳态现象的原理、影响因素、计算MTBF的方法以及降低亚稳态发生概率的策略,包括同步寄存器链和DCFIFO的应用。设计者可通过QuartusII工具分析亚稳态MTBF并优化设计以提高系统可靠性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系列文章目录

FPGA静态时序分析与约束(二)、时序分析
FPGA静态时序分析与约束(三)、读懂vivado时序报告
FPGA静态时序分析与约束(四)、时序约束



前言

参考资料:Altera公司的官方发布的白皮书《Understanding Metastability in FPGAs》(提取码6Ese)

一、概述

  亚稳定性(Metastability)是数字电路(含 FPGA)中导致系统失效的一种现象,当信号在非相关时钟域或异步时钟域之间传输时发生。本文叙述 FPGA 中的亚稳定性,讨论了它如何发生,如何导致系统失效。

  数字电路的设计者通过对两次失效之间间隔的平均值(MTBF)进行计算,得到亚稳定性的定量描述,从而指示设计者采取适当的方法以减少发生失效的可能性(几率)。本文讲解了如何根据不同的器件和设计参数计算 MTBF,解释了 FPGA 厂商和 FPGA 设计者两方面是如何改善 MTBF 的。设计者运用相关的设计技术和优化方案,减少亚稳定失效的几率,使得系统的可靠性得以提高。


个人理解:亚稳态现象是在跨时钟域信号传输时不可避免的,作为设计者我们无法彻底消除亚稳态现象,只能尽可能地减少发生的概率。

一、何为亚稳态?

  数字电路(例如 FPGA)中所有的寄存器都具有所设定的时序要求。根据该要求,每一个寄存器都可以正确地捕获它输入端口的数据,并激励输出信号至它的输出端口。为了保证这种操作的可靠,寄存器的输入信号必须在时钟沿之前的最小时间段保持稳定(寄存器建立时间 t s u t_{su} tsu),以及在时钟沿之后的最小时间段保持稳定(寄存器保持时间 t h t_h th)。然后在特定的时钟输出延迟 t c o t_{co} tco之后,寄存器产生有效的输出。如果某个信号的传输违背了上述建立时间 t s u t_{su} tsu和保持时间 t h t_h th的要求,该寄存器就有可能进入亚稳态。发生亚稳态时(某些时钟周期),寄存器的输出值会漂浮在高电平(高状态)和低电平(低状态)之间,这也就意味着指定的输出高状态和输出低状态会在 t c o t_{co} tco之后再度被延迟。


个人理解:寄存器的建立时间或保持时间不能得到满足时,寄存器有可能会进入亚稳态。亚稳态是一种电压的中间态,假设寄存器的输出电压大于2V输出高电平1,小于0.3V输出低电平0,那么电压处于0.3V到 2V 之间并且能够短时间稳定的状态就是亚稳态。这时候寄存器输出的数据延迟将大于tco

  在同步电路系统中,输入信号总是满足寄存器的时序要求(设计必须),所以亚稳态不会发生。通常,若在无关时钟域电路或异步时钟域电路之间发生信号传输,亚稳态问题将会发生。此时,设计者不能保证这些信号能符合 tsu 和 th,这是因为这些信号可能在相对于目标域时钟的任何时刻到达。而这些信号中的任何一个若发生 t s u t_{su} tsu t h t_h th时序违规,将导致一次亚稳态输出。寄存器或者不符合时序要求进入亚稳态,或者符合时序要求回到稳态,这两种可能性兼而有之,而它们很大程度上取决于 FPGA 器件的制造工艺技术,以及运行时的条件。大多数情况下,寄存器将快速地返回到指定的稳定状态。


个人理解:根据FPGA制造工艺,寄存器进入亚稳态时会快速返回到稳定状态0或者1,随着制作工艺地提升,亚稳态回到稳态的时间越来越快

二、图解亚稳态

  寄存器在时钟沿对数据信号进行采样的过程看作是一个球落到山顶上,如图所示。
在这里插入图片描述
  山的两侧代表稳定状态:信号传输后信号的旧数据值和新数据值。山顶代表亚稳态
图中球停留在山顶正中的情况在真实电路中实际不会发生,球总会在山顶微微地偏向一边,继而滚落到山底,快速地到滑落至山丘底部的那侧的稳定状态,球离山顶越远,它在底部达到稳定状态的速度就越快。


个人理解:寄存器在进入亚稳态一段时间后会回复到正常的状态,但是有可能回到高电平1也有可能回到低电平0

  1. 如果数据变化发生在时钟沿右侧的 t h t_h t
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱奔跑的虎子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值