(57)【特許請求の範囲】
【請求項１】
被試験半導体デバイス（ＤＵＴ）を試験するためのイベント型テストシステムにおいて、
１またはそれ以上のデータワードで形成された基準クロック周期（インテグラル部データ）の整数倍である各イベントのクロックカウントデータを格納するためのクロックカウントメモリと、
基準クロック周期の端数データである各イベントのバーニア（端数）データを同一のメモリ位置に２またはそれ以上格納するためのバーニアメモリと、
上記クロックカウントデータとバーニアデータを読み出すために、上記クロックカウントメモリとバーニアデータメモリにアクセスするためのアドレスデータを生成するアドレスシーケンサと、
それぞれのイベントに対応して、上記クロックカウントメモリからクロックカウントデータを再生し、上記バーニアデータメモリからバーニアデータを再生するデコンプレッサー（復元伸張器）と、により構成され、
上記１のデータワードは次のワードが必要であるか否かをあらわすフラッグと、現在イベントに付随するバーニア（端数）データ数と、インテグラル部のデータとを有して構成されるイベント型テストシステム。
【請求項２】
上記デコンプレッサー（復元伸張器）からのクロックカウントデータとバーニアデータに基づいて、各イベントについて、あらかじめ定めた基準時点からのそれぞれの総合的遅延時間を生成するためのイベントプロセス・コントローラと、被試験デバイス（ＤＵＴ）をテストするためのテスト信号を生成するために、上記総合的遅延時間に基づいて、それぞれのイベントを生成するファイン（微少）遅延コントローラと、をさらに有してなる請求項１に記載のイベント型テストシステム。
【請求項３】
上記各イベントのタイミングは隣接する２つのイベントの時間相異であり、上記クロックカウントデータと上記バーニアデータにより定義される請求項１に記載のイベント型テストシステム。
【請求項４】
上記デコンプレッサー（復元伸張器）は、クロックカウントメモリからクロックカウントデータをロードし、基準クロックによりクロックカウントデータをダウンカウントする為のカウンタと、クロックカウントデータを評価し、クロックカウントデータをロードしたり基準クロックをカウントするカウンタの動作をコントロールするためのクロックカウント・ステートマシンと、バーニアデータメモリからパラレル方式で２つ以上のイベントについてのバーニアデータを格納し、イベントプロセスコントローラにシリアル方式でそのバーニアデータを送るためにバーニアデータを選択する格納・選択回路と、上記クロックカウント・ステートマシンから受け取った指示に基づき、その格納・選択回路の動作の制御をするためのバーニアコントロール・ステートマシンと、により構成される請求項１に記載のイベント型テストシステム。
【請求項５】
上記格納・選択回路は上記バーニアデータメモリから並列にバーニアデータを受け取り格納する一対のレジスタと、その内の１のレジスタからのバーニアデータを選択するためのマルチプレクサとを有する請求項４に記載のイベント型テストシステム。
【請求項６】
上記格納・選択回路は、上記バーニアデータメモリから並列にバーニアデータを受け取り格納する第１と第２のレジスタと、その第１レジスタからそのバーニアデータを受け取るための第３のレジスタと、その第２レジスタからそのバーニアデータを受け取るための第４のレジスタと、その第１および第３のレジスタから複数のバーニアデータを並列に受け取り、上記バーニアコントロール・ステートマシンの制御の下でバーニアデータを直列に送出する第１のマルチプレクサと、その第２および第４のレジスタから複数のバーニアデータを並列に受け取り、上記バーニアコントロール・ステートマシンの制御の下でバーニアデータを直列に送出する第２のマルチプレクサと、その第１のマルチプレクサの出力または第２のマルチプレクサの出力のいずれかを、上記バーニアコントロール・ステートマシンの制御の下で選択する第３のマルチプレクサと、を有する請求項５に記載のイベント型テストシステム。
【請求項７】
上記ファイン遅延コントローラと上記ＤＵＴ間にピンエレクトロニクスをさらに有する請求項１に記載のイベント型テストシステム。
【請求項８】
上記データワードは８ビットで構成されており、その内の少なくとも１ビットは上記フラッグとして用いられ、クロックカウントメモリに用いられるクロックカウントデータは１ワードから４ワードの異なる数のワードで構成され、その内の最初のデータワードは該当するイベントに付随するバーニアデータの数をあらわす請求項１に記載のイベント型テストシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、半導体デバイスをテストするためのイベント型半導体テストシステムに関する。特に本発明は、イベント型テストシステムにおいてイベントデータを格納するために用いるデータメモリの圧縮技術、およびイベントのそれぞれのタイミングが直前イベントからの時間差異で定められ、被試験半導体デバイスを評価するために使用する各種のタイミングのイベントを生成するためのイベント型半導体テストシステムにおけるデータ圧縮技術に関する。
【０００２】
【従来の技術】
半導体テストシステムによって、ＩＣテスタのような半導体ＩＣデバイスをテストする場合には、被試験半導体デバイスには、あらかじめ定めたテストタイミングで適切なピンにテスト信号を供給する。そしてＩＣテスタは、被試験デバイスからテスト信号に応答して生成された出力信号を受信する。その出力信号をストローブし、すなわちストローブ信号で特定のタイミングまたは遅延時間でサンプルをとり、被試験デバイスが正常に機能しているかを検証するために、期待値データと比較する。
【０００３】
伝統的な半導体テストシステムでは、テスト信号やストローブ信号等のタイミングは、半導体テストシステムのテスタレートあるいはテスタサイクルに基づいて定められる。サイクル型テストシステムでは、所望のテスト波形（テスト信号）やストローブ信号を生成するために、フォーマッタにプログラムされたデータレート（テスターサイクル）でピンパターンベクターを供給することによって、半導体デバイス（ＤＵＴ）がテストされる。
【０００４】
一般に、テスターサイクル、テスト信号、ストローブ信号等の各種のタイミングは、基準クロックに基づいて生成される。基準クロック（システムクロックまたはマスタークロックとも呼ばれる）は、例えばＩＣテスタに備えられたクリスタルオシレータ（水晶発振器）のような、高安定オシレータによって生成する。ＩＣテスタの必要なタイミングリゾルーション（精度）が、最高のクロックレート（最短のクロックサイクル）に等しいか、あるいはその整数倍である場合には、カウンタかデバイダ（分周器）によって基準クロックを単に分割し、その分割された信号を基準クロックにより同期をとることによって、タイミング信号を生成することが出来る。
【０００５】
しかし、ＩＣテスタは多くの場合、基準（システム）クロックの最高のクロックレート、すなわち最短の時間周期（タイムピリオド）よりタイミング精度（リゾルーション）が高い必要がある。例えば、市場で入手できる基準クロックが１０ｎｓ（ナノセカンド）である場合であっても、ＩＣテスタは０．１ｎｓのタイミング精度が必要なことがある。そのうえ、ＩＣテスタはサイクルごとに、そのような様々なタイミングをダイナミックに変更する。
【０００６】
基準クロックレートより高いタイミング精度でタイミング信号を生成するには、そのようなタイミングはテストプログラムのタイミングデータに記述して行うことが従来より知られている。タイミングデータは、基準クロックの時間間隔（タイムインターバル）の整数倍データと基準クロックの１の時間間隔の端数データとの組み合わせとなっている。そのようなタイミングデータはタイミングメモリーに格納され、テストサイクルのそれぞれのサイクルで読み出される。従って、それぞれのテストサイクルでは、テスト信号やストローブ信号は、テストサイクルにおける例えばそれぞれのサイクルの開始点を基準として、タイミングデータに基づき生成される。
【０００７】
また、イベント型テストシステムとよばれる他の種類のテストシステムがあり、このテストシステムでは、テスト信号とストローブ信号はイベントメモリからのデータに基づき、各ピン毎（パーピン）に直接的に生成される。現在のところ、イベント型テストシステムは市場に実現されておらず、実験段階である。イベント型テストシステムでは、各イベントは、基準時間点からの時間長として定義される。ここでイベントとは、テスト信号やストローブ信号における如何なるロジック状態の変化、すなわち立ち上がりや立ち下がりをいう。一般に、そのような基準時間点は、第１図の例に示すように、直前のイベントのタイミングである。高いタイミング精度を生成するために、イベント間の時間長は、基準クロックの時間間隔の整数倍データと基準クロックの時間間隔の端数データとの組み合わせにより定められる。
【０００８】
第１図の例では、最初のイベント（ロジックの変化）は、開始時間からＴ０時間後のポイントａで生ずる。説明の便宜のために、最初のイベントをＴ０と表示する。第２のイベント（以後イベントＴ１という）は、ポイントａからＴ１時間後のポイントｂで起こる。このようにして、イベントＴ０ーＴ１０が、第１図の例に示されている。
【０００９】
イベント型テストシステムでは、タイミングメモリ（イベントメモリ）に格納するタイミングデータは、それぞれ全てのテストサイクルデータを含む必要がないので、テスト信号やストローブ信号を形成するためのデータ処理が単純になり、またそれぞれの信号形成がピン毎に独立して実行することが容易になる。イベント型テストシステムでは、イベントメモリに蓄積されたそれぞれのイベント用のタイミングデータは、現在イベントと直前イベント間の時間差（デルタタイム）で表現される。そのようなイベント間の時間差は通常微少なので、イベントメモリ内のデータのサイズも小さく、その結果イベントメモリの容量も大きくなくてよい。
【００１０】
ＬＳＩやＶＬＳＩのような半導体デバイスをデザインするのに広く使用されているコンピュータ支援デザイン（ＣＡＤ）システムでは、ＣＡＤシステムにおけるロジックシミュレータのほとんどが、その設計した半導体デバイスを評価するために、イベント型テスト信号を使用する。したがって、イベント型テストシステムは、設計段階でのＣＡＤシステムにより得られたデザインデータを直接的にリンクしてテスト信号を作成することを可能にする。
【００１１】
複雑で高性能な半導体デバイスをテストするためのイベント型テスト信号を発生するためには、大容量のイベントデータをイベントメモリに格納する必要がある。従って、イベントメモリにデータを格納するにあたり、イベントデータを圧縮（コンプレッション）する方法と、そのデータを用いてイベント型テスト信号を生成ために、イベントメモリからのデータを復元伸張する（デコンプレッション）方法を確立する必要がある。
【００１２】
【発明が解決しようとする課題】
したがって、本発明の目的は、被試験デバイスを評価するために使用する各種のタイミングのイベントを形成するためのイベントデータを格納するイベント型半導体テストシステムに用いるデータメモリ圧縮技術を提供することにある。
【００１３】
また、本発明の他の目的は、被試験デバイスを評価するために使用する各種のタイミングのイベントを形成するためのイベントデータを格納するイベント型半導体テストシステムに用いるデータメモリ圧縮技術であって、そのタイミングは直前のイベントからの時間長で定められるイベント型半導体テストシステム用のデータメモリ圧縮技術を提供することにある。
【００１４】
また、本発明のさらに他の目的は、被試験デバイスを評価するために使用する各種のタイミングのイベントベースのテスト信号を発生するために、イベントメモリから読み出された圧縮されたイベントデータからタイミングデータを再生するための復元伸張（デコンプレッション）技術を提供することにある。
【００１５】
また、本発明のさらに他の目的は、イベントのぞれぞれのタイミングデータが、直前のイベントからの時間差で定義されるイベント型半導体テストシステムを提供することにある。
【００１６】
また、本発明のさらに他の目的は、直前イベントからの時間差が、基準クロック周期の整数倍データと基準クロック周期の端数データとの組み合わせにより規定されたイベント情報に基づいて、テスト信号やストローブを生成するイベント型半導体テストシステムを提供することにある。
【００１７】
また、本発明のさらに他の目的は、イベントメモリのタイミングデータを直接的に使用してテスト信号やストローブを形成するイベント型半導体テストシステムを提供することにある。
【００１８】
また、本発明のさらに他の目的は、小容量のイベントメモリーに蓄えたタイミングデータを使用してテスト信号やストローブを形成できるイベント型半導体テストシステムを提供することにある。
【００１９】
また、本発明のさらに他の目的は、テスト信号やストローブを形成するために、被試験半導体デバイスのデザイン段階にてＣＡＤシステムで生成したデータを直接的に用いることが出来るイベント型半導体テストシステムを生成することにある。
【００２０】
【課題を解決するための手段】
本発明は、被試験半導体デバイス（ＤＵＴ）の試験に使用する各種のタイミングのイベントを生成するためのイベントデータを格納するイベント型半導体テストシステムのためのデータメモリ圧縮技術である。本発明のデータ圧縮技術は：
【００２１】
基準クロック周期（インテグラル部データ）の整数倍である各イベントのクロックカウントデータを格納するためのクロックカウントメモリであって、そのクロックカウントデータはインテグラル（整数）部データに応じて１またはそれ以上のデータワードで形成され、少なくとも１のデータワードは次のデータワードが必要であるか否かをあらわすフラッグと、現在イベントに付随するバーニア（端数）データ数を現すデータと、インテグラル部の１部のデータとを有し、
基準クロック周期の端数データである各イベントのバーニア（端数）データを格納するためのバーニアメモリであって、同一のメモリ位置に２またはそれ以上のバーニアデータを格納し、
上記クロックカウントデータとバーニアデータを読み出すために、上記クロックカウントメモリとバーニアデータメモリをアクセスするためのアドレスデータを生成するアドレスシーケンサと、
それぞれのイベントに対応して、上記クロックカウントメモリからクロックカウントデータを再生し、上記バーニアデータメモリからバーニアデータを再生するデコンプレッサー（復元伸張器）と、により構成される。
【００２２】
また、本発明の別の態様においては、イベント型テストシステムは上述の構成に加えてさらに：
【００２３】
デコンプレッサー（復元伸張器）からのクロックカウントデータとバーニアデータに基づいて、各イベントについて、あらかじめ定めた基準時点からのそれぞれの総合的遅延時間を生成するためのイベントプロセス・コントローラと、
被試験デバイス（ＤＵＴ）をテストするためのテスト信号を生成するために、上記総合的遅延時間に基づいて、それぞれのイベントを生成するファイン（微少）遅延コントローラと、を有する。
【００２４】
また、本発明のさらに別の態様において、デコンプレサー（復元伸張器）は、クロックカウントメモリからクロックカウントデータをロードし、基準クロックによりクロックカウントデータをダウンカウントするためのカウンタと、クロックカウントデータを評価し、クロックカウントデータをロードしたり基準クロックをカウントするカウンタの動作をコントロールするためのクロックカウント・ステートマシンと、バーニアデータメモリからパラレル方式で２つ以上のイベントについてのバーニアデータを格納し、イベントプロセスコントローラにシリアル方式でそのバーニアデータを送るためにバーニアデータを選択する格納・選択回路と、上記クロックカウント・ステートマシンから受け取った指示に基づき、その格納・選択回路の動作の制御をするためのバーニアコントロール・ステートマシンと、により構成されている。
【００２５】
本発明によれば、イベント型半導体テストシステムは、イベントデータをイベントメモリに圧縮して格納することができ、メモリサイズを減少させる。また被試験半導体デバイスを評価するために用いる各種のタイミングのイベントを形成するために圧縮したイベントデータを伸張復元することができる。本発明のイベント型テストシステムにおいては、イベントメモリは基準クロック周期の整数倍データとしてのタイミングデータを格納するクロックカウントメモリと基準クロック周期の端数データでタイミングデータを格納するバーニアデータメモリとにより構成される。それぞれのイベントのタイミングデータは、直前イベントからの時間差で定義されている。本発明のハードウェア・デコンプレッサーは、被試験半導体デバイスを評価する為のイベント型テスト信号を発生するためにイベントメモリから読み出された圧縮されたイベントタイミングデータに基づいてイベントタイミングデータを再生することを可能にする。本発明の圧縮技術によって、メモリサイズの大幅な縮小化が達成できる。
【００２６】
【発明の実施の形態】
第１図のタイミングチャートを示す。イベントＴ０ーＴ１０のそれぞれは、コース（粗）タイミングデータとファイン（微少）タイミングデータの組み合わせで定義されている。各コースタイミングデータは、該当するイベントにおける基準クロック周期の整数倍データをあらわし、各ファインタイミングデータは該当するイベントにおける基準クロック周期の端数データをあらわしている。本発明において”基準クロック”という語は、”マスタークロック”または”システムクロック”と同義にも用いる。
【００２７】
第２図は、イベントメモリに第１図のイベントＴ０ーＴ１０用のタイミングデータを格納するためのデータテーブルを示す。イベントメモリは、例えばクロックカウントメモリとバーニア（端数）データメモリの２つに分かれている。コースタイミングデータはクロックカウントメモリに格納され、ファインタイミングデータはバーニアデータメモリに格納される。すなわち、クロックカウントメモリに格納されたデータ値は、基準クロック周期の０からＮまでのどの値でもよく、このときのＮは、テストシステムがサポートする基準クロック周期数の最大数である。
【００２８】
例えば、本発明の譲受人により開発中のイベント型テストシステムでは、クロックカウントは１３４２１７７２８クロック周期数までサポートする。これは、クロックカウントメモリの各記憶位置において全部で２７データビットを必要とする。したがって、この場合のクロックカウントメモリの全体サイズは、２７ビットにＭを掛けたものであり、このときのＭはテストシステム内のベクター数（テストパターン長）である。
【００２９】
上述したように、バーニアデータメモリは、基準クロック周期の端数データを示す微少遅延（タイミング）データを蓄積する。従って、このデータは１つの基準（システム、マスター）クロック信号周期より小さい。バーニアメモリのビット数は、１の基準クロック周期全部カバーするのに十分な大きさである必要があるが、それはテストシステムのサポートするファイン（微少）ステップ遅延に応じて異なる。例えば、基準クロック周期がが３２ｎｓのとき、０．５ｎｓ程の微少なタイミング精度（リゾルーション）をサポートするテストシステムでは、バーニアデータメモリは少なくとも６ビット必要である。イベントメモリはさらにイベントタイプを定義する情報も格納する必要があるので、そのような情報はバーニアメモリに格納すると想定する。ここで、イベントタイプとは、高レベル、低レベル、高インピーダンスのようなテスト信号の指定をあらわし、これは例えば４データビットである。よって、上の例では１０ビットとなり、バーニアデータメモリの全体のメモリサイズは、１０ビット掛けるＭベクターとなる。
【００３０】
テストベクターのサイズは数メガバイトから数十メガバイトのように大きいので、第２図のテーブルに示すような方法でタイミングデータをイベントメモリに蓄積すると、イベントメモリの全体のサイズが大きくなる。このテーブルでは、イベントＴ０ーＴ１０のそれぞれについて、コース（粗）タイミング（クロックカウント）データは、２７ビット幅を有するクロックカウントメモリに格納され、ファイン（微少）タイミングデータは１０ビット幅を有するバーニアデータメモリに格納される。上述したように、テストベクタは大きなサイズとなっているので、第２図のイベントメモリも大きなメモリ容量を必要とする。例えば、イベントＴ０ーＴ１０のクロックカウントデータを記述するためのビット数は２９７であり、イベントＴ０ーＴ１０のバーニアデータに使用するビット数は１１０であり、したがって、全体としては４０７ビットとなる。
【００３１】
第３図は、タイミングデータに関して圧縮技術と伸張復元技術を使用した本発明のイベント型テストシステムの構成例を示すブロック図である。このイベント型テストシステムは、システムバス１４に接続されたホストコンピュータ１２とバスインターフェイス１３、インターナルバス１５、アドレスシーケンサ１８、フェイルメモリ１７、クロックカウントメモリ２０とバーニアデータメモリ２１とにより構成されたイベントメモリ、デコンプレッサー（伸張復元器）２２、イベントプロセス・コントローラ２３、ファイン（微少）遅延コントローラ２４、およびピンエレクトロニクス２６を有している。このイベント型テストシステムは、被試験半導体デバイス（ＤＵＴ）２８を評価するもので、それらデバイスは一般にメモりＩＣまたはマイクロプロセッサＩＣであり、ピンエレクトロニクス２６に接続する。
【００３２】
ホストコンピュータ１２の例としては、ＵＮＩＸオペレーティングシステムを搭載したワークステーションである。ホストコンピュータ１２は、テスト動作の開始と停止、テストプログラムや他のテストコンディション（条件）のロード、ホストコンピュータによるテスト結果解析を行うためのユーザインターフェイスとして機能する。ホストコンピュータ１２は、システムバス１４とバスインターフェイス１３とを介してハードウェア・テストシステムとインターフェイスする。図には無いが、ホストコンピュータ１２は、好ましくは他のテストシステムかコンピュータネットワークからテスト情報を受信送信するためにコミュニケーション・ネットワーク（通信回線）に接続する。
【００３３】
インターナルバス１５は、ハードウェアテストシステム内のバスであり、アドレスシーケンサ１８、ファイルメモリ１７、デコンプレッサー（伸張復元器）２２、イベントプロセスコントローラ２３、ファイン遅延コントローラ２４のような、ほとんどの機能ブロックに接続している。アドレスシーケンサ１８の例は、ハードウェア・テストシステム専用のテスタプロセサであり、一般にユーザがアクセスすることは出来ない。アドレスシーケンサ１８は、ホストコンピュータ１２からのテストプログラムとテスト条件に基づき、テストシステム内の他の機能ブロックにインストラクションを供給する。フェイルメモリ１７は、例えばＤＵＴ２８のフェイル情報のようなテスト結果を、アドレスシーケンサ１８の定めるアドレスに格納する。フェイルメモリ１７に格納された情報は、被試験デバイスのフェイル解析において使用される。
【００３４】
アドレスシーケンサ１８のジョブの１つは、第３図に示すように、クロックカウントメモリ２０やバーニアデータメモリ２１で構成されるイベントメモリにアドレスデータを供給することである。実際のテストシステムでは、クロックカウントメモリとバーニアデータメモリの対が複数個用いられ、それぞれがテストシステムのテスターピンに対応している構成とすることもある。クロックカウントメモリ２０とバーニアデータメモリ２１は、テスト信号やストローブ信号を形成する各イベント用のタイミングデータを格納する。クロックカウントメモリ２０とバーニアデータメモリ２１に格納されたタイミングデータは、後述するように圧縮されている。
【００３５】
第２図のテーブルを参照して説明したように、クロックカウントメモリ２０は、基準クロック周期の整数倍である圧縮したコース（粗）タイミングデータを格納し、バーニアデータメモリ２１は、基準クロック周期の端数であるファイン（微少）タイミングデータを格納する。本発明では、それぞれのイベントのタイミングデータは、第１図の波形に示すように、直前のイベントからの時間差で示されている。
【００３６】
デコンプレッサー（復元伸張器）２２は、クロックカウントメモリ２０とバーニアデータメモリ２１からの圧縮されたデータからタイミングデータを再生するものである。デコンプレッサー２２の詳細は第１１図のブロック図に示されており後述する。イベントプロセス・コントローラ２３は、デコンプレッサー２２からの復元伸張されたタイミングデータに基づいて、総合的タイミングデータを作成するものである。基本的に、そのような総合的タイミングデータは、整数倍データと端数データを合計することで作成する。タイミングデータを合計する過程で、端数データのキャリーオーバー（繰り上げ）の動作が、イベントプロセス・コントローラ２３により行われる。
【００３７】
ファイン（微少）遅延コントローラ２４は、イベントプロセス・コントローラ２３からの総合的タイミングデータに基づいて、イベントを実際に生成するものである。ファイン遅延コントローラ２４は、総合的タイミングデータ中のバーニア（端数）値に基づいて選択される遅延エレメント（素子）を複数有して成る。このようにして生成したイベント（テスト信号やストローブ信号）は、ピンエレクトロニクス２６を介してＤＵＴ２８に供給される。基本的に、ピンエレクトロニクス２６は、多数のドライバー、コンパレータおよびスィッチ等の回路部品で構成されており、各回路部品は、ＤＵＴ２８に対して入力と出力の関係を確立するように機能する。
【００３８】
本発明のタイミングデータ圧縮技術の例を第４図−第１０図に示す。この例におけるデータは、第１図のイベントＴ０ーＴ１０に対応している。第４図は、タイミングデータ圧縮の第１の例を示している。基準クロック周期（ピリオド）の１個以下を必要とするイベントについては、コース（粗）タイミング（クロックカウント）データはゼロである。例えば、第１図のイベントＴ３、Ｔ５、Ｔ６、Ｔ８、Ｔ９、Ｔ１０はそれぞれ、基準クロックピリオドより小さいと想定している。したがって、これらのイベントについてファイン（微少）タイミング（バーニア）データをバーニアデータメモリ２１内にまとめて格納し、これらのイベント用にはクロックカウントメモリ２０のメモリ領域を割り当てないことにより、クロックカウントメモリ２０のメモリサイズを減少することができる。
【００３９】
第４図の例では、バーニアデータメモリ２１はクロックカウントメモリのメモリ領域に対応する位置ごとに４個のバーニアデータを格納している。従って、バーニアデータメモリ２１は４０ビットの幅を有している。換言すれば、クロックカウントメモリ２０のサイズは減少するが、バーニアデータメモリ２１のサイズは増加する。このアプローチは、テストベクターが１基準クロック周期より少ないイベントを多く有するときに便利である。また、２つ以上のイベントのバーニアデータを組み合わせることで、テストシステムがシステムクロック周波数よりも高速の周波数で機能できる。これは、イベントメモリの各アクセス（システムクロック）について、２つ以上のイベントが、バーニアデータに基づいて同時に生成されるためである。
【００４０】
タイミングデータ圧縮のさらに改良した実施例を第５図−第８図に示したクロックカウントメモリ２０のデータ構造を参照して説明する。上の例に示したように、それぞれのクロックカウントメモリのデータ格納位置は、２つのイベント間の最大の時間相異に対処するように、２７データビットで構成している。しかし、実際は多くの場合、隣接する２つのイベントの時間相異は、想定した最大時間差異より遙かに小さい。そのような場合は、クロックカウントメモリ２０の上位データビットは”０”の値となっている。
【００４１】
上述したようなクロックカウントデータ用に多数のデータビットを必要としないイベントを多く含むテストベクター用には、第５図−第８図の圧縮技術をクロックカウントメモリに用いることが有利である。すなわちメモリ容量を節約する為に圧縮技術を用い、クロックカウントメモリには、クロックカウントデータの高次ゼロビットはロードされないようにする。この方法では、クロックカウントデータが均等な複数のデータワードに分割される。例えば、２７ビット幅を４つのフィールド（データワード）に分けて、ゼロではない低位のデータワードのみを格納することで達せられる。
【００４２】
第５図にクロックカウントメモリのデータワードの例が示されており、８ビットで構成されている。このデータワードは、２つのイベント間のインテグラル（整数）クロック数（クロックカウントデータ）についてタイミング情報とトリガーされるべきバーニア（端数）データ数とをあらわしている。デコンプレッション（復元伸張）動作について第１１図を参照に説明するように、クロックカウントデータはイベントスタート信号を生成するために使用され、バーニアデータはイベントスタート信号に微少遅延を加えるために使用される。
【００４３】
第５図のデータワード構成例では、クロックカウントデータには０ー４ビットが割り当てられており、バーニアデータには５ー６ビットが割り当てられている。このデータワードは、該当するイベントを生成するためには、次のデータワードが必要であるかどうかを示すためのフラッグビットを含んでいる。第５図の例では、最後のビット（＃７）、すなわち最上位ビット（ＭＳＢ）が、次のデータワードが必要かを示すためのフラッグである。もしそのフラッグが”１”を示しているなら、タイミングデータは完全であり、次のデータワードは不要であることを示す。第５図のデータワードでは、クロックカウントデータとして５ビットが割り当てられているので、１から３１までのクロックカウント値を表現できる。
【００４４】
第６図（Ａ）と第６図（Ｂ）の概念図には、本発明による２つのデータワード構成の例が示されており、２つのデータワードは、第１ワードの”ワード０”と第２ワードの”ワード１”により構成されている。第６図（Ａ）に示した第１のワードの”ワード０”は、クロックカウントデータを記述するために、次のデータワードが必要であることを、フラッグビット＃７が”０”を立てることにより示す以外は、第５図のものとほぼ同じである。第６図の第２のワードである”ワード１”は、クロックカウントデータをあらわすために７ビットが与えられている。第２ワードのフラッグビット＃７は、クロックカウントデータが完全であることをあらわす”１”を示している。従って、第６図（Ａ）と第６図（Ｂ）の例は、カウントデータ用として全部で１２ビットあり、クロックカウント値を１から４０９５まで表現できる。
【００４５】
本発明による３データワードの構成例を第７図（Ａ）−第７図（Ｃ）の概念図に示す。第７図（Ａ）は、第１ワードとしての”ワード０”の構成例を示している。第７図（Ｂ）は、第２ワードとしての”ワード１”の構成例を示している。第７図（Ｃ）は、第３ワードとしての”ワード２”の構成例を示している。第７図（Ａ）の第１ワード”ワード０”は、第６図（Ａ）のものと同様である。フラッグビット＃７は、クロックカウントデータを記述するのに次のデータワードが必要であることを示す”０”を立てている。第７図（Ｂ）の第２ワードである”ワード１”は、カウントデータを表示するために７ビットが割り当てられている。第２ワードのフラッグビット＃７も、クロックカウントデータを記述するのに次のデータワードが必要であることを示す”０”を立てている。
【００４６】
第７図（Ｃ）の第３ワードである”ワード２”は、カウントデータを表示するために７ビットが与えられている。第３ワードのフラッグビット＃７は、カウントデータが完了したことを示す”１”を表示している。従って、第７図（Ａ）−第７図（Ｃ）の例は、クロックカウントデータ用として全部で１９ビット有しており、したがってクロックカウント値を１から５２４２８７まで表示することができる。
【００４７】
本発明による４データワードの構成例を第８図（Ａ）−第８図（Ｄ）の概念図に示す。第８図（Ａ）は、第１のワードとしての”ワード０”の構成例を示す。第８図（Ｂ）は、第２のワードとしての”ワード１”の構成例を示す。同様に第８図（Ｃ）は、第３のワードとしての”ワード２”の構成例を示す。第８図（Ｄ）は、第４のワードとしての”ワード３”の構成例を示す。
【００４８】
第８図（Ａ）に示してある第１ワードである”ワード０”は、第６図（Ａ）や第７図（Ａ）のものと同様である。フラッグビット＃７は、クロックカウントデータを記述するために次のデータワードが必要であることをあらわす”０”を示している。第８図（Ｂ）の第２ワードである”ワード１”は、カウントデータを表示するために７ビット有している。第２ワードのフラッグビット＃７も、クロックカウントデータを記述するために次のデータワードが必要とする”０”を示している。
【００４９】
第８図（Ｃ）の第３ワードの”ワード２”も、カウントデータを表記するのために７ビットが与えられている。第３ワードのフラッグビット＃７は、次のデータワードが必要であることを示す”０”を示している。第８図（Ｄ）の第４ワードである”ワード３”は、クロックカウントデータを表示するために８ビットが与えられている。第４のワードが最後のデータワードなので、他のワードに示されたフラッグビットは、第４ワードには不要である。第８図（Ａ）−第８図（Ｄ）の例は、クロックカウントデータを記述するために全部で２７ビット有しており、クロックカウントの１から１３４２１７７２８までの値を表示できる。
【００５０】
第９図と第１０図は、本発明により第５図−第８図のデータ構成を用いて、クロックカウントメモリとバーニアデータメモリ内の圧縮されたタイミングデータを示すデータテーブルである。第９図と第１０図のテーブルにおけるデータは、第１図のイベントＴ０ーＴ１０を発生するために用意されたものである。第９図と第１０図の例では、イベントＴ０のクロックカウントデータは１ワードと想定してあり、イベントＴ１は２ワード、イベントＴ２は３ワード、イベントＴ４は４ワード、イベントＴ７は１ワードである。第９図では、イベントＴ０ーＴ１０のクロックカウントデータ用に使用するビット数は８８であり、バーニアデータ用に使用するビット数は２００であり、合計で２８８ビットとなる。上述したように、第２図の例では、必要とされる総ビット数は４０７であった。よって、本発明では、メモリーサイズを大幅に減少できる。
【００５１】
第１０図は、イベントタイミングデータを格納するために必要なメモリサイズをさらに減少させた例を示している。第３図のアドレスシーケンサが、クロックカウントメモリ２０とバーニアデータメモリ２１のアドレスを個別に制御できる場合には、第１０図に示すようにバーニアデータメモリ２１内の空のデータビット部分をバーニアデータにより満杯にすることが可能となる。それぞれのイベントカウントデータの第１ワード中に、生成すべきイベントの数のデータを含むので、現在のイベント用としての正しいバーニアデータを特定することができる。第１０図では、イベントＴ０ーＴ１０のクロックカウントデータ用のビット数は８８であり、バーニアデータ用に使用するビット数は１１０であり、合計で１９８ビットになり、メモリサイズを更に減少させている。
【００５２】
本発明によるハードウェア・デコンプレッション（復元伸張）回路の例が第１１図に示してあり、本発明の圧縮技術で圧縮されたイベントメモリからタイミングデータを再生するものである。この例では、圧縮と再生の過程はすべてシステムソフトウェアにより行う。第１１図のデコンプレッサー２２は、クロックカウント・ステートマシン３１、ロード／ダウンカウンタ３２、バーニアコントロール・ステートマシン３３、および格納・選択回路３６を有している。この例では格納・選択回路３６は、レジスタ４１ー４４とマルチプレクサ４５ー４７を有している。
【００５３】
クロックカウントメモリ２０からのクロックカウントデータは、クロックカウント・ステートマシン３１とロード／ダウンカウンタ３２に供給されている。第５図−第１０図を参照して示したように、好ましい実施例では、クロックカウントメモリ２０からのクロックカウントデータは、１、２、３または４データワードで構成され、それぞれのデータワードは８ビット、すなわちバイトの構造をしている。バーニアデータメモリ２１からのバーニアデータは、格納・選択回路３６のレジスタ４１と４２に供給されている。前記したように、好ましい実施例では、４個までのバーニアデータを記述するために、バーニアデータは４０ビットで構成されている。
【００５４】
クロックカウントデータを受け取ると、クロックカウント・ステートマシン３１は、クロックカウントデータの最上位ビットをサンプルする（調べる）ことにより、各イベントのデータバイトの数を判断する。その判断に基づいて、クロックカウント・ステートマシン３１は、クロックカウントメモリ２０からのデータバイトをロード／ダウンカウンタ３２の正規の位置にロードする。上述したように、各データワードは８ビットで構成されており、データワード内での割り当てられたデータビットは、第１ワードと第２から第４ワードでは異なっている。従って、ステートマシン３１は、クロックカウントデータの各データワードを、ロード／ダウンカウンタ３２の正しい位置に割り当てなくてはなければならない。好ましい実施例では、ロード／ダウンカウンタ３２は２７ビットカウンタである。
【００５５】
クロックカウント・ステートマシン３１は、ロード／ダウンカウンタ３２のイネーブルおよびディスエーブルを制御する。よってクロックカウントデータは、ロード・ダウンカウンタ３２にロードされ、カウンタ３２は、計数値が０に達するまで（ターミナルカウント）基準クロックをダウンカウントする。つまり、クロックカウントデータに定義される時間だけ遅延したタイミングで、ターミナルカウントが発生される。ターミナルカウントはクロックカウント・ステートマシン３１に送られる。クロックカウント・ステートマシン３１は、第１データワード（第５図の＃５と＃６ビット）のデータをモニターすることにより、クロックカウントデータに付随するバーニアイベント数を判断する。その判断に基づき、ステートマシン３１は、バーニアコントロール・ステートマシン３３に、現在イベントで使用する適切なバーニアデータを送る。
【００５６】
格納・選択回路３６は、バーニアデータメモリ２１からバーニアデータを受け取る。上述した第５図−第８図のテーブルの例では、バーニアデータメモリ２１のそれぞれのメモリ位置は、４バーニアデータ用として４０ビットで構成されている。格納・選択回路３６において、レジスタ４１と４２は、それぞれ４０ビット幅を有することにより、格納・選択回路３６が全部で８バーニアデータを同時に格納できるように構成されている。バーニアデータメモリ２１からのバーニアデータは、交互にレジスタ４１と４２のどちらかにセットされる。これは、バーニアデータメモリ２１のアクセススピードが遅くても、イベントプロセス・コントローラ２３により十分なデータ量が処理されることを可能にする。
【００５７】
好ましくは、レジスタ４３と４４のそれぞれも、対応するレジスタ４１と４２からバーニアデータを受け取るために４０ビット幅を有している。レジスタ４１と４３は、マルチプレクサ４５が正しいバーニアデータをシリアル方式でマルチプレクサ４７に送信できるように、特定したバーニアデータを並列にマルチプレクサ４５に送信する。同様に、レジスタ４２と４４は、マルチプレクサ４６が正しいバーニアデータをシリアル方式でマルチプレクサ４７に送信できるように、特定したバーニアデータを並列にマルチプレクサ４６に送信する。
【００５８】
このようなレジスタ４１ー４４とマルチプレクサ４５ー４７におけるバーニアデータを選択する作業は、バーニアコントロール・ステートマシン３３の制御の下で行われる。すなわち、ステートマシン３３は、レジスタ４１と４２のロード動作を制御する。その制御とは例えば、バーニアデータ受け取りのタイミングと、どのレジスタがバーニアデータを受け取るべきかの選択である。ステートマシン３３はまた、どのバーニアデータがマルチプレクサ４５や４６に並列に供給されるべきかについて制御し、それによりマルチプレクサ４７からイベントプロセス・コントローラ２３にシリアル方式で正しいバーニアデータを送信させる。
【００５９】
また、ステートマシン３３は、イベントプロセス・コントローラ２３とファイン（微少）遅延コントローラ２４にインストラクションを送る。例えば、ステートマシン３３は、どのバーニアデータが現在イベントの第１バーニアデータかに関して、イベントプロセス・コントローラにインストラクションを送る。イベントプロセス・コントローラ２３は、そのようなインストラクションに基づき、第１バーニアデータからのバーニアデータについて最新のバーニアデータまでを合計する。もし、キャリーオーバーがあれば（１基準クロック周期に達すれば）、１基準クロック周期が、ステートマシン３３を介して受信したダウンカウンタ３２のターミナルカウントに加えられる。
【００６０】
この合計するプロセスに基づいて、イベントプロセス・コントローラ２３は、ファイン遅延コントローラ２４に、イベントスタート信号（基準クロックピリオドの整数倍）とバーニアデータ（端数データからキャリーオーバーを引いたもの）を送る。ファイン遅延コントローラ２４は、バーニアデータにより定義されるファイン（微少）遅延時間をイベントスタート信号に加える。ファイン遅延コントローラ２４の出力イベントは、ピンエレクトロニクス２６を介して、テスト信号としてＤＵＴ２８に与えられる。
【００６１】
好ましい実施例しか明記していないが、上述した開示に基づき、添付した請求の範囲で、本発明の精神と範囲を離れることなく、本発明の様々な形態や変形が可能である。
【００６２】
【発明の効果】
本発明によれば、イベント型半導体テストシステムは、クロックカウントメモリとバーニアデータメモリに、イベントデータを圧縮して格納することができるので、それらのメモリのサイズを大幅に縮小させることができる。その圧縮されたデータを復元伸張して、被試験半導体デバイスを検証するための様々なタイミングのイベントを形成することができる。本発明のイベント型テストシステムでは、それぞれのイベントのタイミングデータは、直前イベントからの時間差異で定義されている。本発明のハードウェア・デコンプレッサー（復元伸張器）は、被試験半導体デバイスを評価するためのイベント型テスト信号を発生するために、イベントメモリから読み出される圧縮されたイベントタイミングデータに基づいて、イベントタイミングデータを再生することを可能にする。
【図面の簡単な説明】
【図１】本発明を説明するために、イベント型半導体テストシステムにおいて使用する様々なイベントの時間関係を示した、タイミングチャートである。
【図２】第１図のイベントを生成するために使用するタイミングデータを示すデータテーブルであり、そのデータはカウントメモリとバーニアメモリで構成されるイベントメモリに格納される。
【図３】本発明によるイベントデータ圧縮技術と伸張復元技術を用いたイベント型半導体テストシステムの基本的構成を示すブロック図である。
【図４】第１図のイベントを生成するために本発明により圧縮したタイミングデータを示すデータテーブルであり、カウントメモリとバーニアメモリで形成するイベントメモリに格納される。
【図５】本発明によってタイミングデータを圧縮し、クロックカウントメモリに格納するための１データワードの構成を示す概念図である。
【図６】（Ａ）から（Ｂ）は、本発明によってタイミングデータを圧縮し、クロックカウントメモリに格納するための２データワードの構成を示す概念図である。
【図７】（Ａ）から（Ｃ）は、本発明によってタイミングデータを圧縮し、クロックカウントメモリに格納するための３データワードの構成を示す概念図である。
【図８】（Ａ）から（Ｄ）は、本発明に従ってタイミングデータを圧縮し、クロックカウントメモリに格納するための４データワードの構成を示す概念図である。
【図９】第１図のイベントを生成するために、本発明の態様によって、クロックカウントメモリとバーニアデータメモリにそれぞれ格納する第５図−第８図のデータ構成に基づいて圧縮したタイミングデータを示すデータテーブルである。
【図１０】第１図のイベントを生成するために、本発明の他の態様によって、クロックカウントメモリとバーニアデータメモリにそれぞれ格納する第５図−第８図のデータ構成に基づいて圧縮したタイミングデータを示すデータテーブルである。
【図１１】本発明により圧縮したイベントメモリからのタイミングデータを、伸張復元するための、ハードウエアによるデコンプレッション回路例を示すブロック図である。
【符号の説明】
１２          ホストコンピュータ
１３          バスインターフェイス
１４          システムバス
１５          インターナルバス
１７          フェイルメモリ
１８          アドレスシーケンサ
２０          クロックカウントメモリ
２１          バーニアデータメモリ
２２          デコンプレッサー
２３          イベントプロセス・コントローラ
２４          ファイン遅延コントローラ
２６          ピンエレクトロニクス
２８          被試験半導体デバイス（ＤＵＴ）
【図１】
0004249363.tif 000002
【図２】
0004249363.tif 000003
【図３】
0004249363.tif 000004
【図４】
0004249363.tif 000005
【図５】
0004249363.tif 000006
【図６】
0004249363.tif 000007
【図７】
0004249363.tif 000008
【図８】
0004249363.tif 000009
【図９】
0004249363.tif 000010
【図１０】
0004249363.tif 000011
【図１１】
0004249363.tif 000012