インテルのみ表示可能 — GUID: sxs1614682379115
Ixiasoft
インテルのみ表示可能 — GUID: sxs1614682379115
Ixiasoft
4.4.4. FECなしのバリアントのRX仮想レーンオフセットの計算
- RX PCSをロックします。
RX PCSのアラインメントは、VLオフセットデータを抽出する前に完了させてください。o_rx_pcs_fully_aligned がアサートされるのを待ちます。
- 各ローカル仮想レーン (VL) のVLデータを読み出します。
o_rx_pcs_status[mode] レジスターからの読み出し動作を、CSRインターフェイスを介して実行します。これにより、20個の仮想レーンすべての VL data field データが返されます。
- 各リモート仮想レーンの物理レーンを設定します。
各ローカル仮想レーンから提供されるデータを順次実行します。
- 各レーンには、REMOTE_VL と LOCAL_PL 値があります。
使用可能なリモート仮想レーン20個のそれぞれについて、PL[REMOTE_VL] = LOCAL_PL を設定します。
例えば、ローカル仮想レーン12を読み出して、REMOTE_VL = 5、LOCAL_PL = 2が返ってきた場合は、リンクパートナーからの仮想レーン5のデータが、物理レーン2に着信することを意味します。これをPL[5] = 2として保存します。
- 各リモート仮想レーンの仮想レーンオフセットをビット単位で計算します。
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
- 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にのみ適用します。 - vl_offset_bits を VL_OFFSET (ns単位) に変換します。
For each REMOTE_VL, VL_OFFSET[REMOTE_VL] = vl_offset_bits_shifted[REMOTE_VL] * RX_UI