赞
踩
跨时钟域处理(CDC)问题
信号跨时钟域传输时,两个时钟的上升沿相位差没有固定关系,所以采样时钟很容易出现建立保持时间违例而采到亚稳态。
如何解决跨时钟域同步的问题???
这个问题可以分为两种情况,单比特数据CDC处理和多比特数据CDC处理。
条件:跨时钟信号的宽度 < 采样时钟的两个周期 → 先脉冲扩展,再两级同步
处理:先脉冲扩展,把脉冲信号的宽度扩展为 大于 采样时钟的两个周期,再使用两级同步。
(2)快到慢时钟域同步:
这种情况下,跨时钟信号的宽度(最小为快时钟的一个周期)肯定 小于 采样时钟(慢)的两个周期。
跨时钟信号的宽度 < 采样时钟的两个周期 → 先脉冲扩展,再两级同步
先脉冲扩展,把脉冲信号的宽度扩展为 大于 采样时钟的两个周期,再使用两级同步。
③快慢不确定
在SOC中经常会使用软件配置时钟频率导致跨时钟域的快慢不确定
握手处理
A时钟域向B时钟域发送req信号,保持为高
B时钟域对req打两拍采样到1,再返回ack信号
A时钟域对ack打两拍采样到1,拉低req
2. 多比特数据CDC处理方法
(1)多比特信号合并为单比特信号
(2)多比特信号转为格雷码再进行跨时钟域传输
(3)使用单比特握手信号
(4)使用异步FIFO
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。