行业资讯
📅 2026/7/15 23:49:29
CDC跨时钟域处理(1)亚稳态和MTBF
一、亚稳态建立时间Setup Time建立时间是指在时钟信号有效边沿到来之前输入数据必须保持稳定的最小时间。这是为了确保数据能够被正确采样和锁存。保持时间Hold Time保持时间是指在时钟信号有效边沿到来之后输入数据必须继续保持稳定的最小时间。这是为了确保触发器能够正确锁存数据。亚稳态Metastability正常情况下触发器输出要么是 0 要么是 1。如果触发器的输入信号不满足建立时间和保持时间就可能出现采样和锁存出问题的情况可能是0可能是1也可能来回震荡晃荡一会回到0或1状态不确定持续时间不确定什么都不确定一切皆有可能这种不确定的状态就被称为亚稳态也就是不稳定态。亚稳态不是 错误值而是 不确定值—— 最终会变成 0 或 1但不确定是哪个而且需要时间。亚稳态的影响1.输出不稳定一段时间内输出信号一切皆有可能。2.数据向后传播产生亚稳态的触发器后面的电路采集到的也是亚稳态数据。3.电路功能错误因为问题2导致整个电路功能故障。如何来量化分析亚稳态呢首先我们要知道亚稳态不可能完全不出现我们能做的就是尽可能的降低它出现的概率。MTBF Mean Time Between Failures平均无故障时间。亚稳态导致系统功能出错的平均间隔时间通俗讲就是平均下来多久出错一次当然是越久越好。单位通常是时间单位可以是s/min/h/day/month/year。越大越好越大说明越可靠出现的概率越低。不是 绝对不会出错而是 平均多久出一次错。t_res — 恢复时间Resolution Time从时钟沿触发第一级触发器到第二级触发器采样之间的时间但是两级触发器都需要保证满足建立时间和保持时间并且对MTBF影响最大呈指数级影响所以是我们优化的关键指标。影响因素时钟周期主要周期越长速率越低恢复时间越多所以频率越高时序越难收敛。两级触发器之间的路径延迟路径越长恢复时间越少所以两级触发器中间的组合逻辑越长时序越不容易收敛。τtau— 亚稳态时间常数触发器亚稳态衰减的时间常数衡量亚稳态恢复得快不快。决定因素工艺、晶体管尺寸、电压、温度所以在代码角度上很难优化。f_clk — 接收端时钟频率收端触发器的时钟频率每秒采样多少次通常在IC检讨时候就会确定工作频率也不是自己可以优化的。对 MTBF 的影响线性反比频率翻倍MTBF 减半。时钟越快每秒采样次数越多遇到亚稳态的机会越多。f_data — 数据翻转频率输入数据每秒翻转多少次尽量减少数据翻转既解省了功率又增加了MTBF。对 MTBF 的影响线性反比翻转越频繁MTBF 越低。极端情况数据不变f_data0/1→ 永远不会有亚稳态。每周期都翻转f_data f_clk/2→ 最坏情况。T₀ — 窗口常数和 setup/hold 窗口大小相关的常数衡量 踩中窗口 的概率基数建立时间和保持时间是触发器的固有属性由触发器的电路结构和工艺决定工艺确定之后也很难通过Designer来优化。决定因素触发器的 setuphold 窗口大小。窗口越大越容易踩中T₀越大MTBF 越低。所以针对亚稳态IC designer主要优化的就是t_res。如何来优化MTBF?一个触发器两级触发器相当于串联三级触发器假设t_res ≈ Tclkτ 100psT_clk 1ns。级数恢复时间e 指数MTBF 相对值1 级1000pse^10 ≈ 220261×2 级2000pse^20 ≈ 4.85 亿~22026×3 级3000pse^30 ≈ 10^13~4.85 亿 ×每多一级MTBF 就乘以一个巨大的倍数指数增长。所以通过打拍可以降低亚稳态出现的概率。