F-Tile体系结构和PMA和FEC Direct PHY IP用户指南

ID 683872
日期 1/24/2024
Public
文档目录

3.6.4. FGT PMA小数模式

对于给定的数据速率,下拉菜单列出了支持的整数模式参考时钟频率。对于给定的数据速率,如果下拉菜单中未列出所需的参考时钟频率,您可以选择其中一个支持的整数模式参考时钟频率或者使能小数模式。

  • 当使能小数模式时,英特尔建议使用141 MHz参考时钟频率来最大化所有OTN/SDI/CPRI速率上的PLL支线的距离。
  • VCO frequency (MHz) = (M + k/2^22) * N * L * refclk frequency (MHz)

    当输入小数PLL参考时钟频率时,IP GUI会在System Messages选项卡中显示VCO、MNLk值,如下图所示。

  • 对于给定的数据速率,如果您需要在运行时动态配置k计数器,那么您必须使能小数模式。
图 81. System Messages选项卡中的Fractional Settings示例

FGT PMA支持以下PMA模式中的小数模式(fractional mode):

表 77.  FGT PMA对小数模式的支持
PMA模式 小数模式支持
TX simplex TX FGT PLL支持TX单工中的小数模式。如要使能此功能,需要在参数编辑器中对PMA mode选择TX simplex选项,然后开启Enable TX FGT PLL fractional mode。TX PLL小数计数器的值会自动计算所选的参考时钟频率。您可以将TX Simplex小数模式置于16个FGT TX PMA中的任何一个上。
注: 在RX单工中,FGT PMA不支持小数模式。
Duplex Duplex PMA模式下的FGT PMA支持小数模式。如要使能duplex PMA模式下的小数模式, 需要在参数编辑器中对PMA mode选择Duplex选项,对Number of PMA lanes最多可选择16,然后开启Enable TX FGT PLL fractional mode选项。
  • Duplex小数模式中,每个TX PLL的输出都用作对应RX CDR的参考时钟。每个TX PLL均配置为小数模式。
  • RX CDR不需要单独的参考时钟。TX PLL小数计数器值和RX CDR参考时钟频率会自动计算所选的参考时钟频率。您可以保持rx_cdr_refclk_link端口处于断开状态, 此端口在IP core中从内部接地。
  • 您可以将双工小数模式(duplex fractional mode)置于16个FGT PMA中的任何一个上。
Primary PLL configuration 若要使能包含主PLL配置的小数模式,需要在参数编辑器中对PMA mode选择Duplex选项,对Number of PMA lanes选择24,然后开启Enable TX FGT PLL fractional modeEnable TX FGT PLL cascade mode选项。
  • 在主PLL配置中,一条通道的TX PLL处于小数模式下,并且用作四元组(quad)内其他通道(在整数模式中配置)的本地CDR和TX PLL和RX CDR模块的参考时钟源。
  • 当PMA通道的数量选择为6、8、12或16时,不支持主PLL配置。
  • 您可以将包含2个PMA通道的主PLL配置放置在任何四元组(quad)的FGT PMA Lane 1和0(同一四元组)上,Lane 1为主通道(primary),或者放置在任何四元组(quad)的FGT PMA Lane 3和2(同一四元组)上,Lane 3为主通道(primary)。
  • 您可以将包含4个PMA通道的主PLL配置放置在任何四元组(quad)的FGT PMA Lane 3、2、1和0(同一四元组)上,Lane 3为主通道(primary)。
  • 当您将主PLL配置放置在Quad 2时,您不能将参考时钟[8](可被Quad2访问)配置成输出来提供RX恢复时钟。
  • 当您将主PLL配置放置在Quad 3中时,您不能将参考时钟[9](可被Quad3访问)配置成输出来提供RX恢复时钟。
注: 请参考F-tile架构用户指南中的FGT PLL配置来了解更多信息。

在小数模式下调整k计数器值

对于包含1、2或4个PMA通道的设计,您可以在小数模式下配置FGT PMA,少量调整频率和数据速率,从而达到速率匹配的目的。
  • 当PMA通道的数量为1时,开启Enable TX FGT PLL fractional mode,将PMA参考时钟频率设置成141 MHz,然后调整通道的k计数器值。
  • 当PMA通道的数量为2或4时,开启Enable TX FGT PLL fractional mode,开启Enable TX FGT PLL cascade mode,将PMA参考时钟频率设置为141 MHz,然后调整主通道的k计数器值。
为了满足OTN(光传输网络)和SDI(串行数字接口)的抖动规范,小数值的动态变化应该有以下限制:
  • 最大步长:2.5 ppm
  • 步长之间的最短持续时间:1 us
如果OTN或SDI抖动规范不适用于您的设计,而您又想在不失去锁定的情况下调整数据速率,那么小数值的动态变化应该有以下限制:
  • 最大步长:100 ppm
  • 步长之间的最短持续时间:未知
