説明

テストプログラム評価装置

【課題】テストプログラムが規則に準拠しているか否かの検証を人手を介すことなく自動的に行う。
【解決手段】半導体集積回路を動作試験をするために半導体集積回路試験装置が実行するテストプログラムを記憶するテストプログラム記憶手段と、テストプログラムの作成上の規則を規定する規則定義情報を記憶する規則定義情報記憶手段と、テストプログラムが規則定義情報に規定された規則に準拠しているか否かを検証するテストプログラム検証手段と、該テストプログラム検証手段の検証結果を外部に出力する出力手段とを具備する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、テストプログラム評価装置に関する。
【背景技術】
【0002】
例えば下記特許文献1、2には、半導体集積回路試験装置(ICテスタとも言う)が実行するテストプログラムの作成やそのデバッグに関する技術が開示されている。半導体集積回路試験装置は、周知のように半導体集積回路(被測定デバイス)の動作試験を行う装置であり、テストプログラムに基づいて半導体集積回路に所定の試験用信号を供給して出力される信号を評価することにより動作を試験する。
【0003】
上記テストプログラムは、半導体集積回路を製造する個々のメーカや当該メーカーから委託を受けたソフトウエア開発業者によって作成されるものであるが、このようなテストプログラムの作成者は、テストプログラムの作成について各種の規則を設定し、この規則に準拠したテストプログラムを作成するようにしている。このような規則は、作成者における半導体集積回路の製造経験やテストプログラムの作成経験等を背景として設定されるものであり、作成者に経験等に応じた種々の項目が含まれる。
【特許文献1】特開2002−148317号公報
【特許文献2】特開2003−167033号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで、作成されたテストプログラムが規則に準拠しているか否かの検証を人手に頼っているのが現状である。すなわち、テストプログラムの評価者は、テストプログラムを目視確認することによって当該テストプログラムが規則を満足するものでるか否かを判断する。しかしながら、半導体集積回路の大集積化や試験項目の増大に起因してテストプログラムが大規模化する傾向にあり、テストプログラムが規則に準拠しているか否かの検証を人手で行うことは非現実的になりつつある。
また、人手によるテストプログラムの検証は、評価者の熟練や注意力等に左右され易く、よって検証精度が低い手法である。したがって、テストプログラムが規則に準拠するか否かをより精度良く検証する手法の開発が切望されている。
【0005】
本発明は、上述した事情に鑑みてなされたものであり、以下の点を目的とするものである。
(1)テストプログラムが規則に準拠しているか否かの検証を人手を介すことなく自動的に行う。
(2)テストプログラムが規則に準拠しているか否かの検証精度を向上させる。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明では、第1の解決手段として、半導体集積回路の動作を試験するために半導体集積回路試験装置が実行するテストプログラムを記憶するテストプログラム記憶手段と、テストプログラムの作成上の規則を規定する規則定義情報を記憶する規則定義情報記憶手段と、テストプログラムが規則定義情報に規定された規則に準拠しているか否かを検証するテストプログラム検証手段と、該テストプログラム検証手段の検証結果を外部に出力する出力手段とを具備する、という手段を採用する。
【0007】
第2の解決手段として、上記第1の手段において、規則定義情報を操作入力するための操作部と、該操作部が受け付けた規則定義情報に基づいて規則定義ファイルを作成して前記規則定義情報記憶手段に記憶させる規則定義ファイル作成手段とをさらに具備する、という手段を採用する。
【0008】
第3の解決手段として、上記第1または第2の手段において、テストプログラム検証手段は、テストプログラムの言語構造を解析することにより当該テストプログラムに関する言語構造データベースを生成し、該言語構造データベースと規則定義情報とを照合することによりテストプログラムを検証する、という手段を採用する。
【0009】
第4の解決手段として、上記第3の手段において、テストプログラム検証手段は、テストプログラムのコンパイラを用いてテストプログラムの言語構造を解析する、という手段を採用する。
【0010】
第5の解決手段として、上記第1〜第4いずれかの手段において、規則定義情報は、半導体集積回路に入力する試験用信号の入力順序を規定する規則項目を含み、テストプログラム検証手段は、テストプログラムにおける試験用信号を示すプログラム言語の並び順を評価することにより、テストプログラムが上記規則項目に準拠するか否かを検証する、という手段を採用する。
【発明の効果】
【0011】
本発明によれば、テストプログラム評価装置の構成要件であるテストプログラム検証手段がテストプログラムが規則定義情報に規定された規則に準拠しているか否かを検証するので、テストプログラムが規則定義情報に規定された規則に準拠しているか否かを人手に依らず自動的に検証することができる。また、本発明によれば、人手による検証に比較して検証精度が高い。
【発明を実施するための最良の形態】
【0012】
以下、図面を参照して、本発明の一実施形態について説明する。
図1は、本実施形態に係るテストプログラム評価装置Aの機能構成を示すシステム構成図である。本テストプログラム評価装置Aは、図示するように、操作部1、表示部2(出力手段)、ハードディスク装置3(テストプログラム記憶手段、規則定義情報記憶手段)、メモリ4、CPU(Central Processing Unit)5及びシステムバス6から構成されている。なお、これら各構成要素のうち、メモリ4、CPU5及びシステムバス6は、テストプログラム検証手段及び規則定義ファイル作成手段を構成している。
【0013】
また、図示するように、ハードディスク装置3は、テストプログラム3a及び規則定義ファイル3bを記憶する。メモリ4は、規則定義ファイル作成プログラム4a、コンパイラ4b、評価プログラム4c及び言語構造データベース4dを記憶する。
【0014】
操作部1は、キーボードあるいは/及びマウス等のポインティングデバイスであり、後述する規則定義情報を本テストプログラム評価装置Aに操作入力するためのものである。詳細については後述するが、本テストプログラム評価装置Aのユーザは、操作部1を手操作することによって規則定義情報を本テストプログラム評価装置Aに順次入力する。表示部2は、例えば液晶ディスプレイであり、CPU5による制御下でテストプログラム3aの検証結果や本テストプログラム評価装置Aの動作状態等を表示する。
【0015】
ハードディスク装置3は、所定の磁性体が塗布されたディスク上にテストプログラム3a及び規則定義ファイル3bを記憶する記憶装置である。テストプログラム3aは、IC(Integrated Circuit)やLSI(Large Scale Integration)等の半導体集積回路の動作を試験するために半導体集積回路試験装置(ICテスタとも言う)が実行するプログラムである。
【0016】
ここで、周知のように、半導体集積回路試験装置は、所定の試験用信号を半導体集積回路(被測定デバイス)の各入力端子に入力して得られる半導体集積回路の出力信号(被評価信号)を期待値と比較することにより当該半導体集積回路の動作状態を評価するものである。半導体集積回路の動作状態を評価するための評価項目(試験項目)は通常多岐に亘っており、半導体集積回路試験装置は、試験項目毎に異なる試験用信号を半導体集積回路に入力し、各々の試験用信号に応じて半導体集積回路から出力される被評価信号を評価条件(期待値)を満足するか否かを評価する。
【0017】
テストプログラム3aは、このような半導体集積回路試験装置の試験動作(試験処理)を規定するプログラムであり、半導体集積回路試験装置の仕様に特化した専用のプログラム言語で記述されたものである。このテストプログラム3aは、試験用信号の仕様や当該試験用信号の上記各入力端子との関係、また上記評価条件等々を試験項目毎に規定する。
【0018】
図2は、テストプログラム3aの内容の一例を示すものであり、予め用意されたテンプレートを用いて作成されたものである。このテストプログラム3aは、上記試験項目に対応するテストセクションtest001,test002,……が試験順序に従って順次記述されたものであり、各テストセクションtest001,test002,……は、複数のテストセグメントから構成されている。なお、テストプログラム3aは、テンプレートを使用することなく、テキストエディタを用いることにより文字を逐次入力して作成される場合もある。
【0019】
このテストセグメントは、半導体集積回路(被測定デバイス)の各入力端子に供給する試験用信号の設定や半導体集積回路(被測定デバイス)から出力される被評価信号の評価条件の設定等、つまり半導体集積回路(被測定デバイス)を試験する際の各種試験条件の設定情報が記述されるものである。なお、各テストセクションtest001,test002,……の先頭には、各テストセクションtest001,test002,……で使用するテンプレートの名称(テンプレート名)が「/* TEMPLATE : test_001.tmplt */」のように宣言されている。
【0020】
この図2において、「dps(1) {………}」や「pin(INPIN1) {………}」は、各々にテストセグメントである。「dps(1) {………}」は、半導体集積回路(被測定デバイス)に電源を供給するDPSモジュールの設定を規定するテストセグメントであり、「pin(INPIN1) {………}」は、半導体集積回路試験装置における第1ピン(ピンエレクトロニクス)の評価信号の評価条件を規定するテストセグメントである。
【0021】
「dps(1) {………}」では、例えば電源電圧を示す変数vに値として3.2V(ボルト)を設定すること、電源電流を示す変数iに値として10MA(ミリアンペア)を設定すること等、DPSモジュールに関する各種設定項目の設定値がそれぞれ記述されている。また、「pin(INPIN1) {………}」では、上記評価条件の1つである上限電圧を示す変数vihに値として3.0V(ボルト)を設定すること、下限電圧を示す変数vilに値として0.5V(ボルト)を設定すること等の第1ピン(ピンエレクトロニクス)の評価条件に関する設定値がそれぞれ記述されている。
【0022】
規則定義ファイル3bは、このようなテストプログラム3aの作成上の規則を規定する規則定義情報が登録されたテキストファイルであり、上記操作部1が受け付けた規則定義情報に基づいてハードディスク装置3に記憶されたものである。このような規則定義ファイル3bに登録された規則定義情報についてさらに詳しく説明すると、当該規則定義情報は、テストプログラム3aの作成上の約束事項を1あるいは複数の規則項目に亘って記述したものであり、一例として以下のような内容である。
【0023】
〔規則定義情報〕
規則項目001:電圧を示す変数(電圧変数)の先頭文字は「v」とする。
規則項目002:変数や値の型が「文字列」の関数については関数名の先頭文字を「c」とする。
規則項目003:半導体集積回路試験装置の第3ピンに入力を設定した後に第5ピンの入力を設定する。
【0024】
このような規則定義情報において、規則項目001は、テストプログラム3a内で使用する変数の名前の付与方法に関する規則を具体的に規定するものである。また、規則項目002は、関数に代入される変数や値の型に応じて関数名の付与規則を具体的に規定するものである。
【0025】
規則項目003は、半導体集積回路(被測定デバイス)に入力する試験用信号の供給順序を具体的に規定する規則である。例えば半導体集積回路(被測定デバイス)には、電源ピン(第3ピン)に電源(試験用信号)を入力する前に制御ピン(第5ピン)に制御信号(試験用信号)を入力した場合に内部回路を破壊する場合があるので、上記規則項目003は、このような半導体集積回路(被測定デバイス)の事情に対応する規則である。なお、上記規則定義情報はあくまで一例であり、この他にも種々の規則が考えられる。
【0026】
メモリ4は、RAM(Random Access Memory)及びROM(Read Only Memory)から構成されており、規則定義ファイル作成プログラム4a、コンパイラ4b、評価プログラム4c及び言語構造データベース4dを記憶する。規則定義ファイル作成プログラム4aは、操作部1が受け付けた規則定義情報に基づいて規則定義ファイル3bを作成する一種のテキストエディタである。
【0027】
コンパイラ4bは、テストプログラム3a(プログラム言語で記述されたもの)をCPU5が実行することが可能な機械語(2進数のビット列)に変換するプログラムである。このコンパイラ4bは、上記機械語の生成過程において、テストプログラム3aの言語構造を解析することにより言語構造データベース4dを生成する。評価プログラム4cは、テストプログラム3aが規則定義ファイル3b内の規則定義情報に規定された規則に準拠しているか否かを検証するプログラムである。
【0028】
言語構造データベース4dは、上述したようにコンパイラ4bの処理過程で生成されるデータベースであり、テストプログラム3aの言語構造を示す。すなわち、この言語構造データベース4dは、テストプログラム3aがどのようなテストセクションから構成されており、また各テストセクションがどのようなテンプレート及びテストセグメントから構成されているか、また各テストセグメントにおいてどのような変数が定義され、各変数にどのような値が設定されているかを示すものである。
【0029】
例えば、図2に示したテストプログラム3aに関する言語構造データベース4dは、テストセクションtest001で使用するテンプレートの名称が「test_001.tmplt」であること、テストセグメントがDPSモジュールの設定を規定する「dps(1) {………}」、第1ピン(ピンエレクトロニクス)の評価信号の評価条件を規定する「pin(INPIN1) {………}」等であること、またDPSモジュールに関する設定項目(変数)が「v」、「i」、「vrng」、「irng」、「vi」、「rly」であること、これら各変数の設定値が「3.2V」、「10MA」、「R8V」、「R250NA」、「vfm」、「dir」であることを示すものである。
【0030】
CPU5は、例えば64ビットCISC(Complex Instruction Set Computer)プロセッサであり、上記規則定義ファイル作成プログラム4a、コンパイラ4b及び評価プログラム4cを実行することにより、システムバス6を介して上記操作部1、表示部2、ハードディスク3及びメモリ4を統括的に制御する。システムバス6は、例えばPCI(Peripheral Component Interconnect)バスであり、操作部1、表示部2、ハードディスク3、メモリ4及びCPU5を通信可能に相互接続する。
【0031】
次に、このように構成された本テストプログラム評価装置Aの動作について、図4に示すフローチャートに沿って詳しく説明する。なお、このフローチャートは、規則定義ファイル作成プログラム4a、コンパイラ4b及び評価プログラム4cを実行することによるCPU5の処理手順を示している。
【0032】
最初に、CPU5は、規則定義ファイル作成プログラム4aを実行することにより、規則定義ファイル3bの作成と当該規則定義ファイル3bのハードディスク装置3への保存を行う(ステップS1)。すなわち、本テストプログラム評価装置Aのユーザは、操作部1を用いて所定の操作指示を入力することにより規則定義ファイル作成プログラム4aを起動させ、当該規則定義ファイル作成プログラム4aに基づいてCPU5が表示部2に表示させる規則定義ファイル作成画面に、上述したような複数の規則項目に亘る規則定義情報を順次入力する。この結果、CPU5は、規則定義ファイル作成プログラム4aに基づいて上記規則定義情報が登録された規則定義ファイル3bを生成してハードディスク装置3に保存(記憶)させる。
【0033】
続いて、CPU5は、コンパイラ4bを実行することにより、テストプログラム3aを言語解析することによりテストプログラム3aの言語構造データベース4dを生成してメモリ4に記憶させる(ステップS2)。すなわち、ユーザは、規則定義ファイル作成プログラム4aを用いた規則定義ファイル3bの作成が完了すると、操作部1を用いて所定の操作指示を入力することによりコンパイラ4bを起動させる。そして、CPU5は、当該コンパイラ4bに基づいてテストプログラム3aの言語構造を解析し、この解析結果を示す言語構造データベース4dをメモリ4に保存(記憶)させる。上記ステップS1,S2の処理によって、テストプログラム3aの評価に必要な規則定義ファイル3b及び言語構造データベース4dが本テストプログラム評価装置A内に用意されたことになる。なお、言語構造データベース4dについては、メモリ4ではなくハードディスク装置3に記憶させるようにしても良い。
【0034】
続いて、CPU5は、評価プログラム4cを実行することにより、規則定義ファイル3bのメモリ4への転送(ステップS3)及びテストプログラム3aの検証(ステップS4)を行う。すなわち、ユーザは、言語構造データベース4dのメモリ4への保存が完了すると、操作部1を用いて所定の操作指示を入力することにより評価プログラム4cを起動させる。そして、CPU5は、評価プログラム4cに基づいて、ハードディスク装置3に保存されている規則定義ファイル3bをメモリ4に転送し、この結果何れもメモリ4に記憶された規則定義ファイル3bと言語構造データベース4dとを比較照合することによりテストプログラム3aが規則定義ファイル3b内に規則定義情報として規定された規則に準拠しているか否かを検証する。
【0035】
例えば、図2に示されたテストプログラム3aが上述した規則項目001に準拠しているか否かを検証する場合、CPU5は、言語構造データベース4dに登録された全ての電圧変数を検索し、その名称の先頭文字は「v」か否かを確認する。また、CPU5は、テストプログラム3aが上述した規則項目002に準拠しているか否かを検証する場合、言語構造データベース4dに登録された全ての関数のうち、変数や値の型が「文字列」の関数を検索し、その関数名の先頭文字が「c」か否かを確認する。
【0036】
また、CPU5は、テストプログラム3aが上述した規則項目003に準拠しているか否かを検証する場合、言語構造データベース4dに登録された全てのピン(ピンエレクトロニクス)の設定の並び順を検索し、この並び順が第3ピンの後に第5ピンの順序になっているか否かを確認する。
【0037】
そして、CPU5は、規則定義ファイル3bに登録された全ての規則項目についてテストプログラム3aの検証が完了すると、この検証結果を表示部2に出力して表示させる(ステップS5)。以上のステップS1〜S5の一連の処理によって、テストプログラム3aの検証処理が完了するが、ハードディスク装置3に複数のテストプログラム3aが保存されている場合には、ステップS1〜S5の一連の処理を各テストプログラム3aについて行うことにより全てのテストプログラム3aの検証が終了する。
【0038】
このような本実施形態によれば、CPU5が規則定義ファイル作成プログラム4a、コンパイラ4b及び評価プログラム4cを実行することにより、テストプログラム3aが規則定義ファイル3b内の規則定義情報に準拠しているか否かを自動的に検証することができる。この検証は、ユーザが指定した規則定義情報とテストプログラム3aから作成された言語構造データベース4dとをCPU5が比較照合することにより行われるので、従来のように人手による検証に比較して検証精度が高く、また検証時間も短い。
【0039】
なお、本発明は、上記実施形態に限定されるものではなく、例えば以下のような変形例が考えられる。
(1)上記実施形態のテストプログラム評価装置Aは、規則に対するテストプログラム3aの検証機能に加えて、規則定義ファイル3bの作成機能をも備えるように構成されているが、規則定義ファイル3bの作成機能を省略し、外部で作成された規則定義ファイル3bをハードディスク装置3に記憶させるようにしても良い。
【0040】
(2)上記実施形態では、テストプログラム3a用のコンパイラ4bを用いて言語構造データベース4dを生成するようにしたが、これは、コンパイラ4bが機械語を生成する過程においてテストプログラム3aをプログラム言語の文法に照らして言語構造解析することを利用したものである。したがって、コンパイラ4bをテストプログラム評価装置Aから削除すると共に別の装置に搭載したコンパイラによって言語構造データベース4dを作成し、この言語構造データベース4dをメモリ4に記憶するようにしても良い。
【0041】
(3)上記実施形態では、ファイルサイズが比較的大きいテストプログラム3a及び規則定義ファイル3bをハードディスク装置3に記憶し、ファイルサイズが比較的小さい規則定義ファイル作成プログラム4a、コンパイラ4b及び評価プログラム4cをメモリ4に記憶させたが、ハードディスク装置3やメモリ4の使用方法はこれに限定されない。特に、上記実施形態では、高速処理を実現するために規則定義ファイル3bをハードディスク装置3からメモリ4に転送した上で言語構造データベース4dと比較照合しているので、規則定義ファイル3bを最初からメモリ4上に保存(記憶)させるようにしても良い。
【図面の簡単な説明】
【0042】
【図1】本発明の一実施形態に係るテストプログラム評価装置Aの機能構成を示すシステム構成図である。
【図2】本発明の一実施形態におけるテストプログラム3aの一例を示す模式図である。
【図3】本発明の一実施形態に係るテストプログラム評価装置Aの動作を示すフローチャートである。
【符号の説明】
【0043】
A…テストプログラム評価装置、1…操作部、2…表示部(出力手段)、3…ハードディスク装置(テストプログラム記憶手段、規則定義情報記憶手段)、3a…テストプログラム、3b…規則定義ファイル、4…メモリ、4a…規則定義ファイル作成プログラム、4b…コンパイラ、4c…評価プログラム、4d…言語構造データベース、5…CPU、6…システムバス

