JP2005233962A - ダイナミック波形リソース管理を行なう装置及び方法 - Google Patents

ダイナミック波形リソース管理を行なう装置及び方法 Download PDF

Info

Publication number
JP2005233962A
JP2005233962A JP2005042094A JP2005042094A JP2005233962A JP 2005233962 A JP2005233962 A JP 2005233962A JP 2005042094 A JP2005042094 A JP 2005042094A JP 2005042094 A JP2005042094 A JP 2005042094A JP 2005233962 A JP2005233962 A JP 2005233962A
Authority
JP
Japan
Prior art keywords
waveform
waveforms
application program
application
manager
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.)
Withdrawn
Application number
JP2005042094A
Other languages
English (en)
Inventor
Robert S Kolman
ロバート・エス・コールマン
Reid Hayhow
リード・ヘイハウ
Daven W Septon
ダーヴァン・ウォルト・セプトン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Agilent Technologies Inc
Original Assignee
Agilent Technologies Inc
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 Agilent Technologies Inc filed Critical Agilent Technologies Inc
Publication of JP2005233962A publication Critical patent/JP2005233962A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06GANALOGUE COMPUTERS
    • G06G7/00Devices in which the computing operation is performed by varying electric or magnetic quantities
    • G06G7/12Arrangements for performing computing operations, e.g. operational amplifiers
    • G06G7/26Arbitrary function generators

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

【課題】 限定された波形メモリ容量を特徴とするデバイスが発生できる波形の数を増加させる方法及びシステムを提供する。
【解決手段】 プロセッサ2と、プロセッサ2によって実行可能で、第1の数の波形の使用を必要とするアプリケーションプログラム4と、アプリケーションプログラム4が使用する波形を記憶する、第1の数より少ない第2の数の波形テーブルエントリを含む波形テーブル5と、アプリケーションプログラム4に特有な波形シーケンシング情報を含むアプリケーションポリシー7と、アプリケーションプログラム4の実行をモニタリングし、アプリケーションポリシー7にアクセスして、第1の数の波形のうちアプリケーションプログラム4が次に必要とする波形を決定し、第1の数の波形のうち1つ又は複数の波形を、波形テーブル5の中の第2の数の波形テーブルエントリのうち対応する1つまたは複数のエントリにそれぞれロードするダイナミック波形マネージャ6とを備える。
【選択図】 図1

Description

