Fタイル・イーサネット・インテル® FPGAハードIPユーザーガイド

ID 683023
日付 3/28/2022
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

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

Fタイル・イーサネット・インテル® FPGAハードIP RXクライアント・インターフェイスでは、フレームデータを受け取ると、アプリケーションによってそのデータをRX MACから読み出すことができます。パケットの開始は、任意の8バイトセグメントでできます。

表 41.   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の有効なデータを示します。前のセグメントのインフレーム信号で、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)

RXデータ信号上の空のバイト数を示します。これは、EOC信号がアサートされたときに行われ、最下位バイト (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: ペイロード長エラー。フレームで受信されたペイロードは、長さフィールドの値よりも短く、長さフィールドの値は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: アサートされるとPTP (Length/Typeが0x88F7) フレームを示します。
  • 3'd2: アサートされると、BCASTフレームおよびMCASTフレームを示します。
  • 3'd1: アサートされるとSFCフレームまたはFCフレームを示します。
  • 3'd0: アサートされると、有効な長さのフレームを示します。
図 36. RX MACクライアント・インターフェイスを使用したデータ受信

上の図で示しているのは、パケットをRX MACセグメント化インターフェイスから読み出す方法です。

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