(57)【要約】【課題】半導体集積回路の信頼性の向上および製造期間の短縮化を図ること。【解決手段】故障解析装置１１００は、部分パス抽出部１１０１により、解析対象回路内のパスの中から、故障箇所を含む部分パスを抽出する。つぎに、パス検出部１１０２により、抽出された部分パスの始点の前段にある回路素子から当該部分パスを通り、当該部分パスの終点の後段にある回路素子までの伸張パスを検出する。そして、伸張パス抽出部１１０３により、伸張パスの集合の中から最短の伸張パスを抽出する。そして、判断部１１０４により、伸張パスのパス長が所定の基準長よりも長いか否かを判断する。そして、決定部により、判断部１１０４によって判断された判断結果に基づいて、伸張パスを故障シミュレーションに用いるパスに決定する。【選択図】図１１
2007271290.tif 000002
【特許請求の範囲】
【請求項１】
解析対象回路内のパスの中から、故障箇所を含む部分パスを抽出させる部分パス抽出工程と、
前記部分パス抽出工程によって抽出された部分パスの始点の前段にある回路素子から当該部分パスを通り、当該部分パスの終点の後段にある回路素子までのパスを検出させるパス検出工程と、
前記パス検出工程によって検出されたパス（以下、「伸張パス」という）のパス長が所定の基準長よりも長いか否かを判断させる判断工程と、
前記判断工程によって判断された判断結果に基づいて、前記伸張パスを故障シミュレーションに用いるパスに決定させる決定工程と、
をコンピュータに実行させることを特徴とする故障解析プログラム。
【請求項２】
前記伸張パスの集合の中から任意の伸張パスを抽出させる伸張パス抽出工程をコンピュータに実行させ、
前記判断工程は、前記伸張パス抽出工程によって抽出された伸張パスが前記所定の基準長よりも長いか否かを判断させ、
前記決定工程は、前記判断工程によって、前記伸張パス抽出工程によって抽出された伸張パスが前記所定の基準長よりも長いと判断された場合に、当該伸張パスと当該伸張パスよりも長い伸張パスとを故障シミュレーションに用いるパスに決定させることを特徴とする請求項１に記載の故障解析プログラム。
【請求項３】
請求項１または請求項２に記載の解析対象プログラムを記録したコンピュータに読み取り可能な記録媒体。
【請求項４】
解析対象回路内のパスの中から、故障箇所を含む部分パスを抽出する部分パス抽出工程と、
前記部分パス抽出工程によって抽出された部分パスの始点の前段にある回路素子から当該部分パスを通り、当該部分パスの終点の後段にある回路素子までのパスを検出するパス検出工程と、
前記伸張パス検出工程によって検出されたパス（以下、「伸張パス」という）のパス長が所定の基準長よりも長いか否かを判断する判断工程と、
前記判断工程によって判断された判断結果に基づいて、前記伸張パスを故障シミュレーションに用いるパスに決定する決定工程と、
含むことを特徴とする故障解析方法。
【請求項５】
解析対象回路内のパスの中から、故障箇所を含む部分パスを抽出する部分パス抽出手段と、
前記部分パス抽出手段によって抽出された部分パスの始点の前段にある回路素子から当該部分パスを通り、当該部分パスの終点の後段にある回路素子までのパスを検出するパス検出手段と、
前記伸張パス検出手段によって検出されたパス（以下、「伸張パス」という）のパス長が所定の基準長よりも長いか否かを判断する判断手段と、
前記判断手段によって判断された判断結果に基づいて、前記伸張パスを故障シミュレーションに用いるパスに決定する決定手段と、
備えることを特徴とする故障解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、故障解析プログラム、該プログラムを記録した記録媒体、故障解析方法、および故障解析装置に関する。
【背景技術】
【０００２】
近年、半導体プロセス技術の発展に伴い、システムＬＳＩの高速化、高機能化、高集積化が進んでいる。これにより、微小遅延故障の要因が増大している。そのため、遅延故障を検出することが重要となる。
【０００３】
遅延故障は、論理的に信号の遷移はされるが、その遷移が遅延するという故障である。遅延故障を検出するための遅延試験としては、現在では２つの手法がある。１つ目の手法は、パス遅延試験である。このパス遅延試験は、半導体集積回路内に存在するすべてのパスについて試験をおこなう手法である。
【０００４】
また、２つ目の手法は、遷移試験である。この遷移試験は、ある信号線の遷移に非常に大きな遅延故障が存在すると仮定して、活性化が容易なパスのテストパターンを生成する手法である。
【０００５】
また、テストパターンを生成する技術としては、半導体集積回路の特定領域を指定することにより、当該特定領域をテストするためのテストベクタを生成する技術が提案されている（たとえば、下記特許文献１参照。）。
【０００６】
【特許文献１】特開２００４−１５０８２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した特許文献１に記載の従来技術では、半導体集積回路の回路情報に基づいてタイミング解析（ＳＴＡ）を実行し、タイミング解析が実行されたパスに対して遅延故障を試験するテストベクタを生成している。ＳＴＡでは、半導体集積回路の速度に影響するような長いパス（クリティカルパス）の上位数百パスのみの試験をおこなっている。そのため、半導体集積回路内の至るところで起こりうる遅延故障を検出することは、困難であり、半導体集積回路の信頼性が低下するという問題点があった。
【０００８】
一方、半導体集積回路内のすべてのパスについて遅延故障を検出しようとすると、膨大な時間がかかってしまい、半導体集積回路の製造期間が長期化するという問題点があった。
【０００９】
この発明は、上述した従来技術による問題点を解消するため、半導体集積回路の信頼性の向上および製造期間の短縮化を図ることができる故障解析プログラム、該プログラムを記録した記録媒体、故障解析方法、および故障解析装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するため、この発明にかかる故障解析プログラム、該プログラムを記録した記録媒体、故障解析方法、および故障解析装置は、解析対象回路内のパスの中から、故障箇所を含む部分パスを抽出し、抽出された部分パスの始点の前段にある回路素子から当該部分パスを通り、当該部分パスの終点の後段にある回路素子までのパスを検出し、検出されたパス（以下、「伸張パス」という）のパス長が所定の基準長よりも長いか否かを判断し、判断された判断結果に基づいて、伸張パスを故障シミュレーションに用いるパスに決定することを特徴とする。
【００１１】
この発明によれば、解析対象回路内の微小な遅延故障を検出するための適切な長さのパス長を得ることができる。そのため、遅延故障を精度よく検出することができる。
【００１２】
また、上記発明において、伸張パスの集合の中から任意の伸張パスを抽出し、抽出された伸張パスが所定の基準長よりも長いか否かを判断し、抽出された伸張パスが所定の基準長よりも長いと判断された場合に、当該伸張パスと当該伸張パスよりも長い伸張パスとを故障シミュレーションに用いるパスに決定することとしてもよい。
【００１３】
この発明によれば、解析対象回路内の微小な遅延故障を検出するための適切な長さのパス長を得ることができる。そのため、遅延故障を精度よく検出することができる。
【００１４】
また、上記発明において、伸張パスの集合の中から最短の伸張パスを抽出することとしてもよい。
【００１５】
この発明によれば、最小パスのパス長を所定の基準値よりも長くすることができる。そのため、遅延故障を精度よく検出することができる。
【００１６】
また、上記発明において、伸張パスのパス長が所定の基準長よりも長くないと判断された場合に、伸張パスの前段および後段にある回路素子の中から任意の回路素子を検出し、検出された回路素子から抽出された伸張パスを通るパスを特定し、特定されたパス（以下、「特定パス」という）のパス長が所定の基準長よりも長いか否かを判断し、判断された判断結果に基づいて、特定パスを故障シミュレーションに用いるパスに決定することとしてもよい。
【００１７】
この発明によれば、解析対象回路内の微小な遅延故障を検出するための十分な長さのパス長を得ることができる。そのため、遅延故障を精度よく検出することができる。
【００１８】
また、上記発明において、回路素子から伸張パスを通るパスの集合の中からパス長が最長のパスを特定することとしてもよい。
【００１９】
この発明によれば、故障の解析にかかる時間を短縮することができる。また、故障シミュレーションに用いてテストパターンの数を少なくすることができる。
【発明の効果】
【００２０】
本発明にかかる故障解析プログラム、該プログラムを記録した記録媒体、故障解析方法、および故障解析装置によれば、半導体集積回路の信頼性の向上および製造期間の短縮化を図ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００２１】
以下に添付図面を参照して、この発明にかかる故障解析プログラム、該プログラムを記録した記録媒体、故障解析方法、および故障解析装置の好適な実施の形態を詳細に説明する。
【００２２】
（実施の形態）
（故障解析装置のハードウェア構成）
まず、この発明の実施の形態にかかる故障解析装置のハードウェア構成について説明する。図１は、この発明の実施の形態にかかる故障解析装置のハードウェア構成を示すブロック図である。
【００２３】
図１において、故障解析装置は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ＨＤＤ（ハードディスクドライブ）１０４と、ＨＤ（ハードディスク）１０５と、ＦＤＤ（フレキシブルディスクドライブ）１０６と、着脱可能な記録媒体の一例としてのＦＤ（フレキシブルディスク）１０７と、ディスプレイ１０８と、Ｉ／Ｆ（インターフェース）１０９と、キーボード１１０と、マウス１１１と、スキャナ１１２と、プリンタ１１３と、を備えている。また、各構成部はバス１００によってそれぞれ接続されている。
【００２４】
ここで、ＣＰＵ１０１は、故障解析装置の全体の制御を司る。ＲＯＭ１０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ１０３は、ＣＰＵ１０１のワークエリアとして使用される。ＨＤＤ１０４は、ＣＰＵ１０１の制御にしたがってＨＤ１０５に対するデータのリード／ライトを制御する。ＨＤ１０５は、ＨＤＤ１０４の制御で書き込まれたデータを記憶する。
【００２５】
ＦＤＤ１０６は、ＣＰＵ１０１の制御にしたがってＦＤ１０７に対するデータのリード／ライトを制御する。ＦＤ１０７は、ＦＤＤ１０６の制御で書き込まれたデータを記憶したり、ＦＤ１０７に記憶されたデータを故障解析装置に読み取らせたりする。
【００２６】
また、着脱可能な記録媒体として、ＦＤ１０７のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ
−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、メモリーカードなどであってもよい。ディスプレイ１０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ１０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００２７】
Ｉ／Ｆ１０９は、通信回線を通じてインターネットなどのネットワーク１１４に接続され、このネットワーク１１４を介して他の装置に接続される。そして、Ｉ／Ｆ１０９は、ネットワーク１１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ１０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００２８】
キーボード１１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス１１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００２９】
スキャナ１１２は、画像を光学的に読み取り、故障解析装置内に画像データを取り込む。なお、スキャナ１１２は、ＯＣＲ機能を持たせてもよい。また、プリンタ１１３は、画像データや文書データを印刷する。プリンタ１１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００３０】
つぎに、セグメントとパスの関係について説明する。図２は、セグメントとパスの関係について示す説明図である。図２において、回路２００は、ＦＦ１〜ＦＦ６と、論理素子Ｒ１〜Ｒ３とにより構成されている。図２において、符号２０１は、回路２００の故障点である。また、故障点２０１を含む部分パスをセグメント２０２と称する。また、セグメントは、故障点であってもよい。また、符号２０３をセグメント２０２の始点、符号２０４をセグメント２０２の終点とする。
【００３１】
また、セグメント２０２の始点２０３から回路２００の前段に伸びるパスのうち、最も長いパス２０５のパス長をＴｉ−ｍａｘ、最も短いパス２０６のパス長をＴｉ−ｍｉｎと表記する。さらに、セグメント２０２の終点２０４から回路２００の後段に伸びるパスのうち、最も長いパス２０７のパス長をＴｏ−ｍａｘ、最も短いパス２０８のパス長をＴｏ−ｍｉｎと表記する。また、セグメント２０２のパス長をＴｓｅｇと表記する。
【００３２】
さらに、セグメント２０２を含むパスのうち、最も長いパス（Ｔｉ−ｍａｘ＋Ｔｓｅｇ＋Ｔｏ−ｍａｘ）をＭａｘパス、最も短いパス（Ｔｉ−ｍｉｎ＋Ｔｓｅｇ＋Ｔｏ−ｍｉｎ）をＭｉｎパスと表記する。具体的には、たとえば、図２において、Ｍａｘパスは、パス２０５と、セグメント２０２と、パス２０７とにより構成されるパスである。また、たとえば、Ｍｉｎパスは、パス２０６と、セグメント２０２と、パス２０８とにより構成されるパスである。
【００３３】
つぎに、故障リストについて説明する。図３−１は、この発明の実施の形態にかかる解析対象回路の一例について示す説明図である。図３−１において、解析対象回路３００は、ＦＦ１〜ＦＦ５と、インバータＩと、論理素子ｒ１およびｒ２を有している。
【００３４】
つぎに、上述した解析対象回路３００から得られる故障リストについて説明する。図３−２は、故障リストについて示す説明図である。図３−２において、故障リスト３１０は、図３−１に示した解析対象回路３００の信号線名ごとに故障情報３１０−１〜故障情報３１０−１２を格納している。故障情報３１０−１〜３１０−１２は、信号線名ごとに、故障番号、故障タイプ、検出フラグを有している。
【００３５】
具体的には、たとえば、故障情報３１０−５は、故障番号「５」、信号線名「ｃ」、故障タイプ「ｕｐ」、検出フラグ「未」を有している。ここで、信号線名は、図３−１に示した解析対象回路３００の各配線である。
【００３６】
また、故障とは、信号の遷移が通常よりも遅れて遷移する遅延故障である。この故障リスト３１０は、解析対象回路３００内部の信号線に対して、２つの遷移故障を仮定して作成されている。具体的には、０→１の遷移の遅延故障を「ｕｐ」、１→０の遷移の遅延故障を「ｄｎ」と表記している。
【００３７】
また、故障リスト３１０では、解析対象回路３００の入力ピンについて故障を仮定しているが、出力ピンに対して故障を仮定することとしてもよい。故障リスト３１０は、具体的には、たとえば、図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５などの記録媒体によって、その機能を実現する。
【００３８】
（故障解析装置の故障解析処理手順）
つぎに、この発明の実施の形態にかかる故障解析装置の故障解析処理手順について説明する。図４は、この発明の実施の形態にかかる故障解析装置の故障解析処理手順の一例を示すフローチャートである。図４において、故障解析装置は、まず、回路情報が入力されたか否かを判断する（ステップＳ４０１）。ここで、回路情報とは、解析対象回路３００を構成する回路素子の接続関係を示す情報である。たとえば、ＲＴＬのＨＤＬ論述を論理合成することによって得られたネットリストを用いることができる。
【００３９】
そして、回路情報が入力されるのを待って（ステップＳ４０１：Ｎｏ）、入力された場合（ステップＳ４０１：Ｙｅｓ）、故障リストを作成する（ステップＳ４０２）。具体的には、たとえば、図３−２に示した故障リスト３１０を作成する。そして、作成した故障リスト３１０から故障番号を選択し、セグメントを抽出する。具体的には、たとえば、故障リスト３１０の中から検出フラグが「未」の故障番号を選択する。そして、故障番号によって特定される故障箇所を含む部分パス（セグメント）を抽出する。
【００４０】
つぎに、セグメントの前段にある回路素子から当該セグメントを通り、当該セグメントの後段にある回路素子までのパス（伸張パス）を検出する（ステップＳ４０４）。ここで、セグメントの前段にある回路素子とは、具体的には、たとえば、図２のＦＦ１、ＦＦ２およびＲ１である。また、セグメントの後段にある回路素子とは、具体的には、たとえば、図２のＲ３、ＦＦ５、およびＦＦ６である。
【００４１】
つぎに、ｍａｘパスとｍｉｎパスを抽出する（ステップＳ４０５）。そして、抽出したパスのパス長を算出する（ステップＳ４０６）。具体的には、たとえば、ｍａｘパスとｍｉｎパスのパス長をそれぞれ算出する。そして、ｍａｘパス＜Ｔｄであるか否かを判断する（ステップＳ４０７）。ここで、Ｔｄは、所定の基準長である。具体的には、たとえば、セグメントを拡張する際に、指標となる値である。この所定の基準長はユーザが任意に設定することができる。
【００４２】
ステップＳ４０７において、ｍａｘパス＜Ｔｄでない場合（ステップＳ４０７：Ｎｏ）、ｍｉｎパス＞Ｔｄであるか否かを判断する（ステップＳ４０８）。ｍｉｎパス＞Ｔｄでない場合（ステップＳ４０８：Ｎｏ）、セグメントの前段および後段にある回路素子を検出する（ステップＳ４０９）。セグメントの前段および後段の回路素子については、ステップＳ４０４の内容と重複するため、説明を省略する。
【００４３】
そして、セグメントを特定する（ステップＳ４１０）。ここで、セグメントの特定とは、現在のセグメントの前段あるいは後段にセグメントを伸ばした、他のセグメントを特定することである。セグメントは、ステップＳ４０９において検出された回路素子まで伸ばされる。セグメントの特定（拡張）手法は、後述する図５において説明する。
【００４４】
つぎに、Ｏｆｆパスピンの設定をおこなう（ステップＳ４１１）。ここで、Ｏｆｆパスピンについて説明する。各ゲートの遷移が伝わる入力ピンがＯｎパスピンであり、それ以外のピンがＯｆｆパスピンである。Ｏｆｆパスピンには、Ｏｎパスピンの遷移が後段の論理素子に伝わる様に設定しなければならない。このことを以下では、Ｏｆｆパスピンの設定条件と称する。Ｏｆｆパスピンの設定手法については、後述する図６において説明する。
【００４５】
また、ステップＳ４１１において、Ｏｆｆパスピンを設定したら、つぎに、設定された値に矛盾があるか否かを判断する（ステップＳ４１２）。ここで、矛盾があるか否かは、ＡＴＰＧ（ａｕｔｏｍａｔｉｃ  ｔｅｓｔ  ｐａｔｔｅｒｎ  ｇｅｎｅｒａｔｉｏｎ）により矛盾があるか否かを判断する。
【００４６】
具体的には、たとえば、ＡＴＰＧにより、各論理素子の入力側の値と出力側の値とを決定する。そして、決定された値を論理素子に入力して、出力側の設定値を得ることができれば、矛盾しないと判断される。
【００４７】
ステップＳ４１２において、設定値に矛盾がないと判断された場合（ステップＳ４１２：Ｎｏ）、ステップＳ４０６に移行して、パス長を算出する。一方、設定値に矛盾があると判断された場合（ステップＳ４１２：Ｙｅｓ）、セグメントの他の候補が残っているか否かを判断する（ステップＳ４１３）。他の候補が残っている場合（ステップＳ４１３：Ｙｅｓ）、ステップＳ４１０に戻り、他のセグメントを特定する。一方、他の候補が残っていない場合（ステップＳ４１３：Ｎｏ）、ステップＳ４１７に移行し、故障リストを更新する。
【００４８】
また、ステップＳ４０８において、ｍｉｎパス＞Ｔｄの場合（ステップＳ４０８：Ｙｅｓ）、セグメントをシミュレーションに用いるパスに決定する（ステップＳ４１４）。そして、ＡＴＰＧによりテストパターンを作成する（ステップＳ４１５）。そして、作成されたテストパターンを解析対象回路３２０に入力し、故障シミュレーションを実行する（ステップＳ４１６）。
【００４９】
つぎに、ステップＳ４１６において実行されたシミュレーションの実行結果により、故障リストを更新する（ステップＳ４１７）。具体的には、たとえば、故障リスト３１０の検出フラグが「未」を「検出」に変更する。また、たとえば、故障が検出された故障番号を削除することとしてもよい。故障リストの更新については、後述する図９において説明する。
【００５０】
そして、ステップＳ４１７において、故障リストを更新したら、故障リストに検出フラグが「未」の故障番号が残っているか否かを判断する（ステップＳ４１８）。検出フラグが「未」の故障番号が残っている場合（ステップＳ４１８：Ｙｅｓ）、ステップＳ４０３に戻り、セグメントを抽出する。一方、検出フラグが「未」の故障番号が残っていない場合（ステップＳ４１８：Ｎｏ）、一連の処理を終了する。
【００５１】
また、ステップＳ４０７において、ｍａｘパス＜Ｔｄの場合（ステップＳ４０７：Ｙｅｓ）、ステップＳ４１７に移行し、故障リストを更新する。具体的には、たとえば、該当する故障番号を故障リストから削除する。
【００５２】
上述したフローチャートでは、一つのＴｄの値に対する処理について説明した。しかし、半導体集積回路には、様々なｍｉｎパス長、ｍａｘパス長を持つ故障が存在するため、
一つのＴｄの値に対する処理では、すべての故障に対するテストパターンを作成できない場合が生じる。
【００５３】
そのため、Ｔｄの値を複数指定して、複数のＴｄの値に対するテストパターンを作成することが有効である。具体的には、たとえば、Ｔｄの値を降順に指定して、テストパターンを作成する。そして、一度検出された故障は、つぎにＴｄの値を指定しておこなう処理時には、検出の対象外とする。このように、Ｔｄの値を複数指定して、同様の処理をおこなうことにより、各故障に対して、最適なＴｄの値を用いて、パスを活性化することができる。
【００５４】
つぎに、上述したセグメントの拡張手法について説明する。図５は、セグメントの拡張手法について示す説明図である。図５では、故障番号３が選択された場合を例として説明する。図５（ａ）において、符号５０１は、故障箇所である。また、符号５０２は、拡張されたセグメントを示している。
【００５５】
具体的には、たとえば、論理素子Ｒ２のゲート出力とＦＦ５側にセグメントが拡張されている。また、符号５０３、および符号５０４は、それぞれＴｉ−ｍｉｎ、Ｔｉ−ｍａｘである。ここでは、Ｔｉ−ｍｉｎ＝Ｔｉ−ｍａｘとなっている。
【００５６】
ここで、Ｔｄとパス長について説明する。ここでは、論理素子ｒ１の入力から出力までのパス長。配線のパス長をそれぞれ１とする。そして、Ｔｄ＝４とする。このとき、ｍｉｎパスは、Ｔｉ−ｍｉｎ＋Ｔｓｅｇ＝１＋２＝３となっている。また、この例では、ＦＦ５の先にはパスが存在しないため、Ｔｏ−ｍｉｎ、Ｔｏ−ｍａｘは０である。
【００５７】
また、図５（ｂ）は、図５（ａ）とは別のパスを選択してセグメント５１１を拡張した例を示している。図５（ｂ）において、セグメント５１１は、論理素子Ｒ２の入力端子まで拡張されている。符号５１２はＴｏ−ｍｉｎ、符号５１３はＴｏ−ｍａｘである。また、符号５１４はＴｉ−ｍｉｎ、符号５１５はＴｉ−ｍａｘである。
【００５８】
セグメントの拡張は、たとえば、入力側パスあるいは出力側パスのうち、パス長が最も長いパス側に拡張するとしてもよく、入力側パスあるいは出力側パスのうち、故障箇所を最も多く含むパス側に拡張することとしてもよい。
【００５９】
つぎに、上述したＯｆｆパスピンの設定について説明する。図６は、Ｏｆｆパスピンの設定について示す説明図である。図６では、故障番号「３」、故障タイプ「ｕｐ」が選択された場合を例として説明する。ここで、符号６０１は、拡張されたセグメントを示している。
【００６０】
図６において、論理素子Ｒ１はアンド回路である。故障仮定点（故障線ｂ）に故障タイプ「ｕｐ」６０２が設定された場合、Ｏｎパスピンに「ｕｐ」を伝えるには、Ｏｆｆパスピンの設定条件により、信号線ａが１、信号線ｄが０に設定される。
【００６１】
つぎに、図６に示した解析対象回路に対してＡＴＰＧをおこなう例について説明する。図７は、図６に示した解析対象回路に対してＡＴＰＧをおこなう例について示す説明図である。
【００６２】
図７において、符号７０１は、セグメントである。故障番号「３」は、故障番号「ｕｐ」であるため、ＦＦ２の入力は「ｕｐ」となる。同様に、図６において、信号線ａは、１が設定されているため、ＦＦ１の入力は「１」となる。また、Ｏｆｆピンの設定条件により、故障タイプ「ｕｐ」を伝搬するため、ＦＦ３の入力は「０」となる。以上より、ＦＦ５には、「ｕｐ」の入力が決定される。
【００６３】
また、上述したフローチャートの例では、テストパターンのテストクロック間隔を固定の場合の例について説明したが、テストクロック間隔を変更することにより、微少な遅延故障の検出精度を向上させることができる。
【００６４】
上述した故障シミュレーションについて説明する。図８は、故障シミュレーションについて示す説明図である。図８では、故障番号「３」を選択した場合（故障箇所が信号線ｂ）の例について説明する。
【００６５】
図８（ａ）において、ＦＦ１の入力を「１」、ＦＦ２の入力を「ｕｐ」に設定してシミュレーションをおこなう。論理素子ｒ１の信号線ａの入力が「１」であり、信号線ｂの入力が「ｕｐ」でる。これにより、ＦＦ４の入力の値が「ｕｐ」に確定する。
【００６６】
図８（ｂ）に示すように、信号が変化するパスについて、パス長を算出する。信号が変化しているパスとは、「ｕｐ」あるいは「ｄｎ」の信号が伝搬されているパスである。具体的には、たとえば、実践８１０および点線８１１に示すパスである。
【００６７】
そして、セグメント（不図示）をＦＦ５まで拡張した場合、ｍｉｎパスは、信号線ｂ、論理素子ｒ１、信号線ｃ、論理素子ｒ２、および信号線ｆにより構成され、そのパス長は５である。ｍｉｎパスのパス長がＴｄ（４）より大きいため、実線８１０により、故障番号「３」、「５」、「１１」のパスの故障が検出される。
【００６８】
また、セグメントを、ＦＦ４側に拡張した場合、ｍｉｎパスは、信号線ｂ、論理素子ｒ１、信号線ｅにより構成され、そのパス長は３である。このときｍｉｎパスのパス長がＴｄよりも小さいため、故障番号９は、冗長パスとして故障と検出されない。
【００６９】
つぎに、上述した故障リストの更新について説明する。図９は、故障リストについて示す説明図である。図９において、故障リスト９００の検出フラグが一部更新されている。具体的には、たとえば、故障番号「３」、故障番号「５」、故障番号「１１」の検出フラグが、「未」から「検出」に更新されている。
【００７０】
上述したように、複数のＴｄの値を用いて処理をおこなう場合には、各Ｔｄごとに故障の検出に最適なクロック間隔に変更することが考えられる。テストクロック間隔を変更して、テストパターンを生成する処理手順は、上述した図４のフローチャートの処理手順と同様であるが、パスの活性化条件が異なる。
【００７１】
これは、再収斂パスにおけるハザードの影響により、故障検出が妨げられるためである。ここで、再収斂パスとは、一本パスから一度複数にパスとなり、再度一本のパスとなることである。また、ハザードとは、遅延によって生じる、ゲート出力に論理上発生しないパルスである。
【００７２】
ここで、図１０は、再収斂回路のハザードの影響について示す説明図である。図１０において、符号１００１は、再収斂パスである。また、符号１００２は、活性化パスである。このように、活性化パス１００２のパス長がＴｄよりも短い場合であっても、再収斂パス１００１のパス長がＴｄよりも長い場合には、ハザードの影響により、故障を検出できない場合がある。
【００７３】
このような場合には、セグメントの活性化チェックとＡＴＰＧによるパスの活性化時に、Ｏｆｆパスピンには、ハザードを含まない信号値を設定する。この条件を満たしたパスのみ、テストクロック間隔を変更して、シミュレーションを実行することが可能となる。本手法により、Ｍａｘパスを活性化できない場合であっても、微小な遅延故障に対しても、故障シミュレーションが可能となる。
【００７４】
（故障解析の機能的構成）
つぎに、この発明の実施の形態にかかる故障解析装置の機能的構成について説明する。図１１は、この発明の実施の形態にかかる故障解析装置の機能的構成について示すブロック図である。図１１において、故障解析装置１１００は、部分パス抽出部１１０１と、パス検出部１１０２と、伸張パス抽出部１１０３と、判断部１１０４と、回路素子決定部１１０５と、特定部１１０６と、決定部１１０７とにより構成されている。
【００７５】
部分パス抽出部１１０１は、解析対象回路内のパスの中から、故障箇所を含む部分パスを抽出する。具体的には、たとえば、図４のステップＳ４０３に示したセグメントの抽出処理をおこなう。
【００７６】
パス検出部１１０２は、部分パス抽出部１１０１によって抽出された部分パスの始点の前段にある回路素子から当該部分パスを通り、当該部分パスの終点の後段にある回路素子までのパスを検出する。具体的には、図４のステップＳ４０４に示したパス検出処理をおこなう。
【００７７】
伸張パス抽出部１１０３は、伸張パスの集合の中から任意の伸張パスを抽出する。また、伸張パス抽出部１１０３は、伸張パスの集合の中から最短の伸張パスを抽出する。具体的には、たとえば、図４のステップＳ４０５に示したｍｉｎパスの抽出処理をおこなう。
【００７８】
判断部１１０４は、パス検出部１１０２によって検出されたパス（以下、「伸張パス」という）のパス長が所定の基準長よりも長いか否かを判断する。また、判断部１１０４は、伸張パス抽出部１１０３によって抽出された伸張パスが所定の基準長よりも長いか否かを判断する。具体的には、たとえば、図４のステップＳ４０８に示したｍｉｎ＞Ｔｄか否かの判断処理をおこなう。
【００７９】
回路素子検出部１１０５は、判断部１１０４によって、伸張パスのパス長が所定の基準長よりも長くないと判断された場合に、伸張パスの前段および後段にある回路素子の中から任意の回路素子を検出する。具体的には、たとえば、図４のステップＳ４０９に示した回路素子の検出処理をおこなう。
【００８０】
特定部１１０６は、回路素子検出部１１０５によって検出された回路素子から伸張パス抽出１１０３によって抽出された伸張パスを通るパスを特定する。具体的には、たとえば、図４のステップＳ４１０に示したセグメントの特定処理をおこなう。
【００８１】
判断部１１０４は、特定部によって特定されたパス（以下、「特定パス」という）のパス長が所定の基準長よりも長いか否かを判断する。具体的には、たとえば、図４のステップＳ４０８に示したｍｉｎパス＞Ｔｄであるか否かに関する判断処理をおこなう。
【００８２】
決定部１１０７は、判断部１１０４によって判断された判断結果に基づいて、伸張パスを故障シミュレーションに用いるパスに決定させる決定する。また、決定部１１０７は、判断部１１０４によって判断された判断結果に基づいて、特定パスを故障シミュレーションに用いるパスに決定する。具体的には、たとえば、図４のステップＳ４１７に示したシミュレーションに用いるパス決定処理をおこなう。
【００８３】
なお、上述した部分パス抽出部１１０１、パス検出部１１０２、伸張パス抽出部１１０３、判断部１１０４、回路素子検出部１１０５、特定部１１０６、および決定部１１０７は、具体的には、たとえば、図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７などに記録されたプログラムを、ＣＰＵ１０１が実行することによってその機能を実現する。
【００８４】
以上説明したように、この実施の形態によれば、解析対象回路内の微小な遅延故障を検出するための適切な長さのパス長を得ることができる。また、解析対象回路内の微小な遅延故障を検出するために十分な長さのパス長を得ることができる。そのため、遅延故障を精度よく検出することができる。
【００８５】
また、最小パスを所定の基準値よりも長くすることができる。そのため、遅延故障を精度よく検出することができる。故障の解析にかかる時間を短縮することができる。また、故障シミュレーションに用いてテストパターンの数を少なくすることができる。
【００８６】
以上説明したように、本発明の故障解析プログラム、該プログラムを記録した記録媒体、故障解析方法、および故障解析装置によれば、半導体集積回路の信頼性の向上および製造期間の短縮化を図ることができる。
【００８７】
（付記１）解析対象回路内のパスの中から、故障箇所を含む部分パスを抽出させる部分パス抽出工程と、
前記部分パス抽出工程によって抽出された部分パスの始点の前段にある回路素子から当該部分パスを通り、当該部分パスの終点の後段にある回路素子までのパスを検出させるパス検出工程と、
前記パス検出工程によって検出されたパス（以下、「伸張パス」という）のパス長が所定の基準長よりも長いか否かを判断させる判断工程と、
前記判断工程によって判断された判断結果に基づいて、前記伸張パスを故障シミュレーションに用いるパスに決定させる決定工程と、
をコンピュータに実行させることを特徴とする故障解析プログラム。
【００８８】
（付記２）前記伸張パスの集合の中から任意の伸張パスを抽出させる伸張パス抽出工程をコンピュータに実行させ、
前記判断工程は、前記伸張パス抽出工程によって抽出された伸張パスが前記所定の基準長よりも長いか否かを判断させ、
前記決定工程は、前記判断工程によって、前記伸張パス抽出工程によって抽出された伸張パスが前記所定の基準長よりも長いと判断された場合に、当該伸張パスと当該伸張パスよりも長い伸張パスとを故障シミュレーションに用いるパスに決定させることを特徴とする付記１に記載の故障解析プログラム。
【００８９】
（付記３）前記伸張パス抽出工程は、前記伸張パスの集合の中から最短の伸張パスを抽出させること特徴とする付記２に記載の故障解析プログラム。
【００９０】
（付記４）前記判断工程（以下、「第１の判断工程」という）によって、前記伸張パスのパス長が前記所定の基準長よりも長くないと判断された場合に、前記伸張パスの前段および後段にある回路素子の中から任意の回路素子を検出させる回路素子検出工程と、
前記回路素子検出工程によって検出された回路素子から前記伸張パス抽出工程によって抽出された伸張パスを通るパスを特定させる特定工程と、
前記特定工程によって特定されたパス（以下、「特定パス」という）のパス長が前記所定の基準長よりも長いか否かを判断させる第２の判断工程と、をコンピュータに実行させ、
前記決定工程は、前記第２の判断工程によって判断された判断結果に基づいて、前記特定パスを故障シミュレーションに用いるパスに決定させることを特徴とする付記１〜３のいずれか一つに記載の故障解析プログラム。
【００９１】
（付記５）前記特定工程は、前記回路素子から前記伸張パスを通るパスの集合の中からパス長が最長のパスを特定させることを特徴とする付記４に記載の故障解析プログラム。
【００９２】
（付記６）付記１〜５のいずれか一つに記載の解析対象プログラムを記録したコンピュータに読み取り可能な記録媒体。
【００９３】
（付記７）解析対象回路内のパスの中から、故障箇所を含む部分パスを抽出する部分パス抽出工程と、
前記部分パス抽出工程によって抽出された部分パスの始点の前段にある回路素子から当該部分パスを通り、当該部分パスの終点の後段にある回路素子までのパスを検出するパス検出工程と、
前記伸張パス検出工程によって検出されたパス（以下、「伸張パス」という）のパス長が所定の基準長よりも長いか否かを判断する判断工程と、
前記判断工程によって判断された判断結果に基づいて、前記伸張パスを故障シミュレーションに用いるパスに決定する決定工程と、
含むことを特徴とする故障解析方法。
【００９４】
（付記８）解析対象回路内のパスの中から、故障箇所を含む部分パスを抽出する部分パス抽出手段と、
前記部分パス抽出手段によって抽出された部分パスの始点の前段にある回路素子から当該部分パスを通り、当該部分パスの終点の後段にある回路素子までのパスを検出するパス検出手段と、
前記伸張パス検出手段によって検出されたパス（以下、「伸張パス」という）のパス長が所定の基準長よりも長いか否かを判断する判断手段と、
前記判断手段によって判断された判断結果に基づいて、前記伸張パスを故障シミュレーションに用いるパスに決定する決定手段と、
備えることを特徴とする故障解析装置。
【産業上の利用可能性】
【００９５】
以上のように、本発明にかかる故障解析プログラム、該プログラムを記録した記録媒体、故障解析方法、および故障解析装置は、半導体集積回路の故障の解析に有用であり、特に、遅延故障の解析に適している。
【図面の簡単な説明】
【００９６】
【図１】この発明の実施の形態にかかる故障解析装置のハードウェア構成を示すブロック図である。
【図２】セグメントとパスの関係について示す説明図である。
【図３−１】この発明の実施の形態にかかる解析対象回路の一例について示す説明図である。
【図３−２】故障リストについて示す説明図である。
【図４】この発明の実施の形態にかかる故障解析装置の故障解析処理手順の一例を示すフローチャートである。
【図５】セグメントの拡張手法について示す説明図である。
【図６】Ｏｆｆパスピンの設定について示す説明図である。
【図７】図６に示した解析対象回路に対してＡＴＰＧをおこなう例について示す説明図である。
【図８】故障シミュレーションについて示す説明図である。
【図９】故障リストについて示す説明図である。
【図１０】再収斂回路のハザードの影響について示す説明図である。
【図１１】この発明の実施の形態にかかる故障解析装置の機能的構成を示すブロック図である。
【符号の説明】
【００９７】
３００  解析対象回路
３１０  故障リスト
１１００  故障解析装置
１１０１  部分パス抽出部
１１０２  パス検出部
１１０３  伸張パス抽出部
１１０４  判断部
１１０５  回路素子検出部
１１０６  特定部
１１０７  決定部
【図１】
2007271290.tif 000003
【図２】
2007271290.tif 000004
【図３−１】
2007271290.tif 000005
【図３−２】
2007271290.tif 000006
【図４】
2007271290.tif 000007
【図５】
2007271290.tif 000008
【図６】
2007271290.tif 000009
【図７】
2007271290.tif 000010
【図８】
2007271290.tif 000011
【図９】
2007271290.tif 000012
【図１０】
2007271290.tif 000013
【図１１】
2007271290.tif 000014