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

ID 683819
日付 7/08/2024
Public
ドキュメント目次

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

セグメント化バッファーを使用すると、長期間にわたる定期的なイベントや一連のイベントをキャプチャできます。

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

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

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

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

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

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

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

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