跨时钟域设计二
1、跨时钟域问题的类型
- 同频恒定相位差时钟
- 非同频可变相位差时钟
-
整数倍频率时钟
-
非整数倍频率时钟
1.1同频恒定相位差时钟
时钟clk1与clk2的频率相同,但clk1相较于clk2前移了3T/4个时间周期。这样建立时间与保持时间的裕量变小,组合逻辑的延迟约束会更紧。但是这种情况只要满足建立时间和保持时间就可以了,即STA通过,不需要使用同步器。
1.2非同频时钟
1.2.1整数倍频率时钟
clk1频率是clk2的三倍。clk2上升沿捕获数据时,数据保持的时间可以使T、2T或3T,这取决于数据在哪一个clk1上升沿发出。因此,最差延迟应该满足T的建立时间要求。
数据有快时钟发出,慢时钟捕获,为了避免数据丢失,源数据至少保持一个目的时钟周期的稳定状态。是源数据每三个时钟改变一次。
1.2.2非整数倍频率的时钟
有效沿的相位差可变
第一种情况:源时钟有效沿与目的时钟有效沿之间有足够大的相位差。可以满足建立时间和保持时间的要求。
由于相位差较小,因此需避免在两个跨时钟的位置使用任何组合逻辑。增加组合逻辑,必须使用同步器。
在数据从慢时钟传递到快时钟时,必须增加逻辑保证数据在快时钟域只取样一次。
从快时钟传递到慢时钟时,必须将源数据至少保持一个目标时钟周期。
第二种情况:源时钟有效沿和目的时钟有效沿之间非常接近,导致亚稳态问题。两个时钟沿会出现挨着的情况,然后接着几个周期两个时钟沿会留有足够的裕量,再次汇聚。
如图4所示,两个时钟上升沿聚集在一起时,相位差很小,出现亚稳态情况,必须使用同步器。
情况三:时钟间相位差异很小,如图5所示。