(57)【要約】【課題】被試験デバイスのスキャンチェーンにおける縮退故障位置を推定すること。【解決手段】スキャンチェーンからスキャンパターンをシフトアウトする際に、論理状態の存在に関して該スキャンパターンをリアルタイムで評価する。現在評価中の該スキャンパターンの一部への参照値を維持する。該参照値が記憶値に対して所定の関係を有する際に、該論理状態の存在を確認すると、該参照値を用いて該記憶値を上書きする。その後、該記憶値を用いて該スキャンチェーンにおける縮退故障の位置を推定する。【選択図】図８
2010520452.tif 000002
【特許請求の範囲】
【請求項１】
被試験デバイスのスキャンチェーンにおける縮退故障の位置を推定する方法であって、
前記スキャンチェーンからスキャンパターンをシフトアウトする際に、論理状態の存在に関して前記スキャンパターンをリアルタイムで評価することと、
現在評価中の前記スキャンパターンの一部への参照値を維持することと、
前記参照値が記憶値に対して所定の関係を有する際に、前記論理状態の存在を確認すると、前記参照値を用いて前記記憶値を上書きすることと、
前記記憶値を用いて前記スキャンチェーンにおける前記縮退故障の位置を推定することと、
を有することを特徴とする方法。
【請求項２】
カウントを更新することにより前記参照値を維持すること、を特徴とする請求項１に記載の方法。
【請求項３】
前記論理状態が論理レベルであること、を特徴とする請求項１に記載の方法。
【請求項４】
前記論理状態が論理遷移であること、を特徴とする請求項１に記載の方法。
【請求項５】
前記スキャンパターンの隣接するビットの論理レベルを比較することにより、前記論理状態の存在に関して前記スキャンパターンを評価すること、
を特徴とする請求項４に記載の方法。
【請求項６】
前記スキャンチェーンからシフトアウトした前記スキャンパターンの最終ビットの値を読み取ることと、
前記最終ビットの値を用いて前記縮退故障のタイプを判定することと、
をさらに有することを特徴とする請求項４に記載の方法。
【請求項７】
前記参照値が前記記憶値より大きいことを前記所定の関係とすること、を特徴とする請求項１に記載の方法。
【請求項８】
前記スキャンチェーンからシフトアウトした複数のスキャンパターンの各々に対して、前記評価すること、維持すること、確認すること、及び上書きすることを反復することと、
前記複数のスキャンパターンの個々の評価の間にではなく、前記複数のスキャンパターンのいずれかを前記論理状態に関して評価する前に、前記記憶値を保持するメモリを初期化することと、
前記複数のスキャンパターンの各々に対して前記評価すること、維持すること、確認すること、及び上書きすることを反復した後、前記記憶値を使用して前記スキャンチェーンにおける前記縮退故障の位置を推定することと、
をさらに有することを特徴とする請求項１に記載の方法。
【請求項９】
被試験デバイスのスキャンチェーンにおける縮退故障の位置を推定する装置であって、
前記装置が現在評価中のスキャンパターンの一部への参照値を取得、又は維持するように構成した制御システムと、
前記縮退故障の推定位置を表す値を記憶するように構成したメモリと、
前記メモリに記憶した値に対して前記参照値が所定の関係を有する際に、制御信号を発するように構成したコンパレータと、
i）前記スキャンパターンが前記スキャンチェーンからシフトアウトする際に前記スキャンパターンを受け付け、ii）論理状態の存在に関して前記スキャンパターンをリアルタイムで評価し、iii）、前記制御信号が発せられた際に前記論理状態の存在を確認すると、前記メモリに記憶した値を前記参照値を用いて上書きするように構成した評価回路と、
を備えることを特徴とする装置。
【請求項１０】
前記制御システムがカウンタを有し、前記参照値は前記カウンタが維持するカウントであり、スキャンクロックに応答して前記スキャンパターンにおけるビットを前記スキャンチェーンからシフトアウトし、前記制御システムが前記スキャンクロックに応答して前記カウンタに前記カウントを増分させること、
を特徴とする請求項９に記載の装置。
【請求項１１】
複数のスキャンパターンの各々が前記スキャンチェーンからシフトアウトする前に、前記カウンタをリセットするように前記制御システムを構成すること、
を特徴とする請求項１０に記載の装置。
【請求項１２】
前記複数のスキャンパターンの個々の評価の間にではなく、前記評価回路が前記複数のスキャンパターンを評価する前に前記メモリを初期化するように、前記制御システムをさらに構成すること、
を特徴とする請求項９に記載の装置。
【請求項１３】
前記評価回路が、前記スキャンパターンを受け付けるように構成した第１の入力と、前記制御信号を受け付けるように構成した第２の入力と、前記メモリのロード入力に連結した出力とを有する論理ＡＮＤゲートを有すること、
を特徴とする請求項９に記載の装置。
【請求項１４】
前記評価回路が、
前記スキャンパターンを受け付けて反転したスキャンパターンを生成するように構成したインバータと、
前記反転したスキャンパターンを受け付けるように構成した第１の入力と、前記制御信号を受け付けるように構成した第２の入力と、前記メモリのロード入力に連結した出力とを有する論理ＡＮＤゲートと、
を有することを特徴とする請求項９に記載の装置。
【請求項１５】
前記評価回路が、
前記スキャンパターンの１ビット遅延したバージョンを受け付けて出力するように構成したフリップフロップと、
前記スキャンパターンを受け付けるように構成した第１の入力と、前記スキャンパターンの１ビット遅延したバージョンを受け付けるように構成した第２の入力と、ＸＯＲ出力とを有する論理ＸＯＲゲートと、
前記ＸＯＲ出力を受け付けるように構成した第１の入力と、前記制御信号を受け付けるように構成した第２の入力と、前記メモリのロード入力に連結した出力とを有する論理ＡＮＤゲートと、
を有することを特徴とする請求項９に記載の装置。
【請求項１６】
前記評価回路が、
前記スキャンパターンの１ビット遅延したバージョンを受け付けて出力するように構成した遅延回路と、
前記スキャンパターンを受け付けるように構成した第１の入力と、前記スキャンパターンの１ビット遅延したバージョンを受け付けるように構成した第２の入力と、ＸＯＲ出力とを有する論理ＸＯＲゲートと、
前記ＸＯＲ出力を受け付けるように構成した第１の入力と、前記制御信号を受け付けるように構成した第２の入力と、前記メモリのロード入力に連結した出力とを有する論理ＡＮＤゲートと、
を有することを特徴とする請求項９に記載の装置。
【請求項１７】
前記フリップフロップが前記スキャンパターンにおける最終ビットを受け付けた後、前記フリップフロップにおける値を読み取るように構成した制御システムをさらに有すること、
を特徴とする請求項１６に記載の装置。
【請求項１８】
前記カウンタがリセット入力を有し、前記装置は制御システムをさらに有し、i）複数のスキャンパターンの各々を前記スキャンチェーンからシフトアウトする前に、前記リセット入力を介して現在のビット位置をリセットし、ii）前記複数のスキャンパターンにおける最終ビットを前記フリップフロップが受け付け後、前記フリップフロップにおける値を読み取って記憶するように前記制御システムを構成すること、
を特徴とする請求項１６に記載の装置。
【請求項１９】
前記論理状態が論理レベルであること、を特徴とする請求項９に記載の装置。
【請求項２０】
前記論理状態が論理遷移であること、を特徴とする請求項９に記載の装置。
【請求項２１】
被試験デバイスのスキャンチェーンにおける縮退故障の位置を推定する装置であって、
前記縮退故障の位置を示す値を記憶する手段と、
前記スキャンチェーンからスキャンパターンをシフトアウトする際に、論理状態の存在に関して前記スキャンパターンをリアルタイムに評価する手段と、
現在評価中の前記スキャンパターンの一部への参照値を維持する手段と、
前記参照値が記憶値に対して所定の関係を有する際に前記論理状態の存在を確認すると、前記参照値を用いて前記記憶値を上書きする手段と、
を備えることを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は２００８年２月２８日出願の米国特許出願１１／６８０，１３４号の一部継続出願であり、本明細書ではこの出願を参照して本文の記載の一部とする。
【背景技術】
【０００２】
デジタル論理は組み合わせ論理関数と順序論理関数から成る。組み合わせ論理関数では、デジタル出力はその入力データ信号の現データ状態によって決定する。組み合わせ論理関数の入力データ状態に何らかの変化が生じると、その出力データ状態に即座に変化が生じることになる。組み合わせ論理関数の例には、ＡＮＤゲート（全ての入力において真の状態であれば、出力において真の状態となる）、ＯＲゲート（任意の入力において真の状態であれば、出力において真の状態となる）、及びマルチプレクサ（出力状態は１セットの入力のうちの１つから導出されるが、この入力は別セットの入力から選択されたもの）がある。順序論理関数は、出力データ（Ｑ）状態が、以前適用した入力データ状態に依存するデータ状態を維持できるという点で異なる。最も一般的に使用されている順序論理関数はフリップフロップである。その入力クロック（Ｃ）信号に正遷移があった場合のみ、フリップフロップの出力データ（Ｑ）状態が変化する。この遷移の際に、出力データ（Ｑ）状態はその入力データ（Ｄ）信号の状態に変化する。クロック信号の遷移の後は、出力データ（Ｑ）状態は入力データ（Ｄ）信号の状態に関らずその状態を維持する。各クロック遷移を１データサイクルと称する。通常これらのデータサイクルは、回路の実効データ速度を表す規則的な間隔で発生する。回路の通常の操作では、何百万ものデータサイクルが生じるのが典型的である。
【０００３】
回路にテスタビリティを加えるために、組み合わせ論理によるデータパスに依存しないデータパスを使用して、それらのデータ状態の設定及び読取りを簡便化するようにフリップフロップを修正することができる。これをテスト容易化設計（ＤＦＴ）と呼ぶ。図１は４つのフリップフロップ１０２、１０４、１０６、１０８を有する回路１００を示し、回路１００の組み合わせ論理１１０については便宜上１つの黒枠で示している。図２はスキャン（又はＤＦＴ構造）を組み込んだ同様の回路２００を示す。各フリップフロップ１０２、１０４、１０６、１０８のデータ入力（Ｄ）の前に信号マルチプレクサ２０２、２０４、２０６、２０８を追加して、スキャンチェーンを作成する。スキャンイネーブルと呼ばれる単一の制御信号を加えることにより、これらマルチプレクサの選択を制御する。スキャンイネーブル信号がローであれば回路は通常動作となり、フリップフロップへのデータは組み合わせ論理１１０から入力される（例えばデータＤ０）。スキャンイネーブル信号がハイであれば、各フリップフロップ１０２、１０４、１０６、１０８の入力は別のフリップフロップの出力に、又は回路２００の外部ピン（スキャンアウト）に接続する。スキャンチェーンにおける第１フリップフロップ１０２への入力データも、回路２００の外部ピン（スキャンイン）からとなる。図３は、回路２００内の全フリップフロップ１０２、１０４、１０６、１０８へとスキャンインピンにおいてテストパターンをシフトインすることが、このように実行することでいかに簡便化されるかを示している。テストパターンをシフトインした後、スキャンイネーブル信号は１サイクル期間ローとなり、シフトインしたテストパターンから生じた組み合わせ論理１１０のデータ出力を、フリップフロップ１０２、１０４、１０６、１０８で捕捉する。スキャンイネーブル信号はその後再びハイとなり、捕捉したデータ結果はスキャンアウトピンからシフトアウトされて、テストシステムの求める期待値と比較される。組み合わせ論理１１０に何らかの操作上の不良があれば、１つ以上のビットのデータ出力シーケンスが期待値と異なることとなる。
【０００４】
上述の原則に基づけば、典型的な被試験デバイス（例えば集積回路（ＩＣ））は各スキャンチェーンに何千ものフリップフロップを備え、多数のスキャンチェーンを使用する。また、一回のテストにおいて数千もの異なるスキャンパターンが適用されるのが一般的である（１つのパターンは、各フリップフロップにシフトインする完全なセットの順次データを指し、設計段階で各パターンが各フリップフロップに対して１つの独自のデータ状態を含むようにする必要がある）。これでは、複雑な装置をテストする際に極めて大量のテストデータを適用してテストすることになる。さらに、１つの装置内に存在する多数のスキャンチェーンの長さが全く同じということは殆どないため、テストパターンは“ｄｏｎ’ｔ ｃａｒｅ”状態を示すことが多い。
【０００５】
ＤＦＴテスト（又は構造テスト）の役割は、装置にいかなる製造不良もないことを確認することである。テストパターンの実行中に、期待データ状態と異なるデータ状態が検出された場合には、テストを終了してそのＩＣを不良品として分類するのが経済的であろう。しかし、その後障害を診断してどの組み合わせ論理要素が不良を生じたのかを判定するために、すべてのパターンにおける障害データ状態を捕捉することも望ましい。通常この診断は、テストシステムが捕捉した（例えば自動テスト装置（ＡＴＥ）が捕捉した）結果を分析する別個のソフトウェアプログラムによって行う。よって、自動テスト装置はこの事後分析プロセスの実行に必要な情報を記録できる必要がある。
【０００６】
図４は、複数のスキャンチェーンを有する装置４００を示し、図５は装置４００の構造テスト（スキャンテスト若しくはＤＦＴテストとして知られる）を実行するテストシステム５００の一例を示す。データパターンメモリには装置４００に適用するテストパターンと装置４００から読み取られると期待されるデータパターンがロードされる。テストシステム４００は、１）エラーが生じた場合（例えば出力データ状態が期待データ状態と異なる場合）にはいつでもテストを終了する、又は２）全てのパターンセットを完了し、認識されたエラーの全てを記録する、のいずれかを選択できるモードを有し得る。これを達成するために、テストシステムはデータ捕捉メモリを備える必要がある。このメモリは、データサイクルカウントとエラーが認識された出力ピンとを記録し得る。データ捕捉メモリの別のモードは、装置４００のスキャン出力から読み取った生の（実際の）状態を記録するものである。
【０００７】
組み合わせ論理１１０において１つ不良が生じると、データ捕捉メモリに記録しなければならない数千のエラーが生じる可能性がある。一例として、各スキャンチェーンに２０，０００個のフリップフロップを有するＩＣデザインと１０，０００個のスキャンパターンを適用するテストシステムを考慮されたい。この場合には、組み合わせ論理不良が１つ生じると、１０個のフリップフロップが２５％のスキャンパターンにおいて障害を生じる可能性がある。この結果、２５，０００の障害がデータ捕捉メモリに記録されることになろう。重要なこととして、組み合わせ論理不良の位置を判定する後処理のために、このデータを合理的に管理してファイルに「データログ」することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、スキャンチェーンパス自体に不良が存在する場合には、かなり異なる診断上の問題が生じる。図６は、フリップフロップ１０４の前にあるマルチプレクサ２０４へのスキャン入力において１つの「短絡」が生じた回路２００を示す。この故障により、「縮退」故障の下流にある全てのスキャンデータが論理「０」状態を有することになろう。すなわち、クロック信号が切り替わる際にフリップフロップ１０４、１０６、及び１０８が論理「０」となる。従って縮退故障により２つの影響が出る：１）組み合わせ論理に適用したテストパターンが無効となる、２）スキャンアウトピンから補足したテストパターンをスキャンすると、縮退故障（又は閉塞）によりフリップフロップ１０２で補足した任意のデータを認識することができなくなる。その結果、障害の数が途方もなく大きくなる。
【図面の簡単な説明】
【０００９】
【図１】ＤＦＴ回路を備えていない装置の一例を示す図である。
【図２】ＤＦＴ回路を備えた装置の一例を示す図である。
【図３】スキャンクロック、スキャンイネーブル信号、及びスキャンデータ信号の波形の一例を示す図である。
【図４】２つのスキャンチェーンを有する装置の一例を示す図である。
【図５】被試験デバイスの一例に連結したテストシステムの一例を示す図である。
【図６】スキャンチェーンにおける縮退故障の一例を示す図である。
【図７】スタック・ロー故障を有するスキャンチェーンからシフトアウトしたスキャンパターンのデータログの一例を示す図である。
【図８】スキャンチェーンにおける縮退故障の位置を推定するための方法の第１例を示す図である。
【図９】スキャンチェーンにおける縮退故障の位置を推定するための方法の第２例を示す図である。
【図１０】図８又は図９に示す方法（又は他の方法）を実行するための装置の第１例を示す図である。
【図１１】図８又は図９に示す方法（又は他の方法）を実行するための装置の第２例を示す図である。
【図１２】図８又は図９に示す方法（又は他の方法）を実行するための装置の第３例を示す図である。
【図１３】図８又は図９に示す方法（又は他の方法）を実行するための装置の第４例を示す図である。
【図１４】図８又は図９に示す方法（又は他の方法）を実行するための装置の第５例を示す図である。
【図１５】図１０、図１１、図１２、図１３又は図１４に示す装置で使用し得るタイプのコンパレータの一例を示す図である。
【図１６】スキャンチェーンにおける不良をテストし、分離する方法の一例を示す図である。
【発明を実施するための形態】
【００１０】
本発明の例示的な実施形態を図面に示す。
【００１１】
以下の記載では、同様の要素／特徴については、異なる図面においても同じ参照番号を付して示す。したがって、複数の図面にわたって示す同様の要素／特徴については、個々の図面で詳細な説明は行わないものとする。
【００１２】
図７は、３０個のフリップフロップからなるスキャンチェーン（フリップフロップ１はスキャンチェーンのスキャンアウトピンに最も近いフリップフロップである）からシフトアウトしたスキャンパターンのデータログの一例を示しており、かかるスキャンチェーンはフリップフロップ１６への入力においてスタック・ロー故障を有している。図面からわかるように、１セットのスキャンパターンをスキャンチェーンに適用する際、「捕捉」事象により、フリップフロップが連結した組み合わせ論理から非決定的なデータ状態が捕捉されるであろう。フリップフロップ１５の後に無効なテストパターンデータがあるため、データは非決定的となる。フリップフロップ１から１５で捕捉された非決定的な「０」及び「１」のデータ状態が、データをシフトアウトする際に認められが、フリップフロップ１６から３０で捕捉した全てのデータは「０」データ状態として読み取られる。出力データストリーム中のどのサイクル位置で「１」と「０」の間でのデータの遷移が停止するか否かを認識することにより、不良が存在するスキャンチェーンの位置を推定することができる。
【００１３】
図８は、被試験デバイスのスキャンチェーンにおける縮退故障の位置を判定する方法８００の一例を示す。方法８００は、スキャンチェーンからシフトアウトしたスキャンパターンを、論理状態の存在に対して評価するステップ（ブロック８０２）を有する。スキャンパターンがスキャンチェーンからシフトアウトする際に、スキャンパターンをリアルタイムで評価する。スキャンパターンを評価している間、現在評価中のスキャンパターンの一部への参照値を維持する（ブロック８０４）。参照値が記憶値と所定の関係を有する場合に論理条件の存在を確認すると、参照値を用いて記憶値を上書きする（ブロック８０６）。記憶値を使用してスキャンチェーンにおける縮退故障の位置を推定する（ブロック８０８）。
【００１４】
スキャンチェーンを評価する論理状態としては、例えば、論理高レベル若しくは論理低レベル等の論理レベル、又は論理低から論理高への遷移、若しくは論理高から論理低への遷移等の論理遷移等がある。
【００１５】
方法８００はスキャンチェーンにおける縮退故障の位置を判定するために使用できるという点で或る面では有益であるものの、テストシステムのデータ捕捉メモリにおける１以上のスキャンパターンのビット（若しくはビット障害）の全てを記憶する必要がある。
【００１６】
方法８００についての上述の記載に示すように、方法８００により記憶した値は、スキャンチェーンにおける縮退故障の位置を「推定する」ために使用する。方法８００の目的は理想としては縮退故障の正確な位置を特定することであるが、方法８００では実際には位置を推定できるにすぎない。なぜなら「記憶値」は、非決定的論理レベルを有すると推測される１以上のビットが、「縮退」論理レベルを有すると推測される１以上のビットに接するスキャンパターン内の位置を示すものであるためである。しかし、非決定的論理レベルはまさにその本質上、１）縮退論理レベルを有するビットに接する、２）縮退論理レベルと同じ論理レベルを有する、１ビット以上のデータを含み得る。このため、複数の異なるスキャンパターンを１つのスキャンチェーンにシフトし、それらスキャンパターンの各々を適用し、複数の応答スキャンパターンをシフトアウトして、シフトアウトしたスキャンパターンの各々を論理状態に対して評価することにより、縮退位置を正確に推定する確率を増すことができる。これを図９に示す方法９００によって示す。
【００１７】
方法９００は方法８００に類似している。ただし、方法９００は「記憶値」を保持するメモリを初期化するステップを有する（ブロック９０２）。図面に示すように、複数のスキャンパターンのいずれかを論理状態について評価する前にメモリを初期化するのであって、これら複数のスキャンパターンを論理状態について評価する個々のステップの間に初期化するのではない。メモリを初期化した後、方法８００の評価、維持、特定、及び上書きステップ（即ちブロック８０２、８０４、８０６）を複数のスキャンパターンの各々に対して反復する（ブロック９０４）。評価、維持、特定、及び上書きステップを反復した後、記憶値を使用して、スキャンチェーンにおける縮退故障の位置を推定する（ブロック８０８）。
【００１８】
図１０は、方法８００又は方法９００を実行する第１例の装置１０００を示す。装置１０００は制御システム１００２、メモリ１００４、コンパレータ１００６、及び評価回路１００８を有する。制御システム１００２は、装置１０００が現在評価中のスキャンパターン１０１０の一部への参照値を取得、又は維持する構成である。メモリ１００４は、スキャンチェーン１０１２における縮退故障の推定位置を表す値を記憶する構成である。コンパレータ１００６は、参照値１０１６が値１０１８と所定の関係を有する場合に制御信号１０１４を発する構成である。評価回路１００８は、１）スキャンパターン１０１０がスキャンチェーン１０１２からシフトアウトされた際にスキャンパターン１０１０を受信し、２）スキャンパターン１０１０を論理状態の存在に対してリアルタイムで評価し、３）制御信号１０１４が発せられた際に論理状態の存在を確認すると、制御システム１００２が取得した、又は維持している参照値１０１６を用いて、メモリ１００４に記憶した値を上書きする構成である。
【００１９】
任意のマルチプレクサ１０２０によって示すように、装置１０００は、複数のスキャンチェーン１０１２、１０２２のそれぞれと関連することで、スキャンチェーン１０１２、１０２２の各々を縮退故障について評価することができる。代替的に、装置１０００はスキャンチェーン１０１２、１０２２の各々に対して反復処理を行うこともできる。
【００２０】
図１１は、装置１０００のより詳細な実行１１００を示しており、評価回路１００８は、論理高から論理低への論理の遷移、及び論理低から論理高への論理の遷移の両方の存在についてスキャンパターンを評価する構成である。なお以下の記載において、２つの構成要素が「連結した」と表記した箇所については、それら２つの構成要素が（例えば、ワイヤ若しくは信号トレースを介して、又は抵抗器若しくはダイオード等の受動素子を介して）直接連結するということ、又は（例えば、制御要素又は遅延要素を介して）間接的に連結するということを意味するものである。
【００２１】
図１１に示すように、制御システム１００２はカウンタ１１０２を含み得るが、制御システム１００２の維持する参照値１０１６はカウンタ１１０２の維持するカウントである。一部の実施形態では、制御システム１００２は、スキャンクロック１１０４に応答してカウンタ１１０２にそのカウントを増分させるが、このスキャンクロック１１０４は、スキャンパターン１０１０のビットをスキャンチェーン１０１２からシフトアウトするように使用される。ここでいう「増分」操作には、カウントパターンがアップカウント、ダウンカウント、又は所定の順不同なカウントであるにせよ、所定のカウントパターンで進行させる任意の操作が含まれるものとする。ただし便宜上、カウンタ１１０２の維持するカウントは、殆どの場合アップカウント又はダウンカウントとして実行するものとする。
【００２２】
装置１１００を使用して、単一のスキャンチェーン１０１２に対して複数のスキャンパターンを評価する（殆どの場合がそうである）場合に、複数のスキャンパターンの各々をスキャンチェーン１０１２からシフトアウトする前にカウンタ１１０２をリセットするよう、制御システム１００２を構成することができる。これは、テストシステムのテスト制御プロセッサ１１１８を用いて達成することができる（すなわち、制御プロセッサ１１１８は被試験デバイスのスキャンテストの調整を行うものであり、新たなスキャンパターンが被試験デバイス内外へシフトされていることを認識する）。
【００２３】
一例によれば、メモリ１００４は順次ロードレジスタ、パラレルロードレジスタ、大容量メモリにおけるアドレス可能な記憶箇所（単数又は複数）、又は縮退故障の位置を表す値を記憶する任意の他の手段の形態を取り得る。制御システム１００２は、評価回路１００８が複数のスキャンパターンを評価する前に、メモリ１００４を初期化する構成であり得る。ただし、複数のスキャンパターンを使用して単一のスキャンチェーンにおける縮退故障の位置を推定する場合には、複数のスキャンパターンを評価するステップの間にメモリ１００４を初期化すべきではない。
【００２４】
コンパレータ１００６は、（参照値１０１６を受け付けるために）制御システム１００２に連結した入力と、（値１０１８を受け付けるために）メモリ１００４に連結した入力を有する。コンパレータ１００６は参照値１０１６を値１０１８と比較し、参照値１０１６と値１０１８が所定の関係を有する場合に制御信号１０１４を発する。「所定の関係」の性質は種々の形を採ることができる。例えば、カウンタ１１０２が連続的な２進アップカウント（例えば、ｘｘｘｘｘｘ００、ｘｘｘｘｘｘ０１、ｘｘｘｘｘｘ１０、ｘｘｘｘｘｘ１１等）を維持する場合、コンパレータ１００６に制御信号１０１４を発信させる関係は、以下のようになり得る：
参照値１０１６＞値１０１８（式１）
ただし、カウンタ１１０２が連続的な２進ダウンカウントを維持する場合には、コンパレータ１００６に制御信号１０１４を発信させる関係は、以下のようになり得る：
参照値１０１６＜値１０１８（式２）
【００２５】
図１１に示す評価回路１００８は、フリップフロップ１１０６、論理ＸＯＲ（排他的ＯＲ）ゲート１１０８、及び論理ＡＮＤゲート１１１０を有する。フリップフロップ１１０６は、スキャンパターン１０１０の１ビット遅延したバージョン１１１２を受信して出力する構成であるが、場合によっては、フリップフロップ１１０６はスキャンクロック１１０４によりトリガされることもある。論理ＸＯＲゲート１１０８は、スキャンパターン１０１０を受信する構成の第１の入力と、スキャンパターン１０１０の１ビット遅延したバージョン１１１２を受信する構成の第２の入力と、ＸＯＲ出力１１１４とを備える。論理ＡＮＤゲート１１１０は、ＸＯＲ出力１１１４を受信する構成の第１の入力と、制御信号１０１４を受信する構成の第２の入力と、メモリ１００４のロード入力に連結した出力１１１６とを備える。図１１に示す評価回路１００８は、スキャンパターン１０１０の隣接するビットの論理レベルを比較する働きをし、変化（又は論理の遷移）があって制御信号１０１４が発せられると、評価回路１００８はメモリ１００４内の記憶値を参照値１０１６の現在値で上書きする。このようにして、スキャンチェーン１０１２における縮退故障の推定位置が更新される。
【００２６】
一部の実施形態では、装置１１００の制御システム１００２は、スキャンパターン（又はスキャンパターンのセット）の最終ビットをフリップフロップ１１０６が受信した後でフリップフロップ１１０６内に存在する値を読み取る構成としてもよい。スキャンチェーン１０１２からシフトアウトしたスキャンパターン１０１０の最終ビットの値を読み取ることにより、スキャンチェーン１０１２の縮退故障のタイプを判定することができる。すなわち、例えば縮退故障が「スタック・ハイ」不良であるか、又は「スタック・ロー」不良であるかを判定することができる。
【００２７】
図１１に示す装置１１００の代替の実施形態では、例えば１つ以上のバッファを含む遅延回路でフリップフロップ１１０６を置き換えることができる。ただしフリップフロップ１１０６は、スキャンパターン１０１０とスキャンパターン１０１０の１ビット遅延したバージョン１１１２とを上手く整合させることができる。
【００２８】
図１２は、装置１０００の第２の実行例１２００を示し、評価回路１００８は特定の論理レベルの存在に関してスキャンパターンを評価する構成である。装置１２００は、評価回路１００８の構成を除けば装置１１００（図１１）に類似した構成である。図１２において、評価回路１００８は単に論理ＡＮＤゲート１１１０を有する。論理ＡＮＤゲート１１１０は、スキャンパターン１０１０を受信する構成の第１の入力と、制御信号１０１４を受信する構成の第２の入力と、メモリ１００４のロード入力に連結した出力１１１６とを備える。図１２に示す評価回路１００８は、スキャンパターン１０１０中の論理高レベルの存在を確認する働きをし、論理高レベルを確認して制御信号１０１４が発せられると、評価回路１００８はメモリ１００４内の記憶値を参照値１０１６の現在値で上書きする。このようにして、スキャンチェーン１０１２における「スタック・ロー」不良の推定位置が更新される。スキャンチェーン１０１２の出力と論理ＡＮＤゲート１１１０との間にインバータを挿入すれば、装置１２００を使用して、スキャンチェーン１０１２における「スタック・ハイ」不良の位置を推定することができる。代替的に、図１３に示すように、インバータ１３０２とマルチプレクサ１３０４の両方を有するように、図１２に示す装置１２００の評価回路１００８を修正することができる。マルチプレクサ１３０４の選択入力を制御するように制御システム１００２を構成すれば、装置１３００（図１３）を使用してスタック・ロー故障、又はスタック・ハイ故障の位置を推定することができる。
【００２９】
図１４は、方法８００（図８）又は方法９００（図９）を実行する、また別の方法を示す。装置１４００は、装置１４００がスタック・ロー故障とスタック・ハイ故障の位置を推定できるという点で図１３に示す装置１３００に類似している。しかし装置１４００は、マルチプレクサ１３０２の代わりに、メモリ１００４、コンパレータ１００６、及び論理ＡＮＤゲート１１１０を複製して、第２メモリ１４０２、第２コンパレータ１４０４、及び第２ＡＮＤゲート１４０６を備えている。論理ＡＮＤゲート１１１０の入力にはスキャンパターン１０１０を供給し、論理ＡＮＤゲート１４０６には（インバータ１３０２により）反転したスキャンパターン１４０８を供給する。論理高レベル及び論理低レベルの１つ以上のスキャンパターンを評価した後、メモリ１００４及びメモリ１４０２を読み取って、スキャンチェーンからの最後の論理低レベルの位置と最後の論理高レベルの位置を判定することができる。スキャンチェーンに縮退故障がある場合には、スキャンチェーンの出力に最も近い位置が縮退故障の推定位置を示す。
【００３０】
図１１から図１４に示す装置１１００、１２００、１３００、１４００において、制御システム１００２は参照値を維持するカウンタ１１０２を使用し、スキャンパターンの一部はこの参照値に対して評価される。しかし、一例として、テストシステムのテスト制御プロセッサからシフトアウトされたスキャンパターンの現在のビット位置を読み取る、又は取得することによって「参照値」を取得するように、制御システム１００２を構成してもよい。なお、制御システム１００２の取得、又は維持する参照値は、場合によっては、１）評価回路１００８によって評価されている現在のビット位置、２）評価回路１００８によって評価されている遷移の境界となるビット位置、又は３）評価されているビット位置又は遷移との既知の関係を有するカウントであり得る。
【００３１】
図１５は、図１０から図１４に示すコンパレータ１００６又は１４０４の実施形態１５００の一例を示す。コンパレータ１５００は、入力Ａ（ビットＡ３、Ａ２、Ａ１、及びＡ０を含む）と入力Ｂ（ビットＢ３、Ｂ２、Ｂ１、及びＢ０を含む）を共に受信し、Ａ＞Ｂであるかどうかを示す出力を生成する複数の論理ゲートを含む。代替的に、２つの値を比較できる幅広い範囲の装置及び構造のいずれかを用いて、コンパレータ１００６又は１４０４を実行してもよい。
【００３２】
図１６はスキャンチェーンにおける不良をテストして分離する方法１６００を示す。明らかであろうが、方法１６００の実行中に方法８００又は方法９００を開始してもよい。方法１６００は、「チェーン完全性」テストの実行で開始する（ブロック１６０２）。チェーン完全性テストは、ＤＵＴの組み合わせ論理にスキャンパターンを適用することなく、スキャンパターン（例えば“１１００１１００．．．”）をスキャンチェーンの内外へシフトすることを含み得る。スキャンパターンをシフトインした後にｎ個のサイクルでスキャンチェーンからシフトアウトされれば、チェーン完全性テストには「合格」したとみなす（ブロック１６０４）。そうでなければ、チェーン完全性テストには「不合格」とする。チェーン完全性テストで合格となれば、標準的なＤＦＴスキャンパターンを使用してＤＵＴをテストし（ブロック１６０６）、ＤＵＴがスキャンテストに合格、又は不合格であるかに関する判定がなされる。
【００３３】
チェーン完全性テストで不合格となると、チェーン完全性テスト中にスキャンチェーンからシフトアウトしたスキャンパターンが、全て論理低レベルであるか、全て論理高レベルであるか、又は論理低レベルと論理高レベルが混在しているかに関する判定がなされる。後者である場合には、スキャンチェーンは縮退障害を有さないと判定される（ブロック１６１０）。シフトアウトしたスキャンパターンがすべて論理低レベルからなる場合には、方法８００又は方法９００（図８又は図９）を実行して、スタック・ロー故障の位置の推定を行う（ブロック１６１２）。シフトアウトしたスキャンパターンがすべて論理高レベルからなる場合には、方法８００又は方法９００を実行して、スタック・ハイ故障の位置の推定を行う（ブロック１６１４）。
【符号の説明】
【００３４】
１００２  制御システム
１００４  メモリ
１００６  コンパレータ
１００８  評価回路
１０１０  スキャンパターン
１０１２、１０２２  スキャンチェーン
１０１４  制御信号
１０１６  参照値
【図１】
2010520452.tif 000003
【図２】
2010520452.tif 000004
【図３】
2010520452.tif 000005
【図４】
2010520452.tif 000006
【図５】
2010520452.tif 000007
【図６】
2010520452.tif 000008
【図７】
2010520452.tif 000009
【図８】
2010520452.tif 000010
【図９】
2010520452.tif 000011
【図１０】
2010520452.tif 000012
【図１１】
2010520452.tif 000013
【図１２】
2010520452.tif 000014
【図１３】
2010520452.tif 000015
【図１４】
2010520452.tif 000016
【図１５】
2010520452.tif 000017
【図１６】
2010520452.tif 000018
【国際調査報告】
2010520452.tif 000019