(57)【要約】  単純な試験パターンデータを使用することができ、基板毎にカスタマイズする必要がない試験回路の生成を可能とし、試験の準備工程を大幅に短縮する。  複数のデバイスのうちで相互に配線接続されるデバイスを示す接続関係と、その接続関係のそれぞれに対応する接続配線の本数と、試験結果を出力するデバイスとを示すデータの入力を受け取り、出力デバイスの出力端子側から接続相手先デバイスを順次探索し、試験ルート上に試験回路モジュールを埋め込んで接続試験回路を生成する。
2008111135.tif 000002
【特許請求の範囲】
【請求項１】
複数のデバイスのうちで相互に配線接続されるデバイスを示す接続関係と、該接続関係のそれぞれに対応する接続配線の本数と、試験結果を出力するデバイスとを示すデータの入力を受け取り、
該複数のデバイス間の相互配線接続に対応して、デバイス間の配線に対する接続試験回路を生成することを特徴とするデバイス間接続試験回路生成方法。
【請求項２】
前記複数のデバイスが、それぞれプログラムによって機能を変更できるプログラマブル・デバイスであることを特徴とする請求項１記載のデバイス間接続試験回路生成方法。
【請求項３】
前記結果出力デバイスの出力端子から、前記相互接続相手先デバイスとの間の接続配線に対応して、接続相手先デバイスを順次探索し、接続試験のための試験ルートを生成することを特徴とする請求項１記載のデバイス間接続試験回路生成方法。
【請求項４】
前記生成された試験ルート上で、前記複数のデバイス内に該試験ルートに対応する試験回路モジュールを埋め込み、前記接続試験回路を生成することを特徴とする請求項３記載のデバイス間接続試験回路生成方法。
【請求項５】
前記試験回路モジュールが、前記複数のデバイスに相当し、プログラムによって機能を変更できるプログラマブル・デバイスの中で実現されることを特徴とする請求項４記載のデバイス間接続試験回路生成方法。
【請求項６】
前記試験回路モジュールとして、前記結果出力デバイスに含まれる出力回路、テストパターンデータを出力する送信回路、該送信回路からの信号を受信する受信回路、および２つの回路から入力される信号を１本の信号線から出力する転送回路を用いることを特徴とする請求項５記載のデバイス間接続試験回路生成方法。
【請求項７】
前記出力回路、および転送回路が、入力されたデータの出力に先立って自回路の出力配線をテストするためのテストパターンデータを出力することを特徴とする請求項６記載のデバイス間接続試験回路生成方法。
【請求項８】
前記生成された試験ルートと、あらかじめ定められたテストパターンデータとに対応して、前記結果出力デバイスから出力されるべき期待値を生成することを特徴とする請求項３記載のデバイス間接続試験回路生成方法。
【請求項９】
前記あらかじめ定められたテストパターンデータに対応して、前記結果出力デバイスから出力される試験結果出力値と、前記生成された期待値とを比較して、前記複数のデバイス間の相互配線接続のうちの不具合配線箇所を検出することを特徴とする請求項８記載のデバイス間接続試験回路生成方法。
【請求項１０】
前記あらかじめ定められたテストパターンデータが、前記デバイス間の接続配線の１本毎に対応する“０”と“１”のデータであり、該テストパターンデータが前記接続配線の１本毎に対応して２サイクルでデバイス間で伝送されることを特徴とする請求項８記載のデバイス間接続試験回路生成方法。
【請求項１１】
複数のデバイスのうちで相互に配線接続されるデバイスを示す接続関係と、該接続関係のそれぞれに対応する接続配線の本数と、試験結果を出力するデバイスとを示すデータの入力を受け取り、該接続配線試験のための試験ルートを探索する試験ルート探索部と、
該探索された試験ルート上に定型的な試験回路モジュールを埋め込んで、接続試験回路を生成し、該接続試験回路で用いられるテストパターンデータに対応して、該接続配線が正常なときに期待される出力パターンデータとしての期待値を生成する試験回路・期待値生成部と、
該生成された期待値と、該生成された接続試験回路上で実行された試験の結果とを比較して、配線の不具合箇所を特定する結果比較部とを備えることを特徴とするデバイス間接続試験回路生成装置。
【請求項１２】
前記複数のデバイスが、それぞれプログラムによって機能を変更できるプログラマブル・デバイスであることを特徴とする請求項１１記載のデバイス間接続試験回路生成装置。
【請求項１３】
前記試験回路モジュールが、前記プログラムによって機能を変更できるプログラマブル・デバイスの中で実現されることを特徴とする請求項１２記載のデバイス間接続試験回路生成装置。
【請求項１４】
前記試験回路モジュールとして、前記結果出力デバイスに含まれる出力回路、テストパターンデータを出力する送信回路、該送信回路からの信号を受信する受信回路、および２つの回路から入力される信号を１本の信号線から出力する転送回路を用いることを特徴とする請求項１３記載のデバイス間接続試験回路生成装置。
【請求項１５】
複数のデバイスのうちで相互に配線接続されるデバイスを示す接続関係と、該接続関係のそれぞれに対応する接続配線の本数と、試験結果を出力するデバイスとを示すデータの入力を受け取る手順と、
該接続配線試験のための試験ルートを探索し、該探索された試験ルート上に定型的な試験回路モジュールを埋め込んで接続試験回路を生成してメモリに出力する手順と、
該接続試験回路で用いられるテストパターンデータに対応して、該接続配線が正常なときに期待される出力パターンデータとしての期待値を生成してメモリに格納する手順と、
該期待値と、該生成された接続試験回路上で実行された試験結果とをメモリから読み出す手順と、
該試験結果と期待値とを比較して配線の不具合箇所を特定する手順とを計算機に実行させることを特徴とするデバイス間接続試験回路生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大規模半導体集積回路（ＬＳＩ）の設計、および製造方式に係り、さらに詳しくは、１つのＬＳＩ基板上に配置される複数のデバイス相互間を接続する接続配線の試験を行うための接続試験回路の生成方法、生成装置、および生成プログラムに関する。
【背景技術】
【０００２】
大規模半導体集積回路（ＬＳＩ）を搭載する半導体基板の最終的な製品は、用途が特定された機能デバイスとしてのＡＳＩＣ（アプリケーション・スペシフィック・インテグレーテッド・サーキット）を用いて量産化されるが、その設計、製造段階においては量産化の前にプロトタイプが作成される。【０００３】
このプロトタイプとしての半導体基板上には、プログラムによって機能変更が可能なＦＰＧＡ（フィールド・プログラマブル・ゲート・アレー）、またはＰＬＤ（プログラマブル・ロジック・デバイス）が多数配置されて、これらのデバイス間の配線接続が行われ、このプロトタイプを用いて論理デバックまでの処理が行われ、最終製品化の前にＦＰＧＡやＰＬＤがＡＳＩＣに変更される形式で開発手順が実行される。【０００４】
このようなプロトタイプの試験においては、半導体基板上に搭載された多数のＦＰＧＡなどのデバイスの間の接続配線の断線やショート、あるいは半田付け不良などに対して十分な試験を行う必要がある。【０００５】
このように基板上に実装されたプロトタイプなどの試験を行う方式として、ＩＥＥＥ標準１１４９．１として標準化されたＪＴＡＧ（ジョイント・テスト・アクション・グループ）方式が用いられているが、この方式の試験を行うためには専用のハードウェア、ソフトウェアなどを準備する必要があり、コストがかかり、また試験回路の準備の期間が長期になるという問題点があった。【０００６】
このように基板上に搭載された多数のＦＰＧＡなどのデバイス間の接続配線チェックを行うための従来技術としての特許文献１では、入力パターン信号を発生する制御回路と、制御回路から入力パターン信号を受信するように結合されたシフトレジスタとからなる試験回路を用いる方法が開示されているが、この方法ではデバイス構成、デバイス間の接続配線の本数、外部のリソースなどを考慮して、事前に基板毎に専用の試験回路を設計する必要があるという問題点があった。【０００７】
また同じく従来技術としての特許文献２には、基板上に配置された多数のＦＰＧＡ間の接続配線情報から、チェックデータと対応する比較データを生成して、結線ミスなどを個別に判定可能とするチェック方法が開示されているが、結果判定のために判定パターンを大量に保持する必要があり、判定データの圧縮変換回路や判定データの保存用メモリが必要となり、また判定結果出力用にＦＰＧＡ毎にコネクタなどの外部リソースも必要となる。このため事前に必要メモリ量を満たすことができるかどうか、あるいは外部リソースの追加なども考慮して設計を行う必要があるという問題点があった。【０００８】
以上のように従来のデバイス間接続配線の試験方式においては、例えばＦＰＧＡの間の接続形態や接続配線の本数によって試験回路を変更する必要があり、基板毎に試験方式を検討し、カスタマイズする必要があり、試験回路生成に手間と時間がかかるという問題点があった。また、試験専用に外部部品や外部接続が必要な場合には、基板設計前に試験方式の検討が必要となるという問題点もあった。
【特許文献１】特開２０００−１２１６９６号「多重ＦＰＧＡシステム用試験回路」
【特許文献２】特開２００４−１５１０６１号「デバイス間結線チェック方法」
【発明の開示】
【０００９】
本発明の目的は、上述の問題点に鑑み、単純な試験パターンデータを使用することができ、また基板毎にカスタマイズする必要がない試験回路の生成を可能とし、試験の準備工程を大幅に短縮することができるデバイス間接続試験回路生成方法を提供することである。
【００１０】
本発明のデバイス間接続試験回路生成方法では、複数のデバイスのうちで相互に配線接続されるデバイスを示す接続関係と、その接続関係のそれぞれに対応する接続配線の本数と、試験結果を出力するデバイスとを示すデータの入力を受け取り、複数のデバイス間の配線接続に対応して接続試験回路を生成する方法が用いられる。
【００１１】
この方法においては、結果出力デバイスの出力端子から、接続相手先デバイスとの間の接続配線に対応して接続相手先デバイスを順次探索し、接続試験のための試験ルートを生成し、生成された試験ルートに、複数のデバイスに対応する、定型化された試験回路モジュールを埋め込み、接続試験回路を生成する方法が用いられる。
【００１２】
本発明のデバイス間接続試験回路生成装置は、上述の試験回路生成方法を用いて接続試験回路の生成を行う装置であり、またデバイス間接続試験回路生成プログラムは上述の生成方法を計算機に実行させるものである。
【００１３】
以上のように本発明によれば、デバイス間の接続関係、各接続関係の配線本数、試験結果出力デバイスのデータから接続試験のための試験ルートが生成され、そのルートに対応して定型化された試験回路モジュールが埋め込まれることによって、自動的に接続試験回路が生成される。
【００１４】
本発明によれば、試験専用のリソースを必要とすることなく、定型化された試験回路モジュールを用いて試験回路の自動生成が可能となり、基板毎に試験方式を検討したり、カスタマイズを行う作業が不必要となり、試験準備工程が大幅に短縮され、大規模半導体集積回路の設計効率向上に寄与するところが大きい。
【図面の簡単な説明】
【００１５】
【図１】本発明のデバイス間接続試験回路生成方法の原理的な機能ブロック図である。
【図２】本実施形態におけるデバイス間接続配線試験方式の全体的なフローの説明図である。
【図３】本実施形態におけるＦＰＧＡ間接続試験回路生成装置の処理を中心とする接続配線試験の概略的なフローの説明図である。
【図４】試験回路の構成例である。
【図５】試験ルート探索処理の詳細フローチャートである。
【図６】送信回路の構成例である。
【図７】受信回路の構成例である。
【図８】転送回路の構成例である。
【図９】出力回路の構成例である。
【図１０】試験回路全体の動作説明図である。
【図１１】試験回路と期待値の生成処理の詳細フローチャートである。
【図１２】探索された試験ルートを示す図である。
【図１３】期待値ファイルの内容を示す図である。
【図１４】期待値データパターンの時間的な配置の説明図である。
【図１５】図４の試験回路を用いた接続配線試験のタイムチャートである。
【図１６】期待値と試験結果の比較による不具合配線リスト出力処理の詳細フローチャートである。
【発明を実施するための最良の形態】
【００１６】
図１は、本発明のデバイス間接続試験回路生成方法の原理的な機能ブロック図である。同図は、一般的にプリント基板上に配置される複数のデバイス、例えば部分的な半導体デバイスとしてのＡＳＩＣの間を接続する接続配線の試験を行うための、デバイス間接続試験回路生成方法の原理的な機能ブロック図である。【００１７】
図１において、まずステップＳ１で複数のデバイスのうちで相互に配線接続されるデバイスを示す接続関係と、その接続関係にそれぞれ対応する接続配線の本数と、試験結果を出力するデバイスとを示すデータの入力が受け取られ、ステップＳ２で結果出力デバイスの出力端子から、前述の相互配線接続相手先デバイスとの間の接続配線に対応して、接続相手先デバイスが順次探索されて接続試験のための試験ルートが生成され、ステップＳ３で生成された試験ルート上の複数のデバイスに、対応する試験回路モジュールが埋め込まれ、接続試験回路が生成される。【００１８】
図２は、本実施形態におけるデバイス間接続試験方式の全体的な処理フローの説明図である。同図においてデバイス間接続試験は、基本的にＦＰＧＡ（フィールド・プログラマブル・ゲート・アレー）間接続試験回路生成装置５の制御によって行われる。【００１９】
図２においてまず基板設計仕様書１からステップＳ１０でＦＰＧＡ間接続パラメータ抽出処理が行われ、抽出された接続関係２、配線数３、および結果出力デバイス４のデータがステップＳ１１でＦＰＧＡ間接続パラメータとしてＦＰＧＡ間接続試験回路生成装置５に入力される。【００２０】
これらのＦＰＧＡ間接続パラメータの入力に対して、ＦＰＧＡ間接続試験回路生成装置５からステップＳ１２で試験回路生成のための回路ＲＴＬ（レジスタ・トランジスタ・ロジック）が出力され、試験回路ＲＴＬ６としてメモリに格納されるとともに、ステップＳ１３で結果出力デバイス４から出力されるべき期待値が出力され、期待値を格納するメモリ７に格納される。【００２１】
ステップＳ１４で試験回路ＲＴＬ６のデータから試験回路をＦＰＧＡ上で実現するためのデータが生成され、基板実装が行われ、またステップＳ１５で基板設計仕様書１から基板設計と製造が行われ、複数のＦＰＧＡ８が搭載された基板９が製造される。この基板９上の各ＦＰＧＡ８は実際の製品としてのＬＳＩチップ上の部分的なデバイスに相当するが、実際の製品としてのＬＳＩチップ上での機能をそのまま果たすものではなく、各ＦＰＧＡ８を接続する基板上の配線を試験するための試験回路が搭載されるものである。すなわち図２の基板９上のＦＰＧＡ８間での接続配線は、実際の製品のＬＳＩチップ上のデバイス、例えばＡＳＩＣの間での接続配線と基本的に同じものであり、この接続配線を試験するための試験回路モジュールが各ＦＰＧＡ８上に必要に応じて搭載される。【００２２】
図２のステップＳ１６で、複数のＦＰＧＡ８が搭載された基板９上でＦＰＧＡ間の接続配線を試験するための接続試験が実行され、試験結果１０がメモリに格納される。この試験結果はステップＳ１７で結果データとしてＦＰＧＡ間接続試験回路生成装置５に入力され、またこの結果データに対応する期待値７もステップＳ１８で同様に入力され、ステップＳ１９で結果データと期待値の比較が行われ、その結果として配線の中に不具合の箇所がある場合には不具合配線リスト１１が出力される。【００２３】
図３は、図２のＦＰＧＡ間接続試験回路生成装置５の処理を中心とするデバイス間接続試験方式のフローの説明図である。同図において、図２でも説明したように試験回路生成装置５に対しては接続関係２、配線数３、および結果出力デバイス４のデータが与えられ、試験回路生成装置５による処理が開始される。【００２４】
試験回路生成装置５においては、まず試験ルート探索部１５による処理が行われる。この試験ルート探索処理においては、結果出力デバイス４の出力端子から、結果出力デバイス４の接続相手先デバイスとの間の接続配線に対応して、接続相手先デバイスが順次探索され、接続試験のための試験ルートが生成される。【００２５】
続いて試験回路・期待値生成部１６による処理が行われる。この処理では、試験ルート探索部１５によって探索された試験ルートに、複数のデバイスに対応する試験回路モジュール１８が埋め込まれ、試験回路とその出力に対する期待値が生成される。試験回路モジュール１８としては本実施形態においては送信回路１９、受信回路２０、転送回路２１、および出力回路２２のいずれかが必要に応じて選択され、各ＦＰＧＡにその機能を実現させるためのプログラムが生成される。これら試験回路モジュールは、後述するように回路図として示すこともできるが、基本的には例えばＶＨＤＬ（ベリー・ハイスピード・インテグレーテッド・サーキット・ハードウェア・デスクリプション・ランゲージ）によって記述されるソースコードの形式で試験回路ＲＴＬ６として出力され、また対応する期待値７も出力される。【００２６】
図２でも説明したように、実際の基板側では試験回路ＲＴＬ６のデータを用いてステップＳ１４でＦＰＧＡデータ生成と基板実装が実行され、ＦＰＧＡデータ２４が生成されてステップＳ１６で接続試験が実行され、試験結果１０が得られる。【００２７】
この試験結果１０と期待値７のデータは、ともに試験回路生成装置５の内部の結果比較部１７に入力され、期待値７と試験結果１０とが比較されて、接続配線の中に不具合箇所がある場合には、その箇所を示す不具合配線リスト１１が出力される。【００２８】
図４は、デバイス間接続試験回路の構成例の説明図である。同図においては、実際のプリント基板上に搭載されるＬＳＩ上で部分的なデバイスに相当する５個のＦＰＧＡ１からＦＰＧＡ５の間での接続配線の試験を行うための試験回路が構成される。【００２９】
本実施形態では、実際の製品としてのＬＳＩチップ上での複数の部分的なデバイスの間を相互に接続する各接続配線の中の断線やショート、あるいは半田付け不良などの不具合箇所を特定することができれば、試験の目的は達成されることになり、各接続配線を流れる信号の方向については実際の製品としてのＬＳＩ上の信号の流れと同一である必要はなく、従って試験結果をどのデバイスから取り出すかは本質的な問題ではなく、任意のデバイスを結果出力デバイスとして指定することができる。【００３０】
図４ではＦＰＧＡ１が、例えば図２でＦＰＧＡ間接続試験回路生成装置５に与えられる結果出力デバイス４として指定され、他の４つのＦＰＧＡ、すなわちＦＰＧＡ２からＦＰＧＡ５までのプログラマブル・デバイスからの信号は最終的にＦＰＧＡ１に集められ、ＦＰＧＡ１から出力されることになる。従って、ＦＰＧＡ１の内部には、図３で説明した試験回路モジュール１８のうちで試験結果を出力するための出力回路２２が必要となる。【００３１】
実際のプリント基板上でＦＰＧＡ１は、ＦＰＧＡ３と１０本の配線によって接続され、またＦＰＧＡ２と１本の配線によって接続されているものとする。ＦＰＧＡ２は、ＦＰＧＡ４とは２０本の配線によって、さらにＦＰＧＡ５とは３０本の配線によって接続されているものとする。このような接続形態は、図２で説明したように基板９の上に搭載されるＦＰＧＡ８、すなわち実際のＬＳＩチップ上で配置される部分的なデバイスの間の接続関係によって決定されるものである。【００３２】
ＦＰＧＡ１の内部には、直接に１０本の配線によって接続されるＦＰＧＡ３から送られるデータを受信する受信回路２０ａが必要となる。また受信回路２０ａによって受信されたデータと、ＦＰＧＡ２から１本の配線によって送られたデータとを、１本の出力経路を介して出力回路２２に出力する転送回路２１ａが必要となる。一般に転送回路は、２本の入力信号線からのデータを、シリアルデータとして１本の信号線から出力するためのものであり、転送回路２１ａはＦＰＧＡ２から１本の配線によって入力されるテストデータと、受信回路２０ａから１本の経路によって入力されるテストデータとをシリアル信号に変換して、出力回路２２に与えることになる。【００３３】
ＦＰＧＡ３の内部には、ＦＰＧＡ１の内部の受信回路２０ａに対して、１０本の配線によってテストデータを送るための送信回路１９ａが必要となる。一般に送信回路１９はシステムのクロック信号とリセット信号とに対応してテストデータを接続相手先デバイスに出力するものであり、送信回路１９に対するデータ入力の必要はない。【００３４】
ＦＰＧＡ２の内部には、ＦＰＧＡ４との間の接続配線２０本によって送信されるテストデータを受信するための受信回路２０ｂ、ＦＰＧＡ５からの３０本の接続配線によって送信されるテストデータを受信するための受信回路２０ｃ、およびこれら２つの受信回路からそれぞれ１本の経路によって与えられるテストデータを、ＦＰＧＡ１との間の１本の配線によって出力するための転送回路２１ｂが必要となる。【００３５】
さらにＦＰＧＡ４の内部には、ＦＰＧＡ２の内部の受信回路２０ｂに対してテストデータを出力する送信回路１９ｂが必要となり、ＦＰＧＡ５の内部には同様に受信回路２０ｃに対してテストデータを出力する送信回路１９ｃが必要となる。【００３６】
図５は、図３の試験ルート探索部１５による試験ルート探索処理の詳細フローチャートである。同図において処理が開始されると、まずステップＳ２１で探索基点が結果出力デバイス、すなわち図４ではＦＰＧＡ１とされ、ステップＳ２２でそのデバイス内に結果を出力するための出力回路がＯＴが挿入される。ステップＳ２３で探索基点としてのＦＰＧＡ１からのすべての接続関係のリストアップが行われる。図４においてはＦＰＧＡ２とＦＰＧＡ３との間の接続関係がリストアップされ、右側に示すようにその接続関係としてのＧ１とＧ４の配線本数が示される。【００３７】
次にステップＳ２４ですべての接続関係が既に網羅されたか否かが判定され、図４では接続関係としてのＧ２とＧ３が残っているために、ステップＳ２５で探索基点が探索済みの接続先、すなわちＦＰＧＡ２とＦＰＧＡ３に移動され、ステップＳ２６で探索基点からの全接続関係のリストアップが行われる。ここでリストアップされるのは、右側に示されるようにＦＰＧＡ２からＦＰＧＡ４とＦＰＧＡ５までの接続関係Ｇ２、Ｇ３であり、それぞれの配線本数が２０本と３０本であることが示される。【００３８】
次にステップＳ２７ですべての接続関係が網羅されたか否かが判定され、図４ではすべての接続関係が網羅されているため、ステップＳ２８で中間接続変換の処理が行われる。ステップＳ２７で接続関係のすべてが網羅されていない場合にはステップＳ２５からの処理が繰り返され、またステップＳ２４ですべての接続関係が網羅されていると判定された場合には直ちにステップＳ２８の処理に移行する。【００３９】
ステップＳ２８では、接続関係の配線のうちで、本数が１本だけの場合にはスルー接続としてのＴＨを用いた表示に変換され、２本以上の場合には必要に応じてスルー接続としてのＴＨと配線本数としてのＧｎを用いた表示形式への変換が行われる。すなわち右側に示すように１本だけの配線に対応するＧ４はスルー接続としてのＴＨ表示に変換される。このＴＨは、図４に示すようにＦＰＧＡ１とＦＰＧＡ２との間での１本の接続配線としてのＧ４に対応して、ＦＰＧＡ１とＦＰＧＡ２とのそれぞれに転送回路が必要なことを示している。図４においては、他に転送回路を必要とする箇所がなく、配線２本以上の接続関係に対するＴＨ＋Ｇｎの表示形式への中間接続変換は行われない。【００４０】
続いてステップＳ２９で回路変換の処理が行われる。この回路変換は、すでに探索された試験ルートに対して転送回路ＦＷ、受信回路ＲＥ、送信回路ＤＲを埋め込むものである。図４において信号が合流する箇所では転送回路ＦＷ、各接続関係の接続先には受信回路ＲＥ、接続元には送信回路ＤＲを埋め込む処理が行われ、ステップＳ３０で試験ルートの探索結果として、試験回路モジュールとしての送信回路、受信回路、転送回路、および出力回路が埋め込まれた試験ルートが出力される。【００４１】
続いて図３で説明した試験回路モジュール１８としての、送信回路から出力回路までの具体的構成例について、図６から図９を用いて説明する。なおこれらの回路はそれぞれ１つの例であり、図３で説明したように試験ルート探索部１５による処理によって試験ルート探索が行われると、その結果を用いて試験回路・期待値生成部１６による処理が行われ、試験回路に対するソースコードが生成される。すなわちこの試験回路ソースコードは前述のように、例えばハードウェア記述言語ＶＨＤＬによって記述されるソースコードであり、実際にＦＰＧＡモジュール上にプログラムされる回路は、そのソースコードに対応する機能を実現できるものであればどのような回路でもよく、図６から図９の回路はあくまで試験回路モジュール１８のそれぞれ１つの例である。【００４２】
図６は送信回路の例である。送信回路はカウンタ２７、テスト・スタートサイクル（ＴＳ）を格納するレジスタ２８、ＴＳの値とカウンタ２７のカウント値Ｃとを比較し、ＣがＴＳ以上となった時に“Ｈ”を出力する比較器２９、各接続関係に対応する配線本数、図４のＧ１では１０本の配線に対応してテストデータを送信するための、図６では５個のＦＦ（フリップ・フロップ）３１から３５、を備えている。【００４３】
図６では、これらのＦＦのうちＦＦ３１と３２は、例えばＦＰＧＡ３とＦＰＧＡ１との間の配線１０本のうちの１本目の配線に対してテストデータ出力を行うためのものであり、ＦＦ３３、３４は、２本目の配線に対するテストデータ出力を行うためのものである。従ってＦＰＧＡ３の内部に備えられる送信回路１９ａにおいては、このようなＦＦが合計２０個必要となるが、１０本のうちで２本目から１０本目の配線に対するそれぞれ２つのＦＦによるテストデータ出力動作は全く同様であるため、図６においては３本目以降の配線に対してデータ出力を行うためのそれぞれ２つのＦＦの表示は、ＦＦ３５を除いて、すべて省略されている。【００４４】
後述するように、図４に対するＦＰＧＡ間の接続配線のテストにおいては、左側のＦＰＧＡ３からＦＰＧＡ５のそれぞれからテストデータが送信されるが、本実施形態においては、例えばまずＦＰＧＡ３とＦＰＧＡ１との間の接続関係Ｇ１の１０本の配線のテストのために１本ずつ、２サイクルでテストデータ“０”と“１”とがそれぞれ送信され、接続関係Ｇ１の配線１０本に対するテストデータの送信が２０サイクルかかって終了した後に、ＦＰＧＡ４とＦＰＧＡ２との接続関係Ｇ２の２０本の配線に対するテストデータ送信が１本ずつ行われるという順序で、図４の回路例に対するテストが行われるものとする。【００４５】
そこで図６が、図４におけるＦＰＧＡ３とＦＰＧＡ１との間の接続関係Ｇ１に対するテストデータを送信する送信回路１９ａであるとすると、全体の試験開始時のサイクル０において比較器２９が“Ｈ”を各ＦＦ３１から３５のイネーブル端子に与えることによって、接続関係Ｇ１に対応する１０本の配線に対するテストデータの送信が開始される。この時カウンタ２７はリセット信号ＲＳＴによってリセットされているものとする。【００４６】
このサイクル０においてＦＦ３１はプリセットされており、その出力Ｑは“１”となっている。他のＦＦ３２から３５はリセット信号ＲＳＴによってすべてクリアされており、それらの出力Ｑはすべて“０”となっている。【００４７】
クロック信号ＣＫによって決定されるサイクル数が“１”となると、ＦＦ３１のデータ入力は接地されているため、その出力Ｑは“０”となり、ＦＦ３２の出力は“１”に変化し、ＦＦ３３から３５の出力はすべて“０”のままとなる。従ってサイクル０、１においてＦＦ３２の出力Ｑは“０、１”となり、この値を図４のＦＰＧＡ１の内部の受信回路２０ａで受信することによって、Ｇ１の１０本の配線のうち、１本目の配線に対するテストデータとして“０”と“１”が送られることになる。同様にしてＦＦ３４の出力Ｑを考えると、サイクル０から３に対してその値は“０、０、０、１”となり、サイクル２と３に対する出力を受信回路２０ａ側で受信することによって、２本目の配線に対するテストデータ送信が行われる。【００４８】
前述のように３本目から１０本目の配線に対するテストは、２本目の配線に対すると全く同様に行われる。また図６の送信回路がＦＰＧＡ４の内部の送信回路１９ｂである場合には、この送信回路に対するテスト・スタートサイクルは接続関係Ｇ１の配線本数に対して“０”と“１”のデータを送るためのサイクル数、すなわちＧ１の本数の２倍のサイクル２０となる。ＦＰＧＡ５の内部の送信回路１９ｃに対するテスト・スタートサイクルは同様にＧ１とＧ２の本数の和の２倍のサイクル６０となる。【００４９】
図７は受信回路の構成例である。同図において受信回路は、クロックＣＫをカウントするカウンタ３８、受信回路の動作開始、すなわちテスト・スタートサイクルＴＳを格納するレジスタ３９、テスト・スタートサイクルＴＳとカウンタ３８のカウント値Ｃとを比較し、ＣがＴＳ以上となった時に“Ｈ”を出力する比較器４０、受信回路において対応する送信回路から送られたテストデータを内部のＦＦに格納した後に、それらのテストデータをシリアル信号として出力する出力開始サイクルとしてのリザルト・スタートサイクルＲＳを格納するレジスタ４１、カウンタ３８のカウント値ＣがＲＳ以上となった場合に“Ｈ”を出力する比較器４２、テストデータを対応する送信回路側から受け取り、一時的に格納するＦＦ（図７では、ＦＦ５２、５３、５７、５８）に対してイネーブル信号を与えるためのＦＦ４５から４８、対応する送信回路側からのテストデータを受け取るためのセレクタ５０、５１、対応する送信回路側との接続配線、例えば１０本のうちの１本目の配線を介して送信されるテストデータを一時的に格納するための２つのＦＦ５２、５３、同様に２本目の配線を介して送信されるテストデータを一時的に格納するためのＦＦ５７、５８、それぞれ２つのＦＦ５２、５３、および５７、５８に対してイネーブル信号を出力するＯＲゲート５４、５９を備えている。【００５０】
図７において、システム全体に対応するサイクル数がＴＳの値となり、比較器４０が“Ｈ”を出力すると、右側で縦に並んでいるすべてのＦＦ４５から４８に対してイネーブル信号が与えられる。この時ＦＦ４５に対してはプリセット入力が与えられ、その出力Ｑは“１”となっており、ＦＦ４５はテスト・スタート時、すなわち第１サイクルにおいてＯＲゲート５４を介して２つのＦＦ５２と５３に対してイネーブル信号を与える。この時比較器４２はまだ“Ｈ”を出力しておらず、セレクタ５０はその入力端子Ａに入力される信号、すなわち対応する送信回路から送られるテストデータを出力端子Ｘから出力し、そのデータはＦＦ５２に与えられる。【００５１】
第２サイクルにおいては、ＦＦ４５のデータ入力端子が接地されているため、ＦＦ４５の出力Ｑは“０”となるが、この時ＦＦ４６のデータ出力Ｑは“１”となり、ＯＲゲート５４を介して再びＦＦ５２と５３に対してイネーブル信号が与えられる。そしてＦＦ５２の出力Ｑ、後述するようにテストデータ２ビットのうちで最初のビットは“０”であり、その値がＦＦ５３に与えられるとともに、次のテストデータ、すなわち対応する送信回路から１本目の配線を介して送信されるテストデータ“１”がＦＦ５２に与えられる。【００５２】
第３サイクルではＦＦ４７の出力Ｑが“１”となり、ＯＲゲート５９を介して２つのＦＦ５７と５８に対してイネーブル信号が与えられる。この時点では２つのＦＦ４５、４６の出力Ｑはともに“０”となっており、１番目の配線に対応する２つのＦＦ５２、５３に対してはイネーブル信号が与えられない。【００５３】
第４サイクルにおいてはＦＦ４８の出力が“１”となり、ＯＲゲート５９を介して再び２つのＦＦ５７、５８に対するイネーブル信号が与えられる。第３、第４サイクルにおいて、セレクタ５１は入力端子Ａからの信号を選択するために、２本目の配線から入力される２ビットのテストデータ“０”、“１”は２つのＦＦ５７、５８に次々と格納されることとなる。【００５４】
図示しない３本目から、例えば１０本目の配線までを介して送信回路側から送られるデータは、それぞれ対応する２つのＦＦに格納されることになる。このデータ格納が終了する時点でシステム全体のサイクル数はレジスタ４１に格納されているＲＳの値となり、その結果比較器４２からセレクタ５０、５１に対する選択制御信号“Ｈ”が与えられ、セレクタ５０、５１は入力端子Ｂからの入力を出力端子Ｘを介してＦＦ５２、５７に出力することになる。また比較器４２からＯＲゲート５４、５９を介してそれぞれ２つのＦＦ５２、５３、および５７、５８に対するイネーブル信号が与えられる。そこでこれらのＦＦ群、１本の配線について２個ずつのＦＦ、１０本の配線に対しては合計２０個のＦＦに格納されたテストデータは、クロック信号の入力毎にこれら２０個のＦＦの間で順次シフトされ、シリアル信号として、例えば図４のＦＰＧＡ１の内部の受信回路２０ａから転送回路２１ａに対して出力されることになる。【００５５】
なお図６の送信回路でも同様であるが、図７の受信回路において右側に並んでいるＦＦの数、各配線毎に必要となるセレクタ、２つのＦＦ、およびＯＲゲートはＦＰＧＡ間の接続配線の本数に対応して必要となるものである。実際にはハードウェア記述言語ＶＨＤＬによって記述されるソースコードの内部ではこの配線本数はパラメータとして指定可能であり、そのパラメータの値を適切な値に指定することによって、実際のＦＰＧＡの内部で必要な個数のＦＦなどの機能がすべて実現されることになる。この意味で、図３で説明した試験回路モジュール１８としての送信回路１９、受信回路２０、転送回路２１、および出力回路２２は配線本数が異なっても汎用的に利用可能なモジュールである。【００５６】
図８は転送回路の構成例である。転送回路は前述のように２本の信号線、すなわち配線から入力されるテストデータを、１本の信号線、すなわち配線からシリアルに出力するためのものであり、２本の配線からのデータをセレクタ出力を切り替えて受け取ることによって、シリアル信号として出力可能とするものである。【００５７】
図８において転送回路はクロック信号をカウントするカウンタ６１、セレクタの２つの入力端子のうち、一方の入力端子Ａからのテストデータの、出力回路、または他の転送回路への出力を開始するリザルト・スタート・サイクルＲＳＡを格納するレジスタ６２、カウンタ６１のカウント値ＣがＲＳＡ以上となった時に“Ｈ”を出力する比較器６３、セレクタの他方の入力端子Ｂから入力されるテストデータの、出力回路、または他の転送回路への出力を開始するリザルト・スタート・サイクルＲＳＢを格納するレジスタ６４、カウンタ６１のカウント値ＣがＲＳＢ以上となった時に“Ｈ”を出力する比較器６５、２本の信号線からの入力データを選択するセレクタ６６、２つのＦＦ６７、６８によって構成されている。【００５８】
図８においてシステム全体のサイクル数がＲＳＡ以上であれば、比較器６３から２つのＦＦ６７、６８に対してイネーブル信号が与えられる。サイクル数がＲＳＡ以上であり、ＲＳＢ未満である時には、比較器６５の出力は“Ｌ”であり、この時セレクタ６６は入力端子Ａからの信号を選択して、その信号をＦＦ６７に与える。この期間においては、クロック信号の入力毎に、一方の配線からセレクタ６６の入力端子Ａを介して入力されたテストデータＳＩＡは２つのＦＦ６７、６８上でシフトされ、シリアル信号として出力回路、または他の転送回路に与えられる。【００５９】
システムのサイクル数がＲＳＢ以上となると、セレクタ６６は他方の入力端子Ｂから入力されるテストデータＳＩＢをＦＦ６７に出力する。この時２つのＦＦ６７、６８に対しては、依然としてイネーブル信号が与えられており、入力端子Ｂから入力されるテストデータは２つのＦＦ６７、６８を介して次々とシリアル信号として出力回路、または他の転送回路に与えられることになる。【００６０】
なおシステムのサイクル数がＲＳＡと一致した時点では、ＦＦ６７はリセット信号によってプリセットされており、その出力Ｑは“１”である。一方ＦＦ６８はクリアされており、その出力Ｑは“０”である。したがってシステムサイクル数がＲＳＡと一致したサイクルにおいては、ＦＦ６８から“０”が、その次のサイクルではＦＦ６７に格納されていたデータ“１”が出力される。これらのデータは入力されたテストデータではなく、転送回路の内部の２つのＦＦ６７、６８に保持されていたデータであり、このデータに対応する最終的な出力回路の出力の値を調べることによって、転送回路から出力回路、または転送回路から他の転送回路への配線接続に対する試験を行うことが可能となる。【００６１】
図９は出力回路の構成例である。出力回路は一般的に転送回路から送られてくるシリアル信号を、適切なタイミングで試験結果出力信号としてシリアルに出力するためのものであり、システムサイクル数が適切な値、ここではＲＳに達した時点で動作を開始するものである。【００６２】
図９において出力回路は、クロック信号をカウントするカウンタ７０、ＲＳの値を格納するレジスタ７１、カウンタ７０のカウント値ＣがＲＳ以上となった時に“Ｈ”を出力する比較器７２、クロック信号の入力毎に入力データをシフトさせて出力するための２つのＦＦ７３、７４によって構成されている。【００６３】
図９においてシステムサイクル数がＲＳの値に達し、比較器７２から２つのＦＦ７３、７４に対してイネーブル信号が与えられると、入力データ、図４では転送回路２１ａから与えられる入力データが２つのＦＦ７３、７４を介して次々と出力される。この場合、図８で説明した転送回路と同様に、最初の２サイクルにおいてはＦＦ７３、７４に格納されていたデータとしての“０”、“１”が次々と出力されることになり、出力回路からの出力配線自体の試験が可能となる。【００６４】
図１０は図４の試験回路全体の動作を説明するための図である。同図において３つの送信回路１９ａ、１９ｂ、１９ｃからテスト（パターン）データが出力され、これらのデータは最終的に出力回路２２から出力される。全体の動作は、試験回路全体を１つのシステムとして、そのシステムのサイクル数に対応して制御される。このサイクル数はクロック信号に対応するサイクル数である。【００６５】
図４で説明した各ＦＰＧＡの間の配線接続の試験を行うために、各配線に対応して時間的に重ならないように“０”と“１”の２ビットのテストデータが各送信回路から送信され、最終的に出力回路２２から出力される。出力結果信号のデータパターンを、各接続配線が正常である場合の期待値のデータパターンと比較して、それぞれの配線に不具合がないか否かが判定される。【００６６】
図１０においては、まずサイクル０で送信回路１９ａから受信回路２０ａまでの１０本の配線に対応して１本の配線毎に２サイクル、最初のサイクルでは“０”、次のサイクルでは“１”のテストデータが送信され、サイクル１９において１０本の配線に対応するテストデータの送信が終了する。【００６７】
次に送信回路１９ｂから受信回路２０ｂに対する２０本の配線に対応して、サイクル２０からサイクル５９において、１本毎の配線に対して２サイクルで“０”と“１”のテストデータが送信され、ついで送信回路１９ｃから受信回路２０ｃへの３０本の配線に対応して、サイクル６０からサイクル１１９において、１本毎の配線に対して２サイクルで“０”と“１”のテストデータが送信される。【００６８】
以上によって、３つの送信回路１９ａから１９ｃからそれぞれ対応する受信回路までの配線、合計６０本の配線接続を試験するためのテストデータの送信が終了したことになるので、続いて対応する受信回路においてＦＦ群に格納されたデータの転送回路への出力が開始される。まず受信回路２０ａから、サイクル１２０において転送回路２１ａへのテストデータの出力が開始される。その出力はサイクル１３９において終了する。【００６９】
一方受信回路２０ｂ内のＦＦ群に格納されたデータは転送回路２１ｂに出力される。このデータ出力はサイクル１４０において開始され、サイクル１７９で終了する。この時、転送回路２１ｂは、受信回路２０ｂからサイクル１４０において出力が開始されたテストデータをそのまま転送回路２１ａに出力することができる。転送回路２１ａでは、サイクル１４０において、図８で説明したセレクタ６６への２つの入力端子のうち、入力端子Ｂからの信号を出力するようにセレクタ６６が制御され、転送回路２１ｂから入力される信号を受け取ることになる。【００７０】
さらに受信回路２０ｃは、受信回路２０ｂから転送回路２１ｂへのテストデータの出力が終了したサイクル１８０において、その内部のＦＦ群に格納されているテストデータの出力を開始し、転送回路２１ｂは内部のセレクタの入力端子の切り替えを行うことによって、このデータを受け取ることになる。このデータ出力はサイクル２３９において終了する。【００７１】
さらに出力回路２２は、転送回路２１ａに対して受信回路２０ａからテストデータが出力され始めるサイクル１２０においてテストデータの出力を開始する。このテストデータの出力は、送信回路１９ａから受信回路２０ａに送られたテストデータ、次に送信回路１９ｂから受信回路２０ｂに送られたテストデータ、最後に送信回路１９ｃから受信回路２０ｃに送られたテストデータの順序で出力されるが、図８の転送回路、図９の出力回路に対して説明したように、これらの回路の内部のそれぞれ２個のＦＦにあらかじめ保持されていたデータが最初に出力されるために、まず最初に出力回路２２の出力配線に対応する２サイクル分のテストデータ、次に転送回路２１ａから出力回路２２までの接続配線に対する２サイクル分のテストデータが出力された後に、受信回路２０ａ内のＦＦ群に格納されていたテストデータが出力され、さらにその後転送回路２１ｂから転送回路２１ａに対する１本の配線に対応するテストデータ２サイクル分が出力され、さらにその後受信回路２０ｂ内のＦＦ群に保持されていたテストデータが出力され、最後に受信回路２０ｃ内のＦＦ群に保持されていたテストデータが出力されることになる。【００７２】
なお図１０において、各受信回路と転送回路に対応するレジスタと比較器はそれぞれ１つに省略して示されている。図７、および図８で説明したように、受信回路ではＴＳとＲＳとを格納する２つのレジスタ、およびこれらの値とカウンタのカウント値とを比較する比較器がそれぞれ２つ存在し、図８では同様にＲＳＡとＲＳＢとを格納するレジスタ、これらの値とカウンタのカウント値と比較する比較器がそれぞれ２つ必要であるが、図１０では簡単のためにこれらのレジスタと比較器とをそれぞれ１つずつだけに省略して示している。【００７３】
以上の説明においては、図４の試験回路構成例に対応して用いられる各試験回路モジュールの構成やテスト動作について具体的に説明したが、このような試験回路モジュールの埋め込みやそれに対応する期待値の生成は、当然より一般的な処理として実現することができる。図１１は、図５において探索試験ルートが出力された後に、その試験ルートに試験回路モジュールを埋め込み、期待値を生成する試験回路・期待値生成部１６による処理のフローチャートである。【００７４】
図１１において試験回路、および期待値生成処理は、図１２に示す探索試験ルート１２の内容に対応して行われる。処理が開始されると、まずステップＳ３５で処理の基点が結果出力デバイス、図４ではＦＰＧＡ１に移動され、ステップＳ３６で出力回路と出力回路に対する期待値が挿入される。この期待値は出力回路の出力配線１本に対する２ビットの期待値であり、その値は期待値ファイルに挿入される。ここでＦＰＧＡ１は結果出力デバイスから見て第１層のＦＰＧＡであり、その中で出力回路ＯＴは最初の階層、すなわち１階層に属し、（１）の番号が付けられる。【００７５】
続いてステップＳ３７で基点が次の階層に移動される。次の階層とは図１２で第１層ＦＰＧＡの内部の２階層である。そしてステップＳ３８でその２階層に分岐があるか否かが判定される。図４のＦＰＧＡ１の内部では２階層は転送回路２１ａに相当し、出力回路２２側から逆に見ればこの回路は分岐回路に相当するため、ステップＳ３９でその分岐に対応する転送回路と、その転送回路の出力配線に対応する期待値の挿入が行われる。これは図１２で２階層の（２）に相当する。【００７６】
続いてステップＳ４０で基点がさらに次の階層、すなわち図１２における３階層へ移動される。なおここではステップＳ３８で分岐がありと判定されたが、分岐がない場合にはステップＳ３９の処理を行うことなく、ステップＳ４０の処理に移行することは当然である。【００７７】
続いてステップＳ４１で同階層の接続がリストアップされ、ステップＳ４２でリストアップされた接続がグループとしてセットされ、ステップＳ４３でそのグループ、ここでは図１２の３階層に相当するグループ内に受信回路があるか否かが判定される。この３階層はＦＰＧＡ１の内部の受信回路２０ａに相当し、このためステップＳ４３で受信回路があると判定され、ステップＳ４４で受信回路と、その受信回路に相当する期待値が挿入される。この受信回路は（３）に相当する。【００７８】
続いてステップＳ４６で、ステップＳ４１でリストアップされた接続リストのすべてに対する処理が終了したか否かが判定され、ここでは図１２の３階層にもう１本の接続配線があるため、残っている接続、ここでは１本だけでステップＳ４２に戻って接続グループがセットされ、ステップＳ４３で再び受信回路があるか否かが判定されるが、残っている接続は受信回路に対応するものでないために、ステップＳ４５でスルー接続、図１２では（４）のＴＨで示されるスルー接続が挿入され、続いてステップＳ４６で３階層でリストアップされた接続に対する処理が終了したと判定され、ステップＳ４７で基点がさらに次の階層、すなわち４階層に移される。【００７９】
ステップＳ４８で４階層における接続がリストアップされ、ステップＳ４９で接続グループがセットされる。そしてステップＳ５０で送信回路がその接続グループ内にあるか否かが判定され、ここでは４階層の内部に送信回路ＤＲがあるため、ステップＳ５１で（５）として送信回路が挿入される。【００８０】
ステップＳ５３で４階層でリストアップされた接続に対する処理がすべて終了したか否かが判定され、ここではＴＨを含む接続がまだ残っているため、ステップＳ５０で送信回路があるか否かが判定され、ステップＳ５２でスルー接続が（６）として挿入され、ステップＳ５３で４階層でリストアップされた接続に対する処理が終了したと判定され、ステップＳ５４でさらに次の階層があるかないかが判定される。ここではまだ５階層以下があるため、ステップＳ３７に戻り、処理が繰り返される。【００８１】
以降の処理を概略的に説明すると、ステップＳ３９で５階層に対応して（７）に示すように転送回路と対応する期待値が挿入され、ステップＳ４４で６階層に含まれる２つの受信回路に対応して（８）、および（９）の受信回路と期待値がそれぞれ挿入され、またステップＳ５１で７階層に対する２つの送信回路（１０）、および（１１）が挿入されて、ステップＳ５４で次の階層がないと判定され、ステップＳ５５で試験回路ＲＴＬ６と期待値７が出力されて処理を終了する。【００８２】
図１３は、図４、および図１０の回路例に対応する期待値ファイルの内容である。期待値ファイルは、探索試験ルートにおいて出力回路側から見て順次、図４の出力回路２２に対する期待値パターン２ビット、転送回路２１ａに対する期待値パターン２ビット、送信回路１９ａから受信回路２０ａまでの接続関係Ｇ１に対する合計２０ビットのパターン、転送回路２１ｂから転送回路２１ａまでの転送回路２１ｂの出力配線に対応する２ビットのパターン、送信回路１９ｂから受信回路２０ｂに対する接続関係Ｇ２に対応する合計４０ビットのパターン、および送信回路１９ｃから受信回路２０ｃに対する接続関係Ｇ３に対応する合計６０ビットのパターンから構成される。【００８３】
図１４は、期待値のデータパターンの時間的な配置の説明図である。期待値全体は２サイクル分２ビットの“０、１”パターンが６３個並んだ形式であるが、その時間的構成は、まず最初に図４の出力回路２２の出力配線に対応する“０、１”パターン、次に転送回路２１ａの出力配線に対応する“０、１”パターン、その次に接続関係Ｇ１の試験に対応する“０、１”パターン１０個が続き、その後に転送回路２１ｂの出力配線、すなわち接続関係Ｇ４に相当する１個の“０、１”パターン、さらにその後に接続関係Ｇ２に対応する２０個の“０、１”パターン、接続関係Ｇ３に対応する３０個の“０、１”パターンが続くことになる。ここで各“０、１”パターンは各配線に対してローデータ“０”が与えられた場合の試験結果と、ハイデータ“１”が与えられた場合の試験結果とを示すものである。【００８４】
図１５は、図４の試験回路に対する接続配線試験のタイムチャートである。同図において、まずテストデータの送信が行われる。最初に図４の送信回路１９ａからの出力配線、すなわちＧ１の１０本の配線のうち、１本目から順次テストデータの送信が行われる。このテストデータ出力はクロックの立ち上がりに対応して、例えばＧ１［１］のようなパルス波形を与えることによって行われる。Ｇ１に対応する１０本の配線に対するテストデータの出力が終わると、次に接続関係Ｇ２の２０本の配線に対するテストデータの送信が行われ、最後に接続関係Ｇ３に対応する３０本の配線のうちで、最後の３０本目に対するテストデータが送信されてテストデータの送信を終了する。【００８５】
その後、出力回路２２からのデータ出力が行われるが、まず最初に出力される２ビットのデータパターンは出力回路２２の出力配線に対応する“０、１”パターンであり、次の２ビットの出力は転送回路２１ａの出力配線に対応する“０、１”パターンであり、その後接続関係Ｇ１、Ｇ２、およびＧ３の各配線に対応する２ビットのデータパターンが次々と出力される。【００８６】
なお図１４で説明したように、接続関係Ｇ１に対する合計１０個の“０、１”パターンの出力の後に、転送回路２１ｂからの出力配線、すなわち接続関係Ｇ４に対応する試験結果２ビットが、接続関係Ｇ２に対応する配線の試験結果出力前に出力されることになる。またここでは接続配線に不具合がないものとして、出力パターンを“０、１”として説明したが、接続関係に不具合がある場合にはこの２ビットのパターンは、例えば“０、０”、または“１、１”となって、出力開始の先頭サイクルからのサイクル数をカウントすることによって不具合配線の位置を特定することが可能となる。さらに最初の出力回路２２の出力配線に対する試験結果出力の後に出力される転送回路２１ａの出力配線に対するテスト結果は、ＦＰＧＡ１の内部の接続配線に対応する結果であり、この結果は本発明が対象とするＦＰＧＡ相互間での接続配線の試験としては不必要な結果である。【００８７】
図１６は、試験結果を用いた不具合配線検出処理の詳細フローチャートである。同図においては、図２で説明したように期待値７と試験結果１０とを用いて、不具合配線リスト１１の出力処理が行われる。まずステップＳ６１で試験結果と期待値が読み込まれ、ステップＳ６２で構成情報の読み込みが行われる。構成情報とは図１３で説明した期待値ファイルの上半分に示されている探索試験ルートの構成情報であり、まず最初の構成情報として出力回路が読み込まれる。【００８８】
そしてステップＳ６３でその構成情報が受信回路であるか否かが判定され、ここでは受信回路でないため、ステップＳ６５でその構成情報に対応する配線の本数Ｎが“１”とされた後に、ステップＳ６６の処理に移行する。ステップＳ６３で受信回路であった場合には、その受信回路への入力配線の本数、すなわち接続関係に対応する配線本数Ｎが読み込まれた後に、ステップＳ６６の処理に移行する。【００８９】
ステップＳ６６では次のステップＳ６７からステップＳ７２までのループ処理の回数Ｌが“１”にリセットされ、ステップＳ６７で期待値が２ビット読み込まれる。ここでまず読み込まれる２ビットは出力回路の出力配線に対応する２ビットのパターン“０、１”であり、ステップＳ６８でそれに対応する試験結果、すなわち最初から２ビットの値が読み込まれ、ステップＳ６９でこれらの２ビットの値がそれぞれ一致するか否かが判定され、一致しない場合にはステップＳ７０で一致しない結果に対応する配線が不具合リストに出力された後に、また一致した場合には直ちにステップＳ７１の処理に移行する。【００９０】
ステップＳ７１でループ回数ＬがステップＳ６５で設定、またはステップＳ６４で読み込まれた本数Ｎに一致するか否かが判定され、一致しない場合にはステップＳ７２でＬの値がインクリメントされた後にステップＳ６７以降の処理が繰り返される。ここでは最初の出力回路の試験結果に対する比較が行われるためにＮの値は“１”であり、直ちにステップＳ７３の処理に移行し、次の構成情報があるか否かが判定される。ここでは次の構成情報として転送回路の情報があるため、ステップＳ６２でその構成情報が読み込まれ、ステップＳ６３以降の処理が繰り返される。【００９１】
以降の処理を概略的に説明すると、二つの転送回路の構成情報に対してはステップＳ６５で本数Ｎが“１”に設定され、２ビットの期待値と２ビットの試験結果との比較がそれぞれ１回だけ行われるのに対して、例えば接続関係Ｇ１の構成情報に対してはステップＳ６３で受信回路と判定され、ステップＳ６４でＮの値が１０とされ、ステップＳ６７からＳ７２のループが１０回繰り返され、連続する１０個の２ビットの期待値パターンと２ビットの試験結果のパターンとが次々と比較され、次に接続関係Ｇ２、最後に接続関係Ｇ３に対して試験結果と期待値との比較が行われ、ステップＳ７４で期待値比較結果が不具合配線リスト１１として出力される。【００９２】
以上詳細に説明したように、本実施形態においては、試験回路モジュールとして定型的、汎用的な回路を用い、各回路を分離・独立動作可能とすることにより、デバイス間の接続形式や接続配線の本数に影響されずに、デバイス間の配線１本からその接続試験が可能となる。
【図１】
2008111135.tif 000003
【図２】
2008111135.tif 000004
【図３】
2008111135.tif 000005
【図４】
2008111135.tif 000006
【図５】
2008111135.tif 000007
【図６】
2008111135.tif 000008
【図７】
2008111135.tif 000009
【図８】
2008111135.tif 000010
【図９】
2008111135.tif 000011
【図１０】
2008111135.tif 000012
【図１１】
2008111135.tif 000013
【図１２】
2008111135.tif 000014
【図１３】
2008111135.tif 000015
【図１４】
2008111135.tif 000016
【図１５】
2008111135.tif 000017
【図１６】
2008111135.tif 000018
【手続補正書】
【提出日】平成21年3月4日(2009.3.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のデバイスのうちで相互に配線接続されるデバイスを示す接続関係と、該接続関係のそれぞれに対応する接続配線の本数と、試験結果を出力するデバイスとを示すデータの入力を受け取り、
該複数のデバイス間の相互配線接続に対応して、デバイス間の配線に対する接続試験回路を生成することを特徴とするデバイス間接続試験回路生成方法。
【請求項２】
前記結果出力デバイスの出力端子から、前記相互接続相手先デバイスとの間の接続配線に対応して、接続相手先デバイスを順次探索し、接続試験のための試験ルートを生成することを特徴とする請求項１記載のデバイス間接続試験回路生成方法。
【請求項３】
前記生成された試験ルート上で、前記複数のデバイス内に該試験ルートに対応する試験回路モジュールを埋め込み、前記接続試験回路を生成することを特徴とする請求項２記載のデバイス間接続試験回路生成方法。
【請求項４】
前記試験回路モジュールが、前記複数のデバイスに相当し、プログラムによって機能を変更できるプログラマブル・デバイスの中で実現されることを特徴とする請求項３記載のデバイス間接続試験回路生成方法。
【請求項５】
前記試験回路モジュールとして、前記結果出力デバイスに含まれる出力回路、テストパターンデータを出力する送信回路、該送信回路からの信号を受信する受信回路、および２つの回路から入力される信号を１本の信号線から出力する転送回路を用いることを特徴とする請求項４記載のデバイス間接続試験回路生成方法。
【請求項６】
前記生成された試験ルートと、あらかじめ定められたテストパターンデータとに対応して、前記結果出力デバイスから出力されるべき期待値を生成することを特徴とする請求項２記載のデバイス間接続試験回路生成方法。
【請求項７】
前記あらかじめ定められたテストパターンデータに対応して、前記結果出力デバイスから出力される試験結果出力値と、前記生成された期待値とを比較して、前記複数のデバイス間の相互配線接続のうちの不具合配線箇所を検出することを特徴とする請求項６記載のデバイス間接続試験回路生成方法。
【請求項８】
前記あらかじめ定められたテストパターンデータが、前記デバイス間の接続配線の１本毎に対応する“０”と“１”のデータであり、該テストパターンデータが前記接続配線の１本毎に対応して２サイクルでデバイス間で伝送されることを特徴とする請求項６記載のデバイス間接続試験回路生成方法。
【請求項９】
複数のデバイスのうちで相互に配線接続されるデバイスを示す接続関係と、該接続関係のそれぞれに対応する接続配線の本数と、試験結果を出力するデバイスとを示すデータの入力を受け取り、該接続配線試験のための試験ルートを探索する試験ルート探索部と、
該探索された試験ルート上に定型的な試験回路モジュールを埋め込んで、接続試験回路を生成し、該接続試験回路で用いられるテストパターンデータに対応して、該接続配線が正常なときに期待される出力パターンデータとしての期待値を生成する試験回路・期待値生成部と、
該生成された期待値と、該生成された接続試験回路上で実行された試験の結果とを比較して、配線の不具合箇所を特定する結果比較部とを備えることを特徴とするデバイス間接続試験回路生成装置。
【請求項１０】
複数のデバイスのうちで相互に配線接続されるデバイスを示す接続関係と、該接続関係のそれぞれに対応する接続配線の本数と、試験結果を出力するデバイスとを示すデータの入力を受け取る手順と、
該接続配線試験のための試験ルートを探索し、該探索された試験ルート上に定型的な試験回路モジュールを埋め込んで接続試験回路を生成してメモリに出力する手順と、
該接続試験回路で用いられるテストパターンデータに対応して、該接続配線が正常なときに期待される出力パターンデータとしての期待値を生成してメモリに格納する手順と、
該期待値と、該生成された接続試験回路上で実行された試験結果とをメモリから読み出す手順と、
該試験結果と期待値とを比較して配線の不具合箇所を特定する手順とを計算機に実行させることを特徴とするデバイス間接続試験回路生成プログラム。
【国際調査報告】
2008111135.tif 000019
2008111135.tif 000020
2008111135.tif 000021
2008111135.tif 000022