本発明は、ダイナミック波形リソース管理を行なう装置及び方法に関する。
今日、電子デバイスは、機能の一部として、1つ又は複数の波形信号を生成しなければならないことがしばしばある。例えば、波形発生器は、デバイスが出力できる任意の数の異なる波形を生成するように構成できる。別の例としては、カリフォルニア州パロアルトのアジレントテクノロジー社が製造するアジレント93000 SOCシリーズ自動テスタ環境(ATE)などの自動集積回路テスタでは、被検デバイス(被験装置;DUT)の集積回路デバイスのピン又はパッドに適用するためにテスタの種々のピン上で波形信号を発生することが必要である。
波形信号を生成する電子デバイスは、しばしば、専用波形レジスタ又はメモリ(以下においては集合的に「波形テーブル」と呼ぶ)の中で、波形信号(以下においては集合的に「波形」と呼ぶ)の表現を記憶する場合がしばしばある。メモリは、常に、波形テーブル内に記憶できる波形の数の限定要因である。従って、メモリ内で波形を記憶するために使用可能なレジスタ又はロケーションの数(以下においては集合的に「波形テーブルエントリ」と呼ぶ)は限定されている。波形テーブルの大きさについては価格と速度が限定要因である。典型的には、波形発生回路には高速メモリが必要であり、高速メモリは価格が高い。従って、一般的な解決法は、ハードウェアが発生できる波形の数を限定することだけである。
しかし、ハードウェアが発生できる波形の制限された数を超えて、テストプログラムが使用可能な波形の数を拡大できることが望ましい場合がある。例えば集積回路テスタでは、テストソフトウェアは、テスタリソースが実行してテスタの種々のピン上で波形を発生し、測定中の集積回路のピン及びパッドに適用し、集積回路の種々の側面をテストする、テストプログラムを生成する。しかし、波形テーブルは限られた数の波形しか記憶できず、また、波形はテスタピン上で波形を発生するために使用可能でなければならないため、テストソフトウェアは、典型的には、テストソフトウェアが生成する任意の所与のテストプログラムが、使用可能な波形テーブルエントリの数を規定できるように、波形の数を限定する。しかし、例えばメモリテスト用途などの多くの用途においては、波形テーブルの大きさが限定する波形の数を超える数の波形を発生できることが望ましい。現在、ハードウェアを変えずにこのような拡張を行う技術はない。
本発明は、限定された波形メモリ容量を特徴とするデバイスが発生できる波形の数を増加させる方法及びシステムである。
本発明によれば、エントリの数が限定されていることを特徴とする波形テーブルからアクセスされる波形の使用を必要とするアプリケーションを実行する電子デバイスは、ダイナミック波形マネージャ、及び、そのアプリケーション特有の波形シーケンシング情報を含むアプリケーションポリシーを伴って構成される。アプリケーションは、典型的には、波形テーブルとは別のメモリに記憶される任意の数の波形を使用することができる。アプリケーションでは、特定の波形を使用する前に、波形テーブルに波形がロードされることを必要とする。本発明のダイナミック波形マネージャは、アプリケーションの実行をモニタリングし、アプリケーションに必要な波形を波形テーブルにロードしアンロードすることを管理し、そのアプリケーションが必要とする各波形を、前もってロードするか又は少なくともアプリケーションが必要とする時間までに波形テーブル内にロードするようにする。ダイナミック波形マネージャは、アプリケーションポリシーにアクセスし、そのアプリケーション特有の波形シーケンシング情報を参照し、この情報を使用して、いつどの波形を波形テーブルにロードしアンロードするかを決定する。
本発明のより完全な理解及び本発明に付随する多くの利点は、次の詳細な説明と付随する図面を共に参照して本発明をよりよく理解すると容易に明らかになるであろう。図面の中では同様な参照記号は同じ構成要素又は同様な構成要素を示す。
次に、図面を見ると、図1は、プロセッサ2及びメモリ3を有する電子デバイス1の構成図を示す。メモリ3は、アプリケーション4,波形テーブル5,ダイナミック波形マネージャ6,アプリケーションポリシー7を記憶し、オプションとしては、汎用メモリ8a及び/又はアプリケーションアナライザ9aを記憶する。
アプリケーション4は、波形の使用を要求するプロセッサ2が実行可能なプログラム命令を含む。波形テーブル5は、アプリケーション4が使用する波形を記憶し、波形を記憶するための波形エントリの数が限定されていることを特徴とする。アプリケーション4では、アプリケーション4が特定の波形を必要とする前にその波形を波形テーブル5にロードすることが必要である。従って、プロセッサ2が実行できるプログラム命令を含むダイナミック波形マネージャ6は、プロセッサ2によるアプリケーション4の実行をモニタリングし、アプリケーション4が必要とする波形を波形テーブル5にロード及びアンロードすることを管理し、アプリケーション4が必要とする各波形が、アプリケーション4が必要とする時に波形5にロードされるようにするために備えられる。アプリケーションポリシー7は、いつ、どの波形を波形テーブル5にロードしアンロードするかを決定する時にダイナミック波形マネージャ6が使用する、アプリケーション4に特有の波形シーケンシング情報を記憶する。
アプリケーション4が波形テーブル5の中で入手可能な波形エントリより多くの波形を使用することが必要になると、波形テーブル5にロードされていない波形をメモリ8a又は8bに記憶する。典型的には、メモリ8a又は8bは、電子デバイス1内に常駐するか(メモリ8a)又は電子デバイス1からリモートである(メモリ8b)、より遅いメモリである。電子デバイス1に常駐していてもリモートであっても、ダイナミック波形マネージャ6は必要に応じて、メモリ8a又は8bと波形テーブル5の間で波形のロードとアンロードを行うことができる。
アプリケーションアナライザ9a又は9bは、アプリケーションポリシー7を生成する。一実施形態では、アプリケーションアナライザ9aはデバイスのメモリ3の中に常駐する。代替の実施形態では、アプリケーションアナライザ9bは電子デバイス1の外部に常駐し、リモートシステム(図示せず)が実行する。リモートで実行する場合には、アプリケーションアナライザ9bが実際には電子デバイス1にアクセスしないように、アプリケーション4(又はこのコピー)をリモートシステムにロードして分析することができる。
図2は、本発明により実装されるアプリケーションアナライザ9a又は9bが実行するプロセスの例としての実施形態10を詳細に示すフローチャートである。ここでは、アプリケーションプログラム4が使用可能な波形の数を増やすために、ダイナミック波形マネージャ6が使用するのに適したアプリケーションポリシー7が生成される。図2に示すように、アプリケーションアナライザ10は、目的のアプリケーションプログラム4へのアクセスを得る(ステップ11参照)。例としての実施形態では、アプリケーションアナライザ10は、アプリケーションプログラム4を実行する間にアプリケーションプログラム4が使用する波形のシーケンスを決定できなければならない。次いで、アプリケーションアナライザ10は、アプリケーションプログラム4が使用する未処理の波形のリストを生成する(ステップ12参照)。好ましい実施形態では、アプリケーションアナライザ10が発見する順番で波形をリストに追加する。リストが生成されると、アプリケーションプログラム4が必要とする波形の数が、システムハードウェアが限定する波形の最大数(例えば、図1の波形テーブル5の中の使用可能なエントリの数)を超えているかどうかについて決定する(ステップ13参照)。アプリケーションプログラム4が必要とする波形の数が、システムハードウェアが限定する波形の最大数を超えていない場合には、目的のアプリケーションプログラム4を実行するために充分なリソースが存在するということであり、これ以上の分析は必要ではない。しかし、アプリケーションプログラム4が必要とする波形の数が、システムハードウェアが限定する波形の最大数を超えている場合には、さらに分析が必要となる。
この目的のために、波形リスト(ステップ12において生成された)を波形ごとのベースで処理して、アプリケーションプログラム4による波形の最初の使用と最後の使用の相対的なシーケンスを決定する。従って、波形リストの中で最初に発見された波形から開始して、各波形は、次のように処理される。波形リスト(ステップ12において生成された)の中で処理すべき未処理の波形が残っているかどうかを決定する(ステップ14参照)。残っている場合には、リストの中の残りの未処理波形のうち1つを選択して処理する(さらに次のパスの際に注意するために処理済みとしてマークする)(ステップ15参照)。好ましい実施形態では、波形は、発見されたシーケンシャルな順序で処理される。次いで、アプリケーションアナライザ10は、アプリケーションプログラムによる、選択された波形の最初の使用を決定する(ステップ16参照)。次いで、アプリケーションアナライザ10は、選択された波形の最後の使用を決定する(ステップ17参照)。アプリケーションアナライザ10が波形リストの中の各波形を処理するまで、波形リスト(ステップ12で生成された)の処理は、(ステップ14からステップ18を繰り返すことによって)繰り返される。処理が完了すると、波形リストは、ダイナミック波形マネージャ6が波形を波形テーブル5にロードしアンロードすることをダイナミックに管理するために必要とする波形の使用情報とシーケンシング情報を含む。
図3は、アプリケーション4の実行中に波形テーブル5からアプリケーションプログラム4が必要とする波形をロードしアンロードすることをダイナミックに管理する、本発明のダイナミック波形マネージャ6の例としての実施形態20を詳細に示すフローチャートである。この実施形態20では、ダイナミック波形マネージャ6は、アプリケーションポリシー7にアクセスし、最初の使用ベースで決定された第1のm波形を選択し(ステップ21参照)、この第1のm波形を波形テーブル5にロードする(ステップ22参照)。例としての実施形態では、mは、波形テーブルエントリの最大数に設定する。ダイナミック波形マネージャ6は、アプリケーション4の実行をモニタリングし(ステップ23参照)、チェックして、波形テーブル5に現在ロードされている波形のうち任意の波形のライフサイクルが終了しているかどうかを決定する(ステップ24参照)(アプリケーションポリシー7に含まれる波形と関連づけられた最終使用情報に基づいて)。現在ロードされている波形のうち任意の波形のライフサイクルが終了している場合には、ダイナミック波形マネージャ6は、アプリケーションポリシー7にアクセスして、アプリケーション4が使用する次の波形を決定し選択する(ステップ25参照)。次いで、ダイナミック波形マネージャ6は、選択された次の波形を、ライフサイクルが終了したばかりと決定された波形が現在占めている波形テーブル5のエントリの中にロードする(ステップ26参照)。次いで、ダイナミック波形マネージャ6は、ライフサイクルが終了していない波形がロードされずに残っているかどうかを決定する(ステップ27参照)。残っていない場合には、ダイナミック波形マネージャ6は、アプリケーション4の進捗状況のモニタリングを継続し、アプリケーション4が必要とするすべての波形のライフサイクルが終了するか、波形が現在においてロードされるまでアルゴリズムを繰り返す(ステップ23〜ステップ27を含む)。
図4は、本発明の特定の応用を示す概略の構成図である。この実施形態では、テストシステム100は、中央テストリソースを伴うテストヘッド110と、複数の独立した専用ピン処理リソース120a,120b,・・・,120nとを含む。これらのリソースは、各々、テスタピン122a,122b,・・・,122nを駆動する。テストシステム100は、集積回路又はシステムオンアチップ(SOC)などの被検装置(DUT)160をテストするように設計されている。動作においては、テスタピン122a,122b,・・・,122nは、DUT160のピン又はパッド162a,162b,・・・,162nと接触する。テストシステム100の制御下で、テスタピン122a,122b,・・・,122nを介して、信号をDUTピン又はパッド162a,162b,・・・,162nに駆動することができる(又は、DUTピン又はパッド162a,162b,・・・,162nから受信することができる)。
図示したように、テストシステム100は、ピンごとのテストプロセッサアーキテクチャに基づいている。上記のように、各ピン122a,122b,・・・,122nは、独自の専用のピン処理リソース120a,120b,・・・,120nを有し、これらの各々は、異なるそれぞれのDUTピン162a,162b,・・・,162nを駆動する(又はこれらから入力を受信する)。各ピン処理リソース120a,120b,・・・,120nは、同一の構成要素を含む。ピン処理リソース120aを詳細に示したので、ここでの議論は特にピン処理リソース120aに限定するが、独立ピン処理リソース120b,・・・,120nとそれぞれの同一の構成要素の各々にも同様に当てはまる。
次に、ピン処理リソース120aのアーキテクチャを見ると、ピン処理リソース120aは、独立のプロセッサ140,メモリ130,及び波形発生器150を含む。メモリ130は、プロセッサ140がアクセスするすべてのデータと、実行するすべてのプログラム命令を記憶する。特に、メモリ130は、データベクトルを記憶するためのベクトルメモリ131、波形を記憶するための波形メモリテーブル132、並びに、波形メモリテーブル132に記憶された波形を波形発生器1150にシーケンシングするためのプロセッサ命令を実装するシーケンサプログラム133を含む。
ピン処理リソース120a,120b,・・・,120nは、好ましくは、受信モード回路も含むが、本発明の動作では使用せずまた本発明の動作に影響を与えることもないので、これらの詳細は省略する。
中央テストリソース110は、システム制御リソース112及びクロック発生器114を含む。システム制御リソース112は、クロック発生器114と共に動作し、シーケンサプログラム133をロードし、また、データベクトルをベクトルメモリ131に、波形を各ピン処理リソース120a,120b,・・・,120nのメモリ130の中の波形メモリテーブル132にロードする。各ピン122a,122b,・・・,122nは、独自の専用ピン処理リソース120a,120b,・・・,120nを有するので、独立したデータベクトルと波形の組を使用する独立シーケンシングプログラム133を各ピン122a,122b,・・・,122n上で実行することができる。従って、ピン処理リソース120a,120b,・・・,120nは、それぞれのピン122a,122b,・・・,122nとの間でそれぞれ独立して信号を駆動(及び受信)し、テストコントローラ170が決定するようにDUT160のテストを行うことができる。
テスタコントローラ170は、プロセッサ190及びメモリ180を含む。メモリ180は、テストセットアップソフトウェア181,テストセットアップソフトウェア181が生成したテストプログラム(複数可)182,ダイナミック波形マネージャ183を記憶する。テストコントローラ170は、また、好ましくは高速メモリ内にローカル波形メモリテーブル184を記憶する。テストセットアップハードウェア181は、テストプログラム(複数可)182を生成する。テストプログラム(複数可)182は、テスタ100の適切なピン処理リソース120a,120b,・・・,120nの波形メモリテーブル132にダウンロードされる波形の使用を含む。プロセッサ190がテストプログラムを実行している間に、テストプログラム182が使用する任意の波形は、適切なピン処理リソース120a,120b,・・・,120nと関連づけて波形メモリテーブル132の中にロードしなければならない。理解を容易にするために、次の議論では、単一のピン処理リソース120とその波形メモリテーブル132、並びに、テストコントローラ170に常駐する波形メモリテーブル132のローカルコピー184について言及する。しかし、ダイナミック波形マネージャ183は、ピン処理リソース120a,120b,・・・,120nの各々が使用する波形を独立して管理し、それぞれの波形メモリテーブル132の独立して更新されたコピーを維持することを理解されたい。
次に、ピン処理リソース120aの波形の管理に戻ると、ダイナミック波形マネージャ183は、波形メモリテーブル132のローカルコピー184をピン処理リソース120aの中に維持する。ダイナミック波形マネージャ183は、ピン処理リソース120aの波形メモリテーブル132と関連づけられてテストコントローラ170に常駐するローカル波形メモリテーブルに対する波形のロード及びアンロードを管理するためにプロセッサ190が実行するプログラム命令と、テストコントローラ170の中に常駐するか又はコントローラ170からリモートな一般メモリ186とを備える。
ダイナミック波形マネージャ183は、テストを実行する間において、プロセッサ190によるテストプログラム182の実行をモニタリングし、テストプログラム182と関連づけられたアプリケーションポリシー185内に含まれる波形シーケンシング情報と共に、ダイナミック波形マネージャ183は、いつどの波形を一般メモリ186からローカル波形メモリテーブルにロードし、どの波形をローカル波形メモリテーブル184からアンロードするかを決定する。
好ましくは、所与のテストプログラム182に関するアプリケーションポリシー185を生成するために、アプリケーションアナライザ186を使用する。アプリケーションポリシー185は、テストコントローラ170内に常駐しこの中で実行してもよいし、又は、リモートマシンでテストプログラム182を分析してもよい。好ましい実施形態では、アプリケーションアナライザ186をテストセットアップソフトウェア181に統合し、ダイナミック波形マネージャ183とポリシー185をテストプログラム182に統合する。
例としての実施形態では、波形メモリテーブル184は、4つまでの波形を記憶する。ローカル波形メモリテーブル184内に記憶された波形は、テストプログラム182,プロセッサ190,テストヘッドコントローラ112の制御の下で、適切なピン処理リソース120aに送信され、波形メモリテーブル132に記憶される。
テストコントローラ170上では、波形は、ダイナミック波形マネージャ183の制御の下でローカル波形メモリテーブルにロードされる。テストコントローラプロセッサ190は、テストプログラム182及びダイナミック波形マネージャ183を実行する。テストプログラム182の実行の間において、ダイナミック波形マネージャ183は、ピン処理リソース120a上でシーケンサプログラム133が必要とする波形の、波形メモリテーブル132へのロードとアンロードを管理し(波形テーブル184へのロードとアンロードとを介して)、シーケンサプログラム133が必要とする各波形を、前もって波形メモリテーブル132にロードするか、又は少なくともシーケンサプログラム133が必要とする時間までに波形メモリテーブル132にロードする。
ダイナミック波形マネージャ183は、テストプログラム182の実行をモニタリングし、ローカル波形テーブル184の中の波形のうち任意の波形がライフサイクルを終了しているので除去することができ、そして使用すべき他の波形をテストプログラム182にロードできるかどうかを決定する。決定に際しては、ダイナミック波形マネージャ183は、テストプログラム182と関連づけられたアプリケーションポリシー185を参照する。アプリケーションポリシー185は、プロセッサ190が実行しているテストプログラム182に特有の波形の使用とシーケンシング情報とを含む。次に詳述するように、好ましい実施形態では、アプリケーションポリシー182は、テストプログラム182の実行の間にテストプログラム182が必要とする波形とこれに関連付けられたタイミング情報のリストとを含む。(例えば、テストプログラム182が使用した各波形の最初の使用と最後の使用)。
アプリケーションポリシー185は、典型的には、ダイナミック波形マネージャ183がアクセス可能なメモリ180内に記憶されたデータファイルである。アプリケーションポリシー185の内容は、技術者又はエンジニアが手動で生成することもできるし、代替としては、例えばアプリケーションアナライザ186などによって自動で生成することもできる。アプリケーションアナライザ186は、特定のテストプログラム182を分析し、分析された特定のテストプログラム182に特有のアプリケーションポリシー185を生成する。分析をどのように行うかは、勿論、テストプログラム182の実装に依存する。アプリケーションアナライザ186の任意の実装では、アプリケーションアナライザ186は、テストプログラム182による波形の使用と、波形の使用タイミングシーケンスとを識別できなければならない。
図4では、ダイナミック波形マネージャ183は、テストプログラム182から独立したものとして示されているが、この場合、テストプログラム182からは独立して実行される。このような実施形態では、テストプログラム182が波形を必要としなくなる時をダイナミック波形マネージャ183が決定するために、ダイナミック波形マネージャ182とテストプログラム182との間の通信方法が必要である。ダイナミック波形マネージャ183とテストプログラム182などの、2つの独立して実行されるプロセスの間で通信するのに適した種々の通信技術が当業界では知られている。この中には、限定的な例ではなく例示的な例として、ソケット接続,リモートプロシージャコール(RPC),スレッドなどが含まれる。
例としての実施形態では、ダイナミック波形マネージャ183をテストプログラム182と統合することを企図する。従って、例としての実施形態では、テストプログラム182は、アジレント社のSmarTest User Interfaceなどのテストセットアップ環境から生成された1つ又は複数のTestSuiteオブジェクトを含むTestFlowである。この実施形態では、ダイナミック波形マネージャ183をTestFlowテストプログラム182に統合し、例えば変数を共有することを介してTestFlowテストプログラム182の進捗状況を容易にモニタリングし、必要に応じて、TestFlowテストプログラム182が必要とする波形を波形メモリテーブルにロードし及びアンロードする(一般メモリ186から)ことを企図する。例としての実施形態では、アプリケーションアナライザ186をSmarTestソフトウェアに統合し、SmarTestソフトウェアが生成するTestFlowテストプログラム182に容易にアクセスし分析することを企図する。
好ましい実施形態では、テストシステム100は、93000シリーズSOC ATEを使用して実装される。現在、93000シリーズSOC ATEでは、波形テーブルの中に32までの波形エントリを記憶することが可能であることを理解されたい。しかしここでは説明を容易にするために、例示的な実施形態は、任意に選択された4という波形限度で説明する。しかしここに説明する原理は、任意の数の波形限度に拡張できる。また、この好ましい実施形態では、テストセットアップソフトウェア181は好ましくは、カリフォルニア州パロアルトのアジレントテクノロジー社が93000シリーズSOC ATEと共に使用するために製造したSmarTest User Interfaceと共に実装でき、テストプログラム182は、好ましくは、SmarTestソフトウェアが生成したTestFlowである。
図5は、TestFlowと呼ばれる例としてのテストプログラムのシーケンス図である。これは上記のように、アジレント93000SOCシリーズATEシステム用のアジレント社のSmarTest User Interfaceの一部である。TestFlowは、システムユーザがDUTの種々のテストを設定し実行することを可能にするグラフィカルテストセットアップ環境である。図5に示されたシーケンス図は、TestSuitesと呼ばれる、多くのテストを実行するテストプログラム200のグラフィカルな表現であり、ここで、各TestSuiteは、テスタ内で定義された波形ピンに1つ又は複数の定義された波形を適用するように設定することができる。例えばピン上で発生する波形と波形のシーケンスを含む各TestSuiteの定義は、オブジェクトフィールドとしてTestSuitesオブジェクトの中に記憶される。本発明では、任意の所与のTestFlowテストプログラム200で使用できる波形の数を限定されない数に拡大できる。
図5に示すように、例としてのTestFlowプログラム200は、TS1 201、TS2 202、TS3 203、TS4 204、TS5 205、TS6 206、TS7
207、TS8 208、TS9 209、TS10 210という10のTestSuites(テストスイート)を含む。この例としてのテストプログラムでは、TestSuites TS1 201は、WF1と識別される波形を使用するように定義され、TestSuites TS2
202は、WF2と識別される波形を使用するように定義され、TestSuites TS3 203は、WF4と識別される波形を使用するように定義され、TestSuites TS4 204は、WF6と識別される波形を使用するように定義され、TestSuites TS5 205は、WF3と識別される波形を使用するように定義され、TestSuites TS6 206は、WF5と識別される波形を使用するように定義され、TestSuites TS7 207は、WF8と識別される波形を使用するように定義され、TestSuites TS8 208は、WF6と識別される波形を使用するように定義され、TestSuites TS9 209は、WF7と識別される波形を使用するように定義され、TestSuites TS10 210は、WF8と識別される波形を使用するように定義される。
例としての実施形態では、波形メモリテーブルの中の最大波形エントリは、4エントリである。従って、図5の例としてのTestFlowテストプログラム200が、テストプログラム200の実行中に使用する8つの異なる波形を定義しているので、波形メモリテーブル184の中で使用可能なエントリより多くの波形が必要である。本発明のダイナミック波形マネージャ183は、テストプログラム182が使用可能な波形の数を、波形テーブル184の中のエントリの数が定義する数より大きな数に拡大することができる。
図6は、図4のアプリケーションアナライザ186が実行する方法220の例としての実施形態を詳細に示すフローチャートである。ここでは、ダイナミック波形マネージャ183が使用するのに適したアプリケーションポリシー185を生成し、ダイナミック波形管理が、図5のTestFlowテストプログラム200が使用可能な波形の数を拡大できるようにする。図6に示すように、アプリケーションアナライザ方法220にあっては、TestFlowテストプログラム182へのアクセスを得る(ステップ221参照)。例としての実施形態では、アプリケーションアナライザ方法220は、TestFlowテストプログラム182の実行中にTestFlowテストプログラム182が使用する波形のシーケンスを決定できなければならない。アプリケーションアナライザ方法220は、次いで、TestFlowテストプログラム182が使用する未処理の波形のリストを生成する(ステップ222参照)。好ましい実施形態では、波形は、アプリケーションアナライザ方法220が発見する順序でリスト内に追加される。リストを生成すると、TestFlowテストプログラム182が必要とする波形の数が、波形テーブル184の使用可能なエントリの数を超えているかどうかに関して決定する(ステップ223参照)。TestFlowテストプログラム182が必要とする波形の数が波形テーブル184の中で使用可能なエントリの数を超えていなければ、TestFlowテストプログラム182を実行するために充分なリソースが存在するということであり、これ以上の分析は必要ではない。しかしTestFlowテストプログラム182が必要とする波形の数が波形テーブル184の中で使用可能なエントリの数を超えている場合には、さらに分析が必要となる。
この目的のために、波形リスト(ステップ222で生成される)は、波形ごとのベースで処理され、TestFlowテストプログラム182による波形の最初の使用及び最後の使用の相対的なシーケンスを決定する。従って、波形リストの中で最初に発見された波形から開始して、各波形は次のように処理される。波形リスト(ステップ222で生成される)の中に未処理のまま残っている波形があるかどうかに関して決定する(ステップ224)。残っている場合、リスト内で未処理のまま残っている波形のうち1つを選択し処理する(さらに次のパスで注意するために処理済みとしてマークする)(ステップ225参照)。好ましい実施形態では、波形は、発見のシーケンシャルな順序で処理する。次いで、アプリケーションアナライザ方法220は、TestFlowプログラム182によって選択された波形の最初の使用を決定する(ステップ226参照)。例えば図5のテストプログラムでは、アプリケーションアナライザ方法220は、各TestSuites201〜210の定義オブジェクトにアクセスした順序でTestFlowシーケンス200を読み取り、どのTestSuite201−210が、選択された波形を最初に使用するかどうかを決定する。選択された波形を最初に使用するTestSuite201−210を波形リストの中にいれ、好ましくはテーブルフォーマットで、選択された波形と関連づける。
次いで、アプリケーションアナライザ方法220は、TestFlowテストプログラム182による、選択された波形の最後の使用を決定する(ステップ227参照)。例示的な例では、アプリケーションアナライザ方法220は、各TestSuite201−210の定義オブジェクトにアクセスした順序でTestFlowシーケンス200の読み取りを継続し、選択された波形を最後に使用するTestSuite201−210を決定する。選択した波形を最後に使用するTestSuite201−210を、好ましくはテーブルフォーマットで波形リストの中に入れる。
波形リスト(ステップ222で生成される)の処理は、アプリケーションアナライザ方法220によって波形リストの中の各波形が処理されるまで繰り返される(ステップ224−228を繰り返すことによって)。処理が終了すると、波形リストは、ダイナミック波形マネージャ183が波形テーブル184に対する波形のロード及びアンロードをダイナミックに管理するために必要な情報を含む。従って波形リストはアプリケーションポリシー185として使用することもできるし、別法としては、波形リストからダイナミック波形マネージャ183が必要とするフォーマットでアプリケーションポリシー185を生成してもよい。
図7は、図6に概略されたアプリケーションアナライザ方法220を図5のTestFlowテストプログラム200の例に適用することによって生成される例としての波形リスト230である。図7に示すように、波形リスト230は、波形識別子のコラム、行の中の波形識別子と関連づけられた波形を最初に使用するTestSuiteをリストしたコラム、行の中の波形識別子と関連づけられた波形を最後に使用するTestSuiteをリストしたコラムを含む。ダイナミック波形マネージャ183は、この情報に基づいて、TestFlowプログラム182を実行している間に、TestFlowテストプログラム182が必要とする波形の波形テーブル184に対するロードとアンロードをダイナミックに管理し、TestFlowプログラム182が必要とする各波形をロードし、TestFlowプログラム182が必要とする時に使用できるようにする。
図8は、図4のダイナミック波形マネージャ183が実行する方法240の例としての実施形態を詳細に示すフローチャートである。ここでは、TestFlowテストプログラム182を実行する間に、TestFlowテストプログラム182が必要とする波形を波形テーブル184にロードすること並びにアンロードすることをダイナミックに管理する。この方法240では、ダイナミック波形マネージャ183は、ポリシー185にアクセスし、第1のm波形を選択し(ステップ241参照)、最初の使用ベースで決定して、波形テーブル184にロードする(ステップ242参照)。例としての実施形態では、m=4であり、波形テーブル184が4波形エントリに限定されていることを示す。ダイナミック波形マネージャ183は、TestFlowテストプログラム182の実行をモニタリングして(ステップ243参照)チェックし、波形テーブル184に現在ロードされている波形のうち任意の波形のライフサイクルが終了したかどうかを決定する(ステップ244参照)(アプリケーションポリシー185に含まれる波形と関連づけられた最終使用情報に基づいて)。現在ロードされている波形のうち任意の波形のライフサイクルが終了している場合には、ダイナミック波形マネージャ183は、アプリケーションポリシー185にアクセスし(すなわち図7の波形リスト230)、TestFlowテストプログラム182が使用する次の波形を決定して選択する(ステップ245参照)。ダイナミック波形マネージャ183は、次いで、選択された次の波形を、ライフサイクルが終了したばかりと決定された波形が現在占める波形テーブル184のエントリ内にロードする(ステップ246参照)。ダイナミック波形マネージャ183は、次いで、ライフサイクルが終了していなくロードすべき波形が残っていないかどうかを決定する(ステップ247参照)。残っていない場合には、ダイナミック波形マネージャ183は、TestFlowテストプログラム182の進捗状況を継続してモニタリングし、TestFlowテストプログラム182が必要とするすべての波形のライフサイクルが終了するか、波形が現在ロードされるまで、アルゴリズムを繰り返す(ステップ243〜ステップ247を含む)。
上記の発明は、特に、波形メモリテーブル132が限定された数の波形を有する図4の自動テスト環境で有利である。テストの間、性能では速度が重要な因子である。テストの実行について必要に応じて、個別のピン処理リソース120aについて波形を波形メモリテーブル132にロードすることができるが、ダイナミック波形マネージャ183は、シーケンサプログラム133が実際に波形を必要とする前に、波形をコントローラメモリ又は他の外部メモリから、ピン処理リソース120aの波形メモリテーブル132に(テストコントローラ170内のローカル波形メモリテーブル184を介して)前もってロードするように動作する。典型的には、波形のダウンロードにはテストの実行より長い時間が必要なので、これは有利である。従って、シーケンサプログラム133が波形を必要とする前にダイナミック波形マネージャ183が波形を波形メモリテーブル132に前もってロードしないと、必要な波形がテストコントローラ170から波形メモリテーブル132にダウンロードされるのをシーケンサが待つ間、性能ヒットが影響を受ける。
以上を要約すると、次の通りである。すなわち、エントリの数が限定されていることを特徴とする波形テーブル(5,184)からアクセスされる波形の使用を必要とするアプリケーションを実行する電子デバイス(1,100)には、ダイナミック波形マネージャ(6,183)及びアプリケーションポリシー(7,185)が備えられている。このアプリケーションポリシー(7,185)は、アプリケーション特有の波形シーケンシング情報(230)を含んでいる。アプリケーションは、典型的には、波形テーブル(5,184)とは別のメモリに記憶される任意の数の波形を使用することができる。ダイナミック波形マネージャ(6,183)は、アプリケーションの実行をモニタリングし、アプリケーションに必要な波形を波形テーブル(5,184)にロードし及びアンロードすることを管理し、そのアプリケーションが必要とする各波形を、前もってロードするか又は少なくともアプリケーションが必要とする時間までに波形テーブル(5,184)内にロードするようにする。ダイナミック波形マネージャ(6,183)は、アプリケーションポリシー(7,185)にアクセスし、そのアプリケーション特有の波形シーケンシング情報(230)を参照し、この情報を使用して、いつどの波形を波形テーブルにロードしアンロードするかを決定する。
本発明の好ましい実施形態を説明の目的で開示したが、当業者であれば、付随する請求項に開示された本発明の範囲と精神から離れることなく種々の修正、追加、代替が可能であることが理解されよう。また、本明細書で開示した発明の他の利点又は使用は、時間と共に明らかになるであろう。
本発明を示す電子デバイスの構成図である。 アプリケーションポリシーを生成するプロセスを示すフローチャートである。 本発明のダイナミック波形マネージャが実行する方法を説明するフローチャートである。 本発明を使用する自動テストシステムの好ましい実施形態の概略の構成図である。 例としてのアプリケーションプログラムのシーケンス図である。 図4のシステムのアプリケーションポリシーを生成するアプリケーションアナライザの動作方法を示すフローチャートである。 図6に概略したアプリケーションアナライザの方法を適用することによって生成される例としての波形リストを示す図である。 図4のダイナミック波形マネージャの動作の方法を示すフローチャートである。
符号の説明
1 電子デバイス
2 プロセッサ
3 メモリ
4 アプリケーション
5 波形テーブル
6 ダイナミック波形マネージャ
7 アプリケーションポリシー
8a 汎用メモリ
8b メモリ
9a アプリケーションアナライザ
9b アプリケーションアナライザ
100 テスタ
110 テストヘッド
112 システム制御リソース
114 クロック発生器
120a〜120n 専用ピン処理リソース
122a〜122n テスタピン
130 メモリ
131 ベクトルメモリ
132 波形メモリテーブル
133 シーケンサプログラム
140 独立プロセッサ
150 波形発生器
160 被検査物(DUT)
162a〜162n DUTのピン又はパッド
170 テストコントローラ
180 メモリ
181 テストセットアップソフトウェア
182 テストプログラム
183 ダイナミック波形マネージャ
184 ローカル波形メモリテーブル
185 アプリケーションポリシー
186 一般メモリ
190 プロセッサ
200 テストプログラム
201〜210 TestSuite(テストスイート)
220 アプリケーションアナライザの方法
230 波形リスト

