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

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

7.2.5. ケーパビリティー・レジスター

ケーパビリティー・レジスターを使用することで、Avalon-MM リコンフィグレーション・インターフェイスを介してキャリブレーション・ステータスをリードすることが可能です。ケーパビリティー・レジスターはソフトロジックであり、FPGA ファブリック内に位置しています。

ケーパビリティー・レジスターのリードは、バス・アービトレーションを必要としません。ケーパビリティー・レジスターはキャリブレーション処理中のリードが可能です。

キャリブレーション・ステータスの確認にケーパビリティー・レジスターを使用するには、ネイティブPHY おるいはPLL IP コアを生成する際にケーパビリティー・レジスターをイネーブルする必要があります。ケーパビリティー・レジスターをイネーブルするには、Dynamic Reconfiguration タブのEnable capability registers オプションを選択します。

ハードPHY からのtx_cal_busy 信号とrx_cal_busy 信号は、同じハードウェアから発出しており、キャリブレーション中にステータス (High/Low) は同時に変化します。レジスタービット0x281[5:4]は、この問題を解決するために定義されており、TX チャネルがRX キャリブレーションに影響されること、RX チャネルがTX キャリブレーションに影響されることを防ぎます。この機能は、Simplex TX チャネルとSimplex RX チャネルがチャネルマージに関与する場合ではイネーブルできません。Simplex TX チャネルおよびSimplex RX チャネルを1 つの物理チャネルにマージする方法については、複数のIP ブロックにわたってマージするダイナミック・リコンフィグレーション・インターフェイスを参照してください。

tx_cal_busy およびrx_cal_busy 信号を分離してカスタマイズされたゲーティング・ロジックを構築する規則

図 275. カスタマイズされたロジックとして使用されるAND ゲートの例

ケーパビリティー・レジスターは、同一の物理チャネルにSimplex TX とSimplex RX 信号をマージするには使用できません。tx_cal_busy_outrx_cal_busy_out 信号が同じポートを共有しています。そのため、それらを分離するためにカスタマイズされたゲーティング論理を構築する必要があります。
  • tx_cal_busy_out_en 信号は、tx_cal_busy 出力をイネーブルする
  • rx_cal_busy_out_en 信号は、rx_cal_busy 出力をイネーブルする
  • 電源投入時に、tx_cal_busy_out_en およびrx_cal_busy_out_en は「1」に設定する必要がある
  • 通常動作時に、
    • RX がキャリブレーションしている時に、tx_cal_busy_out_en を「0」に、そしてrx_cal_busy_out_en を「1」に設定すると、tx_cal_busy がディスエーブルされます。したがって、RX がキャリブレーションしている時にTX はリセットされません。
    • TX がキャリブレーションしている時に、rx_cal_busy_out_en を「0」に、そしてtx_cal_busy_out_en を「1」に設定すると、rx_cal_busy がディスエーブルされます。したがって、TX がキャリブレーションしている時にRX はリセットされません。
表 297.  キャリブレーション・ステータスのPMA ケーパビリティー・レジスター
ビット 説明
0x281[5]

PMA チャネルrx_cal_busy 出力イネーブル。パワーアップのデフォルト値は0x1 です。

0x1:rx_cal_busy 出力および0x281[1]は、PMA TX あるいはRX キャリブレーションが実行中であれば常にHigh でアサートされます。

0x0:rx_cal_busy 出力および0x281[1]は、High でアサートされることはありません。

0x281[4]

PMA チャネルtx_cal_busy 出力イネーブル。パワーアップのデフォルト値は0x1 です。

0x1:tx_cal_busy 出力および0x281[0]は、PMA TX あるいはRX キャリブレーションが実行中であれば常にHigh でアサートされます。

0x0:tx_cal_busy 出力および0x281[0]は、High でアサートされることはありません。

0x281[2] PreSICe のAvalon-MM インターフェイス制御。このレジスターは、バス (PreSICE とのAVMM アービトレーションのステータスから別のreconfig_waitrequest がイネーブルされているかどうかに関係なく) を制御する方を確認するために使用可能です。

0x1:PreSICE が内部コンフィグレーション・バスを制御しています。

0x0:ユーザーが内部コンフィグレーション・バスを制御しています。

0x281[1]

PMA チャネルrx_cal_busy アクティブHigh

0x1:PMA RX キャリブレーションが実行中です。

0x1:PMA RX キャリブレーションが完了しています。

0x281[0]

PMA チャネルtx_cal_busy アクティブHigh

0x1:PMA TX キャリブレーションが実行中です。

0x0:PMA TX キャリブレーションが完了しています。

PMA 0x281[5:4]は、TX およびRX キャリブレーション・ビジー・ステータスを分離するために使用されます。rx_cal_busy がTX キャリブレーション中に変更しないようにするには、バスをPreSICE へ戻す前に0x281[5]を0x0 に設定する必要があります。チャネルRX は、TX キャリブレーションによりリセットされることはありません。tx_cal_busy がRX キャリブレーション中に変更しないようにするには、バスをPreSICE へ戻す前に0x281[4]を0x0 に設定する必要があります。チャネルTX は、RX キャリブレーションによりリセットされることはありません。0x00 を0x281[5:4]に誤ってライトした場合、tx_cal_busyrx_cal_busy はユーザー・インターフェイスでHigh でアクティブとなることはありません。どちらの0x281[1:0]レジスターもHigh となることはありません。

表 298.  キャリブレーション・ステータスのATX PLL ケーパビリティー・レジスター
ビット 説明
0x280[2] PreSICe のAvalon-MM インターフェイス制御。このレジスターは、バス (PreSICE とのAVMM アービトレーションのステータスから別のreconfig_waitrequest がイネーブルされているかどうかに関係なく) を制御する方を確認するために使用可能です。

0x1:PreSICE が内部コンフィグレーション・バスを制御しています。

0x0:ユーザーが内部コンフィグレーション・バスを制御しています。

0x280[1]

ATX PLL pll_cal_busy

0x1:ATX PLL キャリブレーションが実行中です。

0x0:ATX PLL キャリブレーションが完了しています。

表 299.  キャリブレーション・ステータスのfPLL ケーパビリティー・レジスター
ビット 説明
0x280[2] PreSICE のAvalon-MM インターフェイス制御。

0x1:PreSICE は内部コンフィグレーション・バスを制御しています。このレジスターは、バス (PreSICE とのAVMM アービトレーションのステータスから別のreconfig_waitrequest がイネーブルされているかどうかに関係なく) を制御する方を確認するために使用可能です。

0x0:ユーザーが内部コンフィグレーション・バスを制御しています。

0x280[1]

fPLL pll_cal_busy

0x1:fPLL キャリブレーションが実行中です。

0x0:fPLL キャリブレーションが完了しています。