Low Latency Ethernet 10G MAC Intel® FPGA IPユーザーガイド

ID 683426
日付 8/23/2021
Public
ドキュメント目次

5.8. RX Configuration and Statusレジスター

表 28.  RX Configuration and Statusレジスター
ワードオフセット レジスター名 説明 アクセス HWリセット値
0x00A0 rx_transfer_control
  • ビット0 - RXパスのイネーブル

    0: RXパスをイネーブルします。

    1: RXパスをディスエーブルします。MAC IPコアでは、すべての着信フレームをドロップします。

  • ビット31:1 - 予約済み

このレジスターの値の変更は、パケット境界で有効になります。進行中の転送は影響を受けません。

RW 0x0
0x00A2 rx_transfer_status

MACでは次のビットを設定して、RXデータパスのステータスを示します。

  • ビット7:0 - 予約済み
  • ビット8: RXデータパスのステータス

    0: RXデータパスはアイドル状態です。

    1: RXデータ転送が進行中です。

  • ビット11:9 - 予約済み
  • ビット12: RXデータパスのリセットステータス

    0: RXデータパスはリセットされていません。

    1: RXデータパスがリセットされています。

RO 0x0
0x00A4 rx_padcrc_control
  • ビット[1:0]: 受信時のパディングとCRC除去

    00: パディングバイトとCRCフィールドを保持し、それらをクライアントに転送します。

    01: パディングバイトのみを保持します。MAC IPコアでは、RXフレームをクライアントに転送する前にCRCフィールドを削除します。

    11: RXフレームがクライアントに転送される前に、パディングバイトとCRCフィールドを削除します。

    10: 予約済み

  • ビット31:2 - 予約済み

MAC IPコアの動作をイネーブルする前に、このレジスターをコンフィグレーションしてください。

RW 0x1
0x00A6 rx_crccheck_control 受信時のCRCチェック
  • ビット0 - 常にこのビットを0に設定します。
  • ビット1 - CRCチェックがイネーブル。

    0: CRCフィールドを無視します。

    1: CRCフィールドをチェックし、ステータスを avalon_st_rx_error[1] および avalon_st_rxstatus_error に報告します。

  • ビット31:2 - 予約済み

MAC IPコアの動作をイネーブルする前に、このレジスターをコンフィグレーションしてください。

RW 0x2
0x00A8 rx_custom_preamble_forward 10
  • ビット0 - クライアントへのカスタム・プリアンブルの転送をコンフィグレーションします。

    0: RXフレームからカスタム・プリアンブルを削除します。

    1: カスタム・プリアンブルを保持してクライアントに転送します。

  • ビット31:1 - 予約済み

MAC IPコアの動作をイネーブルする前に、このレジスターをコンフィグレーションしてください。

RW 0x0
0x00AA rx_preamble_control 10
  • ビット0 - 受信時にプリアンブル・パススルーのイネーブル

    0: プリアンブル・パススルーをディスエーブルします。MAC IPコアでは、パケットのカプセル化解除プロセス中にSTARTとSFDをチェックします。

    1: プリアンブル・パススルーをイネーブルします。MAC IPコアでは、パケットのカプセル化解除プロセス中にSTARTのみをチェックします。

  • ビット31:1 - 予約済み

MAC IPコアの動作をイネーブルする前に、このレジスターをコンフィグレーションしてください。

RW 0x0
0x00AC rx_frame_control

MAC IPコアの動作をイネーブルする前に、このレジスターをコンフィグレーションしてください。

RW 0x3
ビット0 - EN_ALLUCAST

0: プライマリーMACアドレスを使用して、RXユニキャスト・フレームをフィルタリングします。MAC IPコアでは、プライマリーMACアドレス以外の送信先アドレスを持つユニキャスト・フレームをドロップします。

1: すべてのRXユニキャスト・フレームを受け入れます。

このビットと EN_ALLMCAST を1に設定すると、MAC Ipコアはプロミスキャス・モードになります。

ビット1 - EN_ALLMCAST

0: すべてのRXマルチキャスト・フレームをドロップします。

1: すべてのRXマルチキャスト・フレームを受け入れます。

このビットと EN_ALLUCAST ビットを1に設定することは、MAC IPコアをプロミスキャス・モードに設定することと同じです。

ビット2: 予約済み
ビット3 — FWD_CONTROLPriority-based Flow Controlパラメーターをオンにすると、このビットはIEEE 802.3一時停止フレームおよび優先順位ベースの制御フレームを除く、すべての制御フレームに影響します。Priority-based Flow Controlパラメーターがイネーブルになっていない場合、このビットはIEEE 802.3一時停止フレームを除く、すべての制御フレームに影響します。

0: 制御フレームをドロップします。

1: 制御フレームをクライアントに転送します。

ビット4 — FWD_PAUSE

0: 一時停止フレームをドロップします。

1: 一時停止フレームをクライアントに転送します。

ビット5 — IGNORE_PAUSE

