Fタイル・イーサネット・インテル® FPGAハードIPユーザーガイド

ID 683023
日付 3/28/2022
Public
ドキュメント目次

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

Fタイル・イーサネット・インテル® FPGAハードIP TX MACセグメント化クライアント・インターフェイスを使用すると、フレームデータをTX MACに書き込んで送信できます。パケットの開始は、任意の8バイトセグメントでできます。
重要: TXシリアル・インターフェイスで最大のスループットを実現するには、入力パケットのパッキングを密に行い、間にアイドルセグメントを残さないようにしてください。
表 38.  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)

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

前のセグメントのインフレーム信号と合わせて、この信号では、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)

空の信号は、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)

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

図 34. TX MACセグメント化クライアント・インターフェイスを使用したデータ送信

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

  • パケットの開始は、i_tx_mac_data (セグメント化) の任意の8バイトセグメントでできます。i_tx_mac_inframe の0から1への (2つの連続するセグメント間の) 遷移は、パケットの開始 (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 がデアサートされるのと同じサイクルの間、一時停止する必要があります。
  • フレームが終了すると、o_tx_mac_eop_empty は、o_tx_mac_data の未使用バイト数に設定されます。
    • o_tx_mac_eop_empty の1から0 (2つの連続するセグメント間) への遷移は、パケットの終わり (EOP) を示します。EOPは、次のセグメントで終了します。o_rx_mac_inframe は0に設定されます。
    • 最後のサイクルの最小バイト数は1です。