説明

スキャン・チェーン用動的クロック領域バイパス

【課題】スキャン・テスト回路およびスキャン・テスト回路を使用して試験を受けるさらなる回路を備える集積回路を提供すること。
【解決手段】スキャン・テスト回路は、それぞれ別個のクロック領域に関連した複数のサブチェーンを有する少なくとも1つのスキャン・チェーン、および1つまたは複数のサブチェーンを選択的にバイパスするように構成されたクロック領域バイパス回路を備える。スキャン・チェーンは、スキャン・シフト・モードの動作において、サブチェーンを全部よりは少なく含む直列シフト・レジスタを形成するように構成可能であり、サブチェーンの少なくとも残りの1つが、スキャン・シフト・モードにおいて直列シフト・レジスタの部分でないように、クロック領域バイパス回路によりバイパスされる。特定のクロック領域に関連するスキャン・チェーンの部分を選択的にバイパスすることにより、クロック領域バイパス回路は、スキャン・テスト期間の試験時間と電力消費を減らす役割を果たす。

【発明の詳細な説明】
【技術分野】
【0001】
スキャン、テスト回路およびスキャン・テスト回路を使用して試験を受けるさらなる回路を備える集積回路に関する。
【背景技術】
【0002】
集積回路は、様々な内部故障状態の試験を容易にするスキャン・テスト回路を組み込むように設計されることが多い。そのようなスキャン・テスト回路は、典型的にはスキャン・チェーンを備えており、スキャン・チェーンは、入力のテスト・パターンを集積回路の組合せ論理に適用し、対応する結果を読み出すための、直列シフト・レジスタを形成するために使用されるフリップ・フロップのチェーンである。スキャン・チェーンのフリップ・フロップのうちの所与の1つを、「スキャン・セル」と本明細書でより一般的に呼ばれるものの例として見ることができる。
【0003】
一例示的な構成において、スキャン・テスト回路を備える集積回路は、スキャン・シフト・モードの動作および機能モードの動作を持つ場合がある。フラグを使用して、集積回路がスキャン・シフト・モードであるか、それとも機能モードであるかを示すことができる。スキャン・シフト・モードでは、スキャン・チェーンのフリップ・フロップが、直列シフト・レジスタとして構成される。次いで、スキャン・チェーンのフリップ・フロップにより形成された直列シフト・レジスタの中へ、テスト・パターンがシフト入力される。一度所望のテスト・パターンがシフト入力されると、スキャン・シフト・モードがディセーブルされ、集積回路はその機能モードの状態になる。次いで、この機能モードの動作期間に生じる内部組合せ論理結果が、スキャン・フリップ・フロップのチェーンによって取り込まれる。次いで、新しいテスト・パターンがスキャン入力されるので、スキャン・フリップ・フロップにより形成された直列シフト・レジスタから取り込まれた組合せ論理結果をシフト出力することを可能にするために、集積回路はもう一度そのスキャン・シフト・モードの動作状態になる。このプロセスは、全ての所望のテスト・パターンが集積回路に適用されるまで繰り返される。
【0004】
集積回路がますます複雑になるにつれて、所与の集積回路を試験するときに適用される必要があるテスト・パターンの数を減らし、したがって要する試験時間も減らす、スキャン圧縮技法が開発されてきた。しかし、高レベルのスキャン圧縮を使用することは、診断の分解能、すなわち、組合せ論理内で、特定の故障を正確な故障または故障の組に帰する能力に悪影響を及ぼす。結果として、スキャン圧縮を使用するときは、圧縮レベルと診断の分解能の間にトレードオフが存在する。圧縮したスキャン・テストに関するさらなる詳細は、本発明の譲受人に譲渡された、参照により本明細書に組み込まれる、「Testing a Circuit with Compressed Scan Subsets」と題する、米国特許第7,831,876号に開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】米国特許第7,831,876号
【発明の概要】
【発明が解決しようとする課題】
【0006】
それにもかかわらず、圧縮したスキャン・テストおよび圧縮しないスキャン・テストの両方で、試験時間のさらなる減少ならびにスキャン・テスト期間の集積回路の電力消費など、他のスキャン・テスト性能パラメータの改善の必要が残っている。
【課題を解決するための手段】
【0007】
本発明の例示的な実施形態は、所与のテスト・パターンでアクティブでないクロック領域に関連するスキャン・チェーンの部分を選択的にバイパスすることにより、スキャン・テストで実質的な改善を可能にする。特定のクロック領域に関連するスキャン・チェーンの部分を選択的にバイパスすることにより、スキャン・テスト期間の試験時間と電力消費の両方を減らすことができる。
【0008】
本発明の一実施形態において、集積回路は、スキャン・テスト回路およびスキャン・テスト回路を使用して試験を受けるさらなる回路を備える。スキャン・テスト回路は、それぞれ別個のクロック領域に関連した複数のサブチェーンを有する少なくとも1つのスキャン・チェーン、およびサブチェーンのうちの1つまたは複数を選択的にバイパスするように構成されたクロック領域バイパス回路を備える。スキャン・チェーンは、スキャン・シフト・モードの動作において、サブチェーンを全部よりは少なく含む直列シフト・レジスタを形成するように構成可能であり、サブチェーンのうちの少なくとも残りの1つが、スキャン・シフト・モードにおいて直列シフト・レジスタの部分でないように、クロック領域バイパス回路によりバイパスされる。より具体的には、クロック領域バイパス回路は、特定のテスト・パターンの取込み段階でアクティブでないと決定される1つまたは複数のサブチェーンをバイパスするように構成することができ、それによって、クロック領域バイパス回路は、異なるテスト・パターンについて異なるサブチェーンをバイパスする。
【0009】
1つまたは複数の例示的な実施形態において、クロック領域バイパス回路は複数のクロック領域バイパス・マルチプレクサおよび複数のクロック領域バイパス・レジスタを備え、クロック領域バイパス・レジスタが、クロック領域バイパス・マルチプレクサのそれぞれの選択ラインに適用するそれぞれの制御値を記憶する。サブチェーンのそれぞれを、クロック領域バイパス・マルチプレクサのうちの1つおよびクロック領域バイパス・レジスタのうちの1つと関連付けることができる。
【0010】
クロック領域バイパス・マルチプレクサのうちの所与の1つは、少なくとも、サブチェーンのうちの対応する1つの入力に結合される第1の入力、およびサブチェーンのうちの対応する1つの出力に結合される第2の入力を有し、所与のクロック領域バイパス・マルチプレクサが、その関連するクロック領域バイパス・レジスタ内に記憶される制御値に応答して、その対応するサブチェーンを選択的にバイパスするように構成される。
【0011】
1つまたは複数の例示的な実施形態におけるスキャン・テスト回路は、復元器、圧縮器、および復元器のそれぞれの出力と圧縮器のそれぞれの入力との間で、互いに並列に配置された上記のスキャン・チェーンを含む複数のスキャン・チェーンをさらに備えることができる。スキャン・テスト信号が、復元器のそれぞれの入力に適用される。スキャン・テスト信号に基づく復元器からのスキャン・テスト入力データは、スキャン・テストで使用するためにスキャン・チェーンにシフト入力され、スキャン・テストの結果を示すスキャン・テスト出力データは、その後スキャン・チェーンから圧縮器にシフト出力される。
【発明の効果】
【0012】
上に記載した種類のクロック領域バイパス回路を備えるスキャン・テスト回路は、所与のテスト・パターンについてアクティブでないそれらのサブチェーンをバイパスするように、1つまたは複数の例示的な実施形態で構成することができ、それによりデータを対応するスキャン・チェーンにシフト入力し、かつ対応するスキャン・チェーンからシフト出力するために必要なクロック・サイクルの数を減少させ、このことによってスキャン・テスト期間の試験時間ならびに電力消費が減少する結果となる。これらの改善は、集積回路の面積要件または機能タイミング要件に、なんら重要な悪影響を及ぼすことなく提供される。テスト・パターンは、これ以外は従来型であるテスト生成ツールで、クロック領域バイパス回路の動作を考慮に入れたやり方で生成し、それに応じて予期されるスキャン・テストの応答を決定することができる。
【図面の簡単な説明】
【0013】
【図1】例示的な実施形態における、テスタおよび被試験集積回路を含む集積回路試験システムを示すブロック図である。
【図2】スキャン・テスト回路のスキャン・チェーンを図1の集積回路内の組合せ論理間に配置することができるやり方の一例を例示する図である。
【図3】図2のスキャン・テスト回路の複数クロック領域スキャン・チェーンを示しており、スキャン・テスト回路の関連するクロック領域バイパス回路は取り除かれている図である。
【図4】関連するクロック領域バイパス回路を示している、図3の複数クロック領域スキャン・チェーンを表す別の図である。
【図5】図4のクロック領域バイパス回路のクロック領域バイパス・レジスタの1つの可能な実装を示す図である。
【図6】図4および図5のクロック領域バイパス回路の動作を例示するタイミング図である。
【図7】図1の試験システムの、1つの可能な実装を示す図である。
【図8】図4および図5に例示された種類のクロック領域バイパス回路を備える集積回路設計を生成するための処理システムのブロック図である。
【発明を実施するための形態】
【0014】
本発明の実施形態が、例示的な試験システム、およびその集積回路のさらなる回路のスキャン・テストをサポートするためのスキャン・テスト回路を備える対応する集積回路とともに、本明細書において例示される。しかし、本発明の実施形態は、スキャン・チェーンの一部を選択的にバイパスすることによって、スキャン・テスト期間の試験時間の減少および/または電力消費の低減を可能にすることが望ましい、任意の試験システムまたは関連する集積回路に、より一般的に適用可能であることが理解されよう。
【0015】
図1は、試験システム100がテスタ102および被試験集積回路104を含む、本発明の実施形態を示す。集積回路104はスキャン・テスト回路106を備え、スキャン・テスト回路106は、スキャン・テスト回路106を使用する試験を受ける、さらなる内部回路108と結合される。テスタ102は、集積回路のスキャン・テストに関連するスキャン・データ110を記憶する。そのようなスキャン・データは、テスト・パターン生成器112によって提供されるテスト・パターンに対応することができる。他の実施形態において、テスト・パターン生成器112など、テスタ102の少なくとも一部を、集積回路104の中に組み込むことができる。別法として、テスタ102の全体を、集積回路104の中に組み込むことができる。
【0016】
図1に示される試験システム100の具体的な構成は単なる例示であり、他の実施形態における試験システム100は、それらの具体的に示された構成に加えて、またはそれらの具体的に示された構成の代わりに、そのようなシステムの従来の実装で通例見られる種類の1つまたは複数の要素を含む、他の要素を含むことができる。例えば、テスタ102の様々な要素またはシステム100の他の部分は、限定でなく単に例として、マイクロプロセッサ、中央処理装置(CPU)、デジタル・シグナル・プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、または他の種類のデータ処理デバイス、ならびにこれらおよび他のデバイスの部分または組合せを使用して実装することができる。
【0017】
本発明の実施形態は、圧縮したスキャン・テストまたは圧縮しないスキャン・テストを使用するように構成することができ、本発明は、この点について制限されない。しかし、図2に示される例示的な実施形態は、主として圧縮したスキャン・テストとの関連で記載することとする。
【0018】
ここで図2を参照すると、集積回路104の、1つの可能性のある構成の部分が、詳細に示される。この圧縮したスキャン・テスト構成では、スキャン・テスト回路106は、復元器200、圧縮器202、複数のスキャン・チェーン204−k(ただし、k=1、2、…、K)を備える。スキャン・チェーン204のそれぞれは、複数のスキャン・セル206を備え、集積回路104のスキャン・シフト・モードの動作では直列シフト・レジスタとして動作し、集積回路104の機能モードの動作では被試験回路207から機能データを取り込むように構成可能である。スキャン・チェーン204の少なくとも1つが複数クロック領域スキャン・チェーン、すなわち、それぞれ別個のクロック領域に関連するサブチェーンを備えるスキャン・チェーンであることが仮定される。
【0019】
スキャン・チェーン204は、全体として、復元器200のそれぞれの出力と圧縮機202のそれぞれの入力の間で、互いに並列に配置され、それによって、スキャン・シフト・モードの動作では、復元器200からのスキャン・テスト入力データがスキャン・チェーン204にシフト入力され、スキャン・テスト出力データがスキャン・チェーン204から圧縮器202にシフト出力される。
【0020】
第1のスキャン・チェーン204−1は、長さnであり、したがって、206−1から206−nと示されるn個のスキャン・セルを備える。より一般的には、スキャン・チェーン204−kは長さがnであり、したがって、全部でn個のスキャン・セルを備える。
【0021】
本発明の実施形態において、スキャン・チェーン204の長さは、スキャン・テスト・パターンの所望の組を全てのスキャン・チェーンの中にシフト入力するために、同じ長さの時間が必要であるように、バランスをとる。したがって、限定ではないが、スキャン・チェーン204の全ては、n=n=…=n=nであるような長さnであると仮定することができる。
【0022】
本実施形態の被試験回路207は、複数の組合せ論理ブロックを備え、その例示的なブロック208、210および212が示される。組合せ論理ブロックは、1次入力214と1次出力216の間に例示的に配置され、スキャン・チェーン204によってお互いから分離される。
【0023】
208、210および212などの組合せ論理ブロックは、本発明の実施形態でスキャン・テスト回路を使用して試験を受ける「さらなる回路」として本明細書でより一般的に呼ばれるものの例として見ることができる。例として、集積回路104のそのような内部回路ブロックは、ハード・ディスク・ドライブ(HDD)の1つまたは複数の磁気記憶ディスクからデータを読み出しかつ書き込むために設計される、ハード・ディスク・ドライブ(HDD)コントローラ用途で、システム−オン−チップ(SOC)集積回路のそれぞれの読出しチャネルおよびさらなるコアなど、様々な集積回路コアの部分を代表することができる。他の実施形態において、スキャン・チェーンによる試験を受ける回路ブロックは、任意の組合せで、他の種類の機能論理回路を備えることができ、用語「さらなる回路」は、論理回路の任意のそのような構成を対象とするように、広く解釈されることを意図している。
【0024】
スキャン・テスト回路106の復元器200は、テスタ102から圧縮したスキャン・データを受信し、そのスキャン・データを復元して、スキャン・シフト・モードの動作でそのようなチェーンがそれぞれ直列シフト・レジスタとして構成されるとき、スキャン・チェーン204にシフト入力されるスキャン・テスト入力データを生成する。スキャン・テスト回路106の圧縮器202は、やはりそのようなチェーンがスキャン・シフト・モードの動作でそれぞれ直列シフト・レジスタとして構成されるとき、スキャン・チェーン204からシフト出力されたスキャン・テスト出力データを受信し、そのスキャン・テスト出力データを、テスタ102に送り戻すために圧縮する。
【0025】
圧縮したスキャン入力データは、テスタ102によって復元器200のN個のスキャン・入力に適用され、圧縮したスキャン出力データは、圧縮器202からN個のスキャン出力を介してテスタ102に戻して提供される。前に言及した通り、K個のスキャン・チェーン204は、示したように、復元器200のそれぞれの出力と圧縮機202のそれぞれの入力の間に並列に配置される。個別のスキャン・チェーン204のそれぞれは、集積回路104のスキャン・シフト・モードの動作で、直列シフト・レジスタとして動作し、さらに集積回路104の機能モードの動作で、組合せ論理要素から機能データを取り込むようにも構成可能である。
【0026】
スキャン・チェーン204の数Kは、一般に、圧縮機202のスキャン・テスト出力の数Nよりもはるかに大きい。KとNの比は、スキャン・テスト回路106で提供される、スキャン・テスト・パターン圧縮の程度の尺度を与える。しかし、圧縮機出力の数が、復元器入力の数と同じである必要はないことに留意されたい。例えば、N個の復元器入力およびL個の圧縮器出力があり、N≠LであるがNとLの両方がKよりもはるかに小さい場合がある。
【0027】
復元器200のスキャン入力は、本明細書においてより一般的に集積回路104の「スキャン・チャネル」と呼ばれるものの、それぞれ1つに対応すると見られて良い。
【0028】
復元器200および圧縮機202などスキャン圧縮要素の動作に関するさらなる詳細は、上で引用した米国特許第7,831,876号において見ることができる。さらに、復元器200および圧縮機202などスキャン圧縮要素が、本発明の他の実施形態では存在しない場合がある。復元器200および圧縮機202が省かれた、スキャン圧縮なしの本発明の実施形態において、スキャン・チャネルは、単純に、スキャン・チェーン204のそれぞれの1つに対応して良い。
【0029】
本実施形態でスキャン・チェーン204に適用される所与のテスト・パターンは、スキャン・ベクトルとして見ることができ、スキャン・ベクトルは、スキャン・テスト入力データがスキャン・チェーン204の全てにシフト入力されるシフトイン(shift−in)段階、その後の機能データが取り込まれる取込み段階、その後のスキャン・テスト出力データがスキャン・チェーン204の全てからシフト出力されるシフトアウト(shift−out)段階を含む。異なるテスト・パターンのためにスキャン・ベクトルは、互いに重なり合って良く、その場合、入力データが所与のテスト・パターンのためにシフト入力されるとき、前のパターンのために取り込まれたデータがシフト出力されて良い。シフトイン段階およびシフトアウト段階は、本明細書において、個別にまたは総称して、スキャン・ベクトルまたは関連するテスト・パターンの、1つまたは複数のスキャン・シフト段階と呼ばれる場合がある。
【0030】
前に示したように、集積回路スキャン・テストにおいて重要な問題には、試験時間および電力消費が挙げられる。本実施形態のスキャン・テスト回路106は、1つまたは複数のスキャン・チェーン204の特定のサブチェーンを動的にバイパスすることにより、これらの問題に対処する。この機能性は、以下で、図3、図4および図5と併せてより詳細に記載されるような、スキャン・テスト回路内に組み込まれるクロック領域バイパス回路によって実装される。
【0031】
図3は、スキャン・テスト回路106の特定のスキャン・チェーン204−kをより詳細に示す。示されるスキャン・チェーンは、本明細書においてさらに一般的に、複数クロック領域スキャン・チェーンと呼ばれるもの、すなわち、集積回路104のそれぞれの個別のクロック領域に関連する複数のサブチェーンを含むスキャン・チェーンの例である。このスキャン・チェーン204−kは、それに関連するクロック領域バイパス回路を有するが、その回路はこの特定の図には示されていないと仮定される。
【0032】
本発明のこの実施形態におけるサブチェーン300のそれぞれは、2つ以上のスキャン・セル206を含む。より具体的には、スキャン・チェーン204−kは、それぞれクロック信号CLK1、CLK2、CLK3およびCLK4に関連する4つのサブチェーン300−1、300−2、300−3および300−4にグループ分けされる、スキャン・セル206−1から206−nを備える。この実施形態において、クロック信号CLK1、CLK2、CLK3およびCLK4のそれぞれは、集積回路104の異なるクロック領域に関連すると仮定される。しかし、本明細書で使用される用語「クロック領域」は、広く解釈されることを意図しており、したがってクロック信号の中でいずれかの特定の関係を必要とするものであるとか、いずれかの特定の関係を排除するものであるとかと見られるべきでないことを理解されたい。
【0033】
本実施形態におけるスキャン・セル206のそれぞれは、データ入力(D)、データ出力(Q)、スキャン入力(SI)、スキャン出力(SO)およびクロック入力(CLK)を有し、明示的には示されない追加のまたは代替の入力および出力を含むことができる。サブチェーン300のそれぞれの2つ以上のスキャン・セル206は、そのサブチェーンに関連する、対応するクロック信号CLK1、CLK2、CLK3またはCLK4によってクロック制御される。
【0034】
サブチェーン300−1は、より具体的にはFF1−C1からFFa−C1として示されるスキャン・セル206を含み、ここで、aはそのサブチェーン内のスキャン・セルの総数を指定する変数である。同様に、サブチェーン300−2は、より具体的にはFF1−C2からFFb−C2として示されるスキャン・セル206を含み、サブチェーン300−3は、より具体的にはFF1−C3からFFc−C3として示されるスキャン・セル206を含み、サブチェーン300−4は、より具体的にはFF1−C4からFFd−C4として示されるスキャン・セル206を含み、ここで、b、cおよびdはそれぞれのサブチェーン内のスキャン・セルの総数を指定する変数である。本実施形態において、a、b、cおよびdのそれぞれは、2以上であると仮定される。サブチェーン300は、それぞれが異なる数のスキャン・セル206を有して良く、または2つ以上のサブチェーンが同じ数のスキャン・セルを有して良い。
【0035】
本実施形態におけるサブチェーン300−1、300−2、300−3および300−4は、それぞれのロックアップ・ラッチ302−1、302−2、302−3および302−4によってお互いから分離される。これらのロックアップ・ラッチのそれぞれは、対応するクロック信号CLK1、CLK2、CLK3またはCLK4によってクロック制御される、イネーブル入力(EN)を有するD型フリップ・フロップとして実装される。サブチェーン300−1、300−2、300−3および300−4と関連するロックアップ・ラッチは、より具体的には、それぞれ、LL−C1、LL−C2、LL−C3およびLL−C4として示される。
【0036】
スキャン・シフト・モードの動作において、スキャン・チェーン204−kは、全部よりは少ないサブチェーン300を含む直列シフト・レジスタを形成するよう構成可能である。したがって、1つまたは複数のサブチェーン300は、スキャン・シフト・モードでスキャン・チェーン204−kにより形成される直列シフト・レジスタの部分でないように、上記のクロック領域バイパス回路によって選択的にバイパスされ得る。より具体的には、クロック領域バイパス回路は、特定のテスト・パターンについてアクティブでないと決定された1つまたは複数のサブチェーン300をバイパスするように構成され、それによって、クロック領域バイパス回路は、異なるテスト・パターンについて、サブチェーン300のうちの異なるものをバイパスすることができる。
【0037】
本実施形態のクロック領域バイパス機能性は、少なくとも部分的には、クロック領域の全てが、適用されるあらゆるテスト・パターンで使用されるわけではないという、認識に基づいている。例えば、図3の構成で、サブチェーンのそれぞれがたった2つのスキャン・セルを含み、それによりスキャン・チェーン全体が多くとも8つのスキャン・セルを含むと仮定する。したがって、スキャン・チェーン全体の内容をシフト入力または出力するためには、8クロック・サイクルを必要とする。1つの特定のクロック領域が、所与のテスト・パターンの関連する機能データ取込み段階で使用されない場合、そのアクティブでないクロック領域を、スキャン・データが対応するサブチェーンを通ってシフトされないようなやり方でバイパスすれば、2クロック・サイクルだけスキャン・シフト時間を減少することができ、その結果、所与のテスト・パターンについて25%のスキャン・シフト時間の節約になる。
【0038】
したがって、適用される各テスト・パターンについてアイドル状態すなわちアクティブでないクロック領域を識別し、対応するテスト・パターンが適用されるとき、それらのアクティブでないクロック領域をバイパスすることによって、スキャン・テスト時間を著しく減少することが達成可能である。バイパスされるサブチェーンのクロック領域がアクティブでないため、それらのスキャン・セルにより故障が検出されないので、それらのサブチェーン内のスキャン・セルの内容をシフト出力する必要はない。換言すれば、所与のテスト・パターンの取込み段階でパルスを受けない任意のクロック領域について、それらのスキャン・セルには故障が伝播されないので、対応するスキャン・セルから内容をシフト出力する必要がない。したがって、本実施形態において、所与のテスト・パターンについて、そのテスト・パターンの取込み段階で、対応するクロック領域がアクティブな特定のサブチェーンのみ、シフト出力する。
【0039】
図4は、図3のスキャン・チェーン204−kならびにその関連するクロック領域バイパス回路400を示す。クロック領域バイパス回路400は、上記のように、1つまたは複数のサブチェーン300を選択的にバイパスするように構成され、それによってスキャン・シフト・モードの動作でスキャン・チェーン204−kが、全部よりは少ないサブチェーン300を含む直列シフト・レジスタを形成する。本実施形態におけるクロック領域バイパス回路400は、複数のクロック領域バイパス・マルチプレクサ402および複数のクロック領域バイパス・レジスタ404を備える。
【0040】
本実施形態におけるクロック領域バイパス・マルチプレクサ402は、より具体的には、サブチェーン300−1、300−2、300−3および300−4のうちのそれぞれ1つと関連する、2対1マルチプレクサ405−1、405−2、405−3および405−4を備える。マルチプレクサ405は、図に示すように、CLK1、CLK2、CLK3およびCLK4クロック領域間の、スキャン・パス・スキャン・チェーン204−kの中に配置され、そのような各マルチプレクサ405は、対応するクロック領域のロックアップ・ラッチ302に直接続いている。
【0041】
本実施形態におけるクロック領域バイパス・レジスタ404は、より具体的には、サブチェーン300−1、300−2、300−3および300−4のうちのそれぞれ1つと関連する、シフトアウト・バイパス・レジスタ410−1、410−2、410−3および410−4を備える。クロック領域バイパス・レジスタ404は、クロック領域バイパス・マルチプレクサ402のそれぞれの選択ラインに適用するそれぞれの制御値を記憶し、これらの記憶した値が、対応するクロック領域CLK1、CLK2、CLK3およびCLK4が所与のテスト・パターンについてバイパスされるのか、それともバイパスされないのかを制御する。
【0042】
クロック領域バイパス・マルチプレクサ405のうちの所与の1つは、対応する1つのサブチェーン300の入力に結合される第1の入力、および対応する1つのサブチェーン300の出力に結合される第2の入力を有する。所与のクロック領域バイパス・マルチプレクサは、その関連するクロック領域バイパス・レジスタ410内に記憶される制御値に応答して、その関連するサブチェーン300を選択的にバイパスするように構成される。本実施形態において、レジスタ410に記憶される論理「1」値は、スキャン・シフト・モードにおいて対応するサブチェーンがバイパスされることを示し、レジスタ410に記憶される論理「0」値は、スキャン・シフト・モードにおいて対応するサブチェーンがバイパスされないことを示す。したがって、例えば、レジスタ410−2が論理「1」値を記憶し、他のレジスタが論理「0」値を記憶する場合、サブチェーン300−2がバイパスされ、スキャン・チェーン204−kにより形成される直列シフト・レジスタはサブチェーン300−1、300−3および300−4を含むことになる。
【0043】
図5に示されるように、クロック領域バイパス・レジスタ410−jのうちの所与の1つは、本実施形態ではj=1、2、3または4であるが、セット可能なD型フリップ・フロップ500およびロジック・ゲート502を備える。フリップ・フロップ500は、Dと示され、例示的にVSSまたはグランドの電位に結合されるデータ入力、Qと示され、クロック領域バイパス・マルチプレクサ405のうちの対応する1つの選択ラインに結合されるデータ出力、バイパス信号ラインに結合されるセット入力、およびCLKと示され、関連するクロック領域のクロック信号CLKおよびスキャン・イネーブル(SE)信号の関数として駆動されるクロック入力を有する。
【0044】
SE信号は、本発明のこの実施形態における例示で、論理「1」レベルであると仮定される第1の論理レベルに駆動され、集積回路104をスキャン・シフト・モードの動作状態にし、本発明のこの実施形態における例示で、論理「0」レベルであると仮定される第2の論理レベルに駆動され、集積回路104を機能モードの動作状態にするが、本発明の他の実施形態では、他の種類および組合せの動作モードおよびスキャン・イネーブル信号伝達が使用されて良い。例えば、集積回路104の異なる部分およびその関連するスキャン・テスト回路106は、別個のスキャン・イネーブル信号を使用して制御されて良い。
【0045】
論理ゲート502は、フリップ・フロップ500のクロック信号入力に、関連するクロック領域およびSE信号のクロック信号CLKの関数として適用するための信号を生成するよう、動作する。本実施形態における論理ゲートは、より具体的には、関連するクロック領域のクロック信号CLKを受信するよう適合された非反転入力、およびSE信号を受信するように適合された反転入力を有するANDゲートを備え、それにより、フリップ・フロップ500のクロック入力に適用されるANDゲート502により生成される信号は、SE信号を反転したものによりゲートされた関連するクロック領域のクロック信号CLKに対応する。
【0046】
したがって、SE信号が、スキャン・シフト・モードの動作に対応する、論理「1」レベルであるとき、SE信号を反転したものは、論理「0」であり、したがって、CLKがフリップ・フロップ500のクロック入力に適用されることを、ANDゲート502が阻止する。したがって、スキャン・イネーブル信号が、テスト・パターンの取込み段階で生じる、論理「0」レベルであるとき、フリップ・フロップ500は、図5の実施形態で、そのD入力に常に存在する論理「0」値を記憶するように、単にリセットされ得る。
【0047】
したがって、この構成によって、SE信号が論理「1」レベルであるとき、フリップ・フロップ500に適用されるクロック信号をオフにする。バイパス信号ライン上の下向きの遷移によって、フリップ・フロップに記憶された値を論理「1」値に戻す設定をする。したがって、バイパス信号が、論理「1」レベルから論理「0」レベルに遷移するとき、フリップ・フロップのQ出力は、論理「0」レベルから論理「1」レベルに遷移する。
【0048】
スキャン・シフト段階が完了した直後、そしてそれは関連する取込み段階の開始時点であって良いが、バイパス信号は論理「1」レベルから論理「0」レベルに遷移し、次いで残りの取込み段階のために論理「1」レベルに戻る。取込み段階の期間、SE信号は論理「0」レベルであり、したがってCLK信号の取込みの期間に遷移が生じる場合、その遷移はゲート502を介してフリップ・フロップ500のCLK入力に伝播し、Q出力を論理「1」レベルから論理「0」レベルに遷移させる。
【0049】
図6は、図4および図5のクロック領域バイパス回路の動作を例示する。このタイミング図は、2つのテスト・パターンにわたる、バイパス信号、SE信号およびクロック信号CLK1、CLK2、CLK3およびCLK4の波形の例を示す。前に言及した通り、テスト・パターン1と示される第1のテスト・パターンのシフトアウト段階は、テスト・パターン2と示される第2のテスト・パターンのシフトイン段階と重なり合う。これらの段階は、図6のタイミング図の内容において、より一般的に、シフト段階と呼ばれる。
【0050】
第1のテスト・パターンが適用される前に、バイパス信号が論理「1」レベルに設定され、SE信号が論理「0」レベルに設定され、バイパス・シフト・レジスタ・フリップ・フロップ500のQ出力を論理「0」レベルに設定するために、CLK信号がそれぞれ1回パルスを受ける。試験がシフト段階に入ると、ANDゲート502を介してクロック信号を遮断するように、SE信号が論理「1」レベルに設定され、それによってフリップ・フロップ500Qの出力が論理「0」レベルのままになる。シフト段階が完了すると、取込み段階が始まる。
【0051】
バイパス信号は、取込み段階の開始時点で論理「0」レベルへと1回パルスを受け、このことで、フリップ・フロップ500のQ出力が論理「1」レベルへと動くことになる。CLKが、その後、取込み段階の期間に、少なくとも1回の遷移をする場合、対応するフリップ・フロップ500のQ出力が論理「0」レベルに戻り、このことは、対応するクロック領域がバイパスされるべきでないことを意味する。取込み段階の期間に対応するクロック信号に遷移がない、アクティブでないクロック領域では、関連するバイパス・レジスタ内のフリップ・フロップ500のQ出力は、論理「1」レベルのままとなる。図6の例において、取込み段階の期間にCLK1クロック信号およびCLK4クロック信号にクロック・パルスがあり、このことは、CLK1クロック領域およびCLK4クロック領域がこの取込み段階でアクティブであり、一方CLK2クロック領域およびCLK3クロック領域はこの取込み段階でアクティブでないことを意味する。アクティブな特定のクロック領域は、一般に、対応する、適用されるテスト・パターンによって、取込み段階から取込み段階へと変化する。
【0052】
テスト・パターン1の取込み段階が完了した後、このプロセスは、テスト・パターン2から始まる、それぞれのさらなるテスト・パターンを繰り返す。
【0053】
したがって、サブチェーン300−jのうちの1つのバイパスを指定する論理「1」値は、それぞれの適用されるテスト・パターンの取込み段階の期間に1回生じる、バイパス信号ラインのアサートに応答して、対応するクロック領域バイパス・レジスタ410−jに記憶される。これは、フリップ・フロップ500の設定とも呼ばれ、バイパス信号は、本実施形態ではアクティブ・ローである。さらに、レジスタ410−jは、複数の異なるテスト・パターンのそれぞれが、スキャン・チェーンに適用されるとともにリセットされる。これは、前に示したように、SE信号が論理「0」レベルであり、したがってスキャン・シフト・モード以外であるときに生じる。より具体的には、クロック領域バイパス・レジスタ410のそれぞれは、各テスト・パターンのスキャン・シフト段階の終了に続いてリセットされる。
【0054】
図4に例示されるように、クロック領域バイパス回路400は、サブチェーン300の1つまたは複数の全体をバイパスし、これにより、バイパスされるサブチェーンのスキャン・セルの全長により与えられるクロック・サイクルの数だけ、必要なスキャン・シフト時間を減少することができる。特定のクロック領域がバイパスされるとき、その領域内のスキャン・セルの内容は保持され、次のテスト・パターンで使用できることに留意されたい。したがって、特定のクロック領域が所与のテスト・パターンの取込み段階でアクティブでない場合、この特定のクロック領域のクロック信号は次のテスト・パターンのスキャン・シフト段階のためにオフにされるべきであり、その結果、スキャン・セルはその内容を保持する。
【0055】
上記のように、クロック領域バイパス・レジスタ410は、すべてのテスト・パターンのスキャン・シフト段階の完了後、論理「1」値に設定される、クロック領域バイパス・レジスタ410個々の記憶された値を有する。次のテスト・パターンのためにどのクロック領域がシフト出力されるべきでないのかを決定することが容易になるように、所与のテスト・パターンの実際のスキャン・シフト段階の終了後、1つまたは複数の追加のクロック・サイクルが加えられる場合があることに留意されたい。例えば、1つまたは複数の追加のサイクルが、スキャン・シフト段階の終了と取込み段階の開始の間に導入されて良く、スキャン・シフト・クロックがオフにされるとともに、レジスタ410の全ての中に「1」値を記憶するように、そのようなサイクルを使用して、それぞれのバイパス・レジスタ410内のフリップ・フロップ500のセット入力をアサートすることができる。次いで、取込み段階の期間に、アクティブなクロック領域に関連するバイパス・レジスタのうちの選択されたものを論理「0」値にリセットすることができ、それによって、残りのバイパス・レジスタは「1」値を記憶し続け、それに応じて残りのバイパス・レジスタのアクティブでないクロック領域が、次のスキャン・シフト段階でバイパスされることになる。
【0056】
この種類の構成において、バイパス・レジスタの全ては、第1のテスト・パターンの開始前、最初に論理「0」値を記憶するようにリセットされ、次いで、バイパス・レジスタの全ては、取込み段階の開始時点または開始近くで、バイパス信号の単一のアサートにより、論理「1」値を記憶するように設定され、最後にアクティブなクロック領域に対応するバイパス・レジスタのうちの選択されたものが、取込み段階の期間の関連するクロック信号内の少なくとも1回の遷移の発生に応答して、再び論理「0」値にリセットされる。このプロセスを、各テスト・パターンで繰り返す。上に示したように、次のテスト・パターンのスキャン・シフト段階の期間、前のテスト・パターンのアクティブでないクロック領域内のスキャン・セルは、その内容を保持することになる。多数の代替の信号伝達構成を使用して、所望の、アクティブでないクロック領域をバイパスすることが可能となるように、バイパス・レジスタ内に制御値を記憶することができる。
【0057】
スキャン・チェーンが等しい長さnである実施形態における各テスト・パターンについて、そのテスト・パターンの試験時間を減らすために、各スキャン・チェーン内に少なくとも1つの未使用のクロック領域があるべきである。未使用のクロック領域がない場合、そのテスト・パターンは、変更なしにそのまま適用されて良い。
【0058】
図4および図5に示される特定の回路は、単に例示的な例として提示され、多数のクロック領域バイパス回路の代替構成を使用して、本明細書に開示するような試験時間および電力消費の減少を可能にすることができると理解されたい。集積回路の面積要件または機能タイミング要件に、なんら重要な悪影響を及ぼすことなく、これらの減少を達成することができる。
【0059】
図1の試験システム100内のテスタ102は、特定の形態をとる必要がなく、様々な従来型の試験システム構成を直接的に変更して、本明細書に開示する遷移制御機能性をサポートすることができる。図7に1つの可能な例が示されており、ここではテスタ702は、載置板704を備え、本明細書に開示の技法を使用してスキャン・テストを受けるべき集積回路705が載置板704の中央部706に実装される。テスタ702は、記憶されたコンピュータ・コードを実行するために、プロセッサ707およびメモリ要素708も備える。本実施形態において、プロセッサ707は、テスト・パターン発生器712を実装するものとして示される。関連するスキャン・データ710は、メモリ708に記憶される。多くの代替テスタを使用して、本明細書に開示するように集積回路のスキャン・テストを実施することができる。また、前に示したように代替実施形態において、組込み自己診断(BIST)構成のように、テスタの部分は、それ自体を集積回路内に組み込むことができる。
【0060】
集積回路設計のスキャン・チェーン、遷移コントローラおよび他のスキャン・テスト回路を形成するためのスキャン・セルの挿入は、図8に示される種類の処理システム800で実施することができる。本実施形態のそのような処理システムは、より具体的には、クロック領域バイパス回路400を有するスキャン・テスト回路106を含む集積回路104などの集積回路の設計に使用するために構成された設計システムを備える。
【0061】
システム800は、メモリ804に結合されるプロセッサ802を備える。プロセッサ802は、処理システムが1つまたは複数のネットワークを介して他のシステムおよびデバイスと通信することを可能とするためのネットワーク・インターフェイス806と、さらに結合される。したがって、ネットワーク・インターフェイス806は、1つまたは複数の送受信器を備える。プロセッサ802は、集積回路設計ソフトウェア816の使用と併せて、コア設計812およびスキャン・セル814ならびに本明細書に開示するやり方で関連するクロック領域バイパス回路を補足するための、スキャン・モジュール810を実装する。
【0062】
例として、スキャン・チェーン204および関連するクロック領域バイパス回路400を備えるスキャン・チェーン回路106は、RTL記述を使用してシステム800内で生成され、次いで指定の技術ライブラリを使用してゲート・レベルに合成することができる。次いで、テスト生成ツールを使用してテスト・パターンを生成するために、テスト生成モデルを作成することができる。制御ファイルを使用して、テスト生成ツールに、クロック領域がバイパスされるやり方などの情報を提供することができる。一度対応するルールが整ったら、ルール・チェッカを実行することができ、したがってテスト生成ツールは、クロック領域バイパス回路の動作を考慮に入れたスキャン・チェーンの可視性を有することになる。次いで、テスト・パターンを、従来のやり方で生成することができる。
【0063】
テスト・パターン生成の期間、テスト生成ツールは、クロック領域バイパス回路の機能性に関する情報を有し、そのような機能性を考慮に入れた、各スキャン・チャネルに対して期待される応答を生成する。したがって、テスト生成ツールにより提供される、期待される応答は、所与のテスト・パターンの取込み段階でそれらのクロック領域がアクティブであるかアクティブでないかに基づいて、所与のテスト・パターンについて1つまたは複数のクロック領域をバイパスすることを反映することになる。
【0064】
810、812、814および816などの要素は、少なくとも部分的に、メモリ804内に記憶されるソフトウェアの形態で実装され、プロセッサ802により処理される。例えば、メモリ804は、プロセッサ802により実行されるプログラム・コードを記憶し、集積回路設計プロセス全体の中で、モジュール810の特定のスキャン・チェーンおよび遷移制御回路挿入機能性を実装することができる。メモリ804は、本明細書でより一般的にコンピュータ可読媒体と呼ばれるもの、またはその中に組み込まれたコンピュータ・プログラム・コードを有する他の種類のコンピュータ・プログラム製品の例であり、例えば、任意の組合せの、RAMもしくはROM、磁気メモリ、光学メモリ、または他の種類の記憶デバイスなどの電子メモリを含んで良い。プロセッサ802は、マイクロプロセッサ、CPU、ASIC、FPGAまたは他の種類の処理デバイスならびにそのようなデバイスの部分または組合せを含んで良い。
【0065】
上に示したように、本発明の実施形態は、集積回路の形態で実装されて良い。そのような所与の集積回路の実装では、典型的には、半導体ウェハの表面に、同一のダイが繰り返しパターンで形成される。各ダイは、本明細書に記載のスキャン・テスト回路を含み、他の構造または回路を含むことができる。個別のダイは、ウェハから切断され、またはさいころ状に切られ、次いで集積回路としてパッケージされる。当業者なら、ウェハをさいころ状に切り、ダイをパッケージして集積回路を製造する方法を知っているであろう。そのように製造された集積回路は、本発明の一部であると考えられる。
【0066】
また、本明細書に記載の本発明の実施形態は、単に例示を意図していることが強調されるべきである。例えば、本発明の他の実施形態は、本明細書に記載された実施形態に含まれるものとは異なる種類および構成のクロック領域バイパス回路、論理ゲートおよび他の回路要素ならびに本明細書に記載された実施形態に含まれるものとは異なる種類および構成のバイパス信号およびテスト・パターン段階を備える、種々多様な他の種類のスキャン・テスト回路を使用して実装することができる。以下の特許請求の範囲内の、これらおよび多くの他の変更実施形態が、当業者には容易に明らかとなるであろう。

