インテルのみ表示可能 — GUID: kwm1519648656215
Ixiasoft
インテルのみ表示可能 — GUID: kwm1519648656215
Ixiasoft
2.11.2. ユーザーロジックへのRX MACインターフェイス
MAC+PCSバリエーションのイーサネット インテルFPGA IP向けEタイル ハードIP RXクライアント・インターフェイスでは、Avalon-STプロトコルを採用しています。Avalon-STプロトコルは、同期ポイントツーポイントの単方向インターフェイスであり、データストリームのプロデューサー (ソース) とデータのコンシューマー (シンク) を接続します。このインターフェイスの主なプロパティーは次の通りです。
- パケット開始 (SOP) 信号およびパケット終了 (EOP) 信号でフレーム転送を区切ります。
- SOPは常にMSB内に存在させる必要があります。これにより、インターフェイスでの着信データの解釈および処理が簡単になります。
- valid信号によって信号をソースからシンクへ限定します。
RX MACはソースとして、クライアントはシンクとして受信方向で機能します。
名前 |
幅 |
説明 |
---|---|---|
i_sl_clk_rx i_sl_clk_rx[n-1:0] i_clk_rx |
各チャネルで1ビット | チャネルを駆動するIPコアのRXクロック。 |
o_sl_rx_data o_sl_rx_data[n-1:0] o_rx_data |
各チャネルで64ビット (10G/25G) 512 ビット (100G) |
RXデータ。最上位ビットはMSB、ビット0はLSBです。バイトは通常の左から右の順に読み出されます。IPコアによってバイト順が逆になり、イーサネット規格の要件が満たされます。 |
o_sl_rx_valid o_sl_rx_valid[n-1:0] o_rx_valid |
各チャネルで1ビット | アサートされると、RXデータが有効であることを示します。SOP信号とEOP信号の間でのみ有効です。 この信号がディアサートされる可能性があるのは、SOP信号とEOP信号のアサートの間です。 |
o_sl_rx_empty o_sl_rx_empty[n-1:0] o_rx_empty |
各チャネルで3ビット (10G/25G) 各チャネルで6ビット (100G) |
RXデータ信号上の空のバイト数を示します。これは、EOP信号がアサートされたときに行われ、最下位バイト (LSB) から始まります。 |
o_sl_rx_startofpacket o_sl_rx_startofpacket[n-1:0] o_rx_startofpacket |
各チャネルで1ビット | アサートされると、RXデータ信号によるパケット内データの最初のクロックサイクルの保持を示します (パケットの開始) 。IPコアによるこの信号のアサートは、各パケットで1クロックサイクルの間だけです。 SOP信号がアサートされると、RXデータのMSBによってパケットの開始が駆動されます。 |
o_sl_rx_endofpacket o_sl_rx_endofpacket[n-1:0] o_rx_endofpacket |
各チャネルで1ビット | アサートされると、RXデータ信号によるパケット内データの最初のクロックサイクルの保持を示します (パケットの終了) 。IPコアによるこの信号のアサートは、各パケットで1クロックサイクルの間だけです。 SOP信号がアサートされると、RXデータのMSBによってパケットの終了が駆動されます。 サイズが小さいフレームの場合、または長さがちょうど64バイトのフレームの場合は、SOP信号とEOP信号のアサートは、同じクロックサイクルで行われることがあります。 |
o_sl_rx_error o_sl_rx_error[n-1:0] o_rx_error |
各コントローラーで6 ビット | クライアント・インターフェイス上で内容を送信中のイーサネット・フレーム内の特定のタイプのエラーを報告します。この信号は、EOPサイクル内でのみ有効です。 個々のビットによってさまざまなタイプのエラーが報告されます。
|
o_sl_rxstatus_valid o_sl_rxstatus_valid[n-1:0] o_rxstatus_valid |
各チャネルで1ビット | アサートされると、 o_rxstatus_data が有効なデータを駆動していることを示します。 |
o_sl_rxstatus_data o_sl_rxstatus_data[n-1:0] o_rxstatus_data |
各コントローラーで40ビット | 受信フレームに関する情報を指定します。次のフィールドが定義されます。
|
o_sl_rx_pause o_sl_rx_pause[n-1:0] o_rx_pause |
各チャネルで1ビット | アサートされると、IPコアによってPAUSE XOFFフレームの受信がイーサネット・リンク上で行われたことを示します。IPコアによってこの信号がディアサートされるのは、PAUSE XOFF要求からのクアンタカウントが期限切れになった場合です。 パラメーター・エディターの Stop TX traffic when link partner sends pause パラメーターをYesの値に設定するか、 flow_control RTLパラメーターをsfc または both の値で上書きすると、TX MACでは、PAUSE XOFFフレームに応答してトラフィックを停止します。 この場合クアンタカウントは、IPコアによるトラフィックの停止中は減少します。 設定によってTX MACに指示して、PAUSE XOFFフレームに応答したトラフィックの停止がされない場合、クアンタカウンターは、TX MACクライアント・インターフェイス上の有効なサイクルごとに減少します。各クアンタでは512ビットを表します。したがって、カウンターの減少は、100Gバリエーションの場合、有効なクロックサイクルごとに2分の1です。 |
o_sl_rx_pfc o_sl_rx_pfc[n-1:0] o_rx_pfc |
各コントローラーで8ビット | ビットがアサートされると、IPコアによるPFC XOFFフレームのイーサネット・リンク上での受信が、対応するプライオリティー・キューに対して行われたことを示します。XOFFフレームのクアンタカウントが期限切れになると、IPコアによって各ビットがディアサートされます。PFCクアンタカウンターは、TX MACクライアント・インターフェイス上の有効なサイクルごとに減少します。各クアンタは512ビットを表します。したがって、カウンターの減少は、100Gバリエーションの場合、有効なクロックサイクルごとに2分の1です。つまり、パルス幅で示されるのは、キューのトラフィックで要求された一時停止の長さです。 |
上の図で示しているのは、RX MACクライアント・インターフェイスを使用したデータ受信方法です。このインターフェイスは、Avalon-STインターフェイス仕様に準拠しています。
- パケットの開始は、常に i_rx_data のバイトの左端からです。 (SOPは整列)
- フレームが終了すると、 i_rx_empty の設定は、 i_rx_data の未使用のバイト数になります。開始は右 (バイト0) からです。
- この例では、パケットの最後のサイクルの i_rx_data には、空のバイトが5つあります。
- 最後のサイクルの最小バイト数は1です。
- フレーミング・ポートおよびデータポートが有効なのは、 o_rx_data がHighの場合のみです。
100G i_tx_data |
10G/25G i_sl_tx_data |
MACフィールド | 注 |
---|---|---|---|
[511:504] | [63:56]’ | Dest Addr[47:40] | 送信先アドレスの最初のオクテットは、開始フレーム区切り文字 (SFD) に従います。 |
[503:496] | [55:48]’ | Dest Addr[39:32] | |
[495:488] | [47:40]’ | Dest Addr[31:24] | |
[495:480] | [39:32]’ | Dest Addr[23:16] | |
[479:472] | [31:24]’ | Dest Addr[15:8] | |
[471:464] | [23:16]’ | Dest Addr[7:0] | |
[463:456] | [15:8]’ | Src Addr[47:40] | |
[455:448] | [7:0]’ | Src Addr[39:32] | |
[447:440] | [63:56] | Src Addr[31:24] | |
[439:432] | [55:48] | Src Addr[23:16] | |
[431:424] | [47:40] | Src Addr[15:8] | |
[423:416] | [39:32] | Src Addr[7:0] | |
[415:408] | [31:24] | Length/Type[15:0] | |
[407:400] | [23:16] | Length/Type[7:0] | |
[399:0] | [15:0] | … |
status validポートは、下位互換性のために提供されています。ただし、 o_rx_endofpacket がアサートされて有効な場合は常にアサートされます。