インテルのみ表示可能 — GUID: mwh1410384787779
Ixiasoft
インテルのみ表示可能 — GUID: mwh1410384787779
Ixiasoft
2.7.2. ランタイム・リコンフィグレーションが可能なオプション
Runtime Triggerモードを使用すると、.stp 内の特定の設定を変更できます。このとき、デザインのリコンパイルは不要です。
ランタイム・リコンフィグレーションが可能な設定 | 説明 |
---|---|
Basic Trigger ConditionおよびBasic Storage Qualifier Condition | トリガー条件がオンになっているすべての信号をリコンパイルせずに、任意の基本トリガー条件値に変更します。 |
Comparison Trigger ConditionおよびComparison Storage Qualifier Condition | すべての比較オペランド、比較数値、インターバル境界値は、ランタイム・コンフィグレーションが可能です。 ComparisonトリガーからBasic ORトリガーにランタイムに切り替える場合、リコンパイルは不要です。 |
Advanced Trigger ConditionおよびAdvanced Storage Qualifier Condition | 演算子の多くには、ランタイム・コンフィグレーションが可能な設定が含まれています。例えば、すべての比較演算子はランタイム・コンフィグレーションが可能です。コンフィグレーション可能な設定の表示は、ブロック図内で白い背景になります。このランタイム・コンフィグレーションが可能なオプションを、Object Propertiesダイアログボックスでオンにします。 |
Storage-qualifiedとContinuous acquisitionの切り替え | Storage-qualifiedモード内では、デザインをリコンパイルせずに連続キャプチャモードに切り替えることができます。この機能をイネーブルするには、disable storage qualifierをオンにします。 |
State-basedトリガーフローのパラメーター | State-basedトリガーフローでランタイム・リコンフィグレーションが可能な設定を参照してください。 |
Runtime Reconfigurableオプションを使用すると、より広範囲のイベントをカバーできるため、デバッグサイクルの時間を節約できます。このとき、デザインのリコンパイルは不要です。パフォーマンスおよびロジック使用量に多少の影響が生じることがあります。Advancedトリガー条件およびstate-basedトリガーフロー・パラメーターに対するランタイム・リコンフィグレーション機能をオフにすると、パフォーマンスが向上し、エリア使用量が低減します。
通常、Setupタブでリコンパイルが必要な変更を防止するように .stp ファイルをコンフィグレーションするには、ノードリストの上にあるAllow Trigger Condition changes onlyロックモードを選択します。
次の例で示すのは、Runtime Reconfigurable機能に使用可能なユースケースです。Storage qualifiedがイネーブルされたState-basedトリガーフローの記述および、キャプチャウィンドウのサイズ変更をリコンパイルなしで行う方法を示しています。この例の同等機能は、単一のトリガー条件を持つセグメント化バッファーに対するもので、そのセグメントサイズはランタイム・リコンフィグレーションが可能です。
state ST1: if ( condition1 && (c1 <= m) )// each "segment" triggers on condition // 1 begin // m = number of total "segments" start_store; increment c1; goto ST2: end else (c1 > m ) // This else condition handles the last // segment. begin start_store trigger (n-1) end state ST2: if ( c2 >= n) //n = number of samples to capture in each //segment. begin reset c2; stop_store; goto ST1; end else (c2 < n) begin increment c2; goto ST2; end
次の図では、トリガーフローの例で説明されているセグメント化バッファーを示しています。
ランタイム時に、値 m と値 n を変更できます。トリガーフロー記述で m と n の値を変更すると、リコンパイルせずにセグメント境界を調整できます。
トリガーフロー記述にステートを追加して特定のステートを選択的にマスクし、ランタイム時にステータスフラグを使用して他のステータスをイネーブルすることができます。
この例は、追加のステートが挿入された前の例に似ています。この追加のステータスを使用して、Storage qualifier機能を使用しない別のトリガー条件を指定します。トリガーフローの実行を制御するには、条件文にステータスフラグを挿入します。
state ST1 : if (condition2 && f1) // additional state for non-segmented // acquisition set f1 to enable state begin start_store; trigger end else if (! f1) goto ST2; state ST2: if ( (condition1 && (c1 <= m) && f2) // f2 status flag used to mask state. Set f2 // to enable begin start_store; increment c1; goto ST3: end else (c1 > m ) start_store; trigger (n-1) end state ST3: if ( c2 >= n) begin reset c2; stop_store; goto ST1; end else (c2 < n) begin increment c2; goto ST2; end