(57)【要約】  【課題】  テスト不能な遅延故障をすべて算出するのが困難であることから、遅延故障用の検査系列の故障検出率を算出する際に、テスト不能故障数を除外せずに故障検出率の算出を行っていなかったため、故障検出率がテスト品質を正しく反映していなかった。  【解決手段】  一部の遅延故障を選択して、選択された遅延故障中のテスト不能な遅延故障数を解析することにより、全体の遅延故障に含まれるテスト不能故障数を推定する。この値を用いてテスト品質を正しく反映した故障検出率の算出を行う遅延故障検査品質評価方法を提供する。【選択図】  図１
2004252961.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路に対して遅延故障を定義する遅延故障定義手段と、前記遅延故障定義手段によって定義された遅延故障のうちの一部の遅延故障を選択する遅延故障選択手段と、前記遅延故障選択手段で選択されたおのおのの遅延故障に対してテスト可能か否かを判定する第１のテスト可否判定手段と、前記テスト可否判定手段でテスト不能と判定された遅延故障の数を用いて遅延故障検出率を算出する遅延故障検出率算出手段を備える遅延故障検査品質評価方法。
【請求項２】
前記遅延故障定義手段では、前記半導体集積回路中のすべての信号経路についてパス遅延故障を定義することを特徴とする請求項１の遅延故障検査品質評価方法。
【請求項３】
前記遅延故障定義手段では、前記半導体集積回路中のすべてのノードに対して遅延故障を定義することを特徴とする請求項１の遅延故障検査品質評価方法。
【請求項４】
前記半導体集積回路中の処理対象となる遅延故障に対して、あらかじめテスト可能か否かを判定する第２のテスト可否判定手段を備えることを特徴とする請求項１記載の遅延故障検査品質評価方法。
【請求項５】
前記遅延故障定義手段ではさらに、前記半導体集積回路中の遅延故障について、あらかじめテスト可能か否かを判定する第２のテスト可否判定手段を備え、前記第２のテスト可否判定手段によってテスト可能と判定された遅延故障のみを前記半導体集積回路に定義することを特徴とする請求項４記載の遅延故障検査品質評価方法。
【請求項６】
前記遅延故障定義手段では、全遅延故障数よりも小さい所定数の遅延故障を前記半導体集積回路に定義することを特徴とする請求項１記載の遅延故障検査品質評価方法。
【請求項７】
前記遅延故障選択手段では、前記遅延故障定義手段で定義された遅延故障のうち、所定数もしくは所定割合の遅延故障をランダムに選択することを特徴とする請求項１記載の遅延故障検査品質評価方法。
【請求項８】
前記遅延故障選択手段では、前記遅延故障定義手段で定義されたパス遅延故障のうち、各ノードについて前記ノードを通る最大遅延値の信号経路を選択することを特徴とするの遅延故障検査品質評価方法。
【請求項９】
前記遅延故障選択手段では、前記遅延故障定義手段で定義されたパス遅延故障のうち、各ノードについて前記ノードを通る最大ゲート段数の信号経路を選択することを特徴とする請求項２記載の遅延故障検査品質評価方法。
【請求項１０】
前記遅延故障選択手段では、前記遅延故障定義手段で定義されたパス遅延故障のうち、各ノードについて前記ノードを通る最長の信号経路を選択することを特徴とする請求項２記載の遅延故障検査品質評価方法。
【請求項１１】
前記第１のテスト可否判定手段では、前記遅延故障選択手段で選択された遅延故障に対して検査系列生成を行い、検査系列生成不能である遅延故障をテスト不能と判定することを特徴とする請求項１記載の遅延故障検査品質評価方法。
【請求項１２】
前記遅延故障検出率算出手段ではさらに、前記遅延故障定義手段で定義された遅延故障に対して、与えられた検査系列を用いて遅延故障シミュレーションを実行する遅延故障シミュレーション手段と、前記遅延故障定義手段で定義された遅延故障数と、前記第１のテスト可否判定手段で判定されたテスト不能な遅延故障数と、前記遅延故障シミュレーションによって検出された遅延故障数とを用いて故障検出率計算を行う故障検出率計算手段とを備えることを特徴とする請求項１記載の遅延故障検査品質評価方法。
【請求項１３】
前記故障検出率計算手段では、前記第１のテスト可否判定手段で判定されたテスト不能な遅延故障数に対して、前記遅延故障選択手段で選択された遅延故障数と前記遅延故障定義手段で定義された遅延故障数との比を積算した値を全テスト不能故障数とし、遅延故障検出率の分子を前記遅延故障シミュレーション手段で検出された遅延故障数とし、遅延故障検出率の分母を前記遅延故障選択手段で選択された遅延故障数から前記全テスト不能故障数の減算で計算を行うことを特徴とする請求項１２に記載の遅延故障検査品質評価方法。
【請求項１４】
前記遅延故障定義手段ではさらに、パス遅延故障が定義された信号経路の設計上の遅延量の合計値を算出する第１の合計値算出手段を備え、前記第１のテスト可否判定手段ではさらに、テスト不能と判定されたパス遅延故障の信号経路の設計上の遅延量の合計値を算出する第２の合計値算出手段を備え、前記遅延故障検出率算出手段にはさらに、検出されたパス遅延故障の信号経路の設計上の遅延量の合計値を算出する第３の合計値算出手段と、前記第１の合計値算出手段で算出された定義されたパス遅延故障の信号経路の設計上の遅延量の合計値と、前記第２の合計値算出手段で算出されたテスト不能なパス遅延故障の信号経路の設計上の遅延量の合計値と、前記第３の合計値算出手段で算出された検出されたパス遅延故障の信号経路の設計上の遅延量の合計値とを用いて故障検出率計算を行う故障検出率計算手段とを備えることを特徴とする請求項２記載の遅延故障検査品質評価方法。
【請求項１５】
前記故障検出率計算手段では、前記第２の合計値算出手段で算出されたテスト不能なパス遅延故障の信号経路の設計上の遅延量の合計値に対して、前記遅延故障選択手段で選択された遅延故障数と前記遅延故障定義手段で定義された遅延故障数との比を積算した値を全テスト不能故障量とし、遅延故障検出率の分子を前記第３の合計値算出手段で算出された検出されたパス遅延故障の信号経路の設計上の遅延量の合計値とし、遅延故障検出率の分母を前記第１の合計値算出手段で算出された定義されたパス遅延故障の信号経路の設計上の遅延量の合計値から前記全テスト不能故障量の減算で計算を行うことを特徴とする請求項１４に記載の遅延故障検査品質評価方法。
【請求項１６】
前記信号経路の設計上の遅延量は設計上の信号経路の設計上の遅延値を用いることを特徴とする請求項１４または１５に記載の遅延故障検査品質評価方法。
【請求項１７】
前記信号経路の設計上の遅延量は信号経路上のゲート段数を用いることを特徴とする請求項１４または１５に記載の遅延故障検査品質評価方法。
【請求項１８】
前記信号経路の設計上の遅延量は物理的な信号経路長を用いることを特徴とする請求項１４または１５に記載の遅延故障検査品質評価方法。
【請求項１９】
前記遅延故障検査品質評価方法は、さらに前記遅延故障検出率から所定の誤差αを差し引いた値を遅延故障検出率とすることを特徴とする請求項１の遅延故障検査品質評価方法。
【請求項２０】
前記遅延故障検査品質評価方法は、さらに、前記遅延故障定義手段で定義された遅延故障数に対する前記遅延故障選択手段で選択された遅延故障数の割合がβであり、遅延故障検出率の誤差がΓであるとした場合に、前記遅延故障検出率から前記誤差Γを差し引いた値を遅延故障検出率とすることを特徴とする請求項１の遅延故障検査品質評価方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の遅延故障検査を行う際に使用する検査系列の故障検査能力を表す品質の評価に関するものである。
【背景技術】
【０００２】
近年の半導体プロセスの微細化技術の急速な進歩によって、半導体集積回路の大規模化、複雑化が急激に進み、これに伴って半導体集積回路の検査がいっそう困難になっている。この問題に対処するため、半導体集積回路の検査を容易化する手段としてスキャン方式などによる検査容易化設計手法が普及し、縮退故障モデルで表される故障は効率的に検査できるようになった。縮退故障モデルで仮定された故障を検出する場合、故障検出の能力はクロック周波数に依存しないため、従来スキャンテストを実施する際には、一般的に実動作速度よりも低いクロック周波数を使って行われてきた。しかし、半導体プロセスの微細化の進行と共に、プロセスのばらつきが顕在化し、従来のスキャン方式を使った低いクロック周波数による検査だけでは十分に検査品質を保証することができなくなり、実動作時と同じクロック周波数を使った遅延故障検査技術のような、遅延を考慮した検査が必要とされるようになった。従来の遅延故障検査技術は「特開平９−２６９９５９」などに開示されている。
【特許文献１】特開平９−２６９９５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
遅延故障用の検査系列の品質を表す故障検出率は一般には次のような式で表わすのがよいと考えられている。
故障検出率＝検出故障数／（全定義故障数−テスト不能故障数）×１００（％）（式１）
しかしながら、（式１）におけるテスト不能故障数を正確に算出することは膨大な計算時間と計算機メモリを要するため非現実的であった。このため、従来は故障検出率を次のような式で代用するのが一般的であった。
故障検出率＝検出故障数／全定義故障数×１００（％）                      （式２）
しかしながら、特にパス遅延故障の場合、縮退故障と異なりテスト不能故障の割合が非常に大きいことが知られており、（式２）のようにテスト不能故障を考慮しない故障検出率算出方法では、テスト可能な故障をすべて検出しているにも係わらず故障検出率が非常に低い値となってしまう場合があり、算出された数値が実際のテスト品質を正しく評価できないという問題があった。
【０００４】
さらには、仮に（式１）を用いることができた場合でも、どの遅延故障も重要度が等しいと見なされるため、（式１）の故障検出率は検査系列の実際の故障検査に対する品質を十分に反映できていない、という問題をはらんでいた。この問題を図を用いて具体的に説明する。
【０００５】
図１１は、半導体集積回路上に定義した遅延故障の特性を示すための図である。信号経路１〜６の右側に示した矢印の長さは、それぞれ各信号経路の設計上の遅延値を示す。また図の右側の点線は半導体集積回路の１クロックレートの値を表す。なお、説明の便宜上、信号経路１〜６はすべてテスト可能として説明を行う。
【０００６】
一般に、信号経路の設計上の遅延値が大きいほど（１クロックレートに近いほど）、この信号経路が遅延故障を生じる可能性が大きい。したがって、図１１において、信号経路３が信号経路６よりも遅延故障を生じる可能性が大きいことは明らかである。そのため信号経路３に定義した遅延故障を検出する検査は、信号経路６に定義した遅延故障を検出する検査よりも検査の品質がより高いと言える。しかしながら、従来用いていた故障検出率では、信号経路３上の遅延故障を検出した場合も、信号経路６上の遅延故障を検出した場合も、同じく１個の遅延故障を検出したと扱われ、その品質は同等とみなされる。例えば、信号経路１〜６上にそれぞれ１個ずつ遅延故障を定義したと仮定すると、信号経路１〜３上の故障を検出した場合も、信号経路４〜６上の故障を検出した場合も、故障検出率はいずれも等しく、３／６×１００［％］＝５０％となる。
【０００７】
遅延値の大きな信号経路１〜３上を故障検出する検査と、遅延値の小さな信号経路４〜６を故障検査する検査とでは、前者の方が品質が高いのは明らかであるので、したがって従来の検査で使用していた故障検出率（式１）は、検査の品質を正しく表しておらず、そのため検査に使用する検査系列の品質を誤って評価してしまっていた、という問題があった。
【０００８】
本発明はこのような問題を解決するために、遅延故障用の検査系列の品質を評価する際に、テスト不能な遅延故障数を推定することによって、（式１）を現実的に実施可能とすることを第１の目的とし、さらには遅延故障を定義した信号経路上の設計上の遅延値を考慮することによって、遅延故障検査系列の品質をより高精度に評価することのできる遅延故障検査品質評価方法を提供することを第２の目的とする。
【課題を解決するための手段】
【０００９】
以上の目的を達成するため、本発明に係る遅延故障検査系列の品質評価方法は、半導体集積回路に対して遅延故障を定義する遅延故障定義手段と、定義された遅延故障のうちの一部の遅延故障を選択する遅延故障選択手段と、選択されたおのおのの遅延故障に対してテスト可能か否かを判定する第１のテスト可否判定手段と、選択された故障のうちテスト不能と判定された遅延故障の数を用いて遅延故障検出率を算出する遅延故障検出率算出手段を備える。
【００１０】
また、本発明は、前記遅延故障検査品質評価方法において、前記遅延故障定義手段が、前記半導体集積回路中のすべての信号経路についてパス遅延故障を定義する。
【００１１】
また、本発明は、前記遅延故障検査品質評価方法において、前記遅延故障定義手段が、前記半導体集積回路中のすべてのノードに対して遅延故障を定義する。
【００１２】
ここでノードとは、信号線またはゲートの各端子などをさすものとする。
【００１３】
また、本発明では、前記半導体集積回路中の処理対象となる遅延故障に対して、あらかじめテスト可能か否かを判定する第２のテスト可否判定手段を備える。
【００１４】
また、前記遅延故障定義手段ではさらに、各遅延故障について、あらかじめテスト可能か否かを判定する第２のテスト可否判定手段を備え、ここでテスト可能と判定された遅延故障のみを前記半導体集積回路に定義する。または、前記遅延故障定義手段では、全遅延故障数よりも小さい所定数の遅延故障を前記半導体集積回路に定義する。
【００１５】
また、前記遅延故障選択手段では、定義された遅延故障のうち、所定数もしくは所定割合の遅延故障をランダムに選択する。
【００１６】
または、前記遅延故障選択手段では、定義されたパス遅延故障のうち、各ノードについて前記ノードを通る最大遅延値の信号経路を選択する。
【００１７】
または、前記遅延故障選択手段では、定義されたパス遅延故障のうち、各ノードについて前記ノードを通る最大ゲート段数の信号経路を選択する。
【００１８】
または、前記遅延故障選択手段では、定義されたパス遅延故障のうち、各ノードについて前記ノードを通る最長の信号経路を選択する。
【００１９】
また、前記第１のテスト可否判定手段では、選択された遅延故障に対して検査系列生成を行い、検査系列生成不能である遅延故障をテスト不能と判定する。
【００２０】
また、前記遅延故障検出率算出手段ではさらに、定義された遅延故障に対して、与えられた検査系列を用いて遅延故障シミュレーションを実行する遅延故障シミュレーション手段と、定義された遅延故障数と、前記第１のテスト可否判定手段で判定されたテスト不能な遅延故障数と、前記遅延故障シミュレーションによって検出された遅延故障数とを用いて故障検出率計算を行う故障検出率計算手段とを備える。
【００２１】
または、前記故障検出率計算手段では、前記第１のテスト可否判定手段で判定されたテスト不能な遅延故障数に対して、選択された遅延故障数と定義された遅延故障数との比を積算した値を全テスト不能故障数とし、遅延故障検出率の分子を前記遅延故障シミュレーション手段で検出された遅延故障数とし、遅延故障検出率の分母を選択された遅延故障数から全テスト不能故障数の減算で計算を行う。
【００２２】
また、前記遅延故障定義手段ではさらに、パス遅延故障が定義された信号経路の設計上の遅延量の合計値を算出する第１の合計値算出手段を備え、前記第１のテスト可否判定手段ではさらに、テスト不能と判定されたパス遅延故障の信号経路の設計上の遅延量の合計値を算出する第２の合計値算出手段を備え、前記遅延故障検出率算出手段にはさらに、検出されたパス遅延故障の信号経路の設計上の遅延量の合計値を算出する第３の合計値算出手段と、前記第１の合計値算出手段で算出された定義されたパス遅延故障の信号経路の設計上の遅延量の合計値と、前記第２の合計値算出手段で算出されたテスト不能なパス遅延故障の信号経路の設計上の遅延量の合計値と、前記第３の合計値算出手段で算出された検出されたパス遅延故障の信号経路の設計上の遅延量の合計値とを用いて故障検出率計算を行う故障検出率計算手段とを備える。
【００２３】
また、前記故障検出率計算手段では、前記第２の合計値算出手段で算出されたテスト不能なパス遅延故障の信号経路の設計上の遅延量の合計値に対して、前記遅延故障選択手段で選択された遅延故障数と前記遅延故障定義手段で定義された遅延故障数との比を積算した値を全テスト不能故障量とし、遅延故障検出率の分子を前記第３の合計値算出手段で算出された検出されたパス遅延故障の信号経路の設計上の遅延量の合計値とし、遅延故障検出率の分母を前記第１の合計値算出手段で算出された定義されたパス遅延故障の信号経路の設計上の遅延量の合計値から前記全テスト不能故障量の減算で計算を行う。
【００２４】
また、前記信号経路の設計上の遅延量は設計上の信号経路の設計上の遅延値、もしくは信号経路上のゲート段数、もしくは物理的な信号経路長を用いる。
【００２５】
また、前記遅延故障検査品質評価方法は、さらに前記遅延故障検出率から所定の誤差αを差し引いた値を遅延故障検出率とする。
【００２６】
また、前記遅延故障検査品質評価方法は、さらに、前記遅延故障定義手段で定義された遅延故障数に対する前記遅延故障選択手段で選択された遅延故障数の割合がβであり、遅延故障検出率の誤差がΓであるとした場合に、前記遅延故障検出率から前記誤差Γを差し引いた値を遅延故障検出率とする。
【発明の効果】
【００２７】
以上説明したように、本発明の遅延故障検査品質評価方法は、一部の故障に対してテスト不能故障を解析した結果を用いて、全定義故障中のテスト不能故障数を推定することによって、実用的な計算量で精度の高い故障検出率を算出することができる。
【００２８】
また各遅延故障が定義された信号経路の設計上の遅延値を考慮することによって、個々の遅延故障の重要度を遅延故障検査系列の品質評価に反映させることができるため、遅延故障検査系列の品質評価の精度を高めることができる。さらに述べると、実際に故障を発生する可能性が大きい遅延故障ほど故障検出率への影響度合いを大きくすることができる。すなわち、そのような故障が検出された場合には故障検出率向上の度合いが大きく、逆に検出されないの故障検出率低下の度合いも大きくすることができる。
【発明を実施するための最良の形態】
【００２９】
一般に１つのノード上または信号経路上の遅延故障には、立上がり遷移の故障と立下り遷移の故障の２種類があり、遅延故障はノードまたは信号経路と遷移の種類との組合せで表される。しかし本明細書中では以後、説明の便宜上、遷移の種類は省略して１つのノードまたは信号経路上には１つの遅延故障が定義されるものとして説明を行う。
【００３０】
（第１の実施の形態）
本実施の形態は、定義された遅延故障のうちのテスト不能な遅延故障数を推定することによって、遅延故障検査系列の品質評価の精度を向上させる具体的な実施方法について説明したものである。
【００３１】
図１は本発明に係わる遅延故障検査品質評価方法を示すフローチャートである。１は検査対象である論理回路データ、２は論理回路中に定義する遅延故障定義情報、３は遅延故障検査に用いる検査系列、４は故障検出率、５は論理回路に対して遅延故障を定義する故障定義操作、６は定義された故障のうちの一部を選択する部分故障選択操作、７は選択された故障がテスト可能か否かを判定するテスト可否判定操作、８は故障検出率を算出する故障検出率算出操作を示す。なお、遅延故障定義情報２には、定義する故障のリスト、または全故障を定義する旨の指示、または論理回路中の一部のブロックに対してのみ故障を定義する旨の指示、のように論理回路中へ故障を定義するために必要な情報が格納されているものとする。
【００３２】
図２は操作５の故障定義操作のより詳細を示すフローチャートである。２１は論理回路に対して故障を定義する操作、２２は定義された故障に対して、前処理として容易にテスト不能と判別できる故障を判別するテスト不能故障判定操作、２３は操作２２でテスト不能と判定された故障を故障定義から除外する操作、２４は操作２３の結果、除外されずに定義されている故障数を集計する操作を示す。  
図３は操作６の部分故障選択操作のより詳細を示すフローチャートである。３１は回路中のノードを１つ選択する操作、３２は選択したノードを通る最大遅延値のパス遅延故障を選択する操作、３３は未処理ノードの有無の判定、３４は操作３２で選択された信号経路を集計する操作を示す。なお、操作３２では、最大遅延値の信号経路が複数あった場合には、すべて選択するものとする。
【００３３】
図４（ａ）は操作７のテスト可否判定操作のより詳細を示すフローチャートである。４１は遅延故障を１つ選択する操作、４２は選択した遅延故障に対して検査系列を生成する操作、４３は未処理の故障があるか否かの判定、４４は操作４２においてテスト不能と判明した故障数を集計する操作を示す。なお、操作４２における検査系列生成方法は、本実施例では従来から用いられている一般的な方法を用いるものとして、その詳細説明は省略する。
【００３４】
図５は操作８の故障検出率算出操作のより詳細を示すフローチャートである。５１は故障シミュレーションを実行する操作、５２は故障検出率を計算する故障検出率計算操作を示す。
【００３５】
図１２は操作２２のより詳細を示すフローチャートである。操作２２は本実施例では一般に用いられている既知の方法（例えば「電子情報通信学会論文誌Ｄ−Ｉ  Ｖｏｌ．Ｊ８２−Ｄ−Ｉ  Ｎｏ．７  ｐｐ．８８８−８９６」）を用いるものとして説明する。２０１は部分信号経路をリストアップする操作、２０２は各部分信号経路についてテスト可能か否かを解析する操作、２０３はテスト不能な部分信号経路を通るパス遅延故障をすべてテスト不能故障としてリストアップする操作、２０４は到達可能な部分信号経路ペアをリストアップする操作、２０５は部分信号経路ペアがテスト可能か否かを解析する操作、２０６は操作２０４でテスト不能と判定された部分信号経路ペアを通るパス遅延故障をテスト不能故障としてリストアップする操作を示す。
【００３６】
図１３は本実施の形態を説明する回路図である。１０１〜１１４は信号線、１２０はＯＲゲート、１２１〜１２２はインバータ、１２３〜１２４はＡＮＤゲートを示す。
【００３７】
以下、図１〜５、および図１２〜１３を用いて本発明の第１の実施の形態を説明する。
【００３８】
本実施例では、遅延故障の一例としてパス遅延故障を用いて説明を行う。
【００３９】
初めに与えられた論理回路データ１に対して遅延故障定義情報２を用いて故障定義操作５を行う。遅延故障定義情報２は本実施の形態においては、全故障定義の指示が格納されているものとして説明を行う。次に故障定義操作５では、まず操作２１において、遅延故障定義情報２の指示に基づいて論理回路中のすべての信号経路についてパス遅延故障を定義する。ここで定義されたパス遅延故障数とその中に含まれるテスト不能故障数はそれぞれ１５０００個、２２００個であると仮定する。
【００４０】
次に操作２２では、定義した全パス遅延故障に対して簡易的なテスト不能パス判定を行う。まず操作２０１において部分信号経路のリストアップを行う。ここで部分信号経路とは、外部入力（外部双方向を含む）または分岐の枝を始点とし、外部出力（外部双方向を含む）または分岐の幹を終点とする信号経路とする。図１３において、例えば信号線１０２、１０３、１０５、１０６が分岐の枝であり、また信号線１０１、１０４、１１１、１１４が分岐の幹であるので、操作２０１では、経路（信号線１０３→信号線１１３）、経路（信号線１０２→信号線１０８→信号線１１１）、経路（信号線１０６→信号線１０８→信号線１１１）、経路（信号線１０５→信号線１０９→信号線１１０→信号線１１１）、経路（信号線１１２→信号線１１４）の５つが部分信号経路としてリストアップされる。続いて操作２０２では５つの部分信号経路についてテスト可能か否かの解析を行う。ここでは、おのおのの部分信号経路について遷移が伝搬する操作を試み、成功すればテスト可能、矛盾が生じればテスト不能と判定する。例えば、経路（信号線１０６→信号線１０８→信号線１１１）においては、信号線１０１、１０７の値をそれぞれ０、１に固定することが可能であれば、経路の活性化か可能であるためテスト可能と判定される。今操作２０２では、経路（信号線１０５→信号線１０９→信号線１１０→信号線１１１）のみが、信号線１０７が必ず１に固定されてしまうためテスト不能と判定されたとし、他の部分信号経路はすべてテスト可能と判定されたとする。次に操作２０３では、テスト不能な部分信号経路である経路（信号線１０５→信号線１０９→信号線１１０→信号線１１１）上を通るパス遅延故障をすべてテスト不能故障としてリストアップする。ここでは２０００個の故障がリストアップされたものとする。引き続いて操作２０４では、テスト不能な部分信号経路を除外して、到達可能な部分信号経路のペアをすべてリストアップする。例えば経路（信号線１０２→信号線１０８→信号線１１１）から経路（信号線１１２→信号線１１４）へは到達可能であり、この２つの部分信号経路のペアを｛経路（信号線１０２→信号線１０８→信号線１１１），経路（信号線１１２→信号線１１４）｝と表記することとすると、２つの部分信号経路のペア｛経路（信号線１０２→信号線１０８→信号線１１１），経路（信号線１１２→信号線１１４）｝、｛経路（信号線１０６→信号線１０８→信号線１１１），経路（信号線１１２→信号線１１４）｝がリストアップされる。さらに操作２０５では、おのおのの部分信号経路のペアがテスト可能か否かを判定する。例えば｛経路（信号線１０６→信号線１０８→信号線１１１），経路（信号線１１２→信号線１１４）｝においては、経路（信号線１０６→信号線１０８→信号線１１１）の遷移伝搬のためには信号線１０２の値が０であることが必要であるが、一方、経路（信号線１０６→信号線１０８→信号線１１１）の遷移伝搬のためには信号線１０３の値が１であることが必要であり、両者が矛盾する。したがって｛経路（信号線１０６→信号線１０８→信号線１１１），経路（信号線１１２→信号線１１４）｝はテスト不能と判定される。一方｛経路（信号線１０２→信号線１０８→信号線１１１），経路（信号線１１２→信号線１１４）｝は矛盾が生じず、テスト可能と判定されたものとする。最後に操作２０６では、｛経路（信号線１０６→信号線１０８→信号線１１１），経路（信号線１１２→信号線１１４）｝を通るパス遅延故障がすべてテスト不能故障としてリストアップされる。ここでは３０００個の故障がリストアップされたものとする。
【００４１】
したがって操作２２では合計５０００個のパス遅延故障がテスト不能と判定される。引き続き操作２３ではテスト不能と判定された５０００個のパス遅延故障を定義から除外する。さらに操作２４では、定義されている故障数が（１５０００個−５０００個）により１００００個と集計される。
【００４２】
次に部分故障選択操作６では、まず操作３１でノードを１つ選択する。なお、与えられた論理回路データ１中には３０００のノードが存在するものとする。次に操作３２では選択したノードを通る定義されたパス遅延故障のうち、信号経路上の遅延値が最も大きいパス遅延故障を選択する。もし選択したノードを通る定義されたパス遅延故障が存在しない場合は、そのノードは処理済みとして、操作３３へ進む。今、選択されたパス遅延故障上に１０個のノードが含まれたとする。引き続いて操作３３では、未処理のノードがあるか否かの判定を行い、２９９０個のノードが未処理なので、再度操作３１へ進み、未処理のノードを１つ選択し、操作３２へ進んで選択したノードを通る信号経路上の遅延値が最も大きいパス遅延故障を選択する。今、選択されたパス遅延故障上に２０個のノードが含まれたとする。引き続いて操作３３では、未処理のノードがあるか否かの判定を行い、２９７０個のノードが未処理なので、再度操作３１へ進む。同様に操作３１から操作３３の繰り返しを行い、判定３３において未処理のノードが存在しなくなったら、最後に操作３４において、これまで操作３２で選択されたパス遅延故障を集計して故障リストを作成する。今、１０００個のパス遅延故障による故障リストが作成されたものとする。
【００４３】
次にテスト可否判定操作７では、まず操作４１において、操作３４で作成された故障リスト中のパス遅延故障を１つ選択する。次に操作４２では、選択した故障に対する検査系列生成操作を行い、テスト可能かテスト不能かの判定を行う。引き続き操作４３では、未処理の故障があるかどうかを判定する。ここではまだ９９９個の故障が残っているので、再度操作４１へ進み、新たにパス遅延故障を１つ選択する。次に操作４２では、選択した故障に対する検査系列生成操作を行い、テスト可能かテスト不能かの判定を行う。引き続き操作４３では、未処理の故障があるかどうかの判定が、まだ９９８個の故障が残っているので、再度操作４１へ進む。同様に操作４１から操作４３を繰り返し、操作４３において未処理の故障がなくなったら、最後に操作４４において、操作４２でテスト不能と判定された故障の数を集計する。今、操作４２でテスト不能と判定された故障数が２００個であったとする。
【００４４】
次に故障検出率算出操作８では、まず操作５１において、与えられた検査系列３を用いて故障シミュレーションを実施する。このとき対象となる故障は操作２４で集計されたすべての故障である。この操作で検出された故障数が６０００個であったとする。次に操作５２では、操作５１で検出された故障数を検出故障数とし、操作２４で集計された定義故障数を全定義故障数とし、操作３４で作成された故障リスト中の故障数を部分選択故障数とし、操作４４で集計されたテスト不能故障数を部分テスト不能故障数として、次の式によって全定義故障中のテスト不能故障推定数を算出する。
テスト不能故障推定数＝部分テスト不能故障数×全定義故障数／部分選択故障数
（式３）
次に算出されたテスト不能故障推定数を用いて、次の式によって故障検出率を算出する。
故障検出率＝検出故障数／（全定義故障数−テスト不能故障推定数）×１００（％）                                                                      （式４）
今、部分テスト不能故障数、全定義故障数、部分選択故障数、検出故障数は、それぞれ２００個、１００００個、１０００個、６０００個であるので、（式３）よりテスト不能故障推定数は２０００個と算出され、次に（式４）によって、故障検出率は７５％と算出される。
【００４５】
一方、実際のテスト不能故障数は２２００個なので、（非現実的な時間を要するが）実際の故障検出率を算出すると（式１）より７６．９％となる。
【００４６】
これに対して従来代用されていた（式２）による故障検出率ではテスト不能故障の数を全く考慮しないために６０％という非常に低い値となってしまい、与えられた検査系列による検査品質を過小に見積もってしまう結果となる。
【００４７】
実際の実験結果の一例として、ＩＳＣＡＳ８９ベンチマーク回路の１つであるｓ３８４１７への実行結果から、従来代用されていた故障検出率（式２）が８０％となる検査系列を用いて、テスト可能な実際の故障検出率（式１）、本実施例の手法による故障検出率（式４）を求めると、それぞれ８５．６％、８５．７％であり、本実施例の手法が非常に精度が高いことがわかる。
【００４８】
以上から、本発明による遅延故障検査品質評価方法では、テスト不能故障と推定される故障の数を考慮することによって、実際の故障検出率に近い故障検出率の値を算出することができる。
【００４９】
なお、操作５で定義された故障数（１００００個）に対する操作６で選択された故障数は（１０００個）であるので、その割合は０．１である。このとき操作８で算出された故障検出率の誤差が例えば統計的に０．５％と求められたとした場合、故障検出率として（７５％−０．５％）＝７４．５％という値を用いることにより、サンプリング誤差を考慮した故障検出率の過大見積りを防止することができ、さらに効果的である。また、より簡易的な方法として、操作５で定義された故障数に対する操作６で選択された故障数の割合に関係なく所定の誤差の値（例えば１％）を用いれば、演算量を抑えることが可能になる。
【００５０】
なお、部分故障選択操作６の実行方法として本実施の形態で説明に使用した図３の方法の代わりに、操作２４で定義されている故障からランダムで所定数の故障を選択しても同様の効果が得られることは明らかである。
【００５１】
また操作３２において、本実施の形態ではノードを通る最大遅延値のパス遅延故障を選択する、として説明を行ったが、最大遅延値の代わりに最大ゲート段数か、または物理的な最大信号経路長を用いても同様の効果を得ることができる。なお、上記物理的な信号経路長はレイアウトデータから算出できる信号系路上の配線長の総和を用いてもよい。
【００５２】
さらには、遅延故障定義情報２の内容は、本実施の形態では、全故障を定義するための指示、として説明を行ったが、全故障の一部で構成される故障リスト、または論理回路データ１の１ブロックに対して故障を定義するための指示などのように、全故障ではなく一部の故障を定義するものであっても同様の効果を得ることができる。
【００５３】
なお前記第１の実施の形態では、半導体集積回路中の遅延故障に対し、あらかじめテスト可能か否かを判定する第２のテスト可否判定手段を備え、第２のテスト可否判定手段によってテスト可能と判断された遅延故障のみを半導体集積回路に定義するようにしたが、図２の操作２２から２４に代えて、図４（ｂ）に変形例を示すように、操作４１（第１のテスト可否判定手段の処理に相当）の前段に、テスト不能故障であるか否かを判定する操作４０を追加してもよい。この場合、テスト不能故障数を集計する操作４０は、前記操作４０でテスト可能と判断された遅延故障をテスト不能故障数集計に加える操作４４Ｓに置き換える。
【００５４】
これにより、テスト不能故障判定（作４０）の処理対象が選択された故障のみとなるため、テスト不能故障判定の演算量を低減することができ、さらなる処理の高速化をはかることができる。
【００５５】
（第２の実施の形態）
本実施の形態は、定義された遅延故障のうちのテスト不能な遅延故障数を推定することによって、遅延故障検査系列の品質評価の精度を向上させる第１の実施の形態とは別の実施方法について説明したものである。
【００５６】
本実施の形態では、遅延故障の別の例としてノード上の遅延故障を用いて説明を行う。ノード上の遅延故障を本実施の形態においては、遷移故障と呼ぶこととする。
【００５７】
図６は本発明に係わる遅延故障検査品質評価方法を示すフローチャートである。６１は論理回路中の各ノードに対して故障定義を行う故障定義操作、６２は定義された故障のうち所定数または所定割合の故障をランダムで選択する操作を示し、その他の記号は図１の一致する記号と同じものを表す。
【００５８】
以下、図６、図４、および図５を用いて本発明の第２の実施の形態を説明する。
【００５９】
初めに与えられた論理回路データ１に対して遅延故障定義情報２を用いて故障定義操作６１を行う。遅延故障定義情報２は本実施の形態においては、全故障定義の指示が格納されているものとして説明を行う。次に故障定義操作６１では、与えられた論理回路データ１の全ノードへ遷移故障を定義する。なお、与えられた論理回路データ１中には３０００のノードが存在するものとすると、全定義故障数は３０００個となる。このとき、３０００個の故障に含まれるテスト不能故障数は５２０個であると仮定する。
【００６０】
次に部分故障選択操作６２では、全定義故障のうちの所定数または所定割合の故障をランダムで選択する。ここでは所定割合１０％の故障を選択するものとすると、操作６２でランダムに選択される故障数は３００となる。
【００６１】
次にテスト可否判定操作７では、まず操作４１において、操作６２で選択された３００個の遷移故障のうちから、故障を１つ選択する。次に操作４２では、選択した故障に対する検査系列生成操作を行い、テスト可能かテスト不能かの判定を行う。引き続き操作４３では、未処理の故障があるかどうかを判定する。ここではまだ２９９個の故障が残っているので、再度操作４１へ進み、新たに遷移故障を１つ選択する。次に操作４２では、選択した故障に対する検査系列生成操作を行い、テスト可能かテスト不能かの判定を行う。引き続き操作４３では、未処理の故障があるかどうかの判定が、まだ２９８個の故障が残っているので、再度操作４１へ進む。同様に操作４１から操作４３を繰り返し、操作４３において未処理の故障がなくなったら、最後に操作４４において、操作４２でテスト不能と判定された故障の数を集計する。今、操作４２でテスト不能と判定された故障数が５０個であったとする。
【００６２】
次に故障検出率算出操作８では、まず操作５１において、与えられた検査系列３を用いて故障シミュレーションを実施する。このとき対象となる故障は操作６１で定義されたすべての故障である。この操作で検出された故障数が２０００個であったとする。次に操作５２では、操作５１で検出された故障数を検出故障数とし、操作６１で定義された定義故障数を全定義故障数とし、操作６２で選択された故障数を部分選択故障数とし、操作４４で集計されたテスト不能故障数を部分テスト不能故障数として、（式３）によって全定義故障中のテスト不能故障推定数を算出する。次に算出されたテスト不能故障推定数を用いて、（式４）によって故障検出率を算出する。
【００６３】
今、部分テスト不能故障数、全定義故障数、部分選択故障数、検出故障数は、それぞれ５０個、３０００個、３００個、２０００個であるので、（式３）よりテスト不能故障推定数は５００個と算出され、次に（式４）によって、故障検出率は８０％と算出される。
【００６４】
一方、実際のテスト不能故障数は５２０個なので、実際の故障検出率を算出すると（式１）より８０．６％となる。
【００６５】
これに対して従来代用されていた（式２）による故障検出率ではテスト不能故障の数を全く考慮しないために６６．７％という非常に低い値となってしまい、与えられた検査系列による検査品質を過小に見積もってしまう結果となる。
【００６６】
なお、操作５で定義された故障数（３０００個）に対する操作６で選択された故障数は（３００個）であるので、その割合は０．１である。このとき操作８で算出された故障検出率の誤差が例えば統計的に０．５％と求められたとした場合、故障検出率として（８０％−０．５％）＝７９．５％という値を用いることにより、サンプリング誤差を考慮した故障検出率の過大見積りを防止することができ、さらに効果的である。また、より簡易的な方法として、操作５で定義された故障数に対する操作６で選択された故障数の割合に関係なく所定の誤差の値（例えば１％）を用いれば、演算量を抑えることが可能になる。
【００６７】
なお、遅延故障定義情報２の内容は、本実施の形態では、全故障を定義するための指示、として説明を行ったが、全故障の一部で構成される故障リスト、または論理回路データ１の１ブロックに対して故障を定義するための指示などのように、全故障ではなく一部の故障を定義するものであっても同様の効果を得ることができる。
【００６８】
（第３の実施の形態）
本実施の形態は、遅延故障を定義した信号経路上の設計上の遅延値を用いて、遅延故障検査系列の品質評価を行うことによって、遅延故障検査系列の品質評価の精度を向上させる具体的な実施方法について説明したものである。
【００６９】
本実施例では、遅延故障の一例としてパス遅延故障を用いて説明を行う。
【００７０】
図７は操作５の故障定義操作のより詳細を示すフローチャートである。７１は操作２４で論理回路上に定義されているすべてのパス遅延故障について、信号系路上の設計上の遅延値の総和を算出する操作を示し、それ以外の記号は図２の一致する操作と同じものを示す。
【００７１】
図８は操作７のテスト可否判定操作のより詳細を示すフローチャートである。８１は操作４４で集計されたすべてのテスト不能故障について、信号系路上の設計上の遅延値の総和を算出する操作を示し、それ以外の記号は図４の一致する操作と同じものを示す。
【００７２】
図９は操作８の故障検出率算出操作のより詳細を示すフローチャートである。９１は操作５１の故障シミュレーションによって検出されたすべてのパス遅延故障について、信号系路上の設計上の遅延値の総和を算出する操作を示し、それ以外の記号は図５の一致する操作と同じものを示す。
【００７３】
図１０は、本発明に係わる遅延故障検査品質評価方法の動作を説明するための図である。パス遅延故障１〜２０は、論理回路データ１中に定義されるパス遅延故障を示し、各パス遅延故障の右側の矢印は各パス遅延故障が定義される信号経路の設計上の遅延値の大きさを示し、矢印の上の値はその具体的な遅延値を示す。
【００７４】
以下、図１、図３、図７〜１０を用いて本発明の第３の実施の形態を説明する。
【００７５】
初めに与えられた論理回路データ１に対して遅延故障定義情報２を用いて故障定義操作５を行う。遅延故障定義情報２には図１０で示されている２０個のパス遅延故障のリストが格納されている。次に故障定義操作５では、まず操作２１において、遅延故障定義情報２で与えられたパス遅延故障を論理回路中の信号経路に定義する。ここで定義されたパス遅延故障数とその中に含まれるテスト不能故障数はそれぞれパス遅延故障２、１０、１５、２０の４個であると仮定する。次に操作２２では、定義した全パス遅延故障に対して簡易的なテスト不能パス判定を行い、その結果テスト不能と判定されたものが全くなかったとする。したがって次の操作２３ではテスト不能と判定されたパス遅延故障が存在しないので何も行わない。次に操作２４では、定義されている故障数が２０個と集計される。最後に操作７１では、定義されている２０個のパス遅延故障について、信号経路の設計上の遅延値の総和を算出する。ここでは図１０に示す各パス遅延故障の遅延値から、総和の値は１４１ｎｓと算出される。
【００７６】
次に部分故障選択操作６では、まず操作３１でノードを１つ選択する。なお、与えられた論理回路データ１中には３０００のノードが存在するものとする。次に操作３２では選択したノードを通る定義されたパス遅延故障のうち、信号経路上の遅延値が最も大きいパス遅延故障を選択する。もし選択したノードを通る定義されたパス遅延故障が存在しない場合は、そのノードは処理済みとして、操作３３へ進む。今、選択されたパス遅延故障上に２０個のノードが含まれたとする。引き続いて操作３３では、未処理のノードがあるか否かの判定を行い、２９８０個のノードが未処理なので、再度操作３１へ進み、未処理のノードを１つ選択し、操作３２へ進む。今、選択したノードを通る定義されたパス遅延故障が存在しなかったとする。このとき、選択したノードを処理済として操作３３へ進む。操作３３では、未処理のノードがあるか否かの判定を行い、２９７９個のノードが未処理なので、再度操作３１へ進む。同様に操作３１から操作３３の繰り返しを行い、判定３３において未処理のノードが存在しなくなったら、最後に操作３４において、これまで操作３２で選択されたパス遅延故障を集計して故障リストを作成する。今、パス遅延故障２、３、６、１２、１７（図１０において太線で示したパス遅延故障）の５個のパス遅延故障による故障リストが作成されたものとする。
【００７７】
次にテスト可否判定操作７では、まず操作４１において、操作３４で作成された故障リスト中のパス遅延故障２を選択する。次に操作４２では、選択した故障に対する検査系列生成操作を行い、テスト不能と判定されたとする。引き続き操作４３では、未処理の故障があるかどうかを判定する。ここではまだ４個の故障が残っているので、再度操作４１へ進み、新たにパス遅延故障３を選択する。次に操作４２では、選択した故障に対する検査系列生成操作を行い、テスト可能と判定されたとする。引き続き操作４３では、未処理の故障があるかどうかを判定が、まだ３個の故障が残っているので、再度操作４１へ進む。同様に操作４１から操作４３を繰り返し、操作４３において未処理の故障がなくなったら、操作４４へ進み、操作４２でテスト不能と判定された故障の数を集計する。今、操作４２でテスト不能と判定された故障数がパス遅延故障２のみの１個であったとする。最後に、操作８１において、テスト不能と判定されたパス遅延故障の遅延値の総和を算出する。今、テスト不能と判定された故障はパス遅延故障２のみであるので、この遅延値８ｎｓが総和として算出される。
【００７８】
次に故障検出率算出操作８では、まず操作５１において、与えられた検査系列３を用いて故障シミュレーションを実施する。このとき対象となる故障は操作２４で集計されたすべての故障である。この操作で検出された故障がパス遅延故障３、７、９、１１、１４、１７、１９の７個であったとする。次に操作９１では、検出されたパス遅延故障の遅延値の総和を算出する。図１０より総和の値は５８ｎｓと算出される。次に操作５２では、操作９１で算出された検出故障の遅延値の総和を検出故障量とし、操作２４で集計された定義故障数を全定義故障数とし、操作７１で集計された定義故障の遅延値の総和を全定義故障量とし、操作３４で作成された故障リスト中の故障数を部分選択故障数とし、操作８１で集計されたテスト不能故障の遅延値の総和を部分テスト不能故障量として、次の式によって全定義故障中のテスト不能故障推定量を算出する。
テスト不能故障推定量＝部分テスト不能故障量×全定義故障数／部分選択故障数                                                                          （式４）
次に算出されたテスト不能故障推定量を用いて、次の式によって故障検出率を算出する。
故障検出率＝検出故障量／（全定義故障量−テスト不能故障推定量）×１００（％）                                                                        （式５）
今、部分テスト不能故障量、全定義故障数、全定義故障量、部分選択故障数、検出故障量は、それぞれ８ｎｓ、２０個、１４１ｎｓ、５個、５８ｎｓであるので、（式３）よりテスト不能故障推定量は３２ｎｓと算出され、次に（式４）によって、故障検出率は５３．２％と算出される。
【００７９】
一方、実際のテスト不能故障（パス遅延故障３、１０、１５、２０）の遅延値の総和をテスト不能故障量とすると、その値は３２ｎｓなので、実際の故障検出率を以下の式で算出すると５３．２％となる。
故障検出率＝検出故障量／（全定義故障量−テスト不能故障量）×１００（％）                                                                        （式６）
これに対して従来代用されていた（式２）による故障検出率ではテスト不能故障の数を全く考慮しないために３７．７％となってしまい、与えられた検査系列による検査品質を誤って見積もってしまう結果となる。
【００８０】
以上から、本発明による遅延故障検査品質評価方法では、テスト不能故障と推定される故障の数を考慮することによって、実際の故障検出率に近い故障検出率の値を算出することができる。
【００８１】
なお、操作５で定義された故障数（２０個）に対する操作６で選択された故障数は（５個）であるので、その割合は０．２５である。このとき操作８で算出された故障検出率の誤差が例えば統計的に０．２％と求められたとした場合、故障検出率として（５３．２％−０．２％）＝５３．０％という値を用いることにより、サンプリング誤差を考慮した故障検出率の過大見積りを防止することができ、さらに効果的である。また、より簡易的な方法として、操作５で定義された故障数に対する操作６で選択された故障数の割合に関係なく所定の誤差の値（例えば１％）を用いれば、演算量を抑えることが可能になる。
【００８２】
なお、部分故障選択操作６の実行方法として本実施の形態で説明に使用した図３の方法の代わりに、操作２４で定義されている故障からランダムで所定数の故障を選択しても同様の効果が得られることは明らかである。
【００８３】
また操作７１、８１、９１では、パス遅延故障が定義された信号経路の設計上の遅延値を用いて説明を行っているが、信号経路の設計上の遅延値の代わりに、信号経路上のゲート段数か、または設計上の物理的な信号経路長を用いても同様の効果を得ることができる。なお、上記物理的な信号経路長はレイアウトデータから算出できる信号系路上の配線長の総和であってもよい。
【００８４】
また同様に、操作３２において、本実施の形態ではノードを通る最大遅延値のパス遅延故障を選択する、として説明を行ったが、最大遅延値の代わりに最大ゲート段数か、または物理的な最大信号経路長を用いても同様の効果を得ることができる。なお、上記物理的な信号経路長はレイアウトデータから算出できる信号系路上の配線長の総和を用いてもよい。
【図面の簡単な説明】
【００８５】
【図１】本発明の実施形態に係わる遅延故障検査品質評価方法を示すフローチャート
【図２】図１のフローチャートの一部をより詳細に説明するフローチャート
【図３】図１のフローチャートの一部をより詳細に説明するフローチャート
【図４】図１のフローチャートの一部をより詳細に説明するフローチャート
【図５】図１のフローチャートの一部をより詳細に説明するフローチャート
【図６】本発明の実施形態に係わる遅延故障検査品質評価方法を示すフローチャート
【図７】図１のフローチャートの一部をより詳細に説明するフローチャート
【図８】図１のフローチャートの一部をより詳細に説明するフローチャート
【図９】図１のフローチャートの一部をより詳細に説明するフローチャート
【図１０】本発明の実施形態を補足する図
【図１１】従来技術の課題を説明する図
【図１２】図２のフローチャートの一部をより詳細に説明するフローチャート
【図１３】図１２の実施形態を補足する図
【符号の説明】
【００８６】
６  部分故障を選択する操作
８  故障検出率を算出する操作
４４  部分故障中のテスト不能故障数を集計する操作
５２  故障検出率を計算する操作
６２  部分故障を選択する操作
７１  全定義故障の遅延値の総和を算出する操作
８１  部分故障中のテスト不能故障の遅延値の総和を算出する操作
９１  検出された故障の遅延値の総和を算出する操作
【図１】
2004252961.tif 000003
【図２】
2004252961.tif 000004
【図３】
2004252961.tif 000005
【図４】
2004252961.tif 000006
【図５】
2004252961.tif 000007
【図６】
2004252961.tif 000008
【図７】
2004252961.tif 000009
【図８】
2004252961.tif 000010
【図９】
2004252961.tif 000011
【図１０】
2004252961.tif 000012
【図１１】
2004252961.tif 000013
【図１２】
2004252961.tif 000014
【図１３】
2004252961.tif 000015