(57)【要約】  被試験デバイスを試験する試験装置であって、試験命令列を記憶する命令記憶部と、試験命令列から順次に命令を読み出して実行し、実行した命令に対応する試験パターンを出力するパターン発生部と、試験パターンに応じた試験信号を生成し、被試験デバイスに供給する試験信号出力部と、所定ビット数の値を格納する結果レジスタとを備え、命令記憶部は、結果レジスタの指定したビット位置を所定ビット値に更新する結果レジスタ更新命令を含む試験命令列を記憶し、パターン発生部は、結果レジスタ更新命令の実行において、結果レジスタにおける当該結果レジスタ更新命令により指定されたビット位置を所定ビット値に更新する試験装置を提供する。
2008114671.tif 000002
【特許請求の範囲】
【請求項１】
被試験デバイスを試験する試験装置であって、
試験命令列を記憶する命令記憶部と、
前記試験命令列から順次に命令を読み出して実行し、実行した前記命令に対応する試験パターンを出力するパターン発生部と、
前記試験パターンに応じた試験信号を生成し、前記被試験デバイスに供給する試験信号出力部と、
所定ビット数の値を格納する結果レジスタとを備え、
前記命令記憶部は、前記結果レジスタの指定したビット位置を所定ビット値に更新する結果レジスタ更新命令を含む前記試験命令列を記憶し、
前記パターン発生部は、前記結果レジスタ更新命令の実行において、前記結果レジスタにおける当該結果レジスタ更新命令により指定されたビット位置を前記所定ビット値に更新する
試験装置。
【請求項２】
前記パターン発生部は、前記結果レジスタ更新命令の実行において、前記結果レジスタと、前記結果レジスタにおけるセットすべきビットに対応するビットが１であり、変更しないビットに対応するビットが０であるデータとの論理和を演算して、前記結果レジスタを更新する請求項１に記載の試験装置。
【請求項３】
前記パターン発生部は、前記結果レジスタ更新命令の実行において、前記結果レジスタと、前記結果レジスタにおけるリセットすべきビットに対応するビットが１であり、変更しないビットに対応するビットが０であるデータの各ビットを反転したデータとの論理積を演算して、前記結果レジスタを更新する請求項１に記載の試験装置。
【請求項４】
前記命令記憶部は、所定の試験結果であったことを条件として前記結果レジスタの指定したビット位置を所定ビット値に更新する条件付結果レジスタ更新命令を含む試験命令列を記憶し、
前記パターン発生部は、前記条件付結果レジスタ更新命令の実行時において、試験が所定の試験結果であったことを条件として、前記結果レジスタにおける前記条件付結果レジスタ更新命令により指定されたビット位置を前記所定ビット値に更新する
請求項１に記載の試験装置。
【請求項５】
前記結果レジスタにおける更新すべきビット位置を指定する値を格納する更新レジスタを更に備え、
前記パターン発生部は、前記結果レジスタ更新命令の実行において、前記結果レジスタにおける前記更新レジスタにより指定されたビット位置を前記所定ビット値に更新する
請求項１に記載の試験装置。
【請求項６】
前記命令記憶部は、
第１の試験をするための第１の試験命令列と、
前記第１の試験の後に第２の試験をするための第２の試験命令列と、
前記第１の試験が所定の試験結果であったことを条件として前記結果レジスタの指定したビット位置を所定ビット値に更新する第１の条件付結果レジスタ更新命令と、
前記第１の条件付結果レジスタ更新命令の後に実行され、前記第２の試験が所定の試験結果であったことを条件として前記結果レジスタの指定したビット位置を所定ビット値に更新する第２の条件付結果レジスタ更新命令と
を記憶し、
前記更新レジスタは、前記結果レジスタのビット位置を指定する前記値を、前記第１の試験に先立って格納し、
前記パターン発生部は、
前記第１の条件付結果レジスタ更新命令の実行時において前記第１の試験が所定の試験結果であったことを条件として、前記結果レジスタにおける前記更新レジスタにより指定された前記第１の試験に対応するビット位置を試験結果を示すビット値に更新し、
前記更新レジスタをシフトして前記結果レジスタの前記第２の試験に対応するビット位置を指定するビット値に変更し、
前記第２の条件付結果レジスタ更新命令の実行時において前記第２の試験が所定の試験結果であったことを条件として、前記結果レジスタにおける前記更新レジスタにより指定された前記第２の試験に対応するビット位置を試験結果を示すビット値に更新する
請求項５に記載の試験装置。
【請求項７】
電子デバイスであって、
被試験回路と、
前記被試験回路を試験する試験回路とを備え、
前記試験回路は、
試験命令列を記憶する命令記憶部と、
前記試験命令列から順次に命令を読み出して実行し、実行した前記命令に対応する試験パターンを出力するパターン発生部と、
前記試験パターンに応じた試験信号を生成し、前記被試験回路に供給する試験信号出力部と、
所定ビット数の値を格納する結果レジスタとを備え、
前記命令記憶部は、前記結果レジスタの指定したビット位置を所定ビット値に更新する結果レジスタ更新命令を含む前記試験命令列を記憶し、
前記パターン発生部は、前記結果レジスタ更新命令の実行において、前記結果レジスタにおける当該結果レジスタ更新命令により指定されたビット位置を前記所定ビット値に更新する
電子デバイス。
【請求項８】
被試験デバイスを試験する試験方法であって、
試験命令列を記憶する命令記憶段階と、
前記試験命令列から順次に命令を読み出して実行し、実行した前記命令に対応する試験パターンを出力するパターン発生段階と、
前記試験パターンに応じた試験信号を生成し、前記被試験デバイスに供給する試験信号出力段階と、
所定ビット数の値を格納する格納段階と
を備え、
前記命令記憶段階が、前記格納段階において指定されたビット位置を所定ビット値に更新する結果レジスタ更新命令を含む前記試験命令列を記憶する段階を有し、
前記パターン発生段階が、前記結果レジスタ更新命令の実行において、前記格納段階における当該結果レジスタ更新命令により指定されたビット位置を前記所定ビット値に更新する段階を有する
試験方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、試験装置、電子デバイスおよび試験方法に関する。特に本発明は、被試験デバイスを試験する試験装置、被試験回路を試験する試験回路を備える電子デバイス、及び被試験デバイスを試験する試験方法に関する。本出願は、下記の米国特許出願に関連する。文献の参照による組み込みが認められる指定国については、下記の出願に記載された内容を参照により本出願に組み込み、本出願の一部とする。
米国特許出願  １１／６８９，５０３    出願日２００７年３月２１日
【背景技術】
【０００２】
半導体等の被試験デバイスを試験する試験装置が知られている。試験装置は、所定の論理パターンの試験信号を被試験デバイスに供給し、当該試験信号に応じて被試験デバイスから出力される信号を検出する。そして、試験装置は、検出した信号と期待値と比較することにより、当該被試験デバイスの良否を判定する。【０００３】
試験装置は、試験パターンを順次に発生するパターン発生器と、試験パターンに応じた論理の試験信号を出力する試験信号出力部とを備える。パターン発生器は、メモリに格納されたシーケンスデータ（試験命令列）から順次に命令を読み出し、読み出した命令を実行する。そして、パターン発生器は、実行した各命令に対応するパターンデータをメモリから読み出し、読み出したパターンデータを試験パターンとして順次に出力する。これにより、試験装置は、所定の論理パターンの試験信号を被試験デバイスに供給することができる。【０００４】
ところで、パターン発生器は、被試験デバイスの出力信号と期待値との比較結果を取り込み、取り込んだ比較結果に応じて条件分岐をする試験命令を実行することができた（例えば、日本国特許出願公開公報  特開２００４−２６４０４７号、特開平７−７３７００号参照）。しかしながら、パターン発生器は、被試験デバイスに対して行われた複数の試験の結果を保持しておき、その後の試験においてこれら複数の試験結果に応じて異なる試験パターンを発生したり、また、複数の試験の結果に応じて被試験デバイスのクラスを分類したりすることが困難であった。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
そこで本実施形態の１つの側面においては、上記の課題を解決することのできる試験装置、電子デバイスおよび試験方法を提供することを目的とする。この目的は請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本実施形態の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００６】
即ち、第１の形態においては、被試験デバイスを試験する試験装置であって、試験命令列を記憶する命令記憶部と、試験命令列から順次に命令を読み出して実行し、実行した命令に対応する試験パターンを出力するパターン発生部と、試験パターンに応じた試験信号を生成し、被試験デバイスに供給する試験信号出力部と、所定ビット数の値を格納する結果レジスタとを備え、命令記憶部は、結果レジスタの指定したビット位置を所定ビット値に更新する結果レジスタ更新命令を含む試験命令列を記憶し、パターン発生部は、結果レジスタ更新命令の実行において、結果レジスタにおける当該結果レジスタ更新命令により指定されたビット位置を所定ビット値に更新する試験装置を提供する。【０００７】
第２の形態においては、電子デバイスであって、被試験回路と、被試験回路を試験する試験回路とを備え、試験回路は、試験命令列を記憶する命令記憶部と、試験命令列から順次に命令を読み出して実行し、実行した命令に対応する試験パターンを出力するパターン発生部と、試験パターンに応じた試験信号を生成し、被試験回路に供給する試験信号出力部と、所定ビット数の値を格納する結果レジスタとを備え、命令記憶部は、結果レジスタの指定したビット位置を所定ビット値に更新する結果レジスタ更新命令を含む試験命令列を記憶し、パターン発生部は、結果レジスタ更新命令の実行において、結果レジスタにおける当該結果レジスタ更新命令により指定されたビット位置を所定ビット値に更新する電子デバイスを提供する。【０００８】
第３の形態においては、被試験デバイスを試験する試験方法であって、試験命令列を記憶する命令記憶段階と、試験命令列から順次に命令を読み出して実行し、実行した命令に対応する試験パターンを出力するパターン発生段階と、試験パターンに応じた試験信号を生成し、被試験デバイスに供給する試験信号出力段階と、所定ビット数の値を格納する格納段階とを備え、命令記憶段階が、格納段階において指定されたビット位置を所定ビット値に更新する結果レジスタ更新命令を含む試験命令列を記憶する段階を有し、パターン発生段階が、結果レジスタ更新命令の実行において、格納段階における当該結果レジスタ更新命令により指定されたビット位置を所定ビット値に更新する段階を有する試験方法を提供する。【０００９】
なお上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションも又発明となりうる。
【発明の効果】
【００１０】
本実施形態によれば、被試験デバイスに対して行われた複数の試験の結果を保持しておき、その後の試験においてこれら複数の試験結果に応じて異なる試験パターンを発生したり、また、複数の試験の結果に応じて被試験デバイスのクラスを分類したりすることできる。これにより、電子デバイスが本来目的とする動作を行うことができるかどうかを適切にチェックできる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態に係る試験装置２００の構成の一例を示す図である。
【図２】試験モジュール１００の構成の一例を示す図である。
【図３】パターンリストメモリ１４が格納するパターンリスト、メインメモリ４０が格納するシーケンスデータ、及びパターンデータの一例を説明する図である。
【図４】本実施形態のパターン発生部７０の構成の一例を示す図である。
【図５】シーケンスキャッシュメモリ３１０に格納されるシーケンスデータ（試験命令列）の一例を示す図である。
【図６】本実施形態の変形例に係るパターン発生部７０の構成の一例を示す図である。
【図７】本変形例に係るパターン発生部７０により実行されるシーケンスデータ（試験命令列）の一例を示す図である。
【図８】図７に示す試験命令列を実行した場合の処理フローの一例を示す図である。
【図９】本実施形態に係る電子デバイス４００の構成の一例を示す図である。
【符号の説明】
【００１２】
１００・・・試験モジュール、１１０・・・システム制御装置、１３０・・・サイト制御装置、１４０・・・切替部、２００・・・試験装置、３００・・・被試験デバイス、１〜３・・・シーケンスデータ、１０・・・チャネル制御部、１２・・・インターフェイス部、１４・・・パターンリストメモリ、１６・・・結果メモリ、２０・・・パターン発生制御部、３０・・・レート発生部、４０・・・メインメモリ、５０・・・チャネル回路、５２・・・波形成形部、５４・・・ドライバ、５６・・・タイミング発生部、５８・・・コンパレータ、６０・・・タイミング比較部、６２・・・判定部、６４・・・キャプチャメモリ、７０・・・パターン発生部、８０・・・ベクタ発生部、９０・・・パターンキャッシュメモリ、３１０・・・シーケンスキャッシュメモリ、３２０・・・命令実行部、３４０・・・結果レジスタ、３５０・・・更新レジスタ、５００・・・格納命令、５１０・・・試験命令列、５２０・・・条件付結果レジスタ更新命令、５３０・・・シフト命令、５４０・・・試験命令列、５５０・・・条件付結果レジスタ更新命令、５６０・・・試験命令列、４００・・・電子デバイス、４１０・・・被試験回路、４２０・・・試験回路、４３０・・・入出力ピン、４４０・・・ＢＩＳＴピン
【発明を実施するための最良の形態】
【００１３】
以下、発明の実施の形態を通じて本発明の一側面を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。又実施形態の中で説明されている全特徴の組み合わせが発明の解決に必須であるとは限らない。【００１４】
図１は、本発明の一つの実施形態に係る試験装置２００の構成の一例を示す図である。試験装置２００は、半導体回路等の被試験デバイス３００を試験する装置であって、システム制御装置１１０、複数のサイト制御装置１３０、切替部１４０、及び複数の試験モジュール１００を備える。【００１５】
システム制御装置１１０は、試験装置２００が被試験デバイス３００の試験に用いる試験制御プログラム、試験プログラム、及び試験データ等を外部のネットワーク等を介して受信し、格納する。複数のサイト制御装置１３０は、通信ネットワークを介してシステム制御装置１１０と接続される。【００１６】
サイト制御装置１３０ａ〜ｃは、いずれかの被試験デバイス３００の試験を制御する。例えば複数のサイト制御装置１３０は、複数の被試験デバイス３００と一対一に対応して設けられ、それぞれのサイト制御装置１３０は、対応する被試験デバイス３００の試験を制御する。【００１７】
図１においては、サイト制御装置１３０ａは被試験デバイス３００ａの試験を制御し、サイト制御装置１３０ｂは被試験デバイス３００ｂの試験を制御する。これに代えて、複数のサイト制御装置１３０は、それぞれ複数の被試験デバイス３００の試験を制御してもよい。【００１８】
より具体的には、サイト制御装置１３０は、システム制御装置１１０から試験制御プログラムを取得し実行する。次に、サイト制御装置１３０は、試験制御プログラムに基づいて、対応する被試験デバイス３００の試験に用いる試験プログラム（例えば、後述するシーケンスデータ）及び試験データ（例えば、後述するパターンデータ）をシステム制御装置１１０から取得する。そして、切替部１４０を介して当該被試験デバイス３００の試験に用いる１又は複数の試験モジュール１００等のモジュールに格納する。次に、サイト制御装置１３０は、試験プログラム及び試験データに基づく試験の開始を切替部１４０を介して試験モジュール１００に指示する。そして、サイト制御装置１３０は、試験が終了したことを示す割込み等を例えば試験モジュール１００から受信し、試験結果に基づいて次の試験を試験モジュール１００に行なわせる。【００１９】
切替部１４０は、複数のサイト制御装置１３０のそれぞれを、当該サイト制御装置１３０が制御する１又は複数の試験モジュール１００に接続して、これらの間の通信を中継する。ここで、予め定められた一のサイト制御装置１３０は、試験装置２００の使用者または試験制御プログラム等の指示に基づいて、複数のサイト制御装置１３０のそれぞれを、当該サイト制御装置１３０が被試験デバイス３００の試験に用いる１以上の試験モジュール１００に接続させるべく切替部１４０を設定してよい。【００２０】
例えば、図１においては、サイト制御装置１３０ａは、複数の試験モジュール１００ａに接続する様に設定され、これらを用いて被試験デバイス３００ａの試験を行なう。ここで、他のサイト制御装置１３０が試験モジュール１００を用いて被試験デバイス３００を試験するための構成及び動作は、サイト制御装置１３０ａが被試験デバイス３００ａを試験するための構成及び動作と略同様である。以下では、サイト制御装置１３０ａが被試験デバイス３００ａを試験するための構成及び動作を中心に説明する。【００２１】
試験モジュール１００ａは、サイト制御装置１３０ａの指示に基づいて、被試験デバイス３００ａの試験に用いる試験信号を生成すべきタイミング信号を生成する。また、いずれかの試験モジュール１００ａは、他の試験モジュール１００ａにおける試験結果を受信して、試験結果の良否に対応したシーケンスを複数の試験モジュール１００ａに実行させてよい。【００２２】
複数の試験モジュール１００ａは、被試験デバイス３００ａが有する複数の端子の一部ずつにそれぞれ接続され、サイト制御装置１３０ａにより格納されたシーケンスデータ及びパターンデータに基づいて被試験デバイス３００ａの試験を行なう。被試験デバイス３００ａの試験において、試験モジュール１００ａは、後述するパターンリストにより指定されたシーケンスデータ及びパターンデータに基づいて、パターンデータから試験信号を生成して、当該試験モジュール１００ａに接続された被試験デバイス３００ａの端子に試験信号を供給する。【００２３】
次に、試験モジュール１００ａは、被試験デバイス３００ａが試験信号に基づいて動作した結果出力する出力信号を取得し、期待値と比較する。ここで複数の試験モジュール１００ａは、シーケンスデータ及びパターンデータに基づいて、試験信号のサイクル周期を動的に変化させるべく、異なるサイクル周期に基づいて試験信号を生成してよい。【００２４】
また、試験モジュール１００ａは、試験プログラムの処理が完了した場合、あるいは試験プログラムの実行中に異常が生じた場合等において、サイト制御装置１３０ａに対して割込みを発生する。この割込みは、切替部１４０を介して当該試験モジュール１００ａに対応するサイト制御装置１３０ａに通知され、サイト制御装置１３０ａが有するプロセッサにより割込み処理が行われる。【００２５】
以上において、試験装置２００は、オープンアーキテクチャにより実現され、オープンアーキテクチャ規格を満たす各種のモジュールを使用することができる。そして、試験装置２００は、試験モジュール１００等のモジュールを、切替部１４０が有する任意の接続スロットに挿入して使用することができる。【００２６】
この際、試験装置２００の使用者等は、例えばサイト制御装置１３０ａを介して切替部１４０の接続形態を変更し、被試験デバイス３００の試験に用いる複数のモジュールを、当該被試験デバイス３００の試験を制御するサイト制御装置１３０に接続させることができる。これにより、試験装置２００の使用者は、複数の被試験デバイス３００のそれぞれの端子数、端子の配置、端子の種類、又は試験の種類等に応じて適切なモジュールを選択し、試験装置２００に実装することができる。【００２７】
また、試験装置２００、及び試験モジュール１００は、試験対象となる被試験回路と共に同一の電子デバイスに設けられた試験回路であってもよい。当該試験回路は、電子デバイスのＢＩＳＴ回路等として実現され、被試験回路を試験することにより電子デバイスの診断等を行う。これにより、当該試験回路は、被試験回路となる回路が、電子デバイスが本来目的とする通常動作を行うことができるかどうかをチェックすることができる。【００２８】
また、試験装置２００、及び試験モジュール１００は、試験対象となる被試験回路と同一のボード又は同一の装置内に設けられた試験回路であってもよい。このような試験回路も、上述したように被試験回路が本来目的とする通常動作を行うことができるかどうかをチェックすることができる。【００２９】
図２は、試験モジュール１００の構成の一例を示す図である。試験モジュール１００は、チャネル制御部１０及び複数のチャネル回路５０を有する。本例では、一つのチャネル回路５０の機能及び構成を説明するが、他のチャネル回路５０も同一の機能及び構成を有してよい。【００３０】
それぞれのチャネル回路５０は、被試験デバイス３００の対応する入出力ピンに接続され、当該入出力ピンに試験信号を供給してよい。また、それぞれのチャネル回路５０は、当該入出力ピンからの出力信号を測定してよい。尚、被試験デバイス３００の入出力ピンは、入力ピン又は出力ピンのいずれかであってもよい。【００３１】
チャネル制御部１０は、それぞれのチャネル回路５０を制御する。例えばチャネル制御部１０は、それぞれのチャネル回路５０を制御して試験信号を生成させる。また、チャネル制御部１０は、それぞれのチャネル回路５０を制御して、被試験デバイス３００の出力信号を測定させる。【００３２】
また、チャネル制御部１０は、いずれかのチャネル回路５０における測定結果に基づいて、他のチャネル回路５０を制御してもよい。例えば、いずれかのチャネル回路５０における測定結果が所定の条件を満たすまで、他の少なくとも一つのチャネル回路５０に所定の動作を繰り返し行わせ、測定結果が所定の条件を満たした場合に、当該他のチャネル回路５０に、次に行うべき動作を行わせてよい。【００３３】
チャネル制御部１０は、インターフェイス部１２、パターンリストメモリ１４、結果メモリ１６、パターン発生制御部２０、メインメモリ４０、レート発生部３０、及びパターン発生部７０を有する。インターフェイス部１２は、サイト制御装置１３０と、試験モジュール１００との間でデータを受け渡す。【００３４】
メインメモリ４０は、複数種類のシーケンスデータと、シーケンスデータに対応するパターンデータとを格納する。メインメモリ４０は、サイト制御装置１３０から与えられるシーケンスデータ及びパターンデータを、被試験デバイス３００の試験前に予め格納してよい。【００３５】
例えばサイト制御装置１３０は、インターフェイス部１２に、シーケンスデータ、パターンデータ、及びこれらのデータをメインメモリ４０の指定アドレスに格納すべき命令を入力してよい。パターン発生制御部２０は、インターフェイス部１２が受け取った命令に応じて、これらのデータをメインメモリ４０に格納する。【００３６】
シーケンスデータは、例えば順次実行すべき命令群を示すデータ（試験命令列）であってよい。パターンデータは、例えば論理値パターンを示すデータであり、複数の命令と一対一に対応付けて格納されてよい。例えばシーケンスデータは、それぞれのパターンデータを、所定の順序で出力させることにより、試験パターンを生成させる命令群であってよい。【００３７】
このとき、シーケンスデータは、それぞれのパターンデータを複数回用いて、試験パターンを生成してよい。例えばシーケンスデータは、ループ命令、ジャンプ命令等を含んでよい。チャネル制御部１０が、このようなシーケンスデータを実行することにより、対応するパターンデータを展開して、シーケンスデータ及びパターンデータに応じた試験信号を生成することができる。メインメモリ４０が格納するシーケンスデータ及びパターンデータの一例は、図３において後述する。【００３８】
パターンリストメモリ１４は、メインメモリ４０が格納したシーケンスデータを実行すべき順序を示すパターンリストを格納する。例えばパターンリストメモリ１４は、実行すべきシーケンスデータの、メインメモリ４０におけるアドレスを順次指定するパターンリストを格納してよい。パターンリストメモリ１４は、メインメモリ４０と同様に、サイト制御装置１３０から与えられるパターンリストを、被試験デバイス３００の試験前に予め格納してよい。パターンリストは、上述した試験制御プログラムの一例であってよく、試験制御プログラムの一部であってもよい。【００３９】
パターン発生制御部２０は、被試験デバイス３００の試験を開始する場合に、パターンリストメモリ１４からパターンリストを読み出す。例えばサイト制御装置１３０から試験を開始する旨の命令を受けた場合に、パターン発生制御部２０は、パターンリストメモリ１４からパターンリストを読み出してよい。【００４０】
パターン発生制御部２０は、メインメモリ４０が格納したシーケンスデータ及び対応するパターンデータを、パターンリストに基づく順序で読み出す。パターン発生制御部２０は、読み出したシーケンスデータを、パターン発生部７０のベクタ発生部８０に送信する。また、パターン発生制御部２０は、読み出したパターンデータを、パターン発生部７０のパターンキャッシュメモリ９０に送信する。【００４１】
パターン発生制御部２０は、後段の回路のキャッシュメモリ、ＦＩＦＯ等に、所定の空き領域が生じた場合に、次のシーケンスデータ及びパターンデータを読み出して送信してよい。この場合、パターン発生制御部２０は、シーケンスデータ及びパターンデータを格納すべき全てのキャッシュメモリ、ＦＩＦＯ等に、所定の空き領域が生じたことを条件として、次のシーケンスデータ及びパターンデータを読み出して、これらのキャッシュメモリ、ＦＩＦＯ等に送信してよい。【００４２】
パターン発生部７０は、パターン発生制御部２０から順次受け取るシーケンスデータ及びパターンデータに基づいて、試験パターンを順次生成する。本例のパターン発生部７０は、ベクタ発生部８０及びパターンキャッシュメモリ９０を有する。【００４３】
上述したように、ベクタ発生部８０は、パターン発生制御部２０からシーケンスデータを受け取る。ベクタ発生部８０は、受け取ったシーケンスデータを格納するシーケンスキャッシュメモリを有してよい。パターンキャッシュメモリ９０は、パターン発生制御部２０からパターンデータを受け取り、所定のアドレスに格納する。【００４４】
ベクタ発生部８０は、シーケンスキャッシュメモリに格納したシーケンスデータを順次実行して、パターンキャッシュメモリ９０のアドレスを順次指定する。例えばシーケンスデータの各命令には、当該命令に応じて指定すべきパターンデータのアドレスが対応付けられていてよい。そして、ベクタ発生部８０は、シーケンスデータに含まれるループ命令、ジャンプ命令等に応じてパターンキャッシュメモリ９０のアドレスを順次指定する。【００４５】
パターンキャッシュメモリ９０は、順次指定されるアドレスのパターンデータを出力する。このような構成により、シーケンスデータ及びパターンデータに応じた論理パターンを有する試験パターンを生成することができる。また、シーケンスキャッシュメモリ及びパターンキャッシュメモリ９０は、シーケンスデータの実行が終了した場合に、当該シーケンスデータ及び対応するパターンデータの記憶領域を開放してよい。シーケンスデータは、命令群の末尾に、シーケンスデータの終了を示す終了命令を有してよい。【００４６】
それぞれのチャネル回路５０は、パターン発生部が出力する試験パターンに基づいて試験信号を成形して、被試験デバイス３００に入力する。また被試験デバイス３００の出力信号を測定する。チャネル回路５０は、波形成形部５２、ドライバ５４、タイミング発生部５６、コンパレータ５８、タイミング比較部６０、判定部６２、及びキャプチャメモリ６４を有する。【００４７】
波形成形部５２は、パターン発生部７０が生成した試験パターンに基づいて、試験信号を成形する。例えば波形成形部５２は、当該試験パターンに応じた論理パターンを有する試験信号を生成してよい。また、波形成形部５２は、与えられるタイミング信号に応じて、試験信号を生成してよい。例えば波形成形部５２は、与えられるタイミング信号に応じて論理値が遷移する試験信号を生成してよい。【００４８】
ドライバ５４は、波形成形部５２が生成した試験信号を、被試験デバイス３００に入力する。ドライバ５４は、波形成形部５２が生成した試験信号がＨ論理を示すときに所定のＨレベルの電圧を出力して、試験信号がＬ論理を示すときに所定のＬレベルの電圧を出力することにより、試験信号の電圧レベルを、被試験デバイス３００に入力すべき信号レベルに変換してよい。【００４９】
コンパレータ５８は、被試験デバイス３００の出力信号を受け取り、出力信号の電圧レベルと、予め設定される参照レベルとを比較することにより、出力信号を２値の論理信号に変換してよい。例えばコンパレータ５８は、出力信号の電圧レベルが参照レベルより大きい場合にＨ論理を出力して、出力信号の電圧レベルが参照レベル以下である場合にＬ論理を出力してよい。【００５０】
タイミング比較部６０は、与えられるストローブ信号に応じて、コンパレータ５８が出力する信号の論理値を取得する。これにより、出力信号の論理パターンを検出することができる。【００５１】
タイミング発生部５６は、予め与えられるタイミングセットの設定値に応じて、上述したタイミング信号及びストローブ信号を生成する。例えばタイミング発生部５６は、レート発生部３０からタイミングセットに応じた周期で与えられるレート信号を、与えられるタイミングセットに応じた遅延量で遅延させたタイミング信号及びストローブ信号を生成してよい。【００５２】
タイミングセットは、例えば一つのシーケンスデータを実行する毎に、レート発生部３０及びタイミング発生部５６に与えられてよい。例えばメインメモリ４０は、当該シーケンスデータに対応するパターンデータの一部に、タイミングセットのデータを含んでよい。パターン発生部７０は、それぞれのシーケンスデータを実行する毎に、当該シーケンスデータに対応するタイミングセットを、レート発生部３０及びタイミング発生部５６に設定してよい。【００５３】
判定部６２は、タイミング比較部６０が検出した論理パターンと、期待値パターンとを比較する。これにより、被試験デバイス３００の良否を判定することができる。期待値パターンは、パターン発生部７０が生成してよい。例えば期待値パターンは、パターン発生部７０が生成する試験パターンに含まれる、被試験デバイス３００に入力される試験信号の論理パターンと同一であってよい。また、判定部６２は、パス（一致）及びフェイル（不一致）の判定結果を、パターン発生部７０に供給してもよい。【００５４】
キャプチャメモリ６４は、判定部６２における判定結果を格納する。例えばキャプチャメモリ６４は、判定部６２におけるパス（一致）及びフェイル（不一致）の判定結果を、試験パターン毎に格納してよい。また、キャプチャメモリ６４は、判定部６２におけるフェイルの判定結果を選択して格納してもよい。【００５５】
また、チャネル制御部１０の結果メモリ１６は、それぞれのチャネル回路５０の判定部６２における判定結果を格納する。結果メモリ１６は、それぞれの判定部６２におけるパス（一致）及びフェイル（不一致）の判定結果を、試験パターン毎にそれぞれのチャネルに対応付けて格納してよい。また、結果メモリ１６は、それぞれの判定部６２におけるフェイルの判定結果を選択して格納してもよい。【００５６】
上述したように、キャプチャメモリ６４は、試験パターン毎のフェイル情報を、チャネル回路５０毎に格納してよい。これに対し、結果メモリ１６は、パターンリストメモリ１４に格納されたシーケンスデータ毎のフェイル情報を、例えば被試験デバイス３００毎に格納してよい。【００５７】
図３は、パターンリストメモリ１４が格納するパターンリスト、メインメモリ４０が格納するシーケンスデータ、及びパターンデータの一例を説明する図である。上述したように、メインメモリ４０は、複数のシーケンスデータ（シーケンスデータ１、シーケンスデータ２、・・・）と、それぞれ対応するパターンデータを格納する。【００５８】
上述したように、シーケンスデータは、複数の命令を含む。パターン発生部７０は、それぞれの命令を実行した場合に、当該命令に対応するパターンデータを出力してよい。例えばシーケンスデータは、対応するパターンデータを出力して次の命令に移行するＮＯＰ命令、対応するパターンデータを出力して、更に所定のアドレスの命令にジャンプするＪＭＰ命令、対応するパターンデータを出力して、更に指定されたアドレス範囲の命令を所定の回数繰り返すＬＯＯＰ命令等を含んでよい。【００５９】
このような命令群を実行することにより、それぞれのパターンデータをシーケンスデータに応じた順序で出力して、所定の試験パターンを生成する。例えば、シーケンスデータ２を実行した場合、パターン発生部７０は、パターンデータＡを出力した後、パターンデータＢからパターンデータＣまでを、ＬＯＯＰ命令で指定される回数繰り返して出力する。【００６０】
また、メインメモリ４０は、複数のチャネル回路５０に共通して、シーケンスデータを格納してよい。また、メインメモリ４０は、それぞれのチャネル回路５０に対してパターンデータを格納してよい。例えばシーケンスデータのそれぞれの命令に対して、複数のチャネル回路５０に対応するパターンデータを格納してよい。図３の例では、メインメモリ４０は、各チャネル回路５０に対応するパターンデータを、それぞれのアドレスの異なるビット位置に格納する。【００６１】
パターンリストメモリ１４は、実行すべきシーケンスデータの順序を格納する。図３に示した例では、パターンリストメモリ１４は、シーケンスデータ２、シーケンスデータ１、・・・を順に指定するパターンリストを格納する。【００６２】
また、図２に示した例では、シーケンスデータ及びパターンデータを格納するメインメモリ４０をチャネル制御部１０に設けている。これに対し他の例では、シーケンスデータを格納するメインメモリ４０をチャネル制御部１０に設け、それぞれのチャネル回路５０のパターンデータを格納するメモリを、それぞれのチャネル回路５０に設けてもよい。【００６３】
この場合、それぞれのチャネル回路５０にパターンキャッシュメモリ９０を設けてよい。そして、ベクタ発生部８０が順次指定するアドレスを、それぞれのチャネル回路５０に設けたパターンキャッシュメモリ９０に分配してよい。【００６４】
図４は、本実施形態に係るパターン発生部７０の構成の一例を示す図である。ベクタ発生部８０は、シーケンスキャッシュメモリ３１０と、命令実行部３２０と、結果レジスタ３４０とを含む。シーケンスキャッシュメモリ３１０は、シーケンスデータ（試験命令列）をパターン発生制御部２０から受け取り、記憶する。シーケンスキャッシュメモリ３１０は、命令記憶部の一例である。【００６５】
命令実行部３２０は、シーケンスキャッシュメモリ３１０に記憶された試験命令列から順次に命令を読み出して実行する。試験命令列に含まれる各命令には、当該試験命令列中における、当該命令の位置を示すオフセットが割り付けられている。【００６６】
命令実行部３２０は、命令を実行した場合、当該命令に割り付けられたオフセットを、当該命令に対応したパターンデータが格納されたパターンキャッシュメモリ９０のアドレスに変換する。命令実行部３２０は、当該アドレスをパターンキャッシュメモリ９０に与え、パターンキャッシュメモリ９０から実行した命令に対応するパターンデータを出力させる。パターンキャッシュメモリ９０は、パターンデータを、試験パターンとしてチャネル回路５０に供給する。そして、チャネル回路５０は、供給された試験パターンに応じた試験信号を生成し、被試験デバイス３００に供給する。パターンキャッシュメモリ９０は、一例として、試験パターンを波形成形部５２、タイミング発生部５６および判定部６２に供給する。【００６７】
また、シーケンスデータに含まれる各命令には、対応する当該試験パターンを出力するためのタイミングの組を指定するタイミングセット情報（ＴＳ）が対応付けられている。命令実行部３２０は、命令を実行した場合、当該命令に対応付けられたタイミングセット情報を、パターンキャッシュメモリ９０から出力する試験パターンに対応させて、当該パターンキャッシュメモリ９０からレート発生部３０およびタイミング発生部５６に出力させる。【００６８】
また、命令実行部３２０は、試験命令列の先頭の命令から実行を開始し、当該試験命令列に従った順序で命令を実行する。より具体的には、命令実行部３２０は、命令を実行し、実行した当該命令に応じて定められる次に実行すべき命令のオフセットを特定し、試験命令列の中の特定したオフセットの命令をシーケンスキャッシュメモリ３１０から読み出し、読み出した命令を実行する、といった処理を繰り返す。【００６９】
結果レジスタ３４０は、所定ビット数の値を格納する。結果レジスタ３４０は、一例として、２４ビットの値を格納してよい。命令実行部３２０は、結果レジスタ３４０が格納している値を読み出すことができる。また、サイト制御装置１３０は、結果レジスタ３４０が格納している値を読み出すことができる。【００７０】
更に、命令実行部３２０は、結果レジスタ３４０が格納している値を更新することができる。命令実行部３２０は、結果レジスタ３４０が格納している値をビット単位で更新することができる。命令実行部３２０は、結果レジスタ３４０が格納している値をワード単位で更新することができてもよい。【００７１】
図５は、シーケンスキャッシュメモリ３１０に格納されるシーケンスデータ（試験命令列）の一例を示す図である。シーケンスデータには、一例として、ＮＯＰ命令、ジャンプ命令（ＪＭＰ命令）、待機命令（ＩＤＸＩ命令）、終了命令（ＥＸＩＴ命令）、結果レジスタ更新命令（ＳＲＢ命令、ＲＲＢ命令）、結果レジスタ入力命令（ＳＲ命令）、条件付結果レジスタ更新命令（ＩｆＦａｉｌ（ＳＲＢ）命令ＩｆＦａｉｌ（ＲＲＢ）命令および）等が含まれてよい。【００７２】
命令実行部３２０は、ＮＯＰ命令を実行した場合、当該ＮＯＰ命令の次のオフセットが割り付けられた命令を次に実行すべき命令として特定する。命令実行部３２０は、ジャンプ命令（ＪＭＰ命令）を実行した場合、当該ＪＭＰ命令により指定されたオフセットが割り付けられた命令を、次に実行すべき命令として特定する。【００７３】
待機命令（ＩＤＸＩ命令）は、対応するパターンデータを指定した回数分繰り返し出力させる命令である。命令実行部３２０は、ＩＤＸＩ命令を実行した場合、当該ＩＤＸＩ命令を実行してから指定されたサイクルをカウントするまでの間においては次の命令に処理を移さない。そして、命令実行部３２０は、ＩＤＸＩ命令を実行した場合、指定されたサイクルが経過した後に、当該ＩＤＸＩ命令の次のオフセットが割り付けられた命令を、次に実行すべき命令として特定する。【００７４】
終了命令（ＥＸＩＴ命令）は、試験命令列の実行を終了させる命令である。命令実行部３２０は、ＥＸＩＴ命令を実行した場合、次に実行すべき命令を特定せず、当該試験命令列の実行を終了する。【００７５】
結果レジスタ更新命令（ＳＲＢ命令、ＲＲＢ命令）は、結果レジスタ３４０の指定したビット位置を所定ビット値に更新させる命令である。命令実行部３２０は、結果レジスタ更新命令（ＳＲＢ命令、ＲＲＢ命令）の実行において、結果レジスタ３４０における当該結果レジスタ更新命令により指定されたビット位置を所定ビット値に更新する。命令実行部３２０は、結果レジスタ更新命令（ＳＲＢ命令、ＲＲＢ命令）を実行した場合、当該結果レジスタ更新命令の次のオフセットが割り付けられた命令を、次に実行すべき命令として特定する。【００７６】
ＳＲＢ命令は、結果レジスタ更新命令の一例である。ＳＲＢ命令は、結果レジスタ３４０の指定したビット位置を１にセットする命令である。ＳＲＢ命令は、一例として、結果レジスタ３４０におけるセットすべきビットに対応するビットが１であり、変更しないビットに対応するビットが０であるデータが、オペランドとして指定される。そして、命令実行部３２０は、ＳＲＢ命令の実行において、結果レジスタ３４０と、結果レジスタ３４０におけるセットすべきビットに対応するビットが１であり、変更しないビットに対応するビットが０であるデータとの論理和を演算して、当該結果レジスタ３４０を更新する。【００７７】
なお、ＳＲＢ命令は、一例として、結果レジスタ３４０におけるセットすべきビットに対応するビットが０であり、変更しないビットに対応するビットが１であるデータが、オペランドとして指定されてもよい。この場合、命令実行部３２０は、ＳＲＢ命令の実行において、結果レジスタ３４０と、結果レジスタ３４０におけるセットすべきビットに対応するビットが０であり、変更しないビットに対応するビットが１であるデータの各ビットを反転したデータとの論理和を演算して、当該結果レジスタ３４０を更新する。【００７８】
ＲＲＢ命令は、結果レジスタ更新命令の一例である。ＲＲＢ命令は、結果レジスタ３４０の指定したビット位置を０にリセットする命令である。ＲＲＢ命令は、一例として、結果レジスタ３４０におけるリセットすべきビットに対応するビットが１であり、変更しないビットに対応するビットが０であるデータが、オペランドとして指定される。そして、命令実行部３２０は、ＲＲＢ命令の実行において、結果レジスタ３４０と、結果レジスタ３４０におけるリセットすべきビットに対応するビットが１であり、変更しないビットに対応するビットが０であるデータの各ビットを反転したデータとの論理積を演算して、当該結果レジスタ３４０を更新する。【００７９】
なお、ＲＲＢ命令は、一例として、結果レジスタ３４０におけるリセットすべきビットに対応するビットが０であり、変更しないビットに対応するビットが１であるデータが、オペランドとして指定されてもよい。この場合、命令実行部３２０は、ＲＲＢ命令の実行において、結果レジスタ３４０と、結果レジスタ３４０におけるリセットすべきビットに対応するビットが０であり、変更しないビットに対応するビットが１であるデータとの論理積を演算して、当該結果レジスタ３４０を更新する。【００８０】
結果レジスタ入力命令（ＳＲ命令）は、結果レジスタ３４０に指定した値を格納させる命令である。命令実行部３２０は、結果レジスタ入力命令（ＳＲ命令）の実行において、当該ＳＲ命令の例えばオペランドにより指定された値を結果レジスタ３４０に格納する。命令実行部３２０は、ＳＲ命令を実行した場合、当該ＳＲ命令の次のオフセットが割り付けられた命令を、次に実行すべき命令として特定する。【００８１】
条件付結果レジスタ更新命令（ＩｆＦａｉｌ（ＳＲＢ）命令およびＩｆＦａｉｌ（ＲＲＢ）命令等）は、所定の試験結果であったことを条件として結果レジスタ３４０の指定したビット位置を所定ビット値に更新させる命令である。条件付結果レジスタ更新命令は、一例として、判定部６２により検出された試験結果がフェイルであったことを条件として、結果レジスタ３４０の指定したビット位置を所定ビット値に更新させてよい。【００８２】
命令実行部３２０は、条件付き結果レジスタ更新命令の実行時において、試験が所定の試験結果であったことを条件として、結果レジスタ３４０における条件付結果レジスタ更新命令により指定されたビット位置を所定ビット値に更新する。命令実行部３２０は、条件付結果レジスタ更新命令を実行した場合、当該条件付き結果レジスタ更新命令の次のオフセットが割り付けられた命令を、次に実行すべき命令として特定する。【００８３】
ＩｆＦａｉｌ（ＳＲＢ）命令は、判定部６２により検出された試験結果がフェイルであったことを条件として、ＳＲＢ命令と同様の内容を実行させる命令である。命令実行部３２０は、ＩｆＦａｉｌ（ＳＲＢ）命令の実行において、判定部６２により検出された試験結果がフェイルであったことを条件として、ＳＲＢ命令と同様の内容の処理を実行する。【００８４】
ＩｆＦａｉｌ（ＲＲＢ）命令は、判定部６２により検出された試験結果がフェイルであったことを条件として、ＲＲＢ命令と同様の内容を実行させる命令である。命令実行部３２０は、ＩｆＦａｉｌ（ＲＲＢ）命令の実行において、判定部６２により検出された試験結果がフェイルであったことを条件として、ＲＲＢ命令と同様の内容の処理を実行する。【００８５】
以上のように、命令実行部３２０によれば、与えられた命令に応じて結果レジスタ３４０における任意のビット位置の値を更新することができる。これにより、命令実行部３２０によれば、過去に行われた試験の結果を結果レジスタ３４０に格納することができる。【００８６】
なお、シーケンスデータには、試験結果以外のその他を条件として、結果レジスタ３４０の指定したビット位置を所定ビット値に更新させる命令が含まれてよい。シーケンスデータには、一例として、レジスタ値が所定の値に変更されたこと、フラグが所定の値であったこと、フラグが所定の値でなかったこと等の通常の分岐判断結果を条件として、結果レジスタ３４０の指定したビット位置を所定ビット値に更新させる命令が含まれてよい。命令実行部３２０は、これらの命令の実行において、所定条件を満たす場合、ＳＲＢ命令およびＲＲＢ命令と同様の内容の処理を実行する。【００８７】
図６は、本実施形態の変形例に係るパターン発生部７０の構成の一例を示す図である。本変形例に係るパターン発生部７０は、図４に示した実施形態に係るパターン発生部７０と略同一の構成および機能を採るので、以下相違点を除き説明を省略する。【００８８】
ベクタ発生部８０は、更新レジスタ３５０を更に含んでよい。更新レジスタ３５０は、結果レジスタ３４０における更新すべきビット位置を指定する値を格納する。【００８９】
更新レジスタ３５０は、格納している値が命令実行部３２０により読み出しが可能とされている。また、更新レジスタ３５０は、格納する値が命令実行部３２０により入力される。更新レジスタ３５０は、一例として、結果レジスタ３４０と同一のビット数のデータであって、結果レジスタ３４０における更新すべきビットに対応するビットが所定ビット値とされ、変更しないビットが所定ビット値とは異なるビット値とされたデータを格納してよい。【００９０】
本変形例において、命令実行部３２０は、結果レジスタ更新命令の実行において、結果レジスタ３４０における更新レジスタ３５０により指定されたビット位置を所定ビット値に更新する。例えば、更新レジスタ３５０は、結果レジスタ３４０におけるセットすべきビットに対応するビットが１であり、変更しないビットに対応するビットが０であるデータを格納してよい。命令実行部３２０は、ＳＲＢ命令の実行において、結果レジスタ３４０と、更新レジスタ３５０に格納されたデータとの論理和を演算して、当該結果レジスタ３４０を更新する。これにより、命令実行部３２０は、結果レジスタ３４０における更新レジスタ３５０により指定されたビット位置に１をセットすることができる。【００９１】
なお、更新レジスタ３５０は、一例として、結果レジスタ３４０におけるセットすべきビットに対応するビットが０であり、変更しないビットに対応するビットが１であるデータを格納してもよい。この場合、命令実行部３２０は、ＳＲＢ命令の実行において、結果レジスタ３４０と、更新レジスタ３５０に格納されたデータの各ビットを反転したデータとの論理和を演算して、当該結果レジスタ３４０を更新する。【００９２】
また、更新レジスタ３５０は、結果レジスタ３４０におけるリセットすべきビットに対応するビットが１であり、変更しないビットに対応するビットが０であるデータを格納してよい。命令実行部３２０は、ＲＲＢ命令の実行において、結果レジスタ３４０と、更新レジスタ３５０に格納されたデータの各ビットを反転したデータとの論理積を演算して、結果レジスタ３４０を更新する。これにより、命令実行部３２０は、結果レジスタ３４０における更新レジスタ３５０により指定されたビット位置を０にリセットすることができる。【００９３】
なお、更新レジスタ３５０は、一例として、結果レジスタ３４０におけるリセットすべきビットに対応するビットが０であり、変更しないビットに対応するビットが１であるデータを格納してもよい。この場合、命令実行部３２０は、ＲＲＢ命令の実行において、結果レジスタ３４０と、更新レジスタ３５０に格納されたデータとの論理積を演算して、結果レジスタ３４０を更新する。【００９４】
図７は、本変形例に係るパターン発生部７０により実行されるシーケンスデータ（試験命令列）の一例を示す図である。シーケンスキャッシュメモリ３１０は、一例として、格納命令５００、第１の試験命令列５１０、第１の条件付結果レジスタ更新命令５２０、第１のシフト命令５３０、第２の試験命令列５４０、第２の条件付結果レジスタ更新命令５５０、第３の試験命令列５６０を含んでよい。【００９５】
格納命令５００は、更新レジスタ３５０に対して初期データを格納する命令である。第１の試験命令列５１０は、第１の試験をするための試験シーケンスを定める複数の命令を含む。第１の条件付結果レジスタ更新命令５２０は、第１の試験が所定の試験結果（例えばフェイル）であったことを条件として、結果レジスタ３４０の更新レジスタ３５０により指定されたビット位置に１をセットする命令である。【００９６】
第１のシフト命令５３０は、更新レジスタ３５０に格納された値を、１ビット分、シフトさせる命令である。第２の試験命令列５４０は、第１の試験の後に実行され、第２の試験をするための試験シーケンスを定める複数の命令を含む。第２の条件付結果レジスタ更新命令５５０は、第２の試験が所定の試験結果（例えばフェイル）であったことを条件として、結果レジスタ３４０の更新レジスタ３５０により指定されたビット位置に１をセットする命令である。第３の試験命令列５６０は、第１および第２の試験の後に、第３の試験をするための試験シーケンスを定める複数の命令を含む。【００９７】
図８は、図７に示す試験命令列を実行した場合の処理フローの一例を示す図である。まず、命令実行部３２０は、格納命令５００を読み出して、結果レジスタ３４０のビット位置を指定する初期データを、第１の試験に先立って更新レジスタ３５０に格納する（Ｓ１００１）。ここで、命令実行部３２０は、初期データとして、結果レジスタ３４０における、第１の試験の試験結果が格納されるべきビット（第１ビット）に対応するビットが１であり、他のビットが０であるデータを、更新レジスタ３５０に格納する。【００９８】
次に、命令実行部３２０は、第１の試験命令列５１０を読み出して、第１の試験を実行する（Ｓ１００２）。第１の試験が終了すると、次に、命令実行部３２０は、第１の条件付結果レジスタ更新命令５２０を読み出して、第１の試験の結果がフェイルか否かを判断する（Ｓ１００３）。第１の試験の結果がフェイルである場合（Ｓ１００３のＹｅｓ）、命令実行部３２０は、結果レジスタ３４０と、更新レジスタ３５０に格納されたデータとの論理和を演算して、当該結果レジスタ３４０を更新する（Ｓ１００４）。これにより、命令実行部３２０は、結果レジスタ３４０における第１の試験結果が格納されるべき第１ビットに１をセットすることができる。また、試験結果がフェイルでない場合（Ｓ１００４のＮｏ）、命令実行部３２０は、結果レジスタ３４０を更新せずに、処理をステップＳ１００５に移す。【００９９】
次に、命令実行部３２０は、第１のシフト命令５３０を読み出して、更新レジスタ３５０に格納された値を例えば１ビット分シフトさせる（ステップＳ１００５）。この結果、更新レジスタ３５０は、１を格納したビットを、第１ビット（第１の試験の試験結果が格納されるべきビット）から他のビットにシフトする。従って、更新レジスタ３５０は、ビットシフトしたことにより、格納しているデータが、第２の試験の試験結果が格納されるべきビット（第２ビット）が１であり、他のビットが０であるデータに遷移する。【０１００】
次に、命令実行部３２０は、第２の試験命令列５４０を読み出して、第２の試験を実行する（Ｓ１００６）。第２の試験が終了すると、次に、命令実行部３２０は、第２の条件付結果レジスタ更新命令５５０を読み出して、第２の試験の結果がフェイルか否かを判断する（Ｓ１００７）。第２の試験の結果がフェイルである場合（Ｓ１００７のＹｅｓ）、命令実行部３２０は、結果レジスタ３４０と、更新レジスタ３５０に格納されたデータとの論理和を演算して、当該結果レジスタ３４０を更新する（Ｓ１００８）。これにより、命令実行部３２０は、結果レジスタ３４０における第２の試験結果が格納されるべき第２ビットに１をセットすることができる。また、試験結果がフェイルでない場合（Ｓ１００７のＮｏ）、命令実行部３２０は、結果レジスタ３４０を更新せずに、処理をステップＳ１００９に移す。【０１０１】
次に、命令実行部３２０は、結果レジスタ３４０に格納されている値を読み出し、第１の試験および第２の試験の結果に応じて、次に実行すべき試験を選択する（Ｓ１００９）。次に、命令実行部３２０は、第３の試験命令列５６０を読み出して、選択した試験に対応する第３の試験を実行する（Ｓ１０１０）。【０１０２】
以上のように、命令実行部３２０によれば、第１の試験および第２の試験の結果を結果レジスタ３４０に格納することができる。これにより、命令実行部３２０によれば、第１の試験および第２の試験の結果に応じて試験内容が異なる第３の試験を、第１の試験および第２の試験の後に実行することができる。また、命令実行部３２０によれば、第１の試験および第２の試験の結果に応じて、被試験デバイス３００の品質クラスを分類させることもできる。【０１０３】
なお、命令実行部３２０は、ステップＳ１００８とステップＳ１００９との間において、ステップＳ１００５〜ステップＳ１００８と同様の処理を、他の試験について行ってよい。これにより、命令実行部３２０によれば、３以上の試験の結果を結果レジスタ３４０に格納することができる。【０１０４】
図９は、本発明の一つの実施形態に係る電子デバイス４００の構成の一例を示す図である。電子デバイス４００は、被試験回路４１０、試験回路４２０、入出力ピン４３０、及びＢＩＳＴピン４４０を有する。被試験回路４１０は、電子デバイス４００の実装時に動作する回路であってよい。被試験回路４１０は、電子デバイス４００の実装時に入出力ピン４３０から与えられる信号に応じて動作する。【０１０５】
例えば電子デバイス４００がメモリデバイスである場合、被試験回路４１０は、電子デバイス４００のメモリセルを含む回路であってよい。例えば被試験回路４１０は、メモリセル及びメモリセルを制御する制御回路であってよい。制御回路は、メモリセルへのデータの書き込み、メモリセルからのデータの読み出しを制御する回路であってよい。【０１０６】
試験回路４２０は、被試験回路４１０と同一の半導体チップに設けられ、被試験回路４１０を試験する。試験回路４２０は、図１から図８に関連して説明した試験モジュール１００と同一の構成を有してよい。また試験回路４２０は、試験モジュール１００の一部の構成を有してもよい。また試験回路４２０は、試験モジュール１００の一部の機能を行う回路であってよい。例えば試験回路４２０は、結果メモリ１６を有さなくてよい。また試験回路４２０のレート発生部３０及びタイミング発生部５６は、固定されたタイミングセットの設定値により動作してよい。【０１０７】
また試験回路４２０は、外部の試験装置からＢＩＳＴピン４４０を介して被試験回路４１０のセルフテストを行う旨の信号が与えられた場合に、被試験回路４１０を試験してよい。ＢＩＳＴピン４４０は、電子デバイス４００の実装時には用いられないピンであることが好ましい。また試験回路４２０は、被試験回路４１０の試験結果を、ＢＩＳＴピン４４０から外部の試験装置に出力してよい。【０１０８】
外部の試験装置は、図１に関連して説明したサイト制御装置１３０と同様の動作を行ってよい。つまり、試験回路４２０を、図１から図８に関連して説明した試験モジュール１００と同様に機能させるべく、試験制御プログラム、試験プログラム、試験データ等を試験回路４２０に供給してよい。【０１０９】
以上、本発明の側面を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることができる。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
【図１】
2008114671.tif 000003
【図２】
2008114671.tif 000004
【図３】
2008114671.tif 000005
【図４】
2008114671.tif 000006
【図５】
2008114671.tif 000007
【図６】
2008114671.tif 000008
【図７】
2008114671.tif 000009
【図８】
2008114671.tif 000010
【図９】
2008114671.tif 000011
【国際調査報告】
2008114671.tif 000012
2008114671.tif 000013
2008114671.tif 000014
2008114671.tif 000015