インテルのみ表示可能 — GUID: chu1575395984050
Ixiasoft
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)
インテルのみ表示可能 — GUID: chu1575395984050
Ixiasoft
D. ミッションモードからチャネル保護モードへのリコンフィグレーションの詳細手順
チャネルを保護モードにリコンフィグレーションする場合は、次のシーケンスを使用してください。
- ミッションモードにPAM4を使用している場合は、Preserve Unused Transceiver Channelsをオンにします。
- tx_reset または rx_reset をアサートします。
- tx_ready または rx_ready がデアサートするのを待ちます。
- PMA属性コード0x0001を使用してPMAをディスエーブルします。
- 0x8A[7] = 0x1を書き込み、PMA属性ステータスフラグ (前の属性の0x8A[7]) がクリアされるようにします。これは、レジスター0x84 ~ 0x87に書き込み、新しいPMA属性をロードする前に行います。
- 0x84[7:0] = 0x00を書き込みます。
- 0x85[7:0] = 0x00を書き込みます。
- 0x86[7:0] = 0x01を書き込みます。
- 0x87[7:0] = 0x00を書き込みます。
- 0x90[0] = 1'b1を書き込みます。
- 0x8A[7] を読み出します。これは1である必要があります。
- 0x8B[0] を読み出します。0に変わるまで行います。
- 0x8A[7] を1'b1に書き込み、0x8A[7] 値をクリアします。
- tx_pma_ready または rx_pma_ready がデアサートするのを待ちます。
- PMA内の内部コントローラーをリセットします。
- 0x200[7:0] = 0x00を書き込みます。
- 0x201[7:0] = 0x00を書き込みます。
- 0x202[7:0] = 0x00を書き込みます。
- 0x203[7:0] = 0x81を書き込みます。
- 0x80になるまで0x207を読み出します。これは、動作が正常に完了したことを示します。
- TXおよびRXエンコーディングをNRZモードに設定し、TXおよびRX幅を32ビットに設定します。
- 0x84[7:0] = 0x55を書き込みます。
- 0x85[7:0] = 0x00を書き込みます。
- 0x86[7:0] = 0x14を書き込みます。
- 0x87[7:0] = 0x00を書き込みます。
- 0x90[0] = 1'b1を書き込みます。
- 0x8A[7] を読み出します。これは1である必要があります。
- 0x8B[0] を読み出します。0に変わるまで行います。
- 0x8A[7] を1'b1に書き込み、0x8A[7] 値をクリアします。
- TXボーレートを設定します。
- 目的のTXリファレンス・クロック乗数を計算して、2500/refclock_freq_in_MHz に最も近い有効な値にします。例えば、リファレンス・クロック周波数が156.25MHzの場合、算出されるリファレンス・クロック乗数は16になります。これは、有効な乗数です。同じ値をTXおよびRXリファレンス・クロックの乗数に対して使用します。
- 0x84[7:0] = 0x10を書き込みます (この例では、10進数の16に対するものです)。
- 0x85[7:0] = 0x10を書き込みます。
- 0x86[7:0] = 0x05を書き込みます。
- 0x87[7:0] = 0x00を書き込みます。
- 0x90[0] = 1'b1を書き込みます。
- 0x8A[7] を読み出します。これは1である必要があります。
- 0x8B[0] を読み出します。0に変わるまで行います。
- 0x8A[7] を1'b1に書き込み、0x8A[7] 値をクリアします。
- RXボーレートを設定します。
- 目的のTXリファレンス・クロック乗数を計算して、2500/refclock_freq_in_MHz に最も近い有効な値にします。例えば、リファレンス・クロック周波数が156.25MHzの場合、算出されるリファレンス・クロック乗数は16になります。これは、有効な乗数です。同じ値をTXおよびRXリファレンス・クロックの乗数に対して使用します。
- 0x84[7:0] = 0x10を書き込みます (この例では、10進数の16に対するものです)。
- 0x85[7:0] = 0x10を書き込みます。
- 0x86[7:0] = 0x06を書き込みます。
- 0x87[7:0] = 0x00を書き込みます。
- 0x90[0] = 1'b1を書き込みます。
- 0x8A[7] を読み出します。これは1である必要があります。
- 0x8B[0] を読み出します。0に変わるまで行います。
- 0x8A[7] を1'b1に書き込み、0x8A[7] 値をクリアします。
- PRBSコントロールをPRBS7に設定します。
- 0x84[7:0] = 0x20を書き込みます。
- 0x85[7:0] = 0x01を書き込みます。
- 0x86[7:0] = 0x02を書き込みます。
- 0x87[7:0] = 0x00を書き込みます。
- 0x90[0] = 1'b1を書き込みます。
- 0x8A[7] を読み出します。これは1である必要があります。
- 0x8B[0] を読み出します。0に変わるまで行います。
- 0x8A[7] を1'b1に書き込み、0x8A[7] 値をクリアします。
- PMAを内部シリアル・ループバックに設定します。
- 0x84[7:0] = 0x01を書き込みます。
- 0x85[7:0] = 0x01を書き込みます。
- 0x86[7:0] = 0x08を書き込みます。
- 0x87[7:0] = 0x00を書き込みます。
- 0x90[0] = 1'b1を書き込みます。
- 0x8A[7] を読み出します。これは1である必要があります。
- 0x8B[0] を読み出します。0に変わるまで行います。
- 0x8A[7] を1'b1に書き込み、0x8A[7] 値をクリアします。
- チャネル保護モードに入る前に、ミッションモードのチャネルに対するミッションモードの設定項目を保存します。このとき使用する値は、アドレス0x05、0x07、および0x38からのものです。
- トランシーバー・インターフェイスDCCをセットアップします。read-modify-writeを使用して、ビット1:0のみを変更します。
- 0x38[1:0] = 2'b01を書き込みます。
- RXクロックを設定します。read-modify-writeを使用して、ビット7と1のみを設定します。
- 0x07[7] = 1'b0を書き込みます。
- 0x07[1] = 1'b0を書き込みます。
- TXクロックを設定します。read-modify-writeを使用して、ビット7:2のみを設定します。
- 0x05[7:2] = 6'b000010を書き込みます。
- PMA属性コード0x0001でPMAのTXおよびRXをイネーブルします。これにより、このチャネルのTXドライバーがディスエーブルされます。
- 0x84[7:0] = 0x03を書き込みます。
- 0x85[7:0] = 0x00を書き込みます。
- 0x86[7:0] = 0x01を書き込みます。
- 0x87[7:0] = 0x00を書き込みます。
- 0x90[0] = 1'b1を書き込みます。
- 0x8A[7] を読み出します。これは1である必要があります。
- 0x8B[0] を読み出します。0に変わるまで行います。
- 0x8A[7] を1'b1に書き込み、0x8A[7] 値をクリアします。
- tx_pma_ready または rx_pma_ready がアサートするのを待ちます。
- 初期アダプテーションを実行します。