(57)【要約】【課題】スキャンチェーンを用いたメモリＢＩＳＴにおいて、テスト時間を従来よりも短縮させる。【解決手段】外部から供給される命令コードをスキャンチェーンに保持することにより、半導体メモリの複数のアドレスのうちのいずれかを着目アドレスとして設定する。スキャンチェーンに保持された命令コードに基づいて、設定された着目アドレスを含む複数のアドレスの各々に対するデータの書き込みおよび読み出しを含むテスト動作を半導体メモリに行わせる。テスト動作によって半導体メモリから読み出されたデータの当否の判定結果のうち、設定された着目アドレスについての判定結果を取得する。その後、着目アドレスの設定を変更し、着目アドレスの設定変更に伴ってスキャンチェーン上の経路とは異なる経路を介して外部から供給される制御信号に基づいてテスト動作を初期化して半導体メモリに繰り返しテスト動作を行わせる。【選択図】図２
2015215931.tif 000002
【特許請求の範囲】
【請求項１】
複数のアドレスを備えた半導体メモリと、
前記半導体メモリにおいて行われるテスト動作に関する情報を含む、外部から供給される命令コードを保持する複数の記憶回路を有するスキャンチェーンと、
前記複数のアドレスのうちの着目アドレスの設定を順次変更させる設定変更部と、
設定された着目アドレスを含む複数のアドレスの各々に対するデータの書き込みおよび読み出しを含むテスト動作を前記半導体メモリに行わせるためのテストパターンを前記命令コードに基づいて生成し且つ前記設定変更部による着目アドレスの設定変更に伴って前記スキャンチェーン上の経路とは異なる経路を介して外部から供給される制御信号に基づいて前記テスト動作を初期化する制御部と、
前記テスト動作によって前記半導体メモリから読み出されたデータの当否を判定する判定部と、
前記判定部における判定結果のうち、設定された着目アドレスについての判定結果を保持する保持部と、
を含む半導体集積回路。
【請求項２】
前記制御信号の外部からの入力を受け付ける、前記スキャンチェーンに対して非接続とされた入力端子を更に含む、
請求項１に記載の半導体集積回路。
【請求項３】
前記制御部は、前記制御信号の入力毎に前記半導体メモリに前記テスト動作を繰り返し行わせる
請求項１または請求項２に記載の半導体集積回路。
【請求項４】
前記制御部は、前記半導体メモリの実使用時における動作速度に相当する速度で前記半導体メモリに前記テスト動作を行わせる
請求項１から請求項３のいずれか１つに記載の半導体集積回路。
【請求項５】
外部から入力される第１のクロック信号よりも周波数の高い第２のクロック信号を生成するクロック生成部を更に含み、
前記制御部は、前記半導体メモリに前記テスト動作を行わせる際に前記第２のクロック信号を前記半導体メモリに供給し、
前記半導体メモリは、前記第２のクロック信号に同期して前記テスト動作を行う
請求項４に記載の半導体集積回路。
【請求項６】
前記設定変更部は、前記保持部において保持された判定結果の読み出しが行われた後に、前記制御部から供給される信号に基づいて前記着目アドレスの設定を変更させる
請求項１から請求項５のいずれか１つに記載の半導体集積回路。
【請求項７】
前記制御部は、前記制御信号に基づいて、前記半導体メモリに前記テスト動作を行わせるためプログラムの実行位置を示すプログラムカウンタを初期化する
請求項１から請求項６のいずれか１つに記載の半導体集積回路。
【請求項８】
前記スキャンチェーンは、さらに、前記着目アドレスの設定を保持する
請求項１から請求項７のいずれか１つに記載の半導体集積回路。
【請求項９】
複数のアドレスを備えた半導体メモリにおいて行われるテスト動作に関する情報を含む、外部から供給される命令コードを複数の記憶回路を有するスキャンチェーンに保持し、
前記複数のアドレスのうちのいずれかを着目アドレスとして設定し、
設定された着目アドレスを含む複数のアドレスの各々に対するデータの書き込みおよび読み出しを含むテスト動作を前記命令コードに基づいて前記半導体メモリに行わせ、
前記テスト動作によって前記半導体メモリから読み出されたデータの当否の判定結果のうち、設定された着目アドレスについての判定結果を取得し、
設定された着目アドレスについての判定結果を取得した後に、着目アドレスの設定を変更し、
着目アドレスの設定変更に伴って前記スキャンチェーン上の経路とは異なる経路を介して外部から供給される制御信号に基づいて前記テスト動作を初期化する
半導体メモリのテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、半導体集積回路および半導体メモリのテスト方法に関する。
【背景技術】
【０００２】
ＬＳＩ（Large Scale Integration）において、メモリブロックのテストを容易化するための技術としてメモリＢＩＳＴ（built-in self-test）が知られている。
【０００３】
メモリＢＩＳＴに関する技術として、メモリ部と、メモリ部をテストするメモリ自己テスト回路と、メモリ自己テスト回路をリセットするリセット回路と、を備えた半導体集積回路装置が提案されている。この半導体集積回路装置において、メモリ自己テスト回路は、メモリ部のアドレスを発生するアドレス発生手段と、メモリ部に書き込むデータパターンを生成するデータパターン生成手段と、を備える。また、メモリ自己テスト回路は、アドレス発生手段の発生するアドレスに対応してメモリ部へのデータパターンの書き込みおよびメモリ部からのデータの読み出しを制御するためのメモリ制御信号を発生する制御信号発生手段を備える。また、メモリ自己テスト回路は、メモリ部へ書き込まれたデータパターンに対応する期待値データと、メモリ部へデータパターンを書き込んだ後でメモリ部から読み出した出力データとを比較してメモリ部の良否を判定する良否判定手段を備える。また、メモリ自己テスト回路は、メモリテストの終了を判定するテスト終了判定手段と、を備える。リセット回路は、テスト終了判定手段によるメモリテストの終了判定に応答してメモリ自己テスト回路をリセットする。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３１０１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＬＳＩに搭載される半導体メモリの一種であるＲＡＭ（Random Access Memory）の障害解析として、検出された故障の物理的位置の分布や故障発生の態様等の情報を含むＦＢＭ（Fail Bit Map：フェイルビットマップ）情報を取得することが行われている。ＲＡＭの動作速度の高速化に伴い、ＲＡＭを実使用時の速度で動作させた場合、すなわち、ＲＡＭに対し連続的なクロックを高速に印加した場合に顕在化するタイプの故障に関するＦＢＭ情報の取得の必要性が増している。
【０００６】
ＲＡＭを高速に動作させたときのＦＢＭ情報の取得は、ＲＡＭを高速動作させながら故障情報を取り込むアドレス(以下、着目アドレスと称する)を順次変化させることにより行われる。メモリＢＩＳＴにおいては、ＬＳＩテスタからメモリＢＩＳＴ回路のテストパターン生成部に対してスキャンチェーンを介して命令コード等の入力が行われている。
【０００７】
ＲＡＭを高速に動作させた場合のＦＢＭ情報を取得する場合、着目アドレスの変更が行われる度にＲＡＭにおいて同一のテスト動作が繰り返し実施される。一般的には、０番地から最終番地までの全アドレスが着目アドレスとして順次設定される。着目アドレスの変更に伴ってＲＡＭにおいて同一のテスト動作を繰り返し行わせるための方法として、着目アドレスの変更を行う際にスキャンインを行い、外部からスキャンチェーンに命令コードを設定することによりテスト動作を初期化する方法が挙げられる。すなわち、ＲＡＭにおいて実施されるテスト動作を記述したプログラムの実行位置を示すプログラムカウンタの初期化（リセット）をスキャンインにより行う。
【０００８】
しかしながら、近年のＬＳＩの大規模化により、スキャンチェーンのビット長が１００万ビットを超えるものも珍しくない。従って、着目アドレスの変更毎に必要となるプログラムカウンタの初期化（リセット）を、スキャンインで行った場合には、膨大なテスト時間を要することになる。
【０００９】
開示の技術は、１つの側面として、スキャンチェーンを用いたメモリＢＩＳＴにおいて、テスト時間を従来よりも短縮させることを目的とする。
【課題を解決するための手段】
【００１０】
半導体集積回路は、複数のアドレスを備えた半導体メモリと、前記半導体メモリにおいて行われるテスト動作に関する情報を含む、外部から供給される命令コードを保持する複数の記憶回路を有するスキャンチェーンと、を含む。半導体集積回路は、前記複数のアドレスのうちの着目アドレスの設定を順次変更させる設定変更部を含む。半導体集積回路は、設定された着目アドレスを含む複数のアドレスの各々に対するデータの書き込みおよび読み出しを含むテスト動作を前記半導体メモリに行わせるためのテストパターンを前記命令コードに基づいて生成する制御部を含む。前記制御部は、前記設定変更部による着目アドレスの設定変更に伴って前記スキャンチェーン上の経路とは異なる経路を介して外部から供給される制御信号に基づいて前記テスト動作を初期化する。半導体集積回路は、前記テスト動作によって前記半導体メモリから読み出されたデータの当否を判定する判定部と、前記判定部における判定結果のうち、設定された着目アドレスについての判定結果を保持する保持部と、を含む。
【発明の効果】
【００１１】
開示の技術は、１つの側面として、スキャンチェーンを用いたメモリＢＩＳＴにおいて、テスト時間を従来よりも短縮させることができる、という効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】開示の技術の実施形態に係る半導体集積回路の構成を示すブロック図である。
【図２】開示の技術の実施形態に係るメモリＢＩＳＴ回路の構成を示すブロック図である
【図３】開示の技術の実施形態に係るメモリＢＩＳＴ回路の動作を示すフローチャートである。
【図４】開示の技術のメモリＢＩＳＴ回路の動作を示すタイムチャートである。
【図５】比較例に係る半導体集積回路の構成を示すブロック図である。
【図６】比較例に係るメモリＢＩＳＴ回路の構成を示すブロック図である。
【図７】比較例に係るメモリＢＩＳＴ回路の動作を示すフローチャートである。
【図８】比較例に係るメモリＢＩＳＴ回路の動作を示すタイムチャートである。
【図９】開示の技術の実施形態に係る半導体集積回路の構成を示すブロック図である。
【発明を実施するための形態】
【００１３】
以下、開示の技術の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一または等価な構成要素および部分には同一の参照符号を付与している。
【００１４】
図１は、開示の技術の実施形態に係る半導体集積回路１００の構成を示すブロック図である。半導体集積回路１００は、当該集積回路本来の機能を実現するための任意のロジック回路５０と、ロジック回路５０における入出力データを記憶しておくためのＲＡＭ４０を有する。ロジック回路５０には、外部装置との間でインタフェースを行うための入力端子１７および出力端子１８が接続されている。
【００１５】
半導体集積回路１００は、更に、ＲＡＭ４０をテストするためのメモリＢＩＳＴ回路１０を含んでいる。メモリＢＩＳＴ回路１０は、テストパターン生成ブロック２０および判定ブロック３０を含んで構成されている。
【００１６】
テストパターン生成ブロック２０は、外部装置（例えばＬＳＩテスタ）から供給される命令コードに基づいて、ＲＡＭ４０をテストするためのテストパターンを自動生成する。ＲＡＭ４０は、テストパターン生成ブロック２０において生成されたテストパターンに基づいてデータの書き込みおよび読み出しを含むテスト動作を行う。テスト動作が行われることによってＲＡＭ４０から読み出されたデータは、判定ブロック３０に供給される。判定ブロック３０は、ＲＡＭ４０から読み出されたデータを、テストパターン生成ブロック２０から供給される期待値データと比較することによって、当該データの当否を判定し、判定結果（すなわちＲＡＭ４０のフェイル情報）を保持する。
【００１７】
テストパターン生成ブロック２０は、後述するスキャンチェーン２１（図２参照）を備えている。テスト動作に関する情報および後述する着目アドレスを示す情報を含む命令コードがスキャンイン（以下、第１のスキャンインと称する）によってスキャンチェーン２１に設定される。命令コードに含まれるテスト動作に関する情報としては、例えば、ＲＡＭ４０において行われるテスト動作の内容を示す情報であってもよいし、予め定められた複数のテストパターンのうちのいずれかの選択指示であってもよい。テストパターン生成ブロック２０は、第１のスキャンインが行われる際に外部装置から供給される上記の命令コードを含むスキャンイン信号（scan-in1）の入力を受け付ける第１のスキャンイン端子１３に接続されている。また、テストパターン生成ブロック２０は、第１のスキャンインに伴ってスキャンチェーン２１（図２参照）から出力されるスキャンアウト信号（scan-out1）を外部に取り出すための第１のスキャンアウト端子１４に接続されている。また、テストパターン生成ブロック２０は、外部装置から供給されるクロック信号（CLK_1）の入力を受け付けるクロック入力端子１２に接続されている。テストパターン生成ブロック２０は、更に、外部装置から供給されるクリアコントロール信号（CLRCTL）の入力を受け付ける信号入力端子１１に接続されている。信号入力端子１１は、第１のスキャンイン端子１３とは別個の端子として設けられており、スキャンチェーン２１に対して非接続とされている。
【００１８】
判定ブロック３０は、テストパターン生成ブロック２０におけるスキャンチェーン２１（図２参照）とは別個のスキャンチェーンを有する。判定ブロック３０において保持されたＲＡＭ４０における故障有無の判定結果は、スキャンイン（以下、第２のスキャンインと称する）を行うことによって外部に取り出されるとともにクリアされる。判定ブロック３０は、第２のスキャンインが行われる際に外部装置から供給されるスキャンイン信号（scan-in2）の入力を受け付ける第２のスキャンイン端子１５に接続されている。また、判定ブロック３０は、第２のスキャンインに伴って出力されるＲＡＭ４０における故障有無の判定結果を示すスキャンアウト信号（scan-out2）を外部に取り出すための第２のスキャンアウト端子１６に接続されている。
【００１９】
図２は、メモリＢＩＳＴ回路１０を構成する上記のテストパターン生成ブロック２０および判定ブロック３０の詳細な構成を示すブロック図である。
【００２０】
テストパターン生成ブロック２０は、スキャンチェーン２１、テストパターン生成回路２３、インクリメント回路２４、アドレス比較回路２５および保持制御回路２６を含んでいる。判定ブロック３０は、データ比較回路３１および判定結果保持回路３２と、を含んでいる。判定ブロック３０を構成するデータ比較回路３１および判定結果保持回路３２は、ＲＡＭ４０の各出力ビットに１組ずつ設けられている。
【００２１】
スキャンチェーン２１は、複数のフリップフロップ等の記憶回路２００を含んで構成されている。すなわち、複数の記憶回路２００がシフトレジスタとして機能することによってスキャンチェーン２１が構成されている。スキャンチェーン２１は、ＲＡＭ４０におけるテスト動作の内容を指示する命令コードを保持する記憶回路群２０１と、着目アドレスの初期設定を行うための命令コードを保持する記憶回路群２０２と、を含む。着目アドレスとは、テスト対象であるＲＡＭ４０における複数のアドレスのうち、判定結果保持回路３２において故障有無の判定結果を保持する対象となるアドレスである。
【００２２】
スキャンチェーン２１の入力端は、第１のスキャンイン端子１３（図１参照）に接続されており、スキャンチェーン２１の出力端は、第１のスキャンアウト端子１４（図１参照）に接続されている。外部装置から第１のスキャンイン端子１３を介して供給されるスキャンイン信号（scan-in1）をスキャンチェーン２１に入力することで（第１のスキャンイン）、記憶回路群２０１、２０２にそれぞれ命令コードが保持される。
【００２３】
テストパターン生成回路２３は、記憶回路群２０１に保持された命令コードに基づいて、ＲＡＭ４０をテストするためのテストパターンを自動生成する。テストパターン生成回路２３は、一例として、着目アドレスを含む複数のアドレスの各々に対するデータの書き込みおよび読み出しを含む一連のテスト動作をＲＡＭ４０に行わせるテストパターンを生成する。
【００２４】
テストパターン生成回路２３は、生成したテストパターンに基づくテスト動作をＲＡＭ４０に行わせるために、ライトイネーブル信号（WE）、書込みデータ（Date）、書込みおよび読み出しの対象となるアドレスを示すアドレス信号（Addr）をＲＡＭ４０に供給する。また、テストパターン生成回路２３は、ＰＬＬ（Phase Locked Loop）回路２２を備えている。ＰＬＬ回路２２は、外部装置からクロック入力端子１２（図１参照）を介して供給されるクロック信号（CLK_１）に同期し且つクロック信号（CLK_1）よりも高い周波数のクロック信号（CLK_2）を生成してＲＡＭ４０に供給する。
【００２５】
また、テストパターン生成回路２３は、着目アドレスを順次変更するためのインクリメント信号（INC）をインクリメント回路２４に供給する。また、テストパターン生成回路２３は、ＲＡＭ４０にデータの読み出しを行わせる場合にハイレベルを呈するロードイネーブル信号（LE）を保持制御回路２６に供給する。また、テストパターン生成回路２３は、ＲＡＭ４０からデータの読み出しを行う場合にも、直前に行われたデータの書き込みの際と同じ書込みデータ（Date）を、期待値データとしてデータ比較回路３１に供給する。
【００２６】
ＲＡＭ４０は、ライトイネーブル信号（WE）が例えばハイレベルを呈している場合には、アドレス信号（Addr）によって指定されたアドレスに対して、書込みデータ（Date）によって指定されたデータ（“０”または“１”）の書き込みを行う。また、ＲＡＭ４０は、ライトイネーブル信号（WE）が例えばローレベルを呈している場合には、アドレス信号（Addr）によって指定されたアドレスからデータの読み出しを行う。ＲＡＭ４０から読み出されたデータは、読み出しデータ（read date）としてデータ比較回路３１に供給される。ＲＡＭ４０は、テスト動作時におけるデータの書き込みおよび読み出しを、ＰＬＬ回路２２から供給されるクロック信号（CLK_2）に同期して行う。クロック信号（CLK_2）の周波数は、実使用時においてＲＡＭ４０に供給されるクロック信号の周波数と同等である。すなわち、ＲＡＭ４０は、テスト動作時おいて、実使用時と同様、高速でデータの書き込みおよび読み出しを行う。
【００２７】
着目アドレスの初期設定は、上記したようにスキャンチェーン２１を構成する記憶回路群２０２に、アドレスの番地ナンバーを示す命令コードを設定することにより行われる。インクリメント回路２４は、テストパターン生成回路２３から供給されるインクリメント信号（INC）に基づいて、記憶回路群２０２に保持されている着目アドレスの番地ナンバーを示す命令コードを１つ増加させることにより新たな着目アドレスを生成する。インクリメント回路２４により生成された新たな着目アドレスは、記憶回路群２０２に保持される。すなわち、メモリＢＩＳＴ回路１０においては、着目アドレスの初期設定のみがスキャンインによって行われ、着目アドレスの変更は、インクリメント回路２４がインクリメント信号（INC）に基づいて新たな着目アドレスを生成することによって行われる。
【００２８】
アドレス比較回路２５は、記憶回路群２０２に保持された着目アドレスと、テストパターン生成回路２３から出力されるアドレス信号（Addr）とを比較し、両者が一致する場合には、一致信号（CO）を生成してこれを保持制御回路２６に供給する。
【００２９】
保持制御回路２６は、ロードイネーブル信号（LE）がハイレベルであり且つ一致信号（CO）を受信した場合にハイレベルを呈するイネーブル信号（EN）を生成する。すなわち、保持制御回路２６は、テストパターン生成回路２３から出力されたアドレス信号（Addr）によって示されるアドレスが、読み出しアドレスであり且つ着目アドレスと一致している場合にハイレベルのイネーブル信号（EN）を生成する。保持制御回路２６はイネーブル信号（EN)を判定結果保持回路３２に供給する。
【００３０】
データ比較回路３１は、ＲＡＭ４０からのデータ読み出し時にテストパターン生成回路２３から供給される期待値データとしての書き込みデータ（Date）と、ＲＡＭ４０から供給される読み出しデータ（read date）とが一致するか否かを判定する。データ比較回路３１は、期待値データとしての書込みデータ（Date）と読み出しデータ（read date）とが一致する場合には、正常判定（Pass）を示す判定結果（D）を出力する。一方、データ比較回路３１は、期待値データとしての書込みデータ（Date）と読み出しデータ（read date）とが一致しない場合には、故障判定（Fail）を示す判定結果（D）を出力する。判定結果(D)は、判定結果保持回路３２に供給される。
【００３１】
判定結果保持回路３２は、保持制御回路２６から出力されるイネーブル信号（EN）がハイレベルを呈するタイミングにおいてデータ比較回路３１から出力される判定結果(D)を保持する。すなわち、現在設定されている着目アドレスについての故障有無の判定結果（フェイル情報）のみが判定結果保持回路３２に保持される。判定結果保持回路３２は、スキャンチェーン２１とは別個のスキャンチェーンに接続されている。判定結果保持回路３２に保持された判定結果は、上記スキャンチェーンにスキャンイン信号（scan-in2）を入力することで（第２のスキャンイン）、スキャンアウト信号（scan-out2）として外部に出力されるとともにクリアされる。
【００３２】
テストパターン生成回路２３におけるテストパターンの生成は、外部装置から供給される命令コードに基づいて、ＲＡＭ４０に行わせるテスト動作における一連の処理を記述したテストプログラムを生成することにより行われる。テストパターン生成回路２３は、テストプログラムを実行することにより、一例としてＲＡＭ４０の０番地から最終番地までの全アドレスを対象とするデータの書き込みおよび読み出しを含む一連のテスト動作をＲＡＭ４０に実施させる。テストパターン生成回路２３は、着目アドレスを順次変更させながら一連のテスト動作を繰り返しＲＡＭ４０に実施させる。テストパターン生成回路２３は、ＲＡＭ４０の０番地から最終番地までの全アドレスを着目アドレスとして順次設定するべく、所定のタイミングでインクリメント信号（INC）をインクリメント回路２４に供給する。
【００３３】
また、テストパターン生成回路２３は、外部装置から供給されるクリアコントロール信号（CLRCTL）に基づいて上記テストプログラムの実行位置を示すプログラムカウンタを初期化する。これにより、テストプログラムに基づく一連のテスト動作が初期化（リセット）され、テスト動作は最初のステップ（例えば０番地へのデータの書き込み）に戻される。クリアコントロール信号（CLRCTL）は、着目アドレスの設定が初期化または変更されるタイミングに合わせて供給される。テストパターン生成回路２３は、クリアコントロール信号（CTRCTL）に基づいてプログラムカウンタを初期化（リセット）することで、着目アドレスが変更されるタイミングに合わせてＲＡＭ４０に同一のテスト動作を繰り返し実施させる。
【００３４】
なお、半導体集積回路１００は、開示の技術における半導体集積回路の一例である。ＲＡＭ４０は、開示の技術における半導体メモリの一例である。スキャンチェーン２１は、開示の技術におけるスキャンチェーンの一例である。インクリメント回路２４は、開示の技術における設定変更部の一例である。テストパターン生成回路２３は、開示の技術における制御部の一例である。データ比較回路３１は、開示の技術における判定部の一例である。判定結果保持回路３２は、開示の技術における保持部の一例である。信号入力端子１１は、開示の技術における入力端子の一例である。クリアコントロール信号（CLRCTL）は、開示の技術における制御信号の一例である。クロック信号（CLK_1）は、開示の技術における第１のクロック信号の一例であり、クロック信号（CLK_2）は、開示の技術における第２のクロック信号の一例である。ＰＬＬ回路２２は、開示の技術におけるクロック生成部の一例である。
【００３５】
図３は、本実施形態に係るメモリＢＩＳＴ回路１０の動作の一例を示すフローチャートである。
【００３６】
ステップＳ１において、外部装置（例えばＬＳＩテスタ）から出力されたスキャンイン信号（scan-in1）が第１のスキャンイン端子１３（図１参照）を介して入力される第１のスキャンインが行われ、スキャンチェーン２１に命令コードが設定される。テストパターン生成回路２３は、スキャンチェーン２１に設定された命令コードに基づいてテストパターン（テストプログラム）を生成する。また、第１のスキャンインによってスキャンチェーン２１を構成する記憶回路群２０２において、着目アドレスの初期設定がなされる。
【００３７】
ステップＳ２において、外部装置から出力されたスキャンイン信号（scan-in2）が第２のスキャンイン端子１５（図１参照）を介して入力される第２のスキャンインが行われ、判定結果保持回路３２に保持された判定結果がクリアされる。
【００３８】
ステップＳ３において、外部装置から出力されたクリアコントロール信号（CLRCTL）が信号入力端子１１（図１参照）を介して入力され、テストパターン生成回路２３においてプログラムカウンタの初期化（リセット）が行われる。
【００３９】
ステップＳ４において、テストパターン生成回路２３は、ライトイネーブル信号（WE）、書込みデータ（Date）、アドレス信号（Addr）およびクロック信号（CLK_2）をＲＡＭ４０に供給することにより、ＲＡＭ４０にテスト動作を行わせる。テスト動作は、一例として、ＲＡＭ４０の全アドレスを対象とするデータ“０”の書き込みと当該書き込みデータの読み出しとを含む。ＲＡＭ４０は、テスト動作時において、テストパターン生成回路２３から供給されるクロック信号（CLK_2）に同期して動作する。これにより、ＲＡＭ４０は、テスト動作時おいて、実使用時と同等の速度でデータの書き込みおよび読み出しを行う。
【００４０】
保持制御回路２６は、スキャンチェーン２１の記憶回路群２０２に保持されている着目アドレスと、読み出しアドレスとが一致した場合にハイレベルのイネーブル信号（EN）を判定結果保持回路３２に供給する。データ比較回路３１は、ＲＡＭ４０から出力された読み出しデータ（read date）と、テストパターン生成回路２３から出力された期待値データとしての書込みデータ（Date）とが一致するか否かの判定を行い、判定結果（D）を判定結果保持回路３２に供給する。判定結果保持回路３２は、保持制御回路２６から出力されるイネーブル信号（EN）がハイレベルを呈するタイミングにおいてデータ比較回路３１から出力される判定結果(D)を保持する。すなわち、現在設定されている着目アドレスについての故障有無の判定の結果が判定結果保持回路３２に保持される。
【００４１】
ステップＳ５において、第２のスキャンインが行われ、判定結果保持回路３２に保持された判定結果が、スキャンアウト信号（scan-out2）として外部に出力されるとともにクリアされる。
【００４２】
ステップＳ６において、テストパターン生成回路２３は、インクリメント信号（INC）をインクリメント回路２４に供給する。インクリメント回路２４は、スキャンチェーン２１の記憶回路群２０２に設定されている着目アドレスの番地ナンバーを示す命令コードを１つ増加させることにより新たな着目アドレスを生成する。インクリメント回路２４により生成された新たな着目アドレスは、記憶回路群２０２に保持される。これにより着目アドレスが変更される。
【００４３】
ステップＳ７において、ＲＡＭ４０の全アドレスについて故障有無の判定結果が取得されたか否かの判定が行われる。ＲＡＭ４０の全アドレスについて判定結果が取得されていない場合には、処理がステップＳ３に戻される。この場合、外部装置からクリアコントロール信号（CLRCTR）が出力され、これが信号入力端子１１を介して入力され、テストパターン生成回路２３においてプログラムカウンタの初期化（リセット）が行われる。これにより、ＲＡＭ４０において、前サイクルと同様のテスト動作が、最初のステップから再開される。ＲＡＭ４０の全アドレスについて故障有無の判定結果が取得された場合にはテスト終了となる。
【００４４】
図４は、本実施形態に係るメモリＢＩＳＴ回路１０の動作の一例を示すタイムチャートである。なお、図４において「Ｗ０」は、ＲＡＭ４０に対するデータ“０”の書き込みを示し、「Ｒ０」は、ＲＡＭ４０からのデータ“０”の読み出しを示す。
【００４５】
はじめに、第１のスキャンインが行われ、スキャンチェーン２１に命令コードが設定される。テストパターン生成回路２３は、設定された命令コードに基づいてテストパターンを生成する。また、当該第１のスキャンインによって０番地が最初の着目アドレスとして設定される。次に、第２のスキャンインが行われ、判定結果保持回路３２に保持された判定結果がクリアされる。
【００４６】
次に、外部装置から出力されたクリアコントロール信号（CLRCTL）が信号入力端子１１を介して入力され、テストパターン生成回路２３においてプログラムカウンタの初期化（リセット）が行われる。
【００４７】
次に、ＲＡＭ４０においてテスト動作が行われる。テストパターン生成回路２３からＲＡＭ４０に供給されるライトイネーブル信号（WE）がハイレベルを呈する期間において、ＲＡＭ４０は、全アドレスを対象として書き込みデータ（Date）によって指定されたデータ“０”の書き込みを行う。ライトイネーブル信号（WE）がローレベルを呈する期間において、ＲＡＭ４０は、全アドレスを対象としてデータの読み出しを行う。なお、図４には、ＲＡＭ４０において、０番地から１０２３番地までのアドレスが設けられている場合が例示されている。
【００４８】
データ比較回路３１は、ＲＡＭ４０から出力された読み出しデータ（read date）と、テストパターン生成回路２３から出力された期待値データとしての書込みデータ（Date）とが一致するか否かの判定を行う。保持制御回路２６は、着目アドレスとして設定されている０番地からのデータの読み出しが行われるタイミングでハイレベルを呈するイネーブル信号（EN）を出力する。判定結果保持回路３２は、イネーブル信号（EN）がハイレベルを呈するタイミングにおいてデータ比較回路３１から出力される判定結果を保持する。これにより、着目アドレス（０番地）についての故障有無の判定結果が判定結果保持回路３２に保持される。
【００４９】
次に、第２のスキャンインが行われ、判定結果保持回路３２に保持された着目アドレス（０番地）についての故障有無の判定結果が、スキャンアウト信号（scan-out2）として外部に出力されとともにクリアされる。
【００５０】
次に、テストパターン生成回路２３は、インクリメント信号（INC）をインクリメント回路２４に供給する。インクリメント回路２４は、着目アドレスの番地ナンバーを示す命令コードを１つ増加させることにより１番地を新たな着目アドレスとして設定する。
【００５１】
次に、外部装置から出力されたクリアコントロール信号（CLRCTL）が信号入力端子１１を介して入力され、テストパターン生成回路２３においてプログラムカウンタの初期化（リセット）が行われる。その後、前サイクルと同様、ＲＡＭ４０の全アドレスを対象とするデータ“０”の書き込みと当該書き込みデータの読み出しとを含むテスト動作がＲＡＭ４０において実施され、着目アドレス（１番地）についての故障有無の判定結果が取得される。以降、着目アドレスの変更のタイミングに合わせて外部装置からクリアコントロール信号（CLRCTL）が出力され、信号入力端子１１に入力される。テストパターン生成回路２３がクリアコントロール信号（CLRCTL）に基づいてプログラムカウンタを初期化（リセット）することにより、ＲＡＭ４０において同一のテスト動作が繰り返し行われ、最終番地（１０２３番地）までの故障有無の判定結果が取得される。
【００５２】
図５は、比較例に係る半導体集積回路１００Ａの構成を示すブロック図である。なお、図５において、図１に示す開示の技術の実施形態に係る半導体集積回路１００と同一または対応する構成要素には、同一の参照符号を付与し、重複する説明は省略する。比較例に係る半導体集積回路１００Ａは、ＲＡＭ４０をテストするためのメモリＢＩＳＴ回路１０Ａを含んでいる。メモリＢＩＳＴ回路１０Ａは、テストパターン生成ブロック２０Ａおよび判定ブロック３０を含んで構成されている。比較例に係る半導体集積回路１００Ａは、外部装置からのクリアコントロール信号（CLRCTL）の入力を受け付ける信号入力端子１１を有しない点が、開示の技術の実施形態に係る半導体集積回路１００と異なる。
【００５３】
図６は、比較例に係るメモリＢＩＳＴ回路１０Ａを構成するテストパターン生成ブロック２０Ａおよび判定ブロック３０の詳細な構成を示すブロック図である。図６において、図２に示す開示の技術の実施形態に係るメモリＢＩＳＴ回路１０と同一または対応する構成要素には、同一の参照符号を付与し、重複する説明は省略する。
【００５４】
スキャンチェーン２１Ａは、複数の記憶回路２００を含んで構成されている。スキャンチェーン２１Ａは、ＲＡＭ４０におけるテスト動作の内容を指示する命令コードを保持する記憶回路群２０１と、着目アドレスの初期設定を行うための命令コードを保持する記憶回路群２０２と、を含む。記憶回路群２０１に含まれる少なくとも１つの記憶回路には、テストパターン生成回路２３におけるプログラムカウンタの初期化（リセット）を指示する命令コードが保持される。すなわち、比較例に係るメモリＢＩＳＴ回路１０Ａにおいて、テストパターン生成回路２３におけるプログラムカウンタの初期化（リセット）は、スキャンチェーン２１Ａに命令コードを設定するスキャンイン（第１のスキャンイン）によって行われる。
【００５５】
スキャンチェーン２１Ａは、更に、記憶回路２０３を有する。記憶回路２０３は、着目アドレスを、スキャンインによって設定するのか、スキャンチェーン２１Ａの外部に設けられた記憶回路群２０４に保持されたアドレスに置換するのかを指示する命令コードを保持する。記憶回路２０３に例えば命令コード“０”が設定された場合には、スキャンインによって記憶回路群２０２に設定された命令コードがそのまま保持される。これにより、着目アドレスは、当該スキャンインによって設定される。一方、記憶回路２０３に例えば命令コード“１”が設定された場合には、スキャンインによって記憶回路群２０２に設定された命令コードは、記憶回路群２０４に保持された値に置換される。これにより、着目アドレスは記憶回路群２０４に保持されたアドレスに設定される。記憶回路群２０４は、スキャンチェーン２１Ａの外部に設けられ、インクリメント回路２４によって生成された新たなアドレスを保持する。
【００５６】
図７は、比較例係るメモリＢＩＳＴ回路１０Ａの動作の一例を示すフローチャートである。
【００５７】
ステップＳ１１において、第１のスキャンインが行われ、スキャンチェーン２１Ａに命令コードが設定される。テストパターン生成回路２３は、スキャンチェーン２１Ａに設定された命令コードに基づいてテストパターンを生成する。スキャンチェーン２１Ａの記憶回路２０３には、命令コード“０”が設定される。これにより、当該第１のスキャンインによってスキャンチェーン２１Ａの記憶回路群２０２に保持された命令コードによって着目アドレスの初期設定がなされる。また、当該第１のスキャンインによってテストパターン生成回路２３におけるプログラムカウンタが初期化（リセット）される。
【００５８】
ステップＳ１２において、第２のスキャンインが行われ、判定結果保持回路３２に保持された判定結果がクリアされる。
【００５９】
ステップＳ１３において、テストパターン生成回路２３は、ライトイネーブル信号（WE）、書込みデータ（Date）、アドレス信号（Addr）およびクロック信号（CLK_2）をＲＡＭ４０に供給することによりＲＡＭ４０にテスト動作を行わせる。テスト動作は、一例として、ＲＡＭ４０の全アドレスを対象とするデータ“０”の書き込みと当該書き込みデータの読み出しとを含む。ＲＡＭ４０は、テスト動作時において、ＰＬＬ回路２２から供給されるクロック信号（CLK_2）に同期して動作する。これにより、ＲＡＭ４０は、テスト動作時おいて、実使用時と同等の速度でデータの書き込みおよび読み出しを行う。
【００６０】
保持制御回路２６は、記憶回路群２０２に保持されている着目アドレスと、読み出しアドレスとが一致した場合にハイレベルのイネーブル信号（EN）を判定結果保持回路３２に供給する。データ比較回路３１は、ＲＡＭ４０から出力された読み出しデータ（read date）と、テストパターン生成回路２３から出力された期待値データとしての書込みデータ（Date）とが一致するか否かの判定を行い、判定結果（D）を判定結果保持回路３２に供給する。判定結果保持回路３２は、保持制御回路２６から出力されるイネーブル信号（EN）がハイレベルを呈するタイミングにおいてデータ比較回路３１から出力される判定結果(D)を保持する。すなわち、現在設定されている着目アドレスについての故障有無の判定結果が判定結果保持回路３２に保持される。
【００６１】
ステップＳ１４において、第２のスキャンインが行われ、判定結果保持回路３２に保持された判定結果が、スキャンアウト信号（scan-out2）として外部に出力されるとともにクリアされる。
【００６２】
ステップＳ１５において、第１のスキャンインが行われ、スキャンチェーン２１Ａに命令コードが設定される。テストパターン生成回路２３は、スキャンチェーン２１Ａに設定された命令コードに基づいてテストパターンを生成する。一方、スキャンチェーン２１Ａの記憶回路２０３には、命令コード“１”が設定される。これにより、当該第１のスキャンインによってスキャンチェーン２１Ａの記憶回路群２０２に設定された着目アドレスは、スキャンチェーン２１Ａの外部に設けられた記憶回路群２０４に保持されたアドレスに置換される。記憶回路群２０４には、前サイクルの着目アドレスの番地ナンバーを１つ増加したアドレスが保持されている。従って、前サイクルの着目アドレスの番地ナンバーを１つ増加した新たな着目アドレスが記憶回路群２０２に設定される。また、当該第１のスキャンインによってテストパターン生成回路２３におけるプログラムカウンタが初期化（リセット）される。
【００６３】
ステップＳ１６において、先のステップＳ１３と同様のテスト動作がＲＡＭ４０において行われ、現在設定されている着目アドレスについての故障有無の判定結果が判定結果保持回路３２に保持される。
【００６４】
ステップＳ１７において、第２のスキャンインが行われ、判定結果保持回路３２に保持された判定結果が、スキャンアウト信号（scan-out2）として外部に出力されるとともにクリアされる。
【００６５】
ステップＳ１８において、ＲＡＭ４０の全アドレスについて故障有無の判定結果が取得されたか否かの判定が行われる。ＲＡＭ４０の全アドレスについて判定結果が取得されていない場合には、処理がステップＳ１５に戻される。この場合、第１のスキャンインが行われることにより、テストパターンの生成、着目アドレスの変更およびプログラムカウンタの初期化（リセット）が行われる。その後、ＲＡＭ４０において、同様のテスト動作が繰り返し実施される。ＲＡＭ４０の全アドレスについて故障有無の判定結果が取得された場合にはテスト終了となる。
【００６６】
図８は、比較例に係るメモリＢＩＳＴ回路１０Ａの動作の一例を示すフローチャートである。なお、図８において「Ｗ０」は、ＲＡＭ４０に対するデータ“０”の書き込みを示し、「Ｒ０」は、ＲＡＭ４０からのデータ“０”の読み出しを示す。
【００６７】
はじめに、第１のスキャンインが行われ、スキャンチェーン２１Ａに命令コードが設定される。テストパターン生成回路２３は、設定された命令コードに基づいてテストパターンを生成する。また、最初の着目アドレスは、当該第１のスキャンインによって０番地が設定される。また、当該第１のスキャンインによってテストパターン生成回路２３におけるプログラムカウンタが初期化（リセット）される。次に、第２のスキャンインが行われ、判定結果保持回路３２において保持されている判定結果がクリアされる。
【００６８】
次に、ＲＡＭ４０においてテスト動作が行われる。テストパターン生成回路２３からＲＡＭ４０に供給されるライトイネーブル信号（WE）がハイレベルを呈する期間において、ＲＡＭ４０は、全アドレスを対象として書き込みデータ（Date）によって指定されたデータ“０”の書き込みを行う。ライトイネーブル信号（WE）がローレベルを呈する期間において、ＲＡＭ４０は、全アドレスを対象としてデータの読み出しを行う。なお、図８には、ＲＡＭ４０において、０番地から１０２３番地までのアドレスが設けられている場合が例示されている。
【００６９】
データ比較回路３１は、ＲＡＭ４０から出力された読み出しデータ（read date）と、テストパターン生成回路２３から出力された期待値データとしての書込みデータ（Date）とが一致するか否かの判定を行う。保持制御回路２６は、着目アドレスとして設定されている０番地からのデータの読み出しが行われるタイミングでハイレベルを呈するイネーブル信号（EN）を出力する。判定結果保持回路３２は、イネーブル信号（EN）がハイレベルを呈するタイミングにおいてデータ比較回路３１から出力される判定結果を保持する。これにより、着目アドレス（０番地）についての故障有無の判定結果が判定結果保持回路３２に保持される。
【００７０】
次に、第２のスキャンインが行われ、判定結果保持回路３２に保持された着目アドレス（０番地）についての故障有無の判定結果が、スキャンアウト信号（scan-out2）として外部に出力されるとともにクリアされる。
【００７１】
次に、第１のスキャンインが行われ、スキャンチェーン２１Ａに命令コードが設定される。テストパターン生成回路２３は、設定された命令コードに基づいてテストパターンを生成する。スキャンチェーン２１Ａの記憶回路群２０２に設定された着目アドレスは、記憶回路群２０４に保持された１番地に置換される。また、当該第１のスキャンインによってテストパターン生成回路２３におけるプログラムカウンタが初期化（リセット）される。
【００７２】
その後、前サイクルと同様、ＲＡＭ４０の全アドレスを対象とするデータ“０”の書き込みと当該書き込みデータの読み出しとを含むテスト動作がＲＡＭ４０において実施され、着目アドレス（１番地）についての故障有無の判定結果が取得される。以降、第１のスキャンインが行われる度に、着目アドレスが順次変更されるとともにプログラムカウンタが初期化され、ＲＡＭ４０において同一のテスト動作が繰り返し行われる。これにより、最終番地（１０２３番地）までの故障有無の判定結果が取得される。
【００７３】
以上のように、半導体集積回路１００および１００Ａにおいては、ＲＡＭ４０において、着目アドレスを含む複数のアドレスを対象とするデータの書き込みおよび読み出しを含む一連のテスト動作が、着目アドレスの変更に伴って繰り返し実施される。
【００７４】
比較例に係るメモリＢＩＳＴ回路１０Ａにおいては、ＲＡＭ４０にテスト動作を繰り返し行わせる場合に必要となるプログラムカウンタの初期化（リセット）を第１のスキャンインにより行っている。また、着目アドレスをスキャンインによって設定するのか、記憶回路群２０４に保持されたアドレスに置換するのかを指示する命令コードを、テスト動作の１サイクルが終了するたびに記憶回路２０３に設定する。すなわち、比較例に係るメモリＢＩＳＴ回路１０Ａにおいては、図８からも明らかなように、着目アドレスの変更に応じてスキャンチェーン２１Ａに対してスキャンイン（第１のスキャンイン）が繰り返し行われている。近年の大規模なＬＳＩに搭載される１００万ビットを超えるようなスキャンチェーンに対して、着目アドレスの変更に応じて繰り返しスキャンインを実施した場合にはテスト時間が膨大となる。
【００７５】
これに対して開示の技術の実施形態に係るメモリＢＩＳＴ回路１０においては、プログラムカウンタの初期化（リセット）を外部装置からスキャンチェーン２１上の経路とは異なる経路を介して供給されるクリアコントロール信号（CLRCTL）に基づいて行っている。また、メモリＢＩＳＴ回路１０において、着目アドレスの変更は、インクリメント回路２４がテストパターン生成回路２３から供給されるインクリメント信号（INC）に基づいて新たな着目アドレスを生成することにより行われる。従って、比較例に係る記憶回路２０３が不要となり、スキャンインによる着目アドレスの設定に関する命令コードの入力が不要となる。従って、開示の技術の実施形態に係るメモリＢＩＳＴ回路１０によれば、図４からも明らかなように、着目アドレスの変更に伴ってスキャンチェーン２１に対してスキャンイン（第１のスキャンイン）を繰り返し行うことが不要となる。すなわち、メモリＢＩＳＴ回路１０において、スキャンチェーン２１に対するスキャンイン（第１のスキャンイン）は、テスト開始時点に実施される１回のみとされる。従って、開示の技術の実施形態に係る半導体集積回路１００によれば、スキャンチェーンを用いたメモリＢＩＳＴにおいて、テスト時間を従来よりも短縮させることが可能となる。
【００７６】
また、テストパターン生成回路２３は、外部装置から供給されるクロック信号（CLK_1）よりも高い周波数のクロック信号（CLK_2）を生成してＲＡＭ４０に供給するＰＬＬ回路２２を有する。これにより、外部装置から供給されるクロック信号の周波数が、ＲＡＭ４０の実使用時における動作周波数よりも低い場合であっても、実使用時における動作速度に相当する速度でＲＡＭ４０にテスト動作を行わせることができる。なお、ＰＬＬ回路２２は、テストパターン生成回路２３の外部に設けられていてもよい。この場合、ＰＬＬ回路２２は、一例として、テストパターン生成回路２３からの指示に基づいてクロック信号（CLK_2）をＲＡＭ４０に供給する。
【００７７】
図９は、開示の技術の第２の実施形態に係る半導体集積回路１０１の構成を示すブロック図である。なお、図９において、図１に示す第１の実施形態に係る半導体集積回路１００と同一または対応する構成要素には、同一の参照符号を付与し、重複する説明は省略する。半導体集積回路１０１は、２つのＲＡＭ４０Ａおよび４０Ｂを備えている。２つのＲＡＭ４０Ａおよび４０Ｂは、メモリＢＩＳＴ回路１０によるテスト対象とされる。メモリＢＩＳＴ回路１０は、一例として、最初にＲＡＭ４０Ａのテストを行い、その後ＲＡＭ４０Ｂのテストを行う。このように、第２の実施形態に係る半導体集積回路１０１よれば、複数のＲＡＭのテストを１つのメモリＢＩＳＴ回路によって行うことが可能である。なお、半導体集積回路１０１は、開示の技術における半導体集積回路の一例である。
【００７８】
以上の説明では、ＲＡＭ４０におけるテスト動作の一例を示したが、テスト動作の内容は、スキャンイン（第１のスキャンイン）によって適宜プログラミングすることが可能である。すなわち、上記の実施形態では、テスト動作時において、ＲＡＭ４０にデータ“０”の書き込みを行う場合を例示したが、データ“１”の書き込みを行ってもよい。また、データ“０”の書き込みおよび読み出しと、データ“１”の書き込みおよび読み出しの双方を行ってもよい。上記の実施形態では、ＲＡＭ４０の全アドレスを着目アドレスとして順次設定する場合を例示したが、ＲＡＭ４０の一部のアドレスのみを着目アドレスとして設定してもよい。また、上記の実施形態では、テスト動作時において、ＲＡＭ４０の全アドレスを対象とするデータの書き込みおよび読み出しを行うこととしたが、着目アドレスを含む一部のアドレスを対象としてデータの書き込みおよび読み出しを行うようにしてもよい。
【００７９】
また、上記の実施形態では、テスト動作時においてＲＡＭ４０を実使用時における動作速度で動作させるためのクロック信号（CLK_2）をＰＬＬ回路２２によって生成する構成を例示した。しかしながら、外部装置から供給されるクロック信号（CLK_1）の周波数が、ＲＡＭ４０を実使用時における動作速度に対応している場合には、ＰＬＬ回路２２を省略することが可能である。
【００８０】
以上の各実施形態に関し、更に以下の付記を開示する。
【００８１】
（付記１）
複数のアドレスを備えた半導体メモリと、
前記半導体メモリにおいて行われるテスト動作に関する情報を含む、外部から供給される命令コードを保持する複数の記憶回路を有するスキャンチェーンと、
前記複数のアドレスのうちの着目アドレスの設定を順次変更させる設定変更部と、
設定された着目アドレスを含む複数のアドレスの各々に対するデータの書き込みおよび読み出しを含むテスト動作を前記半導体メモリに行わせるためのテストパターンを前記命令コードに基づいて生成し且つ前記設定変更部による着目アドレスの設定変更に伴って前記スキャンチェーン上の経路とは異なる経路を介して外部から供給される制御信号に基づいて前記テスト動作を初期化する制御部と、
前記テスト動作によって前記半導体メモリから読み出されたデータの当否を判定する判定部と、
前記判定部における判定結果のうち、設定された着目アドレスについての判定結果を保持する保持部と、
を含む半導体集積回路。
【００８２】
（付記２）
前記制御信号の外部からの入力を受け付ける、前記スキャンチェーンに対して非接続とされた入力端子を更に含む、付記１に記載の半導体集積回路。
【００８３】
（付記３）
前記制御部は、前記制御信号の入力毎に前記半導体メモリに前記テスト動作を繰り返し行わせる
付記１または付記２に記載の半導体集積回路。
【００８４】
（付記４）
前記制御部は、前記半導体メモリの実使用時における動作速度に相当する速度で前記半導体メモリに前記テスト動作を行わせる
付記１から付記３のいずれか１つに記載の半導体集積回路。
【００８５】
（付記５）
外部から入力される第１のクロック信号よりも周波数の高い第２のクロック信号を生成するクロック生成部を更に含み、
前記制御部は、前記半導体メモリに前記テスト動作を行わせる際に前記第２のクロック信号を前記半導体メモリに供給し、
前記半導体メモリは、前記第２のクロック信号に同期して前記テスト動作を行う
付記４に記載の半導体集積回路。
【００８６】
（付記６）
前記設定変更部は、前記保持部において保持された判定結果の読み出しが行われた後に、前記制御部から供給される信号に基づいて前記着目アドレスの設定を変更させる
付記１から付記５のいずれか１つに記載の半導体集積回路。
【００８７】
（付記７）
前記制御部は、前記制御信号に基づいて、前記半導体メモリに前記テスト動作を行わせるためプログラムの実行位置を示すプログラムカウンタを初期化する
付記１から付記６のいずれか１つに記載の半導体集積回路。
【００８８】
（付記８）
前記スキャンチェーンは、さらに、前記着目アドレスの設定を保持する
付記１から付記７のいずれか１つに記載の半導体集積回路。
【００８９】
（付記９）
前記命令コードは、前記着目アドレスを示す情報を更に含み、
前記スキャンチェーンは、前記命令コードに基づいて前記着目アドレスの初期設定を保持する
付記８に記載に記載の半導体集積回路。
【００９０】
（付記１０）
前記設定変更部は、前記半導体メモリの全てのアドレスが着目アドレスとして設定されるように着目アドレスの設定を順次変更させる
付記１から付記９のいずれか１つに記載の半導体集積回路。
【００９１】
（付記１１）
前記制御部は、前記スキャンチェーンに保持された命令コードに基づいて、前記半導体メモリの全てのアドレスに対するデータの書き込みおよび読み出しを含むテスト動作を前記半導体メモリに行わせるテストパターンを生成する
付記１から付記１０のいずれか１つに記載の半導体集積回路。
【００９２】
（付記１２）
設定された着目アドレスからのデータの読み出しが行われるタイミングを示す信号を出力する信号出力部を更に含み、
前記保持部は、前記信号出力部から出力される信号に基づいて、前記判定部における判定結果を保持する
付記１から付記１１のいずれか１つに記載の半導体集積回路。
【００９３】
（付記１３）
複数のアドレスを備えた半導体メモリにおいて行われるテスト動作に関する情報を含む、外部から供給される命令コードを複数の記憶回路を有するスキャンチェーンに保持し、
前記複数のアドレスのうちのいずれかを着目アドレスとして設定し、
設定された着目アドレスを含む複数のアドレスの各々に対するデータの書き込みおよび読み出しを含むテスト動作を前記命令コードに基づいて前記半導体メモリに行わせ、
前記テスト動作によって前記半導体メモリから読み出されたデータの当否の判定結果のうち、設定された着目アドレスについての判定結果を取得し、
設定された着目アドレスについての判定結果を取得した後に、着目アドレスの設定を変更し、
着目アドレスの設定変更に伴って前記スキャンチェーン上の経路とは異なる経路を介して外部から供給される制御信号に基づいて前記テスト動作を初期化する
半導体メモリのテスト方法。
【００９４】
（付記１４）
前記制御信号の入力毎に前記半導体メモリに前記テスト動作を繰り返し行わせる
付記１３に記載のテスト方法。
【００９５】
（付記１５）
前記半導体メモリの実使用時における動作速度に相当する速度で前記半導体メモリに前記テスト動作を行わせる
付記１３または付記１４に記載のテスト方法。
【００９６】
（付記１６）
前記半導体メモリに前記テスト動作を行わせる際に、外部から入力される第１のクロック信号よりも周波数の高い第２のクロック信号を前記半導体メモリに供給し、
前記半導体メモリは、前記第２のクロック信号に同期して前記テスト動作を行う
付記１５に記載のテスト方法。
【００９７】
（付記１７）
前記制御信号に基づいて、前記半導体メモリに前記テスト動作を行わせるためプログラムの実行位置を示すプログラムカウンタを初期化する
付記１３から付記１６のいずれか１つに記載のテスト方法。
【００９８】
（付記１８）
前記スキャンチェーンは、さらに、前記着目アドレスの設定を保持する
付記１３から付記１７のいずれか１つに記載のテスト方法。
【００９９】
（付記１９）
前記命令コードは、前記着目アドレスを示す情報を更に含み、
前記命令コードに基づいて、前記着目アドレスの初期設定を行う
付記１８に記載に記載のテスト方法。
【０１００】
（付記２０）
前記半導体メモリの全てのアドレスを着目アドレスとして順次設定する
付記１３から付記１９のいずれか１つに記載のテスト方法。
【０１０１】
（付記２１）
前記スキャンチェーンに保持された命令コードに基づいて、前記半導体メモリの全てのアドレスに対するデータの書き込みおよび読み出しを含むテスト動作を前記半導体メモリに行わせる
付記１３から付記２０のいずれか１つに記載のテスト方法。
【符号の説明】
【０１０２】
１０  メモリＢＩＳＴ回路
１１  信号入力端子
２１  スキャンチェーン
２３  テストパターン生成回路
２４  インクリメント回路
２５  アドレス比較回路
２６  保持制御回路
３１  データ比較回路
３２  判定結果保持回路
４０  ＲＡＭ
１００、１０１  半導体集積回路
【図１】
2015215931.tif 000003
【図２】
2015215931.tif 000004
【図３】
2015215931.tif 000005
【図４】
2015215931.tif 000006
【図５】
2015215931.tif 000007
【図６】
2015215931.tif 000008
【図７】
2015215931.tif 000009
【図８】
2015215931.tif 000010
【図９】
2015215931.tif 000011