使用 BUFGCE_DIV 减少时钟不确定性 - 2023.2 简体中文

适用于 FPGA 和 SoC 的 UltraFast 设计方法指南 (UG949)

Document ID
UG949
Release Date
2023-11-29
Version
2023.2 简体中文
提示: report_qor_suggestions Tcl 命令会标记此问题。

UltraScale 器件中,BUFGCE_DIV 单元可用于通过消除 MMCM 相位误差来减少同步时钟域交汇上的时钟不确定性。以 300 MHz 和 150 MHz 时钟域之间路径为例,这 2 个时钟均由相同的 MMCM 生成。

在此情况下,时钟不确定性针对“建立”和“保持”分析均包含 120 ps 相位误差。此时,并不会生成含 MMCM 的 150 MHz 时钟,而是改为将 BUFGCE_DIV 连接到 300 MHz MMCM 输出,并将该时钟除以 2。为实现最佳结果,300 MHz 时钟还需使用 BUFGCE_DIV 并将 BUFGCE_DIVIDE 设置为 1,以便与 150 MHz 时钟延迟准确匹配,如下图所示。

图 1. UltraScale 同步 CDC 时序路径改进时钟拓扑

对于新拓扑结构:

  • 针对建立分析,时钟不确定性不包含 MMCM 相位误差,并且还减少了 120 ps。
  • 针对保持分析,时钟不确定性未增加(仅适用于相同的边缘保持分析)。
  • 公共节点移至更靠近缓冲器位置,从而节省部分时钟消极因素。

通过对 2 个时钟信号线应用 CLOCK_DELAY_GROUP 约束,时钟路径将具有匹配的布线。

注释: report_qor_suggestions Tcl 命令可提供这些约束。

下表提供了 UltraScale 同步 CDC 时序的建立分析与保持分析的时钟不确定性的比较结果。

表 1. UltraScale 同步 CDC 时序路径的建立分析的时钟不确定性之比较
建立分析 MMCM 生成的 150 MHz 时钟 BUFGCE_DIV 150 MHz 时钟
  总系统抖动 (TSJ) 0.071 ns 0.071 ns
“Discrete Jitter (DJ)”(离散抖动 (DJ)) 0.115 ns 0.115 ns
相位误差 (PE) 0.120 ns 0.000 ns
时钟不确定性 0.188 ns 0.068 ns
表 2. UltraScale 同步 CDC 时序路径的保持分析的时钟不确定性之比较
保持分析 MMCM 生成的 150 MHz 时钟 BUFGCE_DIV 150 MHz 时钟
  总系统抖动 (TSJ) 0.071 ns 0.000 ns
“Discrete Jitter (DJ)”(离散抖动 (DJ)) 0.115 ns 0.000 ns
相位误差 (PE) 0.120 ns 0.000 ns
时钟不确定性 0.188 ns 0.000 ns