Claims (10)

  1. プロセッサと、
    前記プロセッサによって実行可能であり、第1の数の波形の使用を必要とするアプリケーションプログラムと、
    前記アプリケーションプログラムが使用する波形を記憶する、前記第1の数より少ない第2の数の波形テーブルエントリを含む波形テーブルと、
    前記アプリケーションプログラムに特有な波形シーケンシング情報を含むアプリケーションポリシーと、
    前記アプリケーションプログラムの実行をモニタリングし、前記アプリケーションポリシーにアクセスして、前記第1の数の波形のうち前記アプリケーションプログラムが次に必要とする波形を決定し、前記第1の数の波形のうち1つ又は複数の波形を、前記波形テーブルの中の前記第2の数の波形テーブルエントリのうち対応する1つ又は複数のエントリにそれぞれロードするダイナミック波形マネージャと、
    を備えることを特徴とする装置。
  2. 前記ダイナミック波形マネージャは、前記波形テーブルの中の前記第2の数の波形テーブルエントリのうち対応する1つ又は複数のそれぞれのエントリにロードされた、前記第1の数の波形のうち1つ又は複数の終了した波形を、前記アプリケーションプログラムが最後に使用したという指示を受信し、前記アプリケーションポリシーにアクセスして、前記複数の波形から前記限定された数の波形テーブルエントリのうち1つのエントリに現在ロードされていなく前記アプリケーションプログラムが使用する次の波形を選択し、前記限定された数の波形テーブルエントリの前記ロードされた波形のうち終了した波形に対応する1つのエントリの中で、前記ロードされた波形のうち終了した波形を前記選択された次の波形で置き換えることを特徴とする請求項1に記載の装置。
  3. 前記ダイナミック波形マネージャは、前記アプリケーションプログラムが前記第1の数の波形のうち1つ又は複数の波形を必要とする前に、前記波形テーブルの中の前記第2の数の波形テーブルエントリのうち対応する1つ又は複数のエントリの中でそれぞれ、前記ロードする第1の数の波形のうち1つ又は複数の波形を検索することを特徴とする請求項1に記載の装置。
  4. 前記アプリケーションプログラムにアクセスし、前記アプリケーションプログラムに特有の波形シーケンシング情報を決定し、前記アプリケーションポリシーを生成するアプリケーションアナライザをさらに備えることを特徴とする請求項1に記載の装置。
  5. 前記アプリケーションポリシーは、前記アプリケーションプログラムが使用する前記第1の数の波形のうち、前記アプリケーションプログラムによる最初の使用及び最後の使用の指示を含むことを特徴とする請求項1に記載の装置。
  6. 前記ダイナミック波形マネージャは、前記アプリケーションプログラムの第1の使用の順序で、前記アプリケーションプログラムが使用する第1の数の波形をロードすることを特徴とする請求項5に記載の装置。
  7. 前記波形テーブルから独立し、前記第1の数の波形を記憶するメモリをさらに備えることを特徴とする請求項1に記載の装置。
  8. プロセッサがアプリケーションプログラムを実行している間に、波形テーブルエントリの数が限定されていることを特徴とする波形テーブルに、限定された数の波形テーブルエントリよりも数が多い複数の波形をロードすることをダイナミックに管理するためにプロセッサが実行する方法であって、
    前記プロセッサによってダイナミック波形マネージャを実行するステップと、
    前記ダイナミック波形マネージャによって、前記複数の波形のうち前記アプリケーションプログラムが最初に使用するサブセットを決定するステップと、
    前記ダイナミック波形マネージャによって、前記波形のサブセットの各々を、前記限定された数の波形テーブルエントリのそれぞれのエントリにロードするステップと、
    前記ダイナミック波形マネージャによって、前記限定された数の波形テーブルエントリのうち対応するエントリにロードされた前記ロードされた波形のうち終了した波形を前記アプリケーションプログラムが最後に使用した指示を受信するステップと、
    前記ダイナミック波形マネージャによって、前記複数の波形のうちから前記限定された数の波形テーブルエントリのうち1つのエントリに現在ロードされていない、前記アプリケーションプログラムが次に使用する波形を選択するステップと、
    前記ダイナミック波形マネージャによって、前記アプリケーションプログラムが前記選択された次の波形を必要とする前に、前記限定された数の波形テーブルエントリのうち前記ロードされた波形のうち終了した波形に対応するエントリの中で、前記ロードされた波形のうち終了した波形を前記選択された次の波形と置き換えるステップと、
    を含むことを特徴とする方法。
  9. 前記ダイナミック波形マネージャによって、前記複数の波形のすべてが最後の使用を終了するか、前記限定された数の波形テーブルエントリのうち1つに現在ロードされるまで、前記受信ステップから前記置き換えステップまでを繰り返すステップを含むことを特徴とする請求項8に記載の方法。
  10. 前記アプリケーションプログラムを実行する前に、前記アプリケーションプログラムに特有の波形シーケンシング情報を決定するために、プロセッサが前記アプリケーションプログラムにアクセスするステップと、
    前記アプリケーションプログラムに特有な波形シーケンシング情報に基づいて、前記アプリケーションポリシーを生成するステップと、
    をさらに含むことを特徴とする請求項8に記載の方法。
