(57)【特許請求の範囲】
【請求項１】
集積回路（１０）であって、
テストに応じて第１のテスト・シグネチャを提供する第１の回路（１２〜１４）と；
テストに応じて第２のテスト・シグネチャを提供する第２の回路（１６〜１８）と；
テストに応じて第３のテスト・シグネチャを提供する第３の回路（２０〜２２）と；
前記第１、第２および第３のテスト・シグネチャが有するそれぞれのビットを比較し、多数決を用いることによって、最も正しいテスト・シグネチャのそれぞれのビットが有する正しいビットとしてどのようなバイナリ値が認識されるかを判別するボーティング回路と；
前記第１、第２および第３の各テスト・シグネチャを前記最も正しいテスト・シグネチャと比較することによって、前記第１、第２および第３の各回路（１２〜１４，１６〜１８，２０〜２２）に対する良好／不良情報を判別する比較器（２４）と
を備え、
前記集積回路（１０）は更に、前記第１、第２および第３の回路（１２〜１４，１６〜１８，２０〜２２）のすべてが良好であることを示すフラグ（６６）を備える、集積回路。
【請求項２】
前記集積回路（１０）は更に、前記良好／不良情報を格納する不揮発性記憶回路（２６）を備える、
請求項１記載の集積回路。
【請求項３】
前記集積回路（１０）は更に、前記第１、第２および第３のテスト・シグネチャを格納するテスト・シグネチャ記憶回路（６０）を備える、
請求項１記載の集積回路。
【請求項４】
前記集積回路（１０）は更に、前記テスト中に、前記第１、第２および第３の回路（１２〜１４，１６〜１８，２０〜２２）に入力テスト・パターンを提供するためのテスト回路（３０）を備える、
請求項１記載の集積回路。
【請求項５】
集積回路（１０）を提供する方法であって、前記方法は、
前記集積回路（１０）上の第１の回路（１２〜１４）が、テストに応じて第１のテスト・シグネチャを提供するステップと；
前記集積回路（１０）上の第２の回路（１６〜１８）が、テストに応じて第２のテスト・シグネチャを提供するステップと；
前記集積回路（１０）上の第３の回路（２０〜２２）が、テストに応じて第３のテスト・シグネチャを提供するステップと、
ボーティング回路が、前記第１、第２および第３のテスト・シグネチャが有するそれぞれのビットを比較し、多数決を用いることによって、最も正しいテスト・シグネチャのそれぞれのビットが有する正しいビットとしてどのようなバイナリ値が認識されるかを判別するステップと、
比較器（２４）が、前記第１、第２および第３の各テスト・シグネチャを前記最も正しいテスト・シグネチャと比較することによって、前記第１、第２および第３の各回路（１２〜１４，１６〜１８，２０〜２２）に対する良好／不良情報を判別するステップと
を有し、
前記集積回路（１０）は、前記第１、第２および第３の回路（１２〜１４，１６〜１８，２０〜２２）のすべてが良好であることを示すフラグ（６６）を備え、
前記第１、第２および第３の各テスト・シグネチャの全てが前記最も正しいテスト・シグネチャと一致すると判別された場合に、前記フラグがアサートされる、方法。
【請求項６】
前記良好／不良情報は、前記集積回路（１０）上の不揮発性記憶回路（２６）に格納される、
請求項５記載の方法。
【請求項７】
前記方法は更に、前記集積回路（１０）が備えるテスト・シグネチャ記憶回路（６０）が、前記第１、第２および第３のテスト・シグネチャを格納するステップを有する、
請求項５記載の方法。
【請求項８】
前記方法は更に、前記集積回路（１０）が備えるテスト回路（３０）が、テスト中に、前記第１、第２および第３の回路（１２〜１４，１６〜１８，２０〜２２）に入力テスト・パターンを提供するステップを有する、
請求項５記載の方法。
【請求項９】
前記方法は更に、複数の前記集積回路（１０）を対象にして不良回路の分布を判別するステップを有する、
請求項５記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体に関し、特に、半導体のテストおよび販売に関する。
【背景技術】
【０００２】
集積回路が進化し、著しく多くの回路を組み込むようになったので、１つの半導体ウェーハ上に大きな割合を占める完全に機能する集積回路を高い信頼性で製造するのが非常に困難になっている。従って、ウェーハ上に存在する良好なダイの歩留まりは、多くの場合、複雑な集積回路の場合には低く、歩留まりが低いためにメーカの収入は大幅に低減する。
【０００３】
結果としての歩留まりを改善するために、メーカらは集積回路上に冗長な回路を組み込んできた。冗長な回路は、識別した欠陥のある回路を置き換えるために、集積回路のテストを行った後で選択的に使用される。しかし、集積回路には多数の回路が組み込まれているので、不良回路を置き換えることを保証するために必要な冗長度は、多くの場合、非常にコストが高く、サイズも大きいので実際には使用することができない。それ故、複雑な集積回路の歩留まりは、多くの場合、所望する歩留まりより遥かに低い。
【０００４】
集積回路の機能が進歩し、ますます複雑になるにつれて、１つの集積回路上に複数のデータ・プロセッサが組み込まれるようになった。このような集積回路をテストする場合、集積回路内の各データ・プロセッサは、通常、指定の順序でシリアルにテストされる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
周知のテスト方法の欠点としては、複雑な集積回路をテストするには時間がかかること、および集積回路の機能を判定する電子テスタに関連するコストが高いこと等がある。複雑な集積回路の診断テストを行うためのテスト装置の価格は、通常、１００万米ドル以上であり、それ故、集積回路メーカは多額の投資を行わなければならない。テスト時間を短縮するために、メーカによっては、複数のプロセッサを並列にテストしてきた。このようなテスト方法の場合には、複数のプロセッサの出力間の比較は、すべてのプロセッサが、同じ結果または異なる結果を提供しているか否かを表示するために行われる。異なる結果が表示された場合には、回路の不良がテスト装置によりチェックされる。
【課題を解決するための手段】
【０００６】
以下に本発明について説明するが、これは単に例示としてのものであって、本発明は類似の参照符号が類似の要素を示す添付の図面により制限されない。図面の要素は簡単にし、分かりやすく表示してあるが、縮尺は必ずしも正確なものではない。
【０００７】
図１は、モジュール１２のような複数の回路モジュールを有する集積回路１０を示す。図１の集積回路１０は、実施することができる多数の回路アーキテクチャのうちの１つに過ぎないことを理解されたい。分かりやすくするために、集積回路１０のテスト機能に関係のない集積回路１０内の種々の回路については詳細に説明しない。集積回路１０は、モジュール１２、１３、１４、１６、１７、１８、２０、２１および２２のような複数のモジュールを有する。この図では、モジュールは、複数の行および列の形に配置されているが、このように均一に配置する必要はないことを理解されたい。また、モジュールの各列および行の３つのドットで示すように、追加のモジュールも使用することができる。例えば、一態様の場合、モジュールは６４個になっているが、任意の数のモジュールを使用することができることを理解されたい。モジュールのうちのいくつかには、複数の追加のモジュールまたはサブモジュールが存在している。例えば、モジュール１２は、サブモジュール３２およびサブモジュール３３を有する。モジュール１３は、サブモジュール３６およびサブモジュール３７を有する。モジュール１４は、サブモジュール３８およびサブモジュール３９を有する。モジュール２０は、サブモジュール４１およびサブモジュール４２を有する。モジュール２１は、サブモジュール４４およびサブモジュール４５を有する。モジュール２２は、サブモジュール４７およびサブモジュール４８を有する。各モジュール１２〜１４は、テスト出力バス５０に接続している出力を有する。各モジュール１６〜１８は、テスト出力バス５１に接続している出力を有する。各モジュール２０〜２２は、テスト出力バス５２と接続している出力を有する。他の態様においては、３つの別々のバスの代わりに１つの共通のテスト出力バスを使用することができることを理解されたい。各モジュール１２〜１４、１６〜１８、および２０〜２２は、テスト入力バス５３に接続している入力を有する。比較器／ボータ回路２４は、それぞれ、テスト出力バス５０、テスト出力バス５１およびテスト出力バス５２に接続している第１、第２および第３の入力を有する。比較器／ボータ回路２４の第１の出力は、比較器／ボータ回路２４が行った比較およびボーティング機能の結果に関する結果情報を提供するために、複数の導体バスを介して、外部デバイス２８の入力に接続している。比較器／ボータ回路２４の第２の出力は、不揮発性記憶装置２６の入力に接続している。外部デバイス２８は、テストおよびＢＩＳＴ（組み込み自己テスト）コントローラ・ローダ３０の入力に、複数の導体バステスト・パターンを介して提供するための出力を有する。テストおよびＢＩＳＴコントローラ・ローダ３０は、テスト入力バス５３に接続している出力を有する。
【０００８】
動作中、集積回路１０は、複数のモジュールを有する。一態様においては、モジュールは同じ機能を実施する。例えば、各モジュールは、同一の命令セットを実行することができるデータ・プロセッサまたはコアであってもよい。他の態様においては、各モジュールは、メモリ、コンバータまたは状態機械のような他のタイプの回路であってもよい。さらに他の態様においては、モジュールの一部だけが同一のものである。例えば、第１の列のモジュール１２〜１４は、浮動小数点処理装置であってもよいし、一方、第２の列のモジュール１６〜１８は、固定小数点処理装置であってもよい。さらに、集積回路１０内の各または大部分のモジュールは、異なるタイプの回路であってもよい。１つ以上のモジュール内には、複数の同一のまたは実質的に同一のサブモジュールが位置する。サブモジュールは、集積回路１０内の同じ機能モジュールのテストを記述している下記の説明と同じ方法で１つのモジュール内で機能をチェックまたはテストすることができることを理解されたい。それ故、本明細書において「モジュール」および「サブモジュール」という用語を使用した場合には、これらの用語は、それぞれもっと一般的な用語である「回路」と見なすことができる。
【０００９】
説明のために、モジュール１２〜１４、１６〜１８および２０〜２２は、同じ機能を実施し、それ故、同じ入力が提供された場合には、同じ結果を生ずるものと仮定する。外部デバイス２８は、テスト・パターンを受信し、格納するテストおよびＢＩＳＴコントローラ・ローダ３０に特定のテスト・パターンを提供する。テスト・パターンは、制御回路（図示せず）の制御下で、テスト・パターン上のすべてのモジュールにより所定のテスト機能を実行するための各モジュールに経路指示される。テスト・パターンの一例として、各モジュール内で２つのオペランドを乗算するためのコマンドの他に、テスト・パターン内に２つのオペランドを提供することができる。各モジュールは、テスト・パターンに含まれている１つ以上のテスト動作を実行し、テスト出力バス５０〜５２を介して比較器／ボータ回路２４に伝達される「実際のテスト・シグネチャ」と呼ばれる結果を生成する。比較器／ボータ回路２４は、モジュールからの各出力を検査し、ビット毎にどんなバイナリ値が得られたのかを判別する。この判別は、ビット毎に各モジュールをポーリングし、各モジュールが、正しいテスト・シグネチャ・ビットの「ボーティングを行う（ｖｏｔｅ）」ことができるようにすることにより行われる。簡単な多数決で決まるか、またはテスト・シグネチャのすべてのビットの正しいビット値としてどんなバイナリ値が認識されるのかを判別する。分割ボーティングが行われた場合には、デフォルト・ビット値が一貫して使用される。分割ボーティングが行われた場合には、モジュールの半分が逸脱している値を生成していることを示し、またこのことは、集積回路にとって大きすぎる少なくとも５０％の誤差マージンが商業的に実行可能であることを示している。従って、デフォルト・ビットの値は重要ではない。比較器／ボータ回路２４が、ボーティング機能から正しいテスト・シグネチャを生成し、そのシグネチャをモジュールが生成した各シグネチャと比較した場合には、テストの結果が、不揮発性記憶装置２６に格納される。テスト結果は、各モジュールに対してモジュールが良好であるか不良であるのかを示す良好／不良情報を提供する。不揮発性記憶装置２６は、任意のタイプのＮＶＭデバイスであってもよい。好適には、不揮発性記憶装置２６は、集積回路のユーザによる以降の使用のために、または集積回路１０の外部からの以降のチェックのためにテスト結果が同じまま変化しないような不揮発性のものであることが好ましい。例えば、各モジュールの良好／不良情報は、任意の不良と表示されているモジュールが、命令フローの中でアクセスされるのが防止される命令フローのスレッド割当てのために後で使用することができる。ここで再度、本明細書に記載する詳細を同様に適用することができる集積回路の１つのモジュールの複数のサブモジュールにもこのテストを適用することができることを述べておきたい。
【００１０】
一態様においては、外部デバイス２８は、比較器／ボータ回路２４からの結果に関する統計を保存しているパーソナル・コンピュータの形をしているテスタであることに留意されたい。集積回路１０のテストに関連する利点は、従来のパーソナル・コンピュータにより、集積回路１０のテストを実施するのに必要な分析およびデータ処理を容易に行うことができることである。従って、集積回路１０の全機能を判別するために、複雑で高価なテスタを使用しないですむ。また、テストおよびＢＩＳＴコントローラ・ローダ３０のＢＩＳＴ部分は、別々に、テスト入力バス５３に結合されるテスト・パターンを生成することができることを理解されたい。一態様においては、テストおよびＢＩＳＴコントローラ・ローダ３０のＢＩＳＴ部分は、集積回路の電源がオンになると稼働する。
【００１１】
外部デバイス２８が結果を受信すると、この外部デバイスは、集積回路１０内のどれだけ多くのモジュール（またはサブモジュール）が良好で、どれだけ多くのモジュール（またはサブモジュール）が不良であるのかを容易に判別することができる。どれだけ多くのものが良好であるかに従って、集積回路１０を、複数のモジュールの何パーセントが良好であるかに基づいて、販売のための製品カテゴリ内に入れることができる。集積回路１０は、かなりの数の繰り返しモジュールを有しているので、いくつかの不良（すなわち正しく動作しない）モジュールがあっても、製品は依然として商業的価値を有する。例えば、多数のプロセッサが提供される場合には、すべてのプロセッサが正しく動作するわけではない場合でも、製品の使用が役に立つ多数の用途がある。使用することができない正しく動作しない１つまたは複数のプロセッサが識別できる限り、全部の機能は機能しない集積回路を使用することができる多くの用途がある。
【図面の簡単な説明】
【００１２】
【図１】本発明の一態様による複数のモジュールを有する集積回路のブロック図。
【図２】図１の集積回路内の比較およびボーティング回路のブロック図。
【図３】図１の集積回路をテストするための方法のフローチャート。
【図４】テストを行った後で図１の集積回路を提供するための方法のフローチャート。
【図５】製品の歩留まりと図１の集積回路の検出した欠陥との関係のグラフ。
【発明を実施するための形態】
【００１３】
図２は、図１の比較器／ボータ回路２４の一態様のブロック図を示す。記憶装置６０は、並列にテストが行われている各モジュールから実際のテスト・シグネチャを受信するためのものである。各テスト・シグネチャは、外部デバイス２８が提供したパターンを使用する所定の機能動作の出力結果を示す。記憶装置６０は、格納している実際のテスト・シグネチャを各モジュールと容易に相関付けるような構造になっている。この場合も、複数のモジュールからのテスト・シグネチャを受信し、格納するのではなく、１つのモジュールのサブモジュールからのテスト・シグネチャを受信し、格納することができることを理解されたい。記憶装置６０は、結果タビュレータ６２の各入力に接続している複数の出力を有する。結果タビュレータ６２は、正しいテスト・シグネチャ記憶装置６４の入力および「すべて良好なフラグ」記憶装置６６の入力の両方に接続している出力を有する。正しいテスト・シグネチャ記憶装置６４の出力は、比較器６８の第１の制御入力に接続している。「すべて良好なフラグ」記憶装置６６の出力は、比較器６８の第２の制御入力に接続している。比較器６８は、それぞれが記憶装置６０の所定の出力に接続している複数の入力を有する。比較器６８は、外部デバイス２８に接続している「結果」を提供するための第１の出力、および同様に集積回路１０内の記憶装置に対して「結果」を提供するための上記不揮発性記憶装置２６と接続している第２の出力を有する。比較器６８の第１の出力および第２の出力が提供する「結果」情報は異なるフォーマットのものでもよく、依然として、良好情報を提供したモジュール（サブモジュール）、および不良情報を提供したモジュール（サブモジュール）に関する同じ情報を含むことを理解されたい。
【００１４】
動作中、結果タビュレータ６２は、論理回路により実施され、テスト中のすべてのモジュール（またはサブモジュール）が生成した実際のテスト・シグネチャの各ビットに対していずれの論理値（１または０）が一番多いのかを判別する。従って、結果タビュレータ６２は、実際のテスト・シグネチャの各位置のところにどれだけ多くの論理１およびどれだけ多くの論理０が存在するのかをカウントし、または表に作成する働きをする。正しいテスト・シグネチャを形成するためにいずれのビット値を使用したらよいのかを判別するために、通常、簡単な多数決が使用される。従って、正しいテスト・シグネチャは、実際の各テスト・シグネチャと比較するために比較器６８が後で使用する「ゴールデン・マスタ」シグネチャとして機能する。比較器６８の出力は、実際のテスト・シグネチャのいずれが、生成した正しいテスト・シグネチャと異なっているのかを示す。結果タビュレータ６２が、実際のテスト・シグネチャのすべての各ビット値が一致すると判別した場合には、「すべて良好なフラグ」記憶装置６６内にそのように表示するようにビット値またはフラグが設定される。「すべて良好なフラグ」がアサートされた場合には、比較器６８は、実際のテスト・シグネチャを正しいテスト・シグネチャと比較することができなくなり、「結果」内にすべてのテスト・シグネチャは良好情報であることを直接表示する。このバイパス動作により、テスト動作がスピードアップし、そうでない場合、比較器６８により消費される電力が低減する。それ故、比較器／ボータ回路２４は、入力テスト・データからの結果を効率的に使用し、テスト中の各モジュールまたはサブモジュールから出力を個々に比較するために使用される正しいテスト・シグネチャを生成する。
【００１５】
図３は、図１の集積回路１０を提供するための方法のフローチャートを示す。ステップ７０において、この方法は、開始コマンドにより開始される。ステップ７２において、１つ以上の所定のテスト・パターンが、テストおよびＢＩＳＴコントローラ・ローダ３０内にロードされる。ステップ７４において、実際のテスト・シグネチャを提供するために、モジュールまたはサブモジュールにテスト・パターンを実行させることにより、１つ以上のテスト・パターンが稼働される。ステップ７６において、１つ以上のテスト・パターンを稼働することにより生成された実際のテスト・シグネチャが、記憶装置６０内に格納される。ステップ７８において、実際のテスト・シグネチャのビットが、すべて対応するか否かを判定するために比較が行われる。テスト結果のすべてのビットが同じでない場合には、すでに説明したように、ボーティングを行うことにより、ステップ７９において、正しいテスト・シグネチャが判別される。ステップ８０において、実際のテスト・シグネチャとステップ７９において判別した正しいテスト・シグネチャとの比較が行われる。ステップ８０が終了すると、正しいシグネチャと異なるモジュールまたはサブモジュールの任意の結果がステップ８２においてテストに不合格であったものとして識別される。テスト結果のすべてのビットが同じである場合には、ステップ８４において、「すべて良好なフラグ」記憶装置６６の「すべて良好なフラグ」が設定され、ステップ８０がバイパスされる。この状況の場合、ステップ８２において、すべてのモジュール／サブモジュールに「良好情報」インジケータが提供されるが、いずれのモジュール／サブモジュールもテストに不合格であったものとして識別しない。ステップ８２の後で、任意の欠陥のあるモジュールまたはサブモジュールの識別が、ステップ８６において、集積回路１０上の不揮発性記憶装置２６に格納される。ステップ８６の後で、任意の欠陥のある（すなわち不良）モジュールまたはサブモジュールの識別が、ステップ８８において、集積回路１０の外部に提供され、ステップ８９においてこの方法は終了する。
【００１６】
図４は、上記テストを使用するための方法を示す。この方法はステップ９０から開始する。ステップ９２において、良好モジュール／サブモジュール情報および不良モジュール／サブモジュール情報が、テスト済みの各モジュールまたはサブモジュールに対して格納される。次のステップ９４において、良好なモジュールの分布が、複数の集積回路に対する累積歩留まりを判別するために複数の集積回路の特徴になる。すなわち、欠陥のあるモジュールまたはサブモジュールを含まない良好なモジュールの数が判別される。次に、１つの欠陥のあるモジュール、２つの欠陥のあるモジュール等を含む良好なモジュールの数が判別される。ステップ９６において、複数の集積回路が、集積回路内の良好なモジュールおよび不良モジュールの開示の分布に基づいて販売される。例えば、６４のモジュールが３つの欠陥のあるモジュールを含んでいる場合には、ある用途において特定の集積回路が使用できるか否かについての判別が行われる。このような用途に対して、集積回路は欠陥のあるモジュールの数の全面的な開示と共に販売され、集積回路は、その内部にいずれのモジュールが欠陥であるのかの識別を格納する。販売される集積回路内の不良回路の分布が、その設計に集積回路を適用する際に使用できるように顧客に提供される。集積回路の販売は、金銭の取引、現物の製品の取引、集積回路についての技術の移転およびノウハウの譲渡、および他の形の補償を含むことを理解されたい。その結果、集積回路のユーザは、不良モジュールにより生じる誤差を回避することにより、集積回路をプログラムし、使用することができる。集積回路を含む商取引が終了すると、この方法はステップ９８において終了する。
【００１７】
図５は、使用可能と判別された欠陥のあるモジュールの数が増大するにつれて、集積回路の累積歩留まりがどのように増大するのかを示すグラフを示す。従来、１つの欠陥のあるモジュールは売り物にはならなかった。しかし、本明細書に記載する方法を使用することにより、欠陥のあるモジュールがユーザにとって使用しないほうがよいと識別された場合でも、その製品は役に立ち、欠陥のあるモジュールを含まない製品だけを使用する場合と比較すると歩留まりが増大する。同様に、モジュールの数が十分多い場合には、使用可能と判別することができる欠陥のあるモジュールの数が増大する。これらの製品を商業的に使用することにより、歩留まりが増大し、利益が増大する。ある時点で、許容できる欠陥のあるモジュールの数は最大になり、歩留まりは頭打ちになる。累積歩留まりの実際の値は、実施するモジュールまたはサブモジュールの全数に依存する。
【００１８】
ここまでは、集積回路のテスト機能および歩留まりを有意に改善するテスト方法および構造についての説明であることを理解されたい。実質的に同じ機能を行う集積回路上の複数のモジュールまたはサブモジュールは、１つ以上のテスト・パターンにより並列にテストされる。すべての不一致を発見するために、各モジュールまたはサブモジュールからの結果がテストされ、各ビット位置に対する大多数のデジタル値を表すビットにより有効なシグネチャ結果が生成される。各モジュールの実際のシグネチャを有効なシグネチャ結果と比較することにより、すべての不合格モジュールまたはサブモジュールが識別される。不合格モジュールまたはサブモジュールの識別は、いずれのモジュールおよびサブモジュールが機能しないのかについての顧客に対する開示と一緒に販売される集積回路上に格納される。集積回路の生産の歩留まりはそれにより改善される。本明細書に記載する方法を使用すれば、複数のコア・プロセッサおよび複数の回路モジュールを有する他の集積回路に関連するテスト・コストが低減する。不合格モジュールの識別は、不合格となったコアのアドレスを表示することにより行われる。不合格モジュールのアドレスは、不揮発性記憶装置２６のような不揮発性メモリを使用するのではなく、いずれのモジュールが不良であるのかを表示するヒューズを飛ばすために使用することができる。別の方法としては、不合格アドレスを、不合格となったモジュールのアドレスを表示するエントリをレジスタに書き込むか、またはメモリに書き込むために使用することができる。
【００１９】
特定の導電性タイプまたは電位の極性を参照しながら本発明を説明してきたが、当業者であれば導電性タイプおよび電位の極性を逆にすることができることを理解することができるだろう。さらに、上記説明および特許請求の範囲内に「前部」、「後部」、「頂部」、「底部」、「上」、「下」等の用語がもし使用してある場合には、これらの用語は説明のためだけのものであって、必ずしも、恒久的な相対位置を示すものではない。このような用語は、適当な状況の下では互換性を有し、従って本明細書に記載する本発明の実施形態は、例えば図示の方向または本明細書に記載する方向以外の方向でも動作することができることを理解されたい。
【００２０】
特定の実施形態を参照しながら本発明を説明してきたが、添付の特許請求の範囲に記載する本発明の範囲から逸脱することなしに、本発明を種々に修正および変更することができる。例えば、モジュールおよびサブモジュールが表す回路のタイプは、プロセッサ・コア、標準ロジック、状態機械、メモリおよび多数の他の電子回路であってもよい。モジュールおよびサブモジュールの全数は、非常に多くてもよく、任意の特定の数に限定されない。本明細書に記載する例以外の障害モジュールを識別するために種々の修正を行うことができる。例えば、ディスプレイまたは他の光インジケータを使用することができる。使用することができるテスト・パターンは、任意の特定のタイプのテスト方法に限定されない。本明細書に記載するすべての回路は、シリコンまたは他の半導体材料で実施することができるし、別の方法としては、シリコンまたは他の半導体材料のソフトウェア・コード表示により実施することもできることを理解されたい。従って、本明細書および図面は例示としてのものであると見なすべきで、本発明を制限するものと見なすべきでなく、このようなすべての修正は本発明の範囲内に含まれる。特定の実施形態を参照しながら本明細書に記載する利益、利点または問題の解決方法は、任意またはすべての請求項の重要な、必要な、または本質的な特徴または要素であると解釈すべきではない。
【００２１】
一態様においては、第１の良好／不良情報が集積回路上の第１の回路に提供される方法を提供する。第２の良好／不良情報は、集積回路上の第２の回路に提供される。第３の良好／不良情報は、集積回路上の第３の回路に提供される。第１、第２および第３の回路は、それぞれ、良好な場合には、同じテスト入力に応じて同じテスト結果を出力する。第１、第２または第３の良好／不良情報のうちの少なくとも１つが、第１、第２または第３の回路のうちの少なくとも１つが依然として不良のままであり、修理されていないことを示す場合、集積回路は販売される。他の態様においては、第１の良好／不良情報は、集積回路上の不揮発性記憶回路に格納される。他の態様においては、集積回路の価格は、集積回路上の多数の良好な回路の関数である。さらに他の態様においては、第１、第２および第３の回路のすべてが良好である場合には、集積回路は第１の価格になる。第１、第２および第３の回路のうちの少なくとも１つが依然として不良のままである場合には、集積回路は第２の価格となる。この場合、第１の価格は第２の価格より高い。他の態様においては、第１の良好／不良情報は、集積回路の動作中、第１の回路を使用すべきではないか否かを判別するために、第１の回路に対して使用される。他の態様においては、不良回路の分布は、複数の集積回路を対象にして判別される。さらに他の態様においては、不良回路の分布は、集積回路の購入者に提供される。一態様においては、ボーティング動作は、各回路が良好であるか不良であるのかを判別するために、少なくとも１回のテストの結果に対して行われる。
【００２２】
他の態様においては、本発明の方法は、集積回路上の複数の回路のテストを含む。テスト出力は、複数の各回路から提供される。テスト出力のいずれかが異なっている場合には、複数の回路のうちのいずれが不良であるのかを判別するためにボーティング動作が行われる。一態様においては、ボーティングは、いずれのテスト出力が最も正しいテスト出力であるかを判別するステップを含む。最も正しいテスト出力を有する複数の各回路は、良好であると見なされる。他の態様においては、複数の回路の良好／不良情報は、集積回路上の不揮発性記憶回路に格納される。他の態様においては、不揮発性記憶回路はヒューズである。他の態様においては、不揮発性記憶回路は、複数のヒューズを含み、複数の各ヒューズは、複数の回路のうちの１つに対応する。
【００２３】
他の態様においては、集積回路は、テストに応じて第１のテスト・シグネチャを提供する第１の回路を含む。第２の回路は、テストに応じて第２のテスト・シグネチャを提供する。第３の回路は、テストに応じて第３のテスト・シグネチャを提供する。ボーティング回路は、第１、第２および第３のテスト・シグネチャを比較し、最も正しいテスト・シグネチャを判別する。比較器は、第１、第２および第３の各回路に対する良好／不良情報を判別するために、第１、第２および第３の各テスト・シグネチャを最も正しいテスト・シグネチャと比較する。他の態様においては、不揮発性記憶回路は、第１、第２および第３の各回路に対する良好／不良情報を格納する。さらに他の態様においては、第１、第２および第３の回路すべてが良好であることを表示するためにフラグを使用している。さらに他の態様においては、記憶回路は第１、第２、および第３のテスト・シグネチャを格納する。他の態様においては、テスト回路は、テスト中、第１、第２および第３の回路に入力テスト・パターンを提供する。他の態様においては、第１、第２および第３の回路は、同じタイプのデータ・プロセッサである。一態様においては、第１の回路は、第１のサブモジュールであり、第２の回路は、第２のサブモジュールであり、第３の回路は、第３のサブモジュールである。
【００２４】
本明細書で使用する場合、ある（「ａ」または「ａｎ」）という用語は、１つまたは２つ以上を意味する。同様に、特許請求の範囲の「少なくとも１つ」および「１つ以上」のような導入句を使用している場合、不定冠詞「ａ」または「ａｎ」による他の請求項の要素の導入部分が、同じ請求項が「１つ以上」または「少なくとも１つ」という導入句、およびある（「ａ」または「ａｎ」）のような不定冠詞を含んでいる場合でも、このように導入された請求項要素を含む任意の特定の請求項を、１つだけこのような要素を含む発明に限定するものと解釈すべきではない。定冠詞を使用している場合にも同じことが言える。
【００２５】
他に別段の指定がない限り、「第１」および「第２」のような用語は、このような用語が記述する要素間を任意に区別するためのものである。それ故、これらの用語は、必ずしも、このような要素の時間的または他の優先順位を示すものではない。
【図１】
0005545718.tif 000002
【図２】
0005545718.tif 000003
【図３】
0005545718.tif 000004
【図４】
0005545718.tif 000005
【図５】
0005545718.tif 000006