使用时钟修改块(MMCM、XPLL 和 DPLL) - 2023.2 简体中文

Versal 自适应 SoC 硬件、IP 和平台开发方法指南 (UG1387)

Document ID
UG1387
Release Date
2023-11-15
Version
2023.2 简体中文

您可使用 MMCM、XPLL 或 DPLL 来更改传入时钟的总体特性。MMCM 最常用于制约和控制时钟特性,例如:

  • 创建更严格的相位控制
  • 筛选时钟中的抖动
  • 更改时钟频率
  • 更正或更改时钟占空比

要使用 MMCM、XPLL 或 DPLL,必须协调多个属性以确保 MMCM 按规格范围内运行,并在其输出端提供所期望的时钟特性。因此,AMD 强烈建议您使用 Clocking Wizard 来正确配置此资源。

您还可直接例化 MMCM、XPLL 或 DPLL,从而进一步强化可控性。但是,请务必使用正确的设置来避免导致以下问题:

  • 因抖动增加而导致时钟不确定性增加
  • 构建的相位关系不正确
  • 时序收敛实现难度增大
    重要: 使用 Clocking Wizard 配置 MMCM 或 PLL 时,默认情况下,Clocking Wizard 会尝试配置 MMCM,以使用合理的功耗特性降低输出抖动。

根据目的,您可更改 Clocking Wizard 中的设置以进一步最大程度降低抖动,从而以增加功耗为代价来改进时序。或者,您可降低功耗,但这会增加输出抖动。

使用 MMCM、XPLL 或 DPLL 时,请务必:

  • 切勿使任何输入保持浮动。不建议依靠综合或其他最优化工具来锁定浮动值,因为值可能与期望值不同。
  • 将 RST 连接到用户逻辑,以便通过由可靠的时钟源所控制的逻辑来对其进行断言。如果时钟中断,RST 接地就会导致问题出现。
  • 在实现复位时使用 LOCKED 输出。例如,使 PLL 中完成时钟设置的同步逻辑保持处于复位状态中,直至断言 LOCKED 为止。LOCKED 信号必须达成同步后方可在设计的同步部分中使用。AMD 建议将 LOCKED 添加到处理器映射中,这样在调试时 LOCKED 即可见。
  • 确认 CLKFBIN 与 CLKFBOUT 之间的连接。仅当 MMCM 输出时钟需与输入时钟保持相位对齐时,才需要在反馈路径中包含 BUFG,例如,使用 BUF_IN 补偿模式时。
  • 为避免 Versal 器件中的同步时钟域交汇路径上遇到 MMCM、XPLL 或 DPLL 相位误差时序惩罚,请使用采用叶等级分频的 MBUFG* 原语。如果无法使用 MBUFG* 原语,请考虑使用来自单一 CLKOUT 端口的并行 BUFGCE_DIV 代替来自多个 CLKOUT 端口的各 BUFGCE。