关于亚稳态和异步FIFO的设计

亚稳态是指触发器输入在建立和保持时间内不稳导致输出无法稳定,常见于异步时钟域通信。亚稳态无法消除,但可以通过限制采样频率、二级同步寄存和使用格雷码计数器降低出现概率和影响。异步FIFO在处理满空信号时需要双时钟同步,预留指针差值以应对指针变化。
摘要由CSDN通过智能技术生成

    所谓的亚稳态是指触发器的输入端在建立时间和保持时间窗口内不能保持稳定,而造成输出端不能稳定的settle到高电平或低电平的情况,并且从进入亚稳态到稳定的settle到某一电平的时间(称为resolution time)也不能确定。这就好比一个在山顶上的球一样,你不知道它会滚向那边,同时你也不知道他什么时候会滚到山的一边。

    那么在什么情况下会引起亚稳态呢?在数字电路设计中,通常亚稳态由异步时钟域之间的通信引起。设想有这样一个电路,由两个触发器串联组成,信号包括D、Q1、Q2,各触发器使用的时钟不同,那么触发器串联的部分就是异步时钟域间的通信。当这两个时钟在某一个时刻同时触发,并且在那个时刻Q1也发生变化时,由于在第二个触发器中,输入Q1不能在critical window中保持稳定,因此输出Q2就有可能进入亚稳态。

    由于在现实应用中异步时钟域之间的传输必然存在,则亚稳态的出现也不可避免。需要明确的是,亚稳态是不可消除的,我们能做的就是使亚稳态出现的概率降低,避免亚稳态的进一步传播,并且在出现亚稳态的时候,系统具有一定的容错机制而不致于使整个电路系统崩溃,这刚好对应于亚稳态带来的两个问题,即resolution time和settle 电平不确定。

    那么具体的如何来对付亚稳态呢?首先,需要限制采样时钟的最大频率。我们知道,亚稳态的出现是一个概率事件(你在山里玩滚球游戏不可能每次都那么好运使球刚好滚到山顶,然后停住几秒再滚向山的另一边),假设其概率是q,,同时采样时钟的频率为f,则在一秒种内发生亚稳态的次数为fq,而发生错误的平均时间为1/fq(称为MTBF)。q的大小与触发器采用的结构有关&

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值