(57)【特許請求の範囲】
【請求項１】
被試験電子デバイス（ＤＵＴ）にテスト信号を与えて、そのＤＵＴの出力信号をストローブ信号のタイミングで評価することにより、そのＤＵＴを試験するイベント型テストシステムにおいて、
イベントのタイミングデータ中の基準クロック周期の整数倍データ（インテグラル部データ）で形成されたイベントカウントデータを格納するためのイベントカウントメモリと、
イベントのタイミングデータ中の基準クロック周期の端数データ（フラクショナル部データ）で形成されたイベントバーニアデータを格納するためのイベントバーニアメモリと、
上記タイミングデータを読み出すためにそのイベントカウントメモリとイベントバーニアメモリをアクセスする為のアドレスデータを生成するためのアドレスシーケンサと、
所定の基準点に対する各イベントの総合時間長を生成するために、スケールファクタに基づいて、タイミングデータを加算および変更するためのサミング・スケーリングロジックであり、そのサミング・スケーリングロジックは、上記加算および変更動作にともなう端数データの合計が基準クロック周期を超過する毎に、１基準クロック周期に相当する追加遅延を供給するための遅延手段を有し、
上記テスト信号またはストローブ信号を形成するために、上記総合時間長に基づいてそれぞれのイベントを生成するためのイベントジェネレータ回路と、
テストプログラムによってイベント型テストシステムの全体の動作を制御するためのホストコンピュータと、
を有して構成され、上記タイミングデータは２つの隣接するイベント間の時間差であるイベント型テストシステム。
【請求項２】
上記サミング・スケーリングロジックは、
スケールファクタに基づいてイベントカウントデータをスケーリングするためのイベントカウント・スケーリングロジックと、
そのスケールファクタに基づいてイベントバーニアメモリからのバーニアデータをスケーリングするためのイベントバーニア・スケーリングロジックと、
そのイベントカウント・スケーリングロジックからのターミナルカウントパルスに応答して出力信号を発生するためのイベントカウント・ステートマシンと、
上記イベントカウント・スケーリングロジックからのスケーリングされたデータと、イベントバーニア・スケーリングロジックからのスケーリングされたデータと、イベントカウント・ステートマシンからの出力信号にそれぞれ基づいて、現在イベントのスケーリングされた総合遅延を計算するためのイベントスケーリング出力ロジックと、
により構成される請求項１に記載のイベント型テストシステム。
【請求項３】
上記タイミングデータをスケーリングするための上記スケールファクタは整数部分と端数部分を有する請求項１に記載のイベント型テストシステム。
【請求項４】
上記タイミングデータをスケーリングするための上記スケールファクタは整数部分のみを有する請求項１に記載のイベント型テストシステム。
【請求項５】
上記イベントカウント・スケーリングロジックは、
上記スケールファクタの整数部分が与えられ、そのスケールファクタの整数部分により規定される数の回数について上記基準クロックをカウントし、所定数の基準クロックをカウントする毎にターミナルカウントパルスを発生するためのスケーリングカウンタと、
上記スケールファクタの端数部分が与えられ、そのスケーリングカウンタからのターミナルカウントパルスを受ける毎にそのスケールファクタの端数部分を累積するためのアキュムレータと、
を有し、上記アキュムレータにより作成された累積したデータが基準クロックの１サイクルを越えるときは、基準クロックの１サイクルの遅延時間を、基準クロックをカウントする上記スケーリングカウンタに追加するためのキャリー信号を生成する請求項３に記載のイベント型テストシステム。
【請求項６】
上記イベントバーニア・スケーリングロジックは、
上記イベントバーニアメモリからのバーニアデータが与えられ、上記整数部分と端数部分の両方を有するスケールファクタにより上記バーニアデータを乗算するためのマルチプライヤを有する請求項５に記載のイベント型テストシステム。
【請求項７】
上記イベントスケーリング出力ロジックは、
上記イベントバーニア・スケーリングロジックのマルチプライヤからの乗算データとイベントカウント・スケーリングロジックのアキュムレータからの累積されたデータを合計するためのアダーと、
上記イベントジェネレータに供給するためのイベントスタート信号を生成するための上記イベントカウント・ステートマシンからの出力信号が与えられ、そのイベントスタート信号を発生するためのステートマシンと、
により構成され、上記アダーにより生成された加算結果が基準クロックの１サイクルを越えるときは、そのアダーは基準クロックの１サイクルの遅延時間を、上記イベントスタート信号を発生するステートマシンに追加するためのキャリー信号を生成する請求項６に記載のイベント型テストシステム。
【請求項８】
上記イベントカウント・スケーリングロジックにおけるアキュムレータは演算ユニットとレジスタで構成され、上記イベントカウント・スケーリングロジックにおけるバーニアアキュムレータは演算ユニットとレジスタで構成される請求項７に記載のイベント型テストシステム。
【請求項９】
上記イベントカウント・スケーリングロジックは、
上記スケールファクタの整数部分が与えられ、そのスケールファクタの整数部分により規定される数の回数について上記基準クロックをカウントし、所定数の基準クロックをカウントする毎にターミナルカウントパルスとモードコントロール信号を発生するためのスケーリングカウンタであり、そのスケーリングカウンタはさらに基準クロックと同期してカウントデータを生成し、
上記スケールファクタの端数部分が与えられ、そのスケーリングカウンタからのターミナルカウントパルスを受ける毎にそのスケールファクタの端数部分を累積するためのアキュムレータと、
を有し、上記アキュムレータにより作成された累積したデータが基準クロックの１サイクルを越えるときは、基準クロックの１サイクルの遅延時間を基準クロックをカウントする上記スケーリングカウンタに追加するためのキャリー信号を上記アキュムレータが生成する請求項３に記載のイベント型テストシステム。
【請求項１０】
上記イベントバーニア・スケーリングロジックは、
イベントバーニアメモリからバーニアデータが与えられ、そのバーニアデータを整数部分と端数部分の両方を有するスケールファクタにより乗算するためのマルチプライヤと、
上記スケールファクタの整数部分に規定される回数について上記基準クロックのタイミングでそのバーニアデータを累積するためのバーニアアキュムレータであり、そのバーニアアキュムレータは上記モードコントロール信号によりリセットされ、
そのバーニアアキュムレータからの累積されたバーニアデータと上記マルチプライヤからの乗算されたデータを加算するためのアダーにより構成される請求項９に記載のイベント型テストシステム。
【請求項１１】
上記イベントスケーリング出力ロジックは、
上記イベントバーニア・スケーリングロジックのアキュムレータからの累積したデータと上記イベントバーニア・スケーリングロジックのアダーからの加算されたデータとを合計するためのアダーと、
上記イベントバーニア・スケーリングロジックの上記スケーリングカウンタからのカウントデータが与えられ、そのカウントデータと上記バーニアアキュムレータからのオーバーフローデータを比較し、両者が一致するときは一致信号を発生する比較器と、
上記比較器からの一致信号と上記イベントカウント・ステートマシンからの出力信号が与えられ、上記イベントジェネレータに供給するイベントスタート信号を発生するためのステートマシンと、
により構成され、上記アダーにより生成された加算結果が基準クロックの１サイクルを越えるときは、そのアダーは基準クロックの１サイクルの遅延時間を上記イベントスタート信号を発生するステートマシンに追加するためのキャリー信号を生成する請求項１０に記載のイベント型テストシステム。
【請求項１２】
上記イベントカウント・スケーリングロジックにおけるアキュムレータは演算ユニットとレジスタで構成され、上記イベントカウント・スケーリングロジックにおけるバーニアアキュムレータは演算ユニットとレジスタで構成される請求項１１に記載のイベント型テストシステム。
【請求項１３】
上記イベントカウント・スケーリングロジックは、上記スケールファクタが与えられ、そのスケールファクタにより規定される数の回数について上記基準クロックをカウントし、所定数の基準クロックをカウントする毎にターミナルカウントパルスとモードコントロール信号を発生するためのスケーリングカウンタであり、そのスケーリングカウンタはさらに基準クロックと同期してカウントデータを生成する請求項４に記載のイベント型テストシステム。
【請求項１４】
上記イベントバーニア・スケーリングロジックは、上記スケールファクタの整数部分に規定される回数について上記基準クロックのタイミングでそのバーニアデータを累積するためのバーニアアキュムレータであり、そのバーニアアキュムレータは上記モードコントロール信号によりリセットされる請求項１３に記載のイベント型テストシステム。
【請求項１５】
上記イベントスケーリング出力ロジックは、
上記イベントバーニア・スケーリングロジックの上記スケーリングカウンタからのカウントデータが与えられ、そのカウントデータと上記バーニアアキュムレータからのオーバーフローデータを比較し、両者が一致するときは一致信号を発生する比較器と、
上記比較器からの一致信号と上記イベントカウント・ステートマシンからの出力信号が与えられ、上記イベントジェネレータに供給するイベントスタート信号を発生するためのアンド回路とにより構成される請求項１４に記載のイベント型テストシステム。
【請求項１６】
上記ＤＵＴに与えたテスト信号の結果としてのそのＤＵＴの出力信号をストローブ信号のタイミングで期待値と比較してその結果の不良情報を格納するためのフェイルメモリをさらに有する請求項１に記載のイベント型テストシステム。
【請求項１７】
上記ＤＵＴと上記イベントジェネレータの間にさらにピンエレクトロニクスを有する請求項１に記載のイベント型テストシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、半導体デバイスを試験するための半導体試験システムに関する。特に本発明は、被試験半導体デバイスを評価するための様々なタイミングのテスト信号とストローブ信号を生成するために、それらのイベントのタイミングをそれぞれの直前のイベントからの時間差異で定義されるように構成したイベント型半導体試験システム、及びスケーリングロジックを含むイベント型半導体試験システムに関する。
【０００２】
【従来の技術】
例えばＩＣテスターのような半導体試験システムによってＩＣやＬＳＩのような半導体デバイスをテストするにあたっては、被試験半導体ＩＣ部品には、所定のタイミングで該当するデバイスピンに、ＩＣテスターによって形成されたテスト信号が供給される。ＩＣテスターは、被試験デバイスからテスト信号に反応して出力された信号を受ける。その被試験デバイスが正しく機能しているかを評価するために、その出力信号は期待値と比較するために、定められたタイミングでストローブ信号によりサンプルされる。
【０００３】
一般に、テスト信号とストローブ信号のタイミングは、半導体テストシステムのテスターレートあるいはテスターサイクルとの関連で定義される。そのようなテストシステムはサイクル型テストシステムと呼ぶこともある。サイクル型テストシステムでは、テスト信号とストローブ信号の所望の波形を生成するためのタイミングエッジにより、フォーマッタにプログラムしたデータレート（テスターサイクル）でサイクルピンパターンベクタを供給して、被試験半導体デバイス（ＤＵＴ）をテストする。
【０００４】
上述したように、一般に、基準クロックに基づいて、テスターサイクル、テスト信号、ストローブ信号が各種のタイミングで生成される。基準クロックは、高安定オシレータ、例えばＩＣテスターに備えられたクリスタルオシレータ（水晶発振器）によって生成される。ＩＣテスターの必要とするタイミング精度（リゾリューション）が、基準クロックオシレータの最高クロックレート（最短クロック周期）に等しいか、あるいはその整数倍に等しい場合は、カウンタ又は分周器（デバイダ）を用いて基準クロックを分周することで様々なタイミング信号が生成できる。
【０００５】
しかし、一般にＩＣテスターは、基準クロック（またはシステムクロック）の最高クロックレート、すなわち最短周期よりも高いタイミング精度を必要とする。例えば、ＩＣテスターにおいて使用される基準クロックが１０ｎｓ（ナノセカンド）の場合に、ＩＣテスターが０．３ｎｓあるいはそれ以上のタイミング精度を必要とする場合の状態であり、その場合には、単に基準クロックを当てはめたり分割したりするだけではそのようなタイミング精度を達成することができない。
【０００６】
そのような高いタイミング精度でタイミング信号を生成するために、各種のタイミングをテストプログラムのタイミングデータで記述する方法が従来より知られている。基準クロックレートより高いタイミング精度のタイミングを記述するために、タイミングデータは基準クロック時間間隔の整数倍（インテグラル部）データと基準クロックサイクルの端数（フラクショナル部）データとの組み合わせでタイミングデータを記述する。そのようなタイミングデータはそれぞれのタイミングメモリに蓄積され、各テストサイクルにおいて読み出される。従って、それぞれのテストサイクルでは、テスト信号とプローブ信号は、タイミングデータに基づき、例えばそれぞれのテストサイクルの開始点を基準として生成される。
【０００７】
また、別の方式として、イベントメモリからのデータを直接的に用いて、所望のテスト信号とストローブ信号を各ピンごとに（パーピン）生成する、イベント型テストシステムと呼ばれるテストシステムがある。今日において、イベント型テストシステムは、まだ商業化しておらず評価段階である。本発明は、主にそのようなイベント型テストシステムを対象としている。
【０００８】
イベント型テストシステムにおいては、イベントという概念を用いるが、これは被試験半導体デバイスをテストするために使用する信号のロジック状態の変化点のことである。例えば、その様な変化点は、テスト信号やストローブ信号の立ち上がりエッジや立ち下がりエッジに相当する。イベントのタイミングは、基準時間点からの時間長によって定義する。一般に、そのような基準時間点は、直前イベントのタイミングである。
【０００９】
高精度のタイミングを生成するには、イベント間のタイム時間差（遅延時間）は、基準クロックサイクルの整数倍データ（整数部またはイベントカウントデータ）と基準クロックサイクルの端数データ（端数部またはイベントバーニアデータ）との組み合わせにより定義される。そのようなイベントカウントとイベントバーニア間の関係が、第２図のタイミングチャートに示されている。この例では、第２図（Ａ）の基準クロック（マスタークロックまたはシステムクロック）は、クロックサイクル（クロック周期又は時間間隔）Ｔを有している。第２図（Ｃ）のイベント０、イベント１、イベント２は、図に示すように互いに関連している。イベント１をイベント０を基準として現すためには、第２図（Ｂ）のタイミング関係が使用され、そこにおいて、ＮＴは基準クロックピリオド（周期）ＴのＮ倍であるイベントカウントを示し、デルタＴ（ＤＴ）は基準クロックピリオド（周期）Ｔの端数であるイベントバーニアを示す。
【００１０】
イベント型テストシステムにおいては、タイミングメモリ（イベントメモリ）のタイミングデータは、それぞれ全てのテストサイクルデータに関する複雑な情報を含む必要がないので、タイミングデータの記述は大幅に簡略化できる。イベント型テストシステムにおいては、イベントメモリの保持するそれぞれのイベント用のタイミングデータは、現在イベントと最終（直前）イベントの間の時間差で表される。隣接する２つのイベント間の時間差は極めて小さいので、メモリのデータのサイズも小さくなり、その結果メモリ容量が減少する。
【００１１】
その上、ＬＳＩやＶＬＳＩのような半導体部品の設計に今日広く使用されるコンピュータ支援デザイン（ＣＡＤ）システムにおいては、ＣＡＤシステムにおけるロジックシュミレータは、設計した半導体部品を評価するために、イベント型のテスト信号を用いている。従って、イベント型テストシステムは、デザイン段階でＣＡＤシステムにより生成したデザインデータとそのデザインデータを使用して作成すべきテスト信号との間の結合が可能となる。
【００１２】
上述のように、イベント型テストシステムにおいて、イベントメモリのイベントデータは、現在イベントと直前イベントとの間の時間差異（デルタ時間）で示される。従って、イベントデータに基づいてイベントを生成するためには、イベント型テストシステムがそれぞれのイベントまでの各遅延時間の合計値を計算することができる必要がある。これは、イベントカウントデータで現された各遅延時間を継続して計数するとともに、イベントバーニアデータ値を合計するようなロジックが、テストシステムに必要であることを意味する。
【００１３】
そのような時間関係が、第３図のタイミングチャートに示されており、イベント０ー７は時間間隔Ｔ＝１を有する基準クロックを基準として示されている。例えば、イベント０のデルタ時間Ｖ０は０．７５であり（イベントカウント”０”とイベントバーニア”０．７５”）、イベント１のデルタ時間Ｖ１は１．５０（イベントカウント”１”とイベントバーニア”０．５０”）である。この場合は、イベント１の全（総合）遅延時間は２．２５であり、テストシステムのロジックはイベントクロック（基準クロック）を２つ数え”２．０”、イベントバーニアの合計”０．２５”を端数遅延時間として計算し、これらの合計を求める。この合計する（サミング）機能は、テスト信号を形成するためのイベント間の正しいバーニアを計算するのに重要である。
【００１４】
イベントテストシステムは又、イベントメモリからのデルタ時間をスケーリング（所望の倍率に変更）できる必要がある。デルタ時間Ｖ０、Ｖ２、．．．ＶＮのスケーリング動作は、それぞれのデルタ時間をスケーリング係数倍にすることで達成される。例えば、デルタ時間１．５を係数２でスケールするには、１．５Ｘ２＝３にすることを意味する。上述のイベントカウントデータとイベントバーニアデータで定義するデルタ時間（遅延時間値）を用いて一般的に表現すれば、この乗算は（イベントカウント＋イベントバーニア）Ｘ（スケールファクタ）＝スケーリングされた遅延時間となる。
【００１５】
ソフトウェアを用いて上述の合計値算出やスケーリングを行うことは出来る。しかし、遅延時間をあらわす多大なデータを変換するために要する時間と、このデータをイベント型テスターに再ロードするに要する時間は多大である。むしろ、合計値算出とスケーリングは、ハードウェアで直接に行うべきである。イベント型テストシステムにおいて様々なスケーリング技術が可能である。
【００１６】
【発明が解決しようとする課題】
したがって、本発明の目的は、イベントメモリに蓄えられたイベントデータに基づいて、テスト信号やストローブを生成して、被試験半導体デバイスに与え、被試験デバイスを評価するためのイベント型半導体テストシステムを提供することにある。
【００１７】
また、本発明の他の目的は、最終（直前）イベントからの時間差異（デルタ時間）によりそれぞれのイベントのタイミングが定義される、各種のタイミングのイベントを生成するためのイベント型半導体テストシステムを提供することにある。
【００１８】
また、本発明のさらに他の目的は、前イベントからのデルタ時間に基づいてイベントを生成するイベント型半導体テストシステムを提供することにあり、そのテストシステムにおいては、各イベントのデルタ時間は、基準クロック周期の整数倍データと、基準クロック周期の端数データの組み合わせにより定義される。
【００１９】
また、本発明のさらに他の目的は、スケールファクタ（倍率変更係数）に基づいて、現イベントの遅延時間を変更することにより、現イベントを生成するための遅延時間（デルタ時間）をスケーリングすることができるイベント型半導体テストシステムを提供することにある。
【００２０】
また、本発明のさらに他の目的は、整数部と端数部により構成されるスケールファクタ（倍率変更係数）を用いて、遅延時間（デルタ時間）をスケーリングすることができるイベント型半導体テストシステムを提供することにある。
【００２１】
また、本発明のさらに他の目的は、整数部のみを有するスケールファクタ（倍率変更係数）を用いて、遅延時間（デルタ時間）をスケーリングすることができるイベント型半導体テストシステムを提供することにある。
【００２２】
【課題を解決するための手段】
本発明は、ＤＵＴに供給するためのテスト信号を作成するための様々なタイミングのイベントを生成し、ストローブ信号のタイミングでＤＵＴの出力を評価することにより、被試験電子デバイス（ＤＵＴ）をテストするためのイベント型テストシステムである。各イベントのタイミングは、スケールファクタ（倍率変更係数）の値に応じて自由に変更できる。
【００２３】
本発明のイベント型テストシステムは：基準クロック周期の整数倍データ（インテグラル部データ）と基準クロック周期の端数データ（フラクショナル部データ）で形成される各イベントのタイミングデータを格納するためのイベントメモリと、そのタイミングデータを読み出すためにイベントメモリにアクセスする為のアドレスデータを生成するためのアドレスシーケンサと、所定の基準点に対する各イベントの総合時間長を生成するために、スケールファクタに基づいて、タイミングデータを加算および変更するためのサミング・スケーリングロジックであり、そのサミング・スケーリングロジックは、上記加算および変更動作にともなう端数データの合計が基準クロック周期を超過する毎に、１基準クロック周期に相当する追加遅延を供給するための遅延手段を有し、上記テスト信号またはストローブ信号を形成するために、上記総合時間長に基づいてそれぞれのイベントを生成するためのイベントジェネレータ回路と、テストプログラムによってイベント型テストシステムの全体の動作を制御するためのホストコンピュータとを有して構成される。
【００２４】
本発明の他の様態では、上記のサミング・スケールロジックは：スケールファクタに基づいてイベントカウントデータをスケーリングするためのイベントカウント・スケーリングロジックと、スケールファクタに基づいてイベントバーニアメモリからのバーニアデータをスケーリングするためのイベントバーニア・スケーリングロジックと、そのイベントカウント・スケーリングロジックからのターミナルカウントパルスに応答して出力信号を発生するためのイベントカウント・ステートマシンと、上記イベントカウント・スケーリングロジックからのスケーリングされたデータと、イベントバーニア・スケーリングロジックからのスケーリングされたデータと、イベントカウント・ステートマシンからの出力信号にそれぞれ基づいて、現在イベントのスケーリングされた総合遅延を計算するためのイベントスケーリング出力ロジックと、により構成される。
【００２５】
上記サミング・スケーリングロジックにおいて、タイミングデータをスケーリングするためのスケールファクタは整数部分と端数部分により構成される。あるいは、タイミングデータをスケーリングするためのスケールファクタは整数部のみで構成される。スケールファクタが整数部分と端数部分の双方を有する本発明の様態では、イベントカウント・スケーリングロジックは、スケールファクタの整数部分が与えられ、そのスケールファクタの整数部分により規定される数の回数について基準クロックをカウントし、所定数の基準クロックをカウントする毎にターミナルカウントパルスを発生するためのスケーリングカウンタと、そのスケールファクタの端数部分が与えられ、そのスケーリングカウンタからのターミナルカウントパルスを受ける毎にスケールファクタの端数部分を累積するためのアキュムレータとを有し、アキュムレータにより作成された累積したデータが基準クロックの１サイクルを越えるときは、基準クロックの１サイクルの遅延時間を基準クロックをカウントするスケーリングカウンタに追加するためのキャリー信号を生成する。
【００２６】
またスケールファクタが整数部分と端数部分の両方を含む本発明の態様では、イベントバーニア・スケーリングロジックは、イベントバーニアメモリからのバーニアデータが与えられ、整数部分と端数部分の両方を有するスケールファクタによりバーニアデータを乗算するためのマルチプライヤを有し、イベントスケーリング出力ロジックは、イベントバーニア・スケーリングロジックのマルチプライヤからの乗算データとイベントカウント・スケーリングロジックのアキュムレータからの累積されたデータを合計するためのアダーと、イベントジェネレータに供給するためのイベントスタート信号を生成するためのイベントカウント・ステートマシンからの出力信号が与えられ、そのイベントスタート信号を発生するためのステートマシンとにより構成され、アダーにより生成された加算結果が基準クロックの１サイクルを越えるときは、そのアダーは基準クロックの１サイクルの遅延時間を上記イベントスタート信号を発生するステートマシンに追加するためのキャリー信号を生成する。
【００２７】
本発明の更に他の様態においては、イベントバーニア・スケーリングロジックは、イベントバーニアメモリからバーニアデータが与えられ、そのバーニアデータを整数部分と端数部分の両方を有するスケールファクタにより乗算するためのマルチプライヤと、上記スケールファクタの整数部分に規定される回数について基準クロックのタイミングでそのバーニアデータを累積するためのバーニアアキュムレータで構成される。マルチプライヤはスケールファクタの端数部分のみを取り扱うように構成できるので、必要とするロジックのスケールを減少させることが出来る。
【００２８】
本発明によれば、イベント型半導体テストシステムは、半導体デバイスを評価するために、イベントメモリに蓄えたイベントデータに基づいて様々なタイミングのイベントを生成することができる。それぞれのイベントのタイミングは、最後（直前）のイベントからの時間差（デルタ時間）で定義される。さらにイベント間のデルタ時間は、基準クロック周期の整数倍データと基準クロック周期の端数データの組み合わせで定義される。本発明のイベントテストシステムは、スケールファクタ（倍率変更係数）に基づいて、現在イベントの遅延時間を変更することにより現在イベントを生成するための遅延時間（デルタ時間）をスケーリングすることができる。本発明のイベントテストシステムにおけるスケーリング動作は、整数部と端数部とを有するスケールファクタに基づいて行われる。他の様態においては、イベントテストシステムのスケーリング動作は、整数部のみを有するスケールファクタに基づいて行われる。
【００２９】
【発明の実施の形態】
第１図は、本発明のイベント型テストシステムの基本構成例を示す概略ブロック図である。本発明のイベント型テストシステムにおいて、ホストコンピュータ１２とバスインタフェース１３は、双方ともにシステムバスに接続されている。イベント型テストシステムはさらに、内部バス１５、アドレスコントロールロジック１８、フェイルメモリ１７、イベントカウントメモリ２０とイベントバーニアメモリ２１より成るイベントメモリ、イベントサミング・スケーリングロジック２２、イベントジェネレータ２４、およびピンエレクトロニクス２６とを有して構成されている。イベント型テストシステムは被試験半導体デバイス（ＤＵＴ）２８を評価するシステムである。被試験デバイスは、一般にメモリＩＣまたはマイクロプロセッサのようなロジックＩＣであり、ピンエレクトロニクス２６に接続される。
【００３０】
ホストコンピュータ１２の例として、ＵＮＩＸオペレーティングシステムを有するワークステーションがある。ホストコンピュータ１２は、テストの開始や終了、テストプログラムや他のテスト・コンディション（試験条件）のロード、あるいはホストコンピュータでのテスト結果分析を、ユーザーが指示できるようにするためのユーザーインタフェースとして機能する。ホストコンピュータ１２は、システムバス１４とバスインタフェース１３を介してハードウェア・テストシステムとインタフェースする。図には示されていないが、ホストコンピュータ１２は好ましくは、他のテストシステムあるいはコンピュータ・ネットワークとテスト情報を送信また受信できるように、通信回線に接続している。
【００３１】
内部バス１５は、ハードウェア・テストシステム内のバスであり、一般に、アドレスコントロールロジック１８、フェイルメモリ１７、イベントサミング・スケーリングロジック２２、イベントジェネレータ２４のような、ほとんどの機能ブロックに接続している。アドレスコントロールロジック１８の例は、ハードウェア・テストシステムに専用のテスタープロセッサであり、ユーザはアクセスすることはできない。アドレスコントロールロジック１８は、ホストコンピュータ１２からのテストプログラムとテストコンディションに基づいて、テストシステム内の他の機能ブロックにインストラクションを供給する。フェイルメモリ１７は、アドレスコントロールロジック１８により定義されたアドレスに、ＤＵＴ２８のフェイル情報のようなテスト結果を格納する。フェイルメモリ１７に蓄えられた情報は、被試験デバイスのフェイル解析段階において使用される。
【００３２】
アドレスコントロールロジック１８は、第１図に示すようにイベントカウントメモリ２０とイベントバーニアメモリ２１にアドレスデータを供給する。実際のテストシステムでは、イベントカウントメモリとイベントバーニアメモリのセット（組）が複数個用いられ、それぞれのメモリのセットは、テストシステムのテストピンに対応して構成される。イベントカウントメモリおよびバーニアメモリは、テスト信号およびストローブ信号のそれぞれのイベントのタイミングデータを格納する。後に詳しく説明するように、イベントカウントメモリ２０は、基準クロックの整数倍（インテグラル部）であるタイミングデータを格納している。また、イベントバーニアメモリ２１は、基準クロックの端数（端数部）であるタイミングデータを格納している。本発明では、これらのメモリに格納されたそれぞれのイベント用のタイミングデータは、前イベントからの時間差異（遅延時間またはデルタ時間）で示され、その詳細は後述する。
【００３３】
イベントサミング・スケーリングロジック２２は、イベントカウントメモリ２０とイベントバーニアメモリ２１からのタイミングデータ（デルタ時間データ）に基づいて、それぞれのイベントの総合タイミングを示すデータを生成する。基本的に、そのような総合のタイミングデータは整数倍データと端数データを合計することで生成する。タイミングデータを合計する過程では、端数データのキャリーオーバー動作（整数データへの繰り上がり）は、イベントサミング・スケーリングロジック２２において行われる。総合のタイミングを生成する過程では、全体としてのタイミングをスケールファクタにより倍率を変更するための動作（スケーリング）を実施することができる。そのようなスケーリングの詳細は後述する。
【００３４】
イベントジェネレータ２４は、イベントサミング・スケーリングロジック２２からの総合タイミングに基づいて、各イベントを実際に生成するブロックである。このようにして生成されたイベント（テスト信号とストローブ信号）は、ピンエレクトロニクス２６を介して被試験デバイス２８に供給される。ピンエレクトロニクス２６は多数の部品で形成しており、そのそれぞれの部品は、被試験デバイス２８との入力と出力関係を確立するための、ドライバー、コンパレータおよびスイッチで構成される。
【００３５】
本発明のイベントサミング・スケーリングロジック２２の例を、第４図ー第１５図を参照して説明する。本発明においてサミング（合計値算出）とは、受け取ったイベントデータ（デルタ時間）の全てを加算することである。またサミング動作において、端数部データの加算により、その結果が基準クロックの１サイクルを超過するときは、キャリーオーバー（桁上げあるいはオーバーフロー）動作を行う。本発明においてスケーリングとは、イベントメモリに蓄えたタイミングデータである各イベント間の遅延データ（デルタ時間）に、スケールファクタ（倍率変更係数）を掛けて総合的なタイミングを変更するプロセスである。スケールファクタを変えることにより、テストシステムにより生成したイベントの総合タイミング（最終遅延値）を自由に修正することが可能である。この出願における以下の記述の大部分は、本発明におけるイベントスケーリングの構成と動作に焦点をおいている。
【００３６】
スケーリングには基本的に２つのタイプがあり、その１つは端数スケーリングであり、他は整数スケーリングである。端数スケーリングにおいては、スケールファクタは端数部と整数部を有しており、例えば”ｘｘｘ．ｘｘｘ”で表される。整数スケーリングにおいては、スケールファクタは端数部を有しておらず、整数部のみを有しており、例えば”ｘｘｘ”で表される。本発明の以下の説明においては、隣接するイベント間のデルタ時間の絶対値は、基準クロックの１サイクルより大きい必要がある。
【００３７】
スケーリングは、イベントデータのサミング（合計値算出）動作の前に行う（プリスケーリング）ことも、サミングの後に行う（ポストスケーリング）ことも可能である。第４図は、サミング動作の前にスケーリング機能を行う方式であるプリスケーリングの基本構成を示すブロック図である。イベントメモリ３０からのイベントデータ（デルタ時間）は、イベントサミングロジック３２に供給される前に、マルチプライヤ３５においてスケールファクタで乗算される。
【００３８】
第４図の遅延変更（スケーリング）の基本構成は、上述したイベントテストシステムにおいて、第５図のような構成として用いられる。第５図の例は、整数プリスケーリングまたは端数プリスケーリングの例を示すブロック図である。イベントカウントメモリ２０からのデルタ時間の整数部データ（イベントカウントデータ）は、スケールファクタが与えられているマルチプライヤ（乗算器）３５によってスケーリングされる。デルタ時間の端数部データ（バーニアデータ）は、スケールファクタが与えられているマルチプライヤ（乗算器）３６によってスケーリングされる。
【００３９】
それぞれマルチプライヤ３５とマルチプライヤ３６からのスケーリングされたデルタ時間は、アダー（加算器）３７により加算される。これにより総合遅延時間を形成し、この総合遅延時間を基準クロック周期（１サイクル時間）の整数倍である整数部遅延データと、基準クロック周期より小さい端数部遅延データとに分離する必要がある。整数部遅延データは、イベントカウント遅延ロジック４３に供給され、端数部遅延データは、イベントサミングロジック３２内のイベントバーニア遅延ロジック４５に供給されている。換言すれば、バーニアデータのスケーリングによりその結果が１基準クロックサイクルを超過する場合は、バーニアデータのスケーリングの結果の整数部は、整数部遅延データに追加するために、イベントカウント遅延ロジック４３に供給する必要がある。
【００４０】
イベントサミングロジック３２において、イベントカウント遅延ロジック４３とイベントバーニア遅延ロジック４５は、イベントデータの読み出し動作の開始（最初のイベント）から現在イベントまでに累積された総合の遅延時間を生成するための、相互作用を行う。端数部遅延データの合計がオーバーフローを生じるときには、イベントバーニア遅延ロジック４５はイベントカウント遅延ロジック４３に信号を送り、イベントカウント遅延ロジック４３において、１の基準クロック遅延を追加する。
【００４１】
整数プリスケーリングを有するイベントテストシステムの基本構成は、第５図に示した構成と同様であるが、その内部動作は異なる。主な違いは、イベントカウントメモリ２０からのイベントカウント値とスケールファクタは、両方とも基準クロックの整数倍データのみであるということである。従って、整数値データを他の整数値データでスケーリングするので、イベントバーニア加算結果に加えるべき整数部データには端数値を生じない。一方、イベントバーニアデータは、１の基準クロックサイクルより小さな値なので、この値を整数スケールファクタでスケーリングすると、端数部のある結果を生成する可能性がある。さらにその結果としての遅延データは、１基準クロックサイクルを超過する可能性がある。従って、端数スケーリングの場合と同様に、バーニアスケーリングの結果により生じた整数値（オーバーフロー）は、イベントサミングロジック３２に供給して、整数部遅延データに追加する必要がある。そのようなバーニアデータ値から整数値を分離する機能は、整数部遅延データと端数部遅延データをアダー３７の出力から分離することにより実行される。
【００４２】
上述したプリスケーリングは、後述するポストスケーリングに比較して、いくつかの難点がある。第１に、それぞれの遅延データの乗算結果としてのデータの端数を所定ビットによるデータとなるように四捨五入する必要がある。この結果、それぞれの遅延データ（バーニア遅延）に誤差を発生させる。第２に、スケーリング動作の結果は、イベントサミングロジックによって合計されるので、スケーリングされたバーニア遅延データの合計値中に、これら誤差は累積されてしまう。現在イベントのタイミングは、全ての前イベントの遅延時間を累積した結果であるから、合計値に新しいイベントデータ（遅延値）が加わる毎に上述の誤差が増大する。
【００４３】
上述のプリスケーリング動作で生ずる遅延時間誤差を防止するためには、バーニア遅延データ（端数部）のサミング（合計値算出）の後に、スケーリング機能を位置づけるべきである。したがって第６図は、本発明のポストスケーリングの基本構成を示しており、サミング動作がスケーリング動作に先行するように構成されている。スケールファクタ（倍率変更係数）による遅延データの乗算は、誤差を導入してしまうが、そのような誤差が発生するのは１回だけであり、後のイベントについて累積しない。
【００４４】
第６図では、デルタ時間（基準クロック周期の整数倍データと端数データにより構成される遅延データ）が、イベントサミングロジック５２に供給されており、現在イベント用の遅延データが前イベントの全ての遅延データに合計される。合計遅延データはマルチプライヤ（乗算器）５５に与えられたスケールファクタによって乗算される。これにより得られたスケーリングされた遅延データは、イベントジェネレータ２４に供給され、これにより、例えば最終イベントカウント遅延であるイベントスタート（イベントエネーブル）信号と、最終バーニア遅延であるイベントバーニアとに基づいて、意図したイベントを発生する。第６図のブロック図は、ポストスケーリングロジックの構成において、イベントサミングロジック５２にデータを戻さなくてはならないことも示している。このデータは、スケーリング動作で発生した基準クロックの追加遅延（オーバフロー）を示しており、これによりサミングロジックを遅延させるように機能する。
【００４５】
第７図は、イベントテストシステムに適用した、ポストスケーリングの基本構成を示すブロック図である。この例では、乗算用のスケールファクタ（倍率変更係数）は、整数部と端数部の両方を含んでいる。イベントカウントメモリ２０からのイベントカウントデータ（デルタ時間の整数部）は、イベントサミングロジック５２内のイベントカウント遅延ロジック５３に供給されている。イベントバーニアメモリ２１からのイベントバーニアデータ（デルタ時間の端数部）は、イベントサミングロジック５２内のイベントバーニア遅延ロジック５４に供給されている。イベントサミングロジック５２において、現在イベントのデルタ時間は、全ての以前のイベントのデルタ時間と加算される。この加算動作（サミング）において、バーニアデータを合計した結果が基準クロックサイクルを超過した場合は、イベントカウント遅延ロジック５３にて１基準クロックサイクルの追加遅延を含めるために、キャリー信号が生成される
【００４６】
マルチプライヤ（乗算器）５８は、イベントカウント遅延ロジック５３から、サミング結果におけるインテグラル（整数）部遅延値を受ける。整数部遅延値は、マルチプライヤ５８によりスケールファクタ（倍率変更係数）と乗算される。マルチプライヤ（乗算器）５９は、イベントバーニア遅延ロジック５４から、サミング結果におけるバーニア遅延値を受け取る。バーニア遅延値はマルチプライヤ５９によりスケールファクタと乗算される。マルチプライヤ５８と５９からのスケーリング結果はアダー５７によって加算される。スケールファクタの端数部分は、スケーリングされたイベントカウント遅延データに端数部を生成する可能性がある。その場合その端数部データは、現在イベント用の最終遅延値を決定するために、スケーリングされたバーニア遅延データに加える必要がある。そのような端数部の加算の結果としての遅延値が、１の基準クロック周期より大きくなった場合（オーバーフロー）は、アダー５７の出力の整数部には、１基準クロックサイクルに相当する遅延時間が追加される。
【００４７】
第８図は、イベントテストシステムに応用されたポストスケーリングの更にもう一つの基本構成を示したブロック図である。この例では、倍率変更のための乗算動作に用いるスケールファクタ（倍率変更係数）は整数部分のみを有している。この整数型ポストスケーリングでは、バーニア遅延スケーリングの結果に加えるためのイベントカウントスケーリングの結果には端数部を生じない。これは、イベントカウント遅延ロジック６３からの遅延データと、スケールファクターは、ともに基準クロックの整数倍データのみであるからである。それとは異なり、イベントバーニア遅延データは、長さが１基準クロック周期より小さい値であり端数値を有している。従って、整数スケールファクタでこのバーニア遅延データをスケーリングすると、その結果には端数値を生じることになる。またこのようにスケーリングされたバーニア遅延データは、１基準クロックを超過する場合がある。従って、第７図の端数スケーリングの場合と同様に、バーニアスケーリングの結果におけるインテグラル値（整数値）は、アダー６７によりイベントカウント遅延データに整数値の遅延として追加する必要がある。アダー６７の出力におけるインテグラル部遅延と端数部遅延は、イベントジェネレータ２４に供給される。
【００４８】
第９図は、整数部と端数部の両方を含むスケールファクタを使用するポストスケーリングのより具体的な例を示している。イベントカウント・ステートマシン７１は、その一部は、第７図のイベントサムロジック５２におけるイベントカウント遅延ロジック５３に相当している。イベントカウント・ステートマシン７１は、後述するように、全ての前イベントについて累積された遅延データにおけるインテグラル部（整数部）に基づいて、バリッドデータエネーブルを生成する。レジスタ７２は、この例では整数部と端数部で構成されるるスケールファクタ（倍率変更係数）を格納している。
【００４９】
第９図の本発明の実施例は、基本的にイベントカウント・スケーリング部、イベントバーニア・スケーリング部、およびイベント・スケーリング出力部で構成されている。イベントカウント・スケーリング部は、ほぼ第７図のマルチプライヤ（乗算器）５８に相当し、イベントバーニア・スケーリング部は、第７図のマルチプライヤ（乗算器）５９に相当する。また、イベント・スケーリング出力部は、ほぼ第７図のアダー５７に相当する。累積したイベントカウントデータに基づいて生成された、イベントカウント・ステートマシン７１からのバリッドデータエネーブルは、レジスタ７９とフリップフロップ８１を介してイベント・スケーリング出力部に送られ、最終遅延データの整数部であるイベントスタート信号を生成する。イベント・スケーリング出力部はさらに、最終的（総合的）な遅延データの端数部データであって、イベントスタート信号に追加すべき遅延タイミングを現すイベントバーニアデータも生成する。
【００５０】
レジスタ７２からのスケールファクタは、第９図のイベントカウント・スケーリング部とイベントバーニア・スケーリング部に供給される。イベントカウント・スケーリング部は、スケーリングカウンタ７３、およびアダー７４とレジスタ７５で形成するアキュムレータを有している。イベントバーニア・スケーリング部は、マルチプライヤ７７とレジスタ７８を有している。イベント・スケーリング出力部は、アダー８２、フリップフロップ８３およびステートマシン８４を有している。特に図示していないが、基準クロックが第９図のそれぞれの回路素子に共通に供給されている。
【００５１】
この例では、イベントカウント・スケーリング部において、スケールファクタの端数部がアダー７４に供給されており、スケールファクタの整数部はカウンタ７３に供給されている。イベントバーニア・スケーリング部では、スケールファクタのフルスケール値（整数部と端数部）が、マルチプライヤ７７に供給されている。イベントバーニアメモリからのバーニアデータは、スケールファクタと乗算するように、マルチプライヤ７７に供給されている。
【００５２】
スケールファクタの整数部分は、スケーリングカウンタ７３をプリセットする。これにより、基準クロックをカウントした値がプリセット値に達したとき、ターミナルカウント（ＴＣ）パルスが、スケーリングカウンタ７３から発生される。例えば、スケールファクタの整数部分の値が”３”を示している場合には、スケーリングカウンタ７３は、基準クロックの３パルスをカウントする毎にターミナルカウントパルスを生成する。ターミナルカウントパルスはイベントカウント・ステートマシン７１に、クロックイネーブル信号として与えられる。これにより、ターミナルカウントパルスの数が、イベントカウント・ステートマシン７１において規定された累積したイベントカウント値に達したときに、バリッドデータエネーブルが生成される。
【００５３】
スケーリングカウンタ７３からのターミナルカウントパルスは、レジスタ７５と７８にも供給されている。上述したように、レジスタ７５とアダー７４はアキュムレータを形成しているので、レジスタ７５がターミナルカウントパルスをを受け取る毎に、スケールファクタの端数部が以前の端数部データに加算される。このように累積した端数部が、例えば１基準クロックサイクルのような”１”といった整数値を超過する場合には、その結果としてのキャリー信号をスケーリングカウンタ７３に与えて、次のターミナルカウントパルスの発生を基準クロックサイクル相当時間だけ遅延させる。
【００５４】
イベントバーニア・スケーリング部では、レジスタ７８は、バーニアデータをスケールファクタで掛けた結果のバーニア値を、イベント・スケーリング出力部のアダー８２に送出する。従って、イベント・スケーリング出力部のアダー８２は、レジスタ７８からのスケーリングされたバーニアデータに、レジスタ（アキュムレータ）７５からの累積した端数部データを加算する。加算の結果がオーバーフロー、すなわち整数値を越える場合には、そのような整数値を示す最上位ビット（ＭＳＢ）をステートマシン８４に与えることにより、その整数値により定義される追加の遅延時間を与える。追加遅延の定義されたタイミングに基づいて、ステートマシン８４は、イベントジェネレータに供給される第９図に示されるようなイベントスタート信号またはバリッドデータエネーブルを発生する。スケーリングされたイベントバーニアの端数部は、イベント・スケーリング出力部から発生され、イベントジェネレータに供給される。
【００５５】
第１０図は、スケーリングファクタが整数部分と端数部分の両方を含む端数ポストスケーリングをイベントテストシステムに適用した他の実施例を示すブロック図である。上述のように、第９図の実施例ではマルチプライヤ（乗算器）７７を有しており、このマルチプライヤにはスケールファクタのフルスケール値が供給されている。従って、そのようなフルスケール値の乗算動作は、その実施に多大なロジック（ハードウエア等）を必要とする。それとは異なり、第１０図の方法では、イベントバーニア・スケーリング部において、バーニアデータの乗算を、整数部動作と端数部動作に分離して実施することにより、ロジックを簡略にしている。
【００５６】
第１０図のイベントカウント・ステートマシン７１とイベントカウント・スケーリング部は、第９図のそれと同様であり、全ての前イベントを通じて累積した遅延データのインテグラル部（整数部）に基づいてバリッドデータエネーブルを生成する。バリッドデータエネーブルは、イベントスタート信号を生成するために、フリップフロップ７９およびフリップフロップ９１ー９３を介して、イベント・スケーリング出力部のステートマシン８４に送信される。レジスタ７２は、整数部と端数部で構成するスケールファクタを格納している。
【００５７】
第１０図のイベントカウント・スケーリング部は、スケーリングカウンタ７３が、イベント・スケーリング出力部のコンパレータ（比較器）９９にカウントデータＣＮＴを供給するという点で、第９図の場合と異なる。イベントカウント・スケーリング部の他の相異点は、スケーリングカウンタ７３がイベントバーニア・スケーリング部のアキュムレータに、モードコントロール（ＭＯＤＥ）信号を供給することである。第９図の例にあるように、アダー７４とレジスタ７５がアキュムレータを形成している。イベントカウント・スケーリング部は、イベントバーニア・スケーリング部で増加した部品に対応して、そのリタイミングのために、追加のフリップフロップ９４ー９６を有している。
【００５８】
イベントバーニア・スケーリング部は、マルチプライヤ（乗算器）１０５、フリップフロップ１０７、レジスタ１１１、アダー（加算器）１０６とレジスタ１０８とで形成したバーニア・アキュムレータ、フリップフロップ１１２、アダー１１３、およびフリップフロップ１０２を有している。アキュムレータは、スケーリングカウンタ７３からモードコントロール信号を受け取る。イベントメモリからのバーニアデータは、マルチプライヤ１０５とアダー１０６（バーニアアキュムレータ）に供給されている。マルチプライヤ１０５はまた、レジスタ７２からスケールファクタの端数部を受け取る。
【００５９】
イベント・スケーリング出力部は、上述したコンパレータ９９とステートマシン８４、そしてアダー８２、フリップフロップ８３、９７、９８、１０１を有している。コンパレータ９９は、スケーリングカウンタ７３からカウンタデータＣＮＴを受け取り、またイベントバーニア・スケーリング部から累積したバーニアデータの最上位ビット（ＭＳＢ）より得られたオーバーフロー信号を受け取り、それらを比較する。ステートマシン８４は、イベントカウント・ステートマシン７１からのバリッドデータエネーブルと、コンパレータ９９の出力（整数遅延エネーブル）を受ける。イベントスタート信号は、アダー８２による加算の結果がキャリー信号（ＭＳＢ）を伴う場合には、１基準クロックサイクル時間だけ追加して遅延される。もしキャリー信号が１以上の数を示すとき、例えばＭＳＢが複数のビットの場合には、その数値に相当する基準クロックサイクル数の遅延が、イベントスタート信号を生成する前に追加される。
【００６０】
第１０図では、レジスタ７２からのスケールファクタは、上述のイベントカウント・スケーリング部とイベントバーニア・スケーリング部にそれぞれ供給されている。この例では、イベントカウント・スケーリング部では、スケールファクタの端数部がアダー７４（アキュムレータ）に供給されており、スケールファクタのインテグラル部（整数部）はスケーリングカウンタ７３に供給されている。イベントバーニア・スケーリング部においては、第９図の例と異なり、スケールファクタの端数部のみがマルチプライヤ（乗算器）１０５に供給されている。イベントバーニアメモリからのバーニアデータは、マルチプライヤ１０５に供給され、そこでスケールファクタの端数部と乗算される。さらにバーニアデータは、バーニアアキュムレータ（アダー１０６）にも供給され、スケールファクタの整数部で定義される基準クロック数だけ累積される。
【００６１】
スケールファクタの整数部の値を、スケーリングカウンタ７３をプリセットすることにより、カウント値がプリセット値に達する度に、ターミナルカウント（ＴＣ）パルスが生成される。例えば、スケールファクタの整数部が”３”である場合は、スケーリングカウンタ７３は、基準クロックパルスを３個数える度にターミナルカウントパルスを発生する。ターミナルカウントパルスはイベントカウント・ステートマシン７１にクロックエネーブルとして供給され、ターミナルカウントパルス数がステートマシン７１で特定するイベントカウント値に達すると、バリッドデータエネーブルが発生される。
【００６２】
スケーリングカウンタ７３からのターミナルカウントパルスは、レジスタ７５にも供給されている。上述したように、レジスタ７５とアダー７４はアキュムレータを形成しているので、レジスタ７５がターミナルカウントパルスを受ける毎に、スケールファクタの端数部はその前の端数部に加算される。このようにして累積した端数部が、例えば”１”（１基準クロックサイクル）のような整数を超過する場合は、ターミナルカウントパルスの発生を１基準クロックサイクル時間だけ追加して遅延させるためにキャリー信号がスケーリングカウンタ７３に与えられる。
【００６３】
イベントバーニア・スケーリング部では、上述したように、イベントバーニアメモリからのバーニアデータが、スケールファクタの端数部と乗算されるように、マルチプライヤ１０５に供給されている。マルチプライヤ１０５は、スケールファクタの端数部のみ取り扱うので、乗算に関わるビット数は第９図のマルチプライヤ７７の場合と比較して減少させることが可能である。バーニアデータは又、アダー１０６とレジスタ１０８により形成されるバーニアアキュムレータにより、基準クロックサイクル毎に累積される。ベーニアアキュムレータは、整数乗算とは単にその整数値で現される回数だけ加算することであるとの事実に基づき、バーニア乗算の整数部分の計算を、加算を繰り返すことにより実施する。
【００６４】
スケーリングカウンタ７３のそれぞれのスケールカウント動作の開始時点において、スケーリングカウンタ７３からのモードコントロール（ＭＯＤＥ）信号により、バーニアアキュムレータを初期化する。すなわち、スケーリングカウンタ７３へのスケールファクタの整数部が”３”である前例では、基準クロックの各３サイクル毎に、モードコントロール信号がそれぞれ発生される。このモードコントロール信号は、バーニアアキュムレータをリセットする。バーニアアキュムレータのオーバーフロー（ＭＳＢ）値は、コンパレータ（比較器）９９に供給され、そこでスケーリングカウンタ７３からのカウントデータと比較される。比較した結果（整数遅延エネーブル）は、ステートマシン８４に供給され、それによりバリッドデータエネーブルの遅延時間を決定する。
【００６５】
累積されたバーニアデータと乗算されたバーニアデータは、アダー１１３によって加算され、その結果がイベント・スケーリング出力部のアダー８２に供給される。イベント・スケーリング出力部のアダー８２は、レジスタ７５からのイベントカウントデータの累積した端数部と、アダー１１３からスケーリングされたバーニアデータを加算する。アダー８２による加算結果がオーバーフローを生ずる場合、すなわち整数値を含有する場合には、そのような整数値を示す最上位ビット（ＭＳＢ）をステートマシン８４に供給して、その整数値によって定義される追加遅延を付与する。ステートマシン８４は、コンパレータ９９の出力によって規定される遅延時間と、最上位ビットＭＳＢにより規定される追加遅延とに基づいて、イベントスタート信号を生成してイベントジェネレータに供給する。
【００６６】
第１１図は、スケーリングファクタが整数部のみで構成されている本発明のポストスケーリングをイベントテストシステムにおいて適用するための構成例を示すブロック図である。第１１図の実施例はその構成は、第１０図の実施例より単純である。なぜならスケールファクタの端数部についてのスケーリング動作を伴わないからである。第１２図（Ａ）ー第１２図（Ｇ）は、第１１図のスケーリング動作を示すタイミングチャートである。
【００６７】
第１１図の例では、スケールファクタは整数部分しか含まないので、第１０図の例におけるイベントスケーリングのためのアキュムレータは、この実施例は有していない。イベントカウント・ステートマシン７１は、スケーリングカウンタ７３からのターミナルカウント（ＴＣ）パルスと同期してそのカウント値を増加し、全ての前イベントについて累積された遅延データの整数部に基づいて、バリッドデータエネーブルを発生する。バリッドデータエネーブルは、フリップフロップ７９、９１、９３を介してイベント・スケーリング出力部内のＡＮＤ回路９０に与えられ、これによりイベントスタート信号が生成される。
【００６８】
第１１図のイベントカウント・スケーリング部では、スケーリングカウンタ７３は、イベント・スケーリング出力部のコンパレータ９９にカウントデータＣＮＴを与える。第１１図のイベントバーニア・スケーリング部は、アダー１０６とレジスタ１０８により形成するバーニアアキュムレータを有している。スケーリングカウンタ７３は、このバーニアアキュムレータをリセットするために、バーニアアキュムレータにモードコントロール（ＭＯＤＥ）信号を供給する。イベントバーニアメモリからのバーニアデータは、バーニアアキュムレータに供給されている。
【００６９】
第１１図のイベント・スケーリング出力部は、スケーリングカウンタ７３からカウントデータを受けるコンパレータ（比較器）９９を有しており、カウントデータと、イベントバーニア・スケーリング部からの累積したバーニアデータのキャリー信号（ＭＳＢ）を比較する。ＡＮＤ回路９０は、イベントカウント・ステートマシン７１からのバリッドデータエネーブルとコンパレータ９９の出力（整数遅延エネーブル）とを基にして、イベントスタート信号を発生する。イベントスタート信号は、アダーによる加算結果がキャリー信号（ＭＳＢ）を伴う場合には、１基準クロックサイクルだけ遅延時間が追加される。上述したように、キャリー信号が１以上の数を、例えばＭＳＢの複数ビットにより表示している場合は、その数に相当する基準クロックサイクルの遅延が、イベントスタート信号に追加される。
【００７０】
第１１図のイベントカウント・スケーリング部を再び参照すると、インテグラル部のみで構成するスケールファクタが、スケーリングカウンタ７３に供給されている。レジスタ７２からのスケールファクタは、スケーリングカウンタ７３をプリセットし、これによりカウント値がプリセットされた整数値に達する毎にターミナルカウント（ＴＣ）パルスが生成される。例えば、スケールファクタが”３”のとき、スケーリングカウンタ７３は、基準クロックを３カウントする度に、ターミナルカウントパルスを生成する。ターミナルカウントパルスはイベントカウント・ステートマシン７１にクロック信号として与えられる。イベントカウント・ステートマシン７１は、ターミナルカウントパルス毎に進行し、その計数値が特定の累積したイベントカウント値に達すると、バリッドデータエネーブルを発生する。
【００７１】
上述したように、イベントバーニア・スケーリング部においては、アダー１０６とレジスタ１０８により形成するアキュムレータは、イベントバーニアメモリからバーニアデータを受け取る。バーニアデータは、スケールファクタの整数値により定義される回数だけ、各基準クロックサイクル毎に累積される。これは、整数乗算が、バーニアデータを整数回加算することであるからである。
【００７２】
このような累積動作は、各スケーリングの開始においてアキュムレータを初期化するためのスケーリングカウンタ７３からのモードコントロール（ＭＯＤＥ）信号により制御されている。スケーリングカウンタ７３をプリセットするスケールファクタの整数部の値が”３”である前述の例では、モードコントロール信号はそれぞれ３個の基準クロックパルス毎に生成され、アキュムレータをリセットする。その結果アキュムレータは、バーニアデータを３回加算、すなわちスケールファクタにより規定する整数値の回数だけ加算する。このように累積されたバーニアデータのオーバーフロー（ＭＳＢ）値は、コンパレータ９９に供給されており、スケーリングカウンタ７３からのカウントデータと比較される。比較結果は、バリッドデータエネーブルの遅延時間を決定するためにＡＮＤ回路９０に供給される。累積したバーニアデータの端数部は、イベント・スケーリイング出力部の出力端から送出される。
【００７３】
上記の第１１図の実施例の動作を、第１２図（Ａ）ー第１２図（Ｇ）のタイミングチャートを参照して説明する。この例では、スケールファクタが整数の”３”であること、すなわち現在イベントのデルタ時間を３倍に拡大する場合を想定している。従って、第１２図（Ａ）の基準クロックを３個カウントする毎に、スケーリングカウンタ７３はターミナルカウント（ＴＣ）パルスを発生する。また、第１１図のイベントカウント・ステートマシン７１は、３個のエネーブルパルス、すなわち３個のターミナルカウントパルスを受け取る毎に、バリッドデータエネーブルを生成すると想定する。従って、第１２図（Ｆ）のバリッドデータエネーブルがイベントカウント・ステートマシン７１により発生される。スケーリングカウンタ７３はさらに、基準クロックに同期して第１２図（Ｂ）のカウントデータ（スケールサイクルカウント）を送出する。カウントデータは第１１図のコンパレータ９９に供給される。
【００７４】
イベントバーニア・スケーリング部のバーニアアキュムレータは、スケールファクタの定義する数だけ、すなわちこの場合は第１２図（Ｃ）にあるように３回だけ、バーニアデータを加算する。スケーリングカウンタ７３からのモードコントロール信号は、アキュムレータによる累積動作を開始する前に、３基準クロック毎にアキュムレータをリセットする。累積されたバーニアデータは、レジスタ１１２においてスケーリングカウンタ７３からのターミナルカウント（ＴＣ）パルスによってエネーブルされるので、イベントバーニア・スケーリング部は、第１２図（Ｄ）の累積されたバーニアデータを発生し、そのバーニアデータはイベントジェネレータに供給される。コンパレータ９９は、スケーリングカウンタ７３からのカウントデータ（スケールサイクルカウント）と、累積されたバーニアデータの最上位ビット（ＭＳＢ）を比較して、両データがマッチするときは、第１２図（Ｅ）のマッチ信号（整数遅延エネーブル）を発生する。従って、ＡＮＤ回路９０は、第１２図（Ｆ）のバリッドデータエネーブルと第１２図（Ｅ）のマッチ信号を受け取り、その両者のタイミングと同期したイベントスタート信号を第１２図（Ｇ）のように発生し、イベントジェネレータに供給する。
【００７５】
第１３図は、第１０図に示すような端数ポストスケーリングにおけるイベントカウント・スケーリング部の構成例を示したブロック図である。このブロック図では、イベントカウント・スケーリング部の整数部はスケーリングカウンタ１２３とコンパレータ１２４とで構成されている。スケーリングカウンタ１２３は、スケールファクタの整数部の値に基づいて、イベントカウントロジックに整数回の待機状態を挿入するためのアップカウンタである。コンパレータ１２４は、レジスタ７２からのスケールファクタの整数部と、カウンタ１２３からのカウントデータを比較する。両データがマッチすると、コンパレータ１２４は、マッチ信号すなわちターミナルカウント（ＴＣ）パルスを発生する。第１０図に示すようなイベントカウント・ステートマシンは、コンパレータ１２４がターミナルカウントを出力するまでは進行しない。スケーリングカウンタ１２３のカウントデータ（スケールサイクルカウント）は、イベント・スケーリング出力部に供給されており、そこで整数遅延エネーブル（第１０図のコンパレータ９９からのマッチ信号）を発生するための適切な遅延を決定するために用いられる。
【００７６】
イベントカウント・スケーリング部の端数部は、演算ユニット１２８とレジスタ１２１で構成するアキュムレータにより構成されている。アキュムレータは、スケールファクタの端数部を受け取り、その端数部をターミナルカウントパルス毎に加算する。この累積の結果生じるキャリー信号は、追加の基準クロック遅延を挿入するために、スケーリングカウンタ１２３に戻される。累積データは、最終バーニアデータ計算で使用するために、イベント・スケーリング出力部へ供給される。
【００７７】
第１４図は、第１１に示すような整数ポストスケーリングに使用するイベントカウント・スケーリング部のさらに別の例を示したブロック図である。この例では、スケールファクタが整数部のみで構成されたイベントカウント用の整数スケーリングを示している。第１４図の構成は、端数イベントカウントスケーリングを対象とした第１３図のものと類似している。基本的な違いは、遅延動作における端数部を全て取り除いた点にある。例えば、スケールファクタの端数部の累積のためのアキュムレータを有しない。
【００７８】
第１５図は、第１０図に示すような端数ポストスケーリングにおけるイベントバーニア・スケーリング部の構成例を示したブロック図である。第１５図の構成は、基本的に第１０図のイベントバーニア・スケーリング部と類似している。このブロック図は、端数部と整数部で構成されている。バーニアスケーリングの端数部には、マルチプライヤ（乗算器）１３１を有し、このマルチプライヤ１３１はスケールファクタの端数部を受けて、バーニアデータを乗算する。第１０図で述べたように、スケールファクタの端数部のみがマルチプライヤ１３１に使用されているので、これに伴うロジックは、第９図に示すようなフルスケールの乗算に必要とされるロジックよりも減少させることができる。
【００７９】
バーニアスケーリングの整数部は、演算ユニット１３４で構成するアキュムレータと、レジスタ１３５とを有している。この整数部はさらに、アキュムレータエネーブル信号により制御されるクロック・エネーブル・レジスタ１３６を有している。アキュムレータは、スケールファクタの各整数値を、基準クロック毎に整数値に相当する回数だけ加算する。ＡＬＵコントロールは、第１０図のターミナルカウントの終了あるいはモードコントロール信号により、アキュムレータをリセットする。アキュムレータ・エネーブルは、クロック・エネーブル・レジスタ１３６が、各ターミナルカウントの終了時点で、スケーリングされたバーニア値を格納できるようにする。
【００８０】
整数部バーニアスケーリングの結果には、整数遅延値と端数遅延値の両方を有している。整数遅延値は基準クロックの整数倍データを現し、端数遅延値は基準クロック周期の端数を現す。この整数部バーニアスケーリングの結果生じた端数遅延値を、演算ユニット１３７により、イベントバーニア・スケーリング部の端数部の演算結果に加算して、スケーリングされたバーニアデータを生成する。累積したバーニアデータに生じるオーバーフロー値は、第１０図のコンパレータ９９に送られる。
【００８１】
第１６図は、第１１図の整数ポストスケーリングに使用するイベントバーニア・スケーリング部のさらに別の構成例を示したブロック図である。この例はスケールファクタが整数値だけで構成される場合のバーニア整数スケーリングとして用いる構成を示す。第１６図の構成例は、第１５図のイベントカウント・スケーリング部の構成と類似している。基本的な違いは、遅延動作における端数部を全て取り除いてある点にある。例えば、スケールファクタの端数部のためのマルチプライヤを有していない。
【００８２】
好ましい実施例しか明記していないが、上述した開示に基づき、添付した請求の範囲で、本発明の精神と範囲を離れることなく、本発明の様々な形態や変形が可能である。
【００８３】
【発明の効果】
本発明によれば、イベント型半導体テストシステムは、半導体デバイスを評価するために、イベントメモリに蓄えたイベントデータに基づいて様々なタイミングのイベントを生成することができる。それぞれのイベントのタイミングは、最後（直前）のイベントからの時間差（デルタ時間）で定義される。さらにイベント間のデルタ時間は、基準クロック周期の整数倍データと基準クロック周期の端数データの組み合わせで定義される。本発明のイベントテストシステムは、スケールファクタ（倍率変更係数）に基づいて、現在イベントの遅延時間を変更することにより現在イベントを生成するための遅延時間（デルタ時間）をスケーリングすることができる。本発明のイベントテストシステムにおけるスケーリング動作は、整数部と端数部とを有するスケールファクタに基づいて行われる。他の様態においては、イベントテストシステムのスケーリング動作は、整数部のみを有するスケールファクタに基づいて行われる。
【図面の簡単な説明】
【図１】本発明のイベント型テストシステムの基本構成を示した概念的ブロック図である。
【図２】隣接する２つのイベント間の遅延時間（デルタ時間）を記述するための、イベントカウントとイベントバーニアの各データの関係を示したタイミングチャートである。
【図３】イベント型テストシステムのイベントサミングとスケーリングの概念を示すために、様々なイベントと基準クロックとのタイミング関係を示したタイミングチャートである。
【図４】サミング機能の前段にスケーリング機能を設けた構成である本発明のプリスケーリングの基本構成を示すブロック図である。
【図５】本発明により整数プリスケーリングまたは端数プリスケーリングを行うための回路構成の例を示したブロック図である。
【図６】本発明において、サミング機能の後段にスケーリング機能を設けた構成であるポストスケーリングの基本構成を示すブロック図である。
【図７】スケールファクタ（倍率変更係数）が整数部分と端数部分の両方を含む端数ポストスケーリング機能をイベントテストシステムに応用する場合の回路構成を示したブロック図である。
【図８】スケールファクタが整数部のみである整数ポストスケーリング機能をイベントテストシステムに応用する場合の回路を構成した例を示したブロック図である。
【図９】スケールファクタ（倍率変更係数）が整数部分と端数部分の両方を含む端数ポストスケーリング機能をイベントテストシステムに応用する場合のより詳細な実施例を示すブロック図である。
【図１０】スケールファクタが整数部と端数部の両方を含む端数ポストスケーリングをイベントテストシステムに応用する場合の他の実施例を示したブロック図である。
【図１１】スケールファクタが整数部のみである整数ポストスケーリング機能をイベントテストシステムに応用する場合の回路構成の例を示したブロック図である。
【図１２】（Ａ）から（Ｇ）は、第１１図の実施例に示した本発明における整数ポストスケーリングのスケーリング動作例を示すタイミングチャートである。
【図１３】本発明における第９図と第１０図の端数ポストスケーリングにおいて使用するイベントカウント・スケーリング部の構成とその動作を示すブロック図である。
【図１４】本発明における第１１図の整数ポストスケーリングにおいて使用するイベントカウント・スケーリング部の構成とその動作を示すブロック図である。
【図１５】本発明における第９図と第１０図の端数ポストスケーリングにおいて使用するイベントバーニア・スケーリング部の構成とその動作を示すブロック図である。
【図１６】本発明における第１１図の整数ポストスケーリングにおいて使用するイベントバーニア・スケーリング部の構成とその動作を示すブロック図である。
【符号の説明】
１２   ホストコンピュータ
１３          バスインタフェース
１４   システムバス
１５   内部バス
１７   フェイルメモリ
１８   アドレスコントロールロジック
２０   イベントカウントメモリ
２１   イベントバーニアメモリ
２２   イベントサミング・スケーリングロジック
２４   イベントジェネレータ
２６   ピンエレクトロニクス
２８   被試験半導体デバイス（ＤＵＴ）
【図１】
0004471446.tif 000002
【図２】
0004471446.tif 000003
【図３】
0004471446.tif 000004
【図４】
0004471446.tif 000005
【図５】
0004471446.tif 000006
【図６】
0004471446.tif 000007
【図７】
0004471446.tif 000008
【図８】
0004471446.tif 000009
【図９】
0004471446.tif 000010
【図１０】
0004471446.tif 000011
【図１１】
0004471446.tif 000012
【図１２】
0004471446.tif 000013
【図１３】
0004471446.tif 000014
【図１４】
0004471446.tif 000015
【図１５】
0004471446.tif 000016
【図１６】
0004471446.tif 000017