一、概况在数据传输过程中时钟或数据会在传输过程中发生偏移所以用了PLL的时钟动态相移配置这样就可以实现时钟与数据的对齐接下来讲述怎样配置PLL时钟来实现动态相移。二、IP核配置步骤1打开VIVADO的clocking wizard如下图配置勾选上Dynamic Phase Shift 后在左边接口总览上会多出四个接口 Psclk用于相移控制信号的驱动时钟。 Psen控制相位偏移的使能信号。 Paincdec用于相位正负偏移的信号1为正向偏移0为反向偏移。 Psdone是相位偏移完成标志信号会拉高一个psclk的周期。步骤2在output clocks界面勾选上 use fine PS这样输出的时钟才是相位偏移后的时钟。VCO 频率为1000MHz一个psen高脉冲输出时钟的相位偏移1/56个VCO周期。下面具体说明一下这四个信号的设计思路 Psclk只作用于psen、psincdec和psdone。Psclk这个时钟驱动这三个信号可以自定义时钟这里我用产生过得200MHz时钟作为psclk。 Psen每拉高一个psclk的周期。输出的时钟就会偏移一次每次偏移1/56ns。VCO Freq 周期的56分之一 Psincdec为1的话时钟正向偏移为0时钟反向偏移无论设置为1或0当偏移到一定次数的时候PLL的主输入时钟都会偏移到180度也就是和没偏移时状态没有变化。所以这里设置0或1都可以。 每次偏移完成后psdone也会拉高一个psclk的周期作为标志信号。三、总结通过配置 Vivado 的 Clocking Wizard IP 核实现 PLL 的动态相移从而动态调整输出时钟相位以实现数据对齐。配置要点包括启用 Dynamic Phase Shift 后需驱动 psclk、psen、psincdec 和 psdone 四个控制/状态信号在 Output Clocks 界面开启 Fine PS 功能每次 psen 高脉冲可使输出时钟偏移 1/56 个 VCO 周期本例 VCO 为 1000 MHz偏移方向由 psincdec 控制偏移完成后 psdone 会反馈一个周期的高电平。该方案提供了灵活、精细的相位调节手段适用于高速接口的时序校准场景。后面我们可以根据仿真来实现一个简单的时钟相位移动的示例。本文章由威三学社威三学院出品对课程感兴趣可以私信联系