(57)【要約】【課題】複数の状態を同時にマッチ検出する。【解決手段】マッチ検出回路１０は、ＤＵＴ１０２からのＭ個（Ｍは自然数）の信号を受け、あらかじめ定められたＮ個（Ｎは２以上の整数）の状態のいずれに一致するかを判定する。Ｌ（＝Ｍ×Ｎ）個の第１判定部１２は、Ｍ個の信号およびＮ個の状態の組み合わせごとに設けられる。ｉ番目（１≦ｉ≦Ｍ）の信号とｊ番目（１≦ｊ≦Ｎ）の状態に対応する第１判定部１２は、ｉ番目の信号のレベルを、ｊ番目の状態において期待される期待値と比較し、一致したとき第１判定信号をアサートする。Ｎ個の第２判定部１８はＮ個の状態ごとに設けられる。ｋ番目（１≦ｋ≦Ｎ）の状態に対応する第２判定部１８は、ｋ番目の状態に対応するＭ個の第１判定部１２からＭ個の第１判定信号を受け、それらがすべてアサートされたとき、第２判定信号をアサートする。試験装置１００は、Ｎ個の第２判定信号に応じて条件分岐処理を実行する。【選択図】図１
2011034653.tif 000002
【特許請求の範囲】
【請求項１】
被試験デバイスからのＭ個（Ｍは自然数）の信号を受け、それらのレベルの組み合わせが、あらかじめ定められたＮ個（Ｎは２以上の整数）の状態のいずれに一致するかを判定するマッチ検出回路を備え、
前記マッチ検出回路は、
それぞれが前記Ｍ個の信号および前記Ｎ個の状態の組み合わせごとに設けられたＬ（Ｌ＝Ｍ×Ｎ）個の第１判定部であって、ｉ番目（１≦ｉ≦Ｍ）の信号とｊ番目（１≦ｊ≦Ｎ）の状態に対応する第１判定部は、ｉ番目の信号のレベルを、ｊ番目の状態において期待される期待値と比較し、一致したときアサートされる第１判定信号を生成する、Ｌ個の第１判定部と、
それぞれが前記Ｎ個の状態ごとに設けられたＮ個の第２判定部であって、ｋ番目（１≦ｋ≦Ｎ）の状態に対応する第２判定部は、ｋ番目の状態に対応するＭ個の前記第１判定部からＭ個の前記第１判定信号を受け、当該Ｍ個の前記第１判定信号がすべてアサートされたとき、アサートされる第２判定信号を生成する、Ｎ個の第２判定部と、
を含み、
本試験装置は、前記Ｎ個の第２判定信号に応じて条件分岐処理を実行することを特徴とする試験装置。
【請求項２】
前記マッチ検出回路は、前記Ｎ個の第２判定信号をプライオリティエンコードし、マッチコードを生成するプライオリティエンコーダをさらに備え、
本試験装置は、前記マッチコードに応じた処理を実行することを特徴とする請求項１に記載の試験装置。
【請求項３】
前記マッチ検出回路は、
それぞれが前記Ｍ個の信号ごとに設けられたＭ個の第３判定部であって、ｉ番目の信号に対応する前記第３判定部は、ｉ番目の信号のレベルを、サイクルごとに設定される期待値と比較し、一致したときアサートされる第３判定信号を生成する、Ｍ個の第３判定部と、
前記Ｍ個の第３判定信号がすべてアサートされたときに、アサートされる第４判定信号を生成する第４判定部と、
をさらに備え、
本試験装置は、第１モードと第２モードが切りかえ可能に構成され、前記第１モードにおいて、前記Ｍ個の第２判定信号に応じた条件分岐処理を実行し、前記第２モードにおいて前記第４判定信号に応じた条件分岐処理を実行することを特徴とする請求項１に記載の試験装置。
【請求項４】
前記Ｌ個の第１判定部はそれぞれが個別に、入力された信号の値によらずにアサートされる第１判定信号を出力する状態に設定可能に構成されることを特徴とする請求項１に記載の試験装置。
【請求項５】
被試験デバイスからのＭ個（Ｍは自然数）の信号を受け、それらのレベルの組み合わせが、あらかじめ定められたＮ個（Ｎは２以上の整数）の状態のいずれに一致するかを判定する条件分岐判定方法であって、
前記Ｍ個の信号および前記Ｎ個の状態の組み合わせごとに、ｉ番目の信号のレベルを、ｊ番目の状態において期待される期待値と比較し、一致したときアサートされる第１判定信号を生成するステップと、
ｋ番目（１≦ｋ≦Ｎ）の状態に対応するＭ個の前記第１判定信号がすべてアサートされたとき、アサートされる第２判定信号を生成するステップと、
前記Ｎ個の第２判定信号に応じて条件分岐処理を実行するステップと、
を備えることを特徴とする条件分岐判定方法。
【請求項６】
前記Ｎ個の第２判定信号をプライオリティエンコードし、マッチコードを生成するステップをさらに備え、
前記マッチコードに応じた処理を実行することを特徴とする請求項５に記載の条件分岐判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体デバイスの試験装置に関する。
【背景技術】
【０００２】
メモリやＳＯＣ（System On Chip）などの半導体デバイスを評価するために、試験装置が利用される。試験装置は、ユーザが定義したテストシーケンスプログラム（単にテストプログラムともいう）にもとづいて、ＤＵＴ（被試験デバイス）を評価する。試験装置は、テストサイクルと同期して、テストプログラムに記述された処理を順に実行していく。
【０００３】
試験装置において、ＤＵＴからのステータス信号が所定の条件を満たすか否かを判定し、判定結果に応じた条件分岐処理を実行する場合がある。この条件分岐判定処理をマッチ検出処理あるいは単にマッチ処理とも称する。たとえば、ＰＬＬ（Phase Locked Loop）回路やＤＬＬ（Delay Locked Loop）回路を内蔵するＤＵＴは、その電源投入後に、ある適切な状態に遷移したか否かを示すＬＯＣＫ信号を出力する。試験装置は、このＬＯＣＫ信号をモニタし、ＰＬＬ回路やＤＬＬ回路がアンロック状態からロック状態に遷移したことを検出し、それに続くテストシーケンスを実行する。この場合の条件分岐処理は、ＬＯＣＫ信号を対象としてなされる。
【０００４】
別の例として、ＮＡＮＤ型フラッシュメモリ（以下、単にフラッシュメモリという）を考える。フラッシュメモリは、外部からデータの書き込みや読み出し処理を指示されると、その処理の実行中は外部からのアクセスを禁止する必要がある。したがって、フラッシュメモリは、データ書き込み／読み出し処理を実行中の状態（ビジー状態）であるか、処理が完了した状態で次の処理を開始しても良い状態（レディ状態）のいずれかを示す制御信号（以下単にステータス信号Ｒ／Ｂという）を出力する。たとえばステータス信号Ｒ／Ｂは、ハイレベルがレディ状態を、ローレベルがビジー状態を示す。こうしたフラッシュメモリを評価対象とするメモリテスタは、Ｒ／Ｂ信号を監視し、条件分岐処理を実行する。
【０００５】
条件分岐処理を実行するために、試験装置には、マッチ検出と呼ばれる機能が実装される。マッチ検出処理の概要は以下の通りである。マッチ検出処理とは、
１．検出対象として定義されたステータス信号が、
２．あらかじめ定義されたテストサイクルにおいて、
３．期待値と一致するか否かを判定し、
４．一致したときに、所定のテストシーケンスに分岐（ジャンプ）する
処理として定義できる。
【０００６】
マッチ検出の対象となる試験ピン（ステータス信号）は、テストプログラムにおいて「ＭＡＣＴＨ」と呼ばれるニーモニックにより記述される。また、マッチ検出を行うテストサイクルは、「ＦＬＡＧ」などのフラグセンス命令と呼ばれるニーモニックにより記述される。また、期待値もテストプログラムにおいて定義され、所定のテストシーケンスを示すテストパターン番地も、テストプログラムにおいて定義される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０００−４０３８９号公報
【特許文献２】特開２００５−４４４９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
たとえばメモリテスタにおいて、フラッシュメモリの消去オペレーションの成功（Erase Completed状態）、失敗（Erase Error状態）を検出する場合を考える。試験装置は、ＤＵＴのデータ消去（Erase）を実行した後、２つのステータス信号ＩＯ＿０、ＩＯ＿６を読み出す。マッチ検出は、読み出された第１ステータス信号ＩＯ＿０と第２ステータス信号ＩＯ＿６にもとづいて行われる。具体的には、
（条件１）  ＩＯ＿０＝１  かつ  ＩＯ＿６＝１
（条件２）  ＩＯ＿０＝１  かつ  ＩＯ＿６＝０
が成立しているかが判定される。条件１は、Erase Error状態の判定条件であり、条件２は、Erase Complete状態の判定条件である。
【０００９】
従来では、条件１と条件２を同時に判定することができず、サイクルごとに、条件１、条件２を別々に判定する必要があった。すなわち、あるサイクルにおいて条件１を判定し、結果が真であればErase_Error状態に対応するシーケンスに分岐する。判定結果が偽であれば、別のサイクルにおいて条件２を判定し、その結果が真であれば、Erase_Complete状態に対応するシーケンスに分岐する必要があった。
【００１０】
もし複数の状態を同時にマッチ検出することができれば、テストサイクルを短縮することができ、テスト時間を削減することができる。
【００１１】
本発明はこうした状況に鑑みてなされたものであり、そのある態様の例示的な目的のひとつは、複数の状態を同時にマッチ検出可能な試験装置の提供にある。
【課題を解決するための手段】
【００１２】
本発明のある態様は、被試験デバイスからの信号を受け、その信号のレベルの組み合わせに応じた条件分岐処理を実行する試験装置に関する。この試験装置は、被試験デバイスからのＭ個（Ｍは自然数）の信号を受け、それらのレベルの組み合わせが、あらかじめ定められたＮ個（Ｎは２以上の整数）の状態のいずれに一致するかを判定するマッチ検出回路を備える。マッチ検出回路は、Ｌ個（Ｌ＝Ｍ×Ｎ）の第１判定部と、Ｎ個の第２判定部と、を含む。
Ｌ個の第１判定部は、それぞれがＭ個の信号およびＮ個の状態の組み合わせごとに設けられる。ｉ番目（１≦ｉ≦Ｍ）の信号とｊ番目（１≦ｊ≦Ｎ）の状態に対応する第１判定部は、ｉ番目の信号のレベルを、ｊ番目の状態において期待される期待値と比較し、一致したときアサートされる第１判定信号を生成する。
Ｎ個の第２判定部は、それぞれがＮ個の状態ごとに設けられる。ｋ番目（１≦ｋ≦Ｎ）の状態に対応する第２判定部は、ｋ番目の状態に対応するＭ個の第１判定部からＭ個の第１判定信号を受け、当該Ｍ個の第１判定信号がすべてアサートされたとき、アサートされる第２判定信号を生成する。この試験装置は、Ｎ個の第２判定信号に応じて条件分岐処理を実行する。
【００１３】
この態様において、ｋ番目の第２判定部から出力される第２判定信号は、ｋ番目の状態に関する条件が満たされたときにアサートされる。この態様によると、Ｎ個の状態に対応するＮ個の第２判定信号を同時に生成でき、複数の状態のいずれにマッチするかを、同時に判定することができる。
【００１４】
なお、以上の構成要素の任意の組み合わせや本発明の構成要素や表現を、方法、装置などの間で相互に置換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１５】
本発明のある態様によれば、複数の状態を同時にマッチ検出できる。
【図面の簡単な説明】
【００１６】
【図１】実施の形態に係る試験装置の構成を示すブロック図である。
【図２】ステータス信号と各状態の関係を示す図である。
【図３】状態データとマッチコードの関係を示す図である。
【図４】第１モードおよび第２モードにおけるパターンシーケンス分岐部の動作を示す図である。
【図５】図１の試験装置の第１モードにおける動作を示すフローチャートである。
【図６】図１の試験装置の第２モードにおける動作を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、実施の形態は、発明を限定するものではなく例示であって、実施の形態に記述されるすべての特徴やその組み合わせは、必ずしも発明の本質的なものであるとは限らない。
【００１８】
図１は、実施の形態に係る試験装置１００の構成を示すブロック図である。試験装置１００は、フラッシュメモリなどのＤＵＴ１０２を試験するメモリテスタである。
試験装置１００は、ＤＵＴ１０２からのいくつかの信号（以下、ステータス信号という）を受け、それらのステータス信号のレベルの組み合わせに応じた条件分岐処理を実行する。条件分岐処理については、従来技術に関連して述べた通りである。
【００１９】
この試験装置１００は、複数のＩ／ＯピンＰｉｏ、複数のＩ／ＯピンＰｉｏごとに設けられたタイミングコンパレータＴＣＰ、マッチ検出回路１０を備える。図１には、２つのＩ／Ｏピンと、それに対応する要素のみが示され、その他は省略されている。
【００２０】
各Ｉ／ＯピンＰｉｏには、ＤＵＴ１０２からのステータス信号が入力されている。
タイミングコンパレータＴＣＰは、Ｉ／ＯピンＰｉｏごとに設けられ、ストローブ信号ＳＴＲＢによって指定されたタイミング（エッジのタイミング）における、対応するＩ／Ｏピンに入力されたステータス信号のレベル（ハイレベルＨ／ローレベルＬ）を判定する。たとえばタイミングコンパレータＴＣＰは、レベルコンパレータＬＣＰとフリップフロップＦＦを含む。
【００２１】
レベルコンパレータＬＣＰは、入力されたステータス信号を、所定のしきい値電圧と比較し、比較結果を示すレベル信号ＳＨ／ＳＬを生成する。たとえば一般的なメモリテスタにおいてレベルコンパレータＬＣＰは、ステータス信号ＩＯ＿ｘを上側しきい値電圧ＶＯＨと比較し、ＩＯ＿ｘ＜ＶＯＨのときアサート（ハイレベル）されるレベル信号ＳＨを生成する。またレベルコンパレータＬＣＰは、ステータス信号ＩＯ＿ｘを、下側しきい値電圧ＶＯＬと比較し、ＩＯ＿ｘ＞ＶＯＬのときアサート（ハイレベル）されるレベル信号ＳＬを生成する。つまり、メモリテスタは２ビットのＳＨ／ＳＬ信号に応じて以下の３つの状態を判定する。
ＳＨ＝Ｌ（０）、ＳＬ＝Ｈ（１）…ステータス信号がＨ（１）の状態
ＳＨ＝Ｈ（１）、ＳＬ＝Ｌ（０）…ステータス信号がＬ（０）の状態
ＳＨ＝Ｈ（１）、ＳＬ＝Ｈ（１）…ステータス信号がハイインピーダンス（Ｈｉ−Ｚ）の状態
【００２２】
あるいは、ＶＯＨとＶＯＬを同じ電圧とし、ＩＯ＿ｘ＜ＶＯＨのとき第１レベル、ＩＯ＿ｘ＞ＶＯＬのとき第２レベルとなる１ビットのレベル信号ＳＨ／ＳＬを生成してもよい。この場合、ステータス信号がＨ、Ｌのいずれかの状態を判定できる。
【００２３】
本実施の形態において、レベル信号ＳＨ／ＳＬの形式はこれらに限定されない。「形式」とはビット数、ハイレベル・ローレベルの割り当てなどを意味する。以下の説明では、少なくともステータス信号が、ハイレベルおよびローレベルのいずれであるかを示す信号を総称して、レベル信号ＳＨ／ＳＬと記す。レベルコンパレータＬＣＰよりも後段の回路の構成は、レベル信号ＳＨ／ＳＬの形式に応じて設計すべきであることは当業者に理解される。
【００２４】
フリップフロップＦＦは、対応するレベルコンパレータＬＣＰからのレベル信号ＳＨ／ＳＬを、ストローブ信号ＳＴＲＢのエッジのタイミングでラッチする。ストローブ信号ＳＴＲＢは、試験装置１００の図示しないブロックにおいて生成される信号であり、試験装置１００のテストシーケンスのサイクルと同期している。ｉ番目のタイミングコンパレータＴＣＰｉは、フリップフロップＦＦによりラッチしたレベル信号ＳＨ／ＳＬを、レベル信号Ｓｉとして出力する。
【００２５】
マッチ検出回路１０は、Ｍ個のタイミングコンパレータＴＣＰから、Ｍ個（Ｍは自然数）のレベル信号Ｓ１〜ＳＭを受け、それらのレベルの組み合わせが、あらかじめ定められたＮ個（Ｎは２以上の整数）の状態のいずれに一致するかを判定する。マッチ検出回路１０は、第１モード（複数マッチモード）と、第２モード（ノーマルマッチモード）が切りかえ可能に構成されている。
【００２６】
本実施の形態では、Ｍ＝２、Ｎ＝３を例に説明をする。Ｍ個のステータス信号は具体的には、ステータス信号ＩＯ＿０とステータス信号ＩＯ＿６を含む。また、Ｎ個の状態は、ＥｒａｓｅＣｏｍｐｌｅｔｅ、ＥｒａｓｅＥｒｒｏｒ、Ｒｅｔｒｙ（ＮｏｔＲｅａｄｙ）の３つのモードに対応する。図２は、ステータス信号と状態（Ｍｏｄｅ）の関係を示す図である。
第１状態φ１  ＥｒａｓｅＣｏｍｐｌｅｔｅ
第２状態φ２  ＥｒａｓｅＥｒｒｏｒ
第３状態φ３  Ｒｅｔｒｙ
【００２７】
試験装置１００には、第１状態φ１〜第３状態φ３それぞれに対応する３つの条件１〜３が設定されている。すなわち、第１条件が真のとき、第１状態φ１である。
（条件１）  ＩＯ＿６＝１  かつ  ＩＯ＿０＝１
（条件２）  ＩＯ＿６＝１  かつ  ＩＯ＿０＝０
（条件３）  ＩＯ＿６＝０
【００２８】
（第１モード）
まず、第１モード（複数マッチモード）に関連する構成を説明する。
第１モードに関連して、マッチ検出回路１０は、Ｌ個（Ｌ＝Ｍ×Ｎ）の第１判定部１２と、Ｎ個の第２判定部１８と、を含む。
【００２９】
Ｌ個の第１判定部１２は、それぞれがＭ個（Ｍ＝２）のステータス信号ＩＯ＿０、ＩＯ＿６およびＮ個（Ｍ＝３）の状態φ１〜φ３の組み合わせごとに設けられる。
ｉ番目（１≦ｉ≦Ｍ）のステータス信号とｊ番目（１≦ｊ≦Ｎ）の状態の組み合わせに対応する第１判定部１２を、添え字を付して１２ｉ，ｊと記す。１番目の信号はＩＯ＿０であり、２番目の信号はＩＯ＿６である。
【００３０】
第１判定部１２ｉ，ｊは、ｉ番目のステータス信号ＩＯ＿０のレベルを示すレベル信号Ｓｉを、ｊ番目の状態φｊにおいて期待される期待値データＥＸＰｉ，ｊと比較し、一致したときアサート（ハイレベル）される第１判定信号ＳＪｉ，ｊを生成する。
【００３１】
上記の条件１〜３に照らすと、各期待値データＥＸＰｉ，ｊは以下の通りとなる。
ＥＸＰ１，１＝１
ＥＸＰ２，１＝１
ＥＸＰ１，２＝１
ＥＸＰ２，２＝０
ＥＸＰ１，３＝０
“１”はハイレベルを、“０”はローレベルを示す。ここで第３条件に対して、２番目の信号ＩＯ＿６は冗長（Don't care）である。
【００３２】
第１判定部１２はそれぞれ、（i）期待値が１、（ii）期待値が０、（iii）マッチ検出の非対象、の３つの状態が切りかえ可能となっている。
（i）期待値が１の状態において、第１判定部１２ｉ，ｊは、入力されたレベル信号Ｓｉを“１”と比較し、一致するとき、第１判定信号ＳＪｉ，ｊをアサート（ハイレベル）、一致しないときネゲート（ローレベル）する。
（ii）期待値が０の状態において、第１判定部１２ｉ，ｊは、入力されたレベル信号Ｓｉを“０”と比較し、一致するとき、第１判定信号ＳＪｉ，ｊをアサート（ハイレベル）、一致しないときネゲート（ローレベル）する。
（iii）非対象状態において第１判定部１２ｉ，ｊは、入力されたレベル信号Ｓｉの値によらず、常にアサート（ハイレベル）された第１判定信号ＳＪｉ，ｊを出力する。
【００３３】
第１判定部１２はそれぞれ、第１論理ゲート１４および第２論理ゲート１６を含む。
第１判定部１２ｉ，ｊの第１論理ゲート１４は、レベル信号Ｓｉを期待値データＥＸＰｉ，ｊと比較する。そして、レベル信号Ｓｉを期待値データＥＸＰｉ，ｊが一致したときハイレベルを、不一致のときローレベルを出力する。第１論理ゲート１４は、ＸＯＲゲートを用いて構成できる。
【００３４】
第２論理ゲート１６は、第１判定部１２ｉ，ｊをマッチングの対象とするか否かを示す非対象制御信号ＤＣｉ，ｊと、第１論理ゲート１４の出力を受ける。非対象制御信号ＤＣｉ，ｊがネゲート（ローレベル）のとき、第１判定部１２はマッチングの対象とされ、第２論理ゲート１６は、第１論理ゲート１４の出力をそのまま第１判定信号ＳＪｉ，ｊとして出力する。非対象制御信号ＤＣがアサート（ハイレベル）のとき、第１判定部１２はマッチングの非対象とされ、第２論理ゲート１６は、アサート（ハイレベル）された第１判定信号ＳＪｉ，ｊを出力する。第２論理ゲート１６は、ＯＲゲートを用いて構成できる。
【００３５】
第１判定部１２と付随して、期待値デコーダ２６が設けられる。期待値デコーダ２６ｉ，ｊには、レジスタ２８からの制御信号ＣＮＴｉ，ｊが入力されている。期待値デコーダ２６ｉ，ｊは制御信号ＣＮＴｉ，ｊに応じて、対応する第１判定部１２ｉ，ｊの状態を以下の３つのいずれかに設定する。
（ａ）ハイ期待（期待値１）
期待値デコーダ２６ｉ，ｊは、ＥＸＰｉ，ｊ＝１を出力するとともに、非対象制御信号ＤＣをネゲート（ローレベル）する。
（ｂ）ロー期待（期待値０）
期待値デコーダ２６ｉ，ｊは、ＥＸＰｉ，ｊ＝０を出力するとともに、非対象制御信号ＤＣをネゲート（ローレベル）する。
（ｃ）非対象状態
期待値デコーダ２６ｉ，ｊは、非対象制御信号ＤＣをアサート（ハイレベル）する。
【００３６】
たとえば、制御信号ＣＮＴｉ，ｊは２ビットのデータであり、値“０１”が１期待、“１１“が０期待、“００”が非対象に対応する。
【００３７】
制御信号ＣＮＴｉ，ｊ、言い換えれば期待値ＥＸＰｉ，ｊおよび非対象制御信号ＤＣは、パターンプログラム中ではなく、ピン条件設定文中に、固定的に定義される。
【００３８】
Ｎ個の第２判定部１８１〜１８Ｎは、それぞれがＮ個の状態ごとに設けられる。ｋ番目（１≦ｋ≦Ｎ）の状態に対応する第２判定部１８ｋは、ｋ番目の状態に対応するＭ個の第１判定部１２１，ｋ〜１２Ｍ，ｋからＭ個の第１判定信号ＳＪ１，ｋ〜ＳＪＭ，ｋを受ける。第２判定部１８ｋは、Ｍ個の第１判定信号ＳＪ１，ｋ〜ＳＪＭ，ｋがすべてアサートされたときアサート（ハイレベル）され、そうでないときネゲート（ローレベル）される第２判定信号ＣＡＳＥｋを生成する。
【００３９】
ｋ番目の第２判定信号ＣＡＳＥｋは、条件ｋが真のとき、つまり第ｋ状態φｋのときにアサートされる。
【００４０】
試験装置１００は、Ｎ個の状態φ１〜φＮそれぞれに対応するＮ個の第２判定信号ＣＡＳＥ１〜ＣＡＳＥＮに応じて、条件分岐処理を実行する。
【００４１】
試験装置１００は、プライオリティエンコーダ２０をさらに備える。プライオリティエンコーダ２０は、Ｎ個の第２判定信号ＣＡＳＥ１〜ＣＡＳＥＮ、つまりＮビットのデータ（以下、状態データという）ＣＡＳＥ［Ｎ−１：０］を受ける。第２判定信号ＣＡＳＥ１は、状態データＣＡＳＥの最上位ビット（ＭＳＢ）に対応し、ＣＡＳＥＮは状態データＣＡＳＥの最下位ビット（ＬＳＢ）に対応する。
【００４２】
プライオリティエンコーダ２０は、Ｎビットの状態データＣＡＳＥ［Ｎ−１：０］をプライオリティエンコードし、マッチコードＭａｔｃｈ＿Ｃｏｄｅを生成する。マッチコードＭａｔｃｈ＿Ｃｏｄｅは、状態データＣＡＳＥ［Ｎ−１：０］の、最も上位に位置する“１”のビット位置を示す。図３は、状態データとマッチコードの関係を示す図である。図中、“Ｘ”は冗長を示す。
【００４３】
以上が第１モード（複数マッチモード）に関連するマッチ検出回路１０の構成である。
【００４４】
マッチコードＭａｔｃｈ＿Ｃｏｄｅは、セレクタ３０を経由してパターンシーケンス分岐部３２へと入力される。パターンシーケンス分岐部３２は、第１モード（複数マッチモード）において、マッチコードＭａｔｃｈ＿Ｃｏｄｅに応じたアドレスレジスタＡ〜Ｄを指定する。
【００４５】
パターンシーケンス分岐部３２以降の構成は、一般的な試験装置１００と同様である。各アドレスＡ〜Ｄには、ジャンプ先のアドレスが記述されており、プログラムカウンタ（ＰＣ）４０は、ジャンプ先のアドレスをロードする命令（ＬｏａｄＪｕｍｐＡｄｄｒｅｓｓ命令）を発行する。アドレス発生器４２は、ロードされたアドレスにもとづいて、アドレスパターンを発生する。
【００４６】
（第２モード）
続いて、第２モード（ノーマルマッチモード）に関連するマッチ検出回路１０の構成を説明する。第２モードに関連してマッチ検出回路１０は、Ｍ個の第３判定部２２と、第４判定部２４を備える。
【００４７】
Ｍ個の第３判定部２２は、それぞれがＭ個のステータス信号（ＩＯ＿０、ＩＯ＿６）ごとに設けられる。ｉ番目の信号に対応する第３判定部２２ｉは、ｉ番目の信号Ｓｉのレベルを、サイクルごとに設定、更新される期待値ＥＸＰｉと比較し、一致したときアサートされる第３判定信号Ｎｏｒｍ＿Ｍａｔｃｈｉを生成する。
第３判定部２２は第１判定部１２と同様に構成されるが、第３判定部２２に与えられる期待値ＥＸＰは、パターンプログラム中に記述される点で第１判定部１２への期待値ＥＸＰと異なっている。つまり、サイクルごとに判定条件が異なる場合、サイクルごとに異なる期待値ＥＸＰが第３判定部２２へと与えられる。
【００４８】
第４判定部２４は、Ｍ個の第３判定信号Ｎｏｒｍ＿Ｍａｔｃｈ１〜Ｎｏｒｍ＿ＭａｔｃｈＭがすべてアサートされたときに、アサートされる第４判定信号Ｎｏｒｍ＿Ｍａｔｃｈｅｄを生成する。
【００４９】
第１モード（複数マッチモード）と第２モード（ノーマルマッチモード）を切り替えるために、セレクタ３０が設けられる。セレクタ３０は、第４判定信号Ｎｏｒｍ＿ＭａｔｃｈｅｄとマッチコードＭａｔｃｈ＿Ｃｏｄｅを受け、制御信号Ｍｕｌｔｉ＿Ｍａｔｃｈに応じた一方を選択し、パターンシーケンス分岐部３２へと出力する。具体的には、第１モードのとき制御信号Ｍｕｌｔｉ＿Ｍａｔｃｈはアサートされ、セレクタ３０はマッチコードＭａｔｃｈ＿Ｃｏｄｅを選択する。第２モードにおいて制御信号Ｍｕｌｔ＿Ｍａｔｃｈがネゲート（０）されると、セレクタ３０は第４判定信号Ｎｏｒｍ＿Ｍａｔｃｈｅｄを選択する。
【００５０】
このようにして、パターンシーケンス分岐部３２は、第１モードにおいて、Ｍ個の第２判定信号ＣＡＳＥ１〜ＣＡＳＥＭに応じた条件分岐処理を実行し、第２モードにおいて、第４判定信号Ｎｏｒｍ＿Ｍａｔｃｈｅｄに応じた条件分岐処理を実行することができる。
【００５１】
図４は、第１モードおよび第２モードにおけるパターンシーケンス分岐部３２の動作を示す図である。
【００５２】
以上が試験装置１００の構成である。続いてその動作を説明する。
図５は、図１の試験装置１００の第１モードにおける動作を示すフローチャートである。試験装置１００は、フラッシュメモリ（ＤＵＴ１０２）のデータを消去する（Ｓ１００）。続いて、フラッシュメモリの状態を示すステータス信号ＩＯ＿０、ＩＯ＿６を読み出す（Ｓ１０２）。続いて、読み出したステータス信号ＩＯ＿０、ＩＯ＿６を利用して、第２判定信号ＣＡＳＥ１〜ＣＡＳＥＭを生成し（Ｓ１０４）、続いてマッチコードＭａｔｃｈ＿Ｃｏｄｅを生成する（Ｓ１０６）。続いて、マッチコードＭａｔｃｈ＿Ｃｏｄｅに応じた条件分岐処理が実行される（Ｓ１０８）。
【００５３】
第１モードによれば、複数の分岐条件を同時に判定することができる。つまり、テストサイクルを短縮し、試験時間を短縮することができる。
【００５４】
また、プライオリティエンコーダ２０を用いて、第２判定信号ＣＡＳＥ１〜ＣＡＳＥＭをマッチコードＭａｔｃｈ＿Ｃｏｄｅに変換するため、以下の利点を有する。
【００５５】
すなわち、実施の形態では図２に示すように、条件１〜３が同時に真になることはない。したがって第２判定信号ＣＡＳＥ１〜ＣＡＳＥＭに応じて分岐処理を行っても、マッチコードＭａｔｃｈ＿Ｃｏｄｅを用いて分岐処理を行っても結果は同じである。ところが、検出すべきモードによっては、複数の状態が同時に発生する場合も想定しうる。つまり、複数の条件のうちのいくつかが同時に真となり、第２判定信号ＣＡＳＥ１〜ＣＡＳＥＭのうちのいくつかが同時にアサート（“１”）される状況が発生しうる。この場合に、プライオリティエンコーダ２０によってマッチコードＭａｔｃｈ＿Ｃｏｄｅを生成することにより、複数の第２判定信号ＣＡＳＥ１からＣＡＳＥＭが順に優先されて条件分岐を行うことができる。言い換えれば、ユーザは優先順位の高いものから、第１条件φ１、第２条件φ２・・・と順に割り当てればよい。つまりユーザは、優先順位を考慮してピン条件設定文の記述をすればよく、テストプログラム中には優先順位に応じた分岐処理を記述する必要がない。これにより試験装置１００のユーザに対して高いユーザビリティを提供できる。
【００５６】
また、第１判定部１２ごとに、マッチ検出の対象、非対象を切りかえることが可能である。つまり各ステータス信号を、各状態の条件に含めるか否かを独立に設定することができ、あらゆるステータス信号の組み合わせを利用して自由にマッチ条件を設定することができる。
【００５７】
図６は、図１の試験装置１００の第２モードにおける動作を示すフローチャートである。処理Ｓ２００〜Ｓ２０２は第１モードの処理Ｓ１００〜Ｓ１０２と同様である。処理Ｓ２０２に続いて、条件２が判定される（Ｓ２０４）。具体的には第３判定部２２１において、ステータス信号ＩＯ＿０に対する期待値ＥＸＰ１が“０”に設定され、第３判定部２２２において、ステータス信号ＩＯ＿６に対する期待値ＥＸＰ２が“１”に設定される。その結果生ずる第４判定信号Ｎｏｒｍ＿Ｍａｔｃｈｅｄが“１”であれば（Ｓ２０４のＹ）、Erase Completed状態と判定されて所定のシーケンスに分岐する（Ｓ２０６）。
【００５８】
第４判定信号Ｎｏｒｍ＿Ｍａｔｃｈｅｄが“０”であれば（Ｓ２０４のＮ）、条件１が判定される（Ｓ２０８）。具体的には、第３判定部２２１において、ステータス信号ＩＯ＿０に対する期待値ＥＸＰ１が“１”に設定され、第３判定部２２２において、ステータス信号ＩＯ＿６に対する期待値ＥＸＰ２が“１”に設定される。その結果生ずる第４判定信号Ｎｏｒｍ＿Ｍａｔｃｈｅｄが“１”であれば（Ｓ２０８のＹ）、Erase Error状態と判定されて所定のシーケンスに分岐する（Ｓ２１０）。第４判定信号Ｎｏｒｍ＿Ｍａｔｃｈｅｄが“０”であれば（Ｓ２０８のＮ）、Retry状態と判定される。
【００５９】
なお当業者には、図６のフローチャートにおいて、条件１、２の判定順序を任意に入れ替えることが可能であることは理解されよう。また条件３を判定する処理を行ってもよい。
【００６０】
図１の試験装置１００によれば、第３判定部２２、第４判定部２４を設けることにより、サイクルごとに異なる条件を切り替えることができる。
また、第３判定部２２ごとに、マッチ検出の対象、非対象を切りかえることが可能である。つまりユーザは、第２モードにおいても複数のステータス信号のうち任意のいくつかを利用して、自由にマッチ条件を設定することができる。
【００６１】
以上、本発明について、実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以下、こうした変形例について説明する。
【００６２】
たとえば、実施の形態では、第３判定部２２を第１判定部１２とは別に設ける場合を説明したが本発明はこれに限定されない。たとえば第３判定部２２を省略し、第２モードにおいて、第１判定部１２を第３判定部２２として利用してもよい。この場合、第１モードと第２モードにおいて、第１判定部１２に与える期待値ＥＸＰおよび非対象制御信号ＤＣを切りかえればよい。この変形例によれば、回路面積を削減できる。
【００６３】
実施の形態では、第１判定部１２に対する期待値ＥＸＰおよび非対象制御信号ＤＣが、パターンプログラム中ではなく、ピン条件設定文中に記述される場合を説明したが、パターンプログラム中に記述するように構成してもよい。
【００６４】
実施の形態では、「アサート」をハイレベルに、「ネゲート」をローレベルに割り当てた論理系を例に説明したが、それらを反転してもよいことは当業者には理解できる。この場合、インバータや反転入力を有する論理ゲートを適宜用いればよい。
【００６５】
実施の形態では試験装置１００がフラッシュメモリ用のテスタである場合を説明したが、本発明はそれに限定されない。試験装置１００は、その他のメモリを試験するテスタであってもよいし、ＳＯＣなどを試験するテスタであってもよい。また、マッチ検出処理により判定すべき状態も、上述したものに限定されずに任意に設定することができ、それらも本発明の範囲に含まれる。
【００６６】
実施の形態にもとづき本発明を説明したが、実施の形態は、本発明の原理、応用を示しているにすぎず、実施の形態には、請求の範囲に規定された本発明の思想を逸脱しない範囲において、多くの変形例や配置の変更が可能である。
【符号の説明】
【００６７】
１０…マッチ検出回路、１２…第１判定部、ＴＣＰ…タイミングコンパレータ、ＬＣＰ…レベルコンパレータ、ＦＦ…フリップフロップ、１４…第１論理ゲート、１６…第２論理ゲート、１８…第２判定部、２０…プライオリティエンコーダ、２２…第３判定部、２４…第４判定部、２６…期待値デコーダ、２８…レジスタ、３０…セレクタ、３２…パターンシーケンス分岐部、４０…ＰＣ、４２…アドレス発生器、１００…試験装置、１０２…ＤＵＴ。
【図１】
2011034653.tif 000003
【図２】
2011034653.tif 000004
【図３】
2011034653.tif 000005
【図４】
2011034653.tif 000006
【図５】
2011034653.tif 000007
【図６】
2011034653.tif 000008