(57)【要約】  被試験デバイスを試験する試験装置であって、被試験デバイスとの間で信号を入出力する複数のチャネルと、被試験デバイスとの間で通信するパケットのデータ列を生成する生成部と、生成部が生成したパケットのデータ列を、複数のチャネルのうちいずれのチャネルを介して通信するかを選択するチャネル選択部と、を備える試験装置ならびに当該試験装置に係る試験方法を提供する。
2010067482.tif 000002
【特許請求の範囲】
【請求項１】
被試験デバイスを試験する試験装置であって、
前記被試験デバイスとの間で信号を入出力する複数のチャネルと、
前記被試験デバイスとの間で通信するパケットのデータ列を生成する生成部と、
前記生成部が生成した前記パケットのデータ列を、前記複数のチャネルのうちいずれのチャネルを介して通信するかを選択するチャネル選択部と、
を備える試験装置。
【請求項２】
前記生成部は、生成する前記パケットのプロトコルを選択する
請求項１に記載の試験装置。
【請求項３】
前記チャネル選択部は、前記生成部が前記パケットに対して選択した前記プロトコルに対応する前記チャネルを選択する
請求項２に記載の試験装置。
【請求項４】
前記生成部は、
前記被試験デバイスとの間で通信する各パケットを順次指定する上位シーケンサと、
それぞれの前記パケットを生成するためのデータを、前記プロトコル毎に異なるメモリバンクに格納するパケットライブラリと、
前記上位シーケンサにより指定されたパケットに対応するデータを、前記パケットライブラリにおける当該パケットのプロトコルに応じた前記メモリバンクから読み出す下位シーケンサと
を有する請求項３に記載の試験装置。
【請求項５】
前記上位シーケンサは、いずれの前記メモリバンクのデータを用いて前記パケットを生成するかを更に指定し、
前記下位シーケンサは、前記上位シーケンサにより指定された前記メモリバンクから、前記パケットのデータ列を読み出す
請求項４に記載の試験装置。
【請求項６】
前記生成部は、前記上位シーケンサが順次指定すべき前記パケットの順番を表わすパケットシーケンスと、前記下位シーケンサが前記パケットを読み出すべき前記メモリバンクを、それぞれの前記パケットシーケンスに対して指定するメモリバンク情報とを対応付けて記憶するシーケンス記憶部を更に有し、
前記上位シーケンサは、前記メモリバンク情報に基づいて、前記下位シーケンサがデータを読み出すべき前記メモリバンクを、それぞれの前記パケットシーケンス毎に指定する
請求項５に記載の試験装置。
【請求項７】
前記パケットライブラリは、それぞれの前記パケットを、いずれの前記チャネルを介して通信すべきかを示すチャネル情報を、それぞれの前記メモリバンク毎に記憶し、
前記チャネル選択部は、前記チャネル情報に基づいて、前記複数のチャネルのうちいずれのチャネルを介して通信するかを選択する
請求項６に記載の試験装置。
【請求項８】
前記生成部を並列に複数備え、前記チャネル選択部は、それぞれの前記生成部に対して前記チャネルを選択する
請求項７に記載の試験装置。
【請求項９】
前記チャネル選択部は、それぞれの前記生成部に対して、いずれの前記チャネルを選択するかを制御するテーブルを記憶し、
前記下位シーケンサは、前記パケットライブラリから読み出した前記チャネル情報に基づいて前記テーブルを更新する
請求項８に記載の試験装置。
【請求項１０】
試験装置により被試験デバイスを試験する試験方法であって、
前記試験装置は、
前記被試験デバイスとの間で信号を入出力する複数のチャネルと、
前記被試験デバイスとの間で通信するパケットのデータ列を生成する生成部と
を備え、
前記生成部が生成した前記パケットのデータ列を、前記複数のチャネルのうちいずれのチャネルを介して通信するかを選択する試験方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、試験装置および試験方法に関する。本出願は、下記の米国出願に関連し、下記の米国出願からの優先権を主張する出願である。文献の参照による組み込みが認められる指定国については、下記の出願に記載された内容を参照により本出願に組み込み、本出願の一部とする。
出願番号  １２／３２９，６３５    出願日  ２００８年１２月８日
【背景技術】
【０００２】
パケット通信をするデバイスが知られている。また、パケット通信をするデバイスを試験する試験装置も知られている。なお、現時点で先行技術文献の存在を認識していないので、先行技術文献に関する記載を省略する。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
パケット通信においてデバイス間でやり取りされる各パケットには、実体データの他に、スタートコード、エンドコードおよびチェックコード等の冗長データが含まれる。従って、試験装置は、パケット通信をするデバイスを試験する場合、このような冗長データを含んだ複雑な試験パターンを発生しなければならなかった。【０００４】
また、パケット通信をするデバイスは、通信相手のデバイスとハンドシェイクを実行する。パケット通信をするデバイスは、一例として、通信相手のデバイスと、通信の要求および拒否のやり取り、通信の開始および終了の応答のやり取り、通信の成功および失敗のやり取り等を実行する。【０００５】
更に、パケット通信をするデバイスを試験する場合、試験装置は、被試験デバイスとハンドシェイクを実行しなければならない。また、試験装置は、ハンドシェイク中において被試験デバイスからの応答を待機している間も、直ぐに応答ができるように次の送信の準備およびアイドルパケット等を送信しなければならない。従って、試験装置は、このようなデバイスを試験する場合、複雑な試験パターンを発生しなければならなかった。【０００６】
また、デバイスの各ピンに対して、パケットを生成する生成部を設けると、回路規模が増大してしまう。更に、デバイスとの通信では、複数種類のプロトコルを使用する場合がある。通信に使用するプロトコルに応じてパケットの内容も異なるので、使用するプロトコル毎に、パケットを生成する生成部を設けなければならない。しかし、デバイスの各ピンに対して、複数のプロトコルに対応する複数の生成部を設けると、回路規模が更に増大してしまう。【０００７】
そこで本発明の１つの側面においては、上記の課題を解決することのできる試験装置および試験方法を提供することを目的とする。この目的は請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００８】
本発明の第１の態様によると、被試験デバイスを試験する試験装置であって、被試験デバイスとの間で信号を入出力する複数のチャネルと、被試験デバイスとの間で通信するパケットのデータ列を生成する生成部と、生成部が生成したパケットのデータ列を、複数のチャネルのうちいずれのチャネルを介して通信するかを選択するチャネル選択部と、を備える試験装置ならびに当該試験装置に係る試験方法を提供する。【０００９】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係る試験装置１０の構成を、被試験デバイス２００とともに示す。
【図２】送信側ブロック１２の構成を示す。
【図３】送信側ブロック１２内のデータ処理部３２の構成の一例を示す。
【図４】送信側ブロック１２内の送信部３４の構成の一例を示す。
【図５】受信側ブロック１４の構成を示す。
【図６】受信側ブロック１４内のデータ処理部３２の構成の一例を示す。
【図７】受信側ブロック１４が有する受信部８２の構成の一例を示す。
【図８】プロシージャ、パケットシーケンスおよびパケットのデータ構成を示す。
【図９】パケットシーケンスを表わす試験プログラムの一例を示す。
【図１０】アイドルパケットを生成するための命令列、および、アイドルパケットに含まれるデータ列の一例を示す。
【図１１】ライトパケットを生成するための命令列およびライトパケットに含まれるデータ列の一例を示す。
【図１２】上位シーケンサ２２および下位シーケンサ２８による処理タイミングの一例を示す。
【図１３】試験装置１０の処理フローを示す。
【図１４】送信側ブロック１２の他の構成例を示す図である。
【図１５】図１４に示した送信側ブロック１２の動作例を説明する図である。
【図１６】送信側ブロック１２の他の構成例を示す図である。
【図１７】送信側ブロック１２の他の構成例を示す図である。
【図１８Ａ】シリアライザ７２の動作を規定するテーブルの一例を示す。
【図１８Ｂ】シリアライザ７２の動作を規定するテーブルの他例を示す。
【図１８Ｃ】シリアライザ７２の動作を規定するテーブルの他例を示す。
【図１９】受信側ブロック１４の他の構成例を示す図である。
【符号の説明】
【００１１】
１０・・・試験装置、１１、１３・・・生成部、１２・・・送信側ブロック、１４・・・受信側ブロック、１６・・・メインメモリ、１８・・・メイン制御部、２０・・・シーケンス記憶部、２２・・・上位シーケンサ、２４・・・パケット命令列記憶部、２６・・・パケットデータ列記憶部、２８・・・下位シーケンサ、３２・・・データ処理部、３３・・・チャネル選択部、３４・・・送信部、３５・・・選択テーブル、４０・・・共通データ記憶部、４２・・・共通データポインタ、４４・・・個別データ記憶部、５２・・・レジスタ、５４・・・前段選択部、５６・・・演算器、５８・・・変換部、６０・・・後段選択部、７２・・・シリアライザ、７４・・・フォーマットコントローラ、７６・・・ドライバ、８２・・・受信部、８４・・・判定部、８６・・・レベルコンパレータ、８８・・・タイミングコンパレータ、９０・・・デシリアライザ、９２・・・位相調整部、１２８・・・変換制御部、２００・・・被試験デバイス
【発明を実施するための最良の形態】
【００１２】
以下、発明の実施の形態を通じて本発明の（一）側面を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。【００１３】
図１は、本実施形態に係る試験装置１０の構成を、被試験デバイス２００とともに示す。試験装置１０は、パケットを送信および受信するパケット通信型の被試験デバイス２００を試験する。【００１４】
試験装置１０は、送信側ブロック１２と、受信側ブロック１４と、メインメモリ１６と、メイン制御部１８とを備える。送信側ブロック１２は、試験プログラムにより指定された順序でパケットを被試験デバイス２００に送信する。受信側ブロック１４は、被試験デバイス２００からパケットを受信して、被試験デバイス２００との間の通信の良否を判定する。【００１５】
メインメモリ１６は、被試験デバイス２００を試験するための試験プログラムを記憶する。より詳しくは、メインメモリ１６は、被試験デバイス２００に対して送信すべきパケットおよび被試験デバイス２００から受信するべきパケットの順序を表わすパケットシーケンスを表わす試験プログラムを記憶する。更に、メインメモリ１６は、送信または受信するべきパケット内に含められる、それぞれのパケット毎に個別に定められる個別データを記憶する。【００１６】
メイン制御部１８は、メインメモリ１６に記憶された試験プログラムおよび個別データを送信側ブロック１２および受信側ブロック１４に転送する。また、メイン制御部１８は、当該試験装置１０の開始および終了等の全体の制御を実行する。【００１７】
図２は、送信側ブロック１２の構成を示す。送信側ブロック１２は、シーケンス記憶部２０と、上位シーケンサ２２と、パケット命令列記憶部２４と、パケットデータ列記憶部２６と、下位シーケンサ２８と、データ処理部３２と、送信部３４とを有する。【００１８】
シーケンス記憶部２０は、パケットシーケンスを表わす試験プログラムを記憶する。シーケンス記憶部２０は、試験に先立ってまたは試験中において適宜に、メインメモリ１６から試験プログラムが転送される。【００１９】
上位シーケンサ２２は、シーケンス記憶部２０に記憶された試験プログラムを実行して、被試験デバイス２００との間で通信する各パケットを順次指定する。上位シーケンサ２２は、一例として、被試験デバイス２００との間で通信するパケットについて、パケット命令列記憶部２４内における当該パケットを発生するための命令列のアドレス（例えば当該命令列の先頭アドレス）を指定する。更に、上位シーケンサ２２は、一例として、被試験デバイス２００との間で通信するパケットについて、パケットデータ列記憶部２６内における当該パケットに含まれるデータ列のアドレス（例えばデータ列の先頭アドレス）を指定する。【００２０】
このように上位シーケンサ２２は、パケットを発生させるための命令列のアドレスと、当該パケットに含まれるデータ列のアドレスを個別に指定する。なお、この場合において、試験プログラム中において、２以上のパケットに対して共通する命令列またはデータ列が指定されている場合に、上位シーケンサ２２は、当該２以上のパケットについて同一の命令列のアドレスまたは同一のデータ列のアドレスを指定してもよい。【００２１】
パケット命令列記憶部２４は、複数種類のパケットのそれぞれを発生するための命令列を、パケットの種類毎に記憶する。パケット命令列記憶部２４は、一例として、ライトパケットを発生するための命令列、リードパケットを発生するための命令列、および、アイドルパケットを発生するための命令列等を記憶する。【００２２】
パケットデータ列記憶部２６は、複数種類のパケットのそれぞれに含まれるデータ列を、パケットの種類毎に記憶する。パケットデータ列記憶部２６は、一例として、ライトパケットに含まれるデータ列、リードパケットに含まれるデータ列、および、アイドルパケットに含まれるデータ列等を含んでよい。【００２３】
パケットデータ列記憶部２６は、一例として、共通データ記憶部４０と、共通データポインタ４２と、第１の個別データ記憶部４４−１と、第２の個別データ記憶部４４−２と、第１の個別データポインタ４６−１と、第２の個別データポインタ４６−２とを含んでよい。共通データ記憶部４０は、複数種類のパケットのそれぞれに含まれるデータ列中における、パケットの種類毎に共通の共通データを記憶する。共通データ記憶部４０は、一例として、パケットの種類毎に、パケットの始まりを示すスタートコード、パケットの終わりを示すエンドコード、および、当該パケットの種別を識別するためのコマンドコード等を記憶する。【００２４】
共通データポインタ４２は、上位シーケンサ２２により指定されたパケットに含まれる共通データが格納されたブロックの先頭アドレスを、上位シーケンサ２２から取得する。更に、共通データポインタ４２は、当該ブロック内におけるオフセット位置を、下位シーケンサ２８から取得する。そして、共通データポインタ４２は、先頭アドレスおよびオフセット位置に基づき定まるアドレス（例えば先頭アドレスにオフセット位置を加算したアドレス）を共通データ記憶部４０に与えて、当該アドレスに格納された共通データをデータ処理部３２へ供給させる。【００２５】
第１及び第２の個別データ記憶部４４−１、４４−２は、複数種類のパケットのそれぞれに含まれるデータ列中における、パケット毎に変更する個別データを記憶する。第１及び第２の個別データ記憶部４４−１、４４−２は、一例として、各パケットに含まれる、被試験デバイス２００に対して送信する実体データまたは被試験デバイス２００から受信する実体データを記憶してよい。【００２６】
第１の個別データ記憶部４４−１は、実行される試験プログラムに関わらず予め定められた個別データを記憶する。第２の個別データ記憶部４４−２は、実行される試験プログラム毎に変更される個別データを記憶する。第２の個別データ記憶部４４−２は、一例として、試験に先立ってまたは試験中において適宜に、メインメモリ１６から個別データの転送を受ける。【００２７】
第１及び第２の個別データポインタ４６−１、４６−２は、上位シーケンサ２２により指定されたパケットに含まれる個別データが格納されたブロックの先頭アドレスを、上位シーケンサ２２から受け取る。更に、第１及び第２の個別データポインタ４６−１、４６−２は、当該ブロック内におけるオフセット位置を、下位シーケンサ２８から取得する。そして、第１及び第２の個別データポインタ４６−１、４６−２は、先頭アドレスおよびオフセット位置に基づき定まるアドレス（例えば先頭アドレスにオフセット位置を加算したアドレス）を第１及び第２の個別データ記憶部４４−１、４４−２に与えて、当該アドレスに格納された個別データをデータ処理部３２へ供給させる。【００２８】
下位シーケンサ２８は、上位シーケンサ２２により指定されたパケットの命令列、即ち、上位シーケンサ２２によりアドレスが指定された命令列をパケット命令列記憶部２４から読み出して、読み出した命令列に含まれる各命令を順次に実行する。更に、下位シーケンサ２８は、上位シーケンサ２２により指定されたパケットのデータ列、即ち、上位シーケンサ２２によりアドレスが指定されたデータ列を、命令列の実行に従って順次にパケットデータ列記憶部２６から読み出して、被試験デバイス２００との間の試験に用いる試験データ列を生成する。【００２９】
下位シーケンサ２８は、一例として、上位シーケンサ２２により指定されたパケットに含まれるデータ列が格納されたブロック中における、実行した命令に対応するデータの位置を表わすオフセット位置を、共通データポインタ４２、個別データポインタ４６−１および個別データポインタ４６−２に供給する。この場合において、下位シーケンサ２８は、最初の命令において初期値を発生して、実行する命令が遷移する毎にインクリメントされるカウント値を、オフセット位置として発生してもよい。なお、下位シーケンサ２８により実行される命令列は、前方向ジャンプ命令および分岐命令等を含まないことが好ましい。これにより、下位シーケンサ２８は、簡易な構成により高速な処理を実現することができる。【００３０】
また、下位シーケンサ２８は、命令の実行毎に、読み出した個別データおよび共通データに対して指定した処理（演算またはデータ変換）を施すことを指示する制御データをデータ処理部３２に与える。これにより、下位シーケンサ２８は、上位シーケンサ２２により指定されたパケット中における、指定されたデータ部分を、読み出したデータに対して指定した処理を施したデータとすることができる。【００３１】
また、下位シーケンサ２８は、命令の実行毎に、共通データ、個別データ（実行される試験プログラムに関わらず予め定められた個別データまたは実行される試験プログラム毎に変更される個別データ）、および、データ処理部３２が処理を施したデータのいずれを出力するかを、データ処理部３２に対して指定する。即ち、下位シーケンサ２８は、命令の実行毎に、共通データ記憶部４０、第１の個別データ記憶部４４−１、第２の個別データ記憶部４４−２、または、データ処理部３２内の指定した処理を施したデータが格納されたレジスタのいずれからデータを読み出して出力するかを、データ処理部３２に対して指定する。【００３２】
これにより、下位シーケンサ２８は、上位シーケンサ２２により指定されたパケット中における、パケット毎に変更すべきデータ部分を個別データ記憶部４４から読み出した個別データから生成することができる。更に、下位シーケンサ２８は、上位シーケンサ２２により指定されたパケット中における、パケットの種類毎に共通するデータ部分を共通データ記憶部４０から読み出した共通データから生成することができる。また、更に、下位シーケンサ２８は、上位シーケンサ２２により指定されたパケット中における、指定されたデータ部分を、読み出したデータに対して指定した処理を施したデータとすることができる。【００３３】
また、下位シーケンサ２８は、上位シーケンサ２２により指定されたパケットの命令列の実行が完了したことに応じて、終了通知を上位シーケンサ２２に与えてよい。これにより、上位シーケンサ２２は、下位シーケンサ２８による命令列の実行の進行に応じて、順次にパケットを指定することができる。【００３４】
また、下位シーケンサ２８は、送信部３４に対して、被試験デバイス２００に対して送信する信号のエッジタイミングの指定を行う。下位シーケンサ２８は、一例として、送信部３４に対してタイミング信号を与えて、パケット毎にエッジタイミングを制御する。【００３５】
また、下位シーケンサ２８は、後述する図５に示される受信側ブロック１４が有する受信側の下位シーケンサ２８と通信を行う。これにより、送信側ブロック１２が有する送信側の下位シーケンサ２８は、受信側ブロック１４が有する受信側の下位シーケンサ２８とハンドシェイクを行って、受信側の下位シーケンサ２８と同期して命令列を実行することができる。【００３６】
送信側の下位シーケンサ２８は、一例として、予め指定されたパケットの試験データ列を被試験デバイス２００に送信したことを受信側の下位シーケンサ２８に通知する。これにより、送信側の下位シーケンサ２８は、受信側の下位シーケンサ２８に、送信側の下位シーケンサ２８からの通知を受けるまでの間、判定部８４による受信部８２が受信したデータ列の良否判定を禁止させることができる。【００３７】
また、送信側の下位シーケンサ２８は、一例として、受信側の下位シーケンサ２８から、生成した試験データ列と一致するデータ列を受信したことの通知を受けて、予め指定されたパケットの試験データ列を生成する。これにより、送信側の下位シーケンサ２８は、所定のパケットを被試験デバイス２００から受信した後に、予め定められたパケットを被試験デバイス２００に送信することができる。【００３８】
データ処理部３２は、共通データ記憶部４０、第１の個別データ記憶部４４−１および第２の個別データ記憶部４４−２からのデータを入力して、入力したデータに対して下位シーケンサ２８により指定された処理をして試験データ列の各データとして出力する。なお、データ処理部３２は、下位シーケンサ２８による指定の内容によっては、入力したデータをそのまま試験データ列のデータとして出力してもよい。データ処理部３２の構成の一例については、図３において説明する。【００３９】
送信部３４は、データ処理部３２から出力された試験データ列を、被試験デバイス２００に対して送信する。送信部３４の構成の一例については、図４において説明する。【００４０】
図３は、送信側ブロック１２内のデータ処理部３２の構成の一例を示す。送信側ブロック１２内のデータ処理部３２は、一例として、少なくとも１つのレジスタ５２と、前段選択部５４と、少なくとも１つの演算器５６と、変換部５８と、後段選択部６０とを含む。【００４１】
少なくとも１つのレジスタ５２のそれぞれは、前サイクルの演算処理結果を記憶する。本例においては、データ処理部３２は、第１のレジスタ５２−１と、第２のレジスタ５２−２とを含む。【００４２】
前段選択部５４は、サイクル毎に、共通データ記憶部４０からの共通データ、それぞれの個別データ記憶部４４（本例においては第１の個別データ記憶部４４−１および第２の個別データ記憶部４４−２）からの個別データ、それぞれのレジスタ５２（本例においては第１のレジスタ５２−１および第２のレジスタ５２−２）のデータおよび変換部５８が出力するデータから、下位シーケンサ２８により指定されたデータを選択する。そして、前段選択部５４は、サイクル毎に、選択したデータのそれぞれを、下位シーケンサ２８により指定された、演算器５６（本例においては第１のレジスタ５２−１および第２のレジスタ５２−２）、変換部５８または後段選択部６０に供給する。【００４３】
少なくとも１つの演算器５６のそれぞれは、少なくとも１つのレジスタ５２のそれぞれに対応して設けられる。本例においては、データ処理部３２は、第１のレジスタ５２−１に対応する第１の演算器５６−１と、第２のレジスタ５２に対応する第２の演算器５６−２とを含む。演算器５６のそれぞれは、一例として、論理演算、四則演算、擬似乱数発生および誤り訂正符号生成等の演算を行う。演算器５６のそれぞれは、サイクル毎に、前段選択部５４により選択されたデータに対して、下位シーケンサ２８により指定された演算をして対応するレジスタ５２に格納する。【００４４】
変換部５８は、サイクル毎に、前段選択部５４が選択したデータを予め設定されたテーブルにより変換する。変換部５８は、一例として、８ｂ−１０ｂ変換等のデータ変換を行う。そして、変換部５８は、変換したデータを出力する。【００４５】
後段選択部６０は、サイクル毎に、前段選択部５４が選択したデータ（本例においては、本例においては、共通データ記憶部４０、第１の個別データ記憶部４４−１または第２の個別データ記憶部４４−２からのデータ）、少なくとも１つのレジスタ５２内のデータ、および変換部５８が出力するデータから、指定されたパケットに応じたデータを選択する。そして、後段選択部６０は、選択したデータを試験データ列の各データとして、出力する。【００４６】
図４は、送信側ブロック１２内の送信部３４の構成の一例を示す。送信部３４は、一例として、シリアライザ７２と、フォーマットコントローラ７４と、ドライバ７６とを含む。【００４７】
シリアライザ７２は、データ処理部３２から受け取った試験データ列をシリアルの波形パターンに変換する。フォーマットコントローラ７４は、シリアライザ７２から受け取った波形パターンに応じた波形を有する信号を生成する。更に、フォーマットコントローラ７４は、下位シーケンサ２８により指定されたエッジタイミングにおいて、論理が変化する波形の信号を出力する。ドライバ７６は、フォーマットコントローラ７４から出力された信号を被試験デバイス２００に供給する。【００４８】
図５は、受信側ブロック１４の構成を示す。受信側ブロック１４は、図２に示される送信側ブロック１２と略同一の構成および機能を有する。受信側ブロック１４が有する部材のうち、送信側ブロック１２が有する部材と略同一の構成及び機能を部材については、同一の符号を付けて相違点を除き説明を省略する。【００４９】
受信側ブロック１４は、シーケンス記憶部２０と、上位シーケンサ２２と、パケット命令列記憶部２４と、パケットデータ列記憶部２６と、下位シーケンサ２８と、データ処理部３２と、受信部８２と、判定部８４とを有する。受信部８２は、被試験デバイス２００からパケットのデータ列を受信する。受信部８２の構成の一例については、図７において説明する。【００５０】
受信側ブロック１４内のデータ処理部３２は、受信部８２が受信したデータ列を入力して、入力したデータ列を、生成した試験データ列とともに出力する。データ処理部３２の構成の一例については、図６において説明する。【００５１】
受信側ブロック１４内の下位シーケンサ２８は、被試験デバイス２００から出力が期待されるデータ列を、試験データ列として出力する。また、受信側ブロック１４内の下位シーケンサ２８は、受信部８２に対して、被試験デバイス２００から出力された信号のデータ値を取り込むストローブタイミングを指定する。【００５２】
判定部８４は、データ処理部３２から、試験データ列および受信部８２が受信したデータ列を受け取る。判定部８４は、受信部８２が受信したデータ列を試験データ列と比較した結果に基づいて、被試験デバイス２００との間の通信の良否を判定する。判定部８４は、一例として、受信部８２が受信したデータ列と試験データ列とが一致するか否かを比較する論理比較部と、比較結果を記憶するフェイルメモリとを含む。【００５３】
また、受信側ブロック１４内の下位シーケンサ２８は、図２に示される送信側ブロック１２が有する送信側の下位シーケンサ２８と通信を行う。これにより、受信側ブロック１４が有する受信側の下位シーケンサ２８は、送信側ブロック１２が有する送信側の下位シーケンサ２８とハンドシェイクを行って、送信側の下位シーケンサ２８と同期して命令列を実行することができる。【００５４】
受信側の下位シーケンサ２８は、一例として、当該受信側の下位シーケンサ２８が生成した試験データ列と一致するデータ列を受信したことを送信側の下位シーケンサ２８に通知する。これにより、送信側の下位シーケンサ２８は、受信側の下位シーケンサ２８から、生成した試験データ列と一致するデータ列を受信したことの通知を受けて、予め指定されたパケットの試験データ列を生成することができる。【００５５】
また、受信側の下位シーケンサ２８は、一例として、送信側の下位シーケンサ２８から、予め指定されたパケットの試験データ列を被試験デバイス２００に送信したことの通知を受けるまでの間、判定部８４による受信部８２が受信したデータ列の良否判定を禁止する。これにより、受信側の下位シーケンサ２８は、所定のパケットを被試験デバイス２００へ送信した後に、当該所定のパケットに応じた応答が被試験デバイス２００から出力されたか否かを判定することができる。【００５６】
図６は、受信側ブロック１４内のデータ処理部３２の構成の一例を示す。受信側ブロック１４内のデータ処理部３２は、図３に示された、送信側ブロック１２内のデータ処理部３２と略同一の構成および機能を有する。受信側ブロック１４内のデータ処理部３２が含む部材のうち、送信側ブロック１２内のデータ処理部３２が含む部材と略同一の構成及び機能を部材については、同一の符号を付けて相違点を除き説明を省略する。【００５７】
受信側ブロック１４内の前段選択部５４は、サイクル毎に、更に、受信部８２が受信したデータを後段選択部６０に供給する。また、受信側ブロック１４内の後段選択部６０は、サイクル毎に、更に、前段選択部５４から供給された受信部８２が受信したデータを、試験データ列のデータとともに出力する。これにより、受信側ブロック１４内のデータ処理部３２は、受信部８２が受信したデータ列を入力して、入力したデータ列を、生成した試験データ列とともに出力することができる。【００５８】
図７は、受信側ブロック１４が有する受信部８２の構成の一例を示す。受信部８２は、一例として、レベルコンパレータ８６と、タイミングコンパレータ８８と、デシリアライザ９０と、位相調整部９２とを含む。【００５９】
レベルコンパレータ８６は、被試験デバイス２００から出力された信号を閾値と比較して、論理信号を出力する。タイミングコンパレータ８８は、下位シーケンサ２８により指定されたストローブタイミングで、レベルコンパレータ８６により出力された論理信号のデータを順次に取り込む。デシリアライザ９０は、タイミングコンパレータ８８により取り込まれたデータ列をパラレルの試験データ列に変換する。位相調整部９２は、パケットの先頭の特定コードを検出して、デシリアライザ９０によるパラレルの試験データの切り出し位相を調整する。【００６０】
図８は、プロシージャ、パケットシーケンスおよびパケットのデータ構成を示す。試験装置１０は、１以上の連続したプロシージャを含む試験プログラムを実行する。それぞれのプロシージャは、被試験デバイス２００へ送信すべきパケットのシーケンス、または、被試験デバイス２００から受信するべきと期待されるパケットのシーケンスを定義する。【００６１】
上位シーケンサ２２は、このような試験プログラムを実行して、被試験デバイス２００へ送信すべきパケット、および、被試験デバイス２００から受信するべきパケットを順次に指定する。そして、下位シーケンサ２８は、上位シーケンサ２２から順次にパケットの指定を受け、指定されたパケットを発生させるための命令列を実行して、当該パケットに含まれるデータ列を発生させる。【００６２】
各パケットには、例えば、スタートコードおよびエンドコードが含まれる。更に、各パケットには、当該パケットの種類を表わすコマンドが含まれる。このようなスタートコード、エンドコードおよびコマンドは、パケットの種類毎に共通の共通データである。従って、下位シーケンサ２８は、このような共通データを、当該共通データが格納された共通データ記憶部４０における、上位シーケンサ２２により指定されたアドレスから読み出して生成する。【００６３】
また、各パケットには、被試験デバイス２００の格納位置を指定するアドレス、被試験デバイス２００への書込データ、被試験デバイス２００からの読出データ等の実体データが含まれる。このような実体データは、パケット毎に変更される個別データである。従って、下位シーケンサ２８は、このような個別データを、当該個別データが格納された個別データ記憶部４４における、上位シーケンサ２２により指定されたアドレスから読み出して生成する。【００６４】
また、各パケットには、当該パケットに含まれるデータの誤りを検出するためのチェックコード等が含まれる。このようなチェックコード等は、当該パケットに含まれる各データに対して演算を施して算出される。従って、下位シーケンサ２８は、このようなチェックコード等を、データ処理部３２内の演算器５６により演算させて生成する。また、各パケットには、例えば８ｂ−１０ｂ変換等の所定の規則により変換されたデータが含まれていてもよい。この場合、下位シーケンサ２８は、生成したデータのそれぞれを、更に、変換部５８によりデータ変換して出力する。【００６５】
図９は、パケットシーケンスを表わす試験プログラムの一例を示す。上位シーケンサ２２は、一例として、図９に示されるような、順次に実行される複数の命令と、複数の命令のそれぞれに対応して記述されたパケットの種類およびパラメータと、対応する種類のパケットを生成するための命令列およびデータ列の格納位置を示すアドレスとが記述された試験プログラムを実行する。【００６６】
当該試験プログラムは、一例として、ＮＯＰ命令、ＩＤＸＩ命令およびＥＸＩＴ命令等を含む。ＮＯＰ命令は、当該ＮＯＰ命令に対応付けられたパケットを１回生成して、実行を次の命令に遷移させる。ＩＤＸＩ命令は、当該ＩＤＩＸ命令に対応付けられたパケットを、指定した回数分繰り返して生成して、実行を次の命令に遷移させる。ＥＸＩＴ命令は、当該ＥＸＩＴ命令に対応付けられたパケットを１回生成して、当該パケットシーケンスの実行を終了させる。当該試験プログラムは、このような命令に限らず含むことができ、例えば、指定された条件に一致したか否かに応じて次の実行すべき命令を分岐させる分岐命令等を含んでもよい。【００６７】
また、当該試験プログラムは、一例として、ライトパケット、リードパケット、および、所定のコードを繰り返して発生するアイドルパケット等を識別するパケットの種類が記述される。また、当該試験プログラムは、一例として、当該パケットを生成するための命令列が格納された先頭アドレス、当該パケットに含まれる共通データの先頭アドレスおよび当該パケットに含まれる個別データの先頭アドレスを含む。【００６８】
図１０は、アイドルパケットを生成するための命令列、および、アイドルパケットに含まれるデータ列の一例を示す。図１１は、ライトパケットを生成するための命令列およびライトパケットに含まれるデータ列の一例を示す。【００６９】
下位シーケンサ２８は、一例として、図１０および図１１に示されるような、順次に実行される複数の命令と、複数の命令のそれぞれに対応する制御データと、複数の命令のそれぞれに対応して出力するデータの格納場所を指定する情報とを含む命令列を実行する。当該命令列は、一例として、データの格納場所として、例えば、共通データ記憶部４０、個別データ記憶部４４、レジスタ５２または変換部５８を指定する。【００７０】
図１０および図１１の例においては、０ｘ０Ｆまたは０ｘ０１といった十六進数値は、データの格納場所として共通データ記憶部４０を指定する。また、ＤＢ１は、データの格納場所として第１の個別データ記憶部４４−１を指定する。ＤＢ２は、データの格納場所として第２の個別データ記憶部４４−２を指定する。ＲＥＧ１は、データの格納場所として第１のレジスタ５２−１を指定する。【００７１】
また、当該命令列は、ＮＯＰ命令、ＩＤＸＩ命令およびＲＴＮ命令等を含む。ＮＯＰ命令は、当該ＮＯＰ命令に対応付けられた格納場所における、ポインタにより指定されたアドレスに格納されたデータを１回出力して、実行を次の命令に遷移させる。ＩＤＸＩ命令は、当該ＩＤＩＸ命令に対応付けられた格納場所における、ポインタにより指定されたアドレスに格納されたデータを指定した回数分繰り返して出力して、実行を次の命令に遷移させる。ＲＴＮ命令は、当該ＲＴＮ命令に対応付けられた格納場所における、ポインタにより指定されたアドレスに格納されたデータを１回出力して、実行を上位シーケンサ２２に戻す。【００７２】
なお、下位シーケンサ２８により実行される命令列は、前方向ジャンプ命令および分岐命令等を含まないことが好ましい。これにより、下位シーケンサ２８は、簡易な構成で高速な処理を実現することができる。【００７３】
また、当該命令列は、制御データとして、演算器５６に与える演算式を含む。図１１の例においては、当該命令列は、当該第１のレジスタ５２−１のデータと出力するデータとの排他的論理和を、第１のレジスタ５２−１に書き戻す演算式（ＲＥＧ１＝ＲＥＧ１＾ＤＢ１またはＲＥＧ１＝ＲＥＧ１＾ＤＢ２）を含む。これに代えて、当該命令列は、制御データとして、変換部５８による変換処理を指定してもよい。【００７４】
図１２は、上位シーケンサ２２および下位シーケンサ２８による処理タイミングの一例を示す。上位シーケンサ２２は、一例として、メイン制御部１８からスタート信号を受けたことに応じて、パケットシーケンスの実行を開始する。上位シーケンサ２２は、パケットシーケンスに応じた順序で、パケットを指定する。そして、下位シーケンサ２８は、上位シーケンサ２２からパケットの指定を受けたことに応じて、当該パケットを発生するための命令列を実行する。【００７５】
ここで、上位シーケンサ２２は、下位シーケンサ２８によるあるパケットの命令列の実行中に（即ち、当該命令列の完了前に）、次のパケットの指定を下位シーケンサ２８に対して行ってよい。これにより、下位シーケンサ２８は、あるパケットの最後の命令（ＲＴＮ命令）を実行した直後に（例えば次のサイクルに）、次のパケットの命令列の実行を開始することができる。【００７６】
図１３は、試験装置１０の処理フローを示す。まず、上位シーケンサ２２は、試験プログラムを実行して、被試験デバイス２００との間で通信する各パケットを順次指定する（Ｓ１１、Ｓ１６）。そして、下位シーケンサ２８は、上位シーケンサ２２によるパケットの指定を受けると、ステップＳ１２からステップＳ１５の処理を繰り返して実行する。【００７７】
下位シーケンサ２８は、パケットの指定を受けると、当該パケットを発生するための命令列を、パケット命令列記憶部２４から呼び出して、先頭の命令から順次に実行する。下位シーケンサ２８は、各命令の実行毎に、ステップＳ１３及びステップＳ１４の処理を行う（Ｓ１２、Ｓ１５）。【００７８】
ステップＳ１３において、下位シーケンサ２８は、当該命令に対応するデータを出力する。また、ステップＳ１４において、下位シーケンサ２８は、当該命令に対応する、演算またはデータ変換を実行させる。下位シーケンサ２８は、ステップＳ１３およびステップＳ１４を並行して実行する。【００７９】
下位シーケンサ２８は、最後の命令を実行すると、処理を上位シーケンサ２２に戻して、上位シーケンサ２２から次のパケットの指定を受ける（Ｓ１５）。そして、上位シーケンサ２２は、パケットシーケンスにおける最後のパケットまでの処理が完了すると、当該フローを終了する（Ｓ１６）。【００８０】
以上のような本実施形態に係る試験装置１０によれば、パケットシーケンスを表わす試験プログラムと、パケット内の命令列とが、別個のシーケンサにより実行される。これにより、試験装置１０によれば、プログラムの記述を簡単にすることができる。更に、試験装置１０によれば、共通の種類のパケットを発生するための命令列およびデータを共用化することができるので、格納する情報量を少なくすることができる。【００８１】
更に、本実施形態に係る試験装置１０は、下位シーケンサ２８が実行する命令列のアドレスおよび下位シーケンサ２８が読み出すデータ列のアドレスを、上位シーケンサ２２から個別に指定する。これにより、試験装置１０によれば、同一の命令列によって、異なるデータ列を発生することができる。従って、試験装置１０によれば、同一の命令列を複数個格納しなくてよいので、格納する情報量を少なくすることができる。【００８２】
更に、本実施形態に係る試験装置１０は、共通データ記憶部４０および個別データ記憶部４４から読み出したデータに対して指定された処理（即ち、演算または変換）を、データ処理部３２が実行する。即ち、データ処理部３２は、パケット通信における下位層（物理層に近い層）の規定に応じて処理されるべきデータ変換および誤り検出符号を生成することができる。これにより、試験装置１０によれば、パケット通信における上位層のデータを出力させるための命令列およびデータ列を生成して、パケット通信における下位層における処理を別個に指定すればよいので、プログラムの記述を簡単にすることができ、更に、格納する情報量を少なくすることができる。【００８３】
更に、本実施形態に係る試験装置１０は、被試験デバイス２００へ信号を送信するための試験データ列を生成する送信側ブロック１２と、被試験デバイス２００から受信した信号と比較するための試験データ列を生成する受信側ブロック１４とを分離して、それぞれに上位シーケンサ２２および下位シーケンサ２８を有する。試験装置１０によれば、送信側および受信側のプログラムを独立に記述できるので、プログラムを簡単にすることができる。そして、試験装置１０は、送信側の下位シーケンサ２８と受信側の下位シーケンサ２８との間で通信することができる。これにより、試験装置１０によれば、例えば送信側に発生したイベントをトリガとして受信側の動作を開始したり、受信側に発生したイベントをトリガとして送信側の動作を開始したりすることが容易となる。【００８４】
なお、試験装置１０は、送信側ブロック１２および受信側ブロック１４の組を、複数備える構成であってもよい。この場合、メイン制御部１８は、送信側ブロック１２および受信側ブロック１４の組のそれぞれに別個のシーケンス（別個の試験プログラム）を与えて、互いに独立に実行させる。これにより、試験装置１０は、送信側ブロック１２および受信側ブロック１４の組のそれぞれを、互いに非同期に動作させることができる。【００８５】
また、メイン制御部１８は、送信側ブロック１２および受信側ブロック１４の組のそれぞれを、互いに同期して動作させてもよい。この場合、メイン制御部１８は、送信側ブロック１２および受信側ブロック１４の組のそれぞれに同一のシーケンス（同一の試験プログラム）を与えて、互いに同期して実行を開始させる。これにより、試験装置１０は、同一種類または異なる種類のパケット通信型インターフェイスを備えた複数の被試験デバイス２００を、並行して試験することができる。【００８６】
図１４は、送信側ブロック１２の他の構成例を示す図である。本例の送信側ブロック１２は、生成部１１、チャネル選択部３３、および、送信部３４を備える。生成部１１は、図２に関連して説明した送信側ブロック１２の構成のうち、送信部３４を除いた構成と同一であってよい。【００８７】
また、本例の送信側ブロック１２は、複数チャネルの送信部３４を備える。それぞれの送信部３４は、被試験デバイス２００の対応するピンに信号を出力する。送信部３４は、フォーマットコントローラ７４およびドライバ７６を有してよい。【００８８】
生成部１１は、図２に関連して説明したように、被試験デバイス２００との間で通信するパケットのデータ列を生成する。チャネル選択部３３は、生成部１１が生成したパケットのデータ列を、複数のチャネル（送信部３４）のうちいずれのチャネルを介して通信するかを選択する。チャネル選択部３３は、生成部１１から受け取ったパケットのデータ列を、選択した送信部３４に供給する。【００８９】
また、生成部１１は、複数チャネル用のデータ列を生成してもよい。例えば生成部１１は、Ｍビットのデータ列を生成して、各ビットを異なる送信部３４に供給することで、Ｍチャネルの送信部３４にデータ列を供給してよい。チャネル選択部３３は、データ列の各ビットを、いずれの送信部３４に供給するかを選択する。【００９０】
また、送信側ブロック１２は、複数種類のプロトコルで、被試験デバイス２００との間で通信可能であってよい。例えば送信側ブロック１２は、被試験デバイス２００の各ピンのインターフェイスに応じたプロトコルで、被試験デバイス２００と通信可能であってよい。より具体的には、送信側ブロック１２は、ＪＴＡＧ、ＳＭＢｕｓ、ＨＴ等のインターフェイスに応じたプロトコルで、被試験デバイス２００と通信可能に構成される。【００９１】
生成部１１は、複数種類のプロトコルに対応するパケットを生成する。本例の生成部１１は、プロトコルを選択して、選択したプロトコルに応じたパケットを生成する。例えば生成部１１は、当該パケットを供給すべき被試験デバイス２００のピンに対応するプロトコルを選択する。生成部１１は、使用者等から与えられる試験プログラムにより指定されるプロトコルを選択してよい。【００９２】
チャネル選択部３３は、生成部１１が選択したプロトコルに対応するチャネルを選択して、当該パケットを供給する。チャネル選択部３３は、試験プログラムにより指定されるチャネルを選択してよく、生成部１１により指定されるチャネルを選択してもよい。【００９３】
図１５は、図１４に示した送信側ブロック１２の動作例を説明する図である。本例の生成部１１は、それぞれのパケットを生成するためのデータを、プロトコル毎に異なるメモリバンクに格納するパケットライブラリを備える。パケットライブラリは、パケット命令列記憶部２４であってよい。この場合、パケット命令列記憶部２４は、それぞれのメモリバンクに、各プロトコルに対応するパケットを生成するための命令列を記憶する。【００９４】
シーケンス記憶部２０は、パケットシーケンスと、メモリバンク情報とを対応付けて記憶する。図９に関連して説明したように、パケットシーケンスは、上位シーケンサ２２が順次指定すべきパケットの順番を表わす。【００９５】
また、メモリバンク情報は、下位シーケンサ２８がパケットを読み出すべきメモリバンクを、それぞれのパケットシーケンスに対して指定する。本例では、シーケンスＡ（Ｂｕｓ  Ａ）に対してはメモリバンク１が指定され、シーケンスＢ（Ｂｕｓ  Ｂ）に対してはメモリバンク２が指定され、シーケンスＣ（Ｂｕｓ  Ｃ）に対してはメモリバンク３が指定される。なお、Ｂｕｓ  Ａ、Ｂ、Ｃは、プロトコルの種類を示す。【００９６】
上位シーケンサ２２は、シーケンス記憶部２０に記憶されたパケットシーケンスに応じて、シーケンスＡ、シーケンスＢ、シーケンスＣを順次実行する。例えばシーケンスＡを実行する場合、上位シーケンサ２２は、シーケンスＡに記述されるパケットを、下位シーケンサ２８に対して順次指定する。上位シーケンサ２２は、下位シーケンサ２８に対して、各パケットシーケンス毎に、対応するメモリバンク情報を通知する。【００９７】
下位シーケンサ２８は、上位シーケンサ２２により指定されたパケットに対応するデータ（命令列）を、パケット命令列記憶部２４における当該パケットのプロトコルに応じたメモリバンクから読み出す。下位シーケンサ２８は、上位シーケンサ２２から通知されるメモリバンク情報に応じて、パケット命令列記憶部２４のいずれかのメモリバンクから、指定されたパケットの命令列を読み出す。【００９８】
それぞれのメモリバンクにおいて、同一種類のパケットを生成するための命令列は、同一のアドレスに記憶されてよい。例えば、それぞれのメモリバンクにおいて、リードパケットを生成するための命令列は、各メモリバンクにおいて同一のアドレスに記憶されてよい。下位シーケンサ２８は、上位シーケンサ２２から指定されるメモリバンク情報およびアドレスに基づいて、パケット命令列記憶部２４から命令列を読み出してよい。【００９９】
また、パケット命令列記憶部２４は、それぞれのパケットを、いずれのチャネルを介して通信すべきかを示すチャネル情報を、それぞれのメモリバンク毎に記憶してよい。下位シーケンサ２８は、読み出した命令列を実行してパケットデータ列記憶部２６にデータ列を生成させるとともに、当該命令列に対応するチャネル情報を、チャネル選択部３３に供給する。これにより、メモリバンクが指定されることにより、チャネルも指定されることになる。【０１００】
パケットデータ列記憶部２６は、図２に関連して説明したパケットデータ列記憶部２６と同様の処理で、データ列を生成する。本例の共通データ記憶部４０、第１の個別データ記憶部４４−１、および、第２の個別データ記憶部４４−２は、パケット命令列記憶部２４と同様に、複数のメモリバンクをそれぞれ有してよい。共通データポインタ４２、第１の個別データポインタ４６−１、および、第２の個別データポインタ４６−２は、下位シーケンサ２８から指定されるアドレスおよびメモリバンク情報に基づいて、対応する記憶部のメモリバンクからデータ列を読み出してよい。【０１０１】
チャネル選択部３３は、パケットデータ列記憶部２６およびデータ処理部３２が生成したパケットデータを、チャネル情報に基づいて、複数のチャネルのうちいずれのチャネルを介して通信するかを選択する。このような構成により、複数のプロトコルについて、共通の送信側ブロック１２を用いて、被試験デバイス２００と通信することができる。シーケンス記憶部２０は、並行して実行しないプロトコルのパケットシーケンスを記憶することが好ましい。【０１０２】
図１６は、送信側ブロック１２の他の構成例を示す図である。本例の送信側ブロック１２は、複数の生成部１１（本例では２つの生成部１１）、チャネル選択部３３、および、ｎチャネルの送信部３４を備える。２つの生成部１１は並列に設けられ、チャネル選択部３３は、それぞれの生成部１１に対して、接続すべき送信部３４を選択する。【０１０３】
チャネル選択部３３は、それぞれの生成部１１に対して、いずれの送信部３４を選択するかを制御する選択テーブル３５を記憶する。下位シーケンサ２８は、パケット命令列記憶部２４から読み出したチャネル情報に基づいて、選択テーブル３５を更新してよい。【０１０４】
図１７は、送信側ブロック１２の他の構成例を示す図である。本例の送信側ブロック１２は、図１６に関連して説明した送信側ブロック１２の構成に加え、複数のシリアライザ７２および変換制御部１２８を更に備える。シリアライザ７２は、生成部１１と一対一に対応して設けられる。【０１０５】
それぞれのシリアライザ７２は、対応する生成部１１からＮビットのパラレルデータを受け取り、当該パラレルデータを、Ｍ本のシリアルデータ（ただし、ＭはＮの約数）に変換して出力する。Ｍ本のシリアルデータは、Ｍビットのパラレルデータであってもよい。【０１０６】
変換制御部１２８は、シリアライザ７２が出力するそれぞれのシリアルデータの周波数を、シリアライザ７２が出力するシリアルデータの本数に応じて変更する。例えば変換制御部１２８は、それぞれのシリアルデータの周波数を、パラレルデータの周波数のＮ／Ｍ倍に制御する。具体例として、シリアライザ７２が、３２ビット、２５０ＭＨｚのパラレルデータを受け取り、１本のシリアルデータを出力する場合、変換制御部１２８は、当該シリアルデータの周波数を、２５０ＭＨｚ×３２／１＝８ＧＨｚに制御する。【０１０７】
本例の変換制御部１２８は、８ＧＨｚで１本のシリアルデータ、４ＧＨｚで２本のシリアルデータ、・・・、５００ＭＨｚで１６本のシリアルデータ、２５０ＭＨｚで３２本のシリアルデータのいずれかの組み合わせをシリアライザ７２に出力させる。チャネル選択部３３は、それぞれのシリアライザ７２が出力するそれぞれのシリアルデータを、いずれの送信部３４に供給するかを選択する。このような構成により、試験装置１０の出力ピン数と、試験信号の周波数とを多様な組み合わせに変更することができる。【０１０８】
図１８Ａは、シリアライザ７２の動作を規定するテーブルの一例を示す。シリアライザ７２は、パラレルデータに対して１／Ｎの周期の動作タイミングで、各シリアルデータの各ビットを出力可能な回路を有する。テーブルは、シリアライザ７２に、それぞれのシリアルデータの各ビットを、いずれの動作タイミングで出力させるかを指定する。または、テーブルは、シリアライザ７２に、それぞれの動作タイミングにおいて、パラレルデータのいずれのビットを出力させるかを指定する。【０１０９】
図１８Ａに示すテーブルの各列は、シリアライザ７２に与えられるパラレルデータの１周期分のビットを示す。また、当該テーブルの各行は、シリアライザ７２がシリアルデータの各ビットを出力する動作タイミングを示す。それぞれの動作タイミングは、パラレルデータの１周期をＮ個に分割する動作タイミングを示す。本例では、Ｎ＝３２として、シリアライザ７２が、パラレルデータに対して３２倍の周波数を有するシリアルデータを１本出力する例を説明する。【０１１０】
この場合、図１８Ａに示すように、パラレルデータの各周期について、各動作タイミングでパラレルデータの各ビットを１つ（Ｓ１）ずつ順番に選択して出力するテーブルが設定される。シリアライザ７２は、パラレルデータの各周期で受け取る３２ビットのデータを、当該テーブルに応じて、パラレルデータの周期を３２分割した各動作タイミングで１ビットずつ順次出力する。これにより、シリアライザ７２は、パラレルデータに対して３２倍の周波数を有するシリアルデータを１本（Ｓ１）出力する。【０１１１】
図１８Ｂは、シリアライザ７２の動作を規定するテーブルの他例を示す。本例では、シリアライザ７２が、パラレルデータに対して１６倍の周波数を有するシリアルデータを２本出力する例を説明する。【０１１２】
この場合、図１８Ｂに示すように、１つおきの動作タイミングで、パラレルデータのビットを２つ（Ｓ１、Ｓ２）ずつ順番に選択して出力するテーブルが設定される。シリアライザ７２は、パラレルデータの各周期で受け取る３２ビットのデータを、当該テーブルに応じて、パラレルデータの周期を１６分割した各動作タイミングで２ビットずつ順次出力する。【０１１３】
なお、シリアライザ７２が出力する各ビットは、それぞれがシリアルデータに対応する。これにより、シリアライザ７２は、パラレルデータに対して１６倍の周波数を有するシリアルデータを２本（Ｓ１、Ｓ２）出力する。テーブルは、図１８Ｂに示すように、パラレルデータの各ビットを、いずれのシリアルデータ（Ｓ１、Ｓ２）のビットとして出力させるかを指定してよい。【０１１４】
図１８Ｃは、シリアライザ７２の動作を規定するテーブルの他例を示す。本例では、シリアライザ７２が、パラレルデータに対して１倍の周波数を有するシリアルデータを３２本出力する例を説明する。【０１１５】
この場合、図１８Ｃに示すように、いずれか１つの動作タイミングで、パラレルデータのビットを全て並列に出力するテーブルが設定される。シリアライザ７２は、パラレルデータの各周期で受け取る３２ビットのデータを、当該テーブルに応じて、いずれか１つの動作タイミングで全て並列に出力する。【０１１６】
これにより、シリアライザ７２は、パラレルデータに対して１倍の周波数を有するシリアルデータを３２本（Ｓ１、Ｓ２、・・・、Ｓ３２）出力する。図１８Ａから図１８Ｃに示したように、シリアライザ７２に対して、パラレルデータの各ビットを、いずれの動作タイミングで出力するかを制御することで、共通のシーケンサおよびシリアライザ７２を用いて、多様な周波数のシリアルデータを出力することができる。【０１１７】
なお、図１８Ａから図１８Ｃの例では、入力されるパラレルデータの上位側ビットから順番に、出力されるシリアルデータＳ１、Ｓ２、・・・に順番に割り当てる（または、出力されるパラレルデータの上位側ビットから順番に割り当てる）例を説明した。ただし、ビットの割り当ては、図１８Ａから図１８Ｃの例に限定されない。変換制御部１２８は、シリアライザ７２に、入力されるパラレルデータの各ビットを、出力される複数のシリアルデータのうち、いずれのシリアルデータのビットとして出力するか（または、出力されるパラレルデータのいずれのビットとして出力するか）を、テーブルを更新することで制御してよい。【０１１８】
例えば変換制御部１２８は、被試験デバイス２００のインターフェイスの仕様に応じて、シリアライザ７２に入力されるパラレルデータの各ビットを、出力側のいずれのビットとして出力させるかを変更してよい。より具体的な例としては、変換制御部１２８は、入力されるデータの最上位ビットおよび最下位ビットを入れ換えて出力してよい。【０１１９】
なお、変換制御部１２８が、シリアライザ７２が出力する各シリアルデータを、いずれの送信部３４に供給するかを制御することで、シリアライザ７２が、チャネル選択部３３として機能してもよい。この場合、図１８Ａから図１８Ｃに示したテーブルが、選択テーブル３５に相当する。【０１２０】
図１９は、受信側ブロック１４の他の構成例を示す図である。受信側ブロック１４は、生成部１３、複数チャネルの受信部８２、および、チャネル選択部３３を備える。生成部１３は、図５に関連して説明した受信側ブロック１４の構成のうち、受信部８２を除いた構成と同一であってよい。【０１２１】
それぞれの受信部８２は、被試験デバイス２００の対応するピンから信号を受け取る。受信部８２は、タイミングコンパレータ８８およびレベルコンパレータ８６を有してよい。【０１２２】
生成部１３は、図５に関連して説明したように、受信することを期待されるパケットのデータ列を生成する。チャネル選択部３３は、いずれかのチャネルを選択して、当該チャネルが受信したパケットをデータ処理部３２に供給する。【０１２３】
また、送信側ブロック１２と同様に、受信側ブロック１４も、複数種類のプロトコルに対応するデータ列を生成してよい。生成部１３は、プロトコルを選択して、選択したプロトコルに応じたパケットを生成する。生成部１３は、使用者等から与えられる試験プログラムにより指定されるプロトコルを選択してよい。【０１２４】
チャネル選択部３３は、生成部１３が選択したプロトコルに対応するチャネルを選択する。チャネル選択部３３は、試験プログラムにより指定されるチャネルを選択してよく、生成部１３により指定されるチャネルを選択してもよい。【０１２５】
また、受信側ブロック１４は、図１４から図１８Ｃに関連して説明した送信側ブロック１２と同様の構成を有してよい。例えば受信側ブロック１４は、複数の生成部１３を有してよく、複数のデシリアライザ９０を有してもよい。【０１２６】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能なことが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。【０１２７】
請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【図１】
2010067482.tif 000003
【図２】
2010067482.tif 000004
【図３】
2010067482.tif 000005
【図４】
2010067482.tif 000006
【図５】
2010067482.tif 000007
【図６】
2010067482.tif 000008
【図７】
2010067482.tif 000009
【図８】
2010067482.tif 000010
【図９】
2010067482.tif 000011
【図１０】
2010067482.tif 000012
【図１１】
2010067482.tif 000013
【図１２】
2010067482.tif 000014
【図１３】
2010067482.tif 000015
【図１４】
2010067482.tif 000016
【図１５】
2010067482.tif 000017
【図１６】
2010067482.tif 000018
【図１７】
2010067482.tif 000019
【図１８Ａ】
2010067482.tif 000020
【図１８Ｂ】
2010067482.tif 000021
【図１８Ｃ】
2010067482.tif 000022
【図１９】
2010067482.tif 000023
【手続補正書】
【提出日】平成23年3月10日(2011.3.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
被試験デバイスを試験する試験装置であって、
前記被試験デバイスとの間で信号を入出力する複数のチャネルと、
前記被試験デバイスとの間で通信するパケットのデータ列を生成する生成部と、
前記生成部が生成した前記パケットのデータ列を、前記複数のチャネルのうちいずれのチャネルを介して通信するかを選択するチャネル選択部と、
を備え、
前記生成部は、
生成する前記パケットのプロトコルを選択し、
前記被試験デバイスとの間で通信する各パケットを順次指定する上位シーケンサと、
それぞれの前記パケットを生成するためのデータを、前記パケットのプロトコル毎に異なるメモリバンクに格納するパケットライブラリと、
前記上位シーケンサにより指定されたパケットに対応するデータを、前記パケットライブラリにおける当該パケットのプロトコルに応じた前記メモリバンクから読み出す下位シーケンサと
を有し、
前記チャネル選択部は、前記生成部が前記パケットに対して選択した前記プロトコルに対応する前記チャネルを選択する試験装置。
【請求項２】
前記上位シーケンサは、いずれの前記メモリバンクのデータを用いて前記パケットを生成するかを更に指定し、
前記下位シーケンサは、前記上位シーケンサにより指定された前記メモリバンクから、前記パケットのデータ列を読み出す
請求項１に記載の試験装置。
【請求項３】
前記生成部は、前記上位シーケンサが順次指定すべき前記パケットの順番を表わすパケットシーケンスと、前記下位シーケンサが前記パケットを読み出すべき前記メモリバンクを、それぞれの前記パケットシーケンスに対して指定するメモリバンク情報とを対応付けて記憶するシーケンス記憶部を更に有し、
前記上位シーケンサは、前記メモリバンク情報に基づいて、前記下位シーケンサがデータを読み出すべき前記メモリバンクを、それぞれの前記パケットシーケンス毎に指定する
請求項２に記載の試験装置。
【請求項４】
前記パケットライブラリは、それぞれの前記パケットを、いずれの前記チャネルを介して通信すべきかを示すチャネル情報を、それぞれの前記メモリバンク毎に記憶し、
前記チャネル選択部は、前記チャネル情報に基づいて、前記複数のチャネルのうちいずれのチャネルを介して通信するかを選択する
請求項３に記載の試験装置。
【請求項５】
前記生成部を並列に複数備え、前記チャネル選択部は、それぞれの前記生成部に対して前記チャネルを選択する
請求項４に記載の試験装置。
【請求項６】
前記チャネル選択部は、それぞれの前記生成部に対して、いずれの前記チャネルを選択するかを制御するテーブルを記憶し、
前記下位シーケンサは、前記パケットライブラリから読み出した前記チャネル情報に基づいて前記テーブルを更新する
請求項５に記載の試験装置。
【請求項７】
試験装置により被試験デバイスを試験する試験方法であって、
前記試験装置は、
前記被試験デバイスとの間で信号を入出力する複数のチャネルと、
前記被試験デバイスとの間で通信するパケットのデータ列を生成する生成部と
を備え、
前記生成部は、
生成する前記パケットのプロトコルを選択し、
前記被試験デバイスとの間で通信する各パケットを順次指定する上位シーケンサと、
それぞれの前記パケットを生成するためのデータを、前記パケットのプロトコル毎に異なるメモリバンクに格納するパケットライブラリと、
前記上位シーケンサにより指定されたパケットに対応するデータを、前記パケットライブラリにおける当該パケットのプロトコルに応じた前記メモリバンクから読み出す下位シーケンサと
を有し、
前記生成部が生成した前記パケットのデータ列を、前記複数のチャネルのうち、前記生成部が前記パケットに対して選択した前記プロトコルに対応するチャネルを介して通信することを選択する、試験方法。
【国際調査報告】
2010067482.tif 000024
2010067482.tif 000025