JP4132504B2 - Semiconductor test system - Google Patents
Semiconductor test system Download PDFInfo
- Publication number
- JP4132504B2 JP4132504B2 JP34011399A JP34011399A JP4132504B2 JP 4132504 B2 JP4132504 B2 JP 4132504B2 JP 34011399 A JP34011399 A JP 34011399A JP 34011399 A JP34011399 A JP 34011399A JP 4132504 B2 JP4132504 B2 JP 4132504B2
- Authority
- JP
- Japan
- Prior art keywords
- function
- general
- argument
- data
- storage unit
- 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.)
- Expired - Fee Related
Links
- 239000004065 semiconductor Substances 0.000 title claims description 31
- 238000012360 testing method Methods 0.000 title claims description 30
- 230000006870 function Effects 0.000 claims description 126
- 238000012545 processing Methods 0.000 claims description 42
- 238000012546 transfer Methods 0.000 claims description 2
- 230000008571 general function Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 14
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、半導体デバイスの動作を試験する半導体試験システムに関する。
【0002】
【従来の技術】
半導体デバイスの動作を試験するためには、半導体デバイスの試験に用いる信号やその信号の入出力の順序を定めるプログラム(以下、「テスト・プログラム」という。)を作成する必要がある。テスト・プログラムの記述には、テスト・プログラムの作成に適したテスト・プログラム作成用言語(以下、「TP言語」という。)が用いられる。これは、LSI等のハードウェアの設計に、設計用の言語であるハードウェア記述言語(HDL:Hardware Description Language)が用いられることと共通する。TP言語は、テスト・プログラムの作成を容易にする構造、文法、命令、関数(以下、この関数を「TP関数」という。)を有する。しかし、他の一般的なプログラミング言語、例えば、C言語やC++言語(以下、「汎用言語」という。)が備える汎用的な関数(以下、「汎用関数」という。)を必ずしも備えていない。TP言語が備えていない関数であって汎用言語が備えている関数を用いるときには、テスト・プログラムは、その関数を汎用言語から呼び出す必要がある。
【0003】
このような関数の呼び出しには、主に、汎用関数、及びその汎用関数を実行するために必要な引数(以下、「汎用引数」という。)を特定する必要がある。より具体的には、TP言語の処理系は、呼び出すべき汎用関数及び汎用引数を1つのパッケージにまとめた後に、即ちパッケージ化(カプセル化)した後に、そのパッケージを汎用言語の処理系に引き渡す。パッケージを受け取ると、汎用言語の処理系は、指定された汎用関数を、指定された汎用引数を用いて実行した後、実行の結果(以下、「戻り値」という。)をTP言語の処理系へ返す。TP言語の処理系は、返された戻り値を使って、後続の処理を行う。このように、TP言語の処理系と汎用言語の処理系との間では、汎用関数及び汎用引数を含むパッケージ、並びにその汎用引数を用いてその汎用関数を実行した結果である戻り値がやりとりされる。
【0004】
【発明が解決しようとする課題】
上述したパッケージは、汎用言語上の規則に従って構成される必要がある。例えば、ある汎用関数Gpの汎用引数がg1 、g2 、g3 であって、その指定の順序がg3 、g2 、g1 と定められているとすると、パッケージは、汎用引数g3 、g2 、g1 をこの順序で含む必要がある。
【0005】
しかし、TP言語の処理系と汎用言語の処理系とは、互いに独立して機能する。したがって、TP言語の処理系では、これらの汎用引数g1 、g2 、g3 がg3 、g2 、g1 という順序で取り扱われることが保障されない。汎用引数g1 、g2 、g3 は、例えば、g2 、g3 、g1 の順序で取り扱われたり、g1 、g3 、g2 の順序で取り扱われたりする可能性がある。さらには、あるTP関数の引数(以下、「TP引数」という。)の順序がg1 、g3 、g2 のように規定されているときには、TP言語の処理系は、引数g1 、g2 、g3 を、そのTP引数の順序g1 、g3 、g2 で取り扱うことを保障しても、上記の汎用引数の順序g3 、g2 、g1 で取り扱うことを決して保障しない。この結果、汎用関数Gpを実行するためには、g1 、g3 、g2 という順序をg3 、g2 、g1 という順序に換えなければならなかった。この並び替え、即ち、積み替えは、汎用関数Gpを実行する毎に行う必要があることから、プログラムが煩雑かつ冗長になり、その結果として処理が遅延するという問題があった。
【0006】
本発明は、この点に鑑みて創作され、その目的は、テスト・プログラム作成用言語を用いて作成されたテスト・プログラムに含まれる汎用関数を、その汎用関数の汎用引数について特別な準備をすることなく呼び出すことができる半導体試験システムを提供することである。
【0007】
【課題を解決するための手段】
上述した課題を解決するために、本発明の半導体試験システムは、半導体デバイスの試験用のテスト・プログラムを作成するために用いられるテスト・プログラム作成用言語で記述されて、テスト・プログラム作成用言語が備える第1の関数を実行し、かつテスト・プログラム作成用言語以外の他言語が備える第2の関数を呼び出すテスト・プログラムに従って半導体デバイスを試験しており、このために引数記憶部、一時記憶部、制御部を備えている。引数記憶部には、第1の関数の引数として用いられる第1のデータ、及び第2の関数の引数として用いられる第2のデータが格納され、一時記憶部には、テスト・プログラムを実行して第2の関数を呼び出すときに、テスト・プログラム作成用言語の処理系から他言語の処理系へ第2のデータを受け渡すために、この第2のデータが一時的に格納される。制御部は、第1のデータとして用いられるとともに第2のデータとしても用いられる重複データを、第2の関数を実行するために遵守すべき規則に従って引数記憶部の所定アドレスに格納するとともに、テスト・プログラムを実行して第2の関数を呼び出すときに、引数記憶部の所定アドレスに格納された重複データを上述した規則に従って読み出して一時記憶部に一時的に格納する。本発明によれば、テスト・プログラムを実行して第2の関数を呼び出すときに、第2の関数の引数として用いる第2のデータを一時記憶部に格納する際に、この第2の関数を実行するために遵守すべき規則に従って並べ替える必要がないため、テスト・プログラムの構造を簡略化にすることができ、これにより、第2の関数を呼び出すための所要時間を短縮することができる。
【0008】
上述した重複データと、この重複データが格納される引数記憶部のアドレスとの対応関係を示す情報を記憶するテーブル部をさらに備え、制御部による引数記憶部への重複データの格納動作を、この情報に基づいて行うことが望ましい。これにより、重複データを格納する引数記憶部のアドレスを明確にすることが可能になる。
【0009】
また、上述した引数記憶部は、第2の関数と、重複データが格納された引数記憶部のアドレスとの対応関係を示す情報を記憶することが望ましい。これにより、共通するデータが複数の関数の引数として用いられる場合に、それら複数の関数のそれぞれに対応した複数のアドレスにそのデータを別々に格納する必要がなく、1つのアドレスのみにそのデータを格納すれば足りることから、引数記憶部へアクセスする回数を減少させることができ、結果的に、全体の処理時間を短くすることが可能になる。
【0010】
上述した規則によって第2の関数の引数の順序を規定するとともに、制御部によって、この順序に従って重複データを引数記憶部に格納することが望ましい。第2の関数について、所定の個数の引数が所定の順序に並べられていることが要求されることが多いため、このような順序に対応して引数記憶部にデータを格納しておくことにより、第2の関数の呼び出し処理を迅速に行うことができる。
【0011】
【発明の実施の形態】
本発明の実施の形態の半導体試験システムについて図面を参照しつつ説明する。
【0012】
図1は、実施の形態の半導体試験システムの構成を示す図である。この半導体試験システムは、半導体デバイスDUTの動作を試験するためのテスト・プログラムに基づいて半導体デバイスDUTを試験する。そのために、半導体試験システムは、テスト・プログラム処理装置1、及び半導体試験装置2を備える。テスト・プログラム処理装置1は、テスト・プログラムを編集、コンパイル、デバッグする等のために用いられる。半導体試験装置2は、テスト・プログラム処理装置1を用いて作成されたテスト・プログラムに従って半導体デバイスDUTに試験用の各種の信号を入力したり、これら入力された信号に応答して半導体デバイスDUTが出力する信号を検査したりする。このような機能を果たすべく、半導体試験装置2は、テスト・プログラムを実行するためのハードウェア、オペレーティング・システム、及びソフトウェア、半導体デバイスDUTをセットするためのソケット、並びに、半導体デバイスDUTとの間で種々の信号を入出力するためのプローブ等(いずれも図示せず)を有する。
【0013】
テスト・プログラム処理装置1は、テスト・プログラムに関する処理を行うべく、CPU(Central Processing Unit)10、プログラム記憶部20、アドレス・テーブル部30、引数記憶部40、スタック部50、及び汎用関数処理部60を有する。CPU10は、テスト・プログラムを実行し、実行の過程で必要に応じて汎用関数を呼び出す。プログラム記憶部20は、テスト・プログラムを記憶する。アドレス・テーブル部30は、少なくともTP引数及び汎用引数として用いられるデータと、そのデータが格納されている引数記憶部40のアドレスとの関係を記憶する。引数記憶部40は、TP関数とTP引数として用いるデータとの対応関係を示す情報、及び汎用関数と汎用引数として用いるデータとの対応関係を示す情報を格納する。スタック部50は、テスト・プログラムを実行中に汎用関数を呼び出す際に、その汎用関数、及びその汎用関数に対応する汎用引数を一時的に格納して待避させるために用いられる。即ち、汎用関数及び汎用引数をパッケージ化(カプセル化)するために用いられる。汎用関数処理部60は、パッケージの内容、即ち、待避された汎用引数を用いて、指定された汎用関数を実行した後、その結果である戻り値をTP言語の処理系に返す。
【0014】
上記のテスト・プログラムは、TP言語が備える命令やTP関数を用いて記述され、必要に応じて、汎用言語が備える汎用関数も用いて記述される。この汎用言語は、複数の汎用関数を含む汎用関数ライブラリを備えている。テスト・プログラムの処理系は、適宜、そのような汎用関数ライブラリ中の汎用関数を呼び出すことによりテスト・プログラムを実行しており、これによりテスト・プログラムの構成を簡略化することができる。
【0015】
図2は、テスト・プログラムの構成を概念的に例示する図である。このテスト・プログラムは、TP関数F1 等、汎用関数Gs等並びに、それらの関数の引数を算出するTP関数H1 等を含む。同図で、命令「EXE」は、TP関数や汎用関数を実行することを示す。
【0016】
図3は、TP関数H1 の実行結果を示す図である。例えば、H3 (x30)を実行することにより、引数b3 、d3 として用いるべきデータが得られる。
【0017】
図2に戻り、命令「STR」は、実行の結果を格納することを示す。例えば、「STR H1 (x10)」は、H1 (x10)を実行した結果として得られるデータを、引数記憶部40に格納することを意味する。引数記憶部40のどのアドレスに格納するかは、アドレス・テーブル部30を参照することにより決定される。
【0018】
図4は、アドレス・テーブル部30に記憶された、引数として用いられるデータと、そのデータを記憶すべきアドレスとの関係を示す図である。例えば、引数b3 として用いられるデータは、引数記憶部40のアドレス1012h、2020hに格納すべきであることが示されており、また、引数d3 として用いられるデータは、引数記憶部40のアドレス1032hに格納すべきであることが示されている。したがって、命令「STR H1 (x10)」を実行することにより、引数b3 として用いられるデータは、1012h、2020hに格納され、また、引数d3 として用いられるデータは、1032hに格納される。
【0019】
テスト・プログラム中の汎用関数を呼び出すときには、即ち、汎用関数を汎用関数処理部60に実行させるときには、汎用言語の処理系に受け渡すパッケージの内容として、汎用関数及び汎用引数を特定することが必要である。例えば、汎用関数Guについては、汎用関数Guを指定するだけでなく、汎用引数a1 、b1 、c1 、d1 についても指定する必要がある。特に、この汎用引数の指定は、この汎用関数を実行するために遵守すべき規則(第2の規則)にしたがった所定所順番で指定して行う必要がある。
【0020】
例えば、汎用関数Guについては、a1 、d1 、b1 、c1 という順序が定められていることから、汎用引数a1 、b1 、c1 、d1 をその順序a1 、d1 、b1 、c1 に並び替える必要がある。言い換えれば、たとえ汎用引数a1 、b1 、c1 、d1 の全部を指定しても、その順序が所定の順序と異なれば、汎用関数を実行することができない、あるいは、所望する演算とは異なる演算が実行されることになる。
【0021】
図5は、引数記憶部40に記憶された、TP関数とTP引数として用いられるデータとの関係、及び汎用関数と汎用引数として用いられるデータとの関係を示す図である。図示するように、例えば、TP関数F1 は、引数記憶部40のアドレス1000hに記憶されているTP引数a1 として用いるデータと、アドレス1001hに記憶されているTP引数a2 として用いるデータとを使って実行される。同様に、汎用関数Gu、Gwは、アドレス2030hに記憶された汎用引数a1 として用いるデータ、アドレス2031に記憶された汎用引数d1 として用いるデータ、アドレス2032hに記憶された汎用引数b1 として用いるデータ、及びアドレス2033hに記憶された汎用引数c1 として用いるデータを使って実行される。
【0022】
図6は、スタック部50に待避される汎用関数及び汎用引数を示す図である。TP言語の処理系は、汎用関数Guを呼び出すときには、汎用関数Guを指定し、かつ、汎用引数a1 、d1 、b1 、c1 をこの順序で待避させる。例えば、TP言語の処理系としてのCPU10は、スタック部50の先頭領域に、汎用関数Guに対応する所定のコードを格納することにより、呼び出す対象となる汎用関数Guを指定し、この先頭領域に続く複数の領域のそれぞれに、汎用引数a1 、d1 、b1 、c1 のそれぞれとして用いるデータを順番に格納する。この結果、汎用関数処理部60は、汎用関数Guと汎用引数a1 、d1 、b1 、c1 を用いる演算Gu(a1 、d1 、b1 、c1 )を実行することができ、実行結果としての戻り値がTP言語の処理系へ返される。
【0023】
なお、実施の形態と特許請求の範囲との関係については、CPU10は制御部に対応し、アドレス・テーブル部30はテーブル部に対応し、引数記憶部40は引数記憶部に対応し、スタック部50は一時記憶部に対応する。また、TP関数は第1の関数に対応し、汎用関数は第2の関数に対応する。
【0024】
以下、テスト・プログラム処理装置1の動作について説明する。データx10、x20、x30、及びx40を用いてTP関数H1 〜H4 を次々に実行することにより、引数a1 、b1 、c1 、d1 、a2 、b2 、c2 、b3 、d3 、b4 として用いるデータを算出し、さらに、それらのデータを用いてTP関数F1 〜F4 、及び汎用関数Gs〜Gwを実行する動作について、図2を参照しつつ説明する。
【0025】
ステップ100:CPU10は、命令「EXE H1 (x10)」を実行する。これにより、TP関数H1 (x10)の演算の結果として、上述したように、引数a1 、b1 、c1 、d1 として用いるデータが得られる。
【0026】
ステップ110:CPU10は、命令「STR H1 (x10)」を実行する。詳しくは、CPU10は、アドレス・テーブル部30を参照して、引数a1 、b1 、c1 、d1 として用いるデータを記憶すべきアドレスを確認した後、引数a1 として用いるデータを引数記憶部40中のアドレス1000h、2030h、2041hに格納する。同様にして、CPU10は、引数b1 として用いるデータをアドレス1010h、2032h、2042hに格納し、引数c1 として用いるデータを1020h、2033hに格納し、引数d1 として用いるデータを1030h、2031hに格納する。
【0027】
同様にして、CPU10は、命令「EXE H2 (x20)」を実行することにより、引数a2 、b2 、c2 として用いるデータを算出した後に、それらのデータを、アドレス・テーブル部30を参照して、引数記憶部部40の対応するアドレスにそれぞれ記憶する。他のTP関数H3 (x30)、TP関数H4 (x40)についても同様にして、CPU10は、引数b3 、d3 、またはb4 として用いるデータを、アドレス・テーブル部30を参照することによって、引数記憶部40中の対応するアドレスに記憶する。このようにして、命令「EXE H1 (x10)」、「STR H2 (x20)」、・・・・・、「EXE H4 (x40)」、「STR H4 (x40)」の全ての実行を完了する。
【0028】
ステップ120:CPU10は、命令「STR H4 (x40)」(図示せず)に続く命令「EXE F1 (a1 、a2 )」を実行する。具体的には、引数記憶部40のアドレス1000h、1001に記憶されているデータを引数a1 、a2 として用いることによりTP関数F1 を実行する。
【0029】
ステップ130:同様にして、CPU10は、次の命令「EXE F2 (b1 、b2 、b3 、b4 )」を実行する。即ち、アドレス1010h、1011h、1012h、1013hに記憶されたデータを引数b1 、b2 、b3 、b4 として用いることによりTP関数F2 を実行する。同様にして、他のTP関数F3 (c1 )、F4 (d1 、d2 、d3 )を実行する。
【0030】
ステップ140:CPU10は、命令「EXE F4 (d1 、d2 、d3 )」(図示せず)に続く命令「EXE Gs(a2 、b2 )」を実行する準備をする。より詳しくは、CPU10は、汎用関数Gs(a2 、b2 )の実行に必要な、アドレス2000h、2001hに記憶されたデータを、汎用引数a2 、b2 としてスタック部50に待避する。データを待避させた後、CPU10は、図6での汎用関数Guの指定と同様にして汎用関数Gsを指定する。このようにして、パッケージ化が完了する。スタック部50にパッケージが準備されると、テスト・プログラムの実行は、TP言語の処理系から汎用言語の処理系へ移る。即ち、汎用関数Gsの実行が汎用関数処理部60に委ねられる。汎用関数処理部60は、汎用関数Gsを、汎用引数a2 、b2 として用いられるべくスタック部50に待避されているデータを用いて実行する。汎用関数Gs(a2 、b2 )の実行を終えると、汎用関数処理部60は、その実行結果である戻り値を、スタック部50を介して、汎用言語の処理系からTP言語の処理系へ返す。
【0031】
ステップ150:汎用関数Gsを実行するための準備と同様にして、CPU10は、汎用関数Gu(a1 、d1 、b1 、c1 )を実行するための準備をする。即ち、アドレス2030h、2031h、2032h、2033hに記憶されたデータを、汎用引数a1 、d1 、b1 、c1 としてスタック部50に待避し、かつ汎用関数Guを指定する。このようにしてパッケージが完成すると、汎用関数処理部60は、汎用関数Gu(a1 、d1 、b1 、c1 )を実行する。
【0032】
ステップ160〜170:CPU10は、上記の汎用関数Gs(a2 、b2 )、Gu(a1 、d1 、b1 、c1 )の実行のための準備と同様にして、他の汎用関数Gw(a1 、d1 、b1 、c1 )、Gt(b3 )のためのパッケージを準備し、汎用関数処理部60は、汎用関数Gw(a1 、d1 、b1 、c1 )、Gt(b3 )を実行する。
【0033】
上述した実施の形態の半導体試験システムでは、TP関数F1 〜F4 のTP引数として用いられ、かつ汎用関数Gs〜Gwの汎用引数としても用いられるデータについては、TP関数F1 〜F4 を実行するために遵守すべき第1の規則に従った順序で引数記憶部40に記憶するだけでなく、これとは別に、汎用関数Gs〜Gwを実行するために遵守すべき第2の規則に従った順序でも引数記憶部40に記憶している。これにより、それらのデータがTP関数F1 〜F4 に対応する所定の順序でのみ記憶されていた従来の半導体試験システムと異なり、汎用関数Gs〜Gwを呼び出すときに、汎用関数Gs〜Gwの実行に必要なデータを汎用関数Gs〜Gwに対応する第2の規則に従って並び替える必要がないので、テスト・プログラムの構造を簡略化することができる。その結果として、汎用関数Gs〜Gwの呼び出しのための処理時間を短縮することができる。
【0034】
上述した例では、スタック部50には、汎用引数として用いられるデータ自身が待避される。データ自身を待避する代わりに、データが記憶されているアドレスを待避してもよい。例えば、汎用関数Gtの汎用引数b3 として用いられるデータを待避させるのではなく、そのデータが記憶されている引数記憶部40のアドレス2020hを待避させてもよい。この場合、汎用言語の処理系は、汎用関数Gsを実行するときに、引数記憶部40のアドレス2020hから、引数b3 として用いるべきデータを読み出せばよい。
【0035】
上述した例では、引数記憶部40の複数のアドレスに、異なるTP関数や汎用関数で使用される同じデータ(例えばa2 として用いられるデータ)が重複して記憶されている。このような重複を避けるために、複数のアドレスのいずれかにデータを記憶しておいて、それ以外のアドレスには、このデータが記憶されているアドレスを記憶するようにしてもよい。
【0036】
図7は、汎用関数と、汎用引数として用いるデータを記憶されたアドレスとの対応関係を示す図である。同図において、「fm」は、引数として用いられるデータが記憶されているアドレスを示す。例えば、汎用関数Gsについては、汎用引数a2 として用いるデータが引数記憶部40のアドレス1001hに記憶されており、また、汎用引数b2 として用いるデータがアドレス1011hに記憶されていることを示す。これにより、TP言語の処理系から汎用関数Gsを呼び出すときには、アドレス1001hに記憶された引数a2 として用いるデータと、アドレス1011hに記憶された引数b2 として用いるデータを用いて、スタック部50に対する待避動作を行うことが可能になる。
【0037】
図5に示した対応関係では、例えば、引数a1 として用いるデータは、アドレス1001h、2030h、2041hの3箇所に記憶しなければならない。これに対し、図7に示した対応関係を用いることにより、引数a1 として用いるデータをアドレス1000hにのみ記憶しておけば足りることになる。したがって、引数として用いるデータを引数記憶部40に記憶するための所要時間が長くなることを回避することができる。
【0038】
【発明の効果】
上述したように、本発明によれば、テスト・プログラム作成用言語で作成されたテスト・プログラムは、他の言語が備える関数を実行するために必要な引数として用いるデータを、その関数についての規則に従って記憶する。したがって、汎用関数を呼び出す前に、それらの引数をその規則に合致するように整理する必要が無いことから、テスト・プログラムによる他の言語中の関数の呼び出しが容易になる。
【図面の簡単な説明】
【図1】実施の形態の半導体試験システムの構成を示す図である。
【図2】テスト・プログラムの構成を概念的に例示する図である。
【図3】TP関数H1 の実行結果を示す図である。
【図4】、アドレス・テーブル部に記憶された、引数として用いられるデータと、そのデータを記憶すべきアドレスとの関係を示す図である。
【図5】引数記憶部に記憶された、TP関数とTP引数として用いられるデータとの関係、及び汎用関数と汎用引数として用いられるデータとの関係を示す図である。
【図6】スタック部に待避される汎用関数及び汎用引数を示す図である。
【図7】汎用関数と、汎用引数として用いるデータと同一なデータが記憶されたアドレスとの対応関係を示す図である。
【符号の説明】
1 テスト・プログラム処理装置
2 半導体試験装置
10 CPU
20 プログラム記憶部
30 アドレス・テーブル部
40 引数記憶部
50 スタック部
60 汎用関数処理部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a semiconductor test system for testing the operation of a semiconductor device.
[0002]
[Prior art]
In order to test the operation of a semiconductor device, it is necessary to create a program (hereinafter referred to as “test program”) that determines the signals used for testing the semiconductor device and the input / output order of the signals. A test program creation language (hereinafter referred to as “TP language”) suitable for creating a test program is used for the description of the test program. This is common to the use of a hardware description language (HDL), which is a design language, for designing hardware such as LSI. The TP language has a structure, a grammar, an instruction, and a function (hereinafter referred to as “TP function”) that facilitate the creation of a test program. However, it does not necessarily include a general-purpose function (hereinafter referred to as “general-purpose function”) included in another general programming language, for example, C language or C ++ language (hereinafter referred to as “general-purpose language”). When using a function that is not provided in the TP language but is provided in the general-purpose language, the test program needs to call the function from the general-purpose language.
[0003]
In calling such a function, it is mainly necessary to specify a general-purpose function and an argument necessary for executing the general-purpose function (hereinafter referred to as “general-purpose argument”). More specifically, the TP language processing system collects general functions and general arguments to be called into one package, that is, after packaging (encapsulation), and then delivers the package to the general language processing system. When the package is received, the general-purpose language processing system executes the specified general-purpose function using the specified general-purpose argument, and then executes the execution result (hereinafter referred to as “return value”). Return to. The processing system of the TP language performs subsequent processing using the returned return value. As described above, between the processing system of the TP language and the processing system of the general language, a package including the general function and the general argument, and a return value as a result of executing the general function using the general argument are exchanged. The
[0004]
[Problems to be solved by the invention]
The above-described package needs to be configured in accordance with general-purpose language rules. For example, if the general-purpose arguments of a general-purpose function Gp are g 1 , g 2 , and g 3 , and the designation order is determined as g 3 , g 2 , and g 1 , the package is a general-purpose argument g 3. , G 2 , and g 1 in this order.
[0005]
However, the TP language processing system and the general-purpose language processing system function independently of each other. Therefore, it is not guaranteed that the general-purpose arguments g 1 , g 2 , and g 3 are handled in the order of g 3 , g 2 , and g 1 in the TP language processing system. Generic arguments g 1, g 2, g 3, for example, g 2, g 3, or handled in the order of g 1, which may or handled in the order of g 1, g 3, g 2. Furthermore, when the order of arguments (hereinafter referred to as “TP arguments”) of a certain TP function is defined as g 1 , g 3 , and g 2 , the processing system of the TP language can use arguments g 1 and g the 2, g 3, also guarantees that handled the order g 1, g 3, g 2 of the TP argument, never guarantee that handled the order g 3, g 2, g 1 of the general-purpose parameter. As a result, in order to execute the general function Gp, the order of g 1 , g 3 , and g 2 had to be changed to the order of g 3 , g 2 , and g 1 . Since this rearrangement, that is, transshipment, must be performed every time the general-purpose function Gp is executed, there is a problem that the program becomes complicated and redundant, and as a result, processing is delayed.
[0006]
The present invention was created in view of this point, and its purpose is to specially prepare a general-purpose function included in a test program created using a test program creation language for the general-purpose arguments of the general-purpose function. It is to provide a semiconductor test system that can be called without any problems.
[0007]
[Means for Solving the Problems]
In order to solve the above-described problems, a semiconductor test system according to the present invention is written in a test program creation language used to create a test program for testing a semiconductor device, and is a test program creation language. The semiconductor device is tested in accordance with a test program that executes the first function included in the program and calls the second function included in a language other than the test program creation language. Part and a control part. The argument storage unit stores first data used as an argument of the first function and second data used as an argument of the second function, and the temporary storage unit executes a test program. When the second function is called, the second data is temporarily stored in order to transfer the second data from the test program creation language processing system to the other language processing system. The control unit stores the duplicate data used as the first data and also used as the second data in a predetermined address of the argument storage unit according to a rule to be observed in order to execute the second function, and performs a test. When executing the program and calling the second function, the duplicate data stored in the predetermined address of the argument storage unit is read according to the above-described rules and temporarily stored in the temporary storage unit. According to the present invention, when the second function used as an argument of the second function is stored in the temporary storage unit when the test program is executed and the second function is called, the second function is Since it is not necessary to rearrange according to the rules to be observed in order to execute, the structure of the test program can be simplified, thereby reducing the time required for calling the second function.
[0008]
It further includes a table unit that stores information indicating the correspondence between the duplicate data described above and the address of the argument storage unit in which the duplicate data is stored, and the control unit stores the duplicate data in the argument storage unit. It is desirable to do it based on information. This makes it possible to clarify the address of the argument storage unit that stores duplicate data.
[0009]
The argument storage unit described above preferably stores information indicating the correspondence between the second function and the address of the argument storage unit in which duplicate data is stored. Thus, when common data is used as an argument of a plurality of functions, it is not necessary to store the data separately at a plurality of addresses corresponding to each of the plurality of functions, and the data is stored only at one address. Since storing is sufficient, the number of times of accessing the argument storage unit can be reduced, and as a result, the entire processing time can be shortened.
[0010]
It is desirable that the order of the arguments of the second function is defined according to the rules described above, and that the duplicate data is stored in the argument storage unit according to this order by the control unit. For the second function, it is often required that a predetermined number of arguments are arranged in a predetermined order. Therefore, by storing data in the argument storage unit corresponding to such an order, The second function call process can be quickly performed.
[0011]
DETAILED DESCRIPTION OF THE INVENTION
A semiconductor test system according to an embodiment of the present invention will be described with reference to the drawings.
[0012]
FIG. 1 is a diagram illustrating a configuration of a semiconductor test system according to an embodiment. The semiconductor test system tests the semiconductor device DUT based on a test program for testing the operation of the semiconductor device DUT. For this purpose, the semiconductor test system includes a test /
[0013]
The test
[0014]
The above test program is described using instructions and TP functions provided in the TP language, and is also described using general functions provided in the general language as necessary. This general-purpose language includes a general-purpose function library including a plurality of general-purpose functions. The processing system of the test program executes the test program by calling a general function in such a general function library as appropriate, thereby simplifying the configuration of the test program.
[0015]
FIG. 2 is a diagram conceptually illustrating the configuration of the test program. The test program includes a TP function F 1 and the like, a general-purpose function Gs and the like, and a TP function H 1 that calculates an argument of these functions. In the figure, an instruction “EXE” indicates that a TP function or a general-purpose function is executed.
[0016]
FIG. 3 is a diagram illustrating an execution result of the TP function H 1 . For example, by executing H 3 (x 30 ), data to be used as the arguments b 3 and d 3 can be obtained.
[0017]
Returning to FIG. 2, the instruction “STR” indicates that the result of the execution is stored. For example, “STR H 1 (x 10 )” means that data obtained as a result of executing H 1 (x 10 ) is stored in the
[0018]
FIG. 4 is a diagram showing the relationship between the data used as an argument stored in the
[0019]
When calling a general-purpose function in a test program, that is, when the general-purpose function is executed by the general-purpose
[0020]
For example, since the order of a 1 , d 1 , b 1 , and c 1 is determined for the general-purpose function Gu, the general-purpose arguments a 1 , b 1 , c 1 , and d 1 are changed to the order a 1 , d 1. , B 1 and c 1 need to be rearranged. In other words, even if all of the general-purpose arguments a 1 , b 1 , c 1 , d 1 are specified, if the order is different from the predetermined order, the general-purpose function cannot be executed, or the desired operation Will perform different operations.
[0021]
FIG. 5 is a diagram illustrating the relationship between the TP function and data used as the TP argument and the relationship between the general function and data used as the general argument stored in the
[0022]
FIG. 6 is a diagram illustrating general functions and general arguments saved in the
[0023]
Regarding the relationship between the embodiment and the claims, the
[0024]
The operation of the test /
[0025]
Step 100: The
[0026]
Step 110: The
[0027]
Similarly, the
[0028]
Step 120: The
[0029]
Step 130: Similarly, the
[0030]
Step 140: The
[0031]
Step 150: Similar to the preparation for executing the general-purpose function Gs, the
[0032]
[0033]
The semiconductor test system of the above-described embodiment, used as TP argument TP function F 1 to F 4, and the data which is also used as a general argument of generic functions Gs~Gw is a TP function F 1 to F 4 In addition to storing in the
[0034]
In the example described above, the
[0035]
In the above-described example, the same data (for example, data used as a 2 ) used in different TP functions or general functions is stored redundantly at a plurality of addresses in the
[0036]
FIG. 7 is a diagram illustrating a correspondence relationship between general-purpose functions and addresses at which data used as general-purpose arguments are stored. In the figure, “fm” indicates an address where data used as an argument is stored. For example, for the general function Gs, it indicates that data used as the general argument a 2 is stored at the
[0037]
In the correspondence shown in FIG. 5, for example, the data used as the argument a 1 must be stored at three locations of
[0038]
【The invention's effect】
As described above, according to the present invention, a test program created in a test program creation language uses data used as an argument necessary for executing a function provided in another language as a rule for the function. Remember according to. Therefore, it is not necessary to arrange these arguments so as to conform to the rules before calling a general-purpose function, so that a function in another language can be easily called by a test program.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of a semiconductor test system according to an embodiment.
FIG. 2 is a diagram conceptually illustrating the configuration of a test program.
FIG. 3 is a diagram illustrating an execution result of a TP function H 1 .
FIG. 4 is a diagram illustrating a relationship between data used as an argument stored in an address table unit and an address where the data is to be stored.
FIG. 5 is a diagram illustrating a relationship between a TP function and data used as a TP argument and a relationship between a general function and data used as a general argument stored in an argument storage unit;
FIG. 6 is a diagram illustrating general-purpose functions and general-purpose arguments saved in a stack unit.
FIG. 7 is a diagram illustrating a correspondence relationship between general-purpose functions and addresses at which the same data as data used as general-purpose arguments is stored.
[Explanation of symbols]
DESCRIPTION OF
20
Claims (3)
前記第1の関数の引数として用いられる第1のデータ、及び前記第2の関数の引数として用いられる第2のデータが格納される引数記憶部と、
前記テスト・プログラムを実行して前記第2の関数を呼び出すときに、前記テスト・プログラム作成用言語の処理系から前記他言語の処理系へ前記第2のデータを受け渡すために、前記第2のデータが一時的に格納される一時記憶部と、
前記第1のデータとして用いられるとともに前記第2のデータとしても用いられる重複データを、前記第1の関数を実行する際に指定する順序に対応する前記引数記憶部の所定のアドレスに格納するとともに、前記引数記憶部の別の領域であって、前記第2の関数を実行する際に指定する順序に対応する前記引数記憶部の所定アドレスに格納し、前記テスト・プログラムを実行して前記第2の関数を呼び出すときに、前記第2の関数に対応して前記引数記憶部の前記所定アドレスに格納された前記重複データを読み出して前記一時記憶部に一時的に格納する制御部と、
を備えることを特徴とする半導体試験システム。It is described in a test program creation language used to create a test program for testing a semiconductor device, executes a first function provided in the test program creation language, and for creating the test program In a semiconductor test system for testing a semiconductor device according to a test program that calls a second function provided in a language other than a language,
An argument storage unit for storing first data used as an argument of the first function and second data used as an argument of the second function;
In order to transfer the second data from the test program creation language processing system to the other language processing system when the test program is executed and the second function is called, A temporary storage unit for temporarily storing data,
The duplicate data used as the first data and also used as the second data is stored at a predetermined address of the argument storage unit corresponding to the order specified when the first function is executed. , Another area of the argument storage unit, which is stored in a predetermined address of the argument storage unit corresponding to the order specified when executing the second function, and the test program is executed to execute the test program A control unit that reads out the duplicate data stored in the predetermined address of the argument storage unit corresponding to the second function and temporarily stores the duplicate data in the temporary storage unit when the function of 2 is called;
A semiconductor test system comprising:
前記重複データと、この重複データが格納される前記引数記憶部のアドレスとの対応関係を示す情報を記憶するテーブル部をさらに備え、
前記制御部は、前記テーブル部に記憶された前記対応関係を示す情報に基づいて、前記重複データを前記所定アドレスに格納することを特徴とする半導体試験システム。In claim 1,
A table unit for storing information indicating a correspondence relationship between the duplicate data and the address of the argument storage unit in which the duplicate data is stored;
The said control part stores the said duplication data in the said predetermined address based on the information which shows the said correspondence memorize | stored in the said table part, The semiconductor test system characterized by the above-mentioned.
前記引数記憶部は、前記第2の関数と、前記重複データが格納された前記引数記憶部のアドレスとの対応関係を示す情報を記憶することを特徴とする半導体試験システム。In claim 1,
The argument storage unit stores information indicating a correspondence relationship between the second function and an address of the argument storage unit in which the duplicate data is stored.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP34011399A JP4132504B2 (en) | 1999-11-30 | 1999-11-30 | Semiconductor test system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP34011399A JP4132504B2 (en) | 1999-11-30 | 1999-11-30 | Semiconductor test system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2001154865A JP2001154865A (en) | 2001-06-08 |
| JP4132504B2 true JP4132504B2 (en) | 2008-08-13 |
Family
ID=18333854
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP34011399A Expired - Fee Related JP4132504B2 (en) | 1999-11-30 | 1999-11-30 | Semiconductor test system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4132504B2 (en) |
-
1999
- 1999-11-30 JP JP34011399A patent/JP4132504B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2001154865A (en) | 2001-06-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2004164554A (en) | Program execution monitoring device and method | |
| US6735774B1 (en) | Method and apparatus for system call management | |
| JP4132504B2 (en) | Semiconductor test system | |
| JPH03184123A (en) | Procedure state description element system for digital data processor | |
| JP2004192139A (en) | Debugging device, debugging method, and recording medium | |
| JP4006120B2 (en) | Logic synthesis device | |
| JP2573391B2 (en) | Programmable controller | |
| JP3210203B2 (en) | Program test method and SQL simulator | |
| JPH04284539A (en) | Program linking system for information processor | |
| JP3298163B2 (en) | Program management method | |
| CN121541984A (en) | A simulation verification method and apparatus for interrupt nesting based on CPU isolation and fault tracing. | |
| JPH05233748A (en) | Simulation method | |
| JPH01205348A (en) | Program debugging system | |
| JPH03129535A (en) | Collecting volume optimizing system for debugging information | |
| JP2004302856A (en) | Integrated circuit device and data configuring device for device thereof | |
| JPH0588879A (en) | Program development support system | |
| JP2021157594A (en) | Anomaly detection method, anomaly detection program, anomaly detection device, rewriting method, rewriting program and rewriting device | |
| JPS6214240A (en) | Program inspecting system | |
| JPS63257839A (en) | Debug system for test program | |
| JPS63157240A (en) | Digital control device | |
| JPS58129657A (en) | Controller for microprogram | |
| JPH09146793A (en) | Program evaluation method and device | |
| JPH03201143A (en) | Dynamic built-in system for primitive routine | |
| JPH03167637A (en) | Test diagnostic system for information processor | |
| JPH04174028A (en) | Control storage overlay system by in-program loader |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060915 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080212 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080411 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080520 |
|
| 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: 20080602 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110606 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120606 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120606 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130606 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130606 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130606 Year of fee payment: 5 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |