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

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

3.6.5.1. FGT RX CDRクロック出力の動的なコンフィグレーション

例えば、デザインに4つのPMAレーンがあり、次のように4つのチャネルすべてをクアッド3に配置するとします。
  • 論理レーン0をクアッド3、レーン3に配置
  • 論理レーン1をクアッド3、レーン2に配置
  • 論理レーン2をクアッド3、レーン1に配置
  • 論理レーン3をクアッド3、レーン0に配置

rx_cdr_divclk_link0 を有効にし、ソースを0に設定することができます。論理レーン0は物理クアッド3、レーン3に配置されます。この出力ポートはリファレンス・クロック9に接続します。次の例では、オペコード 0xB1 を介し、FGT属性アクセス方法を使用してRX CDRクロック出力をコンフィグレーションする手順を説明します。詳細は、FGT属性アクセス方式を参照してください。

出力はリファレンス・クロック9に接続されるため、クアッド3の任意のPMAレーンのRX CDRクロックレジスターを介して出力をコンフィグレーションすることができます。例えば、レーン0、レーン1、レーン2、またはレーン3のRX CDRクロックレジスターを使用することができます。次の例では、クアッド3、レーン3を使用しています。

RX CDRクロック出力を無効化する手順

  1. rx_reset をアサートします。
  2. 0x0A3B1 をアドレス 0x9003C に書き込みます。
    • 0x0: rx_cdr_divclk_link0 を無効にするRX CDRクロックのデータフィールド

    • 0xA: サービスを要求するオプションのフィールド。リセット・パラメーターとセット・パラメーターの設定はなし

    • 0x3: 物理レーン3のレーン番号フィールド

    • 0xB1: RX CDRクロックのオペコードフィールド

  3. アドレス 0x90040 をポーリングし、bit 14 = 1'b0 および bit 15 = 1'b1 を確認します。
  4. 0x023B1 をアドレス 0x9003C に書き込みます。
    • 0x0: RX CDRクロックのデータフィールド

    • 0x2: サービス要求をデアサートするオプションのフィールド。リセット・パラメーターとセット・パラメーターの設定はなし

    • 0x3: 物理レーン3のレーン番号フィールド

    • 0xB1: RX CDRクロックのオペコードフィールド

  5. アドレス 0x90040 をポーリングし、bit 14 = 1'b0 および bit 15 = 1'b0 を確認します。
  6. rx_reset をデアサートします。

物理レーン3をソースとするRX CDRクロック出力を有効化する手順

  1. rx_reset をアサートします。
  2. 0xE000A3B1 をアドレス 0x9003C に書き込みます。
    • 0xE000: RX CDRクロックのデータフィールドで、物理レーン3をソースとして rx_cdr_divclk_link0 を有効にします。

    • 0xA: サービスを要求するオプションのフィールド。リセット・パラメーターとセット・パラメーターの設定はなし

    • 0x3: 物理レーン3のレーン番号フィールド

    • 0xB1: RX CDRクロックのオペコードフィールド

  3. アドレス 0x90040 をポーリングし、bit 14 = 1'b0 および bit 15 = 1'b1 を確認します。
  4. 0xE00023B1 をアドレス 0x9003C に書き込みます。
    • 0xE000: RX CDRクロックのデータフィールド

    • 0x2: サービス要求をデアサートするオプションのフィールド。リセット・パラメーターとセット・パラメーターの設定はなし

    • 0x3: 物理レーン3のレーン番号フィールド

    • 0xB1: RX CDRクロックのオペコードフィールド

  5. アドレス 0x90040 をポーリングし、bit 14 = 1'b0 および bit 15 = 1'b0 を確認します。
  6. rx_reset をデアサートします。

RX CDRクロック出力ステータスの読み出し手順

  1. rx_reset をアサートします。
  2. 0x083B1 をアドレス 0x9003C に書き込みます。
    • 0x0: RX CDRクロックのデータフィールド

    • 0x8: サービスを要求するオプションのフィールド。リセット・パラメーターとセット・パラメーターの設定はなし

    • 0x3: 物理レーン3のレーン番号フィールド

    • 0xB1: RX CDRクロックのオペコードフィールド

  3. アドレス 0x90040 を読み出します。
    • Bit[28:25]: rx_cdr_divclk_link0 ソースのレーン ID を表す。値が3以下の場合、rx_cdr_divclk_link0 は有効。値が0xFの場合、rx_cdr_divclk_link0 は無効
  4. アドレス 0x90040 をポーリングし、bit 14 = 1'b0 および bit 15 = 1'b1 を確認します。
  5. 0x003B1 をアドレス 0x9003C に書き込みます。
    • 0x0: RX CDRクロックのデータフィールド

    • 0x0: サービス要求をデアサートするオプションのフィールド。リセット・パラメーターとセット・パラメーターの設定はなし

    • 0x3: 物理レーン3のレーン番号フィールド

    • 0xB1: RX CDRクロックのオペコードフィールド

  6. アドレス 0x90040 をポーリングし、bit 14 = 1'b0 および bit 15 = 1'b0 を確認します。
  7. rx_reset をデアサートします。

RX CDRクロック出力ソースを物理レーン1に変更する手順

  1. rx_reset をアサートします。
  2. 0x6000A3B1 をアドレス 0x9003C に書き込みます。
    • 0x6000: RX CDRクロックのデータフィールドで、物理レーン1をソースとして rx_cdr_divclk_link0 を有効にします。

    • 0xA: サービスを要求するオプションのフィールド。リセット・パラメーターとセット・パラメーターの設定はなし

    • 0x3: 物理レーン3のレーン番号フィールド

    • 0xB1: RX CDRクロックのオペコードフィールド

  3. アドレス 0x90040 をポーリングし、bit 14 = 1'b0 および bit 15 = 1'b1 を確認します。
  4. 0x600023B1 をアドレス 0x9003C に書き込みます。
    • 0x6000: RX CDRクロックのデータフィールド

    • 0x2: サービス要求をデアサートするオプションのフィールド。リセット・パラメーターとセット・パラメーターの設定はなし

    • 0x3: 物理レーン3のレーン番号フィールド

    • 0xB1: RX CDRクロックのオペコードフィールド

  5. アドレス 0x90040 をポーリングし、bit 14 = 1'b0 および bit 15 = 1'b0 を確認します。
  6. rx_reset をデアサートします。