(57)【要約】【課題】　ＢＩＳＴ回路の動作速度を抑えても実動作速度で高速メモリのテストを実施できる半導体集積回路を提供する。【解決手段】　第１のクロックＣＫ１で動作するメモリ１０５をテストするために、第２のクロックＣＫ２で動作し、テストデータを生成する第１のテストパターン生成部１０１と、第２のクロックＣＫ２の反転クロックである第３のクロックＣＫ３で動作し、テストデータを生成する第２のテストパターン生成部１０２とを設ける。さらに、第１のテストパターン生成部１０１および第２のテストパターン生成部１０２から出力されるテストデータのいずれか一方を、第２のクロックＣＫ２の信号値によって選択的に出力し、メモリ１０５へテストデータとして入力するテストデータ選択部１０４を設ける。第２のクロックＣＫ２は第１のクロックの１／２の周波数とする。【選択図】　　　　図１
2004111029.tif 000002
【特許請求の範囲】
【請求項１】
　第１のクロックで動作するメモリと、
　前記第１のクロックの１／２の周波数の第２のクロックで動作し、第１のテストデータを生成する第１のテストパターン生成部と、
　前記第２のクロックの反転クロックである第３のクロックで動作し、第２のテストデータを生成する第２のテストパターン生成部と、
　前記第１のテストパターン生成部および前記第２のテストパターン生成部からそれぞれ出力される前記第１および第２のテストデータのいずれか一方を、前記第２のクロックの信号値および前記第３のクロックの信号値のいずれか一方に応じて選択的に出力し、前記メモリへ第３のテストデータとして入力するテストデータ選択部とを備えた半導体集積回路。
【請求項２】
　第１のクロックで動作するメモリと、
　前記第１のクロックの１／２の周波数の第２のクロックで動作し、第１のテストデータを生成する第１のテストパターン生成部と、
　前記第２のクロックで動作し、第２のテストデータを生成する第２のテストパターン生成部と、
　前記第１のテストパターン生成部および前記第２のテストパターン生成部からそれぞれ出力される前記第１および第２のテストデータのいずれか一方を、前記第２のクロックの信号値に応じて選択的に出力し、前記メモリへ第３のテストデータとして入力するテストデータ選択部とを備えた半導体集積回路。
【請求項３】
　第１のクロックで動作するメモリと、
　前記第１のクロックの１／２の周波数の第２のクロックで動作し、第１のテストデータを生成するテストパターン生成部と、
　前記テストパターン生成部で生成される前記第１のテストデータに最下位ビットとして数値０を付加して第２のテストデータを生成するＬＳＢ０処理部と、
　前記テストパターン生成部で生成される前記第１のテストデータに最下位ビットとして数値１を付加して第３のテストデータを生成するＬＳＢ１処理部と、
　前記ＬＳＢ０処理部および前記ＬＳＢ１処理部からそれぞれ出力される前記第２および第３のテストデータのいずれか一方を前記第２のクロックの信号値に応じて選択的に出力し、前記メモリへ第４のテストデータとして入力するテストデータ選択部とを備えた半導体集積回路。
【請求項４】
　前記第２のクロックを遅延し、遅延クロックとして前記テストデータ選択部に与える遅延回路を設けたことを特徴とする請求項３に記載の半導体集積回路。
【請求項５】
　第１のクロックで動作するメモリと、
　前記第１のクロックの１／２の周波数の第２のクロックで動作し、第１のテストデータを生成するテストパターン生成部と、
　前記テストパターン生成部で生成される前記第１のテストデータに最下位ビットとして数値０を付加して第２のテストデータを生成するＬＳＢ０処理部と、
　前記テストパターン生成部で生成される前記第１のテストデータに最下位ビットとして数値１を付加して第３のテストデータを生成するＬＳＢ１処理部と、
　前記第２のクロックと前記第２のクロックの反転クロックとのいずれか一方を選択できるクロック選択部と、
　前記ＬＳＢ０処理部および前記ＬＳＢ１処理部からそれぞれ出力される前記第２および第３のテストデータのいずれか一方を前記クロック選択部の出力に応じて選択的に出力し、前記メモリへ第４のテストデータとして入力するテストデータ選択部とを備えた半導体集積回路。
【請求項６】
　第１のクロックで動作するメモリと、
　前記第１のクロックに同期して前記メモリから出力される第１の出力データを、前記第１のクロックの１／２の周波数の第２のクロックによって取り込む記憶素子と、
　前記第２のクロックによって動作し、前記記憶素子から出力される第２の出力データと、前記第１の出力データの直後に前記メモリから出力される第３の出力データとを、それぞれ所定の期待値と比較する期待値比較部とを備えた半導体集積回路。
【請求項７】
　第１のクロックで動作するダブルデータレートメモリと、
　前記第１のクロックと同じ周波数の第２のクロックで動作し、第１のテストデータを生成する第１のテストパターン生成部と、
　前記第２のクロックの反転クロックである第３のクロックで動作し、第２のテストデータを生成する第２のテストパターン生成部と、
　前記第１のテストパターン生成部および前記第２のテストパターン生成部からそれぞれ出力される前記第１および第２のテストデータのいずれか一方を、前記第２のクロックの信号値および前記第３のクロックの信号値のいずれか一方に応じて選択的に出力し、前記ダブルデータレートメモリへ第３のテストデータとして入力するテストデータ選択部とを備えた半導体集積回路。
【請求項８】
　第１のクロックで動作するダブルデータレートメモリと、
　前記第１のクロックと同じ周波数の第２のクロックで動作し、第１のテストデータを生成する第１のテストパターン生成部と、
　前記第２のクロックで動作し、第２のテストデータを生成する第２のテストパターン生成部と、
　前記第１のテストパターン生成部および前記第２のテストパターン生成部からそれぞれ出力される前記第１および第２のテストデータのいずれか一方を、前記第２のクロックの信号値に応じて選択的に出力し、前記ダブルデータレートメモリへ第３のテストデータとして入力するテストデータ選択部とを備えた半導体集積回路。
【請求項９】
　第１のクロックで動作するダブルデータレートメモリと、
　前記第１のクロックと同じ周波数の第２のクロックで動作し、第１のテストデータを生成するテストパターン生成部と、
　前記テストパターン生成部で生成される前記第１のテストデータに最下位ビットとして数値０を付加して第２のテストデータを生成するＬＳＢ０処理部と、
　前記テストパターン生成部で生成される前記第１のテストデータに最下位ビットとして数値１を付加して第３のテストデータを生成するＬＳＢ１処理部と、
　前記ＬＳＢ０処理部および前記ＬＳＢ１処理部からそれぞれ出力される前記第２および第３のテストデータのいずれか一方を前記第２のクロックの信号値に応じて選択的に出力し、前記ダブルデータレートメモリへ第４のテストデータとして入力するテストデータ選択部とを備えた半導体集積回路。
【請求項１０】
　前記第２のクロックを遅延し、遅延クロックとして前記テストデータ選択部に与える遅延回路を設けたことを特徴とする請求項９に記載の半導体集積回路。
【請求項１１】
　第１のクロックで動作するダブルデータレートメモリと、
　前記第１のクロックと同じ周波数の第２のクロックで動作し、第１のテストデータを生成するテストパターン生成部と、
　前記テストパターン生成部で生成される前記第１のテストデータに最下位ビットとして数値０を付加して第２のテストデータを生成するＬＳＢ０処理部と、
　前記テストパターン生成部で生成される前記第１のテストデータに最下位ビットとして数値１を付加して第３のテストデータを生成するＬＳＢ１処理部と、
　前記第２のクロックと前記第２のクロックの反転クロックとのいずれか一方を選択できるクロック選択部と、
　前記ＬＳＢ０処理部および前記ＬＳＢ１処理部からそれぞれ出力される前記第２および第３のテストデータのいずれか一方を前記クロック選択部の出力に応じて選択的に出力し、前記ダブルデータレートメモリへ第４のテストデータとして入力するテストデータ選択部とを備えた半導体集積回路。
【請求項１２】
　第１のクロックで動作するダブルデータレートメモリと、
　前記第１のクロックに同期して前記ダブルデータレートメモリから出力される第１の出力データを、前記第１のクロックと同じ周波数の第２のクロックによって取り込む記憶素子と、
　前記第２のクロックによって動作し、前記記憶素子から出力される第２の出力データと、前記第１の出力データの直後に前記ダブルデータレートメモリから出力される第３の出力データとを、それぞれ所定の期待値と比較する期待値比較部とを備えた半導体集積回路。
【請求項１３】
　第１のクロックで動作するメモリのテスト方法であって、
　前記第１のクロックの１／２の周波数の第２のクロックで第１のテストデータを生成するとともに、前記第２のクロックの反転クロックである第３のクロックで第２のテストデータを生成し、前記第１および第２のテストデータのいずれか一方を、前記第２のクロックの信号値および前記第３のクロックの信号値のいずれか一方に応じて選択して前記メモリへ第３のテストデータとして入力することを特徴とするメモリのテスト方法。
【請求項１４】
　第１のクロックで動作するメモリのテスト方法であって、
　前記第１のクロックの１／２の周波数の第２のクロックで第１のテストデータを生成し、前記第１のテストデータに最下位ビットとして数値０を付加して第２のテストデータを生成するとともに、前記第１のテストデータに最下位ビットとして数値１を付加して第３のテストデータを生成し、前記第２および第３のテストデータのいずれか一方を前記第２のクロックの信号値に応じて選択して、前記メモリに入力することを特徴とするメモリのテスト方法。
【請求項１５】
　第１のクロックで動作するメモリのテスト方法であって、
　第１のクロックに同期してメモリから出力される第１のデータを、前記第１のクロックの１／２の周波数の第２のクロックによって第２のデータとして保持し、前記第２のデータと、前記第１のデータの直後に前記第１のクロックに同期して前記メモリから出力される第３のデータとを、前記第２のクロックによってそれぞれ所定の期待値と比較することを特徴とするメモリのテスト方法。
【請求項１６】
　第１のクロックで動作するダブルデータレートメモリのテスト方法であって、
　前記第１のクロックと同じ周波数の第２のクロックで第１のテストデータを生成するとともに、前記第２のクロックの反転クロックである第３のクロックで第２のテストデータを生成し、前記第１および第２のテストデータのいずれか一方を、前記第２のクロックの信号値および前記第３のクロックの信号値のいずれか一方に応じて選択して前記ダブルデータレートメモリへ第３のテストデータとして入力することを特徴とするメモリのテスト方法。
【請求項１７】
　第１のクロックで動作するダブルデータレートメモリのテスト方法であって、
　前記第１のクロックと同じ周波数の第２のクロックで第１のテストデータを生成し、前記第１のテストデータに最下位ビットとして数値０を付加して第２のテストデータを生成するとともに、前記第１のテストデータに最下位ビットとして数値１を付加して第３のテストデータを生成し、前記第２および第３のテストデータのいずれか一方を前記第２のクロックの信号値に応じて選択して、前記ダブルデータレートメモリに入力することを特徴とするメモリのテスト方法。
【請求項１８】
　第１のクロックで動作するダブルデータレートメモリのテスト方法であって、
　第１のクロックに同期してダブルデータレートメモリから出力される第１のデータを、前記第１のクロックと同じ周波数の第２のクロックによって第２のデータとして保持し、前記第２のデータと、前記第１のデータの直後に前記第１のクロックに同期して前記ダブルデータレートメモリから出力される第３のデータとを、前記第２のクロックによってそれぞれ所定の期待値と比較することを特徴とするメモリのテスト方法。
【請求項１９】
　前記第２のクロックを遅延し、遅延クロックとして前記テストデータ選択部に与える遅延回路を設けたことを特徴とする請求項１に記載の半導体集積回路。
【請求項２０】
　前記第２のクロックを遅延し、遅延クロックとして前記テストデータ選択部に与える遅延回路を設けたことを特徴とする請求項２に記載の半導体集積回路。
【請求項２１】
　前記第２のクロックを遅延し、遅延クロックとして前記テストデータ選択部に与える遅延回路を設けたことを特徴とする請求項７に記載の半導体集積回路。
【請求項２２】
　前記第２のクロックを遅延し、遅延クロックとして前記テストデータ選択部に与える遅延回路を設けたことを特徴とする請求項８に記載の半導体集積回路。
【請求項２３】
　第１のクロックで動作するメモリと、
　前記第１のクロックの１／２の周波数の第２のクロックで動作し、第１のテストデータを生成する第１のテストパターン生成部と、
　前記第２のクロックの反転クロックである第３のクロックで動作し、第２のテストデータを生成する第２のテストパターン生成部と、
　前記第２のクロックと前記第２のクロックの反転クロックとのいずれか一方を選択できるクロック選択部と、
　前記第１のテストパターン生成部および前記第２のテストパターン生成部からそれぞれ出力される前記第１および第２のテストデータのいずれか一方を、前記クロック選択部の出力に応じて選択的に出力し、前記メモリへ第３のテストデータとして入力するテストデータ選択部とを備えた半導体集積回路。
【請求項２４】
　第１のクロックで動作するメモリと、
　前記第１のクロックの１／２の周波数の第２のクロックで動作し、第１のテストデータを生成する第１のテストパターン生成部と、
　前記第２のクロックで動作し、第２のテストデータを生成する第２のテストパターン生成部と、
　前記第２のクロックと前記第２のクロックの反転クロックとのいずれか一方を選択できるクロック選択部と、
　前記第１のテストパターン生成部および前記第２のテストパターン生成部からそれぞれ出力される前記第１および第２のテストデータのいずれか一方を、前記クロック選択部の出力に応じて選択的に出力し、前記メモリへ第３のテストデータとして入力するテストデータ選択部とを備えた半導体集積回路。
【請求項２５】
　第１のクロックで動作するダブルデータレートメモリと、
　前記第１のクロックと同じ周波数の第２のクロックで動作し、第１のテストデータを生成する第１のテストパターン生成部と、
　前記第２のクロックの反転クロックである第３のクロックで動作し、第２のテストデータを生成する第２のテストパターン生成部と、
　前記第２のクロックと前記第２のクロックの反転クロックとのいずれか一方を選択できるクロック選択部と、
　前記第１のテストパターン生成部および前記第２のテストパターン生成部からそれぞれ出力される前記第１および第２のテストデータのいずれか一方を、前記クロック選択部の出力に応じて選択的に出力し、前記ダブルデータレートメモリへ第３のテストデータとして入力するテストデータ選択部とを備えた半導体集積回路。
【請求項２６】
　第１のクロックで動作するダブルデータレートメモリと、
　前記第１のクロックと同じ周波数の第２のクロックで動作し、第１のテストデータを生成する第１のテストパターン生成部と、
　前記第２のクロックで動作し、第２のテストデータを生成する第２のテストパターン生成部と、
　前記第２のクロックと前記第２のクロックの反転クロックとのいずれか一方を選択できるクロック選択部と、
　前記第１のテストパターン生成部および前記第２のテストパターン生成部からそれぞれ出力される前記第１および第２のテストデータのいずれか一方を、前記クロック選択部の出力に応じて選択的に出力し、前記ダブルデータレートメモリへ第３のテストデータとして入力するテストデータ選択部とを備えた半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は、組み込み自己テストによりメモリのテストを行うことができる半導体集積回路、特に高速動作を行うメモリのテストを行うことができる半導体集積回路、およびメモリのテスト方法に関するものである。
【背景技術】
【０００２】
　近年、ＬＳＩ技術の進歩に伴って、半導体集積回路に搭載されるメモリの動作が高速化してきている。これらのメモリをテストするために、一般的に組み込み自己テスト（いわゆる、ＢＩＳＴ）が用いられている。
【０００３】
　図２１は、ＢＩＳＴを行うための回路ブロックを示している。図２１において、符号４０１はＢＩＳＴ回路を示し、符号４０２はＢＩＳＴの対象となるメモリを示す。メモリ４０２には第１のクロック（Ｍｅｍｏｒｙ　Ｃｌｏｃｋ）が入力され、ＢＩＳＴ回路４０１には第２のクロック（ＢＩＳＴ　Ｃｌｏｃｋ）が入力される。メモリ４０２には、クロックの立ち上がりおよび立ち下がりの何れか一方のエッジに同期して動作する通常のデータレートのメモリと、クロックの立ち上がりおよび立ち下がりの両方のエッジに各々同期して動作するダブルデータレートメモリとがある。
【０００４】
　ＢＩＳＴ回路４０１からメモリ４０２へは、アドレスおよびデータ入力と、ライトイネーブル信号等のコントロール信号とが入力される。また、メモリ４０２の出力（Ｄａｔａ−Ｏｕｔ）がＢＩＳＴ回路４０１および通常のロジック回路へ入力される。そして、ＢＩＳＴ回路４０１の内部の期待値比較回路で、メモリ４０２から入力されたデータと期待値とを比較することによりパス／フェイルの判定が行われる。
【０００５】
　ここで、メモリ４０２がダブルデータレート（ＤＤＲ；Ｄｏｕｂｌｅ　Ｄａｔａ　Ｒａｔｅ）メモリである場合において、メモリ４０２に対してＢＩＳＴを適用する場合のクロックタイミングを図２２に示す。図２２には、第１のクロック（Ｍｅｍｏｒｙ　Ｃｌｏｃｋ）、第２のクロック（ＢＩＳＴ　Ｃｌｏｃｋ）およびメモリ４０２のデータ出力Ｄａｔａ−Ｏｕｔが示されている。
【０００６】
　ＤＤＲメモリであるメモリ４０２は、第１のクロック（Ｍｅｍｏｒｙ　Ｃｌｏｃｋ）の立ち上がりと立ち下がりの両方のエッジに同期して動作ができる。そのため、例えば読み出し（Ｒｅａｄ）動作を行う場合には、図２２の時刻ｔ１における第１のクロック（Ｍｅｍｏｒｙ　Ｃｌｏｃｋ）の立ち上がりエッジでデータが出力され、時刻ｔ２における第１のクロック（Ｍｅｍｏｒｙ　Ｃｌｏｃｋ）の立ち下がりエッジで、次のデータが出力される。
【０００７】
　このようなメモリ４０２をテストするＢＩＳＴ回路４０１では、第２のクロック（ＢＩＳＴ　Ｃｌｏｃｋ）の立ち上がりエッジが時刻ｔ１，ｔ２，…，ｔｎになるようにすることで、ＤＤＲメモリを実動作速度でテストすることができる。
【０００８】
　このように、高速なメモリ４０２をテストするＢＩＳＴ回路４０１では、メモリ４０２の動作速度に応じてＢＩＳＴ回路４０１自身の動作速度を速くする必要がある。
【非特許文献１】http://www.jpo.go.jp/shiryou/s_sonota/hyoujun_gijutsu/lsi_test/lsi-test-5-1.htm
【発明の開示】
【発明が解決しようとする課題】
【０００９】
　上記のＤＤＲメモリのようにクロック周波数の倍速で動作するような場合や、非常に高速で動作するメモリを実動作速度でテストする場合には、ＢＩＳＴ回路自身を高速に動作させる必要がある。しかしながら、動作周波数が非常に高速なため、ＢＩＳＴ回路の実現が困難であるという問題があった。
【００１０】
　また、高速動作のためには、駆動能力の高いセルが必要となり、ＢＩＳＴ回路面積が増大するという問題があり、さらに高速動作のためには、クロック周波数が高くなるために消費電力が増大するというという問題があった。
【００１１】
　本発明は以上の問題点を解決するためになされたものであり、その目的は、ＢＩＳＴ回路の動作速度を抑えても実動作速度で高速メモリのテストを実施できる半導体集積回路を提供することである。
【００１２】
　また、本発明の他の目的は、ＢＩＳＴ回路の動作速度を抑えても実動作速度で高速メモリのテストを実施できるメモリのテスト方法を提供することである。
【課題を解決するための手段】
【００１３】
　上記課題を解決するために、第１の発明の半導体集積回路は、第１のクロックで動作するメモリと、第１のクロックの１／２の周波数の第２のクロックで動作し、第１のテストデータを生成する第１のテストパターン生成部と、第２のクロックの反転クロックである第３のクロックで動作し、第２のテストデータを生成する第２のテストパターン生成部と、第１のテストパターン生成部および第２のテストパターン生成部からそれぞれ出力される第１および第２のテストデータのいずれか一方を、第２のクロックの信号値および第３のクロックの信号値のいずれか一方に応じて選択的に出力し、メモリへ第３のテストデータとして入力するテストデータ選択部とを備えている。
【００１４】
　この構成によれば、メモリに与えられる第１のクロックの１／２の周波数の第２のクロックに応じて第１のテストパターン生成部で第１のテストデータを生成する。さらに、第２のクロックを反転した第３のクロックに応じて第２のテストパターン生成部で第２のテストデータを生成する。そして、第１および第２のテストデータのいずれか一方をテストデータ選択部によって第２のクロックの信号値および第３のクロックの信号値のいずれか一方に応じて選択して、メモリへ第３のテストデータとして入力する。これにより、第１および第２のテストパターン生成部およびテストデータ選択部の動作速度をメモリの動作速度の１／２に抑えた状態でも、メモリのテストを実動作速度で行うことができる。第１および第２のテストパターン生成部およびテストデータ選択部の動作速度は遅くてもよいので、駆動能力は小さくてよく、したがって回路面積が少なくてすみ、消費電力を少なく抑えることができる。
【００１５】
　第２の発明の半導体集積回路は、第１のクロックで動作するメモリと、第１のクロックの１／２の周波数の第２のクロックで動作し、第１のテストデータを生成する第１のテストパターン生成部と、第２のクロックで動作し、第２のテストデータを生成する第２のテストパターン生成部と、第１のテストパターン生成部および第２のテストパターン生成部からそれぞれ出力される第１および第２のテストデータのいずれか一方を、第２のクロックの信号値に応じて選択的に出力し、メモリへ第３のテストデータとして入力するテストデータ選択部とを備えている。
【００１６】
　この構成によれば、メモリに与えられる第１のクロックの１／２の周波数の第２のクロックに応じて第１のテストパターン生成部で第１のテストデータを生成する。さらに、第２のクロックに応じて第２のテストパターン生成部で第２のテストデータを生成する。そして、第１および第２のテストデータのいずれか一方をテストデータ選択部によって第２のクロックの信号値に応じて選択して、メモリへ第３のテストデータとして入力する。これにより、第１の発明と同様の作用効果を奏する。
【００１７】
　第３の発明の半導体集積回路は、第１のクロックで動作するメモリと、第１のクロックの１／２の周波数の第２のクロックで動作し、第１のテストデータを生成するテストパターン生成部と、テストパターン生成部で生成される第１のテストデータに最下位ビットとして数値０を付加して第２のテストデータを生成するＬＳＢ０処理部と、テストパターン生成部で生成される第１のテストデータに最下位ビットとして数値１を付加して第３のテストデータを生成するＬＳＢ１処理部と、ＬＳＢ０処理部およびＬＳＢ１処理部からそれぞれ出力される第２および第３のテストデータのいずれか一方を第２のクロックの信号値に応じて選択的に出力し、メモリへ第４のテストデータとして入力するテストデータ選択部とを備えている。
【００１８】
　この構成によれば、メモリに与えられる第１のクロックの１／２の周波数の第２のクロックに応じてテストパターン生成部で第１のテストデータを生成する。さらに、ＬＳＢ０処理部によって第１のテストデータに最下位ビットとして数値０を付加して第２のテストデータを生成し、ＬＳＢ１処理部によって第１のテストデータに最下位ビットとして数値１を付加して第３のテストデータを生成する。そして、テストデータ選択部によって第２および第３のテストデータのいずれか一方を第２のクロックの信号値に応じて選択的に出力する。これにより、テストパターン生成部、ＬＳＢ０処理部、ＬＳＢ１処理部およびテストデータ選択部の動作速度をメモリの動作速度の１／２に抑えた状態でも、メモリのテストを実動作速度で行うことができる。テストパターン生成部、ＬＳＢ０処理部、ＬＳＢ１処理部およびテストデータ選択部の動作速度は遅くてもよいので、駆動能力は小さくてよく、したがって回路面積が少なくてすみ、消費電力を少なく抑えることができる。
【００１９】
　上記第３の発明の構成において、第２のクロックを遅延し、遅延クロックとしてテストデータ選択部に与える遅延回路を設けてもよい。
【００２０】
　この構成によれば、第２のクロックを遅延させているので、第１のクロックに対してホールド時間を確保でき、高速に動作するメモリに対して安定したテストパターンを印加することができる。
【００２１】
　第４の発明の半導体集積回路は、第１のクロックで動作するメモリと、第１のクロックの１／２の周波数の第２のクロックで動作し、第１のテストデータを生成するテストパターン生成部と、テストパターン生成部で生成される第１のテストデータに最下位ビットとして数値０を付加して第２のテストデータを生成するＬＳＢ０処理部と、テストパターン生成部で生成される第１のテストデータに最下位ビットとして数値１を付加して第３のテストデータを生成するＬＳＢ１処理部と、第２のクロックと第２のクロックの反転クロックとのいずれか一方を選択できるクロック選択部と、ＬＳＢ０処理部およびＬＳＢ１処理部からそれぞれ出力される第２および第３のテストデータのいずれか一方をクロック選択部の出力に応じて選択的に出力し、メモリへ第４のテストデータとして入力するテストデータ選択部とを備えている。
【００２２】
　この構成によれば、第２のクロックと第２のクロックの反転クロックとのいずれか一方をクロック選択部で選択し、選択されたクロックに応じてテストデータ選択部で第２および第３のテストデータのいずれか一方を選択するようにしたので、クロック選択部の選択の状態を逆にすることで、第２および第３のテストデータを各々選択するタイミングを逆にすることができる。その結果、テストパターンの質が高くなるとともに、テストパターンとしてアドレス信号を与えるときにアドレス信号のインクリメントおよびデクリメントを選択的に行うことができる。その他は第３の発明と同様である。
【００２３】
　第５の発明の半導体集積回路は、第１のクロックで動作するメモリと、第１のクロックに同期してメモリから出力される第１の出力データを、第１のクロックの１／２の周波数の第２のクロックによって取り込む記憶素子と、第２のクロックによって動作し、記憶素子から出力される第２の出力データと、第１の出力データの直後にメモリから出力される第３の出力データとを、それぞれ所定の期待値と比較する期待値比較部とを備えている。
【００２４】
　この構成によれば、メモリに与えられる第１のクロックの１／２の周波数の第２のクロックの反転クロックによって、メモリから第１のクロックに同期して出力される第１の出力データを取り込む。そして、記憶素子から出力される第２の出力データと、第１の出力データの直後にメモリから出力される第３の出力データとを、期待値比較部において、第２のクロックによってそれぞれ所定の期待値と比較する。これにより、記憶素子および期待値比較部の動作速度をメモリの動作速度の１／２に抑えた状態でも、メモリのテストを実動作速度で行うことができる。記憶素子および期待値比較部の動作速度は遅くてもよいので、駆動能力は小さくてよく、したがって回路面積が少なくてすみ、消費電力を少なく抑えることができる。
【００２５】
　第６の発明の半導体集積回路は、第１のクロックで動作するダブルデータレートメモリと、第１のクロックと同じ周波数の第２のクロックで動作し、第１のテストデータを生成する第１のテストパターン生成部と、第２のクロックの反転クロックである第３のクロックで動作し、第２のテストデータを生成する第２のテストパターン生成部と、第１のテストパターン生成部および第２のテストパターン生成部からそれぞれ出力される第１および第２のテストデータのいずれか一方を、第２のクロックの信号値および第３のクロックの信号値のいずれか一方に応じて選択的に出力し、ダブルデータレートメモリへ第３のテストデータとして入力するテストデータ選択部とを備えている。
【００２６】
　この構成によれば、ダブルデータレートメモリに与えられる第１のクロックと同じ周波数の第２のクロックに応じて第１のテストパターン生成部で第１のテストデータを生成する。さらに、第２のクロックを反転した第３のクロックに応じて第２のテストパターン生成部で第２のテストデータを生成する。そして、第１および第２のテストデータのいずれか一方をテストデータ選択部によって第２のクロックの信号値および第３のクロックの信号値のいずれか一方に応じて選択して、ダブルデータレートメモリへ第３のテストデータとして入力する。これにより、第１および第２のテストパターン生成部およびテストデータ選択部の動作速度をダブルデータレートメモリの動作速度と同じに抑えた状態でも、ダブルデータレートメモリのテストを実動作速度で行うことができる。第１および第２のテストパターン生成部およびテストデータ選択部の動作速度は遅くてもよいので、駆動能力は小さくてよく、したがって回路面積が少なくてすみ、消費電力を少なく抑えることができる。
【００２７】
　第７の発明の半導体集積回路は、第１のクロックで動作するダブルデータレートメモリと、第１のクロックと同じ周波数の第２のクロックで動作し、第１のテストデータを生成する第１のテストパターン生成部と、第２のクロックで動作し、第２のテストデータを生成する第２のテストパターン生成部と、第１のテストパターン生成部および第２のテストパターン生成部からそれぞれ出力される第１および第２のテストデータのいずれか一方を、第２のクロックの信号値に応じて選択的に出力し、ダブルデータレートメモリへ第３のテストデータとして入力するテストデータ選択部とを備えている。
【００２８】
　この構成によれば、ダブルデータレートメモリに与えられる第１のクロックと同じ周波数の第２のクロックに応じて第１のテストパターン生成部で第１のテストデータを生成する。さらに、第２のクロックに応じて第２のテストパターン生成部で第２のテストデータを生成する。そして、第１および第２のテストデータのいずれか一方をテストデータ選択部によって第２のクロックの信号値に応じて選択して、ダブルデータレートメモリへ第３のテストデータとして入力する。これにより、第１および第２のテストパターン生成部およびテストデータ選択部の動作速度をダブルデータレートメモリの動作速度と同じに抑えた状態でも、ダブルデータレートメモリのテストを実動作速度で行うことができる。第１および第２のテストパターン生成部およびテストデータ選択部の動作速度は遅くてもよいので、駆動能力は小さくてよく、したがって回路面積が少なくてすみ、消費電力を少なく抑えることができる。
【００２９】
　第８の発明の半導体集積回路は、第１のクロックで動作するダブルデータレートメモリと、第１のクロックと同じ周波数の第２のクロックで動作し、第１のテストデータを生成するテストパターン生成部と、テストパターン生成部で生成される第１のテストデータに最下位ビットとして数値０を付加して第２のテストデータを生成するＬＳＢ０処理部と、テストパターン生成部で生成される第１のテストデータに最下位ビットとして数値１を付加して第３のテストデータを生成するＬＳＢ１処理部と、ＬＳＢ０処理部およびＬＳＢ１処理部からそれぞれ出力される第２および第３のテストデータのいずれか一方を第２のクロックの信号値に応じて選択的に出力し、ダブルデータレートメモリへ第４のテストデータとして入力するテストデータ選択部とを備えている。
【００３０】
　この構成によれば、ダブルデータレートメモリに与えられる第１のクロックと同じ周波数の第２のクロックに応じてテストパターン生成部で第１のテストデータを生成する。さらに、ＬＳＢ０処理部によって第１のテストデータに最下位ビットとして数値０を付加して第２のテストデータを生成し、ＬＳＢ１処理部によって第１のテストデータに最下位ビットとして数値１を付加して第３のテストデータを生成する。そして、テストデータ選択部によって第２および第３のテストデータのいずれか一方を第２のクロックの信号値に応じて選択的に出力する。これにより、テストパターン生成部、ＬＳＢ０処理部、ＬＳＢ１処理部およびテストデータ選択部の動作速度をダブルデータレートメモリの動作速度と同じに抑えた状態でも、ダブルデータレートメモリのテストを実動作速度で行うことができる。テストパターン生成部、ＬＳＢ０処理部、ＬＳＢ１処理部およびテストデータ選択部の動作速度は遅くてもよいので、駆動能力は小さくてよく、したがって回路面積が少なくてすみ、消費電力を少なく抑えることができる。
【００３１】
　第８の発明の構成においては、第２のクロックを遅延し、遅延クロックとしてテストデータ選択部に与える遅延回路を設けてもよい。
【００３２】
　この構成によれば、第２のクロックを遅延させているので、第１のクロックに対してホールド時間を確保でき、高速に動作するダブルデータレートメモリに対して安定したテストパターンを印加することができる。
【００３３】
　第９の発明の半導体集積回路は、第１のクロックで動作するダブルデータレートメモリと、第１のクロックと同じ周波数の第２のクロックで動作し、第１のテストデータを生成するテストパターン生成部と、テストパターン生成部で生成される第１のテストデータに最下位ビットとして数値０を付加して第２のテストデータを生成するＬＳＢ０処理部と、テストパターン生成部で生成される第１のテストデータに最下位ビットとして数値１を付加して第３のテストデータを生成するＬＳＢ１処理部と、第２のクロックと第２のクロックの反転クロックとのいずれか一方を選択できるクロック選択部と、ＬＳＢ０処理部およびＬＳＢ１処理部からそれぞれ出力される第２および第３のテストデータのいずれか一方をクロック選択部の出力に応じて選択的に出力し、ダブルデータレートメモリへ第４のテストデータとして入力するテストデータ選択部とを備えている。
【００３４】
　この構成によれば、第２のクロックと第２のクロックの反転クロックとのいずれか一方をクロック選択部で選択し、選択されたクロックに応じてテストデータ選択部で第２および第３のテストデータのいずれか一方を選択するようにしたので、クロック選択部の選択の状態を逆にすることで、第２および第３のテストデータを各々選択するタイミングを逆にすることができる。その結果、テストパターンの質が高くなるとともに、テストパターンとしてアドレス信号を与えるときにアドレス信号のインクリメントおよびデクリメントを選択的に行うことができる。その他は第８の発明と同様である。
【００３５】
　第１０の発明の半導体集積回路は、第１のクロックで動作するダブルデータレートメモリと、第１のクロックに同期してダブルデータレートメモリから出力される第１の出力データを、第１のクロックと同じ周波数の第２のクロックによって取り込む記憶素子と、第２のクロックによって動作し、記憶素子から出力される第２の出力データと、第１の出力データの直後にダブルデータレートメモリから出力される第３の出力データとを、それぞれ所定の期待値と比較する期待値比較部とを備えている。
【００３６】
　この構成によれば、ダブルデータレートメモリに与えられる第１のクロックと同じ周波数の第２のクロックの反転クロックによってダブルデータレートメモリから第１のクロックに同期して出力される第１の出力データを取り込む。そして、記憶素子から出力される第２の出力データと、第１の出力データの直後にダブルデータレートメモリから出力される第３の出力データとを、期待値比較部において、第２のクロックによってそれぞれ所定の期待値と比較する。これにより、記憶素子および期待値比較部の動作速度をダブルデータレートメモリの動作速度と同じに抑えた状態でも、ダブルデータレートメモリのテストを実動作速度で行うことができる。記憶素子および期待値比較部の動作速度は遅くてもよいので、駆動能力は小さくてよく、したがって回路面積が少なくてすみ、消費電力を少なく抑えることができる。
【００３７】
　第１１の発明のメモリのテスト方法は、第１のクロックで動作するメモリのテスト方法であり、第１のクロックの１／２の周波数の第２のクロックで第１のテストデータを生成するとともに、第２のクロックの反転クロックである第３のクロックで第２のテストデータを生成し、第１および第２のテストデータのいずれか一方を、第２のクロックの信号値および第３のクロックの信号値のいずれか一方に応じて選択してメモリへ第３のテストデータとして入力する。
【００３８】
　この方法によれば、第１のクロックで動作するメモリのテストを第１のクロックの１／２の周波数の第２のクロックで実行することができる。この際、第２のクロックの周波数が低くてよいことから、テストを行うための回路の駆動能力が小さくてよく、したがって回路面積が少なくてすみ、またテストを行うための電力消費を少なくできる。
【００３９】
　第１２の発明のメモリのテスト方法は、第１のクロックで動作するメモリのテスト方法であり、第１のクロックの１／２の周波数の第２のクロックで第１のテストデータを生成し、第１のテストデータに最下位ビットとして数値０を付加して第２のテストデータを生成するとともに、第１のテストデータに最下位ビットとして数値１を付加して第３のテストデータを生成し、第２および第３のテストデータのいずれか一方を第２のクロックの信号値に応じて選択して、メモリに入力する。
【００４０】
　この方法によれば、第１１の発明と同様の作用効果を奏する。
【００４１】
　第１３の発明のメモリのテスト方法は、第１のクロックで動作するメモリのテスト方法であり、第１のクロックに同期してメモリから出力される第１のデータを、第１のクロックの１／２の周波数の第２のクロックによって第２のデータとして保持し、第２のデータと、第１のデータの直後に第１のクロックに同期してメモリから出力される第３のデータとを、第２のクロックによってそれぞれ所定の期待値と比較する。
【００４２】
　この方法によれば、第１１の発明と同様の作用効果を奏する。
【００４３】
　第１４の発明のメモリのテスト方法は、第１のクロックで動作するダブルデータレートメモリのテスト方法であり、第１のクロックと同じ周波数の第２のクロックで第１のテストデータを生成するとともに、第２のクロックの反転クロックである第３のクロックで第２のテストデータを生成し、第１および第２のテストデータのいずれか一方を、第２のクロックの信号値および第３のクロックの信号値のいずれか一方に応じて選択してダブルデータレートメモリへ第３のテストデータとして入力する。
【００４４】
　この方法によれば、第１のクロックで動作するダブルデータレートメモリのテストを第１のクロックと同じ周波数の第２のクロックで実行することができる。この際、第２のクロックの周波数を第１のクロックの２倍にする必要がなく、第２のクロックの周波数が低くてよいことから、テストを行うための回路の駆動能力が小さくてよく、したがって回路面積が少なくてすみ、またテストを行うための電力消費を少なくできる。
【００４５】
　第１５の発明のメモリのテスト方法は、第１のクロックで動作するダブルデータレートメモリのテスト方法であって、第１のクロックと同じ周波数の第２のクロックで第１のテストデータを生成し、第１のテストデータに最下位ビットとして数値０を付加して第２のテストデータを生成するとともに、第１のテストデータに最下位ビットとして数値１を付加して第３のテストデータを生成し、第２および第３のテストデータのいずれか一方を第２のクロックの信号値に応じて選択して、ダブルデータレートメモリに入力する。
【００４６】
　この方法によれば、第１４の発明と同様の作用効果を奏する。
【００４７】
　第１６の発明のメモリのテスト方法は、第１のクロックで動作するダブルデータレートメモリのテスト方法であり、第１のクロックに同期してダブルデータレートメモリから出力される第１のデータを、第１のクロックと同じ周波数の第２のクロックによって第２のデータとして保持し、第２のデータと、第１のデータの直後に第１のクロックに同期してダブルデータレートメモリから出力される第３のデータとを、第２のクロックによってそれぞれ所定の期待値と比較する。
【００４８】
　この方法によれば、第１４の発明と同様の作用効果を奏する。
【００４９】
　上記第１、第２、第６および第７の発明の構成において、第２のクロックを遅延し、遅延クロックとしてテストデータ選択部に与える遅延回路を設けてもよい。
【００５０】
　この構成によれば、第２のクロックを遅延させているので、第１のクロックに対してホールド時間を確保でき、高速に動作するメモリに対して安定したテストパターンを印加することができる。
【００５１】
　第１７の発明の半導体集積回路は、第１のクロックで動作するメモリと、第１のクロックの１／２の周波数の第２のクロックで動作し、第１のテストデータを生成する第１のテストパターン生成部と、第２のクロックの反転クロックである第３のクロックで動作し、第２のテストデータを生成する第２のテストパターン生成部と、第２のクロックと第２のクロックの反転クロックとのいずれか一方を選択できるクロック選択部と、第１のテストパターン生成部および第２のテストパターン生成部からそれぞれ出力される第１および第２のテストデータのいずれか一方を、クロック選択部の出力に応じて選択的に出力し、メモリへ第３のテストデータとして入力するテストデータ選択部とを備えている。
【００５２】
　第１８の発明の半導体集積回路は、第１のクロックで動作するメモリと、第１のクロックの１／２の周波数の第２のクロックで動作し、第１のテストデータを生成する第１のテストパターン生成部と、第２のクロックで動作し、第２のテストデータを生成する第２のテストパターン生成部と、第２のクロックと第２のクロックの反転クロックとのいずれか一方を選択できるクロック選択部と、第１のテストパターン生成部および第２のテストパターン生成部からそれぞれ出力される第１および第２のテストデータのいずれか一方を、クロック選択部の出力に応じて選択的に出力し、メモリへ第３のテストデータとして入力するテストデータ選択部とを備えている。
【００５３】
　第１９の発明の半導体集積回路は、第１のクロックで動作するダブルデータレートメモリと、第１のクロックと同じ周波数の第２のクロックで動作し、第１のテストデータを生成する第１のテストパターン生成部と、第２のクロックの反転クロックである第３のクロックで動作し、第２のテストデータを生成する第２のテストパターン生成部と、第２のクロックと第２のクロックの反転クロックとのいずれか一方を選択できるクロック選択部と、第１のテストパターン生成部および第２のテストパターン生成部からそれぞれ出力される第１および第２のテストデータのいずれか一方を、クロック選択部の出力に応じて選択的に出力し、ダブルデータレートメモリへ第３のテストデータとして入力するテストデータ選択部とを備えている。
【００５４】
　第２０の発明の半導体集積回路は、第１のクロックで動作するダブルデータレートメモリと、第１のクロックと同じ周波数の第２のクロックで動作し、第１のテストデータを生成する第１のテストパターン生成部と、第２のクロックで動作し、第２のテストデータを生成する第２のテストパターン生成部と、第２のクロックと第２のクロックの反転クロックとのいずれか一方を選択できるクロック選択部と、第１のテストパターン生成部および第２のテストパターン生成部からそれぞれ出力される第１および第２のテストデータのいずれか一方を、クロック選択部の出力に応じて選択的に出力し、ダブルデータレートメモリへ第３のテストデータとして入力するテストデータ選択部とを備えている。
【００５５】
　これらの構成によれば、第２のクロックと第２のクロックの反転クロックとのいずれか一方をクロック選択部で選択し、選択されたクロックに応じてテストデータ選択部で第１および第２のテストデータのいずれか一方を選択するようにしたので、クロック選択部の選択の状態を逆にすることで、第１および第２のテストデータを各々選択するタイミングを逆にすることができる。その結果、テストパターンの質が高くなるとともに、テストパターンとしてアドレス信号を与えるときにアドレス信号のインクリメントおよびデクリメントを選択的に行うことができる。その他は第１、第２、第６または第７の発明と同様である。
【００５６】
　上記の説明において、メモリというのは、クロックの立ち上がりおよび立ち下がりの何れか一方のエッジに同期して動作する通常のデータレートのメモリを意味し、ダブルデータレートメモリというのは、クロックの立ち上がりおよび立ち下がりの両方のエッジに各々同期して動作するものを意味する。
【発明の効果】
【００５７】
　本発明の半導体集積回路およびメモリのテスト方法によれば、上記構成を有し、ＢＩＳＴ回路の動作速度を抑えても、実動作速度で高速メモリのテストを実施することができる。
【発明を実施するための最良の形態】
【００５８】
　以下、本発明の実施の形態について図面を参照しつつ説明する。なお、図中、同一または相当部分には同一符号を付してその説明は繰り返さない。
【００５９】
　（実施の形態１）
　図１は本発明の実施の形態１における半導体集積回路およびメモリのテスト方法を説明するためのブロック図であり、図２は図１の各部のタイミング図である。
【００６０】
　図１において、符号１０１は入力クロックの立ち上がりエッジに同期して動作する第１のテストパターン生成部を示す。符号１０２は入力クロックの立ち上がりエッジに同期して動作する第２のテストパターン生成部を示す。符号１０３は反転クロック生成用のインバータを示す。符号１０４はテストデータ選択部を示す。これらがＢＩＳＴ回路を構成している。符号１０５はＢＩＳＴの対象となる通常のデータレートのメモリを示し、入力クロックの立ち上がりエッジに同期して動作する。
【００６１】
　第１のクロックＣＫ１は、メモリ１０５ヘ与えられるクロック信号である。第２のクロックＣＫ２は、第１のテストパターン生成部１０１に与えられるクロック信号であり、その周波数は第１のクロックＣＫ１の１／２である。第３のクロックＣＫ３は、第２のクロックＣＫ２をインバータ１０３によって反転したクロック信号であり、第２のテストパターン生成部１０２のクロック信号である。
【００６２】
　第１のテストパターン生成部１０１では、図２のタイミング図に示すように、第２のクロックＣＫ２の立ち上がりエッジに同期して、時刻ｔ０で「０００」、時刻ｔ２で「０１０」、時刻ｔ４で「１００」、時刻ｔ６で「１１０」のアドレス信号ＴＰ１をテストデータとして生成する。
【００６３】
　また、第２のテストパターン生成部１０２では、図２のタイミング図に示すように、第３のクロックＣＫ３の立ち上がりエッジに同期して、時刻ｔ１で「００１」、時刻ｔ３で「０１１」、時刻ｔ５で「１０１」、時刻ｔ７で「１１１」のアドレス信号ＴＰ２をテストデータとして生成する。
【００６４】
　テストデータ選択部１０４は、第２のクロックＣＫ２の論理値０／１に応じて、第１のテストパターン生成部１０１および第２のテストパターン生成部１０２でそれぞれ生成されるアドレス信号ＴＰ１，ＴＰ２を交互に選択してテストデータ、すなわちアドレス信号ＴＰ３として出力する。なお、テストデータ選択部１０４は、第３のクロックＣＫ３の論理値０／１に応じて選択動作を行ってもよい。
【００６５】
　第２のクロックＣＫ２が論理値１の場合にアドレス信号ＴＰ１を選択し、論理値０の場合にアドレス信号ＴＰ２を選択すれば、メモリ１０５にテストデータとして入力されるアドレス信号ＴＰ３は、時刻ｔ０で「０００」、時刻ｔ１で「００１」、時刻ｔ２で「０１０」、時刻ｔ３で「０１１」、時刻ｔ４で「１００」、時刻ｔ５で「１０１」、時刻ｔ６で「１１０」、時刻ｔ７で「１１１」になり、メモリ１０５の第１クロックＣＫ１の立ち上がりエッジに同期してテストパターン（一連のアドレス信号）を生成することが可能になる。
【００６６】
　以上のように、本実施の形態によれば、第２のクロックＣＫ２およびそれを反転した第３のクロックＣＫ３によってそれぞれ動作する第１および第２のテストパターン生成部１０１，１０２を設け、第１および第２のテストパターン生成部１０１，１０２の出力のいずれか一方を第２および第３のクロックＣＫ２，ＣＫ３のいずれか一方の状態に応じてテストデータ選択部１０４で選択してメモリ１０５に入力する構成を採用することにより、第１および第２のテストパターン生成部１０１，１０２の２倍の周波数で動作するメモリ１０５に対して、実動作速度でテストパターンを印加することが可能となる。つまり、ＢＩＳＴ回路である第１および第２のテストパターン生成部１０１，１０２の動作周波数を２倍に上げることなく、高い周波数で動作するメモリ１０５のテストを行うことができる。したがって、ＢＩＳＴを行うための第１および第２のテストパターン生成部１０１，１０２の駆動能力が小さくてよく、したがって、回路面積も少なくてすみ、消費電力も少なくできる。
【００６７】
　なお、メモリ１０５がＤＤＲメモリの場合は、図３のタイミング図に示すように、ＤＤＲメモリに与える第１のクロックＣＫ１とＢＩＳＴ回路に与える第２のクロックＣＫ２に同一の周波数のクロック信号を入力することで、クロックＣＫ１の立ち上がりエッジと立ち下がりエッジの両方のエッジに同期してテストパターンをＤＤＲメモリへ入力することができ、本実施の形態と同様の効果を得ることができる。つまり、ＢＩＳＴ回路である第１および第２のテストパターン生成部の動作周波数を２倍に上げることなく、ＤＤＲメモリのテストを行うことが可能となる。したがって、ＢＩＳＴを行うための第１および第２のテストパターン生成部１０１，１０２の駆動能力が小さくてよく、したがって、回路面積も少なくてすみ、消費電力も少なくできる。
【００６８】
　また、図１の構成では、第２のクロックＣＫ２をインバータ１０３で反転した第３のクロックＣＫ３を第２のテストパターン生成部１０２に与えるようにしたが、第２のクロックＣＫ２をそのまま与えても、第３のクロックＣＫ３を与えた場合と同様のアドレス信号ＴＰ３を得ることができる。この場合、アドレス信号ＴＰ２は、図２のタイミングに比べて第２のクロックＣＫ２の半サイクル分進むことになる。
【００６９】
　（実施の形態２）
　図４は本発明の実施の形態２における半導体集積回路およびメモリのテスト方法を説明するためのブロック図であり、図５はタイミング図である。
【００７０】
　以下、図４に示す半導体集積回路におけるメモリのテスト方法について、図７のフローチャートに基づいて説明する。
【００７１】
　図４において、符号２０１は入力クロックの立ち上がりエッジに同期して動作するテストパターン生成部を示す。符号２０２はＬＳＢ０処理部を示し、符号２０３はＬＳＢ１処理部を示し、符号２０４はテストデータ選択部を示す。これらがＢＩＳＴ回路を構成している。符号２０５はＢＩＳＴの対象となる通常のデータレートのメモリを示し、入力クロックの立ち上がりエッジに同期して動作する。
【００７２】
　第１のクロックＣＫ１は、メモリ２０５へ与えられるクロック信号である。第２のクロックＣＫ２は、テストパターン生成部２０１へ与えられるクロック信号であり、その周波数は第１のクロックＣＫ１の１／２である。
【００７３】
　図７において、最初にテストパターン生成処理ＳＴ３０１が行われる。第２のクロックＣＫ２の立ち上がりエッジに同期してテストパターン生成部２０１において、テストデータが生成される。具体的には、時刻ｔ０で、テストデータ、つまりアドレス信号ＴＰ０として｛００｝が生成され、時刻ｔ２で、アドレス信号ＴＰ０として｛０１｝が生成され、時刻ｔ４で、アドレス信号ＴＰ０として｛１０｝が生成され、時刻ｔ６で、アドレス信号ＴＰ０として｛１１｝が生成される。
【００７４】
　つぎに、ＬＳＢ処理ＳＴ３０２が行われる。つまり、テストパターン生成部２０１で生成されたアドレス信号ＴＰ０に最下位ビットとして数値０または１を付加してアドレス信号ＴＰ１，ＴＰ２を生成する処理が行われる。
【００７５】
　具体的には、ＬＳＢ０処理部２０２では、アドレス信号ＴＰ０に最下位ビットとして数値０を付加してアドレス信号ＴＰ１を生成する。また、ＬＳＢ１処理部２０３では、アドレス信号ＴＰ０に最下位ビットとして数値１を付加してアドレス信号ＴＰ２を生成する。ここで、ＬＳＢ０処理部２０２およびＬＳＢ１処理部２０３については、クロックによる同期は行われず、単にテストパターン生成部２０１の出力のＬＳＢに論理値「０」または「１」を付加しているのみである。ｖｅｒｉｌｏｇの記述にすると、以下のようになる。
【００７６】
　ａｓｓｉｇｎ ＴＰ１ ＝ ｛ＴＰ０,０｝；
　ａｓｓｉｇｎ ＴＰ２ ＝ ｛ＴＰ０,１｝；
　図５のタイミング図に示すように、時刻ｔ０では、アドレス信号ＴＰ０として生成された２ビットアドレス｛００｝に対して、ＬＳＢ０処理部２０２において、最下位ビットとして数値０が付加され、３ビットのアドレス｛０００｝がアドレス信号ＴＰ１として生成される。また、ＬＳＢ１処理部２０３において、アドレス信号ＴＰ０に最下位ビットとして数値１が付加され、３ビットのアドレス｛００１｝がアドレス信号ＴＰ２として生成される。
【００７７】
　時刻ｔ２では、アドレス信号ＴＰ０として生成された２ビットアドレス｛０１｝に対して、ＬＳＢ０処理部２０２において、最下位ビットとして数値０が付加され、３ビットのアドレス｛０１０｝がアドレス信号ＴＰ１として生成される。また、ＬＳＢ１処理部２０３において、アドレス信号ＴＰ０に最下位ビットとして数値１が付加され、３ビットのアドレス｛０１１｝がアドレス信号ＴＰ２として生成される。
【００７８】
　時刻ｔ４では、アドレス信号ＴＰ０として生成された２ビットアドレス｛１０｝に対して、ＬＳＢ０処理部２０２において、最下位ビットとして数値０が付加され、３ビットのアドレス｛１００｝がアドレス信号ＴＰ１として生成される。また、ＬＳＢ１処理部２０３において、アドレス信号ＴＰ０に最下位ビットとして数値１が付加され、３ビットのアドレス｛１０１｝がアドレス信号ＴＰ２として生成される。
【００７９】
　時刻ｔ６では、アドレス信号ＴＰ０として生成された２ビットアドレス｛１１｝に対して、ＬＳＢ０処理部２０２において、最下位ビットとして数値０が付加され、３ビットのアドレス｛１１０｝がアドレス信号ＴＰ１として生成される。また、ＬＳＢ１処理部２０３において、アドレス信号ＴＰ０に最下位ビットとして数値１が付加され、３ビットのアドレス｛１１１｝がアドレス信号ＴＰ２として生成される。
【００８０】
　つぎに、テストデータ選択処理ＳＴ３０３が行われる。ここでは、ＬＳＢ０処理部２０２で生成されたテストデータであるアドレス信号ＴＰ１と、ＬＳＢ１処理部２０３で生成されたテストデータであるアドレス信号ＴＰ２とが、第２のクロックＣＫ２の信号値によってアドレス信号ＴＰ３として選択的に出力される。
【００８１】
　テストデータ選択部２０４では、第２のクロックＣＫ２が論理値１の時にアドレス信号ＴＰ１を選択してメモリ２０５へ出力し、第２のクロックＣＫ２が論理値０の時にアドレス信号ＴＰ２を選択してメモリ２０５へ出力する。
【００８２】
　第２のクロックＣＫ２の論理値が１の区間である時刻ｔ０から時刻ｔ１までの間は、テストデータ選択部２０４からテストデータであるアドレス信号ＴＰ３として｛０００｝が出力される。第２のクロックＣＫ２の論理値が０の区間である時刻ｔ１から時刻ｔ２までの間は、テストデータ選択部２０４からアドレス信号ＴＰ３として｛００１｝が出力される。
【００８３】
　第２のクロックＣＫ２の論理値が１の区間である時刻ｔ２から時刻ｔ３までの間は、テストデータ選択部２０４からアドレス信号ＴＰ３として｛０１０｝が出力される。第２のクロックＣＫ２の論理値が０の区間である時刻ｔ３から時刻ｔ４までの間は、テストデータ選択部２０４からアドレス信号ＴＰ３として｛０１１｝が出力される。
【００８４】
　第２のクロックＣＫ２の論理値が１の区間である時刻ｔ４から時刻ｔ５までの間は、テストデータ選択部２０４からアドレス信号ＴＰ３として｛１００｝が出力される。第２のクロックＣＫ２の論理値が０の区間である時刻ｔ５から時刻ｔ６までの間は、テストデータ選択部２０４からアドレス信号ＴＰ３として｛１０１｝が出力される。
【００８５】
　第２のクロックＣＫ２の論理値が１の区間である時刻ｔ６から時刻ｔ７までの間は、テストデータ選択部２０４からアドレス信号ＴＰ３として｛１１０｝が出力される。第２のクロックＣＫ２の論理値が０の区間である時刻ｔ７から時刻ｔ８までの間は、テストデータ選択部２０４からアドレス信号ＴＰ３として｛１１１｝が出力される。
【００８６】
　つぎに、テストパターン印加処理ＳＴ３０４が行われる。ここでは、テストデータ選択部２０４から出力されたアドレス信号ＴＰ３が、メモリ２０５に印加される。
【００８７】
　以上のように、本実施の形態によれば、第２のクロックＣＫ２によって動作する単一のテストパターン生成部２０１を設け、テストパターン生成部２０１から出力されるアドレス信号ＴＰ０に対して、最下位ビットとして数値０を付加するＬＳＢ０処理部２０２と、最下位ビットとして数値１を付加するＬＳＢ１処理部２０３とを設け、さらにＬＳＢ０処理部２０２のアドレス信号ＴＰ１とＬＳＢ１処理部２０３のアドレス信号ＴＰ２のいずれか一方を選択して出力するテストデータ選択部２０４を設けている。これにより、テストパターン生成部２０１の２倍の周波数で動作するメモリ２０５に対して、実動作速度でテストパターンを印加することが可能となる。つまり、ＢＩＳＴ回路であるテストパターン生成部２０１とＬＳＢ０処理部２０２およびＬＳＢ１処理部２０３の動作周波数を２倍に上げることなく、高い周波数で動作するメモリ２０５のテストを行うことができる。したがって、ＢＩＳＴを行うためのテストパターン生成部２０１とＬＳＢ０処理部２０２およびＬＳＢ１処理部２０３の駆動能力が小さくてよく、したがって回路面積も少なくてすみ、消費電力も少なくできる。
【００８８】
　なお、メモリ２０５がＤＤＲメモリの場合は、図６のタイミング図に示すように、ＤＤＲメモリに与える第１のクロックＣＫ１とＢＩＳＴ回路に与える第２のクロックＣＫ２とに同一の周波数のクロック信号を入力することで、クロックＣＫ１の立ち上がりエッジと立ち下がりエッジの両方のエッジに同期してテストパターンをＤＤＲメモリへ入力することができ、本実施の形態と同様の効果を得ることができる。つまり、ＢＩＳＴ回路であるテストパターン生成部２０１の動作周波数を２倍に上げることなく、ＤＤＲメモリのテストを行うことが可能となる。したがって、ＢＩＳＴを行うためのテストパターン生成部２０１とＬＳＢ０処理部２０２およびＬＳＢ１処理部２０３の駆動能力が小さくてよく、したがって回路面積も少なくてすみ、消費電力も少なくできる。
【００８９】
　（実施の形態３）
　図８は本発明の実施の形態３における半導体集積回路およびメモリのテスト方法を説明するためのブロック図であり、図９はタイミング図である。
【００９０】
　以下、図８に示す半導体集積回路におけるメモリのテスト方法について、図７のフローチャートに基づいて説明する。
【００９１】
　図４の半導体集積回路と異なる点は、第２のクロックＣＫ２を遅延して遅延クロックＣＫ２’を生成する遅延回路２０６を備えた点である。この遅延回路２０６としては、例えば、バッファやインバータを直列に複数個並べることで一定時間の遅延を持たせる回路、あるいは一定時間の遅延を発生させることができる遅延素子が用いられる。
【００９２】
　以下、この実施の形態におけるテストデータ選択処理ＳＴ３０３およびテストパターン印加処理ＳＴ３０４について説明する。
【００９３】
　テストデータ選択処理ＳＴ３０３では、ＬＳＢ０処理部２０２で生成されたアドレス信号ＴＰ１と、ＬＳＢ１処理部２０３で生成されたアドレス信号ＴＰ２とのいずれか一方を、第２のクロックＣＫ２を遅延回路２０６で遅延した遅延クロックＣＫ２’によって選択的に出力する。その選択処理は、テストデータ選択部２０４によって行われる。
【００９４】
　テストデータ選択部２０４では、遅延クロックＣＫ２’が論理値１の時にアドレス信号ＴＰ１を選択し、クロックＣＫ２’が論理値０の時にアドレス信号ＴＰ２を選択する。
【００９５】
　遅延クロックＣＫ２’の論理値が１の区間である時刻ｔ０’から時刻ｔ１’までの間は、テストデータ選択部２０４からアドレス信号ＴＰ３として｛０００｝が出力され、遅延クロックＣＫ２’の論理値が０の区間である時刻ｔ１’から時刻ｔ２’までの間は、テストデータ選択部２０４からアドレス信号ＴＰ３として｛００１｝が出力される。
【００９６】
　遅延クロックＣＫ２’の論理値が１の区間である時刻ｔ２’から時刻ｔ３’までの間は、テストデータ選択部２０４からアドレス信号ＴＰ３として｛０１０｝が出力され、遅延クロックＣＫ２’の論理値が０の区間である時刻ｔ３’から時刻ｔ４’までの間は、テストデータ選択部２０４からアドレス信号ＴＰ３として｛０１１｝が出力される。
【００９７】
　遅延クロックＣＫ２’の論理値が１の区間である時刻ｔ４’から時刻ｔ５’までの間は、テストデータ選択部２０４からアドレス信号ＴＰ３として｛１００｝が出力され、遅延クロックＣＫ２’の論理値が０の区間である時刻ｔ５’から時刻ｔ６’までの間は、テストデータ選択部２０４からアドレス信号ＴＰ３として｛１０１｝が出力される。
【００９８】
　遅延クロックＣＫ２’の論理値が１の区間である時刻ｔ６’から時刻ｔ７’までの間は、テストデータ選択部２０４からアドレス信号ＴＰ３として｛１１０｝が出力され、遅延クロックＣＫ２’の論理値が０の区間である時刻ｔ７’から時刻ｔ８’までの間は、テストデータ選択部２０４からアドレス信号ＴＰ３として｛１１１｝が出力される。
【００９９】
　テストパターン印加処理ＳＴ３０４では、テストデータ選択部２０４から出力されたアドレス信号ＴＰ３が、第１のクロックＣＫ１の立ち上がりエッジに同期して動作するメモリ２０５に印加される。
【０１００】
　以上のように、本実施の形態によれば、ＬＳＢ０処理部２０２で生成されたアドレス信号ＴＰ１とＬＳＢ１処理部２０３で生成されたアドレス信号ＴＰ２とのいずれか一方を、第２のクロックＣＫ２を遅延回路２０６で遅延させた遅延クロックＣＫ２’によって選択的に出力する。これによって、メモリ２０５に入力されるテストデータ、つまりアドレス信号ＴＰ３がメモリ２０５のクロックＣＫ１に対して一定の遅延値を持って入力され、クロックＣＫ１に対してホールド時間が確保でき、高速動作するメモリ２０５に対して安定したテストパターンを印加することが可能となる。
【０１０１】
　ここで、ホールド時間およびセットアップ時間について説明する。メモリ２０５は、クロックＣＫ１の立ち上がりエッジに同期して動作する。このとき、メモリ２０５へのアドレスやデータ入力信号は、クロックＣＫ１の立ち上がりエッジよりも一定時間前にその値が決定されていなければクロックＣＫ１の立ち上がりでそれらのデータがメモリ２０５に取り込まれない。この時間をセットアップ時間という。また、さらに、クロックＣＫ１が立ち上がった後も一定の時間データを保持しておく必要がある。この時間をホールド時間という。
【０１０２】
　また、クロックＣＫ２によって動作する単一のテストパターン生成部２０１によって、テストパターン生成部２０１の２倍の周波数で動作するメモリ２０５に対して、実動作速度でテストパターンを印加することが可能となる点は、実施の形態２と同様である。
【０１０３】
　なお、クロックＣＫ２の２倍の周波数のクロックＣＫ１でメモリが動作する場合には、遅延回路２０６としては、図１１に示すように、クロックＣＫ１の立ち下がりエッジで動作するフリップフロップ、あるいは図１２に示すように、クロックＣＫ１のハイレベル区間の時にデータがスルーするラッチを用いても、本実施の形態と同様の効果を得ることができる。
【０１０４】
　なお、メモリ２０５がＤＤＲメモリの場合は、図１０のタイミング図に示すように、ＤＤＲメモリに与えるクロックＣＫ１とＢＩＳＴ回路に与えるクロックＣＫ２とに同一の周波数のクロック信号を入力することで、クロックＣＫ１の立ち上がりエッジと立ち下がりエッジの両方のエッジに同期してＤＤＲメモリにテストパターンを入力することができ、本実施の形態と同様の効果を得ることができる。
【０１０５】
　（実施の形態４）
　図１３は本発明の実施の形態４における半導体集積回路およびメモリのテスト方法を説明するためのブロック図であり、図１４はタイミング図である。
【０１０６】
　以下、図１３に示す半導体集積回路におけるメモリのテスト方法について、図７のフローチャートに基づいて説明する。
【０１０７】
　図４の半導体集積回路と異なる点は、クロック選択部２０７を備えた点である。
【０１０８】
　クロック選択部２０７は、第２のクロックＣＫ２または第２のクロックＣＫ２の反転信号を選択してクロックＣＫ４として出力する回路である。テストデータ選択部２０４では、クロック選択部２０７から出力されるクロックＣＫ４の信号値に応じて、ＬＳＢ０処理部２０２で生成されたアドレス信号ＴＰ１とＬＳＢ１処理部２０３で生成されたアドレス信号ＴＰ２とのいずれか一方が選択される。
【０１０９】
　クロック選択部２０７で、クロックＣＫ２の反転信号が選択された場合について説明する。
【０１１０】
　第１のクロックＣＫ１は、入力クロックの立ち上がりエッジに同期して動作するメモリ２０５のクロック信号である。第２のクロックＣＫ２は、入力クロックの立ち上がりエッジに同期して動作するテストパターン生成部２０１のクロック信号であり、その周波数はクロックＣＫ１の１／２である。
【０１１１】
　テストパターン生成処理ＳＴ３０１では、クロックＣＫ２の立ち上がりエッジに同期してテストパターン生成部２０１でアドレス信号ＴＰ０が生成される。具体的には、時刻ｔ０でアドレス信号ＴＰ０として｛１１｝が生成され、時刻ｔ２でアドレス信号ＴＰ０として｛１０｝が生成され、時刻ｔ４でアドレス信号ＴＰ０として｛０１｝が生成され、時刻ｔ６でアドレス信号ＴＰ０として｛００｝が生成される。
【０１１２】
　ＬＳＢ処理ＳＴ３０２では、テストパターン生成部２０１で生成されたアドレス信号ＴＰ０に最下位ビットとして数値０または数値１を付加する処理を行う。ＬＳＢ０処理部２０２ではアドレス信号ＴＰ０に最下位ビットとして数値０を付加し、アドレス信号ＴＰ１を生成する。また、ＬＳＢ１処理部２０３ではアドレス信号ＴＰ０に最下位ビットとして数値１を付加し、アドレス信号ＴＰ２を生成する。
【０１１３】
　図１４のタイミング図に示すように、時刻ｔ０では、アドレス信号ＴＰ０として生成された２ビットアドレス｛１１｝に対して、ＬＳＢ０処理部２０２において、最下位ビットとして数値０が付加され、３ビットのアドレス｛１１０｝がアドレス信号ＴＰ１として生成される。また、ＬＳＢ１処理部２０３において、アドレス信号ＴＰ０に最下位ビットとして数値１が付加され、３ビットのアドレス｛１１１｝がアドレス信号ＴＰ２として生成される。
【０１１４】
　時刻ｔ２では、アドレス信号ＴＰ０として生成された２ビットアドレス｛１０｝に対して、ＬＳＢ０処理部２０２において、最下位ビットとして数値０が付加され、３ビットのアドレス｛１００｝がアドレス信号ＴＰ１として生成される。また、ＬＳＢ１処理部２０３において、アドレス信号ＴＰ０に最下位ビットとして数値１が付加され、３ビットのアドレス｛１０１｝がアドレス信号ＴＰ２として生成される。
【０１１５】
　時刻ｔ４では、アドレス信号ＴＰ０として生成された２ビットアドレス｛０１｝に対して、ＬＳＢ０処理部２０２において、最下位ビットとして数値０が付加され、３ビットのアドレス｛０１０｝がアドレス信号ＴＰ１として生成される。また、ＬＳＢ１処理部２０３において、アドレス信号ＴＰ０に最下位ビットとして数値１が付加され、３ビットのアドレス｛０１１｝がアドレス信号ＴＰ２として生成される。
【０１１６】
　時刻ｔ６では、アドレス信号ＴＰ０として生成された２ビットアドレス｛００｝に対して、ＬＳＢ０処理部２０２において、最下位ビットとして数値０が付加され、３ビットのアドレス｛０００｝がアドレス信号ＴＰ１として生成される。また、ＬＳＢ１処理部２０３において、アドレス信号ＴＰ０に最下位ビットとして数値１が付加され、３ビットのアドレス｛００１｝がアドレス信号ＴＰ２として生成される。
【０１１７】
　クロック選択部２０７では、クロックＣＫ２またはクロックＣＫ２の反転信号を選択して出力し、テストデータ選択部２０４では、クロック選択部２０７から出力されるクロックＣＫ４の信号値に応じて、ＬＳＢ０処理部２０２で生成されたアドレス信号ＴＰ１とＬＳＢ１処理部２０３で生成されたアドレス信号ＴＰ２のいずれか一方を選択する。
【０１１８】
　つまり、テストデータ選択処理ＳＴ３０３では、クロック選択部２０７のクロックＣＫ４の信号値によって、ＬＳＢ０処理部２０２で生成されたアドレス信号ＴＰ１とＬＳＢ１処理部２０３で生成されたアドレス信号ＴＰ２とのいずれか一方を選択的に出力する。
【０１１９】
　テストデータ選択部２０４では、クロックＣＫ４が論理値１の時にアドレス信号ＴＰ１を選択し、クロックＣＫ４が論理値０の時にアドレス信号ＴＰ２を選択する。
【０１２０】
　クロック選択部２０７の出力クロックＣＫ４として、クロックＣＫ２の反転信号が選択され、クロックＣＫ２の論理値が１、すなわちクロックＣＫ４の論理値が０の区間である時刻ｔ０から時刻ｔ１までの間は、テストデータ選択部２０４からアドレス信号ＴＰ３として｛１１１｝が出力される。また、クロックＣＫ２の論理値が０、すなわちクロックＣＫ４の論理値が１の区間である時刻ｔ１から時刻ｔ２までの間は、テストデータ選択部２０４からアドレス信号ＴＰ３として｛１１０｝が出力される。
【０１２１】
　クロックＣＫ２の論理値が１、すなわちクロックＣＫ４の論理値が０の区間である時刻ｔ２から時刻ｔ３までの間は、テストデータ選択部２０４からアドレス信号ＴＰ３として｛１０１｝が生成される。また、クロックＣＫ２の論理値が０、すなわちクロックＣＫ４の論理値が１の区間である時刻ｔ３から時刻ｔ４までの間は、テストデータ選択部２０４からアドレス信号ＴＰ３として｛１００｝が生成される。
【０１２２】
　クロックＣＫ２の論理値が１、すなわちクロックＣＫ４の論理値が０の区間である時刻ｔ４から時刻ｔ５までの間は、テストデータ選択部２０４からアドレス信号ＴＰ３として｛０１１｝が生成される。また、クロックＣＫ２の論理値が０、すなわちクロックＣＫ４の論理値が１の区間である時刻ｔ５から時刻ｔ６までの間は、テストデータ選択部２０４からアドレス信号ＴＰ３として｛０１０｝が生成される。
【０１２３】
　クロックＣＫ２の論理値が１、すなわちクロックＣＫ４の論理値が０の区間である時刻ｔ６から時刻ｔ７までの間は、テストデータ選択部２０４からアドレス信号ＴＰ３として｛００１｝が生成される。また、クロックＣＫ２の論理値が０、すなわちクロックＣＫ４の論理値が１の区間である時刻ｔ７から時刻ｔ８までの間は、テストデータ選択部２０４からアドレス信号ＴＰ３として｛０００｝が生成される。
【０１２４】
　テストパターン印加処理ＳＴ３０４では、テストデータ選択部２０４から出力されたアドレス信号ＴＰ３が、メモリ２０５に印加される。
【０１２５】
　以上のように、本実施の形態によれば、クロックＣＫ２によって動作する単一のテストパターン生成部２０１によって、テストパターン生成部２０１の２倍の周波数で動作するメモリ２０５に対して、実動作速度でテストパターンを印加することが可能となる。その他の効果は、実施の形態２と同様である。
【０１２６】
　また、本実施の形態では、クロック選択部２０７として、クロックＣＫ２と、クロックＣＫ２をインバータ２０７ａにより反転した信号とをセレクタ２０７ｂで選択する回路を用いていた。これに代えて、クロック選択部２０８として図１６のように排他的論理和回路２０８ａを用いて、クロックＣＫ２とクロックＣＫ２の反転信号とのいずれか一方を選択的に出力できる回路を用いた場合であっても、本実施の形態と同様の効果を得ることができる。
【０１２７】
　また、クロック選択部２０７または２０８を設けることで、テストデータ選択部２０４において、クロックＣＫ２の論理値が０の時に選択される信号と、クロックＣＫ２がの論理値１の時に選択される信号とを切り替えることができる。そのため、クロックＣＫ２の論理値が１の時に、偶数アドレスがメモリ２０５に印加され、クロックＣＫ２の論理値が０の時に、奇数アドレスがメモリ２０５に印加される構成だけでなく、クロックＣＫ２の論理値が１の時に、奇数アドレスがメモリ２０５に印加され、クロックＣＫ２の論理値が０の時に、偶数アドレスがメモリ２０５に印加される構成とすることが可能となる。したがって、テストパターンの質が高くなるとともに、アドレスのインクリメントおよびデクリメントを実施することが可能となる。
【０１２８】
　なお、テストパターンの質は、以下のことを言う。すなわち、実動作では、クロックＣＫ２がハイの時（ダブルデータレートメモリの場合には、クロックＣＫ１がハイのときに相当する）に、偶数アドレスでも奇数アドレスでもアクセスされるはずである。テスト時において、クロックＣＫ２がハイの時に偶数アドレスしかアクセスできないということは、良質なテストとは言えない。クロックＣＫ２がハイの時に奇数アドレスにアクセスするテストができていないので、テストパターンの質がよくないと表現していた。今回、奇数アドレスおよび偶数アドレスの両方でテストができるので、テストパターンの質が高くなると表現している。
【０１２９】
　なお、メモリ２０５がＤＤＲメモリの場合は、図１５のタイミング図に示すように、ＤＤＲメモリに与えるクロックＣＫ１とＢＩＳＴ回路に与えるクロックＣＫ２とに同一の周波数のクロックを入力することで、ＤＤＲメモリのクロックＣＫ１の立ち上がりエッジと立ち下がりエッジの両方のエッジに同期してテストパターンを入力することができ、本実施の形態と同様の効果を得ることができる。
【０１３０】
　（実施の形態５）
　図１７は本発明の実施の形態５における半導体集積回路およびメモリのテスト方法を説明するためのブロック図であり、図１８はタイミング図である。
【０１３１】
　以下、図１７に示す半導体集積回路におけるメモリのテスト方法について、図２０のフローチャートに基づいて説明する。
【０１３２】
　図１７において、符号２０５は入力クロックの立ち上がりエッジに同期して動作するメモリを示す。符号６０１は入力クロックの立ち上がりエッジに同期して動作する期待値比較部を示す。符号６０２は入力クロックの立ち下がりエッジに同期して動作する記憶素子を示す。この記憶素子６０２は、たとえばフリップフロップ６０２ａからなる。
【０１３３】
　第１のクロックＣＫ１はメモリ２０５のクロック信号である。第２のクロックＣＫ２は期待値比較部６０１のおよび記憶素子６０２のクロック信号であり、その周波数はクロックＣＫ１の１／２である。
【０１３４】
　メモリデータ出力処理ＳＴ７０１では、時刻ｔ０，ｔ１，ｔ２，ｔ３，ｔ４，ｔ５，ｔ６，ｔ７，ｔ８でクロックＣＫ１の立ち上がりエッジに同期して、メモリ２０５のデータ出力ポートＤＯＵＴからデータ信号６１０が出力される。
【０１３５】
　時刻ｔ０でクロックＣＫ１の立ち上がりエッジに同期してメモリ２０５から出力されるデータ６１０は、データ一時取り込み処理ＳＴ７０２において、クロックＣＫ２の立ち下がりエッジに同期してフリップフロップ６０２ａに、時刻ｔ１で取り込まれる。そして、データ信号６１１として期待値比較処理ＳＴ７０３において、期待値比較部６０１に入り、時刻ｔ２で期待値と比較される。
【０１３６】
　また、時刻ｔ１でクロックＣＫ１の立ち上がりエッジに同期してメモリ２０５から出力されるデータは、データ信号６１０として期待値比較部６０１に入り、時刻ｔ２で期待値と比較される。
【０１３７】
　以下同様に、時刻ｔ２でクロックＣＫ１の立ち上がりエッジに同期してメモリ２０５から出力されるデータは、データ一時取り込み処理ＳＴ７０２において、クロックＣＫ２の立ち下がりエッジに同期してフリップフロップ６０２ａに、時刻ｔ３で取り込まれる。そして、データ信号６１１として期待値比較部６０１に入り、時刻ｔ４で期待値と比較される。
【０１３８】
　また、時刻ｔ３でクロックＣＫ１の立ち上がりエッジに同期してメモリ２０５から出力されるデータは、データ信号６１０として、期待値比較処理ＳＴ７０３において、期待値比較部６０１に入り、時刻ｔ４で期待値と比較される。
【０１３９】
　時刻ｔ４でクロックＣＫ１の立ち上がりエッジに同期してメモリ２０５から出力されるデータは、データ一時取り込み処理ＳＴ７０２において、クロックＣＫ２の立ち下がりエッジに同期してフリップフロップ６０２ａに、時刻ｔ５で取り込まれる。そして、データ信号６１１として期待値比較部６０１に入り、時刻ｔ６で期待値と比較される。
【０１４０】
　また、時刻ｔ５でクロックＣＫ１の立ち上がりエッジに同期してメモリ２０５から出力されるデータは、データ信号６１０として、期待値比較処理ＳＴ７０３において、期待値比較部６０１に入り、時刻ｔ６で期待値と比較される。
【０１４１】
　時刻ｔ６でクロックＣＫ１の立ち上がりエッジに同期してメモリ２０５から出力されるデータは、データ一時取り込み処理ＳＴ７０２において、クロックＣＫ２の立ち下がりエッジに同期してフリップフロップ６０２ａに、時刻ｔ７で取り込まれる。そして、データ信号６１１として期待値比較部６０１に入り、時刻ｔ８で期待値と比較される。
【０１４２】
　また、時刻ｔ７でクロックＣＫ１の立ち上がりエッジに同期してメモリ２０５から出力されるデータは、データ信号６１０として期待値比較処理ＳＴ７０３において、期待値比較部６０１に入り、時刻ｔ８で期待値と比較される。
【０１４３】
　以上のように、本実施の形態によれば、期待値比較処理ＳＴ７０３で期待値を比較するのは、クロックＣＫ２のクロックの立ち上がりタイミングのみであり、期待値比較部６０１の動作の２倍の周波数で動作するメモリ２０５に対して、期待値比較部６０１の動作速度を変えずに、実動作速度でテストパターンを印加することが可能となる。
【０１４４】
　なお、本実施の形態では記憶素子６０２としては、クロックＣＫ２の立ち下がりエッジで動作するフリップフロップを用いたが、クロックＣＫ２のハイレベル区間にデータを通すラッチを用いても本実施の形態と同様の効果が得られる。
【０１４５】
　なお、メモリ２０５がＤＤＲメモリの場合は、図１９のタイミング図に示すように、ＤＤＲメモリに与えるクロックＣＫ１とＢＩＳＴ回路に与えるクロックＣＫ２に同一の周波数のクロック信号を入力することで、ＤＤＲメモリのクロックＣＫ１の立ち上がりエッジと立ち下がりエッジの両方のエッジに同期して出力されるメモリ２０５のデータ信号について、クロックＣＫ２の立ち上がりタイミングで期待値比較を行うだけで、本実施の形態と同様の効果を得ることができる。
【０１４６】
　以上説明したように、上記本発明の実施の形態の半導体集積回路およびメモリのテスト方法によれば、ＢＩＳＴ回路のクロックの論理値に応じて、入力データを切り替えることで、ＢＩＳＴ回路をメモリ２０５のクロック周波数の１／２のクロック周波数で動作させても、メモリ２０５の実動作速度でテストパターンの印加が可能となる。
【０１４７】
　また、期待値比較においては、記憶素子６０２を用いてメモリ２０５のデータ出力を保持させ、次に出力されるデータ出力とともに、期待値との比較を行うことで、メモリのクロック周波数の１／２のクロック周波数で動作する期待値比較部６０１を用いて、メモリを実動作速度で期待値比較を行うことが可能となる。
【０１４８】
　また、ＤＤＲメモリのようにクロックの立ち上がりと立ち下がりの両エッジに同期して動作する高速メモリに対しても、ＤＤＲメモリのクロック周波数と同一のクロック周波数でＢＩＳＴ回路を動作させることで、ＤＤＲメモリの実動作速度のテストを行うことが可能となる。
【０１４９】
　（実施の形態６）
　図２３は本発明の実施の形態６における半導体集積回路およびメモリのテスト方法を説明するためのブロック図である。
【０１５０】
　図１の半導体集積回路と異なる点は、第２のクロックＣＫ２を遅延して遅延クロックＣＫ２’を生成する遅延回路１０６を備えた点である。この遅延回路１０６の構成および動作は、実施の形態３における遅延回路２０６と同様である。したがって、遅延回路１０６を設けたことによって、実施の形態３と同様の作用効果が得られる。
【０１５１】
　遅延回路１０６の具体例は、実施の形態３で説明したものと同じであり、図２４または図２５に示される。
【０１５２】
　（実施の形態７）
　図２６は本発明の実施の形態７における半導体集積回路およびメモリのテスト方法を説明するためのブロック図である。
【０１５３】
　図１の半導体集積回路と異なる点は、クロック選択部１０７を備えた点である。クロック選択部１０７の構成および動作は、実施の形態４におけるクロック選択部２０７と同様である。したがって、クロック選択部１０７を設けたことによって、実施の形態４と同様の作用効果が得られる。
【０１５４】
　クロック選択部１０７に代えて、図２７に示すようなクロック選択部１０８を用いてもよい。このクロック選択部１０８は実施の形態４で説明したものと同じである。
【産業上の利用可能性】
【０１５５】
　本発明にかかる半導体集積回路は、ＢＩＳＴ回路の動作速度を抑えても実動作速度で高速メモリのテストを実施できるという効果を有し、組み込み自己テストによりメモリのテストを行う半導体集積回路等として有用である。
【図面の簡単な説明】
【０１５６】
【図１】本発明の実施の形態１の半導体集積回路の構成を示すブロック図である。
【図２】本発明の実施の形態１の半導体集積回路の動作を説明するためのタイムチャートである。
【図３】本発明の実施の形態１の半導体集積回路の動作を説明するためのタイムチャートである。
【図４】本発明の実施の形態２の半導体集積回路の構成を示すブロック図である。
【図５】本発明の実施の形態２の半導体集積回路の動作を説明するためのタイムチャートである。
【図６】本発明の実施の形態２の半導体集積回路の動作を説明するためのタイムチャートである。
【図７】実施の形態１，２，３，４におけるメモリのテスト方法を示すフローチャートである。
【図８】本発明の実施の形態３の半導体集積回路の構成を示すブロック図である。
【図９】本発明の実施の形態３の半導体集積回路の動作を説明するためのタイムチャートである。
【図１０】本発明の実施の形態３の半導体集積回路の動作を説明するためのタイムチャートである。
【図１１】本発明の実施の形態３の半導体集積回路の遅延回路の第１の具体例を示すブロック図である。
【図１２】本発明の実施の形態３の半導体集積回路の遅延回路の第２の具体例を示すブロック図である。
【図１３】本発明の実施の形態４の半導体集積回路の構成を示すブロック図である。
【図１４】本発明の実施の形態４の半導体集積回路の動作を説明するためのタイムチャートである。
【図１５】本発明の実施の形態４の半導体集積回路の動作を説明するためのタイムチャートである。
【図１６】本発明の実施の形態４の半導体集積回路のクロック選択部の他の構成を示すブロック図である。
【図１７】本発明の実施の形態５の半導体集積回路の構成を示すブロック図である。
【図１８】本発明の実施の形態５の半導体集積回路の動作を説明するためのタイムチャートである。
【図１９】本発明の実施の形態５の半導体集積回路の動作を説明するためのタイムチャートである。
【図２０】本発明の実施の形態５におけるメモリのテスト方法を示すフローチャートである。
【図２１】先行技術を示すブロック図である。
【図２２】先行技術の動作を示すタイムチャートである。
【図２３】本発明の実施の形態６の半導体集積回路の構成を示すブロック図である。
【図２４】本発明の実施の形態６の半導体集積回路の遅延回路の第１の具体例を示すブロック図である。
【図２５】本発明の実施の形態６の半導体集積回路の遅延回路の第２の具体例を示すブロック図である。
【図２６】本発明の実施の形態７の半導体集積回路の構成を示すブロック図である。
【図２７】本発明の実施の形態７の半導体集積回路のクロック選択部の他の構成を示すブロック図である。
【符号の説明】
【０１５７】
　１０１　　第１のテストパターン生成部
　１０２　　第２のテストパターン生成部
　１０３　　インバータ
　１０４　　テストデータ選択部
　１０５　　メモリ
　２０１　　テストパターン生成部
　２０２　　ＬＳＢ０処理部
　２０３　　ＬＳＢ１処理部
　２０４　　テストデータ選択部
　２０５　　メモリ
　２０６　　遅延回路
　２０７，２０８　　クロック選択部
　６０１　　期待値比較部
　６０２　　記憶素子
【図１】
2004111029.tif 000003
【図２】
2004111029.tif 000004
【図３】
2004111029.tif 000005
【図４】
2004111029.tif 000006
【図５】
2004111029.tif 000007
【図６】
2004111029.tif 000008
【図７】
2004111029.tif 000009
【図８】
2004111029.tif 000010
【図９】
2004111029.tif 000011
【図１０】
2004111029.tif 000012
【図１１】
2004111029.tif 000013
【図１２】
2004111029.tif 000014
【図１３】
2004111029.tif 000015
【図１４】
2004111029.tif 000016
【図１５】
2004111029.tif 000017
【図１６】
2004111029.tif 000018
【図１７】
2004111029.tif 000019
【図１８】
2004111029.tif 000020
【図１９】
2004111029.tif 000021
【図２０】
2004111029.tif 000022
【図２１】
2004111029.tif 000023
【図２２】
2004111029.tif 000024
【図２３】
2004111029.tif 000025
【図２４】
2004111029.tif 000026
【図２５】
2004111029.tif 000027
【図２６】
2004111029.tif 000028
【図２７】
2004111029.tif 000029