AR# 3173

JTAG - SVF ファイルの読み方

説明

キーワード : XC9500, 9k, 9500, SIR, SDR, runtest, state, trst, ステート

このアンサーでは、ザイリンクス ソフトウェアで生成された SVF ファイル内で使用されるコマンドについて説明します。

ソリューション

1

TRST (テスト リセット)

構文 :
TRST trst_mode

オプションのテスト リセット信号の動作を示します。XC9500 デバイスには TRST ピンはないので、OFF が指定されます。 trst_mode に有効なステートは、ON、OFF、Z、および ABSENT です。

例 :

TRST OFF;

2

ENDDR、ENDIR

構文 :
ENDDR stable_state
ENDIR stable_state

DR または IR スキャンが完了したときの TAP コントローラのステートを指定します。 ENDDR/ENDIR コマンドを指定すると、別の ENDDR/ENDIR コマンドが指定されない限り、設定がそのまま保持されます。 ENDDR と ENDIR は、両方ともスタートアップで IDLE に設定されます。 stable_state に有効な値は、IRPAUSE、DRPAUSE、RESET、および IDLE です。

例 :

ENDIR IDLE;
ENDDR DRPAUSE;

3

STATE

構文 :
STATE [pathstate1 [pathstate2...[pathstaten]]] stable_state;

テストの初期化、完了などの目的で、TAP コントローラをある安定ステートから別のステートに遷移するために使用します。 STATE コマンド中、TDI および TDO は定義されません。 各ステート パスで、最低 1 つのテスト クロックが実行されると想定されます。

pathstate1..n は、最終的な安定ステートを達成するために TAP ステート ダイアグラムで通過する必要があるステートのリストです (オプション)。 有効なステートは、RESET、IDLE、DRSELECT、DRCAPTURE、DRSHIFT、DRPAUSE、DREXIT1、DREXIT2、DRUPDATE、IRSELECT、IRCAPTURE、IRSHIFT、IRPAUSE、IREXIT1、IREXIT2、および IRUPDATE です。 TAP コントローラは、stable_state に強制されます。 IRPAUSE、DRPAUSE、RESET、および IDLE は有効な安定ステートです。

例 :

STATE RESET IDLE;

4

SDR、SIR (スキャン データ レジスタ、スキャン命令レジスタ)

構文 :
SDR length [TDI (tdi)] [TDO (tdo)] [MASK (mask)] [SMASK (smask)];
SIR length [TDI (tdi)] [TDO (tdo)] [MASK (mask)] [SMASK (smask)];

ターゲットのデータ レジスタまたは命令 レジスタに適用できるスキャン パターンを指定します。 length は、スキャンされるビット数を指定する 0 以上の符号なしの 32 ビット 10 進整数です。

[TDI (tdi)] は、スキャンされる HEX 値です (オプション)。 このパラメータが存在しない場合は、スキャンされる TDI 値は前の SIR/SDR 文と同じになります。 TDI パラメータは、最初のコマンド、またはターゲット レジスタの幅を変更するときに、明示的に指定する必要があります。

[TDO (tdo)] は、ターゲットからスキャンされる実際の値と比較する HEX 値です (オプション)。 このパラメータは存在しない場合は、比較されません。

[MASK (mask)] は、TDO 値を実際の値と比較するときに使用する MASK 値 (HEX) です (オプション)。 1 の場合はそのビット位置の値が関係し、0 の場合は関係しないことを示します。 このパラメータが存在しない場合は、以前に割り当てられた MASK 値が使用されます。 新しいスキャン コマンドにより以前のスキャンからデータ パターンの長さが変更された場合、MASK パラメータを明示的に指定する必要があります。 TDO パラメータを指定しない場合、MASK は使用されません。

[SMASK (smask)] は、TDI の値が関係するか関係しないかを指定します (オプション)。 1 の場合はそのビット位置の値が関係し、0 の場合は関係しないことを示します。 このパラメータが存在しない場合は、以前に割り当てられた SMASK 値が使用されます。 新しいスキャン コマンドにより以前のスキャンからデータ パターンの長さが変更された場合、SMASK パラメータを明示的に指定する必要があります。 TDI パラメータが存在しなくても、SMASK は使用されます。

例 :

SIR 8 TDI (fe) SMASK (ff) ;
SDR 32 TDI (ffffffff) SMASK (ffffffff) TDO (09502093) MASK
(ffffffff) ;

5

RUNTEST

構文 :
RUNTEST [run_state] run_count run_clk [min_time SEC [MAXIMUM
max_time SEC]] [ENDSTATE end_state]

または

RUNTEST [run_test] min_time SEC [MAXIMUM max_time SEC] [ENDSTATE
end_state]

TAP コントローラを指定したクロック数または指定した時間だけ特定の実行ステートにした後、指定したエンド ステートに遷移します。 run_count または min_time のいずれかを指定する必要があります。 両方を指定した場合、RUNTEST は両方の条件が満たされるか、max_time を超えるまで実行されます。

run_state は、RUNTEST コマンドの実行中の TAP コントローラのステートを指定します (オプション)。 有効なステートは、IRPAUSE、DRPAUSE、RESET、および IDLE です。 run_state を指定しない場合、以前に指定された値に指定されます。 何も指定されない場合の初期のデフォルト値は IDLE です。

run_count は、TAP コントローラを実行ステートに保持するクロック数です (オプション)。 この値は 32 ビットの符号なし 10 進整数です。

run_clk は、使用されるオプションのクロック (TCK またはシステム クロック) を指定します。

[min_time SEC] は、RUNTEST を実行する最小時間を秒で指定します (オプション)。

[MAXIMUM max_time SEC] は、RUNTEST を実行する最大時間を秒で指定します (オプション)。min_time よりも大きい値を指定する必要があります。

[ENDSTATE end_state] は、指定したクロック回数実行した後の TAP コントローラのステートを指定します (オプション)。 end_state に有効な値は、IRPAUSE、DRAPAUSE、RESET、および IDLE です。 end_state が指定されない場合、デフォルトの値が使用されます。 end_state が指定された場合、その値がデフォルトになります。
run_state が指定された場合、新しい run_state がデフォルトになります。 run_state が指定されない場合、デフォルトの end_state は有効なままです。 end_state の初期のデフォルト値は IDLE です。

例 :

RUNTEST 1300000 TCK;

メモ : iMPACT で生成された SVF ファイルでは、TCK が 1MHz で動作すると想定されます。 CPLD および PROM デバイスの場合、次の操作までに一定の時間待機する必要がある場合があるため、これは重要です。 どの RUNTEST コマンドに待機時間の要件があるかを確認するには、6.1i 以降の iMPACT を使用して SVF ファイルを生成し、[Edit] -> [Preference] をクリックして [Use Absolute Time in SVF File] をオンにします。
AR# 3173
日付 08/25/2006
ステータス アクティブ
種類 ??????