(57)【特許請求の範囲】
【請求項１】
イベント型テストシステムを用いてＩＣデバイスのタイミングに関する不良を検出するテスト方法において、
被試験ＩＣデバイス（ＤＵＴ）にテスト信号を供給し、ＤＵＴからの応答出力における不良を検出するステップと、
その応答出力から検出したその不良と関連する基準クロック信号を特定するステップと、
その特定した基準クロック信号についてタイミングの延長・短縮を行うべきエッジを特定するステップと、
上記応答出力状態が変化してパス結果が検出されるまで、テスト信号のタイミングを変更せず、その基準クロック信号の特定エッジのイベントタイミングのみを段階的に変更するステップと、
上記のステップを残存するテストに繰り返すステップと、
により構成されるテスト方法。
【請求項２】
上記基準クロック信号の上記特定エッジのイベントタイミングを段階的に変更するステップは、イベント型テストシステムにおけるその基準クロック信号の特定エッジと関連するイベントについてのイベントタイミングデータを変更するステップを有する、請求項１に記載のテスト方法。
【請求項３】
上記基準クロック信号の上記特定エッジのタイミングを段階的に変更するステップは、その基準クロック信号の特定エッジと関連するイベントと同じイベントタイプを２回又はそれ以上連続して繰り返すにようにイベントデータを変更するステップを有する、請求項１に記載のテスト方法。
【請求項４】
上記基準クロック信号の上記特定エッジのタイミングを段階的に変更するステップは、その基準クロック信号の特定エッジと関連するイベントの前のイベントからのタイミングを延長又は短縮するように変更するステップを有する、請求項１に記載のテスト方法。
【請求項５】
上記基準クロック信号の上記特定エッジのイベントのタイミングを段階的に変更するステップは、ＤＵＴの応答出力がストローブのタイミングにおいてパス結果を示すまでタイミングの延長又は短縮を変更してそのパス結果が検出されるまでの延長又は短縮のタイミング範囲を取得するステップを有する、請求項１に記載のテスト方法。
【請求項６】
上記基準クロック信号のイベントのタイミングを選択されたスケールファクターに比例して変更するステップを更に有する、請求項１に記載のテスト方法。
【請求項７】
上記基準クロック信号のイベントのタイミングを変更するステップは、テストパターンの２またはそれ以上の選択された部分における基準クロック信号のイベントのタイミングをスケーリングするステップを更に有し、上記テストパターンの各選択部分の基準クロック信号のイベントのタイミングを選択されたスケールファクターに比例して変更する、請求項６に記載のテスト方法。
【請求項８】
上記検出された不良に関して、他の種類の不良からタイミング関連の不良を識別するための動作の時間制限を定義するために最大基準クロック数または終了時間を規定するステップを更に有する、請求項１に記載のテスト方法。
【請求項９】
上記最大基準クロック数または終了時間を規定するステップは、ＤＵＴの応答出力からパス結果を検出する前にその最大基準クロック数または終了時間に達したときは、その検出した不良がタイミング関連の不良でないことを決定するステップを更に有する、請求項８に記載のテスト方法。
【請求項１０】
上記検出した不良の時間に基づいてイベント間隔を特定するステップを更に有し、そのイベント間隔は基準クロック信号を構成する１またはそれ以上のイベントを含む時間範囲であり、そのイベント間隔内のイベントのタイミングを変更して基準クロック信号の特定エッジのタイミングを延長又は短縮する、請求項１に記載のテスト方法。
【請求項１１】
イベント型テストシステムを用いてＩＣデバイスのタイミングに関する不良を検出するテスト装置において、
被試験ＩＣデバイス（ＤＵＴ）にテスト信号を供給し、ＤＵＴからの応答出力における不良を検出する手段と、
その応答出力から検出したその不良と関連する基準クロック信号を特定する手段と、
その特定した基準クロック信号についてタイミングの延長・短縮を行うべきエッジを特定する手段と、
上記応答出力状態が変化してパス結果が検出されるまで、テスト信号のタイミングを変更せず、その基準クロック信号の特定エッジのイベントタイミングのみを段階的に変更する手段と、
上記のステップを残存するテストに繰り返す手段と、
により構成されるテスト装置。
【請求項１２】
上記基準クロック信号の特定エッジ部分のイベントタイミングを段階的に変更する手段は、イベント型テストシステムにおけるその基準クロック信号の特定エッジと関連するイベントについてのイベントタイミングデータを変更する手段を有する、請求項１１に記載のテスト装置。
【請求項１３】
上記基準クロック信号の特定エッジのタイミングを段階的に変更する手段は、その基準クロック信号の特定エッジと関連するイベントと同じイベントタイプを２回又はそれ以上連続して繰り返すにようにイベントデータを変更する手段を有する、請求項１１に記載のテスト装置。
【請求項１４】
上記基準クロック信号の特定エッジのタイミングを段階的に変更する手段、その基準クロック信号の特定エッジと関連するイベントの前のイベントからのタイミングを延長又は短縮するように変更する手段を有する、請求項１１に記載のテスト装置。
【請求項１５】
上記基準クロック信号の特定エッジのイベントのタイミングを段階的に変更する手段は、ＤＵＴの応答出力がストローブのタイミングにおいてパス結果を示すまでタイミングの延長又は短縮を変更してそのパス結果が検出されるまでの延長又は短縮のタイミング範囲を取得する手段を有する、請求項１１に記載のテスト装置。
【請求項１６】
上記基準クロック信号のイベントのタイミングを選択されたスケールファクターに比例して変更する手段を更に有する、請求項１１に記載のテスト装置。
【請求項１７】
上記基準クロック信号のイベントのタイミングを変更する手段は、テストパターンの２またはそれ以上の選択された部分における基準クロック信号のイベントのタイミングをスケーリングする手段を更に有し、上記テストパターンの各選択部分の基準クロック信号のイベントのタイミングを選択されたスケールファクターに比例して変更する、請求項１６に記載のテスト装置。
【請求項１８】
上記検出された不良に関して、他の種類の不良からタイミング関連の不良を識別するための動作の時間制限を定義するために最大基準クロック数または終了時間を規定する手段を更に有する、請求項１１に記載のテスト装置。
【請求項１９】
上記最大基準クロック数または終了時間を規定する手段は、ＤＵＴの応答出力からパス結果を検出する前にその最大基準クロック数または終了時間に達したときは、その検出した不良がタイミング関連の不良でないことを決定する手段を更に有する、請求項１８に記載のテスト装置。
【請求項２０】
上記検出した不良の時間に基づいてイベント間隔を特定する手段を更に有し、そのイベント間隔は基準クロック信号を構成する１またはそれ以上のイベントを含む時間範囲であり、そのイベント間隔内のイベントのタイミングを変更して基準クロック信号の特定エッジのタイミングを延長又は短縮する、請求項１１に記載のテスト装置。
【発明の詳細な説明】
【発明の分野】
【０００１】
本発明は集積回路のタイミング関連の不良をデバッグするためのテスト方法に関し、特に、時間分割した波形と時間のセットを用いた従来のサイクル形式によるテスト方法とは異なり、イベントとそのタイミングによって定義されるテスト信号を用いてＩＣデバイスのタイミング分析を行うイベント形式によるテスト方法に関する。
【発明の背景】
【０００２】
集積回路（ＩＣ）デバイスのタイミング関連の不良は、様々な原因により発生する。それには例えば、製造過程の変化、物理的な欠陥、温度・環境の変動などの要因が含まれる。ＩＣデバイスに不良が検出された場合、それが実際にタイミング関連の不良であるのかを決定し、もしそうである場合には、その不良のタイミング範囲を特定することが好ましい。
【０００３】
一般に、半導体テストシステムは被試験ＩＣデバイス（ＤＵＴ）にテスト信号を供給し、ＤＵＴからそのテスト信号に応答して発生した出力信号を受信する。そしてストローブにより所定のタイミングでその応答出力信号の取り出し、期待値データと比較してそのＤＵＴが正しく機能しているかを判定する。
【０００４】
図１は、従来の半導体テストシステムの構成例を示しており、これはサイクル化（サイクル型）テストシステムである。図１のテストシステムにおいて、パターン発生器２はテストプロセッサ１からテストデータを受信する。パターン発生器２はテストデータに基づいてパターンデータを発生し、そのパターンデータを波形整形器４に供給する。またパターン発生器２は期待値パターンを発生し、その期待値パターンをパターンコンパレータ７に供給する。タイミング発生器３は波形整形器４にタイミングデータと波形データを供給する。また、タイミング発生器３は、テストシステム全体の動作を同期させるためのタイミング信号を発生する。
【０００５】
パターン（テストベクトル）データは、テスト信号波形の０あるいは１、すなわちロジックレベルを定義する。タイミングデータ（タイムセットデータ）は、波形の属するテストサイクルの、開始エッジに対する立ち上がりエッジと下降エッジのタイミング（遅延時間）を定義する。波形データは特定のテストサイクルにおける波形、例えばＲＺ（リターンゼロ）、ＮＲＺ（ノンリターンゼロ）、ＥＯＲ（エクスクルーシブＯＲ）を定義する。波形整形器４は、パターン発生器２からのパターンデータ、タイミング発生器３からのテストサイクルパルス（タイムセット）、タイミングデータおよび波形データに基づいて、所定の波形とタイミングとを具備するテスト信号を形成する。波形整形器４は、そのテスト信号（テストパターン）を、ドライバー５を介してＤＵＴ９に供給する。
【０００６】
ＤＵＴ９からの応答信号は、アナログコンパレータ６により、予め定めたストローブタイミングにおいて、基準電圧と比較される。その結果アナログコンパレータ６から出力されたロジック信号は、パターンコンパレータ７に供給され、そこで期待値パターンとロジック比較が行われる。パターンコンパレータ７は、２つのパターンが互いにマッチするかをチェックすることにより、ＤＵＴ９に不良があるかを決定する。もし、不良を検出すると、その不良情報がフェイルメモリ８に送られ、パターン発生器２からのＤＵＴ９の不良アドレス情報と共にフェイルメモリ８に格納され、後の不良解析に用いられる。
【０００７】
上述したように、図１に示すような従来の半導体テストシステムでは、ＤＵＴに与えるテスト信号は、３種のデータに基づいてサイクル形式で構成されている。この３種のデータとは、パターン（ベクトル）データ、タイミングデータ、そして波形データである。この従来技術のデータ構造については、本発明を実施するイベント型テストシステムとの相違を明確にするために、図３を参照にして後で詳説する。サイクル型テストシステムにおいては、テスト信号のタイミングを、対応するテストサイクル用の１または２以上のタイミングセットを選択することで形成するので、被試験ＩＣデバイスのタイミング分析を行う際の能力と柔軟性が制限されてしまう。
【０００８】
すなわち、ＩＣデバイスのタイミング不良をデバッグするには、テスト信号の任意の箇所のタイミングを自由に変更できることが好ましい。現在の半導体テストシステムでは、信号の一部のタイミング変更は、信号波形のタイミングを変えることで実施している。これを実行するには、特定のテストサイクルにおけるテスト信号の特定部分において、波形を形成するタイムセットを追加あるいは削除することにより行う。この方法の主な難点は、サイクル型半導体テストシステムには限られた数のタイムセットしかないことである。
【０００９】
例えば、株式会社アドバンテストによるＴ６６００シリーズのＩＣテスターには、６のタイムセットがあり、商用的に入手できる他のＩＣテスターも８までのタイムセットしかない。これらのタイムセットは現時点でのＩＣデバイスに用いる通常のテスト信号には十分ではあるが、タイミングデバッグのために、テスト信号のタイミングを延長する（例えば、特定のエッジのタイミングをシフトまたはオフセットする）ように設定できるほどの数のタイムセットを有していない。ＩＣデバイスの回路が大型の場合には、複数の信号と、各信号について複数の部分を、タイミング延長する必要が生じうる。タイムセットの数に限りがあるので、従来技術の半導体テストシステムにおいてタイミング関連の不良のデバッグを行うのは困難である。
【００１０】
従って、テスト信号のタイミングを延長または短縮する箇所を特定して、その延長・短縮が自由に実行ができるような系統的な方法が必要である。また、従来のタイムセットで波形を定義する方法は、タイムセット数に限界があるので適当ではない。
【発明の概要】
【００１１】
したがって、本発明の目的は、被試験ＩＣデバイスのタイミングに関する不良を特定する為に、テスト信号の特定箇所のタイミングを拡張あるいは縮小して、その特定箇所のタイミングをシフトすることができるテスト方法を提供することにある。
本発明の他の目的は、イベント型テストシステムにより実行されるイベントデータを変更することにより、テスト信号の一部あるいは全体のタイミングを拡大また縮小することができるテスト方法を提供することにある。
【００１２】
本発明の他の目的は、テスト信号の全てのイベントに対してイベントクロックのレートを変更することにより、全てのテスト信号のタイミングを延長あるいは短縮することができるテスト方法を提供することにある。
本発明の他の目的は、テストパターンの長さ方向の各タイムスロット用について、スケールファクターをダイナミックに変更することによりクロックレートを変更することができるテスト方法を提供することにある。
【００１３】
本発明のテスト方法は、テスト信号のタイミングを拡大あるいは縮小することにより、検出された不良がタイミングに関する不良であるか否かを決定する。このテスト方法は、ＤＵＴにテスト信号を送り、そのＤＵＴからの応答出力を評価するステップと、応答信号中の不良を検出するステップと、その不良に関する基準信号を特定するステップと、その基準信号の一部を特定するステップと、ＤＵＴからの応答出力からパス結果が検出されるようにその基準信号の特定した一部のタイミングを段階的に変化させるステップとにより構成される。
【００１４】
本発明の主要な利点は、イベント型であるゆえに、従来の半導体テストシステムにおける時間セットと波形グループの数の制限を克服できることである。本発明の方法は系統的であり容易に自動化できる。この方法はイベントタイミングを変化させることに基づいているので、どのイベントも時間をシフトさせることができる。１又は少数のイベントを変更することにより、テスト信号の一部の時間を延長又は短縮することができ、また全てのイベントを変更することにより、全てのテスト信号の時間を延長または短縮することができる。
【発明の実施例の詳細な説明】
【００１５】
添付の図を参照して、被試験ＩＣデバイスのタイミング関連不良をデバッグするための本発明のテスト方法を説明する。本発明のテスト方法は、通常のサイクル型テストシステムではなく、イベント型テストシステムにおいて実施される。イベント型テストシステムの概念は、本発明の出願人が所有する米国特許番号6,360,343と6,532,561により詳細に説明されており、これら両文献を本出願開示内容として編入する。本発明のテスト方法を詳説する前に、イベント型テストシステムの概要を図２および図３を参照して説明する。
【００１６】
図２は、本発明のテスト方法を実施するためのイベント型テストシステの基本構成例を示したブロック図である。イベント型テストシステムは、システムバス１４に接続されたホストコンピュータ１２とバスインターフェイス１３、内部バス１５、アドレスコントロールロジック１８、フェイルメモリ１７、イベントカウントメモリ２０とイベントバーニアメモリ２１とで構成されたイベントメモリ１９、イベントサミングスケーリングロジック２２、イベント発生器２４、そしてピンエレクトロニックス２６を有して構成されている。イベント型テストシステムは、ピンエレクトロニックス２６に接続された被テストＩＣ部品（ＤＵＴ）２８を検証する。
【００１７】
ホストコンピュータ１２の例は、ＵＮＩＸ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）、またはＬｉｎｕｘ等のオペレーティングシステムを搭載したワークステーションである。ホストコンピュータ１２は、テストの開始と停止をユーザーが指示できるようにしたり、テストプログラムや他のテスト条件をロードしたり、テスト結果解析をする際のユーザーインターフェイスとして機能する。ホストコンピュータ１２は、システムバス１４とバスインターフェイス１３を介してテストシステムハードウェアとインターフェイスする。図示していないが、ホストコンピュータ１２は他のテストシステムやコンピュータネットワークとのテスト情報の送受信が行えるように、コミュニケーションネットワークと接続するのが好ましい。
【００１８】
内部バス１５は、テストシステムハードウェア内のバスであり、一般にほとんどの機能ブロックと接続している。アドレスコントロールロジック１８は、ホストコンピュータ１２からのテストプログラムと条件に基づいて、テストシステム内の他の機能ブロックに指示を送る。フェイルメモリ１７は、例えばＤＵＴ２８の不良情報のようなテスト結果を、アドレスコントロールロジック１８の定めるアドレスに格納する。フェイルメモリ１７内の情報は、被試験デバイスの不良解析の段階において用いられる。
【００１９】
アドレスコントロールロジック１８は、図２に示したイベントカウントメモリ２０とイベントバーニアメモリ２１とにより構成されたイベントメモリ１９に、アドレスデータを供給する。実際のテストシステムでは、イベントメモリの各セットが複数個装備され、それぞれがテストシステムのテストピンに対応するように構成される。イベントメモリ１９において、イベントカウントメモリ２０とイベントバーニアメモリ２１は各イベントのタイミングデータとイベントタイプデータを格納する。イベントカウントメモリ２０は、基準クロック（整数部）の整数倍であるタイミングデータを格納し、イベントバーニアメモリ２１は、基準クロック（端数部）の端数であるタイミングデータを格納する。例えば、各イベントのタイミングデータは、隣接する２つのイベント間の時間差（デルタ時間）として表現される。
【００２０】
イベントサミングスケーリングロジック２２は、イベントカウントメモリ２０とイベントバーニアメモリ２１からのデルタタイミングデータに基づき、各イベントの総合的なタイミングを示すデータを生成するものである。基本的に、このような総合的なタイミングデータは、整数倍データと端数データとを合計して生成される。タイミングデータを合計する手順において、フラクショナルデータのキャリーオーバー動作（整数データへのオフセット）もタイミングカウント・オフセットロジック２２により行われる。本発明に関わるタイミングシフト機能とクロックスケーリング機能は、イベントサミングスケーリングロジック２２によって実行される。
【００２１】
イベント発生器２４は、イベントサミングスケーリングロジック２２からの総合的なタイミングデータに基づいてイベントを実際に発生するためのものである。このように発生されたイベント（例えば、テスト信号と期待値）は、ピンエレクトロニックス２６を介してＤＵＴ２８に供給される。基本的に、ピンエレクトロニックス２６は、多数の構成要素により形成されており、各構成要素はそれぞれがＤＵＴ２８との入力・出力関係を形成するためのスイッチや、ドライバーおよびコンパレータを有している。
【００２２】
図３は、同一のテスト信号（パターン）を発生する場合において、従来のサイクル型テストシステムにより用いられるデータ構造と、イベント型テストシステムにより用いられるデータ構造との比較図である。この例では、テストパターン波形３１を、サイクル形式のテストデータで発生する場合と、イベント形式のテストデータで発生する場合とを比較する。テストパターン波形３１は、ＩＣデバイスの２つのピンＳａとＳｂに供給する。このＩＣデバイスは一般に、ロジックシミュレーションの結果であるＶＣＤ（Value  Change  Dump  of  Verilog）記述３９に示すようなＩＣデバイスのデザイン段階でのロジックシミュレーションにより形成される。
【００２３】
波形３１を形成するには、イベント型テストシステムに用いるイベント形式テストデータは、イベント型記述３８に示すように、セットとリセットエッジのＳａｎ，Ｓｂｎ，Ｒａｎ，Ｒｂｎとの組み合わせにより波形を記述し、またそのタイミングを記述する。この記述には、各イベントのタイミングは、前イベントからの相対的な時間や、特定の基準値からの絶対時間により表現している。図３に示すように、イベント型記述３８はＶＣＤ記述３９と基本的に同じである。
【００２４】
サイクル型の概念に基づいた従来のテストシステムにおいてテストパターン波形３１を形成するには、テストデータを、テストサイクル（タイムセット）、波形（波形タイプとそのエッジタイミング）、ベクトル（パターン値）とに分割する必要がある。より具体的には、サイクル型データ構造に関して、ベクトル（パターン）データ３５とテストサイクル（タイムセット）データ３３が、図３の左側に示されている。図３に示すように、テストパターンは各テストサイクルに分割されている。すなわち、１またはそれ以上のタイムセット（ＴＳ１，ＴＳ２，ＴＳ３）の組み合わせで、各テストサイクル用の波形とタイミングを定義している。
【００２５】
そのような波形のデータ記述例として、タイミングとテストサイクルが波形データ３６に示されている。波形のロジック例として”１””０”又は”Ｚ”が、パターンデータ３５に示されている。例えば、波形データ３６において、テストサイクルはテストサイクル間の時間間隔を定義するための「レート」として記述されている。また、波形はＲＺ（リターンゼロ）ＮＲＺ（ノンリターンゼロ）ＸＯＲ（エクスクルーシブオア）によって記述されている。また、各波形のタイミングは、対応するテストサイクルの所定のエッジからの遅延時間によって定義されている。
【００２６】
上述のように、イベント型記述３８は、デザインシミュレーション結果（ＶＣＤ）と同一である。しかし、サイクル型記述は、タイムセットや、元のデザインシミュレーション結果とは大きくかけ離れた様々なタイプの記述を要する。このようにテストシステムのデータ構造が複雑であるため、従来技術においては、クロックの繰り返しレートやテストパターンの特定点のタイミングを、容易にまた自由に変えることが出来なかった。また、タイムセットの数に制限があるので、サイクル型半導体テストシステムでのテストパターンのタイミングを自由に変えることは難しい。
【００２７】
図４Ａ−図４Ｂは、図２のイベント型テストシステムによりＩＣデバイス（ＤＵＴ）２８をテストする例を示している。図４Ａに示すように、図２に示したピンエレクトロニックス２６は、ＤＵＴ２８の入力ピンにテスト信号（ドライブイベント）を供給するためのドライバー４５と、サンプリング（ストローブ）パルス（サンプリングイベント）のタイミングでＤＵＴ２８の出力から応答信号をサンプリングするためのコンパレータ４６とを有している。実際のテストシステムにおいては、ＩＣデバイスの多数のデバイスピンに対応するために、このようなドライバーとコンパレータが多数装備されている。ドライブイベントとサンプリングイベントは、図２のイベントサミングスケーリングロジック２２からのイベントデータに基づいて、イベント発生器２４により形成される。コンパレータ４６によりサンプルされた出力は、イベント発生器２４からの期待値（期待イベント）に基づいて、パターンコンパレータ４８によって評価される。
【００２８】
図４Ｂは、ＤＵＴ２８の単純化した構成を示している。開示の簡略のために、ＤＵＴ２８はフリップフロップ５１（ＦＦ１）と５３（ＦＦ２）、入力ピンＩｎと出力ピンＯｕｔとの間にある回路網を、フリップフロップ５１と５３間にあるランダムロジック５２として現している。図４Ｂにおいて、”ＣＬＫ””ａ””ｂ””ｃ””ｄ”は、それぞれ、フリップフロップ５１と５３用のクロック信号、フリップフロップ５１の入力、ランダムロジック５２の入力、フリップフロップ５３の入力、ランダムロジック５２、そしてフリップフロップ５３の出力を示している。図４Ｂのクロック”ＣＬＫ”、入力”ａ”、出力”ｄ”は、それぞれ図４Ａのクロック”ＣＬＫ”、入力”ａ”、出力”ｄに対応している。
【００２９】
図５Ａ−図５Ｃは、図４ＢのＤＵＴ２８をテストする場合の波形を現したタイミング図である。まず、タイミング６１において、フリップフロップ５１への入力信号”ａ”が”１”になる。そして、タイミング６２においてクロック（ｃｌｋ２）の上昇エッジで、フリップフロップ５１の出力が”１”にラッチされる。この例は、ランダムロジック５２を介した伝搬遅延Δｂｃ１は正常な値である場合を示している。ランダムロジック５２の出力”ｃ”が０から１へ変わると、フリップフロップ５３の出力”ｄ”がクロック（ｃｌｋ３）の上昇エッジによって”１”にラッチされる。したがって出力”ｄ”は、ストローブ６５のタイミングでサンプルが取られ、それが正常値（パス）であることを現している。
【００３０】
図５Ｂにおいて、何らかの理由でランダムロジック５２を介した伝搬遅延Δｂｃ２が、図５Ａの正常な伝搬遅延Δｂｃ１よりもはるかに大であったとする。すると、大きな伝搬遅延のために、フリップフロップ５３の入力”ｃ”の値はクロック（ｃｌｋ３）のエッジにおいて”０”のままである。従って、フリップフロップ５３の出力”ｄ”はストローブ６５のタイミングにおいても”０”であり、それが異常値（ｆａｉｌ）あることを現す。この場合には、フリップフロップ５３の出力は、ストローブ６５の後にクロック（ｃｌｋ４）の上昇エッジによって高レベルに変化している。
【００３１】
この不良の原因は、ランダムロジック５２を介した、入力”ｂ”から出力”ｃ”への信号の過度の遅延にある。これはタイミング関連不良である。入力”ｂ”の信号はクロック２の上昇エッジで変化しているが、出力”ｃ”の信号が変化するためには２つのクロック期間を必要としている。従って、図５Ｃに示すように、フリップフロップ５３でのラッチ動作を遅らせることで、この過大な伝搬遅延を識別する必要がある。図５Ｃにおいて、時間６６ａと６６ｂをクロックｃｌｋ２とクロックｃｌｋ３との間（ストローブ６５にも）に加えると、クロックｃｌｋ３の上昇エッジの前に、フリップフロップ５３の入力”ｃ”の値は”１”に変化することがわかる。その結果、クロックｃｌｋ３の上昇エッジによって、フリップフロップ５３の出力”ｄ”の値は”１”に変わり、正常値の値（ｐａｓｓ）を示す。
【００３２】
図５Ｂの例のように不良が検出された場合は、その不良がタイミング関連のものなのか、スタックアトフォールト（ブリッジ、ショート、オープン等）のような他の不良かを決定する必要がある。一般に、そのようなタイミングに関する不良は、出力レベルが変化するまで、例えば、クロックＣＬＫのエッジのような、テスト信号（テストパターン）の特定点のタイミングを変えることによって他の不良と識別することが出来る。イベント型テストシステムは、テスト信号の特定点をオフセット（シフト）したり、所望のスケールファクターでクロックレートを変えることによって、テスト信号のタイミングを自由に変更（拡大・縮小）することが出来る。これは、従来のテストシステムでは不可能なことである。
【００３３】
図６は、本発明のテスト方法を実施したイベント型テストシステムの固有な機能を示したものである。図６に示すように、イベント型テストシステムは、スケーリング機能とオフセット（シフト）機能によってテストパターンのタイミングを自由に変更することが出来る。図６は、イベント型テストシステムとＥＤＡ（Electronic  Design  Automation）環境の全体的な関係を示したものである。ただし、ＥＤＡ環境それ自体は本発明の主題に直接関係してはいない。イベント型テストシステムのデータ構造はイベント形式なので、ＥＤＡ環境とテストシステムとはシームレスに相関することができる。
【００３４】
テストベンチ７３と７４を用いて、ＬＳＩデザインデータに対してロジックシミュレーション７２を実行することによって、ダンプファイル（ＶＣＤ）７８が形成される。インターフェイス８１を介して、ダンプファイルからイベントデータを、またはテストベンチ７４からイベントデータ７９を、各テストピンに割り当てて、各イベントの信号レベルを定義することによりファイル８２と８３が生成される。ファイル８２と８３のデータは、コンパイラー８５によってオブジェクトコードに変換され、イベントファイル８６を形成する。
【００３５】
デバイスのテストを行う場合には、イベントファイル８６からテストシステムハードウェア８８に、イベントデータが転送される。イベントメモリ内に蓄積されたイベントデータに基づき、テストシステムハードウェア８８はイベント型テストパターンを発生し、それにより被試験ＩＣデバイスのテストを行う。テスト結果は、例えば不良解析に使用できるように、テスト結果ファイル７６に蓄積される。このようにして蓄積したテスト結果は、テストベンチ発生器７５を介してテストベンチにフィードバックされる。
【００３６】
上述のように、イベントファイル内に形成したイベントデータは、被試験ＩＣデバイスに供給するテストパターンを直接的に記述している。したがって、イベントデータを使用することにより、グラフィックユーザインターフェイス（ＧＵＩ）を介して、実際のテストパターンと同じパターンシーケンスを表示したり変更したりすることができる。図６は例えば、テストパターンとテストピンを現した全体イメージ９１、テストパターンの特定部分の拡大図９２、所定のスケールファクターにより圧縮（チャート９４）または拡大（チャート９５）したタイミングを示すタイミングチャート９４と９５、特定のエッジのタイミング（位置）を自由に変更できるオフセットイメージ９３等を示している。ディスプレー上のパラメーターの変更は、イベントファイル８６のイベントデータを変更することで行われ、これによりテストするデバイスに印加する実際のテストパターンを変更させ、それにより被試験デバイスの応答信号をモニターすることができる。
【００３７】
スケーリング機能の詳細は、本出願と同じ譲受人が所有する米国特許出願番号09/286,226（対応日本出願番号：特願２０００−１０６７２８号（特開２０００−３２１３４０号））に説明されている。さらにスケーリングの動作について、図８に波形例が示されている。また、時間シフト・オフセット（延長、短縮）は、その実現例が図１２および図１３に示されている。
【００３８】
図３と図６を参照して説明した（図１０Ａ−図１０Ｂでも説明する）ように、信号をイベントとイベントタイミングで定義する環境では、イベントのタイミングのシフトや移動のような変更を加えることができる。イベントのタイミングのシフトにより、図５Ｃに示すように、テスト信号の適切な箇所のタイミングを延長・短縮することができる。また、イベント型テストシステムにおいては、全てのイベントとそのタイミングがユーザーに利用可能なので、それらをユーザーの所望通りに変更することが出来る。従って、テストパターン内のどの部分でも、あるいはテストパターン内のどのエッジでも、該当するイベントデータ（タイミングとイベントタイプ）を変更することによって、そのタイミングを拡大・縮小することができる。
【００３９】
このコンセプトを用いることにより、必要なイベントを突き止めて、そのイベントを時間上でシフトするためのシステマチックな手順を開発することが可能である。従って、ある特定の不良がタイミングに関する不良であるのかを決定するために、テストパターンの必要部分の時間を延長又は短縮（シフトとオフセット）することで可能である。そのような本発明のシステマチックな手順例を、図７のフローチャートに示す。
図７のフローチャートでは、ステップ１０１においてテストを開始して、被試験ＩＣデバイス（ＤＵＴ）に信号を供給してＤＵＴからの応答出力を評価する。ステップ１０２において、ＤＵＴからの応答出力に不良がないかを検証する。もし不良がなければ、他のテスト個目についてのテストを続ける。もし不良が検出された場合には、その不良がタイミングに関する不良か他の不良（機能不良、スタックアトフォールト等）を決定する。
【００４０】
従って、ステップ１０３において、どの基準信号が検出された不良に関わっているのかを識別する。一般に、そのような基準信号は、図５Ａ−５Ｃに示すようなクロック信号である。ステップ１０４では、シフト（例えば延長又は短縮）すべき基準信号の箇所（エッジ）を識別する。典型的には、そのように識別した箇所は、図５Ｃに示すような、ストローブから１サイクル以上前の基準信号のエッジである。
【００４１】
ステップ１０５において、基準信号の識別箇所（エッジ）のタイミングを、段階的に変更し、それによって基準信号のエッジをシフト（延長または短縮）する。イベント型テストシステムにおいて、イベントメモリ内のイベントデータ（イベントタイミングとイベントタイプ）を変更することで、この手順が達せられる。このタイミングシフトの時間分解能と、タイミングシフトの全体値は、イベントデータを変更することで自由に選択できる。このようにエッジのタイミングをシフトしながら、ステップ１０６においてＤＵＴの応答出力に変化（例えばパス結果）があるかを決定する。ＤＵＴ出力に変化がなければ、タイミングシフトの手順を続ける。
【００４２】
ＤＵＴの出力に変化が検出された場合には、この不良がタイミングに関する不良であるとことがわかる。これは、例えばスタックアトフォールトのような、他の種類の不良の場合は、基準信号のタイミングを変えても出力が変化しないからである。従って、もし出力状態が変化したときは、例えばタイムシフト値のような情報がステップ１０７で記録される。ステップ１０８において、全てのテスト項目が完了したかをチェックし、もし完了していている場合は、テストプロセスを終了する。他のテストが残っている場合は、全てのテストが終わるまでステップ１０１−１０８を繰り返す。
【００４３】
上述のコンセプトとプロセスにおいて、本発明のテスト方法は、テスト信号をイベントとイベントタイミングにより定義し、テスト信号の関連部分を延長又は短縮されることより、イベントタイミングを変化させている。このコンセプトは、全テストパターンの延長又は短縮（テストパターンのすべてイベントのタイミングを変えることにより）にも、あるいはテストパターンの選択した部分内の全ての信号の延長又は短縮（選択した部分の全てのイベントのタイミングを変更することにより）にも適用できる。そのようなイベントタイミングの全体的な変更をすることにより、被試験デバイスの速度分類や周波数分類のような、各種の従来のテストも行える。
【００４４】
このコンセプトを図８Ａ−図８Ｃと図９に単純化して示している。図８Ａにおいて、基準テストを示す１００ＭＨｚのクロック信号が示されている。周波数分類と速度分類のためのテストは、複数の異なる周波数で実施する必要があり、基準周波数より高い周波数および低い周波数のクロックを用いる。例えば、１２５ＭＨｚ、１００ＭＨｚ、８０ＭＨｚのテストプログラムを作成して、それらのプログラムを被テストＩＣデバイスに実施し、パス・フェイル結果に基づきＩＣデバイスを分類することが出来る。
【００４５】
本発明ではこれと同じ結果を異なる周波数ごとにテストプログラムを置き換えることなく、イベントのタイミングを変えるという上述のコンセプトを用いて、１のテストプログラムで達成することができる。これは、すべてのイベントを同時に（グローバルチェンジ）変化させることにより実現できる。例えば、図８Ａに示した１００ＭＨｚのクロック信号は、１から０へのイベントと０から１へのイベントが交互に繰り返されている。従って、２つのイベント間の時間（デルタ時間）は５ｎｓである。次に、図８Ａのテスト信号のすべてのイベントのデルタ時間が５ｎｓから６．２５ｎｓに変更された場合を考える。そのクロック信号は図８Ｂに示すように８０ＭＨｚである。同様に、すべてのイベントのデルタ時間を４ｎｓに変化させることによって、図８Ｃに示す１２５ＭＨｚクロック信号が達成される。上述したクロック信号の変更は、図６を参照して示したようなイベント型テストシステムのスケーリング機能を用いて、スケールファクターをイベントタイミングデータに乗算することにより達成される。
【００４６】
図８Ａ−図８Ｃに示すクロックスケーリングは、図９に示すようなテストパターンの選択された一部にも適用できる。テストパターンの第１部分（部分１）では、クロックがスケールファクターによって変更されて、その繰り返しレートが８０ＭＨｚ（タイムピリオド１２．５ｎｓ）に変更される。テストパターンの第２部分（部分２）では、クロックレートが１００ＭＨｚ（タイムピリオド１０ｎｓ）に変更される。そして、テストパターンの第３部分（部分３）では、クロックレートが１２５ＭＨｚ（タイムピリオド８ｎｓ）に変更される。このように、テストプログラムを変更することなく、テスト信号のタイミングを係数に比例して変更することが出来る。これは実質的に、１つのプログラムを用いて、異なる部分に異なる３種の周波数でテストを行うことであり、その結果、テスト効率が向上する。
【００４７】
上述した手順により、不良がタイミングに関するものか否かを決定するための系統的な方法を実現できる。イベント型システムで実行するソフトウェアプログラムにこの手順を実施することにより、不良のタイミング範囲を測定することが出来る。本出願と同じ譲受人の所有する米国特許番号6,360,343と6,532,561の記述にあるようなイベントテストシステムにおいて、発明者はこの手順をソフトウェアプログラムにより自動化させている。
【００４８】
本発明のテスト方法の自動化手順を説明する前に、イベントメモリ内のイベントデータと、その結果形成されるイベントとの関係を、図１０Ａ−図１０Ｂを参照して説明する。図１０Ａは、図１０Ｂに示すイベント波形を生成する為のイベント型テストシステム内のイベントメモリに格納されたイベントデータの例を示している。イベントデータは、イベントタイミングデータとイベントタイプデータで構成されている。イベントタイミングは、２つのイベント間の時間長ΔＶｎ（ΔＶ０、ΔＶ１、ΔＶ２、）によって定義されている。各イベントタイミングは、基準クロックの整数倍であるイベントカウントＣｎ（Ｃ１、Ｃ２、Ｃ３、）と、基準クロックの端数であるイベントバーニアＶｎ（Ｖ１、Ｖ２、Ｖ３、）との組み合わせにより規定されている。図１０Ａと図１０Ｂに示すように、１のイベント、例えばイベント２は、そのタイミングは以前の各イベントのタイミングの合計（ΔＶ０、ΔＶ１、ΔＶ２、）であり、そのイベントタイプは下降エッジであることがイベントタイプデータの”Drive  Logical  Low”によって定義される。
【００４９】
図１０Ａ−図１０Ｂに示したイベントデータ（イベントタイミングとイベントタイプ）とその結果としてのイベントとの関係、および図７に示す基本テスト手順の理解に基づいて、不良のタイミング範囲を決定する段階的な手順を、図４Ｂと図５Ａ−図５Ｃに示したと同一の例を用いて以下に説明する。下記の手順の説明では、この自動化におけるタイミングの拡張動作示しているが、同様な手順を用いてタイミングの縮小動作を自動化することも可能である。
【００５０】
この例において、図１１は、プログラムの動作フローを示したフローチャートであり、図１２は、タイミング延長動作における波形を示したタイミングチャートである。図１３Ａは、図１２のクロックＣＬＫ（基準信号）用のイベントデータを示し、図１３Ｂは、特定のエッジのタイミングを延長する為のクロックＣＬＫ’（基準信号）のイベントデータを示す。説明を単純にするために、次の例は、テストＡにおける最初の不良（不良イベント）の場合を説明する。その不良のイベントの時間は、ｔfail（この例では、開始からストローブまでの時間長）とする。
【００５１】
ステップ１２１（図１２のｔstart）で、プログラムがテストＡを開始させ、テスト信号をＤＵＴに供給してＤＵＴからの結果信号を評価することでＤＵＴ出力を検証する。図１１、図４Ｂと図５Ａ−図５Ｃの例では、テスト信号は入力信号”ａ”とクロックＣＬＫを有している。ステップ１２２において、ＤＵＴからの応答出力に不良があるかチェックする。もし不良が無ければ、テストＡを、他のピンやパラメーターに対して実施する。もし不良が検出されると、タイミングに関する不良であるかどうかを決定する手順に移行する。
【００５２】
従って、ステップ１２３において、不良のタイプを識別する為に、基準信号と基準エッジ（基準信号の特定のエッジ）を、そのタイミングを調節するために特定する。上述のように、この例では、基準信号はＤＵＴに供給したクロックＣＬＫであり、基準エッジは図１２に示したクロックＣＬＫのｅrefである。典型的に、基準エッジｅrefは、不良時間ｔfail内のエッジのいずれかから選択され、この例では、クロックＣＬＫの第２上昇エッジ（イベントＥ３）である。これは、入力信号”ａ”が、フリップフロップ５１（図４Ｂ）の出力信号”ｂ”において、基準エッジｅrefによってラッチされ、不良がストローブ１１５のタイミングによって検出されるためである。基準エッジｅrefは、基準信号の部分を延長するための開始時間としての役割を果たす。
【００５３】
ステップ１２４において、最大クロック数Ｃmax（又は終了時間ｔend）とイベント間隔（ｔ１，ｔ２）が特定される。上述のように、前もって定めた範囲のタイミング変更をしても、ＤＵＴの出力”ｄ”にて変化がなければ、検出された不良はタイミング関連不良とは認知されない（ショート、オープン、ブリッジ）。そのような最大クロックＣmax（終了時間）は、ＤＵＴの機能や構造、またテストの種類に基づいてケースバイケースで決定する。この例では、図１２に示すように、クロックＣmaxの最大数は４である。イベント間隔（ｔ１，ｔ２）は、タイミングを延長する基準信号に関するイベントの特定時間範囲を定める。この例では、イベントＥ４、Ｅ５、Ｅ６を図１３Ａ−１３Ｂに示すように延長する。換言すれば、イベントの時間ｔがｔ１よりも少ない場合、すなわちｔ＜ｔ１の場合は、そのイベントのタイミング延長は行わない。しかし、時間ｔがｔ１とｔ２の定義するイベント間隔内にあるとき、すなわちｔ１≦ｔ≦ｔ２となっている場合は、そのイベントのタイミング延長が実行される。
【００５４】
ステップ１２５において、イベント間隔でのすべてのイベントのタイミングを延長する。したがって、クロックＣＬＫ（基準信号）の特定のエッジが、図１２に示すようなクロックＣＬＫ’として延長される。図１２のクロックＣＬＫとクロックＣＬＫ’（延長されたタイミング）を発生するためのイベントデータの例を、それぞれ図１３Ａと図１３Ｂに示す。図１３Ａと図１３Ｂは、１の例を示したのみであり、上記の延長・短縮作業を達成するためのイベントデータを記述する他の多くの方法が可能である。
【００５５】
図１２のタイミングチャートに示すように、クロックＣＬＫは一定の時間周期を有しており、上昇エッジと下降エッジは、イベントＥ１−Ｅ１０として定義されている。隣接イベントの時間長（デルタ時間）はΔＶであり、これは図１３Ａに示すイベントタイミングデータによって記述されている。出願人の所有する上述の特許に詳説してあるように、各イベントタイミングは、イベントカウントデータ（基準クロックの整数倍データ）とイベントバーニアデータ（基準クロックの端数データ）との組み合わせで記述される。従って、基準クロックの時間周期がＴ（図１２）のときには、各イベントのデルタデータΔＶは、ΔＶ＝ＴＲｒ＋Ｖｒとして表現される。図１３Ａでは、イベントデータが各イベント用のイベントの種類を記述する。クロックＣＬＫは一定の時間インターバルで上昇と下降エッジを交互に繰り返ので、イベントタイプデータは”Drive  Logical  High”と”Drive  Logical  Low”を交互に繰り返している。
【００５６】
図１２のクロックＣＬＫ’に示すようにイベントＥ４、Ｅ５、Ｅ６のタイミングを延長する為には、イベントデータを図１３Ｂのように変更させる。この例では、イベントＥ４のタイミングを延長する為には、前イベントＥ３と同じタイプのイベントを示すようにイベントタイプデータを変更する。従って、イベント４のイベントタイプデータは、”Drive  Logical  High”ではなく、”Drive  Logical  Low”になる。同様に、イベントＥ５のイベントタイプデータは、前イベントＥ４とは異なるタイプのイベントを示すように変更する。したがって、イベントＥ５のイベントタイプデータは、”Drive  Logical  Low”ではなく、”Drive  Logical  High”になる。従って、イベントＥ３とＥ４は同じイベントタイプを有しており、イベントＥ５とＥ６は同じイベントタイプを有している。その結果、図１２の矢印で示すようにエッジのタイミング延長が行われる。上述と同様の手順を繰り返し、特定のエッジに３回またはそれ以上同じイベントタイプを繰り返すことで、更に延長が行われる。
延長が行われる時間の長さは、前イベントデータからの基準エッジと現基準エッジの発生までの時間差を計算したものである。つまり、基準信号が周期的信号である必要はない。一番最初のイベントデータについては、ｅrefと、それと同じイベントタイプの直前のエッジとの時間差が時間長になる。
【００５７】
図１１のフローチャートに戻り、基準クロックのエッジのタイミングを延長する間に、ステップ１２６において、ＤＵＴの出力がパスイベントに変化するかを検出する。もし、パスイベントが検出された場合には、検出された不良はタイミングに関する不良であったと見なされる。従って、ステップ１２７において、タイミングエラー値のようなデータを記録する。もし、パスイベントが上記のプロセスにおいて検出されない場合には、本発明のテスト方法は、イベント型テストシステムのスケーリング機能を用いて、特定のスケールファクターに比例してクロック周波数を増加または減少させる。
【００５８】
ステップ１２８において、基準信号（クロックＣＬＫ）のスケールファクターを段階的に変更する。基本的に、図１３Ａと図１３Ｂのイベントタイミングデータ（Ｃｒ、Ｖｒ）にスケールファクターを乗算することによって、スケーリング動作が行われる。ステップ１２９では、テストシステムに許容される最大スケールファクターに達したかを決定する。もしスケールファクターが最大許容値よりも小さい場合は、エッジタイミングを延長してその結果を評価するために、ステップ１２５−１２７に戻る。もし最大周波数に達した場合には、ステップ１３０にて、最大クロック数Ｃmax（又は終了時間ｔend）に達したかどうか決定する。もし最大数に達しているときは、検出した不良がタイミングに関連する不良でではないので、ステップ１３１でプロセスを終了する。もし最大数に達していないときは、ステップ１３２にて他のイベント間隔を選択し、上記ステップ１２５−１３１の動作を繰り返す。
【００５９】
上述したように、この方法の主要な長所は、イベント型であるゆえに、従来の半導体テストシステムにおける時間セットと波形グループの制限を克服できることである。本発明の方法は系統的であり容易に自動化できる。この方法はイベントタイミングを変化させることに基づいているので、どのイベントでもそのタイミングをシフトすることができる。１つ又は少数のイベントのデータを変えることで、テスト信号の一部のタイミングを延長又は短縮することができ、またテスト信号のすべてのイベントデータを変えることで、すべての信号を延長又は短縮することができる。このグローバル延長・短縮動作によって、例えば周波数やスピードに基づく分類のような、従来のテスト項目を実行することも可能である。
好ましい実施例に基づいて本発明を記述したが、上述した開示に基づき、添付した請求の範囲で、本発明の精神と範囲を離れることなく、本発明の様々な形態や変形が可能である。
【図面の簡単な説明】
【００６０】
【図１】図１は、サイクル形式のテストデータに基づいてテスト信号とテストプローブを発生する従来技術における半導体テストシステムの構成例を示すブロック図である。
【図２】図２は、本発明によるテスト方法を実施するイベント型テストシステムの構成例を示すブロック図である。
【図３】図３は、従来のサイクル型テストシステムにおいてテストパターンを形成するためのデータ記述例と、それと同一のテストパターンをイベント型テストシステムで形成するためのデータ記述例を比較するための図である。
【図４】図４Ａは、図２のピンエレクトロニックスと、それに関わる本発明のイベント型テストシステムによるドライブイベントとサンプリングイベントを示したブロック図であり、図４Ｂは、ＩＣデバイスのタイミング不良をテストするための基本構成を示した概略図である。
【図５Ａ】図５Ａ−図５Ｃは、図４Ｂのテスト構成での被試験ＩＣデバイスのタイミングに関する動作について３種の異なるタイプを示したタイミングチャートである。
【図５Ｂ】図５Ａ−図５Ｃは、図４Ｂのテスト構成での被試験ＩＣデバイスのタイミングに関する動作について３種の異なるタイプを示したタイミングチャートである。
【図５Ｃ】図５Ａ−図５Ｃは、図４Ｂのテスト構成での被試験ＩＣデバイスのタイミングに関する動作について３種の異なるタイプを示したタイミングチャートである。
【図６】図６は、本発明のイベント型テストシステムの機能と、ＩＣのデザインとデバッグにおける、電子デザイン自動化（ＥＤＡ）環境とイベント型テストシステムの全体的な関連を示した図である。
【図７】図７は、ＩＣデバイスにおけるタイミング関係の不良をデバッグするための本発明のテスト方法における基本的な手順を示したフローチャートである。
【図８】図８Ａ−図８Ｃは、スケールファクターに比例してイベントクロックの繰り返しレートを変更するイベントスケーリングの概念を示したタイミングチャートである。
【図９】図９は単一のテスト信号の各時間スロットにおいてダイナミックにイベントクロックの繰り返しレートを変更するイベントスケーリングの概念を示したタイミングチャートである。
【図１０Ａ】図１０Ａは、イベント型テストシステムのイベントメモリに格納したイベントデータの例を示した図である。
【図１０Ｂ】図１０Ｂは図１０Ａのイベントデータにより生成されたイベントにより構成された波形を示したタイミングチャートである。
【図１１】図１１は、ＩＣデバイスにおけるタイミング関連の不良をデバッグするための本発明のテスト方法における別の手順例を示したフローチャーチである。
【図１２】図１２は、図１１の手順における図４Ｂと図５Ａ−図５Ｃに対応する波形の例を示したタイミングチャートである。
【図１３】図１３Ａは、図１２のクロックＣＬＫを発生するためのイベントデータの例を示す図であり、図１３Ｂは特定のエッジのタイミングが延長された図１２のクロックＣＬＫ’を発生するためのイベントデータの例を示す図である。
【図１】
0004417955.tif 000002
【図２】
0004417955.tif 000003
【図３】
0004417955.tif 000004
【図４】
0004417955.tif 000005
【図５Ａ】
0004417955.tif 000006
【図５Ｂ】
0004417955.tif 000007
【図５Ｃ】
0004417955.tif 000008
【図６】
0004417955.tif 000009
【図７】
0004417955.tif 000010
【図８】
0004417955.tif 000011
【図９】
0004417955.tif 000012
【図１０Ａ】
0004417955.tif 000013
【図１０Ｂ】
0004417955.tif 000014
【図１１】
0004417955.tif 000015
【図１２】
0004417955.tif 000016
【図１３】
0004417955.tif 000017