Low Latency 100G Ethernet Intel® IPコア・ユーザーガイド: インテル® Stratix® 10デバイス用

ID 683100
日付 5/21/2021
Public
ドキュメント目次

6.1. ユーザーロジックに対するTX MACインターフェイス

Low Latency 100G Ethernet Intel FPGA IPコアのTXクライアント・インターフェイスは、 Avalon® ストリーミング・インターフェイス・プロトコルを採用しています。 Avalon® ストリーミング・インターフェイス・プロトコルは、同期ポイントツーポイントの単方向インターフェイスで、データストリームのプロデューサー (ソース) とデータのコンシューマー (シンク) を接続します。このインターフェイスの主なプロパティーは次のとおりです。

  • スタート・オブ・パケット (SOP) 信号とエンド・オブ・パケット (EOP) 信号でフレーム転送を区切ります。
  • SOPは常にMSB内になければなりません。これにより、受信データの解釈と処理が簡単になります。
  • valid信号によってソースからシンクまでの信号を分類します。
  • シンクでは、ソースにバックプレッシャーをかけるためにReady信号を使用します。ソースは通常、シンクからのReady信号のデアサートに応答します。そのために、同じデータがシンクによって受け入れられるまで駆動します。readyLatency で定義するのは、Ready信号のアサートとデアサートの関係や、データ転送が ready であると見なされるサイクルです。TXクライアント・インターフェイスの readyLatency ではゼロサイクルです。

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

表 12.   Avalon® TXクライアント・ストリーミング・インターフェイスの信号すべてのインターフェイス信号のクロッキングは、clk_txmac クロックにより行われます。

信号名

入力/出力

説明

clk_txmac 出力

IPコアのTXクロックは clk_txmac です。このクロックの周波数は390.625MHzです。

l8_tx_data[511:0]

入力

TXデータです。プリアンブル・パススルー機能がイネーブルされている場合、データはプリアンブルから開始します。

Low Latency 100G Ethernet Intel FPGA IPコアでは、9バイト未満の着信フレームは正しく処理されません。そのようなフレームが、TXクライアント・インターフェイスに到達しないようにしてください。

各TXデータパケットの送信は、中間のIDLEサイクルなしで行ってください。したがって、アプリケーションでは、かならず単一のパケットのデータの提供が、連続したクロックサイクルでできるようにしてください。データが使用できない場合は、データをデザインでバッファリングします。そして、l8_tx_data[511:0] で送信するパケットデータが使用可能であるか、または時間どおりに使用できるようになることが確認できたら l8_tx_startofpacket をアサートしてください。

l8_tx_empty[5:0]

入力

l8_tx_endofpacket がアサートされたときの l8_tx_data[511:0] の空のバイト数を示します。

l8_tx_startofpacket

入力

アサートされると、パケットの開始を示します。パケットはMSBで始まります。

l8_tx_endofpacket

入力

アサートされると、パケットの終了を示します。

l8_tx_ready

出力

アサートされると、MACはデータを受信する準備ができています。l8_tx_ready 信号は肯定応答として機能します。ソースは l8_tx_valid および l8_tx_data[511:0] を駆動し、シンクが l8_tx_ready をアサートするのを待ちます。readyLatency はゼロサイクルであるため、IPコアでは、l8_tx_ready をアサートするのと同じサイクルで有効なデータを受け入れます。

l8_tx_ready 信号は、MACによる通常の動作モードでのデータの受信準備ができていることを示します。ただし、l8_tx_ready 信号の表示は、リセット後は適切ではないことがあります。パケットの送信が、イーサネット・リンクによるパケットの送信が確実にできるようになる前に行われないようにするには、アプリケーションによるTXクライアント・インターフェイス上のパケット送信は、tx_lanes_stable 信号がアサートされるまで行わないでください。

l8_tx_valid

入力

アサートされると、l8_tx_data は有効です。この信号は、同じパケットの l8_tx_startofpacketl8_tx_endofpacket のアサート間で継続的にアサートされる必要があります。

l8_tx_error 入力 EOPサイクルで (l8_tx_endofpacket がアサートされている間に) アサートされると、IPコアに指示して、パケットへのエラー挿入をイーサネット・リンクへのエラー送信前に行います。
l8_txstatus_valid 出力 アサートされると、l8_txstatus_data および l8_txstatus_error[6:0] が有効なデータを駆動していることを示します。
l8_txstatus_data[39:0] 出力

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

  • ビット[39]: アサートされると、PFCフレームを示します。
  • ビット[38]: アサートされると、ユニキャスト・フレームを示します。
  • ビット[37]: アサートされると、マルチキャスト・フレームを示します。
  • ビット[36]: アサートされると、ブロードキャスト・フレームを示します。
  • ビット[35]: アサートされると、一時停止フレームを示します。
  • ビット[34]: アサートされると、制御フレームを示します。
  • ビット[33]: アサートされると、VLANフレームを示します。
  • ビット[32]: アサートされると、スタックVLANフレームを示します。
  • ビット[31:16]: 宛先アドレスの最初のバイトからFCSの最後のバイトまでのフレーム長を指定します。
  • ビット[15:0]: ペイロード長を指定します。
l8_txstatus_error[6:0] 出力

送信フレームのエラータイプを指定します。次のフィールドが定義されています。

  • ビット[6:3]: 予約済み
  • ビット[2]: ペイロード長エラー
  • ビット[1]: オーバーサイズ・フレーム
  • ビット[0]: 予約済み
この信号は、l8_txstatus_valid がアサートされたときに有効です。
図 18. Low Latency 100G Ethernet Intel FPGA IP用のTX Avalon-STクライアント・インターフェイスのトラフィックIPコアのTXクライアント・インターフェイスの一般的なトラフィックを示しています。