JP2005042094A 2004-02-20 2005-02-18 ダイナミック波形リソース管理を行なう装置及び方法 Withdrawn JP2005233962A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/782,984 US7024322B2 (en) 2004-02-20 2004-02-20 Dynamic waveform resource management

Publications (1)

Publication Number Publication Date
JP2005233962A true JP2005233962A (ja) 2005-09-02

Family

ID=34861112

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005042094A Withdrawn JP2005233962A (ja) 2004-02-20 2005-02-18 ダイナミック波形リソース管理を行なう装置及び方法

Country Status (4)

Country Link
US (1) US7024322B2 (ja)
JP (1) JP2005233962A (ja)
DE (1) DE102004053605A1 (ja)
TW (1) TW200529022A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8224613B2 (en) * 2007-03-13 2012-07-17 Tektronix, Inc. Synthesis and generation of arbitrary waveforms with ISI components for jitter tolerance
US20080270849A1 (en) * 2007-04-26 2008-10-30 Carli Connally Method and Apparatus for Displaying Test Data
US20080270923A1 (en) * 2007-04-26 2008-10-30 Carli Connally Method and Apparatus for Displaying Test Data
US8572143B2 (en) * 2009-11-09 2013-10-29 Agilent Technologies, Inc. Waveform generator with a register that shifts and provides groups of successive data values from an input data stream
US10333421B2 (en) 2017-03-30 2019-06-25 Raytheon Company Polymorphic waveform generation

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371851A (en) * 1989-04-26 1994-12-06 Credence Systems Corporation Graphical data base editor
US5657438A (en) * 1990-11-27 1997-08-12 Mercury Interactive (Israel) Ltd. Interactive system for developing tests of system under test allowing independent positioning of execution start and stop markers to execute subportion of test script
AU722149B2 (en) * 1996-02-29 2000-07-20 Bt Financial Group Pty Limited Determination of software functionality
US6134674A (en) * 1997-02-28 2000-10-17 Sony Corporation Computer based test operating system
US6188407B1 (en) * 1998-03-04 2001-02-13 Critikon Company, Llc Reconfigurable user interface for modular patient monitor
US6360332B1 (en) * 1998-06-22 2002-03-19 Mercury Interactive Corporation Software system and methods for testing the functionality of a transactional server
US6587969B1 (en) * 1998-06-22 2003-07-01 Mercury Interactive Corporation Software system and methods for testing the functionality of a transactional server

