两级同步的副作用

文章讨论了在数字电路中,单bit和多bit信号进行跨时钟域传输时遇到的问题,如亚稳态可能导致的功能错误和一致性问题。两级同步虽然能隔离亚稳态,但不能消除不确定性,且多bit传输可能引起信号错拍。此外,信号的脉冲宽度对正确采样也至关重要,可能需要脉冲扩展电路或握手协议来确保数据完整性。

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

关注、星标公众,精彩内容每日送达

来源:网络素材

科研着实苦闷,像是拳头打在棉花上,也许是我不入流吧

看的东西多了,发现有些并未领会到位。单bit信号的跨时钟域传输,可以使用两级同步,但后果呢?

重复一下亚稳态,违反触发器的时序特性,可能导致触发器的输出进入亚稳态,亚稳态不在0和1的电压范围内。数字电路的功能体现在0和1上,亚稳态可能导致功能错误

ee2965a7fa0aebf0290c0ed2bef88ac6.png

亚稳态可能继续传播,即保持亚稳态,也可能经过一定时间稳定到0和1。换句话说,亚稳态稳定后,信号可能保持不变,也可以翻转(相比上一个周期)

采用两级同步后,亚稳态不能被消除,增加的一级触发器隔离了亚稳态。下图中,尽管F2发生亚稳态,倘若其亚稳态能在一个周期内恢复,C的输出不会传播亚稳态。

87d63fdda0f39d25fde8fa0c528d4a4f.png

但由于亚稳态稳定结果是不确定的,两级同步会让触发器的结果在一个周期内uncertainty

对于多bit信号,如果逐一使用两级同步,会带来一致性问题。如下图所示,x2,y2在clkb的上升沿附近翻转,导致x3和y3产生亚稳态,下一个周期,由于亚稳态稳定后的结果不确定,X4能够采样到1,而Y4采样到0,导致信号在传输过程中错拍。在下一个周期,由于信号不在时钟沿翻转,Y4能够采样到1.

a51b1f7de9c277adc7083419a53266cb.png

很明显,xy从00变化到11,接收端能够采样到00-10-11

最后,信号的脉冲宽度也有要求。当快时钟域到慢时钟域,会存在漏采的问题。原本想要采样1,却只能收到0

59bba46bbd38a01b079014cec8ace971.png

一个简单的脉冲扩展电路如下,当然也可以使用握手协议。原时钟域打拍,取或,再寄存一拍(组合电路计算可能有毛刺)

b7ec11509eb41dbde4356875f25121e4.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值