(57)【要約】【課題】回路サイズの増大や性能への影響を抑えつつ、メモリおよびＥＣＣ回路を内蔵するメモリマクロ内のメモリのテストとＥＣＣ回路のテストの双方を行うことのできる半導体集積回路を提供する。【解決手段】  実施形態の半導体集積回路は、入力されるデータに対応するコードを生成する第１のＥＣＣ回路と、データの読み書きが行われるデータ記憶部およびコードの読み書きが行われるＥＣＣ記憶部を有するメモリコアと、前記メモリコアから読み出されるデータとコードとに基づき当該データの誤り検出もしくは訂正の処理を行う第２のＥＣＣ回路と、スキャンテストの際に、データが前記メモリコアを迂回して流れる経路を構成し、メモリテストの際に、データが前記データ記憶部および前記ＥＣＣ記憶部をそれぞれ経由して流れる経路を構成する回路群と、を内蔵したメモリマクロを具備する。【選択図】図１
2019168316.tif 000002
【特許請求の範囲】
【請求項１】
入力されるデータに対応するコードを生成する第１のＥＣＣ回路と、
データの読み書きが行われるデータ記憶部およびコードの読み書きが行われるＥＣＣ記憶部を有するメモリコアと、
前記メモリコアから読み出されるデータとコードとに基づき当該データの誤り検出もしくは訂正の処理を行う第２のＥＣＣ回路と、
スキャンテストの際に、データが前記メモリコアを迂回して流れる経路を構成し、メモリテストの際に、データが前記データ記憶部および前記ＥＣＣ記憶部をそれぞれ経由して流れる経路を構成する回路群と、
を内蔵したメモリマクロを具備する半導体集積回路。
【請求項２】
前記データ記憶部の入力側及び出力側にそれぞれ設けられる第１のラッチ回路及び第２のラッチ回路と、
前記ＥＣＣ記憶部の入力側及び出力側にそれぞれ設けられる第３のラッチ回路及び第４のラッチ回路と、
を更に具備し、
前記第１のラッチ回路と前記第２のラッチ回路とは、前記スキャンテストの際に、合わせて１つのフリップフロップとして動作するように構成され、
前記第３のラッチ回路と前記第４のラッチ回路とは、前記スキャンテストの際に、合わせて１つのフリップフロップとして動作するように構成される、
請求項１に記載の半導体集積回路。
【請求項３】
前記回路群は、
前記メモリテストの際に、前記第１のＥＣＣ回路のデータ出力端子から出力されるデータの一部が前記ＥＣＣ記憶部の方へ流れるように経路を選択する、第１の選択器を含む、
請求項１又は２に記載の半導体集積回路。
【請求項４】
前記回路群は、
前記メモリテストの際に、前記データ記憶部から出力されるデータが前記第２のＥＣＣ回路のデータ入力端子へ流れる経路と、前記ＥＣＣ記憶部から出力されるデータが前記第２のＥＣＣ回路のデータ入力端子へ流れる経路のいずれか一方が有効となるように経路を選択する、第２の選択器を含む、
請求項１乃至３のいずれか１項に記載の半導体集積回路。
【請求項５】
前記メモリテストの際に、前記第２の選択器を操作しつつ前記メモリマクロ内にテストデータを供給することにより、前記データ記憶部と前記ＥＣＣ記憶部のそれぞれに対するテストを実施するメモリテスト手段を更に具備する、
請求項１乃至４のいずれか１項に記載の半導体集積回路。
【請求項６】
前記メモリテストの際に、前記第１及び第２のＥＣＣ回路の処理機能を無効にし、当該第１及び第２のＥＣＣ回路の各々において入力されるデータがそのまま出力されるように設定する手段を更に具備する、
請求項１乃至５のいずれか１項に記載の半導体集積回路。
【請求項７】
前記第１の選択器は、マルチプレクサを用いて実現されている、
請求項１乃至６のいずれか１項に記載の半導体集積回路。
【請求項８】
前記第２の選択器は、マルチプレクサを用いて実現されている、
請求項１乃至７のいずれか１項に記載の半導体集積回路。
【請求項９】
前記メモリテスト手段は、当該半導体集積回路に内蔵されるＢＩＳＴ（Built-In Self-Test）回路である、
請求項１乃至８のいずれか１項に記載の半導体集積回路。
【請求項１０】
前記メモリコアは、ＳＲＡＭ（Static Random Access Memory）コアである、
請求項１乃至９のいずれか１項に記載の半導体集積回路。
【請求項１１】
前記メモリマクロは、ＳＲＡＭマクロである、
請求項１乃至１０のいずれか１項に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、半導体集積回路に関する。
【背景技術】
【０００２】
ＳＲＡＭ（Static Random Access Memory）のメモリのデータ誤り検出・訂正を行うＥＣＣ（Error Correction Code）回路がメモリマクロの外部に設けられる半導体集積回路において、ＥＣＣ回路のテストと、メモリのテストの双方を行う技術がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５４４１８５７号公報
【特許文献２】特許第５６６１１４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
回路サイズの増大や性能への影響を抑えつつ、メモリおよびＥＣＣ回路を内蔵するメモリマクロ内のメモリのテストとＥＣＣ回路のテストの双方を行うことのできる半導体集積回路を提供する。
【課題を解決するための手段】
【０００５】
実施形態の半導体集積回路は、入力されるデータに対応するコードを生成する第１のＥＣＣ回路と、データの読み書きが行われるデータ記憶部およびコードの読み書きが行われるＥＣＣ記憶部を有するメモリコアと、前記メモリコアから読み出されるデータとコードとに基づき当該データの誤り検出もしくは訂正の処理を行う第２のＥＣＣ回路と、スキャンテストの際に、データが前記メモリコアを迂回して流れる経路を構成し、メモリテストの際に、データが前記データ記憶部および前記ＥＣＣ記憶部をそれぞれ経由して流れる経路を構成する回路群と、を内蔵したメモリマクロを具備する。
【図面の簡単な説明】
【０００６】
【図１】図１は、一実施形態に係る半導体集積回路の概略構成の一例を示す模式図である。
【図２】図２は、センスアンプを用いた経路の切替えの一例を説明するための図である。
【図３】図３は、スキャンテストを実施する際の半導体集積回路の状態の一例を示す模式図である。
【図４】図４は、スキャンテストを実施する際の半導体集積回路の動作の一例を示すフローチャートである。
【図５】図５は、スキャンテストを実施する際の複数のラッチ回路の接続形態の一例を説明するための図。
【図６】図６は、メモリテストを実施する際の半導体集積回路の状態の一例を示す模式図である。
【図７】図７は、メモリテストを実施する際の半導体集積回路の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【０００７】
以下、図面を参照して実施の形態について説明する。なお、以下の説明において、同一の機能及び構成を有する構成要素については、共通する参照符号を付す。
【０００８】
図１は、一実施形態に係る半導体集積回路の概略構成の一例を示す模式図である。
【０００９】
図１に示される半導体集積回路１００は、ＳＲＡＭ（Static Random Access Memory）マクロ１を備える。このＳＲＡＭマクロ１の周囲には、ＢＩＳＴ（Built-In Self-Test）回路２や選択器３が配置されている。
【００１０】
ＳＲＡＭマクロ１は、所定の回路から送られてくるデータあるいはＢＩＳＴ回路２から送られてくるデータを、入力端子１ａから入力し、入力したデータを内部のＳＲＡＭに一時的に書き込むとともに、ＳＲＡＭからデータを読み出し、読み出したデータを出力端子１ｂから出力する。出力されたデータは、所定の回路へあるいはＢＩＳＴ回路２へ送られる。
【００１１】
ＢＩＳＴ回路２は、ＳＲＡＭコア１２に対するメモリテストを実施するための回路である。
【００１２】
選択器３は、外部から供給される所定の選択信号（図示せず）に従い、所定の回路から送られてくるデータがＳＲＡＭマクロ１の入力端子１ａへ送られる経路と、ＢＩＳＴ回路２から送られてくるデータがＳＲＡＭマクロ１の入力端子１ａへ送られる経路とのいずれか一方が有効となるように経路の選択を行うものである。
【００１３】
上記ＳＲＡＭマクロ１には、入力されるデータに対応するコードを生成する第１のＥＣＣ（Error Correction Code）回路１１、データの読み書きが行われるデータ記憶部１２ａおよびＥＣＣ記憶部１２ｂの読み書きが行われるＥＣＣ記憶部１２ｂを有するＳＲＡＭコア１２、ＳＲＡＭコア１２から読み出されるデータとコードとに基づき当該データの誤り検出もしくは訂正の処理を行う第２のＥＣＣ回路１３等が内蔵される。そのほか、ラッチ回路ＬＴ１，ＬＴ２，ＬＴ３，ＬＴ４などの基本的な回路要素や各種の信号線も配設されている。
【００１４】
なお、ＳＲＡＭマクロ１内のＥＣＣ回路１１，１２を含むロジックは、スキャンテストの対象となる。一方、ＳＲＡＭコア１２のデータ記憶部１２ａおよびＥＣＣ記憶部１２ｂは、それぞれ、メモリテスト（ＢＩＳＴ）の対象となる。
【００１５】
本実施形態のＳＲＡＭマクロ１は、ＥＣＣ回路１１，１２を含むロジックに対するスキャンテストを実施する際に、データがＳＲＡＭコア１２を迂回して流れる経路を構成し、ＳＲＡＭコア１２のデータ記憶部１２ａおよびＥＣＣ記憶部１２ｂに対するメモリテスト（ＢＩＳＴ）を実施する際には、データがデータ記憶部１２ａおよびＥＣＣ記憶部１２ｂをそれぞれ経由して流れる経路を構成するための回路群を含む。例えば、ＳＲＡＭマクロ１内には、上述した基本的な回路要素や信号線に加え、選択器Ｓ１，Ｓ２などの回路要素や、パスＫ１，Ｋ２、バイパスＢＰ１，ＢＰ２などの信号線が更に配設されている。
【００１６】
ＥＣＣ回路１１は、外部から与えられる所定の信号に従って、コード生成機能が有効／無効のいずれかの状態に設定される。
【００１７】
例えば、ＥＣＣ回路１１のコード生成機能が有効の状態に設定されているときは、ＥＣＣ回路１１はコードの生成を含む通常の処理を実施する。すなわち、ＥＣＣ回路１１は、入力端子１ａを通って送られてくるデータをデータ入力端子１１ａから入力し、入力したデータに対応するコードを生成し、入力したデータをそのままデータ出力端子１１ｂから出力すると共に、生成したコードをコード出力端子１１ｃから出力する。
【００１８】
一方、ＥＣＣ回路１１のコード生成機能が無効の状態に設定されているときは、ＥＣＣ回路１１は、コードの生成や出力の処理は行わず、データ入力端子１１ａから入力したデータをそのままデータ出力端子１１ｂから出力する。なお、このときＥＣＣ回路１１の電源はオンの状態にある。
【００１９】
ラッチ回路ＬＴ１は、外部から与えられるクロック（図示せず）に従って、ＥＣＣ回路１１のデータ出力端子１１ｂから送られてくるデータの入力、保持、出力を行うものである。
【００２０】
ラッチ回路ＬＴ３は、外部から与えられるクロック（図示せず）に従って、ＥＣＣ回路１１のコード出力端子１１ｃから選択器Ｓ１を介して送られてくるコードの入力、保持、出力、もしくは、ＥＣＣ回路１１のデータ出力端子１１ｂから選択器Ｓ１を介して送られてくるデータの入力、保持、出力を行うものである。
【００２１】
選択器Ｓ１は、ＢＩＳＴ回路２から送られてくる所定の信号に従い、ＥＣＣ回路１１のコード出力端子１１ｃから送られてくるコードがラッチ回路ＬＴ３へ送られる経路と、ＥＣＣ回路１１のコード出力端子１１ｂからパスＫ１を通じて送られてくるデータがラッチ回路ＬＴ３へ送られる経路とのいずれか一方が有効となるように経路を選択する。
【００２２】
データ記憶部１２ａは、ラッチ回路ＬＴ１から送られてくるデータの書き込みが行われるメモリセルを有する。一方、ＥＣＣ記憶部１２ｂは、ラッチ回路ＬＴ３から送られてくるコード（もしくはデータ）の書き込みが行われるメモリセルを有する。
【００２３】
バイパスＢＰ１は、ＳＲＡＭコア１２の読み書きの機能を無効にした状態で、ラッチ回路ＬＴ１から送られてくるデータをラッチ回路ＬＴ２へバイパスさせる場合に有効となる。その場合、ラッチ回路ＬＴ１とラッチ回路ＬＴ２とは、合わせて１つのフリップフロップとして動作するように構成される。
【００２４】
同様に、バイパスＢＰ２は、ＳＲＡＭコア１２の読み書きの機能を無効にした状態で、ラッチ回路ＬＴ３から送られてくるコード（もしくはデータ）をラッチ回路ＬＴ４へバイパスさせる場合に有効となる。その場合、ラッチ回路ＬＴ３とラッチ回路ＬＴ４とは、合わせて１つのフリップフロップとして動作するように構成される。
【００２５】
なお、データがデータ記憶部１２ａを経由して流れる経路とデータ記憶部１２ａを迂回してバイパスＢＰ１を流れる経路との切り替え、および、コード（もしくはデータ）がＥＣＣ記憶部１２ｂを経由して流れる経路とＥＣＣ記憶部１２ｂを迂回してバイパスＢＰ２を流れる経路との切り替えは、スイッチ等を用いて実現してもよいが、例えば図２に示すように、ＳＲＡＭコア１２のセンスアンプ１４に供給されるセンスアンプイネーブル信号ＳＡＥをオン／オフさせることで実現してもよい。なお、図２では、ＳＲＡＭコア１２に備えられるロウデコーダやカラム選択回路などの図示を省略している。
【００２６】
ラッチ回路ＬＴ２は、外部から与えられるクロック（図示せず）に従って、データ記憶部１２ａから読み出されるデータの入力、保持、出力、もしくは、ラッチ回路ＬＴ１からバイパスＢＰ１を通じて送られてくるデータの入力、保持、出力を行うものである。
【００２７】
ラッチ回路ＬＴ４は、外部から与えられるクロック（図示せず）に従って、ＥＣＣ記憶部１２ｂから読み出されるコード（もしくはデータ）の入力、保持、出力、もしくは、ラッチ回路ＬＴ３からバイパスＢＰ２を通じて送られてくるコード（もしくはデータ）の入力、保持、出力を行うものである。
【００２８】
選択器Ｓ２は、ＢＩＳＴ回路２から送られてくる所定の信号に従い、ラッチ回路ＬＴ２から送られてくるデータがＥＣＣ回路１３のデータ入力端子１３ａへ送られる経路と、ラッチ回路ＬＴ４からパスＫ２を通じて送られてくるコード（もしくはデータ）がＥＣＣ回路１３のデータ入力端子１３ａへ送られる経路とのいずれか一方が有効となるように経路を選択する。
【００２９】
ＥＣＣ回路１３は、外部から与えられる所定の信号に従って、データ誤り検出・訂正機能が有効／無効のいずれかの状態に設定される。
【００３０】
例えば、ＥＣＣ回路１３のデータ誤り検出・訂正機能が有効の状態に設定されているときは、ＥＣＣ回路１３はデータの誤り検出・訂正を含む通常の処理を実施する。すなわち、ＥＣＣ回路１３は、選択器Ｓ２から送られてくるデータをデータ入力端子１３ａから入力すると共に、ラッチ回路ＬＴ４から送られてくるコードをコード入力端子１３ｂから入力し、入力したデータとコードとに基づき当該データの誤り検出もしくは訂正の処理を行い、処理後のデータをデータ出力端子１３ｃから出力する。
【００３１】
一方、ＥＣＣ回路１３のデータ誤り検出・訂正機能が無効の状態に設定されているときは、ＥＣＣ回路１１は、コードの入力およびコードを用いたデータの誤り検出等の処理は行わず、データ入力端子１３ａから入力したデータをそのままデータ出力端子１３ｃから出力する。なお、このときＥＣＣ回路１３の電源はオンの状態にある。
【００３２】
ＢＩＳＴ回路２は、メモリテストを実施するメモリモード（ＢＩＳＴモード）がオンの状態であるか否かを示すＢＩＳＴモード信号を選択器Ｓ１へ送る機能を有する。このＢＩＳＴモード信号を通じて、ＢＩＳＴモードをオフの状態に設定すると、選択器Ｓ１では、ＥＣＣ回路１１のコード出力端子１１ｃからのコード出力が選択される。一方、ＢＩＳＴモードをオンの状態に設定すると、選択器Ｓ１では、ＥＣＣ回路１１のデータ出力端子１１ｂからのデータ出力が選択される。
【００３３】
また、ＢＩＳＴ回路２は、ＢＩＳＴモードをオンにした状態でデータ記憶部１２ａからのデータとＥＣＣ記憶部１２ｂからのデータのいずれを出力すべきかを指示する出力選択信号を選択器Ｓ２へ送る機能を有する。この出力選択信号を通じて、選択器Ｓ２に対する出力選択をオフの状態に設定すると、選択器Ｓ２では、データ記憶部１２ａからのデータ出力が選択される。一方、選択器Ｓ２に対する出力選択をオンの状態に設定すると、選択器Ｓ２では、ＥＣＣ記憶部１２ｂからのデータ出力が選択される。
【００３４】
また、ＢＩＳＴ回路２は、選択器Ｓ２を操作して出力選択を行うと共に、ＳＲＡＭマクロ１内のデータ記憶部１２ａとＥＣＣ記憶部１２ｂのそれぞれに所定のテストパターンのテストデータを供給して出力されるデータをチェックすることにより、データ記憶部１２ａとＥＣＣ記憶部１２ｂのそれぞれに対するテストを実施する機能を有する。
【００３５】
なお、上述したＥＣＣ回路１１，１３には、例えばハミング符号を用いたチェック機構を適用してもよいが、これに限定されるものではない。ハミング符号を用いたチェック機構を適用する場合は、ハミング符号から更にパリティビットを生成し、ハミング符号のチェックとパリティビットのチェックとの組み合わせによりエラー訂正・検出を行えるように構成してもよい。
【００３６】
次に、図３および図４を参照して、スキャンテストを実施する際の動作の一例を説明する。
【００３７】
図３は、スキャンテストを実施する際の半導体集積回路１００の状態の一例を示す模式図である。また、図４は、スキャンテストを実施する際の半導体集積回路１００の動作の一例を示すフローチャートである。
【００３８】
スキャンテストを実施するスキャンモードにおいては、ＳＲＡＭマクロ１内においてデータがＳＲＡＭコア１２を迂回して流れるように経路の切り替えが行われる（図４のＳ１１）。
【００３９】
具体的には、ＳＲＡＭコア１２のデータ記憶部１２ａおよびＥＣＣ記憶部１２ｂの読み書きの機能が無効の状態にされ、ラッチ回路ＬＴ１とラッチ回路ＬＴ２とを繋ぐバイパスＢＰ１が有効にされると共に、ラッチ回路ＬＴ３とラッチ回路ＬＴ４とを繋ぐバイパスＢＰ２が有効にされる。すなわち、ラッチ回路ＬＴ１とラッチ回路ＬＴ２とは、合わせて１つのフリップフロップとして動作するように構成される。同様に、ラッチ回路ＬＴ３とラッチ回路ＬＴ４とは、合わせて１つのフリップフロップとして動作するように構成される。
【００４０】
このとき、ラッチ回路ＬＴ１，ＬＴ２，ＬＴ３，ＬＴ４は、例えば図５に示すように直列に接続されるように構成する。なお、図５では、ラッチ回路ＬＴ１，ＬＴ２，ＬＴ３，ＬＴ４以外のロジックの図示を省略している。このように構成することにより、スキャンインからスキャンアウトまでテストデータを順次供給可能なスキャンチェーンが形成される。
【００４１】
また、スキャンモードにおいては、選択器Ｓ１に対するＢＩＳＴモードはオフの状態に設定され、選択器Ｓ２に対する出力選択はオフの状態に設定され、ＥＣＣ回路１１，１３に対する処理機能はそれぞれオンの状態に設定される（Ｓ１２）。
【００４２】
これにより、選択器Ｓ１は、ＥＣＣ回路１１のコード出力端子１１ｃとラッチ回路ＬＴ３とを繋ぐ経路（通常動作時と同じ経路）を形成する。また、選択器Ｓ２は、ラッチ回路ＬＴ２とＥＣＣ回路１３のデータ入力端子１３ａとを繋ぐ経路（通常動作時と同じ経路）を形成する。また、ＥＣＣ回路１１は、通常動作時と同じように、コード生成機能が有効の状態になる。また、ＥＣＣ回路１３は、通常動作時と同じように、データ誤り検出・訂正機能が有効の状態になる。
【００４３】
そして、所定のテストパターンのテストデータを用いたスキャンテストが実行される（Ｓ１３）。
【００４４】
スキャンテストでは、テストデータがＳＲＡＭマクロ１の入力端子１ａからＳＲＡＭマクロ１内に供給されるようにする。これにより、ＥＣＣ回路１１はテストデータに対応するコードを生成する。当該テストデータは、ＥＣＣ回路１１のデータ出力端子１１ｂから出力され、データ記憶部１２ａを経由することなく、ラッチ回路ＬＴ１，ＬＴ２および選択器Ｓ２を経由して、ＥＣＣ回路１１へ送られる。また、ＥＣＣ回路１１により生成されたコードは、ＥＣＣ回路１１のコード出力端子１１ｃから出力され、ＥＣＣ記憶部１２ｂを経由することなく、選択器Ｓ１およびラッチ回路ＬＴ３，ＬＴ４を経由して、ＥＣＣ回路１１へ送られる。これにより、ＥＣＣ回路１３は、入力したテストデータとコードとに基づき当該データの誤り検出もしくは訂正の処理を行い、処理後のテストデータをデータ出力端子１３ｃから出力する。これにより、処理後のテストデータがＳＲＡＭマクロ１の出力端子１ｂから出力され、チェックされる。
【００４５】
また、スキャンテストでは、テストデータがＳＲＡＭマクロ１に備えられたスキャンイン用の入力端子（図示せず）から入力され、ラッチ回路ＬＴ１，ＬＴ２，ＬＴ３，ＬＴ４を含むロジックにより形成されたスキャンチェーンを通る。スキャンチェーンを通った後のテストデータは、ＳＲＡＭマクロ１に備えられたスキャンアウト用の出力端子（図示せず）から出力されてチェックされる。
【００４６】
次に、図６および図７を参照して、メモリテストを実施する際の動作の一例を説明する。
【００４７】
図６は、メモリテストを実施する際の半導体集積回路１００の状態の一例を示す模式図である。また、図７は、メモリテストを実施する際の半導体集積回路１００の動作の一例を示すフローチャートである。
【００４８】
メモリテストを実施するメモリモード（ＢＩＳＴモード）においては、選択器Ｓ１に対するＢＩＳＴモードはオンの状態に設定され、選択器Ｓ２に対する出力選択はオンまたはオフの状態に設定され、ＥＣＣ回路１１，１３に対する処理機能はそれぞれオフの状態に設定される（Ｓ２１）。
【００４９】
これにより、選択器Ｓ１は、ＥＣＣ回路１１のデータ出力端子１１ｂとラッチ回路ＬＴ３とを繋ぐ経路を形成する。また、選択器Ｓ２は、ラッチ回路ＬＴ２とＥＣＣ回路１３のデータ入力端子１３ａとを繋ぐ経路と、ラッチ回路ＬＴ４とＥＣＣ回路１３のデータ入力端子１３ａとを繋ぐ経路の一方を選択的に形成するようになる。また、ＥＣＣ回路１１は、コード生成機能が無効の状態になる。また、ＥＣＣ回路１３は、データ誤り検出・訂正機能が無効の状態になる。
【００５０】
そして、ＢＩＳＴ回路２により、所定のテストパターンのテストデータを用いたメモリテストが実行される（Ｓ２２）。
【００５１】
具体的には、ＢＩＳＴ回路２からテストデータを出力し、テストデータが選択器３を通じてＳＲＡＭマクロ１内に供給されるようにする。これにより、テストデータが順次、ラッチ回路ＬＴ１を経由して、データ記憶部１２ａに書き込まれる。また、当該テストデータは、パスＫ１、選択器Ｓ１、ラッチ回路ＬＴ３を経由して、ＥＣＣ記憶部１２ｂにも書き込まれる。
【００５２】
ＳＲＡＭコア１２のデータ記憶部１２ａのテストを行う際には、選択器Ｓ２を操作することにより、データ記憶部１２ａから読み出されるテストデータがラッチ回路ＬＴ２および選択器Ｓ２を経由して、ＥＣＣ回路１３のデータ入力端子１３ａへ送られる経路が構成されるようにする。これにより、データ記憶部１２ａから読み出されたテストデータがＢＩＳＴ回路２に送られてチェックされる。
【００５３】
一方、ＳＲＡＭコア１２のＥＣＣ記憶部１２ｂのテストを行う際には、選択器Ｓ２を操作することにより、ＥＣＣ記憶部１２ｂから読み出されるテストデータがラッチ回路ＬＴ４、パスＫ２、選択器Ｓ２を経由して、ＥＣＣ回路１３のデータ入力端子１３ａへ送られる経路が構成されるようにする。これにより、ＥＣＣ記憶部１２ｂから読み出されたテストデータがＢＩＳＴ回路２に送られてチェックされる。なお、一般にコードのデータ幅はデータのデータ幅よりも小さいことから、データの一部を用いてコードを出力することができる。
【００５４】
本実施形態によれば、ＳＲＡＭコアおよびＥＣＣ回路を内蔵するＳＲＡＭマクロにおいて、簡易な構成で、ＳＲＡＭコアのテストとＥＣＣ回路のテストの双方を別々に行える半導体集積回路を提供することができる。特にＳＲＡＭマクロ内の既存の回路を用いた構成としているので、回路の増加や性能への影響を抑えられる。  例えば、前述したラッチ回路ＬＴ１，ＬＴ３は、一般にＳＲＡＭマクロの入力部に設けられている既存の入力ラッチに相当するものであるが、本実施形態ではこれらの既存の回路をテスト用にも共用できる構成としているため、回路の増加やサイズの増大を最小限に抑えつつテスト回路を実現することを可能にしている。
【００５５】
また、メモリテストにおいては、ＳＲＡＭコアのデータ記憶部だけでなく、ＥＣＣ記憶部もテストすることができ、ＥＣＣ回路についてはスキャンテストにてテストすることができる。そのため、ＥＣＣ回路をテストするために、例えばＢＩＳＴ回路からテストパターンを追加で供給できるように構成する必要がなく、ＳＲＡＭマクロの入出力端子のピン数の増加や、周辺部の配線の混雑さを回避できる。
【００５６】
以上詳述したように、実施形態によれば、回路サイズの増大や性能への影響を抑えつつ、メモリおよびＥＣＣ回路を内蔵するメモリマクロ内のメモリのテストとＥＣＣ回路のテストの双方を行うことのできる半導体集積回路を提供することができる。
【００５７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００５８】
１…ＳＲＡＭマクロ、２…ＢＩＳＴ回路、３…選択器、１１…ＥＣＣ回路、１２…ＳＲＡＭコア、１２ａ…データ記憶部、１２ｂ…ＥＣＣ記憶部、１３…ＥＣＣ回路、１４…センスアンプ、１００…半導体集積回路、ＬＴ１，ＬＴ２，ＬＴ３，ＬＴ４…ラッチ回路、Ｓ１，Ｓ２…選択器。
【図１】
2019168316.tif 000003
【図２】
2019168316.tif 000004
【図３】
2019168316.tif 000005
【図４】
2019168316.tif 000006
【図５】
2019168316.tif 000007
【図６】
2019168316.tif 000008
【図７】
2019168316.tif 000009