0: 一時停止フレームを処理します。

1: 一時停止フレームを無視します。

ビット15:6 - 予約済み
ビット16 — EN_SUPP0

0: 補助アドレス0の使用をディスエーブルします。

1: 補助アドレス0の使用をイネーブルします。

ビット17 - EN_SUPP1

0: 補助アドレス1の使用をディスエーブルします。

1: 補助アドレス1の使用をイネーブルします。

ビット18 - EN_SUPP2

0: 補助アドレス2の使用をディスエーブルします。

1: 補助アドレス2の使用をイネーブルします。

ビット19 - EN_SUPP3

0: 補助アドレス3の使用をディスエーブルします。

1: 補助アドレス3の使用をイネーブルします。

ビット31:20 - 予約済み
0x00AE rx_frame_maxlength
  • ビット15:0 - 最大許容フレーム長を指定します。RXフレームの長さがこのレジスターの値を超えると、MACは avalon_st_rx_error[3] 信号をアサートします。
  • ビット16:31 - 予約済み
MAC IPコアの動作をイネーブルする前に、このレジスターをコンフィグレーションしてください。
RW 1518
0x00AF rx_vlan_detection
  • ビット0: RX VLAN検出のディスエーブル

    0: MACはVLANおよびスタックVLANフレームを検出します。

    1: MACはVLANおよびスタックVLANフレームを検出しません。受信すると、MACはそれらを基本フレームとして扱い、それらのタグをペイロードバイトと見なします。

  • ビット31:1 - 予約済み
RW 0x0
0x00B0 rx_frame_spaddr0_0 最大4つの6バイト補助アドレスを指定できます。
  • rx_framedecoder_spaddr0_0/1
  • rx_framedecoder_spaddr1_0/1
  • rx_framedecoder_spaddr2_0/1
  • rx_framedecoder_spaddr3_0/1
MAC RXデータパスをイネーブルする前に、補助アドレスをコンフィグレーションしてください。プライマリーMACアドレスと同じ方法で、補助アドレスをそれぞれのレジスターにマッピングします。primary_mac_addr0 および primary_mac__addr1 の説明を参照してください。次の条件が設定されている場合、MAC IPコアは補助アドレスを使用して、ユニキャスト・フレームをフィルタリングします。
  • 補助アドレスの使用は、rx_frame_control レジスターのそれぞれのビットを使用するとイネーブルになります。
  • rx_frame_control レジスターの en_allucast ビットは0に設定されています。
RW 0x0
0x00B1 rx_frame_spaddr0_1
0x00B2 rx_frame_spaddr1_0
0x00B3 rx_frame_spaddr1_1
0x00B4 rx_frame_spaddr2_0
0x00B5 rx_frame_spaddr2_1
0x00B6 rx_frame_spaddr3_0
0x00B7 rx_frame_spaddr3_1
0x00C0 rx_pfc_control 11
  • ビット7:0 - RXデータパスで優先順位ベースのフロー制御をイネーブルします。ビットnを0に設定すると、プライオリティー・キューnの優先順位ベースのフロー制御がイネーブルになります。例えば、rx_pfc_control[0] を0に設定すると、キュー0がイネーブルになります。
  • ビット15:9 - 予約済み
  • ビット16 - クライアントへの優先順位ベースの制御フレームの転送をコンフィグレーションします。

    0: 制御フレームをドロップします。

    1: 制御フレームをクライアントに転送します。

  • ビット31:17 - 予約済み
MAC IPコアの動作をイネーブルする前に、このレジスターをコンフィグレーションしてください。
RW 0x1
0x00FC rx_pktovrflow_error 36ビットのエラーカウンターです。FIFOバッファーのオーバーフローが続く場合に切り捨てられるRXフレームの数を収集します。
  • 0x00FC = エラーカウンターの下位32ビット
  • 0x00FD = エラーカウンターの上位4ビットは、ビット [3:0] を占有します。ビット [31:4] は未使用です。

カウンターを読み出すには、下位32ビットを読み出した後に、上位4ビットを読み出します。IPコアは、読み出し後にカウンターをクリアします。

RO 0x0
0x00FD
0x00FE rx_pktovrflow_etherStatsDropEvents 36ビットのエラーカウンターです。FIFOバッファーのオーバーフローが続く場合にドロップされるRXフレームの数を収集します。
  • 0x00FE = エラーカウンターの下位32ビット
  • 0x00FF = エラーカウンターの上位4ビットは、ビット [3:0] を占有します。ビット [31:4] は未使用です。

カウンターを読み出すには、下位32ビットを読み出した後に、上位4ビットを読み出します。IPコアは、読み出し後にカウンターをクリアします。

RO 0x0
0x00FF
10 このレジスターは、Enable preamble pass-through modeオプションをオンにした場合にのみ使用されます。使用しない場合は予約済みになっています。
11 このレジスターは、Enable priority-based flow control (PFC) オプションをオンにした場合にのみ使用されます。使用しない場合は予約済みになっています。