FタイルのアーキテクチャーとPMAおよびFEC Direct PHY IPのユーザーガイド

ID 683872
日付 1/24/2024
Public
ドキュメント目次

3.6.4. FGT PMAのフラクショナル・モード

特定のデータレートに対して、ドロップダウン・メニューでは、サポートされている整数モードのリファレンス・クロック周波数が一覧表示されます。特定のデータレートで、必要なリファレンス・クロック周波数がドロップダウンに表示されない場合は、サポートされている整数モードのリファレンス・クロック周波数の1つを選択する、もしくはフラクショナル・モードを有効にすることができます。

  • フラクショナル・モードを有効にする場合に、インテルでは、141MHzのリファレンス・クロック周波数を使用して、OTN / SDI / CPRIのすべてのレートでPLLスプリアスの距離を最大にすることを推奨しています。
  • VCO周波数 (MHz) = (M + k/2^22) * mul_div * refclk 周波数 (MHz) / N

  • 出力周波数 (MHz) = VCO周波数 (MHz) / L

    フラクショナルPLLリファレンス・クロック周波数を入力すると、IP GUIの System Messages タブにVCO、MNLk、および mul_div の値が表示されます。次の図を参照してください。

  • 特定のデータレートで、ランタイムに k カウンターを動的にコンフィグレーションする必要がある場合は、フラクショナル・モードを有効にする必要があります。
図 81. System Messages タブにおけるフラクショナル・モード設定例

FGT PMAは、次のPMAモードでフラクショナル・モードをサポートします。

表 77.  FGT PMAでのフラクショナル・モードのサポート
PMAのモード フラクショナル・モードのサポート
TXシンプレックス TX FGT PLLは、TXシンプレックスでフラクショナル・モードをサポートします。有効にするには、パラメーター・エディターで、 PMA modeTX simplex オプションを選択し、Enable TX FGT PLL fractional mode をオンにします。TX PLLフラクショナル・カウンターの値は、選択しているリファレンス・クロック周波数に対して自動的に計算されます。TXシンプレックスのフラクショナル・モードは、16個のうちの任意のFGT TX PMAに配置することができます。
注: FGT PMAは、RXシンプレックスのフラクショナル・モードをサポートしていません。
デュプレックス デュプレックスPMAモードのFGT PMAでは、フラクショナル・モードをサポートします。デュプレックスPMAモードでフラクショナル・モードを有効にするには、パラメーター・エディターで、PMA modeDuplex オプション、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コア内部でグランドに結び付けられます。
  • デュプレックス・フラクショナル・モードは、16個のうちの任意のFGT PMAに配置することができます。
一次 PLL のコンフィグレーション 一次PLLのコンフィグレーションでフラクショナル・モードを有効にするには、パラメーター・エディターで、PMA modeDuplexNumber of PMA lanes2 または 4 を選択し、Enable TX FGT PLL fractional mode および Enable TX FGT PLL cascade mode オプションをオンにします。
  • 一次PLLのコンフィグレーションでは、1つのレーンのTX PLLがフラクショナル・モードとなり、ローカルCDR、およびクアッド内の他のレーン (整数モードでコンフィグレーションされている) のTX PLLおよびRX CDRブロックのリファレンス・クロック・ソースとして機能します。
  • 一次PLLのコンフィグレーションは、PMAレーン数に6、8、12、または16を選択している場合はサポートされません。
  • 2つのPMAレーンでの一次PLLのコンフィグレーションは、レーン1を一次とし、任意のクアッドのFGT PMAレーン1および0 (同じクアッド) に配置することができます。または、レーン3を一次とし、任意のクアッドのFGT PMAレーン3および2 (同じクアッド) になります。
  • 4つのPMAレーンでの一次PLLのコンフィグレーションは、レーン3を一次とし、任意のクアッドのFGT PMAレーン3、2、1および0 (同じクアッド) に配置することができます。
  • 一次PLLのコンフィグレーションをクアッド2に配置すると、リファレンス・クロック [8] (クアッド2からアクセス可能) をRXリカバリークロックを提供する出力としてコンフィグレーションすることはできません。
  • 一次PLLのコンフィグレーションをクアッド3に配置すると、リファレンス・クロック [9] (クアッド3からアクセス可能) をRXリカバリークロックを提供する出力としてコンフィグレーションすることはできません。
