(57)【要約】【課題】半導体集積回路の遅延故障診断に際し、効率的で、短時間に遅延故障箇所を絞り込むことを目的とする。【解決手段】まず、ディレイ故障が検出された出力ＦＦからその出力ＦＦに影響を与える可能性のある入力ＦＦ群を特定する（Ｓ３０２）。次に、特定した入力ＦＦ群の中で、信号が変化している任意の入力ＦＦからディレイ故障が検出された出力ＦＦまでの信号伝搬経路を論理シミュレーションで求めた各信号線の値と各ゲートの活性化条件を用いて経路探索を行う（Ｓ３０７）。求めた信号伝搬経路を遅延故障箇所と特定することにより、プログラムを用いて自動的に故障原因の可能性のある任意の信号伝搬経路を活性化条件を用いて故障診断することができるため、短時間に効率良く遅延故障箇所が絞り込むことができる。【選択図】　　図１
2004085333.tif 000002
【特許請求の範囲】
【請求項１】
１または２以上の順序回路や組合せ回路を有する半導体集積回路の遅延故障箇所を特定する故障診断において、
遅延故障が検出された出力ピンに直接または組み合わせ回路を介して接続される最終段フリップフロップを特定するステップと、
前記最終段フリップフロップに直接または組み合わせ回路を介して信号を入力する入力フリップフロップまたは入力ピンを特定するステップと、
前記入力フリップフロップまたは入力ピンのうち任意の入力フリップフロップまたは入力ピンを選択するステップと、
前記選択した入力フリップフロップまたは入力ピンが信号を入力する信号伝搬経路上の組み合わせ回路のうち活性化条件を満たす組み合わせ回路を検出するステップと、
前記活性化条件を満たす組み合わせ回路を含む信号伝搬経路を遅延故障箇所として特定するステップと
を有し、自動的に遅延故障箇所の候補を特定することを特徴とする半導体集積回路の故障診断プログラム。
【請求項２】
１または２以上の順序回路や組合せ回路を有する半導体集積回路の遅延故障箇所を特定する故障診断において、
遅延故障が検出された出力ピンに直接または組み合わせ回路を介して接続される最終段フリップフロップを特定するステップと、
前記最終段フリップフロップに直接または組み合わせ回路を介して信号を入力する入力フリップフロップまたは入力ピンを特定するステップと、
前記入力フリップフロップまたは入力ピンのうち全ての入力フリップフロップまたは入力ピンを順次選択するステップと、
前記選択した入力フリップフロップまたは入力ピンが信号を入力する信号伝搬経路上の組み合わせ回路のうち活性化条件を満たす組み合わせ回路を検出するステップと、
前記活性化条件を満たす組み合わせ回路を含む信号伝搬経路と前記信号伝搬経路の期待値を遅延故障箇所として登録するステップと
を有し、自動的に遅延故障箇所となる可能性のある信号伝搬経路を特定することを特徴とする半導体集積回路の故障診断プログラム。
【請求項３】
１または２以上の順序回路や組合せ回路を有する半導体集積回路の遅延故障箇所を特定する故障診断において、
遅延故障が検出された前記出力ピンに直接または組み合わせ回路を介して接続される最終段フリップフロップを特定するステップと、
前記最終段フリップフロップに直接または組み合わせ回路を介して信号を入力する入力フリップフロップまたは入力ピンを特定するステップと、
前記入力フリップフロップまたは入力ピンのうち全ての入力フリップフロップまたは入力ピンを順次選択するステップと、
前記選択した入力フリップフロップまたは入力ピンが信号を入力する信号伝搬経路上の組み合わせ回路のうち活性化条件を満たす組み合わせ回路を検出するステップと、
前記活性化条件を満たす組み合わせ回路を含む信号伝搬経路と前記信号伝搬経路の期待値と前記信号伝搬経路の特定回数を遅延故障箇所として登録するステップと
を有し、自動的に遅延故障箇所となる可能性のある信号伝搬経路を特定し、前記特定回数によりそれぞれの遅延故障箇所の確率を検証することを特徴とする半導体集積回路の故障診断プログラム。
【請求項４】
１または２以上の順序回路や組合せ回路を有する半導体集積回路の遅延故障箇所を特定する故障診断において、
遅延故障が検出された出力ピンに直接または組み合わせ回路を介して接続される最終段フリップフロップを特定するステップと、
前記最終段フリップフロップのうち任意の前記最終段フリップフロップを選択するステップと、
前記選択した最終段フリップフロップに信号を入力する信号伝搬経路上の入力ピンに至るまでの全ての組み合わせ回路のうち活性化条件を満たす組み合わせ回路を検出するステップと、
前記活性化条件を満たす組み合わせ回路を含む信号伝搬経路を遅延故障箇所として特定するステップと
を有し、自動的に遅延故障箇所の候補を特定することを特徴とする半導体集積回路の故障診断プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路の遅延故障箇所を効率よく特定するための故障診断方法に関する。
【０００２】
【従来の技術】
ＬＳＩの高集積化や多層化に伴い、物理解析装置による解析が困難になってきている。そのため、テスト結果を用いてソフトウェアで高精度に故障位置を特定する技術が求められている。従来の半導体集積回路の遅延故障診断方法として、例えば特開２０００−３０４８２０号公報に記載された方法がある。この方法では、フリップフロップ回路および組合せ回路を含む診断対象範囲の論理回路表示を行うとともに、組合せ回路の各パスの中から遅延故障が存在する可能性が比較的高いパスを抽出し論理回路図面上で指摘するようにして、論理期待値と測定信号値を比較しながら出力側から遅延故障箇所を探すようにしている。
【０００３】
しかしながら、従来の故障診断では、遅延故障が存在する可能性の比較的高いパスを抽出し論理回路図面上で指摘するようにして、論理期待値と測定信号を比較しながら出力側から遅延故障箇所を探していたため、遅延故障が存在する可能性の高いクリティカルパス以外に遅延故障が存在した場合、遅延故障が存在していないパスしか信号測定しないために遅延故障箇所が特定できないという問題点があった。また、パスの出力側から遅延故障箇所を探すため、遅延故障箇所の特定に時間がかかるという問題があった。
【０００４】
【発明が解決しようとする課題】
上記問題点を解決するために、本発明の半導体集積回路の故障診断プログラムは、効率的で、短時間に遅延故障箇所を絞り込むことを目的とする。
【０００５】
【課題を解決するための手段】
以上の目的を達成するために、請求項１記載の発明の半導体集積回路の故障診断プログラムは、１または２以上の順序回路や組合せ回路を有する半導体集積回路の遅延故障箇所を特定する故障診断において、遅延故障が検出された出力ピンに直接または組み合わせ回路を介して接続される最終段フリップフロップを特定するステップと、前記最終段フリップフロップに直接または組み合わせ回路を介して信号を入力する入力フリップフロップまたは入力ピンを特定するステップと、前記入力フリップフロップまたは入力ピンのうち任意の入力フリップフロップまたは入力ピンを選択するステップと、前記選択した入力フリップフロップまたは入力ピンが信号を入力する信号伝搬経路上の組み合わせ回路のうち活性化条件を満たす組み合わせ回路を検出するステップと、前記活性化条件を満たす組み合わせ回路を含む信号伝搬経路を遅延故障箇所として特定するステップとを有し、自動的に遅延故障箇所の候補を特定することを特徴とする。
【０００６】
請求項２記載の発明の半導体集積回路の故障診断プログラムは、１または２以上の順序回路や組合せ回路を有する半導体集積回路の遅延故障箇所を特定する故障診断において、遅延故障が検出された出力ピンに直接または組み合わせ回路を介して接続される最終段フリップフロップを特定するステップと、前記最終段フリップフロップに直接または組み合わせ回路を介して信号を入力する入力フリップフロップまたは入力ピンを特定するステップと、前記入力フリップフロップまたは入力ピンのうち全ての入力フリップフロップまたは入力ピンを順次選択するステップと、前記選択した入力フリップフロップまたは入力ピンが信号を入力する信号伝搬経路上の組み合わせ回路のうち活性化条件を満たす組み合わせ回路を検出するステップと、前記活性化条件を満たす組み合わせ回路を含む信号伝搬経路と前記信号伝搬経路の期待値を遅延故障箇所として登録するステップとを有し、自動的に遅延故障箇所となる可能性のある信号伝搬経路を特定することを特徴とする。
【０００７】
請求項３記載の発明の半導体集積回路の故障診断プログラムは、１または２以上の順序回路や組合せ回路を有する半導体集積回路の遅延故障箇所を特定する故障診断において、遅延故障が検出された前記出力ピンに直接または組み合わせ回路を介して接続される最終段フリップフロップを特定するステップと、前記最終段フリップフロップに直接または組み合わせ回路を介して信号を入力する入力フリップフロップまたは入力ピンを特定するステップと、前記入力フリップフロップまたは入力ピンのうち全ての入力フリップフロップまたは入力ピンを順次選択するステップと、前記選択した入力フリップフロップまたは入力ピンが信号を入力する信号伝搬経路上の組み合わせ回路のうち活性化条件を満たす組み合わせ回路を検出するステップと、前記活性化条件を満たす組み合わせ回路を含む信号伝搬経路と前記信号伝搬経路の期待値と前記信号伝搬経路の特定回数を遅延故障箇所として登録するステップとを有し、自動的に遅延故障箇所となる可能性のある信号伝搬経路を特定し、前記特定回数によりそれぞれの遅延故障箇所の確率を検証することを特徴とする。
【０００８】
請求項４記載の発明の半導体集積回路の故障診断プログラムは、１または２以上の順序回路や組合せ回路を有する半導体集積回路の遅延故障箇所を特定する故障診断において、遅延故障が検出された出力ピンに直接または組み合わせ回路を介して接続される最終段フリップフロップを特定するステップと、前記最終段フリップフロップのうち任意の前記最終段フリップフロップを選択するステップと、選択した前記最終段フリップフロップに信号を入力する信号伝搬経路上の入力ピンに至るまでの全ての組み合わせ回路のうち活性化条件を満たす組み合わせ回路を検出するステップと、前記活性化条件を満たす組み合わせ回路を含む信号伝搬経路を遅延故障箇所として特定するステップとを有し、自動的に遅延故障箇所の候補を特定することを特徴とする。
【０００９】
以上により、本発明の半導体集積回路の故障診断プログラムを用いることにより、効率的で、短時間に遅延故障箇所を絞り込むことができる。
【００１０】
【発明の実施の形態】
（実施の形態１）
以下、図を用いて、実施の形態１における半導体集積回路の故障診断プログラムについて説明する。
【００１１】
図１は本発明の実施の形態１における半導体集積回路の故障診断プログラムの故障診断方法を示すフローチャートである。図２は本発明の実施の形態１の故障診断方法を説明する半導体集積回路の回路図であり、図３は本発明の実施の形態１の故障診断方法を説明するテストパターン及びスキャンＦＦの内部トレースを示す図である。
【００１２】
図１において、まず、ロジックテスタによる半導体集積回路の良否判定により、遅延故障によるフェイル箇所の故障診断を開始する（Ｓ３０１）。次に、テスターの観測結果から、遅延故障の影響により正常値と異なる値が観測された出力ピンまたは出力ピンに直接または組み合わせ回路を介して接続されるＦＦ（以下出力ＦＦと称す）を特定する（Ｓ３０２）。次に、設計データとして読み込んでいる回路接続情報を元に遅延故障が検出された出力ピンまたは出力ＦＦへ信号を伝搬するための経路（以下、信号伝搬経路と称す）上にある出力ピンまたは出力ＦＦに直接または組み合わせ回路を介して接続される入力ピンまたはＦＦ（以下入力ＦＦと称す）を特定する（Ｓ３０３）。次に、Ｓ３０３で特定した入力ＦＦまたは入力ピンから任意の入力ピンまたは入力ＦＦを選択する（Ｓ３０４）。次に、Ｓ３０４で選択した入力ピンまたは入力ＦＦが遅延故障を検出した遷移パターンと１時刻前の初期化パターンの信号値を調べる（Ｓ３０５）。次に、Ｓ３０５で調べた入力ピンまたは入力ＦＦの信号値が変化（Ｌ→ＨまたはＨ→Ｌ）しているか判定し、信号値が変化していなければＳ３０４へ戻り、信号値が変化していればＳ３０７に進む（Ｓ３０６）。次に、Ｓ３０４で特定した入力ピンまたは入力ＦＦから、遅延故障が検出された出力ピンまたは出力ＦＦまでの信号伝搬経路の各ゲートにおいて、各ゲートの信号伝搬経路以外の入力の正常値がすべて非制御値であるか（以下、活性化条件という）を比較しながら探索する。
【００１３】
次に、Ｓ３０７の探索の結果、遅延故障が検出された出力ピンまたは出力ＦＦに到達したかを判定する。到達していなければＳ３０４へ戻り再び探索し、到達していればＳ３０９へ進む（Ｓ３０８）。最後に、探索した信号線を遅延故障箇所として特定し（Ｓ３０９）、故障診断を終了する（Ｓ３１０）。
【００１４】
図２において、クロック端子ＣＬＫにはクロック信号が入力され、テストモード制御端子ＳＥにはテストモード制御信号が入力されている。スキャンＦＦ１０５，スキャンＦＦ１０６，スキャンＦＦ１０７，スキャンＦＦ１０８，スキャンＦＦ１０９，スキャンＦＦ１１０のクロック端子にはクロック端子ＣＬＫが接続され、テストモード制御端子にはテストモード制御端子ＳＥが接続されている。それぞれのスキャンＦＦは、テストモード制御端子ＳＥから入力するテストモード制御信号が“Ｈ”の場合にはスキャン入力端子ＳＩからデータを取り込み、“Ｌ”の場合には通常信号入力端子Ｄからデータを取り込む。
【００１５】
以上の様な回路により、スキャンイン端子ＳＩＮから各スキャンＦＦを経由して、スキャンアウト端子ＳＯＵＴに至るスキャンパスが構成されている。
スキャンＦＦ１０７の出力端子Ｑはネット１３０を介してＡＮＤゲート１２０の入力端子に接続される。スキャンＦＦ１０８の出力端子Ｑはネット１３４、１３５を介してＡＮＤゲート１２０の他方の入力端子に接続される。ＡＮＤゲート１２０に出力端子はネット１３１を介してＯＲゲート１２１の入力端子に接続され、他方の入力端子は、ネット１３２が接続される。ＯＲゲート１２１の出力端子は、ネット１３３を介してスキャンＦＦ１１０の通常入力端子Ｄに接続される。スキャンＦＦ１０９の出力端子Ｑはネット１３７、１３８を介してＮＡＮＤゲート１２２の入力端子に接続され、他方の入力端子はネット１３６が接続される。ＮＡＮＤゲート１２２の出力端子は、ネット１４０を介して出力ピンＯＵＴ１に接続される。スキャンＦＦ１１０の出力端子Ｑはネット１３９を介してスキャンアウト端子ＳＯＵＴに接続される。
【００１６】
図３において、入力パターン３５１は、各時刻における入力パターンを表し、出力パターン３５２は、各時刻における出力値を表し、内部状態３５３は、各時刻におけるスキャンＦＦの出力値を表す。
【００１７】
図３のテストパターンを用いて図２の半導体集積回路をテストした結果、時刻９においてスキャンアウト端子ＳＯＵＴでフェイルが観測されたことにより、図１の半導体集積回路に遅延故障が存在すると判定されたので、故障診断を開始する（Ｓ３０１）。まず、スキャンテストの結果より、遅延故障が検出されたスキャンＦＦ１１０を特定する（Ｓ３０２）。次に、設計データとして読み込んでいる回路接続情報を元にスキャンＦＦ１１０への信号伝搬経路上に存在している入力ＦＦ（図２のスキャンＦＦ１０７，スキャンＦＦ１０８，スキャンＦＦ１０９）を特定する（Ｓ３０３）。次に、Ｓ３０３で特定したスキャンＦＦ１０７，スキャンＦＦ１０８，スキャンＦＦ１０９の中からスキャンＦＦ１０９を選択する（Ｓ３０４）。次に、スキャンＦＦ１０９は遅延故障を検出するための時刻８の遷移パターンにおける信号値は０で、時刻７の初期化パターンにおける信号値も０であり（Ｓ３０５）、スキャンＦＦ１０９では、時刻８の遷移パターンと時刻７の初期化パターンで信号値が変化していないのでＳ３０４に進む（Ｓ３０６）。次に、Ｓ３０３で特定した入力ＦＦの中からスキャンＦＦ１０７を選択する。スキャンＦＦ１０７は遅延故障を検出するための時刻８の遷移パターンにおける信号は０で、時刻７の初期化パターンにおける信号は１であり、信号値が変化しているので、Ｓ３０７に進む。次に、Ｓ３０６で特定したスキャンＦＦ１０７から遅延故障が検出されたスキャンＦＦ１１０への信号伝搬経路（ネット１３０、ネット１３１、ネット１３３）の各ゲート（ＡＮＤゲート１２０、ＯＲゲート１２１）が、時刻８の遷移パターンにおいて活性化条件を満たしているか調べる（Ｓ３０７）。時刻８の遷移パターンにおいてＡＮＤゲート１２０の信号伝搬経路以外の入力であるネット１３５の信号は、スキャンＦＦ１０８の出力端子Ｑからの出力で非制御値１である。ＡＮＤゲートの活性化条件を満たしているので、回路接続情報に従い、次のＯＲゲート１２１を調べる。時刻８の遷移パターンにおいて、ＯＲゲート１２１の信号伝搬経路以外の入力であるネット１３２の信号は非制御値０である。ＯＲゲートの活性化条件を満たしているので、回路接続情報に従い、次のゲートを調べる。次のゲートは遅延故障を検出したスキャンＦＦ１１０であるので、Ｓ３０９へ進む（Ｓ３０８）。最後に、スキャンＦＦ１０７からスキャンＦＦ１１０の信号伝搬経路に接続されているネット１３０、ネット１３１，ネット１３３が遅延故障箇所として特定され（Ｓ３０９）、診断を終了する（Ｓ３１０）。
【００１８】
以上の診断をプログラムを用いて自動的に行うことにより、出力ピンまたは出力ＦＦでフェイルが観測された場合に、テスターでのフェイル情報と回路接続情報と信号線の値から、短時間に効率良く遅延故障箇所が絞り込むことができる。
（実施の形態２）
以下、図を用いて、実施の形態２における半導体集積回路の故障診断プログラムについて説明する。
【００１９】
図４は本発明の実施の形態２の故障診断方法を説明する半導体集積回路の回路図であり、図５は本発明の実施の形態２の故障診断方法を説明するテストパターン及びスキャンＦＦの内部トレースを示す図である。図６は本発明の実施の形態２における半導体集積回路の故障診断プログラムの故障診断方法を示すフローチャートである。
【００２０】
図４において、クロック入力端子ＣＬＫは、クロック信号が入力され、テストモード制御端子ＳＥにはテストモード制御信号が入力されている。スキャンＦＦ６０５，スキャンＦＦ６０６，スキャンＦＦ６０７，スキャンＦＦ６０８，スキャンＦＦ６０９，スキャンＦＦ６１０，スキャンＦＦ６１１，スキャンＦＦ６１２，スキャンＦＦ６１３，スキャンＦＦ６１４のクロック入力端子にはクロック端子ＣＬＫが入力され、テストモード制御端子にはテストモード制御端子ＳＥが入力されている。それぞれのスキャンＦＦは、テストモード制御信号が“Ｈ”の場合にはスキャン入力端子ＳＩからデータを取り込み、“Ｌ”の場合には通常信号入力端子Ｄからデータを取り込む。
【００２１】
以上の様な回路により、スキャンイン端子ＳＩＮから各スキャンＦＦを経由して、スキャンアウト端子ＳＯＵＴに至るスキャンパスが構成されている。
スキャンＦＦ６０７の出力端子Ｑはネット６３０を介してＡＮＤゲート６２０の入力端子に接続される。スキャンＦＦ６０８の出力端子Ｑはネット６３６、６３７を介してＡＮＤゲート６２０の他方の入力端子に接続される。ＡＮＤゲート６２０に出力端子はネット６３１を介してＯＲゲート６２１の入力端子に接続され、他方の入力端子は、ネット６３２が接続される。ＯＲゲート６２１の出力端子は、ネット６３３を介してスキャンＦＦ６１４の通常入力端子Ｄに接続される。スキャンＦＦ６０９の出力端子Ｑはネット６３４、６５５を介してＡＮＤゲート６２２の入力端子に接続され、他方の入力はネット６３８が接続される。ＡＮＤゲート６２２の出力端子は、ネット６３５に接続される。ネット６３５は、ネット６３２とネット６４８に接続され、ネット６４８は出力ピンＯＵＴ１に接続される。スキャンＦＦ６１０の出力端子Ｑはネット６４０、６４１を介してＮＯＲゲート６２３の入力端子に接続され、他方の入力端子は、ネット６３９が接続される。スキャンＦＦ６１１の出力端子Ｑはネット６４３、６４４を介してＯＲゲート６２４の入力端子に接続される。スキャンＦＦ６１２の出力端子Ｑはネット６４６、６４７を介してＯＲゲート６２４の他方の入力端子に接続される。ＮＯＲゲート６２３の出力端子はネット６４２を介してＡＮＤゲート６２５の入力端子へ接続される。ＯＲゲート６２４の出力端子はネット６４５を介して、ＡＮＤゲート６２５の他方の入力端子に接続される。ＡＮＤゲート６２５の出力端子は、ネット６４９を介してスキャンＦＦ６１３の通常入力端子Ｄへ接続される。スキャンＦＦ６１４の出力端子Ｑは、ネット６５０、６５１を介してスキャンアウト端子ＳＯＵＴに接続される。スキャンＦＦ６１３の出力端子Ｑはネット６５３を介して、ＡＮＤゲート６２６の入力端子に接続され、他方の入力端子はネット６５２が接続される。ＡＮＤ６２６ゲートの出力端子はネット６５４を介して出力ピンＯＵＴ２に接続される。
【００２２】
図５において、入力パターン７０１は、各時刻における入力パターンを表し、出力パターン７０２は、各時刻にける出力値を表し、内部状態７０３は、各時刻におけるスキャンＦＦの出力値を表す。
【００２３】
図６において、Ｓ３０１，Ｓ３０２，Ｓ３０３，Ｓ３０４，Ｓ３０５，Ｓ３０６，Ｓ３０７，Ｓ３１０は、図１のフローチャートと同じ処理を行い、説明を省略する。
【００２４】
Ｓ８０１の処理では、Ｓ３０３で特定した入力ピンまたは入力ＦＦをすべて選択したかを調査する。すべてを選択していればＳ８０３へ進み、選択していなければＳ３０４へ進む。Ｓ３０８では、Ｓ３０７の探索の結果、遅延故障が検出された出力ピンまたは出力ＦＦに到達したかを判定する。到達していなければＳ８０１へ戻り、到達していればＳ８０２へ進む。Ｓ８０２では、探索した信号伝搬経路上の信号線および正常値の信号線ペアをＳ３０２で選択した出力ピンまたは出力ＦＦの遅延故障経路情報として登録し、再びＳ８０１に戻る。Ｓ８０３では、Ｓ３０２で特定したすべての出力ピンまたは出力ＦＦの遅延故障経路情報に含まれる信号線ペアを遅延故障診断箇所とてして特定し、故障診断を終了する（Ｓ３１０）。
【００２５】
図５のテストパターンを用いて図４の半導体集積回路をテストした結果、時刻１２において出力ピンＯＵＴ１と時刻１３においてスキャンアウト端子ＳＯＵＴでフェイルが観測されたことにより、図４の半導体集積回路に遅延故障が存在すると判定されたので、故障診断を開始する（Ｓ３０１）。まず、スキャンテストの結果より、遅延故障が検出されたＯＵＴ１，スキャンＦＦ６１４を特定する（Ｓ３０２）。次に、設計データとして読み込んでいる回路接続情報を元にＯＵＴ１への信号伝搬経路上に存在している入力ＦＦ（図４のスキャンＦＦ６０８、スキャンＦＦ６０９）およびスキャンＦＦ６１４への信号伝搬経路上に存在している入力ＦＦ（図４のスキャンＦＦ６０７，スキャンＦＦ６０８，スキャンＦＦ６０９）を特定する（Ｓ３０３）。次に、Ｓ３０３で特定した入力ＦＦは、まだ、すべて選択されていないので（Ｓ８０１）、Ｓ３０３で特定したスキャンＦＦ６０７，スキャンＦＦ６０８，スキャンＦＦ６０９の中からスキャンＦＦ６０７を選択する（Ｓ３０４）。次に、スキャンＦＦ６０７は遅延故障が検出するための時刻１２の遷移パターンの信号値は０で、時刻１１の初期化パターンの信号値も０であり（Ｓ３０５）、スキャンＦＦ６０７では、時刻１２の遷移パターンと時刻１１の初期化パターンで信号値が変化していないのでＳ８０１に戻る（Ｓ３０６）。Ｓ３０３で特定した入力ＦＦはすべて選択されていないので（Ｓ８０１）、Ｓ３０３で特定したスキャンＦＦ６０７，スキャンＦＦ６０８，スキャンＦＦ６０９の中からスキャンＦＦ６０９を選択する（Ｓ３０４）。次に、スキャンＦＦ６０９は遅延故障が検出するための時刻１２の遷移パターンの信号値は０で、時刻１１の初期化パターンの信号値は１であり（Ｓ３０５）、スキャンＦＦ６０９では、時刻１２の遷移パターンと時刻１１の初期化パターンで信号値が変化しているのでＳ３０７へ進む（Ｓ３０６）。Ｓ３０６で特定したスキャンＦＦ６０９から遅延故障が検出されたＯＵＴ１への信号伝搬経路（ネット６３４、ネット６３５、ネット６４８）の各ゲート（ＡＮＤゲート６２２）およびスキャンＦＦ６１４への信号伝搬経路（ネット６３２，ネット６３３，ネット６３４，６３５）の各ゲート（ＡＮＤゲート６２２、ＯＲゲート６２１）が、時刻１２の遷移パターンにおいて活性化条件を満たしているか調べる（Ｓ３０７）。ＯＵＴ１への信号伝搬経路の時刻１２の遷移パターンにおいてＡＮＤゲート６２２の信号伝搬経路以外の入力であるネット６３８の信号は非制御値１である。ＡＮＤゲートの活性化条件を満たしているので、回路接続情報に従い、次のゲートを調べる。次のゲートは遅延故障を検出したＯＵＴ１であるので、スキャンＦＦ６１４への信号伝搬経路を探索する。スキャンＦＦ６１４への信号伝搬経路の時刻１２の遷移パターンにおいてＡＮＤゲート６２２の信号伝搬経路以外の入力であるネット６３８の信号は非制御値１である。ＡＮＤゲートの活性化条件を満たしているので、回路接続情報に従い、次のＯＲゲート６２１を調べる。遷移パターンにおいて、ＯＲゲート６２１の信号伝搬経路以外の入力であるネット６３１の信号は非制御値０である。ＯＲゲートの活性化条件を満たしているので、回路接続情報に従い、次のゲートを調べる。次のゲートは遅延故障を検出したスキャンＦＦ１１４であるので、出力ＦＦに到達したと判定しＳ８０２へ進む（Ｓ３０８）。次に、ＯＵＴ１に伝搬する信号伝搬経路を探索した結果得られたネットとそのネットの正常動作時の値（ネット６３４，１）、（ネット６３５，１）、（ネット６４８，１）をＯＵＴ１の遅延故障経路情報として登録する（Ｓ８０２）。また、同じくスキャンＦＦ６１４に伝搬する信号伝搬経路を探索した結果得られたネットとそのネットの正常動作時の値（ネット６３４，１）、（ネット６３５，１）、（ネット６３２，１）、（ネット６３３，１）をスキャンＦＦ６１４の遅延故障経路情報として登録する（Ｓ８０２）。依然として、Ｓ３０３で特定した入力ＦＦはすべて選択されていないので、スキャンＦＦ６０８を選択し、Ｓ３０４へ進む（Ｓ３０４）。次に、スキャンＦＦ６０８は遅延故障が検出するための時刻１２の遷移パターンの信号値は１で、時刻１１の初期化パターンの信号値も１であり（Ｓ３０５）、Ｓ３０３で特定した入力ピンまたは入力ＦＦがすべて選択されたのでＳ８０３へ進む（Ｓ８０１）。次に、遅延故障が検出されたＯＵＴ１、スキャンＦＦ６１４の遅延故障情報に共通して含まれる信号線ペア（ネット６３４，１）、（ネット６３５，１）を遅延故障箇所として特定し（Ｓ８０３）、診断を終了する（Ｓ３１０）。
【００２６】
以上の診断をプログラムを用いて自動的に行うことにより、複数の出力ピンまたは出力ＦＦでフェイルが観測された場合には、遅延故障箇所として信号伝搬経路のすべての信号線ではなく、さらに詳細な信号線まで特定することができ、効率良く遅延故障箇所が絞り込むことができる。
【００２７】
また、Ｓ８０３において、Ｓ３０２で特定した出力ピンまたは出力ＦＦの遅延故障経路情報にもっとも多く含まれる信号線を遅延故障箇所として特定することもできる。
（実施の形態３）
以下、図を用いて、実施の形態３における半導体集積回路の故障診断プログラムについて説明する。
【００２８】
図７は本発明の実施の形態３の故障診断方法を説明する半導体集積回路の回路図であり、図４との違いは、ＮＯＲゲート６２３の出力端子がネット６５６に接続され、ネット６５６はネット６５７とネット６４２に接続され、ネット６５７は、ＯＲゲート６２１の入力端子に接続されていることである。図８は本発明の実施の形態３の故障診断方法を説明するテストパターン及びスキャンＦＦの内部トレースを示す図であり、図９は本発明の実施の形態３における半導体集積回路の故障診断プログラムの故障診断方法を示すフローチャートである。
【００２９】
図９において、Ｓ３０１，Ｓ３０２，Ｓ３０３，Ｓ３０４，Ｓ３０５，Ｓ３０６，Ｓ３０７，Ｓ３１０は、図５のフローチャートと同じ処理を行い、説明を省略する。
【００３０】
Ｓ３０８では、Ｓ３０７の探索の結果、遅延故障が検出された出力ピンまたは出力ＦＦに到達したかを判定する。到達していなければＳ３０４へ戻り、到達していればＳ１１０１へ進む。Ｓ１１０１では、伝搬する信号伝搬経路を探索した結果得られたネットとそのネットの正常動作時の値を遅延故障経路情報として登録する。Ｓ１１０２では、Ｓ１１０１で登録した遅延故障経路情報の出現頻度を更新する。Ｓ８０１では、Ｓ３０３で特定した入力ピンまたは入力ＦＦをすべて選択したかを調べ、すべて選択していなければＳ３０４へ進み、すべて選択していればＳ１１０３へ進む。Ｓ１１０３では、遅延故障経路情報において、出現頻度が最も多い信号線を遅延故障箇所として登録し、故障診断を終了する（Ｓ３１０）。
【００３１】
図８のテストパターンを用いて図７の半導体集積回路をテストした結果、時刻１３、２６，３８においてスキャンアウト端子ＳＯＵＴでフェイルが観測されたことにより、図７の半導体集積回路に遅延故障が存在すると判定されたので、故障診断を開始する（Ｓ３０１）。まず、遅延故障が検出されたスキャンＦＦ６１３，スキャンＦＦ６１４を特定する（Ｓ３０２）。次に、設計データとして読み込んでいる回路接続情報を元にスキャンＦＦ６１３への信号伝搬経路が存在している入力ＦＦ（図７のスキャンＦＦ６０８，スキャンＦＦ６１０，スキャンＦＦ６１１，スキャンＦＦ６１２）、およびスキャンＦＦ６１４への信号伝搬経路が存在している入力ＦＦ（図７のスキャンＦＦ６０７，スキャンＦＦ６０８，スキャンＦＦ６０９，スキャンＦＦ６１０）を特定する（Ｓ３０３）。次に、Ｓ３０３で特定した入力ＦＦはすべて選択されていないと判定し（Ｓ８０１）、Ｓ３０３で特定したスキャンＦＦ６０７，スキャンＦＦ６０８，スキャンＦＦ６０９，スキャンＦＦ６１０，スキャンＦＦ６１１，スキャンＦＦ６１２の中からスキャンＦＦ６０７を選択する（Ｓ３０４）。次に、遷移パターンの信号値と初期化パターンの信号値を比較し（Ｓ３０５）、信号値が変化していないのでＳ８０１に進む（Ｓ３０６）。続いて、Ｓ３０３で特定した入力ＦＦはすべて選択されていないので（Ｓ８０１）、Ｓ３０３で特定したスキャンＦＦ６０７，スキャンＦＦ６０８，スキャンＦＦ６０９，スキャンＦＦ６１０，スキャンＦＦ６１１，スキャンＦＦ６１２の中からスキャンＦＦ６０８を選択する（Ｓ３０４）。次に、遷移パターンの信号値と初期化パターンの信号値を比較すると（Ｓ３０５）、スキャンＦＦ６０８は遅延故障が検出された時刻１２の遷移パターンの信号値は０で、時刻１１の初期化パターンの信号値は１であり、スキャンＦＦ６０８では、時刻１２の遷移パターンと時刻１１の初期化パターンで信号値が変化しているのでＳ３０７へ進む（Ｓ３０６）。次に、Ｓ３０６で特定したスキャンＦＦ６０８から遅延故障が検出されたスキャンＦＦ６１４への信号伝搬経路（ネット６３６，ネット６３７，ネット６３１，ネット６３５，ネット６３２，ネット６３３，ネット６３９，ネット６３８，ネット６５６，ネット６５７）の各ゲート（ＡＮＤゲート６２０，ＯＲゲート６２１，ＡＮＤゲート６２２，ＮＯＲゲート６２３）が時刻１２の遷移パターンにおいて活性化条件を満たしているか調べる。時刻１２の遷移パターンにおけるスキャンＦＦ６１４への信号伝搬経路であるネット６３７が接続しているＡＮＤゲート６２０の信号伝搬経路以外の入力であるネット６３０の信号は制御値１であり、ＡＮＤゲートの活性化条件を満たしていないので経路探索を中止し、次にネット６３８を探索する。ネット６３８が接続しているＡＮＤゲート６２２の信号伝搬経路以外の入力であるネット６５５の信号は制御値０であり、ＡＮＤゲートの活性化条件を満たしていないので経路探索を中止し、ネット６３９を探索する。ネット６３９が接続しているＮＯＲゲート６２３の信号伝搬経路以外の入力であるネット６４１の信号は非制御値０なので、ＮＯＲゲートの活性化条件を満たしているので、回路接続情報に従い、次のゲートを調べる。以上の処理を出力ＦＦであるスキャンＦＦ６１４に到達するまで繰り返し（Ｓ３０７）、スキャンＦＦ６１４に伝搬する信号伝搬経路を探索した結果得られたネットとそのネットの正常動作時の値（ネット６３６，０）（ネット６３９，０）（ネット６５６，１）（ネット６５７，１）（ネット６３３、１）を遅延故障経路情報として登録する（Ｓ１１０１）。ここで、登録された信号線の出現頻度は１であるので、遅延故障経路情報は出現頻度の情報を付加すると、（ネット６３６，０，１）、（ネット６３９，０，１）（ネット６５５，１，１）（ネット６５６，１，１）（ネット６３３，１，１）となる（Ｓ１１０２）。続いて、Ｓ３０３で特定した入力ＦＦはすべて選択されていないので（Ｓ８０１）、スキャンＦＦ６０９，スキャンＦＦ６１０，スキャンＦＦ６１１，スキャンＦＦ６１２のすべての入力ＦＦについても、同様の処理を行う。すべての入力ＦＦについて処理を行った後の、遅延故障経路情報は（ネット６３６，０，１）（ネット６３９，０，１）（ネット６５６，１，２）（ネット６５７，１，１）（ネット６３３，１，１）（ネット６４０，０，１）（ネット６４１，０，１）、（ネット６４２，１，１）（ネット６４９，１，２）（ネット６４３，１，１）（ネット６４４，１，１）（ネット６４５，１，１）となる。最後に、遅延故障経路情報において、出現頻度の最も多い信号線である（ネット６５５，１，２）（ネット６４９，１，２）を遅延故障箇所として特定し（Ｓ１１０３）、診断を終了する（Ｓ３１０）。
【００３２】
以上の診断をプログラムを用いて自動的に行うことにより、複数の配線やゲートの遅延値の合計により遅延故障となる場合、遅延故障の原因となる配線やゲートをすべて通る経路でなくとも遅延故障となる場合がある。そのため、Ｓ３０２で特定したすべての出力ピンまたは出力ＦＦの遅延故障経路情報がに含まれる信号線が存在しない場合がある。その場合でも、遅延故障経路情報の出現頻度に応じて信号線を選択することで、遅延故障箇所を特定でき、効率良く遅延故障箇所が絞り込むことができる。
（実施の形態４）
以下、図を用いて、実施の形態４における半導体集積回路の故障診断プログラムについて説明する。
【００３３】
図１０は本発明の実施の形態４における半導体集積回路の故障診断方法を示すフローチャートである。
図１０において、Ｓ３０１、３０２、３１０は、図１のフローチャートと同じ処理を行い、説明を省略する。
【００３４】
Ｓ１２０１では、遅延故障が検出された出力ピンまたは出力ＦＦに接続している組み合わせ回路を選択する。Ｓ１２０２では、Ｓ１２０１で選択した組み合わせ回路の入力が入力ピンまたは入力ＦＦであるか調べる。入力ピンまたは入力ＦＦの場合はＳ３０９へ進み、そうでなければＳ１２０３へ進む。Ｓ１２０３では、組み合わせ回路の入力端子を選択する。Ｓ１２０４では、Ｓ１２０３で選択した入力端子の遷移パターンと１時刻前の初期化パターンの値を調べる。Ｓ１２０５では、Ｓ１２０３で選択した入力端子の信号値が変化しているか判定し信号値が変化していなければＳ１２０３へ戻り、信号値が変化していればＳ１２０１に戻り、Ｓ１２０２で選択した入力端子を出力端子とする組み合わせ回路を選択する。以上のＳ１２０１からＳ１２０５の処理を入力ピンまたは入力ＦＦに到達するまで繰り返す。Ｓ３０９では、Ｓ３０２で選択した出力ピンまたは出力ＦＦからＳ１２０２で到達した入力ピンまたは入力ＦＦまでの経路を遅延故障箇所として特定し、故障診断を終了する（Ｓ３１０）。
【００３５】
図３のテストパターンを用いて図２の半導体集積回路をテストした結果、時刻９においてスキャンアウト端子ＳＯＵＴでフェイルが観測されたことにより、図２の半導体集積回路に遅延故障が存在すると判定されたので、故障診断を開始する（Ｓ３０１）。まず、遅延故障が検出されたスキャンＦＦ１１０を特定する（Ｓ３０２）。次に、設計データとして読み込んでいる回路接続情報を元にスキャンＦＦ１１０に接続しているＯＲゲート１２１を選択する（Ｓ１２０１）。次に、入力ＦＦまたは入力ピンに到達していないので、Ｓ１２０３へ進み（Ｓ１２０２）、ＯＲゲート１２１のネット１３２を選択し（Ｓ１２０３）、ネット１３２の遷移パターンの信号値と１時刻前の初期化パターンの信号値を調査し（Ｓ１２０４）、ネット１３２の遷移パターンの値が０で１時刻前の初期化パターンの値が０であり、信号の変化がないのでＳ１２０３へ進む（Ｓ１２０５）。続いて、ＯＲゲート１２１の他方のネット１３１を選択し（Ｓ１２０３）、ネット１３１の遷移パターンの信号値と１時刻前の初期化パターンの信号値を調査する（Ｓ１２０４）。ネット１３１の遷移パターンの信号値が０で１時刻前の初期化パターンの信号値が１であり、信号の変化があるのでＳ１２０１へ戻る（Ｓ１２０５）。次に、ネット１３１を出力とするＡＮＤ１２０を選択し（Ｓ１２０１）、入力ＦＦまたは入力ピンに到達していないので、Ｓ１２０３へ進み（Ｓ１２０２）、ＡＮＤゲート１２０のネット１３０を選択する（Ｓ１２０３）。次に、ネット１３０の遷移パターンの信号値と１時刻前の初期化パターンの信号値を調査し（Ｓ１２０４）、ネット１３０の遷移パターンの信号値が０で１時刻前の初期化パターンの信号値が１であり、信号の変化があるのでＳ１２０１へ戻る（Ｓ１２０５）。次に、ネット１３０を出力とするスキャンＦＦ１０７を選択し（Ｓ１２０１）、入力ＦＦに到達したのでＳ３０９へ進む。最後に、信号変化のあった経路上のネット１３０，１３１，１３３を遅延故障箇所として特定し（Ｓ３０９）、診断を終了する（Ｓ３１０）。
【００３６】
以上の診断をプログラムを用いて自動的に行うことにより、出力ピンまたは出力ＦＦからネットの信号変化を入力ピンまたは入力ＦＦに向かって探索することにより、効率良く遅延故障箇所が絞り込むことができる。
【００３７】
また、本発明の第２の実施の形態における故障診断方法である図８のＳ３０３〜Ｓ３０８の変わりに、図１２のＳ１２０１〜Ｓ１２０５を実施しても良い。
また、本発明の第３の実施の形態における故障診断方法である図１１のＳ３０３〜Ｓ３０８の変わりに、図１２のＳ１２０１〜Ｓ１２０５を実施しても良い。
【００３８】
【発明の効果】
以上説明したように、本発明の半導体集積回路の故障診断プログラムは、出力ピンまたは出力ＦＦでフェイルが観測された場合に、テスターでのフェイル情報と回路接続情報と信号線の正常値から、プログラムを用いて自動的に故障原因の可能性のある任意の信号伝搬経路を活性化条件を用いて故障診断することができるため、短時間に効率良く遅延故障箇所が絞り込むことができる。
【００３９】
また、複数の出力ピンまたは出力ＦＦでフェイルが観測された場合にも、プログラムを用いて自動的に故障原因の可能性のある全ての信号伝搬経路を活性化条件を用いて絞り込むことができるため、短時間に効率良く詳細な部分経路まで絞り込むことができる。
【００４０】
また、複数の配線や組み合わせ回路の遅延値の合計により遅延故障となる場合、大きな遅延値をもつ配線や組み合わせ回路をすべて通る経路でなくとも遅延故障が検出される場合がある。その場合でも、最も多く遅延故障経路情報として登録される信号線を求めることにより、遅延故障箇所を特定でき効率良く詳細な部分経路まで絞り込むことができる。
【００４１】
また、出力ピンまたは出力ＦＦからネットの信号変化を入力ピンまたは入力ＦＦに向かって探索することにより、効率良く遅延故障箇所が絞り込むことができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１における半導体集積回路の故障診断プログラムの故障診断方法を示すフローチャート
【図２】本発明の実施の形態１の故障診断方法を説明する半導体集積回路の回路図
【図３】本発明の実施の形態１の故障診断方法を説明するテストパターン及びスキャンＦＦの内部トレースを示す図
【図４】本発明の実施の形態２の故障診断方法を説明する半導体集積回路の回路図
【図５】本発明の実施の形態２の故障診断方法を説明するテストパターン及びスキャンＦＦの内部トレースを示す図
【図６】本発明の実施の形態２における半導体集積回路の故障診断プログラムの故障診断方法を示すフローチャート
【図７】本発明の実施の形態３の故障診断方法を説明する半導体集積回路の回路図
【図８】本発明の実施の形態３の故障診断方法を説明するテストパターン及びスキャンＦＦの内部トレースを示す図
【図９】本発明の実施の形態３における半導体集積回路の故障診断プログラムの故障診断方法を示すフローチャート
【図１０】本発明の実施の形態４における半導体集積回路の故障診断プログラムの故障診断方法を示すフローチャート
【符号の説明】
１０５　　　スキャンＦＦ
１０６　　　スキャンＦＦ
１０７　　　スキャンＦＦ
１０８　　　スキャンＦＦ
１０９　　　スキャンＦＦ
１１０　　　スキャンＦＦ
１１１　　　スキャンＦＦ
１１２　　　スキャンＦＦ
１１３　　　スキャンＦＦ
１１４　　　スキャンＦＦ
１２０　　　ＡＮＤゲート
１２１　　　ＯＲゲート
１２２　　　ＮＡＮＤゲート
１３０　　ネット
１３１　　ネット
１３２　　ネット
１３３　　ネット
１３４　　ネット
１３５　　ネット
１３６　　ネット
１３７　　ネット
１３８　　ネット
１３９　　ネット
１４０　　ネット
３５１　　入力パターン
３５２　　出力パターン
３５３　　内部状態
６０５　　スキャンＦＦ
６０６　　スキャンＦＦ
６０７　　スキャンＦＦ
６０８　　スキャンＦＦ
６０９　　スキャンＦＦ
６１０　　スキャンＦＦ
６１１　　スキャンＦＦ
６１２　　スキャンＦＦ
６１３　　スキャンＦＦ
６１４　　スキャンＦＦ
６２０　　ＡＮＤゲート
６２１　　ＯＲゲート
６２２　　ＡＮＤゲート
６２３　　ＮＯＲゲート
６２４　　ＯＲゲート
６２５　　ＡＮＤゲート
６２６　　ＡＮＤゲート
６３０　　ネット
６３１　　ネット
６３２　　ネット
６３３　　ネット
６３４　　ネット
６３５　　ネット
６３６　　ネット
６３７　　ネット
６３８　　ネット
６３９　　ネット
６４０　　ネット
６４１　　ネット
６４２　　ネット
６４３　　ネット
６４４　　ネット
６４５　　ネット
６４６　　ネット
６４７　　ネット
６４８　　ネット
６４９　　ネット
６５０　　ネット
６５１　　ネット
６５２　　ネット
６５３　　ネット
６５４　　ネット
６５５　　ネット
６５６　　ネット
６５７　　ネット
７０１　　入力パターン
７０２　　出力パターン
７０３　　内部状態
【図１】
2004085333.tif 000003
【図２】
2004085333.tif 000004
【図３】
2004085333.tif 000005
【図４】
2004085333.tif 000006
【図５】
2004085333.tif 000007
【図６】
2004085333.tif 000008
【図７】
2004085333.tif 000009
【図８】
2004085333.tif 000010
【図９】
2004085333.tif 000011
【図１０】
2004085333.tif 000012