インテルのみ表示可能 — GUID: xgn1536156406124
Ixiasoft
インテルのみ表示可能 — GUID: xgn1536156406124
Ixiasoft
9.5. RS-FECレジスター
RS-FECレジスター読み出し間の遅延は、少なくとも 10 μsにする必要があります。レジスター書き込みにはそのような要件はありません。その結果、RS-FECレジスターへの連続書き込みが可能になります。
レジスターのアドレスが0x100より大きい場合、そのレジスターを確実に読み出すには、RS-FECに有効なクロックがあることを確認してください。
EタイルネイティブPHY IPコアのRS-FECブロックのリコンフィグレーションとステータスの監視は、専用の Avalon® メモリーマップド・インターフェイスによって行われます。このインターフェイスによって、RS-FECブロックに関連付けられたコントロール・レジスターおよびステータスレジスターを読み書します。チャネル Avalon® メモリーマップド・インターフェイスと呼ばれる別の Avalon® メモリーマップド・インターフェイスによって、EタイルネイティブPHY IPコア内の他のブロックに関連付けられたコントロール・レジスターおよびステータスレジスターを読み書きします。
RS-FEC用の Avalon® メモリーマップド・インターフェイスを構成している8つのインターフェイス・ポートは、ネイティブPHY IPコアのトップレベルで公開されます。
ポート名 | 入力/出力 | クロックドメイン | 幅 | |
---|---|---|---|---|
reconfig_rsfec_clk | 入力 | ワイヤー | 該当なし | |
reconfig_rsfec_reset | 入力 | ワイヤー | reconfig_rsfec_clk | |
reconfig_rsfec_write | 入力 | ワイヤー | reconfig_rsfec_clk | |
reconfig_rsfec_read | 入力 | ワイヤー | reconfig_rsfec_clk | |
reconfig_rsfec_address | 入力 | ワイヤー | reconfig_rsfec_clk | [10:0] |
reconfig_rsfec_writedata | 入力 | ワイヤー | reconfig_rsfec_clk | [7:0] |
reconfig_rsfec_readdata | 出力 | ワイヤー | reconfig_rsfec_clk | [7:0] |
reconfig_rsfec_waitrequest | 出力 | ワイヤー | reconfig_rsfec_clk |
reconfig_rsfec_clk 入力は、100から125MHzのクロックで駆動する必要があります。この入力には、チャネル Avalon® メモリーマップド・インターフェイスと同じクロックを使用できます。
reconfig_rsfec_reset 入力は、デバイスがユーザーモードに入った後、リコンフィグレーション・クロックの少なくとも1クロックサイクルの間、アサートする必要があります。リセットIPを使用して、このリセット信号を供給します。
reconfig_rsfec_write と econfig_rsfec_read 入力を使用して、読み出しまたは書き込み動作の必要性の有無を Avalon® メモリーマップド・インターフェイスに対して示します。reconfig_rsfec_address 入力は、読み出しと書き込みの両方の動作に使用して、現在の Avalon® Memory-Mappedインターフェイスのアクセス動作中にターゲットになっているレジスターアドレスを示します。
reconfig_rsfec_writedata および reconfig_rsfec_readdata には、11ビット reconfig_rsfec_address 入力で設定されたレジスターアドレスに書き込まれるデータ、またはそのアドレスから読み出されたデータが含まれます。
reconfig_rsfec_writedata および reconfig_rsfec_readdata ポートは8ビット幅です。RS-FECレジスターは、ハードウェアでは32ビット幅ですが、4バイト・インクリメントのアドレス指定を使用します。そのため、32ビットレジスターのアドレス指定は、連続するバイトアドレスを持つ4つの8ビットレジスターとしてできます。
例えば、レジスター0x04 (レジスターアドレス0x04は32ビットのレジスターアドレスと見なされます) の最下位バイト (最下位オーダーバイト) にアクセスするには、アドレス0x04から8ビットを読み出すか、アドレス0x04に8ビットを書き込みます。同じ32ビットレジスターの次の最上位バイトを取得するには、アドレス0x05から8ビットを読み出すか、アドレス0x05に8ビットを書き込みます。その他のレジスターを取得するには、アドレス0x06と0x07を使用します。次の32ビットレジスターのアドレスは0x08です。つまり、32ビットのレジスターアドレスは、レジスターごとに4バイトずつ増加します。
このように、レジスターのアドレス指定、読み出し、および書き込みが行われるのは一度に1バイトずつです。これは、 Avalon® メモリーマップド・インターフェイスのハードウェア実装と一致します。
reconfig_rsfec_waitrequest 出力のアサートが発生するのは、 Avalon® メモリーマップド・インターフェイスが Avalon® Memory-Mappedインターフェイスの動作への対応でビジー状態になったときです。また、デアサートが発生するのは、 Avalon® Memory-Mappedインターフェイスが次の動作に対応できるようになったときです。
アドレス | 名前 | 説明 | リセット |
---|---|---|---|
0x04 | rsfec_top_clk_cfg | RS-FECクロック・コンフィグレーション・レジスター | 0x0000 0F00 |
0x10 | rsfec_top_tx_cfg | RS-FEC TXコンフィグレーション・レジスター | 0x0000 0000 |
0x14 | rsfec_top_rx_cfg | RS-FEC RXコンフィグレーション・レジスター | 0x0000 0000 |
0x20 | tx_aib_dsk_conf | TXデスキューのコンフィグレーション・フィールドを定義 | 0x0000 0000 |
0x30 | rsfec_core_cfg | RS-FECコアのコンフィグレーション | 0x0000 0000 |
0x40 | rsfec_lane_cfg_0 | レーンごとのRS-FECのコンフィグレーション | 0x0000 0000 |
0x44 | rsfec_lane_cfg_1 | ||
0x48 | rsfec_lane_cfg_2 | ||
0x4C | rsfec_lane_cfg_3 | ||
0x104 | tx_aib_dsk_status | TXデスキューのステータスフィールド | 0x0000 0000 |
0x108 | rsfec_debug_cfg | fec_clockの追加のコンフィグレーション/デバッグ | 0x0000 0000 |
0x120 | rsfec_lane_tx_stat_0 | レーンごとのRS-FECのTXステータス | 0x0000 0000 |
0x124 | rsfec_lane_tx_stat_1 | ||
0x128 | rsfec_lane_tx_stat_2 | ||
0x12C | rsfec_lane_tx_stat_3 | ||
0x130 | rsfec_lane_tx_hold_0 | レーンごとのRS-FECのTXステータスのホールド | 0x0000 0000 |
0x134 | rsfec_lane_tx_hold_1 | ||
0x138 | rsfec_lane_tx_hold_2 | ||
0x13C | rsfec_lane_tx_hold_3 | ||
0x140 | rsfec_lane_tx_inten_0 | レーンごとのRS-FEC TXステータスのホールド割り込み: 1に設定すると、rsfec_lane_txレーン割り込みがイネーブルされます。 | 0x0000 0000 |
0x144 | rsfec_lane_tx_inten_1 | ||
0x148 | rsfec_lane_tx_inten_2 | ||
0x14C | rsfec_lane_tx_inten_3 | ||
0x150 | rsfec_lane_rx_stat_0 | レーンごとのRS-FECのRXステータス | 0x0000 0000 |
0x154 | rsfec_lane_rx_stat_1 | ||
0x158 | rsfec_lane_rx_stat_2 | ||
0x15C | rsfec_lane_rx_stat_3 | ||
0x160 | rsfec_lane_rx_hold_0 | レーンごとのRS-FECのRXステータスのホールド | 0x0000 0000 |
0x164 | rsfec_lane_rx_hold_1 | ||
0x168 | rsfec_lane_rx_hold_2 | ||
0x16C | rsfec_lane_rx_hold_3 | ||
0x170 | rsfec_lane_rx_inten_0 | レーンごとのRS-FEC RXステータスのホールド割り込み: 1に設定すると、rsfec_lane_rxレーン割り込みがイネーブルされます。 | 0x0000 0000 |
0x174 | rsfec_lane_rx_inten_1 | ||
0x178 | rsfec_lane_rx_inten_2 | ||
0x17C | rsfec_lane_rx_inten_3 | ||
0x180 | rsfec_lanes_rx_stat | RS-FEC結合レーンのRXステータス | 0x0000 0000 |
0x188 | rsfec_lanes_rx_hold | RS-FEC結合レーンのRXホールドステータス | 0x0000 0000 |
0x18C | rsfec_lanes_rx_inten | RS-FEC結合レーンごとのRX割り込みイネーブル: 1に設定すると、rsfec_lanes RX割り込みがイネーブルされます。 | 0x0000 0000 |
0x1A0 | rsfec_ln_mapping_rx_0 | RS-FEC FECレーンマッピング | 0x0000 0000 |
0x1A4 | rsfec_ln_mapping_rx_1 | ||
0x1A8 | rsfec_ln_mapping_rx_2 | ||
0x1AC | rsfec_ln_mapping_rx_3 | ||
0x1B0 | rsfec_ln_skew_rx_0 | RS-FECレーンスキュー | 0x0000 0000 |
0x1B4 | rsfec_ln_skew_rx_1 | ||
0x1B8 | rsfec_ln_skew_rx_2 | ||
0x1BC | rsfec_ln_skew_rx_3 | ||
0x1C0 | rsfec_cw_pos_rx_0 | RXのRS-FECコードワードのビット位置 | 0x0000 0000 |
0x1C4 | rsfec_cw_pos_rx_1 | ||
0x1C8 | rsfec_cw_pos_rx_2 | ||
0x1CC | rsfec_cw_pos_rx_3 | ||
0x1D0 | rsfec_core_ecc_hold | RS-FEC SRAM ECCステータスホールド | 0x0000 0000 |
0x1E0 | rsfec_err_inj_tx_0 | RS-FECエラー・インジェクション・モード | 0x0000 0000 |
0x1E4 | rsfec_err_inj_tx_1 | ||
0x1E8 | rsfec_err_inj_tx_2 | ||
0x1EC | rsfec_err_inj_tx_3 | ||
0x1F0 | rsfec_err_val_tx_0 | レーンごとのRS-FECのエラー・インジェクション・ステータス | 0x0000 0000 |
0x1F4 | rsfec_err_val_tx_1 | ||
0x1F8 | rsfec_err_val_tx_2 | ||
0x1FC | rsfec_err_val_tx_3 | ||
0x200 | rsfec_corr_cw_cnt_0_lo | 訂正されたエラーのあるRS-FECのFECコードワードの数 (下位ワード: ビット31 ~ 0) | 0x0000 0000 |
0x208 | rsfec_corr_cw_cnt_1_lo | ||
0x210 | rsfec_corr_cw_cnt_2_lo | ||
0x218 | rsfec_corr_cw_cnt_3_lo | ||
0x204 | rsfec_corr_cw_cnt_0_hi | 訂正されたエラーのあるRS-FECのFECコードワードの数 (上位ワード: ビット63 ~ 32) | 0x0000 0000 |
0x20C | rsfec_corr_cw_cnt_1_hi | ||
0x214 | rsfec_corr_cw_cnt_2_hi | ||
0x21C | rsfec_corr_cw_cnt_3_hi | ||
0x220 | rsfec_uncorr_cw_cnt_0_lo | エラー数が多すぎるために訂正できなかったエラーのあるRS-FECのFECコードワードの数 (下位ワード: ビット31 ~ 0) | 0x0000 0000 |
0x228 | rsfec_uncorr_cw_cnt_1_lo | ||
0x230 | rsfec_uncorr_cw_cnt_2_lo | ||
0x238 | rsfec_uncorr_cw_cnt_3_lo | ||
0x224 | rsfec_uncorr_cw_cnt_0_hi | エラー数が多すぎるために訂正できなかったエラーのあるRS-FECのFECコードワードの数 (上位ワード: ビット63 ~ 32) | 0x0000 0000 |
0x22C | rsfec_uncorr_cw_cnt_1_hi | ||
0x234 | rsfec_uncorr_cw_cnt_2_hi | ||
0x23C | rsfec_uncorr_cw_cnt_3_hi | ||
0x240 | rsfec_corr_syms_cnt_0_lo | レーンに対して訂正されたRS-FECの10bシンボルの数 (下位ワード: ビット31 ~ 0) | 0x0000 0000 |
0x248 | rsfec_corr_syms_cnt_1_lo | ||
0x250 | rsfec_corr_syms_cnt_2_lo | ||
0x258 | rsfec_corr_syms_cnt_3_lo | ||
0x244 | rsfec_corr_syms_cnt_0_hi | レーンに対して訂正されたRS-FECの10bシンボルの数 (上位ワード: ビット63 ~ 32) | 0x0000 0000 |
0x24C | rsfec_corr_syms_cnt_1_hi | ||
0x254 | rsfec_corr_syms_cnt_2_hi | ||
0x25C | rsfec_corr_syms_cnt_3_hi | ||
0x260 | rsfec_corr_0s_cnt_0_lo | レーンに対して0から1に訂正されたRS-FECのビット数 (下位ワード: ビット31 ~ 0) | 0x0000 0000 |
0x268 | rsfec_corr_0s_cnt_1_lo | ||
0x270 | rsfec_corr_0s_cnt_2_lo | ||
0x278 | rsfec_corr_0s_cnt_3_lo | ||
0x264 | rsfec_corr_0s_cnt_0_hi | レーンに対して0から1に訂正されたRS-FECのビット数 (上位ワード: ビット63 ~ 32) | 0x0000 0000 |
0x26C | rsfec_corr_0s_cnt_1_hi | ||
0x274 | rsfec_corr_0s_cnt_2_hi | ||
0x27C | rsfec_corr_0s_cnt_3_hi | ||
0x280 | rsfec_corr_1s_cnt_0_lo | レーンに対して1から0に訂正されたRS-FECのビット数 (下位ワード: ビット31 ~ 0) | 0x0000 0000 |
0x288 | rsfec_corr_1s_cnt_1_lo | ||
0x290 | rsfec_corr_1s_cnt_2_lo | ||
0x298 | rsfec_corr_1s_cnt_3_lo | ||
0x284 | rsfec_corr_1s_cnt_0_hi | レーンに対して1から0に訂正されたRS-FECのビット数 (上位ワード: ビット63 ~ 32) | 0x0000 0000 |
0x28C | rsfec_corr_1s_cnt_1_hi | ||
0x294 | rsfec_corr_1s_cnt_2_hi | ||
0x29C | rsfec_corr_1s_cnt_3_hi |
すべての統計レジスターは64ビットです。32ビットの読み出しを2回行ってください。インテルでは、オフセットアドレス0x108の shadow_req[3:0] をイネーブルすることをお勧めします。rsfec_debug_cfg のセクションの説明を参照してください。これは、統計レジスターの読み出し前に行い、読み出し後にディスエーブルします。
セクションの内容
rsfec_top_clk_cfg
rsfec_top_tx_cfg
rsfec_top_rx_cfg
tx_aib_dsk_conf
rsfec_core_cfg
rsfec_lane_cfg
tx_aib_dsk_status
rsfec_debug_cfg
rsfec_lane_tx_stat
rsfec_lane_tx_hold
rsfec_lane_tx_inten
rsfec_lane_rx_stat
rsfec_lane_rx_hold
rsfec_lane_rx_inten
rsfec_lanes_rx_stat
rsfec_lanes_rx_hold
rsfec_lanes_rx_inten
rsfec_ln_mapping_rx
rsfec_ln_skew_rx
rsfec_cw_pos_rx
rsfec_core_ecc_hold
rsfec_err_inj_tx
rsfec_err_val_tx
rsfec_corr_cw_cnt (Low)
rsfec_corr_cw_cnt (High)
rsfec_uncorr_cw_cnt (Low)
rsfec_uncorr_cw_cnt (High)
rsfec_corr_syms_cnt (Low)
rsfec_corr_cw_cnt (High)
rsfec_corr_0s_cnt (Low)
rsfec_corr_0s_cnt (High)
rsfec_corr_1s_cnt (Low)
rsfec_corr_1s_cnt (High)