(57)【要約】【課題】空間圧縮方式のＢＩＳＴ回路を備えた半導体集積回路装置における動作状態の制限がない故障診断装置を提供すること。【解決手段】故障診断装置は、ＬＳＩの回路情報に基づいて、各スキャンチェーンの段毎に、各段のスキャンフリップフロップ３４ａ〜３６ａ，３４ｂ〜３６ｂの出力信号を圧縮するテスト出力圧縮回路３６ａ，３６ｂと、該圧縮回路３６ａ，３６ｂの出力端子に接続された仮想ピンＰＴ１，ＰＴ０と、を設定する。そして、故障診断装置は、仮想回路データに対して仮定した故障に基づく仮想ピンＰＴ１，ＰＴ０における信号とＬＳＩにてテストを実行させてテスト出力端子における信号を観測した結果とを比較してＬＳＩの故障を診断する。【選択図】図３
2008249622.tif 000002
【特許請求の範囲】
【請求項１】
複数のスキャンフリップフロップが多段接続されたスキャンチェーンを複数備え、各スキャンフリップフロップにランダムロジック回路から出力される複数の信号がそれぞれ入力され、各スキャンチェーンはスキャンフリップフロップの出力信号を順次伝達して出力し、複数のスキャンチェーンから同時に出力される複数の信号を空間圧縮回路にて圧縮し、その圧縮後の信号をテスト出力端子から出力する半導体集積回路装置のランダムロジック回路の故障を診断する故障診断装置であって、
前記半導体集積回路装置の回路情報に基づいて、各スキャンチェーンの段毎に、各段のスキャンフリップフロップの出力信号を圧縮する仮想空間圧縮回路と該仮想空間圧縮回路の出力端子に接続された仮想ピンとを設定し、前記ランダムロジック回路に対して仮定した故障が伝播される前記仮想ピンと前記テスト出力端子における信号の観測結果とを比較して前記半導体集積回路装置の故障を診断することを特徴とする故障診断装置。
【請求項２】
複数のスキャンフリップフロップが多段接続されたスキャンチェーンを複数備え、各スキャンフリップフロップにランダムロジック回路から出力される複数の信号がそれぞれ入力され、各スキャンチェーンはスキャンフリップフロップの出力信号を順次伝達して出力し、複数のスキャンチェーンから同時に出力される複数の信号を空間圧縮回路にて圧縮し、その圧縮後の信号をテスト出力端子から出力する半導体集積回路装置のランダムロジック回路の故障を診断する故障診断装置であって、
前記半導体集積回路装置の回路情報に基づいて、各スキャンチェーンの段毎に、各段のスキャンフリップフロップの出力信号を圧縮する仮想空間圧縮回路と、該仮想空間圧縮回路の出力端子に接続された仮想ピンとを設定した仮想回路データを生成するデータ生成手段と、
前記仮想回路データに対して故障を仮定して故障シミュレーションを実行する実行手段と、
前記仮想ピンにおけるシミュレーション結果と、前記テスト出力端子の観測結果とを比較して前記仮想回路データに対して仮定した故障の真偽を判断する判断手段と、
を備えたことを特徴とする故障診断装置。
【請求項３】
前記テスト出力端子は複数設けられ、前記仮想空間圧縮回路及び仮想ピンは各テスト出力端子に対応して設定された、ことを特徴とする請求項１又は２に記載の故障診断装置。
【請求項４】
前記観測結果は、前記故障が伝播したテスト出力端子及びそのサイクルを含むフェイルログであり、
前記サイクル及び前記テスト出力端子に対応する仮想ピンに前記フェイルログを割当て、前記故障シミュレーションにおいて仮定した故障が伝播された仮想ピンと、前記フェイルログを割り当てた仮想ピンとが一致する場合に前記仮想回路データに対して仮定した故障を真と判断する、ことを特徴とする請求項２記載の故障診断装置。
【請求項５】
複数のスキャンフリップフロップが多段接続されたスキャンチェーンを複数備え、各スキャンフリップフロップにランダムロジック回路から出力される複数の信号がそれぞれ入力され、各スキャンチェーンはスキャンフリップフロップの出力信号を順次伝達して出力し、複数のスキャンチェーンから同時に出力される複数の信号を空間圧縮回路にて圧縮し、その圧縮後の信号をテスト出力端子から出力する半導体集積回路装置のランダムロジック回路の故障を診断する故障診断方法であって、
前記半導体集積回路装置の回路情報に基づいて、各スキャンチェーンの段毎に、各段のスキャンフリップフロップの出力信号を圧縮する仮想空間圧縮回路と、該仮想空間圧縮回路の出力端子に接続された仮想ピンとを設定し、前記ランダムロジック回路に対して仮定した故障が伝播される前記仮想ピンと前記テスト出力端子の観測結果とを比較して前記半導体集積回路装置の故障を診断することを特徴とする故障診断方法。
【請求項６】
複数のスキャンフリップフロップが多段接続されたスキャンチェーンを複数備え、各スキャンフリップフロップにランダムロジック回路から出力される複数の信号がそれぞれ入力され、各スキャンチェーンはスキャンフリップフロップの出力信号を順次伝達して出力し、複数のスキャンチェーンから同時に出力される複数の信号を空間圧縮回路にて圧縮し、その圧縮後の信号をテスト出力端子から出力する半導体集積回路装置のランダムロジック回路の故障を診断する故障診断方法であって、
前記半導体集積回路装置の回路情報に基づいて、各スキャンチェーンの段毎に、各段のスキャンフリップフロップの出力信号を圧縮する仮想空間圧縮回路と、該仮想空間圧縮回路の出力端子に接続された仮想ピンとを設定した仮想回路データを生成し、前記仮想回路データに対して故障を仮定して故障シミュレーションを実行し、前記仮想ピンにおけるシミュレーション結果と前記テスト出力端子の観測結果とを比較して前記仮想回路データに対して仮定した故障の真偽を判断する、ことを特徴とする故障診断方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置に発生する故障箇所を推定する故障診断装置及び故障診断方法に関するものである。
近年、半導体集積回路装置の動作テストは、ＳＣＡＮテスト方式に代わって、ＢＩＳＴ方式が採用されることが多くなってきている。ＢＩＳＴ方式を採用した場合、ＳＣＡＮテスト方式を採用した場合より故障箇所を推定する故障診断が難しくなる。ＢＩＳＴ方式を採用した半導体集積回路装置の故障診断方法は提案されているが、回路の動作状態によって、その方法を適用できない場合がある。このため、動作状態に係わらず、故障箇所を推定することが要求されている。
【背景技術】
【０００２】
従来、ランダムロジック回路の動作テストとしてＳＣＡＮテスト方式が用いられている。図８（ａ）に示すように、半導体集積回路装置１０のランダムロジック回路１１はスキャンチェーン１２，１３，１４を構成するスキャンタイプフリップフロップ回路（以下、ＳＦＦ）１２ａ，１２ｂ，１３ａ，１３ｂ，１４ａ，１４ｂの入力端子Ｄに接続されている。ＳＦＦ１２ａ，１３ａ，１４ａのスキャンイン端子ＳＩには信号が入力され、各ＳＦＦ１２ａ，１３ａ，１４ａの出力端子Ｑは次段のＳＦＦ１２ｂ，１３ｂ，１４ｂのスキャンイン端子ＳＩに接続されており、各ＳＦＦ１２ｂ，１３ｂ，１４ｂの出力端子Ｑはそれぞれテスト出力端子ＳＤ０〜ＳＤ２に接続されている。
【０００３】
ＳＣＡＮテスト方式において、ランダムロジック回路１１の出力信号は各ＳＦＦ１２ａ〜１４ｂに保持される。そして、各ＳＦＦ１２ａ〜１４ｂに保持された信号は、クロック信号に基づいて順次出力される。即ち、ＳＦＦ１２ａ，１２ｂを含むスキャンチェーン１２では、テスト出力端子ＳＤ０にＳＦＦ１２ｂとＳＦＦ１２ａに保持された信号が順次出力される。この信号が出力されるサイクルをｔとすると、出力端子ＳＤ０における信号ＳＤ０（ｔ）（ｔ＝０，１）は、
ＳＤ０（０）＝０ｂ、ＳＤ０（１）＝０ａ
となる。尚、０ａ，０ｂは、ＳＦＦ１２ａ，１２ｂに保持された信号である。
【０００４】
同様に、ＳＦＦ１３ａ，１３ｂに保持された信号１ａ，１ｂは、
ＳＤ１（０）＝１ｂ、ＳＤ１（１）＝１ａ
として出力され、ＳＦＦ１４ａ，１４ｂに保持された信号２ａ，２ｂは、
ＳＤ２（０）＝２ｂ、ＳＤ２（１）＝２ａ
として出力される。この出力信号は、テスト装置において、期待値と比較される。この比較において、不一致が発生した場合（フェイルしたと呼ぶこともある）は、一般に不一致が発生した端子とサイクルが、テスト装置に記憶され、フェイルログとして出力される。例えば、０サイクルのＳＤ１で不一致が発生した場合、図８（ｂ）に示すフェイルログ１５が出力される。
【０００５】
故障診断（故障位置の推定）は、不一致が発生した半導体集積回路装置、つまり故障している半導体集積回路装置の故障原因の調査のために行われる。
故障診断の第一段階は、フェイルをキャプチャしたＳＦＦを特定することである。フェイルをキャプチャしたＳＦＦとは、上記不一致となった出力信号をランダムロジックからキャプチャしたＳＦＦのことである。
【０００６】
第二段階は、故障診断装置（コンピュータ）にて、ランダムロジック回路１１のネットデータに対して故障状態を仮定し、故障シミュレーションを実行する。その故障シミュレーションの結果において故障が伝播したＳＦＦと、第一段階で特定したＳＦＦが一致すれば、仮定した故障が真（故障した半導体集積回路装置の実際の故障と、仮定した故障が一致）であったと判断することができる。
【０００７】
上記のＳＣＡＮテスト方式では、あるサイクルに、あるテスト出力端子で観測される信号と、各ＳＦＦにキャプチャされる信号とが1対1で対応づけられている。従って、故障診断装置は、フェイルログに記録されたフェイルポイント（端子とサイクル）により、フェイルをキャプチャしたＳＦＦを容易に特定することができる。例えば、ＳＤ１（０）の値（＝１ｂ）がフェイル、つまり期待値と一致しない場合、その信号１ｂをキャプチャしたＳＦＦ１３ｂを特定することができる。つまり、ＳＣＡＮテストに対しては、上記に述べた故障診断を適用することができる。
【０００８】
しかし、ＳＣＡＮテスト方式は、半導体集積回路装置の総ＳＦＦ数が多くなると、スキャンチェーン１本あたりのＳＦＦ数が多くなり、テスト時間が長くなるという問題がある。テスト時間を短縮するには、スキャンチェーンの数を増やすこが有効である、しかし、テスト出力端子の数には、テスト装置上や回路設計上の制限があるため、テスト出力端子を増やすことによって、スキャンチェーン１本あたりのＳＦＦ数を減らし、テスト時間を短くすることは難しい。
【０００９】
このため、半導体集積回路装置にはＢＩＳＴ（Built-in Self Test）回路が搭載されるようになっている。図９（ａ）に示すように、半導体集積回路装置１０ａは、空間圧縮回路としてのテスト出力圧縮回路１６を備え、その圧縮回路１６はテスト出力端子ＳＤに接続されている。テスト出力圧縮回路１６は、入力となる複数のスキャンチェーンの信号を、入力より少ない数の信号に圧縮する。図９（ａ）では、３つのスキャンチェーンの３ビットの信号を、１ビットの信号に圧縮している。このようなテスト出力圧縮回路を備えることによって、テスト出力端子の本数は増やさずに、半導体集積回路装置内部のスキャンチェーンの本数を増やすことができ、スキャンチェーン１本あたりのＳＦＦ数を減らし、テスト時間を短くすることができる。
【００１０】
テスト出力圧縮回路１６は例えば排他的論理和回路（ＸＯＲ回路）であり、ＳＦＦ１２ａ，１３ａ，１４ａまたはＳＦＦ１２ｂ，１３ｂ，１４ｂの出力信号を１ビットの出力信号に圧縮する。従って、テスト出力端子で観測される信号とＳＦＦでキャプチャされる信号との関係は、図９（ｂ）に示すように、
ＳＤ（０）＝０ｂ  ｘｏｒ  １ｂ  ｘｏｒ  ２ｂ
ＳＤ（１）＝０ａ  ｘｏｒ  １ａ  ｘｏｒ  ２ａ
となる。しかし、この方式では、各段のＳＦＦ（例えば１２ｂ，１３ｂ，１４ｂ）でキャプチャされた信号を１ビットの信号に圧縮しているため、フェイルログの記録結果から、不一致が発生したＳＦＦを特定することができない。たとえば、SD（０）が不一致の場合、ＳＦＦ１２ｂ，１３ｂ，１４ｂのいずれか一つが不一致かもしれないし、または全てが不一致かもしれない。この問題を解決するものとして、非特許文献１に開示された方式がある。
【００１１】
この方式は、図１０に示すように、故障診断装置において、スキャンチェーンの段毎に、仮想空間圧縮回路１７ａ，１７ｂと仮想ＳＦＦ１８ａ，１８ｂとを設定した仮想回路データを生成する。尚、仮想空間圧縮回路及び仮想ＳＦＦは、図示しないがテスト出力端子毎にも生成される。仮想空間圧縮回路１７ａ，１７ｂは、図９（ａ）に示すテスト出力圧縮回路１６と同じ構成である。この仮想回路データによりテスト出力端子ＳＤにて観測される信号は、実際の回路と同じとなるため、仮想回路データに対して、先に述べた故障診断方法を適用することができる。
【非特許文献１】Ｗｕ−Ｔｕｎｇ  Ｃｈｅｎｇ，等  著「Ｃｏｍｐｕｔｅｒ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｒｅｃｔ  Ｄｉａｇｎｏｓｉｓ」、ＩＥＥＥ  Ｃｏｍｐｕｔｅｒ  Ｓｏｃｉｅｔｙ、２００４年、ｐ．２０４−２０９
【発明の開示】
【発明が解決しようとする課題】
【００１２】
ところが、上記非特許文献１に開示された方式では、１ビットの仮想ＳＦＦ１８ａ，１８ｂではＳＦＦにおける、入力端子Ｄ以外のピンの動作を1つのＳＦＦ分しか表現することができない。従って、仮想ＳＦＦとしてまとめられた複数のＳＦＦに対するクロック信号、プリセット、クリア信号（いずれも図示略）等、入力端子Ｄに入力される信号以外の信号が全て同様に変化するという制限がある。このため、上記の方式では、動作状態によって対応できない場合がある。例えば、図１１に示すように、ＳＦＦ１２ａ，１２ｂのクロック信号ｃｋａとＳＦＦ１４ａ，１４ｂのクロック信号ｃｋｃとがアクティブであり、ＳＦＦ１３ａ，１３ｂのクロック信号ｃｋｂがインアクティブの場合、ＳＦＦ１３ａ，１３ｂは、ランダムロジック回路からの信号をキャプチャせず、元々ＳＦＦ１３ａ，１３ｂに保持していた信号をそのまま出力する。従って、出力信号ＳＤ（１）はＳＦＦ１２ａ，１４ａがランダムロジック回路からキャプチャした信号と、ＳＦＦ１３ａが元々保持していた信号（ランダムロジック回路の出力信号をキャプチャしたものではない）を圧縮した信号値となる。上記非特許文献１に開示された方式では、出力信号ＳＤ（１）は、仮想回路データ上でＳＦＦ１２ａ，１３ａ，１３ｂがランダムロジック回路からキャプチャした信号を圧縮した信号値となるため、実際の動作とは異なってしまうという問題が発生する。
【００１３】
本発明は上記問題点を解決するためになされたものであって、その目的は、空間圧縮方式のＢＩＳＴ回路を備えた半導体集積回路装置における動作状態の制限がない故障診断装置及び故障診断方法を提供することにある。
【課題を解決するための手段】
【００１４】
上記目的を達成するため、請求項１に記載の発明は、複数のスキャンフリップフロップが多段接続されたスキャンチェーンを複数備え、各スキャンフリップフロップにランダムロジック回路から出力される複数の信号がそれぞれ入力され、各スキャンチェーンはスキャンフリップフロップの出力信号を順次伝達して出力し、複数のスキャンチェーンから同時に出力される複数の信号を空間圧縮回路にて圧縮し、その圧縮後の信号をテスト出力端子から出力する半導体集積回路装置のランダムロジック回路の故障を診断する故障診断装置であって、前記半導体集積回路装置の回路情報に基づいて、各スキャンチェーンの段毎に、各段のスキャンフリップフロップの出力信号を圧縮する仮想空間圧縮回路と該仮想空間圧縮回路の出力端子に接続された仮想ピンとを設定し、前記ランダムロジック回路に対して仮定した故障が伝播される前記仮想ピンと前記テスト出力端子における信号の観測結果とを比較して前記半導体集積回路装置の故障を診断するようにした。
【００１５】
この構成によれば、各仮想ピンにおける信号は、前記テスト出力端子において観測される信号と対応する。従って、ＳＣＡＮテスト方式と同様の故障診断方法で、故障診断を行うことができる。また、この構成によれば、各スキャンフリップフロップは独立している。このため、動作条件の制限がなく、半導体集積回路装置の故障診断を行うことが可能となる。
【００１６】
請求項２に記載の発明は、複数のスキャンフリップフロップが多段接続されたスキャンチェーンを複数備え、各スキャンフリップフロップにランダムロジック回路から出力される複数の信号がそれぞれ入力され、各スキャンチェーンはスキャンフリップフロップの出力信号を順次伝達して出力し、複数のスキャンチェーンから同時に出力される複数の信号を空間圧縮回路にて圧縮し、その圧縮後の信号をテスト出力端子から出力する半導体集積回路装置のランダムロジック回路の故障を診断する故障診断装置であって、前記半導体集積回路装置の回路情報に基づいて、各スキャンチェーンの段毎に、各段のスキャンフリップフロップの出力信号を圧縮する仮想空間圧縮回路と、該仮想空間圧縮回路の出力端子に接続された仮想ピンとを設定した仮想回路データを生成するデータ生成手段と、前記仮想回路データに対して故障を仮定して故障シミュレーションを実行する実行手段と、前記仮想ピンにおけるシミュレーション結果と、前記テスト出力端子の観測結果とを比較して前記仮想回路データに対して仮定した故障の真偽を判断する判断手段と、を備えた。
【００１７】
この構成によれば、各仮想ピンにおける信号は、前記テスト出力端子において観測される信号と対応する。従って、ＳＣＡＮテスト方式と同様の故障診断方法で、故障診断を行うことができる。また、この構成によれば、各スキャンフリップフロップは独立している。このため、動作条件の制限がなく、故障の状態や故障箇所等を容易に判断することが可能となる。
【００１８】
請求項３に記載の発明は、請求項１又は２に記載の故障診断装置において、前記テスト出力端子は複数設けられ、前記仮想空間圧縮回路及び仮想ピンは各テスト出力端子に対応して設定された。この構成によれば、複数のテスト出力端子を備えた半導体集積回路装置であっても、テスト出力端子毎に設定された仮想ピンにおける信号は、各テスト出力端子において観測される信号と対応する。従って、ＳＣＡＮテスト方式と同様の故障診断方法で、故障診断を行うことができる。また、この構成によれば、各スキャンフリップフロップは独立している。このため、動作条件の制限がなく、故障の状態や故障箇所等を容易に判断することが可能となる。
【００１９】
請求項４に記載の発明は、請求項２記載の故障診断装置において、前記観測結果は、前記故障が伝播したテスト出力端子及びそのサイクルを含むフェイルログであり、前記サイクル及び前記テスト出力端子に対応する仮想ピンに前記フェイルログを割当て、前記故障シミュレーションにおいて仮定した故障が伝播された仮想ピンと、前記フェイルログを割り当てた仮想ピンとが一致する場合に前記仮想回路データに対して仮定した故障を真と判断するようにした。この構成によれば、仮定した故障の真偽を容易に判断することができる。
【００２０】
請求項５に記載の発明は、複数のスキャンフリップフロップが多段接続されたスキャンチェーンを複数備え、各スキャンフリップフロップにランダムロジック回路から出力される複数の信号がそれぞれ入力され、各スキャンチェーンはスキャンフリップフロップの出力信号を順次伝達して出力し、複数のスキャンチェーンから同時に出力される複数の信号を空間圧縮回路にて圧縮し、その圧縮後の信号をテスト出力端子から出力する半導体集積回路装置のランダムロジック回路の故障を診断する故障診断方法であって、前記半導体集積回路装置の回路情報に基づいて、各スキャンチェーンの段毎に、各段のスキャンフリップフロップの出力信号を圧縮する仮想空間圧縮回路と、該仮想空間圧縮回路の出力端子に接続された仮想ピンとを設定し、前記ランダムロジック回路に対して仮定した故障が伝播される前記仮想ピンと前記テスト出力端子の観測結果とを比較して前記半導体集積回路装置の故障を診断するようにした。
【００２１】
この構成によれば、各仮想ピンにおける信号は、前記テスト出力端子において観測される信号と対応する。従って、ＳＣＡＮテスト方式と同様の故障診断方法で、故障診断を行うことができる。また、この構成によれば、各スキャンフリップフロップは独立している。このため、動作条件の制限がなく、半導体集積回路装置の故障診断を行うことが可能となる。
【００２２】
請求項６に記載の発明は、複数のスキャンフリップフロップが多段接続されたスキャンチェーンを複数備え、各スキャンフリップフロップにランダムロジック回路から出力される複数の信号がそれぞれ入力され、各スキャンチェーンはスキャンフリップフロップの出力信号を順次伝達して出力し、複数のスキャンチェーンから同時に出力される複数の信号を空間圧縮回路にて圧縮し、その圧縮後の信号をテスト出力端子から出力する半導体集積回路装置のランダムロジック回路の故障を診断する故障診断方法であって、
前記半導体集積回路装置の回路情報に基づいて、各スキャンチェーンの段毎に、各段のスキャンフリップフロップの出力信号を圧縮する仮想空間圧縮回路と、該仮想空間圧縮回路の出力端子に接続された仮想ピンとを設定した仮想回路データを生成し、前記仮想回路データに対して故障を仮定して故障シミュレーションを実行し、前記仮想ピンにおけるシミュレーション結果と前記テスト出力端子の観測結果とを比較して前記仮想回路データに対して仮定した故障の真偽を判断するようにした。
【００２３】
この構成によれば、各仮想ピンにおける信号は、前記テスト出力端子において観測される信号と対応する。従って、ＳＣＡＮテスト方式と同様の故障診断方法で、故障診断を行うことができる。また、この構成によれば、各スキャンフリップフロップは独立している。このため、動作条件の制限がなく、故障の状態や故障箇所等を容易に判断することが可能となる。
【発明の効果】
【００２４】
本発明によれば、空間圧縮方式のＢＩＳＴ回路を備えた半導体集積回路装置における動作状態の制限がない故障診断装置、テストシステム及び故障診断方法を提供することができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明を具体化した一実施の形態を図１〜図３に従って説明する。
図１に示すように、このテストシステム２０は、データ生成手段、観測手段、実行手段及び判断手段としてのテスト装置２１、故障診断装置２２を備えている。テスト装置２１は、テストパターン２３を入力することにより、テスト対象としての半導体集積回路装置（以下、ＬＳＩという）２４が良品であるか否かを判定する装置である。テストパターン２３とは、出荷試験時にサイクル番号毎にＬＳＩ２４を動作させるテスト信号のパターンと、そのパターンによりＬＳＩ２４から出力されるであろう信号を示す期待値である。テスト装置２１は、ＬＳＩ２４をテストモードにて動作させるとともにテスト信号をＬＳＩ２４に供給し、該ＬＳＩ２４から出力されるテスト結果である出力信号と期待値とを比較し、該ＬＳＩ２４の良否を判断する。そして、テスト装置２１は、出力信号と期待値とが一致しない場合にＬＳＩ２４が故障していると判断し、その判断した出力信号のサイクルと、出力信号と期待値とが一致しない端子の情報を含むフェイルログ２５を生成する。
【００２６】
故障診断装置２２は、図示しない記憶装置を有し、該記憶装置にはテスト対象のＬＳＩ２４の回路情報（ネットリスト）２６が記憶されている。故障診断装置２２は、回路情報２６基づいて、ＬＳＩ２４の仮想回路データを構築し、その仮想回路データに対して故障を仮定して故障シミュレーションを実施する。故障診断装置２２は、シミュレーション結果とフェイルログ２５の値とが一致する場合には仮定した故障（箇所，故障モード）が正しい（真）と判断し、一致しない場合には仮定した故障が間違っている（偽）と判断する。そして、故障診断装置２２は、真と判断した故障を含む故障候補２７を生成する。尚、ＬＳＩ２４の故障によっては、複数の故障が真と判断されて故障候補２７に含まれる場合もある。
【００２７】
詳述すると、故障診断装置２２は、ネットリストに基づいて、ＬＳＩ２４、詳しくはロジック回路３１とスキャンチェーン３４〜３６とテスト出力圧縮回路３７と等価的な仮想回路を設定する。仮想回路は、ＬＳＩ２４から出力される出力信号と等価な仮想出力信号を得るように設定された仮想ピンを含む。テスト装置２１は、ＬＳＩ２４の検査結果をフェイルログとして記憶する。そして、テスト装置２１は、上記仮想回路に対する故障シミュレーションを実行し、設定した仮想ピンにおけるシミュレーション結果を取得し、その値と、フェイルログの情報と、を比較する。テスト装置２１は、シミュレーション結果とフェイルログの値とが一致する場合には仮定した故障（箇所，故障モード）が正しい（真）と判断し、一致しない場合には仮定した故障が間違っている（偽）と判断する。
【００２８】
ＬＳＩ２４の構成を詳述する。
図２に示すように、ＬＳＩ２４は、ランダムロジック回路３１と、該ロジック回路３１の動作テストを行うためのＢＩＳＴ（Built-in Self Test）回路３２を備えている。本実施形態では、ＢＩＳＴ回路は、テスト制御回路３３と、複数（図１では３つ）のスキャンチェーン３４〜３６と、空間圧縮回路としてのテスト出力圧縮回路３７とを含む。テスト制御回路３３は、テスト装置２１からテスト信号が入力されるとスキャンチェーン３４〜３６及びテスト出力圧縮回路３７を動作させ、スキャンチェーン３４〜３６を介してテストパターンをロジック回路３１に供給し、ランダムロジック回路３１を動作させる。ランダムロジック回路３１は、供給されたテストパターンに従って動作し、その動作結果である出力信号をスキャンチェーン３４〜３６に出力する。スキャンチェーン３４〜３６は、ランダムロジック回路３１の出力信号をテスト出力圧縮回路３７に伝達する。テスト出力圧縮回路３７は例えば排他的論理和回路（ＸＯＲ回路）であり、ランダムロジック回路３１から出力される複数の出力信号を、例えば１ビットの出力信号に圧縮し、圧縮後の信号を出力する。
【００２９】
スキャンチェーン３４は、直列的に接続された２段のスキャンフリップフロップ（ＳＦＦ）３４ａ，３４ｂにより構成されている。同様に、スキャンチェーン３５は、ＳＦＦ３５ａ，３５ｂにより構成されており、スキャンチェーン３６は、ＳＦＦ３６ａ，３６ｂにより構成されている。
【００３０】
ランダムロジック回路３１にはスキャンチェーン３４〜３６を構成するスキャンフリップフロップ（ＳＦＦ）３４ａ〜３６ｂの出力端子Ｑから信号が入力され、ランダムロジック回路３１の出力信号は、各ＳＦＦ３４ａ〜３６ｂの入力端子Ｄに入力される。各スキャンチェーン３４〜３６において、同じ段（初段）のＳＦＦ３４ａ，３５ａ，３６ａのスキャンイン端子ＳＩにはテスト制御回路３３の出力信号が入力されており、同段のＳＦＦ３４ａ〜３６ａの出力端子Ｑは次段（最終段）のＳＦＦ３４ｂ〜３６ｂのスキャンイン端子ＳＩに接続されている。この段を構成するＳＦＦ３４ｂ〜３６ｂの出力端子Ｑはテスト出力圧縮回路３７に接続されている。
【００３１】
各ＳＦＦ３４ａ〜３６ｂには、図示しないが、従来技術で説明したように、各スキャンチェーン３４〜３６毎に対応するクロック信号（図１１参照）が供給されている。各ＳＦＦ３４ａ〜３６ｂは、ランダムロジック回路３１の出力信号をキャプチャする。そして、各スキャンチェーン３４〜３６は、それぞれクロック信号に応答してＳＦＦの保持する信号を伝達する、所謂シフトレジスタとして動作する。例えば、スキャンチェーン３４を構成するＳＦＦ３４ｂは、ＳＦＦ３４ｂ、ＳＦＦ３４ａが保持していた信号を順次出力する。
【００３２】
上記したように、テスト出力圧縮回路３７は、排他的論理和回路（ＸＯＲ回路）であり、最終段のＳＦＦ３４ｂ〜３６ｂから出力される複数の出力信号を、１ビットの出力信号に圧縮し、テスト出力端子ＳＤを介して圧縮後の信号を出力する。図１に示すテスト装置２１は、テスト出力端子ＳＤから順次出力される信号を期待値と比較し、不一致であった(フェイルした)場合、サイクルと端子情報（端子番号等）をフェイルログ２５として記憶する。
【００３３】
図１に示す故障診断装置２２は、ＬＳＩ２４の回路情報（ネットリスト）２６に基づいて、仮想回路データを生成する。詳述すると、故障診断装置２２は、スキャンチェーン３４〜３６に対して、スキャンチェーン３４〜３６の段毎に、仮想空間圧縮回路と仮想外部ピンを設定する。仮想空間圧縮回路は、空間圧縮回路（テスト出力圧縮回路３７）と同じ構成とする。図２に示すＬＳＩ２４の場合、ＳＦＦ３４ａ〜３６ａは同じ段を構成し、ＳＦＦ３４ｂ〜３６ｂは同じ段を構成する。故障診断装置２２は、図３に示すように、同じ段を構成するＳＦＦ３４ａ〜３６ａの出力端子が接続される仮想空間圧縮回路としてのテスト出力圧縮回路３７ａと、その回路３７ａに接続された仮想ピンＰＴ１を生成する。更に、故障診断装置２２は、同じ段を構成するＳＦＦ３４ｂ〜３６ｂの出力端子が接続される仮想空間圧縮回路としてのテスト出力圧縮回路３７ｂと、その回路３７ｂに接続された仮想ピンＰＴ０を生成する。つまり、故障診断装置２２は、スキャンチェーン３４〜３６の段毎に、ＳＦＦの出力信号を圧縮して仮想ピンに出力するように、仮想回路データを生成する。設定した仮想ピンＰＴ０，ＰＴ１における出力信号は、ＬＳＩ２４のテスト出力端子ＳＤから時系列的に出力される信号と一対一に対応する。詳しくは、仮想ピンＰＴ０における出力信号は、サイクル０においてＬＳＩ２４のテスト出力端子ＳＤから出力される信号と対応し、仮想ピンＰＴ１における出力信号は、サイクル１においてＬＳＩ２４のテスト出力端子ＳＤから出力される信号と対応する。
【００３４】
次に、故障診断装置２２は、フェイルログ２５の内容に基づき、そのフェイルログを仮想ピンに割り当てる。テスト出力端子ＳＤからは、各段のＳＦＦ３４ａ〜３６ａ，３４ｂ〜３６ｂにてキャプチャした信号が圧縮されて出力される。時系列的に出力される信号は、スキャンチェーン３４〜３６の段数に対応する。例えば、テスト出力端子ＳＤにおいて最初（サイクル０）に観測されたフェイルログは、スキャンチェーン３４〜３６の最終段に対応する。従って、故障診断装置２２は、最初に観測されたフェイルログを、最終段が接続された仮想ピンＰＴ０に割り当てる。
【００３５】
次に、故障診断装置２２は、生成した仮想回路データのランダムロジック回路３１に故障を仮定して故障シミュレーションを実行する。故障シミュレーションの結果は、設定した仮想ピンに故障が伝播するかどうか、つまり故障に応じたレベルの信号が出力するか否かとして得られる。
【００３６】
故障シミュレーション時の仮想ピンにおける出力信号は、スキャンチェーン３４〜３６の各段を構成するＳＦＦにおいて保持された信号をテスト出力圧縮回路３７ａ，３７ｂで圧縮した信号に対応する。各ＳＦＦに保持される信号は、各ＳＦＦの入力端子の信号によって決定される。たとえば、クロック信号がアクティブであれば、入力端子Ｄの信号値をキャプチャし、クロック信号がインアクティブであれば、既に保持していた信号値を保持し続ける。従って、例えばある段の１つのＳＦＦのクロックがインアクティブであった場合でも、各仮想ピンにおいて観測される出力信号は、各ＳＦＦのクロックの信号状態が反映されたものとなる。図３に示すＳＦＦ３５ａに供給されるクロック信号がインアクティブで、ＳＦＦ３４ａ、３６ａに供給されるクロック信号がアクティブの場合、ＳＦＦ３５ａは入力端子Ｄに入力される信号をキャプチャせずに現在の信号状態を保持し、ＳＦＦ３４ａ、３６ａは、入力端子Ｄに入力される信号をキャプチャする。そして、仮想ピンＰＴ１における出力信号は、その仮想ピンＰＴ１が接続されたテスト出力圧縮回路３７ａに接続されたＳＦＦ３４ａ〜３６ａの信号値を圧縮したもの、つまりＳＦＦ３４ａ、３６ａがランダムロジック回路３１からキャプチャした信号値とＳＦＦ３５ａが元々保持していた信号値を圧縮したものに対応する。従って、上記のような場合でも、非特許文献１の構成のように、実際の回路のテスト出力端子ＳＤにおける信号レベルと、仮想回路データの仮想ピンＰＴ０，ＰＴ１における信号レベルとが異なることはない。
【００３７】
次に、故障診断装置２２は、故障シミュレーションにより故障が伝播した仮想ピンと、先にフェイルログ２５を割り当てた仮想ピンとが、一致するかどうか調べる。一致する場合、故障診断装置２２は、仮定した故障が真であると判断する。一方、一致しない場合、故障診断装置２２は、仮定した故障が偽であると判断する。この偽と判断した場合、別の故障モード又は故障箇所を仮定し、故障シミュレーションを実行して上記判断を行う。
【００３８】
以上記述したように、本実施の形態によれば、以下の効果を奏する。
（１）故障診断装置２２は、ＬＳＩ２４の回路情報２６に基づいて、各スキャンチェーン３４〜３６の段毎に、各段のスキャンフリップフロップ３４ａ〜３６ａ，３４ｂ〜３６ｂの出力信号を圧縮するテスト出力圧縮回路３７ａ，３７ｂと、該圧縮回路３７ａ、３７ｂの出力端子に接続された仮想ピンＰＴ１，ＰＴ０と、を設定した仮想回路データを生成する。そして、故障診断装置２２は、ＬＳＩ２４にてテストを実行させてテスト出力端子ＳＤにおける信号を観測する。故障診断装置２２は、仮想回路データに対して故障シミュレーションを行うことによって、仮定した故障の仮想ピンＰＴ１，ＰＴ０における故障伝播の有無を調べる。そして、テスト出力端子ＳＤにおけるフェイルログ２５と、仮想ピンＰＴ１，ＰＴ０における故障伝播の有無とを比較してＬＳＩ２４の故障を診断するようにした。各仮想ピンＰＴ１，ＰＴ０における信号は、スキャンチェーン３４〜３６の動作によらず、テスト出力端子ＳＤにおいて観測される信号と対応する。このため、動作条件の制限がなく、ＬＳＩ２４の故障診断を行うことができる。
【００３９】
尚、上記実施の形態は、以下の態様で実施してもよい。
・上記実施の形態では、３つのスキャンチェーン３４〜３６を備えたＬＳＩ２４の故障を診断する場合について説明したが、２つ又は４つ以上のスキャンチェーンを備えたＬＳＩの故障を診断するようにしてもよい。
【００４０】
・上記実施の形態では、各スキャンチェーン３４〜３６は、それぞれ２つのスキャンフリップフロップ３４ａ，３４ｂ、３５ａ，３５ｂ、３６ａ，３６ｂを備えたが、３つ（３段）以上のスキャンフリップフロップからなるスキャンチェーンを用いたＬＳＩに具体化し、そのＬＳＩの故障を診断するようにしてもよい。
【００４１】
・上記実施の形態では、１つのテスト出力端子ＳＤを備えたＬＳＩ２４に具体化したが、複数のテスト出力端子を備えたＬＳＩに具体化し、そのＬＳＩの故障を診断するようにしてもよい。例えば、図４に示すように、ＬＳＩ４０はランダムロジック回路４１と、その回路４１に接続される４つのスキャンチェーン４２〜４５と、スキャンチェーン４２，４３の出力信号を圧縮する空間圧縮回路としてのテスト出力圧縮回路４６と、スキャンチェーン４４，４５の出力信号を圧縮する空間圧縮回路としてのテスト出力圧縮回路４７を備えている。テスト出力圧縮回路４６，４７の出力端子は２つのテスト出力端子ＳＤ０，ＳＤ１にそれぞれ接続されている。故障診断装置２２は、このＬＳＩ４０の回路情報に基づき、図５に示す仮想回路データを生成する。この仮想回路データは、スキャンチェーン４２，４３の初段を構成するＳＦＦ４２ａ，４３ａが接続された仮想空間圧縮回路としてのテスト出力圧縮回路４６ａと、スキャンチェーン４４，４５の初段を構成するＳＦＦ４４ａ，４５ａが接続された仮想空間圧縮回路としてのテスト出力圧縮回路４７ａと、を備えている。更に、この仮想回路データは、スキャンチェーン４２，４３の最終段を構成するＳＦＦ４２ｂ，４３ｂが接続された仮想空間圧縮回路としてのテスト出力圧縮回路４６ｂと、スキャンチェーン４４，４５の最終段を構成するＳＦＦ４４ｂ，４５ｂが接続された仮想空間圧縮回路としてのテスト出力圧縮回路４７ｂと、を備えている。つまり、図４に示すＬＳＩ４０では、テスト出力端子毎及びスキャンチェーンの段毎に、仮想ピン及びテスト出力圧縮回路が設定されている。
【００４２】
また、図４に示す例では、スキャンチェーン４２，４３の出力信号が圧縮されて１つのテスト出力端子ＳＤ０に出力され、スキャンチェーン４４，４５の出力信号が圧縮されて１つのテスト出力端子ＳＤ１に出力される。これを、複数のテスト出力端子に出力されるようにしてもよい。例えば、図６に示すＬＳＩ５０は、空間圧縮回路としてのテスト出力圧縮回路５１にスキャンチェーン４２，４３，４４の出力信号が入力され、空間圧縮回路としてのテスト出力圧縮回路５２にスキャンチェーン４３，４４，４５の出力信号が入力される。従って、このＬＳＩ５０は、スキャンチェーン４３，４４の出力信号が他のスキャンチェーンの出力信号と圧縮されてそれぞれ２つのテスト出力端子ＳＤ０，ＳＤ１に出力される。このＬＳＩ５０の場合、仮想回路データにおけるテスト出力圧縮回路の接続は、実際のＬＳＩ５０における接続と同様になる。即ち、図７に示すように、スキャンチェーン４２〜４４の初段を構成するＳＦＦ４２ａ，４３ａ，４４ａが仮想空間圧縮回路としてのテスト出力圧縮回路５１ａに接続され、スキャンチェーン４３〜４５の初段を構成するＳＦＦ４３ａ，４４ａ，４５ａが仮想空間圧縮回路としてのテスト出力圧縮回路５２ａに接続される。同様に、スキャンチェーン４２〜４４の最終段を構成するＳＦＦ４２ｂ，４３ｂ，４４ｂが仮想空間圧縮回路としてのテスト出力圧縮回路５１ｂに接続され、スキャンチェーン４３〜４５の最終段を構成するＳＦＦ４３ｂ，４４ｂ，４５ｂが仮想空間圧縮回路としてのテスト出力圧縮回路５２ｂに接続される。
【００４３】
上記のように、スキャンチェーンの本数、スキャンチェーンを構成するＳＦＦの段数、テスト出力端子の数、テスト圧縮回路の構成は、どのように変更又は組み合わせられてもよい。
【００４４】
・上記実施の形態では、実際のＬＳＩ２４のテストをテスト装置２１にて行い、ＬＳＩ２４の回路情報２６に基づく仮想回路データの構築と故障シミュレーションと故障の判断とを故障診断装置２２にて行うようにしたが、これらを１つの装置にて行うようにしてもよい。
【００４５】
・上記実施の形態では、テスト装置２１にテストパターン２３を入力する構成としたが、ＬＳＩにテストパターンを生成する回路を備える構成としてもよい。また、ＬＳＩに期待値と出力信号とを比較し、比較結果を出力する回路を備えるようにしてもよい。
【図面の簡単な説明】
【００４６】
【図１】テストシステムの概略構成図である。
【図２】半導体集積回路装置のブロック図である。
【図３】仮想ピンを設定した半導体集積回路装置のブロック図である。
【図４】別の半導体集積回路装置のブロック図である。
【図５】仮想ピンを設定した別の半導体集積回路装置のブロック図である。
【図６】別の半導体集積回路装置のブロック図である。
【図７】仮想ピンを設定した別の半導体集積回路装置のブロック図である。
【図８】（ａ）は従来の半導体集積回路装置のブロック回路図、（ｂ）はテスト結果の説明図である。
【図９】（ａ）は従来の半導体集積回路装置のブロック回路図、（ｂ）はテスト出力圧縮回路の出力を示す説明図である。
【図１０】半導体集積回路装置の仮想的なブロック回路図である。
【図１１】適用不可能な状態を示す説明図である。
【符号の説明】
【００４７】
２１  テスト装置
２２  故障診断装置
２３  テストパターン
２４  半導体集積回路装置
２５  フェイルログ
２６  回路情報
２７  故障候補
３１  ランダムロジック回路
３４〜３６  スキャンチェーン
３４  テスト圧縮回路
３４ａ〜３６ｂ  スキャンフリップフロップ
３６ａ，３６ｂ  テスト圧縮回路
ＳＤ  テスト出力端子
ＰＴ０，ＰＴ１  仮想ピン
【図１】
2008249622.tif 000003
【図２】
2008249622.tif 000004
【図３】
2008249622.tif 000005
【図４】
2008249622.tif 000006
【図５】
2008249622.tif 000007
【図６】
2008249622.tif 000008
【図７】
2008249622.tif 000009
【図８】
2008249622.tif 000010
【図９】
2008249622.tif 000011
【図１０】
2008249622.tif 000012
【図１１】
2008249622.tif 000013