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

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

7.8.5.1. Monitorコマンド

Monitorコマンドを使用すると、多数のAvalon-MMスレーブメモリーのロケーションの読み出しが通常のインターバルで可能です。

通常の負荷の場合、モニターサービスでは各インターバル後にデータを読み出し、その後でコールバックを呼び出します。読み出した値がタイミングの影響を受けやすい場合、monitor_get_read_interval コマンドを使用して、データが読み出されたインターバルの正確な時間を読み出します。

負荷が大きい場合、またはコールバックの実行に時間がかかる場合は、モニターサービスではいくつかのコールバックをスキップします。読み出すレジスターに (リセットからのイベント総数を読み出すなどの) 副作用がない場合、コールバックをスキップしてもコードに影響はありません。monitor_read_data コマンドおよび monitor_get_read_interval コマンドがこのシナリオに適しています。

読み出すレジスターに (最後の読み出しからイベントの数を返すなどの) 副作用がある場合、読み出されたデータへのアクセスが必須ですが、そのデータのコールバックはスキップされています。 monitor_read_all_data コマンドおよび monitor_get_all_read_intervals コマンドによって、このデータへのアクセスができます。

表 26.  モニターコマンド
コマンド 引数 機能
monitor_add_range

<service-path>

<target-path>

<address>

<size>

連続するメモリーアドレスをモニター済みのメモリーリストに追加します。

<service path> は、サービスを開いたときに返される値です。

<target-path> 引数は、読み出すマスターサービスの名前です。このアドレスは、このサービスのアドレス空間内に存在します。<target-path> は、 [lindex [get_service_paths master] n] から返されます。この n はマスターサービスの数です。

<address><size> はマスターサービスに関連しています。

monitor_get_all_read_intervals

<service-path>

<target-path>

<address>

<size>
monitor_read_all_data によって返されるデータ内の2つの読み出し間のインターバルのリストをミリ秒単位で返します。
monitor_get_interval <service-path> ポーリングアクションの頻度を指定する現在の間隔セットを返します。
monitor_get_missing_event_count <service-path> 最後のTclコールバック式の評価中に欠落したコールバック・イベント数を返します。
monitor_get_read_interval

<service-path>

<target-path>

<address>

<size>
monitor_read_data によって返される最後の2つのデータ読み出し間に経過したミリ秒を返します。
monitor_read_all_data

<service-path>

<target-path>

<address>

<size>
すべての最新値から読み出された8ビット値のリストを返します。この最新値は、最後のTclコールバック以降にデバイスから読み出されたものです。monitor_add_range の範囲内でメモリー範囲を指定してください。
monitor_read_data

<service-path>

<target-path>

<address>

<size>
最新値から読み出された8ビット値のリストを返します。この最新値は、デバイスから読み出されたものです。 monitor_add_range の範囲内でメモリー範囲を指定してください。
monitor_set_callback

<service-path>

<Tcl-expression>

System Consoleで評価する必要があるTcl式を指定します。これは、このサービスでモニタリングするメモリーをすべて読み出した後で行います。通常、この式の指定は、必要な引数が渡された単一の文字列Tclプロシージャー・コールとして行います。
monitor_set_enabled <service-path>

<enable(1)/disable(0)>

モニタリングをイネーブル/ディスエーブルします。メモリーの読み出し開始はこのコマンドの後です。またTclコールバックの評価はデータの読み出し後です。
monitor_set_interval

<service-path>

<interval>

ポーリング動作のターゲット周波数を指定するには、2つのメモリー読み出し間のインターバルを指定します。実際のポーリング周波数はシステム動作によって異なります。