跨时钟域梳理

文章探讨了在数字系统中跨时钟域数据传输的各种方法,包括电平同步、脉冲同步、握手协议的应用,以及如何使用异步FIFO、DMUX和双口RAM来确保数据的正确同步。还提到了在信号合流和分岔时的处理策略,以避免毛刺和不确定性问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关注、星标公众号,精彩内容每日送达
来源:网络素材

随着实习面试的临近、秋招的逐步靠近,愈发觉得知识需要成系统,让它们串接起来。不然,太容易忘了

1、单比特信号

1.1电平同步

当我们需要在两个时钟域间传输一个电平信号,这里的电平信号表示信号能够维持一定的时间(如在原时钟域内至少维持两个周期),可以采用两个触发器打拍。

类似下面这种,持续一定时间,能在亚稳态稳定后采样到稳定的值,即第一个周期可能同步失败,但第二个周期有机会采样稳定的值,不发生亚稳态

e251cec0b3b26ceca87fc0d28bc6e2a5.png

1.2、脉冲同步

当信号在发送端时钟域内只能持续一个周期时,可以称为脉冲信号。要注意的是,发送的是脉冲,收到的也应该是脉冲。

为了让脉冲能够被接收端采样,可以将脉冲信号在发送时钟域内变成电平信号。即采样到in_pulse为1,则翻转Q,将脉冲变成边沿。

只要脉冲有足够的间隔,就能保证接收端能够边沿检测,从而输出一个接收时钟周期的脉冲

ecd1a02cf6537849b27b8af4b13397ac.png

1.3 握手

很显然,上面两种方式不存在接收方对发送方的反馈。

也可以使用握手协议,确保一笔一笔的完成传输,只有完成一笔传输,才会改变数据。

见:握手信号传输跨时钟域数据

4164cd4885645790509f55c8dc1e4864.png

1.4 展宽

当信号宽度不够,可以使用展宽的方法,如在发送域打拍,然后取或

20b33deba144f4ad7219093dc198bb9d.png

2、多bit

2.1 异步FIFO

使用异步FIFO传输数据--格雷码计数器实现

使用异步FIFO传输数据--对以前的强烈批判

2.2 DMUX

DMUX数据有效会搭配一个标志信号data_ready,对标志信号进行同步,将同步后的标志信号作为MUX的选通信号。

在发送时钟域内,标志信号和数据是同步的,在同步器内,标志信号同步有延迟。这样即使数据和标志信号在接收时钟上升沿附近变化,data_ready可能发生亚稳态,亚稳态结束后,同步后的标志信号可以正常工作。而数据在这些延迟内,能够达到稳定,即接收方采样的data是不变的,当然不会违反建立保持时间

这要求当data_ready=1时,data要保持

1d34070bb365c8131c7a3557c0066b22.png

换种方式,我们可以将标志信号作为于触发器使能端。道理是类似的,en=0,并不会使能触发器的采样

3ee21e7c61fb2734e8adc2c7252e616a.png

2.3 握手

和单bit类似,协议让数据维持足够的时间

502e9875b5c6c58667865b2c772205e4.png

2.4 双口RAM

双口RAM可以同时读写

60c2046fc7fb709667f999b339293d8b.png

增加读写控制逻辑,很像异步FIFO,不多说

7cf876b8d056f53177bf747fa9f6b372.png

3、convergence

当出现信号的合流时,如下图所示,dataa和datab将经过组合逻辑变成1bit。由于组合逻辑的延迟不同,可能出现毛刺,可能传输到错误的信号,

5da922bf73c3bff5051582b190a24990.png

解决办法就是发送方再打拍

224cd5ba641611dbd4cad6237104db0f.png

还要注意的是,两级同步后,也应该避免多比特使用组合逻辑,原因在于亚稳态恢复的数据不确定

f2d98642c212d454404c278e7afb13ac.png

4、divergence

当信号要作用于接收方的不同逻辑时,即有多个扇出,由于传播延时和不同的亚稳态解决时间meta-stable settling time,输出也可能不同。

因此只能先同步然后使用,避免分别同步使用

5923fb3e35024df5f61c25cf80b92a04.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值