(57)【要約】  本明細書では、故障診断を実施するための方法と、装置と、システムとが開示される。開示された幾つかの実施形態では、圧縮されたテスト応答から故障を診断するための方法が提供される。例えば、一例示的実施形態では、少なくとも部分的にスキャン・ベースの被テスト回路と被テスト回路に取り込まれたテスト応答を圧縮するコンパクタとの回路記述が受信される。被テスト回路に取り込まれたテスト応答に対して、コンパクタによって実施される変換関数が決定される。非圧縮テスト応答を評価するための診断手順は、その内部に変換関数を組み込んだ、修正された診断手順に修正される。開示された方法の何れかをコンピュータに実施させるためのコンピュータ実行可能な命令を含むコンピュータ可読媒体も提供される。同様に、開示された方法の何れかによって識別された故障候補のリスト、又は開示された方法によって生成若しくは修正された回路記述を含むコンピュータ可読媒体も提供される。
2007531875.tif 000002
【特許請求の範囲】
【請求項１】
被テスト回路に取り込まれ、コンパクタによって圧縮されたフェイル・テスト応答を表す１つ又は複数のエントリを含む故障ログを受信するステップであって、前記被テスト回路が、対応するロジック・コーンからテスト応答を受け取るスキャン・セルを含む、ステップと、
被テスト回路のどのロジック・コーンが、少なくとも部分的に個々のフェイル・テスト応答に寄与しているのかを表す変換関数を使用して、前記故障ログの選択されたエントリに対する１つ又は複数の候補ロジック・コーンを識別するステップと、
前記被テスト回路の表現を使用して、前記１つ又は複数の候補ロジック・コーン内の故障候補を見つけるステップと、
を含む方法。
【請求項２】
請求項１に記載の方法であって、
選択された故障候補に対して、前記被テスト回路と前記コンパクタの表現で前記フェイル・テスト・パターンの１つ又は複数をシミュレートするステップであって、前記表現が、前記選択された故障候補を含む、ステップを、
更に含む方法。
【請求項３】
請求項２に記載の方法であって、前記被テスト回路と前記コンパクタの前記表現は、前記被テスト回路の前記スキャン・セルが、圧縮後のテスト応答を取り込むようになされた擬似スキャン・セルに置き換えられたことを表す、方法。
【請求項４】
請求項１に記載の方法であって、前記変換関数が、前記コンパクタの数学的表現を含む、方法。
【請求項５】
請求項１に記載の方法であって、前記故障ログの複数の個々のエントリに対する１つ又は複数の候補ロジック・コーンが、識別され、前記故障ログの前記複数の各個々のエントリが、単一のテスト・パターンに関連づけられており、
前記故障ログの前記複数の個々のエントリに対して前記識別された候補ロジック・コーンの和集合の共通部分で、故障候補を見つけるステップを、
更に含む方法。
【請求項６】
請求項１に記載の方法であって、前記コンパクタが、空間コンパクタである、方法。
【請求項７】
請求項１に記載の方法であって、前記コンパクタが、無限入力応答コンパクタである、方法。
【請求項８】
請求項１に記載の方法であって、前記コンパクタが、有限入力応答コンパクタである、方法。
【請求項９】
請求項１に記載の方法であって、前記コンパクタが、マスキング・ロジックを含む、方法。
【請求項１０】
請求項１に記載の方法をコンピュータ・システムに実行させるためのコンピュータ実行可能命令を含む１つ又は複数のコンピュータ可読媒体。
【請求項１１】
請求項１に記載の方法によって決定された故障候補のリストを含む１つ又は複数のコンピュータ可読媒体。
【請求項１２】
請求項１に記載の方法を使用して識別され、修理された故障を備えた回路。
【請求項１３】
被テスト回路の表現を、変換された被テスト回路の表現に変換するステップを含む方法であって、
前記被テスト回路が、個々のロジック・コーンからテスト応答を取り込むスキャン・セルと前記取り込まれたテスト応答を圧縮するコンパクタとを含み、
前記変換された被テスト回路が、前記被テスト回路内の１つ又は複数の前記スキャン・セルを個々の圧縮されたテスト応答を取り込むように構成された１つ又は複数の擬似スキャン・セルに置き換え、前記１つ又は複数の擬似スキャン・セルが、前記コンパクタの表現を介して、前記変換された被テスト回路内の対応するロジック・コーンと関連づけられる、方法。
【請求項１４】
請求項１３に記載の方法であって、
前記変換された被テスト回路の前記表現を使用して前記被テスト回路の故障を診断するステップを、
更に含む方法。
【請求項１５】
請求項１４に記載の方法であって、前記診断のステップが、結果−原因診断手順を用いて実施される、方法。
【請求項１６】
請求項１５に記載の方法であって、前記結果−原因診断手順が、前記変換された被テスト回路の表現における、１つ又は複数の前記擬似スキャン・セルから個々の関連する候補ロジック・コーンまでの経路追跡によって故障候補のリストを決定するステップを含む、方法。
【請求項１７】
請求項１３に記載の方法であって、前記変換された被テスト回路の前記表現における前記コンパクタの表現が、前記コンパクタのブール関数を表現することなしに、前記被テスト回路のどのロジック・コーンが、少なくとも部分的に個々のフェイル・テスト応答に寄与しているかを示す、方法。
【請求項１８】
請求項１３に記載の方法をコンピュータ・システムに実行させるためのコンピュータ実行可能な命令を含む１つ又は複数のコンピュータ可読媒体。
【請求項１９】
請求項１３に記載の方法によって決定された故障候補のリストを含む１つ又は複数のコンピュータ可読媒体。
【請求項２０】
請求項１３に記載の方法を使用して識別され、修理された故障を備えた回路。
【請求項２１】
故障ログを受信するステップであって、前記故障ログが、被テスト回路に印加されたテスト・パターンに対する前記被テスト回路の圧縮されたフェイル応答を表し、前記フェイル応答が、最初に前記被テスト回路のスキャン・セルに取り込まれ、次いでコンパクタによって圧縮される、ステップと、
前記コンパクタの数学的表現を、前記テスト・パターンの１つに関連した１つ又は複数のフェイル応答に適用して、前記１つ又は複数のフェイル応答をもたらす故障が存在する可能性がある１つ又は複数の個々の候補ロジック・コーンを識別するステップと、
結果−原因診断手順を、前記１つ又は複数の個々の候補ロジック・コーンに適用するステップと、
を含む方法。
【請求項２２】
請求項２１に記載の方法であって、前記結果−原因診断手順が、前記被テスト回路の表現を使用して識別された前記１つ又は複数の個々のロジック・コーンへの経路追跡を含み、前記経路追跡が、故障候補のリストを決定するために実施される、方法。
【請求項２３】
請求項２２に記載の方法であって、前記経路追跡が、前記個々の候補ロジック・コーンの複数のロジック・コーンに対して並列に実施される、方法。
【請求項２４】
請求項２２に記載の方法であって、故障候補の前記リストが、前記個々の候補ロジック・コーンの和集合の共通部分に存在する故障候補からなる、方法。
【請求項２５】
請求項２２に記載の方法であって、
前記故障候補の少なくとも１つに対して、前記故障候補の前記少なくとも１つが存在する前記被テスト回路と前記コンパクタとに対する１つ又は複数の前記テスト・パターンの印加をシミュレートするステップを、
更に含む方法。
【請求項２６】
請求項２１に記載の方法であって、前記コンパクタの前記数学的表現が、前記コンパクタのブール関数を表現することなしに、前記被テスト回路のどのロジック・コーンが、対応するフェイル・テスト応答に少なくとも部分的に寄与しているかを示す、方法。
【請求項２７】
請求項２１に記載の方法をコンピュータ・システムに実行させるためのコンピュータ実行可能命令を含む１つ又は複数のコンピュータ可読媒体。
【請求項２８】
請求項２１に記載の方法によって決定された故障候補のリストを含む１つ又は複数のコンピュータ可読媒体。
【請求項２９】
請求項２１に記載の方法を使用して識別され、修理された故障を備えた回路。
【請求項３０】
被テスト回路に印加される１つ又は複数のテスト・パターンに対する前記被テスト回路の１つ又は複数のフェイル・テスト応答を表す情報を受信するステップであって、前記フェイル・テスト応答が、最初に前記被テスト回路のスキャン・セルに取り込まれ、次いでコンパクタによって圧縮される、ステップと、
変換された被テスト回路の表現に適用される経路追跡技術を使用して１つ又は複数の前記フェイル・テスト応答に対する故障候補を識別するステップであって、前記変換された被テスト回路の表現が、最初に圧縮され、次いで擬似スキャン・セルに取り込まれるように前記フェイル・テスト応答を表す、ステップと、
を含む方法。
【請求項３１】
請求項３０に記載の方法であって、前記フェイル・テスト応答の圧縮に関連する前記被テスト回路の表現の一部が、変換された回路記述を含む、方法。
【請求項３２】
請求項３０に記載の方法であって、前記フェイル・テスト応答の圧縮に関連する前記被テスト回路の表現の一部が、数学的関係を含む、方法。
【請求項３３】
請求項３０に記載の方法をコンピュータ・システムに実行させるためのコンピュータ実行可能命令を含む１つ又は複数のコンピュータ可読媒体。
【請求項３４】
請求項３０に記載の方法によって決定された故障候補のリストを含む１つ又は複数のコンピュータ可読媒体。
【請求項３５】
請求項３０に記載の方法を使用して識別され、修理された故障を備えた回路。
【請求項３６】
少なくとも部分的にはスキャン・ベースの被テスト回路と前記被テスト回路に取り込まれたテスト応答を圧縮するコンパクタとの回路記述を受信するステップと、
前記被テスト回路に取り込まれた前記テスト応答に対して、前記コンパクタによって実行される変換関数を決定するステップと、
非圧縮テスト応答を評価するための診断手順を、前記変換関数を内部に組み込んだ修正された診断手順に修正するステップと、
を含む方法。
【請求項３７】
請求項３６に記載の方法であって、前記修正された診断手順が、結果−原因診断手順である、方法。
【請求項３８】
請求項３６に記載の方法であって、前記修正された診断手順が、
前記被テスト回路で観測され、前記コンパクタによって圧縮されたフェイル・テスト応答の故障ログを受信するステップと、
個々のフェイル・テスト応答に関連する各ロジック・コーンの故障候補セットを識別するステップと、
前記故障候補セット間の共通部分を決定するステップと、
を含む、方法。
【請求項３９】
請求項３６に記載の方法をコンピュータ・システムに実行させるためのコンピュータ実行可能な命令を含む１つ又は複数のコンピュータ可読媒体。
【請求項４０】
請求項３６に記載の方法によって修正された回路記述を含む１つ又は複数のコンピュータ可読媒体。
【請求項４１】
請求項３６に記載の方法を使用して識別され、修理された故障を備えた回路。
【請求項４２】
少なくとも部分的にはスキャン・ベースの被テスト回路と前記被テスト回路のスキャン・セルに取り込まれたテスト応答を圧縮するコンパクタとの回路記述を受信するステップであって、前記スキャン・セルが、前記コンパクタの上流に配置される、ステップと、
前記被テスト回路の前記スキャン・セルに取り込まれた前記テスト応答に対する、前記コンパクタによって実行される変換関数を決定するステップと、
前記回路記述を修正して、前記コンパクタを削除し、前記変換関数を前記被テスト回路の前記スキャン・セルの上流に組み込むことにより、前記スキャン・セルを擬似スキャン・セルに置き換えるステップと、
を含む方法。
【請求項４３】
請求項４２に記載の方法であって、
前記修正された回路記述を使用して診断を実施するステップであって、前記診断が、非圧縮テスト応答を評価するための診断手順を使用して実施される、ステップを、
更に含む方法。
【請求項４４】
請求項４２に記載の方法をコンピュータ・システムに実行させるためのコンピュータ実行可能命令を含む１つ又は複数のコンピュータ可読媒体。
【請求項４５】
請求項４２に記載の方法によって修正された回路記述を含む１つ又は複数のコンピュータ可読媒体。
【請求項４６】
請求項４２に記載の方法を使用して識別され、修理された故障を備えた回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、集積回路内の欠陥の診断に関する。
（関連出願の相互参照）
本出願は、２００４年３月３１日に出願された米国特許仮出願第６０／５５８４０５号及び２００４年８月２３日に出願された米国特許出願第１０／９２５２３０号の優先権を主張し、この両方の出願を参照により本明細書に組み入れる。
【背景技術】
【０００２】
故障の正確な診断は、特に増加を続けるゲート数と縮小を続けるフィーチャ・サイズを考慮すると、集積回路のテストにおいて、益々重要な側面になってきている。テストの間に圧縮技術を使用しない回路については、故障診断は、比較的容易である。しかし、圧縮ハードウェアが組み込まれた回路については、正確な故障診断は、極めて困難な課題を提示する。
【０００３】
集積回路のテストの間に圧縮を使用することは、広く普及してきている。一般に、圧縮は、従来の縮退テスト・セットに必要なテスト・データ量の削減にも役立つ。そのようなセットは、例えば、今日の数百万ゲートの集積回路をテストするために使用される自動テスト装置（ＡＴＥ）の容量を超えることも多い。更に、被テスト回路（ＣＵＴ）とＡＴＥの間の帯域幅が制限されているので、圧縮されたテスト・データと圧縮されたテスト応答の使用により、テスト時間を削減し、結果としてテスト・コストを削減することができる。
【０００４】
自動故障診断（例えば、自動テスト・パターン生成（ＡＴＰＧ）から得られたスキャン・パターンに基づく診断）は、全体の故障解析プロセスにおける望ましいコンポーネントである。一般に、自動故障診断は、故障の位置を予測するために使用され、シリコン・デバッグ、歩留まり学習、歩留まり向上などの各分野でのアプリケーションを含む。あるテスト・セットに対するフェイル・テスト応答が与えられると、自動故障診断ツールを使用して、その故障を最もよく説明する候補故障の位置を識別することができる。識別された候補位置により、故障の物理的な原因となる位置の検出を支援し、物理レベルでの故障解析に導くために使用することができる。
【発明の開示】
【課題を解決するための手段】
【０００５】
（概要）
開示された一方法では、被テスト回路で取り込まれ、コンパクタで圧縮されたフェイル・テスト応答を表す１つ又は複数のエントリを含む故障ログが、受信される。被テスト回路は、対応するロジック・コーンからテスト応答を受け取るスキャン・セルを含む。コンパクタは、例えば、スペース・コンパクタ、無限入力応答コンパクタ、又は有限入力応答コンパクタなどでもよい。コンパクタは更に、マスキング・ロジックを含むこともできる。開示の方法では、被テスト回路内のどのロジック・コーンが少なくとも部分的に個々のフェイル・テスト応答に寄与しているかを表す変換関数を使用して、故障ログの選択されたエントリに対する１つ又は複数の候補ロジック・コーンが識別される。故障候補は、被テスト回路の表現を使用して、その１つ又は複数の候補ロジック・コーン内で見つけられる。この方法は更に、選択された故障候補の存在下で、被テスト回路とコンパクタの表現でフェイル・テスト・パターンをシミュレートするステップを含むことができる。本方法の幾つかの実装では、故障ログの複数の個々のエントリに対する１つ又は複数の候補ロジック・コーンが識別され、故障ログの複数の各個々のエントリは、単一のテスト・パターンに関連づけられる。次に、故障候補は、複数の個々のエントリに対する識別された候補ロジック・コーンの和集合の共通部分で見つけられる。
【０００６】
開示された他の方法では、被テスト回路の表現は、変換された被テスト回路の表現に変換される。元の被テスト回路は、個々のロジック・コーンからテスト応答を取り込むスキャン・セルと、取り込んだテスト応答を圧縮するコンパクタとを含む。一方、変換された被テスト回路は、被テスト回路内の１つ又は複数のスキャン・セルを、個々の圧縮されたテスト応答を取り込むように構成された１つ又は複数の擬似スキャン・セルに置き換える。この１つ又は複数の擬似スキャン・セルは、コンパクタの表現（例えば、コンパクタのブール関数を表現することなしに、被テスト回路内のどのロジック・コーンが、少なくとも部分的に個々のフェイル・テスト応答に寄与するのかを示すコンパクタの表現など）を介して対応するロジック・コーンに関連づけられる。幾つかの実装では、被テスト回路内の故障は、変換された被テスト回路の表現を使用して診断される。診断は、結果−原因診断手順を使用して実施することができる。この手順は、修正された被テスト回路の表現において、１つ又は複数の擬似スキャン・セルから個々に関連づけられた候補ロジック・コーンまでの経路追跡によって故障候補のリストを決定するステップを含むことができる。
【０００７】
開示された他の方法では、被テスト回路に印加された１つ又は複数のテスト・パターンに対する被テスト回路の１つ又は複数のフェイル応答を表す故障ログが、受信される。この実施形態では、最初に故障ログのフェイル応答が被テスト回路のスキャン・セルに取り込まれ、次いでコンパクタによって圧縮される。フェイル応答の原因となり得る故障が存在する可能性がある１つ又は複数の個々の候補ロジック・コーンを識別するために、コンパクタの数学的表現が、１つ又は複数のフェイル応答に適用される。結果−原因診断手順が、１つ又は複数の個々の候補ロジック・コーンに適用される。幾つかの実装では、コンパクタの表現は、コンパクタのブール関数を表現することなしに、被テスト回路内のどのロジック・コーンが、少なくとも部分的に個々のフェイル・テスト応答に寄与するかを示す。この実施形態で使用される結果−原因診断手順には、故障候補のリストを決定するために実施される、被テスト回路の表現を用いた１つ又は複数の識別されたロジック・コーンへの経路追跡を含めることができる。幾つかの実装では、故障候補のリストは、個々の候補ロジック・コーンの和集合の共通部分に存在する故障候補から構成される。結果−原因診断手順には更に、故障候補の１つが存在する被テスト回路とコンパクタとに対する１つ又は複数のテスト・パターンの印加をシミュレートするステップを含めることもできる。
【０００８】
開示された他の方法では、被テスト回路に印加された１つ又は複数のテスト・パターンに対する、被テスト回路の１つ又は複数のフェイル・テスト応答を表す情報が受信される。その際、フェイル・テスト応答は、最初に被テスト回路のスキャン・セルに取り込まれ、次いでコンパクタによって圧縮される。この方法は更に、変換された被テスト回路の表現に適用される経路追跡技術を使用して、１つ又は複数のフェイル・テスト応答に対する故障候補を識別するステップを含む。この実施形態では、変換された被テスト回路の表現は、フェイル・テスト応答を、最初に圧縮され、次いで擬似スキャン・セルに取り込まれるものとして表す。フェイル・テスト応答の圧縮に関連する被テスト回路の表現の一部には、例えば、変換された回路の記述又は数学的な関係を含めることができる。
【０００９】
開示された他の方法では、少なくとも部分的にスキャン・ベースの被テスト回路と、その被テスト回路に取り込まれたテスト応答を圧縮するコンパクタとを記述した回路記述が受信される。被テスト回路に取り込まれたテスト応答に対して、コンパクタによって実施される変換関数が決定される。非圧縮のテスト応答を評価するための診断手順は、変換関数を組み込んだ修正された診断手順に修正される。修正された診断手順は、結果−原因診断手順でもよく、また被テスト回路で観測されたフェイル・テスト応答の故障ログを受信する動作と、個々のフェイル・テスト応答に関連するロジック・コーン内の故障候補セットを識別する動作と、各故障候補セット間の共通部分を求める動作とを含むことができる。
【００１０】
開示された他の方法では、少なくとも部分的にスキャン・ベースの被テスト回路と、被テスト回路のスキャン・セルに取り込まれたテスト応答を圧縮するコンパクタとを記述した回路記述が受信される。この実施形態では、記載の被テスト回路のスキャン・セルは、コンパクタの上流に配置される。被テスト回路のスキャン・セルに取り込まれたテスト応答に対して、コンパクタによって実施される変換関数が決定される。回路記述は、コンパクタを除去し、被テスト回路のスキャン・セルの上流に変換関数を埋め込むように修正され、それによってスキャン・セルを擬似スキャン・セルに置き換える。開示の方法は更に、修正された回路記述を使用して診断を実施するステップを含むことができる。この診断は、非圧縮テスト応答を評価するための診断手順を使用して実施される。
【００１１】
開示した方法は何れも、コンピュータにその方法を実行させるためのコンピュータ実行可能命令を含むコンピュータ可読媒体として実装することができる。更に、開示された方法の何れかによって識別された故障候補のリスト、又は開示された方法によって生成若しくは修正された回路記述を含むコンピュータ可読媒体も開示される。開示された方法の何れかによって修理された故障を有する回路もまた開示される。
【００１２】
なお、開示された諸実施形態の前述及び追加の特徴及び利点は、添付の図面を参照しながら進められる以下の詳細な説明によってより明らかになるはずである。
【発明を実施するための最良の形態】
【００１３】
以下で開示されるのは、故障診断を実施するための方法と、装置と、システムとについての代表的な実施形態であり、どのような意味においても制限を意味するものと解釈すべきではない。むしろ、本開示は、開示された様々な方法と、装置と、システムとの、単独での並びに様々な相互の組合せとサブ組合せでの、あらゆる新規且つ非自明な機能と態様とを対象とするものである。開示の技術は、特定の態様又は機能、或いはそれらの組合せに制限されるものではなく、また開示の方法と、装置と、システムとが、何れか１つ又は複数の特定の利点が存在すること、又は問題が解決されることを必要とするものでもない。
【００１４】
更に、本明細書に記載の方法、装置、及びシステムは何れも、様々なスキャン・ベース又は部分的にスキャン・ベースの回路と共に使用することができ、また様々な診断手順（例えば、構造プルーニング技術（ｓｔｒｕｃｔｕｒａｌ  ｐｒｕｎｉｎｇ  ｔｅｃｈｎｉｑｕｅ）及び／又は後方経路追跡技術（ｂａｃｋｗａｒｄ  ｐａｔｈ−ｔｒａｃｉｎｇ  ｔｅｃｈｎｉｑｕｅ）を使用し、様々な方法で修正可能な結果−原因ベースの手順など）を組み込むことができる。更に、識別される故障候補は特定の種類である必要はなく、（例えば、縮退故障、遷移故障、ブリッジ故障、その他の故障など）実装ごとに異なっていてもよい。しかし、単に例示のために、本明細書に記載した例の多くは、結果−原因アルゴリズムの実施形態を使用する文脈で説明され、縮退故障を診断するために使用される。
【００１５】
開示された方法の一部の動作については、説明の便宜上から特定の順序で記述されているが、以下で説明する特定の言語によって特定の順序が必要とされる場合を除き、この記述方法が順序の再配列を包含するものであることを理解されたい。例えば、逐次的に記述された動作は、再配列すること又は同時に実施することができる。更に、簡潔にするために、添付の図面には、開示の方法と、装置と、システムとを、他の方法と、装置と、システムと共に使用できるようにするための様々な方法が示されていないことがある。更に、この説明では、開示の技術を説明するために、「決定する（ｄｅｔｅｒｍｉｎｅ）」や「識別する（ｉｄｅｎｔｉｆｙ）」などの用語を使用することがある。これらの用語は、実施される実際の動作の高レベルの抽象化である。これらの用語に対応する実際の動作は、個々の実装に応じて異なるものであるが、当業者には容易に識別できるはずのものである。
【００１６】
開示の実施形態は、様々な環境に実装することができる。例えば、開示の技術は、何れも、コンピュータ可読媒体（例えば、１つ又は複数のＣＤ、揮発性メモリ部品（ＤＲＡＭ、ＳＲＡＭなど）、又は不揮発性メモリ部品（ハード・ドライブなど））に格納されたコンピュータ実行可能な命令を含むソフトウェアの形で実装することができる。このようなソフトウェアには、例えば、１つ又は複数の集積回路（例えば、ＡＳＩＣ（特定用途向け集積回路）、ＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）などのＰＬＤ（プログラマブル・ロジック・デバイス）、或いはデジタル、アナログ、又は混合信号部品を搭載したＳｏＣ（システム・オン・チップ）など）の生産テストの間に取り込まれたテスト結果の診断に使用されるＥＤＡ（電子設計自動化）ソフトウェア（例えば、ＡＴＰＧ（自動テスト・パターン作成）ツールなど）を含めることができる。しかし、この特定のソフトウェア実装は、如何なる意味においても制限を意味するものと解釈すべきではない。なぜならば、本明細書に開示された原理は、一般に他のソフトウェア・ツールにも適用可能なものだからである。開示の技術を使用して検出された回路故障は、状況によっては修理可能なこともある。
【００１７】
このようなソフトウェアは、単体のコンピュータ又は（例えば、インターネット、ワイドエリア・ネットワーク、ローカルエリア・ネットワーク、クライアントサーバ・ネットワーク、その他のネットワークなどを介して）ネットワーク化されたコンピュータ上で実行することができる。理解を容易にするために、ソフトウェアベース実装についての特定の選択された態様だけを説明している。当技術分野で周知の他の詳細については省略した。例えば、開示の技術が、どのような特定のコンピュータ言語、プログラム、又はコンピュータにも制限されるものではないことを理解されたい。同様の理由で、コンピュータ・ハードウェアについても詳細は説明していない。開示の方法は何れも、別法として（部分的に又は全体を）ハードウェア（例えば、ＡＳＩＣ、ＰＬＤ、ＳｏＣなど）の形で実装することができる。
【００１８】
更に、開示の方法の何れかによって生成された診断結果は、様々な異なるデータ構造又は形式を使用して、（例えば、１つ又は複数のＣＤ、（ＤＲＡＭ、ＳＲＡＭなどの）揮発性メモリ部品、又は（ハード・ドライブなどの）不揮発性メモリ部品などの）コンピュータ可読媒体上に生成、更新、又は格納することができる。例えば、開示の実施形態の何れかを適用することによって生成された、故障候補を含むリストは、コンピュータ可読媒体に格納することができる。このような診断結果は、ローカルのコンピュータで、又はネットワークを介して（例えば、サーバ・コンピュータによって）生成、又は更新することができる。
【００１９】
概論
圧縮技術は、集積回路のテストに関連して使用されることが多い。このような技術は、一般に、スキャン・ベース又は部分的スキャン・ベースの被テスト回路の出力側のスキャン・パスに沿って、ある種のハードウェア・ブロック（本開示では、一般に「コンパクタ」と呼ぶ）を挿入することによって、実装することができる。コンパクタ・ブロックは、被テスト回路の内部スキャン・チェーンで取り込まれたデータを圧縮し、圧縮されたテスト応答のデータ・ストリームを生成する。このデータ・ストリームは、（例えば、ＡＴＥ（自動テスト装置）によって）期待値と比較するために少数のスキャン出力チャネル上に出力される。
【００２０】
一般に、コンパクタは、３つのカテゴリに分類される。即ち、（１）空間コンパクタと、（２）無限入力応答コンパクタと、（３）有限入力応答コンパクタとである。空間コンパクタは、被テスト回路（ＣＵＴ）のＣ本の出力からｃ本のテスト出力を生成する組合せ回路を含む。ただし、ｃ＜Ｃである。空間コンパクタは、通常、全く機能ロジックの修正なしに、テスト応答の不明な状態を処理することができる。空間コンパクタの例には、Ｊ．Ｒａｊｓｋｉ、Ｍ．Ｋａｓｓａｂ、Ｎ．Ｍｕｋｈｅｒｊｅｅ、Ｎ．Ｔａｍａｒａｐａｌｌｉ，Ｊ．Ｔｙｓｚｅｒ、及びＪ．Ｑｉａｎによる論文、「Ｅｍｂｅｄｄｅｄ  Ｄｅｔｅｒｍｉｎｉｓｔｉｃ  Ｔｅｓｔ  ｆｏｒ  Ｌｏｗ−Ｃｏｓｔ  Ｍａｎｕｆａｃｔｕｒｉｎｇ」、ＩＥＥＥ  Ｄｅｓｉｇｎ＆Ｔｅｓｔ  ｏｆ  Ｃｏｍｐｕｔｅｒｓ、２０巻、第５号、５８〜６６ページ（２００３年９月〜１０月）に記載された「ＥＤＴコンパクタ」と呼ばれるものと、Ｓ．Ｍｉｔｒａ及びＫ．Ｓ．Ｋｉｍによる論文、「Ｘ−Ｃｏｍｐａｃｔ：Ａｎ  Ｅｆｆｉｃｉｅｎｔ  Ｒｅｓｐｏｎｓｅ  Ｃｏｍｐａｃｔｉｏｎ  Ｔｅｃｈｎｉｑｕｅ  ｆｏｒ  Ｔｅｓｔ  Ｃｏｓｔ  Ｒｅｄｕｃｔｉｏｎ」、Ｐｒｏｃ．ＩＴＣ  ２００２、３１１〜３２０ページ、（２００２年）に記載された「Ｘコンパクタ」と呼ばれるものと、がある。第２の種類のコンパクタである無限入力応答コンパクタは、多項式の除算と、カウント・ベースの技術と、チェック・サム・ベースの方法とを使用する。このコンパクタは、一般に、ＢＩＳＴ（組込み自己テスト）用途で使用される。このようなコンパクタの例は、Ｐ．Ｈ．Ｂａｒｄｅｌｌ、Ｗ．Ｈ．ＭｃＡｎｎｅｙ、及びＪ．Ｓａｖｉｒによる著書、「Ｂｕｉｌｔ−ｉｎ  Ｓｅｌｆ−Ｔｅｓｔ  ｆｏｒ  ＶＬＳＩ：Ｐｓｅｕｄｏｒａｎｄｏｍ  Ｔｅｃｈｎｉｑｕｅｓ」、Ｊｏｈｎ  Ｗｉｌｅｙ＆Ｓｏｎｓ（１９８７年）に記載されている。第３の種類のコンパクタは、一般に、有限入力応答コンパクタに分類することができる。このコンパクタは、メモリは備えているが、フィードバックを備えていないコンパクタとして特徴づけられる。従って、コンパクタに入力されたエラー状態又は不明の状態は何れも、何サイクルか後にシフト・アウトされる。有限入力応答コンパクタの例には、Ｊ．Ｒａｊｓｋｉ、Ｊ．Ｔｙｓｚｅｒ、Ｃ．Ｗａｎｇ、及びＳ．Ｍ．Ｒｅｄｄｙによる論文、「Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｃｏｍｐａｃｔｉｏｎ  ｏｆ  Ｔｅｓｔ  Ｒｅｐｏｎｓｅｓ」、Ｐｒｏｃ．ＩＴＣ  ２００３、７４５〜７５４ページ（２００３年）に記載された、「畳込みコンパクタ（ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｃｏｍｐａｃｔｏｒ）」と呼ばれるものがある。
【００２１】
各テスト・パターンに対する回路応答を解析するために使用される診断手順もまた、様々なカテゴリに分類することができる。診断手順の主要な２つのカテゴリは、（１）原因−結果法（即ち、原因−結果原理に基づく方法）と、（２）結果−原因法（即ち、結果−原因の依存関係に基づく方法）である。原因−結果法は、一般に、モデル化された故障に対するシミュレーション応答データベースを構築し、観測されたフェイル応答をデータベースと比較して、その故障に対する考えられる原因を決定する。この種の方法は、大量の故障−挙動データベースを作成し、格納し、維持することを必要とし、「故障辞書」法と呼ばれることも多い。この方法は、その欠陥挙動が、モデル化された故障挙動に類似している想定される故障モデルに対しては良好な分析を提供することができる。しかし、大規模な設計については、テスト装置のメモリの制約のためにこの手法は実用的でない。
【００２２】
結果−原因法は、一般に、あるテスト・パターンに対する実際の回路応答を解析して、観測された障害をどの故障が引き起こし得るかを決定するステップを含む。解析は、例えば、故障挙動が観測された被テスト回路のスキャン・セル及び／又は主要な出力からの後方経路追跡によって、実施することができる。次いで、考えられる各故障候補のエラー伝播経路を識別することができる。原因−結果原理に基づく方法と比べると、一般に、結果−原因依存関係に基づく方法は、メモリ効率がより高く、従ってより大規模な設計をよりうまく処理することができる。
【００２３】
図１は、圧縮ハードウェアを備えていない被テスト回路に対するテスト応答を解析するために使用することができる、例示的な結果−原因手順１００を示す流れ図である。例示的な結果−原因法１００は、以下で説明する方法の基礎になる診断手順として使用することができる。以下で説明する方法は、特定のコンパクタに制限されることなしに、コンパクタ・ベース設計における故障を診断することができる。
【００２４】
図１の処理ブロック１０２で、１つ又は複数のテスト・パターンに対する被テスト回路の応答を示す情報が、受信される。一般に、この情報は、被テスト回路（ＣＵＴ）のスキャン・セルで取り込まれ、スキャンアウト・ピンからクロック・アウトされたテスト応答を含む。受信される情報は、テスト・セッションの完全な記録（例えば、１つ又は複数のテスト・パターンに対するすべての応答の記録）でも、その一部（例えば、１つ又は複数のテスト・パターンに対するフェイル応答だけの記録）でもよい。このような情報は、一般に、故障ログ（又は、フェイル・ログ）の形でテスト装置に格納される。次いで、この故障ログは、診断のために他のシステムに転送することもできるし、テスト装置によって直接診断することもできる。受信した情報から、ＣＵＴ内部のフェイル応答を取り込んだスキャン・セルを特定することができる。この議論では、これらのスキャン・セルを「フェイル・スキャン・セル」と呼ぶ。
【００２５】
処理ブロック１０４で、故障ログにリストアップされたフェイル応答から、１つ又は複数のフェイル・スキャン・セルが、識別される。コンパクタを含まない回路設計では、故障ログ中のフェイル応答は、フェイル・スキャン・セルと直接、相互に関連づけることができる。
【００２６】
処理ブロック１０６で、最初の故障候補リストが、識別される。故障候補には、下流でフェイル応答を生じさせる物理的欠陥を含む可能性がある、ＣＵＴ内の物理位置が含まれる。故障候補を識別するために、経路追跡技術を使用することができる。例えば、Ｓ．Ｖｅｎｋａｔａｒａｍａｎ及びＷ．Ｋ．Ｆｕｃｈｓによる論文、「Ａ  Ｄｅｄｕｃｔｉｖｅ  Ｔｅｃｈｎｉｑｕｅ  ｆｏｒ  Ｄｉａｇｎｏｓｉｓ  ｏｆ  Ｂｒｉｄｇｉｎｇ  Ｆａｕｌｔｓ」、Ｐｒｏｃ．  ＩＥＥＥ  ＩＣＣＡＤ、５６２〜６７ページ  （１９７４）、に記載された経路追跡アルゴリズムを使用することができる。ただし、方法１００での使用に適する経路追跡アルゴリズムは多数存在するので、この特定の経路追跡アルゴリズムに限られるものではない。経路追跡技術は、ＣＵＴの表現（例えば、ＨＤＬファイルのネットリスト）を解析し、各フェイル・スキャン・セルで取り込まれたテスト応答に少なくとも部分的に寄与するロジックのインスタンス（及び場合によっては他の回路部品）を識別する。この開示では、個々のスキャン・セルで取り込まれた値に寄与するＣＵＴの各部品を、そのスキャン・セルの「ロジック・コーン」と呼ぶ。「ロジック・コーン」は、スキャン・セルにつながる「ファン・イン領域」と呼ばれるものを備える。
【００２７】
図２は、図１の例示的処理ブロック１０６を示す概略ブロック図２００である。図２において、ＣＵＴの回路ロジック２１０は、テストの開始フェーズの間にテスト・パターン値を受信し、それによって３つの個々のスキャン・セル２１２、２１４、２１６におけるテスト応答を生成する。単なる例示のために、例示的なテスト・パターンの印加の後で、スキャン・セル２１４と２１２が（本明細書において、「故障応答」又は「観測された故障応答」と呼ばれることもある）フェイル・テスト応答を取り込むものと想定する。
【００２８】
処理ブロック１０６で、（矢印２２０、２２２によって表された）経路追跡技術を使用して、フェイル・スキャン・セル２１４、２１６からロジック・コーンＬＣ１とＬＣ２が識別される。方法１００の幾つかの実施形態では、最初の故障候補のリストには、共通部分２３０の故障候補だけが含まれる。なぜならば、ＣＵＴの単一の故障によって両方のフェイル・テスト応答が引き起こされるような実施形態が想定されているからである。従って、ロジック・コーンＬＣ１とＬＣ２が識別されているので、各ロジック・コーン間の共通部分２３０を求めることができる。診断手順の実装によっては、フェイル・パターンに対する各故障候補から全ての故障スキャン・セルへの活性化経路（ｓｅｎｓｉｔｉｚａｔｉｏｎ  ｐａｔｈ）が存在するかどうかについての追加の判定が、（例えば、経路追跡の間に）なされる。存在しない場合は、その故障候補はリストから除去される。残った故障候補により、最初の故障候補リストを形成する。
【００２９】
処理ブロック１０８で、シミュレーションにより最初の故障候補リストが改良される。例えば、一例示的実装によれば、被テスト回路のシミュレーションが実施され、その際、候補故障の最初のリストの各故障が、回路のシミュレータの表現に投入され、１つ、幾つか、又は全てのフェイル・テスト・パターンの印加が、シミュレートされる。これらのシミュレーションから、どの故障候補が、故障ログに記録された実際の応答にマッチするかを決定することができる。マッチする故障候補とは、対応するテスト・パターンの印加時に、観測された故障結果をフェイル・スキャン・セル（及び／又は観測されたフェイル主要出力）には伝播するが、他の何れの観測ポイント（例えば、他のスキャン・セル又は主要出力）にも伝播しない故障候補のことである。実施形態によっては、例えば並列パターン単一故障伝播技術（ＰＰＳＦＰ）を使用して、シミュレーションの速度を向上させることができる。この技術は、複数のフェイル・パターン（例えば、３２パターン）を並列に処理可能にするものである。
【００３０】
幾つかの実施形態では、処理ブロック１０８の間に、ある種の重み付け基準を使用することができる。例えば、ある実装によれば、第１の重み値ｗｆを使用して、ある故障候補が説明できる（ｅｘｐｌａｉｎ）フェイル・パターンの数を表すことができる。ｗｆの値は（最初はゼロでもよいが）、対応する故障が説明する各フェイル・テスト・パターンごとに１づつ増加させることができる。実施形態によっては、シミュレーションの後でもｗｆの値がゼロに等しい故障候補は、故障候補リストから削除される。
【００３１】
図３は、処理ブロック１０８で行われる故障候補のフォワード・シミュレーションを示す概略ブロック図３００である。詳細には、図３は、故障候補の最初のリストから選択された故障３１０が存在する状態でフェイル・テスト・パターンが印加されたときの、回路ロジック２１０の（矢印３２０、３２２、３２４によって示された）フォワード・シミュレーションを示す。図示の例では、選択された故障３１０は、スキャン・セル２１６では予想されていない応答を生成し、スキャン・セル２１２、２１４では予想された応答を生成する。従って、この例では、選択された故障３１０は、観測されたテスト応答を説明しないことになり、実施形態によっては、第１の重み値ｗｆは、増やされない。幾つかの実施形態では、シミュレートされるテスト・パターンが、故障候補の識別に使用されるテスト応答を生成するテスト・パターンの場合は、そのテスト・パターンが、実際のテスト応答と同一のシミュレートされたテスト応答を生成しない場合には、その故障候補は、候補リストから削除される。
【００３２】
処理ブロック１１０で、残っている故障候補がランク付けされる。方法１００の幾つかの実施形態では、例えば、候補故障のリストを更に改良するのに役立つ追加のシミュレーションが実施される。例えば、各故障候補が存在する状態で、第２の重み値ｗｇを計算するために、１つ又は複数のパス・テスト・パターンをシミュレートすることができる。ある特定の実装では、ｗｇの値は、故障候補が説明する各成功テスト・パターンごとに１ずつ増やされる。次に、第１の重み値ｗｆと第２の重み値ｗｇを使用して、残っている候補をランク付けすることができる。例えば、ｗｆとｗｇの両方を使用する組合せ重み値は、次式を使用して計算することができる：
（αｗｆ＋（１−α）ｗｇ）                （１）。
上式でαは、「０」と「１」の間の実数である。ランク付けされた候補のリストを使用して、被テスト回路の物理的な検査を実施することができ、多くの場合に、故障を修理することができる。
【００３３】
コンパクタ・モデリング概論
開示した技術の諸実施形態で使用できる技術の１つが、コンパクタ・モデリングである。スキャン・ベース又は部分的スキャン・ベースの代表的なＤＦＴ（テスト容易化設計）回路は、コンパクタに入力される複数のスキャン・チェーンを使用する。被テスト回路で開始された各テスト・パターンごとに、「１」、「０」、又は「Ｘ」（不明のビット）のテスト応答がスキャン・チェーンのスキャン・セルに取り込まれ、コンパクタにシフトされる。圧縮後のテスト応答の各ビット（一般にＰｉで示され、ｉはコンパクタからの値の出力ごとにインクリメンタルに増加するインデックス値）は、圧縮前にスキャン・セルに取り込まれた１組の値の関数として表現することができる。所与の任意のコンパクタについて、圧縮後に観測される値と圧縮前にスキャン・セルに取り込まれた値の間の関係を表す式の一意のセットが存在する。本明細書で使用されているように、この関係は、「変換関数」によって定義され、Ｐｉ＝Φｉ（Ｃｉ）となるようなΦｉによって示される。ただし、Ｃｉは、圧縮前にスキャン・セルに取り込まれるテスト応答を決定するロジック・コーンの対応するセットである。コンパクタから出力される全ての値を表す変換関数Φｉの累積セットは、一般的な変換オペレータΦによって表すことができる。ただし、変換関数は様々な異なる方法で記述又は表記することができるので、この特定の形の表記法を制限的なものと解釈すべきではない。例えば、特定のコンパクタの変換関数は、圧縮前後のテスト応答を表す１組のマトリクスとして記述することができる。Φｉの正確な値は、回路設計に示されたコンパクタのアーキテクチャによって決定できるものであり、設計ごとに異なるものである。更に、幾つかのコンパクタのアーキテクチャでは（例えば、無限入力応答コンパクタでは）、変換関数は時間と共に（例えば、コンパクタがクロック同期される各時間ごとに）変化する。
【００３４】
図４Ａと４Ｂはそれぞれ、変換関数Φがどのように被テスト回路４０２に適用されるかを概念的に示したブロック図４００と４５０である。被テスト回路４０２は、ロジック４１０を含み、そのロジック４１０では、６つのロジック・コーン（ＬＣ０からＬＣ５）が、６つの例示的スキャン・セル（ＳＣ０からＳＣ５）に信号を供給している。スキャン・セルＳＣ０からＳＣ２は第１のスキャン・チェーン４２０を形成し、スキャン・セルＳＣ３からＳＣ５は第２のスキャン・チェーン４２２を形成する。この例では、第１と第２のスキャン・チェーン４２０、４２２は、コンパクタ４３０に出力され、コンパクタ４３０は、例示の意味で、（例えば、ＥＤＴコンパクタなどの空間コンパクタで使用することができる）ＸＯＲゲートと想定される。圧縮されたテスト応答（Ｐ１からＰ３）は、コンパクタ４３０から（例えば、スキャンアウト・ピンを介して）出力される。従って、図４では、変換関数Φは、ＸＯＲ関数に相当する。このＸＯＲ関数は、この特定の例では、図示されたコンパクタ４３０のすべてのクロック・サイクルの間に例外なく適用される。従って、圧縮されたテスト応答Ｐ１からＰ３に対して、コンパクタは以下のようにモデル化することができる。
【００３５】
【数１】
2007531875.tif 000003
【００３６】
上式で、
【００３７】
【数２】
2007531875.tif 000004
【００３８】
はＸＯＲ関数に相当し、各数字は対応するロジック・コーンによって生成されたテスト応答（例えば、「０」はロジック・コーンＬＣ０によって生成された応答）を表す。
変換関数はまた、圧縮されたテスト応答と、少なくとも部分的にはそのテスト応答に寄与する個々のロジック・コーンとの間のより一般的な関係を表すこともできる（即ち、この表現は、コンパクタによって実行されるブール関数を、詳細にモデル化することを必要としない）。この例では、例えば、変換関数は以下のように記述することができる：
Ｐ０＝Φ０（｛０，３｝）、
Ｐ１＝Φ１（｛１，４｝）、及び                （３）
Ｐ２＝Φ２（｛２，５｝）。
上式で、各数値は、関数Φｉによって圧縮されるテスト応答を生成するロジック・コーンを表す（例えば、「０」は、ロジック・コーン０とそれが生成するテスト応答を表す）。
【００３９】
被テスト回路４０２の表現は、変換関数Φを、変換される回路に埋め込むように修正することができる。結果として得られる修正された回路は、コンパクタを含まず、スキャン・チェーンとスキャン・セルの代わりに「擬似スキャン・チェーン」と「擬似スキャン・セル」を含む回路と見なすことができる。例示的な修正された回路表現４５２が、図４Ｂに示されている。修正された回路表現４５２は、コンパクタ４３０を備えた被テスト回路４０２と論理的には同一であるが、元の内部スキャン・チェーン４２０と４２２は、１つの擬似スキャン・チェーン４８０に置き換えられ、元の内部スキャン・セルＳＣ０からＳＣ５は３つの擬似スキャン・セル４６０、４６２、４６４に置き換えられる。更に、コンパクタ４３０によって実行される変換関数Φは、擬似スキャン・セル４６０、４６２、４６４の上流に移動されている。例えば、図示の例では、３つのＸＯＲゲート４７０、４７２、４７４が、被テスト回路４１０に挿入され、３つの擬似スキャン・チェーン４６０、４６２、４６４に出力する。これらの擬似スキャン・チェーンは、値Ｐ１からＰ３を取り込む。
【００４０】
圧縮されたテスト応答から故障を診断するための例示的な実施形態
圧縮されたテスト結果を有するスキャン・ベース又は部分的スキャン・ベースの設計に対する全体の診断手順の一部として、変換関数Φ又は変換された回路を使用することができる幾つかの方法が存在する。２つの例示的な方法が、それぞれ図５と図６に一般的な形で示されている。
【００４１】
（診断手順の修正）
図５は、圧縮されたテスト結果に基づいて故障診断を実施するために、診断手順それ自体が修正された第１の一般的な実施形態を示す流れ図である。図５に示された方法５００は、様々な異なる圧縮方式に対して適用することができ、また様々な既存の診断アルゴリズムを使用することができる。更に、方法５００の実施形態は、オンライン診断を実施すること、及び／又はテスト応答の形で取り込まれた複数のエラーを説明し、単一のスキャンアウト・サイクルの間に出力することができる。
【００４２】
処理ブロック５０２で、スキャン・ベース又は部分的スキャン・ベースの回路とコンパクタとの記述が受信される。この記述は、ＥＤＡ業界で一般的に使用されている回路設計ファイルでもよい（例えば、記述は、ネットリスト、或いはＶＨＳＩＣハードウェア記述言語（ＶＨＤＬ）ファイル又はＶｅｒｉｌｏｇファイルなどのハードウェア記述言語（ＨＤＬ）ファイルなどでもよい）。
【００４３】
処理ブロック５０４で、回路記述のコンパクタによって実行される変換関数Φの少なくとも一部が決定される。この決定は、例えば、回路及びコンパクタの論理シミュレーションを使用して、数学的に又は経験的になされ得る。
【００４４】
処理ブロック５０６で、非圧縮テスト応答を診断するための診断手順が、その手順に変換関数が組み込まれるように修正される。処理ブロック５０４での変換関数（例えば、圧縮されたテスト応答の少なくとも一部に対する変換関数Φｉ）の決定の結果として、圧縮されたテスト応答Ｐｉとそのテスト応答に寄与する可能性があるロジック・コーン（「候補ロジック・コーン」）との関係が明らかにされる。診断手順は、この関係を説明するように修正することができる。従って、手順中で実施される追加の動作により、フェイル・テスト応答Ｐｉに関連する候補ロジック・コーンの全てが変換関数を介して解析されると想定される。この手順の一例について、以下で図６を参照しながらより詳細に説明する。
【００４５】
処理ブロック５０８で、修正された診断手順が、圧縮されたテスト応答に適用される。例えば、修正された診断手順は、被テスト回路にテスト・パターンを印加し、コンパクタによってテスト応答を圧縮した後でテスト装置の故障ログに記録された各故障に適用することができる。
【００４６】
（修正された診断手順の例示的実施形態）
一般的方法５００の例示的な適用が、図６、７Ａ、７Ｂ、及び７Ｃに関連して示されている。図７Ａで、元の回路７１０は、６つの各々の内部スキャン・セルＳＣ０からＳＣ５に信号を供給する６つのロジック・コーンＬＣ０からＬＣ５を有するロジック７１２を備える。２つのスキャン・チェーン７２０、７２２の出力は、コンパクタ７３０の入力に結合される。コンパクタ７３０は、ある圧縮関数Φに従って圧縮を実施し、例示的な圧縮されたテスト応答Ｐ１からＰ３を生成する。図７Ａには示されていないが、各々のロジック・コーンは、それらの間で、ある共通のロジックを有することがある（即ち、２つ以上のロジック・コーンが、少なくとも部分的には交差することがある）。このようなシナリオでは、共通するロジックからの故障は、たとえ同一のスキャンアウト・サイクルの間に出力されるスキャン・セルであっても、複数のスキャン・セルに伝播することができる。
【００４７】
一般的な方法５００を参照すると、処理ブロック５０２で、元の回路７１０とコンパクタ７３０の記述（例えば、ネットリスト又はＨＤＬファイル）が受信される。処理ブロック５０４で、コンパクタ７３０によって実施される圧縮関数が、決定される。例えば、コンパクタ７３０は、Ｐｉ＝Φｉ（Ｃｉ）となるような関数Φｉとしてモデル化することができる。概念的には、観測される故障応答Ｐｉは、ｉ番目の擬似スキャン・セル（図４Ｂに示された擬似スキャン・セル４６０，４６２，４６４では、ｉ＝１，２，３）で取り込まれたものと見なすことができ、Ｃｉは、対応する擬似スキャン・セルの値を少なくとも部分的には決定するロジック・コーンのセットである。ロジック・コーンＬＣｊは、それが、対応する圧縮されたテスト応答Ｐｉの少なくとも部分的な決定要因である場合にセットＣｉに現れる。処理ブロック５０６で、診断手順は、少なくとも部分的には変換関数Φを組み込むように修正され、従って、その手順を、コンパクタによって観測されたフェイル応答に適用することが可能になる。処理ブロック５０８で、修正された診断手順が、圧縮されたテスト応答（例えば、テスト装置の故障ログに記録された応答）に適用される。
【００４８】
図６は、代表的な結果−原因診断手順を、一般的な方法５００の処理ブロック５０６でどのように修正し、処理ブロック５０８でどのように適用することができるかを示す。特に明記しない限り、図６に示された方法は、図６の方法が圧縮された結果に関して動作することを除けば、先に図１に関して概説した効果−原因手順１００と実質的に同じものである。この例では、元の被テスト回路の設計は、図７Ａに示され先に説明したものと同一であり、コンパクタの変換関数は、以下の一般的な関係を有するものと想定している：
Ｐ１＝Φ１（｛０，１，２，３｝）、
Ｐ２＝Φ２（｛０，４｝）、及び                （４）
Ｐ３＝Φ３（｛２，４，５｝）。
上式で、各数値は関数Φｉによって圧縮されるテスト応答を生成するロジック・コーンを表す（例えば、「０」はロジック・コーン０、及びそれが生成するテスト応答を表す）。
【００４９】
処理ブロック６０２で、１つ又は複数のテスト・パターンに対するフェイル応答を表す、被テスト回路の故障ログが（例えば、テスト装置から）受信される。図７Ａ〜７Ｃに示された例では、故障は、圧縮されたテスト応答Ｐ２で観測されるものと想定している。
【００５０】
処理ブロック６０４で、フェイル応答に対する最初の故障候補が、変換関数を使用して識別された被テスト回路のロジック・コーンへの経路追跡を実施することによって決定される。この例では、例えば、圧縮されたテスト応答Ｐ２と、そのテスト応答に寄与する候補ロジック・コーンの間の関係は、Ｐ２＝Φ２（｛０，４｝）によって与えられる。この関係を使用して、故障候補として経路追跡すべきロジック・コーンであるロジック・コーンＬＣ０とＬＣ４を識別することができる。この関係が、コンパクタの実際の関数（例えば、ＸＯＲ関数）を詳細に識別することを必要とせず、圧縮されたテスト応答を少なくとも部分的に決定する可能性があるロジック・コーン・ソースだけを必要とすることに留意されたい。従って、フェイル・スキャン・セル候補を識別するために、逆関数Φ−１を計算又は使用する必要はない。その代わりに、関係Φを、圧縮されたテスト応答に適用し、故障が存在する可能性があるロジック・コーン候補を直接識別するために使用することができる。更に、単一のスキャンアウト・サイクルの間に出力されるフェイル・スキャン・セルの数を想定する必要がなく、従って、考えられる故障候補の解空間は、最大になる。例えば、一例示的実装によれば、最初の故障候補のリストには、所与のフェイル応答Ｐｉに対して、関係Ｐｉ＝Φｉ（Ｃｉ）によって与えられるロジック・コーンＣｉの和集合の中で識別される全ての故障が含まれる。
【００５１】
この方法動作の間の、変換された被テスト回路７５０の概念的な表現が、図７Ｂに示されている。詳細には、図７Ｂは、元のコンパクタ７３０からの圧縮されたテスト応答Ｐ１からＰ３に対応する、擬似スキャン・セル７６０、７６２、７６４を示す。上述のコンパクタ・モデリングの結果として、各擬似スキャン・セル７６０、７６２、及び７６２の値が、以下のロジック・コーンの各和集合、即ち（ＬＣ０∪ＬＣ１∪ＬＣ２∪ＬＣ３）と、（ＬＣ０∪ＬＣ４）と、（ＬＣ２∪ＬＣ４∪ＬＣ５）とによって少なくとも部分的には決定される必要があることが分かる。従って、一実装では、最初の故障候補には、ロジック・コーンの和集合ＬＣ０∪ＬＣ４への経路追跡の間に見つかった、考えられる全ての故障が含まれる。図７Ｂ及び本開示の他の図において、ロジック・コーンの和集合が、単に和集合内のロジック・コーン番号のみによって表記されることに留意されたい。従って、和集合ＬＣ０∪ＬＣ４は、（０，４）と示される。
【００５２】
単一のテスト・パターンを印加したときに、スキャン・セルに複数のフェイル応答Ｐｉが取り込まれた場合は、最初の故障候補のリストは、個々の候補リストに共通する故障候補だけを考慮することによって絞り込むことができる。この絞り込み手順の例については、以下で、図９及び１０を参照しながら説明する。
【００５３】
図６に戻ると、処理ブロック６０６で、変換された被テスト回路のシミュレーションにより最初の故障候補のリストが改良される。この場合、シミュレーションは変換関数を組み込むように構成される。例えば、一例示的実装では、候補リストの各故障が、回路に投入されシミュレートされる。この実装におけるシミュレーションの間に、変換関数が考慮される。一般に、この考慮は、シミュレーションの間に、（例えば、個々の取り込まれたスキャン・セルの値から、圧縮されたテスト応答を、関数Φｉを使用して計算するなど）数学関数を使用して実施されるが、別法として、（例えば、擬似スキャン・セルの上流にコンパクタを埋め込んだ回路記述を使用して）コンパクタのロジック・コンポーネントを実際にシミュレートすることによって実施することもできる。処理ブロック６０６でのシミュレーション結果は、観測されたテスト応答と比較され、故障ログに格納される。シミュレーション結果が、対応するテスト・パターンに対する実際の観測結果と一致しない場合は、一実装では、その故障候補は削除される。他の実装では、各故障候補ごとに全てのフェイル・パターンがシミュレートされ、重み付け基準（図１に関して上述の基準など）を使用して、各フェイル・パターンに対するテスト応答をその故障候補がどの程度うまく説明するかを評価する。この実装では、ある故障候補が、何れかのフェイル・テスト・パターンに対する観測応答を説明できない場合には、その候補は、故障候補のリストから削除される。
【００５４】
処理ブロック６０６で実施することができるフォワード・シミュレーションの概略が、図７Ｃに示されている。この図は、選択された故障候補７７０（「Ｘ」）が、テスト・パターンの印加の間に、ロジック・コーンの和集合ＬＣ０∪ＬＣ４を介して伝播されることを示す（例示のために、一致するフェイル・テスト応答が観測されたときは、同じテスト・パターンが印加されたものと想定する）。図示のシミュレーションでは、故障候補７７０によって引き起こされたエラーは、擬似スキャン・セル７６２（Ｐ２に対応）には伝播するが、擬似スキャン・セル７６０又は７６４（それぞれ、Ｐ１及びＰ３に対応）には伝播しない。（図７Ｃに示されたフォワード・シミュレーションでは、変換関数Φ１、Φ２、及びΦ３が、シミュレーションに組み込まれていることに留意されたい。即ち、関数Φ１、Φ２、及びΦ３は、それぞれ対応するロジック・コーン（０，１，２，３）、（０，４）、及び（２，４，５）から出力された値に基づいて実行される）。従って、故障候補７７０は、対応するテスト・パターンに対する観測されたテスト応答を生成するので、故障候補のリストに残されることになる。
処理ブロック６０８で、残った故障候補がランク付けされる。例えば、既知の結果−原因診断法で使用される任意の基準を使用することができる。
【００５５】
（回路記述の修正）
図８は、本開示の技術に従って故障診断を実施するための、第２の一般的な実施形態を示す流れ図である。図８に示された方法８００は、幅広い様々な圧縮方式に適用することができ、また様々な既存の診断アルゴリズムを使用することができる。更に、方法８００の実施形態は、オンライン診断を実施すること、及び／又はテスト応答で取り込まれた複数のエラーを処理して単一のスキャンアウト・サイクルの間に出力することもできる。
【００５６】
処理ブロック８０２で、スキャン・ベース又は部分的スキャン・ベースの回路と、それに対応するコンパクタ（例えば、ネットリスト又はＨＤＬファイル）との記述が受信される。処理ブロック８０４で、コンパクタ（例えば、Φ）によって実行される変換関数が決定される。処理ブロック８０６で、回路記述が、回路内の１つ又は複数のスキャン・セルの上流に圧縮関数の少なくとも一部を組み込むように修正される。例えば、回路記述は、選択されたスキャン・セルに関連する圧縮関数が、擬似スキャン・セルの上流で、且つその擬似スキャン・セルに信号を供給する個々のロジック・コーンの下流で実施されるように修正することができる。その結果、元の回路設計の１つ又は複数のスキャン・セルは、元の回路記述のコンパクタから出力されるテスト応答値と等価なテスト応答値を取り込む「擬似スキャン・セル」に置き換えられる。処理ブロック８１６で、圧縮なしの回路設計に対する診断手順（例えば、従来の結果−原因診断手順の１つ）が、修正された回路記述を使用して適用される。この実施形態では、回路記述自体が圧縮関数を組み込むように修正されるので、（必ずしも、修正が全く許されないというわけではないが）診断方式の特別な修正は必要ない。
【００５７】
一般的な方法８００は、変換関数Φによって表すことができる任意のコンパクタに適用することができる。更に、結果として得られる回路変換は、本質的に圧縮関数を考慮した回路記述に帰着するので、非圧縮テスト応答のための任意の適切な診断手順を使用することができる。
【００５８】
例示的な適用例
開示された技術の様々な特徴及び態様を示すために、図５と図６に記載された、コンパクタに依存しない例示的な診断手順の適用例は、様々な既知のコンパクタに適用されるように記述される。詳細には、開示された手順の一実施形態は、（１）Ｘコンパクタと、（２）畳込みコンパクタと、（３）ＥＤＴコンパクタと、（４）基本木コンパクタとに適用されるように記述される。
【００５９】
（Ｘコンパクタ）
Ｘコンパクタについては、Ｓ．Ｍｉｔｒａ及びＫ．Ｓ．Ｋｉｍによる論文、「Ｘ−Ｃｏｍｐａｃｔ：Ａｎ  Ｅｆｆｉｃｉｅｎｔ  Ｒｅｓｐｏｎｓｅ  Ｃｏｍｐａｃｔｉｏｎ  Ｔｅｃｈｎｉｑｕｅ  ｆｏｒ  Ｔｅｓｔ  Ｃｏｓｔ  Ｒｅｄｕｃｔｉｏｎ」、Ｐｒｏｃ．ＩＴＣ  ２００２、３１１〜３２０ページ（２００２年）に記載されている。Ｘコンパクタは、線形空間コンパクタであり、一般に、ＸＯＲツリー内の複数のＸＯＲゲートに接続された内部スキャン・チェーン出力を含む。
【００６０】
図９は、例示的なＸコンパクタ９２０に結合された８つのスキャン・チェーンを備えた、例示的な被テスト回路９１０を概略的に示すブロック図９００である。被テスト回路は、ロジック９１６によって入力を供給され、Ｘコンパクタ９２０に出力する８つのスキャン・チェーン９１２を備える。Ｘコンパクタは、スキャン・チェーンからのデータを、図９の９２４でそのうちの２つが示されているＸＯＲゲートを含むＸＯＲツリーによって、５つの出力に圧縮する。図９に示されるように、各スキャン・チェーン出力は、コンパクタ９２０内のツリーの３つのＸＯＲゲートに分岐する。
【００６１】
図５と図６に関連して上述した診断手順を使用すると、コンパクタ９２０をモデル化する変換関数Φを決定することができる（処理ブロック５０４）。フェイル・テスト応答を表す故障ログが、受信される（処理ブロック６０２）。この例では、圧縮されたテスト応答のうちの３つ、即ちＰ１、Ｐ８、Ｐ１５に故障が存在することを故障ログが示しているものと想定する。変換関数Φを使用して、対応するフェイル圧縮テスト応答に関連する各ロジック・コーンへの（或いは、等価的に、各フェイル擬似スキャン・セルからの）経路追跡を実施することで、最初の故障候補を決定することができる（処理ブロック６０４）。図９から検証できるように、観測された３つのフェイル応答に対するコンパクタ９２０の変換関数は以下の通りである。
【００６２】
【数３】
2007531875.tif 000005
【００６３】
或いは、候補ロジック・コーンだけを識別するためにより一般的に記述すると、
Ｐ１＝Φ１（｛０，３，６，９，１２，１５｝）、
Ｐ８＝Φ８（｛１，４，１３，２２｝）、及び                （６）
Ｐ１５＝Φ１５（｛１１，１４，１７，２０，２３｝）
となる。
【００６４】
図１０は、変換された回路１０１０を概念的に示す概略図１０００である。変換された回路１０１０は、変換関数Φ１、Φ８、Φ１５を組み込むように変換された後の、被テスト回路９１０を表す。図１０から分かるように、変換された回路１０１０は、擬似スキャン・セル（Ｐ１からＰ１５）を含む５つの擬似スキャン・チェーン１０１２（図１０では、２つだけに番号が振られている）を備えている。式（６）で与えられた変換関数Φ１、Φ８、Φ１５から、観測された故障Ｐ１（或いは、等価的に、変換された回路１０１０の擬似スキャン・セルＰ１の値）をもたらす故障がロジック・コーンの和集合１０１２（ＬＣ０∪ＬＣ３∪ＬＣ６∪ＬＣ９∪ＬＣ１２∪ＬＣ１５）から生じたに違いないと判断することができる。同様に、Ｐ８で観測された故障（或いは、等価的に、図１０の擬似スキャン・セルＰ８）をもたらす故障は、ロジック・コーンの和集合１０１４（ＬＣ１∪ＬＣ４∪ＬＣ１３∪ＬＣ２２）から生じたはずである。最後に、Ｐ１５（或いは、等価的に、図１０の擬似スキャン・セルＰ１５）をもたらす故障は、ロジック・コーンの和集合１０１６（ＬＣ１１∪ＬＣ１４∪ＬＣ１７∪ＬＣ２０∪ＬＣ２３）から生じているはずである。一実装では、最初の故障候補は、ロジック・コーンの和集合１０１２、１０１４、１０１６の全ての故障を含む。しかし、他の実装では、単一の故障が特定のテスト・パターンに対して観測される全ての故障を引き起こしていると想定することもできる。従って、最初の故障候補のリストは、全てのロジック・コーンの和集合の共通部分を見つけ出すことによって決定することができる。例えば、図１０の領域１０２０内の故障候補は、３つのロジック・コーンの和集合１０１２、１０１４、１０１６の共通部分にある故障候補を含む。また、他の実装では、単一の故障が特定のテスト・パターンに対して観測される全ての故障を引き起こしているという想定は、観測された故障の位置、及び／又は数に依存させることができる。最初の故障候補のリストにある各故障を投入しながら、回路における各テスト・パターンのシミュレーションを実施することができる（処理ブロック６０６）。シミュレートされる各パターンごとに、変換関数Φを適用してシミュレーション結果を得ることができ、そのシミュレーション結果を故障ログ内のデータと比較することができるる。
【００６５】
例示の診断手順を使用すると、同一のスキャンアウト・サイクルの間に出力されたエラーを、複数のスキャン・セルが取り込むことになる欠陥を識別することができる。一方、幾つかの診断方法では、他のスキャン・セルが不明の値（「Ｘ」値）を生成しない限り、任意のスキャンアウト・サイクルに単一のスキャン・セルだけがエラーを生成するとの想定がなされる。しかし、この想定は、同一のスキャンアウト・サイクルの間に出力する各スキャン・セルに信号を入力しているロジック・コーン間に共通部分が存在しないことを意味する。例えば、図９に示されたＸコンパクタ９２０を考える。各内部スキャン・チェーン９１２は、３つのコンパクタ出力に接続される。従って、単一エラー想定の下では、任意のフェイル・スキャンアウト・サイクルの間に、３つのフェイル擬似スキャン・セルを観測しなければならない。従って、Ｐ１、Ｐ８、及びＰ１５で故障が観測された場合は、単一エラー想定に基づく手順では、どの内部スキャン・セルが故障を取り込んだのかを識別できないことになる。
【００６６】
（畳込みコンパクタ）
畳込みコンパクタについては、Ｊ．Ｒａｊｓｋｉ、Ｊ．Ｔｙｓｚｅｒ、Ｃ．Ｗａｎｇ、及びＳ．Ｍ．Ｒｅｄｄｙによる論文、「Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｃｏｍｐａｃｔｉｏｎ  ｏｆ  Ｔｅｓｔ  Ｒｅｐｏｎｓｅｓ」、Ｐｒｏｃ．ＩＴＣ  ２００３、７４５〜７５４ページ（２００３）に記載されている。畳込みコンパクタは、所与のテスト・パターンに対するシグネチャが生成された後で通常はリセットされるメモリ素子を有する、有限入力応答コンパクタである。
【００６７】
図１１は、例示的な畳込みコンパクタ１１２０（畳込みコンパクタ１１２０のリセット回路は図示されていない）に結合された３つのスキャン・チェーン１１１２（図１１では、そのうちの２つに番号が振られている）を有する、例示的な被テスト回路１１１０を概略的に示すブロック図１１００である。被テスト回路１１１０は、畳込みコンパクタ１１２０に出力する３つのスキャン・チェーン１１１２を備える。畳込みコンパクタ１１２０は、スキャン・チェーン出力からのデータを圧縮して単一の出力１１２２に出力し、結果として、スキャン・チェーンに取り込まれた値から６つの圧縮されたテスト応答Ｐ１からＰ６を生成する。詳細には、畳込みコンパクタ１１２０は、シフト・レジスタ１１２４を含み、そのメモリ素子は、連続するメモリ素子の間に挿入された追加の２入力ＸＯＲ（又はＸＮＯＲ）ゲート１１２６（図１１では、そのうちの２つに番号が振られている）によってスキャン・チェーンに結合される。
【００６８】
図５と図６に関連して上述した診断手順に従って、コンパクタ１１２０をモデル化する変換関数Φを決定することができる（処理ブロック５０４）。フェイル・テスト応答を表す故障ログが受信される（処理ブロック６０２）。この例では、圧縮されたテスト応答のうちの３つ、即ちＰ２、Ｐ４、及びＰ５で故障が発生していることを故障ログが示しているものと想定する。変換関数Φを使用して、対応するフェイル圧縮テスト応答に関連する各ロジック・コーンへの（或いは、等価的に、各フェイル擬似スキャン・セルから）経路追跡を実施することで、最初の故障候補を決定することができる（処理ブロック６０４）。図１１で検証できるように、３つの観測されたフェイル・テスト応答に対するコンパクタ１１２０の変換関数は、以下の通りである。
【００６９】
【数４】
2007531875.tif 000006
【００７０】
上式で、Ｒ１とＲ２は、コンパクタがリセットされたとき、又は被テスト回路１１１０のテスト応答がシフト・アウトされたときにコンパクタにロードされる既知の値を表す。先の例と同様に、変換関数はより一般的に以下のように記述することができる：
Ｐ２＝Φ２（｛１，３，４，６｝）、
Ｐ４＝Φ４（｛０，１，３，５，６，７，８｝）、及び            （８）
Ｐ５＝Φ５（｛１，２，４，７，８｝）。
【００７１】
図１２は、変換された回路１２１０を概念的に示す概略図１２００である。変換された回路１２１０は、変換関数Φ２、Φ４、及びΦ５を使用して変換された後の、被テスト回路１１１０を表す。図１２から分かるように、変換された回路１２１０は、６つの擬似スキャン・セル（Ｐ１からＰ６）を有する１つの擬似スキャン・チェーン１２１２を含む。一般に、スキャン・チェーン長さがＬであり、各コンパクタ・チャネルにＭ個のメモリ素子を含む畳込みコンパクタを備えた設計については、擬似スキャン・チェーンの長さは（Ｌ＋Ｍ−１）となる。
【００７２】
変換関数Φ２、Φ４、及びΦ５から、観測された故障Ｐ２（或いは、等価的に、変換された回路１２１０の擬似スキャン・セルＰ２の値）をもたらす故障が、スキャン・セル１、３、４、又は６の少なくとも１つから生じたものに違いないことが確認できる。同様に、Ｐ４で観測された故障は、スキャン・セル０、１、３、５、６、７、又は８（の少なくとも１つ）から生じたはずであり、Ｐ５で観測された故障は、スキャン・セル１、２、４、７、又は８（の少なくとも１つ）から生じているはずである。幾つかの診断法では、これらのスキャン・セルの共通部分に、そこから経路追跡を実施することができるフェイル・スキャン・セル候補が含まれる。所与の例では、例えば、スキャン・セル１が唯一のスキャン・セル候補として識別されることになる。単一エラーの想定によれば、この解析は受け入れることができるものである。しかし、実際には、複数のスキャン・セルが故障を取り込み、それらを同一のスキャンアウト・サイクルの間にクロック・アウトすることが可能である。例えば、図１１を参照すると、故障がロジック・コーンＬＣ４とＬＣ７の共通部分に存在し、且つその故障が、故障結果をスキャン・セル４と７に伝播できる場合には、その故障は、観測用の故障シグネチャを生成するが、故障候補としては識別されないことになる。
【００７３】
一方、開示された方法６００の一実装によれば、故障の可能性がある候補を含むロジック・コーンの和集合の共通部分を使用して、最初の故障候補を決定することができる。例えば、図示の例では、Ｐ２で観測された故障をもたらす故障は、ロジック・コーンの和集合１２１２（ＬＣ１∪ＬＣ３∪ＬＣ４∪ＬＣ６）から生じたはずである。同様に、Ｐ４（或いは、等価的に、変換された回路１２１０の擬似スキャン・セルＰ４）で観測される故障をもたらす故障は、ロジック・コーンの和集合１２１４（ＬＣ０∪ＬＣ１∪ＬＣ３∪ＬＣ４∪ＬＣ５∪ＬＣ６∪ＬＣ７∪ＬＣ８）から生じているはずである。最後に、Ｐ５（或いは、等価的に、変換された回路１２１０の擬似スキャン・セルＰ５）をもたらす故障は、ロジック・コーンの和集合１２１６（ＬＣ１∪ＬＣ２∪ＬＣ４∪ＬＣ７∪ＬＣ８）から生じたもののはずである。最初の故障候補のリストは、ロジック・コーンの和集合１２１２、１２１４、１２１６の共通部分を見つけることによって決定することができる。この共通部分は、図１２の領域１２２０として概念的に示されている。
【００７４】
各故障候補を投入しながら、回路におけるテスト・パターンのシミュレーションを実施することができる（処理ブロック６０６）。シミュレートされる各パターンごとに変換関数Φを適用してシミュレーション結果を取得し、その結果を、故障ログ内のデータと比較することができる。残った候補は、例えば、既知の結果−原因診断法の何れかの基準によってランク付けすることができる（処理ブロック６０８）。その結果、例示的診断手順６００が完了する。
【００７５】
（ＥＤＴコンパクタ）
ＥＤＴコンパクタについては、Ｊ．Ｒａｊｓｋｉ、Ｍ．Ｋａｓｓａｂ、Ｎ．Ｍｕｋｈｅｒｊｅｅ、Ｎ．Ｔａｍａｒａｐａｌｌｉ、Ｊ．Ｔｙｓｚｅｒ、及びＪ．Ｑｉａｎによる論文、「Ｅｍｂｅｄｄｅｄ  Ｄｅｔｅｒｍｉｎｉｓｔｉｃ  Ｔｅｓｔ  ｆｏｒ  Ｌｏｗ−Ｃｏｓｔ  Ｍａｎｕｆａｃｔｕｒｉｎｇ」、ＩＥＥＥ  Ｄｅｓｉｇｎ＆Ｔｅｓｔ  ｏｆ  Ｃｏｍｐｕｔｅｒｓ、第２０巻、第５号、５８〜６６ページ（２００３年９月〜１０月）、に記載されている。ＥＤＴコンパクタは、本質的に、不明の値を処理するためのスキャン・チェーン・マスキングを備えたＸＯＲツリーである。
【００７６】
図１３は、ＸＯＲゲートで構成された例示的ＥＤＴコンパクタ１３２０に結合された２つのスキャン・チェーン１３１２を備えた例示的被テスト回路１３１０を概略的に示すブロック図１３００である（バイパス回路１３２２を使用して、スキャン・チェーンの１つを選択的にマスクすること、又はスキャン・チェーンのうちの１つを除く全てをマスクすることもできる）。被テスト回路１３１０に対して、ＥＤＴコンパクタ１３２０は、３つの圧縮されたテスト応答Ｐ１からＰ３を生成する。
【００７７】
図５と図６に関して上述の診断手順に従って、コンパクタ１３２０をモデル化する変換関数Φを決定することができる（処理ブロック５０４）。フェイル・テスト応答を表す故障ログが受信される（処理ブロック６０２）。この例では、圧縮されたテスト応答Ｐ２で故障が発生したことを故障ログが示していると想定する。変換関数Φを使用して、対応するフェイル圧縮テスト応答に関連する各ロジック・コーンへの（或いは、等価的に、各フェイル擬似スキャン・セルからの）経路追跡を実施することで、各観測されたフェイル応答に対する最初の故障候補を決定することができる（処理ブロック６０４）。図１３から検証できるように、コンパクタ１３２０の変換関数Φ２は（どのスキャン・チェーンもマスクされていないと想定すると）以下のようにモデル化することができる。
【００７８】
【数５】
2007531875.tif 000007
【００７９】
或いは、より一般的に
Ｐ２＝Φ２（｛１，４｝）            （１０）
となる。スキャン・チェーンの１つ又は複数がマスクされている場合は、式（９）及び（１０）はマスキングを考慮するように修正することができる。
【００８０】
図１４は、変換された回路１４１０を概念的に示す概略図１４００である。変換された回路１４１０は、変換関数Φ１、Φ２、及びΦ３を使用して変換された後の、被テスト回路１３１０を表す。図１４から分かるように、変換された回路１４１０は、３つの擬似スキャン・セル（Ｐ１からＰ３）を含む１つの擬似スキャン・チェーン１４１２を備える。例示のために、変換回路１４１０はまた、ＬＣ４の一部がＬＣ２と交差すること、及び少なくとも部分的には擬似スキャン・セルＰ３の値を決定できることも示している。
【００８１】
変換関数Φ２から、観測された故障Ｐ２（或いは、等価的に、変換された回路１４１０の擬似スキャン・セルＰ２の値）をもたらす故障が、ロジック・コーンの和集合ＬＣ１∪ＬＣ４から生じたものに違いないと判断することができる。従って、この例では、最初の故障候補のリストには和集合ＬＣ１∪ＬＣ４内の候補故障が含まれる。
【００８２】
各故障候補をシミュレートしながら、変換された回路１４１０へのテスト・パターンのシミュレーションを実施することができる（処理ブロック６０６）。シミュレートされる各パターンごとに、変換関数Φを適用して結果を取得し、その結果を、故障ログに収集されたデータと比較することができる。例えば、ＬＣ４とＬＣ２の間の共通部分の故障が、Ｐ２とＰ３の両方でフェイル応答を生成する場合は、それらの故障候補をリストから削除することができる。残った候補は、例えば、既知の結果−原因診断法の何れかの基準を使用してランク付けすることができる（処理ブロック６０８）。それによって、例示的診断手順６００が完了する。
【００８３】
（基本木コンパクタ）
基本木コンパクタについては、Ｂ．Ｐｏｕｙａ及びＮ．Ａ．Ｔｏｕｂａの論文、「Ｓｙｎｔｈｅｓｉｓ  ｏｆ  Ｚｅｒｏ−Ａｌｉａｓｉｎｇ  Ｅｌｅｍｅｎｔａｒｙ−Ｔｒｅｅ  Ｓｐａｃｅ  Ｃｏｍｐａｃｔｏｒｓ」、Ｐｒｏｃ．ｏｆ  ＩＥＥＥ  ＶＬＳＩ  Ｔｅｓｔ  Ｓｙｍｐｏｓｉｕｍ、７０〜７７ページ（１９９８年）、に記載されている。基本木コンパクタは、非線系空間コンパクタである。
【００８４】
図１５は、例示的基本木コンパクタ１５２０に結合された３つのスキャン・チェーン１５１２を備えた例示的被テスト回路１５１０を概略的に示すブロック図１５００である。この基本木コンパクタ１５２０は、ＯＲゲートに結合されたＡＮＤゲートから構成される。被テスト回路１５１０に対して、基本木コンパクタ１５２０は、３つの圧縮されたテスト応答Ｐ１からＰ３を生成する。
【００８５】
図５と図６に関連して上述の診断手順を使用すると、コンパクタ１５２０をモデル化する変換関数Φを決定することができる（処理ブロック５０４）。フェイル・テスト応答を表す故障ログが受信される（処理ブロック６０２）。この例では、圧縮されたテスト応答Ｐ２で故障が見つかったことを、故障ログが示しているものと想定する。変換関数Φを使用して、対応するフェイル圧縮テスト応答に関連する各ロジック・コーンへの（或いは、等価的に、各フェイル擬似スキャン・セルからの）経路追跡を実施することで、各観測されたフェイル応答に対する最初の故障候補を決定することができる（処理ブロック６０４）。図示の例では、コンパクタ１５２０の変換関数Φ２は以下のようにモデル化される：
Ｐ２＝（１  ＡＮＤ  ４）  ＯＲ  ７、            （１１）
又は、より一般的に
Ｐ２＝Φ２（｛１，４，７｝）            （１２）
となる。
【００８６】
図１６は、変換された回路１６１０を示す概略図１６００である。変換された回路１６１０は、変換関数Φ２を使用して変換された後の被テスト回路１５１０を表す。図１６から分かるように、変換された回路１６１０は、３つの擬似スキャン・セル（Ｐ１からＰ３）を含む１つの擬似スキャン・チェーン１６１２を備える。
【００８７】
変換関数Φ２から、観測された故障Ｐ２（或いは、等価的に、図１６の擬似スキャン・セルＰ２の値）をもたらす故障が、ロジック・コーンの和集合ＬＣ１∪ＬＣ４∪ＬＣ７から生じたものに違いないことが分かる。従って、一例示的実装によれば、最初の故障候補のリストには、和集合ＬＣ１∪ＬＣ４∪ＬＣ７内の候補故障が含まれる。
【００８８】
各故障候補をシミュレートしながら、変換された回路１６１０へのテスト・パターンのシミュレーションを実施することができる（処理ブロック６０６）。シミュレートされる各パターンに対して、変換関数Φを適用してシミュレーション結果を取得し、その結果を、故障ログ内のデータと比較することができる。残った候補は、例えば、既知の結果−原因診断法の何れかの基準を使用してランク付けすることができる（処理ブロック６０８）。それによって、例示的診断手順６００が完了する。
【００８９】
実験結果
この項では、上で論じた診断手順の例示的実施形態を適用することによって得られた実験結果を提示する。この実験は、ＥＤＴコンパクタを備えた産業用スキャン・ベース回路をシミュレートすることで実施された。表１は、（それぞれ、「回路１」及び「回路２」と記された）被テスト産業用回路の追加の技術的詳細を示す。
【００９０】
【表１】
2007531875.tif 000008
【００９１】
表１で、「スキャン・チェーン数」と名付けられた列は、内部スキャン・チェーンの数を示す。また、「チャネル数」と名付けられた列は、ＥＤＴコンパクタからの出力チャネル数を示す。ＥＤＴコンパクタの場合は、一般にチャネルとチェーンの比によって、可能な圧縮比の最大が決定される。
【００９２】
これらの例示的実験結果を生成するために使用される実験手順の概略を、表２に示す。
【００９３】
【表２】
2007531875.tif 000009
【００９４】
表２に示したように、実験手順の最初のステップは、１０００件のサンプル故障（この場合は、縮退故障）をランダムに選択することであった。次のステップで、全体の故障リストを対象として、圧縮されたテスト・セットが生成された。このテスト・セットは、ＥＤＴコンパクタがバイパス・モードで動作するときに使用する、対応する非圧縮テスト・セットを生成するために使用された。（バイパス・モードでは、オンチップの圧縮ハードウェアをバイパスすることによって、スキャン・セルへの直接アクセスが可能になる）。サンプル故障リストの各故障は、回路とＥＤＴコンパクタのシミュレーションに故障を投入し、コンパクタを圧縮モードとバイパス・モードの両方で動作させることによってシミュレートされ、結果として２つの故障ログ、即ち圧縮モード故障ログとバイパス・モード故障ログが生成された。添付の図１７〜２０に示された個々の実験結果については、各回路あたり２つの故障ログ、即ち無制限フェイル・ログ（この場合は、故障シミュレーションによって明らかになった全てのフェイル・サイクルが故障ログに記載された）と２５６サイクル故障ログ（この場合、故障ログは２５６フェイル・サイクルまでに制限された）とが考慮された。制限された２５６サイクル故障ログが解析されたのは、生産ラインのＡＴＥ装置にメモリ制限がある場合が多く、使用可能なフェイル・ログ・エントリの数が（例えば、２５６フェイル・サイクルに）制限されるからである。次いで、生成された各故障ログは、個々の診断技術を使用して解析された。詳細には、圧縮モード故障ログは、図６に関して先に概説した直接診断手順の実施形態を使用して解析され、バイパス・モードの故障ログは、ＥＤＴコンパクタ用の従来のバイパス・モード診断手順を用いて解析された。次に、各診断手順の結果が調査されて、実際に投入された故障がレポート内に候補故障としてリストアップされたかどうか、及び故障ログ内の観測された各エラーごとに合計幾つの故障候補が報告されたかが明らかにされた。この方法によれば、次に、望ましい診断レポートにより、各サンプル故障ごとに１つの候補故障が識別される。
【００９５】
図１７〜２０は、実験結果をグラフの形で示したものである。詳細には、図１７と１８はそれぞれ、回路１に対するテスト結果を報告するグラフ１７００と１８００を示す。より詳細には、図１７は、従来のバイパス診断手順を使用した、回路１のバイパスモード・テスト応答の診断結果を示し、図１８は、開示した診断実施形態を使用した、回路１の圧縮モード・テスト応答の診断結果を示す。グラフ１７００のＸ軸は、診断で識別された候補の数を示し、Ｙ軸は、関連する候補の数に対して識別されたサンプル故障の数を示す。上述のように、テストは２つの故障ログ、即ち無制限故障ログと２５６サイクルに制限された故障ログを使用して実施された。図１７と１８に関して、無制限故障ログの場合は、バイパス・モード診断手順では、９９６件の故障に対して１つの候補が報告され、開示の診断手順の実施形態では、９９５件の故障に対して１つの候補が報告されたことが分かる。故障ログが２５６サイクルに制限されているときは、開示の診断手順の実施形態では、９９４件の故障に対して単一の候補が報告された。ちなみに、故障ログが２５６サイクルに制限されたとき、バイパス・モード診断では、９８８件の故障に対して単一の候補が報告された。この結果は、圧縮モードよりバイパス・モードの方が、より速く故障ログが一杯になることによるものである。
【００９６】
回路２に対する同様の結果が、それぞれグラフ１９００と２０００を含む図１９と２０に示されている。実際、回路２に対して、従来のバイパス・モード診断法と開示の手順の実施形態とに対する同様の結果が得られる。図１９と２０においては、（それぞれ、候補５、１２、２２、及び３１を生成する）４つの故障が示されていないので、報告された故障の総数が、１０００件ではなく合計９９６件になっていることに留意されたい。
【００９７】
図１７〜２０から分かるように、これらのテストで使用された、開示の診断手順の実施形態における診断分解能は、実質的に、バイパス・モード診断を使用して達成される診断分解能と同等か、それより優れている。しかし、開示の診断手順の例示的実施形態は、テスト・パターンの個別のセットを必要としないので、バイパス・モード診断よりはるかに効率的であり、必要なテスト装置のメモリ・オーバヘッドもより小さいものになる。
【００９８】
例示的コンピュータ・ネットワーク
上述の技術の諸態様は何れも、分散コンピュータ・ネットワークを使用して実施することができる。図２１は、そのような例示的ネットワークの１つである。サーバ・コンピュータ２１００は、（サーバ・コンピュータの内部又は外部に）付随する記憶装置２１０２を備えることができる。例えば、サーバ・コンピュータ２１００は、（例えば、ＥＤＴ（ｅｍｂｅｄｄｅｄ  ｄｅｔｅｒｍｉｎｉｓｔｉｃ  ｔｅｓｔｉｎｇ）やＡＴＰＧツールなど、ＥＤＡソフトウェア・ツールの一部として）開示の実施形態の何れかによる故障診断技術を実施するように構成することができる。サーバ・コンピュータ２１００は、２１０４で一般的に示されたネットワークに結合することができる。このようなネットワークには、ワイドエリア・ネットワーク、ローカルエリア・ネットワーク、クライアントサーバ・ネットワーク、インターネット、その他のネットワークなどが含まれる。例えば、２１０６、２１０８で示された、１つ又は複数のクライアント・コンピュータは、ネットワーク・プロトコルを使用してネットワーク２１０４に結合することができる。
【００９９】
図２２は、図２１に示された分散ネットワークを動作させて、故障ログに格納された故障を診断できるようにするための一例示的方法を示す。詳細には、被テスト回路で観測された故障に関する情報を含む故障ログは、図２１に示されたサーバ・コンピュータ２１００などのリモート・サーバ・コンピュータを使用して、本明細書に開示された実施形態の何れかに従って解析することができる。処理ブロック２２５０で、例えば、クライアント・コンピュータは、回路テストで観測された故障リストを含む（例えば、生産フロアのＡＴＥからの）故障ログを送信する。処理ブロック２２５２で、サーバ・コンピュータによって故障ログが受信され、ロードされる。処理ブロック２２５４で、開示の実施形態の何れかによる診断手順を使用して、故障ログが解析される。診断手順によって識別された故障候補のリストを生成することができる。故障候補のリストは、故障ログの更新されたバージョンとして、或いは１つ又は複数の個別のファイル又はデータ構造として格納することができる。処理ブロック２２５６で、サーバ・コンピュータは、候補故障のリストをクライアント・コンピュータに送信する。クライアント・コンピュータは、処理ブロック２２５８で、診断結果を受信する。この手順は、故障ログが生成されているとき、又は故障ログが生成された直後（例えば、被テスト回路がまだテスト装置に結合されているとき）に実施することができるので、オンラインで診断手順を実施することができることに留意されたい。
【０１００】
図２２に示された例が、開示の技術によって診断を実施する唯一の方法でないことは、当業者には明らかなはずである。例えば、解析される故障ログは、ネットワーク上にないコンピュータ可読媒体上（例えば、ＣＤ−ＲＯＭ又は他のコンピュータ可読媒体上）に格納し、個別にサーバに送信することができる。更に、サーバ・コンピュータは、診断手順の一部だけを実施することもできる。
【０１０１】
例示の実施形態の原理について図示し説明してきたが、当業者には、その原理を逸脱することなく、各実施形態の構成や詳細を変更できることは明らかであろう。例えば、本明細書に記載の実施形態は何れもテスト装置それ自体で実施することが可能であり、分散コンピュータ・ネットワークを介して実施する必要はない。多くの実施形態が可能であることを考慮すると、例示の実施形態が単なる例に過ぎず、本発明の範囲を制限するものと見なすべきでないことが理解されよう。より正確には、本発明は添付の特許請求の範囲によって規定される。従って、本発明者らは、これら特許請求の範囲に含まれるこのようなあらゆる実施形態を本発明として主張する。
【図面の簡単な説明】
【０１０２】
【図１】結果−原因診断手順の例示的実施形態の流れ図である。
【図２】図１の処理ブロック１０６などにおいて、フェイル・スキャン・セルに関連するロジック・コーンへの経路追跡を行う動作の一実施形態を示すブロック図である。
【図３】図１の処理ブロック１０８などにおいて、最初の故障候補のリストを改良するために、回路の表現を用いて故障をシミュレートする動作の一実施形態を示すブロック図である。
【図４Ａ】スキャン・セルのテスト応答を取り込み、そのテスト応答をコンパクタに出力するように構成された例示的スキャン・ベース被テスト回路のブロック図である。
【図４Ｂ】コンパクタによって実施される変換関数が元のスキャン・セルの上流で実施されるように、被テスト回路を図４Ａからどのように変換することができるかの一例を示すブロック図である。
【図５】圧縮されたテスト応答から故障を診断するための一般的な故障診断手順の、第１の実施形態の流れ図である。図５に示された実施形態では、修正された診断手順が使用される。
【図６】図５に示された例示的手順によって使用できる、修正された診断手順の例示的実施形態の流れ図である。詳細には、図１の結果−原因診断手順の修正されたバージョンを示す図である。
【図７Ａ】図５と図６に示された方法の一実施形態を、例示的なスキャン・ベース被テスト回路にどのように適用することができるかを示すブロック図である。
【図７Ｂ】図５と図６に示された方法の一実施形態を、例示的なスキャン・ベース被テスト回路にどのように適用することができるかを示すブロック図である。
【図７Ｃ】図５と図６に示された方法の一実施形態を、例示的なスキャン・ベース被テスト回路にどのように適用することができるかを示すブロック図である。
【図８】圧縮されたテスト応答から故障を診断するための一般的な故障診断手順の、第２の実施形態の流れ図である。図５に示された実施形態では、修正された回路記述が使用されている。
【図９】例示的Ｘコンパクタに結合された例示的なスキャン・ベース被テスト回路の概略ブロック図である。
【図１０】図５と図６に示された方法の例示的一実施形態を、図９の被テスト回路とＸコンパクタとにどのように適用することができるかを示す概略ブロック図である。
【図１１】例示的畳込みコンパクタに結合された例示的スキャン・ベース被テスト回路の概略ブロック図である。
【図１２】図５と図６に示された方法の例示的一実施形態を、図１１の被テスト回路と畳込みコンパクタにどのように適用することができるかを示す概略ブロック図である。
【図１３】例示的ＥＤＴ（Ｅｍｂｅｄｄｅｄ  Ｄｅｔｅｒｍｉｎｉｓｔｉｃ  Ｔｅｓｔ）コンパクタに結合された例示的スキャン・ベース被テスト回路の概略ブロック図である。
【図１４】図５と図６に示された方法の例示的一実施形態を、図１３の被テスト回路とＥＤＴコンパクタにどのように適用することができるかを示す概略ブロック図である。
【図１５】例示的基本木コンパクタに結合された例示的スキャン・ベース被テスト回路の概略ブロック図である。
【図１６】図５と図６に示された方法の例示的一実施形態を、図１５の被テスト回路と基本木コンパクタにどのように適用することができるかを示す概略ブロック図である。
【図１７】従来の故障診断手順が使用され且つバイパス・モードで動作するＥＤＴコンパクタを有する第１の回路設計において、フェイル・テスト応答の診断から得られた実験結果を示すグラフである。
【図１８】開示された診断手順の例示的実施形態が使用され且つ圧縮モードで動作するＥＤＴコンパクタを有する第１の回路設計において、フェイル・テスト応答の診断から得られた実験結果を示すグラフである。
【図１９】従来の故障診断手順が使用され且つバイパス・モードで動作するＥＤＴコンパクタを有する第２の回路設計において、フェイル・テスト応答の診断から得られた実験結果を示すグラフである。
【図２０】開示された診断手順の例示的実施形態が使用され且つ圧縮モードで動作するＥＤＴコンパクタを有する第２の回路設計において、フェイル・テスト応答の診断から得られた実験結果を示すグラフである。
【図２１】開示の技術を実装するために使用できる例示的分散コンピューティング環境を示す概略ブロック図である。
【図２２】図２１に示された分散コンピューティング環境において故障診断を実施することができる例示的一方法を示すブロック図である。
【図１】
2007531875.tif 000010
【図２】
2007531875.tif 000011
【図３】
2007531875.tif 000012
【図４Ａ】
2007531875.tif 000013
【図４Ｂ】
2007531875.tif 000014
【図５】
2007531875.tif 000015
【図６】
2007531875.tif 000016
【図７Ａ】
2007531875.tif 000017
【図７Ｂ】
2007531875.tif 000018
【図７Ｃ】
2007531875.tif 000019
【図８】
2007531875.tif 000020
【図９】
2007531875.tif 000021
【図１０】
2007531875.tif 000022
【図１１】
2007531875.tif 000023
【図１２】
2007531875.tif 000024
【図１３】
2007531875.tif 000025
【図１４】
2007531875.tif 000026
【図１５】
2007531875.tif 000027
【図１６】
2007531875.tif 000028
【図１７】
2007531875.tif 000029
【図１８】
2007531875.tif 000030
【図１９】
2007531875.tif 000031
【図２０】
2007531875.tif 000032
【図２１】
2007531875.tif 000033
【図２２】
2007531875.tif 000034
【国際調査報告】
2007531875.tif 000035
2007531875.tif 000036
2007531875.tif 000037