(57)【要約】【課題】マッチ検出にもとづく条件分岐と、論理比較にもとづく条件判定を動的に制御可能な試験装置を提供する。【解決手段】マッチ制御回路ＭＣは、マッチフラグがアサートされたとき、ピンの値と期待値と比較結果を示すマッチ信号を生成する。フェイルスタックレジスタ１０は、論理比較器ＤＣの出力値を保持する。フラッシュホールドレジスタ１４は、過去にフェイルが発生していないときにアサートされるスタックパス信号と、マッチ信号とを受け、パターンプログラムに記述される第１制御命令の実行サイクルにおいて生成される第１パターン制御信号に応じた一方を保持し、ホールドマッチ信号として出力する。マッチホールドセレクタ１６は、マッチ信号とホールドマッチ信号とを受け、パターンプログラムに記述される第２制御命令の実行サイクルにおいて生成される第２パターン制御信号に応じた一方をピンマッチ信号として出力する。【選択図】図２
2012104204.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが被試験デバイスのピンごとに設けられた複数の論理比較器であって、それぞれが対応する前記ピンの値と期待値との一致、不一致を示す比較信号を生成する、複数の論理比較器と、
それぞれが前記ピンごとに設けられた複数のマッチ制御回路であって、それぞれが、マッチフラグがアサートされたとき、対応する前記ピンの値と期待値との一致、不一致を示すマッチ信号を生成する、複数のマッチ制御回路と、
それぞれが前記ピンごとに設けられた複数のフェイルスタックレジスタであって、それぞれが対応する前記論理比較器からの前記比較信号を保持する、複数のフェイルスタックレジスタと、
それぞれが前記ピンごとに設けられた複数のフラッシュホールドレジスタであって、それぞれが、対応する前記フェイルスタックレジスタの出力値にもとづいて過去にフェイルが発生していないときにアサートされるスタックパス信号と、対応する前記マッチ制御回路からのマッチ信号とを受け、パターンプログラムに記述される所定の第１制御命令の実行サイクルにおいて生成される第１パターン制御信号に応じた一方を保持し、ホールドマッチ信号として出力する、複数のフラッシュホールドレジスタと、
それぞれが前記ピンごとに設けられた複数のマッチホールドセレクタであって、それぞれが対応する前記マッチ制御回路からの前記マッチ信号と対応する前記フラッシュホールドレジスタからの前記ホールドマッチ信号とを受け、パターンプログラムに記述される所定の第２制御命令の実行サイクルにおいて生成される第２パターン制御信号に応じた一方をピンマッチ信号として出力する、複数のマッチホールドセレクタと、
を備えることを特徴とする試験装置。
【請求項２】
前記第１パターン制御信号は、前記マッチ信号を選択すべきサイクルにおいてアサートされる第１データと、前記スタックパス信号を選択すべきサイクルにおいてアサートされる第２データと、を含み、
前記フラッシュホールドレジスタは、
前記第１データと前記マッチ信号の論理積を生成する第１ＡＮＤゲートと、
前記第２データと前記スタックパス信号の論理積を生成する第２ＡＮＤゲートと、
前記第１ＡＮＤゲートと前記第２ＡＮＤゲートそれぞれの出力信号の論理和を生成する第１ＯＲゲートと、
前記第１ＯＲゲートの出力を、パターンプログラムに記述されるロード命令の実行サイクルにおいてアサートされるロード信号に応じて保持するレジスタと、
を含むことを特徴とする請求項１に記載の試験装置。
【請求項３】
前記第２パターン制御信号は、前記マッチ信号を選択すべきサイクルにおいてアサートされる第３データと、前記ホールドマッチ信号を選択すべきサイクルにおいてアサートされる第４データと、を含み、
前記マッチホールドセレクタは、
前記第３データと前記マッチ信号の論理積を生成する第３ＡＮＤゲートと、
前記第４データと前記ホールドマッチ信号の論理積を生成する第４ＡＮＤゲートと、
前記第３ＡＮＤゲートと前記第４ＡＮＤゲートそれぞれの出力信号の論理和を生成する第２ＯＲゲートと、
を含むことを特徴とする請求項１または２に記載の試験装置。
【請求項４】
前記フラッシュホールドレジスタは、
レジスタに格納されるマッチモード信号とモード制御信号をさらに受け、
前記マッチモード信号が第１レベルのとき、前記パターン制御信号に応じた一方を保持し、前記マッチモード信号が第２レベルのとき、前記モード制御信号に応じた一方を保持することを特徴とする請求項１から３のいずれかに記載の試験装置。
【請求項５】
前記マッチホールドセレクタは、
レジスタに格納されるマッチモード信号とモード制御信号をさらに受け、
前記マッチモード信号が第１レベルのとき、前記パターン制御信号に応じた一方を保持し、前記マッチモード信号が第２レベルのとき、前記モード制御信号に応じた一方を出力することを特徴とする請求項１から３のいずれかに記載の試験装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体デバイスの試験装置に関する。
【背景技術】
【０００２】
メモリやＳＯＣ（System On Chip）などの半導体デバイスを評価するために、試験装置が利用される。試験装置は、ユーザが定義したテストシーケンスプログラム（単にテストプログラムともいう）にもとづいて、ＤＵＴ（被試験デバイス）を評価する。試験装置は、テストサイクルと同期して、テストプログラムに記述された処理を順に実行していく。
【０００３】
試験装置は、ＤＵＴから読み出したデータを期待値と比較する機能を備える。これを本明細書において「論理比較（処理）」と称する。また試験装置において、ＤＵＴからのステータス信号が所定の条件を満たすか否かを判定し、パターンプログラムが判定結果に応じた条件分岐処理を実行する場合がある。この条件分岐判定処理を「マッチ検出」処理あるいは単にマッチ処理とも称する。たとえば、ＰＬＬ（Phase Locked Loop）回路やＤＬＬ（Delay Locked Loop）回路を内蔵するＤＵＴは、その電源投入後に、ある適切な状態に遷移したか否かを示すＬＯＣＫ信号を出力する。試験装置は、このＬＯＣＫ信号をモニタし、ＰＬＬ回路やＤＬＬ回路がアンロック状態からロック状態に遷移したことを検出し、それに続くテストシーケンスを実行する。この場合の条件分岐処理は、ＬＯＣＫ信号を対象としてなされる。
【０００４】
別の例として、ＮＡＮＤ型フラッシュメモリ（以下、単にフラッシュメモリという）を考える。フラッシュメモリは、外部からデータの書き込みや読み出し処理を指示されると、その処理の実行中は外部からのアクセスを禁止する必要がある。したがって、フラッシュメモリは、データ書き込み／読み出し処理を実行中の状態（ビジー状態）であるか、処理が完了した状態で次の処理を開始しても良い状態（レディ状態）のいずれかを示す制御信号（以下単にステータス信号Ｒ／Ｂ、あるいはＲ／Ｂ信号という）を出力する。たとえばステータス信号Ｒ／Ｂは、ハイレベルがレディ状態を、ローレベルがビジー状態を示す。こうしたフラッシュメモリを評価対象とするメモリテスタは、Ｒ／Ｂ信号を監視し、条件分岐処理を実行する。
【０００５】
マッチ検出処理の概要は以下の通りである。マッチ検出処理とは、
１．検出対象として定義されたステータス信号が、
２．あらかじめ定義されたテストサイクルにおいて、
３．期待値と一致するか否かを判定し、
４．一致したときに、所定のテストシーケンスに分岐（ジャンプ）する
処理として定義できる。
【０００６】
マッチ検出の対象となる試験ピン（ステータス信号）は、テストプログラムにおいて「ＭＡＣＴＨ」と呼ばれるニーモニックにより記述される。また、マッチ検出を行うテストサイクルは、「ＦＬＡＧ」などのフラグセンス命令と呼ばれるニーモニックにより記述される。また、期待値もテストプログラムにおいて定義され、所定のテストシーケンスを示すテストパターン番地も、テストプログラムにおいて定義される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０００−４０３８９号公報
【特許文献２】特開２００５−４４４９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
フラッシュメモリの試験は、たとえば以下のようにして行われる。図１は、ＮＡＮＤ型フラッシュメモリの試験手順を示すフローチャートである。
まずＤＵＴにデータを書き込む（Ｓ１００）。続いて、書き込みが完了したか否かを判定する（Ｓ１０２）。この判定は、ＤＵＴからのＲ／Ｂ信号を対象とする「マッチ検出」により行われる。もし、Ｒ／Ｂ信号がアサートされなければ（Ｓ１０２のＮ）、書き込みが完了していないものとして、累積の書き込み回数を示すカウント値をインクリメントする（Ｓ１２０）。カウント値が上限値に達していなければ（Ｓ１２２のＮ）、再度書き込みをトライする（Ｓ１００）。カウント値が上限に達すると（Ｓ１２２のＹ）、試験を終了する。
【０００９】
Ｒ／Ｂ信号がアサートされると（Ｓ１０２のＹ）、書き込みが完了したものと判定する。続いて、ＤＵＴからデータを読み出し（Ｓ１０４）、それを期待値と比較することにより正しいか否かを判定する（Ｓ１０６）。この判定は「論理比較」により行われる。論理比較の結果、書き込んだデータが正しければ（Ｓ１０６のＹ）、そのＤＵＴあるいは１つのブロックをパスと判定し（Ｓ１０８）、そのＤＵＴあるいはそのブロックに関する試験を終了し、次のＤＵＴもしくは次のブロックの試験を開始する。書き込んだデータが正しくなければ（Ｓ１０６のＮ）、累積書き込み回数を示すカウント値をインクリメントする（Ｓ１３０）。カウント値が上限値に達していなければ（Ｓ１３２のＮ）、再度書き込みをトライする（Ｓ１００）。カウント値が上限に達すると（Ｓ１３２のＹ）、試験を終了する。
【００１０】
フラッシュメモリは、書き込み回数に制限がある。したがって、複数のフラッシュメモリを同時測定する際に、あるＤＵＴがフェイル判定され、書き込みのリトライが発生すると、それによってパス判定された他のＤＵＴが書き込みのリトライ対象となることは好ましくない。そこで試験装置には、パス判定されたＤＵＴについては、その後の書き込みを禁止する機能が求められる。
【００１１】
つまりフラッシュメモリの試験装置は、マッチ検出による条件分岐（Ｓ１０２）と、論理比較による条件分岐（Ｓ１０８）が必要となる。
【００１２】
本発明は係る状況においてなされたものであり、そのある態様の例示的な目的のひとつは、マッチ検出にもとづく条件分岐と、論理比較にもとづく条件判定を動的に制御可能な試験装置の提供にある。
【課題を解決するための手段】
【００１３】
本発明のある態様は、試験装置に関する。試験装置は、複数の論理比較器と、複数のマッチ制御回路と、複数のフェイルスタックレジスタと、複数のフラッシュホールドレジスタと、複数のマッチホールドセレクタと、を備える。
複数の論理比較器は、それぞれが被試験デバイスのピンごとに設けられ、対応するピンの値と期待値との一致、不一致を示す比較信号を生成する。複数のマッチ制御回路ＭＣは、それぞれがピンごとに設けられ、マッチフラグがアサートされたとき、対応するピンの値と期待値との一致、不一致を示すマッチ信号を生成する。複数のフェイルスタックレジスタは、それぞれがピンごとに設けられ、対応する論理比較器からの比較信号を保持する。複数のフラッシュホールドレジスタは、それぞれがピンごとに設けられ、対応するフェイルスタックレジスタの出力値にもとづいて過去にフェイルが発生していないときにアサートされるスタックパス信号と、対応するマッチ制御回路からのマッチ信号とを受ける。フラッシュホールドレジスタは、パターンプログラムに記述される所定の第１制御命令の実行サイクルにおいて生成される第１パターン制御信号に応じた一方を保持し、ホールドマッチ信号として出力する。複数のマッチホールドセレクタは、それぞれがピンごとに設けられ、対応するマッチ制御回路からのマッチ信号と対応するフラッシュホールドレジスタからのホールドマッチ信号とを受け、パターンプログラムに記述される所定の第２制御命令の実行サイクルにおいて生成される第２パターン制御信号に応じた一方をピンマッチ信号として出力する、複数のマッチホールドセレクタと、を備える。
【００１４】
この態様によると、パターンプログラム中に、第１パターン制御信号、第２パターン制御信号を発生する命令を記述することで、テストサイクルごとに、マッチ検出結果を示すマッチ信号にもとづく条件分岐と、マッチ信号をホールドしたホールドマッチ信号にもとづく分岐処理と、論理比較の比較結果を示すスタックパス信号にもとづく分岐処理と、を動的に切りかえて制御することができる。
【００１５】
なお、以上の構成要素の任意の組み合わせや本発明の構成要素や表現を、方法、装置などの間で相互に置換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１６】
本発明のある態様によれば、マッチ検出にもとづく条件分岐と、論理比較にもとづく条件判定を動的に制御できるプラットフォームを提供できる。
【図面の簡単な説明】
【００１７】
【図１】ＮＡＮＤ型フラッシュメモリの試験手順を示すフローチャートである。
【図２】実施の形態に係る試験装置の全体構成を示すブロック図である。
【図３】図３（ａ）、（ｂ）は、フラッシュホールドレジスタの具体的な構成例を示す回路図である。
【図４】図３（ｂ）のフラッシュホールドレジスタの動作を示す真理値表である。
【図５】図５（ａ）、（ｂ）は、マッチホールドセレクタの具体的な構成例を示す回路図である。
【発明を実施するための形態】
【００１８】
以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、実施の形態は、発明を限定するものではなく例示であって、実施の形態に記述されるすべての特徴やその組み合わせは、必ずしも発明の本質的なものであるとは限らない。
【００１９】
図２は、実施の形態に係る試験装置２の全体構成を示すブロック図である。試験装置２は、たとえばフラッシュメモリをはじめとするＤＵＴ１を試験するメモリテスタであり、複数のＤＵＴ１を同時に測定する機能を有する。図１には、単一のＤＵＴ１に対応するブロックのみが示されるが、実際には、複数のＤＵＴ１ごとに同様のブロックが設けられる。
【００２０】
試験装置２は、複数のチャンネルＣＨ１〜ＣＨＮを有する。各チャンネルＣＨは、ＤＵＴ１の各ピンに対応付けられる。パターン発生器ＰＧは、ユーザによって定義されたパターンプログラムにもとづき、テストサイクルごとに命令を実行し、それに応じたさまざまな制御信号やテストパターン、期待値などを発生して試験装置２全体を制御する。制御信号としては、後述するフラッシュホールドロード／クリア信号（Ｆｌａｓｈ＿Ｈｏｌｄ＿Ｌｏａｄ、Ｆｌａｓｈ＿Ｈｏｌｄ＿ｃｌｅａｒ）、ライトイネーブル信号（／ＷＥ）、チップイネーブル信号（／ＣＥ）、パターン制御信号ＣＮＴ１、ＣＮＴ２などが例示される。
【００２１】
試験装置２は、各チャンネルＣＨごとに設けられた、論理比較器ＤＣ、マッチ制御回路ＭＣ、フェイルスタックレジスタ１０、論理ゲート１２、フラッシュホールドレジスタ１４、マッチホールドセレクタ１６を備える。さら試験装置２は、ＤＵＴごとに設けられたホールドマトリクス回路２３、フラッシュカウンタ２４、リミットレジスタ２５、判定回路２６、ＯＲゲート２７、ＮＡＮＤゲート２８、論理ゲート２０を備える。
【００２２】
論理比較器ＤＣは、「論理比較」処理を行うユニットである。第ｉチャンネルの論理比較器ＤＣｉは、ＤＵＴ１の対応するピンからのデータもしくは信号の値を、パターン発生器ＰＧから出力される期待値ＥＸＰと比較し、比較結果を示す比較信号Ｓ１を出力する。比較信号Ｓ１は、一致（パス）のとき"０"、不一致（フェイル）のとき"１"となる。
【００２３】
フェイルスタックレジスタ１０は、論理比較器ＤＣにより生成される比較信号Ｓ１を保持する。フェイルスタックレジスタ１０は、パターン発生器ＰＧにより生成されるクリア信号（Ｃｌｅａｒ信号）がアサートされるとリセットされる。具体的には、フェイルスタックレジスタ１０に格納されたデータが、後段のフラッシュホールドレジスタ１４に転送されると、つまり後述のＦｌａｓｈ＿Ｈｏｌｄ＿Ｌｏａｄ信号がアサートされると、フェイルスタックレジスタ１０がクリアされる。
【００２４】
論理ゲート１２は、フェイルスタックレジスタ１０に格納された値を論理反転する。論理ゲート１２の出力信号（ｓｔａｃｋ＿ｐａｓｓ信号）は、ＤＵＴ１の対応するピンがパス判定されたときにアサート（"１"）される。
【００２５】
マッチ制御回路ＭＣは、「マッチ検出」処理を行うユニットである。マッチ制御回路ＭＣは、あるピンの信号を期待値と比較する点で論理比較器ＤＣと類似するが、具体的に以下の処理を行う。
マッチ制御回路ＭＣは、パターン発生器ＰＧにより生成されるマッチフラグＦＬＧがアサートされたテストサイクルにおいて、ＤＵＴ１の対応するピンからのステータス信号を、パターン発生器ＰＧが発生する期待値ＥＸＰと比較し、比較結果を示すマッチ信号（ｍａｔｃｈ信号）を出力する。ｍａｔｃｈ信号は、一致（パス）のとき"１"、不一致（フェイル）のとき"０"となる。
なおマッチ検出の対象ではないチャンネルのマッチ制御回路ＭＣは、パス"１"を示すｍａｔｃｈ信号を出力する。これにより後段の論理ゲート２０において、複数のチャンネルのｍａｔｃｈ信号の論理積をとる際に、マッチ検出の対象でないチャンネルのｍａｔｃｈ信号をマスクできる。
【００２６】
フラッシュホールドレジスタ１４は、対応するｓｔａｃｋ＿ｐａｓｓ信号と、対応するｍａｔｃｈ信号に加えて、パターンプログラムに応じた制御信号として第１パターン制御信号ＣＮＴ１、フラッシュホールドロード信号（Ｆｌａｓｈ＿Ｈｏｌｄ＿Ｌｏａｄ信号）、フラッシュホールドクリア信号（Ｆｌａｓｈ＿Ｈｏｌｄ＿ｃｌｅａｒ信号）を受ける。
【００２７】
パターンプログラムに記述されるロード命令が実行されるサイクルにおいてＦｌａｓｈ＿Ｈｏｌｄ＿Ｌｏａｄ信号がアサートされる。Ｆｌａｓｈ＿Ｈｏｌｄ＿Ｌｏａｄ信号がアサートされると、フラッシュホールドレジスタ１４は、ｓｔａｃｋ＿ｐａｓｓ信号およびｍａｔｃｈ信号のうち、第１パターン制御信号ＣＮＴ１に応じた一方を保持する。保持された値は、ホールドマッチ信号（ｈｏｌｄ＿ｍａｔｃｈ信号）として出力される。パターンプログラムに記述されるクリア命令が実行されるサイクルにおいてクリア信号（Ｆｌａｓｈ＿Ｈｏｌｄ＿ｃｌｅａｒ信号）がアサートされる。Ｆｌａｓｈ＿Ｈｏｌｄ＿Ｌｏａｄ信号がアサートされると、フラッシュホールドレジスタ１４は、保持した値をクリアする。
【００２８】
パターンプログラムには、第１パターン制御信号ＣＮＴ１を発生させるための所定の命令（第１制御命令という）が記述可能となっている。つまり第１制御パターン信号ＣＮＴ１は、第１制御命令が実行されるサイクルにおいて動的に生成される。つまり、あるテストサイクルにおいては、フラッシュホールドレジスタ１４にｍａｔｃｈ信号を保持させ、別のテストサイクルにおいては、ｓｔａｃｋ＿ｐａｓｓ信号を保持させることができる。これは従来の試験装置にはない特徴のひとつである。
【００２９】
図３（ａ）、（ｂ）は、フラッシュホールドレジスタ１４の具体的な構成例を示す回路図である。上述の第１制御パターン信号ＣＮＴ１は、第１データＭａｔｃｈ＿Ｍｏｄｅ＿Ｓｅｌ［２］、第２データＭａｔｃｈ＿Ｍｏｄｅ＿Ｓｅｌ［３］を含む。第１データＭａｔｃｈ＿Ｍｏｄｅ＿Ｓｅｌ［２］は、第１制御命令に応じて、ｍａｔｃｈ信号を選択すべきサイクルにおいてアサートされる。第２データＭａｔｃｈ＿Ｍｏｄｅ＿Ｓｅｌ［３］は、ｓｔａｃｋ＿ｐａｓｓ信号を選択すべきサイクルにおいてアサートされる。
【００３０】
図３（ａ）のフラッシュホールドレジスタ１４ａは、レジスタ（ラッチ回路）３０、第１ＡＮＤゲート３２、第２ＡＮＤゲート３４、第１ＯＲゲート３６を含む。
第１ＡＮＤゲート３２は、第１データＭａｔｃｈ＿Ｍｏｄｅ＿Ｓｅｌ［２］とｍａｔｃｈ号の論理積を生成する。第２ＡＮＤゲート３４は、第２データＭａｔｃｈ＿Ｍｏｄｅ＿Ｓｅｌ［３］とｓｔａｃｋ＿ｐａｓｓ信号の論理積を生成する。第１ＯＲゲート３６は、第１ＡＮＤゲート３２と第２ＡＮＤゲート３４それぞれの出力信号の論理和を生成する。
Ｆｌａｓｈ＿Ｈｏｌｄ＿Ｌｏａｄ信号がアサートされると、レジスタ３０に第１ＯＲゲート３６の出力信号がロードされる。またＦｌａｓｈ＿Ｈｏｌｄ＿ｃｌｅａｒ信号がアサートされると、レジスタ３０の値がクリアされる。このフラッシュホールドレジスタ１４ａによれば、テストサイクルごとに動的に、ｍａｔｃｈ信号と、ｓｔａｃｋ＿ｐａｓｓ信号を切りかえて保持できる。
【００３１】
図３（ｂ）は、図３（ａ）の変形例のフラッシュホールドレジスタ１４ｂの構成を示す。フラッシュホールドレジスタ１４ｂはさらに、マッチモード信号（Ｍａｔｃｈ＿Ｍｏｄｅ信号）およびフラッシュホールドモード信号（Ｆｌａｓｈ＿Ｈｏｌｄ＿Ｍｏｄｅ信号）を受ける。Ｍａｔｃｈ＿Ｍｏｄｅ信号およびＦｌａｓｈ＿Ｈｏｌｄ＿Ｍｏｄｅ（１〜４）信号は、モード制御レジスタから読み出される静的な値であり、テストサイクルごとに変更可能なデータではないことに留意されたい。
【００３２】
図３（ｂ）のフラッシュホールドレジスタ１４ｂは、「動的制御モード」と「静的制御モード」が切りかえ可能となっている。動的制御モードにおいてフラッシュホールドレジスタ１４ｂは、第１制御パターン信号ＣＮＴ１に応じて制御される。つまり図３（ａ）のフラッシュホールドレジスタ１４と同様に動作する。静的制御モードにおいて、フラッシュホールドレジスタ１４ｂは、第１制御パターン信号ＣＮＴ１ではなく、Ｆｌａｓｈ＿Ｈｏｌｄ＿Ｍｏｄｅ（１〜４）信号に応じて制御される。Ｍａｔｃｈ＿Ｍｏｄｅ信号は、動的制御モードと静的制御モードを切りかえるための制御信号であり、"０"のとき動的制御モード、"１"のとき静的制御モードに設定される。
【００３３】
第１セレクタ３８は、ｍａｔｃｈ信号と第１ＡＮＤゲート３２の出力を受け、Ｍａｔｃｈ＿Ｍｏｄｅ信号に応じた一方を選択する。第２セレクタ４０は、ｓｔａｃｋ＿ｐａｓｓ信号と第２ＡＮＤゲート３４の出力を受け、Ｍａｔｃｈ＿Ｍｏｄｅ信号に応じた一方を選択する。
【００３４】
論理回路３６ｂは、第１ＯＲゲート３６に加えて、第３セレクタ３７、ＡＮＤゲート３９を含む。
ＡＮＤゲート３９は、Ｍａｔｃｈ＿Ｍｏｄｅ信号とＦｌａｓｈ＿Ｈｏｌｄ＿Ｍｏｄｅ１／２／３／４信号の論理積を生成する。第３セレクタ３７は、ＡＮＤゲート３９の出力により制御される。第３セレクタ３７は、Ｍａｔｃｈ＿Ｍｏｄｅ信号が"０"のとき（動的制御モード）、スルーとなる。また第３セレクタ３７は、Ｍａｔｃｈ＿Ｍｏｄｅ信号が"１"のとき（静的制御モード）、Ｆｌａｓｈ＿Ｈｏｌｄ＿Ｍｏｄｅ（１／２／３／４）信号に応じた一方を通過させ、他方の値を"０"とする。たとえば、Ｆｌａｓｈ＿Ｈｏｌｄ＿Ｍｏｄｅ１またはＦｌａｓｈ＿Ｈｏｌｄ＿Ｍｏｄｅ３が"１"のとき、ｍａｔｃｈ信号を通過させ、Ｆｌａｓｈ＿Ｈｏｌｄ＿Ｍｏｄｅ２またはＦｌａｓｈ＿Ｈｏｌｄ＿Ｍｏｄｅ４が"１"のとき、ｓｔａｃｋ＿ｐａｓｓ信号を通過させる。
【００３５】
図３（ｂ）のフラッシュホールドレジスタ１４ｂによれば、Ｍａｔｃｈ＿Ｍｏｄｅ信号によってモードを切りかえ、パターンプログラムによる制御と、レジスタによる制御を切りかえることができる。
【００３６】
図４は、図３（ｂ）のフラッシュホールドレジスタ１４ｂの動作を示す真理値表である。当業者であれば、図４の真理値表を満たすフラッシュホールドレジスタ１４ｂの様々な変形例を利用することができる。
【００３７】
図２に戻る。マッチホールドセレクタ１６はピンごとに設けられる。マッチホールドセレクタ１６は、対応するｍａｔｃｈ信号および対応するｈｏｌｄ＿ｍａｔｃｈ信号を受け、第２制御信号ＣＮＴ２に応じた一方を選択し、ピンマッチ信号（ｍａｔｃｈ＿ｐｉｎ信号）として出力する。第２制御信号ＣＮＴ２は、パターンプログラムに記述される所定の第２制御命令の実行サイクルにおいて生成される。
【００３８】
図５（ａ）、（ｂ）は、マッチホールドセレクタ１６の具体的な構成例を示す回路図である。上述の第２制御パターン信号ＣＮＴ２は、第３データＭａｔｃｈ＿Ｍｏｄｅ＿Ｓｅｌ［０］、第４データＭａｔｃｈ＿Ｍｏｄｅ＿Ｓｅｌ［１］を含む。第３データＭａｔｃｈ＿Ｍｏｄｅ＿Ｓｅｌ［０］は、第２制御命令に応じて、ｍａｔｃｈ信号を選択すべきサイクルにおいてアサートされる。第４データＭａｔｃｈ＿Ｍｏｄｅ＿Ｓｅｌ［１］は、ｈｏｌｄ＿ｍａｔｃｈ信号を選択すべきサイクルにおいてアサートされる。
【００３９】
図５（ａ）のフラッシュホールドレジスタ１４ａは、第３ＡＮＤゲート４２、第４ＡＮＤゲート４４、第２ＯＲゲート４６を備える。第３ＡＮＤゲート４２は、第３データＭａｔｃｈ＿Ｍｏｄｅ＿Ｓｅｌ［０］とｍａｔｃｈ号の論理積を生成する。第４ＡＮＤゲート４４は、第４データＭａｔｃｈ＿Ｍｏｄｅ＿Ｓｅｌ［１］とｈｏｌｄ＿ｍａｔｃｈ信号の論理積を生成する。第２ＯＲゲート４６は、第３ＡＮＤゲート４２と第４ＡＮＤゲート４４それぞれの出力信号の論理和を生成し、ｍａｔｃｈ＿ｐｉｎ信号として出力する。
【００４０】
このマッチホールドセレクタ１６ａによれば、テストサイクルごとに動的に、ｍａｔｃｈ信号と、ｈｏｌｄ＿ｍａｔｃｈ信号を切りかえることができる。
【００４１】
図５（ｂ）は、図５（ａ）の変形例のマッチホールドセレクタ１６ｂの構成を示す。マッチホールドセレクタ１６ｂは、図３（ｂ）のフラッシュホールドレジスタ１４ｂと同様に、Ｍａｔｃｈ＿Ｍｏｄｅ信号およびＦｌａｓｈ＿Ｈｏｌｄ＿Ｍｏｄｅ（１〜４）信号を受ける。
【００４２】
図５（ｂ）のマッチホールドセレクタ１６ｂは、動的制御モードと静的制御モードが切りかえ可能となっている。動的制御モードにおいてマッチホールドセレクタ１６ｂは、第２制御パターン信号ＣＮＴ２に応じて制御される。つまり図５（ａ）のマッチホールドセレクタ１６ａと同様に動作する。静的制御モードにおいて、マッチホールドセレクタ１６ｂは、第２制御パターン信号ＣＮＴ２ではなく、Ｆｌａｓｈ＿Ｈｏｌｄ＿Ｍｏｄｅ（１〜４）信号に応じて制御される。
【００４３】
第４セレクタ４８は、ｍａｔｃｈ信号と第３ＡＮＤゲート４２の出力を受け、Ｍａｔｃｈ＿Ｍｏｄｅ信号に応じた一方を選択する。第５セレクタ５０は、ｈｏｌｄ＿ｍａｔｃｈ信号と第４ＡＮＤゲート４４の出力を受け、Ｍａｔｃｈ＿Ｍｏｄｅ信号に応じた一方を選択する。論理回路４６ｂの構成は、図３（ｂ）の論理回路３６ｂと同様である。第６セレクタ４７は、Ｍａｔｃｈ＿Ｍｏｄｅ信号が"１"のとき（静的制御モード）、Ｆｌａｓｈ＿Ｈｏｌｄ＿Ｍｏｄｅ（１／２／３／４）信号に応じた一方を通過させ、他方の値を"０"とする。たとえば、Ｆｌａｓｈ＿Ｈｏｌｄ＿Ｍｏｄｅ１〜４のいずれかが"１"のとき、ｈｏｌｄ＿ｍａｔｃｈ信号を通過させ、それらがすべて"０"のときｍａｔｃｈ信号を通過させる。
【００４４】
図５（ｂ）のマッチホールドセレクタ１６ｂによれば、Ｍａｔｃｈ＿Ｍｏｄｅ信号によって、パターンプログラムによる制御（動的制御モード）と、レジスタによる制御（静的制御モード）を切りかえることができる。
【００４５】
図２に戻る。各チャンネルにおいて生成されたｍａｔｃｈ＿ｐｉｎ信号は、ピン（チャンネル）ごとの条件判定の結果を示す。論理ゲート２０は、共通のＤＵＴの複数のピンそれぞれのｍａｔｃｈ＿ｐｉｎ信号の論理積を生成し、ＤＵＴマッチ信号（ｍａｔｃｈ＿ｄｕｔ信号）を出力する。ｍａｔｃｈ＿ｄｕｔ信号は、ＤＵＴを単位とした条件判定の結果を示す。さらに論理ゲート２２は、複数のＤＵＴごとに生成される複数のｍａｔｃｈ＿ｄｕｔ信号の論理積を生成し、トータルマッチ信号（ｍａｔｃｈ＿ｔｏｔａｌ信号）として出力する。パターン発生器ＰＧは、ｍａｔｃｈ＿ｔｏｔａｌ信号にもとづいて、条件分岐を行う。
【００４６】
ホールドマトリクス回路２３、フラッシュカウンタ２４、リミットレジスタ２５、判定回路２６、ＯＲゲート２７、ＮＡＮＤゲート２８は、ＤＵＴ１ごとに設けられる。ホールドマトリクス回路２３は、共通のＤＵＴの複数のピンごとに生成されるｆｌａｓｈ＿ｈｏｌｄ信号を論理演算する。
【００４７】
あるピンのｆｌａｓｈ＿ｈｏｌｄ信号が"１"であることは、
（i）そのピンのマッチ検出にてパス判定されたこと
（ii）そのピンのデータにフェイルが発生していないこと
のいずれかを示す。
ホールドマトリクス回路２３は、対応するＤＵＴのすべてのピンのｆｌａｓｈ＿ｈｏｌｄ信号が"１"であるときにアサートされる禁止信号（Ｉｎｈｉｂｉｔ）Ｓ２を生成する。禁止信号Ｓ２は、複数のピンのｆｌａｓｈ＿ｈｏｌｄ信号の論理積をとることで生成できる。
【００４８】
また、ホールドマトリクス回路２３は、対応するＤＵＴのすべてのピンのｆｌａｓｈ＿ｈｏｌｄ信号の少なくともひとつが"０"であるとき、カウントインクリメント信号（ＦＣＩＮＣ）をアサートし、フラッシュカウンタ２４をカウントアップさせる。
【００４９】
フラッシュカウンタ２４は、ホールドマトリクス回路２３による制御によってカウントアップする。フラッシュカウンタ２４のカウント値は、対応するＤＵＴのマッチ検出がフェイルした回数、あるいは対応するＤＵＴの論理比較においてフェイル判定された回数を示す。リミットレジスタ２５には、最大リトライ回数を示す上限値ＬＩＭＩＴが書き込まれる。判定回路２６は、フラッシュカウンタ２４のカウント値を上限値ＬＩＭＩＴと比較し、カウント値が上限値に達すると、その出力であるハードフェイル信号（Ｈａｒｄ＿Ｆａｉｌ）Ｓ３をアサート（"１"）する。ＯＲゲート２７は、ホールドマトリクス回路２３の出力Ｓ２と判定回路２６の出力Ｓ３の論理和を生成する。
【００５０】
ＯＲゲート２７の出力Ｓ４は、
（i）対応するＤＵＴのマッチ検出にてフェイルが発生したとき
（ii）対応するＤＵＴの論理比較においてフェイルが検出されたとき
（iii）カウント値が上限値に達したとき
のいずれかにおいてアサート（"１"）される。
【００５１】
ＯＲゲート２７の出力Ｓ４がアサート（"１"）されると、論理比較器ＤＣによる比較判定が停止され、論理比較器ＤＣの出力Ｓ１は"１"に固定される。
【００５２】
また、ＮＡＮＤゲート２８は、ライトイネーブル信号（／ＷＥ）、チップイネーブル信号（／ＣＥ）と、ＯＲゲート２７の出力の否定論理積を生成し、ＤＵＴ１のライトイネーブル端子、チップイネーブル端子へと出力する。"／"は、反転論理を示す。
【００５３】
以上が試験装置２の構成である。続いてその動作、利用方法を説明する。
この試験装置２は、複数のフラッシュメモリを同時試験する際に、以下の複数のモード、すなわち第１〜第４フラッシュホールドモードのいずれか動作させることができる。ここでは動的制御モード（Ｍａｔｃｈ＿Ｍｏｄｅ１＝０）の場合を説明する。
【００５４】
１．第１フラッシュホールドモード
このモードで利用される制御信号を以下に示す。
Ｍａｔｃｈ＿Ｍｏｄｅ＿Ｓｅｌ［０］＝０
Ｍａｔｃｈ＿Ｍｏｄｅ＿Ｓｅｌ［１］＝１
Ｍａｔｃｈ＿Ｍｏｄｅ＿Ｓｅｌ［２］＝１
Ｍａｔｃｈ＿Ｍｏｄｅ＿Ｓｅｌ［３］＝０
【００５５】
第１フラッシュホールドモードでは、すでにプログラム動作が完了したＤＵＴに対しては、その後の再書き込みを禁止する。具体的には、Ｒ／Ｂ信号のピンがマッチ検出の対象に設定される。そしてマッチ検出の結果を示すｍａｔｃｈ信号がロード命令に応答してフラッシュホールドレジスタ１４のレジスタ３０にロードされる。第１フラッシュモードにおいて、ｆｌａｓｈ＿ｈｏｌｄ信号は、マッチ検出の結果を示す。ホールドマトリクス回路２３が生成する禁止信号Ｓ２は、対応するＤＵＴのすべてのピンのマッチ検出がパスであるときアサートされる。禁止信号Ｓ２がアサートされると、そのＤＵＴに対応する複数の論理比較器ＤＣの動作が停止する。また禁止信号Ｓ２のアサートによって、ＮＡＮＤゲート２８によって／ＷＥ信号、／ＣＥ信号がマスクされ、ＤＵＴ１に対する過剰書き込み、消去を禁止できる。
【００５６】
２．第２フラッシュホールドモード
このモードで利用される制御信号を以下に示す。
Ｍａｔｃｈ＿Ｍｏｄｅ＿Ｓｅｌ［０］＝０
Ｍａｔｃｈ＿Ｍｏｄｅ＿Ｓｅｌ［１］＝１
Ｍａｔｃｈ＿Ｍｏｄｅ＿Ｓｅｌ［２］＝０
Ｍａｔｃｈ＿Ｍｏｄｅ＿Ｓｅｌ［３］＝１
【００５７】
このモードでは、フラッシュホールドレジスタ１４のレジスタ３０に、ｓｔａｃｋ＿ｐａｓｓ信号が保持される。つまり、対応するピンにＤＵＴから読み出されたデータと期待値との比較結果が保持される。そして、あるＤＵＴのすべてのピンにおいて、読み出したデータが正しければ、ホールドマトリクス回路２３が生成する禁止信号Ｓ２がアサートされ、論理比較器ＤＣの比較動作が停止するとともに、／ＣＥ信号、／ＷＥ信号がマスクされる。
【００５８】
試験が完了するとＨｏｌｄ＿Ｆｌａｓｈ＿ｃｌｅａｒ信号がアサートされ、フラッシュホールドレジスタ１４がクリアされる。これにより禁止信号Ｓ２がネゲートされ、次のブロックの消去が可能となる。
【００５９】
３．第３フラッシュホールドモード
第３フラッシュホールドモードは、第１フラッシュホールドモードに加えて以下の機能が実現できる。
あるＤＵＴへのデータ書き込みの後、そのＤＵＴのマッチ検出がフェイルであるとき、フラッシュカウンタ２４がカウントアップする。そしてカウント値が上限値に達すると、ハードフェイル信号Ｓ３がアサートされ、論理比較器ＤＣの比較動作が停止するとともに、／ＣＥ信号、／ＷＥ信号がマスクされる。さらにフラッシュカウンタ２４のクリアを禁止する。
【００６０】
また、論理ゲート２２の出力ｍａｔｃｈ＿ｔｏｔａｌがアサートされると、つまりすべてのＤＵＴにおいてマッチ検出がパスすると、次のアドレス試験に備えて、Ｆｌａｓｈ＿Ｈｏｌｄ＿ｃｌｅａｒ信号およびＦＣＣＬＥＡＲ信号をアサートし、フラッシュホールドレジスタ１４およびフラッシュカウンタ２４をクリアする。
【００６１】
このモードでは、一連の動作によって、許容される最大リトライ回数以内でプログラミングが終了しなかったＤＵＴをリジェクトできる。このリジェクトは、そのＤＵＴに対応するすべての論理比較器ＤＣに対する禁止信号Ｓ２をアサートすることで行われる。試験終了後に、フラッシュカウンタ２４の値を読み出せば、いずれのＤＵＴにおいてハードフェイルが発生したかを判別できる。
【００６２】
４．第４フラッシュホールドモード
第４フラッシュモードでは、第２フラッシュホールドモードに加えて以下の機能を実現できる。
このモードでは、フラッシュカウンタ２４によって、対応するＤＵＴに対する消去の回数をカウントする。そして上限値ＬＩＭＩＴで設定される最大許容回数までに、パス判定がなされないとき、ハードフェイル信号Ｓ３がアサートされる。これにより、論理比較器ＤＣによる比較が停止（常時パス判定）するため、それ以降、フラッシュカウンタ２４のカウントアップは停止し、その値を維持し続ける。また、ハードフェイル信号Ｓ３がアサートされると、フラッシュカウンタ２４のクリアが禁止される。これにより、不良ＤＵＴをリジェクトし、全体の試験時間が不良ＤＵＴによって長引くことを防止できる。
【００６３】
以上が試験装置２の動作である。
このように試験装置２によれば、パターンプログラムによってＭａｔｃｈ＿Ｍｏｄｅ＿Ｓｅｌ［０：３］の値を変更することで、サイクル単位でフラッシュホールドレジスタ１４、マッチホールドセレクタ１６を制御できる。つまりマッチ検出にもとづく条件分岐と、論理比較にもとづく条件分岐を柔軟にプログラムできると。
さらには、マッチ検出にもとづくリトライ回数のカウントと、論理比較にもとづくリトライ回数のカウントを、パターンプログラムによって柔軟に設定できる。
【００６４】
もし、フラッシュホールドレジスタ１４およびマッチホールドセレクタ１６が、プログラム制御（動的制御）できず、レジスタ制御（静的制御）のみ可能であるとする。この場合、ひとつのパターンプログラムの途中でフラッシュホールドレジスタ１４やマッチホールドセレクタ１６の切りかえができないため、フラッシュホールドモードをプログラムの途中で変更できず、したがって複数のパターンプログラムに分割する必要がある。これに対して、実施の形態に係る試験装置２によれば、単一のプログラムで、さまざまなモードを切りかえることが可能となる。
【００６５】
５．  その他
Ｍａｔｃｈ＿Ｍｏｄｅ＿Ｓｅｌ［０］＝１
Ｍａｔｃｈ＿Ｍｏｄｅ＿Ｓｅｌ［１］＝０
とすれば、マッチ制御回路ＭＣから出力されるｍａｔｃｈ信号がマッチホールドセレクタ１６によって選択される。つまりｍａｔｃｈ信号にもとづく条件分岐を行うことができる。
【００６６】
以上、本発明について、実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以下、こうした変形例について説明する。
【００６７】
実施の形態では、「アサート」をハイレベルに、「ネゲート」をローレベルに割り当てた論理系を例に説明したが、それらを反転してもよいことは当業者には理解できる。この場合、インバータや反転入力を有する論理ゲートを適宜用いればよい。
【００６８】
実施の形態では試験装置２がフラッシュメモリ用のテスタである場合を説明したが、本発明はそれに限定されない。試験装置２は、その他のメモリを試験するテスタであってもよいし、ＳＯＣなどを試験するテスタであってもよい。また、マッチ検出処理により判定すべき状態も、上述したものに限定されずに任意に設定することができ、それらも本発明の範囲に含まれる。
【００６９】
実施の形態にもとづき本発明を説明したが、実施の形態は、本発明の原理、応用を示しているにすぎず、実施の形態には、請求の範囲に規定された本発明の思想を逸脱しない範囲において、多くの変形例や配置の変更が可能である。
【符号の説明】
【００７０】
１…ＤＵＴ、ＣＮＴ１…第１制御パターン信号、２…試験装置、ＣＮＴ２…第２制御パターン信号、ＭＣ…マッチ制御回路、ＤＣ…論理比較器、１０…フェイルスタックレジスタ、１２…論理ゲート、１４…フラッシュホールドレジスタ、１６…マッチホールドセレクタ、２０，２２…論理ゲート、２３…ホールドマトリクス回路、２４…フラッシュカウンタ、２５…リミットレジスタ、２６…判定回路、２７…ＯＲゲート、２８…ＮＡＮＤゲート、３０…レジスタ、ＰＧ…パターン発生器、３２…第１ＡＮＤゲート、３４…第２ＡＮＤゲート、３６…第１ＯＲゲート、３７…第３セレクタ、３８…第１セレクタ、４０…第２セレクタ、４２…第３ＡＮＤゲート、４４…第４ＡＮＤゲート、４６…第２ＯＲゲート、４７…第６セレクタ、４８…第４セレクタ、５０…第５セレクタ。
【図１】
2012104204.tif 000003
【図２】
2012104204.tif 000004
【図３】
2012104204.tif 000005
【図４】
2012104204.tif 000006
【図５】
2012104204.tif 000007