PCI Express*向け F-タイル Avalon® ストリーミングのインテル® FPGA IPユーザーガイド

ID 683140
日付 4/27/2023
Public
ドキュメント目次

4.3. Precision Time Measurement (PTM)

Precision Time Measurement(PTM)を使用すると、独立したローカルタイムクロックを使用して、複数のコンポーネント間でイベントを正確に調整できます。通常、個々のタイムレコーダーの時間の値と変化率の概念が異なることを考えると、このような正確な調整は困難です。この制限を回避するために、PTMを使用すると、コンポーネントは、ローカル時間と共有PTMマスター時間(PTMルートに関連付けられた独立した時間領域)との関係を計算できます。各PTMルートは、PTM階層のPTMマスタータイムを提供します。

PTMリクエスターとは、エンドポイントまたはアップストリームポートに関連付けられたコンシューマーとしてPTMを使用できる機能を指します。 PTMレスポンダーとは、PTMを使用して、ルートポートまたはルートコンプレックスに関連付けられたPTMマスタータイムを提供できる機能を指します。 PTMルートは、PTM階層のPTMマスタータイムのソースであり、PTMレスポンダーでもあります。 F-タイル PCIe ハードIPは、エンドポイントモードのPTMまたはPTMリクエスターをサポートします。

  • PTMは、F-タイルのEndPointモード(PTMリクエスター)としてのみ実装されます。
  • EndPointモードとしてのポート0またはポート1のコンフィグレーションは、PTMをサポートできます。常に1つのポートのみがPTM機能を有効にできます。
  • PTM は PCIe Gen3 および Gen4 の速度でサポートされています。
    • 一般的なクロック方式での PTM 精度 = ±50 ns (Gen3 x1 モードを除く)
    • 独立した拡散スキームを使用した個別の基準クロックでの PTM 精度 = ±100 ns

F-タイル PCIe ハードIPのPTMリクエスターは、有効になっている場合、PTMコンテキスト(ダイアログの開始)を自動的に更新します。 1ミリ秒から10ミリ秒ごとの自動トリガー、またはユーザー入力のみによる手動トリガーとしてコンフィグレーションできます。

図 53. ASコンフィギュレーションのタイミング図

上の図は、自動トリガーが有効になっている場合のPTMインターフェイスのタイミング図を示しています。ptm_context_valid_optm_local_clock_oが有効 かどうかを示します。

PTMコンテキストは、次の場合に自動的に無効になります。
  • クロックが停止するか、間違った周波数で動作する(たとえば、リンク速度が変化しているとき)、または
  • PTMが無効になっている、または
  • PTM応答タイムアウト(自動更新または手動更新の開始条件が満たされたときに、リクエスターはPTMダイアログを再開します)、または
  • 重複PTMTLPが受信されるか、再生TLPが送信されます(応答を待機している場合、リクエスターは、最後の非重複要求が送信されてから100μs待機してから、新しいPTMダイアログを開始できるようにします。

受信したPTMメッセージもアプリケーション層に転送されます。

図 54. Precision Time Measurement(PTM)リンクプロトコル

PCIeリンク上の2つのコンポーネント間でPTMを使用する場合、PTMリクエスターに代わって機能するアップストリームポートは、同じリンク上のダウンストリームポートにPTMリクエストを送信します。これは、上の図のとおりにPTMレスポンダーに代わって機能します。

ポイントt1、t2、t3、およびt4は、PTMメッセージを送受信するときに各ポートによってローカルにキャプチャされたタイムスタンプを表します。各ポートに関連付けられたコンポーネントは、1番目のPTMダイアログからのこれらのタイムスタンプを内部レジスターに格納して2番目のPTMダイアログで使用し、以下同様に後続のPTMダイアログで使用します。

2番目のPTMダイアログでは、ダウンストリームポートが前のPTMダイアログ中に保存されたタイムスタンプに基づいてPTMResponseDメッセージを入力します。形式は次の2番目の図に示されています。これには、t2'であるPTMマスタータイムとt3-t2である伝搬遅延が含まれます。

次に、アップストリームポートに関連付けられたコンポーネントは、そのタイムスタンプをPTM ResponseDメッセージで渡されたタイムスタンプと組み合わせて、次の式を使用してPTMマスタータイムを計算できます。 t1'= t2'でのPTMマスター時間-[((t4-t1)-(t3-t2))/ 2]

図 55. PTMリクエストメッセージ
図 56. PTM応答メッセージ