(57)【要約】  パーティションを設けたスキャン・チェーンを備えた集積回路（ＩＣ）に実装されたテスト・コントローラが、スキャンテストを実行する際に向上した制御を提供する。一つの側面に従って、テスト・コントローラは、独立しているべき、ＩＣの異なるスキャン・チェーンに対するスキャンテストのスキャンイン、スキャンアウト、及びキャプチャ位相を選択的に制御できる。外部テスターとインタフェースするためにテスト・コントローラに必要なピンの数は、そのテスト・コントローラがサポートし得るパーティションの数より少ない。別の側面に従って、ＩＣは、遷移故障（又はＬＯＳ）テストをサポートするため各パーティションに対応するレジスタを含む。別の側面に従って、パーティションを設けたスキャン・チェーンを備えたＩＣが、シリアル−パラレル及びパラレル−シリアル変換器を含み、それにより、スキャンテストをサポートするために必要とされる外部ピンを最小限にする。
2013508731.tif 000002
【特許請求の範囲】
【請求項１】
集積回路であって、
複数のスキャン・チェーンとして機能し得る複数のメモリ要素、及び、
前記複数のスキャン・チェーンの各々がスキャン・モードに置かれるべき対応する特定の期間を示すデジタル・データを受け取るように設計されるテスト・コントローラ、
を含む集積回路であって、
前記テスト・コントローラが、前記デジタル・データが示す前記対応する期間に前記複数のスキャン・チェーンの各々の中のデータをスキャンするためのものであり、前記デジタル・データが、前記特定の期間の各々を独立して示す能力を有し、更に前記デジタル・データが、外部テスターに接続されるピンのセットから受け取られ、前記ピンのセットの数が前記複数のスキャン・チェーンの数より少ない、
集積回路。
【請求項２】
請求項１の集積回路であって、
前記複数のスキャン・チェーンの各々が、複数のパーティションの対応する１つのパーティションに含まれ、
前記複数のパーティションの数が２より大きく、前記テスト・コントローラが、対応するパーティション内のスキャン・チェーンのスキャンデータを互いに独立したそれぞれの期間にスキャンするようになっている、
集積回路。
【請求項３】
請求項２の集積回路であって、前記ピンのセットの数が１に等しい、集積回路。
【請求項４】
請求項１の集積回路であって、
前記テスト・コントローラが、前記複数のスキャン・チェーンの各々に対し遅延レジスタ及びカウント・レジスタを含み、前記遅延レジスタ及び前記カウント・レジスタが、前記ピンのセットを介して対応する値を受け取るためのチェーンとして結合され、
前記カウント・レジスタにロードされる値が、対応するスキャン・チェーンのスキャンの対応する期間の長さを示し、前記遅延レジスタが、前記スキャン期間が開始する開始信号後の遅延を示す、
集積回路。
【請求項５】
請求項４の集積回路であって、
前記テスト・コントローラが複数のステージを更に含み、各ステージが、対応する前記遅延レジスタ及び前記カウント・レジスタにストアされた値を受け取り、かつ、複数のパーティション選択信号のうち対応する１つのパーティション選択信号を生成するためのものであり、
前記パーティション選択信号が、前記対応するスキャン・チェーンのスキャンが実行される特定の期間を示す、
集積回路。
【請求項６】
請求項５の集積回路であって、前記複数のステージの各々が、
前記開始信号を遅延させ、遅延信号を出力として供給するための遅延要素、
前記遅延信号の遷移を受け取るとカウントを開始するためのカウンタ、
前記カウンタの値と、同じステージに対応する前記カウント・レジスタの値を比較するためのコンパレータ、及び、
前記コンパレータ及び前記遅延信号の出力に基づいて前記パーティション選択信号を生成するための一連の組み合わせゲート、
を含む、集積回路。
【請求項７】
請求項６の集積回路であって、
前記テスト・コントローラが、最初のステージを除く前記複数のステージの各々に対しバイパス・レジスタを更に含み、
前記開始信号が、前記最初のステージを除く前記複数のステージの各々に対するローカル開始信号であり、前記開始信号が、前記最初のステージに対し前記外部テスターから受け取ったグローバル開始信号であり、
前記最初のステージを除く前記複数のステージの各々が、対応するバイパス・レジスタから受け取った選択値に応じて前記グローバル開始信号か或いは前のステージからの終了信号のいずれかを前記ローカル開始信号として選択するためのマルチプレクサを含み、
前記終了信号が前記前のステージのスキャン期間の終了を示す、
集積回路。
【請求項８】
請求項５の集積回路であって、前記テスト・コントローラが、
前記複数のステージの各々に対応する第１の論理ゲートであって、前記外部テスターから受け取ったグローバル・マスター・クロックを対応するパーティション選択信号でゲート制御して、対応するスキャン・チェーン内の前記メモリ要素の各々をクロックするパーティション・クロック信号を生成する、前記第１の論理ゲート、及び、
前記複数のステージの各々に対応する第２の論理ゲートであって、前記外部テスターから受け取ったマスター・スキャン・イネーブルを前記対応するパーティション選択信号でゲート制御して、前記対応するスキャン・チェーンに対するパーティション・スキャン・イネーブル信号を生成する、前記第２の論理ゲート、
を更に含む、集積回路。
【請求項９】
請求項８の集積回路であって、
前記対応するパーティション・スキャン・イネーブル信号及び前記パーティション・クロック信号に従って、複数のテスト・ベクトルのうち対応するテスト・ベクトルが、前記複数のスキャン・チェーンのそれぞれのスキャン・チェーンにスキャンインされ、
前記複数のテスト・ベクトルが、前記集積回路内の縮退故障テストを実行するように設計される、
集積回路。
【請求項１０】
請求項９の集積回路であって、前記複数のスキャン・チェーンが、第１のスキャン・チェーン及び第２のスキャン・チェーンを含み、
前記第１のスキャン・チェーンが、クロック・サイクルの第１のシーケンスで第１のベクトルの、最終ビットを除く、ビットの第１のシーケンスの各々をスキャンインするためのものであり、
前記第２のスキャン・チェーンが、クロック・サイクルの第２のシーケンスで第２のベクトルのビットの第２のシーケンスの各々をスキャンインするためのものであり、クロック・サイクルの前記第２のシーケンスの少なくとも幾つかが、クロック・サイクルの前記第１のシーケンスの最後の１つの後に続き、更に、
レジスタが、クロック・サイクルの前記第２のシーケンスの最終クロック・サイクルの前に、前記最終ビットをストアし、
前記レジスタにストアされた前記ビットが、クロック・サイクルの前記第２のシーケンスの前記最終クロック・サイクルと共にスキャンインされ、前記第１のスキャン・チェーン及び前記第２のスキャン・チェーンの少なくとも一方が、前記最終クロック・サイクルに続いてキャプチャ位相に置かれて遷移故障テストを実行する、
集積回路。
【請求項１１】
請求項１０の集積回路であって、
第１の経路でのビットの前記第１のシーケンスと、第２の経路での前記レジスタの値との各々を受け取り、かつ、選択値に基づいてこれら２つの入力の一方を選択するためのマルチプレクサを更に含み、
前記テスト・コントローラが、クロック・サイクルの前記第１のシーケンスの各々の間１つの値で、及びクロック・サイクルの前記第２のシーケンスの前記最終クロック・サイクルの間別の値で、前記選択値を供給する、
集積回路。
【請求項１２】
請求項１１の集積回路であって、
第１の経路で第１の周波数でデータ・ユニットのシーケンスを受け取るためのシリアル−パラレル変換器を更に含み、
前記シリアル−パラレル変換器が、データ・ユニットの前記シーケンスに含まれる複数のデータ・ユニットを連結することにより一層大きなデータ・ユニットのシーケンスを形成し、前記シリアル−パラレル変換器が、ラインの第２のセットを含む第２の経路で前記第１の周波数より低い周波数で前記一層大きなデータ・ユニットのシーケンスを供給し、ラインの前記第２のセットの各々が前記低い方の周波数で各スキャンクロック・サイクルに前記一層大きなデータ・ユニットのシーケンスの１つのビットを搬送し、更に、
前記複数のスキャン・チェーン内の各スキャン・チェーンが、ラインの前記第２のセットの対応する１つで、ビットの対応するシーケンスの次に続くビットを受け取り、
前記第１の経路が、前記外部テスターの対応するピンに接続するためのラインの第１のセットを含み、前記第１の経路の多数のラインが前記第２の経路の多数のラインより少なく、
それにより、前記複数のスキャン・チェーン内のスキャン・チェーンの数に比べ、前記外部テスターとインタフェースするピン数が一層少ない状況で前記集積回路が機能する、
集積回路。
【請求項１３】
請求項１２の集積回路であって、
スキャンアウト周波数で第３の経路で前記複数のスキャン・チェーンから評価出力を受け取るためのパラレル−シリアル変換器を更に含み、前記第３の経路がラインの第３のセットを含み、各ラインが、１つのスキャンアウト・サイクル内の対応するスキャン・チェーンのスキャン出力のビットを送るためのものであり、前記複数のスキャン・チェーン全てから各スキャンアウト・サイクルで受け取ったビットが出力ユニットを形成して、出力ユニットのシーケンスが、次に続くスキャンアウト・サイクルで受け取られるようにし、前記パラレル−シリアル変換器が、各出力ユニットを多数の一層小さなユニットに分割することによって、各出力ユニットを複数の一層小さなユニットとして変換し、
前記一層小さなユニットが前記スキャンアウト周波数より高い周波数で送信され、更に、
一層小さなユニットの各ビットが、ピンの第４のセットの対応する１つで前記外部テスターに送られて、前記外部テスターとインタフェースするために必要とされるピンの数も低減されるようにする、
集積回路。
【請求項１４】
集積回路であって、
第１のスキャン・チェーンとして機能し得る第１の複数のメモリ要素、及び第２のスキャン・チェーンとして機能し得る第２の複数のメモリ要素であって、前記第１のスキャン・チェーンが、クロック・サイクルの第１のシーケンスで第１のベクトルの、最終ビットを除く、ビットの第１のシーケンスの各々をスキャンインするためのものであり、前記第２のスキャン・チェーンが、クロック・サイクルの第２のシーケンスで第２のベクトルのビットの第２のシーケンスの各々をスキャンインするためのものであり、クロック・サイクルの前記第２のシーケンスの少なくとも幾つかが、クロック・サイクルの前記第１のシーケンスの最終の１つに続く、前記第１及び第２の複数のメモリ要素、及び、
クロック・サイクルの前記第２のシーケンスの最終クロック・サイクルの前に前記最終ビットをストアするためのレジスタ、
を含み、前記レジスタにストアされたビットが、クロック・サイクルの前記第２のシーケンスの前記最終クロック・サイクルと共にスキャンインされ、前記第１のスキャン・チェーン及び前記第２のスキャン・チェーンの少なくとも一方が、前記最終クロック・サイクルに続いてキャプチャ位相に置かれて遷移故障テストを実施する、
集積回路。
【請求項１５】
請求項１４の集積回路であって、前記第１のスキャン・チェーン及び前記第２のスキャン・チェーンが、独立した期間にスキャンインされる能力を有する、集積回路。
【請求項１６】
請求項１４の集積回路であって、
第１の経路でのビットの前記第１のシーケンスと、第２の経路での前記レジスタの値との各々を受け取り、これら２つの入力の一方に基づいて選択値を選択するためのマルチプレクサ、及び、
クロック・サイクルの前記第１のシーケンスの各々の間１つの値で、クロック・サイクルの前記第２のシーケンスの前記最終クロック・サイクルの間別の値で、前記選択値を生成するためのテスト・コントローラ、
を更に含む、集積回路。
【請求項１７】
集積回路であって、
第１の経路で第１の周波数でデータ・ユニットのシーケンスを受け取るためのシリアル−パラレル変換器であって、前記シリアル−パラレル変換器が、データ・ユニットの前記シーケンスに含まれる複数のデータ・ユニットを連結することにより一層大きなデータ・ユニットのシーケンスを形成し、前記シリアル−パラレル変換器が、ラインの第２のセットを含む第２の経路で前記第１の周波数より低い周波数で前記一層大きなデータ・ユニットのシーケンスを供給し、ラインの前記第２のセットの各々が、前記低い方の周波数で各スキャンクロック・サイクル内の前記一層大きなデータ・ユニットのシーケンスの１つのビットを搬送するための、前記シリアル−パラレル変換器、及び、
複数のスキャン・チェーンとして機能し得る複数のメモリ要素であって、各スキャン・チェーンが、ラインの前記第２のセットの対応する１つでスキャン・チェーンとして、ビットの対応するシーケンスの次に続くビットを受け取るように設計される、前記複数のメモリ要素、
を含み、
前記第１の経路が、テスターの対応するピンを接続するためのラインの第１のセットを含み、前記第１の経路の多数のラインが前記第２の経路の多数のラインより少なく、
それにより、スキャン・チェーンの数に比べ、前記テスターとインタフェースするピン数が一層少ない状況で前記集積回路が機能する、
集積回路。
【請求項１８】
請求項１７の集積回路であって、前記第１の周波数が前記低い方の周波数の整数倍であり、前記シリアル−パラレル変換器が、
２つの行及び整数個の列の形式で構成される前記整数の２倍のユニットであって、各ユニットがレジスタ及び入力マルチプレクサを含み、前記入力マルチプレクサが、データ・ユニットの前記シーケンスを行方向及びその後列方向にストアするように設計された、前記ユニット、及び、
多数の出力マルチプレクサであって、各々が、１つの列に関連し、前記低い方の周波数のクロック・サイクルの各々の関連する列で前記多数のレジスタのうち１つのレジスタの出力を選択するための、前記多数の出力マルチプレクサ、
を含み、前記多数の出力マルチプレクサの全ての出力が、各低い方の周波数のクロック・サイクルで連結されて、前記一層大きなデータ・ユニットのうちの１つを形成するようになっている、
集積回路。
【請求項１９】
請求項１７の集積回路であって、
スキャンアウト周波数で第３の経路で前記複数のスキャン・チェーンから評価出力を受け取るためのパラレル−シリアル変換器であって、前記第３の経路がラインの第３のセットを含み、各ラインが、１つのスキャンアウト・サイクルの対応するスキャン・チェーンのスキャン出力のビットを送るためのものであり、前記複数のスキャン・チェーンの全てから各スキャンアウト・サイクルで受け取ったビットが出力ユニットを形成して、出力ユニットのシーケンスが、次に続くスキャンアウト・サイクルで受け取られるようにし、前記パラレル−シリアル変換器が、各出力ユニットを多数の小さなユニットに分割することにより、各出力ユニットを複数の小さなユニットとして変換するためのものである、前記パラレル−シリアル変換器を更に含み、
前記小さなユニットが前記スキャンアウト周波数より高い周波数で送信され、更に、
小さなユニットの各ビットが、ピンの第４のセットの対応する１つで前記テスターへ送られて、前記テスターとインタフェースするために必要とされるピンの数も低減されるようにする、
集積回路。
【請求項２０】
請求項１９の集積回路であって、前記第１の周波数が前記低い方の周波数の整数倍であり、前記パラレル−シリアル変換器が、前記スキャンアウト周波数で前記評価出力を受け取り、かつ、前記高い方の周波数のクロック・サイクルの各々で受け取った評価出力の整数分の１の部分の、次に続くものを前記小さなユニットとして選択するための、マルチプレクサを含む、集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の実施例は、全般的に集積回路のテストに関し、更に具体的には、パーティションを設けた（partitioned）スキャン・チェーンを備えた集積回路のスキャンテストにおける向上した制御を提供することに関連する。
【背景技術】
【０００２】
スキャンに基づくテスト（スキャンテスト）は、集積回路（ＩＣ）をテストするためしばしば実行される。スキャンテストとは、一般に、ＩＣ内のストレージ要素（例えば、フリップフロップ）がスキャン・チェーンとして接続され、ＩＣ上に提供される入力テスト・ピンを介してテスト・ベクトルがスキャン・チェーンにシフトインされ、ＩＣは評価モード（キャプチャ位相）に置かれてこれらの入力を評価させ、このキャプチャ・サイクルで得られた対応する応答ベクトルが出力テスト・ピンを介してシフトアウトされる、というテスト・アプローチを指す。応答ベクトルのビット値は、ＩＣ内の如何なる故障状態をも判定するため、予期される出力と比較される。
【０００３】
ＩＣは、パーティションを設けたスキャン・チェーンを備えて設計されることが多く、これは、パーティションを設けた各スキャン・チェーンが、対応するテスト・ベクトルを受信するためにスキャン・チェーンとして機能し得る対応する一連のストレージ要素を含むことを含意する。パーティションを設けたスキャン・チェーンは、関連する業界で周知であるように、たとえば、所望の離隔されたパーティションセットのテストが容易であることや、異なる周波数、電源管理等での異なるパーティションの運用性などの理由で用いられる。
【０００４】
対応する環境に適したテストが実行され得るように、このような環境において更なる制御が提供されることが全般的に望ましい。
【発明の概要】
【課題を達成するための手段】
【０００５】
パーティションを設けたスキャン・チェーンを備えた集積回路（ＩＣ）に実装されるテスト・コントローラが、スキャンテストを実行する際に向上した制御を提供する。１つの側面に従って、テスト・コントローラは、独立しているべき、ＩＣの異なるスキャン・チェーンに対してスキャン期間を選択的に制御できる。独立性は、同じテストに対し、或るパーティションのスキャン期間（期間の開始及び長さ）を、別のパーティションのスキャン期間と関連することなく選択する能力に現れる。これは、任意の２つのスキャン期間が、特定の状況に適合するように重なるか、或いは重ならないかのいずれかであってよいことを意味する。テスト・コントローラが外部テスターとインタフェースするために必要なピンの数は、そのテスト・コントローラがサポートし得るパーティションの数より少ない。
【０００６】
別の側面に従って、ＩＣが、各スキャン・チェーンが独立してスキャンされ得るとき遷移故障（又はＬＯＳ）テストをサポートするため、各パーティションに対応するビットを有するレジスタを含む。このレジスタは、第１のスキャン・チェーンにスキャンインされ、第２のスキャン・チェーンにスキャンインされる第２のベクトルの最終ビットと共に供給される、第１のベクトルの最終ビットをストアするために用いられる。この回路は、ＬＯＳテストを実行するため、これらの２つの最終ビットを（それぞれのチェーンに）スキャンインした後すぐに評価される。レジスタは、ＬＯＳテストが多数のスキャン・チェーンに関連してサポートされ得るように、多数のスキャン・チェーンの最終ビットをストアするために多数のビットを含んでいてもよい。
【０００７】
更に別の側面に従って、パーティションを設けたスキャン・チェーンを備えたＩＣが、シリアル−パラレル変換器（ＳＰＣ）及びパラレル−シリアル変換器（ＰＳＣ）を含み、それにより、スキャンテストをサポートするために必要とされる外部ピンを最小限に抑える。一実施例において、多数の小さなデータ・ユニットを連結して大きなユニットを形成するＳＰＣに小さなデータ・ユニットが高い周波数で供給され、その後、それらのビットが、対応するスキャン・チェーンにスキャンインされる。これにより、ＩＣ上の、外部テスターからビットを受信するためのピンの数が低減される。更に、逆のロジックをＰＳＣに用いて、スキャンアウトされたデータを送信するためのピンの数を低減することもできる。本発明の幾つかの側面を幾つかの例を参照して以下に示す。
【０００８】
本発明をよく理解するために多数の特定の細部、関係、及び方法を示すことを理解されたい。しかし、当業者であれば、本発明は、１つ又はそれ以上の特定の細部なしに、又は他の方法などを用いて実施され得ることが容易に理解されるであろう。他の例では、本発明の特徴を曖昧にすること避けるため、周知の構造又はオペレーションは詳細には示していない。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明の幾つかの特徴が実装され得る例示の環境のブロック図である。
【００１０】
【図２】図２は、本発明の一実施例において多数のスキャン・パーティションを備えたＩＣを図示するブロック図である。
【００１１】
【図３】図３は、本発明の一実施例において、パーティションを設けたスキャン・チェーンを備えたＩＣに実装されるパーティション・セレクタ回路のブロック図である。
【００１２】
【図４Ａ】図４Ａは、本発明の一実施例における、ＩＣのスキャンテスト中の波形を示すタイミング図である。
【図４Ｂ】図４Ｂは、本発明の一実施例における、ＩＣのスキャンテスト中の波形を示すタイミング図である。
【００１３】
【図５】図５は、本発明の一実施例におけるテスト・コントローラのブロック図である。
【００１４】
【図６】図６は、本発明の一実施例において、ＡＴＰＧツールに入力として供給される、ＩＣの設計情報を示す図である。
【００１５】
【図７】図７は、一実施例においてＡＴＰＧツールによって生成される例示のテスト・ベクトル／ビットを示す図である。
【００１６】
【図８Ａ】図８Ａは、一実施例において、ＬＯＣ（launch off capture）テストが実行され得る方式を図示する例示のタイミング図である。
【図８Ｂ】図８Ｂは、一実施例において、ＬＯＣ（launch off capture）テストが実行され得る方式を図示する例示のタイミング図である。
【００１７】
【図９】図９は、本発明の一実施例において、遷移故障テストをサポートするＩＣのブロック図である。
【００１８】
【図１０Ａ】図１０Ａは、ＬＯＳ（launch off shift）テストのための例示のテストシナリオを図示する簡略化したブロック図である。
【００１９】
【図１０Ｂ】図１０Ｂは、一実施例において、ローンチ及びキャプチャ・パルスが印加されるパーティションを特定する、例示の表を示す図である。
【００２０】
【図１０Ｃ】図１０Ｃは、図１０Ｂの表に列挙したテストシナリオに対応するタイミング図である。
【図１０Ｄ】図１０Ｄは、図１０Ｂの表に列挙したテストシナリオに対応するタイミング図である。
【図１０Ｅ】図１０Ｅは、図１０Ｂの表に列挙したテストシナリオに対応するタイミング図である。
【図１０Ｆ】図１０Ｆは、図１０Ｂの表に列挙したテストシナリオに対応するタイミング図である。
【図１０Ｇ】図１０Ｇは、図１０Ｂの表に列挙したテストシナリオに対応するタイミング図である。
【００２１】
【図１１】図１１は、一実施例において、スキャンテスト用のテスト・ピンの数が低減されたＩＣのブロック図である。
【００２２】
【図１２】図１２は、本発明の一実施例において、シリアル−パラレル変換器が実装される方式を図示するブロック図である。
【００２３】
【図１３】図１３は、本発明の一実施例において、パラレル−シリアル変換器が実装される方式を図示するブロック図である。
【発明を実施するための形態】
【００２４】
種々の実施例を例証のための幾つかの例と共に以下に説明する。
１．例示の環境
【００２５】
図１は、本発明の幾つかの特徴が組み込まれ得る例示の環境のブロック図である。この図は、テスター１１０及びＩＣ１２０を含むよう示されている。ＩＣ１２０（これはシステム・オン・チップ／ＳｏＣであり得る）は、ディコンプレッサー１３０、スキャン・チェーン１４０、及び圧縮器１５０を含むよう示されている。簡潔にするため、図１では単一のＩＣのみを示している。しかし、テスター１１０を用いて多数のＩＣを同時にテストすることも可能である。
【００２６】
テスター１１０は、圧縮された形式のテスト・ベクトルをＩＣ１２０内のディコンプレッサー１３０への経路１１２（ＳＩ）に供給し、テストのキャプチャ結果を表す応答ベクトルを圧縮された形式で圧縮器１５０からの経路１２１（ＳＯ）で受信する。テスター１１０は、ＩＣ１２０内の故障を判定するため、応答ベクトルのビット値を予期される値と比較し得る。テスター１１０は、経路１７０にスキャン・イネーブル信号（ＳＥ）を、経路１６０（ＣＬＫ）を介してＩＣ１２０へ１つ又はそれ以上のクロックを、スキャンテスト中のＩＣ１２０のオペレーションを調整するクロックと共に供給する。テスター１１０は、経路１８１を介し、ＩＣ１２０内のパーティションの数を特定する等のため、クロックの構成を特定し、ＩＣ１２０内に制御信号を生成するための、構成データを供給してもよい。
【００２７】
ディコンプレッサー１３０は、経路１１２（ＳＩ）で受信したテスト・ベクトルを伸張し（decompress）、圧縮されていない形式のテスト・ベクトルを経路１３４を介してスキャン・チェーン１４０へ供給する。圧縮器１５０が、経路１４５で受信した応答ベクトルを圧縮し、対応する圧縮された応答ベクトルを経路１２１（ＳＯ）を介してテスター１１０へ供給する。ディコンプレッサー及び圧縮器モジュールは、関連する業界で周知であるように、組み合わせ回路及び／又は順次的（sequential）回路に基づく種々のアプローチを用いて実装され得る。
【００２８】
スキャン・チェーン１４０は、ＩＣ１２０のフリップフロップ要素を含み、これらの要素をスキャンに基づくアプローチを用いてテストすることが求められている。これらのメモリ要素は、１つ又はそれ以上のスキャン・チェーン（これは、例えば、パーティションを設けたスキャン・チェーンとして実装され得る）として機能するように設計され得、各スキャン・チェーンは、テスト・ベクトルのシフトイン及び応答ベクトルのシフトアウトの間シフト・レジスタとして接続されるストレージ要素を含む。応答ベクトルは、テスト・ベクトルのシフトインが完了するとテスト対象となる組み合わせ論理（キャプチャ・サイクル中）の評価の結果（応答ビット）を含む。
【００２９】
簡潔にするため図示しないが、ＩＣ１２０は、種々の他の要素、例えば、組み合わせ論理要素も含み、これらは、スキャン・チェーン１４０内のメモリ要素と組み合わさり、ＩＣ１２０に企図される効用を提供するよう機能する。また、ＩＣ１２０は、スキャンテスト・オペレーションを調整する際に内部で用いられ、スキャン・チェーン１４０内のストレージ要素に供給される、種々のクロック及び制御信号を生成するための、対応する回路（例えば、テスト・コントローラ）を含んでいてもよい。これらのクロックは、テスター１１０から受信したクロック１６０（ＣＬＫ）に基づいて生成され得る。経路ＳＩ及びＳＯは、多数の信号ライン（各ラインは所定の時間に単一ビットを送信する）を含み／表し得、従って、ＩＣ１２０は、これらの信号ラインに接続するための、ＳＩ及びＳＯで図示する、対応する数のピンを含んでいてもよいことに注意されたい。
【００３０】
本発明の幾つかの特徴により、パーティションを設けたスキャン・チェーンを備えた集積回路のスキャンテストにおいて向上した制御が可能となる。従って、例示の集積回路の詳細は、以下に説明するスキャン・チェーンを含む。
２．集積回路
【００３１】
図２は、一実施例におけるＩＣの詳細を図示するブロック図である。ＩＣ２００は、図１のＩＣ１２０の代わりに用いることができ、ディコンプレッサー２１０Ａから２１０Ｎ、パーティション２２０Ａから２２０Ｎ、圧縮器２３０Ａから２３０Ｎ、マルチプレクサ（ＭＵＸ）２５０、及びテスト・コントローラ２７０を含むよう示されている。
【００３２】
ディコンプレッサー２１０Ａから２１０Ｎの各々は、信号ライン１１２（ＳＩ）を介して受信した圧縮されたテスト・ベクトルを伸張し、伸張されたベクトルを対応するパーティション内のスキャン・チェーンに供給する。経路１１２（ＳＩ）は、多数のスキャンイン経路（信号ライン／データ経路）を表し、これらの幾つか又は全ては、例えば、各パーティション２２０Ａ〜２２０Ｎ内のスキャン・チェーンの数に基づいて、ディコンプレッサー２１０Ａから２１０Ｎの各々に供給され得る。このため、例えば、経路１１２（ＳＩ）は、１６個の個別の信号ライン／データ経路を含み得、一方、ディコンプレッサー２１０Ａ〜２１０Ｎはそれぞれ１６個全てのスキャンイン経路へ又は１６より少ない数のスキャンイン経路へ接続され得る。即ち、（それぞれのディコンプレッサー２１０Ａ〜２１０Ｎに接続される）スキャンイン経路２０１Ａ〜２０１Ｎの各々は、１６ビット幅であってもよく又はそれより小さいビット幅であってもよい。また、１つのディコンプレッサーに接続されるスキャンイン経路の数は、別のディコンプレッサーに接続されるスキャンイン経路の数とは異なっていてよく、従って、１つのディコンプレッサーが受信する（同時）入力ベクトルの数は、別のディコンプレッサーが受信する（同時）入力ベクトルの数とは異なっていてよい。
【００３３】
パーティション２２０Ａから２２０Ｎは各々、ストレージ要素で形成される１つ又はそれ以上のスキャン・チェーンを含み得、各パーティション内のスキャン・チェーンは典型的に、対応するクロックで動作し得る。これらのクロックは、互いに対してすべて同期していてもよく、又は互いに対し異なる位相／周波数関係を有していてもよい。このため、パーティション２２０Ａ〜２２０Ｎ内のスキャン・チェーン要素は、それぞれのクロック２２１Ａ（ＣＬＫＡ）から２２１Ｎ（ＣＬＫＮ）でクロックされて示されている。一実施例において、クロック２２１Ａ〜２２１Ｎは互いに対して同期される。一般に、パーティション（これらは、多数のスキャン・チェーンを含み得る）の各々は、単一のスキャン・チェーンとしてみることができる。
【００３４】
パーティションの各々は、「パーティション間経路」を介して他のパーティションからデータ入力を受信し得る。各パーティション間経路は、間にある任意の組み合わせ論理を用いて、１つのパーティション内のメモリ要素（レジスタ、フリップフロップなど）から他のパーティション内のメモリ要素へデータ値を送信する。この組み合わせ論理は、図２で示す論理経路／矢印内に含まれているとみることができる。例えば、パーティション２２０Ａは、１つ又はそれ以上のデータ入力を経路２２２Ｂを介してパーティション２２０Ｂから受信し得、１つ又はそれ以上のデータ入力を経路２２２Ａでパーティション２２０Ｂへ供給し得る。図示しないが、このようなパーティション間データ経路は、他のパーティションペア間にも存在し得る。また、経路２２２Ｂで供給されるデータ入力は、２２０Ａ内のメモリ要素によって更に評価／処理されて、そのデータ出力が経路２２２Ａで供給されてもよい。
【００３５】
スキャンに基づくテストの間、パーティションの各々において、メモリ／ストレージ要素（例えば、フリップフロップ）を用いて１つ又はそれ以上のスキャン・チェーンが形成され得る。説明し易くするため、それぞれ１つのスキャン・チェーンのみ（パーティション２２０Ａ内のスキャン・チェーン２２０Ａ−１、パーティション２２０Ｂ内のスキャン・チェーン２２０Ｂ−１、及びパーティション２２０Ｎ内のスキャン・チェーン２２０Ｎ−１）を図２に示す。しかし、各パーティションが多数のスキャン・チェーンを含んでいてもよい。一般に、パーティションとは、定義された／特定の機能（例えば、ＡＬＵ、ＵＳＢコントローラがそれぞれの機能ブロックとして供給されてもよい）を提供するＩＣの一部を指す。
【００３６】
スキャン・チェーン２２０Ａ−１は、伸張されたテスト・ベクトルを経路２１２Ａで受信し、経路２２３Ａで応答ベクトルを提供する。同様に、スキャン・チェーン２２０Ｂ−１は、伸張されたテスト・ベクトルを経路２１２Ｂで受信し、経路２２３Ｂで応答ベクトルを提供する。パーティション２２０Ａ内だけでなく、パーティション２２０Ｂから２２０Ｎ内の他のスキャン・チェーンも対応して同様の方式で機能する。
【００３７】
圧縮器２３０Ａから２３０Ｎは、それぞれのパーティション２２０Ａから２２０Ｎ（内のスキャン・チェーン）から応答ベクトルを受信し、これらの応答ベクトルを圧縮し、コンパクトにされ／圧縮された応答ベクトルをそれぞれの「スキャンアウト」経路２３５Ａから２３５Ｎを介して供給する。経路２３５Ａ〜２３５Ｎは、各々多数の経路を含んでいてよく、一実施例ではそれぞれスキャンイン経路２０１Ａ〜２０１Ｎ内の経路と同じ数の経路を含み得る。
【００３８】
ＭＵＸ２５０は、選択信号２５１の値に基づいて、入力２３５Ａ〜２３５Ｎの１つをテスト出力１２１（ＳＯ）で供給する。このため、経路１２１（ＳＯ）は多数の出力信号ラインを表し得る。
【００３９】
ディコンプレッサーでの伸張及び圧縮器での圧縮は、幾つかの周知の手法のうち任意のものを用いて成され得る。一実施例において、ディコンプレッサー２１０Ａ〜２１０Ｎ及び圧縮器２３０Ａ〜２３０Ｎは、組み合わせ要素を用いて実装される。しかし、他の実施例において、ディコンプレッサー及び圧縮器は、順次的（クロックされた）要素、又は組み合わせ要素と順次的要素との組み合わせを用いて実装されてもよい。
【００４０】
ＩＣ２００は、ディコンプレッサー及び圧縮器を含むように上述したが、ディコンプレッサー及び圧縮器の実装は、テスト・ベクトルを提供する外部デバイス（例えば、テスター）のストレージ要件を低減するため、テスト適用時間及びそれによりテスト・コストを低減するため、テスター・ピンの数を低減するため、などの理由のためにのみ必要とされる可能性があることにも注意されたい。本発明の幾つかの特徴は、ディコンプレッサー及び圧縮器を備えずにＩＣに実装されてもよい。
【００４１】
テスト・コントローラ２７０は、テスター（例えば、テスター１１０）からマスター・クロック１６０（ＣＬＫ）及びマスター・スキャン・イネーブルＳＥ（１７０）を受信し、パーティション２２０Ａ〜２２０Ｎの各々に対しクロック及びスキャン・イネーブル信号を生成する。以下に詳細に説明するように、テスト・コントローラ２７０は、経路２７８に含まれるとみなされる、クロック信号（２２１Ａ〜２２１Ｎ）及びスキャン・イネーブル信号（２２２Ａ〜２２２Ｎ）を生成する際に向上した制御を提供する。テスト・コントローラ２７０は、ＭＵＸ２５０に供給される選択信号２５１を生成する。テスト・コントローラ２７０は、テスターによって供給される構成データを経路１８１で受信し得る。
【００４２】
テスト・コントローラ２７０は、パーティションを設けたスキャン・チェーン（即ち、異なるパーティション２２０Ａ〜２２０Ｎ内のスキャン・チェーン）内でスキャンに基づくテストを実行しつつ、向上した制御を提供する。このような向上した制御には、幾つかのパーティションへのテスト・ベクトルのスキャンインが含まれるが、幾つかの他のパーティションへのテスト・ベクトルのスキャンイン、全てのパーティションへの又は幾つかのパーティションのみへの並列のテスト・ベクトルのスキャンインなどは含まれない。本発明の一つの側面に従って、テスト・コントローラ２７０は、このような向上した制御を提供するが、イネーブルされる／ディセーブルされるべき特定のパーティションを特定するテスター（例えば、テスター１１０）とインタフェースするために含まれる制御ピンが一層少なく、前記制御ピンは、それが制御するパーティションの総数（より少ない数）の任意のサブセットであり得る。一実施例におけるこのような回路を図示して説明を続ける。
３．パーティション・セレクタ
【００４３】
図３は、本発明の一実施例において、パーティションを設けたスキャン・チェーンを備えたＩＣ（のテスト・コントローラ２７０）に実装されるパーティション・セレクタ回路のブロック図である。図３のパーティション・セレクタ３００は、２つのパーティションに対応する構成要素／ブロックのみしか図示していないが、４つのパーティションＰ１からＰ４に対しパーティション選択（パーティション・イネーブル／ディセーブル）信号を生成するように実装されると仮定する。また、本明細書の開示を読めば当業者には明らかであるが、図３に示すブロック／構成要素の適切な構成及び／又は反復により、４つより多い又は少ないパーティションもサポートされ得る。
【００４４】
ブロック３９５及び３９６はそれぞれ、パーティションＰ１及びＰ２に対し対応する選択信号３８１（Ｐ１＿ｓ）及び３８２（Ｐ２＿ｓ）を生成する。それぞれ、パーティションＰ３及びＰ４に対する選択信号の生成のための、ブロック３９６と同様のまたは同一の更に２つのブロックは、図示しないが存在すると仮定され、パーティションＰ３及びＰ４に対しそれぞれの選択信号３８３（Ｐ３＿ｓ）及び３８４（Ｐ４＿ｓ）を生成する。３９５、３９６などのブロック、及びパーティションＰ３及びＰ４に対応するブロックは、ステージと呼ばれる。
【００４５】
遅延レジスタ３０９及び３１２、カウント・レジスタ３１１及び３１３、及びバイパス・レジスタ３１８は、ＩＥＥＥ１１４９．１標準ＪＴＡＧ規格に従ってＩＣ２００のバウンダリスキャン・レジスタ３０３の一部を形成する。バウンダリスキャン・レジスタ３０３は、４つのパーティションの各々に対する遅延レジスタ及びカウント・レジスタ（例えば、第２のパーティションに対する遅延レジスタ３１２及びカウント・レジスタ３１３）と、パーティションＰ１を除く全てのパーティションに対するバイパス・レジスタとを含むように構成される。
【００４６】
以下の段落に説明するように、カウント・レジスタはスキャン期間の長さを特定し、遅延レジスタは開始信号に対する遅延を特定する。第１のステージ用の開始信号はテスター１１０から（信号３０５として）受信するが、後に続くステージでは、開始信号は対応するバイパス・レジスタの値によって決まる。バイパス・レジスタによって供給される値は、ステージの開始信号が、前のステージの出力によって供給されるか、或いは直接テスター１１０からの信号３０５によって供給されるかを特定する。これらのレジスタで設定される値の効果は、各パーティションのスキャン開始及びスキャン期間が、バウンダリスキャン・レジスタ３０３内の各レジスタの（テスター１１０による）適切なプログラミングによって独立して制御され得ることである。
【００４７】
バウンダリスキャン・レジスタ３０３は、外部テスターから、ＩＣ２００のピンＴＤＩ（３０１）を介してデジタル値をシリアルに受信する。カウント・レジスタ、遅延レジスタ、及びバイパス・レジスタにストアされたデータ値は、関連するパーティション内のスキャン・チェーンがスキャン・モードに置かれる、対応する特定の期間を示すデジタル・データとしてみることができる。図３のアプローチに従った構成は、出力ピンＴＤＯ（３０２）の利用を必要としないが、種々のデータを観測し易くするため、ピンＴＤＯ（３０２）を（オプションで）用いることができる。例えば、バウンダリスキャン・レジスタ３０３の一部にプログラムされたデータ値（ＴＤＩを介して成される）をＴＤＯ（３０２）でチェックすることが可能である。
【００４８】
バウンダリスキャン・レジスタ３０３内のレジスタは、（テスター上の）単一のピンが、各タイム・インスタンス（又は対応するクロック周期）にスキャンされる特定のパーティションを制御するデータビットを供給するために用いることができるように、直列に接続されて示されている。しかし、テスター１１０からのより多くのピン／経路を用いるために代替のアプローチが用いられ得るが、このようなピン／経路の数は制御されるべきパーティションの数よりも少ない。幾つかのこのようなアプローチは、本明細書の開示を読めば本発明の幾つかの側面の範囲及び趣旨から逸脱することなく当業者には明らかとなるであろう。
【００４９】
ブロック３９５は、遅延レジスタ３０９、カウント・レジスタ３１１、カウンタ３１０、コンパレータ３２０、遅延要素３６０、インバータ３７５、及びＡＮＤゲート３７０を含む。同様にブロック３９６は、遅延レジスタ３１２、カウント・レジスタ３１３、カウンタ３３０、コンパレータ３４０、ＭＵＸ３５５、遅延要素３５０、インバータ３８５、及びＡＮＤゲート３８０を含む。信号３０５（グローバル開始）も外部テスターによって供給される。簡潔にするため、ここではブロック３９６についてのみ説明するが、これらの説明はブロック３９５の同様の要素にも適用できる。
【００５０】
マルチプレクサ３５５は、バイパス・レジスタ３１８の値に基づいてローカル開始信号としてグローバル開始信号３０５か又は前のブロック３９５のスキャン終了信号３２８のいずれかを選択する。このように、第１のパーティション以外の各パーティションのスキャンの開始は、前のパーティションのスキャンの終了か又はグローバル開始３０５に関連して制御され得る。遅延要素３５０は、遅延レジスタ３１２によって特定される期間だけローカル開始信号を遅延させ、遅延された信号をＡＮＤゲート３８０及びカウンタ３３０の両方に送信する。
【００５１】
カウンタ３３０は、遅延された信号３５３の立ち上がりエッジの受信から始まるカウントを（０から）開始し、カウント・レジスタ３１３及びカウンタ３３０の値が等しいときコンパレータ３４０は、そのスキャンサイクルの終了を示す。インバータ３８５は、信号３４８の論理レベルを反転させる。ＡＮＤゲート３８０は、インバータ３８５の出力及び信号３５３を受信し、信号３５３及び信号３４８の反転のＡＮＤオペレーションにより、第２のパーティションに対するスキャン・イネーブル信号Ｐ２＿ｓを生成する。図３の回路のオペレーションを、図４Ａ及び４Ｂのタイミング図に関連して以下に更に詳細に説明する。
４．パーティション・スキャン・イネーブルのタイミング図
【００５２】
図４Ａは、テスト・ベクトルの順次的（重ならない）スキャンインが４つのパーティションＰ１〜Ｐ４に対して実行され得る様子を示す波形である。遅延レジスタ３０９はゼロ遅延値でロードされると仮定する。カウント・レジスタ３１１及び３１３、及び遅延レジスタ３１２は（対応するパーティションＰ３及びＰ４に対する遅延レジスタ及びカウント・レジスタも同様に）、所望のカウント値でロードされると仮定する。全てのバイパス・レジスタ（例えば、３１８）は、論理ハイ値でロードされる。これは、スキャン・オペレーションが前のパーティションのスキャンの終了に続いて開始することを意味する。
【００５３】
信号３０５（グローバル開始）は、論理ハイにアサートされ、ゼロ遅延で遅延要素３６０によって送られる。そのため、タイム・インスタンスｔ４１１で信号３６１は論理ハイとなり、カウンタ３１０にカウントを開始させる。コンパレータ３２０は、経路３１２及び３２１上のカウント値を比較する。タイム・インスタンスｔ４１２で、カウンタ３１０のカウント値３１２は、カウント・レジスタ３１１で初期化されたカウント値に等しくなり、コンパレータ３２０は、経路３２８に論理ハイを供給する。ＡＮＤゲート３７０は、（インバータ３７５から）信号３２８の論理反転だけでなく信号３６１を受信し、期間ｔ４１１〜ｔ４１２で出力３８１（Ｐ１＿ｓ）に論理ハイを生成する。このため、期間ｔ４１１〜ｔ４１２は、テスト・ベクトルがパーティションＰ１にスキャンインされる期間を表し、これは、カウント・レジスタ３１１のカウント値によって決まる（等しい）。
【００５４】
経路３２８の論理ハイ遷移は、ＭＵＸ３５５によって（論理ハイであるバイパス・レジスタ３１８からの選択信号のため）経路３６５に送られ、その後、タイム・インスタンスｔ４１３に（経路３５３で）遅延要素３５０によって論理ハイ遷移として送られる。遅延要素３５０は、遅延レジスタ３１２から受信した遅延カウントに基づいて経路３５２に遅延ｔ４１３〜ｔ４１２を生成する。
【００５５】
タイム・インスタンスｔ４１３で論理ハイにアサートされている信号３５３は、カウンタ３３０にカウントを開始させる。コンパレータ３４０は、経路３３４及び３４１のカウント値を比較する。タイム・インスタンスｔ４１４で、カウンタ３３０のカウント値３３４は、カウント・レジスタ３１３で初期化されたカウント値（経路３４１）に等しく、コンパレータ３４０は経路３４８に論理ハイを供給する。ＡＮＤゲート３８０は、（インバータ３８５から）信号３４８の論理反転だけでなく信号３５３を受信し、期間ｔ４１３〜ｔ４１４に出力３８２（Ｐ２＿ｓ）に論理ハイを生成する。このため、期間ｔ４１３〜ｔ４１４はテスト・ベクトルがパーティションＰ２にスキャンインされる期間を表し、これは、カウント・レジスタ３１３のカウント値によって決まる（等しい）。
【００５６】
経路３４８の論理ハイ遷移は次のステージに送られ、Ｐ３及びＰ４に対応するステージのオペレーションは、ステージ／ブロック３９５及び３９６に関連して上述したものに類似する。図４Ａの信号４０１及び４０３は、信号３６１及び３５３にそれぞれ対応するが、それぞれパーティションＰ３及びＰ４に対する信号を表す。同様に、信号４０２及び４０４は、信号３２８及び３４８にそれぞれ対応するが、それぞれパーティションＰ３及びＰ４に対する信号を表す。信号３８３（Ｐ３＿ｓ）及び３８４（Ｐ４＿ｓ）は、パーティションＰ３及びＰ４に対して生成され、図４Ａに示すような選択信号を表す。
【００５７】
図４Ｂは、パーティションＰ１及びＰ２に対するテスト・ベクトルのスキャンイン位相が時間的に重なるが、パーティションＰ３及びＰ４のスキャンイン位相は順次的である（重ならない）様子を示す波形である。遅延レジスタ３０９及び３１２はゼロ遅延値でロードされると仮定する。カウント・レジスタ３１１及び３１３及び遅延レジスタ３１２は（対応するパーティションＰ３及びＰ４に対する遅延レジスタ及びカウント・レジスタも同様に）、所望のカウント値でロードされると仮定する。ＭＵＸ３５５の選択入力は、バイパス・レジスタ３１８によって（図４Ａの波形に対応する論理ハイではなく）論理ローとして供給される。しかし、パーティションＰ３及びＰ４に対応するマルチプレクサの選択入力は、論理ハイとして供給される。
【００５８】
遅延レジスタ３０９及び３１２がゼロ遅延カウントを有するため、カウンタ３１０及び３３０は、図４Ｂのタイム・インスタンスｔ４２１で論理ハイにアサートされる信号３６１及び３５３の両方で示すように、同時にカウントを開始する。
【００５９】
コンパレータ３２０は、経路３１２及び３２１のカウント値を比較する。時間期間ｔ４２２で、カウント・レジスタ３１０のカウント値３１２は、カウント・レジスタ３１１で初期化されたカウント値に等しく、コンパレータ３２０は、経路３２８に論理ハイを供給する。ＡＮＤゲート３７０は、期間ｔ４２１〜ｔ４２２で出力３８１（Ｐ１＿ｓ）に論理ハイを生成する。このため、期間ｔ４２１〜ｔ４２２は、テスト・ベクトルがパーティションＰ１にスキャンインされる期間を表し、これは、カウント・レジスタ３１１のカウント値によって決まる（等しい）。
【００６０】
コンパレータ３４０は、経路３３４及び３４１のカウント値を比較する。時間期間ｔ４２３で、カウンタ３３０のカウント値３３４は、カウント・レジスタ３１３で初期化された（経路３４１の）カウント値に等しく、コンパレータ３４０は、経路３４８で論理ハイを供給する。ＡＮＤゲート３８０は、期間ｔ４２１〜ｔ４２３で、出力３８２（Ｐ２＿ｓ）に論理ハイを生成する。このため、期間ｔ４２１〜ｔ４２３は、テスト・ベクトルがパーティションＰ２にスキャンインされる期間を表し、これは、カウント・レジスタ３１３のカウント値によって決まる（等しい）。図４Ｂに示すように、パーティションＰ３に対応するステージのカウントの開始は、ステージ／ブロック３９６の出力３４８によってトリガーされ、パーティションＰ４に対応するステージのカウントの開始はパーティションＰ３に対応するステージの対応する出力によってトリガーされるため、経路３４８の論理ハイ遷移は、次のステージに送られ、信号４０１〜４０４、及び選択信号３８３（Ｐ３＿ｓ）及び３８４（Ｐ４＿ｓ）は、順次的であり重ならない方式で生成される。
【００６１】
上述の説明から、本発明の側面に従ってスキャンテストにおける向上した制御が供給されることが分かるであろう。例えば、パーティション１及び２のテスト・ベクトルのスキャンイン位相は、図４Ｂの例において実質的に重なるが、図４Ａの例ではパーティション１及び２のスキャンイン位相は重ならない。パーティションの各々に対応する、カウント・レジスタ、遅延カウント・レジスタ、及びＭＵＸ選択（バイパス・レジスタ）に対して適切な値を選択及び提供することにより、パーティションの各々の順次的位相及び重なる位相の候補となり得るあらゆる組み合わせを達成できることも理解され得るであろう。一般に、各パーティションは上述で提供される制御のため、特定の所望の期間に、独立して（即ち、別のパーティションのスキャン期間とは独立して）スキャンされ得る。
【００６２】
例えば、遅延レジスタ３０９に大きな値をプログラミングし、更に、ＭＵＸ３５５の選択を論理ローとすることにより、Ｐ２＿ｓ（３８２）がＰ１＿ｓ（３８１）より早く開始するように生成され得る。また、カウント・レジスタ３１１及び３１３の値を適切に選択することにより、Ｐ２＿ｓ（３８２）の論理ハイ期間が、Ｐ１＿ｓ（３８１）の論理ハイ期間前であり、それと重ならないように（又は、部分的に重なるように）、生じるように設計され得る。
【００６３】
また、同様の向上した制御は、パーティションの各々のキャプチャ位相及びスキャンアウト位相とは独立して供給され得る。このような向上した制御は、電力消散／消費を最小化するために用いられ得る。例えば、スキャンテスト中の電力消費を推定するために計算が成され得、電力消費が所望の制限値を超えると判定された場合、スキャンイン、キャプチャ、及び／又はスキャンアウトは、並列にではなく順次的に成され得る。
【００６４】
図３のアプローチで必要とされる、外部テスターとインタフェースするべきピンの数（図３の例示の実施例では３つ）が、制御され得るパーティションの数よりも少ないことも理解されたい。図３のアプローチは、外部テスターとインタフェースするために必要とされるピンの数をパーティションの数に関連して増加させることなく、更に多くの数のパーティションをサポートできることに注意されたい。
【００６５】
図３の回路に類似する回路は、シフトイン位相について上述した選択信号とは独立して、パーティションＰ１〜Ｐ４の各々に対するスキャンテストのキャプチャ位相及びシフトアウト位相をイネーブルにするための選択信号の生成のために再現され得ることに注意されたい。説明し易くするため、テスト・ベクトルのシフトイン（又はスキャンイン）位相のみについて図３の回路のオペレーションを、図４Ａ及び４Ｂのタイミング図に関連して以下に説明する。しかし、本明細書の開示を読めば当業者には明らかであろうが、同様の制御は、キャプチャ及びシフトアウト（スキャンアウト）位相に対しても独立して提供され得る。図３の回路のレジスタ及びカウンタは、オペレーション前に適切な所望の値で初期化されると仮定する。
【００６６】
パーティション・セレクタ３００によって生成されるパーティション選択信号は、以下に図示するように、パーティションの各々に供給される対応するクロック及びスキャン・イネーブル信号を生成するように、外部テスター（テスター１１０）によって供給されるマスター・クロック及びマスター・スキャン・イネーブル信号でゲートされる。
【００６７】
５．テスト・コントローラ
図５は、本発明の一実施例におけるテスト・コントローラのブロック図である。テスト・コントローラ５００（図２でも２７０で示す）は、パーティション・セレクタ３００、ＡＮＤゲート５２０Ａ〜５２０Ｄ及び５３０Ａ〜５３０Ｄ、及びレジスタ５４０Ａ〜５４０Ｄを含むよう示されている。これは、各パーティションを制御するために用いられる１つの候補となり得る実施例であるが、他の実施例が、（テスト・コントローラを用いるのではなく）デバイス・ピンから直接情報を提供すること、又はデバイス・ピンとテスト・コントローラとの間の制御を配分することを含んでいてもよい。
【００６８】
また、テスト・コントローラ５００が４つのパーティションをサポートするよう実装されて示されているが、一層多くの又は少ないパーティションに同様の手法が用いられてもよい。図示していないが、テスト・コントローラ５００は、スキャンテストの他の位相（キャプチャ、スキャンアウトなど）のためのパーティション・クロック及びスキャン・イネーブル信号の独立した制御のための、パーティション・セレクタ３００に類似する回路ブロックも含むように設計されてもよい。
【００６９】
経路５０１は、図３の経路３０１、３０２、及び３０５を含むと考えられ、図１の経路１８１に含まれると考えられる。マスター・クロック１６０（ＣＬＫ）は、（パーティション・セレクタ３００によって生成される）イネーブル信号３８１、３８２、３８３、及び３８４と論理積がとられ、４つのパーティションそれぞれに対して、パーティション・クロック５２１Ａ、５２１Ｂ、５２１Ｃ、及び５２１Ｄを生成する。
【００７０】
マスター・スキャン・イネーブル１７０（ＳＥ）は、イネーブル信号３８１、３８２、３８３、及び３８４と論理積がとられ、４つのパーティションそれぞれにスキャン・イネーブル信号５３１Ａ、５３１Ｂ、５３１Ｃ、及び５３１Ｄを生成する。レジスタ５４０Ａ〜５４０Ｄに（ピン５４０を介して）シフトインされた論理ビットは、以下に詳細に説明する、（遷移故障テストのため）図９の回路で用いられるマルチプレクサの選択信号として供給される。
【００７１】
本発明の側面に従って実装されるＩＣ（例えば、図２の回路に対して）において用いるためにテスト・ベクトルが生成される様子を以下に説明する。
６．テスト・ベクトル生成
【００７２】
図６は、ＡＴＰＧ（Automatic Test Pattern Generation）ツールへの入力として供給される、ＩＣ２００の設計情報を示す図である。図６では回路図として示すが、ＡＴＰＧツールに供給される設計情報は、図６の構造に対応する（構成要素、相互接続、及び構成要素／相互接続の特性を特定する）ネットリストである。ここでも、説明し易くするため、ＩＣ２００は、それぞれ「Ｎ」個のチェーン（２２０Ａ−１から２２０Ａ−Ｎ、及び２２０Ｂ−１から２２０Ｂ−Ｎ）を含むよう示された、２つのパーティション２２０Ａ及び２２０Ｂのみを含むと仮定する。
【００７３】
これらのチェーンの各々は４つのフリップフロップを含むように示され、これらのフリップフロップは、チェーン２２０Ａ−１内で（Ｆ１１からＦ１４に）分類して示される。しかし、一般に、ネットリストは、ＩＣ２００（図２）の実際の構造と同じくらい多くのパーティション及び構成要素の細部を含み得る。パーティション２２０Ａ及び２２０Ｂの回路構造に関連する全ての情報は、図５に示した制御構造（テスト・コントローラ５００）と共に供給される。
【００７４】
このように供給される情報に基づいて、ＡＴＰＧツールは、パーティションの各々をテストするためテスト・ベクトルを生成し、これらはその後、それらのテスト実行の間、所望の方式で（図４Ａ及び４Ｂに関して説明したように、重なって又は重ならずに）供給され得る。一実施例において生成されるテスト・ベクトル／ビットを図７に示す。図７では、テスト・ビット（７００）は、ビットＰ１１からＰ１４、Ｐ２１からＰ２４、Ｐ３１からＰ３４、Ｐ４１からＰ４４、Ｐ５１からＰ５４、Ｐ６１からＰ６４、Ｐ７１からＰ７４、及びＰ８１からＰ８４を含むよう示されている。その後、テスター１１０は、以下に簡単に示すように、ＩＣ２００をテストするようにプログラムされ得る。テスター１１０の幾つかの例は、エルティーエックス・コーポレーションのＦＵＳＩＯＮ（商標）テスター、テキサス・インスツルメンツのＶＬＣＴ（商標）テスター、及びヴェリジーのＯＣＥＬＯＴ（商標）テスターなどである。
【００７５】
テスト・ベクトルを２つのパーティション２２０Ａ及び２２０Ｂに順次的にシフトインする（例えば、パーティション２２０Ａへシフトインした後、パーティション２２０Ｂへのシフトインが続く）ことが望ましいと仮定すると、ビットＰ１４、Ｐ２４、Ｐ３４、及びＰ４４が、１つのクロック・サイクルでパーティション２２０Ａにシフトインされ、その後続くクロック・サイクルでビット（Ｐ１３、Ｐ２３、Ｐ３３、及びＰ４３）、（Ｐ１２、Ｐ２２、Ｐ３２、及びＰ４２）、及び（Ｐ１１、Ｐ２１、Ｐ３１、及びＰ４１）が続く。ビット（Ｐ５４、Ｐ６４、Ｐ７４、及びＰ８４）、（Ｐ５３、Ｐ６３、Ｐ７３、及びＰ８３）、（Ｐ５２、Ｐ６２、Ｐ７２、及びＰ８２）、及び（Ｐ５１、Ｐ６１、Ｐ７１、及びＰ８１）は、その後、対応する後続のクロック・サイクルでパーティション２２０Ｂにシフトインされる。
【００７６】
上述のようにシフトインが完了すると、（この場合も、キャプチャ位相のための対応するパーティション・イネーブル信号に基づいて、同時に又は重ならない方式のいずれかで）キャプチャ・サイクルが生成され、組み合わせ論理回路の応答ビットがキャプチャされ、シフトアウトされる。この場合も、このシフトアウトは、並列に又は重ならない方式で実行され得る。こうして生成されたテスト・ベクトルに基づく一実施例において、ＬＯＣ（launch off capture）テストが実行される様子を以下に説明する。
７．ローンチ・オフ・キャプチャ・テストのタイミング図
【００７７】
図８Ａ及び８Ｂは、上述のように生成されたテスト・ベクトルで実行されるＬＯＣ（縮退（stuck-at）故障テストと呼ぶこともある）スキャンテストを表す例示の波形を示す図である。図８Ａにおいて、期間８１１及び８１２はそれぞれ、テストのスキャンイン及びスキャンアウト期間及びそれぞれの応答ベクトルを表し、各々、パーティション２２０Ａ及び２２０Ｂのスキャン・チェーン内の４つの並列に接続されたストレージ要素に対応する４つのクロック・サイクルを含む。期間ｔ８０〜ｔ８１は、キャプチャ位相を表し、ローンチ・パルス８１３（パーティション２２０Ａ用）及び８１５（パーティション２２０Ｂ用）、及びキャプチャ・パルス８１４（パーティション２２０Ａ用）及び８１６（パーティション２２０Ｂ用）を含む。図８Ａの例では、これら２つのパーティションの各々に対するスキャンイン位相、キャプチャ位相、及びスキャンアウト位相が重なるように示されている。
【００７８】
図８Ｂにおいて、期間８１７及び８１９は、それぞれパーティション２２０Ａ及び２２０Ｂに対するテスト・ベクトルのスキャンイン期間を表し、一方、期間８１８は、両方のパーティションに対する応答ベクトルのスキャンアウト期間を表す。この例でも、スキャンイン位相及びスキャンアウト位相の各々は、４つのクロック・サイクルに対して、及びその後、パーティション２２０Ａ及び２２０Ｂのスキャン・チェーン内の４つの並列に接続されるストレージ要素に対応して、実行されるよう示されている。期間ｔ８２〜ｔ８３は、キャプチャ位相を表し、ローンチ・パルス８２０（パーティション２２０Ａ用）及び８２２（パーティション２２０Ｂ用）、及びキャプチャ・パルス８２１（パーティション２２０Ａ用）及び８２３（パーティション２２０Ｂ用）を含む。
【００７９】
図８Ｂの例では、これら２つのパーティションの各々に対するキャプチャ位相及びスキャンアウト位相は重なるが、これら２つのパーティションに対するスキャンイン位相は順次的である。上述のセクションで述べたように、スキャンイン位相、キャプチャ位相、及びスキャンアウト位相の他の組み合わせを用いることもできる。パーティション間に存在する論理のカバレッジを提供するだけでなく、異なる形式の順次的ＡＴＰＧのサポートもするように、任意のパーティションのキャプチャ・パルスの数(０、１又はそれ以上）を変えることもできる。更に、図８Ａ及び８Ｂにおいて、クロック２２１Ａ及び２２１Ｂの周波数は、単に説明の目的のため同一であるように示している。しかし、一般に、図８Ａ及び８Ｂの図のスキャンイン、スキャンアウト、及びキャプチャ位相に対応する変化に伴って、周波数が異なっていてよい。
【００８０】
ＬＯＣテストに関して上述したアプローチは、ＬＯＳ（launch-on shift）テストをサポートすることはできないかもしれない。ＬＯＳテストとは、遅延テストと呼ぶこともあり、遷移故障をキャプチャするように全般的に設計された、別のタイプのスキャンテストである。ＬＯＳテストにおいても、スキャン・チェーンから組み合わせ回路への入力が供給されて、その後続くキャプチャ・サイクルの前に組み合わせ回路のノード／ネットに遷移を生じさせる。しかし、ＬＯＣテスト・アプローチとは対照的に、ローンチ値は、遷移をローンチするために用いられる最終シフト・クロック・サイクルでスキャン・チェーンから直接供給される。機能クロックの１クロックの周期に等しい期間の後、キャプチャ・サイクルが生成される。この出力値がキャプチャされ、シフトアウトされ、及び潜在的な故障がないかテスター１１０で分析される。
【００８１】
このため、ＬＯＳテストにおいてスキャン・チェーンにシフトインされる最終ビットが、テストされている組み合わせ論理に遷移を生じさせる必要がある。しかし、図８Ｂから、パーティション２２０Ａのスキャン・チェーンのローンチ・パルス（シフトインされた最終テスト・ビット）の発生と、キャプチャ・パルス８２１の発生との間に許容し難い大きな時間期間「ｔｄ」があり得ることが分かるであろう。このような遅延「ｔｄ」は、大きすぎて、信号遷移に関連する如何なる故障をもキャプチャすることはできない。
【００８２】
効果的な遷移故障テストのため、対応する組み合わせ回路／要素又は相互接続ネットのデータ値の遷移の発生のタイム・インスタンスと、キャプチャタイム・インスタンスとの間の遅延は、一般的に、１機能クロック周期（典型的に、スキャンテスト中に対し、実際のオペレーション中に用いられるクロックの周期）を超えてはいけないことに注意されたい。本発明の一実施例は上述の要件に対処しており、これを以下に説明する。
【００８３】
８．ＬＯＳテストの向上
図９は、本発明の別の実施例において、ＬＯＳ（launch off shift）遷移故障テストをサポートしつつ、電力消費が低減されるなどの向上した制御の利点を提供し、テストカバレッジ又はテスト適用時間が低減された又はそれらに影響を与えない、ＩＣのブロック図である。ＩＣ９００は、レジスタ（又は、一般に、ストレージ要素）９１０Ａ及び９１０Ｂ、ＭＵＸ９２０Ａ及び９２０Ｂ、ディコンプレッサー９３０Ａ及び９３０Ｂ、パーティション９４０Ａ及び９４０Ｂ、圧縮器９５０Ａ及び９５０Ｂ、及びＭＵＸ９６０を含むよう示されている。簡潔にしかつ説明を簡単にするため、２つのパーティション及び対応する回路（ディコンプレッサー、圧縮器、など）のみを図９に示す。しかし、代替の実施例が、本発明の幾つかの側面の範囲及び趣旨から逸脱することなく、２つ以上のパーティション（対応するディコンプレッサー、圧縮器、及びレジスタと共に）を備えて実装されてもよい。
【００８４】
ディコンプレッサー９３０Ａ及び９３０Ｂ、パーティション９４０Ａ及び９４０Ｂ、圧縮器９５０Ａ及び９５０Ｂ、及びＭＵＸ９６０は、図２に関して上述した対応する構成要素に類似して実装され（かつ動作し）、簡潔にするためここでは繰り返しの説明はしない。スキャン・イネーブル信号９８０Ａ及び９８０Ｂが、それぞれのパーティション９４０Ａ及び９４０Ｂへ供給される。それぞれのクロックＣＬＫ９Ａ及びＣＬＫ９Ｂが、それぞれ経路９４１及び９４２を介して各パーティションへ供給される。
【００８５】
ＭＵＸ９６０は、制御入力９６１に基づいて、入力９５１Ａ及び９５１Ｂの一方をスキャン出力信号ライン／ピン９９９（ＳＯ）に供給する。経路９０１は、多数のスキャンイン（ＳＩ入力）信号ラインを表し得、所望の数の信号ラインがレジスタ９１０Ａ（及びＭＵＸ９２０Ａ）及びレジスタ９１０Ｂ（及びＭＵＸ９２０Ｂ）に供給される。
【００８６】
パーティション９４０Ａに対応する経路９０１（ＳＩ）のビットは、レジスタ９１０Ａ及びＭＵＸ９２０Ａの両方に供給される。同様に、パーティション９４０Ｂに対応する経路９０１（ＳＩ）のビットは、レジスタ９１０Ｂ及びＭＵＸ９２０Ｂの両方に供給される。レジスタ９１０Ａ及び９１０Ｂは、それぞれのクロック９４１（ＣＬＫ９Ａ）及び９４２（ＣＬＫ９Ｂ）でクロックされる。ＭＵＸ９２０Ａ及び９２０Ｂは、（レジスタに必要とされるビット幅を低減するため）それぞれディコンプレッサー９３０Ａ及び９３０Ｂの（この信号経路において）前に示しているが、本明細書の開示を読めば当業者には明らかであろうが、本発明の幾つかの側面の範囲及び趣旨から逸脱することなく、代替の実施例は、ディコンプレッサーの後（又は他の場所）にレジスタを配置するよう実装されてもよい。ディコンプレッサーの後に配置される場合、レジスタは、幾つかのスキャン・チェーンにおいて遷移がスキャン・シフト経路を用いてローンチされ、幾つかのスキャン・チェーンにおいて遷移がローンチ・キャプチャ・クロックを用いてローンチされるように、個別のスキャン・チェーンの複合的な制御を提供することもできる。
【００８７】
レジスタ９１０Ａは、クロックＣＬＫ９Ａのアクティブ・エッジ（又はアクティブ・レベル）の入力信号９０１（ＳＩ）の（経路９０１（ＳＩ）の、パーティション９４０Ａに供給されるべき信号ライン上の）対応するビットをストアする。レジスタ９１０Ｂは、クロックＣＬＫ９Ｂのアクティブ・エッジ（又はアクティブ・レベル）の入力信号９０１（ＳＩ）の対応するビットをストアする。クロック９４１（ＣＬＫ９Ａ）、９４２（ＣＬＫ９Ｂ）、スキャン・イネーブル信号９８０Ａ及び９８０Ｂ、及びＭＵＸ選択信号９６１は、テスト・コントローラ２７０に類似するコントローラによって、又はテスター（テスター１１０など）から直接、供給され得る。
【００８８】
幾つかのシナリオをテストすることが所望される場合があるため、図１０Ａは、幾つかの例示のシナリオを図示する。図１０Ａでは、便宜上、図９の対応するディコンプレッサー及び圧縮器は省略している。Ａ、Ｂ、Ｃ、Ｄ、及びＥと符号を付した楕円のブロックはそれぞれ、遷移故障をテストするために必要とされる１つ又はそれ以上の組み合わせ論理のブロックを表す。ブロックＡは、「ローンチ」入力（経路１００１及び１００２でブロックＡの組み合わせ論理に論理遷移を生じさせるデータ）を受信し、対応する組み合わせ出力をパーティション９４０Ａに供給する。
【００８９】
ブロックＢは、パーティション９４０Ａ及び９４０Ｂの各々から「ローンチ」入力を受信し、対応する組み合わせ出力をパーティション９４０Ａに供給する。ブロックＣは、パーティション９４０Ａから「ローンチ」入力を受信し、対応する組み合わせ出力をパーティション９４０Ｂに供給する。ブロックＤは、パーティション９４０Ａ及び９４０Ｂの各々から「ローンチ」入力を受信し、対応する組み合わせ出力をパーティション９４０Ａ及び９４０Ｂの各々に供給する。ブロックＥは、パーティション９４０Ａから「ローンチ」入力を受信し、対応する組み合わせ出力をパーティション９４０Ａ及び９４０Ｂの各々に供給する。
【００９０】
図１０Ａの構造に関して実行されるべきスキャンテスト（スキャンイン、キャプチャ、又はスキャンアウト）の所望の位相を含む一例の表を図１０Ｂの表で提供する。この表の列１０７０はテストされるブロックを示す。列１０７１は、対応するテスト位相を示し、「Ｌ」はローンチを表し、「Ｃ」はキャプチャを表し、Ｐ１及びＰ２は、それぞれパーティション１及びパーティション２を表す。図１０Ｂの表の「テストケース」は図１０Ａのシナリオに対応することがわかるだろう。
【００９１】
図１０Ｃ、１０Ｄ、１０Ｅ、１０Ｆ、及び１０Ｇのクロック波形は、図１０Ｂの行１０８０、１０８１、１０８２、１０８３、及び１０８４の５つのテストケースそれぞれに対応する。これらの図において、「Ｓ」で表示するクロックパルスは、シフトイン・パルス（「Ｌ」（ローンチ・パルス）で表示する最終シフトイン・パルスは含まない）を示す。キャプチャ・パルスは、この波形では「Ｃ」で表示する。簡潔にするため、この波形では、シフトイン位相は３つのクロック・サイクルのみを必要とすると考えられる。
【００９２】
このため、図１０Ｃの波形では、パーティション１からシフトイン・パルス、ローンチ・パルス（１１００）、及びキャプチャ・パルスが生成され（供給され）、対応するキャプチャもパーティション１（Ｐ１）で実行される。平坦な線で示すようにパーティション２（Ｐ２）はテストされない。図１０Ｅの波形では、Ｐ１からシフト・パルス（ローンチ・パルス１１０４を含む）が生成される（供給される）が、対応するキャプチャはＰ２で実行される。
【００９３】
図１０Ｇの波形では、シフト・パルス（ローンチ・パルス１１０８を含む）がＰ１から生成され（供給され）、対応するキャプチャはＰ１及びＰ２の両方で実行される。図１０Ｃ、１０Ｅ、及び１０Ｇの波形におけるスキャンイン位相のデータビットは、それぞれのディコンプレッサー９３０Ａ及び９３０Ｂに経路９０１（ＳＩ）から直接供給される。即ち、選択信号５４１Ａ及び５４１Ｂがそれぞれのディコンプレッサーへの経路９０１（ＳＩ）に入力を供給する。
【００９４】
図１０Ｄに関し、まずＰ２へのシフトインが、それに続いてＰ１へのシフトインが実行される。テストされるべき遷移がＰ１及びＰ２の両方からローンチされることになるため、テスト・ビットの順次的シフトに起因して、Ｐ２からの（シフトインされる最終ビットに対応する）シフトイン・パルス１１０１は、Ｐ１のキャプチャ・パルスよりずっと早く（通常オペレーション中のクロック周期より少なくとも１つのクロック・サイクル早く）生じることに注意されたい。そのため、遅延（遷移故障）に関してブロックＢを正確にテストすることができない可能性がある。
【００９５】
従って、Ｐ２からのローンチ・パルス１１０２は、Ｐ１からのローンチ・パルス１１０３と同時に、Ｐ１のキャプチャ・パルスの直前に（レジスタ９１０Ｂから）供給される。タイム・インスタンスｔ１０１で（またはその直前に）、選択信号５４１Ｂが供給されて、レジスタ９１０Ｂのデータ出力がＭＵＸ９２０Ｂの出力として送られるようにする。ローンチ・パルス１１０３に対応する（Ｐ１からの）データは、レジスタ９１０Ａから、或いはＳＩ（９０１）から直接、供給され得る。
【００９６】
図１０Ｆに関し、まずＰ２へのシフトインが、それに続いてＰ１へのシフトインが実行される。この場合も、テストされるべき遷移はＰ１及びＰ２の両方からローンチされることになるため、テスト・ビットの順次的シフトに起因して、Ｐ２からの（シフトインされる最終ビットに対応する）シフトイン・パルス１１０５は、Ｐ１のキャプチャ・パルスよりずっと早く生じることに注意されたい。そのため、遅延（遷移故障）に関してブロックＢを正確にテストすることができない可能性がある。
【００９７】
従って、Ｐ２からのローンチ・パルス１１０６は、Ｐ１からのローンチ・パルス１１０７と同時に、Ｐ１及びＰ２両方のキャプチャ・パルスの直前に（レジスタ９１０Ｂから）供給される。タイム・インスタンスｔ１０２で（又はその直前に）、選択信号５４１Ｂが供給されてレジスタ９１０Ｂのデータ出力がＭＵＸ９２０Ｂの出力として送られるようにする。ローンチ・パルス１１０７に対応する（Ｐ１からの）データは、レジスタ９１０Ａから、或いはＳＩ（９０１）から直接、供給され得る。
【００９８】
このように、遷移故障テストを実行するとき最終（ローンチ）ビットを供給するためにレジスタ９１０Ａ及び９１０Ｂを利用することで、このようなテストを正確に実行することが可能となる。一般に、レジスタ（９１０Ａ又は９１０Ｂなど）は、ＩＣのパーティション毎に供給され得る。
【００９９】
本発明の別の側面は、一実施例に関連して以下に説明するように、得られる圧縮レベルやテスト品質／テストカバレッジに悪影響を与えることなく、ＩＣ上に供給される必要のあるＳＩ及びＳＯピンの数を低減させる。
９．テスト・ピン数の低減
【０１００】
図１１は、一実施例における、スキャンテストのためのテスト・ピンの数が低減されたＩＣのブロック図である。ＩＣ１１００は、シリアル−パラレル変換器１１１０、パラレル−シリアル変換器１１２０、クロック分周器１１３０、カウンタ１１５０、及び２００／９００で示す部分を含むよう示されている。部分２００／９００は、図２のＩＣ２００又は図９のＩＣ９００の構造と同様又は同一であり、簡潔にするため、内部の詳細はここでは説明しない。また、コントローラ２７０に類似するテスト・コントローラをＩＣ１１００内に実装してもよいが、図１１には図示していない。簡潔にするため、種々の信号（図１１の種々のブロックへのリセット信号など）は図示していない。
【０１０１】
クロック１１４０は、シリアル−パラレル変換器１１１０及びパラレル−シリアル変換器１１２０のオペレーションを制御／調整する。クロック分周器１１３０は、クロック１１４０を係数（典型的に、整数）で分周し、分周されたクロックを部分２００／９００への経路１１１３に供給する。一般に、分周係数は、経路１１０１のデータの幅と経路１１１１のデータの幅との比に依存する。例えば、経路１１０１でクロック１１４０のクロック・サイクル毎に４ビットが受信され、シリアル−パラレル変換器１１１０が、２つのこのような４ビットデータ入力を組み合わせて単一の８ビットデータ出力を形成する場合、分周比は２となる。
【０１０２】
シリアル−パラレル変換器１１１０は、クロック１１４０のクロック・サイクル毎に経路１１０１でＮビット幅のテストデータを受信する。シリアル−パラレル変換器１１１０は、対応する数の多数のクロック・サイクルにわたって受信した多数セットのＮビットデータを組み合わせてＭビット幅データ（ＭはＮより大きい）を形成し、このＭビットデータを多数の（Ｍ本の）ラインを含む経路１１１１で部分２００／９００へ送信する。一例として、部分２００／９００がクロック１１１３の各クロック・サイクルに８ビット幅入力を受信するように設計されると仮定すると、経路１１１１は８つの経路を含み／表し得る。経路１１０１は、例えば、４ビット幅であってもよい。このように、シリアル−パラレル変換器１１１０は、４−８コンバータとして実装され得、経路１１０１の２つの４ビット入力を組み合わせて１つの８ビットデータ値を経路１１１１に供給する。
【０１０３】
パラレル−シリアル変換器１１２０は、経路１１１２でクロック１１４０のクロック・サイクル毎にＰビット幅データ（スキャンテストでキャプチャされた応答ビット）を受信する。クロック１１１３のクロック周波数は、応答ビットのスキャンアウト周波数に等しく、スキャンアウト・サイクルは、クロック１１１３の１つのクロック・サイクルに等しい。パラレル−シリアル変換器１１２０は、Ｐビットデータを分割して多数のＱビットデータ（ＰはＱより大きい）を形成し、そのＱビットデータを対応する数の多数のクロック・サイクルにわたって経路１１９９で送信する。一例として、部分２００／９００が、クロック１１１３の各クロック・サイクルで８ビット幅出力（応答ビット）を供給するように設計されると仮定すると、経路１１１２は８つの経路を含み／表し得る。経路１１９９は、例えば、４ビット幅であってもよい。このように、パラレル−シリアル変換器１１２０は、８−４コンバータとして実装され得、経路１１１２で受信した各８ビットデータを、経路１１９９に送られる２つの４ビットデータに分割する。
【０１０４】
シリアル−パラレル変換器１１１０のオペレーションに関し、入力データから形成される出力データは、単に連結されるということに注意されたい。このため、出力データ（経路１１１１）のビット間には何ら相関関係はない。このようなオペレーションは、多数の出力ラインに同じ入力ビットを供給し得る（例えば、図２及び図９の）ディコンプレッサーのオペレーションとは明らかな差異があることをここで強調する。そのため、ディコンプレッサーによって供給される出力ビットは、互いに対して相関している。圧縮器及びパラレル−シリアル変換器１１２０も、同様に異なっている。
【０１０５】
図１２及び図１３の例示の図に関連して以下に説明するように、カウンタ１１５０は、パラレル−シリアル変換器１１２０のオペレーションだけでなくシリアル−パラレル変換器１１１０のオペレーションも制御する。カウンタ１１５０は、クロック１１１３に対するクロック１１４０のクロック周波数の比を表す係数の２倍まで円形にカウントするように設計される。即ち、このカウンタはモジュロ［２×係数］カウンタである。
【０１０６】
シリアル−パラレル変換器１１１０及びパラレル−シリアル変換器１１２０を提供することにより、スキャン・チェーン内に一層幅広い（しかも互いに相関しない）テスト・ビットを提供しつつ、テスト用の外部ピン（１１０１及び１１９９）が一層少なくなるようＩＣ１１００を実装することが可能となることを理解されたい。このようなアプローチにより、必要とする外部ピンが比較的少ない、高テストカバレッジが可能となる。
【０１０７】
ディコンプレッサーに用いる入力ピンが一層少なく、圧縮器に用いる出力ピンが一層少ない代替のアプローチでは、テストカバレッジが劣ることになり得ることに注意されたい。別の代替のアプローチは、テスト・ベクトル自体に更に高い圧縮を実現することも可能である。しかし、密度の高い圧縮は一般的にテストカバレッジに悪影響を与える。図１１のアプローチでは、ＩＣは、テストカバレッジを狭めることなく、テスト／スキャン・ピン（ＳＩ及びＳＯ）を低減して実装され得る。所定のテストカバレッジのため（スキャン圧縮に起因する）テスト時間の適度なトレードオフを得るために、テスターからの外部テストデータの拡張、及びＩＣからの内部テストデータの圧縮は、スケーラブルにされ得、クロック分周器（図１１のクロック分周器１１３０）内の分周値の選択をさせる。
【０１０８】
図１２は、シリアル−パラレル変換器１１１０が実装され、カウンタ１１５０からの制御の下で動作する様子を図示するブロック図である。この例において、シリアル−パラレル変換器１１１０は、経路１１０１で４ビット入力を受信し、経路１１１１で８ビット出力を供給すると仮定する。
【０１０９】
カウンタ１１５０は、２ビット・バイナリ・カウンタとして実装され、クロック１０４０でクロックされ、経路１１５１に２ビット出力を供給する。この２ビット出力は、以下では便宜上、Ｓｅｌ［１：０］とする。ブロック１２１０、１２２０、１２３０、及び１２４０の各々は、４ビット・レジスタを表し、クロック１０４０でクロックされる。
【０１１０】
マルチプレクサ（ＭＵＸ）１０５１、１０５２、１０５３、及び１０５４（入力マルチプレクサ）の選択入力は次のように定義される。
ｓ１は、Ｓｅｌ［１：０］の状態００を表す
ｓ２は、Ｓｅｌ［１：０］の状態０１を表す
ｓ３は、Ｓｅｌ［１：０］の状態１０を表す
ｓ４は、Ｓｅｌ［１：０］の状態１１を表す
【０１１１】
このため、ＭＵＸ１０５１は、ｓ１が００に等しいとき入力１１０１をその出力として、それ以外の場合、他の入力をその出力として選択する。ＭＵＸ１０５２、１０５３、及び１０５４はそれぞれ対応して動作する。Ｓｅｌ［１：０］の高次の出力ビットは選択信号としてＭＵＸ１０５５及び１０５６（出力マルチプレクサ）に供給される。
【０１１２】
オペレーションにおいて、カウンタ出力が「００」であるとき、経路１１０１（即ち、４ラインを有する）の４ビットデータはレジスタ１２１０にストアされる。クロック１０４０の次のクロック・サイクルにおいて、カウンタ出力は「０１」であり、経路１１０１の（次の）４ビットデータはレジスタ１２２０にストアされる。クロック１０４０の次のクロック・サイクルにおいて、カウンタ出力は「１０」であり、経路１１０１の（次の）４ビットデータは、レジスタ１２３０にストアされる。また、「１０」のカウンタ出力は、レジスタ１２１０及び１２２０にストアされたデータを８ビットデータとして出力１１１１に供給する。クロック１０４０の次のクロック・サイクルにおいて、カウンタ出力は１１であり、経路１１０１の（次の）４ビットデータはレジスタ１２４０にストアされる。経路１１１１に予め供給された８ビットデータはその経路に存在し続ける。
【０１１３】
クロック１０４０の次のクロック・サイクルにおいて、カウンタ出力がまた「００」であるとき、経路１１０１の次の４ビットデータはレジスタ１２１０にストアされる。また、「００」のカウンタ出力は、レジスタ１２３０及び１２４０にストアされたデータを８ビットデータとして出力１１１１に供給する。クロック１０４０の次のクロック・サイクルにおいて、カウンタ出力は「０１」であり、経路１１０１の（次の）４ビットデータはレジスタ１２２０にストアされる。前のクロック・サイクルの８ビット出力は、経路１１１１に供給され続ける。
【０１１４】
上述のサイクルが反復し、シリアル−パラレル変換器１１１０は、２つの４ビット入力から形成される８ビット出力を供給し続ける。
【０１１５】
上述では例として２の係数（周波数比）に関して説明したが、このような特徴を更に高い係数に拡張することは当業者に明らかであろうことを理解されたい。１つのアプローチに従って、Ｎの係数に対し、２行及びＮ列で構成されるユニットで、ＭＵＸ１０５１及びレジスタ１２１０の（又は、に類似する）（２×Ｎ）ユニット／組み合わせがあり得る。上述のように、経路１１０１で受信されたデータ・ユニットは、行−幅方式でストアされ、行の全てのユニットでストアした後、次に続く列へ移動し得る。各出力クロック・サイクルでレジスタの１つの行にストアされたデータを選択するために、Ｎ個の出力マルチプレクサ（１０５１など）が用いられ得る。
【０１１６】
図１３は、パラレル−シリアル変換器１１２０の一実施例が実装され、カウンタ１１５０からの制御の下で動作する様子を図示するブロック図である。この例において、パラレル−シリアル変換器１１２０は、経路１１１２で８ビット入力を受信し、経路１１９９で４ビット出力を供給すると仮定する。カウンタ１１５０の２ビット出力の低次（ゼロ位置）ビット（Ｓｅｌ［０］）が選択入力としてＭＵＸ１３２０に供給される。レジスタ１３１０は４ビット・レジスタである。経路１１１２の８ビットのうち上側４ビットが経路１３２２で供給され、経路１１１２の８ビットの下側４ビットが経路１３２１で供給される。オペレーションにおいて、Ｓｅｌ［０］が０に等しいとき、経路１３２１の入力がレジスタ１３１０にストアされ、出力１１９９として供給される。Ｓｅｌ［０］が１に等しいとき、経路１３２２の入力がレジスタ１３１０にストアされ、出力１１９９として供給される。
【０１１７】
当業者であれば、他の多くの実施例及び変形も特許請求の範囲に包含されることが理解されるであろう。例示の実施例の文脈で説明したような特徴又は工程のすべて又はその幾つかを有する例示の実施例の文脈で説明した特徴又は工程の１つ又はそれ以上の異なる組み合わせを有する実施例も、本明細書に包含されることを意図している。
【図１】
2013508731.tif 000003
【図２】
2013508731.tif 000004
【図３】
2013508731.tif 000005
【図４Ａ】
2013508731.tif 000006
【図４Ｂ】
2013508731.tif 000007
【図５】
2013508731.tif 000008
【図６】
2013508731.tif 000009
【図７】
2013508731.tif 000010
【図８Ａ】
2013508731.tif 000011
【図８Ｂ】
2013508731.tif 000012
【図９】
2013508731.tif 000013
【図１０Ａ】
2013508731.tif 000014
【図１０Ｂ】
2013508731.tif 000015
【図１０Ｃ】
2013508731.tif 000016
【図１０Ｄ】
2013508731.tif 000017
【図１０Ｅ】
2013508731.tif 000018
【図１０Ｆ】
2013508731.tif 000019
【図１０Ｇ】
2013508731.tif 000020
【図１１】
2013508731.tif 000021
【図１２】
2013508731.tif 000022
【図１３】
2013508731.tif 000023
【国際調査報告】
2013508731.tif 000024
2013508731.tif 000025