(57)【要約】【課題】さまざまな種類の被試験デバイスを簡易かつ適切に試験可能な試験装置のテストプログラムを提供する。【解決手段】テストプログラムは、テスターハードウェア１００を制御する。テスターハードウェア１００は、書き換え可能な不揮発性メモリ１０２に格納されたコンフィギュレーションデータに応じて、少なくともその機能の一部が変更可能に構成される。本テストプログラムは、制御プログラムと、試験アルゴリズムモジュールとの組み合わせで構成され、テスターハードウェア１００の不揮発性メモリ１０２から、コンフィギュレーションデータを取得する機能と、コンフィギュレーションデータと一緒に使用可能な試験アルゴリズムモジュールが記憶装置２０６に保持されているか否か判定する機能と、を情報処理装置に実現させる。【選択図】図２
2014048125.tif 000002
【特許請求の範囲】
【請求項１】
テスターハードウェアに接続された情報処理装置に、当該テスターハードウェアを制御する機能を実現させるテストプログラムであって、
前記テスターハードウェアは、書き換え可能なメモリを含み、当該メモリに格納されたコンフィギュレーションデータに応じて、少なくともその機能の一部が変更可能に構成され、
本テストプログラムは、制御プログラムと、試験アルゴリズムを規定する試験アルゴリズムモジュールと、の組み合わせで構成され、
前記情報処理装置は、ユーザが取得した試験アルゴリズムモジュールを保持する記憶装置を備え、
本テストプログラムは、
前記テスターハードウェアの前記メモリから、前記コンフィギュレーションデータを取得する機能と、
前記コンフィギュレーションデータと一緒に使用可能な試験アルゴリズムモジュールが、前記記憶装置に保持されているか否か判定する機能と、
を前記情報処理装置に実現させることを特徴とするテストプログラム。
【請求項２】
本テストプログラムは、制御プログラムと、試験アルゴリズムを規定する試験アルゴリズムモジュールと、試験の結果得られたデータを処理、解析する評価アルゴリズムを規定する解析ツールモジュールと、の組み合わせで構成され、
前記記憶装置は、更に、ユーザが取得した解析ツールモジュールを保持し、
本テストプログラムは、前記コンフィギュレーションデータと一緒に使用可能な解析ツールモジュールが、前記記憶装置に保持されているか否か判定する機能を更に情報処理装置に実現させることを特徴とする請求項１に記載のテストプログラム。
【請求項３】
前記テスターハードウェアは、
（Ａ）前記メモリと、
（Ｂ）被試験デバイスに対する電源電圧を生成するデバイス電源と、
（Ｃ）前記テスターハードウェア内で使用される電源電圧を生成する内部電源と、
（Ｄ）複数チャンネルのテスターピンと、
（Ｅ）パターン信号に応じた電圧レベルを有するテストパターンを出力する複数のドライバと、
（Ｆ）前記被試験デバイスから対応するテスターピンに入力されたデジタル信号の電圧レベルを所定の上側しきい値電圧、下側しきい値電圧と比較する複数の電圧比較器と、
（Ｇ）前記メモリ、前記複数のドライバそれぞれの入力端子、前記複数の電圧比較器それぞれの出力端子と接続されるとともに、前記メモリに格納された前記コンフィギュレーションデータにより内部の回路情報が定義される少なくともひとつのプログラマブルデバイスと、
によって構成されるファンクションモジュールを含み、
前記メモリには、コンフィギュレーションデータに加えて、前記ファンクションモジュールに関する情報が保持されており、
本テストプログラムは、
前記テスターハードウェアの前記メモリから、前記ファンクションモジュールに関する情報を取得する機能と、
前記記憶装置に保持されている試験アルゴリズムモジュールが、前記ファンクションモジュールに対応するか否か判定する機能と、
を更に情報処理装置に実現させることを特徴とする請求項１または２に記載のテストプログラム。
【請求項４】
前記記憶装置に保持される試験アルゴリズムモジュールは、それぞれが異なる試験アルゴリズムを規定する複数の試験アルゴリズムモジュールを保持する外部サーバから取得され、
本テストプログラムは、
前記外部サーバが保持する複数の試験アルゴリズムモジュールに関する情報を当該外部サーバから受け付ける機能と、
前記外部サーバから受け付けた複数の試験アルゴリズムモジュールに関する情報のうち、前記コンフィギュレーションデータと一緒に使用可能で、かつ、前記記憶装置に保持されていない試験アルゴリズムモジュールに関する情報をユーザに通知する機能と、
を更に情報処理装置に実現させることを特徴とする請求項１から３のいずれかに記載のテストプログラム。
【請求項５】
前記記憶装置に保持される解析ツールモジュールは、それぞれが異なる評価アルゴリズムを規定する複数の解析ツールモジュールを保持する外部サーバから取得され、
本テストプログラムは、
前記外部サーバが保持する複数の解析ツールモジュールに関する情報を当該外部サーバから受け付ける機能と、
前記外部サーバから受け付けた複数の解析ツールモジュールに関する情報のうち、前記コンフィギュレーションデータと一緒に使用可能で、かつ、前記記憶装置に保持されていない解析ツールモジュールに関する情報をユーザに通知する機能と、
を更に情報処理装置に実現させることを特徴とする請求項２から４のいずれかに記載のテストプログラム。
【請求項６】
前記記憶装置に保持される試験アルゴリズムモジュールは、それぞれが異なる試験アルゴリズムを規定する複数の試験アルゴリズムモジュールを保持する外部サーバから取得され、
本テストプログラムは、
前記コンフィギュレーションデータに関する情報を前記外部サーバに提供する機能と、
前記外部サーバが保持する複数の試験アルゴリズムモジュールのうち、前記コンフィギュレーションデータと一緒に使用可能で、かつ、ユーザに対して使用が許諾されていない試験アルゴリズムモジュールに関する情報を当該外部サーバから受け付ける機能と、
を更に情報処理装置に実現させることを特徴とする請求項１から３のいずれかに記載のテストプログラム。
【請求項７】
前記記憶装置に保持される解析ツールモジュールは、それぞれが異なる評価アルゴリズムを規定する複数の解析ツールモジュールを保持する外部サーバから取得され、
本テストプログラムは、
前記コンフィギュレーションデータに関する情報を前記外部サーバに提供する機能と、
前記外部サーバが保持する複数の解析ツールモジュールのうち、前記コンフィギュレーションデータと一緒に使用可能で、かつ、ユーザに対して使用が許諾されていない解析ツールモジュールに関する情報を当該外部サーバから受け付ける機能と、
を更に情報処理装置に実現させることを特徴とする請求項２または３に記載のテストプログラム。
【請求項８】
被試験デバイスを試験する試験システムであって、
書き換え可能なメモリを含み、当該メモリに格納されたコンフィギュレーションデータに応じて、少なくともその機能の一部が変更可能に構成されるテスターハードウェアと、
（Ａ）前記試験システムのセットアップ時に、外部サーバからユーザが指定した試験内容に適した前記コンフィギュレーションデータを取得し、前記テスターハードウェアの前記メモリに前記コンフィギュレーションデータを書き込むとともに、（Ｂ）前記被試験デバイスの試験時に、テストプログラムを実行し、前記テストプログラムに応じて、前記テスターハードウェアを制御するとともに、前記テスターハードウェアによって取得されたデータを処理可能に構成された情報処理装置と、を備え、
前記情報処理装置において実行される前記テストプログラムは、
制御プログラムと、
試験アルゴリズムを規定する試験アルゴリズムモジュールと、の組み合わせで構成され、
前記情報処理装置は、
前記外部サーバからユーザが取得した試験アルゴリズムモジュールを保持する記憶装置と、
前記テスターハードウェアの前記メモリに格納された前記コンフィギュレーションデータを取得するハードウェアアクセス部と、
前記ハードウェアアクセス部が取得した前記コンフィギュレーションデータと一緒に使用可能な試験アルゴリズムモジュールが、前記記憶装置に保持されているか否か判定する判定部と、
を備えることを特徴とする試験システム。
【請求項９】
被試験デバイスを試験する試験システムであって、
それぞれが前記試験システムに異なる機能を提供するための複数のコンフィギュレーションデータを格納するサーバと、
書き換え可能なメモリを含み、当該メモリに格納されたコンフィギュレーションデータに応じて、少なくともその機能の一部が変更可能に構成されるテスターハードウェアと、
（Ａ）前記試験システムのセットアップ時に、前記サーバからユーザが指定した試験内容に適した前記コンフィギュレーションデータを取得し、前記テスターハードウェアの前記メモリに前記コンフィギュレーションデータを書き込むとともに、（Ｂ）前記被試験デバイスの試験時に、テストプログラムを実行し、前記テストプログラムに応じて、前記テスターハードウェアを制御するとともに、前記テスターハードウェアによって取得されたデータを処理可能に構成された情報処理装置と、を備え、
前記情報処理装置において実行される前記テストプログラムは、
制御プログラムと、
試験アルゴリズムを規定する試験アルゴリズムモジュールと、の組み合わせで構成され、
前記情報処理装置は、
前記テスターハードウェアの前記メモリに格納された前記コンフィギュレーションデータを取得するハードウェアアクセス部と、
前記テスターハードウェアから取得した前記コンフィギュレーションデータに関する情報を前記サーバに提供するデータ提供部と、を備え、
前記サーバは、
複数のコンフィギュレーションデータと、それぞれが異なる試験アルゴリズムを規定する複数の試験アルゴリズムモジュールとを格納する記憶部と、
当該サーバが保持する複数の試験アルゴリズムモジュールのうち、前記情報処理装置から情報が提供された前記コンフィギュレーションデータと一緒に使用可能で、かつ、ユーザに対して使用が許諾されていない試験アルゴリズムモジュールに関する情報を前記情報処理装置に提供するリスト表示部と、を備えることを特徴とする試験システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、試験装置を制御するテストプログラムおよび試験システムに関する。
【背景技術】
【０００２】
近年、さまざまな電子機器に利用される半導体デバイスの種類は、非常に多岐にわたっている。半導体デバイスとしては、（i）ＤＲＡＭ（Dynamic Random Access Memory）やフラッシュメモリなどのメモリデバイスや、（ii）ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro-Processing Unit）、マイクロコントローラなどのプロセッサ、あるいは（iii）デジタル／アナログ混載デバイス、ＳｏＣ（System On Chip）などの多機能デバイスが例示される。これらの半導体デバイスを試験するために、半導体試験装置（以下、単に試験装置ともいう）が利用される。
【０００３】
半導体デバイスの試験項目は、主として機能検証試験（単に機能試験とも称される）と、ＤＣ（直流）試験に大別される。機能検証試験では、ＤＵＴ（被試験デバイス）が設計通りに正常に動作するか否かが判定され、不良箇所の特定や、ＤＵＴの性能を表す評価値が取得される。ＤＣ試験では、ＤＵＴのリーク電流測定、動作電流（電源電流）測定、耐圧などが測定される。
【０００４】
機能検証試験やＤＣ試験の具体的な内容は、半導体デバイスの種類毎にさまざまである。
たとえばメモリの機能検証試験では、まずメモリに所定のテストパターンが書き込まれる。続いて、ＤＵＴに書き込まれたデータがメモリから読み出され、それらが期待値と比較され、比較結果を示すパス・フェイルデータが生成される。同じメモリであっても、ＲＡＭとフラッシュメモリでは、書き込まれるテストパターンは異なる。また、書き込み、読み出しを行う単位や、シーケンスも異なっている。
【０００５】
Ｄ／Ａコンバータの機能検証試験では、その入力端子に、所定の範囲で値がスイープするデジタル信号が与えられる。そして、各デジタル値に対してＤ／Ａコンバータから出力されるアナログ電圧が測定される。その結果、オフセット電圧や、ゲインが測定される。
【０００６】
反対に、Ａ／Ｄコンバータの機能検証試験では、その入力端子に、所定の範囲でスイープするアナログ電圧が与えられる。そして、各アナログ電圧に対してＡ／Ｄコンバータから出力されるデジタル値が測定される。その結果、ＩＮＬ（Integral Nonlinearity）やＤＮＬ（Differential Nonlinearity）が測定される。
【０００７】
マイクロコントローラ、デジタル／アナログ混載デバイス、ＳｏＣなどは、その内部に、ＲＡＭ、フラッシュメモリ、Ｄ／Ａコンバータ、Ａ／Ｄコンバータを包含しており、それぞれの機能検証試験が必要となる。
また多くの半導体デバイスにおいて、バウンダリスキャンテストが実行される。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来では、半導体デバイスの種類ごと、あるいは試験項目ごとに専用設計あるいは最適化された試験装置が市販されており、ユーザである半導体デバイスの設計者や製造者は、ＤＵＴの種類、試験項目に応じた試験装置を購入する必要があった。また、ある試験装置によって標準でサポートされていない試験を実施するためには、その試験に必要とされる追加的なハードウェアを別途購入し、試験装置に装着する必要があった。
【０００９】
加えて、試験装置はそれ単体では動作せず、それを制御するためのテストプログラムが必要である。従来では、所望の試験を実行するために、試験装置を制御するためのテストプログラムを、ユーザがソフトウェア作成支援ツールを利用して作成する必要があり、これがユーザの負担となっていた。
特に半導体デバイスは、世代によって規格が変更されることが多く、規格ごとに試験アルゴリズムは異なりうる。言い換えればユーザは、規格が変更になるたびに、膨大な量のテストプログラムを自ら作成し直す必要があった。
つまり、従来は、被試験デバイスに応じた試験環境を構築するのは煩雑な作業であり、ユーザの負担となっていた。
【００１０】
また、従来のテストプログラムは、試験条件の設定を行うプログラム、試験を実行するプログラム、試験結果を解析するプログラムの３つの別個のプログラムで構成されていた。そのため、各プログラムにより提供される画面はそれぞれ別ウィンドウで起動されていた。そのため、例えば、条件を変えつつ繰り返し試験を実施するような場合は、頻繁な画面の切り替えが発生し、煩雑であった。
【００１１】
さらに、従来の試験装置は主として量産時の検査を目的として設計されているため、サイズが大きく、また非常に高価であった。このことが、量産段階に至る前の設計・開発段階における、試験装置の有効な活用の妨げとなっていた。従来では、開発段階の半導体デバイスを検査したいユーザは、電源装置、任意波形発生器、オシロスコープやデジタイザを個別に用意し、それらを組み合わせて独自の試験システムを構築し、所望の特性を測定する必要があった。
一例として、プロセッサのリーク電流のみを検査したいユーザがいるとする。従来のプロセッサ用試験装置にも、リーク電流の測定機能は備わっているが、それらを測定するためだけに、巨大で高価な試験装置を購入、使用することは、現実的ではない。したがって、従来ではユーザは、プロセッサに対する電源電圧を生成する電源装置、リーク電流を測定する電流計、プロセッサを所望の状態（ベクター）に制御するためのコントローラ、を用いて測定系を構築する必要があった。
またＡ／Ｄコンバータを評価したいユーザは、Ａ／Ｄコンバータに対する電源電圧を生成する電源装置、Ａ／Ｄコンバータの入力電圧を制御する任意波形発生器、を用いて測定系を構築する必要がある。
このように、個別に構築される試験システムは汎用性に乏しく、またその制御や得られるデータの処理も煩雑であった。
【００１２】
なおここで説明した課題を当業者の一般的な技術認識ととらえてはならず、これらは本発明者らが独自に検討したものである。
【００１３】
本発明は係る課題に鑑みてされたものであり、そのある態様の例示的な目的のひとつは、上述の課題の少なくともひとつを解決可能な、より具体的にはさまざまな種類の被試験デバイスを簡易かつ適切に試験可能な試験装置のテストプログラムの提供にある。
【課題を解決するための手段】
【００１４】
上記課題を解決するために、本発明のある態様のテストプログラムは、テスターハードウェアに接続された情報処理装置に、当該テスターハードウェアを制御する機能を実現させるテストプログラムであって、テスターハードウェアは、書き換え可能なメモリを含み、当該メモリに格納されたコンフィギュレーションデータに応じて、少なくともその機能の一部が変更可能に構成され、本テストプログラムは、制御プログラムと、試験アルゴリズムを規定する試験アルゴリズムモジュールと、の組み合わせで構成され、情報処理装置は、ユーザが取得した試験アルゴリズムモジュールを保持する記憶装置を備える。本テストプログラムは、テスターハードウェアのメモリから、コンフィギュレーションデータを取得する機能と、コンフィギュレーションデータと一緒に使用可能な試験アルゴリズムモジュールが、記憶装置に保持されているか否か判定する機能と、を情報処理装置に実現させる。
【００１５】
この態様によると、メモリに格納されたコンフィギュレーションデータと一緒に使用可能な試験アルゴリズムモジュールを情報処理装置が保持しているか否かを判定することができる。そのため、ユーザは、試験を実施できる環境が整っているか否か容易に判断でき、被試験デバイスを適切に試験できる。
【００１６】
本発明の別の態様は、試験システムである。この試験システムは、被試験デバイスを試験する試験システムであって、書き換え可能なメモリを含み、当該メモリに格納されたコンフィギュレーションデータに応じて、少なくともその機能の一部が変更可能に構成されるテスターハードウェアと、（Ａ）試験システムのセットアップ時に、外部サーバからユーザが指定した試験内容に適したコンフィギュレーションデータを取得し、テスターハードウェアのメモリにコンフィギュレーションデータを書き込むとともに、（Ｂ）被試験デバイスの試験時に、テストプログラムを実行し、テストプログラムに応じて、テスターハードウェアを制御するとともに、テスターハードウェアによって取得されたデータを処理可能に構成された情報処理装置と、を備える。情報処理装置において実行されるテストプログラムは、制御プログラムと、試験アルゴリズムを規定する試験アルゴリズムモジュールと、の組み合わせで構成され、情報処理装置は、外部サーバからユーザが取得した試験アルゴリズムモジュールを保持する記憶装置と、テスターハードウェアのメモリに格納されたコンフィギュレーションデータを取得するハードウェアアクセス部と、ハードウェアアクセス部が取得したコンフィギュレーションデータと一緒に使用可能な試験アルゴリズムモジュールが、記憶装置に保持されているか否か判定する判定部と、を備える。
【００１７】
本発明のさらに別の態様もまた、試験システムである。この試験システムは、被試験デバイスを試験する試験システムであって、それぞれが試験システムに異なる機能を提供するための複数のコンフィギュレーションデータを格納するサーバと、書き換え可能なメモリを含み、当該メモリに格納されたコンフィギュレーションデータに応じて、少なくともその機能の一部が変更可能に構成されるテスターハードウェアと、（Ａ）試験システムのセットアップ時に、サーバからユーザが指定した試験内容に適したコンフィギュレーションデータを取得し、テスターハードウェアのメモリにコンフィギュレーションデータを書き込むとともに、（Ｂ）被試験デバイスの試験時に、テストプログラムを実行し、テストプログラムに応じて、テスターハードウェアを制御するとともに、テスターハードウェアによって取得されたデータを処理可能に構成された情報処理装置と、を備える。情報処理装置において実行されるテストプログラムは、制御プログラムと、試験アルゴリズムを規定する試験アルゴリズムモジュールと、の組み合わせで構成され、情報処理装置は、テスターハードウェアのメモリに格納されたコンフィギュレーションデータを取得するハードウェアアクセス部と、テスターハードウェアから取得したコンフィギュレーションデータに関する情報をサーバに提供するデータ提供部と、を備える。サーバは、複数のコンフィギュレーションデータと、それぞれが異なる試験アルゴリズムを規定する複数の試験アルゴリズムモジュールとを格納する記憶部と、当該サーバが保持する複数の試験アルゴリズムモジュールのうち、情報処理装置から情報が提供されたコンフィギュレーションデータと一緒に使用可能で、かつ、ユーザに対して使用が許諾されていない試験アルゴリズムモジュールに関する情報を情報処理装置に提供するリスト表示部と、を備える。
【００１８】
なお、以上の構成要素を任意に組み合わせたもの、あるいは本発明の表現を、方法、装置などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１９】
本発明のある態様によれば、さまざまな被試験デバイスを、簡易に適切に試験できる。
【図面の簡単な説明】
【００２０】
【図１】実施の形態に係る試験システムの構成を示すブロック図である。
【図２】情報処理装置の機能ブロック図である。
【図３】情報処理装置にインストールされたテストプログラムの構造を示す図である。
【図４】サーバの構成を示す機能ブロック図である。
【図５】テスターハードウェアの外観を示す図である。
【図６】テスターハードウェアの構成を示す機能ブロック図である。
【図７】テスターハードウェアの具体的な構成例を示す図である。
【図８】テスターハードウェアの内部のレイアウトを示す斜視図である。
【図９】ファンクションモジュールの具体的な構成例を示すブロック図である。
【図１０】ピンエレクトロニクスの具体的な構成を示す回路図である。
【図１１】クラウドテスティングサービスのフローを示す図である。
【図１２】コンフィギュレーションデータと一緒に使用可能なプログラムモジュールを保持しているか否かを判定する処理のフローを示す図である。
【図１３】試験アルゴリズムモジュールが、テスターハードウェアに搭載されているファンクションモジュールに対応するか否かを判定する処理のフローを示す図である。
【図１４】テスターハードウェアに格納されているコンフィギュレーションデータと一緒に使用可能なプログラムモジュールのうち記憶装置に格納されていないものがあるか否かを判定する処理のフローを示す図である。
【図１５】テスターハードウェアに格納されているコンフィギュレーションデータと一緒に使用可能なプログラムモジュールのうちユーザに対して使用が許諾されていないものがあるか否かを判定する処理のフローを示す図である。
【図１６】試験の実行を管理する管理画面を示す図である。
【図１７】試験の実行を管理する管理画面を示す図である。
【図１８】試験の実行を管理する管理画面を示す図である。
【図１９】解析ツール画面を示す図である。
【発明を実施するための形態】
【００２１】
以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、実施の形態は、発明を限定するものではなく例示であって、実施の形態に記述されるすべての特徴やその組み合わせは、必ずしも発明の本質的なものであるとは限らない。
【００２２】
（試験システム全体について）
図１は、実施の形態に係る試験システム２の構成を示すブロック図である。本明細書において、この試験システム２に関して提供されるサービスを、クラウドテスティングサービスとも称する。クラウドテスティングサービスは、サービス提供者ＰＲＶによって提供される。これに対して、試験システム２を利用してＤＵＴ４を試験する主体をユーザＵＳＲという。
【００２３】
試験システム２は、テスターハードウェア１００、情報処理装置２００、サーバ３００を備える。
【００２４】
テスターハードウェア１００は、書き換え可能な不揮発性メモリ（ＰＲＯＭ：Programmable ROM）１０２を含み、不揮発性メモリ１０２に格納されたコンフィギュレーションデータ３０６に応じて、少なくともその機能の一部が変更可能に構成される。テスターハードウェア１００は、試験時に、少なくとも、ＤＵＴ４に対して電源電圧を供給し、ＤＵＴ４に信号を送信し、ＤＵＴ４からの信号を受信可能に構成される。
【００２５】
テスターハードウェア１００は、サービス提供者ＰＲＶによって設計され、ユーザＵＳＲに提供される。テスターハードウェア１００は、特定の種類の半導体デバイス、試験内容に限定された構成を有しておらず、さまざまな試験内容に対応可能な汎用性をもって設計されている。
【００２６】
情報処理装置２００は、ユーザＵＳＲが操作する装置であり、汎用的なデスクトップＰＣ（Personal Computer）、ラップトップＰＣ、タブレットＰＣ、ワークステーションなどを含む。情報処理装置２００には、テストプログラムがインストールされ、テスターハードウェア１００を制御するとともに、テスターハードウェア１００によって取得されたデータを処理する。
【００２７】
サーバ３００は、サービス提供者ＰＲＶによって管理、運営され、インターネットなどのネットワーク８と接続されている。サービス提供者ＰＲＶは、サーバ３００上に、クラウドテスティングサービスに関するウェブサイトを開設している。ユーザＵＳＲは、このウェブサイトにアクセスすることにより、試験システム２を使用するためのユーザ登録の申請などを行う。
【００２８】
サーバ３００には、情報処理装置２００において使用されるテストプログラムを構成する制御プログラム３０２およびプログラムモジュール３０４や、テスターハードウェア１００において使用されるコンフィギュレーションデータ３０６などが格納されている。なお、コンフィギュレーションデータ３０６には、コンフィギュレーションデータ３０６を一意に識別できるＩＤやコンフィギュレーションデータ３０６の名前などの情報も含まれる。制御プログラム３０２、プログラムモジュール３０４、コンフィギュレーションデータ３０６については後に詳述する。ユーザＵＳＲは、サーバ３００にアクセスすることにより、ソフトウェア等３０２、３０４、３０６を取得（ダウンロード）する。またユーザＵＳＲは、上述のウェブサイト上でサービス提供者ＰＲＶに対してダウンロードしたソフトウェア等３０２のライセンスキーの申請などを行う。
【００２９】
試験システム２は、情報処理装置２００ごとに形成されている。したがって、テスターハードウェア１００＿１、情報処理装置２００＿１、サーバ３００がひとつの試験システム２＿１を構成し、テスターハードウェア１００＿２、情報処理装置２００＿２、サーバ３００が別の試験システム２＿２を構成する。各試験システム２＿ｉ（ｉ＝１，２，３…）は、完全に独立して動作可能となっている。
【００３０】
（情報処理装置について）
図２は、テストプログラムがインストールされた情報処理装置２００の機能ブロック図である。情報処理装置２００は、第１インタフェース部２０２、第２インタフェース部２０４、記憶装置２０６、データ取得部２０８、データ提供部２０９およびテスト制御部２１０を備える。なお、図中、様々な処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００３１】
第１インタフェース部２０２は、ネットワーク８との間でデータの送受信を行うためのインタフェースであり、具体的には、イーサネット（登録商標）アダプタや、無線ＬＡＮアダプタなどが例示される。
【００３２】
第２インタフェース部２０４は、バス１０を介してテスターハードウェア１００と接続されており、テスターハードウェア１００との間でデータの送受信を行うためのインタフェースである。たとえば情報処理装置２００とテスターハードウェア１００は、ＵＳＢ（Universal Serial Bus）を介して接続される。
【００３３】
データ取得部２０８は、第１インタフェース部２０２を介してサーバ３００にアクセスし、制御プログラム３０２、プログラムモジュール３０４、コンフィギュレーションデータ３０６を取得する。なお、制御プログラム３０２、プログラムモジュール３０４、コンフィギュレーションデータ３０６は、必ずしもサーバ３００から直接的に取得される必要はなく、別の情報処理装置がサーバ３００から取得したものを、２次的、間接的に取得してもよい。
【００３４】
外部から取得された制御プログラム３０２、プログラムモジュール３０４、コンフィギュレーションデータ３０６は、記憶装置２０６に格納される。
【００３５】
データ提供部２０９は、第１インタフェース部２０２を介してサーバ３００にアクセスし、テスターハードウェア１００の不揮発性メモリ１０２に格納されたコンフィギュレーションデータ３０６に関する情報などをサーバ３００に提供する。
【００３６】
テスト制御部２１０は、テスターハードウェア１００のセットアップおよびその制御を行う。またＤＵＴ４の試験の結果得られたデータを、処理、解析する。テスト制御部２１０の機能は、情報処理装置２００のＣＰＵが、サービス提供者ＰＲＶが提供する制御プログラム３０２を実行することにより提供される。
【００３７】
テスト制御部２１０は、ハードウェアアクセス部２１２、認証部２１４、判定部２１６、実行部２２０、割込・マッチ検出部２２４、解析部２３０、表示部２３２、受付部２３４を備える。
【００３８】
ハードウェアアクセス部２１２は、テスターハードウェア１００の内部に設けられた不揮発性メモリ１０２に対して、コンフィギュレーションデータ３０６を書き込む。また、ハードウェアアクセス部２１２は、不揮発性メモリ１０２に書き込まれているコンフィギュレーションデータ３０６、テスターハードウェア１００のバージョン情報、後述するファンクションモジュール５０２に関する情報などを取得する。
【００３９】
認証部２１４は、制御プログラム３０２、プログラムモジュール３０４、コンフィギュレーションデータ３０６が、事前に使用許諾されたものであるか否かを判定する。
【００４０】
判定部２１６は、ハードウェアアクセス部２１２が取得したコンフィギュレーションデータ３０６と一緒に使用可能なプログラムモジュール３０４が記憶装置２０６に保持されているか否か判定する。たとえばコンフィギュレーションデータ３０６がメモリ試験用のデータである場合、メモリ試験用のプログラムモジュール３０４が記憶装置２０６に保持されているか否かを判定する。また、判定部２１６は、記憶装置２０６に保持されているプログラムモジュール３０４が、テスターハードウェア１００に搭載されているファンクションモジュール５０２（後述）に対応する否か判定する。
【００４１】
実行部２２０は、テスターハードウェア１００のテストシーケンスを制御する。テストシーケンスは、テスターハードウェア１００の初期化、ＤＵＴ４の初期化、ＤＵＴ４に対するテストパターンの供給、ＤＵＴ４からの信号の読み出し、読み出した信号と期待値の比較、などの一連の処理をいう。なお、テストシーケンスは、ユーザＵＳＲによって選択される試験アルゴリズムによって決まる。
【００４２】
テスターハードウェア１００に対する制御命令は、第２インタフェース部２０４およびバス１０を介してテスターハードウェア１００に送信される。テスターハードウェア１００は、情報処理装置２００から受信した制御命令にしたがって動作する。
【００４３】
テスターハードウェア１００は、温度異常などのテスターハードウェア１００の異常を検出すると、異常を示す割込信号をテスト制御部２１０に対して送信する。また、ＤＵＴ４のテストシーケンス中には、条件分岐が行われる場合があり、条件分岐の判断が、テスターハードウェア１００の内部のハードウェアによって行われる場合がある。たとえば、ＤＵＴ４がメモリであり、テスターハードウェア１００がある長さのテストパターンをメモリに書き込んでいるときに、テストパターンの最後のデータの書き込み完了したことは、テスターハードウェア１００において判定される。あるいはフラッシュメモリのビジー状態、レディ状態なども、テスターハードウェア１００において判定される。このようなテスターハードウェア１００による条件判定をマッチ検出という。テスターハードウェア１００は、マッチ検出の結果を示すフラグを、テスト制御部２１０に送信する。
【００４４】
割込・マッチ検出部２２４は、割込信号やマッチ検出用のフラグを監視する。実行部２２０は、この監視結果に応じてテスターハードウェア１００を制御する。
【００４５】
テスターハードウェア１００によって取得されたデータは、バス１０を介してテスト制御部２１０へと送信される。解析部２３０は、このデータを処理、解析する。表示部２３２は、情報処理装置２００のディスプレイにユーザＵＳＲがテストプログラムを制御するために必要な画面を表示するとともに、試験の結果得られたデータを表示する。受付部２３４は、ディスプレイに表示された画面を介して、試験項目の選択、試験項目を実行するために必要な試験条件の設定、解析ツールの選択、解析ツールを実行するために必要な解析条件の設定など、ユーザＵＳＲによる各種選択を受け付ける。
【００４６】
まとめると、情報処理装置２００＿ｉは以下の機能を有する。
（i）試験システム２＿ｉのセットアップ時に、ユーザＵＳＲの入力に応答してサーバ３００から所望の試験内容に適したコンフィギュレーションデータ３０６を取得し、接続されたテスターハードウェア１００＿ｉの不揮発性メモリ１０２にコンフィギュレーションデータ３０６を書き込む。
（ii）試験システム２＿ｉのセットアップ後の所定のタイミングに、テスターハードウェア１００＿ｉの不揮発性メモリ１０２に格納されたコンフィギュレーションデータ３０６に対応するプログラムモジュールを保持しているか否か判定する。
（iii）ＤＵＴ４の試験時に、テスターハードウェア１００＿ｉを制御するとともに、テスターハードウェア１００＿ｉによって取得されたデータを処理する。
【００４７】
図３は、情報処理装置２００にインストールされたテストプログラムの構造を示す図である。
テストプログラム２４０は、制御プログラム３０２と、プログラムモジュール３０４で構成される。制御プログラム３０２は、テストプログラム２４０の基本となる部分であり、被試験デバイスの種類や試験内容に依存せず、共通に使用される。制御プログラム３０２によって、図２のハードウェアアクセス部２１２、認証部２１４、実行部２２０、割込・マッチ検出部２２４、表示部２３２、受付部２３４の機能が提供される。
【００４８】
一方、プログラムモジュール３０４は、選択的に制御プログラム３０２に組み込み可能である。プログラムモジュール３０４は、大きく試験アルゴリズムモジュール３０４ａと、解析ツールモジュール３０４ｂに分類される。
試験アルゴリズムモジュール３０４ａは、試験アルゴリズム、具体的には試験項目、試験内容、テストシーケンスなどを定義するプログラムである。試験アルゴリズムモジュール３０４ａは、ＤＵＴの種類（機能）別に、以下のものが例示される。
（１）ＤＲＡＭ
・機能検証用プログラム
・ＤＣ検査用プログラム（電源電流検査プログラム、出力電圧検査プログラム、出力電流検査プログラムなどを含む）
（２）フラッシュメモリ
・機能検証用プログラム
・ＤＣ検査用プログラム
（３）マイクロコントローラ
・機能検証プログラム
・ＤＣ検査用プログラム
・内蔵フラッシュメモリ評価プログラム
（４）Ａ／Ｄコンバータ、Ｄ／Ａコンバータ
・コンタクト検証プログラム
・リニアリティ（ＩＮＬ、ＤＮＬ）検証プログラム
・出力電圧オフセット検証プログラム
・出力電圧ゲイン検証プログラム
【００４９】
解析ツールモジュール３０４ｂは、評価アルゴリズム、具体的にはテスターハードウェア１００による試験の結果得られたデータを処理、解析、可視化する方法を定義するプログラムである。解析ツールモジュール３０４ｂとしては、以下のものが例示される。
・シュムープロットツール
・オシロスコープツール
・ロジックアナライザーツール
・アナログ波形観測ツール
【００５０】
（サーバについて）
サーバ３００には、複数の試験アルゴリズムモジュール３０４ａがサービス提供者ＰＲＶによって用意されている。ユーザＵＳＲは、ＤＵＴ４の種類や試験内容に応じて、必要な試験アルゴリズムモジュール３０４ａを取得し、テストプログラム２４０に組み込む。このようにして、テストプログラム２４０は、組み込まれる試験アルゴリズムモジュール３０４ａに応じて、試験システム２が実行する試験内容、取得するデータの種類を、選択、変更することができる。
【００５１】
またサーバ３００には複数の解析ツールモジュール３０４ｂがサービス提供者ＰＲＶによって用意されている。ユーザＵＳＲは、ＤＵＴ４の種類や試験内容、および評価手法に応じて、必要な解析ツールモジュール３０４ｂを取得し、テストプログラム２４０に組み込む。このようにして、テストプログラム２４０は、組み込まれる解析ツールモジュール３０４ｂに応じて、試験システム２によって得られたデータの処理、解析手法を、選択、変更することができる。
【００５２】
図４は、サーバ３００の構成を示す機能ブロック図である。
サーバ３００は、記憶部３１０、申請受付部３１２、データベース登録部３１４、リスト表示部３２０、ダウンロード制御部３２２、ライセンスキー発行部３２４を備える。
【００５３】
記憶部３１０は、複数のプログラムモジュール３０４、複数のコンフィギュレーションデータ３０６、データベース３０８およびその他のプログラム、データ、を格納する。
【００５４】
申請受付部３１２は、ユーザＵＳＲからのクラウドテスティングサービスの利用申請を受け付ける。サービス提供者ＰＲＶによる審査を経た後、データベース登録部３１４は、ユーザＵＳＲに関する情報、すなわちユーザＩＤやログイン用のパスワードなどを、データベース３０８に登録する。また、データベース登録部３１４は、ユーザＵＳＲが指定した情報処理装置２００の識別情報を、データベース３０８に登録する。また、データベース登録部３１４は、ユーザＵＳＲが使用を許諾されたプログラムモジュール３０４、すなわち、後述する第２ライセンスキーＫＥＹ２が発行されたプログラムモジュール３０４に関する情報を、データベース３０８に登録する。例えば、第２ライセンスキーＫＥＹ２が発行された試験アルゴリズムモジュール３０４ａの名前やそれを一意に識別できるＩＤなどを、データベース３０８に登録する。
【００５５】
認証部３１６は、サーバ３００にアクセスしたユーザＵＳＲのログイン認証を行う。具体的には、ユーザＵＳＲに対して、ユーザＩＤおよびパスワードの入力を促し、データベース３０８に登録されたそれらと一致するかが判定される。ログイン認証に成功したユーザＵＳＲは、その後の、ソフトウェアやデータのダウンロード、あるいはライセンスキーの申請等が可能となる。
【００５６】
リスト表示部３２０は、記憶部３１０に格納され、ユーザＵＳＲがダウンロード可能な状態にある複数のプログラムモジュール３０４およびコンフィギュレーションデータ３０６のリストを情報処理装置２００のディスプレイに表示させる。また、情報処理装置２００からテスターハードウェア１００の不揮発性メモリ１０２に格納されているコンフィギュレーションデータ３０６に関する情報を受け付けたとき、そのコンフィギュレーションデータ３０６と一緒に使用可能なプログラムモジュール３０４のリストを表示させる。
【００５７】
ダウンロード制御部３２２は、ユーザＵＳＲからのプログラムモジュール３０４やコンフィギュレーションデータ３０６のダウンロード要求に応答して、プログラムモジュール３０４やコンフィギュレーションデータ３０６を情報処理装置２００に提供する。
【００５８】
ライセンスキー発行部３２４は、ユーザＵＳＲからコンフィギュレーションデータ３０６の使用許諾の申請を受け付け、許諾すべきユーザＵＳＲに対して第１ライセンスキーＫＥＹ１を発行する。またライセンスキー発行部３２４は、ユーザＵＳＲからプログラムモジュール３０４の使用許諾の申請を受け付け、許諾すべきユーザＵＳＲに対して第２ライセンスキーＫＥＹ２を発行する。
【００５９】
（テスターハードウェアについて）
続いてテスターハードウェア１００の構成を説明する。図５は、テスターハードウェア１００の外観を示す図である。テスターハードウェア１００は、デスクトップサイズでポータブルに構成される。
テスターハードウェア１００は、ＡＣプラグ１１０を介して商用交流電源からの電力を受ける。テスターハードウェア１００の背面には、テスターハードウェア１００の電源スイッチ１１２が設けられる。
ＤＵＴ４は、ソケット１２０に装着される。ＤＵＴ４の複数のデバイスピンは、コネクタ１２２の複数のピン１２４それぞれと、ケーブル１２６を介して結線されている。テスターハードウェア１００の前面パネルには、コネクタ１２２を接続するためのコネクタ１１４が設けられる。ＤＵＴ４のピン数、ピン配置、あるいは同時測定するＤＵＴ４の個数などに応じて、さまざまなソケット１２０が用意される。
【００６０】
図６は、テスターハードウェア１００の構成を示す機能ブロック図である。テスターハードウェア１００は、不揮発性メモリ１０２に加えて、複数チャンネルのテスターピン（入出力ピン）ＰＩＯ１〜〜ＰＩＯＮ、インタフェース部１３０、コントローラ１３２、異常検出部１３４、内部電源１３６、デバイス電源１４０、信号発生器１４２、信号受信器１４４、ＲＡＭ１５４、任意波形発生器１４８、デジタイザ１５０、パラメトリックメジャメントユニット１５２、リレースイッチ群１６０および内部バス１６２を備える。
【００６１】
インタフェース部１３０は、バス１０を介して、情報処理装置２００の第２インタフェース部２０４と接続され、情報処理装置２００との間でデータを送受信可能に構成される。バス１０がＵＳＢである場合、インタフェース部１３０はＵＳＢコントローラである。
【００６２】
コントローラ１３２は、テスターハードウェア１００全体を統括的に制御する。具体的には、情報処理装置２００から受信した制御命令に応じて、テスターハードウェア１００の各ブロックを制御し、またテスターハードウェア１００の各ブロックで得られたデータや、割込信号、マッチ信号などを、インタフェース部１３０を介して情報処理装置２００に送信する。
【００６３】
異常検出部１３４は、テスターハードウェア１００のハードウェア的な異常を検出する。たとえば異常検出部１３４は、テスターハードウェア１００の温度をモニタし、所定のしきい値を超えるとアサートされる温度異常信号を生成する。また異常検出部１３４は、テスターハードウェア１００における電源電圧などを監視し、過電圧異常、低電圧異常などを検出してもよい。
【００６４】
内部電源１３６は、外部のＡＣ電圧を受け、それを整流・平滑化して直流電圧に変換した後に、それを降圧し、テスターハードウェア１００の各ブロックに対する電源電圧を生成する。内部電源１３６は、交流／直流変換用のインバータと、インバータの出力を降圧するスイッチングレギュレータやリニアレギュレータなどを含んで構成することができる。
【００６５】
デバイス電源（ＤＰＳ：Device Power Supply）１４０は、テスターハードウェア１００に接続されるＤＵＴ４の電源ピンに供給すべき電源電圧ＶＤＤを生成する。アナログデジタル混載デバイスなどのＤＵＴ４は、複数の異なる電源電圧を受けて動作する場合があるため、デバイス電源１４０は、異なる電源電圧を生成可能に構成されてもよい。本実施の形態では、デバイス電源１４０は２チャンネルの電源電圧ＶＤＤ１、ＶＤＤ２を生成可能となっている。
【００６６】
複数のチャンネルＣＨ１〜ＣＨＮのテスターピンＰＩＯ１〜ＰＩＯＮはそれぞれ、ＤＵＴ４のデバイスピンと接続される。
【００６７】
信号発生器１４２＿１〜１４２＿ＮはそれぞれチャンネルＣＨごとに設けられる。各信号発生器１４２＿ｉ（１≦ｉ≦Ｎ）は、対応するテスターピンＰＩＯｉを介してＤＵＴ４にデジタル信号Ｓ１を出力する。ＤＵＴ４がメモリである場合、デジタル信号Ｓ１は、ＤＵＴに対する制御信号、ＤＵＴであるメモリに書き込まれるデータ信号、アドレス信号などに対応する。
【００６８】
信号受信器１４４＿１〜１４４＿ＮはそれぞれチャンネルＣＨごとに設けられる。各信号受信器１４４＿ｉ（１≦ｉ≦Ｎ）は、ＤＵＴ４から対応するテスターピンＰＩＯｉに入力されたデジタル信号Ｓ２を受信する。デジタル信号Ｓ２は、ＤＵＴから出力される各種信号や、ＤＵＴであるメモリから読み出されたデータに対応する。信号受信器１４４は、受信した信号Ｓ２のレベルを判定する。さらに信号受信器１４４は、受信した信号Ｓ２のレベルが、期待値と一致するかを判定し、一致（パス）、不一致（フェイル）を示すパスフェイル信号を生成する。加えて信号受信器１４４は、受信した信号Ｓ２のタイミングが正常か否かを判定し、パス、フェイルを示すパスフェイル信号を生成する。
【００６９】
任意波形発生器１４８は、複数チャンネルＣＨ１〜ＣＨＮのうち任意のチャンネルに割り当て可能であり、アナログの任意波形信号Ｓ３を生成して割り当てられたテスターピンＰＩＯから出力する。デジタイザ１５０は、複数チャンネルＣＨ１〜ＣＨＮのうち任意のチャンネルに割り当て可能であり、割り当てられたテスターピンＰＩＯに入力されたＤＵＴ４からのアナログ電圧Ｓ４をデジタル信号に変換する。
【００７０】
パラメトリックメジャメントユニット１５２は、複数チャンネルＣＨ１〜ＣＨＮのうち任意のチャンネルに割り当て可能である。パラメトリックメジャメントユニット１５２は、電圧源、電流源、電流計、電圧計を含む。パラメトリックメジャメントユニット１５２は、電圧印加電流測定モードにおいて、割り当てられたチャンネルのテスターピンＰＩＯに電圧源により生成された電圧を印加し、電流計によってそのチャンネルのテスターピンＰＩＯに流れる電流を測定する。またパラメトリックメジャメントユニット１５２は、電流印加電圧測定モードにおいて、割り当てられたチャンネルのテスターピンＰＩＯに電流源により生成された電流を供給し、電圧計によってそのチャンネルのテスターピンＰＩＯの電圧を測定する。パラメトリックメジャメントユニット１５２によって、任意のデバイスピンの電圧や電流を測定できる。
【００７１】
ＲＡＭ１５４は、テスターハードウェア１００の各ブロックが使用するデータや、各ブロックが生成したデータを格納するために設けられる。たとえばＲＡＭ１５４は、信号発生器１４２が生成すべきデジタル信号のパターンを格納するパターンメモリとして利用したり、パスフェイル信号を格納するフェイルメモリ、任意波形発生器１４８が生成すべき波形を記述する波形データ、あるいはデジタイザ１５０により取得された波形データを格納する波形メモリなどとして利用される。
【００７２】
リレースイッチ群１６０は、テスターピンＰＩＯ１〜ＰＩＯＮおよびデバイス電源１４０、信号発生器１４２＿１〜１４２＿Ｎ、信号受信器１４４＿１〜１４４＿Ｎ、任意波形発生器１４８、デジタイザ１５０、パラメトリックメジャメントユニット１５２に接続される。リレースイッチ群１６０は、その内部に複数のリレースイッチを含み、デバイス電源１４０、任意波形発生器１４８、デジタイザ１５０、パラメトリックメジャメントユニット１５２それぞれを、任意のテスターピンＰＩＯに割り当て可能に構成される。
【００７３】
内部バス１６２は、テスターハードウェア１００の各ブロックの間で信号を送受信するために設けられる。内部バス１６２の種類、本数は特に限定されない。
【００７４】
上述のように、テスターハードウェア１００の内部の少なくともひとつのブロックの機能は、不揮発性メモリ１０２に格納されるコンフィギュレーションデータ３０６に応じて変更可能となっている。
【００７５】
以上がテスターハードウェア１００の構成である。このテスターハードウェア１００によれば、テスターハードウェア１００の各ブロックを組み合わせることにより、メモリや、プロセッサ、Ａ／Ｄコンバータ、Ｄ／Ａコンバータなどさまざまな半導体デバイスを、さまざまな手法で試験することができる。以下、テスターハードウェア１００を用いた試験システム２により実現可能な試験について説明する。
【００７６】
１ａ．  メモリの機能検証試験
メモリの機能検証試験には、主として、デバイス電源１４０、信号発生器１４２、信号受信器１４４が利用される。デバイス電源１４０は、メモリに対して供給すべき電源電圧を生成する。
なお電源電圧は、リレースイッチ群１６０を経由せずに、メモリの電源ピンに対して専用の電源ラインを介してＤＵＴ４に供給されてもよい。
【００７７】
信号発生器１４２は、メモリに供給すべきテストパターン（アドレス信号および書き込むべきデータ信号）を生成する。信号受信器１４４は、メモリから読み出された信号Ｓ２のレベルを判定し、期待値と比較することにより、パス、フェイル判定を行う。加えて信号受信器１４４は、受信した信号Ｓ２のタイミングが正常か否かを判定する。
【００７８】
１ｂ．  メモリのＤＣ試験
メモリのＤＣ試験時には、主としてデバイス電源１４０およびパラメトリックメジャメントユニット１５２が用いられる。デバイス電源１４０は、メモリに対して供給すべき電源電圧を生成する。デバイス電源１４０は、自らの出力である電源電圧および電源電流を測定可能に構成されている。パラメトリックメジャメントユニット１５２は、リレースイッチ群１６０によってメモリの任意のピンに対応するテスターピンＰＩＯに割り当てられる。デバイス電源１４０によって、電源電流、電源電圧変動が測定され、パラメトリックメジャメントユニット１５２によって任意のピンのリーク電流などが測定される。
また、あるテスターピンの電位と、そこに流れる電流を測定することにより、それらの比から、インピーダンスを計算でき、コンタクト不良の検出などに利用できる。
【００７９】
２ａ．  マイクロコントローラの機能検証試験
（i）マイクロコントローラの内部のメモリの機能検証試験は、１ａと同様のハードウェアを用いて試験可能である。
【００８０】
（ii）マイクロコントローラのデジタル信号処理部（ＣＰＵコア）の機能検証試験は、１ａと同様のハードウェアを用いて試験可能である。
【００８１】
２ｂ．  マイクロコントローラのＤＣ試験
マイクロコントローラのＤＣ試験は、１ｂと同様のハードウェアを用いて試験可能である。
【００８２】
３ａ．  Ａ／Ｄコンバータの機能検証試験
Ａ／Ｄコンバータの機能検証試験には、主としてデバイス電源１４０、任意波形発生器１４８および少なくともひとつの信号受信器１４４が利用される。任意波形発生器１４８は、リレースイッチ群１６０によって、Ａ／Ｄコンバータのアナログ入力端子に割り当てられ、所定の電圧範囲をスイープするアナログ電圧を生成する。少なくともひとつの信号受信器１４４はそれぞれ、Ａ／Ｄコンバータのデジタル出力端子に割り当てられ、Ａ／Ｄコンバータから、アナログ電圧の階調に応じたデジタルコードの各ビットを受信する。
【００８３】
信号受信器１４４により得られたデジタルコードと、任意波形発生器１４８が生成したアナログ電圧の相関関係によって、Ａ／Ｄコンバータのリニアリティ（ＩＮＬ、ＤＮＬ）などを評価することが可能となる。
【００８４】
３ｂ．  Ａ／ＤコンバータのＤＣ試験
Ａ／ＤコンバータのＤＣ試験は、１ｂと同様のハードウェアを用いて試験可能である。
【００８５】
４ａ．  Ｄ／Ａコンバータの機能検証試験
Ｄ／Ａコンバータの機能検証試験には、主としてデバイス電源１４０、少なくともひとつの信号発生器１４２およびデジタイザ１５０が利用される。少なくともひとつの信号発生器１４２はそれぞれ、Ｄ／Ａコンバータのデジタル入力端子に割り当てられる。信号発生器１４２は、Ｄ／Ａコンバータの入力デジタル信号をそのフルスケールに渡ってスイープする。
【００８６】
デジタイザ１５０は、リレースイッチ群１６０によって、Ｄ／Ａコンバータのアナログ出力端子に割り当てられ、Ｄ／Ａコンバータのアナログ出力電圧を、デジタルコードに変換する。
【００８７】
デジタイザ１５０により得られたデジタルコードと、信号発生器１４２が生成したデジタルコードの相関関係によって、Ｄ／Ａコンバータの出力電圧オフセットや出力電圧ゲインを評価することが可能となる。
【００８８】
４ｂ．  Ｄ／ＡコンバータのＤＣ試験
Ｄ／ＡコンバータのＤＣ試験は、１ｂと同様のハードウェアを用いて試験可能である。
【００８９】
Ａ／ＤコンバータやＤ／Ａコンバータは、単体のＩＣであってもよいし、マイクロコントローラに内蔵されてもよい。
【００９０】
５．  オシロスコープ試験
デジタイザ１５０をリレースイッチ群１６０によって任意のチャンネルに割り当て、デジタイザ１５０のサンプリング周波数を高めることにより、そのチャンネルを通過する信号の波形データを取得できる。波形データを、情報処理装置２００により可視化することにより、試験システム２をオシロスコープとして機能させることができる。
【００９１】
当業者によれば、テスターハードウェア１００を用いることにより、ここに例示したもの以外にも、さまざまな機能検証試験、ＤＣ試験などを実行しうることが理解される。
【００９２】
好ましい態様において、テスターハードウェア１００は、不揮発性メモリ１０２に書き込まれたコンフィギュレーションデータ３０６に応じて、少なくとも信号発生器１４２が生成するデジタル信号Ｓ１のパターンが変更可能に構成される。この場合、不揮発性メモリ１０２は、信号発生器１４２の一部であると把握することができる。
この場合、メモリやプロセッサ、Ａ／Ｄコンバータ、Ｄ／Ａコンバータなど被試験デバイスの機能検証試験を行う際に、デバイスの種類に応じて、コンフィギュレーションデータを選択することにより、個々のデバイスに対して最適なデジタル信号を供給でき、それらを適切に試験できる。
【００９３】
より具体的には、信号発生器１４２は、コンフィギュレーションデータ３０６に応じて、
（i）ＳＱＰＧ（Sequential Pattern Generator）、
（ii）ＡＬＰＧ(Algorithmic Pattern Generator)、
（iii）ＳＣＰＧ（Scan Pattern Generator）、
のいずれかの機能を選択的に具備するよう構成される。
【００９４】
ＳＱＰＧとＳＣＰＧは、ひとつのコンフィギュレーションデータ３０６によって提供されてもよい。この場合、ひとつの試験を実行中に、ひとつの信号発生器１４２を、ＳＱＰＧと、ＳＣＰＧを切りかえて使用できる。あるいは、いくつかのチャンネルの信号発生器１４２をＳＱＰＧとして、その他のチャンネルの信号発生器１４２をＳＣＰＧとして利用することもできる。
【００９５】
たとえばメモリの機能検証試験を行う際には、ＡＬＰＧに対応するコンフィギュレーションデータ３０６を不揮発性メモリ１０２に書き込むことにより、演算処理によって長大なテストパターンを自動生成できる。
【００９６】
また、プロセッサ（ＣＰＵやマイクロコントローラ）等の機能検証試験を行う際には、ＳＱＰＧに対応するコンフィギュレーションデータ３０６を不揮発性メモリ１０２に書き込めばよい。この場合、プロセッサ等の構成に応じてあらかじめユーザＵＳＲが定義したテストパターンをＲＡＭ１５４に格納しておき、各信号発生器１４２がテストパターンをＲＡＭ１５４から読み出してＤＵＴ４に与えることができる。
【００９７】
またバウンダリスキャンテストを行いたい場合には、ＳＣＰＧに対応するコンフィギュレーションデータ３０６を不揮発性メモリ１０２に書き込むことにより、ＤＵＴ４の内部ロジックを切り離した試験を実現できる。
【００９８】
続いて、図６のテスターハードウェア１００の具体的な実装について説明する。
図７は、テスターハードウェア１００の具体的な構成例を示す図である。以降では、コンフィギュレーションデータ３０６は、第１コンフィギュレーションデータ３０６ａ、第２コンフィギュレーションデータ３０６ｂおよび第３コンフィギュレーションデータ３０６ｃによって構成され、不揮発性メモリ１０２は、第１不揮発性メモリ１０２ａ、第２不揮発性メモリ１０２ｂおよび第３不揮発性メモリ１０２ｃによって構成されるものとして説明する。
テスターハードウェア１００は、主としてコントロールモジュール５００、少なくともひとつのファンクションモジュール５０２、バスボード５０４を備える。ファンクションモジュール５０２は、所定数（３２）のチャンネルを単位として構成される。図７のテスターハードウェア１００は、４つのファンクションモジュール５０２を搭載しており、３２×４＝１２８チャンネルを有する。
【００９９】
バスポートＰ１には、バス１０を介して情報処理装置２００が接続される。コントロールモジュール５００は、インタフェース部１３０、第３不揮発性メモリ１０２ｃ、第３プログラマブルデバイス５１０、オシレータ５２０、バスセレクタ５２２、メインポート５２４、拡張ポート５２６および内部バス１６２を備える。
【０１００】
２重線で示される内部バス１６２は、テスターハードウェア１００に搭載されるプログラマブルデバイスを接続するバスである。インタフェース部１３０は上述したとおりである。
第３プログラマブルデバイス５１０は、内部バス１６２を介して情報処理装置２００から第３コンフィギュレーションデータ３０６ｃ（図７に不図示）を受信し、それを第３不揮発性メモリ１０２ｃに書き込み可能となっている。第３プログラマブルデバイス５１０は、第３不揮発性メモリ１０２ｃに格納されたコンフィギュレーションデータ３０６ｃに応じて、内部の回路情報が定義される。
【０１０１】
コンフィギュレーションデータ３０６ｃがロードされた第３プログラマブルデバイス５１０の内部には、システムコントローラ５１２、バスコントローラ５１４、ＰＧコントローラ５１６が形成される。
【０１０２】
なお、第３プログラマブルデバイス５１０の機能は、ＤＵＴの種類や試験項目によらずに不変であるため、第３コンフィギュレーションデータ３０６ｃは、テスターハードウェア１００の配布時にあらかじめ第３不揮発性メモリ１０２ｃに書き込まれていてもよい。なお、出荷後の機能拡張やバグフィックスを目的として、サーバ３００からダウンロードされた第３コンフィギュレーションデータ３０６ｃが、第３不揮発性メモリ１０２ｃに書き込まれる場合もありえる。
【０１０３】
上述のように、異常検出部１３４は、電源異常や温度異常を検出する。システムコントローラ５１２は、情報処理装置２００からの制御命令や、異常検出部１３４の検出結果に応じて、テスターハードウェア１００を統合的に制御する。
【０１０４】
バスコントローラ５１４は、内部バス１６２を介した各ブロック間のデータの送受信を制御する。
【０１０５】
ＰＧ（Pattern Generator）コントローラ５１６は、各チャンネルのパターン発生器と、内部バス１６２とは別の制御線（不図示）を介して接続されており、情報処理装置２００からの制御命令に応答して、各パターン発生器にＰＧスタート信号を送信する。またＰＧコントローラ５１６は、各パターン発生器において生成されるフラグ信号（制御信号、割込信号ともいう）を受け、そのフラグ信号に関する情報を情報処理装置２００に返す。
【０１０６】
ＰＬＬ（Phase Locked Loop）５１８は第３プログラマブルデバイス５１０に標準で備わっている回路であり、外部のオシレータ５２０からの基準クロックを受け、テスト周期に対応する周期信号を生成する。テスターハードウェア１００の内部の各ブロックは、この周期信号と同期して制御される。
【０１０７】
第３プログラマブルデバイス５１０のバスポートは、内部バス１６２を経由して、複数のファンクションモジュール５０２と、より具体的には、ファンクションモジュール５０２の内部のプログラマブルデバイスと直列にリング状に接続される。
【０１０８】
バスボード５０４はいわゆるバックワイヤリングボード（ＢＷＢ）であり、その上には、コントロールモジュール５００と複数のファンクションモジュール５０２の間を接続する内部バス１６２が形成される。各ファンクションモジュール５０２は、対応するテスターピンＰＩＯと接続されるとともに、内部バス１６２と接続されている。
【０１０９】
本実施の形態において、テスターハードウェア１００は、センドポートＰ２およびリターンポートＰ３を備える。ひとつのテスターハードウェア１００のセンドポートＰ２と、別のテスターハードウェア１００のリターンポートＰ３は、バス１６２を介して接続可能となっている。また、テスターハードウェア１００は、マスターモードと、スレーブモードが切りかえ可能に構成される。
これにより、複数のテスターハードウェア１００を数珠つなぎとし、先頭のテスターハードウェア１００をマスターモード、残りをスレーブモードとすることにより、複数のテスターハードウェア１００を、単一の情報処理装置２００によって制御することができる。
【０１１０】
マスターモードとスレーブモードを切りかえるために、コントロールモジュール５００は、バスセレクタ５２２、メインポート５２４、拡張ポート５２６を備える。メインポート５２４はバスボード５０４と接続される。拡張ポート５２６は、センドポートＰ２およびリターンポートＰ３と接続される。
バスセレクタ５２２は、コントロールモジュール５００と接続される第１ポートａ、第２ポートｂ、メインポート５２４と接続される第３ポートｃ、第４ポートｄ、拡張ポート５２６と接続される第５ポートｅ、第６ポートｆを有する。
バスセレクタ５２２は、ポートａとｃ間、ポートｄとｂ間が接続される第１状態、ポートａとｃ間、ｄとｅ間、ｆとｂ間が接続される第２状態、ポートａとｂ間が接続される第３状態が切りかえ可能に構成される。
【０１１１】
テスターハードウェア１００を単体で使用する場合、第１状態に設定すればよい。これにより拡張ポートＰ２、Ｐ３が不使用状態となる。複数のテスターハードウェア１００を数珠つなぎで使用する場合、第２状態とすればよい。
【０１１２】
ファンクションモジュール５０２の電源のオン、オフは、コントロールモジュール５００の電源のオン、オフと独立して制御可能となっており、具体的には、ファンクションモジュール５０２の電源のオン、オフは、コントロールモジュール５００によって制御される。かかる構成では、あるファンクションモジュール５０２の電源がオフしていると、そのファンクションモジュール５０２を経由したデータ伝送ができなくなる。そこで、あるファンクションモジュール５０２の電源がオフ状態のときには、それと接続されるコントロールモジュール５００を第３状態とすることにより、内部バス１６２をコントロールモジュール５００内で閉じた状態にできる。コントロールモジュール５００は、複数のファンクションモジュール５０２の電源を一括して制御してもよいし、それらを独立して個別に制御してもよい。
【０１１３】
図８は、テスターハードウェア１００の内部のレイアウトを示す斜視図である。ノイズフィルタ５０６ａは、図５のＡＣプラグ１１０を介して商用交流電源からの交流電圧を受け、ノイズを除去する。電源ボード５０６ｂには、交流電圧を直流電圧に変換するＡＣ／ＤＣコンバータ（インバータ）が搭載される。電源ボード５０６ｂにおいて生成された直流電圧は、コントロールモジュール５００、ファンクションモジュール５０２等に供給される。
【０１１４】
コントロールモジュール５００および複数のファンクションモジュール５０２は、テスターハードウェア１００の筐体内に並列に配置される。冷却ファン５０８はテスターハードウェア１００の背面側に設けられ、ファンクションモジュール５０２を冷却する。
【０１１５】
またコントロールモジュール５００および複数のファンクションモジュール５０２それぞれの後ろ側面側には、バスボード５０４が設けられる。この構成によれば、テスターハードウェア１００の横幅Ｗを変更し、ファンクションモジュール５０２の枚数を増減することにより、容易にチャンネル数を変更することができる。
【０１１６】
図９は、ファンクションモジュール５０２の具体的な構成例を示すブロック図である。ファンクションモジュール５０２は、第１プログラマブルデバイス５３０、第２プログラマブルデバイス５３２、バスポート５３４、第１不揮発性メモリ１０２ａ、第２不揮発性メモリ１０２ｂ、揮発性メモリ５３６、ピンエレクトロニクス５４０、内部バス１６２を備える。デバイス電源１４０、パラメトリックメジャメントユニット１５２、任意波形発生器１４８、デジタイザ１５０については、図６を参照して説明した通りである。
【０１１７】
ピンエレクトロニクス５４０は、複数のドライバＤｒと、複数の電圧比較器Ｃｐを含む。複数のドライバＤｒは、それぞれがチャンネルごとに設けられ、入力端子にパターン信号ＰＡＴを受け、イネーブル端子にドライバイネーブル信号ＤＲＥを受ける。ドライバＤｒは、ドライバイネーブル信号ＤＲＥがアサートされたとき、パターン信号ＰＡＴに応じた電圧レベルを有するテストパターンを出力する。またドライバＤｒは、ドライバイネーブル信号ＤＲＥがネゲートされたときに、出力がハイインピーダンスとなる。ピンエレクトロニクス５４０には後述するように、いくつかのＤ／Ａコンバータ（図９に不図示）が設けられる。
【０１１８】
複数の電圧比較器Ｃｐは、それぞれがチャンネルごとに設けられる。電圧比較器Ｃｐは、ＤＵＴ４から対応するテスターピンＰＩＯに入力されたデジタル信号の電圧レベルを所定の上側しきい値電圧ＶＴＨＨ、下側しきい値電圧ＶＴＨＬと比較し、比較結果を示す比較信号ＳＨ、ＳＬを生成する。
【０１１９】
複数チャンネルのドライバＤｒおよび電圧比較器Ｃｐは、ひとつの半導体チップに集積化され、あるいはひとつの半導体モジュール内に構成されてもよい。
【０１２０】
第１不揮発性メモリ１０２ａは、書き換え可能であり、第１コンフィギュレーションデータ３０６ａ（図９に不図示）を格納する。第１プログラマブルデバイス５３０は、内部バス１６２を介して情報処理装置２００から第１コンフィギュレーションデータ３０６ａを受信し、それを第１不揮発性メモリ１０２ａに書き込み可能となっている。また、第１プログラマブルデバイス５３０は、第１不揮発性メモリ１０２ａに格納された第１コンフィギュレーションデータ３０６ａによって内部の回路情報が定義される。
【０１２１】
第１プログラマブルデバイス５３０は、複数のドライバＤｒの入力端子、複数のドライバＤｒそれぞれのイネーブル端子、複数の電圧比較器Ｃｐそれぞれの出力端子および揮発性メモリ５３６と接続される。
【０１２２】
第１プログラマブルデバイス５３０の内部には、第１コンフィギュレーションデータ３０６ａがロードされた状態において、（１）複数のラッチ回路Ｌｃ、（２）複数のデジタルコンパレータＤｃ、（３）パターン発生器５４２、（４）タイミング発生器５４４、（５）フォーマットコントローラ５４６、（６）センスコントローラ５４８、（７）フェイルメモリコントローラ５５０が構成される。
【０１２３】
パターン発生器５４２は、複数のドライバＤｒそれぞれに出力すべきパターン信号ＰＡＴを定義するパターンデータＰＴＮ、複数のドライバＤｒそれぞれに出力すべきドライバイネーブル信号ＤＲＥ、および複数のデジタルコンパレータＤｃそれぞれに出力すべき期待値データＥＸＰを生成する。
【０１２４】
上述のようにパターン発生器５４２は、内部バス１６２とは別の制御線を介してコントロールモジュール５００のＰＧコントローラ５１６と接続されている。この制御線を介して、各チャンネルのパターン発生器５４２の状態がＰＧコントローラ５１６によって制御され、またＰＧコントローラ５１６に通知される。
【０１２５】
タイミング発生器５４４は、第１プログラマブルデバイス５３０の信号処理の時間を司る。たとえばタイミング発生器５４４は、テスト周期を規定するレート信号ＲＡＴＥ、パターン信号ＰＡＴのポジティブエッジやネガティブエッジのタイミングを規定するタイミング信号ＴＭＧ、ストローブ信号ＳＴＲＢなどを生成する。
【０１２６】
フォーマットコントローラ（波形整形器）５４６は、パターンデータＰＴＮおよびタイミング信号ＴＭＧにもとづき、パターン信号ＰＡＴを生成する。パターン信号ＰＡＴのレベルは、パターンデータＰＴＮに応じており、各エッジのタイミングは、タイミング信号ＴＭＧに応じている。またフォーマットコントローラ５４６は、パターン信号ＰＡＴの信号形式（ＮＲＺ、ＲＺ、差分、バイポーラなど）を制御する。
【０１２７】
パターン発生器５４２、タイミング発生器５４４、フォーマットコントローラ５４６およびドライバＤｒが、図６の信号発生器１４２に対応する。上述したように、信号発生器１４２は、コンフィギュレーションデータ３０６に応じて、デジタル信号Ｓ１のパターンが変更可能に構成される。これは、パターン発生器５４２によるパターンデータＰＴＮの発生方法を、第１不揮発性メモリ１０２ａに書き込まれた第１コンフィギュレーションデータ３０６ａに応じて変更可能とすることで実現される。
【０１２８】
より具体的にはパターン発生器５４２は、ＳＱＰＧ（Sequential Pattern Generator）、ＡＬＰＧ(Algorithmic Pattern Generator)、ＳＣＰＧ（Scan Pattern Generator）のうち、第１コンフィギュレーションデータ３０６ａに応じた少なくともひとつの構成を選択可能となっている。
【０１２９】
複数のラッチ回路Ｌｃは、それぞれチャンネルごと（電圧比較器Ｃｐごと）に設けられ、対応する電圧比較器Ｃｐからの比較信号ＳＨ、ＳＬを、ストローブ信号ＳＴＲＢのタイミングでラッチする。
【０１３０】
複数のデジタルコンパレータＤｃは、それぞれがチャンネルごと（ラッチ回路Ｌｃごと）に設けられ、対応するラッチ回路Ｌｃによりラッチされたデータを、対応する期待値データＥＸＰと比較し、一致・不一致を示すパスフェイル信号ＰＦを生成する。
【０１３１】
センスコントローラ５４８は、デジタルコンパレータＤｃが、期待値比較を行うサイクル、エッジを制御する。
【０１３２】
フェイルメモリコントローラ５５０は、複数のデジタルコンパレータＤｃから出力されるパスフェイル信号ＰＦを、フェイルメモリである揮発性メモリ５３６に格納する。
【０１３３】
電圧比較器Ｃｐ、ラッチ回路Ｌｃ、デジタルコンパレータＤｃ、パターン発生器５４２、タイミング発生器５４４が、図６の信号受信器１４４に対応する。
【０１３４】
第２不揮発性メモリ１０２ｂは、書き換え可能であり、第２コンフィギュレーションデータ３０６ｂ（図９に不図示）を格納する。第２プログラマブルデバイス５３２は、内部バス１６２を介して情報処理装置２００から第２コンフィギュレーションデータ３０６ｂを受信し、それを第２不揮発性メモリ１０２ｂに書き込み可能となっている。また、第２プログラマブルデバイス５３２は、第２不揮発性メモリ１０２ｂに格納された第２コンフィギュレーションデータ３０６ｂによって内部の回路情報が定義される。
【０１３５】
第２プログラマブルデバイス５３２は、第１プログラマブルデバイス５３０、ピンエレクトロニクス５４０、デバイス電源１４０、パラメトリックメジャメントユニット１５２、任意波形発生器１４８、デジタイザ１５０と接続される。
【０１３６】
第２プログラマブルデバイス５３２の内部には、第２コンフィギュレーションデータ３０６ｂがロードされた状態において、ピンコントローラ５６０、デバイス電源コントローラ５６２、ＤＣコントローラ５６４、波形発生器コントローラ５６６、デジタイザコントローラ５６８が構成される。
【０１３７】
図１０は、ピンエレクトロニクス５４０の具体的な構成を示す回路図である。図１０には１チャンネル分の構成のみが示される。
第１Ｄ／Ａコンバータ５７０は、対応するドライバＤｒの上側電源電圧ＶＨを生成する。第２Ｄ／Ａコンバータ５７２は、対応するドライバＤｒの下側電源電圧ＶＬを生成する。ドライバＤｒは、ＰＡＴ＝０が入力されたとき電圧レベルＶＬを出力し、ＰＡＴ＝１が入力されたとき電圧レベルＶＨを出力する。
【０１３８】
コンパレータＣｐＨは、ＤＵＴ４からの信号を、上側しきい値電圧ＶＴＨＨと比較する。コンパレータＣｐＬは、ＤＵＴ４からの信号を、下側しきい値電圧ＶＴＨＬと比較する。
第３Ｄ／Ａコンバータ５７４は、上側しきい値ＶＴＨＨを生成し、第４Ｄ／Ａコンバータ５７６は下側しきい値電圧ＶＴＨＬを生成する。
【０１３９】
第２プログラマブルデバイス５３２のピンコントローラ５６０は、情報処理装置２００からの制御データにもとづいて、第１Ｄ／Ａコンバータ５７０、第２Ｄ／Ａコンバータ５７２、第３Ｄ／Ａコンバータ５７４、第４Ｄ／Ａコンバータ５７６それぞれの入力端子に、ＶＨ、ＶＬ、ＶＴＨＨ、ＶＴＨＬを指示する制御値を出力する。
【０１４０】
図９に戻る。デバイス電源コントローラ５６２、ＤＣコントローラ５６４、波形発生器コントローラ５６６、デジタイザコントローラ５６８はそれぞれ、情報処理装置２００からの制御データにもとづいて、デバイス電源１４０、パラメトリックメジャメントユニット１５２、任意波形発生器１４８、デジタイザ１５０を制御する。
【０１４１】
ファンクションモジュール５０２において、内部バス１６２は、バスポート５３４から、第２プログラマブルデバイス５３２、第１プログラマブルデバイス５３０、を経由してバスポート５３４に戻るように形成される。なお、第２プログラマブルデバイス５３２と第１プログラマブルデバイス５３０の順序は入れ替えてもよい。
【０１４２】
図７〜図１０で説明したテスターハードウェア１００によれば以下の効果を得ることができる。
第１に、ＤＵＴ４の種類や検査項目などに応じて、パターン発生器５４２、タイミング発生器５４４、フォーマットコントローラ５４６それぞれが所望の機能を具備するように第１コンフィギュレーションデータ３０６ａを用意し、それを第１コンフィギュレーションデータ３０６ａに書き込むことにより、さまざまなＤＵＴ４に、適切なデジタル信号を供給できる。
【０１４３】
第２に、複数のラッチ回路Ｌｃ、複数のデジタルコンパレータＤｃ、パターン発生器５４２、タイミング発生器５４４、フォーマットコントローラ５４６をプログラマブルデバイスを用いて一体に構成することにより、テスターハードウェアを小型化できる。
【０１４４】
第３に、フェイルメモリコントローラ５５０を第１プログラマブルデバイス５３０内に構成することにより、ＤＵＴ４にデジタル信号を与え、読み出したデジタル信号の良否を判定する一連のデジタル処理を、すべて第１プログラマブルデバイス５３０で行うことができる。その結果、テストプログラムによるテスターハードウェア１００の制御を、簡素化できる。
【０１４５】
第４に、ファンクションモジュール５０２の各ブロックを、第１プログラマブルデバイス５３０と第２プログラマブルデバイス５３２のように分離することにより、ＤＵＴ４にデジタル信号を与え、読み出したデジタル信号の良否を判定する一連のデジタル処理が第１プログラマブルデバイス５３０で行われ、その他のアナログデバイスの制御が第２プログラマブルデバイス５３２で行われる。その結果、テスターハードウェア１００の設計やバグフィックスなどを、デジタルブロックの制御とアナログブロックの制御に切り分けて行うことができ、設計効率を高めることができる。
【０１４６】
第５に、テスターハードウェア１００を、ファンクションモジュール５０２を単位として構成することにより、ファンクションモジュール５０２の増減に応じて、さまざまなチャンネル数を有するテスターハードウェア１００を、簡易に設計することができる。
【０１４７】
第６に、ファンクションモジュール５０２それぞれの第１プログラマブルデバイス５３０、第２プログラマブルデバイス５３２は、内部バス１６２を介して直列に（リング状に）接続される。この構成により、複数のファンクションモジュール５０２それぞれの第１不揮発性メモリ１０２ａには同じコンフィギュレーションデータが書き込まれ、それぞれの第２不揮発性メモリ１０２ｂにも同じコンフィギュレーションデータを書き込むことができる。
【０１４８】
また、ほとんどのケースにおいて、複数のファンクションモジュール５０２は共通のＤＵＴに接続される。したがって、複数のファンクションモジュール５０２における設定データや制御指令は同じである場合が多い。かかる理由からも、第１プログラマブルデバイス５３０、第２プログラマブルデバイス５３２を直列に接続することにより、コンフィギュレーションデータを各プログラマブルデバイスに効率的に供給できる。
【０１４９】
たとえば内部バス１６２を伝送するデータの先頭には、伝送の先のデバイス５３２、５３２を指定するデバイス制御ビットが付与される。各デバイスは、自らがデバイス制御ビットにより指定されているときに、それに続くデータを処理の対象と判定する。図７の構成では、内部バス１６２の上流から、８個のデバイス５３２、５３０、５３２、５３０、５３２、５３０、５３２、５３０の順で接続される。この場合、たとえばデバイス制御ビットを８ビットとし、最上位ビットを先頭のデバイス５３２、最下位ビットを最後尾のデバイス５３０に割り当ててもよい。各デバイスは、対応するビットが１のときに、デバイス制御ビットに続くデータが、自身に対して送信されたものと判断する。
【０１５０】
すべてのデバイスに対して共通のデータを送信したい場合、デバイス制御ビットをオール１とし、その後に送信したい共通のデータを配置することで、第３プログラマブルデバイス５１０は、１回、データを送信するだけで、すべてのデバイスにデータを供給することができる。
【０１５１】
なお実施の形態では、複数のラッチ回路、複数のデジタルコンパレータ、パターン発生器、タイミング発生器、フォーマットコントローラが、ひとつの第１プログラマブルデバイス５３０により構成される場合を説明したが、これらを複数の第１プログラマブルデバイスに分割して構成してもよい。この場合、ひとつの第１プログラマブルデバイスに必要とされるゲート数が少ない安価なプログラマブルデバイスが利用できるため、トータルのコストでメリットがある場合、複数のプログラマブルデバイスに分割してもよい。具体的には、パターン発生器、タイミング発生器、フォーマットコントローラをひとつのプログラマブルデバイスに実装し、複数のラッチ回路、複数のデジタルコンパレータを別のプログラマブルデバイスに実装してもよい。
【０１５２】
以上が試験システム２の構成である。
続いて、クラウドテスティングサービスのフローを説明する。図１１は、クラウドテスティングサービスのフローを示す図である。
ユーザＵＳＲは、クラウドテスティングサービスの利用をサービス提供者ＰＲＶに申請する（Ｓ１００）。申請にともない、ユーザＵＳＲの情報がサービス提供者ＰＲＶのサーバ３００に送信される。
【０１５３】
サービス提供者ＰＲＶは、ユーザＵＳＲの信用調査などの結果にもとづいて審査を行う（Ｓ１０２）。審査の結果、所定の条件を満たすユーザＵＳＲは、クラウドテスティングサービスの利用者としてデータベースに登録され、ユーザＩＤが付与される。登録に際してユーザＵＳＲは、試験システム２に使用したい自身の情報処理装置２００の識別情報を、サービス提供者ＰＲＶに通知する。情報処理装置２００の識別情報も、サーバ３００のデータベースに登録される。情報処理装置２００の識別情報としては、情報処理装置２００のＭＡＣアドレスを利用してもよい。
【０１５４】
サービス提供者ＰＲＶは、登録されたユーザＵＳＲに対して、テスターハードウェア１００を送付する（Ｓ１０４）。試験システム２を広く普及させたいというサービス提供者ＰＲＶ側の観点、および安価に試験システム２を構築したいというユーザＵＳＲ側の観点に鑑みて、サービス提供者ＰＲＶとユーザＵＳＲは、テスターハードウェア１００は無償で貸与する契約を結んでもよい。当然ながら、ユーザＵＳＲによるテスターハードウェア１００の改変や分解は契約により禁止される。
【０１５５】
ユーザＵＳＲは、サービス提供者ＰＲＶが開設するウェブサイトにアクセス、ログインし、制御プログラム３０２をダウンロードし、登録した情報処理装置２００にインストールする（Ｓ１０６）。なおサービス提供者ＰＲＶは、制御プログラム３０２の使用は、登録された情報処理装置２００においてのみ許諾してもよい。また制御プログラム３０２は、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどのメディアに格納された状態で配布されてもよい。
【０１５６】
ここまでで、ユーザＵＳＲはテスターハードウェア１００および情報処理装置２００を用いて、試験システム２を構築可能となる。
【０１５７】
試験システム２のセットアップを目的とするユーザＵＳＲは、ウェブサイトにアクセスし、ログインする。ウェブサイトには、ダウンロード可能なプログラムモジュール３０４およびコンフィギュレーションデータ３０６のリストが掲載されている。そして、ユーザＵＳＲは、試験対象のＤＵＴ４の種類や試験内容に適したプログラムモジュール３０４、コンフィギュレーションデータ３０６を選択し（Ｓ１０８）、それらのダウンロードを要求する（Ｓ１１０）。これを受けて、サーバ３００から、プログラムモジュール３０４やコンフィギュレーションデータ３０６が、情報処理装置２００に供給される（Ｓ１１２）。
【０１５８】
また、ユーザＵＳＲは、サービス提供者ＰＲＶのサーバ３００に対して、希望するプログラムモジュール３０４やコンフィギュレーションデータ３０６の使用許諾を申請する（Ｓ１１４）。
【０１５９】
プログラムモジュール３０４やコンフィギュレーションデータ３０６には、使用期間に応じた料金が定められている。サービス提供者ＰＲＶは、ユーザＵＳＲからの料金の支払いを条件として（Ｓ１１６）、プログラムモジュール３０４、コンフィギュレーションデータ３０６ごとに、それらの使用を許諾するライセンスキーを発行する（Ｓ１１８）。
コンフィギュレーションデータ３０６に対するライセンスキーを第１ライセンスキーＫＥＹ１、プログラムモジュール３０４に対するライセンスキーを第２ライセンスキーＫＥＹ２と称し、区別する。
【０１６０】
第１ライセンスキーＫＥＹ１は、対象となるコンフィギュレーションデータ３０６について、ユーザによってあらかじめ指定されデータベースに登録されている情報処理装置２００との組み合わせ時にのみ、使用を許諾する。第１ライセンスキーＫＥＹ１には、対象となるコンフィギュレーションデータ３０６を示すデータと、使用が許諾される情報処理装置の識別情報と、コンフィギュレーションデータ３０６の使用が許諾される使用許諾期間を示すデータと、を含む。当然ながら第１ライセンスキーＫＥＹ１は、暗号化されている。
【０１６１】
同様に第２ライセンスキーＫＥＹ２は、対象となるプログラムモジュール３０４について、ユーザによってあらかじめ指定されデータベースに登録されている情報処理装置２００上でのみ、使用を許諾する。第２ライセンスキーＫＥＹ２には、対象となるプログラムモジュール３０４を示すデータと、使用が許諾される情報処理装置の識別情報と、プログラムモジュール３０４の使用が許諾される使用許諾期間を示すデータと、を含む。当然ながら第２ライセンスキーＫＥＹ２も暗号化されている。
【０１６２】
なお、変形例において、使用許諾期間を設定せずに無期限としてもよい。
【０１６３】
以上が試験システム２の構成である。続いて試験システム２の動作を説明する。
図１１のフローを経て、情報処理装置２００には、制御プログラム３０２、プログラムモジュール３０４が格納されており、またテスターハードウェア１００の不揮発性メモリ１０２には、コンフィギュレーションデータ３０６が書き込まれている。
【０１６４】
使用に際して、ユーザＵＳＲは、情報処理装置２００とテスターハードウェア１００をバス１０を介して接続する。そしてユーザＵＳＲは、テスターハードウェア１００の電源を投入し、情報処理装置２００において制御プログラム３０２を起動する。
【０１６５】
情報処理装置２００は、コンフィギュレーションデータ３０６の認証を行う。コンフィギュレーションデータ３０６の認証は、制御プログラム３０２の起動時に行ってもよい。
図２のハードウェアアクセス部２１２は、テスターハードウェア１００の不揮発性メモリ１０２に格納されるコンフィギュレーションデータ３０６の情報を取得する。認証部２１４は、コンフィギュレーションデータ３０６に対して発行された第１ライセンスキーＫＥＹ１を参照する。第１ライセンスキーＫＥＹ１が存在する場合、そのライセンスキーＫＥＹ１に含まれる情報処理装置の識別情報が、ユーザＵＳＲが現在使用する情報処理装置２００のそれと一致するか、また現在の時刻が使用許諾期間に含まれるかが判定される。識別情報が一致し、使用許諾期間内である場合、認証部２１４は、コンフィギュレーションデータ３０６が情報処理装置２００との組み合わせ時に使用が許諾されているものと判定し、テスターハードウェア１００において、不揮発性メモリ１０２内のコンフィギュレーションデータ３０６の使用が許諾される。これにより、テスターハードウェア１００は、第１ライセンスキーＫＥＹ１が発行済みである場合にのみ、コンフィギュレーションデータ３０６に応じて動作可能となる。使用許諾期間を過ぎている場合には、ユーザＵＳＲに、そのコンフィギュレーションデータ３０６に対する使用の再契約の申請を促す。
【０１６６】
また情報処理装置２００は、プログラムモジュール３０４の認証を行う。具体的には、認証部２１４は、ユーザＵＳＲが使用を意図したプログラムモジュール３０４それぞれに対して発行された第２ライセンスキーＫＥＹ２を参照する。第２ライセンスキーＫＥＹ２が存在する場合、そのライセンスキーＫＥＹ２に含まれる情報処理装置の識別情報が、ユーザＵＳＲが現在使用する情報処理装置２００のそれと一致するか判定される。一致する場合、認証部２１４は、プログラムモジュール３０４が情報処理装置２００との組み合わせ時に使用が許諾されているものと判定し、プログラムモジュール３０４を制御プログラム３０２に組み込むことを許諾する。
【０１６７】
また情報処理装置２００は、コンフィギュレーションデータ３０６と一緒に使用可能なプログラムモジュール３０４を保持しているか否かの判定を行う。この判定は、制御プログラム３０２の起動時に行ってもよい。図１２は、この処理のフローを示す図である。
情報処理装置２００のハードウェアアクセス部２１２は、テスターハードウェア１００の不揮発性メモリ１０２に格納されているコンフィギュレーションデータ３０６を取得する（Ｓ２００）。判定部２１６は、ハードウェアアクセス部２１２が取得したコンフィギュレーションデータ３０６と一緒に使用可能なプログラムモジュール３０４が記憶装置２０６に保持されているか否か判定する（Ｓ２０２）。たとえばコンフィギュレーションデータ３０６がメモリ試験用のデータである場合に、記憶装置２０６に保持されているプログラムモジュール３０４が、Ａ／Ｄコンバータのリニアリティ検証プログラムだけであるときは、コンフィギュレーションデータ３０６と一緒に使用可能なプログラムモジュール３０４は保持されていないと判定される。一方、Ａ／Ｄコンバータのリニアリティ検証プログラムに加えてＤＲＡＭのＤＣ検査用プログラムが記憶装置２０６に保持されているときは、ＤＲＡＭのＤＣ検査用プログラムがコンフィギュレーションデータ３０６と一緒に使用可能なプログラムモジュール３０４として判定される。
【０１６８】
表示部２３２は、コンフィギュレーションデータ３０６と一緒に使用可能なプログラムモジュール３０４のリスト、より具体的にはコンフィギュレーションデータ３０６と一緒に使用可能な試験アルゴリズムモジュール３０４ａのリストと解析ツールモジュール３０４ｂのリストをそれぞれ情報処理装置２００のディスプレイに表示する（Ｓ２０４）。たとえば、後述の図１６の試験項目一覧６０６や図１８の解析ツール６１０のごとく表示する。
【０１６９】
また情報処理装置２００は、試験アルゴリズムモジュール３０４ａが、テスターハードウェア１００に搭載されているファンクションモジュール５０２に対応するか否かの判定を行う。この判定は、制御プログラム３０２の起動時に行ってもよい。図１３は、この処理のフローを示す図である。
情報処理装置２００のハードウェアアクセス部２１２は、テスターハードウェア１００の不揮発性メモリ１０２に格納されているファンクションモジュール５０２に関する情報を取得する（Ｓ２１０）。ここで、ファンクションモジュール５０２に関する情報とは、たとえば、どのような種別のファンクションモジュール５０２であるかを識別できるＩＤなどである。判定部２１６は、ハードウェアアクセス部２１２が取得したファンクションモジュール５０２に関する情報からテスターハードウェア１００に搭載されているファンクションモジュール５０２を把握するとともに、記憶装置２０６に保持されている試験アルゴリズムモジュール３０４ａが、このファンクションモジュール５０２に対応しているか否かを判定する（Ｓ２１２）。例えば、試験アルゴリズムモジュール３０４ａがマイクロコントローラの試験用である場合、すなわち、被試験デバイスがマイクロコントローラの場合は、ＤＲＡＭやフラッシュメモリの試験の場合に比べ高い電圧を供給する必要があり、それに応じたファンクションモジュール５０２が搭載されている必要がある。このため、判定部２１６は、マイクロコントローラの試験に対応できるファンクションモジュール５０２が搭載されているか否か判定する。
表示部２３２は、判定の結果を情報処理装置２００のディスプレイに表示する（Ｓ２１４）。もちろん、試験アルゴリズムモジュール３０４ａに対応するファンクションモジュール５０２が搭載されていない場合にだけ表示してもよい。
【０１７０】
また情報処理装置２００は、テスターハードウェア１００の不揮発性メモリ１０２に格納されているコンフィギュレーションデータ３０６と一緒に使用可能なプログラムモジュール３０４で、かつ、記憶装置２０６に格納されていないプログラムモジュール３０４がある場合、それをユーザに通知する。この処理は、制御プログラム３０２の起動時や、ユーザが指定した任意のタイミングに行ってもよい。図１４は、この処理のフローを示す図である。
情報処理装置２００のデータ取得部２０８は、サーバ３００からプログラムモジュール３０４のリストを取得する（Ｓ２２０）。ハードウェアアクセス部２１２は、テスターハードウェア１００の不揮発性メモリ１０２に格納されるコンフィギュレーションデータ３０６を取得する（Ｓ２２２）。判定部２１６は、プログラムモジュール３０４のうち、コンフィギュレーションデータ３０６と一緒に使用可能で、かつ、記憶装置２０６に保持されていないプログラムモジュール３０４があるか否かを判定する（Ｓ２２４）。表示部２３２は、記憶装置２０６が保持していないプログラムモジュール３０４を情報処理装置２００のディスプレイに表示する（Ｓ２２６）。
【０１７１】
上述の処理では、プログラムモジュール３０４のリストをサーバ３００から取得した上で、情報処理装置２００側で、記憶装置２０６に保持されていないプログラムがあるか否かを判定している。この変形例として、サーバ３００側で判定してもよい。図１５は、この変形例の処理のフローを示す図である。
情報処理装置２００のハードウェアアクセス部２１２は、テスターハードウェア１００の不揮発性メモリ１０２に格納されるコンフィギュレーションデータ３０６を取得する（Ｓ２３０）。データ提供部２０９は、取得したコンフィギュレーションデータ３０６に関する情報をサーバ３００に提供する（Ｓ２３２）。コンフィギュレーションデータ３０６に関する情報を受け付けると、サーバ３００のリスト表示部３２０は、そのコンフィギュレーションデータ３０６と一緒に使用可能なプログラムモジュール３０４のリスト画面を情報処理装置２００に提供し、ディスプレイに表示させる（Ｓ２３４）。ユーザＵＳＲに対して使用が許諾されたプログラムモジュール３０４、すなわち、ユーザＵＳＲから料金が支払れ、第２ライセンスキーＫＥＹ２が発行されたプログラムモジュール３０４が既にある場合は、それ以外のプログラムモジュール３０４のリストを表示してもよい。
【０１７２】
以上の処理を経て、情報処理装置２００においてテストプログラム２４０にもとづく試験が実行可能となる。
図１６は、テストプログラム２４０によって提供される、試験の実行を管理する管理画面６００を示す。管理画面６００は、作業フロー欄６０２と、入力画面欄６０４とによって構成されている。作業フロー欄６０２には、試験の一連の作業がその実行順に並べられて表示される。具体的には、ピンを定義する「Pin Definitions」、試験項目を選択する「Select Measure Item」、試験項目を実行するために必要な試験条件を設定し、試験を実行する「Setup and Execution」、解析ツールを選択する「Open analysis Tools」、複数の試験項目を連続実行する「Flow Execution」を含む作業フローが示されている。
【０１７３】
作業フロー欄６０２の各作業はユーザＵＳＲに選択可能な態様で表示される。ユーザＵＳＲにより作業が選択されると、選択された作業に対応する画面が入力画面欄６０４に表示される。つまり、１つの管理画面６００上に、各作業に対応する入力画面が切り替えて表示される。ユーザＵＳＲは、作業フロー欄６０２で作業を選択し、入力画面欄６０４に表示された画面に必要な情報を入力していくことで、試験を進めることができる。なお、他の作業が完了していないために実行できない作業は、選択不可能な態様で表示される。例えば、試験項目が選択されていない場合、その選択がなされなければ実行できない「Setup and Execution」は選択不可能な態様で表示される。
【０１７４】
以降では、「Select Measure Item」から「Open analysis Tools」までを作業フローに従って実行する例を示す。
図１６は、作業フロー欄６０２において「Select Measure Item」が選択されたときの管理画面６００を示す。入力画面欄６０４には、試験項目の選択画面が表示される。ここに示される試験項目一覧６０６は、サーバ３００から取得し、記憶装置２０６に格納された試験アルゴリズムモジュール３０４ａのうち、テスターハードウェア１００の不揮発性メモリ１０２に格納されているコンフィギュレーションデータ３０６と一緒に使用可能な試験アルゴリズムモジュール３０４ａに対応する試験項目である。例えば、「ADC's DC Linearity Measurement」は「Ａ／Ｄコンバータのリニアリティ（ＩＮＬ、ＤＮＬ）検証プログラム」に、「ADC's DC Linearity Measurement」は「Ｄ／Ａコンバータのリニアリティ（ＩＮＬ、ＤＮＬ）検証プログラム」に、「FunctionalTest」は「機能検証用プログラム」に対応する試験項目である。ここでは、試験アルゴリズム「FunctionalTest」が選択されたものとする。
【０１７５】
図１７は、作業フロー欄６０２において「Setup and Execution」が選択されたときの管理画面６００を示す。入力画面欄６０４には、選択された試験項目を実行するために必要な試験条件を設定する設定画面が表示される。ここでは、図１６で選択された試験項目「FunctionalTest」を実行するために必要な試験条件を設定する画面が表示されている。なお、ＤＵＴ４に供給するテストパターンもここで設定する。具体的には、テストパターンが格納されたテストパターンファイルを選択する。
【０１７６】
また、「Setup and Execution」の入力画面欄６０４は、試験実行ボタン６０８を含む。必要な試験条件の設定後、この試験実行ボタン６０８を押下することで試験が実行される。つまり、ＤＵＴ４へのテストパターンの供給、被試験デバイスからの信号の読み出し、読み出した信号と期待値の比較を行うよう、テスターハードウェア１００を制御する。テスターハードウェア１００によって取得されたデータは、テスターハードウェア１００から情報処理装置２００に送信され、記憶装置２０６に格納される。
【０１７７】
図１８は、作業フロー欄６０２において「Open Analysis Tools」が選択されたときの管理画面６００を示す。入力画面欄６０４には、テスターハードウェア１００によって取得されたデータを処理、解析するための解析ツールを選択する画面が表示される。ここに示される解析ツール一覧６１０は、サーバ３００から取得し、記憶装置２０６に格納された解析ツールモジュール３０４ｂのうち、テスターハードウェア１００の不揮発性メモリ１０２に格納されたコンフィギュレーションデータ３０６と一緒に使用可能な解析ツールモジュール３０４ｂに対応する解析ツールである。ユーザＵＳＲは、この解析ツール一覧６１０の中からＤＵＴ４の種類や試験内容、および評価手法に応じた解析ツールを選択する。ここでは、試験アルゴリズム「Shmoo Plot」が選択されたものとする。
【０１７８】
図１９は、図１８に示す「Open Analysis Tools」の画面で、解析ツールを選択したときに表示される解析ツール画面６２０を示す。解析ツール画面６２０は、管理画面６００と同一ウィンドウ内で開かれる。解析ツール画面６２０は、操作フロー欄６２２と、操作画面欄６２４とによって構成されている。操作フロー欄６２２には、図１８で選択された解析ツールに応じた操作フローが表示される。具体的には、各解析ツールモジュール３０４ｂには操作フローに関する情報が含まれ、これに基づき表示部２３２が解析ツールに応じた操作フローを表示する。ここでは、解析ツール「Shmoo Plot」が選択されたときの操作フローが表示されている。
【０１７９】
操作画面欄６２４には、操作フロー欄６２２で選択された操作に対応する操作画面が表示される。ユーザＵＳＲは、操作フロー欄６２２において、必要な解析条件を入力する。このように、操作フロー欄６２２に示される操作フローに従って操作することで、記憶装置２０６に格納された試験結果が解析される。
【０１８０】
以上が試験システム２の動作である。試験システム２は、従来の試験装置に比べて以下の利点を有する。
【０１８１】
１．  この試験システム２において、テスターハードウェア１００は、特定のデバイスや、試験内容に限定された構成を有しておらず、さまざまな試験内容に対応可能な汎用性をもって設計されている。そして、さまざまな種類の被試験デバイス、試験内容に最適化されたコンフィギュレーションデータが、サービス提供者あるいは第３者によって用意され、サーバ３００に格納されている。
そしてユーザＵＳＲは、検査対象のＤＵＴ４に最適なコンフィギュレーションデータ３０６を選択し、テスターハードウェアの不揮発性メモリ１０２に書き込むことにより、ＤＵＴ４を適切に試験することができる。
つまり、この試験システム２によれば、ＤＵＴ４の種類や試験項目ごとに個別の試験装置（ハードウェア）を用意する必要がなくなるため、ユーザＵＳＲのコストの負担を軽減することができる。
【０１８２】
２．  また、新規のデバイスが開発され、従来存在しない試験が必要となった場合、サービス提供者ＰＲＶあるいは第３者によって、その試験内容を実現するためのコンフィギュレーションデータ３０６やプログラムモジュール３０４が提供されるであろう。したがってユーザＵＳＲは、テスターハードウェアの処理能力の範囲内において、現在から将来にわたって開発されるデバイスを試験することができる。
【０１８３】
３．  また従来では、開発段階の半導体デバイスを検査する際に、電源装置、任意波形発生器、オシロスコープやデジタイザを個別に用意し、それらを組み合わせて、所望の特性を測定する必要があった。これに対して実施の形態に係る試験システム２によれば、情報処理装置２００とテスターハードウェア１００を用意すれば、さまざまな半導体デバイスを簡易かつ適切に試験できる。
【０１８４】
４．  テスターハードウェア１００は、設計開発段階での使用を前提とすれば、同時測定可能な被試験デバイスの個数、すなわちチャンネル数が少なく設計できる。また情報処理装置との協調動作を前提として設計することができる。さらに必要に応じてその性能の一部を妥協することも可能である。これらの理由から、テスターハードウェア１００は、量産用の試験装置に比べて、安価に、また非常にコンパクトに、具体的にはデスクトップサイズ、ポータブルに構成しうる。
【０１８５】
この場合、ユーザＵＳＲの観点からは、研究者・開発者ごと、あるいは研究開発グループごとに、テスターハードウェアを保有することが可能となる。サービス提供者ＰＲＶの観点からは、テスターハードウェア１００の普及を促すことができ、収益の機会を拡大することができる。
【０１８６】
５．  また従来の試験装置は巨大であったため、その移動は現実的には不可能であり、ユーザＵＳＲがＤＵＴ４を試験装置まで搬送する必要があった。これに対してテスターハードウェア１００を小型化することにより、それを被試験デバイスの場所まで移動することが可能となる。
たとえばクリーンルーム内で、被試験デバイスを試験したいとする。試験装置の設置箇所が被試験デバイスと離れている場合、デバイスの汚染を考慮すると、クリーンルーム内といえども、デバイスを長距離移動させることは好ましくない。つまり従来では、被試験デバイスおよび試験装置の双方とも移動させることが困難であり、試験装置の利用が制限されるケースがあった。実施の形態に係る試験システム２は、クリーンルーム内のさまざまな箇所に設置することができ、また必要に応じてクリーンルーム内に持ち込んだり、持ち出したりできる。あるいは屋外の特殊環境下での試験も可能となる。つまり試験装置を利用可能な状況を、従来よりも格段に広げることができる。
【０１８７】
６．  また、この試験システム２では、さまざまなプログラムモジュール３０４がサービス提供者ＰＲＶによってクラウドであるサーバ３００上に用意されており、ユーザＵＳＲはその中から、半導体デバイスの種類、試験項目、評価アルゴリズムに適したものを選択し、テストプログラム２４０に組み込むことができる。その結果、ユーザＵＳＲは、従来のようにテストプログラムを自ら作成することなく、デバイスを適切に試験できる。
【０１８８】
７．  また、この試験システム２で使用されるテストプログラムは、試験の実行を管理する管理画面上に、一連の作業がその実行順に並べられた作業フローを表示する。上述の様々な利点により、今後、本試験システム２は新たなユーザによって使用されることが期待されるところ、そのような新たなユーザ、すなわちテストプログラムに不慣れなユーザであっても、作業フローに従って操作することで、容易に試験を実行することができる。
【０１８９】
８．  また、従来のテストプログラムは、試験条件の設定を行うプログラム、試験を実行するプログラム、試験結果を解析するプログラムの３つの別個のプログラムで構成されていた。その結果、試験条件の設定画面、試験の実行画面、試験結果の解析画面はそれぞれ別個のウィンドウで起動されていた。これに対し、本テストプログラムは１つのプログラムで上記３つのプログラムの機能を実現する。そして、上記３つの画面を同一画面、または同一ウィンドウ内の画面として提供する。このため、例えば条件を変えつつ繰り返し試験を実施する場合でも、画面の切り替えは抑えられ、ユーザの負担は軽減される。
【０１９０】
９．  また、この試験システム２で使用されるテストプログラムは、テスターハードウェア１００に格納されているコンフィギュレーションデータ３０６と一緒に使用可能なプログラムモジュール３０４が記憶装置２０６に保持されているか否か、すなわち、情報処理装置２００にインストールされているか否か判定する。このため、例えば、その結果をユーザに通知すれば、ユーザは試験を実施できる環境が整っているか否か容易に判断できる。
【０１９１】
１０．  また、この試験システム２で使用されるテストプログラムは、テスターハードウェア１００に格納されているコンフィギュレーションデータ３０６と一緒に使用可能なプログラムモジュール３０４のうち、記憶装置２０６に保持されていないプログラムモジュール３０４に関する情報をユーザに通知する。これにより、ユーザは、コンフィギュレーションデータ３０６と一緒に使用可能であるものの、記憶装置２０６にはまだ保持されていないプログラムモジュール３０４を容易に把握することができる。例えば、ユーザに通知するときに、プログラムモジュール３０４の名前とともに、そのプログラムモジュール３０４を新たに取得することによって実施できる試験項目も通知すれば、ユーザは、どのプログラムモジュール３０４を取得すればどの試験項目を新たに実施できるか容易に把握することができる。また、この通知を基にユーザがプログラムモジュール３０４の使用許諾の申請をすれば、サービス提供者ＰＲＶにとっては、収益の拡大につながることが期待される。
【０１９２】
１１．  また、この試験システム２では、テスターハードウェア１００に格納されているコンフィギュレーションデータ３０６と一緒に使用可能なプログラムモジュール３０４のうち、ユーザに対して使用が許諾されていないプログラムモジュール３０４に関する情報をユーザに通知する。これにより、ユーザは、コンフィギュレーションデータ３０６と一緒に使用可能であるものの、使用が許諾されていないプログラムモジュール３０４を容易に把握することができる。例えば、ユーザに通知するときに、使用が許諾されていないプログラムモジュール３０４の名前とともに、そのプログラムモジュール３０４を新たに取得することによって実施できる試験項目も通知すれば、ユーザは、どのプログラムモジュール３０４を取得すればどの試験項目を新たに実施できるかを容易に把握することができる。また、この通知を基にユーザがプログラムモジュール３０４の使用許諾の申請をすれば、サービス提供者ＰＲＶにとっては、収益の拡大につながることが期待される。
【０１９３】
１０．  また、この試験システム２で使用されるテストプログラムは、記憶装置２０６に保持されている試験アルゴリズムモジュール３０４ａに対応するファンクションモジュール５０２がテスターハードウェア１００に搭載されているか否かを判定する。これにより、例えば、対応するファンクションモジュール５０２が搭載されていない場合にその旨をユーザに通知すれば、ユーザは試験を実施できる環境が整っているか否か容易に判断することができる。
【０１９４】
以上、本発明について、いくつかの実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以下、こうした変形例について説明する。
【０１９５】
（第１の変形例）
実施の形態では、ライセンスキーは、登録された情報処理装置２００との組み合わせを条件として、プログラムモジュール３０４やコンフィギュレーションデータ３０６の使用を許諾する仕様について説明した。
【０１９６】
これに対し、第１の変形例では、情報処理装置２００に代えて、ユーザＵＳＲが指定したテスターハードウェア１００との組み合わせを条件として、プログラムモジュール３０４やコンフィギュレーションデータ３０６の使用を許諾する。この場合、第１ライセンスキーＫＥＹ１は、許諾対象となるコンフィギュレーションデータ３０６の識別情報と、使用を許諾すべきテスターハードウェア１００の識別情報と、を含む。
【０１９７】
ユーザＵＳＲがテストプログラム２４０を起動すると、認証部２１４が、テスターハードウェア１００のＩＤを取得し、第１ライセンスキーＫＥＹ１に取得したＩＤが含まれる場合、コンフィギュレーションデータ３０６が不揮発性メモリ１０２から読み出し可能となり、テスターハードウェア１００がコンフィギュレーションデータ３０６に応じて動作可能となる。第２ライセンスキーＫＥＹ２についても同様である。
【０１９８】
あるいは、サービス提供者ＰＲＶからユーザＵＳＲに、ハードウェアキー（ドングルとも称される）を供給し、情報処理装置２００にハードウェアキーが接続されていることを条件として、プログラムモジュール３０４やコンフィギュレーションデータ３０６が使用できるようにしてもよい。
【０１９９】
（第２の変形例）
実施の形態では、プログラムモジュール３０４、コンフィギュレーションデータ３０６をサーバ３００に格納しておき、それぞれに個別に使用許諾を与えるケースを説明したが、本発明はそれには限定されない。サーバ３００は、プログラムモジュール３０４とコンフィギュレーションデータ３０６のいずれか一方を、ダウンロード可能に格納することによっても、試験システム２は、ユーザＵＳＲが希望する試験アルゴリズム、評価アルゴリズムにしたがってさまざまなデバイスを適切に試験できる。
【０２００】
（第３の変形例）
実施の形態では、情報処理装置２００において、認証やテストプログラムの実行が行われる場合を説明した。
これに対して、第３の変形例では、認証に関する処理は、サーバ３００上で行ってもよい。具体的には、サーバ３００がライセンスキーを発行する代わりに、ユーザＵＳＲが試験システム２を使用するたびに、情報処理装置２００からサーバ３００のウェブサイトにアクセス、ログインし、プログラムモジュール３０４やコンフィギュレーションデータ３０６の使用許諾を求める仕様としてもよい。この場合、サーバ３００は、使用許諾を求めるユーザＵＳＲがデータベースに登録済みであり、かつ、同じユーザＩＤにて、現在、そのプログラムモジュール３０４やコンフィギュレーションデータ３０６が使用されていないことを条件として、プログラムモジュール３０４やコンフィギュレーションデータ３０６の使用を許諾してもよい。
【０２０１】
また、試験アルゴリズムモジュール３０４ａを情報処理装置２００にダウンロードさせる代わりに、サーバ３００上で、テストプログラム２４０を実行する構成としてもよい。この場合、サーバ３００側にテスト制御部２１０の一部あるいは全部が設けられることとなり、制御命令が情報処理装置２００を経由してテスターハードウェア１００に送信される。
【０２０２】
同様に、解析ツールモジュール３０４ｂを情報処理装置２００にダウンロードさせる代わりに、サーバ３００上でテストプログラム２４０を実行する構成としてもよい。この場合、サーバ３００側にテスト制御部２１０の一部あるいは全部が設けられることとなり、テスターハードウェア１００において取得されたデータは、情報処理装置２００を経由して、サーバ３００にアップロードされ、サーバ３００において処理される。
【０２０３】
（第４の変形例）
実施の形態では、テスターハードウェア１００の不揮発性メモリ１０２に格納されているコンフィギュレーションデータ３０６と一緒に使用可能なプログラムモジュール３０４が情報処理装置２００の記憶装置２０６に保持されているか否かを判定する場合について説明したが、本発明はそれには限定されない。判定部２１６は、ユーザによって選択されたプログラムモジュール３０４に対応するコンフィギュレーションデータ３０６がテスターハードウェア１００の不揮発性メモリ１０２に格納されているか否かを判定してもよい。
【０２０４】
実施の形態にもとづき本発明を説明したが、実施の形態は、本発明の原理、応用を示しているにすぎず、実施の形態には、請求の範囲に規定された本発明の思想を逸脱しない範囲において、多くの変形例や配置の変更が認められる。
【符号の説明】
【０２０５】
２…試験システム、４…ＤＵＴ、６…ソケット、８…ネットワーク、１０…バス、１００…テスターハードウェア、１０２…不揮発性メモリ、１１０…ＡＣプラグ、１１２…電源スイッチ、１１４…コネクタ、１２０…ソケット、１２２…コネクタ、１２４…ピン、１２６…ケーブル、１３０…インタフェース部、１３２…コントローラ、１３４…異常検出部、１３６…内部電源、１４０…デバイス電源、ＰＩＯ…テスターピン、１４２…信号発生器、１４４…信号受信器、１４８…任意波形発生器、１５０…デジタイザ、１５２…パラメトリックメジャメントユニット、１５４…ＲＡＭ、１６０…リレースイッチ群、１６２…内部バス、２００…情報処理装置、２０２…第１インタフェース部、２０４…第２インタフェース部、２０６…記憶装置、２０８…データ取得部、２０９…データ提供部、２１０…テスト制御部、２１２…ハードウェアアクセス部、２１４…認証部、２１６…判定部、２２０…実行部、２２４…割込・マッチ検出部、２３０…解析部、２３２…表示部、２３４…受付部、２４０…テストプログラム、３００…サーバ、３０２…制御プログラム、３０４…プログラムモジュール、３０４ａ…試験アルゴリズムモジュール、３０４ｂ…解析ツールモジュール、３０６…コンフィギュレーションデータ、３０８…データベース、３１０…記憶部、３１２…申請受付部、３１４…データベース登録部、３１６…認証部、３２０…リスト表示部、３２２…ダウンロード制御部、３２４…ライセンスキー発行部、４００…コンフィギュレーションデータ、４０２…ソフトウェアモジュール、ＵＳＲ…ユーザ、ＰＲＶ…サービス提供者。
【図１】
2014048125.tif 000003
【図２】
2014048125.tif 000004
【図３】
2014048125.tif 000005
【図４】
2014048125.tif 000006
【図５】
2014048125.tif 000007
【図６】
2014048125.tif 000008
【図７】
2014048125.tif 000009
【図８】
2014048125.tif 000010
【図９】
2014048125.tif 000011
【図１０】
2014048125.tif 000012
【図１１】
2014048125.tif 000013
【図１２】
2014048125.tif 000014
【図１３】
2014048125.tif 000015
【図１４】
2014048125.tif 000016
【図１５】
2014048125.tif 000017
【図１６】
2014048125.tif 000018
【図１７】
2014048125.tif 000019
【図１８】
2014048125.tif 000020
【図１９】
2014048125.tif 000021