(57)【要約】【課題】  複数のデバイス間を繋ぐバスラインの接続状態について効率的かつ信頼性の高い確認作業を行う。【解決手段】  メモリ等のデバイス５とＣＰＵ等のデバイス４とを繋ぐバスライン６の接続検査装置１を用いて、ＪＴＡＧ経由でバスライン接続確認用プログラムを実行する。そして、アドレスバスの接続状態をチェックする場合に、デバイス５に対して、複数のアドレスを順次に指定して該アドレス毎に異なるデータを書き込んだ後、最初に指定したアドレスのデータを読み出し、実際に読み出されたデータが、最初に指定したアドレスへのデータ書き込み時に指示したデータと異なるか否かを調べる。また、データバスの接続状態をチェックする場合に、デバイス５に対して、アドレスを指定して予め決められたデータを書き込んだ後、該アドレスのデータを読み出し、実際に読み出されたデータが、当該アドレスへの書き込み時に指示したデータと異なるか否かを調べる。【選択図】        図１
2005134290.tif 000002
【特許請求の範囲】
【請求項１】
第一のデバイス及び該デバイスにバスラインで接続された記憶用の第二のデバイスを備えた検査対象について、該バスラインの各ビット線が正しく接続されているか否かを確認するための接続検査装置において、
上記第一のデバイスとの接続用インターフェースを経由して上記バスラインの接続確認用プログラムを実行することによって、上記第一のデバイスから上記第二のデバイスに対して、複数のアドレスを順次に指定して該アドレス毎に異なるデータを書き込んだ後、最初に指定したアドレスのデータを読み出し、実際に読み出されたデータが、最初に指定したアドレスへのデータ書き込み時に指示したデータと異なるか否かを調べて、アドレスバスの各ビット線の接続状態を検査する
ことを特徴とする接続検査装置。
【請求項２】
請求項１に記載した接続検査装置において、
上記最初に指定した第一のアドレスが０番地又は最大番地とされており、
上記第一のアドレスに予め決められた第一のデータを書き込み、その次に、一本のアドレスビット線だけが所定の論理値を示しかつ当該ビット線以外がその否定論理値を示す第二のアドレスに第一のデータとは異なる値の第二のデータを書き込んだ後、
上記第一のアドレスからデータを読み出して、該データが上記第一のデータに一致するか否かを判断し、両データの不一致時にアドレスビット線とグランド線又は電源線との接触又は干渉が起きていると判定する
ことを特徴とする接続検査装置。
【請求項３】
請求項１に記載した接続検査装置において、
一本のアドレスビット線だけが所定の論理値を示しかつ当該ビット線以外がその否定論理値を示す第一のアドレスに予め決められた第一のデータを書き込み、次に、上記アドレスビット線に隣り合うビット線又は上記アドレスビット線から一定のビット数だけ離れたビット線のみが上記所定の論理値を示し当該ビット線以外がその否定論理値を示す第二のアドレスに、上記第一のデータとは異なる値の第二のデータを書き込んだ後、
上記第一のアドレスからデータを読み出して、該データが上記第一のデータに一致するか否かを判断して、両データの不一致時に隣り合うアドレスビット線同士の接触若しくは干渉又は一定のビット数だけ離れたアドレスビット線同士の干渉が起きていると判定する
ことを特徴とする接続検査装置。
【請求項４】
第一のデバイス及び該デバイスにバスラインで接続された記憶用の第二のデバイスを備えた検査対象について、該バスラインの各ビット線が正しく接続されているか否かを確認するための接続検査装置において、
上記第一のデバイスとの接続用インターフェースを経由して上記バスラインの接続確認用プログラムを実行することによって、上記第一のデバイスから上記第二のデバイスに対して、アドレスを指定して予め決められたデータを書き込んだ後、該アドレスのデータを読み出し、実際に読み出されたデータが、当該アドレスへの書き込み時に指示したデータと異なるか否かを調べることにより、データバスの各ビット線の接続状態を検査する
ことを特徴とする接続検査装置。
【請求項５】
請求項４に記載した接続検査装置において、
任意のアドレスに対して、全ビット線が論理値「１」を示すデータを書き込み、次に、当該アドレスからデータを読み出して、該データが書き込み時に指定された上記データに一致するか否かを判断して、両データの不一致時にデータバスのうち論理値「０」を示すビット線とグランド線との接触又は干渉が起きていると判定する
ことを特徴とする接続検査装置。
【請求項６】
請求項４に記載した接続検査装置において、
任意のアドレスに対して、全ビット線が論理値「０」を示すデータを書き込み、次に、当該アドレスからデータを読み出して、該データが書き込み時に指定された上記データに一致するか否かを判断して、両データの不一致時にデータバスのうち論理値「１」を示すビット線と電源線との接触又は干渉が起きていると判定する
ことを特徴とする接続検査装置。
【請求項７】
請求項４に記載した接続検査装置において、
任意のアドレスに対して、あるビット線だけが所定の論理値を示しかつ当該ビット線以外がその否定論理値を示すデータを書き込み、次に、当該アドレスからデータを読み出して、該データが書き込み時に指定された上記データに一致するか否かを判断して、両データの不一致時にデータバスの隣り合うビット線同士の接触若しくは干渉又は距離を置いた異なるビット線同士の相互干渉が起きていると判定する
ことを特徴とする接続検査装置。
【請求項８】
請求項４に記載した接続検査装置において、
上記データバスの全ビット線について正しい接続状態が確認された後で、最初に指定する第一のアドレスを０番地又は最大番地に規定し、
上記第一のアドレスに予め決められた第一のデータを書き込み、その次に、一本のアドレスビット線だけが所定の論理値を示しかつ当該ビット線以外がその否定論理値を示す第二のアドレスに第一のデータとは異なる値の第二のデータを書き込んだ後、
上記第一のアドレスからデータを読み出して、該データが上記第一のデータに一致するか否かを判断し、両データの不一致時にアドレスビット線とグランド線又は電源線との接触又は干渉が起きていると判定する
ことを特徴とする接続検査装置。
【請求項９】
請求項４に記載した接続検査装置において、
上記データバスの全ビット線について正しい接続状態が確認された後で、一本のアドレスビット線だけが所定の論理値を示しかつ当該ビット線以外がその否定論理値を示す第一のアドレスに予め決められた第一のデータを書き込み、次に、上記アドレスビット線に隣り合うビット線又は上記アドレスビット線から一定のビット数だけ離れたビット線のみが上記所定の論理値を示し当該ビット線以外がその否定論理値を示す第二のアドレスに、上記第一のデータとは異なる値の第二のデータを書き込んだ後、
上記第一のアドレスからデータを読み出して、該データが上記第一のデータに一致するか否かを判断して、両データの不一致時に隣り合うアドレスビット線同士の接触若しくは干渉又は一定のビット数だけ離れたアドレスビット線同士の干渉が起きていると判定する
ことを特徴とする接続検査装置。
【請求項１０】
第一のデバイス及び該デバイスにバスラインで接続された記憶用の第二のデバイスを備えた検査対象の接続検査装置によって実行され、該バスラインの各ビット線が正しく接続されているか否かを確認するための、接続検査装置に用いるプログラムにおいて、
上記第一のデバイスから上記第二のデバイスに対して、複数のアドレスを順次に指定して該アドレス毎に異なるデータを書き込む処理ステップと、
最初に指定したアドレスのデータを読み出し、実際に読み出されたデータが、最初に指定したアドレスへのデータ書き込み時に指示したデータと異なるか否かを調べて、アドレスバスの各ビット線の接続状態を検査する処理ステップを有する
ことを特徴とするプログラム。
【請求項１１】
請求項１０に記載したプログラムにおいて、
上記最初に指定した第一のアドレスが０番地又は最大番地とされており、
（１）上記第一のアドレスに予め決められた第一のデータを書き込む処理ステップ、
（２）一本のアドレスビット線だけが所定の論理値を示しかつ当該ビット線以外がその否定論理値を示す第二のアドレスに第一のデータとは異なる値の第二のデータを書き込む処理ステップ、
（３）上記第一のアドレスからデータを読み出して、該データが上記第一のデータに一致するか否かを判断し、両データの不一致時にアドレスビット線とグランド線又は電源線との接触又は干渉が起きていると判定する処理ステップ、
を有することを特徴とするプログラム。
【請求項１２】
請求項１０に記載したプログラムにおいて、
（１）一本のアドレスビット線だけが所定の論理値を示しかつ当該ビット線以外がその否定論理値を示す第一のアドレスに予め決められた第一のデータを書き込む処理ステップ、
（２）上記アドレスビット線に隣り合うビット線又は上記アドレスビット線から一定のビット数だけ離れたビット線のみが上記所定の論理値を示し当該ビット線以外がその否定論理値を示す第二のアドレスに、上記第一のデータとは異なる値の第二のデータを書き込む処理ステップ、
（３）上記第一のアドレスからデータを読み出して、該データが上記第一のデータに一致するか否かを判断して、両データの不一致時に隣り合うビット線同士の接触若しくは干渉又は一定のビット数だけ離れたビット線同士の干渉が起きていると判定する処理ステップ、
を有することを特徴とするプログラム。
【請求項１３】
第一のデバイス及び該デバイスにバスラインで接続された記憶用の第二のデバイスを備えた検査対象の接続検査装置によって実行され、該バスラインの各ビット線が正しく接続されているか否かを確認するための、接続検査装置に用いるプログラムにおいて、
上記第一のデバイスから上記第二のデバイスに対して、アドレスを指定して予め決められたデータを書き込む処理ステップと、その後に該アドレスのデータを読み出し、実際に読み出されたデータが、当該アドレスへの書き込み時に指示したデータと異なるか否かを調べることにより、データバスの各ビット線の接続状態を検査する処理ステップを有する
ことを特徴とするプログラム。
【請求項１４】
請求項１３に記載したプログラムにおいて、
任意のアドレスに対して、全ビット線が論理値「１」を示すデータを書き込む処理ステップと、その次に当該アドレスからデータを読み出して、該データが書き込み時に指定された上記データに一致するか否かを判断して、両データの不一致時にデータバスのうち論理値「０」を示すビット線とグランド線との接触又は干渉が起きていると判定する処理ステップを有する
ことを特徴とするプログラム。
【請求項１５】
請求項１３に記載したプログラムにおいて、
任意のアドレスに対して、全ビット線が論理値「０」を示すデータを書き込む処理ステップと、その次に当該アドレスからデータを読み出して、該データが書き込み時に指定された上記データに一致するか否かを判断して、両データの不一致時にデータバスのうち論理値「１」を示すビット線と電源線との接触又は干渉が起きていると判定する処理ステップを有する
ことを特徴とするプログラム。
【請求項１６】
請求項１３に記載したプログラムにおいて、
任意のアドレスに対して、あるビット線だけが所定の論理値を示しかつ当該ビット線以外がその否定論理値を示すデータを書き込む処理ステップと、その次に当該アドレスからデータを読み出して、該データが書き込み時に指定された上記データに一致するか否かを判断して、両データの不一致時にデータバスの隣り合うビット線同士の接触若しくは干渉又は距離を置いた異なるビット線同士の相互干渉が起きていると判定する処理ステップを有する
ことを特徴とするプログラム。
【請求項１７】
請求項１３に記載したプログラムにおいて、
（１）上記データバスの全ビット線について正しい接続状態が確認された後で、最初に指定する第一のアドレスを０番地又は最大番地に規定する処理ステップ、
（２）上記第一のアドレスに予め決められた第一のデータを書き込む処理ステップ、
（３）一本のアドレスビット線だけが所定の論理値を示しかつ当該ビット線以外がその否定論理値を示す第二のアドレスに第一のデータとは異なる値の第二のデータを書き込む処理ステップ、
（４）上記第一のアドレスからデータを読み出して、該データが上記第一のデータに一致するか否かを判断し、両データの不一致時にアドレスビット線とグランド線又は電源線との接触又は干渉が起きていると判定する処理ステップ、
を有することを特徴とするプログラム。
【請求項１８】
請求項１３に記載したプログラムにおいて、
（１）上記データバスの全ビット線について正しい接続状態が確認された後で、一本のアドレスビット線だけが所定の論理値を示しかつ当該ビット線以外がその否定論理値を示す第一のアドレスに予め決められた第一のデータを書き込む処理ステップ、
（２）上記アドレスビット線に隣り合うビット線又は上記アドレスビット線から一定のビット数だけ離れたビット線のみが上記所定の論理値を示し当該ビット線以外がその否定論理値を示す第二のアドレスに、上記第一のデータとは異なる値の第二のデータを書き込む処理ステップ、
（３）上記第一のアドレスからデータを読み出して、該データが上記第一のデータに一致するか否かを判断して、両データの不一致時に隣り合うアドレスビット線同士の接触若しくは干渉又は一定のビット数だけ離れたアドレスビット線同士の干渉が起きていると判定する処理ステップ、
を有することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のデバイスがバスラインで繋がれた対象物に関して、バスラインの接続状態を検査するものである。例えば、ＣＰＵ（中央処理装置）とメモリ等を接続するバスライン（アドレスバス、データバス）の各信号線が正しく接続されているかどうかを検査する場合に、ＪＴＡＧ(Joint Test Action Group）等のインターフェースを用いて基板を検査装置に接続し、効率の良いテストプログラムを実行することにより、記憶用デバイスに係るテストデータの読み書きの結果に基いて接続検査を行うための技術に関する。
【背景技術】
【０００２】
回路基板上の複数のデバイスあるいは同一チップ内のコンポーネント同士を繋いでいる接続ライン、例えば、ＣＰＵとメモリとを結ぶバスラインの接続確認方法として、これまで以下に示す方法が知られている。
【０００３】
（１）バスラインに直接プローブを当ててＣＰＵ−メモリ間で導通を調べる方法
（２）ＪＴＡＧ等でテストプログラムを動かしてメモリの特定のアドレスに、事前に決められた固定データ（［0x0000］、［0xFFFF］、［0x5555］等。「0x」は１６進数表記であることを示す。）や、インクリメントデータ等の書き込んで、読み出すことにより確認する方法
（３）（テストプログラムでない）プログラムを実際に動かしてみて、予期しない動作等が行われないことを確認する方法
（４）目視又はＸ線撮影により接続状態を確認する方法。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の検査装置や検査方法にあっては、接続確認の作業性や作業時間、信頼性等に関して充分な対策が講じられておらず、確認作業の効率が低い場合に製品コスト上昇等の原因となってしまう。
【０００５】
例えば、上記方法（１）では以下の問題点が挙げられる。
【０００６】
（１−１）ＩＣ（集積回路）の形状によっては、端子間隔が狭いためにプローブを当てるのが困難であったり、あるいは端子に直接プローブを当てることが物理的に不可能な場合があること（ＣＳＰパッケージ等）
（１−２）高速のバスラインを用いる場合には通常、ダンピング抵抗が入っているためテスタの導通確認で接続を確認できないこと
（１−３）バスラインのビット線についてその１本１本に手作業でプローブを当てる必要があるため、作業時間がかかり、人為的ミスの低減が困難であること。
【０００７】
（１−４）バスラインの各ビット線についてＣＰＵ−メモリ間で導通があり、ビット線間で導通がないことが仮に確認できたとしても、実際に高速でバスを動かした場合、信号線間の干渉などによってバスラインが正しく動かない場合があること。
【０００８】
また、上記方法（２）では以下の問題点が挙げられる。
【０００９】
（２−１）アドレスバスに不具合がある場合には、間違ったアドレスにデータが書き込まれることになるが、そのデータを読み出して正しく書かれたかどうかをチェックするときにも、この間違ったアドレスから正しいデータを読み出してしまっていたので、チェック漏れが起きてしまうこと
（２−２）同じビット線を何回もチェックするため、時間がかかり、また、書き込み回数に制限が課せられたメモリ（フラッシュメモリ等）をチェックする場合に、メモリの劣化を早めてしまうこと（書き込み残存回数の減少）
（２−３）バスラインに不具合があった場合に、「どのアドレス」の「どのデータ」で不具合があったことしか分からず、「どのバスライン」の「どのビット線」に「どのような」不具合があるかということを特定するのが困難であること。
【００１０】
上記方法（３）では以下の問題点が挙げられる。
【００１１】
（３−１）プログラムのメモリマップによっては、バスラインに不具合があるにも関わらず、偶然にプログラムが動くことがあるため、プログラムの変更やバージョンアップ時に出るかもしれない不具合（バグ等）を見逃してしまう虞があること
（３−２）バスラインに不具合が見つかった場合に、それがバスラインのハードウェア上での不具合であることを特定することが極めて困難であること。
【００１２】
上記方法（４）では以下の問題点が挙げられる。
【００１３】
（４−１）バスラインが物理的に接続されているように見えても、電気的に接続していないか接続が不完全な場合があること
（４−２）コネクタ部の接触抵抗等の影響でバスラインの信号波形が大きく変化して正しく動作しない場合に、本方法ではそれが分からないこと
（４−３）目視検査には熟練が必要とされ、また、Ｘ線等で接続確認を行うための装置が高価であうこと。
【００１４】
そこで、本発明は、複数のデバイス間を繋ぐバスラインの各信号線の接続状態について効率的かつ信頼性の高い確認作業を行えるようにすることを課題とする。
【課題を解決するための手段】
【００１５】
本発明は、上記した課題を解決するために、先ず、アドレスバスの接続状態検査に関して、下記に示す構成を有するものである。
【００１６】
（Ｉ）記憶用の第二のデバイスとバスラインで繋がれた第一のデバイスとの接続用インターフェースを経由してバスラインの接続確認用プログラムを実行すること。
【００１７】
（ＩＩ）記憶用のデバイスに対して、複数のアドレスを順次に指定して該アドレス毎に異なるデータを書き込んだ後、最初に指定したアドレスのデータを読み出し、実際に読み出されたデータが、最初に指定したアドレスへのデータ書き込み時に指示したデータと異なるか否かを調べることにより、アドレスバスの各ビット線の接続状態を検査すること。
【００１８】
よって、この発明では、第二のデバイスに対してデータを読み書きした結果を用いてアドレスビット線の接続状態を確認することができ、バスラインにプローブ等を当てたり、Ｘ線等の照射や撮影が不要である。また、アドレスバスをチェックする場合に、複数のアドレス指定によるデータ書き込みによって、最初に指定したアドレスのデータが書き換えられたか否かを調べることで接続不良を容易に判定することができる。
【００１９】
本発明に係るデータバスの接続状態検査については、上記（Ｉ）及び下記（ＩＩＩ）に示す構成を有するものである。
【００２０】
（ＩＩＩ）記憶用のデバイスに対して、アドレスを指定して予め決められたデータを書き込んだ後、該アドレスのデータを読み出し、実際に読み出されたデータが、当該アドレスへの書き込み時に指示したデータと異なるか否かを調べることにより、データバスの各ビット線の接続状態を検査すること。
【００２１】
よって、この発明によれば、第二のデバイスに対してデータを読み書きした結果を用いてデータビット線の接続状態を確認することができ、バスラインにプローブ等を当てたり、Ｘ線等の照射や撮影が不要である。また、仮にアドレスビット線に不具合があることが原因で、指定アドレスとは異なるアドレスにデータが書き込まれた場合でも、該アドレスから読み出されたデータが最初に指定したデータと異なっている場合には、アドレス指定の如何には関係なくデータバスに不具合が起きていることが分かるので、ビット値の変化に基いてデータバスのチェックを容易にかつ効率的に行える。
【発明の効果】
【００２２】
本発明によれば、バスラインの接続状態の確認や検査の作業効率を高めることができ、また、接続確認時において、実際に動作させるプログラムを実行させる必要がなく、作業時間を短縮化することができる。そして、作業が記憶用デバイスについてのデータ読み書き及びデータ照合に基いて行われ、プログラム処理による作業の自動化に適しており、人為的なミスをなくし、信頼性を向上させることができる。さらには、プログラム処理に従う系統立った作業内容の実現が可能であり、同じビット線について重複した作業を繰り返す必要がなく、書き込み回数に制限が課せられたデバイスへの適用が可能となる。
【００２３】
アドレスバスの接続状態のチェック時には、最初に指定する第一のアドレスを０番地又は最大番地に規定して、該アドレスに予め決められた第一のデータを書き込み、その次に、一本のアドレスビット線だけが所定の論理値を示しかつ当該ビット線以外がその否定論理値を示す第二のアドレスに第一のデータとは異なる値の第二のデータを書き込む。その後に、第一のアドレスからデータを読み出して、該データが第一のデータに一致するか否かを判断することによって、アドレスビット線とグランド線又は電源線との接触又は干渉が起きているかどうかの判定及びその位置の特定を容易に行うことができる。
【００２４】
また、一本のアドレスビット線だけが所定の論理値を示しかつ当該ビット線以外がその否定論理値を示す第一のアドレスに予め決められた第一のデータを書き込み、次に上記アドレスビット線に隣り合うビット線又は上記アドレスビット線から一定のビット数だけ離れたビット線のみが上記所定の論理値を示し当該ビット線以外がその否定論理値を示す第二のアドレスに、上記第一のデータとは異なる値の第二のデータを書き込む。その後、第一のアドレスからデータを読み出して、該データが上記第一のデータに一致するか否かを判断することによって、隣り合うビット線同士の接触若しくは干渉又は一定のビット数だけ離れたビット線同士の干渉が起きているかどうかの判定及びその位置の特定を容易に行うことができる。
【００２５】
そして、データバスの接続状態のチェック時には、アドレスを指定して予め決められたデータを書き込んだ後、該アドレスのデータを読み出し、実際に読み出されたデータが当該アドレスへの書き込み時に指示したデータと異なるか否かを調べることにより、データバスの各ビット線の接続状態を容易に確認することができる。
【００２６】
例えば、任意のアドレスに対して、全ビット線が正論理又は負論理における論理値「１」を示すデータを書き込んでから当該アドレスのデータを読み出して、該データが書き込み時に指定されたデータに一致するか否かを判断することによって、データビット線とグランド線との接触又は干渉が起きているかどうかの判定及びその位置の特定を行うことができる。
【００２７】
また、任意のアドレスに対して、全ビット線が正論理又は負論理における論理値「０」を示すデータを書き込んでから当該アドレスのデータを読み出して、該データが書き込み時に指定されたデータに一致するか否かを判断することによって、データビット線と電源線との接触又は干渉が起きているかどうかの判定及びその位置の特定を行うことができる。
【００２８】
そして、任意のアドレスに対して、あるビット線だけが所定の論理値を示しかつ当該ビット線以外がその否定論理値を示すデータを書き込んでから当該アドレスのデータを読み出して、該データが書き込み時に指定されたデータに一致するか否かを判断することによって、データバスの隣り合うビット線同士の接触若しくは干渉又は距離を置いた異なるビット線同士の相互干渉が起きているかどうかを容易に判定することができる。
【００２９】
さらには、このようなデータビット線の接続チェックを行い、データバスの全ビット線について正しい接続状態が確認された後で、上記したアドレスバスの接続状態をチェックすることによって、アドレスバスの接続検査を正確に行うことができる。
【発明を実施するための最良の形態】
【００３０】
図１は、本発明に係る接続検査装置の構成例を示したものである。
【００３１】
接続検査装置１は、バスラインで接続された複数のデバイスを備えた検査対象２について、該バスラインの各ビット線が正しく接続されているか否かを確認する装置である。例えば、ＣＰＵ、メモリ等を含む情報処理装置（コンピュータ機器等）が用いられ、所定のプログラム処理によって接続状態を検査するものである。
【００３２】
本例において、検査対象２の基板３上には、第一のデバイス４としてＣＰＵやＭＰＵ等の演算処理用デバイスが実装されており、該デバイスに対してバスラインで接続された第二のデバイス５が実装されている。尚、本発明の適用において、各デバイス４、５を別個のものとして基板３上に配置した構成形態でも良いし、また、両デバイスを同一の集積回路（ＬＳＩ等）内に内蔵させた１チップ形態（所謂System On Chip）でも構わない。
【００３３】
第二のデバイス５は記憶用デバイスとされ、例えば、ＣＰＵとのバス接続によってデータの読み書き（Read/Write）を行えるメモリが挙げられ、該デバイス５が基板３に直接に又はソケットを介して実装される。
【００３４】
デバイス４とデバイス５は、アドレスバス６Ａとデータバス６Ｄを含むバスライン６によって接続されている。尚、アドレスバス６Ａとデータバス６Ｄのバス幅（ビット数）については任意である。
【００３５】
第一のデバイス４、例えば、ＣＰＵについては、ＪＴＡＧインターフェースを用いたデバッグが可能とされ、ＪＴＡＧの動作に必要な信号線群７（図１には単線で簡略化して示す。）がＣＰＵから基板３上に引き出されており、基板３上に実装された接続部（ＪＴＡＧコネクタ）８に繋がれている。そして、この接続部８がケーブル９を介して接続検査装置１に接続されるが、ケーブル９が長い場合には基板３と接続検査装置１との間にバッファ１０を入れることがある。尚、ＪＴＡＧ（IEEE1149.1規格のグループ名称）では、バウンダリスキャン・アークテクチャー及びこの機能に外部からアクセスするためのシリアルポート仕様を規定しており、ＩＣ内部のコアロジックと各ピンとの間に、テストプローブと等価な働きをするセル（レジスタ）を配置し、これらを結合してシフトレジスタを構成して、該レジスタを制御することによりテストコードの入力とその応答に基いてテストを実行することができる。
【００３６】
デバイス同士を繋ぐバスライン６に起き得る不具合については、アドレスバス６Ａで発生するものとデータバス６Ｄに発生するものに類別される。
【００３７】
先ず、アドレスバスの不具合に関して、例えば、以下に示す状況が挙げられる（図２参照。この図で各信号線（水平線）がアドレスビット線を示すものとする。）。
【００３８】
（Ｉ）ビット線とグランド（ＧＮＤ）線との接触又は干渉（図２の「ｃａｓｅ１」参照）
（ＩＩ）ビット線と電源線との接触又は干渉（図２の「ｃａｓｅ２」参照）
（ＩＩＩ）隣接するビット線同士の接触又は干渉（図２の「ｃａｓｅ３」参照）。
【００３９】
先ず、上記（Ｉ）では、アドレスバスにおいて、あるビット線１１がＧＮＤ線に接触している場合が挙げられる。例えば、アドレスの不具合ビット線１１に対応するビットが常に論理値「０」になってしまった場合に、当該ビットが論理値「１」であるアドレスには正しくアクセスできない（以下、このような場合を「アドレスバス不具合ｃａｓｅ１」という。）。
【００４０】
また、上記（ＩＩ）では、アドレスバスにおいて、あるビット線１２が正電圧電源線（丸印中に「＋」を付して示す。）に接触している場合（電源線との混触）が挙げられる。例えば、アドレスの不具合ビット線１２に対応するビットが常に論理値「１」になってしまった場合に、このビットが論理値「０」であるアドレスに正しくアクセスできない（以下、この場合を「アドレスバス不具合ｃａｓｅ２」という。）。
【００４１】
上記（ＩＩＩ）では、アドレスバスにおいて、あるビット線１３（例えば、ｂｉｔ  ｎ）が隣のビット線１４（例えば、ｂｉｔ  ｎ＋１）に接触している場合（線間短絡等）が挙げられる。このような場合、不具合をもつ各ビット線１３、１４に対応するビットが常に同じ論理値（「０」または「１」）になってしまった場合に、この２ビットが異なる値のアドレスには正しくアクセスできない（以下、この場合を「アドレスバス不具合ｃａｓｅ３」という。）。
【００４２】
この他には、一定のビット数（２ビット以上）だけ離れたアドレスビット線同士の干渉（電磁干渉等）が起きている場合が挙げられる。
【００４３】
次に、「アドレスバス不具合ｃａｓｅ１」、「アドレスバス不具合ｃａｓｅ２」を検出する場合のアルゴリズムについて、図３に示すフローチャート図を用いて説明する。この接続検査の処理においては、デバイス４との接続用インターフェースを経由してアドレスバスの接続確認用プログラムを実行する。つまり、図３に説明するアルゴリズムに従って接続確認用プログラムを予め作成しておいて、接続検査装置１からＪＴＡＧ経由で該プログラムが実行される。
【００４４】
尚、以下の説明において、データバスには何ら不具合がないことが確認されているものとする（データバスの接続状態の検査については後述する。）。また、以下では理解し易いように正論理として説明するが、負論理の場合にも同様の処理を適用できることは勿論である。
【００４５】
処理手順としては、例えば、次のようなステップで実行される。
【００４６】
（Ｓ１）アドレス［０］へのデータ［ａ］の書き込み
（Ｓ２）アドレス[Ｐ（ｎ）]へのデータ［ｂ］の書き込み
（Ｓ３）アドレス［０］からのデータ読み出し
（Ｓ４）「データ＝［ａ］？」の条件判断（データが［ａ］である場合に（Ｓ５）に進み、データが［ａ］でない場合に（Ｓ６）に進む。）
（Ｓ５）アドレスバスｂｉｔ  ｎの接続ＯＫ（正しい接続）
（Ｓ６）アドレスバスｂｉｔ  ｎの接続ＮＧ（接続の不具合）。
【００４７】
先ず、上記プログラムの実行が開始されると、（Ｓ１）に進んで、特定のアドレス、例えば、アドレス［０］（０番地）にデータ［ａ］を書き込む。尚、データ［ａ］は事前に決めた値を示す（任意の値で良い。）。
【００４８】
次ステップ（Ｓ２）では、アドレス[Ｐ（ｎ）]にデータ［ｂ］を書き込む。このデータ［ｂ］は任意の値でよいが、データ［ａ］とは異なる値でなければいけない（図３の破線枠内「ａ≠ｂ」参照。）。また、アドレス[Ｐ（ｎ）]は、接続確認をしたいビット（例えば、「ｂｉｔ  ｎ」とする。）が「１」で、残りのビットはすべて「０」である（図３の破線枠内を参照。）。
【００４９】
次ステップ（Ｓ３）に進み、アドレス［０］からデータを読み出した後、ステップ（Ｓ４）に進んで、読み出されたデータが［ａ］であるかどうか（「データ＝［ａ］？」）の判断を行う。そして、「データ＝［ａ］」である場合（真）にはステップ（Ｓ５）に進むが、「データ＝［ａ］」でない場合（偽）にはステップ（Ｓ６）に進む。
【００５０】
ステップ（Ｓ５）では、「アドレスバスｂｉｔ  ｎ接続ＯＫ」、つまり、アドレスバスのｂｉｔ  ｎに「アドレスバス不具合ｃａｓｅ１」及び「アドレスバス不具合ｃａｓｅ２」がないと判断した後で、処理を終了する。
【００５１】
他方、ステップ（Ｓ６）では、「アドレスバスｂｉｔ  ｎ接続ＮＧ」、つまり、アドレスバスのｂｉｔ  ｎに「アドレスバス不具合ｃａｓｅ１」又は「アドレスバス不具合ｃａｓｅ２」があると判断した後で、処理を終了する。
【００５２】
このような一連の処理（Ｓ１）乃至（Ｓ６）を、全てのアドレスバスのビットについて繰り返すこと（即ち、ステップ（Ｓ２）においてアドレス[Ｐ（ｎ）]のｎ値を変えて「１」の位置をずらしたアドレスにデータ［ｂ］を書き込むこと）によって、それぞれのアドレスバスが正しく接続されているか否かが判明する。
【００５３】
図４は、「アドレスバス不具合ｃａｓｅ１」及び「アドレスバス不具合ｃａｓｅ２」を検出する場合に、実際に行われるメモリアクセスについての説明図である。尚、図中に示す「＊[]」はアドレスポインタの値を示し、［］内の「Ｐ（ｎ）」や「０ｘ０」（１６進０番地）がアドレスを示している。また、「ａ」や「ｂ」の右脇の括弧内に示す「ＯＫ」は上記「アドレスバスｂｉｔ  ｎ接続ＯＫ」を意味し、「ＮＧ」は上記「アドレスバスｂｉｔ  ｎ接続ＮＧ」を意味する。
【００５４】
先ず、「アドレスバス不具合ｃａｓｅ１」、「アドレスバス不具合ｃａｓｅ２」がない場合（正常状態）には、下記のようになる。
【００５５】
・上記（Ｓ１）でアドレス［０］にデータ［ａ］が書き込まれる（矢印Ａ参照）
・上記（Ｓ２）でアドレス[Ｐ（ｎ）]にデータ［ｂ］が書きこまれる（矢印Ｂ参照）
・上記（Ｓ３）でアドレス［０］からデータが読み出される。即ち、データ［ａ］が読み出され、上記（Ｓ４）から（Ｓ５）に進み、「アドレスバスｂｉｔ  ｎ接続ＯＫ」と判断される。
【００５６】
次に、「アドレスバス不具合ｃａｓｅ１」が発生した場合（アドレスバスにおけるｎ番目のビット線「ｂｉｔ  ｎ」がＧＮＤ線に接触しているものとする。）には、下記のようになる。
【００５７】
・上記（Ｓ１）でアドレス［０］にデータ［ａ］が書き込まれる（矢印Ａ参照）
・上記（Ｓ２）では、本来アドレス[Ｐ（ｎ）]にデータ［ｂ］が書き込まれる筈であるが、ｎ番目のビット線がＧＮＤ線との接触によって「０」を示すため、実際にはアドレス［０］にデータ［ｂ］が上書きで書き込まれる（矢印β参照）
・上記（Ｓ３）ではアドレス［０］からデータが読み出される。即ち、上書き後のデータ［ｂ］が読み出され、これはデータ［ａ］でないので上記（Ｓ４）から（Ｓ６）に進み、「アドレスバスｂｉｔ  ｎ接続ＮＧ」と判断される。
【００５８】
このように、アドレス［０］に書き込まれるべきデータ［ａ］がデータ［ｂ］によって上書きされてしまうことを利用して不具合の発生を検出することができる。
【００５９】
また、「アドレスバス不具合ｃａｓｅ２」が発生した場合（アドレスバスにおけるｎ番目のビット線「ｂｉｔ  ｎ」が正電圧電源線に接触しているものとする。）には、下記のようになる。
【００６０】
・上記（Ｓ１）では本来アドレス［０］にデータ［ａ］が書き込まれる筈であるが、ｎ番目のビット線が電源線との接触によって「１」を示すため、実際にはアドレス[Ｐ（ｎ）]にデータ［ａ］が書き込まれる（矢印α参照）
・上記（Ｓ２）ではアドレス[Ｐ（ｎ）]にデータ［ｂ］が上書きで書き込まれる（矢印Ｂ参照）
・上記（Ｓ３）ではアドレス［０］ではなく、実際にはアドレス[Ｐ（ｎ）]からデータが読み出される。即ち、データ［ｂ］が読み出され、データ［ａ］でないので上記（Ｓ４）から（Ｓ６）に進み、「アドレスバスｂｉｔ  ｎ接続ＮＧ」と判断される。
【００６１】
このように、アドレス［０］の読み出し時に、誤ったアドレス[Ｐ（ｎ）]からデータ［ｂ］が読み出されることを利用して不具合の発生を検出することができる。
【００６２】
上記した手順についてのプログラム処理をまとめると、最初に指定する第一のアドレスを０番地（又は最大番地）として下記（１）乃至（３）のようになる。
【００６３】
（１）第一のアドレスに予め決められた第一のデータ［ａ］を書き込む処理ステップ
（２）一本のアドレスビット線だけが所定の論理値を示しかつ当該アドレスビット線以外がその否定論理値を示す第二のアドレス[Ｐ（ｎ）]に第一のデータ［ａ］とは異なる値の第二のデータ［ｂ］を書き込む処理ステップ
（３）第一のアドレスからデータを読み出して、該データが第一のデータ［ａ］に一致するか否かを判断して、両データの不一致時にアドレスビット線とグランド線又は電源線との接触又は干渉が起きていることを判定する処理ステップ。
【００６４】
これによれば、（３）において「アドレスバス不具合ｃａｓｅ１」又は「アドレスバス不具合ｃａｓｅ１」のいずれかが発生しているかどうかを知ることができる（但し、そのどちらかを特定するためにはさらに調べる必要がある。）。また、どのアドレスビットに不具合が起きているかを特定することができる。
【００６５】
次に、上記「アドレスバス不具合ｃａｓｅ３」について、アドレスバスのあるビット線（ｂｉｔ  ｎ）が隣のビット線（ｂｉｔ  ｎ＋１）に接触している場合を例にして説明する。尚、このような場合、隣り合う各ビット線に対応するビット値が常に同じ論理値（「０」又は「１」）になってしまうことになる（この２ビット（隣接ビット）が異なる値をもつアドレスへの正しいアクセスができなくなる。）。
【００６６】
「アドレスバス不具合ｃａｓｅ３」の検出に係るアルゴリズムについて、図５に示すフローチャート図を用いて説明する。尚、図５に説明するアルゴリズムに従って接続確認用プログラムを予め作成しておいて、接続検査装置１からＪＴＡＧ経由で該プログラムを実行する。
【００６７】
図５では、次のようなステップで実行される。
【００６８】
（Ｓ１１）アドレス[Ｐ（ｎ）]へのデータ［ａ］の書き込み
（Ｓ１２）アドレス[Ｐ（ｎ＋１）]へのデータ［ｂ］の書き込み
（Ｓ１３）アドレス[Ｐ（ｎ）]からのデータ読み出し
（Ｓ１４）「データ＝［ａ］？」の条件判断（データが［ａ］である場合に（Ｓ１５）に進み、データが［ａ］でない場合に（Ｓ１６）に進む。）
（Ｓ１５）アドレスバスｂｉｔ  ｎ，ｎ＋１接続ＯＫ（正しい接続）
（Ｓ１６）アドレスバスｂｉｔ  ｎ，ｎ＋１接続ＮＧ（接続の不具合）。
【００６９】
先ず、プログラムの実行が開始されると、（Ｓ１１）に進んで、アドレス[Ｐ（ｎ）]にデータ［ａ］を書き込む（データ［ａ］は任意の値で良い。）。
【００７０】
次ステップ（Ｓ１２）では、アドレス[Ｐ（ｎ＋１）]にデータ［ｂ］書き込む（データ［ｂ］は任意の値でよいが、データ［ａ］とは異なる値でなければいけない。）。尚、アドレス[Ｐ（ｎ）]は、接続確認をしたいビット（ｂｉｔ  ｎとする。）のみ「１」で、残りのビットは全て「０」である。また、アドレス[Ｐ（ｎ＋１）]は、ｂｉｔ  ｎに隣り合うビット（これを「ｂｉｔ  ｎ＋１」とする。）のみ「１」で、残りのビットは全て「０」である。
【００７１】
次ステップ（Ｓ１３）に、アドレス[Ｐ（ｎ）]からデータを読み出す。そして、ステップ（Ｓ１４）に進み、読み出されたデータが［ａ］であるかどうか（「データ＝［ａ］？」）の判断を行う。「データ＝［ａ］」である場合（真）にはステップ（Ｓ１５）に進むが、「データ＝［ａ］」でない場合（偽）にはステップ（Ｓ１６）に進む。
【００７２】
ステップ（Ｓ１５）では、「アドレスバスｂｉｔ  ｎ，ｎ＋１接続ＯＫ」、つまり、アドレスバスにおいてｂｉｔ  ｎとｂｉｔ  ｎ＋１の間に「アドレスバス不具合ｃａｓｅ３」がないと判断した後で、処理を終了する。
【００７３】
他方、ステップ（Ｓ１６）では、「アドレスバスｂｉｔ  ｎ，ｎ＋１接続ＮＧ」、つまり、アドレスバスにおいてｂｉｔ  ｎとｂｉｔ  ｎ＋１の間に「アドレスバス不具合ｃａｓｅ３」があると判断した後で、処理を終了する。
【００７４】
このような処理（Ｓ１１）乃至（Ｓ１６）を、全ての隣り合うアドレスバスのビットについて繰り返すこと（即ち、ステップ（Ｓ１１）乃至（Ｓ１３）においてアドレス[Ｐ（ｎ）]のｎ値を変えて「１」の位置を順次にずらす処理を行う。）によって、それぞれのアドレスバスが正しく接続されているか否かが判明する。
【００７５】
図６は、「アドレスバス不具合ｃａｓｅ３」を検出する場合に、実際に行われるメモリアクセスについての説明図である。尚、図中に示す「＊[]」や、[]内の「Ｐ（ｎ）」、「Ｐ（ｎ＋１）」は既述の通りである。また、「ａ」や「ｂ」の右脇の括弧内に示す「ＯＫ」は上記「アドレスバスｂｉｔ  ｎ，ｎ＋１接続ＯＫ」を意味し、「ＮＧ」は上記「アドレスバスｂｉｔ  ｎ，ｎ＋１接続ＮＧ」を意味する。
【００７６】
先ず、「アドレスバス不具合ｃａｓｅ３」がない場合には、下記のようになる。
【００７７】
・上記Ｓ（１１）でアドレス[Ｐ（ｎ）]にデータ［ａ］が書き込まれる（矢印Ａ参照）
・上記Ｓ（１２）でアドレス[Ｐ（ｎ＋１）]にデータ［ｂ］が書き込まれる（矢印Ｂ参照）
・上記Ｓ（１３）ではアドレス[Ｐ（ｎ）]からデータが読み出される。即ち、データ［ａ］が読み出され、（Ｓ１４）から（Ｓ１５）に進み、「アドレスバスｂｉｔ  ｎ，ｎ＋１接続ＯＫ」と判断される。
【００７８】
また、「アドレスバス不具合ｃａｓｅ３」が発生した場合（アドレスバスのｎビット目と「ｎ＋１」ビット目が接触しているものとする。）には、下記のようになる。
【００７９】
・上記（Ｓ１１）では、アドレスバスドライブ能力に応じたデータ書き込みが行われる。つまり、アドレス信号のＬレベルがＨレベルよりも優位とされる場合（Ｌｏｗ＞Ｈｉｇｈ）には、本来の書き込むべきＰ（ｎ）ではなく、アドレス［０］にデータ［ａ］が書き込まれる（矢印αL参照）。また、アドレス信号のＨレベルがＬレベルよりも優位とされる場合（Ｌｏｗ＜Ｈｉｇｈ）には、アドレス[Ｐ（ｎ）｜｜Ｐ（ｎ＋１）]（「｜｜」は論理和演算子を表す。）にデータ［ａ］が書き込まれる（矢印αH参照）。
【００８０】
・上記（Ｓ１２）では、アドレスバスドライブ能力に応じたデータ書き込みが行われる。つまり、アドレス信号のＬレベルがＨレベルよりも優位とされる場合（Ｌｏｗ＞Ｈｉｇｈ）には、本来の書き込むべきＰ（ｎ＋１）ではなく、アドレス［０］にデータ［ｂ］が上書きで書き込まれる（矢印βL参照）。また、アドレス信号のＨレベルがＬレベルよりも優位とされる場合（Ｌｏｗ＜Ｈｉｇｈ）には、アドレス[Ｐ（ｎ）｜｜Ｐ（ｎ＋１）]にデータ［ｂ］が上書きで書き込まれる（矢印βH参照）。
【００８１】
・上記（Ｓ１３）では、上記「Ｌｏｗ＞Ｈｉｇｈ」の場合にアドレス［０］からデータが読み出されるが、上記「Ｌｏｗ＜Ｈｉｇｈ」の場合にはアドレス[Ｐ（ｎ）｜｜Ｐ（ｎ＋１）]からデータが読み出される。従って、いずれの場合でも、データ［ｂ］が読み出され、データ［ａ］でないので上記（Ｓ１４）から（Ｓ１６）に進み、「アドレスバスｂｉｔ  ｎ，ｎ＋１接続ＮＧ」と判断される。
【００８２】
このように、本来の書き込むべきアドレスＰ（ｎ）やＰ（ｎ＋１）以外のアドレスにデータ［ａ］が書き込まれ、さらにこれがデータ［ｂ］に上書きされることを利用して不具合の発生を検出することができる。
【００８３】
上記した手順についてのプログラム処理をまとめると、下記（１）乃至（３）のようになる。
【００８４】
（１）一本のアドレスビット線だけが所定の論理値を示しかつ当該アドレスビット線以外がその否定論理値を示す第一のアドレス[Ｐ（ｎ）]に予め決められた第一のデータ［ａ］を書き込む処理ステップ
（２）上記アドレスビット線に隣り合うビット線のみが上記所定の論理値を示し当該ビット線以外がその否定論理値を示す第二のアドレス[Ｐ（ｎ＋１）]に、第一のデータとは異なる値の第二のデータ［ｂ］を書き込む処理ステップ
（３）第一のアドレス[Ｐ（ｎ）]からデータを読み出して、該データが第一のデータ［ａ］に一致するか否かを判断して、両データの不一致時に隣り合うビット線同士の接触又は干渉が起きていることを判定する処理ステップ。
【００８５】
尚、本例の処理は、一定のビット数「ｋ」（ｋ＞１）をもって隔たった２つのビット線同士の干渉にも適用することができ、上記した（２）、（３）の内容を以下のように変更すれば良い。
【００８６】
（２）上記アドレスビット線から一定のビット数だけ離れたビット線のみが上記所定の論理値を示し当該ビット線以外がその否定論理値を示す第二のアドレス[Ｐ（ｎ＋ｋ）]に、第一のデータとは異なる値の第二のデータ［ｂ］を書き込む処理ステップ
（３）第一のアドレス[Ｐ（ｎ）]からデータを読み出して、該データが第一のデータ［ａ］に一致するか否かを判断して、両データの不一致時に、一定のビット数だけ離れたビット線同士の干渉が起きていることを判定する処理ステップ。
【００８７】
こうして、アドレスビット線間の短絡や干渉が起きているかどうかを知ることができ、また、どのアドレスビットに不具合が起きているかを特定することができる。
【００８８】
以上の説明から分かるように、デバイス４からデバイス５（図１参照）に対して、複数のアドレスを順次指定して該アドレス毎に異なるデータを書き込んだ後、最初に指定したアドレスのデータを読み出す。この時に、実際に読み出されたデータが、最初に指定したアドレスへのデータ書き込み時に指示したデータと異なるか否かを調べれば、アドレスバスの各ビット線の接続状態を確認することができる。
【００８９】
つまり、「アドレスバス不具合ｃａｓｅ１」や「アドレスバス不具合ｃａｓｅ２」の場合には、最初の指定アドレス［０］からデータを読み出し、該データが予期されるデータ［ａ］に一致するか否かを判断し、データ［ａ］から別のデータ［ｂ］に書き換わっていれば、アドレスビット線とグランド線又は電源線との接触又は干渉が起きていると判定する。
【００９０】
また、「アドレスバス不具合ｃａｓｅ３」の場合には、最初の指定アドレス[Ｐ（ｎ）]からデータを読み出して、該データが予期される第一のデータ［ａ］に一致するか否かを判断し、データ［ａ］から別のデータ［ｂ］に書き換わっていれば、隣り合うビット線同士の接触若しくは干渉が起きていると判定し、あるいは一定のビット数だけ離れたビット線同士の干渉が起きていると判定する。
【００９１】
尚、上記の説明では、データバスに不具合が起きていない場合を想定したが、データバスのビット線に不具合が生じた場合には、例えば、上記データ［ａ］、［ｂ］以外のデータが読み出されることで、ある程度の不具合を検出することはできる。しかし、確率は極度に低いが、例えば、データ［ｂ］が誤ってデータ［ａ］と書き込まれた場合には、アドレスバスの接続状態としては本来正しくないにも関わらず、データバスの不具合によってアドレス不具合ｃａｓｅ１乃至３が起きていないと誤判断されてしまう危険性が残る。
【００９２】
以下では、そのような弊害を防止するために、データバスに起き得る不具合の検出について説明する。
【００９３】
データバスの不具合に関して、以下に示す状況が挙げられる（図２参照。但し、各信号線（水平線）がデータバスのビット線を示すものとする。）。
【００９４】
（Ａ）ビット線とグランド（ＧＮＤ）線との接触又は干渉（図２の「ｃａｓｅ１」参照）
（Ｂ）ビット線と電源線との接触又は干渉（図２の「ｃａｓｅ２」参照）
（Ｃ）隣接するビット線同士の接触又は干渉（図２の「ｃａｓｅ３」参照）。
【００９５】
先ず、上記（Ａ）では、データバスにおいて、あるビット線１１がＧＮＤ線に接触している場合が挙げられる。例えば、データの不具合ビット線１１に対応するビットが常に「０」になってしまうために、当該ビットが「１」であるデータは正しくアクセスできない（以下では、この場合を「データバス不具合ｃａｓｅ１」という。）。
【００９６】
また、上記（Ｂ）では、データバスにおいて、あるビット線１２が正電圧電源線に接触している場合が挙げられる。例えば、データの不具合ビット線１２に対応するビットが常に「１」になってしまうために、当該ビットが「０」であるデータは正しくアクセスできない（以下、この場合を「データバス不具合ｃａｓｅ２」という。）。
【００９７】
上記（Ｃ）では、データバスにおいて、あるビット線１３が隣のビット線１４に接触している場合が挙げられる。例えば、データの不具合ビット線１３、１４に対応するビットが常に同じ値（「０」または「１」）になってしまうために、当該２ビットが異なる値のデータを正しくアクセスできない（以下、この場合を「データバス不具合ｃａｓｅ３」という。）。
【００９８】
データバスの接続状態の検査では、アドレスを指定して予め決められたデータを書き込んだ後、該アドレスのデータを読み出す。この時、実際に読み出されたデータが、当該アドレスへの書き込み時に指示したデータと異なるか否かを調べることによって、データバスの各ビット線の接続状態を確認することができる。
【００９９】
先ず、上記（Ａ）について説明する。
【０１００】
図７は、「データバス不具合ｃａｓｅ１」の検出に係るアルゴリズムについて説明するためのフローチャート図である。尚、図７に説明するアルゴリズムに従って接続確認用プログラムを予め作成しておいて、接続検査装置１からＪＴＡＧ経由で該プログラムを実行する。
【０１０１】
処理手順としては、例えば、次のようなステップで実行される。
【０１０２】
（Ｓ２１）アドレス［ａ］へのデータ［０ｘＦＦ．．ＦＦ］の書き込み
（Ｓ２２）アドレス［ａ］からのデータ読み出し
（Ｓ２３）「データ＝［０ｘＦＦ．．ＦＦ］？」の条件判断（データが［０ｘＦＦ．．ＦＦ］である場合に（Ｓ２４）に進み、データが［０ｘＦＦ．．ＦＦ］でない場合に（Ｓ２５）に進む。）
（Ｓ２４）データバス接続ＯＫ（正しい接続）
（Ｓ２５）データバス接続ＮＧ（接続の不具合）。
【０１０３】
先ず、プログラムの実行が開始されると、（Ｓ２１）に進んで、アドレス［ａ］にデータ［０ｘＦＦ．．ＦＦ］（全データビットが「１」の値を示す。「．．」は途中の１６進「Ｆ」の省略を意味する。）を書き込む。尚、アドレス［ａ］については任意の値で良い。
【０１０４】
次ステップ（Ｓ２２）でアドレス［ａ］からデータを読み出した後、次ステップ（Ｓ２３）では、読み出されたデータが［０ｘＦＦ．．ＦＦ］であるかどうか（「データ＝［０ｘＦＦ．．ＦＦ］？」）について判断する。そして、該データが［０ｘＦＦ．．ＦＦ］である場合には、（Ｓ２４）に進み、該データが［０ｘＦＦ．．ＦＦ］でない場合には、（Ｓ２５）に進む。
【０１０５】
（Ｓ２４）では「データバス接続ＯＫ」、即ち、データバスの全てのビット線に「データバス不具合ｃａｓｅ１」がないと判断した後、処理を終了する。
【０１０６】
また、（Ｓ２５）では「データバス接続ＮＧ」、即ち、データバスのいずれかのビット線に「データバス不具合ｃａｓｅ１」があると判断した後、処理を終了する。この場合、読み出されたデータのビットが「０」になっているところに対応するビット線が、「データバス不具合ｃａｓｅ１」の起きているビット線である（当該ビット線でＧＮＤ線に接触してＬレベルとなっている。）。
【０１０７】
このような処理（Ｓ２１）乃至（Ｓ２５）を１回行うだけで、データバスが正しく接続されているか否か及び正しくない場合にはそのビット線の位置が判明する。
【０１０８】
「データバス不具合ｃａｓｅ１」を検出する場合、以下のようなメモリアクセスが行われる。
【０１０９】
先ず、「データバス不具合ｃａｓｅ１」がない場合には、下記のようになる。
【０１１０】
・上記（Ｓ２１）でアドレス［ａ］にデータ［０ｘＦＦ．．ＦＦ］が書き込まれる
・上記（Ｓ２２）でアドレス［ａ］からデータ［０ｘＦＦ．．ＦＦ］が読み出される。よって、上記（Ｓ２３）から（Ｓ２４）に進み、「データバス接続ＯＫ」と判断される。
【０１１１】
また、「データバス不具合ｃａｓｅ１」が発生した場合（データバスのビット線ｂｉｔ  ｎがＧＮＤ線に接触しているものとする。）には、下記のようになる。
【０１１２】
・上記（Ｓ２１）ではアドレス［ａ］にデータ[ｎｏｔ Ｐ（ｎ）]（「ｎｏｔ」は論理否定演算子を示し、ｎは「データバス不具合ｃａｓｅ１」のあるビットを示す。つまり、ｎビット目が「０」で、それ以外が「１」のデータである。）が書き込まれる
・上記（Ｓ２２）ではアドレス［ａ］からデータ[ｎｏｔ Ｐ（ｎ）]が読み出される。よって、これはデータ＝［０ｘＦＦ．．ＦＦ］」でないので、（Ｓ２３）から（Ｓ２５）に進み、「データバス接続ＮＧ」と判断される。つまり、「０」を示す位置、ｎビット目において不具合が検出される。
【０１１３】
上記したプログラム処理についてまとめると下記のようになる。
【０１１４】
（１）指定された任意のアドレスに対して、全ビット線が論理値「１」を示すデータを書き込む処理ステップ
（２）指定アドレスからデータを読み出して、該データが書き込み時に指定されたデータに一致するか否かを判断して、両データの不一致時にデータバスのうち論理値「０」を示すビット線とグランド線との接触又は干渉が起きていることを判定する処理ステップ。
【０１１５】
次に、上記（Ｂ）について説明する。
【０１１６】
図８は「データバス不具合ｃａｓｅ２」の検出に係るアルゴリズムについて説明するためのフローチャート図であり、本アルゴリズムに従って接続確認用プログラムを予め作成しておいて、接続検査装置１からＪＴＡＧ経由で該プログラムを実行する。
【０１１７】
本例では、次のようなステップで実行される。
【０１１８】
（Ｓ３１）アドレス［ａ］へのデータ［０］の書き込み
（Ｓ３２）アドレス［ａ］からのデータ読み出し
（Ｓ３３）「データ＝［０］？」の条件判断（データが［０］である場合に（Ｓ３４）に進み、データが［０］でない場合に（Ｓ３５）に進む。）
（Ｓ３４）データバス接続ＯＫ（正しい接続）
（Ｓ３５）データバス接続ＮＧ（接続の不具合）。
【０１１９】
先ず、プログラムの実行が開始されると、（Ｓ３１）に進み、アドレス［ａ］にデータ［０］を書き込む（アドレス［ａ］は任意の値で良い。）。
【０１２０】
次ステップ（Ｓ３２）でアドレス［ａ］からデータを読み出した後、（Ｓ３３）に進んで、読み出されたデータが［０］であるかどうか（「データ＝［０］？」）を判断する。そして、該データが［０］である場合は（Ｓ３４）に進み、該データが［０］でない場合には（Ｓ３５）に進む。
【０１２１】
（Ｓ３４）では、「データバス接続ＯＫ」、即ち、データバスの全てのビット線に「データバス不具合ｃａｓｅ２」がないと判断した後、処理を終了する。
【０１２２】
また、（Ｓ３５）では、「データバス接続ＮＧ」、即ち、データバスのいずれかのビット線に「データバス不具合ｃａｓｅ２」があると判断した後、処理を終了する。この場合、読み出されたデータのビットが「１」になっているところに対応するビット線が「データバス不具合ｃａｓｅ２」があるビット線である（当該ビット線で電源線に接触してＨレベルとなっている。）。
【０１２３】
このような処理（Ｓ３１）乃至（Ｓ３５）を１回行うだけで、データバスが正しく接続されているか否か及び正しくない場合にはそのビット線が判明する。
【０１２４】
「データバス不具合ｃａｓｅ２」を検出する場合、以下のようなメモリアクセスが行われる。
【０１２５】
先ず、「データバス不具合ｃａｓｅ２」がない場合には、下記のようになる。
【０１２６】
・上記（Ｓ３１）でアドレス［ａ］にデータ［０］が書き込まれる
・上記（Ｓ３２）でアドレス［ａ］からデータ［０］が読み出される。よって、上記（Ｓ３３）から（Ｓ３４）に進み、「データバス接続ＯＫ」と判断される。
【０１２７】
また、「データバス不具合ｃａｓｅ２」が発生した場合（データバスのビット線（ｂｉｔ  ｎ）が正電圧電源線に接触しているものとする。）には、下記のようになる。
【０１２８】
・上記（Ｓ３１）ではアドレス［ａ］にデータ[Ｐ（ｎ）]（ｎは「データバス不具合ｃａｓｅ２」のあるビットを示す。）が書き込まれる
・上記（Ｓ３２）ではアドレス［ａ］からデータ[Ｐ（ｎ）]が読み出される。よって、これはデータ［０］でないので、上記（Ｓ３３）から（Ｓ３５）に進み、「データバス接続ＮＧ」と判断される。
【０１２９】
上記したプログラム処理についてまとめると下記のようになる。
【０１３０】
（１）指定された任意のアドレスに対して、全ビット線が論理値「０」を示すデータを書き込む処理ステップ
（２）指定アドレスからデータを読み出して、該データが書き込み時に指定されたデータに一致するか否かを判断して、両データの不一致時にデータバスのうち論理値「１」を示すビット線と電源線との接触又は干渉が起きていることを判定する処理ステップ。
【０１３１】
次に上記（Ｃ）について説明する。
【０１３２】
図９は「データバス不具合ｃａｓｅ３」の検出に係るアルゴリズムについて説明するためのフローチャート図であり、本アルゴリズムに従って接続確認用プログラムを予め作成しておいて、接続検査装置１からＪＴＡＧ経由で該プログラムを実行する。
【０１３３】
処理手順としては、次のようなステップで実行される。
【０１３４】
（Ｓ４１）アドレス［ａ］へのデータ[Ｐ（ｎ）]の書き込み
（Ｓ４２）アドレス［ａ］からのデータ読み出し
（Ｓ４３）「データ＝[Ｐ（ｎ）]？」の条件判断（データが[Ｐ（ｎ）]である場合に（Ｓ４４）に進み、データが[Ｐ（ｎ）]でない場合に（Ｓ４５）に進む。）
（Ｓ４４）データバスｂｉｔ  ｎ，ｎ＋１接続ＯＫ（正しい接続）
（Ｓ４５）データバスｂｉｔ  ｎ，ｎ＋１接続ＮＧ（接続の不具合）。
【０１３５】
先ず、プログラムの実行が開始されると、（Ｓ４１）に進み、アドレス［ａ］にデータ[Ｐ（ｎ）]を書き込む（データ［ａ］は任意の値で良い。）。尚、データ[Ｐ（ｎ）]は、接続確認をしたいビット（ｂｉｔ  ｎとする）のみ「１」で、残りのビットは全て「０」である。
【０１３６】
次ステップ（Ｓ４２）でアドレス［ａ］からデータを読み出した後、（Ｓ４３）に進んで、読み出されたデータがＰ（ｎ）であるかどうか（「データ＝[Ｐ（ｎ）]？」）を判断する。そして、該データが[Ｐ（ｎ）]である場合には（Ｓ４４）に進み、該データが[Ｐ（ｎ）]でない場合には（Ｓ４５）に進む。
【０１３７】
（Ｓ４４）では、「データバスｂｉｔ  ｎ，ｎ＋１接続ＯＫ」、即ち、データバスにおいて隣接するｂｉｔ  ｎとｂｉｔ  ｎ＋１との間に「データバス不具合ｃａｓｅ３」がないと判断した後、処理を終了する。
【０１３８】
また、（Ｓ４５）では、「データバスｂｉｔ  ｎ，ｎ＋１接続ＮＧ」、即ち、データバスにおいて隣接するｂｉｔ  ｎとｂｉｔ  ｎ＋１との間に「データバス不具合ｃａｓｅ３」があると判断した後、処理を終了する。
【０１３９】
このような処理（Ｓ４１）乃至（Ｓ４５）を、全ての隣り合うデータビットについて繰り返すことによって、データバスが正しく接続されているか否かが判明する。
【０１４０】
「データバス不具合ｃａｓｅ３」を検出する場合に、以下のようなメモリアクセスが行われる。
【０１４１】
先ず、「データバス不具合ｃａｓｅ３」がない場合には、下記のようになる。
【０１４２】
・上記（Ｓ４１）でアドレス［ａ］にデータ[Ｐ（ｎ）]が書き込まれる
、・上記（Ｓ４２）でアドレス［ａ］からデータが読み出される。つまり、データ[Ｐ（ｎ）]が読み出されるので、上記（Ｓ４３）から（Ｓ４４）に進み、「データバスｂｉｔ  ｎ接続ＯＫ」と判断される。
【０１４３】
また、「データバス不具合ｃａｓｅ３」が発生した場合（データバスのｎビット目と「ｎ＋１」ビット目が接触しているものとする。）には、下記のようになる。
【０１４４】
・上記（Ｓ４１）ではデータバスドライブ能力に応じてデータ書き込みが行われる。つまり、ＬレベルがＨレベルより優位の場合（Ｌｏｗ＞Ｈｉｇｈ）には、アドレス［ａ］にデータ［０］が書き込まれ、また、ＨレベルがＬレベルよりも優位の場合（Ｌｏｗ＜Ｈｉｇｈ）にはアドレス［ａ］にデータ[Ｐ（ｎ）｜｜Ｐ（ｎ＋１）]（「｜｜」は論理和演算子を示す。）が書き込まれる
・上記（Ｓ４２）では上記「Ｌｏｗ＞Ｈｉｇｈ」の場合に、アドレス［ａ］からデータ［０］が読み出され、また、上記「Ｌｏｗ＜Ｈｉｇｈ」の場合には、アドレス［ａ］からデータ[Ｐ（ｎ）｜｜Ｐ（ｎ＋１）]が読み出される。よって、これらのデータは[Ｐ（ｎ）]」でないので、上記（Ｓ４３）から（Ｓ４５）に進み、「データバスｂｉｔ  ｎ，ｎ＋１接続ＮＧ」と判断される。
【０１４５】
上記したプログラム処理についてまとめると下記のようになる。
【０１４６】
（１）指定された任意のアドレスに対して、あるデータビット線だけが所定の論理値を示しかつ当該ビット線以外がその否定論理値を示すデータを書き込む処理ステップ
（２）指定アドレスからデータを読み出して、該データが書き込み時に指定されたデータに一致するか否かを判断して、両データの不一致時にデータバスの隣り合うビット線同士の接触若しくは干渉又は距離を置いた異なるビット線同士の相互干渉が起きていることを判定する処理ステップ。
【０１４７】
尚、（２）において両データの不一致時の原因としては、データバスの隣り合うビット線同士の接触や干渉の他、一定の距離を隔てたビット線同士の干渉（電磁干渉等）が挙げられる（但し、それらの特定にはさらに調査が必要である。）。
【０１４８】
以上（Ａ）乃至（Ｃ）の処理において、アドレスバス不具合ｃａｓｅ１乃至３が起きている場合には、指定したアドレスとは異なるアドレスについてデータ書き込みや読み出しが行われるだけであり、データバス不具合ｃａｓｅ１乃至３の判定結果には影響しない。
【０１４９】
従って、バスラインの接続状態のチェックにおいては、先ず、上記した（Ａ）乃至（Ｃ）の処理手順に従うデータバスの接続状態をチェックし、その全ビット線について正しい接続状態、即ち、データバス不具合ｃａｓｅ１乃至３がないことが確認された後で、前記した処理手順に従ってアドレスバスの接続状態をチェックすることが作業の正確さを期す上で望ましい。
【０１５０】
また、データバスの接続状態をチェックした結果、データバス不具合ｃａｓｅ１乃至３のいずれかが発覚したデータビット線の存在を前提にして、前記した処理手順に従ってアドレスバスの接続状態をチェックする場合には、データビット線の不具合の影響を受けないように、上記アドレスバスチェック時に用いるデータ［ａ］や［ｂ］の値を適切に選定する必要がある。
【０１５１】
例えば、データバスのｍビット目にデータバス不具合ｃａｓｅ１が見つかった場合には、上記データ［ａ］や［ｂ］として、それらのｍビット目が「０」である値を選ぶ。こうすれば、データバス不具合ｃａｓｅ１の影響を無視できる（データ［ａ］や［ｂ］の値は変わらない。）。同様にして、データバスのｍビット目にデータバス不具合ｃａｓｅ２が見つかった場合には、上記データ［ａ］や［ｂ］として、それらのｍビット目が「１」である値を選べば良く、データバスのｍビット目にデータバス不具合ｃａｓｅ３が見つかった場合には、上記データ［ａ］や［ｂ］として、データバスドライブ能力に応じて、それらのｍビット目が「０」又は「１」である値を選べば良いことが分かる。尚、この方法はデータバス不具合ｃａｓｅ１乃至３が複合された状況について一般化することもできるが、詳細な説明は省略する（説明が徒らに複雑化するだけで益が少ないこと及び実際上の起きる不具合の発生確率が非常に低いこと等の理由に依る。）。
【０１５２】
上記に説明した構成によれば、下記に示す利点が得られる。
【０１５３】
・例えば、ＪＴＡＧ等を用いてＣＰＵとメモリ間のバスラインの接続確認を容易に行うことができ、汎用性が高く、コストがかからない。つまり、一般的なコンピュータ機器と、ＪＴＡＧケーブル、解析用ソフトウェアを使用すれば良い。また、特殊な測定方法を用いる必要がなく、工数等を削減できる。
【０１５４】
・バスラインの接続状態について具体的にどのビット線に不具合があるかが判明するので、不具合があった場合の解析が容易である。また、不具合のあるビット線が、電源端子や電源線、ＧＮＤ線にショート（又は干渉）しているか、あるいは、隣り合うビット線同士がショート（又は干渉）しているのかが分かるので、不具合があった場合の解析が容易である。
【０１５５】
・接続確認時にビット線へのアクセスを必要最小限で行えるので、測定時間が短い。
【０１５６】
・メモリの無駄な読み書きを行わないので、アクセス回数に制限のあるデバイス（フラッシュメモリ等）への劣化を最小限に抑えることができる。
【０１５７】
・プログラム実行による自動測定に好適であり、測定時間が短く、人為的ミスが起こりにくい。
【０１５８】
・高速バスラインでも実際の使用時と同じ周波数で動作させた状態でチェックを行えるので、実際の使用時の状態に近い状態で動作確認を行うことができ、開発工数の削減に寄与する。
【０１５９】
・ＣＰＵやメモリがＢＧＡパッケージ等とされる場合、バスラインの端子に直接プローブを当てることができないが、上記構成を用いて接続確認を容易に行えるので、チェック漏れの箇所が減り、その結果、品質を高めることができる。また、接続確認のために特殊な装置を必要としないのでコスト低減に有効である。
【０１６０】
・バスラインにダンピング抵抗が入っていて普通のテスタでは導通確認ができない場合でも、バスとして正しく機能しているかどうかについて接続の確認を行えるので、チェック漏れの箇所が減り、その結果、品質を高めることができる。しかも、そのために特殊な装置を必要としないので、コスト低減に有効である。
【０１６１】
・測定結果（検査結果）をコンピュータ機器に保存できるので、不具合があった場合の解析が容易であり、また、品質管理が容易である。さらには、保存したデータをもとにして、傾向不良等の統計的な分析を容易に行うことができる。
【０１６２】
・アドレスバス及びデータバスについてそれぞれに接続状態を確認できるので、品質の向上に寄与し、工数削減が可能となる。
【０１６３】
・接続確認時に抜けや漏れがないので、品質の向上に繋がる。
【０１６４】
・接続確認に係るアルゴリズムが単純かつ明確であり、プログラム作成時の人為的ミスが起こり難いのでバグ等の発生が少なく、また、プログラム作成に要する工数や時間を短縮化できる。
【０１６５】
尚、本発明の適用において、前記した装置やこれに用いるプログラムに限らず、上記したバスライン接続確認の機能を有するプログラムを記録した情報記録媒体（情報処理機器に装着してそのプログラムをメモリロードできるようにした各種の記録媒体や記憶媒体）や、バスラインに係る接続状態の検査方法等に幅広く適用することができる。
【図面の簡単な説明】
【０１６６】
【図１】本発明に係る基本構成例を示す説明図である。
【図２】バスラインの不具合について説明するための図である。
【図３】アドレスバス不具合ｃａｓｅ１及びアドレスバス不具合ｃａｓｅ２に係る処理例について説明するためのフローチャート図である。
【図４】アドレスバス不具合ｃａｓｅ１及びアドレスバス不具合ｃａｓｅ２に関するメモリアクセスの説明図である。
【図５】アドレスバス不具合ｃａｓｅ３に係る処理例について説明するためのフローチャート図である。
【図６】アドレスバス不具合ｃａｓｅ３に関するメモリアクセスの説明図である。
【図７】データバス不具合ｃａｓｅ１に係る処理例について説明するためのフローチャート図である。
【図８】データバス不具合ｃａｓｅ２に係る処理例について説明するためのフローチャート図である。
【図９】データバス不具合ｃａｓｅ３に係る処理例について説明するためのフローチャート図である。
【符号の説明】
【０１６７】
１…接続検査装置、２…検査対象、４…第一のデバイス、５…第二のデバイス、６…バスライン、６Ａ…アドレスバス、６Ｄ…データバス、１１、１２、１３、１４…ビット線
【図１】
2005134290.tif 000003
【図２】
2005134290.tif 000004
【図３】
2005134290.tif 000005
【図４】
2005134290.tif 000006
【図５】
2005134290.tif 000007
【図６】
2005134290.tif 000008
【図７】
2005134290.tif 000009
【図８】
2005134290.tif 000010
【図９】
2005134290.tif 000011