インテル® Stratix® 10 LタイルおよびHタイル・トランシーバーPHYユーザーガイド

ID 683621
日付 3/03/2020
Public
ドキュメント目次

7.1. PreSICE (Precision Signal Integrity Calibration Engine) を使用したリコンフィグレーション・インターフェイスおよびアービトレーション

インテルStratix 10デバイスでは、キャリブレーションはPreSICEを使用して行われます。PreSICEは、トランシーバー・チャネルおよびプログラマブル・レジスターにアクセスするAvalon-MMインターフェイスを備えています。このAvalon-MMインターフェイスには、キャリブレーション・コントローラーから特定のキャリブレーション・シーケンスを要求できる通信メカニズムが含まれています。

PreSICE Avalon-MMインターフェイスおよびユーザーAvalon-MMインターフェイスのリコンフィグレーションは、どちらもの内部コンフィグレーション・バスを共有します。このバスは、トランシーバー・チャネルおよびPLLプログラマブル・レジスター、およびキャリブレーション・レジスターへアクセスするようアービトレーションされます。

どのレジスターが内部コンフィグレーション・バスへアクセスしているかを確認するには、2通りの方法があります。

  • ダイナミック・リコンフィグレーション・インターフェイス reconfig_waitrequest を使用する
  • ケイパビリティー・レジスターを使用する

ネイティブPHY IPコアおよびPLLのデフォルト設定では、reconfig_waitrequest が使用されます。PreSICEが内部コンフィグレーション・バスを制御する場合、内部コンフィグレーション・バスからの reconfig_waitrequest はHighとなります。ユーザーアクセスが許可されると、内部コンフィグレーション・バスからの reconfig_waitrequest 信号はLowになります。

ケイパビリティー・レジスターを使用してバス・アービトレーションを確認するためには、以下の手順を実行します。

  1. PHYおよびPLL GUIのDynamic ReconfigurationタブからEnable dynamic reconfigurationを選択します。
  2. Separate reconfig_waitrequest from the status of AVMM arbitration with PreSICEオプションおよびEnable control and status registersオプションの両方を選択します。
ケイパビリティー・レジスター0x481[2]を読み出すことで、何がチャネルアクセスを制御しているのかを識別します。ケイパビリティー・レジスター0x480[2]を読み出すことで、何がATXおよびfPLLアクセスを制御しているのかを識別します。
注: Separate reconfig_waitrequest from the status of AVMM arbitration with PreSICEおよびEnable control and status registersがイネーブルされている場合、PreSICEが内部コンフィグレーション・バスを制御する際、reconfig_waitrequest がHighでアサートされることはありません。

PreSICEに内部コンフィグレーション・バスを戻すには以下を実行します。

  • オフセット・アドレス0x100からいずれかのキャリブレーション・ビットがイネーブルされている場合、オフセット・アドレス0x0[0]に0x1を書き込みます。
  • オフセット・アドレス0x100からキャリブレーション・ビットがイネーブルされていない場合、オフセット・アドレス0x0[1:0]に0x3を書き込みます。

キャリブレーション処理が実行中であることを確認するには、以下のいずれかを実行します。

  • pll_cal_busytx_cal_busy、および rx_cal_busy ネイティブPHY出力信号を監視します。
  • ケイパビリティー・レジスターから tx/rx/pll_cal_busy 信号のステータスを読み出します。

tx/rx/pll_cal_busy 信号は、キャリブレーション・プロセスが実行されている限り、信号はアサートされた状態を保持します。キャリブレーションが完了したかどうかを確認するには、ケイパビリティー・レジスターを読み出すか、tx/rx/pll_cal_busy 信号を確認します。PMA tx_cal_busy および rx_cal_busy は同一の内部ノードから発出しており、ハードウェアから切り離すことはできません。ケイパビリティー・レジスター0x481[5:4]は、tx_cal_busy または rx_cal_busy を個別にイネーブルまたはディスエーブルできます。ケイパビリティー・レジスター0x481[5:4]を使用して tx_cal_busy および rx_cal_busy を切り離すことは、信号物理チャネルへのシンプレックスTXおよびRXマージではサポートされていません。詳細については、ケイパビリティー・レジスターを参照してください。