デバッグソリューションズホームへ

1.はじめに

2.Test Access Port

3.BS周辺回路

4.TAPコントローラ

5.インストラクションレジスタ

6.Testデータレジスタ

7.BS試験例

8.インフラ試験

9.BS試験

  DEBSOLホームへ

4.TAPコントローラ

4.1 TAPコントローラ概要

TAPコントローラはTCKとTMS信号の組み合わせで変化するステートマシンを持っています。このステートマシンの状態遷移の中で、データの入出力や、インストラクションの入力/実行を制御します。

 

4.2 TAPコントローラの状態遷移

TAPコントローラはTCKとTMS信号からなるシーケンス回路で、バウンダリスキャンデバイス内の全てのコントロールを行ないます。その動作は以下のシーケンスマップで表現されます。TMS信号はTCKの立ち上がりエッジで取り込まれ、その時のレベル(”0” or ”1”)でシーケンスが遷移します。又実行はTCKの立ち下がりエッジ又は立ち上がりエッジで変化します。

TAPコントローラの状態遷移

(1)Test Logic Reset

Test Logic Reset はバウンダリスキャンステートのリセットステートです。このステートでは、チップのシステムロジックに対して影響を与えません。電源投入時やTRST信号に“L”を入力することで、このステートに遷移します。又、TMS信号に“H”レベルを5CLK間保つことで、どのシーケンスステートから Test Logic Reset ステートに移るようになっています。

もし、TCK信号の立ち上がり時に、ノイズ等の理由で、TMS信号に“L”レベルが入力され、Test Logic Reset ステートから Run-Test/Idle に状態が遷移したとしても、TMS信号に“H”レベルが入力されれば、TCK信号の3CLKで Test Logic Reset ステートに遷移します。又この状態遷移における Run-Test/Idle ⇒ Select-DR-Scan ⇒ Select-IR-Scan のステートではバウンダリスキャンテスト回路は有効にならず、システムロジックには影響を与えません。

(2)Run-Test/Idle

Run-Test/Idle は 試験の実行、または Test Logic Reset からの通過(Idle)ステートです。“L”レベルを保つことで無限にこのステートにとどまることができます。ある特定のインストラクションが選択されているとき、Run-Test/Idle ステートでバウンダリスキャンテスト回路が有効になります。例えば、インストラクションレジスタにRUNBIST がセットされている場合 Run-Test/Idle ステートでチップの自己診断テストを行います。 

(3)Select-DR-Scan

データレジスタを制御するシーケンスへの移行を選択する一時的なステートです。

(4)Capture-DR

Capture-DR ステートではTCKの立ち上がりエッジで、入力ピンに対しては、ピンの状態をバウンダリスキャンセル内のシフトレジスタ(Test Data Register)に取り込む動作を行い、出力ピンに対しては内部ロジックが出力している状態をシフトレジスタに設定する動作を行います。

(5)Shift-DR

Shift-DR ステートを実行すると、TCKの立ち上がりエッジで、シフトレジスタ(Test Data Register)内のデータの1ビットシフトが実行され、TDiからデータが取り込まれ、シフトレジスタの最後のデータがTDoから出力されます。必要な回数分このステートを繰り返すことで、テストパターンデータのセットや、TDoからの試験結果の出力を行います。

(6)Exit1-DR

Exit1-DR は、 Shift-DR 終了後、 Updata-DR に移行するか、 Pause-DR に移行するかを選択する一時的なステートです。このステートでは現在のインストラクションで選択された Test Data Register のデータは変化しません。

(7)Pause-DR

Pause-DR はテストパターンデータのシフトを一時的に停止するためのステートです。このステートでは現在のインストラクションで選択された Test Data Register のデータは変化しません。

(8)Exit2-DR

Exit2-DR は、 Shift-DR に戻るか、 Updata-DR に移行するかを選択する一時的なステートです。このステートでは現在のインストラクションで選択された Test Data Register のデータは変化しません。

(9)Update-DR

Updata-DR では、TCKの立ち下がりエッジで、シフトレジスタの値を出力ラッチにセットします。

(10)Selct-IR-Scan

インストラクションレジスタを制御するシーケンスへの移行を選択する一時的なステートです。

(11)Capture-IR

Capture-IR を実行すると、TCKの立ち上がりエッジで、IRステータスワード(デバイスに定義された固定パターン)がインストラクションレジスタに設定されます。 

(12)Shift-IR

Shift-IR ステートを実行すると、TCKの立ち上がりエッジで、インストラクションレジスタ内のデータの1ビットシフトが実行され、TDiからデータが取り込まれ、又シフトレジスタの最後のデータがTDoから出力されます。必要な回数分このステートを繰り返すことで、インストラクションデータのセットや、TDoからのIRステータスワードの取り出しを行います。

(13)Exit1-IR

Exit1-IR は、 Shift-IR 終了後、 Update-IR に移行するか、 Pause-IR に移行するかを選択する一時的なステートです。

(14)Pause-IR

Pause-IR はインストラクションレジスタのシフトを一時的に停止するためのステートです。このステートでは現在のインストラクションレジスタのデータは変化しません。

(15)Exit2-IR

Exit2-IR は、Shift-IR に戻るか、 Update-IR に移行するかを選択する一時的なステートです。

(16)Upudate-IR

Update-IR はTCKの立ち下がりエッジで、シフトレジスタの値をインストラクションレジスタにセットします。インストラクションレジスタにセットされたインストラクションが、以後、実行されるインストラクションとなります。

 

以下の表にTAPコントローラの状態遷移におけるTDoの出力状態を示します。