(57)【特許請求の範囲】
【請求項１】
被試験デバイスを試験する試験システムに含まれる情報処理装置に実現させるテストプログラムであって、
前記試験システムは、前記情報処理装置に接続されるテスターハードウェアと、前記情報処理装置にネットワークを介して接続される、前記試験システムのサービス提供者が管理するサーバと、をさらに含み、
前記テスターハードウェアが、書き換え可能なメモリを含み、当該メモリに格納されたコンフィギュレーションデータに応じて、少なくともその機能の一部が変更可能に構成され、
本テストプログラムが、制御プログラムと、当該制御プログラムに組み込まれ、試験アルゴリズムを規定する試験アルゴリズムモジュールと、の組み合わせで構成され、
前記情報処理装置が記憶装置を備え、当該記憶装置が既にユーザが取得した試験アルゴリズムモジュールを保持するとき、本テストプログラムは、
前記記憶装置に保持された試験アルゴリズムモジュールに対応する試験項目のうちから、ユーザが指定した試験項目の選択指示を受け付ける機能と、
選択された試験項目を実行するために必要な試験条件を受け付ける機能と、
試験アルゴリズムおよび試験条件にしたがって被試験デバイスに信号を供給し、被試験デバイスからの信号を受信するようテスターハードウェアを制御する機能と、を前記情報処理装置に実現させ、
前記記憶装置に保持された試験アルゴリズムモジュールは、それぞれが異なる試験アルゴリズムを規定する複数の試験アルゴリズムモジュールを保持する前記サーバから取得されることを特徴とするテストプログラム。
【請求項２】
本テストプログラムが、制御プログラムと、当該制御プログラムに組み込まれ、試験アルゴリズムを規定する試験アルゴリズムモジュールと、試験の結果得られたデータを処理、解析する評価アルゴリズムを規定する解析ツールモジュールと、の組み合わせで構成され、
前記記憶装置が、更に、既にユーザが取得した解析ツールモジュールを保持するとき、本テストプログラムは、
前記記憶装置に保持された解析ツールモジュールに対応する解析ツールのうちから、ユーザが指定した解析ツールの選択指示を受け付ける機能と、
選択された解析ツールを実行するために必要な解析条件を受け付ける機能と、
解析条件にしたがってテスターハードウェアによって取得されたデータを処理、解析する機能と、
を更に情報処理装置に実現させることを特徴とする請求項１に記載のテストプログラム。
【請求項３】
前記記憶装置に保持された解析ツールモジュールは、それぞれが異なる評価アルゴリズムを規定する複数の解析ツールモジュールを保持する前記サーバから取得されたことを特徴とする請求項２に記載のテストプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、試験装置を制御するテストプログラムに関する。
【背景技術】
【０００２】
近年、さまざまな電子機器に利用される半導体デバイスの種類は、非常に多岐にわたっている。半導体デバイスとしては、（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）ＤＵＴ４の試験時に、テスターハードウェア１００＿ｉを制御するとともに、テスターハードウェア１００＿ｉによって取得されたデータを処理する。
【００４３】
図３は、情報処理装置２００にインストールされたテストプログラムの構造を示す図である。
テストプログラム２４０は、制御プログラム３０２と、プログラムモジュール３０４で構成される。制御プログラム３０２は、テストプログラム２４０の基本となる部分であり、被試験デバイスの種類や試験内容に依存せず、共通に使用される。制御プログラム３０２によって、図２のハードウェアアクセス部２１２、認証部２１４、実行部２２０、割込・マッチ検出部２２４、表示部２３２、受付部２３４の機能が提供される。
【００４４】
一方、プログラムモジュール３０４は、選択的に制御プログラム３０２に組み込み可能である。プログラムモジュール３０４は、大きく試験アルゴリズムモジュール３０４ａと、解析ツールモジュール３０４ｂに分類される。
試験アルゴリズムモジュール３０４ａは、試験アルゴリズム、具体的には試験項目、試験内容、テストシーケンスなどを定義するプログラムである。試験アルゴリズムモジュール３０４ａは、ＤＵＴの種類（機能）別に、以下のものが例示される。
（１）ＤＲＡＭ
・機能検証用プログラム
・ＤＣ検査用プログラム（電源電流検査プログラム、出力電圧検査プログラム、出力電流検査プログラムなどを含む）
（２）フラッシュメモリ
・機能検証用プログラム
・ＤＣ検査用プログラム
（３）マイクロコントローラ
・機能検証プログラム
・ＤＣ検査用プログラム
・内蔵フラッシュメモリ評価プログラム
（４）Ａ／Ｄコンバータ、Ｄ／Ａコンバータ
・コンタクト検証プログラム
・リニアリティ（ＩＮＬ、ＤＮＬ）検証プログラム
・出力電圧オフセット検証プログラム
・出力電圧ゲイン検証プログラム
【００４５】
解析ツールモジュール３０４ｂは、評価アルゴリズム、具体的にはテスターハードウェア１００による試験の結果得られたデータを処理、解析、可視化する方法を定義するプログラムである。解析ツールモジュール３０４ｂとしては、以下のものが例示される。
・シュムープロットツール
・オシロスコープツール
・ロジックアナライザーツール
・アナログ波形観測ツール
【００４６】
（サーバについて）
サーバ３００には、複数の試験アルゴリズムモジュール３０４ａがサービス提供者ＰＲＶによって用意されている。ユーザＵＳＲは、ＤＵＴ４の種類や試験内容に応じて、必要な試験アルゴリズムモジュール３０４ａを取得し、テストプログラム２４０に組み込む。このようにして、テストプログラム２４０は、組み込まれる試験アルゴリズムモジュール３０４ａに応じて、試験システム２が実行する試験内容、取得するデータの種類を、選択、変更することができる。
【００４７】
またサーバ３００には複数の解析ツールモジュール３０４ｂがサービス提供者ＰＲＶによって用意されている。ユーザＵＳＲは、ＤＵＴ４の種類や試験内容、および評価手法に応じて、必要な解析ツールモジュール３０４ｂを取得し、テストプログラム２４０に組み込む。このようにして、テストプログラム２４０は、組み込まれる解析ツールモジュール３０４ｂに応じて、試験システム２によって得られたデータの処理、解析手法を、選択、変更することができる。
【００４８】
図４は、サーバ３００の構成を示す機能ブロック図である。
サーバ３００は、記憶部３１０、申請受付部３１２、データベース登録部３１４、リスト表示部３２０、ダウンロード制御部３２２、ライセンスキー発行部３２４を備える。
【００４９】
記憶部３１０は、複数のプログラムモジュール３０４、複数のコンフィギュレーションデータ３０６、データベース３０８およびその他のプログラム、データ、を格納する。
【００５０】
申請受付部３１２は、ユーザＵＳＲからのクラウドテスティングサービスの利用申請を受け付ける。サービス提供者ＰＲＶによる審査を経た後、データベース登録部３１４は、ユーザＵＳＲに関する情報、すなわちユーザＩＤやログイン用のパスワードなどを、データベース３０８に登録する。また、データベース登録部３１４は、ユーザＵＳＲが指定した情報処理装置２００の識別情報を、データベース３０８に登録する。
【００５１】
認証部３１６は、サーバ３００にアクセスしたユーザＵＳＲのログイン認証を行う。具体的には、ユーザＵＳＲに対して、ユーザＩＤおよびパスワードの入力を促し、データベース３０８に登録されたそれらと一致するかが判定される。ログイン認証に成功したユーザＵＳＲは、その後の、ソフトウェアやデータのダウンロード、あるいはライセンスキーの申請等が可能となる。
【００５２】
ダウンロード制御部３２２は、記憶部３１０に格納され、ユーザＵＳＲがダウンロード可能な状態にある複数のプログラムモジュール３０４およびコンフィギュレーションデータ３０６のリストを表示する。
【００５３】
ダウンロード制御部３２２は、ユーザＵＳＲからのプログラムモジュール３０４やコンフィギュレーションデータ３０６のダウンロード要求に応答して、プログラムモジュール３０４やコンフィギュレーションデータ３０６を情報処理装置２００に提供する。
【００５４】
ライセンスキー発行部３２４は、ユーザＵＳＲからコンフィギュレーションデータ３０６の使用許諾の申請を受け付け、許諾すべきユーザＵＳＲに対して第１ライセンスキーＫＥＹ１を発行する。またライセンスキー発行部３２４は、ユーザＵＳＲからプログラムモジュール３０４の使用許諾の申請を受け付け、許諾すべきユーザＵＳＲに対して第２ライセンスキーＫＥＹ２を発行する。
【００５５】
（テスターハードウェアについて）
続いてテスターハードウェア１００の構成を説明する。図５は、テスターハードウェア１００の外観を示す図である。テスターハードウェア１００は、デスクトップサイズでポータブルに構成される。
テスターハードウェア１００は、ＡＣプラグ１１０を介して商用交流電源からの電力を受ける。テスターハードウェア１００の背面には、テスターハードウェア１００の電源スイッチ１１２が設けられる。
ＤＵＴ４は、ソケット１２０に装着される。ＤＵＴ４の複数のデバイスピンは、コネクタ１２２の複数のピン１２４それぞれと、ケーブル１２６を介して結線されている。テスターハードウェア１００の前面パネルには、コネクタ１２２を接続するためのコネクタ１１４が設けられる。ＤＵＴ４のピン数、ピン配置、あるいは同時測定するＤＵＴ４の個数などに応じて、さまざまなソケット１２０が用意される。
【００５６】
図６は、テスターハードウェア１００の構成を示す機能ブロック図である。テスターハードウェア１００は、不揮発性メモリ１０２に加えて、複数チャンネルのテスターピン（入出力ピン）ＰＩＯ１〜〜ＰＩＯＮ、インタフェース部１３０、コントローラ１３２、異常検出部１３４、内部電源１３６、デバイス電源１４０、信号発生器１４２、信号受信器１４４、ＲＡＭ１５４、任意波形発生器１４８、デジタイザ１５０、パラメトリックメジャメントユニット１５２、リレースイッチ群１６０および内部バス１６２を備える。
【００５７】
インタフェース部１３０は、バス１０を介して、情報処理装置２００の第２インタフェース部２０４と接続され、情報処理装置２００との間でデータを送受信可能に構成される。バス１０がＵＳＢである場合、インタフェース部１３０はＵＳＢコントローラである。
【００５８】
コントローラ１３２は、テスターハードウェア１００全体を統括的に制御する。具体的には、情報処理装置２００から受信した制御命令に応じて、テスターハードウェア１００の各ブロックを制御し、またテスターハードウェア１００の各ブロックで得られたデータや、割込信号、マッチ信号などを、インタフェース部１３０を介して情報処理装置２００に送信する。
【００５９】
異常検出部１３４は、テスターハードウェア１００のハードウェア的な異常を検出する。たとえば異常検出部１３４は、テスターハードウェア１００の温度をモニタし、所定のしきい値を超えるとアサートされる温度異常信号を生成する。また異常検出部１３４は、テスターハードウェア１００における電源電圧などを監視し、過電圧異常、低電圧異常などを検出してもよい。
【００６０】
内部電源１３６は、外部のＡＣ電圧を受け、それを整流・平滑化して直流電圧に変換した後に、それを降圧し、テスターハードウェア１００の各ブロックに対する電源電圧を生成する。内部電源１３６は、交流／直流変換用のインバータと、インバータの出力を降圧するスイッチングレギュレータやリニアレギュレータなどを含んで構成することができる。
【００６１】
デバイス電源（ＤＰＳ：Device Power Supply）１４０は、テスターハードウェア１００に接続されるＤＵＴ４の電源ピンに供給すべき電源電圧ＶＤＤを生成する。アナログデジタル混載デバイスなどのＤＵＴ４は、複数の異なる電源電圧を受けて動作する場合があるため、デバイス電源１４０は、異なる電源電圧を生成可能に構成されてもよい。本実施の形態では、デバイス電源１４０は２チャンネルの電源電圧ＶＤＤ１、ＶＤＤ２を生成可能となっている。
【００６２】
複数のチャンネルＣＨ１〜ＣＨＮのテスターピンＰＩＯ１〜ＰＩＯＮはそれぞれ、ＤＵＴ４のデバイスピンと接続される。
【００６３】
信号発生器１４２＿１〜１４２＿ＮはそれぞれチャンネルＣＨごとに設けられる。各信号発生器１４２＿ｉ（１≦ｉ≦Ｎ）は、対応するテスターピンＰＩＯｉを介してＤＵＴ４にデジタル信号Ｓ１を出力する。ＤＵＴ４がメモリである場合、デジタル信号Ｓ１は、ＤＵＴに対する制御信号、ＤＵＴであるメモリに書き込まれるデータ信号、アドレス信号などに対応する。
【００６４】
信号受信器１４４＿１〜１４４＿ＮはそれぞれチャンネルＣＨごとに設けられる。各信号受信器１４４＿ｉ（１≦ｉ≦Ｎ）は、ＤＵＴ４から対応するテスターピンＰＩＯｉに入力されたデジタル信号Ｓ２を受信する。デジタル信号Ｓ２は、ＤＵＴから出力される各種信号や、ＤＵＴであるメモリから読み出されたデータに対応する。信号受信器１４４は、受信した信号Ｓ２のレベルを判定する。さらに信号受信器１４４は、受信した信号Ｓ２のレベルが、期待値と一致するかを判定し、一致（パス）、不一致（フェイル）を示すパスフェイル信号を生成する。加えて信号受信器１４４は、受信した信号Ｓ２のタイミングが正常か否かを判定し、パス、フェイルを示すパスフェイル信号を生成する。
【００６５】
任意波形発生器１４８は、複数チャンネルＣＨ１〜ＣＨＮのうち任意のチャンネルに割り当て可能であり、アナログの任意波形信号Ｓ３を生成して割り当てられたテスターピンＰＩＯから出力する。デジタイザ１５０は、複数チャンネルＣＨ１〜ＣＨＮのうち任意のチャンネルに割り当て可能であり、割り当てられたテスターピンＰＩＯに入力されたＤＵＴ４からのアナログ電圧Ｓ４をデジタル信号に変換する。
【００６６】
パラメトリックメジャメントユニット１５２は、複数チャンネルＣＨ１〜ＣＨＮのうち任意のチャンネルに割り当て可能である。パラメトリックメジャメントユニット１５２は、電圧源、電流源、電流計、電圧計を含む。パラメトリックメジャメントユニット１５２は、電圧印加電流測定モードにおいて、割り当てられたチャンネルのテスターピンＰＩＯに電圧源により生成された電圧を印加し、電流計によってそのチャンネルのテスターピンＰＩＯに流れる電流を測定する。またパラメトリックメジャメントユニット１５２は、電流印加電圧測定モードにおいて、割り当てられたチャンネルのテスターピンＰＩＯに電流源により生成された電流を供給し、電圧計によってそのチャンネルのテスターピンＰＩＯの電圧を測定する。パラメトリックメジャメントユニット１５２によって、任意のデバイスピンの電圧や電流を測定できる。
【００６７】
ＲＡＭ１５４は、テスターハードウェア１００の各ブロックが使用するデータや、各ブロックが生成したデータを格納するために設けられる。たとえばＲＡＭ１５４は、信号発生器１４２が生成すべきデジタル信号のパターンを格納するパターンメモリとして利用したり、パスフェイル信号を格納するフェイルメモリ、任意波形発生器１４８が生成すべき波形を記述する波形データ、あるいはデジタイザ１５０により取得された波形データを格納する波形メモリなどとして利用される。
【００６８】
リレースイッチ群１６０は、テスターピンＰＩＯ１〜ＰＩＯＮおよびデバイス電源１４０、信号発生器１４２＿１〜１４２＿Ｎ、信号受信器１４４＿１〜１４４＿Ｎ、任意波形発生器１４８、デジタイザ１５０、パラメトリックメジャメントユニット１５２に接続される。リレースイッチ群１６０は、その内部に複数のリレースイッチを含み、デバイス電源１４０、任意波形発生器１４８、デジタイザ１５０、パラメトリックメジャメントユニット１５２それぞれを、任意のテスターピンＰＩＯに割り当て可能に構成される。
【００６９】
内部バス１６２は、テスターハードウェア１００の各ブロックの間で信号を送受信するために設けられる。内部バス１６２の種類、本数は特に限定されない。
【００７０】
上述のように、テスターハードウェア１００の内部の少なくともひとつのブロックの機能は、不揮発性メモリ１０２に格納されるコンフィギュレーションデータ３０６に応じて変更可能となっている。
【００７１】
以上がテスターハードウェア１００の構成である。このテスターハードウェア１００によれば、テスターハードウェア１００の各ブロックを組み合わせることにより、メモリや、プロセッサ、Ａ／Ｄコンバータ、Ｄ／Ａコンバータなどさまざまな半導体デバイスを、さまざまな手法で試験することができる。以下、テスターハードウェア１００を用いた試験システム２により実現可能な試験について説明する。
【００７２】
１ａ．  メモリの機能検証試験
メモリの機能検証試験には、主として、デバイス電源１４０、信号発生器１４２、信号受信器１４４が利用される。デバイス電源１４０は、メモリに対して供給すべき電源電圧を生成する。
なお電源電圧は、リレースイッチ群１６０を経由せずに、メモリの電源ピンに対して専用の電源ラインを介してＤＵＴ４に供給されてもよい。
【００７３】
信号発生器１４２は、メモリに供給すべきテストパターン（アドレス信号および書き込むべきデータ信号）を生成する。信号受信器１４４は、メモリから読み出された信号Ｓ２のレベルを判定し、期待値と比較することにより、パス、フェイル判定を行う。加えて信号受信器１４４は、受信した信号Ｓ２のタイミングが正常か否かを判定する。
【００７４】
１ｂ．  メモリのＤＣ試験
メモリのＤＣ試験時には、主としてデバイス電源１４０およびパラメトリックメジャメントユニット１５２が用いられる。デバイス電源１４０は、メモリに対して供給すべき電源電圧を生成する。デバイス電源１４０は、自らの出力である電源電圧および電源電流を測定可能に構成されている。パラメトリックメジャメントユニット１５２は、リレースイッチ群１６０によってメモリの任意のピンに対応するテスターピンＰＩＯに割り当てられる。デバイス電源１４０によって、電源電流、電源電圧変動が測定され、パラメトリックメジャメントユニット１５２によって任意のピンのリーク電流などが測定される。また、あるテスターピンの電位と、そこに流れる電流を測定することにより、それらの比から、インピーダンスを計算でき、コンタクト不良の検出などに利用できる。また、あるテスターピンの電位と、そこに流れる電流を測定することにより、それらの比から、インピーダンスを計算でき、コンタクト不良の検出などに利用できる。
【００７５】
２ａ．  マイクロコントローラの機能検証試験
（i）マイクロコントローラの内部のメモリの機能検証試験は、１ａと同様のハードウェアを用いて試験可能である。
【００７６】
（ii）マイクロコントローラのデジタル信号処理部（ＣＰＵコア）の機能検証試験は、１ａと同様のハードウェアを用いて試験可能である。
【００７７】
２ｂ．  マイクロコントローラのＤＣ試験
マイクロコントローラのＤＣ試験は、１ｂと同様のハードウェアを用いて試験可能である。
【００７８】
３ａ．  Ａ／Ｄコンバータの機能検証試験
Ａ／Ｄコンバータの機能検証試験には、主としてデバイス電源１４０、任意波形発生器１４８および少なくともひとつの信号受信器１４４が利用される。任意波形発生器１４８は、リレースイッチ群１６０によって、Ａ／Ｄコンバータのアナログ入力端子に割り当てられ、所定の電圧範囲をスイープするアナログ電圧を生成する。少なくともひとつの信号受信器１４４はそれぞれ、Ａ／Ｄコンバータのデジタル出力端子に割り当てられ、Ａ／Ｄコンバータから、アナログ電圧の階調に応じたデジタルコードの各ビットを受信する。
【００７９】
信号受信器１４４により得られたデジタルコードと、任意波形発生器１４８が生成したアナログ電圧の相関関係によって、Ａ／Ｄコンバータのリニアリティ（ＩＮＬ、ＤＮＬ）などを評価することが可能となる。
【００８０】
３ｂ．  Ａ／ＤコンバータのＤＣ試験
Ａ／ＤコンバータのＤＣ試験は、１ｂと同様のハードウェアを用いて試験可能である。
【００８１】
４ａ．  Ｄ／Ａコンバータの機能検証試験
Ｄ／Ａコンバータの機能検証試験には、主としてデバイス電源１４０、少なくともひとつの信号発生器１４２およびデジタイザ１５０が利用される。少なくともひとつの信号発生器１４２はそれぞれ、Ｄ／Ａコンバータのデジタル入力端子に割り当てられる。信号発生器１４２は、Ｄ／Ａコンバータの入力デジタル信号をそのフルスケールに渡ってスイープする。
【００８２】
デジタイザ１５０は、リレースイッチ群１６０によって、Ｄ／Ａコンバータのアナログ出力端子に割り当てられ、Ｄ／Ａコンバータのアナログ出力電圧を、デジタルコードに変換する。
【００８３】
デジタイザ１５０により得られたデジタルコードと、信号発生器１４２が生成したデジタルコードの相関関係によって、Ｄ／Ａコンバータの出力電圧オフセットや出力電圧ゲインを評価することが可能となる。
【００８４】
４ｂ．  Ｄ／ＡコンバータのＤＣ試験
Ｄ／ＡコンバータのＤＣ試験は、１ｂと同様のハードウェアを用いて試験可能である。
【００８５】
Ａ／ＤコンバータやＤ／Ａコンバータは、単体のＩＣであってもよいし、マイクロコントローラに内蔵されてもよい。
【００８６】
５．  オシロスコープ試験
デジタイザ１５０をリレースイッチ群１６０によって任意のチャンネルに割り当て、デジタイザ１５０のサンプリング周波数を高めることにより、そのチャンネルを通過する信号の波形データを取得できる。波形データを、情報処理装置２００により可視化することにより、試験システム２をオシロスコープとして機能させることができる。
【００８７】
当業者によれば、テスターハードウェア１００を用いることにより、ここに例示したもの以外にも、さまざまな機能検証試験、ＤＣ試験などを実行しうることが理解される。
【００８８】
好ましい態様において、テスターハードウェア１００は、不揮発性メモリ１０２に書き込まれたコンフィギュレーションデータ３０６に応じて、少なくとも信号発生器１４２が生成するデジタル信号Ｓ１のパターンが変更可能に構成される。この場合、不揮発性メモリ１０２は、信号発生器１４２の一部であると把握することができる。
この場合、メモリやプロセッサ、Ａ／Ｄコンバータ、Ｄ／Ａコンバータなど被試験デバイスの機能検証試験を行う際に、デバイスの種類に応じて、コンフィギュレーションデータを選択することにより、さまざまなデバイスに対して最適なデジタル信号を供給でき、それらを適切に試験できる。
【００８９】
より具体的には、信号発生器１４２は、コンフィギュレーションデータ３０６に応じて、
（i）ＳＱＰＧ（Sequential Pattern Generator）、
（ii）ＡＬＰＧ(Algorithmic Pattern Generator)、
（iii）ＳＣＰＧ（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」が選択されたときの操作フローが表示されている。
【０１１７】
操作画面欄６２４には、操作フロー欄６２２で選択された操作に対応する操作画面が表示される。ユーザＵＳＲは、操作フロー欄６２２において、必要な解析条件を入力する。このように、操作フロー欄６２２に示される操作フローに従って操作することで、記憶装置２０６に格納された試験結果が解析される。
【０１１８】
以上が試験システム２の動作である。試験システム２は、従来の試験装置に比べて以下の利点を有する。
【０１１９】
１．  この試験システム２において、テスターハードウェア１００は、特定のデバイスや、試験内容に限定された構成を有しておらず、さまざまな試験内容に対応可能な汎用性をもって設計されている。そして、さまざまな種類の被試験デバイス、試験内容に最適化されたコンフィギュレーションデータが、サービス提供者あるいは第３者によって用意され、サーバ３００に格納されている。
そしてユーザＵＳＲは、検査対象のＤＵＴ４に最適なコンフィギュレーションデータ３０６を選択し、テスターハードウェアの不揮発性メモリ１０２に書き込むことにより、ＤＵＴ４を適切に試験することができる。
つまり、この試験システム２によれば、ＤＵＴ４の種類や試験項目ごとに個別の試験装置（ハードウェア）を用意する必要がなくなるため、ユーザＵＳＲのコストの負担を軽減することができる。
【０１２０】
２．  また、新規のデバイスが開発され、従来存在しない試験が必要となった場合、サービス提供者ＰＲＶあるいは第３者によって、その試験内容を実現するためのコンフィギュレーションデータ３０６やプログラムモジュール３０４が提供されるであろう。したがってユーザＵＳＲは、テスターハードウェアの処理能力の範囲内において、現在から将来にわたって開発されるデバイスを試験することができる。
【０１２１】
３．  また従来では、開発段階の半導体デバイスを検査する際に、電源装置、任意波形発生器、オシロスコープやデジタイザを個別に用意し、それらを組み合わせて、所望の特性を測定する必要があった。これに対して実施の形態に係る試験システム２によれば、情報処理装置２００とテスターハードウェア１００を用意すれば、さまざまな半導体デバイスを簡易かつ適切に試験できる。
【０１２２】
４．  テスターハードウェア１００は、設計開発段階での使用を前提とすれば、同時測定可能な被試験デバイスの個数、すなわちチャンネル数が少なく設計できる。また情報処理装置との協調動作を前提として設計することができる。さらに必要に応じてその性能の一部を妥協することも可能である。これらの理由から、テスターハードウェア１００は、量産用の試験装置に比べて、安価に、また非常にコンパクトに、具体的にはデスクトップサイズ、ポータブルに構成しうる。
【０１２３】
この場合、ユーザＵＳＲの観点からは、研究者・開発者ごと、あるいは研究開発グループごとに、テスターハードウェアを保有することが可能となる。サービス提供者ＰＲＶの観点からは、テスターハードウェア１００の普及を促すことができ、収益の機会を拡大することができる。
【０１２４】
５．  また従来の試験装置は巨大であったため、その移動は現実的には不可能であり、ユーザＵＳＲがＤＵＴ４を試験装置まで搬送する必要があった。これに対してテスターハードウェア１００を小型化することにより、それを被試験デバイスの場所まで移動することが可能となる。
たとえばクリーンルーム内で、被試験デバイスを試験したいとする。試験装置の設置箇所が被試験デバイスと離れている場合、デバイスの汚染を考慮すると、クリーンルーム内といえども、デバイスを長距離移動させることは好ましくない。つまり従来では、被試験デバイスおよび試験装置の双方とも移動させることが困難であり、試験装置の利用が制限されるケースがあった。実施の形態に係る試験システム２は、クリーンルーム内のさまざまな箇所に設置することができ、また必要に応じてクリーンルーム内に持ち込んだり、持ち出したりできる。あるいは屋外の特殊環境下での試験も可能となる。つまり試験装置を利用可能な状況を、従来よりも格段に広げることができる。
【０１２５】
６．  また、この試験システム２では、さまざまなプログラムモジュール３０４がサービス提供者ＰＲＶによってクラウドであるサーバ３００上に用意されており、ユーザＵＳＲはその中から、半導体デバイスの種類、試験項目、評価アルゴリズムに適したものを選択し、テストプログラム２４０に組み込むことができる。その結果、ユーザＵＳＲは、従来のようにテストプログラムを自ら作成することなく、デバイスを適切に試験できる。
【０１２６】
７．  また、この試験システム２で使用されるテストプログラムは、試験の実行を管理する管理画面上に、一連の作業がその実行順に並べられた作業フローを表示する。上述の様々な利点により、今後、本試験システム２は新たなユーザによって使用されることが期待されるところ、そのような新たなユーザ、すなわちテストプログラムに不慣れなユーザであっても、作業フローに従って操作することで、容易に試験を実行することができる。
【０１２７】
８．  また、従来のテストプログラムは、試験条件の設定を行うプログラム、試験を実行するプログラム、試験結果を解析するプログラムの３つの別個のプログラムで構成されていた。その結果、試験条件の設定画面、試験の実行画面、試験結果の解析画面はそれぞれ別個のウィンドウで起動されていた。これに対し、本テストプログラムは１つのプログラムで上記３つのプログラムの機能を実現する。そして、上記３つの画面を同一画面、または同一ウィンドウ内の画面として提供する。このため、例えば条件を変えつつ繰り返し試験を実施する場合でも、画面の切り替えは抑えられ、ユーザの負担は軽減される。
【０１２８】
以上、本発明について、いくつかの実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以下、こうした変形例について説明する。
【０１２９】
（第１の変形例）
実施の形態では、ライセンスキーは、登録された情報処理装置２００との組み合わせを条件として、プログラムモジュール３０４やコンフィギュレーションデータ３０６の使用を許諾する仕様について説明した。
【０１３０】
これに対し、第１の変形例では、情報処理装置２００に代えて、ユーザＵＳＲが指定したテスターハードウェア１００との組み合わせを条件として、プログラムモジュール３０４やコンフィギュレーションデータ３０６の使用を許諾する。この場合、第１ライセンスキーＫＥＹ１は、許諾対象となるコンフィギュレーションデータ３０６の識別情報と、使用を許諾すべきテスターハードウェア１００の識別情報と、を含む。
【０１３１】
ユーザＵＳＲがテストプログラム２４０を起動すると、認証部２１４が、テスターハードウェア１００のＩＤを取得し、第１ライセンスキーＫＥＹ１に取得したＩＤが含まれる場合、コンフィギュレーションデータ３０６が不揮発性メモリ１０２から読み出し可能となり、テスターハードウェア１００がコンフィギュレーションデータ３０６に応じて動作可能となる。第２ライセンスキーＫＥＹ２についても同様である。
【０１３２】
あるいは、サービス提供者ＰＲＶからユーザＵＳＲに、ハードウェアキー（ドングルとも称される）を供給し、情報処理装置２００にハードウェアキーが接続されていることを条件として、プログラムモジュール３０４やコンフィギュレーションデータ３０６が使用できるようにしてもよい。
【０１３３】
（第２の変形例）
実施の形態では、プログラムモジュール３０４、コンフィギュレーションデータ３０６をサーバ３００に格納しておき、それぞれに個別に使用許諾を与えるケースを説明したが、本発明はそれには限定されない。サーバ３００は、プログラムモジュール３０４とコンフィギュレーションデータ３０６のいずれか一方を、ダウンロード可能に格納することによっても、試験システム２は、ユーザＵＳＲが希望する試験アルゴリズム、評価アルゴリズムにしたがってさまざまなデバイスを適切に試験できる。
【０１３４】
（第３の変形例）
実施の形態では、情報処理装置２００において、認証やテストプログラムの実行が行われる場合を説明した。
これに対して、第３の変形例では、認証に関する処理は、サーバ３００上で行ってもよい。具体的には、サーバ３００がライセンスキーを発行する代わりに、ユーザＵＳＲが試験システム２を使用するたびに、情報処理装置２００からサーバ３００のウェブサイトにアクセス、ログインし、プログラムモジュール３０４やコンフィギュレーションデータ３０６の使用許諾を求める仕様としてもよい。この場合、サーバ３００は、使用許諾を求めるユーザＵＳＲがデータベースに登録済みであり、かつ、同じユーザＩＤにて、現在、そのプログラムモジュール３０４やコンフィギュレーションデータ３０６が使用されていないことを条件として、プログラムモジュール３０４やコンフィギュレーションデータ３０６の使用を許諾してもよい。
【０１３５】
また、試験アルゴリズムモジュール３０４ａを情報処理装置２００にダウンロードさせる代わりに、サーバ３００上で、テストプログラム２４０を実行する構成としてもよい。この場合、サーバ３００側にテスト制御部２１０の一部あるいは全部が設けられることとなり、制御命令が情報処理装置２００を経由してテスターハードウェア１００に送信される。
【０１３６】
同様に、解析ツールモジュール３０４ｂを情報処理装置２００にダウンロードさせる代わりに、サーバ３００上でテストプログラム２４０を実行する構成としてもよい。この場合、サーバ３００側にテスト制御部２１０の一部あるいは全部が設けられることとなり、テスターハードウェア１００において取得されたデータは、情報処理装置２００を経由して、サーバ３００にアップロードされ、サーバ３００において処理される。
【０１３７】
実施の形態にもとづき本発明を説明したが、実施の形態は、本発明の原理、応用を示しているにすぎず、実施の形態には、請求の範囲に規定された本発明の思想を逸脱しない範囲において、多くの変形例や配置の変更が認められる。
【符号の説明】
【０１３８】
２…試験システム、４…ＤＵＴ、６…ソケット、８…ネットワーク、１０…バス、１００…テスターハードウェア、１０２…不揮発性メモリ、１１０…ＡＣプラグ、１１２…電源スイッチ、１１４…コネクタ、１２０…ソケット、１２２…コネクタ、１２４…ピン、１２６…ケーブル、１３０…インタフェース部、１３２…コントローラ、１３４…異常検出部、１３６…内部電源、１４０…デバイス電源、ＰＩＯ…テスターピン、１４２…信号発生器、１４４…信号受信器、１４８…任意波形発生器、１５０…デジタイザ、１５２…パラメトリックメジャメントユニット、１５４…ＲＡＭ、１６０…リレースイッチ群、１６２…内部バス、２００…情報処理装置、２０２…第１インタフェース部、２０４…第２インタフェース部、２０６…記憶装置、２０８…データ取得部、２１０…テスト制御部、２１２…ハードウェアアクセス部、２１４…認証部、２２０…実行部、２２４…割込・マッチ検出部、２３０…解析部、２３２…表示部、２３４…受付部、２４０…テストプログラム、３００…サーバ、３０２…制御プログラム、３０４…プログラムモジュール、３０４ａ…試験アルゴリズムモジュール、３０４ｂ…解析ツールモジュール、３０６…コンフィギュレーションデータ、３０８…データベース、３１０…記憶部、３１２…申請受付部、３１４…データベース登録部、３１６…認証部、３２０…リスト表示部、３２２…ダウンロード制御部、３２４…ライセンスキー発行部、４００…コンフィギュレーションデータ、４０２…ソフトウェアモジュール、ＵＳＲ…ユーザ、ＰＲＶ…サービス提供者。
【図１】
0005833502.tif 000002
【図２】
0005833502.tif 000003
【図３】
0005833502.tif 000004
【図４】
0005833502.tif 000005
【図５】
0005833502.tif 000006
【図６】
0005833502.tif 000007
【図７】
0005833502.tif 000008
【図８】
0005833502.tif 000009
【図９】
0005833502.tif 000010
【図１０】
0005833502.tif 000011
【図１１】
0005833502.tif 000012