JTAG シーケンス オブジェクトを作成します。
構文
jtag sequence
JTAG シーケンス オブジェクトを作成します。jtag sequence コマンドは新しいシーケンス オブジェクトを作成します。作成後のシーケンスは空です。次のシーケンス オブジェクト コマンドを使用できます。
sequence state new-state [count]
JTAG ステート マシンを <new-state>
に移動し、<count>
個の JTAG クロックを生成します。<clock>
が指定されていて、<new-state>
がループ ステート (RESET、IDLE、IRSHIFT、IRPAUSE、DRSHIFT または DRPAUSE) ではない場合、ステート マシンが RESET ステートに移行します。
sequence irshift [options] [bits [data]]
sequence drshift [options] bits [data]: IRSHIFT または DRSHIFT ステートでデータをシフトします。データは最後の引数として渡されるか、if -tdi オプションが指定される場合、-tdi に指定した引数によって、データはすべて 0 になるかすべて 1 になります。-register オプションを指定した場合、<bits>
および <data>
引数は irshift には使用されません。使用可能なオプションは、次のとおりです。
- -register
<name>
: 命令レジスタを名前を指定して選択します。このオプションは、irshift でのみサポートされます。-tdi<value>
: SHIFT ステートのすべてのクロックに使用する TDI 値。 - -binary:
<data>
のフォーマットがバイナリあることを指定します (バイナリ フォーマットのファイルからのデータなど)。 - -integer:
<data>
のフォーマットが整数であることを指定します。データの最下位ビットが最初にシフトされます。 - -bits:
<data>
のフォーマットがバイナリ テキスト文字列であることを指定します。文字列の最初のビットが最初にシフトされます。 - -hex:
<data>
のフォーマットが 16 進数テキスト文字列であることを指定します。文字列の最初のバイトの最下位ビットが最初にシフトされます。 - -capture: シフト中に TDO データを取り込んで、sequence run コマンドから返されます。
- -state
<new-state>
: シフトが終了した後のステートを指定します。デフォルトは RESET です。
sequence delay usec
シーケンス コマンド間に遅延を生成します。遅延中は JTAG クロックは生成されません。遅延は <usec>
マイクロ秒以上になりますが、JTAG クロックを生成しないと遅延がサポートされないケーブルでは、それより長くできます。
sequence get_pin pin
<pin>
の値を取得します。サポートされるピンはケーブルによって異なります。
sequence set_pin pin value
<pin>
の値を <value>
に設定します。サポートされるピンはケーブルによって異なります。
sequence atomic enable
アトミック シーケンスを設定または取得します。これは、正確なタイミングで実行されるか必ずエラーになるシーケンスを作成する場合に便利です。アトミック シーケンスは、エラーのリスクを最小限に抑えるため、できるだけ短くする必要があります。
sequence run [options]
現在選択されている JTAG ターゲットに対して JTAG 操作をシーケンスの順番で実行します。このコマンドは、shift コマンドに -capture オプションを付けた結果および get_pin コマンドの結果を返します。
使用可能なオプションは、次のとおりです。
- -binary: 戻り値をバイナリとしてフォーマットします。最初にシフト アウトされるビットは戻される最初のバイトの最下位ビットです。
- -integer: 戻り値を整数としてフォーマットします。最初にシフト アウトされるビットはその整数の最下位ビットです。
- -bits: 戻り値をバイナリのテキスト文字列としてフォーマットします。最初にシフト アウトされるビットは文字列の最初の文字です。
- -hex: 戻り値を 16 進数にテキスト文字列としてフォーマットします。最初にシフト アウトされるビットは、その文字列の最初のバイトの最下位ビットです。
- -single: すべての戻り値を 1 つのデータにまとめます。このオプションを指定しない場合、戻り値は shift -capture および get_pin ごとに 1 つのエントリのリストになります。
sequence clear
シーケンスからすべてのコマンドを削除します。
sequence delete
シーケンスを削除します。
戻り値
JTAG シーケンス オブジェクト。
例
set seqname [jtag sequence]
$seqname state RESET
$seqname drshift -capture -tdi 0 256
set result [$seqname run]
$seqname delete