(57)【特許請求の範囲】
【請求項１】
デジタル回路を試験する試験装置であって、
入力スキャンデータを受信するスキャンデータ入力（ＳＤＩ）ポートと、
試験クロック信号にのみ呼応して前記入力スキャンデータを受信及びシフト移動することにより疑似ランダムスキャンデータのストリームを生成することが可能な第一の線形フィードバックレジスタと、
前記入力スキャンデータ又は前記疑似ランダムスキャンデータのいずれか一方を、個別のスキャンアウト信号を各々に生成する複数のスキャンパスへと結合するスキャンインセレクタと、
前記個別のスキャンアウト信号を受信するように結合し、前記個別のスキャンアウト信号の機能に対応する個別のシグニチャを生成する複数入力のシグニチャレジスタと、
スキャンデータ出力（ＳＤＯ）ポートと、
前記スキャンアウト信号、又は前記シグニチャのいずれか一方を前記ＳＤＯポートへと結合する出力セレクタと、
前記複数のスキャンパスを通じ、プログラム可能なサイクル数にわたってデータをシフトするようにプログラムすることが出来るシフトカウンタと、
プログラム可能な実行サイクル数にわたって、前記デジタル回路をステップさせるステップカウンタと
を具備する、試験装置。
【請求項２】
前記シグニチャの生成の際、前記入力スキャンアウト信号のいずれのビットの組み合わせも無視することが出来るように、前記複数入力のシグニチャレジスタがマスク可能であることを特徴とする請求項１に記載の試験装置。
【請求項３】
前記複数のスキャンパスを通じてデータをシフトするように、及び／又は前記デジタル回路をシフト及び／又は実行サイクルのプログラム可能なシーケンスのステップを生じさせるようにプログラムすることが出来るステップ／シフトコントローラを含む請求項１に記載の試験装置。
【請求項４】
前記ステップ／シフトコントローラが、複数のビットを第一の端部から第二の端部までシフトさせるシフトレジスタを含み、前記ビットの各々が第一の状態又は第二の状態のいずれか一方の状態にあり、前記第二の端部において前記第一の状態にあるビット出力の各々は、前記複数のスキャンパスを通じて１回以上のシフトサイクルにわたるデータのシフトを生じさせるものであり、そして前記第二の端部において第二の状態にあるビット出力の各々は、前記デジタル回路に１回以上の実行サイクルを生じさせるものであることを特徴とする請求項３に記載の試験装置。
【請求項５】
入力スキャンデータを受信するスキャンデータ入力（ＳＤＩ）ポートと、
試験クロック信号にのみ呼応して前記入力スキャン種データを受信及びシフト移動することにより疑似ランダムスキャンデータのストリームを生成することが可能な第一の線形フィードバックレジスタと、
前記入力スキャンデータ又は前記シフトされた入力スキャンデータのいずれか一方を、個別のスキャンアウト信号を各々に生成する複数のスキャンパスへと結合するスキャンインセレクタと、
前記個別のスキャンアウト信号を受信するように結合し、前記個別のスキャンアウト信号の機能に対応する、個別のシグニチャを生成する複数入力のシグニチャレジスタと、
スキャンデータ出力（ＳＤＯ）ポートと、
そして前記スキャンアウト信号、又は前記シグニチャのいずれか一方を前記ＳＤＯポートへと結合する出力セレクタと、
前記複数のスキャンパスを通じ、プログラム可能なサイクル数にわたってデータをシフトするようにプログラムすることが出来るシフトカウンタと、
集積回路をプログラム可能な実行サイクル数にわたってステップさせるステップカウンタと
を具備した集積回路の試験を可能とする方法であって、
前記入力スキャンデータ又は前記シフトされた入力スキャンデータのいずれか一方を前記複数のスキャンパスへと結合するように前記スキャンインセレクタをプログラムするステップと、
前記スキャンアウト信号又は前記シグニチャのいずれか一方を前記ＳＤＯポートへと結合するように前記出力セレクタをプログラムするステップと、
前記シフトカウンタを、プログラム可能なシフトサイクル数にわたってシフトを行うようにプログラムするステップと、
前記複数のスキャンパスを通じ、前記プログラム可能なシフトサイクル数にわたってデータをシフトするステップと、
プログラム可能な実行サイクル数にわたってステップを生じるように前記ステップカウンタをプログラムするステップと、
前記プログラム可能な実行サイクル数にわたるステップを実行するステップと
を含む方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は一般にデジタル電子システムを試験する方法に関するものであり、より具体的にはチップ論理を自己試験する為の内蔵回路をスキャン試験アクセスポートに埋め込むことにより記憶すべきパターン数を低減する方法に関する。
【０００２】
【従来の技術】
集積回路（ＩＣ）がより複雑化すれば、加工・製造工程においてその回路を試験する為のコストも増大することになる。この結果、ＩＣの設計は、一般的にＤＦＴ（Ｄｅｓｉｇｎ  Ｆｏｒ  Ｔｅｓｔａｂｉｌｉｔｙ：試験容易化設計）と呼ばれる設計手法を用いて行われるようになった。ＤＦＴモデルを用いた場合、集積回路はオンチップ試験ハードウエアを含むように設計され、これにより製造テスタにより外部試験をチップに施す、及び／又は内部試験をチップ内で実行してチップの適正機能を検証することが可能となった。その最終目的は、オンチップ試験ハードウエア及び外部試験装置にかかるコストと、効果的な試験の生成及び不具合の検出又は分離に必要な時間及びコストの間のバランスを取ることにより、追加されるオンチップ試験ハードウエアによる全体コストの増大を抑えることである。
【０００３】
周知のＤＦＴ技術の１つにスキャン試験（ｓｃａｎ  ｔｅｓｔｉｎｇ）と呼ばれる試験がある。スキャン試験では、各々が直列読込み即ち直列ロード、及び、並列読込み即ち並列ロードの両方の処理能力を持った複数のスキャンレジスタが必要とされる。代表的なスキャン試験においては、これらのスキャンレジスタは直列に接続されている。このように直列接続されたスキャンレジスタ群を、本願においては「スキャンパス」と呼ぶものとする。入力データは試験アクセスポート（ＴＡＰ）を介して各スキャンレジスタ中へと逐次ロード（シフト操作）されて行く。入力データがロードされると、スキャンレジスタ中の内容は被試験回路（ＣＵＴ）へと並列に送られ、ＣＵＴには１つ以上のクロックサイクルを実行するように命令が送られる。１回以上のクロックサイクルの実行後、ＣＵＴからの出力は並列にスキャンレジスタへと取り込まれ、ＴＡＰの制御下において逐次シフトにより出力される。
【０００４】
スキャン試験の一形態として、境界スキャン（ｂｏｕｎｄａｒｙ  ｓｃａｎ）が知られている。境界スキャンにおいては、スキャンレジスタの各々がＣＵＴのＩ／Ｏ端子とＣＵＴ内部回路との間に結合している。従って境界スキャン試験においては、ＩＣのＩ／Ｏピンに成りかわってスキャンレジスタがデータのロードと受信を行うのである。
【０００５】
スキャン試験は幾つかの理由により有利であるとされている。第一に、スキャン試験によれば、チップ内部信号についての高度な制御性及び観測性が提供される。いずれの入力データ群も、所与のスキャンパスへとシフトしてＣＵＴへと適用することが出来、また、出力を観測へと提供出来るようになる前にＣＵＴに実行させなければならないクロックサイクルの回数も、どのように制御された回数でも良い。スキャンパスは完全に一体化されていても（即ち、スキャンレジスタが、所与のデータ経路中の各機能レジスタにより代替される）、或いは分離されていても（即ち、スキャンレジスタが通常のデータ経路中に無い）良い。これは、ＩＣ設計者に、ＣＵＴのどの部分に特別オンチップ試験ハードウエア機能を保証させるかを決定することが出来るという柔軟性を与えるものである。更に、スキャンレジスタはシリアルＴＡＰを介してロードされる為、試験データを一本のシリアルデータ線によりＣＵＴへと入力することが出来、ＣＵＴの各Ｉ／Ｏ端子又は各試験ノードへとテスタチャネル（例えば、釘のベッド（ｂｅｄ−ｏｆ−ｎａｉｌｓ）のようにＩ／Ｏ端子が多数備えられたテスタ）を適用する必要がない。これによりテスタの構成及び設定コストが大幅に削減され、端子対端子のデータ干渉が生じる可能性が排除される。
【０００６】
上述したように、スキャン試験においては、試験刺激（ｔｅｓｔ  ｓｔｉｍｕｌｕｓ）データのシフト、試験の実行及び試験応答データのシフト出力を制御する為にＴＡＰとシリアル通信プロトコルの使用が必要とされる。ＴＡＰアーキテクチャ及びＴＡＰ通信プロトコルは、周知のＩＥＥＥ１１４９．１規格試験アクセスポート及び境界スキャンアーキテクチャ（ＩＥＥＥ１９８９）において標準化されている。
【０００７】
図１はＩＥＥＥ１１４９．１規格のチップアーキテクチャを示すブロック図である。図示したように、規格に準拠したチップ（又は基板）１０は、チップ特定アプリケーションロジック７４ａないし７４ｄ（図中に相互接続は示していない）と複数の入力及び／又は出力（Ｉ／Ｏ）パッド５２ａ、５２ｂ、・・・、５０ｐとの間に結合する複数のスキャンセル５０ａ、５０ｂ、・・・、５０ｐを含む。チップ１０はまた、試験データ入力（ＴＤＩ）ポート２２と、試験モード選択ポート（ＴＭＳ）２４と、試験クロック（ＴＣＫ）ポート２６と、試験データ出力（ＴＤＯ）ポート２８とを含むＴＡＰ回路ブロック２０を含む。ＴＡＰ回路ブロック２０は更に、命令レジスタ３２と、バイパスレジスタ３４と、そしてオプションとして１つ以上の多機能（ｍｉｓｃｅｌｌａｎｅｏｕｓ）レジスタ３６とを有し、これらレジスタの各々は、ＴＤＩ入力とマルチプレクサ（ＭＵＸ）３８の入力との間に結合している。境界スキャンセル５０ａ、５０ｂ、・・・、５０ｐは、試験データ入力（ＴＤＩ）とマルチプレクサ３８の入力との間で、直列に接続している。ＴＡＰ回路ブロック２０は更に、後に説明する１つのスキャンイン（Ｓｉ）ポート８０と、１つ以上のスキャンアウト（Ｓｏ）ポート８２を含んでいる。スキャンインポート８０はＴＤＩポート２２に結合し、スキャンアウトポート８２はマルチプレクサ３８の入力に結合している。マルチプレクサ３８は、その入力である、命令レジスタ３２、バイパスレジスタ３４、多機能レジスタ３６のうちの１つ、スキャンアウトポート８２のうちの１つ、又は境界スキャンチェーン５０中の１つ（例えばスキャンセル５０ｐの内容等）をＴＤＯポート２８への出力として選択するようにプログラムすることが可能である。ＴＭＳポート２４及びＴＣＫポート２６はＴＡＰコントローラ（ＴＡＰ  ＣＴＬＲ）３０（有限状態機械ＦＳＭ３１を実現する）へと結合している。ＴＭＳ信号の現在の状態は、その過去の状態との組み合わせにより、ＴＡＰ２０の処理を決定するものである。試験クロック信号ＴＣＫは、モード選択信号ＴＭＳ及び信号ＴＤＩ中の試験データのＴＡＰへの入力を同期させる為に使用される。試験モード選択信号ＴＭＳは、ＴＡＰコントローラ３０により実現される有限状態機械（これはＴＡＰ２０に試験データを受信させるか、命令を受信させるかについて制御する）を制御する。
【０００８】
スキャン試験は、スキャンパスがＩ／Ｏ端子におけるスキャンセルしか含まない境界スキャン（図１においてはスキャンパス５０で実装されている）に限られたものではない。スキャンパスはデータ記憶セル群が存在する場所であれば、チップ上のいずれの個所に作っても良い。集積回路はモジュールとして実装される（集積回路機能が異なる論理ブロックに分割されている）ことが多い為、複数の内部スキャンパスを各論理ブロック周辺に設け、それぞれの論理ブロックを他とは無関係に試験出来るようにすることも可能である。図１は複数の内部スキャンパス７２ａ、７２ｂ、７２ｃ及び７２ｄを実現した例を描いたものである。各スキャンパスは、それぞれの論理ブロック７４ａないし７４ｄ中のデータ記憶セル群に対応する一群の相互接続されたスキャンセル（図示せず）を実現している。各論理ブロックは他のブロックから独立している為、各スキャンパス７２ａ、７２ｂ、７２ｃ、７２ｄのスキャンセル数は異なる。また、各スキャンパス７２ａ、７２ｂ、７２ｃ、７２ｄも他から独立している為、単一のスキャンインＳｉ８０を各スキャンパスへと供給しても、いずれの所与のスキャンパスに印加された試験パターンセットのランダム性にも影響は無い。スキャン試験の際、ＴＡＰはＴＤＩポート２２から入力されたデータをスキャンインＳｉ８０経路に沿ってシフトし、各スキャンパス［０．．ｎ］７２ａ、７２ｂ、７２ｃ、７２ｄへと供給する。スキャンインＳｉポート８０を介してスキャンパス７２ａないし７２ｂへとシフトされるビット数は、最長スキャンパス７２ａ、７２ｂ、７２ｃ又は７２ｄ中のスキャンセル数に等しい。かわりに各スキャンパスにそのスキャンチェーン中のビット数そのものを一回ずつロードするようにも出来る。
【０００９】
処理においては、クロックに同期して命令がＴＤＩポート２２から命令レジスタ３２へと順次入力される。試験コントローラ３０は命令に応答し、これに基づいて試験回路を設定する（例えばスキャンセルへの入力がＩ／Ｏパッドを介した並列入力ではなく、スキャンチェーンを介した直列入力となるように選択する、或いはマルチプレクサ３８の入力を選択する等）。命令の各々は、ＴＤＩとＴＤＯの間にある１つの直列試験データレジスタ経路を有効化する。その後ＴＡＰコントローラ３０の制御下において命令が実行される（例えばデータを試験クロック信号ＴＣＫに同期させて逐次シフトさせることによりスキャンセルへ入力又はそのスキャンセルから出力する）。
【００１０】
他の製造試験技術としては、内蔵型自己試験（ＢＩＳＴ）が周知である。ＢＩＳＴ技術もまた、図１に符号６０で示した専用のオンチップ試験回路を使用するもので、これにより集積回路チップは外部テスタ５又はボード又は装置から必要最低限の助けを得るだけで（例えば電力供給（ＰＷＲ）７、クロック（ＣＬＫ）８及びリセット信号（ＲＥＳＥＴ）９の供給）自己試験を実施することが出来る。
【００１１】
ＢＩＳＴには多様な試験が含まれるが、個々の試験は最小限の外部支援（例えば電力及びクロック信号のみを外部から供給してもらう）で実行することが出来る。ＢＩＳＴの一形態としては、複写や比較などの通常の機能処理と同時に実施される、同時（ｃｏｎｃｕｒｒｅｎｔ）オンライン試験が知られている。他のＢＩＳＴの形態として、診断ルーチン等、システムがアイドル状態にある時に行われる非同時オンライン試験も良く知られている。また更に他のＢＩＳＴ形態として、オフライン試験もある。本発明の背景であるこのオフラインＢＩＳＴは、システムが特殊試験モードにある場合に実施される。
【００１２】
ＢＩＳＴ回路は特定の特殊な種類の回路に対して使用されるもので、その最も顕著な例では、ランダムアクセスメモリ（ＲＡＭ）のような通常のメモリアレイ構造の周囲に使用される。メモリ構造に対して適用されたＢＩＳＴをしばしばＭＢＩＳＴと呼ぶ。ＢＩＳＴ技術を一般的なチップ論理構造（例えば論理ゲート）へと拡張したものは、特にスキャン試験の領域においては応用されており、本願においてはこれを論理ＢＩＳＴ、又はＬＢＩＳＴと呼ぶものとする。オフラインＬＢＩＳＴは記憶セルにより相互接続する組み合わせ論理ブロックへと適用される。ＢＩＳＴ回路は試験パターン発生器６２、出力応答アナライザ６４、バスを含む配信系、マルチプレクサ、試験パターン発生器６２から被試験論理ブロック（ＬＢＵＴ）７４ａ、７４ｂ、７４ｃ、７４ｄへと、そしてＬＢＵＴから出力応答アナライザ６４へとデータを伝送する為のスキャンパス７２ａ、７２ｂ、７２ｃ、７２ｄ、そして自己試験の間、ＢＩＳＴ回路及び被試験回路を制御するＢＩＳＴコントローラ（ＢＩＳＴ  ＣＴＬＲ）６を含む。ＢＩＳＴコントローラ６はチップ外部の集積回路テスタ５中に設けることも、ＬＢＩＳＴに指定されている論理ブロックに隣接させて設けることも出来る。ＢＩＳＴコントローラは試験プログラムを通じてＬＢＵＴ７４ａないし７４ｄのステップを制御し、ＢＩＳＴ試験クロック８を制御し、ＣＵＴ全体のデータ経路の設定を制御し、そして各種スキャンパス７２ａないし７２ｄへの、或いは各種スキャンパス７２ａないし７２ｄからのデータシフトを制御する。
【００１３】
ＢＩＳＴが効果的であるかどうかは、効果的な試験パターンを生成することが出来るかどうかによる。試験パターン生成は、広範囲にわたる研究の主題でもある。効果的な試験として知られているものの中には網羅的試験、疑似ランダム試験、疑似網羅的試験が含まれる。網羅的試験は被試験回路ＣＵＴへの全ての可能な入力に対して適用される。例えば、ｎ入力ｍ出力の組み合せ回路においては、この試験を行うには２ｎ入力を印加（及びＩＣテスタ中に記憶）できなければならない。この記憶要求条件により、入力数の多い回路に対してこの技術を適用することは実用的ではない。更に網羅的試験では、回路の連続動作に起因して生じる不良を検出することが出来ない。
【００１４】
疑似網羅的試験においては、被試験回路は一群の副回路へと区分化される。副回路の各々は全体集合ｎ中のより小さい部分集合ｍの入力（例えばｍ＜ｎ）を受信する。これにより、所与の副回路を試験する為の試験パターン数を２ｎから２ｍへと減じることが出来る。
【００１５】
疑似ランダム試験はより少ない試験パターン群を印加するもので、一見ランダムに生成されているように見えるこれらの試験パターンは、実際はアルゴリズム的に出発種から生成されている。従って試験パターンは決定性（ｄｅｔｅｒｍｉｎｉｓｔｉｃ）を有し、同じ試験パターンを既知の種から再度生成することが出来る。疑似ランダム試験は、ＩＣテスター中に記憶すべき試験パターン数を減らせることに加え、不良検出可能範囲も広い為、評判が良い。更に疑似ランダム試験によれば、適切なクロック制御を実施することにより回路の一連の動作に起因して生じる不良を効果的に識別することが出来る。
【００１６】
上述した試験パターン生成技術では、線形フィードバックシフトレジスタ（ＬＦＳＲ）が広範に用いられている。更に、スキャン技術の場合、シグニチャレジスタ（ｓｉｇｎａｔｕｒｅ  ｒｅｇｉｓｔｅｒｓ；例えば出力圧縮）を広範に用いてスキャンパスからの逐次出力の検証を簡素化している。試験パターン生成、スキャン及びＢＩＳＴ技術についての詳細は、Ａｂｒａｍｏｖｉｃｉ等による"Digital Systems Testing and Testable Design（デジタルシステムの試験と試験可能な設計）"、IEEE Press(1990), ISBN0-7803-1062-4, pp.343-489に記載されている。
【００１７】
ＢＩＳＴを集積回路の組み合わせ論理構造に適用する場合、被試験回路（ＣＵＴ）の実際に試験される部分の比率に比べ、ＢＩＳＴ回路のオーバーヘッドの割合が大きいことから問題が生じる。一般的な妥協策として、ＢＩＳＴを高密度のメモリアレイ周囲のみに使用し、チップ論理の残りの部分には他の試験方式（通常はフルスキャン）を使用するという方法がある。
【００１８】
【発明が解決しようとする課題】
集積回路の大型化及び複雑化が進むと、これに比例してスキャン試験パターン数も増大する。刺激及び応答の両方を含むパターン群全体が、デジタルＩＣテスタに記憶されなければならない。これらの試験パターンの大部分は、「フィラー（詰め物）」としてランダムに選択された二進値（「フィラー」と呼ばれるのは、これらの値がスキャンパス全体を埋める為に必要とされる為である）であり、これらが相対的に少数である明確に指定されたビットの周りを埋めている。これらのランダムな詰め物ビットは実際には多く不具合を検出する上でかなり有用な役割を果たしている為、欠く事は出来ない。しかしながら、これらのランダムな詰め物ビットはさほど複雑ではなく、これらを得る他の方法が見つかれば、限られたテスタメモリ中にこれらを記憶する理由は無くなる。従って、ハードウエア及び複雑性に関してＩＣテスタのコストを低減する技術が必要とされているのである。さらに、集積回路中の試験回路オーバーヘッドを、オンチップのＤＦＴ及びＢＩＳＴ機能性を損なうことなく低減する技術も望まれている。
【００１９】
【課題を解決するための手段】
本発明はＩＣテスタの複雑性及びハードウエアを低減すると同時に集積回路中の試験回路オーバーヘッドをＤＦＴ及びＢＩＳＴ機能を犠牲にすることなく低減する為の新規な方法及び装置を提供するものである。本発明によれば、集積回路は試験アクセスポート（ＴＡＰ）及びＤＦＴスキャン回路を含む。ＴＡＰはそのＴＡＰブロック内に、線形フィードバックシフトレジスタ（ＬＦＳＲ）、複数入力のシグニチャレジスタ（ＭＩＳＲ）、ステップカウンタ、シフトカウンタ、ステップ／シフトコントローラ及びＭＩＳＲマスクレジスタ等を含む、ＢＩＳＴ環境に必要とされる全ての機能を含んでいる。これらの追加構成要素を設けた場合、集積回路内に個別のＢＩＳＴモジュールを設ける必要性は本質的に無くなる。これは、ＴＡＰ回路を用いてＢＩＳＴ試験パターンを自動的に作成すると同時にこれらをデジタル回路全体にわたる複数の並列スキャンパスへとロードすることが出来る為である。ＢＩＳＴは本質的に既にチップ上にある既存の試験ハードウエア、即ちＴＡＰ及びスキャンパスを使用する為、ＢＩＳＴルーチンの生成及び実行を制御する為に個別のＢＩＳＴコントローラを設ける必要はない。更に、ランダムな詰め物試験パターンをＩＣテスタ中に記憶及びダウンロードする為に使われるテスタハードウエアは削除される。
【００２０】
本発明によれば、ＴＡＰモジュールは、スキャンデータ入力（ＳＤＩ）ポートとスキャンイン入力Ｓｉとの間でスキャンイン入力Ｓｉに並列に結合するシフトレジスタを含む。スキャンアウト出力Ｓｏにおいては、好ましくはマスク可能な複数入力シグニチャレジスタ（ＭＩＳＲ）がスキャンアウト出力Ｓoとスキャンデータ出力（ＳＤＯ）ポートとの間に結合している。ＢＩＳＴの実行が望まれる場合、試験モード選択ＴＭＳ信号によりＴＡＰコントローラが命令を受信し、ＴＡＰに入力データとしてＬＳＦＲ経路を、そして出力データとしてＭＩＳＲ経路を選択するように指示する。これによりテスタはＴＡＰに指示を出してＬＦＳＲを使用してパターンを生成させると同時にＳｏからの出力データを圧縮させることが出来る。ＬＦＳＲからスキャンパスＳＣＡＮＰＡＴＨ［０：ｎ］へシフトさせるビット数をテスタが指定出来るようにシフトカウンタを設けても良い。テスタは単純に１から最長スキャンチェーン長までの間の数値をシフトカウンタへとロードし、ＴＡＰコントローラは１クロックサイクルに１ビットずつ、シフトカウンタが１クロックサイクル毎に１ずつ減算するに伴ってシフトを行い、カウンタの計数値が０になるまでこれを繰り返す。ステップカウンタは、全てのスキャンチェーンへとデータがシフトされた後に実行するクロックサイクル数をテスタにより指定出来るようにするものである。かわりに、或いはシフト及びステップカウンタに加え、ステップ／シフトコントローラを使用してステップとシフトのシーケンスをプログラミングすることも出来る。
【００２１】
本発明は添付図を参照しつつ以下の詳細説明を読むことによりより容易に理解することが出来る。図においては、同様の構成要素には同様の符号を付した。
【００２２】
以下は、ＩＣテスタの複雑性及びハードウエアを低減させると同時にＤＦＴ（Ｄｅｓｉｇｎ  Ｆｏｒ  Ｔｅｓｔ）及びＢＩＳＴ機能に妥協することなく集積回路における試験回路オーバーヘッドを低減する新規な方法及び装置の詳細説明である。本願に開示の実施例は、周知のＩＥＥＥ１１４９．１規格を背景としたものであるが、本発明の新規な原理は言うまでもなくＤＦＴスキャン技術を実現した回路又は基板のいずれに対しても拡張することが出来る。
【００２３】
【発明の実施の形態】
図２は本発明の装置を描いたブロック図である。図示したように、データはスキャンクロック信号ＳＣＡＮ＿ＣＬＫ１２６の制御下においてスキャンデータ入力（ＳＤＩ）ポート１２２から１つ以上のスキャンパス１７２へと、直接的に（マルチプレクサ１１０の１ポートを介して）、又は線形フィードバックシフトレジスタ（ＬＦＳＲ）１０２を通じて間接的に（選択可能マルチプレクサ１１０の他のポートを介して）入力される。制御信号ＳＥＬ＿ＢＩＳＴ１２４はスキャンパス１７２がＳＤＩポート１２２から直接的にロードされるのか、或いはＬＦＳＲ１０２の出力からロードされるのかを選択するものである。スキャンアウトデータＳＣＡＮ＿ＯＵＴは、スキャンクロック信号ＳＣＡＮ＿ＣＬＫ１２６の制御下で出力されるスキャンパスからの出力である。システム実行クロックＣＬＫ１０９は通常のシステムデータを、スキャンパスを構成するレジスタへと取り込むために使用される。スキャンアウトデータＳＣＡＮ＿ＯＵＴはスキャンデータ出力（ＳＤＯ）ポート１２８から、直接的に（マルチプレクサ（ＭＵＸ）１３８の１つのポートを介して）、又はスキャンアウトデータＳＣＡＮ＿ＯＵＴを圧縮してシグニチャを生成するシグニチャレジスタ（ＭＩＳＲ）１０４を介して間接的に（選択可能マルチプレクサ１３８の他のポートを介して）読み出すことが出来る。出来ればシグニチャレジスタ１０４への入力は、スキャンアウトデータＳＣＡＮ＿ＯＵＴの様々なビットを無視することが出来るように、シグニチャマスクレジスタ（ＭＡＳＫ）１０５を介してマスクすることが出来るようになっていることが望ましい。マスク機構は初期化された内部状態、例えば試験開始時に生成された未知の出力データをマスクにより除外する上で有用である。
【００２４】
本発明の装置によれば、一つの共通スキャンイン（ＳＤＩ）ポートを介して同時に複数のスキャンチェーンにロードすることが出来ると共に、スキャンクロック信号ＳＣＡＮ＿ＣＬＫにより複数のスキャンパス出力に個々にシグニチャを生成することが出来るもので、これらのシグニチャはスキャンアウト（ＳＤＯ）ポートへと個々に選択して出力することが出来る。ＢＩＳＴにおいては、ＬＦＳＲはスキャンパスへとロードすべきシリアルパターンの自動生成に利用される。
【００２５】
図３は本発明に基づく装置を実現した集積回路１００の一部を示すブロック図である。図示のとおり、集積回路１００は複数のスキャンパス１７２ａ、１７２ｂ、１７２ｃ、１７２ｄを含んでおり、これらスキャンパスの各々は、それぞれに独立のスキャンクロックＳＣＡＮ＿ＣＬＫ［０．．ｎ］１７６ａ、１７６ｂ、１７６ｃ、１７６ｄの制御下において、共通のスキャンイン入力Ｓｉ１８０からデータを取り込んで順次シフトし、そして複数あるスキャンアウト出力Ｓｏ［０．．ｎ］１８２ａ、１８２ｂ、１８２ｃ、１８２ｄの対応する１つからデータをシフト出力するものである。スキャンパス１７２ａ、１７２ｂ、１７２ｃ、１７２ｄの各々は直列に相互接続された複数のスキャンセル（図示せず）を含むが、これらはその長さが異なっていても良い（例えばスキャンセル数が異なっていても良い）。
【００２６】
ＩＣ１００は更に、完全なスキャン機能条件を満たす為に設けられた試験アクセスポート（ＴＡＰ）１２０を含む。この実施例においてＴＡＰ１２０は、スキャンデータ入力（ＳＤＩ）ポート１２２と、クロック（ＴＣＫ）ポート１２６と、選択信号（ＭＯＤＥ）ポート１２４と、そしてスキャンデータ出力（ＳＤＯ）ポート１２８を含む。ＴＡＰ１２０はまた、スキャンイン（Ｓｉ）ポート及びスキャンアウト（Ｓｏ）ポートも含んでいる。この実施例においては、スキャンパスは単一のスキャンイン信号Ｓｉ１８０を共用するようになっている。そしてスキャンパスの各々は、個別のスキャンアウト信号Ｓｏ［０．．ｎ］１８２ａ、１８２ｂ、１８２ｃ、１８２ｄを出力する。
【００２７】
ＴＡＰ１２０は、従来技術の説明において触れた１１４９．１規格の全機能を提供する為に設けられたＴＡＰコントローラ（ＴＡＰ  ＣＴＬＲ）１３０を含む。ＴＡＰコントローラ１３０は更に、選択信号ＳＰ＿ＳＥＬ［０．．ｌｏｇ２ｎ］１７８ａ、１７８ｂをシフトクロック論理機構１１２へと送ることにより、シフトクロック１７６ａ、１７６ｂ、１７６ｃ、１７６ｄの選択に対する制御も行う。シフトクロック論理機構１１２は、各々がそれぞれのスキャンパス１７２ａ、１７２ｂ、１７２ｃ、１７２ｄへのビットのシフトを同期させるゼロ個以上のシフトクロック１７６ａ、１７６ｂ、１７６ｃ、１７６ｄを有効化するものである。
【００２８】
当業者には周知であり、上記にも触れたが、ＢＩＳＴ試験パターンの生成は通常、線形フィードバックシフトレジスタ（ＬＦＳＲ）を用いて実現される。本発明に基づいて実現されたＴＡＰ１２０は、ＴＡＰコントローラ１３０からの命令によりＳＤＩ入力ポート１２２とスキャンインＳｉポート１８０との間に接続させることが出来るＬＦＳＲ１０２を含む。本実施例においては、ＬＦＳＲ１０２の入力はＳＤＩ入力ポート１２２へと結合しており、そしてＬＦＳＲ１０２の出力及びＳＤＩポートの出力がマルチプレクサ１１０へと接続している。このマルチプレクサ１１０は、ＴＡＰコントローラ１３０により生成される選択信号ＳＥＬ＿ＢＩＳＴ１７５に基づいて選択を行う能力を持ち、ＳＤＩ信号、又はＬＦＳＲ１０２の出力のいずれか一方をスキャンインポート１８０のスキャンイン信号Ｓｉとして選択することが出来る。
【００２９】
本発明のＴＡＰ１３０は更に、スキャンアウト信号１８２ａ、１８２ｂ、１８２ｃ、１８２ｄをそれぞれのスキャンパス１７２ａ、１７２ｂ、１７２ｃ、１７２ｄから受信し、これらの出力信号を圧縮してシグニチャ１８４を生成するシグニチャアナライザ即ちシグニチャレジスタ（ＭＩＳＲ）１０４を含む。シグニチャレジスタ１０４が受信するスキャンアウト信号１８２ａ、１８２ｂ、１８２ｃ、１８２ｄは、それらの中の様々なビットを無視することが出来るようにシグニチャマスクレジスタ１０５によりマスク処理出来るものであることが望ましい。その後、スキャンアウト信号１８２ａ、１８２ｂ、１８２ｃ、１８２ｄ、又はシグニチャ１８４のいずれか一方がＴＡＰコントローラ１３０により選択され、マルチプレクサ１３８からＳＤＯポート１２８へと出力される。マルチプレクサ１３８への入力のうち、いずれをＳＤＯポート１２８へと出力するかを選択する為のマルチプレクサ選択信号ＳＰ＿ＳＥＬ［０：ｌｏｇ２ｎ］１７８ａ、１７８ｂは、ＴＡＰコントローラ１３０により生成される。
【００３０】
ＴＡＰ１２０が、ＳDＩ信号又はＬＦＳＲ１０２の出力のいずれか一方をスキャンイン信号Ｓｉとして選択し、また、スキャンアウト信号１８２ａ、１８２ｂ、１８２ｃ、１８２ｄ又はシグニチャ１８４のいずれか一方をＳＤＯポート１２８への出力として選択するという更なる命令を受けた場合、ＴＡＰコントローラ１３０がこれを実行する。
【００３１】
ＴＡＰコントローラ１３０は更に、シフト回数をプログラムすることが出来るシフトカウンタ１０６も含むのが望ましい。シフト回数値はＬＦＳＲ１０２及び／又はスキャンパスＳＣＡＮＰＡＴＨ［０．．ｎ］１７２ａ、１７２ｂ、１７２ｃ、１７２ｄを通じてシフトされるビット数を決定するものである。スキャンパスＳＣＡＮＰＡＴＨ［０．．ｎ］１７２ａ、１７２ｂ、１７２ｃ、１７２ｄ全てに疑似ランダムデータをロードする為に、シフト回数値は最も長いスキャンパス１７２ａ、１７２ｂ、１７２ｃ又は１７２ｄに含まれるスキャンセル数に等しく設定され、シフトクロック１７６ａ、１７６ｂ、１７６ｃ、１７６ｄの各々は、シフト回数値に等しいクロックサイクル数にわたって利用可能となる。記憶データをスキャンパスの選択されたビットにロードする場合においては、特定のデータセルに対するこれらの特定入力は、ＳＤＩポート１２２からスキャンインポート１８０へと直接的に入力される。一方、ランダムな詰め物ビットはＬＦＳＲ１０２により生成され、スキャンチェーンの必要個所へとシフトされる。ランダムな詰め物ビットはＴＡＰのＢＩＳＴハードウエアによりリアルタイムで生成することが出来る為、ランダムな詰め物ビットをテスタ中に記憶しておく必要は無い。
【００３２】
ＴＡＰコントローラ１３０は更に、ステップカウンタ１０８を含んでいることが望ましい。ステップカウンタ１０８は、実行クロックツリー１１６のサイクルを制御して各種ＬＢＵＴからそれらに対応するスキャンパスへと取り込むべき値を生じさせるクロックドライバツリー１１８に何回パルスを生じさせるかを決定する為にＴＡＰコントローラ１３０により利用されるものである。この機能はＢＩＳＴにおいて、出力を調べる前に一度に複数回にわたる実行サイクルを実施させる為にしばしば用いられる。
【００３３】
ここでも、ＴＡＰコントローラ１３０は、シフト回数値をシフトカウンタ１０６へと、そしてステップ回数値をステップカウンタ１０８へとロードする為に更なる命令を実施する。
【００３４】
シフトカウンタ１０６及びステップカウンタ１０８の機能は、かわりに、或いはこれに加え、第二のＬＦＳＲで実現されることが望ましいシフト／ステップコントローラ（スフト／ステップＣＴＬＲ）１１５を使って実現することもできる。第二のＬＦＳＲ１１５は０及び１（これら二進値状態０及び１の各々は単一のシフトサイクル、又は単一ステップサイクルを表す）のストリームすなわちデータ列を生成する為に利用される。例えば、状態０が１回のシフトを表し、状態１が１回のステップを表す場合、第二ＬＦＳＲ１１５からの出力が「００００１１」であれば、データが４回シフトされ、２回ステップされることを表す。ＴＡＰコントローラ１３０は第二のＬＦＳＲ１１５にロードする為の命令及び第二ＬＦＳＲ１１５の出力を処理する為の更なる命令を実行しなければならない。
【００３５】
図４はＴＡＰコントローラ１３０の一実施例における有限状態遷移図を示しており、ＴＡＰ１２０の処理を説明するものである。ＴＡＰコントローラ１３０の状態は試験クロック及び試験モード選択信号により制御される。主要状態であるＴｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔ、Ｒｕｎ−Ｔｅｓｔ／Ｉｄｌｅ、Ｓｈｉｆｔ−ＩＲ、Ｐａｕｓｅ−ＩＲ、Ｓｈｉｆｔ−ＬＦＳＲ、Ｐａｕｓｅ−ＬＦＳＲ、Ｓｈｉｆｔ−ＳＰ［ｘ］、Ｐａｕｓｅ−ＳＰ［ｘ］、Ｓｈｉｆｔ−ＳＣ、Ｐａｕｓｅ−ＳＣ、Ｓｈｉｆｔ−ＳｔｅｐＣｎｔ、Ｐａｕｓｅ−ＳｔｅｐＣｎｔは安定状態である。モード選択信号がＨｉｇｈでＴｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔ状態の場合、安定状態は１つだけである。
【００３６】
電源投入時、或いはホストの通常作動中において、試験モード選択信号をＨｉｇｈとし、６つ以上の試験クロックパルスを印加することにより、ＴＡＰは強制的にＴｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔ状態となる。この状態において、ＴＡＰは全ての試験論理をホストの通常作動を妨げない状態へと設定するリセット信号を発する。試験アクセスが必要となった場合、ＴＡＰは試験モード選択（ＴＭＳ）ポートへと論理０を印加することによりＴｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔ状態から出る。これによりＴＡＰはＲｕｎ‐Ｔｅｓｔ／Ｉｄｌｅ状態へと入る。このＲｕｎ−Ｔｅｓｔ／Ｉｄｌｅ状態から命令レジスタスキャン、ＬＦＳＲレジスタスキャン、データスキャンパスレジスタスキャン、シフトカウンタレジスタスキャン又はステップカウンタレジスタスキャンが発されることになり、ＴＡＰは図４に示したそれに応じた状態を遷移することになる。いずれのレジスタスキャンブロックの状態も、相互対称である。いずれかのブロックに入った場合、最初に生じる動作とは取り込み（Ｃａｐｔｕｒｅ）動作である。ＴＡＰはＣａｐｔｕｒｅ状態からＳｈｉｆｔ又はＥｘｉｔ１状態へと遷移する。通常、Ｃａｐｔｕｒｅ状態の後には、試験データ又は状態情報をシフト出力して検証に供し、新たなデータをシフト入力することが出来るようにＳｈｉｆｔ状態が生じる。Ｓｈｉｆｔ状態の後、ＴＡＰはＥｘｉｔ１及びＵｐｄａｔｅ状態を介してＲｕｎ−Ｔｅｓｔ／Ｉｄｌｅ状態へと戻るか、或いはＥｘｉｔ１を介してＰａｕｓｅ状態へと入る。Ｐａｕｓｅ状態はデータの選択スキャンレジスタへのシフトを一時的に停止する為にある。Ｐａｕｓｅ状態からは、Ｅｘｉｔ２を介してＳｈｉｆｔ状態へと再度入ることによりシフト処理を再開するか、或いはＥｘｉｔ２及びＵｐｄａｔｅ状態を介してＲｕｎ−Ｔｅｓｔ／Ｉｄｌｅ状態へと戻ることが出来る。
【００３７】
図５は本発明のＴＡＰコントローラ１３０による処理のフローチャートである。作動中、ＴＡＰコントローラ１３０はリセット状態５０２においてパワーアップすなわち電源投入され、また、モード選択信号の一連のパターンによる表示でリセット状態５０２へと戻される。試験クロックパルスの各々において、ＴＡＰコントローラ１３０の次の状態が、現在の状態及び試験モード選択信号の状態に基づいて決定される。一般的な事象シーケンスは以下の通りである。ＴＡＰコントローラ１３０がリセットされた（ブロック５０２）後のいずれかの時点において、試験モードへと設定される（ブロック５０４）。ブロック５０４にて試験モードに入ると、ＴＡＰコントローラ１３０はスキャンデータ入力ＳＤＩポート１２２から命令レジスタ１４４へとデータをシフト入力することにより、命令を取り込む（ブロック５０６）。命令が取り込まれると、ＴＡＰコントローラ１３０は復号化を実施（ブロック５０８）し、その後取り込んだ命令を実行する（ブロック５１０ａないし５１０ｈ）。
【００３８】
命令は通常、２種類のうちの一方に該当する。即ち、非データコマンド（例えば設定又は実行コマンド）、又はデータ操作コマンドである。非データコマンドはＴＡＰコントローラ１３０に対し、ＳＤＩポート１２２及びＳＤＯポート１２８間のスキャン及び／又はデータパスをどのように設定するのか、或いはどのようにＣＵＴに１回以上の実行クロックサイクルをステップさせる（ブロック５１０ｈ）のかを指示するものである。データコマンドはブロック５１０ｇにおいて、ＳＤＩポート１２２及びＳＤＯポート１２８間に構成されたスキャンパス又はレジスタへとデータをシフトすることを要求する。データ命令はスキャン／データパスへの／からのシフト（５１０ｇ）によるデータの入出力、ＬＦＳＲ１０２、ＭＩＳＲ１０４又はマスクレジスタ１０５への値の供給（５１０ａ、５１０ｂ、５１０ｃ）、又はシフトカウンタ１０６又はステップカウンタ１０８、又はステップ／シフトコントローラ１１５への値のロード（５１０ｄ、５１０ｅ、５１０ｆ）を含む。他のコマンド５１０も同様に実現することが出来る。
【００３９】
説明した実施例においては、ＴＡＰコントローラ１３０はＴＡＰ命令であるＳＥＬＥＣＴ＿ＬＦＳＲ、ＳＥＬＥＣＴ＿ＳＣＡＮＰＡＴＨ［ｘ］、ＳＥＬＥＣＴ＿ＳＨＩＦＴ＿ＣＯＵＮＴＥＲ、ＳＥＬＥＣＴ＿ＳＴＥＰ＿ＣＯＵＮＴＥＲ、ＳＥＬＥＣＴ＿ＳＨＩＦＴ／ＳＴＥＰ、ＬＯＡＤ＿ＬＦＳＲ、ＬＯＡＤ＿ＳＣＡＮＰＡＴＨ［ｘ］、ＬＯＡＤ＿ＳＨＩＦＴ＿ＣＯＵＮＴＥＲ、ＬＯＡＤ＿ＳＴＥＰ＿ＣＯＵＮＴＥＲ、ＬＯＡＤ＿ＳＨＩＦＴ／ＳＴＥＰ及びＳＥＬＥＣＴ＿ＳＳＣＴＬＲに応答し、これらを実行するものとして説明した。命令ＳＥＬＥＣＴ＿ＬＦＳＲの場合、コントローラ１３０はＬＦＳＲ１０２の出力をスキャンイン信号Ｓｉとして選択することになる。命令ＳＥＬＥＣＴ＿ＳＣＡＮＰＡＴＨ［ｘ］の場合（ｘはスキャンパス１７２ａないし１７２ｄのうちの１つを表す）、コントローラ１３０はスキャンパス［ｘ］をスキャンインポート１８０及びそれに対応するスキャンアウトポート１８２ａないし１８２ｄの間に接続するように働く。この命令ＳＥＬＥＣＴ＿ＳＣＡＮＰＡＴＨ［ｘ］の場合、コントローラ１３０は更に、対応するスキャンパスｘ出力１８２ａないし１８２を、その選択スキャンパスｘの出力がＴＤＯポート１２８へと出力されることになるようにマルチプレクサ１３８への選択入力として選択する。この命令ＳＥＬＥＣＴ＿ＳＣＡＮＰＡＴＨ［ｘ］は更に、対応するスキャンシフトクロックＳＣＡＮ＿ＣＬＫ［ｘ］が切り替わるように有効化する。命令ＳＥＬＥＣＴ＿ＳＨＩＦＴ＿ＣＯＵＮＴＥＲを受けた場合、コントローラ１３０はシフトカウンタ１０６をスキャンインポート１８０へと接続することになる。命令ＳＥＬＥＣＴ＿ＳＴＥＰ＿ＣＯＵＮＴＥＲを受けた場合、コントローラ１３０はステップカウンタ１０８をスキャンインポート１８０へと接続することになる。命令ＳＥＬＥＣＴ＿ＳＨＩＦＴ／ＳＴＥＰを受けた場合、コントローラ１３０は第二のシフト／ステップＬＦＳＲ１５２をスキャンインポート１８０へと接続することになる。命令ＳＥＬＥＣＴ＿ＳＳＣＴＬＲを受けた場合、コントローラ１３０はシフト／ステップコントローラ１５４をトリガして実行させる。
【００４０】
試験クロック信号ＴＣＫ１２６及び試験モード選択信号（ＭＯＤＥ）１２４は、上述した命令の１つにより設定されたデータパスへのデータのシフト入力を制御する為に利用される。
【００４１】
上述の詳細説明から明らかなように、完全内部スキャン試験法を使用するＩＣチップにおいては、チップへのシリアルスキャン試験刺激データを生成し、シリアル試験応答データをチップから取り込む為に、最小限の内蔵自己試験（ＢＩＳＴ）回路をＴＡＰへと付加するだけで良い。このオンチップハードウエアにより、これまでＩＣテスタに記憶しなければならず、その限られたリソースを占めていたスキャン試験パターンを大幅に削減することが出来る。更に、オンチップＢＩＳＴ配信系及びＢＩＳＴコントローラ等のＤＦＴリソースを複写する必要も排除される。また更に明らかなのは、本発明に基づいて実現されたＩＣへの如何なる変更も、ＴＡＰブロックのみに限られたものであり、ＩＣの論理ブロックの大部分に対しては何等の変更も必要無いという点である。
【００４２】
本発明を開示した実施例に基づいて説明して来たが、本発明の精神及び範囲から離れることなく、この実施例に様々な変更及び改変を加えることが可能であることは当業者に明らかである。本発明の範囲は本願に図示及び記載した特定の実施例によって限定することを意図したものではなく、本発明は唯一請求項によって限定されるものである。
【００４３】
以上、本発明の実施例について詳述したが、以下、本発明の各実施態様の例を示す。
【００４４】
（実施態様１）
デジタル回路を試験する試験装置であって、
入力スキャンデータを受信するスキャンデータ入力（ＳＤＩ）ポート（１２２）と、
試験クロック信号（１２６）にのみ呼応して前記入力スキャンデータを受信及びシフト移動することにより疑似ランダムスキャンデータのストリームを生成することが可能な第一の線形フィードバックレジスタ（１０２）と、
前記入力スキャンデータ又は前記疑似ランダムスキャンデータのいずれか一方を、各々にそれぞれのスキャンアウト信号（ＳＣＡＮ＿ＯＵＴ［ｎ］）を生成する複数のスキャンパス（１７２）へと結合するスキャンインセレクタ（１１０）と、
前記それぞれのスキャンアウト信号を受信するように結合し、前記それぞれのスキャンアウト信号の機能に対応するそれぞれのシグニチャ（１８４）を生成する複数入力のシグニチャレジスタ（１０４）と、
スキャンデータ出力（ＳＤＯ）ポート（１２８）と、
前記スキャンアウト信号、又は前記シグニチャのいずれか一方を前記ＳＤＯポートへと結合する出力セレクタ（１３８）と
を具備した装置。
【００４５】
（実施態様２）
前記複数のスキャンパスを通じ、プログラム可能なサイクル数にわたってデータをシフトするようにプログラムすることが出来るシフトカウンタ（１０６）を更に含む実施態様１に記載の試験装置。
【００４６】
（実施態様３）
前記デジタル回路をプログラム可能な実行サイクル数にわたってステップさせるステップカウンタ（１０８）を更に含む実施態様１又は２に記載の試験装置。
【００４７】
（実施態様４）
前記シグニチャの生成の際、前記入力スキャンアウト信号のいずれのビットの組み合わせも無視することが出来るように、前記複数入力のシグニチャレジスタ（１０４）がマスク可能であることを特徴とする実施態様１又は２又は３に記載の試験装置。
【００４８】
（実施態様５）
前記複数のスキャンパスを通じてデータをシフトするように、及び／又は前記デジタル回路をシフト及び／又は実行サイクルのプログラム可能なシーケンスのステップを生じさせるようにプログラムすることが出来るステップ／シフトコントローラ（１１５）を含む実施態様１に記載の試験装置。
【００４９】
（実施態様６）
前記ステップ／シフトコントローラ（１１５）が、複数のビットを第一の端部から第二の端部までシフトさせるシフトレジスタを含み、前記ビットの各々が第一の状態又は第二の状態のいずれか一方の状態にあり、前記第二の端部において前記第一の状態にあるビット出力の各々は、前記複数のスキャンパスを通じて１回以上のシフトサイクルにわたるデータのシフトを生じさせるものであり、そして前記第二の端部において第二の状態にあるビット出力の各々は、前記デジタル回路に１回以上の実行サイクルを生じさせるものであることを特徴とする実施態様５に記載の試験装置。
【００５０】
（実施態様７）
入力スキャンデータを受信するスキャンデータ入力（ＳＤＩ）ポート（１２２）と、試験クロック信号（１２６）にのみ呼応して前記入力スキャン種データを受信及びシフト移動することにより疑似ランダムスキャンデータのストリームを生成することが可能な第一の線形フィードバックレジスタ（１０２）と、前記入力スキャンデータ又は前記シフトされた入力スキャンデータのいずれか一方を、各々にそれぞれのスキャンアウト信号（ＳＣＡＮ＿ＯＵＴ［０．．ｎ］）を生成する複数のスキャンパス（１７２ａ、１７２ｂ、１７２ｃ、１７２ｄ）へと結合するスキャンインセレクタ（１１０）と、前記それぞれのスキャンアウト信号を受信するように結合し、前記それぞれのスキャンアウト信号の機能に対応する、それぞれのシグニチャ（１８４）を生成する複数入力のシグニチャレジスタ（１０４）と、スキャンデータ出力（ＳＤＯ）ポート（１２８）と、そして前記スキャンアウト信号、又は前記シグニチャのいずれか一方を前記ＳＤＯポートへと結合する出力セレクタ（１３８）とを具備した集積回路の試験を可能とする方法であって、
前記入力スキャンデータ又は前記シフトされた入力スキャンデータのいずれか一方を前記複数のスキャンパスへと結合するように前記スキャンインセレクタ（１１０）をプログラムするステップと、
前記スキャンアウト信号又は前記シグニチャのいずれか一方を前記ＳＤＯポートへと結合するように前記出力セレクタ（１３８）をプログラムするステップとを含む方法。
【００５１】
（実施態様８）
前記シフトカウンタ（１０６）を、プログラム可能なシフトサイクル数にわたってシフトを行うようにプログラムするステップと、
前記複数のスキャンパス（１７２ａ、１７２ｂ、１７２ｃ、１７２ｄ）を通じ、前記プログラム可能なシフトサイクル数にわたってデータをシフトするステップと
を含む実施態様７に記載の方法。
【００５２】
（実施態様９）
プログラム可能な実行サイクル数にわたってステップを生じるように前記ステップカウンタ（１０８）をプログラムするステップと、
前記プログラム可能な実行サイクル数にわたるステップを実行するステップとを含む実施態様７又は８に記載の方法。
【００５３】
（実施態様１０）
前記シグニチャ生成の際に前記スキャンアウト信号中のいずれかのビットの組み合わせを無視するように前記複数の入力シグニチャレジスタをマスク（１０５）するステップを含む、実施態様７又は８又は９に記載の方法。
【００５４】
【発明の効果】
以上のように、本発明を用いると、ＩＣテスタの複雑性及びハードウエアを低減すると同時に集積回路中の試験回路オーバーヘッドをＤＦＴ及びＢＩＳＴ機能を犠牲にすることなく低減する為の新規な方法及び装置を提供することができる。
【図面の簡単な説明】
【図１】ＩＥＥＥ１１４９．１規格のチップアーキテクチャ及びＤＦＴスキャン試験回路を示すブロック図である。
【図２】本発明の装置を描いたブロック図である。
【図３】本発明の装置を実現した集積回路１００の一部を描いたブロック図である。
【図４】本発明に基づいて実現したＴＡＰコントローラの有限状態図である。
【図５】本発明のＴＡＰコントローラの処理を説明するフローチャートである。
【符号の説明】
１０２：線形フィードバックシフトレジスタ
１０４：入力シグニチャレジスタ
１０５：マスク
１０６：シフトカウンタ
１０８：ステップカウンタ
１１０：スキャンインセレクタ
１１５：ステップ／シフトコントローラ
１２２：スキャンデータ入力ポート
１２６：試験クロック信号
１２８：スキャンデータ出力ポート
１３８：出力セレクタ
１７２：スキャンパス
１８４：シグニチャ
【図１】
0004055980.tif 000002
【図２】
0004055980.tif 000003
【図３】
0004055980.tif 000004
【図４】
0004055980.tif 000005
【図５】
0004055980.tif 000006