跨时钟域处理

跨时钟域处理(CDC)问题

信号跨时钟域传输时,两个时钟的上升沿相位差没有固定关系,所以采样时钟很容易出现建立保持时间违例而采到亚稳态。

如何解决跨时钟域同步的问题???
这个问题可以分为两种情况,单比特数据CDC处理和多比特数据CDC处理。

  1. 单比特数据CDC处理方法
    (1)慢到快时钟域同步:
    条件:跨时钟信号的宽度 > 采样时钟的两个周期 → 两级同步
    处理:直接使用两级同步即可

条件:跨时钟信号的宽度 < 采样时钟的两个周期 → 先脉冲扩展,再两级同步
处理:先脉冲扩展,把脉冲信号的宽度扩展为 大于 采样时钟的两个周期,再使用两级同步。
(2)快到慢时钟域同步:
这种情况下,跨时钟信号的宽度(最小为快时钟的一个周期)肯定 小于 采样时钟(慢)的两个周期。

跨时钟信号的宽度 < 采样时钟的两个周期 → 先脉冲扩展,再两级同步
先脉冲扩展,把脉冲信号的宽度扩展为 大于 采样时钟的两个周期,再使用两级同步。
③快慢不确定

在SOC中经常会使用软件配置时钟频率导致跨时钟域的快慢不确定
握手处理

A时钟域向B时钟域发送req信号,保持为高
B时钟域对req打两拍采样到1,再返回ack信号
A时钟域对ack打两拍采样到1,拉低req
在这里插入图片描述2. 多比特数据CDC处理方法

(1)多比特信号合并为单比特信号

(2)多比特信号转为格雷码再进行跨时钟域传输

(3)使用单比特握手信号

(4)使用异步FIFO

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值