PLL/MMCM 反相时钟 - 2023.2 简体中文

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

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

Versal 器件中,MMCM 不具有 CLKOUTxB 端口可用于生成反相时钟。要生成反相时钟,可将 CLKOUTx 输出相移 180 度。

将该时钟相移 180 度后,定时器就会对相移进行建模,将其作为时钟波形沿中的变更或者作为时延(无需更改时钟波形)来处理。您可使用 MMCM 上的 PHASESHIFT_MODE 属性来控制定时器对相移进行建模的方式。PHASESHIFT_MODE 属性的默认值为 LATENCY。

欲知详情,请访问此链接以参阅 Vivado Design Suite 用户指南:设计分析与收敛技巧(UG906) 中的相应内容。

注释: 配置有数字化纠偏的 DPLL 和 MMCM/XPLL 仅支持 PHASESHIFT_MODE=LATENCY。

如果在 I/O 时序内不使用相移,而改为在互连结构内部的时序路径中使用相移 (PHASESHIFT_MODE=LATENCY),则可能导致非相移时钟与相移时钟之间出现意外的建立/保持时间要求。当时钟发生 180 度相移以生成互连结构反相时钟并替换 Versal 器件中缺失的 CLKOUTxB 时钟后,就会发生这种状况。

以下选项可用于在非相移时钟与相移时钟之间生成正确的建立/保持时间要求:

  • 添加多周期路径以调整定时器所使用的时钟沿:
    set_multicycle_path -from [get_clocks clk] -to [get_clocks clk_phase_shitfed] -setup -end 0
  • 将定时器使用的相移模型从 LATENCY 更改为 WAVEFORM。在如下情况下,无需多周期路径:
    set_property PHASESHIFT_MODE WAVEFORM [get_cells <MMCM>]