【特許請求の範囲】
【請求項1】
スキャン・テスト回路と、
前記スキャン・テスト回路を使用して試験を受けるさらなる回路とを備え、
前記スキャン・テスト回路が、それぞれ別個のクロック領域に関連する複数のサブチェーンを有する、少なくとも1つのスキャン・チェーンを備え、
前記スキャン・テスト回路が、前記サブチェーンのうちの1つまたは複数を選択的にバイパスするよう構成されるクロック領域バイパス回路をさらに備え、
前記スキャン・チェーンが、スキャン・シフト・モードの動作において、前記サブチェーンを全部よりは少なく含む直列シフト・レジスタを形成するように構成可能であり、前記サブチェーンのうちの少なくとも残りの1つが、前記スキャン・シフト・モードにおいて前記直列シフト・レジスタの部分でないように、前記クロック領域バイパス回路によりバイパスされる、
集積回路。
【請求項2】
前記クロック領域バイパス回路が、特定のテスト・パターンの取込み段階でアクティブでないと決定される、前記サブチェーンのうちの1つまたは複数をバイパスするよう構成される、請求項1に記載の集積回路。
【請求項3】
前記クロック領域バイパス回路が、
複数のクロック領域バイパス・マルチプレクサと、
複数のクロック領域バイパス・レジスタとを備え、
前記クロック領域バイパス・レジスタが、前記クロック領域バイパス・マルチプレクサのそれぞれの選択ラインに適用するためのそれぞれの制御値を記憶する、
請求項1に記載の集積回路。
【請求項4】
前記クロック領域バイパス・マルチプレクサのうちの所与の1つが、少なくとも、前記サブチェーンのうちの対応する1つの入力に結合される第1の入力と、前記サブチェーンのうちの前記対応する1つの出力に結合される第2の入力とを有し、前記所与のクロック領域バイパス・マルチプレクサが、その関連するクロック領域バイパス・レジスタに記憶される前記制御値に応答して、その対応するサブチェーンを選択的にバイパスするようにさらに構成される、請求項3に記載の集積回路。
【請求項5】
前記クロック領域バイパス・レジスタのうちの所与の1つが、電位に結合されるデータ入力、前記クロック領域バイパス・マルチプレクサの対応する1つの前記選択ラインに結合されるデータ出力、バイパス信号ラインに結合されるセット入力、および前記関連するクロック領域のクロック信号およびスキャン・イネーブル信号の関数として駆動されるクロック入力を有するフリップ・フロップを備える、請求項3に記載の集積回路。
【請求項6】
前記所与のクロック領域バイパス・レジスタが、前記関連するクロック領域の前記クロック信号および前記スキャン・イネーブル信号の関数として、前記フリップ・フロップの前記クロック信号入力に適用するための信号を生成するように動作する、少なくとも1つの論理ゲートをさらに備える、請求項5に記載の集積回路。
【請求項7】
前記制御値が、所与のテスト・パターンの取込み段階で、前記バイパス信号ラインのアサートに応答して、前記所与のクロック領域バイパス・レジスタ内に記憶され、さらにそのレジスタが、複数の異なるテスト・パターンのそれぞれを前記スキャン・チェーンに適用することと併せて、後でリセットされる、請求項5に記載の集積回路。
【請求項8】
前記スキャン・テスト回路が、
復元器と、
圧縮器と、
少なくとも1つのスキャン・チェーンを含む複数のスキャン・チェーンであって、前記スキャン・チェーンが前記復元器のそれぞれの出力と前記圧縮器のそれぞれの入力の間で、お互いに並列に配置される複数のスキャン・チェーンと
をさらに備え、
スキャン・テスト信号が、前記復元器のそれぞれの入力に適用され、
前記復元器からのスキャン・テスト入力データが、前記スキャン・テストで使用するために前記スキャン・チェーンにシフト入力され、
前記スキャン・テストの結果を示すスキャン・テスト出力データが、後で前記スキャン・チェーンから前記圧縮器にシフト出力される、
請求項1に記載の集積回路。
【請求項9】
それぞれ別個のクロック領域に関連する複数のサブチェーンを含む、少なくとも1つのスキャン・チェーンを構成することと、
スキャン・シフト・モードの動作において、前記サブチェーンのうちの少なくとも1つをバイパスすることとを含み、
前記スキャン・シフト・モードの動作における前記スキャン・チェーンを使用して形成される直列シフト・レジスタが、前記サブチェーンを全部よりは少なく含み、前記サブチェーンのうちの任意の残りのものが、前記直列シフト・レジスタの部分でないようにバイパスされる、
方法。
【請求項10】
集積回路をスキャン・テストに使用するコンピュータ・プログラム・コードをその中に組み込んでいる一時的でないコンピュータ可読記憶媒体を備えるコンピュータ・プログラム製品であって、前記コンピュータ・プログラム・コードが試験システム内で実行されると、前記試験システムに請求項9に記載の前記方法の前記ステップを実施させる、コンピュータ・プログラム製品。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2013−92517(P2013−92517A)
【公開日】平成25年5月16日(2013.5.16)
【国際特許分類】
【出願番号】特願2012−150054(P2012−150054)
【出願日】平成24年7月4日(2012.7.4)
【出願人】(508243639)エルエスアイ コーポレーション (124)
【Fターム(参考)】