Also Published As

Publication number Publication date
US20050187729A1 (en) 2005-08-25
US7024322B2 (en) 2006-04-04
DE102004053605A1 (de) 2005-09-15
TW200529022A (en) 2005-09-01

Similar Documents

Publication Publication Date Title
US10317463B2 (en) Scan system interface (SSI) module
US20170343601A1 (en) Built-in device testing of integrated circuits
JP2005233962A (ja) ダイナミック波形リソース管理を行なう装置及び方法
US20220157399A1 (en) Automated test equipment comprising a pluarlity of communication interfaces to a device under test
US8797046B2 (en) Method of sharing a test resource at a plurality of test sites, automated test equipment, handler for loading and unloading devices to be tested and test system
CN1879027A (zh) 测试装置及测试方法
CN114461579B (zh) Pattern文件并行读取和动态调度的处理方法、系统及ATE设备
CN116414639A (zh) 芯片测试机的测试调度方法及装置、电子设备、存储介质
JP5841457B2 (ja) 試験装置および試験モジュール
CN114356820A (zh) 基于ate设备芯片测试的加速方法、装置及测试机系统
JP5209045B2 (ja) スキャン・チェーンを均等化し、均等化された長さのスキャン・チェーンを階層的に設計された集積回路に挿入するための方法、システム及びプログラム
JP2008516205A (ja) フィーチャ指向型テストプログラムの開発と実行
CN117330935A (zh) 一种集成电路测试方法、装置、介质
JP2010175459A (ja) 診断装置、診断方法および試験装置
US20040177344A1 (en) Debugging method for the keyboard controller code
JP3548483B2 (ja) 半導体デバイスの試験方法および試験装置
US7099791B2 (en) System and method for linking and loading compiled pattern data
JP2010107230A (ja) 試験装置、プログラム、記憶媒体、および、試験方法
JP2010014423A (ja) 半導体試験装置
CN116718900B (zh) 数字ip测试系统及方法
US20240175916A1 (en) Systems and methods for testing virtual functions of a device under test
JP4198378B2 (ja) 半導体試験装置及び半導体デバイスの試験方法
CN115808612A (zh) 一种芯片物理ip测试系统、方法及电子设备
JP2012103874A (ja) ソフトウェアテスト装置
CN117849578A (zh) 基于仿真器的芯片自动化测试方法及系统

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20071025

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080201

A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080513