跨时钟域设计二

1、跨时钟域问题的类型

  • 同频恒定相位差时钟
  • 非同频可变相位差时钟
  • 整数倍频率时钟

  • 非整数倍频率时钟


1.1同频恒定相位差时钟

跨时钟域设计二
图1、相位移动时钟

时钟clk1与clk2的频率相同,但clk1相较于clk2前移了3T/4个时间周期。这样建立时间与保持时间的裕量变小,组合逻辑的延迟约束会更紧。但是这种情况只要满足建立时间和保持时间就可以了,即STA通过,不需要使用同步器。

1.2非同频时钟

 

1.2.1整数倍频率时钟

跨时钟域设计二
图2、倍频时钟

clk1频率是clk2的三倍。clk2上升沿捕获数据时,数据保持的时间可以使T、2T或3T,这取决于数据在哪一个clk1上升沿发出。因此,最差延迟应该满足T的建立时间要求。

数据有快时钟发出,慢时钟捕获,为了避免数据丢失,源数据至少保持一个目的时钟周期的稳定状态。是源数据每三个时钟改变一次。

1.2.2非整数倍频率的时钟

有效沿的相位差可变

第一种情况:源时钟有效沿与目的时钟有效沿之间有足够大的相位差。可以满足建立时间和保持时间的要求。

跨时钟域设计二
图3、时钟沿较远

由于相位差较小,因此需避免在两个跨时钟的位置使用任何组合逻辑。增加组合逻辑,必须使用同步器。

在数据从慢时钟传递到快时钟时,必须增加逻辑保证数据在快时钟域只取样一次。

从快时钟传递到慢时钟时,必须将源数据至少保持一个目标时钟周期。

第二种情况:源时钟有效沿和目的时钟有效沿之间非常接近,导致亚稳态问题。两个时钟沿会出现挨着的情况,然后接着几个周期两个时钟沿会留有足够的裕量,再次汇聚。

跨时钟域设计二
图4、间歇性聚集的时钟沿

如图4所示,两个时钟上升沿聚集在一起时,相位差很小,出现亚稳态情况,必须使用同步器。

情况三:时钟间相位差异很小,如图5所示。

跨时钟域设计二
图5、连续聚集几个周期的时钟沿