JP2002505000A - 低コストで使用が容易な自動テスト・システム用ソフトウェア - Google Patents

低コストで使用が容易な自動テスト・システム用ソフトウェア

Info

Publication number
JP2002505000A
JP2002505000A JP50287199A JP50287199A JP2002505000A JP 2002505000 A JP2002505000 A JP 2002505000A JP 50287199 A JP50287199 A JP 50287199A JP 50287199 A JP50287199 A JP 50287199A JP 2002505000 A JP2002505000 A JP 2002505000A
Authority
JP
Japan
Prior art keywords
test
data
program
spreadsheet
software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP50287199A
Other languages
English (en)
Other versions
JP4972244B2 (ja
Inventor
プロスカウアー,ダニエル・シー
デシュパンデ,プラディープ・ビー
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.)
Teradyne Inc
Original Assignee
Teradyne 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 Teradyne Inc filed Critical Teradyne Inc
Publication of JP2002505000A publication Critical patent/JP2002505000A/ja
Application granted granted Critical
Publication of JP4972244B2 publication Critical patent/JP4972244B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31903Tester hardware, i.e. output processing circuits tester configuration
    • G01R31/31912Tester/user interface
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

(57)【要約】 テスト・プログラムを開発し実行する低コストで使用が容易であるソフトウェアを備えた半導体デバイスの自動テスト装置である。テスタは、市販のスプレッドシート・プログラムを動作させるコンピュータ・ワークステーションを用いて制御される。この市販のスプレッドシート・プログラムは、プログラム開発環境を提供するアプリケーションとして設定されている。更に、市販のスプレッドシート・プログラムを用いて作られたプログラムが、半導体デバイスに対するテストの実行を制御する。テスタは、プログラムが容易であるが、これは、市販のスプレッドシート・プログラムを用いることにより広く知られたプログラミング・インターフェースが発生されることによる。このようにして、この市販のスプレッドシート・プログラムは、アプリケーションによって用いられるスプレッドシート機能を単に提供するのではなく、テスタを制御するソフトウェアを実現する。従って、自動テスト装置を制御するこのソフトウェアは、プログラムする又は修正を行うのが非常に容易である。また、プログラムするのも非常に容易である。

Description

