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

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

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

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

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

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

ハードPHYからの tx_cal_busy および rx_cal_busy 信号は同じハードウェアから発出しており、キャリブレーション中にステート (High/Low) を同時に変化します。レジスタービット0x481[5:4]は、この問題を解決するために定義されています。これにより、TXチャネルがRXキャリブレーションに影響されたり、RXチャネルがTXキャリブレーションに影響されるのを防ぎます。TXキャリブレーション中に rx_cal_busy を変更しない場合は、バスをPreSICEに戻す前に、0x481[5]を0x0に設定する必要があります。TXキャリブレーションのため、チャネルRXはリセットされません。RXキャリブレーション中に tx_cal_busy を変更しない場合は、バスをPreSICEに戻す前に、0x481[4]を0x0に設定する必要があります。RXキャリブレーションのため、チャネルTXはリセットされません。誤って0x00から0x481[5:4]と書き込んだ場合、tx_cal_busy または rx_cal_busy 出力ポートがHighにアクティブ化されることはありません。0x481[1:0]レジスターはどちらもアサートしません。チャネルマージに関与する場合、またはTXシンプレックスおよびRXシンプレックスが単一の物理チャネルにマージされる場合、この機能はイネーブルできません。

注: TXシンプレックスおよびRXシンプレックスを同じ物理チャネルにマージする場合、バックグラウンド・キャリブレーション機能をイネーブルすることはできません。

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

図 246. カスタマイズされたロジックとして使用されるANDゲートの例次の図に示すカスタマイズされたゲートは一例であり、独自のソリューションではありません。
ケイパビリティー・レジスターは、同一の物理チャネルにSimplex TXおよびSimplex RX信号をマージするには使用できません。tx_cal_busy_out 信号および rx_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はリセットされません。

0x481[2]レジスターを使用し、Avalon-MMインターフェイスのリコンフィグレーションを介してバス・アービトレーションを確認できます。この機能は、Dynamic ReconfigurationタブでSeparate reconfig_waitrequest from the status of AVMM arbitration with PreSICEがイネーブルになっているかどうかに関係なく使用可能です。ATX PLLおよびfPLLは、バス・アービトレーション・ステータスに0x480[2]レジスターを使用します。

表 170.  キャリブレーション・ステータスのPMAケイパビリティー・レジスター
ビット 説明
0x481[5]

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

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

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

0x481[4]

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

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

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

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

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

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

0x481[1]

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

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

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

0x481[0]

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

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

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

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

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

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

0x480[1]

ATX PLL pll_cal_busy

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

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

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

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

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

0x480[1]

fPLL pll_cal_busy

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

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

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

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

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

0x480[1]

CMU PLL pll_cal_busy

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

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

51 CDRおよびCMU PLLキャリブレーションは、RX PMAキャリブレーションの一部です。