【特許請求の範囲】
【請求項1】
半導体集積回路の動作を試験するために半導体集積回路試験装置が実行するテストプログラムを記憶するテストプログラム記憶手段と、
前記テストプログラムの作成上の規則を規定する規則定義情報を記憶する規則定義情報記憶手段と、
前記テストプログラムが前記規則定義情報に規定された規則に準拠しているか否かを検証するテストプログラム検証手段と、
該テストプログラム検証手段の検証結果を外部に出力する出力手段と
を具備することを特徴とするテストプログラム評価装置。
【請求項2】
前記規則定義情報を操作入力するための操作部と、
該操作部が受け付けた前記規則定義情報に基づいて規則定義ファイルを作成して前記規則定義情報記憶手段に記憶させる規則定義ファイル作成手段と
をさらに具備することを特徴とする請求項1記載のテストプログラム評価装置。
【請求項3】
前記テストプログラム検証手段は、前記テストプログラムの言語構造を解析することにより当該テストプログラムに関する言語構造データベースを生成し、該言語構造データベースと前記規則定義情報とを照合することにより前記テストプログラムを検証することを特徴とする請求項1または2記載のテストプログラム評価装置。
【請求項4】
前記テストプログラム検証手段は、前記テストプログラムのコンパイラを用いて前記テストプログラムの言語構造を解析することを特徴とする請求項3記載のテストプログラム評価装置。
【請求項5】
前記規則定義情報は、前記半導体集積回路に入力する試験用信号の入力順序を規定する規則項目を含み、
前記テストプログラム検証手段は、前記テストプログラムにおける前記試験用信号を示すプログラム言語の並び順を評価することにより、前記テストプログラムが前記規則項目に準拠するか否かを検証することを特徴とする請求項1〜4いずれか一項に記載のテストプログラム評価装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2010−44694(P2010−44694A)
【公開日】平成22年2月25日(2010.2.25)
【国際特許分類】
【出願番号】特願2008−209774(P2008−209774)
【出願日】平成20年8月18日(2008.8.18)
【出願人】(000006507)横河電機株式会社 (4,443)
【Fターム(参考)】