【解決手段】半導体装置は、入力端子17と、入力端子17に入力された信号が通る第1の機能ブロックAと、第1の機能ブロックAから出力された信号がデータ配線を介して伝達される第2の機能ブロックBと、入力端子17に入力される所定の信号に応じた期待値を出力する期待値選択部23と、第2の機能ブロックBの入力側インターフェース回路13からデータ配線を通過した信号を取り出し、期待値と比較する比較部24と、不良要因分析部31と有する。不良要因分析部31は、比較部24の比較結果から第1の機能ブロックAと第2の機能ブロックBとの接続部の良否を判定する。
前記比較部は、前記入力側インターフェース回路から出力される信号が入力されるシフトレジスタと、前記シフトレジスタの出力と前記期待値とを比較する比較器とを有し、
前記シフトレジスタは前記第2の機能ブロックのクロック信号と同じクロック信号に基づいて前記シフトレジスタに入力される信号をシフトすることを特徴とする請求項1に記載の半導体装置。
更に、前記不良要因分析部の出力に応じた信号を前記比較部及び前記第2の機能ブロックへ出力するリアクション制御部を有することを特徴とする請求項2に記載の半導体装置。
前記比較部は、前記リアクション制御部から出力される信号に応じて前記シフトレジスタから出力される信号を前記第2の機能ブロックの前記入力側インターフェース回路に供給する救済データ出力部を有することを特徴とする請求項3に記載の半導体装置。
前記不良救済処理では、前記第2の機能ブロックの前記入力側インターフェース回路から出力される信号を前記シフトレジスタでシフトし、前記不良要因分析部から出力される信号に応じて前記シフトレジスタから出力される信号を前記入力側インターフェース回路に供給することを特徴とする請求項6に記載の半導体装置の不良救済方法。
前記不良救済処理では、前記不良要因分析部から出力される信号に応じて前記接続部の信号経路を、前記接続部に配置されたデータ配線から前記データ配線と並行して配置された冗長配線に切り替えることを特徴とする請求項6に記載の半導体装置の不良救済方法。
【発明を実施するための形態】
【0011】
以下、実施形態について説明する前に、実施形態の理解を容易にするための予備的事項について説明する。
【0012】
前述したように、複数の機能ブロックを組み合わせると問題が発生しやすい。問題が発生した場合、原因が機能ブロック内にあるのか、機能ブロック間の接続部にあるのかを特定することが重要である。そこで、通常、BIST回路による主回路のチェックとは別に、疎通試験(スキャンテストともいう)を実施して、機能ブロック間の接続部のチェックを行っている。
【0013】
図1は、複数の機能ブロックにより構成される半導体装置の一例を示す模式図である。
【0014】
この
図1に例示した半導体装置は、4個の機能ブロックA〜Dを有する。機能ブロックA〜Dはそれぞれ、主回路11と、BIST回路12と、入力側インターフェース回路13と、出力側インターフェース回路16と、2入力1出力の入力側切替器(セレクタ)14と、1入力2出力の出力側切替器(セレクタ)15とを有する。
【0015】
以下、インターフェース回路13をIF回路13と記載し、インターフェース回路16をIF回路16と記載する。また、
図1中の符号17は当該半導体装置の入力端子であり、符号18は当該半導体装置の出力端子である。
【0016】
機能ブロックA〜Dは、それぞれ固有の周波数のクロック信号CLKA〜CLKDに同期したタイミングで動作する。また、入力側切替器14の第1の入力端子はBIST回路12の出力に接続され、第2の入力端子は入力側IF回路13の出力に接続され、出力端子は主回路11の入力に接続されている。更に、出力側切替器15の入力端子は主回路11の出力に接続され、第1の出力端子はBIST回路12の入力に接続され、第2の出力端子は出力側IF回路16の入力に接続されている。
【0017】
通常動作時には、入力側切替器14により入力側IF回路13と主回路11とが接続され、出力側切替器15により主回路11と出力側IF回路16とが接続される。この場合、各機能ブロックA〜Dの主回路11は、入力側IF回路13を介して入力された信号に対しそれぞれ所定の信号処理を実施し、出力側IF回路16を介して次段の機能ブロック又は出力端子18に信号を出力する。
【0018】
BIST試験時には、入力側切替器14によりBIST回路12の出力と主回路11の入力とが接続され、出力側切替器15により主回路11の出力とBIST回路12の入力とが接続される。この場合、BIST回路12は主回路11に所定の信号を出力し、主回路11から出力される信号に応じて主回路11の良否を判定する。
【0019】
疎通試験時には、
図1中に太線の矢印で示すように、各機能ブロックA〜Dの主回路11をバイパスするようにして各機能ブロックA〜D間の接続部を直列に接続する。そして、機能ブロックAの出力側IF回路16に所定の信号を入力し、機能ブロックDの入力側IF回路13から出力される信号により、異常の有無を判定する。
【0020】
しかしながら、上述した疎通試験では、以下に示す問題点がある。
【0021】
上述の疎通試験では、信号経路及び動作周波数が通常動作時と異なる。このため、疎通試験で異常なしと判定されても、通常動作時に異常が発生することがある。例えば、疎通試験で異常なしと判定されても、通常動作時には機能ブロック毎にクロック信号の周波数が異なることに起因して、ビットスリップと呼ばれる位相不良が発生することがある。また、疎通試験で異常なしと判定されても、通常動作時には信号経路が異なるため、クロストークノイズ等が原因となって信号のパターンが変化するパターン不良が発生することもある。
【0022】
更に、上述の疎通試験では、不良の有無を検査することはできても不良個所を特定できないので、不良が発生した半導体装置の救済ができないという問題もある。
【0023】
以下の実施形態では、機能ブロック間の異常の有無をより詳細に判定できる半導体装置、及び機能ブロック間の不良を救済する不良救済方法について説明する。
【0024】
(第1の実施形態)
図2は、第1の実施形態に係る半導体装置の一例を示す模式図である。
図2において、
図1と同一物には同一符号を付している。
【0025】
図2に示すように、本実施形態に係る半導体装置は、機能ブロックA〜Dと、テスト制御信号生成部21と、期待値データ格納部22と、期待値選択部23と、比較部24と、BIST結果集約部30と、不良要因分析部31と、リアクション制御部32とを有する。
【0026】
テスト制御信号生成部21は、
図3に示すように診断パターン判別部41と、制御信号生成部42とを有する。テスト制御信号生成部21は、入力端子17に所定の信号が入力されると、診断パターン判別部41で信号に含まれる診断パターンの指示を判別し、制御信号生成部42で診断パターンの指示に応じたテスト制御信号を生成する。制御信号生成部42で生成されたテスト制御信号は、期待値選択部23、比較部24、不良要因分析部31、及びリアクション制御部32等に供給される。
【0027】
期待値データ格納部22には、テスト制御信号に応じた複数の期待値データが格納されている。期待値選択部23は、テスト制御信号生成部21から供給されるテスト制御信号に応じた期待値を期待値データ格納部22から抽出し、比較部24に出力する。
【0028】
比較部24は、診断データ選択部25、シフトレジスタ26、比較器27、及び救済データ出力部28を有する。また、比較部24には、機能ブロックB〜Dに供給されるのと同様のクロック信号CLKB〜CLKDが供給される。
【0029】
比較部24の詳細は後述するが、比較部24は不良要因分析部31と協働して、位相不良(ビットスリップ)及びパターン不良の有無を調べる。そして、位相不良が有る場合は、リアクション制御部32から出力される救済制御信号により救済データ出力部28が機能し、該当する機能ブロックの入力側IF回路13に救済データを出力して、位相不良を救済する。
【0030】
BIST結果集約部30には、機能ブロックA〜Dの各BIST回路12からBIST試験結果が伝達される。不良要因分析部31は、テスト制御信号生成部21から出力されるテスト制御信号と、比較部24の比較器27から出力される信号と、BIST結果集約部30から出力される信号とに基づいて不良の有無を調べ、不良がある場合は不良要因を分析する。そして、不良要因分析部31は、不良要因の分析結果に応じた信号をリアクション制御部32に出力する。
【0031】
リアクション制御部32は、通知制御部32a、保護制御部32b及び救済制御部32cを有し、不良要因分析部31から出力される信号に応じたリアクションを行う。例えば、当該半導体装置に不良が発生した場合、通知制御部32aは不良が発生したことを後段の電子回路等に通知するための通知信号を出力する。また、保護制御部32bは、当該半導体装置の不良が原因となる後段電子回路の不具合の発生を回避するための保護制御信号を出力する。更に、当該半導体装置で発生した不良が位相不良(ビットスリップ)の場合、救済制御部32cは不良を救済するための救済制御信号を出力する。
【0032】
図4は、機能ブロックA〜DのIF回路13,16を詳細に示すブロック図である。入力側IF回路13は、フリップフロップ(FF)51と、1入力2出力の切替器(セレクタ)52と、2入力1出力の切替器(セレクタ)53とを有する。また、出力側IF回路16は、2入力1出力の切替器(セレクタ)54と、フリップフロップ55とを有する。
【0033】
入力側IF回路13のフリップフロップ51のD端子は、入力端子17又は前段の機能ブロックの出力側IF回路16のQ端子に接続されている。そして、フリップフロップ51は、クロック信号CLK(CLKA〜CLKDのいずれか)に同期したタイミングでD端子に供給される信号を入力し、Q端子に出力する。
【0034】
切替器52は、テスト制御信号生成部21から出力されるテスト制御信号により切替動作を行う。なお、切替器52は、後述するように位相不良の救済処理時に、救済制御信号又は救済制御信号に基づく信号により切替動作を行う。
【0035】
切替器52の入力端子はフリップフロップ51のQ端子に接続されており、第1の出力端子は切替器53の第1の入力端子に接続されている。また、切替器52の第2の出力端子は、疎通試験用バイパス配線を介して出力側IF回路16の切替器54の第2の入力端子に接続されているとともに、比較部24の診断データ選択部25(
図2参照)に接続されている。
【0036】
一方、切替器53は、リアクション制御部32の救済制御部32cから出力される救済制御信号により切替動作する。この切替器53の第1の入力端子は、前述したように切替器52の第1の出力端子に接続されている。また、切替器53の第2の入力端子には、比較器24の救済データ出力部28から救済データが供給される。更に、切替器53の出力は、切替器14の第2の入力端子に接続されている。
【0037】
出力側IF回路16の切替器54も、テスト制御信号生成部21から出力されるテスト制御信号により切替動作を行う。切替器54の第1の入力端子は切替器15の第2の出力端子に接続されており、切換器54の第2の入力端子は、前述したように疎通試験用バイパス配線を介して入力側IF回路13の切替器52の第2の出力端子に接続されている。また、切替器54の出力端子は、フリップフロップ55のD端子に接続されている。
【0038】
フリップフロップ55は、クロック信号CLKに応じたタイミングでD端子に入力された信号を入力し、Q端子に出力する。
【0039】
図5は、比較部24を詳細に示すブロック図である。
図5において、符号29は、テスト制御信号又は救済制御信号により切替動作し、クロック信号CLKB〜CLKDのうちのいずれか1つをシフトレジスタ26のクロック信号入力端子CLKに伝達する切替器(セレクタ)である。
【0040】
診断データ選択部25も、テスト制御信号又は救済制御信号により切替動作する切替器(セレクタ)である。そして、診断データ選択部25は、各機能ブロックB〜Dの入力側IF回路13から出力される診断データ(A−B間診断データ、B−C間診断データ、及びC−D間診断データ)のうちのいずれか1つを、シフトレジスタ26のD端子に伝達する。
【0041】
シフトレジスタ26は、D端子に供給された信号を、クロック信号入力端子CLKに供給されるクロック信号(CLKB〜CLKDのいずれか)に同期したタイミングでシフトし、Q0〜Q7の8ビットの信号をパラレルに出力する。また、比較器27は8ビットの比較器であり、シフトレジスタ26の出力Q0〜Q7と期待値選択部23から供給される期待値とを比較して、その結果を不良要因分析部31に出力する。
【0042】
シフトレジスタ26の出力は、救済データ出力部28にも供給される。救済データ出力部28は、リアクション制御部32から供給される救済制御信号に応じて、シフトレジスタ26の出力Q0〜Q7のうちのいずれか1つを救済データとして出力する。
【0043】
以下、
図6〜
図9に示すフローチャートを参照して、本実施形態に係る半導体装置のテスト時の動作について説明する。
【0044】
まず、ステップS11において、各機能ブロックA〜DのBIST試験が行われる。すなわち、入力端子17を介して各機能ブロックA〜Dに所定の信号が入力されると、切替器14,15が動作して、BIST回路12と主回路11とが接続される。そして、BIST回路12から主回路11にテスト信号が供給され、主回路11から出力される信号に基づいてBIST回路12は不良の有無を判定する。BIST試験の結果はBIST結果集約部30に送られ、BIST結果集約部30は各機能ブロックA〜DのBIST試験結果を記憶する。
【0045】
次に、ステップS12に移行する。ステップS12において、不良要因分析部31は、BIST結果集約部30に記憶されたBIST試験結果を参照し、機能ブロックA〜Dに不良があるか否かを判定する。ここで、不良要因分析部31により機能ブロックA〜Dのいずれか1以上に不良があると判定された場合(YESの場合)は、ステップS13に移行する。また、不良要因分析部31により機能ブロックA〜Dに不良がないと判定された場合(NOの場合)は、ステップS14に移行する。
【0046】
ステップS13に移行した場合、すなわちステップS12で機能ブロックA〜Dのいずれか1以上に不良があると判定された場合は、不良要因分析部31から出力される信号に応じて、リアクション制御部32により機能ブロックの不良に対するリアクションが行われる。具体的には、通知制御部32aから後段の電子回路等に不良の発生を通知する通知信号が出力され、保護制御部32bから後段の電子回路を保護するための保護制御信号が出力される。この場合、当該半導体装置は故障と判定され、テストは終了する。
【0047】
ステップS12からステップS14に移行した場合、すなわち機能ブロックA〜Dに不良がないと判定された場合は、機能ブロックAと機能ブロックBとの接続部(以下、「機能ブロックA−B間接続部」というように記載する)の診断を行う。
【0048】
具体的には、入力端子17に入力された所定の信号に応じてテスト制御信号生成部21からテスト制御信号が出力される。そして、テスト制御信号に応じて、機能ブロックA〜DのIF回路13,16内の切替器52,54が切替動作する。その結果、切替器52の入力端子と第2の出力端子との間が接続され、切替器54の第2の入力端子と出力端子との間が接続される。
【0049】
その後、機能ブロックAの入力側IF回路13のフリップフロップ51のD端子に、入力端子17から疎通テスト信号が供給される。
【0050】
図10は、疎通テスト信号の一例を示す図である。この
図10に例示する疎通テスト信号は8ビットの信号であり、D0〜D2,D4〜D7が“H”、D3が“L”である。機能ブロックAのフリップフロップ51は、クロック信号CLKAに同期したタイミングでD端子に入力されたテスト信号を入力し、Q端子に出力する。
【0051】
フリップフロップ51のQ端子から出力された信号は、疎通試験用バイパス配線を介して出力側IF回路16に伝達され、切替器54を介してフリップフロップ55のD端子に入力される。フリップフロップ55は、クロック信号CLKAに同期したタイミングでD端子に供給される信号を入力し、Q端子から出力する。
【0052】
一方、機能ブロックBの入力側IF回路13内のフリップフロップ51のD端子には、機能ブロックAの出力側IF回路16から出力された信号が供給される。このフリップフロップ51は、クロック信号CLKBに同期したタイミングでD端子に供給された信号を入力し、Q端子に出力する。そして、フリップフロップ51の出力は、機能ブロックA−B間診断データとして、切替器52を介して比較部24の診断データ選択部25に送られる。
【0053】
比較部24の診断データ選択部25は、機能ブロックBの入力側IF回路13から出力された機能ブロックA−B間診断データを、シフトレジスタ26のD端子に伝達する。シフトレジスタ26は、クロック信号CLKBに同期したタイミングで診断データを1ビットずつシフトする。
【0054】
比較器27は、期待値選択部23から供給される期待値と、シフトレジスタ26の出力とを比較する。そして、不良要因分析部31は、比較器27の出力から、位相不良(ビットスリップ)の有無及びパターン不良の有無を判定する。
【0055】
図11は、不良要因分析部31による位相不良の有無及びパターン不良の有無の判定方法の例を示す図である。例えば、
図10に示す疎通テスト信号の場合、比較器27の出力Q3の値と期待値とが一致(OK)し、出力Q0〜Q2,Q4〜Q7の値と期待値とが不一致(NG)であれば、正常(normal)と判定する。
【0056】
また、例えば比較器27の出力Q2の値と期待値とが一致(OK)し、出力Q0〜Q1,Q3〜Q7の値と期待値とが不一致(NG)であれば、1ビット遅れた(1 bit late)ビットスリップが発生していると判定する。更に、例えば比較器27の出力Q4と期待値とが一致(OK)し、出力Q0〜Q3,Q5〜Q7の値と期待値とが不一致(NG)であれば、1ビット早い(1 bit early)ビットスリップが発生していると判定する。
【0057】
更にまた、診断パターンを8ビット分シフトしても比較器27の出力Q0〜Q7の値と期待値とが一致しない場合、又は出力Q0〜Q7の2以上で期待値と一致した場合は、パターン不良が発生していると判定する。
【0058】
このようにして機能ブロックA−B間接続部の診断を行った後、ステップS15に移行し、不良要因分析部31は機能ブロックA−B間接続部の診断結果を記憶する。
【0059】
次に、ステップS16に移行し、機能ブロックB−C間接続部の診断を行う。この場合、テスト制御信号により診断データ選択部25及び切替器29が切替動作して、シフトレジスタ26のD端子には機能ブロックCの入力側IF回路13から機能ブロックB−C間診断データが供給され、クロック信号入力端子CLKにはクロック信号CLKCが供給される。
【0060】
機能ブロックB−C間接続部の診断方法は、機能ブロックA−B間接続部の診断方法と基本的に同じであるので、ここではその説明は省略する。
【0061】
その後、ステップS17に移行し、不良要因分析部31は、機能ブロックB−C間接続部の診断結果を記憶する。
【0062】
次に、ステップS18に移行し、機能ブロックC−D間接続部の診断を行う。この場合、テスト制御信号により診断データ選択部25及び切替器29が切替動作する。そして、シフトレジスタ26のD端子には機能ブロックDの入力側IF回路13から機能ブロックC−D間診断データが供給され、クロック信号入力端子CLKにはクロック信号CLKDが供給される。
【0063】
機能ブロックC−D間接続部の診断方法も、機能ブロックA−B間接続部の診断方法と基本的に同じであるので、ここではその説明は省略する。
【0064】
その後、ステップS19に移行し、不良要因分析部31は、機能ブロックC−D間接続部の診断結果を記憶する。
【0065】
次に、ステップS20に移行する。ステップS20において、不良要因分析部31は、記憶した診断結果を読み出して不良の有無を調べ、不良が発生している場合は不良要因を分析する。例えば
図12に模式的に示すように、機能ブロックA−B間接続部で1ビットスリップの位相不良が発生したとする。この場合、機能ブロックB−C間接続部、及び機能ブロックB−C間接続部が正常に動作していても、ステップS16,S17において、それらの接続部でもビットスリップの位相不良が検出される。
【0066】
そこで、不良要因分析部31は、複数の接続部で同様の不良が検出された場合、最も上流側の接続部のみに不良が発生し、他の接続部では不良がないものとする。
【0067】
このようにして各機能ブロック間接続部の不良の有無が判定された後、ステップS21に移行する。ステップS21において、不良要因分析部31により、機能ブロックA−B間接続部に不良があるか否かが判定される。機能ブロックA−B間接続部に不良があると判定された場合(YESの場合)はステップS22に移行し、機能ブロックA−B間接続部に不良がないと判定された場合(NOの場合)はステップS31に移行する。
【0068】
ステップS21からステップS22に移行すると、不良要因分析部31により、機能ブロックA−B間接続部で発生した不良が位相不良(ビットスリップ)か否かが判定される。機能ブロックA−B間接続部で発生した不良が位相不良と判定された場合(YESの場合)はステップS24に移行し、位相不良でないと判定された場合(NOの場合)はステップS23に移行する。
【0069】
ステップS22で機能ブロックA−B間接続部で発生した不良が位相不良でないと判定された場合は、機能ブロックA−B間接続部で発生した不良がパターン不良であるということになる。そこで、ステップS23において、リアクション制御部32は、不良要因分析部31から出力される信号に基づき、パターン不良に対応するリアクション処理を行う。具体的には、通知制御部32aから後段の電子回路等に不良の発生を通知する通知信号が出力され、保護制御部32bから後段の電子回路を保護するための保護制御信号が出力される。この場合、当該半導体装置は故障と判定され、テストは終了する。
【0070】
一方、ステップS22からステップS24に移行した場合は、機能ブロックA−B間接続部の位相不良(ビットスリップ)に対するリアクション処理を行う。位相不良のリアクション処理には、位相不良の救済処理と、外部への通知処理とがある。
【0071】
以下、位相不良の救済処理について、
図2、
図4、
図5及び
図13を参照して説明する。ここでは、ステップS14において、機能ブロックA−B間接続部において1ビット遅れの位相不良(1 bit late)が発生していることがわかっているものとする。
【0072】
この場合、不良要因分析部31の出力に応じて、リアクション制御部32の救済制御部32cから救済制御信号が出力される。この救済制御信号又は救済制御信号に基づく信号により、機能ブロックBの入力側IF回路13内の切替器52が切替動作して、入力端子と第2の出力端子とが接続される。
【0073】
また、救済制御信号により、機能ブロックBの入力側IF回路13内の切替器53が切替動作して、第2の入力端子と出力端子とが接続される。更に、救済制御信号により、比較部24内の診断データ選択部25が切替動作し、シフトレジスタ26のD端子にフリップフロップ51の出力(A−B間診断データ)が伝達される。更にまた、救済制御信号により切替器29が切替動作して、シフトレジスタ26のクロック信号入力端子CLKにクロック信号CLKBが供給される。
【0074】
比較部24内のシフトレジスタ26は、フリップフロップ51から出力された信号を、切替器52及び診断データ選択部25を介して入力し、クロック信号CLKBに同期したタイミングでシフトする。そして、救済データ出力部28は、
図13に模式的に示すように、シフトレジスタ26から1 bit earlyの信号(Q2)を入力し、救済データとして出力する。この救済データは、機能ブロックBのIF回路13(切替器53)及び切替器14を介して主回路11に入力される。これにより、機能ブロックBの主回路11には1ビット分進んだ信号(救済データ)が供給され、1 bit lateの位相不良が救済される。
【0075】
ここでは1 bit lateの位相不良の場合について説明したが、他の位相不良の場合も同様に救済される。
【0076】
このようにステップS24で機能ブロックA−B間接続部の位相不良を救済した後、ステップS25に移行する。ステップS25,26では、ステップS16,S17と同様にして機能ブロックB−C間接続部の診断が行われ、その診断結果が不良要因分析部31に格納される。その後、ステップS27に移行する。
【0077】
ステップS27,S28では、ステップS18,S19と同様にして機能ブロックC−D間接続部の診断が行われ、その診断結果が不良要因分析部31に格納される。その後、ステップS29に移行する。
【0078】
ステップS29において、不良要因分析部31により、不良要因分析が行われる。そして、その結果に基づき、ステップS30において、不良要因分析部31により、不良要因が解消されたか否かが判定される。ここで、不良要因が解消されたと判定された場合(YESの場合)、当該半導体装置の最終判定は正常となり、テストは終了する。
【0079】
一方、ステップS30で不良要因が解消されていないと判定された場合(NOの場合)、当該半導体装置は故障と判定され、テストは終了する。
【0080】
次に、ステップS21からステップS31に移行した場合の処理について説明する。
【0081】
ステップS21からステップS31に移行すると、不良要因分析部31により、機能ブロックB−C間接続部に不良があるか否かが判定される。機能ブロックB−C間接続部に不良があると判定された場合(YESの場合)はステップS32に移行し、機能ブロックB−C間接続部に不良がないと判定された場合(NOの場合)はステップS39に移行する。
【0082】
ステップS31からステップS32に移行すると、不良要因分析部31により、機能ブロックB−C間接続部で発生した不良が位相不良(ビットスリップ)か否かが判定される。機能ブロックB−C間接続部で発生した不良が位相不良と判定された場合(YES)はステップS34に移行し、位相不良でないと判定された場合(NOの場合)はステップS33に移行する。
【0083】
ステップS32からステップS33に移行した場合は、機能ブロックB−C間接続部で発生した不良がパターン不良ということである。そこで、ステップS33において、リアクション制御部32は、不良要因分析部31から出力される信号に基づき、パターン不良に対応するリアクション処理(通知及び保護)を行う。この場合、当該半導体装置は故障と判定され、テストは終了する。
【0084】
一方、ステップS32からステップS34に移行した場合は、機能ブロックB−C間接続部の位相不良(ビットスリップ)に対応するリアクション処理を行う。前述したように位相不良のリアクション処理には位相不良の救済処理と外部への通知処理とがある。位相不良の救済処理については、ステップS24で説明したのと基本的に同じであるので、ここでは説明を省略する。
【0085】
次に、ステップS35に移行する。ステップS35,S36では、ステップS18,S19と同様に、機能ブロックC−D間接続部の診断が行われ、その診断結果が不良要因分分析部31に格納される。その後、ステップS37に移行する。
【0086】
ステップS37において、不良要因分析部31により不良要因の分析が行われる。そして、その結果に基づき、ステップS38において、不良要因分析部31により不良要因が解消されたか否かが判定される。ここで、不良要因が解消されたと判定された場合(YESの場合)、当該半導体装置の最終判定は正常となり、テストは終了する。
【0087】
一方、ステップS38で不良要因が解消されていないと判定された場合(NOの場合)、当該半導体装置は故障と判定され、テストは終了する。
【0088】
次に、ステップS31からステップS39に移行した場合の処理について説明する。
【0089】
ステップS31からステップS39に移行すると、不良要因分析部31により、機能ブロックC−D間接続部に不良があるか否かが判定される。機能ブロックC−D間接続部に不良があると判定された場合(YESの場合)はステップS40に移行する。一方、機能ブロックC−D間接続部に不良がないと判定された場合(NOの場合)は、当該半導体装置は正常と判定され、テストは終了する。
【0090】
ステップS39からステップS40に移行すると、不良要因分析部31により、機能ブロックC−D間接続部で発生した不良が位相不良(ビットスリップ)か否かが判定される。機能ブロックC−D間接続部で発生した不良が位相不良と判定された場合はステップS41に移行する。そして、リアクション制御部32は、不良要因分析部31から出力される信号に基づき、位相不良に応じたリアクション処理(救済及び通知)を行って位相不良を救済する。この場合、当該半導体装置の最終判定は正常となり、テストは終了する。
【0091】
一方、ステップS40からステップS42に移行した場合(NOの場合)は、機能ブロックC−D間接続で発生した不良がパターン不良ということになる。そこで、ステップS42において、リアクション制御部32は、不良要因分析部31から出力される信号に基づき、パターン不良に応じたリアクション処理(通知及び保護)を行う。この場合、当該半導体装置は故障と判定され、テストは終了する。
【0092】
以上説明したように、本実施形態においては、各機能ブロックA〜Dをそれぞれ固有のクロック信号で動作させて各機能ブロック間接続部の検査を行うので、従来の疎通試験に比べて各機能ブロック間接続部の良否をより正確に判定できる。これにより、半導体装置の信頼性が向上する。
【0093】
また、本実施形態においては、機能ブロック間接続部で位相不良が発生した場合に比較部24から救済データを出力することで、位相不良を救済する。これにより、半導体装置の歩留りが向上する。
【0094】
(変形例)
上述の第1の実施形態では機能ブロック間接続部のデータ配線が1本の場合について説明したが、実際の半導体装置では機能ブロック間接続部に複数のデータ配線を有することが多い。その場合は、比較部24を
図14のように構成することで対応できる。なお、ここでは、機能ブロックA〜Dにはそれぞれn組(但し、nは機能ブロック間接続部のデータ配線の数)の入力側IF回路13及び出力側IF回路16が設けられているものとする。
【0095】
この場合、
図2,
図4に記載されている2入力1出力の入力側切替器(セレクタ)14と1入力2出力の出力側切替器(セレクタ)15は、n組の入力側IF回路13及び出力側IF回路16に対応して、それぞれn組設けられる。
【0096】
図14に示す比較部は、診断データ選択部25の前段に、データ切替器61a,61b,61cが設けられている。
【0097】
データ切替器61aには、機能ブロックBの入力側IF回路13から出力されるn組の診断データAB1〜ABnが供給される。切替器61aは、疎通試験時にはテスト制御信号により切替を行い、救済処理時には救済制御信号により切替を行って、診断データAB1〜ABnを1つずつ順番に診断データ選択部25に伝達する。
【0098】
また、データ切替器61bには、機能ブロックCの入力側IF回路13から出力されるn組の診断データBC1〜BCnが供給される。切替器61bは、疎通試験時にはテスト制御信号により切替を行い、救済処理時には救済制御信号により切替を行って、診断データBC1〜BCnを1つずつ順番に診断データ選択部25に伝達する。
【0099】
更に、データ切替器61cには、機能ブロックDの入力側IF回路13から出力されるn組の診断データCD1〜CDnが供給される。切替器61cは、疎通試験時にはテスト制御信号により切替を行い、救済処理時には救済制御信号により切替を行って、診断データCD1〜CDnを1つずつ順番に診断データ選択部25に伝達する。
【0100】
診断データ選択部25は、テスト制御信号又は救済制御信号により切替動作を行い、切替器61a〜61cから伝達された信号(診断データ)を順番にシフトレジスタ26のD端子に伝達する。
【0101】
このような比較器を使用することにより、第1の実施形態で開示した技術を、機能ブロック間接続部のデータ配線が複数の半導体装置に適用できる。
【0102】
(第2の実施形態)
図15は、第2の実施形態に係る半導体装置の一例を示す模式図である。なお、
図15において、
図2と同一物には同一符号を付して、その詳細な説明は省略する。
【0103】
図15に示すように、本実施形態に係る半導体装置では、機能ブロックAと機能ブロックBとの間、機能ブロックBと機能ブロックCとの間、及び機能ブロックCと機能ブロックDとの間に、それぞれ冗長パス(冗長配線)62が設けられている。そして、これらの冗長パス62により、パターン不良が発生した半導体装置の救済処理が行われる。
【0104】
図16(a),(b)は、パターン不良の救済処理方法を示す模式図である。これらの
図16(a),(b)において、符号65は出力側IF回路16のフリップフロップ55の後段に設けられた切替器であり、符号66は入力側IF回路13のフリップフロップ51の前段に設けられた切替器である。また、符号63は通常パス(通常時のデータ配線)である。
【0105】
例えば、
図16(a)に示すように、機能ブロックBC間接続部において、通常パス63を通る信号にノイズが重畳し、パターン不良が発生したとする。この場合、リアクション制御部32の救済制御部32cは、不良要因分析部31からの信号に応じて、パターン不良に対する救済制御信号を出力する。この救済制御信号に応じて切替器65,66が切替動作を行い、機能ブロックBC間接続部のパスが通常パス63から冗長パス62に切り替わる。これにより、パターン不良の救済も可能になる。
【0106】
以下、
図17〜
図26に示すフローチャートを参照して、本実施形態に係る半導体装置のテスト時の動作について説明する。なお、位相不良(ビットシフト)に対する救済方法は基本的に第1の実施形態と同じであるので、ここでは第1の実施形態と重複する部分の詳細な説明は省略する。
【0107】
まず、ステップS11において、機能ブロックA〜DのBIST診断を行い、ステップS12で機能ブロックA〜Dのいずれか1以上に不良があるか否かを判定する。ここで、機能ブロックA〜Dのいずれか1以上に不良があると判定した場合(YESの場合)は、ステップS13に移行して、機能ブロック不良のリアクション制御(通知及び保護)を行う。
【0108】
一方、ステップS12で機能ブロックA〜Dに不良がないと判定した場合(NOの場合)は、ステップS14〜S18において各機能ブロック間接続部の診断が行われ、ステップS20において不良要因分析部31により不良要因が分析される。
【0109】
その後、ステップS21において、不良要因分析部31により、機能ブロックA−B間接続部に不良があるか否かが判定される。そして、機能ブロックA−B間接続部に不良があると判定された場合(YESの場合)はステップS22に移行し、ないと判定された場合(NOの場合)はステップS31に移行する。
【0110】
ステップS21からステップS22に移行すると、不良要因分析部31により、機能ブロックA−B間接続部の不良が位相不良であるか否かが判定される。ここで、機能ブロックA−B間接続部の不良が位相不良であると判定された場合(YESの場合)は、ステップS24に移行して、機能ブロックA−B間接続の位相不良に対するリアクション処理(救済及び通知)が行われる。その後、ステップS25〜S28において機能ブロックB−C間接続部、及び機能ブロックC−D間接続部の診断が行われ、ステップS29,S30において不良要因分析部31により不良要因が分析され、不良が解消されたか否かが判定される。
【0111】
ステップS30で不良要因が解消されたと判定された場合(YESの場合)、当該半導体装置の最終判定は正常となり、テストは終了する。また、ステップS30で不良要因が解消されていないと判定された場合(NOの場合)は、当該半導体装置の最終判定は故障となり、テストは終了する。
【0112】
次に、ステップS22からステップS51に移行した場合の処理について説明する。
【0113】
ステップS22で機能ブロックA−B間接続部の不良が位相不良でないと判定された場合(NOの場合)、機能ブロックA−B間接続部の不良はパターン不良であるということになる。この場合は、ステップS51に移行して、機能ブロックA−B間接続部のパターン不良に対するリアクション処理(救済及び通知)が行われる。
【0114】
すなわち、不良要因分析部31から出力される信号により、リアクション制御部32の救済制御部32cからパターン不良に対する救済制御信号が出力される。この信号により機能ブロックAの切替器65及び機能ブロックBの切替器66が切替動作して、機能ブロックA−B間接続部のパスが通常パス63から冗長パス62に切り替わる(
図16(a),(b)参照)。
【0115】
その後、ステップS52〜S57において、機能ブロックA−B間接続部、機能ブロックB−C間接続部、及び機能ブロックC−D間接続部の診断が再度行われる。そして、ステップS58,S59において、不良要因分析部31により不良要因が分析され、不良が解消されたか否かが判定される。ここで、不良が解消されたと判定された場合(YESの場合)は、当該半導体装置の最終判定は正常となり、テストは終了する。
【0116】
一方、ステップS59で不良が解消されていないと判定された場合は、ステップS60に移行する。ステップS60では、不良要因分析部31により、機能ブロックA−B間接続部に位相不良があるか否かを判定される。そして、ステップS60で機能ブロックA−B間接続部の不良が位相不良であると判定された場合(YESの場合)は、ステップS61で機能ブロックA−B間接続の位相不良に対するリアクション処理(救済及び通知)が行われる。
【0117】
その後、ステップS62〜S65において機能ブロックB−C間接続部、及び機能ブロックC−D間接続部の診断が行われ、ステップS66,67において、不良要因分析部31により不良要因が分析され、不良が解消されたか否かが判定される。
【0118】
ステップS67で不良が解消されたと判定された場合(YESの場合)は、当該半導体装置の最終判定は正常となり、テストは終了する。また、ステップS67で不良が解消されていないと判定された場合(NOの場合)は、当該半導体装置の最終判定は故障となり、テストは終了する。
【0119】
ステップS60で機能ブロックA−B間接続部に位相不良がないと判定された場合(NOの場合)は、ステップS68に移行する。そして、ステップS68において、不良要因分析部31により、機能ブロックB−C間接続部に位相不良があるか否かが判定される。
【0120】
ここで、機能ブロックB−C間接続部に位相不良があると判定された場合(YESの場合)は、ステップS69に移行し、機能ブロックB−C間接続部の位相不良に対するリアクション処理(救済及び通知)が行われる。
【0121】
その後、ステップS70,S71において、機能ブロックC−D間接続部の診断が行われる。そして、ステップS72,S73において、不良要因分析部31により不良要因が分析され、不良が解消されたか否かが判定される。ステップS73で不良が解消されたと判定された場合(YESの場合)は、当該半導体装置の最終判定は正常となり、テストは終了する。また、ステップS73で不良が解消されていないと判定された場合(NOの場合)は、当該半導体装置の最終判定は故障となり、テストは終了する。
【0122】
ステップS68において、機能ブロックB−C間接続部に位相不良がないと判定された場合(NOの場合)は、ステップS74に移行する。そして、ステップS74において、不良要因分析部31により、機能ブロックC−D間接続部に位相不良があるか否かが判定される。ここで、機能ブロックC−D間接続部に位相不良があると判定された場合は、ステップS75に移行し、機能ブロックC−D間接続部の位相不良に対するリアクション処理(救済及び通知)が行われる。そして、当該半導体装置の最終判定は正常となり、テストは終了する。
【0123】
また、ステップS74において、機能ブロックC−D間接続部に位相不良がないと判定された場合(NOの場合)は、当該半導体装置の最終判定は故障となり、テストは終了する。
【0124】
次に、ステップS21からステップS31に移行したときの処理について説明する。
【0125】
ステップS21において、機能ブロックA−B間接続部に不良がないと判定された場合(NOの場合)は、ステップS31に移行する。
【0126】
ステップS31では、不良要因分析部31により、機能ブロックB−C間接続部に不良があるか否かが判定される。ここで、機能ブロックB−C間接続部に不良があると判定された場合(YESの場合)はステップS32に移行し、機能ブロックB−C間接続部に不良がないと判定された場合(NOの場合)はステップS39に移行する。
【0127】
ステップS31からステップS32に移行すると、不良要因分析部31により、機能ブロックB−C間接続部の不良が位相不良か否かが判定される。ここで、機能ブロックB−C間接続部の不良が位相不良であると判定された場合(YESの場合)は、ステップS34に移行し、機能ブロックB−C間接続部の位相不良に対するリアクション処理(救済及び通知)が行われる。その後、ステップS34,S35において、機能ブロックC−D間接続部の診断が行われ、ステップS36,S37において、不良要因分析部31により不良要因が分析され、不良が解消されたか否かが判定される。
【0128】
そして、不良が解消されたと判定された場合(YESの場合)は、当該半導体装置の最終判定は正常となり、テストは終了する。また、ステップS38において、不良が解消されていないと判定された場合(NOの場合)は、当該半導体装置の最終判定は故障となり、テストは終了する。
【0129】
一方、ステップS32において、機能ブロックB−C間接続部の不良が位相不良でないと判定された場合(NOの場合)は、ステップS76に移行する。そして、ステップS76において、機能ブロックB−C間接続部のパターン不良に対するリアクション処理(救済及び通知)が行われる。
【0130】
すなわち、不良要因分析部31から出力される信号により、リアクション制御部32の救済制御部32cからパターン不良に対する救済制御信号が出力される。この信号により機能ブロックBの切替器65及び機能ブロックCの切替器66が切替動作して、機能ブロックB−C間接続部のパスを通常パス63から冗長パス62に切り替える(
図16(a),(b)参照)。
【0131】
その後、ステップS77〜S80において、機能ブロックB−C間接続部、及び機能ブロックC−D間接続部の診断が再度行われる。そして、ステップS81,S82において、不良要因分析部31により不良要因が分析され、不良が解消されたか否かが判定される。ここで、不良が解消されたと判定された場合(YESの場合)は、当該半導体装置の最終判定は正常となり、テストは終了する。
【0132】
一方、ステップS82で不良が解消されていないと判定された場合(NOの場合)は、ステップS83に移行し、不良要因分析部31により、機能ブロックB−C間接続部に位相不良があるか否かが判定される。そして、機能ブロックB−C間接続部に位相不良があると判定された場合(YESの場合)はステップS84に移行して、機能ブロックB−C間接続部の位相不良に対するリアクション処理(救済及び通知)が行われる。
【0133】
その後、ステップS85,S86において、機能ブロックC−D間接続部の診断が行われる。そして、ステップS87,S88において、不良要因分析部31により不良要因が分析され、不良が解消されたか否かが判定される。
【0134】
ここで、不良が解消されたと判定された場合(YESの場合)は、当該半導体装置の最終判定は正常となり、テストは終了する。また、不良が解消されていないと判定された場合(NOの場合)は、当該半導体装置の最終判定は故障となり、テストは終了する。
【0135】
一方、ステップS83で機能ブロックB−C間接続部に位相不良がないと判定された場合(NOの場合)は、ステップS89に移行する。そして、ステップS89において、不良要因分析部31により、機能ブロックC−D間接続部に位相不良があるか否かが判定される。ここで、機能ブロックC−D間接続部に位相不良がないと判定された場合(NOの場合)は、当該半導体装置の最終判定は故障となり、テストは終了する。
【0136】
ステップS89で機能ブロックC−D間接続部に位相不良があると判定された場合(YESの場合)はステップS90に移行し、機能ブロックC−D間接続部の位相不良に対するリアクション処理(救済及び通知)が行われる。その後、ステップS91で、不良要因分析部31により、不良が解消されたか否かが判定される。
【0137】
ここで、不良が解消されたと判定された場合(YESの場合)は、当該半導体装置の最終判定は正常となり、テストは終了する。また、不良が解消されていないと判定された場合(NOの場合)は、当該半導体装置の最終判定は故障となり、テストは終了する。
【0138】
次に、ステップS31で機能ブロックB−C間接続部に不良がないと判定された場合(NOの場合)の処理について説明する。
【0139】
ステップS31において、機能ブロックB−C間接続部に不良がないと判定された場合は、ステップS39に移行する。ステップS39では、不良要因分析部31により、機能ブロックC−D間接続部に不良があるか否かが判定される。ここで、機能ブロックC−D間接続部に不良がないと判定された場合(NOの場合)は、当該半導体装置の最終判定は正常となり、テストは終了する。
【0140】
一方、ステップS39で機能ブロックC−D間接続部に不良があると判定された場合は、ステップS40に移行する。そして、ステップS40において、不良要因分析部31により、機能ブロックC−D間接続部の不良が位相不良か否かが判定される。ここで、機能ブロックC−D間接続部の不良が位相不良であると判定された場合(YESの場合)はステップS41に移行し、機能ブロックC−D間接続部の位相不良に対するリアクション処理(救済及び通知)が行われる。その後、当該半導体装置の最終判定は正常となり、テストは終了する。
【0141】
ステップS40で機能ブロックC−D間接続分の不良が位相不良でないと判定された場合(NOの場合)は、ステップS92に移行する。そして、ステップS92において、機能ブロックC−D間接続部のパターン不良に対するリアクション処理(救済及び通知)が行われる。
【0142】
すなわち、不良要因分析部31から出力される信号により、リアクション制御部32の救済制御部32cからパターン不良に対する救済制御信号が出力される。この信号により機能ブロックCの切替器65及び機能ブロックDの切替器66が切替動作して、機能ブロックC−D間接続部のパスが通常パス63から冗長パス62に切り替わる(
図16(a),(b)参照)。
【0143】
その後、ステップS93,S94において、機能ブロックC−D間接続部の診断が行われ、ステップS95,S96で不良要因分析部31により不良要因が分析されて、不良が解消されたか否かが判定される。ステップS96で不良が解消されたと判定された場合(YESの場合)は、当該半導体装置の最終判定は正常となり、テストは終了する。
【0144】
また、ステップS96で不良が解消されていないと判定された場合(NOの場合)は、ステップS97に移行する。ステップS97では、不良要因分析部31により、機能ブロックC−D間接続部に位相不良があるか否かが判定される。そして、機能ブロックC−D間接続部に位相不良がないと判定された場合(NOの場合)は、当該半導体装置の最終判定は故障となり、テストは終了する。
【0145】
また、ステップS97において、機能ブロックC−D間接続部に位相不良があると判定された場合(YESの場合)は、ステップS98に移行し、機能ブロックC−D間接続部の位相不良に対するリアクション処理(救済及び通知)が行われる。その後、当該半導体装置の最終判定は正常となり、テストは終了する。
【0146】
本実施形態では、第1の実施形態と同様に機能ブロック間接続部で発生する位相不良が救済できるだけでなく、パターン不良の救済も可能である。
【0147】
(変形例)
上述の第2の実施形態では機能ブロック間接続部のデータ配線が1本の場合について説明したが、各機能ブロック間接続部に複数本のデータ配線を有する半導体装置の場合、機能ブロック間接続部を
図27のように構成することで対応できる。
【0148】
この
図27に示す例では、n本の通常パス(データ配線BC1〜BCn)に対し、2本の冗長パス(冗長パス1,2)を設けている。
【0149】
機能ブロック間接続部に複数のデータ配線がある場合は、不良要因分析部31がBIST回路情報に基づいて機能ブロックの出力信号の変化率を分析し、その分析結果に基づいて最適なパス制御を行う。
【0150】
図27は、不良要因分析部31においてデータ配線BC1が変化率の最も高いリスク信号と判断した場合に、データ配線BC2をデータ配線BC1に隣接する冗長パス1ではなく、冗長パス2へ切り替え制御した例を示している。
【0151】
また、
図28は、不良要因分析部31においてデータ配線BC1が変化率の最も高いリスク信号と判断した場合に、冗長パス1及び冗長パス2を含めた全データ配線に対しパスの組み換え制御をした例を示している。