MAX 10时钟和PLL用户指南

ID 683047
日期 2/21/2017
Public
文档目录

2.3.14. PLL重配置

PLL使用若干个分频计数器和不同的VCO相位抽头来执行频率合成及相移。在 MAX® 10 PLL中,您可以实时重配置计数器设置及相移PLL输出时钟。另外,您也可以更改电荷泵和环路滤波器组件,这会对PLL带宽产生动态影响。

下面的PLL组件可实时配置:

  • 预缩放计数器(N)
  • 反馈计数器(M)
  • 后缩放输出计数器(C0-C4)
  • 电荷泵电流(ICP)
  • 环路滤波器组件(R,C)

您可以使用这些PLL组件来实时更新以下设置,而无需重配置整个FPGA:

  • 输出时钟频率
  • PLL带宽
  • 相移

对于那些在多频率上运行的应用而言,实时重配置PLL的这一特性是很有用的。此外,这一特性在原型开发环境中也很有用,使您能够扫描PLL输出频率,并动态调整输出时钟相位。

例如,用于生成测试码型的系统根据被测器件的要求,需要在75或者150 MHz下生成并发送码型。对PLL组件进行实时重配置使您能够在几微妙内完成这样两个输出频率间的切换。

您也可以利用这一特性,通过修改PLL 输出时钟相移来实时调整clock-to-out(tCO)延迟。通过这一方法不再需要使用新的PLL设置重新生成配置文件。

图 24. PLL重配置扫描链此图显示了通过将PLL计数器的新设置移入串行移位寄存器链或扫描链来动态调整PLL计数器设置。串行数据通过scandata端口移入扫描链,并且移位寄存器被scanclk锁定。scanclk最大频率是100 MHz。移入数据最后一位后,将configupdate 信号置位最少一个scanclk时钟周期,使用扫描寄存器中的数据同步更新PLL配置位。

计数器设置被同步地更新到单独计数器的时钟频率。因此,并非所有的计数器都能同步更新。

动态重配置方案使用配置文件,例如十六进制格式文件(.hex)或者存储器初始化文件 (.mif)。这些文件和ALTPLL_RECONFIG IP内核一起用于执行动态重配置。