(57)【要約】  被試験デバイスを試験する試験装置であって、被試験デバイスを試験する試験プログラムを実行する制御プロセッサと、被試験デバイスに接続され、制御プロセッサの指示に応じて被試験デバイスを試験する試験ユニットと、制御プロセッサおよび試験ユニットに接続され、制御プロセッサから試験ユニットへと送信される制御命令を中継する中継部とを備え、中継部は、制御プロセッサから試験ユニットに割り当てられたアドレスに対して書き込まれるべき制御命令をバッファするバッファ部と、制御プロセッサから受信した、制御命令を試験ユニットに対して送信すべきタイミングを記憶するタイミング記憶部と、タイミング記憶部に記憶されたタイミングが到達したことに応じて、バッファ部にバッファされた制御命令を、試験ユニットへ送信するバッファ制御部とを有する試験装置を提供する。
2008044421.tif 000002
【特許請求の範囲】
【請求項１】
被試験デバイスを試験する試験装置であって、
前記被試験デバイスを試験する試験プログラムを実行する制御プロセッサと、
前記被試験デバイスに接続され、前記制御プロセッサの指示に応じて前記被試験デバイスを試験する試験ユニットと、
前記制御プロセッサおよび前記試験ユニットに接続され、前記制御プロセッサから前記試験ユニットへと送信される制御命令を中継する中継部と
を備え、
前記中継部は、
前記制御プロセッサから前記試験ユニットに割り当てられたアドレスに対して書き込まれるべき前記制御命令をバッファするバッファ部と、
前記制御プロセッサから受信した、前記制御命令を前記試験ユニットに対して送信すべきタイミングを記憶するタイミング記憶部と、
前記タイミング記憶部に記憶されたタイミングが到達したことに応じて、前記バッファ部にバッファされた前記制御命令を、前記試験ユニットへ送信するバッファ制御部と
を有する試験装置。
【請求項２】
前記制御プロセッサは、前記制御命令の書き込みに先立って、前記制御命令を前記試験ユニットに対して送信すべきタイミングを、前記中継部に割り当てられたアドレスに対して書き込み、
前記バッファ部は、前記制御プロセッサから受信した、前記タイミングを書き込むタイミング書込コマンドと、前記制御命令を書き込む制御命令書込コマンドとを順次バッファし、
前記バッファ制御部は、前記バッファ部から前記タイミング書込コマンドを取り出したことに応じて前記タイミングが到達するまで、前記タイミング書込コマンドより後に受信した前記制御命令書込コマンドの処理を遅延させる
請求項１に記載の試験装置。
【請求項３】
前記バッファ制御部は、
前記バッファ部にバッファされた書込コマンドを順次取り出す取出部と、
前記タイミング書込コマンドを取り出したことに応じて当該タイミングを前記タイミング記憶部に記憶させるタイミング書込部と、
前記タイミング記憶部に記憶された前記タイミングの到達を検出する検出部と、
前記タイミングの到達が検出されたことを条件として、前記タイミング書込コマンドの後に受信した前記制御命令書込コマンドを、前記試験ユニットへと送信する送信部と
を含む請求項２に記載の試験装置。
【請求項４】
当該試験装置は、複数の被試験デバイスを試験するものであり、
前記複数の被試験デバイスのそれぞれに対応して、複数の前記試験ユニットのそれぞれが設けられ、
前記複数の試験ユニットのそれぞれに対応して、複数の前記中継部のそれぞれが設けられる
請求項３に記載の試験装置。
【請求項５】
被試験デバイスを試験する試験プログラムを実行する制御プロセッサと、前記被試験デバイスに接続され、前記制御プロセッサの指示に応じて前記被試験デバイスを試験する試験ユニットとを備える試験装置を制御する制御方法であって、
前記制御プロセッサから前記試験ユニットに割り当てられたアドレスに対して書き込まれるべき制御命令をバッファし、
前記制御プロセッサから受信した、前記制御命令を前記試験ユニットに対して送信すべきタイミングを記憶し、
前記タイミングが到達したことに応じて、バッファされた前記制御命令を、前記試験ユニットへ送信する
制御方法。
【請求項６】
被試験デバイスを試験する試験装置であって、
前記被試験デバイスを試験する試験プログラムを実行する制御プロセッサと、
前記被試験デバイスに接続され、前記制御プロセッサの指示に応じて前記被試験デバイスを試験する試験ユニットと、
前記制御プロセッサおよび前記試験ユニットに接続され、前記制御プロセッサから前記試験ユニットへと送信される制御命令を中継する中継部と
を備え、
前記中継部は、
前記制御プロセッサから指定された、前記試験ユニットの状態を示す状態レジスタを繰返し読み出すポーリング部と、
前記状態レジスタの値が前記制御プロセッサから指定された期待値となったことに応じて、前記状態レジスタの値が前記期待値となった後に前記試験ユニットが処理すべき前記制御命令を前記試験ユニットへ送信する処理制御部と
を有する試験装置。
【請求項７】
前記制御プロセッサは、前記試験ユニットに割り当てられたアドレス空間内の前記状態レジスタのアドレスおよび前記期待値を、前記中継部に割り当てられたアドレスに対して書き込んだ後、前記試験ユニットに割り当てられたアドレスに前記制御命令を書き込み、
前記中継部は、前記制御プロセッサから受信した、前記状態レジスタのアドレスおよび前記期待値を書き込む条件書込コマンドと、前記制御命令を書き込む制御命令書込コマンドとを順次バッファするバッファ部を更に有し、
前記ポーリング部は、前記バッファ部から前記条件書込コマンドを取得したことに応じて、前記状態レジスタのアドレスを読出アドレスとする読出コマンドを前記試験ユニットへと繰返し発行し、
前記処理制御部は、前記状態レジスタの値が前記期待値となったことに応じて、前記条件書込コマンドより後に受信した前記制御命令書込コマンドを前記試験ユニットへ送信するバッファ制御部を含む
請求項６に記載の試験装置。
【請求項８】
前記制御プロセッサは、前記状態レジスタのアドレスおよび前記期待値の書き込みにおいて、前記期待値として、前記ポーリング部が読み出した前記状態レジスタの値の各ビットをマスクするか否かを指定するマスク値と、マスクされた前記状態レジスタの値が満たすべき値を示すマスク後期待値とを書き込み、
前記バッファ制御部は、前記状態レジスタの値を前記マスク値によりマスクした値が前記マスク後期待値となったことに応じて、前記条件書込コマンドより後に受信した前記制御命令書込コマンドを前記試験ユニットへ送信する
請求項７に記載の試験装置。
【請求項９】
前記制御プロセッサは、第１の前記状態レジスタが第１の前記期待値となり、かつ、第２の前記状態レジスタが第２の前記期待値となったことを条件として前記制御命令を前記試験ユニットへ送信する場合において、前記第１の状態レジスタのアドレスおよび前記第１の期待値と、前記第２の状態レジスタのアドレスおよび前記第２の期待値とを前記中継部に割り当てられたアドレスに対して順次書き込んだ後、前記試験ユニットに割り当てられたアドレスに前記制御命令を書き込み、
前記ポーリング部は、前記第１の状態レジスタのアドレスおよび前記第１の期待値を書き込む第１の前記条件書込コマンドを前記バッファ部から取得したことに応じて、前記第１の状態レジスタのアドレスを読出アドレスとする第１の読出コマンドを前記試験ユニットへと繰返し発行し、
前記バッファ制御部は、前記第１の状態レジスタの値が前記第１の期待値となったことに応じて、前記第１の条件書込コマンドより後に受信した、前記第２の状態レジスタのアドレスおよび前記第２の期待値を書き込む第２の前記条件書込コマンドを前記バッファ部から取り出し、
前記ポーリング部は、前記第２の条件書込コマンドを前記バッファ部から取得したことに応じて、前記第２の状態レジスタのアドレスを読み出しアドレスとする第２の読出コマンドを前記試験ユニットへと繰返し発行し、
前記バッファ制御部は、前記第２の状態レジスタの値が前記第２の期待値となったことに応じて、前記第２の条件書込コマンドより後に受信した前記制御命令書込コマンドを前記試験ユニットへ送信する
請求項７に記載の試験装置。
【請求項１０】
前記処理制御部は、前記バッファ部から前記条件書込コマンドが取得されてから予め設定されたタイムアウト時間が経過したことに応じて、前記制御プロセッサに対してタイムアウト割り込みを発行する請求項６に記載の試験装置。
【請求項１１】
前記処理制御部は、前記状態レジスタの値が前記制御プロセッサから指定された期待値となったことに応じて、前記制御プロセッサから後続の前記制御命令を送信させるべく前記制御プロセッサに割り込みを発行する請求項６に記載の試験装置。
【請求項１２】
被試験デバイスを試験する試験プログラムを実行する制御プロセッサと、
前記被試験デバイスに接続され、前記制御プロセッサの指示に応じて前記被試験デバイスを試験する試験ユニットとを備える試験装置を制御する制御方法であって、
前記制御プロセッサから指定された、前記試験ユニットの状態を示す状態レジスタを繰返し読み出し、
前記状態レジスタの値が前記制御プロセッサから指定された期待値となったことに応じて、前記状態レジスタの値が前記期待値となった後に前記試験ユニットが処理すべき前記制御命令を前記試験ユニットへ送信する
制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、試験装置および制御方法に関する。特に本発明は、被試験デバイスを試験する試験ユニットを制御するために、制御プロセッサから試験ユニットに対し制御用の命令を送信する試験装置および制御方法に関する。本出願は、下記の米国特許出願に関連する。文献の参照による組み込みが認められる指定国については、下記の出願に記載された内容を参照により本出願に組み込み、本出願の一部とする。
１．  出願番号  １１／５４６，９２６    出願日  ２００６年１０月１２日
２．  出願番号  １１／５４６，９２９    出願日  ２００６年１０月１２日
【背景技術】
【０００２】
試験装置に設けられた制御プロセッサは、インストールされた制御プログラムに基づいて動作し、試験ユニットに対し命令を送信する。これにより、試験ユニットの制御、例えば試験ユニットを適切に起動し、または、動作中の試験ユニットの設定を変更することができる。【０００３】
但し、試験ユニットには、その仕様に応じて、処理するべき命令の順序が定められており、命令の実行順序がその仕様に反すると、試験ユニットや被試験デバイスを破損させてしまうおそれがある。このため、プログラマは、この仕様に準拠する順序で命令を実行させるように制御プログラムを作成している。【０００４】
また、試験ユニットには、その仕様に応じて、命令を実行するべきタイミングが定められている。例えば、電圧変更などの後には、予め定められた期間待機してから次の命令を実行させないと、不安定な電圧が原因で試験ユニットが異常動作する場合がある。このため、プログラマは、命令を実行せずに一定期間待機する命令を、制御プログラム中に適宜挿入している。【０００５】
また、ある命令は、試験ユニットが予め定められた状態となったタイミングで実行するように定められている。このような状態変化を検出する方法としては、制御プロセッサによるポーリング、または、試験ユニットから制御プロセッサに対する割込み処理が考えられる。【０００６】
なお、半導体試験装置に関する参考技術としては、特許文献１を参照されたい。【０００７】
【特許文献１】特開平１１−６４４５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
一定期間待機する命令とは、例えば、制御プロセッサ外部のタイマに待機時間を設定し、そのタイマから制御プロセッサに対し割込みを発生させることによって実現できる。その他にも、制御プログラム中でアイドル・ループなどの本来不要な処理をさせたり、制御プロセッサを制御するオペレーティングシステムの機能によって待機処理をさせることによって実現できる。【０００９】
ところが、制御プロセッサが待機する時間は、プログラマが想定した時間とは異なってしまう場合がある。これは、命令の実行タイミングにばらつきがあるからである。例えば、制御プロセッサが様々な割込み処理を受けて他の処理を行ったり、または、複数のタスクを時分割して実行すると、命令の実行タイミングは遅延する場合がある。この結果、実行タイミングのばらつきにより命令実行のタイミングが早まると、充分な待機時間を確保できずに次の処理を行い、試験ユニット等を破損するおそれがある。【００１０】
このような事態を避けるため、プログラマは、実際に必要な待機時間よりも充分に長い待機時間を確保できるように制御プログラムを作成している。この結果、設定変更等に要する時間が本来必要な時間よりも大幅に長くなり、試験処理全体の効率を低下させてしまうおそれがあった。【００１１】
また、制御プロセッサによるポーリングとは、制御プロセッサから試験ユニット中のレジスタを定期的に読み出し、その値の変化によって状態変化を検出する処理をいう。しかしながら、レジスタからの値の読み出し処理は制御プロセッサの命令実行と比較して所要時間が長く、制御プロセッサに入出力待ち時間が生じ、制御プロセッサの計算能力を有効活用できない場合があった。【００１２】
一方で、割込み処理を実現しようとすると、各試験ユニットに割込みを実現するための機構が必要となり、試験装置全体の設計を複雑化するおそれがある。さらには、割込みを迅速に検出しようとすると、割込みの有無を高頻度で確認しなければならず、割込みを制御するオペレーティングシステムが制御プロセッサの処理負荷を増加させてしまうおそれがある。【００１３】
このように、試験ユニットの状態変化を迅速かつ適切に検出しようとすると、制御プロセッサには高い計算能力が要求される。このため、複数の試験ユニットを備えた試験装置においても、試験ユニット毎に制御プロセッサが必要となり、試験装置内に多数の制御プロセッサが搭載されることとなる。制御プロセッサの数の増加は、試験装置やその冷却装置の大型化や費用の増大、ひいては、試験装置の故障発生率を増加させる要因ともなり得る。
【課題を解決するための手段】
【００１４】
そこで本発明の１つの側面においては、上記の課題を解決することのできる試験装置および制御方法を提供することを目的とする。この目的は請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。【００１５】
即ち、本発明の第１の形態によると、被試験デバイスを試験する試験装置であって、被試験デバイスを試験する試験プログラムを実行する制御プロセッサと、被試験デバイスに接続され、制御プロセッサの指示に応じて被試験デバイスを試験する試験ユニットと、制御プロセッサおよび試験ユニットに接続され、制御プロセッサから試験ユニットへと送信される制御命令を中継する中継部とを備え、中継部は、制御プロセッサから試験ユニットに割り当てられたアドレスに対して書き込まれるべき制御命令をバッファするバッファ部と、制御プロセッサから受信した、制御命令を試験ユニットに対して送信すべきタイミングを記憶するタイミング記憶部と、タイミング記憶部に記憶されたタイミングが到達したことに応じて、バッファ部にバッファされた制御命令を、試験ユニットへ送信するバッファ制御部とを有する試験装置を提供する。【００１６】
本発明の第２の形態によると、被試験デバイスを試験する試験プログラムを実行する制御プロセッサと、被試験デバイスに接続され、制御プロセッサの指示に応じて被試験デバイスを試験する試験ユニットとを備える試験装置を制御する制御方法であって、制御プロセッサから試験ユニットに割り当てられたアドレスに対して書き込まれるべき制御命令をバッファし、制御プロセッサから受信した、制御命令を試験ユニットに対して送信すべきタイミングを記憶し、タイミングが到達したことに応じて、バッファされた制御命令を、試験ユニットへ送信する制御方法を提供する。【００１７】
本発明の第３の形態においては、被試験デバイスを試験する試験装置であって、被試験デバイスを試験する試験プログラムを実行する制御プロセッサと、被試験デバイスに接続され、制御プロセッサの指示に応じて被試験デバイスを試験する試験ユニットと、制御プロセッサおよび試験ユニットに接続され、制御プロセッサから試験ユニットへと送信される制御命令を中継する中継部とを備え、中継部は、制御プロセッサから指定された、試験ユニットの状態を示す状態レジスタを繰返し読み出すポーリング部と、状態レジスタの値が制御プロセッサから指定された期待値となったことに応じて、状態レジスタの値が期待値となった後に試験ユニットが処理すべき制御命令を試験ユニットへ送信する処理制御部とを有する試験装置を提供する。【００１８】
本発明の第４の形態においては、被試験デバイスを試験する試験プログラムを実行する制御プロセッサと、被試験デバイスに接続され、制御プロセッサの指示に応じて被試験デバイスを試験する試験ユニットとを備える試験装置を制御する制御方法であって、制御プロセッサから指定された、試験ユニットの状態を示す状態レジスタを繰返し読み出し、状態レジスタの値が制御プロセッサから指定された期待値となったことに応じて、状態レジスタの値が期待値となった後に試験ユニットが処理すべき制御命令を試験ユニットへ送信する制御方法を提供する。【００１９】
なお上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションも又発明となりうる。
【図面の簡単な説明】
【００２０】
【図１】試験装置１０の全体構成を示す。
【図２】中継部２０の機能構成を示す。
【図３】バッファ制御部３５の機能構成を示す。
【図４】制御プロセッサ１５から試験ユニット４０に対する命令を中継部２０によって中継する処理の流れを示す。
【図５】図４のＳ４２０における処理の詳細を示す。
【図６】図４のＳ４３０における処理の詳細を示す。
【図７】バッファ部２００にバッファリングされる命令群の第１例を示す。
【図８】バッファ部２００にバッファリングされる命令群の第２例を示す。
【図９】本実施形態の変形例における試験装置１０の全体構成を示す。
【図１０】本実施形態の変形例におけるバッファ部２００にバッファリングされる命令群の一例を示す。
【符号の説明】
【００２１】
１０・・・試験装置、１５・・・制御プロセッサ、２０・・・中継部、４０・・・試験ユニット、５０・・・被試験デバイス、１００・・・試験プログラム、４００・・・状態レジスタ、４１０・・・状態レジスタ、３０・・・処理制御部、２００・・・バッファ部、２１０・・・タイミング記憶部、２２０・・・条件記憶部、２３０・・・ポーリング部、３５・・・バッファ制御部、３００・・・取出部、３１０・・・書込部、３２０・・・検出部、３３０・・・送信部
【発明を実施するための最良の形態】
【００２２】
以下、発明の実施の形態を通じて本発明の（一）側面を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではなく、又実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。【００２３】
図１は、試験装置１０の全体構成を示す。試験装置１０は、制御プロセッサ１５と、複数の中継部２０と、複数の試験ユニット４０とを有する。制御プロセッサ１５は、被試験デバイスを試験する試験プログラム１００を実行する。制御プロセッサ１５は、それぞれが異なる試験ユニット４０を制御する複数の試験プログラム１００を実行してもよい。複数の試験プログラム１００のそれぞれは、マルチタスク、マルチプロセス、または、マルチスレッドと呼ばれる実行機構を備えるオペレーティングシステムにおいて、制御プロセッサ１５の計算機資源を時分割して並行に実行されてもよい。【００２４】
複数の試験ユニット４０のそれぞれは、複数の被試験デバイス５０のそれぞれに対応して設けられている。そして、複数の試験ユニット４０のそれぞれは、対応する被試験デバイス５０に接続され、制御プロセッサ１５の指示に応じてその被試験デバイス５０を試験する。また、複数の試験ユニット４０のそれぞれは、当該試験ユニット４０の状態を示す状態レジスタを有する。例えば、複数の試験ユニット４０のそれぞれは、第１の状態レジスタの一例である状態レジスタ４００と、第２の状態レジスタの一例である状態レジスタ４１０とを有する。図中では１つの試験ユニット４０にのみ状態レジスタ４００、４１０を例示したが、他のそれぞれの試験ユニット４０もまた状態レジスタを有していてよい。そして、複数の試験ユニット４０のそれぞれは、試験の進行による状態変化に応じて、当該試験ユニット４０の状態をこれらの状態レジスタに記憶する。【００２５】
複数の中継部２０のそれぞれは、複数の試験ユニット４０のそれぞれに対応して設けられている。複数の中継部２０のそれぞれは、制御プロセッサ１５および対応する試験ユニット４０に接続される。そして、複数の中継部２０のそれぞれは、制御プロセッサ１５から対応する試験ユニット４０へと送信される制御命令を中継する。具体的には、中継部２０内の記憶領域および試験ユニット４０内の記憶領域は、制御プロセッサ１５上で試験プログラム１００が動作する仮想的なアドレス空間にマッピングされている。そして、制御プロセッサ１５は、試験プログラム１００中の書込コマンドを実行することにより、その仮想的なアドレス空間、即ち中継部２０または試験ユニット４０に対し書き込みを行う。なお、試験ユニット４０に対する制御命令とは、例えば、その試験ユニット４０から被試験デバイス５０に印加する電圧の大きさを設定・変更する命令などのほか、試験用の信号の周波数を設定・変更する命令や、試験シーケンスの動作の開始を指示する命令などであってよい。【００２６】
中継部２０は、試験ユニット４０に割り当てられたアドレス空間に対する書込データについては、制御プロセッサ１５から受け取ってそのまま試験ユニット４０に転送する。一方で、中継部２０は、中継部２０に割り当てられたアドレス空間に対する書込データについては、その内容に応じて当該中継部２０中のレジスタまたはメモリなどに対し書込み処理を行う。中継部２０は、書込まれた内容に応じて、命令転送のタイミングを制御する。例えば、中継部２０は、当該書込データに続いて受信した制御命令などのデータを、当該書込データによって示される時間を待機した後に試験ユニット４０に対し送信してもよい。【００２７】
このように、本実施形態に係る試験装置１０は、試験ユニット４０に対しコマンドを送信するタイミングを、制御プロセッサ１５とは別体に設けられた中継部２０によって制御する。これにより、制御プロセッサ１５の処理負荷を軽減すると共に、制御命令送信のタイミングを正確に制御することを目的とする。【００２８】
続いて、複数の中継部２０のうちある１つの中継部２０についての機能構成を説明する。【００２９】
図２は、中継部２０の機能構成を示す。中継部２０は、処理制御部３０と、バッファ部２００と、タイミング記憶部２１０と、条件記憶部２２０と、ポーリング部２３０とを有する。実装の一例としては、バッファ部２００、タイミング記憶部２１０および条件記憶部２２０は、レジスタやメモリといった記憶媒体によって実装されており、ポーリング部２３０および処理制御部３０は、シーケンサによって実装されている。まず、制御プロセッサ１５が、制御命令の書き込みに先立って、その制御命令を試験ユニット４０に対して送信すべきタイミングを、試験ユニット４０に割り当てられたアドレスに対し書き込む場合の処理機能を説明する。バッファ部２００は、当該中継部２０に割り当てられたアドレスに対して制御プロセッサ１５から書き込まれるべきタイミング値、および、対応する試験ユニット４０に割り当てられたアドレスに対して制御プロセッサ１５から書き込まれるべき制御命令を順次バッファする。【００３０】
詳細には、バッファ部２００は、制御プロセッサ１５から受信した、タイミング値を書き込むタイミング書込コマンドと、制御命令を書き込む制御命令書込コマンドとを順次バッファする。タイミング書込コマンドとは、例えば、中継部２０に割り当てられたアドレス空間中のアドレス、および、当該アドレスに書き込まれるべきタイミング値の組である。一方、制御命令書込コマンドとは、例えば、試験ユニット４０に割り当てられたアドレス空間中のアドレス、および、当該アドレスに書き込まれるべき制御命令の組である。【００３１】
タイミング記憶部２１０は、制御プロセッサ１５から受信した、制御命令を試験ユニット４０に対して送信すべきタイミングを記憶する。このタイミングは、タイミング書込コマンドに応じてバッファ制御部３５によりタイミング値として記憶されるものである。処理制御部３０は、バッファ制御部３５を有する。バッファ制御部３５は、上記のタイミング値の記憶の他、タイミング書込コマンドに続いて受信する制御命令の送信タイミングを制御する。詳細には、バッファ制御部３５は、タイミング記憶部２１０に記憶されたタイミングが到達したことに応じて、バッファ部２００にバッファされた制御命令を、対応する試験ユニット４０に対し送信する。このタイミング値は、例えば、続いて受信した制御命令の送信を遅延させる遅延量などである。つまり、バッファ制御部３５は、バッファ部２００からタイミング書込コマンドを取出したことに応じてそのタイミングが到達するまで、タイミング書込コマンドより後に受信した制御命令書込コマンドの処理を遅延させる。【００３２】
次に、制御プロセッサ１５が、試験ユニット４０に割り当てられたアドレス空間内の状態レジスタのアドレスおよび期待値を、中継部２０に割り当てられたアドレスに対して書き込んだ後、当該試験ユニット４０に割り当てられたアドレスに制御命令を書き込む場合の処理機能を説明する。条件記憶部２２０は、制御プロセッサ１５から受信した、試験ユニット４０の状態を示す状態レジスタのアドレスと、その状態レジスタの値と比較される期待値とを記憶する。これらのアドレスおよび期待値は、バッファ制御部３５によって記憶されるものである。即ち、バッファ制御部３５は、バッファ部２００から、状態レジスタのアドレスおよび期待値を書き込む条件書込コマンドを取得すると、そのアドレスおよび期待値を条件記憶部２２０に記憶する。【００３３】
なお、状態レジスタのアドレスとは、その状態レジスタに割り当てられた制御プロセッサ１５における仮想的なアドレスの他、その状態レジスタの番号その他の識別情報などであってもよい。【００３４】
ポーリング部２３０は、制御プロセッサ１５から指定された、試験ユニット４０の状態を示す状態レジスタ（制御プロセッサ１５の指定に応じて状態レジスタ４００および状態レジスタ４１０の一方または双方）を繰返し読み出す。詳細には、ポーリング部２３０は、バッファ部２００から条件書込みコマンドを取得したことに応じて、状態レジスタのアドレス（即ち条件記憶部２２０に記憶したアドレス）を読出アドレスとする読出コマンドを試験ユニット４０へと繰返し発行する。処理制御部３０は、読み出した状態レジスタの値が制御プロセッサ１５から指定された期待値となったことに応じて、その状態レジスタの値がその期待値となった後に試験ユニット４０が処理すべき制御命令を試験ユニット４０へ送信する。状態レジスタの値が期待値となった後に処理すべき制御命令とは、例えば、条件書込コマンドより後に受信した制御命令書込コマンドにより書き込まれる命令である。即ち、バッファ制御部３５は、状態レジスタの値が期待値となったことに応じて、条件書込コマンドより後に受信した制御命令書込コマンドを試験ユニット４０へ送信する。【００３５】
これに代えて、または、これに加えて、バッファ制御部３５は、状態レジスタの値が期待値となったことに応じて、制御プロセッサ１５から後続の制御命令を送信させるべく制御プロセッサに割込みを発行してもよい。この処理は、一連の試験処理が終了したような場合に有効である。即ち例えば、バッファ制御部３５は、制御プロセッサ１５に対し割込みを発行して制御プロセッサ１５を再起動させることで、次の試験を初めから開始することができる。【００３６】
図３は、バッファ制御部３５の機能構成を示す。バッファ制御部３５は、取出部３００と、書込部３１０と、検出部３２０と、送信部３３０とを有する。取出部３００は、バッファ部２００にバッファされた書込コマンドを順次取り出す。取出部３００は、書込部３１０による書込み完了の通知、または、送信部３３０による送信完了の通知に応じ、ＦＩＦＯ方式のバッファ部２００の先頭から書込コマンドを１つ取出してもよい。また、取出部３００は、中継部２０用の書込コマンドを取出した後にその書込みコマンドをバッファ部２００から直ちに削除してもよいし、その書込コマンドに応じた処理の完了後にその書込コマンドをバッファ部２００から削除してもよい。【００３７】
書込部３１０は、本発明に係るタイミング書込部の一例であり、タイミング書込コマンドを取出したことに応じて当該タイミングをタイミング記憶部２１０に記憶させる。また、書込部３１０は、条件書込コマンドを取出したことに応じて、状態レジスタのアドレスおよび期待値を条件記憶部２２０に記憶させる。検出部３２０は、タイミング記憶部２１０に記憶されたタイミングの到達を検出する。また、検出部３２０は、ポーリング部２３０により読み出された状態レジスタの値が期待値となったかを検出する。【００３８】
送信部３３０は、タイミングの到達が検出されたことを条件として、タイミング書込コマンドの後に受信した制御命令書込コマンドを、試験ユニット４０へと送信する。また、送信部３３０は、状態レジスタの値が期待値となったことを条件として、条件書込コマンドの後に受信した制御命令書込コマンドを試験ユニット４０へと送信する。【００３９】
図４は、制御プロセッサ１５から試験ユニット４０に対する命令を中継部２０によって中継する処理の流れを示す。バッファ部２００は、制御プロセッサ１５から試験ユニット４０または当該中継部２０に割り当てられたアドレスに対して書き込まれるべき制御命令をバッファする（Ｓ４００）。取出部３００は、バッファ部２００にバッファされた書込コマンドを順次取り出す（Ｓ４１０）。取出した書込コマンドが、当該中継部２０に割り当てられたアドレス空間に対する書込コマンドであれば、中継部２０は、タイミング記憶部２１０または条件記憶部２２０に対し書込みを行う（Ｓ４２０）。取出した書込コマンドが、試験ユニット４０の状態レジスタ４００、４１０のアドレスに対する書込コマンドであれば、中継部２０は、制御命令の送信処理を行う（Ｓ４３０）。【００４０】
図５は、図４のＳ４２０における処理の詳細を示す。書込部３１０は、取出したコマンドがタイミング書込コマンドか否かを判断する（Ｓ５００）。タイミング書込コマンドであれば（Ｓ５００：ＹＥＳ）、書込部３１０は、そのタイミング書込コマンドによって指定されたタイミングをタイミング記憶部２１０に記憶させる（Ｓ５１０）。条件書込コマンドであれば（Ｓ５２０：ＹＥＳ）、書込部３１０は、後続の制御命令を送信する条件、即ち、状態レジスタのアドレスおよび期待値を条件記憶部２２０に記憶させる（Ｓ５３０）。【００４１】
図６は、図４のＳ４３０における処理の詳細を示す。検出部３２０は、タイミング記憶部２１０に記憶されたタイミングの到達を検出する（Ｓ６００）。タイミングの到達が検出された場合に、または、そもそもタイミングが設定されていない場合に（Ｓ６００：ＹＥＳ）、検出部３２０は、状態レジスタの値が制御プロセッサ１５から指定された期待値となったかを判断する（Ｓ６１０）。この判断において、状態レジスタの値は所定のマスク値によってビットマスクされた上で判断に用いられてもよい。具体的には、以下の通りである。【００４２】
まず、制御プロセッサ１５は、状態レジスタのアドレスおよび期待値の書き込みにおいて、その期待値として、ポーリング部２３０が読み出した状態レジスタの値の各ビットをマスクするか否かを指定するマスク値と、マスクされた状態レジスタの値が満たすべき値を示すマスク後期待値とを条件記憶部２２０に書き込む。そして、ポーリング部２３０は、状態レジスタの値を読み出すとともに、その状態レジスタの値をそのマスク値によりマスクした値がマスク後期待値となったか否かを判断する。【００４３】
そして、タイミングの到達が検出され、かつ、状態レジスタの値が期待値となったことに応じ（Ｓ６００：ＹＥＳ、Ｓ６１０：ＹＥＳ）、バッファ制御部３５の検出部３２０は、条件書込コマンドまたはタイミング書込コマンドよりも後に受信した制御命令書込コマンドを試験ユニット４０へ送信する（Ｓ６２０）。なお、状態レジスタにマスク値が指定されている場合には、マスクした値がマスク後期待値となったことが条件となる。【００４４】
タイミングの到達が検出されず、または、状態レジスタの値が期待値となっていない場合には、処理制御部３０は、バッファ部２００から条件書込コマンドが取得されてから予め設定されたタイムアウト時間が経過したかどうかを判断する（Ｓ６３０）。経過していれば（Ｓ６３０：ＹＥＳ）、処理制御部３０は、制御プロセッサ１５に対してタイムアウト割込みを発行する（Ｓ６４０）。これにより、条件を設定したものの障害の発生などでそれが成立しない場合や、設定した条件に誤りがありその条件が成立することが無い場合であっても、エラーの検出処理や次の試験を適切に開始させることができる。【００４５】
この割込みを受けた制御プロセッサ１５は、バッファ部２００の内容を消去して次の処理を正しく開始できるようにするため、バッファ部２００の内容を消去する命令を中継部２０に対し発行してもよい。この場合、中継部２０は、この命令を受信すると、バッファ部２００内にバッファリングせずにバッファ部２００内の書込コマンドを消去する。さらに他の例として、制御プロセッサ１５は、バッファ部２００の内容を読み出す命令を中継部２０に対し発行してもよい。この場合、中継部２０は、この命令を受信すると、その命令をバッファ部２００内にバッファリングせずに、バッファ部２００から書込コマンドを読み出して制御プロセッサ１５に送信する。これらの仕組みを実装することで、エラー発生後の復旧や原因追究を効率化できる。【００４６】
また、処理制御部３０は、特定の条件成立、例えば、予め定められた特定の状態レジスタの値が期待値となったかどうかを判断する（Ｓ６５０）。この状態レジスタがその期待値となった状態とは、例えば、試験装置１０による一連の試験が終了したことを示す状態である。この場合には（Ｓ６５０：ＹＥＳ）、処理制御部３０は、制御プロセッサ１５から後続の制御命令、即ち次の試験の制御命令を送信させるべく、制御プロセッサ１５に対し割込みを発行する（Ｓ６４０）。【００４７】
図７は、バッファ部２００にバッファリングされる命令群の第１例を示す。第１例を用いて、制御命令を実行させるために充足するべき条件を複数設定する例を説明する。この第１例において、ＦＩＦＯ方式のバッファ部２００には、先頭から順に、状態レジスタ４００に条件を書込むための第１の条件書込みコマンドである条件書込コマンド１と、状態レジスタ４１０に条件を書込むための第２の条件書込コマンドである条件書込コマンド２と、試験ユニット４０を制御する制御命令とが記憶される。条件書込コマンド１は、制御プロセッサ１５のアドレス空間において状態レジスタ４００を特定するための第１のアドレスと、状態レジスタ４００と比較されるべき第１の期待値とによって構成される。また、条件書込コマンド２は、制御プロセッサ１５のアドレス空間において状態レジスタ４１０を特定するための第２のアドレスと、状態レジスタ４１０と比較されるべき第２の期待値とによって構成される。【００４８】
即ち、制御プロセッサ１５は、状態レジスタ４００が第１の期待値となり、かつ、状態レジスタ４１０が第２の期待値となったことを条件として、制御命令を試験ユニット４０へ送信したい場合には、状態レジスタ４００のアドレスおよび第１の期待値と、状態レジスタ４１０のアドレスおよび第２の期待値とをバッファ部２００に割り当てられたアドレスに対して順次書き込む。そしてその後に、制御プロセッサ１５は、試験ユニット４０に割り当てられたアドレスに制御命令を書き込む。その結果、図７に示すように、条件書込コマンド１、条件書込コマンド２、および、制御命令が順次バッファ部２００に格納されることとなる。【００４９】
バッファ部２００がこのような状態にある場合において、ポーリング部２３０は、状態レジスタ４００のアドレスおよび第１の期待値を書き込む条件書込コマンド１をバッファ部２００から取得したことに応じて、状態レジスタ４００のアドレスを読出アドレスとする第１の読出コマンドを試験ユニット４０へと繰返し発行する。そして、バッファ制御部３５は、状態レジスタ４００の値が第１の期待値となったことに応じて、条件書込みコマンド１より後に受信した、状態レジスタ４１０のアドレスおよび第２の期待値を書き込む条件書込コマンド２をバッファ部２００から取り出す。【００５０】
そして、ポーリング部２３０は、条件書込コマンド２をバッファ部２００から取得したことに応じて、状態レジスタ４１０のアドレスを読み出しアドレスとする第２の読出コマンドを試験ユニット４０へと繰返し発行する。そして、バッファ制御部３５は、状態レジスタ４１０の値が第２の期待値となったことに応じて、条件書込コマンド２より後に受信した制御命令書込コマンドを試験ユニット４０へ送信する。このように、複数の条件書込コマンドを用いれば、制御命令を実行させるために充足するべき条件を複数指定することができる。【００５１】
図８は、バッファ部２００にバッファリングされる命令群の第２例を示す。第２例を用いて、制御命令を実行させるために充足するべき複数の異なる条件を設定する処理を説明する。この第２例において、ＦＩＦＯ方式のバッファ部２００には、先頭から順に、制御命令を試験ユニット４０に対して送信するべきタイミングを定めるタイミング書込コマンドと、状態レジスタ４００に条件を書込むための条件書込コマンドと、試験ユニット４０を制御する制御命令とが記憶される。【００５２】
即ち、制御プロセッサ１５は、タイミング書込コマンドと、条件書込コマンドと、制御命令書込コマンドとをこの順に順次発行している。このような状態において、検出部３２０は、タイミング書込コマンドによって書込まれたタイミングの到達を検出する。タイミングの到達が検出されると、取出部３００は、その次のコマンド、即ち条件書込コマンドをバッファ部２００から取り出す。そして、ポーリング部２３０は、状態レジスタ４００のアドレスおよび期待値を書き込む条件書込コマンドをバッファ部２００から取得したことに応じて、状態レジスタ４００のアドレスを読出アドレスとする読出コマンドを試験ユニット４０へと繰返し発行する。そして、バッファ制御部３５は、状態レジスタ４００の値が期待値となったことに応じて、条件書込みコマンドより後に受信した、制御命令書込コマンドを試験ユニット４０へ送信する。このように、制御命令を実行させるために充足するべき条件は、複数の異なる種類の条件の組合せであってもよい。【００５３】
図９は、本実施形態の変形例における試験装置１０の全体構成を示す。本変形例は、複数の試験ユニット４０が協業して単一の被試験デバイス５０を試験することを目的とする。被試験デバイス５０の高性能化に伴い、被試験デバイス５０の入出力端子の数も増加しており、１つの試験ユニット４０によっては１つの被試験デバイス５０を試験できない場合がある。このような場合には、複数の試験ユニット４０が被試験デバイス５０の入出力端子の一部ずつに接続されて試験を行う。【００５４】
具体的には、本変形例に係る試験装置１０は、試験ユニット４０−１および試験ユニット４０−２によって被試験デバイス５０−１を試験する。また、試験装置１０は、試験ユニット４０−３および試験ユニット４０−４によって被試験デバイス５０−２を試験する。また、試験ユニット４０−１〜４のそれぞれに対応付けて、中継部２０−１〜４のそれぞれが設けられている。このような形態において、中継部２０−１〜２は、制御プロセッサ１５における同一のアドレス空間を共有してもよい。また、中継部２０−３〜４は、制御プロセッサ１５における同一のアドレス空間を共有してもよい。この場合における命令中継処理の一例を、図１０を参照して説明する。【００５５】
なお、図９を参照して述べた構成以外の構成については、図１〜図８を参照して説明した実施形態に係る試験装置１０と略同一であるから説明を省略する。【００５６】
図１０は、本実施形態の変形例におけるバッファ部２００にバッファリングされる命令群の一例を示す。中継部２０−１および中継部２０−２は同一のアドレス空間を共有しているので、中継部２０−１のバッファ部２００および中継部２０−２のバッファ部２００には、同一の命令群がバッファリングされている。具体的には、それぞれのバッファ部２００には、先頭から順に、試験ユニット４０−１に対する制御命令１と、試験ユニット４０−２に対する制御命令２と、試験ユニット４０−１に対する制御命令１とがこの順に記憶されている。【００５７】
中継部２０−１の取出部３００は、バッファ部２００の先頭から制御命令１を取り出すと、この制御命令１の書込み先が試験ユニット４０−１であるかを判断する。書込み先は試験ユニット４０−１であるから、中継部２０−１はこの制御命令１を試験ユニット４０−１に対し送信させる。一方で、中継部２０−２の取出部３００は、バッファ部２００の先頭の制御命令１の書込み先は試験ユニット４０−２ではないので、その制御命令１を実行しないで破棄する。【００５８】
先頭の制御命令１の実行または破棄が完了すると、中継部２０−１〜２はともに次の命令の処理に移る。即ち、中継部２０−１のバッファ部２００は、制御命令２を取り出すと、その制御命令２の書込み先が試験ユニット４０−２なので、その制御命令２を破棄する。一方で、中継部２０−２のバッファ部２００は、制御命令２の書込み先が試験ユニット４０−２なので、その制御命令を試験ユニット４０−２に対し送信させる。以降の制御命令についても同様である。【００５９】
このように、本変形例によれば、１つの被試験デバイス５０を複数の試験ユニット４０を用いて試験する場合においても、制御プロセッサ１５から見たアドレス空間を被試験デバイス５０ごとに設定することができる。このようにしても、中継部２０により、それぞれの試験ユニット４０に対する命令は適切に振り分けられて処理される。このように、本変形例によれば、図１から図８に示した実施形態において説明した処理に加えて、命令の振分処理をも中継部２０に集中させて、制御プロセッサ１５の負荷を軽減することができる。さらには、既存の試験プログラム１００および試験ユニット４０の流用を容易とすることができる。【００６０】
以上、本発明の（一）側面を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることができる。例えば、本実施例またはその変形例に示す中継部２０は、それに対応する試験ユニット４０の中に含めて実装されてもよい。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。【００６１】
上記説明から明らかなように、本発明の（一）実施形態によれば、試験ユニットの動作タイミングを精度良くかつ効率的に制御する試験装置および制御方法を実現することができる。
【図１】
2008044421.tif 000003
【図２】
2008044421.tif 000004
【図３】
2008044421.tif 000005
【図４】
2008044421.tif 000006
【図５】
2008044421.tif 000007
【図６】
2008044421.tif 000008
【図７】
2008044421.tif 000009
【図８】
2008044421.tif 000010
【図９】
2008044421.tif 000011
【図１０】
2008044421.tif 000012
【国際調査報告】
2008044421.tif 000013
2008044421.tif 000014