| HOME | 目 次 | 前ページ | 次ページ | |
|
JTAG
現在、ボードテストといえば、基板のパターン面から生花で使う“剣山”のような針山を押し当てて行う“インサーキットテスト手法”が主流である(
図1)。しかし、デバイスの高集積化がピン数を増加させている一方、高密度実装の需要からパッケージの小型化も進んでいる。

〔
図1〕従来のボードテスト法
その結果、表面実装用の100ピンPQFP(Plastic Quad Flat Package)では、ピン間隔が0.65mmにまで狭まり、インサーキットテストで用いているテスト針の直径0.8mmを下回ってしまった。そのため、
図2のようにテストパッドの配置を工夫するなどの対策で、何とかしのいでいるが、余分な基板スペースを必要とすることから、高密度実装の妨げとなっている。さらに、BGA(Ball Glid Array)パッケージでは、パッケージの裏側にボール状のリードが並んでいるために、表面実装した後ではテスト針を当てることが不可能である。これらのことから、すでにインサーキットテスト法には物理的限界がきていると言わざるを得ない。

〔
図2〕従来のボードテスト法の限界
このような事態を救う新しいボードテスト法として登場したのが、JTAGテストである。このテスト法は、前記したように、すでに1990年にIEEE1149.1として規格化されているが、当時は対応デバイスが存在しなかったなど、普及のための条件が揃っていなかったため、これまで話題になることが少なかった。
しかし、従来のテスト法に限界がきてしまった今日に至っては、またCPUのほとんどがJTAGに対応し、かつテキサスインスツルメンツ社やナショナルセミコンダクタ社などから周辺デバイスの対応版が多く提供されるようになり、一気にJTAGテストの採用が進み始めているのが現状である。
JTAG対応デバイスには、デバイス本来の機能を行うための内部ロジックのほかに、
図3に示すような四つのレジスタ(バウンダリスキャンレジスタ、インストラクションレジスタ、バイパスレジスタ、オプションレジスタ(IDCODEレジスタなど))と、それらを制御するTAPコントローラによって構成されるテストロジックが内蔵されている。そのテストロジックに対する命令やテストデータ、テストした結果のデータなどの入出力を行うシリアルインターフェースはTAP(Test Access Port)と呼ばれ、
表2に示す5本の信号線をもっている。この信号線を、外部のホストコンピュータで制御することによって、JTAGテストが実施される。デバイスの内部は
図3からもわかるように、内部ロジックと各デバイスピンとの間に、セルと呼ぱれるシフトレジスタを配置しているところが、従来と異なっている。これらのセルによって、各ピンで発生する事象を観測したり制御することが可能となる。つまり、セルが従来のテスト針と等価な働きをしている。そのため、シリコン針(silicon nail)とも呼ばれている。そのセルを一連に接続したものがバウンダリスキャンレジスタである。JTAGテストを行うには、回路を構成しているデバイス(すべてである必要はない)が、このテスト法をサポートしていることが前提となる。
図3のインストラクションレジスタは、命令ビットを読み込んでデコードするもので、その結果、デバイスに各種の機能を実行させることができる。デバイスごとに、実装する命令の種類や命令コードの割り当てが異なるので、インストラクションレジスタの長さは一様ではない。各命令については後述する。バイパスレジスタは、TDI信号ピンから入力されるデータを、最短経路でTDO信号ピンヘバイパスさせるための経路を提供する。これは、回路基板上に複数のJTAG対応デバイスが実装されていた場合、それらは直列接続されているため、テスト不要デパイスのバウンダリスキャンレジスタをバイパスさせるときに使用する。こうすることにより、テストを高速化させることができる。
IDCODEレジスタは、デバイスおよび製造メーカーなどを識別するためのものである。このレジスタは32ビット長のレジスタで、ビット構成が
図4のように規定されている。しかし、現状ではこのレジスタを実装しているデバイスは少ない。TAPコントローラは、TMS信号とTCK信号によってJTAGレジスタを制御する16ステートマシン(順序回路)である。

〔図3〕JTAG対応デバイスの構成バウンダリスキャンレジスタ
|
MSB |
|
|
LSB |
|||||||||
|
31 〜 28 |
27 〜 12 |
11 〜 1 |
0 |
|||||||||
|
バージョン4ビット |
パート番号16ビット |
製造者11ビット |
“1” |
|||||||||
〔図4〕IDCODEレジスタの構成
|
TAPの信号線 |
機 能 |
||
|
TDI(Test Data In) |
テストロジックに対して、命令やデータをシリアル入力する信号で、TCKの立ち上がりエッジでサンプリングされる。 |
||
|
TDO(Test Data Out) |
テストロジックからのデータをシリァル出力する信号で、TDOの出力値の変更はTCKの立ち下がりエッジで行う。 |
||
|
TCK(Test Clock) |
テストロジックにクロックを供給する。シリアルテストデータ経路を、コンポーネント固有のシステムクロックと独立して使用できるようにする専用入力。 |
||
|
TMS(Test Mode Select) |
テスト動作を制御する信号で、TCKの立ち上がりエッジでサンプリングされる。この信号はTAPコントローラがデコードする。 |
||
|
TRST(Test ReSeT) |
TAPコントローラを非同期に初期化する負論理信号で、オプションである。TMSが“H”状態で、TCKの立ち上がりエッジを5回検知した場合にも、この状態となる。 |
[ HOME | 目 次 | ■■ | 前ページ | ↑TOP | 次ページ ] |
更新日:'97/11/08 M.tanaka