インテル® Quartus® Primeプロ・エディション・ユーザーガイド: デバッグツール

ID 683819
日付 9/30/2019
Public
ドキュメント目次

2.8.1. セグメント化バッファーを使用したデータのキャプチャ

Segmented Acquisitionバッファーによるキャプチャの実行には、各取得セグメントに対して別々のトリガー条件が使用できます。 このバッファーを使用すると、繰り返し発生するイベントや長期間にわたる一連のイベントをキャプチャできます。

各取得セグメントは、非セグメント化バッファーとして機能し、データの継続的なキャプチャをアクティベーション後に行います。解析をセグメント化バッファーで実行すると、Signal Tapロジック・アナライザーでは、バックツーバックのデータをデータバッファー内の各取得セグメントに対してキャプチャします。Sequentialトリガーフロー制御またはCustom State-basedトリガーフロー制御のいずれかで、トリガーフロー、または各バッファーのトリガー条件を評価するタイプと順序を定義します。

次の図で示すセグメント化取得バッファーには4つのセグメントがあり、それを4つの別々の非セグメント化バッファーとして表しています。

図 60. セグメント化取得バッファー

Signal Tapロジック・アナライザーでは、あるセグメントの取得を終了すると、次のセグメントに進んで新しい取得を開始します。データキャプチャの波形ビューアーでの表示は、トリガー条件の発生タイミングによって異なります。この図で示しているのは、データキャプチャ方法です。トリガーマーカー (Trigger 1、Trigger 2、Trigger 3、Trigger 4) の照会先は、カスタムステート・ベースのトリガーフローでのsegment_trigger および trigger コマンドの評価です。連続フローでは、トリガーマーカーで参照するトリガー条件は、ユーザーがSetupタブで指定したものです。

Segment 1 Bufferがアクティブセグメントであり、Trigger 1が発生した場合、 Signal Tapロジック・アナライザーでは、Trigger 1の評価をすぐに開始します。Segment 2バッファーのデータ取得が開始するのは、Segment Buffer 1によってポストフィルカウントが終了したとき、もしくは、Trigger 2の評価がTRUEとなったときのいずれかの状態が先に発生したときです。したがって、トリガー条件は、データ・キャプチャ・シーケンスの次のバッファーに関連付けられている場合、現在のアクティブバッファーのポストフィル・カウントをプリエンプトできます。これにより、Signal Tapロジック・アナライザーでは、発生したすべてのトリガー条件を正確にキャプチャすることができます。未使用のサンプルは、空白スペースとして波形ビューアーに表示されます。

図 61. 取得セグメントのプリエンプションによるセグメント化キャプチャーこの図で示すキャプチャでは、連続フロー・コントロールを使用し、各セグメントに対するトリガー条件の指定はDon't Careです。

最後から1つ前の各セグメントでキャプチャするサンプルは1つだけです。これは、次のトリガー条件によって現在のバッファーのキャプチャがすぐにプリエンプトされるためです。すべてのセグメントのトリガー位置は、事前トリガーとして指定されています (データの10%がトリガー条件の前で、データの90%がトリガー位置の後です)。最後のセグメントはトリガー条件によってすぐに開始されるため、そのセグメントに含まれるのはトリガー後のデータのみです。最後のセグメント内の3つの空のサンプルは、プリトリガー・サンプルの残りです。これは、Signal Tapロジック・アナライザーによってバッファーに割り当てられたものです。

Sequentialトリガーフローの場合、Trigger Positionオプションの適用先は、バッファー内のすべてのセグメントです。カスタムのState-basedトリガーフローによって提供される最大限の柔軟性によって、トリガー位置が定義されます。デバッグ要件に固有のトリガー位置を調整することで、割り当てられたバッファースペースを最大限に活用することができます。