JP2010518405A - 低消費電力スキャンテスト技術および装置 - Google Patents

低消費電力スキャンテスト技術および装置 Download PDF

Info

Publication number
JP2010518405A
JP2010518405A JP2009549612A JP2009549612A JP2010518405A JP 2010518405 A JP2010518405 A JP 2010518405A JP 2009549612 A JP2009549612 A JP 2009549612A JP 2009549612 A JP2009549612 A JP 2009549612A JP 2010518405 A JP2010518405 A JP 2010518405A
Authority
JP
Japan
Prior art keywords
test
scan
circuit
integrated circuit
scan chains
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009549612A
Other languages
English (en)
Other versions
JP5537158B2 (ja
Inventor
リン,シジャン
チズ,ダリウス
カッサブ,マーク
ムルガルスキ,グジェゴジ
ラジェスキ,ヤヌーシュ
ティスザー,イェジ
Original Assignee
メンター グラフィックス コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by メンター グラフィックス コーポレイション filed Critical メンター グラフィックス コーポレイション
Publication of JP2010518405A publication Critical patent/JP2010518405A/ja
Application granted granted Critical
Publication of JP5537158B2 publication Critical patent/JP5537158B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318575Power distribution; Power saving

Abstract

【課題】集積回路のテスト中の電力消費を低減するために使用する方法、装置およびシステムを提供する。
【解決手段】開示する技術の実施形態は低消費電力テストスキームを提供するために使用でき、多様な圧縮ハードウェアのアーキテクチャ(例、embedded deterministic test(「EDT」)アーキテクチャ)と統合できる。開示する実施形態には、プログラム可能テスト刺激セレクタ、プログラム可能スキャン・イネーブル回路、プログラム可能クロック・イネーブル回路、プログラム可能シフト・イネーブル回路、および/またはプログラム可能リセット・イネーブル回路がある。開示する実施形態のいずれかとともに使用するためのテストパターンの生成に使用できる例示的なテストパターン生成方法も開示する。
【選択図】図6

Description

本出願は、一般に集積回路テストの分野に関係する。具体的には、本出願はテスト中の出力(電力)消費を低減するツールおよび技術に関係する。
関連出願の相互参照
本出願は、2007年2月12日に出願された米国仮特許出願第60/901,079号の利益を主張し、同出願の内容は引用により本明細書に組み込まれるものとする。
スキャンおよび自動テストパターン生成(「ATPG」)に基づくテスト容易化設計(「DFT」)は、高いテストカバレッジ(適用範囲)を提供するために、集積回路製造の一部として広く使われている。しかし、大規模回路の場合、当該回路をテストするのに必要なテストデータの量により、テスト時間とテスタのメモリの所要量を著しく増大させかねない。これらの問題に取り組むために、様々なテストデータ低減スキームが紹介されてきた。たとえば、あるテストデータ低減スキームはオンチップ解凍および圧縮ハードウェアを使用する。当該ハードウェアを使用することによって、テスタはテストパターンを圧縮形式で渡すことができ、オンチップ・デコンプレッサは圧縮テストパターンをスキャンチェーンにロードされる実際のデータに展開(または解凍)できる。典型的には解凍されたテストパターン内のごく少数のビットだけが、集積回路の1つまたは複数の特定の故障を対象とするよう設計された指定ビットであるため、後者の操作は可能である。解凍されたテストパターンのうちの残りの未指定ビットは、「ドントケア」ビット呼ばれ、典型的にはデコンプレッサ構造の結果として無作為に決定される。
米国特許第6,327,687号明細書 米国特許第6,353,842号明細書 米国特許第6,557,129号明細書 米国特許第6,684,358号明細書 米国特許第6,874,109号明細書 米国出願公開第2003/0120988号明細書 米国出願公開第2007/0250749号明細書 米国特許出願公開第2007/0234157号明細書 米国特許出願公開第2007/0234163号明細書 米国特許出願公開第2007/0234169号明細書
G. Mrugalski 外,「Test Response Compactor with Programmable Selector」, Proc. DAC, pp. 1089-1094(2006)
しかし、無作為に満たされた大量のテストパターンビットにより、解凍されたテストパターンがロードされるとき、スキャンチェーンのスキャンセル内に過度なスイッチングが生じかねない。このために、テスト手順中に望ましくない高電力消費につながるのである。
同様に、テストパターンをスキャンチェーンにロードし、システムロジックに送り込んだ後で捕獲する(キャプチャする)テスト応答には、対象とする故障の存在を示さないテスト応答ビットが多く含まれることがよくある。これらのテスト応答ビットは故障検出または診断に寄与しないため、当該テスト応答ビットは「ドントケア」テスト応答ビットと呼ぶことができる。「ドントケア」テストパターンビットに関し、「ドントケア」テスト応答ビットも、テスト応答が捕獲されるとき、および/またはテスト応答がスキャンチェーンからシフトされるとき、スキャンチェーンのスキャンセル内に過度なスイッチングを生じかねない。
スキャンチェーンのロード、捕獲、および/またはアンロードプロセス中に使用される過剰な電力は、過熱または供給電圧のノイズを起こしかねない。そのいずれも、エレクトロ・マイグレーションの加速によりデバイスの誤作動、永久的な損傷、または信頼性の低下を生じることになりかねない。したがって、テスト中に電力消費を低減する改良された方法およびテストアーキテクチャが望まれる。
以下に開示するのは、集積回路のテスト中に電力消費を低減するために使用する方法、装置およびシステムの代表的な実施形態である。開示する技術の実施形態は低消費電力テストスキームを提供するために使用でき、また多様な圧縮ハードウェア・アーキテクチャ(例、embedded deterministic test(「EDT」)アーキテクチャ)と統合できる。
開示する実施形態のいくつかは、テスト刺激セレクタを含む集積回路を含む。たとえば、具体的な実施形態では、集積回路は、オリジナルテストパターン値を生成するよう構成されている第1テスト刺激ソースと、定数値を生成するよう構成されている第2テスト刺激ソースと、制御信号を生成するよう構成されているコントローラと、第1テスト刺激ソース、第2テスト刺激ソースおよびコントローラに連結されている入力部を有するテスト刺激セレクタとを含む。テスト刺激セレクタは、集積回路内の複数のスキャンチェーンに連結されている出力も有する。これらの実施形態では、テスト刺激セレクタは、コントローラからの制御信号に基づいて各出力毎に、第1テスト刺激ソースからのオリジナルテストパターンまたは第2テスト刺激ソースからの定数値のいずれかを選択的に出力するように構成されている。具体的な実施形態では、テスト刺激セレクタはサイクル毎、スキャンチェーン・セグメント毎、またはパターン毎に値を選択的に出力するよう構成されている。また、第1テスト刺激ソースは、外部テスタから圧縮テストパターン値を受信するよう構成されているデコンプレッサにすることができる。いくつかの実施態様では、テスト刺激セレクタは複数のマルチプレクサを含む。これら実施態様のマルチプレクサの各々は、第1テスト刺激ソースの各出力部に連結されている第1入力部と、第2刺激ソースの各出力部に連結されている第2入力部と、コントローラの各出力部に連結されている第3入力部と、1つまたは複数のスキャンチェーンそれぞれに連結されている出力部とを有する。コントローラは、外部テスタ、集積回路上のメモリ、または集積回路上のテスト生成器のうちの1つから制御データをロードするよう構成されているプログラム可能コントローラである。ある実施態様では、定数値は第1定数値であり、集積回路は第2定数値を生成するよう構成されている第3テスト刺激ソースをさらに含み、テスト刺激セレクタは第3刺激ソースに連結されている入力部をさらに有し、テスト刺激セレクタは、第1テスト刺激ソースからのオリジナルテストパターン、第2テスト刺激ソースからの第1定数値、または第3テスト刺激ソースからの第2定数値のうちのいずれかを、コントローラからの制御信号に基づいてそのそれぞれの出力部に個別に選択的に出力するよう構成されている。これらの実施態様では、第1定数値および第2定数値はそれぞれ0および1、またはそれぞれ1および0とすることができる。さらに、これらの実施態様のテスト刺激セレクタは複数のマルチプレクサを含むことができ、マルチプレクサの各々が第1テスト刺激ソースの各出力部に連結されている第1入力部と、第2刺激ソースの各出力部に連結されている第2入力部と、第3刺激ソースの各出力部に連結されている第3入力部と、コントローラの各出力部に連結されている第4入力部と、1つまたは複数のスキャンチェーンそれぞれに連結されている出力部とを有する。これらの実施態様いずれの場合も、コントローラは制御データをロードして出力する1つまたは複数のシフトレジスタを含むことができる。さらに、1つまたは複数のシフトレジスタは多段レジスタ・パイプラインを形成する複数のシフトレジスタを含むことができる。たとえば、複数のシフトレジスタをレジスタシフトクロックに応答してデータを順次(直列的に)ロードするよう構成することができ、かつ/または複数のシフトレジスタをパイプライン・シフトクロックに応答してあるシフトレジスタから別のシフトレジスタに制御データを並列的にシフトするよう構成できる。1つまたは複数のシャドウレジスタを、1つまたは複数のシフトレジスタに連結することもできる。その上、コントローラは1つまたは複数のシフトレジスタのうちの少なくとも1つに連結されているXORまたはXNORネットワークを含むことができ、コントローラはXORまたはXNORネットワークに連結されているバイアス回路をさらに含むことができる。たとえば、バイアス回路はXORまたはXNORネットワークの出力のうちの1つまたは複数の出力を、バイアスされる各出力毎に個別の2進(バイナリ)値をより生成しやすいようにバイアスするよう構成できる。バイアス回路は、たとえば、XORまたはXNORネットワークの出力のうちの1つまたは複数の出力を選択可能な量だけバイアスするよう構成されている再構成可能なバイアス回路であってもよい。
開示する他の実施形態では、集積回路は、オリジナルテストパターン値を生成するよう構成されているテスト刺激ソースと、制御信号を生成するよう構成されているコントローラと、テスト刺激ソースおよびコントローラに連結されている入力部および集積回路内の複数のスキャンチェーンに連結されている出力部を有するテスト刺激セレクタとを含む。これらの実施形態では、テスト刺激セレクタは、第1テスト刺激ソースからのオリジナルテストパターン値または定数値のいずれかを、コントローラから受信した制御信号に基づいてそのそれぞれの出力部に個別に選択的に出力するよう構成されている。さらに、テスト刺激ソースは、定数値を生成するよう構成されているゲート論理回路を含むことができる。具体的な実施形態では、テスト刺激セレクタは、サイクル毎、スキャンチェーン・セグメント毎、またはパターン毎に選択的に値を出力するよう構成されている。ある実施態様では、テスト刺激ソースは外部テスタから圧縮テストパターン値を受信するよう構成されているデコンプレッサである。コントローラは、外部テスタ、集積回路上のメモリ、または集積回路上のテスト生成器から制御データをロードするよう構成されているプログラム可能コントローラであってもよい。いくつかの実施態様では、コントロールは制御データをロードして出力する1つまたは複数のシフトレジスタを含むことができる。1つまたは複数のシフトレジスタは多段レジスタ・パイプラインを形成する複数のシフトレジスタを含むことができる。コントローラはさらに、1つまたは複数のシフトレジスタのうちの少なくとも1つに連結されているXORまたはXNORネットワークを含むことができる。加えて、コントローラはXORまたはXNORネットワークに連結されているバイアス回路を含むことができる。当該実施態様では、バイアス回路は、XORまたはXNORネットワークの出力のうちの1つまたは複数の出力を、バイアスされる各出力毎に個別のバイナリ値をより生成しやすいようにバイアスするよう構成できる。
本明細書に開示するある例示的な方法において、集積回路をテストするためのオリジナルテストパターン値はm個のパスで受信される。オリジナルテストパターン値は、たとえば、デコンプレッサから受信できる。この例示的な方法では、nがm未満である場合に、m個のパスのうち少なくともn個のパスでテストパターン値を選択的に変更して、n個のパス上のテストパターン値が連続する少なくとも2つの定数値になるようにする。m個のスキャンチェーン入力パス上のテストパターン値が出力される。これらのテストパターン値はm個のスキャンチェーン入力パスのうちn個のパス上に連続する少なくとも2つの定数値を含む。ある実施態様では、m個のパスのうちどれを変更させるかを示す制御データが受信される。制御データは複数の追加テストパターンに関して再利用できる。出力されたテストパターン値は集積回路内の1つまたは複数の故障を対象とするオリジナルテストパターンのすべての指定ビットを含むことができる。さらに、テストパターン値を選択的に変更する動作は、連続する少なくとも2つの定数値を生成するよう構成されている論理ゲートに制御信号を適用する動作を含むことができる。
また、本明細書では例示的なスキャン・イネーブル回路を有する集積回路の実施形態も開示する。たとえば、具体的な実施形態では、集積回路は、集積回路内のスキャンチェーンのデータ入力部に連結されているデコンプレッサと、制御信号を生成するよう構成されているコントローラと、コントローラに連結されている入力部およびスキャンチェーンのスキャンセルのスキャン・イネーブル入力部に連結されている出力部を有するスキャン・イネーブル回路とを含む。これらの実施形態では、スキャン・イネーブル回路はスキャン・イネーブル回路の出力部のうちの1つまたは複数の出力部で独立して制御可能なスキャン・イネーブル信号を生成するよう構成されている。独立して制御可能なスキャン・イネーブル信号の値は、少なくとも部分的にはコントローラからの制御信号に基づいている。
独立して制御可能なスキャン・イネーブル信号の値は、第1スキャン・イネーブル値と第2スキャン・イネーブル値とを含むことができる。第1スキャン・イネーブル値は1つまたは複数のスキャンチェーンをシフトモードで動作させるために使用でき、第2スキャン・イネーブル値は1つまたは複数のスキャンチェーンを通常の回路モードで動作させるために使用できる。いくつかの実施態様では、スキャン・イネーブル回路の入力部は第1入力部であり、スキャン・イネーブル回路は大域(グローバル)スキャン・イネーブル信号を受信するよう構成されている第2入力部をさらに含む。これらの実施態様では、スキャン・イネーブル回路は、スキャン・イネーブル回路によって生成されたスキャン・イネーブル信号の少なくとも一部を大域スキャン・イネーブル信号によって部分的に制御するように構成できる。スキャン・イネーブル回路の各出力部は、集積回路の1つまたは複数のそれぞれのスキャンチェーン内のスキャンセルのスキャン・イネーブル入力部に連結できる。さらに、ある実施態様では、集積回路はスキャンセルによって形成されるスキャンチェーンに連結するよう構成されている出力部を有するテスト刺激セレクタを含むことができる。テスト刺激セレクタは、オリジナルテストパターン値または定数値のいずれかを、テスト刺激セレクタの各出力部毎に選択的に出力するよう構成できる。いくつかの実施態様では、コントローラは、外部テスタ、集積回路上のメモリ、または集積回路上のテスト生成器のうちの1つから制御データをロードするよう構成されているプログラム可能コントローラであってもよい。コントローラは、たとえば、制御データをロードして出力する1つまたは複数のシフトレジスタを含むことができる。1つまたは複数のシフトレジスタは多段レジスタ・パイプラインを形成する複数のシフトレジスタを含むことができる。さらに、1つまたは複数のシフトレジスタに1つまたは複数のシャドウレジスタを連結できる。いくつかの実施態様では、コントローラは、1つまたは複数のシフトレジスタのうちの少なくとも1つに連結されているXORまたはXNORネットワークも含むことができる。その上、コントローラはXORまたはXNORネットワークに連結されているバイアス回路を含むことができる。バイアス回路は、XORまたはXNORネットワークの出力のうちの1つまたは複数の出力を、バイアスされる各出力毎に個別のバイナリ値をより生成しやすいようにバイアスするよう構成できる。
テスト中回路にスキャン・イネーブル信号を適用する例示的な実施形態も本明細書で開示する。たとえば、いくつかの実施形態では、デコンプレッサから解凍されたテストパターンをスキャンチェーンへロードしているときに、スキャン・イネーブル信号を被テスト回路の当該スキャンチェーンに適用する。スキャン・イネーブル信号はスキャンチェーンを1つまたは複数のシフトレジスタとして動作させる。さらに、スキャン・イネーブル信号を適用していないスキャンチェーンの残りで捕獲したときに、スキャン・イネーブル信号を、解凍されたテストパターンに対するテスト応答として、1つまたは複数のスキャンチェーンに適用する。いくつかの実施態様では、スキャン・イネーブル信号を適用する1つまたは複数のスキャンチェーンは、スキャン・イネーブル信号を適用しなければ未知の値を捕獲したはずの1つまたは複数のスキャンチェーンを含む。別の実施態様では、テスト応答をスキャンチェーンからアンロードするときに、スキャン・イネーブル信号を被テスト回路のスキャンチェーンに適用できる。解凍されたテストパターンに対する応答を捕獲するときスキャンチェーンのうちのどれにスキャン・イネーブル信号を適用するかを制御する制御信号も受信できる。これらの制御信号は、解凍された複数の追加テストパターンをスキャンチェーンにロードするときに再利用できる。さらに、テストパターンをスキャンチェーンにロードしているときに、次のテストパターンのための制御信号をロードできる。
本明細書に開示する別の例示的な実施形態では、コンピュータにある方法を実施させるコンピュータ実行可能命令を記憶する1つまたは複数のコンピュータ可読媒体を開示する。ある実施態様では、方法は、被テスト回路に適用されるテストパターンをシミュレートすることによって、シミュレートされたテスト応答を生成する工程と、シミュレートされたテスト応答から未知状態を捕獲する被テスト回路の1つまたは複数のスキャンチェーンを特定する工程と、スキャン・イネーブル回路をキャプチャウィンドウ中に特定した1つまたは複数のスキャンチェーンでスキャン・イネーブル信号を抑制させる制御信号を生成する工程と、制御信号を1つまたは複数のコンピュータ可読媒体に記憶する工程とを含む。
本明細書では、クロック・イネーブル回路を含む集積回路の実施形態も開示する。たとえば、開示するある実施形態では、集積回路は、集積回路内のスキャンチェーンのデータ入力に連結されているデコンプレッサと、制御信号を生成するよう構成されているコントローラと、クロック・イネーブル回路とを含む。これら実施形態のクロック・イネーブル回路は、コントローラに連結されている入力部と、スキャンチェーンのスキャンセルのクロック入力部に連結されている出力部とを有する。さらに、クロック・イネーブル回路は、少なくとも部分的にはコントローラからの制御信号に基づいて、クロック・イネーブル回路の1つまたは複数の出力で独立して制御可能なクロック信号を生成するよう構成されている。クロック・イネーブル回路によって生成される独立して制御可能なクロック信号はクロック信号を捕獲できる。さらに、いくつかの実施態様では、クロック・イネーブル回路の入力部を第1入力部にでき、クロック・イネーブル回路はさらにソースクロック信号を受信するよう構成されている第2入力部を含むことができ、クロック・イネーブル回路によって生成されるクロック信号をソースクロック信号から導き出すことができる。ある実施態様では、クロック・イネーブル回路は大域クロック・イネーブル信号を受信するよう構成されている第3入力部をさらに含み、大域クロック・イネーブル信号が生成されたときにクロック・イネーブル回路のすべての出力部でクロック信号を生成するよう構成されている。クロック・イネーブル回路の各出力部は、集積回路の1つまたは複数のスキャンチェーンの各々の内のスキャンセルのクロック入力部に連結できる。クロック・イネーブル回路は、クロック・イネーブル回路の各出力部を制御する個別のクロック・イネーブラー回路を含むことができる。ある実施態様では、集積回路はさらに、スキャンセルによって形成されるスキャンチェーンに連結するよう構成されている出力部を有するテスト刺激セレクタを含む。テスト刺激セレクタは、オリジナルテストパターン値または定数値のいずれかを、テスト刺激セレクタの出力部毎に選択的に出力するよう構成できる。さらに、コントローラは、外部テスタ、集積回路上のメモリ、または集積回路上のテスト生成器のうちの1つから制御データをロードするよう構成されているプログラム可能コントローラとすることができる。コントローラは、たとえば、制御データをロードして出力する1つまたは複数のシフトレジスタを含むことができる。1つまたは複数のシフトレジスタは、多段レジスタ・パイプラインを形成する複数のシフトレジスタを含むことができる。さらに、1つまたは複数のシフトレジスタに1つまたは複数のシャドウレジスタを連結できる。コントローラは、1つまたは複数のシフトレジスタのうちの少なくとも1つに連結されているXORまたはXNORネットワークを含むこともできる。ある実施態様では、コントローラはXORまたはXNORネットワークに連結されているバイアス回路をさらに含み、バイアス回路はXORまたはXNORネットワークの出力のうち1つまたは複数の出力を、バイアスされる各出力毎に個別の2進(バイナリ)値をより生成しやすいようにバイアスするよう構成されている。
開示する実施形態には、テスト中にクロック信号を適用して抑制する方法がある。たとえば、開示するある実施形態では、デコンプレッサからの解凍されたテストパターンを被テスト回路のスキャンチェーンにロードするときに、被テスト回路のスキャンチェーンにクロック信号を適用する。キャプチャウィンドウ中に、解凍されたテストパターンに対するテスト応答を捕獲しているとき、クロック信号はすべてではないが1つまたは複数のスキャンチェーンまたはスキャンチェーンのセグメントに抑制される。クロック信号の抑制により、キャプチャウィンドウ中に、すべてではないが1つまたは複数のスキャンチェーンまたはスキャンチェーンのセグメントが定常状態にとどまる。すべてではないが1つまたは複数のスキャンチェーンまたはスキャンチェーンのセグメントは、クロック信号を適用されていなければ未知の値を捕獲していたはずの1つまたは複数のスキャンチェーンまたはスキャンチェーンのセグメントを含むことができる。具体的な実施態様では、クロック信号は、テストパターンをスキャンチェーンにロードするときの第1周波数と、キャプチャウィンドウにテスト応答を捕獲するときの第2周波数とを有する。開示する実施形態は、スキャンチェーンからテスト応答をアンロードするときに被テスト回路のスキャンチェーンにクロック信号を適用する工程をさらに含む。さらに、キャプチャウィンドウ中にどのスキャンチェーンまたはスキャンチェーンのセグメントがクロック信号を抑制させるかを制御する制御信号を受信できる。制御信号は解凍された複数の追加テストパターンに対するテスト応答を捕獲するとき再利用できる。スキャンチェーンにテストパターンをロードしているとき、次のテストパターンのための制御信号もロードできる。
本明細書に開示する別の例示的な実施形態では、コンピュータにある方法を実施させるコンピュータ実行可能命令を記憶する1つまたは複数のコンピュータ可読媒体を開示する。ある実施態様では、方法は、被テスト回路に適用するテストパターンをシミュレートすることによってシミュレートされたテスト応答を生成する工程と、シミュレートされたテスト応答から未知状態を捕獲する被テスト回路の1つまたは複数のスキャンチェーンを特定する工程と、クロック・イネーブル回路に、キャプチャウィンドウ中の特定した1つまたは複数のスキャンチェーンで捕獲クロックを抑制させるための制御信号を生成する工程と、制御信号を1つまたは複数のコンピュータ可読媒体に記憶する工程とを含む。
本明細書では、リセット・イネーブル回路を含む集積回路の実施形態も開示する。たとえば、いくつかの実施形態では、集積回路は、集積回路内のスキャンチェーンのデータ入力部に連結されているデコンプレッサと、制御信号を生成するよう構成されているコントローラと、コントローラに連結されている入力部およびスキャンチェーンのスキャンセルのリセット入力に連結されている出力部を有するリセット・イネーブル回路とを含む。リセット・イネーブル回路は、少なくとも部分的にはコントローラからの制御信号に基づいて、リセット・イネーブル回路の出力のうち1つまたは複数の出力部でリセット信号を選択的に生成するよう構成できる。集積回路内のスキャンセルは、リセット入力部にリセット信号を適用するとき、0または1にリセットされるよう構成できる。リセット・イネーブル回路の入力部はリセット・イネーブル回路の第1入力部にすることができ、リセット・イネーブル回路は、ソースリセット信号を受信するよう構成されている第2入力部をさらに含むことができる。具体的な実施態様では、リセット・イネーブル回路はリセット・イネーブル回路の各出力部を制御するための個別のリセット・イネーブラー回路を含む。その上、いくつかの実施態様では、リセット・イネーブル回路の各出力を、集積回路の1つまたは複数のそれぞれのスキャンチェーン内のスキャンセルのリセット入力部に連結できる。スキャンセルのリセット入力部はスキャンセルの非同期制御ピンを含むことができる。集積回路は、集積回路内のスキャンチェーンのシフトクロック入力部に連結されている出力部を有するシフトクロック・イネーブル回路をさらに含むことができる。これらの実施形態のシフトクロック・イネーブル回路は、シフトクロック・イネーブル回路の出力のうちの1つまたは複数の出力でシフトクロック信号を選択的に生成するよう構成できる。シフトクロック・イネーブル回路はコントローラに連結されている入力部をさらに含むことができ、選択的に生成されるシフトクロック信号は少なくとも部分的にコントローラからの制御信号に基づくことができる。さらに、シフトクロック・イネーブル回路は、シフトクロック・イネーブル回路の各出力部を制御するための個別のシフトクロック・イネーブラー回路を含むことができる。集積回路は、スキャンセルによって形成されるスキャンチェーンに連結するよう構成されている出力部を有するテスト刺激セレクタも含むことができる。テスト刺激セレクタは、オリジナルテストパターン値または定数値のいずれかを、テスト刺激セレクタの出力部毎に選択的に出力するよう構成できる。ある実施態様では、集積回路内のコントローラは、外部テスタ、集積回路上のメモリ、または集積回路上のテスト生成器のうちの1つから制御データをロードするよう構成されているプログラム可能コントローラである。コントローラは制御データをロードして出力する1つまたは複数のシフトレジスタを含むことができる。さらに、1つまたは複数のシフトレジスタは多段レジスタ・パイプラインを形成する複数のシフトレジスタを含むことができる。1つまたは複数のシフトレジスタに1つまたは複数のシャドウレジスタを連結できる。コントローラは、1つまたは複数のシフトレジスタのうちの少なくとも1つに連結されているXORまたはXNORネットワークをさらに含むことができる。その上さらに、コントローラはXORまたはXNORネットワークに連結されているバイアス回路を含むことができる。バイアス回路はXORまたはXNORネットワークの1つまたは複数の出力を、バイアスされる各出力毎に個別のバイナリ値をより出しやすいようにバイアスするよう構成できる。
テスト中に回路にリセット信号を適用する例示的な実施形態も本明細書で開示する。開示するある実施形態では、テストパターンに対するテスト応答(例、デコンプレッサが解凍するテストパターン)を被テスト回路のスキャンチェーンで捕獲する。テストパターンに対するテスト応答を捕獲した後、すべてではないが1つまたは複数のスキャンチェーンまたはスキャンチェーンのセグメントにリセット信号を適用する。リセット信号を適用した後、スキャンチェーンの内容をアンロードする。リセット信号が適用される1つまたは複数のスキャンチェーンまたはスキャンチェーンのセグメントは、リセット信号が適用されなければ未知の値を捕獲したはずの1つまたは複数のスキャンチェーンまたはスキャンチェーンのセグメントを含むことができる。リセット信号を適用することによって、すべてではないが1つまたは複数のスキャンチェーンまたはスキャンチェーンのセグメントに捕獲される値を1つの定数値(例、1または0)にすることができる。どのスキャンチェーンまたはスキャンチェーンのセグメントにリセット信号を適用させるかを制御する制御信号を受信できる。これらの制御信号は、複数の追加テストパターンに対するテスト応答に再利用できる。さらに、テストパターンがスキャンチェーンにロードされているときに、次のテストパターンのための制御信号をロードできる。
本明細書に開示する別の例示的な実施形態では、コンピュータにある方法を実施させるコンピュータ実行可能命令を記憶する1つまたは複数のコンピュータ可読媒体を開示する。ある実施態様では、方法は、被テスト回路に適応されるテストパターンをシミュレートすることによってシミュレートされたテスト応答を生成する工程と、シミュレートされたテスト応答から未知状態を捕獲する被テスト回路の1つまたは複数のスキャンチェーンを特定する工程と、リセット・イネーブル回路に、特定した1つまたは複数のスキャンチェーンでリセット信号を生成させるための制御信号を生成する工程と、制御信号を1つまたは複数のコンピュータ可読媒体に記憶する工程とを含む。
本明細書に開示する様々な実施形態には、テストパターン生成方法がある。これらの方法は、たとえば、コンピュータにある方法を実施させるためのコンピュータ実行可能命令を記憶する1つまたは複数のコンピュータ可読媒体に実装できる。いくつかの実施形態では、オリジナルテスト刺激ソースによって駆動されるスキャンチェーンの数を判断する。この数は、典型的には、回路設計上利用できるスキャンチェーンの数より少ない。対象故障リストから故障を選択する。選択した故障のテストキューブが生成される。テストキューブは多数の指定スキャンチェーン内に指定ビットを含むことができる。テストキューブ内の指定スキャンチェーンの数がオリジナルテスト刺激ソースによって駆動されるスキャンチェーンの数より少ないか否かの判定を行う。テストキューブ内の指定スキャンチェーンの数がオリジナルテスト刺激ソースによって駆動されるスキャンチェーンの数を超えていない場合、そのテストキューブを記憶する。ある実施態様では、故障が第1故障であり、テストキューブ内の指定スキャンチェーンの数がオリジナルテスト刺激によって駆動されるスキャンチェーンの数を超えている場合、そのテストキューブは拒絶される。それから、対象故障リストからの第2故障について、選択、生成、判定および記憶する動作を繰り返すことができる。いくつかの実施態様では、故障は第1故障であり、第2故障は対象故障リストから選択される。第1故障のテストキューブは、第2故障を検出するための1つまたは複数の追加の指定ビットを含むよう展開できる。1つまたは複数の追加の指定ビットにより、展開されたテストキューブ内の指定スキャンチェーンの数がオリジナルテスト刺激ソースによって駆動されるスキャンチェーンの数を超えるか否かの判定を行うことができる。展開されたテストキューブ内の指定スキャンチェーンの数がオリジナルテスト刺激ソースによって駆動されるスキャンチェーンの数を超えていない場合、展開されたテストキューブを記憶できる。展開されたテストキューブ内の指定スキャンチェーンの数がオリジナルテスト刺激ソースによって駆動されるスキャンチェーンの数を超える場合、その展開されたテストキューブを拒絶でき、対象故障リストからの第3故障について選択、展開、判定および記憶する動作を繰り返す。いくつかの実施態様では、オリジナルテスト刺激ソースによって駆動されるスキャンチェーンの数を判定するために、テスト刺激セレクタのコントローラのエンコード能力を判定する。さらに、オリジナルテスト刺激ソースによって駆動されるスキャンチェーンの数は、テスト刺激セレクタによって個別に制御できるスキャンチェーンの最大数に基づかせることができる。ある実施態様では、オリジナルテスト刺激ソースは、外部テスタが提供する圧縮テストパターンを解凍するよう構成されているデコンプレッサである。いくつかの実施態様では、テスト刺激セレクタの制御信号はテストキューブに基づいて生成できる。これらの制御信号は、テスト中にテストキューブを用いたテストパターンをロードするときに、テスト刺激セレクタに定数値を不指定スキャンチェーンに適用させることができる。
別の例示的なテストパターン生成方法では、故障の影響の観測に使用可能なスキャンチェーンの数を判定する。この数は典型的には回路設計において利用できるスキャンチェーンの数より少ない。対象故障リストからある故障を選択する。選択した故障のテストキューブを生成する。そのテストキューブから故障の影響の観測に使用したスキャンチェーンの数を判定する。テストキューブから故障の影響の観測に使用したスキャンチェーンの数が、故障の影響の観測に使用可能なスキャンチェーンの数より少ないか否かの評価を行う。テストキューブから故障の影響の観測に使用したスキャンチェーンの数が故障の影響の観測に使用可能なスキャンチェーンの数より少ない場合、そのテストキューブを記憶する。ある実施態様では、故障が第1故障であり、テストキューブから故障の影響の観測に使用したスキャンチェーンの数が故障の影響の観測に使用可能なスキャンチェーンの数を超えている場合、そのテストキューブを拒絶する。対象故障リストからの第2故障について、選択、生成、判定、評価および記憶する動作を行える。別の実施態様では、対象故障リストからの故障は対象故障リストからの第1故障であり、対象故障リストからの第2故障を選択する。第1故障のテストキューブは第2故障を検出するための1つまたは複数の追加の指定ビットを含むよう展開する。1つまたは複数の追加の指定ビットにより、展開されたテストキューブから故障の影響の観測に使用したスキャンチェーンの数が故障の影響の観測に使用可能なスキャンチェーンの数を超えるか否かの判定を行う。テストキューブから故障の影響の観測に使用したスキャンチェーンの数が故障の影響の観測に使用可能なスキャンチェーンの数より少ない場合、展開されたテストキューブを記憶する。テストキューブから故障の影響の観測に使用したスキャンチェーンの数が故障の影響の観測に使用可能なスキャンチェーンの数を超える場合、その展開されたテストキューブを拒絶できる。対象故障リストからの第3故障について、選択、展開、判定および記憶する動作を繰り返すことができる。ある実施態様では、故障の影響の観測に使用可能なスキャンチェーンの数を判定するために、スキャン・イネーブル回路のコントローラ、クロック・イネーブル回路のコントローラ、リセット・イネーブル回路のコントローラ、またはシフトクロック・イネーブル回路のコントローラのエンコード能力を判定できる。テストキューブから故障の影響の観測に使用したスキャンチェーンの数は、被テスト回路へのテストキューブの適用をシミュレートすることによって判定できる。ある実施態様では、オリジナルテスト刺激ソースは、外部テスタにより提供される圧縮テストパターンを解凍するよう構成されているデコンプレッサである。いくつかの実施態様では、スキャン・イネーブル回路の制御信号はテストキューブに基づいて生成できる。これらの制御信号は、テスト中にテストキューブを用いたテストパターンを適用したときに、テストキューブから故障の影響が観測されないスキャンチェーンからのスキャン・イネーブル信号をスキャン・イネーブル回路に抑制させることができる。別の実施態様では、クロック・イネーブル回路の制御信号をテストキューブに基づいて生成できる。これらの制御信号は、テスト中にテストキューブを用いたテストパターンを適用したとき、テストキューブから故障の影響が観測されないスキャンチェーンからのクロック信号をクロック・イネーブル回路に抑制させることができる。さらに別の実施態様では、テストキューブに基づいてリセット・イネーブル回路の制御信号を生成できる。これらの制御信号は、テスト中にテストキューブを用いたテストパターンに対するテスト応答が捕獲された後、テストキューブから故障の影響が観測されないスキャンチェーンにリセット信号をリセット・イネーブル回路に適用させることができる。別の実施態様では、テストキューブに基づいてシフトクロック・イネーブル回路の制御信号を生成できる。これらの制御信号は、テスト中にテストキューブを用いたテストパターンに対するテスト応答が捕獲された後、テストキューブから故障の影響が観測されないスキャンチェーンからシフトクロック信号をシフトクロック・イネーブル回路に抑制させることができる。ある実施態様では、オリジナルテスト刺激ソースによって駆動されるスキャンチェーンの数も判定する。これらの実施態様では、オリジナルテスト刺激ソースによって駆動されるスキャンチェーンの数は、スキャン・イネーブル回路、クロック・イネーブル回路、リセット・イネーブル回路、またはシフトクロック・イネーブル回路によって独立して制御できるスキャンチェーンの最大数に基づく。
開示する実施形態のいずれも、シミュレーション環境など、多様な環境で実施できる。さらに、開示する方法のいずれも、コンピュータにいずれかの方法を実施させるコンピュータ実行可能命令を記憶する1つまたは複数のコンピュータ可読媒体上に実装できる。コンピュータ環境において実行される開示する方法のいずれも、単一のコンピュータによって、またはネットワークを介して実施できる。また、開示するいずれかの方法で生成するテストパターン、テストパターン値、または制御データ(または何か他の最終結果もしくは中間結果)を記憶するコンピュータ可読媒体も開示する。加えて、開示する装置のいずれも、適切な電子設計自動化(「EDA」)ソフトウェアツールによって生成し、設計データとして1つまたは複数のコンピュータ可読媒体に記憶できる。たとえば、開示するテスティング環境(アーキテクチャ)のいずれも、HDLファイル(Verilog、VHDL、またはレジスタ転送レベルのファイルなど)、ゲートレベルのネットリスト、またはその他同様なEDA設計ファイル(例、GDSIIファイルまたはOasisファイル)の形式で記述または表現できる。
以上およびその他の本発明の目的、特徴および利点は以下の詳細な説明からより明らかになり、添付の図面を参照しながらみていく。
開示する技術の実施形態を使用できる例示的なテスティング環境を図示する模式的なブロック図である。 例示的なテスト回路において主対象の遷移故障について指定ビットを有するスキャンチェーンの数の分布を示すグラフである。 例示的なテスト回路において主対象の遷移故障について指定ビットを有するスキャンチェーンの数の分布を示すグラフである。 例示的なテスト回路において主対象の遷移故障について指定ビットを有するスキャンチェーンの数の分布を示すグラフである。 例示的なテスト回路において主対象の遷移故障について指定ビットを有するスキャンチェーンの数の分布を示すグラフである。 例示的なテスト回路の動的コンパクト化後の、指定ビットを有するスキャンチェーンの分布を示すグラフである。 例示的なテスト回路の動的コンパクト化後の、指定ビットを有するスキャンチェーンの分布を示すグラフである。 例示的なテスト回路の動的コンパクト化後の、指定ビットを有するスキャンチェーンの分布を示すグラフである。 例示的なテスト回路の動的コンパクト化後の、指定ビットを有するスキャンチェーンの分布を示すグラフである。 例示的なテスト回路に制約のないテスト生成スキームと比較したときの、指定ビットを有するスキャンチェーンを限られた数しかもたないテスト生成スキームのパターンカウントの増加を示すグラフである。 例示的なテスト回路について追加で検出された故障を観測するスキャンチェーンの数を示すグラフである。 例示的なテスト回路について追加で検出された故障を観測するスキャンチェーンの数を示すグラフである。 例示的なテスト回路について追加で検出された故障を観測するスキャンチェーンの数を示すグラフである。 例示的なテスト回路について追加で検出された故障を観測するスキャンチェーンの数を示すグラフである。 プログラム可能なテスト刺激セレクタを含む集積回路の第1例示的な実施形態の模式的なブロック図である。 プログラム可能テスト刺激セレクタを含む集積回路の第2の例示的な実施形態の模式的なブロック図である。 図6または図7の実施形態で使用してもよい例示的なセレクタ回路の模式的なブロック図である。 図6または図7の実施形態で使用してもよい例示的なセレクタ回路の模式的なブロック図である。 図6または図7の実施形態で使用できる例示的なプログラム可能コントローラの模式的なブロック図である。 図10のコントローラで使用してもよい例示的なシフトレジスタファイルの模式的なブロック図である。 図11のシフトレジスタファイルの例示的なクロッキング回路の模式的なブロック図である。 図10のコントローラで使用してもよいシャドウレジスタを使う例示的なシフトレジスタファイルの模式的なブロック図である。 図10のコントローラで使用できる例示的なバイアス回路の模式的なブロック図である。 図10のコントローラで使用できる例示的な再構成可能なバイアス回路の模式的なブロック図である。 図10のコントローラで使用できる別の例示的な再構成可能なバイアス回路の模式的なブロック図である。 バイアス回路を備えたテスト刺激コントローラを有する例示的な回路の模式的なブロック図である。 プログラム可能スキャン・イネーブル回路を含む集積回路の第1の例示的な実施形態の模式的なブロック図である。 図18の集積回路で使用できる例示的なプログラム可能スキャン・イネーブル回路の模式的なブロック図である。 図19の実施形態で使用できるスキャン・イネーブル回路の模式的なブロック図である。 プログラム可能スキャン・イネーブル回路を含む集積回路の第2の例示的な実施形態の模式的なブロック図である。この実施形態はさらにプログラム可能テスト刺激セレクタを含む。 プログラム可能スキャン・イネーブル回路とバイアス回路を備えたプログラム可能テスト刺激セレクタとを有する例示的な回路の模式的なブロック図である。 バイアス回路を備えたプログラム可能スキャン・イネーブル回路を有する例示的な回路の模式的なブロック図である。 プログラム可能クロック・イネーブル回路を含む集積回路の第1の例示的な実施形態の模式的なブロック図である。 図24の集積回路で使用できる例示的なプログラム可能クロック・イネーブル回路の模式的なブロック図である。 図25の実施形態で使用できる、クロック・イネーブル回路の出力をスキャンチェーンに連結するための例示的な構成を示す模式的なブロック図である。 図25の実施形態で使用できる例示的なクロック・イネーブル回路の模式的なブロック図である。 図25の実施形態で使用できる例示的なクロック・イネーブル回路の模式的なブロック図である。 プログラム可能クロック・イネーブル回路とプログラム可能テスト刺激セレクタとを有する例示的な回路の模式的なブロック図である。 プログラム可能クロック・イネーブル回路とバイアス回路を備えたプログラム可能テスト刺激セレクタとを有する例示的な回路の模式的なブロック図である。 バイアス回路を備えたプログラム可能クロック・イネーブル回路を有する例示的な回路の模式的なブロック図である。 プログラム可能リセット/シフトクロック回路を含む集積回路の第1の例示的な実施形態の模式的なブロック図である。 図32の集積回路で使用できる例示的なシフトクロック・イネーブル回路の模式的なブロック図である。 図32の集積回路で使用できる例示的なリセットクロック・イネーブル回路の模式的なブロック図である。 プログラム可能クロック・イネーブル回路と、プログラム可能テスト刺激セレクタと、プログラム可能シフト/リセットクロック・イネーブル回路とを有する例示的な回路の模式的なブロック図である。 バイアス回路を備えたプログラム可能テスト刺激セレクタを有するとともに、開示する技術の実施形態を分析するために用いられる例示的な回路の模式的なブロック図である。 開示する実施形態のいずれかを実施または実行するために使用できる第1分散型コンピューティングネットワークの模式的なブロック図である。 開示する実施形態のいずれかを実施または実行するために使用できる第2分散型コンピューティングネットワークの模式的なブロック図である。 分散型コンピュータネットワーク(図37および図38のネットワークなど)を使用して開示する実施形態のいずれかを実施または実装する例示的な方法を示すフローチャートである。 集積回路のスキャンチェーンにロードすべきテストパターン値を選択的に変更する例示的な方法のフローチャートである。 テスト中にテスト応答が捕獲されたときに、スキャン・イネーブル信号を選択的に適用する例示的な方法のフローチャートである。 テスト中にテスト応答が捕獲されたときに、クロック信号を選択的に抑制する例示的な方法のフローチャートである。 テスト中にテスト応答が捕獲された後に、スキャンチェーンにリセット信号を選択的に適用する例示的な方法のフローチャートである。 テスト刺激ソースによって駆動されるスキャンチェーンの数が制限されるテストキューブを生成する例示的なテストパターン生成方法のフローチャートである。 テスト中に故障の影響を観測するスキャンチェーンの数が制限されるテストキューブを生成する例示的なテストパターン生成方法のフローチャートである。
I.一般的な考慮事項
開示する方法、装置およびシステムはいかなる点においても限定と解釈してはならない。そうではなく、本開示は、単独および互いの様々な組合わせおよびサブコンビネーションの状態にある開示する様々な方法、装置、システムおよびその均等物の新規かつ非自明の特徴および態様のすべてを対象とする。本開示は、何か特定の態様もしくは特徴、またはその組み合わせに限定されるものではなく、また開示する方法、装置およびシステムは何か1つまたは複数の利点が存在し、または問題が解決されることを必要とするわけでもない。
提示の便宜上、開示する方法、装置およびシステムのいくつかの動作を特定の連続的な順序で記述しているが、この記述方式は、当然のことながら以下に明記する特有の表現で特定の順序で行うことが必要とされない限り、順序の変更を包含する。たとえば、順次記述されている動作は、ある場合には順序を変更してまたは同時に行ってもよい。また、簡潔にするために、添付の図面には、開示する方法、装置およびシステムを他の方法、装置およびシステムとともに使用できる様々な方法を示していないことがある。さらに、本説明は開示する方法を記述するために「評価する(evaluate)」および「判定する(determine)」のような用語を使用することがある。これらの用語は実施する実際の動作の高次の抽象表現である。これらの用語に対応する実際の動作はその具体的な実施態様に応じて変わり、当業者には容易に認識できる。
開示する装置は、スキャンベースまたは一部スキャンベースの多様な回路(例、特定用途向け集積回路(「ASIC」)(混合信号ASICを含む)、システムオンチップ(SoC)、またはフィールド・プログラマブル・ゲートアレイ(FPGA)などのプログラマブル・ロジック・デバイス(PLD))に実装できる。このような回路は、携帯電子機器(例、携帯電話、メディアプレーヤー、および同様なもの)からより大規模なアイテム(例、コンピュータ、制御システム、航空機、自動車、工場および同様なもの)まで、多種多様な電子デバイスで使用できる。開示するテスティング装置の実施形態を組み込んだ1つまたは複数の回路を含むこのようなアイテムのすべてが本開示の範囲内にあると考えられる。
開示する装置はいずれも、1つまたは複数のコンピュータ可読媒体上に記憶される設計データまたは設計情報として記述または表現できる。たとえば、開示するテスティング・アーキテクチャのいずれも、HDLファイル(Verilog、VHDL、またはレジスタ転送レベルのファイル)、ゲートレベルのネットリスト、またはその他同様なEDA設計ファイル(例、GDSIIファイルまたはOasisファイル)に記述または表現できる。当該設計データまたは設計情報は、コンピュータ可読媒体(例、1つもしくは複数のCD、揮発性メモリコンポーネント(DRAMまたはSRAMなど)、または不揮発性メモリコンポーネント(ハードドライブなど)などのコンピュータ可読媒体)上に記憶されるコンピュータ実行可能命令を含むソフトウェアを使用して、全体または一部を作成できる。また、開示する技術のいずれも、コンピュータ可読媒体上に記憶されるコンピュータ実行可能命令を含むソフトウェアによって全体または部分的に実行できる。そのようなソフトウェアは、たとえば、適切な電子設計自動化(「EDA」)ソフトウェア・ツール(例、自動テストパターン生成(「ATPG」)ツール)を含むことができる。
当該ソフトウェアは単一のコンピュータ上またはネットワーク化されたコンピュータ上(たとえば、インターネット、広域(ワイド・エリア)ネットワーク、ローカル・エリア・ネットワーク、クライアント・サーバー・ネットワーク、またはその他同様なネットワークを介して)で実行できる。分かりやすくするために、ソフトウェアベースの実施態様のある選択された態様だけを記述する。当技術分野でよく知られている他の明細は省略する。たとえば、当然のことながら開示する技術は、ある特定のコンピュータ言語、プログラム、またはコンピュータに限定されるものではない。たとえば、開示する技術は、商業的に利用できる言語またはその他適した言語で書き込まれたプログラムを実行する商業的に利用できるどのコンピュータを使用しても実行できる。あるいは、開示する方法のいずれも、ハードウェア(例、ASIC、PLDまたはSoC)において実行できる(部分的または全体的に)。
開示する方法のいずれかから生成されるデータ(例、中間テストパターンもしくは最終テストパターン、テストパターン値、または制御データ)は、多種多様なデータ構造またはフォーマットを使って、コンピュータ可読媒体(例、1つもしくは複数のCD、揮発性メモリコンポーネント(DRAMまたはSRAMなど)、または不揮発性メモリコンポーネント(ハードドライブなど)などの有形のコンピュータ可読媒体)上に記憶できる。当該データは、ローカルコンピュータを使ってまたはネットワーク上で(例、サーバー・コンピュータによって)作成、更新または記憶できる。
開示する方法のいずれも、コンピュータ・シミュレーションまたはその他EDA環境(例、テストパターンを回路の表現形に適用するようにシミュレートするシミュレーション環境)でも実施できる。たとえば、開示する方法は、被テスト回路を表す回路設計情報と、関連するテストハードウェア(たとえば、ネットリスト、HDLファイル(VerilogまたはVHDLファイルなど)、RTLファイル、GDSIIファイル、Oasisファイル、または同様な他のもの)を使って実施し、コンピュータ可読媒体に記憶できる。しかし、提示のために、本開示は被テスト回路(被テスト回路の様々なコンポーネントを含む)および関連するテスティングハードウェア(ハードウェアの様々なコンポーネントを含む)をその物理的な対応物(たとえば、スキャンチェーン、スキャンセル、シフトレジスタ、シャドウレジスタおよびその他同様な用語)によって言及することがある。しかし、当然のことながら詳細な説明および特許請求の範囲における当該言及はいずれも、物理的なコンポーネントだけではなく、シミュレーション、自動テストパターン生成、またはその他同様なEDA環境で使用されるようなコンポーネントの表現形も含む。
本開示で使用する単数形の「a」、「an」および「the」は、本文に別段の記載が明示されていない限り、複数形を含む。さらに、「含む(includes)」という用語は「備えている(comprises)」を意味する。また、本文に別段の記載がない限り、「連結される(coupled)」という用語は電気的または電磁的に接続またはリンクされていることを意味し、直接的な接続または直接的なリンクおよび回路の意図する動作に影響しない1つまたは複数の中間要素を介した間接的な接続または間接的なリンクの双方を含む。
また、本明細書で使用する「テスト刺激ソース」という用語は、直接的または間接的にテスト刺激をスキャンチェーンおよび一次入力に供給するテスト刺激生成器をいう。テスト刺激生成器は様々な形態で実装できる。そのような形態には外部テスト装置、重み付けまたは重みなしの擬似ランダムパターン生成器(「PRPG」)、フェーズシフターおよび/またはバイアス回路を含むPRPG、デコンプレッサ、定数論理値0を生成するソースならびに定数論理値1を生成するソースが含まれるが、これだけに限定されるわけではない。
「デコンプレッサ」という用語は、外部テスト装置から決定論的なテスト刺激などの圧縮テスト刺激を解凍して、チップ上の被テスト回路に渡す機能ユニットをいう。デコンプレッサは様々な形態で実施できる。当該形態には、ブロードキャスト回路、選択可能ブロードキャスト回路、バイアス回路付きもしくはバイアス回路なしの組合せ回路(MUXベースもしくはXORベースの組合せ回路を含むが、それだけに限定されない)、フェーズシフターおよび/もしくはバイアス論理付きもしくはフェーズシフターおよび/もしくはバイアス論理なしのフィードバック・シフトレジスタ、ならびに/または再シードを用いるフィードバック・シフトレジスタを含むことができるが、それだけに限定されるものではない。
「テスト刺激セレクタ」という用語は、スキャンチェーン入力を与える少なくとも1つのテスト刺激ソース(例、複数の当該ソースから)を選択する機能ユニットをいう。
「プログラム可能テスト刺激セレクタ」という用語は、たとえば、プログラム可能コントローラとテスト刺激セレクタとの2つのコンポーネントを含むことのできる機能的ユニットをいう。プログラム可能コントローラを、たとえば、外部テスト装置または組込みテスト生成器に連結して、外部テスタまたは組込みテスト生成器から制御データを受信するよう構成できる。
「スキャンチェーン・セグメント」という用語は、連続してつながっているスキャンチェーン内の一群のスキャンセルをいう。
「スキャン・イネーブラー」または「スキャン・イネーブル回路」という用語は、キャプチャウィンドウ中にスキャンチェーンをシフトモードまたは機能的キャプチャモード(「通常回路」モードということもある)で構成する機能ユニットをいう。
「プログラム可能スキャン・イネーブラー」または「プログラム可能スキャン・イネーブル回路」という用語は、たとえば、プログラム可能コントローラとスキャン・イネーブル回路との2つのコンポーネントを含むことのできる機能ユニットをいう。プログラム可能コントローラは外部テスト装置または組込みテスト生成器に連結して、外部テスタまたは組込みテスト生成器から制御データを受信するよう構成できる。
「クロック・イネーブラー」または「クロック・イネーブル回路」とは、キャプチャウィンドウでシステム応答を捕獲するために1組の状態素子をイネーブル/ディスエーブルする機能ユニットをいう。
「プログラム可能クロック・イネーブラー」または「プログラム可能クロック・イネーブル回路」という用語は、たとえば、プログラム可能コントローラとクロック・イネーブル回路との2つのコンポーネントを含むことのできる機能ユニットをいう。プログラム可能コントローラは外部テスト装置または組込みテスト生成器に連結して、外部テスタまたは組込みテスト生成器から制御データを受信するよう構成できる。
「シフトクロック・イネーブラー」または「シフトクロック・イネーブル回路」という用語は、スキャンシフト中にテストデータをロード/アンロードするために1群のスキャンチェーンをイネーブル/ディスエーブルする機能ユニットをいう。
「リセット・イネーブラー」または「リセット・イネーブル回路」という用語は、スキャンチェーン内のスキャンセルをリセットするリセットクロックまたはリセット信号をイネーブル/ディスエーブルする機能ユニットをいう。
「プログラム可能リセット/シフト・イネーブラー」という用語は、たとえば、プログラム可能コントローラとシフトクロック・イネーブル回路とリセット・イネーブル回路との3つのコンポーネントを含むことのできる機能ユニットをいう。プログラム可能コントローラは外部テスト装置または組込みテスト生成器に連結して、外部テスタまたは組込みテスト生成器から制御データを受信するよう構成できる。
これらの特定の用語の使用は、当業者には理解される追加の特徴または用語が使用される状況により示される追加の特徴を包含してもよいため、限定と解釈するものではないことに留意されたい。
II. 低消費電力テスティング一般
本明細書に開示する技術は、低消費電力テスティングのための方法および装置に関係する。開示する技術はembedded deterministic test(「EDT」)環境において論じられることがあるが、当然のことながら本明細書に説明する原理はこの環境に限定されるものではない。たとえば、本明細書で説明する低消費電力テスティング技術および装置は、指定ビットを有するテストキューブのエンコードに関わる他の圧縮スキーム、または圧縮ハードウェアを使用しないテスティングスキームとともに使用することができる。
図1は、圧縮テスト刺激112を被テスト回路110に組み込まれたデコンプレッサ118に渡す例示的なテスティング環境100を示す。図示する実施形態は、被テスト回路110の外部の自動テスト装置(「ATE」)114によって圧縮テスト刺激が供給される典型的なEDT環境を示す。テスト刺激は解凍されて、テストパターンとしてスキャンチェーン120に適用される。スキャンチェーンからの出力をコンパクタ122でコンパクト化して、圧縮テスト応答124としてATE114に渡して分析する。開示する技術とともに使用するのに適したEDTデコンプレッサ118の実施例および例示的なEDT環境は、たとえば、上記特許文献1〜6に記述されており、このすべてをこれにより引用により本明細書に組み込む。
決定論的なテストベクトルは、典型的には指定されるビットのごく小さな割合しかもたない。残りの位置は0および1で無作為に埋めることができるか、またはたいていはテストカバレッジを損なうことなく、他の方法で埋めることができる。また、実質的な量の実験証拠から、非常に多くの場合、指定ビットの位置はごく少数のスキャンチェーンに限定されることが分かっている。この現象を例証するために、EDT技術を用いた4つの工業用設計から収集したデータを検討する。これらの例示的な設計の特徴を表1に報告する。図2(a)〜図2(d)はグラフ200,202,204,206であり、回路C1〜回路C4において主対象とするすべての遷移故障に関し、指定ビットを有するスキャンチェーンの数の分布を示す。指定ビットを有するスキャンチェーンの数は動的コンパクト化の前に計数していることに留意されたい。見て分かるように、テストキューブの過半はスキャンチェーンの20%未満の指定ビットを特徴とし、どのテストキューブもスキャンチェーンの50%を超える指定ビットを有さない。
Figure 2010518405
動的コンパクト化は、典型的には、テスト生成中のパターンカウントを減らすために用いる。主対象とする故障のために生成されたテストキューブから始めて、動的コンパクト化は適切な値を未指定の位置に割り当てることによってこのキューブを追加の故障を網羅するよう展開する。その結果、指定ビットを有するスキャンチェーンの数は、動的コンパクト化が進むにつれて次第に増加する。指定ビットがなく、かつテスト適用中のトグル発生を減らすために用いることのできるスキャンチェーンを採用するためには、動的コンパクト化中のパターンカウントに対する潜在的な影響を最小化しながら、そのようなスキャンチェーンの数を最大化するのが望ましい。動的コンパクト化によるテスト生成中のパターンカウントと指定ビットを有するスキャンチェーンの数との相関を分析するために、指定ビットを有するスキャンチェーンの数を制限できる。たとえば、一つの例示的な実施例によると、テストキューブに指定ビットを有するスキャンチェーンが指定量(例、20%)未満しかない場合にのみ動的コンパクト化を行うことができる。さらに、指定ビットをもたないスキャンチェーンのなかから、スキャンチェーンの総数のある指定量(例、50%)を無作為に選ぶことができ、それらのスキャンチェーン内のスキャンセルを定数値で埋めることができる。未指定ビットの残りについて、その論理値をデコンプレッサで判定できる。
回路C1〜回路C4について動的コンパクト化後に指定ビットを有するスキャンチェーンの分布を、図3(a)〜図3(d)のグラフ300,302,303,304に示す。見て分かるように、テストキューブの過半はスキャンチェーンの20%未満に指定ビットをもつ。また、動的コンパクト化を指定ビットを有するスキャンチェーンの数が少ない(例、20%)状況に限って行う例示的な技術を使用しても、パターンカウントに対する影響は極端なものではない。たとえば、図4のグラフ400には、回路C1〜回路C4について、指定ビットを有するスキャンチェーンに関する限り制約のないテスト生成スキームと比べたときの、パターンカウントの増加を示している。グラフ400の場合、実験プラットフォームとして従来のEDT環境(例、図1に示すようなもの)を使用した。また、新たなテスト生成技術による故障カバレッジの損失は報告されなかった。
残りのチェーンの「ドントケア」ビットを定数値に置換しながら、テストデータデコンプレッサから直接指定ビットを有するスキャンチェーンを与えることによって、上記観測結果を利用することができる。このようなアプローチは、以下のセクションに示すように、スキャンインシフト中の遷移数を大幅に減少させることができる。
テスト刺激の観点からスイッチング動作を減少させる以外にも、以前に適用されたテストパターンによって検出されなかった故障に関し故障影響を観測するために使用されるスキャンチェーン数を分析することもできる。回路C1〜回路C4について追加で検出された故障を観測するスキャンチェーンの数の分布を、図5(a)〜図5(d)のグラフ500,502,504,506に示す。これらの実施例で適用されたテストパターンはデコンプレッサで駆動されたスキャンチェーンの総数の50%で生成されたが、残りのスキャンチェーンは定数0で駆動された。この実施例のすべてのスキャンチェーンは故障シミュレーション中の観測点として用いられた。見て分かるように、スキャンチェーンの過半は追加で検出された故障を観測しなかった。この観測結果を利用して、キャプチャ段階中に新たなデータ/異なるデータがスキャンセルに捕獲されないようにすることによって、スキャンシフト段階とテスティングのキャプチャ段階の両方についてのスイッチング動作を減少させることができる。可能な限り、テスト応答コンパクト化に対する未知の値の影響を減らすことも望ましい。これらの目的のうち1つまたは複数の目的を達成するための例示的な技術を以下のセクションで紹介する。以下に説明する技術はさらに、説明される技術を実施するための例示的なハードウェア・アーキテクチャも含む。ハードウェア・アーキテクチャのある代表的な実施態様を示しているが、説明する原理に基づいた他の様々な代替構成も可能である(例、実質的に同じ機能性を実現する代替ロジックまたはロジックの構成を使用して)。そのような代替構成およびその均等物はすべて本開示の範囲内にあると考えられる。
III.低消費電力ロード操作
スキャン・アーキテクチャは典型的には単一のテスト刺激ソースを有する。そのため、以下に開示する実施形態はオリジナルテスト刺激ソースを1つしか含んでいない。しかし、説明する低消費電力技術は、複数のテスト刺激ソースを有する他のスキャンベースのアーキテクチャにも容易に適用できる。
A.プログラム可能テスト刺激セレクタの例示的なアーキテクチャ
スキャンシフト中のスイッチング動作を減少させるために、それによって電力消費量を減少させるために、テスト刺激ソースとスキャンチェーン入力との間に1つまたは複数のプログラム可能セレクタを論理的に配置できる。図6は、テスト刺激ソース610(オリジナルの刺激ソースと、オリジナルの刺激ソースに連結されている重み付け回路と、論理0ソースと、論理1ソースとを含む)と、スキャンチェーン120a,122b,122Nのスキャンチェーン入力122a,122b,122Nとの間に配置されている一般的なプログラム可能セレクタ650を示す模式的なブロック図である。
例示的なプログラム可能セレクタ650は、1つまたは複数のテスト刺激セレクタ652と、1つまたは複数のプログラム可能コントローラ660とを含むことができる。一つのテスト刺激セレクタを、たとえば、2以上のスキャンチェーン入力に連結できる。さらに、プログラム可能セレクタ650は、たとえば、テストデータの複数のソースによって駆動できる。図示する実施形態では、たとえば、テスト刺激として、バイアス回路によってバイアスをかけたオリジナルテスト刺激、バイアス回路によってバイアスをかけないオリジナルテスト刺激、定数値0、または定数値1の4種類のテストデータが可能である。
例示的なプログラム可能セレクタ650を使用した例示的なテスト適用方法は、テスト刺激の制御データをプログラム可能コントローラにロードする工程と、オリジナルテスト刺激ソースからテスト刺激を提供する工程と、テスト刺激をスキャンチェーンにシフトする工程と、各スキャンシフトサイクルで、プログラム可能コントローラを用いてテスト刺激セレクタを通過するソースを判定する工程と、キャプチャクロックを適用する工程と、スキャンチェーンからテスト応答をアンロードする工程とを含む。スキャンシフト中に起こるスイッチング動作は、スキャンチェーンのロード中に連続するスキャンセルで発生するトグル発生の量を減らすことによって減少できる。このような減少は、次の動作のうちのいずれか1つまたは複数の動作を行うことによって達成できる。すなわち、定数0または1を1群のスキャンチェーンにロードすること、定数0または1を1つのスキャンチェーンの1つまたは複数のセグメントにロードすること、またはスキャンチェーンをオリジナルテスト刺激ソースで駆動するときに、連続するスキャンセル内で同じ論理値を受信する確率を高めるために重み付け回路を採用することである。
一つの例示的な形態のプログラム可能コントローラは、スキャンシフト操作中にテスト刺激ソースを選択する柔軟性を高めながら、ハードウェアのオーバーヘッド(諸経費)と各テストパターンの追加のテストデータ量とを減少させる。
図40は、たとえば、プログラム可能テスト刺激セレクタを用いてテストパターン値を選択的に変更する一つの例示的な方法のフローチャートである。4010で、集積回路をテストするためのオリジナルテストパターン値をm個のパスで受信する。オリジナルテストパターン値は、たとえば、デコンプレッサから受信できる。4012で、nがmより小さいとき、m個のパスのうちの少なくともn個のパスのテストパターン値を選択的に変更して、n個のパスのテストパターン値が連続する少なくとも2つの定数値になるようにする。4014で、テストパターン値をm個のスキャンチェーン入力パスに出力する。これらのテストパターン値は、m個のスキャンチェーン入力パスのうちのn個で連続する少なくとも2つの定数値を含む。ある実施態様では、m個の入力パスのうちのどれを変更するかを示す制御データを受信する。制御データは複数の追加テストパターンに再利用できる。出力されたテストパターン値は、集積回路内の1つまたは複数の故障を対象とするオリジナルテストパターンのすべての指定ビットを含むことができる。さらに、ある実施態様では、連続する少なくとも2つの定数値を生成するよう構成されている論理ゲートに制御信号を適用したことに応答して、4012でテストパターン値を変更できる。
1.例示的なテスト刺激セレクタ
例示的なテスト刺激セレクタは、同じ機能性または異なる機能性をもつ1群のセレクタを含むことができる。図7は、図6のプログラム可能テスト刺激セレクタ650として使用してもよく、かつそれぞれ1つまたは複数のスキャンチェーンに連結されている複数のセレクタを含むプログラム可能テスト刺激セレクタ750の模式的なブロック図である。たとえば、図7に示すように、セレクタは1つの所定のスキャンチェーンを駆動でき(図示されるセレクタ754がスキャンチェーン120Nを駆動するなど)、または2つ以上のスキャンチェーンの群を駆動することができる(図示するセレクタ752がスキャンチェーン120a,120bを駆動するなど)。
セレクタの例示的な形態を図8の模式的なブロック図に示しており、このセレクタは2つ以上の入力と1つの出力とを有する。図示するセレクタ800は、たとえば、図7に示すセレクタ752,754のうちの1つとして使用できる。セレクタの入力はそれぞれ、複数のテスト刺激ソース810のなかから選択されたテスト刺激ソースによって駆動される。図8では、テスト刺激ソースは任意の数のテスト刺激ソースを含むことができ、テスト刺激ソース810aからテスト刺激ソース810Nで表されている。この例のセレクタ800への他の入力部をプログラム可能コントローラ860に連結し、テストソース810a〜810Nのうちのどれをセレクタ800の出力に渡すかを制御するために使用する。
利用できるテストソースの種類に応じて、セレクタの実施態様はそのエリアのオーバーヘッドを減少させるように最適化できる。たとえば、図8では、マルチプレクサ802を使用してセレクタ800を実行する。
テスト刺激選択回路に使用してもよい他の例示的な形態のセレクタを図9(a)〜図9(c)に示す。具体的には、図9(a)〜図9(c)は3つの例示的なセレクタ900,902,904を示す。セレクタ900はオリジナルの刺激ソース910に連結されて、ANDゲート930およびORゲート940を使用して、オリジナルの刺激ソース910、論理0または論理1から出力されるいずれかの値を生成するようにプログラム可能コントローラ920によって制御される。セレクタ902はオリジナルの刺激ソース910に連結されて、ORゲート942を使用してオリジナルの刺激ソース910または論理1から出力されるいずれかの値を生成するようにプログラム可能コントローラ922によって制御される。セレクタ904は、オリジナルの刺激ソース910に連結されて、ANDゲート952を使用してオリジナルの刺激ソース910または論理0から出力されるいずれかの値を生成するようにプログラム可能コントローラ924によって制御される。
図9(a)〜図9(c)の実施形態を使用してスキャンチェーン入力にロードする値の選択に使用できるエンコードパターンを表2に記載する。
Figure 2010518405
2.例示的なプログラム可能コントローラ
図6に示す例示的なアーキテクチャのプログラム可能コントローラ660は、たとえば、外部テスタ、組込みテスト生成器、または組込みROMから制御データを受信できる。一般に、コントローラ660は各スキャンシフトサイクル中にテスト刺激ソースを選択する信号の提供を担う。一つの例示的な実施形態によると、プログラム可能コントローラは次の2つの特性を示すことが望ましい。すなわち、利用できるセレクタ回路をそれぞれ独立して制御することと、テスト刺激ソースをサイクル毎に選択することである。他の実施形態では、プログラム可能コントローラはスキャンチェーン・セグメント毎、またはテストパターン毎にテスト刺激ソースを選択するよう構成されている。
プログラム可能コントローラ660の例示的な実施態様を、図10に模式的なブロック図で示す。図示するコントローラ1000は、シフトレジスタファイル1010と、XORネットワーク1020と、オプションのバイアス回路1030とを含む。シフトレジスタファイル1010(2以上のシフトレジスタの構成を表している)は圧縮制御データを記憶する。圧縮制御データは、たとえば、外部テスタ、組込みテスト生成器、または組込みROMなどのソースから渡すことができる。そのデータは、XORネットワーク1020によって解凍され、テスト刺激セレクタを駆動する前にバイアス回路1030を通過する。
図11はシフトレジスタファイル1010の例示的な実施態様1100を示す。図示されるシフトレジスタファイル1100はN個のシフトレジスタ(この例では1110a〜1110Nの記号を付している)を含み、クロックRegister_Shift_Clock信号1120を採用して制御データをその状態素子(例、シフトレジスタのフリップフロップ)の各々にシフトする。図示していないが、レジスタファイル1100のレジスタは互いに連鎖状に連結することもできるので、シフトクロックに応答して制御を順次レジスタファイルにシフトできる。あるいは、レジスタファイルの各レジスタはその専用入力からデータをロードできる。図示する実施形態では、各レジスタファイルは、スキャンシフト操作中にスキャンチェーン・セグメント毎に異なるテスト刺激ソースを選択する制御データを含む。
図11に示すように、N個のシフトレジスタはN段のレジスタ・パイプラインを形成できる。パイプライン・クロック信号(Pipeline_Shift_Clock)1130はパイプライン・シフトクロック生成器1132によって生成される。この実施態様では、スキャンシフト操作中に最大N回までテストパターンを動的に変更させることが可能である。いくつかの実施態様では、1回のスキャンシフト操作にわたって各スキャンチェーンのテストソースを固定する。当該実施態様では、パイプライン・シフトクロック生成器を含む必要がないため、使用するシフトレジスタを1つだけにすることが可能である。
図11の生成器1132に使用してもよいパイプライン・シフトクロック生成器の一つの例示的な実施態様1200を図12に示す。図示する例示的な形態の回路1200は、Shift_Clock信号線1212に連結されているカウンタ1210を含む。カウンタ1210はクロック・イネーブル回路1230に連結されている出力部を有する。クロック・イネーブル回路1230はkサイクル毎に1(または他の適切な値)を出力してパイプライン・レジスタファイルをシフトする。図示する形態のクロックゲーティング論理1240はグリッチフリー設計であり、ラッチ1242とANDゲート1244とを含む、またはラッチ1242とANDゲート1244とからなる。Shift_Clock信号線1212は外部テスタから直接制御できる。このような場合、パイプライン・シフトクロック生成器に関連するハードウェアのオーバーヘッドはない。ある場合には、Shift_Clock信号はRegister_Shift_Clock信号であってもよい。
テスト適用時間を短縮するために、また図13に示すように、シフトレジスタファイル1300はシャドウレジスタファイル1310とともに実装できる。たとえば、テストパターンtの制御データは、テストパターンti−1をシャドウレジスタファイル1310を介してスキャンチェーンにロードするのと並列して、シフトレジスタファイル1300にシフトできる。テストパターンtをロードする前に、Update_Clock信号1322(Copy_Clock信号ともいう)を有効にすることによって、1クロック期間内に制御データをシフトレジスタファイル1300からシャドウレジスタファイル1310に移動できる。次に、シャドウレジスタファイル1310の制御データを使って、テストパターンtをロードしながらテスト刺激ソースを選択できる。
図13に示すアーキテクチャはN個のシフトレジスタおよびN個のシャドウレジスタを使って、スキャンシフト中に制御データのN回の変更をサポートする。エリアのオーバーヘッドを減少させるために、図13に示すレジスタを1つのシフトレジスタおよび1つのシャドウレジスタに置き換えることができる。
この実施例でスキャンセル中に制御データをN回変更するように制御手順を実施できる。適した制御手順の一実施例を以下に説明する。この実施例のために、Sをi番目のスキャン・セグメントにロードされるスキャンセル数とする。ここで、i∈[1,N]で、
Figure 2010518405
はスキャンチェーンの長さに等しい。さらに、スキャン・セグメントSをスキャン出力ピンに最も近いセグメントとし、スキャン・セグメントSをスキャン入力ピンに最も近いセグメントとする。最後にLをシフトレジスタの長さとする。この例示的な制御手順を表3の擬似コードに記載する。
Figure 2010518405
例示的な手順の方法動作は、実施態様に応じて単独でも、または互いの様々な組み合わせおよびサブコンビネーションで実施できることに留意されたい。
図10に図示する例示的なコントローラ1000のXORネットワーク1020は、N個の入力、およびM個の出力の線形マッピング回路として設計でき、ここでNおよびMは、それぞれ制御ビット数およびバイアス回路の入力数である。すなわち、ブロックの各出力は、b項多項式によって恒等式が提供されるある制御ビットをXOR演算することによって得ることができる。XORネットワーク1020は、高いエンコード効率が得られるように(例、制御ビット数に対する、エンコードに成功した予め指定された出力信号の比が100%に近い)構成できる。また、XORネットワークは他の種類の論理ゲート(例、XNORゲートまたはその他同様な線形論理ゲート)を用いて実施できることは理解されたい。
バイアス回路(図10のバイアス回路1030など)を採用して、XORネットワーク1020のいずれか1つまたは複数の各出力でバイナリ数の0または1を生成する確率を高めることができる。バイアス回路のどの入力も0と1とが実質的に五分五分で見られると仮定すると、たとえば、2入力AND(OR)ゲートによって実施されるバイアス回路は、0(1)の値を有する確率が75%に高まる一方、1(0)の値を有する確率が25%に減る。
例示的なバイアス回路の2つの実施態様1400,1450を図14(a)および図14(b)にそれぞれ示す。図14(a)の例示的なバイアス回路1400は、3つのテスト刺激ソースを提供するよう構成されている。たとえば、図示するバイアス回路1400の場合、オリジナルテスト刺激ソース1410を選択する確率、定数0を選択する確率または定数1を選択する確率は、それぞれ12.5%,37.5%,50%である。図14(b)の例示的なバイアス回路1450は2つのテスト刺激ソースを提供するよう構成されている。たとえば、図示するバイアス回路1450の場合、オリジナルテスト刺激ソース1410を選択する確率、または定数0を選択する確率は、それぞれ25%,75%である。デコンプレッサで駆動するスキャンチェーンの割合は、図14(a)の方式で、XORネットワークの出力側のANDゲートにより多くの入力を追加することによって変更できる。たとえば、3入力ANDゲートを追加すると、このパーセンテージは6.25%まで下がるが、それに応じて定数0を受け取るスキャンチェーンの割合は増える。
異なる論理ゲートの組み合わせを用いて、また考えうる様々なテスト刺激ソースを選択する所望の確率に応じて、多種多様なバイアス回路を生成できることは理解されるである。そのような変型態様は当業者には理解されるため、ここでは詳細に記載する必要はないであろう。
オリジナルテスト刺激ソースがデコンプレッサの場合、デコンプレッサが駆動できる実際のスキャンチェーンの数は、プログラム可能コントローラのエンコード能力に依存するであろう。エンコードプロセスは1組の線形方程式を解くのに等しいため(たとえば、上記特許文献1を参照)、XORネットワーク1020の出力信号を予め指定した値に設定するには、平均して、1つの制御ビット(例、1つの変数)を必要とする。そのため、図14(a)に図示するバイアス回路1400の場合、指定ビットを有する関連するスキャンチェーンを駆動するには、典型的には3つの方程式(各ゲーティング信号につき1つ)を解く必要がある。しかし、スキャンチェーンが1つだけの値の指定ビットを含む場合、スキャンチェーンは一致する定数値で駆動できる。このような場合、通常、3つより少ない方程式(例、わずか1つの方程式)で制御ビットをエンコードすることが可能である。たとえば、所要の定数が1に等しい場合、ORゲート1422を駆動するゲーティング信号を表し、かつ0に設定されている(インバータ1420が0を1にさせるため、それによってORゲート1422に1だけを出力させる)XORネットワーク1020の方程式を使うだけでよい。すべての指定ビットが0の場合、ORゲート1422を駆動する信号は1に設定できる。ANDゲート1424もその入力に0をもつはずであるため、これはスキャンチェーンに定数0を強制するものではない。しかし、エンコード能力を維持するために、別の方程式を使用しない選択ができる。この状況では、2つのシナリオが考えられる。つまり、ANDゲート1424を駆動する信号を0に設定してスキャンチェーンが定数0を受信するか、またはデコンプレッサがスキャンチェーンに、指定された0と一致するテストデータを与えるかである。
スキャンインシフト中にバイアス回路がスイッチング動作を減らす能力を高めるために、バイアス回路(図10に示すバイアス回路1030など)を再構成可能なデバイスとして設計できる。再構成可能なバイアス回路1500の一つの例示的な形態を図15に示す。この実施例は、テスト刺激ソースを選択する確率の異なる複数のバイアス回路1510a〜1510Nを含む、またはそれらの複数のバイアス回路1510a〜1510Nからなる。プログラム可能コントローラ1520を使用してバイアス回路1510a〜1510Nのうちの1つを選択できる。たとえば、外部テスタ、内部テスト生成器、または組込みROMを使用して、制御データをプログラム可能コントローラ1520にロードできる。実施態様に応じて、図15の再構成可能バイアス回路1500は次の2つのモードで使用できる。つまり、(1)スキャンシフト期間にわたり、選択したバイアス回路1510a〜1510Nを変化させないで維持できる、または(2)スキャンシフト中に異なるスキャンチェーン・セグメントに対して様々なバイアス回路1510a〜1510Nを選択できる。プログラム可能コントローラ1520のアーキテクチャは前述した他のプログラム可能コントローラのアーキテクチャと同じにして、テスト刺激セレクタ652を制御するために使用できる。
別の形態の再構成可能バイアス回路1600を図16に示す。この特定の実施態様では、シャドウデータフリップフロップ1610(DFF)にロードする制御データが1に等しいとすると、オリジナルのテスト刺激または定数0を選択する確率は50%である。他方で、シャドウDFF1610にロードする制御データを0に設定すると、オリジナルのテスト刺激ソースまたは定数0を選択する確率は、それぞれ25%または75%である。
B.プログラム可能コントローラを有するアーキテクチャの場合の低消費電力テスト生成
自動テストパターン生成(「ATPG」)中、テスト生成手順はプログラム可能コントローラの存在を考慮する(例、プログラム可能コントローラのエリア制限を考慮する)ように適用できる。図17は、ATPG手順を採用できる一つの例示的なアーキテクチャ1700を示す模式的なブロック図である。図17の実施例の目的上、テスト刺激セレクタをデコンプレッサ1710(例、EDTデコンプレッサ)として実装していると想定する。図示する実施形態では、デコンプレッサ1710および定数0の2種類のテスト刺激ソースがある。この実施例では、定数0はコントローラ1720によって出され、コントローラ1720はANDゲートのバイアス回路1730と、XORネットワーク1740と、シャドウレジスタ1750と、シフトレジスタ1760とを含む。スキャンチェーンを駆動するこの種のテスト刺激ソースは、スキャンロード操作中変化させないでおくことができる。たとえば、XORネットワーク1740は、シャドウレジスタ1750にオール1パターンをロードすると、スキャンチェーンのすべてがデコンプレッサ1710によって駆動されるように設計できる。
図17に示すアーキテクチャでテストパターンを生成する例示的な手順を以下の擬似コードに記載する。この手順は他の解凍ハードウェアおよび/または他のプログラム可能テストセレクタを備える他のアーキテクチャにも容易に適用できることに留意されたい。
Figure 2010518405
Figure 2010518405
例示的な手順の方法動作は、実施態様に応じて単独でも、または互いの様々な組み合わせおよびサブコンビネーションでも実施できることに留意されたい。
表4(表4−1および表4−2)に記載する例示的な手順は、指定ビットをもつすべてのスキャンチェーンをデコンプレッサで駆動できるようにテストセレクタ1740のための制御データを生成できるか否かを検証する追加検査を提供する手順を(たとえば、動作4(g)(v)の前に)含む。テストキューブCに関して制御データが生成できない場合、それを放棄して、オリジナルのテストキューブを変更しないでおくことができる。また、スキャンチェーンの唯一の指定ビットが0の場合、この実施例では、Sにこのチェーンを算入する必要はない。
図44は、開示する技術によるテストパターン生成の別の例示的な実施形態のフローチャートである。4410で、オリジナルのテスト刺激ソースによって駆動されるべきスキャンチェーンの数を判定する。この数は典型的には回路設計で利用できるスキャンチェーンの数より少ない。ある実施態様では、オリジナルのテスト刺激ソースは、外部テスタが提供する圧縮テストパターンを解凍するよう構成されているデコンプレッサである。いくつかの実施態様では、テスト刺激セレクタのコントローラのエンコード能力を使用して、オリジナルのテスト刺激ソースによって駆動されるべきスキャンチェーンの数を判定する。たとえば、オリジナルのテスト刺激ソースによって駆動されるべきスキャンチェーンの数は、テスト刺激セレクタが個別に制御できるスキャンチェーンの最大数に基づくことができる。4412では、対象故障リストから1つの故障を選択する。4414で、選択した故障のためのテストキューブを生成する。テストキューブは多数の指定スキャンチェーンに指定ビットを含む。4416で、テストキューブ内の指定スキャンチェーンの数が、オリジナルのテスト刺激ソースによって駆動されるべきスキャンチェーンの数より少ないか否かの判定を行う。テストキューブ内の指定スキャンチェーンの数がオリジナルのテスト刺激ソースによって駆動されるべきスキャンチェーンの数を超えない場合、4418でそのテストキューブを記憶して、故障リストからさらに別の故障を選択する。そうでない場合、4424でそのテストキューブは拒絶されて、リストに他にまだ故障があれば(4432で判定する)、対象故障リストからの次の故障に関して方法を続ける。4420で、第1故障のためのテストキューブを、第2故障を検出するための1つまたは複数の追加の指定ビットを含むよう拡張する。4422で、1つまたは複数の追加の指定ビットにより、拡張したテストキューブ内の指定スキャンチェーンの数がオリジナルのテスト刺激ソースによって駆動されるべきスキャンチェーンの数を超えるか否かの判定を行う。拡張したテストキューブ内の指定スキャンチェーンの数がオリジナルのテスト刺激ソースによって駆動されるべきスキャンチェーンの数を超えない場合、その拡張したテストキューブを記憶でき、さらに別の故障があれば(4428で判定する)、追加の故障を選択して、追加の故障を含むようにテストキューブを拡張するプロセスを繰り返す。拡張したテストキューブ内の指定スキャンチェーンの数がオリジナルのテスト刺激ソースによって駆動されるべきスキャンチェーンの数を超える場合、4426で拡張したテストキューブは拒絶されて、もしあれば、対象故障リストから次の故障について、選択、拡張、判定および記憶する動作を繰り返す。いくつかの実施態様では、テスト刺激セレクタの制御信号は記憶したテストキューブに基づいて生成できる。これらの制御信号は、テスト中にテストキューブを有するテストパターンをロードするとき、テスト刺激セレクタに定数値を未指定スキャンチェーンに適用させることが可能である。
C.制御データ容量の削減
テストパターンを生成する際、複数のテストパターンに関して制御データをプログラム可能コントローラに一度にロードできるように、同じ制御データを共有する異なるテストパターンを作成することが可能である。このような場合、たとえば、外部テスタには唯一の制御データだけを記憶できる。異なるテストパターンを共有する制御データを最大化するために、表4の例示的な擬似コードに記載されている動作4(h)は、現在の要件を満たし、かつ2以上のテストパターンで使用される制御データを優先するよう改良できる。
スキャンチェーンにロードし、定数テスト刺激ソースによって与えられる異なる定数論理値を選択することは、キャプチャ段階中のスイッチング動作に対し異なる影響をもちかねない。好適な充填アプローチ(その実施形態は上記特許文献7に記述されており、これは引用により本明細書に組み込む)を、開示する技術の実施形態と合わせて使用できる。当該アプローチはキャプチャ中のスイッチング動作を減少させるテストパターン生成中の充填値の判定に役立つ信号確率を使用する。これらの方策を、開示する技術と合わせて使用して、たとえば、優先値0をもつスキャンチェーンの数が優先値1をもつスキャンセルの数以上であるときは必ず定数0が選ばれるように、定数テスト刺激ソースを選択できる。「スキャンセルの数」という用語は、ここでは同じテストソースを有するすべてのスキャンチェーン、同じテストソースを共有するスキャンチェーンの1群、またはそれ自身のテストソースによって駆動される個々のスキャンチェーンのいずれかをいうことに留意されたい。
IV.スキャン・イネーブラーによる低消費電力キャプチャおよびスキャンシフト操作
スイッチング動作は、テストのスキャンシフト段階中に定数論理値を1群のスキャンチェーンにシフトすることによって減少できる。スキャンシフト中のスイッチング動作は、テスト中に捕獲されるテスト応答値によっても判定されて、新たなテストパターンがシフトインされるとシフトアウトする。
キャプチャ・ウィンドウ中に、定数値をロードされるスキャンチェーンがスキャンシフトモードに保持されると、スキャンインシフト電力およびスキャンアウトシフト電力の両方を減少できる。これは、スキャンシフトモードに保持されるスキャンセルに捕獲される値はロードする値と同じになるということによる。このため、値は、キャプチャ・ウィンドウ中およびテスト応答のアンドーディング中に下流のゲートにトグル発生を起こす遷移を生じない。スキャンモードがイネーブルにされているときの速度でスキャンチェーンが動作するよう設計されていない場合であっても、キャプチャ・ウィンドウ中にシフトモードで動作するスキャンセルの論理値は、スキャンセルのデータ入力値が変わらないため、通常その時間枠中に未知の値にならない。
A.プログラム可能スキャン・イネーブラーの例示的なアーキテクチャ
プログラム可能スキャン・イネーブラーを有する例示的なテスティング・アーキテクチャ1800を図18に示す。具体的には、図18は、Global_Scan_Enable信号線1812とスキャンチェーンのスキャン・イネーブル入力部1814との間にプログラム可能スキャン・イネーブラー1810が挿入されている状態を示す。スキャン・イネーブラー1810は、たとえば、スキャン・イネーブル回路1820とプログラム可能コントローラ1830との2つのコンポーネントを含む、または当該2つのコンポーネントからなることができる。
プログラム可能スキャン・イネーブラー1810を採用する例示的なテスト適用手順は、テストパターンtの制御データをプログラム可能テスト刺激セレクタおよびプログラム可能スキャン・イネーブラーにロードする工程と、Global_Scan_Enable信号をアサート(assert)して、回路をシフトモードに切り換える工程と、テスト刺激tをスキャンチェーンにシフトする工程と、Global_Scan_Enable信号をディアサート(de-assert)して、回路をキャプチャモードに切り換えるステップと、スキャン・イネーブル信号を1つまたは複数の選択されたスキャンチェーンに選択的にアサートする工程と、キャプチャ・クロックを適用する工程と、Global_Scan_Enable信号をアサートして、回路をシフトモードに切り換えて、スキャンチェーンからのテスト応答をアンロードする工程とを含む。
図41は、テスト中にスキャン・イネーブル信号を回路に適用するための例示的な実施形態を示すフローチャートである。4110で、デコンプレッサから解凍されたテストパターンがスキャンチェーンにロードされるときに、スキャン・イネーブル信号を被テスト回路のスキャンチェーンに適用する。スキャン・イネーブル信号はスキャンチェーンを1つまたは複数のシフトレジスタとして動作させる。4412で、解凍されたテストパターンに対するテスト応答がスキャン・イネーブル信号を適用していないスキャンチェーンの残部で捕獲されるとき、スキャン・イネーブル信号を1つまたは複数のスキャンチェーンに適用する。いくつかの実施態様では、スキャン・イネーブル信号を適用するスキャンチェーンのうちの1つまたは複数個は、適用しなければ未知の値を捕獲していたはずの1つまたは複数のスキャンチェーンを含む。解凍されたテストパターンに対するテスト応答が捕獲されるとき、どのスキャンチェーンにスキャン・イネーブル信号を適用するかを制御する制御信号も受信できる。これらの制御信号は、解凍される複数の追加テストパターンがスキャンチェーンにロードされるとき再利用できる。さらにテストパターンがスキャンチェーンにロードされているときに、次のテストパターンの制御信号をロードできる。
B.例示的なスキャン・イネーブル回路
図18のスキャン・イネーブル回路1820は多様な方法で実施できる。一つの例示的なスキャン・イネーブル回路1900を図19に示す。具体的には、スキャン・イネーブル回路1900は複数のスキャン・イネーブラーを含む(図19ではそのうちの2つに1910,1912の番号を付している)。図19に示すように、スキャン・イネーブラーは、(スキャン・イネーブラー1912の場合のように)単一のスキャンチェーンのスキャン・イネーブル入力部、または(スキャン・イネーブラー1910の場合のように)2つ以上のスキャンチェーンのスキャン・イネーブル入力部のいずれかを駆動できる。例示的なスキャン・イネーブラーの機能は、信号がディアサートされるときに、スキャン・イネーブラーが1つまたは複数のスキャンチェーンに出力する個々のスキャン・イネーブル信号をプログラム可能コントローラ1930によって制御するようにGlobal_Scan_Enable信号を処理することである。スキャン・イネーブラーの一形態(1910など)の実施態様を図20のスキャン・イネーブラー2000として示す。
C.スキャン・イネーブル・プログラム可能コントローラ
スキャン・イネーブル・プログラム可能コントローラ(例、図18に図示するプログラム可能コントローラ1830)のアーキテクチャは、前述したテスト刺激ソースを選択するためのコントローラと同じとすることができる。プログラム可能スキャン・イネーブラー・コントローラに加えてテスト刺激選択のために独立したプログラム可能コントローラを使用すると、定数値がロードされる1群のスキャンチェーンのスキャン・イネーブル信号を柔軟に制御できる。しかし、テスト刺激選択のためにプログラム可能コントローラおよびプログラム可能スキャン・イネーブル・コントローラの両方を使用すると、テストデータの容量が増大し、面積オーバーヘッドが増加しかねない。そのため、ある実施形態では、プログラム可能テスト刺激セレクタおよびプログラム可能スキャン・イネーブラーはプログラム可能コントローラを共有する。
共有コントローラを有する例示的なアーキテクチャを図21に示す。具体的には、図21は、共有コントローラ2110を使用して、テスト刺激セレクタ2120およびスキャン・イネーブル回路2130の両方を制御するアーキテクチャ2100を示す。コントローラ2110は上記紹介したコントローラ設計のいずれを採用しても実施できる。
プログラム可能スキャン・イネーブラーを備えたスキャンベースのアーキテクチャのテスト生成手順は、前述したテスト生成手順と同様にできる。例証のために、図22に示す例示的なスキャン・アーキテクチャについて、例示的なテスト生成手順を説明する。関連ある部分では、図22の例示的なアーキテクチャ2200は1つのプログラム可能コントローラ2210を含み、それをテスト刺激セレクタ2222およびスキャン・イネーブラー2224を制御するために使用する。本明細書で説明する例示的な手順は、プログラム可能テスト刺激セレクタおよびプログラム可能スキャン・イネーブラーの両方を有する他のスキャン・アーキテクチャにも適用できる。
図22には、デコンプレッサ2220と定数0のソース(テスト刺激セレクタ2222のANDゲートにより実施される)との2種類のテスト刺激ソースが図示されている。この実施例のスキャンチェーンに与えられるテスト刺激の種類は、スキャンロードプロセス中変化しない。また、図示する実施形態では、スキャンチェーンが定数0で駆動されるとき、チェーンのScan_Enable信号がアサートされる。Scan_Enable信号はテストのスキャンシフト段階中だけでなく、キャプチャ段階中にも適用できるので、スキャンチェーンには定数0がロードされたままになる。XORネットワーク2230は、シャドウレジスタ2240を制御するときにデコンプレッサ2220によって駆動されるすべてのスキャンチェーンにオール1パターンがロードされるように設計できる。
表5(表5−1および表5−2)には、テスト刺激セレクタおよびスキャン・イネーブラーの両方を含むテスト・アーキテクチャを使用してテストパターンを生成するある特定の手順を記述する例示的な擬似コードを記載する。
Figure 2010518405
Figure 2010518405
例示的な手順の方法動作は、実施態様に応じて単独でも、または互いの様々な組み合わせおよびサブコンビネーションでも実施できることに留意されたい。
表5に記載する例示的な手順は、指定ビットを有するすべてのスキャンチェーンがデコンプレッサによって駆動できるようにテストセレクタの制御データを生成できるか否かを検証するために採用される手順を(例、動作4(g)(vi)の前に)含む。テストキューブCについて制御データが生成できない場合、それを放棄して、オリジナルのテストキューブを変更しないでおくことができる。また、スキャンチェーンにおける唯一の指定ビットが0で、かつスキャンチェーンが故障影響の観測に使用されない場合、この実施例ではSにこのチェーンを算入する必要はない。
さらに、表5に概説する例示的な手順は、テスト刺激セレクタおよびスキャン・イネーブル回路の両方を有するアーキテクチャにおける制御信号の生成に関わるが、スキャン・イネーブル回路だけを有するアーキテクチャについては手順を変更できる。たとえば、変数Sは、故障影響を観測するために使用するスキャンチェーン数のみを表すように設定でき、動作4(g)(v)で行われる評価は、拡張されたテストキューブ内の故障を観測するために使用するビット数に基づくことができる。
図45は、スキャン・イネーブル回路を有するアーキテクチャにおいてテストパターンを生成するための例示的なテストパターン生成手順を示すフローチャートである。4510で、故障影響を観測するのに使用可能なスキャンチェーンの数を判定する。この数は典型的には回路設計において利用できるスキャンチェーンの数より少ない。ある実施態様では、スキャン・イネーブル回路のコントローラのエンコード能力を使用して、故障影響を観測するために使用可能なスキャンチェーンの数を判定する。(この例示的なテストパターン生成手順を以下に説明するある実施形態に関連して使用する場合、使用可能なスキャンチェーンの数はクロック・イネーブル回路のコントローラ、リセット・イネーブル回路のコントローラ、またはシフトクロック・イネーブル回路のコントローラのエンコード能力から判定できる)。4512で、対象故障リストからある故障を選択する。4514で、選択した故障のテストキューブを生成して、テストキューブから故障影響の観測に使用するスキャンチェーン数を判定する(例、故障シミュレーションを使用して)。4516で、テストキューブから故障影響の観測に使用されるスキャンチェーン数が、故障影響の観測に使用可能なスキャンチェーン数より少ないか否かの評価を行う。テストキューブから故障影響の観測に使用されるスキャンチェーン数が故障影響の観測に使用可能なスキャンチェーン数よりも少ない場合、4518で、そのテストキューブを記憶して、故障リストから別の故障を選択する。テストキューブから故障影響の観測に使用されるスキャンチェーン数が故障影響の観測に使用可能なスキャンチェーン数を超える場合、4524で、そのテストキューブは拒絶され、故障リストにさらに別の故障があれば(4532で判定して)プロセスを繰り返す。4518で、第1故障のテストキューブを、第2故障を検出するための1つまたは複数の追加の指定ビットを含むように拡張する。4522で、1つまたは複数の追加の指定ビットにより、拡張されたテストキューブから故障影響の観測に使用されるスキャンチェーン数が故障影響の観測に使用可能なスキャンチェーン数を超えるか否かの判定を行う。テストキューブから故障影響の観測に使用されるスキャンチェーン数が、故障影響の観測に使用可能なスキャンチェーン数より少ない場合、その拡張されたテストキューブは記憶されて、故障リストにさらに別の故障があれば(4528で判定して)、追加の故障を選択して、可能ならテストキューブを拡張するプロセスを繰り返す。テストキューブから故障影響の観測に使用されるスキャンチェーン数が、故障影響の観測に使用可能なスキャンチェーン数を超える場合、4526で、その拡張されたテストキューブは拒絶されて、故障リストにさらに別の故障があれば(4528で判定して)、追加の故障を選択して、可能ならテストキューブを拡張するプロセスを繰り返す。スキャン・イネーブル回路の制御信号は、テストキューブに基づいて生成できる。これらの制御信号は、テスト中にテストキューブを有するテストパターンを適用したときに、スキャン・イネーブル回路に、テストキューブから故障影響が観測されないスキャンチェーンからのスキャン・イネーブル信号を抑制させることが可能である。
表5で示すように、テストパターン生成方法の実施形態は、スキャン・イネーブル回路およびプログラム可能テスト刺激ソースの両方を含むアーキテクチャにも採用できる。これらの場合、テストキューブまたは拡張されたテストキューブを受け入れできるか否かの判定は、テストキューブ内の指定チェーンの数がオリジナルのテスト刺激ソースによって駆動されるスキャンチェーン数よりも少ないか否かの判定も包含できる。オリジナルのテスト刺激ソースによって駆動されるべきスキャンチェーン数は、たとえば、スキャン・イネーブル回路によって独立して制御できるスキャンチェーンの最大数に基づくことができる。
D.未知状態の抑制
未知状態(「X状態」ともいう)がテストを無効なものにする可能性がある。X状態のソースには、未初期化メモリ素子、バス・コンテンション、非スキャン・フリップフロップ、フローティングバス、内部3状態ロジック、ならびに実動作速度テスト生成時のマルチサイクルおよび誤ったパスが含まれる。多くのスキャンベースの設計において、X状態は、スキャンセルでいったん捕獲されると、その後テスト応答コンパクタに注入されかねない。テスト応答コンパクタにおいて、X状態はテスト結果に著しい影響を及ぼしかねない。時間コンパクタを使用している場合、X状態によるテスト応答の破損の可能性が特に大きい。たとえば、時間コンパクタでは、X状態はフィードバックのファンアウトのために即座に増幅され、シグネチャを汚染し、シグネチャが読み出されるまでコンパクタにとどまる。これに対して、組合せコンパクタ(これは空間コンパクタの一形態である)はX状態に対し比較的影響を受けない。しかし、マスキングを避け、診断を可能にするには、当該コンパクタは各スキャンチェーンにつき2以上の出力を観測しなければならないことがある。有限メモリ・コンパクタは何度もスキャンシフトサイクルをした後でそのレジスタからX状態を一掃する。
コンパクタが予め指定された数のX状態に耐えるよう設計されていても、それでもX状態に対する脆弱性は無用なテスト応答を出しかねない。そのため、スキャンチェーン選択機構を介してコンパクタに導入されるX状態を制限するのが望ましい。そうでなければ、ATPGツールによって排除されないX状態の特定の組み合わせにより、特定のスキャンセルの可観測性を妨げ、全体的な故障カバレッジを低下させるおそれがある。
X状態がコンパクタに到達しないように、選択されたアンロード値をマスクする回路を使って、スキャンチェーンの選択的な観測を可能にするスキームがいくつかある。スキャンチェーン選択ロジックを提供し、適切なマスキング信号を生成するためにスキャンチェーンをランク付けする例示的なアプローチが、上記特許文献8、9および10、ならびに上記非特許文献1に記述されており、このすべてをここに引用により本明細書に組み込む。例示的なアプローチは、後でX状態を抑制するのに採用できるスキャンチェーン選択制御データを見つけるのに役立つ。簡潔にいうと、上記特許文献8、9および10、ならびに上記非特許文献1に記述されているある実施形態では、スキャンチェーンによって駆動される論理ゲートを使うことによってX状態をマスクし、圧縮制御データに基づいて適切なゲート信号をプログラム可能コントローラによって生ずる。その結果、開示するアプローチはテスト応答に発生するX状態を大幅に減少するかまたは完全に排除する。
開示する技術の実施形態は、効率的なスキャンチェーンの選択を行うために、上記特許文献8、9および10、ならびに上記非特許文献1に記述される技術と併用できる。ただし、開示する技術の実施形態を使用する場合、キャプチャ中に、選択されたスキャンチェーンをスキャンシフトモードに保持するよう構成されているスキャン・イネーブル回路によってその機能を代用できるため、スキャンチェーンの出力側に専用のゲーティング論理は必要ない。そのような機能性の実施例を、図23に示す例示的なアーキテクチャ2300を使って例証する。X状態をもつスキャンチェーンをゲーティングする代わりに、プログラム可能スキャン・イネーブラー2310を使用して、テストサイクルを通しスキャンチェーン120a〜120Nのいずれもシフトモードに維持できる。この技術は本質的にスキャンチェーン120a〜120nがX状態を捕獲(キャプチャ)し、それをコンパクタ2320にロードするのを防ぐ。
図23の具体的な実施例では、スキャンチェーンの約75%は所与のテストパターン適用中スキャンシフトモードにしておくことができ、回路の組合せ論理からテスト応答値を一切捕獲しない。スキャンチェーンの残りの25%は、対象とする故障の存在を示す値を含むテスト応答値を捕獲できる。図23のアプローチは、図22に関連して説明したソリューション(解決法)と容易に統合できる。その結果、並列消費電力を処理するために使用されるのと同じ制御回路を使用して、未知状態の存在を処理できる。
X状態の捕獲を防ぐスキャン・イネーブル回路の制御データを生成する例示的な技術は、被テスト回路に適用するテストパターンをシミュレートして、シミュレートしたテスト応答を生成する工程と、シミュレートしたテスト応答から未知状態を捕獲する被テスト回路の1つまたは複数のスキャンチェーンを特定する工程と、キャプチャ・ウィンドウ中に特定された1つまたは複数のスキャンチェーンのスキャン・イネーブル信号を抑制させる制御信号をスキャン・イネーブル回路に生成させる工程とを含む。生成された制御信号は、1つまたは複数のコンピュータ可読媒体に記憶し、その後テスト適用中にスキャン・イネーブル回路のプログラム可能コントローラにロードしてもよい。
V.クロック・イネーブラーによる低消費電力キャプチャおよびスキャンシフト操作
テスト生成中、あるスキャンチェーンが故障影響を観測しないと判定できる(例、被テスト回路へのテストパターンの適用をシミュレートすることによって)。キャプチャ・ウィンドウ中にそのようなスキャンチェーンに新たな値を捕獲すると、望ましくないスイッチング動作を生じかねない。キャプチャ・ウィンドウにおけるトグル発生を減少させるために、これらスキャンチェーンの各クロック(例、各クロックツリー)をディスエーブルにすることによって、キャプチャ・ウィンドウにおけるスイッチング動作を減少できる。関連するクロックは、スキャンチェーンの各スキャンセルに分配される専用のキャプチャクロックでも、またはシフト信号(例、第1周波数で)およびキャプチャ信号(例、第2周波数で)の両方を提供する単一のクロックツリーを介して分配される単一のクロックでもよい。後者の状況において、シフト信号およびキャプチャ信号はクロックツリーに連結されるクロック生成器によって生成できる。
A.例示的なプログラム可能クロック・イネーブラーのアーキテクチャ
図24は、プログラム可能クロック・イネーブラー2410を採用する例示的なスキャンベースのアーキテクチャ2400を示す模式的なブロック図である。具体的には、プログラム可能クロック・イネーブラー2410は、クロック(例、キャプチャクロック)とスキャンチェーン120a〜120Nを駆動するクロックツリーの間に挿入する。図24に示すように、例示的なプログラム可能クロック・イネーブラー2410は、クロック・イネーブル回路2420とプログラム可能コントローラ2430との2つのコンポーネントを含む、または当該2つのコンポーネントからなることができる。
アーキテクチャ2400を使用する例示的なテスト適用手順は、テストパターンtの制御データをプログラム可能コントローラ2430にロードする工程と、スキャンシフトを開始する前にGlobal_Clock_Enable信号2440をアサートする工程と、テスト刺激tをスキャンチェーンにシフトする工程と、スキャンシフト操作の終了時にGlobal_Clock_Enable信号2440をディアサートする工程と、選択されたスキャンチェーンにキャプチャ信号を適用する工程と、スキャンチェーンからテスト応答をアンロードする前に、Global_Clock_Enable信号2440をアサートする工程とを含む。
図42は、テスト中にクロック信号を適用して抑制する例示的な方法を示すフローチャートである。4210で、デコンプレッサから解凍されたテストパターンが被テスト回路のスキャンチェーンにロードされたら、クロック信号を被テスト回路のスキャンチェーンに適用する。4212で、キャプチャ・ウィンドウ中に、解凍されたテストパターンに対するテスト応答を捕獲したら、すべてではないが1つまたは複数のスキャンチェーンまたはスキャンチェーンのセグメントにおいてクロック信号を抑制する。クロック信号を抑制すると、すべてではないが1つまたは複数のスキャンチェーンまたはスキャンチェーンのセグメントをキャプチャ・ウィンドウ中に一定状態に保つ。すべてではないが1つまたは複数のスキャンチェーンまたはスキャンチェーンのセグメントは、そうでなければ未知の値を捕獲していたはずの1つまたは複数のスキャンチェーンまたはスキャンチェーンのセグメントを含むことができる。また、キャプチャ・ウィンドウ中にどのスキャンチェーンまたはスキャンチェーンのセグメントがクロック信号を抑制させるかを制御する制御信号を受信できる。制御信号は、解凍された複数の追加のテストパターンに対するテスト応答が捕獲されるとき再利用できる。
B.例示的なクロック・イネーブル回路
クロック・イネーブル回路2410は様々な方法で実施できる。図25は、クロック・イネーブル回路2510の一実施態様を示す。具体的には、クロック・イネーブル回路2510は、複数のクロック・イネーブラー(そのうちの2つが図25において2520,2522の番号が付けられている)を含む、または当該複数のクロック・イネーブラーからなることができる。図25に示す実施例では、クロック・イネーブラーは、(クロック・イネーブラー2522の場合のように)1つのスキャンチェーンまたは(クロック・イネーブラー2520の場合のように)2つ以上のスキャンチェーン群のいずれかのクロックツリーを駆動する。具体的には、クロック・イネーブラー2520はスキャンチェーン120a,120bを駆動するよう図25に示されているのに対し、クロック・イネーブラー2522はスキャンチェーン120Nを駆動するよう示されている。
クロック・イネーブラーの代替例示的な構成を2つ、図26(a)および図26(b)に示す。図26(a)では、複数のクロック・イネーブラー2610,2612が同じスキャンチェーン2620の異なるセグメントを駆動する。図26(b)では、同じクロック・イネーブラー2650が異なるスキャンチェーン2660,2662の複数のセグメントを駆動する。これらの実施例において、スキャンチェーンのセグメントを連続して接続する必要はないことに留意されたい。代わりに、スキャンチェーンのセグメントはスキャンチェーン内に任意の2以上のスキャンセルを含む。
図24に戻ると、ある実施形態では、クロック・イネーブラー2410は、Global_Clock_Enable信号2440がアサートされたときにオリジナルのクロックが適用されるように各状態素子のクロックを制御できる。キャプチャモードでは、Global_Clock_Enable信号がディアサートされると、スキャンチェーン内のスキャンセルをトリガするクロック2450は、プログラム可能コントローラ2430にロードされている制御データを使ってゲーティングできる。
クロック・イネーブラーの例示的なグリッチフリーの例示的な実施態様2700を図27に示す。グリッチが問題ではない場合、図27に示すラッチ2710を取り外すことができ、ORゲート2720の出力をANDゲート2730の入力に直接接続できる。
面積オーバーヘッドを減少させるために、クロック・イネーブル回路(例、クロック・イネーブル回路2420)は、適用可能であれば、既存のクロック・ゲーティング論理と共有できる。オリジナルのクロック・ゲーティング論理2800の実施例を図28(a)に示す。具体的には、図28(a)では、Scan_Enable信号2810はグローバルクロック・イネーブル信号として機能する。たとえば、Scan_Enable信号が1の場合、この設計におけるすべてのクロックゲート(例、ゲート2830)は機能コントローラからの信号2820を無視することによってイネーブルされる。
既存のクロック・ゲーティング論理2800の例示的な変型例を図28(b)に示す。図28(b)に示す特定の変型例において、ANDゲート2852をORゲート2860と機能コントローラからの信号パス2870との間に挿入する。Scan_Enable信号2880が0の場合、この実施例では、プログラム可能クロック・イネーブラー2890からの信号が機能クロック制御信号2870をイネーブル/ディスエーブルする。
プログラム可能クロック・イネーブラーのコントローラ2430は、上記紹介したコントローラ設計のいずれを使用しても実施できる。また、キャプチャ・ウィンドウ中にディスエーブルされることになるスキャンチェーン群がすべてのキャプチャサイクルの間同じであるとき、コントローラはシフトレジスタを1つだけ使用して実施できる。キャプチャ・ウィンドウ中にディスエーブルされるべきスキャンチェーン群を異なるキャプチャサイクルで動的に変更させるには、パイプライン化した2以上のシフトレジスタを含むシフトレジスタファイル(図11のシフトレジスタファイルなど)を使用できる。
C.スキャンシフト中およびキャプチャ中両方のスイッチング動作の減少
スキャンシフト段階およびキャプチャ段階の両方の間のスイッチング動作を減少させるには、プログラム可能クロック・イネーブラーの実施形態を、上記紹介したプログラム可能テスト刺激セレクタの実施形態と組み合わせて使用できる。プログラム可能クロック・イネーブラーおよびプログラム可能テスト刺激セレクタの両方を有する例示的なスキャン・アーキテクチャ2900を図29に示す。定数テスト刺激をロードされたスキャンチェーンをディスエーブルにして、それらのスキャンチェーンからのテスト応答をアンロードするときに遷移が起こらないように、新たなデータをキャプチャする場合、スイッチング動作の最も効率的な削減が観測される。
面積オーバーヘッドを最小化するために、プログラム可能クロック・イネーブラーのプログラム可能コントローラを、プログラム可能テスト刺激セレクタと共有できる。図30はこのような共有プログラム可能コントローラを備えた実施態様3000を示す。
D.テストパターン生成
プログラム可能クロック・イネーブラーを使用するスキャンベースのアーキテクチャに関するテストパターン生成手順は、前述したテストパターン生成手順と同様とすることができる。たとえば、スキャン・アーキテクチャが、図30に示すようなものであると想定する。図30では、デコンプレッサ3010と定数0を生成するソース(プログラム可能コントローラ3030と組み合わせてゲート3020で生成する)との2種類のテストソースがある。この実施例において、スキャンチェーンに与えられるテスト刺激の種類はスキャンシフト中変更されない。図示するアーキテクチャの場合、スキャンチェーンが定数0で駆動される場合、スキャンチェーンを駆動するクロックはキャプチャ中ディスエーブルにされる。この実施例では、XORネットワーク3040は、シャドウレジスタ3050の制御データにオール1パターンがロードされるとき、デコンプレッサ3010がすべてのスキャンチェーンを駆動するように設計されている。
表6(表6−1および表6−2)には、テスト刺激セレクタおよびクロック・イネーブラーの両方を含むテスト・アーキテクチャを使用したテストパターン生成の特定の一手順を記述する例示的な擬似コードを記載する。
Figure 2010518405
Figure 2010518405
例示的な手順の方法動作は、実施態様に応じて単独でも、または互いの様々な組み合わせおよびサブコンビネーションでも実施できることに留意されたい。
表6に記載する例示的な擬似コードは、指定ビットを有するスキャンチェーンがデコンプレッサで駆動できるようにプログラム可能コントローラの制御データを生成できるか否かを検証するために、動作4(g)(vi)の前に追加の検査ステップを採用する。テストキューブCについて制御データが生成できない場合、それを放棄して、オリジナルのテストキューブを変更させないでおくことができる。さらに、スキャンチェーンの唯一の指定ビットが0で、かつそのスキャンチェーンがどの故障影響の観測にも使用されない場合、この実施例ではSにこのチェーンを算入する必要はない。
また、表6に概説する例示的な手順は、テスト刺激セレクタおよびクロック・イネーブル回路の両方を有するアーキテクチャにおける制御信号の生成に関わるが、クロック・イネーブル回路だけを有するアーキテクチャのためにこの手順を変更できる。たとえば、変数Sは故障影響の観測に使用するスキャンチェーン数だけを表すように設定でき、動作4(g)(v)で行う評価は、拡張されたテストキューブの故障を観測するために使用されるビット数に基づくことができる。
図45に示し、上記論じた例示的な実施形態も、クロック・イネーブル回路を有するアーキテクチャのテストパターンを生成するために使用できる。当該実施形態では、クロック・イネーブル回路の制御信号は生成されたテストキューブに基づいて生成できる。たとえば、制御信号は、テスト中にテストキューブを有するテストパターンを適用するとき、クロック・イネーブル回路に、テストキューブから故障影響を観測しないスキャンチェーンからの制御信号を抑制させるようにすることが可能である。
E.未知状態の抑制
プログラム可能クロック・イネーブラーは、スキャンセルへのX状態の伝播を回避するために使用できる。回避されなければ捕獲されるかもしれない著しい数のX状態は、プログラム可能クロック・イネーブラーを使用してスキャンチェーンの選択を行うことによって無効にできる。スキャンベースの環境においてX状態の抑制に使用できる一つの例示的なアーキテクチャ3100を図31に示す。たとえば、アーキテクチャ3100はテスト応答コンパクタ(例、図31のコンパクタ3110)の出力側でXマスキングの量の低減を促すために使用できる。スキャン・イネーブラーを配備する場合と同じく、クロック・イネーブラーを使用してX状態が捕獲されないようにするとき、スキャンチェーンの出力側にカスタマイズしたゲーティング論理を使用する必要はない。所望の機能性は、キャプチャ中に選択されたスキャンチェーンのクロックをディスエーブルすることによって達成できる。すなわち、X状態をもつスキャンチェーンをゲーティングする代わりに、1つまたは複数の例示的なプログラム可能クロック・イネーブラー3120を使用して、指定されたスキャンチェーンのクロックツリーをディスエーブルにすることができる。プログラム可能クロック・イネーブラー3120は、たとえば事前計算したデータ(例、上記特許文献8、9、および10、ならびに上記非特許文献1に記述される例示的な方法のいずれかで計算した)によって駆動できる。この例示的な技術は、本質的に、スキャンチェーンがX状態を捕獲し、それらをコンパクタ3110にロードするのを防ぐ。図31の実施例では、スキャンチェーンの約75%はキャプチャ中にそのクロックをディスエーブルにする(つまり、テスト結果(X状態を含む)を記録しない)一方で、スキャンチェーンの残りの25%はキャプチャ中にそのクロックがイネーブルにされて、テスト応答を捕獲する。
図31を参照して説明する例示的なアプローチは、図30に関連して図示および記述したアプローチと組み合わせることができる。その結果、同じ制御回路を、消費電力および未知状態の存在を並列して処理するよう共有できる。
X状態が捕獲されないようにするクロック・イネーブル回路の制御データを生成するための例示的な技術は、被テスト回路に適用するテストパターンをシミュレートして、シミュレートしたテスト応答を生成する工程と、シミュレートしたテスト応答から未知状態を捕獲する被テスト回路の1つまたは複数のスキャンチェーンを特定する工程と、クロック・イネーブル回路に、キャプチャ・ウィンドウ中に特定された1つまたは複数のスキャンチェーンのキャプチャ・クロックを抑制させる制御信号を生成する工程とを含む。生成された制御信号は1つまたは複数のコンピュータ可読媒体に記憶して、その後テスト適用中にクロック・イネーブル回路のプログラム可能コントローラにロードできる。
VII.リセット/シフトクロック・イネーブラーによる低消費電力スキャンシフト操作
通常、フリップフロップは状態の初期化を目的とした1つまたは複数の非同期の制御入力(非同期セット入力または非同期リセット入力)を備えて設計されるため、たとえば、これら非同期制御入力の1つからスキャンセルを既知状態に強制するプログラム可能信号(例、非同期セット信号または非同期リセット信号)を使用することによって、スキャンシフト段階中のトグルの発生を減少させることが可能である。このアプローチを実施する一つの例示的なアーキテクチャ3200を図32に示す。開示するアーキテクチャの実施態様は、チップ電力消費のもう1つの主要原因であるクロック配線の消費電力を大幅に減少する能力も有する。例示的なアーキテクチャはプログラム可能コントローラを使用するが、これは前述したコントローラ設計のいずれを使用しても実施できる。
図32に示すアーキテクチャの場合、テストパターンtにシフトするとき、デコンプレッサによって直接駆動されるスキャンチェーン(テストパターンtの指定ビットを含むため)と、テストパターンti−1の適用後にコンパクタにロードされるテスト応答値を有するスキャンチェーン(ti−1によって捕獲される対象欠陥を示す値であるため)とを判定することが望ましい。テストパターンtは典型的にはテストパターンti−1の直後に適用される。これらのスキャンチェーンは、たとえばATPGプロセス中に特定できる。具体的な一実施態様によると、特定されたスキャンチェーンだけがシフトクロック信号に応答するようにスキャンチェーンを制御できる。他のスキャンチェーンは、そのシフトクロック信号が抑制されるため静止(無効)状態にしておくことができる。その結果、スキャンシフトおよびクロック自体の両方によるスイッチング動作を減少できる。さらに、ある場合には、エンコードプロセスの副次的効果として、少数のスキャンチェーンをアクティブにしておくことができる。一般に、バイアス回路の具体的な構成は、アクティブにされる不必要なスキャンチェーンのパーセンテージに影響する。静止状態のスキャンチェーンの出力における未知の値を避けるために、それらの出力をコンパクタの入力に送る前に定数値をもつようゲーティングできる。ゲーティング制御信号はシフトクロック信号を制御するプログラム可能コントローラから出すことができる。
スキャンチェーンにおけるトグルの発生は、多くの場合、あるスキャンチェーンで捕獲されたテスト応答値を使用して、前のテストパターンによって以前に検出されなかった対象故障の故障影響を観測する一方で、他のスキャンチェーンで捕獲されたテスト応答値を使用して、前のテストパターンによって以前に検出されている対象故障の故障影響を観測するという事実を利用することによって一層減少させることができる。通例、スキャンチェーンの後者のサブセットの応答値をシフトアウトしても、故障カバレッジは改善しない。したがって、ある実施形態では、これらのスキャンチェーンは、以前に捕獲されたテスト応答をアンロードして次のテストパターンをロードする前にリセットできる。これにより、次のテストパターンをロードする前にスキャンチェーンを全て定数値に設定し、それによりスキャンチェーンに次のテストパターンをロードするときに発生するトグル発生の量を減少させる。新たなテスト・ベクトルを適用する前にスキャンチェーンをリセットすると、スイッチング動作を半分に減少させることができる(隣接し合うスキャンセル間に反転がないことを前提とする)。
A.プログラム可能シフト/リセットクロック・イネーブラーの例示的なアーキテクチャ
図32の例示的なアーキテクチャ3200では、プログラム可能リセット/シフトクロック・イネーブラー3210は、主入力ピンReset_Clock3220およびShift_Clock3222と、スキャンチェーンを駆動するリセットクロックおよびシフトクロックツリーとの間に挿入されている。図32に図示するように、例示的なプログラム可能リセット/シフトクロック・イネーブラー3200は、シフトクロック・イネーブル回路3230と、リセット・イネーブル回路3232と、プログラム可能コントローラ3240との3つのコンポーネントを含む、または当該3つのコンポーネントからなる。
図32の例示的なアーキテクチャ3200を採用する例示的なテスト適用手順は、テストパターンtのリセット・イネーブルを制御する制御データと、次のテストパターンのシフトクロック・イネーブルを制御する制御データとをプログラム可能コントローラにロードする工程と、テスト刺激tをスキャンチェーンにシフトする工程(テストパターンtのシフトクロック・イネーブルを制御する制御データは、ti−1のテスト刺激をシフトインするときにロードする)と、キャプチャ・クロックを適用する工程と、選択したスキャンチェーンにReset_Clockピンをアサートして、それを所要のクロックサイクル数の間アクティブ状態に維持する工程と、Reset_Clockピンをディアサートする工程と、スキャンチェーンからテスト応答をシフトアウトする工程とを含む。
ある実施形態では、シフトクロック・イネーブル回路3230は設計から省かれることに留意されたい。上記概説したテスト適用手順は、当該実施形態ではシフトクロック・イネーブラーの制御データを使用しないように変更されることになろう。
図43は、テスト中にリセット信号を回路に適用する例示的な実施形態を示すフローチャートである。4310で、被テスト回路のスキャンチェーンでテストパターン(例、デコンプレッサで解凍されたテストパターン)に対するテスト応答を捕獲する。4312で、テストパターンに対するテスト応答を捕獲した後、すべてではないが1つまたは複数のスキャンチェーンまたはスキャンチェーンのセグメントに、リセット信号を適用する。4314で、リセット信号を適用した後、スキャンチェーンの内容をアンロードする。リセット信号を適用した1つまたは複数のスキャンチェーンまたはスキャンチェーンのセグメントは、適用しなければ未知の値を捕獲していたはずの1つまたは複数のスキャンチェーンまたはスキャンチェーンのセグメントを含むことができる。リセット信号の適用により、すべてではないが1つまたは複数のスキャンチェーンまたはスキャンチェーンのセグメントに捕獲された値を、1つの定数値(例、1または0)にすることができる。どのスキャンチェーンまたはスキャンチェーンのセグメントがリセット信号を適用させるかを制御する制御信号を受信できる。これらの制御信号は、複数の追加のテストパターンに対するテスト応答に再利用できる。また、テストパターンがスキャンチェーンにロードされているときに、次のテストパターンの制御信号をロードできる。
B.シフトクロック・イネーブラーおよびリセット・イネーブラー
シフトクロック・イネーブル回路3230は、複数のシフトクロック・イネーブラーを含む、または当該複数のシフトクロック・イネーブラーからなることができる。さらに、シフトクロック・イネーブラーは、単一のスキャンチェーンのシフトクロック入力または2以上のスキャンチェーンのシフトクロック入力群のいずれかを駆動できる。一般に、シフトクロック・イネーブル回路3230の機能は、スキャンチェーンをスキャンシフト中にシフトモードで動作させるのをイネーブル/ディスエーブルすることである。シフトクロック・イネーブラーの例示的なグリッチフリーの実施態様3300を図33に示す。
リセット・イネーブル回路3232は、複数のリセット・イネーブラー群を含む、または当該複数のリセット・イネーブラー群からなることができる。リセット・イネーブラーは単一のスキャンチェーンのリセットクロック入力または2以上のスキャンチェーンのリセットクロック入力群のいずれかを駆動できる。リセット・イネーブラーの機能は、Reset_Clockをイネーブル/ディスエーブルし、それによってReset_Clockがアクティブのときスキャンチェーンをリセットすることである。リセット・イネーブラーの例示的な実施態様3400を図34に示す。
例示的な形態のプログラム可能コントローラ3240は、次の2つのモジュールを含む、または当該2つのモジュールからなることができる。1つはシフトクロック・イネーブラーを制御するモジュールであり、もう1つはリセット・イネーブラーを制御するモジュールである。各コントローラ・モジュールは、上記説明したプログラム可能テスト刺激セレクタ652とともに使用される例示的なプログラム可能コントローラと同じアーキテクチャを有することができる。
C.テストパターン生成
本明細書で説明するリセットクロック・イネーブル回路またはシフトクロック・イネーブル回路のいずれかを有するアーキテクチャに関するテストパターン生成手順は、クロック・イネーブラーまたはスキャン・イネーブラーを有するアーキテクチャについて表5および表6に関して上記説明したテストパターン生成手順と実質的に同じであり、ここで個別に記載する必要はない。たとえば、テストパターン生成手順は、リセット・イネーブル回路がそのテスト応答をシフトアウトする前に故障影響を観測しない1つまたは複数のスキャンチェーンをリセットするように、リセット・イネーブル回路のコントローラの制御データを生成するために使用できる。
図45に示し、上記論じた例示的な実施形態も、リセット・イネーブル回路を有するアーキテクチャに関してテストパターンを生成するために使用できる。当該実施形態では、リセット・イネーブル回路のリセット信号は生成されるテストキューブに基づいて生成できる。たとえば、リセット信号は、リセット・イネーブル回路に、テスト中テストキューブを有するテストパターンに対するテスト応答が捕獲された後、テストキューブから故障影響を観測されないスキャンチェーンにリセット信号を適用させることが可能である。図45に示し、上記論じた例示的な実施形態も、シフトクロック・イネーブル回路を有するアーキテクチャ(例、リセット・イネーブル回路と組み合わせて)に関するテストパターンを生成するために使用できる。当該実施形態では、シフトクロック・イネーブル回路の制御信号はテストキューブに基づいて生成できる。これらの制御信号は、テスト中にテストキューブによるテストパターンに対するテスト応答が捕獲された後、シフトクロック・イネーブル回路に、テストキューブから故障影響が観測されないスキャンチェーンからシフトクロック信号を抑制させることが可能である。
D.スキャンシフトおよびキャプチャ両方のスイッチング動作の減少
キャプチャ中のスイッチング動作を減少させるため、およびスキャンシフト中にスイッチング動作をさらに減少させるために、プログラム可能リセット/シフトクロック3210は、前のセクションのいずれかで説明したプログラム可能テスト刺激セレクタおよびプログラム可能クロック・イネーブラーと組み合わせて使用できる。このような実施態様の例示的なスキャン・アーキテクチャ3500を図35に示す。
この実施態様を使用する例示的なテスト適用手順は、テストパターンtのリセット・イネーブルを制御する制御データおよびテストパターンti+1のシフト・イネーブルを制御する制御データを、プログラム可能コントローラにロードする工程と、テスト刺激tをスキャンチェーンにシフトする工程(テスト刺激のシフトイン中、プログラム可能テストパターンセレクタがテストパターンのソースを選択する)と、スキャンシフト操作の終了時にGlobal_Clock_Enableをディアサートする工程と、キャプチャ・クロックを適用する工程(新たなデータを捕獲するために選択されるスキャンセルは、プログラム可能クロック・イネーブラーで制御される)と、Reset_Clockピンをアサートして、それを所要のクロックサイクル数の間アクティブ状態に保持する工程と、Reset_Clockピンをディアサートする工程と、Global_Clock_Enable信号をアサートする工程と、スキャンチェーンからテスト応答をシフトアウトする工程とを含む。
図35に示すアーキテクチャ3500では、シフトクロックとキャプチャ・クロックとは同じである。ただし、図35のアーキテクチャは、異なるシフトクロックとキャプチャ・クロックとを使用するように変更できる。たとえば、スキャンシフトモードでは、Global_Clock_Enableを1にアサートでき、シフトクロックはプログラム可能シフト/リセットクロック・イネーブラーによって制御できる。キャプチャモードでは、Global_Clock_Enableをディアサートでき、キャプチャクロックはプログラム可能クロック・イネーブラーによって制御できる。ピン数を減らすために、ピンGlobal_Clock_Enableは、ピンScan_Enableと共有できる。
E.未知状態の抑制
プログラム可能リセット・イネーブル回路を使用して、X状態をスキャンチェーンから出力させないようにすることができる。たとえば、そうしなければ捕獲されて出力されるかもしれない著しい数のX状態は、プログラム可能リセット・イネーブラーを使用して排除できる。具体的には、スキャンチェーンにテスト応答を捕獲した後、未知状態を捕獲したことは分かっているが、対象とする故障を示すテスト応答値は捕獲しなかった(または捕獲したテスト応答値が所望のテストカバレッジには大幅に寄与しない)1つまたは複数のスキャンチェーンで、Reset_Clock信号をイネーブルできる。その結果、スキャンチェーンの値は既知の定数にリセットされることになる。スキャン・イネーブラーを使用する場合と同様、リセット・イネーブラーを使用してX状態を捕獲しないようにする場合、スキャンチェーンの出力側にはカスタマイズされたゲーティング論理を使用する必要はない。所望の機能性は、テスト応答を捕獲した後で所望のスキャンチェーンをリセットすることによって達成できる。すなわち、X状態をもつスキャンチェーンをゲーティングする代わりに、1つまたは複数の例示的なリセット・イネーブル回路3232を使用して、スキャンチェーンで捕獲された値を既知の定数にリセットできる。プログラム可能リセット・イネーブラー3210は、たとえば、事前計算されたデータ(例、上記特許文献8、9および10、ならびに非特許文献1に記述される例示的な方法のいずれかで計算される)によって駆動できる。
X状態を出力させないリセット・イネーブル回路の制御データを生成するための例示的な技術は、被テスト回路に適用するテストパターンをシミュレートして、シミュレートしたテスト応答を生成する工程と、シミュレートしたテスト応答から未知状態を捕獲する被テスト回路の1つまたは複数のスキャンチェーンを特定する工程と、未知状態を有するテスト応答を捕獲した後、リセット・イネーブル回路に特定された1つまたは複数のスキャンチェーンにおける値をリセットさせる制御信号を生成する工程とを含む。生成される制御信号は1つまたは複数のコンピュータ可読媒体に記憶して、その後テスト適用中にリセット・イネーブル回路のプログラム可能コントローラにロードできる。
VIII.実験結果
スキャンシフト操作は電力を消費するが、これは被テスト回路(「CUT」)のスキャンチェーンおよび他の部位で発生する遷移の数に直接依存する。その結果生じるスイッチング動作は、連続するスキャンセルで引き起こされる遷移の数を数えるだけでなく、その相対的な位置も考慮した重み付け遷移計量法によって推定できる。mをスキャンチェーンの長さとすると、T=b....bはビットbがbk+1の前にスキャンインされるテスト・ベクトルを表す。さらに、計量法の正規化形式は以下のように定義できる。
Figure 2010518405
テスト適用中に消費される平均スキャン電力は、すべてのスキャンチェーンおよびすべてのテストパターンに関して上記式で得られた結果を総計することによって求めることができる。
前述した低消費電力アプローチの実施形態をいくつかの工業用設計でテストした。
このセクションでは、サイズが220Kゲートから10.5Mゲートまでの範囲で、図36の例示的なアーキテクチャ3600を使用する回路の結果を提示する。各設計について、スキャンチャネル数を8に固定し、全事例において48ビットのデコンプレッサを利用することにより、圧縮レベルの異なるEDTを使用した。これらの実験結果を表7にまとめている。ゲート数に加えて、各回路について次の情報を記している。適用するテストパターン数、充填率(指定ビットのパーセンテージ)、制御レジスタ(「CR」)のサイズ、標準的なembedded deterministic testを採用すると仮定した重み付け遷移計量法によって測定するスイッチング率(欄「SDT」)、提案する低消費電力スキーム使用後のスイッチング率(欄「LP」)。見て分かるように、実験したすべての事例において、遷移の総数の実質的な減少が達成されており、そのため大幅に減少したスイッチング率が観測された。
Figure 2010518405
IX.例示的なコンピューティング環境
前述した技術の態様のいずれも、分散型コンピュータネットワークを使用して実施してもよい。図37は適した一つの例示的なネットワークを示す。サーバコンピュータ3700は関連する記憶装置3702を(サーバコンピュータの内部または外部に)有することができる。たとえば、サーバコンピュータ3700は開示する方法のいずれかに従いテストパターン、テストパターン値または制御データを生成するように、または開示するアーキテクチャ(たとえば、テストパターン生成ツールなどのEDAソフトウェアツールの一部として)を実装する設計データを生成するように構成できる。サーバコンピュータ3700は、全体を3704で示すネットワークに連結でき、これは、たとえば、広域ネットワーク、ローカルエリアネットワーク、クライアント・サーバネットワーク、インターネットまたはその他適したネットワークを含むことができる。3706,3708に示すような1つまたは複数のクライアントコンピュータは、ネットワーク・プロトコルを使用してネットワーク3704に連結してもよい。作業は、それ自体のメモリおよび1つまたは複数のCPUを有する単一の専用ワークステーションで実施してもよい。
図38は別の例示的なネットワークを示す。1つまたは複数のコンピュータ3802はネットワーク3804を介して通信するとともに、コンピューティング環境3800(たとえば、分散型コンピューティング環境)を形成する。コンピューティング環境3800内のコンピュータ3802の各々を使って、テストパターン生成、制御データ生成またはテストハードウェア生成プロセスの少なくとも一部を実施できる。図示する実施形態のネットワーク3804は1つまたは複数のクライアント・コンピュータ3808にも連結される。
図39は、開示する技術のいずれかの実施形態に従ってテストパターン、制御データまたはテストハードウェアを生成するために、被テスト回路の設計情報(たとえば、HDLファイル、ネットリスト、GDSIIファイル、Oasisファイル、またはそのスキャンチェーンと合わせて被テスト回路を表すその他適した設計ファイル)は、リモートサーバコンピュータ(図37に図示するサーバコンピュータ3700など)またはリモートコンピューティング環境(図38に図示するコンピューティング環境3800など)を使って解析できることを示す。プロセスブロック3902で、たとえば、クライアントコンピュータは集積回路設計情報をリモートサーバまたはコンピューティング環境に送信する。プロセスブロック3904で、リモートサーバまたはリモートコンピューティング環境の各コンポーネントが、集積回路設計情報を受信してロードする。プロセスブロック3906で、開示する実施形態のいずれかを実施するために、テストパターン生成、制御信号生成またはテストハードウェア生成を行う。プロセスブロック3908で、リモートサーバまたはコンピューティング環境は生成されたテストパターン、制御信号、または生成されたテストハードウェアが記憶された設計データを、クライアントコンピュータに送信し、クライアントコンピュータはプロセスブロック3910でデータを受信する。
図3900に示す実施例は、複数のコンピュータを使ってテストパターン、制御データ、またはテストハードウェアの設計データを生成する唯一の方法ではないことは、当業者には明らかであろう。たとえば、CUT設計情報はネットワーク上になく、かつサーバまたはコンピューティング環境に個別に送られるコンピュータ可読媒体(たとえば、CD−ROM,DVD,またはポータブルハードドライブ)に記憶してもよい。または、サーバコンピュータまたはリモートコンピューティング環境は、テストパターン生成手順、制御データ生成手順またはテストハードウェア生成手順の一部だけを実施してもよい。
開示する技術の原理を例示および説明してきたが、開示する実施形態は当該原理を逸脱することなく構成および細部を変更できることは当業者には明らかであろう。開示する技術の原理を適用できる数多くの実施形態に鑑み、例示する実施形態はこの技術の好適な実施例にすぎず、本発明の範囲を限定するものと解釈してはならないことは認識されたい。そうではなく、本発明の範囲は以下の特許請求の範囲およびその均等物によって定義される。そのため、本発明として、これら特許請求の範囲および精神内にあるすべてを請求する。

Claims (110)

  1. オリジナルテストパターン値を生成するよう構成されている第1テスト刺激ソースと、
    定数値を生成するように構成されている第2テスト刺激ソースと、
    制御信号を生成するように構成されているコントローラと、
    前記第1テスト刺激ソース、前記第2テスト刺激ソースおよび前記コントローラに連結されている入力部を有し、集積回路内の複数のスキャンチェーンに連結されている出力部をさらに有するテスト刺激セレクタとを含む集積回路であって、
    前記テスト刺激セレクタは、前記コントローラからの前記制御信号に基づいて、そのそれぞれの出力部毎に、前記第1テスト刺激ソースからのオリジナルテストパターン値、または前記第2テスト刺激ソースからの前記定数値のいずれかを選択的に出力するよう構成されていることを特徴とする、集積回路。
  2. 前記テスト刺激セレクタは、サイクル毎、スキャンチェーン・セグメント毎、またはパターン毎に値を選択的に出力するよう構成されていることを特徴とする、請求項1に記載の集積回路。
  3. 前記第1テスト刺激ソースは、外部テスタから圧縮テストパターン値を受信するよう構成されているデコンプレッサであることを特徴とする、請求項1に記載の集積回路。
  4. 前記テスト刺激セレクタは複数のマルチプレクサを含み、前記マルチプレクサの各々が、前記第1テスト刺激ソースの各出力部に連結されている第1入力部と、前記第2刺激ソースの各出力部に連結されている第2入力部と、前記コントローラの各出力部に連結されている第3入力部と、1つまたは複数の前記スキャンチェーンのそれぞれに連結されている出力部とを有することを特徴とする、請求項1に記載の集積回路。
  5. 前記コントローラは、外部テスタ、前記集積回路上のメモリ、または前記集積回路上のテスト生成器のうちのいずれか1つから制御データをロードするよう構成されているプログラム可能コントローラであることを特徴とする、請求項1に記載の集積回路。
  6. 前記定数値は第1定数値であり、前記集積回路は第2定数値を生成するように構成されている第3テスト刺激ソースをさらに含み、前記テスト刺激セレクタは前記第3刺激ソースに連結されている入力部をさらに有し、前記テスト刺激セレクタは、前記コントローラからの前記制御信号に基づいて、そのそれぞれの出力部毎に、前記第1テスト刺激ソースからのオリジナルテストパターン値、前記第2テスト刺激ソースからの前記第1定数値、または前記第3テスト刺激ソースからの前記第2定数値のいずれかを選択的に出力するよう構成されていることを特徴とする、請求項1に記載の集積回路。
  7. 前記第1定数値および前記第2定数値は、それぞれ0および1、またはそれぞれ1および0であることを特徴とする、請求項6に記載の集積回路。
  8. 前記テスト刺激セレクタは複数のマルチプレクサを含み、前記マルチプレクサの各々が、前記第1テスト刺激ソースの各出力部に連結されている第1入力部と、前記第2刺激ソースの各出力部に連結されている第2入力部と、前記第3刺激ソースの各出力部に連結されている第3入力部と、前記コントローラの各出力部に連結されている第4入力部と、1つまたは複数の前記スキャンチェーンのそれぞれに連結されている出力部とを有することを特徴とする、請求項6に記載の集積回路。
  9. 前記コントローラは、制御データをロードして出力する1つまたは複数のシフトレジスタを含むことを特徴とする、請求項1に記載の集積回路。
  10. 前記1つまたは複数のシフトレジスタは、多段レジスタ・パイプラインを形成する複数のシフトレジスタを含むことを特徴とする、請求項9に記載の集積回路。
  11. 前記複数のシフトレジスタは、レジスタシフトクロックに応答して、データを順次ロードするよう構成されていることを特徴とする、請求項10に記載の集積回路。
  12. 前記複数のシフトレジスタは、パイプライン・シフトクロックに応答して、前記シフトレジスタのあるものから別の前記シフトレジスタに制御データを並列にシフトするよう構成されていることを特徴とする、請求項10に記載の集積回路。
  13. 前記1つまたは複数のシフトレジスタに連結されている1つまたは複数のシャドウレジスタをさらに含む、請求項9に記載の集積回路。
  14. 前記コントローラは、前記1つまたは複数のシフトレジスタのうちの少なくとも1つに連結されているXORまたはXNORネットワークをさらに含むことを特徴とする、請求項9に記載の集積回路。
  15. 前記コントローラは、前記XORまたはXNORネットワークに連結されているバイアス回路をさらに含むことを特徴とする、請求項14に記載の集積回路。
  16. 前記バイアス回路は前記XORまたはXNORネットワークの出力のうち1つまたは複数の出力をバイアスして、前記バイアスされた各出力毎に個別のバイナリ値をより生じやすいようにしたことを特徴とする、請求項15に記載の集積回路。
  17. 前記バイアス回路は、前記XORまたはXNORネットワークの前記出力のうち1つまたは複数の出力を、選択可能な量だけバイアスするよう構成されている再構成可能なバイアス回路であることを特徴とする、請求項15に記載の集積回路。
  18. 請求項1に記載の前記回路のための設計データを記憶しているコンピュータ可読媒体。
  19. コンピュータに請求項1に記載の前記集積回路を作製させるためのコンピュータ実行可能命令を記憶しているコンピュータ可読媒体。
  20. オリジナルテストパターン値を生成するよう構成されているテスト刺激ソースと、
    制御信号を生成するよう構成されているコントローラと、
    前記テスト刺激ソースおよび前記コントローラに連結されている入力部を有し、かつ集積回路内の複数のスキャンチェーンに連結されている出力部をさらに有するテスト刺激セレクタとを含む集積回路であって、
    前記テスト刺激セレクタは、前記コントローラから受信した前記制御信号に基づいて、そのそれぞれの出力部毎に、前記第1テスト刺激ソースからのオリジナルテストパターン値、または定数値のいずれかを選択的に出力するように構成されており、
    前記テスト刺激ソースは、前記定数値を生成するよう構成されているゲーティング論理をさらに含むことを特徴とする、集積回路。
  21. 前記テスト刺激セレクタは、サイクル毎、スキャンチェーン・セグメント毎、またはパターン毎に、値を選択的に出力するよう構成されていることを特徴とする、請求項20に記載の集積回路。
  22. 前記テスト刺激ソースは、外部テスタから圧縮テストパターン値を受信するよう構成されているデコンプレッサであることを特徴とする、請求項20に記載の集積回路。
  23. 前記コントローラは、外部テスタ、前記集積回路上のメモリ、または前記集積回路上のテスト生成器のいずれか1つから制御データをロードするよう構成されているプログラム可能コントローラであることを特徴とする、請求項20に記載の集積回路。
  24. 前記コントローラは制御データをロードして出力する1つまたは複数のシフトレジスタを含み、前記1つまたは複数のシフトレジスタは多段レジスタ・パイプラインを形成していることを特徴とする、請求項20に記載の集積回路。
  25. 前記コントローラは、
    前記1つまたは複数のシフトレジスタのうちの少なくとも1つに連結されているXORまたはXNORネットワークと、
    前記XORまたはXNORネットワークに連結されており、前記XORまたはXNORネットワークの出力のうち1つまたは複数の出力をバイアスして、前記バイアスされた各出力毎に個別のバイナリ値をより出しやすいように構成されているバイアス回路と、
    をさらに含むことを特徴とする、請求項24に記載の集積回路。
  26. 請求項20の前記回路のための設計データを記憶しているコンピュータ可読媒体。
  27. コンピュータに請求項20の前記集積回路を作製させるためのコンピュータ実行可能命令を記憶しているコンピュータ可読媒体。
  28. デコンプレッサから受信され、m個の入力パスで集積回路をテストするためのオリジナルテストパターン値を受信する工程と、
    nがm未満のとき、m個の入力パスのうち少なくともn個の入力パスで前記テストパターン値を選択的に変更して、前記n個の入力パスで前記テストパターン値が少なくとも2つの連続する定数値となるようにする工程と、
    m個のスキャンチェーン入力パスのうちn個の入力パスで前記少なくとも2つの連続する定数値を含むテストパターン値を、m個のスキャンチェーン入力パスで出力する工程と、
    を含む方法。
  29. 前記m個の入力パスのうちのどれを変更するかを示す制御データを受信する工程をさらに含むことを特徴とする、請求項28に記載の方法。
  30. 前記オリジナルテストパターン値は第1テストパターンに関するものであり、当該方法は、前記m個の入力パスのうちどれを変更するかを選択する前記制御データを、複数の追加のテストパターンに再利用する工程をさらに含むことを特徴とする、請求項29に記載の方法。
  31. 前記出力されるテストパターン値は、前記集積回路内の1つまたは複数の故障を対象とする前記オリジナルテストパターンのすべての指定ビットを含むことを特徴とする、請求項28に記載の方法。
  32. 前記テストパターン値を選択的に変更する前記工程は、前記少なくとも2つの連続する定数値を生じるように構成されている論理ゲートに制御信号を適用する工程を含むことを特徴とする、請求項28に記載の方法。
  33. 集積回路内のスキャンチェーンのデータ入力部に連結されているデコンプレッサと、
    制御信号を生成するよう構成されているコントローラと、
    前記コントローラに連結されている入力部と、前記スキャンチェーンのスキャンセルのスキャン・イネーブル入力部に連結されている出力部とを有するスキャン・イネーブル回路と、を含む集積回路であって、
    前記スキャン・イネーブル回路は、前記スキャン・イネーブル回路の前記出力部のうち1つまたは複数の出力部で、独立して制御可能なスキャン・イネーブル信号を生成するよう構成されており、前記独立して制御可能なスキャン・イネーブル信号の前記値は、少なくとも部分的には前記コントローラからの前記制御信号に基づいていることを特徴とする、集積回路。
  34. 前記独立して制御可能なスキャン・イネーブル信号の前記値は第1スキャン・イネーブル値と第2スキャン・イネーブル値とを含み、前記第1スキャン・イネーブル値は、1つまたは複数の前記スキャンチェーンにシフトモードで動作させるために使用し、前記第2スキャン・イネーブル値は、前記1つまたは複数のスキャンチェーンを通常回路モードで動作させるために使用することを特徴とする、請求項33に記載の集積回路。
  35. 前記スキャン・イネーブル回路の各出力部は、1つまたは複数の前記スキャンチェーンのそれぞれの前記スキャンセルの前記スキャン・イネーブル入力部に連結されていることを特徴とする、請求項33に記載の集積回路。
  36. 前記スキャンセルによって形成されるスキャンチェーンに連結するよう構成されている出力部を有するテスト刺激セレクタをさらに含み、前記テスト刺激セレクタは、前記テスト刺激セレクタの前記出力部毎に、オリジナルテストパターン値または定数値のいずれかを選択的に出力するよう構成されていることを特徴とする、請求項33に記載の集積回路。
  37. 前記コントローラは、外部テスタ、前記集積回路上のメモリ、または前記集積回路上のテスト生成器のいずれか1つから制御データをロードするよう構成されているプログラム可能コントローラであることを特徴とする、請求項33に記載の集積回路。
  38. 前記コントローラは制御データをロードして出力するためのシフトレジスタを含み、前記シフトレジスタは多段レジスタ・パイプラインを形成することを特徴とする、請求項33に記載の集積回路。
  39. 前記1つまたは複数のシフトレジスタに連結されている1つまたは複数のシャドウレジスタをさらに含む、請求項38に記載の集積回路。
  40. 前記コントローラは、
    前記シフトレジスタの少なくとも1つに連結されているXORまたはXNORネットワークと、
    前記XORまたはXNORネットワークに連結されており、前記XORまたはXNORネットワークの出力のうち1つまたは複数の出力をバイアスして、前記バイアスされた各出力毎に個別のバイナリ値をより出しやすいように構成されているバイアス回路と、
    をさらに含むことを特徴とする、請求項38に記載の集積回路。
  41. 請求項33に記載の前記回路のための設計データを記憶しているコンピュータ可読媒体。
  42. コンピュータに請求項33に記載の前記集積回路を作製させるためのコンピュータ実行可能命令を記憶しているコンピュータ可読媒体。
  43. デコンプレッサから、解凍されたテストパターンをスキャンチェーンにロードするとき、前記スキャンチェーンを1つまたは複数のシフトレジスタとして動作させるスキャン・イネーブル信号を、被テスト回路の前記スキャンチェーンに適用する工程と、
    前記解凍されたテストパターンに対するテスト応答を、前記スキャン・イネーブル信号が適用されない前記スキャンチェーンの残りで捕獲するとき、1つまたは複数の前記スキャンチェーンに前記スキャン・イネーブル信号を適用する工程と、
    を含む方法。
  44. 前記スキャン・イネーブル信号が適用される前記1つまたは複数の前記スキャンチェーンは、適用されなければ未知の値を捕獲していたはずの1つまたは複数のスキャンチェーンを含むことを特徴とする、請求項43に記載の方法。
  45. 前記スキャンチェーンから前記テスト応答がアンロードされるとき、前記被テスト回路の前記スキャンチェーンに前記スキャン・イネーブル信号を適用する工程をさらに含むことを特徴とする、請求項43に記載の方法。
  46. 前記解凍されたテストパターンに対する前記テスト応答が捕獲されるとき、前記スキャンチェーンのどれが前記スキャン・イネーブル信号を適用されるかを制御する制御信号を受信する工程をさらに含むことを特徴とする、請求項43に記載の方法。
  47. 解凍された複数の追加のテストパターンが前記スキャンチェーンにロードされるとき、前記制御信号を再利用する工程をさらに含むことを特徴とする、請求項46に記載の方法。
  48. 前記テストパターンが前記スキャンチェーンにロードされているときに、次のテストパターンに関する制御信号をロードする工程をさらに含むことを特徴とする、請求項43に記載の方法。
  49. 請求項43に記載の前記方法を実施するように構成されている回路。
  50. 集積回路内のスキャンチェーンのデータ入力部に連結されているデコンプレッサと、
    制御信号を生成するよう構成されているコントローラと、
    前記コントローラに連結されている入力部と、前記スキャンチェーンのスキャンセルのクロック入力部に連結されている出力部とを有するクロック・イネーブル回路と、を含む集積回路であって、
    前記クロック・イネーブル回路は、少なくとも部分的には前記コントローラからの前記制御信号に基づいて、前記クロック・イネーブル回路の前記出力部のうち1つまたは複数の出力部で、独立して制御可能なクロック信号を生成するよう構成されていることを特徴とする、集積回路。
  51. 前記クロック・イネーブル回路で生成される前記独立して制御可能なクロック信号は、キャプチャ・クロック信号であることを特徴とする、請求項50に記載の集積回路。
  52. 前記クロック・イネーブル回路の各出力部は、前記集積回路の1つまたは複数の前記スキャンチェーンそれぞれの前記スキャンセルの前記クロック入力部に連結されていることを特徴とする、請求項50に記載の集積回路。
  53. 前記クロック・イネーブル回路は、前記クロック・イネーブル回路の各出力部それぞれを制御するために個別のクロック・イネーブラー回路を含むことを特徴とする、請求項50に記載の集積回路。
  54. 前記スキャンセルによって形成されるスキャンチェーンに連結するよう構成されている出力部を有するテスト刺激セレクタをさらに含み、前記テスト刺激セレクタは、前記テスト刺激セレクタの前記出力部毎に、オリジナルテストパターン値または定数値のいずれかを選択的に出力するよう構成されていることを特徴とする、請求項50に記載の集積回路。
  55. 前記コントローラは、外部テスタ、前記集積回路上のメモリ、または前記集積回路上のテスト生成器のいずれか1つから制御データをロードするよう構成されているプログラム可能コントローラであることを特徴とする、請求項50に記載の集積回路。
  56. 前記コントローラは制御データをロードして出力するためのシフトレジスタを含み、前記シフトレジスタは多段レジスタ・パイプラインを形成することを特徴とする、請求項50に記載の集積回路。
  57. 前記1つまたは複数のシフトレジスタに連結されている1つまたは複数のシャドウレジスタをさらに含むことを特徴とする、請求項56に記載の集積回路。
  58. 前記コントローラは、
    前記シフトレジスタの少なくとも1つに連結されているXORまたはXNORネットワークと、
    前記XORまたはXNORネットワークに連結されており、前記XORまたはXNORネットワークの出力のうち1つまたは複数の出力をバイアスして、前記バイアスされた各出力毎に個別のバイナリ値をより出しやすいように構成されているバイアス回路と、
    をさらに含むことを特徴とする、請求項56に記載の集積回路。
  59. 請求項50に記載の前記回路のための設計データを記憶しているコンピュータ可読媒体。
  60. コンピュータに請求項50に記載の前記集積回路を作製させるためのコンピュータ実行可能命令を記憶しているコンピュータ可読媒体。
  61. デコンプレッサから解凍されたテストパターンを被テスト回路のスキャンチェーンにロードするとき、前記被テスト回路の前記スキャンチェーンにクロック信号を適用する工程と、
    キャプチャウィンドウ中に前記解凍されたテストパターンに対するテスト応答が捕獲されるとき、すべてではないが1つまたは複数の前記スキャンチェーンまたは前記スキャンチェーンのセグメントへの前記クロック信号を抑制する工程であって、前記抑制により前記すべてではないが1つまたは複数の前記スキャンチェーンまたは前記スキャンチェーンのセグメントが前記キャプチャウィンドウ中で定常状態にとどまる、工程と、
    を含む方法。
  62. 前記すべてではないが1つまたは複数の前記スキャンチェーンまたは前記スキャンチェーンのセグメントは、抑制しなければ未知の値を捕獲していたはずの1つまたは複数のスキャンチェーンまたは前記スキャンチェーンのセグメントを含むことを特徴とする、請求項61に記載の方法。
  63. 前記テスト応答が前記スキャンチェーンからアンロードされるとき、前記被テスト回路の前記スキャンチェーンに前記クロック信号を適用する工程をさらに含むことを特徴とする、請求項61に記載の方法。
  64. 前記キャプチャウィンドウ中にどのスキャンチェーンまたは前記スキャンチェーンのセグメントが前記クロック信号を抑制させるかを制御する制御信号を受信する工程をさらに含むことを特徴とする、請求項61に記載の方法。
  65. 解凍された多数の追加のテストパターンに対するテスト応答が捕獲されるとき、前記制御信号を再利用する工程をさらに含むことを特徴とする、請求項64に記載の方法。
  66. 前記クロック信号は、前記テストパターンが前記スキャンチェーンにロードされるときの第1周波数と、前記テスト応答が前記キャプチャウィンドウに捕獲されるときの第2周波数とを有することを特徴とする、請求項61に記載の方法。
  67. 前記テストパターンが前記スキャンチェーンにロードされているときに、次のテストパターンに関する制御信号をロードする工程をさらに含むことを特徴とする、請求項61に記載の方法。
  68. 請求項61に記載の前記方法を実施するよう構成されている回路。
  69. 集積回路内のスキャンチェーンのデータ入力部に連結されているデコンプレッサと、
    制御信号を生成するよう構成されているコントローラと、
    前記コントローラに連結されている入力部と、前記スキャンチェーンのスキャンセルのリセット入力部に連結されている出力部とを有するリセット・イネーブル回路と、を含む集積回路であって、
    前記リセット・イネーブル回路は、少なくとも部分的には前記コントローラからの前記制御信号に基づいて、前記リセット・イネーブル回路の前記出力部のうち1つまたは複数の出力部で、リセット信号を選択的に生成するよう構成されていることを特徴とする、集積回路。
  70. 前記集積回路内の前記スキャンセルは、前記リセット信号が前記リセット入力部に適用されるとき、0または1にリセットされるように構成されていることを特徴とする、請求項69に記載の集積回路。
  71. 前記リセット・イネーブル回路は、前記リセット・イネーブル回路の各出力部のそれぞれを制御するために、個別のリセット・イネーブラー回路を含むことを特徴とする、請求項69に記載の集積回路。
  72. 前記リセット・イネーブル回路の各出力部は、前記集積回路の1つまたは複数のスキャンチェーンそれぞれの前記スキャンセルの前記リセット入力部に連結されていることを特徴とする、請求項69に記載の集積回路。
  73. 前記スキャンセルの前記リセット入力部は、前記スキャンセルの非同期制御ピンを含むことを特徴とする、請求項69に記載の集積回路。
  74. シフトクロック・イネーブル回路をさらに含み、前記シフトクロック・イネーブル回路は前記集積回路内のスキャンチェーンのシフトクロック入力部に連結されている出力部を有し、前記シフトクロック・イネーブル回路は、前記シフトクロック・イネーブル回路の前記出力部のうち1つまたは複数の出力部で、シフトクロック信号を選択的に生成するよう構成されていることを特徴とする、請求項69に記載の集積回路。
  75. 前記シフトクロック・イネーブル回路は、前記コントローラに連結されている入力部をさらに含んでおり、選択的に生成される前記シフトクロック信号は少なくとも部分的には前記コントローラからの前記制御信号に基づくことを特徴とする、請求項74に記載の集積回路。
  76. 前記スキャンセルによって形成されるスキャンチェーンに連結するよう構成されている出力部を有するテスト刺激セレクタをさらに含み、前記テスト刺激セレクタは、前記テスト刺激セレクタの前記出力部毎に、オリジナルテストパターン値または定数値のいずれかを選択的に出力するよう構成されていることを特徴とする、請求項69に記載の集積回路。
  77. 前記コントローラは、外部テスタ、前記集積回路上のメモリ、または前記集積回路上のテスト生成器のいずれか1つから、制御データをロードするよう構成されているプログラム可能コントローラであることを特徴とする、請求項69に記載の集積回路。
  78. 前記コントローラは制御データをロードして出力するためのシフトレジスタを含み、前記シフトレジスタは多段レジスタ・パイプラインを形成することを特徴とする、請求項69に記載の集積回路。
  79. 前記1つまたは複数のシフトレジスタに連結されている1つまたは複数のシャドウレジスタをさらに含むことを特徴とする、請求項78に記載の集積回路。
  80. 前記コントローラは、
    前記シフトレジスタの少なくとも1つに連結されているXORまたはXNORネットワークと、
    前記XORまたはXNORネットワークに連結されており、前記XORまたはXNORネットワークの前記出力のうち1つまたは複数の出力をバイアスして、前記バイアスした各出力毎に個別のバイナリ値をより出しやすいように構成されているバイアス回路と、
    をさらに含むことを特徴とする、請求項78に記載の集積回路。
  81. 請求項69に記載の前記回路のための設計データを記憶しているコンピュータ可読媒体。
  82. コンピュータに請求項69に記載の前記集積回路を作製させるためのコンピュータ実行可能命令を記憶しているコンピュータ可読媒体。
  83. デコンプレッサによって解凍されたテストパターンに対するテスト応答を、被テスト回路のスキャンチェーンで捕獲する工程と、
    前記テストパターンに対する前記テスト応答を捕獲した後、すべてではないが1つまたは複数の前記スキャンチェーンまたは前記スキャンチェーンのセグメントにリセット信号を適用する工程と、
    前記リセット信号を適用した後、前記スキャンチェーンの内容をアンロードする工程と、
    を含む方法。
  84. 前記リセット信号が適用される前記1つまたは複数のスキャンチェーンまたは前記スキャンチェーンのセグメントは、適用されなければ未知の値を捕獲していたはずの1つまたは複数のスキャンチェーンまたは前記スキャンチェーンのセグメントを含むことを特徴とする、請求項83に記載の方法。
  85. 前記リセット信号の前記適用により、前記すべてではないが1つまたは複数のスキャンチェーンまたは前記スキャンチェーンのセグメントに捕獲された値を単一の定数値にすることを特徴とする、請求項83に記載の方法。
  86. どのスキャンチェーンまたは前記スキャンチェーンのセグメントが前記リセット信号を適用されるかを制御する制御信号を受信する工程をさらに含むことを特徴とする、請求項83に記載の方法。
  87. 複数の追加のテストパターンに対するテスト応答に、前記制御信号を再利用する工程をさらに含むことを特徴とする、請求項86に記載の方法。
  88. 前記テストパターンが前記スキャンチェーンにロードされているときに、次のテストパターンに関する制御信号をロードする工程をさらに含むことを特徴とする、請求項83に記載の方法。
  89. 請求項83に記載の前記方法を実施するよう構成されている回路。
  90. コンピュータに方法を実施させるためのコンピュータ実行可能命令を記憶している1つまたは複数のコンピュータ可読媒体であって、前記方法が、
    オリジナルテスト刺激ソースによって駆動されるべきスキャンチェーンの数を判定する工程であって、前記数は回路設計において利用できるスキャンチェーンの数未満である、工程と、
    対象故障リストからある故障を選択する工程と、
    前記選択した故障のテストキューブを生成する工程であって、前記テストキューブはある数の指定スキャンチェーンに指定ビットを含む、工程と、
    前記テストキューブ内の前記指定スキャンチェーンの数が前記オリジナルテスト刺激ソースによって駆動されるべきスキャンチェーンの数未満であるか否かを判定する工程と、
    前記テストキューブ内の指定スキャンチェーンの数が前記オリジナルテスト刺激ソースによって駆動されるべきスキャンチェーンの数を超えない場合、前記テストキューブを記憶する工程と、
    を含む、1つまたは複数のコンピュータ可読媒体。
  91. 前記故障は第1故障であり、前記方法は、
    前記テストキューブ内の指定スキャンチェーンの数が前記オリジナルテスト刺激によって駆動されるべきスキャンチェーンの数を超える場合、前記テストキューブを拒絶する工程と、
    前記対象故障リストからの第2故障に関して前記選択、生成、判定および記憶する工程を繰り返す工程と、
    をさらに含むことを特徴とする、請求項90に記載の1つまたは複数のコンピュータ可読媒体。
  92. 前記故障は第1故障であり、前記方法は、
    前記対象故障リストから第2故障を選択する工程と、
    前記第1故障の前記テストキューブを、前記第2故障を検出するための1つまたは複数の追加の指定ビットを含むように拡張する工程と、
    前記1つまたは複数の追加の指定ビットにより、前記拡張されたテストキューブ内の指定スキャンチェーンの数が前記オリジナルテスト刺激ソースによって駆動されるべきスキャンチェーンの数を超えるか否かを判定する工程と、
    前記拡張されたテストキューブ内の指定スキャンチェーンの数が前記オリジナルテスト刺激ソースによって駆動されるべきスキャンチェーンの数を超えない場合、前記拡張されたテストキューブを記憶する工程と、
    をさらに含むことを特徴とする、請求項90に記載の1つまたは複数のコンピュータ可読媒体。
  93. 前記方法は、
    前記拡張されたテストキューブ内の指定スキャンチェーンの数が前記オリジナルテスト刺激ソースによって駆動されるべきスキャンチェーンの数を超える場合、前記拡張されたテストキューブを拒絶する工程と、
    前記対象故障リストから第3の故障に関して前記選択、拡張、判定および記憶する工程を繰り返す工程と、
    をさらに含むことを特徴とする、請求項92に記載の1つまたは複数のコンピュータ可読媒体。
  94. 前記オリジナルテスト刺激ソースによって駆動されるべきスキャンチェーンの数を判定する前記工程は、テスト刺激セレクタのためのコントローラのエンコード能力を判定する工程を含むことを特徴とする、請求項90に記載の1つまたは複数のコンピュータ可読媒体。
  95. 前記オリジナルテスト刺激ソースは、外部テスタによって提供される圧縮テストパターンを解凍するよう構成されているデコンプレッサであることを特徴とする、請求項90に記載の1つまたは複数のコンピュータ可読媒体。
  96. 前記方法は、前記テストキューブに基づいてテスト刺激セレクタのための制御信号を生成する工程をさらに含み、前記制御信号は、テスト中に前記テストキューブによるテストパターンがロードされるときに、前記テスト刺激セレクタに未指定のスキャンチェーンに定数値を適用させることができることを特徴とする、請求項90に記載の1つまたは複数のコンピュータ可読媒体。
  97. 前記オリジナルテスト刺激ソースによって駆動されるべきスキャンチェーンの数は、テスト刺激セレクタが個別に制御できるスキャンチェーンの最大数に基づくことを特徴とする、請求項90に記載の1つまたは複数のコンピュータ可読媒体。
  98. コンピュータに方法を実施させるためのコンピュータ実行可能命令を記憶している1つまたは複数のコンピュータ可読媒体であって、前記方法は、
    故障影響の観測に使用可能なスキャンチェーンの数を判定する工程であって、前記数は回路設計において利用できるスキャンチェーンの数未満である、工程と、
    対象故障リストからある故障を選択する工程と、
    前記選択した故障のテストキューブを生成する工程と、
    前記テストキューブから故障影響の観測に使用されるスキャンチェーンの数を判定する工程と、
    前記テストキューブから故障影響の観測に使用されるスキャンチェーンの数が、前記故障影響の観測に使用可能なスキャンチェーンの数未満であるか否かを評価する工程と、
    前記テストキューブから故障影響の観測に使用されるスキャンチェーンの数が、前記故障影響の観測に使用可能なスキャンチェーンの数未満である場合、前記テストキューブを記憶する工程と、
    を含む、1つまたは複数のコンピュータ可読媒体。
  99. 前記故障は第1故障であり、前記方法は、
    前記テストキューブから故障影響の観測に使用されるスキャンチェーンの数が、前記故障影響の観測に使用可能なスキャンチェーンの数を超える場合、前記テストキューブを拒絶する工程と、
    前記対象故障リストからの第2故障に関して前記選択、生成、判定、評価および記憶する工程を繰り返す工程と、
    をさらに含むことを特徴とする、請求項98に記載の1つまたは複数のコンピュータ可読媒体。
  100. 前記対象故障リストからの前記故障は前記対象故障リストからの第1故障であり、前記方法は、
    前記対象故障リストから第2故障を選択する工程と、
    前記第1故障のための前記テストキューブを、前記第2故障を検出するための1つまたは複数の追加の指定ビットを含むように拡張する工程と、
    前記1つまたは複数の追加の指定ビットにより、前記拡張されたテストキューブから故障影響の観測に使用されるスキャンチェーンの数が、前記故障影響の観測に使用可能なスキャンチェーンの数を超えるか否かを判定する工程と、
    前記テストキューブから故障影響の観測に使用されるスキャンチェーンの数が、前記故障影響の観測に使用可能なスキャンチェーンの数未満の場合、前記拡張されたテストキューブを記憶する工程と、
    をさらに含むことを特徴とする、請求項98に記載の1つまたは複数のコンピュータ可読媒体。
  101. 前記方法は、
    前記テストキューブから故障影響の観測に使用されるスキャンチェーンの数が、前記故障影響の観測に使用可能なスキャンチェーンの数を超える場合、前記拡張されたテストキューブを拒絶する工程と、
    前記対象故障リストからの第3故障に関して、前記選択、拡張、判定および記憶する工程を繰り返す工程と、
    をさらに含むことを特徴とする、請求項100に記載の1つまたは複数のコンピュータ可読媒体。
  102. 前記故障影響の観測に使用可能なスキャンチェーンの数を判定する工程は、スキャン・イネーブル回路のコントローラ、クロック・イネーブル回路のコントローラ、リセット・イネーブル回路のコントローラ、またはシフトクロック・イネーブル回路のコントローラのエンコード能力を判定する工程を含むことを特徴とする、請求項98に記載の1つまたは複数のコンピュータ可読媒体。
  103. 前記テストキューブから故障影響の観測に使用されるスキャンチェーンの数を判定する工程は、被テスト回路への前記テストキューブの適用をシミュレートする工程を含むことを特徴とする、請求項98に記載の1つまたは複数のコンピュータ可読媒体。
  104. 前記オリジナルテスト刺激ソースは、外部テスタによって提供される圧縮テストパターンを解凍するよう構成されているデコンプレッサであることを特徴とする、請求項98に記載の1つまたは複数のコンピュータ可読媒体。
  105. 前記方法は、前記テストキューブに基づいてスキャン・イネーブル回路のための制御信号を生成する工程をさらに含み、テスト中に前記テストキューブによるテストパターンが適用されたとき、前記制御信号は、前記スキャン・イネーブル回路に、前記テストキューブから故障影響を観測しないスキャンチェーンからのスキャン・イネーブル信号を抑制させることができることを特徴とする、請求項98に記載の1つまたは複数のコンピュータ可読媒体。
  106. 前記方法は、前記テストキューブに基づいてクロック・イネーブル回路のための制御信号を生成する工程をさらに含み、テスト中に前記テストキューブによるテストパターンが適用されたとき、前記制御信号は、前記クロック・イネーブル回路に、前記テストキューブから故障影響を観測しないスキャンチェーンからのクロック信号を抑制させることができることを特徴とする、請求項98に記載の1つまたは複数のコンピュータ可読媒体。
  107. 前記方法は、前記テストキューブに基づいてリセット・イネーブル回路のための制御信号を生成する工程をさらに含み、テスト中に前記テストキューブによるテストパターンに対するテスト応答を捕獲した後、前記制御信号は、前記リセット・イネーブル回路に、前記テストキューブから故障影響を観測しないスキャンチェーンにリセット信号を適用させることができることを特徴とする、請求項98に記載の1つまたは複数のコンピュータ可読媒体。
  108. 前記方法は、前記テストキューブに基づいてシフトクロック・イネーブル回路のための制御信号を生成する工程をさらに含み、テスト中に前記テストキューブによるテストパターンに対するテスト応答を捕獲した後、前記制御信号は、前記シフトクロック・イネーブル回路に、前記テストキューブから故障影響を観測しないスキャンチェーンからのシフトクロック信号を抑制させることができることを特徴とする、請求項98に記載の1つまたは複数のコンピュータ可読媒体。
  109. オリジナルテスト刺激ソースによって駆動されるべきスキャンチェーンの数を判定する工程をさらに含み、前記オリジナルテスト刺激ソースによって駆動されるべきスキャンチェーンの数は、スキャン・イネーブル回路、クロック・イネーブル回路、リセット・イネーブル回路、またはシフトクロック・イネーブル回路によって独立して制御できるスキャンチェーンの最大数に基づくことを特徴とする、請求項98に記載の1つまたは複数のコンピュータ可読媒体。
  110. コンピュータに方法を実施させるためのコンピュータ実行可能命令を記憶する1つまたは複数のコンピュータ可読媒体であって、前記方法は、
    被テスト回路へのテストパターンの適用をシミュレートし、それによってシミュレートされたテスト応答を生じる工程と、
    前記シミュレートされたテスト応答から未知状態を捕獲する前記被テスト回路の1つまたは複数のスキャンチェーンを特定する工程と、
    キャプチャウィンドウ中に、前記特定された1つまたは複数のスキャンチェーンで、スキャン・イネーブル回路にスキャン・イネーブル信号を抑制させる制御信号、前記キャプチャウィンドウ中に、前記特定された1つまたは複数のスキャンチェーンで、クロック・イネーブル回路に前記キャプチャ・クロックを抑制させる制御信号、または前記特定された1つまたは複数のスキャンチェーンで、リセット・イネーブル回路にリセット信号を生成させる制御信号を生成する工程と、
    前記制御信号を1つまたは複数のコンピュータ可読媒体に記憶する工程と、
    を含む、1つまたは複数のコンピュータ可読媒体。
JP2009549612A 2007-02-12 2008-02-12 低消費電力スキャンテスト技術および装置 Active JP5537158B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US90107907P 2007-02-12 2007-02-12
US60/901,079 2007-02-12
PCT/US2008/001866 WO2008100520A2 (en) 2007-02-12 2008-02-12 Low power scan testing techniques and apparatus

Publications (2)

Publication Number Publication Date
JP2010518405A true JP2010518405A (ja) 2010-05-27
JP5537158B2 JP5537158B2 (ja) 2014-07-02

Family

ID=39686586

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009549612A Active JP5537158B2 (ja) 2007-02-12 2008-02-12 低消費電力スキャンテスト技術および装置

Country Status (5)

Country Link
US (2) US7925465B2 (ja)
EP (1) EP2122466B1 (ja)
JP (1) JP5537158B2 (ja)
CN (1) CN101663648B (ja)
WO (1) WO2008100520A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2013175998A1 (ja) * 2012-05-23 2016-01-12 国立研究開発法人科学技術振興機構 故障検出システム、生成回路及びプログラム

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7925465B2 (en) 2007-02-12 2011-04-12 Mentor Graphics Corporation Low power scan testing techniques and apparatus
US8584073B2 (en) * 2008-07-21 2013-11-12 Synopsys, Inc. Test design optimizer for configurable scan architectures
US7979763B2 (en) * 2008-10-21 2011-07-12 Synopsys, Inc. Fully X-tolerant, very high scan compression scan test systems and techniques
US8065651B2 (en) * 2009-01-29 2011-11-22 Synopsys, Inc. Implementing hierarchical design-for-test logic for modular circuit design
JP5401119B2 (ja) * 2009-02-23 2014-01-29 ルネサスエレクトロニクス株式会社 半導体集積回路の設計方法、設計プログラム、及び半導体集積回路
CN102043124B (zh) * 2009-10-12 2013-07-17 炬力集成电路设计有限公司 一种具有扫描链的集成电路
JP5843358B2 (ja) * 2010-01-15 2016-01-13 国立大学法人 奈良先端科学技術大学院大学 半導体集積回路のテストパターン生成方法、プログラム、およびコンピュータ読み取り可能な記録媒体
US8832512B2 (en) * 2010-03-16 2014-09-09 Mentor Graphics Corporation Low power compression of incompatible test cubes
US20110298490A1 (en) * 2010-06-08 2011-12-08 Alan Scott Hearn Asymmetrical aging control system
US8412994B2 (en) 2010-09-17 2013-04-02 Lsi Corporation Design-for-test technique to reduce test volume including a clock gate controller
CN101975922A (zh) * 2010-10-11 2011-02-16 上海电力学院 低功耗扫描测试电路及运行方法
US20120209556A1 (en) * 2011-02-02 2012-08-16 Mentor Graphics Corporation Low Power Scan-Based Testing
US8566658B2 (en) * 2011-03-25 2013-10-22 Lsi Corporation Low-power and area-efficient scan cell for integrated circuit testing
US8683280B2 (en) * 2011-04-19 2014-03-25 Mentor Graphics Corporation Test generator for low power built-in self-test
US8694843B2 (en) * 2011-08-04 2014-04-08 Texas Instruments Incorporated Clock control of pipelined memory for improved delay fault testing
US8850280B2 (en) * 2011-10-28 2014-09-30 Lsi Corporation Scan enable timing control for testing of scan cells
US8700962B2 (en) * 2012-07-27 2014-04-15 Lsi Corporation Scan test circuitry configured to prevent capture of potentially non-deterministic values
WO2014049395A1 (en) * 2012-09-27 2014-04-03 Freescale Semiconductor, Inc. Scan test system
US9116205B2 (en) * 2012-09-27 2015-08-25 International Business Machines Corporation Test coverage of integrated circuits with test vector input spreading
CN102841307B (zh) * 2012-09-29 2015-07-22 南京理工大学常熟研究院有限公司 一种逻辑故障定位的方法
US10345369B2 (en) 2012-10-02 2019-07-09 Synopsys, Inc. Augmented power-aware decompressor
US20140149812A1 (en) * 2012-11-27 2014-05-29 Lsi Corporation Scan test circuitry with control circuitry configured to support a debug mode of operation
US9222981B2 (en) 2012-12-28 2015-12-29 Nvidia Corporation Global low power capture scheme for cores
US9377510B2 (en) 2012-12-28 2016-06-28 Nvidia Corporation System for reducing peak power during scan shift at the global level for scan based tests
US9395414B2 (en) 2012-12-28 2016-07-19 Nvidia Corporation System for reducing peak power during scan shift at the local level for scan based tests
CN103076559B (zh) * 2012-12-29 2015-02-04 东南大学 一种针对扫描测试中移位功耗的优化方法
US9291676B2 (en) * 2013-02-21 2016-03-22 Advanced Micro Devices, Inc. Scan warmup scheme for mitigating di/dt during scan test
US9086457B2 (en) 2013-03-26 2015-07-21 International Business Machines Corporation Scan chain latch design that improves testability of integrated circuits
US9057765B2 (en) 2013-04-12 2015-06-16 International Business Machines Corporation Scan compression ratio based on fault density
US9182445B2 (en) * 2013-05-06 2015-11-10 Broadcom Corporation Integrated circuit with toggle suppression logic
US9588179B2 (en) * 2013-06-12 2017-03-07 Synopsys, Inc. Scheme for masking output of scan chains in test circuit
US9003248B2 (en) * 2013-06-17 2015-04-07 Mentor Graphics Corporation Fault-driven scan chain configuration for test-per-clock
US9564877B2 (en) * 2014-04-11 2017-02-07 Qualcomm Incorporated Reset scheme for scan chains with asynchronous reset signals
CN103983912B (zh) * 2014-05-05 2017-07-11 三星半导体(中国)研究开发有限公司 适用于片上系统的扫描测试控制电路
US10120029B2 (en) * 2014-05-12 2018-11-06 Mentor Graphics Corporation Low power testing based on dynamic grouping of scan
JP6491507B2 (ja) * 2015-03-20 2019-03-27 ルネサスエレクトロニクス株式会社 半導体装置、電子装置および半導体装置の自己診断方法
CN104698367B (zh) * 2015-03-31 2018-05-25 中国人民解放军国防科学技术大学 一种降低扫描测试中被测组合电路功耗的方法
EP3082000B1 (de) * 2015-04-15 2020-06-10 dSPACE digital signal processing and control engineering GmbH Verfahren und system zum testen eines mechatronischen systems
US9651623B2 (en) 2015-09-11 2017-05-16 International Business Machines Corporation Reducing power requirements and switching during logic built-in-self-test and scan test
US10078114B2 (en) * 2015-09-24 2018-09-18 Renesas Electronics Corporation Test point circuit, scan flip-flop for sequential test, semiconductor device and design device
CN106771958B (zh) 2015-11-19 2020-11-03 恩智浦美国有限公司 具有低功率扫描系统的集成电路
US10380303B2 (en) * 2015-11-30 2019-08-13 Synopsys, Inc. Power-aware dynamic encoding
CN105719699B (zh) * 2016-01-15 2019-05-17 西安紫光国芯半导体有限公司 一种提高dram后端测试良率的方法
CN107300948A (zh) * 2016-04-14 2017-10-27 飞思卡尔半导体公司 具有多位时钟门控单元的集成电路
US10126896B2 (en) * 2016-06-28 2018-11-13 Synaptics Incorporated Selective receiver electrode scanning
TWI609190B (zh) * 2016-08-05 2017-12-21 國立成功大學 可將測試資料儲存於掃描鏈的積體電路自動測試架構及其方法
CN107783030B (zh) 2016-08-29 2021-04-23 恩智浦美国有限公司 具有低功率扫描系统的集成电路
TWI612317B (zh) * 2016-11-01 2018-01-21 國立成功大學 一種測試資料之解壓縮器及其測試方法
US10473717B2 (en) * 2016-11-09 2019-11-12 Texas Instruments Incorporated Methods and apparatus for test insertion points
US10509072B2 (en) * 2017-03-03 2019-12-17 Mentor Graphics Corporation Test application time reduction using capture-per-cycle test points
US10353001B2 (en) 2017-06-01 2019-07-16 Seagate Technology Llc Rapid scan testing of integrated circuit chips
US10921371B2 (en) * 2017-07-05 2021-02-16 Seagate Technology Llc Programmable scan shift testing
CN107544017B (zh) * 2017-07-12 2020-06-16 清华大学 基于向量压缩的低功耗加权伪随机测试方法及相关设备
US10502784B2 (en) * 2017-09-22 2019-12-10 Stmicroelectronics International N.V. Voltage level monitoring of an integrated circuit for production test and debug
CN108169665A (zh) * 2017-11-28 2018-06-15 深圳市时代云海科技有限公司 一种芯片低功耗测试电路和方法
US10459029B2 (en) 2018-01-08 2019-10-29 Seagate Technology Llc On-chip clock control monitoring
US10324131B1 (en) * 2018-01-16 2019-06-18 Qualcomm Incorporated Laser-based integrated circuit testing techniques
US10222421B1 (en) * 2018-02-14 2019-03-05 Silicon Laboratories Inc. Method for detecting faults on retention cell pins
CN112154336B (zh) * 2018-03-22 2024-03-29 西门子工业软件有限公司 确定性星体内建自测
US10996273B2 (en) * 2018-03-22 2021-05-04 Siemens Industry Software Inc. Test generation using testability-based guidance
CN112154338B (zh) * 2018-03-22 2023-05-30 西门子工业软件有限公司 用于测试压缩的灵活的等距解压缩器架构
US10783299B1 (en) * 2018-03-27 2020-09-22 Cadence Design Systems, Inc. Simulation event reduction and power control during MBIST through clock tree management
CN110514981B (zh) * 2018-05-22 2022-04-12 龙芯中科技术股份有限公司 集成电路的时钟控制方法、装置及集成电路
US10775432B2 (en) * 2018-05-30 2020-09-15 Seagate Technology Llc Programmable scan compression
US10908213B1 (en) 2018-09-28 2021-02-02 Synopsys, Inc. Reducing X-masking effect for linear time compactors
TWI681200B (zh) * 2018-10-19 2020-01-01 瑞昱半導體股份有限公司 晶片
CN114667455A (zh) * 2019-09-06 2022-06-24 西门子工业软件有限公司 用于测试电路的通用压缩器架构
CN111175635B (zh) * 2019-12-31 2021-12-03 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) 集成电路测试装置
WO2021146382A1 (en) * 2020-01-16 2021-07-22 Lightmatter, Inc. Pin sharing for photonic processors
JP7305583B2 (ja) * 2020-03-05 2023-07-10 株式会社東芝 半導体集積回路
CN111766505B (zh) * 2020-06-30 2023-04-25 山东云海国创云计算装备产业创新中心有限公司 一种集成电路的扫描测试装置
KR20220046796A (ko) * 2020-10-08 2022-04-15 삼성전자주식회사 전자 장치 및 그 제어 방법
US11592482B1 (en) * 2021-03-17 2023-02-28 Cadence Design Systems, Inc. Scan channel slicing for compression-mode testing of scan chains
US11320487B1 (en) * 2021-05-26 2022-05-03 Siemens Industry Software Inc. Programmable test compactor for improving defect determination
CN114217211B (zh) * 2021-12-15 2023-09-01 四川创安微电子有限公司 一种降低扫描链动态测试功耗的电路及其控制方法
CN114280454B (zh) * 2021-12-27 2024-01-23 西安爱芯元智科技有限公司 芯片测试方法、装置、芯片测试机及存储介质
US11953548B2 (en) * 2022-01-14 2024-04-09 University Of Florida Research Foundation, Incorporated Invisible scan architecture for secure testing of digital designs
CN114113989B (zh) * 2022-01-26 2022-05-06 成都爱旗科技有限公司 一种dft测试装置、测试系统以及测试方法
CN116224045B (zh) * 2023-05-08 2023-08-15 上海励驰半导体有限公司 一种测试电路及降低扫描测试中捕获阶段功耗的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2584172B2 (ja) * 1991-08-23 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション デイジタル試験信号発生回路
JPH09281192A (ja) * 1996-04-18 1997-10-31 Hitachi Ltd 論理集積回路の自己診断回路

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5592493A (en) * 1994-09-13 1997-01-07 Motorola Inc. Serial scan chain architecture for a data processing system and method of operation
US5737340A (en) * 1996-07-01 1998-04-07 Mentor Graphics Corporation Multi-phase test point insertion for built-in self test of integrated circuits
US5907562A (en) * 1996-07-31 1999-05-25 Nokia Mobile Phones Limited Testable integrated circuit with reduced power dissipation
US5991909A (en) * 1996-10-15 1999-11-23 Mentor Graphics Corporation Parallel decompressor and related methods and apparatuses
US5991898A (en) * 1997-03-10 1999-11-23 Mentor Graphics Corporation Arithmetic built-in self test of multiple scan-based integrated circuits
US6966021B2 (en) * 1998-06-16 2005-11-15 Janusz Rajski Method and apparatus for at-speed testing of digital circuits
US6694467B2 (en) * 1999-06-24 2004-02-17 Texas Instruments Incorporated Low power testing of very large circuits
US6519729B1 (en) * 1998-06-27 2003-02-11 Texas Instruments Incorporated Reduced power testing with equally divided scan paths
US7480606B2 (en) 1998-08-31 2009-01-20 Versity Design, Inc. VCD-on-demand system and method
US6114892A (en) * 1998-08-31 2000-09-05 Adaptec, Inc. Low power scan test cell and method for making the same
US6874109B1 (en) 1999-11-23 2005-03-29 Janusz Rajski Phase shifter with reduced linear dependency
US7493540B1 (en) 1999-11-23 2009-02-17 Jansuz Rajski Continuous application and decompression of test patterns to a circuit-under-test
US6327687B1 (en) * 1999-11-23 2001-12-04 Janusz Rajski Test pattern compression for an integrated circuit test environment
US6684358B1 (en) * 1999-11-23 2004-01-27 Janusz Rajski Decompressor/PRPG for applying pseudo-random and deterministic test patterns
US6557129B1 (en) 1999-11-23 2003-04-29 Janusz Rajski Method and apparatus for selectively compacting test responses
JP3845016B2 (ja) 1999-11-23 2006-11-15 メンター・グラフィクス・コーポレーション テスト中回路技術分野へのテストパターンの連続的な適用およびデコンプレッション
US6353842B1 (en) 1999-11-23 2002-03-05 Janusz Rajski Method for synthesizing linear finite state machines
US6769080B2 (en) * 2000-03-09 2004-07-27 Texas Instruments Incorporated Scan circuit low power adapter with counter
US6766487B2 (en) * 2000-03-09 2004-07-20 Texas Instruments Incorporated Divided scan path with decode logic receiving select control signals
EP1146343B1 (en) * 2000-03-09 2005-02-23 Texas Instruments Incorporated Adapting Scan-BIST architectures for low power operation
US7444567B2 (en) * 2002-04-09 2008-10-28 Syntest Technologies, Inc. Method and apparatus for unifying self-test with scan-test during prototype debug and production test
ATE504446T1 (de) 2002-12-02 2011-04-15 Silverbrook Res Pty Ltd Totdüsenausgleich
US7051255B2 (en) * 2002-12-20 2006-05-23 International Business Machines Corporation Method and apparatus for reducing power dissipation in latches during scan operation
US7444546B2 (en) * 2003-04-17 2008-10-28 Arm Limited On-board diagnostic circuit for an integrated circuit
US7032148B2 (en) * 2003-07-07 2006-04-18 Syntest Technologies, Inc. Mask network design for scan-based integrated circuits
US7109747B1 (en) * 2004-09-09 2006-09-19 National Semiconductor Corporation Low power, high speed logic controller that implements thermometer-type control logic by utilizing scan flip-flops and a gated clock
KR100708462B1 (ko) 2005-05-27 2007-04-18 연세대학교 산학협력단 천이감시 윈도우를 이용한 lfsr 천이수 감소방법 및 그장치
CN101405609B (zh) 2006-02-17 2012-11-14 明导公司 多级测试响应压缩器
US7685491B2 (en) 2006-04-05 2010-03-23 Xijiang Lin Test generation methods for reducing power dissipation and supply currents
US7797603B2 (en) 2006-07-21 2010-09-14 Janusz Rajski Low power decompression of test cubes
US7647540B2 (en) 2006-07-21 2010-01-12 Janusz Rajski Decompressors for low power decompression of test patterns
US7925465B2 (en) 2007-02-12 2011-04-12 Mentor Graphics Corporation Low power scan testing techniques and apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2584172B2 (ja) * 1991-08-23 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション デイジタル試験信号発生回路
JPH09281192A (ja) * 1996-04-18 1997-10-31 Hitachi Ltd 論理集積回路の自己診断回路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2013175998A1 (ja) * 2012-05-23 2016-01-12 国立研究開発法人科学技術振興機構 故障検出システム、生成回路及びプログラム

