1. Eタイル・トランシーバーPHYの概要
2. トランシーバーPHYレイヤーの実装
3. Eタイル・トランシーバーPHYのアーキテクチャー
4. クロック・ネットワーク
5. PMAのキャリブレーション
6. トランシーバー・チャネルのリセット
7. ダイナミック・リコンフィグレーション
8. ダイナミック・リコンフィグレーションの例
9. レジスターマップ
10. Eタイル・トランシーバー・リンクのデバッグ
A. E-Tile Channel Placement Tool
B. PMA Direct PAM4 30Gbpsから57.8Gbpsの実装
C. 信号検出アルゴリズム
D. ミッションモードからチャネル保護モードへのリコンフィグレーションの詳細手順
E. チャネル保護モードからミッションモードへのリコンフィグレーションの詳細手順
F. ホールド時間違反
4.2.1. PMA Directチャネル 25Gbps x 1 (FECオン、シングルFECブロック内)
4.2.2. PMA Direct チャネル10Gbps x 1 (FECオフ)
4.2.3. PMA Directチャネル 25Gbps x 4 (FECオン、シングルFECブロック内)
4.2.4. PMA Direct 25Gbps x 4 (FECオフ)
4.2.5. PMA Direct 10.3125Gbps x 4
4.2.6. PMA Direct 100GE 25Gbps x 4 (FECオン)
4.2.7. PMA Direct 100GE PAM4 50Gbps x 2 (アグリゲートFECオン)
4.2.8. PMA Direct High Data Rate (FECオフ)
7.1. チャネルブロックのダイナミック・リコンフィグレーション
7.2. ダイナミック・リコンフィグレーション最大データレートの切り替え
7.3. ダイナミック・リコンフィグレーション・インターフェイスとのインタラクション
7.4. サポートされない機能
7.5. ダイナミック・リコンフィグレーション・インターフェイスからの読み出し
7.6. ダイナミック・リコンフィグレーション・インターフェイスへの書き込み
7.7. 複数のリコンフィグレーション・プロファイル
7.8. アービトレーション
7.9. PMAダイナミック・リコンフィグレーションに関する推奨事項
7.10. ダイナミック・リコンフィグレーションの実行手順
7.11. PMA属性の詳細
7.12. 特殊なケースでのダイナミック・リコンフィグレーション・フロー
7.13. ポートとパラメーター
7.14. エンベデッド・デバッグ機能
7.15. タイミング・クロージャーに関する推奨事項
7.16. トランシーバー・レジスター・マップ
7.17. IPコンフィグレーション設定をロードする
7.18. ダイナミック・リコンフィグレーションの改訂履歴
8.1. リセット・コントローラーを自動モードで使用したデュプレックスPMAのリコンフィグレーション
8.2. PRBS使用モデル
8.3. PMAエラー・インジェクション
8.4. PMAレシーバー・イコライゼーション・アダプテーションの使用モデル
8.5. ユーザー定義パターンの例
8.6. 減衰値 (VOD) のコンフィグレーション
8.7. ポスト・エンファシス値のコンフィグレーション
8.8. pretap1 値のコンフィグレーション
8.9. PMAドライバーのTX極性の反転
8.10. PMAドライバーのRX極性の反転
8.11. アダプティブ・エンジンによって調整可能なPMAパラメーターのコンフィグレーション
8.12. ネイティブPHY IPを使用したPMAパラメーターのコンフィグレーション
8.13. 複数のチャネルで低電力モードをイネーブルする
8.14. RXの初期化
8.15. RXイコライゼーションをリセットする
8.16. ダイナミック・リコンフィグレーションの例の改訂履歴
9.2.1. 0x0001: PMAのイネーブル/ディスエーブル
9.2.2. 0x0002: PMA PRBS設定
9.2.3. 0x0003: データ比較のセットアップと開始/停止
9.2.4. 0x0005: TXチャネル分周比
9.2.5. 0x0006: RXチャネル分周比
9.2.6. 0x0008: 内部シリアル・ループバックおよびリバース・パラレル・ループバック制御
9.2.7. 0x000A: レシーバー調整制御
9.2.8. 0x000E: RXフェーズスリップ
9.2.9. 0x0011: PMA TX/RXキャリブレーション
9.2.10. 0x0013: TX/RX極性およびグレイコードのエンコーディング
9.2.11. 0x0014: TX/RX幅モード
9.2.12. 0x0015: TXイコライゼーション
9.2.13. 0x0017: エラー・カウンター・リセット
9.2.14. 0x0018: ステータス/デバッグレジスター
9.2.15. 0x0019: ステータス/デバッグレジスターの次の書き込みフィールド
9.2.16. 0x001A: ステータス/デバッグレジスターの次の読み出しフィールド
9.2.17. 0x001B: TXエラー・インジェクション信号
9.2.18. 0x001C: 着信RXデータキャプチャ
9.2.19. 0x001E: エラー・カウント・ステータス
9.2.20. 0x0020: 電気的アイドル検出器
9.2.21. 0x002B: RX終端とTXドライバーのトライステート動作
9.2.22. 0x0030: PMA多重化クロックスワップ
9.2.23. 0x0126: レシーバー調整パラメーターの読み出し
9.2.24. 属性を使用したPMAアナログ・パラメーターの読み出しと書き込み
9.5.1. rsfec_top_clk_cfg
9.5.2. rsfec_top_tx_cfg
9.5.3. rsfec_top_rx_cfg
9.5.4. tx_aib_dsk_conf
9.5.5. rsfec_core_cfg
9.5.6. rsfec_lane_cfg
9.5.7. tx_aib_dsk_status
9.5.8. rsfec_debug_cfg
9.5.9. rsfec_lane_tx_stat
9.5.10. rsfec_lane_tx_hold
9.5.11. rsfec_lane_tx_inten
9.5.12. rsfec_lane_rx_stat
9.5.13. rsfec_lane_rx_hold
9.5.14. rsfec_lane_rx_inten
9.5.15. rsfec_lanes_rx_stat
9.5.16. rsfec_lanes_rx_hold
9.5.17. rsfec_lanes_rx_inten
9.5.18. rsfec_ln_mapping_rx
9.5.19. rsfec_ln_skew_rx
9.5.20. rsfec_cw_pos_rx
9.5.21. rsfec_core_ecc_hold
9.5.22. rsfec_err_inj_tx
9.5.23. rsfec_err_val_tx
9.5.24. rsfec_corr_cw_cnt (Low)
9.5.25. rsfec_corr_cw_cnt (High)
9.5.26. rsfec_uncorr_cw_cnt (Low)
9.5.27. rsfec_uncorr_cw_cnt (High)
9.5.28. rsfec_corr_syms_cnt (Low)
9.5.29. rsfec_corr_cw_cnt (High)
9.5.30. rsfec_corr_0s_cnt (Low)
9.5.31. rsfec_corr_0s_cnt (High)
9.5.32. rsfec_corr_1s_cnt (Low)
9.5.33. rsfec_corr_1s_cnt (High)
F. ホールド時間違反
EタイルネイティブPHY IPのインスタンスを複数使用している場合に、予期せぬホールド時間違反が発生することがあります。この違反が発生する原因は、EMIBレジスターのクロッキングに使用する異なる2つのクロックが、別々のネイティブPHY IPインスタンスのPMAチャネルからのもので、それによりIPに、実装されたネイティブPHY IPインスタンスのチャネル間のフォールスパスができてしまうことです。
IP間のSynopsysデザイン制約 (.sdc) を実装して、別々のネイティブPHY IPインスタンスからのチャネル間のフォールスパスを切り離します。
注: この要件の対象は、 インテル® Stratix® 10デバイスのみです。 インテル® Agilex™ デバイスは対象外です。
次の図で示すネイティブPHY IPインスタンスでは、4つのチャネルがインスタンス化されています。
- 同じチャネル間のタイミングパスは有効なパスです。これを保持して、クロックスキューを制御する必要があります。
- 隣接するチャネル間のタイミングパスは無効なパスです。このパスは切断する必要があるため、.sdc ファイル内の2つのノード間にフォールスパスを設定してください。
- ネイティブPHY IPにより、set_false_path がネイティブPHY IP内のすべての隣接チャネル間に実装されます。
- 異なるネイティブPHY IPインスタンスからのチャネル間のタイミングパスも無効です。このパスは切断する必要があるため、.sdc ファイル内の2つのノード間にフォールスパスを設定してください。
図 153. 4つのチャネルがインスタンス化されたネイティブPHY IPインスタンス
例1: 同じチャネル間の正しいタイミングパス
ノードから:
xcvr_native_s10_etile_0|g_xcvr_native_insts[0].ct3_xcvr_native_inst|inst_ct3_xcvr_channel|inst_ct1_hssi_pldadapt_tx~aib_tx_internal_div.reg
ノードへ:
xcvr_native_s10_etile_0|g_xcvr_native_insts[0].ct3_xcvr_native_inst|inst_ct3_xcvr_channel|inst_ct1_hssi_pldadapt_tx~s2_6_0__aibadpt__aib_fabric_tx_transfer_clk.reg
例2: 隣接チャネル間の誤ったタイミングパス
ノードから:
xcvr_native_s10_etile_0|g_xcvr_native_insts[0].ct3_xcvr_native_inst|inst_ct3_xcvr_channel|inst_ct1_hssi_pldadapt_tx~aib_tx_internal_div.reg
ノードへ:
xcvr_native_s10_etile_0|g_xcvr_native_insts[2].ct3_xcvr_native_inst|inst_ct3_xcvr_channel|inst_ct1_hssi_pldadapt_tx~s2_6_0__aibadpt__aib_fabric_tx_transfer_clk.reg
例3: 異なるネイティブPHY IPインスタンスからのチャネル間の誤ったタイミング パス
次の図で示すデザインに含まれる複数のIPインスタンスでは、それぞれネイティブ PHY IPがインスタンス化されています。
図 154. 2つのネイティブPHY IPインスタンスの各インスタンスで4つのチャネルがインスタンス化されている場合
ノードから:
CLIENT_BK[4]|xcvr_native_s10_etile_0|g_xcvr_native_insts[0].ct3_xcvr_native_inst|inst_ct3_xcvr_channel|inst_ct1_hssi_pldadapt_tx~aib_tx_internal_div.reg
ノードへ:
CLIENT_BK[5]|xcvr_native_s10_etile_0|g_xcvr_native_insts[0].ct3_xcvr_native_inst|inst_ct3_xcvr_channel|inst_ct1_hssi_pldadapt_tx~s2_6_0__aibadpt__aib_fabric_tx_transfer_clk.reg
どちらのノードもチャネル0からのものであると言っても、ネイティブPHY IPの2つの別々のインスタンスからのものです。この場合、フォールスパスの設定は、ネイティブPHY IPインスタンスのレベルではできません。したがって、フォールスパスの設定には、プロジェクト内のハイレベルの .sdc ファイルを使用してください。
上の図で示したとおり、この追加のインテグレーター .sdc ファイルは、ネイティブPHY IPの外にあります。そこでは、適切なタイミングパスを切断する必要があります。インテルからの推奨事項は次のとおりです。
- デザイン内の無効な特定のタイミングパス (ネイティブPHY IPインスタンスによって切断されていない異なるチャネル間のパス) を特定します。
- 次に、特定したパスをハイレベル .sdc ファイルでターゲットにします。