JP2006031354A - テストプログラム生成装置及びテストプログラム生成システム - Google Patents
テストプログラム生成装置及びテストプログラム生成システム Download PDFInfo
- Publication number
- JP2006031354A JP2006031354A JP2004208581A JP2004208581A JP2006031354A JP 2006031354 A JP2006031354 A JP 2006031354A JP 2004208581 A JP2004208581 A JP 2004208581A JP 2004208581 A JP2004208581 A JP 2004208581A JP 2006031354 A JP2006031354 A JP 2006031354A
- Authority
- JP
- Japan
- Prior art keywords
- test
- function
- program generation
- test program
- template
- 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.)
- Pending
Links
Images
Abstract
【課題】システム本体の改修無しで新たなテスト手法に適応できるテストプログラム生成装置及びテストプログラム生成システムを得る。
【解決手段】プログラム生成機能14は、テストスペック2に記述されているテンプレート名に基づいて、対応する能動的テンプレート12を雛形ライブラリデータベース13から起動する。能動的テンプレート12と中間パラメータ10との関連付はテストスペック編集機能7によってなされており、起動された能動的テンプレート12は、中間パラメータ群の中から必要な中間パラメータ10を取り込むことによって、テストプログラム5を生成する。
【選択図】図1
【解決手段】プログラム生成機能14は、テストスペック2に記述されているテンプレート名に基づいて、対応する能動的テンプレート12を雛形ライブラリデータベース13から起動する。能動的テンプレート12と中間パラメータ10との関連付はテストスペック編集機能7によってなされており、起動された能動的テンプレート12は、中間パラメータ群の中から必要な中間パラメータ10を取り込むことによって、テストプログラム5を生成する。
【選択図】図1
Description
本発明は、半導体装置のテスタ用のテストプログラムを生成するテストプログラム生成装置及びテストプログラム生成システムに関する。
従来のテストプログラム生成システムは、半導体装置の設計CADツールと、テストプログラム生成ツールと、雛形ライブラリとを備えて構成されている。雛形ライブラリには、テスト条件部分のみを虫食い式としたテンプレートが登録されている。テストプログラム生成ツールは、設計CADから送られてきた設計パラメータと、雛形ライブラリに登録されているテンプレートとに基づいて、テストプログラムを生成する。
なお、従来のテストプログラム生成システムの一例が、下記特許文献1に開示されている。
しかしながら、従来のテストプログラム生成システムには、以下に述べるような問題があった。
(1)テストプログラムの出力(既存と異なるテスト方法、新規製品対応)が頻繁に変更になると、度々雛形ライブラリ開発、ほとんどの場合プログラム生成ツールの改修が発生し、自動生成の適用制約が多かった。
(2)従来の自動生成では、決まったルールでテストプログラムを出力するために、設定が冗長となり、テスト時間が延びることが多かった。
(3)上記(1)で生成されたテストプログラムは、人手で調整、変更を行う必要が生じるため、スタッフには、各テスタのH/W、テストプログラム言語についての高度な知識が必要とされる。
(4)従来のテストプログラム生成システムでは、テストスペックにテスタ制約を盛り込む必要があったため、テストスペックを作成するチップ設計者は、評価、量産で使用するテスタの制約を細かく理解しておく必要があった。
(5)上記(3)のとおり、人手による変更、改修を行うと、テストスペックとテストプログラムとの関係が1対1で対応しなくなる。その状態で対応させるためには、テストプログラムからテストスペックへの逆変換が必要であり、逆変換の仕組みが無い場合は、生成したプログラムへの変更は、テストスペックへ戻すことができなくなる。
(6)上記(1)のシステムでは、一部の設定のみを修正した場合でも、テストプログラム全体を生成するため、余分なテストプログラム生成時間を要している。
(7)上記(1)で生成されたテストプログラムは、人手で調整、変更を行うことが可能であるため、プログラム変更、改修の際に、ミスが混入するおそれがある。
(8)従来の自動生成システムは、特定の利用者向けに、特定のUNIX(R)サーバ上にシステム構築されており、利用したい場所(出張先等)、タイミングですぐにプログラム生成することができない。
(1)テストプログラムの出力(既存と異なるテスト方法、新規製品対応)が頻繁に変更になると、度々雛形ライブラリ開発、ほとんどの場合プログラム生成ツールの改修が発生し、自動生成の適用制約が多かった。
(2)従来の自動生成では、決まったルールでテストプログラムを出力するために、設定が冗長となり、テスト時間が延びることが多かった。
(3)上記(1)で生成されたテストプログラムは、人手で調整、変更を行う必要が生じるため、スタッフには、各テスタのH/W、テストプログラム言語についての高度な知識が必要とされる。
(4)従来のテストプログラム生成システムでは、テストスペックにテスタ制約を盛り込む必要があったため、テストスペックを作成するチップ設計者は、評価、量産で使用するテスタの制約を細かく理解しておく必要があった。
(5)上記(3)のとおり、人手による変更、改修を行うと、テストスペックとテストプログラムとの関係が1対1で対応しなくなる。その状態で対応させるためには、テストプログラムからテストスペックへの逆変換が必要であり、逆変換の仕組みが無い場合は、生成したプログラムへの変更は、テストスペックへ戻すことができなくなる。
(6)上記(1)のシステムでは、一部の設定のみを修正した場合でも、テストプログラム全体を生成するため、余分なテストプログラム生成時間を要している。
(7)上記(1)で生成されたテストプログラムは、人手で調整、変更を行うことが可能であるため、プログラム変更、改修の際に、ミスが混入するおそれがある。
(8)従来の自動生成システムは、特定の利用者向けに、特定のUNIX(R)サーバ上にシステム構築されており、利用したい場所(出張先等)、タイミングですぐにプログラム生成することができない。
本発明は、このような問題を解決するために成されたものであり、主に、システム本体の改修無しで新たなテスト手法に適応できるテストプログラム生成装置及びテストプログラム生成システムを得ることを目的とする。
本発明に係るテストプログラム生成装置は、半導体装置のテスタ用のテストプログラムを生成するテストプログラム生成装置であって、前記半導体装置に応じたテストスペックを入力し、前記テストスペックを必要に応じて前記テスタごとの仕様に合わせて編集可能なテストスペック編集機能と、前記テストスペック編集機能から入力された前記テストスペックを登録するテストスペックデータベースと、前記テストスペックデータベースに登録されている前記テストスペックを形式変換することにより中間パラメータを生成するパラメータ生成機能と、前記テスタに依存する複数の能動的テンプレートを登録する雛形ライブラリデータベースと、前記雛形ライブラリデータベースに登録されている前記複数の能動的テンプレートの中から、前記テスタ及びテスト内容に応じて必要な前記能動的テンプレートを起動させ、起動した前記能動的テンプレートに必要な前記中間パラメータを取り込ませることによって前記テストプログラムを生成させる、プログラム生成機能とを備える。
本発明に係るテストプログラム生成装置によれば、システム本体の改修無しで新たなテスト手法に適応できる。
実施の形態1.
本実施の形態1では、本発明に係るテストプログラム生成システムの基本構成について説明する。
本実施の形態1では、本発明に係るテストプログラム生成システムの基本構成について説明する。
本発明に係るテストプログラム生成装置及びテストプログラム生成システムは、テストプログラムの雛形ライブラリを保有する方式であり、雛形ライブラリの代わりに言語辞書を持って逐次言語変換する方式とは、生成方式が若干異なる。
以下、本発明の実施の形態1に係るテストプログラム生成システムについて説明する。図1を参照して、符号5は、テスト項目単位のテストプログラム(ソースプログラム)を示している。テストプログラム生成システムは、半導体装置のテスタ用のテストプログラム5を自動的に生成するものである。
本実施の形態1に係るテストプログラム生成システムは、半導体装置の設計CADツール1と、テストプログラム生成装置と、コンパイラ15が存在する端末と、テストプログラム生成装置と設計CADツール1及び上記端末とを繋ぐネットワーク(LAN、インターネット等)とを備えている。テストプログラム生成装置は、ユーザ認証機能6、テストスペック編集機能7、テストスペックデータベース8、パラメータ生成機能9、プログラム生成機能14、雛形ライブラリデータベース登録機能11、及び雛形ライブラリデータベース13を有している。ユーザ認証機能6と、テストスペック編集機能7と、パラメータ生成機能9及びプログラム生成機能14と、雛形ライブラリデータベース登録機能11とは、それぞれ入力画面を有しており、ユーザは、これらの入力画面を参照しながら必要なデータの入力等を行う。
図1において、符号2は、設計CADツール1から得られるデバイス情報、テストパターン情報(タイミング設定値を含む)、及び電圧値等の設計パラメータ(以下「テストスペック」と称す)を示している。テストスペック編集機能7は、半導体装置に応じたテストスペック2(全テスタに共通)を入力し、テストスペック2を必要に応じてテスタごとの仕様に合わせて編集可能である。具体的には、設計CADツール1から得られたテストスペックに加え、テスタごとのオフセット値を含んだ設定値や、テスタ固有の機能を利用するために必要な設定値を、編集によって記述可能である。例えば、「テスタBは設計パラメータ、テスタAよりも若干遅いタイミングで測定する必要がある」という事実が既知である場合に、測定タイミングに関する同種のテストスペック2に関して、「テスタA用の測定タイミングは10nsec(設計パラメータ)」、「テスタB用の測定タイミングは12nsec」と設定することができる。この例において、後述のパラメータ生成機能9は、テスタA用のテストプログラム5を生成する際には、設計パラメータから得た基準の設定値「10nsec」を選択し、テスタB用のテストプログラム5を生成する際には、「12nsec」を選択する。
テストスペックデータベース8には、テストスペック編集機能7によって作成されたテストスペック2が登録されている。符号10は、テストプログラム5の生成に必要な中間パラメータを示している。パラメータ生成機能9は、テストスペックデータベース8を参照し、テストスペックデータベース8に登録されているテストスペック2を形式変換することにより、中間パラメータ10を生成する。中間パラメータ10の段階では、テスタ言語への変換は行われていない。
符号12は、必要な中間パラメータ10を用いて、テスト項目単位に能動的にテストプログラム5を生成する能動的テンプレートを示している。能動的テンプレート12は、それ自身が一種のプログラムであり、スクリプトで記述されている。雛形ライブラリデータベース13には、テスト方法ごとに準備されてテスタに依存する複数の能動的テンプレート12が登録されている。雛形ライブラリデータベース登録機能11は、能動的テンプレート12を雛形ライブラリデータベース13に登録し、登録済みテンプレートの検索及び履歴管理を行う。
プログラム生成機能14は、中間パラメータ10を参照し、テスト方法にマッチした能動的テンプレート12を起動する。具体的にプログラム生成機能14は、雛形ライブラリデータベース13に登録されている複数の能動的テンプレート12の中から、テスタ及びテスト内容に応じて必要な能動的テンプレート12(複数)を起動させる。そして、起動された能動的テンプレート12は、テストスペックデータベース8から必要な中間パラメータ10を取り込むことによって、テストプログラム5を生成する。
次に、動作について具体的に説明する。本システムを用いたテストプログラム生成処理は、大きく分けて3つの処理(能動的テンプレート12の登録処理、テストスペック2の編集処理、及びテストプログラム5の生成処理)によって構成される。以下、図2〜4に示したフローチャートを用いて各処理の説明を行う。
(1)能動的テンプレート12の登録処理
図2を用いて動作フローを説明する。まず、ユーザ認証機能6の入力画面において、ログイン、パスワードを入力し、ユーザ認証を行う(ステップS0201)。次に、雛形ライブラリデータベース登録機能11の入力画面において、登録する雛形ライブラリ名、テンプレート名を入力する(ステップS0202)。続いて雛形ライブラリデータベース登録機能11の入力画面において、後にテストスペック編集機能7の入力画面の表示内容を制御するための表示制御パラメータを入力する(ステップS0203)。
図2を用いて動作フローを説明する。まず、ユーザ認証機能6の入力画面において、ログイン、パスワードを入力し、ユーザ認証を行う(ステップS0201)。次に、雛形ライブラリデータベース登録機能11の入力画面において、登録する雛形ライブラリ名、テンプレート名を入力する(ステップS0202)。続いて雛形ライブラリデータベース登録機能11の入力画面において、後にテストスペック編集機能7の入力画面の表示内容を制御するための表示制御パラメータを入力する(ステップS0203)。
次に、雛形ライブラリデータベース登録機能11の入力画面にて、登録対象のテンプレートファイルを選択する(ステップS0204)。最後に、表示制御パラメータと能動的テンプレート12の本体とを雛形ライブラリデータベース13に登録する(ステップS0205)。
(2)テストスペック2の編集処理
図3を用いて動作フローを説明する。まず、ユーザ認証機能6の入力画面において、ログイン、パスワードを入力し、ユーザ認証を行う(ステップS0301)。次に、テストスペック編集機能7の入力画面にテストスペック2のデータを入力し、上記の通り必要に応じてテストスペック2をテスタごとの仕様に合わせて編集する(ステップS0302)。次に、テストスペック編集機能7は、入力されたデータにエラー(以下「入力エラー」と称す)が無いか否かをチェックする(ステップS0303,S0304)。
図3を用いて動作フローを説明する。まず、ユーザ認証機能6の入力画面において、ログイン、パスワードを入力し、ユーザ認証を行う(ステップS0301)。次に、テストスペック編集機能7の入力画面にテストスペック2のデータを入力し、上記の通り必要に応じてテストスペック2をテスタごとの仕様に合わせて編集する(ステップS0302)。次に、テストスペック編集機能7は、入力されたデータにエラー(以下「入力エラー」と称す)が無いか否かをチェックする(ステップS0303,S0304)。
入力エラーが発生している場合はテストスペック編集機能7の入力画面にエラーメッセージを表示し(ステップS0305)、ユーザは、エラーメッセージに従って、テストスペック2又は登録されている能動的テンプレート12を修正し(ステップS0302)、再度入力エラーをチェックする(ステップS0303)。入力エラーが無い場合は、テストスペックデータベース8にテストスペック2を登録する(ステップS0306)。
(3)テストプログラム5の生成処理
図4を用いて動作フローを説明する。まず、ユーザ認証機能6の入力画面において、ログイン、パスワードを入力し、ユーザ認証を行う(ステップS0401)。次に、パラメータ生成機能9を起動し(ステップS0402)、テストプログラム5の生成に必要な中間パラメータ10を生成する(ステップS0403)。図5は、中間パラメータ10の生成処理を示す模式図である。テストスペック編集機能7の入力画面においてテスタ及びテスト項目(つまり能動的テンプレート12)を選択すると、雛形ライブラリデータベース13に登録されている上記の表示制御パラメータに基づいて、テスタ及びテスト項目に応じた入力欄が作成されて表示される。ユーザは、半導体装置に応じたデータ(テスタに非依存)を入力欄に入力可能であり、また、必要に応じてテスタごとの仕様に依存するオフセット値を考慮したデータをも入力可能である。入力欄に必要なデータが入力されたものが、テストスペック2としてテストスペックデータベース8に登録される。そして、テストスペック2の中から必要なデータを抽出して形式変換したものが、中間パラメータ10として生成される。
図4を用いて動作フローを説明する。まず、ユーザ認証機能6の入力画面において、ログイン、パスワードを入力し、ユーザ認証を行う(ステップS0401)。次に、パラメータ生成機能9を起動し(ステップS0402)、テストプログラム5の生成に必要な中間パラメータ10を生成する(ステップS0403)。図5は、中間パラメータ10の生成処理を示す模式図である。テストスペック編集機能7の入力画面においてテスタ及びテスト項目(つまり能動的テンプレート12)を選択すると、雛形ライブラリデータベース13に登録されている上記の表示制御パラメータに基づいて、テスタ及びテスト項目に応じた入力欄が作成されて表示される。ユーザは、半導体装置に応じたデータ(テスタに非依存)を入力欄に入力可能であり、また、必要に応じてテスタごとの仕様に依存するオフセット値を考慮したデータをも入力可能である。入力欄に必要なデータが入力されたものが、テストスペック2としてテストスペックデータベース8に登録される。そして、テストスペック2の中から必要なデータを抽出して形式変換したものが、中間パラメータ10として生成される。
再び図4を参照して、ステップS0403に引き続いて、プログラム生成機能14を起動する(ステップS0404)。プログラム生成機能14は、テストスペック2によって指定されている能動的テンプレート12を、テスト項目ごとに順次起動していく(ステップS0406)。能動的テンプレート12起動時、複数のテストスペック2の組合せ(テストスペック2の編集処理時にはチェックできない項目である)等の問題でエラー(以下「起動時エラー」と称す)が発生する場合があり、プログラム生成機能14は、そのような起動時エラーが発生しているか否かをチェックする(ステップS0407)。起動時エラーが発生している場合はパラメータ生成機能9及びプログラム生成機能14の実行画面にエラーメッセージが表示され(ステップS0408)、ユーザは、エラーメッセージに従ってテストスペック2又は能動的テンプレート12を修正する(ステップS0409)。その後、修正された内容で中間パラメータ10の生成が再び実行される。
また、能動的テンプレート12は、マルチタスクOS上で複数同時に起動されており、能動的テンプレート12の起動時エラーが無く、全てのテスト項目単位のテストプログラム5が生成されるまで(ステップS0405の判定結果が「Yes」となるまで)、ステップS0402〜S0409の処理が繰り返し行われる。
図6は、テストプログラム5の生成処理を示す模式図である。プログラム生成機能14は、テストスペック2に記述されているテンプレート名(この情報は中間パラメータ10にも継承されている)に基づいて、対応する能動的テンプレート12を雛形ライブラリデータベース13から起動する。能動的テンプレート12と中間パラメータ10との関連付はテストスペック編集機能7によってなされており、起動された能動的テンプレート12は、中間パラメータ群の中から必要な中間パラメータ10を取り込むことによって、テストプログラム5を生成する。
テスト項目ごとのテストプログラム5の生成処理が終了すると、コンパイル処理(バイナリファイルへの変換)が行われる。以下、コンパイル処理について説明する。
再び図4を参照して、テストプログラム生成装置から各テスタのコンパイラ15が存在する端末に、テストプログラム5のファイル群が転送される(ステップS0410)。ファイル転送後、コンパイル処理のためのスクリプトを起動し、コンパイルを実行する(ステップS0411)。ここで、スクリプトも能動的テンプレート12の一つとして登録されており、テストプログラムのファイル群とともにスクリプトも、テストプログラム生成装置からコンパイラ15が存在する端末に転送される。
コンパイルエラーをチェックし(ステップS0412)、コンパイルエラーが発生した場合には、コンパイラ15が存在する端末からテストプログラム生成装置へエラーメッセージファイルが転送され、テストプログラム生成装置の画面にエラーメッセージが表示される(ステップS0413)。ユーザは、エラーメッセージに従い、テストスペック2又は能動的テンプレート12を修正し(ステップS0409)、中間パラメータ10の生成処理からやり直す。一方、コンパイラ15がコンパイルを正常に終了すれば、テスタ用のバイナリファイル16が完成する。
従来のテストプログラム生成ツール(パラメータ生成機能9及びプログラム生成機能14に相当する部分の機能、以下「生成ツール」と称する)は、一般に、生成ツール前段をテスタに依存しない処理とし、生成ツール後段をテスタに依存した処理として、処理を分担していた。これにより、テスタに依存する改修については、生成ツール全体に改修を掛ける必要はなく、生成ツール後段の改修だけであったので、これにより開発工期の短縮が企図されていた。しかし、テスタ依存である雛形ライブラリを追加したい場合には、生成ツール後段で仕様の不整合が発生していないかどうかをシステム全体に渡ってチェックする必要がある。また、登録手続が分からない等、生成ツールの詳細処理を理解していない者は、雛形ライブラリを容易には追加できない。そのため、CAD部門に依頼して生成ツールの改修を実施しなければならず、思うように工期短縮が図られていなかった。
本実施の形態1に係るテストプログラム生成装置では、生成ツールは、テストスペック編集機能7の入力画面に入力されたテストスペック2から中間パラメータ10を生成する前段の処理(パラメータ生成機能9)と、外部から自由に出し入れできる、システムと独立した能動的テンプレート12という仕組みと、能動的テンプレート12を起動するだけの、ツール後段の処理とに、役割が分担されている。
このように処理を独立分離させることにより、生成ツールの通常の改修はテスト項目に対応する能動的テンプレート12の追加、編集、削除が主なものとなるため、生成ツールの詳細処理を理解していなくても、ユーザが所望の能動的テンプレート12を作成して雛形ライブラリデータベース13に登録すれば、新機能等を容易に生成ツールに組み込むことが可能となる。従って、従来ならばCAD部門に依頼して生成ツールの改修に長期間を要していたのに対し、本実施の形態1に係るテストプログラム生成装置及びテストプログラム生成システムによれば、生成ツール自体の改修は不要となるので、開発工期を大幅に短縮することができる。
また、上記の通りテストスペック編集機能7は、テスタごとの仕様に合わせてテストスペック2を編集可能である。従って、全てのテスタに関して共通の値しか設定できないテストプログラム生成装置(例えば上記特許文献1参照)と比較すると、テスタの仕様に応じて最適な値のテストスペック2を設定することができ、各テスタの機能を最大限に活用することができる。
変形例として、テスタ依存の能動的テンプレート12を、ユーザ(テスト技術者)による改修要求の頻度が多いものと少ないものとに分類して管理してもよい。改修要求の頻度が多い能動的テンプレート12としては、テスト項目に関連するものがある。頻度が少ない能動的テンプレート12としては、プログラムの骨格形成やデータテーブルの作成に関連するもの(具体的には、テスタ依存のプログラム記述の制限事項に対する処理、最適化処理等)がある。
なお、エクセルシートにテスト条件を入力してテストプログラム5又はバイナリファイル16を生成するツールが存在し、簡易なテンプレートを登録できるテストプログラム生成装置がすでに存在する。しかし、この場合であっても、テンプレートの登録において、テスト条件の入力に対応するセルの設計をしなければならず、生成ツールの仕組みを理解しておく必要があり、生成ツールが容易に機能するとは考えにくい。これに対し、本実施の形態1に係るテストプログラム生成装置は、生成されるテストプログラム5の完成度が極めて高いシステムであるにも関わらず、CAD部門に改修依頼をすることなく、ユーザが容易に作成できる能動的テンプレート12を雛形ライブラリデータベース13に登録した時点で、生成ツールを機能させることができる。
実施の形態2.
本実施の形態2では、システム全体を変更することなく、能動的テンプレート12の追加によって新たな機能を追加できるテストプログラム生成装置について説明する。
本実施の形態2では、システム全体を変更することなく、能動的テンプレート12の追加によって新たな機能を追加できるテストプログラム生成装置について説明する。
以下、本発明の実施の形態2に係るテストプログラム生成装置を、図7〜9を用いて説明する。図7において、符号12は、必要な中間パラメータ10を用いて能動的に、テスト項目単位にテストプログラム5を生成する能動的テンプレートを示している。図7に示した能動的テンプレート12が、新たに追加しようとするテンプレートである。符号13は、テスト方法ごとに準備された能動的テンプレート12を登録する雛形ライブラリデータベースを示している。符号11は、能動的テンプレート12を雛形ライブラリデータベース13に登録する雛形ライブラリデータベース登録機能を示している。符号17は、新たに追加しようとする能動的テンプレート12内のヘッダ部を示している。ヘッダ部17には、テストスペック編集機能7の入力画面の表示内容を制御するための表示制御パラメータが記述されている。符号18は、雛形ライブラリデータベース登録機能11の入力画面において表示制御パラメータを入力するためのパラメータ入力部を示している。
新規テストスペック入力欄を表示、プログラム生成する第1の方法を、図8のフローチャートを用いて説明する。まず、新たに追加したい能動的テンプレート12を作成する。その際、図7に示したように、能動的テンプレート12のヘッダ部17に、予め規定した文字列によって新規に利用したいパラメータ変数名を定義しておく(ステップS0901)。次に、ユーザ認証機能6の入力画面において、ログイン、パスワードを入力し、ユーザ認証を行う(ステップS0902)。次に、雛形ライブラリデータベース登録機能11によって、新たな能動的テンプレート12を追加するための新規入力画面(図7参照)を表示する(ステップS0903)。
次に、表示された新規入力画面において、所定のテンプレート登録情報を入力する(ステップS0904)。次に、雛形ライブラリデータベース登録機能11にて、能動的テンプレート12に関する新設パラメータが有るか否かをチェックし(ステップS0905)、新設パラメータが有る場合は、能動的テンプレート12のヘッダ部17に設定されている表示制御パラメータを読み取る(ステップS0906)。その後、読み取られた表示制御パラメータを、能動的テンプレート12の本体とともに、雛形ライブラリデータベース13に登録する(ステップS0907)。
次回テストスペック編集機能7起動時、新規登録された能動的テンプレート12が選択されると、テストスペック編集機能7の入力画面には、ステップS0907で雛形ライブラリデータベース13に登録された表示制御パラメータに基づき、ユーザが任意のデータを入力するためのテストスペック入力欄が表示される。新規表示されたテストスペック入力欄にテストスペック2が入力された後は、上記実施の形態1で説明した通り、テストプログラム5の生成が可能である。
また、入力禁止事項に関する情報をヘッダ部17に記述することによって、テストスペック入力欄の特定項目へのデータ入力をテスタごとに禁止する指定も可能である。例えば、「テスタAに関しては新規入力画面内のパラメータB1の入力を禁止する」ということである。
次に、新規テストスペック入力欄を表示、プログラム生成する第2の方法を、図9を用いて説明する。まず、新たに追加したい能動的テンプレート12を作成する(ステップS0801)。第2の方法では、図7に示したヘッダ部17にはパラメータ変数名は定義されていない。次に、ユーザ認証機能6の入力画面において、ログイン、パスワードを入力し、ユーザ認証を行う(ステップS0802)。次に、雛形ライブラリデータベース登録機能11によって、新たな能動的テンプレート12を追加するための新規入力画面(図7参照)を表示する(ステップS0803)。
次に、表示された新規入力画面において、所定のテンプレート登録情報を入力する(ステップS0804)。次に、雛形ライブラリデータベース登録機能11にて、能動的テンプレート12に関する新設パラメータが有るか否かをチェックし(ステップS0805)、新設パラメータが有る場合は、表示されている新規入力画面において、新設する表示制御パラメータをユーザが入力する(ステップS0806)。その後、入力された表示制御パラメータを、能動的テンプレート12の本体とともに、雛形ライブラリデータベース13に登録する(ステップS0807)。
次回テストスペック編集機能7起動時、新規登録された能動的テンプレート12が選択されると、テストスペック編集機能7の入力画面には、ステップS0807で雛形ライブラリデータベース13に登録された表示制御パラメータに基づき、ユーザが任意のデータを入力するためのテストスペック入力欄が表示される。新規表示されたテストスペック入力欄にテストスペック2が入力された後は、上記実施の形態1で説明した通り、テストプログラム5の生成が可能である。
また、上記した第1の方法と同様に、入力禁止事項に関する情報をステップS0806でユーザが入力することによって、テストスペック入力欄の特定項目へのデータ入力をテスタごとに禁止する指定も可能である。
従来の雛形ライブラリには上記のような機能は無く、テスト項目ごとに存在する制約を持ったS/Wを作り込んでシステム全体を改修していたため、仕様の変更への対応に長期間を要していた。若しくは、少しでも改修期間を短縮するために、テスタごとの入力禁止事項を設けないこと等により、テスト項目ごとに存在する制約を持たせないようにしていた。これに対して本実施の形態2に係るテストプログラム生成装置によれば、新規テストスペック入力欄の追加、及び不要なテストスペック入力欄の入力制限を、システムS/Wの改修を伴うことなく実現でき、短納期で対応できるようになる。
実施の形態3.
本実施の形態3では、プログラマブルなテストシーケンスを実現し得るテストプログラム生成装置について説明する。
本実施の形態3では、プログラマブルなテストシーケンスを実現し得るテストプログラム生成装置について説明する。
従来のライブラリ形式のテストプログラム生成装置では、テスト条件部分のみを虫食い式としたテンプレートが使用されており、テストシーケンス自体は固定されていた。従って、ユーザが実行したいテストシーケンスが既存のテンプレートでは実現できない場合には、その都度新たなテストシーケンスのテンプレートを作成して、雛形ライブラリに登録する必要があった。その結果、多数のテンプレートが登録されることによって雛形ライブラリが発散してしまうおそれがあった。
これに対して、本実施の形態3に係るテストプログラム生成装置においては、能動的テンプレート12の一部を所定のテストシーケンスの繰り返しとして記述し、その繰り返しを制御する情報としてのテストシーケンス入力欄(図10参照)を能動的テンプレート12の外部に用意することによって、新たな能動的テンプレート12を作成することなく、既存の能動的テンプレート12を用いてテストシーケンス動作を自由に設定可能とした。
テストスペック編集機能7で能動的テンプレート12を選択した時点で、テストシーケンス入力欄で設定可能なパラメータが制限される。これは、能動的テンプレート12のヘッダ部に禁止又は許可されたパラメータを宣言することで、テストスペック編集機能7が表示するテストスペック入力画面が連動して入力制限が掛かるようになっている。
次に、図10を用いて、テストシーケンス部分の構成を説明する。
テストシーケンス入力欄は複数の行を持ち、各行において、「コメント」、「テスト条件変更内容」、「テストパターン実行動作」、「待ち時間」、「テスト動作」、「テストパターン停止動作」の6種類の情報を任意に選択できるようになっている。なお、「コメント」は、現在実行されている行を表示するための項目である。
能動的テンプレート12は、テストプログラム5を生成する際、これらの6パターンを1つの構成要素(テストシーケンス)とし、繰り返し実行できるような仕組みを持つ。テストシーケンスの実行順序は、図10に示した矢印のとおりとなる。
テストシーケンス入力欄は、上記6パターンを1構成要素として1設定行とし、その6パターンに対する設定値及び設定行数によって、プログラマブルなテストシーケンスを実現する。また、テスト条件変更を実現することにより、動的なテスト条件の変更を実現する。能動的テンプレート12ごとに、1構成要素内の禁止事項や、複数行に渡って設定されている場合には構成要素間の禁止事項を記述することによって、詳細な制御が可能となる。
また、複数の構成要素とそのテストシーケンス情報との組合せにおいて、コメントからコメントまでを1テスト単位とすることにより、半導体装置のテストとして有意義なテストを実現することができる。また、シュムプロット等のデバイス評価用の特殊な能動的テンプレート12においても、対話型入力等の外部制御によって、これらのテスト単位を任意の組合せにて利用するような能動的テンプレート12の作成が可能である。
テスタ機種ごとに異なるテストシーケンス情報(テストパターン名、スタートアドレス、ストップアドレス)については、ラベル表記とし、別途、ラベルと、テストパターン名、スタートアドレス、ストップアドレスとを関連付けるための対応表を作成することにより、異なるテスタ機種間でのテストシーケンスの共有が可能となる。
さらに、1構成要素単位に、オン/オフ設定を設けることにより、一時的な実施の要否を制御(マスク)することも可能となる。
実施の形態4.
本実施の形態4では、ダイナミックなテストフローを実現し得るテストプログラム生成装置について説明する。
本実施の形態4では、ダイナミックなテストフローを実現し得るテストプログラム生成装置について説明する。
複雑なテストフローの一つとして、条件付きテスト実行(ある条件を満たした場合のみテストを実行する)がある。テストスペックデータベース8には類似品種のテストスペック2が共有されているため、本実施の形態4では、ユーザによるテストスペック2の入力量を極力抑えるために、テストスペック編集機能7に、テストスペック2に比較演算子を記入できる機能を持たせる。また、能動的テンプレート12に、テストスペック2に記入された比較演算子を解釈してテストプログラム5を生成できる機能を持たせる。図11に示した例によると、テストスペック編集機能7におけるテストフロー入力画面では、テスト項目「遅延時間測定テスト」の出力変数が「変数1=返り値」となっており、テスト項目「FUNC−B」の入力変数が「引数1=変数1」となっている。また、テストスペック編集機能7におけるテスト”FUNC−B”の入力画面では、テスト実行条件として、「引数1==TestPass」が設定されている。
従来のテストプログラム生成システムにおける雛形ライブラリでは、異なるテスト実行条件ごとに個別のテンプレートを作成する必要があるため、雛形ライブラリが発散する可能性がある。これに対し、本実施の形態4に係るテストプログラム生成装置によると、テストスペック編集機能7は、比較演算子を用いた記述によって任意のテスト実行条件を設定可能であり、また、能動的テンプレート12が比較演算子を解釈することによって、テストプログラム生成機能14は、テスト実行条件が満たされた場合にのみテストを実行するように記述されたテストプログラム5を生成可能である。従って、異なるテスト実行条件ごとに個別の能動的テンプレート12を作成する必要がないため、雛形ライブラリデータベース13に登録される能動的テンプレート12の数を削減でき、雛形ライブラリデータベース13が発散することを防止することができる。
実施の形態5.
本実施の形態5では、冗長なテスト条件設定の実行を回避し得るテストプログラム生成装置について説明する。
本実施の形態5では、冗長なテスト条件設定の実行を回避し得るテストプログラム生成装置について説明する。
従来のテストプログラム生成システムによって自動生成されたテストプログラムでは、直前に実行されたテスト内容に関わらず、該当テスト項目の全てのピンのテスト条件が再び設定されている。しかし、前回のテスト内容と設定が全く同じ条件のテストの場合にもテスト条件が再設定されるため、余分なテスト時間が費やされている。
本実施の形態5では、テストスペック2をテストスペックデータベース8に登録する際に、テスト条件ごとに識別番号(テーブルID)を割り付け、その識別番号を所定の変数に格納しておくとともに、テストプログラム5中にも出力させる。そして、設定された各テスト条件に基づく命令を実行する前に、上記所定の変数に基づき識別番号が直前に設定されたテスト条件の識別番号と同一であるか否かを判断し、再設定の要否を判断する仕組みとなっている。
図12に示した例では、電圧テーブルIDが「電圧テーブル1」及び「電圧テーブル2」の2個の電圧テーブルが、テストスペック2としてテストスペックデータベース8に登録されている。また、生成されたテストプログラム5に関しては、テスト100において、電圧テーブルIDが「電圧テーブル1」の電圧テーブルが設定されており、テスト100に続くテスト200においても、同様に電圧テーブルIDが「電圧テーブル1」の電圧テーブルが設定されている。つまり、電圧テーブルIDが同一である2個の電圧テーブルがテストプログラム5内で連続している。しかし、テストプログラム5には、テスト200に関して「if 電圧テーブルID==1 return」の条件が記述されているため、テスト200についての電圧設定はスキップされ、電圧設定動作は実行されない。
本実施の形態5に係るテストプログラム生成装置によれば、識別番号が直前に設定されたテスト条件の識別番号と同一である場合にはテスト条件の最設定を行わないため、無駄な動作を省略でき、テスト時間の短縮化を図ることができる。
実施の形態6.
本実施の形態6では、テンプレートごとに使用頻度を集計することにより、テンプレートの標準化を推進するテストプログラム生成装置について説明する。
本実施の形態6では、テンプレートごとに使用頻度を集計することにより、テンプレートの標準化を推進するテストプログラム生成装置について説明する。
雛形ライブラリデータベース13はユーザにも開放されており、雛形ライブラリデータベース13には、予め登録されている汎用性のある能動的テンプレート12(以下「標準テンプレート」と称す)に加えて、ユーザによって作成された汎用性のない能動的テンプレート12(以下「カスタムテンプレート」と称す)を追加して登録可能である。
図13に示すように、テストスペック編集機能7は、テストスペック2をテストスペックデータベース8に登録する際に、標準テンプレート及びカスタムテンプレートの各テンプレート名を雛形ライブラリデータベース登録機能11に通知し、雛形ライブラリデータベース登録機能11は、受け取ったテンプレート名を雛形ライブラリデータベース13内に控える。雛形ライブラリデータベース登録機能11は、標準テンプレート及びカスタムテンプレートが使用される度に、テンプレート名を用いて使用回数を集計する。その集計結果は、種々の標準化活動に利用される。
例えば、標準テンプレート及びカスタムテンプレートの使用頻度を電子メール等を通じて関係者(システムの開発者や管理者等)に通知することにより、関係者による各テンプレートの使用頻度の確認のために利用される。
あるいは、1つのソースプログラム中に使用頻度の高いカスタムテンプレートが存在する場合、雛形ライブラリデータベース登録機能11は、そのようなカスタムテンプレートの標準化を促すメッセージを、電子メール等を通じて関係者に通知する。関係者は、カスタムテンプレートの内容を検証し、そのカスタムテンプレートの機能を有する新たな標準テンプレートを作成したり、既存の標準テンプレートを改良する等して、ユーザによってカスタムテンプレートではなく標準テンプレートが使用されるよう対策を施す。これにより、カスタムテンプレートが無尽蔵に追加されることによって雛形ライブラリデータベース13が発散してしまう事態を回避することができる。
あるいは、標準テンプレートのバージョンが更新され、旧バージョンの標準テンプレートではテスト結果はPASSであったが新バージョンではFAILである場合、旧バージョンの標準テンプレートをカスタムテンプレートとして設定し直す。このような情報もシステム側で記録され、標準化された最新の能動的テンプレート12の改訂内容に反映されるように対応がとられる。
本実施の形態6に係るテストプログラム生成装置によれば、雛形ライブラリデータベース登録機能11は、標準テンプレート及びカスタムテンプレートの使用頻度を集計する機能を有している。従って、その集計結果に基づいて種々の標準化活動を実施することができ、カスタムテンプレートの増大に起因して雛形ライブラリデータベース13が発散する等といった事態を回避することが可能となる。
実施の形態7.
本実施の形態7では、テスト条件の冗長な設定を回避し得るテストプログラム生成装置について説明する。
本実施の形態7では、テスト条件の冗長な設定を回避し得るテストプログラム生成装置について説明する。
例えば特定のピンに対する電圧設定条件のみを変更して複数のテストを連続して実行する場合、従来のテストプログラム生成システムでは、全てのテストに関してその特定のピンに対する電圧設定条件が冗長に記述されたテストプログラムが生成されていた。例えば図14の例に示すように、Test100でpin1に3.5Vの電圧が印加され、続く測定1でもpin1に3.5Vの電圧が印加される場合であっても、テストプログラム中には、Test100及び測定1の双方に関してpin1に対する電圧印加条件が冗長に記述されていた。あるいは、プログラムへの冗長な記述を回避するために、汎用性の低い特殊なテスト項目用ライブラリを準備する必要があった。つまり、従来のテストプログラム生成システムでは、冗長設定が少なく、しかも汎用性の高いライブラリを実現できていなかった。
本実施の形態7に係るテストプログラム生成装置において、インタプリタ言語で記述された能動的テンプレート12は、ピンや電源に関するテスト条件の設定状況を常に監視し(毎回の設定内容を特定の変数として保持している)、直前のテストから条件が変わっていない設定に関するテスタ命令はテストプログラム5に記述しない(スキップする)機能を有する。本実施の形態7に係るテストプログラム生成装置を用いた場合、図14に示した例では、測定1のpin1に関する電圧設定条件の記述が、テストプログラム5から省略されることになる。
本実施の形態7に係るテストプログラム生成装置によれば、冗長な記述を省略することによってテストプログラム5を小さくでき、かつ、テスト時間の無駄を回避することができる。しかも、特殊な雛形ライブラリを準備する必要がないため、雛形ライブラリデータベース13の高い汎用性は確保されている。
実施の形態8.
本実施の形態8では、1つのテストスペックデータベース8を用いて複数の類似品種に関するテストスペック2を共有し得るテストプログラム生成装置について説明する。
本実施の形態8では、1つのテストスペックデータベース8を用いて複数の類似品種に関するテストスペック2を共有し得るテストプログラム生成装置について説明する。
テストスペック編集機能7においては、任意のテスト項目に関するテスト実行条件(つまりプログラムの生成条件)を、半導体装置の品種ごとに設定可能である。図15を参照して、テストスペック編集機能7の入力画面には、テスト実行フラグに関する項目が設けられている。テスト実行フラグが「○」の場合は、半導体装置の品種に関わらずテスト項目が実行されることを意味し、テスト実行フラグが「1」の場合は、ピン数が144本以上の半導体装置に関してのみテスト項目が実行されることを意味する。例えば、テスト項目「FUNC−C」は、常温又は低温で、かつ、ピン数が144本以上の品種についてのみ実行されることが設定されている。
プログラム生成機能14及び能動的テンプレート12は、テストスペック2に設定されたテスト実行フラグに従ってテストプログラム5を生成する。図15に示したテストプログラム5の出力例によると、ピン数が100本の品種に関するテストプログラム5には、テスト項目「FUNC−C」に関するプログラムは記述されておらず、一方、ピン数が144本の品種に関するテストプログラム5には、テスト項目「FUNC−C」に関するプログラムが記述されている。
なお、以上の説明では、テスト実行の有無をテスト実行フラグの設定によって行う場合について説明したが、グラフィカル・ユーザ・インタフェースを用いて、ユーザが画面を見ながらテスト実行の有無を設定することも可能である。
本実施の形態8に係るテストプログラム生成装置によれば、1つのテストスペックデータベース8を用いて複数の類似品種に関するテストスペック2を共有できるため、テストスペック2を見通しよく管理することが可能となる。これにより、全ての類似品種に関してテストスペック2を一斉に変更する際の作業時間を削減することが可能となる。
実施の形態9.
本実施の形態9では、開発や量産で使用するテスタごとの環境に関わらず、限定書式でテスト結果や評価データを得ることができるテストプログラムを生成し得るテストプログラム生成装置について説明する。
本実施の形態9では、開発や量産で使用するテスタごとの環境に関わらず、限定書式でテスト結果や評価データを得ることができるテストプログラムを生成し得るテストプログラム生成装置について説明する。
本実施の形態9に係るテストプログラム生成装置において、雛形ライブラリデータベース13には、テスト結果に関するツール(サマリ作成ツール、ウェハマップ作成ツール等)及び評価結果に関するツール(シュム作成ツール等)が、能動的テンプレート12の1つとして予め登録されている。そして、プログラム生成機能14は、生成したテストプログラム5とともに、これらのツールをネットワークを介してテスタに送る。テスタでは、テストプログラム生成装置から送られてきたツールを用いて評価等を実行する。
本実施の形態9に係るテストプログラム生成装置によれば、テスタは、テスタシステムごとに用意された(あるいは用意されていないテスタシステムもある)テスタユーティリティを使用することなく、テストプログラム生成装置から送られてきたツールを用いて評価等を実行できるため、同一手段で、同一書式のデータを採取可能である。また、ユーザにとっても、テスタシステムごとに個別に存在するテスタユーティリティの使用方法を理解する必要が無くなり、利便性の向上を図ることができる。
実施の形態10.
本実施の形態10では、入力欄ごとのユーザ制限を実現し得るテストプログラム生成装置について説明する。
本実施の形態10では、入力欄ごとのユーザ制限を実現し得るテストプログラム生成装置について説明する。
本実施の形態10に係るテストプログラム生成装置において、ユーザ認証機能6には、テストスペック2の編集を行える権限が、テストスペック2ごと及びユーザごとに設定・保存されている。ユーザ認証機能6は、ログイン時に入力されたユーザ名に基づいて、そのユーザに与えられた権限を確認する。そして、そのユーザが、テストスペック編集機能7の入力画面において、編集権限を与えられていないテストスペック2全体、あるいは電圧等の条件を編集しようとした場合には、編集権限が与えられていない旨のメッセージを画面に表示するとともに、データの入力や修正をできないように編集制限を掛ける。
テストスペック2の責任部門は複数に及び、それら複数の責任部門によって同時に同じ品種のテストスペック2が無秩序に編集されてしまうと、データの整合性がとれなく可能性がある。本実施の形態10に係るテストプログラム生成装置によれば、テストスペック2ごと及びユーザごとにテストスペック2の編集権限を設定しているため、無秩序な編集によってデータの整合性がとれなくなる事態を回避することができる。
逆に、決められた複数のユーザに対して同一テストスペック2の編集権限を与えることにより、そのテストスペック2の編集作業を複数のユーザによって分担することができ、作業の効率化を図ることができる。従来のテストプログラム生成システムでは、複数のユーザが同一のデータベースを同時に編集することは不可能であり、テストスペックの編集は全てチップ設計者によって行われていたため、チップ設計者の負担が大きかった。
実施の形態11.
本実施の形態11では、テストスペックデータベース8内に登録されているテストスペック2の構成の工夫について説明する。
本実施の形態11では、テストスペックデータベース8内に登録されているテストスペック2の構成の工夫について説明する。
本実施の形態11に係るテストスペックデータベース8では、テスト条件の設定、電源やドライバのパワーオン、測定の実施、設定を初期状態に戻してパワーオフ、という一連の基本シーケンスが、1つのテスト項目単位として定義されている。そして、複数のテスト項目単位の組合せによってテストスペック2が構成されている。テスト項目単位は、テストスペックデータベース8の記憶容量内で、いくつでも登録可能である。
また、テストスペック編集機能7は、テストスペック2をどのテスト項目単位の組合せによって構成するのか、及びその実行順序を設定するためのテストフロー定義機能を有している。テストフロー定義機能によって、選択するテスト項目単位を変えることにより、及び実行順序を変えることにより、任意のテストフローを定義することが可能である。
従って、テスト内容が近似している半導体装置の類似品種に対して、同一のテスト項目単位によって構成されたテストスペック2を共有させることができ、しかも、この場合であってもテスト項目単位の実行順序を設定することにより、それぞれの品種に応じたテストフローを実現できる。その結果、テストフローが異なる類似品種に対してテストスペック2を個別に設定する場合と比較すると、データ入力の負荷を軽減でき、開発工期の短縮化を図ることができる。
また、テストフローが異なる類似品種に対してテストスペック2が個別に設定されている場合において、複数のテストスペック2に同一内容の修正をかけたい場合は、それぞれのテストスペック2に対して同じような修正を何回も繰り返して実施しなければならない。これに対して、本実施の形態11に係るテストプログラム生成装置によれば、1つのテストスペック2が複数の品種によって共有されているため、修正対象であるテスト項目単位を1回だけ修正すれば、それを共有している全ての品種に関するテストスペック2の修正作業が完了する。従って、修正作業に関する工期も短縮できる。
本実施の形態11に係るテストスペック編集機能7は、複数の類似品種によって共有されているテストスペック2を構成する特定のテスト項目単位(以下「特定項目」と称す)を変更する場合に、品種ごとに特定項目の変更の要否を確認する機能を有している。そして、変更必要の品種に関しては上記の処理によって特定項目の内容を一括して変更し、一方、変更不要の品種に関しては、共有を解除し、変更前の特定項目の内容を維持したまま、共有されているテストスペック2とは別個の新たなテストスペック2を作成する。
以上では、テスト項目単位についての、共有及びその解除について説明したが、テスト項目単位内に規定されている電圧、タイミング、測定条件等の条件設定テーブルについても、上記と同様に共有及びその解除を実施する機能を持たせることも可能である。
テストプログラムの共通部分が多い類似品種に関しては、本実施の形態11に係る発明の適用は特に有効である。
実施の形態12.
本実施の形態12では、スペックファイル(任意の品種で使用するテストスペック2の集合)の編集履歴の保存と復元について説明する。
本実施の形態12では、スペックファイル(任意の品種で使用するテストスペック2の集合)の編集履歴の保存と復元について説明する。
本実施の形態12に係るテストスペックデータベース8は、ユーザによってスペックファイルが更新される度に、更新を行ったユーザのユーザ名や更新年月日等の更新履歴情報を、テストスペックデータベース8内にログ情報として保存する機能を有する。
ログ情報は、スペックファイルが更新される度にテストスペックデータベース8内に追加的に保存され、削除や上書きはされない。
スペックファイルは、最終的な量産テストをパスして実際に量産される時点で正式登録となり、バージョンが固定される。この際、ログ情報も固定され、正式登録される。ログ情報は、スペックファイルのヘッダ部分に記述される。正式登録されたスペックファイルは、コンピュータのオペレーティングシステムのファイル管理で読み出し専用とする等の方法により、一切の変更ができないようにして保存される。これにより、ログ情報も固定され、量産に使用されているテストスペックの変更履歴が明確に保護される。
正式登録されたスペックファイルを変更する場合には、バージョンを更新し、前回のバージョン固定以降の過去のログ情報を消去した後、新たなログ情報の追加を行う。但し、この場合であってもスペックファイルの名称は引き継がれる。
これにより、ログの肥大化を防止できるとともに、ヘッダ部に記述されているログ情報を参照することにより、どのバージョンのスペックファイルであっても、何時、誰が、どのような内容の変更を加えたかの把握が可能となる。
不具合発生時には、ログ情報を参照することによってその原因のトレースが可能であり、不具合が発生しているスペックファイルを、不具合発生前のスペックファイル(例えば不具合が発生していない最新のスペックファイル)に復元する。
また、スペックファイルを複製等された際にスペックファイルの名称(ファイル名)が変更された場合であっても、複製されたスペックファイルのヘッダ部に複製元のスペックファイルのファイル名を記述しておくことで、スペックファイルの変更履歴をトレースすることが可能となる。
実施の形態13.
本実施の形態13では、テストスペックの比較機能について説明する。
本実施の形態13では、テストスペックの比較機能について説明する。
本実施の形態13に係るテストプログラム生成装置は、複数のテストスペックデータベース8(説明の便宜上、「第1のテストスペックデータベース」及び「第2のテストスペックデータベース」と称す)を備えている。第1及び第2のテストスペックデータベースには、比較対象のテストスペック2がそれぞれ登録されている。
本実施の形態13に係るテストスペック編集機能7は、第1のテストスペックデータベースに登録されているテストスペック2の内容と、第2のテストスペックデータベースに登録されているテストスペック2の内容とを比較し、両者が互いに一致しない場合には、その不一致をユーザにリポートするために、所定の差分リストを出力する機能を有する。
これにより、第1及び第2のテストスペックデータベースの一方に登録されているテストスペック2がユーザによって変更された場合に、ユーザが実施したいテストスペック変更に対し、過不足なく実施することができる。その結果、テストスペック2の変更ミスに起因するテストプログラム5及びテストスペックデータベース8の品質の低下を回避できる。
また、各テストスペック2には、テストスペック編集機能7によって電圧等の条件ごとにテーブルID(識別番号)が付与されており、共有されている条件テーブルには、同一のテーブルIDが割り当てられている。同一のテーブルIDが付与された複数のテストスペック2が第1及び第2のテストスペックデータベースにそれぞれ登録されている場合において、そのうちの1つのテストスペック2が変更された場合には、上記のエラーメッセージが大量に出力されることになる。かかる事態を回避すべく、テストスペック編集機能7は、同一のテーブルIDが付与された複数のテストスペック2に関しては、1つのエラーメッセージしか出力しない。
これにより、エラーメッセージの個数を最小限に抑えることができ、大量のエラーメッセージが出力されることによって本来発見すべき不具合を見落としてしまうという事態を回避できる。従来のテストプログラム生成システムでは、データベース間での設計パラメータの比較やテストプログラムの比較はUNIX(R)コマンドによって行われており、共有されている複数のテストスペックの1つに不一致があった場合には、大量の不一致ログが出力されていた。
実施の形態14.
本実施の形態14では、テストスペック2の誤った設定をチェックし得るテストプログラム生成装置について説明する。
本実施の形態14では、テストスペック2の誤った設定をチェックし得るテストプログラム生成装置について説明する。
(1)本実施の形態14に係るテストスペック編集機能7は、基準値と調整値とを用いてテストスペック2を規定する機能を有している。
基準値は、半導体装置の品種に応じて設計CADツール1(デバイス設計者)によって設定され、テストスペック編集機能7に入力される。例えば、あるテストAにおける半導体装置Xの判定タイミングに関して、「10nsec」という値が基準値として設定される。
調整値は、テストエンジニアが、テストスペック編集機能7の入力画面を用いて、基準値を考慮しつつ、テスタごとの仕様や性能に応じて設定する。例えば、テスタPを用いたテストAにおける半導体装置Xの判定タイミングに関して、「12nsec」という実数値、又は「基準値(10nsec)+2nsec」という変数値(演算式)が、調整値として設定され、テストスペック2として規定される。他のテスタQに関しても同様に、テスタQの仕様や性能に応じて、調整値が実数値又は変数値によって設定され、テストスペック2として規定される。
これにより、各テスタの仕様や性能に応じてテストスペック2の値を規定することができる。しかも、複数のテスタに関するデータを1つのテストスペックデータベース8によって一元的に見通しよく管理することができる。複数のテスタに関するデータの比較が容易であり、また、データの分散を防止できる。
上記の通り基準値及び調整値は異なる担当者によって役割分担して設定されるため、何らかのデバイス要因でデバイス設計者が基準値を後日に変更した場合、それに応じて調整値も設定し直す必要がある。変更された基準値は、設計CADツール1からネットワークを介してテストスペック編集機能7に入力される。
調整値が実数値によって定義されている場合は、調整値の変更がされたか否かを示すフラグをテストスペックデータベース8に持たせておき、テストスペック編集機能7は、そのフラグに基づいて調整値の変更がされていないと判断した場合には、調整値の変更を促すメッセージを画面上に表示する。これとともに、パラメータ生成機能9又はプログラム生成機能14は、そのフラグに基づいて調整値の変更がされていないと判断した場合には、中間パラメータ10又はテストプログラム5の生成を行わずに、アラームによる警告や画面上へのメッセージの表示等のエラー処理を行う。
調整値が演算式によって定義されている場合は、パラメータ生成機能9、プログラム生成機能14、又は能動的テンプレート12が、演算式に基づいて基準値の変更に応じた調整値を再計算することで対応可能である。
これにより、基準値が変更された場合に、調整値の変更がされないまま誤ったテストスペック2によってテストプログラム5が生成されてしまうことを防止できる。また、デバイス設計者からテストエンジニアへの、基準値の変更に関する連絡漏れ等のミスを防止できる。
また、本実施の形態14に係るテストプログラム生成装置は、複数のテスト項目によって共有されているテーブル等の基準値が変更された場合に、その基準値を共有している全てのテスト項目を割り出して、調整値の変更の要否を各テスト項目ごとに確認する機能を有している。調整値の変更が必要なテスト項目に関しては、上記と同様に、エラー処理や演算式に基づく再計算によって対応する。調整値の変更が不要なテスト項目に関しては、共有を解除し、そのテスト項目についての新規なテーブルを生成する。
なお、基準値の変更がされていない場合であっても、テストスペック編集機能7によって調整値のみを変更することも可能である。
(2)本実施の形態14に係る能動的テンプレート12は、テスト精度の範囲に関する情報を保持しており、テスト精度の範囲外の値がテストスペック2として設定された場合に、エラーメッセージを出力する機能を有している。
能動的テンプレート12は各テスタごとに個別に準備されているが、能動的テンプレート12には、テスタのテスト精度の範囲に関する情報が予め記述されている。能動的テンプレート12は、テストプログラム5を生成するために中間パラメータ10を取り込む際、その中間パラメータ10に記述されているテストスペック2の値と、テスタのテスト精度の範囲とを比較する。そして、テストスペック2の値がテスト精度の範囲内である場合には、そのまま処理を続行してテストプログラム5を生成する。
一方、テストスペック2の値がテスト精度の範囲外である場合には、正しいテストを実行できないと判断して、アラームによる警告や画面上へのメッセージの表示等のエラー処理を行う。あるいは、テストを実行する上で問題がなければ、テスト精度の範囲外に設定されているテストスペック2の値を、テスト精度の範囲内の限界値に補正して、テストプログラム5を生成することもできる。
これにより、テストが正しく行われないことに起因して不良品がテストをパスして次の工程に流出することを防止できる。
(3)本実施の形態14に係るパラメータ生成機能9は、複数のテスト工程(ウェハテスト、パッケージング後テスト等を含む)から成るテストフローにおいて、前段のテスト工程で実行されるテスト項目におけるパス条件(テスト条件、テスト規格)に関するテストスペック2よりも、後段のテスト工程で実行されるテスト項目におけるパス条件に関するテストスペック2のほうが厳しく設定されている場合に、エラー処理を行う機能を有する。
複数のテスト工程が順に実行されるテストフローでは、不良品を早期の段階で取り除くべく、各テスト工程のパス条件は、前段のテスト工程ほど厳しく、後段のテスト工程ほど緩やかに設定される。このようなテストフローを実行するテストプログラム5を生成する場合、パラメータ生成機能9は、各テスト工程におけるパス条件に関するテストスペック2を比較し、パス条件が前段から後段に向けて徐々に緩やかになっている場合は正常と判断して、中間パラメータ10の生成を続行する。
一方、前段のパス条件よりも後段のパス条件のほうが厳しくなっている箇所が存在する場合には、異常と判断して、中間パラメータ10の生成を行わず、アラームによる警告や画面上へのメッセージの表示等のエラー処理を行う。あるいは、テストフローを実行する上で問題がなければ、異常が発生している箇所のテストスペック2を補正して、中間パラメータ10を生成することもできる。
データの誤入力によって前段のテスト工程におけるパス条件が過度に緩やかに設定された場合には、本来はそのテスト工程で取り除かれるべきであった不良品が、そのテスト工程をパスして次の工程に流出してしまう。本実施の形態14に係るテストプログラム生成装置によれば、テスト工程間でパス条件を比較することによりデータの誤入力を検出できるため、このような事態が生じることを回避できる。
実施の形態15.
本実施の形態15では、半導体装置のピンを指定する際に、ピングループ同士の加減算によってこれを実現し得るテストプログラム生成装置について説明する。
本実施の形態15では、半導体装置のピンを指定する際に、ピングループ同士の加減算によってこれを実現し得るテストプログラム生成装置について説明する。
半導体装置は、データピンや電源ピン等の複数本のピンを有している。テストプログラム5の生成においてピンを指定する場合に、本実施の形態15に係るテストスペック編集機能7は、ピンを1本ずつ指定することができるとともに、主要な複数のピンの組合せ(ピングループ)を複数設定することもできる。
ピングループを用いてピンを指定する場合、テストスペック2には、ピングループ同士の加減算の式が記述され、これによって一又は複数のピンが指定される。例えば、ピンP1,P2,P3,P4,P5から成るピングループPING_Aと、ピンP1,P3から成るピングループPING_Bとが設定されている場合に、ピンP2,P4,P5を指定したいときには、テストスペック2には「PING_A−PING_B」なる演算式が記述される。
また、本実施の形態15に係るパラメータ生成機能9は、テストスペック2に記述されている式によって与えられた演算を実行する機能を有している。上記の例では、パラメータ生成機能9は、「PING_A−PING_B」なる演算を実行することによってピンP2,P4,P5を求め、求めたピン名(P2,P4,P5)を中間パラメータ10に記述する。
テストプログラム5中で指定したいピンを全てピン名を用いてテストスペック2に記述する場合には、指定したいピンの本数が膨大になると、テストスペック2の視認性が悪くなるとともに、入力ミスの要因ともなる。これに対し、本実施の形態15に係るテストプログラム生成装置によれば、テストスペック2にはピングループ同士の加減算の式を記述すれば足りるので、視認性が低下することはなく、入力ミスが生じる可能性を低減することもできる。
実施の形態16.
本実施の形態16では、テストスペック出力機能について説明する。
本実施の形態16では、テストスペック出力機能について説明する。
本実施の形態16に係るテストスペック編集機能7は、テストスペックデータベース8に登録されているテストスペック2を、スペックシートとしてデータ出力(プリントアウトや、他の端末とのインタフェースを取るためのデータ出力等)する機能を有する。そのために、常に最新のスペックシートを出力できる。スペックシートとテストスペック2との比較を容易にするために、スペックシートの書式は、テストスペックデータベース8に登録されている状態でのテストスペック2の書式(図5参照)と同じにすることも可能である。
本実施の形態16に係るテストプログラム生成装置によれば、従来は人手で作成していたスペックシートを、テストスペック編集機能7のテストスペック出力機能によって自動的にデータ出力できるため、スペックシートの作成負荷を軽減できる。
また、テストスペック2は主に英数字を用いて記述されており、同様にスペックシートも英数字を用いて記述されるため、翻訳によって他の言語にも容易に対応することができる。
実施の形態17.
本実施の形態17では、テストスペック2を作成する際のデータ入力の負荷を軽減し得るテストプログラム生成装置について説明する。
本実施の形態17では、テストスペック2を作成する際のデータ入力の負荷を軽減し得るテストプログラム生成装置について説明する。
デバイス情報、テストパターン情報(タイミング設定値を含む)、及び電圧値等の設計パラメータが、設計CADツール1からネットワークを介してテストスペック編集機能7に入力される。テストスペック編集機能7は、設計CADツール1から送られてきた設計パラメータを読み込み、その中からそのままスペックデータとして使用できるデータを抽出して、抽出したそのデータを用いてテストスペック2を自動的に作成する。このデータは、上記実施の形態14で説明した基準値に相当するものである。不足のデータは、テストスペック編集機能7の入力画面から、ユーザによって手入力される。複数の設計CADツール1から送られてくる種々のファイル形式を特定の形式に変換しておくことで、テストスペック編集機能7は設計パラメータを読み込むことができる。
従来のテストプログラム生成システムでは、デバイス設計者によって作成されたスペックシートの書類を見ながら必要なデータの全てを手入力することにより、テストスペックが作成されていた。従って、スペックシートの作成作業やデータの入力作業が繁雑であり、データの誤入力が生じる可能性も高かった。これに対し、本実施の形態17に係るテストプログラム生成装置によれば、CADデータを最大限に有効活用することにより、作業者の負荷を軽減し、かつデータの誤入力の可能性を低減することができる。
実施の形態18.
本実施の形態18では、テストスペック2が修正された場合のテストプログラム5の再生成について説明する。
本実施の形態18では、テストスペック2が修正された場合のテストプログラム5の再生成について説明する。
本実施の形態18に係るテストプログラム生成装置は、テストプログラム5を一旦生成した後にテストスペック2を変更したい場合に、テストプログラム5自体を直接デバッグするのではなく、テストスペックデータベース8に登録されているテストスペック2を変更(以下「テストスペック・デバッグ」とも称する)し、変更されたテストスペック2を用いて、変更に関連する部分のテストプログラム5のみを再度生成するものである。
本実施の形態18では、テストスペック・デバッグにおいて、テストスペック2を修正してから、修正に関連する部分のテストプログラム5の生成、コンパイル、及びリンクを経て、ロードモジュールが作成されるまでの時間(「TAT」と称される)を短縮することが目的である。
図16には、あるテストスペック2が変更された場合に、すでに生成されているテストプログラム5内のどのファイルを修正する必要があるのかという対応関係を示した対応表が示されており、この対応表は、予め作成されてテストスペックデータベース8内に格納されている。例えば、電圧条件に関するテストスペック2が変更された場合には、電圧条件ファイルの修正だけが必要となり、ピンソケット条件に関するテストスペック2が変更された場合には、電圧条件ファイル、タイミング条件ファイル、及びピンソケットファイルを含む全てのファイルの修正が必要となる。
図17に示したフローチャートを用いて、具体的に動作を説明する。まず、テストスペック編集機能7の入力画面において、任意のテストスペック2を修正する(ステップS1701)。以下、電圧条件に関するテストスペック2が修正された場合を例にとり説明する。
次に、図16に示した対応表を参照して、更新すべきファイルを決定する(ステップS1702)。ステップS1701では電圧条件に関するテストスペック2が修正されているので、更新すべきファイルは電圧条件ファイルのみである。
次に、ステップS1702で決定されたファイルに関連する部分のテストプログラム5のみを再生成する(ステップS1703)。具体的には、プログラム生成機能14が電圧条件ファイルに対応する能動的テンプレート12を起動し、起動された能動的テンプレート12は、修正後の電圧条件に関するテストスペック2を、テストスペックデータベース8からパラメータ生成機能9を介して中間パラメータ10として取り込み、電圧条件ファイルを再生成する。
次に、ステップS1703で生成されたファイルをコンパイルし、他のファイルとリンクすることにより、ロードモジュールを作成する(ステップS1704)。具体的には、ステップS1703で生成された電圧条件ファイルが必要に応じてコンパイルされた後、修正に関連しない電圧条件ファイル以外のファイル(タイミング条件ファイルやピンソケットファイル等)とリンクすることにより、ロードモジュールが作成される。
従来のテストプログラム生成システムでは、一部のテストスペックのみが修正された場合であってもテストプログラムの全体を再生成していたため、再生成に長時間を要していた。また、エディタを用いた人手での編集によってテストプログラム自体を直接デバッグしていたため、編集を行う作業者には、テスタやデバッグに関する知識や経験が要求されていた。
これに対し、本実施の形態18に係るテストプログラム生成装置によれば、修正されたテストスペック2に関連する部分のファイルのみを再生成し、修正されたテストスペック2に関連しないファイルは再生成されない。従って、TATの短縮化を図ることができる。
また、テストプログラム5の修正に際してユーザが行う作業としては、修正後のテストスペック2を入力することだけであり、あとはテストプログラム生成装置が自動的にテストプログラム5を修正するため、ユーザには、テスタやデバッグに関する知識・経験は要求されない。
実施の形態19.
本実施の形態19では、変数を含んだ形式でのテストスペック2の設定について説明する。
本実施の形態19では、変数を含んだ形式でのテストスペック2の設定について説明する。
本実施の形態19に係るテストスペック編集機能7は、電圧値やタイミング等のパラメータに関して、変数(変数そのもの、又は変数を含んだ計算式)をテストスペック2として設定する機能を有する。例えば、電源電圧の値に関して、「VCC」なる変数そのものや、「VCC×0.8」等の計算式を、テストスペック2として設定することが可能である。
これにより、テストスペック・デバッグにおいて、基本となる変数の値を1箇所だけ修正することにより、その修正に連動して、計算式によって定義されている他のピンの電圧値やタイミングを一括して補正することが可能となる。その結果、テストスペック2の見通しがよくなり、また、テストスペック・デバッグにおける作業効率を改善することができる。
能動的テンプレート12は、変数を含んだテストスペック2を用いてテストプログラム5を生成し、その結果、テストプログラム5中にも変数を含んだ形でパラメータが記述される。
ところで、テスタによっては、変数計算を行うと動作が遅くなるものが存在する。このようなテスタに関しては、たとえ静的変数(他のテスト結果に応じてその値が変化しない変数)を含んだ計算式によってテストスペック2が設定されていても、パラメータ生成機能9がその変数計算を実行し、テストプログラム5には、変数計算の結果得られた実数値が記述される。つまり、パラメータ生成機能9による変数計算によって変数が実数値に書き改められて、その実数値がテストプログラム5に記述される。これにより、変数計算に起因してテスタの動作が遅くなるという事態を回避できる。変数を含んだ形で記述するのか、あるいは実数値を記述するのかという区別は、能動的テンプレート12によって行われる。
実施の形態20.
本実施の形態20では、テストプログラム5を量産プログラムへ適用する際に品質を維持し得るテストプログラム生成装置について説明する。
本実施の形態20では、テストプログラム5を量産プログラムへ適用する際に品質を維持し得るテストプログラム生成装置について説明する。
生成したテストプログラム5を量産プログラムへ適用することを許可する旨のキー(以下「量産許可キー」と称する)を、オブジェクトプログラムであるバイナリファイル16に組み込むことで、量産プログラムの品質の維持を図る。本実施の形態20に係るプログラム生成機能14は、上記実施の形態18におけるテストスペック・デバッグや、後述の実施の形態21におけるTRC(Test Rule Check)等の、所定のデバッグ又はルールチェックが実施されたテストプログラム5に対して、量産許可キーの組み込みに関する命令を作成する。
本実施の形態20に係るコンパイラ15は、この命令を受けると、そのテストプログラム5をコンパイルすることにより得られたバイナリファイル16に対して、量産許可キーを組み込む。
量産許可キーには、ソースプログラムであるテストプログラム5のバージョン等のプロパティに関する情報が記述されている。従って、バイナリファイル16の量産許可キーを参照することにより、ソースプログラムとオブジェクトプログラムとの一致/不一致を、容易に確認することができる。
本実施の形態20に係るテストプログラム生成装置によれば、所定のデバッグ又はルールチェックが実施されていないテストプログラム5に対しては、そのオブジェクトプログラムへの量産許可キーの組み込みを許可しない。その結果、量産プログラムの品質を高く維持できる。
また、本発明に係るテストプログラム生成システム以外のシステムを用いて生成されたプログラムには、量産許可キーは組み込まれない。そのため、他のシステムを用いて生成されたプログラムとの識別も容易である。
さらに、本発明に係るシステムによって生成されたテストプログラム5であっても、人手によってソースプログラムを直接修正した場合には、その修正後のソースプログラムから得られたオブジェクトプログラムには量産許可キーが組み込まれない。従って、量産許可キーを組み込むためには、上記実施の形態18で説明したテストスペック・デバッグによる修正が要求されるため、量産プログラムに関してはテストスペックを常に最新に保つことが可能となる。
その他の効果として、誤って修正されたソースプログラム(例えば評価用プログラム)の量産への適用を防止できる。また、スペックファイルが保管されていれば、ソースファイルの管理を不要にできる。
実施の形態21.
本実施の形態21では、TRCについて説明する。
本実施の形態21では、TRCについて説明する。
TRCには、主に、(1)設定欄入力時ルールチェック、(2)画面更新時ルールチェック、(3)プログラム生成時ルールチェックがある。
まず、(1)設定欄入力時ルールチェック、及び(2)画面更新時ルールチェックについて説明する。
図18のフローチャートを参照して、まず、ユーザ認証機能6の入力画面において、ログイン、パスワードを入力し、ユーザ認証を行う(ステップS1801)。次に、テストスペック編集機能7の入力画面にテストスペック2のデータを入力し、必要に応じてテストスペック2をテスタごとの仕様に合わせて編集する(ステップS1802)。次に、テストスペック編集機能7は、設定欄入力時ルールチェックを実行し、入力されたデータにエラーが無いか否かをチェックする(ステップS1803,S1804)。
設定欄入力時ルールチェックには、テスタ共通の一般的な入力書式チェックと、各テスタの標準仕様書(H/W,S/W)に基づいて予め作成しておいたファイルを用いての、テストスペック2の書式に関するエラーチェックとがある。通常、テストスペック編集機能7の入力画面にテストスペック2が入力されると、設定欄入力時ルールチェックがリアルタイムに実行される。例えば、電圧値を入力すべき欄に誤って電流値が入力された場合には、「入力エラー有り」と判断される。
入力エラーが発生している場合はテストスペック編集機能7の入力画面にエラーメッセージを表示し(ステップS1805)、ユーザは、エラーメッセージに従って、テストスペック2を修正する(ステップS1806)。その後、設定欄入力時ルールチェックが再度実行される(ステップS1803)。
設定欄入力時ルールチェックにおいて入力エラーが無い場合は、画面を更新した後(ステップS1807)、テストスペック編集機能7によって、画面更新時ルールチェックが実施される(ステップS1808)。
画面更新時ルールチェックは、一画面単位で入力されたテストスペック2に含まれる複数のデータ間で、データの整合性がとれているか否かのチェックであり、テスタごとの仕様には依存しないルールチェックである。
エラーが発生している場合はエラーメッセージを表示し(ステップS1805)、ユーザは、エラーメッセージに従って、テストスペック2を修正する(ステップS1806)。その後、ステップS1803以降の処理が繰り返される。
画面更新時ルールチェックにおいてエラーが無い場合は、テストスペックデータベース8にテストスペック2を登録する(ステップS1809)。
次に、(3)プログラム生成時ルールチェックについて説明する。
図19のフローチャートを参照して、パラメータ生成機能9が起動されると(ステップS0402)、パラメータ生成機能(ステップS1901)及び能動的テンプレート12(図4のステップS0407)によって、プログラム生成時ルールチェックが実施される。
プログラム生成時ルールチェックには、テスタに依存しない、本プログラム生成システムで定義した制限に関するルールチェックと、テスト方法に対する制限事項に基づいて実行される、テスタごとの仕様に依存するルールチェックとがある。前者はパラメータ生成機能9によって行われ、後者は能動的テンプレート12によって行われる。プログラム生成機能14の実行画面内にルールチェック用の起動ボタンを設け、複数のテストスペック2の組合せの不整合、テスト方法とテストスペック2との組合せの不備、テスタごとの仕様範囲の逸脱、能動的テンプレート12によって指定されているテストシーケンスに関する制限事項の逸脱等がチェックされる。テストシーケンスに関する制限事項の逸脱に関するチェックは、特に厳密にチェックされる。
また、能動的テンプレート12自体にエラーがないか、セルフチェックの組み込みも可能である。カスタムテンプレートであれば、デバイス特有のチェックを実行することも可能である。能動的テンプレート12のヘッダ部には、設定欄入力時ルールチェックに関する事項も記述可能であり、これにより、当該能動的テンプレート12に関する情報を入力画面に入力する際のチェックも設定することができる。
プログラム生成時ルールチェック(パラメータ生成機能9でのルールチェック)においてエラーが発生している場合は、パラメータ生成機能9の実行画面にエラーメッセージを表示し(ステップS1902)、ユーザは、エラーメッセージに従って、テストスペック2を修正する(ステップS1903)。その後、ユーザは、パラメータ生成機能9の起動から再実行する(ステップS0402)。
プログラム生成時ルールチェックにおいてエラーが発生していない場合は、中間パラメータ10が生成される(ステップS0403)。
能動的テンプレート12における、プログラム生成時ルールチェックでエラーが発生している場合は、プログラム生成機能14の実行画面にエラーメッセージを表示し(ステップS0408)、ユーザは、エラーメッセージに従ってテストスペック2又は能動的テンプレート12を修正する(ステップS0409)。その後、ユーザは、パラメータ生成機能9の起動から再実行する(ステップS0402)。エラーが発生しない場合には、指定された位置に生成される(ステップS0410)。
ルールチェック機能をプログラム生成機能に持たせる従来のシステムでは、新たなテスト方法(テンプレート)を追加した場合、その追加したテスト方法に特有のルールチェックを実施する機能を、プログラム生成機能に追加する必要があり、適用までに長期間を要していた。また、ルールチェックに関するパラメータを別ファイルとして準備し、プログラム生成機能がそのパラメータを読み込むことによってのみのルールチェックを実行する従来のシステムでは、各テスト方法ごとの細かなチェック(複数のテストスペックの組合せチェック等)をパラメータ化できない場合がある。その場合には、プログラム生成機能にチェック機能を追加する必要があり、やはり適用までに長期間を要していた。
これに対して、本実施の形態21に係るテストプログラム生成装置によれば、テストスペック編集機能7が設定欄入力時ルールチェック及び画面更新時ルールチェックを実施し、また、能動的テンプレート12がプログラム生成時ルールチェックを実施することにより、新たなテスト方法を追加した場合であっても、パラメータ生成機能9やプログラム生成機能14を改修することなく、新たなテスト方法に関するTRCをも実施することが可能となる。
実施の形態22.
本実施の形態22では、上記実施の形態1〜21に係るテストプログラム生成装置を利用するユーザの、利用環境の改善について説明する。
本実施の形態22では、上記実施の形態1〜21に係るテストプログラム生成装置を利用するユーザの、利用環境の改善について説明する。
国内外の設計拠点、テスト開発拠点、工場、テストハウス、デザインハウス等、広域での利用を可能とするために、Webベースのテストプログラム生成システムを構築する。これにより、ユーザが何処からでも上記実施の形態1〜21に係るテストプログラム生成装置を利用してテストプログラムの開発を行うことを可能とする。システム構成としては、Webブラウザを備えるユーザの計算機端末(PC)と、上記実施の形態1〜21に係るテストプログラム生成装置とを、ネットワークを介して相互に接続する。
ネットワークは、社内LANに限らず、インターネットであってもよい。ファイアウォール機能、ユーザID、パスワード等で、セキュリティを保つことができる。インターネットを利用することにより、計算機端末及びWebブラウザを準備するだけで、社外のユーザ(テストハウス、デザインハウス、半導体ユーザ等)からも、インターネット経由で上記実施の形態1〜21に係るテストプログラム生成装置を利用することが可能となる。
従来のテストプログラム生成装置の利用(テストスペックの作成、テストプログラムの生成)は、特定のユーザ及び特定の端末に限られていた。従って、テストプログラムの開発場所と量産場所とが地理的に遠隔地である場合等には、スタッフが双方を行き来しなければならず、不便が多かった。これに対し、本実施の形態22に係るテストプログラム生成システムによれば、Webベースのテストプログラム生成システムを構築することにより、例えば量産場所のスタッフであっても、開発場所にあるテストプログラム生成装置をネットワークを介して利用でき、ユーザの利用環境が改善される。
1 設計CADツール、2 テストスペック、5 テストプログラム、6 ユーザ認証機能、7 テストスペック編集機能、8 テストスペックデータベース、9 パラメータ生成機能、10 中間パラメータ、11 雛形ライブラリデータベース登録機能、12 能動的テンプレート、13 雛形ライブラリデータベース、14 プログラム生成機能、15 コンパイラ、16 バイナリファイル。
Claims (32)
- 半導体装置のテスタ用のテストプログラムを生成するテストプログラム生成装置であって、
前記半導体装置に応じたテストスペックを入力し、前記テストスペックを必要に応じて前記テスタごとの仕様に合わせて編集可能なテストスペック編集機能と、
前記テストスペック編集機能から入力された前記テストスペックを登録するテストスペックデータベースと、
前記テストスペックデータベースに登録されている前記テストスペックを形式変換することにより中間パラメータを生成するパラメータ生成機能と、
前記テスタに依存する複数の能動的テンプレートを登録する雛形ライブラリデータベースと、
前記雛形ライブラリデータベースに登録されている前記複数の能動的テンプレートの中から、前記テスタ及びテスト内容に応じて必要な前記能動的テンプレートを起動させ、起動した前記能動的テンプレートに必要な前記中間パラメータを取り込ませることによって前記テストプログラムを生成させる、プログラム生成機能と
を備える、テストプログラム生成装置。 - 前記雛形ライブラリデータベースには、新たな能動的テンプレートを追加して登録可能であり、
前記テストスペック編集機能は、前記新たな能動的テンプレートを起動させる場合に、前記新たな能動的テンプレートに対応する新たなテストスペックを前記テストスペックデータベースに追加して登録する、請求項1に記載のテストプログラム生成装置。 - 前記能動的テンプレートは、所定のシーケンスの繰り返しとして記述されている部分を含んでおり、
前記テストスペック編集機能によって前記シーケンスの繰り返しの中から所望のものを選択することにより、テストシーケンスを任意に設定可能である、請求項1に記載のテストプログラム生成装置。 - 前記テストスペック編集機能は、任意のテスト実行条件を設定可能であり、
前記プログラム生成機能は、前記テスト実行条件が満たされた場合にのみ所定のテストを実行するように記述された前記テストプログラムを生成する、請求項1に記載のテストプログラム生成装置。 - 前記テストスペックはテーブルとして記述されており、
前記テストスペック編集機能は、前記テーブルごとに個別の識別番号を付与し、
前記プログラム生成機能は、前記識別番号が同一である第1及び第2のテーブルが一の前記プログラム内でこの順に連続する場合、前記第2のテーブルに対応する動作を実行させないように記述された前記テストプログラムを生成する、請求項1に記載のテストプログラム生成装置。 - 前記能動的テンプレートを前記雛形ライブラリデータベースに登録する雛形ライブラリデータベース登録機能をさらに備え、
前記雛形ライブラリデータベースには、予め登録されている汎用性のある前記能動的テンプレート(以下「標準テンプレート」)に加えて、ユーザによって作成された汎用性のない前記能動的テンプレート(以下「カスタムテンプレート」)を追加して登録可能であり、
前記雛形ライブラリデータベース登録機能は、前記標準テンプレート及び前記カスタムテンプレートの使用頻度を集計する機能を有する、請求項1に記載のテストプログラム生成装置。 - 前記雛形ライブラリデータベース登録機能は、使用頻度の高い前記カスタムテンプレートが存在する場合、前記カスタムテンプレートの標準化を促すメッセージを関係者に通知する機能を有する、請求項6に記載のテストプログラム生成装置。
- 前記能動的テンプレートは、特定のテスト条件の設定状況を常に監視し、この順に連続する第1及び第2の設定において前記テスト条件が同一内容である場合には、前記第2の設定に関する命令を前記テストプログラム中に記述しない、請求項1に記載のテストプログラム生成装置。
- 前記テストスペック編集機能は、任意のテスト項目に関するプログラムの生成条件を、前記半導体装置の品種ごとに設定可能であり、
前記プログラム生成機能は、前記生成条件が満たされている場合には、前記テスト項目に関する前記プログラムが記述された前記テストプログラムを生成し、前記生成条件が満たされていない場合には、前記テスト項目に関する前記プログラムが記述されていない前記テストプログラムを生成する、請求項1に記載のテストプログラム生成装置。 - 前記雛形ライブラリデータベースには、テスト結果又は評価結果に関するツールが、前記能動的テンプレートの一つとして登録されており、
前記プログラム生成機能は、生成した前記テストプログラムとともに前記ツールを前記テスタに送る、請求項1に記載のテストプログラム生成装置。 - 前記テストスペック編集機能へアクセスするユーザの認証を行うユーザ認証機能をさらに備え、
前記テストスペックの編集を行える権限が、前記テストスペックごと及び前記ユーザごとに設定されている、請求項1に記載のテストプログラム生成装置。 - 前記テストスペックデータベースには、前記テストスペックを構成する複数の基本シーケンスが登録されており、
前記テストスペック編集機能は、前記半導体装置の品種に応じて前記複数の基本シーケンスの組合せを設定することによって、前記品種ごとに個別の前記テストスペックを規定する、請求項1に記載のテストプログラム生成装置。 - 前記テストスペック編集機能は、複数の前記品種に関する複数の前記テストスペックによって共有されている特定の基本シーケンスを変更した場合、前記品種ごとに前記特定の基本シーケンスの変更の要否を確認し、変更不要の前記品種に関しては変更前の前記特定のシーケンスの内容を維持する、請求項12に記載のテストプログラム生成装置。
- 前記テストスペックデータベースに登録されている前記テストスペックは、ユーザによって更新可能であり、
前記テストスペックデータベースは、登録されている前記テストスペックが更新される度に更新履歴を保存し、前記テストスペックに不具合が発生した場合には、不具合発生前の前記テストスペックに復元する機能を有する、請求項1に記載のテストプログラム生成装置。 - 前記テストスペックデータベースは複数であり、
第1のテストスペックデータベースに第1のテストスペックが登録されており、第2のテストスペックデータベースに第2のテストスペックが登録されており、
前記テストスペック編集機能は、前記第1のテストスペックの内容と前記第2のテストスペックの内容とが互いに一致しない場合に、差分リストを出力する機能を有する、請求項1に記載のテストプログラム生成装置。 - 前記テストスペックには、前記テストスペック編集機能によって識別番号が付与されており、
同一の前記識別番号が付与された複数の前記テストスペックを含むテストスペック群が、複数の前記テストスペックデータベースにそれぞれ登録されており、
前記テストスペック編集機能は、前記テストスペック群の中で前記テストスペックの内容の不一致が生じた場合、一の前記テストスペック群に関して一の前記エラーメッセージのみを出力する、請求項15に記載のテストプログラム生成装置。 - 前記テストスペック編集機能は、前記半導体装置に応じた基準値と、前記テスタごとの仕様に応じた調整値とを用いて、前記テストスペックを規定する機能を有する、請求項1に記載のテストプログラム生成装置。
- 前記基準値は変更可能であり、
前記基準値が変更されると、対応する前記調整値を変更し、又は対応する前記調整値の変更を促す機能を有する、請求項17に記載のテストプログラム生成装置。 - 前記能動的テンプレートは、前記テスタのテスト精度の範囲に関する情報を有しており、前記テスト精度の範囲外の値が前記テストスペックとして設定された場合に、エラー処理を行う機能を有する、請求項1に記載のテストプログラム生成装置。
- 前記半導体装置に関して複数のテスト工程が順に実施され、
前記パラメータ生成機能は、あるテスト工程で実行される任意のテスト項目におけるテスト規格よりも、後のテスト工程で実行されるテスト項目におけるテスト条件が厳しく設定されている場合に、エラー処理を行う機能を有する、請求項1に記載のテストプログラム生成装置。 - 前記半導体装置は、複数のピンを有しており、
前記テストスペック編集機能は、前記複数のピンの中から任意のピングループを複数設定可能であり、前記ピングループ同士の加減算の式によって一又は複数の特定のピンを指定する機能を有し、
前記パラメータ生成機能は、前記式によって与えられた演算を実行する機能を有する、請求項1に記載のテストプログラム生成装置。 - 前記テストスペック編集機能は、前記テストスペックデータベースに登録されている前記テストスペックを、所定の書式でデータ出力する機能を有する、請求項1に記載のテストプログラム生成装置。
- 前記テストスペック編集機能は、前記半導体装置の設計CADツールから入力されたCADデータの中から必要なデータを読み込んで、前記テストスペックとして前記テストスペックデータベースに入力する機能を有する、請求項1に記載のテストプログラム生成装置。
- 前記テストスペックデータベースに登録されている前記テストスペックを一部変更した場合、前記プログラム生成機能は、前記テストスペックの変更に起因して前記テストプログラムの内容を変更する必要が生じた要変更部分に対応する前記能動的テンプレートのみを起動させ、起動した前記能動的テンプレートに、前記要変更部分の前記テストプログラムを生成させる機能を有する、請求項1に記載のテストプログラム生成装置。
- 前記テストスペック編集機能は、前記テストスペックとして変数を設定する機能を有する、請求項1に記載のテストプログラム生成装置。
- 前記能動的テンプレートは、変数計算によって前記変数を実数値に書き改めて、前記テストプログラム中には前記実数値を記述する機能を有する、請求項25に記載のテストプログラム生成装置。
- 前記プログラム生成機能は、所定のデバッグ又はルールチェックが実施されたオブジェクトの前記テストプログラムに対して、当該テストプログラムの量産を許可する旨のキーを作成する機能を有する、請求項1に記載のテストプログラム生成装置。
- 前記テストスペック編集機能は、前記テストスペックを前記テストスペックデータベースに登録する前に、前記テストスペックの書式に関するルールチェックを実施する機能を有する、請求項1に記載のテストプログラム生成装置。
- 前記テストスペック編集機能は、前記テストスペックを前記テストスペックデータベースに登録する前に、前記テストスペック内でのデータの整合性に関する、前記テスタごとの仕様に依存しないルールチェックを実施する機能を有する、請求項1に記載のテストプログラム生成装置。
- 前記能動的テンプレートは、前記テストプログラムを生成するために必要な複数の前記テストスペックに対して、複数の前記テストスペックの組合せに関する、前記テスタごとの仕様に依存するルールチェックを実施する機能を有する、請求項1に記載のテストプログラム生成装置。
- 請求項1〜30のいずれか一つに記載のテストプログラム生成装置と、
ユーザによって操作可能な計算機端末と、
前記テストプログラム生成装置と前記計算機端末とを接続するネットワークと
を備える、テストプログラム生成システム。 - 半導体装置の設計CADツールと、
請求項1〜30のいずれか一つに記載のテストプログラム生成装置と、
前記テストプログラム生成装置によって生成されたソーステストプログラム用のコンパイラが存在する端末と、
前記テストプログラム生成装置と前記設計CADツール及び前記端末とを接続するネットワークと
を備える、テストプログラム生成システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004208581A JP2006031354A (ja) | 2004-07-15 | 2004-07-15 | テストプログラム生成装置及びテストプログラム生成システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004208581A JP2006031354A (ja) | 2004-07-15 | 2004-07-15 | テストプログラム生成装置及びテストプログラム生成システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006031354A true JP2006031354A (ja) | 2006-02-02 |
Family
ID=35897625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004208581A Pending JP2006031354A (ja) | 2004-07-15 | 2004-07-15 | テストプログラム生成装置及びテストプログラム生成システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006031354A (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007278714A (ja) * | 2006-04-03 | 2007-10-25 | Yokogawa Electric Corp | Icテスタ |
JP2009187102A (ja) * | 2008-02-04 | 2009-08-20 | Yokogawa Electric Corp | プログラム開発装置 |
JP2010054280A (ja) * | 2008-08-27 | 2010-03-11 | Yokogawa Electric Corp | Lsiテスタおよびテストプログラム自動作成ツール並びにテストシステム |
JP2010224861A (ja) * | 2009-03-24 | 2010-10-07 | Hitachi Ltd | 動的コンテンツ保存復元装置、動的コンテンツ保存復元システム、動的コンテンツの保存および復元方法、ならびにプログラム |
JP2011086201A (ja) * | 2009-10-16 | 2011-04-28 | Fujitsu Ltd | テストプログラム、テスト方法、およびテスト装置 |
JP2011118492A (ja) * | 2009-12-01 | 2011-06-16 | Silicon Test Technologies Inc | テストフロー提示コンピュータプログラム、テストフロー提示コンピュータシステム |
WO2017037914A1 (ja) * | 2015-09-03 | 2017-03-09 | 三菱電機株式会社 | 情報処理装置及び情報処理方法 |
CN113452580A (zh) * | 2021-07-21 | 2021-09-28 | 福州富昌维控电子科技有限公司 | 一种自动批量排查网络设备故障的方法及测试主机端 |
US11280830B2 (en) | 2018-09-13 | 2022-03-22 | Advantest Corporation | Apparatus, method, and storage medium |
CN117851270A (zh) * | 2024-03-07 | 2024-04-09 | 中国电子科技集团公司第十五研究所 | 晶上系统编译器测试方法、装置、电子设备及存储介质 |
-
2004
- 2004-07-15 JP JP2004208581A patent/JP2006031354A/ja active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007278714A (ja) * | 2006-04-03 | 2007-10-25 | Yokogawa Electric Corp | Icテスタ |
JP2009187102A (ja) * | 2008-02-04 | 2009-08-20 | Yokogawa Electric Corp | プログラム開発装置 |
JP2010054280A (ja) * | 2008-08-27 | 2010-03-11 | Yokogawa Electric Corp | Lsiテスタおよびテストプログラム自動作成ツール並びにテストシステム |
JP2010224861A (ja) * | 2009-03-24 | 2010-10-07 | Hitachi Ltd | 動的コンテンツ保存復元装置、動的コンテンツ保存復元システム、動的コンテンツの保存および復元方法、ならびにプログラム |
JP2011086201A (ja) * | 2009-10-16 | 2011-04-28 | Fujitsu Ltd | テストプログラム、テスト方法、およびテスト装置 |
US8271460B2 (en) | 2009-12-01 | 2012-09-18 | Silicon Test Technologies. Inc. | Computer program and computer system for producing test flow |
JP2011118492A (ja) * | 2009-12-01 | 2011-06-16 | Silicon Test Technologies Inc | テストフロー提示コンピュータプログラム、テストフロー提示コンピュータシステム |
WO2017037914A1 (ja) * | 2015-09-03 | 2017-03-09 | 三菱電機株式会社 | 情報処理装置及び情報処理方法 |
JPWO2017037914A1 (ja) * | 2015-09-03 | 2018-03-08 | 三菱電機株式会社 | 情報処理装置及び情報処理方法 |
US11280830B2 (en) | 2018-09-13 | 2022-03-22 | Advantest Corporation | Apparatus, method, and storage medium |
CN113452580A (zh) * | 2021-07-21 | 2021-09-28 | 福州富昌维控电子科技有限公司 | 一种自动批量排查网络设备故障的方法及测试主机端 |
CN113452580B (zh) * | 2021-07-21 | 2022-07-26 | 福州富昌维控电子科技有限公司 | 一种自动批量排查网络设备故障的方法及测试主机端 |
CN117851270A (zh) * | 2024-03-07 | 2024-04-09 | 中国电子科技集团公司第十五研究所 | 晶上系统编译器测试方法、装置、电子设备及存储介质 |
CN117851270B (zh) * | 2024-03-07 | 2024-05-03 | 中国电子科技集团公司第十五研究所 | 晶上系统编译器测试方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Schieferdecker et al. | Model-based testing. | |
EP2225636B1 (en) | Assisting failure mode and effects analysis of a system comprising a plurality of components | |
CN102681835A (zh) | 代码克隆通知以及体系结构改变可视化 | |
US8103914B2 (en) | Test file generation device and test file generation method | |
US11580009B2 (en) | Systems and methods for program code defect and acceptability for use determination | |
JP2006031354A (ja) | テストプログラム生成装置及びテストプログラム生成システム | |
US20070150249A1 (en) | Verification Operation Supporting System and Method of the Same | |
Pataricza et al. | UML-based design and formal analysis of a safety-critical railway control software module | |
Jetley et al. | Applying software engineering practices for development of industrial automation applications | |
Lipaczewski et al. | Using tool-supported model based safety analysis--Progress and experiences in SAML development | |
CN115344966A (zh) | 一种cad装配体零部件替换方法及系统 | |
JP2023000907A (ja) | ソースコード修正支援装置及びソースコード修正支援方法 | |
Kan et al. | Detecting safety‐related components in statecharts through traceability and model slicing | |
EP3999917B1 (en) | Method and system for generating a digital representation of asset information in a cloud computing environment | |
JP6483507B2 (ja) | 制御プログラム作成装置、及び制御プログラムのデバッグ方法 | |
Thompson et al. | An integrated development environment for prototyping safety critical systems | |
Hecht et al. | Using SysML to automatically generate of failure modes and effects analyses | |
Sojer et al. | Synthesis of diagnostic techniques based on an IEC 61508-aware metamodel | |
US10394688B2 (en) | Method for detecting computer module testability problems | |
JP2011165039A (ja) | モデルデバッグ装置およびモデルデバッグ方法 | |
Stürmer et al. | Modeling Guidelines and Model Analysis Tools in Embedded Automotive Software Development. | |
Bunyakiat et al. | Resilience Techniques for an Automatic Car Parking System | |
Lucas et al. | The practice of industrial logic design | |
JP5243908B2 (ja) | モデルの品質を検証するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム | |
JP2005092609A (ja) | シーケンス図表示装置およびシーケンス図表示プログラム |