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

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

7.7. PCSモードのTXインターフェイス

Fタイル・イーサネット・インテル® FPGAハードIP TXクライアント・インターフェイスのPCSバリエーションでは、Media Independent Interface (MII) プロトコルを採用しています。

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

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

信号名

説明

i_tx_mii_d[1023:0]

i_tx_mii_d[511:0]

i_tx_mii_d[255:0]

i_tx_mii_d[127:0]

i_tx_mii_d[63:0]

1024ビット (400GE)

512ビット (200GE)

256ビット (100GE)

128ビット (40GE/50GE)

64ビット (10GE/25GE)

TX MIIデータです。データはMIIエンコードしてください。i_tx_mii_d[7:0] では、IPコアによってイーサネット・リンク上で送信される最初のバイトを保持します。i_tx_mii_d[0] では、IPコアによってイーサネット・リンクで送信される最初のビットを保持します。

TX MII Valid信号の値が0、またはアラインメント・マーカー挿入ビット信号の値が1の間は、さらに1クロックサイクルの間、この信号の値を安定した状態に保つ必要があります。このビヘイビアは、信号値のフリーズと呼んでいます。

i_tx_mii_c[127:0]

i_tx_mii_c[63:0]

i_tx_mii_c[31:0]

i_tx_mii_c[15:0]

i_tx_mii_c[7:0]

128ビット (400GE)

64ビット (200GE)

32ビット (100GE)

16ビット (40GE/50GE)

8ビット (10GE/25GE)

TX MII制御ビットです。各ビットは、TX MIIデータ信号の1バイトに対応します。例えば、i_tx_mii_c[0]i_tx_mii_d[7:0] に対応し、i_tx_mii_c[1]i_tx_mii_d[15:8] に対応します。

ビットの値が1の場合、対応するデータバイトは制御バイトです。ビットの値が0の場合、対応するデータバイトはデータです。

i_tx_mii_valid

1ビット TX MIIデータ信号が有効であることを示します。

この信号のアサートは、IPコアによるReady信号の立ち上げ後に、固定クロックサイクル数だけ行い、この信号のデアサートは、IPコアによるReady信号のデアサート後に、同じクロックサイクル数だけ行ってください。この数は1から6クロックサイクルの範囲内にしてください。

o_tx_mii_ready

1ビット PCSで新しいデータの受信準備ができていることを示します。

i_tx_mii_am

1ビット アラインメント・マーカー挿入ビットです。
図 37. PCSモードのTXインターフェイスを使用したデータ送信

上の図で示しているのは、パケットをPCSモードのTXインターフェイスに直接書き込む方法です。

  • パケットの書き込みにはMIIを使用します。
    • i_tx_mii_d 内の各バイトには、i_tx_mii_c 内に対応するビットがあり、バイトが制御バイトかデータバイトかが示されます。例えば、i_tx_mii_c[1] は、i_tx_mii_d[15:8] の制御ビットです。
  • i_tx_mii_valid は、次の条件に準拠させる必要があります。
    • Valid信号をアサートするのは、Ready信号がアサートされている場合のみです。また、デアサートするのは、Ready信号がデアサートされている場合のみです。
    • 2つの信号は、1から6サイクルまでの固定レイテンシーで間隔を空けます。
    • Valid信号がデアサートされたら、i_tx_mii_d および i_tx_mii_c を一時停止してください。
  • PCSモードのTXインターフェイスのバイトオーダーは、MAC Avalon® ストリーミング・インターフェイスのバイトオーダーと逆です。バイトの流れはLSBからMSBです。インターフェイスから送信される最初のバイトは i_tx_mii_d[7:0] です。
  • PCSモードのTXインターフェイスのビットオーダーは、MACクライアントのビットオーダーと同じです。インターフェイスから送信される最初のビットは i_tx_mii_d[0] です。
注: PCSモードのTXインターフェイスはSOPアラインメントではありません。パケットの正当な順序付けは、MII形式の場合はいずれも受け入れられます。
表 46.  プリアンブルを備えた開始パケットブロックをPCSモードのTXインターフェイスに書き込む
MII Data MII Control イーサネット・パケット・バイト
i_tx_mii_d[7:0] 0xFB i_tx_mii_c[0] 1 Start of Packet
i_tx_mii_d[15:8] 0x55 i_tx_mii_c[1] 0 Preamble
i_tx_mii_d[23:16] 0x55 i_tx_mii_c[2] 0 Preamble
i_tx_mii_d[31:24] 0x55 i_tx_mii_c[3] 0 Preamble
i_tx_mii_d[39:32] 0x55 i_tx_mii_c[4] 0 Preamble
i_tx_mii_d[47:40] 0x55 i_tx_mii_c[5] 0 Preamble
i_tx_mii_d[55:48] 0x55 i_tx_mii_c[6] 0 Preamble
i_tx_mii_d[63:56] 0xD5 i_tx_mii_c[7] 0 SFD
図 38. アラインメント・マーカーの挿入

ファブリックにより、アラインメント・マーカーの挿入タイミングを制御します。アライメント・マーカーの遅延は、イーサネット・リンクを中断せずにはできません。有効なサイクルを使用して、アラインメント・マーカーをカウントします。i_tx_mii_valid がLowの場合、アラインメント・マーカー・カウンターおよび入力はフリーズさせてください。

アラインメント・マーカーのカウントには、有効なサイクルのみを使用します。i_tx_mii_valid がLowの場合、アライメント・マーカー・カウンターと入力データはフリーズさせてください。

i_tx_mii_am がHighに保たれるサイクル数は、インターフェイスのレートによって異なります。

  • 400GE: 2サイクル
  • 200GE: 2サイクル
  • 100GE: 5サイクル
  • 50GEx2 (RS-FEC付き) または50GEx1: 2サイクル
  • 50GEx2 (RS-FECなし) または40GE: 2サイクル
  • 25GE (RS-FEC付き): 4サイクル

am期間のサイクル数は、インターフェイスの速度やシミュレーションとハードウェアのどちらであるかによって異なります。

  • シミュレーションでは、短縮されたam期間をリンクの両側に対して使用し、ロック時の速度を上げるのが一般的です。
    • 400GE: 640
    • 200GE: 640
    • 100GE: 1280
    • 50GEx2 (RS-FEC付き): 512
    • 50GEx2 (RS-FECなし)、または50GE: 640
    • 40GE: 128
    • 25GE (RS-FEC付き): 1280
  • ハードウェアの場合
    • 400GE: 40960
    • 200GE: 40960
    • 100GE: 81920
    • 50GE-2 (RS-FEC RS(272,258) 付き)、または50GE-1 (IEEE向け): 40960
    • 40GEまたは50GE-2 (RS-FECなし): 32768
    • 25GE (RS-FEC付き): 81920

適切に動作させるには、MAC、PCS、およびオプションのFECをプログラムして、同じam期間を使用するようにします。

FECモードでは、TXデータパスが完全にリセットされるのは、少なくとも2アライメント・マーカー期間が経過した後です。i_tx_mii_am の駆動は、適切な間隔で、o_tx_lanes_stable がHighになるまで行ってください。信号の駆動は、o_tx_pll_locked がHighになり、o_tx_mii_ready のトグルが開始したらすぐに行います。外部カスタム・レート・インターフェイスがイネーブルされたら、i_custom_cadence の駆動を開始してください。詳細については、カスタム・レート・インターフェイス を参照してください。