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

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

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

F-Tile Ethernet Intel® FPGA Hard IP RXクライアント・インターフェイスのMAC+PCSバリエーションでは、 Avalon® ストリーミング・インターフェイス・プロトコルを採用しています。 Avalon® ストリーミング・インターフェイス・プロトコルは、同期ポイントツーポイント単方向インターフェイスで、データストリームの生産元 (ソース) とデータの消費先 (シンク) を接続します。このインターフェイスの主なプロパティーは次のとおりです。

  • パケット開始 (SOP) 信号およびパケット終了 (EOP) 信号でフレームの転送を区切ります。
  • SOPは常にMSBにする必要があります。これにより、インターフェイスで受信するデータの解釈と処理を単純にします。
  • valid信号はソースからシンクへの信号を修飾します。

受信方向において、RX MACはソースとして機能し、クライアントはシンクとして機能します。

表 40.  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)

EOP信号のアサート時に、RXデータ信号の空のバイト数を示します。最下位バイト (LSB) が先頭になります。

o_rx_startofpacket

1ビット

アサートされている場合、RXデータ信号にはパケットの最初のクロックサイクルのデータがあることを示しています (パケットの開始)。IPコアでは、この信号を各パケットで1クロックサイクルのみアサートします。

SOP信号のアサート時に、RXデータ信号のMSBではパケットの開始を駆動しています。

o_rx_endofpacket

1ビット

アサートされている場合、RXデータ信号にはパケットの最後のクロックサイクルのデータがあることを示しています (パケットの終了)。IPコアでは、この信号を各パケットで1クロックサイクルのみアサートします。

サイズ不足のフレーム、またはフレーム長が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の場合は、フレームで受信しているペイロードがLengthフィールドの値より短くなっています。Lengthフィールドの値は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フレームとスタックVLANフレームを示しています。
  • ビット [32:0]: 予約済み。

o_rx_preamble[63:0]

64ビット

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

この信号は、パラメーター・エディターで40GE/50GEチャネルに Preamble Passthrough をオンにしている場合にのみ利用可能です。
注: 他のレートのプリアンブル・パススルーには、o_rx_data 信号の最初の8バイトを使用します。

i_rx_serial[3:0]

4ビット

入力RXシリアル・トランシーバー信号で、ボードのRXピンからトランシーバーのRXシリアルピンに接続し、レーンの逆順に対応します。

図 39. RX MAC Avalon STクライアント・インターフェイスでのデータ受信

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

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