(57)【要約】【課題】メモリを搭載する半導体集積回路のメモリテスト回路において、メモリを動作させるテストモードと、メモリを迂回する迂回パス回路を動作させるテストモードに対して、テストパターンを共通化する。【解決手段】メモリの入力端子と出力端子間に、フリップフロップを含む迂回パス回路を接続する。メモリをテストする故障検出モード、迂回パス回路を動作させる擬似メモリアクセスモードのいずれかを設定する。故障検出モードでメモリに書き込んだデータを読み出すクロックのタイミングと、擬似メモリアクセスモードでフリップフロップに迂回させたデータを読み出すクロックのタイミングを等しくすることにより、同じタイミングの同一の信号を出力することが可能になり、テストパターンを共通化することが可能になる。【選択図】図１
2012150862.tif 000002
【特許請求の範囲】
【請求項１】
メモリを搭載し、クロックに同期して動作する半導体集積回路において、
前記メモリの入力端子と出力端子間にフリップフロップを含む迂回パス回路と、
前記メモリの出力と前記迂回パス回路の出力のいずれかを選択出力する出力選択回路と、
前記メモリを動作させる第１のテストモード、前記迂回パス回路を動作させる第２のテストモードのいずれかを設定するテストモード選択回路と、を備え、
前記第１のテストモードにおいて前記メモリに書き込んだデータを読み出すクロックのタイミングと、前記第２のテストモードにおいて前記フリップフロップに迂回させたデータを読み出すクロックのタイミングが等しいことを特徴とする半導体集積回路のメモリテスト回路。
【請求項２】
前記メモリを複数搭載し、前記テストモード選択回路は、前記複数のメモリを２以上の領域に区切り、前記領域毎に前記第１又は第２のテストモードに設定することを特徴とする請求項１記載の半導体集積回路のメモリテスト回路。
【請求項３】
前記第１又は第２のテストモード時に、前記テストモード選択回路が出力する前記領域毎のテストモード選択信号は、前記領域内のメモリのチップセレクト信号に供給され、
前記テストモード選択信号が前記第１のテストモードである場合に、前記チップセレクト信号がアクティブ状態になり、
前記テストモード選択信号が前記第２のテストモードである場合に、前記チップセレクト信号が非アクティブ状態になることを特徴とする請求項１または２に記載の半導体集積回路のメモリテスト回路。
【請求項４】
前記迂回パス回路のフリップフロップの入力端子は、対応する前記メモリの入力端子と接続され、前記第２のテストモードの場合、
前記迂回パス回路のフリップフロップのクロックには、前記メモリのライトイネーブルがアクティブ状態で、前記メモリに供給されるクロックが選択され、
前記迂回パス回路のフリップフロップは、前記迂回パス回路のフリップフロップのクロックに基づいて、ラッチ動作することを特徴とする請求項１乃至３のいずれか１項に記載の半導体集積回路のメモリテスト回路。
【請求項５】
前記第１又は第２のテストモードの場合に、前記メモリのライトイネーブル端子には、前記メモリに供給されるクロック信号と同期し、周期が前記メモリに供給されるクロック信号の２倍であるテストライトイネーブル信号が供給されることを特徴とする請求項１乃至４のいずれか１項に記載の半導体集積回路のメモリテスト回路。
【請求項６】
前記複数のメモリの領域の区切りは、メモリ単位であることを特徴とする請求項１乃至５のいずれか１項に記載の半導体集積回路のメモリテスト回路。
【請求項７】
前記複数のメモリの領域の区切りは、前記メモリをグループ化した単位であることを特徴とする請求項１乃至５のいずれか１項に記載の半導体集積回路のメモリテスト回路。
【請求項８】
メモリと、
フリップフロップ回路を含み前記メモリの入力端子と出力端子との間に設けられた迂回パス回路と、を備えた半導体集積回路のメモリテスト方法であって、
前記入力端子から入力したデータを前記メモリに書き込み、前記書き込んだデータをメモリから読み出して前記出力端子に出力させる第１のテストと、
前記入力端子から入力したデータを前記メモリを迂回して前記フリップフロップに書き込み、前記フリップフロップに書き込んだデータを前記出力端子に出力させる第２のテストと、を同一のテストパターンを用いて行うことを特徴とする半導体集積回路のメモリテスト方法。
【請求項９】
前記メモリを複数搭載し、
前記複数のメモリを２以上の領域に区切り、前記領域毎に、前記第１のテストを行う第１のテストモードと、前記第２のテストを行う第２のテストモードのいずれかを設定するテストモード選択ステップと、
テストを実行し、テスト出力がテストパターンの期待値と一致するか否かを判定するステップと、
前記テスト出力が前記テストパターンの期待値と不一致である場合に、前記半導体集積回路の消費電力が所定の値を超えているか否かを判定するステップと、
前記消費電力が所定の値を超えていると判定された場合に、前記複数の領域の少なくとも１つに対して、前記テストモード選択ステップで設定したテストモードを変更するステップと、
前記変更したテストモードで再テストを実行し、テスト出力が前記テストパターンの期待値と一致するか否かを判定するステップと、を含むことを特徴とする請求項８に記載の半導体集積回路のメモリテスト方法。
【請求項１０】
前記テストモードの変更と再テストは、前記複数の領域に対するテストモードを指定した所定の組み合わせに対して行われ、
前記所定の組み合わせの各々の再テストのテスト出力が、前記テストパターンと一致するか否かを判定するステップを含むことを特徴とする請求項９に記載の半導体集積回路のメモリテスト方法。
【請求項１１】
前記複数のメモリの領域の区切りは、メモリ単位であることを特徴とする請求項９または１０に記載の半導体集積回路のメモリテスト方法。
【請求項１２】
前記複数のメモリの領域の区切りは、前記メモリをグループ化した単位であることを特徴とする請求項９または１０に記載の半導体集積回路のメモリテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のメモリテスト回路及びメモリテスト方法に関する。特に、本発明は、複数のメモリを内蔵する半導体集積回路のメモリテスト回路及びメモリテスト方法に関する。
【背景技術】
【０００２】
半導体集積回路のテストにおいて、特に、メモリ搭載の半導体集積回路をテストする場合、テスト時は通常動作時よりもメモリやロジックの動作率が高く、消費電力が多くなるため、電圧降下を生じて、良品を不良品と判定してしまい、歩留まりが低下するという問題が生じている。
【０００３】
この問題を解決するために、半導体集積回路全体を一度にテストするのではなく、メモリやロジックを幾つかの領域に区切って、テスト対象とテスト非対象に分けて、テスト非対象のメモリを動作させないディセーブル状態に設定し、消費電力を抑えるテスト手法が考えられている。
【０００４】
特許文献１には、メモリ搭載の半導体集積回路であって、メモリ周辺回路の故障検出率を向上させ、低消費電力でテストを行う半導体集積回路が開示されている。ここでは、「迂回パスモード」と「トランスペアレントモード」の２つのテストモードをメモリセル単位で設定可能に構成している。図５は、特許文献１に記載されている半導体集積回路の回路図である。迂回パスモードでは、メモリの入力端子から出力端子へ迂回させる迂回パス回路を通った信号が、選択手段６５から出力される。一方、トランスペアレントモードでは、メモリアドレスを０ｈに固定しメモリを動作させ、メモリセルからの出力データが、選択手段６５から出力される。
【０００５】
ここで、迂回パスモードでは、メモリセルからの出力データ、メモリセルのデータ出力端子からマルチプレクサ３１８の入力端子間のパス、マルチプレクサ３１８の選択制御信号の入力端子の故障検出ができないという問題がある。一方、トランスペアレントモードでは、アドレスが０ｈに固定されるので、メモリのアドレス入力に関する周辺回路のテストができないという問題がある。そこで、特許文献１には、迂回パスモードとトランスペアレントモードをメモリセル毎に切り替えることによって、各々のモードでテストできないメモリ周辺の回路の部分を補い合うことにより、故障検出率の向上を実現する方法が開示されている。すなわち、特許文献１に記載された半導体集積回路では、迂回パスモードでテストできないメモリセルからの出力データ、メモリセルのデータ出力端子からマルチプレクサ３１８の入力端子間のパス、マルチプレクサ３１８の選択制御信号の入力端子の故障検出をテストすることができ、また、トランスペアレントモードでテストできないアドレス入力に関する周辺回路をテストすることができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−２７１３４６号公報
【特許文献２】特開２００４−２７９３１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
以下の分析は、本発明により与えられる。
【０００８】
しかしながら、特許文献１に記載された半導体集積回路では、各々のメモリセルに設定するモードを変えると、モードに応じて、テストパターンの期待値を変えなければならないという問題がある。以下に、図５、図６、図７を参照しながら、その理由を詳細に説明する。図６は、図５に示す回路の迂回パスモード時のタイミングチャートを示している。図６のＡ、Ｂ、Ｃ、Ｄは、図５の組み合わせ回路３２２の４つの出力信号を示す。また、図６のＥ、Ｆ、Ｇ、Ｈは、図５の選択回路３１８の対応する４つ出力信号を示す。迂回パスモードの場合には、組み合わせ回路３２２の出力信号と、選択回路３１８の出力信号は、同じタイミングの同一の信号になるため、図６に示すように、ＥとＡ、ＦとＢ、ＧとＣ、ＨとＤは、各々、同じになる。
【０００９】
一方、図７は、図５に示す回路のトランスペアレントモード時のタイミングチャートを示している。図７のＤ、Ｅ、Ｆ、Ｇは、図５の組み合わせ回路３２２の４つの出力信号を示す。ここで、図７のＤ、Ｅ、Ｆ、Ｇは、図６のＡ、Ｂ、Ｃ、Ｄと、各々、同じであるとする。また、図７のＨ、Ｉ、Ｊ、Ｋは、各々、図７のＤ、Ｅ、Ｆ、Ｇに対応する選択回路３１８の出力信号を示す。トランスペアレントモードの場合には、メモリセルの動作により、図７に示すように、選択回路３１８の出力信号は、組み合わせ回路３２２の出力信号に対して、１クロック分、遅延する。従って、迂回パスモードの選択回路３１８の出力（図６のＥ、Ｆ、Ｇ、Ｈ）と、トランスペアレントモードの選択回路３１８の出力（図７のＨ、Ｉ、Ｊ、Ｋ）を、各々、比較すると、１クロック分の遅延が生じている。以上の理由により、特許文献１に記載された従来のテスト方法では、メモリセルに設定するモードによって、テストパターンの期待値を変えなければならない。
【００１０】
また、前述のように、複数のメモリを含む半導体集積回路において、複数のメモリを幾つかの領域に区切り、テスト対象とテスト非対象に分け、テスト非対象のメモリをディセーブル状態に設定し、消費電力を抑えてテストを行うことが行われる。例えば、複数のメモリをｎ個の領域に区切る場合には、モード設定は、２のｎ乗通りの組み合わせが考えられ、最大、その組み合わせの数だけ、期待値が存在することになり、必要なテストパターンの本数が膨大になってしまうという問題がある。また、モード設定を変える度に、テストパターンを変えることが煩雑であるという問題も生じる。
【００１１】
以上のように、メモリ搭載の半導体集積回路をテストする場合において、設定するテストモードによらずに、テストパターンを共通化したいという課題がある。
【課題を解決するための手段】
【００１２】
本発明の第１の視点による半導体集積回路のメモリテスト回路は、メモリを搭載し、クロックに同期して動作する半導体集積回路において、メモリの入力端子と出力端子間にフリップフロップを含む迂回パス回路と、メモリの出力と迂回パス回路の出力のいずれかを選択出力する出力選択回路と、メモリを動作させる第１のテストモード、迂回パス回路を動作させる第２のテストモードのいずれかを設定するテストモード選択回路と、を備え、第１のテストモードにおいてメモリに書き込んだデータを読み出すクロックのタイミングと、第２のテストモードにおいてフリップフロップに迂回させたデータを読み出すクロックのタイミングが等しい。
【００１３】
本発明の第２の視点による半導体集積回路のメモリテスト方法は、メモリと、フリップフロップ回路を含みメモリの入力端子と出力端子との間に設けられた迂回パス回路と、を備えた半導体集積回路のメモリテスト方法であって、入力端子から入力したデータをメモリに書き込み、書き込んだデータをメモリから読み出して出力端子に出力させる第１のテストと、入力端子から入力したデータをメモリを迂回してフリップフロップに書き込み、フリップフロップに書き込んだデータを出力端子に出力させる第２のテストと、を同一のテストパターンを用いて行う。
【発明の効果】
【００１４】
本発明の半導体集積回路のメモリテスト回路によれば、メモリを動作させる第１のテストモードと、迂回パス回路を動作させる第２のテストモードとで、テストパターンを共通化することができる。
【００１５】
本発明の半導体集積回路のメモリテスト方法によれば、メモリにデータを書き込んで読み出す第１のテストと、迂回パス回路のフリップフロップにデータを書き込んで読み出す第２のテストとを、共通のテストパターンでテストすることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施例１に係る半導体集積回路のメモリテスト回路の回路図である。
【図２】本発明の実施例２に係る半導体集積回路のメモリテスト回路の回路図である。
【図３】本発明の実施例１に係る半導体集積回路のメモリテスト回路のタイミングチャートである。
【図４】本発明の実施例３に係る半導体集積回路のメモリテスト方法を示すフローチャートである。
【図５】従来の半導体集積回路のメモリテスト回路の回路図である。
【図６】従来の半導体集積回路のメモリテスト回路の迂回パスモードのタイミングチャートである。
【図７】従来の半導体集積回路のメモリテスト回路のトランスペアレントモードのタイミングチャートである。
【図８】半導体集積回路のテスト回路におけるスキャンセルを説明するための図である。
【発明を実施するための形態】
【００１７】
本発明の実施形態について、必要に応じて図面を参照して説明する。なお、実施形態の説明において引用する図面及び図面の符号は実施形態の一例として示すものであり、それにより本発明による実施形態のバリエーションを制限するものではない。
【００１８】
本発明による第１の実施形態の半導体集積回路のメモリテスト回路は、図１に示すように、メモリ１００１を搭載し、クロックＣＬＫに同期して動作する半導体集積回路において、メモリの入力端子（１００１のＤＩ０〜ＤＩｎ）と出力端子（１００１のＤＯ０〜ＤＯｎ）間にフリップフロップ１０１２を含む迂回パス回路１００８と、メモリ１００１の出力と迂回パス回路１００８の出力のいずれかを選択出力する出力選択回路１００７と、メモリ１００１を動作させる第１のテストモード、迂回パス回路１００８を動作させる第２のテストモードのいずれかを設定するテストモード選択回路１０４０と、を備え、第１のテストモードにおいてメモリ１００１に書き込んだデータを読み出すクロックのタイミングと、第２のテストモードにおいてフリップフロップ１０１２に迂回させたデータを読み出すクロックのタイミングが等しい。
【００１９】
本発明による第２の実施形態の半導体集積回路のメモリテスト方法は、図１に示すように、メモリ１００１と、フリップフロップ１０１２を含みメモリ１００１の入力端子（１００１のＤＩ０〜ＤＩｎ）と出力端子（１００１のＤＯ０〜ＤＯｎ）との間に設けられた迂回パス回路１００８と、を備えた半導体集積回路のメモリテスト方法であって、入力端子（１００１のＤＩ０〜ＤＩｎ）から入力したデータをメモリ１００１に書き込み、書き込んだデータをメモリ１００１から読み出して出力端子（１００１のＤＯ０〜ＤＯｎ）に出力させる第１のテストと、入力端子（１００１のＤＩ０〜ＤＩｎ）から入力したデータをメモリ１００１を迂回してフリップフロップ１０１２に書き込み、フリップフロップ１０１２に書き込んだデータを出力端子（フリップフロップ１０１２の出力端子）に出力させる第２のテストと、を同一のテストパターンを用いて行う。
【００２０】
以下、実施例について、図面を参照して詳しく説明する。
【実施例１】
【００２１】
［実施例１の構成］
図１は、実施例１に係る半導体集積回路のメモリテスト回路の回路図である。図１に示す半導体集積回路は、メモリ１００１を備えている。半導体集積回路のメモリテスト回路は、メモリ１００１にアクセスするメモリ周辺回路１０００、テストモード選択回路１０４０で構成される。
【００２２】
まず、メモリ周辺回路１０００の構成について詳細に説明する。メモリ周辺回路１０００は、外部からテストパターンを入力してラッチするフリップフロップ１００２と、テスト出力をラッチし、外部に取り出すフリップフロップ１００３を備えている。フリップフロップ１００２、１００３は、スキャンチェーンを構成することが可能なスキャンセルで構成されている。スキャンセルは、一般に、より詳細には、図８に例示したようにフリップフロップ（Ｆ０１〜Ｆ１０）とマルチプレクサ（ＭＵＸ０１〜ＭＵＸ１０）を含むが、図１では、マルチプレクサは省略し、フリップフロップの部分のみを図示している。
【００２３】
メモリ周辺回路１０００は、フリップフロップ１００２の出力を入力するロジック部１００４と、ロジック部１００４の出力を入力する入力選択回路１００６と、メモリ１００１の入力端子ＤＩ０〜ＤＩｎと出力端子ＤＯ０〜ＤＯｎの間に配される迂回パス回路１００８と、メモリ出力端子ＤＯ０〜ＤＯｎと迂回パス回路１００８の出力を選択出力する出力選択回路１００７と、出力選択回路１００７の出力を入力するロジック部１００５とを備えている。また、ロジック部１００５の出力は、フリップフロップ１００３に入力される。
【００２４】
入力選択回路１００６は、テストモード（第１又は第２のテストモード）のときに、所定のアドレスに固定されたアドレス信号をメモリ１００１に供給するマルチプレクサ１００９と、テストモードのときに、テストモード選択回路１０４０から出力されるテストモード選択信号ＭＳＥＬ０を取り込むマルチプレクサ１０１０と、テストモードのときに、テストライトイネーブル信号（ＴＷＥＢ信号）を取り込むマルチプレクサ１０１１とを、有している。通常動作の時には、これらのマルチプレクサ１００９、１０１０、１０１１は、ロジック部１００４側の信号が選択される。
【００２５】
迂回パス回路１００８は、メモリ１００１のデータ入力端子（ＤＩ０〜ＤＩｎ）の各ビットに対応する（ｎ＋１）個のフリップフロップ１０１２と、フリップフロップ１０１２のクロックを制御するクロック制御回路１０１３を有している。クロック制御回路１０１３には、クロック信号ＣＬＫ、テストモード選択信号ＭＳＥＬ０、テストライトイネーブル信号ＴＷＥＢが入力される。まず、テストモード選択信号ＭＳＥＬ０と、テストライトイネーブル信号ＴＷＥＢの論理を反転した信号が第１のＡＮＤ回路に入力され、その第１のＡＮＤ回路の出力と、クロック信号ＣＬＫが、第２のＡＮＤ回路に入力され、第２のＡＮＤ回路の出力が、フリップフロップ１０１２のクロック信号ＣＬＫ＿ＦＦになる。
【００２６】
出力選択回路１００７は、メモリ１００１のデータ出力信号（ＤＯ０〜ＤＯｎ）と、フリップフロップ１０１２のデータ出力信号を選択するマルチプレクサであり、テストモード選択信号ＭＳＥＬ０によって選択が制御される。
【００２７】
テストモード選択回路１０４０に対して、テストイネーブル信号ＴＥＳＴＥＮと、テストセレクト信号ＴＥＳＴＳＥＬが入力され、テストモード選択回路１０４０は、メモリ周辺回路１０００に対して、テストモード選択信号ＭＳＥＬ０を出力する。
【００２８】
［実施例１の動作］
次に、実施例１の動作について、図面を参照しながら、詳細に説明する。まず、ＴＥＳＴＥＮ信号は、メモリ周辺回路１０００において、通常動作モードとテストモードの動作切り替えを制御する信号であり、ＴＥＳＴＥＮ信号が「０」のときに通常動作モードとなり、「１」のときにテストモードになる。
【００２９】
まず、通常動作モード（ＴＥＳＴＥＮ信号が「０」の場合）を説明する。テストモード選択回路１０４０において、ＴＥＳＴＥＮ信号に「０」が入力されると、テストモード選択回路１０４０は、テストモード選択信号ＭＳＥＬ０を「０」にする。
【００３０】
次に、メモリ周辺回路１０００の通常動作モードについて説明する。マルチプレクサ１００９、１０１０、１０１１の選択信号であるＴＥＳＴＥＮ信号に「０」が入力されると、マルチプレクサ１００９、１０１０、１０１１の出力信号には、ロジック部１００４の出力信号が選択される。出力選択回路１００７において、ＭＳＥＬ０が「０」であることにより、出力選択回路１００７におけるマルチプレクサは、メモリ１００１のデータ出力信号ＤＯ０〜ＤＯｎを出力する。また、メモリ１００１のアドレス信号Ａ０〜Ａｍ、データ入力信号ＤＩ０〜ＤＩｎにはロジック部１００４の出力信号が選択されることにより、アドレスとデータが確定される。メモリ１００１のチップセレクト信号ＣＳＢ、ライトイネーブル信号ＷＥＢは、ロジック部１００４の演算結果によって、ライト動作やリード動作になる。すなわち、フリップフロップ１００２により、ロジック部１００４を介し、メモリ１００１がアクセスされ、メモリ１００１の出力データは、ロジック部１００５を介して、フリップフロップ１００３が受け取る。以上が、メモリ周辺回路１０００の通常動作モードの動作である。  
【００３１】
次に、メモリ周辺回路１０００のテストモード時（ＴＥＳＴＥＮ信号が「１」の場合）の動作について、説明する。テストモード時には、マルチプレクサ１００９、１０１０、１０１１の選択信号であるＴＥＳＴＥＮ信号が「１」とされることにより、メモリ１００１のアドレス信号（Ａ０〜Ａｍ）は、アドレス０ｈに固定され、チップセレクト信号ＣＳＢにはテストモード選択回路１０４０からＭＳＥＬ０信号が供給され、ライトイネーブル信号ＷＥＢには、外部信号であるテストライトイネーブル信号ＴＷＥＢが供給される。ここで、外部から供給されるテストライトイネーブル信号ＴＷＥＢは、図３のタイミングチャートに示すように、メモリ１００１に供給されるクロック信号ＣＬＫと同期し、ＣＬＫに対して２倍の周期を有している。
【００３２】
また、テストモードには、故障検出モード（第１のテストモード）と、擬似メモリアクセスモード（第２のテストモード）がある。故障検出モードのとき、メモリ１００１のチップセレクト信号ＣＳＢが「０」（アクティブ状態）になり、メモリ１００１は選択状態になる。一方、擬似メモリアクセスモードのとき、メモリ１００１のチップセレクト信号ＣＳＢが「１」（非アクティブ状態）になり、メモリ１００１は非選択状態になる。メモリ１００１の選択状態、非選択状態の設定は、テストモード選択回路１０４０が出力するＭＳＥＬ０信号により行われる。テストモード時には、メモリ１００１のチップセレクト信号ＣＳＢには、ＭＳＥＬ０信号が供給され、２つのテストモードは、テストイネーブル信号ＭＳＥＬ０によって切り替えられる。ＭＳＥＬ０が「０」の場合は故障検出モード（第１のテストモード）、ＭＳＥＬ０が「１」の場合は擬似メモリアクセスモード（第２のテストモード）の状態に遷移する。故障検出モードのとき、メモリ周辺回路１０００とメモリ１００１の間の遅延故障が検出可能である。また、擬似メモリアクセスモードのとき、メモリ１００１は非選択状態になり、低消費電力状態にすることが可能である。
【００３３】
ここで、図１の動作の説明を中断し、テストモード時に、テストパターンを外部から入力し、テスト出力を外部に取り出す動作について、説明する。テストパターンの入力とテスト出力の取得はスキャンセルにより行われるが、これに関しては、特許文献２に詳細な説明が記載されている。図８は、特許文献２に記載されている図と同様の図である。以下、図８を参照しながら、スキャンセルの動作について、詳細に説明する。図８において、テストモード時には、複数のマルチプレクサ（ＭＵＸ０１〜ＭＵＸ１０）は、入力端子１が選択されるように、制御される。それにより、スキャンセルＳＣ０１〜ＳＣ０６は、チェーン状に接続されたスキャンチェーンを構成する。また、同様に、スキャンセルＳＣ０７〜ＳＣ１０は、チェーン状に接続されたスキャンチェーンを構成する。また、通常動作モードでは、不図示のスキャンテスト信号を「０」にし、テストモードではスキャンテスト信号を「１」に設定する。まず、スキャンテスト信号を「１」にした後、ＣＬＫに同期して、スキャンイン端子ＳＣＡＮＩＮ１より所定のテストパターンを入力し、フリップフロップＦ０１〜Ｆ０６に順次設定する。設定が完了した後、ロジック１４、メモリ１８、ロジック２０を動作させるテストを行い、テスト出力は、ロジック２０の出力に出力される。その後、一旦、スキャンテスト信号を「０」とし、ロジック２０のテスト出力は、マルチプレクサを介し、対応するフリップフロップＦ０７〜Ｆ１０に入力され、クロック信号ＣＬＫに同期して保持される。続いて、再びスキャンテスト信号が「１」とし、フリップフロップＦ０７〜Ｆ１０に保持されたテスト出力は、クロック信号に同期して、スキャンアウト端子ＳＣＡＮＯＵＴ２に順次シフト出力される。以上が、特許文献２に記載されたスキャンセルの動作である。本発明の実施例１において、テストパターンの入力とテスト出力の取得を行う場合、フリップフロップ１００２、１００３は、各々、図８におけるスキャンセルＳＣ０１〜ＳＣ０６、スキャンセルＳＣ０７〜ＳＣ１０のように動作する。
【００３４】
次に、図１におけるメモリ周辺回路１０００のテストモード時の動作の説明に戻る。ここで、図３は、メモリ周辺回路１０００の故障検出モード、擬似メモリアクセスモードのタイミングチャートである。Ｔ１、Ｔ２、Ｔ３、Ｔ４は故障検出モード、Ｔ５、Ｔ６、Ｔ７、Ｔ８は擬似メモリアクセスモードである。
【００３５】
故障検出モード時には、ＭＳＥＬ０信号が「０」とされ、メモリ１００１のチップセレクト信号ＣＳＢは「０」に固定され、常時、メモリ１００１が選択状態となる。メモリ１００１のデータ入力信号（ＤＩ０〜ＤＩｎ）にはロジック部１００４の演算結果出力のデータがクロック信号ＣＬＫに同期して入力される。メモリ１００１のライトイネーブル信号ＷＥＢには外部信号であるテストライトイネーブル信号ＴＷＥＢが、クロック信号ＣＬＫに同期して入力され、「１」の場合はリードモード、「０」の場合はライトモードに遷移する。ライトモード（タイミングＴ２、Ｔ４）時は、メモリ１００１のデータを、データ出力信号ＤＯ０〜ＤＯｎとして出力する。このメモリ動作により、Ｔ２においてデータ出力信号ＤＯ０〜ＤＯｎにＤ０が出力され、Ｔ４においてデータ出力信号ＤＯ０〜ＤＯｎにＤ２が出力される。その後、フリップフロップ１００３は、ロジック部１００５を介して、メモリ１００１のデータ出力信号ＤＯ０〜ＤＯｎを受け取る。ここで、クロック制御回路１０１３は、ＭＳＥＬ０が「０」であることにより、常に「０」を出力する。フリップフロップ１０１２のクロックＣＬＫ＿ＦＦは、常時「０」となり、クロックが停止している。すなわち、故障検出モードにおいて（タイミングＴ１〜Ｔ４）、フリップフロップ１０１２は、動作停止の状態となる。
【００３６】
次に、擬似メモリアクセスモード時には、ＭＳＥＬ０信号が「１」とされ、メモリ１００１のチップセレクト信号ＣＳＢは「１」に固定され、メモリは非選択状態となる。クロック制御回路１０１３は、外部信号であるテストライトイネーブル信号ＴＷＥＢが「０」のときに、フリップフロップ１０１２のクロック端子にクロックを供給し、ＴＷＥＢが「１」のときに、フリップフロップ１０１２のクロックを「０」に固定することにより、クロックを停止する。その結果、フリップフロップ１０１２のクロックＣＬＫ＿ＦＦに供給される信号は、図３に示すようになる。フリップフロップ１０１２にクロックを供給されている場合（タイミングＴ６、Ｔ８の場合）、フリップフロップ１０１２は、メモリ１００１のデータ入力信号（ＤＩ０〜ＤＩｎ）のデータをラッチ動作する。一方、クロックＣＬＫ＿ＦＦが停止している場合は、前の状態を保持している（タイミングＴ５、Ｔ７の場合）。このクロック制御回路１０１３の動作により、Ｔ６においてフリップフロップ１０１２の出力にＤ０が出力され、Ｔ８においてフリップフロップ１０１２の出力にＤ２が出力される。出力選択回路１００７は、擬似メモリアクセスモード時には、ＭＳＥＬ０信号が「１」に選択されているので、フリップフロップ１０１２の出力信号を出力する。そして、出力選択回路１００７の出力が、ロジック部１００５に入力され、ロジック部の出力が、フリップフロップ１００３に入力される。
【００３７】
ここで、図３において、故障検出モードと擬似メモリアクセスモードのタイミングを比較する。故障検出モードにおいて、メモリに供給されているクロックＣＬＫにおける立ち上がりエッジｅ２、ｅ４のクロックのタイミングで、メモリに書き込んだデータを出力端子（１００１のＤＯ０〜ＤＯｎ）に読み出している。一方、擬似メモリアクセスモードにおいて、クロック制御回路１０１３よりフリップフロップ１０１２に供給されるクロックＣＬＫ＿ＦＦにおける立ち上がりエッジｅ６、ｅ８のクロックのタイミングで、フリップフロップに迂回されたデータをフリップフロップ１０１２の出力端子に読み出している。図３に示すように、ｅ２のタイミングとｅ６のタイミング、ｅ４のタイミングとｅ８のタイミングが、各々、等しくなるから、故障検出モードのメモリ１００１の出力端子ＤＯ０〜ＤＯｎの信号と、擬似メモリアクセスモードのフリップ１０１２の出力端子の信号は、同じタイミングの同一の信号になる。
【００３８】
以上に、メモリ周辺回路１０００の通常動作モード、故障検出モード（第１のテストモード）、擬似メモリアクセスモード（第２のテストモード）の動作について説明した。
【００３９】
図３に示したタイミングチャートからわかるように、図１のメモリ周辺回路１０００において、Ｔ１からＴ４の故障検出モードと、Ｔ５からＴ８の擬似メモリアクセスモードは、出力選択回路１００７の出力を同じタイミングの同一の信号にすることができる。従って、図１に示すメモリを有する半導体集積回路において、メモリ１００１の故障検出モード、擬似メモリアクセスモードのテストパターンの期待値を共通化することができる。
【００４０】
また、さらに、実施例１では、図１で示した半導体集積回路のメモリテスト回路でテストを行うメモリテスト方法を提供することができる。まず、図１で示した半導体集積回路のメモリテスト回路にテスタを接続する。そして、テスタに、共通化された１本のテストパターンを格納しておく。そして、テスタよりＴＥＳＴＳＥＬ信号を与えて、テストモード選択回路１０４０にテストモードの設定を指示する。まず、故障検出モードの設定が指示されると、テストモード選択回路１０４０がメモリ１００１に対して、ＭＳＥＬ０信号を「０」に設定し、故障検出モードのテスト（第１のテスト）を行う。テスト出力は、テスタに取得され、テストパターンの期待値と一致するか否かが判定される。次に、必要に応じて、テスタから、擬似メモリアクセスモードの設定が指示されると、テストモード選択回路１０４０がメモリ１００１に対して、ＭＳＥＬ０信号を「１」に設定し、擬似メモリアクセスモードのテスト（第２のテスト）を行う。この際、テストパターンは、故障検出モードのときから、変更する必要はない。
【００４１】
次に、比較例として、特許文献１に記載された従来技術のメモリ周辺回路のテスト回路について、図５を参照しながら、詳細に説明する。図５のメモリ周辺回路は、迂回パス回路３１７、スキャンセル３０２、３０７、３１０、３１６、３１９、マルチプレクサ３０８、３１１、３１２、３１４、３１５、３１８、組み合わせ回路３０６、ＮＯＴ回路３０３、３１３、ＡＮＤ回路３０５、３０９、ＯＲ回路３０４を備えている。
【００４２】
ここで、迂回パス回路３１７は、メモリ３０１のデータ入力端子（Ｄｉ０〜Ｄｉｎ）とデータ出力端子（Ｄｏ０〜Ｄｏｎ）間の回路であって、メモリ３０１を迂回するように構成された回路である。迂回パス回路３１７は、データ人力信号を、メモリ３０１の後段の回路へ出力する。また、スキャンセル３０２、３０７、３１０、３１６、３１９は、入力端子Ｄ、出力端子Ｑ、ＣＬＫ端子を備えたＤ−ＦＦで、入力された信号を一時的に保持する。
【００４３】
また、スキャンセル３０２、３０７、３１０、３１６、３１９は、アドレス入力及びデータ入出力に関するメモリ周辺回路のテストを行う際に、テストパターン入力、テスト後のテスト出力の取得として使用される。アドレス入力のテストでは、テスト信号がスキャンセル３０２へ入力され、テスト後の信号がスキャンセル３０７へ出力される。また、データ入出力のテストでは、テスト信号がスキャンセル３１６へ入力され、テスト後の信号がスキャンセル３１９へ出力される。スキャンセル３１０は、ＷＥＮ端子及びＣＥＮ端子へ入力するための制御信号を入力する。
【００４４】
マルチプレクサ３０８、３１１、３１２、３１４、３１５、３１８は、テスト時と通常動作時による出力信号を切り替え出力する。また、マルチプレクサ３０８、３１１、３１４は、迂回パスモードとトランスペアレントモードによる出力信号を切り替え出力する。また、マルチプレクサ３０８、３１１、３１４は、迂回パスモードとトランスペアレントモードによる出力信号を切り替え出力する。組み合わせ回路３０６は、複数個のＸＯＲ回路をツリー状に構成した組み合わせ回路である。組み合わせ回路３２０は、アドレス入力信号を集約する。ＮＯＴ回路３０３、３１３は、入力した信号を反転させ出力する回路で、ＮＯＴ回路３０３は、テスト時と通常動作時のアドレス入力信号を制御するための信号を、ＮＯＴ回路３１３はシステムクロック信号を反転させる。ＡＮＤ回路３０５、３０９は、入力信号に対し、論理積演算を行い、演算結果を出力する回路である。ＡＮＤ回路３０５は、各アドレス入力端子（Ａ０〜Ａｎ）の前段に備えられており、アドレス入力の信号と、テスト時と通常動作時のアドレス入力信号を制御するための制御信号との論理積演算を行う。また、ＡＮＤ回路３０９は、マルチプレクサ３０８の後段に備えられており、マルチプレクサ３０８から出力された信号と、テスト時と通常動作時の動作切り替えを制御する信号との論理積演算を行う。ＯＲ回路３０４は、入力信号に対し、論理和演算を行い、演算結果を出力する回路で、ＮＯＴ回路３０３後段に備えられており、ＮＯＴ回路３０３により反転された、メモリ周辺回路におけるテスト時と通常動作時の動作切り替えを制御する信号と、不図示のモード設定手段により設定され、テストを行う際に発行されるモード設定信号との論理和演算を行う。
【００４５】
次に、半導体集積回路内のメモリ３０１及び主要なメモリ周辺回路は、ＡＴＰＧＥＮ信号、ＳＣＡＮＥＮ信号、ＳＹＳＴＥＭ＿ＣＬＫ信号、ＭＥＭ＿ＢＹＰＡＳＳ信号により制御される。ＡＴＰＧＥＮ信号は、メモリ周辺回路において、テスト時と通常動作時の動作切り替えを制御する信号であり、ＡＴＰＧＥＮ信号が「１」の場合、テスト状態へ、ＡＴＰＧＥＮ信号が「０」の場合、通常動作状態へ遷移するように制御する。ＡＴＰＧＥＮ信号は、マルチプレクサ３０８、３１２、３１５、３１８の制御信号入力端子へ、ＡＮＤ回路３０９の入力端子へ、ＮＯＴ回路３０３の入力端子へ入力される。ＳＣＡＮＥＮ信号は、メモリ３０１の動作を制御する信号であり、ＳＣＡＮＥＮ信号が「１」の場合、メモリ３０１へ一時的に保持されたデータを、データ出力端子（Ｄｏ０〜Ｄｏｎ）から読み出すシフト動作状態へ、ＳＣＡＮＥＮ信号が「０」の場合、データ入力端子（Ｄｉ０〜Ｄｉｎ）から入力されたデータを、メモリ３０１へ一時的に保持するキャプチャ動作状態へ遷移するように制御する。ＳＣＡＮＥＮ信号は、マルチプレクサ３１１の入力端子へ入力される。ＳＹＳＴＥＭ＿ＣＬＫ信号は、システムクロック信号である。ＳＹＳＴＥＭ＿ＣＬＫ信号は、マルチプレクサ３１５の入力端子へ、ＮＯＴ回路３１３の入力端子へ入力される。ＭＥＭ＿ＢＹＰＡＳＳ信号は、モード設定手段により、不図示のモード設定信号レジスタに設定した命令（モード設定）を基に、モード設定信号として各メモリへ発行され、迂回パスモードのメモリ３０１とトランスペアレントモードのメモリ３０１の動作を制御する信号であり、ＭＥＭ＿ＢＹＰＡＳＳ信号が「１」の場合、迂回パスモードとして動作させ、ＭＥＭ＿ＢＹＰＡＳＳ信号が「０」の場合、トランスペアレントモードとして動作させるように制御する。ＭＥＭ＿ＢＹＰＡＳＳ信号は、マルチプレクサ３０８、３１１、３１４の制御信号入力端子へ入力され、ＯＲ回路３０４の入力端子へ入力される。
【００４６】
次に、ＬＳＩ４３内部のメモリ周辺回路は、アドレス設定手段６１、選択信号発生手段６２、動作制御信号供給手段６３、クロック反転手段６４、選択手段６５を有している。アドレス設定手段６１は、トランスペアレントモードの場合、メモリ３０１のアドレス入力へ、「０」のアドレス入力データを設定するように、メモリ３０１前段に備えられたＡＮＤ回路３０５の入力端子へ制御信号を入力する。アドレス設定手段６１は、ＮＯＴ回路３０３、ＯＲ回路３０４で構成されており、ＡＮＤ回路３０５の前段に備わっている。アドレス設定手段６１は、ＮＯＴ回路３０３の入力端子へＡＴＰＧＥＮ信号が入力され、反転されたＡＴＰＧＥＮ信号とＭＥＭ＿ＢＹＰＡＳＳ信号が、ＯＲ回路３０４の入力端子へ入力され、その演算結果が、ＯＲ回路３０４の出力端子から出力される。
【００４７】
以上に、図５の従来技術の回路の構成と動作について説明した。次に、図６、図７は迂回パスモードとトランスペアレントモードのタイミングチャートを示している。前述したように、迂回パスモードの場合は、選択回路３１８の出力が、組み合わせ回路３２２の出力信号と、同じタイミングの同一の信号になる。一方、トランスペアレントモードの場合には、図７に示したＣＬＫ端子入力、ＷＥＮ端子入力、ＣＥＮ端子入力により、メモリ動作された信号が、選択回路３１８の出力信号になるので、選択回路３１８の出力信号は、組み合わせ回路３２２の出力信号に対して、１クロック分、遅延した信号が出力される。
【００４８】
このように、図５に示す従来技術の回路では、迂回パスモードとトランスペアレントモードで、テストパターンの期待値が変わるので、モード毎にテストパターンを変えなければならない。一方、本発明の実施例１に係る半導体集積回路のメモリテスト回路では、モード設定によらずに、テストパターンを１本に共通化することができる。
【００４９】
以下に、実施例１の効果について纏める。第１の効果としては、テストパターン生成ツールによりテストパターン作成を行う際の演算時間を削減する効果がある。その理由は、出力選択回路（図１の１００７）が、故障検出モードと擬似メモリアクセスモードで、同一のタイミングで同一のデータを出力する。このため、テストパターンの期待値は、モードを切り替えても変わらないので、同一のテストパターンの期待値でテストが可能になり、テストパターン作成にかかる演算時間を削減できる。
【００５０】
第２の効果としては、テスタに格納するパターン容量を削減する効果がある。その理由は、２つのテストモードのテストが１本のテストパターンで可能になるからである。テスト出力が、テストパターンの期待値と一致するか否かを判定する際には、一般に、テスタが用いられるが、テストパターンをテスタに格納できるようにするためには、容量が制限されるので、１本のテストパターンで共通化できることは、大きな利点である。
【００５１】
また、実施例１の半導体集積回路のメモリテスト方法によれば、故障検出モードのテスト（第１のテスト）と擬似メモリアクセスモードのテスト（第２のテスト）で、テスト出力が同じタイミングの同一の信号を出力することができるので、故障検出モードのテストと擬似メモリアクセスモードのテストを同一のテストパターンを用いて行うことができる。
【００５２】
また、実施例１の半導体集積回路のメモリテスト回路は、特許文献１と同様に、メモリの境界における遅延故障を検出することができる。実施例１で故障検出モードに設定した場合、メモリを実際に動作させるため、通常動作時と同一の経路でテストが可能になるためである。
【実施例２】
【００５３】
［実施例２の構成］
図２は、実施例２に係る半導体集積回路のメモリテスト回路の回路図である。図２に示す半導体集積回路は、２つのメモリ１００１、１０２１を備えている。半導体集積回路のメモリテスト回路は、メモリ１００１にアクセスするメモリ周辺回路１０００と、メモリ１０２１にアクセスするメモリ周辺回路１０２０、テストモード選択回路１０４０で構成される。ここで、図２のメモリ周辺回路１０００内では、図１と同じ参照符号を付けている。
【００５４】
まず、メモリ周辺回路１０００の構成については、実施例１と同じである。また、メモリ周辺回路１０２０の構成は、メモリ周辺回路１０００と同様であるため、それらの説明は省略する。
【００５５】
テストモード選択回路１０４０に対して、テストイネーブル信号ＴＥＳＴＥＮと、テストセレクト信号ＴＥＳＴＳＥＬが入力され、テストモード選択回路１０４０は、メモリ周辺回路１０００、１０２０に対して、各々、テストモード選択信号ＭＳＥＬ０、ＭＳＥＬ１を出力する。
【００５６】
［実施例２の動作］
次に、実施例２の動作について説明する。メモリ周辺回路１０００、１０２０の各々の通常動作モード、故障検出モード（第１のテストモード）、擬似メモリアクセスモード（第２のテストモード）については、実施例１のメモリ周辺回路１０００の動作と同じなので説明を省略する。
【００５７】
また、実施例２のメモリ周辺回路１０００、１０２０の各々の故障検出モードと擬似メモリアクセスモードのタイミングチャートは、共に、図３に示した実施例１のタイミングチャートと同じになる。従って、図２に示す２個のメモリを有する半導体集積回路のメモリテスト回路において、メモリ１００１の故障検出モード、擬似メモリアクセスモード、メモリ１０２１の故障検出モード、擬似メモリアクセスモードの４通りのテストパターンの期待値を共通化することができる。
【００５８】
さらに、一般に、複数のメモリを搭載する半導体集積回路において、複数のメモリをｎ個の領域に区切り、テストモード選択回路が、各々のｎ個の領域に対して、テストモード選択信号ＭＳＥＬ０、ＭＳＥＬ１、．．．．、ＭＳＥＬｎ−１を生成して、供給するように、図２に示した回路をｎ個の領域に対応した回路に拡張することができる。この場合においても、全ての領域における故障検出モードと擬似メモリアクセスモードの出力選択回路の出力は同じすることが可能である。従って、ｎ個の領域を設定する２のｎ乗通りの組み合わせのモード設定に対して、テストパターンの期待値は同じになるため、テストパターンを１本に共通化することができる。
【００５９】
また、ｍ個のメモリを搭載する半導体集積回路において、メモリ単位にｍ個領域に区切り、テストモード選択回路が、各々のｍ個の領域に対して、テストモード選択信号ＭＳＥＬ０、ＭＳＥＬ１、．．．．、ＭＳＥＬｍ−１を生成して供給し、メモリ単位でモード設定するようにしてもよい。図２に示す回路は、ｍ＝２の場合に相当する。
【００６０】
また、複数のメモリを搭載する半導体集積回路において、メモリをグレープ化した単位で、領域を区切り、グループ毎に対してテストモード選択信号を生成して供給し、グループ単位でモード設定するようにしてもよい。
【００６１】
以下に、実施例２の効果について纏める。実施例２では、２つのメモリを搭載しているため、４通りのテストモードの組み合わせが考えられるが、４通りのテストパターンを１本に共通化でき、テストパターン作成にかかる演算時間を削減できる。また、さらに多くのメモリを搭載し、ｎ個の領域に区切って、領域毎にモード設定する場合には、最大、２のｎ乗通りの組み合わせのモード設定が考えられ、従来技術では膨大な本数のテストパターンを生成する必要があったが、全てを１本のテストパターンで共通化することができるため、テストパターン作成にかかる演算時間を大幅に削減できる。
【００６２】
第２の効果としては、テスタに格納するパターン容量を削減する効果がある。その理由は、テストモード選択信号によるモードの組み合わせによらずに、４通りのテストが１本のテストパターンで可能になるからである。ここで、テスト出力が、テストパターンの期待値と一致するか否かを判定する際には、一般に、テスタが用いられる。テストパターンをテスタに格納できるようにするためには、容量が制限されるので、１本のテストパターンで共通化できることは、大きな利点である。また、一般に、複数のメモリをｎ個の領域に区切って、領域毎にモード設定する場合には、最大、２のｎ乗通りの組み合わせのモード設定が考えられ、従来技術では膨大な本数のテストパターンを生成する必要があったが、全てを１本のテストパターンで共通化することができるため、テストパターンの格納に必要な容量を大幅に削減することができる。
【００６３】
また、実施例２の半導体集積回路のメモリテスト回路は、特許文献１と同様に、低消費電力で、テストを実施することができる。実施例２では、複数のメモリの領域を区切り、幾つかの領域に対して擬似メモリアクセスモードに設定することにより、メモリを動作させないディセーブル状態にすることができるため、メモリの消費電力を抑制できるからである。
【実施例３】
【００６４】
図４は、本発明の実施例３に係る半導体集積回路のメモリテスト方法を示すフローチャートである。実施例３では、実施例２における図２に示した半導体集積回路のメモリテスト回路に対して、さらに、テストパターンでテストする際の好適なテスト方法を示している。実施例３において、テストパターンの入力、テスト出力の取得、テスト出力がテストパターンと一致するか否かの判定は、通常、テスタで行われる。
【００６５】
図４のメモリＡは、図２のメモリ１００１、図４のメモリＢは、図２のメモリ１０２１に対応している。実施例２で説明したように、メモリＡの故障検出モード、メモリＡの擬似メモリアクセスモード、メモリＢの故障検出モード、メモリＢの擬似メモリアクセスモードの４通りに対して、同一のテストパターンを用いることができる。そこで、実施例３では、共通化した１本のテストパターンを、テスタに格納しておき、そのデータを読み出して使用する。また、テスタより、テストモードの組み合わせに関するＴＥＳＴＳＥＬ信号を与えて、ＴＥＳＴＳＥＬ信号を受けたテストモード選択回路１０４０が、それに応じて、メモリＡ、Ｂに対してテストモードを設定する。
【００６６】
図４に示すように、まず、メモリＡ及びメモリＢを故障検出モードに設定する（ステップＳ１１０１）。具体的には、図２において、テストモード選択回路１０４０が、テストモード選択信号ＭＳＥＬ０、ＭＳＥＬ１を共に「０」に設定する。次に、テストパターンを入力して、テストを行い、テスト出力を取得して、そのテスト出力がテストパターンの期待値と一致するか否かを判定する（ステップＳ１１０２）。テストパターンの期待値と一致したと判別された場合には（ステップＳ１１０２の結果が、ＹＥＳの場合）、テスト判定を「ＰＡＳＳ」とし（ステップＳ１１０３）、テストを完了する。一方、テストパターンの期待値と一致しないと判別された場合には（ステップＳ１１０２の結果が、ＮＯの場合）、半導体集積回路の消費電力が所定の値を超えているか否かを判定する（ステップＳ１１０４）。半導体集積回路の消費電力が所定の値を超えていないと判定された場合には（ステップＳ１１０４の結果が、ＮＯの場合）、テスト判定を「ＦＡＩＬ」とし（ステップＳ１１０５）、テストを完了する。
【００６７】
次に、半導体集積回路の消費電力が所定の値を超えていると判定された場合（ステップＳ１１０４の結果が、ＹＥＳの場合）は、テスト判定を「ＦＡＩＬ」とせず、次のテストへ進む。その理由は、テストパターンによりテストを行う場合、通常動作時よりもメモリやロジックの動作率が高いため、消費電力が多くなり、電圧降下を招いて、良品を不良品と判断してしまう問題が生じるためである。そこで、図４の次のステップで、故障検出モードでメモリを動作させる領域と、擬似メモリアクセスモードでメモリを動作させない領域に分けることを行う。ここで、擬似メモリアクセスモードの場合には、低消費電力にすることができるから、半導体集積回路の消費電力を所定の値以下に抑えた状態にして、再テストを行うことにする。
【００６８】
次に、図４に戻り、ステップＳ１１０６以降の説明を行う。メモリＡを故障検出モードに、メモリＢを擬似メモリアクセスモードに設定する（ステップＳ１１０６）。具体的には、図２において、テストモード選択回路１０４０が、テストモード選択信号ＭＳＥＬ０を「０」に、ＭＳＥＬ１を「１」に設定する。次に、テストパターンを入力して、テストを行い、テスト出力を取得して、そのテスト出力がテストパターンの期待値と一致するか否かの判定を行う（ステップＳ１１０７）。テストパターンの期待値と一致しないと判定される場合には（ステップＳ１１０７でＮＯの場合）、テスト判定を「ＦＡＩＬ」とし（ステップＳ１１１１）、テストを完了する。
【００６９】
一方、テストパターンの期待値と一致した場合には（ステップＳ１１０７でＹＥＳの場合）、メモリＡとメモリＢのテストモードを逆に設定する。すなわち、メモリＡを擬似メモリアクセスモードに、メモリＢを故障検出モードに設定する（ステップＳ１１０８）。具体的には、図２において、テストモード選択回路１０４０が、テストモード選択信号ＭＳＥＬ０を「１」に、ＭＳＥＬ１を「０」に設定する。次に、テストパターンを入力して、テストを行い、テスト出力を取得して、そのテスト出力がテストパターンの期待値と一致するか否かの判定を行う（ステップＳ１１０９）。テストパターンの期待値と一致した場合には（ステップＳ１１０９でＹＥＳの場合）、テスト判定を「ＰＡＳＳ」とし、テストを完了する。一方、テストパターンの期待値と一致しない場合には（ステップＳ１１０９でＮＯの場合）、テスト判定を「ＦＡＩＬ」とし（ステップＳ１１１１）、テストを完了する。
【００７０】
実施例３のメモリテスト方法を示す図４は、メモリが２つの領域の場合について示しているが、一般に、複数のメモリをｎ個の領域に区切り、テストモード選択回路が各々のｎ個の領域に対して、テストモード選択信号ＭＳＥＬ０、ＭＳＥＬ１、．．．．、ＭＳＥＬｎ−１を生成するように構成した場合に対して、実施例３のメモリテスト方法を拡張し、適用することが可能である。
【００７１】
また、ｍ個のメモリを搭載する半導体集積回路において、メモリ単位にｍ個領域に区切り、テストモード選択回路が、各々のｍ個の領域に対して、テストモード選択信号ＭＳＥＬ０、ＭＳＥＬ１、．．．．、ＭＳＥＬｍ−１を生成するように構成した場合に、実施例３のメモリテスト方法を拡張し、適用することも可能である。ここで、図２及び図４に示す例示は、ｍ＝２の場合に相当する。
【００７２】
また、複数のメモリを搭載する半導体集積回路において、メモリをグレープ化した単位で、領域を区切り、グループ毎にテストモード選択信号を生成するように構成した場合に、実施例３のメモリテスト方法を拡張し、適用することも可能である。
【００７３】
また、実施例３のメモリテスト方法では、最初に、「メモリＡ、Ｂが共に故障検出モード」である場合についてテストし、その後、「メモリＡが故障検出モード、メモリＢが擬似メモリアクセスモード」の場合、及び「メモリＡが擬似メモリアクセスモード、メモリＢが故障検出モード」の場合について、再テストしている。ここで、テスト及び再テスト時のモード設定の組み合わせを、予め、所定の組み合わせのモード設定に決めておき、それに基づいて、テスト及び再テストを行うようにしてもよい。例えば、複数のメモリをｎ個の領域に区切る場合、２のｎ乗通りの組み合わせが考えられるが、その中で、必要なモード設定を消費電力との相関を考慮して幾つかに絞り、決めておけばよい。また、モード設定の変更は、テスタからテストモード選択回路１０４０に対して、テストセレクト信号ＴＥＳＴＳＥＬを供給し、テストする組み合わせを指示することにより、行うことができる。
【００７４】
以下に、実施例３の効果について纏める。実施例３の効果として、テストに要する時間を容易に削減できることがある。その理由は、テストパターンを変更せずに、テスタ上にて故障検出モードと擬似メモリアクセスモードを切り替えられるからである。従来技術の迂回パスモードとトランスペアレントモードではテストパターンの期待値が異なり、且つ、テスト対象のメモリを変更した場合でも、テストパターンの期待値が異なる。尚、テストパターンをコンピュータ装置で生成するため、後戻り工程が長く、即座にテストパターンを走行できない問題がある。また、メモリをｎ個搭載した半導体集積回路をテストする場合、テストの組み合わせの数は、２のｎ乗通りに増えるため、多数のメモリを搭載するほど繰返しが多くなり、後戻り回数が増加する。実施例３では、図４のフローチャートに示すように、テスタ上にて、テストモードによらず、同一のテストパターンを用いてテストすることが可能である。故に、テストパターンの期待値を再生成する作業が不要になるため、後戻り工程が小さくなる。また、故障検出率モードに設定するメモリの個数と最大許容消費電力の相関をサーチすることも容易になり、テスト回数の削減及び最適化を行うことが可能である。
【産業上の利用可能性】
【００７５】
本発明は、メモリを搭載する半導体集積回路のテストに、適用可能である。
【００７６】
なお、本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００７７】
１４、２０：ロジック
１８、１００１、１０２１：メモリ
６１：アドレス設定手段
６２：選択信号発生手段
６３：動作制御信号供給手段
６４：クロック反転手段
６５：選択手段
３０１：メモリ
３０２、３０７、３１０、３１６、３１９：スキャンセル
３０３、３１３：ＮＯＴ回路
３０４：ＯＲ回路
３０５、３０９：ＡＮＤ回路
３０６、３２０、３２２、３２４：組み合わせ回路
３０８、３１１、３１２、３１４、３１５、３１８：マルチプレクサ
３１７：迂回パス回路
１０００、１０２０：メモリ周辺回路
１００２、１００３、１０１２、１０２２、１０２３、１０３２：フリップフロップ
１００４、１００５、１０２４、１０２５：ロジック部
１００６、１０２６：入力選択回路
１００７、１０２７：出力選択回路
１００８、１０２８：迂回パス回路
１００９、１０１０、１０１１、１０２９、１０３０、１０３１：マルチプレクサ
１０１３、１０３３：クロック制御回路
１０４０：テストモード選択回路
１０５０：ＴＥＳＴＥＮ（テストイネーブル信号）
１０５２：ＴＥＳＴＳＥＬ（テストセレクト信号）
１０５４、１０５６：ＣＬＫ（クロック信号）
１０５８、１０６０：ＴＷＥＢ（テストライトイネーブル信号）
【図１】
2012150862.tif 000003
【図２】
2012150862.tif 000004
【図３】
2012150862.tif 000005
【図４】
2012150862.tif 000006
【図５】
2012150862.tif 000007
【図６】
2012150862.tif 000008
【図７】
2012150862.tif 000009
【図８】
2012150862.tif 000010