(57)【特許請求の範囲】
【請求項１】
２つ以上のテストパターンからなるテストパターン系列を複数含むテストパターン系列リストの中から一つのテストパターン系列を、選択されたテストパターン系列として取り出すステップと、
上記選択されたテストパターン系列が、夫々固有のゲート遅延を持つ複数の論理ゲートを含んだ被試験半導体集積回路に印加されたときの上記集積回路の各論理ゲートの論理動作のシミュレーションを行って、各論理ゲートの出力信号ノードまたは各信号線に生じるローレベル遷移なし信号Lと、ハイレベル遷移なし信号Hと、並びに入力信号の遷移時刻から論理ゲートのゲート遅延による遷移時刻の遅れを伴った信号であるローレベルからハイレベルへの立ち上がり遷移信号R及びハイレベルからローレベルへの立ち下り遷移信号Fと、からなる遷移信号値列を求めるステップと、
上記集積回路内の論理ゲートまたは信号線の中から一つを選択し、上記遷移信号値列を用いて、上記選択した論理ゲートの出力または信号線に立ち上がり遷移信号Rまたは立ち下がり遷移信号Fを生じるか否かを検査し、遷移信号の生成が確認されたときは、上記選択した論理ゲートの出力または信号線の出力を入力とする負荷の論理ゲートの出力または出力信号線に立ち上がり遷移信号Rまたは立ち下がり遷移信号Fが生じるか否かを検査し、ここでも遷移信号の生成が確認されたときは、上記選択した論理ゲートまたは信号線を、上記選択されたテストパターン系列により過渡電源電流試験で検出可能なゲート遅延故障または断線故障として故障リストに登録するステップと、
を有する半導体集積回路の故障シミュレーション方法。
【請求項２】
上記テストパターン系列を取り出すステップは、さらに、異なるテストパターン系列から一つづつ逐次選択されたテストパターン系列として取り出し、
上記遷移信号値列を求めるステップは、さらに、斯かる異なるテストパターン系列に対応して遷移信号値列を求め、
上記故障リストに登録するステップは、さらに、斯かる異なるテストパターン系列に対応して得られた遷移信号値列用いて選択した論理ゲートまたは信号線について検査と故障リストへの登録を行い、
これにより複数の選択されたテストパターン系列により過渡電源電流試験で検出可能なゲート遅延故障または断線故障のリストを作成することを特徴とする請求項１記載の方法。
【請求項３】
２つ以上のテストパターンからなるテストパターン系列を複数含むテストパターン系列リストの中から一つのテストパターン系列を、選択されたテストパターン系列として取り出す手段と、
上記選択されたテストパターン系列が、夫々固有のゲート遅延を持つ複数の論理ゲートを含んだ被試験半導体集積回路に印加されたときの上記集積回路の各論理ゲートの論理動作を演算し、各論理ゲートの出力信号ノードまたは各信号線に生じるローレベル遷移なし信号Lと、ハイレベル遷移なし信号Hと、並びに入力信号の遷移時刻から論理ゲートのゲート遅延による遷移時刻の遅れを伴った信号であるローレベルからハイレベルへの立ち上がり遷移信号R及びハイレベルからローレベルへの立ち下り遷移信号Fと、からなる遷移信号値列を計算するシミュレータと、
上記集積回路内の論理ゲートまたは信号線の中から一つを選択し、上記遷移信号値列を用いて、上記選択した論理ゲートの出力または信号線に立ち上がり遷移信号Rまたは立ち下がり遷移信号Fを生じるか否かを検査し、遷移信号の生成が確認されたときは、上記選択した論理ゲートの出力または信号線の出力を入力とする負荷の論理ゲートの出力または出力信号線に立ち上がり遷移信号Rまたは立ち下がり遷移信号Fが生じるか否かを検査し、ここでも遷移信号の生成が確認されたときは、上記選択した論理ゲートまたは信号線を、上記選択されたテストパターン系列により過渡電源電流試験で検出可能なゲート遅延故障または断線故障として故障リストに登録する故障リスト生成手段と、
を具備する半導体集積回路の故障シミュレーション装置。
【請求項４】
上記取り出し手段は、テストパターン系列リスト中に取り出し処理されていないテストパターン系列が無くなるまで、逐次に一つづつ選択されたテストパターン系列として取り出し、
上記シミュレータは、上記逐次に取り出された夫々の選択されたテストパターン系列を用いて遷移信号値列を計算し、
上記呼称リスと生成手段は、夫々の選択されたテストパターン系列に対応して得られた遷移信号値列を用いて、選択した論理ゲートまたは信号線について検査と故障リストへの登録を行い、
これにより複数のテストパターン系列により過渡電源電流試験で検出可能なゲート遅延故障または断線故障のリストを作成することを特徴とする請求項３記載の故障シミュレーション装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、あるテストパターン系列で検出されうる半導体集積回路における故障のリストを生成する故障シミュレーション方法および故障シミュレータに関する。
【０００２】
【従来の技術】
従来、半導体集積回路の故障シミュレーションは、集積回路内部に故障を仮定し、所定のテストパターンに対する出力端子からの出力値を論理シミュレーションをもちいて計算し、出力値が故障がない場合に対し変化するものを求めその結果を故障辞書（fault dictionary）と呼ばれる仮定故障と入出力論理値の対応表としてまとめることにより、各テストパターンで検出できる故障のリストを生成していた。半導体集積回路を試験する場合は、各テストパターンを半導体集積回路に入力し、その時の出力値と、入力とから故障辞書を参照して集積回路内部のどの部分に故障があるか否かを推定する。
【０００３】
また、論理不良を生じない故障、たとえば短絡故障や電流リーク故障などに対応するために、ＩＤＤＱ（静止電源電流、quiescent power supply current）試験法と論理シミュレーションを併用した故障シミュレーション方法が提案されている。この方法は、論理シミュレーションによりあるテストパターンに対する集積回路内の信号線における論理信号値を算出し、集積回路内部に故障を仮定してＩＤＤＱ異常発生条件を満たす故障を列挙することにより検出可能な故障リストを生成する。集積回路にあるテストパターンを入力したとき、集積回路内の各信号線は通常“０”または“１”の論理値をもつ。このため、このテストパターンにより集積回路内部に生じた論理値“０”をもつ信号線と論理値“１”をもつ信号線の間に短絡故障が生じたとき、集積回路はＩＤＤＱに異常を生じる。したがって、集積回路内のすべての論理値“０”をもつ信号線と論理値“１”をもつ信号線の組み合わせに対し、両信号線間に生じた短絡故障は、入力されているテストパターンによりＩＤＤＱ試験法をもちいて検出可能であり、これらの短絡故障を列挙することによりＩＤＤＱ試験法で検出可能な故障リストを生成することができる。
【０００４】
【発明が解決しようとする課題】
しかし、論理シミュレーションをもちいる故障シミュレーション法は、シミュレーションであつかうことができる故障モデルが、１つの信号線がある状態（０又は１）に固定される故障、つまり単一の縮退故障（Stuck-At-0またはStuck-At-1）のみである。このため、この故障シミュレーション法は、複数の信号線が０又は１に固定される多重縮退故障や遅延故障、信号線間の短絡故障等を感度よくシミュレーションすることができず、これらの故障に対して検出可能な故障リストを生成することができない。
【０００５】
また、ＩＤＤＱ試験法と論理シミュレーションを併用した故障シミュレーション法は、ＩＤＤＱ試験法が半導体集積回路の安定状態における電源電流を測定する試験法であり、主に回路内の短絡故障を対象としているため、半導体集積回路の過渡現象、たとえば、遅延時間に影響をあたえる遅延故障や断線故障、局所的または大域的なプロセスパラメータ（シート抵抗、酸化膜厚など）の異常などの故障に対し、検出可能な故障リストを生成することができないという問題があった。
【０００６】
このため、集積回路の遅延故障や断線故障、パラメータ異常故障に対し、あるテストパターン系列で検出可能な故障リストを生成できる故障シミュレーション法が必要となる。
この発明の目的は、回路の過渡現象を試験できる可観測性の高い過渡電源電流（ＩＤＤＴ，transient power supply current）試験法と遷移シミュレーションを併用することによって、半導体集積回路内の遅延故障や断線故障、パラメータ異常故障に対し、あるテストパターン系列で検出可能な故障リストを生成できる故障シミュレーション方法を提供することにある。
【０００７】
【課題を解決するための手段】
上記目的を達成するため、この発明によれば、入力テストパターン系列で検出可能な故障リストを生成する方法において、被試験半導体集積回路にあたえる２つ以上のテストパターンからなるテストパターン系列を取り出すステップと、上記取り出したテストパターン系列における各テストパターンを被試験半導体集積回路に入力した場合における動作の遷移シミュレーションをおこない、被試験半導体集積回路内部の各信号線に生じる遷移信号値列を計算するステップと、遷移シミュレーションにより計算された各信号線の遷移信号値列を用いて、上記テストパターン系列により過渡電源電流試験で検出可能な故障リストを生成するステップと、を具備することを特徴とする。
【０００８】
この方法によって、従来不可能であった遅延故障あるいは遅延故障を生じる断線故障に対し、あるテストパターンをもちいて過渡電源電流試験で検出可能な故障リストを生成できるため、遅延故障や断線故障に対する試験の効率を大幅に改善することができる。
上記故障リストを生成するステップにおける一形態は、論理ゲートの遅延故障を単位として故障リストを生成する。
【０００９】
上記故障リストを生成するステップにおける他の形態は、信号線の断線故障を単位として故障リストを生成する。
上記故障リストを生成するステップにおける他の形態は、信号伝搬パスのパス遅延故障を単位として故障リストを生成する。
また、上記目的を達成するため、この発明によれば入力テストパターン系列で検出可能な故障リストを生成する装置であって、被試験半導体集積回路にあたえる２つ以上のテストパターンからなるテストパターン系列を選定して発生するテストパターン系列選定手段と、上記発生したテストパターン系列における各テストパターンを被試験半導体集積回路に入力した場合のその動作における遷移シミュレーションをおこない、被試験半導体集積回路内部の各信号線に生じる遷移信号値列を計算する遷移シミュレータと、その遷移シミュレータにより計算された各信号線の遷移信号値列をもちいて上記テストパターン系列により過渡電源電流試験で検出可能な故障リストを生成する故障リスト生成手段と、を具備することを特徴とする。
【００１０】
この故障シミュレータ装置によって、従来不可能であった遅延故障あるいは遅延故障を生じる断線故障に対し、あるテストパターンを用いて過渡電源電流試験で検出可能な故障リストを生成できるため、遅延故障や断線故障に対する試験の効率を大幅に改善することができる。
[作用]
以下では、もっとも一般的な半導体集積回路であるＣＭＯＳ集積回路を例に説明する。
ＣＭＯＳ論理ゲートの過渡電流
図１に、ＣＭＯＳインバータの過渡応答（transient response)を示す。この過渡応答は、回路シミュレータで求めた。図１（ａ）は、過渡状態における入力電圧ＶINに対する出力電圧ＶOUT の応答と、電源からＣＭＯＳインバータに流れ込む電流ＩDDの応答である。この電流を過渡電流（transient current)と呼ぶ。インバータの入力が“１”から“０”に遷移するとき（図１（ｂ））、入力電圧がｎ−ＭＯＳのしきい電圧より高くｐ−ＭＯＳのしきい電圧より低いあいだ、ｎ−ＭＯＳとｐ−ＭＯＳが一瞬だけ同時にオンとなり、電源からグランドへ貫通電流（short circuit current)ＩSが流れる。このとき、インバータの出力信号線は“０”から“１”に遷移するため、貫通電流と同時にインバータの出力信号線に接続された寄生容量（parasitic capacitance)Ｃloadへの充電（capacitance charging）にともなう電流ＩCが電源端子ＴVDから流れる。したがって、インバータの入力に立ち下がり遷移が生じるとき（添字“ｆ”で記述する）、インバータに流れ込む過渡電流ＩGfは、貫通電流ＩSfと充電電流（capacitance charging current）ＩC の和であたえられる。
【００１１】
ＩGf＝ＩSf＋ＩC                                           （１）
一方、入力が“０”から“１”に遷移するとき（出力が“１”から“０”に遷移するとき（添字“ｒ”で記述する）（図１（ｃ）））、出力信号線に接続された寄生容量Ｃloadからの放電（capacitance discharging)がおこり、放電電流（capacitance discharging current)ＩD が生じるが、電源端子ＴVDからインバータへ流れ込む電流ＩGrは貫通電流ＩSrだけである。このため、この電流ピークは、立ち下がり遷移時の過渡電流ＩGfピークよりわずかに小さくなる。
【００１２】
ＩGr＝ＩSr                                                （２）
ＣＭＯＳインバータの伝達特性は、図２（ａ）に示すように入力電圧ＶINの変化に対し三角パルス状の電流ＩS を示す。このため、ＣＭＯＳインバータの入力が立ち上がり遷移をもつとき、ＣＭＯＳインバータを流れる貫通電流波形ＩSrは、入力電圧ＶINがランプ状に遷移すると仮定すると、図２（ｂ）において“ＩS ”で示した三角パルスで近似できる。また、図２（ｂ）に示した入力信号の立ち上がり遷移に対するＣＭＯＳインバータの貫通電流波形ＩSrは、つぎのような近似式であたえられる。
【００１３】
【数１】
0004336029.tif 000002
【００１４】
ここで、ＩSmaxはＣＭＯＳインバータに流れ込む過渡電流（貫通電流）の最大値、ＶDDは電源電圧、ＶTHNはｎ−ＭＯＳトランジスタのしきい電圧、ＶTHPはｐ−ＭＯＳトランジスタのしきい電圧、ｔrは入力信号の立ち上がり遷移時間である。ただし、ＶTHPは絶対値で示した。また、近似式を簡略化するため、入力電圧ＶINの遷移開始時刻は０とし、遷移終了時刻ｔrで入力電圧はＶDDになるとした。
入力信号の立ち下がり遷移に対するＣＭＯＳインバータの貫通電流波形ＩSf についても同様に、
【００１５】
【数２】
0004336029.tif 000003
【００１６】
と求めることができる。ここで、ｔf は入力信号の立ち下がり遷移時間である。念のためにこの場合の電源電流の立ち上がり開始時刻、最大値ＩSmaxの時刻、立ち下り終了時刻を図２（ｂ）に、括弧を付けて示した。
さらに、ＣＭＯＳインバータの出力信号線の寄生容量Ｃloadへの充電電流ＩC は、出力信号線の電圧変化をｖout(t)とすると次式であたえられる。
【００１７】
【数３】
0004336029.tif 000004
【００１８】
これらの式は、インバータ以外の論理ゲートに対しても同様に求めることができる。
論理ゲートに流れ込む過渡電流ＩGは、ＩCがＩSより十分小さいと仮定すると、図２（ｂ）にＩSで示すような三角パルスで近似できる。実際、ＣＭＯＳインバータの過渡電流波形ＩGは、図１（ａ）に示すような三角パルスを示す。また、ＩGが最大値ＩSmaxとなるのは、入力電圧ＶINが論理ゲートのスイッチング電圧ＶSPになったときである。すなわち、図２（ｂ）に示すように、ＩGがピークとなる時刻と論理ゲートの入力遷移の時刻が一致する。論理ゲートは遅延時間をもつため、論理ゲートの出力遷移の時刻は入力遷移の時刻よりわずかに遅れる。すなわち、ＩGがピークとなる時刻は論理ゲートの出力遷移の時刻よりわずかに先行する。この場合、過渡電流波形ＩGの立ち下がりエッジ（立ち下り部分）が、出力遷移の時刻に一致すると考えることができる。逆に、ＩCがＩSより大きいとき、過渡電流波形のピークはＩCのピークと一致する。充電電流ＩCは出力信号線の電圧遷移に関係するため、ＩGのピークは論理ゲートの出力の遷移時刻とほぼ一致する。
【００１９】
また、論理ゲートの過渡電流波形ＩG のパルス幅は、式（１），（２），（３），（４）より、入力電圧の遷移時間（たとえば立ち上がり遷移時間ｔr ）に比例する。ここで、入力電圧の遷移時間の変化に対して出力電圧の遷移時間の変化は十分小さいため、式（１）におけるＩC の項は無視した。
さらに、式（３）および式（４）より、貫通電流ＩSrおよびＩSfの時間積分値ＱSrおよびＱSfは、それぞれ、
【００２０】
【数４】
0004336029.tif 000005
【００２１】
であたえられる。したがって、スイッチングのとき論理ゲートを流れる貫通電流の積分値ＱS は、
【００２２】
【数５】
0004336029.tif 000006
【００２３】
であたえられる。ここで、ｔT は入力信号の遷移時間である。すなわち、論理ゲートに流れ込む貫通電流ＩS（ＩSrまたはＩSf）の積分値ＱSは、論理ゲートの入力遷移時間ｔTに比例する。また、ＱSは、入力信号の遷移方向が立ち上がり遷移であるか、立ち下がり遷移であるかに関係ないことがわかる。
ＣＭＯＳインバータの出力負荷容量Ｃloadへの充電電流ＩCの積分値ＱCは式（５）より
【００２４】
【数６】
0004336029.tif 000007
【００２５】
であたえられ、ＣＭＯＳインバータの入力遷移時間ｔT には依存しない。
したがって、論理ゲートを流れる過渡電流ＩGfおよびＩGrの積分値ＱGfおよびＱGrは、式（１），（２），（８），（９）より、
【００２６】
【数７】
0004336029.tif 000008
【００２７】
ともとめられる。すなわち、論理ゲートの過渡電流の積分値は論理ゲートの入力遷移時間に比例する。
ＣＭＯＳ集積回路の過渡電源電流（ＩDDT ，transient power supply current）
ＣＭＯＳ集積回路の電源電流は、ＣＭＯＳ集積回路に流れ込む電源電流であり、集積回路内の各論理ゲートを流れる電流の和で表される。
【００２８】
図３（ａ）に示すＣＭＯＳ集積回路は、図１に示したインバターを直列に４つ（Ｇ1，Ｇ2，Ｇ3，Ｇ4）組み合わせたものであり、各インバータを流れる過渡電流（ＩG1，ＩG2，ＩG3，ＩG4）は通常一つの電源から供給される。このため、集積回路の過渡電源電流ＩDDT 応答は、図３（ｂ）に示すように各論理ゲートを流れる過渡電流の和として表され次式で求まる。
【００２９】
ＩDDT ＝Σn=1 N ＩGn                                        （12)
ここで、Ｎは入力されたテストパターン系列によりスイッチングする論理ゲートの数であり、図３（ａ）の例ではＮ＝４である。このため、集積回路内に論理ゲートの過渡電流を変化させる故障があり、その故障を活性化できるテストパターン系列が存在すれば、集積回路のＩDDT を観測することにより故障を検出することができる。
また、過渡電源電流ＩDDT の積分値ＱDDT も、各論理ゲートを流れる電流の積分値ＱGn（１＜ｎ＜Ｎ）の和として表される。
【００３０】
【数８】
0004336029.tif 000009
【００３１】
図３の例では、過渡電源電流ＩDDT の積分値ＱDDT は、各インバータを流れる電流の積分値（ＱG1，ＱG2，ＱG3，ＱG4）の和として表される。したがって、集積回路内に論理ゲートの過渡電流やその時間積分値を変化させる故障があり、その故障を活性化できるテストパターンがあれば、集積回路の過渡電源電流ＩDDT の積分値ＱDDT を観測することにより故障を検出することができる。
ゲート遅延故障（gate delay fault）の検出
ゲート遅延故障は、論理ゲートの入力から出力までの信号伝搬遅延が大きくなる故障である。論理ゲート出力の立ち上がり遷移が遅くなる故障を立上り遅れ（slow-to-rise）故障と呼び、逆に立ち下がり遷移が遅くなる故障を立下り遅れ（slow-to-fall）故障と呼ぶ。ＣＭＯＳ集積回路内の論理ゲートにゲート遅延故障が生じると、論理ゲートの出力遷移時刻が遅れる。このため、この故障論理ゲートの出力を入力とする論理ゲートの過渡電流ピークのタイミングが遅くなる。したがって、あるテストパターン系列が故障論理ゲートを活性化し上記故障ゲートにより駆動される論理ゲートをスイッチングさせることができれば、ＣＭＯＳ集積回路のＩDDT における電流ピークの遅れを観測することにより上記ゲート遅延故障を検出することができる。
断線故障(open fault)の検出
つぎに、遅延故障を生じる断線故障について定義する。断線故障は、故意でない電気的不連続であり、ある信号線を二つ以上の異なる信号線に分割する。断線故障には、金属の欠損や酸化膜による断線コンタクト、パターニング不良やエッチング不良などによる金属配線断線、マスク不良などによる拡散層あるいはポリシリコンにおける断線などが含まれる。また、断線故障は、図４（ａ）に示すように“論理故障”を生じる断線故障と、図４（ｂ）に示すように“遅延故障”を生じる断線故障の二つのタイプに分類できる。論理故障を生じる断線故障は、断線の規模が大きく故障の両端の信号線に電圧をあたえても電流が流れないため、信号遷移に伴う寄生容量の充放電がおこなわれず論理がある一定の値に固定される論理故障を生じる。これに対し、遅延故障を生じる断線故障では、故障の両端の信号線に電圧をあたえると微小な電流が流れるが、その電流量は正常時より小さいため、信号遷移に伴う寄生容量の充放電が遅くなり、回路の遅延時間が増加する。遅延故障を生じる断線故障には、コンタクトなどの不良により信号線間の抵抗値が正常値より大きくなってしまったり、信号線に生じた不良などにより信号線の抵抗値が正常値より大きくなってしまう抵抗性断線故障と、トンネル効果により断線故障を通してごく微量なリーク電流が流れる非常に小さな（亀裂の幅が１００ｎｍより小さい）微小断線故障がある。微小断線故障を流れるトンネル電流については、例えば、C.L.Henderson,J.M.Soden,and C.F.Hawkins,“The Behavior and Testing Implications of CMOS IC Logic Gate Open Circuits,”Proceedings of IEEE International Test Conference,pp.302-310,1991.に記載されている。この明細書では、遅延故障を生じる断線故障を対象とし、これを単に断線故障と呼ぶ。
【００３２】
断線故障は、故障をとおして小さな電流が流れるため、大きな抵抗値の抵抗素子Ｒopenでモデル化できる。図５（ａ）に、断線故障をもつＣＭＯＳ集積回路の例を示す。このＣＭＯＳ集積回路は、２つのインバータＧ1，Ｇ2によって構成されており、インバータＧ1とＧ2を接続する信号線Ｍに断線故障をもつ。その断線箇所は抵抗Ｒopenで接続されていると等価的に考えられる。インバータＧ1 がスイッチングし、信号線Ｍに信号遷移が生じるとき、断線故障の存在によりインバータＧ2 の入力寄生容量Ｃinの充電または放電に要する時間（断線故障の抵抗値と寄生容量の積に比例する）が長くなるため、等価抵抗素子ＲopenのインバータＧ2 側の信号線Ｍ′の信号遷移が遅くなる（図５（ｂ））。このため、入力に断線故障をもつインバータＧ2 の過渡電流波形は図６に示すように正常なインバータの過渡電流波形に比べ電流パルスの幅、および、過渡電流の時間積分値が大きくなる。したがって、上記ＣＭＯＳ集積回路のＩDDT またはＱDDT を観測することによりインバータＧ2 の入力段に存在する断線故障を検出することができる。インバータＧ1 の出力段における断線故障は、インバータＧ2 の入力段における断線故障と等価であり、同様に検出可能である。一般に、集積回路のすべての信号線における断線故障に対し、あるテストパターン系列で断線故障を活性化し上記断線故障により駆動される論理ゲートをスイッチングさせることができれば、集積回路のＩDDT またはＱDDT を観測することにより上記断線故障を検出することができる。
パス遅延故障
信号が伝搬する集積回路内の経路をパス（paths)と呼ぶ。パスの始点（入力信号線）から終点（出力信号線）までの遅延時間（これをパス遅延時間（path delay time)と呼ぶ）が既定値より大きく（小さく）なると、集積回路は異常な動作を示す。これをパス遅延故障（path delay fault）と呼ぶ。つぎに、パス遅延故障について定義する。
【００３３】
ＣＭＯＳ論理回路において、２つのテストパターンｖ１，ｖ２をもつテストパターン系列Ｔ＝＜ｖ１，ｖ２＞（パターンｖ１の次にパターンｖ２が続くことをあらわす）を用いてパスＰ＝｛ｇ0，ｇ1，ｇ2，…，ｇm｝を活性化するときを考える。ここで、ｇ0はパスＰの入力信号線であり、ｇ1，ｇ2，…，ｇmはパスＰ上の論理ゲートＧ1，Ｇ2，…，Ｇmの出力信号線である。同時に、ｇ0，ｇ1，…，ｇm-1はパスＰ上の論理ゲートＧ1，Ｇ2，…，Ｇmの入力信号線でもある。各信号線ｇ0，ｇ1，…，ｇmの信号遷移の時刻（電圧信号がＶDD／２をよこぎる時刻）をそれぞれτ0，τ1，…，τmとすると、パスＰ上の各論理ゲートＧ1，Ｇ2，…，Ｇmのゲート遅延時間ｔgdi，１＜ｉ＜ｍは、それぞれ
ｔgdi ＝τi −τi-1                                       （14）
であたえられる。したがって、パスＰのパス遅延時間ｔpdは、ゲート遅延時間ｔgdi の和として、
【００３４】
【数９】
0004336029.tif 000010
【００３５】
で求めることができる。しかし、実際のゲート遅延時間ｔgdi は、故障の影響により変動する。
ｔgdi ＝ｔgdi,typ ＋δi ，１＜ｉ＜ｍ                        （16）
ここで、ｔgdi,typは論理ゲートＧiのゲート遅延時間の典型値であり、δiはゲート遅延時間の変動成分である。例えば、断線故障は、故障をもつ論理ゲートのゲート遅延時間のみを増加させ、ほかの論理ゲートの遅延時間を増加させない。また、プロセスパラメータの異常は、すべての論理ゲートの遅延時間を増加させる。ゲート遅延時間の変動にともなって、パス遅延時間ｔpdも同様に変動する。
【００３６】
【数１０】
0004336029.tif 000011
ここで、ｔpd,typはパスＰのパス遅延時間の典型値であり、Δはパス遅延時間の変動成分である。
【００３７】
図７に遅延故障試験方法の基本原理を模式的に示す。図７（ａ）の被試験半導体集積回路（ＣＵＴ）が正常に動作するためには、入力ラッチに生成された信号遷移がパスＰをとおって出力ラッチまで既定の時間内に伝搬しなければならない。したがって、図７（ｂ）に示す入力ＶIN及び出力ＶOUTの関係と、システムクロックＣＬＫとの関係からパスＰのパス遅延時間ｔpdは以下の条件を満たさなければならない。
【００３８】
ｔpd＋ＴSU＜ＴCLK −ＴSKW                                 （18）
ここで、ＴSUは信号のセットアップ時間、ＴCLKはシステムクロックの周期、ＴSKW はシステムクロックのクロックスキュー（ジッタでありエッジが±ＴSKWのあいだで変動する）である。変形すると、
ｔpd＜ＴCLK −ＴSKW −ＴSU≡Ｔ′                          （19）
となる。すなわち、パスＰのパス遅延時刻ｔpdは、クロック周期からセットアップ時間やクロックスキューなどのマージンをひいた時間（これをＴ′とする）より小さくなければならない。もし、ｔpdがＴ′より大きければ、パスＰに沿った信号伝搬がシステムクロックに間に合わず、回路は正しい動作をしない。この状態を遅延故障と定義する。すなわち、ｔpdがある既定の時間Ｔ′より大きいとき、パスＰは遅延故障をもつと定義する。ここで、Ｔ′は、許容できる遅延時間の上限値である。
パス遅延故障の検出（過渡電源電流のパルス幅を利用）
論理ゲートの過渡電流波形のピーク（または、立ち下がりエッジ）がその論理ゲートの出力の遷移時刻に対応することから、ＣＭＯＳ集積回路の過渡電源電流波形の最終ピーク（最終の立ち下がりエッジ）がＣＭＯＳ集積回路において最後にスイッチングする論理ゲートの出力遷移時刻に一致する。したがって、ＣＭＯＳ集積回路の過渡電源電流波形の最終ピーク（最終の立ち下がりエッジ）を検出し入力遷移の時刻と比較することにより、回路のパス遅延時間を求めることができる。ここで、過渡電源電流の最終の立ち下がりエッジの時刻は、たとえば、過渡電源電流がある既定の電流値となる時刻の最大値として求めることができる。この電流値は、被試験パス上の最後の論理ゲートの出力が電源電圧の半分の値となるときの電源電流の値であり、被試験回路に対する回路シミュレーションや実デバイスを用いた統計データなどから求めることができる。また、求めたパス遅延時間を既定の時間（たとえば、システムクロックの周期ＴCLK ）と比較することにより、被試験パスにおけるパス遅延故障を検出することができる。
【００３９】
つぎに、上で述べた過渡電源電流のパルス幅を利用してパス遅延故障を検出する方法について述べる。上記方法は、被試験回路の電源電流波形のパルス幅を測定し、既定の時間と比較する方法である。上記方法の基本原理を図８に示す。
【００４０】
ＣＭＯＳ論理回路において、２つのテストパターンｖ１，ｖ２を持つテストパターン系列Ｔ＝＜Ｖ１，Ｖ２＞により複数のパスＰ1，Ｐ2，…，Ｐnが活性化されるとする。パスＰi上の入力から数えてｊ番目の論理ゲートがスイッチングする時刻をτijとすると、各パスＰ1，…，Ｐnにより論理ゲートの数は異なり、パスＰ1 ，Ｐ2，…，Ｐnにおいてもっとも遅くスイッチングする論理ゲートＧfinalの出力遷移の時刻τmax は、
【００４１】
【数１１】
0004336029.tif 000012
【００４２】
であたえられる。したがって、パスＰ1，Ｐ2，…，Ｐnにおけるパス遅延時間の最大値ｔpd,maxは、τmaxと入力遷移の時刻τ0のあいだの時間間隔としてつぎのように求めることができる。
ｔpd,max＝τmax−τ0                                       （21）
一方、ＣＭＯＳ論理回路の過渡電源電流波形のパルス幅ｔPWを、回路入力の信号遷移の時刻τoと過渡電源電流波形の最終ピーク（立ち下がりエッジ）の時刻τIDDのあいだの時間間隔と定義する。
【００４３】
ｔPW≡τIDD −τ0                                         （22）
前に述べたように、過渡電源電流波形の最終ピークの時刻τIDDは、最後にスイッチングする論理ゲートＧfinalの出力遷移時刻τmaxに一致するかτmaxより先行することから、過渡電源電流波形のパルス幅ｔPWは、テストパターンＴにより活性化されるパスＰの遅延時間ｔpd,maxに対応する。
【００４４】
ｔPW＝τIDD −τo＜τmax −τo＝ｔpd,max                    （23）
もし、ｔPWが許容できる遅延時間の上限値Ｔ′より大きいならば、
Ｔ′＜ｔPW＜ｔpd,max                                      （24）
となる。もっとも大きな遅延時間ｔpd,maxをもつパスにおいて、信号の伝搬がシステムロックに間に合わない。すなわち、回路には遅延故障が存在する。したがって、Ｔ′より大きいｔPWは活性化されたパスのいずれかに遅延故障があることを示し、Ｔ′より小さいｔPWは活性化されたパスのいずれにも遅延故障が存在しないことを示す。
【００４５】
遅延故障なし，ｔPW＜Ｔ′
遅延故障あり，ｔPW＞Ｔ′                              （25）
以上のように、過渡電源電流波形のパルス幅ｔPWを既定の時間Ｔ′と比較することにより、回路のパス遅延故障をテストすることができる。
パス遅延故障の検出（過渡電源電流の瞬時値を利用）
また、図１に示すように、論理ゲートの過渡電源電流はピーク値以降単調に減少することから、図３に示すＣＭＯＳ集積回路の電源電流は、同集積回路において最後にスイッチングする論理ゲートの出力遷移時刻以降単調に減少する。つまり、故障のないＣＭＯＳ集積回路において、最後にスイッチングする論理ゲートの出力遷移時刻をτmaxとし、時刻τmaxにおける過渡電源電流の瞬時値をＩ′とすると、τmax以後ＣＭＯＳ集積回路の過渡電源電流がＩ′より大きくなることはない。
【００４６】
この原理をもちい、ある既定時刻におけるＣＭＯＳ集積回路の過渡電源電流の瞬時値を測定することにより、被試験回路における遅延故障を検出することができる。ここで、故障検出の判断基準となる電流値Ｉ′は、被試験パス上の最後の論理ゲートの出力が電源電圧の半分の値となるときの電源電流の値であり、被試験回路に対する回路シミュレーションや実デバイスをもちいた統計データなどから求めることができる。
【００４７】
つぎに、上で述べた過渡電源電流の瞬時値を利用してパス遅延故障を検出する方法について述べる。上記方法は、規定の時刻における被試験回路の過渡電源電流の瞬時値を測定し、遅延故障のないゴールデン回路の過渡電源電流値と比較する方法である。上記方法の基本原理を図９に示す。
【００４８】
ＣＭＯＳ論理回路において、テストパターン系列Ｔ＝＜Ｖ１，Ｖ２＞により複数のパスＰ1，Ｐ2，…，Ｐnが活性化されるとする。パスＰi上の入力から数えてｊ番目の論理ゲートがスイッチングする時刻をτijとすると、パスＰ1，Ｐ2，…，Ｐnにおいてもっとも遅くスイッチングする論理ゲートＧfinalの出力遷移の時刻τmax は、
【００４９】
【数１２】
0004336029.tif 000013
【００５０】
であたえられる。したがって、パスＰ1，Ｐ2，…，Ｐnにおけるパス遅延時間の最大値ｔpd,maxは、τmaxと入力遷移の時刻τ0の間の時間間隔としてつぎのように求めることができる。
【００５１】
ｔpd,max＝τmax −τo                                     （27）
前にも述べたように、論理ゲートの出力遷移の時刻が論理ゲートの過渡電源電流のピークまたは立ち下がりの時刻に一致するので、τmaxは回路の過渡電源電流波形ＩDDTの最終ピークまたは立ち下がりエッジの時刻τIDDに対応する。論理ゲートの電源電流ＩGは三角波で近似でき、Ｇfinalは最後にスイッチングするゲートであるから、τmax以降に電源電流のピークをもつ論理回路は存在しない。したがって、ｔ＞τmaxなる時刻ｔにおいて電源電流波形関数ｉDDT(t)は、単調減少関数である。すなわち、電源電流波形の時間関数をｉDDT(t)とし、時刻τmax における電源電流の瞬時値を
Ｉ′≡ｉDDT(τmax）                                      （28）
とすると、ｔ＞τmax なるｔにおいて、
ｉDDT(t)＜ｉDDT（τmax）＝Ｉ′，ｔ＞τmax                （29）
が成立する。回路が正常に動作するためには、ｔpd,maxが遅延時間の上限値Ｔ′（＝ＴCLK −ＴSKEW−ＴSU）より小さくなければならない。
【００５２】
ｔpd,max＝τmax −τo＜Ｔ′                              （30）
したがって、回路に故障がないとき、ｔ＝Ｔ′＋τo＞τmax なる時刻ｔにおいて、式（２９）より
ｉDDT （Ｔ′＋τo）＜Ｉ′                                （31）
が成立する。もし、Ｔ′＋τoにおけるＩDDT の瞬時値がＩ′より大きいならば、つまり、
ｉDDT（Ｔ′＋τo）＞Ｉ′＝ｉDDT（τmax）                  （32）
ならば、式（２９）よりＴ′＋τoがτmax より大きいことはありえないので、
τmax＞Ｔ′＋τo                                          （33）
∴ｔpd,max＝τmax−τo＞Ｔ′                                （34）
となる。もっとも大きな遅延時間ｔpd,maxをもつパスにおいて、信号の伝搬がシステムクロックに間に合わない。すなわち、回路にはパス遅延故障が存在する。したがって、時刻Ｔ′＋τoにおける電源電流値ｉDDT（Ｔ′＋τo）がＩ′より大きいということは、活性化されたパスのいずれかにパス遅延故障があることを示す。逆に、ｉDDT（Ｔ′＋τ0）がＩ′より小さいということは、活性化されたパスのいずれにもパス遅延故障が存在しないことを示す。
【００５３】
遅延故障なし，ｉDDT(Ｔ′＋τ0 ）＜Ｉ′
遅延故障あり，ｉDDT(Ｔ′＋τ0 ）＞Ｉ′                  （35）
以上のように、ある既定の時刻におけるＩDDT の瞬時値を故障のない回路のＩDDT レベルと比較することにより、回路の遅延故障を検出することができる。
パス遅延故障の検出（過渡電源電流の時間積分値を利用）
さらに、過渡電源電流ＩDDT の積分値ＱDDT を用いることにより、断線故障を原因とするパス遅延故障を検出することができる。つぎに、過渡電源電流の時間積分値を利用してパス遅延故障を検出する方法について述べる。上記方法は、被試験回路の過渡電源電流の積分値を測定し、所定の値と比較することによってパス遅延故障を評価する方法である。
過渡電源電流ＩDDT の積分値ＱDDT は、各論理ゲートを流れる電流の積分値ＱGn（１＜ｎ＜Ｎ）の和として表される。
【００５４】
【数１３】
0004336029.tif 000014
【００５５】
各論理ゲートを流れる電流の積分値ＱGn（１＜ｎ＜Ｎ）は、式（１０）または式（１１）に示すように、各論理ゲートの入力遷移時間ｔTn（１＜ｎ＜Ｎ）にそれぞれ比例することから、ＱDDTはｔTn（１＜ｎ＜Ｎ）の線形多項式であたえられる。例えば、図３の例では、ＱDDTは各インバータの入力遷移時間（ｔT1，ｔT2，ｔT3，ｔT4）の線形多項式であたえられる。
【００５６】
【数１４】
0004336029.tif 000015
【００５７】
式（３６）において、ａnは論理ゲートＧnの貫通電流の積分値ＱSnと論理ゲートＧnの入力遷移時間ｔTnの間の比例係数であり、ｂは各論理ゲートに流れ込む充電電流ＱCnの和であらわされる定数項である。
【００５８】
断線故障は、故障をとおして小さな電流が流れるため、大きな抵抗Ｒopenでモデル化できる。図１０（ａ）に、入力に断線故障をもつＣＭＯＳインバータの例を示す。入力信号線Ａに図１０（ｂ）に示す信号遷移が生じるとき、断線故障により、断線個所に後続する信号線Ａ′の信号遷移が図１０（ｃ）に示すように遅くなる。このとき、信号線Ａ′の信号遷移時間ｔT は、断線故障の抵抗をＲopen、インバータの入力における寄生容量をＣinとすると、
【００５９】
【数１５】
0004336029.tif 000016
【００６０】
であたえられる。ここで、ｔT,typ は故障がない場合の入力信号の遷移時間の典型値であり、遷移時間ｔT は電圧値が０．１ＶDDから０．９ＶDDまで立ち上がる（または、電圧値が０．９ＶDDから０．１ＶDDまで立ち下がる）に要する時間としてもとめた。２．２ＲopenＣinはＣinが０．１ＶDDから０．９ＶDDになるまでの時間であり loge（０．９ＶDD／０．１ＶDD）×ＲopenＣinにより求めた値である。すなわち、インバータの入力信号の遷移時間の増分は、断線故障の抵抗値Ｒopenに比例する。したがって、被試験パス上のｋ番目のインバータの入力に断線故障があるとき、ＣＭＯＳ集積回路の電源電流の積分値ＱDDT は、式（３６），（３７）より、式（３８）が求まり、断線故障の抵抗値Ｒopenに応じて線形に変化し、その増分は断線故障の抵抗値Ｒopenに比例する。
【００６１】
【数１６】
0004336029.tif 000017
【００６２】
ここで、ＱDDT,typ は故障がない場合の電源電流の積分値の典型値とする。式（３８）の右辺第２項の２．２akＣinＲopenはｋ番目のインバータの入力断線故障にもとづく加算量である。この式（３８）は、図１１に示すＲopenに対するＱDDT の変化のシミュレーション結果とも一致する。図１１は、図３に示した回路において、インバータＩＮ２の入力信号線に断線故障があるときの、断線故障の抵抗値Ｒopenに対するＱDDTの変化をプロットしたものである。
【００６３】
また論理ゲートのゲート遅延時間ｔgdは、入力信号の遷移時間ｔTに比例する。（Neil H.E.Weele著者“Principles of CMOS VLSI Design-A Systems Perspective“Second Edition.Addison-Weely PublishingCompany.1999年発行の２１６〜２１７頁の式４．５２，式４．５３による）
【００６４】
【数１７】
0004336029.tif 000018
【００６５】
ここで、ｔgd,step は遷移時間０のステップ入力に対する故障のないインバータの遅延時間である。また、ＶTHはｐ−ＭＯＳまたはｎ−ＭＯＳのしきい値電圧であり、入力の立ち上がり遷移に対してはＶTH＝ＶTHN 、入力の立ち下がり遷移に対してはＶTH＝ＶTHP であたえられる。したがって、入力信号線上に抵抗Ｒopenでモデル化できる断線故障をもつ論理ゲートのゲート遅延時間ｔgdは、論理ゲートの入力遷移時間が式（３７）であたえられることから、式（３９）に式（３７）を代入して、
【００６６】
【数１８】
0004336029.tif 000019
【００６７】
と求めることができる。ここで、ｔgd,typは故障のない論理ゲートのゲート遅延時間の典型値である。すなわち、断線故障をもつ論理ゲートのゲート遅延時間ｔgdは故障の抵抗値Ｒopenによって変化し、ゲート遅延時間の増分δは故障の抵抗値Ｒopenに比例する。ゆえに、被試験パス上のいずれかの論理ゲートの入力に断線故障があるとき、被試験パスのパス遅延時間ｔpdもＲopenに比例する。このことを式で示すと、式（１７）に式（４０）を代入して式（４１）が得られることから理解される。
【００６８】
【数１９】
0004336029.tif 000020
【００６９】
これは、図１２に示すＲopenに対するｔpdの変化のシミュレーション結果とも一致する。図１２は、図３に示した回路において、インバータＩＮ２の入力信号線に断線故障があるときの、断線故障の抵抗値Ｒopenに対するｔpdの変化をプロットしたものである。
パスＰ上のある論理ゲートＧkの入力に断線故障が存在するとき、Ｇkの貫通電流の積分値ＱSkは、式（８）および式（３７）より、
【００７０】
【数２０】
0004336029.tif 000021
【００７１】
ともとめられる。したがって、集積回路の過渡電源電流の積分値ＱDDT は、式（３６）より、
【００７２】
【数２１】
0004336029.tif 000022
【００７３】
となり、回路の過渡電源電流の積分値ＱDDT も、断線故障の抵抗値Ｒopenに比例する。
したがって、式（４１）および式（４２）より、断線故障をもつパスＰの遅延時間ｔpdは、ＣＭＯＳ集積回路の過渡電源電流の積分値ＱDDTに対して線形に変化する。これは、図１３に示すＱDDTに対するｔpdの変化のシミュレーション結果とも一致する。図１３は、図３に示した回路において、インバータＩＮ２の入力信号線に断線故障があるときの、過渡電源電流の積分値ＱDDTに対するｔpdの変化をプロットしたものである。
式（４２）より求めたＲopenを式（４１）に代入すると式（４３）が得られる。
【００７４】
【数２２】
0004336029.tif 000023
【００７５】
パス遅延時間ｔpdが許容できる遅延時間の上限値Ｔ′となるときの過渡電源電流の積分値をＱmaxとすると、式（４３）においてｔpd＝Ｔ′，ＱDDT＝ＱmaxとおいてＱmax を求めると式（４４）となる。
【００７６】
【数２３】
0004336029.tif 000024
【００７７】
このＱmaxは、パス遅延故障のないＣＭＯＳ集積回路の過渡電源電流の積分値ＱDDTの上限値である。すなわち、ＱDDTがＱmaxより小さいときＣＭＯＳ集積回路には遅延故障が存在せず、ＱDDTがＱmaxより大きいときＣＭＯＳ集積回路に断線故障によるパス遅延故障が存在すると判断することができる。
【００７８】
遅延故障なし，ＱDDT ＜Ｑmax
遅延故障あり，ＱDDT ＞Ｑmax                               （45）
以上のように、過渡電源電流の積分値ＱDDTを既定値Ｑmaxと比較することにより、回路のパス遅延故障をテストすることができる。ここで、既定値Ｑmaxは、回路シミュレーションや統計データから式（４４）を用いて求めることができる。
【００７９】
過渡電源電流は、集積回路の電源ピンを流れる過渡電流であり、電圧信号より高い可観測性が保証されている。このため、過渡電源電流をもちいた遅延故障試験方法は、電圧信号をもちいた遅延故障試験方法より、高い遅延故障の可観測性を保証することでできる。例えば、電圧信号をもちいた遅延故障試験方法は、電圧信号が集積回路の出力信号線まで伝搬しなければ遅延故障を検出できないのに対し、過渡電源電流信号をもちいた遅延故障試験方法は、たとえ電圧信号が集積回路の出力信号線まで伝搬しなくても、電圧信号が伝搬したパスの遅延時間に対応するパルス幅をもつ過渡電源電流信号が観測可能であるので、遅延故障や断線故障を検出することができる。また、過渡電源電流信号をもちいた遅延故障試験方法は、電圧信号を集積回路の出力信号線まで伝搬させる必要がないので、電圧信号を集積回路の出力信号線まで伝搬させる必要がある電圧信号をもちいた従来の遅延故障試験方法に比べ、テストパターン生成の制約が少ない。このため、テストパターン生成を容易にすることができる。
故障シミュレーション方法（ゲート遅延故障）
つぎに、ゲート遅延故障単位で故障リストを生成するこの発明の故障シミュレーション方法について説明する。図１４に被試験ＣＭＯＳ集積回路の一例を示す。被試験集積回路は、４つの入力端子ｘ1 ，ｘ2 ，ｘ3 ，ｘ4 、２つの出力端子ｚ1 ，ｚ2 、５つの内部信号ノードｎ1 ，ｎ2 ，ｎ3 ，ｎ4 ，ｎ5 、５つの論理ゲートＧ1 ，Ｇ2 ，Ｇ3 ，Ｇ4 ，Ｇ5 、および、出力バッファＧ6 ，Ｇ7 をもつ。入力端子ｘ1 ，ｘ2 はＡＮＤゲートＧ1 の二つの入力側に接続され、ゲートＧ1 の出力側は信号ノードｎ1 を介してインバータゲートＧ2 とＯＲゲートＧ3 の各入力側に接続され、インバータゲートＧ2 の出力側はノードｎ2 を介してＡＮＤゲートＧ4 の一方の入力側に接続され、ゲートＧ3 の出力側はノードｎ3 を介してＡＮＤゲートＧ4 の他方の入力側とＡＮＤゲートＧ5 の一方の入力側に接続され、入力端子ｘ3 はＯＲゲートＧ3 の他方の入力側に接続され、入力端子ｘ4 はＡＮＤゲートＧ5 の他方の入力側に接続され、ＡＮＤゲートＧ4 及びＧ5 の各出力側はそれぞれノードｎ4 ，ｎ5 を介し、更に出力バッファＧ6 ，Ｇ7 を介して出力端子ｚ1 ，ｚ2 に接続される。ゲートＧ1 〜Ｇ7の各電源端子は図に示していないが共通の電源に接続されている。
【００８０】
また、ゲートＧ1 ，Ｇ2 ，Ｇ3 ，Ｇ4 ，Ｇ5 ，Ｇ6 ，Ｇ7 は、それぞれ１，１，３，２，１，１，１のゲート遅延（伝搬遅延）をもつと仮定する。上記被試験ＣＭＯＳ集積回路に対しておこなった故障シミュレーション結果の一例を図１５に示す。図１５において、左から第１列目はテストパターン系列の識別子を示し、第２列目は被試験ＣＭＯＳ集積回路の入力端子ｘ1 ，ｘ2 ，ｘ3 ，ｘ4 にあたえる入力信号を示し、第３列目は各テストパターン系列をあたえたとき被試験ＣＭＯＳ集積回路の内部信号ノードｎ1 ，ｎ2 ，ｎ3 ，ｎ4 ，ｎ5 に生じる遷移信号値列を示し、第４列目は各テストパターン系列をあたえたとき被試験ＣＭＯＳ集積回路の出力端子ｚ1 ，ｚ2 に生じる遷移信号値列を示す。ここで、図１５の第２、第３、第４列における信号“Ｌ”，“Ｈ”，“Ｒ”，“Ｆ”は、それぞれ、常時ローレベルの信号＜“０”，“０”＞（＜＞内の第１要素は初期信号値を示し、第２要素は最終信号値を示す）、常時ハイレベルの信号（＜“１”，“１”＞）、ローレベルからハイレベルへの立ち上がり信号（＜“０”，“１”＞）、ハイレベルからローレベルへの立ち下がり信号（＜“１”，“０”＞）を示す。
【００８１】
このため、各テストパターン系列は２つのテストパターンからなり、たとえば、テストパターン系列Ｔ＝“ＲＬＬＬ”はｘ1 ｘ2 ｘ3 ｘ4 ＝＜“００００”，“１０００”＞を意味する。また信号値の下の（  ）内の数値は、入力信号の遷移時刻を０としたときの信号遷移時刻を表す、例えばＲ（３）は、時刻３に立ち上り遷移信号“Ｒ”が生じることを示す。図１５の第５列目は、各テストパターン系列をあたえたとき過渡電源電流をもちいた試験で検出可能なゲート遅延故障の集合（故障リスト）を示す。論理ゲートがゲート遅延故障をもつとき、論理ゲートの出力遷移時刻が遅れる。これに伴って、この故障論理ゲートの出力を入力とする論理ゲートの過渡電流ピークのタイミングが遅くなり、被試験集積回路の過渡電源電流は異常を示す。このため、あるテストパターン系列をあたえ過渡電源電流に異常が生じるか否かを観測することによって、上記入力テストパターン系列によりスイッチング動作（立ち上がり遷移または立ち下がり遷移）を生じる論理ゲートにたいし、これらの論理ゲートの出力信号線を入力とする論理ゲートがスイッチング動作を生じるとき、これらの論理ゲートが故障しているか否かを判別することができる。
【００８２】
たとえば、図１４に示す被試験ＣＭＯＳ集積回路にテストパターン系列Ｔ２をあたえると、図１６に示すように、被試験ＣＭＯＳ集積回路内の論理ゲートＧ1 の出力ノードｎ1に遷移信号Ｆ（１）が生じる。同様に、論理ゲートＧ2 ，Ｇ3の出力ノードｎ2 ，ｎ3には、それぞれ信号Ｒ（２），Ｆ（４）が生じる。また、論理ゲートＧ4の出力ノードｎ4には、ノードｎ2 における遷移信号Ｒ（２）とノードｎ3 における遷移信号Ｆ（４）によって、時刻４に立ち上がり遷移Ｒが生じ時刻６に立ち下がり遷移Ｆが生じる。すなわち、ノードｎ4 には遷移信号Ｒ（４）−Ｆ（６）が生じる。同様に、出力バッファＧ6 の出力端子ｚ1 には、遷移信号Ｒ（５）−Ｆ（７）が生じる。したがって、論理ゲートＧ1 ，Ｇ3 ，Ｇ4 のいずれかにslow-to-fall故障が存在するとき、または、論理ゲートＧ2 ，Ｇ4 にslow-to-rise故障が存在するとき、テストパターン系列Ｔ２を用いた過渡電源電流試験において過渡電源電流に異常が観測される。すなわち、テストパターン系列Ｔ２を用いた過渡電源電流試験により、論理ゲートＧ1 ，Ｇ3 ，Ｇ4 のslow-to-fall故障および論理ゲートＧ2 ，Ｇ4 のslow-to-rise故障を検出できる。したがって、テストパターン系列Ｔ２に対する故障リストは、以上のＩDDT 故障シミュレーションにより、｛Ｇ1 Ｆ，Ｇ3 Ｆ，Ｇ4 Ｆ，Ｇ2 Ｒ，Ｇ4 Ｒ｝ともとめることができる。ここで“Ｆ”および“Ｒ”は、それぞれslow-to-fall故障あるいはslow-to-rise故障であることを示す。
【００８３】
以上により、あるテストパターン系列で検出可能なゲート遅延故障単位の故障リストを生成することができる。
ＩDDT 故障シミュレーション方法（断線故障）
つぎに、断線故障単位で故障リストを生成するＩDDT 故障シミュレーション方法について説明する。図１７に被試験ＣＭＯＳ集積回路を示す。これは図１４に示したものと同一であるが、各入力端子ｘ1 ，ｘ2 ，ｘ3，ｘ4 と論理ゲートとの接続信号線、各論理ゲート間の接続信号線をそれぞれ信号線ｍ1 ，ｍ2 ，…，ｍ13により識別させている。ここで、信号線には入出力信号線も含むものとし、分岐した信号線はそれぞれ別々の信号線とした。また、出力信号線ｍ12，ｍ13は出力バッファＧ6 ，Ｇ7 に接続されているものとする。
【００８４】
上記被試験ＣＭＯＳ集積回路にたいしておこなったＩDDT 故障シミュレーション結果の一例を図１８に示す。図１８において、左から第１列目はテストパターン系列の識別子を示し、第２列目は被試験ＣＭＯＳ集積回路の入力端子ｘ1 ，ｘ2 ，ｘ3，ｘ4 にあたえる入力信号を示し、第３列目は各テストパターン系列をあたえたとき被試験ＣＭＯＳ集積回路の信号線ｍ1 ，ｍ2 ，…，ｍ13に生じる信号を示し、第４列目は各テストパターン系列をあたえたとき被試験ＣＭＯＳ集積回路の出力端子ｚ1 ，ｚ2 に生じる信号を示す。ここで、信号“Ｌ”，“Ｈ”，“Ｒ”，“Ｆ”は、図１５で説明したものと同一であり、たとえば、テストパターン系列Ｔ＝“ＲＬＬＬ”はｘ1 ，ｘ2 ，ｘ3 ，ｘ4 ＝＜“００００”，“１０００”＞を意味する。図１８の第５列目は、各テストパターン系列をあたえたとき過渡電源電流をもちいた試験で検出可能な断線故障の信号線の集合、すなわち、故障リストを示す。集積回路内部の信号線が断線故障をもつとき、故障信号線を入力とする論理ゲートのスイッチング動作が遅くなり、これに伴って論理回路の過渡電源電流波形が変化するため、被試験集積回路の過渡電源電流は異常を示す。このため、あるテストパターン系列をあたえ過渡電源電流に異常が生じるか否かを観測することによって、上記入力テストパターン系列によりスイッチング動作を生じる信号線にたいし、これらの信号線を入力とする論理ゲートがスイッチング動作を生じるとき、これらの論理回路が故障しているか否かを判別することができる。
【００８５】
たとえば、図１７に示す被試験ＣＭＯＳ集積回路にテストパターン系列Ｔ２をあたえると、図１９に示すように被試験ＣＭＯＳ集積回路内の信号線ｍ1 に遷移信号Ｆ（０）が生じ、信号線ｍ5 ,ｍ6 ,ｍ7にそれぞれ遷移信号Ｆ（１）,Ｆ（１）,Ｆ（１）が生じる。同様に、信号線ｍ8 ,ｍ9 ,ｍ10,ｍ11,ｍ12にはそれぞれ遷移信号Ｒ（２）,Ｆ（４）,Ｆ（４）,Ｆ（４）,Ｒ（４）−Ｆ（６）が生じ、出力端子ｚ1 に遷移信号Ｒ（５）−Ｆ（７）が生じる。信号線ｍ11に遷移信号Ｆ（４）が生じるが、それを入力とする論理ゲートＧ5 の出力には遷移が生じない、その他の信号線ｍ1 ,ｍ5 ,ｍ6 ,ｍ7 ,ｍ8 ,ｍ9 ,ｍ10,ｍ12のいずれかに断線故障が存在するときは、その信号線を入力とする論理ゲートの出力に遷移が生じるから、これらの信号線に断線故障が存在するとテストパターン系列Ｔ２を用いた過渡電源電流試験において過渡電源電流に異常が観測される。すなわち、テストパターン系列Ｔ２を用いた過渡電源電流試験により、信号線ｍ1 ,ｍ5 ,ｍ6 ,ｍ7 ,ｍ8 ,ｍ9 ,ｍ10,ｍ12における断線故障を検出できる。したがって、テストパターン系列Ｔ２に対する故障リストは、以上のＩDDT 故障シミュレーションにより、｛ｍ1 ,ｍ5 ,ｍ6 ,ｍ7 ,ｍ8 ,ｍ9 ,ｍ10,ｍ12｝ともとめることができる。ここで、断線故障のリストは、断線故障が生じうる信号線で示す。
【００８６】
以上により、あるテストパターン系列で検出可能な断線故障単位の故障リストを生成することができる。さらに、上記ＩDDT 故障シミュレーション方法は、論理ゲートを接続する信号線における断線故障に限定されるものではなく、論理ゲート内部の信号線上に故障を仮定することにより論理ゲート内部の信号線における断線故障を対象とすることも可能である。
ＩDDT 故障シミュレーション方法（パス遅延故障）
つぎに、パス遅延故障単位で故障リストを生成するこの発明の故障シミュレーション方法について説明する。図１４に示した被試験ＣＭＯＳ集積回路に対して行った故障シミュレーション結果の一例を図２０に示す。図２０において、第１列、第２列、第３列および第４列は図１５と同一である。第５列は、各テストパターン系列をあたえたとき過渡電源電流を用いた試験で検出可能なパス遅延故障の集合（故障リスト）を示す。被試験集積回路がパス遅延故障をもつとき、故障パスの出力遷移時刻が遅れる。これに伴って、この故障パス上のすべて、または、いずれかの論理ゲートの出力遷移時刻が変化することによって上記論理ゲート出力を入力とする次段の論理ゲートの過渡電流ピークのタイミングが遅くなり、被試験集積回路の過渡電源電流は異常を示す。このため、あるテストパターン系列をあたえ過渡電源電流に異常が生じるか否かを観測することによって、上記入力テストパターン系列によりパス上のすべての論理ゲートがスイッチング動作（立ち上がり遷移または立ち下がり遷移）を生じる信号伝搬パスにたいし、パス遅延故障が生じているか否かを判別することができる。
【００８７】
たとえば、上記被試験ＣＭＯＳ集積回路にテストパターン系列Ｔ１をあたえると、図２１（ａ）に示すように、被試験ＣＭＯＳ集積回路内の論理ゲートＧ1 の出力ノードｎ1に遷移信号Ｆ（１）が生じる。同様に、論理ゲートＧ2 ，Ｇ4および出力バッファＧ6 の出力には、それぞれ信号Ｒ（２），Ｒ（４），Ｒ（５）が生じる。したがって、信号伝搬パス｛ｘ1 ，ｎ1 ，ｎ2 ，ｎ4 ，ｚ1 ｝上のすべての論理ゲートがスイッチングするため、信号伝搬パス｛ｘ1 ，ｎ1 ，ｎ2 ，ｎ4 ，ｚ1 ｝にパス遅延故障があるときテストパターン系列Ｔ１を用いた過渡電源電流試験において過渡電源電流に異常が観測される。すなわち、テストパターン系列Ｔ１を用いた過渡電源電流試験により、信号伝搬パス｛ｘ1 ，ｎ1 ，ｎ2 ，ｎ4 ，ｚ1 ｝におけるパス遅延故障を検出できる。したがって、テストパターン系列Ｔ１に対する被検出故障リストは、以上の故障シミュレーションにより｛｛ｘ1 ，ｎ1 ，ｎ2 ，ｎ4 ，ｚ1 ｝｝と求めることができる。
【００８８】
別の例では、上記被試験ＣＭＯＳ集積回路にテストパターン系列Ｔ２をあたえると、図２１（ｂ）に示すように、被試験ＣＭＯＳ集積回路内の論理ゲートＧ1 の出力ノードｎ1に遷移信号Ｆ（１）が生じ、同様に、論理ゲートＧ2 ，Ｇ3 ，Ｇ4および出力バッファＧ6の出力には、それぞれ信号Ｒ（２），Ｆ（４），Ｒ（４）−Ｆ（６），Ｒ（５）−Ｆ（７）が生じる。したがって、信号伝搬パス｛ｘ1 ，ｎ1 ，ｎ2 ，ｎ4 ，ｚ1 ｝および｛ｘ1 ，ｎ1 ，ｎ3 ，ｎ4 ，ｚ1 ｝上のすべての論理ゲートがスイッチングするため、信号伝搬パス｛ｘ1 ，ｎ1 ，ｎ2 ，ｎ4 ，ｚ1 ｝または｛ｘ1 ，ｎ1 ，ｎ3 ，ｎ4 ，ｚ1 ｝の何れかにパス遅延故障があるときテストパターン系列Ｔ２を用いた過渡電源電流試験において過渡電源電流に異常が観測される。しかし、信号伝搬パス｛ｘ1 ，ｎ1 ，ｎ2 ，ｎ4 ，ｚ1 ｝のパス遅延時間が増加すると、出力信号線ｚ1 における立ち上がり遷移Ｒ（５）が遅延し、ｚ1 における信号遷移が生じなくなる恐れがある。このため、信号伝搬パス｛ｘ1 ，ｎ1 ，ｎ2 ，ｎ4 ，ｚ1 ｝のパス遅延時間を過渡電源電流試験により測定することができなくなり、信号伝搬パス｛ｘ1 ，ｎ1 ，ｎ2 ，ｎ4 ，ｚ1 ｝のパス遅延故障を検出できない。すなわち、テストパターン系列Ｔ２を用いた過渡電源電流試験により検出できるパス遅延故障は、信号伝搬パス｛ｘ1 ，ｎ1 ，ｎ3 ，ｎ4 ，ｚ1 ｝におけるパス遅延故障のみである。したがって、テストパターン系列Ｔ２に対する被検出故障リストは、以上の故障ミシュレーションにより｛｛ｘ1 ，ｎ1 ，ｎ3 ，ｎ4 ，ｚ1 ｝｝と求めることができる。
【００８９】
一般に、あるテストパターン系列で信号線に複数の遷移信号が生じるとき、過渡電源電流試験で検出可能なパス遅延故障は、上記信号線における最終の遷移信号と同じ遷移信号を上記信号線に生じる信号伝搬パスのパス遅延故障のみである。たとえば、あるテストパターン系列である信号線にＲ（ａ）−Ｆ（ｂ）−Ｒ（ｃ）−Ｆ（ｄ）−Ｒ（ｅ）なる遷移信号が生じたとする。ここで、遷移時刻ａ,ｂ,ｃ,ｄ,ｅは、ａ＜ｂ＜ｃ＜ｄ＜ｅを満たすとする。このとき、過渡電源電流試験により試験可能な信号伝搬パスは、遷移信号Ｒ（ａ）,Ｒ（ｃ）,Ｒ（ｅ）を生じるパスのみである。
【００９０】
以上により、あるテストパターン系列で検出可能なパス遅延故障単位の故障リストを生成することができる。ここで、故障リストに登録されるパス遅延故障をもつ信号伝搬パスは、被試験回路の入力端子から出力端子まで到達するパスに限定されるものではなく、たとえば図１４に示した半導体集積回路の｛ｘ1 ,ｎ1 ｝、または｛ｘ1 ,ｎ1 ,ｎ3 ｝のように出力端子まで到達しない信号伝搬パスでもよい。
さらに、この発明の故障シミュレーション方法および故障シミュレータはＣＭＯＳ集積回路に限定されるものではなく、他のタイプの半導体集積回路にも適用することができる。
【００９１】
【発明の実施の形態】
以下、この発明の実施例について説明する。
【００９２】
図２２はこの発明の実施例で使用される故障シミュレータの構成の一例を示している。この故障シミュレータ１００は、故障リスト作成の対象である２つ以上のテストパターンからなるテストパターン系列をテストパターン系列リストから選択するテストパターン系列選定手段１０１と、そのテストパターン系列選定手段１０１により選定されたテストパターン系列を、被試験半導体集積回路に入力した場合回路内部の遷移シミュレーション回路情報と各論理ゲートの遅延情報を用いて行い、回路内部の信号線に生じる立上り遷移、立下り遷移を区別して遷移信号値列を計算する遷移シミュレータ１０２と、その遷移シミュレータ１０２により計算された各信号線の遷移信号値列を用いて上記テストパターン系列により過渡電源電流試験で検出可能な故障リストを生成する故障リスト生成手段１０３と、によって構成されている。つまり、テストパターン系列リストとテストパターン系列選定手段１０１は、例えば入力端子が３つの被試験半導体集積回路の場合、３つの疑似ランダムパターン系列発生器を設け、その初期値を互いに異ならせて同一のクロックで同期して、ランダムパターン系列を発生させ、各クロックごとに３つの疑似ランダムパターン系列発生器の各出力をテストパターンとして取出せばよい。あるいは３ビットカウンタにクロックを計数させ、その各３ビットで表わされた計数値をテストパターンとして取出してもよい。これらの手法はソフトウェアで構成することも容易に理解されよう。また所要のテストパターンをメモリに記憶しておき、これを順次取出してもよい。何れにしても、被試験半導体集積回路について、何れの論理ゲートでの立上り又は立下り遷移を区別した遅延故障、何れの信号線での立上り又は立下り遷移を区別した断線故障の何れのパスの立上り又は立下り遷移を区別した遅延故障でも検出可能な個所として検出できるのに必要な十分なデータが得られるだけの各テストパターンを発生可能に、例えば疑似ランダム発生器のシフト段数を選定し、あるいはテストパターン系列の数を十分多くメモリに記憶しておく。またテストパターン系列選定手段１０１はこのようなテストパターン系列を遷移シミュレータ１０２へ入力することであり、要はテストパターン系列を取出し又は発生させて遷移シミュレータ１０２へ入力することである。
【００９３】
遷移シミュレータ１０２はソフトウェアで構成する場合は、テストパターンが被試験半導体集積回路に入力された場合、そのテストパターンについて、被試験半導体集積回路の各論理ゲートにおける演算を順次ソフトウェアにより演算し、その各演算結果に基づく論理値の遷移状態、つまり立上り遷移Ｒ、立下り遷移Ｆ、遷移なしＬ又はＨを、テストパターンの印加からの遅延時間と共に、その結果（遷移信号値）が現われる信号線について記憶してゆくことを各テストパターンについて行うことにより各信号線に生じる遷移信号値列を容易に得ることができる。遷移シミュレータ１０２をハードウェアで構成する場合は、例えばフィールドプログラマブルゲートアレー（ＦＰＧＡ）に被半導体集積回路の回路情報と論理ゲートの遅延情報を入力して、被半導体集積回路を構成し、この回路にテストパターンを入力した時の各信号線の信号論理値の遷移と遅延時間を検出し、これを対応する信号線ごとに記憶してゆくことを各テストパターンごとに順次行わせる構成とすればよい。この遷移シミュレータ１０２には、汎用のイベント駆動型の論理シミュレータ、たとえば、シノプシス社製のＶＨＤＬ  Ｓｙｓｔｅｍ  Ｓｉｍｕｌａｔｏｒ（ＶＳＳ）を用いることもできる。故障リスト生成手段１０３については後で述べる。
【００９４】
つぎに、この発明の故障シミュレータ１００を使用して半導体集積回路の故障シミュレーションを行う場合の動作を説明する。図２３はこの発明の故障シミュレーション方法の処理手順を示している。はじめに、故障シミュレータ１００が、ステップ２０１において、故障シミュレーションの対象となるテストパターン系列のリストを作成し、リストに登録する。このリストの作成登録は先にも述べたように必ずしも行う必要がなく、例えばランダムパターン発生によりテストパターン系列を発生できるようにしておけばよい。
【００９５】
つぎに、テストパターン系列選定手段１０１が、ステップ２０２において、上記テストパターン系列リストから故障リストを生成したいテストパターン系列を一つ選択する。つまり、予め作成したテストパターン系列のリストから任意に一つのテストパターン系列を選択し、又はテストパターン系列発生器から一つのテストパターン系列を発生させる。ステップ２０３において、遷移シミュレータ１０２が、ステップ２０２において選択されたテストパターン系列が入力された場合について、被試験半導体集積回路の回路情報と各論理ゲートの遅延情報を用いて遷移シミュレーションを行い、回路内部の各信号線に生じる遷移信号値列を計算する。ステップ２０４において、故障リスト生成手段が、ステップ２０３で得られた回路内部の信号線に生じる遷移信号値列をもとに選択したテストパターン系列で検出されうる故障のリストを生成する。
【００９６】
最後に、故障シミュレータ１００は、ステップ２０５において、上記テストパターン系列リストに処理されていないテストパターン系列が存在するか否かを確認しテストパターン系列発生器よりテストパターン系列を取出す場合は、所要とする故障検出に十分な数のテストパターン系列を発生したかを確認し、処理されていない（発生していない）テストパターン系列が存在するならば、ステップ２０２,２０３,２０４,２０５を繰り返し、処理されていないテストパターン系列が存在しないならば（十分な数のテストパターン系列を発生したならば）、処理を終了する。ステップ２０３で用いる故障リスト作成は、ゲート遅延故障を単位として故障リストを生成してもよいし、断線故障を単位として故障リストを生成してもよいし、パス遅延故障を単位として故障リストを生成してもよい。
【００９７】
図２４は図２３中のステップ２０４における故障リスト生成方法の処理手順の例を示している。はじめに、ステップ３０１において、被試験半導体集積回路内で故障となり得る箇所の１つを選択して初期設定する。つぎに、ステップ３０２において、上記設定箇所が故障した場合に過渡電源電流試験による故障検出条件を、遷移シミュレータ１０２により計算された遷移信号値系列が満たすか否かを確認し、過渡電源電流試験による故障検出条件を満たすならば、ステップ３０３において上記設定箇所を故障リストに登録し、ステップ３０２で過渡電源電流試験による故障検出条件を満たさないならば、ステップ３０４に移行する。ステップ３０４において、他に処理されていない故障となり得る箇所が存在するか否かを確認し、処理されていない故障となり得る箇所が存在するならば、ステップ３０５で次の故障となり得る箇所を設定してステップ３０２に移る。このようにして被試験半導体集積回路内で故障となりうるすべての箇所が処理されるまでステップ３０２，３０３，３０４，３０５を繰り返し、処理されていない箇所が存在しないならば、処理を終了する。
【００９８】
図２５は、ゲート遅延故障単位で故障リストを生成する場合の図２３中のステップ２０４における故障リスト作成方法の処理手順を示している。はじめに、ステップ４０１において、被試験半導体集積回路内に生じうる遷移方向を区別したゲート遅延故障（論理ゲート）を１つ選択し、初期設定する。ステップ４０２において、遷移シミュレータ１０２により計算された遷移シミュレーションの結果をもとに上記ゲート遅延故障をもつ論理ゲート（故障論理ゲート）が、設定された上記ゲート遅延故障に対応して、遷移方向を含めて正しくスイッチングするか否かを確認し、上記故障論理ゲートが正しくスイッチングしているならば、ステップ４０３に移行し、上記故障論理ゲートが正しくスイッチングしていないならば、ステップ４０５に移行する。
【００９９】
ステップ４０２では、たとえば、設定されたゲート遅延故障がslow-to-rise故障である場合は故障論理ゲートの出力が立ち上がり遷移をもつか否かを確認し、逆に、設定されたゲート遅延故障がslow-to-fall故障である場合は故障論理ゲートの出力が立ち下がり遷移をもつか否かを確認する。つぎに、ステップ４０３において、遷移シミュレータ１０２により計算された遷移シミュレーションの結果をもとに上記ゲート遅延故障をもつ論理ゲートの出力を入力とする論理ゲート（負荷論理ゲート）の出力信号線がスイッチングしているか否かを確認し、上記負荷論理ゲートの出力信号線がスイッチングしているならば、ステップ４０４において上記ゲート遅延故障を故障リストに登録し、上記負荷論理ゲートの出力信号線がスイッチングしていないならば、ステップ４０５に移行する。例えば、図１４に示した被試験半導体集積回路においてゲート遅延故障Ｇ1Ｆが設定された場合、ステップ４０２でテストパターン系列Ｔ１，Ｔ２，Ｔ３により故障論理ゲートＧ1が正しく立下り遷移をしていることが確認され、かつ、ステップ４０３でその負荷論理ゲートＧ2の出力線がテストパターン系列Ｔ１，Ｔ２，Ｔ３よりスイッチングしていることが確認される。よってステップ４０４でＧ1Ｆをテストパターン系列Ｔ１，Ｔ２，Ｔ３のそれぞれに登録し、又はＧ1Ｆに、テストパターン系列Ｔ１，Ｔ２，Ｔ３を登録する。同様にＧ1Ｒが設定された場合は、テストパターン系列Ｔ４，Ｔ５により故障論理ゲートＧ1が正しく立上り遷移をしていることが確認され、かつ、負荷論理ゲートＧ2の出力線がテストパターン系列Ｔ４、Ｔ５によりスイッチングしていることが確認されて、Ｇ1Ｒに対し、Ｔ４，Ｔ５が、又はＴ４，Ｔ５に対し、それぞれＧ1Ｒが登録される。
【０１００】
ステップ４０５において、他に処理されていないゲート遅延故障が存在するか否かを確認し、処理されていないゲート遅延故障が存在するならば、ステップ４０６において起こりうるつぎのゲート遅延故障を設定して上記ステップ４０２，４０３，４０４，４０５を繰り返し、処理されていないゲート遅延故障が存在しないならば、処理を終了する。
【０１０１】
図２６は、断線故障単位で故障リストを生成する場合の図２３中のステップ２０４における故障リスト作成方法の処理手順を示している。はじめに、ステップ５０１において、被試験半導体集積回路内に生じうる断線故障を１つ選択し、初期設定する。つぎに、ステップ５０２において、遷移シミュレータ１０２により計算された遷移シミュレーションの結果をもとに設定した断線故障をもつ信号線（故障信号線）がスイッチングするか否かを確認し、その故障信号線がスイッチングしているならば、ステップ５０３に移行し、その故障信号線がスイッチングしていないならば、ステップ５０５に移行する。
【０１０２】
ステップ５０３において、遷移シミュレータ１０２により計算された遷移シミュレーションの結果をもとに上記故障信号線を入力とする論理ゲート（負荷論理ゲート）の出力信号線がスイッチングしているか否かを確認し、上記負荷論理ゲートの出力信号線がスイッチングしているならば、ステップ５０４において上記断線故障を故障リストに登録し、上記負荷論理ゲートの出力信号線がスイッチングしていないならば、ステップ５０５に移行する。ステップ５０５において、他に処理されていない断線故障が存在するか否かを確認し、処理されていない断線故障が存在するならば、ステップ５０６において起こりうるつぎの断線故障を設定して上記ステップ５０２，５０３，５０４，５０５を繰り返し、処理されていない断線故障が存在しないならば、処理を終了する。
【０１０３】
図２７は、パス遅延故障単位で故障リストを生成する場合の図２３中のステップ２０４における故障リスト作成方法の処理手順を示している。はじめに、ステップ６０１において、被試験半導体集積回路内に生じうるパス遅延故障を１つ選択し、初期設定する。ステップ６０２において、遷移シミュレータ１０２により計算された遷移シミュレーションの結果をもとに上記設定パス遅延故障をもつパス（故障パス）上のすべての論理ゲートがスイッチングするか否かを確認し、上記故障パス上のすべての論理ゲートがスイッチングしているならば、ステップ６０３に移行し、上記故障パス上の論理ゲートが一つでもスイッチングしていないならば、ステップ６０６に移行する。
【０１０４】
ステップ６０３において、遷移シミュレータ１０２により計算された遷移シミュレーションの結果をもとに上記故障パス上に図２３のステップ２０２で選択されたテストパターン系列により複数回スイッチングしている論理ゲートが存在するか否かを確認し、複数回スイッチングしている論理ゲートが存在するならば、ステップ６０４に移行し、複数回スイッチングしている論理ゲートが存在しないならば、ステップ６０５において上記パス遅延故障を故障リストに登録する。
【０１０５】
ステップ６０４において、上記複数回スイッチングするすべての論理ゲートのオンパス入力（故障パス上のその論理ゲートの入力信号線）が過渡電源電流試験による故障検出条件を満たすか否かを確認し、過渡電源電流試験による故障検出条件を満たすならば、ステップ６０５において上記パス遅延故障を故障リストに登録し、過渡電源電流試験による故障検出条件を満たさないならば、ステップ６０６に移行する。つまりステップ６０４では、複数回スイッチングするすべての論理ゲートに対し、上記論理ゲートのオンパス入力に対応する出力遷移信号が、上記論理ゲートの出力信号線における最終の遷移信号と同じ種類の遷移信号であるか否かを確認する。例えば図２1（ｂ）中の論理ゲートＧ4が複数回スイッチングしている例では、Ｇ4のオンパス入力ｎ3の入力遷移信号“Ｆ（４）”に対応するＧ4の出力遷移信号“Ｆ（６）”は論理ゲートＧ4の最終の遷移信号“Ｆ（６）”と一致しているため、オンパス入力ｎ3は過渡電源電流試験による故障検出条件を満たす。
【０１０６】
ステップ６０６において、他に処理されていないパス遅延故障が存在するか否かを確認し、処理されていないパス遅延故障が存在するならば、ステップ６０７において起こりうるつぎのパス遅延故障を設定して上記ステップ６０２，６０３，６０４，６０５，６０６を繰り返し、処理されていないパス遅延故障が存在しないならば、処理を終了する。
【０１０７】
この発明の故障シミュレーション方法および故障シミュレータは、遅延故障や断線故障に限定されるものではなく、過渡電源電流の故障検出条件や故障モデルを適宜変更することにより、論理故障（縮退故障）や短絡故障、および、ＭＯＳトランジスタのパラメータ不良などの故障箇所も検出対象とすることができる。
【０１０８】
【発明の効果】
この発明の故障シミュレーション方法によれば、可観測性が高く論理ゲートのスイッチング情報をもつ過渡電源電流試験法を用いることにより、従来不可能であった遅延故障あるいは遅延故障を生じる断線故障に対し、あるテストパターンを用いて過渡電源電流試験で検出可能な故障リストを生成できるため、遅延故障や断線故障に対する試験の効率を大幅に改善することができる。
【図面の簡単な説明】
【図１】（ａ）はＣＭＯＳインバータの入力電圧ＶIN、出力電圧ＶOUT の経時変化とその電源電流ＩDDの過渡応答の一例を示す図、（ｂ）はそのＣＭＯＳインバータ回路と出力の立ち上がり遷移時に流れる電源電流を示す図、（ｃ）はそのＣＭＯＳインバータ回路と出力立ち下り遷移時に流れる電源電流を示す図である。
【図２】ＣＭＯＳ論理ゲートの過渡応答の典型例を示し、（ａ）は入力電圧ＶIN、出力電圧ＶOUT、電源電流ＩSの伝達特性図、（ｂ）は過渡電流の近似波形を示す図である。
【図３】（ａ）はＣＭＯＳ集積回路の例を示す回路図、（ｂ）はその集積回路に対する入力電圧、出力電圧の変化と判定する過渡電源電流応答ＩDDT の様子を示す図である。
【図４】断線故障を模式的に説明する図。
【図５】（ａ）は断線故障をもつＣＭＯＳ集積回路の一例を示す図、（ｂ）、（ｃ）はその断線無し、有りの出力波形例を示す図である。
【図６】断線故障をもつＣＭＯＳ集積回路の過渡電源電流応答の一例を示す図。
【図７】（ａ）はパス遅延故障試験方法の基本原理を模式的に示す図、（ｂ）はその入出力とクロックの関係を示す図である。
【図８】過渡電源電流のパルス幅を利用した過渡電源電流試験方法の原理図。
【図９】過渡電源電流の瞬時値を利用した過渡電源電流試験方法の原理図。
【図１０】（ａ）はＣＭＯＳインパータの入力信号線に存在する微小オープン欠陥のモデルを示す図、（ｂ）は信号遷移時間を模式的に示す図である。
【図１１】ＣＭＯＳ集積回路内に存在する微小オープン欠陥の抵抗値に対するＣＭＯＳ集積回路の過渡電源電流の積分値の変化を示す図。
【図１２】ＣＭＯＳ集積回路の被試験パス上に存在する微小オープン欠陥の抵抗値に対する被試験パスのパス遅延時間の変化を示す図。
【図１３】ＣＭＯＳ集積回路の被試験パス上に微小オープン欠陥が存在すると仮定したときの、ＣＭＯＳ集積回路の過渡電源電流の積分値と被試験パスのパス遅延時間の間の線形性を示す図。
【図１４】この発明の故障シミュレーション方法を説明するために用いられる、被試験ＣＭＯＳ集積回路の一例を示す回路図。
【図１５】図１４に示した回路についてのゲート遅延故障を対象としたときの、この発明の故障シミュレーション結果の一例を示す図。
【図１６】図１４に示した回路にテストパターン系列を印加した時の遷移のシミュレーション結果を示す図。
【図１７】断線故障を対象とした時の被試験ＣＭＯＳ集積回路の一例を示す回路図。
【図１８】断線故障を対象としたときの、この発明の故障シミュレーション結果の一例を示す図。
【図１９】図１７の回路にテストパターン系列Ｔ２を印加した場合の各部の遷移シミュレーション結果を示す図。
【図２０】パス遅延故障を対象としたときの、この発明の故障シミュレーション結果の一例を示す図。
【図２１】図１４の回路にテストパターン系列Ｔ１，Ｔ２をそれぞれ印加した時の各部の遷移シミュレーションを示す図。
【図２２】この発明による故障シミュレータの構成を示す図。
【図２３】この発明による故障シミュレーション方法の実施例を示す流れ図。
【図２４】図２３中の故障リスト作成ステップの具体的手順を示す流れ図。
【図２５】図２３中の故障リスト作成ステップをゲート遅延故障単位での故障リストの作成に適用した手順の例を示す流れ図。
【図２６】図２３中の故障リスト作成ステップを断線故障単位で故障リストの作成に適用した手順の例を示す流れ図。
【図２７】図２３中の故障リスト作成ステップをパス遅延故障単位の故障リストの生成に適用した手順を示す流れ図。
【図１】
0004336029.tif 000025
【図２】
0004336029.tif 000026
【図３】
0004336029.tif 000027
【図４】
0004336029.tif 000028
【図５】
0004336029.tif 000029
【図６】
0004336029.tif 000030
【図７】
0004336029.tif 000031
【図８】
0004336029.tif 000032
【図９】
0004336029.tif 000033
【図１０】
0004336029.tif 000034
【図１１】
0004336029.tif 000035
【図１２】
0004336029.tif 000036
【図１３】
0004336029.tif 000037
【図１４】
0004336029.tif 000038
【図１５】
0004336029.tif 000039
【図１６】
0004336029.tif 000040
【図１７】
0004336029.tif 000041
【図１８】
0004336029.tif 000042
【図１９】
0004336029.tif 000043
【図２０】
0004336029.tif 000044
【図２１】
0004336029.tif 000045
【図２２】
0004336029.tif 000046
【図２３】
0004336029.tif 000047
【図２４】
0004336029.tif 000048
【図２５】
0004336029.tif 000049
【図２６】
0004336029.tif 000050
【図２７】
0004336029.tif 000051