英特尔® Arria® 10收发器PHY用户指南

ID 683617
日期 3/28/2022
Public
文档目录

6.11.2.2. fPLL参考时钟切换

您可以在fPLL实例上使用重配置接口来指定哪个参考时钟源驱动fPLL。fPLL支持同步(clocking)高达五个不同的参考时钟源。 在不同的参考时钟源之间进行选择的流程与在重配置接口中指定的发送器PLL的数量无关。

在执行参考时钟切换前,请确保fPLL实例定义多个参考时钟源。 在fPLL参数化过程中请在PLL选项卡上指定Number of PLL reference clocks参数。

下表显示了fPLL参考时钟输入之间进行切换的地址和比特。显示的pll_refclk端口的数量因您指定的参考时钟的数量而异。对于此操作,请使用fPLL重配置接口。

表 270.  切换fPLL参考时钟输入的寄存器映射
收发器fPLL端口 说明 地址 比特
pll_refclk0 代表MUX_0的逻辑refclk0。查找寄存器(lookup register) x117[7:0]存储从逻辑refclk0到MUX_0的物理refclk的映射。 0x117 (查找寄存器) [7:0]
pll_refclk1 代表 MUX_0的逻辑refclk1。查找寄存器x118[7:0]存储从逻辑refclk1到MUX_0的物理refclk的映射。 0x118 (查找寄存器) [7:0]
pll_refclk2 代表MUX_0的逻辑refclk2。查找寄存器x119[7:0]存储从逻辑refclk2到MUX_0的物理refclk的映射。 0x119 (查找寄存器) [7:0]
pll_refclk3 代表MUX_0的逻辑refclk3。查找寄存器x11A[7:0]存储从逻辑refclk3到MUX_0的物理refclk的映射。 0x11A (查找寄存器) [7:0]
pll_refclk4 代表MUX_0的逻辑refclk4。查找寄存器x11B[7:0]存储从逻辑refclk4到MUX_0的物理refclk的映射。 0x11B (查找寄存器) [7:0]
N/A

fPLL refclk selection MUX_0

0x114 [7:0]
pll_refclk0 代表MUX_1的逻辑refclk0。查找寄存器x11D[7:0]存储从逻辑refclk0到MUX_1的物理refclk的映射。 0x11D (查找寄存器) [7:0]
pll_refclk1 代表MUX_1的逻辑refclk1。查找寄存器x11E[7:0]存储从逻辑refclk1到MUX_1的物理refclk的映射。 0x11E (查找寄存器) [7:0]
pll_refclk2 代表MUX_1的逻辑refclk2。查找寄存器x11F[7:0]存储从逻辑refclk2到MUX_1的物理refclk的映射。 0x11F (查找寄存器) [7:0]
pll_refclk3 代表MUX_1的逻辑refclk3。查找寄存器x120[7:0]存储从逻辑refclk3到MUX_1的物理refclk的映射。 0x120 (查找寄存器) [7:0]
pll_refclk4 代表MUX_1的逻辑refclk4。查找寄存器x121[7:0]存储从逻辑refclk4到MUX_1的物理refclk的映射。 0x121 (查找寄存器) [7:0]
N/A fPLL refclk selection MUX_1 0x11C [7:0]

在执行参考时钟切换时,请指定逻辑参考时钟,以及替换时钟的相应地址和比特。请遵照下面的过程切换到所选的参考时钟:

  1. 执行执行动态重配置的步骤中的步骤1到7的必要步骤。
  2. 从MUX 0的查找寄存器读取并保存所需的8-bit码型。例如:切换到逻辑refclk3需要使用查找寄存器0x11A上的bits[7:0]。
  3. 使用从查找寄存器中获得的8-bit值对地址0x114的bits [7:0]执行一个read-modify-write操作。
  4. 从MUX 1的查找寄存器读取并保存所需的8-bit码型。例如:切换到逻辑refclk3需要使用查找寄存器0x120上的bits[7:0]。
  5. 使用从查找寄存器中获得的8-bit值对地址0x11C的bits [7:0]执行一个read-modify-write操作。
  6. 执行执行动态重配置的步骤中的步骤9到12的必要步骤。

示例1:

pll_refclk0切换到pll_refclk1,您需要对MUX_0和MUX_1的fPLL refclk选择进行read-modify-write操作:
  1. 修改MUX_0值:
    • 从0x118[7:0]读取
    • 将0x118 [7:0]的值写入到0x114 [7:0]
  2. 修改MUX_1值:
    • 从0x11E [7:0]读取
    • 将0x11E [7:0]读取的值写入到0x11C [7:0]

示例2:

pll_refclk2切换到pll_refclk3,您需要对MUX_0和MUX_1的fPLL refclk选择进行read-modify-write操作:
  1. 修改MUX_0值:
    • 从0x11A [7:0]读取
    • 将0x11A [7:0]读取的值写入到0x114 [7:0]
  2. 修改MUX_1值:
    • 从0x120 [7:0]读取
    • 将0x120 [7:0]读取的值写入到0x11C [7:0]