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

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

7.2. TX MAC Avalon STクライアント・インターフェイス

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

  • パケット開始 (SOP) 信号およびパケット終了 (EOP) 信号でフレームの転送を区切ります。
  • SOPは常にMSBにする必要があります。これにより、着信データの解釈と処理を単純にします。
  • valid信号はソースからシンクへの信号を修飾します。
  • シンクでは、Ready信号を使用してソースにバックプレッシャーをかけます。ソースでは通常、シンクからのReady信号のデアサートに応答し、シンクでデータを受け入れることができるまで同じデータを駆動します。Ready latency では、Ready信号のアサートおよびデアサートと、データ転送が ready であるとみなされるサイクルの関係を定義します。

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

表 35.   Avalon® ストリーミングTXクライアント・インターフェイスの信号すべてのインターフェイス信号でTXクロックを使用します。信号名は標準の Avalon® ストリーミング・インターフェイス信号で、バリエーションを示すわずかな違いがあります。次に例を示します。

信号名

内容

i_tx_data[511:0]

i_tx_data[127:0]

i_tx_data[63:0]

512ビット (100GE)

128ビット (50GE/40GE)

64ビット (25GE/10GE)

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

アサートされている場合、TXデータ信号は有効です。この信号は、同じパケットのパケット開始信号のアサートからパケット終了信号のアサートまで、継続してアサートされている必要があります。

i_tx_startofpacket 1ビット

Start of Packet (SOP)

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

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

End of Packet (EOP)

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

一部の正当なパケットでは、SOP信号とEOP信号が同じクロックサイクルでアサートされます。

i_tx_empty[5:0]

i_tx_empty[3:0]

i_tx_empty[2:0]

6ビット (100GE)

4ビット (50GE/40GE)

3ビット (10GE/25GE)

EOP信号アサート時に、TXデータの空のバイト数を示します。

o_tx_ready

1ビット

Ready信号は、MACが通常の動作モードでデータを受信する準備ができていることを示します。

i_tx_preamble[63:0]

64ビット

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

この信号は、パラメーター・エディターで40GE/50GEチャネルに Preamble Passthrough をオンにしている場合にのみ利用可能です。

i_tx_error

1ビット (EOP信号がアサートされている) EOPサイクルでアサートされると、IPコアに対して、エラーをパケットに挿入してイーサネット・リンクで送信するように指示しています。

i_tx_skip_crc

1ビット TX MACにおける現在のTX MACクライアント・インターフェイス・パケットの処理方法を指定します。この信号を使用して、特定のパケットに対するソースの挿入を一時的にオフにしたり、最小パケットサイズへのパディングやCRCを挿入するデフォルトの動作をオーバーライドします。

この信号のアサートは、TX MACに対して、CRCの挿入、パディングバイトの追加、送信元アドレスの挿入を行わないように指示するものです。この信号を使用して、TXデータ信号のデータにCRC、パディングバイト (該当する場合)、および正しい送信元アドレスが含まれていることを示すことができます。

この信号がアサートされず、送信元アドレスの挿入が有効になっている場合は、TX MACに対して、送信元アドレスをオーバーライドするように指示しています。MACでは新しい送信元アドレスを TXMAC_SADDR レジスターからコピーします。

この信号がアサートされていない場合は、送信元アドレスの挿入が有効か無効かにかかわらず、TX MACでは必要に応じてパディングバイトを挿入し、CRCをパケットに挿入します。

クライアントでは、パケットの期間においてこの信号で同じ値を維持する必要があります (SOP信号がアサートされるサイクルからEOP信号がアサートされるサイクルまで)

o_tx_serial[3:0]

4ビット 出力TXシリアル・トランシーバー信号で、ボードのTXシリアルピンがトランシーバーのRXシリアルピンにどのように接続しているかを示すことで、レーンの逆順に対応します。
図 35. TX MAC Avalon STクライアント・インターフェイスでのデータ送信

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

  • データのvalid (i_tx_valid) はパケットの開始から終了までHighに保ち、パケット外ではLowにする必要があります。
  • パケットは常に、i_tx_data のバイトのMSBから開始します (SOPアライメント)。
  • Ready latency の設定には、パラメーター・エディターを使用します。
    • o_tx_ready がデアサートしたら、Ready latency サイクル後に、o_tx_ready がデアサートしているサイクル数と同じサイクルの間 i_tx_data を一時停止する必要があります。この例では、Ready latency は1です。したがって、o_tx_ready が1サイクルデアサートしている次のサイクルで、i_tx_data は1サイクルの間一時停止します。
  • フレーム終了時に、i_tx_emptyi_tx_data の未使用のバイト数に設定されます。LSB (バイト0) が先頭になります。
    • この例では、パケットの最後のサイクルの i_tx_data に空のバイトが3つあります。
    • 最後のサイクルの最小バイト数は1です。