(57)【特許請求の範囲】
【請求項１】
複数のサーバコンピュータおよびクライアントコンピュータが、回路の入力パタンの乱数発生および故障シミュレーションにより故障検出できた入力パタンを選択してテストパタンを生成するＲＴＧ（Ｒａｎｄｏｍ  Ｔｅｓｔ  Ｇｅｎｅｒａｔｉｏｎ）処理を行い、回路情報から分割抽出した部分回路の情報ごとに、未検出故障に対し故障検出アルゴリズムを用いてテストパタンを生成するＡＴＧ（Ａｌｇｏｒｉｔｈｍｉｃ  Ｔｅｓｔ  Ｇｅｎｅｒａｔｉｏｎ）処理を分散処理し、これら処理により生成および一時保持された生成テストパタンを圧縮し前記回路のテストパタンとするテストパタン生成方法において、
前記生成テストパタンの保持パタン数に基づきＡＴＧ開始条件および圧縮開始条件が満たされているか判定し、前記ＡＴＧ開始条件が満たされた場合、前記ＡＴＧ処理を分散処理し、前記圧縮開始条件が満たされた場合、前記生成テストパタンから抽出基準値以下のパタン数だけ分割抽出した部分テストパタンごとに、テストパタンの圧縮処理を分散処理し、
これら分散処理により圧縮および一時保持された圧縮テストパタンを全パタンで更に圧縮することを特徴とするテストパタン生成方法。
【請求項２】
前記生成テストパタンの保持パタン数が保持基準値を超えず且つ前記ＡＴＧ処理の対象となる部分回路の情報が全て分割抽出されていなく且つ故障検出率が目標故障検出率に達していない場合、前記ＡＴＧ開始条件が満たされ、
前記生成テストパタンの保持パタン数が保持基準値を超えている場合、前記ＡＴＧ処理の対象となる部分回路の情報が全て分割抽出され且つ前記ＡＴＧ処理が終了した場合、故障検出率が目標故障検出率に達し且つ前記ＡＴＧ処理が終了した場合、前記圧縮開始条件がそれぞれ満たされる、請求項１のテストパタン生成方法。
【請求項３】
前記クライアントコンピュータが、前記ＡＴＧ開始条件が満たされているか否か判定し、
前記ＡＴＧ開始条件が満たされている場合、前記回路情報およびその故障情報から前記部分回路およびその未検出故障の情報を１組だけ分割抽出しＡＴＧ開始指示と共に無処理のサーバコンピュータの１つへ送信し、
前記圧縮開始条件が満たされている場合、前記生成テストパタンおよび前記故障情報から前記部分テストパタンと、この部分テストパタンで検出され且つ前記圧縮テストパタンで検出されない検出故障の情報とを１組だけ分割抽出し圧縮開始指示と共に無処理のサーバコンピュータの１つへ送信し、
前記複数のサーバコンピュータから受信した生成テストパタンまたは圧縮テストパタンをそれぞれ格納して一時保持し、受信した故障情報に基づき故障情報の更新を行い、
これら処理を全てのサーバコンピュータの処理終了まで繰り返す、請求項１または２記載のテストパタン生成方法。
【請求項４】
前記サーバコンピュータが、前記ＡＴＧ開始指示の受信に対応して前記部分回路およびその未検出故障の情報を受信し前記ＡＴＧ処理を行い前記部分回路の生成テストパタンおよびその故障情報を前記クライアントコンピュータへ送信し、
前記圧縮開始指示の受信に対応して前記部分テストパタンおよび前記検出故障の情報を受信し前記圧縮処理を行い前記部分テストパタンの圧縮テストパタンおよびその故障情報を前記クライアントコンピュータへ送信する、請求項３記載のテストパタン生成方法。
【請求項５】
前記サーバコンピュータが、前記ＡＴＧ開始指示の受信に対応して前記部分回路およびその未検出故障の情報に基づき前記ＲＴＧ処理および前記ＡＴＧ処理を行う、請求項４記載のテストパタン生成方法。
【請求項６】
前記圧縮開始条件が、全てのサーバコンピュータが前記圧縮処理を行っていないときのみに満たされる、請求項２，３，４または５記載のテストパタン生成方法。
【請求項７】
前記保持基準値または前記抽出基準値が、回路の素子数，故障数およびその処理状況とに応じて動的に決定され変化する、請求項２，３，４，５または６記載のテストパタン生成方法。
【請求項８】
前記保持基準値または前記抽出基準値が、回路の素子数および故障数と、前記ＡＴＧ処理の実行回数と、前記圧縮処理の実行回数とにそれぞれ比例する、請求項７記載のテストパタン生成方法。
【請求項９】
回路の入力パタンの乱数発生および故障シミュレーションにより故障検出できた入力パタンを選択してテストパタンを生成するＲＴＧ（Ｒａｎｄｏｍ  Ｔｅｓｔ  Ｇｅｎｅｒａｔｉｏｎ）処理を行い、回路情報から分割抽出した部分回路の情報ごとに、未検出故障に対し故障検出アルゴリズムを用いてテストパタンを生成するＡＴＧ（Ａｌｇｏｒｉｔｈｍｉｃ  Ｔｅｓｔ  Ｇｅｎｅｒａｔｉｏｎ）処理を分散処理し、これら処理により生成および一時保持された生成テストパタンを圧縮し前記回路のテストパタンとするテストパタン生成処理を複数のサーバコンピュータおよびクライアントコンピュータに実行させるテストパタン生成プログラムにおいて、
前記テストパタン生成処理が、前記生成テストパタンの保持パタン数に基づきＡＴＧ開始条件および圧縮開始条件満たされているか判定し、前記ＡＴＧ開始条件が満たされた場合、前記ＡＴＧ処理を分散処理し、前記圧縮開始条件が満たされた場合、前記生成テストパタンから抽出基準値以下のパタン数だけ分割抽出した部分テストパタンごとに、テストパタンの圧縮処理を分散処理し、
これら分散処理により圧縮および一時保持された圧縮テストパタンを全パタンで更に圧縮することを特徴とするテストパタン生成プログラム。
【請求項１０】
前記生成テストパタンの保持パタン数が保持基準値を超えず且つ前記ＡＴＧ処理の対象となる部分回路の情報が全て分割抽出されていなく且つ故障検出率が目標故障検出率に達していない場合、前記ＡＴＧ開始条件が満たされ、
前記生成テストパタンの保持パタン数が保持基準値を超えている場合、前記ＡＴＧ処理の対象となる部分回路の情報が全て分割抽出され且つ前記ＡＴＧ処理が終了した場合、故障検出率が目標故障検出率に達し且つ前記ＡＴＧ処理が終了した場合、前記圧縮開始条件がそれぞれ満たされる、請求項９のテストパタン生成プログラム。
【請求項１１】
前記ＡＴＧ開始条件が満たされているか否か判定し、
前記ＡＴＧ開始条件が満たされている場合、前記回路情報およびその故障情報から前記部分回路およびその未検出故障の情報を１組だけ分割抽出しＡＴＧ開始指示と共に無処理のサーバコンピュータの１つへ送信し、
前記圧縮開始条件が満たされている場合、前記生成テストパタンおよび前記故障情報から前記部分テストパタンと、この部分テストパタンで検出され且つ前記圧縮テストパタンで検出されない検出故障の情報とを１組だけ分割抽出し圧縮開始指示と共に無処理のサーバコンピュータの１つへ送信し、
前記複数のサーバコンピュータから受信した生成テストパタンまたは圧縮テストパタンをそれぞれ格納して一時保持し、受信した故障情報に基づき故障情報の更新を行い、
これら処理を全てのサーバコンピュータの処理終了まで繰り返す処理を前記クライアントコンピュータに実行させる、請求項９または１０記載のテストパタン生成プログラム。
【請求項１２】
前記ＡＴＧ開始指示の受信に対応して前記部分回路およびその未検出故障の情報を受信し前記ＡＴＧ処理を行い前記部分回路の生成テストパタンおよびその故障情報を前記クライアントコンピュータへ送信し、
前記圧縮開始指示の受信に対応して前記部分テストパタンおよび前記検出故障の情報を受信し前記圧縮処理を行い前記部分テストパタンの圧縮テストパタンおよびその故障情報を前記クライアントコンピュータへ送信する処理を前記サーバコンピュータに実行させる、請求項１１記載のテストパタン生成プログラム。
【請求項１３】
前記ＡＴＧ開始指示の受信に対応して前記部分回路およびその未検出故障の情報に基づき前記ＲＴＧ処理および前記ＡＴＧ処理を行う処理を前記サーバコンピュータに実行させる、請求項１２記載のテストパタン生成プログラム。
【請求項１４】
前記圧縮開始条件が、全てのサーバコンピュータが前記圧縮処理を行っていないときのみに満たされる、請求項１０，１１，１２または１３記載のテストパタン生成プログラム。
【請求項１５】
前記保持基準値または前記抽出基準値が、回路の素子数，故障数およびその処理状況に応じて動的に決定され変化する、請求項１０，１１，１２，１３または１４記載のテストパタン生成プログラム。
【請求項１６】
前記保持基準値または前記抽出基準値が、回路の素子数および故障数と、前記ＡＴＧ処理の実行回数と、前記圧縮処理の実行回数にそれぞれ比例する、請求項１５記載のテストパタン生成プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、テストパタン生成方法に関し、特に、複数のコンピュータを用いて分散処理するテストパタン生成方法に関する。
【０００２】
【従来の技術】
従来、この種のテストパタン生成方法は、回路のテストパタンを自動生成するＡＴＰＧ（Ａｕｔｏｍａｔｉｃ  Ｔｅｓｔ−Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｉｏｎ）手法の１つとして知られ、たとえば、ＬＳＩ製造時の選別テスト用テストパタンを生成するために用いられてきた。
【０００３】
図５は、この従来のテストパタン生成方法が実施される、一般的なシステムの例を示す構成図である。この一般的なシステムは、所定の処理を提供および利用する複数のサーバコンピュータＣ１〜ＣｎおよびクライアントコンピュータＣ０をネットワーク接続して構成される。これら複数のサーバコンピュータＣ１〜ＣｎおよびクライアントコンピュータＣ０にテストパタン生成プログラムをインストールして各コマンド入力に応じて実行させることにより、ＡＴＰＧ処理が分散処理される。
【０００４】
また、図６は、図５における各コンピュータＣ０〜Ｃｎの一般的な例を示す構成図である。各コンピュータＣ０〜Ｃｎは、データ処理装置，記憶装置，入力装置，媒体駆動装置，出力装置，ネットワーク通信装置を備え、さらに、記憶装置は、テストパタン生成プログラムなどを格納するプログラム格納領域と、回路の回路情報，故障情報を格納する回路情報格納領域，故障情報格納領域と、ＡＴＰＧ処理中に生成，圧縮される生成テストパタン，圧縮テストパタンを一時保持する生成テストパタン保持領域，圧縮テストパタン保持領域とを有する。その他の各装置については、周知機能であり、説明を省略する。また、以降の説明において、回路情報，故障情報，生成テストパタンまたは圧縮テストパタンを記憶装置内の各領域に格納または一時保持するとき、それらの格納先または保持先は、自明であり、簡便化のため省略する。
【０００５】
この従来のテストパタン生成方法では、複数のサーバコンピュータＣ１〜ＣｎおよびクライアントコンピュータＣ０が、回路の入力パタンの乱数発生および故障シミュレーションにより故障検出できた入力パタンを選択してテストパタンを生成するＲＴＧ（Ｒａｎｄｏｍ  Ｔｅｓｔ  Ｇｅｎｅｒａｔｉｏｎ）処理を行い、ＡＴＧ開始条件が満たされている場合、回路情報から分割抽出した部分回路の情報ごとに、未検出故障に対し故障検出アルゴリズムを用いてテストパタンを生成するＡＴＧ（Ａｌｇｏｒｉｔｈｍｉｃ  Ｔｅｓｔ  Ｇｅｎｅｒａｔｉｏｎ）処理を分散処理し、これらＲＴＧ処理およびＡＴＧ処理により生成および一時保持された生成テストパタンを全パタンで圧縮し回路のテストパタンとする圧縮処理を行う。
【０００６】
ここで、ＡＴＧ処理の対象となる部分回路の情報が全て分割抽出されていなく且つ故障検出率が目標故障検出率に達していない場合、ＡＴＧ開始条件が満たされる。また、故障検出率とは、全故障数に対し、生成したテストパタンで検出可能な故障の割合を表わし、目標故障検出率とは、テストパタンセットを生成するときの故障検出率の目標値である。なお、ＡＴＧ処理の方法としては、ＰＯＤＥＭ法やＤアルゴリズム法などが公知であり、圧縮処理の手法としては、逆順故障シミュレーション法などが公知である。
【０００７】
また、図７は、従来のテストパタン生成方法におけるクライアントコンピュータＣ０の処理例を示す流れ図である。
【０００８】
このクライアントコンピュータＣ０は、まず、ステップＳ４０１〜Ｓ４０３において、回路の回路情報，その故障情報を入力および格納し、格納された回路情報に基づき、上述のＲＴＧ処理を行い、生成された生成テストパタンを一時保持し、その検出／未検出の故障情報に基づき、格納されている故障情報を更新する。
【０００９】
次に、クライアントコンピュータＣ０は、ステップＳ４０４〜Ｓ４０７において、ＡＴＧ処理の分散管理を行う。すなわち、ＡＴＧ開始条件が満たされている場合、格納された回路情報および故障情報から部分回路およびその未検出故障の情報を１組だけ分割抽出し、ＡＴＧ開始指示と共に、複数のサーバコンピュータＣ１〜Ｃｎから選択した無処理のサーバコンピュータの１つへ送信し、また、複数のサーバコンピュータＣ１〜Ｃｎからの受信が有れば、受信した生成テストパタンを格納して一時保持し、受信した故障情報に基づき故障情報の更新を行い、これら処理を全てのサーバコンピュータＣ１〜Ｃｎの処理終了まで繰り返す。
【００１０】
この後、Ｓ４０８において、ＲＴＧ処理およびＡＴＧ処理により生成および一時保持された生成テストパタンを全パタンで圧縮し回路のテストパタンとする。
【００１１】
図８は、この従来のテストパタン生成方法における各サーバコンピュータＣ１〜Ｃｎの処理例を示す流れ図である。
【００１２】
これら各サーバコンピュータＣ１〜Ｃｎは、ステップＳ５０１〜Ｓ５０５において、クライアントコンピュータＣ０の指示を受信するまで待機し、ＡＴＧ開始指示を受信すると、部分回路およびその未検出故障の情報をそれぞれ受信し格納し、上述のＡＴＧ処理を行い、生成および一時保持された部分回路の生成テストパタンと、その検出／未検出の故障情報とをクライアントコンピュータＣ０へ送信する。
【００１３】
上述したように、この従来のテストパタン生成方法では、たとえば、特開平１１―２１１８０１号公報，特開平１１−２３７４５０号公報，特開２０００−１９３７２５号公報などに開示されている回路分割分散処理を複数のサーバコンピュータＣ１〜ＣｎおよびクライアントコンピュータＣ０で行い、回路情報から分割抽出した部分回路の情報ごとに、ＡＴＧ処理を並列に分散処理する。この回路分割分散処理により、ＡＴＧ処理の処理時間が短縮され、テストパタン生成の処理時間が短縮される。
【００１４】
【発明が解決しようとする課題】
一般に、ＬＳＩ回路の規模が小さいうちは、ＬＳＩ製造時のテスト時間に占めるテストパタン走行時間の割合は小さく、ＬＳＩ回路の大規模化により、機能テストのためのテストパタンのパタン数が増加し、テスト時間に占めるテストパタン走行時間の割合が大きくなり、テストパタンのパタン数増加によるテストコスト増および生産効率悪化を招く。
【００１５】
しかし、この従来のテストパタン生成方法では、回路分割分散処理により生成したテストパタンのパタン数が増加し易いという傾向がある。その原因は２つある。
【００１６】
１つの原因は、「部分回路の重複部に起因する無駄なテストパタン生成」である。この原因について、回路例に基づき具体的に説明する。
【００１７】
図９は、テストパタン生成対象の回路例１を示す回路図であり、図１０は、この回路例１に対する、従来の回路分割分散処理を説明するための説明図である。ここで、図９に示した回路の素子Ｇ０１の出力には、ｓａ０故障の存在を仮定されているものとする。このｓａ０故障とは、故障の影響により故障が存在する位置の信号線の信号値がＬｏｗレベル（論理値０）に固定される故障のことである。また、図中説明のＰＯコーンとは、回路の出力端子ＰＯと、その出力側にある全ての素子，入力端子ＰＩとの集まりであり、たとえば、出力端子ＰＯ１のＰＯコーンは、入力端子ＰＩ１，ＰＩ２と、素子Ｇ０４と、出力端子ＰＯ１とからなり、各出力端子ＰＯ１〜ＰＯ４のＰＯコーンがそれぞれ示されている。
【００１８】
まず、クライアントコンピュータＣ０により、図７のステップＳ４０４〜Ｓ４０７において、部分回路ＣＫＴ１，ＣＫＴ２の情報が分割抽出され、サーバコンピュータＣ１，Ｃ２に送信され、次に、サーバコンピュータＣ１，Ｃ２により、ＡＴＧ処理が並列してそれぞれ行われる。このとき、たとえば、特開２０００−１９３７２５号公報に開示されているように、図９の回路を各出力端子ＰＯ１〜ＰＯ４のＰＯコーン単位で分割し、図１０に示したように、部分回路ＣＫＴ１，部分回路ＣＫＴ２が重複して素子Ｇ０１を含んでいた場合、素子Ｇ０１の出力のｓａ０故障を検出するためのテストパタンＰ１をそれぞれ生成し、１つのｓａ０故障に対し、２つのテストパタンが生成されることになる。しかし、１つのテストパタンがあれば十分であり、無駄なテストパタン生成が発生する。これが、「部分回路の重複部に起因する無駄なテストパタン生成」である
もう１つの原因は、「回路分割そのものに起因する無駄なテストパタン生成」であり、この原因について、回路例に基づき具体的に説明する。
【００１９】
図１１は、テストパタン生成対象の回路例２およびそのテストパタン例を示す説明図であり、ここで、図１１（Ａ）に示した回路は、６つの入力端子ＰＩ１０１〜ＰＩ１０６と、４つの出力端子ＰＯ１０１〜ＰＯ１０４と、２つのＡＮＤ素子Ｇ１０１，Ｇ１０３と、２つのＯＲ素子Ｇ１０２，Ｇ１０４とから構成され、図中の×印の４箇所にｓａ０故障がそれぞれ存在すると仮定され、これらＡＮＤ素子Ｇ１０１，Ｇ１０３およびＯＲ素子Ｇ１０２，Ｇ１０４の入力端子に仮定されたｓａ０故障は、図１１（Ｂ）に示した２つのテストパタンＰ１１およびテストパタンＰ１２によりそれぞれ検出可能である。また、図１２は、この回路例２に対する、従来のテストパタン生成方法による回路分割分散処理を説明するための説明図である。
【００２０】
まず、クライアントコンピュータＣ０により、図７のステップＳ４０４〜Ｓ４０７において、部分回路ＣＫＴ１１，ＣＫＴ１２の情報が分割抽出され、サーバコンピュータＣ１，Ｃ２に送信され、次に、サーバコンピュータＣ１，Ｃ２により、ＡＴＧ処理が並列してそれぞれ行われる。このとき、部分回路ＣＫＴ１１には２つの故障があり、それらを検出するには、図１２に示した２つのテストパタンＰ２１とＰ２２が必要であり、同様に、部分回路ＣＫＴ１２には２つの故障があり、それらを検出するには、２つのテストパタンＰ２３とＰ２４が必要である。このため、回路分割により、合計４つのテストパタンが生成される。これが、「回路分割そのものに起因する無駄なテストパタン生成」である。
【００２１】
以上説明したように、従来のテストパタン生成方法における回路分割分散処理は、回路分割を行わない処理よりも、テストパタンセットのパタン数が増加し易いという傾向があり、ＬＳＩ回路の大規模化により、テストコスト増および生産効率悪化を招くようになった。
【００２２】
また、増加したテストパタンを減らすために、何度も圧縮処理を繰り返さねばならないので、テストパタン圧縮の処理時間が長くなる。このため、回路分割分散処理によりテストパタン生成処理を短縮できるという利点が相殺され、全体としての処理時間の短縮効果が低くなる。
【００２３】
このような問題を解決するために、テストパタン圧縮処理を高速化する必要がある。従来から、ＡＴＧ処理と同様の手法で、圧縮処理の分散化による処理速度を短縮することができないか検討してきた。しかし、単純な分散化では副作用があり、圧縮処理の分散化はできないと考えられてきた。この点について、次に説明する。
【００２４】
たとえば、単純な圧縮処理の分散化手法として、２つの手法が考えられる。
１つの手法は、回路を分割して圧縮処理を分散化する「回路分割方式」である。つまり、図８に示した従来の回路分割分散処理における複数のサーバコンピュータＣ１〜Ｃｎの処理で、ＡＴＧ処理の後で、生成したテストパタンを圧縮する圧縮処理を行いクライアントコンピュータＣ０に送信するという手法である。
しかし、この場合、個々のサーバコンピュータＣ１〜ＣｎのＡＴＧ処理では、全体の回路に対して、「部分回路の重複部および回路分割そのものに起因する無駄なテストパタン生成」を行うが、各々の部分回路に対して、「無駄なテストパタン生成」は発生されず、後続して、各々の部分回路に対して圧縮処理を行っても、「部分回路の重複部および回路分割そのものに起因して増加したテストパタン」を減らすことができない。
【００２５】
もう１つの手法は、テストパタンを分割して圧縮処理を分散化する「テストパタン分割方式」である。つまり、図７に示した従来の回路分割分散処理におけるクライアントコンピュータＣ０のＳ４０８における圧縮処理の代わりに、テストパタンを分割し複数のサーバコンピュータＣ１〜Ｃｎを用いて圧縮するという方法である。
【００２６】
この場合、たとえば、図１０に示したように、「部分回路の重複部に起因する無駄なテストパタン生成」では、１つの故障に対し２つのテストパタンが生成され、この後、これら２つのテストパタンが、テストパタン分割時に両方とも１つの部分テストパタンの中に含まれれば、一括して圧縮されることになる。しかし、これら２つのテストパタンが、テストパタン分割時に片方ずつ２つの部分テストパタンの中に分割されて含まれれば、それぞれの圧縮処理により、それぞれのテストパタンが故障を検出するのに必要であると判定され、「部分回路の重複部に起因して増加したテストパタン」を減らすことができない。このように、「部分回路の重複部に起因して増加したテストパタン」を圧縮できなくなる確率は、テストパタン分割の数が多くなるほど増大し、圧縮処理の意味が無くなる。
【００２７】
以上のような理由から、「圧縮処理は最後に１つのコンピュータ上で一括して行わなければならない」と考えられてきた。
【００２８】
したがって、本発明の目的は、テストパタン圧縮およびテストパタン生成処理の処理時間を短縮することにある。
【００２９】
【課題を解決するための手段】
そのため、本発明は、複数のサーバコンピュータおよびクライアントコンピュータが、回路の入力パタンの乱数発生および故障シミュレーションにより故障検出できた入力パタンを選択してテストパタンを生成するＲＴＧ処理を行い、回路情報から分割抽出した部分回路の情報ごとに、未検出故障に対し故障検出アルゴリズムを用いてテストパタンを生成するＡＴＧ処理を分散処理し、これら処理により生成および一時保持された生成テストパタンを圧縮し前記回路のテストパタンとするテストパタン生成方法において、
前記生成テストパタンの保持パタン数に基づきＡＴＧ開始条件および圧縮開始条件が満たされているか判定し、前記ＡＴＧ開始条件が満たされた場合、前記ＡＴＧ処理を分散処理し、前記圧縮開始条件が満たされた場合、前記生成テストパタンから抽出基準値以下のパタン数だけ分割抽出した部分テストパタンごとに、テストパタンの圧縮処理を分散処理し、
これら分散処理により圧縮および一時保持された圧縮テストパタンを全パタンで更に圧縮している。
【００３０】
また、前記生成テストパタンの保持パタン数が保持基準値を超えず且つ前記ＡＴＧ処理の対象となる部分回路の情報が全て分割抽出されていなく且つ故障検出率が目標故障検出率に達していない場合、前記ＡＴＧ開始条件が満たされ、
前記生成テストパタンの保持パタン数が保持基準値を超えている場合、前記ＡＴＧ処理の対象となる部分回路の情報が全て分割抽出され且つ前記ＡＴＧ処理が終了した場合、故障検出率が目標故障検出率に達し且つ前記ＡＴＧ処理が終了した場合、前記圧縮開始条件がそれぞれ満たされる。
【００３１】
また、前記クライアントコンピュータが、前記ＡＴＧ開始条件が満たされているか否か判定し、
前記ＡＴＧ開始条件が満たされている場合、前記回路情報およびその故障情報から前記部分回路およびその未検出故障の情報を１組だけ分割抽出しＡＴＧ開始指示と共に無処理のサーバコンピュータの１つへ送信し、
前記圧縮開始条件が満たされている場合、前記生成テストパタンおよび前記故障情報から前記部分テストパタンと、この部分テストパタンで検出され且つ前記圧縮テストパタンで検出されない検出故障の情報とを１組だけ分割抽出し圧縮開始指示と共に無処理のサーバコンピュータの１つへ送信し、
前記複数のサーバコンピュータから受信した生成テストパタンまたは圧縮テストパタンをそれぞれ格納して一時保持し、受信した故障情報に基づき故障情報の更新を行い、
これら処理を全てのサーバコンピュータの処理終了まで繰り返している。
【００３２】
また、前記サーバコンピュータが、前記ＡＴＧ開始指示の受信に対応して前記部分回路およびその未検出故障の情報を受信し前記ＡＴＧ処理を行い前記部分回路の生成テストパタンおよびその故障情報を前記クライアントコンピュータへ送信し、
前記圧縮開始指示の受信に対応して前記部分テストパタンおよび前記検出故障の情報を受信し前記圧縮処理を行い前記部分テストパタンの圧縮テストパタンおよびその故障情報を前記クライアントコンピュータへ送信している。
【００３３】
また、前記サーバコンピュータが、前記ＡＴＧ開始指示の受信に対応して前記部分回路およびその未検出故障の情報に基づき前記ＲＴＧ処理および前記ＡＴＧ処理を行っている。
【００３４】
また、前記圧縮開始条件が、全てのサーバコンピュータが前記圧縮処理を行っていないときのみに満たされる。
【００３５】
また、前記保持基準値または前記抽出基準値が、回路の素子数，故障数およびその処理状況とに応じて動的に決定され変化している。
【００３６】
また、前記保持基準値または前記抽出基準値が、回路の素子数および故障数と、前記ＡＴＧ処理の実行回数と、前記圧縮処理の実行回数とにそれぞれ比例している。
【００３７】
また、本発明は、回路の入力パタンの乱数発生および故障シミュレーションにより故障検出できた入力パタンを選択してテストパタンを生成するＲＴＧ処理を行い、回路情報から分割抽出した部分回路の情報ごとに、未検出故障に対し故障検出アルゴリズムを用いてテストパタンを生成するＡＴＧ処理を分散処理し、これら処理により生成および一時保持された生成テストパタンを圧縮し前記回路のテストパタンとするテストパタン生成処理を複数のサーバコンピュータおよびクライアントコンピュータに実行させるテストパタン生成プログラムにおいて、
前記テストパタン生成処理が、前記生成テストパタンの保持パタン数に基づきＡＴＧ開始条件および圧縮開始条件満たされているか判定し、前記ＡＴＧ開始条件が満たされた場合、前記ＡＴＧ処理を分散処理し、前記圧縮開始条件が満たされた場合、前記生成テストパタンから抽出基準値以下のパタン数だけ分割抽出した部分テストパタンごとに、テストパタンの圧縮処理を分散処理し、
これら分散処理により圧縮および一時保持された圧縮テストパタンを全パタンで更に圧縮している。
【００３８】
また、前記生成テストパタンの保持パタン数が保持基準値を超えず且つ前記ＡＴＧ処理の対象となる部分回路の情報が全て分割抽出されていなく且つ故障検出率が目標故障検出率に達していない場合、前記ＡＴＧ開始条件が満たされ、
前記生成テストパタンの保持パタン数が保持基準値を超えている場合、前記ＡＴＧ処理の対象となる部分回路の情報が全て分割抽出され且つ前記ＡＴＧ処理が終了した場合、故障検出率が目標故障検出率に達し且つ前記ＡＴＧ処理が終了した場合、前記圧縮開始条件がそれぞれ満たされる。
【００３９】
また、前記ＡＴＧ開始条件が満たされているか否か判定し、
前記ＡＴＧ開始条件が満たされている場合、前記回路情報およびその故障情報から前記部分回路およびその未検出故障の情報を１組だけ分割抽出しＡＴＧ開始指示と共に無処理のサーバコンピュータの１つへ送信し、
前記圧縮開始条件が満たされている場合、前記生成テストパタンおよび前記故障情報から前記部分テストパタンと、この部分テストパタンで検出され且つ前記圧縮テストパタンで検出されない検出故障の情報とを１組だけ分割抽出し圧縮開始指示と共に無処理のサーバコンピュータの１つへ送信し、
前記複数のサーバコンピュータから受信した生成テストパタンまたは圧縮テストパタンをそれぞれ格納して一時保持し、受信した故障情報に基づき故障情報の更新を行い、
これら処理を全てのサーバコンピュータの処理終了まで繰り返す処理を前記クライアントコンピュータに実行させている。
【００４０】
また、前記ＡＴＧ開始指示の受信に対応して前記部分回路およびその未検出故障の情報を受信し前記ＡＴＧ処理を行い前記部分回路の生成テストパタンおよびその故障情報を前記クライアントコンピュータへ送信し、
前記圧縮開始指示の受信に対応して前記部分テストパタンおよび前記検出故障の情報を受信し前記圧縮処理を行い前記部分テストパタンの圧縮テストパタンおよびその故障情報を前記クライアントコンピュータへ送信する処理を前記サーバコンピュータに実行させている。
【００４１】
また、前記ＡＴＧ開始指示の受信に対応して前記部分回路およびその未検出故障の情報に基づき前記ＲＴＧ処理および前記ＡＴＧ処理を行う処理を前記サーバコンピュータに実行させている。
【００４２】
また、前記圧縮開始条件が、全てのサーバコンピュータが前記圧縮処理を行っていないときのみに満たされる。
【００４３】
また、前記保持基準値または前記抽出基準値が、回路の素子数，故障数およびその処理状況に応じて動的に決定され変化している。
【００４４】
また、前記保持基準値または前記抽出基準値が、回路の素子数および故障数と、前記ＡＴＧ処理の実行回数と、前記圧縮処理の実行回数にそれぞれ比例している。
【００４５】
【発明の実施の形態】
次に、本発明について、図面を参照して説明する。本発明のテストパタン生成方法は、従来のテストパタン生成方法と同じく、図５に示した、複数のサーバコンピュータＣ１〜ＣｎおよびクライアントコンピュータＣ０がネットワーク接続された一般的なシステム上で実施され、これら複数のサーバコンピュータＣ１〜ＣｎおよびクライアントコンピュータＣ０にテストパタン生成プログラムをインストールして各コマンド入力に応じて実行させることにより、ＡＴＰＧ処理が分散処理される。
【００４６】
本発明のテストパタン生成方法の実施形態１では、複数のサーバコンピュータＣ１〜ＣｎおよびクライアントコンピュータＣ０が、ＲＴＧ処理を従来と同じく行い、生成テストパタンの保持パタン数に基づきＡＴＧ開始条件および圧縮開始条件を判定し、ＡＴＧ開始条件が満たされた場合、ＡＴＧ処理を分散処理し、圧縮開始条件が満たされた場合、生成テストパタンから抽出基準値以下のパタン数だけ分割抽出した部分テストパタンごとに、テストパタンの圧縮処理を分散処理し、これら分散処理により圧縮および一時保持された圧縮テストパタンを全パタンで更に圧縮する
ここで、生成テストパタンの保持パタン数が保持基準値を超えず且つＡＴＧ処理の対象となる部分回路の情報が全て分割抽出されていなく且つ故障検出率が目標故障検出率に達していない場合、ＡＴＧ開始条件が満たされる。また、生成テストパタンの保持パタン数が保持基準値を超えている場合、ＡＴＧ処理の対象となる部分回路の情報が全て分割抽出され且つＡＴＧ処理が終了した場合、故障検出率が目標故障検出率に達し且つＡＴＧ処理が終了した場合、圧縮開始条件がそれぞれ満たされる。
【００４７】
また、保持基準値および抽出基準値は、初期設定され、いくつかのデータを用いた評価によって得られた最適値を使用する。たとえば、いくつかの異なる値をそれぞれ割り当ててプログラム実行の処理時間をそれぞれ測定し、データに対する平均をそれぞれ求め、処理時間が短くなる値を求め、最適値とする。
【００４８】
図１は、本実施形態のテストパタン生成方法におけるクライアントコンピュータＣ０の処理例を示す流れ図である。
【００４９】
このクライアントコンピュータＣ０は、まず、ステップＳ１０１〜Ｓ１０３において、従来と同じく、回路の回路情報，その故障情報を入力および格納し、格納された回路情報に基づき、上述のＲＴＧ処理を行い、生成された生成テストパタンを一時保持し、その検出／未検出の故障情報に基づき、格納されている故障情報を更新する。
【００５０】
次に、クライアントコンピュータＣ０は、ステップＳ１０４〜Ｓ１０９において、ＡＴＧ処理および圧縮処理の分散管理を行う。
【００５１】
すなわち、ステップＳ１０４，Ｓ１０５において、ＡＴＧ開始条件が満たされているか判定し、ＡＴＧ開始条件，圧縮開始条件が満たされている場合、ステップＳ１０６，Ｓ１０８にそれぞれ進み、２つの開始条件が共に満たされていない場合、ステップＳ１１０に進む。
【００５２】
ステップＳ１０６，Ｓ１０７において、回路情報およびその故障情報から部分回路およびその未検出故障の情報を１組だけ分割抽出し、ＡＴＧ開始指示と共に、複数のサーバコンピュータＣ１〜Ｃｎから選択した無処理のサーバコンピュータの１つへ送信する。
【００５３】
ステップＳ１０８，Ｓ１０９において、生成テストパタンおよび故障情報から部分テストパタンと、この部分テストパタンで検出され圧縮テストパタンで検出されない検出故障の情報とを１組だけ分割抽出し、圧縮開始指示と共に、複数のサーバコンピュータＣ１〜Ｃｎから選択した無処理のサーバコンピュータの１つへ送信する。
【００５４】
ステップ１１０において、複数のサーバコンピュータＣ１〜Ｃｎからの受信が有れば、受信した生成テストパタンまたは圧縮テストパタンをそれぞれ格納して一時保持し、受信した故障情報に基づき故障情報の更新を行う。
【００５５】
ステップ１１１において、全てのサーバコンピュータＣ１〜Ｃｎの分散処理が終了するまでステップＳ１０４に戻り、これらステップＳ１０４〜Ｓ１１１の処理を繰り返す。
【００５６】
この後、Ｓ１１２において、これら圧縮処理の分散処理により部分テストパタンごとに圧縮および一時保持された圧縮テストパタンを全パタンで更に圧縮し回路のテストパタンとする。
【００５７】
また、図２は、本実施形態のテストパタン生成方法における各サーバコンピュータＣ１〜Ｃｎの処理例を示す流れ図である。
【００５８】
各サーバコンピュータＣ１〜Ｃｎは、ステップＳ２０１〜Ｓ２０３において、クライアントコンピュータＣ０の指示を受信するまで待機し、ＡＴＧ開始指示，圧縮開始指示を受信すると、ステップＳ２０４，Ｓ２０７ステップにそれぞれ進む。
【００５９】
Ｓ２０４〜Ｓ２０６において、部分回路およびその未検出故障の情報をそれぞれ受信および格納し、部分回路に対しＡＴＧ処理を行い、生成および一時保持された部分回路の生成テストパタンと、その検出／未検出の故障情報とをクライアントコンピュータＣ０へ送信しステップＳ２０１に戻る。
【００６０】
ステップＳ２０７〜Ｓ２０９において、部分テストパタンの情報と、この部分テストパタンで検出され圧縮テストパタンで検出されない検出故障の情報とを受信および格納し、部分テストパタンに対し圧縮処理を行い、部分テストパタンの圧縮テストパタンおよびその故障情報をクライアントコンピュータへ送信しステップＳ２０１に戻る。
【００６１】
次に、本実施形態のテストパタン生成方法について、更に具体的に追加説明する。
【００６２】
図３は、図９に示した回路例１を含む回路に対する、本実施形態のテストパタン生成方法による各コンピュータの各処理を従来と比較してそれぞれ示すタイムチャートである。ここで、タイムチャートの縦軸および横軸は、各コンピュータＣ０〜Ｃ３および処理時間をそれぞれ示し、各コンピュータＣ０〜Ｃ３の各処理の処理期間が示されている。ここで、ＲＴＧは、図１または図７のＳ１０１〜Ｓ１０３またはＳ４０１〜Ｓ４０３のＲＴＧ処理などを示し、ＭＮＧは、図１または図７のＳ１０４〜Ｓ１１１またはＳ４０４〜Ｓ４０８の分散管理を示し、ＡＴＧ１〜６は、図２または図８のＳ２０４〜Ｓ２０６またはＳ５０３〜Ｓ５０５の、各部分回路に対するＡＴＧ処理１〜６などを示し、ＣＰＳは、図１または図７のＳ１１２またはＳ４０９の、全パタンに対する圧縮処理を示し、ＣＰＳ１〜４は、図２のＳ２０７〜Ｓ２０９の、各部分テストパタンに対する圧縮処理１〜４などを示す。
【００６３】
図３を参照すると、従来のテストパタン生成方法では、クライアントコンピュータＣ０は、ＲＴＧ処理，分散管理，圧縮処理を順に行い、クライアントコンピュータＣ０のＲＴＧ処理が終了した後、サーバコンピュータＣ１は、ＡＴＧ処理１，５を順に行い、サーバコンピュータＣ２は、ＡＴＧ処理２を行い、サーバコンピュータＣ３は、ＡＴＧ処理３，４，６を順に行う。
【００６４】
一方、本実施形態のテストパタン生成方法では、クライアントコンピュータＣ０は、ＲＴＧ処理，分散管理，圧縮処理を順に行い、クライアントコンピュータＣ０のＲＴＧ処理が終了した後、サーバコンピュータＣ１は、ＡＴＧ処理１，圧縮処理１，ＡＴＧ処理５，圧縮処理４を順に行い、サーバコンピュータＣ２は、ＡＴＧ処理２，圧縮処理３を順に行い、サーバコンピュータＣ３は、ＡＴＧ処理３，４，圧縮処理２，ＡＴＧ処理６を順に行う。
【００６５】
図４は、本実施形態のテストパタン生成方法において、図３のタイムチャートに対応して、クライアントコンピュータＣ０が一時保持する生成テストパタンの保持パタン数の変化を示すグラフである。ここで、図の縦軸，横軸は、保持している生成テストパタンの保持パタン数，時刻を表わし、また、説明を簡略化するために、保持基準値および抽出基準値が同じ値αである場合を想定している。
【００６６】
本実施形態のテストパタン生成方法について、図３，図４を参照して時刻順に具体的に説明する。
【００６７】
まず、時刻ｔ１で、開始されていたＲＴＧ処理が終了し、生成された生成テストパタンが一時保持される。この後、ＡＴＧ開始条件のみが満たされているので、サーバコンピュータＣ１〜Ｃ３に対し、ＡＴＧ処理１〜３の開始が次々に指示される。
【００６８】
時刻ｔ２で、サーバコンピュータＣ３のＡＴＧ処理３が終了し、受信した生成テストパタンが一時保持される。その結果、コンピュータＣ３が無処理状態になる。このときも、ＡＴＧ開始条件のみが満たされているので、ＡＴＧ処理４の開始が指示される。
【００６９】
時刻ｔ３で、サーバコンピュータＣ１のＡＴＧ処理１が終了し、受信した生成テストパタンが一時保持される。その結果、サーバコンピュータＣ１が無処理状態になる。このとき、一時保持していた生成テストパタンの保持パタン数が保持基準値αを超えているので、圧縮開始条件のみが満たされ、時刻ｔ４で、抽出基準値αのパタンからなる部分テストパタンＰＴ１が分割抽出され、サーバコンピュータＣ１に対し、圧縮処理１の開始が指示される。さらに、開始された圧縮処理１が終了し、受信した圧縮テストパタンが一時保持される。その結果、サーバコンピュータＣ１が無処理状態になる。このとき、一時保持していた生成テストパタンの保持パタン数が保持基準値αを超えていないので、ＡＴＧ開始条件のみが満たされ、ＡＴＧ処理５の開始が指示される。
【００７０】
同様に、時刻ｔ５で、サーバコンピュータＣ３のＡＴＧ処理４が終了し、受信により一時保持した生成テストパタンの保持パタン数がαを超え、圧縮開始条件のみが満たされ、時刻ｔ６で、抽出基準値αのパタンからなる部分テストパタンＰＴ２が分割抽出され、サーバコンピュータＣ３に対し、圧縮処理２の開始が指示される。また、時刻ｔ７で、サーバコンピュータＣ２のＡＴＧ処理２が終了し、受信により一時保持した生成テストパタンの保持パタン数が保持基準値αを超え、圧縮開始条件のみが満たされ、時刻ｔ８で、抽出基準値αのパタンからなる部分テストパタンＰＴ３が分割抽出され、サーバコンピュータＣ２に対し、圧縮処理３の開始が指示される。
【００７１】
この後、サーバコンピュータＣ３の圧縮処理２が終了し、圧縮テストパタンが一時保持され、一時保持していた生成テストパタンの保持パタン数が保持基準値αを超えていないので、ＡＴＧ開始条件のみが満たされ、サーバコンピュータＣ３に対し、ＡＴＧ処理６の開始が指示される。また、この後の時刻ｔ９まで、サーバコンピュータＣ２，Ｃ３の圧縮処理３，ＡＴＧ処理６が順に終了し、圧縮テストパタン，生成テストパタンが順に一時保持され、サーバコンピュータＣ２，Ｃ３が順に無処理状態になる。しかし、ＡＴＧ処理対象の部分回路が無く且つサーバコンピュータＣ１のＡＴＧ処理が終了していないので、ＡＴＧ開始条件および圧縮開始条件が共に満たされず、これらの無処理状態は継続される。
【００７２】
時刻ｔ１０で、サーバコンピュータＣ１のＡＴＧ処理５が終了し、生成テストパタンが一時保持され、全サーバコンピュータＣ１〜Ｃ３のＡＴＧ処理が終了しているので、圧縮開始条件のみが満たされ、時刻ｔ１１で、抽出基準値αに満たないパタンからなる部分テストパタンＰＴ４が分割抽出され、サーバコンピュータＣ１に対し、圧縮処理４の開始が指示される。
【００７３】
上述した、本実施形態のテストパタン生成方法において、従来技術の回路分割分散処理でテストパタン数の増加の原因となっている「部分回路の重複部に起因する無駄なテストパタン生成」が減少する。次に、図１０，図４を参照して、その理由を具体的に説明する。
【００７４】
ここで、たとえば、サーバコンピュータＣ２，Ｃ１のＡＴＧ処理２，５で、図１０に示す部分回路ＣＫＴ１，ＣＫＴ２がそれぞれ処理されたと仮定する。この場合、ＡＴＧ処理５の開始はＡＴＧ処理２の終了前であるため、ＡＴＧ処理２，５は、どちらも、部分回路ＣＫＴ１，ＣＫＴ２の重複部分にある素子Ｇ０１の出力の位置に仮定した故障を検出するためのテストパタンＰ１，Ｐ２を生成しようとし、時刻ｔ７で、ＡＴＧ処理２が終了し、生成テストパタンＰ１が一時保持され、時刻ｔ８で、部分テストパタンＰＴ３が分割抽出され、圧縮処理３の開始が指示される。このとき、生成テストパタンＰ１が部分テストパタンＰＴ３に含まれない場合と、含まれた場合とが発生する。
【００７５】
生成テストパタンＰ１が部分テストパタンＰＴ３に含まれない場合、生成テストパタンＰ１は、必ず、部分テストパタンＰＴ４に含まれることになり、部分テストパタンＰＴ４を圧縮するときに、生成テストパタンＰ１，Ｐ２を一括して圧縮でき、生成テストパタンＰ１，Ｐ２の一方が、故障検出する上で不要であることが判り、削除される。
【００７６】
また、生成テストパタンＰ１が部分テストパタンＰＴ３に含まれた場合、部分テストパタンＰＴ３に対する圧縮処理３により圧縮され一時保持された圧縮テストパタンで検出される検出故障は、部分テストパタンＰＴ４の圧縮を行うとき送信されず、部分テストパタンＰＴ４に対する圧縮処理４で、生成テストパタンＰ２は、故障を検出できず、不要なテストパタンとして削除される。
【００７７】
どちらの場合でも、図１０の素子Ｇ０１の出力に仮定された故障に対して生成された生成テストパタンＰ２が削除されるので、従来技術の問題点で説明したような圧縮性能の低下を起こすことがなく、テストパタン分割分散処理できる。
【００７８】
また、圧縮処理２，３のように、同時に並列処理して圧縮する期間がある場合には、この効果がなくなる。しかし、従来技術の問題点で述べた、テストパタン生成後のテストパタン分割および並列圧縮処理で削除できないテストパタンが本実施形態の場合削除できる可能性が出てくるので、圧縮効果の低下が抑えられると考えられ、また、最後に全パタンで圧縮を行うので、そのようなテストパタンも取り除くことができる。
【００７９】
つまり、本実施形態のテストパタン生成方法では、テストパタン分割方式の圧縮ではあるが、分割した部分テストパタンの圧縮処理が同時に行われる頻度が小さくなり、部分テストパタンを同時に圧縮することによって発生する圧縮性能の低下が起き難くなり、圧縮処理の分散化が可能となり、回路およびテストパタンの分割分散処理の処理時間が全体として短縮できる。
【００８０】
また、本実施形態のテストパタン生成方法において、従来技術の回路分割分散処理でテストパタン数の増加の原因となっている「回路分割そのものに起因する無駄なテストパタン生成」が減少する。次に、図１２を参照して、その理由を具体的に説明する。
【００８１】
仮に、図１２に示すような「回路分割そのものに起因する無駄なテストパタン生成」を行うような部分回路ＣＫＴ１１，ＣＫＴ１２に、回路が分割され、部分回路ＣＫＴ１１をＡＴＧ処理することでテストパタンＰ２１，Ｐ２２が生成されたとする。
【００８２】
その後、部分回路ＣＫＴ１２のＡＴＧ処理が行われると、従来通り無駄なテストパタン生成が行われる。しかし、部分回路ＣＫＴ１２のＡＴＧ処理を行う前に、圧縮処理が行われ、その部分テストパタンの中にＰ２１，Ｐ２２が含まれていれば、無駄なテストパタン生成が行われない可能性がある。  たとえば、テストパタン圧縮の手法の１つに、不確定値活性化と呼ばれる手法がある。不確定値活性化とは、不確定値（ｄｏｎ’ｔ  ｃａｒｅ値）に０または１を割り当てることによって１つのテストパタンが検出できる故障を増やし、テストパタンの数を減らすという公知の圧縮手法である。
【００８３】
「不確定値活性化」によってテストパタンＰ２１は、確定値（ｄｏｎ’ｔ  ｃａｒｅ値、Ｘ値）に“０”または“１”を割り当てられ、２つの入力端子ＰＩ４，ＰＩ５に偶然に“１”が割り当てられると、図１１のテストパタンＰ１１と同じテストパタンになり、ＡＮＤ素子Ｇ１０３の入力端子のｓａ０故障を検出できるようになる。
【００８４】
同様に、テストパタンＰ２２も、２つの入力端子ＰＩ５，ＰＩ６に“０”，“１”が割り当てられれば、ＯＲ素子Ｇ１０４の入力端子のｓａ０故障を検出できるようになる。そうなれば、部分回路ＣＫＴ１２に対するＡＴＧ処理は行われない。
【００８５】
このような状況が「回路分割そのものに起因する無駄なテストパタン生成」を行うような部分回路の全てにおいて発生するとは限らないが、いくつかの部分回路では発生し得るので、無駄なテストパタン生成が減少する。
【００８６】
なお、本実施形態のテストパタン生成方法では、図２で示した、本実施形態のテストパタン生成方法におけるサーバコンピュータＣ１〜Ｃｎの処理例において、ＡＴＧ開始指示の受信に対応して部分回路に対しＡＴＧ処理を行うとして説明したが、他の変形例として、ＡＴＧ開始指示の受信に対応して、部分回路に対し、ＲＴＧ処理を行い、このＲＴＧ処理で生成された生成テストパタンで故障を検出することができなかった未検出故障に対してのみＡＴＧ処理を行う変形例１も実現可能である。これにより、サーバコンピュータＣ１〜Ｃｎの処理時間が短縮される。
【００８７】
また、本実施形態のテストパタン生成方法では、生成テストパタンの保持パタン数が保持基準値を超えている場合、ＡＴＧ処理の対象となる部分回路の情報が全て分割抽出され且つＡＴＧ処理が終了した場合、故障検出率が目標故障検出率に達し且つＡＴＧ処理が終了した場合、圧縮開始条件がそれぞれ満たされるとして説明したが、他の変形例として、さらに、全てのサーバコンピュータが圧縮処理を行っていないときのみに圧縮開始条件が満たされ、圧縮処理を分散処理する変形例２も実現可能である。これにより、図３で示した圧縮処理２と圧縮処理３の重なりが無くなり、圧縮処理の重なりによるテストパタン圧縮の性能低下が無くなる。
【００８８】
また、本実施形態のテストパタン生成方法では、保持基準値および抽出基準値は初期設定されるとして説明したが、回路情報およびその故障情報の入力時に、保持基準値および抽出基準値が外部入力に応じて設定される変形例３も実現可能である。これにより、保持基準値および抽出基準値の最適値を回路の素子数，故障数に応じて外部設定できる。
【００８９】
また、これら保持基準値および抽出基準値の最適値は、回路の素子数，故障数およびその処理状況に応じ変化することが考えられる。そこで、他の変形例として、回路の素子数，故障数およびその処理状況に応じて最適値をそれぞれ返す関数を統計手法により予め求め、この関数により動的に決定され変化する保持基準値および抽出基準値を用いて分散管理を行う変形例４も可実現能である。これにより、テストパタン生成の処理時間が最短になる。
【００９０】
たとえば、この変形例４は、図１で示した、本実施形態のテストパタン生成方法におけるクライアントコンピュータＣ０の処理例において、ステップＳ１０１の回路の素子数，故障数の入力後に、回路の素子数，故障数を数える処理を挿入し、ステップＳ１０４〜Ｓ１１０のＡＴＧ処理および圧縮処理の分散管理に、ＡＴＧ処理の実行回数を数える処理と、圧縮処理の実行回数とを数える処理とをそれぞれ挿入し、回路の素子数および故障数と、前記ＡＴＧ処理の実行回数と、前記圧縮処理の実行回数とに応じて保持基準値および抽出基準値を動的に決定する関数処理を挿入して実現され、保持基準値および抽出基準値の最適値を導き出す関数の１つの例として、回路の素子数および故障数と、前記ＡＴＧ処理の実行回数と、前記圧縮処理の実行回数とに比例する関数があり、いくつかのデータを評価し、統計的な手法で予め求められる。
【００９１】
【発明の効果】
以上説明したように、本発明によるテストパタン生成方法では、一時保持された生成テストパタンの保持パタン数が保持基準値を超えている場合、抽出基準値以下の部分テストパタンを分割抽出し、圧縮処理を複数のサーバコンピュータによりＡＴＧ処理と混合して分散処理する。これにより、テストパタンを部分テストパタンに分割して圧縮しても、従来のように圧縮性能の低下を招くことなく、圧縮処理の分散化が可能になり、テストパタン圧縮およびテストパタン生成処理の処理時間が短縮されるなどの効果がある。
【図面の簡単な説明】
【図１】本発明のテストパタン生成方法の実施形態におけるクライアントコンピュータＣ０の処理例を示す流れ図である。
【図２】本発明のテストパタン生成方法の実施形態における各サーバコンピュータＣ１〜Ｃｎの処理例を示す流れ図である。
【図３】図９に示した回路例１を含む回路に対する、本実施形態のテストパタン生成方法による各コンピュータの各処理を従来と比較してそれぞれ示すタイムチャートである。
【図４】本実施形態のテストパタン生成方法において、図３のタイムチャートに対応して、クライアントコンピュータＣ０が一時保持する生成テストパタンの保持パタン数の変化を示すグラフである。
【図５】テストパタン生成方法が実施される、一般的なシステムの例を示す構成図である。
【図６】図５における各コンピュータＣ０〜Ｃｎの一般的な例を示す構成図である。
【図７】従来のテストパタン生成方法におけるクライアントコンピュータＣ０の処理例を示す流れ図である。
【図８】従来のテストパタン生成方法における各サーバコンピュータＣ１〜Ｃｎの処理例を示す流れ図である。
【図９】テストパタン生成対象の回路例１を示す回路図である。
【図１０】図９の回路例１に対する、従来の回路分割分散処理を説明するための説明図である。
【図１１】テストパタン生成対象の回路例２およびそのテストパタン例を示す説明図である。
【図１２】図１１の回路例２に対する、従来のテストパタン生成方法による回路分割分散処理を説明するための説明図である。
【符号の説明】
Ｃ０〜Ｃ３，Ｃｎ    コンピュータ
ＣＫＴ１，ＣＫＴ２    部分回路
Ｇ０１〜Ｇ１０，Ｇ１０１〜Ｇ１０４    素子
Ｐ１，Ｐ２，Ｐ１１，Ｐ１２，Ｐ２１〜Ｐ２４    テストパタン
ＰＩ１〜ＰＩ９，ＰＩ１０１〜ＰＩ１０６    入力端子
ＰＯ１〜ＰＯ４，ＰＯ１０１〜ＰＯ１０４    出力端子
ＰＴ１〜ＰＴ４    部分テストパタン
Ｓ１０１〜Ｓ５０５    ステップ
ｔ１〜ｔ１２    時刻
【図１】
0003621384.tif 000002
【図２】
0003621384.tif 000003
【図３】
0003621384.tif 000004
【図４】
0003621384.tif 000005
【図５】
0003621384.tif 000006
【図６】
0003621384.tif 000007
【図７】
0003621384.tif 000008
【図８】
0003621384.tif 000009
【図９】
0003621384.tif 000010
【図１０】
0003621384.tif 000011
【図１１】
0003621384.tif 000012
【図１２】
0003621384.tif 000013