(57)【要約】【課題】被検査回路の隣接信号線における信号変化の動的干渉によって論理値変化が生じる故障を高精度で検出する。【解決手段】被検査回路の各信号線の故障を検査する故障検査装置において、被検査回路の検査対象の信号線で故障を仮定する故障信号線と、故障信号線からある範囲内にある少なくとも１つの隣接信号線との間のレイアウト情報、製造パラメータ情報及びタイミング情報に基づいて、故障信号線と各隣接信号線との間の故障励起条件の適合結果を表す故障励起関数を用いて、故障信号線に関する故障励起関数の値を計算し、計算された故障励起関数の値に基づいて故障信号線で動的故障が励起したか否かを判断する。故障信号線と複数の隣接信号線との間の各故障発生関数の値の総和を計算し総和を隣接信号線の数で除算して故障発生関数の平均値を計算し平均値がしきい値以上であるか否かに基づいて故障信号線で動的故障が発生したか否かを判断する。【選択図】図１
2010204107.tif 000002
【特許請求の範囲】
【請求項１】
複数の信号線を含む被故障推定回路の各信号線の故障を推定する故障推定装置において、
上記被故障推定回路の故障推定対象の信号線において故障を仮定する故障信号線と、上記故障信号線から所定の範囲内にある少なくとも１つの隣接信号線との間のレイアウト情報、製造パラメータ情報及びタイミング情報に基づいて、上記故障信号線と上記各隣接信号線との間の所定の故障発生条件の適合結果を表す故障発生関数を用いて、上記故障信号線に関する故障発生関数の値を計算し、上記計算された故障発生関数の値に基づいて上記故障信号線において動的故障が発生したか否かを判断する制御手段を備え、
上記制御手段は、上記故障信号線と上記複数の隣接信号線との間の各故障発生関数の値の総和を計算し、上記計算された総和を上記隣接信号線の数で除算して故障発生関数の平均値を計算し、上記計算された故障発生関数の平均値が所定のしきい値以上であるか否かに基づいて上記故障信号線において動的故障が発生したか否かを判断することを特徴とする故障推定装置。
【請求項２】
上記制御手段は、所定の複数のテスト期間を含むテスト対集合において上記被故障推定回路に対して各テスト対で正常回路の論理シミュレーションを行い、それにより得られた論理値の相補の値の影響が外部出力まで伝搬する信号線を求め、当該信号線を故障信号線として上記故障発生関数を用いて動的故障が発生したか否かを判断し、その結果を出力することを特徴とする請求項１記載の故障推定装置。
【請求項３】
上記制御手段は、所定の複数のテスト期間を含む既存の遷移故障テスト対集合から上記被故障推定回路に対して故障信号線の動的故障が未検出である遷移故障テスト対を選択し、当該選択した故障信号線の遷移故障の検出を保証するように外部入力割り当てのドントケアの抽出を行い、上記ドントケアを有する隣接信号線から外部入力側に後方追跡処理を行い、上記ドントケアを有する外部入力に対して、上記故障発生関数を用いて動的故障が発生する信号値を割り当てることにより、上記テスト対のテストパターン信号を発生することを特徴とする請求項１又は２記載の故障推定装置。
【請求項４】
上記制御手段は、
（Ａ）上記被故障推定回路に対するフェイルテスト集合の各フェイルテスト対において、所定の診断対象の各信号線を故障信号線として、上記故障発生関数を用いて上記故障信号線において動的故障が発生したか否かを判断することにより動的故障が発生した故障信号線を故障候補の信号線として第１の絞り込み処理を行い、
（Ｂ）上記被故障推定回路に対するパステスト集合の各パステスト対において、上記故障候補の信号線に対して、上記故障発生関数を用いて上記故障信号線において動的故障が発生したか否かを判断することにより動的故障が発生した故障信号線を故障候補の信号線から削除する第２の絞り込み処理を行うことにより、故障候補の信号線の集合を生成することを特徴とする請求項１又は２記載の故障推定装置。
【請求項５】
上記制御手段はさらに、
（Ｃ）上記第２の絞り込み処理後の故障候補の信号線の集合に対して、故障信号線の検出回数に従って、故障候補の順位付けリストを生成して出力することを特徴とする請求項４記載の故障推定装置。
【請求項６】
複数の信号線を含む被故障推定回路の各信号線の故障を推定する故障推定方法において、
上記被故障推定回路の故障推定対象の信号線において故障を仮定する故障信号線と、上記故障信号線から所定の範囲内にある少なくとも１つの隣接信号線との間のレイアウト情報、製造パラメータ情報及びタイミング情報に基づいて、上記故障信号線と上記各隣接信号線との間の所定の故障発生条件の適合結果を表す故障発生関数を用いて、上記故障信号線に関する故障発生関数の値を計算し、上記計算された故障発生関数の値に基づいて上記故障信号線において動的故障が発生したか否かを判断する制御ステップを含み、
上記制御ステップは、上記故障信号線と上記複数の隣接信号線との間の各故障発生関数の値の総和を計算し、上記計算された総和を上記隣接信号線の数で除算して故障発生関数の平均値を計算し、上記計算された故障発生関数の平均値が所定のしきい値以上であるか否かに基づいて上記故障信号線において動的故障が発生したか否かを判断することを含むことを特徴とする故障推定方法。
【請求項７】
上記制御ステップは、所定の複数のテスト期間を含むテスト対集合において上記被故障推定回路に対して各テスト対で正常回路の論理シミュレーションを行い、それにより得られた論理値の相補の値の影響が外部出力まで伝搬する信号線を求め、当該信号線を故障信号線として上記故障発生関数を用いて動的故障が発生したか否かを判断し、その結果を出力するステップを含むことを特徴とする請求項６記載の故障推定方法。
【請求項８】
上記制御ステップは、所定の複数のテスト期間を含む既存の遷移故障テスト対集合から上記被故障推定回路に対して故障信号線の動的故障が未検出である遷移故障テスト対を選択し、当該選択した故障信号線の遷移故障の検出を保証するように外部入力割り当てのドントケアの抽出を行い、上記ドントケアを有する隣接信号線から外部入力側に後方追跡処理を行い、上記ドントケアを有する外部入力に対して、上記故障発生関数を用いて動的故障が発生する信号値を割り当てることにより、上記テスト対のテストパターン信号を発生するステップを含むことを特徴とする請求項６又は７記載の故障推定方法。
【請求項９】
上記制御ステップは、
（Ａ）上記被故障推定回路に対するフェイルテスト集合の各フェイルテスト対において、所定の診断対象の各信号線を故障信号線として、上記故障発生関数を用いて上記故障信号線において動的故障が発生したか否かを判断することにより動的故障が発生した故障信号線を故障候補の信号線として第１の絞り込み処理を行い、
（Ｂ）上記被故障推定回路に対するパステスト集合の各パステスト対において、上記故障候補の信号線に対して、上記故障発生関数を用いて上記故障信号線において動的故障が発生したか否かを判断することにより動的故障が発生した故障信号線を故障候補の信号線から削除する第２の絞り込み処理を行うことにより、故障候補の信号線の集合を生成するステップを含むことを特徴とする請求項６又は７記載の故障推定方法。
【請求項１０】
上記制御ステップはさらに、
（Ｃ）上記第２の絞り込み処理後の故障候補の信号線の集合に対して、故障信号線の検出回数に従って、故障候補の順位付けリストを生成して出力するステップを含むことを特徴とする請求項９記載の故障推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＬＳＩチップなどの半導体装置である被故障推定回路の故障を推定するための故障推定装置及び方法に関する。
【背景技術】
【０００２】
近年の半導体微細化技術の進展に伴って、製品の品質確保と早期歩留まり確保が必要不可欠となっている。そのために、テストと故障診断の結果から得られる情報を利用して、欠陥の箇所、欠陥の原因、及び欠陥の統計的な振る舞いを解析・フィードバックすることで製品全体の高い品質保証（製品のライフタイム内での歩留まり目標達成）と適切なテストコスト実現が必要である。次世代チップにおいては、配線の微細化、長距離化、及び銅配線の導入等によって、スクラッチ、ボイド等の物理欠陥が、信号線間の抵抗性短絡（ブリッジ／ショート）又は、配線及びビアの断線（オープン）となって顕在化する。それらの欠陥は、チップの品質及び性能に大きな影響を与えると報告されている。これら従来技術に係る故障診断方法やテストデータ生成方法は、例えば後述する従来技術文献において開示されている。
【０００３】
半導体プロセスの微細化加工に伴って、被検査デバイスの信号線におけるブリッジ／ショート箇所及びオープン箇所の論理値の変化は、故障が存在する信号線とその信号線に隣接する信号線間の動的な干渉によって不安定な故障状態になると考えられる。これらの原因で、従来の単一縮退故障モデルに基づく故障検査法では不十分であると考えられる。
【０００４】
次に、これまでに提案されている物理欠陥のモデル化及びそれに対する故障検査法について述べる。
【０００５】
例えば非特許文献１では、２本の信号線（故障信号線と隣接信号線）の信号変化の極性（方向）及び信号変化時刻のずれを示すタイミングスキュー（タイミング情報）に着目してクロストーク故障のモデルを提案している。同様に、非特許文献４では、２本の信号線（故障信号線と隣接信号線）の信号変化の極性（方向）及び信号変化時刻のずれを示すタイミングスキューに着目して抵抗性ブリッジ故障のモデルを提案している。
【０００６】
非特許文献２では、オープン故障をもつ信号線とその隣接信号線間の寄生容量に着目してオープン故障を診断する手法を提案している。また、非特許文献３では、オープン故障に対するランダムパターンの検出能力を評価している。
【０００７】
また、ブラントン（Ｂｌａｎｔｏｎ）らは、非特許文献５，７−１１及び特許文献５において、物理欠陥のモデル化及びそれを利用したテスト生成法及び故障診断法を提案している。ブラントンらの故障モデルは、信号線番号、その信号線の正常値又は故障値、及びテスト番号の３つの要素からなる故障集合（Ｆａｕｌｔ  Ｔｕｐｌｅｓ）によって故障状態を表現している。さらに、ブラントン（Ｂｌａｎｔｏｎ）らは、非特許文献７，１０において、レイアウト情報によって故障信号線からある一定距離に含まれる信号線を隣接信号線として抽出し、故障信号線と隣接信号線を併せて故障集合を構成するモデルを提案している。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平４−０５５７７６号公報。
【特許文献２】特開平６−１９４４１８号公報。
【特許文献３】特開平１０−３１２４０６号公報。
【特許文献４】特開２００６−３１３１３３号公報。
【特許文献５】米国特許第６８３６８５６号の明細書。
【特許文献６】特開平８−１８００９５号公報。
【特許文献７】特開平８−３０４５１３号公報。
【特許文献８】特開平６−２５９５００号公報。
【特許文献９】特開２００５−１４０７１０号公報。
【非特許文献】
【０００９】
【非特許文献１】W. Chen et al. "Analytic models for crosstalk delay and pulse analysis under non-ideal inputs", Proceedings of IEEE ITC, pp.809-818, 1997.
【非特許文献２】Y. Sato et al., "A persistent diagnostic technique for unstable defects", Proceedings of IEEE ITC, pp.242-249, 2002.
【非特許文献３】佐藤ほか，「疑似ランダム論理ＢＩＳＴにおけるテストパターン品質の評価」，電子情報通信学会論文誌，Ｖｏｌ．Ｊ８７，２００４，１。
【非特許文献４】S. Irajpour et al., "Analyzing crosstalk in the presence of weak bridge defects", Proceedings of IEEE VTS, pp. 385-392, 2003.
【非特許文献５】R. D. Blanton et al, "Universal test generation using fault tuples", Proceedings of ITC, 2000.
【非特許文献６】R. D. Blanton et al, "Fault tuples in diagnosis of deep-submicron circuits", Proceedings of ITC, 2002.
【非特許文献７】R. D. Blanton et al, "Analyzing the Effectiveness of Multiple Detect Test Set", Proceedings of ITC, 2003.
【非特許文献８】R. D. Blanton et al, "Diagnosis of Arbitrary Defects Using Neighborhood Function Extraction", Proceedings of VTS, 2005.
【非特許文献９】R. D. Blanton et al, "Defect Modeling Using Fault Tuples", IEEE TCAD, 2006.
【非特許文献１０】R. D. Blanton et al, "A Logic Diagnosis Methodology for Improved Localization Extraction of Accurate Defect Behavior", Proceedings of ITC, 2006.
【非特許文献１１】R. D. Blanton et al, "Diagnostic Test Generation for Arbitrary Faults", Proceedings of ITC, 2006.
【非特許文献１２】大村洋ほか，「隣接信号線の電圧値を考慮する断線故障の検査可能性評価」，電気関係学会四国支部連合大会，１０−７，２００５。
【非特許文献１３】門山周平ほか，「隣接信号線を考慮したオープン故障の一モデルとその故障診断」，電子情報通信学会技術報告，Ｖｏｌ．１０５，Ｎｏ．６０７，ＤＣ２００５−７６，２００６。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、これまでに提案されている従来技術に係る被検査デバイスの故障モデル、テスト生成法、及び故障診断法に対しては、以下の問題点があった。
【００１１】
（１）被検査デバイスの故障モデルにおいて、故障信号線と隣接信号線との配線間距離、故障信号線と隣接信号線の並走距離、及び信号線の配線幅（レイアウト情報）、配線層間距離、配線材料、及び絶縁層の材料などの電気的特性（製造プロセス情報）及び信号線における信号変化の方向、及び動的干渉が生じる信号変化のタイミング窓（タイミング情報）を総合的に考慮した故障モデルは提案されていない。
（２）隣接信号線における信号変化の動的干渉によって論理値変化が生じる故障に対する故障検出率の向上を目標とするテスト生成法は提案されていない。
（３）故障信号線と隣接信号線との配線間距離、故障信号線と隣接信号線の並走距離、及び信号線の配線幅（レイアウト情報）、半導体パラメータ、配線層間距離、配線材料などの電気的特性（製造プロセス情報）及び信号線における信号変化の方向、及び動的干渉が生じる信号変化のタイミング窓（タイミング情報）を総合的に故障診断のための情報として利用する故障診断法は提案されていない。
【００１２】
本発明の目的は以上の問題点を解決し、被故障推定回路の隣接信号線における信号変化の動的干渉によって論理値変化が生じる故障を従来技術に比較して高精度で推定して検出することができる故障推定装置及び方法を提供することにある。
【課題を解決するための手段】
【００１３】
第１の発明に係る故障推定装置は、複数の信号線を含む被故障推定回路の各信号線の故障を推定する故障推定装置において、
上記被故障推定回路の故障推定対象の信号線において故障を仮定する故障信号線と、上記故障信号線から所定の範囲内にある少なくとも１つの隣接信号線との間のレイアウト情報、製造パラメータ情報及びタイミング情報に基づいて、上記故障信号線と上記各隣接信号線との間の所定の故障発生条件の適合結果を表す故障発生関数を用いて、上記故障信号線に関する故障発生関数の値を計算し、上記計算された故障発生関数の値に基づいて上記故障信号線において動的故障が発生したか否かを判断する制御手段を備え、
上記制御手段は、上記故障信号線と上記複数の隣接信号線との間の各故障発生関数の値の総和を計算し、上記計算された総和を上記隣接信号線の数で除算して故障発生関数の平均値を計算し、上記計算された故障発生関数の平均値が所定のしきい値以上であるか否かに基づいて上記故障信号線において動的故障が発生したか否かを判断することを特徴とする。
【００１４】
さらに、上記故障推定装置において、上記制御手段は、所定の複数のテスト期間を含むテスト対集合において上記被故障推定回路に対して各テスト対で正常回路の論理シミュレーションを行い、それにより得られた論理値の相補の値の影響が外部出力まで伝搬する信号線を求め、当該信号線を故障信号線として上記故障発生関数を用いて動的故障が発生したか否かを判断し、その結果を出力することを特徴とする。
【００１５】
またさらに、上記故障推定装置は、上記制御手段は、所定の複数のテスト期間を含む既存の遷移故障テスト対集合から上記被故障推定回路に対して故障信号線の動的故障が未検出である遷移故障テスト対を選択し、当該選択した故障信号線の遷移故障の検出を保証するように外部入力割り当てのドントケアの抽出を行い、上記ドントケアを有する隣接信号線から外部入力側に後方追跡処理を行い、上記ドントケアを有する外部入力に対して、上記故障発生関数を用いて動的故障が発生する信号値を割り当てることにより、上記テスト対のテストパターン信号を発生することを特徴とする。
【００１６】
また、上記故障推定装置において、上記制御手段は、
（Ａ）上記被故障推定回路に対するフェイルテスト集合の各フェイルテスト対において、所定の診断対象の各信号線を故障信号線として、上記故障発生関数を用いて上記故障信号線において動的故障が発生したか否かを判断することにより動的故障が発生した故障信号線を故障候補の信号線として第１の絞り込み処理を行い、
（Ｂ）上記被故障推定回路に対するパステスト集合の各パステスト対において、上記故障候補の信号線に対して、上記故障発生関数を用いて上記故障信号線において動的故障が発生したか否かを判断することにより動的故障が発生した故障信号線を故障候補の信号線から削除する第２の絞り込み処理を行うことにより、故障候補の信号線の集合を生成することを特徴とする。
【００１７】
さらに、上記故障推定装置において、上記制御手段はさらに、
（Ｃ）上記第２の絞り込み処理後の故障候補の信号線の集合に対して、故障信号線の検出回数に従って、故障候補の順位付けリストを生成して出力することを特徴とする。
【００１８】
第２の発明に係る故障推定方法は、複数の信号線を含む被故障推定回路の各信号線の故障を推定する故障推定方法において、
上記被故障推定回路の故障推定対象の信号線において故障を仮定する故障信号線と、上記故障信号線から所定の範囲内にある少なくとも１つの隣接信号線との間のレイアウト情報、製造パラメータ情報及びタイミング情報に基づいて、上記故障信号線と上記各隣接信号線との間の所定の故障発生条件の適合結果を表す故障発生関数を用いて、上記故障信号線に関する故障発生関数の値を計算し、上記計算された故障発生関数の値に基づいて上記故障信号線において動的故障が発生したか否かを判断する制御ステップを含み、
上記制御ステップは、上記故障信号線と上記複数の隣接信号線との間の各故障発生関数の値の総和を計算し、上記計算された総和を上記隣接信号線の数で除算して故障発生関数の平均値を計算し、上記計算された故障発生関数の平均値が所定のしきい値以上であるか否かに基づいて上記故障信号線において動的故障が発生したか否かを判断することを含むことを特徴とする。
【００１９】
さらに、上記故障推定方法において、上記制御ステップは、所定の複数のテスト期間を含むテスト対集合において上記被故障推定回路に対して各テスト対で正常回路の論理シミュレーションを行い、それにより得られた論理値の相補の値の影響が外部出力まで伝搬する信号線を求め、当該信号線を故障信号線として上記故障発生関数を用いて動的故障が発生したか否かを判断し、その結果を出力するステップを含むことを特徴とする。
【００２０】
またさらに、上記故障推定方法において、上記制御ステップは、所定の複数のテスト期間を含む既存の遷移故障テスト対集合から上記被故障推定回路に対して故障信号線の動的故障が未検出である遷移故障テスト対を選択し、当該選択した故障信号線の遷移故障の検出を保証するように外部入力割り当てのドントケアの抽出を行い、上記ドントケアを有する隣接信号線から外部入力側に後方追跡処理を行い、上記ドントケアを有する外部入力に対して、上記故障発生関数を用いて動的故障が発生する信号値を割り当てることにより、上記テスト対のテストパターン信号を発生するステップを含むことを特徴とする。
【００２１】
また、上記故障推定方法において、上記制御ステップは、
（Ａ）上記被故障推定回路に対するフェイルテスト集合の各フェイルテスト対において、所定の診断対象の各信号線を故障信号線として、上記故障発生関数を用いて上記故障信号線において動的故障が発生したか否かを判断することにより動的故障が発生した故障信号線を故障候補の信号線として第１の絞り込み処理を行い、
（Ｂ）上記被故障推定回路に対するパステスト集合の各パステスト対において、上記故障候補の信号線に対して、上記故障発生関数を用いて上記故障信号線において動的故障が発生したか否かを判断することにより動的故障が発生した故障信号線を故障候補の信号線から削除する第２の絞り込み処理を行うことにより、故障候補の信号線の集合を生成するステップを含むことを特徴とする。
【００２２】
さらに、上記故障推定方法において、上記制御ステップはさらに、
（Ｃ）上記第２の絞り込み処理後の故障候補の信号線の集合に対して、故障信号線の検出回数に従って、故障候補の順位付けリストを生成して出力するステップを含むことを特徴とする。
【発明の効果】
【００２３】
本発明に係る故障推定装置及び方法によれば、被故障推定回路の回路レイアウト情報及びタイミング情報を利用した動的故障モデルによって、隣接信号線の動的干渉によって生じる故障信号線の論理値変化をより現実に近い形で扱うことができ、図２の動的故障モデルを用いて故障発生関数ＥＸ（ＬＩ，ＰＩ，ＴＩ）を計算し、これに基づいて、隣接信号線の動的干渉によって生じる故障信号線を検出する。従って、従来技術の故障推定方法において見逃す可能性がある故障を検出して診断でき、故障推定を高精度で行うことができ、故障検出率を大幅に向上できる。また、次世代ＬＳＩチップに対して最小コストで故障推定及び診断を行うことができる。さらに、故障推定処理を自動化、高速化でき、ＬＳＩチップ生産のための製造容易化設計技術の発展を大幅に推進できる。
【図面の簡単な説明】
【００２４】
【図１】本発明の第１の実施形態に係る故障検査テスタ装置１００の構成を示すブロック図である。
【図２】図１のＤＵＴ５０の故障検査モデル回路の一例を示す斜視図及びブロック図である。
【図３】図２の故障検査モデル回路の縦断面図である。
【図４】図２の故障検査モデル回路において隣接信号線の立ち上がり信号変化の影響を示すタイミングチャートである。
【図５】図２の故障検査モデル回路において隣接信号線の立ち下がり信号変化の影響を示すタイミングチャートである。
【図６】図１の故障検査コントローラ１０によって実行される故障励起関数ＥＸ（ＬＩ，ＰＩ，ＴＩ）を用いた故障検査処理の第１の部分を示すフローチャートである。
【図７】図６の故障励起関数ＥＸ（ＬＩ，ＰＩ，ＴＩ）を用いた故障検査処理の第２の部分を示すフローチャートである。
【図８】本発明の第２の実施形態に係る故障シミュレータ装置１００Ａの構成を示すブロック図である。
【図９】図８の故障シミュレーションコントローラ１０Ａによって実行される故障シミュレーション処理を示すフローチャートである。
【図１０】本発明の第３の実施形態に係る故障検査テスタ及びテスト生成装置１００Ｂの構成を示すブロック図である。
【図１１】図１０の故障検査テスタ及びテスト生成コントローラ１０Ｂによって実行されるテスト生成処理を示すフローチャートである。
【図１２】本発明の第４の実施形態に係る故障診断装置１００Ｃの構成を示すブロック図である。
【図１３】図１２の故障診断コントローラ１０Ｃによって実行される故障候補の順位リスト生成出力処理を示すフローチャートである。
【図１４】図１３のフェーズ１の処理（ステップＳ７１）を示すフローチャートである。
【図１５】図１３のフェーズ２の処理（ステップＳ７２）を示すフローチャートである。
【図１６】図１３のフェーズ３の処理（ステップＳ７３）を示すフローチャートである。
【発明を実施するための形態】
【００２５】
以下、本発明に係る実施形態について図面を参照して説明する。なお、以下の各実施形態において、同様の構成要素については同一の符号を付している。
【００２６】
実施形態の概要．
本発明者らは、上述の問題点を解決するために、隣接信号線の動的干渉によって論理値変化が生じる故障を回路のレイアウト情報、製造プロセス情報、およぶタイミング情報を利用した故障励起関数を用いた故障検査方法を提案する。従来技術に係る縮退故障モデルに基づく故障の励起判定に比べて、提案する故障励起関数は、より実際の故障の影響を表すことができるため、故障検査における故障の見逃しを防ぐことができる。さらに、提案した故障モデル回路を利用するテスト生成法及び故障診断法を提案する。本実施形態においては、具体的には、２本以上の隣接信号線の動的干渉によって故障信号線に「論理値変化」が生じる故障を回路のレイアウト情報、製造プロセス情報、及びタイミング情報からなる故障励起関数によってモデル化することを特徴としている。
【００２７】
第１の実施形態．
図１は本発明の第１の実施形態に係る故障検査テスタ装置１００の構成を示すブロック図である。本実施形態に係る故障検査テスタ装置１００は、図１に示すように、ディジタル計算機である故障検査コントローラ１０を含むように構成され、図２及び図３に図示する故障検査モデルの回路を用いて、例えば図６及び図７の故障検査処理を実行し、その故障検査結果を表示して出力することを特徴としている。故障検査コントローラ１０は、
（ａ）当該故障検査コントローラ１０の動作及び処理を演算及び制御するコンピュータのＣＰＵ（中央演算処理装置）２０と、
（ｂ）オペレーションプログラムなどの基本プログラム及びそれを実行するために必要なデータを格納するＲＯＭ（読み出し専用メモリ）２１と、
（ｃ）ＣＰＵ２０のワーキングメモリとして動作し、図６及び図７の故障検査処理と、その処理において必要なパラメータやデータを一時的に格納するＲＡＭ（ランダムアクセスメモリ）２２と、
（ｄ）例えばハードディスクメモリで構成され、入力パラメータのデータやシミュレーション結果のデータなどのデータを格納するデータメモリ２３と、
（ｅ）例えばハードディスクメモリで構成され、ＣＤ−ＲＯＭドライブ装置４５を用いて読みこんだ図６及び図７の故障検査処理のプログラムを格納するプログラムメモリ２４と、
（ｆ）所定のデータや指示コマンドを入力するためのキーボード４１に接続され、キーボード４１から入力されたデータや指示コマンドを受信して所定の信号変換などのインターフェース処理を行ってＣＰＵ２０に伝送するキーボードインターフェース３１と、
（ｇ）ＣＲＴディスプレイ４３上で指示コマンドを入力するためのマウス４２に接続され、マウス４２から入力されたデータや指示コマンドを受信して所定の信号変換などのインターフェース処理を行ってＣＰＵ２０に伝送するマウスインターフェース３２と、
（ｈ）ＣＰＵ２０によって処理されたデータや設定指示画面などを表示するＣＲＴディスプレイ４３に接続され、表示すべき画像データをＣＲＴディスプレイ４３用の画像信号に変換してＣＲＴディスプレイ４３に出力して表示するディスプレイインターフェース３３と、
（ｉ）ＣＰＵ２０によって処理されたデータ及び所定の故障検査結果などを印字するプリンタ４４に接続され、印字すべき印字データの所定の信号変換などを行ってプリンタ４４に出力して印字するプリンタインターフェース３４と、
（ｊ）図６及び図７の故障検査処理のプログラムが記憶されたＣＤ−ＲＯＭ４６から故障検査処理のプログラムのプログラムデータを読み出すＣＤ−ＲＯＭドライブ装置４５に接続され、読み出された故障検査処理のプログラムのプログラムデータを所定の信号変換などを行ってプログラムメモリ２４に転送するドライブ装置インターフェース３５と、
（ｋ）ＣＰＵ２０により発生された故障検査のための２値信号発生指示信号を受信して所定の信号形式に変換して信号発生回路５１に出力することにより、信号発生回路５１に上記２値信号の発生を指示する信号発生インターフェース３６と、
（ｌ）ＤＵＴ５０から出力される出力信号は信号検出回路５２により検出された出力信号を受信して所定の信号形式に変換してＣＰＵ２０に出力する信号検出インターフェース３７とを備え、
ここで、これらの回路２０−２４及び３１−３７はバス３０を介して接続される。
【００２８】
第１の実施形態では、隣接信号線の動的干渉を考慮した故障モデルを用いた故障検査方法について以下に説明する。まず、以下のように定義を行う。
【００２９】
（１）「故障信号線」の定義：故障を仮定する（故障回路において故障が存在する）信号線を故障信号線と呼ぶ。
（２）「信号線の信号変化」の定義：テスト対＜ｔｎ，ｔｎ＋１＞における信号線の信号変化は、立上り信号変化、立下り信号変化、及び固定値０又は１を考える。
（３）「隣接信号線」の定義：故障信号線ｖと信号線ｌの距離をＲｌｖとする。この距離Ｒｌｖが、設計パラメータで決定した配線間距離のしきい値Ｒ以下であるならば、その信号線を故障信号線ｖの隣接信号線ａｉとする。ここで、故障信号線ｖに対するｎ本の隣接信号線の集合ＡＬ（ｖ）を次式で表す。
【００３０】
［数１］
ＡＬ（ｖ）＝｛ａ１，ａ２，…，ａｎ｝      （１）
【００３１】
本実施形態では、故障励起関数ＥＸ（ＬＩ，ＰＩ，ＴＩ）によって、隣接信号線の動的干渉によって生じる故障信号線の論理値の変化を表す故障モデルとして、隣接信号線の動的な干渉を考慮した「動的故障モデル」を提案する。図２は図１のＤＵＴ５０の故障検査モデル回路の一例を示す斜視図及びブロック図である。図３は図２の故障検査モデル回路の縦断面図である。図２の故障検査モデル回路の一例では、ある点から半径Ｒの範囲の球内にある９本の信号線１１−１９のうち信号線１５において断線故障１５ｆが発生したことを仮定している。故障検査コントローラ１０により制御のもとで、信号発生回路５１は故障検査のための２値信号を発生してインバータＩ１−Ｉ３、アンドゲートＡ１−Ａ３及びナンドゲートＮ１−Ｎ３を介してＤＵＴ５０の動的故障モデル回路の各信号線１１−１９に印加し、これに応答して、各信号線１１−１９から出力される出力信号をインバータＩ１１−Ｉ１９を介して信号検出回路５２により検出してその検出結果を故障検査コントローラ１０に出力する。
【００３２】
本実施形態では、特に、回路のレイアウト情報、製造プロセス情報及びタイミング情報からなる「故障励起関数」によって、故障信号線における論理値の変化を故障信号線に接続するゲートの出力信号論理値の変化とその隣接信号線の論理値の変化で表現する故障モデルを提案する。ここで、故障励起関数を構成するレイアウト情報、製造パラメータ情報及びタイミング情報は、次の情報である。
【００３３】
（Ａ）レイアウト情報ＬＩ：
（１）故障信号線ｖとその隣接信号線ａｉの距離Ｒａｉ，ｖ（添字のａｉ，ｖは、故障信号線ｖとその隣接信号線ａｉとの関係を示し、以下同様の形式で示す。ただし、「，」を省略して表示する場合もある。）；
（２）故障信号線ｖとその隣接信号線ａｉの並走距離Ｌａｉｖ；
（３）故障信号線ｖとその隣接信号線ａｉの配線幅の比Ｗａｉｖ。
【００３４】
（Ｂ）製造パラメータ情報ＰＩ：
（４）故障信号線とその隣接信号線の配線層間距離Ｄａｉｖ；
（５）配線層間絶縁材料の誘電率などの電気的特性係数Ｐａｉｖ。
【００３５】
（Ｃ）タイミング情報ＴＩ：
（６）故障信号線に接続するゲートの出力信号論理値をＴＲｖ（ｔ）とする。ただし、故障信号線に信号変化が生じている場合は、その最終値をＴＲｖ（ｔ）とする。
（７）隣接信号線ａｉの信号における信号変化の方向（最終値）ＴＲａｉ（ｔ）；
（８）故障信号線の信号変化時刻と隣接信号線の信号変化時刻の差Ｔａｉｖ；
（９）故障信号線が隣接信号線における信号変化の動的干渉を受ける信号変化のタイミング窓Ｔｃ（図４及び図５参照。）。
【００３６】
隣接信号線の動的干渉を考慮した動的故障モデルにおいては、これらを考慮した故障励起関数に従って故障信号線の出力論理値を求める。故障信号線の論理値変化をＬＶｖ（ｔ＋Ｔｆ）とする。ただし、Ｔｆは、隣接信号線の信号変化による動的干渉によって故障信号線の論理値変化が生じている時間間隔を表す。提案する故障励起関数ＥＸ（ＬＩ，ＰＩ，ＴＩ）に基づいて、故障信号線の論理値変化ＬＶｖ（ｔ＋Ｔｆ）を求める。
【００３７】
次いで、本実施形態に係る故障励起関数ＥＸ（ＬＩ，ＰＩ，ＴＩ）の構成を次に示す。
【００３８】
（Ａ）レイアウト情報ＬＩ：
レイアウト情報ＬＩにおいては、隣接信号線ａｉの動的干渉によって故障信号線ｖが論理値変化を生じる条件（故障の励起条件）は、以下の条件である。
（条件１）配線間距離Ｒａｉｖの隣接信号線ａｉが半径Ｒ（配線間距離のしきい値（図２参照））の球内に含まれている。図２の動的故障モデルでは、信号線１１−１９が半径Ｒの球内に含まれている。
（条件２）並走距離Ｌａｉｖが並走距離のしきい値Ｌｅｆｆ以上である。図２の動的故障モデルでは、信号線１１−１６，１８−１９は条件２（Ｌｅ≧Ｌｅｆｆ）を満たしているが、信号線１７の並走距離はＬｇｅ＜Ｌｅｆｆであって条件２を満たさない。
（条件３）配線幅の比Ｗａｉｖ（＝Ｗｉｖ／Ｗａ）が配線幅比のしきい値Ｗｅｆｆ以上である。図２の動的故障モデルでは、Ｗｅｈ＝Ｗｈ／Ｗｅで表される。なお、各信号線１１−１９の導体高さはＤｍであり、高さ方向の導体間距離はＤｅｂ，Ｄｅｈである。
【００３９】
（Ｂ）製造パラメータ情報ＰＩ：
製造パラメータ情報ＰＩにおいて、故障信号線の存在する配線層と隣接信号線が存在する配線層の配線層間距離及び配線層間絶縁材料の誘電率に従って重み係数ＦＬ（ＰＩ）が決定される。
【００４０】
（Ｃ）タイミング情報ＴＩ：
タイミング情報ＴＩにおいては、隣接信号線の動的干渉による論理値変化の条件（故障の励起条件）は、以下の条件である。なお、Ｔｃは、図４及び図５に示すように、故障信号線が隣接信号線における信号変化の動的干渉を受ける時間の幅を動的干渉が生じる信号変化のタイミング窓の期間をいう。また、Ｔｆは、図４及び図５に示すように、隣接信号線の信号変化による動的干渉によって故障信号線の論理変化が生じている時間間隔をいう。
（条件４）故障信号線の信号変化時刻と隣接信号線の信号変化時刻の差Ｔａｉｖが、タイミング窓Ｔｃに含まれる。
（条件５）タイミング窓Ｔｃにおける、故障信号線の信号変化ＴＲｖ（Ｔｃ）の最終値とその隣接信号ａｉにおける信号変化ＴＲａｉ（Ｔｃ）の最終値は相補関係にある。
【００４１】
本実施形態においては、図１に示すように、テスト対の２値信号は故障検査コントローラ１０により制御のもとで故障検査テスタ装置１００により発生された後、詳細後述する故障検査モデル（図２）を用いる被検査回路デバイス（Device Under Test；以下、ＤＵＴという。）５０に入力されて、故障励起関数ＥＸ（ＬＩ，ＰＩ，ＴＩ）に従って故障信号線ｖにおいて生じる論理値変化ＬＶｖ（ｔ＋Ｔｆ）は求められる。ＤＵＴ５０からの出力２値信号に基づいて、故障検査テスタ装置１００はＤＵＴ５０の各信号線が故障であるか否かの判断を行ってその結果を出力する。
【００４２】
図４は図２の故障検査モデル回路において隣接信号線の立ち上がり信号変化の影響を示すタイミングチャートであり、図５は図２の故障検査モデル回路において隣接信号線の立ち下がり信号変化の影響を示すタイミングチャートである。図４及び図５において、Ｖ１１乃至Ｖ１８は各信号線１１−１８の信号変化を示しており、Ｖ１５０は隣接信号線からの動的信号変化の影響を受けない場合を示している。図４から明らかなように、隣接信号線の立ち上がり信号変化の影響を受けて、信号線１５の信号電圧Ｖ１５はタイミング窓Ｔｃの期間においてＬレベルからＨレベルに変化していることがわかる。また、図５から明らかなように、隣接信号線の立ち下がり信号変化の影響を受けて、信号線１５の信号電圧Ｖ１５はタイミング窓Ｔｃの期間においてＨレベルからＬレベルに変化していることがわかる。
【００４３】
図６及び図７は、図１の故障検査コントローラ１０によって実行される故障励起関数ＥＸ（ＬＩ，ＰＩ，ＴＩ）を用いた故障検査処理を示すフローチャートである。なお、ＤＵＴ５０におけるレイアウト情報ＬＩ、製造パラメータ情報ＰＩ及びタイミング情報ＴＩは予めデータメモリ２３に格納されている。
【００４４】
図６のステップＳ１において、まず、レイアウト情報ＬＩ、製造パラメータ情報ＰＩ及びタイミング情報ＴＩをデータメモリ２３から読み込み、ステップＳ２において各信号線ｌと故障信号線ｖの配線間距離Ｒｌｖが半径Ｒ（配線間距離のしきい値）の球内に含まれているか否かを判断することにより、含まれているとき、その信号線を故障信号線ｖの隣接信号線の集合ＡＬ（ｖ）＝｛ａ１，ａ２，…，ａｎ｝に登録する。次いで、ステップＳ３において故障励起関数ＥＸ（ＬＩ，ＰＩ，ＴＩ）を０にクリアした後、ステップＳ４において隣接信号線の集合ＡＬ（ｖ）＝｛ａ１，ａ２，…，ａｉ，…，ａｎ｝のうち１つの隣接信号線ａｉを選択する。そして、ステップＳ５において故障信号線ｖと選択された隣接信号線ａｉの並走距離Ｌａｉｖが並走距離のしきい値Ｌｅｆｆ以上であるか否かが判断され、ＹＥＳのときはステップＳ６に進む一方、ＮＯのときはステップＳ７に進む。ステップＳ６においてへ並走距離係数ＦＬ（Ｌａｉｖ）に１をセットした後、ステップＳ８に進む。一方、ステップＳ７において並走距離係数ＦＬ（Ｌａｉｖ）に０をセットした後、ステップＳ８に進む。
【００４５】
次いで、ステップＳ８において故障信号線ｖと選択された隣接信号線ａｉの配線幅の比（以下、配線幅比という。）Ｗａｉｖが配線幅比のしきい値Ｗｅｆｆ以上であるか否かが判断され、ＹＥＳのときはステップＳ９に進む一方、ＮＯのときはステップＳ１０に進む。ステップＳ９において配線幅比係数ＦＬ（Ｗａｉｖ）に１をセットした後、ステップＳ１１に進む。一方、ステップＳ１０において配線幅比係数ＦＬ（Ｗａｉｖ）に０をセットした後、ステップＳ１１に進む。
【００４６】
さらに、ステップＳ１１においてタイミング窓Ｔｃ内に故障信号線の信号変化時刻と隣接信号線の信号変化時刻の間の差の期間（すなわち、故障信号線の信号変化時刻から隣接信号線の信号変化時刻までの時間期間をいう。）Ｔａｉｖが含まれているか否かが判断され、ＹＥＳのときはステップＳ１２に進む一方、ＮＯのときはステップＳ１３に進む。ステップＳ１２において信号変化係数ＴＲａｉｖ（Ｔｃ）に１をセットした後、ステップＳ１４に進む。一方、ステップＳ１３において信号変化係数ＴＲａｉｖ（Ｔｃ）に０をセットした後、ステップＳ１４に進む。ステップＳ１４においてタイミング窓Ｔｃにおける、故障信号線の信号変化ＴＲｖ（Ｔｃ）とその隣接信号ａｉにおける信号変化ＴＲａｉ（Ｔｃ）の方向（最終値：信号変化の符号の変化方向をいう。）が同一であるか否かが判断され、ＹＥＳのときはステップＳ１５に進む一方、ＮＯのときは図７のステップＳ１６に進む。ステップＳ１５において信号変化係数ＴＲａｉｖ（Ｔｃ）に−１（信号の向きが同一であることを示す。）をセットした後、図７のステップＳ１６に進む。
【００４７】
ステップＳ１５の処理は以下の技術的意義を有する。上記条件５に記載されているように、タイミング窓Ｔｃにおける、故障信号線の信号変化ＴＲｖ（Ｔｃ）の最終値とその隣接信号ａｉにおける信号変化ＴＲａｉ（Ｔｃ）の最終値は相補関係にあることが、故障励起のために必要である。そのため、ステップＳ１４において信号変化の方向が同一であるか否かを調べ、故障信号線と隣接信号線の信号変化が同一であるならば、信号変換ＴＲａｉｖ（Ｔｃ）＝−１とする。このことは、故障信号線における故障の励起にはマイナスの作用となる。故障励起のプラスの作用は、故障信号線と隣接信号線の信号変化が異なることである。従って、図６のステップＳ１１、及びＳ１４におけるＮＯの判定で，ＴＲａｉｖ（Ｔｃ）＝１となる。
【００４８】
図７のステップＳ１６において故障信号線と隣接信号線の配線層間距離Ｄａｉｖと配線層間絶縁材料の誘電率等（動的故障に影響を与える絶縁材料の電気材料特性値）の電気的特性係数Ｐａｉｖの組合せに従って重み係数ＦＬ（ＰＩ）（０≦ＦＬ（ＰＩ）≦１）を決定する。ここで、重み係数ＦＬ（ＰＩ）は、故障信号線と隣接信号線の配線層間距離Ｄａｉｖと配線層間絶縁材料の誘電率等の電気的特性係数Ｐａｉｖの組合せに基づいて決定される、動的故障の発生しやすさを示す指標である。次いで、ステップＳ１７において故障励起関数ＥＸ（ａｉｖ）を次式（２）を用いて計算する。
【００４９】
［数２］
ＥＸ（ａｉｖ）
＝ＦＬ（Ｌａｉｖ）×ＦＬ（Ｗａｉｖ）×ＦＬ（ＰＩ）×ＴＲａｉｖ（Ｔｃ）
（２）
【００５０】
次いで、ステップＳ１８において故障励起関数ＥＸ（ＬＩ，ＰＩ，ＴＩ）に故障励起関数ＥＸ（ａｉｖ）を加算して、故障励起関数ＥＸ（ＬＩ，ＰＩ，ＴＩ）を更新した後、ステップＳ１９においてすべての隣接信号線について処理したか否かが判断され、ＹＥＳのときはステップＳ２０に進む一方、ＮＯのときは図６のステップＳ４に戻る。ステップＳ２０において故障信号線ｖ及びその隣接信号線の故障励起関数ＥＸ（ＬＩ，ＰＩ，ＴＩ）を隣接信号数Ｎで平均した値ＥＸＮ（ＬＩ，ＰＩ，ＴＩ）（＝ＥＸ（ＬＩ，ＰＩ，ＴＩ）／Ｎ）が故障励起のしきい値ＥＸＮｔｈを超えているか否かが判断され、ＹＥＳのときはステップＳ２１に進む一方、ＮＯのときはステップＳ２２に進む。ステップＳ２１において故障信号線ｖにおいて隣接信号線の影響による論理値変化が生じると判定して判定結果をデータメモリ２３に格納し、当該処理を終了する。一方、ステップＳ２２において故障信号線ｖにおいて隣接信号線の影響による論理値変化が生じないと判定して判定結果をデータメモリ２３に格納し、当該処理を終了する。
【００５１】
さらに、図２及び図３の動的故障モデルを用いた、図６及び図７の故障検査処理の数値実施例を以下に示す。
【００５２】
図６のステップＳ２において、レイアウト情報から図２に示すように故障信号線から半径Ｒの球内にすべての信号線を隣接信号線とする。ここでは、図２の故障信号線１５に対する隣接信号線の集合ＡＬ（ｖ）＝｛１１，１２，１３，１４，１６，１７，１８，１９｝を求める。次いで、ステップＳ４において隣接信号線の集合ＡＬ（ｖ）＝｛１１，１２，１３，１４，１６，１７，１８，１９｝から隣接信号線１１を選択する。ステップＳ５において故障信号線１５とその隣接信号線１１の並走距離Ｌ１１，１５がＬｅｆｆ（設計データから与えられる並走距離のしきい値）以上であるので、ＦＬ（Ｌ１１，１５）の値を１とする。また、ステップＳ８において、故障信号線１５とその隣接信号線１１との配線幅比Ｗ１１，１５がＷｅｆｆ（設計データから与えられる配線幅比のしきい値）以上であるので、ＦＬ（Ｗ１１，１５）の値を１とする。さらに、ステップＳ１１においてタイミング窓Ｔｃ内に故障信号線１５の信号変化時刻と隣接信号線の信号変化時刻の差Ｔａｅが含まれるので、信号変化係数ＴＲ１１，１５（Ｔｃ）の値を１とする。またさらに、ステップＳ１４においてタイミング窓Ｔｃにおける、故障信号線１５の信号変化ＴＲｅ（Ｔｃ）とその隣接信号線１１の信号ａｉにおける信号変化ＴＲａ（Ｔｃ）の方向（最終値）が異なるので、ＴＲ１１，１５（Ｔｃ）の値をそのままとして１とする。そして、図７のステップＳ１６において故障信号線１５と隣接信号線１１の配線層間距離Ｄ１１，１５と配線層間絶縁材料の誘電率などの電気的特性係数Ｐ１１，１５の組合せに従って重み係数ＦＬ（ＰＩ）を例えば０．５とする。ステップＳ１７において故障励起関数ＥＸ（１１，１５）を計算すると次式のようになる。
【００５３】
［数３］
ＥＸ（１１，１５）
＝ＦＬ（Ｌ１１，１５）×ＦＬ（Ｗ１１，１５）×ＦＬ（ＰＩ）×ＴＲａｅ（Ｔｃ）
＝１×１×０．５×１
＝０．５      （３）
【００５４】
そして、故障励起関数ＥＸ（ＬＩ，ＰＩ，ＴＩ））に０．５を加算した後、同様に処理を進めると以下のように結果が求められる。
【００５５】
［数４］
ＥＸ（１１，１５）
＝ＥＸ（１２，１５）＝ＥＸ（１３，１５）＝ＥＸ（１４，１５）＝０．５      （４）
［数５］
ＥＸ（１４，１５）＝ＥＸ（１６，１５）＝１      （５）
［数６］
ＥＸ（１９，１５）＝−０．５      （６）
［数７］
ＥＸ（１８，１５）＝０      （７）
［数８］
ＥＸＮ（ＬＩ，ＰＩ，ＴＩ）
＝（ＥＸ（１１，１５）＋ＥＸ（１２，１５）＋ＥＸ（１３，１５）＋ＥＸ（１４，１５）＋ＥＸ（１６，１５）＋ＥＸ（１７，１５）＋ＥＸ（１８，１５）＋ＥＸ（１９，１５））／８
＝０．３５      （８）
【００５６】
この故障励起関数の値ＥＸＮが故障励起のしきい値ＥＸＮｔｈ以上であるならば、故障信号線１５において論理値の変化が生じると判定する。
【００５７】
以上説明したように、本実施形態によれば、ＤＵＴ５０の回路レイアウト情報及びタイミング情報を利用した動的故障モデルによって、隣接信号線の動的干渉によって生じる故障信号線の論理値変化をより現実に近い形で扱うことができ、図２の動的故障モデルを用いて故障励起関数ＥＸ（ＬＩ，ＰＩ，ＴＩ）を計算し、これに基づいて、隣接信号線の動的干渉によって生じる故障信号線を検出する。従って、従来技術の故障検査方法において見逃す可能性がある故障を検出して診断でき、故障検査を高精度で行うことができ、故障検出率を大幅に向上できる。また、次世代ＬＳＩチップに対して最小コストで故障検査及び診断を行うことができる。さらに、故障検査処理を自動化、高速化でき、ＬＳＩチップ生産のためのＤＦＭ（Design For Manufacture）技術の発展を大幅に推進できる。
【００５８】
第２の実施形態．
図８は本発明の第２の実施形態に係る故障シミュレータ装置１００Ａの構成を示すブロック図である。第２の実施形態では、隣接信号線の動的な干渉を考慮した故障モデル（第１の実施形態）を利用して、故障の振る舞いを模擬する故障シミュレータ装置１００Ａを提案する。図８の故障シミュレータ装置１００Ａは故障シミュレーションコントローラ１０Ａを備えて構成され、図１の故障検査テスタ装置１００に比較して、以下の点が異なり、その他の構成は同様である。
（１）プログラムメモリ２４に、図９の故障シミュレーション処理のプログラムを格納し、これを実行すること。なお、ＣＤ−ＲＯＭ４６Ａに格納された図９の故障シミュレーション処理のプログラムをドライブ装置インターフェース３５を介してプログラムメモリ２４に格納してもよい。
（２）データメモリ２３には、上記故障シミュレーション処理のプログラムを実行するために必要なデータを予め格納すること。
【００５９】
第２の実施形態に係る、動的故障モデルに基づく故障シミュレータ装置１００Ａを利用することによって、与えられたテスト集合の動的故障の検出率を求めることができる。また、与えられたテスト集合によって検出できなかった故障の集合も求めることができる。以後、動的故障モデルに基づく故障シミュレータ装置を「動的故障シミュレータ」とも呼ぶ。
【００６０】
第２の実施形態において、動的故障シミュレータ装置１００Ａの入力情報（例えば、ＣＤ−ＲＯＭ４６Ａに格納された後、ＣＤ−ＲＯＭドライブ装置４５を介してデータメモリ２３に格納される。）は、
（１）ＤＵＴ５０の回路記述（電子回路の回路接続情報）と、
（２）ＤＵＴ５０の回路のレイアウト情報（平面及び断面における各サイズなど）と、
（３）ＤＵＴ５０を動作させたときの各信号のタイミング情報と、
（４）ＤＵＴ５０の各信号線の対象故障信号線リストと
（５）ＤＵＴ５０における全ゲートの出力信号線リストと、
（６）ＤＵＴ５０におけるテスト集合（それぞれテストすべき、ある第１の時刻から第２の時刻までの時間期間対（以下、テスト対という。）の集合を含む。）とを含む。
【００６１】
上記入力情報に基づいて故障シミュレーション処理を実行することにより、テスト集合の故障検出率（テスト集合によって検出可能な動的故障数と総故障数の割合）を求めることができる。また、動的故障シミュレータの入力情報が回路記述、回路のレイアウト情報、タイミング情報、対象故障、及びテスト集合の場合は、その故障の検出／非検出情報を求めることができる。
【００６２】
図９は図８の故障シミュレーションコントローラ１０Ａによって実行される故障シミュレーション処理を示すフローチャートである。
【００６３】
図９のステップＳ３１においてテスト集合から１つのテスト対＜ｔｉ，ｔｉ＋１＞を選択し、ステップＳ３２においてすべてのテスト対を選択したか否かが判断され、ＹＥＳのときはステップＳ４１に進む一方、ＮＯのときはステップＳ３３に進む。ステップＳ３３において、例えば特許文献１−４において開示された従来技術に係る論理シミュレーション方法を用いて、テスト対＜ｔｉ，ｔｉ＋１＞を利用した正常回路の論理シミュレーション（当該テスト対の期間において、各入力信号を変化させて当該回路が論理的に正常に動作するときの各出力信号の論理値（信号値）を得てデータメモリ２３に記録する。）を実行する。次いで、ステップＳ３４において、例えば特許文献６−７において開示された従来技術に係る縮退故障シミュレーション（各ゲートのノードのうちいずれか１つの箇所が電源電圧又は接地電位に固定されていると仮定して故障をシミュレーションする。）を行って、上記正常回路の論理シミュレーションにおけるテストｔｉ＋１によって設定された論理値の相補の値の影響が外部出力まで伝播するゲート出力線を求める。ステップＳ３５において求められたゲート出力線を動的故障シミュレーション対象故障信号線としてデータメモリ２３に記録し、ステップＳ３６において動的故障シミュレーション対象故障信号線の集合から１つのゲート出力線を選択する。そして、ステップＳ３７においてすべての故障出力線を選択したか否かが判断され、ＹＥＳのときはステップＳ３１に戻る一方、ＮＯのときはステップＳ３８に進む。
【００６４】
ステップＳ３８において選択した故障信号線の故障励起関数をその隣接信号線の論理値に従って計算し、第１の実施形態に係る故障検査処理を用いて、ステップＳ３９において故障励起可能か否かが判断され、ＹＥＳのときはステップＳ４０に進む一方、ＮＯのときはステップＳ３６に戻る。ステップＳ４０において当該故障出力線を「検出故障」（故障が検出された信号線情報）としてデータメモリ２３に記録した後、ステップＳ３６に戻り、上述の処理を繰り返す。すべてのテスト対を選択したときは（ステップＳ３２でＹＥＳ）、ステップＳ４１において与えられたテスト集合に対する故障検出率（テスト集合のすべてのテスト対に対する故障するテスト対の割合をいう。）及び未検出故障（故障が未検出である信号線情報）の集合を得てデータメモリ２３に記録した後、その結果をプリンタ４４に出力して印字し又はＣＲＴディスプレイ４３に出力して表示し、当該処理を終了する。
【００６５】
以上説明したように、本実施形態によれば、第１の実施形態に係る動的故障モデルを用いて、故障励起関数ＥＸ（ＬＩ，ＰＩ，ＴＩ）を計算し、これに基づいて、隣接信号線の動的干渉によって生じる故障励起をシミュレーションしてテスト集合に対する故障検出率及び故障が検出された信号線と故障が未検出の信号線の情報を得ることができる。従って、従来技術の故障シミュレーション方法において見逃す可能性がある故障を励起してシミュレーションでき、故障シミュレーションを高精度で行うことができ、故障検出率を高精度で計算できる。
【００６６】
第３の実施形態．
図１０は本発明の第３の実施形態に係る故障検査テスタ及びテスト生成装置１００Ｂの構成を示すブロック図である。第３の実施形態では、隣接信号線の動的な干渉を考慮した故障モデル（第１の実施形態）を利用して、ＤＵＴ５０に対して適切なテスト対（故障検査を行うときに用いる２値信号の時間期間の情報をいう。）のテストパターン信号（２値信号）を生成する故障検査テスタ及びテスト生成装置１００Ｂを提案する。図１０の故障検査テスタ及びテスト生成装置１００Ｂは故障検査テスタ及びテスト生成コントローラ１０Ｂを備えて構成され、図１の故障検査テスタ装置１００に比較して、以下の点が異なり、その他の構成は同様である。
（１）プログラムメモリ２４に、図１１のテスト生成処理のプログラムを格納し、これを実行すること。なお、ＣＤ−ＲＯＭ４６Ｂに格納された図１１のテスト生成処理のプログラムをドライブ装置インターフェース３５を介してプログラムメモリ２４に格納してもよい。
（２）データメモリ２３には、上記テスト生成処理のプログラムを実行するために必要なデータを予め格納すること。
【００６７】
図１１は図１０の故障検査テスタ及びテスト生成コントローラ１０Ｂによって実行されるテスト生成処理を示すフローチャートである。以下、第３の実施形態に係るテスト生成処理について説明する。この実施形態では、動的故障モデルを用いて隣接信号線の影響を考慮した故障励起関数に基づいてテスト対のテストパターン信号を生成するが、故障の励起条件及び故障の伝搬条件は、次のように定義できる。
【００６８】
入力テスト対のテストパターン信号が、以下の故障励起条件及び故障伝搬条件を満足するならば、その入力テストパターン信号は、動的故障に対するテストパターン信号である。動的故障モデルに基づく故障検出条件は、（Ａ）信号線ｖにおける動的故障の励起条件と、（Ｂ）信号線ｖにおける動的故障の伝搬条件とを含む。
【００６９】
（Ａ）信号線ｖにおける動的故障の励起条件：
動的故障モデルにおいて、入力テスト対のテストパターン信号の組合せに従って求められた故障信号線の論理値変化が、正常回路における信号値と相補の値である。ただし、故障信号線の論理値変化は、次式の故障励起関数ＥＸ（ＬＩ，ＰＩ，ＴＩ）を用いて求める。
【００７０】
［数９］
ＬＶｖ（ｔ＋Ｔｆ）＝ＥＸ（ＬＩ，ＰＩ，ＴＩ）      （９）
【００７１】
すなわち、ある時刻ｔから期間Ｔｆの間での論理値変化の故障励起割合を故障励起関数ＥＸ（ＬＩ，ＰＩ，ＴＩ）として用いている。
【００７２】
（Ｂ）信号線ｖにおける動的故障の伝搬条件：
故障信号線において励起した故障の影響がいずれかの外部出力まで伝搬する。
【００７３】
動的故障モデルに基づく故障の検出条件は、これまでに提案されている縮退故障モデル、ブリッジ故障モデル、クロストーク故障モデル、及び遅延モデルと異なる。従って、従来の故障モデルに対するテスト生成法によって生成されたテスト集合を利用した故障検査において見逃した物理的な欠陥を検出する可能性がある。従来は、既存の遷移遅延故障用自動テスト生成ツール（いわゆるＥＤＡ（Electric Design Automation）ツール）によって生成されたテスト集合が、遷移故障以外の欠陥にどの程度有効であるかを評価できなかった。本実施形態に係る提案する動的故障モデルに対するテストの条件を利用して、既存の遷移遅延故障用自動テスト生成ツール（例えば、特許文献８，９において開示されている故障検査方法を用いる。）によって生成されたテスト集合による動的故障検出率を評価できる。また、動的故障検出率に関する評価結果に従って、既存の遷移遅延故障用自動テスト生成ツールを利用して生成されたテスト集合によっては検出できなかった動的故障に対してテストを生成する。提案するテスト生成プログラムを利用することによって、所望の動的故障検出率とテスト総数の関係を調整しながら動的な故障に対するテスト対のテストパターン信号の生成を実行できる。
【００７４】
本実施形態に係る動的故障モデルに基づくテスト生成プログラムは、次の処理からなる。
（１）既存の遷移遅延故障用自動テスト生成ツールによって生成されたテスト集合で検出できなかった動的故障をテスト対のテストパターン信号の生成対象とする。
（２）未検出の動的故障をもつ信号線を選択し、その信号線の遷移故障（遷移故障とは、入力するテストパターン信号に対してその信号線において信号値が正しくない値に遷移する故障をいう。）に対するテスト対のテストパターン信号を求める。
（３）求めたテスト対のテストパターン信号に対して、選択した信号線の遷移故障を保証するように外部入力割り当てのドントケア（Don't Care）抽出を行う。
（４）ドントケアをもつ隣接信号線から外部入力側に後方追跡処理を行い、ドントケアをもつ外部入力のテストパターン信号に、動的故障の励起条件を満足するために必要な論理値を割り当てる。
（５）外部入力のテストパターン信号に割り当てた論理値に従って故障励起関数を計算する。その結果からテスト対象の信号線において動的故障の励起条件を満足すると判定されたならば、動的故障に対するテスト対のテストパターン信号を生成できる。
【００７５】
次いで、動的故障モデルに基づくテスト生成プログラムについて以下に説明する。入力情報及び出力情報は以下の通りである。
（Ａ）入力情報：設計・製造時に得られる被検査回路のレイアウト情報、製造プロセス情報及びタイミング情報；遷移故障用テスト集合、及びそのテスト集合において未検出な動的故障の集合；遷移故障テスト生成の上限値。
（Ｂ）出力情報：生成されたテスト対のテストパターン信号集合、及びそのテスト対集合において検出できた動的故障の信号線集合。
【００７６】
さらに、図１１を参照して、テスト生成処理について以下に説明する。まず、ステップＳ５１においてテスト生成回数Ｎｔを０にリセットし、ステップＳ５２において動的故障モデルを用いた動的故障に対するテスト対のテストパターン信号の生成対象となる故障信号線ｖとその隣接信号線の集合ＡＬ（ｖ）＝｛ａ１，ａ２，…，ａｎ｝などの入力情報のデータ（入力テストパターン信号）をデータメモリ２３から読み込む。次いで、ステップＳ５３においてテスト生成回数Ｎｔ＞Ｎｔｈであるか否かが判断され、ＹＥＳのときはステップＳ６４に進む一方、ＮＯのときはステップＳ５４に進む。ステップＳ５４において、故障信号線ｖに対する遷移故障テスト対のテストパターン信号を生成する。もし既存の遷移故障テスト集合（テストパターン信号の集合）が存在するならば、そのテスト集合から故障信号線ｖの遷移故障に対する遷移故障テスト対＜ｔｎ，ｔｎ＋１＞を選択する。そして、ステップＳ５５において故障信号線ｖに対する遷移故障を検出することを保証して、テストｔｎ＋１のテストパターン信号の外部入力割り当てのドントケアを抽出する。
【００７７】
次いで、ステップＳ５６において、ドントケアを含む、外部入力の割り当てに従って故障信号線ｖに対する遷移故障テスト対のテストパターン信号を用いて、出力側における信号線の論理値（信号値）を決定して、信号発生回路５１を用いてＤＵＴ５０にテストパターン信号を印加する。これに応答して、ステップＳ５７において、隣接信号線の集合ＡＬ（ｖ）＝｛ａ１，ａ２，…，ａｎ｝の信号線の論理値（信号値）を信号検出回路５２を用いて検出する。そして、ステップＳ５８において、論理値としてドントケアが割り当てられたすべての隣接線の隣接信号に対してテストｔｎのテストパターン信号によって割り当てられる論理値の相補の値を初期目標として、回路の外部入力側へ後方に追跡する。後方追跡の結果、外部入力のドントケアに論理値０又は１が割り当てられる。
【００７８】
ステップＳ５９において外部入力のドントケアに割り当てられた論理値（テストパターン信号）を用いて、外部出力側への信号値を決定し、ステップＳ６０において、新しく生成されたテスト対＜ｔｎ，ｔｎ＋１＞のテストパターン信号によって、故障信号線ｖの故障励起関数を計算する。そして、ステップＳ６１において故障信号線ｖの故障励起可能か否かが判断され、ＹＥＳのときはステップＳ６２に進む一方、ＮＯのときはステップＳ６３に進み、テスト生成回数Ｎｔを１だけインクリメントした後、ステップＳ５３に戻る。ステップＳ６２において故障信号線ｖの動的故障に対するテスト対＜ｔｎ，ｔｎ＋１＞のテストパターン信号を生成することに成功したと判断してその動的故障に対するテスト対＜ｔｎ，ｔｎ＋１＞のテストパターン信号の情報をデータメモリ２３に格納し、当該処理を終了する。なお、ステップＳ５３でＹＥＳであるとき、ステップＳ６４においてテスト対のテストパターン信号の生成を失敗したと判断し、当該処理を終了する。
【００７９】
以上説明したように、本実施形態によれば、第１の実施形態に係る動的故障モデルを用いて、故障励起関数ＥＸ（ＬＩ，ＰＩ，ＴＩ）を計算し、これに基づいて、隣接信号線の動的干渉によって生じる動的故障に対するテスト対のテストパターン信号を生成することができる。従って、従来技術のテスト生成方法に比較して高精度でテスト対のテストパターン信号を生成することができる。
【００８０】
第４の実施形態．
図１２は本発明の第４の実施形態に係る故障診断装置１００Ｃの構成を示すブロック図である。第４の実施形態では、
（ａ）ＤＵＴ５０に対する故障検査集合、フェイルテスト集合及びパステスト集合（各テストのテストパターン信号の集合）の情報６１と、
（ｂ）ＤＵＴ５０のレイアウト情報、製造パラメータ情報及びタイミング情報を含む情報６２と、
（ｃ）ＤＵＴ５０のネットリスト（回路の接続状態を表現したデータをいう。）の情報６３と
に基づいて、隣接信号線の動的な干渉を考慮した故障モデル（第１の実施形態）を利用して、ＤＵＴ５０における故障診断を適切に行う故障診断装置１００Ｃを提案する。図１２の故障診断装置１００Ｃは故障診断コントローラ１０Ｃを備えて構成され、図１の故障検査テスタ装置１００に比較して、以下の点が異なり、その他の構成は同様である。
（１）プログラムメモリ２４に、図１３乃至図１６の故障診断処理のプログラムを格納し、これを実行すること。なお、ＣＤ−ＲＯＭ４６Ｃに格納された図１３乃至図１６の故障診断処理のプログラムをドライブ装置インターフェース３５を介してプログラムメモリ２４に格納してもよい。
（２）データメモリ２３には、上記故障診断処理のプログラムを実行するために必要なデータ（上述の情報６１，６２，６３を含む。）を予め格納すること。
（３）信号発生インターフェース３６及び信号検出インターフェース３７を備えていないこと。
【００８１】
まず、故障診断装置１００Ｃにおける用語の定義をまず行う。故障検査においては、外部出力において誤りを観測した場合、その回路を故障回路と判定する。故障回路に対しては、故障の箇所を指摘するために故障診断を行う。
【００８２】
（Ａ）フェイルテスト及びパステストの定義：
テスト対＜ｔｎ，ｔｎ＋１＞のテストパターン信号が印加されたＤＵＴ５０の外部出力信号又はスキャンフリップフロップの出力信号において、少なくとも１つの出力応答の値が期待値と異なるとき、そのテスト対＜ｔｎ，ｔｎ＋１＞のテストパターン信号をＤＵＴ５０に対するフェイルテスト（又はフェイルテストのテストパターン信号）と呼び、そうでないとき、そのテスト対＜ｔｎ，ｔｎ＋１＞のテストパターン信号をＤＵＴ５０に対するパステスト（又はパステストのテストパターン信号）と呼ぶ。また、フェイルテストの集合をＴｆａｉｌと表し、パステストの集合をＴｐａｓｓと表す。
【００８３】
（Ｂ）検出／非検出情報の定義：
テスト対＜ｔｎ，ｔｎ＋１＞のテストパターン信号を利用した動的故障シミュレータ装置１００Ｂによって得られる検出／非検出情報は、そのテスト対＜ｔｎ，ｔｎ＋１＞のテストパターン信号が仮定した動的故障を検出できるか否かである。
（Ｃ）故障候補の定義：
故障診断結果からＤＵＴ５０内に存在すると推定された動的故障（例えば図２の信号線１１−１９のうちの動的故障を有する信号線１５をいう。）を「故障候補」と呼び、故障候補の集合をＣＦｓｅｔと表す。
【００８４】
本実施形態に係る故障診断プログラムは、これまでに提案されている縮退故障モデル、ブリッジ故障モデル、及び遅延故障モデルと異なって、動的故障モデルにおいては、故障信号線に対する隣接信号線の影響を考慮していることを特徴としている。従って、従来の故障モデルに対する故障診断法において見逃した物理的な欠陥を診断できる。動的故障に対する故障診断プログラムにおける入力情報及び出力情報は、それぞれ以下の通りである。
【００８５】
（Ａ）入力情報：
設計・製造時に得られるＤＵＴ５０のレイアウト情報、製造プロセス情報及びタイミング情報、テスト集合、診断対象の故障集合（ＤＵＴ５０のゲート出力信号の集合）。
（Ｂ）出力情報：
故障候補の集合及び故障候補の順位リスト。
【００８６】
図１３は図１２の故障診断コントローラ１０Ｃによって実行される故障候補の順位リスト生成出力処理を示すフローチャートである。本実施形態に係る動的故障に対する故障診断プログラムは以下の３つのフェーズによって構成される。
（１）ステップＳ７１：フェーズ１（フェイルテスト集合による検出／非検出情報に基づく故障候補の絞り込み処理）：テスト対＜ｔｎ，ｔｎ＋１＞∈Ｔｆａｉｌを用いてゲートの出力信号における動的故障の検出／非検出情報を求め、その結果に基づいて被検査回路に存在すると推定される故障を故障候補集合に加える。
（２）ステップＳ７２：フェーズ２（パステスト集合による検出／非検出情報に基づく故障候補の絞り込み処理）：フェーズ１の処理によって得られた故障候補に対して、テスト対＜ｔｎ，ｔｎ＋１＞∈Ｔｐａｓｓを用いて動的故障の検出／非検出情報を求め、その結果に基づいて被検査回路に存在しないと推定される故障を故障候補集合から取り除く。
（３）ステップＳ７３：フェーズ３（フェイルテスト集合による検出／非検出情報に基づく故障候補の順位付けリスト生成の処理）：テスト対＜ｔｎ，ｔｎ＋１＞∈Ｔｆａｉｌを用いてフェーズ２の処理によって得られた故障候補に対して、動的故障の検出／非検出情報による故障の検出回数を求める。その検出回数に基づいて故障候補を降順に並び替え、故障候補の順位付けを行う。
【００８７】
図１４は図１３のフェーズ１の処理（ステップＳ７１）を示すフローチャートである。まず、フェーズ１の処理（フェイルテスト集合による検出／非検出情報に基づく故障候補の絞り込み処理）について詳細説明する。この処理では、フェイルテスト集合による動的故障シミュレータの結果から得られた検出／非検出情報を利用して故障候補を削減するために次のことを考慮する。
【００８８】
考え方１：テスト対＜ｔｎ，ｔｎ＋１＞∈Ｔｆａｉｌにおいては、テスト対＜ｔｎ，ｔｎ＋１＞で検出できる動的故障は被検査回路に存在する可能性がある。
【００８９】
上記考え方１に基づくフェーズ１の診断手順を次に示す。
＞手順開始。
＞故障候補ＣＦｓｅｔの初期値は空である。対象とする故障はゲート出力線集合ｓｅｔＶとする。
＜ＳＳ１＞すべてのテスト対＜ｔｎ，ｔｎ＋１＞∈Ｔｆａｉｌに対してＳＳ２からＳＳ４の処理を行う。
＜ＳＳ２＞ゲート出力線集合（例えば、図２のインバータＩ１１−Ｉ１９の出力線の集合をいう。）ｓｅｔＶに未選択の故障信号線がなくなるまで、故障候補ＣＦｓｅｔに含まれない故障信号線Ｖｊ∈ｓｅｔＶに対してＳＳ３からＳＳ４の処理を行う。
＜ＳＳ３＞故障信号線Ｖｊに対して動的故障シミュレーションを行う。
＜ＳＳ４＞いずれかの外部出力信号線において、故障信号線Ｖｊの動的故障を検出したならば、この故障信号線Ｖｊを故障候補ＣＦｓｅｔに加える。
＞手順終了。
【００９０】
次いで、ステップＳ７１のフェーズ１の処理の具体例について図１４を参照して以下に説明する。
【００９１】
図１４のステップＳ８１において１つのフェイルテスト対＜ｔｎ，ｔｎ＋１＞（本実施形態においては、テスト対＜ｔｎ，ｔｎ＋１＞とはそのテストパターン信号をいう。）をフェイルテスト集合Ｔｆａｉｌから選択し、ステップＳ８２においてすべてのフェイルテスト対＜ｔｎ，ｔｎ＋１＞を選択したか否かが判断され、ＹＥＳのときは図１５のステップＳ９１に進む一方、ＮＯのときはステップＳ８２に進む。ステップＳ８３において診断対象のゲート出力線集合ｓｅｔＶから１つの故障信号線を選択し、ステップＳ８４においてすべてのゲート出力線を選択したか否かが判断され、ＹＥＳのときはステップＳ８１に戻る一方、ＮＯのときはステップＳ８５に進む。ステップＳ８５において選択した故障信号線に対して第２の実施形態に係る動的故障シミュレーションを行い、ステップＳ８６において故障信号線の故障は検出できたか否かが判断され、ＹＥＳのときはステップＳ８７に進む一方、ＮＯのときはステップＳ８３に戻る。ステップＳ８７において故障信号線を故障候補集合ＣＦｓｅｔへ登録し、ステップＳ８３に戻る。
【００９２】
図１５は図１３のフェーズ２の処理（ステップＳ７２）を示すフローチャートである。当該フェーズ２の処理（パステスト集合による検出／非検出情報に基づく故障候補の絞り込み処理）では、パステスト集合による動的故障シミュレーションの結果から得られた検出／非検出情報を利用して故障候補を削減するために次のことを考慮する。
【００９３】
考え方２：テスト対＜ｔｎ，ｔｎ＋１＞∈Ｔｐａｓｓにおいては、テスト対＜ｔｎ，ｔｎ＋１＞で検出できる動的故障は被検査回路に存在しない。
【００９４】
上記考え方２に基づくフェーズ２の診断手順を次に示す。
＞手順開始。
＞フェーズ１で推定された故障候補をＣＦｓｅｔとする。
＜ＳＳ１１＞すべてのテスト対＜ｔｎ，ｔｎ＋１＞∈Ｔｐａｓｓに対してＳＳ１２からＳＳ１４の処理を行う。
＜ＳＳ１２＞ＣＦｓｅｔに含まれる故障信号線Ｖｊ∈ＣＦｓｅｔを選択する。
すべての故障信号線を選択するまでＳＳ１２〜ＳＳ１４の処理を繰り返す。
＜ＳＳ１３＞故障信号線Ｖｊに対して第２の実施形態に係る動的故障シミュレーションを行う。
＜ＳＳ１４＞いずれかの外部出力信号線で故障信号線Ｖｊの故障信号値を検出したならば、この故障信号線Ｖｊを故障候補ＣＦｓｅｔから取り除く。
＞手順終了。
【００９５】
次いで、図１５のフェーズ２の処理について以下に詳細説明する。図１５のステップＳ９１において１つのパステスト対＜ｔｎ，ｔｎ＋１＞をパステスト対集合Ｔｐａｓｓから選択し、ステップＳ９２においてすべてのパステスト対＜ｔｎ，ｔｎ＋１＞を選択したか否かが判断され、ＹＥＳのときは図１６のステップＳ１０１に進む一方、ＮＯのときはステップＳ９３に進む。ステップＳ９３において故障候補集合ＣＦｓｅｔから１つの故障信号線を選択し、ステップＳ９４においてすべての故障候補を選択したか否かが判断され、ＹＥＳのときはステップＳ９４に進む一方、ＮＯのときはステップＳ９５に進む。ステップＳ９５において選択した故障信号線に対して第２の実施形態に係る動的故障シミュレーションを行う。そして、ステップＳ９６において故障信号線の故障は検出できたか否かが判断され、ＹＥＳのときはステップＳ９７に進む一方、ＮＯのときはステップＳ９３に戻る。ステップＳ９７において検出した故障信号線を故障候補集合ＣＦｓｅｔから削除し、ステップＳ９３に戻る。
【００９６】
図１６は図１３のフェーズ３の処理（ステップＳ７３）を示すフローチャートである。当該フェーズ３の処理（フェイルテスト集合による検出／非検出情報に基づく故障候補の絞り込み及び順位付け処理）では、フェイルテスト集合による動的故障シミュレーションの結果から得られた検出／非検出情報を利用して故障候補の順位を求める。この順位に基づいて故障候補を削減するために次のことを考慮する。
【００９７】
考え方３：テスト対＜ｔｎ，ｔｎ＋１＞∈Ｔｆａｉｌにおける検出回数に基づく順位の上位の故障候補に真の故障が含まれている。
【００９８】
上記考え方３に基づくフェーズ３の診断手順を次に示す。
＞手順開始。
＞フェーズ２の処理で推定された故障候補をＣＦｓｅｔとする。
＞すべての故障候補ＣＦｓｅｔの故障検出回数を０で初期化する。
＜ＳＳ２１＞すべてのテスト対＜ｔｎ，ｔｎ＋１＞∈Ｔｆａｉｌに対してＳＳ２２からＳＳ２４の処理を行う。
＜ＳＳ２２＞故障候補ＣＦｓｅｔから故障信号線Ｖｊを選択する。未選択な故障信号線がなくなるまでＳＳ２３からＳＳ２４の処理を行う。
＜ＳＳ２３＞故障信号線Ｖｊに対して第２の実施形態に係る動的故障シミュレーションを行う。
＜ＳＳ２４＞いずれかの外部出力信号線で故障信号線Ｖｊの故障信号値を検出したならば、この故障信号線Ｖｊの検出回数に１を加算する。
＜ＳＳ２５＞故障候補の検出回数に基づいて降順に故障候補を並べ替える。順位付けされた故障候補リストの集合を得る。
＞手順終了。
【００９９】
次いで、図１６のフェーズ３の処理について以下に詳細説明する。図１６のステップＳ１０１において１つのフェイルテスト対＜ｔｎ，ｔｎ＋１＞をフェイルテスト対集合Ｔｆａｉｌから選択し、ステップＳ１０２においてすべてのフェイルテスト対＜ｔｎ，ｔｎ＋１＞を選択したか否かが判断され、ＹＥＳのときはステップＳ１０８に進む一方、ＮＯのときはステップＳ１０３に進む。ステップＳ１０３において故障候補ＣＦｓｅｔから１つの故障信号線を選択し、ステップＳ１０４においてすべてのゲート出力線を選択したか否かが判断され、ＹＥＳのときはステップＳ１０１に戻る一方、ＮＯのときはステップＳ１０５に進む。ステップＳ１０５において選択した故障信号線に対して第２の実施形態に係る動的故障シミュレーションを行い、ステップＳ１０６において故障信号線の故障は検出できたか否かが判断され、ＹＥＳのときはステップＳ１０７に進む一方、ＮＯのときはステップＳ１０３に戻る。ステップＳ１０７において故障信号線の検出回数を１だけインクリメントし、ステップＳ１０３に戻る。ステップＳ１０８において故障信号線の検出回数に従って故障候補の順位付けしてその結果である故障候補の順位リストをデータメモリ２３に格納するとともにＣＲＴディスプレイ４３及びプリンタ４４に出力し、当該処理を終了する。
【０１００】
以上説明したように、本実施形態によれば、フェイルテスト集合Ｔｆａｉｌに対して第２の実施形態に係る動的故障シミュレーションを行い、パステスト集合Ｔｐａｓｓに対して第２の実施形態に係る動的故障シミュレーションを行うことにより、正確に故障候補の絞り込み処理を行って、故障候補の情報を得ることができる。さらに、各故障信号線の動的故障の検出回数に基づいて降順に故障候補を並べ替えることにより、順位付けされた故障候補リストの集合を得ることができる。本実施形態では、第１の実施形態に係る動的故障モデルを用いて、故障励起関数ＥＸ（ＬＩ，ＰＩ，ＴＩ）を計算し、これに基づいて、隣接信号線の動的干渉によって生じる動的故障シミュレーションを行っているので、従来技術のテスト生成方法に比較して高精度で故障シミュレーションを行うことができ、より正確に故障候補の絞り込みもできる。
【０１０１】
以上の第４の実施形態において、図１３に示すように、ステップＳ７１乃至Ｓ７３を実行しているが、本発明はこれに限らず、ステップＳ７１及びＳ７２のみを実行してもよい。
【産業上の利用可能性】
【０１０２】
以上詳述したように、本発明に係る故障推定装置及び方法によれば、被故障推定回路の回路レイアウト情報及びタイミング情報を利用した動的故障モデルによって、隣接信号線の動的干渉によって生じる故障信号線の論理値変化をより現実に近い形で扱うことができ、図２の動的故障モデルを用いて故障発生関数ＥＸ（ＬＩ，ＰＩ，ＴＩ）を計算し、これに基づいて、隣接信号線の動的干渉によって生じる故障信号線を検出する。従って、従来技術の故障推定方法において見逃す可能性がある故障を検出して診断でき、故障推定を高精度で行うことができ、故障検出率を大幅に向上できる。また、次世代ＬＳＩチップに対して最小コストで故障推定及び診断を行うことができる。さらに、故障推定処理を自動化、高速化でき、ＬＳＩチップ生産のための製造容易化設計技術の発展を大幅に推進できる。
【符号の説明】
【０１０３】
１０…故障検査コントローラ、
１０Ａ…故障シミュレーションコントローラ、
１０Ｂ…故障検査テスタ及びテスト生成コントローラ、
１０Ｃ…故障診断コントローラ、
１１乃至１９…信号線、
１５ｆ…断線故障、
２０…ＣＰＵ、
２１…ＲＯＭ、
２２…ＲＡＭ、
２３…データメモリ、
２４…プログラムメモリ、
３０…バス、
３１…キーボードインターフェース、
３２…マウスインターフェース、
３３…ディスプレイインターフェース、
３４…プリンタインターフェース、
３５…ドライブ装置インターフェース、
３６…信号発生インターフェース、
３７…信号検出インターフェース、
４１…キーボード、
４２…マウス、
４３…ＣＲＴディスプレイ、
４４…プリンタ、
４５…ＣＤ−ＲＯＭドライブ装置、
４６…ＣＤ−ＲＯＭ、
５０…被検査回路デバイス（ＤＵＴ）、
５１…信号発生回路、
５２…信号検出回路、
１００…故障検査テスタ装置、
１００Ａ…故障シミュレータ装置、
１００Ｂ…故障検査テスタ及びテスト生成装置、
１００Ｃ…故障診断装置、
Ａ１乃至Ａ３…アンドゲート、
Ｎ１乃至Ｎ３…ナンドゲート、
Ｉ１乃至Ｉ１９…インバータ。
【図１】
2010204107.tif 000003
【図２】
2010204107.tif 000004
【図３】
2010204107.tif 000005
【図４】
2010204107.tif 000006
【図５】
2010204107.tif 000007
【図６】
2010204107.tif 000008
【図７】
2010204107.tif 000009
【図８】
2010204107.tif 000010
【図９】
2010204107.tif 000011
【図１０】
2010204107.tif 000012
【図１１】
2010204107.tif 000013
【図１２】
2010204107.tif 000014
【図１３】
2010204107.tif 000015
【図１４】
2010204107.tif 000016
【図１５】
2010204107.tif 000017
【図１６】
2010204107.tif 000018
【手続補正書】
【提出日】平成22年7月27日(2010.7.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の信号線を含む被故障推定回路の各信号線の故障を推定する故障推定装置において、
上記被故障推定回路の故障推定対象の信号線において故障を仮定する故障信号線と、上記故障信号線から所定の範囲内にある少なくとも１つの隣接信号線との間のレイアウト情報、製造パラメータ情報及びタイミング情報に基づいて、上記故障信号線と上記各隣接信号線との間の所定の故障発生条件の適合結果を表す故障発生関数を用いて、上記故障信号線に関する故障発生関数の値を計算し、上記計算された故障発生関数の値に基づいて上記故障信号線において動的故障が発生したか否かを判断する制御手段を備え、
上記制御手段は、上記故障信号線と上記複数の隣接信号線との間の各故障発生関数の値の総和を計算し、上記計算された総和を上記隣接信号線の数で除算して故障発生関数の平均値を計算し、上記計算された故障発生関数の平均値が所定のしきい値以上であるか否かに基づいて上記故障信号線において動的故障が発生したか否かを判断し、
上記制御手段は、所定の複数のテスト期間を含むテスト対集合において上記被故障推定回路に対して各テスト対で正常回路の論理シミュレーションを行い、それにより得られた論理値の相補の値の影響が外部出力まで伝搬する信号線を求め、当該信号線を故障信号線として上記故障発生関数を用いて動的故障が発生したか否かを判断し、その結果を出力することを特徴とする故障推定装置。
【請求項２】
上記制御手段は、所定の複数のテスト期間を含む既存の遷移故障テスト対集合から上記被故障推定回路に対して故障信号線の動的故障が未検出である遷移故障テスト対を選択し、当該選択した故障信号線の遷移故障の検出を保証するように外部入力割り当てのドントケアの抽出を行い、上記ドントケアを有する隣接信号線から外部入力側に後方追跡処理を行い、上記ドントケアを有する外部入力に対して、上記故障発生関数を用いて動的故障が発生する信号値を割り当てることにより、上記テスト対のテストパターン信号を発生することを特徴とする請求項１記載の故障推定装置。
【請求項３】
上記制御手段は、
（Ａ）上記被故障推定回路に対するフェイルテスト集合の各フェイルテスト対において、
所定の診断対象の各信号線を故障信号線として、上記故障発生関数を用いて上記故障信号線において動的故障が発生したか否かを判断することにより動的故障が発生した故障信号線を故障候補の信号線として第１の絞り込み処理を行い、
（Ｂ）上記被故障推定回路に対するパステスト集合の各パステスト対において、上記故障候補の信号線に対して、上記故障発生関数を用いて上記故障信号線において動的故障が発生したか否かを判断することにより動的故障が発生した故障信号線を故障候補の信号線から削除する第２の絞り込み処理を行うことにより、故障候補の信号線の集合を生成することを特徴とする請求項１記載の故障推定装置。
【請求項４】
上記制御手段はさらに、
（Ｃ）上記第２の絞り込み処理後の故障候補の信号線の集合に対して、故障信号線の検出回数に従って、故障候補の順位付けリストを生成して出力することを特徴とする請求項３記載の故障推定装置。
【請求項５】
複数の信号線を含む被故障推定回路の各信号線の故障を推定する故障推定方法において、
上記被故障推定回路の故障推定対象の信号線において故障を仮定する故障信号線と、上記故障信号線から所定の範囲内にある少なくとも１つの隣接信号線との間のレイアウト情報、製造パラメータ情報及びタイミング情報に基づいて、上記故障信号線と上記各隣接信号線との間の所定の故障発生条件の適合結果を表す故障発生関数を用いて、上記故障信号線に関する故障発生関数の値を計算し、上記計算された故障発生関数の値に基づいて上記故障信号線において動的故障が発生したか否かを判断する制御ステップを含み、
上記制御ステップは、上記故障信号線と上記複数の隣接信号線との間の各故障発生関数の値の総和を計算し、上記計算された総和を上記隣接信号線の数で除算して故障発生関数の平均値を計算し、上記計算された故障発生関数の平均値が所定のしきい値以上であるか否かに基づいて上記故障信号線において動的故障が発生したか否かを判断し、
上記制御ステップは、所定の複数のテスト期間を含むテスト対集合において上記被故障推定回路に対して各テスト対で正常回路の論理シミュレーションを行い、それにより得られた論理値の相補の値の影響が外部出力まで伝搬する信号線を求め、当該信号線を故障信号線として上記故障発生関数を用いて動的故障が発生したか否かを判断し、その結果を出力するステップを含むことを特徴とする故障推定方法。
【請求項６】
上記制御ステップは、所定の複数のテスト期間を含む既存の遷移故障テスト対集合から上記被故障推定回路に対して故障信号線の動的故障が未検出である遷移故障テスト対を選択し、当該選択した故障信号線の遷移故障の検出を保証するように外部入力割り当てのドントケアの抽出を行い、上記ドントケアを有する隣接信号線から外部入力側に後方追跡処理を行い、上記ドントケアを有する外部入力に対して、上記故障発生関数を用いて動的故障が発生する信号値を割り当てることにより、上記テスト対のテストパターン信号を発生するステップを含むことを特徴とする請求項５記載の故障推定方法。
【請求項７】
上記制御ステップは、
（Ａ）上記被故障推定回路に対するフェイルテスト集合の各フェイルテスト対において、
所定の診断対象の各信号線を故障信号線として、上記故障発生関数を用いて上記故障信号線において動的故障が発生したか否かを判断することにより動的故障が発生した故障信号線を故障候補の信号線として第１の絞り込み処理を行い、
（Ｂ）上記被故障推定回路に対するパステスト集合の各パステスト対において、上記故障候補の信号線に対して、上記故障発生関数を用いて上記故障信号線において動的故障が発生したか否かを判断することにより動的故障が発生した故障信号線を故障候補の信号線から削除する第２の絞り込み処理を行うことにより、故障候補の信号線の集合を生成するステップを含むことを特徴とする請求項５記載の故障推定方法。
【請求項８】
上記制御ステップはさらに、
（Ｃ）上記第２の絞り込み処理後の故障候補の信号線の集合に対して、故障信号線の検出回数に従って、故障候補の順位付けリストを生成して出力するステップを含むことを特徴とする請求項７記載の故障推定方法。