目录
对于多bit而言,跨时钟域解决方法与异步时钟亚稳态 的解决方案——单bit信号是类似的,可以对照学习。
跨时钟域处理方法总结–最终详尽版跨时钟域处理–最终详尽版
FPGA 设计之 跨时钟域(三 - 多比特小结)
FPGA 设计之 跨时钟域(四 - 格雷码)
FPGA 设计之 跨时钟域(六 - 握手)
同步valid&ready握手 与 异步valid&ack握手
《Clock Domain Crossing》 翻译与理解(5)多信号跨时钟域传输
推荐】数字芯片跨时钟域设计经典论文
多bit信号跨时钟域怎么办? – CDC的那些事(4)
菜鸟教程:4.2 Verilog 跨时钟域传输:慢到快
1. 亚稳态问题——电平同步
1.1. 时钟偏斜 导致的采样中间值问题
● 时钟偏斜skew:时钟沿信号到达各触发器CK端的时间不同
这会导致多bit信号的每个触发器值变化不是同时的,有的变得快有的变得慢,如果每个bit都没变完,就被异步时钟采样了,就会出现中间值。
单bit信号电平也好,脉冲也好跨时钟域,采样到了就算有点延迟也没关系,最终产生一个脉冲就行。
但是多bit信号要求整个变化过程都是恒定的,中间出现了第三个值就可能对功能产生影响。
看图

红线处adata由000变为111,因为时钟偏斜,该信号每个bit真正开始拉高的时刻不一样。如果异步时钟bclk在不同的时刻采样会对应不同时刻的值,3条绿线分别对应采样到001、101、111。
1.2. “3个沿”+允许skew——电平同步
是的,多bit信号也可以进行电平同步。
如果满足“3个沿”条件,说明最终一定可以采样到正确的数据。但由于time skew的存在,可能第一次采样到中间值、第二次采到正确值。

本文探讨了时钟偏斜引发的多比特信号采样问题,通过灰码循环编码和同步valid使能策略解决中间值问题。介绍了同步valid最小持续时间和间隔的重要性,以及异步FIFO在解决数据跨时钟域问题中的应用。
最低0.47元/天 解锁文章
622

被折叠的 条评论
为什么被折叠?



