(57)【要約】【課題】回路規模を大きくすることなく多種類のテストパターンを発生させる。【解決手段】テスト開始前までに、ＢＩＳＴ制御回路３１０を介して、パターン発生命令記憶回路１１０にパターン発生命令が、パターン編集命令記憶回路１２０にパターン編集命令が、それぞれロードされる。ＢＩＳＴ制御回路３１０に従ってパターン編集・パターン発生が開始され、編集命令処理回路１３０は、パターン編集命令記憶回路１２０に記憶されたパターン編集命令を読出し、パターン発生命令記憶回路１１０に記憶されたパターン発生命令の編集を行なう。ここで、パターン編集命令にパターン実行を検出した場合、制御は編集命令処理回路１３０から命令処理回路１４０に移り、命令処理回路１４０は、パターン発生命令記憶回路１１０に記憶されている事前に編集命令処理回路１３０によって更新されたパターン発生命令を読出し、テストパターンを順次発生させ、セレクタ３２０を介してメモリ２００へ出力するとともに、テストパターンに相当する出力期待値を判定回路３３０に出力する。【選択図】　　　　図１
2004030783.tif 000002
【特許請求の範囲】
【請求項１】
半導体装置のメモリ領域のテストに用いるテストパターンを発生させるパターン発生回路において、
所定のテストパターンを発生させるための入力の組み合わせや動作シーケンスを含むパターン発生命令を記憶するパターン発生命令記憶回路と、
前記パターン発生命令を編集して新たなパターン発生命令を作成するためのパターン編集命令を記憶するパターン編集命令記憶回路と、
前記パターン編集命令に従って前記パターン発生命令記憶手段に記憶された前記パターン発生命令を編集し、編集が施された前記新たなパターン発生命令を前記パターン発生命令記憶回路に格納する命令編集処理回路と、
前記パターン発生命令記憶回路に記憶された前記パターン発生命令の命令コードを解析して前記所定のテストパターンを発生させる命令処理回路と、
を具備することを特徴とするパターン発生回路。
【請求項２】
前記パターン編集命令記憶回路に記憶される前記パターン編集命令は、前記パターン発生命令記憶手段に記憶された前記パターン発生命令の編集処理命令とともに、前記命令処理回路によるパターン発生処理の開始を制御するパターン実行命令を含むパターン発生処理を制御する制御命令を有し、
前記命令編集処理回路は、前記パターン実行命令に従って前記命令処理回路による前記所定のテストパターンの発生処理を制御することを特徴とする請求項１記載のパターン発生回路。
【請求項３】
前記パターン発生命令記憶回路及び前記パターン編集命令記憶回路は、レジスタにより構成されることを特徴とする請求項１記載のパターン発生回路。
【請求項４】
メモリ領域を有し、テストパターン発生回路により発生されるテストパターンを用いて前記メモリ領域の自己テストを実施する半導体装置において、
前記テストパターン発生回路が、所定のテストパターンを発生させるための入力の組み合わせや動作シーケンスを含むパターン発生命令を記憶するパターン発生命令記憶回路と、前記パターン発生命令を編集して新たなパターン発生命令を作成するためのパターン編集命令を記憶するパターン編集命令記憶回路と、前記パターン編集命令に従って前記パターン発生命令記憶回路に記憶された前記パターン発生命令を編集し、編集が施された前記新たなパターン発生命令を前記パターン発生命令記憶回路に格納する命令編集処理回路と、前記パターン発生命令記憶回路に記憶された前記パターン発生命令の命令コードを解析して前記所定のテストパターンを発生させる命令処理回路と、
を具備することを特徴とする半導体装置。
【請求項５】
テストパターンを用いて半導体装置のメモリ領域の試験を行なう半導体装置の試験方法において、
所定のテストパターンを発生させるための入力の組み合わせや動作シーケンスを含むパターン発生命令及び前記パターン発生命令を編集して新たなパターン発生命令を作成するためのパターン編集命令を所定の記憶回路にロードするステップと、
前記所定の記憶回路から前記パターン編集命令を読出し、前記パターン編集命令に従って前記パターン発生命令に編集を施し、編集された新たなパターン発生命令を前記所定の記憶回路に格納するステップと、
前記パターン編集命令が前記パターン発生命令の実行命令であった場合、前記所定の記憶回路から前記パターン発生命令を読出し、前記パターン発生命令に従って前記所定のテストパターンを発生させるステップと、
発生された前記所定のテストパターンを用いて半導体装置のメモリ領域の良否を判定するステップと、
を有し、前記メモリ領域の良否の判定終了後に前記パターン編集命令が終了したかどうかを判定し、終了していない場合は前記パターン編集命令に従って前記パターン発生命令に編集を施すステップからの処理を繰り返すことを特徴とする半導体の試験方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はパターン発生回路及び半導体装置並びに半導体装置の試験方法に関し、特に半導体装置のメモリ領域のテストに用いるテストパターンを発生させるパターン発生回路及びこのようなパターン発生回路を搭載した半導体装置並びに半導体装置の試験方法に関する。
【０００２】
【従来の技術】
ＤＲＡＭ（Ｄｙｎａｍｉｃ　Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）や、ＳＲＡＭ（Ｓｔａｔｉｃ　Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）等の大規模メモリ領域を有する半導体メモリ及びこのような半導体メモリを内蔵した半導体装置では、メモリ領域の大容量化と動作クロックの高速化が進んできており、従来の外部テスタを用いた試験では対応が難しくなってきている。このため、半導体メモリに組込み自己テスト（Ｂｕｉｌｔ　Ｉｎ　Ｓｅｌｆ　Ｔｅｓｔ；以下、ＢＩＳＴとする）回路を内蔵し、自己診断させることで、テスト容易化や高速テストを可能とする手法が普及してきている。
【０００３】
このようなＢＩＳＴ回路は、大きく分けて２つのタイプに分類することができる。１つは、テストに必要な動作パターンを実回路として組み込むタイプであり、もう１つは、動作パターンの発生をプログラムにより行なうプログラマブルタイプである。
【０００４】
第１の動作パターンを実回路として組み込んだタイプのＢＩＳＴ回路について説明する。図２３は、第１のタイプのＢＩＳＴ回路を構成するパターン発生回路の構成図である。このようなタイプのパターン発生回路４００は、シーケンス動作をさせるためのカウンタ４１０とそのカウント値をデコードする動作デコーダ４２０とから構成されており、動作モード切換信号とパターン発生の活性化信号によって制御される。第１のタイプのパターン発生回路４００では、テスト時にカウンタ４１０が活性化され、これに応じて動作デコーダ４２０は予め組み込まれたテストパターンを順次出力する。生成されたテストパターンは、テスト時、セレクタ３２０により選択されてメモリ２００に出力される。
【０００５】
次に、第２のプログラマブルタイプのＢＩＳＴ回路について説明する。図２４は、第２のタイプのＢＩＳＴ回路を構成するパターン発生回路の構成図である。このようなタイプのパターン発生回路５００は、パターン発生命令を記憶するパターン発生命令記憶回路５１０とパターン発生命令に従ってパターンを発生させる命令処理回路５２０とから構成され、パターンプログラムのロード信号と命令処理回路５２０の活性化信号により制御される。第２のタイプのパターン発生回路５００では、予め所定のテストパターンを発生させるための入力の組み合わせや動作シーケンス等のパターン発生命令をプログラムとしてパターン発生命令記憶回路５１０にロードし、格納しておく。テスト時に命令処理回路５２０が活性化され、パターン発生命令記憶回路５１０に記憶されたプログラムコードを解析し、テストパターンを発生させる。生成されたテストパターンは、テスト時、セレクタ３２０により選択されてメモリ２００に出力される。
【０００６】
【発明が解決しようとする課題】
しかし、従来のＢＩＳＴ回路では、多種類のテストパターンを用意してテストの品質を向上させようとした場合、回路規模が大きくなってしまうという問題がある。
【０００７】
第１のタイプのパターン発生回路４００を備えたＢＩＳＴ回路では、必要なテストパターンを絞れば回路規模が小さく済むが、テストパターンを多くすれば回路規模がこれに応じて大きくなるという問題がある。また、テストパターンは、回路に組み込まれているため、テストパターンを変更することができず、フレキシブルなテストパターンを用いた高品質なテストが難しいという問題もある。さらに、搭載するテストパターンは、設計段階で明白でなければならず、かつ、生産後にテストパターンの追加が不可能であるという問題もある。
【０００８】
一方、第２のタイプのパターン発生回路５００を備えたＢＩＳＴ回路では、必要なテストパターンを後からプログラミングできるため、テストパターンの絞込みが不必要であり、多種のテストパターンを用いたテストが可能である。しかしながら、多種のテストパターンを実行させる場合には、たくさんの命令でプログラムが長くなってしまい、確保しなければならないプログラム記憶領域が大きくなってしまうという問題がある。仮に、１つのライトやリードの動作パターンをプログラムするのに、６４ビット×１６命令とすると、テストパターンとしては少なくともライト動作とリード動作の１対が必要であり、６４×１６×２ビットの記憶領域が必要となる。さらに、このようなテストパターンを８本用意するとすれば、単純計算で６４×１６×２×８＝１６，３８４ビットの記憶領域を確保しておく必要がある。このように、多種類のテストパターンを用意してテストの品質を向上させようとした場合、大きな記憶領域を確保しなければならず、結果として回路規模が大きくなってしまうという問題がある。
【０００９】
本発明はこのような点に鑑みてなされたものであり、回路規模を大きくすることなく多種類のテストパターンを発生させ、高品質なテストを行なうことが可能なパターン発生回路及び半導体装置並びに半導体装置の試験方法を提供することを目的とする。
【００１０】
【課題を解決するための手段】
本発明では上記課題を解決するために、半導体装置のメモリ領域のテストに用いるテストパターンを発生させるパターン発生回路において、所定のテストパターンを発生させるための入力の組み合わせや動作シーケンスを含むパターン発生命令を記憶するパターン発生命令記憶回路と、前記パターン発生命令を編集して新たなパターン発生命令を作成するためのパターン編集命令を記憶するパターン編集命令記憶回路と、前記パターン編集命令に従って前記パターン発生命令記憶手段に記憶された前記パターン発生命令を編集し、編集が施された前記新たなパターン発生命令を前記パターン発生命令記憶回路に格納する命令編集処理回路と、前記パターン発生命令記憶回路に記憶された前記パターン発生命令の命令コードを解析して前記所定のテストパターンを発生させる命令処理回路と、を具備することを特徴とするパターン発生回路、が提供される。
【００１１】
このような構成のパターン発生回路では、所定のテストパターンを発生させるための入力の組み合わせや動作シーケンスを含むパターン発生命令が必要に応じてロードされ、パターン発生命令記憶回路に記憶されている。同様に、パターン編集命令記憶回路には、パターン発生命令を編集して新たなパターン発生命令を作成するためのパターン編集命令が記憶されている。テスト時、命令編集処理回路は、パターン編集命令記憶回路に記憶されたパターン編集命令を読出し、これに従ってパターン発生命令記憶回路に記憶されたパターン発生命令に編集を施し、パターン発生命令を更新する。命令処理回路は、パターン発生命令記憶回路に記憶されたパターン発生命令の命令コードを解析して、パターン発生命令に従った所定のテストパターンを発生させる。
【００１２】
また、上記課題を解決するために、メモリ領域を有し、テストパターン発生回路により発生されるテストパターンを用いて前記メモリ領域の自己テストを実施する半導体装置において、前記テストパターン発生回路が、所定のテストパターンを発生させるための入力の組み合わせや動作シーケンスを含むパターン発生命令を記憶するパターン発生命令記憶回路と、前記パターン発生命令を編集して新たなパターン発生命令を作成するためのパターン編集命令を記憶するパターン編集命令記憶回路と、前記パターン編集命令に従って前記パターン発生命令記憶手段に記憶された前記パターン発生命令を編集し、編集が施された前記新たなパターン発生命令を前記パターン発生命令記憶回路に格納する命令編集処理回路と、前記パターン発生命令記憶回路に記憶された前記パターン発生命令の命令コードを解析して前記所定のテストパターンを発生させる命令処理回路と、を具備することを特徴とする半導体装置、が提供される。
【００１３】
このような構成の半導体装置では、メモリ領域の自己テストに用いるテストパターンを発生させるパターン発生回路は、パターン発生命令記憶回路にテストパターンを発生させるパターン発生命令が、パターン編集命令記憶回路にパターン発生命令を編集するためのパターン編集命令が、予め記憶されている。自己テストが開始されると、命令編集処理回路は、パターン編集命令記憶回路のパターン編集命令に従って、パターン発生命令記憶回路のパターン発生命令を編集し、違ったテストパターンを発生させるように更新する。命令処理回路は、パターン発生命令回路のパターン発生命令に従って、所定のテストパターンを発生させる。
【００１４】
さらに、上記課題を解決するために、テストパターンを用いて半導体装置のメモリ領域の試験を行なう半導体装置の試験方法において、所定のテストパターンを発生させるための入力の組み合わせや動作シーケンスを含むパターン発生命令及び前記パターン発生命令を編集して新たなパターン発生命令を作成するためのパターン編集命令を所定の記憶回路にロードするステップと、前記所定の記憶回路から前記パターン編集命令を読出し、前記パターン編集命令に従って前記パターン発生命令に編集を施し、編集された新たなパターン発生命令を前記所定の記憶回路に格納するステップと、前記パターン編集命令が前記パターン発生命令の実行命令であった場合、前記所定の記憶回路から前記パターン発生命令を読出し、前記パターン発生命令に従って前記所定のテストパターンを発生させるステップと、発生された前記所定のテストパターンを用いて半導体装置のメモリ領域の良否を判定するステップと、を有し、前記メモリ領域の良否の判定終了後に前記パターン編集命令が終了したかどうかを判定し、終了していない場合は前記パターン編集命令に従って前記パターン発生命令に編集を施すステップからの処理を繰り返すことを特徴とする半導体の試験方法、が提供される。
【００１５】
このような手順の半導体装置の試験方法では、まず、所定のテストパターンを発生させるパターン発生命令と、パターン発生命令を編集するパターン編集命令を所定の記憶回路にロードしておく。所定の記憶回路からパターン編集命令を読出し、パターン編集命令に従ってパターン発生命令を編集し、所定の記憶回路のパターン発生命令を新たなパターン発生命令に更新する。続いて、パターン発生命令の実行命令があった場合、所定の記憶回路からパターン発生命令を読出し、このパターン発生命令に従って所定のテストパターンを発生させる。そして、発生された所定のテストパターンを用いて半導体装置のメモリ領域の良否の判定を行なう。続くパターン編集命令がある場合、このパターン編集命令に従ってパターン発生命令の編集からの処理を繰り返す。
【００１６】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。図１は、本発明の一実施の形態であるパターン発生回路を含む半導体装置の構成図である。
【００１７】
本発明に係る半導体装置は、メモリ２００と、メモリ２００の自己テストを行なうテストパターンを発生させるパターン発生回路１００、テスト処理を制御するＢＩＳＴ制御回路３１０、メモリ２００への出力信号を選択するセレクタ３２０、及びメモリ２００の良否の判定を行なう判定回路３３０から構成されるメモリＢＩＳＴ回路と、を具備し、半導体試験装置と接続されてメモリテストが実施される。
【００１８】
パターン発生回路１００は、ＢＩＳＴ制御回路３１０に従ってテストパターンを発生させるためのアルゴリズムに基づいて所定のテストパターンを発生させ、セレクタ３２０を介してメモリ２００に出力する。パターン発生回路１００は、テストパターンを発生させるためのパターン発生命令を記憶するパターン発生命令記憶回路１１０、パターン発生命令を編集するためのパターン編集命令を記憶するパターン編集命令記憶回路１２０、パターン発生命令の編集を行なう編集命令処理回路１３０及びパターン発生命令を解析して所定のテストパターンを発生させる命令処理回路１４０から構成される。
【００１９】
パターン発生命令記憶回路１１０には、テストパターンを発生させるための入力の組み合わせや動作シーケンスを含むパターン発生命令のアルゴリズムを表現したプログラムデータが、ＢＩＳＴ制御回路３１０を介してロードされ、記憶されている。パターン発生命令には、読出しや書込み等の動作シーケンス、入出力するアドレスを順次発生させるアドレス演算や、入出力するデータを順次発生させるデータ演算等がある。
【００２０】
パターン編集命令記憶回路１２０には、テストパターン発生命令を編集して新たなパターン発生命令を作成するためのパターン編集命令のアルゴリズムを表現したプログラムデータが、ＢＩＳＴ制御回路３１０を介してロードされ、記憶されている。パターン編集命令には、パターン発生命令を編集する編集処理命令と、編集及びパターン発生処理を制御する制御命令とがある。編集処理命令には、パターン発生命令の書換だけでなく、行単位（パターン発生単位）の削除やコピー命令も含まれる。また、制御命令には、編集終了後に制御を命令処理回路１４０に移してパターン発生処理を実行させる等の命令が含まれる。
【００２１】
編集命令処理回路１３０は、ＢＩＳＴ制御回路３１０に従って、テストが開始されると、パターン編集命令記憶回路１２０に記憶されたパターン編集命令を読出し、読出したパターン編集命令の命令コードを解析し、パターン発生命令記憶回路１１０のパターン発生命令を編集する。パターン編集命令の編集処理命令に従った編集処理では、パターン発生命令の書換の他、行単位あるいはパターン発生単位の削除やコピー等も行なわれる。また、パターン編集命令の制御命令に従って、パターン発生処理の開始やパターンリセット等の処理を制御する。
【００２２】
命令処理回路１４０は、ＢＩＳＴ制御回路３１０に従って、テストが開始され、かつ編集命令処理回路１３０から制御が渡されると、パターン発生命令記憶回路１１０に記憶されたパターン発生命令を読出し、読出したパターン発生命令の命令コードを解析してテストパターンを発生させ、セレクタ３２０に出力する。同時に、テストパターンに相当する出力期待値を判定回路３３０へ出力する。パターン発生命令が終了すると、制御は編集命令処理回路１３０へ移される。
【００２３】
メモリ２００は、メモリセルがアレイ構造をとっており、個々のメモリセルはＸアドレス及びＹアドレスにより管理される。メモリ２００は、セレクタ３２０を介して入力する入力データを記憶する。また、メモリ２００から読出されたデータは、通常のシステム動作時はデータバスを介して出力データとして出力され、ＢＩＳＴ動作時は判定回路３３０へと取込まれる。
【００２４】
ＢＩＳＴ制御回路３１０は、テスタ等の外部試験装置（図示せず）からの指示に従って、テストモードに設定されると、ＢＩＳＴクロックＣＬＫに同期して動作し、パターン発生回路１００を含むＢＩＳＴ回路全体の制御を行なう。パターン発生命令記憶回路１１０及びパターン編集命令記憶回路１２０への命令コードのロードは、ロード制御信号ＸＬＤに従って、データ信号ＴＤＩとして取込まれるデータを各記憶回路へ出力する。
【００２５】
セレクタ３２０は、ＢＩＳＴ制御回路３１０から入力するＢＩＳＴテストモード信号に応じて、通常の場合にはシステムからの通常入力を選択し、ＢＩＳＴテストモードの場合にはパターン発生回路１００から入力するテストパターンを選択し、メモリ２００へ出力する。
【００２６】
判定回路３３０は、メモリ２００からのメモリ出力と、パターン発生回路１００の命令処理回路１４０の生成する出力期待値及び判定指令を入力し、判定指令がされた場合に、メモリ出力と出力期待値とを比較してメモリ２００の良（Ｐａｓｓ）／否（Ｆａｉｌ）を判定する。判定結果は、ＢＩＳＴ出力として、テスタ等の外部試験装置に出力される。
【００２７】
このような構成のＢＩＳＴ回路を具備する半導体装置におけるメモリＢＩＳＴテスト動作について説明する。
テスト開始前までに、ＢＩＳＴ制御回路３１０を介して、パターン発生命令記憶回路１１０にパターン発生命令が、パターン編集命令記憶回路１２０にパターン編集命令が、それぞれロードされる。すなわち、ＢＩＳＴ制御回路３１０は、ＸＬＤの信号レベルが“Ｌ”のときにＴＤＩより入力するデータを取込み、各記憶回路へ出力することにより、それぞれの命令を記憶回路に取込む。
【００２８】
ロードが終了し、ＸＬＤの信号レベルが“Ｈ”になると、ＢＩＳＴ制御回路３１０に従ってパターン編集・パターン発生が開始される。編集命令処理回路１３０は、パターン編集命令記憶回路１２０に記憶されたパターン編集命令を読出し、その命令コードを解析して、パターン発生命令記憶回路１１０に記憶されたパターン発生命令の編集を行なう。編集処理では、パターン発生命令の書換ばかりでなく、行単位での削除やコピー等が実行され、新たに作成されたパターン発生命令がパターン発生命令記憶回路１１０に記憶される。パターン編集命令にパターン実行を検出した場合、制御は編集命令処理回路１３０から命令処理回路１４０に移る。
【００２９】
命令処理回路１４０は、パターン発生命令記憶回路１１０に記憶されている更新されたパターン発生命令を読出し、その命令コードを解析して、テストパターンを順次発生させ、セレクタ３２０を介してメモリ２００へ出力する。同時に、テストパターンに相当する出力期待値を判定回路３３０に出力する。判定回路３３０では、メモリ出力データを取込み、取込まれたメモリ出力データと対応する出力期待値とを比較し、判定結果を出力する。この判定結果がＢＩＳＴ出力として出力され、メモリ２００の良否が判断される。
【００３０】
命令処理回路１４０は、パターン発生命令の終了命令を読出すと、テストパターンの発生処理を終了し、制御を編集命令処理回路１３０へ移す。編集命令処理回路１３０は、パターン実行命令に続くパターン編集命令を読出し、再びパターン編集処理を行なう。以下、パターン編集命令に従って、パターン発生命令の編集処理と、編集されたパターン発生命令に基づくパターン発生処理とを順次繰り返す。
【００３１】
このように本発明に係る半導体装置のメモリテストでは、パターン発生命令の編集と、編集されたパターン発生命令に基づくテストパターンの発生とを交互に繰り返す。これにより、パターン発生命令の一部分を編集することで別の違った動作パターンとして使うことが可能となる。この結果、多種類のテストパターンを容易に作成することができるばかりでなく、パターン発生に必要な命令の記憶領域の回路規模を削減できる。
【００３２】
例えば、単純にパターンを持つ場合、６４ビット×１６命令のライト動作とリード動作が２つで、６４×１６×２＝２０４８ビットのメモリ領域が必要となる。これに対し、本発明に係る半導体装置の場合、元パターンが６４ビット×１６命令とすると、パターン編集命令の書換命令で４×４＝１６ビットの計６４×１６＋１６＝１０４０ビットの記憶領域で同様の処理を実現することができる。この場合、半分程度の記憶領域で同様の処理が実現されることになる。
【００３３】
パターン発生命令記憶回路１１０とパターン編集命令記憶回路１２０の記憶領域の配分は、そのシステムに応じて設定されるが、単純にパターンを持つ場合に比べて少ない記憶領域で多種のパターンを発生することができる。
【００３４】
次に、本発明に係るパターン発生回路の具体的な構成について説明する。図２は、本発明の一実施の形態であるパターン発生回路のブロック図である。
本発明に係るパターン発生回路１００は、パターン発生命令記憶回路１１０を構成するパターンレジスタ１１１、書込み回路１１２及び読出し回路１１３と、パターン編集命令記憶回路１２０を構成するパターン編集命令レジスタ１２１、書込み回路１２２及び読出し回路１２３と、編集命令処理回路１３０を構成するシーケンサ１３１及び編集命令デコーダ１３２と、命令処理回路１４０を構成するシーケンサ１４１及び信号生成１４２と、ＢＩＳＴ制御回路３１０を構成するロード制御３１１及びテスト環境レジスタ３１２と、から成る。このように記憶回路をレジスタで構成することにより、高速処理が可能になる。
【００３５】
パターンレジスタ１１１は、パターン発生命令が記憶されたレジスタで、ここでは５６ビットから成るパターン発生命令を１６命令記憶することが可能な記憶領域が確保されている。書込み回路１１２は、ロード制御３１１あるいは編集命令デコーダ１３２より入力するレジスタデータをパターンレジスタ１１１へ書込む制御を行なう。読出し回路１１３は、パターンレジスタ１１１からデータを読出し、信号生成１４２あるいは編集命令デコーダ１３２へ出力する。
【００３６】
パターン編集命令レジスタ１２１は、パターン編集命令が記憶されたレジスタで、ここでは４ビットで構成されるパターン編集命令を１２８命令記憶することが可能な記憶領域が確保されている。書込み回路１２２は、ロード制御３１１より入力するレジスタデータをパターン編集命令レジスタ１２１へ書込む制御を行なう。読出し回路１２３は、パターン編集命令レジスタ１２１からデータを読出し、編集命令デコーダ１３２へ出力する。
【００３７】
ここで、パターン編集命令について説明する。図３は、本発明の一実施の形態のパターン発生回路におけるパターン編集命令の一例である。パターン編集命令は、１セットが４ビットで構成されており、０セット目は、編集処理の実行命令を表している。実行命令には、終了、パターン実行、サブルーチンコール、サブルーチンリターン、パターンリセット等のパターン編集の制御命令と、行削除やコピー、書換等のパターン編集の編集処理命令が用意されている。１、２、３セット目は、実行命令の対象を指示するポインタやデータ等が設定されている。例えば、「セル書換行列指定」の場合、０セット目にはセル書換行列指定の命令が、１セット目には書換の対象となるパターン発生命令のパターン行が、２セット目には列が、３セット目には書換データが設定されている。
【００３８】
図２に戻って説明する。
編集命令デコーダ１３２は、シーケンサ１３１に従って順次読出されたパターン編集命令レジスタ１２１のパターン編集命令をデコードし、解析された命令に応じてパターンレジスタ１１１に記憶されたパターン発生命令の編集処理を行ない、新しく作成されたパターン発生命令を書込み回路１１２よりパターンレジスタ１１１に書込む。
【００３９】
信号生成１４２は、シーケンサ１４１に従って順次読出されたパターンレジスタ１１１のパターン発生命令の命令コードを解析し、命令に応じたパターン信号を発生させ、メモリへ供給する。
【００４０】
ロード制御３１１は、外部から入力するパターン発生命令及びパターン編集命令をそれぞれのレジスタに記憶する制御処理を行なう。このとき、テスト環境等の情報をテスト環境レジスタ３１２に記憶する。
【００４１】
このような構成のパターン発生回路の動作について、タイミングチャートを用いて説明する。
まず、初期化動作について説明する。図４は、本発明のパターン発生回路における初期化動作のタイミングチャートである。リセット信号ＸＲＳＴの状態が“Ｈ”から“Ｌ”になり、リセット動作が行なわれる。リセットにより、パターン発生命令を記憶するパターンレジスタ１１１及びパターン編集命令を記憶するパターン編集命令レジスタ１２１の各レジスタは初期値に初期化される。メモリに供給される発生信号は、初期値になる。
【００４２】
続いて、ロード制御３１１によるパターンレジスタ１１１及びパターン編集命令レジスタ１２１への命令データ取込み処理について説明する。図５は、本発明のパターン発生回路におけるレジスタデータの取込み動作のタイミングチャートである。ロード制御３１１は、ロード制御信号ＸＬＤが“Ｌ”に設定されると、データ信号ＴＤＩから入力するレジスタデータの取込みを開始する。ＸＬＤが“Ｌ”になり、１つ目のレジスタデータの取込みが開始される。ＴＤＩから入力するレジスタデータは、アドレス（Ａ［ｎ］）とそのデータ（Ｄ［ｎ］）として取込まれ、指定されたアドレスのレジスタ（パターンレジスタ１１１及びパターン編集命令レジスタ１２１）にデータが書込まれる。順次、入力するレジスタデータが処理され、アドレスとして取込み終了を表すデータ（１、１、１、１、１）が入力されると、取込み処理を終了し、これ以降の入力アドレス及びデータを受け付けない。
【００４３】
パターンレジスタ１１１及びパターン編集命令レジスタ１２１への書込み終了後、テストが開始される。図６は、本発明のパターン発生回路におけるテスト開始動作のタイミングチャートである。ロード制御信号ＸＬＤが“Ｈ”になり、テストが開始される。まず、編集処理が実行され、編集命令デコーダ１３２は、シーケンサ１３１が読出すパターン編集命令レジスタ１２１のパターン編集命令の命令コードを解析し、編集処理を行なう。編集処理に伴って、パターンレジスタ１１１のパターン発生命令が更新される。編集命令デコーダ１３２が、「パターン実行」のパターン編集命令コードを読込むと、制御が信号生成１４２に移り、パターン発生処理が実行される。この時点で実行されるパターン発生命令は、前の編集処理で更新されたものである。また、編集処理が開始され、最初のパターン編集命令が「パターン実行」であった場合、パターンレジスタ１１１のパターン発生命令に従ってパターン発生処理が行なわれる。パターンレジスタ１１１にパターン発生命令データが書込まれていれば書込まれたパターン発生命令で、書込まれていなければ初期値のパターン発生命令で実行される。シーケンサ１４１と信号生成１４２は制御を開始し、シーケンサ１４１に従って読出されるパターンレジスタ１１１のパターン発生命令に応じたテストパターンが生成され、メモリへ供給される。信号生成１４２によるパターン発生処理が終了すると、制御は再び編集命令デコーダ１３２に移り、編集命令デコーダ１３２は次のパターン編集命令を読出して編集処理を行なう。このように、パターン発生命令の編集と、編集されたパターン発生命令によるパターン発生という手順を繰り返すことにより、異なるテストパターンを次々に発生させることが可能となる。
【００４４】
続いて、終了時の動作について説明する。図７は、本発明のパターン発生回路におけるテスト終了動作のタイミングチャートである。信号生成１４２によりパターンレジスタ１１１のパターン発生命令に応じたテストパターンが生成され、メモリへ供給される。このパターン発生処理が終了し、制御が再び編集命令デコーダ１３２に移る。編集命令デコーダ１３２が、次のパターン編集命令レジスタ１２１から編集終了を読出した場合、編集処理を終了し、必要に応じてレジスタをリセットして初期値に戻す。
【００４５】
次に、本発明に係る半導体装置の試験方法について説明する。図８は、本発明の一実施の形態である半導体装置の試験方法のフローチャートである。
パターンレジスタ１１１にパターン発生命令、及びパターン編集命令レジスタ１２１にパターン編集命令がロードされた後、処理が開始される（Ｓ０１）。
【００４６】
パターン編集命令レジスタ１２１の編集命令がポインタに従って読出され、編集命令デコーダ１３２により命令の解析が行なわれる（Ｓ０２）。ここで、編集命令が「編集終了」であるかどうかが判定され（Ｓ０３）、「編集終了」であれば処理を終了する（Ｓ０４）。「編集終了」でなければ、Ｓ０５へ処理を進める。「編集終了」でない場合、パターン編集命令が「サブルーチン終了」であるかどうかが判定され（Ｓ０５）、終了であればポインタを「サブルーチン終了」命令処理時に設定された編集命令の戻り先に戻し（Ｓ０６）、Ｓ０２の編集命令デコードからの処理を行なう。終了でなければ、パターン編集命令が「サブルーチン実行（コール）」であるかどうかが判定され（Ｓ０７）、実行であればポインタを「サブルーチン実行（コール）」命令に指定された指定先に移し（Ｓ０８）、Ｓ０２の編集命令デコードからの処理を行なう。また、「サブルーチン実行（コール）」でなければ、「パターン実行」命令であるかどうかが判定される（Ｓ０９）。「パターン実行」命令であれば、制御を信号生成１４２に移し、パターンレジスタ１１１のパターン発生命令に基づくパターン発生処理を実行し（Ｓ１０）、Ｓ１２へ処理を進める。「パターン実行」命令でなければ、パターン編集命令は、編集処理命令であるので、編集処理命令に従ってセルに設定されたパターン発生命令の書換、削除及びコピー等の編集処理を行ない（Ｓ１１）、Ｓ１２へ処理を進める。Ｓ１２では、読出しを行なうパターン編集命令のポインタを＋１し、Ｓ０２の編集命令デコードからの処理を行なう。
【００４７】
このように、パターン編集命令を順次読出し、パターン編集命令が制御命令であれば、これに応じてサブルーチン処理、パターン実行処理、編集命令終了等の制御処理を行なう。また、パターン編集命令が制御命令でなく編集処理命令である場合、これに応じてパターン発生命令の編集を行なう。この処理を繰り返し行なうことにより、多種類のテストパターンを容易に作り出し、高品質なメモリテストを実行することが可能となる。
【００４８】
次に、上記の説明の半導体試験装置によるメモリテストの一例を具体例で説明する。図９は、半導体装置におけるメモリテストの実施例である。
図に示したメモリテストでは、テストが開始され（Ｓ１０１）、最初にメモリの全領域に０を書込む「全ライト０」のテストパターンが発生し（Ｓ１０２）、続いてメモリの全領域から０を読出して１を書込む「全リード０ライト１」のテストパターンが実行される（Ｓ１０３）。次に、メモリの全領域から０を読出す「全リード１」のテストパターンが実行され（Ｓ１０４）、テスト処理を終了する（Ｓ１０５）。
【００４９】
このような手順のメモリテストを本発明の半導体装置で実現する場合のパターン発生命令及びパターン編集命令について説明する。図１０は、実施例のメモリテストを実現するパターン編集命令の一例である。
【００５０】
テスト開始前に、図１０に示したパターン編集命令をパターン編集命令レジスタに、全メモリ領域に０を書込む「全ライト０」のテストパターンを発生させるパターン発生命令をパターンレジスタにロードしておく。
【００５１】
テストが開始され、第０行目の「パターン実行」（１０２１）が実行される。すなわち、初期値としてパターンレジスタに記憶されている「全ライト０」（図９のステップＳ１０２）が実行される。
【００５２】
次に、制御が編集命令デコーダに戻り、第１行目からの編集処理（１０３１）が順次実行される。ここでは、パターンレジスタの「全ライト０」を動作させるパターン発生命令が、「全リード０ライト１」のテストパターンを発生させるパターン発生命令に編集される。続いて、第９行目の「パターン実行」（１０３２）が実行される。すなわち、編集後の「全リード０ライト１」（図９のステップＳ１０３）が実行される。
【００５３】
次に、制御が編集命令デコーダに戻り、第１０行目からの編集処理（１０４１）が順次実行される。ここでは、パターンレジスタの「全リード０ライト１」を動作させるパターン発生命令が、「全リード１」のテストパターンを発生させるパターン発生命令に編集される。続いて、第１３行目の「パターン実行」（１０４２）が実行される。すなわち、編集後の「全リード１」（図９のステップＳ１０４）が実行される。
【００５４】
次に、制御が編集命令デコーダに戻り、第１４行目の「終了」（１０５１）（図９のステップＳ１０５）が実行される。
ここで、上記の説明の手順で行なわれる編集処理の詳細について説明する。
【００５５】
まず、パターン編集命令第０行目の「パターン実行」が実行される。図１１は、パターン編集命令（０行目）実行時のパターンレジスタの状態である。「パターン実行」（１０２１）処理時、パターンレジスタ１１１には、「全ライト０」を発生させるパターン発生命令がロードされている。
【００５６】
次に、パターン編集命令第１行目の「行コピー挿入　行指定　４（元行）　５（先行）」が実行される。図１２は、パターン編集命令（１行目）実行後のパターンレジスタの状態である。「行コピー挿入　行指定　４（元行）　５（先行）」（１０３１−１）により、パターン発生命令の元の４行目がコピーされ、５行目に挿入される。すなわち、４行目の「ＰＲＥ」命令が５行目にコピーされて挿入される。後ろの行番号のレジスタデータは、後方に移る。
【００５７】
次に、第２行目の「行コピー挿入　行参照　３（元行）」が実行される。図１３は、パターン編集命令（２行目）実行後のパターンレジスタの状態である。「行コピー挿入　行参照　３（元行）」（１０３１−２）により、元の３行目の「ＮＯＰ」命令が、前の処理で挿入された５行目の「ＰＲＥ」の前に挿入される。これにより５行目は「ＮＯＰ」になり、後ろの番号のレジスタデータは後方に順次移って、５行目の「ＰＲＥ」は６行目に移動する。
【００５８】
次に、パターン編集命令第３行目の「行コピー挿入　行参照　２（元行）」が実行される。図１４は、パターン編集命令（３行目）実行後のパターンレジスタの状態である。「行コピー挿入　行参照　２（元行）」（１０３１−３）により、元の２行目の「ＷＴ」命令が、前の処理で挿入された５行目の「ＮＯＰ」の前に挿入される。これにより５行目は「ＷＴ」になり、後ろの番号のレジスタデータは後方に順次移って、５行目の「ＮＯＰ」は６行目に移動する。
【００５９】
次に、パターン編集命令第４行目の「行コピー挿入　行参照　１（元行）」が実行される。図１５は、パターン編集命令（４行目）実行後のパターンレジスタの状態である。「行コピー挿入　行参照　１（元行）」（１０３１−４）により、元の１行目の「ＮＯＰ」命令が、前の処理で挿入された５行目の「ＷＴ」の前に挿入される。これにより５行目は「ＮＯＰ」になり、後ろの番号のレジスタデータは後方に順次移って、５行目の「ＷＴ」は６行目に移動する。
【００６０】
次に、パターン編集命令第５行目の「行コピー挿入　行参照　０（元行）」が実行される。図１６は、パターン編集命令（５行目）実行後のパターンレジスタの状態である。「行コピー挿入　行参照　０（元行）」（１０３１−５）により、元の０行目の「ＡＣＴ」命令が、前の処理で挿入された５行目の「ＮＯＰ」の前に挿入される。これにより５行目は「ＡＣＴ」になり、後ろの番号のレジスタデータは順次後方に移って、５行目の「ＮＯＰ」は６行目に移動する。
【００６１】
これまでの編集処理で、ライトの一連の動作であるパターン発生命令の０行目から４行目までが、５行目から９行目に挿入されたことになる。すなわち、５行目から９行目の命令が付加されたことにより、パターンレジスタのパターン発生命令は、「全ライト０全ライト０」に編集されたことになる。
【００６２】
続いて、パターン編集命令第６行目の「行コピー挿入　行参照　１（元行）」が実行される。図１７は、パターン編集命令（６行目）実行後のパターンレジスタの状態である。「行コピー挿入　行参照　１（元行）」（１０３１−６）により、元の１行目の「ＮＯＰ」命令が、前の処理で挿入された５行目の「ＡＣＴ」の前に挿入される。これにより５行目は「ＮＯＰ」になり、後ろの番号のレジスタデータは順次後方に移って、５行目の「ＡＣＴ」は６行目に移動する。
【００６３】
次に、パターン編集命令第７行目の「セル書換　行列指定　２（行）　５（列）　１１０１（ＲＤ）」が実行される。図１８は、パターン編集命令（７行目）実行後のパターンレジスタの状態である。「セル書換　行列指定　２（行）　５（列）　１１０１（ＲＤ）」（１０３１−７）により、パターンレジスタの２行目５列のセルが「ＷＴ」命令から「ＲＤ」命令に書き換わる。すなわち、パターンレジスタは、「全リード０全ライト０」に書き換えられたことになる。
【００６４】
次に、パターン編集命令第８行目の「セル書換　行列指定　８（行）　Ｅ（列）　４（ｄ反転）」及び９行目の「パターン実行」が実行される。図１９は、パターン編集命令（８行目）実行後のパターンレジスタの状態である。「セル書換行列指定　８（行）　Ｅ（列）　４（ｄ反転）」（１０３１−８）により、パターンレジスタの８行目１４（Ｅ）列のセルが「０」から「４」に書き換わる。すなわち、８行目のパターン編集命令は、反転データの書込み命令に変更され、「全リード０全ライト０」が「全リード０全ライト１」に書き換えられたことになる。
【００６５】
上記の手順の編集により、パターン発生命令は、「全ライト１」から「全リード０全ライト１」に書き換わる。続いて、「パターン実行」（１０３２）の命令により、書き換わった「全リード０全ライト１」のテストパターンが発生する。
【００６６】
さらに、パターン編集により、パターン発生命令を「全リード０全ライト１」から「全リード１」に書き換える。
続いて、パターン編集命令第１０行目の「パターンリセット」が実行される。図２０は、パターン編集命令（１０行目）実行後のパターンレジスタの状態である。「パターンリセット」（１０４１−１）により、パターンレジスタのレジスタデータが初期値に戻る。ここでは、パターンレジスタのパターン発生命令が、「全ライト０」に戻る。
【００６７】
次に、パターン編集命令第１１行目の「セル書換　行列指定　２（行）　５（列）　１１０１（ＲＤ）」が実行される。図２１は、パターン編集命令（１１行目）実行後のパターンレジスタの状態である。「セル書換　行列指定　２（行）５（列）　１１０１（ＲＤ）」（１０４１−２）により、パターンレジスタの２行目５列のセルが「ＷＴ」命令から「ＲＤ」命令に書き換わる。
【００６８】
次に、パターン編集命令第１２行目の「セル書換　列指定　行参照　Ｅ（行）４（ｄ反転）」及び「パターン実行」が実行される。図２２は、パターン編集命令（１２行目）実行後のパターンレジスタの状態である。「セル書換　列指定行参照　Ｅ（行）　４（ｄ反転）」（１０４１−３）により、パターンレジスタの２行目１４（Ｅ）列のセルが「０」から「４」に書き換わる。すなわち、２行目のパターン編集命令は、反転データの読出し命令に変更される。
【００６９】
上記の手順の編集により、パターン発生命令は、「全リード０全ライト１」から「全リード１」に書き換わる。続いて、「パターン実行」（１０４２）の命令により、書き換わった「全リード１」のテストパターンが発生する。
【００７０】
次に、パターン編集命令第１４行目の「終了」が実行され、パターン編集処理は終了する。
上記説明の手順のようにパターン発生命令の実行と編集を繰り返すことにより、この場合は「全ライト０」の初期パターンを用いて、「全ライト０」、「全リード０全ライト１」、「全リード０」の３種類のパターンを発生させることができる。このように本発明によれば、多種類のテストパターンを容易に作成することができるばかりでなく、パターンレジスタを変更しながらテストパターンを発生させていくため、記憶回路の規模増大を抑えることが可能となる。
【００７１】
例えば、上記の説明のテストパターンを発生させるパターン発生命令を全てパターンレジスタに記憶するとすれば、５６ビット×１６命令×３の計２，６８８ビットの記憶領域が必要になる。一方、本発明においては、５６ビット×１６命令×１の計８９６ビットのパターンレジスタと、４ビット×３３命令の計１３２ビットのパターン編集命令レジスタと、合計１０２８ビットの記憶領域で同じ処理を行なうことが可能となる。
【００７２】
また、上記の説明では、発生テストパターンを「全ライト０」、「全リード０全ライト１」、「全リード０」、としたが、例えば、パターン編集命令の８行目を「セル書換　行列指定　８（行）　Ｅ（列）　４（ｄ反転）」のｄ反転を他のデータに変更することにより、任意のデータによるメモリテストが可能となる。ここで、パターン編集命令の８行目の設定に応じて１２行目の設定が変更される。パターン発生命令のバリエーションにアドレスを参照してデータを反転させるような命令があれば、この命令に書き換えることにより、アドレス参照でデータ反転させることも可能である。
【００７３】
【発明の効果】
以上説明したように本発明のパターン発生回路では、テストパターンを発生させるためのパターン発生命令をパターン編集命令に従って順次編集し、編集された新たなパターン発生命令に従ってテストパターンを順次発生させる。このように、テストパターンを発生させるためのパターン発生命令を順次編集していくことにより、発生させる全てのテストパターンに対応するパターン発生命令を全て記憶しておく必要がなくなる。従って、記憶領域の回路規模を大きくすることなく、多種類のテストパターンを発生させることが可能となる。
【００７４】
また、本発明の半導体装置では、メモリ領域の自己テスト時、パターン発生命令をパターン編集命令に従って編集し、更新されたパターン発生命令に従ってパターンを発生させる処理を繰り返してテストパターンを発生させてメモリの診断を行なう。このように、パターン発生命令を順次編集していくことにより、高品質なテストが実施できるとともに、回路規模の増大を抑えることが可能となる。
【００７５】
また、本発明の半導体装置の試験方法では、テストパターンを発生させるパターン発生命令をパターン編集命令に従って編集し、更新されたパターン発生命令に従ってテストパターンを発生させてメモリ領域の良否の判定を行なう。続くパターン編集命令があれば、パターン発生命令の編集からの処理を繰り返し行なう。このように、パターン発生命令を順次編集して新たなパターン発生命令を作成し、このパターン発生命令により発生された新たなテストパターンでメモリ領域の良否の判定を行なう手順を繰り返すことにより、様々な種類のテストパターンを用いた高品質な半導体装置のメモリ試験を容易に実施することが可能となる。また、記憶回路に記憶する元のパターン発生命令は最小限にすることが可能で、回路規模の増大を抑えることが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施の形態であるパターン発生回路を含む半導体装置の構成図である。
【図２】本発明の一実施の形態であるパターン発生回路のブロック図である。
【図３】本発明の一実施の形態のパターン発生回路におけるパターン編集命令の一例である。
【図４】本発明のパターン発生回路における初期化動作のタイミングチャートである。
【図５】本発明のパターン発生回路におけるレジスタデータの取込み動作のタイミングチャートである。
【図６】本発明のパターン発生回路におけるテスト開始動作のタイミングチャートである。
【図７】本発明のパターン発生回路におけるテスト終了動作のタイミングチャートである。
【図８】本発明の一実施の形態である半導体装置の試験方法のフローチャートである。
【図９】半導体装置におけるメモリテストの実施例である。
【図１０】実施例のメモリテストを実現するパターン編集命令の一例である。
【図１１】パターン編集命令（０行目）実行時のパターンレジスタの状態である。
【図１２】パターン編集命令（１行目）実行後のパターンレジスタの状態である。
【図１３】パターン編集命令（２行目）実行後のパターンレジスタの状態である。
【図１４】パターン編集命令（３行目）実行後のパターンレジスタの状態である。
【図１５】パターン編集命令（４行目）実行後のパターンレジスタの状態である。
【図１６】パターン編集命令（５行目）実行後のパターンレジスタの状態である。
【図１７】パターン編集命令（６行目）実行後のパターンレジスタの状態である。
【図１８】パターン編集命令（７行目）実行後のパターンレジスタの状態である。
【図１９】パターン編集命令（８行目）実行後のパターンレジスタの状態である。
【図２０】パターン編集命令（１０行目）実行後のパターンレジスタの状態である。
【図２１】パターン編集命令（１１行目）実行後のパターンレジスタの状態である。
【図２２】パターン編集命令（１２行目）実行後のパターンレジスタの状態である。
【図２３】第１のタイプのＢＩＳＴ回路を構成するパターン発生回路の構成図である。
【図２４】第２のタイプのＢＩＳＴ回路を構成するパターン発生回路の構成図である。
【符号の説明】
１００・・・パターン発生回路、１１０・・・パターン発生命令記憶回路、１２０・・・パターン編集命令記憶回路、１３０・・・命令編集処理回路、１４０・・・命令処理回路、２００・・・メモリ、３１０・・・ＢＩＳＴ制御回路、３２０・・・セレクタ、３３０・・・判定回路
【図１】
2004030783.tif 000003
【図２】
2004030783.tif 000004
【図３】
2004030783.tif 000005
【図４】
2004030783.tif 000006
【図５】
2004030783.tif 000007
【図６】
2004030783.tif 000008
【図７】
2004030783.tif 000009
【図８】
2004030783.tif 000010
【図９】
2004030783.tif 000011
【図１０】
2004030783.tif 000012
【図１１】
2004030783.tif 000013
【図１２】
2004030783.tif 000014
【図１３】
2004030783.tif 000015
【図１４】
2004030783.tif 000016
【図１５】
2004030783.tif 000017
【図１６】
2004030783.tif 000018
【図１７】
2004030783.tif 000019
【図１８】
2004030783.tif 000020
【図１９】
2004030783.tif 000021
【図２０】
2004030783.tif 000022
【図２１】
2004030783.tif 000023
【図２２】
2004030783.tif 000024
【図２３】
2004030783.tif 000025
【図２４】
2004030783.tif 000026