Eタイル ハードIPユーザーガイド: イーサネット インテルFPGA IP向けEタイル ハードIPおよび EタイルCPRI PHYインテルFPGA IP

ID 683468
日付 5/17/2019
Public
ドキュメント目次

2.11.3. ユーザーロジックへのTX PCSインターフェイス

PCS Onlyバリエーションのイーサネット インテルFPGA IP向けEタイル ハードIP TXクライアント・インターフェイスでは、メディア独立インターフェイス (MII) プロトコルを採用しています。

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

表 25.  MII TXクライアント・インターフェイス信号インターフェイス信号はすべて、TXクロックによってクロッキングされます。信号名は標準のAvalon-ST信号で、そのわずかな違いによってバリエーションを示します。例 :
  • 単一の10GE/25GEチャネルを持つバリアントの場合 : i_sl_tx_data
  • 1つ以上のチャネルを持つバリアントの場合 : i_sl_tx_data[n-1:0]
  • 単一の100GEチャネルを持つバリアントの場合 : i_tx_data

信号名

説明

i_sl_clk_tx

i_sl_clk_tx[n-1:0]

i_clk_tx

各チャネルで1ビット

チャネルを駆動するIPコアのTXクロック。

i_sl_tx_mii_d

i_sl_tx_mii_d[n-1:0]

i_tx_mii_d

各チャネルで64ビット (10G/25G)

256ビット (100G)

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

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

i_sl_tx_mii_c

i_sl_tx_mii_c[n-1:0]

i_tx_mii_c

各チャネルで8ビット (10G/25G)

32 ビット (100G)

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の場合、対応するデータバイトはデータです。

Start of Packetバイト (0xFB) 、End of Packetバイト (0xFD) 、Idleバイト (0x07) 、およびエラーバイト (0xFE) は制御バイトですが、プリアンブル・バイト、Start of Frame (SFD) バイト (0xD5) 、CRCバイト、およびペイロードバイトはデータバイトです。

TX MII valid信号の値が0、またはアラインメント・マーカー挿入ビット信号の値が1の間は、この信号の値をフリーズする必要があります。

i_sl_tx_mii_valid

i_sl_tx_mii_valid[n-1:0]

i_tx_mii_valid

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

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

この信号の値を0に保持している間は、TX MIIデータおよびTX MII制御ビット信号の両方の値を安定した状態でフリーズしてください。

o_sl_tx_mii_ready

o_sl_tx_mii_ready[n-1:0]

o_tx_mii_ready

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

i_sl_tx_mii_am

i_sl_tx_mii_am[n-1:0]

i_tx_mii_am

各チャネルで1ビット アラインメント・マーカー挿入ビット。
  • 100Gのバリエーションでは、この信号を連続して5クロックサイクルの間アサートしたままにしてください。
  • RS-FEC付き25Gx1のバリエーションでは、この信号を連続して4クロックサイクルの間アサートしてください。
  • RS-FECのない10Gx1または25Gx1のバリエーションでは、この信号をLowに接続する必要があります。

アラインメント・マーカー挿入ビット信号のディアサートからアラインメント・マーカー挿入ビット信号の再アサートまでの有効クロックサイクル数は am_period です。

シミュレーション用にこの設定を処理し、シミュレーション用にi_tx_mii_am信号を適切に駆動する例については、PCS OnlyのバリエーションのIPコアのデザイン例を参照してください。IPコアのデザイン例の生成方法については、 デザイン例ユーザーガイドを参照してください。 sim_mode RTLパラメーターについては、このユーザーガイドのRTLパラメーターの項を参照してください。

この信号の値を1に保持している間は、TX MIIデータとTX MII制御ビット信号の両方の値をフリーズしてください。

図 38. 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から10サイクルまでの固定レイテンシーで間隔を空けます。
    • valid信号がディアサートされたら、 i_tx_mii_d および i_tx_mii_c を一時停止させてください。
  • PCSモードのTXインターフェイスのバイトオーダーは、MACクライアントのバイトオーダーと逆です。バイトの流れは右から左です。インターフェイスから送信される最初のバイトは i_tx_mii_d[7:0] です。
  • PCSモードのTXインターフェイスのビットオーダーは、MACクライアントのバイトオーダーと同じです。インターフェイスから送信される最初のバイトは i_tx_mii_d[0] です。
注: PCSモードのTXインターフェイスはSOP整列ではありません。パケットの正当な順序付けは、MII形式の場合はいずれも受け入れられます。
表 26.  PCSモードのTXインターフェイスへのプリアンブルを備えた開始パケットブロックの書き込み
MIIデータ MII制御 イーサネット・パケット・バイト
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
図 39. アラインメント・マーカーの挿入

アラインメント・マーカー挿入のタイミングは非常に厳格です。アラインメント・マーカーの遅延には、イーサネット・リンクの中断が必要です。有効なサイクルを使用してアラインメント・マーカーをカウントします。 i_tx_mii_valid がLowの場合、アラインメント・マーカー・カウンターおよび入力はフリーズしてください。

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

  • 100G : 5サイクル
  • 25Gx1 (RS-FEC付き): 4サイクル
  • 10Gx1または25x1 (PTPまたはRS-FECなし) : 0サイクル (Lowに接続)

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

  • シミュレーションでは、一般的には、リンクの両側で短いam期間を使用して、ロックタイムの速度を上げます。
    • 100Gリンク : 315
    • 25G×1リンク (RS-FEC付き) : 5119
  • ハードウェアでは、
    • 100Gリンク : 81915
    • 25G×1リンク (RS-FEC付き) : 81916