【発明の詳細な説明】 低コストで使用が容易な自動テスト・システム用ソフトウェア 本発明は、広くは、半導体製造において用いられる自動テスト(試験)装置に 関し、更に詳しくは、そのようなテスト・システムのための制御ソフトウェアに 関する。 自動テスト装置は、半導体の製造において広く用いられている。半導体は、そ の製造の間に少なくとも1回はテストがなされるのが一般的であり、時には、製 造プロセスにおいて複数回のテストがなされることもある。すべての素子がテス トされるのであるから、テスト速度は、半導体の経済的な製造にとって重要であ る。ゆっくりとテストを行うのでは、半導体素子を製造するのに必要となる高価 な設備である装置を完全に用いないことになる。 現代の半導体素子は非常に複雑であり、多くの動作状態を有する。完全なテス トを実行するには、これらの動作状態のそれぞれを確認してみなければならない 。従って、自動テスト装置は、テスト・データを半導体デバイスに与え、多数の 測定を製造過程において行うように設計されている。図1には、従来技術による 自動テスト・システムが一般化された態様で示されている。完全で迅速なテスト を行うには、自動テスト・システムは、テスタ(試験装置)本体112と、コン ピュータ化されたワークステーション110と、操作デバイス(handling devic e)114とを含むのが一般的である。 コンピュータ・ワークステーション110は、操作デバイス114とテスタ本 体112との両方を制御する。コンピュータ・ワークステーション110は、半 導体デバイス(図示せず)をテスタ本体112上の多数のテスト・プローブ11 8と接触する位置に位置決めするように、操作デバイス114を制御する。多く の場合、テスタは、テスト・プローブ118を含む別個のテスト・ヘッドを含ん でいる。しかし、そのような区別は、本 発明には重要ではない。 ワークステーション110は、次に、テスト対象であるデバイスに対して一連 のテストを実行するように、テスタ本体112を制御する。それぞれのテストは 、制御信号がワークステーション110からテスタ本体112に送られるセット アップ部分を含むのが一般的である。制御信号は、通常、バス116を介して送 られるデジタル値である。これらの制御信号は、テストに必要な測定を行うよう にテスタ本体112内のハードウェアのコンフィギュレーションを定める。テス タ本体内部のハードウェアは、制御信号に従って、刺激を与え、テスト対象デバ イスからの応答を測定する。 図1には、テスタ本体112内のハードウェアがピン124として識別される 多数の回路を含んでいる様子が示されている。それぞれのピン124は、テスト ・プローブ118の1つに対して信号を発生し測定を行う。それぞれのピンは、 静的(static)な、すなわち直流信号を提供しうる。また、それぞれのピン12 4は、時には「バースト(burst)」とも称される状況では、変化するデータを提 供又は測定することもあり得る。 バーストの間には、テスタ本体112は、タイミング及びシーケンシング(seq uencing)回路120によって制御される。タイミング及びシーケンシング回路1 20は、ピン124のそれぞれに、関連するメモリ128から一連のデータ値を 読み出させる。それぞれのデータ値は、ピンがその関連するテスト・プローブ1 18で特定の時点において与えるべき又は測定を予測すべき信号のタイプを示す 。ピンが測定値を予測値と比較すると、その結果もまたメモリ128に記憶され うる。 1回にすべてのピン124が提供すべき又は測定を予測すべき値を定義するデ ータ値の組は、「ベクトル」と称される。バーストの間には、多くのベクトルが 実行される。テスト対象デバイスの実際の動作条件をシミュレートするには、ベ クトルは、非常な高速で実行されなければならない。半導体デバイスをテストす るのに必要なバーストを定義するには、数百万のベクトルが存在する。これらの ベクトルは、典型的には、テスト・システムが特定のタイプのパーツをテストす るようにプログラムされている時刻 において、メモリ128にロードされる。このローディング・プロセスには数分 を要することがあり、それぞれのバーストに対して反復されない。むしろ、それ ぞれのバーストに対して、ワークステーション110は、どのベクトルがバース トの一部として実行されるべきかを示すコマンドを送る。バーストがいったん完 了すると、ワークステーション110は、バーストの結果を、メモリ128又は タイミング及びシーケンシング回路120から読み出す。 更に、テスタ本体112は、1つ又は複数の器具(instruments)126を含 む。1つの器具が、特定のテスト機能を実行する。器具は、例えば、正弦波など の特定のテスト信号を発生しうる。また、器具は、高速で信号をサンプリングし 、それによって、後でデジタル信号プロセッサによる解析が可能にすることもあ る。これらの機能は、あるバーストの一部として実行されることもあるし、バー ストとは別に実行されることもある。 1つのパーツの完全なテストは、時には「ジョブ」と呼ばれるが、直流測定又 は器具126による測定に対して散在する一連のバーストから構成される。バー ストは、テスト対象デバイスの特定の機能的属性(functional attributes)を測 定するのに用いられ得る。また、それぞれのバーストは、テスト対象デバイスを 直流測定が実行可能な状態におく目的だけに用いられることもある。テストのこ れらの構成要素が実行される順序は、時には「フロー」とも呼ばれるが、ワーク ステーション110内のソフトウェアによって決定される。 あるデバイスが完全にテストされる、又は、欠陥があると判断される時点まで テストされると、ワークステーション110は、制御信号を操作デバイス114 に対して発生する。すると、操作デバイス114は、次にテストされるべきデバ イスをテスタ本体112に提供し、プロセスが反復される。ワークステーション 110は、また、特定のデバイスがテストに合格した又は失格したことに関する データを収集する。ワークステーション110は、このデータを処理し欠陥のあ るデバイスが廃棄されるようにすることができるし、また、欠陥の傾向に関する データを解析するなど、そ れ以外の機能を実行することもできる。 ワークステーション110の中のソフトウェアのもう1つの重要な機能として 、特定のデバイスに対するテストの開発(development)中や、更にはデバイス の設計それ自体の間にも、補助的機能を果たすことがある。開発の間には、テス ト・エンジニアは、テスタ本体112内部のハードウェアに対する設定などを特 定できなければならない。技術者は、また、テストのフローを特定できなければ ならない。テスタを制御するソフトウェアは、融通性があり、学習及び使用が非 常に容易であることが非常に望ましい。半導体チップの市場は、非常に競争が激 しく、多くの場合、技術革新によって左右される。従って、チップが可能な限り 迅速に開発され製造の準備が整うことは、重要である。テスト・エンジニアがテ スタのプログラム方法を学ぶ必要があるために遅れが生じるようなことは望まし くない。 図2には、ワークステーション110内のソフトウェアのための伝統的なソフ トウェア・アーキテクチャが示されている。このソフトウェアは、テストの開発 及び解析時に用いられる要素と、テストの実行時に用いられるソフトウェアとに 分けられる。 テストを定義する第1のステップは、一般的には、デバイス・データを特定す ることである。図2には、デバイス・データ開発ツール210が示されている。 伝統的には、これらのツールは、テスト対象である特定のデバイスに関するデー タを集め、そのテスタのためにカスタム開発されたデータベースに記憶している 。この情報は、これらをピン・グループ及びタイム・セット(time set)として 定義する。半導体デバイスは、多くのデバイス・リードを有する。これらのリー ドは、グループとしてまとまって動作することが多い。例えば、あるグループは 、アドレス・バス又はデータ・バスを表すことがあり得る。従って、あるツール によって、リードのグループを特定することが可能になる。別のツールによれば 、デバイス上の特定のリードとテスタ上のピンとの間の相関関係を特定すること が可能になる。場合によっては、特定のデータを、その値を別のデータ値に関係 付ける方程式によって定義することが可能である。しかし、従来技術では、 方程式を扱う能力は限定的なものであった。 他のツールによれば、信号のタイミングを特定することが可能となる。それぞ れのピン124は、タイミング「エッジ」に関係して定義される信号を発生又は 測定することができる。それぞれのピンには、1組のタイミング・エッジが存在 する。それぞれのエッジは、実行されるそれぞれのベクトルに対して1回生じう る。それぞれのエッジが生じる時間は、プログラムすることができる。それぞれ のピンに対するそれぞれのエッジに対するプログラムされた時間が、1組のタイ ミング・データを表す。異なるバーストにおいて又は同一のバーストの中でも所 望のプログラミングは異なりうるので、複数のタイム・セットが特定されるのが 通常である。それぞれのタイム・セットの組が入力され記憶されなければならな い。この情報は、伝統的には、特定のテスタに対して設計されたカスタム・デー タベース・プログラムを介して入力されてきた。カスタム・データベースを介し て入力された情報は、デバイス・データ・ファイル214に記憶される。 入力されなければならない別のタイプの情報は、あるテストのために実行され なければならない特定のステップである。この情報は、テスト・テンプレート2 20において特定される。テンプレートとは、どのような特定のデバイス・デー タ・ファイルの値とも独立に記述されるステップの組である。テスト・テンプレ ートは、特定のテスト・システムに対して定義されたフォーマットのデータ・フ ァイルとして記録されてきた。これらのファイルは、一般的には、テスタを製造 した者によって提供され、典型的には、高速な実行速度で知られているCプログ ラミング言語などのプログラミング言語で書かれている。場合によっては、テス ト・エンジニアが、テスト・テンプレートをカスタマイズする。 テスト・テンプレートは、コンパイラ250によってコンパイルされる。コン パイルされたプログラムは、翻訳された(interpreted)プログラムよりも高速 に実行可能であると、通常考えられている。テスタにおける実行速度に関する要 件のために、コンパイルされたテスト・プログラムの方が好まれてきた。 カスタム・フロー・ツール218はまた、テストの順序の特定を可能にする。 フローは、プログラム・フロー222として記録される。伝統的には、フローは 、テーブルへの一連のエントリとして特定されるが、伝統的なプログラミング言 語と類似する特別なプログラミング言語でも可能である。 フローのステップを特定するために、特定のテスト・テンプレートを、そのス テップに対して用いられるべきデバイス・データ・ファイルと共に特定すること もできる。あるテンプレートによって、実行されるバーストが特定される。また 、他のテンプレートによって、テストの結果がテスタ112の中のハードウェア から読み出されることや、そのハードウェアが特定の方法でセットアップされる ことが決まる。フローの他のステップとして、伝統的なプログラミング言語にお いて見られる分岐(branching)及びルーピング(looping)命令などの制御ステ ートメントがある。 プログラム・フローは、カスタム・エグゼクティブ(custom executive)22 4として機能する。カスタム・エグセクティブ224は、プログラム・フローに おいて特定されたテンプレートの中に、デバイス・データ・ファイル214から のデータを満たす。これによって、テスト・オブジェクトが作成される。 テスト時間においては、カスタム・エグゼクティブ224は、テスト・オブジ ェクトを処理し、テスタ112を実際に制御する。カスタム・エグゼクティブ2 24は、データ及びコマンドをデバイス・ドライバ228を介してテスタ112 に送る。カスタム・エグゼクティブ224の動作速度が全体のテスト時間を決定 するのに大きな意味を有するので、カスタム・エグゼクティブは、伝統的に、プ ログラマにその実行を特定し従って最適化するオプションを与えるC言語などの プログラミング言語で書かれてきた。 デバイス・ドライバ228は、バス116を介して情報を送受信してテスタ1 12内部のハードウェアを制御するプログラム手順である。デバイス・ドライバ 228は、低レベルのハードウェア制御を実行するので、そ のような制御を許容するC言語などのプログラミング言語で書かれている。 すべてのデバイスができるだけ迅速にテストされることが、強く望まれる。従 って、プログラム・フローにおけるそれぞれのステップを実行するのに要求され る時間は、非常に短いことが望ましい。テスタ112又は操作デバイス114が コマンドに応答する又はそれを「実行」するのにかかる実際の時間は、ワークス テーション110内のソフトウェアとは無関係である。しかし、ワークステーシ ョン110内のソフトウェアは、それぞれのコマンドを設定するのにかかる時間 の長さである「オーバヘッド」を決定する。1つのジョブの実行時間を非常に短 くするために、かなりの努力がなされている。従って、オーバヘッド時間もまた 非常に短いことが非常に重要である。従来技術のシステムでは、これは、カスタ ム・エグゼクティブ224を用いて達成された。カスタム・エグゼクティブ22 4は、伝統的にC言語で書かれている。C言語は、設計されうるエグゼクティブ の開発が迅速になされることを可能にする言語であると広く認められている。 C言語でカスタム・エグゼクティブ224を準備するのに伴う主な問題は、そ のようなエグゼクティブを書くのに非常に長い時間がかかるということである。 そのための費用は、文字通り数百万ドルになる可能性があり、数年の努力を要す る可能性がある。カスタム・エグゼクティブを有することに伴う別の問題として 、ユーザ・インターフェースもまたカスタム・インターフェースであるというこ とがある。これは、テスタを操作している技術者は、テスタをプログラムする方 法を学習するのに時間をかけなければならないことを意味しているが、これは、 ほとんどのユーザにとって望ましくない。しかし、これまでは、これらの短所は 、テスタを迅速に動作させるためには必要であると考えられてきた。 C言語でのカスタム・エグゼクティブの別の欠点として、ユーザ・インターフ ェース能力が極めて限定される可能性が大きいということがある。ユーザ・イン ターフェースは、テスタにとって特に重要である。というのは、テスタは、非常 に異なったスキルのレベルを有する複数の人間によっ て様々な時に操作されるからである。デバイス及びテストの開発段階では、テス タは、熟練度の高い技術者によって操作される。しかし、いったんデバイス及び テストが開発されてしまうと、テスタは、中程度のスキルを有するプロダクショ ン・ワーカー(production worker)によって操作される。従って、ユーザ・イ ンターフェースは、生産段階では、極めて単純化されていなければならない。 テスタは、伝統的には、ワークステーション110上で動作する別個の生産イ ンターフェースを有している。ユーザ・インターフェースは、伝統的には、1つ のメニュとして実現されてきた。テスト・エンジニアは、メニュ上に、生産段階 のテストにおいてオペレータが必要とするコマンドだけを配置する。従って、テ スタと共に提供されるソフトウェアでは、メニュの形式でユーザ・インターフェ ースを作成することしかできなかった。不運なことであるが、メニュは階層的で あるが、多くの操作はそうではない。従って、非階層的なインターフェースを迅 速かつ容易に開発することを可能にするソフトウェアをテスタに提供することが 望ましいだろう。 図2には、ワークステーション110に含まれる他のソフトウェア要素が示さ れている。メモリ128(図1)にロードされたベクトルは、大量のデータを表 す。これらは、通常、ソフトウェア・シミュレータによって開発されるか、又は 、自動化された方法で導かれる。これらは、ユーザによってマニュアルで入力さ れるのが通常である。ベクトル開発ツールによって、ユーザは、ベクトル・ファ イルを編集することが可能になり、ベクトル・ファイルは、その後で、ベクトル 及び結果ファイル234に記憶される。ベクトル・ファイルは、テストに先立っ て、メモリ128にロードされる。 同様にして、多数の連続するサイクルの間にテスト対象デバイスにおいて例え ば測定された値を表している大量のデータがテストの間に集められた場合には、 それは、バス116(図1)を介して戻される(passed back)。 ベクトル・ファイル234は、デバグ及び解析ツール230によってもアクセ ス可能である。デバグ及び解析ツールは、テストを開発しているエ ンジニア又はテスト対象のパーツを開発しているエンジニアによって用いられる 。これらのツールによれば、ベクトルや結果をグラフィカルに表示したり、ユー ザが、ベクトル・ファイルを修正したり予測される値を測定された値の上に重ね 書きすることが可能になる。更に、デバグ及び解析ツールによると、ユーザは、 テスタ112におけるハードウェアを直接にプログラムすることができるように なる。従って、これらのツールは、時には、デバイス・ドライバ228をコール することもある。 典型的なシナリオでは、デバイス・データ及び開発ツール212と、テスト及 びフロー開発ツール218と、デバグ及び解析ツールと、テスト・ベクトル開発 ツール232とは、テスタと共に供給される。テスト対象デバイスがまだ開発中 である間も、ユーザは、デバイス・データ及び開発ツール212を用いて、デバ イスの特性を特定する。テスト及びフロー開発ッール218は、デバイス上でな されるいくつかのテストを特定するのに用いられる。 サンプル・デバイスが製造される。テスト・プログラムが動かされ、デバグ及 び解析ツールが用いられて、これらのサンプル・デバイスがチェックされる。こ のプロセスでは、サンプル・デバイスにおける欠陥が検出される又はプログラム に伴う問題点が検出される。これらの問題点は、訂正され、更なるテストが作ら れ動作される。 開発プロセスが終了すると、半導体デバイスは、テスト・プログラムと共に、 生産に移行される。生産においては、それぞれのパーッは、製造される際にテス トがなされる。 発明の概要 以上の背景を鑑みると、本発明の目的は、迅速かつ安価に開発することができ るテスタ制御ソフトウェアを提供することである。 更に、ユーザが容易かつ迅速に使い方を学習できるテスタ用ソフトウェアを提 供することも本発明の目的である。 以上の及びそれ以外の目的は、市販のスプレッドシート・ソフトウェアを用い て、デバイス・データ・ファイルとテスト・テンプレートとプログ ラム・フローとを開発することで達成される。市販のスプレッドシート・ソフト ウェアが、これらの機能のすべてを、要求される速度をもって、非常な低コスト で提供することができ、更に、ユーザが高価なトレーニングを受けなくとも学習 できる標準的なユーザ・インターフェースを与えてくれるという長所を有するこ とを見いだされた。 図面の簡単な説明 本発明は、次の添付した図面と以下の詳細な説明を参照することによって、よ りよく理解されるはずである。 図1は、従来技術によるテスタのハードウェア・ブロック図である。 図2は、従来技術によるテスタのためのソフトウェアのソフトウェア・ブロッ ク図である。 図3は、本発明によるソフトウェアのソフトウェア・ブロック図である。 図4Aないし9は、本発明と共に用いられるデバイス・データ・シートを図解 している。 図10Aないし11Cは、本発明と共に用いられるフロー・データ・シートを 図解している。 図12A及び12Bは、サンプル・テスト・テンプレートを示している。 図13は、本発明によるフロー制御ソフトウェアの動作を示している図である 。 図14は、本発明によって容易に実現され得るオプショナルなプログラミング ・インターフェースである。 図15は、別の市販のスプレッドシート・プログラムを用いて実現されるデバ イス・データ・シートの例である。 図16A及び16Bは、オプショナルなデバイス・データ及びフロー開発ツー ルの例である。 好適実施例の説明 図3は、従来技術によるテスタにおけるカスタム・ソフトウェアの機能のほと んどは市販のスプレッドシート・プログラムによって実行されうるという認識か ら生じるユニークなソフトウェア・アーキテクチャを示して いる。この好適実施例では、来国ワシントン州レドモンド(Redmond)所在のマ イクロソフト社(Microsoft)によるエクセル(EXCEL)が用いられる。 エクセルは、ユーザが「ワークブック(workbook)」を作成することを可能にす るスプレッドシート・プログラムである。ワークブックは、異なるスプレッドシ ートとして構成されたデータの集まりである。スプレッドシートとは、単に、セ ル(cell)の格子(グリッド:grid)であり、それぞれのセルは、1つのデータ又は データ値が他のセルにおける値からいかにして計算されるべきかを定義する方程 式を保持する。セルは、順序付けられたグリッドに現れる。セルは、一般的に、 関連するデータが特定のロー(列、row)又は特定のコラム(行、column)にあ るセルの中に生じるように構成されている。セルのそれぞれに対して作用するツ ールは、データが何を表しているかとは無関係に、同一である。ワークブックの 内部では、スプレッドシートのどれにもアクセス可能であり、あるスプレッドシ ートの中のデータを別のスプレッドシートにおいて用いることができる。 エクセルは、また、スプレッドシートを定義し、「アプリケーション」を開発 するという特徴も含む。エクセルは、会計システムの開発などのアプリケーショ ンに用いられてきた。スプレッドシートの外観を特定して、ユーザが、特定のタ スクに関係するセルだけを見るようにすることができる。表示を、『エクセル・ アプリケーション開発者ガイド』やキュー・コーポレーション(Que Corporatio n)から1996年に刊行されたJeff Webbによる"Using Excel Visual Basic fo r Applications"(ISBN O-7897-0269-X)に説明されている他の方法に変更する こともできる。これらの書籍は、この出願において援用する。 エクセルを用いてアプリケーションを作成することができる第2の方法では、 ビジュアル・ベーシック(Visual Basic)を用いる。ビジュアル・ベーシックは 、エクセルの中に組み入れられるプログラミング言語である。その名称が示唆す るように、ビジュアル・ベーシックの基本的な目的は、ユーザがデータを入力す るために与えられる際のスプレッドシートの外観を制御することである。ビジュ アル・ベーシックは、一般的には、複数の スプレッドシートのどれをアプリケーションが実行されている間の任意の時点に おいてユーザに提供するかを選択するのに用いられる。選択は、一般的には、ユ ーザによって入力されたデータ又はコマンドに基づいており、それによって、任 意の与えられたタスクが実行されている間に、ユーザは、そのタスクに関連する データを見ることになる。従って、ビジュアル・ベーシックは、動作しているア プリケーションがユーザにとってどのように見えるのかを制御するのに用いるこ とができる多くのコマンドを含む。ビジュアル・ベーシックは、また、分岐(ブ ランチング:branching)及びルーピング(Iooping)のための条件ステートメント などのプログラム・フローを制御するプログラミング・コマンドを含む。 本発明者は、半導体テスタのワークステーションにおいて用いられるときにテ ストの実行を制御するだけでなく、テスト・テンプレートを書くのにも、ビジュ アル・ベーシックを用いることができることを発見した。特に、エクセルなどの 市販のスプレッドシート・プログラムをカスタマイズして、データ及びテスト・ テンプレートからのテスト・プログラムを非常に迅速にアセンブルすることがで きるので、カスタム・エグゼクティブと比較してテストを実行する速度がほとん ど失われないということを発見した。この認識によって、多数の長所を達成する ことができた。このようなソフトウェア・アプリケーションの開発は非常に迅速 である。更に、ほとんどのプログラマは市販のスプレッドシート・プログラムに 親しんでいるので、誰かが、そのアプリケーションの使用法を学習するのは非常 に容易である。更にまた、テスタ制御ソフトウェアは、コンテキスト・センシテ ィブなヘルプや編集コマンドなど、カスタム・スプレッドシート・プログラムの 中に組み込まれている多くの特徴を利用することができる。 図3は、デバイス・データ及びフロー開発ツール310を示している。この好 適実施例では、これらのツールは、エクセル・ワークブックの中のスプレッドシ ートをカスタマイズすることによって、実現される。デバイス・データを保持す るためには、ピン・マップと、それぞれのピンにおいて印加される信号のレベル と、タイム・セットとに対するスプレッドシー トが存在する。チャネル・マップ、様々な定数値の仕様、エッジ・セットなどの データに対する他のスプレッドシートも、オプションとして、存在しうる。それ ぞれのタイプのスプレッドシートは複数あり得るが、これは、異なるデータ値が 異なる種類のテストに必要であるからである。それぞれのスプレッドシートは、 「データ・セット」と称される。ある好適実施例において用いられるデバイス・ データのためのスプレッドシートが、図4ないし9において図解されている。 テスト・フローは、ワークブック内のスプレッドシートとしても表される。テ スト・フローは、実行される一連のステップによって特定される。それぞれのス テップと関連するデータが存在し、それぞれのステップは、スプレッドシートに おける1つのローとして表される。それぞれのステップにおいて実行される厳密 な動作は、1つ又は複数のフラグの状態によって影響されうる。ステップの実行 によって、これらのフラグのいずれかの状態が変更されることもあり得る。これ により、ブランチング又はそれ以外の同様な制御の構築が達成されうる。 フローにおけるあるステップに対して特定されるデータの1つとして、どのテ スト・テンプレートがどのデータ・セットと共に用いられるかがある。テスト・ テンプレートとそのテスト・テンプレートと共に用いるデータ・セットとは、「 インスタンス(instance)」と称される。インスタンスは、スプレッドシートとし ても記述することができる。ある好適実施例において用いられるフロー情報のた めのスプレッドシートが、図10ないし11に図解されている。 それぞれのスプレッドシートの構造は、ワークステーション110内のソフト ウェアによって定義される。それぞれのスプレッドシートの構造は、市販のスプ レッドシート・プログラムの広く知られたメカニズムを用いてテンプレートを特 定することによって、作成される。それぞれのスプレッドシートに対するデータ 値は、テスト・エンジニアによって入れられ、これらの値は、テスト対象のデバ イスのタイプに左右される。 本発明によるテスタ制御ソフトウェアは、従来技術の場合のように、デ バグ及び解析ツールとテスト・ベクトル開発ツールとを用いる。これらのアイテ ムは、簡潔にするために、図3には示されていない。この好適実施例では、ベク トル・ファイルは、市販のスプレッドシート・プログラムで容易に扱うには、大 きすぎる。その理由で、これらは、エクセルにおいては実現されない。 次に図4A及び4Bを参照すると、ピンマップ・デバイス・データ・シートが アクセスされている間のワータステーション110上の表示が示されている。図 4A及び4Bが、1つのウィンドウを表す。このウィンドウは、ワークステーシ ョン110上のエクセル・ソフトウェアによって表示 ト社の商標)オペレーティング・システムによって制御されるので、一度に複数 のウィンドウを、スクリーン上に表示することができる。 それぞれのウィンドウは、いくつかのフィールドを含む。フィールド410は 、ツール・バーとして知られている。フィールド420は、メニュ・バーとして 知られている。フィールド430は、データ・セル・フィールドである。フィー ルド440は、タブ・フィールドである。これらのフィールドのコンテンツは、 多くの場合に、ワークステーション110を制御するソフトウェアの準備の一部 として特定される。しかし、これらのフィールドのそれぞれの配置及び一般的な 動作は、エクセルを用いて開発されるすべてのアプリケーションに対して標準的 である。従って、本発明によっても、エクセルが、半導体テスト・システムの制 御に用いられ、エクセルや他のエクセル・アプリケーションに親しんでいる者で あれば、このソフトウェアの使用法を一般的に理解するであろう。このようにし て、本発明によれば、使用が容易であるから、カスタム・ソフトウェア・システ ムと比較して、著しい時間及びコストの削減が達成される。 ツール・バー410は、ツール・アイコン412及び414など、多くのツー ル・アイコンを含む。後により詳しく説明されるように、テスタ112のための テスト・プログラムは、様々なスプレッドシートにデータを入れることによって 、大部分が特定される。データは財務上のデータや市 販のスプレッドシート・プログラムが通常用いられるそれ以外のタイプのデータ とは異なり半導体テスタに対する制御情報を表すという事実にもかかわらず、デ ータは、同じように操作されなければならない。従って、データ操作ツールが必 要であるが、エクセルと共に用いられる標準的なデータ操作ツールでよい。これ らのツールは、データのコピー、データの削除、スプレッドシートのコンピュー タ・ファイルへのセーブなどの機能を実行する。これらのツールは、マウスやト ラックボールなどの入力デバイスを操作して特定のツール・アイコンを選択する ユーザによってアクセスされる。 更に、フィールド410は、カスタム・ツールを用いてカスタマイズすること ができる。エクセルによれば、カスタム・ツールを特定してツール・バーに追加 することができる。望む場合には、テスト・プログラムの生成に対して一意的な 機能を実行するカスタム・ツールを、ツール・バー410に追加することもでき る。例えば、一方で、テスト・プログラムを実行するカスタム・ツールもあれば 、他方では、デバイス・データをチェックしてエラーや非一貫性(不一致)を検出 するカスタム・ツールもある。 メニュ・バー420は、422や424などのシステム・メニュ・アイテムを 含む。これらのアイテムは、ユーザによってアクセスされると、このシステム・ メニュ・アイテムに関係する作用の複数の選択肢を提供するように拡張する。例 えば、ファイル(FILE)というシステム・メニュ・アイテムの下には、保存(sav e)、削除(delete)、印刷(print)などの選択肢がある。ッール・バー410と メニュ・バー420とからアクセスできるツールの間にはいくらかの重複がある 。一般的には、ほとんどの共通のツールは、ツール・バー410上に現れ、シス テム・メニュ・アイテムの1つの下にある選択肢の1つとして複写されることが 多い。 メニュ・アイテムのほとんどは、自動テスト・システムに用いられるデータに 特定ではない機能を表す。従って、エクセル・アプリケーションに対するデフォ ルト条件として提供されるシステム・メニュ・アイテムを、ほとんどのメニュ・ アイテムに対して用いることができる。しかし、自動 テスト・システムに特定の機能も多く存在する。この好適実施例では、これらの 機能は、ユーザがカスタム・メニュ・アイコン426からの選択肢を選択するこ とによって実行される。エクセルは、上述したエクセル・アプリケーション開発 ガイドにおいて提供されている命令に従って、アプリケーションに対してカスタ マイズすることができる。カスタム・メニュの選択肢は、システム・メニュ・ア イテムと同じメニュ・バー又は別個のカスタム・メニュ・バーの上に現れる。 デバイス・データを含むデータ・シートに対しては、カスタム・メニュ・アイ テムによって、データ・シートの「有効化確認(validate)」を可能にする。すで に述べたように、データ・シートにおける様々なセルは、データ有効化機能をそ れらと関係付けしている場合がある。これらのデータ有効化機能は、現在のデー タ・シートのコンテキストにおける不適切なデータ値を検出することができる。 例えば、特定のフィールドが数値を保持することを意図されていれば、入力され る値が文宇を含む場合には、エラーが検出されうる。また、別のセルが正の値だ けに限定されている場合には、入力される値が負であれば、エラーが指示される 。しかし、複数のシートに依存する有効化機能もある。例えば、ピンの総数は、 1つのシート上で特定され、ある属性は、それぞれのピンに対して別のシート上 で特定される場合がある。属性があまりに少数のピンに対して特定されている場 合には、これは、2つのシートを比較することによって検出されるだけである。 様々な有効化機能を、テスタ・ハードウェアの要件及び制限に基づいて定義する ことができる。これらの有効化機能は、カスタム・メニュ・アイテムから選択す ることができる。また、同じ機能を、ツールバー・ボタンを用いて選択すること もできる。 更に、フロー・データ・シートに対しては、そのフローによって定義されるテ ストを実行する方法が存在することが要求される。フロー・シートと関連するカ スタム・メニュ・アイテムによって、フローが実行され、また、実行の態様も決 定される。例えば、フローの実行においてブレーク・ポイントを設定する、又は 、一度に1つのステップずつフローを実行する ことが望ましい場合がある。これらの機能のそれぞれは、カスタム・メニュ又は ツールバー・ボタンからのメニュ選択として特定することができる。 カスタム・メニュ・アイテムは、シートのそれぞれとは異なることがある。エ クセルによると、その何らかの属性を、それぞれのデータ・シートに対して特定 することが可能である。これらの属性の1つに、カスタム・メニュ・アイテムが ある。このようにして、カスタム・メニュを、特定のシートに表示される特定の データ・タイプに適する操作だけを含むように修正することができる。以下では 、ソフトウェア制御テスタ112によって実行される他の操作について説明する 。これらの操作は、カスタム・メニュ上に現れるメニュ・アイテムにマップされ る機能として定義することができる。 データ・セル・フィールド430は、テスタ112を制御するようにカスタマ イズされたデータ・セルを含む。セルのレイアウトは、エクセルによって提供さ れる。しかし、ウィンドウにおいて見ることができるロー及びコラムの数は、エ クセルをプログラムすることによって、決定される。図4A及び4Bは、デバイ ス・ピンマップ・データ・シートを表している。従って、データ・セル・フィー ルド430は、デバイス・ピンマップ・データを受け取るように設定されたセル のロー及びコラムを含む。 半導体テスタでは、デバイス・ピンマップ(device pinmap)は、論理的な名称 を物理的なピン118(図1)に、テスト・プログラムが動いている間にこれら のピン118がどのようにテスト対象デバイスと接触するかに基づいて、割り当 てる。データ・セル・フィールド430は、データ・セル432A、・・・、4 32Dの4つのコラムと共に示されている。これらのコラムのそれぞれは、先頭 に、ヘッダ・セル434などのセルを有する。ヘッダ・セル434は、そのコラ ムの残りのセルに入れられるデータのタイプの記述を含む。スプレッドシートが エクセルにおいて定義されるときには、ヘッダ・セルなどのいくつかのセルには 、固定値を与えることができる。 データを入力しチェックするための規則(ルール)は、図4A及び4Bで は見ることができない。しかし、市販されているスプレッドシート・プログラム の特徴の1つとして、様々なセルに入力される際にデータが有効化されるという ことがある。また、データ・セルによっては、他のセルに入力された値に基づい て計算されうるものもある。市販のスプレッドシートは、大量の財務データを入 力するなどの目的で、この特徴を備えているように開発された。しかし、データ をテスタ制御のために用いる場合でも、いくつかのデータ入力規則は可能であり 、用いることができる。 図4A及び4Bにおける別のフィールドとして、タブ・フィールド440があ る。タブ・フィールド440は、442及び444などの一連のタブを含む。そ れぞれのタブは、テスト・プログラムを含むワークブックの中にある1つのスプ レッドシートを表す。ユーザは、タブの1つを付勢する(アクティブにする)こ とによって、どのスプレッドシートがアクティブであるかを選択する。図4A及 び4Bの図解では、pinmap.pmpという名称を有するタブ443が、他のタブの最 上位にある。これが選択されたタブであり、図4A及び4Bに示されているピン マップ・スプレッドシートに対応する。 タブ・フィールド440は、すべてのデバイス・データを1つのワークブック としてセットアップするという重要な効果を図解している。異なるタイプのデー タが異なるツールに入力されていた従来技術によるテスタとは対照的に、すべて のデバイス・データが、1つのエクセル・ワークブックに入力される。すべての データを1つのワークブックにおいて有することによって、1つのスプレッドシ ートにおけるデータ値が別のスプレッドシートに入力されたデータに依存するこ とが可能となる。更に、これにより、テスト・プログラムを開発している人間が 、異なるタイプのデータに対するシートの間で迅速に切り替えを行うことが可能 となる。テスタのためのカスタム・プログラム環境が適切に開発された場合には これらの操作のそれぞれが可能であり得るのに対し、データを1つのプログラミ ング・ツールから別のプログラミング・ツールに送ることの複雑性なしに、この 簡潔性が比較的低コストで達成される。更に、これは、プログラマが迅速 に理解することが概念的に容易であるような態様で実現される。 図5を参照すると、第2のデバイス・データ・スプレッドシートが示されてい る。図5は、チャネル・マップ(channel map)データが入力される間に現れるワ ークステーション110のスクリーン上のウィンドウを示している。チャネル・ マップ・データはピン・マップ・データとは異なっているが、図4A/4Bと図 5とのスクリーン表示は非常に類似していることに注意することは重要である。 図5におけるスクリーン表示は、図4A及び4Bと同じフィールドを有する。 ツール・バー510は、ツール・バー410と同じである。メニュ・バー520 は、メニュ・バー420と同じである。メニュ・バー510におけるいくつかの メニュ・アイテムがメニュ・バー410におけるアイテムと異なることはあり得 る。例えば、いくつかの機能はチャネル・マップ・データにだけ適用可能である ような場合には、そうである。その場合には、これらの機能に対するメニュ・ア イテム又はサブメニュ・アイテムは、メニュ・バー510にだけ現れる。好適実 施例では、表示されているスプレッドシートにおけるテスタ・データのタイプに 依存するこれらの機能は、カスタム・メニュ・アイテム526の下のサブメニュ ・アイテムとして現れる。また、データに依存する機能は、カスタム・ツール・ バー・アイテムを介してアクセスすることもできる。 テスタのためのソフトウェアを実現するのに用いられる市販のスプレッドシー トは、異なるタイプのデータ・シートの定義を許容し、更に、表示されるサブメ ニュ・アイテムが用いられるデータ・シートのタイプに依存することを許容する という特徴を含むことが好ましい。 タブ・フィールド540では、それぞれのタブがその上に2つの部分からなる 名称を有していることに注意すべきである。第1の部分は、スプレッドシートに 対する識別子である。名称の第2の部分、又は、拡張子は、スプレッドシートの タイプである。例えば、図5は、Channel Map.cmpとラベル付けされたタブを示 している。チャネル・マップを定義するタイプであるデータを保持するすべての スプレッドシートは、.cmpという拡張子を 有する。しかし、テスト・エンジニアが特定の識別子を選択する。好適実施例で は、ワークステーション110上で動いている市販のスプレッドシート・プログ ラムによれば、アプリケーションの開発者は、そのタイプのスプレッドシートに 対してどのメニュ・アイテム及びサブメニュ・アイテムがメニュ・バー420上 に現れるかを特定することができる。 次に、図6を参照すると、スペック・シート(spec sheet)に対するスプレッ ドシートが示されている。他のすべてのデータ・ツールと同じように、このスプ レッドシートは、ツール・バー610と、メニュ・バー620と、タブ・フィー ルド640とを有している。タブ・フィールド640は、「SpecSheet,sps」と ラベル付けされた現在のスプレッドシートがハイライトされて示されている。同 様に、SpecSheetは、多くのデータ・セルがロー及びコラムとして構成されてい るデータ・フィールド630を有している。ここで、それぞれのローは、特定の テスト対象デバイスと関連するパラメータに対するシンボルを含む。それぞれの パラメータには、様々な情報が与えられる。図6は、データ・フィールド630 のそれぞれのローにおける7つのコラムを示している。シンボル名に加えて、そ れぞれのローは、値と、その値に対する単位と、シンボルの説明のためのテキス ト・フィールドと、適切に動作するパーツのための最小値及び最大値と、コメン ト・フィールドとを含む。データ・シートはすべて1つのエクセル・ワークブッ クにおいて開発されるので、これらのシンボルは、他のスプレッドシートにおけ る名称によって参照することができる。より重要なこととして、それぞれのシン ボルと関連するパラメータは、他のスプレッドシートにおいても用いることがで きる。更に、スペック・シートの名称は、テスト・インスタンスが開発される際 に、特定のテスト・テンプレートにパラメータとして送られうる。これによって 、テスト・テンプレートが、テスト対象デバイスが仕様の範囲内で動作している かどうか(すなわち、テストに合格なのか不合格なのか)を決定するなど、スペ ック・シート・データと比較することが可能になる。 図6は、1つの仕様シートを示している。1つのジョブの中において、 異なるタイプのテストのために異なる仕様が要求されることもあり得る。従って 、複数の仕様シートを用いることができる。データ・マネジャ316との関係で 後に説明されるように、特定のタイプを有する複数のデータの組を有するための 用意(provisions)がなされている。 図7は、エッジ・セット(edge set)を定義するのに用いられる別のデバイス・ データ・シートを示している。図1に示されているように、テスタ112は、複 数のピン124を含む。それぞれのピンは、それぞれがエッジを発生しエッジ発 生器と称される複数の回路を含む。エッジは、ピン124による何らかの作用を 計時するのに用いられる信号である。例えば、ピンによって生じるパルスの開始 及び停止時間などのパラメータを制御する4つのエッジ信号が存在しうる。それ ぞれのエッジが発生される時間は、プログラムすることができる。1つのピンに 対するそれぞれのエッジがプログラムされる時間は、エッジ・セットとして定義 される。エッジが特定のピンに対してプログラムされる時間はジョブの間に変化 しうるので、それぞれのピンに対して複数のエッジ・セットがあり得る。 図7は、1つのピンに対するエッジ・セットを示している。コラム750は、 エッジ・セットが特定されるピンは、「QdataPins」と称されることを示してい る。他のピンに対するエッジ・セットは、データ・フィールド730にローを更 に加えることによって追加することが可能である。コラム752は、ピンQdataP insに対する1つのエッジ・セットは、「LooseFunction 1」と称されることを示 している。データ・フィールド730にローを加えることによって追加すること が可能である。 コラム754及び756は、ピン124をセットアップし所望の信号を発生す るのに必要なそれ以外の情報を与える。コラム758は、そのピンの中のエッジ をリスト化し、隣接するコラム760及び762は、これらのエッジが生じる時 間に対する値を与える。 コラム760及び762は、市販のスプレッドシートを用いてテスタ112を 制御することの有益な長所を図解している。スプレッドシートは、自動的に方程 式から値を計算することができる。従って、コラム762に よって、それぞれのエッジに対する時間値が、他のスプレッドシートにおいて定 義された他の定数又はパラメータとの関係で方程式として特定されることを可能 になる。コラム760は、そのフィールドに対してプログラムされた数値がコラ ム762における方程式を評価することによってスプレッドシート・プログラム によって自動的に計算されることを示している。 セル766、768、770及び772は、市販のスプレッドシート・プログ ラムを用いることによって得られる他の効果を示している。データ・フィールド 730におけるドロップ・ダウン・リスト・ボックスは、データ・フィールド7 30におけるデータ・セルの表示又は値を制御するのに用いることができる。こ れらのセルは、ドロップ・ダウン・ボックスとして実現されるが、これは、エク セルにおける標準的なオブジェクトである。それぞれのドロップ・ダウン・ボッ クスは、固定された数の値の中の1つを有することができる。これらの値は、固 定されたリストとして、又は、ワークブックの中のスプレッドシートの1つに入 力された値を参照して特定することができ、入力された値が変化すると、これら の値も変化する。 テスタ112に多数のピンが与えられると、エッジ・セット・スプレッドシー トは、潜在的に多くのローを含みうる。セル766、768、770及び772 は、一度に表示されるデータの量を制限するのに用いることができる。セル76 6は、特定のピン又はピン・グループの名称を含む。そのピン又はグループ内の 複数のピンに対するエッジ・セットだけが、データ・フィールド730の中に表 示される。同様にして、セル768及び770は、特定のタイミング・モードと 選択された数のエッジだけとに対するエッジ・セットを表示する。セル772は 、同様に、ドロップ・ダウン・ボックスであるが、値コラム760に入力される 値に対する単位を特定するのに用いられる。 図8Aは、エクセル・ワークブック内の別のデータ・シートを示している。図 8Aにおけるシートは、タイム・セットに対するデータを与えており、他のデー タ・シートと同じフォーマットを有している。タイム・セッ トは、エッジ・セットの集合であり、ピン124のそれぞれに1つが対応する。 複数のタイム・セットが定義され、異なるプログラムされた時間が1つのジョブ の中で用いられることも多い。 図8Aは、タイム・セットの名称の上にデータの入力を許容するコラムを示し ている。周期は、そのタイム・セットとピン又はピン・グループと関連している 。それぞれのピン又はピン・グループに対しては、テーブル内に1つのローが存 在する。それぞれのピン又はピン・グループに対しては、そのピンのエッジに対 するプログラムされた時間がエッジ・セット又は方程式のどちらかをを参照する ことによって特定されることを可能にするコラムが存在する。図8Aはまた、ド ロップ・ダウン・ボックス832A及び834Aを示している。ドロップ・ダウ ン・ボックス832Aは、どのタイム・セットが表示されるかを選択する。ドロ ップ・ダウン・ボックス834Aは、すべての時間値が表示される単位を指定す る。 図8Bは、市販のスプレッドシート・プログラムを用いる結果として得られる 別の効果を図解している。複数のスプレッドシート・テンプレートを、同じデー タに対して定義することができる。同じスプレッドシートに対して複数のテンプ レートを有することによって、同じデータが異なって表示され、それにより、ユ ーザは、現在自分が作業しているタスクが何であってもそれに対して最も便利な フォーマットでそのデータを見ることが可能になる。図8Bは、エッジ・セット ・データを表示する別のテンプレートを示している。これは、ドロップ・ダウン ・ボックス832Aのようなドロップ・ダウン・ボックス832Bを有する。こ れはまた、データ・フィールド830Aと類似のデータ・フィールド830Bを 有する。しかし、データ・フィールド830A及び830Bにおけるコラムは、 異なる態様で構成されている。 図8Aに示されているテンプレートは、例えば、ピン・グループを特定のタイ ム・セットに割り当てるのに用いられ得る。図8Bにおけるテンプレートは、例 えば、それぞれのピンがどのエッジに割り当てられているかを判断するのに用い られ得る。好適実施例では、図8Bのテンプレートは、 リード・オンリ・テンプレートである。 図9は、ユーザによって一貫したフォーマットで容易に入力されうる更に別の タイプのデータを示している。図9は、他のスプレッドシートに用いられるのと 同じツール・バーとメニュ・バーとを示している。図9は、様々な名称のパラメ ータと関連するレベルを特定するスプレッドシートを示している。これらのパラ メータは、同様に、様々の測定値又は刺激信号と関連する電圧及び電流レベルで ある。エクセルによれば、これらの名称付きのパラメータは、他のスプレッドシ ートにおける名称によって、参照されることが可能である。また、パラメータの 値を、他の名称付きの値を組み入れている方程式によって特定することも可能で ある。 図10Aを参照すると、本発明の効果の1つを見ることができる。図10Aは 、「フロー・タイプの」スプレッドシートを表している。図10Aは、テスト「 インスタンス」が特定のテストに対して定義される態様を表す。半導体テスト・ システムは、一般的に、限定された数のものに対するテストを行うのに必要とさ れる。例えば、このテスト・システムは、パターン「バースト」をランさせるこ ともありうる。バーストの間には、テスタは、特定された刺激を与え、いくつか の予測される応答をチェックする。刺激及び応答に対する値は、「ベクトル・フ ァイル」において特定される。ベクトル・ファイルの中の異なる値は、異なる種 類のパーツをテストする、又は、同じパーツ上で異なるテストを行うのに用いら れる。しかし、ベクトル・ファイルを用いるためにテスタが実行する動作は、そ の中の特定のデータ値とは関係なく、同一であるのが一般的である。 テスト・システムがパターン・バーストを実行するのに経験する一連のステッ プは、「テンプレート」と称される。テンプレートは、特定のベクトル・ファイ ル又は必要とされるそれ以外のデータの記述のためのブランク・スペースと同等 のプログラミングを用いて実行されなければならない一連のステップである。こ のようにして、テンプレートは、それが用いる特定のデータ値がいったん特定さ れると、任意のテストに対して用いることができる。データが特定のテンプレー トと共に用いられるために特定さ れると、このテンプレートの「インスタンス」が作成される。インスタンスは、 プログラムにおいて用いることができる。 テスタの製造業者は、一般に、その制御ソフトウェアの一部として複数のテス ト・テンプレートを提供する。テスト・テンプレートは、パターン・バーストを ランしたり、漏れ電流の測定を行ったり、テスト対象デバイスのリード上の直流 レベルやそれ以外のテスタ動作をチェックするのに用いられる。後で更に詳しく 説明されるように、好適実施例のテンプレートは、ビジュアル・ベーシックで書 かれているが、これは、スプレッドシート・プログラムであるエクセルと関連す るプログラミング言語である。それぞれのテンプレートは、ビジュアル・ベーシ ックの手順として書かれ、データ値は、手順への引数(argument)として特定さ れる。 図10Aは、プログラム・インスタンスが作成される方法を図解している。デ ータ・フィールド1030は、テスト・ジョブにおいて用いられ得るインスタン スの名称をリスト化するコラム1032Aを含む。コラム1032Bは、インス タンスを作成するのに用いられるテンプレートの名称を含む。 図10Bは、特定のデータがあるテンプレートとどのように関連するかを示し ている。エクセルは、ダイアログ・ボックス1036をデータ・フィールド10 30における特定のセルと関連させることを可能とするプログラミング上の特徴 を含む。セルにおける又はどれか別のセルにおける値に依存して、異なるダイア ログ・ボックスを選択することができる。例えば、図10Bでは、ダイアログ・ ボックス1036は、セル1034と関連するように示されている。セル103 4は、特定のデータ値をセル1035の中にリスト化されたテンプレートと関連 付けることによって、作成されるインスタンスの名称である。この例では、ダイ アログ・ボックス1036のフォーマットは、セル1035にリスト化されたテ ンプレートに基づいて選択される。 ダイアログ・ボックス1036は、領域1038及び1050と含んでおり、 それぞれが、セル1035におけるテンプレートが関連付けられる いくつかのデータ値がリスト化されるフィールドを備えている。「30Mhzfunc」 とラベル付けされるテスト・インスタンスを作成するために、ダイアログ・ボッ クス1036の中の値は、引数として、「functional」という名称のテンプレー トに送られる。 図10Bは、データ・フィールド1030が多くのローを含むことを示してい る。テスト・ジョブにおいて必要とされるそれぞれのテスト・インスタンスに対 して、1つのローが存在する。「Functional」と命名されたテンプレートは2つ の異なるインスタンスを作成するのに用いられる。異なる引数をダイアログ・ボ ックス1036において特定することによって、同じテンプレートを用いて異な るインスタンスが作成される。 図10A及び10Bは、テスト・フローを特定する際のステップを示している 。しかし、このユーザ・インターフェースは、図4ないし9のデータ・スプレッ ドシートのためのユーザ・インターフェースと同じであることに注意すべきであ る。従って、プログラム・フローを特定するために、特別のトレーニングは何も 必要とならない。また、ダイアログ・ボックス1036に入力される引数は、他 のスプレッドシートの名称か、又は、スプレッドシートの中で定義される値であ ることがほとんどである。従って、デバイス・データは、プログラム・フロー情 報との組合せが容易であり、ソフトウェアの開発時間をかなり節約することがで きる。この利点は、デバイス・データとプログラム・フローとの両方がスプレッ ドシートにおいて表されているという事実に起因する。 他のプログラム・フロー情報は、図11Aに示されているスプレッドシートに 入力される。インスタンスがいったん定義されると、実行される順序が特定され なければならない。更に、インスタンスがテスト・ジョブの中のテストを記述す るので、テスト・インスタンスが合格するか又は失敗する場合にどのイベントが 生じるかに関する情報が提供されなければならない。この情報の全体が、他のフ ローやデバイス・データ・スプレッドシートと同じインターフェースを用いて、 スプレッドシートの中にユーザによって入力される。 データ・フィールド1130の中には、テスト・ジョブにおけるそれぞれのス テップに対して特定されなければならない情報を保持する複数のコラムが存在す る。データ・フィールド1130におけるそれぞれのローは、テスト・ジョブに おける1つのステップに関する情報を保持している。コラム132は「OPCODE」 とラベル付けされる。このコラムは、この特定のステップにおいて何が起こるの かを指示する。一般的に、OPCODEコラム132におけるそれぞれのエントリは、 テスト・インスタンスである。 コラム1134は、テストにおけるステップ番号を含む。ステップ番号は、テ スト・システムがそのテストの実行に関する報告に用いることができる。例えば 、欠陥がテストの間に検出された場合には、欠陥が検出されたステップ番号を報 告することができる。 コラム1136は、合格ビン番号(pass bin number)を含む。それぞれのデ バイスがテストされる際に、テスタは、一般に、テスト対象デバイスに、テスト の結果に対応する「ビン」番号を割り当てる。ビン番号は、パーツのグレード付 け(grading)を示す。例えば、あるビン番号は、デバイス仕様の程度まで動作 するパーツを表す。他のビン番号は、欠陥があり役に立たないパーツを示す。更 に別のビン番号は、仕様の範囲内の動作はしないが、程度を落とした仕様の程度 であれば十分に機能を果たすデバイスを示す。テスト・エンジニアが、ビン番号 とその意味とを割り当てる。 コラム1138も同様である。これには、テストが失敗した場合に割り当てら れるビン番号を含む。 データ・フィールド1130は、示されている範囲を超えたそれ以外のコラム を含みうる。図11Bは、より複雑なフロー制御のためのより多くのコラムの情 報によって拡張されたデータ・フィールド1130Bを有するフロー・シートを 示している。例えば、データ・フィールド1130Bは、フラグ・フィールド1 156及び1158を含む。フラグ・フィールド1156は、オプションで、あ るステップで特定されたテストに合格した場合に「真」(true)であると設定され るフラグ、すなわち、ブール変数(boolean variable)と同じものを含む。フィ ールド1158も同様であ るが、テストが不合格であった場合に設定されるフラグの名称を含む。 データ・フィールド1130Bにおける他のコラムは、複数のデバイスが同時 にテストされるような場合のより複雑なフローに用いられ得る。例えば、コラム 1152は、任意のローにおいて特定されたステップがどのデバイスに適用され 得るかを示している。それまでのすべてのテストに合格してきたデバイスにだけ 他のテストを実行することがありうる。また、先行する1回のテストに合格しな かったデバイスにだけ他のテストを実行することがありうる。 コラム1154は、テストの結果をどのデバイスに適用すべきかを特定する。 これらの示されているもの以外のコラムを用いることもありうる。そのステッ プにおけるテスト・インスタンスの実行の前に、あるブール表現の評価が与えら れている条件フィールドを含むコラムもありうる。このようにして、条件的なプ ログラム・フローを実現することができる。この機能は、それがブール表現をと ることを許容することによって、コラム1152と組み合わせることができる。 真であると評価されるブール表現は、テストがすべてのデバイスに対して実行さ れることを示す。逆に、表現が偽(false)であると評価される場合には、テス トはすべてのデバイスに対して行われるとは限らない。ブール表現をそれぞれの デバイスに対して特定できる場合には、混合的(ハイブリッド)な状況もありう る。図11Bの例では、コラム1152は、「すべて」に関して一定値を有する 何らかの値を含む。そのような値は、そのローにおいて参照されたテストがすべ てのデバイスに対して無条件的に実行されるべきであることを示している。しか し、他のローは、先行するローにおいてコラム1154又は1158にリスト化 されているフラグを参照するブール表現を示している。更に、これは、セルがそ の中ではある値に設定されデバッギング・ブレーク・ポイント(debugging brea k point)のように作用するコラムを含みうる。 図11Bに示されている情報は、既存のテスタをプログラムするために特定さ れなければならない情報と類似している。しかし、図11Bのフロ ー情報は、複数のローとして構成され、それぞれのローは、それぞれの中に複数 の種類の情報を有している複数のコラムを含む。フロー情報をテキスト・ファイ ルの中に記憶するのと比較すると、市販のスプレッドシート・プログラムを用い ることから帰結されるロー及びコラムの構成は、プログラマにとってははるかに 直感的であり、それによって、プログラマは、フローをより迅速にプログラムす ることを学ぶことになる。第2の利点は、図11Bに示されているフロー情報を 操作するための構造及びツールが、市販のスプレッドシート・プログラムによっ て提供されるということである。このようにして、ソフトウェアの開発をより迅 速に行うことができる。 図11Cは、フロー制御情報を特定することができる別の方法を示している。 図11Cは、低級の制御ソフトウェア314(図3)のオプションを修正するオ プションを特定するのに用いることができるポップアップ・オプション・ボック スを示している。オプションは、ダイアログ・ボックスの中の選択肢の上をクリ ックすることによって、人間であるテスト・エンジニアによって特定される。例 えば、「すべてを実行せよ」というオプションによれば、1つのステップが失敗 した場合であってもフロー制御ソフトウェア314にプログラム・フローにおけ るすべてのステップを動作させることになる。このオプションが選択されないと きには、特定のパーツのテストは、1つのステップが失敗すると、停止すること になる。別の例としては、「最終のものを印刷せよ」というオプションの場合に は、テスト・ジョブが終了すると、テストの結果が印刷されることになる。選択 されないときには、結果は印刷されないが、ユーザによって読み出されるまで記 憶されていることになる。更に別の例として、「計時を実行」(Do Time)のオプ ションによると、フロー制御ソフトウェアは、ジョブの開始とジョブの終了の時 間を記録し、それによって、ジョブに要した時間の長さを記憶することができる 。以下で説明されるように、フロー・データ・シートは、フロー・データ構造に 変換される。特定されたオプションによって、この変換がなされる実際の方法が 影響を受ける。 図12A及び12Bは、テスト・テンプレートのサンプルを示している。 テスト・テンプレートは、ビジュアル・ベーシックで書かれているが、このビジ ュアル・ベーシックは、スプレッドシートに添付されたマクロを書くのに用いる ことができるプログラミング言語である。それぞれのマクロは、プログラミング 言語における手順として用いることができ、従って、テスト・テンプレートとし て用いることができる。 図12A及び12Bでは、複数の重要なポイントを見ることができる。第1に 、全体的なプログラミング環境は、情報をデバイス・データとフロー・スプレッ ドシートに入力するのに用いられるものと同一である。同じツール・バー121 0と、メニュ・バー1220と、タブ・フィールド1240とを有している。し かし、データ・フィールドの代わりに、テスト・テンプレート・スクリーンは、 複数のラインのプログラム・コードを含む。 プログラム・コードのそれぞれのラインは、テスタ製造業者によって開発され た他の手順をコールすることができるし、又は、ユーザが書くこともできる。ラ イン1250及び1254は、テスタ製造業者によって提供される機能へのコー ルを表している。ライン1250では、「PinHi」は、デバイス・ドライバ32 8(図3)の1つにアクセスし、特定されたピンをハイ(high)状態に設定する 手順である。ライン1254では、「StartPatgen」は、タイミング及びシーケ ンシング回路120(図1)の動作を開始させるのと同じ機能である。 図12A及び12Bは、また、デバグ・ツール・バー1232を示している。 新たな半導体デバイスが最初に開発されているときには、デバイス・エンジニア は、このデバイスの実際のパフォーマンスを測定しその設計が適切であるかどう かを評価することが必要である。欠陥が検出されたときには、デバイス・エンジ ニアは、何がうまくいかなかったのかを正確に割り出すことを望む。そのために 、デバイス・エンジニアは、テスタを「デバグ・モード」で用いる。デバイス・ エンジニアは、テスタが一度に1つの動作を実行するように制御し、それによっ て、それぞれの動作の結果を解析できるようにする。デバグ・ツール・バー12 32は、好ましくは、市販のスプレッドシート・プログラムの一部として提供さ れている。 デバグ・ツール・バー1232は、様々なデバグ機能を実行するツールを含む 。例えば、ツール1234は、コードにおけるブレーク・ポイントを設定する。 ライン1254は、そのラインにおいてブレーク・ポイントが設定されているこ とを示すためにハイライトされる。テストを実行する間には、ブレーク・ポイン トのマークが記されているラインを実行する前に、実行は停止する。とのときに 、デバイス・エンジニアは、テスタ又はデバイスの状態をチェックすることがで きる。 ブレーク・ポイントにおいて実行が停止したときには、デバグ・ツール・バー 1232上の他のツールが、実行がどのように継続するかを制御する。例えば、 ツール1236によって、実行がそれ以後のすべての手順までステップ・バイ・ ステップで進行することが可能になる。対照的に、他のツールでは、手順をスキ ップしてとばすことが可能になるし、更に別のツールによると、ある値が検査さ れることが可能になる。このようにして、デバイス・エンジニアは、デバイスの 動作について多くのことを観察することができる。同じデバグ・ツールは、テス ト対象デバイスのためのテストを開発しているテスト・エンジニアによって用い られることも可能である。有意義なことに、これらの能力のすべては、デバグ・ ツールを備えたプログラミング言語と関連付けされている市販のスプレッドシー ト・プログラムを用いることによって、非常に低コストで提供され得る。 テスト・ジョブのためのデータ及びフロー情報がテスト・エンジニア又はシス テムのそれ以外のユーザによって入力されると、ワークステーション110内の ソフトウェアを動作させ、テスト・ジョブを制御することができる。図3に示さ れているように、テスト・ジョブの実行は、ユーザ入力に応答して、フロー制御 ソフトウェア314によってなされる。図解されている実施例では、フロー制御 ソフトウェア314は、C++言語として実現されている。より詳しくは、それ は、DLLである。 図13は、フロー制御ソフトウェア314の動作を説明する流れ図である。フ ロー制御ソフトウェア314は、アイドル状態1310から始動する。フロー制 御ソフトウェア314は、ソフトウェアへの入力に基づき、 3つの異なる作用の中の1つを実行することができる。フロー制御ソフトウェア 314がとりうる1つの作用として、テスト・ジョブのためのデータをテスト・ ジョブの間にアクセスすることができるデータ構造に構成することがある。図1 0及び11と共に既に説明したように、テスト・ジョブは、インスタンスのリス トとして特定され、インスタンスは、特定のデバイス・データとあるテンプレー トとの関連付けによって特定される。更に、特定のインスタンスが実行される順 序は、プログラムのフロー・データ・シートに入力される条件によって影響され る。 ユーザ・コマンドに応答して、フロー制御ソフトウェア314は、実行される それぞれのテンプレートとそのテンプレートの実行のために用いられるデータと をリスト化するジョブ制御データ構造を構築する。テンプレートの実行順序を条 件から決定することができる場合には、それは、テンプレートがコア・ブロック 制御データ構造の中に配置される前に決められる。しかし、テンプレートの実行 順序がテスト・ジョブが実行されるまで決められない場合には、ジョブ制御デー タ構造は、単に、テンプレートが実行される順序を決定するのに評価される条件 に関する情報を含む。ジョブ制御データ構造は、インデクス付きのリストであり うるが、それ以外の実現例も可能である。 ジョブ制御データ構造を構築する際には、実行は、ステップ1312に進む。 ステップ1312では、第1のテンプレートが決定される。テンプレートは、フ ロー・データ・シートにおける第1のインスタンスから決定される。このインス タンスと関連するテンプレートは、インスタンス・データ・シートから決定され る。テンプレートに対するノーテーション(記号、notation)は、ジョブ制御デ ータ構造に入力される。好適実施例では、このノーテーションは、テンプレート を実行するようにコールするサブプログラムの名称を示す。 ステップ1314では、選択されたテンプレート・サブプログラムのコールの 際に送られるデータが識別される。どのデータを用いるべきかは、インスタンス ・データ・シートから決定される。 ステップ1316では、特定のテスト・テンプレートのための用いられるデー タのIDがジョブ制御データ構造に追加される。図3に示されているように、デ ータ・マネジャが、データを、テスタ112(図l)に与えるために、エクセル ・ワークブックからデバイス・ドライバに送る。後で詳細に説明されるように、 データ・マネジャ316は、テスト・ジョブの間のテスタ112に送られる特定 のデータを保持するパラメータ・データ構造をアセンブルする。パラメータ・デ ータ構造におけるデータは、「コンテナ」(容器、containers)の中に構成される ことにより、データに正しい「コンテナ」の名称を提供することによって、正しい データがパラメータ・データ構造から選択されることが可能になる。フロー制御 データ構造に加えられる引数は、データ・マネジャ316がパラメータ・データ 構造から選択する正しい「コンテナ」を特定する。この情報は、好適実施例では 、データ・シートに与えられた名称に基づいて選択されるテキスト・ストリング として表される。コンテナには、同じテキスト・ストリングが関連付けされる。 しかし、コンテナを識別する別の方法を、代わりに用いることもできる。 「コンテナ」の名称を表す引数に加えて、データ値である引数が特定のテンプ レートによって用いられ、更に、おアクチュエータ・データ構造に追加されるこ ともありうる。 テンプレートを識別する情報とデータ値とがジョブ制御データ構造に追加され ると、実行は、ステップ1318に進む。ステップ1318では、フロー・シー トにおいて特定された次のテンプレートを実行するための条件が決定される。こ の条件は、実行すべき次のインスタンスでありうるフロー・シートにおけるすべ てのありうるインスタンスを決定するために計算される。更に、それぞれのイン スタンスが次になる条件が、論理方程式として表現される。テスト・ジョブの間 に評価されなければならない値に対して、変数が用いられる。これらの論理的表 現は、ジョブ制御データ構造にステップ1320において入力される。これらの 論理的表現は、伝統的なプログラミングにおけるブランチング(分岐)命令と何 が等しくなり うるかの条件として用いられる。 フロー制御シートの1つのローに対する情報が入力されると、実行は、ステッ プ1322に進む。ステップ1322は、フロー制御データ・シートにローが更 にあるかどうかをチェックする。あるならば、実行は、ステップ1312までル ープする。フロー制御データ・シートにそれ以上ローがない場合には、フロー制 御ソフトウェア314は、アイドル状態1310に戻る。 フロー制御ソフトウェア314は、そのアイドル状態にあるときには、ユーザ からテスト・ジョブを実行せよとのコマンドを受け取ったり、又は、操作デバイ ス114から、テスト対象デバイスがロードされテストの準備ができていること を示す開始信号を受け取ったりする。テスト・ジョブを実行するようにとのコマ ンドを受け取ったときには、実行は、ステップ1324に進む。ステップ132 4では、ジョブ制御データ構造からの第1のテンプレートが読み出される。テン プレートは、ジョブ制御データ構造からの特定の引数を伴うサブプログラムとし てコールされる。次に、テンプレート・サブプログラムが実行され、フロー制御 ソフトウェア314に戻る。 テストを表すそれぞれのテンプレート・サブプログラムは、テストが合格だっ たのか不合格だったのかを指示する。テストの結果が指示されうる1つの方法と して、テンプレート・サブプログラムが、値を、そのサブプログラム・テンプレ ートによって行われたテストの結果を指示するコール・プログラムに戻すように コード化されているかどうかである。また、テンプレートか、又は、適切な場合 にデバイス・ドライバは、テスタの状態をチェックしてテストが合格であった不 合格であったかを判断するフローDLLの中の機能をコールすることができる。 ステップ1326では、テスト・ジョブの状態は、コールされたばかりのテスト ・テンプレートによって戻された値に基づいて更新される。例えば、テストは、 エラーを検出することなく(すなわち、テストは合格)テスト・テンプレートが 実行されたか又はエラーが検出されたかを示す。場合によっては、エラーは、 テスト対象デバイスのビニング(binning)を容易にする数値を有することがあ る。 ステップ1328では、テストの新たな状態を用いて、ステップ1328にお いてジョブ・フロー・データ構造に記憶された論理的表現を評価する。この評価 に基づき、次のテンプレートが、ステップ1320において記憶されたブランチ ング情報を用いて選択される。 実行は、次に、ステップ1330に進む。ステップ1330では、実行すべき 別のテンプレートがあるかどうかが評価される。ある場合には、ジョブ実行は、 ステップ1324へのループ上に戻る。それ以上のテンプレートがない場合には 、フロー制御ソフトウェア314は、そのアイドル状態に戻る。 好適実施例では、テスト・ジョブの結果は、テストが終了したときに、ユーザ 又は操作デバイス114に与えられることはない。データを提供すると、テスト ・ジョブの実効速度を低下させることになる。従って、好適実施例では、それぞ れのテスト・ジョブの実行結果は、リクエストがなされるまで、コンピュータ・ メモリに記憶される。結果をリクエストすると、フロー制御ソフトウェア314 が、アイドル状態1310からステップ1332に移動することになる。ステッ プ1332では、結果を人間であるユーザのために表示したり、操作デバイス1 14に送ったりすることができる。結果は、ユーザに都合の良い態様又は操作デ バイスに対して適切な態様で表示のためにフォーマット化することができる。 データ・マネジャ316に関する詳細をここで述べることにする。データ・マ ネジャ316は、一連のC++「クラス」から構成されている。クラスは、関連 する状態図(state diagram)を有さない。クラスは、他のプログラミング要素 からのリクエストに応答して動作を実行する。クラスは、関連する「方法」を有 する。それぞれの方法は、従来のプログラミング機能のようにコールして、クラ ス内に記憶されているデータにアクセスすることができる。 C++の方法は、他のC++プログラムによって直接的にコールされる ことができる。図3の実施例では、デバイス・ドライバ328は、C++手順と して実現されているので、方法をコールしてデータ・マネジャ316内のデータ を直接に読み出す又は変更することができる。エクセル・ワークブックは、C+ +ではないので、データ・マネジャ316からのデータを記憶したり検索したり する方法をコールするのにAPI(Application Program Interfaces)を必要と する。しかし、APIは、広く知られたプログラミング構造である。データは、 ビジュアル・ベーシックのマクロを含むエクセル・プログラムと「SafeArray」 と称されるフォーマットのデータ・マネジャ316との間でやりとりされる。Sa feArrayは、市販のスプレッドシート・プログラムであるマイクロソフト・エク セルと共に用いることができるマイクロソフトOLE(Object Linking and Emb edding Language)の一部である。 データ・マネジャ316は、「コンテナ」と称される。一連のメモリ構造とし て実現される。コンテナのフォーマットは、記憶されるデータのタイプに依存す る。例えば、ピン・マップ・データは、レベル・シート・データを保持している コンテナとは異なるフォーマットでコンテナに記憶されている。コンテナのフォ ーマットは、記憶される情報に基づき、既知のプログラミング技術を用いて定義 される。 コンテナは、入れ子状(nested)にすることができる。例えば、ピン・マップ に対するコンテナ内部には、複数のピン・グループが存在しうる。それぞれのピ ン・グループの中には、複数のピンが存在しうる。この例では、コンテナは、3 つのレベルの入れ子構造(nesting)を有している。しかし、任意のレベルの入 れ子構造を採用することができる。 C++STL(スタンダード・テンプレート・ライブラリ)は、クラス内のデ ータを操作するのに有用な方法を含む。これらの方法の中の2つとして、MAP及 びVECTORがある。一般に、「コンテナ」は、コンピュータ・メモリの中に、論理 的な順序ではなくプログラムによって作成された順序で配分されている。しかし 、情報の検索をより容易にするために、コンテナの名称とメモリ内のその物理的 位置との間に1組の「キー」(鍵)が作成 される。これらのキーは、正確なキーを見つけることによって所望のデータを見 つけることができるように、インデクスとして機能する。 MAPの方法は、バイナリ・ツリー(二進木、binary tree)のように分岐してい る1組のキーを作成する。VECTORの方法は、リストのような、順序付けがなされ たインデタスを作成する。MAPの方法の長所は、ランダムなアイテムを迅速に発 見することができるということである。MAPの方法の短所は、順序付けが失われ ているということである。例えば、ピンマップ・データ・シートにおけるピンの 順序は、テスト・プログラムにとって重要な情報である。MAPの方法だけを用い ると、結果として、順序が失われてしまう。データをデータ・マネジャ316に 記憶する方法は、MAP及びVECTORのSTLの組合せを用いて、それぞれの長所を達成 している。 記憶及び検索機能に加えて、データ・マネジャ316は、必要となるデータ管 理機能を実行する他の方法を含む。追加的な機能は、SELECT DEFAULT機能である 。既に述べたように、1つのテスト・ジョブに複数のピン・マップが存在するこ とがありうる。SELECT DEFAULTの方法は、どのデータの組をデフォルトとして用 いるかを指示する。例えば、テスト・ジョブが2つのピン・マップPIN MAP1及び PIN MAP2を有する場合には、PIN MAP1が、デフォルトに設定される。ピン・マッ プ・データを検索する検索する検索機能をどのように用いても、検索動作が実行 されるときにPIN MAP2が明白に指示されていなければ、データは、PIN MAP1から 取得される。 データ・マネジャ316には、SELECT ACTIVEの方法もまた、含まれうる。こ の方法は、SELECT DEFAULTと類似しているが、用いられ得るコンテナを特定する 。 含まれうる別の方法に、REPLACEの方法がある。既に述べたように、データ・ マネジャ316は、テスト・ジョブが特定のデバイスをテストするデータのため の一連のコンテナである。テスト・ジョブの開発の間に、又は、特定のジョブに おけるテストの間に、そのデバイスに対するデータのいくつかを変更することが 望ましい場合がありうる。REPLACEの方法によれば、1組のデータが別のものと 交換されることが可能となる。例えば、 ユーザがテスト・ジョブの開発プロセスの一部としてデバイスのピン・マップ・ スプレッドシートを編集した場合には、ピン・マップ・データ・シートと関連す るマクロは、自動的にREPLACEの方法をコールして、テスト・ジョブが実行され るときに新たなデータが用いられることを確認する。データが変更されたときに 自動的に実行されるのではなく、REPLACEの方法は、ユーザ入力に応答して動作 するマクロによってコールされる。 データ・マネジャにおけるデータがデバイス・ドライバ328によって変更さ れる場合には、同様の方法が必要となる。既に述べたように、データ・マネジャ 316は、本質的に、エクセル・ワークブックの中に維持されるデータとは別個 のデータのコピーを維持する。エクセル・ワークブックの中の変更は、REPLACE の方法によって、データ・マネジャ316において反映される。データ・マネジ ャの中のデータがワークブックの内部においてではなく変更された場合には、RE PLICATEの方法が必要となる。例えば、デバイス・ドライバたデータ・マネジャ におけるコンテナの1つの中の値を変更する場合には、データ・マネジャ316 は、REPLICATEの方法をコールすることになる。 REPLICATEの方法は、現在のデータをデータ・マネジャ316から読み戻すエ クセル・ツールをコールする。データは、適当なエクセルのスプレッドシートの 中にロードされ、これによって、ワークブックと関連するエクセルの機能は、変 更されたデータに基づいてすべてのデータを再計算することになる。そして、変 更されたすべてのスプレッドシートにおけるデータは、データ・マネジャにおい て、交換される。データ・マネジャによって記憶されたデータを変更する動作を 実行するテスト・テンプレートは、実行を終了すると、REPLICATEの方法を用い る。動作 以上で、テスタ112を制御するソフトウェアの構造を説明した。このソフト ウェアの多くの使用が可能である。1つの可能性のある使用法は、最初にテスト ・ジョブを開発し、次に半導体デバイスを製造する間にそのテスト・ジョブを反 復的に実行するように用いることである。また、可能 性のある使用法は、デバイス・エンジニアが、必要であれば、最初にテスト・テ ンプレート320を編集することであろう。非常に少数のテスト・テンプレート で多くの種類のデバイスをテストすることができることが意図されている。従っ て、テスト・テンプレートの編集が要求される可能性は低い。 半導体テスト・デバイスの開発者が選択する可能性のある次のステップは、デ バイス・データとフロー開発ツール310(図3)とを用いることである。これ らのツールは、開発されている特定のデバイスに対してエクセル・ワークブック を開くことによってアクセスすることができる。特に、これらのツールは、図4 ないし11に示されているスプレッドシートを表している。マクロ又はウィザー ドを用いて、これらのフォームに関してユーザを誘導することができる。有効化 マクロを、特定のシートに対するデータ・エントリが完了したときに動作させ、 他のデータと一貫性のないデータはすべて検出され訂正されるようにすることが できる。例えば、プログラマは、ピン・マップにない特定のピンに対するデータ 値を入力することができる。しかし、そのような入力は、エラーを示すのであり 、その理由は、そのピンがピン・マップから偶然に取り去られたからであったり 、又は、特定のピンに対して誤った名称が用いられたからである。 好適実施例では、ソフトウェアは、データが入力されなかった又は変更され有 効化されなかった場合にはテスト・ジョブが動作しないようにコード化される。 有効化は、ユーザによって、カスタム・メニュ・バーから選択されうる。 データがいったん入力されると、ユーザは、「コンパイル」のオプションを選 択する。好適実施例では、このコンパイル・オプションは、フロー・データ・シ ートに関連するカスタム・メニュ・アイテムから選択される。コンパイル・オプ ションによって、フロー制御ソフトウェア314が、ジョブ・フロー・データ構 造を構築することがトリガされる。また、これによって、データ・マネジャ31 6内の方法が、エクセル・ワークブックからデータ・マネジャにデータを転送す ることになる。 開発環境では、テスト・エンジニアは、次に、プログラムのデバッギングのプ ロセスを開始する。おそらく、このエンジニアは、デバイスをテスタ112に接 続する。また、テスト・エンジニアは、シミュレータを用いてテスト・プログラ ムをデバッギングする可能性もある。シミュレータとは、それに接続されたデバ イスを用いてテスタ112の動作をシミュレートするソフトウェア・プログラム である。 エンジニアは、既に述べたようなデバッギング・ツールを用いて、プログラム を検査することがありうる。テスト・エンジニアは、プログラムにおけるエラー を検出する際に、テスト・テンプレートを編集することもありうる。テスト・テ ンプレートは翻訳された言語であるビジュアル・ベーシックで書かれているので 、テスト・ジョブをリコンパイル(recompile)することなく、この変更は直ち に効力を生じることができる。 また、テスト・エンジニアは、デバイス・データ構造の1つにおいてデータの いくつかを変更する必要が生じることもある。テスト・エンジニアは、図4ない し11に示されたスプレッドシート・スクリーンを介してデータにアクセスし得 る。次に、有効化プロセスが再び動作する。有効化プロセスの一部として、REPL ACEツールが自動的にランする。REPLACEツールを自動的に用いることによって、 データ・マネジャ316が日付データまでを提供することが保証される。 デバッギングの一部としてテスト・エンジニアがプログラム・フローを変更す る場合には、フローは、新たなジョブ・フロー構造が構築され得るようにリコン パイルされなければならない。 要求された変更がデバイス・データ、テスト・テンプレート又はデバイス・フ ローに対してなされると、テスト・ジョブを再度ランさせることができる。テス ト・プログラムに変更を加えるのに要する時間は、非常に短いことがありうる。 従来技術によるいくつかのシステムでは、テスト・ジョブに対するどのような変 更でも、非常にわずかなものであっても、完全なリコンパイルが要求された。結 果として、そのような変更でも、1時間程度を要することがあった。本発明では 、テンプレートへの変更は、リコ ンパイルを全く要求しない。デバイス・データへの変更がなされると、変更され たデータが再ロードされることだけが要求される。変更された場合にコンパイル されなければならないのは、プログラム・フローだけである。コンパイルはフロ ーだけを扱うのであって、すべてのデータを扱うとは限らないので、数秒で実行 することができる。 典型的な開発のセッティングでは、テスト・エンジニアは、テスト・ジョブが 予測されたとおりに実行されるまでは、テスト・ジョブを変更するプロセスを反 復する。完了すると、テスト・ジョブは、製造のセッティングに転送される。製 造セッティングでは、デバイス・データ及びフロー開発ツールは、用いられない 。同様に、カスタム・インターフェースが開発される。カスタム・インターフェ ースは、テスタを動かしてパーツをテストするのに必要な制御だけを提供し、基 本的な出力情報だけを表示してオペレータにテストが進行していることを知らせ る。テスタは多くのデータを測定し記憶することができるが、製造環境ではオペ レータに対しほんのわずかな部分だけが提示される。 ソフトウェアはエクセルを用いて実現されているが、ビジュアル・ベーシック のプログラミング言語を用いて、カスタム製造インターフェースを準備すること ができる。インターフェースにおいて可能性のあるのは、テストを開始し、テス トを終了し、いずれかのテストに合格しなかったデバイスの数を示す表示を行う という制御である。他の実施例 以上で1つの実施例を説明したが、多くの別の実施例又は変更例が可能である 。例えば、本発明は、本体(ボディ)と別個のコンピュータ化されたワークステ ーションとを有するテスタに関して説明されている。しかし、コンピュータ化さ れたワークステーションがテスタ本体と物理的に分離していることは必要ない。 例えば、テスタ本体の内部に組み入れることも可能である。それ以外の構成も可 能である。例えば、テスタには、メインフレームとテスト・ヘッドとを有するも のがある。しかし、本発明の目的のためには、テスタは、1つ又は複数の異なる パッケージであってもよい。 特定のデータ及びフロー・シートの例を与えてきた。それぞれのローは、特定 の数のコラムを有し、それぞれのコラムは、フローにおけるアイテム又はステッ プに関する特定のタイプの情報を含むように、示した。動作されるタイプによっ て、テスタのハードウェアや、テスト対象のデバイスの要件、それぞれのローに 含まれる情報の数及び種類は、異なることがある。より多く又はより少ないコラ ムでもかまわない。1つの可能性としては、それぞれのタイプのスプレッドシー トに対してスーパー・セット(super set)の可能なコラムを有することである 。ユーザは、次に、どのコラムが特定のジョブに対して重要であるのかを選択す る。ウィザード(Wizard)を提供して、選択プロセスによってプログラマを誘導 することもできる。ウィザードとは、ユーザに選択を促すマクロである。特定の スクリーン上の表示のために選択されていないスーパー・セットにおけるこれら のコラムは、スプレッドシートから全体を削除することができるし、与えられる が表示されないことも可能である。存在するが表示されないコラムは、無視され るか、又は、デフォルト値を与えられる。 フロー制御ソフトウェア314はC++で書かれているものとして説明してき た。C++はビジュアル・ベーシックよりも高速に実行することができると広く 考えられている。ビジュアル・ベーシックは、市販のスプレッドシート・プログ ラムであるエクセルの一部であるプログラミング言語である。しかし、フロー制 御ソフトウェアがC++で書かれている場合にはより高速に実行されるが、デバ イスへのインターフェースと、エクセル・プログラムを用いたフロー・データ入 力とに要する時間は、より低速であることが認識された。従って、場合によって は、フロー制御ソフトウェアをビジュアル・ベーシックや、市販のスプレッドシ ート・プログラムの一部である他のマクロ・プログラミング言語で実現すること が好ましい。 図13との関係で既に述べたことであるが、フロー制御ソフトウェア314は 、単一のパーツをテストするテスト・ジョブを制御する。テスタ112は、数百 から数千個のピン124を有していることが多い。従って、複数のパーツをテス タ112に同時に接続するのに十分なだけのピンが存 在している。この場合には、ピンは、「サイト」(sites)としてグループ化され ている。それぞれのサイトにおけるピンは、同一のデータを取得し、同じ測定を 行う。しかし、1つのサイトが1つのエラーを検出する場合には、異なる処理が そのサイトに対して必要となる可能性がある。従って、フロー制御ソフトウェア 314は、複数のサイトに対して複数のテストを同時に実行するように構成する ことができる。しかし、どれかのサイトが故障する場合には、そのサイトは、別 個にテストされることになる。この機能を実行するには、ステップ1326を変 更し、サイトの状態を別々にトラッキングすることがありうる。次に、ステップ 1328は、変更され、それぞれのサイトにおけるデバイスがテスト・ジョブに おける何らかのテストに合格したか不合格であったかによって、それぞれのサイ トに対するテンプレートを選択する。 また、テスト・システムは半導体素子をテストすると説明してきた。プリント 回路ボード又はそれ以外のデバイスに対するテスト・システムを制御するのにも 、同様のソフトウェアを用いることもできる。 更に、市販のスプレッドシート・プログラムを用いることによってテスト・シ ステムを制御するソフトウェアをユーザが容易に理解することができる態様で迅 速に実現することができるようになることを説明してきた。図14は、実現可能 な別のツールの例を示している。図14は、デバグ又は解析ツールとして用いら れることが主に意図されたツールを示している。ここでは、データ入力スクリー ンが示されている。このスクリーンは、スプレッドシートではなくビジュアル・ ベーシックを用いてダイアログ・ボックスとして実現されている。図14の特定 の例は、ただ1つのピン(図1)のハードウェア・セットアップに関係する。ダ イアログ・ボックスは、データを入力することができる複数のフィールドを含ん でいる。データは、テスタにおけるハードウェアに送られる値を表す。このダイ アログ・ボックスが用いられるときには、これは、フロー制御314を介する通 常のデータ経路をバイパスし、直接にデバイス・ドライバ328をコールしてテ スタ・ハードウェアにアクセスする。 可能性のある変更の別の例として、市販のスプレッドシート・プログラムは、 エクセル以外のものや、図面に示したもの以外のバージョンのエクセルを用いる こともできる。図15には、マイクロソフト社から販売された市販のスプレッド シート・プログラムであるエクセル97を用いて実現されたデータ・エントリ・ スクリーンの例を示してある。複数の追加的な特徴が、エクセル97を用いるこ とを通じて可能である。制御要素1510は、グループ表示制御である。複数の ローのデータが同じグループに書き込まれた場合には、表示は、ただ1つのロー だけがそのグループを表示する専用となるように、隠れてしまう可能性がある。 図15では、例えば、1512及び1514において示されたローは、すべて、 「rdcycle」と命名されるタイム・セットの中にある。すべてのローが示されて おり、グループは拡張(復活)したと称される。しかし、グループ表示制御15 10が用いられる場合には、ただ1つのローだけがそのグループに対して示され る。他のローを見ることができないにもかかわらず、それらのローは、図15の データ・エントリ・スクリーンを用いて実行される任意の動作によって作用を受 ける。 エクセル97の使用を介して用いられる別の特徴として、データを、そのタイ プに基づいて異なる外観にすることがある。例えば、セル1516内のデータは 、セル1518の中のデータとは異なる外観を有する。この理由は、セル151 6におけるデータには、アドレス・バスのためのタイプが割り当てられ、セル1 518の中のデータには、データ・バスのためのタイプが割り当てられているか らである。異なるタイプのデータを視覚的に区別することによって、ソフトウェ アをより容易に用いることが可能になる。 図16A及び16Bには、行うことができるそれ以外の強化策(enhancements )が図解されている。グループ制御要素1610は、その拡張(展開)状態で示 されている。従って、「General Info」として示されているグループに対して示 された要素のリストが存在する。対照的に、グループ制御1612は、その非拡 張状態で示されている。このように、グ ループ「Digital Setup」に対するエントリは示されていない。 図16A及び16Bは、また、グループを視覚的に区別可能とすることの利点 を強調している。例えば、フィールド1614及び1616は、異なるタイプの データを含むために異なる外観を呈する。 図16A及び16Bに示されている別の特徴は、ナビゲーションの特徴である 。これまでの例では、ツールにアクセスするには、スクリーンの最下部にあるタ ブを選択することによった。図16A及び16Bは、スクリーンは「ホット・リ ンク」を用いて相互にリンクすることが可能であることを示している。別のスク リーンからスクリーンの名称をクリックすることにより、ユーザは、スクリーン 表示を変更することができる。また、ナビゲーション・ツール・バーは、所望の データ・スクリーンを見つけるために有用なツールを含んでいる。ナビゲーショ ン・ツール・バーは、インターネット・ナビゲータで見出されるツールを含む。 このツールは、先のスクリーンに移動するとか、予め特定しておいた好みのスク リーンに行くなどの動作を実行する。 エクセル97を用いることの別の利点として、それが、オブジェクト指向言語 である点がある。それぞれのデータ・スクリーンはオブジェクトである。データ ・スクリーンなどのそれぞれのオブジェクトは、それに関連するクラスを有して いる。すべてのデータ・シートにベース・クラスを与えることが可能であり、こ のベース・クラスが、任意のデータ・シートに共通の動作を定義する。例えば、 エラー処理、データ・タイプ及びフォーマッティングなどが、ベース・クラスに おいて定義されうる。データの有効化やデータのデータ・マネジャへの送出など それ以外の機能は、そのベース・クラスに対する「公共的な方法」(public meth ods)として定義することができる。このようにして、これらの能力の全体が、す べてのデータ・スクリーンに提供される。ただし、これらが特定されるのは1回 だけである。等しく重要なことであるが、それぞれのデバイス・データ又はフロ ー・データ・ツールは、同じように動作する。 オブジェクト指向プログラミングを用いることによって可能となるこれ 以外の変更は、シート間のエラー(inter-sheet errors)を瞬間的に有効化する ことである。有効化規則は特定することができ、データは、入力されたときにチ ェックされる。複数のシートの間で一貫性のないデータをチェックする有効化ル ーチンは、依然として動作させることができる。 従って、本発明は、請求の範囲の精神と範囲とによってだけ限定されるべきも のである。
【手続補正書】特許法第184条の8第1項 【提出日】平成11年1月19日(1999.1.19) 【補正内容】 請求の範囲全文を次のように補正する。 『1.複数のテスト信号を発生し測定する電子回路(120,122,124,126,128)を保 持するボディ(112)と、前記のボディ内の前記電子回路に制御情報を提供するコ ンピュータ・ワークステーション(110)とを有し、更に、前記コンピュータ・ワ ークステーション内に制御ソフトウェアを有し、該制御ソフトウェアは、それぞ れが、前記ボディ内の前記電子回路の一部を制御する複数のデバイス・ドライバ ・プログラム要素(328)を含むタイプの半導体テスト・システムであって、前記 制御ソフトウェアが、 複数のタイプのスプレッドシート(312)を有しており、前記複数のタイプのス プレッドシートの第1の部分は、テスト対象デバイスに関するデータを保持する ように構成され、前記複数のタイプのスプレッドシートの第2の部分は、テスト 対象デバイスに対するテスト・ジョブの間に実行されるステップに影響する情報 を保持するように構成されている、市販のスプレッドシート・プログラムと、 前記複数のタイプのスプレッドシートの前記第2の部分からデータを受け取り 、前記第1のタイプのスプレッドシートから前記複数のプログラム要素の中の選 択された要素に、前記第2のタイプのスプレッドシートにおけるデータによって 決定される順序でデータを提供することによって、テスト・ジョブの実行を制御 するプログラム手段(314,316,320)と、 を更に含むことを特徴とする半導体テスト・システム。 2.前記市販のスプレッドシート・プログラムは、スプレッドシートからデータ を読み出すように統合された統合型プログラム言語を含み、前記プログラム手段 は、前記統合型プログラミング言語で書かれたフロー制御ソフトウェアを含む、 請求項1記載のテスト・システム。 3.前記統合型プログラミング言語はビジュアル・ベーシックである、請 求項2記載のテスト・システム。 4.前記複数のタイプのスプレッドシートはワークブックに構成され、前記ワー クブックの中の1つのスプレッドシートにおけるデータは、前記ワークブックの 中の別のスプレッドシートからアクセス可能である、請求項1記載のテスト・シ ステム。 5.前記市販のスプレッドシート・プログラムはエクセルである、請求項1記載 のテスト・システム。 6.それぞれが前記テスト・ジョブの1つのステップの間に実行される機能を表 す複数のテスト・プログラム要素を更に含み、前記複数のスプレッドシートの前 記第2の部分におけるスプレッドシートは複数のローを含むフロー・シートであ り、前記複数のローの少なくとも一部は、それぞれが、 テスト・プログラム要素への参照と、 前記参照されたテストが実行されるときに故障を示す場合には、前記テスト対 象デバイスに割り当てられる分類の指示と、 を含む、請求項1記載のテスト・システム。 7.フロー・シートにおける前記複数のローの少なくとも一部は、それぞれが、 前記参照されたテストが失敗したときに設定されるフラグの名称と、 前記参照されたテストが実行されるべきかどうかを指示するブール表現を表す セルであって、1つのローにおける前記ブール表現は、他のローに含まれるフラ グの名称を含む、セルと、 を更に含む、請求項6記載のテスト・システム。 8.それぞれのフロー・シートは、前記テスト・ジョブの実行を修正する引数を 入力する手段をそれ自体と関連付けている、請求項7記載のテス ト・システム。 9.前記テスト・プログラム要素のそれぞれはテスト・テンプレートを含み、前 記複数のスプレッドシートの前記第2の部分におけるスプレッドシートは複数の ローを含むインスタンス・シートであり、前記複数のローの少なくとも一部は、 それぞれが、前記テスト・テンプレートのインスタンスを定義し、 テスト・テンプレートへの参照と、 前記テスト・テンプレートに対する識別子と、 を含み、前記インスタンス・シートは、前記テスト・テンプレートと組み合わさ れて前記テスト・インスタンスを形成するテスト対象デバイスに関するデータを 保持するように構成されたスプレッドシートの中の選択されたスプレッドシート を特定する手段を更に含み、前記フロー・シートにおけるテスト・プログラム要 素への前記参照は、テスト・インスタンスに対する前記識別子を含む、請求項6 記載のテスト・システム。 10.前記テスト・テンプレートのそれぞれは、翻訳されたプログラミング言語 で書かれている、請求項9記載のテスト・システム。 11.前記プログラム手段は、 前記デバイス・ドライバ・プログラムの中の選択されたプログラムを、前記複 数のタイプのスプレッドシートの前記第2の部分におけるスプレッドシートにお ける情報によって決定される順序でコールするフロー制御プログラム手段と、 前記デバイス・ドライバ・プログラム要素によってコールされ、前記複数のタ イプのスプレッドシートの前記第1の部分におけるスプレッドシートにおける情 報によって決定される値を戻すデータ検索プログラム手段と、を含む、請求項1 記載の半導体テスト・システム。

