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

ID 683023
日付 3/28/2022
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

7.8. PCSモードのRXインターフェイス

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

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

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

信号名

説明

o_rx_mii_d[1023:0]

o_rx_mii_d[511:0]

o_rx_mii_d[255:0]

o_rx_mii_d[127:0]

o_rx_mii_d[63:0]

1024ビット (400GE)

512ビット (200GE)

256ビット (100GE)

128ビット (40GE/50GE)

64ビット (10GE/25GE)

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

RX MII Valid信号の値が0の場合、またはRX Validアラインメント・マーカー信号の値が1の場合、この信号の値は無効です。

o_rx_mii_c[127:0]

o_rx_mii_c[63:0]

o_rx_mii_c[31:0]

o_rx_mii_c[15:0]

o_rx_mii_c[7:0]

128ビット (400GE)

64ビット (200GE)

32ビット (100GE)

16ビット (40GE/50GE)

8ビット (10GE/40GE)

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

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

o_rx_mii_valid

1ビット RX MIIデータ、RX MII制御ビット、およびRX Validアラインメント・マーカー信号が有効であることを示します。

o_rx_mii_am_valid

1ビット IPコアによる有効なアラインメント・マーカーの受信が、イーサネット・リンク上で行われたことを示します。

RX MII Valid信号の値が0の場合、この信号の値は無効です。RX MII Valid信号の値は、IPコアによるこの信号のアサート中に低下することがあります。

図 39. PCSモードのRXインターフェイスを使用したデータ受信

上の図で示しているのは、PCSモードのRXインターフェイスを使用してパケットをRX PCSから読み出す方法です。

  • パケットはMIIエンコードされています。
    • o_rx_mii_d 内の各バイトには、対応するビットが o_rx_mii_c 内にあり、そのバイトが制御バイトかデータバイトかが示されます。例えば、o_rx_mii_c[2] は、o_rx_mii_d[23:16] の制御ビットです。
  • データが有効なのは、o_rx_mii_valid がHighの場合のみです。o_rx_mii_d および o_rx_mii_c バスの内容の定義は、o_rx_mii_valid がLowの場合はされません。
  • PCSモードのRXインターフェイスのバイトオーダーは、MACセグメント化クライアント・インターフェイスのバイトオーダーと逆です。バイトの流れはLSBからMSBです。コアで受信する最初のバイトは o_rx_mii_d[7:0] です。
  • PCSモードのRXインターフェイスのビットオーダーは、MACセグメント化クライアント・インターフェイスのビットオーダーと同じです。コアで受信する最初のビットは o_rx_mii_d[0] です。
注: PCSモードのRXインターフェイスはSOPアラインメントではありません。新しいパケットの開始は、8で割り切れる任意のバイト位置からすることができます (PCSデータの転送は8バイトブロックです)。
表 48.  プリアンブルを備えた開始パケットブロックをPCSモードのTXインターフェイスから読み出す
MII Data MII Control イーサネット・パケット・バイト
o_rx_mii_d[7:0] 0xFB o_rx_mii_c[0] 1 Start of Packet
o_rx_mii_d[15:8] 0x55 o_rx_mii_c[1] 0 Preamble
o_rx_mii_d[23:16] 0x55 o_rx_mii_c[2] 0 Preamble
o_rx_mii_d[31:24] 0x55 o_rx_mii_c[3] 0 Preamble
o_rx_mii_d[39:32] 0x55 o_rx_mii_c[4] 0 Preamble
o_rx_mii_d[47:40] 0x55 o_rx_mii_c[5] 0 Preamble
o_rx_mii_d[55:48] 0x55 o_rx_mii_c[6] 0 Preamble
o_rx_mii_d[63:56] 0xD5 o_rx_mii_c[7] 0 SFD
図 40. アラインメント・マーカーの受信

o_rx_mii_am_valid は、RX PCSからのアラインメント・マーカーの到着を示します。アラインメント・マーカーは o_rx_mii_valid にも依存します。o_rx_mii_valid がLowの場合、o_rx_mii_am_valid は無効です。

o_rx_mii_d および o_rx_mii_c バスの内容の定義は、o_rx_mii_valid がLowの場合はされません。これは、アラインメント・マーカーが64b/66bエンコーディングの一部ではなく、MIIと同等のものがないためです。