英特尔建议在获得稳定性能的前提下,尽可能延长持续时间。

每个FGT PMA都有一个包含k计数器的Avalon存储器映射接口寄存器。 k计数器/ 2^22就是反馈计数器的小数值K。 小数值K加上M计数器值就是总反馈计数器的总值,并且决定k计数器中的每个比特代表多少PPM。例如,k计数器中的LSB(最低有效位)代表PPM = (1 / 2^22) / (K+M) × (10^6)

更改k计数器的步骤:

  1. k计数器更改为新值。
  2. 脉冲选通比特0 -> 1-> 0以锁定新的k计数器。

每个FGT PMA包含3个PLL;慢速、中速和快速。FGT PMA被组织在四元组(quad)中。k计数器和选通比特Avalon存储器映射接口寄存器地址取决于四元组中的收发器位置和使用了哪个PLL(慢速、中速和快速),如下表所示。

表 78.  FGT PMA小数k计数器和选通寄存器地址
四元组(quad)中的通道位置 PLL 小数k计数器寄存器 选通寄存器
0 Slow 0x44000[30:9] 0x4400C[17]
Medium 0x44100[30:9] 0x4410C[17]
Fast 0x44200[30:9] 0x4420C[17]
1 Slow 0x4C000[30:9] 0x4C00C[17]
Medium 0x4C100[30:9] 0x4C10C[17]
Fast 0x4C200[30:9] 0x4C20C[17]
2 Slow 0x54000[30:9] 0x5r00C[17]
Medium 0x54100[30:9] 0x5410C[17]
Fast 0x54200[30:9] 0x5420C[17]
3 Slow 0x5C000[30:9] 0x5C00C[17]
Medium 0x5C100[30:9] 0x5C10C[17]
Fast 0x5C200[30:9] 0x5C20C[17]
如下图所示,您可以在Intel Quartus Prime Pro Edition软件生成的<design_name>.syn.rpt中看到所选的收发器位置和PLL。
图 82.  Intel Quartus Prime Pro Edition软件综合编译结果样例
; z1577a_u_ux_quad_3__ux3_synth_lc_med_en         ; enable                                   ; String        ;
; z1577a_u_ux_quad_3__ux3_synth_lc_med_f_out_hz           ; 0000000001010110011011010011111010000000 ; Unsigned Binary;
; z1577a_u_ux_quad_3__ux3_synth_lc_med_f_pfd_hz           ; 0000000000000000000000000000000000000000 ; Unsigned Binary;
; z1577a_u_ux_quad_3__ux3_synth_lc_med_f_ref_hz           ; 0000000000001000110110011110111000100000 ; Unsigned Binary;
; z1577a_u_ux_quad_3__ux3_synth_lc_med_f_rx_postdiv_hz    ; 0000000000010001010010010000110010000000 ; Unsigned Binary;
; z1577a_u_ux_quad_3__ux3_synth_lc_med_f_tx_postdiv_hz    ; 0000000000000110111010100000010100000000 ; Unsigned Binary;
; z1577a_u_ux_quad_3__ux3_synth_lc_med_f_vco_hz           ; 0000001010110011011010011111010000000000 ; Unsigned Binary;
; z1577a_u_ux_quad_3__ux3_synth_lc_med_fractional_en      ; enable                                   ; String         ;
; z1577a_u_ux_quad_3__ux3_synth_lc_med_k_counter          ; 0000111010100111001110                   ; Unsigned Binary;
; z1577a_u_ux_quad_3__ux3_synth_lc_med_l_counter          ; 001000                                   ; Unsigned Binary;
; z1577a_u_ux_quad_3__ux3_synth_lc_med_m_counter          ; 000100111                                ; Unsigned Binary;
; z1577a_u_ux_quad_3__ux3_synth_lc_med_n_counter          ; 000001                                   ; Unsigned Binary;
; z1577a_u_ux_quad_3__ux3_synth_lc_med_powerdown_mode     ; false                                    ; String         ;
; z1577a_u_ux_quad_3__ux3_synth_lc_med_primary_use        ; ux3_synth_lc_med_primary_use_disabled    ; String         ;
; z1577a_u_ux_quad_3__ux3_synth_lc_med_rx_postdiv_counter ; 00101000                                 ; Unsigned Binary;
; z1577a_u_ux_quad_3__ux3_synth_lc_med_tx_postdiv_counter ; 01100100                                 ; Unsigned Binary;
; z1577a_u_ux_quad_3__ux3_synth_lc_med_tx_postdiv_fractional_en ; disable                            ; String         ;
在上面显示的编译结果样例中,FGT PMA放置在quad 3中,使用了channel 3和medium PLL。M计数器是39 (000100111),标称K值是0.057 (0000111010100111001110/2^22)。k计数器中的LSB代表6 ppb (十亿分之一) (1/2^22/39.057)。k计数器寄存器地址是0x5C100[30:9],选通寄存器比特地址是0x5C10C[17]。