Low Latency Ethernet 10G MAC Intel® FPGA IPユーザーガイド

ID 683426
日付 8/23/2021
Public
ドキュメント目次

6.10.1. IEEE 1588v2 Egress TX信号

Enable time stampingオプションを選択すると、以下の信号が表示されます。この機能は次の動作モード、10G、1G/10G、10M/100M/1G/10G、1G/2.5G、1G/2.5G/10G ( インテル® Stratix® 10デバイスのみ)、および10M/100M/1G/2.5G/5G/10G (USXGMII) ( インテル® Stratix® 10デバイスのみ) で使用可能です。

表 52.  IEEE 1588v2 Egress TX信号
信号 入力/出力 説明
tx_egress_timestamp_request_valid 入力 1 この信号をアサートして、送信フレームのタイムスタンプを要求します。この信号は、avalon_st_tx_startofpacket がアサートされるのと同じクロックサイクルでアサートされる必要があります。
tx_egress_timestamp_request_fingerprint[] 入力 n n = Timestamp fingerprint widthパラメーターの値。

このバスを使用して、タイムスタンプを要求している送信フレームのフィンガープリントを指定します。このバスは、tx_egress_timestamp_request_valid がアサートされると同時に有効なフィンガープリントを伝送する必要があります。

フィンガープリントの目的は、タイムスタンプをパケットに関連付けることです。したがって、CPUから収集されたフィンガープリントとタイムスタンプの両方を検証するために、PTPパケットのシーケンスIDフィールドまたはパケットの他の一意のフィールドにすることができます。

tx_egress_timestamp_96b_valid 出力 1 アサートされると、この信号は、tx_egress_timestamp_96b_fingerprint[] によってフィンガープリントが指定されている送信フレームの tx_egress_timestamp_96b_data[] のタイムスタンプを限定します。
tx_egress_timestamp_96b_data[] 出力 96 次の形式で、96ビットの出力タイムスタンプを伝送します。
  • 1588v2形式の場合、
    • ビット48から95: 48ビットの秒フィールド
    • ビット16から47: 32ビットのナノ秒フィールド
    • ビット0から15: 16ビットの小数ナノ秒フィールド
  • 1588v1形式の場合:
    • ビット64から95: 32ビットの秒フィールド
    • ビット32から63: 32ビットのナノ秒フィールド
    • ビット0から31: 未使用
tx_egress_timestamp_96b_fingerprint[] 出力 n n = Timestamp fingerprint widthパラメーターの値。

tx_egress_timestamp_request_data[] で受信される送信フレームのフィンガープリント。このフィンガープリントは、tx_egress_timestamp_96b_data[] の出力タイムスタンプの送信フレームを指定します。

tx_egress_timestamp_64b_valid 出力 1 アサートされると、この信号は、tx_egress_timestamp_64b_fingerprint[] によってフィンガープリントが指定されている送信フレームの tx_egress_timestamp_64b_data[] のタイムスタンプを限定します。
tx_egress_timestamp_64b_data[] 出力 64 次の形式で、64ビットの出力タイムスタンプを伝送します。
  • ビット16から63: 48ビットのナノ秒フィールド
  • ビット0から15: 16ビットの小数ナノ秒フィールド
tx_egress_timestamp_64b_fingerprint[] 出力 n n = Timestamp fingerprint widthパラメーターの値。

tx_egress_timestamp_request_data[] で受信される送信フレームのフィンガープリント。このフィンガープリントは、tx_egress_timestamp_64b_data[] 信号の出力タイムスタンプの送信フレームを指定します。

tx_time_of_day_96b_10g_data

(10Gの速度および10M/100M/1G/2.5G/5G/10G (USXGMII) 速度モードの場合)

入力 96 次の形式で、time of day (ToD) を外部ToDモジュールからMAC IPコアに伝送します。
  • ビット48から95: 48ビットの秒フィールド
  • ビット16から47: 32ビットのナノ秒フィールド
  • ビット0から15: 16ビットの小数ナノ秒フィールド
これは、PTPパケットの各フィールドで、秒とナノ秒で構成されている80ビットのタイムスタンプToDを記録するために必要です。残りの16ビットの小数ナノ秒値が使用されるのは、PTPパケットのCFを更新する場合です。
tx_time_of_day_96b_1g_data

(10M、100M、1G、および2.5Gの速度の場合)

tx_time_of_day_64b_10g_data

(10Gの速度および10M/100M/1G/2.5G/5G/10G (USXGMII) 速度モードの場合)

入力 64 ToDを、外部ToDモジュールからMAC IPコアに次の形式で伝送します。
  • ビット16から63: 48ビットのナノ秒フィールド
  • ビット0から15: 16ビットの小数ナノ秒フィールド
PTPヘッダーのCFを更新するには、64ビットのタイムスタンプが必要です。CFの更新は、トランスペアレント・クロック動作の基本です。
tx_time_of_day_64b_1g_data

(10M、100M、1G、および2.5Gの速度の場合)

tx_path_delay_10g_data

(10Gの速度および10M/100M/1G/2.5G/5G/10G (USXGMII) 速度モードの場合)

入力 16または24 このバスをPHY Intel® FPGA IPに接続します。このバスが伝送するのは、物理ネットワークとMAC IPコア (XGMII、GMII、またはMII) のPHY側の間で測定されるパス遅延です。MAC IPコアは、遅延を考慮して出力タイムスタンプを生成するときに、この値を使用します。パス遅延は、以下の形式です。
  • ビット0から9: クロックサイクルの小数
  • ビット10から15/21/23: クロックサイクル数