Claims (1)

  1. 【特許請求の範囲】 1.複数のテスト信号を発生し測定する電子回路を保持するボディと、前記の ボディ内の前記電子回路に制御情報を提供するコンピュータ・ワークステーショ ンとを有し、更に、前記コンピュータ・ワークステーション内に制御ソフトウェ アを有するタイプの半導体テスト・システムであって、前記制御ソフトウェアは 、 a)複数のタイプのスプレッドシートを有しており、前記複数のタイプのスプ レッドシートの第1の部分は、テスト対象デバイスに関するデータを保持するよ うに構成され、前記複数のタイプのスプレッドシートの第2の部分は、半導体デ バイスに対するテスト・ジョブの間に実行されるステップに影響する情報を保持 するように構成されている、市販のスプレッドシート・プログラムと、 b)それぞれが、前記ボディ内の前記電子回路の一部を制御する複数のデバイ ス・ドライバ・プログラム要素と、 c)前記複数のタイプのスプレッドシートの前記第2の部分からデータを受け 取り、前記第1のタイプのスプレッドシートから前記複数のプログラム要素の中 の選択された要素に、前記第2のタイプのスプレッドシートにおけるデータによ って決定される順序でデータを提供することによって、テスト・ジョブの実行を 制御するプログラム手段と、 から構成される半導体テスト・システム。 2.前記市販のスプレッドシート・プログラムは、スプレッドシートからデー タを読み出すように統合された統合型プログラム言語を含み、前記プログラム手 段は、前記統合型プログラミング言語で書かれたフロー制御ソフトウェアを含む 、請求項1記載のテスト・システム。 3.前記統合型プログラミング言語はビジュアル・ベーシックである、請求項 2記載のテスト・システム。 4.前記複数のタイプのスプレッドシートはワークブックに構成され、前記ワ ークブックの中の1つのスプレッドシートにおけるデータは、前記 ワークブックの中の別のスプレッドシートからアクセス可能である、請求項1記 載のテスト・システム。 5.前記市販のスプレッドシート・プログラムはエクセルである、請求項1記 載のテスト・システム。 6.それぞれが前記テスト・ジョブの1つのステップの間に実行される機能を 表す複数のテスト・プログラム要素を更に含み、前記複数のスプレッドシートの 前記第2の部分におけるスプレッドシートは複数のローを含むフロー・シートで あり、前記複数のローの少なくとも一部は、それぞれが、 a)テスト・プログラム要素への参照と、 b)前記参照されたテストが実行されるときに故障を示す場合には、前記テス ト対象デバイスに割り当てられる分類の指示と、 を含む、請求項1記載のテスト・システム。 7.フロー・シートにおける前記複数のローの少なくとも一部は、それぞれが 、 a)前記参照されたテストが失敗したときに設定されるフラグの名称と、 b)前記参照されたテストが実行されるべきかどうかを指示するブール表現を 表すセルであって、1つのローにおける前記ブール表現は、他のローに含まれる フラグの名称を含む、セルと、 を更に含む、請求項6記載のテスト・システム。 8.それぞれのフロー・シートは、前記テスト・ジョブの実行を修正する引数 を入力する手段をそれ自体と関連付けている、請求項7記載のテスト・システム 。 9.前記テスト・プログラム要素のそれぞれはテスト・テンプレートを含み、 前記複数のスプレッドシートの前記第2の部分におけるスプレッドシートは複数 のローを含むインスタンス・シートであり、前記複数のローの少なくとも一部は 、それぞれが、前記テスト・テンプレートのインスタンスを定義し、 a)テスト・テンプレートへの参照と、 b)前記テスト・テンプレートに対する識別子と、 を含み、前記インスタンス・シートは、前記テスト・テンプレートと組み合わ されて前記テスト・インスタンスを形成するテスト対象デバイスに関するデータ を保持するように構成されたスプレッドシートの中の選択されたスプレッドシー トを特定する手段を更に含み、前記フロー・シートにおけるテスト・プログラム 要素への前記参照は、テスト・インスタンスに対する前記識別子を含む、請求項 6記載のテスト・システム。 10.前記テスト・テンプレートのそれぞれは、翻訳されたプログラミング言 語で書かれている、請求項9記載のテスト・システム。 11.前記プログラム手段は、 a)前記デバイス・ドライバ・プログラムの中の選択されたプログラムを、前 記複数のタイプのスプレッドシートの前記第2の部分におけるスプレッドシート における情報によって決定される順序でコールするフロー制御プログラム手段と 、 b)前記デバイス・ドライバ・プログラム要素によってコールされ、前記複数 のタイプのスプレッドシートの前記第1の部分におけるスプレッドシートにおけ る情報によって決定される値を戻すデータ検索プログラム手段と、 を含む、請求項1記載の半導体テスト・システム。 12.複数のデータ入力スクリーンを含む半導体デバイスをテストする自動テ スト装置を制御するソフトウェアであって、前記スクリーンのそれぞれは、 a)ロー及びコラムに構成された複数のデータ・セルを有するデータ・セル・ フィールドであって、それぞれのコラムは共通のタイプのデータを保持し、前記 スクリーンの第1の部分におけるデータ・セルはテスト対象半導体デバイスに関 するデータを保持し、前記スクリーンの第2の部分におけるデータ・セルは前記 テスト対象半導体デバイスのためのテスト・プログラム実行のフローに関するデ ータを保持する、データ・セル・フィールドと、 b)複数のツール・アイコンを有するツール・バー・フィールドと、 c)それぞれのタブが異なるデータ入力スクリーンにアクセスするように選択 可能であるタブ・フィールドと、 c)それぞれが複数のサブメニュ・アイテムを示すように選択可能である複数 のメニュ・アイテムを有するメニュ・バー・フィールドであって、前記メニュ・ アイテムの少なくとも1つの下にある前記サブメニュ・アイテムは、前記選択さ れたタブ・フィールドに応答して選択される、メニュ・バー・フィールドと、 を含む、ソフトウェア。 13.ソフトウエアが市販のスプレッドシート・プログラムにおけるアプリケ ーションとして実現されている、請求項12記載の自動テスト装置の制御ソフト ウェア。 14.前記市販のスプレッドシート・プログラムはエクセルである、請求項1 3記載の自動テスト装置の制御ソフトウェア。
