(57)【特許請求の範囲】
【請求項１】
（i）複数の非バウンダリ・スキャン（ＮＢＳ）素子であって、その各々が回路基板に電気的に結合するための複数の素子ピンを備えている、複数の非バウンダリ・スキャン（ＮＢＳ）素子と、
（ii）複数のバウンダリ・スキャン（ＢＳ）素子であって、その各々が、回路基板に電気的に結合するための複数の素子ピンと、素子ピンの少なくとも幾つかに結合している複数のレシーバ回路と、素子ピンの少なくとも幾つかに結合している複数のドライバ回路を備えており、レシーバ回路およびドライバ回路が複数のバウンダリ・スキャン素子上に設けられており、ドライバ回路の所望状態およびレシーバ回路の結果状態を表す直列データストリームを、分析のためにデータプロセッサに供給する走査経路を形成するように、レシーバ回路およびドライバ回路の各々が直列に結合していることからなる、複数のバウンダリ・スキャン（ＢＳ）素子と、
（iii）複数のＢＳノードであって、その各々が、レシーバ回路およびドライバ回路の両方に結合されていることからなる、複数のＢＳノードと、
（iv）ＢＳノードではないノードである複数のＮＢＳノード
を備えている回路基板を試験する方法であって、
回路基板上のＢＳ素子およびＮＢＳ素子の素子ピンの各々に対する隣接データをテスターに供給するステップと、
隣接データを使用してＮＢＳノードをノードの組に組み分けし、ノードの各組がＢＳノードの１つに隣接するすべてのＮＢＳノードから成るようにするステップと、
独立グループの二つのメンバーのいずれも同じバウンダリ・スキャンノードに隣接しないようにＮＢＳノードを独立のＮＢＳノードのグループに組み分けするステップと、
前記回路のＢＳノードに、ＢＳドライバ回路を使用して第１の電圧を加えるステップと、
独立ＮＢＳノードの一つのグループ内のすべてのＮＢＳノードに第２の電圧を加えるステップと、
レシーバ回路が結合している素子ピンにかかる電圧をレシーバ回路に捕捉させるステップと、
前記走査経路によって、第１のデータストリームを前記データプロセッサに供給するようにするステップと、
前記データプロセッサを使用して第１のデータストリームを分析するステップ
とからなる、回路基板の試験方法。
【請求項２】
隣接データを供給する前記ステップが、回路基板上の素子ピンの各々に対して二つのデカルト座標を与えるステップを含む、請求項１の試験方法。
【請求項３】
隣接データを供給する前記ステップが、更に、回路基板上の欠陥の予想最大サイズに対応する距離であり、かつ、１〜５ミリメートルの範囲にある半径Ｒを与えるステップを含む、請求項２の試験方法。
【請求項４】
隣接データを供給する前記ステップが、数値隣接データを提供するステップを含む、請求項１乃至３のいずれかの試験方法。
【請求項５】
複数の非バウンダリ・スキャン素子の少なくとも幾つかがアナログ入力および出力を有する集積回路である、請求項１乃至４のいずれかの試験方法。
【請求項６】
複数の非バウンダリ・スキャン素子の少なくとも幾つかが個別の電子素子である、請求項１乃至５のいずれかの試験方法。
【請求項７】
独立ＮＢＳノードの一つのグループ内のすべてのＮＢＳノードに第２の電圧を加える前記ステップが、独立ＮＢＳノードの前記一つのグループ内の少なくとも一つの独立ＮＢＳノードに対して、200ナノ秒未満で完了する、請求項１乃至６のいずれかの試験方法。
【請求項８】
独立ＮＢＳノードの一つのグループ内のすべてのＮＢＳノードに第２の電圧を加える前記ステップが、独立ＮＢＳノードの前記一つのグループ内の少なくとも一つの独立ＮＢＳノードに対して、インサーキットオーバードライブ法を使用する、請求項７の試験方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、一般的に電気回路を試験する装置および方法に関し、特に、バウンダリ・スキャン論理回路を含む幾つかの回路要素とバウンダリ・スキャン論理回路を含まない幾つかの回路要素を有する回路の試験装置および方法に関する。
【０００２】
【従来の技術】
電気回路の試験は電気回路自体とほぼ同じくらい古くからのものである。単純な回路では、回路の短絡または開放を試験するために、全回路ノードに低電圧を加えることによりこの試験がなされる。本明細書における「ノード」という用語は等電位にある何れの回路要素をも意味し、例えば、２つの電気部品間の接続ワイヤまたはトレースである。こうしたワイヤまたはトレースにより相互接続された素子ピンもまたノードの一部である。
【０００３】
回路がより複雑になってきているので、徹底的に回路を試験することが今まで以上にますます重要で、しかも困難になっている。このことを行う通常の方法は、テレビジョン回路基板のようなあらゆる製造回路に対する開発プログラムの一部として試験装置および方法を設計することである。一般的に、プログラムは複雑な試験機械にプログラミングすることで開発され、複雑な試験機械は電圧ドライバおよびレシーバのような数百或いはは数千の供給源を含み、それらは、回路を試験するためにプログラム順序でリレーおよび接触爪により、回路のノードに交互に接続される。
【０００４】
複雑な回路では、試験に時間がかかりすぎるため、ノードの全ての組み合わせをテストすることができるとは限らない。そこで、試験設計者は、特定の回路において最も故障が起こりそうなノードを確実に試験するための何らかの方法を開発しなければならない。これは、高等数学およびコンピュータを駆使する非常に複雑な技術になってくる。例えば、Ｇｏｒｄｏｎ  Ｄ．  Ｒｏｂｉｎｓｏｎに発行された米国特許第４，６０１，０３２号を見ると、回路をテストするために回路要素に対して印加される複雑な波形の試験ベクトル（一組のノードに加えられる一組のディジタル電圧）を考案しており、またＮａｊｍｉ  Ｔ．  Ｊａｒｗａｌａ他に発行された米国特許第５，０２７，３５３号では、回路を試験するための試験ベクトルのコンパクトな組を求めるために、重み付けされた数学的システムを使用している。
【０００５】
【発明が解決しようとする課題】
かかる試験に伴う一つの問題は、システムに欠陥があり、電圧が余りに長期間加えられる場合、システムに供給される電圧パルスであるベクトルおよび波形がシステムを損傷させる可能性があるということである。システムが非常に複雑でありそのような試験を実行するのに長時間かかるため、上記のことがよく起こり得る。
【０００６】
別の問題は、一般的に回路欠陥があることをかかる試験により見つけることが良好であればあるほど、回路欠陥がどこにあるかを正確に突き止める可能性は少なくなることである。複雑な回路基板は高価なため、欠陥がどこにあるかを知ることで、回路基板を修理できるようになることが必要不可欠である。他の問題は、表面実装、微細配列、および両面基板を有する最近の電気回路では、ノードの必ずしも全てにアクセスし得るとは限らず、従って、このような方法では試験することができない。
【０００７】
電力印加試験中に素子を損傷する可能性があるという問題に対する一つの解決法は、Ｗｉｌｌｉａｍ  Ａ．  Ｇｒｏｖｅｓ他に対して発行された米国特許第４，５８８，９４５号に見られる。これは試験信号を加える時間限界および試験信号間での冷却時間を与える試験方法を記しており、その時間限界および冷却時間の長さは試験される素子の特性から決められている。
【０００８】
ノードの必ずしも全てにアクセスし得るとは限らない時に、システム欠陥を正確に突き止める問題に対する一つの解決法として、いわゆるバウンダリ・スキャンがある。バウンダリ・スキャンは、チップ部品のような各回路部品が、各素子ピン間に配置された一組のシフトレジスタと特定の内部論理システムで構成される試験システムである。このシステムは、ＩＥＥＥ規格Ｎｏ．１１４９．１−１９９０で規定されている。バウンダリ・スキャン規格により、回路のバウンダリピンのみの走査により回路全体を正確にテストすることが可能となる。バウンダリ・スキャンの完全な説明に関しては、ヒューレット・パッカード社によりマニュアル、パートＮｏ．Ｅ１０１７−９０００１で発行された「ＨＰ  Ｂｏｕｎｄａｒｙ−Ｓｃａｎ  Ｔｕｔｏｒｉａｌ  ａｎｄ  ＢＳＤＬ  Ｒｅｆｅｒｅｎｃｅ  Ｇｕｉｄｅ」を参照されたい。また、Ｌｅｅ  Ｄ．  Ｗｅｔｓｅｌ，  Ｊｒに発行された米国特許第４，８７２，１６９号、Ｗｉｌｈｅｌｍ  Ａ．  Ｓａｕｅｒｗａｌｄに発行された米国特許第４，８７９，７１７号、同氏に発行された米国特許第４，９６７，１４２号、Ｌｅｅ  Ｄ．  Ｗｅｔｓｅｌ，  Ｊｒの欧州特許出願番号８９３０８５６２．１、およびＮａｊｍｉ  Ｔ．  Ｊａｒｗａｌａ他の欧州特許出願番号９０３０５５８２．０を見ると、バウンダリ・スキャン実際例の各種詳細が開示されている。
【０００９】
上述の文献に記述されるバウンダリ・スキャンシステムは、バウンダリ・スキャン回路要素で完全に構成される回路において優れた結果をもたらしている。しかしながら、実際にはそのようなシステムはほとんど存在しない。通常は、その多くがバウンダリ・スキャン規格を使用しない、色々なメーカーにより製造された素子で電気回路が構成される。又、ほとんど全ての回路は、アナログ集積回路のような非ディジタル素子、およびトランジスタ、ダイオード、抵抗といった個別素子を含んでいる。そこで、かかる回路を試験するための装置および試験方法の必要性がある。
【００１０】
混合回路、すなわち従来的回路素子およびバウンダリ・スキャン回路素子の両方を含む回路のバウンダリ・スキャン技法による試験には、２つの重大な問題が存在する。つまり、１）バウンダリ・スキャン試験は電力印加試験であり、このことは、損傷を生じる可能性がある短絡が存在する時、回路に電力印加され損傷を生じる可能性があることを意味する。２）非バウンダリ・スキャン素子の存在がバウンダリ・スキャン試験を危うくする。つまり非バウンダリ・スキャン素子とバウンダリ・スキャン素子間の短絡は、多くの場合バウンダリ・スキャンノードに誤った論理値を持たせるが、従来の論理回路が導通し、予測不可能なため、こうした結果はおそらく再現不可能となる。Ｇｏｒｄｏｎ  Ｄ．  ＲｏｂｉｎｓｏｎとＪｏｈｎ  Ｇ．  Ｄｅｓｈａｙｅｓによる「Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｔｅｓｔｉｎｇ  ｏｆ  Ｂｏａｒｄｓ  ｗｉｔｈ  Ｐａｒｔｉａｌ  Ｂｏｕｎｄａｒｙ−ｓｃａｎ」、ＩＥＥＥ  １９９０  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｓｔ  Ｃｏｎｆｅｒｅｎｃｅ  Ｐｒｏｃｅｅｄｉｎｇｓ、ＣＨ２９１００−６／０００／０５７２、Ｐａｐｅｒ  ２７．３、Ｐａｇｅｓ  ５７２−５８１を参照のこと。
【００１１】
上の論文は４つのパートからなる試験による問題の解決法を開示している。第１に、テスターがアクセスしたすべての場所の間で従来的な短絡試験を行なう。第２に、構成要素間のバウンダリ回路試験回路および経路区間を試験してそれらが正しく働くか確認する。第３に、非バウンダリ・スキャンノード間の短絡についてのテスターアクセスでの試験およびバウンダリ・スキャンノードのアクセス無しでの試験を行なう。最後に、純粋なバウンダリ・スキャンノードについて開放および短絡の試験を行なう。
【００１２】
第３の試験には二つの形態があり得る。一度に一つのノードについての最も簡単な試験。これはノードを強制的に高電位とし、バウンダリ・スキャン試験を行い、つぎにノードを強制的に低電位として他のバウンダリ・スキャン試験を行なう。短絡が存在すれば、これら試験の一つがバウンダリ・スキャン試験に関して悪い結果を生ずる。第３の試験の他の形態は一度に数ノードを試験し、各ノードに固有の識別信号を与える。バウンダリ・スキャン試験ノードの一つが識別信号を認識した場合には、短絡を宣言する。この試験に伴う問題は、最も簡単な形態の第３の試験を使用すると、複雑な回路では受容不能なほど長い時間がかかり、多数の供給源を使用し、そして第２の形態で第３の試験を使用すれば、識別子が被駆動ノード以外のノードを通してバウンダリ・スキャンノードに伝播する可能性があるので、不明瞭な結果を与えるということである。この試験も、試験すべきセットの数が非常に多くなることがあるので、長い時間がかかる。
【００１３】
従来的とバウンダリ・スキャンとの混合ノードを試験する他のシステムは、Ｅｄｗａｒｄ  Ｐ．  Ｈｅｌｅｂ他に対して発行された米国特許第４，９６３，８２４号に開示されている。開示されている方法は、各回路基板部品を今度は試験素子で置き換える。この方法はまた、バウンダリ・スキャン能力のある特殊なコネクターカードを部品のまわりのコネクターに適用することにより、非バウンダリ・スキャン部品を分離することを開示している。この方法は、装置を取り外しそれらを置き換えることが扱いにくく且つ時間がかかるばかりでなく、試験の基礎を破壊するので実際的でない。部品を置き換えなければならず、その置き換えが短絡または開放を生ずることがあるので、基板をそのあとで再試験しなければならない。非バウンダリ・スキャン部品を分離するために特殊カードを取付けることは時間がかかるばかりでなく、カードを接続し得ることを仮定したものであるが、これは複雑な表面実装の両面基板の場合にはあまりないことである。
【００１４】
従って、一度に二つ以上のノードを試験し、試験されるノードの集合を管理可能な数にまで減らし、回路欠陥を明瞭に検出することができ、回路の物理的変更を必要としない従来的とバウンダリ・スキャンとの混合回路に対する試験装置および方法の必要性が存在する。
【００１５】
【課題を解決するための手段】
本発明は、同時に試験すべきノードの数を低減させる、バウンダリ・スキャンおよび非バウンダリ・スキャン部品を備えた回路の試験装置および方法を提供する。本発明は欠陥ノードの正確な場所を決定し、その情報をユーザに戻す装置および試験方法を提供する。本発明はまた、あまりにも長い時間電力が加えられることによる回路の損傷を防止する試験方法を提供する。本発明はノードあたりの試験時間が短く、対応して回路基板全体に対する試験時間がより短い試験方法を提供する。
【００１６】
本発明は、バウンダリ・スキャンおよび非バウンダリ・スキャンの両素子を備えている回路基板を試験する方法を含む。試験方法はバウンダリ・スキャンレシーバおよびバウンダリ・スキャンドライバの双方に結合されているバウンダリ・スキャンノードを、非バウンダリ・スキャンノードと区別する。この方法は回路基板上の各素子の各ピンの隣接データまたは位置データを使用して、バウンダリ・スキャンノードに結合されている素子ピンから所定の距離「Ｒ」以内にある非バウンダリ・スキャンノードの組数を決定する。この方法は回路基板上の各バウンダリ・スキャンノードが独立グループ内の唯一つの非バウンダリ・スキャンノードの所定距離以内にあるように、各組Ｔの中にあるどれだけの数の非バウンダリ・スキャンノードが「独立」であるかを決定する。
【００１７】
回路基板は多数の試験サイクルで試験される。各試験サイクルは、各独立組中のすべての非バウンダリ・スキャンノードを選択し、バウンダリ・スキャン素子内のドライバを強制的に第１の電圧とし、各非バウンダリ・スキャンノードを短時間強制的に他の電圧として、選択した非バウンダリ・スキャンノードを並列に試験することで実行される。バウンダリ・スキャン素子のレシーバは応答ベクトルを捕らえ、これを回路基板から走査して評価する。次いでバウンダリ・スキャンノードは第２の電圧へ、非バウンダリ・スキャンノードは第１の電圧へと駆動され、引き続いて他の応答ベクトルを捕らえる。試験サイクルはすべての非バウンダリ・スキャンノードが試験されるまで非バウンダリ・スキャンノードの各独立組を選択し、試験することにより終了する。
【００１８】
独立した非バウンダリ・スキャンノードは並列に選択され試験されるので、応答ベクトルはどのノードが故障しているかを反映しており、欠陥ノードの正確な位置を示す、好適にはデカルト座標の形での位置データがユーザに戻される。非バウンダリ・スキャンノードは応答ベクトルが捕らえられる直前に短時間だけ駆動されるので、回路損傷の危険は極小で試験時間が改善される。すべての独立グループが試験されるまで、多数の試験サイクルが繰り返される。
【００１９】
【実施例】
１．概説
ここで図１を参照すると、本発明による回路試験システム１０の好適実施例のブロック図が示されている。システム１０はテスター１２、およびＬＡＮ、電話、ディスクまたはテープ駆動装置、キーボードなどのようなデータ入力１６、およびディスプレイ、プリンター、ディスクまたはテープ駆動装置などのようなデータ出力１８を有する遠隔コンピュータ１４を備えている。試験すべき典型的回路基板２０は、２つのバウンダリ・スキャン部品２２および２４、そして２つの非バウンダリ・スキャン部品２６および２８を備えている。回路はバウンダリ・スキャン部品２２および２４の６つの「バウンダリ」または「外部」ノードへのアクセスを行なう６つの爪３０Ａ−３０Ｆ、および非バウンダリ・スキャン部品２６および２８の３つのノードへのアクセスを行なう３つの爪３０Ｇ−３０Ｉを備えている。回路に電力供給を行なう１つ以上の爪３３Ａおよび３３Ｂをも備えている。
【００２０】
「内部」バウンダリ・スキャンノード３１Ａ−３１Ｄは爪を経由するアクセスを備えていない。試験すべき実際の回路では、数百の部品および数百または数千にさえ及ぶノードおよび爪を備えていることがある。テスター１２は複数のリレー３４を備えており、その各々は爪３０Ａ−３０Ｆおよび爪３１Ａ−３１Ｃに電気的に接触する、３５のような接触手段を備えている。各リレーはまた複数の入力／出力線３６を備えている。テスター１２はまた複数のドライバ３７およびレシーバ３８、複数の電源４０、および少なくとも一つのアナログモジュール４２を備えており、これらの各々はリレー３４の入力／出力線３６に接続するための４４、４６、４８、および５０のような手段を備えている。典型的なテスターには数百のリレー３４、ドライバ３７、およびレシーバ３８および数十の異なる電源がある。
【００２１】
テスター１２には、またコントローラおよびシーケンサ５４、およびコントローラ／シーケンサ５４と通信するクロック５６がある。一般に、コントローラ／シーケンサ５４はケーブル６０を経由して各リレー３４、ドライバ３７、レシーバ３８、電源４０およびアナログモジュール４２と通信し、電源４０、ドライバ３７、およびアナログモジュール４２からの信号のプログラムされたシーケンスを爪３０Ａ−３０Ｉの所定のものに与えるようにシステムを制御し、レシーバ３８はリレー３４を経由して爪３０Ａ−３０Ｉの他の所定のものからの信号を受け取ってコントローラ／シーケンサに与える。
【００２２】
更に、本発明によれば、爪の無いバウンダリ・スキャンノード、すなわちノード３１Ａ−３１Ｄ、および爪のある非バウンダリ・スキャンノード、すなわちノード３２Ａ−３２ＣのＸ−Ｙ位置に関する情報がデータ入力端子１６を経由して遠隔コンピュータに導かれる。この情報から、各バウンダリ・スキャンノード３１Ａ−３１Ｄの半径Ｒの範囲内にある非バウンダリ・スキャンノード３２Ａ−３２Ｃの組Ｔが規定される。例えば、図１に示す簡単な回路について、ノード３１Ａに対応する組Ｔは単一のノード３２Ａである。そして、入力端子１６およびコンピュータ１４を経由して、テスター１２のコントローラ／シーケンサ５４は試験を実行するためにプログラムされる。
【００２３】
本発明による試験プログラムのもとで、ドライバ３７の１つは各爪３０Ａ−３０Ｈに割り当てられ、レシーバ３８の１つは各爪３０Ａ−３０Ｆに割り当てられる。最初は、従来的な電力を加えない短絡試験が、アクセス可能なノード、すなわち爪３０Ａ−３０Ｉに接続されているノードに関して実行される。回路２０がこの試験に合格すれば、回路２０は電源４０およびリレー３４を経由して回路電源入力３３Ａおよび３３Ｂに電力を加えることによりパワーアップされる。次に、本発明の方法にしたがって「混合回路」試験が実行されるが、これについては後で更に詳細に説明する。
【００２４】
データ入力端子１６およびコンピュータ１４を用いて試験を設定する時に、各非バウンダリ・スキャンノードについて時間限界を規定することができるが、この時間限界は回路がそのノードとバウンダリ・スキャンノードとの間の短絡を許容することができる時間の長さに対応する。試験すべきバウンダリ・スキャンノードは、このときそれら関連する組Ｔの中にある非バウンダリ・スキャンノードに関連する時間限界の長さにより、最初は最短時間限界を有するバウンダリ・スキャンノードにして順序づけられる。
【００２５】
回路２０のパワーアップ後可能なかぎり早く、クロック５６をリセットする。各ノードを試験してから、なお試験すべきノードの時間限界をクロック時間と比較し、クロック時間がこれら限界以上であれば、試験を一時的に停止する。回路が冷却する機会があってから試験を再開することができる。混合ノードのこの試験を終了してから、標準のバウンダリ・スキャンノード相互接続試験を行なうことができる。
【００２６】
２．混合回路試験
ａ．用語
本明細書に使用する「バウンダリ・スキャンノード」または「ＢＳノード」とは、バウンダリ・スキャンレシーバおよびバウンダリ・スキャンドライバの両方に結合されているノードを意味する。例えば、素子２０１のすべての素子ピンは各バウンダリ・スキャンセル２１４の内側に記したラベル「Ｄ／Ｒ」により示したようにドライバとレシーバの両方を備えている。従って、これら素子ピンは、それらに接続されているのが何であるかにかかわらず常にバウンダリ・スキャンノードである。しかし、素子２０２および２０３は、図２の各レシーバセル２１２に記した文字「Ｒ」で示したようにレシーバだけであるセル２１２を備えている。素子２０２および２０３は、また図２の各ドライバセル２１３に記した文字「Ｄ」で示したようにドライバだけである多数のセル２１３を備えている。
【００２７】
バウンダリ・スキャンノードは、チップ２０２および２０３の素子ピン２４２および２４３を結合するバウンダリ・スキャンノード２２３で示したように、レシーバ２１２をドライバ２１３に結合させることにより形成することができる。レシーバおよびドライバはノード２２２で示すように同じチップ上にあってよい。また、バウンダリ・スキャンノードは、素子ピンまたはバウンダリ・スキャンノード２２１および２２２のような非バウンダリ・スキャンの端子を含んでも良い。
【００２８】
レシーバセル２１２及びドライバセル２１３の両方にではなく、片方だけに結合されているノードは従来用語によるバウンダリ・スキャンノードではない。このようなノードは、本明細書では「非バウンダリ・スキャンノード」または「ＮＢＳノード」と言う。図２の非バウンダリ・スキャンノードの例は、レシーバにもドライバにも結合されていない非バウンダリ・スキャン素子２０４の素子ピン２２６および２２７である。素子２０４の素子ピン２２８、および素子２０３の素子ピン２０８、２３３、および２３４も非バウンダリ・スキャンノードであるが、なぜならそれらはレシーバセルにだけ結合しているからである。同様に、素子ピン２３１および２３２は、それらがレシーバセルに結合されていないので非バウンダリ・スキャンノードである。
【００２９】
本発明を十分に理解するためには、上記の用語を理解することが重要である。バウンダリ・スキャンノードは、非バウンダリ・スキャン素子の素子ピンおよび端子を含むことができる。非バウンダリ・スキャン素子は、チップ２０４のような論理素子であるばかりでなく、アナログまたは線形集積回路の他に抵抗２０６、２０７、および２０９、トランジスタ２０８、ダイオード２１１のような個別素子であってもよい。
【００３０】
ｂ．非バウンダリ・スキャンノードの組の決定
ここで本発明の更なる詳細な説明に入ると、図２は、非バウンダリ・スキャンノードの組Ｔを決定する仕方を説明する際に役立つ典型的回路基板２００を示している。回路基板２００は、３つのバウンダリ・スキャン素子２０１、２０２および２０３、および非バウンダリ・スキャン素子２０４、２０６、２０７、２０８、２０９および２１１を含んでいる。バウンダリ・スキャン素子２０１、２０２および２０３はＩＥＥＥの規格群１１４９に合致するバウンダリ・スキャン回路を備えている。
【００３１】
各バウンダリ・スキャンノード（図２に太線で示してある）は順次に選ばれる。例えば、バウンダリ・スキャンノード２２１から始めて、ノード２２１に接続されているすべての素子ピンの位置が決定される。この場合、バウンダリ・スキャンチップ２０１のピン２３７、および非バウンダリ・スキャンチップ２０４のピン２３６をノード２２１に接続する。各素子ピン２３６および２３７の半径「Ｒ」（図２に破線の半円Ｒ１およびＲ２で示してある）以内にある非バウンダリ・スキャンノードの組Ｔ１を後で詳細に説明するように決定する。
【００３２】
どの非バウンダリ・スキャンノードが選択されたバウンダリ・スキャンノードに隣接しているかを決定するには、図２にＲ７の内側に矢印で示す長さを有する「短絡半径」Ｒを選定するのが好ましい。短絡半径Ｒの長さは、回路の物理的性質に関係しているどんな長さでもよく、試験すべきノードの数を減らすように計算される。好適には、それは短絡がありそうな２つの素子ピン間の最大直線距離をいう。
【００３３】
この例で、本発明者らはそれらの全長にわたる二つのノード間の距離ではなく、素子ピンの間の距離だけに注目している。なぜなら、回路板２００は素子ピンを除く回路のすべてをマスクする既に開発されたはんだ付け技法によりはんだ付けされており、従って、はんだだけが素子ピンに固着していると仮定しているからである。好適には、長さＲは回路基板２００の上のはんだの汚れまたはブリッジの最大予想範囲を表す。典型的には、Ｒは回路基板２００の上の素子ピンのピッチにより１−５ミリメートルの範囲にある。
【００３４】
Ｒはユーザ規定可能な長さであり、短絡がカバーされると思われる長さに関するユーザの経験および／または予想と矛盾しないように設定されることを理解すべきである。選定される特定の長さは、基板をはんだ付けするのに使用されるはんだ付け法、はんだ温度、基板１００がはんだに曝された時間の長さ、短絡が検出される確かさの所要程度などのような多数の因子によって決まる。
【００３５】
好都合なことに、回路基板に対して規定された半径「Ｒ」は一つしかなく、したがって図２のすべての半径Ｒ１−Ｒ７は同じ大きさになる。代わりに、回路基板２００の異なる部分に対して複数の半径を規定することができる。また、半径Ｒの選定は、特定のＢＳノードに隣接する非バウンダリ・スキャンノードを規定するのに役立つこと、および隣接を規定する他の手段が可能であることを理解すべきである。本発明の目的に関しては、隣接とは、互いに物理的に近接していて、回路基板を構成するのに使用された製造プロセス（およびそれらプロセスの既知の欠陥）に照らしてそれらの間に存在する電気的短絡の有意の確率を有するようになるすべてのノードを意味する。
【００３６】
Ｒは好適実施例では長さまたは距離の項目で規定されているが、それはまたピン間隔またはピン数のような或る他の判定基準により規定することができる。例えば、Ｒは所定のバウンダリ・スキャンピンに直接隣接する素子ピンだけを包含するように一つのピンとして規定することができる。代わりに、Ｒを二つのピンとして規定することができ（例えば、大きなはんだ汚れが製造プロセスで存在することがわかっている場合）、この場合半径Ｒは選択されたバウンダリ・スキャンピンに隣接する二つのピンを含むことになる。隣接を決定するこれらの他の方法は、好適実施例で使用される物理的距離を素子パラメータに関して規定する本質的に速い方法である。ゆえに、隣接を決定するこれらの方法は、本発明の範囲内にあると考えられる。
【００３７】
二つの素子ピンのデカルト座標（Ｘ、Ｙ）位置、すなわち、（ａ、ｂ）および（ｃ、ｄ）を与えると、それらの間の距離は  （（ａ−ｂ）２  ＋  （ｂ−ｄ）２）の平方根により与えられる。この値が短絡半径以下であれば、これら素子ピンは短絡の候補であり、試験しなければならない。すなわち、組Ｔを規定するアルゴリズムは、それに対して  （（ａ−ｂ）２  ＋  （ｂ−ｄ）２）１／２≦Ｒ  であるアクセス可能な非バウンダリ・スキャンノードである。ただし（ａ、ｂ）は選択されたバウンダリ・スキャンノードの素子ピンの（Ｘ、Ｙ）位置であり、（ｃ、ｄ）はアクセス可能な非バウンダリ・スキャンノードの素子ピンの（Ｘ、Ｙ）位置である。
【００３８】
例えば、どんな所定の集積回路に対しても（ＩＣの製造業者が規定したとおり）ピン２がピン１および３に隣接し、ピン３がピン２および４に隣接し、回路基板上のすべてのピンに対して同様であることを簡単に規定することができる。この種の隣接の規定は「数値隣接」と呼ばれ、ユーザが回路基板上の素子ピンまたはノードのＸ、Ｙ座標を入力したり、または半径「Ｒ」を選択したりする必要はない。数値隣接は余り洗練されていない概念であり、上に示した半径「Ｒ」を定する好適方法よりも、通常はあまり望ましくない。
【００３９】
図２について、第１の組Ｔ１はピン２３６の半径Ｒ１以内にある非バウンダリ・スキャンノード２２６および２２７を含んでいる。２３７において素子を囲む半径Ｒ２以内に入る非バウンダリ・スキャンピンは存在しない。組ＴＸを決定するこのプロセスをすべてのバウンダリ・スキャンノードが選択されるまで繰り返す。下の表は、図２に示すバウンダリ・スキャンノードに対する組Ｔ１−Ｔ３の組み分けを要約したものである。
【００４０】
【表１】
0003597891.tif 000002
【００４１】
典型的回路２００を参照して組Ｔを観察により決定することができるが、好適実施例ではアクセスし得る素子ピンの（Ｘ、Ｙ）座標が、ＬＡＮ、電話線、ＣＤ−ＲＯＭ、ディスクまたはテープ駆動装置、キーボードまたは他のデータ入力機構とすることができるデータ入力１６（図１に示してある）手段を用いて遠隔コンピュータ１４に入力される。コンピュータ１４は上述したアルゴリズムでプログラムされ、Ｒが選択され、コンピュータ１４は各バウンダリ・スキャンノードについて組Ｔを計算し、データ入力１６のキーボードからの指令に基づき、設定情報をテスター１２に与える。
【００４２】
本発明の好適実施例では本発明による組Ｔを使用する斬新な試験に先立ち、旧来の電力を供給しない短絡試験を行なう。電力を供給しない短絡試験ではテスター１２は、遠隔コンピュータ１４により入力されるプログラムの制御のもとに、ドライバ３７およびリレー３４の一つを経由して、一つの爪に低電圧信号を加え、リレー３４およびレシーバ３８を経由して、他の爪上のその電圧を求める。この試験は、テスター１２が物理的アクセスを有しているノード、すなわち、爪が取付けられているノードについてのみ行なうことができる。電力を供給しない短絡試験は爪のノードに対するアクセスに左右されるから、回路の物理的集積の進歩に伴って益々可能性が少なくなってきている。電力を供給しない短絡試験で短絡が見つかれば、試験の残りは基板が修理されて電力を供給しない短絡試験が何の欠陥をも示さなくなるまで行なわれないのが好ましい。
【００４３】
本発明による試験は、バウンダリ・スキャンノードと従来ノードとの間の短絡を試験するのに最適の方法を提供する。本発明の技法は本質的にバウンダリ・スキャンノードと電力をオンにして行なうインサーキット短絡試験とのハイブリッドである。好適には、基板２００は従来の電力を供給しない短絡試験に合格しているから、アクセス可能な非バウンダリ・スキャンノード間に短絡は存在しないと仮定することができる。本発明による電力供給短絡試験はコンピュータ１４により発生されたプログラムの制御のもとにテスター１２により行なわれる。
【００４４】
従来のバウンダリ・スキャンノード試験のように、ドライバ３７およびレシーバ３８（図１に示してある）の一つは、外部境界走査ノードの各々に割り当てられ、リレー３４の一つを経由して割り当てられたノードに接続されている。加えて、試験すべき非バウンダリ・スキャンノードの各々に対する試験時間限界を決定することができる。この試験時間限界はその非バウンダリ・スキャンノードと半径Ｒ以内のバウンダリ・スキャンノードとの間の短絡を容認することができる時間である。回路に対する全体の時間限界を全体として決定することもできる。
【００４５】
この時間限界はアクセス不可能な非バウンダリ・スキャンノードの可能な短絡を考慮しようとしている。これら時間限界は、ここに引用して取り入れてある米国特許第４，５８８，９４５号の方法および装置を使用して決定することができる。次に、組Ｔの非バウンダリ・スキャンノードに関連する、及び組Ｔが最初に試験される最短時間限界を有する一つまたは複数のノードを備えているバウンダリ・スキャンノードに関連する時間限界の長さの順に対応する順に、バウンダリ・スキャンノードを試験のため好適に並べる。
【００４６】
バウンダリ・スキャン核
本発明による試験プログラムの重要なサブルーチンは、図３のフローチャートに示す「バウンダリ・スキャン核」である。このサブルーチンまたは核は本質的に「ＥＸＴＥＳＴ」と呼ばれる規定されたバウンダリ・スキャン試験の修正形であり、図５および図６に示す本発明の方法のフローチャート中に入れてある。看取されるとおり、従来のＥＸＴＥＳＴの修正形は、外部のテスタードライバ３７（図１に示してある）の作動によりＥＸＴＥＳＴを調整して、回路基板２００（図２に示してある）を損傷する危険なしに高速試験を行なうことを含んでいる。
【００４７】
図３のステップ３０１で、バウンダリ・スキャンチェーンのシフトレジスタは第１の論理状態に対応する電圧で埋められる。この第１の論理状態は、図３ではＣＭＯＳ技術に対するほぼ＋５ボルトの信号に対応する論理「１」である。レジスタは論理「１」を備えているが、バウンダリ・スキャンドライバはステップ３０１の間なおも確定できない出力を備えている。次にバウンダリ・スキャンチェーンはステップ３０２でＵＰＤＡＴＥ機能を行い、シフトレジスタの内容を図２のセル２１３のようなバウンダリ・スキャンドライバ回路にラッチする。ステップ３０２で、バウンダリ・スキャンノードは論理「１」に対応する電圧に駆動される。
【００４８】
ステップ３０３で、テスタードライバは、所定の非バウンダリ・スキャンノードに取付けられているが、短時間オンになってバウンダリ・スキャンノードに加えられているものとは異なる電圧に駆動される。好適には、この電圧はＢＳノード加えられるものと反対の論理状態に対応している。バウンダリ・スキャン回路はステップ３０４の間応答ベクトルを「捕捉」させられる。捕捉は図２のレシーバ２１２のような各レシーバ回路がバウンダリ・スキャン素子ピンにかかる電圧をバウンダリ・スキャンレシーバ回路２１２のレジスタにラッチするという、規定されたバウンダリ・スキャン機能である。
【００４９】
好適には、非バウンダリ・スキャンノードに適用されるテスタードライバは、ドライバが十分な電流を駆動して、他の電圧をノードにかけようとしている素子に打ち勝つことができることを意味するインサーキットオーバードライブ（回路内オーバードライブ）技法を使用している。ゆえに、ステップ３０３−３０６の期間中テスタードライバはオンであるが、回路はオーバードライブ電流により生ずる損傷の最大の危険に曝されている。捕捉が完了してから可能なかぎり早く、テスタードライバはステップ３０６においてオフになる。
【００５０】
応答ベクトルは、バウンダリ・スキャンレシーバ回路により捕らえられたすべての応答電圧を含んでいるが、ステップ３０８で図２に示すＴＤＯ端子２１７を経由してバウンダリ・スキャンチェーンから外に移される。ステップ３０７で、バウンダリ・スキャン核は、すべての論理状態（すなわち、２進論理に対して論理「１」および論理「０」）が試験されてしまったか否か判定する。否であれば、方法はステップ３０９に進み、第２の論理状態（すなわち、図３の論理「０」）が図２のＴＤＩ端子２１８を経由してバウンダリ・スキャンチェーンに移される。好適には、ステップ３０９は、応答ベクトルがバウンダリ・スキャンチェーンから移される（ステップ３０８）と同時に行なわれ、プログラムがステップ３０２に戻る。バウンダリ・スキャンノードに加えられているものと反対の論理状態に対応する電圧が次にテスタードライバ３７により選択された非バウンダリ・スキャンノードに加えられる。すべての論理状態が試験されてしまうと、応答ベクトルはステップ３１１での分析のためにステップ３０８で移される。
【００５１】
本発明の一つの重要な特徴は、二つの論理レベルがともにバウンダリ・スキャンノードおよび非バウンダリ・スキャンノードに加えられるということである。非バウンダリ・スキャンノードは常にバウンダリ・スキャンノードに加えられるものとは反対の論理レベルに駆動される。好適には、分析ステップ３１１はノードが二つの論理レベルで不合格にならないかぎり、ノードを故障とは識別しない。これは、不完全なはんだ接続または開放がそのノードに存在する場合、ノードは一つの論理レベルでは不合格になることが無いからである。これは、開放回路が不確定状態（論理１または論理０）でバウンダリ・スキャンレシーバを出るからである。このような場合には、他の論理レベルでの試験では開放が存在すれば結果として試験が合格になる。分析により論理１および論理０の双方の試験で不合格ノードが見つかった場合にのみ、本当に短絡回路が存在する。
【００５２】
非バウンダリ・スキャンノードの組み分けおよび組の選定
図４は非バウンダリ・スキャンノードをバウンダリ・スキャンノードと関連する組に組み分けするサブルーチンを示す。図４のサブルーチンはまた、独立の非バウンダリ・スキャンノードのグループＳを結果として形成する「独立」である組Ｔの非バウンダリ・スキャンノードを決定するステップを含んでいる。本発明の好適試験方法では、ノード分解サブルーチンが必要とする別の試験を必要とせずに欠陥の正確な位置がユーザに戻される。
【００５３】
図４のステップ４０１−４０８は、方法１を参照して上述したように、バウンダリ・スキャンノードに関連する非バウンダリ・スキャンノードの組Ｔを決定するのに使用される。本質的に、そのプロセスは、試験すべき回路基板上のすべてのバウンダリ・スキャン素子および非バウンダリ・スキャン素子の相対位置に関する情報がテスターに供給されたときステップ４０１で始まる。便宜的に、この情報はデカルト座標系のＸ、Ｙ座標の形をしているが、上述した数値隣接のような他の位置方法を使用することができる。説明の目的のためにこのデータを「隣接データ」と呼ぶ。
【００５４】
回路基板のバウンダリ・スキャンノードの数を表すＸカウンターはステップ４０２で初期設定され、ステップ４０３で歩進する。ステップ４０４でバウンダリ・スキャンノードＮＸが選択されるが、これは回路基板内のどんなバウンダリ・スキャンノードでもよい。先に示したアルゴリズムを使用して、選択されたバウンダリ・スキャンノードＮＸの所定距離Ｒ以内にある非バウンダリ・スキャンノードの組ＴＸをステップ４０６で決定する。従って、回路基板内のあらゆるバウンダリ・スキャンノードに対する組Ｔが存在することになるが、組Ｔの幾つかは空であることもある。この組構築プロセスは回路基板上のすべてのバウンダリ・スキャンノードが選定されてしまうまで繰り返される。
【００５５】
ステップ４０９−４１３は、組Ｔのメンバーを識別するか、または「独立」非バウンダリ・スキャンノードのグループＳに組み分けするように行なわれる。組Ｔに関して前に使用した隣接で表すと、独立非バウンダリ・スキャンノードのグループは、回路基板上の各ＢＳノードが隣接しているか、または独立グループ内の唯一つの非バウンダリ・スキャンノードの所定距離内にあるグループである。この関係のため、各グループのすべての非バウンダリ・スキャンノードを、試験結果に不明確さを生じさせずに、同時にまたは並列に試験することができる。このようにして、並列試験により得られる試験時間の削減が、回路基板上の欠陥の位置を正確に識別する能力を犠牲にせずに達成される。
【００５６】
非バウンダリ・スキャンノードの組は、それら各組のすべての非バウンダリ・スキャンノードを試験結果に不明確さを生じさせずに同時に試験することができれば、独立である。換言すれば、特定のレシーバ回路２１２（図２に示してある）が幾つかの非バウンダリ・スキャンノードに関し、それらの非バウンダリ・スキャンノードのいずれかに短絡回路が存在する場合に刺激することができるように物理的に設置されていれば、その時はそれらの非バウンダリ・スキャンノードは独立ではない。
【００５７】
図２の回路基板を使用すれば、組Ｔ２＝２２８、２２９、２３１であり、組Ｔ３＝２３１、２３２、２３３、２３４である。短絡が素子２０２のピン２３１と２４２との間にあれば、レシーバピン２４３は刺激される。同様に、短絡がピン２３２と２４２との間に存在すれば、レシーバピン２４３が刺激される。ゆえに、ピン２３１はピン２３２から独立ではなく、それらを並列に試験することはできない。対照的に、非バウンダリ・スキャンノード２２８は、これも組Ｔ２の一部てあるが、ピン２４３に結合しているレシーバ回路２１２を刺激することはなく、従って、ピン２２８はピン２３２から独立している。組Ｔ１−ＴＸの非バウンダリ・スキャンノードの依存関係を決定するこのプロセスは、試験前または試験中組に、Ｔ１−ＴＸの非バウンダリ・スキャンノードがすべて試験されるまで繰り返される。
【００５８】
必ずしもすべての組Ｔ１−ＴＸが或る他の組Ｔに独立の非バウンダリ・スキャンノードを有しているとはかぎらないことを理解すべきである。換言すれば、幾つかの非バウンダリ・スキャンノードは、試験データを混同せずに他の非バウンダリ・スキャンノードと並列に試験することはできない。これらの場合には、グループＳは唯一つの非バウンダリ・スキャンノードを備えていることになる。一度、組Ｔ１−ＴＸの非バウンダリ・スキャンノードがすべてグループＳ１−ＳＹに入れられてしまえば、本発明による試験を始めることができる。
【００５９】
方法１
第１の実施例プログラムのフローチャートを図５に示す。このフローチャートでＸは特定のバウンダリ・スキャンノードを指し、Ｔはバウンダリ・スキャンノードＸに関連する非バウンダリ・スキャンノードの対応する組を指す。Ｎは試験すべきバウンダリ・スキャンノードの総数に等しい。試験を開始するには、電力を試験すべき回路に加える。実質的に同時に、クロック５６をリセットし、電力の開始からの時間をカウントし始める。Ｘを０にセットし、次に１だけ進めそれを１にセットする。次に、回路を全電力に上げながら、上述したアルゴリズムおよび（Ｘ、Ｙ）または先に入力した位置データを使用して、コントローラ／シーケンサ５４の中のプロセッサまたは遠隔コンピュータ１４（図１に示してある）により、非バウンダリ・スキャンノードの組Ｔ１を計算する。
【００６０】
上に示したように、この計算は試験を行なう前にバウンダリ・スキャンノードの整頓に関連して行なうこともできる。その場合には、このステップは組Ｔから成るノードに関するデータの転送から構成される。方法１では、独立非バウンダリ・スキャンノードのグループＳを使用しないのでこのデータを転送する必要はない。ドライバ３７の一つを組Ｔ１の各ノードに割り当て、リレー３４の一つを閉じることによりそのノードに接続する。リレー３４が動作している間、バウンダリ・スキャン核をテスター１２によりセットアップする。論理０の値はＴＴＬ回路のようなほとんどの回路に与える損傷が最も少ないと思われるので、論理０値を選択する。或る他の値がより少ない損傷を与えそうであると判定されれば、その時はその値を選択することになる。
【００６１】
どの論理値が選択されても、それは標準の回路内オーバードライブ技法を使用して適用されるので、たとえ２０４のようなどんな非バウンダリ・スキャン素子が、２２８のような取着された非バウンダリ・スキャンノードを処理しようとしているとしても、一つの値を保証することができる。ついでバウンダリ・スキャン試験を実行する。好適にはバウンダリ・スキャンＥＸＴＥＳＴ機能が、実行されるバウンダリ・スキャン試験である。バウンダリ・スキャンＥＸＴＥＳＴ機能は、各バウンダリ・スキャンドライバを論理１にし、対応するノード上の対応するバウンダリ・スキャンレシーバの応答を捕捉し、次に非バウンダリ・スキャンテスタードライバを論理「１」に変えている間、バウンダリ・スキャンドライバを論理０にし、応答をレシーバで捕捉する。この試験を、図３を参照してバウンダリ・スキャン核として上述してある。
【００６２】
例えば、図２を参照すると、ノード２２３に接続されているバウンダリ・スキャン素子２０２のピン２４２に関するバウンダリ・スキャンドライバは論理１にセットされ、これは素子２０３のピン２４３に関するバウンダリ・スキャンレシーバにより捕らえられなければならないが、素子ピン２３１、２３２、２３３および２３４に結合されている関連非バウンダリ・スキャンノード（すなわち、グループＴ１中の非バウンダリ・スキャンノード）は論理０に駆動される。素子２０２のドライバは論理０に設定され、素子ピン２３１、２３２、２３３、および２３４に結合されているテスタードライバは論理１に駆動され、論理０を素子２０３のレシーバピン２４３により捕捉しなければならない。
【００６３】
バウンダリ・スキャン核が実行されてから直後に、非バウンダリ・スキャンノードに取付けられているリレーが開き始める。リレーが開いている間、試験結果が分析される。結果はコントローラ／シーケンサ５４内のプロセッサにより、またはコンピュータ１４（図１に示してある）により読み出される。バウンダリ・スキャンノードの状態は、試験に関連するそれらの点でのみ検査される。すなわち、半径Ｒ以内に非バウンダリ・スキャン素子ピンが存在していなかった素子ピンで、バウンダリ・スキャンノード２２３が他のバウンダリ・スキャン素子に接続されていたとすれば、その時はこれらの素子ピンでバウンダリ・スキャンレシーバが捕捉した値は試験に無関係であり、検査されない。これにより、バウンダリ・スキャン素子が多数あれば、試験をかなり短くすることができる。
【００６４】
組Ｔ１に対するドライバを論理０にセットした状態で、バウンダリ・スキャン核の期間中、バウンダリ・スキャンドライバの論理１が捕捉されなければ、対応するバウンダリ・スキャンドライバ、またはその関連相互接続のいずれかに伴う問題が存在する。バウンダリ・スキャンドライバの論理１が捕捉されなければ、その時は一つ以上のノードＴ１とバウンダリ・スキャンノードとの間に短絡状態が存在する可能性がある。ノードが第１のパス中にも故障していた時、バウンダリ・スキャンドライバの論理０が第２のパス中に捕捉されなければ、その時は一つ以上のノードＴ１とバウンダリ・スキャンノードとの間に短絡状態が存在していることがわかる。
【００６５】
組Ｔ１が合格すれば、クロック５６をチェックする。組Ｔ１が合格しなければ、すなわち、バウンダリ・スキャン核の期間中に論理１が捕捉されなければ（非バウンダリ・スキャンドライバは論理０にセットされていると仮定する）、クロック５６をチェックする前に試験されるバウンダリ・スキャンノードおよび組Ｔ１を識別する故障メッセージが作られる。
【００６６】
クロック５６のチェックに基づき、損傷の判断基準が存在すれば、すなわちまだ試験されていないバウンダリ・スキャンノードのいずれかと関連する時間限界の一つが経過していなければ、または試験されてしまって且つ試験に不合格であったバウンダリ・スキャンノードのどれか一つと関連する時間限界のどれか一つが経過してしまっていれば、または全体の回路時間限界が経過してしまっていれば、電力をオフにする。ループを実行している間に時間限界が経過しても一般に問題にならないことに注目されたい。一般に、時間限界はループを実行するのにかかる時間と比較して比較的大きく、時間限界の決定における不確かさ、または緩さは一般にループ実行時間よりはるかに大きい。
【００６７】
損傷の判断基準が存在しなければ、Ｘの値をチェックしてすべてのバウンダリ・スキャンノードが試験されてしまったか確認し、否であれば、Ｘを１だけ進めて次のバウンダリ・スキャンノードを試験する。すべてのバウンダリ・スキャンノードが試験されてしまっていれば、故障メッセージ記録を検査し、故障メッセージが作られていなければ、合格信号を設定して基板が試験に合格したことを示し、試験を終わる。
【００６８】
メインプログラムに故障メッセージが設定されており、且つ時間限界の経過のため電力がオフになってしまっていれば、第１の実施例ではノード分解サブプログラムに入る。ノード分解サブプログラムの一例は米国特許出願第０８／０８８，２７９号に詳細に説明されている。上の試験が終了してから、まさにバウンダリ・スキャンノードだけの完全さを確証する標準のバウンダリ・スキャン相互接続試験を実行する。
【００６９】
好適実施例では、テスター１２はヒューレット・パッカード社製ＨＰ３０７０テスターであり、コンピュータ１４はヒューレット・パッカード社製ＨＰ９０００コンピュータであるが、他の適切なテスターおよびコンピュータを使用することができる。ＨＰ９０００コンピュータはキーボード、ディスク、およびテープ駆動装置およびディスプレーのようなデータ入力１６およびデータ出力１８を備えている。
【００７０】
方法２
図６は欠陥ノードの正確な位置をノード分解サブルーチンを必要とせずに識別する好適な試験方法のフローチャートを示す。ステップ６０１で、電力を回路基板に加え、試験サイクルの数をカウントするＺカウンターを０に初期設定する。各試験サイクルで、一つのグループＳ１−ＳＹの非バウンダリ・スキャンノードのすべてを試験する。試験サイクルの数、この場合Ｙを、すべての組Ｓ１−ＳＹが試験されるまで行なう。ステップ６０３で、Ｚカウンタを１だけ進め、ステップ６０４でテスタードライバのリレー３４（図１に示してある）を閉じて、電力を非バウンダリ・スキャンノードに加える準備をする。バウンダリ・スキャン核（図３に示してある）をステップ６０６で実行する。
【００７１】
ユーザの必要に応じて試験結果を直ちに分析することができ、または後の分析のため格納することができる。試験結果は好適実施例ではステップ５１０で分析されるが、これはバウンダリ・スキャンチェーンが次の試験サイクルのためセットアップされるのと同時に行なわれる。それは図７における時間７０４である。試験中に故障が発生すると、ステップ６１１で欠陥の位置に関する位置情報を含む故障メッセージを生成する。
【００７２】
各素子ピンおよびノードの座標または位置データは試験サイクルの始めにステップ４０１（図４に示してある）でテスターに与えられたことが思い出されよう。本発明の方法は独立非バウンダリ・スキャンノードの組およびグループを作るので、たとえ非バウンダリ・スキャンノードを並列に試験しても応答ベクトル内のデータを混同することはない。従って、テスターは故障を生じたノードまたはピンについての座標位置情報を戻す故障メッセージを発生することができる。
【００７３】
ステップ６１７の前に、図５を参照して説明したように、試験クロックを好適にチェックして損傷判定基準が存在するか確認し、必要なら電力をオフにする。これらのステップは本発明の実施では随意選択であり、理解を容易にするため、これらのステップは図６には示してない。
【００７４】
損傷判定基準が何も存在しなければ、プログラムはステップ６１７に進んでＺカウンターをチェックし、すべてのグループＳ１−ＳＹが試験されてしまったか確認する。否であれば、Ｚカウンターを進め、ステップ６０３−６１６を繰り返すことにより試験を続ける。すべてのグループが試験されてしまっていると、プログラムはステップ６１８に進み、故障が発生しているか（すなわち、ステップ６１１の間に故障メッセージが生成されたか）をチェックし確認する。故障メッセージが発生していれば、ステップ６２１でそれをユーザに伝える。故障メッセージが発生していなければ、ステップ６１９で合格メッセージをユーザに送る。いずれの場合でも、一度ユーザが回路状態を通知されれば、ステップ６１４で試験が終わる。
【００７５】
タイミング
試験時間、すなわち回路基板を試験するのに必要な経過時間は極めて重要である。同様に、テスターが試験中に回路基板を損傷しないことが非常に重要であり、したがって検出されるエラーまたは欠陥を修理することができる。本発明は、これらの重要な関心事の両方に対し、本発明による試験方法に際して、バウンダリ・スキャンおよび非バウンダリ・スキャンを慎重に調整することにより対処している。特に、本発明の方法により非バウンダリ・スキャンノードに電圧を加えるテスタードライバが通常非常に短時間であり、且つ正確なデータを捕らえることを可能にする。
【００７６】
図７は、図３を参照して説明した事象の相対タイミングおよび継続時間を示すタイミング図である。上部の波形は図２のバウンダリ・スキャンドライバの出力を示す。破線はバウンダリ・スキャンドライバ２１３が不確定状態にあることを示す。下部の波形はテスタードライバ３７（図１に示してある）のバウンダリ・スキャンノードへの出力を示す。点線はテスタードライバが高インピーダンスまたはトライステートにあることを示す。
【００７７】
セットアップ期間７０４は、バウンダリ・スキャンチェーンが論理「１」に対応する電圧で満たされるステップ３０１の継続時間を表す。時刻７０５で、更新ステップ３０２が行なわれ、バウンダリ・スキャンドライバを期間７０４の間の高インピーダンス状態から、時刻７０５での論理１の電圧まで動かす。時刻７０６で、テスタードライバをオンにし、それらが取り付けられている非バウンダリ・スキャンノードを論理「０」に対応する電圧まで動かす。
【００７８】
時刻７０７で、図３のステップ３０４に示すように応答ベクトルが捕捉され、時刻７０８で、図３のステップ３０６に示すようにテスタードライバをオフにする。好適には、図７の時刻７０６と７０８との間の全経過時間は小さく、例えば２００ナノ秒未満である。期間７０９の間、応答ベクトルは外に移行し、第２の論理状態（すなわち、図３および図７の論理「０」）がバウンダリ・スキャンレジスタに移行し、図３のステップ３０８および３０９に対応する。
【００７９】
一度、第２の論理状態がバウンダリ・スキャンレジスタにロードされると、プログラムは図３に示す更新ステップ３０２に戻り、非バウンダリ・スキャンテスタードライバが時刻７１６でバウンダリ・スキャンノードのものとは反対の論理値（すなわち、図７の論理「０」）に設定される。テスタードライバがオンである間、時刻７１７で捕捉機能が行なわれ、テスタードライバは時刻７１８で直ちにオフになる。今度も、時刻７１６と７１８との間の経過時間は非常に短く、好適には２００ナノ秒未満である。時間７１９の間レシーバ回路に捕捉された応答ベクトルが外に移行する。この点で、選択された非バウンダリ・スキャンノードに対する試験が完了し、独立非バウンダリ・スキャンノードの他のグループが選択され、試験が続く。
【００８０】
３．結論
本発明の一つの特徴は、短絡半径を使用することにより、試験しなけりばならないノードの数の大幅な削減が可能になることである。上述したように、試験すべき典型的な回路には数百または数千のノードおよび爪が存在することがある。これらのノードおよび爪の大部分は、物理的近接に欠けているため所定の目標ノードに短絡することはできない。試験方法と関連して位置データを使用することにより、実際の発生では非常に起こり難い短絡が排除される。各目標バウンダリ・スキャンノードに対して考慮することにより、ソフトウェアが爪の小さなサブセットを拾うことを可能にする。このサブセットが小さいことから、利用しなければならず且つ並列に制御しなければならないディジタル供給源の数、分析し印刷しなければならない診断情報の量、および決定的試験を実行するのに必要な時間が大幅に減少する。従って、本発明は従来技術の試験装置および方法に比較して、回路を試験するコストを大幅に減少させる。
【００８１】
どの非バウンダリ・スキャンノードが独立であるかを決定し、独立ノードを並列に試験することにより、試験時間は本発明により更に減少する。これにより、通常試験電圧を一度に多数のノードに加えることができるテスター設備が効率良く使用される。
【００８２】
試験時間を結果的により少なくする本発明の他の特徴は、各非バウンダリ・スキャンノードが論理０および論理１で試験されるだけであることである。換言すれば、各ノードに加えるのに必要な電圧は２つだけでよく、しかも短絡回路の正確な位置が決定される。これにより回路基板上どのノードに欠陥があるかを決定するために各非バウンダリ・スキャンノードに加える試験電圧を最大１０種必要とする従来技術の方法よりも、試験時間が大幅に減少する。
【００８３】
本発明の他の特徴は、関連する損傷の危険を最小限にして可能なかぎり早く短絡が見つけられるということである。これは行なわれる一連の試験、すなわち、電力を加えない短絡、本発明の試験、およびバウンダリ・スキャン相互接続試験から、および試験すべきノードを試験内部で整頓することおよび時間限界を使用して電力を一時的に遮断することから得られる結果である。
【００８４】
本発明の更に他の特徴は、バウンダリ・スキャンおよび非バウンダリ・スキャン部品の両方を有する回路について、従来技術のバウンダリ・スキャン試験から生ずる診断の混乱が排除されていることである。従来技術の試験では、短絡が存在したとするとそれはバウンダリ・スキャン部品と制御されない非バウンダリ・スキャン部品との間に相互作用を生じ、この相互作用は予測することができず、再現できず、または分析することができない。本発明による試験では、このような不確かさおよび混乱はバウンダリ・スキャンノードを分離し、非バウンダリ・スキャンノードを互いに短絡しないことがわかっている管理可能な数にまで減らし、非バウンダリ・スキャンノードを保証された状態にすることにより排除されている。
【００８５】
本発明の更に他の特徴は、試験設備で一般に利用できるテスターおよびコンピュータを使用して実施することができるということである。更に、必要な技法およびプログラミングは試験要員により比較的理解されやすい。複雑な数学は不要である。
【００８６】
回路のバウンダリ・スキャン試験のための、複雑な回路の正確な、明確な、且つ高速の試験を提供し、しかも多数の他の利点を有する、斬新な装置および方法を述べてきた。本明細書の中で図面で示し説明した特定の実施例は例示の目的であって、特許請求の範囲に記載する本発明を限定するものと解釈すべきではないことを理解すべきである。更に、当業者は今や記述した特定の実施例の多数の利用および修正を、本発明の概念から逸脱することなく、行なう事ができることが明らかである。たとえば、（Ｘ、Ｙ）を使用して回路の試験を簡単にすることが可能であることがわかるから、（Ｘ、Ｙ）情報を使用して試験すべきノードの組を減らす他の手段を考案することができる。または他のテスターおよびコンピユータを使用することができ、または他の電気的部品で代用することができる。他の特徴を追加することができ、または随意選択の特徴の一つまたは他を削除することができる。従って、本発明は、説明により提示されているおよび／または維持されている各々のおよびすべての斬新な特徴および特徴の斬新な組合せを包含すると解釈されるべきである。
【００８７】
以下に、本発明の実施態様を列挙する。
【００８８】
１．（１）各々が回路基板に電気的に結合するための多数の素子ピンを備えている複数の非バウンダリ・スキャン（ＮＢＳ）素子と、
（２）各々が回路基板に電気的に結合するための多数の素子ピン、素子ピンの少なくとも幾つかに結合している多数のレシーバ回路、および素子ピンの少なくとも幾つかに結合している多数のドライバ回路を備えており、レシーバ回路およびドライバ回路が複数のバウンダリ・スキャン素子上に設けられており、レシーバ回路およびドライバ回路の各々が直列データ流をデータプロセッサに供給するために結合されている複数のバウンダリ・スキャン（ＢＳ）素子と、
（３）各々がレシーバ回路およびドライバ回路の両方に結合されている多数のＢＳノードと、および
（４）ＢＳノードではないノードである多数のＮＢＳノードとを備えている回路基板を試験する方法であって、
回路基板上のＢＳ素子およびＮＢＳ素子の素子ピンの各々に対する位置データをテスターに供給するステップと、
ＮＢＳノードをノードの組に組み分けし、ノードの各組が、ＢＳノードの一つから所定距離内にあるすべてのＮＢＳノードから構成されるようにするステップと、
ＢＳドライバ回路を使用して回路に第１の電圧を加えるステップと、
少なくとも一つのＮＢＳノードに第２の電圧を加えるステップと、
レシーバ回路が結合している素子ピンにかかる電圧をレシーバ回路に捕捉させるステップと、
データプロセッサを使用して捕捉電圧を分析し、欠陥のあるピンとノードとを決定するステップと、および
分析ステップ中に欠陥があると決定された素子ピンおよびノードに対する位置データを戻すことを含むメッセージを発生するステップとからなる、回路基板の試験方法。
【００８９】
２．位置データを供給するステップは、回路基板上の素子ピンの各々に対する二つのデカルト座標を供給することから成る前項１記載の試験方法。
【００９０】
３．位置データを供給するステップは数値近接データを供給することから成る前項１記載の試験方法。
４．所定の距離は１から５ミリメートルの範囲にある前項１記載の試験方法。
【００９１】
５．複数の非バウンダリ・スキャン素子の少なくとも幾つかはアナログ入力および出力を有する集積回路である前項１記載の試験方法。
【００９２】
６．複数の非バウンダリ・スキャン素子の少なくとも幾つかは個別の電子素子である前項１記載の試験方法。
７．第２の電圧を少なくとも一つのＮＢＳノードに加えるステップは２００ナノ秒未満で完了する前項１記載の試験方法。
【００９３】
８．第２の電圧を少なくとも一つのＮＢＳノードに加えるステップはインサーキットオーバードライブ法を使用する前項７記載の試験方法。
【００９４】
９．（１）各々が回路基板に電気的に結合するための多数の素子ピンを備えている複数の非バウンダリ・スキャン（ＮＢＳ）素子と、
（２）各々が回路基板に電気的に結合するための多数の素子ピン、素子ピンの少なくとも幾つかに結合している多数のレシーバ回路、および素子ピンの少なくとも幾つかに結合している多数のドライバ回路を備えており、レシーバ回路およびドライバ回路が複数のバウンダリ・スキャン素子上に設けられており、ドライバ回路の所望状態およびレシーバ回路の結果状態を表す直列データ流を分析のためデータプロセッサに供給する走査経路を形成するように、レシーバ回路およびドライバ回路の各々が直列に結合している複数のバウンダリ・スキャン（ＢＳ）素子と、
（３）各々がレシーバ回路およびドライバ回路の両方に結合されている多数のＢＳノードと、および
（４）ＢＳノードではないノードである多数のＮＢＳノードとを備えている回路基板を試験する方法であって、
回路基板上のＢＳ素子およびＮＢＳ素子の素子ピンの各々に対する隣接データをテスターに供給するステップと、
隣接データを使用してＮＢＳノードをノードの組に組み分けし、ノードの各組がＢＳノードの隣接する一つであるすべてのＮＢＳノードから成るようにするステップと、
独立グループの二つのメンバーのいずれも同じバウンダリ・スキャンノードに隣接しないようにＮＢＳノードを独立のＮＢＳノードのグループに組み分けするステップと、
ＢＳドライバ回路を使用して回路のＢＳノードに第１の電圧を加えるステップと、
独立ＮＢＳノードの一つのグループ内のすべてのＮＢＳノードに第２の電圧を加えるステップと、
レシーバ回路が結合している素子ピンにかかる電圧をレシーバ回路に捕捉させるステップと、
第１のデータ流をデータプロセッサへと走査経路に供給させるステップと、および
データプロセッサを使用して第１のデータ流を分析するステップとからなる、回路基板の試験方法。
【００９５】
１０．隣接データを供給するステップは、回路基板上の素子ピンの各々に対する二つのデカルト座標を供給することから成る前項９記載の試験方法。
【００９６】
１１．隣接データを供給するステップは更に、回路基板上の欠陥の予想最大サイズに対応する距離であり且つ１から５ミリメートルの範囲にある半径Ｒを供給することから成る前項９記載の試験方法。
【００９７】
１２．位置データを供給するステップは数値隣接データを供給することから成る前項９記載の試験方法。
１３．複数の非バウンダリ・スキャン素子の少なくとも幾つかはアナログ入力および出力を有する集積回路である前項９記載の試験方法。
【００９８】
１４．複数の非バウンダリ・スキャン素子の少なくとも幾つかは個別の電子素子である前項９記載の試験方法。
【００９９】
１５．第２の電圧を少なくとも一つのＮＢＳノードに加えるステップは２００ナノ秒未満で完了する前項９記載の試験方法。
【０１００】
１６．第２の電圧を少なくとも一つのＮＢＳノードに加えるステップはインサーキットオーバードライブ法を使用する前項１５記載の試験方法。
【０１０１】
１７．（１）多数のバウンダリ・スキャン（ＢＳ）ノード、および
（２）ＢＳノードではないノードである多数の非バウンダリ・スキャン（ＮＢＳ）ノードを有する回路基板を試験する方法であって、
回路基板上の多数のＢＳノードおよびＮＢＳノードの各々に対する位置データをテスターに供給するステップと、
１から５ミリメートルの範囲にある所定の距離（Ｒ）をテスターに供給するステップと、
回路基板上の各ＢＳノードが独立グループ内の唯一つのＮＢＳノードの所定距離以内にあるように独立ＮＢＳノードのグループを決定するステップと、
第１の論理状態に対応する所定の電圧をＢＳノードに加えるステップと、
第２の論理状態に対応する所定の電圧を独立ＮＢＳノードのグループのすべてのＮＢＳノードに加えるステップと、
第２の論理状態に対応する所定の電圧を加えながら、ＢＳノードにかかる電圧を捕捉するステップと、および
捕捉電圧を分析して独立グループ内のＮＢＳノードのいずれかと一つのＢＳノードとの間の電気的短絡を検出するステップとからなる、回路基板の試験方法。
【０１０２】
１８．少なくとも一つのバウンダリ・スキャンノードと少なくとも一つの非バウンダリ・スキャンノードとを有する回路基板を試験する方法であって、
第１の試験電圧を少なくとも一つのバウンダリ・スキャンノードに加えるステップと、
第２の試験電圧を少なくとも一つの非バウンダリ・スキャンノードに加えるステップと、
少なくとも一つのバウンダリ・スキャンノードにかかる第１の結果電圧を格納するステップと、
第２の試験電圧を少なくとも一つのバウンダリ・スキャンノードに加えるステップと、
第１の試験電圧を少なくとも一つの非バウンダリ・スキャンノードに加えるステップと、
少なくとも一つのバウンダリ・スキャンノードにかかる第２の結果電圧を格納するステップと、
第１の結果電圧が第２の試験電圧に対応し、且つ第２の結果電圧が第１の試験電圧に対応する場合に故障メッセージを発生するステップとからなる、回路基板の試験方法。
【０１０３】
【発明の効果】
本発明は上述のように構成したので、回路基板上の各素子の各ピンの隣接データまたは位置データを使用して、バウンダリ・スキャンノードに結合されている素子ピンから所定の距離「Ｒ」以内にある非バウンダリ・スキャンノードの組数を決定し、回路基板上の各バウンダリ・スキャンノードが独立グループ内の唯一つの非バウンダリ・スキャンノードの所定距離以内にあるように各組Ｔの中にあるどれだけの数の非バウンダリ・スキャンノードが「独立」であるかを決定する。
【０１０４】
各試験サイクルは、各独立組中のすべての非バウンダリ・スキャンノードを選択し、バウンダリ・スキャン素子内のトライバを第１の電圧に強制的にし、各非バウンダリ・スキャンノードを短時間他の電圧に強制的にすることにより、選択した非バウンダリ・スキャンノードを並列に試験することで実行される。バウンダリ・スキャン素子のレシーバは応答ベクトルを捕らえ、これを回路基板から走査して評価する。次にバウンダリ・スキャンノードを第２の電圧にし、非バウンダリ・スキャンノードを第１の電圧にして駆動され、引き続いて他の応答ベクトルを捕らえる。試験サイクルはすべての非バウンダリ・スキャンノードが試験されるまで非バウンダリ・スキャンノードの各独立組を選択し、試験することにより終了する。
【０１０５】
これにより、独立非バウンダリ・スキャンノードは並列に選択され試験されるので、応答ベクトルはどのノードが故障しているかを反映しており、欠陥ノードの正確な位置を示すことが可能となり、好適にはデカルト座標の形での位置データがユーザに戻される。非バウンダリ・スキャンノードは応答ベクトルが捕らえられる直前に短時間だけ駆動されるので、回路損傷の危険は極小で試験時間が改善されるという効果がある。
【図面の簡単な説明】
【図１】本発明による回路を試験する装置の好適実施例のブロック図である。
【図２】本発明による試験のため重畳された典型的半径Ｒを有する回路例の簡略概要図である。
【図３】本発明による試験方法のバウンダリ・スキャン核のフローチャートである。
【図４】試験前にノードを組み分けするサブルーチンのフローチャートである。
【図５】図１の装置を用いて回路基板を試験する第１の実施方法のフローチャートである。
【図６】図１の装置を用いて回路基板を試験する第２の実施方法のフローチャートである。
【図７】図６に示す試験手順のタイミング図である。
【符号の説明】
１２    テスター
１４    遠隔コンピュータ
１６    データ入力
１８    データ出力
２０    回路基板
２２，２４    バウンダリ・スキャン部品
２６，２８    非バウンダリ・スキャン部品
３０Ａ−３０Ｉ    信号爪
３１Ａ−３１Ｄ    バウンダリ・スキャンノード
３４    リレー
３６    入力／出力線路
３７    ドライバ
３８    レシーバ
４０    電源
４２    アナログモジュール
５４    コントローラ／シーケンサ
５６    クロック
２００    回路基板
２０１，２０２，２０３      バウンダリ・スキャン素子
２０４，２０６，２０７，２０８，２０９，２１１      非バウンダリ・スキャン素子
２１２    レシーバセル
２１４    バウンダリ・スキャンセル
２２１    バウンダリ・スキャンノード
２３６，２３７    素子ピン
Ｒ１−Ｒ７    短絡半径
【図１】
0003597891.tif 000003
【図２】
0003597891.tif 000004
【図３】
0003597891.tif 000005
【図４】
0003597891.tif 000006
【図５】
0003597891.tif 000007
【図６】
0003597891.tif 000008
【図７】
0003597891.tif 000009