提示:
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 时序的建立分析与保持分析的时钟不确定性的比较结果。
建立分析 | 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 |
保持分析 | 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 |