JP50287199A 1997-06-13 1998-06-04 低コストで使用が容易な自動テスト・システム用ソフトウェア Expired - Lifetime JP4972244B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/874,615 1997-06-13
US08/874,615 US5910895A (en) 1997-06-13 1997-06-13 Low cost, easy to use automatic test system software
PCT/US1998/011557 WO1998057187A1 (en) 1997-06-13 1998-06-04 Low cost, easy to use automatic test system software

Publications (2)

Publication Number Publication Date
JP2002505000A true JP2002505000A (ja) 2002-02-12
JP4972244B2 JP4972244B2 (ja) 2012-07-11

Family

ID=25364174

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50287199A Expired - Lifetime JP4972244B2 (ja) 1997-06-13 1998-06-04 低コストで使用が容易な自動テスト・システム用ソフトウェア

Country Status (6)

Country Link
US (1) US5910895A (ja)
EP (1) EP0988558B1 (ja)
JP (1) JP4972244B2 (ja)
KR (1) KR20010013719A (ja)
DE (1) DE69826659T2 (ja)
WO (1) WO1998057187A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008014778A (ja) * 2006-07-05 2008-01-24 Anritsu Corp 携帯端末用デバイス測定装置
JP2008039671A (ja) * 2006-08-09 2008-02-21 Hitachi High-Tech Engineering Service Corp 半導体試験装置のテストプログラム生成システム
JP2011174730A (ja) * 2010-02-23 2011-09-08 Yokogawa Electric Corp 測定装置
KR20180121410A (ko) * 2017-04-28 2018-11-07 주식회사 아도반테스토 소프트웨어 애플리케이션 프로그래밍 인터페이스(api)로 자동화된 시험 특징의 사용자 제어 기법

