F-タイル25GイーサネットIntel® FPGA IPユーザーガイド

ID 750198
日付 2/09/2023
Public
ドキュメント目次

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

TX MAC は FPGA ファブリックに Avalon® ストリーミング・インターフェイスを提供します。最小パケット サイズは 9 バイトです。
表 12.   Avalon® ストリーミング TX データパスすべてのインターフェイス信号のクロッキングは、i_clk_tx クロックにより行われます。F-タイル25Gイーサネット Intel FPGA IPパラメーター・エディターでReady Latencyに指定する値は、このインターフェイスの Avalon® ストリーミング ReadyLatency 値です。

信号

入力/出力

説明

clk_txmac 出力 TX ロジックのクロック。o_clk_tx_divから派生し、F-タイル 25Gイーサネット Intel FPGA IPコアからの出力です。tx_lanes_stableがアサートされている場合、clk_txmacは安定していることが保証されます。 このクロックの周波数は390.625 MHzです。すべての TX MAC インターフェイス信号は clk_txmacと同期します。
l1_tx_data[63:0] 入力

MACへのデータ入力。ビット 63 は MSB で、ビット0はLSBです。バイトは通常の左から右の順序で読み取られます。

25Gイーサネット Intel FPGA IP IPコアでは、9バイト未満の着信 (出力) フレームは正しく処理しません。このようなフレームがTXクライアント・インターフェイスに到達しないようにしてください。

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

readyLatency = 0 の場合、同じクロック サイクルで l1_tx_data バスでデータ遷移が行われないようにしてください。 l1_tx_ready がディアサートされます。 l1_tx_ready がアサートされるのと同じクロックサイクルで l1_tx_data バスでデータを遷移できます。

readyLatency = 3 の場合、l1_tx_ready がディアサートされた後の 3 番目のクロック サイクルで l1_tx_data バスにデータ遷移がないことを確認します。 l1_tx_ready がアサートされた後の 3 番目のクロックサイクルで、l1_tx_data バスのデータを遷移できます。

l1_tx_valid 入力 アサートされると、有効なデータがl1_tx_data[63:0]で利用可能であることを示します。l1_tx_readyステータスに関係なく、同じパケットに対するl1_tx_startofpacketのアサートと l1_tx_endofpacketのアサートの間に、この信号を継続的にアサートする必要があります。
l1_tx_startofpacket 入力 アサートされると、フレームの最初のバイトを示します。l1_tx_startofpacket がアサートされた場合、l1_tx_dataの MSBはパケットの開始を駆動します。

同じサイクルでl1_tx_startofpacketl1_tx_endofpacketを駆動するパケットは無視されます。

l1_tx_endofpacket 入力 アサートされると、パケットの終わりを示します。

同じサイクルで l1_tx_startofpacketl1_tx_endofpacketを駆動するパケットは無視されます。

l1_tx_empty[2:0] 入力 i_tx_endofpacket がアサートされたときの i_tx_data の空のバイト数を示します。
l1_tx_error 入力

l1_tx_endofpacketと同じサイクルでアサートされた場合、現在のパケットをエラー パケットとして扱う必要があることを示します。パケット内の他の位置にあるアサーションは無視されます。

TX 統計カウンターは、この信号に応答して IP コアが作成するエラーを反映しません。

l1_tx_ready 出力 アサートされると、MAC がデータを受け入れることができることを示します。 readyLatency = 0 の場合、IP コアは l1_tx_ready をアサートするのと同じクロック サイクルで有効なデータを受け入れます。 readyLatency = 3 の場合、IP コアは l1_tx_ready をアサートしてから 3 クロック サイクル後に有効なデータを受け入れます。
l1_txstatus_valid 出力 アサートされると、l1_txstatus_data[39:0] が有効なデータを駆動していることを示します。
l1_txstatus_data[39:0] 出力

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

  • [ビット39]: アサートされるとPFCフレームを示します。
  • [ビット38]: アサートされるとVLANフレームを示します。
  • [ビット37]: アサートされるとVLANフレームを示します。
  • [ビット36]: アサートされるとVLANフレームを示します。
  • [ビット35] : アサートされるとPAUSEフレームを示します。
  • [ビット34]: アサートされるとVLANフレームを示します。
  • [ビット33]: アサートされるとVLANフレームを示します。
  • [ビット32]: アサートされるとスタックVLANフレームを示します。
  • ビット[31:16]: 宛先アドレスの最初のバイトからFCSの最後のバイトまでのフレーム長を指定します。
  • ビット[15:0]: ペイロードの長さを指定します。
l1_txstatus_error[6:0] 出力 送信フレーム内のエラーの種類を指定します。次のフィールドが定義されています。
  • ビット[6:3]: 予約済み
  • ビット[2]: ペイロード長エラー
  • ビット[1]: オーバーサイズ・フレーム
  • ビット[0]: 予約済み
pause_insert_tx0[FCQN-1:0]

pause_insert_tx1[FCQN-1:0]

入力

パラメーター・エディターでEnable flow controlをオンにしている場合に使用できます。XON、XOFF、Pause、または PFC フレームを送信する必要があるかどうかを MAC に示します。FCQN は、一時停止の場合は 1、PFC の場合は 1 ~ 8 に相当します。

1-ビットのプログラミング・モードでは、IP コアは、pause_insert_tx1[FCQN-1:0]を無視します。 2-ビットのプログラミング・モードでは、上位ビットはpause_insert_tx1[FCQN-1:0] にあり、下位ビットはpause_insert_tx0[FCQN-1:0]にあります。

以下の信号は、1ビット8B/10Bモードで使用されます。

  • 0 = 要求なし
  • 0 ~ 1 = XOFF要求を生成する
  • 1 = XOFF リクエストの生成を続行する
  • 1 ~ 0 = XON リクエストを生成する

2-ビットのプログラミング・モデルには次のエンコーディングが定義されています。

  • 2'b00: これ以上の XON/XOFF 要求はありません。進行中の XON/XOFF フロー制御フレームがある場合、それが送信されます。
  • 2'b01: XON フロー制御フレームを生成する
  • 2'b10: XOFF要求を生成する
  • 2'b11:無効
図 19.  25Gイーサネット Intel FPGA IP MAC Avalon® ストリーミング・インターフェイスへのクライアント