F-Tile Ethernet Intel® FPGA Hard IPユーザーガイド

ID 683023
日付 7/08/2024
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デコーダーで発生する mii_am/mii_data の並べ替えを考慮します。このステップは、50GE-2および100GEのレートにのみ適用されます。
    • シフトされた vl_offset_bits を各 REMOTE_VL に生成します。
    • 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