(57)【要約】【課題】試験装置におけるメインメモリの記憶領域の利用効率を向上させる。【解決手段】被試験デバイスを試験する試験装置であって、被試験デバイスを試験するための試験データ列を記憶するメインメモリと、メインメモリから読み出された試験データ列をキャッシングするキャッシュメモリと、メインメモリに記憶された試験データ列に含まれる、前記メインメモリのデータ転送単位ごとに整列されていない各試験データを読み出して、試験データ毎にキャッシュメモリ中の異なるキャッシュエントリに書き込むパターン発生制御部と、キャッシュメモリの各キャッシュエントリに格納された試験データを順次読み出して、被試験デバイスを試験する試験パターンを生成するパターン発生部とを備える試験装置を提供する。【選択図】図２
2008233086.tif 000002
【特許請求の範囲】
【請求項１】
被試験デバイスを試験する試験装置であって、
前記被試験デバイスを試験するための試験データ列を記憶するメインメモリと、
前記メインメモリから読み出された試験データ列をキャッシングするキャッシュメモリと、
前記メインメモリに記憶された前記試験データ列に含まれる、前記メインメモリのデータ転送単位ごとに整列されていない各試験データを読み出して、試験データ毎に前記キャッシュメモリ中の異なるキャッシュエントリに書き込むパターン発生制御部と、
前記キャッシュメモリの各キャッシュエントリに格納された試験データを順次読み出して、前記被試験デバイスを試験する試験パターンを生成するパターン発生部と
を備える試験装置。
【請求項２】
前記メインメモリは、データ転送単位であるワードを複数格納し、前記キャッシュメモリの各キャッシュエントリに格納されるべき少なくとも一つの前記試験データを、前記メインメモリにおいて連続する少なくとも２つのワードにまたがって記憶する
請求項１に記載の試験装置。
【請求項３】
前記メインメモリは、前記試験データ列に含まれる各試験データを、記憶領域上において空き領域無く隣接して記憶する
請求項２に記載の試験装置。
【請求項４】
前記パターン発生制御部は、前記メインメモリの連続する２以上のワードにまたがって記憶されている前記試験データを連結して抽出する
請求項３に記載の試験装置。
【請求項５】
前記パターン発生制御部は、前記メインメモリの連続するワードからサイクル毎に順次読み出される、前記ワード毎のメモリデータを連結することにより、前記メインメモリの連続する２以上のワードにまたがって記憶された試験データを連結し、連結した前記メモリデータからそれぞれの試験データを抽出する
請求項４に記載の試験装置。
【請求項６】
前記パターン発生制御部は、
縦続接続された複数のレジスタを有し、初段のレジスタが、前記メインメモリの連続するワードからサイクル毎に順次読み出される、前記ワード毎のメモリデータを順次格納し、２段目以降の各レジスタが、前段のレジスタに格納されたメモリデータをサイクル毎に受け取って順次格納するレジスタパイプラインと、
前記レジスタパイプラインが有する前記複数のレジスタに格納されたデータを連結して得られる複数ワード分の前記メモリデータを生成し、連結した前記メモリデータから、それぞれの試験データを抽出する抽出部と
を有する請求項２に記載の試験装置。
【請求項７】
前記抽出部は、最終段のレジスタに抽出するべき試験データの少なくとも一部が格納されている場合において、前記連結したメモリデータを、最終段のレジスタ中における当該試験データの位置に応じたシフト量分シフトし、シフト後の前記連結したメモリデータにおける当該試験データの位置を予め定められた位置に整列させる請求項６に記載の試験装置。
【請求項８】
前記抽出部は、最終段のレジスタに抽出するべき試験データの少なくとも一部が格納されていないサイクルにおいて、前記複数ワード分のメモリデータからの命令の抽出をスキップする請求項７に記載の試験装置。
【請求項９】
前記パターン発生制御部は、
前記最終段のレジスタにおける抽出するべき試験データの位置を記憶する位置レジスタと、
前記複数ワード分のメモリデータから試験データを抽出したことに応じて前記位置レジスタに抽出した試験データのパターン長を加え、サイクル毎に前記位置レジスタから前記メインメモリのワード長を減じる位置レジスタ更新部と
を有し、
前記抽出部は、最終段のレジスタに抽出するべき試験データの少なくとも一部が格納されている場合において、前記複数ワード分のメモリデータを、前記位置レジスタの値に応じたシフト量分だけ命令の位置を減じる方向にシフトする
請求項８に記載の試験装置。
【請求項１０】
前記抽出部は、最終段のレジスタに抽出するべき第１の試験データと、前記第１の試験データの次の第２の試験データの少なくとも一部とが格納されている場合において、前記第１の試験データおよび前記第２の試験データを抽出し、抽出した前記第１の試験データおよび前記第２の試験データを並列に前記キャッシュメモリに書き込む
請求項６に記載の試験装置。
【請求項１１】
前記メインメモリは、前記被試験デバイスを試験するための試験シーケンスを定めるシーケンスデータ、及び前記シーケンスデータを実行することにより展開されるパターンデータを、前記試験データ列として記憶し、
前記キャッシュメモリは、
前記シーケンスデータをキャッシングするシーケンスキャッシュメモリと、
前記パターンデータをキャッシングするパターンキャッシュメモリと、
を有し、
前記パターン発生部は、前シーケンスキャッシュメモリの各キャッシュエントリに格納された命令を順次読み出して実行し、前記パターンキャッシュメモリの各キャッシュエントリに格納された、実行される命令に対応する試験データを順次読み出して出力する
請求項１に記載の試験装置。
【請求項１２】
前記シーケンスデータに含まれる各命令のパターン長と、前記パターンデータに含まれる各パターンのパターン長とが異なる請求項１１に記載の試験装置。
【請求項１３】
前記データ転送単位のワード長が、各試験データのパターン長の整数倍とならず、前記パターン長が前記ワード長の整数倍とならない値に、前記メインメモリのワード長及び前記試験データのパターン長が設定可能な
請求項３に記載の試験装置。
【請求項１４】
デバイスの実動作時にデバイスに入力される信号に応じて動作する被試験回路と、
前記被試験回路を試験する試験回路と
を備え、
前記試験回路は、
前記被試験回路を試験するための試験データ列を記憶するメインメモリと、
前記メインメモリから読み出された試験データ列をキャッシングするキャッシュメモリと、
前記メインメモリに記憶された前記試験データ列に含まれる、前記メインメモリのデータ転送単位ごとに整列されていない各試験データを読み出して、試験データ毎に前記キャッシュメモリ中の異なるキャッシュエントリに書き込むパターン発生制御部と、
前記キャッシュメモリの各キャッシュエントリに格納された試験データを順次読み出して、前記被試験回路を試験する試験パターンを生成するパターン発生部と
を有する電子デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
半導体回路等の被試験デバイスを試験において、所定の論理パターンを有する試験パターンを生成して被試験デバイスに入力する場合が考えられる。例えば、被試験デバイスのメモリ領域に所定の論理値を書き込み、書き込んだ論理値を読み出すことにより、被試験デバイスが正常に動作しているかを試験することができる。
【０００２】
試験パターンを生成するパターン発生部として、パターンデータとシーケンスデータに基づいて試験パターンを生成するパターン発生部が知られている。パターン発生部は、メインメモリに格納されたパターンデータ及びシーケンスデータを順次読み出してキャッシュメモリに格納する。
【０００３】
尚、当該パターン発生部に関連する先行技術文献として以下の特許文献がある。
【特許文献１】国際公開第２００４／１０９３０７号パンフレット
【特許文献２】国際公開第１９９８／２３９６８号パンフレット
【特許文献３】特開平８−９４７２４号公報
【特許文献４】特開平１０−７８４７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
メインメモリは、被試験デバイスの試験前に、使用者等が設定するパターンデータ及びシーケンスデータを予め格納する。メインメモリには、予め定められたビット長のワード単位でデータが書き込まれる。また、メインメモリからは、ワード単位でデータが読み出される。一つのワードには、例えばシーケンスデータの一つの命令データ、又はパターンデータの一つのパターンが含まれる。しかし、命令データ又はパターンのビット長と、ワードのビット長とが一致するとは限らない。
【０００５】
このため、それぞれのワードには、未使用ビットが存在する場合がある。メインメモリは、ワード単位でデータを格納するので、メインメモリの記憶領域に未使用部分が存在して、メインメモリの利用率が低下してしまう。また、メインメモリは、ワード単位でデータ転送を行うので、それぞれのワードに含まれる未使用ビットをも転送することとなり、データ転送の効率が低下してしまう。
【０００６】
そこで本発明の一つの側面においては、上記の課題を解決することのできる試験装置及び電子デバイスを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の第１の形態においては、被試験デバイスを試験する試験装置であって、被試験デバイスを試験するための試験データ列を記憶するメインメモリと、メインメモリから読み出された試験データ列をキャッシングするキャッシュメモリと、メインメモリに記憶された試験データ列に含まれる、メインメモリのデータ転送単位毎に整列されていない各試験データを読み出して、試験データ毎にキャッシュメモリ中の異なるキャッシュエントリに書き込むパターン発生制御部と、キャッシュメモリの各キャッシュエントリに格納された試験データを順次読み出して、被試験デバイスを試験する試験パターンを生成するパターン発生部とを備える試験装置を提供する。
【０００８】
本発明の第２の形態においては、デバイスの実動作時にデバイスに入力される信号に応じて動作する被試験回路と、被試験回路を試験する試験回路とを備え、試験回路は、被試験回路を試験するための試験データ列を記憶するメインメモリと、メインメモリから読み出された試験データ列をキャッシングするキャッシュメモリと、メインメモリに記憶された試験データ列に含まれる、メインメモリのデータ転送単位毎に整列されていない各試験データを読み出して、試験データ毎にキャッシュメモリ中の異なるキャッシュエントリに書き込むパターン発生制御部と、キャッシュメモリの各キャッシュエントリに格納された試験データを順次読み出して、被試験回路を試験する試験パターンを生成するパターン発生部とを有する電子デバイスを提供する。
【０００９】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明を実施するための最良の形態】
【００１０】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１１】
図１は、本発明の一つの実施形態に係る試験装置２００の構成の一例を示す図である。試験装置２００は、半導体回路等の被試験デバイス３００を試験する装置であって、システム制御装置１１０、複数のサイト制御装置１３０、切替部１４０、及び複数の試験モジュール１００を備える。
【００１２】
システム制御装置１１０は、試験装置２００が被試験デバイス３００の試験に用いる試験制御プログラム、試験プログラムデータ、及び試験パターンデータ等を外部のネットワーク等を介して受信して格納する。複数のサイト制御装置１３０は、通信ネットワークを介してシステム制御装置１１０と接続される。
【００１３】
サイト制御装置１３０ａ〜ｃは、いずれかの被試験デバイス３００の試験を制御する。例えば複数のサイト制御装置１３０は、複数の被試験デバイス３００と一対一に対応して設けられ、それぞれのサイト制御装置１３０は、対応する被試験デバイス３００の試験を制御する。
【００１４】
図１においては、サイト制御装置１３０ａは被試験デバイス３００ａの試験を制御して、サイト制御装置１３０ｂは被試験デバイス３００ｂの試験を制御する。これに代えて、複数のサイト制御装置１３０は、それぞれ複数の被試験デバイス３００の試験を制御してもよい。
【００１５】
より具体的には、サイト制御装置１３０は、システム制御装置１１０から試験制御プログラムを取得し実行する。次に、サイト制御装置１３０は、試験制御プログラムに基づいて、対応する被試験デバイス３００の試験に用いる試験プログラムデータ（例えば、後述するシーケンスデータ）及び試験パターンデータ（例えば、後述するパターンデータ）をシステム制御装置１１０から取得する。尚、以下では試験プログラムデータ及び試験パターンデータを、試験データ列と総称する。試験データ列は、試験プログラムデータ及び試験パターンデータの少なくとも一方を含むデータであってよい。
【００１６】
またサイト制御装置１３０は、切替部１４０を介して当該被試験デバイス３００の試験に用いる１又は複数の試験モジュール１００等のモジュールに格納する。次に、サイト制御装置１３０は、試験プログラムデータ及び試験パターンデータに基づく試験の開始を切替部１４０を介して試験モジュール１００に指示する。そして、サイト制御装置１３０は、試験が終了したことを示す割込み等を例えば試験モジュール１００から受信して、試験結果に基づいて次の試験を試験モジュール１００に行なわせる。
【００１７】
切替部１４０は、複数のサイト制御装置１３０のそれぞれを、当該サイト制御装置１３０が制御する１又は複数の試験モジュール１００に接続して、これらの間の通信を中継する。ここで、予め定められた一のサイト制御装置１３０は、試験装置２００の使用者、試験制御プログラム等の指示に基づいて、複数のサイト制御装置１３０のそれぞれを、当該サイト制御装置１３０が被試験デバイス３００の試験に用いる１以上の試験モジュール１００に接続させるべく切替部１４０を設定してよい。
【００１８】
例えば、図１においては、サイト制御装置１３０ａは、複数の試験モジュール１００ａに接続するように設定され、これらを用いて被試験デバイス３００ａの試験を行なう。ここで、他のサイト制御装置１３０が試験モジュール１００を用いて被試験デバイス３００を試験するための構成及び動作は、サイト制御装置１３０ａが被試験デバイス３００ａを試験するための構成及び動作と同一であってよい。以下では、サイト制御装置１３０ａが被試験デバイス３００ａを試験するための構成及び動作を中心に説明する。
【００１９】
試験モジュール１００ａは、サイト制御装置１３０ａの指示に基づいて、被試験デバイス３００ａの試験に用いる試験信号を生成すべきタイミング信号を生成する。また、いずれかの試験モジュール１００ａは、他の試験モジュール１００ａにおける試験結果を受信して、試験結果の良否に対応したシーケンスを複数の試験モジュール１００ａに実行させてよい。
【００２０】
複数の試験モジュール１００ａは、被試験デバイス３００ａが有する複数の端子の一部ずつにそれぞれ接続され、サイト制御装置１３０ａにより格納されたシーケンスデータ及びパターンデータに基づいて被試験デバイス３００ａの試験を行なう。被試験デバイス３００ａの試験において、試験モジュール１００ａは、後述するパターンリストにより指定されたシーケンスデータ及びパターンデータに基づいて、パターンデータから試験信号を生成して、当該試験モジュール１００ａに接続された被試験デバイス３００ａの端子に試験信号を供給する。
【００２１】
次に、試験モジュール１００ａは、被試験デバイス３００ａが試験信号に基づいて動作した結果出力する出力信号を取得して、期待値と比較する。ここで複数の試験モジュール１００ａは、シーケンスデータ及びパターンデータに基づいて、試験信号のサイクル周期を動的に変化させるべく、異なるサイクル周期に基づいて試験信号を生成してよい。
【００２２】
また、試験モジュール１００ａは、試験プログラムデータの処理が完了した場合、試験プログラムデータの実行中に異常が生じた場合等において、サイト制御装置１３０ａに対して割込みを発生する。この割込みは、切替部１４０を介して当該試験モジュール１００ａに対応するサイト制御装置１３０ａに通知され、サイト制御装置１３０ａが有するプロセッサにより割込み処理が行われる。
【００２３】
以上において、試験装置２００は、オープンアーキテクチャにより実現され、オープンアーキテクチャ規格を満たす各種のモジュールを使用することができる。そして、試験装置２００は、試験モジュール１００等のモジュールを、切替部１４０が有する任意の接続スロットに挿入して使用することができる。
【００２４】
この際、試験装置２００の使用者等は、例えばサイト制御装置１３０ａを介して切替部１４０の接続形態を変更して、被試験デバイス３００の試験に用いる複数のモジュールを、当該被試験デバイス３００の試験を制御するサイト制御装置１３０に接続させることができる。これにより、試験装置２００の使用者は、複数の被試験デバイス３００のそれぞれの端子数、端子の配置、端子の種類、又は試験の種類等に応じて適切なモジュールを選択して、試験装置２００に実装することができる。
【００２５】
また、試験装置２００又は試験モジュール１００は、試験対象となる被試験回路と共に同一の電子デバイスに設けられた試験回路であってもよい。当該試験回路は、電子デバイスのＢＩＳＴ回路等として実現され、被試験回路を試験することにより電子デバイスの診断等を行う。これにより、当該試験回路は、被試験回路となる回路が、電子デバイスが本来目的とする通常動作を行うことができるかどうかをチェックすることができる。
【００２６】
また、試験装置２００又は試験モジュール１００は、試験対象となる被試験回路と同一のボード又は同一の装置内に設けられた試験回路であってもよい。このような試験回路も、上述したように被試験回路が本来目的とする通常動作を行うことができるかどうかをチェックすることができる。
【００２７】
図２は、試験モジュール１００の構成の一例を示す図である。試験モジュール１００は、チャネル制御部１０及び複数のチャネル回路５０を有する。本例では、一つのチャネル回路５０の機能及び構成を説明するが、他のチャネル回路５０も同一の機能及び構成を有してよい。
【００２８】
それぞれのチャネル回路５０は、被試験デバイス３００の対応する入出力ピンに接続され、当該入出力ピンに試験信号を供給してよい。また、それぞれのチャネル回路５０は、当該入出力ピンからの出力信号を測定してよい。尚、被試験デバイス３００の入出力ピンは、入力ピン又は出力ピンのいずれかであってもよい。
【００２９】
チャネル制御部１０は、それぞれのチャネル回路５０を制御する。例えばチャネル制御部１０は、それぞれのチャネル回路５０を制御して試験信号を生成させる。また、チャネル制御部１０は、それぞれのチャネル回路５０を制御して、被試験デバイス３００の出力信号を測定させる。
【００３０】
また、チャネル制御部１０は、いずれかのチャネル回路５０における測定結果に基づいて、他のチャネル回路５０を制御してもよい。例えば、いずれかのチャネル回路５０における測定結果が所定の条件を満たすまで、他の少なくとも一つのチャネル回路５０に所定の動作を繰り返し行わせ、測定結果が所定の条件を満たした場合に、当該他のチャネル回路５０に、次に行うべき動作を行わせてよい。
【００３１】
チャネル制御部１０は、インターフェイス部１２、パターンリストメモリ１４、結果メモリ１６、パターン発生制御部２０、メインメモリ４０、レート発生部３０、及びパターン発生部７０を有する。インターフェイス部１２は、サイト制御装置１３０と、試験モジュール１００との間でデータを受け渡す。
【００３２】
メインメモリ４０は、複数種類のシーケンスデータと、シーケンスデータに対応するパターンデータとを格納する。メインメモリ４０は、サイト制御装置１３０から与えられるシーケンスデータ及びパターンデータを、被試験デバイス３００の試験前に予め格納してよい。またメインメモリ４０は、シーケンスデータ及びパターンデータを圧縮して格納してもよい。
【００３３】
例えばサイト制御装置１３０は、シーケンスデータ、パターンデータ、及びこれらのデータをメインメモリ４０の指定アドレスに格納すべき命令を、インターフェイス部１２に入力してよい。パターン発生制御部２０は、インターフェイス部１２が受け取った命令に応じて、これらのデータをメインメモリ４０に格納する。
【００３４】
シーケンスデータは、例えば順次実行すべき命令群を示すデータであってよい。ここで、シーケンスデータにおける一つの命令が、試験データに対応してよく、複数の命令が試験データに対応してもよい。
【００３５】
パターンデータは、例えば論理値パターンを示すデータであり、複数の命令と一対一に対応付けて格納されてよい。例えばシーケンスデータは、それぞれのパターンデータを、所定の順序で出力させることにより、試験パターンを生成させる命令群であってよい。ここで、パターンデータにおいて、一つの命令に対するデータが試験データに対応してよく、複数の命令に対するデータが試験データに対応してもよい。
【００３６】
このとき、シーケンスデータは、それぞれのパターンデータを複数回用いて、試験パターンを生成してよい。例えばシーケンスデータは、ループ命令、ジャンプ命令等を含んでよい。チャネル制御部１０が、このようなシーケンスデータを実行することにより、対応するパターンデータを展開して、シーケンスデータ及びパターンデータに応じた試験信号を生成することができる。メインメモリ４０が格納するシーケンスデータ及びパターンデータの一例は、図３において後述する。
【００３７】
パターンリストメモリ１４は、メインメモリ４０が格納したシーケンスデータを実行すべき順序を示すパターンリストを格納する。例えばパターンリストメモリ１４は、実行すべきシーケンスデータの、メインメモリ４０におけるアドレスを順次指定するパターンリストを格納してよい。パターンリストメモリ１４は、メインメモリ４０と同様に、サイト制御装置１３０から与えられるパターンリストを、被試験デバイス３００の試験前に予め格納してよい。パターンリストは、上述した試験制御プログラムの一例であってよく、試験制御プログラムの一部であってもよい。
【００３８】
パターン発生制御部２０は、被試験デバイス３００の試験を開始する場合に、パターンリストメモリ１４からパターンリストを読み出す。例えばサイト制御装置１３０から試験を開始する旨の命令を受けた場合に、パターン発生制御部２０は、パターンリストメモリ１４からパターンリストを読み出してよい。
【００３９】
パターン発生制御部２０は、メインメモリ４０が格納したシーケンスデータ及び対応するパターンデータを、パターンリストに基づく順序で読み出す。パターン発生制御部２０は、読み出したシーケンスデータを、パターン発生部７０のベクタ発生部８０に送信する。また、パターン発生制御部２０は、読み出したパターンデータを、パターン発生部７０のパターンキャッシュメモリ９０に送信する。
【００４０】
パターン発生制御部２０は、後段の回路のキャッシュメモリ、ＦＩＦＯ等に、所定の空き領域が生じた場合に、次のシーケンスデータ及びパターンデータを読み出して送信してよい。この場合、パターン発生制御部２０は、シーケンスデータ及びパターンデータを格納すべき全てのキャッシュメモリ、ＦＩＦＯ等に、所定の空き領域が生じたことを条件として、次のシーケンスデータ及びパターンデータを読み出して、これらのキャッシュメモリ、ＦＩＦＯ等に送信してよい。
【００４１】
パターン発生部７０は、パターン発生制御部２０から順次受け取るシーケンスデータ及びパターンデータに基づいて、試験パターンを順次生成する。本例のパターン発生部７０は、ベクタ発生部８０及びパターンキャッシュメモリ９０を有する。
【００４２】
上述したように、ベクタ発生部８０は、パターン発生制御部２０からシーケンスデータを受け取る。ベクタ発生部８０は、受け取ったシーケンスデータを所定のキャッシュエントリ（以下、エントリと称する）に格納するシーケンスキャッシュメモリを有してよい。パターンキャッシュメモリ９０は、パターン発生制御部２０からパターンデータを受け取り、所定のエントリに格納する。エントリとは、例えば一つ又は複数のアドレスで指定される記憶領域であってよい。
【００４３】
ベクタ発生部８０は、シーケンスキャッシュメモリに格納したシーケンスデータを順次実行して、パターンキャッシュメモリ９０のアドレスを順次指定する。例えばシーケンスデータの各命令には、当該命令に応じて指定すべきパターンデータのアドレスが対応付けられていてよい。そして、ベクタ発生部８０は、シーケンスデータに含まれるループ命令、ジャンプ命令等に応じてパターンキャッシュメモリ９０のアドレスを順次指定する。
【００４４】
パターンキャッシュメモリ９０は、順次指定されるアドレスのパターンデータを出力する。このような構成により、シーケンスデータ及びパターンデータに応じた論理パターンを有する試験パターンを生成することができる。また、シーケンスキャッシュメモリ及びパターンキャッシュメモリ９０は、シーケンスデータの実行が終了した場合に、当該シーケンスデータ及び対応するパターンデータの記憶領域を開放してよい。シーケンスデータは、命令群の末尾に、シーケンスデータの終了を示す終了命令を有してよい。
【００４５】
それぞれのチャネル回路５０は、パターン発生部が出力する試験パターンに基づいて試験信号を成形して、被試験デバイス３００に入力する。また被試験デバイス３００の出力信号を測定する。チャネル回路５０は、波形成形部５２、ドライバ５４、タイミング発生部５６、コンパレータ５８、タイミング比較部６０、判定部６２、及びキャプチャメモリ６４を有する。
【００４６】
波形成形部５２は、パターン発生部７０が生成した試験パターンに基づいて、試験信号を成形する。例えば波形成形部５２は、当該試験パターンに応じた論理パターンを有する試験信号を生成してよい。また、波形成形部５２は、与えられるタイミング信号に応じて、試験信号を生成してよい。例えば波形成形部５２は、与えられるタイミング信号に応じて論理値が遷移する試験信号を生成してよい。
【００４７】
ドライバ５４は、波形成形部５２が生成した試験信号を、被試験デバイス３００に入力する。ドライバ５４は、波形成形部５２が生成した試験信号がＨ論理を示すときに所定のＨレベルの電圧を出力して、試験信号がＬ論理を示すときに所定のＬレベルの電圧を出力することにより、試験信号の電圧レベルを、被試験デバイス３００に入力すべき信号レベルに変換してよい。
【００４８】
コンパレータ５８は、被試験デバイス３００の出力信号を受け取り、出力信号の電圧レベルと、予め設定される参照レベルとを比較することにより、出力信号を２値の論理信号に変換してよい。例えばコンパレータ５８は、出力信号の電圧レベルが参照レベルより大きい場合にＨ論理を出力して、出力信号の電圧レベルが参照レベル以下である場合にＬ論理を出力してよい。
【００４９】
タイミング比較部６０は、与えられるストローブ信号に応じて、コンパレータ５８が出力する信号の論理値を取得する。これにより、出力信号の論理パターンを検出することができる。
【００５０】
タイミング発生部５６は、予め与えられるタイミングセットの設定値に応じて、上述したタイミング信号及びストローブ信号を生成する。例えばタイミング発生部５６は、レート発生部３０からタイミングセットに応じた周期で与えられるレート信号を、与えられるタイミングセットに応じた遅延量で遅延させたタイミング信号及びストローブ信号を生成してよい。
【００５１】
タイミングセットは、例えば一つのシーケンスデータを実行する毎に、レート発生部３０及びタイミング発生部５６に与えられてよい。例えばメインメモリ４０は、当該シーケンスデータに対応するパターンデータの一部に、タイミングセットのデータを含んでよい。パターン発生部７０は、それぞれのシーケンスデータを実行する毎に、当該シーケンスデータに対応するタイミングセットを、レート発生部３０及びタイミング発生部５６に設定してよい。
【００５２】
判定部６２は、タイミング比較部６０が検出した論理パターンと、期待値パターンとを比較する。これにより、被試験デバイス３００の良否を判定することができる。期待値パターンは、パターン発生部７０が生成してよい。例えば期待値パターンは、パターン発生部７０が生成する試験パターンに含まれる、被試験デバイス３００に入力される試験信号の論理パターンと同一であってよい。
【００５３】
キャプチャメモリ６４は、判定部６２における判定結果を格納する。例えばキャプチャメモリ６４は、判定部６２におけるパス（一致）及びフェイル（不一致）の判定結果を、試験パターン毎に格納してよい。また、キャプチャメモリ６４は、判定部６２におけるフェイルの判定結果を選択して格納してもよい。
【００５４】
また、チャネル制御部１０の結果メモリ１６は、それぞれのチャネル回路５０の判定部６２における判定結果を格納する。結果メモリ１６は、それぞれの判定部６２におけるパス（一致）及びフェイル（不一致）の判定結果を、試験パターン毎にそれぞれのチャネルに対応付けて格納してよい。また、結果メモリ１６は、それぞれの判定部６２におけるフェイルの判定結果を選択して格納してもよい。
【００５５】
上述したように、キャプチャメモリ６４は、試験パターン毎のフェイル情報を、チャネル回路５０毎に格納してよい。これに対し、結果メモリ１６は、パターンリストメモリ１４に格納されたシーケンスデータ毎のフェイル情報を、例えば被試験デバイス３００毎に格納してよい。
【００５６】
図３は、パターンリストメモリ１４が格納するパターンリスト、メインメモリ４０が格納するシーケンスデータ、及びパターンデータの一例を説明する図である。上述したように、メインメモリ４０は、複数のシーケンスデータ（シーケンスデータ１、シーケンスデータ２、・・・）と、それぞれ対応するパターンデータを格納する。
【００５７】
上述したように、シーケンスデータは複数の命令を含む。パターン発生部７０は、それぞれの命令を実行した場合に、当該命令に対応するパターンデータを出力してよい。例えばシーケンスデータは、対応するパターンデータを出力して次の命令に移行するＮＯＰ命令、対応するパターンデータを出力して、更に所定のアドレスの命令にジャンプするＪＭＰ命令、対応するパターンデータを出力して、更に指定されたアドレス範囲の命令を所定の回数繰り返すＬＯＯＰ命令等を含んでよい。
【００５８】
このような命令群を実行することにより、それぞれのパターンデータをシーケンスデータに応じた順序で出力して、所定の試験パターンを生成する。例えば、シーケンスデータ２を実行した場合、パターン発生部７０は、パターンデータＡを出力した後、パターンデータＢからパターンデータＣまでを、ＬＯＯＰ命令で指定される回数繰り返して出力する。
【００５９】
また、メインメモリ４０は、複数のチャネル回路５０に共通して、シーケンスデータを格納してよい。また、メインメモリ４０は、それぞれのチャネル回路５０に対してパターンデータを格納してよい。例えばシーケンスデータのそれぞれの命令に対して、複数のチャネル回路５０に対応するパターンデータを格納してよい。図３の例では、メインメモリ４０は、各チャネル回路５０に対応するパターンデータを、それぞれのアドレスの異なるビット位置に格納する。
【００６０】
パターンリストメモリ１４は、実行すべきシーケンスデータの順序を格納する。図３に示した例では、パターンリストメモリ１４は、シーケンスデータ２、シーケンスデータ１、・・・を順に指定するパターンリストを格納する。
【００６１】
また、図２に示した例では、シーケンスデータ及びパターンデータを格納するメインメモリ４０をチャネル制御部１０に設けている。これに対し他の例では、シーケンスデータを格納するメインメモリ４０をチャネル制御部１０に設け、それぞれのチャネル回路５０のパターンデータを格納するメモリを、それぞれのチャネル回路５０に設けてもよい。
【００６２】
この場合、それぞれのチャネル回路５０にパターンキャッシュメモリ９０を設けてよい。そして、ベクタ発生部８０が順次指定するアドレスを、それぞれのチャネル回路５０に設けたパターンキャッシュメモリ９０に分配してよい。
【００６３】
図４（ａ）は、メインメモリ４０の一例を説明する図である。上述したようにメインメモリ４０は、被試験デバイス３００を試験する試験データ列を記憶する。試験データ列は、シーケンスデータの各命令、又はパターンデータの各論理パターンを示す複数の試験データ（Ａ、Ｂ、Ｃ、・・・）を含む。それぞれの試験データは、シーケンスデータの一つの命令、又はパターンデータにおいて当該命令に対応する一つの論理パターンを指してよい。
【００６４】
本例におけるメインメモリ４０は、試験データ列に含まれる各試験データを、記憶領域上において空き領域無く隣接して記憶する。例えばメインメモリ４０は、各ワードに対応する記憶領域において試験データを格納可能なビットに空きが生じないように、それぞれの試験データがメインメモリ４０に対してアラインされていない状態で記憶してよい。具体的には、メインメモリ４０は一つの試験データを複数のワードに対応する記憶領域に渡って連続して記憶してよい。
【００６５】
ここで、ワードとは、メインメモリ４０におけるデータ転送の単位であってよい。例えば１ワードは、メインメモリ４０において予め定められた数のアドレスで指定される記憶領域に格納できるビット数を有してよい。また、複数のワードに対応する記憶領域に渡って連続して記憶するとは、例えば２つのワードに対応する記憶領域において、前のワードに対応する記憶領域の末尾ビットに格納した試験データのビットデータの次のビットデータを、後のワードに対応する記憶領域の先頭ビットに格納することを指してよい。
【００６６】
例えばメインメモリ４０が格納するワードのワード長が１２８ビットであり、試験データのパターン長が１１２ビットとする。このとき、当該ワードに対応する記憶領域の先頭ビットから試験データＡを格納した場合、当該ワードに対応する記憶領域の先頭ビットから１１２ビットまで試験データＡが書き込まれる。そして、当該ワードに対応する記憶領域の残りのビットには、次の試験データＢが書き込まれ、当該ワードの次のワードに対応する記憶領域における先頭ビットから、試験データＢの残部が書き込まれる。
【００６７】
上述したように、メインメモリ４０に対するデータ転送（データの書込み、データの読み出し）は、メインメモリ４０が格納するワード単位で行われる。メインメモリ４０からデータを読み出す場合、パターン発生制御部２０には、メインメモリ４０からデータを読み出す旨の信号が与えられる。
【００６８】
パターン発生制御部２０は、当該信号に応じて、メインメモリ４０が格納したメモリデータをワード単位で読み出す。このとき、パターン発生制御部２０は、当該信号に応じて、指定されるワードから、予め定められたバースト数のワードを、順次読み出してよい。
【００６９】
例えばパターン発生制御部２０は、メモリデータを読み出す場合に、メインメモリ４０に対して読み出し命令を発行する。メインメモリ４０は、当該命令を受け取ってから所定の試験サイクルの間、試験サイクル毎にメモリデータをワード単位で出力する。ここで、１試験サイクルで出力されるデータが１ワードに対応してよく、所定数の試験サイクルで出力されるデータが１ワードに対応してよく、また１試験サイクルで出力されるデータが複数のワードに対応してもよい。またパターン発生制御部２０は、複数の読み出し命令を順次発行して、メインメモリ４０のメモリデータを読み出してよい。
【００７０】
メインメモリ４０からメモリデータを読み出す場合、図４（ａ）に示すように各試験データは、メインメモリ４０のデータ転送単位であるワード単位に整列されていない状態で読み出される。パターン発生制御部２０は、ワード単位で読み出したメモリデータから、それぞれの試験データを抽出して、パターン発生部７０に供給する。
【００７１】
例えばパターン発生制御部２０は、複数のワードに対応する記憶領域から読み出したメモリデータを連結して整列させてよい。メモリデータの連結とは、例えば連続する二つのワードに対応するメモリデータのうち、前側のメモリデータの末尾バイトと、後側のメモリデータの先頭バイトとが連続するように、二つのメモリデータを接続する処理を指してよい。
【００７２】
また、パターン発生制御部２０は、連結して整列させたメモリデータを、試験データのパターン長毎に順次切り出すことにより、それぞれの試験データを抽出してよい。パターン発生制御部２０には、試験データのパターン長が予め通知されてよい。
【００７３】
また、パターン発生制御部２０は、メモリデータとしてシーケンスデータを読み出した場合、抽出した試験データをベクタ発生部８０のシーケンスキャッシュメモリに格納する。また、パターン発生制御部２０は、メモリデータとしてパターンデータを読み出した場合、抽出した試験データをパターンキャッシュメモリ９０に格納する。
【００７４】
また、サイト制御装置１３０は、シーケンスデータに含まれる命令毎、又はパターンデータに含まれるパターン毎に、メインメモリ４０に試験データを書き込んでよい。この場合、パターン発生制御部２０は、それぞれの命令又はパターンを書き込む場合に、当該データが書き込まれるべきワードをメインメモリ４０から読み出して、書き込むべきデータとの間でリードモディファイライト処理したワードを、メインメモリ４０に格納してよい。
【００７５】
図４（ｂ）は、パターン発生部７０が有するキャッシュメモリの一例を説明する図である。パターンキャッシュメモリ９０及びベクタ発生部８０に設けられるシーケンスキャッシュメモリは、図４（ｂ）に関連して説明するキャッシュメモリと同一の機能及び構成を有してよい。
【００７６】
キャッシュメモリは、パターン発生制御部２０から与えられるそれぞれの試験データを、それぞれのエントリにキャッシングする。つまり、パターン発生制御部２０は、抽出した試験データ毎に、キャッシュメモリ中の異なるキャッシュエントリに試験データを書き込む。エントリとは、キャッシュメモリがキャッシングする単位であり、それぞれ異なるアドレスにより指定される記憶領域であってよい。それぞれのエントリは、一つの試験データ（例えばシーケンスデータの一つの命令、又はパターンデータにおいて当該命令に対応する一つの論理パターン）を格納できる大きさを有することが好ましい。
【００７７】
そして、パターン発生部７０は、キャッシュメモリの各キャッシュエントリに格納された試験データを順次読み出すことにより、試験パターンを生成する。上述したようにパターン発生部７０は、シーケンスキャッシュメモリの各キャッシュエントリに格納されたシーケンスデータを実行して、パターンキャッシュメモリ９０に格納したパターンデータを、実行したシーケンスに応じて展開することにより試験パターンを生成してよい。
【００７８】
図５は、パターン発生制御部２０の、試験データ抽出の動作の一例を示す図である。上述したようにパターン発生制御部２０は、メインメモリ４０が格納したメモリデータを、ワード単位で読み出す。ここで、上述したように一つの試験データが、複数のワードに分離して存在する場合がある。
【００７９】
このため図５に示すように、パターン発生制御部２０は、連続する複数のワードを順に連結してよい。これにより、分離しているそれぞれの試験データが連結される。そしてパターン発生制御部２０は、連結して生成したメモリデータから、それぞれの試験データを抽出して、キャッシュメモリに格納してよい。例えばパターン発生制御部２０は、連結したメモリデータを、試験データのパターン長毎に順次切り出すことにより、それぞれの試験データを抽出してよい。また、連結したメモリデータの先頭バイトが、所定の試験データの先頭バイトと一致するように、連結したメモリデータのバイトをシフトしてから試験データを抽出してもよい。
【００８０】
図６は、パターン発生制御部２０の構成の一例を示す図である。パターン発生制御部２０は、制御回路２２、レジスタパイプライン２４、抽出部２８、位置レジスタ２５、及び位置レジスタ更新部２７を有する。
【００８１】
制御回路２２は、インターフェイス部１２及びメインメモリ４０とデータ伝送を行う。上述したように、制御回路２２は、インターフェイス部１２から与えられる試験データをメインメモリ４０に書き込んでよく、メインメモリ４０からデータを読み出してよい。また制御回路２２は、メインメモリ４０からワード単位で読み出したデータを、レジスタパイプライン２４に入力する。
【００８２】
レジスタパイプライン２４は、縦続接続された複数のレジスタ２６を有する。それぞれのレジスタ２６は、一つのワードを格納できるバイト幅を有する。本例のレジスタパイプライン２４は、３段のレジスタ２６を有する。初段のレジスタ２６−ａは、サイクル毎に制御回路２２からワード単位で入力されるメモリデータを順次格納する。２段目以降のレジスタは、前段のレジスタに格納されたメモリデータをサイクル毎に受け取り、自己が格納しているデータを更新する。それぞれのレジスタ２６に与えられるサイクルは、制御回路２２がメインメモリ４０から一つのワードを読み出すサイクルと同一周期であってよい。
【００８３】
抽出部２８は、それぞれのレジスタ２６が格納しているメモリデータを並列に受け取る。図５において説明したように、抽出部２８は、それぞれのメモリデータを連結して、複数ワード分のメモリデータを生成する。そして、連結したメモリデータから、それぞれの試験データを抽出する。このような処理により、メインメモリ４０において２以上のワードにまたがって格納された試験データを抽出することができる。
【００８４】
抽出部２８は、バーストに読み出したメモリデータが、シーケンスデータであるか、パターンデータあるかに応じて、抽出した試験データをシーケンスキャッシュメモリに格納するか、パターンキャッシュメモリ９０に格納するかを切り替える。
【００８５】
例えば制御回路２２は、シーケンスキャッシュメモリ又はパターンキャッシュメモリ９０に、所定の大きさ以上の空き領域が生じた場合に、空き領域が生じたキャッシュメモリに格納すべきメモリデータを、メインメモリ４０から読み出す。例えばパターンキャッシュメモリ９０に空き領域が生じた場合、制御回路２２は、パターンキャッシュメモリ９０に次に格納すべきパターンデータをメインメモリ４０から読み出す。そして、制御回路２２は、読み出したパターンデータを、パターンキャッシュメモリ９０に格納すべき旨を、抽出部２８に通知する。
【００８６】
制御回路２２は、次に読み出すべきシーケンスデータ及びパターンデータの、メインメモリ４０におけるアドレスを記憶するレジスタを有してよい。制御回路２２は、シーケンスデータ又はパターンデータをメインメモリ４０から読み出した場合に、対応するレジスタのアドレスを更新してよい。
【００８７】
また、シーケンスデータのパターン長と、パターンデータのパターン長とは異なってよい。この場合、抽出部２８には、それぞれのパターン長が予め設定されてよい。抽出部２８は、図６から図９で説明する処理で用いるパターン長Ｐの値としていずれのパターン長を用いるかを、当該処理に係るメモリデータがシーケンスデータ又はパターンデータのいずれであるかに基づいて選択してよい。
【００８８】
抽出部２８は、最終段のレジスタ２６−ｃが格納するメモリデータに、次に抽出すべき試験データの少なくとも一部が含まれている場合に、当該試験データを抽出してよい。例えば抽出部２８は、最終段のレジスタ２６−ｃが格納するメモリデータに、まだ抽出されていない試験データの先頭バイトが含まれている場合に、当該試験データを抽出してよい。また抽出部２８は、最終段のレジスタ２６−ｃが格納するメモリデータの末尾部分と、その前段のレジスタ２６−ｂが格納するメモリデータの先頭部分とに渡って、一つの試験データが格納されている場合、レジスタ２６−ｃ及びレジスタ２６−ｂが格納しているメモリデータから、当該試験データを抽出してよい。
【００８９】
また、抽出すべき試験データが、３つのレジスタ２６に渡って格納されている場合（つまり、レジスタ２６−ｂの記憶領域は、当該試験データのデータで埋められる）、抽出部２８は、３つのレジスタが格納しているメモリデータから、当該試験データを抽出してよい。この場合、次のサイクルにおいて、最終段のレジスタ２６−ｃの記憶領域は、既に抽出した試験データのデータで埋められることになるので、当該サイクルでは、試験データの抽出処理をスキップしてよい。
【００９０】
最終段のレジスタ２６−ｃに、いずれかの試験データの先頭バイトが格納されているか否かは、前回に抽出した試験データの末尾バイトの位置、メインメモリ４０に係るワード長、及び試験データのパターン長から判定することができる。位置レジスタ２５は、前回に抽出した試験データの末尾バイトの位置に１バイトを加算した位置情報を格納する。つまり、位置レジスタ２５は、まだ抽出されていない試験データの先頭バイトの位置を示す位置情報を格納する。位置レジスタ更新部２７は、サイクル毎に位置レジスタ２５が格納する位置情報を更新する。
【００９１】
図７は、各サイクルにおいて各レジスタ２６が格納するメモリデータの一例を示す図である。本例では、最終段のレジスタ２６−ｃの記憶領域の先頭バイトに、連結したメモリデータにおける最初の試験データＡの先頭バイトが格納されたサイクルを、第１サイクルとして説明する。
【００９２】
本例では、試験データのパターン長が、メインメモリ４０のワード長（一つのレジスタ２６が格納するメモリデータのバイト長）より小さい場合を説明する。但しワード長は、パターン長の整数倍では無いとする。説明を容易とすべく、具体例としてワード長を「１４」、パターン長を「９」として説明する。また、第１サイクルでは、位置レジスタ２５は、バイト位置「０」を位置情報の初期値として格納する。
【００９３】
本例のように、パターン長がワード長より短い場合、抽出部２８は、パターン長の和がワード長より大きくなるように、複数の試験データを並列に抽出してよい。抽出部２８が並列に抽出する試験データの数は、パターン長の和がワード長より大きくなる条件を満たす数のうち、最小の整数であってよい。本例の抽出部２８は、各試験サイクルにおいて２つの試験データを並列に抽出する。
【００９４】
第１サイクルでは、最終段のレジスタ２６−ｃに、第１の試験データＡ全体と、第２の試験データＢの先頭バイトを含む一部が格納されている。この場合、抽出部２８は、第１の試験データＡの全体、及び第２の試験データＢの全体を、連結したメモリデータから抽出する。
【００９５】
抽出部２８は、最終段のレジスタ２６−ｃに、次に抽出すべき試験データの先頭バイトが格納されているか否かを判定する。例えば抽出部２８は、位置レジスタ２５が格納するバイト位置及びワード長から、試験データの先頭バイトが格納されているか否かを判定してよい。より具体的には、抽出部２８は、バイト位置がワード長以下であるか否かを判定してよい。
【００９６】
抽出部２８は、位置レジスタ２５が格納するバイト位置から、所定のパターン長のデータを切り出して、試験データＡを抽出してよい。また同様に、当該バイト位置にパターン長を加算したバイト位置から、所定のパターン長のデータを切り出して、試験データＢを抽出してよい。抽出部２８は、２以上の試験データを並列に抽出した場合、抽出した試験データを並列にパターン発生部７０のキャッシュメモリに書き込んでよい。
【００９７】
このとき、位置レジスタ更新部２７には、抽出部２８から試験データの抽出処理が終了した旨が通知される。位置レジスタ更新部２７は、当該通知を受けたとき、位置レジスタ２５が格納しているバイト位置に、並列に抽出される試験データの数にパターン長を乗じた値を加算して、更にワード長を減算する（本例では、０＋２×９−１４＝４）。このような処理により、次のサイクルにおいて、未抽出の試験データの先頭バイトの位置が更新されるので、更新されたバイト位置に基づいて次の試験データを抽出することができる。並列に抽出される試験データの数、ワード長、及びパターン長は、抽出部２８及び位置レジスタ更新部２７に予め通知されることが好ましい。
【００９８】
第２サイクルでは、前段のレジスタ２６が格納していたメモリデータにより、それぞれのレジスタ２６が格納するメモリデータが更新される。第２サイクルにおいても、最終段のレジスタ２６−ｃに抽出すべき試験データの先頭バイトが格納されているので、抽出部２８は、試験データＣ及び試験データＤを抽出する。この処理により、位置レジスタ２５が格納するバイト位置は「８」に更新される（４＋２×９−１４＝８）。
【００９９】
尚、抽出部２８は、連結したメモリデータを、位置レジスタ２５が格納するバイト位置に応じたシフト量でビットシフトした後に、試験データを抽出してよい。例えば、抽出すべきデータの先頭バイトが、連結したメモリデータの先頭バイトとなるように、連結したメモリデータをシフトさせてよい。本例では、位置レジスタ２５がバイト位置「８」を格納しているので、抽出部２８は、図７に示すように連結したメモリデータを左に８バイトシフトさせて、試験データＣの先頭バイトを、メモリデータの先頭バイトとしてよい。
【０１００】
但し、メモリデータのシフトは、抽出部２８が受け取ったメモリデータに対して為され、それぞれのレジスタ２６が格納しているメモリデータに対しては行わない。また本例では、試験データの先頭バイトの位置が、連結したメモリデータの先頭バイトとなるようにメモリデータをシフトしたが、他の例では、試験データの先頭バイトの位置が、メモリデータにおける予め定められた任意のバイト位置となるように、メモリデータを整列させてよい。
【０１０１】
以上のような処理を繰り返すことにより、それぞれの試験データを抽出することができる。また試験データ毎に、パターン発生部７０に設けられるキャッシュメモリの各エントリに格納することができる。
【０１０２】
尚、キャッシュメモリに転送すべきエントリ数（例えば、１エントリに１試験データを格納する場合、抽出すべき試験データの総数）が、並列に抽出する試験データ数の整数倍とならない場合が考えられる。例えば、転送すべきエントリ数が５であり、並列数が４の場合、キャッシュメモリには２回のデータ転送が行われる。このとき、キャッシュメモリには８エントリ（４並列を２回転送）転送されるが、末尾の３エントリにはゴミデータ（不要なデータ）が格納される。この場合であっても、キャッシュメモリを例えばＦＩＦＯ方式でなく、バンク方式で制御することにより、不要なデータを用いずに試験パターンを生成することができる。但し、この場合には、各バンクに対して転送されるデータが、当該バンクの容量以上とならないように制御することが好ましい。
【０１０３】
また、それぞれのメモリは、試験サイクルと非同期に制御されてよい。また、それぞれのメモリのライト用クロックと、リード用クロックとは、異なる周期を有してよい。
【０１０４】
図８は、各サイクルにおいて各レジスタ２６が格納するメモリデータの他の例を示す図である。尚、本例における試験データのパターン長は、メインメモリ４０のワード長（一つのレジスタ２６が格納するメモリデータのバイト長）より大きい場合を説明する。但し、パターン長は、ワード長の整数倍では無いとする。
【０１０５】
説明を容易とすべく、具体例としてワード長を「１４」として、パターン長を「２０」として説明する。また、第１サイクルでは、位置レジスタ２５は、バイト位置「０」を位置情報の初期値として格納する。尚、抽出部２８及び位置レジスタ更新部２７の動作は、図７において説明した処理と同様である。
【０１０６】
第１サイクルでは、ワード長「１４」からバイト位置「０」を減算して、パターン長「２０」で除算した商が「０」となり、余りが「１４」となる。このため、抽出部２８は、最終段のレジスタ２６−ｃに先頭バイトが格納されている試験データの数が１であると判定する。そして、抽出部２８は、一つの試験データＡを抽出する。この処理により、位置レジスタ２５が格納するバイト位置は「６」に更新される（０＋１×２０−１４＝６）。
【０１０７】
第２サイクルでは、同様に一つの試験データＢを抽出して、位置レジスタ２５が格納するバイト位置を「１２」に更新する。第３サイクルでは、同様に一つの試験データＣを抽出して、位置レジスタ２５が格納するバイト位置を「１８」に更新する。
【０１０８】
第４サイクルでは、ワード長「１４」からバイト位置「１８」を減算した結果が負の値となる。この場合、抽出部２８は、当該サイクルでは、最終段のレジスタ２６−ｃには、抽出すべき試験データの先頭バイトが格納されていないと判定して、当該サイクルにおける試験データの抽出処理をスキップする。試験データの抽出をスキップする処理は、図７において説明した例でも同様に行われてよい。図７においては、ワード長と並列数との積「９×２」から、バイト位置を減算した結果の符合に基づいて、試験データの抽出をスキップするか否かを判定してよい。
【０１０９】
抽出部２８は、当該サイクルにおける試験データの抽出処理が終了した旨と、抽出した試験データの数が零である旨を、位置レジスタ更新部２７に通知する。位置レジスタ更新部２７は、位置レジスタ２５が格納するバイト位置を「４」に更新する（１８＋０×２０−１４＝４）。以上のような処理により、それぞれの試験データを抽出することができる。
【０１１０】
図９は、図７及び図８において説明した試験データの抽出処理の一例を示すフローチャートである。まず抽出部２８は、最終レジスタ２６−ｃに、いずれかの試験データの先頭バイトが格納されているか否かを判定する（Ｓ５００）。上述したように抽出部２８は、メインメモリ４０のワード長Ｗから、位置レジスタ２５が格納しているバイト位置Ｒを減じた値が、０以上であるか否かを判定してよい。
【０１１１】
当該減算値が負の値である場合、抽出部２８は、当該サイクルにおける試験データの抽出処理をスキップする。また抽出部２８は、その旨を位置レジスタ更新部２７に通知する。位置レジスタ更新部２７は、位置レジスタ２５が格納していたバイト位置Ｒから、ワード長Ｗを減じた値を、新たなバイト位置Ｒとして位置レジスタ２５に格納する（Ｓ５０２）。
【０１１２】
抽出部２８は、抽出すべき数の試験データを全て抽出したか否かを判定する（Ｓ５１２）。例えば抽出部２８は、パターンキャッシュメモリ９０又はシーケンスキャッシュメモリの空き領域に応じた数の試験データを抽出したかを判定してよい。例えば抽出部２８は、試験データの抽出処理を開始してから、キャッシュメモリの空き領域に応じたサイクル数が経過したか否かにより、抽出すべき数の試験データを抽出したか否かを判定してよい。
【０１１３】
抽出すべき数の試験データを抽出した場合、抽出部２８は、試験データの抽出処理を終了する。また、抽出すべき数の試験データを抽出していない場合、抽出部２８は、次のサイクルの処理を開始する（Ｓ５１４）。このとき、抽出部２８は、Ｓ５００からの処理を繰り返す。
【０１１４】
次に抽出部２８は、位置レジスタ２５が格納しているバイト位置Ｒに基づいて、連結したメモリデータをシフトさせる（Ｓ５０６）。そして、シフトしたメモリデータから、Ｎ個の試験データを抽出する（Ｓ５０８）。ここでＮは、図７に関連して上述した並列数であってよい。また、パターン長がワード長より大きい場合、Ｎ＝１であってよい。
【０１１５】
このとき、抽出部２８は、試験データを抽出した旨を位置レジスタ更新部２７に通知する。位置レジスタ更新部２７は、位置レジスタ２５が格納しているバイト位置Ｒに、抽出した試験データの個数Ｎとパターン長Ｐとの積を加算して、更にワード長Ｗを減算した値を、新たなバイト位置Ｒとして位置レジスタ２５に格納する（Ｓ５１０）。そして、抽出部２８は、抽出すべき数の試験データを抽出したか否かを判定する。
【０１１６】
このような処理により、それぞれの試験データを抽出して、試験データ毎にキャッシュメモリに格納することができる。尚、試験モジュール１００は、データ転送単位のワード長が、各試験データのパターン長の整数倍とならず、パターン長がワード長の整数倍とならない値に、メインメモリ４０のワード長及び試験データのパターン長が設定可能であってよい。
【０１１７】
この場合、メインメモリ４０が格納した異なるワードにまたがって一つの試験データが格納される場合があるが、上述した処理により、当該試験データを抽出してキャッシュメモリに格納することができる。尚、図７から図９に関連して説明した処理では、データのバイトを基準として説明したが、データのビットを基準として処理してもよい。例えば、上述した試験データの先頭バイトに代えて、試験データの先頭ビットを用いて、上述した処理を行ってよい。
【０１１８】
図１０は、本発明の一つの実施形態に係る電子デバイス４００の構成の一例を示す図である。電子デバイス４００は、被試験回路４１０、試験回路４２０、入出力ピン４３０、及びＢＩＳＴピン４４０を有する。被試験回路４１０は、電子デバイス４００の実装時（実動作時）に動作する回路であってよい。被試験回路４１０は、電子デバイス４００の実装時に入出力ピン４３０から与えられる信号に応じて動作する。
【０１１９】
例えば電子デバイス４００がメモリデバイスである場合、被試験回路４１０は、電子デバイス４００のメモリセルを含む回路であってよい。例えば被試験回路４１０は、メモリセル及びメモリセルを制御する制御回路であってよい。制御回路は、メモリセルへのデータの書き込み、メモリセルからのデータの読み出しを制御する回路であってよい。
【０１２０】
試験回路４２０は、被試験回路４１０と同一の半導体チップに設けられ、被試験回路４１０を試験する。試験回路４２０は、図１から図９に関連して説明した試験モジュール１００と同一の構成を有してよい。また試験回路４２０は、試験モジュール１００の一部の構成を有してもよい。また試験回路４２０は、試験モジュール１００の一部の機能を行う回路であってよい。例えば試験回路４２０は、結果メモリ１６を有さなくてよい。また試験回路４２０のレート発生部３０及びタイミング発生部５６は、固定されたタイミングセットの設定値により動作してよい。
【０１２１】
また試験回路４２０は、外部の試験装置からＢＩＳＴピン４４０を介して被試験回路４１０のセルフテストを行う旨の信号が与えられた場合に、被試験回路４１０を試験してよい。ＢＩＳＴピン４４０は、電子デバイス４００の実装時には用いられないピンであることが好ましい。また試験回路４２０は、被試験回路４１０の試験結果を、ＢＩＳＴピン４４０から外部の試験装置に出力してよい。
【０１２２】
外部の試験装置は、図１に関連して説明したサイト制御装置１３０と同様の動作を行ってよい。つまり、試験回路４２０を、図１から図９に関連して説明した試験モジュール１００と同様に機能させるべく、試験制御プログラム、試験プログラムデータ、試験パターンデータ等を試験回路４２０に供給してよい。
【０１２３】
以上、本発明の一つの側面を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることができる。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【０１２４】
上記説明から明らかなように、本発明の実施形態によれば、メインメモリ４０の複数のワードにまたがって試験データを格納した場合であっても、それぞれの試験データを、試験データ単位でキャッシュメモリのエントリに格納することができる。このため、上記のようにメインメモリ４０に試験データを格納しても、パターン発生部７０は容易に試験パターンを生成することができる。
【０１２５】
このため、メインメモリ４０の記憶領域の利用効率を向上させることができる。また、メインメモリ４０に係るデータ転送のスループットを向上させることができる。
【図面の簡単な説明】
【０１２６】
【図１】本発明の一つの実施形態に係る試験装置２００の構成の一例を示す図である。
【図２】試験モジュール１００の構成の一例を示す図である。
【図３】パターンリストメモリ１４が格納するパターンリスト、メインメモリ４０が格納するシーケンスデータ、及びパターンデータの一例を説明する図である。
【図４】図４（ａ）は、メインメモリ４０の一例を説明する図である。図４（ｂ）は、パターン発生部７０が有するキャッシュメモリの一例を説明する図である。
【図５】パターン発生制御部２０の、試験データ抽出の動作の一例を示す図である。
【図６】パターン発生制御部２０の構成の一例を示す図である。
【図７】各サイクルにおいて各レジスタ２６が格納するメモリデータの一例を示す図である。
【図８】各サイクルにおいて各レジスタ２６が格納するメモリデータの他の例を示す図である。
【図９】図７及び図８において説明した試験データの抽出処理の一例を示すフローチャートである。
【図１０】本発明の一つの実施形態に係る電子デバイス４００の構成の一例を示す図である。
【符号の説明】
【０１２７】
１０・・・チャネル制御部、１２・・・インターフェイス部、１４・・・パターンリストメモリ、１６・・・結果メモリ、２０・・・パターン発生制御部、２２・・・制御回路、２４・・・レジスタパイプライン、２５・・・位置レジスタ、２６・・・レジスタ、２７・・・位置レジスタ更新部、２８・・・抽出部、３０・・・レート発生部、４０・・・メインメモリ、５０・・・チャネル回路、５２・・・波形成形部、５４・・・ドライバ、５６・・・タイミング発生部、５８・・・コンパレータ、６０・・・タイミング比較部、６２・・・判定部、６４・・・キャプチャメモリ、７０・・・パターン発生部、８０・・・ベクタ発生部、９０・・・パターンキャッシュメモリ、１００・・・試験モジュール、１１０・・・システム制御装置、１３０・・・サイト制御装置、１４０・・・切替部、２００・・・試験装置、３００・・・被試験デバイス、４００・・・電子デバイス、４１０・・・被試験回路、４２０・・・試験回路、４３０・・・入出力ピン、４４０・・・ＢＩＳＴピン
【図１】
2008233086.tif 000003
【図２】
2008233086.tif 000004
【図３】
2008233086.tif 000005
【図４】
2008233086.tif 000006
【図５】
2008233086.tif 000007
【図６】
2008233086.tif 000008
【図７】
2008233086.tif 000009
【図８】
2008233086.tif 000010
【図９】
2008233086.tif 000011
【図１０】
2008233086.tif 000012