インテルのみ表示可能 — GUID: mwh1410384787779
Ixiasoft
インテルのみ表示可能 — GUID: mwh1410384787779
Ixiasoft
2.7.1. ランタイム・リコンフィグレーションが可能なオプション
Runtime Triggerモードを使用する場合、.stp 内のいくつかの設定の変更には、デザインのコンパイルは不要です。
ランタイム・リコンフィグレーションが可能な設定 | 説明 |
---|---|
Basic Trigger ConditionおよびBasic Storage Qualifier Condition | トリガー条件がオンになっている信号はすべて、再コンパイルせずにどのBasicトリガー条件値にでも変更できます。 |
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モードでのContinuous captureモードへの切り替えには、デザインの再コンパイルは必要ありません。この機能をイネーブルするには、disable storage qualifierをオンにします。 |
State-basedトリガーフローのパラメーター | State-basedトリガーフローでランタイム・リコンフィグレーションが可能な設定を参照してください。 |
Runtime Reconfigurableオプションを使用すると、デバッグサイクル時間の節約が、より広範のイベントのシナリオを網羅することで可能になります。このとき、デザインの再コンパイルは不要です。パフォーマンスおよびロジック使用量に多少の影響が生じることがあります。Advancedトリガー条件およびstate-basedトリガーフロー・パラメーターに対するランタイム・リコンフィグレーション機能をオフにして、パフォーマンスを向上させ、エリア使用量を低減します。
.stp ファイルのコンフィグレーションを行って、通常は再コンパイルが必要となる変更を防止するには、Setupタブでノードリストの上のAllow Trigger Condition changes onlyを選択します。
Incremental Routeのロックモードでは、Allow incremental route changes onlyによる制限のため、変更できるのはフルコンパイルではなくIncremental Routeだけを必要とする場合です。
次の例で示すのは、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 added for a 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