インテル® Arria® 10 トランシーバーPHY ユーザーガイド

ID 683617
日付 4/20/2017
Public
ドキュメント目次

7.5.5.1. ユーザー・リキャリブレーション

ユーザー・リキャリブレーションは、Avalon-MM リコンフィグレーション・インターフェイスを介した内部コンフィグレーション・バスおよびキャリブレーション・レジスターへのアクセスを必要とします。ユーザー・リキャリブレーションを実行するには、以下の手順に従います。

  1. アプリケーションでATX PLL を使用していない場合は次の手順に進みます。ATX PLL を使用しているのであればATX PLL キャリブレーション処理を実行します。
    1. オフセットアドレス0x0[7:0]に0x2 をライトし、内部コンフィグレーション・バスへのアクセスをリクエストします。
    2. reconfig_waitrequest がデアサート (ロジックLow) されるまで待機します。または、PreSICE Avalon-MM インターフェイス・コントロールのケーパビリティー・レジスター0x280[2]が0x0 となるまで待機します。
    3. ATX PLL のオフセットアドレス0x100[0]へ0x1 をRead-Modify-Write します。
    4. オフセットアドレス0x0[7:0]に0x1 を書き込むことによって、リキャリブレーションを実行するためにPreSICE に内部コンフィグレーション・バスをリリースします。
    5. キャリブレーションが完了するまで、*cal_busy 出力信号を定期的に確認するか、あるいは*cal_busy ステータスを確認するためにケーパビリティー・レジスター0x280[1]をリードします。
    ATX PLL をリキャリブレーションし、隣接するATX PLL をデバイスの同じ側で使用する場合は、「ATX PLL およびfPLL を使用する場合における送信PLL の間隔ガイドライン」の項に記載されているように、ATX PLL 間の間隔ガイドラインに従ってください。
  2. アプリケーションでfPLL を使用していない場合は次の手順に進みます。fPLL を使用しているのであればfPLL ユーザー・リキャリブレーション処理を実行します。
    1. オフセットアドレス0x0[7:0]に0x2 をライトし、内部コンフィグレーション・バスにアクセスします。
    2. reconfig_waitrequest がデアサート (ロジックLow) されるまで待機します。または、PreSICE Avalon-MM インターフェイス・コントロールのケーパビリティー・レジスター0x280[2]が0x0 となるまで待機します。
    3. fPLL のオフセットアドレス0x100[1]へ0x1 をRead-Modify-Write します。
    4. オフセットアドレス0x0[7:0]に0x1 を書き込むことによって、リキャリブレーションを実行するためにPreSICE に内部コンフィグレーション・バスをリリースします。
    5. キャリブレーションが完了するまで、*cal_busy 出力信号を定期的に確認するか、あるいは*cal_busy ステータスを確認するためにケーパビリティー・レジスター0x280[1]をリードします。
    fPLL をリキャリブレーションし、隣接するATX PLL をデバイスの同じ側で使用する場合は、「ATX PLL およびfPLL を使用する場合における送信PLL の間隔ガイドライン」の項に記載されているように、ATX PLL とfPLL 間の間隔ガイドラインに従ってください。
  3. PMA ユーザー・リキャリブレーション・プロセスを実行します。
    1. オフセットアドレス0x0[7:0]に0x2 をライトし、内部コンフィグレーション・バスへのアクセスをリクエストします。
    2. reconfig_waitrequest がデアサート (ロジックLow) されるまで待機します。または、PreSICE Avalon-MM インターフェイス・コントロールのケーパビリティー・レジスター0x281[2]が0x0 となるまで待機します。
    3. PMA のキャリブレーション・イネーブルレジスター0x100 をコンフィグレーションします。任意のキャリブレーションをイネーブルするには、0x0 を0x100[6]に設定する必要があります。
      • 0x1 を0x100[1]へRead-Modify-Write し、PMA RX キャリブレーションを開始する
      • 0x1 を0x100[5]へRead-Modify-Write し、PMA TX キャリブレーションを開始する
    4. 別のCDR 帯域幅設定でレートを切り替えた場合、レート・スイッチ・フラグ・レジスターにRead-Modify-Write を実行してください。
    5. rx_cal_busy およびtx_cal_busy をイネーブル/ディスエーブルするには、0x281[5:4]にRead-Modify-Write を実行してください。
      • rx_cal_busy をイネーブルするには、0x281[5]に0x1 をライトする
      • rx_cal_busy をディスエーブルするには、0x281[5]に0x0 をライトする
      • tx_cal_busy をイネーブルするには、0x281[4]に0x1 をライトする
      • tx_cal_busy をディスエーブルするには、0x281[4]に0x0 をライトする
    6. オフセットアドレス0x0[7:0]に0x1 を書き込むことによって、リキャリブレーションを実行するためにPreSICE に内部コンフィグレーション・バスをリリースします。
    7. キャリブレーションが完了するまで、tx_cal_busy およびrx_cal_busy 出力信号を確認するためにループを実行するか、または*cal_busy ステータスを確認するためにケーパビリティー・レジスター0x281[1:0]をリードします。