JTAG

JTAG (IEEE 1149.1)



JTAGとは



JTAG(ジェイタグ)は、「Joint Test Action Group」の略称であり、電子機器の製造や開発において、集積回路(IC)や電子基板検査、さらには組み込みシステムデバッグなどに広く用いられる標準規格「IEEE 1149.1」の一般的な呼び名です。本来、この名称は規格化以前に検査方式を検討していた業界団体の名前(Joint European Test Action Group、当初はJETAGと呼ばれていました)に由来します。

この規格は、特に「バウンダリスキャンテスト」と呼ばれる手法を中心に定めており、現代の複雑で高密度な電子回路の内部を効率的に診断することを可能にしています。

開発の背景とバウンダリスキャン



半導体技術は急速に進歩し、一つのチップに集積される回路の規模は飛躍的に増大しました。これにより、チップ上の端子(ピン)の間隔は極めて狭くなり、さらにはBGA(Ball Grid Array)のように基板の裏面に多数のボール状端子が配置されるパッケージング手法も普及しました。こうした変化に伴い、従来のような物理的なプローブ検査針)を用いて各ピンに接触し、回路の動作を確認する方法は、技術的に非常に困難になり、場合によっては物理的に不可能となりました。

このような状況に対応するため、集積回路の設計段階から検査デバッグのための機能を組み込むという発想が生まれました。その代表的な手法がバウンダリスキャンテストです。バウンダリスキャンでは、チップの論理回路の周囲(バウンダリ)に特別なスキャンセルと呼ばれる回路要素を配置します。これらのスキャンセルは、チップの入力ピンから内部回路への信号、あるいは内部回路から出力ピンへの信号を捕捉したり、あるいは内部に任意の信号を送り込んだりすることができます。チップ内部の複数のスキャンセルは、直列に連結されて一つの長いシフトレジスタのような構造(これを「スキャンチェーン」と呼びます)を形成します。

このスキャンチェーンを通じて、外部からテストデータを入力したり、内部の信号の状態を示すデータを読み出したりすることが可能になります。あたかも数珠繋ぎになった内部の状態を外部から順番に確認するようなイメージです。これにより、物理的にアクセスできないチップ内部の信号の状態を、外部の専用インターフェースを介して観測・制御することが可能となり、基板上でのチップの接続状態や、チップ内部の基本的な機能が正しく動作しているかを確認できるようになりました。

IEEE 1149.1規格としての確立



上記のようなバウンダリスキャンテストの概念は、各社独自の手法で開発・導入されていましたが、業界全体で互換性のある標準的な手法が求められました。これに応える形で、Joint Test Action Group(JTAG)という団体を中心に規格化が進められ、1990年に「IEEE 1149.1 Standard Test Access Port and Boundary-Scan Architecture」として国際標準規格として制定されました。この規格が、一般に「JTAG」として広く認識されています。

IEEE 1149.1規格では、バウンダリスキャンアーキテクチャだけでなく、それを制御するための標準的なインターフェースである「テストアクセスポート(TAP)」についても詳細に定義しています。TAPは、主に以下のいくつかの信号線から構成されます。

TDI (Test Data In): テストデータをチップにシフト入力するための信号線。
TDO (Test Data Out): チップ内部からテストデータをシフト出力するための信号線。
TCK (Test Clock): テストデータやコマンドの同期を取るためのクロック信号。
TMS (Test Mode Select): TAPコントローラーのステート(状態)を制御するための信号線。テストモードの選択や遷移を行います。
* TRST (Test Reset): (オプション)テストロジックをリセットするための信号線。

これらの信号線を用いて、外部のテストコントローラー(JTAGプローブなど)からチップのTAPコントローラーへコマンドやデータを送ることで、バウンダリスキャンレジスタやチップ内部のその他のテスト機能(例えば、IDCODEレジスタを読み出してチップの種類を識別したり、BYPASSレジスタを使ってスキャンチェーンを短縮したり)を操作します。複数のJTAG対応デバイスが基板上に実装されている場合、これらのデバイスのTAPポートをデイジーチェーン接続することで、一つのインターフェースから全てのデバイスに対して個別に、あるいはまとめてアクセスすることが可能です。

検査以外の応用



JTAGは元々、主に製造工程における基板や部品の実装不良、あるいは初期のチップの機能不良を検出するための検査手法として開発されました。しかし、IEEE 1149.1が提供するテストアクセスポートの機能は、チップ内部のコアロジックに低レベルでアクセスするための強力な手段となります。このため、近年では検査目的だけでなく、組み込みシステム開発においてソフトウェアデバッグを行うためのツールとしても広く利用されるようになっています。

例えば、CPUFPGA(Field-Programmable Gate Array)などの中心的なデバイスにJTAGインターフェースが実装されている場合、外部のデバッガー(オンチップ・エミュレータやインサーキット・エミュレータと呼ばれることもあります)をJTAGポートに接続することで、プロセッサのレジスタ値の確認、メモリ内容の読み書き、プログラムのステップ実行やブレークポイント設定といったデバッグ操作が可能になります。これは、従来のインサーキット・エミュレータ(ICE)の一部機能を代替または補完する役割を果たしています。ただし、JTAGを介したデバッグでは、システムの完全なリアルタイム動作を保証しながらの観測が難しい場合がある点には注意が必要です。

このように、JTAG技術は、現代の複雑な電子回路の設計、製造、および開発において、その効率的かつ非破壊的な検査デバッグ能力により、不可欠な役割を担っています。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。