PHASESHIFT_MODE=LATENCY
有时我们会使用IDELAY来为时钟路径增加延迟。当IDELAY的调整范围过小时,我们可以设置一个MMCM(有时是PLL)来充当IDELAY(即改变时钟路径的延迟)。为此,将MMCM配置为具有一个时钟输入和一个时钟输出,且两者频率相同。此外,将MMCM配置为输入和输出时钟之间的“相位对齐”。最后,为MMCM编写一个PHASESHIFT_MODE=LATENCY约束。
set_property PHASESHIFT_MODE LATENCY[get_cells{adc_clk_in/inst/mmcm_adv_inst}]在LATENCY模式下,MMCM的作用类似于IDELAY,通过MMCM/PLL改变时钟路径的延迟。MMCM/PLL的延迟由输出时钟的相位设置决定,计算公式为(延迟=时钟周期*相位设置度数/360)。请注意,正负相位设置会产生正负延迟!也就是说,MMCM既可以延迟时钟,也可以提前时钟!!