(57)【要約】【課題】  メモリの組み込み自己テストにおいて、テスト内容に制限を加えることなく、製品化後にもテスト内容を変更できるようにする。【解決手段】  メモリの組み込み自己テスト回路に備えたレジスタ回路１０６が、外部から受信したテスト設定データｔｄに基づいて、アドレス生成回路１０１、入力データ生成回路１０２、制御信号生成回路１０３及び期待値データ生成回路１０４の設定変更を行うことによりテスト内容を変更する。【選択図】    図１
2006268919.tif 000002
【特許請求の範囲】
【請求項１】
メモリを有する半導体集積回路の内部に組み込まれ、前記メモリの機能をテストするメモリの組み込み自己テスト回路において、
前記メモリの機能をテストするためのテスト信号を生成するテスト信号生成手段と、
前記メモリの組み込み自己テスト回路の外部から入力されるテスト設定データを受けて、このテスト設定データの出力値を前記テスト信号生成手段に入力することにより、このテスト信号生成手段が生成する前記テスト信号を変更して前記テストの内容を変更するレジスタ回路とを備える
ことを特徴とするメモリの組み込み自己テスト回路。
【請求項２】
請求項１に記載のメモリの組み込み自己テスト回路において、
前記テスト信号生成手段は、
前記レジスタ回路からの出力値を受けて、前記メモリ上のアドレスを制御するアドレス制御信号を生成するアドレス生成回路と、
前記レジスタ回路からの出力値を受けて、前記メモリに書き込むテスト用の入力データを生成する入力データ生成回路と、
前記レジスタ回路からの出力値を受けて、前記メモリに対する書き込み及び読み出し制御をする制御信号を生成する制御信号生成回路と、
前記レジスタ回路からの出力値を受けて、前記アドレス制御信号、前記入力データ及び前記制御信号を用いた前記テストにより前記メモリが出力する出力データと比較するための期待値データを生成する期待値データ生成回路とを備える
ことを特徴とするメモリの組み込み自己テスト回路。
【請求項３】
請求項１又は２に記載のメモリの組み込み自己テスト回路において、
前記レジスタ回路は、
アドレス設定用のアドレス用レジスタと、入力データ設定用の入力データ用レジスタと、制御信号設定用の制御信号用レジスタと、期待値データ設定用の期待値データ用レジスタとを備える
ことを特徴とするメモリの組み込み自己テスト回路。
【請求項４】
請求項２に記載のメモリの組み込み自己テスト回路において、
前記メモリの組み込み自己テスト回路の外部から入力される基準クロック信号に基づいて、前記アドレス生成回路と、前記入力データ生成回路と、前記制御信号生成回路と、前記期待値データ生成回路との夫々に入力する少なくとも１つのクロック信号を発生するクロック発生器を備える
ことを特徴とするメモリの組み込み自己テスト回路。
【請求項５】
請求項３に記載のメモリの組み込み自己テスト回路において、
前記レジスタ回路は、
前記アドレス用レジスタ、前記入力データ用レジスタ、前記制御信号用レジスタ、及び前記期待値データ用レジスタに設定するレジスタ用データと、これら４つの設定用レジスタの中から、前記レジスタ用データを設定する１つのレジスタを識別するためのレジスタ識別子とからなる前記テスト設定データを外部から受信するシフトレジスタと、
前記シフトレジスタで受信した前記テスト設定データに含まれる前記レジスタ識別子に基づき、前記レジスタ用データを設定する前記４つの設定用レジスタの中から１つのレジスタを識別すると共に、前記レジスタ識別子と対になって前記テスト設定データに含まれる前記レジスタ設定データを出力するレジスタ識別処理を、前記４つの設定用レジスタのそれぞれに対して行うレジスタ識別手段と、
前記レジスタ識別手段から出力された前記レジスタ設定データを一時保管し、前記レジスタ設定データを一時保管している間に実行されていた一のテストの終了時に、一時保管していた前記レジスタ設定データを前記４つの設定用レジスタのそれぞれへ出力する複数の所定のバッファとを備える
ことを特徴とするメモリの組み込み自己テスト回路。
【請求項６】
メモリを有する半導体集積回路の前記メモリの機能をテストするメモリの組み込み自己テスト方法において、
対になったレジスタ識別子とレジスタ設定データとを複数対含むテスト設定データを外部から受信するテスト設定データ受信工程と、
前記テスト設定データ受信工程において受信した前記テスト設定データに含まれる前記レジスタ識別子に基づき、アドレス設定用のアドレス用レジスタと、入力データ設定用の入力データ用レジスタと、制御信号設定用の制御信号用レジスタと、期待値データ設定用の期待値データ用レジスタとからなる４つの設定用レジスタの中から前記レジスタ設定データを設定する１つのレジスタを識別すると共に、前記４つの設定用レジスタのうち識別された前記１つのレジスタに対して、前記レジスタ設定データを出力するレジスタ識別工程と、
前記レジスタ識別工程において出力された前記レジスタ設定データを一時保管し、前記レジスタ設定データを一時保管している間に実行されていた一のテスト終了時に、一時保管していた前記レジスタ設定データを、前記４つの設定用レジスタのそれぞれへ出力するバッファ工程とを含む
ことを特徴とするメモリの組み込み自己テスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路デバイスのテストの分野に関し、さらに詳しくいえばメモリの組み込み自己テスト回路および自己テスト方法に関するものである。
【背景技術】
【０００２】
近年半導体集積回路へのシステム集約化が進むにつれ、１つの半導体集積回路に搭載されるメモリ数は増大している。これらのメモリに対するテストは従来メモリのポートへつながる信号を外部端子まで引き出し、外部端子からメモリへ信号を入力し、外部端子へメモリからの信号を出力してテストを実施するダイレクトメモリアクセス方法が用いられてきた。しかしこの方法では複数のメモリを同時にテストするには外部端子が不足することや、外部端子からメモリまでに信号遅延が発生するため実速度でのテストが困難であるなどの理由により、現在は半導体集積回路内にメモリの組み込み自己テスト回路（Ｂｕｉｌｔ−ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ：ＢＩＳＴ）を入れるようになってきている。
【０００３】
メモリの組み込み自己テスト回路ではアドレス、データおよび制御信号を半導体集積回路内部で発生させてメモリへ入力し、メモリの出力結果を期待値データと比較した判定結果を外部端子に出力する。
【０００４】
以下、従来のメモリの組み込み自己テスト回路および自己テスト方法について説明する。
【０００５】
図９は従来のメモリの組み込み自己テスト回路を示したものであり、１０はメモリ、１１は、カラムアドレス及びローアドレスを生成して、生成したカラムアドレス及びローアドレスをメモリ１０へ出力するアドレス生成回路、１２は、入力データを生成して、生成した入力データをメモリ１０へ出力する入力データ生成回路、１３は、書き込み及び読出しの制御信号を生成して、生成した制御信号をメモリ１０へ出力する制御信号生成回路、１４は、テストの際にメモリ１０から出力される出力データと比較するための期待値データを生成して出力する期待値データ生成回路、１５は、メモリ１０から出力される出力データと期待値データ生成回路１４から出力される期待値データとが入力され、出力データと期待値データとを比較することにより得られたテスト結果を出力するデータ比較器である。
【０００６】
以上のように構成されたメモリの組み込み自己テスト回路について、以下その動作を説明する。
【０００７】
まず、半導体集積回路の外部端子などからテスト開始信号を受けることにより、メモリのテストが自動的に開始される。メモリ１０への書き込みテストを行う場合、アドレス生成回路１１、入力データ生成回路１２、制御信号生成回路１３からは書き込みテストを行うための信号が自動的に生成され、メモリの入力ポートへ入力される。また、メモリ１０からの読出しテストを行う場合、アドレス生成回路１１、制御信号生成回路１３からは読出しテストを行うための信号が自動的に生成され、メモリの入力ポートへ入力されるとともに期待値データ生成回路１４においても自動的に期待値データ信号が生成され、生成された期待値データが比較器１５へ出力される。書き込み又は読出しテストによりメモリ１０から出力される出力データと期待値データ生成回路１４から出力される期待値データとが比較器１５にて比較され、このテスト結果がメモリの組み込み自己テスト回路の外部端子に出力される。これらの一連の動作はテスト開始信号が入力されると自動的に行われる。
【０００８】
このように自動的にテストが行われるために、回路の設計時において、必要なメモリテストのアルゴリズムを決め、メモリへ入力されるアドレス信号、入力データ信号、制御信号や期待値データ信号は組み合わせ回路などによってハードウエアで作り込まれており、テスト開始信号さえ入力されれば、必要なテストが実施され、その結果のみを返すようになっている。
【０００９】
ここに示したメモリの組み込み自己テストは、テストの容易性という意味では価値のある構成及び方法であるが、製品化後アルゴリズムを変更することはできないという問題点もある。従来のダイレクトメモリアクセス方法であれば、メモリコアのポートは外部端子につながっており、一部のアドレス領域だけのテストやテストアルゴリズムを任意に変更できるなど自由にテスト内容を設定できたが、組み込み自己テストを用いてメモリのテストを行うようになると、全アドレスに対して予め決められたアルゴリズムでテストし、その結果を見ることしかできず、予め決められた以外のアルゴリズムにより詳細な解析をするのに不適切である。
【００１０】
この問題に対して、組み込みテストでありながらも、高品質なテストを行う取り組みがなされている。例えば、特許文献１に記載の技術では、予めアルゴリズムは決められてはいるが、簡素な回路構成ながら決められたアルゴリズムの範囲内において多種のメモリテストを所定のテストパターンで実行できる仕組みを実現している。
【００１１】
また、特許文献２には、テスト内容の変更を行う手段として、マイクロ命令制御方式についての記載がある。この技術では、所定数のテストアルゴリズム命令を、予め、内蔵する読出し専用メモリに記憶させておき、その所定数の範囲内でテストアルゴリズム命令を変更することにより、メモリへ入力されるアドレス信号、入力データ信号および制御信号として生成される信号を変更する。
【特許文献１】特開２０００−７６８９４号公報
【特許文献２】特開平１０−６９７９９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上記の特許文献１の簡素な回路構成でメモリテストパターンを増やす方法も、製品化後には、予め用意された簡素な回路構成で実施し得るテストパターン以外には変更することができないため、製品化後の不具合に対するテストを行うことは不可能である。
【００１３】
また、前記マイクロ命令制御方式では、テストアルゴリズム命令を記憶しておく読出し専用メモリが別途必要であり、また、その読出し専用メモリに書き込むマイクロ命令を予め作成しておく必要がある。このマイクロ命令制御方式では、前記読出し専用メモリに記憶されるテストアルゴリズム命令は、回路規模とコストとを抑える必要上、必然的に重要度の高い特定種類のテストに絞られて数が制限されるため、比較的重要度の低い安易なデバッグができない。そして、別途用意された前記読出し専用メモリに記憶されているテスト内容以外に変更したい場合は、前記読出し専用メモリを作り直すために、再度、半導体集積回路を作り直す必要がある。
【００１４】
このように、１つの半導体集積回路に搭載されるメモリは大規模で、且つ数が増加する傾向にある上、設計当初よりすべてのメモリが正しく動作することは少なく、デバッグ機能の必要性は高まっているにも拘らず、従来では、テスト内容に制限があり、製品化後にテスト内容を変更することができなかった。
【００１５】
上記課題を解決するために、本発明では、テスト内容に制限を加えることなく、且つ、半導体集積回路を作り直すことなく、製品化後にもテスト内容を変更できるようにすることを目的とする。
【課題を解決するための手段】
【００１６】
上記目的を達成するために、本発明では、外部から入力されるテスト設定データに基づいてテストの設定を変更するレジスタ回路を、組み込み自己テスト回路内に備える。
【００１７】
すなわち、請求項１記載の発明のメモリの組み込み自己テスト回路は、メモリを有する半導体集積回路の内部に組み込まれ、前記メモリの機能をテストするメモリの組み込み自己テスト回路において、前記メモリの機能をテストするためのテスト信号を生成するテスト信号生成手段と、前記メモリの組み込み自己テスト回路の外部から入力されるテスト設定データを受けて、このテスト設定データの出力値を前記テスト信号生成手段に入力することにより、このテスト信号生成手段が生成する前記テスト信号を変更して前記テストの内容を変更するレジスタ回路とを備えることを特徴とする。
【００１８】
請求項２記載の発明は、請求項１に記載のメモリの組み込み自己テスト回路において、前記テスト信号生成手段は、前記レジスタ回路からの出力値を受けて、前記メモリ上のアドレスを制御するアドレス制御信号を生成するアドレス生成回路と、前記レジスタ回路からの出力値を受けて、前記メモリに書き込むテスト用の入力データを生成する入力データ生成回路と、前記レジスタ回路からの出力値を受けて、前記メモリに対する書き込み及び読み出し制御をする制御信号を生成する制御信号生成回路と、前記レジスタ回路からの出力値を受けて、前記アドレス制御信号、前記入力データ及び前記制御信号を用いた前記テストにより前記メモリが出力する出力データと比較するための期待値データを生成する期待値データ生成回路とを備えることを特徴とする。
【００１９】
請求項３記載の発明は、請求項１又は２に記載のメモリの組み込み自己テスト回路において、前記レジスタ回路は、アドレス設定用のアドレス用レジスタと、入力データ設定用の入力データ用レジスタと、制御信号設定用の制御信号用レジスタと、期待値データ設定用の期待値データ用レジスタとを備えることを特徴とする。
【００２０】
請求項４記載の発明は、請求項２に記載のメモリの組み込み自己テスト回路において、前記メモリの組み込み自己テスト回路の外部から入力される基準クロック信号に基づいて、前記アドレス生成回路と、前記入力データ生成回路と、前記制御信号生成回路と、前記期待値データ生成回路との夫々に入力する少なくとも１つのクロック信号を発生するクロック発生器を備えることを特徴とする。
【００２１】
請求項５記載の発明は、請求項３に記載のメモリの組み込み自己テスト回路において、前記レジスタ回路は、前記アドレス用レジスタ、前記入力データ用レジスタ、前記制御信号用レジスタ、及び前記期待値データ用レジスタに設定するレジスタ用データと、これら４つの設定用レジスタの中から、前記レジスタ用データを設定する１つのレジスタを識別するためのレジスタ識別子とからなる前記テスト設定データを外部から受信するシフトレジスタと、前記シフトレジスタで受信した前記テスト設定データに含まれる前記レジスタ識別子に基づき、前記レジスタ用データを設定する前記４つの設定用レジスタの中から１つのレジスタを識別すると共に、前記レジスタ識別子と対になって前記テスト設定データに含まれる前記レジスタ設定データを出力するレジスタ識別処理を、前記４つの設定用レジスタのそれぞれに対して行うレジスタ識別手段と、前記レジスタ識別手段から出力された前記レジスタ設定データを一時保管し、前記レジスタ設定データを一時保管している間に実行されていた一のテストの終了時に、一時保管していた前記レジスタ設定データを前記４つの設定用レジスタのそれぞれへ出力する複数の所定のバッファとを備えることを特徴とする。
【００２２】
請求項６記載の発明のメモリの組み込み自己テスト方法は、メモリを有する半導体集積回路の前記メモリの機能をテストするメモリの組み込み自己テスト方法において、対になったレジスタ識別子とレジスタ設定データとを複数対含むテスト設定データを外部から受信するテスト設定データ受信工程と、前記テスト設定データ受信工程において受信した前記テスト設定データに含まれる前記レジスタ識別子に基づき、アドレス設定用のアドレス用レジスタと、入力データ設定用の入力データ用レジスタと、制御信号設定用の制御信号用レジスタと、期待値データ設定用の期待値データ用レジスタとからなる４つの設定用レジスタの中から前記レジスタ設定データを設定する１つのレジスタを識別すると共に、前記４つの設定用レジスタのうち識別された前記１つのレジスタに対して、前記レジスタ設定データを出力するレジスタ識別工程と、前記レジスタ識別工程において出力された前記レジスタ設定データを一時保管し、前記レジスタ設定データを一時保管している間に実行されていた一のテスト終了時に、一時保管していた前記レジスタ設定データを、前記４つの設定用レジスタのそれぞれへ出力するバッファ工程とを含むことを特徴とする。
【００２３】
以上により、請求項１〜６記載の発明では、外部から受信したテスト設定データに基づいて、メモリの組み込み自己テスト回路内部のレジスタ回路により、テスト信号生成手段の出力するテスト信号を変更するので、半導体集積回路を作り直すことなく製品化後に外部からテスト内容を変更できる。
【００２４】
請求項５及び６記載の発明では、テスト設定データから抽出したレジスタ設定データをバッファで一時保管するので、１つのテストが終了した後は、バッファに保管されたレジスタ設定データをロードするだけで、直ぐに次のテストを開始することができる。
【発明の効果】
【００２５】
以上の説明により、請求項１〜６記載の発明によれば、外部から入力されるテスト設定データに基づいて、内部のレジスタ回路により、テスト信号生成手段が出力するテスト信号を変更できるので、製品化後に生じた不具合に応じて、テスト内容に制限が加わることなく、詳細なデバッグを行うことができ、組み込み自己テスト回路を作り直す必要もない。
【００２６】
特に、請求項５及び６記載の発明によれば、テスト設定データ中から得られたレジスタ設定データをバッファで一時保管するので、１つのテスト終了後に、バッファに保管されていたレジスタ設定データをロードするだけで、直ぐに次のテストを開始することができ、レジスタ設定のための時間を削減することが可能である。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００２８】
図１は本発明の実施の形態における組み込み自己テスト回路の構成例を示すものである。図１のメモリ１００に対する組み込み自己テスト回路は、データの書き込み及び読み出しの制御を行うアドレス制御信号を生成し、生成したアドレス制御信号をメモリ１００へ出力するアドレス生成回路１０１と、テスト用の入力データを生成し、生成した入力データをメモリ１００へ出力する入力データ生成回路１０２と、前記入力データのメモリ１００に対する書き込み及び読出しのための制御を行う制御信号を生成し、生成した制御信号をメモリ１００へ出力する制御信号生成回路１０３と、入力されたアドレス制御信号、入力データ及び制御信号に基づくテストにより、メモリ１００から読み出されたデータが正しいかどうかを検証するための比較対象となる期待値データを生成する期待値データ生成回路１０４と、前記メモリ１００から読み出されたデータと前記期待値データとを比較し、この比較結果をメモリの組み込み自己テストの結果として出力するデータ比較器１５を備える。
【００２９】
そして上記のテストの内容を変更するために、上記構成に加えて、外部から入力されるテスト設定データｔｄを外部端子２００で受けるレジスタ回路１０６と、外部から入力される基準クロック信号ｃｋを外部端子２０１で受けるクロック発生器１０７とを備える。
【００３０】
このレジスタ回路１０６は、外部からテスト内容を変更するために入力されるテスト設定データｔｄに基づいて出力する出力値を、テスト信号生成手段３００に入力する。ここで、テスト信号生成手段３００は、アドレス生成回路１０１、入力データ生成回路１０２、制御信号生成回路１０３及び期待値データ生成回路から構成されており、レジスタ回路１０６の出力した出力値は、これら生成回路１０１〜１０４に入力される。これにより、アドレス生成回路１０１におけるアドレス制御信号を生成するための設定、入力データ生成回路１０２における入力データを生成するための設定、制御信号生成回路１０３における制御信号を生成するための設定、及び、期待値データ生成回路１０４における期待値データを生成するための設定がそれぞれ変更される。そして、それぞれの生成回路１０１〜１０４の設定が変更されたことにより、メモリに入力されるアドレス制御信号、入力データ、制御信号及び期待値データからなるテスト信号が変更されてテスト内容が変更される。
【００３１】
また、クロック発生器１０７は、外部から入力された基準クロック信号ｃｋに基づいて、少なくとも１つのクロック信号を発生し、発生したクロック信号は、アドレス生成回路１０１、入力データ生成回路１０２、制御信号生成回路１０３及び期待値データ生成回路１０４の夫々に入力される。
【００３２】
ここで、前記アドレス生成回路１０１、入力データ生成回路１０２、制御信号生成回路１０３及び期待値データ生成回路１０４の構成についてそれぞれ詳細に説明する。
【００３３】
先ず、図２を用いて、アドレス生成回路１０１及びアドレス設定用レジスタ２０２についての説明を行う。ここで、アドレス設定用レジスタ２０２は、図２のレジスタ回路１０６の構成のうち、アドレス設定用に設けられたレジスタである。
【００３４】
図２には、アドレス生成回路１０１、アドレス設定用レジスタ２０２及びクロック信号発生器１０７が示されている。本実施の形態では、クロック信号発生器１０７は、外部から入力される基準クロック信号ｃｋに基づいて３つのクロック信号を発生させ、これら３つのクロック信号がアドレス生成回路１０１に入力される。
【００３５】
アドレス生成回路１０１は、自己テストのための入力データをメモリ１００に対して書き込み及び読出しを行うためのカラムアドレスを出力するカラムアドレスカウンタ１１０と、ローアドレスを出力するローアドレスカウンタ１１１とを備える。
【００３６】
また、これらカウンタ１１０、１１１のうち、カウンタ１１０に対しては、クロック信号又はカウンタ１１１の出力するキャリ信号が、また、カウンタ１１１に対しては、クロック信号又はカウンタ１１０の出力するキャリ信号が入力される。ここで、クロック信号及びキャリ信号から１つを選択するために、セレクタ１１３及び１１４が備えられる。すなわち、カラムアドレスカウンタ１１０に対しては、クロック信号発生器１０７の出力する複数のクロック信号とローアドレスカウンタ１１１の出力するキャリ信号とから選択したクロック信号又はキャリ信号を出力するセレクタ１１３が備えられ、また、ローアドレスカウンタ１１１に対しては、クロック信号発生器１０７の出力する複数のクロック信号とカラムアドレスカウンタ１１０の出力するキャリ信号とから選択したクロック信号又はキャリ信号を出力するセレクタ１１４が備えられる。
【００３７】
このようにして、セレクタ１１３及び１１４から出力されたクロック信号又はキャリ信号に基づいて、カラムアドレスカウンタ１１０からはカラムアドレスが出力され、また、ローアドレスカウンタ１１１からはローアドレスが出力される。
【００３８】
一方、アドレス設定用レジスタ２０２は、ローアドレスの初期値を設定し、その設定した初期値をアドレス生成回路１０１のローアドレスカウンタ１１１に入力するローアドレス初期値設定レジスタ１１５と、カラムアドレスの初期値を設定し、その設定した初期値をカラムアドレスカウンタ１１０に入力するカラムアドレス初期値設定レジスタ１１６と、カラムアドレス及びローアドレスを設定するアドレス設定レジスタ１１７とを備える。このアドレス設定レジスタ１１７は、前記アドレス生成回路１０１内のセレクタ１１３及び１１４の信号選択動作をセレクト信号により制御し、また、カラムアドレスカウンタ１１０及びローアドレスカウンタ１１１をＵＰ/ＤＯＷＮ信号により制御して、アドレス生成回路１０１からカラムアドレス及びローアドレスを出力させる。
【００３９】
このような構成により、カラムアドレスとローアドレスとが個別に制御され、アドレスの設定に自由度を持たせることができる。
【００４０】
また、クロック信号発生器１０７からは、必要に応じて、分周されたクロック信号やＬ固定信号、Ｈ固定信号などが出力される。例えば同一アドレスにデータを書き込み、そして読出したい場合、クロック信号発生器１０７から出力されたクロック信号のうち、２分周したクロック信号がセレクタ１１３、１１４により選択され、カラムアドレスカウンタ１１０とローアドレスカウンタ１１１に入力される。
【００４１】
これらカラムアドレスカウンタ１１０及びローアドレスカウンタ１１１は、テスト開始時に、それぞれ、カラムアドレス初期値設定レジスタ１１６とローアドレス初期値設定レジスタ１１５の値をロードし、テスト実行を開始するメモリアレイを指定する。ここで、図３（ａ）に示したのは、カラム８アレイ、ロー１６アレイのメモリであるが、例えば、図３（ａ）に示すように、カラムアドレス０〜７、ローアドレス５〜６の範囲の一部のテスト領域ＴＡについてテストをしたい場合、カラムアドレス初期値設定レジスタ１１６には０（デフォルト値）を、ローアドレス初期値設定レジスタ１１５には５を、また、カラムアドレスカウンタ１１０には基準クロック信号ｃｋが入力されるように、そして、ローアドレスカウンタ１１１にはカラムアドレスカウンタ１１０のキャリ信号が入力されるようにアドレス設定レジスタ１１７を設定する。カラムアドレスカウンタ１１０とローアドレスカウンタ１１１の出力信号はそれぞれメモリ１００のカラムアドレスポートとローアドレスポートに入力される。メモリへのアクセスは、図３（ａ）の矢印の方向に沿って行われ、これらの動作はテストを終了したいアレイまでアドレスが進むと、クロック信号の入力を停止するか、テスト信号をオフにしてテストを終了する。
【００４２】
次に、図４を用いて、入力データ生成回路１０２及び入力データ用レジスタ２０３についての説明を行う。ここで、入力データ用レジスタ２０３は、図１に示したレジスタ回路１０６の構成のうち、入力データの設定用に設けられたレジスタである。
【００４３】
図４には、入力データ生成回路１０２、入力データ用レジスタ２０３、クロック信号発生器１０７と、アドレス生成回路１０１のカラムアドレスカウンタ１１０、ローアドレスカウンタ１１１とが示されている。本実施の形態では、クロック信号発生器１０７は、外部から入力される基準クロック信号ｃｋに基づいて３つのクロック信号を発生させ、これら３つのクロック信号が入力データ生成回路１０２に入力される。また、入力データ生成回路１０２を設定するために、入力データ用レジスタ２０３には、入力データ設定レジスタ１２４と、３つのデータレジスタ１２５〜１２７とが備えられる。
【００４４】
入力データ生成回路１０２は、入力データ設定レジスタ１２４の制御によりクロック信号発生器１０７の出力した複数のクロック信号の中から１つを選択するセレクタ１２８と、レジスタ回路１０６の３つのデータレジスタ１２５〜１２７から入力される３つのデータの中から、セレクタ１２８にて選択されたクロック信号の制御により１つを選択するセレクタ１２０とを備える。
【００４５】
そして、入力データ生成回路１０２には、更に、２つの演算子１２２、１２３とセレクタ１２１とが備えられる。ここで、２つの演算子１２２、１２３は、共に２入力ＥＸＯＲの演算子であり、演算子１２３の出力を演算子１２２の一方の入力とする３入力ＥＸＯＲを構成している。この演算子１２３の２つの入力端子には、アドレス生成回路１０１のカラムアドレスカウンタ１１０とローアドレスカウンタ１１１とから出力された値のＬＳＢの値が入力される。そして、演算子１２２の残りの一方の入力端子、すなわち、演算子１２２、１２３からなる３入力ＥＸＯＲ演算子の残りの１つの入力端子には、セレクタ１２０により３つのデータレジスタ１２５〜１２７から選択された１つのデータ信号が入力される。３入力ＥＸＯＲ演算子では、入力される値のうち、値“１”が偶数個であれば、出力される値は“０”であり、また、入力される値のうち、値“１”が奇数個であれば、出力される値は“１”であるから、カラムアドレスとローアドレスとのＬＳＢが同じ値であれば、演算子１２２、１２３からなる３入力ＥＸＯＲ演算子の出力値は、セレクタ１２０の出力値に依存し、演算子１２２からはセレクタ１２０の出力値がそのまま出力される。一方、カラムアドレスとローアドレスとのＬＳＢが異なる値であれば、演算子１２２の出力値は、セレクタ１２０の出力を反転した値となる。
【００４６】
セレクタ１２１は、この演算子１２２の出力値とセレクタ１２０の出力値とから、入力データ用レジスタ２０３の入力データ設定レジスタ１２４の制御により何れかを選択し、選択した値をメモリ１００に対する入力データとして出力する。
【００４７】
従って、この構成により、メモリ１００に対して図３（ｂ）に示すようなチェッカーパターンを書き込みたい場合には、例えば、データレジスタ１２５〜１２７の少なくとも１つに対してデータ００（８ビット全て０）を設定し、セレクタ１２８は基準クロック信号ｃｋを選択し、更に、セレクタ１２０はデータ００が設定されているデータレジスタの１つを選択し、演算子１２２の出力値を選択するように入力データ設定レジスタ１２４によりセレクタ１２１を制御すればよい。
【００４８】
続いて、図５を用いて、制御信号生成回路１０３及び制御信号用レジスタ２０４についての説明を行う。ここで、制御信号用レジスタ２０４は、図１に示したレジスタ回路１０６の構成のうち、制御信号を設定するために設けられたレジスタである。
【００４９】
図５には、制御信号生成回路１０３、制御信号用レジスタ２０４及びクロック信号発生器１０７が示されている。本実施の形態では、クロック信号発生器１０７は、外部から入力される基準クロック信号ｃｋに基づいて４つのクロック信号を発生し、これら４つのクロック信号が制御信号生成回路１０３に入力される。
【００５０】
制御信号生成回路１０３は、クロック信号発生器１０７の出力した複数（この場合は４つ）のクロック信号の中から１つを選択するセレクタ１３０を備える。
【００５１】
そして、制御信号用レジスタ２０４は、セレクタ１３０の選択制御を行うための制御信号を制御信号設定レジスタ１３１から出力する。
【００５２】
このようにして選択された１つのクロック信号が、メモリ１００に対するテストデータの書き込み及び読み出しの制御信号として制御信号生成回路１０３から出力される。
【００５３】
メモリへのアクセスタイミングはメモリ仕様書に記載されており、そのタイミングだけを実現すればよいので、必要な信号波形は限られている。書き込み時と読み出し時に、それぞれ必要に応じてＬ固定（値‘０’に固定）、Ｈ固定（値‘１’に固定）やクロック信号などを前記クロック信号発生器１０７で生成し、最適な信号を制御信号設定レジスタ１３１で選択する。このような構成を用いることにより、様々なクロック信号を内部で発生して、メモリへの書き込み内容の多様化を図ることができる。
【００５４】
次に、図６を用いて、期待値データ生成回路１０４及び期待値データ用レジスタ２０５についての説明を行う。ここで、期待値データ用レジスタ２０５は、図１に示したレジスタ回路１０６の構成のうち、期待値データを設定するために設けられたレジスタである。
【００５５】
図６には、期待値データ生成回路１０４、期待値データ用レジスタ２０５及びクロック信号発生器１０７と、アドレス生成回路１０１のカラムアドレスカウンタ１１０及びローアドレスカウンタ１１１とが示されている。本実施の形態では、クロック信号発生回路１０７は、外部から入力される基準クロック信号ｃｋに基づいて３つのクロック信号を発生し、これら３つのクロック信号が期待値データ生成回路１０４に入力される。
【００５６】
ここで、期待値データ生成回路１０４は、図４に示した入力データ生成回路１０２とほぼ同じ構成であり、この期待値データ生成回路１０４に対する期待値データ用レジスタ２０５の働きも、図４の入力データ用レジスタ２０３における入力データ設定レジスタ１２４を図６において、期待値データ設定レジスタ１４４に置き換えたものであり、また、期待値データ生成回路１０４内の構成は、図６の入力データ生成回路１０２のセレクタ１２０をセレクタ１４０に、セレクタ１２１をセレクタ１４１に、セレクタ１２８をセレクタ１４８に置き換えられ、更に、演算子１２２を演算子１４２に、演算子１２３を演算子１４３に置き換えられたものとして同様に考えることができるので、これらの構成についての説明は省略する。
【００５７】
この期待値データ生成回路１０４の出力信号である期待値データは図１に示したデータ比較器１５に入力され、この期待値データは、テストによりメモリ１００から読み出された出力データと比較され、その比較結果がメモリの組み込み自己テスト回路の外部に出力される。
【００５８】
ここで、期待値データ用レジスタ２０５は期待値データ設定レジスタ１４４を含んでおり、期待値データの格納には前記データレジスタ１２５、１２６及び１２７を使用するが、メモリへ書き込まれたデータをメモリから読み出すというテストが多いため、入力データ生成回路１０２と期待値データ生成回路１０４とが同じデータレジスタを共用すれば、必要なレジスタ数も削減される。また、メモリ１００が、アドレス制御信号、入力データ及び制御信号に基づいて出力データを出力する自動メモリテストが開始される前、又はそのテストの実施中にこのレジスタ回路１０６は設定される。
【００５９】
以上のような構成により、テストモード時にメモリの組み込み自己テスト回路の外部端子２００からレジスタ回路１０６を介してアドレス生成回路１０１、入力データ生成回路１０２、制御信号生成回路１０３及び期待値データ生成回路１０４の設定を行うことができるので、テストを開始する前やテスト実施中にテストのためのデータを夫々の生成回路１０１〜１０４に設定してテスト内容を変更することが可能である。
【００６０】
本実施の形態を用いると、外部からアドレス信号、入力データ信号及び制御信号をそれぞれ個別に入力する必要はないため、これら外部信号に対する端子数の制限を考慮する必要がなく、同時に複数のメモリを高速でテストできる組み込み自己テストの利点と、テスト内容を製品化後に自在に変えられるダイレクトメモリアクセスの利点を併せ持った組み込み自己テストが、数個のレジスタと組み合わせ回路によって容易に実現できる。
【００６１】
ここで、メモリの組み込み自己テスト回路におけるレジスタ回路１０６の更なる構成について図７を用いて説明する。図７（ａ）、（ｂ）は共にレジスタ回路１０６に備えられる構成である。
【００６２】
また、本メモリの組み込み自己テストではローアドレス初期値設定レジスタ１１５、カラムアドレス初期値設定レジスタ１１６、アドレス設定レジスタ１１７、入力データ設定レジスタ１２４、データレジスタ１２５〜１２７、制御信号設定レジスタ１３１、期待値データ設定レジスタ１４１のように複数のレジスタを必要とするため、テスト設定データｔｄは図７の構成により設定される。
【００６３】
図７（ａ）は、図１に示したレジスタ回路１０６が有するシフトレジスタ１５０とバッファ１５１とからなる構成を示している。シフトレジスタ１５０は、外部からテスト設定データｔｄを受け、この外部から受けたテスト設定データｔｄをバッファ１５１へロードする。このロードは、外部から入力されるロード信号に基づいて行われる。ここで、バッファ１５１に格納される複数のテスト設定データｔｄは、それぞれ、レジスタに設定するためのレジスタ設定データと、このレジスタ設定データを設定するレジスタを識別するためのレジスタ識別子とから構成される。このように外部から入力されるテスト設定データｔｄはレジスタ設定データとレジスタ識別子とを合わせた１対のものを１つの単位としている。
【００６４】
また、図７（ｂ）の１５２はレジスタ識別子デコーダー（レジスタ識別手段）であり、このレジスタ識別子デコーダー１５２において、図７（ａ）のバッファ１５１から得られるバッファデータ、すなわち、テスト設定データｔｄを受けて、このテスト設定データｔｄに含まれるレジスタ識別子により設定対象のレジスタが識別され、識別されたレジスタに対してレジスタ設定データが出力される。ここで、レジスタ識別子による識別は、４つの設定用レジスタであるアドレス設定用レジスタ２０２、入力データ用レジスタ２０３、制御信号用レジスタ２０４及び期待値データ用レジスタ２０５の識別と、これら４つの設定用レジスタの構成要素である入力データ設定レジスタ１２４、データレジスタ１２５〜１２７、ローアドレス初期値設定レジスタ１１５、カラムアドレス初期値設定レジスタ１１６、制御信号設定レジスタ１３１、期待値データ設定レジスタ１４４の識別である。ここでは、例として、設定対象のレジスタとしてアドレス設定レジスタ１１７が示されおり、このレジスタ識別子デコーダー１５２から出力されたレジスタ設定データは設定対象のアドレス設定レジスタ１１７に対して備えられたアドレス設定バッファ１５３に一時格納される。
【００６５】
また、一例として示したアドレス設定バッファ１５３のような他の複数のバッファが、上記の４つの設定用レジスタを構成する各レジスタに対して備えられる。
【００６６】
よって、レジスタ識別子デコーダー１５２から得られたレジスタ設定データは、アドレス設定レジスタ１１７に対して備えられたアドレス設定バッファ１５３（所定のバッファ）に格納される。このレジスタ設定データのアドレス設定バッファ１５３への格納は、前テストが終了するまでに行われる。そして、前テストが終了するとアドレス設定バッファ１５３へロード信号（所定の信号）が送信され、直ちにアドレス設定レジスタ１１７に対してレジスタ設定データがロードされる。
【００６７】
このような構成により、レジスタ設定のためにメモリテストが中断される時間が大幅に短縮される。
【００６８】
次に、本実施の形態におけるメモリの組み込み自己テスト方法について説明を行う。本発明の組み込み自己テスト回路を用いてメモリのテストを行う場合、１つのテストパターンでテストを行う毎にレジスタ回路１０６へのレジスタ設定データの設定が必要である。これを図８（ａ）のフローチャートを用いて説明する。
【００６９】
まずステップＳ８１０１にてメモリ１００をテストするテストモード信号がアクティブにされ、その後ステップＳ８１０２にてレジスタ回路１０６が設定され、続いてステップＳ８１０３にて基準クロック信号ｃｋが入力されてテストパターンＡに設定されたテストＡが開始される。テストパターンＡを用いたテストＡが終了するとステップＳ８１０４に移行し、基準クロック信号ｃｋの入力が停止される。引き続き別のテストパターンＢでテストを行いたい場合、ステップＳ８１０５にてテストパターンＢを用いてテストを実施するために再度レジスタ回路１０６が設定される。レジスタ回路１０６が設定された後、ステップＳ８１０６にて基準クロック信号ｃｋが入力されてテストパターンＢに設定されたテストＢが開始される。そして、テストパターンＢを用いたテストＢが終了するとステップＳ８１０７に移行して基準クロック信号ｃｋの入力が停止され、テストパターンＢのテストＢが終了する。更に、テストパターンＣについてのテストＣを行いたい場合は、同様に、ステップＳ８１０９が続く。このフローはテストが必要なテストパターン数だけ繰り返される。
【００７０】
テストパターン数が少ないデバッグ時にはこのフローでテストを行っても問題はないが、製品の出荷時のテストなど多数のテストを実施しなければならない場合、レジスタの設定に時間を要し、テスト時間の延びを無視することができず製品のコストアップにつながる。
【００７１】
製品の出荷時のテストではメモリを全領域テストすることが一般的であり、１つのテストパターンを用いてテストを実施するのに、ある程度の時間を必要とする。この処理時間を他の処理に利用したのが図８（ｂ）に示すフロー図であり、これは図７に示した構成を用いている。尚、レジスタ回路１０６についてはアドレス設定レジスタ１１７を、バッファにはアドレス設定バッファ１５２を例として説明する。
【００７２】
図８（ｂ）のフローではテストを実施している間に次のテストのためのアドレス設定レジスタ１１７の設定準備を行っている。先ず、テスト開始後、ステップＳ８２０１では、メモリをテストするテストモード信号がアクティブにされる。そして次のステップＳ８２０２にてアドレス設定レジスタ１１７へレジスタ設定データが設定される。この図８（ｂ）に示した処理フローでは外部から入力されるテスト設定データに含まれるレジスタ設定データを一時的に保管するためのバッファ工程を設けている。そして、あるテストを実施中に次のテストのレジスタ設定データをアドレス設定バッファ１５３に格納しておき、次のテスト時にアドレス設定バッファ１５３からアドレス設定レジスタ１１７にロードするだけで直ぐにテストを開始することができるようにする。これは、図８（ｂ）におけるステップＳ８２０３〜Ｓ８２０４に示される。
【００７３】
ステップＳ８２０２にて外部から入力されるテスト設定データｔｄを受信した（テスト設定データ受信工程）後、図７（ｂ）に示したレジスタ識別子デコーダーにより、設定対象のレジスタが識別されて（レジスタ識別工程）、識別された設定対象のレジスタに対してレジスタ設定データが送られることによりレジスタが設定される。ステップＳ８２０３では、基準クロック信号ｃｋが入力され、ステップＳ８２０２にて設定されたレジスタ設定データに基づいてテストＡが実施される一方で、外部から送信されてくるテスト設定データｔｄが受信され（テスト設定データ受信工程）、受信されたテスト設定データｔｄに含まれるレジスタ識別子から設定対象のレジスタが識別される（レジスタ識別工程）。そして、テストＢのためのレジスタ設定データが、識別された設定対象のアドレス設定レジスタ１１７に対して備えられているアドレス設定バッファ１５３に格納される（バッファ工程）。このようにして、次のテストＢのためのレジスタ設定データが、レジスタの直前のアドレス設定バッファ１５３に一時保管されて準備される。次のステップＳ８２０４では、テストＡの終了により基準クロック信号ｃｋが停止され、次のテストＢのためのレジスタ設定データがアドレス設定バッファ１５３からアドレス設定レジスタ１１７にロードされる。続いてテストＣを行いたい場合は、同様に、ステップＳ８２０５〜Ｓ８２０７が繰り返され、テストＣのためのレジスタ設定データを準備するための時間が削減される。
【００７４】
本実施の形態における組み込み自己テストでは、アドレス設定用レジスタ２０２、入力データ用レジスタ２０３、制御信号用レジスタ２０４、及び期待値データ用レジスタ２０５の４つのレジスタを必要とするため、時間削減のために図８（ｂ）に示した方法が用いられる。
【００７５】
また、この構成を用いた図８（ｂ）の方法により、外部端子からバッファへの端子接続は１系統で足りるため、回路の削減と共にテスト時間の短縮も実現できる。
【産業上の利用可能性】
【００７６】
本発明に係るメモリの組み込み自己テスト回路は、外部からテスト設定データを入力して、内部のレジスタ回路によりテスト内容を変更することができると共に、外部端子から内部回路への接続数を減らすことにより回路規模の増大を抑えることができる。また、テスト内容を変更するレジスタに対してバッファを設けて、一つのテストを実施中に、次のテストの設定データをバッファに準備することにより、全体の設定にかかる時間を短縮することができる。従って、メモリの大規模化や多数化が進んだ半導体集積回路の組み込み自己テスト回路として有用である。
【図面の簡単な説明】
【００７７】
【図１】本発明の実施の形態における組み込み自己テスト回路の構成図である。
【図２】本発明の実施の形態におけるアドレス設定用レジスタとアドレス生成回路との構成図である。
【図３】本発明の実施の形態におけるメモリのテスト領域を示す図であって、（ａ）はアクセスの動きを示す図、また、（ｂ）はデータを書き込む領域を示す図である。
【図４】本発明の実施の形態における入力データ用レジスタと入力データ生成回路との構成図である。
【図５】本発明の実施の形態における制御信号用レジスタと制御信号生成回路との構成図である。
【図６】本発明の実施の形態における期待値データ用レジスタと期待値データ生成回路との構成図である。
【図７】本発明の実施の形態におけるレジスタ回路の構成を示す図であって、（ａ）はデータ受信部分の構成図、また、（ｂ）は受信したテスト設定データ中のレジスタ設定データをアドレス設定用レジスタに設定する部分の構成図である。
【図８】本発明の実施の形態におけるレジスタ回路を用いた組み込み自己テストを説明するフロー図であって、（ａ）はテスト毎にレジスタを設定するフロー図、また、（ｂ）は１つのテストの実施時間に次のテストのためにレジスタ設定をするフロー図である。
【図９】従来の組み込み自己テストの一回路例を説明する図である。
【符号の説明】
【００７８】
１００                    メモリ
１０１                    アドレス生成回路
１０２                    入力データ生成回路
１０３                    制御信号生成回路
１０４                    期待値データ生成回路
１０５                    データ比較器
１０６                    レジスタ回路
１０７                    クロック発生器
１１５                    ローアドレス初期値設定レジスタ
（アドレス設定用レジスタの一つ）
１１６                    カラムアドレス初期値設定レジスタ
（アドレス設定用レジスタの一つ）
１１７                    アドレス設定レジスタ
（アドレス設定用レジスタの一つ）
１２４                    入力データ設定レジスタ
（入力データ用レジスタの一つ）
１２５、１２６、１２７    データレジスタ
（入力データ用レジスタ、期待値データ用レジスタ）
１３１                    制御信号設定レジスタ
（制御信号用レジスタの一つ）
１４４                    期待値データ設定レジスタ
（期待値データ用レジスタの一つ）
１５０                    シフトレジスタ
１５１                    バッファ
１５２                    レジスタ識別子デコーダー（レジスタ識別手段）
１５３                    アドレス設定バッファ（所定のバッファ）
２００、２０１            外部端子
２０２                    アドレス設定用レジスタ
２０３                    入力データ用レジスタ
２０４                    制御信号用レジスタ
２０５                    期待値データ用レジスタ
３００                    テスト信号生成手段
ｔｄ                      テスト設定データ
ｃｋ                      基準クロック
【図１】
2006268919.tif 000003
【図２】
2006268919.tif 000004
【図３】
2006268919.tif 000005
【図４】
2006268919.tif 000006
【図５】
2006268919.tif 000007
【図６】
2006268919.tif 000008
【図７】
2006268919.tif 000009
【図８】
2006268919.tif 000010
【図９】
2006268919.tif 000011