(57)【要約】【課題】自己診断に要する時間を短縮可能な半導体装置および半導体装置のテスト方法を提供する。【解決手段】ロジックＢＩＳＴ回路ＬＢＴ＿Ａ，ＬＢＴ＿Ｂは、ＬＢＩＳＴモードに設定された際に、スキャンチェーンＳＣ１を対象とする第１のスキャンテストと、スキャンチェーンＳＣ２を対象とする第２のスキャンテストとを並行して実行し、同時テストモードに設定された際に、第２のスキャンテストを実行せずに第１のスキャンテストを実行する。メモリＢＩＳＴ回路ＭＢＴ１，ＭＢＴ２は、同時テストモードに設定された際に、第１のスキャンテストと並行してメモリ回路（ＲＡＭＵ１，ＲＡＭＵ２）のテストを実行する。ロジックＢＩＳＴ回路ＬＢＴ＿Ａ，ＬＢＴ＿Ｂは、第２のスキャンテストを完了した段階で、ＬＢＩＳＴモードに伴うテストを完了する。【選択図】図１
2018190751.tif 000002
【特許請求の範囲】
【請求項１】
一つの半導体チップで構成される半導体装置であって、
メモリ回路、および前記メモリ回路のテスト用インタフェースを備えるメモリ回路ユニットと、
所定の論理演算を行うロジック回路と、
前記メモリ回路をテストするメモリＢＩＳＴ（Built In Self Test）回路と、
前記ロジック回路と前記メモリＢＩＳＴ回路とをテストするロジックＢＩＳＴ回路と、
を有し、
前記ロジック回路の少なくとも一部は、第１のスキャンチェーンに組み込まれ、
前記メモリＢＩＳＴ回路は、第２のスキャンチェーンに組み込まれ、
前記ロジックＢＩＳＴ回路は、第１のテストモードに設定された際に、前記第１のスキャンチェーンを対象とする第１のスキャンテストと、前記第２のスキャンチェーンを対象とする第２のスキャンテストとを並行して実行し、第２のテストモードに設定された際に、前記第２のスキャンテストを実行せずに前記第１のスキャンテストを実行し、
前記メモリＢＩＳＴ回路は、前記第２のテストモードに設定された際に、前記第１のスキャンテストと並行して前記メモリ回路のテストを実行し、
前記第１のスキャンテストの実行時間は、前記第２のスキャンテストの実行時間よりも長く、
前記ロジックＢＩＳＴ回路は、前記第２のスキャンテストを完了した段階で、前記第１のテストモードに伴うテストを完了する、
半導体装置。
【請求項２】
請求項１記載の半導体装置において、
さらに、前記半導体装置の電源投入に応じて、前記第１のテストモードの設定と、前記第２のテストモードの設定を順に行うＰＯＳＴ（Power On Self Test）回路を有する、
半導体装置。
【請求項３】
請求項１記載の半導体装置において、
前記第１のスキャンチェーンに組み込まれる前記ロジック回路には、前記メモリ回路へアクセス命令を発行するメモリ前段ロジック回路と、前記メモリ回路からのリードデータが入力されるメモリ後段ロジック回路とが含まれる、
半導体装置。
【請求項４】
請求項３記載の半導体装置において、
前記メモリ回路ユニットは、
前記メモリ回路の入出力をバイパスする機能を担い、前記メモリ回路への入力信号かスキャンイン信号かを選択的にラッチするバイパス用スキャンフリップフロップ回路と、
前記第１のテストモードに設定された際に、前記バイパス用スキャンフリップフロップ回路の出力信号を前記メモリＢＩＳＴ回路と前記メモリ後段ロジック回路へ伝送し、前記第２のテストモードに設定された際に、前記バイパス用スキャンフリップフロップ回路の出力信号を前記メモリ後段ロジック回路へ伝送し、前記メモリ回路の出力信号を前記メモリＢＩＳＴ回路へ伝送する経路切り替え回路と、
を有し、
前記バイパス用スキャンフリップフロップ回路の前記スキャンイン信号は、前記第１のスキャンチェーンに組み込まれる前記ロジック回路内のいずれかのスキャンフリップフロップ回路の出力信号であり、
前記バイパス用スキャンフリップフロップ回路は、前記第２のテストモードに設定された際に、前記スキャンイン信号を固定的にラッチする、
半導体装置。
【請求項５】
請求項４記載の半導体装置において、
さらに、前記メモリ前段ロジック回路からの信号か前記メモリＢＩＳＴ回路からの信号かを選択し、当該選択した信号を前記メモリ回路と前記バイパス用スキャンフリップフロップ回路へ出力する選択回路を有する、
半導体装置。
【請求項６】
請求項１記載の半導体装置において、さらに、
ＪＴＡＧ規格に基づき装置外部との通信を行うＪＴＡＧインタフェース回路と、
装置外部からの前記ＪＴＡＧインタフェース回路を介した命令に応じて、前記第２のテストモードの設定を行うモードデコーダと、
を有する、
半導体装置。
【請求項７】
一つの半導体チップで構成される半導体装置であって、
メモリ回路、および前記メモリ回路のテスト用インタフェースを備えるメモリ回路ユニットと、
前記メモリ回路へアクセス命令を発行するメモリ前段ロジック回路と、前記メモリ回路からのリードデータが入力されるメモリ後段ロジック回路とを含み、所定の論理演算を行うロジック回路と、
前記メモリ回路をテストするメモリＢＩＳＴ（Built In Self Test）回路と、
前記ロジック回路と前記メモリＢＩＳＴ回路とをテストするロジックＢＩＳＴ回路と、
を有し、
前記メモリ回路ユニットは、
前記メモリ回路の入出力をバイパスする機能を担い、前記メモリ回路への入力信号かスキャンイン信号かを選択的にラッチする第１のバイパス用スキャンフリップフロップ回路と、
第１のテストモードに設定された際に、前記第１のバイパス用スキャンフリップフロップ回路の出力信号を前記メモリＢＩＳＴ回路と前記メモリ後段ロジック回路へ伝送し、第２のテストモードに設定された際に、前記第１のバイパス用スキャンフリップフロップ回路の出力信号を前記メモリ後段ロジック回路へ伝送し、前記メモリ回路の出力信号を前記メモリＢＩＳＴ回路へ伝送する経路切り替え回路と、
を有する、
半導体装置。
【請求項８】
請求項７記載の半導体装置において、
前記経路切り替え回路は、
前記メモリ回路の出力信号か前記第１のバイパス用スキャンフリップフロップ回路の出力信号かを選択する第１の選択回路と、
前記第１の選択回路の出力信号か前記第１のバイパス用スキャンフリップフロップ回路の出力信号かを選択する第２の選択回路と、
を有する、
半導体装置。
【請求項９】
請求項８記載の半導体装置において、
前記メモリ回路と、前記第１のバイパス用スキャンフリップフロップ回路と、前記第１の選択回路は、ハードマクロで構成される、
半導体装置。
【請求項１０】
請求項７記載の半導体装置において、
前記メモリ回路への入力信号か前記第１のバイパス用スキャンフリップフロップ回路のスキャンイン信号と同じスキャンイン信号かを選択的にラッチする第２のバイパス用スキャンフリップフロップ回路と、
前記メモリ回路の出力信号か前記第１のバイパス用スキャンフリップフロップ回路の出力信号かを選択する第１の選択回路と、
前記第１の選択回路の出力信号か前記第２のバイパス用スキャンフリップフロップ回路の出力信号かを選択する第２の選択回路と、
を有する、
半導体装置。
【請求項１１】
請求項７記載の半導体装置において、
前記第１のバイパス用スキャンフリップフロップ回路は、前記第２のテストモードに設定された際に、前記スキャンイン信号を固定的にラッチする、
半導体装置。
【請求項１２】
一つの半導体チップで構成される半導体装置のテスト方法であって、
前記半導体装置は、
メモリ回路、および前記メモリ回路のテスト用インタフェースを備えるメモリ回路ユニットと、
所定の論理演算を行うロジック回路と、
前記メモリ回路をテストするメモリＢＩＳＴ（Built In Self Test）回路と、
前記ロジック回路と前記メモリＢＩＳＴ回路とをテストするロジックＢＩＳＴ回路と、
を備え、
前記ロジック回路の少なくとも一部は、第１のスキャンチェーンに組み込まれ、
前記メモリＢＩＳＴ回路は、第２のスキャンチェーンに組み込まれ、
前記テスト方法は、
前記ロジックＢＩＳＴ回路が、前記第１のスキャンチェーンを対象とする第１のスキャンテストと、前記第２のスキャンチェーンを対象とする第２のスキャンテストとを並行して実行する第１のステップと、
前記ロジックＢＩＳＴ回路が、前記第２のスキャンテストを実行せずに前記第１のスキャンテストを実行し、当該第１のスキャンテストと並行して、前記メモリＢＩＳＴ回路が前記メモリ回路のテストを実行する第２のステップと、
を有し、
前記第１のスキャンテストの実行時間は、前記第２のスキャンテストの実行時間よりも長く、
前記第１のステップは、前記第２のスキャンテストを完了した段階で完了する、
半導体装置のテスト方法。
【請求項１３】
請求項１２記載の半導体装置のテスト方法において、
前記第１のステップと前記第２のステップは、前記半導体装置の電源投入に応じて行われる、
半導体装置のテスト方法。
【請求項１４】
請求項１２記載の半導体装置のテスト方法において、
前記第１のステップと前記第２のステップは、前記半導体装置の量産テスト時に装置外部からの命令に応じて実行される、
半導体装置のテスト方法。
【請求項１５】
請求項１２記載の半導体装置のテスト方法において、
前記第１のスキャンチェーンに組み込まれる前記ロジック回路には、前記メモリ回路へアクセス命令を発行するメモリ前段ロジック回路と、前記メモリ回路からのリードデータが入力されるメモリ後段ロジック回路とが含まれる、
半導体装置のテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置および半導体装置のテスト方法に関し、例えば、自己診断回路（ＢＩＳＴ（Built In Self Test）回路）を搭載した半導体装置の技術に関する。
【背景技術】
【０００２】
特許文献１には、半導体集積回路におけるＪＴＡＧインタフェースによって制御可能なＢＩＳＴ回路を使って、半導体集積回路がユーザシステムに搭載された状態でのＢＩＳＴの実現方法が示される。具体的には、パワーオンセルフテスト回路、パターン発生回路、ロジックＢＩＳＴ回路、メモリＢＩＳＴ回路等を備える。パワーオンセルフテスト回路は、自己診断実行信号がアサートされた場合、テストアクセスポートの外部端子群に代えてパターン発生回路の出力を選択し、パターン発生回路で生成されたテストパターンを各ＢＩＳＴ回路へ供給する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２５３８４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、自動車向けの機能安全規格であるＩＳＯ２６２６２の登場により、自己の故障を検知するＢＩＳＴ回路を搭載した半導体装置が増加している。ロジック回路およびメモリ回路を備えるマイクロコントローラ等の半導体装置では、特許文献１等に示されるように、ロジック回路をテストするロジックＢＩＳＴ回路と、メモリ回路をテストするメモリＢＩＳＴ回路とが搭載される。本明細書では、ロジックＢＩＳＴ回路をＬＢＩＳＴ回路と称し、ＬＢＩＳＴ回路によるロジック回路のテスト（具体的にはスキャンテスト）をＬＢＩＳＴと称する。また、メモリＢＩＳＴ回路をＭＢＩＳＴ回路と称し、ＭＢＩＳＴ回路によるメモリ回路のテストをＭＢＩＳＴと称す。
【０００５】
ＬＢＩＳＴおよびＭＢＩＳＴは、特許文献１等に示されるようなパワーオンセルフテスト回路を用いて、半導体装置の起動時（言い換えれば電源投入時）に実行される。このため、半導体装置の起動時間、ひいては、当該半導体装置を搭載した自動車等のシステムの起動時間を短縮するためには、自己診断に要する時間を短縮することが望まれる。一方、ＬＢＩＳＴとＭＢＩＳＴは、通常、シリアルな手順で実行される。このようなシリアルな手順でテストを実行すると、自己診断に要する時間を十分に短縮できない恐れがある。
【０００６】
後述する実施の形態は、このようなことに鑑みてなされたものであり、その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００７】
一実施の形態による半導体装置は、メモリ回路、およびそのテスト用インタフェースを備えるメモリ回路ユニットと、ロジック回路と、メモリ回路をテストするメモリＢＩＳＴ回路と、ロジック回路とメモリＢＩＳＴ回路とをテストするロジックＢＩＳＴ回路とを有する。ロジック回路の少なくとも一部は、第１のスキャンチェーンに組み込まれ、メモリＢＩＳＴ回路は、第２のスキャンチェーンに組み込まれる。ロジックＢＩＳＴ回路は、第１のテストモードに設定された際に、第１のスキャンチェーンを対象とする第１のスキャンテストと、第２のスキャンチェーンを対象とする第２のスキャンテストとを並行して実行し、第２のテストモードに設定された際に、第２のスキャンテストを実行せずに第１のスキャンテストを実行する。メモリＢＩＳＴ回路は、第２のテストモードに設定された際に、第１のスキャンテストと並行してメモリ回路のテストを実行する。第１のスキャンテストの実行時間は、第２のスキャンテストの実行時間よりも長く、ロジックＢＩＳＴ回路は、第２のスキャンテストを完了した段階で、第１のテストモードに伴うテストを完了する。
【発明の効果】
【０００８】
前記一実施の形態によれば、自己診断に要する時間を短縮可能になる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態１による半導体装置の主要部の構成例を示す概略図である。
【図２】図１におけるＰＯＳＴ回路の概略動作例を示すフロー図である。
【図３】図１の半導体装置において、図２のＬＢＩＳＴモード時の概略動作例を示す説明図である。
【図４】図１の半導体装置において、図２の同時テストモード時の概略動作例を示す説明図である。
【図５】図１におけるメモリ回路ユニット周りの概略構成例を示す回路図である。
【図６Ａ】図５のメモリ回路ユニット周りのＬＢＩＳＴモード時の動作例を示す図である。
【図６Ｂ】図５のメモリ回路ユニット周りの同時テストモード時の動作例を示す図である。
【図７】本発明の実施の形態１による半導体装置を用いた場合の効果の一例を示す模式図である。
【図８Ａ】本発明の実施の形態２による半導体装置において、図１の半導体装置内のメモリ回路ユニットの概略構成例を示す回路図である。
【図８Ｂ】図８ＡにおけるＬＢＩＳＴモード時および同時テストモード時の動作例を示す図である。
【図９】図８Ａにおける各種制御信号の状態例を示す図である。
【図１０Ａ】本発明の実施の形態２による半導体装置において、図１の半導体装置内のメモリ回路ユニットの他の概略構成例を示す回路図である。
【図１０Ｂ】図１０ＡにおけるＬＢＩＳＴモード時および同時テストモード時の動作例を示す図である。
【図１１Ａ】本発明の実施の形態２による半導体装置において、図１の半導体装置内のメモリ回路ユニットの更に他の概略構成例を示す回路図である。
【図１１Ｂ】図１１ＡにおけるＬＢＩＳＴモード時および同時テストモード時の動作例を示す図である。
【図１２】本発明の実施の形態３による半導体装置の主要部の構成例を示す概略図である。
【図１３】（ａ）は、ＬＢＩＳＴ回路の概要を示す図であり、（ｂ）は、ＭＢＩＳＴ回路の概要を示す図である。
【図１４】本発明の比較例となる半導体装置の主要部の構成例を示す概略図である。
【図１５】図１４におけるメモリ回路ユニット周りの概略構成例を示す回路図である。
【図１６】図１５のメモリ回路ユニット周りの動作例を示す図である。
【発明を実施するための形態】
【００１０】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。
【００１１】
さらに、以下の実施の形態において、その構成要素（要素ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
【００１２】
また、実施の形態の各機能ブロックを構成する回路素子は、特に制限されないが、公知のＣＭＯＳ（相補型ＭＯＳトランジスタ）等の集積回路技術によって、単結晶シリコンのような半導体基板上に形成される。
【００１３】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１４】
（実施の形態１）
《ＬＢＩＳＴ回路およびＭＢＩＳＴ回路の概要》
図１３（ａ）は、ＬＢＩＳＴ回路の概要を示す図であり、図１３（ｂ）は、ＭＢＩＳＴ回路の概要を示す図である。図１３（ａ）には、テスト装置ＡＴＥと、ＪＴＡＧ（Joint Test Action Group）インタフェース回路ＪＴＡＧＩＦと、ＬＢＩＳＴ回路ＬＢＴと、ロジック回路ＬＧＣと、スキャンフリップフロップ回路ＳＦＦａ，ＳＦＦｂとが示される。テスト装置ＡＴＥは、例えば、量産時に半導体装置に結合される量産用テスタや、配線基板上に実装された半導体装置に対して結合可能な各種情報処理装置等である。
【００１５】
ＪＴＡＧインタフェース回路ＪＴＡＧＩＦは、テスト装置ＡＴＥとＬＢＩＳＴ回路ＬＢＴとの間のＪＴＡＧ規格に基づく通信インタフェースを担う。ここでは、ＪＴＡＧインタフェース回路ＪＴＡＧＩＦは、テスト装置ＡＴＥからのテスト実行命令を表す各種制御信号ＳＣＴＬをＬＢＩＳＴ回路ＬＢＴへ伝送し、また、ＬＢＩＳＴ回路ＬＢＴからのテスト結果ＴＲをテスト装置ＡＴＥへ伝送する。
【００１６】
スキャンフリップフロップ回路ＳＦＦａとスキャンフリップフロップ回路ＳＦＦｂは、ロジック回路ＬＧＣを介して結合され、さらに、スキャンチェーンによってロジック回路ＬＧＣを介さずに結合される。すなわち、スキャンフリップフロップ回路ＳＦＦａ，ＳＦＦｂは、スキャンイネーブル信号に応じて入力信号Ｄかスキャンイン信号ＳＩかを選択的にラッチすることができ、ロジック回路ＬＧＣを介する信号伝送経路か、スキャンイン信号ＳＩを介したシフトレジスタ状の信号伝送経路（スキャンチェーン経路）かを選択することができる。
【００１７】
ＬＢＩＳＴ回路ＬＢＴは、テストパターン生成回路ＴＰＧｌと、結果判定回路ＪＤＧｌとを備える。テストパターン生成回路ＴＰＧｌは、各種制御信号ＳＣＴＬに応じて、例えば、ＬＦＳＲ（Linear Feedback Shift Register）等を用いてテストパターンＴＰを生成し、それをスキャンチェーンの初段のスキャンフリップフロップ回路（ここではＳＦＦａ）のスキャンイン信号ＳＩとして出力する。結果判定回路ＪＤＧｌは、例えば、ＭＩＳＲ（Multiple Input Signature Register）等を用いてスキャンチェーンの最終段のスキャンフリップフロップ回路（ここではＳＦＦｂ）からのスキャンアウト信号ＳＯを時間方向で圧縮する。そして、結果判定回路ＪＤＧＩは、その圧縮結果を予め判明している期待値と比較することで良否判定を行い、テスト結果ＴＲを生成する。
【００１８】
また、ＬＢＩＳＴ回路ＬＢＴは、スキャンイン動作、キャプチャ動作、スキャンアウト動作からなるスキャンテストの制御を行う。スキャンイン動作では、ＬＢＩＳＴ回路ＬＢＴは、スキャンフリップフロップ回路ＳＦＦａ，ＳＦＦｂに対し、スキャンイネーブル信号を用いてスキャンイン信号ＳＩ側を選択させ、クロック信号を順次供給しながらスキャンチェーン経路でテストパターンＴＰをシリアルに設定する。キャプチャ動作では、ＬＢＩＳＴ回路ＬＢＴは、スキャンフリップフロップ回路ＳＦＦａ，ＳＦＦｂに対し、スキャンイネーブル信号を用いて入力信号Ｄ側を選択させ、クロック信号を印加することでロジック回路ＬＧＣを介した信号伝送を行わせる。
【００１９】
スキャンアウト動作では、ＬＢＩＳＴ回路ＬＢＴは、スキャンフリップフロップ回路ＳＦＦａ，ＳＦＦｂに対し、スキャンイネーブル信号を用いてスキャンイン信号ＳＩ側を選択させ、クロック信号を順次供給しながらキャプチャ動作後のデータをスキャンアウト信号ＳＯとしてシリアルに出力させる。このスキャンアウト動作の際には、並行してスキャンイン動作も行われる。
【００２０】
図１３（ｂ）には、テスト装置ＡＴＥと、ＪＴＡＧインタフェース回路ＪＴＡＧＩＦと、ＭＢＩＳＴ回路ＭＢＴと、ラッパ回路ＷＲＰで囲まれたメモリ回路ＲＡＭとが示される。テスト装置ＡＴＥおよびＪＴＡＧインタフェース回路ＪＴＡＧＩＦは、対象がＬＢＩＳＴ回路ＬＢＴからＭＢＩＳＴ回路ＭＢＴに置き換わったことを除いて図１３（ａ）の場合と同様である。ラッパ回路ＷＲＰは、選択回路ＳＥＬ０を含み、メモリ回路ＲＡＭに対するテスト用インタフェースを担う。なお、一般的に、ＭＢＩＳＴ回路ＭＢＴを含めてラッパ回路と呼ばれる場合もある。また、メモリ回路ＲＡＭは、例えば、ハードマクロ等で構成される。
【００２１】
ＭＢＩＳＴ回路ＭＢＴは、テストパターン生成回路ＴＰＧｍと、結果判定回路ＪＤＧｍとを備える。テストパターン生成回路ＴＰＧｍは、各種制御信号ＳＣＴＬに応じて、例えば、シーケンサ等を用いて、コマンド信号ＣＭＤ、アドレス信号ＡＤＤおよびライトデータＷＤを生成し、加えて期待値データＥＸＤを生成する。結果判定回路ＪＤＧｍは、メモリ回路ＲＡＭからのリードデータＲＤと、テストパターン生成回路ＴＰＧｍからの期待値データＥＸＤとを比較することで良否判定を行い、テスト結果ＴＲを生成する。
【００２２】
選択回路ＳＥＬ０は、ロジック回路ＬＧＣ（すなわちメモリ前段ロジック回路）からの各種信号か、テストパターン生成回路ＴＰＧｍからの各種信号かを選択し、メモリ回路ＲＡＭへ出力する。選択回路ＳＥＬ０は、ＭＢＩＳＴ回路ＭＢＴによるメモリ回路ＲＡＭのテストが行われる際には、所定の回路からの指示に応じて、テストパターン生成回路ＴＰＧｍからの各種信号を選択する。
【００２３】
《半導体装置（比較例）の構成》
ここで、実施の形態の半導体装置の説明に先立ち、比較例となる半導体装置について説明する。図１４は、本発明の比較例となる半導体装置の主要部の構成例を示す概略図である。図１５は、図１４におけるメモリ回路ユニット周りの概略構成例を示す回路図である。図１４に示す半導体装置ＤＥＶ’は、例えば、１個の半導体チップで構成されるマイクロコントローラ等であり、例えば、自動車の電子制御装置（ＥＣＵ：Electronic Control Unit）等に搭載される。
【００２４】
当該半導体装置ＤＥＶ’は、システム制御回路ＳＹＳＣＴと、ＰＯＳＴ（Power On Self Test）回路ＰＳＴＣ’と、ＬＢＩＳＴ回路ＬＢＴ’＿Ａ，ＬＢＴ’＿Ｂと、ＭＢＩＳＴ制御回路ＭＢＴＣＴ’と、ＬＢＩＳＴ用結果格納レジスタＬＢＴ＿ＲＲＥＧと、ＭＢＩＳＴ用結果格納レジスタＭＢＴ＿ＲＲＥＧとを備える。また、半導体装置ＤＥＶ’は、テスト対象の回路として、ロジック回路ＬＧＣ０〜ＬＧＣ３と、ＭＢＩＳＴ回路ＭＢＴ１，ＭＢＴ２と、メモリ回路ユニットＲＡＭＵ’１，ＲＡＭＵ’２とを備える。
【００２５】
システム制御回路ＳＹＳＣＴは、半導体装置ＤＥＶ’全体の状態管理等を行い、その機能の一つとして、半導体装置ＤＥＶ’の電源投入を検出し、パワーオンリセット信号ＲＳＴをアサートする。ＰＯＳＴ回路ＰＳＴＣ’は、パワーオンリセット信号ＲＳＴのアサートに応じて、ＬＢＩＳＴモード信号ＭＤ＿ＬＢＴ’およびＭＢＩＳＴモード信号ＭＤ＿ＭＢＴを適宜アサートし、当該モード信号によってＬＢＩＳＴ回路ＬＢＴ’＿ＡおよびＭＢＩＳＴ制御回路ＭＢＴＣＴ’にＬＢＩＳＴおよびＭＢＩＳＴの開始命令を発行する。また、この際に、ＰＯＳＴ回路ＰＳＴＣ’は、ＬＢＩＳＴやＭＢＩＳＴに必要な各種設定情報等を制御信号ＳＣＴＬによって通知する。
【００２６】
ＬＢＩＳＴ回路ＬＢＴ’＿Ａ，ＬＢＴ’＿Ｂは、図１３（ａ）のＬＢＩＳＴ回路ＬＢＴに相当する。ＬＢＩＳＴ回路ＬＢＴ’＿Ａは、例えば、図１３（ａ）のテストパターン生成回路ＴＰＧｌ等を備える。ＬＢＩＳＴ回路ＬＢＴ’＿Ａは、ＬＢＩＳＴモード信号ＭＤ＿ＬＢＴ’のアサートに応じてＬＢＩＳＴモードに設定される。ＬＢＩＳＴ回路ＬＢＴ’＿Ａは、ＬＢＩＳＴモードに設定された際に、ＬＢＩＳＴイネーブル信号ＬＢＴ＿ＥＮをアサートし、スキャンイネーブル信号ＳＣ＿ＥＮを制御しながら各スキャンチェーンを対象とするスキャンテスト（すなわちＬＢＩＳＴ）を実行する。ＬＢＩＳＴ回路ＬＢＴ’＿Ｂは、例えば、図１３（ａ）の結果判定回路ＪＤＧｌ等を備え、テスト結果の圧縮や良否判定等を行い、当該良否判定結果をＬＢＩＳＴ用結果格納レジスタＬＢＴ＿ＲＲＥＧに格納する。
【００２７】
ＭＢＩＳＴ回路ＭＢＴ１，ＭＢＴ２のそれぞれは、ＭＢＩＳＴ制御回路ＭＢＴＣＴ’を含めて図１３（ｂ）のＭＢＩＳＴ回路ＭＢＴに相当する。ＭＢＩＳＴ制御回路ＭＢＴＣＴ’は、ＭＢＩＳＴモード信号ＭＤ＿ＭＢＴのアサートに応じてＭＢＩＳＴモードに設定され、当該ＭＢＩＳＴモードに設定された際に、ＭＢＩＳＴイネーブル信号ＭＢＴ＿ＥＮをアサートする。また、ＭＢＩＳＴ制御回路ＭＢＴＣＴ’は、ＭＢＩＳＴ回路ＭＢＴ１，ＭＢＴ２に対し、ＭＢＩＳＴ前の各種初期設定等を行う。
【００２８】
ＭＢＩＳＴ回路ＭＢＴ１，ＭＢＴ２のそれぞれは、例えば、図１３（ｂ）のテストパターン生成回路ＴＰＧｍおよび結果判定回路ＪＤＧｍ等を備える。ＭＢＩＳＴ回路ＭＢＴ１は、ＭＢＩＳＴイネーブル信号ＭＢＴ＿ＥＮのアサートに応じて、メモリ回路ユニットＲＡＭＵ’１内のメモリ回路（図１５のＲＡＭ）をテストし、当該テスト結果（良否判定結果）をＭＢＩＳＴ用結果格納レジスタＭＢＴ＿ＲＲＥＧに格納する。同様に、ＭＢＩＳＴ回路ＭＢＴ２も、ＭＢＩＳＴイネーブル信号ＭＢＴ＿ＥＮのアサートに応じて、メモリ回路ユニットＲＡＭＵ’２内のメモリ回路（ＲＡＭ）をテストし、当該テスト結果をＭＢＩＳＴ用結果格納レジスタＭＢＴ＿ＲＲＥＧに格納する。
【００２９】
ロジック回路ＬＧＣ０〜ＬＧＣ３のそれぞれは、所定の論理演算を行う。ここでは、ロジック回路ＬＧＣ０は、ＣＰＵ（Central Processing Unit）である。また、図１４の例では、ロジック回路ＬＧＣ０〜ＬＧＣ２は、スキャンチェーンＳＣ１’に組み込まれ、ＭＢＩＳＴ回路ＭＢＴ１，ＭＢＴ２とロジック回路ＬＧＣ３は、スキャンチェーンＳＣ２’に組み込まれる。ここでは、便宜上、２本のスキャンチェーンＳＣ１’，ＳＣ２’が設けられるが、実際には、更に多くのスキャンチェーンが設けられる場合が多い。すなわち、ロジック回路全体（ロジック回路ＬＧＣ０〜ＬＧＣ３や図示しない他のロジック回路）に対して多くのスキャンチェーンが設けられ、当該ロジック回路全体の少なくとも一部がスキャンチェーンＳＣ１’に組み込まれることになる。
【００３０】
ＬＢＩＳＴ回路ＬＢＴ’＿Ａ，ＬＢＴ’＿Ｂは、ＬＢＩＳＴモードに設定された際に、スキャンチェーンＳＣ１’を対象とするスキャンテストと、スキャンチェーンＳＣ２’を対象とするスキャンテストとを並行して実行する。この際には、ＭＢＩＳＴ回路ＭＢＴ１，ＭＢＴ２自体もロジック回路であるため、スキャンテスト（すなわちＬＢＩＳＴ）の対象となる。
【００３１】
メモリ回路ユニットＲＡＭＵ’は、図１５に示されるように、メモリ回路ＲＡＭに加えて、テスト用インタフェースとなるバイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰおよび選択回路ＳＥＬ１を備える。メモリ回路ＲＡＭは、例えば、ＳＲＡＭ（Static Random Access Memory）やＤＲＡＭ（Dynamic Random Access Memory）等の揮発性メモリである。メモリ回路ＲＡＭは、詳細は省略するが、アレイ状に配置された複数のメモリセルからなるメモリアレイと、アクセス先のメモリセルの選択等を行う各種周辺回路等を備える。マイクロコントローラ等に内蔵されるメモリ回路ＲＡＭは、ハードマクロＲＡＭ＿ＨＭで構成される場合が多い。
【００３２】
選択回路ＳＥＬ１は、ＬＢＩＳＴイネーブル信号ＬＢＴ＿ＥＮに応じてメモリ回路ＲＡＭの出力信号かバイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰの出力信号かを選択し、選択した信号を出力信号ＤＯとして出力する。バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰは、メモリ回路ＲＡＭの入出力をバイパスする機能を担い、メモリ回路ＲＡＭへの入力信号ＤＩかスキャンイン信号ＳＩかを選択的にラッチする。具体的には、バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰは、スキャンイネーブル信号ＳＣ＿ＥＮに応じて入力信号ＤＩかスキャンイン信号ＳＩかを選択するスキャン用選択回路ＳＥＬｓ１と、その出力信号をラッチするフリップフロップ回路ＦＦ＿ＢＰとを備える。なお、他のスキャンフリップフロップ回路（図１５のＳＦＦ１等）も同様の構成となっている。
【００３３】
メモリ回路ユニットＲＡＭＵ’の周辺には、選択回路ＳＥＬ０と、ロジック回路ＬＧＣ３ａ，ＬＧＣ３ｂと、ＭＢＩＳＴ回路ＭＢＴ等が設けられる。ロジック回路ＬＧＣ３ａ，ＬＧＣ３ｂは、図１４のロジック回路ＬＧＣ３に含まれる。ロジック回路ＬＧＣ３ａは、複数のスキャンフリップフロップ回路ＳＦＦ１，ＳＦＦ２を含み、メモリ回路ＲＡＭへアクセス命令を発行するメモリ前段ロジック回路に該当する。ロジック回路ＬＧＣ３ｂは、複数のスキャンフリップフロップ回路ＳＦＦ３，ＳＦＦ４を含み、メモリ回路ＲＡＭからのリードデータが入力されるメモリ後段ロジック回路に該当する。また、ＭＢＩＳＴ回路ＭＢＴも、複数のスキャンフリップフロップ回路ＳＦＦ５，ＳＦＦ６を含む。
【００３４】
選択回路ＳＥＬ０は、テスト用インタフェースの一つであり、ロジック回路（メモリ前段ロジック回路）ＬＧＣ３ａからの信号かＭＢＩＳＴ回路ＭＢＴからの信号かを選択し、当該選択した信号をメモリ回路ＲＡＭとバイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰへ出力する。選択回路ＳＥＬ０の選択は、ＭＢＩＳＴイネーブル信号ＭＢＴ＿ＥＮをラッチするスキャンフリップフロップ回路ＳＦＦ７によって行われる。また、メモリ回路ユニットＲＡＭＵ’からの出力信号ＤＯは、ＭＢＩＳＴ回路ＭＢＴとロジック回路（メモリ後段ロジック回路）ＬＧＣ３ｂへ伝送される。
【００３５】
《半導体装置（比較例）の動作および問題点》
図１４に示す半導体装置ＤＥＶ’では、まず、ＰＯＳＴ回路ＰＳＴＣ’は、ＬＢＩＳＴモード信号ＭＤ＿ＬＢＴ’をアサートする。これに応じて、ＬＢＩＳＴ回路ＬＢＴ’＿Ａ，ＬＢＴ’＿Ｂは、スキャンチェーンＳＣ１’，ＳＣ２’を対象とするスキャンテストを並行して実行する。その後、ＰＯＳＴ回路ＰＳＴＣ’は、ＬＢＩＳＴ回路ＬＢＴ’＿Ａ，ＬＢＴ’＿ＢによるＬＢＩＳＴが完了した段階で、ＭＢＩＳＴモード信号ＭＤ＿ＭＢＴをアサートする。これに応じて、ＭＢＴ回路ＭＢＴ１，ＭＢＴ２は、それぞれ、メモリ回路ユニットＲＡＭＵ’１，ＲＡＭＵ’２内の各メモリ回路ＲＡＭをテストする。このように、ＬＢＩＳＴとＭＢＩＳＴは、シリアルな手順で実行される。
【００３６】
図１６は、図１５のメモリ回路ユニット周りの動作例を示す図である。図１６に示されるように、各スキャンフリップフロップ回路ＳＦＦ１〜ＳＦＦ６と、バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰは、スキャンチェーンＳＣ２’として任意の順番で接続される。スキャンチェーンＳＣ２’を対象としたスキャンテストでは、選択回路ＳＥＬ１は、ＬＢＩＳＴイネーブル信号ＬＢＴ＿ＥＮのアサートに伴い‘１’側に固定され、キャプチャ動作時に、図１６の信号伝送経路ＴＰＨ＿Ｌ２’がテストされる。すなわち、ロジック回路ＬＧＣ３ａからバイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰを介してロジック回路ＬＧＣ３ｂへ到る経路と、ＭＢＩＳＴ回路ＭＢＴからバイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰを介してＭＢＩＳＴ回路ＭＢＴへ到る経路とがテストされる。
【００３７】
この際には、例えば、スキャンフリップフロップ回路ＳＦＦ７もスキャンチェーンＳＣ２’に組み込むことで、バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰへ向けた、ＭＢＩＳＴ回路ＭＢＴからの入力経路と、ロジック回路ＬＧＣ３ａからの入力経路を適宜切り替えながら、両方の入力経路をテストすることができる。バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰは、このような両方の入力経路のテストを行うためと、スキャンフリップフロップ回路ＳＦＦ３，ＳＦＦ６の値を不定値にしないために設けられる。仮に、バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰを設けない場合、キャプチャ動作時の出力信号ＤＯは、メモリ回路ＲＡＭの出力信号（すなわち不定値）となり、不定値があると、スキャンテスト（ＬＢＩＳＴ）を行うことが困難となり得る。
【００３８】
このようにして信号伝送経路ＴＰＨ＿Ｌ２’のテストが完了すると、選択回路ＳＥＬ０は、ＭＢＩＳＴイネーブル信号ＭＢＴ＿ＥＮのアサートに伴いＭＢＩＳＴ回路ＭＢＴ側を選択し、選択回路ＳＥＬ１は、ＬＢＩＳＴイネーブル信号ＬＢＴ＿ＥＮのネゲートに伴いメモリ回路ＲＡＭ側を選択する。この状態で、ＭＢＩＳＴ回路ＭＢＴは、図１６の信号伝送経路ＴＰＨ＿Ｍを介してメモリ回路ＲＡＭをテストする。
【００３９】
以上のように、図１５および図１６では、スキャンチェーンＳＣ２’に、ＭＢＩＳＴ回路ＭＢＴ、ロジック回路（メモリ前段ロジック回路）ＬＧＣ３ａ、およびロジック回路（メモリ後段ロジック回路）ＬＧＣ３ｂ等が組み込まれている。このため、第１の問題点として、自己診断に要する時間が長くなることが挙げられる。具体的には、ＬＢＩＳＴ回路ＬＢＴ’＿Ａ，ＬＢＴ’＿ＢによるスキャンチェーンＳＣ２’を対象としたスキャンテストの実行時間が長くなることから、自己診断に要する時間も長くなる。さらに、ＭＢＩＳＴ回路ＭＢＴは、当該スキャンテストの対象となっているため、当該スキャンテストが終わった後でなければ、メモリ回路ＲＡＭのテストを実行することができない。このため、ＬＢＩＳＴとＭＢＩＳＴは、シリアルな手順で実行されることになり、自己診断に要する時間は、さらに長くなる。
【００４０】
そこで、本発明者は、例えば、ロジック回路ＬＧＣ３ａ，ＬＧＣ３ｂをスキャンチェーンＳＣ２’から別のスキャンチェーンに移行することを検討した。これにより、スキャンチェーンＳＣ２’を対象とするスキャンテストの実行時間を短縮でき、その後に、別のスキャンチェーンを対象とするスキャンテストと並行してＭＢＩＳＴを行える可能性がある。ただし、この場合、第２の問題点として、ＭＢＩＳＴとＬＢＩＳＴが互いに干渉する結果、ＭＢＩＳＴとＬＢＩＳＴを並行して実行することが困難となる恐れがある。
【００４１】
具体的には、図１６において、ＭＢＩＳＴの実行期間における出力信号ＤＯは、メモリ回路ＲＡＭによって定められる。その結果、別のスキャンチェーンを対象とするスキャンテストを並行して実行すると、キャプチャ動作の際に、論理回路ＬＧＣ３ｂ内の初段のスキャンフリップフロップ回路ＳＦＦ３に不定値が入力されることになる。このように、ＭＢＩＳＴとＬＢＩＳＴが互いに干渉する結果、図１６では、スキャンチェーンＳＣ２’からロジック回路ＬＧＣ３ｂを切り離すことは困難となる。また、ＭＢＩＳＴと並行して、バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰを用いたスキャンテスト（ＬＢＩＳＴ）を行うことも困難となる。すなわち、この場合、バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰには、キャプチャ動作時に、ＭＢＩＳＴ回路ＭＢＴからの出力信号が入力され得るため、スキャンテストの観点では不定値が入力されることになる。
【００４２】
《半導体装置（実施の形態１）の構成》
図１は、本発明の実施の形態１による半導体装置の主要部の構成例を示す概略図である。図１に示す半導体装置ＤＥＶは、図１４に示した半導体装置ＤＥＶ’と比較して、ＰＯＳＴ回路ＰＳＴＣ、ＬＢＩＳＴ回路ＬＢＴ＿Ａ，ＬＢＴ＿ＢおよびＭＢＩＳＴ制御回路ＭＢＴＣＴの入出力信号が若干異なっており、また、メモリ回路ユニットＲＡＭＵ１，ＲＡＭＵ２の構成が異なっている。さらに、図１に示す半導体装置ＤＥＶは、図１４に示した半導体装置ＤＥＶ’と異なり、ロジック回路ＬＧＣ３がスキャンチェーンＳＣ２ではなく、スキャンチェーンＳＣ１に組み込まれている。以降、図１４との相違点に着目して説明を行う。
【００４３】
ＰＯＳＴ回路ＰＳＴＣは、ＬＢＩＳＴモード信号ＭＤ＿ＬＢＴおよびＭＢＩＳＴモード信号ＭＤ＿ＭＢＴに加えて、ＬＢＩＳＴ／ＭＢＩＳＴ同時テストモード（同時テストモードと略す）信号ＭＤ＿ＬＭを生成する。ＬＢＩＳＴ回路ＬＢＴ＿Ａ，ＬＢＴ＿Ｂは、ＬＢＩＳＴモード信号ＭＤ＿ＬＢＴのアサートに応じてＬＢＩＳＴモードに設定される。ＬＢＩＳＴ回路ＬＢＴ＿Ａは、当該ＬＢＩＳＴモードに設定された際に、ＬＢＩＳＴイネーブル信号ＬＢＴ＿ＥＮ１，ＬＢＴ＿ＥＮ２をアサートし、スキャンチェーンＳＣ１を対象とするスキャンテストとスキャンチェーンＳＣ２を対象とするスキャンテストとを並行して実行する。すなわち、ＬＢＩＳＴ回路ＬＢＴ＿Ａは、スキャンイネーブル信号ＳＣ＿ＥＮ１を制御しながらスキャンチェーンＳＣ１を対象とするＬＢＩＳＴを実行し、これと並行して、スキャンイネーブル信号ＳＣ＿ＥＮ２を制御しながらスキャンチェーンＳＣ２を対象とするＬＢＩＳＴを実行する。
【００４４】
また、ＬＢＩＳＴ回路ＬＢＴ＿Ａ，ＬＢＴ＿Ｂは、同時テストモード信号ＭＤ＿ＬＭのアサートに応じて同時テストモードに設定される。ＬＢＩＳＴ回路ＬＢＴ＿Ａは、当該同時テストモードに設定された際に、ＬＢＩＳＴイネーブル信号ＬＢＴ＿ＥＮ１をアサートし、スキャンイネーブル信号ＳＣ＿ＥＮ１を制御しながらスキャンチェーンＳＣ１を対象とするスキャンテストを実行する。
【００４５】
すなわち、ＬＢＩＳＴ回路ＬＢＴ＿Ａは、当該同時テストモードに設定された際には、スキャンチェーンＳＣ２を対象とするスキャンテストを実行しない。ＬＢＩＳＴ回路ＬＢＴ＿Ｂの構成および動作は、図１４のＬＢＩＳＴ回路ＬＢＴ’＿Ｂの場合とほぼ同様である。ただし、ＬＢＩＳＴ回路ＬＢＴ＿Ｂは、ＬＢＩＳＴモードに設定された際には、スキャンチェーンＳＣ１，ＳＣ２からのスキャンアウト信号を受けて動作し、同時テストモードに設定された際には、スキャンチェーンＳＣ１のみからのスキャンアウト信号を受けて動作する。
【００４６】
ＭＢＩＳＴ制御回路ＭＢＴＣＴは、同時テストモード信号ＭＤ＿ＬＭのアサートに応じて同時テストモードに設定され、当該同時テストモードに設定された際に、ＭＢＩＳＴイネーブル信号ＭＢＴ＿ＥＮをアサートする。ＭＢＩＳＴ回路ＭＢＴ１，ＭＢＴ２は、それぞれ、図１４の場合と同様に、ＭＢＩＳＴイネーブル信号ＭＢＴ＿ＥＮのアサートに応じて、メモリ回路ユニットＲＡＭＵ１，ＲＡＭＵ２内のメモリ回路（例えば後述する図５のＲＡＭ）をテストする。なお、ＰＯＳＴ回路ＰＳＴＣからのＭＢＩＳＴモード信号ＭＤ＿ＭＢＴは、図１４の場合と同様に、ＬＢＩＳＴとＭＢＩＳＴの同時実行ではなくＭＢＩＳＴのみを実行したい場合に用いられる。実施の形態１では、ＭＢＩＳＴモード信号ＭＤ＿ＭＢＴを削除することも可能である。
【００４７】
メモリ回路ユニットＲＡＭＵ１，ＲＡＭＵ２は、詳細は後述するが、図１４の場合と異なり、一部の回路（具体的には、バイパス用スキャンフリップフロップ回路）がスキャンチェーンＳＣ１に組み込まれる。このため、メモリ回路ユニットＲＡＭＵ１，ＲＡＭＵ２には、ＬＢＩＳＴイネーブル信号ＬＢＴ＿ＥＮ１、スキャンイネーブル信号ＳＣ＿ＥＮ１およびＭＢＩＳＴイネーブル信号ＭＢＴ＿ＥＮが入力される。また、ＭＢＩＳＴ回路ＭＢＴ１，ＭＢＴ２には、ＬＢＩＳＴイネーブル信号ＬＢＴ＿ＥＮ２、スキャンイネーブル信号ＳＣ＿ＥＮ２およびＭＢＩＳＴイネーブル信号ＭＢＴ＿ＥＮが入力される。
【００４８】
《半導体装置（実施の形態１）の全体動作》
図２は、図１におけるＰＯＳＴ回路の概略動作例を示すフロー図である。図３は、図１の半導体装置において、図２のＬＢＩＳＴモード時の概略動作例を示す説明図であり、図４は、図１の半導体装置において、図２の同時テストモード時の概略動作例を示す説明図である。図２において、ＰＯＳＴ回路ＰＳＴＣは、まず、システム制御回路ＳＹＳＣＴからのパワーオンリセット信号ＲＳＴを受信する（ステップＳ１０１）。当該パワーオンリセット信号ＲＳＴの受信に応じて（言い換えれば、半導体装置ＤＥＶの電源投入に応じて）、ＰＯＳＴ回路ＰＳＴＣは、ＬＢＩＳＴモード信号ＭＤ＿ＬＢＴをアサートすることで、ＬＢＩＳＴ回路ＬＢＴ＿Ａ，ＬＢＴ＿ＢをＬＢＩＳＴモードに設定する（ステップＳ１０２）。
【００４９】
これに応じて、ＬＢＩＳＴ回路ＬＢＴ＿Ａ，ＬＢＴ＿Ｂは、図３の太線で示されるように、ＬＢＩＳＴイネーブル信号ＬＢＴ＿ＥＮ１，ＬＢＴ＿ＥＮ２をアサートし、スキャンイネーブル信号ＳＣ＿ＥＮ１，ＳＣ＿ＥＮ２を制御しながら、スキャンチェーンＳＣ１，ＳＣ２のスキャンテストを並行して実行する。この際には、メモリ回路ユニットＲＡＭＵ１，ＲＡＭＵ２内のスキャンチェーンＳＣ１の回路も、スキャンチェーンＳＣ１のテスト対象に含まれる。
【００５０】
図２に戻り、ＰＯＳＴ回路ＰＳＴＣは、ＬＢＩＳＴモードのテストが完了したか否かを判定する（ステップＳ１０３）。ここで、スキャンチェーンＳＣ２に組み込まれる回路（ここではＭＢＴ１，ＭＢＴ２）は、スキャンチェーンＳＣ１に組み込まれる回路（ここでは、ＬＧＣ０〜ＬＧＣ３）よりも十分に小さくなっている。このため、スキャンチェーンＳＣ１を対象とするスキャンテストの実行時間は、スキャンチェーンＳＣ２を対象とするスキャンテストの実行時間よりも長くなる。
【００５１】
具体的には、スキャンチェーンＳＣ１のスキャンテストで必要とされるテストパターンの数は、スキャンチェーンＳＣ２のスキャンテストで必要とされるテストパターンの数よりも十分に多くなる。ＬＢＩＳＴモードのテストは、当該スキャンチェーンＳＣ２のスキャンテストが完了した段階で完了する。すなわち、ＬＢＩＳＴモードのテストは、スキャンチェーンＳＣ２のスキャンテストで必要とされるテストパターンが全てテストされ、スキャンチェーンＳＣ１のスキャンテストで必要とされるテストパターンがまだ残っている段階で完了する。この観点で、図１におけるＬＢＩＳＴモード信号ＭＤ＿ＬＢＴは、図１４におけるＬＢＩＳＴモード信号ＭＤ＿ＬＢＴ’とは若干意味合いが異なる。
【００５２】
ＰＯＳＴ回路ＰＳＴＣは、例えば、ＬＢＩＳＴ回路ＬＢＴ＿ＡからＬＢＩＳＴモードのテスト完了通知を受けたか否か等によってステップＳ１０３の判定を行う。ＰＯＳＴ回路ＰＳＴＣは、ステップＳ１０３で完了と判定した場合には、同時テストモード信号ＭＤ＿ＬＭをアサートすることで、ＬＢＩＳＴ回路ＬＢＴ＿Ａ，ＬＢＴ＿ＢおよびＭＢＩＳＴ回路ＭＢＴ１，ＭＢＴ２を同時テストモードに設定する（ステップＳ１０４）。
【００５３】
これに応じて、ＬＢＩＳＴ回路ＬＢＴ＿Ａは、図４の太線で示されるように、ＬＢＩＳＴイネーブル信号ＬＢＴ＿ＥＮ１をアサートし、スキャンイネーブル信号ＳＣ＿ＥＮ１を制御しながら、スキャンチェーンＳＣ１のスキャンテストを実行する。すなわち、ＬＢＩＳＴ回路ＬＢＴ＿Ａ，ＬＢＴ＿Ｂは、前述したＬＢＩＳＴモードのテストで残ったテストパターンを用いてスキャンチェーンＳＣ１のスキャンテストを引き続き実行する。この際には、メモリ回路ユニットＲＡＭＵ１，ＲＡＭＵ２内のスキャンチェーンＳＣ１の回路も、スキャンチェーンＳＣ１のテスト対象に含まれる。
【００５４】
また、ＭＢＩＳＴ制御回路ＭＢＴＣＴは、図４の太線で示されるように、同時テストモード信号ＭＤ＿ＬＭのアサートに応じて、ＭＢＩＳＴイネーブル信号ＭＢＴ＿ＥＮをアサートする。これに応じて、ＭＢＩＳＴ回路ＭＢＴ１，ＭＢＴ２は、ＬＢＩＳＴ回路ＬＢＴ＿Ａ，ＬＢＴ＿ＢによるスキャンチェーンＳＣ１のスキャンテストと並行して、それぞれ、メモリ回路ユニットＲＡＭＵ１，ＲＡＭＵ２内のメモリ回路をテストする。
【００５５】
その後、ＰＯＳＴ回路ＰＳＴＣは、例えば、ＬＢＩＳＴ回路ＬＢＴ＿ＡおよびＭＢＩＳＴ回路ＭＢＴ１，ＭＢＴ２から共に同時テストモードのテスト完了通知を受けたか否か等によって同時テストモードのテストが完了したか否かを判定する（ステップＳ１０５）。ＰＯＳＴ回路ＰＳＴＣは、ステップＳ１０５で完了と判定した場合には、ＬＢＩＳＴ用結果格納レジスタＬＢＴ＿ＲＲＥＧと、ＭＢＩＳＴ用結果格納レジスタＭＢＴ＿ＲＲＥＧを参照する（ステップＳ１０６）。当該レジスタ参照の結果、ＰＯＳＴ回路ＰＳＴＣは、エラー無しと判定した場合には、システム制御回路ＳＹＳＣＴ等へシステムの起動を指示し、エラー有りと判定した場合には、所定のエラー処理を行う（ステップＳ１０７〜Ｓ１０９）。
【００５６】
以上のように、同時テストモードを設けることで、前述した第１の問題点を解決でき、自己診断に要する時間を短縮することが可能になる。すなわち、ＭＢＩＳＴのみが実行される期間を省き、ＬＢＩＳＴの実行期間にＭＢＩＳＴの実行期間を埋め込むことができる。なお、図２において、ステップＳ１０２，Ｓ１０３の処理とステップＳ１０４，Ｓ１０５の処理は、入れ替えることが可能である。すなわち、先に同時テストモードによるテストを行った後にＬＢＩＳＴモードによるテストを行ってもよい。
【００５７】
また、図２では、ステップＳ１０７でエラー判定を行っているため、スキャンチェーンＳＣ２（すなわちＭＢＩＳＴ回路ＭＢＴ１，ＭＢＴ２）に対するスキャンテストのエラー有無に関わらず、同時テストモードによるテストを行った。ただし、場合によっては、スキャンチェーンＳＣ２に対するスキャンテストにエラーが有る場合には、ＭＢＩＳＴを行わないようなフローを用いることも可能である。
【００５８】
《メモリ回路ユニット周りの構成および動作》
図５は、図１におけるメモリ回路ユニット周りの概略構成例を示す回路図である。ここでは、図１５の構成例との相違点に着目して説明を行う。図５に示すメモリ回路ユニットＲＡＭＵ＿Ａは、図１５の場合と同様のメモリ回路ＲＡＭおよびバイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰを備える。ただし、バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰのスキャンイン信号ＳＩは、図１５の場合と異なり、スキャンチェーンＳＣ１に組み込まれるロジック回路ＬＧＣ０〜ＬＧＣ３内のいずれかのスキャンフリップフロップ回路の出力信号となっている。すなわち、バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰは、スキャンチェーンＳＣ１に組み込まれる。
【００５９】
また、メモリ回路ユニットＲＡＭＵ＿Ａは、デコーダＤＥＣおよび経路切り替え回路ＰＳＷを備える。デコーダＤＥＣは、ＬＢＩＳＴイネーブル信号ＬＢＴ＿ＥＮ１、スキャンイネーブル信号ＳＣ＿ＥＮ１およびＭＢＩＳＴイネーブル信号ＭＢＴ＿ＥＮを受けて、バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰ内のスキャン用選択回路ＳＥＬｓ１を制御し、さらに、経路切り替え回路ＰＳＷの入出力経路を制御する。
【００６０】
詳細は後述するが、経路切り替え回路ＰＳＷは、ＬＢＩＳＴモードに設定された際に、バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰの出力信号を、ＭＢＩＳＴ回路ＭＢＴとロジック回路（メモリ後段ロジック回路）ＬＧＣ３ｂへ伝送する。この際に、ＭＢＩＳＴ回路ＭＢＴには、出力信号ＤＯｂが伝送され、ロジック回路ＬＧＣ３ｂには、出力信号ＤＯｂと同じ出力信号ＤＯｌが伝送される。また、経路切り替え回路ＰＳＷは、同時テストモードに設定された際に、バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰの出力信号をロジック回路ＬＧＣ３ｂへ伝送し、メモリ回路ＲＡＭの出力信号をＭＢＩＳＴ回路ＭＢＴへ伝送する。この際に、ＭＢＩＳＴ回路ＭＢＴには、出力信号ＤＯｂが伝送され、ロジック回路ＬＧＣ３ｂには、出力信号ＤＯｂと異なる出力信号ＤＯｌが伝送される。
【００６１】
また、図５では、図１５の場合と異なり、メモリ回路ＲＡＭへアクセス命令を発行するロジック回路（メモリ前段ロジック回路）ＬＧＣ３ａと、メモリ回路ＲＡＭからのリードデータが入力されるロジック回路（メモリ後段ロジック回路）ＬＧＣ３ｂは、スキャンチェーンＳＣ１に組み込まれる。なお、ＭＢＩＳＴ回路ＭＢＴは、図１５の場合と同様に、スキャンチェーンＳＣ２に組み込まれる。
【００６２】
図６Ａは、図５のメモリ回路ユニット周りのＬＢＩＳＴモード時の動作例を示す図である。図６Ａにおいて、ロジック回路ＬＧＣ３ａ，ＬＧＣ３ｂ内の各スキャンフリップフロップ回路ＳＦＦ１〜ＳＦＦ４と、バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰと、図１におけるロジック回路ＬＧＣ０〜ＬＧＣ２内の各スキャンフリップフロップ回路は、スキャンチェーンＳＣ１として任意の順番で接続される。
【００６３】
ＬＢＩＳＴモード時におけるスキャンチェーンＳＣ１を対象としたスキャンテストでは、キャプチャ動作時に、図６Ａの信号伝送経路ＴＰＨ＿Ｌ１がテストされる。すなわち、ロジック回路ＬＧＣ３ａからバイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰを介してロジック回路ＬＧＣ３ｂへ到る経路がテストされる。この際に、スキャン用選択回路ＳＥＬｓ１は、通常通り、スキャンイネーブル信号ＳＣ＿ＥＮ１によって制御される。
【００６４】
また、ＬＢＩＳＴモード時におけるスキャンチェーンＳＣ２を対象としたスキャンテストでは、キャプチャ動作時に、図６Ａの信号伝送経路ＴＰＨ＿Ｌ２がテストされる。すなわち、ＭＢＩＳＴ回路ＭＢＴからバイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰを介してＭＢＩＳＴ回路ＭＢＴへ到る経路がテストされる。この際には、例えば、スキャンフリップフロップ回路ＳＦＦ７をスキャンチェーンＳＣ２に組み込むことで、バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰへ向けた、ＭＢＩＳＴ回路ＭＢＴからの入力経路と、ロジック回路ＬＧＣ３ａからの入力経路を適宜切り替えながら、両方の入力経路をテストすることができる。
【００６５】
ただし、ここでは、バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰは、図１５の場合と異なり、スキャンチェーンＳＣ１とスキャンチェーンＳＣ２とで共用されることになる。また、スキャンチェーンＳＣ１とスキャンチェーンＳＣ２のスキャンイン動作、キャプチャ動作、スキャンアウト動作は同期していることを前提とする。その結果、例えば、キャプチャ動作時に、スキャンチェーンＳＣ２で設定したスキャンフリップフロップ回路ＳＦＦ５のテストパターンがスキャンチェーンＳＣ１のバイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰに伝送される場合がある。また、スキャンチェーンＳＣ１で設定したバイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰのテストパターンがスキャンチェーンＳＣ２のスキャンフリップフロップ回路ＳＦＦ６に伝送される場合もある。
【００６６】
このようにスキャンチェーンＳＣ１，ＳＣ２の一部が共用される場合であっても、図１５の場合と同じく、各スキャンフリップフロップ回路ＳＦＦ１〜ＳＦＦ７およびバイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰでは、テストパターンを一義的に定めることができ、キャプチャ動作後の期待値パターンも一義的に定めることができる。したがって、予め、スキャンチェーンＳＣ１，ＳＣ２の一部が共用されることを前提してテストパターンおよび期待値パターンを生成すれば、スキャンチェーンＳＣ１，ＳＣ２のスキャンテストを並行して実行することが可能である。
【００６７】
図６Ｂは、図５のメモリ回路ユニット周りの同時テストモード時の動作例を示す図である。同時テストモード時におけるスキャンチェーンＳＣ１を対象としたスキャンテストでは、キャプチャ動作時に、図６Ｂの信号伝送経路ＴＰＨ＿Ｌ１ａ，ＴＰＨ＿Ｌ１ｂがテストされる。すなわち、ロジック回路ＬＧＣ３ａ内の経路と、バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰからロジック回路ＬＧＣ３ｂへ到る経路がテストされる。この際に、スキャン用選択回路ＳＥＬｓ１は、通常とは異なり、‘１’に固定される。これにより、バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰは、スキャンイン動作時およびスキャンアウト動作時に加えてキャプチャ動作時にも、スキャンイン信号ＳＩ（すなわち、前段にスキャン接続されたスキャンフリップフロップ回路の出力信号）を固定的にラッチする。
【００６８】
一方、ＭＢＩＳＴ回路ＭＢＴは、同時テストモード時には、図６Ｂの信号伝送経路ＴＰＨ＿Ｍを介してメモリ回路ＲＡＭをテストする。この際に、選択回路ＳＥＬ０は、ＭＢＩＳＴイネーブル信号ＭＢＴ＿ＥＮのアサートに伴い‘１’に固定され、ＭＢＩＳＴ回路ＭＢＴからの信号を入力信号ＤＩとしてメモリ回路ＲＡＭへ伝送する。
【００６９】
ここで、スキャン用選択回路ＳＥＬｓ１は、‘１’に固定されているため、図１６の場合と異なり、バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰが、ＭＢＩＳＴ回路ＭＢＴからのＭＢＩＳＴ時の入力信号（すなわち不定値）をラッチすることはない。ただし、同時テストモードでは、ＬＢＩＳＴモード時と異なり、論理回路ＬＧＣ３ａ（スキャンフリップフロップ回路ＳＦＦ２）からバイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰへの入力パス（言い換えれば、メモリ回路ＲＡＭへの入力パス）がテスト対象外となる。したがって、この入力パスは、ＬＢＩＳＴモード時にテストされる必要がある。
【００７０】
また、同時テストモード時には、経路切り替え回路ＰＳＷは、メモリ回路ＲＡＭからの出力信号（すなわちリードデータ）を出力信号ＤＯｂとしてＭＢＩＳＴ回路ＭＢＴへ伝送し、バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰからの出力信号を出力信号ＤＯｌとしてロジック回路ＬＧＣ３ｂへ伝送する。その結果、図１６の場合と異なり、論理回路ＬＧＣ３ｂ内のスキャンフリップフロップ回路ＳＦＦ３は、ＭＢＩＳＴとＬＢＩＳＴを並行して実行する場合であっても、メモリ回路ＲＡＭからのリードデータ（すなわち不定値）をラッチすることはない。
【００７１】
このようにして、図１６で述べたＭＢＩＳＴとＬＢＩＳＴの干渉の問題（すなわち第２の問題点）を解決できる結果、ＭＢＩＳＴと、バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰを用いたＬＢＩＳＴとを並行して実行することが可能になる。また、論理回路ＬＧＣ３ａ，ＬＧＣ３ｂを別のスキャンチェーンＳＣ１に移行することも可能になる。これにより、図２のフローを用いて、自己診断に要する時間を短縮することが可能になる。
【００７２】
《実施の形態１の主要な効果》
図７は、本発明の実施の形態１による半導体装置を用いた場合の効果の一例を示す模式図である。図７に示されるように、図１４〜図１６に示したような比較例の方式を用いた場合、自己診断に要する時間は、時間Ｔ１と時間Ｔ２の合計値でほぼ定められる。時間Ｔ１は、ＬＢＩＳＴモード信号ＭＤ＿ＬＢＴ’に伴うスキャンチェーンＳＣ１’，ＳＣ２’のＬＢＩＳＴにそれぞれ要する時間の内の長い方の時間であり、時間Ｔ２は、ＭＢＩＳＴモード信号ＭＤ＿ＭＢＴに伴うＭＢＩＳＴに要する時間である。
【００７３】
一方、実施の形態１の方式を用いた場合、自己診断に要する時間は、時間Ｔ３と時間Ｔ４の合計値でほぼ定められる。時間Ｔ３は、ＬＢＩＳＴモード信号ＭＤ＿ＬＢＴに伴うスキャンチェーンＳＣ１，ＳＣ２のＬＢＩＳＴにそれぞれ要する時間の内の短い方（すなわちスキャンチェーンＳＣ２側）の時間であり、時間Ｔ４は、同時テストモード信号ＭＤ＿ＬＭに伴うスキャンチェーンＳＣ１の残りのＬＢＩＳＴに要する時間と、ＭＢＩＳＴに要する時間の内の長い方の時間である。
【００７４】
なお、時間Ｔ６は、ＭＢＩＳＴに伴いＭＢＩＳＴ回路ＭＢＴ１，ＭＢＴ２に各種初期設定を行うのに必要とされる時間である。また、時間Ｔ７は、ＭＢＩＳＴに伴う各種初期設定と共に、ＬＢＩＳＴの変更に伴う各種初期設定を行うのに必要とされる時間である。例えば、同時テストモードでは、スキャンチェーンの本数が減るため、ＬＢＩＳＴ回路ＬＢＴ＿Ｂ等の設定変更が必要とされる。
【００７５】
図７に示されるように、理想的には、時間Ｔ３と時間Ｔ４の合計値が時間Ｔ１と同等となり、時間Ｔ４が時間Ｔ２と同等となるようにスキャンチェーンＳＣ１，ＳＣ２を設計することができる。その結果、自己診断に要する時間を、比較例の場合よりも時間Ｔ５（≒Ｔ２）だけ短縮することが可能になる。実際には、時間Ｔ３と時間Ｔ４の合計値が時間Ｔ１よりも若干長くなる場合も生じ得るが、実施の形態１の方式を用いると、少なくとも、ＭＢＩＳＴのみを単独で実行する期間が不必要となる（言い換えればＭＢＩＳＴとＬＢＩＳＴを並行して実行できる）分だけ、自己診断に要する時間を短縮できる。
【００７６】
このように自己診断に要する時間を短縮できる結果、半導体装置、ひいては、当該半導体装置を搭載した電子制御装置（ＥＣＵ）等の起動時間を短縮することが可能になる。また、自己診断に要する時間を比較例の場合と同等に定める場合、短縮した時間Ｔ５でテスト項目を追加することが可能になり、半導体装置の高信頼化が図れる。なお、ここでは、スキャンチェーンＳＣ２は、ＭＢＩＳＴ回路ＭＢＴ１，ＭＢＴ２のみで構成されたが、場合によっては、他の回路が含まれていてもよい。すなわち、スキャンチェーンＳＣ１で必要されるＬＢＩＳＴの実行時間よりもスキャンチェーンＳＣ２で必要されるＬＢＩＳＴの実行時間の方が十分に短ければよい。
【００７７】
（実施の形態２）
《メモリ回路ユニットの各種変形例》
図８Ａは、本発明の実施の形態２による半導体装置において、図１の半導体装置内のメモリ回路ユニットの概略構成例を示す回路図である。図８Ｂは、図８ＡにおけるＬＢＩＳＴモード時および同時テストモード時の動作例を示す図である。図９は、図８Ａにおける各種制御信号の状態例を示す図である。
【００７８】
図８Ａに示すメモリ回路ユニットＲＡＭＵ＿Ｂは、図６Ａのメモリ回路ユニットＲＡＭＵ＿Ａに対して、図６の経路切り替え回路ＰＳＷおよびデコーダＤＥＣの具体例が示されている。図６の経路切り替え回路ＰＳＷは、図８Ａにおける２個の選択回路ＳＥＬ１０，ＳＥＬ１１で構成され、図６のデコーダＤＥＣは、図８Ａにおけるオア演算回路ＯＲ１０およびアンド演算回路ＡＤ１０で構成される。
【００７９】
選択回路ＳＥＬ１０は、メモリ回路ＲＡＭの出力信号かバイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰの出力信号かを選択する。選択回路ＳＥＬ１１は、選択回路ＳＥＬ１０の出力信号かバイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰの出力信号かを選択する。オア演算回路ＯＲ１０は、スキャンイネーブル信号ＳＣ＿ＥＮ１とＭＢＩＳＴイネーブル信号ＭＢＴ＿ＥＮのオア演算を行い、その演算結果でスキャン用選択回路ＳＥＬｓ１を制御する。アンド演算回路ＡＤ１０は、ＭＢＩＳＴイネーブル信号ＭＢＴ＿ＥＮの反転信号と、ＬＢＩＳＴイネーブル信号ＬＢＴ＿ＥＮ１とのアンド演算を行い、その演算結果で選択回路ＳＥＬ１０を制御する。選択回路ＳＥＬ１１は、ＬＢＩＳＴイネーブル信号ＬＢＴ＿ＥＮ１によって制御される。
【００８０】
図９に示されるように、ＬＢＩＳＴモード時には、ＬＢＩＳＴイネーブル信号ＬＢＴ＿ＥＮ１，ＬＢＴ＿ＥＮ２は、共に‘１’（アサートレベル）であり、ＭＢＩＳＴイネーブル信号ＭＢＴ＿ＥＮは‘０’（ネゲートレベル）であり、スキャンイネーブル信号ＳＣ＿ＥＮ１は、通常のスキャンテストを行うため、０／１に適宜制御される。同時テストモード時には、ＬＢＩＳＴイネーブル信号ＬＢＴ＿ＥＮ１とＭＢＩＳＴイネーブル信号ＭＢＴ＿ＥＮは、共に‘１’（アサートレベル）であり、ＬＢＩＳＴイネーブル信号ＬＢＴ＿ＥＮ２は‘０’（ネゲートレベル）であり、スキャンイネーブル信号ＳＣ＿ＥＮ１は、図６Ｂで述べたように‘１’に固定される。
【００８１】
一方、自己診断を完了したのちのユーザモードでは、ＬＢＩＳＴイネーブル信号ＬＢＴ＿ＥＮ１，ＬＢＴ＿ＥＮ２およびＭＢＩＳＴイネーブル信号ＭＢＴ＿ＥＮは、共に‘０’（ネゲートレベル）であり、スキャンイネーブル信号ＳＣ＿ＥＮ１も、‘０’に固定される。なお、ＭＢＩＳＴと、スキャンチェーンＳＣ２（すなわちＭＢＩＳＴ回路ＭＢＴ）に対するＬＢＩＳＴは、同時には実行されない。このため、ＭＢＩＳＴイネーブル信号ＭＢＴ＿ＥＮとＬＢＩＳＴイネーブル信号ＬＢＴ＿ＥＮ２では、一方が‘１’（アサートレベル）であれば他方は‘０’（ネゲートレベル）であり、両方が‘１’とはならない。
【００８２】
図８Ｂにおいて、ＬＢＩＳＴモード時には、図９に基づき、スキャン用選択回路ＳＥＬｓ１は、０／１のスキャンイネーブル信号ＳＣ＿ＥＮ１で制御され、選択回路ＳＥＬ１０，ＳＥＬ１１は、共に、バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰの出力信号を選択する。その結果、キャプチャ動作時に、スキャンチェーンＳＣ１では信号伝送経路ＴＰＨ＿Ｌ１がテストされ、スキャンチェーンＳＣ２では信号伝送経路ＴＰＨ＿Ｌ２がテストされる。
【００８３】
一方、同時テストモード時には、図９に基づき、スキャン用選択回路ＳＥＬｓ１は、‘１’に固定され、選択回路ＳＥＬ１０は、メモリ回路ＲＡＭの出力信号を選択し、選択回路ＳＥＬ１１は、バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰの出力信号を選択する。その結果、スキャンチェーンＳＣ１では、キャプチャ動作時に、信号伝送経路ＴＰＨ＿Ｌ１ｂがテストされ、これと並行して、ＭＢＩＳＴ回路は、信号伝送経路ＴＰＨ＿Ｍを介してメモリ回路ＲＡＭのＭＢＩＳＴを実行する。このように、信号伝送経路ＴＰＨ＿Ｌ１ｂと信号伝送経路ＴＰＨ＿Ｍは重複しないため、ＬＢＩＳＴとＭＢＩＳＴは干渉しない。
【００８４】
図１０Ａは、本発明の実施の形態２による半導体装置において、図１の半導体装置内のメモリ回路ユニットの他の概略構成例を示す回路図である。図１０Ｂは、図１０ＡにおけるＬＢＩＳＴモード時および同時テストモード時の動作例を示す図である。図１０Ａに示すメモリ回路ユニットＲＡＭＵ＿Ｃは、図８Ａのメモリ回路ユニットＲＡＭＵ＿Ｂと比較して、別のバイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰ２が追加され、また、選択回路ＳＥＬ１１の代わりにＳＥＬ２１を備える。
【００８５】
図１０Ａに示されるように、メモリ回路ＲＡＭに加えて図８Ａに示したようなバイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰおよび選択回路ＳＥＬ１０が、予めハードマクロＲＡＭ＿ＨＭ２として実装される場合がある。図１０Ａは、このようなハードマクロを用いた場合のメモリ回路ユニットの構成例である。バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰ２は、スキャン用選択回路ＳＥＬｓ１と同様にオア演算回路ＯＲ１０によって制御されるスキャン用選択回路ＳＥＬｓ２を含む。これにより、バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰ２は、メモリ回路ＲＡＭへの入力信号ＤＩかバイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰのスキャンイン信号と同じスキャンイン信号ＳＩ（すなわちスキャンチェーンＳＣ１内のスキャンフリップフロップ回路の出力信号）かを選択的にラッチする。
【００８６】
選択回路ＳＥＬ１０は、図８Ａの場合と同様に、アンド演算回路ＡＤ１０の演算結果に基づき、メモリ回路ＲＡＭの出力信号かバイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰの出力信号かを選択する。選択回路ＳＥＬ２１は、スキャンイネーブル信号ＬＢＴ＿ＥＮ１に基づき、選択回路ＳＥＬ１０の出力信号かバイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰ２の出力信号かを選択する。
【００８７】
図１０Ｂにおいて、ＬＢＩＳＴモード時には、図９に基づき、スキャン用選択回路ＳＥＬｓ１，ＳＥＬｓ２は、０／１のスキャンイネーブル信号ＳＣ＿ＥＮ１で制御される。また、選択回路ＳＥＬ１０は、バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰの出力信号を選択し、選択回路ＳＥＬ２１は、バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰ２の出力信号を選択する。その結果、キャプチャ動作時に、スキャンチェーンＳＣ１では信号伝送経路ＴＰＨ＿Ｌ１がテストされ、スキャンチェーンＳＣ２では信号伝送経路ＴＰＨ＿Ｌ２がテストされる。
【００８８】
一方、同時テストモード時には、図９に基づき、スキャン用選択回路ＳＥＬｓ１，ＳＥＬｓ２は、‘１’に固定され、選択回路ＳＥＬ１０は、メモリ回路ＲＡＭの出力信号を選択し、選択回路ＳＥＬ２１は、バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰ２の出力信号を選択する。その結果、スキャンチェーンＳＣ１では、キャプチャ動作時に、信号伝送経路ＴＰＨ＿Ｌ１ｂがテストされ、これと並行して、ＭＢＩＳＴ回路は、信号伝送経路ＴＰＨ＿Ｍを介してメモリ回路ＲＡＭのＭＢＩＳＴを実行する。このように、信号伝送経路ＴＰＨ＿Ｌ１ｂと信号伝送経路ＴＰＨ＿Ｍは重複しないため、ＬＢＩＳＴとＭＢＩＳＴは干渉しない。
【００８９】
図１１Ａは、本発明の実施の形態２による半導体装置において、図１の半導体装置内のメモリ回路ユニットの更に他の概略構成例を示す回路図である。図１１Ｂは、図１１ＡにおけるＬＢＩＳＴモード時および同時テストモード時の動作例を示す図である。図１１Ａに示すメモリ回路ユニットＲＡＭＵ＿Ｄは、図８Ａの場合と同様の回路構成を備え、図８Ｂの場合と同様の動作を行う。ただし、ここでは、図８Ａの場合と異なり、メモリ回路ＲＡＭ、バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰおよび選択回路ＳＥＬ１０がハードマクロＲＡＭ＿ＨＭ３で構成される。
【００９０】
当該ハードマクロＲＡＭ＿ＨＭ３は、図１０Ａに示したハードマクロＲＡＭ＿ＨＭ２と比較して、バイパス用スキャンフリップフロップ回路ＳＦＦ＿ＢＰの出力信号をハードマクロＲＡＭ＿ＨＭ３の外部に引き出すためのポートＰＴを備えた点が異なっている。このようなポートＰＴを備えることで、図１０Ａの構成例と比較して、メモリ回路ユニットの回路規模を低減することが可能になる。
【００９１】
《実施の形態２の主要な効果》
以上、実施の形態２の半導体装置を用いることで、実施の形態１の場合と同様の効果が得られる。さらに、メモリ回路ＲＡＭが様々なハードマクロで構成される場合であっても、実施の形態１の方式を適用可能になる。
【００９２】
（実施の形態３）
《半導体装置（変形例）の構成》
図１２は、本発明の実施の形態３による半導体装置の主要部の構成例を示す概略図である。図１２に示す半導体装置ＤＥＶ２は、図１に示した半導体装置ＤＥＶと比較して、図１のＰＯＳＴ回路ＰＳＴＣおよびシステム制御回路ＳＹＳＣＴがＪＴＡＧインタフェース回路ＪＴＡＧＩＦおよびモードデコーダＭＤＤＥＣに置き換わった構成となっている。ＪＴＡＧインタフェース回路ＪＴＡＧＩＦは、ＪＴＡＧ規格に基づき装置外部との通信を行う。この例では、ＪＴＡＧインタフェース回路ＪＴＡＧＩＦは、装置外部に設けられる量産テスタ等のテスト装置ＡＴＥと通信を行う。
【００９３】
モードデコーダＭＤＤＥＣは、装置外部からのＪＴＡＧインタフェース回路ＪＴＡＧＩＦを介した命令に応じて、ＬＢＩＳＴモード信号ＭＤ＿ＬＢＴ、ＭＢＩＳＴモード信号ＭＤ＿ＭＢＴ、同時テストモード信号ＭＤ＿ＬＭを生成する。実施の形態１の場合と同様に、ＬＢＩＳＴ回路ＬＢＴ＿Ａ，ＬＢＴ＿Ｂは、ＬＢＩＳＴモード信号ＭＤ＿ＬＢＴを受けてＬＢＩＳＴモードに設定され、同時テストモード信号ＭＤ＿ＬＭを受けて同時テストモードに設定される。また、ＭＢＩＳＴ制御回路ＭＢＴＣＴおよびＭＢＩＳＴ回路ＭＢＴ１，ＭＢＴ２は、同時テストモード信号ＭＤ＿ＬＭを受けて同時テストモードに設定され、ＭＢＩＳＴモード信号ＭＤ＿ＭＢＴを受けて、図１４〜図１６の場合と同様のＭＢＩＳＴモードに設定される。
【００９４】
テスト装置ＡＴＥは、図２の場合と同様に、例えば、ＬＢＩＳＴモードの開始命令か同時テストモードの開始命令のいずれか一方をモードデコーダＭＤＤＥＣに向けて発行し、当該いずれか一方のテストが完了した際に、他方の開始命令をモードデコーダＭＤＤＥＣに向けて発行する。また、テスト装置ＡＴＥは、ＬＢＩＳＴモードや同時テストモードに伴うテストの終了通知をＬＢＩＳＴ回路ＬＢＴ＿ＡやＭＢＩＳＴ制御回路ＭＢＴＣＴ等から受信し、各モードのテスト結果をＬＢＩＳＴ用結果格納レジスタＬＢＴ＿ＲＲＥＧおよびＭＢＩＳＴ用結果格納レジスタＭＢＴ＿ＲＲＥＧから取得する。さらに、テスト装置ＡＴＥは、必要に応じて、ＭＢＩＳＴモードの開始命令を発行してもよい。
【００９５】
《実施の形態３の主要な効果》
以上、実施の形態３の半導体装置を用いることで、量産時（出荷前テスト時）に同時テストモードを使用することができ、量産時のテスト時間を短縮する（ひいてはテストコストを低減する）ことが可能になる。なお、実施の形態３は、実施の形態１と組み合わせることも可能である。すなわち、図１２において、図１のＰＯＳＴ回路ＰＳＴＣおよびシステム制御回路ＳＹＳＣＴを設けることで、出荷後テスト（所謂フィールドテスト）と出荷前テストの両方で同時テストモードを使用することができる。
【００９６】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、前述した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【符号の説明】
【００９７】
ＤＥＶ  半導体装置
ＪＴＡＧＩＦ  ＪＴＡＧインタフェース回路
ＬＢＴ  ロジックＢＩＳＴ（ＬＢＩＳＴ）回路
ＬＢＴ＿ＥＮ  ＬＢＩＳＴイネーブル信号
ＬＧＣ  ロジック回路
ＭＢＴ  メモリＢＩＳＴ（ＭＢＩＳＴ）回路
ＭＢＴ＿ＥＮ  ＭＢＩＳＴイネーブル信号
ＭＤ＿ＬＢＴ  ＬＢＩＳＴモード信号
ＭＤ＿ＬＭ  ＬＢＩＳＴ／ＭＢＩＳＴ同時テストモード信号
ＭＤ＿ＭＢＴ  ＭＢＩＳＴモード信号
ＭＤＤＥＣ  モードデコーダ
ＰＳＴＣ  ＰＯＳＴ回路
ＰＳＷ  経路切り替え回路
ＲＡＭ  メモリ回路
ＲＡＭ＿ＨＭ  ハードマクロ
ＲＡＭＵ  メモリ回路ユニット
ＳＣ  スキャンチェーン
ＳＣ＿ＥＮ  スキャンイネーブル信号
ＳＥＬ  選択回路
ＳＦＦ  スキャンフリップフロップ回路
ＳＦＦ＿ＢＰ  バイパス用スキャンフリップフロップ回路
【図１】
2018190751.tif 000003
【図２】
2018190751.tif 000004
【図３】
2018190751.tif 000005
【図４】
2018190751.tif 000006
【図５】
2018190751.tif 000007
【図６Ａ】
2018190751.tif 000008
【図６Ｂ】
2018190751.tif 000009
【図７】
2018190751.tif 000010
【図８Ａ】
2018190751.tif 000011
【図８Ｂ】
2018190751.tif 000012
【図９】
2018190751.tif 000013
【図１０Ａ】
2018190751.tif 000014
【図１０Ｂ】
2018190751.tif 000015
【図１１Ａ】
2018190751.tif 000016
【図１１Ｂ】
2018190751.tif 000017
【図１２】
2018190751.tif 000018
【図１３】
2018190751.tif 000019
【図１４】
2018190751.tif 000020
【図１５】
2018190751.tif 000021
【図１６】
2018190751.tif 000022