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

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

7.4. TX MACセグメント化クライアント・インターフェイス

F-Tile Ethernet Intel® FPGA Hard IP TX MACセグメント化クライアント・インターフェイスを使用すると、フレームデータをTX MACに書き込み送信を行うことができます。パケットは、任意の8バイト・セグメントで開始することができます。
重要: TX MACセグメント化インターフェイス使用時に最大のスループットを実現するには、入力パケットを密にパッキングし、間にアイドルセグメントを残さないようにする必要があります。
表 42.  TX MACセグメント化クライアント・インターフェイスの信号すべてのインターフェイス信号でTXクロックを使用します。

信号名

内容

i_tx_mac_data[1023:0]

i_tx_mac_data[511:0]

i_tx_mac_data[255:0]

i_tx_mac_data[127:0]

i_tx_mac_data[63:0]

1024ビット (400GE)

512ビット (200GE)

256ビット (100GE)

128ビット (50GE/40GE)

64ビット (25GE/10GE)

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

アサートされている場合、そのサイクルのTXデータ信号は有効です。o_tx_mac_ready に一定のレイテンシーで続く必要があります。また、パケットの送信中にLowになることがあります。

デアサートされると、インターフェイスの入力信号の値は一定に保たれます。

i_tx_mac_inframe[15:0]

i_tx_mac_inframe[7:0]

i_tx_mac_inframe[3:0]

i_tx_mac_inframe[1:0]

i_tx_mac_inframe[0]

16ビット (400GE)

8ビット (200GE)

4ビット (100GE)

2ビット (50GE/40GE)

1ビット (25GE/10GE)

特定のレートの各セグメントの有効なデータを示します。

前のセグメントのInframe信号とともに、この信号はSOPとEOPの位置を示します。

i_tx_mac_eop_empty[47:0]

i_tx_mac_eop_empty[23:0]

i_tx_mac_eop_empty[11:0]

i_tx_mac_eop_empty[5:0]

i_tx_mac_eop_empty[2:0]

48ビット (400GE)

24ビット (200GE)

12ビット (100GE)

6ビット (50GE/40GE)

3ビット (25GE/10GE)

Empty信号は、MACフレーム終了時にそのセグメントの空のバイト数を示します。

o_tx_mac_ready

1ビット

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

i_tx_mac_error[15:0]

i_tx_mac_error[7:0]

i_tx_mac_error[3:0]

i_tx_mac_error[1:0]

i_tx_mac_error[0]

16ビット (400GE)

8ビット (200GE)

4ビット (100GE)

2ビット (50GE/40GE)

1ビット (25GE/10GE)

エラー信号により、TXフレームはエラーとして扱われます。フレームが終了するセグメントでアサートする必要があります。

i_tx_mac_skip_crc[15:0]

i_tx_mac_skip_crc[7:0]

i_tx_mac_skip_crc[3:0]

i_tx_mac_skip_crc[1:0]

i_tx_mac_skip_crc[0]

16ビット (400GE)

8ビット (200GE)

4ビット (100GE)

2ビット (50GE/40GE)

1ビット (25GE/10GE)

Skip CRC信号により、MACに対して、現在のパケットにCRC/PADを挿入しないように指示します。パケットのすべての有効なデータセグメントでアサートする必要があります。

図 41. TX MACセグメント化クライアント・インターフェイスでのデータ送信

上の図では、TX MACセグメント化クライアント・インターフェイスを使用するデータの送信方法を示しています。この図の例では、100GEポートで複数のパケットを送信しています。パケットは4つのセグメントで表されます。

  • パケットは、i_tx_mac_data (セグメント化されている) の任意の8バイト・セグメントで開始することができます。(連続する2つのセグメント間での) i_tx_mac_inframe の0から1への遷移は、パケットの開始 (SOP) を示します。SOPは、i_tx_mac_frame が1に設定されているセグメントで開始します。
  • マルチセグメント・インターフェイスでは、新しいパケットの開始と前のパケットの終了が同じサイクルで発生することがあります。
  • TX MACセグメント化クライアント・インターフェイスのバイト順序は、MAC Avalon STクライアントのバイト順序と になります。バイトは右から左、つまりLSBからMSBに流れます。インターフェイスから最初に送信されるバイトは i_tx_mac_data[7:0] です。
  • TX MACセグメント化クライアント・インターフェイスのビット順序は、MAC Avalon STクライアントのビット順序と 同じ です。インターフェイスから最初に送信されるビットは i_tx_mac_data[0] です。
    • i_tx_mac_valid 信号は、o_tx_mac_ready 信号がアサートされている場合にのみアサートされます。i_tx_mac_valid 信号は、o_tx_mac_ready 信号がデアサートするとデアサートします。
    • i_tx_mac_valid 信号と o_tx_mac_ready 信号は、1から8クロックサイクルの固定レイテンシーで間隔を空けることができます。
    • i_tx_mac_valid がデアサートすると、i_tx_mac_datai_tx_mac_inframei_tx_mac_eop_emptyi_tx_mac_error、および i_tx_skip_crc 信号を o_tx_mac_ready がデアサートしているサイクル数と同じサイクルの間一時停止する必要があります。
  • フレーム終了時に、i_tx_mac_eop_emptyi_tx_mac_data の未使用バイト数に設定されます。
    • (連続する2つのセグメント間での) i_tx_mac_eop_empty の1から0への遷移は、パケットの終わり (EOP) を示します。EOPは、i_tx_mac_inframe が0に設定されているセグメントで終了します。
    • 最後のサイクルの最小バイト数は1です。