自动衍生时钟 - 2023.2 简体中文

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

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

大部分生成时钟都是由 Vivado 时序引擎自动衍生的,该引擎可识别时钟修改块 (CMB) 及其对主时钟执行的变换。

AMD 7 系列器件中,CMB 包括:

  • MMCM*/PLL*
  • BUFR
  • PHASER*

AMD UltraScale 系列器件中,CMB 包括:

  • MMCM*/PLL*
  • BUFG_GT/BUFGCE_DIV
  • GT*_COMMON/GT*_CHANNEL/IBUFDS_GTE3
  • BITSLICE_CONTROL/RX*_BITSLICE
  • ISERDESE3

对于时钟树上的任何其他组合单元而言,时序时钟可通过这些单元进行传输,且无需在输出端重新定义,除非此类单元已进行波形变换。通常应尽可能依靠自动衍生机制,因为就定义可对应于实际硬件行为的生成时钟来说,这是最安全的方法。

如果您认为 Vivado Design Suite 时序引擎所选的自动衍生时钟名称不合适,那么可以使用 create_generated_clock 命令(不指定波形变换)强制输入自己选择的名称。该约束应刚好位于约束文件中定义主时钟的约束之后。例如,如果由 MMCM 实例生成的时钟默认名称为 net0,那么您可添加以下约束来强制输入自己的名称(在给定示例中,此名称为 fftClk):
create_generated_clock -name fftClk [get_pins mmcm_i/CLKOUT0]

为避免歧义,约束必须连接到时钟的源管脚。如需了解更多信息,请参阅 Vivado Design Suite 用户指南:使用约束(UG903)