問題の詳細
キーワード : tap, controller, JTAG, boundary scan, states, タップ, コントローラ, バウンダリ スキャン, ステート
TAP コントローラ ステート マシンは、どのように動作しますか。
ソリューション
TAP コントローラは、16 ステートからなる FSM で、テスト アクセス ポート (TAP) から送られる制御シーケンスに応答します。 次の図に、ステート ダイアグラムを示します。

The TAP Controllerステート間の遷移は、TCK の立ち上がりエッジでのみ発生します。各ステートにはそれぞれ別の名前が付けられています。 縦の 2 列は、それぞれ 7 つのステートから構成されており、命令パスとデータ パスを表しています。 データ レジスタは、名前が DR で終わるステートで動作し、命令レジスタは名前が IR で終わるステートで動作します。 これを除き、ステートは同一です。
各ステートの動作を、次に示します。
Test-Logic-Reset すべてのテスト ロジックがディスエーブルにされ、IC の通常動作がイネーブルにされます。 TAP コントローラのステート マシンは、コントローラの初期ステートにかかわらず、TMS を High にして TCK を 5 回発生させることで Test-Logic-Reset ステートになるように設計されています。 このため、テスト リセット (TRST) ピンはオプションです。
Run-Test-Idle 特定の命令が存在するときのみ IC 内のテスト ロジックがアクティブになります。
たとえば、命令によりセルフ テストがアクティブにした場合、このステートになったときにこの命令が実行されます。 それ以外のときは IC 内のテスト ロジックはアイドル状態になります。
Select-DR-Scan データ パス ステートまたは Select-IR-Scan ステートのどちらに進むかを制御します。
Select-IR-Scan 命令パスに進むかどうかを制御します。 進まない場合は コントローラは Test-Logic-Reset ステートに戻ることができます。
Capture-IR TCK の立ち上がりエッジで、命令レジスタに含まれるシフト レジスタ バンクにより固定値のパターンがパラレルに読み込まれます。 下位 2 ビットは、常に 01 である必要があります。
Shift-IR 命令レジスタが TDI と TDO の間に接続され、キャプチャされたパターンが TCK の立ち上がりエッジごとにシフトされます。 TDI ピンにある命令も命令レジスタにシフトされます。
Exit1-IR Pause-IR ステートまたは Update-IR ステートのどちらに進むかを制御します。
Pause-IR 命令レジスタでのシフトを一時的に停止できます。
Exit2-DR Shift-IR ステートまたは Update-IR ステートのどちらに進むかを制御します。
Update-IR TCK の立ち下がりエッジごとに、命令レジスタに含まれる命令が命令レジスタのラッチ バンクに格納されます。 この命令は格納されると、現在の命令になります。
Capture-DR TCK の立ち上がりエッジで、データが現在の命令で選択されたデータ レジスタにパラレルに読み込まれます。
Shift-Dr、Exit1-DR、Pause-DR、Exit2-DR、および Update-DR これらのステートは、命令パスの Shift-IR、Exit1-IR、Pause-IR、Exit2-IR、および Update-IR ステートに類似しています。