(57)【要約】【課題】  ２つのテストパターンを交互にメモリへ供給するＢＩＳＴ（組み込み自己テスト）回路の期待値比較を改善する。【解決手段】  テストパターン生成部を第１のテストパターン生成部１０３と第２のテストパターン生成部１０４とに、期待値比較部を第１の期待値比較部１０５と第２の期待値比較部１０６とにそれぞれ分割し、第１のテストパターン生成部１０３及び第１の期待値比較部１０５をメモリ動作クロックである第１のクロックＣＫ１の半分の周波数を持つ第２のクロックＣＫ２にて動作させ、第２のテストパターン生成部１０４及び第２の期待値比較部１０６を第２のクロックＣＫ２の反転クロックである第３のクロックＣＫ３にて動作させ、第１及び第２のテストパターンをテストパターン選択部１０７にて交互に選択することで、メモリ１０２のテストを行う。【選択図】  図１
2006196060.tif 000002
【特許請求の範囲】
【請求項１】
第１のクロックに同期して動作するメモリと、前記第１のクロックの半分の周波数を持つ第２のクロックに同期して動作するＢＩＳＴ（組み込み自己テスト）回路とを備えた半導体集積回路であって、
前記ＢＩＳＴ回路は、
前記メモリの第１のテストパターンを順次生成するように前記第２のクロックに同期して動作する第１のテストパターン生成手段と、
前記メモリの第２のテストパターンを順次生成するように前記第２のクロックの反転クロックである第３のクロックに同期して動作する第２のテストパターン生成手段と、
前記第２のクロック又は前記第３のクロックのいずれか一方の信号値に応じて、前記第１及び第２のテストパターンを交互に前記メモリへ選択出力するテストパターン選択手段と、
前記メモリから順次出力される読み出しデータを第１の期待値と比較するように前記第２のクロックに同期して動作する第１の期待値比較手段と、
前記メモリから順次出力される読み出しデータを第２の期待値と比較するように前記第３のクロックに同期して動作する第２の期待値比較手段とを有することを特徴とする半導体集積回路。
【請求項２】
請求項１記載の半導体集積回路において、
前記第１のテストパターンは前記メモリの偶数読み出しアドレスを、前記第２のテストパターンは前記メモリの奇数読み出しアドレスをそれぞれ含み、
前記第１の期待値比較手段は、前記第１のクロックに同期して前記メモリから順次出力される読み出しデータのうちの偶数アドレスのデータを前記第１の期待値と比較し、
前記第２の期待値比較手段は、前記第１のクロックに同期して前記メモリから順次出力される読み出しデータのうちの奇数アドレスのデータを前記第２の期待値と比較することを特徴とする半導体集積回路。
【請求項３】
請求項１記載の半導体集積回路において、
前記第１のテストパターン生成手段は、前記メモリの最大アドレスが奇数であるとき、アドレスインクリメントシーケンスからアドレスデクリメントシーケンスへの移行の際に、前記メモリの最大偶数アドレスを生成し、次いで前記メモリのチップイネーブル信号を非活性化した後に、前記最大偶数アドレスを再度生成することを特徴とする半導体集積回路。
【請求項４】
請求項１記載の半導体集積回路において、
前記第２のテストパターン生成手段は、前記メモリの最小アドレスが偶数であるとき、アドレスデクリメントシーケンスからアドレスインクリメントシーケンスへの移行の際に、前記メモリの最小奇数アドレスを生成し、次いで前記メモリのチップイネーブル信号を非活性化した後に、前記最小奇数アドレスを再度生成することを特徴とする半導体集積回路。
【請求項５】
請求項１記載の半導体集積回路において、
前記第１のテストパターンは前記メモリの読み出しアドレスを、前記第２のテストパターンは前記メモリの書き込みアドレスをそれぞれ含み、
前記第１の期待値比較手段は、前記第１のクロックの半分の周波数で前記メモリから順次出力される読み出しデータを前記第１の期待値と比較することを特徴とする半導体集積回路。
【請求項６】
請求項５記載の半導体集積回路において、
前記第１及び第２のテストパターン生成手段は、アドレスインクリメントシーケンスからアドレスデクリメントシーケンスへの移行の際に、各々前記メモリの最大アドレスを連続して生成することを特徴とする半導体集積回路。
【請求項７】
請求項５記載の半導体集積回路において、
前記第１及び第２のテストパターン生成手段は、アドレスデクリメントシーケンスからアドレスインクリメントシーケンスへの移行の際に、各々前記メモリの最小アドレスを連続して生成することを特徴とする半導体集積回路。
【請求項８】
第１のクロックに同期して動作するメモリのテストを、前記第１のクロックの半分の周波数を持つ第２のクロックに同期して動作するＢＩＳＴ（組み込み自己テスト）回路により実施するメモリのテスト方法であって、
前記第２のクロックに同期して前記メモリの第１のテストパターンを順次生成するステップと、
前記第２のクロックの反転クロックである第３のクロックに同期して前記メモリの第２のテストパターンを順次生成するステップと、
前記第２のクロック又は前記第３のクロックのいずれか一方の信号値に応じて、前記第１及び第２のテストパターンを交互に前記メモリへ選択出力するステップと、
前記メモリから順次出力される読み出しデータを前記第２のクロックに同期して第１の期待値と比較するステップと、
前記メモリから順次出力される読み出しデータを前記第３のクロックに同期して第２の期待値と比較するステップとを備えたことを特徴とするメモリのテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリと、当該メモリのテストを実施するためのＢＩＳＴ（Built-In Self Test：組み込み自己テスト）回路とを持つ半導体集積回路に関するものである。
【背景技術】
【０００２】
近年、半導体集積回路に搭載されるメモリの動作が高速化してきている。そこで、ＢＩＳＴ回路の動作速度を抑えつつ高速メモリのテストをその実動作速度で実施できる技術が望まれている。
【０００３】
ある従来技術によれば、メモリ動作速度の半分の速度でＢＩＳＴ回路を動作させることができる。具体的には、第１のクロックがメモリに、当該第１のクロックの半分の周波数を持つ第２のクロックがＢＩＳＴ回路にそれぞれ供給される。ＢＩＳＴ回路は、メモリの偶数アドレスを含んだ第１のテストパターンを順次生成するように第２のクロックに同期して動作する第１のテストパターン生成部と、メモリの奇数アドレスを含んだ第２のテストパターンを順次生成するように第２のクロックの反転クロックである第３のクロックに同期して動作する第２のテストパターン生成部と、第２のクロックの信号値に応じて第１及び第２のテストパターンを交互にメモリへ選択出力するテストパターン選択部とを備える。そして、第１のクロックに同期して動作するメモリと、第２のクロックに同期して動作する単一の期待値比較部との間に、当該メモリから順次出力される読み出しデータを１つ置きに記憶するための記憶素子として、複数のフリップフロップを介在させていた。また、アドレスインクリメントシーケンスからアドレスデクリメントシーケンスへの移行の際や、アドレスデクリメントシーケンスからアドレスインクリメントシーケンスへの移行の際には、テストパターン選択部におけるパターン選択順序をクロック選択部にて制御する必要があった（特許文献１参照）。
【特許文献１】特開２００４−１１１０２９号公報（図１、図１３及び図１７）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記従来技術では、期待値比較部を低速動作させ得るように、メモリと期待値比較部との間に記憶素子を介在させていた。したがって、メモリの読み出しデータが例えば８ビットからなる場合には、当該記憶素子として８個のフリップフロップが必要になる。つまり、読み出しデータのビット数が更に多くなればなるほど、ＢＩＳＴ回路の面積が大きくなってしまう。
【０００５】
また、上記従来技術では、テストパターン選択部におけるパターン選択順序を制御するためのクロック選択部がＢＩＳＴ回路の面積を大きくしてしまう。更に、パターン選択のための信号パスがタイミング的なクリティカルパスになる可能性があり、ＢＩＳＴ回路が高速になるにつれ、その影響が顕著になる。
【０００６】
本発明の目的は、２つのテストパターンを交互にメモリへ供給するＢＩＳＴ回路の期待値比較やテストパターン選択を改善することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明に係るＢＩＳＴ回路では、テストパターン生成部を第１のテストパターン生成部と第２のテストパターン生成部とに分割するだけでなく、期待値比較部を第１の期待値比較部と第２の期待値比較部とに分割し、第１のテストパターン生成部及び第１の期待値比較部をメモリ動作クロックである第１のクロックの半分の周波数を持つ第２のクロックにて動作させ、第２のテストパターン生成部及び第２の期待値比較部を第２のクロックの反転クロックである第３のクロックにて動作させ、テストパターン選択部が第２のクロック又は第３のクロックのいずれか一方の信号値に応じて第１及び第２のテストパターンを交互にメモリへ供給する構成を採用することとした。
【０００８】
この構成によれば、第１のテストパターンがメモリの偶数読み出しアドレスを、第２のテストパターンが当該メモリの奇数読み出しアドレスをそれぞれ含むときには、第１の期待値比較部と第２の期待値比較部とが、第１のクロックの半分の周波数でかつ互いに半サイクルずれて期待値比較動作をするため、第１及び第２の期待値比較部の各々の動作速度を抑えても高速メモリの実動作速度でのテストの実施が可能となる。また、上記従来技術においてメモリと期待値比較部との間に介在していた記憶素子が削減されるため、ＢＩＳＴ回路の面積が小さくてすみ、消費電力を少なく抑えることができる。
【０００９】
また、本発明によれば、アドレスインクリメントシーケンスからアドレスデクリメントシーケンスへの移行の際や、アドレスデクリメントシーケンスからアドレスインクリメントシーケンスへの移行の際に、メモリのチップイネーブル信号を非活性化するタイミングを設けることで、テストパターン選択部におけるパターン選択順序を変更しなくてもよくなる。これにより、上記従来技術におけるクロック選択部が削減されるため、ＢＩＳＴ回路の面積が縮小されるだけでなく、パターン選択のための信号パスがタイミング的なクリティカルパスになる可能性を排除できる。
【００１０】
更に、本発明によれば、第１のテストパターンがメモリの読み出しアドレスを、第２のテストパターンが当該メモリの書き込みアドレスをそれぞれ含むときには、メモリからのデータ読み出しと当該メモリへのデータ書き込みとが交互に実施され、第１の期待値比較部が第１のクロックの半分の周波数で期待値比較動作をするため、高速メモリの実動作速度でのテストの実施が可能となる。この場合には、アドレスインクリメントシーケンスからアドレスデクリメントシーケンスへの移行の際と、アドレスデクリメントシーケンスからアドレスインクリメントシーケンスへの移行の際とのいずれでも、メモリのチップイネーブル信号を非活性化するタイミングを設ける必要がない。
【発明の効果】
【００１１】
本発明によれば、ＢＩＳＴ回路の動作速度を抑えても高速メモリの実動作速度でメモリテストを実施することができる。しかも、ＢＩＳＴ回路の期待値比較やテストパターン選択が改善される。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照しながら、本発明の実施の形態を詳細に説明する。
【００１３】
図１は、本発明に係る半導体集積回路の構成例を示している。図１において、１０１はＢＩＳＴ回路であり、１０２はテスト対象のメモリである。ＣＫ１はメモリ１０２を動作させるための第１のクロックであり、ＣＫ２はＢＩＳＴ回路１０１を動作させるための第２のクロックである。第２のクロックＣＫ２は、第１のクロックＣＫ１の半分の周波数を持つ。
【００１４】
ＢＩＳＴ回路１０１は、第１のテストパターン生成部１０３と、第２のテストパターン生成部１０４と、第１の期待値比較部１０５と、第２の期待値比較部１０６と、テストパターン選択部１０７と、インバータ１０８とにより構成される。
【００１５】
第１のテストパターン生成部１０３は、メモリ１０２の第１のテストパターンを順次生成するように、第２のクロックＣＫ２の立ち上がりエッジに同期して動作する。第１のテストパターンは、チップイネーブル信号ＴＰＣＥ１と、書き込みイネーブル信号ＴＰＷＥ１と、アドレス信号ＴＰＡＤ１と、入力データ信号ＴＰＤＩ１とを含んでいる。
【００１６】
インバータ１０８は、第２のクロックＣＫ２の反転クロックである第３のクロックＣＫ３を生成する。
【００１７】
第２のテストパターン生成部１０４は、メモリ１０２の第２のテストパターンを順次生成するように、第３のクロックＣＫ３の立ち上がりエッジに同期して動作する。第２のテストパターンは、チップイネーブル信号ＴＰＣＥ２と、書き込みイネーブル信号ＴＰＷＥ２と、アドレス信号ＴＰＡＤ２と、入力データ信号ＴＰＤＩ２とを含んでいる。
【００１８】
テストパターン選択部１０７は、第２のクロックＣＫ２の信号値（論理０／１）に応じて第１及び第２のテストパターンを交互に第３のテストパターンとしてメモリ１０２へ選択出力するように、４つのセレクタ１５０，１５１，１５２，１５３で構成されている。ここでは、第２のクロックＣＫ２が論理０の場合に第１のテストパターン（ＴＰＣＥ１，ＴＰＷＥ１，ＴＰＡＤ１，ＴＰＤＩ１）が、論理１の場合に第２のテストパターン（ＴＰＣＥ２，ＴＰＷＥ２，ＴＰＡＤ２，ＴＰＤＩ２）がそれぞれ第３のテストパターン（ＴＰＣＥ３，ＴＰＷＥ３，ＴＰＡＤ３，ＴＰＤＩ３）として選択されるものとする。ＴＰＣＥ３はチップイネーブル信号、ＴＰＷＥ３は書き込みイネーブル信号、ＴＰＡＤ３はアドレス信号、ＴＰＤＩ３は入力データ信号である。なお、テストパターン選択部１０７が第３のクロックＣＫ３の信号値（論理０／１）に応じて選択動作を行うようにしてもよい。
【００１９】
メモリ１０２は、ＣＥ端子にチップイネーブル信号ＴＰＣＥ３を、ＷＥ端子に書き込みイネーブル信号ＴＰＷＥ３を、ＡＤ端子にアドレス信号ＴＰＡＤ３を、ＤＩ端子に入力データ信号ＴＰＤＩ３をそれぞれ受け取る。第１のクロックＣＫ１の反転クロックである第４のクロックＣＫ４を生成するためのインバータ１０９が更に設けられており、メモリ１０２は、ＣＬＫ端子に第４のクロックＣＫ４を受け取り、当該第４のクロックＣＫ４の立ち上がりエッジに同期して動作する。つまり、ＡＤ端子上のアドレス信号ＴＰＡＤ３及びＤＩ端子上の入力データ信号ＴＰＤＩ３をメモリ１０２が第１のクロックＣＫ１の立ち下がりエッジで取り込むことにより、アドレス及びデータのセットアップタイム並びにホールドタイムを確保している。メモリ１０２は、読み出しデータを供給するためのＤＯ端子を更に有しており、このＤＯ端子に順次得られる出力データ信号ＤＯ３は、第１の期待値比較部１０５と第２の期待値比較部１０６とに並列に供給される。
【００２０】
第１の期待値比較部１０５は、出力データ信号ＤＯ３により表されたメモリ１０２の読み出しデータを第１の期待値と比較してメモリ１０２の良否判定をするように、第２のクロックＣＫ２の立ち上がりエッジに同期して動作する。一方、第２の期待値比較部１０６は、出力データ信号ＤＯ３により表されたメモリ１０２の読み出しデータを第２の期待値と比較してメモリ１０２の良否判定をするように、第３のクロックＣＫ３の立ち上がりエッジに同期して動作する。ここに、第１の期待値と第２の期待値とが同じ値であってもよいし、互いに異なる値であってもよい。
【００２１】
図２は、図１中のメモリ１０２へのテストデータ書き込み動作の例を示している。ここでは、図１中のチップイネーブル信号ＴＰＣＥ１，ＴＰＣＥ２，ＴＰＣＥ３がいずれも活性化されてＨ（ハイ）レベルを保持し、かつ書き込みイネーブル信号ＴＰＷＥ１，ＴＰＷＥ２，ＴＰＷＥ３がいずれもＨレベルに設定されて「書き込み」が選択される。なお、図２以降においてアドレスを表す２進数を角括弧で囲んだものは、当該アドレスへの書き込みデータ又は当該アドレスからの読み出しデータを表している。例えばメモリ１０２が８ビット構成である場合には、８ビットのオール０、８ビットのオール１等の単純なパターンのビット列がテストデータとして選択される。
【００２２】
図２の例によれば、第１のテストパターンはメモリ１０２の偶数書き込みアドレスを、第２のテストパターンはメモリ１０２の奇数書き込みアドレスをそれぞれ含む。具体的に説明すると、第１のテストパターン生成部１０３は、第２のクロックＣＫ２の立ち上がりエッジに同期して、時刻ｔ０で「０００」、時刻ｔ２で「０１０」、時刻ｔ４で「１００」、時刻ｔ６で「１１０」のアドレス信号ＴＰＡＤ１を生成する。一方、第２のテストパターン生成部１０４は、第３のクロックＣＫ３の立ち上がりエッジに同期して、時刻ｔ１で「００１」、時刻ｔ３で「０１１」、時刻ｔ５で「１０１」、時刻ｔ７で「１１１」のアドレス信号ＴＰＡＤ２を生成する。したがって、テストパターン選択部１０７により選択出力されてメモリ１０２に入力されるアドレス信号ＴＰＡＤ３は、時刻ｔ１で「０００」、時刻ｔ２で「００１」、時刻ｔ３で「０１０」、時刻ｔ４で「０１１」、時刻ｔ５で「１００」、時刻ｔ６で「１０１」、時刻ｔ７で「１１０」、時刻ｔ８で「１１１」となる。つまり、第１クロックＣＫ１の立ち上がりエッジに同期して、一連のアドレス信号ＴＰＡＤ３を含む第３のテストパターンをメモリ１０２に与えることができ、メモリ１０２へのシーケンシャルなデータ書き込みを実施できる。
【００２３】
以上のとおり、図２の例によれば、第１のテストパターン生成部１０３と第２のテストパターン生成部１０４とが、第１のクロックＣＫ１の半分の周波数でかつ互いに半サイクルずれてテストパターン生成動作をするため、第１及び第２のテストパターン生成部１０３，１０４の各々の動作速度を抑えてもメモリ１０２の実動作速度でのテストデータの書き込みが可能となる。
【００２４】
図３は、図１中のメモリ１０２からのテストデータ読み出し動作の例を示している。ここでは、図１中のチップイネーブル信号ＴＰＣＥ１，ＴＰＣＥ２，ＴＰＣＥ３がいずれも活性化されてＨレベルを保持し、書き込みイネーブル信号ＴＰＷＥ１，ＴＰＷＥ２，ＴＰＷＥ３がいずれもＬ（ロー）レベルに設定されて「読み出し」が選択される。
【００２５】
図３の例によれば、第１のテストパターンはメモリ１０２の偶数読み出しアドレスを、第２のテストパターンはメモリ１０２の奇数読み出しアドレスをそれぞれ含む。具体的に説明すると、第１のテストパターン生成部１０３は、第２のクロックＣＫ２の立ち上がりエッジに同期して、時刻ｔ０で「０００」、時刻ｔ２で「０１０」、時刻ｔ４で「１００」、時刻ｔ６で「１１０」のアドレス信号ＴＰＡＤ１を生成する。一方、第２のテストパターン生成部１０４は、第３のクロックＣＫ３の立ち上がりエッジに同期して、時刻ｔ１で「００１」、時刻ｔ３で「０１１」、時刻ｔ５で「１０１」、時刻ｔ７で「１１１」のアドレス信号ＴＰＡＤ２を生成する。したがって、テストパターン選択部１０７により選択出力されてメモリ１０２に入力されるアドレス信号ＴＰＡＤ３は、時刻ｔ１で「０００」、時刻ｔ２で「００１」、時刻ｔ３で「０１０」、時刻ｔ４で「０１１」、時刻ｔ５で「１００」、時刻ｔ６で「１０１」、時刻ｔ７で「１１０」となる。これに呼応して、メモリ１０２の出力データ信号ＤＯ３として［０００］、［００１］、［０１０］、［０１１］、［１００］、［１０１］、［１１０］が順次得られる。そして、第１の期待値比較部１０５は、第２のクロックＣＫ２の立ち上がりエッジに同期して、時刻ｔ２で［０００］、時刻ｔ４で［０１０］、時刻ｔ６で［１００］、時刻ｔ８で［１１０］の出力データ信号ＤＯ３につき、それぞれ期待値比較を行う。一方、第２の期待値比較部１０６は、第３のクロックＣＫ３の立ち上がりエッジに同期して、時刻ｔ３で［００１］、時刻ｔ５で［０１１］、時刻ｔ７で［１０１］の出力データ信号ＤＯ３につき、それぞれ期待値比較を行う。つまり、第１クロックＣＫ１の立ち上がりエッジに同期して、一連のアドレス信号ＴＰＡＤ３を含む第３のテストパターンをメモリ１０２に与えることができ、メモリ１０２からのシーケンシャルなデータ読み出しと期待値比較とを実施できる。
【００２６】
以上のとおり、図３の例によれば、第１のテストパターン生成部１０３と第２のテストパターン生成部１０４とが第１のクロックＣＫ１の半分の周波数でかつ互いに半サイクルずれてテストパターン生成動作をし、かつ第１の期待値比較部１０５と第２の期待値比較部１０６とが第１のクロックＣＫ１の半分の周波数でかつ互いに半サイクルずれて期待値比較動作をするため、第１及び第２のテストパターン生成部１０３，１０４並びに第１及び第２の期待値比較部１０５，１０６の各々の動作速度を抑えてもメモリ１０２の実動作速度でのテストデータの読み出しが可能となる。しかも、メモリ１０２と第１及び第２の期待値比較部１０５，１０６との間に記憶素子を介在させる必要がないため、ＢＩＳＴ回路１０１の面積が小さくてすみ、消費電力を少なく抑えることができる。
【００２７】
図４は、図１中のメモリ１０２からのテストデータ読み出し動作におけるアドレスインクリメントシーケンスからアドレスデクリメントシーケンスへの移行期間の例を示している。ここでは、図１中の書き込みイネーブル信号ＴＰＷＥ１，ＴＰＷＥ２，ＴＰＷＥ３がいずれもＬレベルに設定されて「読み出し」が選択される。また、メモリ１０２の最大アドレスが「ＭＡＸ（奇数）」であるものとする。したがって、「ＭＡＸ−１」が最大偶数アドレスである。なお、図４以降において「ＡＲＢ」は任意のアドレスを表している。
【００２８】
図４の例によれば、第１のテストパターンはメモリ１０２の偶数読み出しアドレスを、第２のテストパターンはメモリ１０２の奇数読み出しアドレスをそれぞれ含む。具体的に説明すると、第１のテストパターン生成部１０３は、第２のクロックＣＫ２の立ち上がりエッジに同期して、時刻ｔ０で「ＭＡＸ−３」、時刻ｔ２で「ＭＡＸ−１」、時刻ｔ４で「ＡＲＢ」、時刻ｔ６で「ＭＡＸ−１」のアドレス信号ＴＰＡＤ１を生成する。しかも、任意アドレス「ＡＲＢ」のアドレス信号ＴＰＡＤ１を生成している間、つまり時刻ｔ４から時刻ｔ６までの間だけ、第１のテストパターン生成部１０３は、チップイネーブル信号ＴＰＣＥ１をＬレベルに非活性化する。一方、第２のテストパターン生成部１０４は、第３のクロックＣＫ３の立ち上がりエッジに同期して、時刻ｔ１で「ＭＡＸ−２」、時刻ｔ３で「ＭＡＸ」、時刻ｔ５で「ＭＡＸ」、時刻ｔ７で「ＭＡＸ−２」のアドレス信号ＴＰＡＤ２を生成する。この間、第２のテストパターン生成部１０４は、チップイネーブル信号ＴＰＣＥ２をＨレベルに活性化し続ける。したがって、テストパターン選択部１０７により選択出力されてメモリ１０２に入力されるアドレス信号ＴＰＡＤ３は、時刻ｔ１で「ＭＡＸ−３」、時刻ｔ２で「ＭＡＸ−２」、時刻ｔ３で「ＭＡＸ−１」、時刻ｔ４で「ＭＡＸ」、時刻ｔ５で「ＡＲＢ」、時刻ｔ６で「ＭＡＸ」、時刻ｔ７で「ＭＡＸ−１」となる。また、テストパターン選択部１０７により選択出力されてメモリ１０２に入力されるチップイネーブル信号ＴＰＣＥ３は、任意アドレス「ＡＲＢ」のアドレス信号ＴＰＡＤ３がメモリ１０２に供給されている間、つまり時刻ｔ５から時刻ｔ６までの間だけ、Ｌレベルに非活性化される。これに呼応して、メモリ１０２の出力データ信号ＤＯ３として［ＭＡＸ−３］、［ＭＡＸ−２］、［ＭＡＸ−１］、［ＭＡＸ］が順次得られた後、出力データ信号ＤＯ３が１サイクルだけ停止したうえ、更に出力データ信号ＤＯ３として［ＭＡＸ］、［ＭＡＸ−１］が順次得られる。そして、第１の期待値比較部１０５は、第２のクロックＣＫ２の立ち上がりエッジに同期して、時刻ｔ２で［ＭＡＸ−３］、時刻ｔ４で［ＭＡＸ−１］、時刻ｔ８で［ＭＡＸ］の出力データ信号ＤＯ３につき、それぞれ期待値比較を行う。一方、第２の期待値比較部１０６は、第３のクロックＣＫ３の立ち上がりエッジに同期して、時刻ｔ３で［ＭＡＸ−２］、時刻ｔ５で［ＭＡＸ］、時刻ｔ７で［ＭＡＸ］の出力データ信号ＤＯ３につき、それぞれ期待値比較を行う。つまり、第１クロックＣＫ１の立ち上がりエッジに同期して、アドレスインクリメントシーケンスからアドレスデクリメントシーケンスへと移行する一連のアドレス信号ＴＰＡＤ３を含む第３のテストパターンをメモリ１０２に与えることができ、メモリ１０２からのシーケンシャルなデータ読み出しと期待値比較とを実施できる。
【００２９】
以上のとおり、図４の例によれば、アドレスインクリメントシーケンスからアドレスデクリメントシーケンスへの移行の際に、第１のテストパターン生成部１０３が「ＭＡＸ−１」のアドレス信号ＴＰＡＤ１の生成に次いでチップイネーブル信号ＴＰＣＥ１を非活性化した後に「ＭＡＸ−１」のアドレス信号ＴＰＡＤ１を再度生成することにより、メモリ１０２へのチップイネーブル信号ＴＰＡＤ３を非活性化するタイミングを設けることとしたので、テストパターン選択部１０７におけるパターン選択順序を変更しなくてもよくなる。これにより、上記従来技術におけるクロック選択部が削減されるため、ＢＩＳＴ回路１０１の面積が縮小されるだけでなく、パターン選択のための信号パスがタイミング的なクリティカルパスになる可能性を排除できる。
【００３０】
なお、アドレスインクリメントシーケンスではテストデータの読み出しを、アドレスデクリメントシーケンスではテストデータの書き込みをそれぞれ実施することもできる。また、アドレスインクリメントシーケンスではテストデータの書き込みを、アドレスデクリメントシーケンスではテストデータの読み出し又は書き込みをそれぞれ実施することも可能である。
【００３１】
図５は、図１中のメモリ１０２からのテストデータ読み出し動作におけるアドレスデクリメントシーケンスからアドレスインクリメントシーケンスへの移行期間の例を示している。ここでは、図１中の書き込みイネーブル信号ＴＰＷＥ１，ＴＰＷＥ２，ＴＰＷＥ３がいずれもＬレベルに設定されて「読み出し」が選択される。また、メモリ１０２の最小アドレスが「０００（偶数）」であるものとする。したがって、「００１」が最小奇数アドレスである。
【００３２】
図５の例によれば、第１のテストパターンはメモリ１０２の偶数読み出しアドレスを、第２のテストパターンはメモリ１０２の奇数読み出しアドレスをそれぞれ含む。具体的に説明すると、第１のテストパターン生成部１０３は、第２のクロックＣＫ２の立ち上がりエッジに同期して、時刻ｔ０で「０１０」、時刻ｔ２で「０００」、時刻ｔ４で「０００」、時刻ｔ６で「０１０」のアドレス信号ＴＰＡＤ１を生成する。この間、第１のテストパターン生成部１０３は、チップイネーブル信号ＴＰＣＥ１をＨレベルに活性化し続ける。一方、第２のテストパターン生成部１０４は、第３のクロックＣＫ３の立ち上がりエッジに同期して、時刻ｔ１で「００１」、時刻ｔ３で「ＡＲＢ」、時刻ｔ５で「００１」、時刻ｔ７で「０１１」のアドレス信号ＴＰＡＤ２を生成する。しかも、任意アドレス「ＡＲＢ」のアドレス信号ＴＰＡＤ２を生成している間、つまり時刻ｔ３から時刻ｔ５までの間だけ、第２のテストパターン生成部１０４は、チップイネーブル信号ＴＰＣＥ２をＬレベルに非活性化する。したがって、テストパターン選択部１０７により選択出力されてメモリ１０２に入力されるアドレス信号ＴＰＡＤ３は、時刻ｔ１で「０１０」、時刻ｔ２で「００１」、時刻ｔ３で「０００」、時刻ｔ４で「ＡＲＢ」、時刻ｔ５で「０００」、時刻ｔ６で「００１」、時刻ｔ７で「０１０」となる。また、テストパターン選択部１０７により選択出力されてメモリ１０２に入力されるチップイネーブル信号ＴＰＣＥ３は、任意アドレス「ＡＲＢ」のアドレス信号ＴＰＡＤ３がメモリ１０２に供給されている間、つまり時刻ｔ４から時刻ｔ５までの間だけ、Ｌレベルに非活性化される。これに呼応して、メモリ１０２の出力データ信号ＤＯ３として［０１０］、［００１］、［０００］が順次得られた後、出力データ信号ＤＯ３が１サイクルだけ停止したうえ、更に出力データ信号ＤＯ３として［０００］、［００１］、［０１０］が順次得られる。そして、第１の期待値比較部１０５は、第２のクロックＣＫ２の立ち上がりエッジに同期して、時刻ｔ２で［０１０］、時刻ｔ４で［０００］、時刻ｔ６で［０００］、時刻ｔ８で［０１０］の出力データ信号ＤＯ３につき、それぞれ期待値比較を行う。一方、第２の期待値比較部１０６は、第３のクロックＣＫ３の立ち上がりエッジに同期して、時刻ｔ３で［００１］、時刻ｔ７で［００１］の出力データ信号ＤＯ３につき、それぞれ期待値比較を行う。つまり、第１クロックＣＫ１の立ち上がりエッジに同期して、アドレスデクリメントシーケンスからアドレスインクリメントシーケンスへと移行する一連のアドレス信号ＴＰＡＤ３を含む第３のテストパターンをメモリ１０２に与えることができ、メモリ１０２からのシーケンシャルなデータ読み出しと期待値比較とを実施できる。
【００３３】
以上のとおり、図５の例によれば、アドレスデクリメントシーケンスからアドレスインクリメントシーケンスへの移行の際に、第２のテストパターン生成部１０４が「００１」のアドレス信号ＴＰＡＤ２の生成に次いでチップイネーブル信号ＴＰＣＥ２を非活性化した後に「００１」のアドレス信号ＴＰＡＤ２を再度生成することにより、メモリ１０２へのチップイネーブル信号ＴＰＡＤ３を非活性化するタイミングを設けることとしたので、テストパターン選択部１０７におけるパターン選択順序を変更しなくてもよくなる。これにより、上記従来技術におけるクロック選択部が削減されるため、ＢＩＳＴ回路１０１の面積が縮小されるだけでなく、パターン選択のための信号パスがタイミング的なクリティカルパスになる可能性を排除できる。
【００３４】
なお、アドレスデクリメントシーケンスではテストデータの読み出しを、アドレスインクリメントシーケンスではテストデータの書き込みをそれぞれ実施することもできる。また、アドレスデクリメントシーケンスではテストデータの書き込みを、アドレスインクリメントシーケンスではテストデータの読み出し又は書き込みをそれぞれ実施することも可能である。
【００３５】
図６は、図１中のメモリ１０２からのテストデータ読み出しと当該メモリ１０２へのテストデータ書き込みとを交互に繰り返す動作におけるアドレスインクリメントシーケンスからアドレスデクリメントシーケンスへの移行期間の例を示している。ここでは、図１中のチップイネーブル信号ＴＰＣＥ１，ＴＰＣＥ２，ＴＰＣＥ３がいずれも活性化されてＨレベルを保持し、かつ第１のテストパターン生成部１０３がＬレベルの書き込みイネーブル信号ＴＰＷＥ１を、第２のテストパターン生成部１０４がＨレベルの書き込みイネーブル信号ＴＰＷＥ２をそれぞれ生成する。したがって、テストパターン選択部１０７により選択出力されてメモリ１０２に入力される書き込みイネーブル信号ＴＰＷＥ３の論理が第１のクロックＣＫ１の１サイクル毎に変化する結果、「読み出し（ＴＰＷＥ３＝Ｌ）」と「書き込み（ＴＰＷＥ３＝Ｈ）」とが交互に繰り返される。
【００３６】
図６の例によれば、第１のテストパターンはメモリ１０２の読み出しアドレスを、第２のテストパターンはメモリ１０２の書き込みアドレスをそれぞれ含む。具体的に説明すると、第１のテストパターン生成部１０３は、第２のクロックＣＫ２の立ち上がりエッジに同期して、時刻ｔ０で「ＭＡＸ−１」、時刻ｔ２で「ＭＡＸ」、時刻ｔ４で「ＭＡＸ」、時刻ｔ６で「ＭＡＸ−１」のアドレス信号ＴＰＡＤ１を生成する。一方、第２のテストパターン生成部１０４は、第３のクロックＣＫ３の立ち上がりエッジに同期して、時刻ｔ１で「ＭＡＸ−１」、時刻ｔ３で「ＭＡＸ」、時刻ｔ５で「ＭＡＸ」、時刻ｔ７で「ＭＡＸ−１」のアドレス信号ＴＰＡＤ２を生成する。したがって、テストパターン選択部１０７により選択出力されてメモリ１０２に入力されるアドレス信号ＴＰＡＤ３は、時刻ｔ１で「ＭＡＸ−１」、時刻ｔ３で「ＭＡＸ」、時刻ｔ５で「ＭＡＸ」、時刻ｔ７で「ＭＡＸ−１」となる。しかも、この間にメモリ１０２に入力される書き込みイネーブル信号ＴＰＷＥ３は、ＬレベルとＨレベルとを繰り返す。したがって、時刻ｔ１から時刻ｔ２までのサイクルではメモリ１０２からのデータ読み出しが実施されて出力データ信号ＤＯ３として［ＭＡＸ−１］が得られ、時刻ｔ２から時刻ｔ３までのサイクルでは第２のテストパターン生成部１０４が生成したデータ［ＭＡＸ−１］’がメモリ１０２に書き込まれる。また、時刻ｔ３から時刻ｔ４までのサイクルではメモリ１０２からのデータ読み出しが実施されて出力データ信号ＤＯ３として［ＭＡＸ］が得られ、時刻ｔ４から時刻ｔ５までのサイクルでは第２のテストパターン生成部１０４が生成したデータ［ＭＡＸ］’がメモリ１０２に書き込まれる。また、時刻ｔ５から時刻ｔ６までのサイクルではメモリ１０２からのデータ読み出しが実施されて出力データ信号ＤＯ３として［ＭＡＸ］’が得られ、時刻ｔ６から時刻ｔ７までのサイクルでは第２のテストパターン生成部１０４が生成したデータ［ＭＡＸ］”がメモリ１０２に書き込まれる。また、時刻ｔ７から時刻ｔ８までのサイクルではメモリ１０２からのデータ読み出しが実施されて出力データ信号ＤＯ３として［ＭＡＸ−１］’が得られ、時刻ｔ８から始まるサイクルでは第２のテストパターン生成部１０４が生成したデータ［ＭＡＸ−１］”がメモリ１０２に書き込まれる。そして、第１の期待値比較部１０５は、第２のクロックＣＫ２の立ち上がりエッジに同期して、時刻ｔ２で［ＭＡＸ−１］、時刻ｔ４で［ＭＡＸ］、時刻ｔ６で［ＭＡＸ］’、時刻ｔ８で［ＭＡＸ−１］’の出力データ信号ＤＯ３につき、それぞれ期待値比較を行う。
【００３７】
以上のとおり、図６の例によれば、メモリ１０２からのデータ読み出しと当該メモリ１０２へのデータ書き込みとが交互に実施され、第１の期待値比較部１０５が第１のクロックＣＫ１の半分の周波数で期待値比較動作をするため、メモリ１０２の実動作速度でのテストの実施が可能となる。しかも、図４の例と違って、アドレスインクリメントシーケンスからアドレスデクリメントシーケンスへの移行の際に、第１及び第２のテストパターン生成部１０３，１０４は各々メモリ１０２の最大アドレス「ＭＡＸ」を連続して生成すればよく、テストパターン選択部１０７におけるパターン選択順序を変更する必要がなく、またメモリ１０２へのチップイネーブル信号ＴＰＣＥ３を非活性化するタイミングを設ける必要もない。
【００３８】
図７は、図１中のメモリ１０２からのテストデータ読み出しと当該メモリ１０２へのテストデータ書き込みとを交互に繰り返す動作におけるアドレスデクリメントシーケンスからアドレスインクリメントシーケンスへの移行期間の例を示している。ここでも、図６の場合と同様に、図１中のチップイネーブル信号ＴＰＣＥ１，ＴＰＣＥ２，ＴＰＣＥ３がいずれも活性化されてＨレベルを保持し、かつ第１のテストパターン生成部１０３がＬレベルの書き込みイネーブル信号ＴＰＷＥ１を、第２のテストパターン生成部１０４がＨレベルの書き込みイネーブル信号ＴＰＷＥ２をそれぞれ生成する。
【００３９】
図７の例によれば、第１のテストパターンはメモリ１０２の読み出しアドレスを、第２のテストパターンはメモリ１０２の書き込みアドレスをそれぞれ含む。具体的に説明すると、第１のテストパターン生成部１０３は、第２のクロックＣＫ２の立ち上がりエッジに同期して、時刻ｔ０で「００１」、時刻ｔ２で「０００」、時刻ｔ４で「０００」、時刻ｔ６で「００１」のアドレス信号ＴＰＡＤ１を生成する。一方、第２のテストパターン生成部１０４は、第３のクロックＣＫ３の立ち上がりエッジに同期して、時刻ｔ１で「００１」、時刻ｔ３で「０００」、時刻ｔ５で「０００」、時刻ｔ７で「００１」のアドレス信号ＴＰＡＤ２を生成する。したがって、テストパターン選択部１０７により選択出力されてメモリ１０２に入力されるアドレス信号ＴＰＡＤ３は、時刻ｔ１で「００１」、時刻ｔ３で「０００」、時刻ｔ５で「０００」、時刻ｔ７で「００１」となる。しかも、この間にメモリ１０２に入力される書き込みイネーブル信号ＴＰＷＥ３は、ＬレベルとＨレベルとを繰り返す。したがって、時刻ｔ１から時刻ｔ２までのサイクルではメモリ１０２からのデータ読み出しが実施されて出力データ信号ＤＯ３として［００１］が得られ、時刻ｔ２から時刻ｔ３までのサイクルでは第２のテストパターン生成部１０４が生成したデータ［００１］’がメモリ１０２に書き込まれる。また、時刻ｔ３から時刻ｔ４までのサイクルではメモリ１０２からのデータ読み出しが実施されて出力データ信号ＤＯ３として［０００］が得られ、時刻ｔ４から時刻ｔ５までのサイクルでは第２のテストパターン生成部１０４が生成したデータ［０００］’がメモリ１０２に書き込まれる。また、時刻ｔ５から時刻ｔ６までのサイクルではメモリ１０２からのデータ読み出しが実施されて出力データ信号ＤＯ３として［０００］’が得られ、時刻ｔ６から時刻ｔ７までのサイクルでは第２のテストパターン生成部１０４が生成したデータ［０００］”がメモリ１０２に書き込まれる。また、時刻ｔ７から時刻ｔ８までのサイクルではメモリ１０２からのデータ読み出しが実施されて出力データ信号ＤＯ３として［００１］’が得られ、時刻ｔ８から始まるサイクルでは第２のテストパターン生成部１０４が生成したデータ［００１］”がメモリ１０２に書き込まれる。そして、第１の期待値比較部１０５は、第２のクロックＣＫ２の立ち上がりエッジに同期して、時刻ｔ２で［００１］、時刻ｔ４で［０００］、時刻ｔ６で［０００］’、時刻ｔ８で［００１］’の出力データ信号ＤＯ３につき、それぞれ期待値比較を行う。
【００４０】
以上のとおり、図７の例によれば、メモリ１０２からのデータ読み出しと当該メモリ１０２へのデータ書き込みとが交互に実施され、第１の期待値比較部１０５が第１のクロックＣＫ１の半分の周波数で期待値比較動作をするため、メモリ１０２の実動作速度でのテストの実施が可能となる。しかも、図５の例と違って、アドレスデクリメントシーケンスからアドレスインクリメントシーケンスへの移行の際に、第１及び第２のテストパターン生成部１０３，１０４は各々メモリ１０２の最小アドレス「０００」を連続して生成すればよく、テストパターン選択部１０７におけるパターン選択順序を変更する必要がなく、またメモリ１０２へのチップイネーブル信号ＴＰＣＥ３を非活性化するタイミングを設ける必要もない。
【産業上の利用可能性】
【００４１】
以上説明してきたとおり、本発明に係る半導体集積回路は、ＢＩＳＴ回路の動作速度を抑えても高速メモリの実動作速度でメモリテストを実施でき、かつＢＩＳＴ回路の期待値比較やテストパターン選択が改善されるので、メモリテストを行う半導体集積回路として有用である。
【図面の簡単な説明】
【００４２】
【図１】本発明に係る半導体集積回路の構成例を示すブロック図である。
【図２】図１中のメモリへのテストデータ書き込み動作の例を示すタイミング図である。
【図３】図１中のメモリからのテストデータ読み出し動作の例を示すタイミング図である。
【図４】図１中のメモリからのテストデータ読み出し動作におけるアドレスインクリメントシーケンスからアドレスデクリメントシーケンスへの移行期間の例を示すタイミング図である。
【図５】図４と同様の動作におけるアドレスデクリメントシーケンスからアドレスインクリメントシーケンスへの移行期間の例を示すタイミング図である。
【図６】図１中のメモリからのテストデータ読み出しと当該メモリへのテストデータ書き込みとを交互に繰り返す動作におけるアドレスインクリメントシーケンスからアドレスデクリメントシーケンスへの移行期間の例を示すタイミング図である。
【図７】図６と同様の動作におけるアドレスデクリメントシーケンスからアドレスインクリメントシーケンスへの移行期間の例を示すタイミング図である。
【符号の説明】
【００４３】
１０１  ＢＩＳＴ回路
１０２  メモリ
１０３，１０４  テストパターン生成部
１０５，１０６  期待値比較部
１０７  テストパターン選択部
１０８，１０９  インバータ
【図１】
2006196060.tif 000003
【図２】
2006196060.tif 000004
【図３】
2006196060.tif 000005
【図４】
2006196060.tif 000006
【図５】
2006196060.tif 000007
【図６】
2006196060.tif 000008
【図７】
2006196060.tif 000009