Families Citing this family (101)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6047293A (en) * 1997-09-16 2000-04-04 Teradyne, Inc. System for storing and searching named device parameter data in a test system for testing an integrated circuit
US6029262A (en) * 1997-11-25 2000-02-22 Mosaid Technologies Incorporated Graphical editor for defining memory test sequences
US6834388B1 (en) 1998-03-13 2004-12-21 Iconics, Inc. Process control
US6077312A (en) * 1998-05-06 2000-06-20 International Business Machines Corporation Apparatus, program product and method of debugging utilizing a context sensitive breakpoint
JP2000122886A (ja) * 1998-10-10 2000-04-28 Advantest Corp 半導体試験装置のプログラム作成方式
AU1115700A (en) 1998-10-16 2000-05-08 Iconics, Inc. Process control
US7017116B2 (en) 1999-01-06 2006-03-21 Iconics, Inc. Graphical human-machine interface on a portable device
US6452411B1 (en) 1999-03-01 2002-09-17 Formfactor, Inc. Efficient parallel testing of integrated circuit devices using a known good device to generate expected responses
US6480978B1 (en) * 1999-03-01 2002-11-12 Formfactor, Inc. Parallel testing of integrated circuit devices using cross-DUT and within-DUT comparisons
US6499121B1 (en) 1999-03-01 2002-12-24 Formfactor, Inc. Distributed interface for parallel testing of multiple devices using a single tester channel
US20030121011A1 (en) * 1999-06-30 2003-06-26 Cirrus Logic, Inc. Functional coverage analysis systems and methods for verification test suites
US6490600B1 (en) 1999-08-09 2002-12-03 Cognex Technology And Investment Corporation Processing continuous data streams in electronic spreadsheets
US7882426B1 (en) * 1999-08-09 2011-02-01 Cognex Corporation Conditional cell execution in electronic spreadsheets
US6859907B1 (en) 1999-08-09 2005-02-22 Cognex Technology And Investment Corporation Large data set storage and display for electronic spreadsheets applied to machine vision
US6681351B1 (en) 1999-10-12 2004-01-20 Teradyne, Inc. Easy to program automatic test equipment
US6959433B1 (en) 2000-04-14 2005-10-25 International Business Machines Corporation Data processing system, method, and program for automatically testing software applications
US6687834B1 (en) 2000-04-14 2004-02-03 International Business Machines Corporation Data processing system, method and program for generating a job within an automated test environment
JP2002031670A (ja) 2000-04-19 2002-01-31 Texas Instr Inc <Ti> A/d変換器試験用の効率的データ転送を含む装置及び方法
EP1167981A1 (en) * 2000-06-19 2002-01-02 Tektronix, Inc. Method of operating a measurement instrument using a spreadsheet program
US6948135B1 (en) 2000-06-21 2005-09-20 Microsoft Corporation Method and systems of providing information to computer users
US7624356B1 (en) 2000-06-21 2009-11-24 Microsoft Corporation Task-sensitive methods and systems for displaying command sets
US7000230B1 (en) 2000-06-21 2006-02-14 Microsoft Corporation Network-based software extensions
US7191394B1 (en) 2000-06-21 2007-03-13 Microsoft Corporation Authoring arbitrary XML documents using DHTML and XSLT
EP2458511A3 (en) * 2000-06-21 2014-08-13 Microsoft Corporation System and method for integrating spreadsheets and word processing tables
US7155667B1 (en) * 2000-06-21 2006-12-26 Microsoft Corporation User interface for integrated spreadsheets and word processing tables
US6883168B1 (en) 2000-06-21 2005-04-19 Microsoft Corporation Methods, systems, architectures and data structures for delivering software via a network
US7346848B1 (en) 2000-06-21 2008-03-18 Microsoft Corporation Single window navigation methods and systems
US6507842B1 (en) 2000-07-10 2003-01-14 National Instruments Corporation System and method for importing and exporting test executive values from or to a database
TW594029B (en) * 2000-08-25 2004-06-21 Aidc Aerospace Ind Dev Corp Human interface development system for test program of circuit board device
US20020129334A1 (en) * 2000-10-13 2002-09-12 Dane Mark W.P. Interface based design using a tabular paradigm
DE10060206A1 (de) * 2000-12-04 2002-06-13 Siemens Ag Programmiergerät
US20020194217A1 (en) * 2001-04-26 2002-12-19 International Business Machnies Corporation Metadata graphial user interface
US6745140B2 (en) * 2001-10-23 2004-06-01 Agilent Technologies, Inc. Electronic test system with test results view filter
US20030145300A1 (en) * 2002-01-28 2003-07-31 Tran Trung M. Layout tracking solutions
US20030184294A1 (en) * 2002-04-01 2003-10-02 Boskamp Eddy Benjamin Multiple channel, neuro vascular array coil for magnetic resonance imaging
US7010782B2 (en) * 2002-04-04 2006-03-07 Sapphire Infotech, Inc. Interactive automatic-test GUI for testing devices and equipment using shell-level, CLI, and SNMP commands
EP1398717A1 (en) * 2002-09-11 2004-03-17 Atsmai Technology Data refreshing process for a computer application
US7415672B1 (en) 2003-03-24 2008-08-19 Microsoft Corporation System and method for designing electronic forms
US7370066B1 (en) 2003-03-24 2008-05-06 Microsoft Corporation System and method for offline editing of data files
US7913159B2 (en) 2003-03-28 2011-03-22 Microsoft Corporation System and method for real-time validation of structured data files
US7296017B2 (en) 2003-03-28 2007-11-13 Microsoft Corporation Validation of XML data files
US7171587B2 (en) * 2003-04-28 2007-01-30 Teradyne, Inc. Automatic test system with easily modified software
JP4240293B2 (ja) * 2003-05-27 2009-03-18 株式会社ソニー・コンピュータエンタテインメント マルチメディア再生装置およびマルチメディア再生方法
US7152227B1 (en) * 2003-06-17 2006-12-19 Xilinx, Inc. Automated assessment of programming language coverage by one or more test programs
US9715678B2 (en) 2003-06-26 2017-07-25 Microsoft Technology Licensing, Llc Side-by-side shared calendars
US7451392B1 (en) 2003-06-30 2008-11-11 Microsoft Corporation Rendering an HTML electronic form by applying XSLT to XML using a solution
US7707255B2 (en) 2003-07-01 2010-04-27 Microsoft Corporation Automatic grouping of electronic mail
CN1567223A (zh) * 2003-07-09 2005-01-19 松下电器产业株式会社 程序生成装置、方法及程序
KR20050009912A (ko) 2003-07-18 2005-01-26 삼성전자주식회사 성능측정 시스템
US7406660B1 (en) 2003-08-01 2008-07-29 Microsoft Corporation Mapping between structured data and a visual surface
US7334187B1 (en) 2003-08-06 2008-02-19 Microsoft Corporation Electronic form aggregation
US7376917B1 (en) * 2003-08-25 2008-05-20 Xilinx, Inc. Client-server semiconductor verification system
US7673197B2 (en) 2003-11-20 2010-03-02 Practical Engineering Inc. Polymorphic automatic test systems and methods
US8819072B1 (en) 2004-02-02 2014-08-26 Microsoft Corporation Promoting data from structured data files
US7318063B2 (en) * 2004-02-19 2008-01-08 Microsoft Corporation Managing XML documents containing hierarchical database information
JP2005300324A (ja) * 2004-04-09 2005-10-27 Agilent Technol Inc 被試験対象デバイスの測定データ解析方法、プログラム、および測定データ解析システム
US7496837B1 (en) 2004-04-29 2009-02-24 Microsoft Corporation Structural editing with schema awareness
US7290238B2 (en) * 2004-05-12 2007-10-30 International Business Machines Corporation Method, system and program product for building an automated datapath system generating tool
US7281018B1 (en) 2004-05-26 2007-10-09 Microsoft Corporation Form template data source change
US7774620B1 (en) 2004-05-27 2010-08-10 Microsoft Corporation Executing applications at appropriate trust levels
US20050273685A1 (en) * 2004-06-08 2005-12-08 Sanjay Sachdev Automated and customizable generation of efficient test programs for multiple electrical test equipment platforms
US7931661B2 (en) * 2004-06-14 2011-04-26 Usgi Medical, Inc. Apparatus and methods for performing transluminal gastrointestinal procedures
US9015621B2 (en) * 2004-08-16 2015-04-21 Microsoft Technology Licensing, Llc Command user interface for displaying multiple sections of software functionality controls
US8255828B2 (en) 2004-08-16 2012-08-28 Microsoft Corporation Command user interface for displaying selectable software functionality controls
US8146016B2 (en) 2004-08-16 2012-03-27 Microsoft Corporation User interface for displaying a gallery of formatting options applicable to a selected object
US7703036B2 (en) 2004-08-16 2010-04-20 Microsoft Corporation User interface for displaying selectable software functionality controls that are relevant to a selected object
US7692636B2 (en) 2004-09-30 2010-04-06 Microsoft Corporation Systems and methods for handwriting to a screen
US7712022B2 (en) 2004-11-15 2010-05-04 Microsoft Corporation Mutually exclusive options in electronic forms
US7721190B2 (en) 2004-11-16 2010-05-18 Microsoft Corporation Methods and systems for server side form processing
US7904801B2 (en) 2004-12-15 2011-03-08 Microsoft Corporation Recursive sections in electronic forms
US7937651B2 (en) 2005-01-14 2011-05-03 Microsoft Corporation Structural editing operations for network forms
US7725834B2 (en) 2005-03-04 2010-05-25 Microsoft Corporation Designer-created aspect for an electronic form template
US8010515B2 (en) 2005-04-15 2011-08-30 Microsoft Corporation Query to an electronic form
US20070011544A1 (en) * 2005-06-15 2007-01-11 Hsiu-Huan Shen Reprogramming of tester resource assignments
US8200975B2 (en) 2005-06-29 2012-06-12 Microsoft Corporation Digital signatures for network forms
US8627222B2 (en) 2005-09-12 2014-01-07 Microsoft Corporation Expanded search and find user interface
US8001459B2 (en) 2005-12-05 2011-08-16 Microsoft Corporation Enabling electronic documents for limited-capability computing devices
KR100790470B1 (ko) 2005-12-05 2008-01-02 한국전자통신연구원 디바이스 드라이버 테스트를 위한 테스트 케이스 자동 생성방법 및 장치
US9166809B2 (en) * 2006-04-03 2015-10-20 Verizon Patent And Licensing Inc. Automated network testing
US7567947B2 (en) * 2006-04-04 2009-07-28 Optimaltest Ltd. Methods and systems for semiconductor testing using a testing scenario language
US9727989B2 (en) 2006-06-01 2017-08-08 Microsoft Technology Licensing, Llc Modifying and formatting a chart using pictorially provided chart elements
US7532024B2 (en) * 2006-07-05 2009-05-12 Optimaltest Ltd. Methods and systems for semiconductor testing using reference dice
US8484578B2 (en) 2007-06-29 2013-07-09 Microsoft Corporation Communication between a document editor in-space user interface and a document editor out-space user interface
US8762880B2 (en) 2007-06-29 2014-06-24 Microsoft Corporation Exposing non-authoring features through document status information in an out-space user interface
FR2918759B1 (fr) * 2007-07-13 2009-09-18 Eurocopter France Procede de test d'un systeme electronique
US8131387B2 (en) 2007-08-09 2012-03-06 Teradyne, Inc. Integrated high-efficiency microwave sourcing control process
US20100023897A1 (en) * 2008-02-20 2010-01-28 Pikus Fedor G Property-Based Classification In Electronic Design Automation
US9588781B2 (en) 2008-03-31 2017-03-07 Microsoft Technology Licensing, Llc Associating command surfaces with multiple active components
US9665850B2 (en) 2008-06-20 2017-05-30 Microsoft Technology Licensing, Llc Synchronized conversation-centric message list and message reading pane
US8589886B2 (en) * 2008-07-07 2013-11-19 Qualisystems Ltd. System and method for automatic hardware and software sequencing of computer-aided design (CAD) functionality testing
US20100229133A1 (en) * 2009-03-03 2010-09-09 Pikus Fedor G Property-Based Classification In Electronic Design Automation
US9046983B2 (en) 2009-05-12 2015-06-02 Microsoft Technology Licensing, Llc Hierarchically-organized control galleries
JP5566265B2 (ja) * 2010-11-09 2014-08-06 東京エレクトロン株式会社 基板処理装置、プログラム、コンピュータ記憶媒体及び基板の搬送方法
DE102012205207A1 (de) * 2012-03-30 2013-10-02 Rheinmetall Defence Electronics Gmbh Verfahren zum Erstellen eines Prüfprogramms für eine automatische Teststation
CN103116617B (zh) * 2013-01-29 2016-02-10 北京时代民芯科技有限公司 一种集成电路测试数据的处理方法
KR102218200B1 (ko) * 2014-03-06 2021-02-23 삼성전자주식회사 스프레드 시트를 이용한 rtl 자동 합성 시스템, 방법 및 기록매체
CN106405373B (zh) * 2016-08-29 2019-06-21 北京自动测试技术研究所 一种主动式测试向量匹配方法
CN107885711B (zh) * 2017-11-13 2021-04-30 中国电子科技集团公司第四十一研究所 一种智能仪器的自动交检方法
CN110740009B (zh) * 2018-07-20 2022-08-12 富联精密电子(天津)有限公司 数据传输校验装置及方法
US11169203B1 (en) 2018-09-26 2021-11-09 Teradyne, Inc. Determining a configuration of a test system
US11461222B2 (en) 2020-04-16 2022-10-04 Teradyne, Inc. Determining the complexity of a test program

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4860291A (en) * 1987-12-28 1989-08-22 Tektronix, Inc. Test vector definition system employing template concept
US5371851A (en) * 1989-04-26 1994-12-06 Credence Systems Corporation Graphical data base editor
US5495578A (en) * 1992-04-06 1996-02-27 Hewlett-Packard Company Apparatus and method for changing the behavior of a computer program while retaining control of program execution
US5303146A (en) * 1993-03-11 1994-04-12 Borland International, Inc. System and methods for improved scenario management in an electronic spreadsheet
US5471612A (en) * 1994-03-03 1995-11-28 Borland International, Inc. Electronic spreadsheet system and methods for compiling a formula stored in a spreadsheet into native machine code for execution by a floating-point unit upon spreadsheet recalculation
US5603021A (en) * 1994-09-02 1997-02-11 Borland International, Inc. Methods for composing formulas in an electronic spreadsheet system
US5721847A (en) * 1994-10-21 1998-02-24 Microsoft Corporation Method and system for linking controls with cells of a spreadsheet
US5673272A (en) * 1996-02-13 1997-09-30 Teradyne, Inc. Apparatus and method for performing digital signal processing in an electronic circuit tester

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008014778A (ja) * 2006-07-05 2008-01-24 Anritsu Corp 携帯端末用デバイス測定装置
JP2008039671A (ja) * 2006-08-09 2008-02-21 Hitachi High-Tech Engineering Service Corp 半導体試験装置のテストプログラム生成システム
JP4684183B2 (ja) * 2006-08-09 2011-05-18 株式会社日立ハイテクエンジニアリングサービス 半導体試験装置のテストプログラム生成システム
KR101109127B1 (ko) 2006-08-09 2012-02-24 가부시키가이샤 히타찌 하이테크 엔지니어링 서비스 반도체 시험 장치의 테스트 프로그램 생성 방법
JP2011174730A (ja) * 2010-02-23 2011-09-08 Yokogawa Electric Corp 測定装置
KR20180121410A (ko) * 2017-04-28 2018-11-07 주식회사 아도반테스토 소프트웨어 애플리케이션 프로그래밍 인터페이스(api)로 자동화된 시험 특징의 사용자 제어 기법
KR102430283B1 (ko) 2017-04-28 2022-08-05 주식회사 아도반테스토 소프트웨어 애플리케이션 프로그래밍 인터페이스(api)로 자동화된 시험 특징의 사용자 제어 기법

