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

ID 683023
日付 3/28/2022
Public

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

ドキュメント目次

4.4.4. FECなしのバリアントのRX仮想レーンオフセットの計算

  1. RX PCSをロックします。

    RX PCSのアラインメントは、VLオフセットデータを抽出する前に完了させてください。o_rx_pcs_fully_aligned がアサートされるのを待ちます。

  2. 各ローカル仮想レーン (VL) のVLデータを読み出します。

    o_rx_pcs_status[mode] レジスターからの読み出し動作を、CSRインターフェイスを介して実行します。これにより、20個の仮想レーンすべての VL data field データが返されます。

  3. 各リモート仮想レーンの物理レーンを設定します。
    各ローカル仮想レーンから提供されるデータを順次実行します。
    • 各レーンには、REMOTE_VLLOCAL_PL 値があります。

    使用可能なリモート仮想レーン20個のそれぞれについて、PL[REMOTE_VL] = LOCAL_PL を設定します。

    例えば、ローカル仮想レーン12を読み出して、REMOTE_VL = 5、LOCAL_PL = 2が返ってきた場合は、リンクパートナーからの仮想レーン5のデータが、物理レーン2に着信することを意味します。これをPL[5] = 2として保存します。

  4. 各リモート仮想レーンの仮想レーンオフセットをビット単位で計算します。
    For 100GE rate:
    Virtual Lane Offset = sync_pulse to last AM  
       = gb_33_66_occupancy + gb_66_110_occupancy + blk_align_occupancy
       + am_detect_occupancy + am_count - local_lane_adjust 
    For 50GE-2 rate:
    Virtual Lane Offset = sync_pulse to last AM  
      = gb_33_66_occupancy + sep50_occupancy + blk_align_occupancy
      + am_detect_occupancy + am_count - local_lane_adjust 
  5. REMOTE_VL {18..19} のオフセットにシフトを適用しして、PCS MII Decoderで発生する mii_am/mii_data の並べ替えを考慮します。この手順は、50GE-2および100GEのレートにのみ適用されます。
    • REMOTE_VL ごとにシフトされた vl_offset_bits を生成します。
    • RX PCSからのデータでRX PTPを使用する場合は、REMOTE_VL 18から19の時間を -330ビットだけシフトします。
      vl_offset_bits_shifted[REMOTE_VL] = vl_offset_bits[REMOTE_VL] -330 for REMOTE_VL == {18..19}
      vl_offset_bits_shifted[REMOTE_VL] = vl_offset_bits[REMOTE_VL] for REMOTE_VL == {0..17} 

      このシフトでは、RX PCSによって着信データに適用されるシフトを考慮しています。

      例えば、vl_offset_bits[18] == 887の場合は、vl_offset_bits_shifted[18] を557に設定します。vl_offset_bits[17] == 887の場合は、vl_offset_bits_shifted[17] 887に設定します。

    注: 50GE-2レートの場合も、同じ手順に従います。ただし、シフトはVL3にのみ適用します。
  6. vl_offset_bitsVL_OFFSET (ns単位) に変換します。
    For each REMOTE_VL, VL_OFFSET[REMOTE_VL] = vl_offset_bits_shifted[REMOTE_VL] * RX_UI