(57)【要約】【課題】  遅延故障検査系列の品質をより高精度に評価することのできる遅延故障シミュレーション方法を提供する。【解決手段】  操作２１において、定義された遷移故障１〜６の重みを算出する。次に、操作２２において、故障検出率の分母を、遷移故障１〜６の重みの総和として計算する。次に、操作２３において故障シミュレーション操作を行う。次に、操作２４では、遷移故障１〜６の検出時の重みの総和を計算する。次に、操作２５では、操作２２の結果と操作２４の結果を用いて故障検出率を計算する。以上のようにして、遅延故障用の検査系列の品質を評価する際に、各遅延故障について、その遅延故障が故障シミュレーションによって検出された際の信号経路上の遅延値を重み付けすることによって、遅延故障検査系列の品質をより高精度に評価する。【選択図】        図２
2005346632.tif 000002
【特許請求の範囲】
【請求項１】
検査系列を用いて、定義された遅延故障に対する故障検出率を算出する遅延故障シミュレーション方法であって、故障シミュレーション手段と、定義された各々の遅延故障について第１の重みを計算する第１の重み付け手段と、前記故障シミュレーション手段によって前記遅延故障が検出された際に検出された前記遅延故障について第２の重みを計算する第２の重み付け手段と、定義された遅延故障の第１の重みの総量に対する、検出された前記遅延故障の第２の重みの総量の割合を故障検出率として計算する故障検出率計算手段とを備えた遅延故障シミュレーション方法。
【請求項２】
前記第１の重みとしては、前記遅延故障の定義箇所を通る信号経路のうち、遅延量が最大である信号経路の遅延量を用いる請求項１記載の遅延故障シミュレーション方法。
【請求項３】
前記第１の重みとしては、前記遅延故障の定義箇所を通る検査可能な最大遅延量をもつ信号経路の遅延値を用いる請求項１記載の遅延故障シミュレーション方法。
【請求項４】
前記第１の重み付け手段は、前記遅延故障の定義箇所を通る検査可能な最大遅延量をもつ信号経路を選択する最長信号経路選択手段を備える請求項１記載の遅延故障シミュレーション方法。
【請求項５】
前記第２の重みは、前記遅延故障の定義箇所を通る信号経路のうち、前記遅延故障が実際に検出された際に、遷移が伝搬した信号経路の遅延量を用いる請求項１記載の遅延故障シミュレーション方法。
【請求項６】
前記遅延量は、設計上の遅延値である請求項２、３、４または５記載の遅延故障シミュレーション方法。
【請求項７】
前記遅延量は、ゲート段数である請求項２、３、４または５記載の遅延故障シミュレーション方法。
【請求項８】
前記遅延量は、単位遅延である請求項２、３、４または５記載の遅延故障シミュレーション方法。
【請求項９】
前記遅延量は、ビアコンタクト数である請求項２、３、４または５記載の遅延故障シミュレーション方法。
【請求項１０】
前記故障シミュレーション手段は、前記遅延故障を検出するための検査系列を生成する検査系列生成手段を備え、前記検査系列生成手段で生成された検査系列を用いて故障シミュレーションを実行する請求項１記載の遅延故障シミュレーション方法。
【請求項１１】
前記検査系列生成手段は、前記遅延故障の定義箇所を通る検査可能な最大遅延量をもつ信号経路を選択する最長信号経路選択手段を備え、前記第１の重み付け手段は、各々の前記遅延故障に対して、前記最長信号経路選択手段によって選択された信号経路が変化した場合、最後に選択された信号経路の遅延量を用いる請求項１０記載の遅延故障シミュレーション方法。
【請求項１２】
前記第２の重み付け手段は、前記故障シミュレーション手段において同一の遅延故障が複数回検出された場合、前記遅延故障が検出された各信号経路のうち、最大の重みをもつ信号経路の重みを用いて重み付けを行う請求項１記載の遅延故障シミュレーション方法。
【請求項１３】
前記第２の重み付け手段は、前記故障シミュレーション手段において同一の遅延故障が複数回検出された場合、前記遅延故障が最初に検出された信号経路の重みを用いて重み付けを行う請求項１記載の遅延故障シミュレーション方法。
【請求項１４】
前記遅延故障は遷移故障である請求項１記載の遅延故障シミュレーション方法。
【請求項１５】
前記遅延故障はセグメント遅延故障である請求項１記載の遅延故障シミュレーション方法。
【請求項１６】
前記遅延量は、前記遅延故障の定義箇所を通る信号経路のタイミング設計上の要求値に対する、前記遅延故障の定義箇所を通る信号経路の設計上の遅延値の相対的な値である請求項２、３、４、または５記載の遅延故障シミュレーション方法。
【請求項１７】
前記遅延故障の定義箇所を通る信号経路のタイミング設計上の要求値は、前記遅延故障の定義箇所を通る信号経路のクロックレートである請求項１６記載の遅延故障シミュレーション方法。
【請求項１８】
前記遅延故障の定義箇所を通る信号経路のタイミング設計上の要求値は、前記遅延故障の定義箇所を通る信号経路がマルチサイクルパスである場合には、前記遅延故障の定義箇所を通る信号経路のクロックレートとマルチサイクル数の積である請求項１６記載の遅延故障シミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の遅延故障検査を行う際に使用する検査系列の故障検出率算出方法に関するものである。
【背景技術】
【０００２】
近年の半導体プロセスの微細化技術の急速な進歩によって、半導体集積回路の大規模化、複雑化が急激に進み、これに伴って半導体集積回路の検査がいっそう困難になっている。この問題に対処するため、半導体集積回路の検査を容易化する手段としてスキャン方式などによる検査容易化設計手法が普及し、縮退故障モデルで表される故障は効率的に検査できるようになった。縮退故障モデルで仮定された故障を検出する場合、故障検出の能力はクロック周波数に依存しないため、従来スキャンテストを実施する際には、一般的に実動作速度よりも低いクロック周波数を使って行われてきた。しかし、半導体プロセスの微細化の進行と共に、プロセスのばらつきが顕在化し、従来のスキャン方式を使った低いクロック周波数による検査だけでは十分に検査品質を保証することができなくなり、実動作時と同じクロック周波数を使った遅延故障検査技術のような、遅延を考慮した検査が必要とされるようになった。従来の遅延故障検査技術は「特開平９−２６９９５９号公報」などに開示されている。
【特許文献１】特開平９−２６９９５９号公報
【非特許文献１】Angela Kristic, Kwang-Ting (Tim) Cheng ”Delay Fault Testing for VLSI  Circuits".（出版社：Kluwer Academic Publishers、出版日：1998年9月1日、７７頁〜１００頁）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来は、定義された遅延故障に対する故障シミュレーションで検出された遅延故障の故障検出率を次のような計算式で算出していた。
故障検出率＝検出された遅延故障数／定義された全遅延故障数×１００［％］（式１）
しかしながら、従来用いていた故障検出率では、どの遅延故障も重要度が等しいと見なされるため、（式１）の故障検出率は検査系列の実際の故障検査に対する品質を十分に反映できていない、という問題があった。この問題を図を用いて具体的に説明する。
【０００４】
ここでは遅延故障の一例として信号線（またはゲート端子）上に大きな遅延が発生する遷移故障を例にとって説明を行う。
【０００５】
図１２は、２つの信号経路（１，２）の故障検査品質の違いを説明するための半導体集積回路の回路図である。符号ＦＦ１〜ＦＦ１０はフリップフロップを示し、符号Ｇ１〜Ｇ６はＡＮＤゲートを示し、符号ｎ１〜ｎ１５は信号線を示す。信号線ｎ１〜ｎ１５の傍に示した２ｎｓなどの値は、それぞれの信号線の遅延値を示す。またＡＮＤゲートＧ１〜Ｇ６はすべて同一の内部遅延値１ｎｓを持つものとする。さらには、フリップフロップＦＦ１〜ＦＦ１０はスキャン設計（図示していない）を施されており、遷移故障の検査はスキャン操作を用いて行うものとする。
【０００６】
図１３は、ある半導体集積回路上に定義した遷移故障の特徴を示すための図である。与えられた検査系列１〜３それぞれにおいて、遷移故障１〜６（検査系列２では遷移故障１、２、４のみ）が検出される。遷移故障１〜６の右側に示した矢印の長さと、その近傍に示した値は、各検査系列において各遷移故障が故障シミュレーションで検出された際の遷移が伝搬する信号経路の設計上の遅延値を示す。また太線の矢印は、検査系列１〜３において最大遅延値を持つ信号経路で故障が検出された際の遅延値を示す。また図の右側の点線は半導体集積回路の１クロックレートの値を表す。
【０００７】
以下、図１２、図１３を用いて従来の遅延故障検査系列の品質評価方法の問題点を説明する。
【０００８】
図１２において、信号線ｎ４に遷移故障を定義したものと仮定する。一般に、遷移故障を定義する箇所としては、主に信号線とゲートの端子の場合があるが、ここでは、信号線に対して遷移故障を定義する場合を取り上げて説明を行う。従来、遷移故障を検出する場合において、どの信号経路上で検出するかは区別しない。すなわち、ＦＦ４→ｎ１０→Ｇ３→ｎ４→Ｇ４→ｎ１４→ＦＦ８（信号経路１とする）の信号経路上に遷移を伝搬させてＦＦ８で（スキャン操作により）観測してもよいし、またＦＦ２→ｎ８→Ｇ１→ｎ２→Ｇ２→ｎ３→Ｇ３→ｎ４→Ｇ４→ｎ５→Ｇ５→ｎ６→Ｇ６→ｎ７→ＦＦ１０（信号経路２とする）の信号経路上に遷移を伝搬させてフリップフロップＦＦ１０で（スキャン操作により）観測してもよく、いずれの信号経路で故障が検出されても定義した遷移故障が検出されたことには変わりなく、したがって故障検出率も同等である。
【０００９】
一方、信号経路１の遅延値は６ｎｓであり、信号経路２の遅延値は１７ｎｓである。一般に、信号経路の設計上の遅延値が大きいほど（１クロックレートに近いほど）、この信号経路が遅延故障を生じる可能性が大きい。言い換えると、遷移が伝搬する信号経路の設計上の遅延値が大きいほど、遅延故障を検出できる可能性が大きい。したがって、従来の故障検出率算出方法では、遷移故障が信号経路１で検出された場合と、信号経路２で検出された場合とで全く同じ故障検出率となるため、故障検出率が検査系列の故障検査品質を正しく反映していない。
【００１０】
次に図１３において、検査系列１〜３において、遷移故障１〜６が検出された信号経路の最大遅延値を比較すると、遷移故障１の７ｎｓに対して、遷移故障６は２ｎｓであり、故障を検出する可能性は遷移故障１の方が遷移故障６よりも高いことは明らかである。しかし、従来は遷移故障１が１個検出された場合と遷移故障６が１個検出された場合の故障検出率は等しく、故障検出率が検査系列の故障検出品質を正しく反映していない。
【００１１】
さらには、もし定義された遷移故障が遷移故障１〜６の６個であった場合、検査系列１で故障シミュレーションを行った時点ですべての故障が検出されて、故障検出率は１００％となり、続いて検査系列２、３を故障シミュレーションしても故障検出率の変化はない。しかし実際には、検査系列２、３によって遷移故障１、３、４はより長い信号経路で故障検出が行われるため、検査系列１のみを使用するよりも、さらに検査系列２、３を追加した方が故障検査品質がより向上するのは明らかである。
【００１２】
したがって、従来の故障検出率算出方法では、故障検出率が検査系列の故障検査品質を正しく反映していないという問題があった。
【００１３】
本発明はこのような問題を解決するために、遅延故障検査系列の品質をより高精度に評価することのできる遅延故障シミュレーション方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記課題を解決するために、本発明の故障シミュレーション方法では、各遅延故障に対して、故障が検出された際の信号経路による故障検出能力の差を重みとして加えて故障検出率を計算する。故障検出能力としては、例えば、信号経路上の設計上の遅延値が考えられる。
【００１５】
このように、遅延故障用の検査系列の品質を評価する際に、故障検出能力を考慮することによって、例えば遅延故障が検出される際の信号経路上の設計上の遅延値を考慮することによって、遅延故障検査系列の品質をより高精度に評価することができるものである。
【００１６】
すわなち、本発明の故障シミュレーション方法は、検査系列を用いて、定義された遅延故障に対する故障検出率を算出する遅延故障シミュレーション方法であり、故障シミュレーション手段と、定義された各々の遅延故障について第１の重みを計算する第１の重み付け手段と、故障シミュレーション手段によって遅延故障が検出された際に検出された遅延故障について第２の重みを計算する第２の重み付け手段と、定義された遅延故障の第１の重みの総量に対する、検出された遅延故障の第２の重みの総量の割合を故障検出率として計算する故障検出率計算手段とを備えている。
【００１７】
この方法によれば、故障が検出された際の信号経路による故障検出能力の差を重みとして加えて故障検出率を計算するので、遅延故障検査系列の品質をより高精度に評価することができる。
【００１８】
上記の第１の重みとしては、遅延故障の定義箇所を通る信号経路のうち、遅延量が最大である信号経路の遅延量を用いることが好ましい。また、上記の第１の重みとしては、遅延故障の定義箇所を通る検査可能な最大遅延量をもつ信号経路の遅延値を用いてもよい。
【００１９】
上記第１の重み付け手段は、遅延故障の定義箇所を通る検査可能な最大遅延量をもつ信号経路を選択する最長信号経路選択手段を備えることが好ましい。
【００２０】
また、第２の重みは、遅延故障の定義箇所を通る信号経路のうち、遅延故障が実際に検出された際に、遷移が伝搬した信号経路の遅延量を用いることが好ましい。
【００２１】
また、信号経路の遅延量としては、例えば設計上の遅延値が使用される。なお、信号経路の遅延量としては、ゲート段数を使用してもよいし、単位遅延を使用してもよく、さらにビアコンタクト数であってもよい。
【００２２】
上記の故障シミュレーション手段は、遅延故障を検出するための検査系列を生成する検査系列生成手段を備え、検査系列生成手段で生成された検査系列を用いて故障シミュレーションを実行することが好ましい。
【００２３】
上記の検査系列生成手段は、遅延故障の定義箇所を通る検査可能な最大遅延量をもつ信号経路を選択する最長信号経路選択手段を備え、第１の重み付け手段は、各々の遅延故障に対して、最長信号経路選択手段によって選択された信号経路が変化した場合、最後に選択された信号経路の遅延量を用いることが好ましい。
【００２４】
また、上記の第２の重み付け手段は、故障シミュレーション手段において同一の遅延故障が複数回検出された場合、遅延故障が検出された各信号経路のうち、最大の重みをもつ信号経路の重みを用いて重み付けを行うことが好ましい。
【００２５】
上記の第２の重み付け手段は、故障シミュレーション手段において同一の遅延故障が複数回検出された場合、遅延故障が最初に検出された信号経路の重みを用いて重み付けを行ってもよい。
【００２６】
上記の遅延故障は例えば遷移故障、またはセグメント遅延故障である。
【発明の効果】
【００２７】
本発明の故障シミュレーション方法は、各遅延故障が検出された信号経路上の重み（遅延値など）を考慮することによって、個々の遅延故障の重要度を故障検出率に反映させることができるため、遅延故障検査系列の品質評価の精度を高めることができる。さらに述べると、実際に故障を発生する可能性が大きい遅延故障ほど故障検出率への影響度合いを大きくすることができる。すなわち、そのような故障が検出された場合には故障検出率向上の度合いが大きく、逆に検出されない場合の故障検出率低下の度合いも大きくすることができる。
【発明を実施するための最良の形態】
【００２８】
一般に使われている遅延故障のモデルとしては、主に遷移故障、セグメント遅延故障、パス遅延故障がある。このうち、遷移故障は特定の箇所で大きな遷移伝搬遅延が発生することによって遅延故障を生じる故障を表し、信号線またはゲートの端子に対して故障を定義する。
【００２９】
パス遅延故障はフリップフロップの出力または外部入力を始点とし、フリップフロップの入力または外部出力を終点とする信号伝搬経路上に、微小な遷移伝搬遅延が複数箇所存在することによって遅延故障を生じる故障を表し、信号伝搬経路全体に対して故障を定義する。またパス遅延故障は特定の箇所で大きな遷移伝搬遅延が発生することによって遅延故障も同時に検出できるという特徴を持つ。
【００３０】
セグメント遅延故障は両者の中間の特徴を持ち、信号伝搬経路の限られた一部の区間に微小な複数の遷移伝搬遅延が存在することによって遅延故障を生じる故障を表し、信号伝搬経路の一区間（連続する複数の信号線またはゲートの端子）に対して故障を定義する。またセグメント遅延故障は故障を定義した信号伝搬経路の一区間の特定の箇所で大きな遷移伝搬遅延が発生することによって遅延故障も同時に検出できるという特徴を持つ。
【００３１】
本明細書では、このうち遷移故障を例にとり、故障定義を信号線に対して行うものとして説明を行うが、遷移故障の代りにセグメント遅延故障を用いても同様の効果が得られ、また遷移故障の故障定義箇所も信号線の代りにゲートの端子であっても操作に本質的な違いはなく同様の効果が得られる。
【００３２】
図1は、本発明による故障シミュレーション方法における全体のデータの流れを示すフローチャートである。図１において、符号１は検査対象となる半導体集積回路の接続情報（ネットリスト）などからなる論理回路データを示し、符号２はレイアウトツールなどから出力される物理設計後の半導体集積回路内の設計上の遅延値である遅延情報を示し、符号３は故障シミュレーション対象となる遅延故障の故障リストを示し、符号４は故障シミュレーションに用いる検査系列集合を示し、符号５は故障シミュレーション全体操作を示し、符号６は故障シミュレーション全体操作の結果、出力される故障検出率を示す。
【００３３】
遅延故障リスト３の内容は、ここでは遷移故障１〜６の６個であるとする。また検査系列集合４は２時刻の検査系列からなる検査系列１〜３の３組の検査系列で構成されるものとする。
【００３４】
一般に１個の遅延故障を検査する場合、概念的には初期検査系列と遷移検査系列の連続する２つの検査系列からなる連続する２時刻分の検査系列を用いて検査を行う。スキャン設計が施された半導体集積回路にこの２時刻分の検査系列を適用する場合、スキャン操作を用いて２つの検査系列を半導体集積回路中の各フリップフロップへ与える際には、この２つの検査系列は同時に各フリップフリップへ与えられるため、実際には１つの検査系列と解釈することもできるが、いずれの解釈でも実質的な相違はないため、本明細書では、「１個の遅延故障を２時刻分の検査系列を用いて検査する」ものとする。
【００３５】
なお、遅延情報２、遅延故障リスト３、検査系列４は、故障シミュレーション全体操作５の入力として必ずしも必須のものではなく、故障シミュレーション全体操作５の中で新たに生成してもよい。例えば遅延情報２の物理設計後の詳細な遅延情報の代りに単位遅延（信号線、ゲート共に同一の最小遅延値を設定）を用いてもよく、また遅延故障リスト３を与える代りに、全信号線に対して故障定義を行ってもよい。また故障シミュレーション全体操作５の中に検査系列生成操作を持つ場合には、検査系列４を与える代わりに、検査系列生成操作によって検査系列を生成してもよい。
【００３６】
図２は、故障シミュレーション全体操作５のより詳細を示すフローチャートである。符号２１は各定義故障の重みを算出する操作を示し、符号２２は故障検出率の分母の値を計算する操作を示し、符号２３は定義された遷移故障に対して故障シミュレーションを行う操作を示し、符号２４は故障シミュレーション２３によって検出された故障について、故障が検出された信号伝搬経路の遅延値を用いて重みを算出する操作を示し、符号２５は故障検出率を計算する操作を示す。
【００３７】
操作２２では、各定義故障の重みの総和を故障検出率の分母として計算し、操作２５では、故障検出率を以下の計算式を使って計算するものとする。
｛（検出故障の重みの総和）／（定義故障の重みの総和）｝×１００［％］  （式２）
図３は、各定義故障の重みを算出する操作２１のより詳細を示すフローチャートである。符号３１は与えられた定義故障について未処理の故障の有無の判定を示し、符号３２は未処理の定義故障のうちの１個を選択する操作を示し、符号３３は選択した故障の定義箇所を通る最長信号経路を選択する操作を示し、符号３４は選択された最長信号経路の変数Ｄｆに格納された遅延値を選択された定義故障に対する重みとして決定する操作を示す。操作３３における最長信号経路の「最長」とは最大の遅延値をもつことを意味する。また操作３３では、選択された最長信号経路の遅延値を選択された定義故障に対する変数Ｄｆに書き込む操作も行う。
【００３８】
操作３３において、最長信号経路は、遅延情報２によって各信号線、各ゲートの詳細な遅延値がすべて与えられるため、最も大きな遅延値をもつ信号経路を選択することができる。この操作は、一般的な静的タイミング解析ツールによる解析結果を用いて実現してもよいし、または手作業または自動化されたプログラムによって選択してもよい。
【００３９】
図６は、遷移故障シミュレーション操作２３のより詳細を示すフローチャートである。符号６１は故障が検出された信号経路を検出経路と定義した場合に、各定義故障に対して設けられた、故障検出時の検出経路の遅延値を格納するための変数である検出経路遅延値の変数Ｄｄｆを初期化する操作を示し、符号６２は未処理の検査系列があるかどうかの判定を示し、符号６３は未処理の検査系列を使って故障シミュレーションする操作を示し、符号６４は故障シミュレーションにより検出された故障があるかどうかの判定を示し、符号６５は検出故障のうち未処理の故障があるかどうかの判定を示し、符号６６は未処理の検出故障を１個選択する操作を示し、符号６７は検出経路の遅延値が変数Ｄｄｆに格納されている値より大きいかどうかの判定を示し、符号６８は検出経路の遅延値を使って変数Ｄｄｆを更新する操作を示し、符号６９は各検出故障に対して、変数Ｄｄｆに格納されている遅延値を用いて重み付けする操作を示す。
【００４０】
図８は、遅延故障リスト３で与えられた遷移故障１〜６の定義箇所である信号線を通る最長信号経路の遅延値を示す。各遷移故障１〜６の右側に示された矢印の長さと値は、各々の遷移故障を通る最長信号経路の遅延値を表す。
【００４１】
図１０は、遷移故障１〜６の定義箇所である信号線を通る信号経路のうちの、実際に検査可能な信号経路のうち、最長の信号経路（検査可能最長信号経路と定義）の遅延値を示す。各遷移故障１〜６の右側に示された矢印の長さと値は、各々の遷移故障を通る検査可能最長信号経路の遅延値を表す。
【００４２】
図１４は、遅延故障リスト３で与えられた遷移故障１〜６の定義箇所である信号線を通る最長信号経路の遅延値を示したものであり、図中の図８と一致する記号は図８と同じものを示す。また図中の３本の点線は遷移故障１、３、４、５を通る信号経路に対するクロックレート（１０ｎｓ）、遷移故障２を通る信号経路に対するクロックレート（２ｎｓ）、遷移故障６を通る信号経路に対するクロックレート（５ｎｓ）の３種類のクロックレートのそれぞれの値を表す。なお、遷移故障２を通る最長信号経路は４マルチサイクルパスであり、そのタイミング設計上の要求値は２ｎｓ×４＝８ｎｓとなる。
【００４３】
図１５は、半導体集積回路上に定義した遷移故障の特徴を示すための図であり、図中の図１３と一致する記号は図１３と同じものを示す。また図中の３本の点線は遷移故障１、３、４、５を通る信号経路に対するクロックレート（１０ｎｓ）、遷移故障２を通る信号経路に対するクロックレート（２ｎｓ）、遷移故障６を通る信号経路に対するクロックレート（５ｎｓ）の３種類のクロックレートのそれぞれの値を表す。なお、遷移故障２を通る最長信号経路は図１４と同じく４マルチサイクルパスであり、そのタイミング設計上の要求値は２ｎｓ×４＝８ｎｓである。
【００４４】
以下、図１、図２、図３、図６、図８、図１０、図１３、図１４、図１５を使って本発明を実施するための第１の最良の形態を説明する。
【００４５】
まず与えられた論理回路データ１、遅延情報２、遅延故障リスト３（遷移故障１〜６を格納）、検査系列集合４を使って故障シミュレーション全体操作５を実行する。故障シミュレーション全体操作５では、まず操作２１において、定義された遷移故障１〜６の重みを算出する。より詳細には、まず操作３１において、遷移故障１〜６はすべて未処理なので操作３２へ進み、遷移故障１を選択する。次に操作３３では、遷移故障１の最長信号経路を選択する。同様に遷移故障２〜６について操作３１〜操作３３を繰返し、その結果、図８に示すような信号経路の選択が行われたものとする。次に操作３１において、未処理の故障がなくなると操作３４へ進む。ここでは、図８に示すように、遷移故障１〜６の最長信号経路の遅延値が、それぞれ９ｎｓ、８ｎｓ、１０ｎｓ、９ｎｓ、７ｎｓ、５ｎｓであるので、これらの遅延値を遷移故障１〜６の重みとして、遷移故障１〜６のそれぞれの変数Ｄｆに格納する。
【００４６】
次に操作２２において、故障検出率の分母を、遷移故障１〜６の重みの総和として計算する。すなわち、９ｎｓ＋８ｎｓ＋１０ｎｓ＋９ｎｓ＋７ｎｓ＋５ｎｓ＝４８ｎｓとなる。
【００４７】
次に操作２３において故障シミュレーション操作を行う。より詳細には、まず操作６１において、定義された遷移故障１〜６についてそれぞれの検出経路遅延値の変数Ｄｄｆを０ｎｓに初期化する。次に操作６２では、検査系列１〜３が未処理なので、操作６３で検査系列１を用いて故障シミュレーションを実行する。この結果、図１３に示すように遷移故障１〜６が検出されたものとする。次に操作６５では、遷移故障１〜６がすべて未処理なので、操作６６において遷移故障１を選択する。操作６７では、図１３より遷移故障１の検出経路の遅延値は４ｎｓであり、一方変数Ｄｄｆは０ｎｓであるので、次に操作６８において、変数Ｄｄｆを４ｎｓに更新する。遷移故障２〜６について、同様に操作６５〜６８を繰返し、遷移故障１〜６の変数Ｄｄｆはそれぞれ４ｎｓ、７ｎｓ、６ｎｓ、３ｎｓ、７ｎｓ、２ｎｓとなる。なお、図１３には図示されていないが、もし１つの検査系列において同一の遷移故障が複数の信号経路で検出された場合は、そのうちの最長の信号経路を処理対象とするものとする。次に操作６５では、未処理の故障がないので操作６２に進む。ここでは検査系列２、３が未処理なので、次に操作６３では検査系列２を用いて故障シミュレーションを実行する。この結果、図１３に示すように遷移故障１、２、４が検出されたものとする。次に操作６５では、遷移故障１、２、４が未処理なので、操作６６において遷移故障１を選択する。操作６７では、図１３より遷移故障１の検出経路の遅延値は７ｎｓであり、一方変数Ｄｄｆは４ｎｓであるので、次に操作６８において、変数Ｄｄｆを７ｎｓに更新する。続いて操作６５では、遷移故障２、４が未処理なので、操作６６において遷移故障２を選択する。操作６７では、図１３より遷移故障２の検出経路の遅延値は３ｎｓであり、一方変数Ｄｄｆは７ｎｓであるので、操作６５へ進む。続いて操作６５では、遷移故障４が未処理なので、操作６６において遷移故障４を選択する。操作６７では、図１３より遷移故障４の検出経路の遅延値は１ｎｓであり、一方変数Ｄｄｆは３ｎｓであるので、操作６５へ進む。次に操作６５では、未処理の故障がないので操作６２に進む。ここでは検査系列３が未処理なので、次に操作６３では検査系列３を用いて故障シミュレーションを実行する。この結果、図１３に示すように遷移故障１〜６が検出されたものとする。次に遷移故障１〜６について、同様に操作６５〜６８を繰返し、その結果、遷移故障３、４の変数Ｄｄｆがそれぞれ９ｎｓ、５ｎｓに更新される。次に操作６２では、未処理の検査系列がないので、最後に操作６９へ進む。ここでは遷移故障１〜６の変数Ｄｄｆに格納されている、それぞれ７ｎｓ、７ｎｓ、９ｎｓ、５ｎｓ、７ｎｓ、２ｎｓを、遷移故障１〜６の検出時の重みとする。
【００４８】
引き続いて操作２４では、遷移故障１〜６の検出時の重みの総和を計算し、その結果、７ｎｓ＋７ｎｓ＋９ｎｓ＋５ｎｓ＋７ｎｓ＋２ｎｓ＝３７ｎｓとなる。最後に操作２５では、操作２２の結果と操作２４の結果を用いて故障検出率を計算する。故障検出率は、（式２）に基づいて、（３７ｎｓ／４８ｎｓ）×１００［％］＝  ７７．１％となり、その結果が故障検出率６として出力される。
【００４９】
この結果を従来技術と比較すると、従来技術では図１３より、検査系列１で故障シミュレーションを行った段階で遷移故障１〜６がすべて検出されているため、（式１）より既に故障検出率は１００％である。しかし図１０と図１３の比較により、検査系列１〜３で検出された遷移故障１〜６の検出経路の遅延値は、遷移故障５を除いて、検査可能最長信号経路の遅延値よりも小さい。したがって、従来技術では実際よりも高い故障検出率が出力されるために、検査品質を実際より高く評価してしまうのに対し、本発明の故障シミュレーション方法で算出した故障検出率は、遷移故障の検出される検出経路の潜在的な最大遅延値に対する、実際の検出経路の遅延値の割合を使って故障検出率を計算するため、より精度の高い故障検出率を出力できる。
【００５０】
なお、操作２３の詳細である図６の方法の代りに、各遷移故障について故障シミュレーションにおいて最初に検出された際の検出経路の遅延値を重みとして用い、検出された故障を故障シミュレーション対象から除外すれば、故障シミュレーションの処理を高速化できるという利点が得られる。
【００５１】
また、上述の例では、重みとして設計上の遅延値を用いて説明を行ったが、タイミング設計上の要求値に対する、信号経路の設計上の遅延値の相対的な値を用いてもよい。一例として、クロックレート（１０ｎｓ）に対する各設計上の遅延値の比を用いることにより、分母の計算において、９ｎｓ／１０ｎｓ＋８ｎｓ／１０ｎｓ＋１０ｎｓ／１０ｎｓ＋９ｎｓ／１０ｎｓ＋７ｎｓ／１０ｎｓ＋５ｎｓ／１０ｎｓ＝０．９＋０．８＋１＋０．９＋０．７＋０．５＝４．８となる。一方、分子の計算においては、同様に０．７＋０．７＋０．９＋０．５＋０．７＋０．２＝３．７となる。以上の結果から故障検出率は（式２）に基いて、（３．７／４．８）×１００［％］＝  ７７．１％と計算され、上述の例と同じ結果が得られる。
【００５２】
また、図８、図１３の代わりにそれぞれ図１４、図１５を用いて、各遷移故障毎にタイミング要求値が異なる場合の例を説明すると、遷移故障１、３、４、５の重みの計算方法は、図８、図１３の場合において、信号経路の設計上の遅延値の相対的な値を用いて計算した上記の例と同一である。遷移故障２の場合、タイミング設計上の要求値は８ｎｓであるので、図１４より故障検出率の分母の重みは、８ｎｓ／８ｎｓ＝１である。また遷移故障６の場合、タイミング設計上の要求値は５ｎｓであるので、図１４より故障検出率の分母の重みは、５ｎｓ／５ｎｓ＝１である。したがって、故障検出率の分母の値は、９ｎｓ／１０ｎｓ＋８ｎｓ／８ｎｓ＋１０ｎｓ／１０ｎｓ＋９ｎｓ／１０ｎｓ＋７ｎｓ／１０ｎｓ＋５ｎｓ／５ｎｓ＝０．９＋１＋１＋０．９＋０．７＋１＝５．５となる。同様に遷移故障２、６の分子の重みは図１５より、７ｎｓ／８ｎｓ＝０．８７５、２ｎｓ／５ｎｓ＝０．４となるため、故障検出率の分子の値は、０．７＋０．８７５＋０．９＋０．５＋０．７＋０．４＝４．０７５となる。以上から故障検出率は（式２）に基いて、（４．０７５／５．５）×１００［％］＝  ７４．１％と計算され、各遷移故障毎に異なるタイミング要求値に応じた故障検出率を算出することができる。
【００５３】
図５は、操作２１のより詳細を示す図３とは別の形態のフローチャートである。符号３６は故障定義箇所を通る最長信号経路選択を行う操作を示し、符号３７は選択された最長信号経路で検査系列生成が可能であるかどうかの判定を示し、符号３８は他に未処理の信号経路があるかどうかの判定を示し、符号３９は選択された故障を定義故障から取り除く操作を示す。その他の図３と同一の記号は、図３の一致する操作を同じものを示す。操作３６では、最長信号経路選択を行う際に、処理済の信号経路がある場合、それを除いて未処理の信号経路中から最長の信号経路を選択するものとする。また操作３７は、ここでは検査系列生成操作を行うことによって実施するものとする。
【００５４】
以下、図１、図２、図５、図６、図１０、図１３を使って本発明を実施するための第２の最良の形態を説明する。
【００５５】
まず与えられた論理回路データ１、遅延情報２、遅延故障リスト３（遷移故障１〜６を格納）、検査系列集合４を使って故障シミュレーション全体操作５を実行する。故障シミュレーション全体操作５では、まず操作２１において、定義された遷移故障１〜６の重みを算出する。より詳細には、まず操作３１において、遷移故障１〜６はすべて未処理なので操作３２へ進み、遷移故障１を選択する。次に操作３６では、まず図３の操作３３と同様に遷移故障１の故障定義箇所を通る最長信号経路（９ｎｓの遅延値をもつ）を選択する。次に操作３７において選択された信号経路が検査系列生成可能かどうかを判定し、検査系列生成不能と判定されたとする。次に操作３８に進みまだ選択していない信号経路があるかどうかを判定し、他にあるとする。続いて再度操作３６を行い、まだ選択していない信号経路中から最長の信号経路（８ｎｓの遅延値をもつ）を選択する。次に操作３７において選択された信号経路が検査系列生成可能かどうかを判定し、検査系列生成可能と判定されたとする。次に操作３１へ進み遷移故障２〜６について同様の操作を繰返し、各故障について図１０に示すような信号経路が選択されたとする。以上の操作で選択された信号経路の遅延値は、遷移故障１〜６のそれぞれにおいて実際に故障検出できる信号経路の最大遅延値を示す。次に操作３１において、未処理の故障がなくなると操作３４へ進む。ここでは、図１０に示すように、遷移故障１〜６の信号経路の遅延値が、それぞれ８ｎｓ、７ｎｓ、９ｎｓ、７ｎｓ、７ｎｓ、３ｎｓであるので、これらの遅延値を遷移故障１〜６の重みとして、遷移故障１〜６のそれぞれの変数Ｄｆに格納する。
【００５６】
次に操作２２において、故障検出率の分母を、遷移故障１〜６の重みの総和として計算する。すなわち、８ｎｓ＋７ｎｓ＋９ｎｓ＋７ｎｓ＋７ｎｓ＋３ｎｓ＝４１ｎｓとする。残りの操作は本発明を実施するための第１の最良の形態と同じであり、操作２４では、遷移故障１〜６の検出時の重みの総和は３７ｎｓとなるため、操作２５では、操作２２の結果と操作２４の結果を用いて故障検出率を計算する。故障検出率は、（式２）に基づいて、（３７ｎｓ／４１ｎｓ）×１００［％］＝  ９０．２％となり、その結果が故障検出率６として出力される。
【００５７】
この結果を従来技術と比較すると、従来技術では図１３より、検査系列１で故障シミュレーションを行った段階で遷移故障１〜６がすべて検出されているため、（式１）より既に故障検出率は１００％である。しかし図１０と図１３との比較により、検査系列１〜３で検出された遷移故障１〜６の検出経路の遅延値は、遷移故障５を除いて、検査可能最長信号経路の遅延値よりも小さい。したがって、従来技術では実際よりも高い故障検出率が出力されるために、検査品質を実際より高く評価してしまうのに対し、本発明の故障シミュレーション方法で算出した故障検出率は、実際に遷移故障が検出可能な検出経路の最大遅延値に対する、実際の検出経路の遅延値の割合を使って故障検出率を計算するため、より精度の高い故障検出率を出力できる。
【００５８】
また本発明を実施するための第１の最良の形態において、故障検出率の分母を計算する際に用いた最長信号経路は、図８と図１０の比較で示されるように実際には検査不能であることがあるため、本発明を実施するための第１の最良の形態で算出された故障検出率は、どれだけ検査系列を与えても故障検出率が１００％に到達しない場合がある、という意味で悲観的な故障検出率となるが、本発明を実施するための第２の最良の形態で算出される故障検出率は、理論的に１００％まで達成可能なものであり、本発明を実施するための第１の最良の形態よりも、さらに精度が高いと言える。
【００５９】
さらには、上述の例では、重みとして設計上の遅延値を用いて説明を行ったが、タイミング設計上の要求値に対する、信号経路の設計上の遅延値の相対的な値（例えばクロックレート１０ｎｓに対する各設計上の遅延値の比）を用いても同様の効果が得られることは明らかである。
【００６０】
図４は、操作２１のより詳細を示す図３、図５とは別の形態のフローチャートである。符号３５は、故障定義箇所を通る検査可能準最長信号経路選択を行う操作を示し、その他の図３と同一の記号は、図３の一致する操作と同じものを示す。ここで、検査可能準最長信号経路選択とは、実際に検査系列生成操作を行わない簡易的な操作で図５における操作３６〜３８と類似の操作により、故障定義箇所を通る検査可能な最長信号経路選択を行うことを示す。この操作はより詳細には「A.Murakami, S.Kajihara, T.Sasao, I.pomeranz and S.M.Reddy, "Selection of Potentially Testable Path Delay Faults for Test generation," International Test Conf., pp.376-384, Oct.2000.」に示されている方法などを使用することで求められる。「準最長」と呼んでいるのは、操作３５で選択した検査可能最長信号経路は、実際には検査不能な場合があるためであるが、前述の文献により多くの場合において、選択された検査可能準最長信号経路と実際の検査可能最長信号経路は一致することが証明されている。
【００６１】
図９は、遷移故障１〜６の定義箇所である信号線を通る信号経路のうちの、操作３５で選択した検査可能準最長信号経路の遅延値を示す。各遷移故障１〜６の右側に示された矢印の長さと値は、各々の遷移故障を通る検査可能準最長信号経路の遅延値を表す。
【００６２】
以下、図１、図２、図４、図６、図９、図１０、図１３を使って、本発明を実施するための第３の最良の形態を説明する。
【００６３】
まず与えられた論理回路データ１、遅延情報２、遅延故障リスト３（遷移故障１〜６を格納）、検査系列集合４を使って故障シミュレーション全体操作５を実行する。故障シミュレーション全体操作５では、まず操作２１において、定義された遷移故障１〜６の重みを算出する。より詳細には、まず操作３１において、遷移故障１〜６はすべて未処理なので操作３２へ進み、遷移故障１を選択する。次に操作３５では、遷移故障１の検査可能準最長信号経路を選択する。同様に遷移故障２〜６について操作３１、操作３２、操作３５を繰返し、その結果、図９に示すような信号経路の選択が行われたものとする。次に操作３１において、未処理の故障がなくなると操作３４へ進む。ここでは、図９に示すように、遷移故障１〜６の検査可能最長信号経路の遅延値が、それぞれ８ｎｓ、８ｎｓ、１０ｎｓ、８ｎｓ、７ｎｓ、４ｎｓであるので、これらの遅延値を遷移故障１〜６の重みとして、遷移故障１〜６のそれぞれの変数Ｄｆに格納する。
【００６４】
次に操作２２において、故障検出率の分母を、遷移故障１〜６の重みの総和として計算する。すなわち、８ｎｓ＋８ｎｓ＋１０ｎｓ＋８ｎｓ＋７ｎｓ＋４ｎｓ＝４５ｎｓとなる。以降の操作は、本発明を実施するための第１の最良の形態と同様であり、操作２４では、遷移故障１〜６の検出時の重みの総和は３７ｎｓとなるため、操作２５では、操作２２の結果と操作２４の結果を用いて故障検出率を計算する。故障検出率は、（式２）に基づいて、（３７ｎｓ／４５ｎｓ）×１００［％］＝  ８２．２％となり、その結果を故障検出率６として出力される。
【００６５】
この結果を従来技術と比較すると、従来技術では図１３より、検査系列１で故障シミュレーションを行った段階で遷移故障１〜６がすべて検出されているため、（式１）より既に故障検出率は１００％である。しかし図１０と図１３の比較により、検査系列１〜３で検出された遷移故障１〜６の検出経路の遅延値は、遷移故障５を除いて、検査可能最長信号経路の遅延値よりも小さい。したがって、従来技術では実際よりも高い故障検出率が出力されるために、検査品質を実際より高く評価してしまうのに対し、本発明の故障シミュレーション方法で算出した故障検出率は、実際に遷移故障が検出可能である確率の高い検出経路の最大遅延値に対する、実際の検出経路の遅延値の割合を使って故障検出率を計算するため、より精度の高い故障検出率を出力できる。
【００６６】
また操作３５で選択された検査可能準最長信号経路は、図９と図１０の比較で示されるように、実際には検査不能である場合があるため、本発明を実施するための第１の最良の形態と同様にどれだけ検査系列を与えても故障検出率が１００％に到達しない場合がある、という意味で悲観的な故障検出率となる問題があるが、本発明を実施するための第１の最良の形態よりも１００％に近い故障検出率まで到達可能であるため、本発明を実施するための第１の最良の形態よりも高精度と言える。
【００６７】
さらには、操作３５は、操作３６〜３８に較べて非常に短い計算時間で実行可能であり、かつ故障検出率も本発明を実施するための第２の最良の形態で得られる故障検出率に近く、本発明を実施するための第１の最良の形態よりも高精度である。したがって、実行時間とで故障検出率精度のトレードオフが優れている。
【００６８】
なお、上述の例では、重みとして設計上の遅延値を用いて説明を行ったが、タイミング設計上の要求値に対する、信号経路の設計上の遅延値の相対的な値（例えばクロックレート１０ｎｓに対する各設計上の遅延値の比）を用いても同様の効果が得られることは明らかである。
【００６９】
図７は、遷移故障シミュレーション操作２３のより詳細を示す図６とは別の実現例のフローチャートである。符号７２は未検出の故障があるかどうかの判定を示し、符号７３は未処理の故障を１個選択する操作を示し、符号７４は選択した故障の故障定義箇所を通る最長信号経路を選択する操作を示し、符号７５は選択された最長信号経路に対して検査系列を生成する操作を示し、符号７６は検査系列生成が成功したかどうかの判定を示し、符号７７は他の未処理の信号経路があるかどうかの判定を示し、符号７８は検査系列が生成された際の故障検出経路の遅延値が変数Ｄｆより小さいかどうかの判定を示し、符号７９は変数Ｄｆを更新する操作を示し、符号８０は故障検出率の分母を再計算する操作を示す。その他の図６と同一の記号は、図６の一致する操作と同じものを示す。
【００７０】
図１１は、遷移故障１〜６が検査系列Ａ、Ｂのそれぞれによる故障シミュレーションで検出された際の、検出経路の遅延値を示す図である。与えられた検査系列Ａ、Ｂそれぞれにおいて、遷移故障１〜６（検査系列Ａでは遷移故障１、２、４のみ）が検出される。遷移故障１〜６の右側に示した矢印の長さと、その近傍に示した値は、各検査系列において各遷移故障が故障シミュレーションで検出された際の遷移が伝搬する信号経路の設計上の遅延値を示す。また太線の矢印は、検査系列Ａ、Ｂにおいて最大遅延値を持つ信号経路で故障が検出された際の遅延値を示す。また図の右側の点線は半導体集積回路の１クロックレートの値を表す。
【００７１】
以下、図１、図２、図３、図７、図８、図１１、図１３を使って、本発明を実施するための第４の最良の形態を説明する。
【００７２】
まず与えられた論理回路データ１、遅延情報２、遅延故障リスト３（遷移故障１〜６を格納）、検査系列集合４を使って故障シミュレーション全体操作５を実行する。故障シミュレーション全体操作５において、操作２１では、より詳細には図３の方法を用いて、本発明を実施するための第１の最良の形態と同様に実施する。また操作２２についても本発明を実施するための第１の最良の形態と同様である。次に操作２３において故障シミュレーション操作２３を行う。より詳細には、まず操作６１において、定義された遷移故障１〜６についてそれぞれの検出経路遅延値の変数Ｄｄｆを０ｎｓに初期化する。次に操作７２では遷移故障１〜６がすべて未検出なので、操作７３で遷移故障１を選択する。次に選択した遷移故障１を通る最長信号経路を選択する。この操作は、操作３６と同様に一般的な静的タイミング解析ツールによる解析結果を用いて実現してもよいし、または手作業または自動化されたプログラムによって選択してもよい。図８に示すように、遷移故障１を通る最長の信号経路は９ｎｓの信号経路であり、これが選択される。引き続いて操作７５で検査系列生成を行うが、失敗したものとする。次に操作７７において、他の未処理の信号経路があると判定され、続いて操作７４へ進む。ここでは未処理の信号経路のうちから最長の信号経路を選択し、８ｎｓの信号経路が選択されたものとする。続いて操作７５で検査系列生成が成功したものとする。このとき生成された検査系列を検査系列Ａとする。次に操作７６の判定により操作７８へ進み、操作７６において検査系列生成された信号経路の遅延値と遷移故障１の変数Ｄｆに格納されている値との比較を行う。遷移故障１の変数Ｄｆは、操作３４によって図８に示されるように９ｎｓが格納されている。したがって、ここでは検査系列が生成された信号経路の遅延値が８ｎｓであり、変数Ｄｆより小さいので、次に操作７９において、変数Ｄｆを８ｎｓに更新する。
【００７３】
引き続いて操作６３では、操作７５で生成された検査系列Ａを用いて故障シミュレーションを実行する。この結果、図１１に示すように遷移故障１、２、４が検出された。次に操作６４では、検出故障があるため、操作６５へ進む。ここでは、遷移故障１、２、４がいずれも未処理であるので、次に操作６６において、遷移故障１を選択する。次に操作６７では、遷移故障１の検出経路の遅延値は、図１１に示されるように８ｎｓであり、また変数Ｄｄｆの値は０ｎｓであるので、次に操作６８において、変数Ｄｄｆの値を８ｎｓへ更新する。遷移故障２、４についても、同様に操作６５〜６８を繰り返し、その結果、遷移故障２、４の変数Ｄｄｆはそれぞれ３ｎｓ、１ｎｓとなる。次に操作６５では、未処理の故障がないので、操作７２へ戻る。
【００７４】
操作７２では、遷移故障３、５、６が未検出なので、操作７３において遷移故障３を選択する。次に選択した遷移故障３を通る最長信号経路を選択する。図８に示すように、遷移故障３を通る最長の信号経路は１０ｎｓの信号経路であり、これが選択される。引き続いて操作７５で検査系列生成を行うが、失敗したものとする。次に操作７７において、他の未処理の信号経路があると判定され、続いて操作７４へ進む。ここでは未処理の信号経路のうちから最長の信号経路を選択し、９ｎｓの信号経路が選択されたものとする。続いて操作７５で検査系列生成が成功したものとする。このとき生成された検査系列を検査系列Ｂとする。次に操作７６の判定により操作７８へ進み、操作７６において検査系列生成された信号経路の遅延値と遷移故障３の変数Ｄｆに格納されている値との比較を行う。遷移故障３の変数Ｄｆは、操作３４によって図８に示されるように１０ｎｓが格納されている。したがって、ここでは検査系列生成された信号経路の遅延値が９ｎｓであり、変数Ｄｆより小さいので、次に操作７９において、変数Ｄｆを９ｎｓに更新する。
【００７５】
引き続いて操作６３では、操作７５で生成された検査系列Ｂを用いて故障シミュレーションを実行する。この結果、図１１に示すように遷移故障１〜６が検出された。次に操作６４では、検出故障があるため、操作６５へ進む。ここでは、遷移故障１〜６がいずれも未処理であるので、次に操作６６において、遷移故障１を選択する。次に操作６７では、遷移故障１の検出経路の遅延値は、図１１に示されるように６ｎｓであり、また変数Ｄｄｆの値は８ｎｓであるので、次に操作６５へ戻る。ここでは、遷移故障２〜６がまだ未処理であるので、次に操作６６において、遷移故障２を選択する。次に操作６７では、遷移故障２の検出経路の遅延値は、図１１に示されるように５ｎｓであり、また変数Ｄｄｆの値は３ｎｓであるので、操作６８において変数Ｄｄｆの値を５ｎｓへ更新する。以下、残りの遷移故障３〜６についても、同様に操作６５〜６８を繰り返し、その結果、遷移故障３〜６の変数Ｄｄｆはそれぞれ９ｎｓ、５ｎｓ、４ｎｓ、１ｎｓとなる。次に操作６５では、未処理の故障がないので、操作７２へ戻る。
【００７６】
次に操作８０では、操作２２で計算された故障検出率の分母の値を再計算する。遷移故障１、３の変数Ｄｆの値は操作２２の時点では、それぞれ９ｎｓ、１０ｎｓであるが、上記操作によって、遷移故障１、３の変数Ｄｆの値はそれぞれ８ｎｓ、９ｎｓへ更新されている。この最新の変数Ｄｆの値を用いて、故障検出率の分母の値を再計算する。すなわち、８ｎｓ＋８ｎｓ＋９ｎｓ＋９ｎｓ＋７ｎｓ＋５ｎｓ＝４６ｎｓとなる。最後に操作６９では、遷移故障１〜６の変数Ｄｄｆに格納されている、それぞれ８ｎｓ、５ｎｓ、９ｎｓ、５ｎｓ、４ｎｓ、１ｎｓを、遷移故障１〜６の検出時の重みとする。
【００７７】
引き続いて操作２４では、遷移故障１〜６の検出時の重みの総和を計算し、その結果、８ｎｓ＋５ｎｓ＋９ｎｓ＋５ｎｓ＋４ｎｓ＋１ｎｓ＝３２ｎｓとなる。最後に操作２５では、操作２２の結果と操作２４の結果を用いて故障検出率を計算する。故障検出率は（式２）に基づいて、（３２ｎｓ／４６ｎｓ）×１００［％］＝  ６９．６％となり、その結果が故障検出率６として出力される。
【００７８】
この結果を従来技術と比較すると、従来技術では図１１より、検査系列Ａ、Ｂで故障シミュレーションを行うことによって遷移故障１〜６がすべて検出されているため、（式１）より既に故障検出率は１００％である。しかし図１０と図１１の比較により、遷移故障１〜６の検出経路の遅延値は、遷移故障１、３を除いて、検査可能最長信号経路の遅延値よりも小さい。したがって、従来技術では実際よりも高い故障検出率が出力されるために、検査品質を実際より高く評価してしまうのに対し、本発明の故障シミュレーション方法で算出した故障検出率は、遷移故障の検出される検出経路の潜在的な最大遅延値に対する、実際の検出経路の遅延値の割合を使って故障検出率を計算するため、より精度の高い故障検出率を出力できる。
【００７９】
また、操作８０における故障検出率の分母の再計算を行わない場合、操作２２で計算された故障検出率の分母の値は４８ｎｓであるため、故障検出率は（３２ｎｓ／４８ｎｓ）×１００［％］＝  ６６．７％となる。一方、図１０の検査可能最長信号経路の遅延値を用いて故障検出率の分母を計算した場合が、最も理想的な故障検出率となり、このときの故障検出率は（３２ｎｓ／４１ｎｓ）×１００［％］＝  ７８．０％となる。したがって、操作８０により故障検出率の分母の再計算を行うことによって、故障検出率の精度をより高くすることができる。
【００８０】
なお、操作２１の詳細な実現例として図３の方法の代りに図４の方法を使った場合でも、ほぼ同様の効果が得られることは明らかである。
【００８１】
また、上述の例では、重みとして設計上の遅延値を用いて説明を行ったが、タイミング設計上の要求値に対する、信号経路の設計上の遅延値の相対的な値（例えばクロックレート１０ｎｓに対する各設計上の遅延値の比）を用いても同様の効果が得られることは明らかである。
【００８２】
なお、以上のすべての本発明を実施するための最良の形態において、各遷移故障に対する重みとして、遅延情報２で与えられた物理設計上の遅延値の代わりに、単位遅延値や、論理合成時に用いる仮想遅延値、ゲート段数、等のより簡易的な遅延量を用いても、ほぼ同様の効果が得られ、かつ遅延値処理データ量を削減して処理全体を高速化できる利点も得られる。また、各遷移故障に対する重みとして、遅延値の代りに、信号経路上のビアコンタクト数を用いても、ほぼ同等の効果が得られる。
【００８３】
また、すべての本発明を実施するための最良の形態において、遅延故障の例として遷移故障を取り上げて説明したが、遷移故障の代りにセグメント遅延故障やパス遅延故障であっても同様の効果が得られる。
【産業上の利用可能性】
【００８４】
本発明にかかる故障シミュレーション方法は、遅延故障一般に対する精度の高い故障検出率算出方法を有するため、遷移故障、セグメント遅延故障、パスディレイ故障等に対する遅延故障検査として有用である。また検査系列生成の際には、付随して故障シミュレーションを実行する場合が多いため、遅延故障検査系列生成等の用途にも応用できる。さらには、準備した検査系列が量産検査における遅延故障検査に十分な品質であるかどうかを判断するための手段としての用途にも応用できる。
【図面の簡単な説明】
【００８５】
【図１】本発明を実施するための最良の形態を説明するフローチャートである。
【図２】操作５のより詳細を説明するフローチャートである。
【図３】操作２１のより詳細を説明するフローチャートである。
【図４】操作２１のより詳細を説明する別の方法のフローチャートである。
【図５】操作２１のより詳細を説明する別の方法のフローチャートである。
【図６】操作２３のより詳細を説明するフローチャートである。
【図７】操作２３のより詳細を説明する別の方法のフローチャートである。
【図８】本発明を実施するための最良の形態における遷移故障の特性を示す図である。
【図９】本発明を実施するための最良の形態における遷移故障の特性を示す図である。
【図１０】本発明を実施するための最良の形態における遷移故障の特性を示す図である。
【図１１】本発明を実施するための最良の形態における遷移故障の特性を示す図である。
【図１２】従来技術の課題を説明するための回路図である。
【図１３】従来技術および本発明を実施するための最良の形態における遷移故障の特性を示す図である。
【図１４】遅延故障リスト３で与えられた遷移故障１〜６の定義箇所である信号線を通る最長信号経路の遅延値を示す図である。
【図１５】半導体集積回路上に定義した遷移故障の特徴を示すための図である。
【符号の説明】
【００８６】
５    故障シミュレーション全体操作
６    故障検出率
２１    各定義故障の重みを算出する操作
２３    遷移故障シミュレーション操作
２５    故障検出率計算操作
３４    遷移故障に対して信号経路の遅延値の変数Ｄｆを重み付けする操作
６１    各定義故障の検出経路遅延値の変数Ｄｄｆを初期化する操作
６７    検出経路の遅延値と変数Ｄｄｆの値の大小を比較する操作
６８    変数Ｄｄｆの値を更新する操作
６９    各検出故障に重み付けする操作
７８    検査系列生成経路の遅延値と変数Ｄｆの値の大小を比較する操作
７９    変数Ｄｆの値を更新する操作
【図１】
2005346632.tif 000003
【図２】
2005346632.tif 000004
【図３】
2005346632.tif 000005
【図４】
2005346632.tif 000006
【図５】
2005346632.tif 000007
【図６】
2005346632.tif 000008
【図７】
2005346632.tif 000009
【図８】
2005346632.tif 000010
【図９】
2005346632.tif 000011
【図１０】
2005346632.tif 000012
【図１１】
2005346632.tif 000013
【図１２】
2005346632.tif 000014
【図１３】
2005346632.tif 000015
【図１４】
2005346632.tif 000016
【図１５】
2005346632.tif 000017