"集積回路を複数の回路に分割した回路毎のテストパターンを、複数の演算処理装置を用いて生成するテストパターン生成装置であって、各々いずれかの分割した回路のテストパターンの生成を行なう複数の第1の演算処理装置と、前記複数の第1の演算処理装置によるテストパターン生成を制御し、各分割した回路に含まれる試験対象回路の故障検出に用いる要求値の設定対象となる入力点毎の要求値を格納する要求値バッファを有する第2の演算処理装置とを備え、前記第2の演算処理装置は、前記複数の第1の演算処理装置が要求値の設定対象となる同じ入力点に対してそれぞれ異なる要求値を設定するコンフリクトが発生するか否かを前記要求値バッファに格納された要求値に基づいて判定し、前記第1の演算処理装置が要求値の設定対象となる入力点に設定しようとする要求値が他の第1の演算処理装置が当該入力点に設定する要求値と異なるコンフリクトが発生すると前記第2の演算処理装置により判定した場合、当該第1の演算処理装置は当該要求値の設定を抑止することを特徴とするテストパターン生成装置。請求項1に記載のテストパターン生成装置であって、前記第1の演算処理装置は、前記分割した回路に含まれる要求値の設定対象となる入力点に要求値を設定する際、設定しようとする要求値が、当該入力点に対して他の第1の演算処理装置が設定した要求値と異なるコンフリクトが発生するか否かを前記第2の演算処理装置に問い合わせ、前記第2の演算処理装置は、前記第1の演算処理装置からの問い合わせがあった場合、前記要求値バッファに格納された要求値に基づいて当該問い合わせに係る判定を実行することを特徴とするテストパターン生成装置。請求項2に記載のテストパターン生成装置であって、前記第2の演算処理装置は、前記第1の演算処理装置からの前記コンフリクトの有無の問い合わせがあった場合、前記第1の演算処理装置からの問い合わせに係る要求値が、前記要求値バッファに格納された対応する要求値と異なるコンフリクトが発生しない場合、当該問い合わせに係る要求値を、前記要求値バッファに格納された対応する要求値に反映させると共に、当該問い合わせの結果としてコンフリクトが発生しない旨を前記第1の演算処理装置に応答し、前記第1の演算処理装置からの問い合わせに係る要求値が、前記要求値バッファに格納された対応する要求値と異なるコンフリクトが発生する場合、当該問い合わせの結果としてコンフリクトが発生する旨を前記第1の演算処理装置に応答することを特徴とするテストパターン生成装置。請求項3に記載のテストパターン生成装置であって、前記第1の演算処理装置は、前記問い合わせの結果としてコンフリクトが発生しない旨を受信すると、前記問い合わせに係る要求値の設定を行なうことを特徴とするテストパターン生成装置。請求項3または請求項4に記載のテストパターン生成装置であって、前記第2の演算処理装置は、前記コンフリクトが発生しない場合、前記問い合わせの結果としてコンフリクトが発生しない旨を前記第1の演算処理装置に応答すると共に、前記要求値バッファに格納されている前記入力点毎の要求値を前記第1の演算処理装置に応答し、前記第1の演算処理装置は、前記要求値バッファに格納されている前記入力点毎の要求値を受信すると、受信した前記入力点毎の要求値に基づき、次の要求定値の設定を行なうことを特徴とするテストパターン生成装置。請求項1~請求項5のいずれか一項に記載のテストパターン生成装置であって、前記第2の演算処理装置は、前記複数の第1の演算処理装置が要求値の設定を終了すると、前記要求値バッファにおいて要求値が未設定の入力点に対し乱数を付加してから、前記乱数を付加された、前記要求値バッファにおける前記入力点毎の要求値を前記複数の第1の演算処理装置に送信し、前記複数の第1の演算処理装置のそれぞれは、前記第2の演算処理装置から、前記乱数を付加された、前記要求値バッファにおける前記入力点毎の要求値を受信すると、受信した前記入力点毎の要求値に基づき、各第1の演算処理装置が担当する前記分割した回路の故障シミュレーションを行ない、当該分割した回路に前記要求値を入力した時の応答値を期待値として取得することを特徴とするテストパターン生成装置。請求項1~請求項6のいずれか一項に記載のテストパターン生成装置であって、前記第2の演算処理装置は、出力状態を期待値として観測すべき前記集積回路のスキャンラッチを複数のラッチグループに分割し、分割した各ラッチグループからバックトレースを実行することにより、前記集積回路を、前記複数のラッチグループにそれぞれ対応する前記複数の回路に分割し、分割した前記複数の回路をそれぞれ前記複数の第1の演算処理装置に割り当てることを特徴とするテストパターン生成装置。請求項7に記載のテストパターン生成装置であって、前記第2の演算処理装置は、ダブルパルスによるディレイ試験に対応すべく、前記分割した各ラッチグループから少なくとも2ステージ分のバックトレースを実行することを特徴とするテストパターン生成装置。集積回路を複数の回路に分割した回路毎のテストパターンを、各々いずれかの分割した回路のテストパターンの生成を行なう複数の第1の演算処理装置と前記複数の第1の演算処理装置によるテストパターン生成を制御する第2の演算処理装置とを用いて生成するテストパターン生成方法であって、前記第2の演算処理装置は、各分割した回路に含まれる試験対象回路の故障検出に用いる要求値の設定対象となる入力点毎の要求値を、要求値バッファに格納すると共に、前記複数の第1の演算処理装置が要求値の設定対象となる同じ入力点に対してそれぞれ異なる要求値を設定するコンフリクトが発生するか否かを前記要求値バッファに格納された要求値に基づいて判定し、前記第1の演算処理装置が要求値の設定対象となる入力点に設定しようとする要求値が他の第1の演算処理装置が当該入力点に設定する要求値と異なるコンフリクトが発生すると前記第2の演算処理装置により判定した場合、当該第1の演算処理装置は当該要求値の設定を抑止することを特徴とするテストパターン生成方法。集積回路を複数の回路に分割した回路毎のテストパターンを生成すべく、各々いずれかの分割した回路のテストパターンの生成を行なう複数の第1の演算処理装置の一つ、もしくは、前記複数の第1の演算処理装置によるテストパターン生成を制御する第2の演算処理装置として、コンピュータを機能させるテストパターン生成プログラムであって、前記第2の演算処理装置として機能するコンピュータに、各分割した回路に含まれる試験対象回路の故障検出に用いる要求値の設定対象となる入力点毎の要求値を、要求値バッファに格納すると共に、前記複数の第1の演算処理装置が要求値の設定対象となる同じ入力点に対してそれぞれ異なる要求値を設定するコンフリクトが発生するか否かを前記要求値バッファに格納された要求値に基づいて判定する処理を実行させ、前記第1の演算処理装置として機能するコンピュータに、前記第1の演算処理装置が要求値の設定対象となる入力点に設定しようとする要求値が他の第1の演算処理装置が当該入力点に設定する要求値と異なるコンフリクトが発生すると前記第2の演算処理装置により判定した場合、当該要求値の設定を抑止する処理を実行させることを特徴とするテストパターン生成プログラム。しかしながら、並列処理に伴い当該並列処理に関わるオーバヘッドとして生成されるテストパターンが増加する可能性がある。その理由について、以下に説明する。試験対象回路の分割を行なった場合、特別な回路でない限り、分割後の複数の回路は、一部重複し、共通の入力点を有することになる。一方、上述した従来の並列処理によるテストパターン生成技術では、各計算機で行なわれる、各分割回路についてのテストパターン生成過程は、他の計算機から独立している。共通の入力点を有する複数の分割回路について、独立に動作する複数の計算機により並列にテストパターンを生成した場合、コンフリクトが発生する可能性がある。コンフリクト不一致,衝突とは、各計算機が要求対象となる同じ入力点に対してそれぞれ異なる要求値を設定してしまう事象である。このように同じ入力点に対し異なる要求値が設定されるコンフリクトの発生した2以上のテストパターンは、マージすることができず、それぞれ異なるテストパターンとして生成される。このため、テストパターンの増加を招くことになる。一つの側面で、本件は、並列処理に起因するテストパターンの増加を抑止することを目的とする。なお、前記目的に限らず、後述する発明を実施するための最良の形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本件の他の目的の一つとして位置付けることができる。本件のテストパターン生成装置は、集積回路を複数の回路に分割した回路毎のテストパターンを、複数の演算処理装置を用いて生成するもので、複数の第1の演算処理装置と、第2の演算処理装置とを有する。複数の第1の演算処理装置は、各々いずれかの分割した回路のテストパターンの生成を行なう。第2の演算処理装置は、前記複数の第1の演算処理装置によるテストパターン生成を制御し、各分割した回路に含まれる試験対象回路の故障検出に用いる要求値の設定対象となる入力点毎の要求値を格納する要求値バッファを有している。そして、前記第2の演算処理装置は、前記複数の第1の演算処理装置が要求値の設定対象となる同じ入力点に対してそれぞれ異なる要求値を設定するコンフリクトが発生するか否かを前記要求値バッファに格納された要求値に基づいて判定する。また、前記第1の演算処理装置が要求値の設定対象となる入力点に設定しようとする要求値が他の第1の演算処理装置が当該入力点に設定する要求値と異なるコンフリクトが発生すると前記第2の演算処理装置により判定した場合、当該第1の演算処理装置は当該要求値の設定を抑止する。本件のテストパターン生成方法は、集積回路を複数の回路に分割した回路毎のテストパターンを、各々いずれかの分割した回路のテストパターンの生成を行なう複数の第1の演算処理装置と前記複数の第1の演算処理装置によるテストパターン生成を制御する第2の演算処理装置とを用いて生成する方法である。その方法において、前記第2の演算処理装置は、各分割した回路に含まれる試験対象回路の故障検出に用いる要求値の設定対象となる入力点毎の要求値を、要求値バッファに格納すると共に、前記複数の第1の演算処理装置が要求値の設定対象となる同じ入力点に対してそれぞれ異なる要求値を設定するコンフリクトが発生するか否かを前記要求値バッファに格納された要求値に基づいて判定する。そして、前記第1の演算処理装置が要求値の設定対象となる入力点に設定しようとする要求値が他の第1の演算処理装置が当該入力点に設定する要求値と異なるコンフリクトが発生すると前記第2の演算処理装置により判定した場合、当該第1の演算処理装置は当該要求値の設定を抑止する。本件のテストパターン生成プログラムは、集積回路を複数の回路に分割した回路毎のテストパターンを生成すべく、各々いずれかの分割した回路のテストパターンの生成を行なう複数の第1の演算処理装置の一つ、もしくは、前記複数の第1の演算処理装置によるテストパターン生成を制御する第2の演算処理装置として、コンピュータを機能させる。そして、当該プログラムは、前記第2の演算処理装置として機能するコンピュータに、各分割した回路に含まれる試験対象回路の故障検出に用いる要求値の設定対象となる入力点毎の要求値を、要求値バッファに格納すると共に、前記複数の第1の演算処理装置が要求値の設定対象となる同じ入力点に対してそれぞれ異なる要求値を設定するコンフリクトが発生するか否かを前記要求値バッファに格納された要求値に基づいて判定する処理を実行させる。また、当該プログラムは、前記第1の演算処理装置として機能するコンピュータに、前記第1の演算処理装置が要求値の設定対象となる入力点に設定しようとする要求値が他の第1の演算処理装置が当該入力点に設定する要求値と異なるコンフリクトが発生すると前記第2の演算処理装置により判定した場合、当該要求値の設定を抑止する処理を実行させる。一態様によれば、並列処理に起因するテストパターンの増加が抑止される。以下、図面を参照して実施の形態を説明する。1一般的なテストパターン生成装置まず、図9および図10を参照しながら、並列処理によってテストパターンの生成を行なう一般的なテストパターン生成装置100の機能構成および動作について簡単に説明する。なお、図9は一般的なテストパターン生成装置100の機能構成を示すブロック図、図10は、図9に示すテストパターン生成装置100の動作を説明するためのフローチャートである。図9に示す一般的なテストパターン生成装置100は、LSI等の試験対象回路を複数の回路に分割し、分割した回路毎のテストパターンを、複数のコンピュータ110,120を用いて生成する。テストパターン生成装置100は、複数のスレーブコンピュータ以下、単にスレーブという110と、一つのマスタコンピュータ以下、単にマスタという120とを有している。マスタ120には、回路データベース125およびテストパターンデータベース126が付設されている。回路データベース125は、試験対象回路全体のネットリスト,故障情報などを格納する。テストパターンデータベース126は、後述するマージ部121dによってマージされた試験対象回路全体のテストパターンや、検出故障などを格納する。また、各スレーブ110には、分割回路データベース115が付設されている。分割回路データベース115は、後述する回路分割部121aによって分割され各スレーブ110に割り当てられた回路のネットリスト,故障情報などを格納する。複数のスレーブ110は、分割された複数の回路をそれぞれ割り当てられ、割り当てられた回路のテストパターンの生成を並列的に行なうもので、各スレーブ110は、ATPG111aおよび故障シミュレータ111bとしての機能を有している。ATPG111aは、分割回路データベース115の情報に基づいて、分割した回路毎に、当該回路で発生しうる故障を検出するために当該回路の入力点に設定すべき要求値を生成する。ATPG111aは、マスタ120からの開始信号を受けて動作を開始し、図10を参照しながら後述する処理ステップA21~A27を実行する。故障シミュレータ111bは、マスタ120からの開始信号を受けて動作を開始し、ATPG111aで生成された要求値を当該回路の入力点に与えシミュレーションを行なうことにより、当該回路の応答である期待値を得る。ATPG111aで得られた要求値と、故障シミュレータ111bで得られた期待値とは、当該回路のテストパターンとして各スレーブ110からマスタ120へ送信される。このとき、テストパターンによって検出される故障、つまり検出故障に関する情報も、各スレーブ110からマスタ120へ送信される。マスタ120は、複数のスレーブ110によるテストパターン生成を制御するもので、回路分割部121a,ATPG制御部121b,故障シミュレータ制御部121cおよびマージ部121dとしての機能を有している。回路分割部121aは、回路データベース125に格納された試験対象回路全体の情報に基づき、試験対象回路を複数の回路に分割する。なお、分割後の複数の回路は、一部重複し、共通の入力点を有する可能性がある。各分割した回路の情報は、当該回路の処理を割り当てられたスレーブ110の分割回路データベース115に格納される。ATPG制御部121bは、各スレーブ110のATPG111aの動作を制御するもので、各スレーブ110のATPG111aに対し要求値の生成開始を指示する。具体的に、ATPG制御部121bは、図10を参照しながら後述する処理ステップA11~A14を実行する。故障シミュレータ制御部121cは、各スレーブ110の故障シミュレータ111bの動作を制御するもので、各スレーブ110の故障シミュレータ111bに対し故障シミュレーションの開始を指示する。具体的に、故障シミュレータ制御部121cは、図10を参照しながら後述する処理ステップA15,A16を実行する。マージ部121dは、各スレーブ110の故障シミュレータ111bから受信した、分割回路についてのテストパターンをマージし、試験対象回路全体のテストパターンを生成しテストパターンデータベース126に保存する。次に、図9に示す一般的なテストパターン生成装置100の動作について、図10に示すフローチャートステップA10~A30に従って説明する。まず、マスタ120の回路分割部121aにより、回路データベース125に格納された試験対象回路が、複数の回路に分割されるステップA10。分割された回路の情報は、当該回路の処理を割り当てられたスレーブ110の分割回路データベース115に格納される。そして、ATPG制御部121bから、全てのスレーブ110のATPG111aに対し、要求値の生成開始を指示するATPG開始信号が送信されるステップA11。各スレーブ110のATPG111aでは、マスタ120からのATPG開始信号を受信すると、要求値の生成が開始され、まず、分割回路の一次故障が選択されるステップA21の故障ありルート。そして、選択された一次故障を検出するために分割回路の入力点に設定すべき要求値が生成されステップA22、動的圧縮DynamicCompactionが実行される。動的圧縮では、上記一次故障を検出する要求値設定条件下で、二次故障が選択されステップA23の故障ありルート、選択された二次故障を検出するために分割回路の入力点に設定すべき要求値が生成されるステップA24。ステップA23,A24の処理を繰り返すことで、上記一次故障を検出する要求値設定条件下で、二次故障を検出するための要求値が重畳される。重畳すべき二次故障、つまり選択可能な二次故障がなくなるとステップA23の故障なしルート、要求値が未設定の入力点に対し乱数を付加する乱数付加処理が実行されるステップA25。乱数付加処理後、ATPG111aは、処理を終了し、ATPG終了信号をマスタ120へ送信するステップA26。ステップA21~A25の処理によって得られた、分割回路についての要求値セットは、故障シミュレータ111bに受け渡される。一方、マスタ120のATPG制御部121bは、ATPG開始信号を送信した後、全てのスレーブ110からATPG終了信号が送信されてくるのを待ち合わせるステップA12。ATPG制御部121bは、全てのスレーブ110からのATPG終了信号を受信するとステップA12のYESルート、処理を終了し、故障シミュレータ制御部121cが起動される。これに伴い、故障シミュレータ制御部121cから、全てのスレーブ110の故障シミュレータ111bに対し、故障シミュレーションの開始を指示する開始信号が送信されるステップA15。各スレーブ110の故障シミュレータ111bでは、マスタ120から故障シミュレーションの開始信号を受信すると、故障シミュレーションが開始される。つまり、故障シミュレータ111bは、ATPG111aで生成された要求値を、分割回路の入力点に与え、シミュレーションを行なうことにより、分割回路の応答である期待値を得るステップA28。ATPG111aで得られた要求値と故障シミュレータ111bで得られた期待値とは、分割回路のテストパターンとして各スレーブ110からマスタ120へ送信されるとともに、検出故障に関する情報も、各スレーブ110からマスタ120へ送信されるステップA29。テストパターンおよび検出故障の送信後、故障シミュレータ111bは、処理を終了し、故障シミュレーションの終了信号をマスタ120へ送信するステップA30。マスタ120の故障シミュレータ制御部121cは、故障シミュレーションの開始信号を送信した後、全てのスレーブ110から故障シミュレーションの終了信号が送信されてくるのを待ち合わせるステップA16。故障シミュレータ制御部121cは、全てのスレーブ110から故障シミュレーションの終了信号を受信するとステップA16のYESルート、処理を終了し、マージ部121dが起動される。これに伴い、マージ部121dは、各スレーブ110から受信した、各分割回路についてのテストパターンをマージし、試験対象回路全体のテストパターンを生成しテストパターンデータベース126に保存するステップA17。マスタ120は、終了条件を満たすまでステップA18でYES判定となるまで、ステップA11に戻り上述と同様の処理を繰り返す。ここで、図9,図10に示す各スレーブ110のATPG111aによる処理は、各スレーブ110内に閉じた独立な処理であり、マスタ120は、各スレーブ110へのATPG開始信号の送信と各スレーブ110からのATPG終了信号の受信とを行なっているだけである。つまり、各スレーブ110のATPG111aによる処理は、それぞれ独立であり、当該処理の開始から終了までの間に各スレーブ110とマスタ120との通信は一切行なわれない。このため、上述したように、共通の入力点である入力点を有する複数の分割回路について、独立に動作する複数のスレーブ110により並列にテストパターンを生成した場合、コンフリクト不一致,衝突が発生する可能性がある。コンフリクトとは、上述した通り、各スレーブ110が要求対象となる同じ入力点に対してそれぞれ異なる要求値を設定してしまう事象である。このように同じ入力点に対し異なる要求値が設定されるコンフリクトの発生した2以上のテストパターンは、マージ部121dによりマージすることができず、それぞれ異なるテストパターンとして生成されるため、テストパターンの増加が発生してしまう。なお、各スレーブ110のATPG111aが分割回路に割り当てられた全ての故障について要求値の生成を行ない選択可能な故障がなくなった場合ステップA21の故障なしルート、当該スレーブ110は、以下の動作を行なう。つまり、当該スレーブ110は、マスタ120に完了信号を送信するとともにステップA27、自身の状態を完了として、故障シミュレータ111bによる処理を行なうことなく自身の処理を停止する。また、完了信号を受信したマスタ120は、完了信号を送信してきたスレーブ110を切り離しステップA13、全てのスレーブ110から完了信号が送信されてくるのを待ち合わせるステップA14。マスタ120は、全てのスレーブ110から完了信号を受信するとステップA14のYESルート、自身の状態を完了として、故障シミュレータ制御部121cを起動することなく処理を終了する。各スレーブ110の本来の処理は、分割回路に割り当てられた故障についてのテストパターンを生成することである。したがって、各スレーブ110において処理すべき故障が存在しなくなった場合に、上述した完了動作ステップA27,A13,A14を行なって各スレーブ110の処理を直ちに停止することは自然な動作である。しかしながら、処理を停止したスレーブ110では、故障シミュレーションも行なわれなくなるため、停止したスレーブ110に割り当てられた分割回路に関係する期待値が得られなくなる。LSIとしては、期待値に含まれる不定値に対するマスク処理を必要とするBASTBISTAidedScanTest回路を有する試験系をそなえたものがある。このような試験系をそなえたLSIが試験対象回路である場合、上述のごとき完了動作ステップA27,A13,A14を行なっていると、並列処理に起因した不定値マスク処理に伴うオーバヘッド、即ちテストパターンの増加が発生してしまう。ここで、BAST回路について簡単に説明する。BAST回路は、テストデータ圧縮のために用いられる技術であり、疑似乱数発生器LFSR:LinearFeedbackShiftRegister,シグネチャ生成器MISR:MultipleInputSignatureRegister,反転ブロック,不定値マスクブロック,デコーダブロックなどを有している。なお、BAST回路については、例えば電子情報通信学会論文誌D1VolJ88D1No6pp10121022に開示され、MISRについては、例えば特開平8-15382号公報に開示されている。MISRは、LFSRを用いる疑似乱数生成器の一種であり、与えられる入力値に依存して乱数値であるシグネチャが変化する。つまり、テスタ測定においてMISRの入力値としてスキャンアウト値を与えることで、スキャンアウト値に含まれる故障観測の有無に依存してシグネチャが変化する。従って、事前計算により得られた、故障がない場合のシグネチャと、実際のテスタ測定から得られたシグネチャとを比較することにより、長大なスキャンアウト値を直接比較することなく、故障観測の有無を判定することができる。即ち、長大なスキャンアウト値を比較するのではなく、短いシグネチャどうしを比較するだけで故障観測の有無を判定できるので、テストパターンを圧縮することができる。ただし、故障がない場合のシグネチャを事前計算するときに、MISRに入力されるスキャンアウト値に不定値が含まれる場合には、その不定値のマスクを行なう必要がある。なぜならば、MISRは、フリップフロップFFに保持される現在のシグネチャと入力値との排他的論理和をとったものを次のシグネチャとしているため、入力値に不定値が含まれていると、FFに不定値が保持され、サイクルの進行に伴い不定値が拡散され、最終的にシグネチャが期待値を持てなくなる、つまりシグネチャが破壊されるからである。例えば、あるタイムフレームにおいて不定値マスクを行なうためには、不定値マスクを行なう必要のあるスキャンチェーン数分のクロックの印加が必要となり、印加されるクロックが、テストパターンを増加させるオーバヘッドとなる上記電子情報通信学会論文誌D1VolJ88D1No6pp10121022の表2参照。2本実施形態のテストパターン生成装置上述したように、図9および図10に示すテストパターン生成装置100では、分割回路のテストパターンが、独立に並列動作する複数のスレーブにおけるATPGにより作成された後、マージされている。これに対し、後述する本実施形態のテストパターン生成装置1図1参照では、スレーブを完全独立に動作させるのではなく、ATPGによる要求値の生成処理中にマスタとスレーブとの間で通信を行なって分割回路間で共通の入力点に設定される要求値のコンフリクトを回避する仕組みがそなえられている。この仕組みでは、マスタにおける要求値バッファ22a図1,図6参照を用いて複数のスレーブ間で要求値の同期化同値化が行なわれる。つまり、各スレーブの要求値は、マスタ要求値バッファ22aを介し互いに同期同値化される。これにより、複数のスレーブを用いた並列処理でテストパターン生成を行なった場合であっても、系全体としては、単一の演算処理装置でテストパターン生成を行なった場合と同等の回路状態が、要求値バッファ22aを介して維持され、並列処理に伴うテストパターン増加が抑制される。また、後述する本実施形態のテストパターン生成装置1は、MISRを用いるパターン圧縮回路に対応すべく、選択すべき故障がなくなったスレーブにおいて、ATPGによる要求値生成処理をスキップするが、故障シミュレーション処理を実行して期待値を得るように構成される。これにより、不定値のマスク処理に伴うテストパターンの増加が抑制される。2-1本実施形態のテストパターン生成装置の構成図1は、本実施形態のテストパターン生成装置1のハードウエア構成および機能構成を示すブロック図である。図1に示すテストパターン生成装置1は、上述したテストパターン生成装置100と同様、LSI等の試験対象回路を複数の回路に分割し、分割した回路毎のテストパターンを、複数のコンピュータ演算処理装置10,20を用いて生成する。テストパターン生成装置1は、複数のスレーブコンピュータ第1の演算処理装置;以下、単にスレーブという10と、一つのマスタコンピュータ第2の演算処理装置;以下、単にマスタという20とを有している。マスタ20には、回路データベース25およびテストパターンデータベース26が付設されている。回路データベース25は、試験対象回路全体のネットリスト,故障情報などを格納する。テストパターンデータベース26は、後述するマージ部21dによってマージされた試験対象回路全体のテストパターンや、検出故障などを格納する。また、各スレーブ10には、分割回路データベース15が付設されている。分割回路データベース15は、後述する回路分割部21aによって分割され各スレーブ10に割り当てられた回路のネットリスト,故障情報などを格納する。複数のスレーブ10は、分割された複数の回路をそれぞれ割り当てられ、割り当てられた回路のテストパターンの生成を並列的に行なうもので、各スレーブ10は、処理部CPU;CentralProcessingUnit11,記憶部12,送信部13および受信部14を有している。処理部11は、テストパターン生成プログラムを含む所定のプログラムを実行することにより、後述するATPG11aおよび故障シミュレータ11bとしての機能を果たす。記憶部12は、上記所定のプログラムや、ATPG11aおよび故障シミュレータ11bの処理に係る各種情報を記憶する。送信部13は、処理部11によって制御され、マスタ20へ各種情報要求値,終了信号,完了信号,検出故障,期待値等を送信する。受信部14は、マスタ20から各種情報開始信号,応答値,コンフリクトを抑制された要求値等を受信し、処理部11に通知する。ATPG11aは、分割回路データベース15の情報に基づいて、分割回路毎に、当該分割回路で発生しうる故障を検出するために当該分割回路の入力点である入力点に設定すべき要求値を生成する。ATPG11aは、マスタ20からの開始信号を受けて動作を開始し、図4および図6を参照しながら後述する処理ステップS21~S27およびステップS251~S254を実行する。故障シミュレータ11bは、マスタ20からの開始信号を受けて動作を開始し、後述するごとくマスタ20から受信した、コンフリクトを抑制された要求値を当該分割回路の入力点に与えシミュレーションを行なうことにより、当該分割回路の応答である期待値を得る。故障シミュレータ11bで得られた期待値は、各スレーブ10からマスタ20へ送信される。このとき、テストパターンによって検出される故障、つまり検出故障に関する情報も、各スレーブ10からマスタ20へ送信される。マスタ20は、複数のスレーブ10によるテストパターン生成を制御するもので、処理部CPU21,記憶部22,送信部23および受信部24を有している。処理部11は、テストパターン生成プログラムを含む所定のプログラムを実行することにより、後述する回路分割部21a,ATPG制御部21b,故障シミュレータ制御部21c,判定部21d,乱数付加部21eおよびマージ部21fとしての機能を果たす。記憶部22は、上記所定のプログラムや、回路分割部21a,ATPG制御部21b,故障シミュレータ制御部21c,判定部21d,乱数付加部21eおよびマージ部21fの処理に係る各種情報を記憶する。記憶部22には、要求値バッファ22aが含まれている。要求値バッファ22aは、後述するごとく回路分割部21aにより分割した回路に含まれる要求対象となる入力点毎の要求値を格納する。送信部23は、処理部21によって制御され、各スレーブ10へ各種情報開始信号,応答値,コンフリクトを抑制された要求値等を送信する。受信部24は、各スレーブ10から各種情報要求値,終了信号,完了信号,検出故障,期待値等を受信し、処理部21に通知する。回路分割部21aは、回路データベース25に格納された試験対象回路全体の情報に基づき、試験対象回路を複数の回路に分割する。なお、複数の分割回路は、一部重複し、共通の入力点を有する可能性がある。各分割回路の情報は、当該分割回路の処理を割り当てられたスレーブ10の分割回路データベース15に格納される。ここで、図2および図3を参照しながら、本実施形態の回路分割部21aによる回路分割手法について説明する。なお、図2は本実施形態の回路分割手法を説明するための図、図3は、本実施形態の回路分割手法と同手法により分割された回路の重複領域とを説明するための図である。また、回路分割部21aによる詳細な回路分割手法については、図5を参照しながら後述する。分割回路は、各分割回路の処理を担当するスレーブ10の回路状態と期待値とが正確に保証されるモデルでなければ、テストパターン生成装置1の全体として、単一の演算処理装置でテストパターン生成を行なった場合と同等の回路状態と期待値とを維持することは困難である。このため、回路分割部21aは、以下のように回路分割を行なっている。図2および図3に示すように、回路分割部21aは、出力状態を期待値として観測すべき試験対象回路の観測点スキャンラッチを、複数のラッチグループに分割し、これらのラッチグループをそれぞれ異なる複数の分割回路図3の分割回路1,2に所属させる。このとき、複数の分割回路間において重複して存在する観測点スキャンラッチは存在しない。なお、図2は、一つのラッチグループからバックトレースを行なった状態を示しており、図3は、2つのラッチグループからバックトレースを行ない、共通の入力点を有する2つの分割回路を特定した状態を示している。そして、回路分割部21aは、分割した各ラッチグループからバックトレースすることにより、図3に示すように、試験対象回路を、複数のラッチグループにそれぞれ対応する複数の回路に分割し、分割した複数の回路をそれぞれ複数のスレーブ10図3のスレーブ1,2参照に割り当てる。このように、観測点スキャンラッチ側からバックトレースして回路分割を行なうことで、回路分割時の期待値の正当性が保証される。また、回路分割部21aは、ダブルパルスによるディレイ試験WDFT:DoublepulseDelayFunctionTestに対応すべく、分割した各ラッチグループから、データラインおよび制御ラインを一般的なスタティック試験の場合よりも1ステージ分多く、バックトレースする。つまり、回路分割部21aによるバックトレースの深さは、図2に示すように、データラインで2ステージ分State1,2、クロック,クリア等の制御ラインで3ステージ分制御ライン1~3である。なお、バックトレースによって到達した入力点であるスキャンラッチのデータ端子Dinには、図5を参照しながら後述するように、境界処理が施され、常に制御不可能な値ConstU;ConstantUncontrollableに接続される。また、図3に示すように、一般に任意の観測点スキャンラッチからバックトレースにより回路を分割する場合、共通の入力図3の重複スキャンイン参照が、異なる分割回路に重複して登録されることがある。図3に示すような共通入力重複スキャンインに対し、異なる分割回路を担当するスレーブ10毎に異なる要求値が設定されると、つまりコンフリクトが発生すると、テストパタンの増加の原因となる。このような共通入力における要求値のコンフリクトを、要求値の同期化処理によって回避する構成について、以下、図1を参照しながら説明する。ATPG制御部21bは、各スレーブ10のATPG11aの動作を制御するもので、各スレーブ10のATPG11aに対し、要求値の生成開始を指示するATPG開始信号を、送信部23経由で送信する。具体的に、ATPG制御部21bは、後述する判定部21dと連携し、図4および図6を参照しながら後述する処理ステップS11~S15およびS141~S147を実行する。故障シミュレータ制御部21cは、各スレーブ10の故障シミュレータ11bの動作を制御するもので、各スレーブ10の故障シミュレータ11bに対し故障シミュレーションの開始を指示する開始信号を、送信部23経由で送信する。具体的に、故障シミュレータ制御部21cは、図4を参照しながら後述する処理ステップS17,S18を実行する。判定部21dは、複数のスレーブ10が要求対象となる同じ入力点に対してそれぞれ異なる要求値を設定するコンフリクトが発生するか否かを、要求値バッファ22aに格納された要求値に基づいて判定する。各スレーブ10は、ATPG11aにおいて分割回路に含まれる要求対象となる入力点に要求値を設定する際、コンフリクトが発生するか否かを、送信部13および受信部24を介して、マスタ20の判定部21dに問い合わせる。ここで、コンフリクトとは、各スレーブ10のATPG11aが入力点に設定しようとする要求値が、当該入力点に対して他のスレーブ10が設定した要求値と異なる事象のことである。判定部21dは、スレーブ10から、設定しようとする要求値のコンフリクトの有無の問い合わせがあった場合、要求値バッファ22aに格納された要求値に基づいて当該問い合わせに係る判定を実行する。つまり、判定部21dは、当該問い合わせに係る要求値と要求値バッファ22aに保存された要求値とを照合する。より具体的に、判定部21dは、要求値バッファ22aにおいて、当該問い合わせに係る要求値を設定される入力点に対応するビットを参照し、当該ビットに保存されている要求値と当該問い合わせに係る要求値とを比較する。そして、判定部21dは、これらの要求値が同じ値である場合や前記対応するビットにまだ要求値が設定されていない場合、コンフリクトが発生していないコンフリクト無と判定する。一方、判定部21dは、前記対応するビットに、当該問い合わせに係る要求値と異なる値が設定されている場合、コンフリクトが発生しているコンフリクト有と判定する。つまり、当該問い合わせに係る要求値が1の時に対応ビットに0が設定されている場合、または、当該問い合わせに係る要求値が0の時に対応ビットに1が設定されている場合、コンフリクトが発生しているコンフリクト有と判定される。判定部21dは、コンフリクトが発生すると判定した場合、当該問い合わせの結果としてコンフリクトが発生する旨却下を、送信部13および受信部24を介して、当該問い合わせを行なったスレーブ10に応答する。却下応答を受信したスレーブ10は、当該要求値の設定を抑止する。判定部21dは、コンフリクトが発生しないと判定した場合、当該問い合わせに係る要求値を、要求値バッファ22aに格納された対応する要求値に反映させる。つまり、当該問い合わせに係る要求値が、対応入力点に設定される要求値として、要求値バッファ22aに追加保存される。また、判定部21dは、当該問い合わせの結果としてコンフリクトが発生しない旨受理と、要求値バッファ22aに格納されている入力点毎の要求値とを、送信部13および受信部24を介して、当該問い合わせを行なったスレーブ10に応答する。受理応答を受信したスレーブ10は、問い合わせに係る要求値の設定を行なうとともに、受信した入力点毎の要求値に基づき、次の要求値の設定を行なう。乱数付加部21eは、複数のスレーブ10の全てが要求値の設定を終了すると、要求値バッファ22aにおいて要求値が未設定の入力点に対し乱数を付加する。乱数付加部21eによって乱数を付加された、要求値バッファ22aにおける入力点毎の要求値は、送信部13および受信部24を介して、複数のスレーブ10に送信される。複数のスレーブ10のそれぞれは、マスタ20から、乱数を付加された、要求値バッファ22aにおける入力点毎の要求値を受信すると、受信した入力点毎の要求値に基づき故障シミュレータ11bによる故障シミュレーションを実行させる。このとき、故障シミュレータ11bは、各スレーブ10が担当する分割回路の故障シミュレーションを行ない、当該分割回路に要求値を入力した時の応答値を期待値として取得する。故障シミュレータ11bにより取得された期待値は、当該要求値によって検出される故障、つまり検出故障に関する情報とともに、送信部23および受信部14を介してマスタ20へ送信される。マージ部21fは、各スレーブ10から受信した、分割回路についての期待値をマージする。マージ部21fによってマージされた期待値と、乱数を付加された、要求値バッファ22aにおける入力点毎の要求値とは、試験対象回路全体のテストパターンとして、テストパターンデータベース26に保存される。2-2本実施形態のテストパターン生成装置の動作次に、上述のごとく構成されたテストパターン生成装置1の動作について、図4に示すフローチャートステップS10~S30に従って、図5~図8を参照しながら説明する。まず、マスタ20の回路分割部21aにより、回路データベース25に格納された試験対象回路が、図2および図3を参照しながら前述した通り、複数の回路に分割されるステップS10。ここで、回路分割部21aによる回路分割処理の詳細な手順について、図5に示すフローチャートステップS31~S35,S341~S344,S351~S353に従って説明する。回路分割部21aは、回路データベース25から、試験対象回路全体の回路モデルを取り込みステップS31、出力状態を期待値として観測すべき試験対象回路の観測点スキャンラッチを、複数のラッチグループに分割する。各ラッチグループには、分割回路のID=1,2,...,nnは分割数のいずれか一つが付与されるステップS32。この後、ID=1,2,...,nのラッチグループのそれぞれについて、以下の分割回路トレース処理ステップS34が実行されるとともに、以下の分割回路出力処理ステップS35が実行される。全てのラッチグループに対し、分割回路トレース処理および分割回路出力処理が実行されるとステップS33のYESルート、回路分割部21aは、回路分割処理を終了する。分割回路トレース処理ステップS34において、まず、回路分割部21aは、ID=ii=1,2,...,nのラッチグループをレベルL=1の開始点集合に設定する初期化処理を行なうステップS341。初期化処理後、レベルL=1,2,3について、以下の処理ステップS343,S344が実行される。レベルL=1,2,3に対し、以下の処理ステップS343,S344が実行されるとステップS342のYESルート、分割回路トレース処理ステップS34を終了する。ステップS343において、回路分割部21aは、レベルLの開始点集合からバックトレースを開始する。ただし、L=3の場合、スキャンラッチのデータイン端子Dinからのバックトレースは行なわない。ステップS344において、回路分割部21aは、レベルLの開始点集合から前段ロジックのスキャンラッチまでの1ステージ分のバックトレースを行なう。そして、回路分割部21aは、バックトレースによって到達したスキャンラッチを、次のレベルL=i1の開始点集合に設定し、トレース範囲をマークする。分割回路出力処理ステップS35において、回路分割部21aは、スキャンアウト属性の調整を行なうステップS351。具体的に、レベルL=1以外のスキャンラッチのスキャンアウト属性が消去される。そして、回路分割部21aは、境界処理を行なうステップS352。つまり、回路分割部21aは、ステップS344でマークされたトレース範囲を参照し、トレースと非トレースとの境界を、常に制御不可能な値ConstUに終端させる。この後、回路分割部21aは、ID=iの分割回路モデルを出力しステップS353、ステップS33の処理へ移行する。以上の回路分割処理により、図2および図3に示すように、ダブルパルスによるディレイ試験WDFTに対応すべく、分割した各ラッチグループから、データラインで2ステージ分、制御ラインで3ステージ分のバックトレースが行なわれる。そして、分割したラッチグループ毎に、試験対象回路の分割回路が得られる。分割回路の情報は、当該分割回路の処理を割り当てられたスレーブ10の分割回路データベース15に格納される。この後、マスタ20は、要求値バッファ22aのクリア処理を行なってからステップS11、ATPG制御部21bから、送信部23を介して、全てのスレーブ10のATPG11aに対し、要求値の生成開始を指示するATPG開始信号を送信するステップS12。各スレーブ10のATPG11aでは、受信部14によりマスタ20からのATPG開始信号を受信すると、要求値の生成が開始され、まず、分割回路の一次故障が選択されるステップS21の故障ありルート。そして、選択された一次故障を検出するために分割回路の入力点に設定すべき要求値が生成されステップS22、動的圧縮DynamicCompactionが実行される。動的圧縮では、上記一次故障を検出する要求値設定条件下で、二次故障が選択されステップS23の故障ありルート、選択された二次故障を検出するために分割回路の入力点に設定すべき要求値が生成作成されるステップS24。なお、二次故障についての要求値生成に成功した場合、当該要求値生成に成功したことを示すフラグがセットされる。ステップS24で要求値要求が作成されると、スレーブ10とマスタ20との間で要求値の同期化処理ステップS25およびS14が実行される。ここで、図6に示すフローチャートステップS141~S147,S251~S254に従って、図4に示す要求値の同期化処理ステップS14,S25について説明する。ステップS24で要求値が作成されると、スレーブ10は、分割回路モデルから当該故障の検出に関わる状態を一旦クリアした後、コンフリクトが発生するか否かを、送信部13および受信部24を介して、マスタ20の判定部21dに問い合わせるステップS251。ここで、コンフリクトとは、ステップS24で作成された要求値、つまりスレーブ10のATPG11aが入力点に設定しようとする要求値が、当該入力点に対して他のスレーブ10が設定した要求値と異なる事象のことである。マスタ20は、受信部24により、スレーブ10から、設定しようとする要求値のコンフリクトの有無の問い合わせを受信するとステップS141、判定部21dにより、当該問い合わせに係る要求値と要求値バッファ22aに保存された要求値とを照合するステップ142。このとき、判定部21dは、前述したように、要求値バッファ22aにおいて、当該問い合わせに係る要求値を設定される入力点に対応するビットを参照し、当該ビットに保存されている要求値と当該問い合わせに係る要求値とを比較する。判定部21dによりコンフリクトが発生すると判定された場合ステップS143のYESルート、要求値バッファ22aの更新は行なわず、スレーブ10に対する応答値に、コンフリクトが発生する旨却下が設定されるステップS144。そして、却下を設定された応答値が、送信部13および受信部24を介して、当該問い合わせを行なったスレーブ10に送信されるステップS145。応答値の送信後、マスタ20の処理は後述するステップS13に戻る。スレーブ10において、受信部24によりマスタ20からの応答値が受信されステップS252、受信した応答値に却下が設定されていた場合ステップS253のNOルート、スレーブ10ATPG11aは、当該要求値の設定を抑止し、ステップS23の処理へ移行する。なお、このとき、スレーブ10は、次回の動的圧縮で同二次故障を、再度、ターゲット選択対象にするために、同二次故障についての要求値生成に成功したことを示すフラグがクリアされる。一方、判定部21dによりコンフリクトが発生しないと判定された場合ステップS143のNOルート、スレーブ10に対する応答値に、コンフリクトが発生しない旨受理と要求値バッファ22aに格納されている入力点毎の要求値とが設定されるステップS146。また、当該問い合わせに係る要求値は、要求値バッファ22aに格納された対応する要求値に反映される。つまり、当該問い合わせに係る要求値が、対応入力点に設定される要求値として、要求値バッファ22aに追加保存されるステップS147。そして、受理、および、要求値バッファ22aに格納されている入力点毎の要求値を設定された応答値が、送信部13および受信部24を介して、当該問い合わせを行なったスレーブ10に送信されるステップS145。応答値の送信後、マスタ20の処理は後述するステップS13に戻る。スレーブ10において、受信部24によりマスタ20からの応答値が受信されステップS252、受信した応答値に受理が設定されていた場合ステップS253のYESルート、スレーブ10ATPG11aは、問い合わせに係る要求値の設定を行なうステップS254。つまり、スレーブ10ATPG11aは、マスタ20から返信されてきた入力点毎の要求値を用い、分割回路モデルの状態を含意し、ステップS23の処理へ移行する。ATPG11aにおいては、ステップS23~S25の処理を繰り返すことで、上記一次故障を検出する要求値設定条件下で、二次故障を検出するための要求値が重畳される。重畳すべき二次故障、つまり選択可能な二次故障がなくなるとステップS23の故障なしルート、ATPG111aは、処理を終了し、ATPG終了信号をマスタ120へ送信するステップS26。一方、マスタ20において、ATPG制御部21bは、ATPG開始信号を送信した後、全てのスレーブ10からATPG終了信号が送信されてくるのを待ち合わせるステップS13。各スレーブ10からのATPG終了信号を待ち合わせている間、ATPG制御部21bは、各スレーブ10からの問い合わせに応じ要求値の同期化処理ステップS14を実行する。そして、ATPG制御部21bは、受信部24により、全てのスレーブ10からのATPG終了信号を受信するとステップS13のYESルート、乱数付加部21eが、要求値バッファ22aにおいて要求値が未設定の入力点に対し乱数を付加するステップS16。乱数付加部21eによって乱数を付加された、要求値バッファ22aにおける入力点毎の要求値、つまりコンフリクトを抑制された要求値は、送信部13および受信部24を介して、全てのスレーブ10に送信される。この後、故障シミュレータ制御部21cが起動され、故障シミュレータ制御部121cから、全てのスレーブ10の故障シミュレータ11bに対し、故障シミュレーションの開始を指示する開始信号が送信されるステップS17。各スレーブ10は、マスタ20から、コンフリクトを抑制された要求値と故障シミュレーションの開始信号とを受信すると、故障シミュレーションが開始される。つまり、故障シミュレータ11bは、マスタ20からの、コンフリクトを抑制された要求値を、分割回路の入力点に与え、シミュレーションを行なうことにより、分割回路の応答である期待値を得るステップS28。故障シミュレータ11bにより取得された期待値は、当該要求値によって検出される故障に関する情報とともに、送信部23および受信部14を介してマスタ20へ送信されるステップS29。期待値および検出故障の送信後、故障シミュレータ11bは、処理を終了し、故障シミュレーションの終了信号をマスタ20へ送信するステップS30。マスタ20において、故障シミュレータ制御部21cは、故障シミュレーションの開始信号を送信した後、全てのスレーブ10から故障シミュレーションの終了信号が送信されてくるのを待ち合わせるステップS18。故障シミュレータ制御部21cは、全てのスレーブ10から故障シミュレーションの終了信号を受信するとステップS18のYESルート、処理を終了し、マージ部21fが起動される。これに伴い、マージ部21fは、各スレーブ10から受信した、各分割回路についての期待値をマージする。そして、マージ部21fは、マージされた期待値と、乱数を付加された、要求値バッファ22aにおける入力点毎の要求値とを、試験対象回路全体のテストパターンとして、テストパターンデータベース26に保存するステップS19。マスタ20は、終了条件を満たすまでステップS20でYES判定となるまで、ステップS11に戻り上述と同様の処理を繰り返す。なお、各スレーブ10のATPG11aが分割回路に割り当てられた全ての故障について要求値の生成を行ない選択可能な故障がなくなった場合ステップS21の故障なしルート、当該スレーブ10は、以下の動作を行なう。つまり、当該スレーブ10は、送信部13および受信部24を介して、マスタ20に完了信号を送信するステップS27。このとき、スレーブ10は、図9や図10に示したテストパターン生成装置100のごとくスレーブ自体の処理を停止させるのではなく、ATPG11aによる処理を停止させるだけで、引き続き故障シミュレーションの開始を待機する。また、完了信号を受信したマスタ20は、図9や図10に示したテストパターン生成装置100のごとくスレーブ10の切り離しは行なわず、全てのスレーブ110から完了信号が送信されてくるのを待ち合わせるステップS15。マスタ20は、全てのスレーブ10から完了信号を受信するとステップS15のYESルート、故障シミュレータ制御部121cを起動し、ステップS17~S20の処理を実行する。このような動作により、選択すべき故障がなくなったスレーブ10において、ATPG11aによる要求値生成処理はスキップされるが、故障シミュレーション処理を実行して期待値を得ることができる。次に、図7A~図7Cを参照し、本実施形態のテストパターン生成装置1の動作例を従来技術の動作例と比較しながら具体的に説明する。2つのスレーブ10Slave1Slave2が、それぞれ、分割された故障集合における故障f11,f21に対し、要求値を生成した場合の具体例を図7Aに示す。この図7Aでは、例えば、Slave1は故障f11に対し要求値A1={110}を生成し、Slave2は故障f21に対し要求値B1={1110}を生成している。なお、は、要求値が未設定のビット入力点を示している。図7Aに示す状態では、故障f11に対する要求値A1と故障f21に対する要求値B1との間でコンフリクトは発生していない。したがって、この例の場合、要求値A1と要求値B1とをマージした要求値{11100}をテストパターンとして用いることができるので、テストパターンの増加は発生しない。図7Bは、図9や図10に示す一般的なテストパターン生成装置100において、Slave1およびSlave2がそれぞれ図7Aに示す要求値A1,B1を生成した状態で、Slave2が二次故障f22に対する要求値B2を生成した場合を示している。ここで、Slave2は故障f22に対し要求値B2={1}を生成している。この場合、Slave1とは完全に独立して並列処理を行なっているSlave2は、要求値B1に要求値B2を重ね合わせ、要求値B3={11101}を生成している。このようにSlave2で生成された要求値B3={11101}と、他のSlave1で生成されている要求値A1={110}との間では、左から7ビット目の要求値が異なっており、コンフリクトが発生している。したがって、これらの要求値A1,B3はマージすることができず、テストパターンの増加が発生する。図7Cは、本実施形態のテストパターン生成装置1において、Slave1が図7Aに示す要求値A1を生成した後にSlave2が図7Aに示す要求値B1を生成した状態で、Slave2が、二次故障f22に対する要求値B4を生成した場合を示している。このとき、Slave1が図7Aに示す要求値A1を生成した時点で、マスタ20の要求値バッファ22aに格納される要求値は、要求値A1と同じ{110}となっている。この後、Slave2が図7Aに示す要求値B1を生成した場合、Slave2は、要求値B1についてマスタ20に問い合わせを行なう。このとき、上述したように要求値A1と要求値B1との間ではコンフリクトが生じない。したがって、要求値B1には、要求値バッファ22aに格納されている要求値が反映されるとともに、要求値バッファ22aには要求値B1が反映される。つまり、要求値バッファ22aの要求値は{11100}となり、マスタ20からSlave2へ返信される要求値も{11100}となり、要求値の同期化が行なわれる。同期化した要求値{11100}の条件で、Slave2が、二次故障f22に対する要求値B4={1}を生成すると、同期化した要求値{11100}に要求値B4={1}を追加した要求値B5={111100}を生成する。要求値B5についてマスタ20に問い合わせを行なうと、要求値障バッファ22aの要求値{11100}と要求値B5との間ではコンフリクトが生じない。したがって、要求値バッファ22aの要求値は{111100}となり、マスタ20からSlave2へ返信される要求値も{111100}となり、要求値の同期化が行なわれる。上述のようにして、各スレーブ10で生成される要求値は、マスタ20要求値バッファ22aを介して同期化同値化される。つまり、他のスレーブ10からの要求値を同期化した条件の下で、検出可能な故障に対する要求値が生成されるので、可能な限りコンフリクトを回避しながら要求値の生成を行なうことができ、テストパターンの増加が抑制される。なお、本実施形態のテストパターン生成装置1では、図8に示すように、各スレーブ10からマスタ20への要求値の送信問い合わせに優先順序を設けておらず、要求値の送信は非同期的に行なわれる。このため、マスタ20での要求値の受信、および、要求値バッファ22aへの要求値の設定は早い者順になる矢印A1,A2参照。図8は、本実施形態のスレーブ10とマスタ20との間における要求値の非同期通信について説明するための図である。図8では、他のスレーブ10がマスタ20にアクセスし矢印A1参照、他のスレーブ10からの要求値が要求値バッファ22aに反映された後に、スレーブ10が要求値の問い合わせをマスタ20に行なっている矢印A2参照。スレーブ10からの問い合わせに応じて、当該問い合わせに係る要求値と要求値バッファ22aにおける要求値との照合が行なわれる。照合の結果、コンフリクトが発生する場合、却下を示す応答値がスレーブ10に返送される矢印A3参照。一方、コンフリクトが発生しない場合、受理を示すとともに要求値バッファ22aの保存要求値を含む応答値がスレーブ10に返送される矢印A3参照。2-3本実施形態のテストパターン生成装置の効果このように、本実施形態のテストパターン生成装置1によれば、スレーブ10を完全独立に動作させるのではなく、ATPG11aによる要求値の生成処理中にマスタ20とスレーブ10との間で通信を行なって分割回路間で共通の入力点に設定される要求値のコンフリクトが回避される。より具体的には、マスタ20における要求値バッファ22aを用いて複数のスレーブ10間で要求値の同期化同値化が行なわれる。つまり、各スレーブ10の要求値は、要求値バッファ22aを介し互いに同期同値化される。これにより、複数のスレーブ10を用いた並列処理でテストパターン生成を行なった場合であっても、系全体としては、単一の演算処理装置でテストパターン生成を行なった場合と同等の回路状態が、要求値バッファ22aに維持され、並列処理に伴うテストパターン増加が抑制される。したがって、テストパターンの増加というオーバヘッドなしに複数の計算機演算処理装置を用いることで、計算機1台あたりのメモリ使用量を削減する負荷分散と並列処理による高速なテストパターン生成とが可能となる。また、本実施形態のテストパターン生成装置1は、MISRを用いるパターン圧縮回路に対応すべく、選択すべき故障がなくなったスレーブ10において、ATPG11aによる要求値生成処理をスキップするが、故障シミュレーション処理を実行して期待値を得るように構成される。これにより、不定値のマスク処理に伴うテストパターンの増加が抑制される。さらに、図10のステップA25に示すように一般的なテストパターン生成装置100では各スレーブ110において実行されていた乱数付加処理が、本実施形態のテストパターン生成装置1では、マスタ20の乱数付加部21eにより一元的に実行される図4のステップS16参照。これにより、各スレーブ10の負荷を軽減することが可能になる。3その他以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。なお、上述したスレーブ10におけるATPG11aおよび故障シミュレータ11bとしての機能や、上述したマスタ20における回路分割部21a,ATPG制御部21b,故障シミュレータ制御部21c,判定部21d,乱数付加部21eおよびマージ部21fとしての機能の全部もしくは一部は、コンピュータCPU,情報処理装置,各種端末を含むが所定のアプリケーションプログラムテストパターン生成プログラムを実行することによって実現される。そのプログラムは、例えばフレキシブルディスク,CDCD-ROM,CD-R,CD-RWなど,DVDDVD-ROM,DVD-RAM,DVD-R,DVD-RW,DVDR,DVDRWなど,ブルーレイディスク等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。ここで、コンピュータとは、ハードウエアとOSオペレーティングシステムとを含む概念であり、OSの制御の下で動作するハードウエアを意味している。また、OSが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウエアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取る手段とをそなえている。上記テストパターン生成プログラムは、上述のようなコンピュータに、ATPG11a,故障シミュレータ11b,回路分割部21a,ATPG制御部21b,故障シミュレータ制御部21c,判定部21d,乱数付加部21eおよびマージ部21fとしての機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくOSによって実現されてもよい。4付記以上の本実施形態を含む実施形態に関し、さらに以下の付記を開示する。付記1集積回路を複数の回路に分割した回路毎のテストパターンを、複数の演算処理装置を用いて生成するテストパターン生成装置であって、各々いずれかの分割した回路のテストパターンの生成を行なう複数の第1の演算処理装置と、前記複数の第1の演算処理装置によるテストパターン生成を制御し、各分割した回路に含まれる試験対象回路の故障検出に用いる要求値の設定対象となる入力点毎の要求値を格納する要求値バッファを有する第2の演算処理装置とを備え、前記第2の演算処理装置は、前記複数の第1の演算処理装置が要求値の設定対象となる同じ入力点に対してそれぞれ異なる要求値を設定するコンフリクトが発生するか否かを前記要求値バッファに格納された要求値に基づいて判定し、前記第1の演算処理装置が要求値の設定対象となる入力点に設定しようとする要求値が他の第1の演算処理装置が当該入力点に設定する要求値と異なるコンフリクトが発生すると前記第2の演算処理装置により判定した場合、当該第1の演算処理装置は当該要求値の設定を抑止することを特徴とするテストパターン生成装置。付記2付記1に記載のテストパターン生成装置であって、前記第1の演算処理装置は、前記分割した回路に含まれる要求値の設定対象となる入力点に要求値を設定する際、設定しようとする要求値が、当該入力点に対して他の第1の演算処理装置が設定した要求値と異なるコンフリクトが発生するか否かを前記第2の演算処理装置に問い合わせ、前記第2の演算処理装置は、前記第1の演算処理装置からの問い合わせがあった場合、前記要求値バッファに格納された要求値に基づいて当該問い合わせに係る判定を実行することを特徴とするテストパターン生成装置。付記3付記2に記載のテストパターン生成装置であって、前記第2の演算処理装置は、前記第1の演算処理装置からの前記コンフリクトの有無の問い合わせがあった場合、前記第1の演算処理装置からの問い合わせに係る要求値が、前記要求値バッファに格納された対応する要求値と異なるコンフリクトが発生しない場合、当該問い合わせに係る要求値を、前記要求値バッファに格納された対応する要求値に反映させると共に、当該問い合わせの結果としてコンフリクトが発生しない旨を前記第1の演算処理装置に応答し、前記第1の演算処理装置からの問い合わせに係る要求値が、前記要求値バッファに格納された対応する要求値と異なるコンフリクトが発生する場合、当該問い合わせの結果としてコンフリクトが発生する旨を前記第1の演算処理装置に応答することを特徴とするテストパターン生成装置。付記4付記3に記載のテストパターン生成装置であって、前記第1の演算処理装置は、前記問い合わせの結果としてコンフリクトが発生しない旨を受信すると、前記問い合わせに係る要求値の設定を行なうことを特徴とするテストパターン生成装置。付記5付記3または付記4に記載のテストパターン生成装置であって、前記第2の演算処理装置は、前記コンフリクトが発生しない場合、前記問い合わせの結果としてコンフリクトが発生しない旨を前記第1の演算処理装置に応答すると共に、前記要求値バッファに格納されている前記入力点毎の要求値を前記第1の演算処理装置に応答し、前記第1の演算処理装置は、前記要求値バッファに格納されている前記入力点毎の要求値を受信すると、受信した前記入力点毎の要求値に基づき、次の要求定値の設定を行なうことを特徴とするテストパターン生成装置。付記6付記1~付記5のいずれか一項に記載のテストパターン生成装置であって、前記第2の演算処理装置は、前記複数の第1の演算処理装置が要求値の設定を終了すると、前記要求値バッファにおいて要求値が未設定の入力点に対し乱数を付加してから、前記乱数を付加された、前記要求値バッファにおける前記入力点毎の要求値を前記複数の第1の演算処理装置に送信し、前記複数の第1の演算処理装置のそれぞれは、前記第2の演算処理装置から、前記乱数を付加された、前記要求値バッファにおける前記入力点毎の要求値を受信すると、受信した前記入力点毎の要求値に基づき、各第1の演算処理装置が担当する前記分割した回路の故障シミュレーションを行ない、当該分割した回路に前記要求値を入力した時の応答値を期待値として取得することを特徴とするテストパターン生成装置。付記7付記1~付記6のいずれか一項に記載のテストパターン生成装置であって、前記第2の演算処理装置は、出力状態を期待値として観測すべき前記集積回路のスキャンラッチを複数のラッチグループに分割し、分割した各ラッチグループからバックトレースを実行することにより、前記集積回路を、前記複数のラッチグループにそれぞれ対応する前記複数の回路に分割し、分割した前記複数の回路をそれぞれ前記複数の第1の演算処理装置に割り当てることを特徴とするテストパターン生成装置。付記8付記7に記載のテストパターン生成装置であって、前記第2の演算処理装置は、ダブルパルスによるディレイ試験に対応すべく、前記分割した各ラッチグループから少なくとも2ステージ分のバックトレースを実行することを特徴とするテストパターン生成装置。付記9集積回路を複数の回路に分割した回路毎のテストパターンを、各々いずれかの分割した回路のテストパターンの生成を行なう複数の第1の演算処理装置と前記複数の第1の演算処理装置によるテストパターン生成を制御する第2の演算処理装置とを用いて生成するテストパターン生成方法であって、前記第2の演算処理装置は、各分割した回路に含まれる試験対象回路の故障検出に用いる要求値の設定対象となる入力点毎の要求値を、要求値バッファに格納すると共に、前記複数の第1の演算処理装置が要求値の設定対象となる同じ入力点に対してそれぞれ異なる要求値を設定するコンフリクトが発生するか否かを前記要求値バッファに格納された要求値に基づいて判定し、前記第1の演算処理装置が要求値の設定対象となる入力点に設定しようとする要求値が他の第1の演算処理装置が当該入力点に設定する要求値と異なるコンフリクトが発生すると前記第2の演算処理装置により判定した場合、当該第1の演算処理装置は当該要求値の設定を抑止することを特徴とするテストパターン生成方法。付記10付記9に記載のテストパターン生成方法であって、前記第1の演算処理装置は、前記分割した回路に含まれる要求値の設定対象となる入力点に要求値を設定する際、設定しようとする要求値が、当該入力点に対して他の第1の演算処理装置が設定した要求値と異なるコンフリクトが発生するか否かを前記第2の演算処理装置に問い合わせ、前記第2の演算処理装置は、前記第1の演算処理装置からの問い合わせがあった場合、前記要求値バッファに格納された故障設定値に基づいて当該問い合わせに係る判定を実行することを特徴とするテストパターン生成方法。付記11付記10に記載のテストパターン生成方法であって、前記第2の演算処理装置は、前記第1の演算処理装置からの前記コンフリクトの有無の問い合わせがあった場合、前記第1の演算処理装置からの問い合わせに係る要求値が、前記要求値バッファに格納された対応する要求値と異なるコンフリクトが発生しない場合、当該問い合わせに係る要求値を、前記要求値バッファに格納された対応する要求値に反映させると共に、当該問い合わせの結果としてコンフリクトが発生しない旨を前記第1の演算処理装置に応答し、前記第1の演算処理装置からの問い合わせに係る要求値が、前記要求値バッファに格納された対応する要求値と異なるコンフリクトが発生する場合、当該問い合わせの結果としてコンフリクトが発生する旨を前記第1の演算処理装置に応答することを特徴とするテストパターン生成方法。付記12付記11に記載のテストパターン生成方法であって、前記第1の演算処理装置は、前記問い合わせの結果としてコンフリクトが発生しない旨を受信すると、前記問い合わせに係る要求値の設定を行なうことを特徴とするテストパターン生成方法。付記13付記11または付記12に記載のテストパターン生成方法であって、前記第2の演算処理装置は、前記コンフリクトが発生しない場合、前記問い合わせの結果としてコンフリクトが発生しない旨を前記第1の演算処理装置に応答すると共に、前記要求値バッファに格納されている前記入力点毎の要求値を前記第1の演算処理装置に応答し、前記第1の演算処理装置は、前記要求値バッファに格納されている前記入力点毎の要求値を受信すると、受信した前記入力点毎の要求値に基づき、次の要求値の設定を行なうことを特徴とするテストパターン生成方法。付記14付記9~付記13のいずれか一項に記載のテストパターン生成方法であって、前記第2の演算処理装置は、前記複数の第1の演算処理装置が要求値の設定を終了すると、前記要求値バッファにおいて要求値が未設定の入力点に対し乱数を付加してから、前記乱数を付加された、前記要求値バッファにおける前記入力点毎の要求値を前記複数の第1の演算処理装置に送信し、前記複数の第1の演算処理装置のそれぞれは、前記第2の演算処理装置から、前記乱数を付加された、前記要求値バッファにおける前記入力点毎の要求値を受信すると、受信した前記入力点毎の要求値に基づき、各第1の演算処理装置が担当する前記分割した回路の故障シミュレーションを行ない、当該分割した回路に前記要求値を入力した時の応答値を期待値として取得することを特徴とするテストパターン生成方法。付記15付記9~付記14のいずれか一項に記載のテストパターン生成方法であって、前記第2の演算処理装置は、出力状態を期待値として観測すべき前記集積回路のスキャンラッチを複数のラッチグループに分割し、分割した各ラッチグループからバックトレースを実行することにより、前記集積回路を、前記複数のラッチグループにそれぞれ対応する前記複数の回路に分割し、分割した前記複数の回路をそれぞれ前記複数の第1の演算処理装置に割り当てることを特徴とするテストパターン生成方法。付記16付記15に記載のテストパターン生成方法であって、前記第2の演算処理装置は、ダブルパルスによるディレイ試験に対応すべく、前記分割した各ラッチグループから少なくとも2ステージ分のバックトレースを実行することを特徴とするテストパターン生成方法。付記17集積回路を複数の回路に分割した回路毎のテストパターンを生成すべく、各々いずれかの分割した回路のテストパターンの生成を行なう複数の第1の演算処理装置の一つ、もしくは、前記複数の第1の演算処理装置によるテストパターン生成を制御する第2の演算処理装置として、コンピュータを機能させるテストパターン生成プログラムであって、前記第2の演算処理装置として機能するコンピュータに、各分割した回路に含まれる試験対象回路の故障検出に用いる要求値の設定対象となる入力点毎の要求値を、要求値バッファに格納すると共に、前記複数の第1の演算処理装置が要求値の設定対象となる同じ入力点に対してそれぞれ異なる要求値を設定するコンフリクトが発生するか否かを前記要求値バッファに格納された要求値に基づいて判定する処理を実行させ、前記第1の演算処理装置として機能するコンピュータに、前記第1の演算処理装置が要求値の設定対象となる入力点に設定しようとする要求値が他の第1の演算処理装置が当該入力点に設定する要求値と異なるコンフリクトが発生すると前記第2の演算処理装置により判定した場合、当該要求値の設定を抑止する処理を実行させることを特徴とするテストパターン生成プログラム。付記18付記17に記載のテストパターン生成プログラムであって、前記第1の演算処理装置として機能するコンピュータに、前記分割した回路に含まれる要求対象となる入力点に要求値を設定する際、設定しようとする要求値が、当該入力点に対して他の第1の演算処理装置が設定した要求値と異なるコンフリクトが発生するか否かを前記第2の演算処理装置に問い合わせる処理を実行させ、前記第2の演算処理装置として機能するコンピュータに、前記第1の演算処理装置からの問い合わせがあった場合、前記要求値バッファに格納された要求値に基づいて当該問い合わせに係る判定を実行させることを特徴とするテストパターン生成プログラム。付記19付記18に記載のテストパターン生成プログラムであって、前記第2の演算処理装置として機能するコンピュータに、前記第1の演算処理装置からの前記コンフリクトの有無の問い合わせがあった場合、前記第1の演算処理装置からの問い合わせに係る要求値が、前記要求値バッファに格納された対応する要求値と異なるコンフリクトが発生しない場合、当該問い合わせに係る要求値を、前記要求値バッファに格納された対応する要求値に反映させると共に、当該問い合わせの結果としてコンフリクトが発生しない旨を前記第1の演算処理装置に応答し、前記第1の演算処理装置からの問い合わせに係る要求値が、前記要求値バッファに格納された対応する要求値と異なるコンフリクトが発生する場合、当該問い合わせの結果としてコンフリクトが発生する旨を前記第1の演算処理装置に応答する、処理を実行させることを特徴とするテストパターン生成プログラム。付記20付記19に記載のテストパターン生成プログラムであって、前記第2の演算処理装置として機能するコンピュータに、前記コンフリクトが発生しない場合、前記問い合わせの結果としてコンフリクトが発生しない旨を前記第1の演算処理装置に応答すると共に、前記要求値バッファに格納されている前記入力点毎の要求値を前記第1の演算処理装置に応答する処理を実行させ、前記第1の演算処理装置として機能するコンピュータに、前記要求値バッファに格納されている前記入力点毎の要求値を受信すると、受信した前記入力点毎の要求値に基づき、次の要求値の設定を実行させることを特徴とするテストパターン生成プログラム。"