跨时钟域传输总结

本文总结了跨时钟域传输(CDC)的理解,包括同步时序电路中的亚稳态问题、单 bit 和多 bit 传输的策略。讨论了如何避免亚稳态的传播,介绍了电平同步器和脉冲同步器。针对多 bit 传输,提出了 FIFO、握手协议和格雷码的应用。建议先阅读IC_Learner的相关文章作为基础。
摘要由CSDN通过智能技术生成

前言

虽然以前也看过一些关于跨时钟域传输(下称CDC)的文章,但那时由于认识所限,对于不同类型的CDC更像是照本宣科,没有进行深入的思考。现在看的资料多了,再回过头来看这些关于CDC的文章,又有新的收获。因此决定写一篇博客总结一下我目前对于CDC的理解。

强烈推荐大家先看IC_Learner的这篇关于CDC的文章:https://www.cnblogs.com/IClearner/p/6485389.html

讲得非常全面,我的总结会以这篇文章为基础,做一些引申和补充。

同步时序电路中的亚稳态

首先明确一点:组合逻辑中的竞争与冒险会导致电路中出现毛刺,因此我们采用时序逻辑来过滤掉这些毛刺,避免其直接对电路的输出产生影响。只要我们使用了满足时序约束的时序电路,因组合逻辑的竞争与冒险而产生的毛刺是一定不会被传输到下一级的。

然而时序逻辑的使用也带来了这样一个约束:时钟采样时必须满足建立时间和保持时间的要求,否则就会使得采样到的数据进入亚稳态。

参见下图,传统的同步时钟域中的各个时钟要么是同频的,要么是不同频但有固定的相位关系的。对于这种情况,只要保证数据满足建立时间和保持时间的要求,那么就一定不会产生亚稳态。

然而对于异步时钟域,写时钟和读时钟之间没有固定的相位关系,那么如果不采取任何措施,随着工作时间的推移,电路中就一定会出现亚稳态。在读时钟的每个时钟有效沿,产生亚稳态的概率为:(建立时间 &#

  • 9
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值