(57)【要約】【課題】回路テストための改良された方法を提供する。【解決手段】回路構成をテストするための方法は、１つ以上の初期走査チェーン３４０の夫々に対して、次の工程を行う。初期走査チェーン３４０を、ビットの疑似ランダムパターンを具備するデータで満たす。データが伝播される機能回路構成及び対応する後続の走査チェーン３４０のレベル数を決定する。初期走査チェーン３４０から、決定されたレベル数の機能回路構成及び対応する後続の走査チェーン３４０を通してデータを伝播する。【選択図】      図３
2005181333.tif 000002
【特許請求の範囲】
【請求項１】
回路構成をテストするための方法であって、
１つ以上の初期走査チェーンの夫々に対して、
（ａ）前記初期走査チェーンを、ビットの疑似ランダムパターンを具備するデータで満たす工程と、
（ｂ）前記データが伝播される機能回路構成及び対応する後続の走査チェーンのレベル数を決定する工程と、
（ｃ）前記初期走査チェーンから、前記決定されたレベル数の機能回路構成及び対応する後続の走査チェーンを通して前記データを伝播する工程と、
を具備し、
前記データが伝播される機能回路構成及び後続の走査チェーンのレベル数が可変であり、前記データが伝播される機能回路構成及び後続の走査チェーンのレベル数を決定する工程は、疑似ランダム信号を提供する工程と、前記疑似ランダム信号に基づいて、テストサイクルの機能段階の１つ以上のクロックサイクルを抑制する工程とを具備する方法。
【請求項２】
テストサイクルの走査段階及び機能段階を規定する工程を更に具備し、ここで、前記初期走査チェーンを、ビットの疑似ランダムパターンで満たす工程は、前記走査段階で行われ、前記初期走査チェーンから、機能回路構成を介して、前記決定された数の後続の走査チェーンに前記データを伝播する工程は、前記機能段階で行われる請求項１に記載の方法。
【請求項３】
クロック信号を生成すると共に、前記クロック信号を走査チェーンに提供する工程を更に具備し、ここで、前記クロック信号は、前記初期走査チェーンを前記ビットの疑似ランダムパターンで満たすための走査段階に対応する複数のクロックパルスと、前記初期走査チェーンから、機能回路構成を介して、前記決定された数の後続の走査チェーンに前記データを伝播するための機能段階に対応する複数のクロックパルスと、を具備する請求項２に記載の方法。
【請求項４】
走査ゲート（ＳＧ）信号を生成する工程と、ここで、前記走査チェーンは、前記ビットの疑似ランダムパターンによって満たされるか、或いは前記ＳＧ信号に基づいて先行する走査チェーンから伝播されるデータを受信するように制御されることと、
ＴＨＯＬＤ信号を生成する工程と、ここで、前記生成されたクロック信号のパルスは前記ＴＨＯＬＤ信号によってイネイブルされることと、
を更に具備する請求項２に記載の方法。
【請求項５】
後続の走査チェーンの対応する１つにおいて、各初期走査チェーンから前記ビットの疑似ランダムパターンが伝播されることによってもたらされるデータを捕捉する工程と、
前記走査チェーンから前記ビットの疑似ランダムパターンが伝播されることによってもたらされるデータを、複数入力シグネチャレジスタ（ＭＩＳＲ）に転送する工程と、
前記走査チェーンから前記ビットの疑似ランダムパターンが伝播されることによってもたらされるデータを、前記データを前記ＭＩＳＲに転送する前に、圧縮する工程と、
を更に具備する請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路テストためのシステム及び方法に関し、特に、集積回路における組込み自己テスト（ＢＩＳＴ）の技術に関する。
【背景技術】
【０００２】
デジタルデバイスは、ますます複雑になっている。これらのデバイスの複雑さが増加するのにつれて、デバイスの適切な操作を損なうかまたは妨げるかもしれない欠陥が発生する可能性が高まっている。従って、これらのデバイスをテストすることが、次第に、より重要になっている。
【０００３】
デバイスのライフサイクルにおいて、テストが重要である様々な場面がある。例えば、テストは、デバイスの設計、デバイスの製造、及びデバイスの操作において重要である。設計の場面では、テストはデバイスの設計を検査して、設計の欠点を識別することを目的とする。テストは、デバイスの機能性をシミュレーションするため、ハードウェア記述言語（ＨＤＬ）の幾つかまたはハイレベル言語を使用したＲＴＬレベル及びアーキテクチャレベルで実行することができる。シミュレーションテストは、また、デバイスのゲートレベル設計をテストするために用いられる可能性がある。デバイスの製造間のテストは、デバイスのタイミング、適切な操作及び性能が、設計の場面におけるテストから期待された通りであることを確実にするために実行される可能性がある。現代の集積回路の機能部分（例えば、トランジスタ及び他の構成部分）は、寸法が非常に小さく、欠陥が非常に容易に発生するため、この場面におけるテストは非常に重要である。最後に、デバイスが製造された後、それが通常の使用の間、適切に動作し続けることを確実にするため、デバイスをテストすることが必要となる可能性がある。
【０００４】
デジタルデバイスのロジック回路は、典型的には、多くの相互接続されたロジックゲートを含む。これらのロジックゲートは、「ＡＮＤ」ゲート、「ＯＲ」ゲート、「ＮＡＮＤ」ゲート、「ＮＯＲ」ゲート、「ＮＯＴ」ゲート、「ＸＯＲ」ゲート、及び様々な他の種類のゲートを含むことができる。ロジック回路は、複数の入力からデータを受信し、その結果の出力データを複数の出力から提供する可能性がある。ロジック回路は、入力を取り込み、回路の特定の状態に依存して、回路の出力に対応する所定出力パターンを生成するように設計される。ロジック回路に欠陥がある場合、入力パターンの少なくとも１つ及び対応する回路に関し、回路の出力で生成されるパターンが、期待所定出力パターンと異なることとなる。
【０００５】
ロジック回路の欠陥のためにテストを行う１つの態様は、その回路における状態値の可能性のある組合せの夫々と共に、可能性のある入力パターンを回路の入力に付与し、そして、観察出力パターンを期待出力パターンと比較することである。可能性のある入力パターン及び状態値が少ししかなければ、入力パターン、状態情報及び期待出力パターンを記憶し、次に可能性のある入力／状態／出力の組合せの夫々に確定テストを実行するためのコストは妥当となるであろう。しかし、可能性のある入力パターン及び状態値が多い場合、全ての組合せの確定テストのコストは一般に非常に高い。従って、より低いコストで行うことができるテストの代替方法が望まれるところである。
【０００６】
ロジック回路の欠陥のためにテストを行う１つの代替方法は、非確定論的なアプローチをとる。この方法では、ランダム入力テストパターンがロジック回路の入力に付与され、そして、ロジック回路によって生成された出力パターンが期待出力パターンと比較される。この種のテストは確定論的でない（即ち、入力、状態及び出力の可能性のある組合せを全てテストするわけではない）ので、ロジック回路が欠陥を有する或いは有しないという単純な結果を提供しない。その代わりに、このテストは、ロジック回路が欠陥を有する或いは有しないという信頼性のレベルを提供する。テストされる入力及び状態の（即ち、その出力が期待値と比較される）数が大きくなるほど、欠陥がテストによって識別される信頼性レベルが高くなる。ロジック回路が欠陥を含まないという信頼性の特定のレベルを達成するために必要なランダムテストパターンの数は、ロジック回路の設計に依存する。
【０００７】
この種のテストの変更例において、ランダム入力テストパターンは加重付けされる可能性がある。加重付けなしの場合、ランダムパターンの１の数は、０の数と殆ど同じとなるであろう。加重付けは、生成されたランダムパターンが、０よりも１が多い、或いはその逆となるように実施することができる。例えば、３０パーセントの０及び７０パーセントの１を有する入力テストパターンを生成することが望ましいであろう。加重付けされた入力テストパターンは、次にロジック回路に入力され、そして、その結果の観察出力パターンが、ロジック回路に欠陥があるかどうかを決定するために、期待出力パターンと比較される。
【０００８】
デジタルデバイス（例えば、集積回路）がより複雑となり、ロジックゲート及び他の電子部品と高密度に集積されるのにつれて、これらのデバイスを効果的にテストすることの必要性がより大きくなっている。デバイス及び特に製造された集積回路をテストすることに関して、非常に役立つメカニズムは、組込み自己テスト（ＢＩＳＴ）である。これは、また、ロジック組込み自己テスト（ＬＢＩＳＴ）と呼ばれる可能性がある。
【０００９】
ＢＩＳＴ及びＬＢＩＳＴ方法論は、テスト設計（design-for-test: ＤＦＴ）方法論として言及される方法論のグループの一部として一般的にみなされる。ＤＦＴ方法論は、テストを容易にするために、テストされる回路の実際の設計に機能部分を組込むことを含む。ＢＩＳＴ方法論は、テストされる回路の設計に回路構成部分を組込むことを含み、ここで、付加回路構成部分が回路構成の機能部分をテストするために使用される。
【発明の開示】
【００１０】
上述の課題は、本発明の様々な実施形態によって解消することが可能である。概略的には、本発明は、集積回路における組込み自己テスト（ＢＩＳＴ）の改良された性能のためのシステム及び方法を具備し、ここで、テストのカバー範囲を改良するため、変動性が自己テストに導入される。
【００１１】
本発明のある視点は回路構成をテストするための方法に係り、これは、
１つ以上の初期走査チェーンの夫々に対して、
（ａ）前記初期走査チェーンを、ビットの疑似ランダムパターンを具備するデータで満たす工程と、
（ｂ）前記データが伝播される機能回路構成及び対応する後続の走査チェーンのレベル数を決定する工程と、
（ｃ）前記初期走査チェーンから、前記決定されたレベル数の機能回路構成及び対応する後続の走査チェーンを通して前記データを伝播する工程と、
を具備し、
前記データが伝播される機能回路構成及び後続の走査チェーンのレベル数が可変であり、前記データが伝播される機能回路構成及び後続の走査チェーンのレベル数を決定する工程は、疑似ランダム信号を提供する工程と、前記疑似ランダム信号に基づいて、テストサイクルの機能段階の１つ以上のクロックサイクルを抑制する工程とを具備する。
【発明を実施するための最良の形態】
【００１２】
ここに記載されるように、本発明の様々な実施形態は集積回路の組込み自己テスト（ＢＩＳＴ）の改良された性能ためのシステム及び方法を具備し、ここで、テストのカバー範囲を改良するため、変動性が自己テストに導入される。
【００１３】
一実施形態において、ロジック組込み自己テスト即ちＬＢＩＳＴのための構成部分を組込む集積回路において、ある方法が実施される。ＬＢＩＳＴ構成部分は、テスト中の回路の機能ロジックのレベル間に介在される複数の走査チェーンを含むことができる。これにより、１つの走査チェーン内のデータが、機能ロジックのレベルを介して後続の走査ラッチに伝播され、また、可能性として、機能ロジック及び対応する後続の走査チェーンの１つ以上の付加レベルを介して伝播されるようにする。１つの典型的な実施形態は、回路構成をテストするための方法を具備し、これは、１つ以上の初期走査チェーンの夫々に対して、前記初期走査チェーンを、ビットの疑似ランダムパターンを具備するデータで満たす工程と、前記データが伝播される機能回路構成及び対応する後続の走査チェーンのレベル数を決定する工程と、前記初期走査チェーンから、前記決定されたレベル数の機能回路構成及び対応する後続の走査チェーンを通して前記データを伝播する工程と、を含む。
【００１４】
一実施形態において、この方法は組込み自己テスト回路構成において実施されることができ、また、ビットの疑似ランダムパターンを生成する工程と、前記ビットの疑似ランダムパターンを位相シフトする工程と、前記位相シフトされたビットの疑似ランダムパターンを走査チェーンに走査する工程と、を含むことができる。前記データが、前記走査チェーンから、テスト中の回路のロジックの１つ以上のレベルを介して伝播された後、前記方法は、その結果のデータを捕捉する工程と、前記データを圧縮する工程と、前記圧縮されたデータを複数入力シグネチャレジスタ（ＭＩＳＲ）へ転送する工程と、を更に具備することができる。前記圧縮されたデータは、次に、テスト中の回路が期待態様で動作したかどうかを決定するため、審査されると共に期待値と比較されることが可能となる。
【００１５】
他の典型的な実施形態は、テスト中の回路をテストするシステムを具備し、これは、前記テスト中の回路の対応するレベルに介在された複数の走査チェーンと、前記走査チェーンに連結されたコントローラと、を具備し、前記コントローラは、前記複数の走査チェーンの少なくとも一部のデータが、前記テスト中の回路の可変数の前記レベルを介して伝播されるようにする。
【００１６】
一実施形態において、このシステムは、前記複数の走査チェーンに入力されるクロック信号を生成するように構成されたローカル制御バッファ（ＬＣＢ）を含むことができる。テストサイクルの走査段階の間、ＬＣＢは前記走査チェーンの夫々を介してデータをシフトするために一連のクロックパルスを生成する。前記テストサイクルの機能段階の間、前記ＬＣＢは可変数のクロックパルスを生成し、これにより、データが前記テスト中の回路の対応する可変数のレベルを介して伝播されるようにする。前記ＬＣＢは、疑似ランダム入力信号、例えば、テスト中の回路の機能ロジック構成部分によって生成される信号に基づく機能段階のクロックパルスの数を変化させように構成することができる。前記システムはまた、前記走査チェーンに走査されるビットの疑似ランダムパターンを生成する疑似ランダムパターンジェネレータ（ＰＲＰＧ）と、前記ＰＲＰＧと前記走査チェーンとの間に結合された位相シフタとを含むことができる。ここで、前記位相シフタは、前記パターンが前記走査チェーンに走査される前に、前記ビットの疑似ランダムパターンの位相をシフトする。前記システムは更に、前記走査チェーン外に走査されるデータに作用し、その結果を期待値との比較のために記憶するように構成された複数入力シグネチャレジスタ（ＭＩＳＲ）を含むことができる。前記データを圧縮すると共により小さいＭＩＳＲが使用できるように、前記ＭＩＳＲと前記走査チェーンの間にコンパクタを結合することができる。前記システムはまた、クロック信号を生成する際に前記ＬＣＢによって使用される走査ゲート（ＳＧ）信号及びテストホールド（ＴＨＯＬＤ）信号を生成するためのプログラム可能なクロックコントローラ（ＰＣＣ）を含むことができる。前記ＳＧ信号はまた、前記テスト中の回路の前記機能構成部分からデータを受信するか、或いはデータを内／外にシフトするように、前記走査チェーンを制御するために使用される。
【００１７】
他の典型的な実施形態は、ＢＩＳＴシステムで使用可能なＬＣＢを具備する。前記ＬＣＢは、前記走査チェーンのためのクロック信号を生成するため、様々な入力信号及びロジック回路構成のための入力を含むことができる。前記入力信号は、マスタークロック信号、走査ゲート（ＳＧ）信号、テストホールド（ＴＨＯＬＤ）信号、及びアクティブ（ＡＣＴ）信号を含むことができる。前記ロジック回路構成は、入力信号を受信し、前記ＢＩＳＴ走査チェーンへの疑似ランダムビットパターンをシフトするために走査段階のクロックパルスを生成し、前記テスト中の回路の幾つかのレベルを介して前記走査チェーンから前記データを伝播するために機能段階のクロックパルスを生成し、そして、前記生成されたクロックパルスを前記ＢＩＳＴ走査チェーンに提供する、ように構成される。
【００１８】
一実施形態において、前記ＬＣＢは２つのＯＲゲート及び２つのＡＮＤゲートを含む。第１のＡＮＤゲートは前記ＳＧ信号及び電源モードオーバーライド信号を受信する。第１のＯＲゲートは、前記ＡＣＴ信号及び前記第１のＡＮＤゲートの出力を入力として受信する。第２のＡＮＤゲートは、前記ＴＨＯＬＤ信号及び前記第１のＯＲゲートの出力を入力として受信する。最後に、第２のＯＲゲートは、前記第２のＡＮＤゲートの出力及び前記マスタークロック信号を入力として受信し、前記ＢＩＳＴの走査チェーンに提供可能な前記クロック信号を生成する。
【００１９】
ＬＢＩＳＴテストは、一般的に次のように進行する。先ず、疑似ランダムパターンが生成される。前記疑似ランダムパターンは走査チェーンに走査され、その結果、走査ラッチが前記疑似ランダムパターンのビットと共に提供される。次に、前記走査ラッチに記憶されたビットは、後続の走査ラッチに、機能ロジック構成部分を介して伝播可能である。前記走査チェーンのデータは、次に前記走査チェーン外に走査され、圧縮され、そして、機能ロジック構成部分が期待通りに動作するかどうかを決定するために期待値と比較される。
【００２０】
前記走査ラッチに記憶されたビットは、後続の走査ラッチに、機能ロジック構成部分を介して伝播可能か、或いは、このデータは、後続の走査ラッチに、付加機能ロジック構成部分を介して伝播可能である。これは、１回以上繰り返され、その結果、前記データは、最初に前記走査チェーンに走査された後、且つ既知値との比較のために前記走査チェーン外に走査される前に、複数の走査ラッチを介して伝播される。しかし、従来のシステムの場合、データが伝播される走査ラッチの数は予め設定され、そして、各サイクルにおいて、走査チェーン外に走査される前に、データが前記数の走査ラッチを介して伝播される。これに対して、本発明の一実施形態において、データが伝播される走査ラッチの数は、サイクル毎に可変である。これは、データが集積回路の機能ロジック構成部分によって処理されることによってＬＢＩＳテストの欠陥カバー範囲を改善する態様に、更なるランダム性を導入する。
【００２１】
この実施形態において提供される変動性は、タイミングシステムに対する機能ロジック入力の使用によって得られる。従来は、タイミング機構は次のように構成される。即ち、先ず各走査チェーンのラッチへデータを走査し、次に、前記機能ロジック構成部分を介して（及び所定数の後続の走査ラッチを介して）伝播されるように前記データを放出し、最後に、前記走査チェーンのラッチからの結果のデータを走査して期待データ値と比較できるようにする。
【００２２】
この実施形態において、所定数の後続の走査ラッチを介して前記データを伝播するのではなく、後続の走査ラッチの数が、機能ロジック構成部分に連結されたタイミング回路構成に対する入力によって決定される。その結果、１つのサイクルで、前記データは、前記後続の走査ラッチに対して前記機能ロジック構成部分を介して伝播され、次に前記走査チェーン外に走査可能である。次のサイクルにおいて、前記データは、後続の走査ラッチに、機能ロジック構成部分の付加レベルを介して伝播可能である。次のサイクルにおいて、前記データは、単一の後続の走査ラッチ、或いは一連の走査ラッチを介して伝播され、その後、前記走査チェーン外に走査可能である。前記データが伝播される機能ロジック及び走査ラッチのレベル数は予め設定されない。このため、ロジック構成部分を介して伝播されるデータのパターンは、データが所定数のレベルを介して伝播される場合に比べて、よりランダムである。これにより、テストのカバー範囲が改善される。
【００２３】
本発明の様々な実施形態が以下に記載される。主に、これらの実施形態は、集積回路内で実行されるＳＴＵＭＰＳ型のＬＢＩＳＴアーキテクチャの実施態様に焦点をおく。これらの実施形態は、制限的なものではなく、むしろ例示することを目的とする点に留意する必要がある。別の実施形態は、ＳＴＵＭＰＳアーキテクチャではなく、ＢＩＳＴアーキテクチャにおいて実施可能である。別の実施形態はまた、構成部分がロジック構成部分（例えば、ＡＮＤゲート、ＯＲゲートなど）に限られていない回路において実施可能である。この種の多くの変更例は、本発明の当業者にとって明らかであり、添付の請求の範囲に含まれるものである。
【００２４】
本発明を記述する前に、先ず、組込み自己テストの目的及びこれらのテストが通常実行される態様を説明することが有用であろう。図１には、単純なロジック回路１００が示される。ロジック回路１００は、２つのロジックゲート、即ち、ＡＮＤゲート１１０とＯＲゲート１２０とを具備する。ロジック回路１００は３つの入力を有し、これらは配線１３１〜１３２を介して提供される。また、ロジック回路１００は３つの出力を有し、これらは配線１３５〜１３７を介して提供される。
【００２５】
図１のロジック回路１００において、ＡＮＤゲート１１０は配線１３１及び１３２から入力を受信する。ＡＮＤゲート１１０は、受信した入力に対応して、配線１３４上に出力を生じる。ＡＮＤゲート１１０の出力は、配線１３４によってＯＲゲート１２０の入力の１つまで転送される。ＯＲゲート１２０に対する第２の入力が、配線１３３を介して提供される。ＯＲゲート１２０は、配線１３５及び１３６上に転送される出力を生じる。配線１３３上でロジック回路１００に提供された入力は、直接配線１３７を通り、ロジック回路１００の出力として提供される。
【００２６】
ロジック回路１００は、入力値の所与の組合せに対応して、出力値の特定の組合せを提供する。入力値及び対応する出力値は、ロジック回路１００のための真理値表として表現可能である。この表は、表１として下記される。表１に示される真理値表は、ロジック回路１００の適切な操作を規定する。ロジック回路１００のインスタンシエーション（instantiation）が、特定の入力値に対応して、表１に示される特定の出力値を提供しない場合、ロジック回路１００のこのインスタンシエーションは不良である。
【００２７】
【表１】
2005181333.tif 000003
【００２８】
ＬＢＩＳＴの目的は、ロジック回路１００の特定のインスタンシエーションが正しく動作するか或いは不良かを決定する手段を提供することである。この手段は、ロジック回路１００を含む集積回路内で提供される。
【００２９】
ＬＢＩＳＴ機能性は、対応するＬＢＩＳＴ構成部分の組合せをロジック回路１００の設計に組込むことによって提供される。図２には、ロジック回路１００及び付加ＬＢＩＳＴ構成部分の両者を含む設計が示される。ＬＢＩＳＴ構成部分は、疑似ランダムパターンジェネレータ（ＰＲＰＧ）２１０、複数入力シグネチャレジスタ（ＭＩＳＲ）２２０、第１組のラッチ２３１〜２３３、及び第２組のラッチ２４１〜２４３、を含む
第１組のラッチ２３１〜２３３（第１の走査チェーン）の夫々は、ロジック回路１００の入力１３１〜１３３の対応する１つに連結される。同様に、第２組のラッチ２４１〜２４３（第２の走査チェーン）の夫々は、ロジック回路１００の出力１３５〜１３７の対応する１つに連結される。第１組のラッチ２３１〜２３３の夫々の目的は、ロジック回路１００を介して伝播されるデータビットを記憶することである。これらのデータビットがロジック回路１００を介して伝播された後、ロジック回路の結果出力は第２組のラッチ２４１〜２４３に記憶される。従って、ロジック回路１００は次のようにテストすることができる。即ち、ラッチ２３１〜２３３に一組のデータビットを記憶し、ロジック回路１００を介してこれらのデータビットを伝播し、そして、ラッチ２４１〜２４３に記憶された結果データビットが、ロジック回路１００のための真理値表（表１参照）において規定された正しい出力データビットと対応するかどうかを決定する。
【００３０】
入力値の可能性のある組合せの全てのためにロジック回路１００をテストするには、表１の最初の３つの列からの入力データビットの各組合せを、ロジック回路１００に付与することが必要であろう。換言すると、これらの各組合せは、入力ラッチ２３１〜２３３に記憶され、そして、出力ラッチ２４１〜２４３の結果データビットは、表１に示される対応する出力ビットと比較されなければならないであろう。ロジック回路１００には３つの入力しかないので、入力ビットの可能性のある組合せは８つだけである（２３＝８）。入力値のこれらの８つの可能性のある組合せをテストすることは、非常に容易に可能である。しかし、もし、ロジック回路１００がより複雑で、より多くの入力を有する場合、適切な操作のためにロジック回路を完全にテストするには、ロジック回路により多くの組合せの入力値を付与することが必要である。一般的に言って、ロジック回路がｎ個の入力を有する場合、回路を完全にテストするには、ロジック回路に２ｎの異なる組合せの入力値を付与することが必要であろう。この場合、テストされる入力値の夫々の組合せのためにロジック回路が急激に複雑となるであろうことが容易に理解できる。
【００３１】
夫々の組合せのテストができるように、非常に多くの異なった組合せの入力データ値を有するようにする問題に対処するため、ロジック回路の入力に付与されるデータビットのランダムな（或いは、より具体的には、疑似ランダムの）パターンを具備するシーケンスを利用することができる。図２において例示される回路の場合、データビットのこれらのデータランダムパターンは、ＰＲＰＧ２１０によって生成され、次に入力ラッチ２３１〜２３３にロードされる。ＰＲＰＧ２１０から入力ラッチ２３１〜２３３にロードされる疑似ランダムビットパターンの数が十分に大きい場合、テスターは、ロジック回路１００が完全にテストされたということ、及び、その正しい出力データビットがこれらのテストシーケンスに応答して生成されると仮定して、ロジック回路１００は欠陥を有しておらず正しく動作することについて、あるレベルの信頼性を有することができる。
【００３２】
図２の回路がＭＩＳＲ２２０を含む点に留意する必要がある。ＭＩＳＲ２２０の目的は、ロジック回路１００をテストする速度を上げることである。これは、ロジック回路１００によってラッチ２４１〜２４３に伝播された結果を蓄積するため、ＭＩＳＲ２２０を使用することにより達成される。従って、疑似ランダムビットシーケンスをラッチ２３１〜２３３にロードし、このデータを、ロジック回路１００を介してラッチ２４１〜２４３に伝播し、次に、ラッチ２４１〜２４３の内容を期待出力値と比較するのではなく、下記のような処理が行われる。即ち、ラッチ２４１〜２４３に記憶された値がＭＩＳＲ２２０ヘアンロードされ、その内容が、ラッチ２４１〜２４３からのデータに基づいて変更される。一実施形態において、ＭＩＳＲ２２０はデータ上のモジュロ演算を実行するように構成される。モジュロ演算の結果は、ＭＩＳＲ２２０に記憶され、次のテストサイクルの終わりに、他のモジュロ演算を実行するために使用される。
【００３３】
疑似ランダム入力ビットパターン及び対応する出力ビットパターンが既知なので、アンロードされた出力ビットに基づくＭＩＳＲ２２０の内容もまた既知である。従って、ビットの疑似ランダムパターンをロードし、出力ビットを生成するようにロジック回路１００を介してこれらのビットを処理し、これらの出力ビットを演算し、そして、その結果をＭＩＳＲ２２０に記憶するプロセスを、複数のサイクルに亘って繰り返すことができる。その後、ＭＩＳＲ２２０の最終的な内容を、単一の期待値と比較することができる。ＭＩＳＲ２２０に記憶されたデータが期待値に適合する場合、ロジック回路１００は期待通りに動作し、また、回路内に欠陥が発見されなかったことになる。
【００３４】
この種のテストの目的は、ロジック回路を介してデータ値の異なる組合せを処理することである。データ値のこれらの組合せはランダムなデータ値と概略で等価となるように意図され、これにより、テストの完全さが、乱数に関する統計原理を使用して決定できるようにする。このように、テストシステムは擬似乱数（例えば、ＰＲＰＧによって生成される）を利用する。擬似乱数を使用することの１つの利点は、数（ビットシーケンス）が本質的に乱数と等価である一方、１つのロジック回路をテストするのに使用される疑似ランダムビットシーケンスが、他のロジック回路をテストするのに繰り返すことができることである。そして、テストの間に各ロジック回路に入力される疑似ランダムビットシーケンスが同一であるので、テストの結果もまた、正確に同一でなければならない。従って、ロジック回路のテストは、本質的に「ランダムな」入力ビットシーケンスを回路に提供し、対応する出力を期待出力と比較することによって実施可能となる。出力が同一である場合、テスト中のロジック回路は、「期待された」出力を生成するために使用された制御回路（または、回路シミュレーション）と同様に動作したことになる。
【００３５】
図１及び２に関する上述の議論は、ロジック回路１００のテストに注目しており、この回路は、現在応用されている集積回路の殆ど（全てではないにしても）に比べて、明らかに非常に小型の回路である。より大規模なロジック回路をテストするＬＢＩＳＴの使用は、従って、以下のパラグラフに記載される。
【００３６】
図３には、大規模なロジック回路を含むロジック回路をテストすることに関連して使用可能な、ＬＢＩＳＴアーキテクチャを示す機能ブロック図が示される。このアーキテクチャは、ＳＴＵＭＰＳ−ＬＢＩＳＴアーキテクチャとして一般に知られている。ＳＴＵＭＰＳアーキテクチャは、疑似ランダムパターンを下記のように利用する。即ち、疑似ランダムパターンが、走査ラッチにロードされ、テスト中のロジック回路の機能構成部分を介して伝播され、走査ラッチからアンロードされ、そして、複数入力シグネチャレジスタに捕捉される。これは、上述の小規模の回路の場合と非常に似ている。
【００３７】
図３に示すように、ＳＴＵＭＰＳアーキテクチャは、ＬＢＩＳＴコントローラ３１０、ＰＲＰＧ３２０、位相シフタ３３０、走査チェーン３４０の組合せ、コンパクタ３６０、及びＭＩＳＲ３７０を具備する。これらのＬＢＩＳＴ構成部分はロジック回路３５０と一体化され、そのＬＢＩＳＴ構成部分がテストを行うように設計される。
【００３８】
ＬＢＩＳＴコントローラ３１０は、ＬＢＩＳＴ構成部分３８０の残りの部分の操作を制御する制御回路構成、例えば、図１１〜図１３と関連して詳述されるＰＣＣを含む。（明確にするため、ＬＢＩＳＴコントローラ３１０はグループとしてＬＢＩＳＴ構成部分３８０に連結された状態で示されるが、同コントローラは、典型的には、各構成部分に直接連結される。）ＬＢＩＳＴコントローラ３１０の機能の１つは、ＰＲＰＧ３２０にシード値を提供することである。このシード値に基づいて、ＰＲＰＧ３２０は、位相シフタ３３０によって処理されると共に走査チェーン３４０にロードされるビットの疑似ランダムシーケンスを生成する。
【００３９】
ＰＲＰＧ３２０は、リニアフィードバックシフトレジスタ（ＬＦＳＲ）として実施可能となる。図４には、一実施形態に従って、ＬＦＳＲの機能構造を例示する線図が示される。ＬＦＳＲ４１０は、複数の個々のビットレジスタ（４３０〜４３６）を有するシフトレジスタ４２０を具備する。個々のビットレジスタ４３０〜４３６は一緒に連結され、これにより、各クロックサイクルにおいて、１ビットのレジスタに記憶されたビットが次のビットレジスタへシフトされるようにする。例えば、ビットレジスタ４３０に記憶されたビットは、レジスタ４３１へシフトされ、一方、ビットレジスタ４３１に記憶されたビットは、ビットレジスタ４３２へシフトされる、等々が行われる。ビットレジスタ４３６の場合、その中に記憶されたビットは、他のビットレジスタへシフトされず、その代わりに、ＬＦＳＲの出力として提供される。
【００４０】
ＬＦＳＲにおいて、フィードバックは、典型的には、シフトレジスタのビットの幾つかをＸＯＲゲート４５１に提供し、また、ＸＯＲゲート４５１の出力をシフトレジスタ４２０へ戻すことにより、生成される。図４に例示される構成において、ビットレジスタ４３５及び４３６からのビットが、ビットレジスタ４３０にシフトされるビットを生成するためにフィードバックとして使用される。このように、シード値（または、ビットシーケンス）は先ずビットレジスタ４３０〜４３６に記憶され、そして、これらの初期ビットがビットレジスタ４３６外にシフトされるのにつれて、フィードバックから生成された新規なビットがビットレジスタ４３０に記憶される。これにより、ビットレジスタ４３６外にシフトされるビットが、ＬＢＩＳＴ回路において使用可能なビットの疑似ランダムシーケンスを提供する。
【００４１】
ＰＲＰＧ３２０によって生成されるビットの疑似ランダムシーケンスの目的は、ロジック回路３５０の機能ロジック構成部分を介して伝播される入力ビットの組合せを提供することである。従って、疑似ランダムシーケンスは各走査チェーン３４０に提供される。しかし、疑似ランダムビットシーケンスは、位相シフタ３３０によって処理された後にだけ走査チェーン３４０にロードされる点に留意する必要がある。
【００４２】
４つの走査チェーンだけが図３において示されるが、ＬＢＩＳＴの設計には多くの走査チェーンがある可能性について留意する必要がある。より多くの走査チェーンが設計に含まれる場合、ロジック回路のよりきめが細かいテストが実施可能となる。換言すると、より多くの走査チェーンが設計に含まれるほど、連続する走査チェーン間に配置されたロジック回路の構成部分がより少なくなる。特定の設計における走査チェーンの特定の数は、様々な要因に依存するが、それらは、本発明を理解する上で必要ないので、ここで詳述しない。
【００４３】
位相シフタ３３０の目的は、走査チェーン３４０にロードされるビットシーケンスの特徴をよりランダムにすることである。これは、図５（ａ）及び図５（ｂ）を参照して説明することができる。図５（ａ）は、一連の走査チェーンのためにＰＲＰＧ３２０によって提供される疑似ランダムビットシーケンスを示す線図である。図５（ａ）は、各走査チェーン３４０に提供される疑似ランダムビットシーケンスが各列に示された表を具備する。例えば、第１列には走査チェーン３４１に提供されるビットシーケンスが示され、第２列には走査チェーン３４２に提供されるビットシーケンスが示される、等々となっている。この図から、夫々連続した列のシーケンスが先行する列のシーケンスと同一であり、但し、シーケンスは１ビットずつ下方にシフトされることが分かる。このように、ビットの「ランダムな」シーケンスの範囲内で明らかに同一視可能なパターンが存在する。位相シフタ３３０はビットの疑似ランダムシーケンスの位相をシフトし、これにより、このようなパターンが後続するビットシーケンスの範囲内で同一視可能とならないようにする。
【００４４】
本質的に、位相シフタ３３０は、先行する列に関して夫々後続する列の位相をシフトするように動作する。換言すると、各後続する列において単一のビットによってオフセットされるのではなく、後続する列においてビットパターンが異なる量だけシフトされる。例えば、図５（ｂ）に示すように、第２列のビットシーケンスは、１ビット下方にシフトされるのではなく、５ビットだけ外側にシフトされる。同様なシフトが、図５（ｂ）の表の夫々後続する列の間で実行される。その結果、容易に識別可能なパターンが隣接した列のビットシーケンスの間に存在しない表となる。走査チェーン３４０にロードされる疑似ランダムビットシーケンスのこの改良されたランダム化は、ＬＢＩＳＴテストの欠陥カバー範囲及び効果を改良することができる。テストアーキテクチャにとって本質ではないが、位相シフタ３３０は、これによって、テスト回路構成の動作を改良する。
【００４５】
ＰＲＰＧ３２０及び位相シフタ３３０によって生成される疑似ランダムビットパターンは、走査チェーン３４０にロードされる。各走査チェーン３４０は一連の走査ラッチを具備し、この一連の走査ラッチは、走査チェーンを介して交互にデータ（疑似ランダムビットパターンまたは機能ロジック出力）をシフトする、或いは機能ロジックを介して伝播されたデータを保持するように構成される。これは、図６を参照して更に詳述される。上述のように、別々のシーケンスが、各走査チェーン３４０にロードされる。各走査チェーン３４０は、ロジック回路３５０の各部の前または後に配置（間に配置）される。従って、ロジック回路３５０の各部分に対して、この部分に先行すると共に対応するロジックに入力を提供する走査チェーンと、この部分に続くと共に対応するロジックの出力を受信する走査チェーンと、が配設される。走査チェーンは、これにより、ロジック回路（連続する走査チェーン間のロジック回路の部分）の「レベル」を規定する。例えば、あるレベルのロジック回路３５０は、走査チェーン３４１から入力ビットを受信すると共に、走査チェーン３４２に出力ビットを提供することができる。同様に、他のレベルのロジック回路３５０は、走査チェーン３４３から入力ビットを受信すると共に、走査チェーン３４４に出力ビットを提供することができる。幾つかの走査チェーン３４０が、後続するレベルのロジック回路３５０に入力ビットを提供すると共に、先行するレベルのロジック回路３５０から出力ビットを受信することの両者に機能可能である点に留意する必要がある。
【００４６】
疑似ランダムビットパターンがロジック回路３５０の機能構成部分を介して伝播され、そして、その結果が走査チェーン３４０に捕捉された後、走査チェーン３４０の内容は、走査チェーン外に走査され（即ち、それらが走査チェーンからアンロードされ）、コンパクタ３６０及びＭＩＳＲ３７０に至る。コンパクタ３６０の目的は、単にＭＩＳＲ３７０によって取り扱いが必要なビット数を減らすことである。コンパクタ３６０は、多くの態様で実施可能である。典型的には、コンパクタ３６０は一連のＸＯＲゲートを使用し、ここで、各ＸＯＲゲートの出力は、一対の走査チェーンから受信した入力に基づく。従って、ＭＩＳＲ３７０を次に通過するビット数は、２分の１に減少することができる。別の環境において、より複雑な回路構成によって、ビット数をより大幅に減少することが可能となろう。
【００４７】
走査チェーン３４０からのビットがコンパクタ３６０によって圧縮された後、それらはＭＩＳＲ３７０に提供される。ＭＩＳＲ３７０は、結果データビットを観察すると共に、この情報をテストシステムの期待出力と比較する手段を提供する。典型的には、各機能サイクル（その間に、データがロジック回路３５０の機能構成部分を介して伝播される）の後に走査チェーン３４０（及び／またはコンパクタ３６０）の出力を比較するのではなく、ＭＩＳＲ３７０は、各サイクルにおける走査チェーンの出力に基づく累積的な値の観察を可能にする。例えば、一実施形態において、ＭＩＳＲ３７０は、コンパクタ３６０の出力に対してモジュロ演算を実行する。即ち、ＭＩＳＲ３７０は、コンパクタ３６０の出力によって、ＭＩＳＲ３７０に記憶される現在値に対して除算を行い、この計算の剰余を保持する。各機能サイクルの後、この計算が実行され、ＭＩＳＲ３７０に記憶された値が更新される。所定数の機能サイクルの後、ＭＩＳＲ３７０に記憶された値が、期待値と比較される。記憶された値が期待値に適合しない場合、ロジック回路３５０の機能構成部分によって実行される動作の１つ以上が失敗し、これにより、出力走査チェーンに誤ったデータビットが提供され、これがコンパクタ３６０を介してＭＩＳＲ３７０に伝播される。
【００４８】
図６には、一実施形態に係る走査チェーン３４０の構造を例示する機能ブロック図が示される。図６は単一の走査チェーン３４１を示す。ＬＢＩＳＴ構造の部分を形成する他の走査チェーンは、これと同様に構成される。走査チェーン３４１は一連の走査ラッチ５１１〜５１３を含む。各走査ラッチ５１１〜５１３は、対応するデマルチプレクサ５２１〜５２３を有する。各デマルチプレクサ５２１〜５２３は制御入力を有し、これにより、デマルチプレクサが、走査データ及び機能データの何れかを選択するようなる。
【００４９】
図６において、３つの走査ラッチ（及び対応するデマルチプレクサ）だけが示されるが、これらは一連の走査ラッチの単なる例示である。走査チェーン３４１は、何百、数千、または何万もの走査ラッチを含む可能性がある。一実施形態において、走査チェーン３４１は、１０００個の走査ラッチを含む。上述のように、これらの走査ラッチの夫々は、対応するデマルチプレクサを有する。
【００５０】
上述のように、走査チェーン３４１の目的は、データビットを記憶することである。これらのデータビットは、後続の機能ロジック構成部分を介して伝播される入力データビットか、或いは機能ロジック構成部分を介して既に伝播された出力データビットであることができる。先ず、走査チェーン３４１が入力データビットを記憶する。これらのデータビットは、上述のように、ＰＲＰＧによって生成されると共に、位相シフタによって処理されたビットの疑似ランダムシーケンスを具備する。走査チェーン３４１の走査ラッチに、ビットの疑似ランダムシーケンスをロードするため、走査ゲート信号（ＳＧ）がアサート（assert）される。走査ゲート信号がアサートされると、走査データがデマルチプレクサ５２１〜５２３によって選択され、走査ラッチを介してシフトされる。換言すると、疑似ランダムビットシーケンスが、ＰＲＰＧ／位相シフタから走査チェーン３４１にシフトされると共に、走査チェーン３４１に既に記憶されたデータが、コンパクタ／ＭＩＳＲにシフトされる。構成レベルでは、走査ラッチ５１３からコンパクタ／ＭＩＳＲにビットがシフトされるまで、ＰＲＰＧ／位相シフタから走査ラッチ５１１にビットがシフトされ、走査ラッチ５１１から走査ラッチ５１２にビットがシフトされる、等々が行われる。このように、ｎ個のクロックサイクルに亘って、ｎビットの疑似ランダムビットシーケンスが走査チェーン３４１にシフトされる一方、ｎビットのデータ（機能ロジック構成部分を介してビットが伝播されることにより生成される）が、走査チェーン３４１外にシフトされる。
【００５１】
走査チェーン３４１の各走査ラッチ５１１〜５１３が、ＰＲＰＧ／位相シフタから疑似ランダムビットシーケンスのビットの１つをロードされた後、これらのビットは、その動作をテストするためにロジック回路の機能構成部分を介して伝播可能である。各ビットが対応する走査ラッチに記憶されると、このビット値が、走査ラッチに続く機能ロジック構成部分にとって利用可能となる。従って、この値が、これらのロジック構成部分を介して伝播され始める。これは、走査ゲート信号がアサートされても脱アサートされても、発生する。走査ゲート信号がアサートされる場合、各走査ラッチは先行する走査ラッチのビット値をロードされる。走査ゲート信号が脱アサートされる場合、しかし、デマルチプレクサ５２１〜Ｓ２３は、走査データ入力の代わりに、それらの各機能データ入力を選択する。その結果、走査ラッチが、先行する機能ロジック構成部分を介して伝播されたデータビットを記憶する。換言すると、走査ラッチは、ロジック構成部分によって生成されるデータの機能捕捉を実行する。このデータが捕捉された後、走査ゲート信号は再びアサートされることができ、これにより、捕捉データが走査チェーン３４１外に走査される一方、新規な疑似ランダムビットシーケンスが走査チェーン３４１中に走査される。
【００５２】
走査ラッチ５１１〜５１３でシフトされるデータは、走査データ信号に基づいて選択される一方、このデータは、各走査ラッチ５１１〜５１３に提供されるクロック信号（ｃｌｋ）に基づいて走査ラッチ５１１〜５１３に実際にシフトされる。各クロックサイクルにおいて、新規なデータ値が、各走査ラッチ５１１〜５１３に走査される。典型的なクロック信号は、図７（ａ）及び図７（ｂ）に示される。
【００５３】
図７（ａ）及び図７（ｂ）には、ラッチ５１１〜５１３を走査するように提供されるクロック信号を例示する線図が示される。図７（ａ）は、スキュードロード（skewed-load）方法としばしば称されるものに対応するクロック信号を示す。図７（ｂ）は、ブロードサイド（broad-side）方法としばしば称されるものに対応するクロック信号を示す。従来、特定のロジック回路のためのＬＢＩＳＴ設計は、これらの方法の一方によって行われる。これらの図は、２つの部分に夫々分けることができ、各部分は、テストサイクルの異なる部分に対応する。図の左側の部分は、テストサイクルの走査段階と対応する。図の右側の部分は、テストサイクルの機能テスト段階と対応する。テストサイクルのこの段階は、「放出及び捕捉」段階としてしばしば言及される。この段階はまた「機能」段階として言及可能であり、何故なら、データがロジック回路の機能構成部分を介して伝播可能であるという理由である。
【００５４】
走査段階の間、走査ゲート信号がアサートされると共に、ＰＲＰＧ／位相シフタによって生成された疑似ランダムビットシーケンスが、上述のように、走査チェーンの走査ラッチに走査される。疑似ランダムビットシーケンスが、一度に１つのラッチという態様で、走査ラッチに連続的にシフトされるので、走査チェーンの各走査ラッチのために、走査段階において１つのクロックサイクルが必要となる。従って、１０個の走査ラッチが走査チェーンにある場合、走査段階は、１０個のクロックサイクルによって疑似ランダムビットシーケンスが走査チェーンにロードされることを必要とする。１０００個の走査ラッチが走査チェーンに場合、走査段階は１０００個のクロックサイクルを必要とする。
【００５５】
機能テストまたは放出及び捕捉段階の間、走査ラッチに既に記憶されたデータが、夫々の走査ラッチに続くロジック構成部分を介して伝播可能である。ロジック構成部分を介して伝播されるデータの「放出」は、疑似ランダムビットシーケンスを走査チェーンにロードする最後のクロックサイクルで起こる。このクロックサイクルは、図７（ａ）の「Ｒ」によって示される。走査ゲート信号は、この最後のクロックサイクルのためにアサートされ、次に脱アサートされる。その結果、もはや、走査ラッチの一方から他方に、データビットが更にシフトされることはない。走査ゲート信号が脱アサートされると、後続のクロックサイクルでは、走査ラッチが、対応する機能ロジック構成部分を介して伝播されたデータ値を捕捉する。これは、データの「捕捉」として言及される。このクロックサイクルは、図７（ａ）の「Ｃ」によって示される。走査段階及び放出及び捕捉段階は、一緒にテストサイクルを形成する。各テストサイクルにおいて、疑似ランダムビットシーケンスが、走査チェーンにロードされ、機能ロジック構成部分を介して伝播され、次に、走査チェーンからアンロードされる。放出及び捕捉段階が完了された後、サイクルは走査段階から繰り返す。
【００５６】
図７（ｂ）には、僅かに異なるタイミングシーケンスが示される。この例では、走査段階は同一であるが、放出及び捕捉段階が異なる。クロック信号には、２つのパルスではなく、３つのパルスがある。図７（ａ）のタイミングの場合のように、走査段階の間に走査ゲート信号がアサートされ、そして、ＰＲＰＧ／位相シフタによって生成された疑似ランダムビットシーケンスが、クロックパルス（サイクル）毎に１つのラッチという態様で、走査ラッチに走査される。疑似ランダムビットシーケンスを走査チェーンにロードする最後のクロックサイクルは、放出及び捕捉段階の第１のサイクルである。走査ラッチに記憶されたデータは、図７（ａ）と同様の態様で、ロジック構成部分を介して伝播可能である。しかし、次のクロックサイクルでデータを捕捉する代わりに、データは機能ロジックの他のレベルを介して伝播可能である。換言すると、走査チェーンをロードし、ロードしたデータを機能ロジック構成部分の単一のレベルを介して伝播させ、そして、走査チェーンから結果データをアンロードするという処理ではなく、下記のような処理が行われる。即ち、データが走査チェーンにロードされ、機能ロジックの２つのレベルを介して伝播され、そして、走査チェーンからアンロードされる。
【００５７】
走査チェーンにロードされる疑似ランダムビットシーケンスは、ロジックの付加レベルを介して伝播可能である。これは、図７（ｂ）に示すような態様で、ロック信号に対応する付加パルスを提供することによって達成される（但し、放出及び捕捉段階は、４、５、またはそれ以上のクロックパルスを有する可能性がある）。
【００５８】
図７（ａ）及び図７（ｂ）に示されるクロックパルスは、一定の比率で示されていない点に留意する必要がある。即ち、パルスの間隔は、これらの図に示されるものとはかなり異なることがありえる。典型的には、走査段階の間のクロックパルスは、放出及び捕捉段階の間のクロックパルスよりも低いレートで発生する。従って、放出及び捕捉段階のクロックパルス間の間隔は、典型的には、走査段階のクロックパルス間の間隔より非常に小さい。これは、走査チェーンに対する疑似ランダムビットシーケンスのクロック制御を行うために使用されるＬＢＩＳＴ構成部分が、典型的には、テストされている機能ロジック構成部分よりも低いクロックレートで動作するように設計されているからである。もし、ＬＢＩＳＴ構成部分が機能ロジック構成部分と同じクロックスピードで動作することが必要とされるとすると、ＬＢＩＳＴ構成部分のコストはかなり高くなるであろう。従って、走査チェーンに対するデータの授受は、より低いクロックスピード（例えば、５００ＭＨｚ）で行われる一方、機能ロジック構成部分は、これらが通常動作する（例えば、２ＧＨｚ）クロックレートでテストされる。
【００５９】
本発明の一実施形態において、クロック信号がローカル制御バッファ（ＬＣＢ）によって生成される。図８には、一実施形態に従って、ＬＣＢの設計を例示する線図が示される。図８に示すように、ＬＣＢ７００は、ＡＮＤゲート７３０及びＯＲゲート７２０及び７４０を含む一連のロジックゲートを具備する。
【００６０】
図８に示すように、ＬＣＢ７００は４つの入力を有することができる。４つの入力は、出力７５５で出力クロック信号を制御するために使用される入力信号を受信するように、夫々連結される。入力７５１は、ＯＲゲート７２０の入力に連結されると共に、走査ゲート信号を受信するように構成される。これは、図７（ａ）及び図７（ｂ）に関して前述した走査ゲート信号と同じである。入力７５２は、ＯＲゲート７２０の入力に連結されると共に、アクティブ（ＡＣＴ）信号を受信するように構成される。一実施形態において、ＡＣＴ信号は、テストされているロジック回路内の機能ロジックに依存する。入力７５３は、ＮＡＮＤゲート７３０の入力に連結されると共に、テストホールド（ＴＨＯＬＤ）信号を受信するように構成される。ＴＨＯＬＤ信号は、新しいデータが走査ラッチから発射されるのを防止することを目的とする。最後に、入力７５４はＯＲゲート７４０の入力の１つに連結される。入力７５４は、クロックソースに連結されると共に、ＬＣＢ７００の出力の基礎となるマスタークロック信号を受信するように構成される。
【００６１】
ロジックゲート７２０、７３０及び７４０は、カスケード状に配設される。即ち、ＯＲゲート７２０の出力はＮＡＮＤゲート７３０に入力として提供され、ＮＡＮＤゲート７３０の出力はＯＲゲート７４０に入力として提供される。ＳＧ、ＡＣＴ及びＴＨＯＬＤ信号の夫々の状態は、入力７５４に受信されるクロック信号がＬＣＢ７００を通過するどうかを制御する。ＴＨＯＬＤは、これらの信号の内で最も高い優先度を有する。ＴＨＯＬＤがアサートされない場合、ＮＡＮＤゲート７３０の出力は１であるので、ＯＲゲート７４０の出力は値１のままとなる。換言すると、クロックパルスが生じない。ＴＨＯＬＤがアサートされる場合、ＮＡＮＤゲート７３０の出力は、ＯＲゲート７２０から受信する入力に依存する。ＯＲゲート７２０が値１を生じる場合、ＮＡＮＤゲート７３０の出力は０であるので、入力７５４に受信されるマスタークロック信号はＯＲゲート７４０を通過する。ＯＲゲート７２０の出力はＳＧ及びＡＣＴ信号に依存する。ＡＣＴ信号及びＳＧ信号のいずれもアサートされない場合だけ、ＯＲゲート７２０の出力は０である。そうでなければ、ＯＲゲート７２０の出力は１である。ゲートＬＣＢ７００のための結果真理値表は表２に示される。
【００６２】
【表２】
2005181333.tif 000004
【００６３】
再び図７（ａ）及び図７（ｂ）を参照する。ＬＣＢは、テストサイクルの放出及び捕捉段階における変化を提供するように機能する。換言すると、ＡＣＴ信号を導入することによって、ＬＣＢは、さもなければ放出及び捕捉段階において生成される可能性のあるクロックパルスの１つ以上を、抑制する或いは抑制しない可能性がある。従って、ＡＣＴ信号に依存して、放出及び捕捉段階は、２、３またはそれより多くのパルスを有することができ、これにより、走査チェーンからのデータが、夫々、１、２またはそれより上のレベルの機能ロジックを介して伝播可能なようになる。
【００６４】
この実施形態におけるＡＣＴ信号は実際の機能ロジックによって生成されるが、この信号をこの態様で提供することは必ずしも必要でない点に留意する必要がある。例えば、ＡＣＴ信号は、疑似ランダムビットシーケンスジェネレータによって生成可能であり、このジェネレータは、ＬＢＩＳＴのＰＲＰＧによって生成された疑似ランダムビットシーケンスを決定するところの同じシード値に基づく。ＡＣＴ信号は、単に、走査チェーンにシフトされるビットシーケンスとして同態様で繰り返し可能な疑似ランダム信号であることを必要とする（これにより、ＭＩＳＲ内の値が繰り返され、従って、テスト中の回路の適切な動作の指標となる）。
【００６５】
ＬＣＢ７００によって受信されるマスタークロック信号は、ＡＮＤゲート７３０の出力と一緒に、ＯＲゲート７４０に対する入力となる。従って、マスタークロック信号がＯＲゲート７４０を通過するとき、それは効果的に反転される。換言すると、クロックがディセイブルされると、ＯＲゲート７４０の出力は値１となる。
【００６６】
図９には、クロック信号がＬＣＢ７００から走査ラッチへ供給される態様を例示する線図が示される。クロックがイネイブルされると、ＬＣＢ７００によって提供されるクロック信号は２つのパスに分割される。１つのパスでは、クロック信号はインバータ７６１によって反転される。この信号は、次に分割され、このままの形と、インバータ７６４によって再び反転された後の形とで、フリップフロップ７７０に供給される。他のパスでは、ＬＣＢ７００によって生成されたクロック信号は、インバータ７６２及び７６３によって２回反転される。その結果のクロック信号は、次に分割され、このままの形と、インバータ７６５によって再び反転された後の形とで、フリップフロップ７８０に供給される。反転及び非反転クロック信号は、次に、デマルチプレクサ７９０から受信される機能データまたは走査データをラッチするために使用される。
【００６７】
ＬＣＢ７００に対する４つの入力信号の中で、ＴＨＯＬＤは最も高い優先度を有する。ＴＨＯＬＤ信号がアサートされない場合、クロックパルスは生成されず、データはＬＢＩＳＴ構成部分または機能ロジック構成部分を介してシフトされない。ＴＨＯＬＤ信号がアサートされる場合、ＬＣＢ７００に対する残りの入力信号がクロック信号をイネイブルするかどうかに依存して、ＬＢＩＳＴ回路構成及び機能ロジック回路構成は動作することができる。上述のように、信号ＳＧは、走査ラッチのために走査データバスを選択するようにアサートされる。ＳＧ信号もまた、クロック信号をイネイブルにし、これにより、ＰＲＰＧからの疑似ランダムビットシーケンスが、各走査チェーンの走査ラッチに、クロック状に供給（シフト）されるようにする。
【００６８】
ＬＣＢに対する入力であるＡＣＴ信号は、従来のＬＢＩＳＴ設計で見られない機能を実行する。上述のように、テストサイクルの放出及び捕捉段階は、データが、走査ラッチから、機能ロジックの単一のレベルまたは機能ロジックの複数のレベルを介して伝播されるようにすることができる。ここで、ロジックの「レベル」は、データが１つの走査ラッチから次の走査ラッチ（または１つの走査チェーンから次の走査チェーン）に伝播される際に横切るロジック回路の部分である。データが伝播される機能ロジックのレベル数は、放出及び捕捉段階のクロックパルスの数に依存する。２つのクロックパルスがある場合、データは１つの走査チェーンから放出され、次の走査チェーンで捕捉される。３つのクロックパルスがある場合、データは第１の走査チェーンから放出され、機能ロジック（及び第２の走査チェーン）の２つのレベルを介して伝播され、そして、第３の走査チェーンで捕捉される。付加クロックパルスによって、データが機能ロジックの付加レベルを介して伝播可能である。ＡＣＴ信号の目的は、放出及び捕捉段階のクロックパルスの数を制御し、それによってデータが伝播される機能ロジックのレベル数を制御することである。
【００６９】
上述のように、ＡＣＴ信号は機能ロジックに依存する。これはテスト中のロジック回路に既にある機能ロジックであってもよい、または、それはＡＣＴ信号を生成するために設計された別のロジックであってもよい。いずれにせよ、ＡＣＴ信号は、テストの全体に亘って変化される。ＡＣＴ信号の変化は、放出及び捕捉段階におけるクロックパルスの数を変化させ、また、これによりデータが伝播される機能ロジックのレベル数を変化させる。これは、多重テスト方法論（例えば、スキュードロード（skewed-load）及びブロードサイド（broad-side）方法論）を効果的に利用できるという利点を提供する。テストのこの点を変化させることにより、テストの欠陥カバー範囲が強化可能となる。
【００７０】
図８は、ＬＣＢ７００を通るマスタークロック信号をゲートで制御するため、３つの入力、即ちＳＧ、ＡＣＴ及びＴＨＯＬＤ信号を利用するＬＣＢを示す。別の実施形態において、ＬＣＢのクロック信号をゲートで制御するため、付加信号が使用される。図１０には、この別の実施形態に従って、ＬＣＢの設計を例示する線図が示される。図１０に示すように、ＬＣＢ８００は、ＡＮＤゲート８１０及び８３０及びＯＲゲート８２０及び８４０を含む一連のロジックゲートを具備する。
【００７１】
ＬＣＢ８００は、５つの入力及び単一のクロック出力を有する。５つの入力は、出力クロック信号を制御するために使用される入力信号を受信するように、夫々連結される。入力８５１は、ＮＡＮＤゲート８１０の入力に連結されると共に、走査ゲート信号を受信するように構成される。これは、図７（ａ）及び図７（ｂ）に関して前述した走査ゲート信号と同じである。入力８５２は、ＮＡＮＤゲート８１０の他の入力に連結されると共に、電源モードオーバーライド（ＰＭＯ）信号を受信するように構成される。ＰＭＯ信号がアサートされると、機能ホールドクロックパルスを除いて、全てのクロックパルスはディセイブルされる。入力８５３は、ＯＲゲート８２０の入力に連結されると共に、アクティブ（ＡＣＴ）信号を受信するように構成される。ＡＣＴ信号は、テスト中のロジック回路内の機能ロジックに依存する。入力８５４は、ＮＡＮＤゲート８３０の入力に連結されると共に、ＴＨＯＬＤ信号を受信するように構成される。ＴＨＯＬＤ信号は、新しいデータが走査ラッチから発射されるのを防止することを目的としたテストホールド信号である。最後に、入力８５５はＯＲゲート８４０の入力の１つに連結される。入力８５５は、クロックソースに連結されると共に、ＬＣＢ８００の出力の基礎となるマスタークロック信号を受信するように構成される。
【００７２】
ロジックゲート８１０、８２０、８３０及び８４０は、カスケード状に配設される。
【００７３】
即ち、ＮＡＮＤゲート８１０の出力はＯＲゲート８２０に入力として提供され、ＯＲゲート８２０の出力はＮＡＮＤゲート８３０に入力として提供され、ＮＡＮＤゲート８３０の出力はＯＲゲート８４０に入力として提供される。ＳＧ、ＰＭＯ、ＡＣＴ及びＴＨＯＬＤ信号の夫々の状態は、入力８５５に受信されるクロック信号がＬＣＢ８００を通過するどうかを制御する。ＴＨＯＬＤは、これらの信号の内で最も高い優先度を有する。ＴＨＯＬＤがアサートされない場合、ＮＡＮＤゲート８３０の出力は１であるので、ＯＲゲート８４０の出力は値１のままとなる。換言すると、クロックパルスが生じない。ＴＨＯＬＤがアサートされる場合、ＮＡＮＤゲート８３０の出力は、ＯＲゲート８２０から受信する入力に依存する。ＯＲゲート８２０が値１を生じる場合、ＮＡＮＤゲート８３０の出力は０であるので、入力８５５に受信されるマスタークロック信号はＯＲゲート８４０を通過する。ＡＣＴ信号がアサートされないで、且つＳＧ及びＰＭＯ信号の両者がアサートされる場合だけ、ＯＲゲート８２０の出力は０である。そうでなければ、ＯＲゲート８２０の出力は１である。ゲート８１０、８２０、８３０及び８４０のための結果真理値表は表３に示される。
【表３】
2005181333.tif 000005
【００７４】
図８及び図１０に示されるＬＣＢ構成は、実際の機能ロジックによって生成されるＡＣＴ信号を使用し、走査チェーンからのデータが伝播可能な機能ロジックのレベル数を変化させる。しかし、別の実施形態において、他の手段によってこれが達成可能であることに留意する必要がある。このように、ＬＣＢの構成上の更なる変更が可能である。更に、走査チェーンからのデータが伝播可能な機能ロジックのレベル数を変化させることにより、外部の機構によって、或いは、完全にＬＣＢと分離した機構によって伝播を制御可能となる。
【００７５】
一実施形態において、ＬＣＢがプログラム可能なクロック制御（ＰＣＣ）と連動して使用される。ＬＣＢが走査ラッチに提供される実際のクロック信号を制御する一方、ＰＣＣがＬＣＢに入力されるＳＧ信号及びＴＨＯＬＤ信号を提供するように設計される。ＳＧはまた走査ラッチに入力され、これにより、これらのラッチが、先行する走査ラッチからデータを受信するか、或いはロジック回路の機能構成部分からデータを受信するかが制御される。
【００７６】
図１１には、一実施形態に従って、ＬＣＢとＰＣＣとの相互接続を例示する機能ブロック図が示される。この実施形態において、ＰＣＣ９１０は、マスタークロック信号を受信すると共に、ＬＣＢ９２０に送信されるＳＧ信号及びＴＨＯＬＤ信号を生成する。ＰＣＣ９１０から受信されるＳＧ信号及びＴＨＯＬＤ信号に加えて、ＬＣＢ９２０はマスタークロック信号を受信する。ＬＣＢ９２０の特定の実施形態によれば、ＬＣＢ９２０に対する付加入力は、上述のＡＣＴ信号及びＰＭＯ信号を含むことができる。これらの実施形態の夫々においてＡＣＴ信号が使用されるが、この信号は、テスト中のロジック回路内に組込まれた機能ロジックによって生成されるか、或いは、この信号は、テスト中のロジック回路とは別の機能ロジックによって生成されることが可能である点に留意する必要がある。ＬＣＢ９２０は、次に、ＬＢＩＳＴ回路及びテスト中の機能ロジック回路に入力されるクロック信号を生成する。ＬＢＩＳＴ回路及びテスト中の機能ロジック回路はまた、ＰＣＣ９１０によって生成されたＳＧ信号を受信する。
【００７７】
ＰＣＣ９１０を更に詳述する前に、図１２のタイミング図を参照する。図１２は、一実施形態に従って、テストサイクルの走査段階及び機能段階を示すタイミング図である。上述のように、テストサイクルは走査段階及び機能段階からなる。テストサイクルの走査段階の間、疑似ランダムビットシーケンスが走査ラッチに走査される。ビット値が走査ラッチにロードされた後に機能段階があり、機能段階の間に、走査ラッチのデータビットが、ロジック回路の機能構成部分の対応する部分を介して伝播可能となる。この機能段階の後、走査段階及び機能段階が繰り返される。走査段階及び機能段階の夫々繰り返しが、本願明細書においてテストサイクルとして言及される。
【００７８】
テストサイクルは、機能段階の後、特に、走査ラッチ外にデータビットを走査するために走査段階を含まない。しかし、ここで、走査段階は、走査ラッチ外にこれらのデータビットを同時に走査し、また、新規な疑似ランダムビットシーケンスをこれらの走査ラッチにロードするように機能する点に留意する必要がある。
【００７９】
図１３には、この実施形態に従って、ＰＣＣ９１０を例示するより詳細な機能ブロック図が示される。この実施形態は３つのカウンタを含み、これらは、ＬＢＩＳＴシステムのモード（システムが走査段階または機能段階にあるか）と、波データレジスタの現在位置におけるマスタークロックのクロックサイクルの数とを追跡するように構成される。
【００８０】
これらの内で第１カウンタはモードカウンタ１１１０である。再び図１２のタイミング図を参照すると、ここに、モードカウンタ１１１０の値が示される。機能段階の間、モードカウンタ値は０である。走査段階の間、モードカウンタ値は１である。モードカウンタ１１１０に記憶された値は、記憶データを読むため、適切なレジスタを選択するように、セレクタ１１２１、１１２２、１１２３及び１１２４によって使用される。各セレクタ１１２１、１１２２、１１２３及び１１２４に関し、モードカウンタ１１１０に記憶された値が０である場合、機能レジスタが選択される。一方、モードカウンタ１１１０に記憶された値が１である場合、走査レジスタが選択される。
【００８１】
ＰＣＣ９１０の第２のカウンタはサイクルカウンタ１１３０である。サイクルカウンタ１１３０は、現在のモードにおけるＬＣＢのクロックサイクルの数をカウントする。サイクルカウンタ１１３０は、最初に０にセットされる。ＬＣＢクロックのサイクルが検出されるとき、サイクルカウンタ１１３０がインクリメントされる。サイクルカウンタ１１３０の値は、機能段階及び走査段階に関して図１２に例示される。この図に示すように、サイクルカウンタ１１３０は機能段階において０から７までカウントし、走査段階において０から９９９までカウントする。後で詳述するように、これらのカウンタ範囲は、機能モードサイクルレジスタ１１３２及び走査モードサイクルレジスタ１１３３に夫々に記憶される７及び９９９の値に対応する。
【００８２】
サイクルカウンタ１１３０の値は、モードサイクルレジスタ１１３２及び１１３３の一方に記憶された値と、コンパレータ１１３１によって比較される。モードカウンタ１１１０が０にセットされると、セレクタ１１２１は、機能モードサイクルレジスタ１１３２を選択し、コンパレータ１１３１にこの値を提供する。モードカウンタ１１１０が１にセットされると、セレクタ１１２１は、走査モードサイクルレジスタ１１３３を選択し、コンパレータ１１３１にこの値を提供する。サイクルカウンタ１１３０の値が選択されたモードサイクルレジスタの値に到達すると、リセット信号がサイクルカウンタ１１３０及びモードカウンタ１１１０に提供される。サイクルカウンタ１１３０がリセット信号を受信すると、サイクルカウンタ１１３０が０にリセットされる。モードカウンタ１１１０がコンパレータ１１３１からリセット信号を受信すると、モードカウンタ１１１０に記憶された値が切替えられる。換言すると、モードカウンタ１１１０に０が現在記憶されている場合、これが１に切替えられる。また、モードカウンタ１１１０に１が現在記憶されている場合、これが０に切替えられる。
【００８３】
ＰＣＣ９１０の第３のカウンタは波カウンタ１１４０である。波カウンタ１１４０は、０から、波サイクルレジスタ１１４２及び１１４３の選択された１つに記憶された値までカウントするように構成される。モードサイクルレジスタ１１３２及び１１３３と同様に、セレクタ１１２２は、モードカウンタ１１１０に記憶されたモード値に基づいて、波サイクルレジスタ１１４２及び１１４３の適切な１つを選択する。モードカウンタ１１１０が０にセットされると、セレクタ１１２２は、機能波サイクルレジスタ１１４２を選択し、コンパレータ１１４１にこの値を提供する。モードカウンタ１１１０が１にセットされると、セレクタ１１２２は、走査波サイクルレジスタ１１４３を選択し、コンパレータ１１４１にこの値を提供する。波カウンタ１１４０の値が選択された波サイクルレジスタの値に到達すると、リセット信号が波カウンタ１１４０に提供される。このリセット信号により、波カウンタ１１４０の値が０にリセットされる。波カウンタ１１４０は、次に、カウントを継続する。
【００８４】
典型的には、機能波サイクルレジスタ１１４２の値は、テストサイクルの機能段階の間に、波カウンタ１１４０が０からこの値までの範囲で一度カウントするような値にセットされる。従って、機能波サイクルレジスタ１１４２が７にセットされると、テストサイクルの機能段階の間に、波カウンタ１１４０が０から７までカウントする。これは図１２に示される。一方、走査波サイクルレジスタ１１４３の値は、典型的には、テストサイクルの走査段階の間に、波カウンタ１１４０が０からこの値までの範囲で複数回カウントするような値にセットされる。例えば、走査波サイクルレジスタ１１４３が２の値を含むと、サイクルカウンタ１１３０が０から９９９までカウントする一方で、波カウンタ１１４０が０から２まで範囲を複数回カウントする。図１２は、この実施形態に従って、走査サイクルの間における、０から２の範囲の波カウンタ１１４０の繰返しサイクルを示す。
【００８５】
波カウンタ１１４０に記憶された値は、出力信号ＴＨＯＬＤ及びＳＧを夫々提供するための適切な値を選択するように、セレクタ１１５１及び１１６１によって使用される。セレクタ１１２３は、モードカウンタ１１１０の値に基づいて、ＴＨＯＬＤ波データレジスタ１１５２及び１１５３の適切な１つを選択する。モードカウンタ１１１０が１を有すると、機能波データレジスタ１１５２が選択される。モードカウンタ１１１０に０が記憶されると、走査波データレジスタ１１５３が選択される。一実施形態において、ＴＨＯＬＤ波データレジスタ１１５２及び１１５３の夫々は８ビットを含む。セレクタ１１５１は、適切なレジスタのビットの１つを選択し、これをＴＨＯＬＤ出力信号として提供する。波カウンタ１１４０がインクリメントされるのに従って、セレクタ１１５１は、ＴＨＯＬＤ出力信号として提供するように、記憶されたビットの連続ビットを選択する。従って、波カウンタ１１４０が０であると、ＴＨＯＬＤ波データレジスタの第１のビットがセレクタ１１５１によって選択される。波カウンタ１１４０が１までインクリメントされると、ＴＨＯＬＤ波データレジスタの第２のビットがセレクタ１１５１によって選択される。波カウンタ１１４０が０にリセットされると、ＴＨＯＬＤ波データレジスタの第１のビットがセレクタ１１５１によって再び選択される。ＴＨＯＬＤ波データレジスタ内のデータに対応する繰返しパターンが、これにより、ＴＨＯＬＤ出力信号として生成される。
【００８６】
ＰＣＣ９１０によって出力されるＳＧ信号は、ほぼ同じ態様で生成される。セレクタ１１２４は、モードカウンタ１１１０に記憶された値に基づいて、ＳＧ波レジスタ１１６２及び１１６３の一方を選択する。波カウンタ１１４０が、その対応する値範囲をインクリメントする一方で、セレクタ１１６１は、ＳＧ出力信号を提供するように、ＳＧ波データレジスタ１１ｌ６及び１１６３の選択された１つからビットを選択する。セレクタ１１６１は、これにより、ＳＧ波データレジスタ１１６２及び１１６３の内容に基づいて、繰返し出力信号を提供する。
【００８７】
コンパレータ１１３１及び１１４１は、それらが対応する選択されたレジスタの値に到達するか、または、それらがこれらの値を上回ると、夫々のリセット信号を生成するように構成可能な点に留意する必要がある。レジスタ１１３２、１１３３、１１４２及び１１４３に記憶された値は、コンパレータ１１３１及び１１４１の動作を考慮に入れる。例えば、サイクルカウンタ１１３０に記憶された値が、モードサイクルレジスタ１１３２及び１１３３の選択された１つに記憶された値に到達したとき、コンパレータ１１３１がゼロに来始めてリセット信号を発する場合、モードサイクルレジスタ１１３２及び１１３３に記憶された値は、所望のサイクル数から１を引いた数に等しくなる。従って、機能段階に８サイクルを有することが望まれる場合、機能モードサイクルレジスタに７の値が記憶され、これにより、サイクルカウンタ１１３０及びコンパレータ１１３１が０から７までの範囲をカウントするようにする。同様に、走査段階に１０００サイクルを有することが望まれる場合、走査モードサイクルレジスタに９９９の値が記憶され、これにより、サイクルカウンタ１１３０及びコンパレータ１１３１が０から９９９までの範囲をカウントするようにする。
【００８８】
図１３は、実施形態において、「１１１０００００」の値が機能波データレジスタ１１５２に記憶される一方、「１０００００００」の値が走査波データレジスタ１１５３に記憶される可能性があることを示す。機能段階の間、機能波データレジスタ１１５２がセレクタ１１２３によって選択される。機能段階の間、波カウンタ１１４０が８つの波サイクルを通してカウントし（波カウンタ１１４０が０から７をカウント）、そして、セレクタ１１５１が、機能波データレジスタ１１５２に記憶されたビット（「１１１０００００」）に基づいて、ＴＨＯＬＤ信号を生成する。
【００８９】
このように、機能段階の８つの波サイクルの間、セレクタ１１５１はＴＨＯＬＤ信号を生成し、これは、最初の３つのサイクルの間は１で、後続の５つのサイクルの間は０である。ＰＣＣ９１０が機能モード（モードカウンタ＝０）から、走査モード（モードカウンタ＝０）に移行すると、セレクタ１１２２が走査波サイクルレジスタ１１４３（２の値を有する）を選択すると共に、セレクタ１１２３が走査波データレジスタ１１５３（ビット「１０００００００」を含む）を選択する。従って、セレクタ１１５１は、各８サイクルの代わりに、各３サイクルを繰り返すＴＨＯＬＤ信号を生成し。ここで、繰返しパターンは「１００」である（走査波データレジスタ１１５３の最初の３つのビット）。図１２には、テストサイクルを通してセレクタ１１５１（即ち、ＰＣＣ９１０）によって出力される結果ＴＨＯＬＤ信号が示される。出力信号ＳＧは、出力波形がＳＧ波データレジスタ１１６２及び１１６３に記憶されたビットに基づくことを除いて、同様に生成される。図１２にはまた、テストサイクルを通した結果信号も示される。
【００９０】
図１１はまた、テストサイクル、レジスタに記憶されたビットシーケンス、などの数を制御する１つ以上の構成部分を含むことができる点に留意する必要がある。例えば、一実施形態において、制御構成部分は、レジスタ１１３２、１１３３、１１４２、１１４３、１１５２、１１５３、１１６２及び１１６３に特定のビットシーケンスを記憶すると共に、次に、記憶されたビットシーケンスを使用して、特定数のテストサイクルを進めるように構成可能である。制御構成部分は、次に、レジスタに記憶されたビットシーケンスを変更し、記憶された変更ビットシーケンスを使用して、特定数のテストサイクルを再び進めるようにすることができる。
【００９１】
典型的には、前述の段落に記載される本発明の実施形態はハードウェアシステムを具備するが、多くの別の実施形態も可能である点に留意する必要がある。例えば、ＬＢＩＳＴシステムの部分、例えば、ＬＣＢは、プロセッサ上で実行されるように形成されたソフトウェアモジュールとして実施可能である。これらのソフトウェアモジュールは、上述の通りに動作するか、または、それらは前述の実施形態からの変更を組込むことができる。例えば、一実施形態において、走査チェーンからのデータが伝播されるテスト中のロジック回路における、ロジック構成部分のレベル数を決定するＡＣＴ信号を生成するため、ＬＢＩＳＴシステムは、実際の機能ロジックではなく、ソフトウェアモジュールを使用可能である。ソフトウェアを含む、または、ソフトウェアモジュールを具備する構成部分を含むような本発明の実施形態は、典型的には、コンピュータで読み取り可能な媒体、例えば、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭなどに表現されるソフトウェアを有する。
【００９２】
他の実施形態は、テスト欠陥カバー範囲を改善する方法を具備することができる。例えば、一実施形態は、機能ロジック構成部分のレベル数における変化を導入することにより、欠陥カバー範囲を改善する方法を具備することができる。この方法は、１つ以上の走査チェーンに疑似ランダムビットシーケンスを走査する工程と、疑似ランダムビットシーケンス（または疑似ランダムビットシーケンスから生じたデータ）を伝播するロジックのレベル数を決定する工程と、決定された数のレベルのロジックを介して走査チェーンからのデータを伝播する工程と、データを捕捉する工程と、そして、走査チェーン外に結果データを走査する工程と、を具備する。他の実施形態は、ＢＩＳＴテストを実行するのと同程度に単純な方法を具備することができ、ここで、あるテストサイクルから次のテストサイクルに走査チェーンからのデータを伝播するテスト中の回路のレベル数は可変である。
【００９３】
本出願の開示は、ロジック回路をテストするためのＬＢＩＳＴシステムという状況において本発明を議論しているが、本発明は、より広い範囲で適用することができ、他の様々な状況において使用可能な点に留意する必要がある。例えば、ロジックゲートだけを具備するテスト回路に使用されるのではなく、本発明の幾つかの実施形態は、非ロジック構成部分を含む回路上のＢＩＳＴ型テストを実行するために使用可能である。更に、本発明の幾つかの実施形態は、テスト中の回路に外部にあるシステムの全て或いは一部において実施可能となる。従って、本出願の開示は、本発明をロジック回路のＬＢＩＳＴテストの分野に制限するものと解釈すべきではない。
【００９４】
ここで、「コンピュータで読み取り可能な媒体」は、コンピュータによって実行可能なプログラム命令を記憶することができるいかなる媒体をも意味する。例えば、媒体には、フロッピー（登録商標）ディスク、ハードディスクデバイス、ＣＤ−ＲＯＭＳ、ＤＶＤ−ＲＯＭＳ、ＲＡＭ、ＲＯＭ、ＤＡＳＤアレイ、磁気テープ、フロッピー（登録商標）ディスケット、光記憶デバイスデバイスなどが含まれる。また、ここで、「コンピュータ」は、コンピュータで読み取り可能な媒体を読み込む、及び／またはそこ記載される機能を実行することができる、いかなるタイプのデータ処理システムも含むことを意図する。
【００９５】
当業者であれば、情報及び信号は、様々な異なる技術及び手法のいずれかを使用することにより、表現可能であることが理解できるであろう。例えば、上記の記載において言及されるデータ、指示、コマンド、情報、信号、ビット、記号、及びチップは、電圧、電流、電磁波、磁場または磁性粒子、光学場または光学粒子、またはそれらの組合せによって表現可能である。これらの情報及び信号は、開示のシステムの構成部分の間で、導線、金属的なトレース、ビア、光ファイバ、などを含む、任意の適切な伝達媒体を使用して伝達可能である。
【００９６】
当業者であれば、また、ここに開示される実施形態と関連して記載される様々な例示のロジックブロック、モジュール、回路及びアルゴリズム工程が、電子ハードウェア、コンピューターソフトウェア、或いはこれらの組合せとして実施可能となることが理解できるであろう。ハードウェア及びソフトウェアとのこの互換性を明示するため、様々な例示の構成部分、ブロック、モジュール、回路及び工程は、上記説明において、それらの機能性に関して一般的に記述されている。この種の機能性が、ハードウェアまたはソフトウェアとして実施されるかどうかは、全体的なシステムに課せられる特定の適用及び設計制約に依存する。当業者であれば、各特定の適用のために、上述の機能性を様々な態様で実施することが可能であろう。しかし、そのような実施上の決定は本発明の範囲からの離脱をもたらすものであると解釈されてはならない。
【００９７】
ここに開示される実施形態と関連して記載される様々な例示のロジックブロック、モジュール及び回路は、ここに記載される機能を実行するように、以下のような対象と共に実施可能となる。それらは、特定用途向けＩＣ（ＡＳＩＣ）、フィールドプログラム可能なゲートアレイ（ＦＰＧＡＳ）、多目的プロセッサ、デジタル信号プロセッサ（ＤＳＰ）または他のロジックデバイス、ディスクリートゲートまたはトランジスターロジック、ディスクリートハードウェア構成部分、またはそれらの組合せである。多目的プロセッサは、従来のプロセッサ、コントローラ、マイクロコントローラ、状態機械などのいずれであってもよい。プロセッサはまた、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つ以上のマイクロプロセッサ、またはこの種の他の構成のような、コンピュータデバイスの組合せとして実施可能となる。
【００９８】
ここに開示される実施形態と関連して記載される方法またはアルゴリズムの工程は、ハードウェア、プロセッサによって実行されるソフトウェアモジュール、またはこれらの組合せにおいて、直接実施可能である。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、または技術的に公知の他の記憶媒体のいずれにも配設可能である。典型的な記憶媒体はプロセッサに連結され、このプロセッサが、記憶媒体に対する情報の読み込み及び情報の書き込みを行うことができる。代りに、記憶媒体はプロセッサと一体であってもよい。プロセッサ及び記憶媒体はＡＳＩＣに配設可能である。ＡＳＩＣは利用者端末に配設可能である。代りに、プロセッサ及び記憶媒体は、利用者端末のディスクリート構成部分として配設可能である。
【００９９】
その他、本発明の思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の範囲に属するものと了解される。
【０１００】
更に、本発明に係る実施の形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施の形態に示される全構成要件から幾つかの構成要件が省略されることで発明が抽出された場合、その抽出された発明を実施する場合には省略部分が周知慣用技術で適宜補われるものである。以下に、それ等を例示する。
【０１０１】
（１）回路構成をテストするための方法であって、
１つ以上の初期走査チェーンの夫々に対して、
（ａ）前記初期走査チェーンを、ビットの疑似ランダムパターンを具備するデータで満たす工程と、
（ｂ）前記データが伝播される機能回路構成及び対応する後続の走査チェーンのレベル数を決定する工程と、
（ｃ）前記初期走査チェーンから、前記決定されたレベル数の機能回路構成及び対応する後続の走査チェーンを通して前記データを伝播する工程と、
を具備する。
【０１０２】
（２）上記（１）に記載の方法において、前記データが伝播される機能回路構成及び後続の走査チェーンのレベル数が可変である。
【０１０３】
（３）上記（２）に記載の方法において、前記データが伝播される機能回路構成及び後続の走査チェーンのレベル数を決定する工程は、疑似ランダム信号を提供する工程と、前記疑似ランダム信号に基づいて、テストサイクルの機能段階の１つ以上のクロックサイクルを抑制する工程とを具備する。
【０１０４】
（４）上記（３）に記載の方法において、前記疑似ランダム信号を提供する工程は、テスト中の回路の１つ以上の機能ロジック構成部分の出力を提供する工程を具備する。
【０１０５】
（５）上記（１）に記載の方法において、テストサイクルの走査段階及び機能段階を規定する工程を更に具備し、ここで、前記初期走査チェーンを、ビットの疑似ランダムパターンで満たす工程は、前記走査段階で行われ、前記初期走査チェーンから、機能回路構成を介して、前記決定された数の後続の走査チェーンに前記データを伝播する工程は、前記機能段階で行われる。
【０１０６】
（６）上記（５）に記載の方法において、クロック信号を生成すると共に、前記クロック信号を走査チェーンに提供する工程を更に具備し、ここで、前記クロック信号は、前記初期走査チェーンを前記ビットの疑似ランダムパターンで満たすための走査段階に対応する複数のクロックパルスと、前記初期走査チェーンから、機能回路構成を介して、前記決定された数の後続の走査チェーンに前記データを伝播するための機能段階に対応する複数のクロックパルスと、を具備する。
【０１０７】
（７）上記（５）に記載の方法において、走査ゲート（ＳＧ）信号を生成する工程を更に具備し、ここで、前記走査チェーンは、前記ビットの疑似ランダムパターンによって満たされるか、或いは前記ＳＧ信号に基づいて先行する走査チェーンから伝播されるデータを受信するように制御される。
【０１０８】
（８）上記（５）に記載の方法において、ＴＨＯＬＤ信号を生成する工程を更に具備し、ここで、前記生成されたクロック信号のパルスは前記ＴＨＯＬＤ信号によってイネイブルされる。
【０１０９】
（９）上記（１）に記載の方法において、前記方法は組込み自己テスト回路構成において実施される。
【０１１０】
（１０）上記（１）に記載の方法において、前記工程（ａ）から（ｃ）を繰り返す。
【０１１１】
（１１）上記（１）に記載の方法において、前記初期走査チェーンを満たすビットの疑似ランダムパターンを生成する工程を更に具備する。
【０１１２】
（１２）上記（１１）に記載の方法において、前記初期走査チェーンを前記ビットの疑似ランダムパターンで満たす前に、前記ビットの疑似ランダムパターンを位相シフトする工程を更に具備する。
【０１１３】
（１３）上記（３）に記載の方法において、後続の走査チェーンの対応する１つにおいて、各初期走査チェーンから前記ビットの疑似ランダムパターンが伝播されることによってもたらされるデータを捕捉する工程を更に具備する。
【０１１４】
（ｌ４）上記（１３）に記載の方法において、前記走査チェーンから前記ビットの疑似ランダムパターンが伝播されることによってもたらされるデータを、複数入力シグネチャレジスタ（ＭＩＳＲ）に転送する工程を更に具備する。
【０１１５】
（１５）上記（１４）に記載の方法において、前記走査チェーンから前記ビットの疑似ランダムパターンが伝播されることによってもたらされるデータを、前記データを前記ＭＩＳＲに転送する前に、圧縮する工程を更に具備する。
【０１１６】
（１６）テスト中の回路をテストするためのシステムであって、
前記テスト中の回路の対応するレベルに介在された複数の走査チェーンと、
前記走査チェーンに連結されたコントローラと、を具備し、前記コントローラは、前記複数の走査チェーンの少なくとも一部のデータが、前記テスト中の回路の可変数の前記レベルを介して伝播されるようにする。
【０１１７】
（１７）上記（１６）に記載のシステムにおいて、前記コントローラは、テストサイクルの走査段階の間に前記走査チェーンを介してデータをシフトし、前記テストサイクルの機能段階の間にテスト中の回路の可変数のレベルを介して、前記走査チェーンからデータを伝播するように、前記走査チェーンを制御するように構成される。
【０１１８】
（１８）上記（１６）に記載のシステムにおいて、前記コントローラは、前記複数の走査チェーンに入力されるクロック信号を生成するように構成されたローカル制御バッファ（ＬＣＢ）を具備する。
【０１１９】
（１９）上記（１８）に記載のシステムにおいて、走査段階の間、前記ＬＣＢは各走査チェーンを介してデータをシフトするために一連のクロックパルスを生成するように構成され、機能段階の間、前記ＬＣＢはデータをテスト中の回路の対応する数のレベルを介して伝播させるための可変数のクロックパルスを生成するように構成される。
【０１２０】
（２０）上記（１９）に記載のシステムにおいて、前記ＬＣＢは、２つ以上の連続するテストサイクルの機能段階におけるクロックパルスの可変数を変えるように構成される。
【０１２１】
（２１）上記（２０）に記載のシステムにおいて、前記ＬＣＢは、疑似ランダム入力信号に基づいて、前記機能段階におけるクロックパルスの可変数を変えるように構成される。
【０１２２】
（２２）上記（２１）に記載のシステムにおいて、前記疑似ランダム入力信号は、前記テスト中の回路の１つ以上の機能ロジック構成部分の出力を具備する。
【０１２３】
（２３）上記（２１）に記載のシステムにおいて、前記ＬＣＢは、前記疑似ランダム入力信号に基づいて、前記機能段階の間、１つ以上のクロックパルスを抑制することにより、前記機能段階におけるクロックパルスの可変数を変えるように構成される。
【０１２４】
（２４）上記（１６）に記載のシステムにおいて、前記コントローラは、前記走査チェーンに連結されると共に、前記走査チェーンに走査されるビットの疑似ランダムパターンを生成するように構成された疑似ランダムパターンジェネレータ（ＰＲＰＧ）を具備する。
【０１２５】
（２５）上記（２４）に記載のシステムにおいて、前記コントローラは、前記ＰＲＰＧと前記走査チェーンとの間に連結された位相シフタを具備し、ここで、前記位相シフタは、前記ＰＲＰＧによって生成された前記ビットの疑似ランダムパターンが前記走査チェーンに走査される前に、前記ビットの疑似ランダムパターンの位相をシフトすることように構成される。
【０１２６】
（２６）上記（１６）に記載のシステムにおいて、前記コントローラは、前記走査チェーンに連結されると共に、前記走査チェーン外に走査されるデータに対応する一組のデータビットを記憶するように構成された複数入力シグネチャレジスタ（ＭＩＳＲ）を具備する。
【０１２７】
（２７）上記（２６）に記載のシステムにおいて、前記コントローラは、前記ＭＩＳＲと前記走査チェーンとの間に連結されたコンパクタを具備し、ここで、前記コンパクタは、前記走査チェーン外に走査される前記データを圧縮するように構成され、この圧縮されたデータがＭＩＳＲに記憶される。
【０１２８】
（２８）上記（１６）に記載のシステムにおいて、走査ゲート（ＳＧ）信号及びＴＨＯＬＤ信号を生成するように構成されたプログラム可能なクロックコントローラ（ＰＣＣ）を更に具備し、ここで、前記コントローラは、前記ＴＨＯＬＤ信号に基づいて、マスタークロック信号のクロックパルスが前記走査チェーンを通過可能とするように構成され、また、前記コントローラは、前記ＳＧ信号に基づいて、走査データ及び機能データの何れか一方を選択して、前記走査チェーンの走査ラッチに提供するように構成される。
【０１２９】
（２９）上記（１６）に記載のシステムにおいて、各走査チェーンは複数の走査ラッチを具備する。
【０１３０】
（３０）上記（１６）に記載のシステムにおいて、各走査チェーンで、前記走査ラッチの夫々はデマルチプレクサに連結され、ここで、前記デマルチプレクサは、走査データ及び機能データの何れか一方を選択して、この選択したデータを前記走査ラッチに提供するように構成される。
【０１３１】
（３１）上記（３０）に記載のシステムにおいて、前記デマルチプレクサは、前記デマルチプレクサで受信される走査ゲート信号に基づいて、走査データ及び機能データの何れか一方を選択するように構成される。
【０１３２】
（３２）上記（３０）に記載のシステムにおいて、前記デマルチプレクサは、対応する走査チェーンの先行する走査ラッチからの出力を選択することによって走査データを選択すると共に、前記テスト中の回路の機能ロジック構成部分からの出力を選択することによって機能データを選択するように構成される。
【０１３３】
（３３）ＢＩＳＴシステムにおいて、複数の走査チェーンへのデータをクロック制御すると共に、機能ロジック及び前記複数の走査チェーンを介してデータを伝播するためのクロック信号を生成するように構成されたローカル制御バッファ（ＬＣＢ）であって、
マスタークロック信号、走査ゲート（ＳＧ）信号、テストホールド（ＴＨＯＬＤ）信号、及びアクティブ（ＡＣＴ）信号を受信するための複数の入力と、
ロジック回路構成と、
を具備し、前記ロジック回路構成は、
前記マスタークロック信号、前記ＳＧ信号、前記ＴＨＯＬＤ信号、及び前記ＡＣＴ信号を受信し、
走査段階においてクロックパルスを生成し、ここで、前記走査段階のクロックパルスの数は、前記ＢＩＳＴシステムの複数の走査チェーンの夫々における走査ラッチの数と対応することと、
機能段階においてクロックパルスを生成し、ここで、前記機能段階のクロックパルスの数は、連続する機能段階の間で可変であることと、
生成されたクロックパルスを前記ＢＩＳＴシステムの前記走査ラッチに提供する、
ように構成される。
【０１３４】
（３４）上記（３３）に記載のローカル制御バッファにおいて、前記ロジック回路構成は、受信されたＡＣＴ信号に対応して、前記機能段階のクロックパルスを抑制することによって前記機能段階の前記クロックパルスを生成するように構成される。
【０１３５】
（３５）上記（３４）に記載のローカル制御バッファにおいて、受信されたＡＣＴ信号は、ビットの疑似ランダムシーケンスを具備する。
【０１３６】
（３６）上記（３４）に記載のローカル制御バッファにおいて、前記ＬＣＢは、テスト中の回路の１つ以上機能構成部分の出力に連結され、前記テスト中の回路の前記１つ以上の機能構成部分の出力からＡＣＴ信号を受信するように構成される。
【０１３７】
（３７）上記（３３）に記載のローカル制御バッファにおいて、
前記ＬＣＢは、第１のＯＲゲート、ＡＮＤゲート、及び第２のＯＲゲートを具備することと、
前記第１のＯＲゲートは、前記ＳＧ信号及び前記ＡＣＴ信号を入力として受信し、第１の出力信号を生成することと、
前記ＡＮＤゲートは、前記第１の出力信号及び前記ＴＨＯＬＤ信号を入力として受信し、第２の出力信号を生成することと、
前記第２のＯＲゲートは、前記第２の出力信号及び前記マスタークロック信号を入力として受信し、第３の出力信号を生成することと、
前記ＢＩＳＴシステムにおいて、前記複数の走査チェーンへのデータをクロック制御すると共に、前記機能ロジック及び前記複数の走査チェーンを介してデータを伝播するためのクロック信号は、前記第３の出力信号を具備することと、
を含む。
【０１３８】
（３８）上記（３３）に記載のローカル制御バッファにおいて、
前記ＬＣＢは、第１及び第２のＯＲゲート及び第１及び第２のＡＮＤゲートを具備することと、
前記第１のＡＭＤゲートは、前記ＳＧ信号及び電源モードオーバーライド信号を入力として受信し、第１の出力信号を生成することと、
前記第１のＯＲゲートは、前記第１の出力信号及び前記ＡＣＴ信号を入力として受信し、第２の出力信号を生成することと、
前記第２のＡＮＤゲートは、前記第２の出力信号及び前記ＴＨＯＬＤ信号を入力として受信し、第３の出力信号を生成することと、
前記第２のＯＲゲートは、前記第３の出力信号及び前記マスタークロック信号を入力として受信し、第４の出力信号を生成することと、
前記ＢＩＳＴシステムにおいて、前記複数の走査チェーンへのデータをクロック制御すると共に、前記機能ロジック及び前記複数の走査チェーンを介してデータを伝播するためのクロック信号は、前記第４の出力信号を具備することと、
を含む。
【０１３９】
（３９）ＢＩＳＴシステムにおいて、複数の走査チェーンへのデータをクロック制御すると共に、機能ロジック及び前記複数の走査チェーンを介してデータを伝播するためのクロック信号を生成するための方法であって、
マスタークロック信号、走査ゲート（ＳＧ）信号、テストホールド（ＴＨＯＬＤ）信号、及びアクティブ（ＡＣＴ）信号を受信する工程と、
走査段階においてクロックパルスを生成する工程と、ここで、前記走査段階のクロックパルスの数は、前記ＢＩＳＴシステムの複数の走査チェーンの夫々における走査ラッチの数と対応することと、
機能段階においてクロックパルスを生成する工程と、ここで、前記機能段階のクロックパルスの数は、連続する機能段階の間で可変であることと、
生成されたクロックパルスを前記ＢＩＳＴシステムの前記走査ラッチに提供する工程と、
を具備する。
【０１４０】
（４０）上記（３９）に記載の方法において、前記走査段階においてクロックパルスを生成する工程は、受信されたＡＣＴ信号に対応して、前記機能段階のクロックパルスを抑制する工程を具備する。
【０１４１】
（４１）上記（４０）に記載の方法において、受信されたＡＣＴ信号は、ビットの疑似ランダムシーケンスを具備する。
【０１４２】
（４２）上記（３９）に記載の方法において、前記ＡＣＴ信号を受信する工程は、前記テスト中の回路の前記１つ以上機能構成部分の出力から前記ＡＣＴ信号を受信する工程を具備する。
【０１４３】
（４３）上記（３９）に記載の方法において、
前記ＳＧ信号及び前記ＡＣＴ信号に対してＯＲ（論理和）処理をし、第１の出力信号を生成する工程と、
前記第１の出力信号及び前記ＴＨＯＬＤ信号に対してＡＮＤ（論理積）処理をし、第２の出力信号を生成する工程と、
前記第２の出力信号及び前記マスタークロック信号に対してＯＲ（論理和）処理をし、前記ＢＩＳＴシステムにおいて、前記複数の走査チェーンへのデータをクロック制御すると共に、前記機能ロジック及び前記複数の走査チェーンを介してデータを伝播するための前記クロック信号を生成する工程と、
を更に具備する。
【０１４４】
（４４）上記（３９）に記載の方法において、
前記ＳＧ信号及び電源モードオーバーライド（ＰＭＯ）信号に対してＡＮＤ（論理積）処理をし、第１の出力信号を生成する工程と、
前記第１の出力信号及び前記ＡＣＴ信号に対してＯＲ（論理和）処理をし、第２の出力信号を生成する工程と、
前記第２の出力信号及び前記ＴＨＯＬＤ信号に対してＡＮＤ（論理積）処理をし、第３の出力信号を生成する工程と、
前記第３の出力信号及び前記マスタークロック信号に対してＯＲ（論理和）処理をし、前記ＢＩＳＴシステムにおいて、前記複数の走査チェーンへのデータをクロック制御すると共に、前記機能ロジック及び前記複数の走査チェーンを介してデータを伝播するための前記クロック信号を生成する工程と、
を更に具備する。
【図面の簡単な説明】
【０１４５】
【図１】単純な典型的なロジック回路を示す線図である。
【図２】図１の典型的なロジック回路とロジック回路をテストするための付加ＬＢＩＳＴ構成部分とを示す線図である。
【図３】大規模なロジック回路をテストするのに使用可能なＬＢＩＳＴアーキテクチャを示す機能ブロック図である。
【図４】典型的なＬＦＳＲの機能構造を示す線図である。
【図５】（ａ）及び（ｂ）は、一連の走査チェーンにＰＲＰＧ及び／または位相シフタによって提供される疑似ランダムビットシーケンスを示す線図である。
【図６】一実施形態に従って、１つ以上の走査チェーンの構造を示す機能ブロック図である。
【図７】（ａ）及び（ｂ）は、走査チェーンとの間でデータを走査するため、及びテスト中の回路の機能ロジック構成部分を介して伝播されるデータを放出及び捕捉するための典型的なクロック信号を示す線図である。
【図８】一実施形態に従って、ローカル制御バッファの設計を示す線図である。
【図９】一実施形態に従って、クロック信号がローカル制御バッファから一組の走査ラッチまで供給される態様を示す線図である。
【図１０】別の実施形態に従って、ローカル制御バッファの設計を示す線図である。
【図１１】一実施形態に従って、ローカル制御バッファとプログラム可能なクロック制御との相互接続を示す機能ブロック図である。
【図１２】一実施形態に従って、テストサイクルの走査段階及び機能段階を示すタイミング図である。
【図１３】一実施形態に従って、プログラム可能なクロック制御を示す詳細な機能ブロック図である。
【符号の説明】
【０１４６】
２１０、３２０…疑似ランダムパターンジェネレータ（ＰＲＰＧ）、２２０、３７０…複数入力シグネチャレジスタ（ＭＩＳＲ）、３１０…ロジック組込み自己テスト（ＬＢＩＳＴ）コントローラ、３３０…位相シフタ、３４０〜３４４…走査チェーン、３５０…ロジック回路、３６０…コンパクタ、１１１０…モードカウンタ、１１３０…サイクルカウンタ、１１４０…波カウンタ、１１２１〜１１２４、１１５１、１１６１…セレクタ、１１３１、１１４１…コンパレータ、１１３２…機能モードサイクルレジスタ、１１３３…走査モードサイクルレジスタ、１１４２…機能波サイクルレジスタ、１１４３…走査波サイクルレジスタ、１１５２…機能波データレジスタ、１１５３…走査波データレジスタ、１１６２…機能波データレジスタ、１１６３…走査波データレジスタ。
【図１】
2005181333.tif 000006
【図２】
2005181333.tif 000007
【図３】
2005181333.tif 000008
【図４】
2005181333.tif 000009
【図５】
2005181333.tif 000010
【図６】
2005181333.tif 000011
【図７】
2005181333.tif 000012
【図８】
2005181333.tif 000013
【図９】
2005181333.tif 000014
【図１０】
2005181333.tif 000015
【図１１】
2005181333.tif 000016
【図１２】
2005181333.tif 000017
【図１３】
2005181333.tif 000018