Also Published As

Publication number Publication date
DE69826659D1 (de) 2004-11-04
KR20010013719A (ko) 2001-02-26
US5910895A (en) 1999-06-08
JP4972244B2 (ja) 2012-07-11
DE69826659T2 (de) 2005-10-06
WO1998057187A1 (en) 1998-12-17
EP0988558A1 (en) 2000-03-29
EP0988558B1 (en) 2004-09-29

Similar Documents

Publication Publication Date Title
JP2002505000A (ja) 低コストで使用が容易な自動テスト・システム用ソフトウェア
US7917895B2 (en) Automated software testing and validation system
US6681351B1 (en) Easy to program automatic test equipment
US6408403B1 (en) Method for integrating automated software testing with software development
US6473707B1 (en) Test executive system and method including automatic result collection
US6397378B1 (en) Test executive system and method including distributed type storage and conflict resolution
US6401220B1 (en) Test executive system and method including step types for improved configurability
US6577981B1 (en) Test executive system and method including process models for improved configurability
US6449744B1 (en) Flexible test environment for automatic test equipment
US6978440B1 (en) System and method for developing test cases using a test object library
US6829733B2 (en) System and method for graphically detecting differences between test executive sequence files
US20030046029A1 (en) Method for merging white box and black box testing
US20030052917A1 (en) Data structures for use with environment based data driven automated test engine for GUI applications
US7895575B2 (en) Apparatus and method for generating test driver
US20030055836A1 (en) Methods for generating data structures for use with environment based data driven automated test engine for GUI applications
JPH02272645A (ja) プログラム・デバツグ支援方法
US6047293A (en) System for storing and searching named device parameter data in a test system for testing an integrated circuit
CN1892245A (zh) 利用分级测试开发树指定器件及其测试设置的方法和装置
US7050921B2 (en) Electronic test program with run selection
CN110750462A (zh) 一种fpga白盒测试平台
Michael et al. Metrics for measuring the effectiveness of software-testing tools
US20020100001A1 (en) Active trace debugging for hardware description languages
Gooding et al. Evaluation of three ATE test environments
Hymowitz et al. New Techniques for Failure Analysis and Test Program Design
Schott et al. Closed-Loop Approach on Formal Specification for Semiconductor Test

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050603

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070925

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071225

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080325

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081014

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120228

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120409

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150413

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term