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

ID 683023
日付 3/28/2022
Public
ドキュメント目次

7.3. RX MAC Avalon STアラインメント・クライアント・インターフェイス

Fタイル・イーサネット・インテル® FPGAハードIP RXクライアント・インターフェイスのMAC+PCSバリエーションでは、 Avalon® ストリーミング・インターフェイス・プロトコルを採用しています。 Avalon® ストリーミング・インターフェイス・プロトコルは、同期ポイントツーポイントの単方向インターフェイスであり、データストリームのプロデューサー (ソース) とデータのコンシューマー (シンク) を接続します。このインターフェイスの主なプロパティーは次のとおりです。

  • スタート・オブ・パケット (SOP) 信号およびエンド・オブ・パケット (EOP) 信号でフレーム転送を区切ります。
  • SOPは、常にMSB内になければなりません。これにより、インターフェイスでの着信データの解釈および処理が簡単になります。
  • Valid信号によってソースからシンクまでの信号を分類します。

受信方向では、RX MACはソースとして動作し、クライアントはシンクとして動作します。

表 36.  RX MAC Avalon STクライアント・インターフェイスの信号すべてのインターフェイス信号のクロッキングは、RXクロック (i_clk_rx) により行われます。信号名は、標準の Avalon® ストリーミング・インターフェイス 信号です。

信号名

説明

o_rx_data[511:0]

o_rx_data[127:0]

o_rx_data[63:0]

512ビット (100GE)

128ビット (50GE/40GE)

64ビット (25GE/10GE)

レートが10GE/25GE/40GE/50GE/100GEの場合、MACにデータを出力します。ビット0はLSBです。

o_rx_valid

1ビット

アサートされると、RXデータが有効であることを示します。SOP信号とEOP信号の間でのみ有効です。

この信号がデアサートされる可能性があるのは、SOP信号とEOP信号のアサートの間です。

o_rx_empty[5:0]

o_rx_empty[3:0]

o_rx_empty[2:0]

6ビット (100GE)

4ビット (50GE/40GE)

3ビット (10GE/25GE)

RXデータ信号上の空のバイト数を示します。これは、EOP信号がアサートされたときに行われ、最下位バイト (LSB) から始まります。

o_rx_startofpacket

1ビット

アサートされると、RXデータ信号によるパケット内データの最初のクロックサイクルの保持を示します (パケットの開始)。IPコアによるこの信号のアサートは、各パケットで1クロックサイクルの間だけです。

SOP信号がアサートされると、RXデータのMSBによってパケットの開始が駆動されます。

o_rx_endofpacket

1ビット

アサートされると、RXデータ信号によるパケット内データの最初のクロックサイクルの保持を示します (パケットの終了)。IPコアによるこの信号のアサートは、各パケットで1クロックサイクルの間だけです。SOP信号がアサートされると、RXデータのMSBによってパケットの終了が駆動されます。

サイズが小さいフレームの場合、または長さがちょうど64バイトのフレームの場合は、SOP信号とEOP信号のアサートは、同じクロックサイクルで行われることがあります。

o_rx_error[5:0]

6ビット クライアント・インターフェイス上で内容を送信中のイーサネット・フレーム内の特定のタイプのエラーを報告します。この信号は、EOPサイクル内でのみ有効です。

個々のビットによってさまざまなタイプのエラーが報告されます。

  • ビット [0]: 形式が正しくないパケットエラー。このビットの値が1の場合は、パケットの形式は不正です。形式が正しくないパケットがIPコアによって識別されるのは、制御文字のうち終端文字以外のものを受信した場合です。
  • ビット [1]: CRCエラー。このビットの値が1の場合は、IPコアによって、CRCエラー、フレーム内のエラー文字、不正、アンダーサイズ、または切り捨てられたパケットが検出されたということです。
  • ビット [2]: アンダーサイズまたはオーバーサイズ・フレーム。

    IPコアでは、サイズが8バイト以下の着信フレームはフレームとして認識しないため、そのようなケースはここでは報告されません。プリアンブル・パススルーおよびCRC転送の設定が原因で、RX MACによってバイトが削除され、フレーム内に8バイト以下しか残らないと、IPコアではフレームを認識しないため、そのようなケースはここでは報告されません。フレームの形式が正しくない場合は、ここでは報告されません。

  • ビット [3]: 予約済み。
  • ビット [4]: ペイロード長エラー。このビットの値が1の場合、フレームで受信されたペイロードは、長さフィールドの値より短く、長さフィールドの値は1500バイト以下です。フレームがオーバーサイズまたはアンダーサイズの場合は、ここでは報告されません。フレームの形式が正しくない場合は、ここでは報告されません。
  • ビット [5]: 予約済み。

o_rxstatus_valid

1ビット アサートされると、o_rxstatus_data が有効なデータを駆動していることを示します。

o_rxstatus_data[39:0]

40ビット

受信フレームに関する情報を指定します。次のフィールドが定義されます。

  • ビット [39:38]: 予約済み。
  • ビット [37]: アサートされるとBCAST/MCASTフレームを示します。
  • ビット [36]: 予約済み。
  • ビット [35]: アサートされるとPAUSEフレームを示します。
  • ビット [34]: アサートされるとControl (タイプは0x8808) フレームを示します。
  • ビット [33]: アサートされるとスタックVLANフレームを示します。
  • ビット [32:0]: 予約済み。

o_rx_preamble[63:0]

64ビット

RXフレームのプリアンブル値を書き込みます。この信号が有効になるのは、o_rx_valid および o_rx_startofpacket 信号がアサートされた場合です。

この信号が使用できるのは、40GE/50GEチャンネルのパラメーター・エディターでPreamble Passthrough をオンにした場合のみです。
注: 他のレートでのプリアンブル・パススルーの場合、o_rx_data 信号の最初の8バイトを使用します。
図 32. RX MAC Avalon STクライアント・インターフェイスを使用したデータ受信

上の図で示しているレシーバーは、RX MAC Avalon STクライアント・インターフェイスを使用したデータ受信方法です。このインターフェイスは、 Avalon® ストリーミング・インターフェイス仕様に準拠しています。

  • パケットの開始は常に o_rx_data のMSBからです (SOPアライメント)。
  • フレームが終了すると、 o_rx_empty の設定は、 o_rx_data の未使用のバイト数になります。開始は右 (バイト0) からです。
    • この例では、パケットの最後のサイクルの o_rx_data には、空のバイトが5つあります。
    • 最後のサイクルの最小バイト数は1です。
  • フレーミング・ポートおよびデータポートが有効なのは、o_rx_data がHighの場合のみです。
注: インターフェイスでは直接のバックプレッシャーは受けません。