"スキャン設計された半導体集積回路のテストパターン生成方法であって、ドントケアを含む複数のテストパターンからなる原テストパターン系列からテストパターンを順次選択するステップと、前記半導体集積回路のレイアウト領域を略等分割した各領域について、前記選択したテストパターンにドントケア値を設定して当該テストパターンが前記半導体集積回路に印加された場合の消費電力を見積もるステップと、前記選択したテストパターンについて、ドントケア値の変更および前記各領域の消費電力の見積もりを繰り返して、前記各領域の消費電力のばらつきが極小となるようなドントケア値を探索するステップと、前記探索によって得られたドントケア値を前記選択したテストパターンのドントケア値として決定し、ドントケアを含まない複数のテストパターンからなる第1の新テストパターン系列を生成するステップとを備えていることを特徴とするテストパターン生成方法。請求項1のテストパターン生成方法において、前記ドントケア値を探索するステップは、前記選択したテストパターンの各ドントケアビットに初期値を設定するステップと、前記選択したテストパターンからドントケアビットを順次選択するステップと、前記選択したドントケアビットの値を反転するステップと、前記ドントケアビットの値が反転されるごとに前記各領域の消費電力の見積もりを行い、前記各領域の消費電力のばらつきを算出するステップと、前記ドントケアビットの値の反転前後で前記各領域の消費電力のばらつきが増大する場合、前記反転したドントケアビットの値を元に戻すステップと、前記選択したテストパターンのすべてのドントケアビットの検証前後で前記選択したテストパターンのドントケア値に変化があった場合、前記選択したテストパターンについてドントケアビットの順次選択から処理をやり直すステップとを有することを特徴とするテストパターン生成方法。請求項1のテストパターン生成方法において、前記消費電力を見積もるステップは、前記ドントケア値が設定されたテストパターンから、前記各領域ごとに、当該テストパターンが前記半導体集積回路に印加された場合にその領域に属する複数のスキャンフリップフロップのそれぞれの保持値が遷移する率の平均であるFF平均遷移率を見積もるステップと、前記ドントケア値が設定されたテストパターンから、前記各領域ごとに、その領域のFF平均遷移率に対する周辺領域のFF平均遷移率の平均値の相対値を見積もるステップと、前記各領域ごとに、その領域のFF平均遷移率から決まる基準消費電力に前記相対値から決まる補正係数を乗じてその領域の消費電力を見積もるステップとを有することを特徴とするテストパターン生成方法。請求項1のテストパターン生成方法において、前記第1の新テストパターン系列に含まれる各テストパターンが前記半導体集積回路に順次印加された場合の前記半導体集積回路の温度変化を見積もり、テスト時の前記半導体集積回路の時間的温度変動が小さくなるように前記第1の新テストパターン系列に含まれる各テストパターンの印加順序を並べ替えて第2の新テストパターン系列を生成するステップを備えていることを特徴とするテストパターン生成方法。請求項4のテストパターン生成方法において、前記第2の新テストパターン系列を生成するステップは、前記第1の新テストパターン系列に含まれる各テストパターンが前記半導体集積回路に順次印加された場合の前記半導体集積回路の消費電力の平均値を見積もるステップと、前記見積もった前記半導体集積回路の消費電力の平均値から、前記第1の新テストパターン系列が前記半導体集積回路に印加された場合の前記半導体集積回路の平均温度を見積もるステップと、前記半導体集積回路の温度を前記見積もった平均温度に設定して前記半導体集積回路のテストが開始された場合に当該テスト終了時の前記半導体集積回路の温度が前記見積もった平均温度を基準とする所定の相対温度の範囲に収まるように、前記第1の新テストパターン系列を1または複数のテストパターンからなる複数のサブ系列に分割するステップと、テスト時の前記半導体集積回路の時間的温度変動が小さくなるように前記サブ系列を並べ替えるステップとを有することを特徴とするテストパターン生成方法。請求項5のテストパターン生成方法において、前記サブ系列を並べ替えるステップは、前記半導体集積回路の温度を前記見積もった平均温度に設定して前記半導体集積回路のテストが開始されて第n番目までのサブ系列の印加が終わった場合の前記半導体集積回路の温度を見積もるステップと、前記見積もった温度が前記所定の相対温度近傍にあるときには、第n1番目のサブ系列として残りのサブ系列の中からより少ないテストパターンを含むものを選択し、それ以外のときにはより多くのテストパターンを含むものを選択するステップとを有することを特徴とするテストパターン生成方法。コンピュータにスキャン設計された半導体集積回路のテストパターンを生成させるためのプログラムであって、ドントケアを含む複数のテストパターンからなる原テストパターン系列からテストパターンを順次選択する手段、前記半導体集積回路のレイアウト領域を略等分割した各領域について、前記選択したテストパターンにドントケア値を設定して当該テストパターンが前記半導体集積回路に印加された場合の消費電力を見積もる手段、前記選択したテストパターンについて、ドントケア値の変更および前記各領域の消費電力の見積もりを繰り返して、前記各領域の消費電力のばらつきが極小となるようなドントケア値を探索する手段、前記探索によって得られたドントケア値を前記選択したテストパターンのドントケア値として決定し、ドントケアを含まない複数のテストパターンからなる第1の新テストパターン系列を生成する手段、としてコンピュータを機能させるためのプログラム。請求項7のプログラムにおいて、前記第1の新テストパターン系列に含まれる各テストパターンが前記半導体集積回路に順次印加された場合の前記半導体集積回路の温度変化を見積もり、テスト時の前記半導体集積回路の時間的温度変動が小さくなるように前記第1の新テストパターン系列に含まれる各テストパターンの印加順序を並べ替えて第2の新テストパターン系列を生成する手段、としてコンピュータを機能させるためのプログラム。コンピュータにスキャン設計された半導体集積回路のテストパターンを生成させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、ドントケアを含む複数のテストパターンからなる原テストパターン系列からテストパターンを順次選択する手段、前記半導体集積回路のレイアウト領域を略等分割した各領域について、前記選択したテストパターンにドントケア値を設定して当該テストパターンが前記半導体集積回路に印加された場合の消費電力を見積もる手段、前記選択したテストパターンについて、ドントケア値の変更および前記各領域の消費電力の見積もりを繰り返して、前記各領域の消費電力のばらつきが極小となるようなドントケア値を探索する手段、前記探索によって得られたドントケア値を前記選択したテストパターンのドントケア値として決定し、ドントケアを含まない複数のテストパターンからなる第1の新テストパターン系列を生成する手段、としてコンピュータを機能させるためのプログラムを記録した記録媒体。請求項9の記録媒体において、前記第1の新テストパターン系列に含まれる各テストパターンが前記半導体集積回路に順次印加された場合の前記半導体集積回路の温度変化を見積もり、テスト時の前記半導体集積回路の時間的温度変動が小さくなるように前記第1の新テストパターン系列に含まれる各テストパターンの印加順序を並べ替えて第2の新テストパターン系列を生成する手段、としてコンピュータを機能させるためのプログラムを記録した記録媒体。テストパターンが印加された半導体集積回路はその全体が均一に活性化するわけではなく、活発に動作して高温になる領域とそうでない領域とに分かれる。また、活動領域の消費電力のばらつきは印加されるテストパターンに応じてさまざまに変わる。そして、今後、半導体集積回路のシステム化、大規模化がさらに進むと、テスト時の半導体集積回路の空間的温度ばらつきはより顕著になると予想される。このことは、高速化精細化が進む半導体集積回路のテストにとって大きな問題になると懸念されている。従来技術には、半導体集積回路の外部から温度を制御する試みはあるが、新たな装置の追加が必要となるため効率的でない。また、回路温度の均一化してテスト精度を高めるには、単なる消費電力均一化ではなく、消費電力の空間的時間的ばらつきを考慮する必要がある。また、従来技術には、回路全体の消費電力の時間的ばらつきを軽減するものがある。しかし、回路内の空間的消費電力のばらつきや回路温度の空間的時間的ばらつきが考慮されておらず、最近の半導体集積回路に要求される精緻なテストに十分対応しているとは言いがたい。上記問題に鑑み、本発明は、新たな装置の追加を必要とせずに、テストパターンの工夫により、半導体集積回路の空間的な温度の均一化、さらには時間的な温度の均一化を実現することを課題とする。一例として、スキャン設計された半導体集積回路のテストパターン生成方法は、ドントケアを含む複数のテストパターンからなる原テストパターン系列からテストパターンを順次選択するステップと、前記半導体集積回路のレイアウト領域を略等分割した各領域について、前記選択したテストパターンにドントケア値を設定して当該テストパターンが前記半導体集積回路に印加された場合の消費電力を見積もるステップと、前記選択したテストパターンについて、ドントケア値の変更および前記各領域の消費電力の見積もりを繰り返して、前記各領域の消費電力のばらつきが極小となるようなドントケア値を探索するステップと、前記探索によって得られたドントケア値を前記選択したテストパターンのドントケア値として決定し、ドントケアを含まない複数のテストパターンからなる第1の新テストパターン系列を生成するステップとを備えている。これによると、テスト時の半導体集積回路の消費電力が各領域で均一になるように、原テストパターン系列における各テストパターンのドントケア値が決定され、ドントケアを含まない第1のテストパターン系列が生成される。したがって、生成された第1のテストパターン系列でテストを行うことでテスト時の半導体集積回路の温度を空間的に均一化することができる。好ましくは、上記テストパターン生成方法は、前記第1の新テストパターン系列に含まれる各テストパターンが前記半導体集積回路に順次印加された場合の前記半導体集積回路の温度変化を見積もり、テスト時の前記半導体集積回路の時間的温度変動が小さくなるように前記第1の新テストパターン系列に含まれる各テストパターンの印加順序を並べ替えて第2の新テストパターン系列を生成するステップを備えているものとする。これによると、生成された第2のテストパターン系列でテストを行うことで、カバレッジを下げることなくテスト時の半導体集積回路の温度を時間的に均一化することができる。本発明によると、テスト時の半導体集積回路の消費電力を空間的さらには時間的に均一化するようなテストパターンを生成することができる。したがって、本発明に係る方法で生成されたテストパターンを用いることで製造テストおよびフィールドテストのいずれにおいても微少な回路遅延を精度よく検出することができる。<空間的温度均一化>図1は、本発明の一実施形態に係るテストパターン生成方法の概略フローを示す。なお、下記のテストパターン生成方法は、コンピュータ読み取り可能な記録媒体に記録されたプログラムをコンピュータに実行させることにより実施することができる。まず、ドントケアを含む複数のテストパターンからなるテストパターン系列10を用意する。テストパターン系列10は一般的なATPGツールを用いて作成することができる。そして、テストパターン系列10における各テストパターンについて、テスト時の半導体集積回路の各領域の消費電力のばらつきが小さくなるようにドントケア値を決定して、ドントケアを含まない複数のテストパターンからなるテストパターン系列20を生成するS1。すなわち、与えられたドントケアを含む複数のテストパターンからなるテストパターン系列10についてテスト時の半導体集積回路の消費電力が空間的に均一になるように各テストパターンのドントケア値を決定し、ドントケアを含まない複数のテストパターンからなるテストパターン系列20を生成する。半導体集積回路の各領域とは、半導体集積回路のレイアウト領域を等面積または概ね等面積に分割した場合の各領域のことを指す。例えば、半導体集積回路のレイアウト領域を縦横8×8からなる64領域に分割する。なお、当該分割は半導体集積回路の空間的消費電力のばらつきを見積もるために便宜的に行うものである。したがって、半導体集積回路をどの程度の数およびどのような形状の領域に分割するかは必要とされる空間的消費電力均一化の粒度に応じて適宜決定すればよい。図2は、各テストパターンのドントケア値決定の詳細フローを示す。まず、m=1に設定してS102、テストパターン系列10からm番目のテストパターンを選択するS104。ここで選択されるテストパターンはドントケアを含むテストパターンである。mはテストパターン系列10から選択されるテストパターンを特定するためのインデックスである。そして、ステップS104で選択したテストパターンの各ドントケアビットに初期値を設定するS106。各ドントケアビットの初期値は任意であるが、好ましくはテスト時の半導体集積回路の消費電力を低減するための低消費電力テストで採用される値を設定する。次に、n=0、Flip=FALSEに設定するS108。nはテストパターンのドントケアビットのビット位置を特定するためのインデックスであり、Flipは後述するようにすべてのドントケアビットの検証前後でドントケア値に変化があったかどうかを示すフラグである。n、Flipの初期設定が終わると、ステップS104で選択したテストパターンについてnビット目のドントケアビットの値を反転するS110。そして、ステップS110終了後のドントケア値を有するテストパターンが半導体集積回路に印加された場合における半導体集積回路の各領域の消費電力を見積もるS112。当該見積もりはシミュレーションによって行う。このとき、当該テストパターンのスキャンインだけではなく、直前のテスト応答のスキャンアウトも考慮して各領域の消費電力を見積もることが望ましい。ステップS112でテスト時の半導体集積回路の各領域の消費電力を見積もった後、各領域の消費電力のばらつきを算出し、一時的に記憶しておくS113。当該ばらつきは、例えば、消費電力分布の分散値や消費電力の最大値と最小値との差分などを指標とすることができる。そして、一時的に記憶していたばらつきとステップS113で新たに算出したばらつきとを比較するS114。ここで、後者の方が大きい、すなわち、nビット目のドントケアビットの値の反転前後で半導体集積回路の各領域の消費電力のばらつきが増大するようであればS114のYes、nビット目のドントケアビットの値を元に戻すS116。一方、前者の方が大きい、すなわち、nビット目のドントケアビットの値の反転前後で半導体集積回路の各領域の消費電力のばらつきが減少するようであればS114のNo、一時的に記憶されるばらつきを更新して、Flip=TRUEに設定するS118。ステップS116またはS118が終了すると、ステップS104で選択したテストパターンについてすべてのドントケアビットの検証が終了したかどうかを確認するS120。もし未検証のドントケアビットが残っているならS120のNo、nをインクリメントしてS122、ステップS110に戻る。一方、すべてのドントケアビットの検証が終了したならS120のYes、Flipの状態を確認するS124。ステップS104で選択したテストパターンのすべてのドントケアビットの検証前後でドントケア値に変化があった場合、Flip=TRUEとなっている。もし、Flip=TRUEであればS124のYes、ステップS108に戻り、ステップS104で選択したテストパターンについて再度すべてのドントケアビットの検証を行う。このように、ステップS104で選択したテストパターンのドントケア値が変化しなくなるまでステップS108からS124までの処理を繰り返すことにより、テスト時の半導体集積回路の各領域の消費電力のばらつきを極小にするドントケア値をヒューリスティックに見つけることができる。ステップS108からS124までの処理を繰り返した結果、ステップS104で選択したテストパターンのドントケア値が変化しなくなると、ステップS124においてFlip=FALSEとなっている。その場合S124のNo、ステップS124終了時点のドントケア値をステップS104で選択したテストパターンのドントケア値として決定するS126。その後、テストパターン系列10のすべてのテストパターンの検証が終了したかどうかを確認するS128。もし未検証のテストパターンが残っているならS128のNo、mをインクリメントしてS130、ステップS104に戻る。一方、すべてのテストパターンの検証が終了したならS128のYes、ドントケアを含まない複数のテストパターンからなるテストパターン系列20を生成して処理を終了するS132。ステップS112での半導体集積回路の各領域の消費電力の見積もりは、論理、電力、温度の各シミュレーションを行うことで可能であるが、1個のドントケアビットの値を変えるごとにこれらシミュレーションを行うのは時間がかかり過ぎて現実的ではない。そこで、次のような高速消費電力見積もりを行うとよい。高速消費電力見積もりでは、ドントケアビットの値が仮決定されたテストパターン系列が半導体集積回路に印加された場合の各領域のFF平均遷移率およびその周辺領域のFF平均遷移率から各領域の消費電力を見積もる。ここで、FF平均遷移率とは、各領域に属する複数のスキャンフリップフロップのそれぞれの遷移率の平均のことをいう。例えば、ある領域に4つのスキャンフリップフロップがあり、これら4つのスキャンフリップフロップの保持値が0000であるとしたとき、テストパターンとして1101をスキャンインすると4つのスキャンフリップフロップの保持値は0000→1000→0100→1010→1101と変化する。すなわち、各スキャンフリップフロップの保持値は、4クロックの間にそれぞれ3回、3回、2回、1回ずつ変化する。したがって、この場合の各スキャンフリップフロップの遷移率は、それぞれ、3/4、3/4、2/4、1/4であり、この領域のFF平均遷移率はこれらの平均値である9/16である。このように、各領域のFF平均遷移率は半導体集積回路に印加されるテストパターン系列から一意に決まる。具体的には、領域iの消費電力Piは次式に従って高速見積もりすることができる。Pi=1Di,SAi,adj×Pbasei,SAiここで、SAiは、領域iのFF平均遷移率である。SAi,adjは、SAiに対する領域iの周辺領域のFF平均遷移率の平均値の相対値である。例えば、SAiが30、領域iの周辺領域のFF平均遷移率の平均値が50の場合にはSAi,adjは20であり、SAiが30、領域iの周辺領域のFF平均遷移率の平均値が20の場合にはSAi,adjは-10である。なお、周辺領域の個数は領域iの位置によって異なる。例えば、半導体集積回路のレイアウト領域をマトリクス状に分割することを想定すると、半導体集積回路のレイアウト領域の角に位置する領域iは3個の周辺領域に囲まれ、半導体集積回路のレイアウト領域の辺に接する領域iは5個の周辺領域に囲まれ、それ以外の領域iは8個の周辺領域に囲まれる。Pbasei,SAiは、すべての領域のFF平均遷移率をSAiとしたときの領域iの消費電力基準消費電力である。基準消費電力は、既存のパターン非依存静的電力解析ツールを用いて算出することができる。当該ツールに領域iのFF平均遷移率を入力すると、領域iに含まれる信号線の値の遷移率が見積もられ、領域iに属するスキャンフリップフロップと組み合わせ回路の消費電力が見積もられる。なお、基準消費電力をツールを用いて毎回算出するのは時間がかかるため、あらかじめいくつかの代表値を用意しておき、中間値については代表値の線形補間によって算出するようにしてもよい。例えば、各領域ごとにFF平均遷移率を0から100まで10刻みに変化させて基準消費電力の代表値を算出し、当該算出した代表値をテーブルなどに保存しておいてもよい。これにより、各領域の消費電力の見積もりの際にはテーブルから値を読み出して必要に応じて線形補間をすればよいため、より高速に消費電力を見積もることができる。1Di,SAi,adjは、基準消費電力に対する補正係数であり、Di,SAi,adjは、領域iの消費電力補正率である。消費電力補正率が正値ならPiはPbasei,SAiよりも大きくなり、消費電力補正率が負値ならPiはPbasei,SAiよりも小さくなる。Di,SAi,adjは、例えば、次式のように定義される。Di,SAi,adj=Pdi,SAi,adj-Pdi,0/Pdi,0ここで、Pdi,SAi,adjは、領域iのFF平均遷移率を任意の値SAに固定して周辺領域のFF平均遷移率の平均値の相対値をSAi,adjにしたときの領域iの消費電力補正消費電力である。補正消費電力も、既存のパターン非依存静的電力解析ツールを用いて算出することができる。なお、補正消費電力をツールを用いて毎回算出するのは時間がかかるため、あらかじめいくつかの代表値を用意しておき、中間値については代表値の線形補間によって算出するようにしてもよい。例えば、各領域ごとにSAを30に固定してSAi,adjを-30から70まで10刻みに変化させて補正消費電力の代表値を算出し、当該算出した代表値をテーブルなどに保存しておいてもよい。これにより、各領域の消費電力の見積もりの際にはテーブルから値を読み出して必要に応じて線形補間をすればよいため、より高速に消費電力を見積もることができる。次に、上記のテストパターン生成方法の効果について説明する。図3aは、一般的なATPGツールなどで作成されたテストパターン系列を使用して半導体集積回路のテストを行った場合の熱シミュレーション結果を示す。図3bは、上記のテストパターン生成方法で生成されたテストパターン系列20を使用して半導体集積回路のテストを行った場合の熱シミュレーション結果を示す。いずれも半導体集積回路は縦横8×8の64領域に分割され、温度はグレースケールによって示されている。濃度が濃いほど温度が高いことを示す。図3aおよび図3bから明らかなように、従来のテストパターン系列を使用するケースでは半導体集積回路の空間的温度ばらつきが大きいのに対して、上記のテストパターン生成方法に従って生成されたテストパターン系列20を使用するケースでは半導体集積回路の空間的温度ばらつきが小さくなっている。すなわち、テストパターン系列20を使用することでテスト時の半導体集積回路の温度が空間的に均一化されている。このように、テスト時の半導体集積回路の空間的消費電力均一化を考慮して各テストパターンのドントケア値を決定することによって、テスト時の半導体集積回路の空間的温度均一化を実現するテストパターン系列を得ることができる。<時間的温度均一化>空間的な温度均一化を実現するテストパターン系列20が得られたなら、次は、時間的な温度均一化を実現するように、テストパターン系列20を変形することが望ましい。以下、時間的温度均一化のためのテストパターン生成方法の一例について説明する。図1に戻り、ステップS1でのドントケア値決定後に、テストパターン系列20における各テストパターンが半導体集積回路に印加された場合の半導体集積回路の温度変化を見積もり、テスト時の半導体集積回路の時間的温度変動が小さくなるように各テストパターンの印加順序を並べ替えてテストパターン系列30を生成するS2。すなわち、今度はテスト時の半導体集積回路の温度が時間的に均一になるように各テストパターンの印加順序を並べ替える。図4は、テストパターンの印加順序並べ替えの詳細フローを示す。まず、テストパターン系列20における各テストパターンが順次印加された場合の半導体集積回路の消費電力の平均値を見積もるS202。そして、見積もった平均値から、テストパターン系列20が印加された場合の半導体集積回路の平均温度を見積もるS204。平均温度は、テスト時の半導体集積回路の消費電力が上記平均値で一定である場合の半導体集積回路の収束温度として見積もることができる。消費電力が一定であるときの半導体集積回路の収束温度を予測することは容易である。各テストパターンに係る半導体集積回路の消費電力は各領域の消費電力の平均値、すなわち、半導体集積回路の空間的な平均消費電力を採用する。なお、上述した空間的温度均一化の過程で半導体集積回路の各領域の消費電力のばらつきを算出する際に消費電力の平均値も算出しておけばここで改めて消費電力の平均値を見積もる必要はない。次に、テスト開始時の半導体集積回路の温度を見積もった平均温度に設定するパターン系列を求めるS206。テスト環境の違いによってテスト開始時の半導体集積回路の温度はさまざまであるため、テストパターン系列を印加する前に、半導体集積回路の温度を見積もった平均温度に設定する。半導体集積回路の温度を見積もった平均温度に設定するためのパターン系列は半導体集積回路のテストのためのパターン系列ではないため、消費電力の空間的均一性を満たし半導体集積回路の温度を急激に変化させるパターンを含むパターン系列を用意するとよい。テスト実行時には、温度センサーなどで測定された半導体集積回路の温度に応じて、当該パターン系列のうち半導体集積回路に印加する入力系列長を調整することで半導体集積回路の温度を見積もった平均温度に設定することが可能となる。なお、半導体集積回路の温度を急激に見積もった平均温度に設定するには、クロック周波数を上げて消費電力を上昇させてもよい。なお、半導体集積回路の温度を見積もった平均温度に設定するパターン系列は必ずしも下述のテストパターン系列をサブ系列に分割する前に求める必要はない。当該パターン系列は半導体集積回路に実際にテストパターン系列30を印加する前に半導体集積回路の温度を見積もった平均温度にまで上げておくためのものであるため、ここで説明するテストパターン生成方法とは独立に実際のテスト開始までの任意のタイミングで生成すればよい。次に、温度シミュレーションを行って、テストパターン系列20を複数のサブ系列に分割するS208。サブ系列とは、テストパターン系列20の部分であって、1または複数のテストパターンからなる。サブ系列は、半導体集積回路の温度を見積もった平均温度に設定して半導体集積回路のテストが開始された場合に当該テスト終了時の半導体集積回路の温度が見積もった平均温度を基準とする所定の相対温度の範囲に収まるような、すなわち、上限温度または下限温度に達するようなテストパターンの集合である。上下限の温度範囲はユーザーが任意に指定例えば、±3°Cなどすることができる。次に、図5を参照して具体的なテストパターン系列20の分割方法について説明する。横軸はテスト時間、縦軸は半導体集積回路の温度を表す。図中の実線はサブ系列の印加による半導体集積回路の温度変化を示し、破線はテストパターン系列20を区切らずにテストを継続した場合の半導体集積回路の温度変化を示す。半導体集積回路の温度を見積もった平均温度に設定して半導体集積回路のテストを開始し、テストパターン系列20で決められている順にテストパターンを印加していった場合に半導体集積回路の温度が指定範囲を超えたところでテストパターン系列20を区切り、それまでに印加した系列をサブ系列とする。そして、テストパターン系列20からサブ系列を削除し、テストパターン系列20が空になるまで上記処理を繰り返す。図4に戻り、サブ系列の分割が終了したならば、テスト時の半導体集積回路の時間的温度変動が小さくなるように各サブ系列の印加順序を並べ替えてテストパターン系列30を生成するS210。基本的には、半導体集積回路の温度を上昇させるようなサブ系列および半導体集積回路の温度を下降させるようなサブ系列が交互に印加されるようにサブ系列を並べ替えることでテスト時の半導体集積回路の時間的温度変動を小さくすることができる。すなわち、テストパターン系列30を用いることでテスト時の半導体集積回路の温度変動を空間的および時間的に均一化することができる。好ましくは、サブ系列の並べ替えは、各サブ系列の印加による半導体集積回路の温度上昇率および下降率をも考慮して行う。図6を参照してサブ系列の並べ替えの一例を説明する。まず、半導体集積回路の温度を見積もった平均温度に設定して半導体集積回路のテストが開始されてからあるサブ系列のテストが終了したときの半導体集積回路の温度を見積もる。そして、当該温度が上下限温度に近い危険領域にあるか上下限温度に達するまでにまだ余裕のある安全領域にあるかによって、次に印加すべきサブ系列の選択方法を変える。具体的には、当該温度が危険領域にあるときには、残りのサブ系列のうちより少ないテストパターンを含むもの、すなわち、より短時間で半導体集積回路の温度を見積もった平均温度近くにまで戻すことのできるサブ系列を選択する。一方、当該温度が安全領域にあるときには、残りのサブ系列のうちより多くのテストパターンを含むものを選択する。これは、テスト応答に係る半導体集積回路の消費電力を考慮して、テストパターンのスキャンインとその直前のテスト応答のスキャンアウトとでスキャンフリップフロップの値変化がなるべく少なくなるように最適化されていたテストパターン系列20のテストパターン印加順序をなるべく維持するためである。なお、危険領域にある半導体集積回路の温度を下げるには、クロック信号を停止する、あるいは温度を急速に下げるようなダミーパターンを印加してもよい。以上、本実施形態によると、テスト時の半導体集積回路の消費電力を空間的さらには時間的に均一化するようなテストパターンを生成することができる。そして、そのようなテストパターンを用いることで製造テストおよびフィールドテストのいずれにおいても微少な回路遅延を精度よく検出することができる。通常、半導体集積回路にはテスト精度や経年劣化対策として数~10程度の周波数動作マージンが設定されるが、製造テストにおいて高精度な遅延故障の検出が可能となることで、動作マージンを低減して歩留まりを向上することができる。また、半導体集積回路にBISTBuiltInSelfTest回路を組み込んでフィールドテストにおいて高精度な遅延故障を検出することで、半導体集積回路の経年劣化を未然に検知することができる。なお、空間的温度均一化が達成されるようなテストパターン系列があらかじめ用意されている、あるいは半導体集積回路の規模が小さいなどの理由で空間的温度均一化が不要であれば、空間的温度均一化のための処理を省略して、時間的温度均一化の処理のみを実施してもよい。"