(57)【特許請求の範囲】
【請求項１】
プリント基板に配置される機能変更可能な第１の集積回路デバイスの端子に配線で結線された機能変更できない第２の集積回路デバイスの端子の結線状態を判定するために、前記第１の集積回路デバイスに書き込んで動作させるプログラムであって、
前記第１の集積回路デバイスに、
複数のビット値からなる所定のパターンのデータ・シーケンスを予め記憶するステップと、
実速度以上の速度のクロックパルスを供給するステップと、
前記速度のクロックパルスで前記所定のパターンのデータ・シーケンスを前記第１の集積回路デバイスの１つの出力端子に供給するステップであって、それによって前記第２の集積回路デバイスの対応する１つの入力端子を介して前記第２の集積回路デバイスにデータ・シーケンスが供給されるようにするステップと、
前記所定のパターンのデータ・シーケンスの検査結果を表すフラグを前記第２の集積回路デバイスの端子から前記第１の集積回路デバイスの端子を介して受け取るステップと、
を実行させることを特徴とするプログラム。
【請求項２】
前記第２の集積回路デバイスは、
前記所定のパターンの比較用データ・シーケンスを予め記憶するステップと、
前記速度のクロックパルスを供給するステップと、
前記第２の集積回路デバイスの前記１つの入力端子を介して受け取ったデータ・シーケンスを前記比較用データ・シーケンスと比較するステップと、
前記受け取ったデータ・シーケンスと前記比較用データ・シーケンスとが一致した場合に、前記受け取ったデータ・シーケンスが前記比較用データ・シーケンスと一致したことを表すフラグを発生させるステップと、
を実行するものであることを特徴とする、請求項１に記載のプログラム。
【請求項３】
前記プログラムは、前記第１の集積回路デバイスに、
さらに、複数のビット値からなる別の所定のパターンのデータ・シーケンスを予め記憶するステップと、
前記第２の集積回路デバイスから、前記受け取ったデータ・シーケンスが前記比較用データ・シーケンスと一致したことを表すフラグを受け取ったとき、実速度より低い低速度のクロックパルスを供給するステップと、
前記第２の集積回路デバイスの前記１つの入力端子を介して前記第２の集積回路デバイスに１ビット・データが供給されるように、前記低速度のクロックパルスで、前記別の所定のパターンのデータ・シーケンスの中の或る１ビット・データを前記第１の集積回路デバイスの前記１つの出力端子に供給するステップと、
を実行させることを特徴とする、請求項２に記載のプログラム。
【請求項４】
前記第２の集積回路デバイスは、さらに、前記１つの入力端子を介して受け取って前記第２の集積回路デバイスの対応するレジスタに保持されている前記１ビット・データを前記低速度のクロックパルスでシフトして、前記第２の集積回路デバイスの１つの検査用出力端子に供給するステップを実行するものであることを特徴とする、請求項３に記載のプログラム。
【請求項５】
前記プログラムは、前記第１の集積回路デバイスに、
さらに、別の所定のパターンの別の比較用データ・シーケンスを予め記憶するステップと、
実速度より低い低速度のクロックパルスを供給するステップと、
前記第２の集積回路デバイスの検査用出力端子から、前記第１の集積回路デバイスの検査用入力端子を介して１ビット・データを受け取ったとき、前記１ビット・データを記憶手段に格納するステップと、
前記記憶手段に蓄積された複数のビット・データのデータ・シーケンスの長さが前記別の比較用データ・シーケンスの長さと同じになったとき、前記複数のビット・データのデータ・シーケンスと前記別の比較用データ・シーケンスとを比較するステップと、
前記複数のビット・データのデータ・シーケンスと前記別の比較用データ・シーケンスとが一致したかどうかを表す情報を、前記第１の集積回路デバイスの検査用出力端子を介して出力するステップと、
を実行させることを特徴とする、請求項１乃至４のいずれかに記載のプログラム。
【請求項６】
前記プログラムは、さらに前記プリント基板に配置される機能変更可能な第３の集積回路デバイスに書き込んで前記第３の集積回路デバイスを動作させるものであり、前記第３の集積回路デバイスに、
別の所定のパターンの別の比較用データ・シーケンスを予め記憶するステップと、
実速度より低い低速度のクロックパルスを供給するステップと、
前記第２の集積回路デバイスの検査用出力端子から、前記第３の集積回路デバイスの検査用入力端子を介して１ビット・データを受け取ったとき、前記１ビット・データを記憶手段に格納するステップと、
前記記憶手段に蓄積された複数のビット・データのデータ・シーケンスの長さが前記別の比較用データ・シーケンスの長さと同じになったとき、前記複数のビット・データのデータ・シーケンスと前記別の比較用データ・シーケンスとを比較するステップと、
前記複数のビット・データのデータ・シーケンスと前記別の比較用データ・シーケンスとが一致したかどうかを表す情報を、前記第３の集積回路デバイスの検査用出力端子を介して出力するステップと、
を実行させることを特徴とする、請求項１乃至４のいずれかに記載のプログラム。
【請求項７】
プリント基板に配置された機能変更可能な第１の集積回路デバイスと機能変更できない第２の集積回路デバイスの端子間の結線状態を判定する方法であって、
前記第１の集積回路デバイスにおいて、複数のビット値からなる第１の所定のパターンのデータ・シーケンスと、複数のビット値からなる第２の所定のパターンのデータ・シーケンスとを予め記憶する工程と、
前記第１の集積回路デバイスにおいて、実速度以上の速度のクロックパルスを供給する工程と、
前記第１の集積回路デバイスにおいて、前記実速度以上の速度のクロックパルスで前記第１の所定のパターンのデータ・シーケンスを前記第１の集積回路デバイスの１つの出力端子に供給し、それによって前記第２の集積回路デバイスの対応する１つの入力端子を介して前記第２の集積回路デバイスにデータ・シーケンスが供給されるようにする工程と、
前記第２の集積回路デバイスにおいて、前記第１の所定のパターンの第１の比較用データ・シーケンスを記憶する工程と、
前記第２の集積回路デバイスにおいて、前記実速度以上の速度のクロックパルスを供給する工程と、
前記第２の集積回路デバイスにおいて、前記第２の集積回路デバイスの前記１つの入力端子を介して受け取ったデータ・シーケンスを前記第１の比較用データ・シーケンスと比較する工程と、
前記第２の集積回路デバイスにおいて、前記受け取ったデータ・シーケンスと前記第１の比較用データ・シーケンスとが一致した場合に、前記受け取ったデータ・シーケンスが前記第１の比較用データ・シーケンスと一致したことを表すフラグを発生させる工程と、
前記第１の集積回路デバイスにおいて、前記第２の集積回路デバイスから、前記受け取ったデータ・シーケンスが前記第１の比較用データ・シーケンスと一致したことを表すフラグを受け取ったとき、実速度より低い低速度のクロックパルスを供給する工程と、
前記第１の集積回路デバイスにおいて、前記第２の集積回路デバイスの前記１つの入力端子を介して前記第２の集積回路デバイスに或る１ビット・データが供給されるように、前記低速度のクロックパルスで、前記第２の所定のパターンのデータ・シーケンスの中の或る１ビット・データを前記第１の集積回路デバイスの前記１つの出力端子に供給する工程と、
を含む方法。
【請求項８】
機能変更可能な別の集積回路デバイスを用いて、前記別の集積回路デバイスとの結線状態を判定される機能変更できない集積回路デバイスであって、
実速度以上の速度のクロックパルスまたは実速度より低い速度の低速度のクロックパルスを供給するクロックパルス供給手段と、
検査用の複数のビット値からなるデータ・シーケンスおよび別のデータを受け取る複数の入力端子と、
前記複数の入力端子にそれぞれ結合されたバウンダリ・スキャン用の１組の複数のレジスタであって、前記１組の複数のレジスタの各レジスタが、前記実速度以上の速度のクロックパルスで前記データ・シーケンスの各ビット・データを順次受け取って一時的に保持し、前記低速のクロックパルスで前記別のデータを受け取って一時的に保持する、１組の複数のレジスタと、
前記複数のレジスタに結合され、所定のパターンの比較用データ・シーケンスを予め格納し、前記１組の複数のレジスタの中の１つのレジスタから前記データ・シーケンスを順次受け取って、受け取った前記データ・シーケンスを前記比較用データ・シーケンスと比較して、前記比較の結果を表すフラグを前記クロックパルス供給手段に出力するデータ・シーケンス比較手段と、
検査用出力端子と、
ユーザ・ロジック回路と、
を含み、
前記１つのレジスタによって保持された前記別のデータは、前記低速のクロックパルスで前記１組の複数のレジスタにおいてシフトされて、前記検査用出力端子から出力されるものであることを特徴とする、集積回路デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路デバイス（装置）の検査に関し、特に、ＡＳＩＣ（特定の用途向け集積回路）のような機能変更できない半導体集積回路デバイスを含む半導体集積回路デバイス間の結線を検査するための技術に関する。
【背景技術】
【０００２】
通常、半導体集積回路デバイス間がパターン配線のみで結線されるプリント基板（プリント回路板：ＰＣＢ）において結線の検査を行う場合、目視チェックまたはそのようなデバイスの入出力データをモニタすることによって行われる。
【０００３】
近年の集積回路規模の大規模化によってプリント基板の結線数が増大し、その結線数は数千本に達することがある。その際、動作不良が発生した場合、その動作不良が配線パターンに起因するのかまたはそのようなデバイス内の回路の故障または欠陥に起因のかを判定することは困難である。
【０００４】
ＪＡＴＡＧによって提案されＩＥＥＥ１１４９．１−１９９０によって勧告されたＡＳＩＣのような機能を変更できない半導体集積回路デバイス間の結線の検査を外部端子から行うためのバウンダリ・スキャンの規格がある。
【０００５】
そのような半導体集積回路デバイスは、本来の内部の機能回路の入力側と出力側に、ＴＡＰ（テスト・アクセス・ポート）およびレジスタ・セル即ちバウンダリ・スキャン・セル（ＢＳＣ）を有する。これらのバウンダリ・スキャン・セルはデイジーチェーンの形態で接続することができる。複数のＴＡＰを用いて、テスト・データ・シーケンスのパターンおよびスキャン結果の入出力および制御が行われる。一方の出力ＴＡＰが他方の入力ＴＡＰに結合されたプリント基板上の２つのデバイスにおいて、テスト・データ・シーケンスのパターンを例えば３０ＭＨｚの低速度（レート、周波数）のテスト・クロックで一方のデバイスの入力ＴＡＰからそのデイジーチェーンの複数のＢＳＣへとシフトし、一方のデバイスの出力ＴＡＰから出力させ、その出力データを他方のデバイスの入力ＴＡＰからそのデイジーチェーンの複数のＢＳＣにシフト供給し、他方のデバイスの出力側ＢＳＣから出力させる。次いで、入力データと出力データとを比較し、それによってデバイス間の結線の良否を判定する。
【０００６】
一方、ＦＰＧＡ（Field Programmable Gate Array）またはＰＬＤ（Programmable Logic Device）のような機能を変更できるプログラマブル・デバイス間において、結線の検査を容易にする手法が提案された。
【０００７】
特開２００４−１５１０６１号公報（Ａ）には、デバイス間結線チェック方法が記載されている。その方法は、機能を実現するためのデータを書込み修正可能である複数のデバイスを実装したプリント板の前記デバイス間の結線をチェックするものであり、結線元のデバイスからチェック・データが入力される接続先のデバイスの入力端子を示す、全入力端子の状態を表すデータを、該データにおける論理“１”または“０”の存在する位置を表す２進数を有するように圧縮、変換し、その圧縮、変換されたデータと比較用データを比較し、その比較の結果を表示してその結線元のデバイスと結線先のデバイスとの間の結線の良否を判定する。それによって、大規模集積回路（ＬＳＩ）開発においてＡＳＩＣにより量産化する前にプロトタイプとして作成される、プリント板に配置した複数のＦＰＧＡ／ＰＬＤの端子間の結線ミスを個別に判定可能とする。ここで、この文献全体を引用により組み込む。
【特許文献１】特開２００４−１５１０６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
特開２００４−１５１０６１号公報のデバイス間の結線の検査技術は、例えばＦＰＧＡおよびＰＬＤのような機能またはユーザ・ロジックを変更できるプログラマブル・デバイスに適用可能なものである。この技術では、プリント基板におけるそのようなプログラマブル・デバイス間の結線配置に基づいてそのようなプログラマブル・デバイスに専用の回路を予め作成し、その専用回路を用いて結線を検査する。また、その結線検査の後、その専用回路がユーザ定義論理回路に書き換えられ、プログラマブル・デバイスに対してその他の検証が行われる。
【０００９】
しかし、特開２００４−１５１０６１号公報の技術は、機能またはユーザ・ロジックを変更できないＡＳＩＣのようなカスタム・デバイスには適用できず、また、半導体集積回路デバイスを動作させる実速度のクロックによる結線チェックができない。
【００１０】
発明者たちは、ＦＰＧＡおよびＰＬＤのような機能を変更できるプログラマブル・デバイスを用いて、プリント基板におけるＡＳＩＣのような機能を変更できないカスタム・デバイスとそのようなプログラマブル・デバイスの間の結線を実速度のクロックで検査することができる、と認識した。
【００１１】
本発明の目的は、機能を変更できる集積回路デバイスを用いて、プリント基板における機能を変更できない集積回路デバイスの結線を検査できるようにすることである。
【００１２】
本発明の別の目的は、機能を変更できる集積回路デバイスを用いて、プリント基板における機能を変更でない集積回路デバイスの結線を実速度で検査できるようにすることである。
【課題を解決するための手段】
【００１３】
本発明の特徴によれば、プリント基板に配置される機能変更可能な第１の集積回路デバイスの端子に配線で結線された機能変更できない第２の集積回路デバイスの端子の結線状態を判定するために、その第１の集積回路デバイスに書き込んで動作させるプログラムは、その第１の集積回路デバイスに、複数のビット値からなる所定のパターンのデータ・シーケンスを予め記憶するステップと、実速度以上の速度のクロックパルスを供給するステップと、その速度のクロックパルスでその所定のパターンのデータ・シーケンスをその第１の集積回路デバイスの１つの出力端子に供給するステップであって、それによってその第２の集積回路デバイスの対応する１つの入力端子を介してその第２の集積回路デバイスにデータ・シーケンスが供給されるようにするステップと、その所定のパターンのデータ・シーケンスの検査結果を表すフラグをその第２の集積回路デバイスの端子からその第１の集積回路デバイスの端子を介して受け取るステップと、を実行させる。
【００１４】
本発明は、また、プリント基板に配置される機能変更可能な第１の集積回路デバイスの端子に結合された機能変更できない第２の集積回路デバイスの端子の結線状態を判定する方法に関する。
【００１５】
本発明は、また、上述のような機能変更できない集積回路デバイスに関する。
【発明の効果】
【００１６】
本発明の別の特徴によれば、機能を変更できる集積回路デバイスを用いて、プリント基板における機能を変更できない集積回路デバイスの結線を検査でき、プリント基板における機能を変更でない集積回路デバイスの結線を実速度で検査できる。
【発明を実施するための最良の形態】
【００１７】
本発明の実施形態を、図面を参照して説明する。図面において、同様の構成要素には同じ参照番号が付されている。
【００１８】
図６は、ＡＳＩＣのような通常のカスタム・デバイス（ＣＤ１、ＣＤ２）におけるバウンダリ・スキャン・セル（ＢＳＣ）を用いた通常の低速度バウンダリ・スキャンの例を示している。
【００１９】
図６において、プリント基板ＰＣＢ上に配置されたデバイスＣＤ１およびＣＤ２の入出力端子は互いに結線されている。デバイスＣＤ１およびＣＤ２の各々には、内部ロジックの入出力側の各端子ＩＮ１〜ＩＮ６およびＯＵＴ１〜ＯＵＴ６にバウンダリ・スキャン・セル（ＢＳＣ）が結合されている。デバイスＣＤ１のバウンダリ・スキャン・セルは、テスト・データ入力ＴＤＩ＿１からテスト・データ出力ＴＤＯ＿１までデイジーチェーン形態で接続されている。同様に、ＣＤ２のバウンダリ・スキャン・セルは、テスト・データ入力ＴＤＩ＿２からテスト・データ出力ＴＤＯ＿２までデイジーチェーン形態で接続されている。
【００２０】
通常の低速度バウンダリ・スキャンにおいて、入力ＴＤＩ＿１から入力された低速度用テスト・データを例えば３０ＭＨｚのような低速度のテスト・クロックパルスでシフトして、デバイスＣＤ１の全てのバウンダリ・スキャン・セルＢＳＣにそのデータを保持させる。次に、デバイスＣＤ１の出力側のバウンダリ・スキャン・セルＢＳＣから出力端子ＯＵＴ１〜ＯＵＴ６を介して保持データを並列に出力させて、デバイスＣＤ２の入力ＩＮ１〜ＩＮ６に供給する。それによって、デバイスＣＤ２の入力側のバウンダリ・スキャン・セルＢＳＣはそのデータを保持する。次いで、デバイスＣＤ２の入力側のバウンダリ・スキャン・セルＢＳＣのデータを低速度のテスト・クロックパルスでシフトして、テスト・データ出力ＴＤＯ＿２を介してデータを出力させる。最後に、デバイスＣＤ１の入力ＴＤＩ＿１に入力したテスト・データとデバイスＣＤ２の出力ＴＤＯ＿２から出力されたデータとを比較とし、それによってプリント基板ＰＣＢにおけるデバイスＣＤ１とＣＤ２の間の結線の有無が判定される。しかし、このような通常の低速度バウンダリ・スキャンでは、バウンダリ・スキャンの速度（レート）より高い例えば１００ＭＨｚの実速度でのデバイス間の結線の良否を検査できない。
【００２１】
図１は、本発明の実施形態による、プリント基板（プリント回路板：ＰＣＢ）５上のＦＰＧＡおよびＰＬＤのような機能を変更できる半導体集積回路装置としてのプログラマブル・デバイス（ＰＤ１、ＰＤ２）２００および４００を用いて、そのプログラマブル・デバイス２００と、プリント基板５上のＡＳＩＣのような機能変更またはプログラムできないカスタム・デバイス（ＣＤ）３００との間の入出力端子間の接続または結線の状態の良否（短絡／開放）を、バウンダリ・スキャン用の低速度のクロックパルスおよび実速度または高速度のクロックパルスによって検査するための概略的なテスト構成を示している。代替構成として、実速度より高い速度のクロックパルスを用いてもよい。その入出力端子間の接続または結線は、プリント基板５上の配線パターンまたは別個のケーブルを介したデバイス２００の出力端子とデバイス３００の入力端子の間の接続または結線である。ここで、機能を変更できるとは、機能を実現するためのプログラムを書き込み修正可能であることを意味する。実速度とは、実際に半導体集積回路装置２００、３００および３００が動作する際に用いられるクロック速度である。
【００２２】
検査装置１０は、プロセッサ１０２、例えばＲＡＭ、ＲＯＭおよび磁気ディスクのような記憶装置１０４、制御部１１０、例えばキーボードのような入力装置１１２、例えばＬＣＤのような表示装置１１４、実速度または高い速度（高レート）のクロックパルス発生器（ＲＣＫＧ）１３２、およびバウンダリ・スキャン用の低速度（低レート）のテスト・クロックパルスを発生するテスト・クロックパルス発生器（ＴＣＫＧ）１３４を含んでいる。記憶装置１０４には、プロセッサ１０２および制御部１１０に実装されるプログラム、プログラマブル・デバイス２００および４００に一時的に書き込まれるテスト機能用のプログラム、データベース１２０、およびその他のデータを格納している。
【００２３】
プログラマブル・デバイス（ＰＤ１）２００は、バウンダリ・スキャン用の入力低速度テスト・クロックパルスＴＣＫと入力実速度（高速度）クロックパルスＲＣＫのいずれかを選択的に内部回路へ供給するクロックパルス切換部２０２、およびチェック・データ生成部２０４を具えている。
【００２４】
カスタム・デバイス（ＣＤ）３００は、バウンダリ・スキャン用の入力の低速度テスト・クロックパルスＴＣＫと入力の実速度（高速度）クロックパルスＲＣＫのいずれかを選択的に内部回路へ供給するクロックパルス切換部３０２、デイジーチェーン形態で結合された一連の複数のバウンダリ・スキャン・セルまたはレジスタ（ＢＳＣ）３２２、受け取ったフレーム・パルス・データのシーケンス（一連のパルス・データ）のパターンと予め記憶された比較用の（基準の、参照用の）フレーム・パルス・データ・シーケンにパターンとを比較するフレーム・パルス（ＦＰ）比較部３２４、およびユーザ定義ロジックまたはユーザ・ロジック３２６を具えている。
【００２５】
プログラマブル・デバイス（ＰＤ２）４００は、バウンダリ・スキャン用の入力の低速度テスト・クロックパルスＴＣＫと入力の実速度（高速度）クロックパルスＲＣＫのいずれかを選択的に内部回路へ供給するクロックパルス切換部４０２、テスト・データ・シーケンス中の受け取った各ビット・データを検出するビット・データ検出部４０６、比較用の比較用テスト・データ・シーケンス・パターンを供給する比較データ生成部４０８、および受け取ったテスト・データ・シーケンスのパターンと比較用の（基準の、参照用の）テスト・データ・シーケンスのパターンとを比較するテスト・データ比較部４１０を具えている。
【００２６】
カスタム・デバイス（ＣＤ）３００におけるテスト機能用の構成要素３０２、３２２および３２４は、ユーザ・ロジック３２６とともに半導体基板上に予め実装されている。
【００２７】
プログラマブル・デバイス２００におけるテスト機能用の構成要素２０２および２０４のテスト機能プログラムは、検査装置１０によるプログラマブル・デバイス２００へのテスト機能用のプログラムの書き込みによって実装される。また、プログラマブル・デバイス４００におけるテスト機能用の構成要素４０２〜４１０のテスト機能プログラムは、検査装置１０によるプログラマブル・デバイス２００へのテスト機能用のプログラムの書き込みによって実装される。代替構成として、プログラマブル・デバイス２００および４００におけるテスト機能用の構成要素２０２、２０４、および４０２〜４１０のテスト機能プログラムは、実線および破線の四角の枠で示されているように、プログラマブル・デバイス２００および４００の各々に書き込まれ、プログラマブル・デバイス２００および４００において実線で示されたテスト機能だけが使用されるようにしてもよい。別の代替構成として、１つのプログラマブル・デバイス２００に構成要素２０２、２０４、および４０２〜４１０のテスト機能プログラムを書き込んで、プログラマブル・デバイス２００だけでカスタム・デバイス（ＣＤ）３００との間の結線状態を検査することもできる。この場合、プログラマブル・デバイス４００はプログラマブル・デバイス２００の一部として見ることができる。
【００２８】
プログラマブル・デバイス（ＰＤ１）２００のチェック・データ生成部２０４は、内部に、低速度バウンダリ・スキャン用のテスト・データ・パターン記憶部ＬＳと、実速度テスト用のフレーム・パルス（ＦＰ）パターン記憶部ＨＳとを有し、その実速度テスト用の２進値フレーム・パルス（ＦＰ）データ・シーケンスと、低速度バウンダリ・スキャン用の２進値テスト・データ・シーケンスとから結線チェック・データを生成する。チェック・データ生成部２０４は、その実速度フレーム・パルス・データ・シーケンスと、その低速度テスト・データ・シーケンスの各１ビット・データとを各端子チェック用のデータ・シーケンスとして、その出力端子ＯＵＴ１〜ＯＵＴｎの中の各１つの端子から、カスタム・デバイス（ＣＤ）３００の入力端子ＩＮ１〜ＩＮｎの中の対応する端子に順次供給する。
【００２９】
結線チェックは１対の端子（ポート）ずつ、即ち結合された出力端子と入力端子の各１対ずつ、行われるので、チェック・データ生成部２０４は、チェック対象でない他の端子に対してそのフレーム・パルス・データ・シーケンスおよび１ビットのデータ“０”を表すチェック・データを生成して供給する。
【００３０】
カスタム・デバイス（ＣＤ）３００は、その実速度フレーム・パルス・データ・シーケンスと同じパターンを有する比較用フレーム・パルス・データ・シーケンスをフレーム・パルス比較部３２４に予め格納する。プログラマブル・デバイス（ＰＤ２）４００は、比較用テスト・データ・シーケンス設定端子ＴＤＳ２を介してその低速度テスト・データ・シーケンスと同じパターンを有する比較用テスト・データ・シーケンスを比較データ生成部４０８に予め格納する。
【００３１】
フレーム・パルス（ＦＰ）比較部３２４は、受信した実速度テスト用のフレーム・パルス・データ・シーケンスのパターンと予め記憶されている比較用フレーム・パルス・データ・シーケンスのパターンとを比較する。フレーム・パルス（ＦＰ）比較部３２４からの比較結果は、受け取ったフレーム・パルス・データの良好／不良（ＯＫ／ＮＧ）または一致／不一致（１／０）を表すフレーム・パルス・フラグＦＰ＿ＦＬＧとして、クロックパルス切換部３０２に供給され、また、カスタム・デバイス（ＣＤ）３００のテスト用のフラグ出力端子ＦＬＧＯおよびプログラマブル・デバイス（ＰＤ１、ＰＤ２）２００および４００のテスト用のフラグ入力端子ＦＬＧＩを介してクロックパルス切換部２０２および４０２に供給される。
【００３２】
クロックパルス切換部３０２は、フレーム・パルス・フラグＦＰ＿ＦＬＧに従って、低速度クロックパルスＴＣＫと実速度クロックパルスＲＣＫのいずれかを選択的にバウンダリ・スキャン・セル３２２およびフレーム・パルス比較部３２４に供給する。クロックパルス切換部２０２および４００の各々は、フレーム・パルス・フラグＦＰ＿ＦＬＧに従って、低速度クロックパルスＴＣＫと実速度クロックパルスＲＣＫのいずれかを選択的にそれぞれの構成要素２０２および２０４または４０６〜４１０に供給する。
【００３３】
一致を表すフレーム・パルス・フラグＦＰ＿ＦＬＧに応答して、クロックパルス切換部２０２、３０２および４０２からのクロックパルスが、実速度クロックパルスＲＣＫから低速度クロックパルスＴＣＫへと切り換えられ、低速度テスト・データがカスタム・デバイス３００のバウンダリ・スキャン・セル３２２へ供給される。
【００３４】
バウンダリ・スキャン・セル３２２はＩＥＥＥ規格１１４９．１−１９９０に適合するバウンダリ・スキャン用のレジスタ・セルである。
【００３５】
検出部４０６は、カスタム・デバイス３００のテスト・データ出力端子ＴＤＯから出力され入力端子ＴＤＩを介して受け取ったテスト・データを検出し、入力端子ＴＤＩからのテスト・データの検査対象の１ビット・データを比較部４１０に供給する。比較データ生成部４０８は、比較用テスト・データ・シーケンス・パターンを記憶していて、その１ビット・データを比較部４１０に供給する。
【００３６】
比較部４１０は、検出部４０６および比較データ生成部４０８から受け取ったテスト・データ・シーケンスを比較して、その比較結果を、テスト結果出力端子ＴＲＯを介して結果出力部受信部１３８に送信する。検査装置１０は、その比較の結果に基づいてプリント基板５上のプログラマブル・デバイス（ＰＤ１）２００とカスタム・デバイス（ＣＤ）３００の間の端子間の結線の良否を判定して表示する。
【００３７】
図２は、図１のカスタム・デバイス（ＣＤ）３００に予め形成されたクロックパルス切換部３０２の構成およびそれに関係する構成を示している。
【００３８】
図２において、クロックパルス切換部３０２は、低速テスト用クロックパルスＴＣＫ受け取るマスク回路３５２、実速度テスト用クロックパルスＲＣＫを受け取るマスク回路３５４、マスク回路３５２および３５４からのクロックパルスＴＣＫおよびＲＣＫを受け取るマルチプレクサ３５６、実速度クロックパルスＲＣＫを計数するカウンタ３４２、およびマスク回路３５２および３５４へマスク制御信号を供給するマスク制御部３４６を含んでいる。カウンタ３４２は、フレーム・パルス比較部３２４からのフレーム・パルス・フラグＦＰ＿ＦＬＧに従って実速度クロックパルスＲＣＫを計数する。マスク制御部３４６は、フレーム・パルス比較部３２４からのフレーム・パルス・フラグＦＰ＿ＦＬＧに基づいてカウンタ３４２に従ってマスク回路３５２および３５４へマスク制御信号を供給する。マルチプレクサ３５６は、マスク制御部３４６からの制御信号に従って、マスク回路３５２と３５４のいずれかからの低速度および実速度クロックパルスＴＣＫおよびＲＣＫを選択的にバウンダリ・スキャン・セル３２２に供給する。
【００３９】
図３は、図１のプログラマブル・デバイス（ＰＤ１、ＰＤ２）２００および４００に予め形成されたクロックパルス切換部３０２の構成およびそれに関係する構成を示している。
【００４０】
図３において、クロックパルス切換部２０２および４０２の各々は、低速度テスト用クロックパルスＴＣＫを受け取るマスク回路２５２、実速度テスト用のクロックパルスＲＣＫを受け取るマスク回路２５４、マスク回路２５２および２５４からのクロックパルスＴＣＫおよびＲＣＫを受け取るマルチプレクサ２５６、実速度クロックパルスＲＣＫを計数するカウンタ２４２、およびマスク回路２５２および２５４へマスク制御信号を供給するマスク制御部２４６を含んでいる。カウンタ２４２は、フレーム・パルス比較部３２４からのフレーム・パルス・フラグＦＰ＿ＦＬＧに従って実速度クロックパルスＲＣＫを計数する。マスク制御部２４６は、フレーム・パルス比較部３２４からのフレーム・パルス・フラグＦＰ＿ＦＬＧに基づいてカウンタ２４２に従ってマスク回路２５２および２５４へマスク制御信号を供給する。マルチプレクサ２５６は、マスク制御部３４６からの制御信号に従って、マスク回路２５２と２５４のいずれかからのクロックパルスＴＣＫおよびＲＣＫを選択的に内部回路に供給する。
【００４１】
クロック切換部３０２（または２００、４００）において、最初、マスク回路３５２、３５４（２５２、２５４）は低速度テスト・クロックパルスＴＣＫをマスクして、実速度クロックパルスＲＣＫを活性化し、マルチプレクサ（ＭＵＸ）３５６（２５６）は実速度（高い速度）のクロックパルスＲＣＫを選択する。フレーム・パルス比較部３２４（２２４）は、受け取ったフレーム・パルス・データ・シーケンスのパターンと比較用フレーム・パルス・データ・シーケンスのパターンとを比較して、それらが一致したと判定した場合は、マスク制御部３４６（２４６）及びカウンタ部３４２（２４２）にフレーム・パルス・フラグＦＰ＿ＦＬＧを供給する。マスク制御部３４６（２４６）は、実速度クロックパルスＲＣＫをマスクすると共にマルチプレクサ（ＭＵＸ）３５６（２５６）で低速度テスト・クロックパルスＴＣＫを選択するマスク制御信号を送信し、その後で低速度テスト・クロックパルスＴＣＫを活性化させまたはマスク解除し、バウンダリ・スキャンのためのシフト動作を開始する。
【００４２】
図６の通常のバウンダリ・スキャンでは、実速度のクロックパルスＲＣＫでデバイス間の結線をチェックすることができない。しかし、図２のカスタム・デバイス（ＣＤ）３００では、実速度のクロックパルスＲＣＫでバウンダリ・スキャン・セル３２２をシフト動作させることによって、隣接のプログラマブル・デバイス２００との間で実速度のクロックパルスＲＣＫでチェック・データを送受信することができる。
【００４３】
通常のバウンダリ・スキャンでは、入力側および出力側のバウンダリ・スキャン・セル３２２に供給されるテスト・データをチェックするので、ユーザ・ロジック３２６の入力側および出力側のフリッフロップ（ＦＦ）の入出力データをチェックできない。しかし、図２のカスタム・デバイス（ＣＤ）３００では、ユーザ・ロジック３２６の入力側および出力側のフリッフロップ（ＦＦ）を兼用するバウンダリ・スキャン・セル３２２および／またはＴＡＰコントローラの構成を変更する必要がないので、そのフリッフロップ（ＦＦ）に供給される入出力データをテスト・データ出力ＴＤＯから抽出することができる。従って、ユーザ・ロジック３２６の入力側および出力側のデータをチェックできる。
【００４４】
図４Ａおよび４Ｂは、検査装置１０（プロセッサ１０２、制御部１１０）の制御の下で実行される、プリント基板５上に実装されたプログラマブル・デバイス（ＰＤ１）２００とカスタム・デバイス（ＣＤ）３００の間の結線の良否（短絡、開放）を検査するための処理のフローチャートを示している。
【００４５】
ステップ５０２において、検査装置１０（プロセッサ１０２）は、プログラマブル・デバイス２００および４００に、または１つのプログラマブル・デバイス２００だけが使用される場合はプログラマブル・デバイス２００だけに、構成要素２０２、２０４、および４０２〜４１０のそれぞれのテスト機能プログラムを書き込む。
【００４６】
ステップ５０４において、検査装置１０（制御部１１０）は、プログラマブル・デバイス（ＰＤ１）２００のチェック・データ生成部２０４の記憶部（ＬＳ、ＨＳ）に、テスト用データ・シーケンス設定端子ＴＤＳ１を介して、低速度バウンダリ・スキャン・テスト用テスト・パルス・データ・シーケンスのパターンと高速度テスト用フレーム・パルス・データ・シーケンスのパターンとを含む検査用のチェック・データを書き込んで記憶させる。また、検査装置１０（制御部１１０）は、テスト用比較用フレーム・パルス設定端子ＲＦＰＳを介して、カスタム・デバイス３００のフレーム・パルス比較部３２４のフレーム・パルス・パターン記憶部ＲＨＳに比較用フレーム・パルス・データ・シーケンスのパターンを書き込んで記憶させる。さらに、検査装置１０（制御部１１０）は、テスト用データ・シーケンス設定端子ＴＤＳ２を介して、プログラマブル・デバイス（ＰＤ２）４００の比較データ生成部４０８に比較用の比較用テスト・データ・シーケンスのパターンを書き込んで記憶させる。それらのデータ・シーケンスは、０と１からなる複数の２進値ビットの組み合わせのパターンを有する。
【００４７】
ステップ５０６において、検査装置１０（制御部１１０）の制御の下で、最初、プログラマブル・デバイス（ＰＤ１）２００のクロック切換部２０２、カスタム・デバイス（ＣＤ）３００のクロック切換部３０２、およびプログラマブル・デバイス（ＰＤ２）４００のクロック切換部４０２は、実速度クロックパルスＲＣＫを供給するように切り換えられる。
【００４８】
ステップ５０８において、プログラマブル・デバイス（ＰＤ１）２００（チェック・データ生成部２０４）は、未だチェックされていないカスタム・デバイス（ＣＤ）３００の入力端子またはプログラマブル・デバイス２００の出力端子があるかどうかを判定する。未だチェックされていない端子はないと判定された場合は、ステップ５１０において、プログラマブル・デバイス２００（チェック・データ生成部２０４）は、検査装置１０（制御部１１０）に結線チェックの完了の通知を送信し、検査装置１０（制御部１１０）はそれを受信してプログラマブル・デバイス（ＰＤ２）４００の比較部４１０にその完了の通知を送信する。但し、プログラマブル・デバイス４００がプログラマブル・デバイス（ＰＤ１）２００でもある場合は、チェック・データ生成部２０４は、比較部４１０にその完了の通知を供給する。
【００４９】
ステップ５１０において、さらに、プログラマブル・デバイス（ＰＤ２）４００（比較部４１０）は、テスト結果出力端子ＴＲＯを介して結線チェックの完了の通知およびそのチェック結果を検査装置１０に送信する。その通知およびチェック結果に応答して、検査装置１０（制御部１１０）は、その通知およびチェック結果を結果出力受信部１３８に一時保持し、そのチェック結果をデータベース１２０に格納し、データベース１２０におけるチェック結果を表示装置１１４に表示する。
【００５０】
ステップ５０８において未だチェックされていない端子があると判定された場合は、ステップ５１２において、プログラマブル・デバイス（ＰＤ１）２００（チェック・データ生成部２０４）は次にチェックすべきカスタム・デバイス（ＣＤ）３００の入力端子（ＩＮ１〜ＩＮｎ）を決定する。
【００５１】
ステップ５１４において、プログラマブル・デバイス２００のチェック・データ生成部２０４は、実速度テスト用フレーム・パルス（ＦＰ）データ・シーケンスと、低速度テスト用テスト・データ・シーケンスの中の１ビットとからなるデータ・シーケンスを生成し、実速度テスト用フレーム・パルス（ＦＰ）データ・シーケンスを１つの出力端子（ＯＵＴ１〜ＯＵＴｎ）からカスタム・デバイス３００の対応する１つの入力端子（ＩＮ１〜ＩＮｎ）を介して対応する１つのバウンダリ・スキャン・セル３２２（ＢＳＣ１、ＢＳＣ２、．．．）に供給する。
【００５２】
図４Ｂを参照すると、ステップ５２０において、カスタム・デバイス３００のフレーム・パルス比較部３２４は、バウンダリ・スキャン・セル３２２の１つ（最初はＢＳＣ１）から受け取ったフレーム・パルス・データ・シーケンス（ＦＰシーケンス）のパターン（値）と予め記憶された比較用フレーム・パルス・データ・シーケンス・パターン（値）とを比較して両者が一致するかどうかを判定する。双方のデータ・シーケンスのパターンが一致しないと判定された場合は、フレーム・パルス比較部３２４は、ステップ５２２において、フレーム・パルス・データ・シーケンスのパターンが良好でないことを示すフラグＦＰ＿ＦＬＧまたはチェック結果（ＦＰ−ＮＧまたは値０）を、プログラマブル・デバイス４００の比較部４１０を介して検査装置１０の結果出力受信部１３８に供給する。その後、手順はステップ５３８に進む。
【００５３】
ステップ５２０において双方のフレーム・パルス・データ・シーケンスのパターンが一致すると判定された場合は、ステップ５２４において、クロックパルス切換部２０２、３０２および４０２に、フレーム・パルス・フラグＦＰ＿ＦＬＧに従って、実速度クロックパルスＲＣＫの供給を停止して低速度テスト・クロックパルスＴＣＫの供給を開始させる。
【００５４】
実速度テストのフレーム・パルス・データ・シーケンスのパターンが一致した場合は、実速度（高い速度）のクロックパルスに対してプログラマブル・デバイス２００の１つの出力端子（最初はＯＵＴ１）とカスタム・デバイス３００の１つの入力端子（最初はＩＮ１）との間の結線が良好であることが確認される。実速度テストのフレーム・パルス・データ・シーケンスのパターンが一致しなかった場合は、実速度（高い速度）のクロックパルスに対してプログラマブル・デバイス２００のその１つの出力端子とカスタム・デバイス３００のその１つの入力端子との間の結線が不良であることが確認され、出力端子ＯＵＴ１と入力端子ＩＮ１の間に開放および／または短絡が存在する可能性がある。入出力端子間に開放および／または短絡による接続不良が存在すると、その実速度クロックパルスに対して、受け取ったデータは“１”または“０”に固定される縮退故障（stuck-at fault）が存在することがある。
【００５５】
ステップ５２６において、チェック・データ生成部２０４は、低速度バウンダリ・スキャン用のテスト・データ・シーケンス・パターンの中の１ビット・データを、１つの出力端子（ＯＵＴ１〜ＯＵＴｎ）からカスタム・デバイス３００の対応する１つの入力端子（ＩＮ１〜ＩＮｎ）を介して対応するバウンダリ・スキャン・セル３２２に供給する。
【００５６】
ステップ５２８において、プログラマブル・デバイス３００（バウンダリ・スキャン・セル３２２）は、低速度クロックパルスＴＣＫによるシフトに応答して、受け取ったテスト・データをテスト・データ出力端子ＴＤＯを介してプログラマブル・デバイス４００のテスト・データ入力端子ＴＤＩに供給する。検出部４０６は、受け取ったテスト・データの中の対応する１ビットを検出する。
【００５７】
ステップ５３０において、プログラマブル・デバイス３００（検出部４０６および比較部４１０）は、受け取ったテスト・データ・シーケンスのビット数と比較用の比較用テスト・データ・シーケンスのビット数とが一致したかどうかを判定する。両方のビット数が一致していないと判定された場合は、手順はステップ５１４に戻る。
【００５８】
ステップ５３０においてビット数が一致したと判定された場合は、ステップ５３２において、比較部４１０は、カスタム・デバイス３００から受け取ったテスト・データ・シーケンスのパターン（値）と比較データ生成部４０８からの比較用データ・シーケンスのパターン（値）とが一致するかどうかを比較判定する。それらが一致しないと判定された場合は、プログラマブル・デバイス４００の比較部４１０は、ステップ５３４において、テスト結果が不良であることを表すチェック結果（ＴＥＳＴ−ＮＧまたは値０）を検査装置１０の結果出力受信部１３８に供給する。その後、手順はステップ５３８に進む。
【００５９】
ステップ５３２においてデータ・シーケンスのパターンが一致したと判定された場合は、プログラマブル・デバイス４００の比較部４１０は、ステップ５３６において、テスト結果が良好であったことを表すチェック結果（ＴＥＳＴ−ＯＫまたは値１）を検査装置１０の結果出力受信部１３８に供給する。
【００６０】
低速度バウンダリ・スキャンのテスト・パルス・データ・シーケンスのパターンが一致した場合は、低速度のクロックパルスに対してプログラマブル・デバイス２００の出力端子ＯＵＴ１〜ＯＵＴｎとカスタム・デバイス３００の入力端子ＩＮ１〜ＩＮｎとの間の結線が良好であることが確認される。低速度バウンダリ・スキャンのフレーム・パルス・データ・シーケンスのパターンが一致しなかった場合は、低速度のクロックパルスに対してプログラマブル・デバイス２００のそれらの出力端子とカスタム・デバイス３００のそれらの入力端子との間の結線が不良であることが確認され、それらの出力端子とそれらの入力端子の間に開放および／または短絡が存在する可能性がある。入出力端子間に開放および／または短絡による接続不良が存在すると、その低速度クロックパルスに対して、受け取ったデータが“１”または“０”に固定される縮退故障（stuck-at fault）が存在することがある。
【００６１】
ステップ５３８において、検査装置１０（制御部１１０）は、結果出力受信部１３８で受信したチェック結果をデータベース１２０として格納する。そのチェック結果は、出力端子ＯＵＴ１〜ＯＵＴｎのいずれかとそれに対応する入力端子ＩＮ１〜ｎのいずれかに対する実速度テストの結果（結線の良好／不良）、および／または出力端子ＯＵＴ１〜ＯＵＴｎと入力端子ＩＮ１〜ｎに対する低速度バウンダリ・スキャンの結果（結線の良好／不良）を含んでいる。その後、手順はステップ５０２に戻る。
【００６２】
このようにして、全ての端子についてテストが完了すると、ステップ５０８（ＮＯ）の後のステップ５１０において、検査装置１０（制御部１１０）はデータベース１２０のチェック結果を表示装置１１４に表示して、手順は図４Ａおよび４Ｂのルーチンを出る。検査装置１０（制御部１１０）は、さらにそのチェック結果を解析して、出力端子ＯＵＴ１〜ＯＵＴｎと入力端子ＩＮ１〜ｎの間の実速度クロックパルスおよび低速度クロックパルスに対する結線の良好／不良または短絡／開放の状態を求めて、その結果を表示装置１１４に表示してもよい。
【００６３】
図５Ａ〜５Ｍは、図４Ａおよび４Ｂのフローチャートに従って、検査装置１０によって、プログラマブル・デバイス２００および４００を用いてプリント基板５におけるカスタム・デバイス３００の結線状態を検査する例を示している。
【００６４】
図５Ａを参照すると、検査装置１０（制御部１１０）は、プログラマブル・デバイス２００のチェック・データ生成部２０４のフレーム・パルス（ＦＰ）パターン記憶部ＨＳと、カスタム・デバイス３００のフレーム・パルス比較部３２４のフレーム・パルス・パターン記憶部ＲＨＳとに、チェック・データとして、実速度テスト用のフレーム・パルス・データ・シーケンスＦＰ＝“１１０１” を書き込む（図３Ａ、ステップ５０４）。
【００６５】
また、検査装置１０（制御部１１０）は、プログラマブル・デバイス２００のチェック・データ生成部２０４のテスト・データ・パターン記憶部ＬＳと、比較データ生成部４０８とに、チェック・データとして、低速度バウンダリ・スキャン用のテスト・データ・シーケンスを書き込む（図３Ａ、ステップ５０４）。プログラマブル・デバイス２００の出力端子ＯＵＴ１からカスタム・デバイス３００の入力端子ＩＮ１への低速度テスト・データ・シーケンスのパターンを“０１１０”とする。また、プログラマブル・デバイス２００の出力端子ＯＵＴ２からカスタム・デバイス３００の入力端子ＩＮ２への低速度テスト・データ・シーケンスのパターンを“０１１１”とする。
【００６６】
図５Ｂを参照すると、プログラマブル・デバイス２００のクロック切換部２０２、カスタム・デバイス３００のクロック切換部３０２、およびプログラマブル・デバイス４００のクロック切換部４０２は、実速度のクロックパルスＲＣＫを供給するように切換設定される（ステップ５０６）。
【００６７】
プログラマブル・デバイス２００および４００は、プログラマブル・デバイス２００の出力端子ＯＵＴ１とカスタム・デバイス３００の入力端子ＩＮ１への結線との間の結線のチェックを開始する。そのために、プログラマブル・デバイス２００のチェック・データ生成部２０４は、カスタム・デバイス３００のチェック対象の端子へ供給する低速度テスト・データ・シーケンス“０１１０”（ＯＵＴ１−ＩＮ１）と、チェック対象でない端子へ供給する低速度データ・シーケンス“００００”（ＯＵＴ２−ＩＮ２）とを設定する。プログラマブル・デバイス４００において、検出部４０６は、カスタム・デバイス３００のテスト・データ出力端子ＴＤＯから受け取る第１のビットを、チェックにおいて比較すべきデータとして使用するように設定する。
【００６８】
図５Ｃを参照すると、チェック・データ生成部２０４は、実速度フレーム・パルス・データ・シーケンスＦＰ＝“１１０１”と、それに続いて低速度バウンダリ・スキャン用の最初の１ビット・パルス・データ“０”とを生成し、フレーム・パルス・データ・シーケンスＦＰ＝“１１０１”をチェック・データ生成部２０４出力端子ＯＵＴ１からカスタム・デバイス３００の入力端子ＩＮ１に供給する（ステップ５１４）。それと並行して、チェック・データ生成部２０４は、実速度フレーム・パルス・データ・シーケンスＦＰ＝“１１０１”と、それに続いてチェック対象外端子用の低速度１ビット・データ“０”とを生成し、フレーム・パルス・データ・シーケンスＦＰ＝“１１０１”を出力端子ＯＵＴ２からカスタム・デバイス３００の入力端子ＩＮ２に供給する。
【００６９】
図５Ｄを参照すると、カスタム・デバイス３００のバウンダリ・スキャン・セル３２２は、入力端子ＩＮ１およびＩＮ２を介して実速度でそのフレーム・パルス・データ・シーケンスＦＰ＝“１１０１”を受け取る。次いで、フレーム・パルス比較部３２４は、バウンダリ・スキャン・セル３２２の中の対応する１つ（ＢＳＣ１）からのフレーム・パルス・データ・シーケンスを取り出す。フレーム・パルス比較部３２４は、その１つのフレーム・パルス・データ・シーケンスＦＰ＝“１１０１”を、予め記憶したフレーム・パルス・データ・シーケンスＦＰ＝“１１０１”と比較する（ステップ５２０）。それらが一致した場合は、フレーム・パルス比較部３２４は、その一致（“ＯＫ”）を示すフレーム・パルス・フラグＦＰ＿ＦＬＧ“１”を、プログラマブル・デバイス２００のクロック切換部２０２、カスタム・デバイス３００のクロック切換部３０２、およびプログラマブル・デバイス４００のクロック切換部４０２に供給する。
【００７０】
フレーム・パルス・フラグＦＰ＿ＦＬＧ“１”に応答して、カスタム・デバイス３００のクロック切換部３０２は、そのカウンタ３４２（図２）を動作させる。また、フレーム・パルス・フラグＦＰ＿ＦＬＧ“１”に応答して、プログラマブル・デバイス２００および４００のクロック切換部２０２および４０２はそのカウンタ２４２（図３）を動作させる。
【００７１】
フレーム・パルス・フラグＦＰ＿ＦＬＧ“１”に応答して、カスタム・デバイス３００のクロック切換部３０２は、実速度のクロックパルスＲＣＫをマスク（＝１）し、低速度のクロックパルスＴＣＫを供給する（ステップ５２４）。
【００７２】
チェック・データ生成部２０４は、低速度バウンダリ・スキャン用の最初の１ビット・パルス・データ“０”を出力端子ＯＵＴ１からカスタム・デバイス３００の入力端子ＩＮ１に供給する（ステップ５２４）。それと並行して、チェック・データ生成部２０４は、チェック対象外端子用の低速度ビット・パルス・データ“０”を出力端子ＯＵＴ２からカスタム・デバイス３００の入力端子ＩＮ２に供給する。
【００７３】
図５Ｅを参照すると、このようにして、バウンダリ・スキャン・セルＢＳＣ１はテスト・データ・シーケンスの第１の１ビット・データ“０”を保持し、バウンダリ・スキャン・セルＢＳＣ２は対象外データの１ビット・データ“０”を保持する。
【００７４】
図５Ｆを参照すると、カスタム・デバイス３００のクロック切換部３０２のカウンタ３０２が１またはそれより大きい値になったことに応答して、マスク制御回路３４６は、マスク回路３５２および３５４を制御してクロックパルスＲＣＫとＴＣＫを切り換えてテスト用のクロックパルスＴＣＫをバウンダリ・スキャン・セル３２２に供給してシフト動作させ、バウンダリ・スキャン・セル３２２（ＢＳＣ１、ＢＳＣ２）に保持されているデータ“００”を出力端子ＴＤＯから出力させる（ステップ５２８）。
【００７５】
プログラマブル・デバイス４００において、クロック切換部４０２は同様にテスト・クロックパルスＴＣＫを供給し、検出部４０６によって出力端子ＴＤＯからのテスト・データ“００”を、入力端子ＴＤＩを介して受け取って第１のビット“０”を比較すべきビットとして検出し、比較部４１０に第１のビット“０”を格納する。
【００７６】
図５Ｇを参照すると、プログラマブル・デバイス２００および４００のクロック切換部２０２、およびカスタム・デバイス３００のクロック切換部３０２は、カウンタ２４２および３２４のキャリー・アウト（carry out：桁上がり）によって、低速度のテスト・クロックパルスＴＣＫをマスク（＝１）し、実速度のクロックパルスＲＣＫを供給する。
【００７７】
プログラマブル・デバイス２００および４００は、プログラマブル・デバイス２００の出力端子ＯＵＴ１とカスタム・デバイス３００の入力端子ＩＮ１への結線との間の結線のチェックを継続する（ステップ５３０のＮＯ）。
【００７８】
図５Ｈを参照すると、図５Ｃの場合と同様に、チェック・データ生成部２０４は、チェック・データ生成部２０４出力端子ＯＵＴ１からカスタム・デバイス３００の入力端子ＩＮ１にフレーム・パルス・データ・シーケンスＦＰ＝“１１０１”とそれに続いてバウンダリ・スキャン用の第２の１ビット・データ“１”を供給する（ステップ５１４）。それと並行して、チェック・データ生成部２０４出力端子ＯＵＴ２からカスタム・デバイス３００の入力端子ＩＮ２にフレーム・パルス・データ・シーケンスＦＰ＝“１１０１”とそれに続いてチェック対象外端子用の１ビット・データ“０”を供給する。その後の処理は、図５Ｄおよび５Ｅの場合と同様である。
【００７９】
図５Ｉを参照すると、図５Ｆおよび５Ｇの場合と同様に、カスタム・デバイス３００のクロック切換部３０２のカウンタ３０２が１以上になったことに応答して、マスク制御回路３４６は、マスク回路３５２および３５４を制御してクロックパルスＴＣＫとＲＣＫを切り換えてテスト用のクロックパルスＴＣＫをバウンダリ・スキャン・セル３２２に供給してシフト動作させ、バウンダリ・スキャン・セル３２２（ＢＳＣ１、ＢＳＣ２）に保持されているデータ“１０”を出力端子ＴＤＯから出力させる。
【００８０】
プログラマブル・デバイス４００において、クロック切換部４０２は同様にテスト・クロックパルスＴＣＫを供給し、検出部４０６によって出力端子ＴＤＯからのテスト・データ“１０”を、入力端子ＴＤＩを介して受け取って第１のビット“１”を比較すべきビットとして検出し、比較部４１０に第２のビット“１”を格納する。このようにして、検出データが２ビット“０１”となる。
【００８１】
図５Ｊを参照すると、同様に、テスト・データ・シーケンス“０１１０”中の後半の残りの２ビットのデータ“１０”について、図５Ｂ〜５Ｆ、図５Ｇ〜５Ｉの処理を実行し、それによって、比較部４１０において、検出パターンとして４ビットのデータ・シーケンス“０１１０”が得られる（ステップ５３０のＹＥＳ）。
【００８２】
図５Ｋを参照すると、比較部４１０は、検出したテスト・パルス・データ・シーケンス“０１１０”と比較データ生成部４０８からの第１の端子（ＯＵＴ１−ＩＮ１）用の比較データ・パルス・データ・シーケンスと比較する（ステップ５３２）。両者が一致すると、結果出力受信部１３８に出力結果が良好であることを表す信号が供給され、そのチェック結果がデータベース１２０に格納される（ステップ５３６）。それによって、プログラマブル・デバイス２００の出力端子ＯＵＴ１からカスタム・デバイス３００の入力端子ＩＮ１への結線チェックが完了する。
【００８３】
図５Ｌを参照すると、図５Ｂ〜５Ｊの場合と同様の処理が、プログラマブル・デバイス２００の出力端子ＯＵＴ２からカスタム・デバイス３００の入力端子ＩＮ２への結線について行われる（ステップ５０６〜５３８）。この場合、プログラマブル・デバイス２００のチェック・データ生成部２０４に、カスタム・デバイス３００のチェック対象の端子へ供給するテスト・データ・シーケンス“０１１１”（ＯＵＴ２−ＩＮ２）と、チェック対象でない端子へ供給するデータ・シーケンス“００００”（ＯＵＴ１−ＩＮ１）とを設定する。プログラマブル・デバイス４００において、検出部４０６は、カスタム・デバイス３００のテスト・データ出力端子ＴＤＯから受け取る第２のビットを、チェックにおいて比較すべきデータとして使用するように設定する。
【００８４】
図５Ｍを参照すると、比較部４１０は、検出したテスト・パルス・データ・シーケンス“０１１１”と比較データ生成部４０８からの第２の端子（ＯＵＴ２−ＩＮ２）用の比較データ・パルス・データ・シーケンスと比較する。両者が一致すると、結果出力受信部１３８に出力結果が良好であることを表す信号が供給され、そのチェック結果がデータベース１２０に格納される（ステップ５３６）。それによって、プログラマブル・デバイス２００の出力端子ＯＵＴ２からカスタム・デバイス３００の入力端子ＩＮ２への結線チェックが完了する。
【００８５】
他の出力端子ＯＵＴ３、．．．および他の入力端子ＩＮ３、．．．がある場合には、それらの端子に対して、同様にステップ５０６〜５３８が実行される。
【００８６】
このように、実施形態によれば、ＦＰＧＡおよびＰＬＤのような機能を変更できる集積回路デバイスを用いて、その機能を変更できる集積回路デバイスとプリント基板におけるＡＳＩＣのような機能を変更できない集積回路デバイスとの間の結線を検査でき、プリント基板における機能を変更できる集積回路デバイスと機能を変更でない集積回路デバイスとの間の結線を実速度クロックパルスで検査できる。
【００８７】
以上説明した実施形態は典型例として挙げたに過ぎず、その各実施形態の構成要素を組み合わせること、その変形およびバリエーションは当業者にとって明らかであり、当業者であれば本発明の原理および請求の範囲に記載した発明の範囲を逸脱することなく上述の実施形態の種々の変形を行えることは明らかである。
【図面の簡単な説明】
【００８８】
【図１】図１は、本発明の実施形態による、プリント基板上の機能を変更できる半導体集積回路装置としてのプログラマブル・デバイスを用いて、そのプログラマブル・デバイスと、プリント基板上の機能変更またはプログラムできないカスタム・デバイスとの間の結線の良否（短絡／開放）を、バウンダリ・スキャン用の低速度のクロックパルスおよび実速度または高速度のクロックパルスによって検査するための概略的なテスト構成を示している。
【図２】図２は、図１のカスタム・デバイスに予め形成されたクロックパルス切換部の構成およびそれに関係する構成を示している。
【図３】図３は、図１のプログラマブル・デバイスに予め形成されたクロックパルス切換部の構成およびそれに関係する構成を示している。
【図４Ａ】図４Ａおよび４Ｂは、検査装置の制御の下で実行される、プリント基板５上に実装されたプログラマブル・デバイスとカスタム・デバイスの間の結線の良否を検査するための処理のフローチャートを示している。
【図４Ｂ】(図4Aで説明)
【図５Ａ】図５Ａ〜５Ｍは、図４Ａおよび４Ｂのフローチャートに従って、検査装置によって、プログラマブル・デバイスを用いてプリント基板におけるカスタム・デバイスの結線状態を検査する例を示している。
【図５Ｂ】(図5Aで説明)
【図５Ｃ】(図5Aで説明)
【図５Ｄ】(図5Aで説明)
【図５Ｅ】(図5Aで説明)
【図５Ｆ】(図5Aで説明)
【図５Ｇ】(図5Aで説明)
【図５Ｈ】(図5Aで説明)
【図５Ｉ】(図5Aで説明)
【図５Ｊ】(図5Aで説明)
【図５Ｋ】(図5Aで説明)
【図５Ｌ】(図5Aで説明)
【図５Ｍ】(図5Aで説明)
【図６】図６は、通常のカスタム・デバイスにおけるバウンダリ・スキャン・セルを用いた通常の低速度バウンダリ・スキャンの例を示している。
【符号の説明】
【００８９】
１０  検査装置
１３２  実速度クロックパルス発生器
１３４  低速度クロックパルス発生器
２００、４００  機能を変更できる半導体集積回路デバイス
３００  機能が変更できない半導体回路デバイス
２０２、３０２、４０２  クロックパルス切換部
２０４  チェック・データ生成部
４０６  ビット・データ検出部
４０８  比較データ生成部
４１０  テスト・データ比較部
３２２  複数のバウンダリ・スキャン・セル
３２４  フレーム・パルス比較部
３２６  ユーザ・ロジック
【図１】
0005169356.tif 000002
【図２】
0005169356.tif 000003
【図３】
0005169356.tif 000004
【図４Ａ】
0005169356.tif 000005
【図４Ｂ】
0005169356.tif 000006
【図５Ａ】
0005169356.tif 000007
【図５Ｂ】
0005169356.tif 000008
【図５Ｃ】
0005169356.tif 000009
【図５Ｄ】
0005169356.tif 000010
【図５Ｅ】
0005169356.tif 000011
【図５Ｆ】
0005169356.tif 000012
【図５Ｇ】
0005169356.tif 000013
【図５Ｈ】
0005169356.tif 000014
【図５Ｉ】
0005169356.tif 000015
【図５Ｊ】
0005169356.tif 000016
【図５Ｋ】
0005169356.tif 000017
【図５Ｌ】
0005169356.tif 000018
【図５Ｍ】
0005169356.tif 000019
【図６】
0005169356.tif 000020