(57)【要約】【課題】パターンリストを切り替えを効率よく実行する試験装置を提供する。【解決手段】被試験デバイスに出力すべき試験パターンを所定の順序で指定するパターンリストを複数格納するパターンリスト記憶部と、被試験デバイスの試験結果に応じたパターンリストを順次実行して試験パターンを順次出力し、且つ、それぞれのパターンリストから次のパターンリストに移行する場合に、当該次のパターンリストの実行が開始されるまで、所定のアイドルパターンを繰り返し出力するパターンリスト処理部とを備える試験装置を提供する。【選択図】図２
2011059110.tif 000002
【特許請求の範囲】
【請求項１】
被試験デバイスを試験する試験装置であって、
前記被試験デバイスに出力すべき試験パターンを所定の順序で指定するパターンリストを複数格納するパターンリスト記憶部と、
前記被試験デバイスの試験結果に応じた前記パターンリストを順次実行して前記試験パターンを順次出力し、且つ、それぞれの前記パターンリストから次の前記パターンリストに移行する場合に、当該次のパターンリストの実行が開始されるまで、所定のアイドルパターンを繰り返し出力するパターンリスト処理部と
を備える試験装置。
【請求項２】
それぞれの前記パターンリストは、
所定の条件を満たすまで所定のアイドルパターンを繰り返して出力するウェイト命令と、
前記ウェイト命令を抜けた後に、当該パターンリストの次に実行すべき前記パターンリストを指定するジャンプ命令と
を含み、
前記試験装置は、それぞれの前記パターンリストに含まれる前記ジャンプ命令が指定するジャンプ先を、当該パターンリストの実行を開始した後に指定する制御部を更に備える
請求項１に記載の試験装置。
【請求項３】
前記パターンリスト記憶部は、前記ウェイト命令および前記ジャンプ命令を末尾に有する前記パターンリストを記憶する
請求項２に記載の試験装置。
【請求項４】
前記パターンリスト処理部は、前記被試験デバイスの試験結果が前記所定の条件を満たした場合に、前記ウェイト命令の実行を終了して、前記ジャンプ命令を実行し、
前記制御部は、前記被試験デバイスの試験結果に応じた前記パターンリストを、前記ジャンプ命令におけるジャンプ先として指定する
請求項３に記載の試験装置。
【請求項５】
前記制御部は、前記パターンリスト処理部が前記ウェイト命令を繰返し実行している間に、対応する前記ジャンプ命令のジャンプ先を指定する
請求項４に記載の試験装置。
【請求項６】
前記ジャンプ命令のジャンプ先のアドレスを記憶するレジスタを更に備え、
前記制御部は、前記レジスタに前記アドレスを書き込む
請求項５に記載の試験装置。
【請求項７】
前記パターンリスト記憶部は、前記ウェイト命令および前記ジャンプ命令を含む命令コードと、前記試験パターンを指定するオペランドとが対応付けられ、前記命令コードを実行することで、前記試験パターンを出力する順番を指定する前記パターンリストを記憶し、
前記パターンリスト処理部は、実行すべき前記命令コードよりも先の前記命令コードおよび対応する前記試験パターンを予め先読み処理して前記試験パターンを順次出力し、且つ、前記ウェイト命令を前記先読み処理により検出した場合に、前記先読み処理を停止する
請求項３に記載の試験装置。
【請求項８】
前記パターンリスト処理部は、前記ジャンプ命令を実行した後に、前記先読み処理を再開する
請求項７に記載の試験装置。
【請求項９】
前記パターンリスト処理部は、前記アイドルパターンとして、前記ウェイト命令の直前に出力した所定数の前記試験パターンを繰り返し出力する
請求項３に記載の試験装置。
【請求項１０】
前記ウェイト命令は、指定される値に応じて前記所定数を変更する
請求項９に記載の試験装置。
【請求項１１】
被試験デバイスを試験する試験方法であって、
前記被試験デバイスに出力すべき試験パターンを所定の順序で指定するパターンリストを複数格納するパターンリスト記憶段階と、
前記被試験デバイスの試験結果に応じた前記パターンリストを順次実行して前記試験パターンを順次出力し、且つ、それぞれの前記パターンリストから次の前記パターンリストに移行する場合に、当該次のパターンリストの実行が開始されるまで、所定のアイドルパターンを繰り返し出力するパターンリスト処理段階と
を備える試験方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、試験装置および試験方法に関する。
【背景技術】
【０００２】
半導体チップ等の被試験デバイスを試験する装置として、予め与えられるパターンリストを実行して、試験パターンを順次出力する試験装置が知られている（例えば、特許文献１参照）。試験装置は、試験結果に応じて、次に実行するパターンリストを選択する。
特許文献１：特開２００６−０５８２５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、パターンリストを切り替える場合、試験装置は試験パターンを出力せずに停止状態となる。このため、被試験デバイスの状態を維持できずに、パターンリストを切り替える毎に、被試験デバイスを所定の状態に設定しなければならない。例えば、パターンリストを切り替える毎に、被試験デバイスの初期設定およびタイミング調整等の処理を行わなければならない。
【課題を解決するための手段】
【０００４】
上記課題を解決するために、本発明の第１の態様においては、被試験デバイスを試験する試験装置であって、被試験デバイスに出力すべき試験パターンを所定の順序で指定するパターンリストを複数格納するパターンリスト記憶部と、被試験デバイスの試験結果に応じたパターンリストを順次実行して試験パターンを順次出力し、且つ、それぞれのパターンリストから次のパターンリストに移行する場合に、当該次のパターンリストの実行が開始されるまで、所定のアイドルパターンを繰り返し出力するパターンリスト処理部とを備える試験装置、ならびに、当該試験装置に係る試験方法を提供する。
【０００５】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００６】
【図１】１つの実施形態に係る試験装置２０の構成例を示す図である。
【図２】送信側ブロック１２の構成例を示す図である。
【図３】受信側ブロック１４の構成例を示す図である。
【図４】パターンリスト処理部１０４の動作例を説明する図である。
【図５】パターンリスト処理部１０４および制御部１３６の動作例を示すフローチャートである。
【図６】パターンリスト処理部１０４および制御部１３６の動作例を示すフローチャートである。
【図７】送信側ブロック１２の構成例を示す図である。
【図８】受信側ブロック１４の構成例を示す図である。
【図９】本実施形態に係る試験装置２０の処理フローを示す。
【発明を実施するための形態】
【０００７】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００８】
図１は、１つの実施形態に係る試験装置２０の構成例を示す図である。試験装置２０は、半導体チップ等の被試験デバイス２００を試験する装置であって、通信処理部１６および実行処理部１８を有する。試験装置２０は、所定の試験機能が予め割り当てられたパケット単位で、被試験デバイス２００とデータを受け渡してよく、また、その他のデータ単位で被試験デバイス２００とデータを受け渡してよい。
【０００９】
例えばパケット単位で被試験デバイス２００とデータを受け渡す場合、試験装置２０は、被試験デバイス２００の通信プロトコルに応じた様式のデータを出力する。
【００１０】
実行処理部１８は、試験プログラム記憶部１３２と、プログラム供給部１３４と、制御部１３６とを有する。また、それぞれの通信処理部１６は、送信側ブロック１２と、受信側ブロック１４とを有する。
【００１１】
試験プログラム記憶部１３２は、与えられる試験プログラムを記憶する。プログラム供給部１３４は、試験プログラム記憶部１３２に記憶された試験プログラムから、通信処理部１６により通信される一連の試験パターンをそれぞれ含む複数のパターンリストを生成して、送信側ブロック１２および受信側ブロック１４に設けられたパターンリスト記憶部に格納する。
【００１２】
なおパターンリストは、試験パターンをパケット単位で指定するパケットリストであってよい。例えばパケットリストは、所定の試験機能を実行するために生成されるべき複数のパケットの識別情報を、実行されるべき順番で示すリストであってよい。
【００１３】
パケットリストは、セットアップパケット、送信データパケット、ＡＣＫパケット等を順番に指定するリストであってよい。プログラム供給部１３４は、試験プログラムにより実行されるべき各試験機能に対応するパケットリストを生成して、後述するパケットリスト記憶部６０に記憶してよい。
【００１４】
送信側ブロック１２は、パターンリストにより指定される試験パターンに応じた試験信号を、被試験デバイス２００に順次供給する。被試験デバイス２００は、試験装置２０から受け取った各試験信号に応じて動作して、動作結果を受信側ブロック１４に送信する。
【００１５】
受信側ブロック１４は、被試験デバイス２００から受け取った応答信号に基づいて、被試験デバイス２００の動作の良否を判定する。例えば受信側ブロック１４は、送信側ブロック１２が送信した試験信号に含まれるパターンデータに応じた期待値パターンを生成して、応答信号に含まれるデータと比較してよい。受信側ブロック１４は、送信側ブロック１２と同様の構成を有し、且つ、プログラム供給部１３４から同様のパターンリストを受け取ってよい。
【００１６】
図２は、送信側ブロック１２の構成例を示す図である。本例の送信側ブロック１２は、パターンリスト記憶部１０２、パターンリスト処理部１０４、データ処理部３２、および、送信部３６を有する。
【００１７】
パターンリスト記憶部１０２は、被試験デバイス２００に出力すべき試験パターンを所定の順序で指定するパターンリストを複数格納する。パターンリスト記憶部１０２は、プログラム供給部１３４から与えられるパターンリストを記憶してよい。
【００１８】
パターンリスト処理部１０４は、パターンリスト記憶部１０２が記憶したパターンリストを所定の順番で実行して、試験パターンを順次出力する。本例のパターンリスト処理部１０４は、被試験デバイス２００の試験結果に応じたパターンリストを順次実行する。つまり、パターンリスト処理部１０４が現在実行しているパターンリストによる試験における試験結果に応じて、次に実行されるパターンリストが分岐してよい。
【００１９】
また、パターンリスト処理部１０４は、それぞれのパターンリストの実行から、次のパターンリストの実行に移行する場合に、当該次のパターンリストの実行が開始されるまで、所定のアイドルパターンを繰り返し出力する。例えばパターンリスト処理部１０４は、直前に出力した所定数の試験パターンを、当該アイドルパターンとして繰り返して出力してよい。これにより、パターンリストの移行において、被試験デバイス２００の直前の状態を維持することができる。
【００２０】
データ処理部３２は、パターンリスト処理部１０４が出力する試験パターンに応じた試験データ列を生成する。例えばデータ処理部３２は、パターンリスト処理部１０４が出力する試験パターンを、被試験デバイス２００の通信プロトコルに応じて予め設定されるデータ配列のデータ列に変換してよい。
【００２１】
送信部３６は、データ処理部３２が出力するデータ列に応じた信号を、被試験デバイス２００に送信する。このような構成により、パターンリストの移行において、それまでの試験による被試験デバイス２００の状態を維持することができる。
【００２２】
図３は、受信側ブロック１４の構成例を示す図である。受信側ブロック１４は、パターンリスト記憶部１０２、パターンリスト処理部１０４、データ処理部３２、受信部８２、および、判定部８４を有する。パターンリスト記憶部１０２、パターンリスト処理部１０４、および、データ処理部３２は、送信側ブロック１２におけるパターンリスト記憶部１０２、パターンリスト処理部１０４、および、データ処理部３２と同一の処理を行ってよい。つまり、データ処理部３２は、送信側ブロック１２のデータ処理部３２と同様のデータを期待値データとして出力してよい。
【００２３】
受信部８２は、被試験デバイス２００の応答信号を受け取り、判定部８４に供給する。判定部８４は、データ処理部３２から受け取る期待値データと、受信部８２から受け取るデータとに基づいて、被試験デバイス２００の良否を判定する。例えば判定部８４は、これらのデータが一致した場合に、被試験デバイス２００を良品と判定してよい。
【００２４】
図４は、パターンリスト処理部１０４の動作例を説明する図である。本例のパターンリスト処理部１０４は、パターンリスト１を実行した後、パターンリスト１による試験結果に応じて、パターンリスト２またはパターンリスト３を実行する。
【００２５】
本例のパターンリスト記憶部１０２は、ウェイト命令およびジャンプ命令を含む命令コードと、試験パターンを指定するオペランドとが対応付けられ、命令コードを実行することで、試験パターンを出力する順番を指定するパターンリストを記憶する。例えば、それぞれのパターンリストは、対応付けられた命令コードおよびオペランドを複数組含む。命令コードは、実行すべきオペランドを順次指定する。例えば命令コードは、ＮＯＰ命令、ウェイト命令、および、ジャンプ命令を含む。
【００２６】
ＮＯＰ命令は、対応するオペランドにより指定される試験パターンを出力して、次行の命令コードに移行する命令である。また、ウェイト命令は、所定の条件を満たすまで、オペランド等で指定される所定のアイドルパターンを繰り返して出力する命令である。例えばパターンリスト処理部１０４は、当該試験パターンにおける被試験デバイス２００の試験結果が所定の条件を満たした場合に、当該ウェイト命令の実行を終了して、次行のジャンプ命令を実行する。
【００２７】
ジャンプ命令は、ウェイト命令の繰り返しを抜けた後に、当該パターンリストの次に実行すべきパターンリストを指定する命令である。但し、パターンリスト記憶部１０２は、当該ウェイト命令に対応するオペランドを記憶しなくともよい。当該ウェイト命令に対応するオペランドは、パターンリスト１の実行が開始されてから、制御部１３６により与えられてよい。
【００２８】
制御部１３６は、それぞれのパターンリストに含まれるジャンプ命令が指定するジャンプ先を、当該パターンリストの実行を開始した後に指定する。例えば制御部１３６は、それぞれのパターンリストにおける被試験デバイス２００の試験結果に応じたパターンリストを、当該ジャンプ命令におけるジャンプ先として指定してよい。
【００２９】
この場合、制御部１３６は、パターンリスト処理部１０４がウェイト命令を繰り返し実行している間に、対応するジャンプ命令のジャンプ先を、パターンリスト処理部１０４に設定してよい。パターンリスト処理部１０４は、対応するジャンプ命令のジャンプ先が制御部１３６により設定されたことを条件として、ウェイト命令を終了してよい。
【００３０】
ジャンプ命令のジャンプ先は、パターンリストの番号により指定されてよく、パターンリスト記憶部１０２におけるアドレスにより指定されてもよい。また、試験装置２０は、ジャンプ命令のジャンプ先としてパターンリスト処理部１０４が参照すべきレジスタを更に備えてもよい。制御部１３６は、当該レジスタにパターンリストの番号、パターンリスト記憶部１０２のアドレス等を書き込むことで、ジャンプ先を指定してよい。
【００３１】
上述したように、ウェイト命令で繰り返されるアイドルパターンは、直前に出力した所定数の試験パターンであってよい。例えばパターンリスト１のウェイト命令では、パターンリスト処理部１０４は、試験パターンＰａｔ  Ｃを繰り返して出力してよい（繰り返しの所定数を１とする）。アイドルパターンにおいて繰り返される試験パターンの所定数は、ユーザ等により指定される値に応じて変更されてよい。
【００３２】
このような制御により、それまでの試験による被試験デバイス２００の状態を維持して、パターンリストを分岐させることができる。なお、ウェイト命令で繰り返されるアイドルパターンは、ユーザにより予め与えられてもよい。
【００３３】
本例のパターンリスト記憶部１０２は、ウェイト命令およびジャンプ命令をこの順番で末尾に有するパターンリストを記憶する。また、プログラム供給部１３４は、ウェイト命令およびジャンプ命令を有さない状態のパターンリストと、試験結果に応じて次に実行するパターンを指定する分岐条件とを、試験プログラム記憶部１３２から受け取ってよい。
【００３４】
プログラム供給部１３４は、受け取ったパターンリストのそれぞれの末尾にウェイト命令およびジャンプ命令を追加して、パターンリスト記憶部１０２に記憶させてよい。また、プログラム供給部１３４は、分岐条件を制御部１３６に通知してよい。制御部１３６は、当該分岐条件および試験結果に基づいて、それぞれのジャンプ命令のジャンプ先を指定してよい。
【００３５】
図５は、パターンリスト処理部１０４および制御部１３６の動作例を示すフローチャートである。本例では、パターンリスト処理部１０４が試験パターンを出力する動作を説明する。
【００３６】
まず、パターンリスト処理部１０４は、パターンリスト記憶部１０２から最初のパターンリストを読み出して実行する（Ｓ５０２）。パターンリスト処理部１０４は、ウェイト命令が検出されるまで、ＮＯＰ命令に対応する試験パターンを順番に出力する（Ｓ５０４）。
【００３７】
ウェイト命令が検出された場合、パターンリスト処理部１０４は、予め定められたアイドルパターンを出力する（Ｓ５０６）。パターンリスト処理部１０４は、被試験デバイス２００の試験結果が所定の条件を満たしたことにより、ウェイト命令を終了すべきか否かを判定する（Ｓ５０８）。試験結果が所定の条件を満たさない場合、アイドルパターンが繰り返し出力される。
【００３８】
ウェイト命令を終了する場合、制御部１３６は、対応するジャンプ命令におけるジャンプ先を指定する（Ｓ５１０）。そして、パターンリスト処理部１０４は、ウェイト命令を終了して、ジャンプ命令を実行する（Ｓ５１２）。このような制御により、分岐先のパターンリストが決まるまでアイドルパターンを繰り返し出力して、被試験デバイス２００の状態を維持することができる。
【００３９】
図６は、パターンリスト処理部１０４および制御部１３６の動作例を示すフローチャートである。本例では、パターンリスト処理部１０４における先読み処理を説明する。
【００４０】
なお、本例のパターンリスト処理部１０４は、実行すべき命令コードよりも先の命令コードおよび対応する試験パターンを予め先読み処理する。先読み処理は、現在実行すべき命令コードよりも後に実行される命令コードを予め読み込み、現在出力すべき試験パターンよりも後に出力される試験パターンを予め準備する処理を指してよい。
【００４１】
パターンリスト処理部１０４は、制御部１３６等の制御により、パターンリストの実行を開始する（Ｓ６０２）。ここで、パターンリスト処理部１０４は、上述した先読み処理を行う（Ｓ６０４）。
【００４２】
パターンリスト処理部１０４は、先読み処理により先読みした命令コードにおいて、ウェイト命令が検出されるまで、先読み処理を続行する（Ｓ６０６）。ウェイト命令が検出された場合、パターンリスト処理部１０４は、先読み処理を停止する（Ｓ６０８）。そして、パターンリスト処理部１０４は、ジャンプ命令を実行した場合に（Ｓ６１０）、先読み処理を再開する（Ｓ６１２）。このような処理により、次に実行すべき命令コードが未定なジャンプ命令の直前までは命令コードを先読み処理し、また、実行すべき命令コードが確定したジャンプ命令の直後から先読み処理を再開することができる。
【００４３】
図７は、送信側ブロック１２の構成例を示す図である。本例の送信側ブロック１２は、被試験デバイス２００にパケット単位でデータを送信する。送信側ブロック１２は、パケットリスト処理部２２、パケット命令列記憶部２４、パケットデータ列記憶部２６、下位シーケンサ２８、データ処理部３２、データ変換部３４、パケットリスト記憶部６０、および、送信部３６を有する。
【００４４】
パケットリスト記憶部６０は、パターンリスト記憶部１０２の一例であり、パケットリスト処理部２２は、パターンリスト処理部１０４の一例である。つまり、パケットリスト記憶部６０は、ウェイト命令およびジャンプ命令を含むパケットリストを記憶する。また、パケットリスト処理部２２は、ジャンプ命令を実行する場合に、制御部１３６により指定されるジャンプ先のパケットリストを実行する。
【００４５】
パケットリスト処理部２２は、パケットリスト記憶部６０に記憶されたパケットリストを実行して、被試験デバイス２００と通信する各パケットを順次指定する。パケットリスト処理部２２は、一例として、指定したパケットを発生するための命令列が記憶されたパケット命令列記憶部２４上のアドレスを指定する。更に、パケットリスト処理部２２は、一例として、被試験デバイス２００との間で通信するパケットについて、パケットデータ列記憶部２６内における当該パケットに含まれるデータ列のアドレス（例えばデータ列の先頭アドレス）を指定する。
【００４６】
このようにパケットリスト処理部２２は、パケットを発生させるための命令列のアドレスと、当該パケットに含まれるデータ列のアドレスを個別に指定する。なお、この場合において、パケットリスト中において、２以上のパケットに対して共通する命令列またはデータ列が指定されている場合に、パケットリスト処理部２２は、当該２以上のパケットについて同一の命令列のアドレスまたは同一のデータ列のアドレスを指定してもよい。
【００４７】
パケット命令列記憶部２４は、複数種類のパケットのそれぞれを発生するための命令列を、パケットの種類毎に記憶する。パケット命令列記憶部２４は、一例として、ライトパケットを発生するための命令列、リードパケットを発生するための命令列、および、ウェイトパケットを発生するための命令列等を記憶する。
【００４８】
パケットデータ列記憶部２６は、複数種類のパケットのそれぞれに含まれるデータ列を、パケットの種類毎に記憶する。パケットデータ列記憶部２６は、一例として、ライトパケットに含まれるデータ列、リードパケットに含まれるデータ列、および、アイドルパケットに含まれるデータ列等を含んでよい。
【００４９】
パケットデータ列記憶部２６は、一例として、共通データ記憶部４０と、共通データポインタ４２と、第１の個別データ記憶部４４−１と、第２の個別データ記憶部４４−２と、第１の個別データポインタ４６−１と、第２の個別データポインタ４６−２とを含んでよい。共通データ記憶部４０は、複数種類のパケットのそれぞれに含まれるデータ列中における、パケットの種類毎に共通の共通データを記憶する。共通データ記憶部４０は、一例として、パケットの種類毎に、パケットの始まりを示すスタートコード、パケットの終わりを示すエンドコード、および、当該パケットの種別を識別するためのコマンドコード等を記憶する。
【００５０】
共通データポインタ４２は、パケットリスト処理部２２により指定されたパケットに含まれる共通データが格納されたブロックの先頭アドレスを、パケットリスト処理部２２から取得する。更に、共通データポインタ４２は、当該ブロック内におけるオフセット位置を、下位シーケンサ２８から取得する。そして、共通データポインタ４２は、先頭アドレスおよびオフセット位置に基づき定まるアドレス（例えば先頭アドレスにオフセット位置を加算したアドレス）を共通データ記憶部４０に与えて、当該アドレスに格納された共通データをデータ処理部３２へ供給させる。
【００５１】
第１及び第２の個別データ記憶部４４−１、４４−２は、複数種類のパケットのそれぞれに含まれるデータ列中における、パケット毎に変更する個別データを記憶する。第１及び第２の個別データ記憶部４４−１、４４−２は、一例として、各パケットに含まれる、被試験デバイス２００に対して送信する実体データまたは被試験デバイス２００から受信する実体データを記憶してよい。
【００５２】
第１の個別データ記憶部４４−１は、実行されるパケットリストに関わらず予め定められた個別データを記憶する。第２の個別データ記憶部４４−２は、実行されるパケットリスト毎に変更される個別データを記憶する。第２の個別データ記憶部４４−２は、一例として、試験に先立ってまたは試験中において適宜に、実行処理部１８内の制御部１３６から個別データの転送を受ける。
【００５３】
第１及び第２の個別データポインタ４６−１、４６−２は、パケットリスト処理部２２により指定されたパケットに含まれる個別データが格納されたブロックの先頭アドレスを、パケットリスト処理部２２から受け取る。更に、第１及び第２の個別データポインタ４６−１、４６−２は、当該ブロック内におけるオフセット位置を、下位シーケンサ２８から取得する。
【００５４】
そして、第１及び第２の個別データポインタ４６−１、４６−２は、先頭アドレスおよびオフセット位置に基づき定まるアドレス（例えば先頭アドレスにオフセット位置を加算したアドレス）を第１及び第２の個別データ記憶部４４−１、４４−２に与える。そして、第１及び第２の個別データポインタ４６−１、４６−２は、第１及び第２の個別データ記憶部４４−１、４４−２の当該アドレスに格納された個別データをデータ処理部３２へ供給させる。
【００５５】
下位シーケンサ２８は、パケットリスト処理部２２により指定されたパケットの命令列、即ち、パケットリスト処理部２２によりアドレスが指定された命令列をパケット命令列記憶部２４から読み出して、読み出した命令列に含まれる各命令を順次に実行する。更に、下位シーケンサ２８は、パケットリスト処理部２２により指定されたパケットのデータ列、即ち、パケットリスト処理部２２によりアドレスが指定されたデータ列を、命令列の実行に従って順次にパケットデータ列記憶部２６から出力させて、被試験デバイス２００との間の試験に用いる試験データ列を生成する。
【００５６】
下位シーケンサ２８は、一例として、パケットリスト処理部２２により指定されたパケットに含まれるデータ列が格納されたブロック中における、実行した命令に対応するデータの位置を表わすオフセット位置を、共通データポインタ４２、個別データポインタ４６−１および個別データポインタ４６−２に供給する。この場合において、下位シーケンサ２８は、最初の命令において初期値を発生して、実行する命令が遷移する毎にインクリメントされるカウント値を、オフセット位置として発生してもよい。
【００５７】
また、下位シーケンサ２８は、命令の実行毎に、読み出した個別データおよび共通データに対して指定した処理（演算またはデータ変換）を施すことを指示する制御データをデータ処理部３２およびデータ変換部３４に与える。これにより、下位シーケンサ２８は、パケットリスト処理部２２により指定されたパケット中における、指定されたデータ部分を、読み出したデータに対して指定した処理を施したデータとすることができる。
【００５８】
また、下位シーケンサ２８は、命令の実行毎に、共通データ、個別データ（実行されるパケットリストに関わらず予め定められた個別データまたは実行されるパケットリスト毎に変更される個別データ）、および、データ処理部３２が処理を施したデータのいずれを出力するかを、データ処理部３２に対して指定する。即ち、下位シーケンサ２８は、命令の実行毎に、共通データ記憶部４０、第１の個別データ記憶部４４−１、第２の個別データ記憶部４４−２、または、データ処理部３２内の指定した処理を施したデータが格納されたレジスタのいずれからデータを読み出して出力するかを、データ処理部３２に対して指定する。
【００５９】
これにより、下位シーケンサ２８は、パケットリスト処理部２２により指定されたパケット中における、パケット毎に変更すべきデータ部分を個別データ記憶部４４から読み出した個別データから生成することができる。更に、下位シーケンサ２８は、パケットリスト処理部２２により指定されたパケット中における、パケットの種類毎に共通するデータ部分を共通データ記憶部４０から読み出した共通データから生成することができる。また、更に、下位シーケンサ２８は、パケットリスト処理部２２により指定されたパケット中における指定されたデータ部分に対して、指定した処理を施すことができる。
【００６０】
また、下位シーケンサ２８は、パケットリスト処理部２２により指定されたパケットの命令列の実行が完了したことに応じて、終了通知をパケットリスト処理部２２に与えてよい。これにより、パケットリスト処理部２２は、下位シーケンサ２８による命令列の実行の進行に応じて、順次にパケットを指定することができる。
【００６１】
また、下位シーケンサ２８は、送信部３６に対して、被試験デバイス２００に対して送信する信号のエッジタイミングを指定する。下位シーケンサ２８は、一例として、送信部３６に対してタイミング信号を与えて、パケット毎にエッジタイミングを制御する。
【００６２】
また、下位シーケンサ２８は、受信側ブロック１４が有する受信側の下位シーケンサ２８と通信する。これにより、送信側ブロック１２が有する送信側の下位シーケンサ２８は、受信側ブロック１４が有する受信側の下位シーケンサ２８とハンドシェイクを行って、受信側の下位シーケンサ２８と同期して命令列を実行することができる。
【００６３】
送信側の下位シーケンサ２８は、一例として、予め指定されたパケットの試験データ列を被試験デバイス２００に送信したことを受信側の下位シーケンサ２８に通知する。これにより、送信側の下位シーケンサ２８は、受信側の下位シーケンサ２８に、送信側の下位シーケンサ２８からの通知を受けるまでの間、受信したデータ列の良否判定を禁止させることができる。
【００６４】
また、送信側の下位シーケンサ２８は、一例として、受信側の下位シーケンサ２８から、生成した試験データ列と一致するデータ列を受信したことの通知を受けて、予め指定されたパケットの試験データ列を生成する。これにより、送信側の下位シーケンサ２８は、所定のパケットを被試験デバイス２００から受信した後に、予め指定されたパケットを被試験デバイス２００に送信することができる。
【００６５】
データ処理部３２は、パケットデータ列記憶部２６からパケットリスト処理部２２により指定されたパケットのデータ列を読み出して、被試験デバイス２００の試験に用いる試験データ列を生成する。データ処理部３２は、一例として、共通データ記憶部４０、第１の個別データ記憶部４４−１および第２の個別データ記憶部４４−２からのデータを入力して、入力したデータに対して下位シーケンサ２８により指定された処理をして試験データ列の各データとして出力する。
【００６６】
データ変換部３４は、下位シーケンサ２８から指定されたタイミングにおいて、データ処理部３２から出力した試験データ列をデータ変換する。データ変換部３４は、一例として、試験データ列に対して予め設定されたテーブル等により８ｂ−１０ｂ変換等を行う。更に、データ変換部３４は、一例として、試験データ列に対してスクランブル処理を行ってもよい。そして、データ変換部３４は、変換したデータ列を出力する。送信部３６は、データ変換部３４から出力された試験データ列を、被試験デバイス２００に対して送信する。
【００６７】
図８は、受信側ブロック１４の構成例を示す図である。受信側ブロック１４は、図７に示される送信側ブロック１２と略同一の構成および機能を有する。受信側ブロック１４が有する部材のうち、送信側ブロック１２が有する部材と略同一の構成及び機能を部材については、同一の符号を付けて相違点を除き説明を省略する。
【００６８】
受信側ブロック１４は、パケットリスト処理部２２と、パケット命令列記憶部２４と、パケットデータ列記憶部２６と、下位シーケンサ２８と、データ処理部３２と、データ変換部３４と、パケットリスト記憶部６０と、受信部８２と、判定部８４とを含む。受信部８２は、被試験デバイス２００から受信パケットのデータ列を受信する。
【００６９】
受信側ブロック１４内のデータ変換部３４は、下位シーケンサ２８から指定されたタイミングにおいて、受信部８２により受信されたデータ列をデータ変換する。受信側ブロック１４内のデータ変換部３４は、一例として、受信したデータ列に対して予め設定されたテーブル等により８ｂ−１０ｂ変換等を行う。更に、受信側ブロック１４内のデータ変換部３４は、一例として、受信したデータ列に対してデスクランブル処理を行ってもよい。そして、受信側ブロック１４内のデータ変換部３４は、変換したデータ列を出力する。
【００７０】
そして、受信側ブロック１４内のデータ変換部３４は、変換したデータ列を判定部８４へ供給する。更に、受信側ブロック１４内のデータ変換部３４は、変換したデータ列をパケットデータ列記憶部２６内の第２の個別データ記憶部４４−２の指定されたアドレスに格納させてもよい。
【００７１】
受信側ブロック１４内のパケットリスト処理部２２は、一例として、制御部１３６から受信したアドレスからパケットリストを実行する。そして、受信側ブロック１４内のパケットリスト処理部２２は、被試験デバイス２００から受信されると期待されるパケットを順次指定する。
【００７２】
受信側ブロック１４内の下位シーケンサ２８は、被試験デバイス２００から出力が期待されるパケットのデータ列を、試験データ列としてパケットデータ列記憶部２６から出力させる。また、受信側ブロック１４内の下位シーケンサ２８は、受信部８２に対して、被試験デバイス２００から出力された信号のデータ値を取り込むストローブタイミングを指定する。受信側ブロック１４内のデータ処理部３２は、生成した試験データ列を判定部８４に供給する。
【００７３】
判定部８４は、データ処理部３２から試験データ列を受け取るとともに、データ変換部３４から受信したデータ列を受け取る。判定部８４は、受信したデータ列を試験データ列と比較した結果に基づいて、被試験デバイス２００との間における通信の良否を判定する。判定部８４は、一例として、受信部８２が受信したデータ列と試験データ列とが一致するか否かを比較する論理比較部と、比較結果を記憶するフェイルメモリとを含む。また、判定部８４は、一例として、受信部８２が受信したデータ列が指定されたデータ列と一致したことを下位シーケンサ２８に通知してもよい。
【００７４】
また、受信側ブロック１４内の下位シーケンサ２８は、図７に示される送信側ブロック１２が有する送信側の下位シーケンサ２８と通信する。これにより、受信側ブロック１４が有する受信側の下位シーケンサ２８は、送信側ブロック１２が有する送信側の下位シーケンサ２８とハンドシェイクを行って、送信側の下位シーケンサ２８と同期して命令列を実行することができる。
【００７５】
受信側の下位シーケンサ２８は、一例として、当該受信側の下位シーケンサ２８が生成した試験データ列と一致するデータ列を受信したことを送信側の下位シーケンサ２８に通知する。これにより、送信側の下位シーケンサ２８は、受信側の下位シーケンサ２８から、生成した試験データ列と一致するデータ列を受信したことの通知を受けて、予め指定されたパケットの試験データ列を生成することができる。
【００７６】
また、受信側の下位シーケンサ２８は、一例として、送信側の下位シーケンサ２８から、予め指定されたパケットの試験データ列を被試験デバイス２００に送信したことの通知を受けるまでの間、判定部８４による受信部８２が受信したデータ列の良否判定を禁止する。これにより、受信側の下位シーケンサ２８は、所定のパケットを被試験デバイス２００へ送信した後に、当該所定のパケットに応じた応答が被試験デバイス２００から出力されたか否かを判定することができる。
【００７７】
図９は、本実施形態に係る試験装置２０の処理フローを示す。まず、パケットリスト処理部２２は、パケットリストを実行して、被試験デバイス２００との間で通信する各パケットを順次指定する（Ｓ８０１、Ｓ８０６）。
【００７８】
下位シーケンサ２８は、パケットリスト処理部２２によるパケットの指定を受けると、ステップＳ８０２からステップＳ８０５の処理を繰り返して実行する。下位シーケンサ２８は、パケットの指定を受けると、当該パケットを発生するための命令列を、パケット命令列記憶部２４から呼び出して、先頭の命令から順次に実行する。下位シーケンサ２８は、各命令の実行毎に、ステップＳ８０３及びステップＳ８０４の処理を実行する（Ｓ８０２、Ｓ８０５）。
【００７９】
ステップＳ８０３において、下位シーケンサ２８は、当該命令に対応するデータを出力する。また、ステップＳ８０４において、下位シーケンサ２８は、当該命令に対応する、演算またはデータ変換を実行させる。下位シーケンサ２８は、ステップＳ８０３およびステップＳ８０４を並行して実行する。
【００８０】
下位シーケンサ２８は、最後の命令を実行すると、処理をパケットリスト処理部２２に戻して、パケットリスト処理部２２から次のパケットの指定を受ける（Ｓ８０５）。そして、パケットリスト処理部２２は、複数のパケットリストを含むパケットシーケンスにおける最後の命令までの処理が完了すると、当該フローを終了する（Ｓ８０６）。
【００８１】
なお、複数のパケットリストのうち、最後に実行されるべきパケットリストは、ウェイト命令およびジャンプ命令を有さなくてよい。また、パケットシーケンス間においても被試験デバイス２００の状態を維持する場合、最後に実行されるべきパケットリストにおいても、ウェイト命令およびジャンプ命令を末尾に有してよい。
【００８２】
図７から図９において説明した試験装置２０によれば、パケットシーケンスを表わすパケットリストと、パケット内の命令列とが、別個のシーケンサにより実行される。これにより、試験装置２０によれば、プログラムの記述を簡単にすることができる。更に、試験装置２０によれば、共通の種類のパケットを発生するための命令列およびデータを共用化することができるので、格納する情報量を少なくすることができる。
【００８３】
更に、当該試験装置２０は、下位シーケンサ２８が実行する命令列のアドレスおよび下位シーケンサ２８が読み出すデータ列のアドレスを、パケットリスト処理部２２から個別に指定する。これにより、試験装置２０によれば、同一の命令列によって、異なるデータ列を発生することができる。従って、試験装置２０によれば、同一の命令列を複数個格納しなくてよいので、格納する情報量を少なくすることができる。
【００８４】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００８５】
例えば、試験装置２０は、複数個の被試験デバイス２００を並列に試験してよい。この場合、試験装置２０は、通信処理部１６を被試験デバイス２００の個数に応じて並列に備える。また、それぞれのパターンリスト処理部１０４は、全ての被試験デバイス２００の試験結果が所定の結果となった場合に、ウェイト命令を終了してよい。
【００８６】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００８７】
１２・・・送信側ブロック、１４・・・受信側ブロック、１６・・・通信処理部、１８・・・実行処理部、２０・・・試験装置、２２・・・パケットリスト処理部、２４・・・パケット命令列記憶部、２６・・・パケットデータ列記憶部、２８・・・下位シーケンサ、３２・・・データ処理部、３４・・・データ変換部、３６・・・送信部、４０・・・共通データ記憶部、４２・・・共通データポインタ、４４・・・個別データ記憶部、４６・・・個別データポインタ、６０・・・パケットリスト記憶部、８２・・・受信部、８４・・・判定部、１０２・・・パターンリスト記憶部、１０４・・・パターンリスト処理部、１３２・・・試験プログラム記憶部、１３４・・・プログラム供給部、１３６・・・制御部、２００・・・被試験デバイス
【図１】
2011059110.tif 000003
【図２】
2011059110.tif 000004
【図３】
2011059110.tif 000005
【図４】
2011059110.tif 000006
【図５】
2011059110.tif 000007
【図６】
2011059110.tif 000008
【図７】
2011059110.tif 000009
【図８】
2011059110.tif 000010
【図９】
2011059110.tif 000011