(57)【要約】【課題】  半導体集積回路のチップ内におけるマスクパターンの物理的な情報、セルや機能ブロックの実績を考慮し、実際の故障に基づく高精度かつ高効率の故障検査やレイアウトを行なう事を可能として、初期不良などの故障の低減に寄与できるようにする。【解決手段】  チップ内におけるマスクパターンの物理的な情報、また、セルや機能ブロックの実績を考慮して、故障の起こりやすさの順番づけ１３０３及び故障の重みづけを行ない、実際の故障に基づく高精度かつ高効率の故障検査１３０６やレイアウトを行なう。【選択図】        図１０
2005332389.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路の故障を検査することによって、この半導体集積回路における故障の発生しやすい箇所に関する情報もしくは故障を低減するために対策すべき情報である故障リストを作成し、この故障リストを用いて前記半導体集積回路の故障検査を行なう故障検査方法であって、前記故障検査の際に、スキャン設計におけるスキャンライン上のフリップフロップのピンと、システムクロック、セット、リセット関連のピンと、信号不定状態を発生するトライステートセルのコントロールピンとのいずれかに関する故障を事前に故障リストから省き、残った故障リストを用いて半導体集積回路の故障検査を行なう半導体集積回路の故障検査方法。
【請求項２】
故障リストに、各故障についての故障の起こりやすさに関するデータを持たせる請求項１記載の半導体集積回路の故障検査方法。
【請求項３】
半導体集積回路の故障を検査することによって、この半導体集積回路における故障の発生しやすい箇所に関する情報もしくは故障を低減するために対策すべき情報である故障リストを作成し、この故障リストを用いて前記半導体集積回路の故障検査を行なう故障検査方法であって、前記故障リストは各故障の特性により順番づけされている半導体集積回路の故障検査方法。
【請求項４】
半導体集積回路の故障を検査することによって、この半導体集積回路における故障の発生しやすい箇所に関する情報もしくは故障を低減するために対策すべき情報である故障リストを作成し、この故障リストを用いて前記半導体集積回路の故障検査を行なう故障検査方法であって、前記故障リストは各故障の起こりやすさにより順番づけされている半導体集積回路の故障検査方法。
【請求項５】
半導体集積回路の故障を検査することによって、この半導体集積回路における故障の発生しやすい箇所に関する情報もしくは故障を低減するために対策すべき情報である故障リストを作成し、この故障リストを用いて前記半導体集積回路の故障検査を行なう故障検査方法であって、各故障の特性に基づいて前記故障の重みづけを行って、故障検査のための故障検出率を求める半導体集積回路の故障検査方法。
【請求項６】
半導体集積回路の故障を検査することによって、この半導体集積回路における故障の発生しやすい箇所に関する情報もしくは故障を低減するために対策すべき情報である故障リストを作成し、この故障リストを用いて前記半導体集積回路の故障検査を行なう故障検査方法であって、各故障の起こりやすさにより故障の重みづけを行なって、故障検査のための故障検出率を求める半導体集積回路の故障検査方法。
【請求項７】
各故障の起こりやすさにより順番づけを行ない、この順番づけにしたがって故障の重みづけを行なう請求項５または６記載の半導体集積回路の故障検査方法。
【請求項８】
半導体集積回路をレイアウトするためのレイアウト装置から得られるマスク情報に基づいて故障の起こりやすさによる順番づけ又は重みづけを行なう請求項３から７までのいずれか１項記載の半導体集積回路の故障検査方法。
【請求項９】
半導体集積回路をレイアウトするためのレイアウト装置から得られるマスク情報に基づいて配線間距離を計算し、この配線間距離に応じて故障の起こりやすさによる順番づけ又は重みづけを行なう請求項３から７までのいずれか１項記載の半導体集積回路の故障検査方法。
【請求項１０】
半導体集積回路をレイアウトするためのレイアウト装置から得られるマスク情報に基づいて電源線と信号配線の距離を計算し、この電源線と信号配線の距離に応じて故障の起こりやすさによる順番づけ又は重みづけを行なう請求項３から７までのいずれか１項記載の半導体集積回路の故障検査方法。
【請求項１１】
半導体集積回路をレイアウトするためのレイアウト装置から得られるマスク情報に基づいてコンタクト数を計算し、このコンタクト数に応じて故障の起こりやすさによる順番づけ又は重みづけを行なう請求項３から７までのいずれか１項記載の半導体集積回路の故障検査方法。
【請求項１２】
半導体集積回路をレイアウトするためのレイアウト装置から得られるマスク情報に基づいて上下隣り合う層での信号線のクロス数を計算し、この上下隣り合う層での信号線のクロス数に応じて故障の起こりやすさによる順番づけ又は重みづけを行なう請求項３から７までのいずれか１項記載の半導体集積回路の故障検査方法。
【請求項１３】
半導体集積回路の故障を検査することによって、この半導体集積回路における故障の発生しやすい箇所に関する情報もしくは故障を低減するために対策すべき情報である故障リストを作成し、この故障リストにおける一部の故障については故障検査手段によりテストパターンを作成し故障検査を行ない、前記故障リストにおける残りの故障についてはレイアウト手段によりマスクの配置、配線を行なう半導体集積回路のレイアウト方法。
【請求項１４】
配線同士の間隔を広げることによりマスクの配置、配線を行なう請求項１３記載の半導体集積回路のレイアウト方法。
【請求項１５】
故障検査の際に、スキャン設計におけるスキャンライン上のフリップフロップのピンと、システムクロック、セット、リセット関連のピンと、信号不定状態を発生するトライステートセルのコントロールピンとのいずれかに関する故障を事前に故障リストから省き、残った故障リストを用いて半導体集積回路の故障検査を行なう請求項１３記載の半導体集積回路のレイアウト方法。
【請求項１６】
故障リストに、各故障についての故障の起こりやすさに関するデータを持たせる請求項１３から１５までのいずれか１項記載の半導体集積回路のレイアウト方法。
【請求項１７】
故障リストに、各故障についての故障の起こりやすさに関するデータを持たせて、半導体集積回路のためのマスクの配置、配線を行なう請求項１３から１５までのいずれか１項記載の半導体集積回路のレイアウト方法。
【請求項１８】
半導体集積回路の故障を検査することによって、この半導体集積回路における故障の発生しやすい箇所に関する情報もしくは故障を低減するために対策すべき情報である故障リストを作成し、この故障リストを用いて、前記半導体集積回路のためのマスクの配置、配線を行なう半導体集積回路のレイアウト方法であって、各故障の特性に基づいて順番づけされた故障リストを用いて半導体集積回路のためのマスクの配置、配線を行なう半導体集積回路のレイアウト方法。
【請求項１９】
半導体集積回路の故障を検査することによって、この半導体集積回路における故障の発生しやすい箇所に関する情報もしくは故障を低減するために対策すべき情報である故障リストを作成し、この故障リストを用いて、前記半導体集積回路のためのマスクの配置、配線を行なう半導体集積回路のレイアウト方法であって、各故障の起こりやすさにより順番づけされた故障リストを用いて半導体集積回路のためのマスクの配置、配線を行なう半導体集積回路のレイアウト方法。
【請求項２０】
半導体集積回路の故障を検査することによって、この半導体集積回路における故障の発生しやすい箇所に関する情報もしくは故障を低減するために対策すべき情報である故障リストを作成し、この故障リストを用いて、前記半導体集積回路のためのマスクの配置、配線を行なう半導体集積回路のレイアウト方法であって、各故障の特性に基づいて前記故障の重みづけを行なって、半導体集積回路のマスクの配置、配線のための故障検出率を求める半導体集積回路のレイアウト方法。
【請求項２１】
半導体集積回路の故障を検査することによって、この半導体集積回路における故障の発生しやすい箇所に関する情報もしくは故障を低減するために対策すべき情報である故障リストを作成し、この故障リストを用いて、前記半導体集積回路のためのマスクの配置、配線を行なう半導体集積回路のレイアウト方法であって、各故障の起こりやすさにより故障の重みづけを行なって、半導体集積回路のマスクの配置、配線のための故障検出率を求める半導体集積回路のレイアウト方法。
【請求項２２】
各故障の起こりやすさにより順番づけを行ない、この順番づけにしたがって故障の重みづけを行なう請求項２０または２１記載の半導体集積回路のレイアウト方法。
【請求項２３】
半導体集積回路をレイアウトするためのレイアウト装置から得られるマスク情報に基づいて故障の起こりやすさによる順番づけ又は重みづけを行なう請求項１８から２２までのいずれか１項記載の半導体集積回路のレイアウト方法。
【請求項２４】
半導体集積回路のセルや機能ブロックについての過去の使用実績に基づく信頼性についてのデータベースに基づき故障の起こりやすさによる順番づけ又は重みづけを行なう請求項１８から２２までのいずれか１項記載の半導体集積回路のレイアウト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路の故障検査方法及びレイアウト方法に関し、特に集積回路を効率的かつ高精度で故障検査およびレイアウトすることが可能な、半導体集積回路の故障検査方法及びレイアウト方法に関する。
【背景技術】
【０００２】
図４８に半導体集積回路のマスクパターンについての従来のレイアウト処理について示す。
【０００３】
すなわち、論理検証の完了した回路ネットリスト１０１に基づき、レイアウト装置１０２により、集積回路のマスクパターンの物理的な配置、配線を行ったマスクレイアウト図１０４が自動的に生成される。回路図においては実際の物理情報は無いため、レイアウト処理において初めてマスクパターンの物理的な位置関係が与えられる。レイアウトにおけるマスクパターンの物理的な位置関係は、現状においては集積回路の論理動作のタイミング情報１０３に基づいて考慮される場合がほとんどである。
【０００４】
集積回路の製造プロセスにおいて、例えばマスクに微細な異物が付着すると、その付着部分でパターンブリッジ等の不良が生じ得る。このような不良は、一般に集積回路の検査工程で所定のテストパターンを用いて入出力信号を調べることにより検出される。このようなテストパターンを回路図等の情報に基づいて自動的に生成する自動テストパターン生成装置（ＡＴＰＧ）も良く知られている。
【０００５】
しかし、高度の集積回路にあっては、コストに見合う検査時間の制限から、実行するテストパターンの数も限られる。そこで、如何に短時間で効率的に集積回路の不良（以下、「故障」という）を検出するかが重要である。そこで、あるテストパターンで集積回路の故障をどの程度の確率で検出できるか、すなわち故障検出率の評価を行なうことが必要になる。このような故障検出率の評価をも、本発明では「故障検査」ということにする。なお本発明において、「故障検査」は、故障を検査するという本来の意味で用いることもある。
【０００６】
図４９に従来の故障検査の流れ図を示す。回路ネットリスト２０１もしくは、故障リスト２０３とテストパターン２０４とを用いて故障検出率を出力する。
故障検査手段（ＡＴＰＧ）２０２では、具体的には、集積回路にあらかじめ人為的に故障状態を作っておき、これを検査機（又は故障検出器）にかけてその故障が正常に検出されるか否かを調べる（故障シミュレーション）。
【０００７】
故障リストは、読み込むだけでなく、検出結果として出力する場合もある。故障検査手段（ＡＴＰＧ）２０２においては、回路ネットリストもしくは故障リスト２０３を用いてテストパターン２０４を自動的に生成し、併せて故障検出率２０５を出力する場合もある。
【０００８】
近年、集積回路の大規模化にともない、高い故障検出率を確保するために、膨大なテストパターンと、そのテストパターンを故障シミュレーションする処理時間とが必要になってきている。ＡＴＰＧによる処理時間およびＡＴＰＧによって自動生成されるテストパターンも同様に膨大になってきている。一方では、集積回路の信頼性を上げるために、求められる故障検出率は益々高くなってきている。
【０００９】
一方、従来から、市場不良率と故障検出率は一般に下記の式（１）で表されている。この式において、Ｕは市場不良率、Ｋは故障検出率、Ｙは歩留りを表わす。
【００１０】
【数１】
2005332389.tif 000003
ここでの故障検出率は、単一縮退故障、つまり、０縮退故障と１縮退故障とをモデルとして扱われている。０縮退故障は、対象とする信号線が常に０に固定するような故障、例えば対象の信号線がＶＳＳ（グランド）電源のマスクとブリッジしているような場合が想定される。信号線と電源のマスクとのブリッジ以外の故障であっても、同様のモデルで表現できる場合がかなりあり、従来は、大まかに式（１）で表現可能となっている。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
チップ上の物理的な領域において、故障の発生原因となる現象、例えばマスクへの異物の付着が生じたとき、これが故障に結び付くのは、マスクパターンが存在する部分に異物が付着したときである。チップ上にはマスクパターンが存在しない部分があり、この部分に異物が付着しても故障にはつながらない。
【００１２】
通常、マスクパターンはチップ上に均一に存在しないで、マスクパターンが密である部分と疎である部分とがチップ上に生じている。したがって、故障の発生原因となる現象がチップ上でほほ均一に発生するとしても、実際の故障が発生する確率はチップ上では均一ではなく、マスクパターンが密である部分は疎である部分に比べて故障発生率が高くなる。
【００１３】
図５０に示すように矩形のチップ上にマスクパターンが存在する部分と存在しない部分が分布している場合を仮定する。図５０中、網かけされた「マスク有り部分」がマスクパターンの存在する部分であり、白地の「マスク無し部分」がマスクパターンの存在しない部分である。矩形のチップ全体を上下左右に分割して４つのブロックＡ、Ｂ、Ｃ、Ｄとすると、各ブロックにおけるマスクパターンの密度、すなわち、全面積にマスクパターンが占める割合が異なっている。図５０の場合、マスクパターンの密度はブロックＢが最も高く、Ｄ、Ａ、Ｃの順に低くなっている。図中において、×印は故障発生原因箇所を示すが、マスクパターン密度の低い部分は、故障の発生原因となる現象が起こっても故障発生率が低い。これに対して、マスクパターン密度の高い部分は、同じ故障の発生原因となる現象による故障発生率が高くなる。例えば、図５０の場合、ブロックＢはブロックＡよりマスクパターン密度が高いので、故障の発生原因となる現象による故障発生率はブロックＢのほうがブロックＡより高くなる。
【００１４】
一方、集積回路において、例えば通常の信号線のマスクが電源線のマスクと近接していると、電源からのノイズ等の影響を受けて誤動作する可能性も高くなる。また、信号線が近接している場合も、信号強度の弱い信号が強度の強い信号に影響されて誤動作する可能性が高くなる。
【００１５】
このように実際の故障の起こる確率は、マスクの状態、つまりマスクの配置、配線のレイアウトの状態、及びマスクの種類によって変わってくる。
さらに、新規のプロセスや新規に開発したセルや信頼性試験の保証されていないセルや機能ブロックを用いる場合は、故障の可能性が高くなる。
【００１６】
従来の故障検査は、図４８や図４９に示すように回路のネットリストとテストパターンのみを用いて処理しており、回路のレイアウトの状態、及びセルや機能ブロックの実績を考慮していない。つまり、故障検査の対象となるそれぞれの故障について実際の故障が起こる確率を均一に仮定して故障シミュレーション処理するため、従来の故障検出率は、実際の故障発生率の指標としての精度を保証できないおそれがある。また、実際に生じやすい故障を先に故障検査やＡＴＰＧによる処理の対象とするという効果的な処理を行なうことができない。
【００１７】
また、近年、集積回路の大規模化、微細化に伴って、従来のような単一縮退故障モデルでは表せない故障が出て来ることが予想される。つまり、市場不良率と故障検出率の関係は上述の式（１）では表現出来なくなってくる可能性が高い。
そこで、実際の故障の発生を考慮した新たな故障検出率の尺度が必要になってくる。
【００１８】
さらに、従来のレイアウト方法は、故障の起こりやすさを考慮したものではなく、故障を起こさないためのマスクレイアウト対策は行なわれていない。
そこで本発明は、半導体集積回路のチップ内におけるマスクパターンの物理的な情報、また、セルや機能ブロックの実績を考慮し、実際の故障に基づく高精度かつ高効率の故障検査やレイアウトを行なう事を可能として、初期不良などの故障の低減に寄与できるようにすることを目的とする。
【課題を解決するための手段】
【００１９】
本発明の故障検査方法は、半導体集積回路における故障の発生しやすい箇所に関する情報もしくは故障を低減するために対策すべき情報である故障リストを用いて前記半導体集積回路の故障検査を行なうものである。また本発明の故障検査方法及びレイアウト方法は、チップ内におけるマスクパターンの物理的な情報や、セルや機能ブロックの実績を考慮して、故障の起こりやすさの順番づけ及び故障の重みづけを行なうものである。
【００２０】
したがって本発明によると、実際の故障に基づく高精度かつ高効率の故障検査やレイアウトを行なう事が可能となり、半導体集積回路における初期不良などの故障の低減に寄与することができる。
【発明の効果】
【００２１】
以上のように本発明によれば、半導体集積回路における故障の発生しやすい箇所に関する情報である故障リストを用いて前記半導体集積回路の故障検査を行なう事により、またチップ内におけるマスクパターンの物理的な情報や、セルや機能ブロックの実績を考慮して、故障の起こりやすさの順番づけ及び故障の重みづけを行なう事により、実際の故障に基づく高精度かつ高効率の故障検査やレイアウトを行なう事が可能となり、半導体集積回路における初期不良などの故障の低減に寄与することができる。
【発明を実施するための最良の形態】
【００２２】
本発明は、半導体集積回路における故障の発生しやすい箇所に関する情報もしくは故障を低減するために対策すべき情報である故障リストを用いて、前記半導体集積回路の故障検査を行なうか、又は前記半導体集積回路のためのマスクの配置、配線を行なうものである。
【００２３】
また本発明は、半導体集積回路の故障を検査することによって、この半導体集積回路における故障の発生しやすい箇所に関する情報もしくは故障を低減するために対策すべき情報である故障リストを作成し、この故障リストを用いて前記半導体集積回路の故障検査を行なうか、又は前記半導体集積回路のためのマスクの配置、配線を行なうものである。
【００２４】
また本発明は、故障検査の際に検出しにくい故障を事前に故障リストから省き、残った故障リストを用いて半導体集積回路の故障検査を行なうか、又は前記半導体集積回路のためのマスクの配置、配線を行なうものである。
【００２５】
また本発明は、故障リストに、各故障についての故障の起こりやすさに関するデータを持たせるものである。
また本発明は、各故障の起こりやすさにより順番づけされた故障リストを用いて半導体集積回路の故障検査を行なうか、又は前記半導体集積回路のためのマスクの配置、配線を行なうものである。
【００２６】
また本発明は、各故障の起こりやすさにより故障の重みづけを行なって、故障検査のための故障検出率を求めるか、又は半導体集積回路のマスクの配置、配線のための故障検出率を求めるものである。
【００２７】
また本発明は、各故障の起こりやすさにより順番づけを行ない、この順番づけにしたがって故障の重みづけを行なうものである。
また本発明は、半導体集積回路をレイアウトするためのレイアウト装置から得られるマスク情報に基づいて故障の起こりやすさによる順番づけ又は重みづけを行なうものである。
【００２８】
また本発明は、半導体集積回路をレイアウトするためのレイアウト装置から得られるマスク情報に基づいてマスクパターンの密度を計算し、このマスクパターンの密度に応じて故障の起こりやすさによる順番づけ又は重みづけを行なうものである。
【００２９】
また本発明は、半導体集積回路のセルや機能ブロックについての過去の使用実績に基づく信頼性についてのデータベースに基づき故障の起こりやすさによる順番づけ又は重みづけを行なうものである。
【００３０】
また本発明は、各故障を検出した場合に取り得る故障検出率を算出し、指定した故障検出率を達成するのに不要な故障を、故障の起こり難い順に削除し、残りの故障に対して故障検査の処理を行なうものである。
【００３１】
また本発明は、順番づけにしたがって各故障検査の処理を行ないながら、故障検出率を算出し、指定した故障検出率を達成した時点で処理を停止するものである。
以下、本発明の実施の形態を図面を用いて説明する。
【００３２】
図１は、本発明の第１の実施の形態を説明するものである。集積回路で発生する故障は、マスクの状態、つまりマスクの配置、配線のレイアウトの状態と、マスクの種類とによって変わってくる。また、使用しているセル及び機能ブロックの実績の程度によっても変わってくる。そして、このような故障を起こしやすい箇所は、マスクの配置、配線のレイアウトにおいて対策することにより、そこでの故障の発生率を下げることが可能である。例えば、通常の信号線のマスクが電源線のマスクと近接していると電源からのノイズ等の影響を受けて誤動作する可能性も高くなるが、この場合に、電源線とマスクの間隔を広げる事により、故障の起こる可能性を下げることができる。
【００３３】
従来のものでは、回路ネットリスト４０１に基づき、レイアウト手段４０２により、集積回路のマスクパターンの物理的な配置、配線を行ったマスクレイアウト図４０４が自動的に生成されるだけであるが、本発明の第１の実施の形態では、故障の発生しやすい箇所の情報もしくは故障を低減するためにレイアウト手段４０２で対策すべき情報である故障リスト４０３を、このレイアウト手段４０２に取り込む。なお、故障の発生しやすい箇所は、レイアウト手段４０２から生成する場合もある。故障リスト４０３としては、マスク間が近いことや、電源マスクに接近していることや、クロックを供給する信号線のマスクが近接していることや、コンタクトの重なりが多いことや、上下隣り合う信号線がクロスしていることなどが挙げられる。この場合、一旦マスクのレイアウトを行った後に故障リストを生成し、再度、レイアウト手段４０２において故障を低減するための対策を行う。また、例えば故障検査を十分に行っていない対象故障箇所をレイアウト手段４０２で対策する場合は、この対象箇所が故障リスト４０３に含まれる。
【００３４】
図２は、本発明の第２の実施の形態に関して説明するものである。ここでは、故障検査を行うことにより、故障リストが作成される。故障検査の結果、未検出があれば、テストパターンを追加していく必要がある。ある程度故障検出率が高くなってくると、さらに故障検出率を上げるためのテストパターンを作成するのに要する時間も、そのテストパターンのステップ数も、膨大になってくる。ＡＴＰＧの場合でも非常に長いテストパターンが生成されたり、自動で生成することができない場合も出てくる。つまり完全に故障検出率１００％にするのは困難であり、結果として未検出故障が残る場合がほとんどである。これらの未検出故障は、実際に故障していても、それを検出するテストパターンが無く、見逃されてしまう事になる。よって、可能な限りこうした故障を起こさないように対策する必要がある。
【００３５】
そこで、この第２の実施の形態においては、故障検査手段５０１から出力される故障リスト５０２をレイアウト手段５０４に読み込んで、このレイアウト手段５０４において故障を低減するための対策を行う。その結果として、対策を行ったマスクレイアウト図５０５を生成する。このように故障検査で不十分なところをマスクレイアウトにおいて対策することにより、不良を抑え、かつ効率的な故障検査を行うことが可能になる。
【００３６】
故障検査手段５０１で生成する故障リスト５０２としては、未検出故障、検出できるかどうか解らない故障、処理するのに非常に時間がかかるため、故障検査装置が処理をあきらめた故障があり、具体的には、これらの故障の発生に対応したレイアウト上の物理的な座標データを規定する。
【００３７】
図３は、本発明の第３の実施の形態を説明するものである。故障検査においては、処理時間が長大化する原因の一つとして、検出しにくい、もしくは検出できない故障の扱いが考えられる。
【００３８】
故障検査において、それぞれの故障を検出できるかどうかの検査時間は一律ではなく、故障検出のされやすさや検査時に発生するイベント量によって大きく異なる。検査時に発生するイベントの発生量が多くなると、故障検出器のハードウェアへの負担から処理時間の増大を招く。故障検査においては、検出される可能性の高いテストパターンあるいは検出されやすい故障を先に処理し、イベント発生等により処理時間のかかる故障は、後で処理するか、処理しないで別の対策を行う方が効果的である。
【００３９】
こうした検出しにくい故障は、回路上である程度わかっている。例えばスキャン設計におけるスキャンライン上のフリップフロップのピン、あるいはシステムクロック、セット、リセット関連のピン、さらには信号不定状態を発生するトライステートセルのコントロールピン等は、そこに設定した故障が回路の広範囲に影響を及ぼし、通常の検査対象箇所に設定した故障に比べて、検査時に多くのイベントを発生する可能性がある。
【００４０】
本発明の第３の実施の形態は、故障検査の対象となる故障リストから、処理の長大化につながる検出しにくい故障を前もって省き、残りの故障に対して故障検査を行い、また省いた故障に対してはマスクレイアウトにおいて故障を低減する対策を行うものであり、全体としての工数を削減し、市場不良を削減するものである。
【００４１】
具体的には、検出しにくい故障リスト削除手段６０２により故障検査の対象となる故障リスト６０１から検出しにくい故障リスト６０３に示した故障を省き、残りの故障６０６に対して効果的な故障検査６０７を行う。この検出しにくい故障リスト６０３に該当するレイアウト上のセルインスタンス名、マスク名等を指定する。通常の故障検査においてはテストパターン６０８は故障検査手段６０７に入力されるが、ＡＴＰＧの場合は自動的にテストパターン６０８が生成される。検出しにくい故障に対しては、レイアウト手段６０４において実際の故障を低減するようなマスクの配置、配線の対策を行い、マスクレイアウト図６０５を生成する。
【００４２】
図４〜図８は、本発明の第４の実施の形態を説明するものである。図４に示すような回路ネットリストがある場合、故障検査の対象となる故障リストは、図５のようになる。
故障検査は、実際に発生する不良を検出するために行う処理である。現状の故障検査は、回路ネットリストを基準としており、対象となる故障に対して実際の故障のしやすさを一律に扱っている。ところが、現実的には故障の起こりやすさは一律ではなく、マスクの物理的な要因などに基づいて変わってくる。よって、故障検査において本来の目的である不良を検出しはじき出すためには、現実的に起こりやすい対象故障を重点的に先に処理する必要がある。また、ＡＴＰＧにおいても実際に故障しやすい対象故障を検出するパターンを効率的に自動生成する必要がある。
【００４３】
そこで本発明の第４の実施の形態においては、例えば図４の回路に対しては、図６に示すような故障の起こりやすさにより順番付けされた故障リストを故障検査手段に取り込み、効率的な故障検査もしくは、ＡＴＰＧによる検査を行う。具体的には、図７に示すように、順番づけされた故障リスト１００３を故障検査手段１００２に取り込んで効率的な故障検査を行い、高精度な故障検出率１００５を出力する。ＡＴＰＧの場合は、回路ネットリスト１００１に基づいて順番づけされた故障リスト１００３を用いて、効率的なテストパターン１００４を生成し、あわせて高精度な故障検出率１００５を出力する。
【００４４】
一方、実際に故障しやすい箇所については、マスクの配置、配線のレイアウト処理において対策をすることにより、不良を起こりにくくすることが可能である。この第４の実施の形態においては、図８に示すように、故障検査手段だけでなく、レイアウト手段に順番付けされた故障リストを取り込み、不良を起こりにくくする。具体的には、レイアウト手段１１０２に順番づけされた故障リスト１１０３を取り込み、不良を起こりにくくするマスクの配置、配線を行い、マスクレイアウト図１１０４を生成する。１１０１は回路ネットリストである。故障リストに関しては、前もって順番づけの基準をレイアウト手段１１０２に取り込み、この基準に基づいて、既にレイアウトされているマスクから順番づけされた故障リスト１１０３を生成する場合もある。
【００４５】
図９〜図１３は、本発明の第５の実施の形態を示す。図９は、図４に示す回路図をマスクレイアウト図に置き換えた場合の一部を示していると仮定する。図９において、斜線は電源となるマスクを示す。また、図４におけるＨ及びＯの対象故障箇所は、図９におけるそれぞれＨ、Ｏのマスクと対応している。この場合、Ｈは電源マスクに近接している。Ｈは、Ｏに比べて、例えばＸのような微細な異物による配線ショートが発生しやすい。また、電源マスクからのノイズの影響も受けやすい。つまり故障の起こる可能性は、ＨはＯに比べて高くなる。この故障の発生の可能性の違いは、２つの対象故障箇所のマスクの配置、配線のレイアウト状態によって生じる。
【００４６】
そこで本発明の第５の実施の形態においては、レイアウト手段のマスク情報から故障リストを実際の故障の起こりやすさにより順番づけし、この順番に従って、故障検査を行なったり、もしくはレイアウト手段によって実際の故障を起こさない対策を行なったりする。具体的には、図１０に示す通りとする。すなわち、まずレイアウト手段１３０１でマスクの配置、配線のレイアウトを行なう。この際のマスク情報１３０２に基づき、対象故障リスト１３０４を順番づけする（１３０３）。この順番づけされた故障リスト１３０５に基づき、故障検査を行ない（１３０６）、実際の故障の起こりやすさに応じた高精度な故障検出率１３０８を効率的に出力する事が可能となる。通常の故障検査においては、テストパターン１３０７は故障検査手段１３０６に入力される。ＡＴＰＧの場合は自動的にテストパターン１３０７が生成される。
【００４７】
一方、図１１では、レイアウト手段１４０１でのマスク情報１４０２に基づき故障リスト１４０４を順番づけし（１４０３）、この順番づけされた故障リスト１４０５の情報に基づき、マスクの配置、配線のレイアウト手段１４０６により、実際の故障の起こりやすい箇所に対して対策を行ない、最終的なマスクレイアウト図１４０７を生成する。
【００４８】
具体的な故障リストの順番づけの方法について、図１２の回路図と図１３のマスクレイアウト図とを用いて説明する。マスク上で配線が近いとショート故障やクロストークによる故障が発生しやすくなる。よって図１３に示すようにマスクレイアウトの配置座標の情報から配線の距離Ｙを計算して、配線がより近いほど故障が起こりやすいという順番づけを行う。例えば図１２において５つの箇所で見た場合、配線の距離が４＜２＜５＜１＜３であれば、この順番で故障が起こりやすいと判断する。
【００４９】
マスク上で電源用のマスクが通常信号線の近くに有る場合、その信号線は電源から影響を受けてノイズが発生し、不良となる場合がある。図１３において、斜線は電源線である。この図１３に示すように、まずマスクレイアウトの配置座標の情報から電源線を特定し、配置座標の情報から電源線と信号配線の距離Ｘを計算して、配線がより近いほど故障が起こりやすいという順番づけを行う。例えば図１２において５つの箇所で見た場合、電源線（斜線）と信号配線の距離が４＜５＜２＜１＜３であれば、この順番で故障が起こりやすいと判断する。
【００５０】
クロックを供給する信号線が通常信号線の近くに有る場合、同様にその信号線は電源から影響を受けてノイズを発生し、不良となる場合がある。この場合、クロックを供給する信号線の情報をレイアウト装置に与える事により、同様の流れにて順番づけを行う。
【００５１】
マスク上でコンタクトを使った信号線の乗り換えが多いと、コンタクト不良による信号の断線が起こりやすくなる。よって図１３に示すように、マスクレイアウトの信号線の情報から同一配線を探索し、コンタクト数をカウントし、コンタクト数が多いほど故障が起こりやすいという順番づけを行う。図１３において配線ＣのコンタクトはＯ、Ｐ、Ｑ、Ｒであり、コンタクト数は４である。例えば図１２において５つの箇所で見た場合、コンタクト数が４＞１＞３＞２＞５という順番であれば、この順番で故障が起こりやすいと判断する。
【００５２】
マスク上で信号線がクロスしていると相互間で配線ショートが起こる場合がある。図１３において配線Ａと配線ＣはＳにおいてクロスしている。また、配線Ｂと配線ＣはＴでクロスしている。よって図１３においてマスクレイアウトの信号線のクロス状態（上下隣合う層）及びクロス数をカウントし、上下隣合う層での信号線のクロス数が多いほど故障が起こりやすいという順番づけを行う。例えば図１２において５つの箇所で見た場合、上下隣合う信号線のクロス数が４＞１＞５＞２＞３という順番であれば、この順番で故障が起こりやすいと判断する。
【００５３】
図１４〜図１６は、本発明の第６の実施の形態を示すものである。前記したように、図５０においてはマスクパターンの密度はＢ＞Ｄ＞Ａ＞Ｃの順番に高い。故障の起こる確率もこの順番に高くなる。そこで、この第６の実施の形態においては、マスクパターンの密度によって故障リストの順番づけを行なう。マスクパターンの密度は、次の式で計算する。
【００５４】
ＭＤ＝ＭＳ×１００／ＢＳ（％）
この式において、ＭＤはマスクパターンの密度、ＭＳは指定したブロック内のマスクパターン部分の面積、ＢＳは指定したブロックの面積である。
【００５５】
具体的な処理の流れを図１４を使って説明する。まずレイアウト手段１７０１によってマスク情報１７０２を生成する。次にマスクレイアウト図を個々のセル、機能ブロックもしくは他の指定ブロックに分割するためのブロック分け情報１７０４に基づいて、そのマスクレイアウト図を分割し、それぞれの分割ブロックのマスク密度を算出する（１７０３）。生成する各ブロックのマスク密度一覧１７０５に基づいて故障リスト１７０７を順番づけし（１７０６）、順番付けされた故障リスト１７０８に基づいて故障検査を行ない（１７０９）、実際の故障の起こりやすさを加味した高精度な故障検出率１７１１を出力する。通常の故障検査においては、テストパターン１７１０は故障検査手段１７０９に入力される。ＡＴＰＧの場合は自動的にテストパターン１７１０が生成される。図１５にマスク密度一覧１７０５の例を示す。この例では、ブロック１のマスクパターンの密度は９０％である。順番づけは、マスクパターンの密度が高い順に対象故障を並べていく。
【００５６】
図１６の処理では、マスクパターンの密度に基づく故障リストの順番づけは同様であるが、この順番づけされた故障リストの情報に基づき、マスクの配置、配線のレイアウト手段により、実際の故障の起こりやすい箇所に対して対策を行なう。すなわち、レイアウト手段１９０１によるマスク情報１９０２、ブロック分け情報１９０４に基づいてマスクレイアウト図を分割し、それぞれの分割ブロックのマスク密度を算出する（１９０３）。そして生成する各ブロックのマスク密度一覧１９０５に基づいて故障リスト１９０７を順番づけし（１９０６）、順番付けされた故障リスト１９０８に基づいて、マスクの配置、配線のレイアウト手段１９０９により、実際の故障の起こりやすい箇所に対して対策を行い、最終的なマスクレイアウト図１９１０を生成する。
【００５７】
図１７〜図１９は、本発明の第７の実施の形態を示すものである。
集積回路の中に、新規のプロセスや、新規に開発したが実績の少ないセルや信頼性試験の保証されていないセルや機能ブロックなどを用いる場合、故障の可能性は高くなる。そこで、故障検査やレイアウトにおいて、こうした過去の使用実績を考慮する必要がある。この第７の実施の形態に示す方法では、セル、機能ブロックなどについての過去の実績をデータベースとしてまとめ、故障検査及びマスクのレイアウトにおいて考慮し、実際の故障の起こりやすさに応じた高精度な故障検出率を得たり、実際の故障の起こりやすい箇所に対して対策を行なうものである。
【００５８】
図１７にデータべースの具体例を示す。このデータベースは、集積回路内で使用するセル、機能ブロック名、それぞれの過去の品種での使用実績回数、過去に不良を発生した場合の回数、信頼性試験の状況、集積回路の内部で使用しているプロセスの実績回数からなる。信頼性試験の状況において例えば「◎」印は所定の基準を満足している場合を示し、「○」印は信頼性試験の途中等で満足できていない場合を示し、「△」印は信頼性試験において問題がある場合を示す。
【００５９】
図１８に具体的な処理の流れについて示す。故障リスト２１０２の順番づけ手段２１０１において、セル、機能ブロックの実績データベース２１０３の情報を取り込み、対象故障の順番づけを行なう。この順番づけされた故障リスト２１０４に基づいて故障検査を行ない（２１０５）、実際の故障の起こりやすさに応じた高精度な故障検出率２１０７を出力する。通常の故障検査においてはテストパターン２１０６は故障検査手段２１０５に入力され、ＡＴＰＧの場合は自動的にテストパターン２１０６が生成される。
【００６０】
図１９では、機能ブロックの実績データベースに基づく故障リストの順番づけは図１８の場合と同様であるが、ここでは、この順番づけされた故障リストの情報に基づき、マスクの配置、配線のレイアウト手段により、実際の故障の起こりやすい箇所に対して対策を行なう。具体的には、セル、機能ブロックの実績データベース２２０３の情報により故障リスト２２０２を順番づけし（２２０１）、この順番づけされた故障リスト２２０４に基づき、マスクの配置、配線のレイアウト手段２２０５により、実際の故障の起こりやすい箇所に対して対策を行い、最終的なマスクレイアウト図２２０６を生成する。
【００６１】
図２０は、本発明の第８の実施の形態を示すものである。
故障検出率は、使用するテストパターンにおいて対象故障を検出できる尺度を示しており、故障検査により算出される。本来、この対象故障は、実際に起こり得る故障でないといけない。ところが、実際に起こる故障は起こりやすさという点で一律ではない。起こりやすいものもあるし、起こりにくいものもある。しかし、従来の故障検査手段では、実際の故障のしやすさを考慮しておらず、結果として一律として扱っている。つまり、起こりやすい故障も起こり難い故障も同一に扱われ、検出したら故障検出率にカウントし、検出できないと未検出として扱われている。
【００６２】
この場合、たとえ起こりにくい故障を検出して故障検出率を高くしても、起こりやすい故障、つまり、気をつけないといけない故障を検出していないと、実際の故障の起こる可能性は高くなる。故障検出率の本来の目的は、実際の故障をはじくことにある。そのためにはテストパターンは起こりやすい故障を重点的にはじくものでなければならない。つまり、故障検出率においても、故障の起こりやすいものは故障の比重を高く、起こり難い故障は、比重を低くする事が必要である。
【００６３】
図２０において、対象故障がＡ点の１故障、Ａ点の０故障、Ｂ点の１故障のようにいくつかある場合、従来は、各対象故障についての故障の重みづけは等しく１である。しかしながら、実際の故障の起こりやすさを考えると、故障の重みづけが必要であり、図において、重みの平均値を１．０として、例えばＡ点の１故障、０故障は、起こり難く０．２、Ｂ点の１故障は実際に起こりやすく１．８のようになる。
【００６４】
従来から市場不良率と故障検出率の関係は、上記の式（１）で表されている。この式では、故障を単一縮退故障として扱っているが、今後、集積回路の大規模化、微細化に伴って、従来のような単一縮退故障モデルでは表せない故障が出て来ることが予想される。つまり、市場不良率と故障検出率の関係は式（１）では表現出来なくなってくる可能性が高い。そこで、実際の故障の発生を考慮し、重みづけを行なった新たな故障検出率の尺度は重要であり、これを行なうことにより、より正しく故障検出率と市場不良率との関係を導き、最終的には市場不良を低減する事が可能となる。
【００６５】
図２１〜図２３は、本発明の第９の実施の形態を示すものである。ここでは、上述の故障の重みづけについての具体的な方法を示す。
すなわち、対象故障を故障の起こりやすさにより順番づけし、この順番づけに従って、故障の重みづけを一定の割合で変化させる。具体的な処理手順を図２１に示す。故障リスト２４０２を順番づけ手段２４０１によって順番づけし、生成した順番づけされた故障リスト２４０３に対して故障の重みづけ手段２４０４によって重みづけを行なう。生成した重みづけされた故障リスト２４０５に対して故障検査を行ない（２４０６）、重みづけを考慮した高精度な故障検出率２４０８を算出する。通常の故障検査においてはテストパターン２４０７は故障検査手段２４０６に入力されるが、ＡＴＰＧの場合は自動的にテストパターン２４０７が生成される。
【００６６】
図２１では、重みづけした故障リストに対して故障検査を行なっているが、重みづけを行なわない通常の故障検査を実施した後に故障の重みづけを行ない、重みづけを用いた高精度な故障検出率を再計算し直す事も有り得る。
【００６７】
図２２に重みづけの具体的な例を示す。重みづけの変化の割合は、
ｄ＝２／（ｎ＋１）
で表す。ここで、ｄは重みづけの変化の割合、ｎは対象故障数である。図２２の例では対象故障数ｎは３９個である。重みづけの変化の割合は、
２／（３９＋１）＝０．０５
となる。もっとも重みづけの低いＬ点の１故障は、０．０５となる。その次に重みの低いＫ点の０故障は、これに０．０５を足して０．１０となる。重みづけの真中の故障は、Ｔ点の０故障であり、重みは１．００となる。最も重みの高い故障はＨ点の１故障であり、重みは１．９５となる。
【００６８】
次に具体的な故障検出率を計算する。図２３に示すように、重みづけを行なった故障に対して検出、未検出の判定を仮定する。従来の故障検出率の算出法では、式（２）のように単純に全故障数と検出された故障数から故障検出率を算出している。
【００６９】
【数２】
2005332389.tif 000004
しかしながら、本発明に基づく重みづけを考慮した故障検出率は、式（３）のように算出する。
【００７０】
【数３】
2005332389.tif 000005
すなわち、全重みの合計もしくは全故障数に対して、検出した各故障の重みを１．９５＋１．９０＋１．８０＋……＋１．００＋……＋０．０５のように足していき、故障検出率を計算する。
【００７１】
図２４〜図２５は、本発明の第１０の実施の形態を示す。この実施の形態においても、故障の重みづけの具体的な方法に関して示す。ここでは、レイアウト手段により得られるマスク情報に基づき、セルもしくは機能ブロックのマスク密度を計算し、このマスク密度と集積回路全体のマスク密度である平均のマスク密度との割合から故障の重みづけを行なう。
【００７２】
具体的に図２４を使って処理の流れを説明する。まずレイアウト手段２７０１によってマスク情報２７０２を生成する。次に、マスクレイアウト図を個々のセル、機能ブロックもしくは他の指定ブロックに分割するためのブロック分け情報２７０４に基づいてマスクレイアウト図を分割し、それぞれの分割ブロックのマスク密度を算出し（２７０３）、ブロックのマスク密度一覧２７０５を生成する。算出手段２７０３においては、対象となる集積回路のチップ全体のマスク密度（以下、「平均マスク密度」という）も併せて生成する。この平均マスク密度と生成する各ブロックのマスク密度の割合から故障リスト２７０７に示す各対象故障の重みづけを行なう（２７０６）。ここで、各故障は、その故障に直接影響するセルもしくは機能ブロックのマスク密度に応じて重みづけされる。この重みづけされた故障リスト２７０８に基づいて故障検査を行ない（２７０９）、重みづけを考慮した高精度な故障検出率２７１１を出力する。通常の故障検査においてはテストパターン２７１０は故障検査手段２７０９に入力されるが、ＡＴＰＧの場合は自動的にテストパターン２７１０が生成される。
【００７３】
なお、図２４では重みづけした故障リストに対して故障検査を行なっているが、重みづけを行なわない通常の故障検査を実施した後に故障の重みづけを行ない、重みづけを用いた高精度な故障検出率を再計算し直す事も有り得る。
【００７４】
図２５は重みづけされた故障リストの例を示す。平均マスク密度である１チップのマスク密度は、１．０である。セルや機能ブロックは、平均マスク密度との割合からマスク密度を決定し、そのマスク密度がそのまま重みづけとなる。個々の対象故障は、その故障箇所に直接影響するセルもしくは機能ブロックのマスク密度に応じて重みづけされる。例えば、Ａ故障は、ブロックＡに絡む故障であり、ブロックＡの重みづけは０．９であるため、この故障の重みづけも０．９となる。
【００７５】
図２６は、本発明の第１１の実施の形態を示す。この実施の形態においても、故障の重みづけの具体的な方法を示す。ここでは、集積回路の中に使用しているセル、機能ブロックなどの過去の実績に基づき、故障の重みづけを行なう。セル、機能ブロックなどの過去の実績に関しては、例えば前述の図１７で示したデータベースを用いる。図１７において、使用実績が低いほど、また過去不良回数が多いほど、また信頼性試験での問題がある程、またプロセス実績の回数が低いほど、故障の重みづけは高くなる。図１７においては、セルや機能ブロックに対しての実績を示しているが、個々の対象故障の重みづけは、その故障箇所に直接影響するセルもしくは機能ブロックの過去の実績から得られる重みづけに従って行われる。
【００７６】
図２６の手順によれば、まずセルや機能ブロックの実績データベース２９０３に基づき、故障リスト２９０２を重みづけする（２９０１）。この重みづけされた故障リスト２９０４に対して故障検査２９０５を行ない、重みづけを考慮した高精度な故障検出率２９０７を出力する。通常の故障検査においてはテストパターン２９０６は故障検査手段２９０５に入力されるが、ＡＴＰＧの場合は自動的にテストパターン２９０６が生成される。
【００７７】
なお、図２６では重みづけした故障リストに対して故障検査を行なっているが、重みづけを行なわない通常の故障検査を実施した後に故障の重みづけを行ない、重みづけを用いた高精度な故障検出率を再計算し直す事も有り得る。
【００７８】
図２７は、本発明の第１２の実施の形態を示す。この実施の形態においても、故障の重みづけの具体的な方法を示す。ここでは、レイアウト手段から得られるマスク情報に基づいて故障の重みづけを行なう。具体的な重みづけの方法は、例えば、前述の図１２、図１３のマスク図によって説明した故障リストの順番づけの方法に基づく。
【００７９】
図２７は具体的な処理の手順について示す。まず、レイアウト手段３００１により生成するマスク情報３００２に基づき、故障リスト３００４の重みづけを行なう（３００３）。この重みづけされた故障リスト３００５に対して故障検査３００６を行ない、重みづけを考慮した高精度な故障検出率３００８を出力する。通常の故障検査においてはテストパターン３００７は故障検査手段３００６に入力されるが、ＡＴＰＧの場合は自動的にテストパターン３００７が生成される。なお、図２７では重みづけした故障リストに対して故障検査を行なっているが、重みづけを行なわない通常の故障検査を実施した後に故障の重みづけを行ない、重みづけを用いた高精度な故障検出率を再計算し直す事も有り得る。
【００８０】
図２８〜図３０は、本発明の第１３の実施の形態を示す。故障検査は非常に時間のかかる処理であるため、実際に故障の起こる可能性の低い故障は可能な限り処理しないで、効果的に処理を行なう事が望ましい。このため、故障の起こりやすさによって順番づけし、かつ故障の起こりやすさによって故障を重みづけすると、故障検査を行なう必要のある故障から優先的に処理をすることが可能であるとともに、それぞれの対象故障を検出した場合に取り得る故障検出率を計算する事が可能である。ここに示す方法では、達成したい故障検出率を与える事により、その故障検出率を得るための必要故障を故障の起こりやすい順に抜き出し、残りの対象故障については、不要な故障として処理を行なわないで、効果的に故障検査を行なう。
【００８１】
図２８に具体的な処理の手順を示す。ここでは、故障リストの順番づけ手段３１０１によって故障リスト３１０２を順番づけする。そして、生成した故障リスト３１０３に対して故障の重みづけ手段３１０４によって重みづけを行ない、さらに取り得る故障検出率の計算を行ない（３１０５）、取り得る故障検出率を含む故障リスト３１０６を生成する。また達成したい故障検出率を指定し（３１０８）、故障リスト３１０６から検査不要故障を削除する（３１０７）。そのうえで、残った故障リスト３１０９に対して故障検査を行ない（３１１０）、重みづけを考慮した高精度な故障検出率３１１２を効果的に出力することが可能である。通常の故障検査においてはテストパターン３１１１は故障検査手段３１１０に入力されるが、ＡＴＰＧの場合は自動的にテストパターン３１１１が生成される。
【００８２】
図２９は、前述の図２２の例について取り得る故障検出率を含む故障リスト３１０６の例を示している。Ｈ点の１故障のみを検出すると、全故障数は３９であるため、取り得る故障検出率は１．９５×１００／３９＝５．０％となる。同様にＩ点の１故障まで検出すると取り得る故障検出率は９．９％となる。また、故障の起こり難いＫ点の０故障まで検出すると取り得る故障検出率は９９．９％、さらに最も故障しにくいＬ点の１故障まで全て検出すると１００％の故障検出率を取り得ることになる。ここで、目標故障検出率として１５％を指定すると、Ｇ点の１故障までを対象とすればよい事になる。
【００８３】
図３０では、図２８における検査不要故障を削除する処理までは同じであるが、ここでは、残った故障リストに対して、マスクの配置、配線のレイアウト手段により、実際の故障の起こりやすい箇所に対策を行なう。すなわち、故障リスト３３０２の順番づけを行ない（３３０１）、生成する故障リスト３３０３に関して故障の重みづけを行ない（３３０４）、併せて取り得る故障検出率を計算する（３３０５）。生成した故障リスト３３０６から達成したい故障検出率３３０８に従って検査不要故障を省き（３３０７）、残った故障リスト３３０９に対してレイアウト手段３３１０により対策を行ない、最終的なマスクレイアウト図３３１１を生成する。
【００８４】
図３１は、本発明の第１４の実施の形態を示す。上述の第１３の実施の形態では、故障検査を効果的に実施するために、故障検査を行なう前に、達成したい故障検出率に対して不要な故障を省いたが、ここでは、前もって不要故障を省くのではなく、故障検査の処理中に目標の故障検出率に達しているかどうかの確認を行ない、目標に達した時点で残りの故障に対して故障検査を行なわないようにする。
【００８５】
図３１は具体的な処理の手順について示す。まず、故障リストの順番づけ手段３４０１によって故障リスト３４０２の順番づけを行なう。次に、生成した故障リスト３４０３に対して故障の重みづけ手段３４０４で重みづけを行ない、重みづけした故障リスト３４０５を生成する。この故障リストによって故障検査を行なう（３４０６）。故障検査の最初に、目標の故障検出率を指定しておく（３４０７）。故障検査３４０６では、個々の対象故障を処理するごとに、指定した故障検出率になったか否かの確認３４０８を行ない、達成していなければ次の対象故障を処理する。一方、目標故障検出率に達した場合は、故障検査処理を終り、重みづけを考慮した最終故障検出率３４０９を出力する。通常の故障検査においてはテストパターン３４１０は故障検査手段３４０６に入力されるが、ＡＴＰＧの場合は自動的にテストパターン３４１０が生成される。
【００８６】
なお、故障検査手段から指定した故障検出率に達した時点での故障リストを出力し、この故障情報に基づいてレイアウト手段により対策を行い、最終的なマスクレイアウト図を生成することもできる。
【００８７】
次に、本発明に基づくさらなる故障検査方法について説明する。
半導体集積回路の故障検査に際しては、テスターと称される検査装置が一般に用いられるが、半導体集積回路が異常動作したときにテスターが出力する異常箇所についての時間と信号状態と信号検出端子情報とを、ここでは「フェイルログ」と総称することにする。そして、以下に説明するように本発明では、テスターにおいて測定条件を変化させた場合のフェイルログを加工したり、複数フェイルログを総合的に判断したり、またマスクの配置、配線の物理的なレイアウト情報を加味することで、ネットリスト上の被疑故障箇所の抽出を比較的短時間に簡便かつ精度よく行うようにすることを主眼とする。
【００８８】
図３２〜図３３は、本発明の第１５の実施の形態を示す。前述の図１２および図１３に示すように、回路ネットリスト上では一見離れている場合でもマスクレイアウト図上では近くに配置されている場合がある。すなわち、図１２における２が図１３におけるＡに相当し、図１２における４が図１３におけるＢに相当するような場合には、図１２における２、４は比較的ばらついているが、これを図１３のＡ、Ｂで見ると隣り合う配線であることがわかる。仮に図１２の２、４の×印が被疑故障箇所であるとした場合、図１２上では関連性のない故障のように考えられるが、図１３で見るとマスクが近接しており、例えば配線ショートのような関連性のある故障が推定できる。このように回路ネットリストだけでは関連性がはっきりしない場合でも、実際の物理的なマスクレイアウト上では関連性が明白な場合が出てくる。実際に起こる故障は、最終的には実際のマスクレイアウト上の物理的な要素を考慮する必要がある。
【００８９】
これまでの故障診断システムでは回路ネットリストとシミュレータの中だけの絞り込みであったが、本発明に基づく故障検査方法では、マスクの配置、配線の物理的なレイアウト情報を加味した処理を行なう。図３２に本発明に基づく流れ図を示す。テスター８０１から出力されるフェイルログ９０１と、レイアウト装置９０２から得られる例えばＶＤＤ電源線や通常信号線のような配線の種類、配置座標値などのマスク情報９０３とを、故障診断システム９０４に入力し、被疑故障箇所を絞り込んで出力する（９０５）。故障診断システム９０４において被疑故障箇所を絞り込んでレイアウト装置９０２に情報を送り、必要な配線の種類、配置座標値を取り出す場合もある。
【００９０】
また、同様の考え方は、故障箇所を絞り込むだけでなく、図３３に示すようにレイアウト装置９０２から得られる配線の種類、配置座標値などのマスク情報９０３を入力として、故障の起こりやすさの判断を行なうことにより（３３００）、結果として起こりやすい故障の種類及び起こりやすい故障箇所のリスト３３０１を出力する事も可能である。
【００９１】
次に、上述の故障診断システム９０４による被疑故障箇所の絞り込みについて詳細に説明する。すなわち本発明では、テスターでの評価条件により不良サンプルのフェイルログが変化する場合に、このフェイルログの変化を考慮しないと、どの評価条件でのフェイルログを使うかによって被疑故障箇所の増大を招き、故障箇所の絞り込みに時間がかかることがあるという欠点を排除する。また、絞り込んだ被疑故障箇所のレイアウト上の物理的な位置関係を考慮しないと、絞り込んだ結果の故障源が多数存在する場合には、実際の物理的な故障箇所を自動で特定するのは困難であり、マスクレイアウト図の関連する部分を人間が見て故障箇所を推測するしかないという欠点をも排除する。
【００９２】
図３４〜図４０は、本発明に基づく被疑故障箇所の絞り込み方法の第１の例を示す。ここでは、図３４に示す半導体集積回路中の単一縮退故障の存否を調べるために図３５に示すテストパターンを使用するものとする。図３４において、Ｐ１〜Ｐ４は外部入力信号線、Ｐ５、Ｐ６は外部出力信号線である。図３５の時刻１〜５において、Ｐ１〜Ｐ４に対して図示の入力に示すテストパターンを入力すると、回路に故障がない場合、Ｐ５、Ｐ６から図示の期待値に示す信号が出力される。
【００９３】
図３６〜図３８は、図３４の回路のテスター評価において、測定電圧を変化させて、回路中に故障が発生する場合の出力結果（フェイルログ）を示している。ＨやＬに丸印を付けているものは、図３５の期待値と結果が異なる場合である。図３９は、測定電圧を変化させて、それぞれの電圧での半導体集積回路の動作の変化を見たものである。ここで、「Ｐａｓｓ」というのは、故障の存在しない期待する動作をしている場合であり、「Ｆａｉｌ」は、半導体集積回路中に故障箇所が存在し、期待する動作をしていない場合である。図３９において測定電圧０Ｖ、１Ｖ、２Ｖでは、出力結果としては図３５に示すように半導体集積回路が正しく動作している。ところが、２．５Ｖの時点で図３４に示すＡ信号線の信号が１となる故障が発生する。この場合、出力フェイルログの結果は、図３６に示すようになる。さらに測定電圧を上げ３Ｖになると、図３４においてＨ点で信号が１になる故障が発生し、出力フェイルログの結果は図３７に示すようになる。さらに３．５Ｖになると図３４において新たにＤ点が１となる故障が発生し、出力フェイルログの結果は図３８に示すようになる。
【００９４】
このように測定電圧を変化させると故障箇所が変化し、増加し、出力結果（フェイルログ）も変化する。この場合、電源電圧が３Ｖや３．５Ｖでのフェイルログは、複数の故障箇所に起因するフェイルログとなっており、このフェイルログを用いてこれまでのシステムを用いる場合は、故障箇所の絞り込みに時間がかかったり、正しく絞り込みができない場合が出てくる。一方、図３９においてフェイルログにフェイル箇所が現れる境界条件である２．５Ｖでは、フェイルログには図２でのＡ点の１故障のみの影響しか出てこないため、これまでのステムでの故障箇所の絞り込みが容易となる。処理の流れは、図４０に示すようにテスター８０１において測定条件を変化させ、境界条件を検出し、その時点でのフェイルログを出力するフェイルログ加工手段８０２をもち、フェイル箇所記憶手段８１０にフェイルログ８０３を渡す。測定条件としては、電圧の他に温度、周波数等も考えられる。
【００９５】
このようにフェイル箇所記憶手段８１０により記憶したフェイル箇所を用いて、検査で使用したテストパターンを与え、テスターでのフェイル箇所のみに期待値を設定し、故障シミュレーションを行なって被疑故障の絞り込みを行ない、多くのフェイル箇所に影響を与えた故障を最終被疑故障として出力する。
【００９６】
図４１〜図４２は、上述の故障診断システム９０４による被疑故障箇所の絞り込み方法の第２の例を示す。半導体集積回路で発生する故障には様々な種類の故障があり、テスター測定により出力されるフェイルログにも傾向が現れる。例えば周波数を変化させてもフェイルログが全く変化しないのであれば、周波数に依存しない故障、例えば縮退故障が一例として考えられる。逆に周波数を変化させるとフェイルログが変化するのであれば、周波数に依存する故障、例えばクロストークが一例として考えられる。一方、測定条件に依存する場合でも、複数パラメータが影響する場合もあり、この場合、その複数パラメータに依存する故障が考えられる。例えば、微小な電流リークによる故障が発生する場合は、測定電圧、測定温度のいずれのパラメータにも影響を与える故障であり、それぞれの測定条件によるフェイルログを確認することにより、微小リークの可能性を推定できる。複数パラメータで全く同一のフェイルログが得られる場合は、特に故障箇所が一致している事も推定できる。
【００９７】
図４１〜図４２を用いて説明される手法では、図４２に示すような、発生可能性の高い故障テーブルを使用する。ここでパラメータとして与えるＡやＢは、例えば電圧等の測定パラメータである。この図４２において、「Ａ」は、フェイルログがＡのパラメータに依存する事を示す。逆に「！Ａ」は、フェイルログがＡのパラメータに依存しないことを示す。例えばＡを電圧パラメータ、Ｂを周波数パラメータとすると、「Ａ＆！Ｂ」は、電圧に依存するが、周波数には依存しないα故障ということになる。
【００９８】
図４１はその処理の流れを示す。ここでは、パラメータＡ、パラメータＢのように２つのパラメータを用いるテスター８０１において測定条件を変化させ、フェイルログ加工手段４５０１では測定条件に依存するかどうかの判定を行ない、その判定結果と、依存する場合は境界条件でのフェイルログ、また、依存しない場合は、常に変化しないフェイルログとを出力する。パラメータＡ、パラメータＢに対してフェイルログ加工手段４５０１によって出力されたパラメータＡの判定結果及びフェイルログ４５０２とパラメータＢの判定結果及びフェイルログ４５０３とを入力として、診断手段４５０４において、判定結果とフェイルログとを比較検討し、データベースとしてもつ図４２の形式の故障テーブル４５０５から可能性の高い故障の種類を推定する（４５０６）。フェイルログが完全に一致する場合は、その一致情報を併せて出力する。このようにテスターにおけるフェイルログの情報だけから、故障の種類、故障箇所の一致を推定することができる。
【００９９】
図４３は、故障診断システム９０４による被疑故障箇所の絞り込み方法の第３の例を示す。ここでも、パラメータＡ、パラメータＢのように２つのパラメータを用いる場合を説明する。テスター８０１において測定条件を変化させ、フェイルログ加工手段４５０１で測定条件に依存するかどうかの判定を行ない、その判定結果と、依存する場合は境界条件でのフェイルログ、また、依存しない場合は、常に変化しないフェイルログとを出力する。パラメータＡ、パラメータＢに対してフェイルログ加工手段４５０１によって出力されたパラメータＡの判定結果及びフェイルログ４５０２とパラメータＢの判定結果及びフェイルログ４５０３とを入力とし、診断／フェイルログ加工手段４６０１により、判定結果とフェイルログとを比較検討し、データベースとしてもつ図４２の形式の故障テーブル４５０５から、可能性の高い故障の種類を推定する（４６０３）。さらに診断／フェイルログ加工手段４６０１では４５０２、４５０３のフェイルログを総合的に判断し、フェイルログの重なりを抽出し、生成したフェイルログ４６０２を故障診断システムのフェイル箇所記憶手段４１０１に渡し、被疑故障箇所の絞り込みを行なう。このようにフェイルログの段階で情報の絞り込み、故障の種類、故障箇所の推定を行い、複数測定条件におけるフェイルログを総合的に判断する事により、以降の故障診断システムでの被疑故障箇所の絞り込みの効率化、診断精度を向上することが可能になる。
【０１００】
図４４〜図４６は、本発明の第１６の実施の形態を示す。この第１６の実施の形態は、第１５の実施の形態と同様にフェイルログを用いて処理を行なうが、さらにマスクの配置、配線の物理的なレイアウト装置から得られるマスク情報により、被疑故障の推定及び順番づけを行い、故障箇所を絞り込むものである。図４４は、その処理の手順について示している。
【０１０１】
この図４４において、４１０１はフェイル箇所記憶手段、４１０２は対応表生成手段、４１０３は対応表記憶手段、４１０４は対応表検索手段、４１０５は初期被疑故障記憶手段、４１０６は故障箇所絞り込み手段、４１０７は最終被疑故障表示手段である。
【０１０２】
まず、対象となる半導体集積回路をテスターで検査した結果、回路の出力信号が故障の存在しないときの期待値と一致しなかったテスターでのフェイル箇所を、フェイル箇所記憶手段４１０１により記憶する。一方で、検査で使用したテストパターンを用いて回路中の対象とする故障を検出できるか否かを調べる故障シミュレーションを実行し、回路中の故障箇所とそれぞれの故障が最初に検出される時刻及び外部ピンとの対応表を対応表生成手段４１０２により生成し、作成した対応表を対応表記憶手段４１０３で記憶する。フェイル箇所記憶手段４１０１で記憶した個々のフェイル箇所と、対応表記憶手段４１０３で記憶した対応表の内容を検索手段４１０４により照合し、対応表中の該当する全ての故障を初期被疑故障として抽出し、初期被疑故障記憶手段４１０５で初期被疑故障の情報を記憶しておく。故障箇所絞り込み手段４１０６では、この初期被疑故障を対象として、検査で使用したテストパターンを与え、テスターでのフェイル箇所のみに期待値を設定して、故障シミュレーションを行なって被疑故障の絞り込みを行ない、多くのフェイル箇所に影響を与えた故障を最終被疑故障として出力する。故障箇所絞り込み手段４１０６による診断結果である最終被疑故障を、最終被疑故障表示手段４１０７で表示する。
【０１０３】
そして、ここでは、初期被疑故障記憶手段４１０５に記憶された初期被疑故障に対してレイアウト装置９０２から得られるマスク情報９０３をもとに被疑故障の故障の起こりやすさの順番づけを行う（９１０）。順番づけの手法は、上述の通りである。この順番づけに従って、さらに故障シミュレーションによる故障箇所の絞り込みを行ない（４１０６）、被疑故障箇所を絞り込む。故障シミュレーションは非常に時間のかかる処理であるが、対応表検索手段４１０４により得られる初期被疑故障の順番づけを行う事により、最も疑わしい故障を先に処理していくため、全体として、時間のかかる無駄な故障シミュレーションを行わず、実際の故障箇所を早く絞り込む事が可能となる。
【０１０４】
図４５に示すように、通常、ネットリストの段階で故障診断システムを用いて被疑故障箇所の絞り込み１２００を行った後、電子ビームテスター１２０１や走査型電子顕微鏡１２０２で物理的な欠陥の場所特定、欠陥の状態の確認を行うが、いずれも非常に時間のかかる作業である。よってもっとも疑わしい被疑故障箇所から先に作業を行う必要がある。
【０１０５】
そこで、本発明の手法を用いる事によって被疑故障箇所の絞り込みが行われ、仮に被疑故障箇所が複数残ったとしても、被疑故障箇所の故障の起こりやすい順番づけが行われており、この順番に従って最も疑わしい故障を先に処理していくため、より効果的な電子ビームテスターや走査型電子顕微鏡の作業を行う事が可能になる。
【０１０６】
図４６は図４４に示すものの変形例を示す。ここでは、故障箇所絞り込み手段４１０６の段階でレイアウト装置から得られる情報をもとに被疑故障の故障の起こりやすさの順番づけを行っており、この場合も同様の効果が得られる。また、前述の第１５の実施の形態の場合と同様に、レイアウト情報９０２を用いるため、被疑故障として絞り込んだ故障がどのような種類の故障であるかを推定することも可能となる。
【０１０７】
図４７は、テスターにおいて測定条件を変化させ、複数のそれぞれの測定条件におけるフェイルログを総合的に判断し、かつマスクの配置、配線の物理的なレイアウト情報を加味し、被疑故障の推定及び故障の起こりやすさの順番づけを行ない、故障箇所を絞り込む、半導体集積回路の故障検査方法を説明するものである。ここでは、テスター８０１において測定条件を変化させ、それぞれの複数測定条件におけるフェイルログを総合的に判断し（４５０１）、かつレイアウト装置９０２から得られるマスクの配置、配線の物理的なレイアウト情報９０３を加味し、被疑故障の推定及び故障の起こりやすさの順番づけを行ない（９１０）、故障箇所を絞り込むものである。フェイルログの情報４６０２は、フェイル箇所記憶手段４１０１に記憶される。被疑故障の順番づけ手段９１０は、初期被疑故障記憶手段４１０５の被疑故障を入力とし、被疑故障の順番づけを行ない、この順番に従って被疑故障が故障箇所絞り込み手段１０６に渡される。このようにテスター８０１における複数測定条件のフェイルログを総合的に判断し、また、マスクの配置、配線の物理的な情報を加味する事により、効率的に被疑故障の種類の推定及び故障箇所の絞り込みを行なう事が可能になる。
【０１０８】
このように故障診断の入力となるフェイルログを加工し、診断の対象となる故障を減らす事により、絞り込みの時間を短縮する事ができる。また、フェイルログの情報を活用する事により、故障の種類を推定する事もできる。また、マスクの配置、配線の物理的な情報を加味する事により、効率よく、精度よく被疑故障の種類の推定と絞り込みを行なう事が可能になる。
【図面の簡単な説明】
【０１０９】
【図１】本発明の第１の実施の形態における故障リストを読み込むレイアウト方法の処理手順を示すフローチャート
【図２】本発明の第２の実施の形態における故障検査から生成する故障リストを読み込むレイアウト方法の処理手順を示すフローチャート
【図３】本発明の第３の実施の形態における故障検査方法及びレイアウト方法の処理手順を示すフローチャート
【図４】本発明の第４の実施の形態における故障検査方法及びレイアウト方法を説明するための論理回路図
【図５】図４の論理回路図に対応する故障リスト
【図６】図４の論理回路図における故障の起こりやすさに基づき順番づけした故障リスト
【図７】本発明の第４の実施の形態における故障検査方法の処理手順を示すフローチャート
【図８】本発明の第４の実施の形態におけるレイアウト方法の処理手順を示すフローチャート
【図９】本発明の第５の実施の形態における、図４の論理回路図をマスクレイアウト図に置き換えた場合の要部を示す図
【図１０】本発明の第５の実施の形態における故障検査方法の処理手順を示すフローチャート
【図１１】本発明の第５の実施の形態におけるレイアウト方法の処理手順を示すフローチャート
【図１２】本発明の第５の実施の形態における故障リストの順番づけを説明するための論理回路図
【図１３】図１２の論理回路図をマスクレイアウト図に置き換えた場合の要部を示す図
【図１４】本発明の第６の実施の形態における故障検査方法の処理手順を示すフローチャート
【図１５】本発明の第６の実施の形態におけるマスク密度の一覧を例示する図
【図１６】本発明の第６の実施の形態におけるレイアウト方法の処理手順を示すフローチャート
【図１７】本発明の第７の実施の形態におけるセル、機能ブロックの実績データベースを例示する図
【図１８】本発明の第７の実施の形態における故障検査方法の処理手順を示すフローチャート
【図１９】本発明の第７の実施の形態におけるレイアウト方法の処理手順を示すフローチャート
【図２０】本発明の第８の実施の形態における故障の重みづけの概念を例示する図
【図２１】本発明の第９の実施の形態における故障検査方法の処理手順を示すフローチャート
【図２２】本発明の第９の実施の形態における故障の重みづけの具体例を示す図
【図２３】図２２の故障の重みづけに検出、未検出の判定を追加した具体例を示す図
【図２４】本発明の第１０の実施の形態における故障検査方法の処理手順を示すフローチャート
【図２５】本発明の第１０の実施の形態における重みづけされた故障リストの具体例を示す図
【図２６】本発明の第１１の実施の形態における故障検査方法の処理手順を示すフローチャート
【図２７】本発明の第１２の実施の形態における故障検査方法の処理手順を示すフローチャート
【図２８】本発明の第１３の実施の形態における故障検査方法の処理手順を示すフローチャート
【図２９】本発明の第１３の実施の形態における取り得る故障検出率を含む故障リストを例示する図
【図３０】本発明の第１３の実施の形態におけるレイアウト方法の処理手順を示すフローチャート
【図３１】本発明の第１４の実施の形態における故障検査方法及びレイアウト方法の処理手順を示すフローチャート
【図３２】本発明の第１５の実施の形態における故障箇所絞り込み手段での処理手順を示すフローチャート
【図３３】本発明の第１５の実施の形態における故障しやすい箇所を出力する処理手順を示すフローチャート
【図３４】本発明に基づく被疑故障箇所の絞り込み方法の第１の例におけるテストパターン生成の対象となる半導体回路を例示する論理回路図
【図３５】同テストパターンの一例を示す図
【図３６】図３４の回路についてのフェイルログの一例を示す図
【図３７】図３４の回路についてのフェイルログの他の例を示す図
【図３８】図３４の回路についてのフェイルログのさらに他の例を示す図
【図３９】図３４の回路における境界条件を示す図
【図４０】本発明に基づく被疑故障箇所の絞り込み方法の第１の例におけるフェイルログ加工の処理手順を示すフローチャート
【図４１】本発明に基づく被疑故障箇所の絞り込み方法の第２の例のフローチャート
【図４２】本発明に基づく被疑故障箇所の絞り込み方法の第２の例における発生の可能性の高い故障テーブルの例を示す図
【図４３】本発明に基づく被疑故障箇所の絞り込み方法の第３の例のフローチャート
【図４４】本発明の第１６の実施の形態に基づく故障箇所絞り込み手段における処理手順を示すフローチャート
【図４５】本発明の第１６の実施の形態に基づく一般的な故障解析の処理手順を示すフローチャート
【図４６】図４４の処理手順の変形例を示す図
【図４７】本発明に基づく故障箇所絞り込み手段における処理手順の他の例を示すフローチャート
【図４８】従来のマスクパターンのレイアウト処理を示す図
【図４９】従来の故障検査の処理手順を示すフローチャート
【図５０】集積回路のマスクパターンの分布例を模式的に示す図
【符号の説明】
【０１１０】
４０１    回路ネットリスト
４０２    レイアウト手段
４０３    故障リスト
４０４    マスクレイアウト図
【図１】
2005332389.tif 000006
【図２】
2005332389.tif 000007
【図３】
2005332389.tif 000008
【図４】
2005332389.tif 000009
【図５】
2005332389.tif 000010
【図６】
2005332389.tif 000011
【図７】
2005332389.tif 000012
【図８】
2005332389.tif 000013
【図９】
2005332389.tif 000014
【図１０】
2005332389.tif 000015
【図１１】
2005332389.tif 000016
【図１２】
2005332389.tif 000017
【図１３】
2005332389.tif 000018
【図１４】
2005332389.tif 000019
【図１５】
2005332389.tif 000020
【図１６】
2005332389.tif 000021
【図１７】
2005332389.tif 000022
【図１８】
2005332389.tif 000023
【図１９】
2005332389.tif 000024
【図２０】
2005332389.tif 000025
【図２１】
2005332389.tif 000026
【図２２】
2005332389.tif 000027
【図２３】
2005332389.tif 000028
【図２４】
2005332389.tif 000029
【図２５】
2005332389.tif 000030
【図２６】
2005332389.tif 000031
【図２７】
2005332389.tif 000032
【図２８】
2005332389.tif 000033
【図２９】
2005332389.tif 000034
【図３０】
2005332389.tif 000035
【図３１】
2005332389.tif 000036
【図３２】
2005332389.tif 000037
【図３３】
2005332389.tif 000038
【図３４】
2005332389.tif 000039
【図３５】
2005332389.tif 000040
【図３６】
2005332389.tif 000041
【図３７】
2005332389.tif 000042
【図３８】
2005332389.tif 000043
【図３９】
2005332389.tif 000044
【図４０】
2005332389.tif 000045
【図４１】
2005332389.tif 000046
【図４２】
2005332389.tif 000047
【図４３】
2005332389.tif 000048
【図４４】
2005332389.tif 000049
【図４５】
2005332389.tif 000050
【図４６】
2005332389.tif 000051
【図４７】
2005332389.tif 000052
【図４８】
2005332389.tif 000053
【図４９】
2005332389.tif 000054
【図５０】
2005332389.tif 000055