JTAG総合情報サイト>JTAGとは何か>JTAG技術的解説>JTAGのコマンド

JTAGのコマンド

JTAGのコマンド

 インストラクションレジスタにJTAGのコマンドをセットすると、ICはそのコマンドに応じた動作を開始します。

 

 表1は主なJTAGのコマンドです。JTAGのコマンドにはパブリックなものとプライベートなものがあり、パブリックなコマンドの中には必須命令と呼ばれているものと、オプションで実装されている命令があります。

 

表1 JTAGコマンド

 

 必須命令には、SAMPLE/PRELOADとEXTEST、そしてBYPASSがあります。SAMPLE/PRELOADは文字通りデバイスのピンの状態をサンプリングするための命令です。JTAGでは入出力が同時に行われるので、SAMPLEの時に送り込まれたデータは同時にPRELOAD用のデータとなります。通常はSAMPLEコマンドとPRELOADコマンドは同じコードに割り当てられています。

 

 EXTESTコマンドはユーザが与えたビット列を各端子から出力するための命令で、ICの外側、すなわちプリント基板やはんだ付けのテストが行われます。

 大規模なICでは、バウンダリスキャンレジスタが1000ビットを超えることもあり、このように長いレジスタが選択されると、レジスタ全体をシフトするのに非常に多くのクロックを必要とするようになります。そこで、長さ1の短いバイパスレジスタが用意されています。BYPASSコマンドを実行すると、データ系にはバイパスレジスタが選択されると同時に、テスト回路を安全な状態で待機させることができます。

 

 オプション命令には、デバイスの種類を返すIDCODEがあり、JTAGチェーンに接続されたデバイスの種類を知ることができます。INTESTはバウンダリスキャンの一種ですが、オプションなので実装されていないデバイスや詳細が公開されていないデバイスもあります。他にもICのベンダによって多くの魅力的な機能が実装されています。

 

 各命令のビット構成は、ICの設計者が自由に決めることができます。ただし、BYPASS命令はすべてのビットがHで、EXTEST命令はすべてのビットがLと規定されています。これは、詳細不明のデバイスがJTAGチェーンに接続されている場合に、不用意に変なコマンドを与えると予期せぬ動作を行ってしまいますが、TDIをHにしておけば、そのデバイスはBYPASS状態になり、システム全体を安全に動作させることができるという仕組みです。

 

 命令レジスタの長さやBYPASSとEXTEST以外のコマンドのビット列は、そのICの設計者が自由に設定することができるようになっています。SAMPLE/PRELOAD命令は必須命令でありながらコマンドビット列は決まっておらず、中にはSAMPLE/PRELOAD命令を実装していないJTAG対応デバイスもあります。

 

 EXTESTやINTESTコマンドを与えると、そのICは通常の動作を停止してテストモードに入ります。一方、SAMPLEコマンドやBYPASSコマンドでは、ICは通常の動作を続けることができます。