异步时钟亚稳态 的解决方案——多bit信号

异步时钟亚稳态 的解决方案——多bit信号 目录1. 亚稳态问题——电平同步1.1. 时钟偏斜 导致的采样中间值问题1.2. "3个沿"+允许skew——电平同步2.1. “8个沿”+不允许skew——valid信号DMUX选通2. 漏采样——展宽2.1. valid延迟展宽2.2. valid 异或展宽3. 高频变化/缓存——异步FIFO对于多bit而言,跨时钟域解决方法与异步时钟亚稳态 的解决方案——单bit信号是类似的,可以对照学习。跨时钟域处理方法总结–最终详尽版跨时钟域处理–最终详尽版FPGA 设计之 跨时钟域(三 - 多比特小结)FPGA 设计之 跨时钟域(四 - 格雷码)FPGA 设计之 跨时钟域(六 - 握手)同步validready握手 与 异步validack握手《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的存在,可能第一次采样到中间值、第二次采到正确值。所以如果允许出现中间值,可以直接打两拍。即要求1.5