级联时钟缓冲器 - 2023.2 简体中文

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

Document ID
UG949
Release Date
2023-11-29
Version
2023.2 简体中文

一般 AMD 不建议使用级联缓冲器在不相关的时钟树分支之间人为增加延迟并减少偏差。不同于 BUFGCTRL 之间的连接,其他时钟缓冲器连接在架构中不具有专用路径。因此,时钟缓冲器的相对布局不可预测,并且所有布局规则都优先于未约束的级联缓冲器的布局。

但是,使用级联时钟缓冲器可以实现以下功能:

  • 将时钟布线到位于不同时钟区域中的另一个时钟缓冲器。

    对由其他时钟区域内的 MMCM 生成的时钟使用时钟多路复用器时,通常采用此方法。虽然其中 1 个 MMCM 可以直接驱动 BUFGCTRL (BUFGMUX),但是另一个 MMCM 需要中间时钟缓冲器来将时钟信号布线到其他区域。下图显示了 1 个示例。

    图 1. 将时钟布线到另一个时钟区域

  • 当时钟树分支之间存在同步路径时,平衡这些分支之间的时钟缓冲器等级数。

    例如,假设 1 个名为 clk0 的 MMCM 时钟用于驱动组 A(通过位于不同时钟区域内的 BUFGCTRL 驱动的时序单元)和组 B(时序单元)。为了更好地匹配分支之间的延迟,为组 B 插入 1 个 BUFGCE,并将它布局在与 BUFGCTRL 相同的时钟区域中。这样可确保组 A 和组 B 之间的同步路径偏差可控。下图显示了 1 个示例。

    注释: Vivado 逻辑最优化命令 opt_design 未发现时序时钟和时钟网络分支之间的时序关系。因此,opt_design 会尽可能删除更多级联时钟缓冲器或冗余时钟缓冲器。在此示例中,opt_design 会移除 BUFGCE_inst_1,除非您在其中设置 DONT_TOUCH="TRUE" 属性。如果在时钟树分支之间只有异步路径,那么只要接收端时钟域上存在正常的同步电路,就不需要平衡这些分支。
    图 2. 为时钟区域之间的同步路径平衡时钟树

  • 时钟多路复用 所述,构建时钟多路复用器。

为减少插入延迟和偏差变动,AMD 建议使用级联时钟缓冲器时遵循以下准则:

  • 将级联缓冲器保持在相同或相邻时钟区域内。
  • 平衡时钟树分支时,将相同等级的所有时钟缓冲器都分配到相同时钟区域内。
注释: 如果确实有必要,AMD 建议使用 2 个级联 BUFGCTRL 代替级联 BUFGCE。使用专用布线即可将 2 个相邻 BUFGCTRL 加以级联,当这 2 个 BUFGCTRL 都布局在相同时钟区域内时可最大程度降低延迟。