(57)【要約】集積回路のテストモードにおいて、コンパクト化論理回路(140)に結合された複数のディジタル出力を有する集積回路(100)中の故障の箇所を検出する方法を開示し、このコンパクト化論理回路は、テスト応答を供給するための少なくとも１つの出力を具えている。この方法は、集積回路のシミュレーションモデルを用意するステップ(210)と；このシミュレーションモデルに複数のテストパターンを与えるステップ(220)と；シミュレーションによる、これらのテストパターンに対する複数のテスト応答を受信するステップ(230)と；これら複数の応答中の、上記故障の符号を規定する複数のビットを特定するステップ(240)と；集積回路に別な複数のテストパターンを与えるステップ(250)と；これらの別な複数のテストパターンに対する複数の応答を受信するステップ(260)と；これら複数の応答中の上記符号の存在をチェックするステップ(270)とを具えている。この方法は、方法を適用したＩＣの故障検出能力を改善する。
2009515161.tif 000002
【特許請求の範囲】
【請求項１】
集積回路のテストモードにおいて、コンパクト化論理回路に結合された複数のディジタル出力を有する当該集積回路の故障の箇所を検出する方法であって、前記コンパクト化論理回路が、テスト応答を供給するための少なくとも１つの出力を具えている方法において、
ａ）前記集積回路のシミュレーションモデルを用意するステップと；
ｂ）前記シミュレーションモデルに複数のテストパターンを与えるステップと；
ｃ）シミュレーションによる、前記テストパターンに対する複数のテスト応答を受信するステップと；
ｄ）前記複数のテスト応答中の、前記故障の符号を規定する複数のビットを特定するステップと；
ｅ）前記集積回路に別な複数のテストパターンを供給するステップと；
ｆ）前記別な複数のテストパターンに対する複数のテスト応答を受信するステップと；
ｇ）前記別な複数のテスト応答中の前記符号の存在をチェックするステップと
を具えていることを特徴とする集積回路内の故障箇所検出方法。
【請求項２】
前記複数のテストパターンと、前記別な複数のテストパターンとが同一であることを特徴とする請求項１に記載の方法。
【請求項３】
さらに、前記符号を規定するビットの数に上限を設定するステップを具えていることを特徴とする請求項１に記載の方法。
【請求項４】
さらに、前記別な複数のテストパターンの数が制限値を超えないように、当該テストパターンの数を制限することを特徴とする請求項３に記載の方法。
【請求項５】
さらに、前記故障の符号を規定する複数のビットを含んでいないテストパターンを前記複数のテストパターンから除去することによって、前記複数のテストパターンから前記別な複数のテストパターンを規定するステップを具えていることを特徴とする請求項１または３に記載の方法。
【請求項６】
集積回路のテストモードにおいて、コンパクト化論理回路に結合された複数のディジタル出力を有する当該集積回路の故障の箇所を検出する装置であって、前記コンパクト化論理回路が、テスト応答を供給するための少なくとも１つの出力を具えている装置において、
前記集積回路に複数のテストパターンを供給する手段と；
前記複数のテストパターンに対する複数のテスト応答を前記コンパクト化論理回路から受信する手段と；
前記集積回路の故障の符号を記憶する手段であって、前記符号は、前記複数のテスト応答中の複数のビットによって規定される手段と；
前記テスト応答中の前記符号の存在をチェックする手段と
を具えていることを特徴とする集積回路のテスト装置。
【請求項７】
前記集積回路に複数のテストパターンを与える手段が、当該テストパターンを圧縮形式で与えるように構成されていることを特徴とする請求項６に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路（ＩＣ）のテストモードにおいて、コンパクト化（コンパクション）論理回路に結合された複数のディジタル出力を有する集積回路内の故障の箇所を検出する方法に関するものであり、このコンパクション論理回路は、テスト応答を供給するための少なくとも１つの出力を具えている。
【０００２】
本発明はさらに、こうした方法を実現するテスト装置に関するものである。
【背景技術】
【０００３】
ＩＣテストは、急速に、ＩＣの製造コストにおける支配的要員になりつつある。このことの主な理由の１つは、複雑なＩＣのテストは時間を要する、ということである。このことは主に、大量のテスト入力及び出力データをテスト中のＩＣと通信しなければならないからである。従って、この通信に関係するデータのサイズを低減する方策が大きな注目を集めている。
【０００４】
【非特許文献１】Sinanoglu et al.: ”Party-based output compaction for core-based SOCs”, Proc. of the Eight IEEE European Test Workshop, p. 15-20, IEEE ETW 2003
【０００５】
例えば、ディジタル・テストデータをコンパクト化しておき、オンボード（ボード上の）抽出器を有するＩＣで、このテスト入力データを元のサイズに復元するテストの解決策が開示されている。同様に、テスト中のＩＣのディジタル・テスト出力は、オンボード・コンパクタ（コンパクト化器）によってコンパクト化され、ＩＣのテスト結果はコンパクト化された形式で外部に供給される。この方法の例は、Sinanoglu et al.: ”Party-based output compaction for core-based SOCs”, Proc. of the Eight IEEE European Test Workshop, p. 15-20, IEEE ETW 2003に見出すことができる。こうした方法では、テスト入力、例えばテスト中のＩＣに供給されるテストベクトルに対するコンパクト化されたテスト応答の各々を解析して、供給されたテストベクトルが故障の検出をトリガしたか否かを判定する。
【０００６】
コンパクト化されたテスト結果を用いることの欠点は、特に、パリティツリーベースのコンパクタを用いる際にテストの分解能が失われ、こうしたコンパクタは一般に、エクスクルーシブ・オア（排他的論理和）論理ゲートに基づく。従って、コンパクタに入力される偶数個の故障ビットをＩＣの出力上に生成する故障の発生、あるいは偶数個の故障の同時発生は、故障ビットを互いに相殺させ得る。また、複数の故障が複数の故障ビットをＩＣの異なる出力上に同時に生成する故障エリアシングにより、故障箇所検出がより困難になり得る。このことは、コンパクト化されたテスト応答は、複数の故障ビットの発生を示すに過ぎず、これらの故障ビットを特定の故障に割り当てる可能性がないことを意味する。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、冒頭段落に記載のＩＣをテストする方法を改良して提供することを求める。
【０００８】
本発明はさらに、この改良された方法を実現するテスト装置を提供することを求める。
【課題を解決するための手段】
【０００９】
本発明の態様によれば、請求項１に係る方法が提供される。本発明は、ＩＣ内の故障はいくつかのテスト入力によって発見することができるので、複数のテスト応答中に観測されやすい、という認識に基づくものである。従って、コンパクト化論理回路の出力を絶えず観測することによって、即ち、複数のテストパターンに対する応答をこれらの出力から収集することによって、この故障の可観測性が誤ったビット相殺によって失われる機会、あるいは故障箇所検出の可能性が故障エリアシングによって失われる機会が大幅に低減される。
【００１０】
本発明の他の態様によれば、請求項６に係るテスト装置が提供される。こうしたテスト装置は、本発明の方法によって提供される改良されたテスト範囲を促進する。
【発明を実施するための最良の形態】
【００１１】
以下、本発明を非限定的な実施例によって、図面を参照しながらより詳細に説明する。
【００１２】
なお、各図面は単なる概略図であり、一定寸法比で描いたものではない。また、各図面を通して、同一または類似部分は同じ参照番号で示す。
【００１３】
本発明は、空間コンパクト化（コンパクション）論理回路（ＳＣＬ：Space Compaction Logic）によってコンパクト化したテスト応答による元の故障診断方法を提案する。キーとなる思想は、テスト期間全体中に、ＳＣＬ出力を絶えず観測することにある。このことは、テスト中の回路（ＣＵＴ：Circuit Under Test）内の欠陥は複数の故障の影響を生じさせ、これらの故障の影響は通常、１つまたは複数のテストパターンにおいて、ＣＵＴのスキャンチェーン出力における複数サイクル中に観測することができる。従って、大部分の故障は一意的なＳＣＬの出力シーケンスを有し、この出力シーケンスは正確な故障検出及び診断を促進する。この方法は、診断が各サイクル中にすべての故障中のスキャンセルを識別することに基づく前述した従来技術の方法とは異なる。
【００１４】
本明細書で用いる定義：
「応答ビット」は、テストパターンまたはテストベクトルのようなテスト刺激に対するテスト応答（の一部）を含む。スキャンベースのテストでは、応答ビットは、スキャン捕捉サイクル中にスキャンフリップフロップにおいて捕捉され、次にシフト出力される。所定のＣＵＴについての、（すべてのテストパターンの）すべての応答ビットを含む集合Ｒを定義する。
「観測ビット」は、故障の影響が観測される応答ビットである。集合Ｏ⊆Ｒは、あるＣＵＴについての（すべてのテストパターンの）すべての観測ビットを含む。
「故障符号」は、故障ｆの影響が観測されるすべての観測ビットの集合Ｏf⊆Ｏである。
「故障集合」は、すべてが同じ故障符号を有する故障の集合である。故障集合ＦＳi＝{Ｆi, Ｏi}は、故障の集合Ｆi及び故障符号Ｏiから成り、∀ｆ∈Ｆi：Ｏf＝Ｏiである。ｎ個の故障集合及びすべての故障の集合Ｆを有するＣＵＴについて、
∪1≦i≦nＦi＝Ｆ及び∪1≦i≦nＯi＝Ｏが成り立つ。
【００１５】
故障集合中の故障の組は一意的であり、共通部分集合がない。即ち：
∀ＦＳi＝{Ｆi, Ｏi}，ＦＳj＝{Ｆj, Ｏj}，ｉ≠ｊ：Ｆi∩Ｆj＝φ  である。
【００１６】
故障集合内の故障符号は一意的であり、通常は共通部分集合がない。即ち：
∀ＦＳi＝{Ｆi, Ｏi}，ＦＳj＝{Ｆj, Ｏj}，ｉ≠ｊ：Ｏi≠Ｏj  である。
なお、Ｏi≠Ｏjは次のことを暗に意味する：
(Ｏi∩Ｏj＝φ)∨(Ｏi⊂Ｏj)∨(Ｏi⊃Ｏj)∨(Ｏi∩Ｏj⊂Ｏj)  である。
【００１７】
ｎ個のスキャンチェーン出力における故障の影響を観測する際には、ＦＳはＣＵＴのｐ個の故障集合のすべての集合である、ＳＣＬの出力における故障の影響を観測する際には、ＦＳSCLはＣＵＴ＋ＳＣＬのｑ個の故障集合のすべての集合である。ここにｐ≧ｑが成り立つ。
【００１８】
「故障範囲ＦＣ」は、ＣＵＴの出力を観測する際に、所定のテストパターン集合について検出されるすべての故障の比率である。故障範囲ＦＣSCLは、ＳＣＬの出力を観測する際に、所定のテストパターン集合について検出されるすべての故障の比率である。
【００１９】
「診断分解能ＤＲ」は、ＳＣＬの出力において観測される故障集合の数（ｑ）と、ＣＵＴの出力において観測される故障集合の数（ｐ）との比率として定義される。従って、ＤＲ＝100%・ｑ／ｐである。
【００２０】
故障集合ＦＳi＝{Ｆi, Ｏi}の「故障相殺」は、ＳＣＬコンパクト化回路網の各イクスクルーシブ・オア（ＸＯＲ）回路網の入力におけるＯi中の観測ビットの数が、すべてのサイクル中に０または偶数である際に発生する。従って、故障相殺は、故障範囲及び診断分解能の両方の損失を生じさせる。
【００２１】
「故障エリアシング」は、ＣＵＴの出力における複数の故障集合ＦＳiが、ＳＣＬの出力において同じ故障集合ＦＳjSCLを生じさせる際に発生する。故障エリアシングは故障範囲の損失は生じさせないが、診断分解能の損失を生じさせる。
【００２２】
本発明の方法を適用すると、故障相殺及び故障エリアシングの両方の確率が非常に小さいことが、理論解析によって示されている。これら両方の確率は、応答ビットの数の増加と共にさらに減少する。
【００２３】
（例）
次の例では、故障相殺及び故障エリアシングを例示する（図１参照）。ＩＣ１００は、テスト中の回路部分（ＣＵＴ）１２０を具え、回路部分１２０は長さ２のスキャンチェーンを４つ含む。ＳＣＬ１４０は、４入力１出力の単純なＸＯＲ回路網を具えている。こうしたＳＣＬはパリティツリーを実現する。テストパターン集合は３つのテストパターン１６０を含む。ｒijは、スキャンチェーンｊの出力においてサイクルｉ中に観測される応答ビットであり、ｒiは、ＳＣＬの出力においてサイクルｉ中に観測されるコンパクト化された応答ビットである。ｒijの集合は図１に１６０として示し、ｒiの集合は１８０として示す。ＣＵＴ及びＳＣＬの次元は非限定的な例として選定したものに過ぎないことは明らかである。
【００２４】
ＣＵＴ１２０が次の故障集合を有するものとする：
ＦＳ1＝{Ｆ1, Ｏ1}、ここに Ｆ1＝{ｆ1} かつ Ｏ1＝{ｒ11, ｒ13, ｒ32, ｒ33}；
ＦＳ2＝{Ｆ2, Ｏ2}、ここに Ｆ2＝{ｆ2, ｆ3, ｆ4} かつ Ｏ2＝{ｒ12, ｒ43, ｒ64}；
ＦＳ3＝{Ｆ3, Ｏ3}、ここに Ｆ3＝{ｆ5, ｆ6} かつ Ｏ3＝{ｒ11, ｒ41, ｒ63}；
ＦＳ4＝{Ｆ4, Ｏ4}、ここに Ｆ4＝{ｆ7, ｆ8, ｆ9} かつ Ｏ4＝{ｒ21, ｒ52, ｒ53}；
ＦＳ5＝{Ｆ5, Ｏ5}、ここに Ｆ5＝{ｆ10} かつ Ｏ5＝{ｒ22, ｒ63}；
【００２５】
故障相殺はＦＳ1について発生する、というのは、Ｏ1はサイクル１及び３中に２つの観測ビットを有するからである。故障エリアシングはＦＳ2及びＦＳ3について発生する、というのは、これらの観測ビットは同じサイクル中に出現するからである。パリティツリー１４０の出力における故障集合は次式の通りである：
ＦＳ1SCL＝{Ｆ2∪Ｆ3, {ｒ1, ｒ4, ｒ6}}
ＦＳ2SCL＝{Ｆ4, {ｒ2}}
ＦＳ3SCL＝{Ｆ5, {ｒ2, ｒ6}}
【００２６】
従って、ＳＣＬ１４０の出力では１０個の故障のうち９個のみが観測され、故障集合の数は５から３に低減される。従って、相対故障範囲ＦＣSCLrelは100%・9/10＝90%であり、診断分解能ＤＲは100%・3/5＝60%である。
【００２７】
（故障集合の発生）
自動化されたテストパターン発生（ＡＴＰＧ：Automated Test Pattern Generation）ツール（図示せず）がすべての対象（ターゲット）故障の故障辞書を作成し、テストパターンを発生してこれらの故障を検出する。故障範囲は、故障シミュレーションによって容易に導出することができ、検出した故障が対象故障中に占める％割合を表現する。故障集合は、すべてのテストパターンの故障シミュレーションによって故障の欠落なしに導出することができる。このようにして、すべてのテストパターン中のすべての観測ビットが故障毎に識別される。ランダムにテスト可能な故障は通常、多くのテストパターンによって検出され、従って、こうした故障についての観測ビットの数は非常に大きくなり得る。従って、故障集合用の記憶容量の要求は、大規模な回路に対して過剰になり、簡単に数ギガバイトをとり得る。このデータ量を低減するための実際の方法は、「故障分離限界」を導入して、各故障集合中の観測ビットの最大数がこの限界を超えないようにすることである。今度は、故障シミュレーション中に、故障分離限界によって指定した観測ビットの数だけの故障が検出された後には故障が欠落し、従って、故障の符号中のビット数についての上限が提供される。この故障分離限界は過度に小さく選定すべきでない、というのは、このことは故障集合の数を減らし、従って診断分解能を低下させるからである。故障分離限界の実際値は200〜300の範囲内である。
【００２８】
故障集合は、縮退故障に対して生成することが好ましい。実際の欠陥は縮退故障として挙動することはまれであるが、欠陥のある回路の故障の応答をこうした故障集合に整合させることは、物理的故障解析によってさらに解明することのできる少数の候補欠陥箇所を識別することを可能にすることが多い。
【００２９】
【特許文献１】国際公開第2005/031378号パンフレット
【００３０】
この時点では、一部のテスト応答は先験的に定めることはできないが、他のテスト応答はトライステート（三状態）または不確かであり得ることを強調しておく。これらの未知の、トライステート及び不確かなテスト応答は「Ｘ」テスト応答と称され、信頼性のあるテスト応答のコンパクト化が非常に困難、さらには不可能になることを生じさせる。ＳＣＬは「Ｘ」に対して比較的不感応であるが、ＳＣＬの出力シーケンスは、「Ｘ」が多数サイクル中に現われる場合にはより有用でなくなる。こうしたＸＭＬの例は、例えばＰＣＴ出願WO2005/031378（国際公開第2005/031378号パンフレット）に開示されている。この出願では、ＸＭＬがすべての「Ｘ」テスト応答を固定で既知の応答に変換する。
【００３１】
Ｘ−マスキング論理回路を用いて故障相殺を低減することもできる。故障相殺は、偶数個の観測ビットが同一サイクル中に各ＸＯＲツリーの入力に出現する場合に発生する。これらの観測ビットの１つ以上をマスクすることによって観測ビットの数を偶数から奇数に変換することができ、今度は、故障の影響をＳＣＬの出力において観測することができる。各観測ビットは通常、複数の故障集合に含まれるので、ビットマスキングは注意して適用すべきである。従って、１つの故障集合について故障相殺を修復することは、他の故障集合についての故障相殺を生じさせ得るし、故障エリアシングも発生し得る。従って、故障相殺の問題のある故障集合毎に、例えば、他の故障集合において使用される頻度が最小の観測ビットのみをマスクする。
【００３２】
故障相殺は、ＡＴＰＧツールの増強によって低減することもできる。各パターンを発生した後に、ＣＵＴ１２０及びＳＣＬ１４０の故障シミュレーションを実行すべきである。故障相殺の場合には、相殺された故障は未検出であると考え、後続のパターン中にＡＴＰＧが対象とすべきである。
【００３３】
ＡＴＰＧツールは、各故障を奇数個の観測ビットに感応させるように指示されることが好ましく、このことは、少なくとも１サイクル中に奇数個の観測ビットがＳＣＬの入力に出現することを生じさせる。
【００３４】
故障エリアシングは、すべてのパターンを発生して初めて解析することができるので、修復することがより困難である。それにもかかわらず、ビットマスキングを適用して故障エリアシングを低減することもできる。２つの故障集合のエリアシングの場合には、一方の故障集合のみに出現する観測ビットをマスクすることができる。ＡＴＰＧツールを用いて、故障エリアシングを解決するための追加的パターンを発生することができるが、このことはパターンのカウント数を増加させる。
【００３５】
図２に、本発明の方法２００のフローチャートを示す。ステップ２１０では、集積回路のシミュレーションモデルを用意する。このことは周知のシミュレーションツールで達成することができる。これに続くステップ２２０では、シミュレーションモデルに複数のテストパターンを与え、ステップ２３０では、シミュレーションモデルが、シミュレーションによる、これらのテストパターンに対する複数のテスト応答を生成する。
【００３６】
次に、ステップ２４０では、前に説明したように、複数の応答中の、故障の符号を規定する複数のビットを識別する。
【００３７】
従って、ＩＣ１００はこの符号を用いてテストすることができる。ステップ２５０では、集積回路に別な複数のテストパターンを、例えば図３に示すテスト装置によって与え、ステップ２６０では、これらの別な複数のテストパターンに対するコンパクト化した複数の応答を受信する。この複数の応答は、ステップ２４０で決定した符号の存在をチェックされる。
【００３８】
ステップ２１０及び２５０で与えるテストパターンは同一にすることができる。あるいはまた、故障符号を特定することにつながる解析を用いて、上記別な複数のテストパターンを、例えば、前に説明したように故障署名中のビット数を制限するか、あるいは、故障署名に寄与しないパターンを除去することによって修正することができる。
【００３９】
図３に、本発明によるテスト装置３００を示す。装置３００は出力３０２を有して、テストパターンをＩＣ１００に供給する。これらのテストパターンはコンパクト化された形式であることが好ましく、この場合には、ＩＣ１００は抽出論理回路（図示せず）を具えている。装置３００はさらに、入力３０４を具えて、コンパクト化されたテスト結果をＳＣＬ１４０から受信する。テスト装置３００はコントローラ３２０を有し、コントローラ３２０は例えば、ＣＵＴ１２０へのテストパターンの伝送、及びＳＣＬ１４０からのコンパクト化されたテスト結果の評価を制御する。コントローラ３２０はメモリー３４０にアクセスし、メモリー３４０には、ＣＵＴ１２０の故障の故障符号を記憶することができる。この故障符号は一般に、前に説明したように、本発明の方法のステップ２１０、２２０及び２３０において生成され、外部ソース、例えばシミュレーションを実行したコンピュータによってテスト装置３００に供給することができる。あるいはまた、装置３００は、例えばこの装置に対する適切な命令をメモリー３４０に記憶することによって、故障符号を最初に生成するように構成することができる。コントローラ３２０は、受信したテスト結果を解析して、テスト結果中の故障符号の存在をチェックするように構成されている。
【００４０】
なお、上述した実施例は本発明を限定するものではなく例示するものであり、当業者は、請求項に記載の範囲を逸脱することなしに、多くの代案実施例を設計することができる。「具えている」等の文言は、請求項中に挙げた以外の要素またはステップの存在を排除するものではない。各構成要素は複数存在し得る。本発明は、いくつかの別個の要素から成るハードウェアによって実現することができる。いくつかの手段を挙げた装置の請求項では、これらの手段のいくつかは同一のハードウェア・アイテムによって具体化することができる。単に、互いに異なる従属請求項中に特定方策が挙げられていることは、これらの方策の組合せを有利に用いることができないことを意味するものではない。
【図面の簡単な説明】
【００４１】
【図１】本発明の方法で使用するICを示す図である。
【図２】本発明の方法のフローチャートである。
【図３】本発明のテスト装置を示す図である。
【図１】
2009515161.tif 000003
【図２】
2009515161.tif 000004
【図３】
2009515161.tif 000005
【国際調査報告】
2009515161.tif 000006
2009515161.tif 000007
2009515161.tif 000008