特許第6832787号(P6832787)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ルネサスエレクトロニクス株式会社の特許一覧

特許6832787半導体装置および半導体装置のテスト方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6832787
(24)【登録日】2021年2月4日
(45)【発行日】2021年2月24日
(54)【発明の名称】半導体装置および半導体装置のテスト方法
(51)【国際特許分類】
   H01L 21/822 20060101AFI20210215BHJP
   H01L 27/04 20060101ALI20210215BHJP
   G01R 31/28 20060101ALI20210215BHJP
   G01R 31/3185 20060101ALI20210215BHJP
【FI】
   H01L27/04 T
   G01R31/28 W
   G01R31/28 G
【請求項の数】15
【全頁数】26
(21)【出願番号】特願2017-89114(P2017-89114)
(22)【出願日】2017年4月28日
(65)【公開番号】特開2018-190751(P2018-190751A)
(43)【公開日】2018年11月29日
【審査請求日】2019年10月18日
(73)【特許権者】
【識別番号】302062931
【氏名又は名称】ルネサスエレクトロニクス株式会社
(74)【代理人】
【識別番号】110002066
【氏名又は名称】特許業務法人筒井国際特許事務所
(72)【発明者】
【氏名】鈴木 巌
(72)【発明者】
【氏名】加藤 直樹
【審査官】 市川 武宜
(56)【参考文献】
【文献】 特開2016−176843(JP,A)
【文献】 特開2007−017236(JP,A)
【文献】 特開2005−135527(JP,A)
【文献】 特開2008−209201(JP,A)
【文献】 米国特許出願公開第2003/0074620(US,A1)
【文献】 特開2000−147066(JP,A)
【文献】 特開2013−253840(JP,A)
【文献】 特開2004−303287(JP,A)
【文献】 米国特許出願公開第2002/0138801(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H01L 21/822
G01R 31/28
G01R 31/3185
H01L 27/04
(57)【特許請求の範囲】
【請求項1】
一つの半導体チップで構成される半導体装置であって、
メモリ回路、および前記メモリ回路のテスト用インタフェースを備えるメモリ回路ユニットと、
所定の論理演算を行うロジック回路と、
前記メモリ回路をテストするメモリBIST(Built In Self Test)回路と、
前記ロジック回路と前記メモリBIST回路とをテストするロジックBIST回路と、
を有し、
前記ロジック回路の少なくとも一部は、第1のスキャンチェーンに組み込まれ、
前記メモリBIST回路は、第2のスキャンチェーンに組み込まれ、
前記ロジックBIST回路は、第1のテストモードに設定された際に、前記第1のスキャンチェーンを対象とする第1のスキャンテストと、前記第2のスキャンチェーンを対象とする第2のスキャンテストとを並行して実行し、第2のテストモードに設定された際に、前記第2のスキャンテストを実行せずに前記第1のスキャンテストを実行し、
前記メモリBIST回路は、前記第2のテストモードに設定された際に、前記第1のスキャンテストと並行して前記メモリ回路のテストを実行し、
前記第1のスキャンテストの実行時間は、前記第2のスキャンテストの実行時間よりも長く、
前記ロジックBIST回路は、前記第2のスキャンテストを完了した段階で、前記第1のテストモードに伴うテストを完了し、
前記第2のテストモードの際の前記第1のスキャンテストは、前記第1のテストモードの際の前記第1のスキャンテストで残ったテストパターンを用いて実行される、
半導体装置。
【請求項2】
請求項1記載の半導体装置において、
さらに、前記半導体装置の電源投入に応じて、前記第1のテストモードの設定と、前記第2のテストモードの設定を順に行うPOST(Power On Self Test)回路を有する、
半導体装置。
【請求項3】
請求項1記載の半導体装置において、
前記第1のスキャンチェーンに組み込まれる前記ロジック回路には、前記メモリ回路へアクセス命令を発行するメモリ前段ロジック回路と、前記メモリ回路からのリードデータが入力されるメモリ後段ロジック回路とが含まれる、
半導体装置。
【請求項4】
請求項3記載の半導体装置において、
前記メモリ回路ユニットは、
前記メモリ回路の入出力をバイパスする機能を担い、前記メモリ回路への入力信号かスキャンイン信号かを選択的にラッチするバイパス用スキャンフリップフロップ回路と、
前記第1のテストモードに設定された際に、前記バイパス用スキャンフリップフロップ回路の出力信号を前記メモリBIST回路と前記メモリ後段ロジック回路へ伝送し、前記第2のテストモードに設定された際に、前記バイパス用スキャンフリップフロップ回路の出力信号を前記メモリ後段ロジック回路へ伝送し、前記メモリ回路の出力信号を前記メモリBIST回路へ伝送する経路切り替え回路と、
を有し、
前記バイパス用スキャンフリップフロップ回路の前記スキャンイン信号は、前記第1のスキャンチェーンに組み込まれる前記ロジック回路内のいずれかのスキャンフリップフロップ回路の出力信号であり、
前記バイパス用スキャンフリップフロップ回路は、前記第2のテストモードに設定された際に、前記スキャンイン信号を固定的にラッチする、
半導体装置。
【請求項5】
請求項4記載の半導体装置において、
さらに、前記メモリ前段ロジック回路からの信号か前記メモリBIST回路からの信号かを選択し、当該選択した信号を前記メモリ回路と前記バイパス用スキャンフリップフロップ回路へ出力する選択回路を有する、
半導体装置。
【請求項6】
請求項1記載の半導体装置において、さらに、
JTAG規格に基づき装置外部との通信を行うJTAGインタフェース回路と、
装置外部からの前記JTAGインタフェース回路を介した命令に応じて、前記第2のテストモードの設定を行うモードデコーダと、
を有する、
半導体装置。
【請求項7】
一つの半導体チップで構成される半導体装置であって、
メモリ回路、および前記メモリ回路のテスト用インタフェースを備えるメモリ回路ユニットと、
前記メモリ回路へアクセス命令を発行するメモリ前段ロジック回路と、前記メモリ回路からのリードデータが入力されるメモリ後段ロジック回路とを含み、所定の論理演算を行うロジック回路と、
前記メモリ回路をテストするメモリBIST(Built In Self Test)回路と、
前記ロジック回路と前記メモリBIST回路とをテストするロジックBIST回路と、
を有し、
前記メモリ回路ユニットは、
前記メモリ回路の入出力をバイパスする機能を担い、前記メモリ回路への入力信号かスキャンイン信号かを選択的にラッチする第1のバイパス用スキャンフリップフロップ回路と、
前記ロジック回路と前記メモリBIST回路とを並行してテストするための第1のテストモードに設定された際に、前記第1のバイパス用スキャンフリップフロップ回路の出力信号を前記メモリBIST回路と前記メモリ後段ロジック回路へ伝送し、前記ロジック回路と前記メモリ回路とを並行してテストするための第2のテストモードに設定された際に、前記第1のバイパス用スキャンフリップフロップ回路の出力信号を前記メモリ後段ロジック回路へ伝送し、前記メモリ回路の出力信号を前記メモリBIST回路へ伝送する経路切り替え回路と、
を有する、
半導体装置。
【請求項8】
請求項7記載の半導体装置において、
前記経路切り替え回路は、
前記メモリ回路の出力信号か前記第1のバイパス用スキャンフリップフロップ回路の出力信号かを選択する第1の選択回路と、
前記第1の選択回路の出力信号か前記第1のバイパス用スキャンフリップフロップ回路の出力信号かを選択する第2の選択回路と、
を有する、
半導体装置。
【請求項9】
請求項8記載の半導体装置において、
前記メモリ回路と、前記第1のバイパス用スキャンフリップフロップ回路と、前記第1の選択回路は、ハードマクロで構成される、
半導体装置。
【請求項10】
請求項7記載の半導体装置において、
前記メモリ回路への入力信号か前記第1のバイパス用スキャンフリップフロップ回路のスキャンイン信号と同じスキャンイン信号かを選択的にラッチする第2のバイパス用スキャンフリップフロップ回路と、
前記メモリ回路の出力信号か前記第1のバイパス用スキャンフリップフロップ回路の出力信号かを選択する第1の選択回路と、
前記第1の選択回路の出力信号か前記第2のバイパス用スキャンフリップフロップ回路の出力信号かを選択する第2の選択回路と、
を有する、
半導体装置。
【請求項11】
請求項7記載の半導体装置において、
前記第1のバイパス用スキャンフリップフロップ回路は、前記第2のテストモードに設定された際に、前記スキャンイン信号を固定的にラッチする、
半導体装置。
【請求項12】
一つの半導体チップで構成される半導体装置のテスト方法であって、
前記半導体装置は、
メモリ回路、および前記メモリ回路のテスト用インタフェースを備えるメモリ回路ユニットと、
所定の論理演算を行うロジック回路と、
前記メモリ回路をテストするメモリBIST(Built In Self Test)回路と、
前記ロジック回路と前記メモリBIST回路とをテストするロジックBIST回路と、
を備え、
前記ロジック回路の少なくとも一部は、第1のスキャンチェーンに組み込まれ、
前記メモリBIST回路は、第2のスキャンチェーンに組み込まれ、
前記テスト方法は、
前記ロジックBIST回路が、前記第1のスキャンチェーンを対象とする第1のスキャンテストと、前記第2のスキャンチェーンを対象とする第2のスキャンテストとを並行して実行する第1のステップと、
前記ロジックBIST回路が、前記第2のスキャンテストを実行せずに前記第1のスキャンテストを実行し、当該第1のスキャンテストと並行して、前記メモリBIST回路が前記メモリ回路のテストを実行する第2のステップと、
を有し、
前記第1のスキャンテストの実行時間は、前記第2のスキャンテストの実行時間よりも長く、
前記第1のステップは、前記第2のスキャンテストを完了した段階で完了し、
前記第2のステップの際の前記第1のスキャンテストは、前記第1のステップの際の前記第1のスキャンテストで残ったテストパターンを用いて実行される、
半導体装置のテスト方法。
【請求項13】
請求項12記載の半導体装置のテスト方法において、
前記第1のステップと前記第2のステップは、前記半導体装置の電源投入に応じて行われる、
半導体装置のテスト方法。
【請求項14】
請求項12記載の半導体装置のテスト方法において、
前記第1のステップと前記第2のステップは、前記半導体装置の量産テスト時に装置外部からの命令に応じて実行される、
半導体装置のテスト方法。
【請求項15】
請求項12記載の半導体装置のテスト方法において、
前記第1のスキャンチェーンに組み込まれる前記ロジック回路には、前記メモリ回路へアクセス命令を発行するメモリ前段ロジック回路と、前記メモリ回路からのリードデータが入力されるメモリ後段ロジック回路とが含まれる、
半導体装置のテスト方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体装置および半導体装置のテスト方法に関し、例えば、自己診断回路(BIST(Built In Self Test)回路)を搭載した半導体装置の技術に関する。
【背景技術】
【0002】
特許文献1には、半導体集積回路におけるJTAGインタフェースによって制御可能なBIST回路を使って、半導体集積回路がユーザシステムに搭載された状態でのBISTの実現方法が示される。具体的には、パワーオンセルフテスト回路、パターン発生回路、ロジックBIST回路、メモリBIST回路等を備える。パワーオンセルフテスト回路は、自己診断実行信号がアサートされた場合、テストアクセスポートの外部端子群に代えてパターン発生回路の出力を選択し、パターン発生回路で生成されたテストパターンを各BIST回路へ供給する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2013−253840号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
例えば、自動車向けの機能安全規格であるISO26262の登場により、自己の故障を検知するBIST回路を搭載した半導体装置が増加している。ロジック回路およびメモリ回路を備えるマイクロコントローラ等の半導体装置では、特許文献1等に示されるように、ロジック回路をテストするロジックBIST回路と、メモリ回路をテストするメモリBIST回路とが搭載される。本明細書では、ロジックBIST回路をLBIST回路と称し、LBIST回路によるロジック回路のテスト(具体的にはスキャンテスト)をLBISTと称する。また、メモリBIST回路をMBIST回路と称し、MBIST回路によるメモリ回路のテストをMBISTと称す。
【0005】
LBISTおよびMBISTは、特許文献1等に示されるようなパワーオンセルフテスト回路を用いて、半導体装置の起動時(言い換えれば電源投入時)に実行される。このため、半導体装置の起動時間、ひいては、当該半導体装置を搭載した自動車等のシステムの起動時間を短縮するためには、自己診断に要する時間を短縮することが望まれる。一方、LBISTとMBISTは、通常、シリアルな手順で実行される。このようなシリアルな手順でテストを実行すると、自己診断に要する時間を十分に短縮できない恐れがある。
【0006】
後述する実施の形態は、このようなことに鑑みてなされたものであり、その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【0007】
一実施の形態による半導体装置は、メモリ回路、およびそのテスト用インタフェースを備えるメモリ回路ユニットと、ロジック回路と、メモリ回路をテストするメモリBIST回路と、ロジック回路とメモリBIST回路とをテストするロジックBIST回路とを有する。ロジック回路の少なくとも一部は、第1のスキャンチェーンに組み込まれ、メモリBIST回路は、第2のスキャンチェーンに組み込まれる。ロジックBIST回路は、第1のテストモードに設定された際に、第1のスキャンチェーンを対象とする第1のスキャンテストと、第2のスキャンチェーンを対象とする第2のスキャンテストとを並行して実行し、第2のテストモードに設定された際に、第2のスキャンテストを実行せずに第1のスキャンテストを実行する。メモリBIST回路は、第2のテストモードに設定された際に、第1のスキャンテストと並行してメモリ回路のテストを実行する。第1のスキャンテストの実行時間は、第2のスキャンテストの実行時間よりも長く、ロジックBIST回路は、第2のスキャンテストを完了した段階で、第1のテストモードに伴うテストを完了する。
【発明の効果】
【0008】
前記一実施の形態によれば、自己診断に要する時間を短縮可能になる。
【図面の簡単な説明】
【0009】
図1】本発明の実施の形態1による半導体装置の主要部の構成例を示す概略図である。
図2図1におけるPOST回路の概略動作例を示すフロー図である。
図3図1の半導体装置において、図2のLBISTモード時の概略動作例を示す説明図である。
図4図1の半導体装置において、図2の同時テストモード時の概略動作例を示す説明図である。
図5図1におけるメモリ回路ユニット周りの概略構成例を示す回路図である。
図6A図5のメモリ回路ユニット周りのLBISTモード時の動作例を示す図である。
図6B図5のメモリ回路ユニット周りの同時テストモード時の動作例を示す図である。
図7】本発明の実施の形態1による半導体装置を用いた場合の効果の一例を示す模式図である。
図8A】本発明の実施の形態2による半導体装置において、図1の半導体装置内のメモリ回路ユニットの概略構成例を示す回路図である。
図8B図8AにおけるLBISTモード時および同時テストモード時の動作例を示す図である。
図9図8Aにおける各種制御信号の状態例を示す図である。
図10A】本発明の実施の形態2による半導体装置において、図1の半導体装置内のメモリ回路ユニットの他の概略構成例を示す回路図である。
図10B図10AにおけるLBISTモード時および同時テストモード時の動作例を示す図である。
図11A】本発明の実施の形態2による半導体装置において、図1の半導体装置内のメモリ回路ユニットの更に他の概略構成例を示す回路図である。
図11B図11AにおけるLBISTモード時および同時テストモード時の動作例を示す図である。
図12】本発明の実施の形態3による半導体装置の主要部の構成例を示す概略図である。
図13】(a)は、LBIST回路の概要を示す図であり、(b)は、MBIST回路の概要を示す図である。
図14】本発明の比較例となる半導体装置の主要部の構成例を示す概略図である。
図15図14におけるメモリ回路ユニット周りの概略構成例を示す回路図である。
図16図15のメモリ回路ユニット周りの動作例を示す図である。
【発明を実施するための形態】
【0010】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。
【0011】
さらに、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
【0012】
また、実施の形態の各機能ブロックを構成する回路素子は、特に制限されないが、公知のCMOS(相補型MOSトランジスタ)等の集積回路技術によって、単結晶シリコンのような半導体基板上に形成される。
【0013】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0014】
(実施の形態1)
《LBIST回路およびMBIST回路の概要》
図13(a)は、LBIST回路の概要を示す図であり、図13(b)は、MBIST回路の概要を示す図である。図13(a)には、テスト装置ATEと、JTAG(Joint Test Action Group)インタフェース回路JTAGIFと、LBIST回路LBTと、ロジック回路LGCと、スキャンフリップフロップ回路SFFa,SFFbとが示される。テスト装置ATEは、例えば、量産時に半導体装置に結合される量産用テスタや、配線基板上に実装された半導体装置に対して結合可能な各種情報処理装置等である。
【0015】
JTAGインタフェース回路JTAGIFは、テスト装置ATEとLBIST回路LBTとの間のJTAG規格に基づく通信インタフェースを担う。ここでは、JTAGインタフェース回路JTAGIFは、テスト装置ATEからのテスト実行命令を表す各種制御信号SCTLをLBIST回路LBTへ伝送し、また、LBIST回路LBTからのテスト結果TRをテスト装置ATEへ伝送する。
【0016】
スキャンフリップフロップ回路SFFaとスキャンフリップフロップ回路SFFbは、ロジック回路LGCを介して結合され、さらに、スキャンチェーンによってロジック回路LGCを介さずに結合される。すなわち、スキャンフリップフロップ回路SFFa,SFFbは、スキャンイネーブル信号に応じて入力信号Dかスキャンイン信号SIかを選択的にラッチすることができ、ロジック回路LGCを介する信号伝送経路か、スキャンイン信号SIを介したシフトレジスタ状の信号伝送経路(スキャンチェーン経路)かを選択することができる。
【0017】
LBIST回路LBTは、テストパターン生成回路TPGlと、結果判定回路JDGlとを備える。テストパターン生成回路TPGlは、各種制御信号SCTLに応じて、例えば、LFSR(Linear Feedback Shift Register)等を用いてテストパターンTPを生成し、それをスキャンチェーンの初段のスキャンフリップフロップ回路(ここではSFFa)のスキャンイン信号SIとして出力する。結果判定回路JDGlは、例えば、MISR(Multiple Input Signature Register)等を用いてスキャンチェーンの最終段のスキャンフリップフロップ回路(ここではSFFb)からのスキャンアウト信号SOを時間方向で圧縮する。そして、結果判定回路JDGIは、その圧縮結果を予め判明している期待値と比較することで良否判定を行い、テスト結果TRを生成する。
【0018】
また、LBIST回路LBTは、スキャンイン動作、キャプチャ動作、スキャンアウト動作からなるスキャンテストの制御を行う。スキャンイン動作では、LBIST回路LBTは、スキャンフリップフロップ回路SFFa,SFFbに対し、スキャンイネーブル信号を用いてスキャンイン信号SI側を選択させ、クロック信号を順次供給しながらスキャンチェーン経路でテストパターンTPをシリアルに設定する。キャプチャ動作では、LBIST回路LBTは、スキャンフリップフロップ回路SFFa,SFFbに対し、スキャンイネーブル信号を用いて入力信号D側を選択させ、クロック信号を印加することでロジック回路LGCを介した信号伝送を行わせる。
【0019】
スキャンアウト動作では、LBIST回路LBTは、スキャンフリップフロップ回路SFFa,SFFbに対し、スキャンイネーブル信号を用いてスキャンイン信号SI側を選択させ、クロック信号を順次供給しながらキャプチャ動作後のデータをスキャンアウト信号SOとしてシリアルに出力させる。このスキャンアウト動作の際には、並行してスキャンイン動作も行われる。
【0020】
図13(b)には、テスト装置ATEと、JTAGインタフェース回路JTAGIFと、MBIST回路MBTと、ラッパ回路WRPで囲まれたメモリ回路RAMとが示される。テスト装置ATEおよびJTAGインタフェース回路JTAGIFは、対象がLBIST回路LBTからMBIST回路MBTに置き換わったことを除いて図13(a)の場合と同様である。ラッパ回路WRPは、選択回路SEL0を含み、メモリ回路RAMに対するテスト用インタフェースを担う。なお、一般的に、MBIST回路MBTを含めてラッパ回路と呼ばれる場合もある。また、メモリ回路RAMは、例えば、ハードマクロ等で構成される。
【0021】
MBIST回路MBTは、テストパターン生成回路TPGmと、結果判定回路JDGmとを備える。テストパターン生成回路TPGmは、各種制御信号SCTLに応じて、例えば、シーケンサ等を用いて、コマンド信号CMD、アドレス信号ADDおよびライトデータWDを生成し、加えて期待値データEXDを生成する。結果判定回路JDGmは、メモリ回路RAMからのリードデータRDと、テストパターン生成回路TPGmからの期待値データEXDとを比較することで良否判定を行い、テスト結果TRを生成する。
【0022】
選択回路SEL0は、ロジック回路LGC(すなわちメモリ前段ロジック回路)からの各種信号か、テストパターン生成回路TPGmからの各種信号かを選択し、メモリ回路RAMへ出力する。選択回路SEL0は、MBIST回路MBTによるメモリ回路RAMのテストが行われる際には、所定の回路からの指示に応じて、テストパターン生成回路TPGmからの各種信号を選択する。
【0023】
《半導体装置(比較例)の構成》
ここで、実施の形態の半導体装置の説明に先立ち、比較例となる半導体装置について説明する。図14は、本発明の比較例となる半導体装置の主要部の構成例を示す概略図である。図15は、図14におけるメモリ回路ユニット周りの概略構成例を示す回路図である。図14に示す半導体装置DEV’は、例えば、1個の半導体チップで構成されるマイクロコントローラ等であり、例えば、自動車の電子制御装置(ECU:Electronic Control Unit)等に搭載される。
【0024】
当該半導体装置DEV’は、システム制御回路SYSCTと、POST(Power On Self Test)回路PSTC’と、LBIST回路LBT’_A,LBT’_Bと、MBIST制御回路MBTCT’と、LBIST用結果格納レジスタLBT_RREGと、MBIST用結果格納レジスタMBT_RREGとを備える。また、半導体装置DEV’は、テスト対象の回路として、ロジック回路LGC0〜LGC3と、MBIST回路MBT1,MBT2と、メモリ回路ユニットRAMU’1,RAMU’2とを備える。
【0025】
システム制御回路SYSCTは、半導体装置DEV’全体の状態管理等を行い、その機能の一つとして、半導体装置DEV’の電源投入を検出し、パワーオンリセット信号RSTをアサートする。POST回路PSTC’は、パワーオンリセット信号RSTのアサートに応じて、LBISTモード信号MD_LBT’およびMBISTモード信号MD_MBTを適宜アサートし、当該モード信号によってLBIST回路LBT’_AおよびMBIST制御回路MBTCT’にLBISTおよびMBISTの開始命令を発行する。また、この際に、POST回路PSTC’は、LBISTやMBISTに必要な各種設定情報等を制御信号SCTLによって通知する。
【0026】
LBIST回路LBT’_A,LBT’_Bは、図13(a)のLBIST回路LBTに相当する。LBIST回路LBT’_Aは、例えば、図13(a)のテストパターン生成回路TPGl等を備える。LBIST回路LBT’_Aは、LBISTモード信号MD_LBT’のアサートに応じてLBISTモードに設定される。LBIST回路LBT’_Aは、LBISTモードに設定された際に、LBISTイネーブル信号LBT_ENをアサートし、スキャンイネーブル信号SC_ENを制御しながら各スキャンチェーンを対象とするスキャンテスト(すなわちLBIST)を実行する。LBIST回路LBT’_Bは、例えば、図13(a)の結果判定回路JDGl等を備え、テスト結果の圧縮や良否判定等を行い、当該良否判定結果をLBIST用結果格納レジスタLBT_RREGに格納する。
【0027】
MBIST回路MBT1,MBT2のそれぞれは、MBIST制御回路MBTCT’を含めて図13(b)のMBIST回路MBTに相当する。MBIST制御回路MBTCT’は、MBISTモード信号MD_MBTのアサートに応じてMBISTモードに設定され、当該MBISTモードに設定された際に、MBISTイネーブル信号MBT_ENをアサートする。また、MBIST制御回路MBTCT’は、MBIST回路MBT1,MBT2に対し、MBIST前の各種初期設定等を行う。
【0028】
MBIST回路MBT1,MBT2のそれぞれは、例えば、図13(b)のテストパターン生成回路TPGmおよび結果判定回路JDGm等を備える。MBIST回路MBT1は、MBISTイネーブル信号MBT_ENのアサートに応じて、メモリ回路ユニットRAMU’1内のメモリ回路(図15のRAM)をテストし、当該テスト結果(良否判定結果)をMBIST用結果格納レジスタMBT_RREGに格納する。同様に、MBIST回路MBT2も、MBISTイネーブル信号MBT_ENのアサートに応じて、メモリ回路ユニットRAMU’2内のメモリ回路(RAM)をテストし、当該テスト結果をMBIST用結果格納レジスタMBT_RREGに格納する。
【0029】
ロジック回路LGC0〜LGC3のそれぞれは、所定の論理演算を行う。ここでは、ロジック回路LGC0は、CPU(Central Processing Unit)である。また、図14の例では、ロジック回路LGC0〜LGC2は、スキャンチェーンSC1’に組み込まれ、MBIST回路MBT1,MBT2とロジック回路LGC3は、スキャンチェーンSC2’に組み込まれる。ここでは、便宜上、2本のスキャンチェーンSC1’,SC2’が設けられるが、実際には、更に多くのスキャンチェーンが設けられる場合が多い。すなわち、ロジック回路全体(ロジック回路LGC0〜LGC3や図示しない他のロジック回路)に対して多くのスキャンチェーンが設けられ、当該ロジック回路全体の少なくとも一部がスキャンチェーンSC1’に組み込まれることになる。
【0030】
LBIST回路LBT’_A,LBT’_Bは、LBISTモードに設定された際に、スキャンチェーンSC1’を対象とするスキャンテストと、スキャンチェーンSC2’を対象とするスキャンテストとを並行して実行する。この際には、MBIST回路MBT1,MBT2自体もロジック回路であるため、スキャンテスト(すなわちLBIST)の対象となる。
【0031】
メモリ回路ユニットRAMU’は、図15に示されるように、メモリ回路RAMに加えて、テスト用インタフェースとなるバイパス用スキャンフリップフロップ回路SFF_BPおよび選択回路SEL1を備える。メモリ回路RAMは、例えば、SRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)等の揮発性メモリである。メモリ回路RAMは、詳細は省略するが、アレイ状に配置された複数のメモリセルからなるメモリアレイと、アクセス先のメモリセルの選択等を行う各種周辺回路等を備える。マイクロコントローラ等に内蔵されるメモリ回路RAMは、ハードマクロRAM_HMで構成される場合が多い。
【0032】
選択回路SEL1は、LBISTイネーブル信号LBT_ENに応じてメモリ回路RAMの出力信号かバイパス用スキャンフリップフロップ回路SFF_BPの出力信号かを選択し、選択した信号を出力信号DOとして出力する。バイパス用スキャンフリップフロップ回路SFF_BPは、メモリ回路RAMの入出力をバイパスする機能を担い、メモリ回路RAMへの入力信号DIかスキャンイン信号SIかを選択的にラッチする。具体的には、バイパス用スキャンフリップフロップ回路SFF_BPは、スキャンイネーブル信号SC_ENに応じて入力信号DIかスキャンイン信号SIかを選択するスキャン用選択回路SELs1と、その出力信号をラッチするフリップフロップ回路FF_BPとを備える。なお、他のスキャンフリップフロップ回路(図15のSFF1等)も同様の構成となっている。
【0033】
メモリ回路ユニットRAMU’の周辺には、選択回路SEL0と、ロジック回路LGC3a,LGC3bと、MBIST回路MBT等が設けられる。ロジック回路LGC3a,LGC3bは、図14のロジック回路LGC3に含まれる。ロジック回路LGC3aは、複数のスキャンフリップフロップ回路SFF1,SFF2を含み、メモリ回路RAMへアクセス命令を発行するメモリ前段ロジック回路に該当する。ロジック回路LGC3bは、複数のスキャンフリップフロップ回路SFF3,SFF4を含み、メモリ回路RAMからのリードデータが入力されるメモリ後段ロジック回路に該当する。また、MBIST回路MBTも、複数のスキャンフリップフロップ回路SFF5,SFF6を含む。
【0034】
選択回路SEL0は、テスト用インタフェースの一つであり、ロジック回路(メモリ前段ロジック回路)LGC3aからの信号かMBIST回路MBTからの信号かを選択し、当該選択した信号をメモリ回路RAMとバイパス用スキャンフリップフロップ回路SFF_BPへ出力する。選択回路SEL0の選択は、MBISTイネーブル信号MBT_ENをラッチするスキャンフリップフロップ回路SFF7によって行われる。また、メモリ回路ユニットRAMU’からの出力信号DOは、MBIST回路MBTとロジック回路(メモリ後段ロジック回路)LGC3bへ伝送される。
【0035】
《半導体装置(比較例)の動作および問題点》
図14に示す半導体装置DEV’では、まず、POST回路PSTC’は、LBISTモード信号MD_LBT’をアサートする。これに応じて、LBIST回路LBT’_A,LBT’_Bは、スキャンチェーンSC1’,SC2’を対象とするスキャンテストを並行して実行する。その後、POST回路PSTC’は、LBIST回路LBT’_A,LBT’_BによるLBISTが完了した段階で、MBISTモード信号MD_MBTをアサートする。これに応じて、MBT回路MBT1,MBT2は、それぞれ、メモリ回路ユニットRAMU’1,RAMU’2内の各メモリ回路RAMをテストする。このように、LBISTとMBISTは、シリアルな手順で実行される。
【0036】
図16は、図15のメモリ回路ユニット周りの動作例を示す図である。図16に示されるように、各スキャンフリップフロップ回路SFF1〜SFF6と、バイパス用スキャンフリップフロップ回路SFF_BPは、スキャンチェーンSC2’として任意の順番で接続される。スキャンチェーンSC2’を対象としたスキャンテストでは、選択回路SEL1は、LBISTイネーブル信号LBT_ENのアサートに伴い‘1’側に固定され、キャプチャ動作時に、図16の信号伝送経路TPH_L2’がテストされる。すなわち、ロジック回路LGC3aからバイパス用スキャンフリップフロップ回路SFF_BPを介してロジック回路LGC3bへ到る経路と、MBIST回路MBTからバイパス用スキャンフリップフロップ回路SFF_BPを介してMBIST回路MBTへ到る経路とがテストされる。
【0037】
この際には、例えば、スキャンフリップフロップ回路SFF7もスキャンチェーンSC2’に組み込むことで、バイパス用スキャンフリップフロップ回路SFF_BPへ向けた、MBIST回路MBTからの入力経路と、ロジック回路LGC3aからの入力経路を適宜切り替えながら、両方の入力経路をテストすることができる。バイパス用スキャンフリップフロップ回路SFF_BPは、このような両方の入力経路のテストを行うためと、スキャンフリップフロップ回路SFF3,SFF6の値を不定値にしないために設けられる。仮に、バイパス用スキャンフリップフロップ回路SFF_BPを設けない場合、キャプチャ動作時の出力信号DOは、メモリ回路RAMの出力信号(すなわち不定値)となり、不定値があると、スキャンテスト(LBIST)を行うことが困難となり得る。
【0038】
このようにして信号伝送経路TPH_L2’のテストが完了すると、選択回路SEL0は、MBISTイネーブル信号MBT_ENのアサートに伴いMBIST回路MBT側を選択し、選択回路SEL1は、LBISTイネーブル信号LBT_ENのネゲートに伴いメモリ回路RAM側を選択する。この状態で、MBIST回路MBTは、図16の信号伝送経路TPH_Mを介してメモリ回路RAMをテストする。
【0039】
以上のように、図15および図16では、スキャンチェーンSC2’に、MBIST回路MBT、ロジック回路(メモリ前段ロジック回路)LGC3a、およびロジック回路(メモリ後段ロジック回路)LGC3b等が組み込まれている。このため、第1の問題点として、自己診断に要する時間が長くなることが挙げられる。具体的には、LBIST回路LBT’_A,LBT’_BによるスキャンチェーンSC2’を対象としたスキャンテストの実行時間が長くなることから、自己診断に要する時間も長くなる。さらに、MBIST回路MBTは、当該スキャンテストの対象となっているため、当該スキャンテストが終わった後でなければ、メモリ回路RAMのテストを実行することができない。このため、LBISTとMBISTは、シリアルな手順で実行されることになり、自己診断に要する時間は、さらに長くなる。
【0040】
そこで、本発明者は、例えば、ロジック回路LGC3a,LGC3bをスキャンチェーンSC2’から別のスキャンチェーンに移行することを検討した。これにより、スキャンチェーンSC2’を対象とするスキャンテストの実行時間を短縮でき、その後に、別のスキャンチェーンを対象とするスキャンテストと並行してMBISTを行える可能性がある。ただし、この場合、第2の問題点として、MBISTとLBISTが互いに干渉する結果、MBISTとLBISTを並行して実行することが困難となる恐れがある。
【0041】
具体的には、図16において、MBISTの実行期間における出力信号DOは、メモリ回路RAMによって定められる。その結果、別のスキャンチェーンを対象とするスキャンテストを並行して実行すると、キャプチャ動作の際に、論理回路LGC3b内の初段のスキャンフリップフロップ回路SFF3に不定値が入力されることになる。このように、MBISTとLBISTが互いに干渉する結果、図16では、スキャンチェーンSC2’からロジック回路LGC3bを切り離すことは困難となる。また、MBISTと並行して、バイパス用スキャンフリップフロップ回路SFF_BPを用いたスキャンテスト(LBIST)を行うことも困難となる。すなわち、この場合、バイパス用スキャンフリップフロップ回路SFF_BPには、キャプチャ動作時に、MBIST回路MBTからの出力信号が入力され得るため、スキャンテストの観点では不定値が入力されることになる。
【0042】
《半導体装置(実施の形態1)の構成》
図1は、本発明の実施の形態1による半導体装置の主要部の構成例を示す概略図である。図1に示す半導体装置DEVは、図14に示した半導体装置DEV’と比較して、POST回路PSTC、LBIST回路LBT_A,LBT_BおよびMBIST制御回路MBTCTの入出力信号が若干異なっており、また、メモリ回路ユニットRAMU1,RAMU2の構成が異なっている。さらに、図1に示す半導体装置DEVは、図14に示した半導体装置DEV’と異なり、ロジック回路LGC3がスキャンチェーンSC2ではなく、スキャンチェーンSC1に組み込まれている。以降、図14との相違点に着目して説明を行う。
【0043】
POST回路PSTCは、LBISTモード信号MD_LBTおよびMBISTモード信号MD_MBTに加えて、LBIST/MBIST同時テストモード(同時テストモードと略す)信号MD_LMを生成する。LBIST回路LBT_A,LBT_Bは、LBISTモード信号MD_LBTのアサートに応じてLBISTモードに設定される。LBIST回路LBT_Aは、当該LBISTモードに設定された際に、LBISTイネーブル信号LBT_EN1,LBT_EN2をアサートし、スキャンチェーンSC1を対象とするスキャンテストとスキャンチェーンSC2を対象とするスキャンテストとを並行して実行する。すなわち、LBIST回路LBT_Aは、スキャンイネーブル信号SC_EN1を制御しながらスキャンチェーンSC1を対象とするLBISTを実行し、これと並行して、スキャンイネーブル信号SC_EN2を制御しながらスキャンチェーンSC2を対象とするLBISTを実行する。
【0044】
また、LBIST回路LBT_A,LBT_Bは、同時テストモード信号MD_LMのアサートに応じて同時テストモードに設定される。LBIST回路LBT_Aは、当該同時テストモードに設定された際に、LBISTイネーブル信号LBT_EN1をアサートし、スキャンイネーブル信号SC_EN1を制御しながらスキャンチェーンSC1を対象とするスキャンテストを実行する。
【0045】
すなわち、LBIST回路LBT_Aは、当該同時テストモードに設定された際には、スキャンチェーンSC2を対象とするスキャンテストを実行しない。LBIST回路LBT_Bの構成および動作は、図14のLBIST回路LBT’_Bの場合とほぼ同様である。ただし、LBIST回路LBT_Bは、LBISTモードに設定された際には、スキャンチェーンSC1,SC2からのスキャンアウト信号を受けて動作し、同時テストモードに設定された際には、スキャンチェーンSC1のみからのスキャンアウト信号を受けて動作する。
【0046】
MBIST制御回路MBTCTは、同時テストモード信号MD_LMのアサートに応じて同時テストモードに設定され、当該同時テストモードに設定された際に、MBISTイネーブル信号MBT_ENをアサートする。MBIST回路MBT1,MBT2は、それぞれ、図14の場合と同様に、MBISTイネーブル信号MBT_ENのアサートに応じて、メモリ回路ユニットRAMU1,RAMU2内のメモリ回路(例えば後述する図5のRAM)をテストする。なお、POST回路PSTCからのMBISTモード信号MD_MBTは、図14の場合と同様に、LBISTとMBISTの同時実行ではなくMBISTのみを実行したい場合に用いられる。実施の形態1では、MBISTモード信号MD_MBTを削除することも可能である。
【0047】
メモリ回路ユニットRAMU1,RAMU2は、詳細は後述するが、図14の場合と異なり、一部の回路(具体的には、バイパス用スキャンフリップフロップ回路)がスキャンチェーンSC1に組み込まれる。このため、メモリ回路ユニットRAMU1,RAMU2には、LBISTイネーブル信号LBT_EN1、スキャンイネーブル信号SC_EN1およびMBISTイネーブル信号MBT_ENが入力される。また、MBIST回路MBT1,MBT2には、LBISTイネーブル信号LBT_EN2、スキャンイネーブル信号SC_EN2およびMBISTイネーブル信号MBT_ENが入力される。
【0048】
《半導体装置(実施の形態1)の全体動作》
図2は、図1におけるPOST回路の概略動作例を示すフロー図である。図3は、図1の半導体装置において、図2のLBISTモード時の概略動作例を示す説明図であり、図4は、図1の半導体装置において、図2の同時テストモード時の概略動作例を示す説明図である。図2において、POST回路PSTCは、まず、システム制御回路SYSCTからのパワーオンリセット信号RSTを受信する(ステップS101)。当該パワーオンリセット信号RSTの受信に応じて(言い換えれば、半導体装置DEVの電源投入に応じて)、POST回路PSTCは、LBISTモード信号MD_LBTをアサートすることで、LBIST回路LBT_A,LBT_BをLBISTモードに設定する(ステップS102)。
【0049】
これに応じて、LBIST回路LBT_A,LBT_Bは、図3の太線で示されるように、LBISTイネーブル信号LBT_EN1,LBT_EN2をアサートし、スキャンイネーブル信号SC_EN1,SC_EN2を制御しながら、スキャンチェーンSC1,SC2のスキャンテストを並行して実行する。この際には、メモリ回路ユニットRAMU1,RAMU2内のスキャンチェーンSC1の回路も、スキャンチェーンSC1のテスト対象に含まれる。
【0050】
図2に戻り、POST回路PSTCは、LBISTモードのテストが完了したか否かを判定する(ステップS103)。ここで、スキャンチェーンSC2に組み込まれる回路(ここではMBT1,MBT2)は、スキャンチェーンSC1に組み込まれる回路(ここでは、LGC0〜LGC3)よりも十分に小さくなっている。このため、スキャンチェーンSC1を対象とするスキャンテストの実行時間は、スキャンチェーンSC2を対象とするスキャンテストの実行時間よりも長くなる。
【0051】
具体的には、スキャンチェーンSC1のスキャンテストで必要とされるテストパターンの数は、スキャンチェーンSC2のスキャンテストで必要とされるテストパターンの数よりも十分に多くなる。LBISTモードのテストは、当該スキャンチェーンSC2のスキャンテストが完了した段階で完了する。すなわち、LBISTモードのテストは、スキャンチェーンSC2のスキャンテストで必要とされるテストパターンが全てテストされ、スキャンチェーンSC1のスキャンテストで必要とされるテストパターンがまだ残っている段階で完了する。この観点で、図1におけるLBISTモード信号MD_LBTは、図14におけるLBISTモード信号MD_LBT’とは若干意味合いが異なる。
【0052】
POST回路PSTCは、例えば、LBIST回路LBT_AからLBISTモードのテスト完了通知を受けたか否か等によってステップS103の判定を行う。POST回路PSTCは、ステップS103で完了と判定した場合には、同時テストモード信号MD_LMをアサートすることで、LBIST回路LBT_A,LBT_BおよびMBIST回路MBT1,MBT2を同時テストモードに設定する(ステップS104)。
【0053】
これに応じて、LBIST回路LBT_Aは、図4の太線で示されるように、LBISTイネーブル信号LBT_EN1をアサートし、スキャンイネーブル信号SC_EN1を制御しながら、スキャンチェーンSC1のスキャンテストを実行する。すなわち、LBIST回路LBT_A,LBT_Bは、前述したLBISTモードのテストで残ったテストパターンを用いてスキャンチェーンSC1のスキャンテストを引き続き実行する。この際には、メモリ回路ユニットRAMU1,RAMU2内のスキャンチェーンSC1の回路も、スキャンチェーンSC1のテスト対象に含まれる。
【0054】
また、MBIST制御回路MBTCTは、図4の太線で示されるように、同時テストモード信号MD_LMのアサートに応じて、MBISTイネーブル信号MBT_ENをアサートする。これに応じて、MBIST回路MBT1,MBT2は、LBIST回路LBT_A,LBT_BによるスキャンチェーンSC1のスキャンテストと並行して、それぞれ、メモリ回路ユニットRAMU1,RAMU2内のメモリ回路をテストする。
【0055】
その後、POST回路PSTCは、例えば、LBIST回路LBT_AおよびMBIST回路MBT1,MBT2から共に同時テストモードのテスト完了通知を受けたか否か等によって同時テストモードのテストが完了したか否かを判定する(ステップS105)。POST回路PSTCは、ステップS105で完了と判定した場合には、LBIST用結果格納レジスタLBT_RREGと、MBIST用結果格納レジスタMBT_RREGを参照する(ステップS106)。当該レジスタ参照の結果、POST回路PSTCは、エラー無しと判定した場合には、システム制御回路SYSCT等へシステムの起動を指示し、エラー有りと判定した場合には、所定のエラー処理を行う(ステップS107〜S109)。
【0056】
以上のように、同時テストモードを設けることで、前述した第1の問題点を解決でき、自己診断に要する時間を短縮することが可能になる。すなわち、MBISTのみが実行される期間を省き、LBISTの実行期間にMBISTの実行期間を埋め込むことができる。なお、図2において、ステップS102,S103の処理とステップS104,S105の処理は、入れ替えることが可能である。すなわち、先に同時テストモードによるテストを行った後にLBISTモードによるテストを行ってもよい。
【0057】
また、図2では、ステップS107でエラー判定を行っているため、スキャンチェーンSC2(すなわちMBIST回路MBT1,MBT2)に対するスキャンテストのエラー有無に関わらず、同時テストモードによるテストを行った。ただし、場合によっては、スキャンチェーンSC2に対するスキャンテストにエラーが有る場合には、MBISTを行わないようなフローを用いることも可能である。
【0058】
《メモリ回路ユニット周りの構成および動作》
図5は、図1におけるメモリ回路ユニット周りの概略構成例を示す回路図である。ここでは、図15の構成例との相違点に着目して説明を行う。図5に示すメモリ回路ユニットRAMU_Aは、図15の場合と同様のメモリ回路RAMおよびバイパス用スキャンフリップフロップ回路SFF_BPを備える。ただし、バイパス用スキャンフリップフロップ回路SFF_BPのスキャンイン信号SIは、図15の場合と異なり、スキャンチェーンSC1に組み込まれるロジック回路LGC0〜LGC3内のいずれかのスキャンフリップフロップ回路の出力信号となっている。すなわち、バイパス用スキャンフリップフロップ回路SFF_BPは、スキャンチェーンSC1に組み込まれる。
【0059】
また、メモリ回路ユニットRAMU_Aは、デコーダDECおよび経路切り替え回路PSWを備える。デコーダDECは、LBISTイネーブル信号LBT_EN1、スキャンイネーブル信号SC_EN1およびMBISTイネーブル信号MBT_ENを受けて、バイパス用スキャンフリップフロップ回路SFF_BP内のスキャン用選択回路SELs1を制御し、さらに、経路切り替え回路PSWの入出力経路を制御する。
【0060】
詳細は後述するが、経路切り替え回路PSWは、LBISTモードに設定された際に、バイパス用スキャンフリップフロップ回路SFF_BPの出力信号を、MBIST回路MBTとロジック回路(メモリ後段ロジック回路)LGC3bへ伝送する。この際に、MBIST回路MBTには、出力信号DObが伝送され、ロジック回路LGC3bには、出力信号DObと同じ出力信号DOlが伝送される。また、経路切り替え回路PSWは、同時テストモードに設定された際に、バイパス用スキャンフリップフロップ回路SFF_BPの出力信号をロジック回路LGC3bへ伝送し、メモリ回路RAMの出力信号をMBIST回路MBTへ伝送する。この際に、MBIST回路MBTには、出力信号DObが伝送され、ロジック回路LGC3bには、出力信号DObと異なる出力信号DOlが伝送される。
【0061】
また、図5では、図15の場合と異なり、メモリ回路RAMへアクセス命令を発行するロジック回路(メモリ前段ロジック回路)LGC3aと、メモリ回路RAMからのリードデータが入力されるロジック回路(メモリ後段ロジック回路)LGC3bは、スキャンチェーンSC1に組み込まれる。なお、MBIST回路MBTは、図15の場合と同様に、スキャンチェーンSC2に組み込まれる。
【0062】
図6Aは、図5のメモリ回路ユニット周りのLBISTモード時の動作例を示す図である。図6Aにおいて、ロジック回路LGC3a,LGC3b内の各スキャンフリップフロップ回路SFF1〜SFF4と、バイパス用スキャンフリップフロップ回路SFF_BPと、図1におけるロジック回路LGC0〜LGC2内の各スキャンフリップフロップ回路は、スキャンチェーンSC1として任意の順番で接続される。
【0063】
LBISTモード時におけるスキャンチェーンSC1を対象としたスキャンテストでは、キャプチャ動作時に、図6Aの信号伝送経路TPH_L1がテストされる。すなわち、ロジック回路LGC3aからバイパス用スキャンフリップフロップ回路SFF_BPを介してロジック回路LGC3bへ到る経路がテストされる。この際に、スキャン用選択回路SELs1は、通常通り、スキャンイネーブル信号SC_EN1によって制御される。
【0064】
また、LBISTモード時におけるスキャンチェーンSC2を対象としたスキャンテストでは、キャプチャ動作時に、図6Aの信号伝送経路TPH_L2がテストされる。すなわち、MBIST回路MBTからバイパス用スキャンフリップフロップ回路SFF_BPを介してMBIST回路MBTへ到る経路がテストされる。この際には、例えば、スキャンフリップフロップ回路SFF7をスキャンチェーンSC2に組み込むことで、バイパス用スキャンフリップフロップ回路SFF_BPへ向けた、MBIST回路MBTからの入力経路と、ロジック回路LGC3aからの入力経路を適宜切り替えながら、両方の入力経路をテストすることができる。
【0065】
ただし、ここでは、バイパス用スキャンフリップフロップ回路SFF_BPは、図15の場合と異なり、スキャンチェーンSC1とスキャンチェーンSC2とで共用されることになる。また、スキャンチェーンSC1とスキャンチェーンSC2のスキャンイン動作、キャプチャ動作、スキャンアウト動作は同期していることを前提とする。その結果、例えば、キャプチャ動作時に、スキャンチェーンSC2で設定したスキャンフリップフロップ回路SFF5のテストパターンがスキャンチェーンSC1のバイパス用スキャンフリップフロップ回路SFF_BPに伝送される場合がある。また、スキャンチェーンSC1で設定したバイパス用スキャンフリップフロップ回路SFF_BPのテストパターンがスキャンチェーンSC2のスキャンフリップフロップ回路SFF6に伝送される場合もある。
【0066】
このようにスキャンチェーンSC1,SC2の一部が共用される場合であっても、図15の場合と同じく、各スキャンフリップフロップ回路SFF1〜SFF7およびバイパス用スキャンフリップフロップ回路SFF_BPでは、テストパターンを一義的に定めることができ、キャプチャ動作後の期待値パターンも一義的に定めることができる。したがって、予め、スキャンチェーンSC1,SC2の一部が共用されることを前提してテストパターンおよび期待値パターンを生成すれば、スキャンチェーンSC1,SC2のスキャンテストを並行して実行することが可能である。
【0067】
図6Bは、図5のメモリ回路ユニット周りの同時テストモード時の動作例を示す図である。同時テストモード時におけるスキャンチェーンSC1を対象としたスキャンテストでは、キャプチャ動作時に、図6Bの信号伝送経路TPH_L1a,TPH_L1bがテストされる。すなわち、ロジック回路LGC3a内の経路と、バイパス用スキャンフリップフロップ回路SFF_BPからロジック回路LGC3bへ到る経路がテストされる。この際に、スキャン用選択回路SELs1は、通常とは異なり、‘1’に固定される。これにより、バイパス用スキャンフリップフロップ回路SFF_BPは、スキャンイン動作時およびスキャンアウト動作時に加えてキャプチャ動作時にも、スキャンイン信号SI(すなわち、前段にスキャン接続されたスキャンフリップフロップ回路の出力信号)を固定的にラッチする。
【0068】
一方、MBIST回路MBTは、同時テストモード時には、図6Bの信号伝送経路TPH_Mを介してメモリ回路RAMをテストする。この際に、選択回路SEL0は、MBISTイネーブル信号MBT_ENのアサートに伴い‘1’に固定され、MBIST回路MBTからの信号を入力信号DIとしてメモリ回路RAMへ伝送する。
【0069】
ここで、スキャン用選択回路SELs1は、‘1’に固定されているため、図16の場合と異なり、バイパス用スキャンフリップフロップ回路SFF_BPが、MBIST回路MBTからのMBIST時の入力信号(すなわち不定値)をラッチすることはない。ただし、同時テストモードでは、LBISTモード時と異なり、論理回路LGC3a(スキャンフリップフロップ回路SFF2)からバイパス用スキャンフリップフロップ回路SFF_BPへの入力パス(言い換えれば、メモリ回路RAMへの入力パス)がテスト対象外となる。したがって、この入力パスは、LBISTモード時にテストされる必要がある。
【0070】
また、同時テストモード時には、経路切り替え回路PSWは、メモリ回路RAMからの出力信号(すなわちリードデータ)を出力信号DObとしてMBIST回路MBTへ伝送し、バイパス用スキャンフリップフロップ回路SFF_BPからの出力信号を出力信号DOlとしてロジック回路LGC3bへ伝送する。その結果、図16の場合と異なり、論理回路LGC3b内のスキャンフリップフロップ回路SFF3は、MBISTとLBISTを並行して実行する場合であっても、メモリ回路RAMからのリードデータ(すなわち不定値)をラッチすることはない。
【0071】
このようにして、図16で述べたMBISTとLBISTの干渉の問題(すなわち第2の問題点)を解決できる結果、MBISTと、バイパス用スキャンフリップフロップ回路SFF_BPを用いたLBISTとを並行して実行することが可能になる。また、論理回路LGC3a,LGC3bを別のスキャンチェーンSC1に移行することも可能になる。これにより、図2のフローを用いて、自己診断に要する時間を短縮することが可能になる。
【0072】
《実施の形態1の主要な効果》
図7は、本発明の実施の形態1による半導体装置を用いた場合の効果の一例を示す模式図である。図7に示されるように、図14図16に示したような比較例の方式を用いた場合、自己診断に要する時間は、時間T1と時間T2の合計値でほぼ定められる。時間T1は、LBISTモード信号MD_LBT’に伴うスキャンチェーンSC1’,SC2’のLBISTにそれぞれ要する時間の内の長い方の時間であり、時間T2は、MBISTモード信号MD_MBTに伴うMBISTに要する時間である。
【0073】
一方、実施の形態1の方式を用いた場合、自己診断に要する時間は、時間T3と時間T4の合計値でほぼ定められる。時間T3は、LBISTモード信号MD_LBTに伴うスキャンチェーンSC1,SC2のLBISTにそれぞれ要する時間の内の短い方(すなわちスキャンチェーンSC2側)の時間であり、時間T4は、同時テストモード信号MD_LMに伴うスキャンチェーンSC1の残りのLBISTに要する時間と、MBISTに要する時間の内の長い方の時間である。
【0074】
なお、時間T6は、MBISTに伴いMBIST回路MBT1,MBT2に各種初期設定を行うのに必要とされる時間である。また、時間T7は、MBISTに伴う各種初期設定と共に、LBISTの変更に伴う各種初期設定を行うのに必要とされる時間である。例えば、同時テストモードでは、スキャンチェーンの本数が減るため、LBIST回路LBT_B等の設定変更が必要とされる。
【0075】
図7に示されるように、理想的には、時間T3と時間T4の合計値が時間T1と同等となり、時間T4が時間T2と同等となるようにスキャンチェーンSC1,SC2を設計することができる。その結果、自己診断に要する時間を、比較例の場合よりも時間T5(≒T2)だけ短縮することが可能になる。実際には、時間T3と時間T4の合計値が時間T1よりも若干長くなる場合も生じ得るが、実施の形態1の方式を用いると、少なくとも、MBISTのみを単独で実行する期間が不必要となる(言い換えればMBISTとLBISTを並行して実行できる)分だけ、自己診断に要する時間を短縮できる。
【0076】
このように自己診断に要する時間を短縮できる結果、半導体装置、ひいては、当該半導体装置を搭載した電子制御装置(ECU)等の起動時間を短縮することが可能になる。また、自己診断に要する時間を比較例の場合と同等に定める場合、短縮した時間T5でテスト項目を追加することが可能になり、半導体装置の高信頼化が図れる。なお、ここでは、スキャンチェーンSC2は、MBIST回路MBT1,MBT2のみで構成されたが、場合によっては、他の回路が含まれていてもよい。すなわち、スキャンチェーンSC1で必要されるLBISTの実行時間よりもスキャンチェーンSC2で必要されるLBISTの実行時間の方が十分に短ければよい。
【0077】
(実施の形態2)
《メモリ回路ユニットの各種変形例》
図8Aは、本発明の実施の形態2による半導体装置において、図1の半導体装置内のメモリ回路ユニットの概略構成例を示す回路図である。図8Bは、図8AにおけるLBISTモード時および同時テストモード時の動作例を示す図である。図9は、図8Aにおける各種制御信号の状態例を示す図である。
【0078】
図8Aに示すメモリ回路ユニットRAMU_Bは、図6Aのメモリ回路ユニットRAMU_Aに対して、図6の経路切り替え回路PSWおよびデコーダDECの具体例が示されている。図6の経路切り替え回路PSWは、図8Aにおける2個の選択回路SEL10,SEL11で構成され、図6のデコーダDECは、図8Aにおけるオア演算回路OR10およびアンド演算回路AD10で構成される。
【0079】
選択回路SEL10は、メモリ回路RAMの出力信号かバイパス用スキャンフリップフロップ回路SFF_BPの出力信号かを選択する。選択回路SEL11は、選択回路SEL10の出力信号かバイパス用スキャンフリップフロップ回路SFF_BPの出力信号かを選択する。オア演算回路OR10は、スキャンイネーブル信号SC_EN1とMBISTイネーブル信号MBT_ENのオア演算を行い、その演算結果でスキャン用選択回路SELs1を制御する。アンド演算回路AD10は、MBISTイネーブル信号MBT_ENの反転信号と、LBISTイネーブル信号LBT_EN1とのアンド演算を行い、その演算結果で選択回路SEL10を制御する。選択回路SEL11は、LBISTイネーブル信号LBT_EN1によって制御される。
【0080】
図9に示されるように、LBISTモード時には、LBISTイネーブル信号LBT_EN1,LBT_EN2は、共に‘1’(アサートレベル)であり、MBISTイネーブル信号MBT_ENは‘0’(ネゲートレベル)であり、スキャンイネーブル信号SC_EN1は、通常のスキャンテストを行うため、0/1に適宜制御される。同時テストモード時には、LBISTイネーブル信号LBT_EN1とMBISTイネーブル信号MBT_ENは、共に‘1’(アサートレベル)であり、LBISTイネーブル信号LBT_EN2は‘0’(ネゲートレベル)であり、スキャンイネーブル信号SC_EN1は、図6Bで述べたように‘1’に固定される。
【0081】
一方、自己診断を完了したのちのユーザモードでは、LBISTイネーブル信号LBT_EN1,LBT_EN2およびMBISTイネーブル信号MBT_ENは、共に‘0’(ネゲートレベル)であり、スキャンイネーブル信号SC_EN1も、‘0’に固定される。なお、MBISTと、スキャンチェーンSC2(すなわちMBIST回路MBT)に対するLBISTは、同時には実行されない。このため、MBISTイネーブル信号MBT_ENとLBISTイネーブル信号LBT_EN2では、一方が‘1’(アサートレベル)であれば他方は‘0’(ネゲートレベル)であり、両方が‘1’とはならない。
【0082】
図8Bにおいて、LBISTモード時には、図9に基づき、スキャン用選択回路SELs1は、0/1のスキャンイネーブル信号SC_EN1で制御され、選択回路SEL10,SEL11は、共に、バイパス用スキャンフリップフロップ回路SFF_BPの出力信号を選択する。その結果、キャプチャ動作時に、スキャンチェーンSC1では信号伝送経路TPH_L1がテストされ、スキャンチェーンSC2では信号伝送経路TPH_L2がテストされる。
【0083】
一方、同時テストモード時には、図9に基づき、スキャン用選択回路SELs1は、‘1’に固定され、選択回路SEL10は、メモリ回路RAMの出力信号を選択し、選択回路SEL11は、バイパス用スキャンフリップフロップ回路SFF_BPの出力信号を選択する。その結果、スキャンチェーンSC1では、キャプチャ動作時に、信号伝送経路TPH_L1bがテストされ、これと並行して、MBIST回路は、信号伝送経路TPH_Mを介してメモリ回路RAMのMBISTを実行する。このように、信号伝送経路TPH_L1bと信号伝送経路TPH_Mは重複しないため、LBISTとMBISTは干渉しない。
【0084】
図10Aは、本発明の実施の形態2による半導体装置において、図1の半導体装置内のメモリ回路ユニットの他の概略構成例を示す回路図である。図10Bは、図10AにおけるLBISTモード時および同時テストモード時の動作例を示す図である。図10Aに示すメモリ回路ユニットRAMU_Cは、図8Aのメモリ回路ユニットRAMU_Bと比較して、別のバイパス用スキャンフリップフロップ回路SFF_BP2が追加され、また、選択回路SEL11の代わりにSEL21を備える。
【0085】
図10Aに示されるように、メモリ回路RAMに加えて図8Aに示したようなバイパス用スキャンフリップフロップ回路SFF_BPおよび選択回路SEL10が、予めハードマクロRAM_HM2として実装される場合がある。図10Aは、このようなハードマクロを用いた場合のメモリ回路ユニットの構成例である。バイパス用スキャンフリップフロップ回路SFF_BP2は、スキャン用選択回路SELs1と同様にオア演算回路OR10によって制御されるスキャン用選択回路SELs2を含む。これにより、バイパス用スキャンフリップフロップ回路SFF_BP2は、メモリ回路RAMへの入力信号DIかバイパス用スキャンフリップフロップ回路SFF_BPのスキャンイン信号と同じスキャンイン信号SI(すなわちスキャンチェーンSC1内のスキャンフリップフロップ回路の出力信号)かを選択的にラッチする。
【0086】
選択回路SEL10は、図8Aの場合と同様に、アンド演算回路AD10の演算結果に基づき、メモリ回路RAMの出力信号かバイパス用スキャンフリップフロップ回路SFF_BPの出力信号かを選択する。選択回路SEL21は、スキャンイネーブル信号LBT_EN1に基づき、選択回路SEL10の出力信号かバイパス用スキャンフリップフロップ回路SFF_BP2の出力信号かを選択する。
【0087】
図10Bにおいて、LBISTモード時には、図9に基づき、スキャン用選択回路SELs1,SELs2は、0/1のスキャンイネーブル信号SC_EN1で制御される。また、選択回路SEL10は、バイパス用スキャンフリップフロップ回路SFF_BPの出力信号を選択し、選択回路SEL21は、バイパス用スキャンフリップフロップ回路SFF_BP2の出力信号を選択する。その結果、キャプチャ動作時に、スキャンチェーンSC1では信号伝送経路TPH_L1がテストされ、スキャンチェーンSC2では信号伝送経路TPH_L2がテストされる。
【0088】
一方、同時テストモード時には、図9に基づき、スキャン用選択回路SELs1,SELs2は、‘1’に固定され、選択回路SEL10は、メモリ回路RAMの出力信号を選択し、選択回路SEL21は、バイパス用スキャンフリップフロップ回路SFF_BP2の出力信号を選択する。その結果、スキャンチェーンSC1では、キャプチャ動作時に、信号伝送経路TPH_L1bがテストされ、これと並行して、MBIST回路は、信号伝送経路TPH_Mを介してメモリ回路RAMのMBISTを実行する。このように、信号伝送経路TPH_L1bと信号伝送経路TPH_Mは重複しないため、LBISTとMBISTは干渉しない。
【0089】
図11Aは、本発明の実施の形態2による半導体装置において、図1の半導体装置内のメモリ回路ユニットの更に他の概略構成例を示す回路図である。図11Bは、図11AにおけるLBISTモード時および同時テストモード時の動作例を示す図である。図11Aに示すメモリ回路ユニットRAMU_Dは、図8Aの場合と同様の回路構成を備え、図8Bの場合と同様の動作を行う。ただし、ここでは、図8Aの場合と異なり、メモリ回路RAM、バイパス用スキャンフリップフロップ回路SFF_BPおよび選択回路SEL10がハードマクロRAM_HM3で構成される。
【0090】
当該ハードマクロRAM_HM3は、図10Aに示したハードマクロRAM_HM2と比較して、バイパス用スキャンフリップフロップ回路SFF_BPの出力信号をハードマクロRAM_HM3の外部に引き出すためのポートPTを備えた点が異なっている。このようなポートPTを備えることで、図10Aの構成例と比較して、メモリ回路ユニットの回路規模を低減することが可能になる。
【0091】
《実施の形態2の主要な効果》
以上、実施の形態2の半導体装置を用いることで、実施の形態1の場合と同様の効果が得られる。さらに、メモリ回路RAMが様々なハードマクロで構成される場合であっても、実施の形態1の方式を適用可能になる。
【0092】
(実施の形態3)
《半導体装置(変形例)の構成》
図12は、本発明の実施の形態3による半導体装置の主要部の構成例を示す概略図である。図12に示す半導体装置DEV2は、図1に示した半導体装置DEVと比較して、図1のPOST回路PSTCおよびシステム制御回路SYSCTがJTAGインタフェース回路JTAGIFおよびモードデコーダMDDECに置き換わった構成となっている。JTAGインタフェース回路JTAGIFは、JTAG規格に基づき装置外部との通信を行う。この例では、JTAGインタフェース回路JTAGIFは、装置外部に設けられる量産テスタ等のテスト装置ATEと通信を行う。
【0093】
モードデコーダMDDECは、装置外部からのJTAGインタフェース回路JTAGIFを介した命令に応じて、LBISTモード信号MD_LBT、MBISTモード信号MD_MBT、同時テストモード信号MD_LMを生成する。実施の形態1の場合と同様に、LBIST回路LBT_A,LBT_Bは、LBISTモード信号MD_LBTを受けてLBISTモードに設定され、同時テストモード信号MD_LMを受けて同時テストモードに設定される。また、MBIST制御回路MBTCTおよびMBIST回路MBT1,MBT2は、同時テストモード信号MD_LMを受けて同時テストモードに設定され、MBISTモード信号MD_MBTを受けて、図14図16の場合と同様のMBISTモードに設定される。
【0094】
テスト装置ATEは、図2の場合と同様に、例えば、LBISTモードの開始命令か同時テストモードの開始命令のいずれか一方をモードデコーダMDDECに向けて発行し、当該いずれか一方のテストが完了した際に、他方の開始命令をモードデコーダMDDECに向けて発行する。また、テスト装置ATEは、LBISTモードや同時テストモードに伴うテストの終了通知をLBIST回路LBT_AやMBIST制御回路MBTCT等から受信し、各モードのテスト結果をLBIST用結果格納レジスタLBT_RREGおよびMBIST用結果格納レジスタMBT_RREGから取得する。さらに、テスト装置ATEは、必要に応じて、MBISTモードの開始命令を発行してもよい。
【0095】
《実施の形態3の主要な効果》
以上、実施の形態3の半導体装置を用いることで、量産時(出荷前テスト時)に同時テストモードを使用することができ、量産時のテスト時間を短縮する(ひいてはテストコストを低減する)ことが可能になる。なお、実施の形態3は、実施の形態1と組み合わせることも可能である。すなわち、図12において、図1のPOST回路PSTCおよびシステム制御回路SYSCTを設けることで、出荷後テスト(所謂フィールドテスト)と出荷前テストの両方で同時テストモードを使用することができる。
【0096】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、前述した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【符号の説明】
【0097】
DEV 半導体装置
JTAGIF JTAGインタフェース回路
LBT ロジックBIST(LBIST)回路
LBT_EN LBISTイネーブル信号
LGC ロジック回路
MBT メモリBIST(MBIST)回路
MBT_EN MBISTイネーブル信号
MD_LBT LBISTモード信号
MD_LM LBIST/MBIST同時テストモード信号
MD_MBT MBISTモード信号
MDDEC モードデコーダ
PSTC POST回路
PSW 経路切り替え回路
RAM メモリ回路
RAM_HM ハードマクロ
RAMU メモリ回路ユニット
SC スキャンチェーン
SC_EN スキャンイネーブル信号
SEL 選択回路
SFF スキャンフリップフロップ回路
SFF_BP バイパス用スキャンフリップフロップ回路
図1
図2
図3
図4
図5
図6A
図6B
図7
図8A
図8B
図9
図10A
図10B
図11A
図11B
図12
図13
図14
図15
図16