| 【発明の名称】 |
パターン発生器、パターン発生方法及び試験装置 |
| 【発明者】 |
【氏名】津藤 勝
【氏名】山田 達也
|
| 【要約】 |
【課題】試験パターンを高速に生成することのできるパターン発生器を提供すること。
【解決手段】電気部品の電気的試験に用いる試験パターンを生成するパターン発生器において、前記試験パターンはメイン試験パターンと、当該メイン試験パターンの間に繰り返し挿入されるサブ試験パターンとを有しており、前記メイン試験パターン及び前記サブ試験パターンを格納するパターンメモリ32と、前記パターンメモリ32から読み出された前記メイン試験パターンを格納するメイン試験パターンキャッシュメモリ50と、前記パターンメモリ32から読み出された前記サブ試験パターンを格納するサブ試験パターンキャッシュメモリ52とを備えたことを特徴とするパターン発生器を提供する。 |
【特許請求の範囲】
【請求項1】 電気部品の電気的試験に用いる試験パターンを生成するパターン発生器において、前記試験パターンを格納するパターンメモリと、前記パターンメモリから読み出された前記試験パターンを格納するパターンキャッシュメモリと、生成すべき前記試験パターンの順序を示すベクトル命令を格納するベクトルメモリと、前記ベクトルメモリから読み出された前記ベクトル命令を用いて、前記パターンメモリから読み出すべき前記試験パターンのアドレスがジャンプするか否かを判断する読み出し制御部と、前記アドレスがジャンプすると前記読み出し制御部が判断した場合に、前記パターンメモリにおけるジャンプ先のアドレスから前記試験パターンを読み出して前記パターンキャッシュメモリに転送する転送制御部とを備えたことを特徴とするパターン発生器。 【請求項2】 前記試験パターンはメイン試験パターンと、当該メイン試験パターンの間に複数回繰り返して挿入されるサブ試験パターンとを有しており、前記パターンキャッシュメモリは、前記パターンメモリから読み出された前記メイン試験パターンを格納するメイン試験パターンキャッシュメモリと、前記パターンメモリから読み出された前記サブ試験パターンを格納するサブ試験パターンキャッシュメモリとを有することを特徴とする請求項1に記載のパターン発生器。 【請求項3】 前記読み出し制御部は、前記サブ試験パターンを呼び出す命令を検出する手段を更に有し、前記転送制御部は、前記サブ試験パターンを読み出す命令を前記読み出し制御部が検出すると、前記サブ試験パターンを前記パターンメモリから前記サブ試験パターンキャッシュメモリに転送する手段を更に有することを特徴とする請求項2に記載のパターン発生器。 【請求項4】 電気部品の電気的試験に用いる試験パターンを生成するパターン発生器において、前記試験パターンはメイン試験パターンと、当該メイン試験パターンの間に繰り返し挿入されるサブ試験パターンとを有しており、前記メイン試験パターン及び前記サブ試験パターンを格納するパターンメモリと、前記パターンメモリから読み出された前記メイン試験パターンを格納するメイン試験パターンキャッシュメモリと、前記パターンメモリから読み出された前記サブ試験パターンを格納するサブ試験パターンキャッシュメモリとを備えたことを特徴とするパターン発生器。 【請求項5】 前記メイン試験パターンキャッシュメモリは2つのパターンメモリバンクを有し、前記パターンメモリから読み出した前記メイン試験パターンを前記2つのパターンメモリバンクの一方に転送しているときに、他方のパターンメモリバンクから予め格納された前記メイン試験パターンを読み出して前記電気部品へ提供するメイン試験パターンマルチプレクサを更に備えたことを特徴とする請求項2又は4に記載のパターン発生器。 【請求項6】 前記サブ試験パターンキャッシュメモリは2つのパターンメモリバンクを有し、前記パターンメモリから読み出した前記サブ試験パターンを前記2つのパターンメモリバンクの一方に転送しているときに、他方のパターンメモリバンクから予め格納された前記サブ試験パターンを読み出して前記電気部品へ提供するサブ試験パターンマルチプレクサを更に備えたことを特徴とする請求項2又は4に記載のパターン発生器。 【請求項7】 前記試験パターンの生成順序を示すベクトル命令を格納するベクトルメモリと、前記ベクトルメモリから読み出された前記ベクトル命令を用いて、前記サブ試験パターンを生成すべきことを予め検出する読み出し制御部と、前記サブ試験パターンを生成すべきことを前記読み出し制御部が検出すると、前記サブ試験パターンを前記パターンメモリから前記サブ試験パターンキャッシュメモリに転送する転送制御部とを更に備えたことを特徴とする請求項4に記載のパターン発生器。 【請求項8】 前記ベクトルメモリから読み出した前記ベクトル命令を格納するベクトルキャッシュメモリを更に備え、前記読み出し制御部は、前記ベクトルメモリから読み出した前記ベクトル命令を前記ベクトルキャッシュメモリに転送するときに、前記サブ試験パターンを生成すべきことを検出することを特徴とする請求項2又は7に記載のパターン発生器。 【請求項9】 前記ベクトルキャッシュメモリから読み出された前記ベクトル命令を用いて、前記パターンメモリから読み出すべき前記試験パターンのアドレスを生成するアドレス展開部を更に備えたことを特徴とする請求項8に記載のパターン発生器。 【請求項10】 前記ベクトルキャッシュメモリは、3つのベクトルメモリバンクを有し、前記3つのベクトルメモリバンクの一つに前記ベクトル命令が書き込まれているときに、他のベクトルメモリバンクの一つから読み出された前記ベクトル命令を前記アドレス展開部へ提供するベクトル命令マルチプレクサを更に備えたことを特徴とする請求項9に記載のパターン発生器。 【請求項11】 前記読み出し制御部は、前記サブ試験パターンの最終アドレスを検出する手段を更に有し、前記転送制御部は、前記読み出し制御部が検出した前記最終アドレスにおける前記サブ試験パターンの転送が終了し、更にその後に呼び出される新たなサブ試験パターンを前記読み出し制御部が検出した場合に、前記新たなサブ試験パターンを前記サブ試験パターンキャッシュメモリに転送することを特徴とする請求項2又は7に記載のパターン発生器。 【請求項12】 前記サブ試験パターンキャッシュメモリは、前記サブ試験パターンを順次更新しつつ出力できるリングバッファと、前記サブ試験パターンを格納して出力できる固定バッファとを有することを特徴とする請求項3に記載のパターン発生器。 【請求項13】 前記ベクトル命令は、前記メイン試験パターンを前記パターンメモリから読み出すメインルーチンと、前記サブ試験パターンを前記パターンメモリから読み出すサブルーチンとを含み、前記転送制御部は、前記サブルーチンにより前記パターンメモリから順次呼び出される前記サブ試験パターンの先頭部分を前記固定バッファに格納して、前記サブルーチンが実行された場合に、前記サブルーチンにより前記パターンメモリから呼び出される前記サブ試験パターンの中で、前記固定バッファに格納されていない前記サブ試験パターンを前記リングバッファに順次格納して出力することを特徴とする請求項12に記載のパターン発生器。 【請求項14】 前記読み出し制御部は、前記ベクトルメモリに格納されている前記サブルーチンの情報を検出する情報検出部を更に有し、前記サブルーチンの前記情報に基づいて、前記転送制御部は、前記サブ試験パターンを前記固定バッファ及び/又は前記リングバッファのいずれかに格納することを特徴とする請求項13に記載のパターン発生器。 【請求項15】 前記情報検出部は、前記サブルーチンの先頭アドレスを検出し、検出した前記先頭アドレスに基づいて、前記サブルーチンの先頭部分により前記パターンメモリから呼び出される前記サブ試験パターンを前記固定バッファに格納することを特徴とする請求項14に記載のパターン発生器。 【請求項16】 前記情報検出部は、前記ベクトルメモリに格納されている前記サブルーチンの数を検出するサブルーチン数検出部を有し、前記サブルーチンの数が複数の場合に、前記転送制御部は、複数の前記サブルーチンの先頭部分により前記パターンメモリから呼び出される前記サブ試験パターンを前記固定バッファにそれぞれ格納させることを特徴とする請求項15に記載のパターン発生器。 【請求項17】 前記サブルーチン数検出部は、前記ベクトル命令に含まれる復帰命令の数を検出する復帰命令検出部と、前記復帰命令の数をカウントするサブルーチン数格納部とを有することを特徴とする請求項16に記載のパターン発生器。 【請求項18】 前記サブルーチン数検出部は、前記ベクトル命令に含まれるジャンプ命令を検出するジャンプ命令検出部と、前記ジャンプ命令に指定されるジャンプ先のアドレスが、少なくとも1度ジャンプ先のアドレスとして指定されたか否かを判定する判定部と、前記判定部が、1度もジャンプ先のアドレスとして指定されていないと判定した数をカウントするサブルーチン数格納部とを有することを特徴とする請求項16に記載のパターン発生器。 【請求項19】 前記判定部は、1度もジャンプ先のアドレスとして指定されていないと判定した前記ジャンプ先のアドレスを格納するレジスタと、前記ジャンプ命令検出部が前記ジャンプ命令を検出した場合に、前記レジスタに格納されている前記ジャンプ先のアドレスと、前記ジャンプ命令に指定されるジャンプ先のアドレスとが一致するか否かを検出する一致検出部とを有することを特徴とする請求項18に記載のパターン発生器。 【請求項20】 前記情報検出部は、前記サブ試験パターンの容量を検出する容量検出部を更に有し、前記サブ試験パターンの容量が前記サブ試験パターンキャッシュメモリの容量より小さい場合に、前記リングバッファを第2の固定バッファとして前記サブ試験パターンを格納することを特徴とする請求項16に記載のパターン発生器。 【請求項21】 前記容量検出部は、前記サブルーチンに呼び出される前記サブ試験パターンのうち最初に呼び出されるサブ試験パターンのアドレスを検出する先頭アドレス検出部と、前記サブルーチンに呼び出される前記サブ試験パターンのうち最後に呼び出されるサブ試験パターンのアドレスを検出する最終アドレス検出部とを有し、前記最後に呼び出される試験パターンのアドレスから前記最初に呼び出される試験パターンのアドレスを減じて前記試験パターンの容量を検出することを特徴とする請求項20に記載のパターン発生器。 【請求項22】 前記情報検出部は、前記ベクトル命令を前記ベクトルメモリに格納する際に前記サブルーチンの情報を検出することを特徴とする請求項14から21のいずれかに記載のパターン発生器。 【請求項23】 前記固定バッファは、前記パターンメモリに格納されている前記サブ試験パターンを前記リングバッファに格納するのに必要な時間より、前記固定バッファに格納された前記サブ試験パターンをすべて出力するのに掛かる時間の方が長くなるように前記サブ試験パターンを格納していることを特徴とする請求項13から22のいずれかに記載のパターン発生器。 【請求項24】 電気部品の試験に用いる試験パターンをメインルーチンとサブルーチンとを含むベクトル命令に基づいて出力するパターン発生器であって、前記メインルーチンに基づいて出力するメイン試験パターンを格納すべき領域として予め用意されたメイン試験パターンキャッシュメモリと、前記サブルーチンに基づいて出力するサブ試験パターンを格納すべき領域として予め用意されたサブ試験パターンキャッシュメモリとを備え、前記メイン試験パターンキャッシュメモリと前記サブ試験パターンキャッシュメモリとに格納された試験パターンを出力することを特徴とするパターン発生器。 【請求項25】 前記ベクトル命令に含まれる前記サブルーチンを検出する読み出し制御部と、前記サブルーチンを検出した場合に、前記サブ試験パターンを前記サブ試験パターンキャッシュに格納させる転送制御部と、を備えることを特徴とする請求項24に記載のパターン発生器。 【請求項26】 試験パターンを用いて電気部品の電気的特性を試験する試験装置であって、前記試験の為に前記電気部品に与える入力試験パターン、及び当該入力試験パターンを正常な前記電気部品に与えたときに前記電気部品から出力される期待値パターンを含む、試験パターンを格納するパターンメモリと、前記パターンメモリから読み出された前記試験パターンを格納するパターンキャッシュメモリと、生成すべき前記試験パターンの順序を示すベクトル命令を格納するベクトルメモリと、前記ベクトルメモリから読み出された前記ベクトル命令を用いて、前記パターンメモリから読み出すべき前記試験パターンのアドレスがジャンプするか否かを判断する読み出し制御部と、前記アドレスがジャンプすると前記読み出し制御部が判断した場合に、前記パターンメモリにおけるジャンプ先のアドレスから前記試験パターンを読み出して前記パターンキャッシュメモリに転送する転送制御部と前記パターンキャッシュメモリから読み出された前記試験パターンを構成する少なくとも一つの信号の物理的位置を、前記電気部品の電気的端子の配列に合わせて並べ替えるピンデータセレクタと、前記ピンデータセレクタから出力された前記試験パターンに含まれる、前記入力試験パターンの波形を整形する波形整形器と、前記電気部品を差し込んで、前記波形成型器により整形された前記入力試験パターンを前記電気部品に与えるデバイス差込部と、前記入力試験パターンを与えることにより前記電気部品から出力された出力信号と前記期待値パターンとを比較する比較器とを備えたことを特徴とする試験装置。 【請求項27】 試験パターンを用いて電気部品の電気的特性を試験する試験装置であって、前記試験パターンはメイン試験パターンと、当該メイン試験パターンの間に繰り返し挿入されるサブ試験パターンを有し、前記メイン試験パターン及び前記サブ試験パターンはそれぞれ、前記試験の為に前記電気部品に与える入力試験パターン、及び当該入力試験パターンを正常な前記電気部品に与えたときに前記電気部品から出力される期待値パターンを含み、前記メイン試験パターン及び前記サブ試験パターンを格納するパターンメモリと、前記パターンメモリから読み出された前記メイン試験パターンを格納するメイン試験パターンキャッシュメモリと、前記パターンメモリから読み出された前記サブ試験パターンを格納するサブ試験パターンキャッシュメモリと、前記メイン試験パターンキャッシュメモリから読み出された前記メイン試験パターン、及び前記サブ試験パターンキャッシュメモリから読み出された前記サブ試験パターンの一方を選択するマルチプレクサと、前記マルチプレクサにより選択された前記試験パターンを構成する少なくとも一つの信号の物理的位置を、前記電気部品の電気的端子の配列に合わせて並べ替えるピンデータセレクタと、前記ピンデータセレクタから出力された前記試験パターンに含まれる、前記入力試験パターンの波形を整形する波形整形器と、前記電気部品を差し込んで、前記波形整形器により整形された前記入力試験パターンを前記電気部品に与えるデバイス差込部と、前記入力試験パターンを与えることにより前記電気部品から出力された出力信号と前記期待値パターンとを比較する比較器とを備えたことを特徴とする試験装置。 【請求項28】 試験パターンを用いて電気部品の電気的特性を試験する試験装置であって、前記試験パターンをメインルーチンとサブルーチンとを含むベクトル命令に基づいて生成し、前記試験パターンはメイン試験パターンと、当該メイン試験パターンの間に繰り返し挿入されるサブ試験パターンを有し、前記メイン試験パターン及び前記サブ試験パターンはそれぞれ、前記試験の為に前記電気部品に与える入力試験パターン、及び当該入力試験パターンを正常な前記電気部品に与えたときに前記電気部品から出力される期待値パターンを含み、前記メインルーチンに指定されるメイン試験パターンをメインルーチン用に予め用意したメモリに格納し、前記サブルーチンに指定されるサブ試験パターンをサブルーチン用に予め用意したメモリに格納して出力するパターン発生器と、前記メインルーチン用に予め用意したメモリから読み出された前記メイン試験パターン、及び前記サブルーチン用に予め用意したメモリから読み出された前記サブ試験パターンの一方を選択するマルチプレクサと、前記マルチプレクサにより選択された前記試験パターンを構成する少なくとも一つの信号の物理的位置を、前記電気部品の電気的端子の配列に合わせて並べ替えるピンデータセレクタと、前記ピンデータセレクタから出力された前記試験パターンに含まれる、前記入力試験パターンの波形を整形する波形整形器と、前記電気部品を差し込んで、前記波形整形器により整形された前記入力試験パターンを前記電気部品に与えるデバイス差込部と、前記入力試験パターンを与えることにより前記電気部品から出力された出力信号と前記期待値パターンとを比較する比較器とを備えたことを特徴とする試験装置。 【請求項29】 電気部品の電気的試験に用いる試験パターンを生成するパターン発生方法において、生成すべき前記試験パターンの順序を示すベクトル命令を格納するベクトルメモリから前記ベクトル命令を読み出す読み出しステップと、読み出された前記ベクトル命令を用いて、前記試験パターンを格納するパターンメモリにおける、生成すべき前記試験パターンのアドレスがジャンプするか否かを判断する判断ステップと、前記アドレスがジャンプすると判断した場合に、前記パターンメモリにおけるジャンプ先のアドレスから前記試験パターンを読み出してパターンキャッシュメモリに転送する転送ステップと、を備えたことを特徴とするパターン発生方法。 【請求項30】 前記試験パターンは、メイン試験パターンと、当該メイン試験パターンの間に複数回繰り返し挿入されるサブ試験パターンとを有しており、前記判断ステップは、前記サブ試験パターンが呼び出されたか否かを判断し、前記転送ステップは、前記パターンメモリから読み出された前記メイン試験パターンを、前記パターンキャッシュメモリ中に設けられたメイン試験パターンキャッシュメモリに格納するステップと、前記サブ試験パターンが呼び出された場合に、前記パターンメモリから読み出した前記サブ試験パターンを、前記パターンキャッシュメモリ中に設けられたサブ試験パターンキャッシュメモリに格納するステップとを有することを特徴とする請求項29に記載のパターン発生方法。 【請求項31】 前記判断ステップは、前記サブ試験パターンを呼び出す命令を検出するステップを有し、前記サブ試験パターンを呼び出す命令を前記判断ステップで検出すると、前記転送ステップは、前記サブ試験パターンを前記パターンメモリから前記サブ試験パターンキャッシュメモリに転送することを特徴とする請求項30に記載のパターン発生方法。 【請求項32】 電気部品の電気的試験に用いる試験パターンを生成するパターン発生方法において、前記試験パターンはメイン試験パターンと、当該メイン試験パターンの間に繰り返し挿入されるサブ試験パターンとを有しており、前記メイン試験パターン及び前記サブ試験パターンを格納するパターンメモリから前記メイン試験パターンを読み出してメイン試験パターンキャッシュメモリに転送するステップと、前記パターンメモリから前記サブ試験パターンを読み出してサブ試験パターンキャッシュメモリに転送するステップとを備えたことを特徴とするパターン発生方法。 【請求項33】 前記メイン試験パターンキャッシュメモリは2つのパターンメモリバンクを有し、前記パターンメモリから読み出された前記メイン試験パターンが前記2つのパターンメモリバンクのいずれか一方に転送されているときに、他方のパターンメモリバンクから予め格納された前記メイン試験パターンを読み出して前記電気部品へ提供するステップを更に備えたことを特徴とする請求項30又は32に記載のパターン発生方法。 【請求項34】 前記サブ試験パターンキャッシュメモリは2つのパターンメモリバンクを有し、前記パターンメモリから読み出された前記サブ試験パターンが前記2つのパターンメモリバンクのいずれか一方に転送されているときに、他方のパターンメモリバンクから予め格納された前記サブ試験パターンを読み出して前記電気部品へ提供するステップを更に備えたことを特徴とする請求項30又は32に記載のパターン発生方法。 【請求項35】 前記試験パターンの生成順序を示すベクトル命令を格納するベクトルメモリから前記ベクトル命令を読み出す読み出しステップと、読み出された前記ベクトル命令を用いて、前記サブ試験パターンを生成すべきことを予め判断する判断ステップと、前記サブ試験パターンを生成すべきことを検出すると、前記サブ試験パターンを前記パターンメモリから前記サブ試験パターンキャッシュメモリに転送するステップとを更に備えたことを特徴とする請求項32に記載のパターン発生方法。 【請求項36】 前記読み出しステップで前記ベクトルメモリから読み出した前記ベクトル命令をベクトルキャッシュメモリに格納するステップを更に備えたことを特徴とする請求項29又は35に記載のパターン発生方法。 【請求項37】 前記ベクトルキャッシュメモリから読み出された前記ベクトル命令を用いて、前記パターンメモリから読み出すべき前記試験パターンのアドレスを生成するアドレス生成ステップを更に備えたことを特徴とする請求項36に記載のパターン発生方法。 【請求項38】 前記ベクトルキャッシュメモリは、3つのベクトルメモリバンクを有し、前記アドレス生成ステップは、前記3つのベクトルメモリバンクの一つに前記ベクトル命令が書き込まれているときに、他のベクトルメモリバンクの一つから読み出された前記ベクトル命令を用いて前記アドレスを生成することを特徴とする請求項37に記載のパターン発生方法。 【請求項39】 前記サブ試験パターンの最終アドレスを判断するステップを更に有し、前記最終アドレスにおける前記サブ試験パターンの転送が終了し、更に新たなサブ試験パターンが呼び出されると前記判断ステップが判断した場合に、前記転送ステップは、前記新たなサブ試験パターンを前記パターンメモリから前記サブ試験パターンキャッシュメモリに転送することを特徴とする請求項30又は35に記載のパターン発生方法。 【請求項40】 前記サブ試験パターンキャッシュメモリは、前記サブ試験パターンを順次更新しつつ出力できるリングバッファと、前記サブ試験パターンを格納して出力できる固定バッファとを有し、前記ベクトル命令は、前記メイン試験パターンを前記パターンメモリから読み出すメインルーチンと、前記サブ試験パターンを前記パターンメモリから読み出すサブルーチンとを含み、前記サブ試験パターンキャッシュメモリに格納するステップは、前記サブルーチンにより前記パターンメモリから順次呼び出される前記サブ試験パターンの先頭部分を前記固定バッファに格納するステップと、前記サブルーチンが実行された場合に、前記サブルーチンにより前記パターンメモリから呼び出される前記サブ試験パターンの中で、前記固定バッファに格納されていない前記サブ試験パターンを前記リングバッファに順次格納するステップを更に備えたことを特徴とする請求項30に記載のパターン発生方法。 【請求項41】 データ格納部に格納されているデータ群を一時的に格納して出力するキャッシュ装置において、前記データ群に含まれる一部のデータを一時的に格納する固定バッファと、前記固定バッファに格納された前記データと異なる、前記データ群中のデータを順次更新しつつ出力できるリングバッファと、前記データ群の先頭部分のデータを前記固定バッファに格納させ、前記先頭部のデータと異なる部分を前記リングバッファに格納させる転送制御部と、を備え、前記固定バッファ及び前記リングバッファは格納したデータを出力することを特徴とするキャッシュ装置。 【請求項42】 前記データ格納部が第1のデータ群及び第2のデータ群を格納している場合に、前記転送制御部は前記第1のデータ群及び前記第2のデータ群のそれぞれの先頭部分のデータを前記固定バッファに格納させることを特徴とする請求項41に記載のキャッシュ装置。 【請求項43】 前記固定バッファ及び/又は前記リングバッファに格納される前記データは、該キャッシュ装置から出力されるべき順に前記データ格納部から呼び出されることを特徴とする請求項41または42に記載のキャッシュ装置。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】この発明は、電気部品の電気的試験装置並びに電気的試験装置に用いる試験パターンを生成するパターン発生器及び発生方法に関する。 【0002】 【従来の技術】従来、電気部品の試験装置に用いられる試験パターン発生器には、所定の試験パターンの発生するために、SRAMを用いたり、SRAMでは容量が足りない場合に大容量のDRAMを用いていた。DRAMを用いた場合には、DRAMが一定時間毎のリフレッシュ動作が必要な点や、ROWアドレスの異なるアドレスをアクセスする際の不都合を回避すべく、DRAMからキャッシュメモリを介してパターン発生を行っていた。 【0003】図1は、従来の、SRAMを用いたパターン発生器の構成を示すブロック図である。従来のパターン発生器は、ベクトルメモリ12、読み出し制御部14,ベクトルメモリバンク16、18、ベクトル命令マルチプレクサ20及びアドレス展開部22から構成されるシーケンス制御部62と、SRAMを用いたパターンメモリからなるパターン信号生成部26とで構成されている。シーケンス制御部62では、所望の順序に従ってアドレス信号24が生成される。このアドレス信号24がパターン信号生成部26に入力されることにより、パターン信号生成部に格納されたメモリアドレスと個々の試験パターンとが対応づけられて、所定の試験パターン列となって試験パターンが生成される。 【0004】シーケンス制御部62においては、読み出し制御部14は、ベクトルメモリ12に格納されたベクトル命令を読み出す。ベクトル命令はベクトルメモリバンク16、18に一時的に格納される。ベクトルメモリバンク16及び18に一時的に格納されたベクトル命令をベクトル命令マルチプレクサ20が選択し、アドレス展開部22へ転送する。アドレス展開部22によりアドレス展開されたアドレス信号24は、パターン信号生成部26へ転送される。パターン信号生成部26においては、アドレス信号24に基づいて、パターンメモリに格納された種々のパターン信号が対応づけられて、電気部品試験用のパターン信号28を発生させる。 【0005】図2は、ベクトルメモリ12に格納されるべきパターンプログラムの一例を示す。ここで、「GOSUB A」とあるのは、ラベルAで示されるサブルーチンへの分岐命令である。「RETURN」はサブルーチンの終了を意味し、「GOSUB」の次の行(1つ加算したアドレス)に戻る命令である。「REPEATn」は、そのアドレスの試験パターンをn回繰り返す命令である。「NEXT」は、アドレスを次に進める(1つ加算する)命令である。「STOP」は試験を終了する命令である。 【0006】これらのベクトル命令により、個々の試験パターンを組み合わせて、電気部品の試験のために必要な試験パターンを構成する。ここで、アドレス#11から#15はラベルAで表されており、サブルーチンとして機能する。 【0007】図3は、ベクトルメモリに格納する圧縮されたパターンプログラムの一例を示す。図2に示したベクトル命令のプログラムは、同じ命令を多数の回数繰り返す場合があるので、実際には図3のように多数の回数実行する命令を省略した状態でベクトルメモリに格納する。本明細書においては、「NEXT」命令を省略し、パターンプログラムを全体として圧縮する。このような圧縮されたプログラムによれば、小規模なベクトルメモリでパターン発生器を構成しうる。 【0008】図3において「GOSUB A #0 #11」は、アドレス#0が「GOSUB A」命令で分岐先のアドレスは#11であることを示す。「REPEAT3 #3」は、アドレス#3が「REPEAT 3」命令、すなわち、アドレス#3の命令を3回繰り返す命令であることを示す。これにより、アドレス#0の「GOSUB A」とアドレス#3の「REPEAT 3」の間に2つのNEXT命令(アドレス#1、#2)があることを示すことになり、パターンプログラムは全体として圧縮されている。 【0009】図4は、パターン信号生成部26に格納する命令を示す。PAT0、PAT1、・・・と示した所定のパターンを、図示しない外部記憶装置、例えばハードディスクから予め格納しておき、起動時にハードディスクから読み出してパターン信号生成部26のアドレス#0、#1、・・・に順次格納しておく。 【0010】図5は、従来のパターン発生器の動作を示す。図5では、例えば、2つのベクトルメモリバンク16、18のワード数をそれぞれ3ワードとした場合を示している。まず、試験開始に先立ち、パターン発生器60を初期化する。この初期化においては図1の読み出し制御部14からの指令に基づき、ベクトルメモリ12からベクトル命令を読み出してベクトルメモリバンク16に予め書き込んでおく。 【0011】すなわち、ベクトルメモリ12に格納されている命令を図1の読み出し制御部14により、シーケンスを考慮して、ベクトルメモリバンク16に転送する。「GOSUB A」はラベルAに分岐する命令なので、「GOSUB A #0#11」の次に命令「REPEAT2 #13」を記述する。 【0012】「REPEAT」命令が終了すると次のアドレスに進むので、REPEAT命令の次には、命令「RETURN#15、#1」を記述しておく。このようにプログラムの最初の3ワードをベクトルメモリバンク16に書き込むことにより初期化は終了する。パターン発生器60の初期化が終了した後、試験が開始される。この試験は、以下の動作に従って行われる。まず、パターン発生器60の初期化時にベクトルメモリバンク16に格納した、圧縮命令を図1のアドレス展開部14で展開する。 【0013】アドレス信号24は、SRAMを用いたパターンメモリを有するパターン生成部26に供給される。パターン生成部26はアドレス信号24に基づいて、格納されている試験パターンを出力し、試験パターン信号を電気部品76に印可する。ベクトル命令マルチプレクサ20は、試験開始後、既にベクトル命令が書き込まれているベクトルメモリバンクから選択的に圧縮命令をアドレス展開部22に供給する。 【0014】初期化によりベクトルメモリバンク16に書き込まれた3ワードのプログラムは、以下の内容を有する。まず、「GOSUB A#0、#11」によってアドレス信号が#0から#11に移行する。次に「REPEAT2#13」によって、アドレスが#11から#13まで1つずつ進められ、#13が2回繰り返された後#14に進められる。次のRETURN#15#1によってアドレスが#14から#15に進められた後、#1に移行される。 【0015】ベクトルメモリバンク16により試験パターンの発生が行われている間に、読み出し制御部14の指令に基づいて、次に実行するベクトル命令をベクトルメモリ12からベクトルメモリバンク18に転送しておく。ベクトルメモリバンク16による試験パターン発生の終了後、ベクトルメモリバンク18に格納された圧縮命令に基づいて試験パターンが発生される。ベクトルメモリバンク18に格納された圧縮命令に基づいて試験パターンの発生が行われている間に、読み出し制御部14の指令に基づいて、次に実行するベクトル命令をベクトルメモリ12からベクトルメモリバンク16に転送しておく。同様に、ベクトルメモリバンク18からの試験パターン発生の終了後、ベクトルメモリバンク16により試験パターンの発生が行われる。 【0016】この動作を繰り返すことにより間断のない試験パターンの発生を実現することができる。このように、従来の試験パターン発生器においては、電気部品76を試験する試験パターンについて、例えば「GOSUB」命令及び「ラベルA」で表されるようなサブルーチンによる共通の初期化パターンを使用することによって、パターンプログラムを短くしている。また、パターンプログラムを短くすることにより、ベクトルメモリ12の容量を少なくしている。 【0017】図6は、従来の、DRAMを用いたパターン生成部26の構成を示すブロック図である。パターン生成部26は、DRAMからなるパターンメモリ32と、転送制御部34と、パターンメモリ用のマルチプレクサ36及び38と、パターンメモリ用キャッシュメモリ40及び42と、パターンキャッシュメモリ用マルチプレクサ44を有する。 【0018】パターン生成部26にDRAMを用いる場合、パターンメモリ32から、キャッシュメモリ40,42を介してパターン信号を発生している。かかるパターン生成部26の動作を説明する。アドレス信号24は、マルチプレクサ36、38及び44と、転送制御部34に転送される。アドレス信号24がマルチプレクサ44に入力されると、例えば、その上位ビットの相違に基づいてキャッシュメモリバンク40又は42のいずれかが選択され、選択されたキャッシュメモリバンクからパターン信号を読み出して、送出する。 【0019】アドレス信号はまた、マルチプレクサ36又は38及び転送制御部34に入力され、アドレスの基準となるビットに基づいて、パターン信号の読み出しが完了されたキャッシュメモリバンクへ、その側のマルチプレクサを介して、次のパターン信号をパターンメモリ32から転送する。このように、アドレス信号が転送制御部34に入力されると、パターンメモリ32から試験パターンが交互にキャッシュメモリ40,42に転送され、前記アドレス情報に基づいてマルチプレクサ44により所望の試験パターンが発生される。 【0020】 【発明が解決しようとする課題】パターン信号生成部26のパターンメモリにSRAMを用いた場合、サブルーチンを用いてパターンメモリの容量を節約することができる。しかし、近年の電気部品の大規模化及び多機能化に伴い、一つの電気部品の試験に必要な試験パターン数が増加している。このため、パターン数に対してSRAMの容量が不足する。このため、パターン発生器にはDRAMを用いざるを得なかった。 【0021】図7は、初期化パターンを各試験項目の先頭に配置したパターンプログラムを示す。DRAMからは連続したアドレスしかキャッシュメモリに高速に転送できない。しかし、連続したアドレスのみをキャッシュメモリに転送した場合には、キャッシュメモリの範囲を超えてサブルーチンに分岐することができない。これを避けるために、各試験項目の初期化パターン等を、サブルーチンにする代わりに各試験項目の先頭に記述する。しかしサブルーチンを用いずに、試験項目の数と同じ回数の初期化パターンを配置した場合には、非常に大きな容量のDRAMが必要となる。 【課題を解決するための手段】上記課題を解決するために、本発明の第1の形態は、電気部品の電気的試験に用いる試験パターンを生成するパターン発生器において、前記試験パターンを格納するパターンメモリと、前記パターンメモリから読み出された前記試験パターンを格納するパターンキャッシュメモリと、生成すべき前記試験パターンの順序を示すベクトル命令を格納するベクトルメモリと、前記ベクトルメモリから読み出された前記ベクトル命令を用いて、前記パターンメモリから読み出すべき前記試験パターンのアドレスがジャンプするか否かを判断する読み出し制御部と、前記アドレスがジャンプすると前記読み出し制御部が判断した場合に、前記パターンメモリにおけるジャンプ先のアドレスから前記試験パターンを読み出して前記パターンキャッシュメモリに転送する転送制御部とを備えたことを特徴とするパターン発生器を提供する。 【0022】また、前記試験パターンはメイン試験パターンと、当該メイン試験パターンの間に複数回繰り返して挿入されるサブ試験パターンとを有しており、前記パターンキャッシュメモリは、前記パターンメモリから読み出された前記メイン試験パターンを格納するメイン試験パターンキャッシュメモリと、前記パターンメモリから読み出された前記サブ試験パターンを格納するサブ試験パターンキャッシュメモリとを有してもよい。 【0023】また、前記読み出し制御部は、前記サブ試験パターンを呼び出す命令を検出する手段を更に有し、前記転送制御部は、前記サブ試験パターンを読み出す命令を前記読み出し制御部が検出すると、前記サブ試験パターンを前記パターンメモリから前記サブ試験パターンキャッシュメモリに転送する手段を更に有してもよい。 【0024】また、前記メイン試験パターンキャッシュメモリは2つのパターンメモリバンクを有し、前記パターンメモリから読み出した前記メイン試験パターンを前記2つのパターンメモリバンクの一方に転送しているときに、他方のパターンメモリバンクから予め格納された前記メイン試験パターンを読み出して前記電気部品へ提供するメイン試験パターンマルチプレクサを更に備えてもよい。 【0025】また、前記サブ試験パターンキャッシュメモリは2つのパターンメモリバンクを有し、前記パターンメモリから読み出した前記サブ試験パターンを前記2つのパターンメモリバンクの一方に転送しているときに、他方のパターンメモリバンクから予め格納された前記サブ試験パターンを読み出して前記電気部品へ提供するサブ試験パターンマルチプレクサを更に備えてもよい。 【0026】また、前記試験パターンの生成順序を示すベクトル命令を格納するベクトルメモリと、前記ベクトルメモリから読み出された前記ベクトル命令を用いて、前記サブ試験パターンを生成すべきことを予め検出する読み出し制御部と、前記サブ試験パターンを生成すべきことを前記読み出し制御部が検出すると、前記サブ試験パターンを前記パターンメモリから前記サブ試験パターンキャッシュメモリに転送する転送制御部とを更に備えてもよい。 【0027】また、前記ベクトルメモリから読み出した前記ベクトル命令を格納するベクトルキャッシュメモリを更に備え、前記読み出し制御部は、前記ベクトルメモリから読み出した前記ベクトル命令を前記ベクトルキャッシュメモリに転送するときに、前記サブ試験パターンを生成すべきことを検出してもよい。 【0028】また、前記ベクトルキャッシュメモリから読み出された前記ベクトル命令を用いて、前記パターンメモリから読み出すべき前記試験パターンのアドレスを生成するアドレス展開部を更に備えてもよい。また、前記ベクトルキャッシュメモリは、3つのベクトルメモリバンクを有し、前記3つのベクトルメモリバンクの一つに前記ベクトル命令が書き込まれているときに、他のベクトルメモリバンクの一つから読み出された前記ベクトル命令を前記アドレス展開部へ提供するベクトル命令マルチプレクサを更に備えてもよい。 【0029】また、前記読み出し制御部は、前記サブ試験パターンの最終アドレスを検出する手段を更に有し、前記転送制御部は、前記読み出し制御部が検出した前記最終アドレスにおける前記サブ試験パターンの転送が終了し、更にその後に呼び出される新たなサブ試験パターンを前記読み出し制御部が検出した場合に、前記新たなサブ試験パターンを前記サブ試験パターンキャッシュメモリに転送してもよい。 【0030】また、前記サブ試験パターンキャッシュメモリは、前記サブ試験パターンを順次更新しつつ出力できるリングバッファと、前記サブ試験パターンを格納して出力できる固定バッファとを有してもよい。 【0031】また、前記ベクトル命令は、前記メイン試験パターンを前記パターンメモリから読み出すメインルーチンと、前記サブ試験パターンを前記パターンメモリから読み出すサブルーチンとを含み、前記転送制御部は、前記サブルーチンにより前記パターンメモリから順次呼び出される前記サブ試験パターンの先頭部分を前記固定バッファに格納して、前記サブルーチンが実行された場合に、前記サブルーチンにより前記パターンメモリから呼び出される前記サブ試験パターンの中で、前記固定バッファに格納されていない前記サブ試験パターンを前記リングバッファに順次格納して出力してもよい。 【0032】また、前記読み出し制御部は、前記ベクトルメモリに格納されている前記サブルーチンの情報を検出する情報検出部を更に有し、前記サブルーチンの前記情報に基づいて、前記転送制御部は、前記サブ試験パターンを前記固定バッファ及び/又は前記リングバッファのいずれかに格納してもよい。また、前記情報検出部は、前記サブルーチンの先頭アドレスを検出し、検出した前記先頭アドレスに基づいて、前記サブルーチンの先頭部分により前記パターンメモリから呼び出される前記サブ試験パターンを前記固定バッファに格納してもよい。また、前記情報検出部は、前記ベクトルメモリに格納されている前記サブルーチンの数を検出するサブルーチン数検出部を有し、前記サブルーチンの数が複数の場合に、前記転送制御部は、複数の前記サブルーチンの先頭部分により前記パターンメモリから呼び出される前記サブ試験パターンを前記固定バッファにそれぞれ格納させてもよい。 【0033】また、前記サブルーチン数検出部は、前記ベクトル命令に含まれる復帰命令の数を検出する復帰命令検出部と、前記復帰命令の数をカウントするサブルーチン数格納部とを有してもよい。また、前記サブルーチン数検出部は、前記ベクトル命令に含まれるジャンプ命令を検出するジャンプ命令検出部と、前記ジャンプ命令に指定されるジャンプ先のアドレスが、少なくとも1度ジャンプ先のアドレスとして指定されたか否かを判定する判定部と、前記判定部が、1度もジャンプ先のアドレスとして指定されていないと判定した数をカウントするサブルーチン数格納部とを有してもよい。また、前記判定部は、1度もジャンプ先のアドレスとして指定されていないと判定した前記ジャンプ先のアドレスを格納するレジスタと、前記ジャンプ命令検出部が前記ジャンプ命令を検出した場合に、前記レジスタに格納されている前記ジャンプ先のアドレスと、前記ジャンプ命令に指定されるジャンプ先のアドレスとが一致するか否かを検出する一致検出部とを有してもよい。 【0034】また、前記情報検出部は、前記サブ試験パターンの容量を検出する容量検出部を更に有し、前記サブ試験パターンの容量が前記サブ試験パターンキャッシュメモリの容量より小さい場合に、前記リングバッファを第2の固定バッファとして前記サブ試験パターンを格納してもよい。また、前記容量検出部は、前記サブルーチンに呼び出される前記サブ試験パターンのうち最初に呼び出されるサブ試験パターンのアドレスを検出する先頭アドレス検出部と、前記サブルーチンに呼び出される前記サブ試験パターンのうち最後に呼び出されるサブ試験パターンのアドレスを検出する最終アドレス検出部とを有し、前記最後に呼び出される試験パターンのアドレスから前記最初に呼び出される試験パターンのアドレスを減じて前記試験パターンの容量を検出してもよい。また、前記情報検出部は、前記ベクトル命令を前記ベクトルメモリに格納する際に前記サブルーチンの情報を検出してもよい。また、前記固定バッファは、前記パターンメモリに格納されている前記サブ試験パターンを前記リングバッファに格納するのに必要な時間より、前記固定バッファに格納された前記サブ試験パターンをすべて出力するのに掛かる時間の方が長くなるように前記サブ試験パターンを格納してもよい。 【0035】本発明の第2の形態は、試験パターンを用いて電気部品の電気的特性を試験する試験装置であって、前記試験の為に前記電気部品に与える入力試験パターン、及び当該入力試験パターンを正常な前記電気部品に与えたときに前記電気部品から出力される期待値パターンを含む、試験パターンを格納するパターンメモリと、前記パターンメモリから読み出された前記試験パターンを格納するパターンキャッシュメモリと、生成すべき前記試験パターンの順序を示すベクトル命令を格納するベクトルメモリと、前記ベクトルメモリから読み出された前記ベクトル命令を用いて、前記パターンメモリから読み出すべき前記試験パターンのアドレスがジャンプするか否かを判断する読み出し制御部と、前記アドレスがジャンプすると前記読み出し制御部が判断した場合に、前記パターンメモリにおけるジャンプ先のアドレスから前記試験パターンを読み出して前記パターンキャッシュメモリに転送する転送制御部と前記パターンキャッシュメモリから読み出された前記試験パターンを構成する少なくとも一つの信号の物理的位置を、前記電気部品の電気的端子の配列に合わせて並べ替えるピンデータセレクタと、前記ピンデータセレクタから出力された前記試験パターンに含まれる、前記入力試験パターンの波形を整形する波形整形器と、前記電気部品を差し込んで、前記波形成型器により整形された前記入力試験パターンを前記電気部品に与えるデバイス差込部と、前記入力試験パターンを与えることにより前記電気部品から出力された出力信号と前記期待値パターンとを比較する比較器とを備えたことを特徴とする試験装置を提供する。 【0036】本発明の第3の形態は、試験パターンを用いて電気部品の電気的特性を試験する試験装置であって、前記試験パターンはメイン試験パターンと、当該メイン試験パターンの間に繰り返し挿入されるサブ試験パターンを有し、前記メイン試験パターン及び前記サブ試験パターンはそれぞれ、前記試験の為に前記電気部品に与える入力試験パターン、及び当該入力試験パターンを正常な前記電気部品に与えたときに前記電気部品から出力される期待値パターンを含み、前記メイン試験パターン及び前記サブ試験パターンを格納するパターンメモリと、前記パターンメモリから読み出された前記メイン試験パターンを格納するメイン試験パターンキャッシュメモリと、前記パターンメモリから読み出された前記サブ試験パターンを格納するサブ試験パターンキャッシュメモリと、前記メイン試験パターンキャッシュメモリから読み出された前記メイン試験パターン、及び前記サブ試験パターンキャッシュメモリから読み出された前記サブ試験パターンの一方を選択するマルチプレクサと、前記マルチプレクサにより選択された前記試験パターンを構成する少なくとも一つの信号の物理的位置を、前記電気部品の電気的端子の配列に合わせて並べ替えるピンデータセレクタと、前記ピンデータセレクタから出力された前記試験パターンに含まれる、前記入力試験パターンの波形を整形する波形整形器と、前記電気部品を差し込んで、前記波形整形器により整形された前記入力試験パターンを前記電気部品に与えるデバイス差込部と、前記入力試験パターンを与えることにより前記電気部品から出力された出力信号と前記期待値パターンとを比較する比較器とを備えたことを特徴とする試験装置を提供する。 【0037】本発明の第4の形態は、試験パターンを用いて電気部品の電気的特性を試験する試験装置であって、前記試験パターンをメインルーチンとサブルーチンとを含むベクトル命令に基づいて生成し、前記試験パターンはメイン試験パターンと、当該メイン試験パターンの間に繰り返し挿入されるサブ試験パターンを有し、前記メイン試験パターン及び前記サブ試験パターンはそれぞれ、前記試験の為に前記電気部品に与える入力試験パターン、及び当該入力試験パターンを正常な前記電気部品に与えたときに前記電気部品から出力される期待値パターンを含み、前記メインルーチンに指定されるメイン試験パターンをメインルーチン用に確保されたメモリ領域に格納し、前記サブルーチンに指定されるサブ試験パターンをサブルーチン用に確保されたメモリ領域に格納して出力するパターン発生器と、前記メインルーチン用に確保されたメモリ領域から読み出された前記メイン試験パターン、及び前記サブルーチン用に確保されたメモリ領域から読み出された前記サブ試験パターンの一方を選択するマルチプレクサと、前記マルチプレクサにより選択された前記試験パターンを構成する少なくとも一つの信号の物理的位置を、前記電気部品の電気的端子の配列に合わせて並べ替えるピンデータセレクタと、前記ピンデータセレクタから出力された前記試験パターンに含まれる、前記入力試験パターンの波形を整形する波形整形器と、前記電気部品を差し込んで、前記波形整形器により整形された前記入力試験パターンを前記電気部品に与えるデバイス差込部と、前記入力試験パターンを与えることにより前記電気部品から出力された出力信号と前記期待値パターンとを比較する比較器とを備えたことを特徴とする試験装置を提供する。 【0038】本発明の第5の形態は、電気部品の電気的試験に用いる試験パターンを生成するパターン発生方法において、生成すべき前記試験パターンの順序を示すベクトル命令を格納するベクトルメモリから前記ベクトル命令を読み出す読み出しステップと、読み出された前記ベクトル命令を用いて、前記試験パターンを格納するパターンメモリにおける、生成すべき前記試験パターンのアドレスがジャンプするか否かを判断する判断ステップと、前記アドレスがジャンプすると判断した場合に、前記パターンメモリにおけるジャンプ先のアドレスから前記試験パターンを読み出してパターンキャッシュメモリに転送する転送ステップと、を備えたことを特徴とするパターン発生方法を提供する。 【0039】また、前記試験パターンは、メイン試験パターンと、当該メイン試験パターンの間に複数回繰り返し挿入されるサブ試験パターンとを有しており、前記判断ステップは、前記サブ試験パターンが呼び出されたか否かを判断し、前記転送ステップは、前記パターンメモリから読み出された前記メイン試験パターンを、前記パターンキャッシュメモリ中に設けられたメイン試験パターンキャッシュメモリに格納するステップと、前記サブ試験パターンが呼び出された場合に、前記パターンメモリから読み出した前記サブ試験パターンを、前記パターンキャッシュメモリ中に設けられたサブ試験パターンキャッシュメモリに格納するステップとを有してもよい。 【0040】また、前記判断ステップは、前記サブ試験パターンを呼び出す命令を検出するステップを有し、前記サブ試験パターンを呼び出す命令を前記判断ステップで検出すると、前記転送ステップは、前記サブ試験パターンを前記パターンメモリから前記サブ試験パターンキャッシュメモリに転送してもよい。 【0041】本発明の第6の形態は、電気部品の電気的試験に用いる試験パターンを生成するパターン発生方法において、前記試験パターンはメイン試験パターンと、当該メイン試験パターンの間に繰り返し挿入されるサブ試験パターンとを有しており、前記メイン試験パターン及び前記サブ試験パターンを格納するパターンメモリから前記メイン試験パターンを読み出してメイン試験パターンキャッシュメモリに転送するステップと、前記パターンメモリから前記サブ試験パターンを読み出してサブ試験パターンキャッシュメモリに転送するステップとを備えたことを特徴とするパターン発生方法を提供する。 【0042】また、前記メイン試験パターンキャッシュメモリは2つのパターンメモリバンクを有し、前記パターンメモリから読み出された前記メイン試験パターンが前記2つのパターンメモリバンクのいずれか一方に転送されているときに、他方のパターンメモリバンクから予め格納された前記メイン試験パターンを読み出して前記電気部品へ提供するステップを更に備えてもよい。 【0043】また、前記サブ試験パターンキャッシュメモリは2つのパターンメモリバンクを有し、前記パターンメモリから読み出された前記サブ試験パターンが前記2つのパターンメモリバンクのいずれか一方に転送されているときに、他方のパターンメモリバンクから予め格納された前記サブ試験パターンを読み出して前記電気部品へ提供するステップを更に備えてもよい。 【0044】また、前記試験パターンの生成順序を示すベクトル命令を格納するベクトルメモリから前記ベクトル命令を読み出す読み出しステップと、読み出された前記ベクトル命令を用いて、前記サブ試験パターンを生成すべきことを予め判断する判断ステップと、前記サブ試験パターンを生成すべきことを検出すると、前記サブ試験パターンを前記パターンメモリから前記サブ試験パターンキャッシュメモリに転送するステップとを更に備えてもよい。 【0045】また、前記読み出しステップで前記ベクトルメモリから読み出した前記ベクトル命令をベクトルキャッシュメモリに格納するステップを更に備えてもよい。また、前記ベクトルキャッシュメモリから読み出された前記ベクトル命令を用いて、前記パターンメモリから読み出すべき前記試験パターンのアドレスを生成するアドレス生成ステップを更に備えてもよい。また、前記ベクトルキャッシュメモリは、3つのベクトルメモリバンクを有し、前記アドレス生成ステップは、前記3つのベクトルメモリバンクの一つに前記ベクトル命令が書き込まれているときに、他のベクトルメモリバンクの一つから読み出された前記ベクトル命令を用いて前記アドレスを生成してもよい。 【0046】また、前記サブ試験パターンの最終アドレスを判断するステップを更に有し、前記最終アドレスにおける前記サブ試験パターンの転送が終了し、更に新たなサブ試験パターンが呼び出されると前記判断ステップが判断した場合に、前記転送ステップは、前記新たなサブ試験パターンを前記パターンメモリから前記サブ試験パターンキャッシュメモリに転送してもよい。 【0047】また、前記サブ試験パターンキャッシュメモリは、前記サブ試験パターンを順次更新しつつ出力できるリングバッファと、前記サブ試験パターンを格納して出力できる固定バッファとを有し、前記ベクトル命令は、前記メイン試験パターンを前記パターンメモリから読み出すメインルーチンと、前記サブ試験パターンを前記パターンメモリから読み出すサブルーチンとを含み、前記サブ試験パターンキャッシュメモリに格納するステップは、前記サブルーチンにより前記パターンメモリから順次呼び出される前記サブ試験パターンの先頭部分を前記固定バッファに格納するステップと、前記サブルーチンが実行された場合に、前記サブルーチンにより前記パターンメモリから呼び出される前記サブ試験パターンの中で、前記固定バッファに格納されていない前記サブ試験パターンを前記リングバッファに順次格納するステップを更に備えてもよい。 【0048】本発明の第7の形態は、データ格納部に格納されているデータ群を一時的に格納して出力するキャッシュ装置において、前記データ群に含まれる一部のデータを一時的に格納する固定バッファと、前記固定バッファに格納された前記データと異なる、前記データ群中のデータを順次更新しつつ出力できるリングバッファと、前記データ群の先頭部分のデータを前記固定バッファに格納させ、前記先頭部のデータと異なる部分を前記リングバッファに格納させる転送制御部とを備え、前記固定バッファ及び前記リングバッファは格納したデータを出力することを特徴とするキャッシュ装置を提供する。 【0049】また、前記データ格納部が第1のデータ群及び第2のデータ群を格納している場合に、前記転送制御部は前記第1のデータ群及び前記第2のデータ群のそれぞれの先頭部分のデータを前記固定バッファに格納させてもよい。また、前記固定バッファ及び/又は前記リングバッファに格納される前記データは、該キャッシュ装置から出力されるべき順に前記データ格納部から呼び出されてもよい。 【0050】なお上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションも又発明となりうる。 【0051】 【発明の実施の形態】以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態はクレームにかかる発明を限定するものではなく、又実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。 【0052】図8は、本発明に係る試験装置の全体の構成を示すブロック図である。本発明に係る試験装置は、シーケンス制御部62とパターン生成部26とを有するパターン発生器60と、ピンデータセレクタ66と、波形整形器72と、差込口78を備えたデバイス差込部80と、比較器84とを備える。パターン発生器60は、電気部品の電気的試験76の為に電気部品76に与える入力試験パターン、及び当該入力試験パターンを正常な電気部品76に与えたときに電気部品76から出力されるべき期待値パターンを含む試験パターンをピンデータセレクタ66に転送する。 【0053】なお本明細書において「電気部品」とは、電流又は電圧に応じて所定の作用を行う部品をいう。例えば、ICやLSIのような能動素子からなる半導体部品のみならず受動素子、各種センサーも含まれる。さらに、これら部品を結合して一つのパッケージに収めたものや、さらには、これらをプリント基板に装着して所定の機能を実現したブレッドボード等をも含む。また本明細書において「試験パターン」とは、前記電気的試験を行うための、前記電気部品への入力デジタル信号又は出力として予測されるデジタル信号の時間的又は空間的な配列をいう。更に「期待値パターン」とは、所定の信号を入力した場合に前記電気部品の出力として予測されるデジタル信号の時間的又は空間的な配列をいう。 【0054】ピンデータセレクタ66は、パターン発生器から転送された試験パターンを構成する少なくとも一つの信号の物理的位置を、電気部品76の電気的端子の配列に合わせて並べ替え、期待値パターンを比較器84に転送し、試験パターンを波形整形器72に転送する。波形整形器72は、ピンデータセレクタ66から出力された試験パターンに含まれる入力試験パターンの波形を整形し、デバイス差込部80に転送する。デバイス差込部80は、電気部品76が差し込まれる差込口78を備えるデバイス差込部80によって、波形整形器72から転送された試験パターンを差込口78を通じて、差し込まれた電気部品76の入力端子に供給される。電気部品76は、所定の出力端子からその機能に基づいて出力パターンを送出し、比較器84に転送する。 【0055】比較器84は、電気部品76からの出力パターンとピンデータセレクタ66から転送された期待値パターンとを比較する。比較器84は、出力パターンと期待値パターンとが一致していれば、電気部品76は正常な動作を行っていると判断し、一致していなければ電気部品76は正常動作をしていないと判断する。パターン発生器60に試験パターン及び期待値パターンをすべて格納しておくことを前提とするが、パターンメモリ32の容量が少ない場合にはパターンメモリ32を途中で書き換えることもできる。 【0056】図9は、本発明に係るパターン発生器のシーケンス制御部の構成を示すブロック図である。シーケンス制御部62は、ベクトルメモリ12と、読み出し制御部14と、3つのベクトルメモリバンク16、18、19及びベクトル命令マルチプレクサ20を備えたベクトルキャッシュメモリ56と、アドレス展開部22とを備える。読み出し制御部14は、ベクトルメモリ12に格納されたベクトル命令を読み出す。読み出されたベクトル命令は、ベクトルメモリバンク16、18又は19に一時的に格納される。 【0057】読み出したベクトル命令が「GOSUB」命令だった場合には、読み出し制御部14は、GOSUB転送命令及び転送開始アドレス信号25がパターン生成部26へ転送する。ベクトル命令マルチプレクサ20は、ベクトルメモリバンク16、18又は19に一時的に格納されたベクトル命令を選択し、アドレス展開部22へ転送する。アドレス展開部22は、パターン生成部内のキャッシュメモリバンクの選択を命ずるBKSL信号30と、アドレス展開されたアドレス信号24とを、パターン生成部26へ転送する。 【0058】図10は、本発明に係るパターン発生器のパターン生成部の構成を示すブロック図である。パターン発生器におけるパターン生成部26は、パターンメモリ32と、転送制御部34と、パターンメモリ用マルチプレクサ36、37、38と、パターンキャッシュメモリ54と、マルチプレクサ44、45及び46とを備える。パターンキャッシュメモリ54は、メイン試験パターンキャッシュメモリ50及びサブ試験パターンキャッシュメモリ52とを備える。 【0059】メイン試験パターンキャッシュメモリ50は、2つのパターンメモリバンク40及び41を備える。また、サブ試験パターンキャッシュメモリ52は、2つのパターンメモリバンク42及び43を備える。アドレス信号24が転送制御部34に入力されると、入力されたアドレス信号に従って、試験パターンがパターンメモリ32から読み出され、パターンメモリバンク40乃至43のいずれかに転送される。なお、マルチプレクサ36乃至39、マルチプレクサ44、及びマルチプレクサ45は、アドレス信号24に従って入力データを選択する。 【0060】図11は、本発明に係る電気部品試験用パターン発生器の動作の一例を示す。以下、図11に基づいて、図9に記載したシーケンス制御部62及び図10に記載したパターン生成部26の構成を参照しつつ、本発明のパターン生成器60の動作を説明する。この動作例におけるパターン生成プログラムは図5で示したプログラムと同様である。また、メモリのワード数も図5で示した動作例と同様であり、ベクトル命令の圧縮についても図3と同様である。 【0061】シーケンス制御部のベクトルキャッシュメモリ56は、ベクトルメモリバンクを3つ備える。ここで、アドレス展開部22は、ベクトルメモリバンク16に格納されたベクトル命令(圧縮命令)をアドレス展開する。また、アドレス展開部22は、「GOSUB」命令に応じてBKSL信号30を1とし、「RETURN」命令に応じてBKSL信号30を0として、マルチプレクサ46に転送する役割をも担う。この場合、マルチプレクサ46はBKSL信号30が1の場合にはマルチプレクサ44を選択し、BKSL信号30が0の場合は、マルチプレクサ45を選択する。まず、パターン発生器60の初期化について説明する。読み出し制御部14は、最初の3ワードをベクトルメモリバンク16へ転送し、次の3ワードをベクトルメモリバンク18へ転送することにパターン発生器を初期化する。 【0062】図2、図3及び図11から明らかなように、最初のベクトル命令は、「GOSUB A #0 #11」である。これより本発明のパターン発生器60は、初期化の段階では以下の動作を行う。アドレス#0の転送を受けた転送制御部34は、パターンメモリ32にアドレス#0を転送する。アドレス#0はマルチプレクサ36乃至39の選択に用いられ、メイン試験パターンキャッシュメモリ50を選択するように作用する。一方、パターンメモリ32から転送されるアドレスデータ#0が、メイン試験パターンキャッシュメモリ50のうち、パンクメモリ40にデータを書き込むようマルチプレクサ36を選択する。 【0063】パターン生成部26ではパターン発生器60の初期化時には、パターンメモリバンク40に対して、パターンメモリ32からアドレス#0に対応した試験パターンPAT0から4つの連続データ「PAT0」乃至「PAT3」をパターンキャッシュメモリ54へ転送し、メイン試験パターンキャッシュメモリ50側のパターンメモリバンク40に書き込む。 【0064】この間に上記の読み出し制御部14が「GOSUB」命令を検出した場合、「GOSUB」命令があったこと及び「GOSUB」命令により分岐するアドレス(#11)を転送制御部34に伝えるべく、GOSUB転送命令及び転送開始アドレス信号25を転送制御部34に転送する。そして、「PAT0」乃至「PAT3」のデータのパターンメモリバンク40への転送が終了するのを待って、転送制御部34はパターンメモリ32に対してサブルーチンルーチン用のアドレス#11に対応した試験パターン「PAT11」から4つの連続データ「PAT11」乃至「PAT14」をパターンキャッシュメモリ50へ転送させる。 【0065】そして、転送制御部34からの命令に基づいてサブ試験パターンキャッシュメモリ52のパターンメモリバンク42に「PAT11」から「PAT14」を書き込む。さらに、次の残りのサブルーチン用のデータ「PAT15」をパターンメモリバンク43に書き込む。この場合、マルチプレクサ38又は39のうち、アドレス信号24のパターンメモリバンクのワード数分のアドレスのさらに1つ上位のアドレスでマルチプレクサ38又は39を切り換えることにより、パターンメモリバンク42又は43が選択される。 【0066】次に、試験開始後の動作を説明する。初期化終了に伴って、試験が開始される。アドレス展開部22は、ベクトルメモリバンク16に格納されている命令をアドレス信号24に展開する。展開方法は従来と同様である。図2、図3及び図11に示したように、最初の3ワードの命令の場合、#0、#11、#12、#13、#13、#14#、#15と展開される。 展開されたアドレス信号24はパターン生成部26に転送される。 【0067】BKSL信号は、パターンメモリバンク40及び41、又はパターンメモリバンク42及び43のどちら側を使用するかの選択に使用する。指定アドレスは最初は#0であり、BKSL=0であるから、試験が開始がされると、メイン試験パターンキャッシュメモリ50側のパターンメモリバンク40に格納されたデータ「PAT0」乃至「PAT3」がパターンメモリバンク40から読み出され、パターン発生が行われる。これは、サブルーチンへの分岐を示す「GOSUB」命令があるまで行われる。 【0068】しかし、図11に示したように、最初は「GOSUB」命令により#11にジャンプするベクトル命令であるので、アドレス展開部22は、BKSL信号を1としてパターン生成部26へ転送する。これにより、マルチプレクサ46はパターンキャッシュメモリ54を、サブ試験パターンキャッシュメモリ52側、すなわち、メモリバンク42又は43側に切り換える。メモリバンク42及びメモリバンク43にはGOSUBを実行した場合の分岐先の試験パターンが格納されている。よって、次のアドレス#11により、マルチプレクサ45は、メモリバンク42を選択する。そして、メモリバンク42に格納されている試験パターンの発生が終了した時点で、メモリバンク43に切り換える。 【0069】以上のように、ベクトルメモリバンク16に格納されている最後のベクトル命令、すなわち「RETURN」命令まで、サブルーチンが実行される。ベクトルメモリバンク16に格納されている「RETURN」命令実行によりBKSL=0とし、メイン試験パターンキャッシュメモリ50に戻る。この間に「PAT3」以後の次の4つの連続データ、すなわち「PAT4」乃至「PAT7」をパターン生成部26のパターンメモリバンク41に転送し格納しておく。また、ベクトルメモリバンク19には、図11における「RETURN #15 #6」、「REPEAT2 #8」、及び「REPEAT3 #9」で示される。次の3ワードのベクトル命令を転送し格納しておく。 【0070】以下、同様な動作を繰り返すことにより、図11に示すように、サブルーチンを使用したパターンプログラムを実行することができる。パターン発生器の初期化中に「GOSUB」命令が発生する場合の例を図11において示した。しかし、パターン発生器の初期化中にGOSUB転送命令がなく、以後のパターン発生中に「GOSUB」転送命令が発生する場合も考えられる。 【0071】かかる場合、初期化中に「GOSUB」命令が発生する場合と同様にメイン試験パターンキャッシュメモリ50への試験データの転送が終了した時点で、サブ試験パターンキャッシュメモリ52への試験データの転送を行えば良い。サブルーチンパターンのサブ試験パターンキャッシュメモリ52への書込時間を考慮すると1バンクを読み出している間に、サブ試験パターンキャッシュメモリ52へのサブルーチンの転送が終了している必要がある場合が生じ得る。この場合、DRAMからなるパターンメモリ32からパターンメモリバンク40乃至43のいずれかに転送する試験パターンは必ず連続するアドレスであるため、例えば、データの多重化により高速に転送することとして実現することができる。 【0072】図12は、本発明に係る電気部品試験用パターン発生器の動作の他の例を示す。図12では、サブルーチンのパターン数が4つの連続パターンを格納するパターンメモリバンクを2つ備えた場合のサブ試験パターンキャッシュメモリ52よりも多い。サブルーチンのパターンは「PAT11」から「PAT20」までの場合を示している。この場合、パターン発生器60の初期化の段階で、パターンメモリバンク42及び43にサブルーチンの一部を格納し、パターンメモリバンク42のパターンの発生が終了後に、パターンメモリバンク42へ次のパターンを格納する。 【0073】また、ベクトルメモリバンク内の「RETURN」がアドレス展開され実行された時点で、サブ試験パターンキャッシュメモリ52に対してサブルーチンの先頭からの試験パターンを転送する。すなわち、図11のパターンメモリバンク42における2度目のWRITE、すなわち、PAT11乃至PAT14の書き込みは、次に「GOSUB」命令がベクトルメモリ12読み出され、ベクトルメモリバンクに格納されることに備えた。以上により、長大な初期化パターンをサブルーチンを用いて実行することができる。 【0074】図13は、パターン発生器60の他の実施形態を示すブロック図である。このパターン発生器60は、シーケンス制御部62とパターン生成部26とを備える。シーケンス制御部62は、読み出し制御部170及びベクトルメモリ12を有する。パターン生成部26は、データ転送部176及びパターンメモリ32を有する。読み出し制御部170は情報検出部172及びアドレス展開部174を有する。ベクトルメモリ12は、メインルーチン12a及びサブルーチン12bを含む。サブルーチン12bは、サブルーチンSR1、サブルーチンSR2及びサブルーチンSRnを含む。また、他の形態においてサブルーチン12bは、複数のサブルーチンを含まなくてもよい。データ転送部176は、転送制御部178、メイン試験パターンキャッシュメモリ180、サブ試験パターンキャッシュメモリ182及び出力部184を有する。パターンメモリ32は、試験パターン32a及び期待値パターン32bを有する。 【0075】パターンメモリ32は、外部記憶部10から供給される試験パターン32a及び期待値パターン32bを格納する。また、ベクトルメモリ12は、外部記憶部10から供給されるベクトル命令を格納する。ベクトル命令は、メインルーチン12aとメインルーチン12aの実行中に呼び出されて実行されるサブルーチン12bとを含む。 【0076】読み出し制御部170が有する情報検出部172は、外部記憶部10から供給されるベクトル命令に含まれるサブルーチン12bの情報を検出する。情報検出部172は、サブルーチン12bの数を検出してサブルーチン数を転送制御部178に出力する。また、情報検出部172は、サブルーチン12bにより呼び出される試験パターン及び期待値パターンの容量を検出して転送制御部178に出力してもよい。また、情報検出部172は、外部記憶部10から供給される命令をベクトルメモリ12に格納するときにサブルーチン30bの情報を検出することが好ましい。他の形態において、情報検出部172はベクトルメモリ12に格納された命令を読み出してサブルーチン30bの情報を検出してもよい。 【0077】アドレス展開部174は、ベクトルメモリ12に格納されているベクトル命令に基づいて、パターンメモリ32に格納されている試験パターン及び期待値パターンを指定するアドレスを転送制御部178に出力する。転送制御部178は、アドレス展開部174から供給されるアドレスに基づいて、パターンメモリ32から試験パターン及び期待値パターンを読み込んでメイン試験パターンキャッシュメモリ180又はサブ試験パターンキャッシュメモリ182に書き込む。例えば、アドレス展開部174がサブルーチン12bに基づいて、アドレスA1、A2、A3を転送制御部178に供給した場合、転送制御部178は、パターンメモリ32からアドレスA1、A2、A3で指定される試験パターンD1、D2、D3を読み込んでサブ試験パターンキャッシュメモリ182に書き込む。 【0078】出力部184は、メイン試験パターンキャッシュメモリ180及びサブ試験パターンキャッシュメモリ182に格納されている試験パターン、及び期待値パターンをピンデータセレクタ66に出力する。例えば、出力部184は、メイン試験パターンキャッシュメモリとサブ試験パターンキャッシュメモリを選択するマルチプレクサであってよい。 【0079】図14は、サブ試験パターンキャッシュメモリ182を示すブロック図である。このサブ試験パターンキャッシュメモリ182は、所定の容量を有する固定バッファ182a及びリングバッファ182bを有する。転送制御部178は、情報検出部172から供給されるサブルーチンの情報に基づいて、試験パターン及び期待値パターンを固定バッファ182a及びリングバッファ182bに格納する。 【0080】図15(a)は、サブルーチン12bが1つの場合の、サブ試験パターンキャッシュメモリ182の格納状態を示す。サブルーチンSUB1により呼び出される試験パターン及び期待値パターンをサブルーチンパターンSUB1とする。サブルーチンパターンSUB1をA1、A2、A3・・・と所定の容量で分割した場合、固定バッファ182aには、サブルーチンパターンSUB1の先頭部分のA1、A2、A3が格納され、A4、A5、A6、A7がリングバッファ182bに格納される。A8以降は、リングバッファ182bに格納された試験パターン及び期待値パターンの出力に伴い順次格納される。 【0081】従って、サブルーチン12bに基づいて読み出される試験パターン及び期待値パターンの容量は、制限されない。メインルーチンからサブルーチンSUB1が呼び出されると、固定バッファ182aに予め格納されている試験パターン及び期待値パターンが出力される。固定バッファ182aに格納されている試験パターン及び期待値パターンが出力されている間に転送制御部178は、リングバッファ182bの各ブロックにサブルーチンパターンSUB1のA4以降を格納する。 【0082】更に、固定バッファ182aには、常にサブルーチンパターンSUB1の先頭部分が格納されているので、連続してサブルーチンSUB1が呼び出されても遅延無く試験パターン及び期待値パターンを出力することができる。従って、固定バッファ182aは、パターンメモリ32に格納されている試験パターン32a及び期待値パターンをリングバッファ182bに格納するのに必要な時間より、固定バッファ182aに格納された試験パターン32a及び期待値パターンをすべて出力するのに掛かる時間の方が長くなるように試験パターン32a及び期待値パターンを格納していることが好ましい。 【0083】図15(b)は、サブルーチン12bが複数のサブルーチンを含む場合の、サブ試験パターンキャッシュメモリ182の格納状態を示す。サブルーチンSUB1、SUB2、SUB3により呼び出される試験パターン及び期待値パターンをサブルーチンパターンSUB1、SUB2、SUB3とする。サブルーチンパターンSUB1、SUB2、SUB3をそれぞれ、先頭部分をA、A以降をB1、B2、B3・・・と所定の容量で分割した場合、サブルーチンパターンSUB1、SUB2、SUB3の先頭部分がそれぞれ固定バッファ182aに格納される。 【0084】リングバッファ182bは、サブルーチンがメインルーチンに呼ばれる毎に、サブルーチンのB1以降を順次格納する。例えば、メインルーチンからサブルーチンSUB2が呼び出されると、固定バッファ182aに予め格納されているサブルーチンパターンSUB2のAの部分の試験パターン及び期待値パターンが出力される。固定バッファ182aに格納されている試験パターン及び期待値パターンが出力されている間に転送制御部178は、リングバッファ182bの各ブロックにサブルーチンパターンSUB2のB1、B2、B3、B4を格納する。B5以降は、リングバッファ182bに格納された試験パターン及び期待値パターンの出力に伴い順次格納される。従って、サブルーチン12bに基づいて読み出される試験パターン及び期待値パターンの容量は、制限されない。 【0085】更に、サブルーチン12bが複数のサブルーチンを含み、サブルーチンSUB1の直後にサブルーチンSUB2が呼び出された場合でも、固定バッファ182aには、それぞれのサブルーチンの先頭部分で読み出される試験パターン及び期待値パターンが格納されているので、遅延無く試験パターン及び期待値パターンを出力することができる。固定バッファ182aに格納される各サブルーチンパターンのA部分は、パターンメモリ32に格納されている試験パターン及び期待値パターンをリングバッファ182bに格納するのに必要な時間より、固定バッファ182aに格納された試験パターン及び期待値パターンをすべて出力するのに掛かる時間の方が長くなるように試験パターン及び期待値パターンを格納していることが好ましい。 【0086】図15(c)は、サブルーチン12bが複数のサブルーチンを含む場合の、サブ試験パターンキャッシュメモリ182の格納状態を示す。複数のサブルーチンにより呼び出される試験パターン及び期待値パターンの容量が、固定バッファ182a及びリングバッファ182bの容量より小さい場合に、リングバッファ182bを固定バッファ182aのように用いることもできる。固定バッファ182aは、サブルーチンSUB1とサブルーチンSUB2の一部を格納している。リングバッファ182bは、サブルーチンSUB2の一部と、サブルーチンSUB3を格納している。 【0087】図15(a)、(b)を用いて説明したように、サブ試験パターンキャッシュメモリ182が、固定バッファ182a及びリングバッファ182bを有することで、サブルーチン12bの長さ、サブルーチンの数に制限を設けることなく試験パターン及び期待値を一時的に格納することができる。 【0088】図16は、読み出し制御部170の1つの実施形態を示すブロック図である。読み出し制御部170は、命令格納アドレス指定部192及び情報検出部172を備える。情報検出部172は、解析部171、サブルーチン数検出部185、サブルーチン数格納部186、容量検出部188及び容量格納部190を有する。命令格納アドレス指定部192は、外部記憶装置10から供給されるベクトル命令をベクトルメモリ12の指定したアドレスに格納する。解析部171は、ベクトル命令に含まれるオペコードとオペランドをそれぞれサブルーチン数検出部185及び容量検出部188に出力する。サブルーチン数検出部185は、解析部171から供給されるオペコードに基づいて、外部記憶装置10から供給されるベクトル命令に含まれるサブルーチンの数を検出して、検出結果をサブルーチン数格納部186に出力する。サブルーチン数格納部186は、サブルーチンの数を転送制御部178に出力する。 【0089】容量検出部188は、解析部171から供給されるオペコード及びオペランドに基づいて、外部記憶装置10から供給されるベクトル命令に含まれるサブルーチンにより呼び出される試験パターン及び期待値パターンの容量を検出して容量格納部190に出力する。容量格納部190は、容量を転送制御部178に出力する。例えば、容量検出部188はサブルーチンにより呼び出される試験パターン及び期待値パターンの容量を、パターンメモリ32に格納されている試験パターン及び期待値パターンの最終アドレスから先頭アドレスを減じることで容量を検出してもよい。 【0090】図17(a)は、外部記憶装置10から供給されるベクトル命令の一例を示す。行番号10から行番号20がメインルーチンでありメインルーチン12aに格納される。行番号21から行番号26がサブルーチンでありサブルーチン12bに格納される。本実施形態において、1つの命令は、オペコードとオペランドを含み、オペランドは複数のオペランドを含む。 【0091】行番号10において、「STRT:」はラベルを示し、オペコード「IDXI」はオペランドで指定するサイクル数だけ同じアドレスを出力する命令である。オペランド「2」は、オペコード「IDXI」に関連してサイクル2回同じアドレスを出力することを指定する。行番号11は、2サイクルだけ同じアドレスを出力する命令である。 【0092】行番号12において、オペコード「JSR」は、オペランド「SUB1」で指定されるサブルーチンにジャンプする命令である。この図においてオペコードは1つしか記載されていないが、実際には、ベクトルメモリ12におけるサブルーチンSUB1が格納されるているアドレス、及びサブルーチンSUB1により呼び出される試験パターン並びに期待値パターンのパターンメモリ32におけるアドレスが記載されている。行番号13は、サブルーチンSUB1にジャンプする命令である。 【0093】行番号14において、オペコード「STI」はループの回数を指定する命令であり、ループの回数はオペランドに指定される「3」に設定される。行番号15において、「LOOP1:」はラベルを示し、4サイクルだけ同じアドレスを出力する命令である。行番号16は、サブルーチンSUB1にジャンプする命令である。行番号17は、4サイクルだけ同じアドレスを出力する命令である。 【0094】行番号18において、オペコード「JNI」は、ラベル「LOOP1」から行番号17までの命令を繰り返す命令であって、繰り返し回数は行番号14で指定された回数に設定される。従って、行番号15から行番号18を3回繰り返す。行番号19は、8サイクルだけ同じアドレスを出力する命令である。行番号20は、試験パターン及び期待値パターンの出力を停止させる命令である。 【0095】行番号21において、「SUB1」はラベルを示し、このアドレスがサブルーチンの先頭アドレスである。行番号22から行番号24は、行番号23及び行番号24を2回繰り返す命令である。行番号25は、4サイクルだけ同じアドレスを出力する命令である。行番号26において、オペコード「RTN」は、サブルーチンの終了を示し、サブルーチンを呼び出した次の行に戻る命令である。例えば、行番号13のオペコードJSRでサブルーチンSUB1が呼び出された場合、行番号26のオペコードRTNにより行番号14に戻る。 【0096】図17(b)は、3つのサブルーチンを含む命令の一例である。行番号10から行番号21がメインルーチンである。行番号22から行番号27がサブルーチンSUB1である。行番号28から行番号30がサブルーチンSUB2である。行番号31がサブルーチンSUB3である。各行の命令についての説明は省略する。 【0097】図18は、サブルーチン数検出部185の一つの実施形態を示すブロック図である。サブルーチン数検出部185は、復帰命令検出部117、加算部118及びカウント値記憶部119を有する。復帰命令検出部117は、解析部171から供給されるオペコードが復帰命令RTNの場合に、カウント値記憶部119に加算部118から供給される値を格納させる。加算部118は、カウント値記憶部119に格納されている値に常に1加算した値をカウント値記憶部119に出力する。従って、復帰命令検出部117が復帰命令RTNを検出する毎にカウント値記憶部119が有するサブルーチン数はインクリメントされる。 【0098】サブルーチン数検出部185の動作を図17(b)を用いて説明する。カウント値記憶部119の初期値は、0に設定される。復帰命令検出部117は、行番号27のオペコードRTNを検出するとカウント値記憶部119に加算部118から供給される値を格納させる。加算部118は「1」をカウント値記憶部119に出力しているのでカウント値記憶部119には「1」が格納される。カウント値記憶部119に「1」が格納されると加算部118は「2」をカウント値記憶部119に出力する。行番号30のオペコードRTNを検出すると、カウント値記憶部119は「2」を格納する。行番号31のオペコードRTNを検出すると、カウント値記憶部119は「3」を格納する。このようにして、サブルーチン数検出部185、サブルーチン数を検出することができる。 【0099】図19は、サブルーチン12bにより呼び出される試験パターン又は期待値パターンの中で、格納されているアドレスが一番小さいアドレスを検出する先頭アドレス検出部188aの1つの実施形態を示すブロック図である。先頭アドレス検出部188aは、呼出命令検出部111、比較部112及び先頭アドレス記憶部113を有する。比較部112は、解析部171から供給されるオペランド(アドレス)と先頭アドレス記憶部113から供給されるアドレスとを比較して、小さい方のアドレスを先頭アドレス記憶部113に出力する。呼出命令検出部111は、解析部171から供給されるオペコードがサブルーチンの呼び出し命令であるオペコードJSRを検出すると比較部112から供給されているアドレスを先頭アドレス記憶部113に格納させる。従って、先頭アドレス記憶部113は、サブルーチンにより呼び出される試験パターン又は期待値パターンの先頭アドレスを格納することができる。 【0100】先頭アドレス検出部188aの動作を図17(b)を用いて説明する。パターンメモリ32は、サブルーチンSUB1で読み出される試験パターン及び期待値パターン、サブルーチンSUB2で読み出される試験パターン及び期待値パターン、サブルーチンSUB3で読み出される試験パターン及び期待値パターンの順番で、試験パターン及び期待値パターンを格納していることが好ましい。 【0101】先頭アドレス記憶部113の初期値は、パターンメモリ32が取りうる最大アドレスに設定される。例えば、全ビットが1に設定される。行番号112において、比較部112は先頭アドレス記憶部113に格納されている最大アドレスと、解析部171から供給されているサブルーチンSUB3のアドレスとを比較して、小さい方のアドレスであるサブルーチンSUB3のアドレスを先頭アドレス記憶部113に出力する。また、呼出命令検出部111は先頭アドレス記憶部113に比較部112から供給されているサブルーチンSUB3のアドレスを格納させる。 【0102】行番号13において、比較部112は、先頭アドレス記憶部113に格納されているサブルーチンSUB3のアドレスと、解析部171から供給されるサブルーチンSUB1のアドレスとを比較して、小さい方のアドレスであるサブルーチンSUB1のアドレスを先頭アドレス記憶部113に出力する。また、呼出命令検出部111は先頭アドレス記憶部113に比較部112から供給されているサブルーチンSUB1のアドレスを格納させる。 【0103】行番号16において、比較部112は、先頭アドレス記憶部113に格納されているサブルーチンSUB1のアドレスと、解析部171から供給されるサブルーチンSUB2のアドレスを比較して、小さい方のアドレスであるサブルーチンSUB1のアドレスを先頭アドレス記憶部113に出力する。また、呼出命令検出部111は先頭アドレス記憶部113に比較部112から供給されているサブルーチンSUB1のアドレスを格納させる。 【0104】行番号19において、比較部112は、先頭アドレス記憶部113に格納されているサブルーチンSUB1のアドレスと、解析部171から供給されるサブルーチンSUB3のアドレスとを比較して、小さい方のアドレスであるサブルーチンSUB1のアドレスを先頭アドレス記憶部113に出力する。また、呼出命令検出部111は先頭アドレス記憶部113に比較部112から供給されているサブルーチンSUB1のアドレスを格納させる。行番号20以降に呼び出し命令であるオペコードJSRが無いのでサブルーチンSUB1のアドレスが先頭アドレス記憶部113に保持される。 【0105】図20は、サブルーチン12bにより呼び出される試験パターン又は期待値パターンの中で、格納されているアドレスが一番大きいアドレスを検出する最終アドレス検出部188bの1つの実施形態を示すブロック図である。最終アドレス検出部188bは、復帰命令検出部114、比較部115及び記憶部116を有する。比較部115は、解析部171から供給されるオペランド(アドレス)と先頭アドレス記憶部113から供給されるアドレスとを比較して、大きい方のアドレスを先頭アドレス記憶部113に出力する。復帰命令検出部114は、解析部171から供給されるオペコードがサブルーチンの復帰命令であるオペコードRTNを検出すると比較部115から供給されているアドレスを最終アドレス記憶部116に格納させる。従って、最終アドレス記憶部116は、サブルーチンにより呼び出される試験パターン又は期待値パターンの最終アドレスを格納することができる。 【0106】最終アドレス検出部188bの動作を図17(b)を用いて説明する。パターンメモリ32は、サブルーチンSUB1で読み出される試験パターン及び期待値パターン、サブルーチンSUB2で読み出される試験パターン及び期待値パターン、サブルーチンSUB3で読み出される試験パターン及び期待値パターンの順番で、試験パターン及び期待値パターンを格納していることが好ましい。 【0107】最終アドレス記憶部116の初期値は、パターンメモリ32が取りうる最小アドレスに設定される。例えば、全ビットが0に設定される。行番号27において、比較部115は最終アドレス記憶部116に格納されている最小アドレスと、解析部171から供給されている行番号27のアドレスとを比較して、大きい方のアドレスである行番号27のアドレスを先頭アドレス記憶部113に出力する。また、復帰命令検出部114は最終アドレス記憶部116に比較部115から供給されているサブルーチンSUB1の最後尾のアドレスである行番号27のアドレスを格納させる。 【0108】行番号30において、比較部115は最終アドレス記憶部116に格納されているサブルーチンSUB1の最後尾のアドレス(行番号27のアドレス)と、解析部171から供給される行番号30のアドレスとを比較して、大きい方のアドレスである行番号30のアドレスを最終アドレス記憶部116に出力する。また、復帰命令検出部114は最終アドレス記憶部116に比較部115から供給されているサブルーチンSUB2の最後尾のアドレスである行番号30のアドレスを格納させる。 【0109】行番号31において、比較部115は最終アドレス記憶部116に格納されているサブルーチンSUB2の最後尾のアドレス(行番号30のアドレス)と、解析部171から供給される行番号31のアドレスとを比較して、大きい方のアドレスである行番号31のアドレスを最終アドレス記憶部116に出力する。また、復帰命令検出部114は最終アドレス記憶部116に比較部115から供給されているサブルーチンSUB3の最後尾のアドレス(行番号31のアドレス)を格納させる。従って、サブルーチンSUB3の最後尾のアドレスが最終アドレス記憶部116に格納される。 【0110】容量検出部188は、最終アドレス記憶部116が格納しているアドレスから先頭アドレス記憶部113が格納しているアドレスを減じて、サブルーチン12bにより呼び出される試験パターン及び期待値パターンの容量を検出する。 【0111】情報検出部172で検出された、サブルーチン数及びサブルーチン容量に基づいて、転送制御部178は、試験パターン及び期待値パターンを固定バッファ182a及びリングバッファ182bに格納する。 【0112】以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることができる。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。そうした変更の例に以下のようなものがある。 【0113】第1の変更例として、サブ試験パターンキャッシュメモリ182を所望するデータを一時的に格納して出力するキャッシュ装置として用いることができる。例えば、コンピュータゲームなどのグラフィックス処理において高速にデータを入出力するキャッシュ装置として用いてもよい。 【0114】第2の変更例として、サブ試験パターンキャッシュメモリ182を複数備え、サブルーチン30bが複数のサブルーチンを含む場合に、サブ試験パターンキャッシュメモリ182毎にそれぞれのサブルーチンを格納してもよい。 【0115】図21は、外部記憶装置10から供給されるベクトル命令の一例を示す。このベクトル命令は、サブルーチンSUB1、及びSUB2の2つのサブルーチンを含むが、1つの復帰命令しか含まない。従って、図18を用いて説明したサブルーチン検出部185では2つのサブルーチンを検出することができない。 【0116】第3の変更例として、図18を用いて説明したサブルーチン数検出部185は、サブルーチン数をジャンプ命令に基づいて検出してもよい。図22は、サブルーチン数検出部185及び186の他の形態であるサブルーチン数検出部200を示す。サブルーチン数検出部200は、判定部250、サブルーチン数格納部214及びジャンプ命令検出部216を有する。判定部250は、一致検出部(202、210、206)、AND回路(204、212)及びレジスタ208を有する。 【0117】サブルーチン数格納部214は、サブルーチンの数を格納する。例えばサブルーチン数格納部214は、供給される論理値1に応じてカウントするカウンタであってよい。一致検出部202は、サブルーチン数格納部214に格納されている値が0の場合に論理値1をAND回路212に出力する。一致検出部210は、サブルーチン数格納部214に格納されている値が1の場合に論理値1をAND回路204に出力する。レジスタ208は、解析部71から供給されるオペランドをAND回路212からライト命令(論理値1)が供給された場合に格納する。一致検出部206は、レジスタ208に格納されているオペランドと、解析部171から供給されるオペランドとを比較して一致しているか否かを検出する。 【0118】ジャンプ命令検出部216は、解析部171から供給されるオペコードがジャンプ命令(JSR)か否かを検出して、検出結果をAND回路212及びAND回路204に出力する。例えば、ジャンプ命令検出部216は、ジャンプ命令を検出した場合に論理値1を出力する。AND回路204は、一致検出部206の出力値を反転した値と、一致検出部210及びジャンプ命令検出部216の出力値の論理積をサブルーチン数格納部214に出力する。 【0119】サブルーチン30bの情報を検出する前にサブルーチン数格納部214は、カウント値を0に初期化する。従って、一致検出部202は論理値1をAND回路212に出力する。ジャンプ命令検出部216が、ジャンプ命令(JSR)を検出すると、サブルーチンの先頭アドレスがレジスタ208に格納される。また、サブルーチン数格納部214は、カウント値をインクリメントする。従って、サブルーチン数格納部214は、サブルーチン数として1を格納することができる。再度、ジャンプ命令検出部216がジャンプ命令を検出すると、一致検出部206は、レジスタ208に格納されているオペランドと解析部171から供給されるオペランドとが異なることを検出して論理値0をAND回路204に出力する。一致検出部210及びジャンプ命令検出部216は、論理値1をAND回路204に供給するので、AND回路204は、論理値1をサブルーチン数格納部214に出力する。サブルーチン数格納部214は、カウント値をインクリメントする。従って、サブルーチン数格納部214は、サブルーチン数として2を格納することができる。サブルーチン数検出部200により、図21に示されるような、サブルーチン数と復帰命令数が異なる場合においてもサブルーチンの数を検出することができる。 【0120】また、第4の変更例として、サブルーチン数検出部200は複数のレジスタを有してもよい。図23は、複数のレジスタを有するサブルーチン数検出部300を示す。サブルーチン数検出部300は、判定部250、ジャンプ命令検出部216、及びサブルーチン数格納部214を有する。判定部250は、レジスタ(208a〜208n)、及び一致検出部220を有する。 【0121】ジャンプ命令検出部216は、ジャンプ命令を検出すると一致したことを示す一致信号を一致検出部220に出力する。一致検出部220は、レジスタ(208a〜208n)の各々に格納されているオペランドと解析部71から供給されるオペランドを比較する。一致検出部220は、レジスタ(208a〜208n)に格納されているオペランドと、解析部171から供給されるオペランドが一致しない場合に、解析部171から供給されるオペランドをオペランドの格納されていないレジスタに格納する。また、レジスタ(208a〜208n)に格納されているオペランドと、解析部171から供給されるオペランドが一致しない場合に、サブルーチン数格納部214はカウント値をインクリメントする。 【0122】サブルーチン数を検出する前に、レジスタ(208a〜208n)及びサブルーチン数格納部214は0に初期化される。ジャンプ命令検出部216がジャンプ命令を検出した場合、一致検出部220はレジスタ208aに解析部171から供給されるオペランドを格納すると共に、サブルーチン数格納部214に、カウント値をインクリメントさせる。再度、ジャンプ命令検出部216がジャンプ命令を検出した場合、一致検出部220は、レジスタ208aに格納されているオペランドと解析部171から供給されるオペランドとを比較して、一致していない場合にレジスタ208bに解析部171から供給されるオペランドを格納すると共に、サブルーチン数格納部214にカウント値をインクリメントさせる。以後の動作については省略する。複数のレジスタを設けることで2本以上のサブルーチン数を検出することができる。 【0123】 【発明の効果】上記説明から明らかなように、本発明によれば、DRAMをパターンメモリとして使用した場合においても、サブルーチンを繰り返して実行することを可能とする構成であるため、簡略したプログラムのもとにハードディスクからのプログラムの転送や、電気部品の試験を迅速に行うことができる。また、ベクトルメモリバンクを3つ備えた構成とすることによって、サブルーチンへの分岐命令が発生してから実行されるまでの間に、ベクトルメモリバンク1バンクのベクトル命令を展開することができ、この間にサブ試験パターンキャッシュメモリへの試験パターンの転送を行うことができる。
|
| 【出願人】 |
【識別番号】390005175 【氏名又は名称】株式会社アドバンテスト
|
| 【出願日】 |
平成11年11月10日(1999.11.10) |
| 【代理人】 |
【識別番号】100104156 【弁理士】 【氏名又は名称】龍華 明裕
|
| 【公開番号】 |
特開2001−194431(P2001−194431A) |
| 【公開日】 |
平成13年7月19日(2001.7.19) |
| 【出願番号】 |
特願平11−320382 |
|