(57)【要約】【課題】一つの実施形態は、故障診断を適切に行うことができる半導体装置を提供することを目的とする。【解決手段】一つの実施形態によれば、第１のブロックと第２のブロックとを有する半導体装置が提供される。第２のブロックは、第１のブロックの入力側に配されている。第１のブロックは、ロジック回路と自己テスト回路と入力インターフェース回路と故障監視回路とを有する。自己テスト回路は、ロジック回路に接続されている。入力インターフェース回路は、第２のブロックと自己テスト回路との間に配されている。故障監視回路は、入力インターフェース回路に接続されている。【選択図】図２
2019158761.tif 000002
【特許請求の範囲】
【請求項１】
第１のブロックと、
前記第１のブロックの入力側に配された第２のブロックと、
を備え、
前記第１のブロックは、
ロジック回路と、
前記ロジック回路に接続された自己テスト回路と、
前記第２のブロックと前記自己テスト回路との間に配された入力インターフェース回路と、
前記入力インターフェース回路に接続された故障監視回路と、
を有する
半導体装置。
【請求項２】
前記入力インターフェース回路は、
前記第２のブロックに接続された第１の入力ノードと第１のダミー回路に接続された第２の入力ノードと出力ノードとを有する第１のセレクタと、
前記第２のブロックに接続された第１の入力ノードと第２のダミー回路に接続された第２の入力ノードと出力ノードとを有する第２のセレクタと、
を有し、
前記故障監視回路は、
前記第１のセレクタの前記第１の入力ノードと前記第１のセレクタの前記出力ノードとに接続された第１の比較回路と、
前記第２のセレクタの前記第１の入力ノードと前記第２のセレクタの前記出力ノードとに接続された第２の比較回路と、
前記第１の比較回路と前記第２の比較回路とに接続された故障信号生成回路と、
を有する
請求項１に記載の半導体装置。
【請求項３】
前記故障信号生成回路は、
前記第１の比較回路と前記第２の比較回路とに接続された第１の論理和回路と、
前記第１の論理和回路に接続された第１のフリップフロップと、
第２のフリップフロップと、
前記第１のフリップフロップ及び前記第２のフリップフロップの間に配され、前記第１のフリップフロップの出力端子及び前記第２のフリップフロップの出力端子に入力側が接続され前記第２のフリップフロップの入力ノードに出力側が接続された第２の論理和回路と、
を有する
請求項２に記載の半導体装置。
【請求項４】
第１のブロックと、
前記第１のブロックの出力側に配された第２のブロックと、
を備え、
前記第１のブロックは、
ロジック回路と、
前記ロジック回路に接続された自己テスト回路と、
前記自己テスト回路と前記第２のブロックとの間に配された出力インターフェース回路と、
前記出力インターフェース回路に接続された故障監視回路と、
を有する
半導体装置。
【請求項５】
前記出力インターフェース回路は、
前記自己テスト回路の出力側に配された第１の入力ノードと第１の制御電位を受ける第２の入力ノードと前記第２のブロックに接続された出力ノードとを有する第１の論理和回路と、
前記自己テスト回路の出力側に配された第１の入力ノードと前記第１の制御電位に応じた第２の制御電位を受ける第２の入力ノードと前記第２のブロックに接続された出力ノードとを有する論理積回路と、
を有し、
前記故障監視回路は、
前記第１の論理和回路の前記第１の入力ノードと前記第１の論理和回路の前記出力ノードとに接続された第１の比較回路と、
前記論理積回路の前記第１の入力ノードと前記論理積回路の前記出力ノードとに接続された第２の比較回路と、
前記第１の比較回路と前記第２の比較回路とに接続された故障信号生成回路と、
を有する
請求項４に記載の半導体装置。
【請求項６】
前記故障信号生成回路は、
前記第１の比較回路と前記第２の比較回路とに接続された第２の論理和回路と、
前記第２の論理和回路に接続された第１のフリップフロップと、
第２のフリップフロップと、
前記第１のフリップフロップ及び前記第２のフリップフロップの間に配され、前記第１のフリップフロップの出力ノード及び前記第２のフリップフロップの出力ノードに入力側が接続され前記第２のフリップフロップの入力ノードに出力側が接続された第３の論理和回路と、
を有する
請求項５に記載の半導体装置。
【請求項７】
第１のブロックと、
前記第１のブロックに隣接する第２のブロックと、
を備え、
前記第１のブロックは、
ロジック回路と、
前記ロジック回路に接続された自己テスト回路と、
前記自己テスト回路と前記第２のブロックとの間に配された出力インターフェース回路と、
前記出力インターフェース回路に接続された故障監視回路と、
を有する
半導体装置。
【請求項８】
前記出力インターフェース回路は、
前記自己テスト回路の出力側に配された第１の入力ノードと第１の制御電位に接続された第２の入力ノードと前記第２のブロックに接続された出力ノードとを有する第１の論理和回路と、
前記自己テスト回路の出力側に配された第１の入力ノードと前記第１の制御電位に応じた第２の制御電位に接続された第２の入力ノードと前記第２のブロックに接続された出力ノードとを有する論理積回路と、
を有し、
前記故障監視回路は、前記第１の制御電位と前記第１の論理和回路の前記出力ノードと前記論理積回路の前記出力ノードとに接続された故障信号生成回路を有する
請求項７に記載の半導体装置。
【請求項９】
前記故障信号生成回路は、
前記第１の制御電位に接続されたクロックノードを有するフリップフロップと、
前記論理積回路の前記出力ノードに接続された第２の論理和回路と、
前記第１の論理和回路の前記出力ノードに接続された否定論理積回路と、
前記第２の論理和回路の前記出力ノードと前記否定論理積回路の前記出力ノードとに接続された第３の論理和回路と、
前記フリップフロップの前記出力ノードに接続された入力ノードと前記第３の論理和回路の前記出力ノードに接続されたクロックノードとを有するラッチ回路と、
を有する
請求項８に記載の半導体装置。
【請求項１０】
第１のブロックと前記第１のブロックの入力側に配された第２のブロックとを有する半導体装置の前記第１のブロックにおける前記第２のブロックと前記自己テスト回路との間に配された入力インターフェース回路に含まれたセレクタの前記第２のブロックに接続された入力ノードの信号と出力ノードの信号とを比較することと、
前記比較された結果に応じて、前記入力インターフェース回路の故障診断を行うことと、
を含む故障診断方法。
【請求項１１】
第１のブロックと前記第１のブロックの出力側に配された第２のブロックとを有する半導体装置の前記第１のブロックにおける前記第２のブロックと前記自己テスト回路との間に配された入力インターフェース回路に含まれた論理回路から出力される値と期待値とを比較することと、
前記比較された結果に応じて、前記出力インターフェース回路の故障診断を行うことと、
を含む故障診断方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、半導体装置及び故障診断方法に関する。
【背景技術】
【０００２】
ロジック回路及び自己テスト回路（ＢＩＳＴ：Ｂｕｉｌｔ  Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）が搭載された半導体装置では、自己テスト回路を用いてロジック回路の検査を行うことで、ロジック回路の良否判定を行うことができる。このとき、ロジック回路の良否判定が適切に行われるためには、半導体装置における故障診断を適切に行うことが望まれる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−９３３５１号公報
【特許文献２】特開平６−２０１７８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一つの実施形態は、故障診断を適切に行うことができる半導体装置及び故障診断方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
一つの実施形態によれば、第１のブロックと第２のブロックとを有する半導体装置が提供される。第２のブロックは、第１のブロックの入力側に配されている。第１のブロックは、ロジック回路と自己テスト回路と入力インターフェース回路と故障監視回路とを有する。自己テスト回路は、ロジック回路に接続されている。入力インターフェース回路は、第２のブロックと自己テスト回路との間に配されている。故障監視回路は、入力インターフェース回路に接続されている。
【図面の簡単な説明】
【０００６】
【図１】図１は、実施形態に係る半導体装置の構成を示す図である。
【図２】図２は、実施形態におけるロジックＢＩＳＴブロックの構成を示す図である。
【図３】図３は、実施形態に係る半導体装置の動作を示す図である。
【図４】図４は、実施形態における入力インターフェース回路及び故障監視回路の構成を示す図である。
【図５】図５は、実施形態における出力インターフェース回路及び故障監視回路の構成を示す図である。
【図６】図６は、実施形態におけるロジックＢＩＳＴブロック間の構成（ロジックＢＩＳＴ診断時）を示す図である。
【図７】図７は、実施形態における出力インターフェース回路及び故障監視回路の構成を示す図である。
【発明を実施するための形態】
【０００７】
以下に添付図面を参照して、実施形態にかかる半導体装置を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
【０００８】
（実施形態）
実施形態に係る半導体装置は、高信頼性を要求されるシステム（例えば、車載製品や医療機器などのシステム）に適用され、例えば、図１に示すように構成される。図１は、半導体装置１の構成を示す図である。
【０００９】
半導体装置１には、システムにおける所定の制御を行うためのロジック回路が搭載され得る。半導体装置１の出荷前にテスト工程で良好と判断されたロジック回路であっても、出荷後において、経年劣化したりソフトエラーを受けたりして故障することがある。システムからの高信頼性の要求に応えるために、半導体装置１では、ロジック回路に発生し得る後発的な故障を自己診断するための２種類の仕組みが実装され得る。
【００１０】
１つ目の仕組みでは、ロジック回路を２重化し、２つのロジック回路のうち一方のロジック回路（マスター側のロジック回路）を所定の制御に使用させ、他方のロジック回路（サブ側のロジック回路）を一方のロジック回路と同様に動作させながら適正に動作しているかコントローラ等で監視しロジック回路の故障診断を行う。２つ目の仕組みでは、ロジック回路とともにそのロジック回路をテストする自己テスト（ＢＩＳＴ：Ｂｕｉｌｔ  Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）回路を半導体装置に組み込む。そして、ロジック回路が動作していない期間に、自己テスト（ＢＩＳＴ）回路でロジック回路をテストし故障診断を行う。自己テスト（ＢＩＳＴ）回路によるロジック回路のテストをロジックＢＩＳＴと呼ぶことにする。
【００１１】
２重化は、診断確度が高いが、回路が倍に増えるため実装面積の観点でコストが高くなる可能性がある。例えば、半導体装置１では、ＣＰＵなどの実質的に休止期間が存在せず時間連続的な故障診断が要求されるロジック回路に対して２重化のための回路領域２が設けられている。また、ロジックＢＩＳＴによる回路オーバヘッドは２重化と比較して非常に小さく、コスト面で有利ではあるが、診断カバレッジの観点では２重化に及ばない。また、ロジックＢＩＳＴ診断時には対象回路のシステム稼動はできない。例えば、半導体装置１では、ＣＰＵの制御のもとで要求されたときに所定の制御処理（例えば、画像処理）を行うような休止期間（例えば、画像処理のブランキング期間）が存在するロジック回路に対してロジックＢＩＳＴのための回路領域５が設けられている。
【００１２】
回路領域２は、複数の２重化ブロック４−１〜４−４及び常時診断制御部３を有する。各２重化ブロック４−１〜４−４は、マスター側のロジック回路と、マスター側のロジック回路に対応したサブ側のロジック回路とを含む。マスター側のロジック回路が動作している状態で、常時診断制御部３は、各２重化ブロック４−１〜４−４におけるマスター側の出力とスレーブ（サブ）側出力とを比較し、マスター側の出力とスレーブ側出力とに不一致があれば故障があると診断する。常時診断制御部３は、故障があると診断すると、二重化エラーを外部（システムのコントローラ）へ通知する。すなわち、常時診断制御部３は、システム（マスター側のロジック回路）が稼動状態のまま同時にサブ側のロジック回路の故障診断を実現することができる。
【００１３】
回路領域５は、複数のロジックＢＩＳＴブロック８−１〜８−４、複数のロジックＢＩＳＴコントローラ７−１〜７−４、及び常時診断制御部６を有する。複数のロジックＢＩＳＴコントローラ７−１〜７−４は、複数のロジックＢＩＳＴブロック８−１〜８−４に対応している。各ロジックＢＩＳＴコントローラ７は、常時診断制御部６による制御のもと、対応するロジックＢＩＳＴブロック８におけるロジックＢＩＳＴを制御する。
【００１４】
例えば、ロジックＢＩＳＴブロック８−２は、図２に示すように構成される。図２は、ロジックＢＩＳＴブロック８の構成を示す図である。図２では、ロジックＢＩＳＴブロック８−２の構成を例示しているが、他のロジックＢＩＳＴブロック８−１，８−３，８−４の構成もロジックＢＩＳＴブロック８−２の構成と同様である。
【００１５】
ロジックＢＩＳＴブロック８−２は、複数のロジック回路ＬＣ−０〜ＬＣ−５及び自己テスト回路８０を有する。自己テスト回路８０は、複数のロジック回路ＬＣ−０〜ＬＣ−５に接続されており、ロジックＢＩＳＴコントローラ７による制御に従い、各ロジック回路ＬＣ−０〜ＬＣ−５に対してロジックＢＩＳＴを行う。
【００１６】
自己テスト回路８０は、疑似ランダムパターン発生回路（ＰＲＰＧ：Ｐｓｅｕｄｏ．  Ｒａｎｄｏｍ  Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｏｒ）８１、デコンプレッサ８２、複数のスキャンパス８３−０〜８３−５、コンプレッサ８４、テスト結果圧縮用レジスタ（ＭＩＳＲ：Ｍｕｌｔｉｐｌｅ  Ｉｎｐｕｔ  Ｓｉｇｎａｔｕｒｅ  Ｒｅｇｉｓｔｅｒ）８５を有する。複数のスキャンパス８３−０〜８３−５は、複数のロジック回路ＬＣ−０〜ＬＣ−５に対応している。自己テスト回路８０は、既知のランダムデータをＰＲＰＧ８１で発生させデコンプレッサ８２で展開してスキャンテストデータとして各スキャンパス８３−０〜８３−５へシフトインさせ対応するロジック回路ＬＣ−０〜ＬＣ−５へ供給する。自己テスト回路８０は、各スキャンパス８３−０〜８３−５で対応するロジック回路ＬＣ−０〜ＬＣ−５からの返り値（スキャン結果）をキャプチャし、各スキャンパス８３−０〜８３−５のキャプチャ値をコンプレッサ８４で圧縮させＭＩＳＲ８５に逐次蓄積させる。ロジックＢＩＳＴコントローラ７は、所定のスキャンパターン数でスキャンテストが実施された後にＭＩＳＲ８５に蓄積された値を期待値と比較し、一致すればエラーがなかったものとして診断し、不一致であればエラーがあったものと診断し、診断結果を常時診断制御部６へ通知する。常時診断制御部６は、通知された診断結果に応じて故障がある場合、ロジックＢＩＳＴエラーを外部（システムのコントローラ）へ通知する。
【００１７】
高信頼性を要求されるシステム（例えば、車載製品や医療機器などのシステム）では、自己診断の実行は、システム起動前に加えて、起動後にも要求され得る（いわゆる常時診断）。このため、常時診断制御部６は、図３に示すように、システムが稼動していないブロックを対象に時分割で常時診断を実現するように制御する。例えば、図３では、ロジックＢＩＳＴブロック８−１がロジックＢＩＳＴを行っている期間にロジックＢＩＳＴブロック８−２がシステム動作を行っており、ロジックＢＩＳＴブロック８−２がロジックＢＩＳＴを行っている期間にロジックＢＩＳＴブロック８−１がシステム動作を行っている場合が例示されている。
【００１８】
ロジックＢＩＳＴブロック８の各入力信号は、自身のロジックＢＩＳＴ実行中に不定値（Ｘ）がＭＩＳＲ８５に伝播しないことが望まれる。このため、ロジックＢＩＳＴブロック８における入力側には、図２に示すように、入力インターフェース回路８６が設けられ得る。入力インターフェース回路８６は、複数のセレクタ８６１−０〜８６１−４を含む。複数のセレクタ８６１−０〜８６１−４は、スキャンパス８３−０に含まれた複数のダミーのフリップフロップ８３１−０〜８３１−４に対応している。各セレクタ８６１−０〜８６１−４は、外部（ロジックＢＩＳＴブロック８−１）に接続された第１の入力ノードとダミーのフリップフロップ８３１に接続された第２の入力ノードとを有する。各セレクタ８６１−０〜８６１−４は、ノンアクティブレベル（例えば、Ｌレベル）の制御信号φＸＢＥＮを受けた際に外部（ロジックＢＩＳＴブロック８−１）からの入力信号を選択し、アクティブレベル（例えば、Ｈレベル）の制御信号φＸＢＥＮを受けた際にダミーのフリップフロップ８３１−０〜８３１−４からの入力信号を選択する。
【００１９】
すなわち、入力インターフェース回路８６は、ロジックＢＩＳＴ実行時に、アクティブレベル（例えば、Ｈレベル）の制御信号φＸＢＥＮを受け、外部（ロジックＢＩＳＴブロック８−１）からの入力信号に代えて、ダミーのフリップフロップ８３１−０〜８３１−４からの入力信号とするＸ−ｂｏｕｎｄ処理を行う。ダミーのフリップフロップ８３１−０〜８３１−４は、自己テスト回路８０で制御可能であり、入力信号を既知のデータに代えることで不定値（Ｘ）がＭＩＳＲ８５に伝搬しないことになる。入力インターフェース回路８６は、Ｘ−ｂｏｕｎｄ回路とも呼ばれる。
【００２０】
また、ロジックＢＩＳＴブロック８の各出力信号は、システム稼働中の他のロジックＢＩＳＴブロック８に対しアクティブ論理を出力しないことが望まれる。このため、ロジックＢＩＳＴブロック８における出力側には、図２に示すように、出力インターフェース回路８７が設けられ得る。出力インターフェース回路８７は、ＡＮＤゲート８７１−０，８７１−１、ＯＲゲート８７２−２，８７２−３、及びＡＮＤゲート８７１−４を有する。ＡＮＤゲート８７１−０，８７１−１，８７１−４は、それぞれ、自己テスト回路８０の出力側に配されロジック回路ＬＣ−５に接続された第１の入力ノードと制御信号φＩＳＥＮを論理反転させたφＩＳＥＮを受ける第２の入力ノードと他のロジックＢＩＳＴブロック８に接続された出力ノードとを有する。ＯＲゲート８７２−２，８７２−３は、それぞれ、自己テスト回路８０の出力側に配されロジック回路ＬＣ−５に接続された第１の入力ノードと制御信号φＩＳＥＮを受ける第２の入力ノードと他のロジックＢＩＳＴブロック８に接続された出力ノードとを有する。ＡＮＤゲート８７１−０，８７１−１，８７１−４は、それぞれ、アクティブレベル（例えば、Ｈレベル）の制御信号φＩＳＥＮを受けた際にその出力をＬレベルに固定し、ノンアクティブレベル（例えば、Ｌレベル）の制御信号φＩＳＥＮを受けた際にロジック回路ＬＣ−５からの信号を他のロジックＢＩＳＴブロック８側へ転送する。ＯＲゲート８７２−２，８７２−３は、それぞれ、アクティブレベル（例えば、Ｈレベル）の制御信号φＩＳＥＮを受けた際にその出力をＨレベルに固定し、ノンアクティブレベル（例えば、Ｌレベル）の制御信号φＩＳＥＮを受けた際にロジック回路ＬＣ−５からの信号を他のロジックＢＩＳＴブロック８側へ転送する。
【００２１】
すなわち、出力インターフェース回路８７は、ロジックＢＩＳＴ実行時に、アクティブレベル（例えば、Ｈレベル）の制御信号φＩＳＥＮを受け、出力信号をリセット時の論理に固定するアイソレーション処理を行う。出力インターフェース回路８７は、アイソレーションセル回路とも呼ばれる。
【００２２】
このとき、入力インターフェース回路８６に故障があるとシステム稼動時に入力信号が正しく伝播されず、入力側に隣接する他のロジックＢＩＳＴブロック８からの不定値（Ｘ）がＭＩＳＲ８５に伝播する可能性がある。不定値（Ｘ）がＭＩＳＲ８５に伝播すると、ＭＩＳＲ８５で圧縮される値（ＭＩＳＲ結果）が期待値として成立しなくなる。これにより、ロジックＢＩＳＴのテスト結果の信頼性が低下し得るので、ロジック回路ＬＣの良否判定を適切に行うことが困難になる。
【００２３】
また、出力インターフェース回路８７に故障があると、システム稼動時に出力信号が出力側に隣接する他の２重化ブロック４又は他のロジックＢＩＳＴブロック８に正しく伝播されない可能性がある。また、ロジックＢＩＳＴ診断中に、システム稼動中の他のロジックＢＩＳＴブロック８にアクティブ論理が伝播されてしまう可能性がある。これにより、システム稼働中の２重化ブロック４又はロジックＢＩＳＴブロック８を誤動作させる可能性があり、システムが適切に稼働することが困難になる。
【００２４】
そこで、実施形態では、半導体装置１のロジックＢＩＳＴブロック８において、入力インターフェース回路８６に接続された故障監視回路１０と出力インターフェース回路８７に接続された故障監視回路２０とを設けることで、入力インターフェース回路８６及び出力インターフェース回路８７の故障診断を可能にする。
【００２５】
具体的には、システム動作時に、入力インターフェース回路８６における各セレクタ８６１−０〜８６１−４は、故障していなければ、ノンアクティブレベルの制御信号φＸＢＥＮを受けて前段のロジックＢＩＳＴブロック８からの入力信号を自己テスト回路８０の入力側へ転送しているはずである。そのため、図２に示す故障監視回路１０は、システム動作時に、各セレクタ８６１−０〜８６１−４における第１の入力ノードと出力ノードとで信号の論理が一致することを監視する。第１の入力ノードは、前段のロジックＢＩＳＴブロック８に接続された入力ノードである。
【００２６】
故障監視回路１０は、例えば、図４に示すように構成される。図４は、入力インターフェース回路８６及び故障監視回路１０の構成を示す図である。故障監視回路１０は、複数の比較回路１１−０〜１１−４及び故障信号生成回路１２を有する。
【００２７】
複数の比較回路１１−０〜１１−４は、複数のセレクタ８６１−０〜８６１−４に対応している。各比較回路１１−０〜１１−４は、対応するセレクタ８６１の第１の入力ノードと出力ノードとに接続されている。例えば、各比較回路１１−０〜１１−４は、セレクタ８６１の第１の入力ノードに接続された第１の入力ノードとセレクタ８６１の出力ノードに接続された第２の入力ノードとを有するＥＸＯＲゲート１１ａを有する。
【００２８】
故障信号生成回路１２は、複数の比較回路１１−０〜１１−４に接続されている。例えば、故障信号生成回路１２は、ＯＲゲート１２ａ、フリップフロップ１２ｂ、フリップフロップ１２ｃ、及びＯＲゲート１２ｄを有する。ＯＲゲート１２ａは、入力側が複数の比較回路１１−０〜１１−４（複数のＥＸＯＲゲート１１ａ）に接続され、出力側がフリップフロップ１２ｂに接続されている。フリップフロップ１２ｂは、データ入力端子がＯＲゲート１２ａの出力側に接続され、出力端子がＯＲゲート１２ｄの入力側に接続されている。ＯＲゲート１２ｄは、フリップフロップ１２ｂとフリップフロップ１２ｃとの間に配されている。ＯＲゲート１２ｄは、入力側がフリップフロップ１２ｂの出力端子とフリップフロップ１２ｃの出力端子とに接続されている。
【００２９】
各比較回路１１−０〜１１−４は、対応するセレクタ８６１の第１の入力ノードに現れる信号の論理と出力ノードに現れる信号の論理とを比較し比較結果を故障信号生成回路１２へ出力する。すなわち、ＥＸＯＲゲート１１ａは、セレクタ８６１の第１の入力ノードに現れる信号の論理とセレクタ８６１の出力ノードに現れる信号の論理とが一致していればＬレベルの比較結果を故障信号生成回路１２へ出力する。ＥＸＯＲゲート１１ａは、セレクタ８６１の第１の入力ノードに現れる信号の論理とセレクタ８６１の出力ノードに現れる信号の論理とが不一致であればＨレベルの比較結果を故障信号生成回路１２へ出力する。故障信号生成回路１２は、各比較回路１１−０〜１１−４から受けた比較結果に応じて、入力インターフェース回路８６についての故障の有無を示す故障信号φＥＲＸＢを生成し外部（例えば、システムのコントローラ）へ出力する。
【００３０】
すなわち、ＯＲゲート１２ａは、複数のＥＸＯＲゲート１１ａの出力がいずれもＬレベルである間はＬレベルを出力している。このとき、フリップフロップ１２ｂは、所定のクロックタイミングでＬレベルを保持してＯＲゲート１２ｄへ出力する。これに応じて、フリップフロップ１２ｃは、故障信号φＥＲＸＢをＬレベル（故障なし）にして外部へ出力する。
【００３１】
一方、複数のＥＸＯＲゲート１１ａの出力のうちに１つでもＨレベルがあると、ＯＲゲート１２ａは、Ｈレベルを出力する。Ｈレベルを受けると、フリップフロップ１２ｂは、所定のクロックタイミングでＨレベルを保持してＯＲゲート１２ｄへ出力する。これに応じて、フリップフロップ１２ｃは、故障信号φＥＲＸＢをＨレベル（故障あり）にして外部へ出力する。フリップフロップ１２ｃは、１回でもフリップフロップ１２ｂからＨレベルが出力されると、それ以降リセットされるまで、引き続き故障信号φＥＲＸＢをＨレベル（故障あり）にして外部へ出力する。
【００３２】
これにより、入力インターフェース回路８６における複数のセレクタ８６１−０〜８６１−４のうち少なくとも１つに一時的にでも故障が発生すると、Ｈレベル（故障あり）の故障信号φＥＲＸＢが継続的に外部へ出力されるので、故障の発生を確実に外部へ通知することができる。
【００３３】
なお、ロジックＢＩＳＴの実行時には、故障監視回路１０が動作しないように、例えばフリップフロップ１２ｂ，１２ｃがリセットされるとともにフリップフロップ１２ｂ，１２ｃへのクロックの供給を停止してもよい。あるいは、外部の側で、ロジックＢＩＳＴの実行時に故障監視回路１０から供給された故障信号φＥＲＸＢを無視又は破棄するようにしてもよい。
【００３４】
また、システム動作時に、出力インターフェース回路８７におけるＡＮＤゲート８７１−０，８７１−１、ＯＲゲート８７２−２，８７２−３、及びＡＮＤゲート８７１−４は、故障していなければ、ノンアクティブレベルの制御信号φＩＳＥＮを受けて自己テスト回路８０の出力側からの出力信号を外部（他のロジックＢＩＳＴブロック８）側へ転送しているはずである。そのため、図２に示す故障監視回路２０は、システム動作時に、ＡＮＤゲート８７１−０，８７１−１，８７１−４又はＯＲゲート８７２−２，８７２−３における第１の入力ノードと出力ノードとで信号の論理値が一致することを監視する。第１の入力ノードは、自己テスト回路８０の出力側に接続された入力ノードである。
【００３５】
故障監視回路２０は、例えば、図５に示すように構成される。図５は、入力インターフェース回路８６及び故障監視回路２０の構成を示す図である。故障監視回路２０は、複数の比較回路２１−０〜２１−４及び故障信号生成回路２２を有する。
【００３６】
複数の比較回路２１−０〜２１−４は、ＡＮＤゲート８７１−０，８７１−１、ＯＲゲート８７２−２，８７２−３、及びＡＮＤゲート８７１−４に対応している。各比較回路２１−０〜２１−４は、対応するＡＮＤゲート８７１又はＯＲゲート８７２の第１の入力ノードと出力ノードとに接続されている。例えば、各比較回路２１−０〜２１−４は、ＡＮＤゲート８７１又はＯＲゲート８７２の第１の入力ノードに接続された第１の入力ノードとＡＮＤゲート８７１又はＯＲゲート８７２の出力ノードに接続された第２の入力ノードとを有するＥＸＯＲゲート２１ａを有する。
【００３７】
故障信号生成回路２２は、複数の比較回路２１−０〜２１−４に接続されている。例えば、故障信号生成回路２２は、ＯＲゲート２２ａ、フリップフロップ２２ｂ、フリップフロップ２２ｃ、及びＯＲゲート２２ｄを有する。ＯＲゲート２２ａは、入力側が複数の比較回路２１−０〜２１−４（複数のＥＸＯＲゲート２１ａ）に接続され、出力側がフリップフロップ２２ｂに接続されている。フリップフロップ２２ｂは、データ入力端子がＯＲゲート２２ａの出力側に接続され、出力端子がＯＲゲート２２ｄの入力側に接続されている。ＯＲゲート２２ｄは、フリップフロップ２２ｂとフリップフロップ２２ｃとの間に配されている。ＯＲゲート２２ｄは、入力側がフリップフロップ２２ｂの出力端子とフリップフロップ２２ｃの出力端子とに接続されている。
【００３８】
各比較回路２１−０〜２１−４は、対応するＡＮＤゲート８７１又はＯＲゲート８７２の第１の入力ノードに現れる信号の論理値と出力ノードに現れる信号の論理値（期待値）とを比較し比較結果を故障信号生成回路２２へ出力する。すなわち、ＥＸＯＲゲート２１ａは、ＡＮＤゲート８７１又はＯＲゲート８７２の第１の入力ノードに現れる信号の論理値とＡＮＤゲート８７１又はＯＲゲート８７２の出力ノードに現れる信号の論理値（期待値）とが一致していればＬレベルの比較結果を故障信号生成回路２２へ出力する。ＥＸＯＲゲート２１ａは、ＡＮＤゲート８７１又はＯＲゲート８７２の第１の入力ノードに現れる信号の論理値とＡＮＤゲート８７１又はＯＲゲート８７２の出力ノードに現れる信号の論理値（期待値）とが不一致であればＨレベルの比較結果を故障信号生成回路２２へ出力する。故障信号生成回路２２は、各比較回路２１−０〜２１−４から受けた比較結果に応じて、出力インターフェース回路８７についての故障の有無を示す故障信号φＥＲＩＳ１を生成し外部（例えば、システムのコントローラ）へ出力する。
【００３９】
すなわち、ＯＲゲート２２ａは、複数のＥＸＯＲゲート２１ａの出力がいずれもＬレベルである間はＬレベルを出力している。このとき、フリップフロップ２２ｂは、所定のクロックタイミングでＬレベルを保持してＯＲゲート２２ｄへ出力する。これに応じて、フリップフロップ２２ｃは、故障信号φＥＲＩＳ１をＬレベル（故障なし）にして外部へ出力する。
【００４０】
一方、複数のＥＸＯＲゲート２１ａの出力のうちに１つでもＨレベルがあると、ＯＲゲート２２ａは、Ｈレベルを出力する。Ｈレベルを受けると、フリップフロップ２２ｂは、所定のクロックタイミングでＨレベルを保持してＯＲゲート２２ｄへ出力する。これに応じて、フリップフロップ２２ｃは、故障信号φＥＲＩＳ１をＨレベル（故障あり）にして外部へ出力する。フリップフロップ２２ｃは、１回でもフリップフロップ２２ｂからＨレベルが出力されると、それ以降リセットされるまで、引き続き故障信号φＥＲＩＳ１をＨレベル（故障あり）にして外部へ出力する。
【００４１】
これにより、出力インターフェース回路８７におけるＡＮＤゲート８７１−０，８７１−１、ＯＲゲート８７２−２，８７２−３、及びＡＮＤゲート８７１−４のうち少なくとも１つに一時的にでも故障が発生すると、Ｈレベル（故障あり）の故障信号φＥＲＩＳ１が継続的に外部へ出力されるので、故障の発生を確実に外部へ通知することができる。
【００４２】
なお、ロジックＢＩＳＴの実行時には、故障監視回路２０が動作しないように、例えばフリップフロップ２２ｂ，２２ｃがリセットされるとともにフリップフロップ２２ｂ，２２ｃへのクロックの供給を停止してもよい。あるいは、外部の側で、ロジックＢＩＳＴの実行時に故障監視回路２０から供給された故障信号φＥＲＩＳ１を無視又は破棄するようにしてもよい。
【００４３】
また、ロジックＢＩＳＴの実行時に、出力インターフェース回路８７におけるＡＮＤゲート８７１−０，８７１−１、ＯＲゲート８７２−２，８７２−３、及びＡＮＤゲート８７１−４は、故障していなければ、アクティブレベルの制御信号φＩＳＥＮを受けて出力信号をリセット時の論理値に固定しているはずである。そのため、故障監視回路３０は、出力信号の論理値がリセット時の論理値（期待値）に一致することを監視する。故障監視回路３０は、図６に示すように、主として、境界ＢＤ−２３の外側に配される。図６は、ロジックＢＩＳＴブロック８間の構成（図１参照）を示す図である。図６では、図示の簡略化のため、故障監視回路１０，２０の図示を省略している。
【００４４】
故障監視回路３０は、例えば、図７に示すように構成される。図７は、出力インターフェース回路８７及び故障監視回路３０の構成を示す図である。故障監視回路３０は、故障信号生成回路３２を有する。故障信号生成回路３２は、制御信号φＩＳＥＮの供給ノード３１とＡＮＤゲート８７１−０，８７１−１、ＯＲゲート８７２−２，８７２−３、及びＡＮＤゲート８７１−４のそれぞれの出力ノードとに接続されている。
【００４５】
故障信号生成回路３２は、複数のフリップフロップ３２ａ，３２ｂ，３２ｃ、ＯＲゲート３２ｄ，３２ｅ、ＮＡＮＤゲート３２ｆ、ＯＲゲート３２ｇ、及びラッチ回路３２ｈを有する。複数のフリップフロップ３２ａ，３２ｂ，３２ｃは、互いに直列に接続されており、初段のフリップフロップ３２ａのデータ入力端子がＨレベルに固定され、最終段のフリップフロップ３２ｃの出力端子がラッチ回路３２ｈのデータ入力端子に接続されている。各フリップフロップ３２ａ，３２ｂ，３２ｃは、リセット端子が制御信号φＩＳＥＮの供給ノード３１に接続されている。ＯＲゲート３２ｄ，３２ｅは、出力インターフェース回路８７におけるＡＮＤゲート８７１−０，８７１−１，８７１−４に対応している。ＯＲゲート３２ｄは、入力側がＡＮＤゲート８７１−１の出力ノードとＡＮＤゲート８７１−４の出力ノードとに接続され、出力側がＯＲゲート３２ｅに接続されている。ＯＲゲート３２ｅは、入力側がＡＮＤゲート８７１−０の出力ノードとＯＲゲート３２ｄの出力ノードとに接続され、出力側がＯＲゲート３２ｇに接続されている。ＮＡＮＤゲート３２ｆは、出力インターフェース回路８７におけるＯＲゲート８７２−２，８７２−３に対応している。ＮＡＮＤゲート３２ｆは、入力側がＯＲゲート８７２−２の出力ノードとＯＲゲート８７２−３の出力ノードとに接続され、出力側がＯＲゲート３２ｇに接続されている。ＯＲゲート３２ｇは、入力側がＯＲゲート３２ｅの出力ノードとＯＲゲート３２ｆの出力ノードとに接続され、出力側がラッチ回路３２ｈのクロック端子Ｇに接続されている。
【００４６】
故障信号生成回路３２は、ロジックＢＩＳＴの実行時に、出力インターフェース回路８７の出力信号を監視し、監視結果に応じて、出力インターフェース回路８７についての故障の有無を示す故障信号φＥＲＩＳ２を生成し外部（例えば、システムのコントローラ）へ出力する。
【００４７】
すなわち、ロジックＢＩＳＴが開始されるタイミングになり制御信号φＩＳＥＮがアクティブレベル（例えば、Ｈレベル）になると、複数のフリップフロップ３２ａ〜３２ｃのうち初段のフリップフロップ３２ａが所定のクロックタイミングでＨレベルを保持して次段のフリップフロップ３２ｂへ出力する。次段のフリップフロップ３２ｂは、次のクロックタイミングでＨレベルを保持して最終段のフリップフロップ３２ｃへ出力する。最終段のフリップフロップ３２ｃは、さらに次のクロックタイミングでＨレベルを保持してラッチ回路３２ｈへ出力する。
【００４８】
このとき、ＯＲゲート３２ｄ，３２ｅ及びＮＡＮＤゲート３２ｆは、対応するＡＮＤゲート８７１又はＯＲゲート８７２の出力ノードに現れる信号の論理がいずれもリセット時の論理に一致する間はＬレベルを出力している。このとき、ＯＲゲート２２ｇはＬレベルをラッチ回路３２ｈのクロック端子Ｇへ出力している。これに応じて、ラッチ回路３２ｈは、初期状態（Ｌレベルの状態）を保持して出力している。すなわち、ラッチ回路３２ｈは、故障信号φＥＲＩＳ２をＬレベル（故障なし）にして外部へ出力する。
【００４９】
一方、ＯＲゲート３２ｄ，３２ｅ及びＮＡＮＤゲート３２ｆは、対応するＡＮＤゲート８７１又はＯＲゲート８７２の出力ノードに現れる信号の論理値のうちに１つでもリセット時の論理値（期待値）に対して不一致があると、Ｈレベルを出力する。Ｈレベルを受けると、ＯＲゲート２２ｇは、Ｈレベルをラッチ回路３２ｈのクロック端子Ｇへ出力する。これに応じて、ラッチ回路３２ｈは、Ｈレベルを保持して出力する。すなわち、ラッチ回路３２ｈは、故障信号φＥＲＩＳ２をＨレベル（故障あり）にして外部へ出力する。ラッチ回路３２ｈは、１回でもＯＲゲート２２ｇからＨレベルが出力されると、それ以降リセットされるまで、引き続き故障信号φＥＲＩＳ２をＨレベル（故障あり）にして外部へ出力する。
【００５０】
これにより、出力インターフェース回路８７におけるＡＮＤゲート８７１−０，８７１−１、ＯＲゲート８７２−２，８７２−３、及びＡＮＤゲート８７１−４のうち少なくとも１つに一時的にでも故障が発生すると、Ｈレベル（故障あり）の故障信号φＥＲＩＳ２が継続的に外部へ出力されるので、故障の発生を確実に外部へ通知することができる。
【００５１】
なお、システムの動作時には、故障監視回路３０が動作しないように、例えばラッチ回路３２ｈがリセットされてもよい。あるいは、外部の側で、システムの動作時に故障監視回路３０から供給された故障信号φＥＲＩＳ２を無視又は破棄するようにしてもよい。
【００５２】
以上のように、実施形態では、半導体装置１において、ロジックＢＩＳＴブロック８の入力インターフェース回路８６に接続された故障監視回路１０と出力インターフェース回路８７に接続された故障監視回路２０，３０とを設ける。これにより、ロジックＢＩＳＴブロック８における入力インターフェース回路８６及び出力インターフェース回路８７の故障診断を行うことができる。したがって、入力インターフェース回路８６及び出力インターフェース回路８７の故障診断の結果をシステムのコントローラ等に通知することができ、入力インターフェース回路８６及び／又は出力インターフェース回路８７の故障に起因したシステムの誤動作を防ぐことができる。すなわち、半導体装置１における故障診断を適切に行うことができる。
【００５３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００５４】
１  半導体装置、８，８−１〜８−４  ロジックＢＩＳＴブロック。
【図１】
2019158761.tif 000003
【図２】
2019158761.tif 000004
【図３】
2019158761.tif 000005
【図４】
2019158761.tif 000006
【図５】
2019158761.tif 000007
【図６】
2019158761.tif 000008
【図７】
2019158761.tif 000009