以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、試験装置100の機能構成を複数の被試験デバイス(DUT)10とともに示す。試験装置100は、少なくとも1つの被試験デバイス10を試験する。即ち、試験装置100は、1つの被試験デバイス10を試験するものであっても、複数の被試験デバイス10を並行して試験するものであってもよい。
試験装置100は、システム制御部110と、複数の試験モジュール120と、複数のサイト制御部130と、バス140とを備える。システム制御部110は、複数のサイト制御部130と接続され、当該試験装置100の全体を制御する。システム制御部110と複数のサイト制御部130との間は、一例として、汎用または専用の高速シリアルバス等により接続される。
それぞれのサイト制御部130は、1または複数の被試験デバイス10に対応付けられる。それぞれのサイト制御部130は、対応する被試験デバイス10に接続された1または複数の試験モジュール120を制御して、対応する被試験デバイス10の試験を制御する。
それぞれのサイト制御部130は、システム制御部110から与えられる制御命令および試験プログラム等に応じて、対応する試験モジュール120を制御する。即ち、それぞれのサイト制御部130は、1または複数の試験部210をリソースとして用いて、対応する被試験デバイス10の試験を制御する。バス140は、サイト制御部130および1または複数の試験モジュール120の間を接続する。
なお、サイト制御部130は、試験モジュール120に含まれる試験部210毎に、試験モジュール120を制御してもよい。例えば、1つの試験モジュール120に含まれる試験部210の一部が第1の被試験デバイス10に接続され、他の試験部210が第2の被試験デバイス10に接続される場合、第1のサイト制御部130が、第1の被試験デバイス10に対応する試験部210を制御し、第2のサイト制御部130が、第2の被試験デバイス10に対応する試験部210を制御してよい。つまり、1つの試験モジュール120に含まれる複数の試験部210は、グループ毎に異なるサイト制御部130により制御されてよい。
試験モジュール120は、対応する被試験デバイス10との間で信号を伝送する。それぞれの試験モジュール120は、複数の試験部210を有する。それぞれの試験部210は、当該試験装置100の試験対象である全ての被試験デバイス10のうちのいずれか1つの被試験デバイス10の端子に接続される。そして、複数の試験部210のそれぞれは、接続された被試験デバイス10との間で信号を伝送して当該被試験デバイス10を試験する。
例えば試験モジュール120は、所定の論理パターンを有する試験信号を被試験デバイス10に供給し、当該試験信号に応じた被試験デバイス10の動作結果を示す信号を受け取ってよい。なお、それぞれの試験モジュール120は、1つずつ異なる基板に設けられてよい。同一の試験モジュール120に設けられる複数の試験部210は、共通のインターフェイスを介してバス140と接続される。
ここで、当該インターフェイスは、対応するそれぞれの試験部210が、いずれのサイト制御部130による制御を受けるかを、試験部210毎に独立に設定することができる。例えば当該インターフェイスは、バス140から受け取る命令を、複数の試験部210のうち、当該命令において指定される試験部210に対してのみ通知してよい。
このように試験装置100は、一の試験モジュール120が有する複数の試験部210が制御を受けるサイト制御部130を、それぞれ独立に任意に設定することができる。これにより、試験装置100によれば、試験モジュール120内のリソースを効率良く用いて試験することができる。
それぞれのサイト制御部130は、試験制御部132および制御インターフェイス部134を有する。試験制御部132は、被試験デバイス10の試験を制御するためのプログラムを実行し、実行結果に応じた命令を発行する。試験制御部132は、当該命令を通知すべき試験モジュール120を指定する情報を含む命令を発行する。
例えば試験制御部132は、被試験デバイス10を指定する情報を含む命令を発行してよい。それぞれの試験モジュール120のインターフェイスは、自己に属する試験部210が、当該命令において指定される被試験デバイス10に接続している場合に、当該命令が自己を指定していると判定してよい。
また、試験制御部132は、当該命令を通知すべき試験部210を指定する情報を含む命令を発行してもよい。それぞれの試験モジュール120のインターフェイスは、自己に属する試験部210が、当該命令において指定される場合に、当該命令が自己を指定していると判定してよい。それぞれの試験モジュール120は、当該命令を、指定される試験部210に通知する。
試験制御部132は、データを読み出すリード命令、データを書き込むライト命令、および、その他の命令を発行してよい。試験制御部132は、プロセッサ、メモリ等を有してよい。
制御インターフェイス部134は、試験制御部132の制御に応じてサイト制御部130およびバス140の間の通信を処理する。例えば、制御インターフェイス部134は、試験制御部132から受け取った命令を、当該命令に対応する試験モジュール120に送信してよく、全ての試験モジュール120に送信してもよい。また、制御インターフェイス部134は、それぞれの試験モジュール120から受けとったデータを、試験制御部132に送信する。
また、試験制御部132は、試験モジュール120が格納したデータを、2以上の試験モジュール120について一括して読み出すグループリード命令を発行する。試験制御部132は、当該グループリード命令において、試験モジュール120を指定してよく、試験部210を指定してよく、また、被試験デバイス10を指定してもよい。
制御インターフェイス部134は、当該グループリード命令に対応する試験モジュール120からデータを読み出す。例えば制御インターフェイス部134は、バス140に接続された全ての試験モジュール120に、当該グループリード命令を通知してよい。それぞれの試験モジュール120は、受け取ったグループリード命令において自己が指定されている場合に、当該グループリード命令を、対応する試験部210に通知する。
グループリード命令で指定された試験モジュール120は、グループリード命令で指定されるアドレス、レジスタ等に格納したデータを、バス140に出力する。このとき、試験モジュール120は、当該グループリード命令に対する応答データである旨を示す情報を、当該応答データに添付する。例えば試験モジュール120は、当該グループリード命令を、他の命令から識別する識別情報を、当該応答データに添付してよい。
当該応答データは、例えばそれぞれの試験モジュール120が待ち状態であるか否か等のような、試験モジュール120の状態を示すデータであってよい。また、当該応答データは、被試験デバイス10の良否判定結果等のような、試験結果を示すデータであってもよい。
それぞれの制御インターフェイス部134は、バス140を介して、試験モジュール120の応答データを受け取る。そして、自己が送信したグループリード命令に対応する応答データ以外の応答データを廃棄してよい。制御インターフェイス部134は、当該グループリード命令で指定される全ての試験モジュール120から応答データを受け取った場合に、これらの応答データを一括して試験制御部132に通知する。制御インターフェイス部134は、これらの応答データの論理和または論理積を試験制御部132に通知してよい。
このような構成により、試験制御部132は、2以上の試験モジュール120を一括して指定し、一括してデータを読み出すことができる。このため、試験モジュール120の状態、試験結果等を効率よく取得することができる。
試験制御部132は、一括して読み出した応答データに基づいて、複数の試験モジュール120を制御してよい。例えば試験制御部132は、指定した試験モジュール120が全て待ち状態となった場合に、これらの試験モジュール120に、次の試験を開始させるトリガ信号を供給してよい。また、試験制御部132は、指定した試験モジュール120における試験結果に応じた試験項目を、各試験モジュール120に実行させてよい。
図2は、試験制御部132の動作例を示す図である。本例では、試験制御部132が、試験モジュール120を1つずつ指定してデータを読み出すシングルリード命令を発行する場合と、上述したグループリード命令を発行する場合とを説明する。図2において記号Cは、試験制御部132がリード命令を発行する期間を示し、記号Dは、試験制御部132が応答データを受信する期間を示し、記号Pは、試験制御部132においてデータを処理する期間を示す。
シングルリード命令により複数の試験モジュール120からデータを読み出す場合、試験制御部132は、1つの試験モジュール120から応答データを受信してから、次の試験モジュール120に対するシングルリード命令を発行する。このため、試験モジュール120の個数に比例して、シングルリード命令の実行時間が長くなってしまう。
これに対し、グループリード命令により複数の試験モジュール120からデータを読み出す場合、試験制御部132は、複数の試験モジュール120を一括して指定するグループリード命令を発行する。そして、制御インターフェイス部134に蓄積された応答データを一括して受け取る。このため、シングルリード命令よりも短い時間で、複数の試験モジュール120からデータを読み出すことができる。
図3は、制御インターフェイス部134の一部の構成例を示す図である。本例では、制御インターフェイス部134の構成のうち、グループリード命令に応じて読み出した応答データを処理する構成を説明し、他の構成の説明は省略する。本例の制御インターフェイス部134は、カウンタ135およびデータ記憶部136を有する。
カウンタ135およびデータ記憶部136は、バス140からグループリード命令に対応する応答データを受け取る。カウンタ135は、受け取った応答データの個数を計数する。また、カウンタ135には、対応する試験制御部132が発行したグループリード命令により読み出されるべきデータの個数の期待値が予め設定される。
例えば、応答データを試験モジュール120毎に受け取る場合、カウンタ135には、グループリード命令により指定される試験モジュール120の数が、当該期待値として設定される。また、応答データを試験部210毎に受け取る場合、カウンタ135には、グループリード命令により指定される試験部210の数が、当該期待値として設定される。カウンタ135は、計数値が期待値と一致した場合に、計数値をリセットするとともに、その旨をデータ記憶部136に通知する。
データ記憶部136は、受け取った応答データを蓄積する。また、データ記憶部136は、カウンタ135の計数値が期待値と一致した旨の通知を受けた場合に、蓄積した応答データを一括して試験制御部132に送信する。このとき、データ記憶部136は、送信した応答データを、記憶領域から削除する。
このような構成により、試験制御部132は、複数の試験モジュール120または複数の試験部210の応答データを、一括して読み出すことができる。また、対応するグループリード命令に対応して受け取った応答データの個数を計数することで、制御インターフェイス部134は、応答データがいずれの試験モジュール120からのデータであるかを認識せずに、指定した複数の試験モジュール120からのデータ読み出しが完了したことを検出することができる。
図4は、制御インターフェイス部134の一部の他の構成例を示す図である。本例の制御インターフェイス部134は、図3に示した制御インターフェイス部134の構成に加え、論理演算部137を更に備える。本例の制御インターフェイス部134は、それぞれの試験モジュール120から受け取った応答データの論理和または論理積を試験制御部132に通知する。カウンタ135は、図3に関連して説明したカウンタ135と同一の機能を有する。
論理演算部137は、それぞれの試験モジュール120から応答データを受け取る毎に、既に受け取っているデータとの論理和または論理積を演算する。例えば、試験制御部132は、それぞれの試験モジュール120が待ち状態のときに論理値1を示す応答データを読み出す命令を発行してよい。試験制御部132は、指定した全ての試験モジュール120が待ち状態になったか否かを判定してよい。この場合、論理演算部137は、それぞれの応答データの論理積を演算する。
また、試験制御部132は、被試験デバイス10の試験結果がフェイルのときに論理値1を示す応答データを読み出す命令を発行してよい。試験制御部132は、指定した試験モジュール120のうちの少なくとも1つにおいて、被試験デバイス10のフェイルが検出されたか否かを判定してよい。この場合、論理演算部137は、それぞれの応答データの論理和を演算する。
データ記憶部136は、論理演算部137の演算結果を記憶する。そして、論理演算部137は、新たな応答データを受け取る毎に、データ記憶部136からデータを読み出して、当該応答データと論理演算し、演算結果をデータ記憶部136に格納する。
カウンタ135は、計数値が期待値と一致した場合に、データ記憶部136が記憶しているデータ値を、試験制御部132に送信させる。データを送信した後、データ記憶部136は、格納データを初期値に設定してよい。
このような構成により、複数の試験モジュール120からの応答データを、少ない伝送量で試験制御部132に送信できる。また、試験制御部132において実行されるべき論理演算を、制御インターフェイス部134において実行するので、試験制御部132の処理負荷を低減することができる。
図5は、試験部210および被試験デバイス10の接続例を示す図である。本例において、第1の試験モジュール120−1は、第1の被試験デバイス10−1との間で信号を伝送する1以上の第1の試験部210−1と、第2の被試験デバイス10−2との間で信号を伝送する1以上の第2の試験部210−2とを有する。
試験制御部132が、いずれかの被試験デバイス10を指定したグループリード命令を出力する場合、それぞれの試験モジュール120は、当該グループリード命令で指定される被試験デバイス10に対応する1以上の試験部210が格納したデータを一括して送信する。例えば、第2の被試験デバイス10−2を指定したグループリード命令を受け取った場合、第1の試験モジュール120−1は、複数の試験部210のうち、第2の試験部210−2が格納したデータを一括して送信する。
ここで、一括して送信とは、各試験部210が格納したデータの論理和または論理積を送信する処理を指してよい。それぞれの試験モジュール120は、グループリード命令において指定された試験部210から読み出したデータの論理和または論理積をバス140に送信する論理演算部122を有してよい。このように、試験モジュール120の内部において、複数の試験部210の応答データの論理和または論理積を演算することで、サイト制御部130における処理負荷を低減することができる。
図6は、試験制御部132の他の動作例を説明する。本例では、ポスティッドリード命令を発行する場合の試験制御部132の動作を説明する。ポスティッド命令とは、いずれかの試験モジュール120を指定して応答データを読み出す個別リード命令を、それぞれの試験モジュール120からの応答データの読み出しの完了を待たずに、複数の試験モジュール120に対して連続して出力する命令を指す。
図6に示すように、シングルリード命令を実行する場合、それぞれの試験モジュール120からの応答データDの読み出し完了を待って、次の試験モジュール120を指定した個別リード命令Cを発行する。これに対し、ポスティッドリード命令では、試験制御部132は、それぞれの試験モジュール120を指定する個別リード命令を、連続してバス140に出力する。
制御インターフェイス部134は、それぞれの個別リード命令に応じた応答データを順次する。このとき、制御インターフェイス部134は、ポスティッドリード命令で順次指定された複数の試験モジュール120の全てから応答データを受信するまで、試験制御部132に応答データを送信しなくともよい。制御インターフェイス部134は、指定された全ての試験モジュール120から応答データを受信した場合に、これらの応答データを一括して試験制御部132に送信してよい。
制御インターフェイス部134は、図3または図4に関連して説明したいずれかの構成を用いて、応答データを処理してよい。例えば、カウンタ135には、ポスティッドリード命令により指定される試験モジュール120の個数が期待値として設定される。
カウンタ135は、ポスティッドリード命令に応じて試験モジュール120から受け取ったデータの個数が、設定された期待値と一致した場合に、試験モジュール120から受け取ったデータを一括して試験制御部132に送信する。このような制御により、試験制御部132は、個別の応答データの受信を待たずに試験プログラムを実行できる。
図7は、試験モジュール120の構成例を示す図である。試験モジュール120は、複数の試験部210、モジュール制御部220、および、モジュールインターフェイス部230を有する。
モジュール制御部220は、複数の試験部210のそれぞれを、複数のサイト制御部130のうち、いずれの被試験デバイス10(またはサイト制御部130)に対応付けるかの設定を記憶する。本例においては、モジュール制御部220は、複数の試験部210のそれぞれについて、対応付けられた被試験デバイス10を識別する識別番号を記憶する。
また、モジュール制御部220は、それぞれの試験部210を制御する制御データを記憶する。このようなデータおよび設定は、試験に先立って例えば試験制御部132により書き込まれる。
モジュールインターフェイス部230は、複数の試験部210に接続される。さらに、モジュールインターフェイス部230は、バス140を介して複数のサイト制御部130との間で、リード命令、応答データ等を送受信する。
モジュールインターフェイス部230は、いずれかの被試験デバイス10を指定したグループリード命令を受け取った場合、それぞれの試験部210が、当該被試験デバイス10に対応するか否かを、モジュール制御部220に問い合わせる。当該被試験デバイス10に対応する試験部210が存在する場合、モジュールインターフェイス部230は、当該試験部210に当該グループリード命令を送信する。
また、それぞれの試験モジュール120は、試験制御部132を介さずに、他の試験モジュール120との間で信号を伝送してよい。この場合、モジュール制御部220が、他の試験モジュール120のモジュール制御部220との間で信号を伝送する。
より具体的には、モジュール制御部220は、他の試験モジュール120を指定した信号を、バス140に送信する。他の試験モジュール120のモジュール制御部220は、バス140を介して、当該信号を受け取ってよい。
また、それぞれのモジュール制御部220は、対応する試験部210と、他の試験モジュール120における試験部210とを同期して動作させるべく、同期パケットをバス140に送信してよい。より具体的には、それぞれのモジュール制御部220は、対応する試験部210が所定の待ち状態となった場合に、同期パケットを生成する。
制御インターフェイス部134は、受け取った同期パケットを、バス140を介して、全ての試験モジュール120に送信してよい。なお、制御インターフェイス部134は、モジュール制御部220から受け取った同期パケットを、同一のサイト制御部130に対応する全ての試験モジュール120に送信してよい。
図8は、試験モジュール120間で同期パケットを伝送する場合の、パケット伝送経路の一例を示す。一つの試験モジュール120が送信した同期パケットは、バス140を介して、対応する制御インターフェイス部134に受信される。つまり、モジュール制御部220は、対応するサイト制御部130に、同期パケットを送信する。
制御インターフェイス部134は、受信した信号が同期パケットの場合に、対応する全ての試験モジュール120を指定して、当該同期パケットをバス140に送信する。それぞれのモジュール制御部220は、システム制御部110等により予め設定される所定の個数の同期パケットを、バス140から受信した場合に、同期して動作すべき全ての試験モジュール120が待ち状態となったと判定する。
なお、各モジュール制御部220は、自己が送信した同期パケットも受け取る。このため、受信すべき同期パケットの個数として、自己を含む試験モジュール120の個数が、それぞれのモジュール制御部220に設定される。
そして、モジュール制御部220は、対応する試験部210に対して、次の試験項目を実行させる。より具体的には、それぞれのモジュール制御部220は、所定の個数の同期パケットを受け取った場合に、次に生成すべき試験信号を試験部210に生成させ、被試験デバイス10に供給させる。
このような制御により、それぞれの試験項目の実行時間が、それぞれの試験モジュール120で異なる場合であっても、複数の試験モジュール120を試験項目毎に同期して動作させることができる。また、同期動作において、試験制御部132を介さないので、試験制御部132の処理負荷を低減することができる。
図9は、試験部210の構成の一例を示す。なお、試験部210は、このような構成に限らず、他の構成であってもよい。試験部210は、一例として、送信側ブロック12と、受信側ブロック14とを備える。試験部210は、送信側ブロック12または受信側ブロック14の一方のみを備える構成であってもよい。
送信側ブロック12は、パケットリストにより指定された順序でパケットを被試験デバイス10に送信する。受信側ブロック14は、被試験デバイス10からパケットを受信して、パケットリストに指定されたパケットと受信したパケットと比較して、被試験デバイス10の良否を判定する。
まず、送信側ブロック12について説明する。送信側ブロック12は、パケットリスト記憶部20と、パケットリスト処理部22と、パケット命令列記憶部24と、パケットデータ列記憶部26と、下位シーケンサ28と、データ処理部32と、データ変換部34と、送信部36とを含む。パケットリスト記憶部20は、供給された複数のパケットリストを記憶する。
パケットリスト処理部22は、パケットリスト記憶部20に記憶された複数のパケットリストのうち外部から指定されたパケットリストを実行して、被試験デバイス10と通信する各パケットを順次指定する。パケットリスト処理部22は、一例として、外部から受信したアドレスからパケットリストを実行して、被試験デバイス10に送信するパケットを順次指定する。
パケットリスト処理部22は、一例として、指定したパケットを発生するための命令列が記憶されたパケット命令列記憶部24上のアドレスを指定する。更に、パケットリスト処理部22は、一例として、被試験デバイス10との間で通信するパケットについて、パケットデータ列記憶部26内における当該パケットに含まれるデータ列のアドレス(例えばデータ列の先頭アドレス)を指定する。
このようにパケットリスト処理部22は、パケットを発生させるための命令列のアドレスと、当該パケットに含まれるデータ列のアドレスを個別に指定する。なお、この場合において、パケットリスト中において、2以上のパケットに対して共通する命令列またはデータ列が指定されている場合に、パケットリスト処理部22は、当該2以上のパケットについて同一の命令列のアドレスまたは同一のデータ列のアドレスを指定してもよい。
パケット命令列記憶部24は、複数種類のパケットのそれぞれを発生するための命令列を、パケットの種類毎に記憶する。パケット命令列記憶部24は、一例として、ライトパケットを発生するための命令列、リードパケットを発生するための命令列、および、アイドルパケットを発生するための命令列等を記憶する。
パケットデータ列記憶部26は、複数種類のパケットのそれぞれに含まれるデータ列を、パケットの種類毎に記憶する。パケットデータ列記憶部26は、一例として、ライトパケットに含まれるデータ列、リードパケットに含まれるデータ列、および、アイドルパケットに含まれるデータ列等を含んでよい。また、パケットデータ列記憶部26は、一例として、パケット毎に変更される個別データ、および、パケットの種類毎に共通の共通データを別個の記憶領域に区別して記憶してもよい。
更に、送信側のパケットデータ列記憶部26は、受信側ブロック14内のデータ変換部34から、受信側ブロック14内の受信部82が受信したパケットに含まれる受信データを受け取る。そして、送信側のパケットデータ列記憶部26は、受信側ブロック14内の受信部82が受信したパケットに含まれる受信データを記憶する。
下位シーケンサ28は、パケットリスト処理部22により指定されたパケットの命令列、即ち、パケットリスト処理部22によりアドレスが指定された命令列をパケット命令列記憶部24から読み出して、読み出した命令列に含まれる各命令を順次に実行する。更に、下位シーケンサ28は、パケットリスト処理部22により指定されたパケットのデータ列、即ち、パケットリスト処理部22によりアドレスが指定されたデータ列を、命令列の実行に従って順次にパケットデータ列記憶部26から出力させて、被試験デバイス10との間の試験に用いる試験データ列を生成する。
また、下位シーケンサ28は、命令の実行毎に、読み出した個別データおよび共通データに対して指定した処理(演算またはデータ変換)を施すことを指示する制御データをデータ処理部32およびデータ変換部34に与える。これにより、下位シーケンサ28は、パケットリスト処理部22により指定されたパケット中における、指定されたデータ部分を、読み出したデータに対して指定した処理を施したデータとすることができる。
また、下位シーケンサ28は、パケットリスト処理部22により指定されたパケットの命令列の実行が完了したことに応じて、終了通知をパケットリスト処理部22に与えてよい。これにより、パケットリスト処理部22は、下位シーケンサ28による命令列の実行の進行に応じて、順次にパケットを指定することができる。
また、送信側ブロック12が有する送信側の下位シーケンサ28は、送信部36に対して、被試験デバイス10に対して送信する信号のエッジタイミングを指定する。下位シーケンサ28は、一例として、送信部36に対してタイミング信号を与えて、パケット毎にエッジタイミングを制御する。
また、送信側の下位シーケンサ28は、受信側ブロック14が有する受信側の下位シーケンサ28と通信を行う。これにより、送信側の下位シーケンサ28は、受信側の下位シーケンサ28とハンドシェイクを行って、受信側の下位シーケンサ28と同期して命令列を実行することができる。
送信側の下位シーケンサ28は、一例として、予め指定されたパケットの試験データ列を被試験デバイス10に送信したことを受信側の下位シーケンサ28に通知する。これにより、送信側の下位シーケンサ28は、受信側の下位シーケンサ28に、送信側の下位シーケンサ28からの通知を受けるまでの間、受信したデータ列の良否判定を禁止させることができる。
また、送信側の下位シーケンサ28は、一例として、受信側の下位シーケンサ28から、生成した試験データ列と一致するデータ列を受信したことの通知を受けて、予め指定されたパケットの試験データ列を生成する。これにより、送信側の下位シーケンサ28は、所定のパケットを被試験デバイス10から受信した後に、予め指定されたパケットを被試験デバイス10に送信することができる。
データ処理部32は、パケットデータ列記憶部26からパケットリスト処理部22により指定されたパケットのデータ列を読み出して、被試験デバイス10の試験に用いる試験データ列を生成する。この場合において、送信側のデータ処理部32は、被試験デバイス10に対して送信するパケットに応じた試験データ列中に、受信側ブロック14内の受信部82が受信したパケットに含まれる受信データに応じた値を含めてよい。
例えば、送信側のデータ処理部32は、送信側のパケットデータ列記憶部26からデータを読み出して、被試験デバイス10に対して送信するパケットのデータ列における予め指定された部分を受信データに応じた値(例えば受信データそのままの値または受信データに何らかの処理を施した値)とした試験データ列を生成する。このような送信側のデータ処理部32は、被試験デバイス10から受信したパケットに含まれていた受信データに応じた値を、パケットに含めて送信することができる。
データ変換部34は、下位シーケンサ28から指定されたタイミングにおいて、データ処理部32から出力した試験データ列をデータ変換する。データ変換部34は、一例として、試験データ列に対して予め設定されたテーブル等により8b−10b変換等を行う。更に、データ変換部34は、一例として、試験データ列に対してスクランブル処理を行ってもよい。そして、データ変換部34は、変換したデータ列を出力する。送信部36は、データ変換部34が生成した試験データ列を、被試験デバイス10に対して送信する。
つぎに、受信側ブロック14について説明する。受信側ブロック14は、送信側ブロック12と略同一の構成および機能を有するので、受信側ブロック14については、送信側ブロック12の相違点について説明をする。
受信側ブロック14は、パケットリスト記憶部20と、パケットリスト処理部22と、パケット命令列記憶部24と、パケットデータ列記憶部26と、下位シーケンサ28と、データ処理部32と、データ変換部34と、受信部82と、判定部84とを含む。受信部82は、被試験デバイス10からパケットのデータ列を受信する。
受信側のデータ変換部34は、受信側の下位シーケンサ28から指定されたタイミングにおいて、受信部82により受信されたデータ列をデータ変換する。受信側のデータ変換部34は、一例として、受信したデータ列に対して予め設定されたテーブル等により8b−10b変換等を行う。更に、受信側のデータ変換部34は、一例として、受信したデータ列に対してデスクランブル処理を行ってもよい。
そして、受信側のデータ変換部34は、変換したデータ列を判定部84へ供給する。また、受信側のデータ変換部34は、変換したデータ列を、受信側のパケットデータ列記憶部26または送信側のパケットデータ列記憶部26の少なくとも一方に供給してもよい。
受信側のパケットリスト処理部22は、外部から指定されたパケットリストを実行して、被試験デバイス10から受信されると期待されるパケットを順次指定する。また、受信側のデータ処理部32は、生成した試験データ列を判定部84に供給する。
受信側の下位シーケンサ28は、被試験デバイス10から出力が期待されるパケットのデータ列を、試験データ列として受信側のパケットデータ列記憶部26から出力させる。また、受信側の下位シーケンサ28は、受信部82に対して、被試験デバイス10から出力された信号のデータ値を取り込むストローブタイミングを指定する。
判定部84は、受信側のデータ処理部32から試験データ列を受け取るとともに、受信側のデータ変換部34から受信したデータ列を受け取る。判定部84は、受信したデータ列を試験データ列と比較した結果に基づいて、被試験デバイス10との間の通信の良否を判定する。判定部84は、一例として、受信部82が受信したデータ列と試験データ列とが一致するか否かを比較する論理比較部と、比較結果を記憶するフェイルメモリとを含む。また、判定部84は、一例として、受信部82が受信したデータ列が指定されたデータ列と一致したことを受信側の下位シーケンサ28に通知してもよい。
また、受信側の下位シーケンサ28は、送信側の下位シーケンサ28と通信を行う。これにより、受信側の下位シーケンサ28は、送信側の下位シーケンサ28とハンドシェイクを行って、送信側の下位シーケンサ28と同期して命令列を実行することができる。
受信側の下位シーケンサ28は、一例として、当該受信側の下位シーケンサ28が生成した試験データ列と一致するデータ列を受信したことを送信側の下位シーケンサ28に通知する。これにより、送信側の下位シーケンサ28は、受信側の下位シーケンサ28から、生成した試験データ列と一致するデータ列を受信したことの通知を受けて、予め指定されたパケットの試験データ列を生成することができる。
また、受信側の下位シーケンサ28は、一例として、送信側の下位シーケンサ28から、予め指定されたパケットの試験データ列を被試験デバイス10に送信したことの通知を受けるまでの間、判定部84による受信部82が受信したデータ列の良否判定を禁止する。これにより、受信側の下位シーケンサ28は、所定のパケットを被試験デバイス10へ送信した後に、当該所定のパケットに応じた応答が被試験デバイス10から出力されたか否かを判定することができる。
受信側のパケットデータ列記憶部26は、受信側ブロック14側のデータ変換部34から受信部82が受信したパケットに含まれる受信データを受け取る。そして、受信側のパケットデータ列記憶部26は、受信部82が受信したパケットに含まれる受信データを記憶する。
更に、受信側のデータ処理部32は、被試験デバイス10から出力が期待されるパケットに含まれる試験データ列に、受信部82が既に受信したパケットに含まれる受信データに応じた値を含める。例えば、受信側のデータ処理部32は、受信側のパケットデータ列記憶部26からデータを読み出して、被試験デバイス10からの受信を期待するパケットのデータ列における予め指定された部分を、受信データに応じた値(例えば受信データそのままの値又は何らかの処理を施した値)とした試験データ列を生成する。
例えば、受信側のデータ処理部32は、被試験デバイス10から受信すべき第2のパケットに応じた試験データ列中に、受信部82が既に受信した第1のパケットに含まれる受信データに応じた値を含めてよい。これにより、受信側のデータ処理部32によれば、例えば、被試験デバイス10から受信したパケットに含まれるID等を参照して、次以降のパケットに含まれるべきIDが正しいか否かを判定することができる。
以上のように、本実施形態に係る試験装置100によれば、受信したパケットに含まれる受信データに応じた値を次以降のパケット内に含める処理を、被試験デバイス10に比較的に近い位置で行うことができる。これにより、試験装置100によれば、被試験デバイス10とのやり取りの応答を高速にすることができる。
また、試験装置100は、比較的に動作周波数の高い演算処理ユニット等により実現されたデータ処理部32を備えることが好ましい。これにより、試験装置100は、受信したパケットに含まれるデータから、次以降のパケットに含めるデータを生成する処理を高速に行うことができる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。