跳到正文
数字电子技术

跨时钟域:单比特同步不等于总线安全

14 分钟

异步时钟域之间采样可能让触发器进入亚稳态。两级同步器降低单比特控制信号亚稳态传播概率,却不能保证多位总线各位在同一拍一致,也不能消除事件丢失。

亚稳态与MTBF

触发器在采样窗内输入变化,输出可能暂时停在中间。同步级给其更多恢复时间,平均故障间隔随恢复时间指数改善,但不是概率归零。工艺、频率、数据翻转率和布局都影响MTBF。

窄脉冲

源域脉冲若短于目的时钟周期,目的域可能完全看不到。可把事件变成电平握手、翻转编码或计数器,并确保确认前不重复覆盖。

多位数据

每位各用两级同步会产生撕裂字。稳定数据加请求/确认握手、Gray码计数器或异步FIFO才能保证一致快照。Gray码一次只变一位,仍需同步并约束位间偏斜。

异步FIFO

双口存储器在两域访问,读写指针转Gray码跨域,再比较生成空满。空满标志有本地域延迟,设计必须接受保守边界。

验证

CDC工具检查结构,仿真随机化时钟相位与频率;普通RTL仿真不会自然模拟真实亚稳态,不能只靠波形没X。

同步器寄存器应靠近布局并标专用属性。

练习:为8位数据跨域设计请求确认协议,写出源端数据保持与目的端采样条件。

小纸条

为什么多位总线不能把每一位分别接两级同步器?