F-Tile Ethernet Intel® FPGA Hard IPユーザーガイド

ID 683023
日付 7/08/2024
Public
ドキュメント目次

7.5. RX MACセグメント化クライアント・インターフェイス

F-Tile Ethernet Intel® FPGA Hard IP RXクライアント・インターフェイスを使用すると、フレームデータ受信時に、セグメント化されているRX MACからアプリケーションでフレームデータを読み出すことができます。パケットは、任意の8バイト・セグメントで開始することができます。

表 45.   Avalon® ストリーミングRXクライアント・インターフェイスの信号すべてのインターフェイス信号でRXクロックを使用します。

信号名

内容

o_rx_mac_data[1023:0]

o_rx_mac_data[511:0]

o_rx_mac_data[255:0]

o_rx_mac_data[127:0]

o_rx_mac_data[63:0]

1024ビット (400GE)

512ビット (200GE)

256ビット (100GE)

128ビット (50GE/40GE)

64ビット (25GE/10GE)

レートが10GE/25GE/40GE/50GE/100GE/200GE/400GEの場合のMACへの出力データです。ビット0はLSBです。

o_rx_mac_valid

1ビット

アサートされている場合、そのサイクルのRXデータが有効であることを示します。

デアサートされている場合は、その信号値を無視します。

i_rx_mac_inframe[15:0]

i_rx_mac_inframe[7:0]

i_rx_mac_inframe[3:0]

i_rx_mac_inframe[1:0]

i_rx_mac_inframe[0]

16ビット (400GE)

8ビット (200GE)

4ビット (100GE)

2ビット (50GE/40GE)

1ビット (25GE/10GE)

各EMIBの有効なデータを示します。前のセグメントのInframe信号とともに、SOPとEOPの位置を示します。

各セグメントは64ビットです。

o_rx_mac_eop_empty[47:0]

o_rx_mac_eop_empty[23:0]

o_rx_mac_eop_empty[11:0]

o_rx_mac_eop_empty[5:0]

o_rx_mac_eop_empty[2:0]

48ビット (400GE)

24ビット (200GE)

12ビット (100GE)

6ビット (50GE/40GE)

3ビット (25GE/10GE)

EOP発生時に、RXデータ信号の空のバイト数を示します。最上位バイト (MSB) が先頭になります。

o_rx_mac_fcs_error[15:0]

o_rx_mac_fcs_error[7:0]

o_rx_mac_fcs_error[3:0]

o_rx_mac_fcs_error[1:0]

o_rx_mac_fcs_error[0]

16ビット (400GE)

8ビット (200GE)

4ビット (100GE)

2ビット (50GE/40GE)

1ビット (25GE/10GE)

現在終了しているフレームにエラーがあることを示します。

EOPセグメントでのみ有効です。この信号で有効を示すHighは、現在終了しているフレームのFCSエラー、不正な形式、サイズ不足、サイズ超過による切り捨て (RX MACのMTU強制機能が有効になっているため) を示します。

o_rx_mac_error[31:0]

o_rx_mac_error[15:0]

o_rx_mac_error[7:0]

o_rx_mac_error[3:0]

o_rx_mac_error[1:0]

32ビット (400GE)

16ビット (200GE)

8ビット (100GE)

4ビット (50GE/40GE)

1ビット (25GE/10GE)

現在終了しているフレームにデコードエラーがあることを示します。

各セグメントの [1:0] ビットで許容される値は0、1、2、および3で、異なるタイプのエラーを報告します。

  • 2'd0: FCSエラーがデアサートされている場合、パケットにはエラーがありません。
  • 2'd1: 不正なパケット形式エラー。IPコアでは、終了文字ではない制御文字を受信している場合に、パケットが正しくないと判断します。
  • 2'd2: サイズ不足 (64bより短い) フレーム、またはサイズ超過 (プログラムされている最大フレームレートよりも大きい) フレーム。
  • 2'd3: ペイロード長エラー。フレームで受信しているペイロードがLengthフィールドの値より短くなっています。Lengthフィールドの値は1500バイト以下です。フレームがサイズ超過またはサイズ不足の場合は、このビットで報告されません。フレームの形式が正しくない場合も、このビットで報告されません。

o_rx_mac_status_data[47:0]

o_rx_mac_status_data[23:0]

o_rx_mac_status_data[11:0]

o_rx_mac_status_data[5:0]

o_rx_mac_status_data[2:0]

48ビット (400GE)

24ビット (200GE)

12ビット (100GE)

6ビット (50GE/40GE)

3ビット (25GE/10GE)

受信フレームに関する情報を指定します。複数のステータスが発生している場合、ステータスは5、4、7、6、1、2、3、0の優先順位で報告されます。

個々のビットでは異なる情報を報告します。

  • 3'd7: アサートされている場合は、FC (Length/Typeが0x8808) フレームを示しています。
  • 3'd6: アサートされている場合は、不正な長さのフレームを示しています。
  • 3'd5: アサートされている場合は、SVLANフレームおよびスタックSVLANフレームを示しています。
  • 3'd4: アサートされている場合は、SFC フレームまたはPFCフレームを示しています。
  • 3'd3: 予約済み。
  • 3'd2: アサートされている場合は、BCASTフレームおよびMCASTフレームを示しています。
  • 3'd1: アサートされている場合は、FCではないイーサネット・タイプのフレームを示しています。
  • 3'd0: アサートされている場合、有効な長さのフレームを示しています。
図 43. RX MACクライアント・インターフェイスでのデータ受信

上の図は、RX MACセグメント化クライアント・インターフェイスを使用するデータの受信方法を示しています。

  • パケットは、o_rx_mac_data (セグメント化されている) の任意の8バイト・セグメントで開始することができます。(連続する2つのセグメント間での) o_rx_mac_inframe の0から1への遷移は、パケットの開始 (SOP) を示します。SOPは、o_rx_mac_frame が1に設定されているセグメントで開始します。
  • マルチセグメント・インターフェイスでは、新しいパケットの開始と前のパケットの終了が同じサイクルで発生することがあります。
  • パケット終了時に、o_rx_mac_eop_emptyo_rx_mac_data の未使用バイト数に設定されます。
    • (連続する2つのセグメント間での) o_rx_mac_eop_empty の1から0への遷移は、パケットの終わり (EOP) を示します。EOPは、o_rx_mac_inframe が0に設定されているセグメントで終了します。
    • 最後のサイクルの最小バイト数は1です。
注: インターフェイスではバックプレッシャーを直接受けません。