tx_path_delay_1g_data

(10M、100M、1G、および2.5Gの速度の場合)

22
tx_egress_p2p_update 入力 1

この信号をアサートするのは、ピアツーピア・メカニズムの一部として、送信フレーム用に tx_egress_p2p_val で指定された <meanPathDelay> を使用してCFを追加する必要がある場合です。

パケットの開始と同じクロックサイクルでこの信号をアサートします (avalon_st_tx_startofpacket がアサートされます)。

tx_egress_p2p_val[] 入力 46

これは、ピアツーピア動作の <meanPathDelay> を表します。

  • ビット16から45: ナノ秒フィールドでのリンク遅延
  • ビット0から15: 小数ナノ秒フィールドのリンク遅延
表 53.  IEEE 1588v2 Egress TX信号 - 1ステップモードこれらの信号は、1ステップ動作モードにのみ適用されます。
信号 入力/出力 説明
tx_etstamp_ins_ctrl_timestamp_insert 入力 1 この信号をアサートして、出力タイムスタンプを関連するフレームに挿入します。avalon_st_tx_startofpacket がアサートされるのと同じクロックサイクルで、この信号をアサートします。
tx_etstamp_ins_ctrl_timestamp_format 入力 1 この信号を使用して、挿入するタイムスタンプの形式を指定します。
  • 0: 1588v2形式 (48ビットの秒フィールド + 32ビットのナノ秒フィールド + 16ビットの小数ナノ秒の訂正フィールド)。タイムスタンプと訂正フィールドのオフセット位置が必要です。
  • 1: 1588v1形式 (32ビットの秒フィールド + 32ビットのナノ秒フィールド)。タイムスタンプのオフセット位置が必要です。

パケットの開始と同じクロックサイクルでこの信号をアサートします (avalon_st_tx_startofpacket がアサートされます)。

tx_etstamp_ins_ctrl_residence_time_update 入力 1 この信号をアサートして、滞留時間 (出力タイムスタンプ-入力タイムスタンプ) をPTPフレームの訂正フィールドに追加します。訂正フィールドのオフセット位置が必要です。パケットの開始と同じクロックサイクルでこの信号をアサートします (avalon_st_tx_startofpacket がアサートされます)。
tx_etstamp_ins_ctrl_ingress_timestamp_96b[] 入力 96 入力タイムスタンプの96ビット形式 (48ビット秒 + 32ビットナノ秒 + 16ビットの小数ナノ秒)。パケットの開始と同じクロックサイクルでこの信号をアサートします (avalon_st_tx_startofpacket がアサートされます)。
tx_etstamp_ins_ctrl_ingress_timestamp_64b[] 入力 64 入力タイムスタンプの64ビット形式。(48ビットナノ秒 + 16ビットの小数ナノ秒)。パケットの開始と同じクロックサイクルでこの信号をアサートします (avalon_st_tx_startofpacket がアサートされます)。
tx_etstamp_ins_ctrl_residence_time_calc_format 入力 1 滞留時間の計算に使用されるタイムスタンプの形式。0: 96ビット (96ビットの出力タイムスタンプ - 96ビットの入力タイムスタンプ)。1: 64ビット (64ビットの出力タイムスタンプ - 64ビットの入力タイムスタンプ)。パケットの開始と同じクロックサイクルでこの信号をアサートします (avalon_st_tx_startofpacket がアサートされます)。
tx_etstamp_ins_ctrl_checksum_zero 入力 1 この信号をアサートして、UDP/IPv4のチェックサム・フィールドをゼロに設定します。チェックサム・フィールドのオフセット位置が必要です。パケットの開始と同じクロックサイクルでこの信号をアサートします (avalon_st_tx_startofpacket がアサートされます)。
tx_etstamp_ins_ctrl_checksum_correct 入力 1 この信号をアサートして、UDP/IPv6パケットのチェックサムを訂正します。これは、チェックサム訂正オフセットで指定されたチェックサム訂正を更新することにより行われます。チェックサム訂正のオフセット位置が必要です。パケットの開始と同じクロックサイクルでこの信号をアサートします (avalon_st_tx_startofpacket がアサートされます)。
tx_etstamp_ins_ctrl_offset_timestamp[] 入力 16 タイムスタンプ・フィールドの位置。パケットの最初のバイトに関連します。パケットの開始と同じクロックサイクルでこの信号をアサートします (avalon_st_tx_startofpacket がアサートされます)。
tx_etstamp_ins_ctrl_offset_correction_field[] 入力 16 訂正フィールドの位置。パケットの最初のバイトに関連します。パケットの開始と同じクロックサイクルでこの信号をアサートします (avalon_st_tx_startofpacket がアサートされます)。
tx_etstamp_ins_ctrl_offset_checksum_field[] 入力 16 チェックサム・フィールドの位置。パケットの最初のバイトに関連します。パケットの開始と同じクロックサイクルでこの信号をアサートします (avalon_st_tx_startofpacket がアサートされます)。
tx_etstamp_ins_ctrl_offset_checksum_correction[] 入力 16 チェックサム訂正フィールドの位置。パケットの最初のバイトに関連します。パケットの開始と同じクロックサイクルでこの信号をアサートします (avalon_st_tx_startofpacket がアサートされます)。
tx_egress_asymmetry_update 入力 1

この信号をアサートして、送信フレームのPTPヘッダー内のCFを非対称値で更新します。パケットの開始 (avalon_st_tx_startofpacket) がアサートされるのと同じクロックサイクルでこの信号をアサートします。

詳細については、tx_asymmetry レジスターについての関連リンクを参照してください。