Also Published As

Publication number Publication date
CN101663648B (zh) 2012-10-03
EP2122466A2 (en) 2009-11-25
EP2122466B1 (en) 2015-04-29
US20110166818A1 (en) 2011-07-07
WO2008100520A3 (en) 2008-12-11
JP5537158B2 (ja) 2014-07-02
US20080195346A1 (en) 2008-08-14
EP2122466A4 (en) 2013-03-06
CN101663648A (zh) 2010-03-03
US7925465B2 (en) 2011-04-12
US8290738B2 (en) 2012-10-16
WO2008100520A2 (en) 2008-08-21

Similar Documents

Publication Publication Date Title
JP5537158B2 (ja) 低消費電力スキャンテスト技術および装置
JP5591886B2 (ja) 完全に不定値許容性であって非常に高スキャン圧縮なスキャンテストシステム及び技術
US7840865B2 (en) Built-in self-test of integrated circuits using selectable weighting of test patterns
US11585853B2 (en) Trajectory-optimized test pattern generation for built-in self-test
EP3756020B1 (en) Deterministic stellar built-in self-test
US11815555B2 (en) Universal compactor architecture for testing circuits
US10996273B2 (en) Test generation using testability-based guidance
US11150299B2 (en) Flexible isometric decompressor architecture for test compression
Moghaddam et al. Low capture power at-speed test in EDT environment
Wohl et al. Increasing scan compression by using X-chains
US11422188B2 (en) Isometric control data generation for test compression
US11232246B2 (en) Layout-friendly test pattern decompressor
BHARGAVI et al. IMPLEMENTATION OF MEMORY BUILT-IN SELF-TEST ENABLED RAM WITH USING BIT SWAPPING COMPLETE FEEDBACK SHIFT REGISTER
SRINIVAS et al. Functional Broad Side Tests for Embedded Logic Blocks
POTHULA et al. Optimized Low Power Pseudo-Functional Scan-Based BIST for Delay Fault Using LP-LFSR
Rashid Controlled Transition Density Based Power Constrained Scan-BIST with Reduced Test Time
BABU et al. Performance Evaluation of Built-In Sharing Logic for Low-Power Application
ANANDARAO et al. Realization of Built In Self Test for Low Power and Low Area Applications
PASUPULETI et al. Implementation of Power Optimized PRPG with Low Transition Test Compression Technique
VIJAYALAKSHMI et al. Optimized Pattern Generation using MSIC with Bit-Swapping LFSR Based on BIST Schemes
Goel et al. Power-aware test data compression and bist
HAMZA et al. Design of Test Pattern for Multiple SIC Vectors: Theory & Application in BIST Schemes
Tenentes et al. Technical Report on

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100621

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110203

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120629

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130110

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130409

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130416

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130510

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130517

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130617

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130617

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140327

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140425

R150 Certificate of patent or registration of utility model

Ref document number: 5537158

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250