为什么使用双触发器同步器可以防止亚稳态传播

科技   2024-12-20 23:08   美国  

跨时钟域(CDC)的主要问题是,当目标时钟域采样时,跨时钟域信号可能出现的setup和hold violation然后出现亚稳态,其中亚稳态可以在整个设计中传播,导致数据丢失,甚至芯片故障。

亚稳态是无法预防的,但可以使用同步器来避免亚稳态的传播;因此,防止系统故障。


双触发器同步器如何防止亚稳态传播?

如上图所示,当第一个触发器(FF)数据输入违反setup或hold时间要求时,输出A/B将变为亚稳态。然而,在不可预测的延迟(Tco)后,FF输出将稳定在某个逻辑0/1。


然后这个输出进入第二个FF,防止亚稳态在整个设计中传播。由于亚稳态将在Tco后稳定到稳定状态,当在时钟的下一个上升沿被第二个触发器采样时,Q1输出可能已经稳定,也就是第二个触发器没有setup或hold violation。因此,FF2可以成功存储Q1/D1的稳定数据,没有亚稳态。换句话说,FF2的输出可以由下一个逻辑块安全使用,而不会传播亚稳态。

目标时钟的时钟周期越高,亚稳态传播到下一个逻辑块的概率就越小,因为这为亚稳态在被第二个FF采样之前稳定下来提供了更多时间。

双触发器同步器是CDC设计中最常用的同步器。尽管如此,如下图所示,在同步链中添加额外的FF将进一步提高防止亚稳定性传播的概率。


三触发器同步器
由平均故障间隔时间(MTBF)参数对亚稳态导致的设计失败概率进行建模。

数字芯片实验室
前瞻性的眼光,和持之以恒的学习。
 最新文章