注: 詳細は、F-tile Architecture User Guide で、FGT PLL Configuration を参照してください。

フラクショナル・モードでの k カウンター値の調整

1、2、または4つのPMAレーンのあるデザインの場合、FGT PMAをフラクショナル・モードにコンフィグレーションし、レートマッチングの目的で周波数とデータレートを少しずつ調整することができます。
  • PMAレーンの数が1の場合は、Enable TX FGT PLL fractional mode をオンにしてPMAリファレンス・クロック周波数を141MHzに設定し、レーンの k カウンター値を調整します。
  • PMAレーンの数が2または4の場合は、Enable TX FGT PLL fractional mode および Enable TX FGT PLL cascade mode をオンにして、PMAリファレンス・クロック周波数を141MHzに設定し、一次レーンの k カウンター値を調整します。
OTN (Optical Transport Network) と SDI (Serial Digital Interface) のジッター仕様を満たす際に、フラクション値の動的な変更には次の制限があります。
  • 最大ステップサイズ: 2.5ppm
  • ステップ間の最短時間: 1us
OTNまたはSDIのジッター仕様がデザインに適用されない場合に、ロックを失うことなくデータレートを調整する場合は、フラクション値の動的な変更に次の制限があります。
  • 最大ステップサイズ: 100ppm
  • ステップ間の最短時間: 不明
インテルでは、可能な範囲でこの期間を長くすることで、安定したパフォーマンスを得ることを推奨しています。

各 FGT PMAには、k カウンターを含む Avalon® メモリーマップド・インターフェイス・レジスターがあります。 k カウンター / 2^22 により、フィードバック・カウンターのフラクション値 K を取得します。フラクション値 KM カウンター値を加算すると合計フィードバック・カウンターになり、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はクアッドで構成されます。k カウンターとストローブビットの Avalon® メモリーマップド・インターフェイス・ レジスター・アドレスは、クアッド内のトランシーバーの位置と使用されるPLL (低速、中速、高速) によって決まります。詳細は、次の表のとおりです。

表 78.  FGT PMAフラクショナル・モードの k カウンターおよびストローブのレジスターアドレス
クアッド内のチャネル位置 PLL フラクショナルの k カウンターレジスター ストローブレジスター
0 低速 0x44000[30:9] 0x4400C[17]
中速 0x44100[30:9] 0x4410C[17]
高速 0x44200[30:9] 0x4420C[17]
1 低速 0x4C000[30:9] 0x4C00C[17]
中速 0x4C100[30:9] 0x4C10C[17]
高速 0x4C200[30:9] 0x4C20C[17]
2 低速 0x54000[30:9] 0x5r00C[17]
中速 0x54100[30:9] 0x5410C[17]
高速 0x54200[30:9] 0x5420C[17]
3 低速 0x5C000[30:9] 0x5C00C[17]
中速 0x5C100[30:9] 0x5C10C[17]
高速 0x5C200[30:9] 0x5C20C[17]
トランシーバーの位置と選択されているPLLは、次の図で示すように、 Quartus® Prime プロ・エディションで生成される <design_name>.syn.rpt で確認することができます。
図 82.  Quartus® Prime プロ・エディションの合成コンパイル結果例
; 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がクアッド3、チャネル3に配置され、中速PLLが使用されています。M カウンターは39 (000100111)、公称 K 値は0.057 (0000111010100111001110/2^22) です。k カウンターのLSBは6ppb (10億分の1) (1/2^22/39.057) を表します。k カウンターのレジスターアドレスは 0x5C100[30:9]、ストローブレジスターのビット・アドレスは 0x5C10C[17] です。