(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-14
(45)【発行日】2022-06-22
(54)【発明の名称】半導体装置及びその自己診断の制御方法
(51)【国際特許分類】
G01R 31/28 20060101AFI20220615BHJP
H01L 21/822 20060101ALI20220615BHJP
H01L 27/04 20060101ALI20220615BHJP
【FI】
G01R31/28 W
H01L27/04 T
H01L27/04 H
(21)【出願番号】P 2018158893
(22)【出願日】2018-08-28
【審査請求日】2021-01-15
(73)【特許権者】
【識別番号】302062931
【氏名又は名称】ルネサスエレクトロニクス株式会社
(74)【代理人】
【識別番号】100103894
【氏名又は名称】家入 健
(72)【発明者】
【氏名】西田 善則
(72)【発明者】
【氏名】前田 洋一
(72)【発明者】
【氏名】松嶋 潤
【審査官】越川 康弘
(56)【参考文献】
【文献】特開2012-194111(JP,A)
【文献】国際公開第2016/084165(WO,A1)
【文献】特開2005-249526(JP,A)
【文献】特開2011-196829(JP,A)
【文献】米国特許出願公開第2009/0161722(US,A1)
【文献】米国特許出願公開第2005/0028058(US,A1)
【文献】米国特許出願公開第2012/0226942(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G01R 31/28
H01L 21/822
(57)【特許請求の範囲】
【請求項1】
診断対象回路と、
前記診断対象回路の診断を行う自己診断回路と、
前記自己診断回路による前記診断対象回路の診断の制御を行う診断制御回路と、
を備え、
前記診断制御回路は、
前記自己診断回路による前記診断対象回路の診断の中止を指示する中止信号を受け取った場合、前記自己診断回路による前記診断対象回路の診断を段階的に停止させる診断中止制御回路を有
し、
前記診断中止制御回路は、テストパタンが供給されることによって前記診断対象回路のテスト動作が実行されている期間中に前記中止信号を受け取った場合、前記自己診断回路に、前記テストパタンを生成させながら前記診断対象回路のテスト動作に用いられるテストクロックの周波数を所定周波数にまで段階的に低下させるクールダウン処理、を実行させた後、前記テストパタンの生成を停止した状態で前記診断対象回路への前記テストクロックの供給が停止するまで当該テストクロックの周波数をさらに段階的に低下させるクロックオフ処理、を実行させるように構成されている、
半導体装置。
【請求項2】
前記診断中止制御回路は、前記診断対象回路のテスト動作のクールダウン処理が実行されている期間中に前記中止信号を受け取った場合、
前記自己診断回路に、前記クールダウン処理の完了後、
前記クロックオフ処理を実行させるように構成されている、
請求項1に記載の半導体装置。
【請求項3】
前記診断中止制御回路は、前記自己診断回路によって前記診断対象回路に対するテストクロックの供給開始の設定が行われている期間中に前記中止信号を受け取った場合、
前記自己診断回路に、前記クロックオフ処理を実行させるように構成されている、
請求項1に記載の半導体装置。
【請求項4】
前記診断中止制御回路は、
前記自己診断回路に、前記テストクロックの供給開始の設定完了後、
前記クロックオフ処理を実行させるように構成されている、
請求項
3に記載の半導体装置。
【請求項5】
前記診断中止制御回路は、前記自己診断回路による前記診断対象回路に対するテストクロックの供給開始の設定完了後から前記自己診断回路による前記診断対象回路のテスト動作開始前までの期間中、前記診断対象回路のテスト動作の結果の判定が行われている期間中、及び、前記診断対象回路に対する前記テストクロックの供給停止の動作が実行されている期間中、の何れかにおいて前記中止信号を受け取った場合、
前記自己診断回路に、前記クロックオフ処理を実行させるように構成されている、
請求項1に記載の半導体装置。
【請求項6】
前記中止信号は、リセット信号である、
請求項1に記載の半導体装置。
【請求項7】
自己診断回路によって診断対象回路の診断を行い、
前記自己診断回路による前記診断対象回路の診断の中止を指示する中止信号を受け取った場合、前記自己診断回路による前記診断対象回路の診断を段階的に停止させる、
半導体装置の自己診断の制御方法であって、
テストパタンが供給されることによって前記診断対象回路のテスト動作が実行されている期間中に前記中止信号を受け取った場合、前記自己診断回路に、前記テストパタンを生成させながら前記診断対象回路のテスト動作に用いられるテストクロックの周波数を所定周波数にまで段階的に低下させるクールダウン処理、を実行させた後、前記テストパタンの生成を停止した状態で前記診断対象回路への前記テストクロックの供給が停止するまで当該テストクロックの周波数をさらに段階的に低下させるクロックオフ処理、を実行させる、
半導体装置の自己診断の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は半導体装置及びその自己診断の制御方法に関し、例えば消費電流の急峻な変化を抑制するのに適した半導体装置及びその自己診断の制御方法に関する。
【背景技術】
【0002】
例えば、自動車向けの機能安全規格を満たすため、自動車に搭載される半導体装置には自己診断機能(IST;In-System-Test)が設けられている。自己診断は、例えばBIST(Built In Self Test)回路を用いることにより、電源起動時(パワーオン時)に行われたり、通常動作中に定期的に行われたりする。
【0003】
ここで、半導体装置には、自己診断時の消費電力を通常動作時に許容される消費電力以下に抑えることが求められるだけでなく、自己診断時の消費電流の変化率(di/dt)を、通常動作時に許容される消費電流の変化率以下に抑えることが求められている。そのため、通常動作中の定期的な自己診断では、例えば、複数の診断対象回路の診断が互いに異なるタイミングで実施されている。それにより、自己診断時における消費電力が抑制されるとともに、自己診断時における消費電流の急峻な変化が抑制される。しかしながら、依然として、診断対象回路のテスト動作後に動作モードが自己診断モードから通常動作モード(ユーザモード)に切り替わる際に、消費電流が急峻に変化してしまう可能性がある。
【0004】
このような問題に対する解決策が特許文献1に開示されている。特許文献1に開示された半導体装置は、診断対象回路のテスト動作後に複数のパタン発生回路によるテストパタンの生成を互いに異なるタイミングで停止させることにより、テスト動作後における消費電流の急峻な変化を抑制している。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1には、診断対象回路のテスト動作後に複数のパタン発生回路によるテストパタンの生成を互いに異なるタイミングで停止させることについては記載されているものの、診断処理の実行中に当該診断処理の中止を指示する信号(例えば外部からのリセット信号)を受け取った場合の動作については開示も示唆もされていない。
【0007】
したがって、特許文献1では、診断処理の実行中に当該診断処理の中止を指示する信号を受け取った場合、複数のパタン発生回路を含む自己診断回路の動作を直ちに停止させるものと考えられる。そのため、特許文献1の構成では、実行中の診断処理を中止させる場合に消費電流が急峻に変化してしまう、という問題があった。その結果、例えば電源電圧の変動が大きくなるため、半導体装置の動作が不安定になってしまう。その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0008】
一実施の形態によれば、半導体装置は、診断対象回路と、前記診断対象回路の診断を行う自己診断回路と、前記自己診断回路による前記診断対象回路の診断の制御を行う診断制御回路と、を備え、前記診断制御回路は、前記自己診断回路による前記診断対象回路の診断の中止を指示する中止信号を受け取った場合、前記自己診断回路による前記診断対象回路の診断を段階的に停止させる診断中止制御回路を有する。
【0009】
他の実施の形態によれば、半導体装置の自己診断の制御方法は、自己診断回路によって診断対象回路の診断を行い、前記自己診断回路による前記診断対象回路の診断の中止を指示する中止信号を受け取った場合、前記自己診断回路による前記診断対象回路の診断を段階的に停止させる。
【発明の効果】
【0010】
前記一実施の形態によれば、消費電流の急峻な変化を抑制することが可能な半導体装置及びその自己診断の制御方法を提供することができる。
【図面の簡単な説明】
【0011】
【
図1】実施の形態1に係る半導体装置の構成例を示すブロック図である。
【
図2】
図1に示す半導体装置の自己診断の動作を示すフローチャートである。
【
図3】正常に自己診断が行われた
図1に示す半導体装置の消費電流の変化を示すタイミングチャートである。
【
図4】診断が中止された場合における
図1に示す半導体装置の消費電流の変化を示すタイミングチャートである。
【
図5】テストクールダウン処理の変形例を説明するための図である。
【
図6】テストクロック信号の周波数制御の一例を説明するための図である。
【
図7】テストクロック信号の周波数制御の他の例を説明するための図である。
【
図8】
図1に示す半導体装置のメモリに格納されたプログラムの一例を示す図である。
【
図9】実施の形態2に係る半導体装置の自己診断の動作を示すフローチャートである。
【
図10】実施の形態3に係る半導体装置の構成例を示すブロック図である。
【
図11】
図10に示す半導体装置の自己診断の動作を示すフローチャートである。
【
図12】比較例に係る半導体装置の自己診断の動作を示すフローチャートである。
【
図13】比較例に係る半導体装置の消費電流の変化を示すタイミングチャートである。
【
図14】比較例に係る半導体装置のメモリに格納されたプログラムの一例を示す図である。
【発明を実施するための形態】
【0012】
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【0013】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0014】
<実施の形態1>
図1は、実施の形態1に係る半導体装置1の構成例を示すブロック図である。本実施の形態に係る半導体装置1は、診断対象回路である論理回路の診断を行う自己診断機能を有し、診断処理の実行中に当該診断処理の中止を指示する中止信号を受け取った場合に、診断処理を段階的に停止させる。それにより、本実施の形態に係る半導体装置1は、実行中の診断処理を中止する場合にも消費電流の急峻な変化を抑制することができる。その結果、電源電圧の変動が抑制されるため、半導体装置1の動作が安定する。以下、具体的に説明する。
【0015】
図1に示すように、半導体装置1は、システム制御回路11と、診断制御回路12と、自己診断回路13と、診断対象回路である論理回路14と、を備える。
【0016】
システム制御回路11は、診断制御回路12に対して論理回路14の診断開始を指示する診断開始信号ST1を出力したり、論理回路14のテスト結果DT1と期待値とを比較することにより論理回路14の故障の有無を判定したりする。また、システム制御回路11は、例えば半導体装置1の外部に設けられた上位システム(不図示)からのリセット信号RSTを受け取った場合、論理回路14に対するリセット信号RSTの出力を保留したうえで、診断制御回路12に対して論理回路14の診断中止を指示する診断中止信号BR1を出力する。そして、診断処理の中止が完了した後に、保留していたリセット信号RSTを論理回路14に対して出力する。それにより、論理回路14は初期化される。
【0017】
診断制御回路12は、所謂IST制御回路であって、電源起動時、及び、通常動作時に定期的に、自己診断回路13による論理回路14の診断を制御する。自己診断回路13は、診断制御回路12によって制御され、診断対象回路である論理回路14の診断を行う。
【0018】
具体的には、診断制御回路12は、メモリ121と、テストシーケンサ122と、診断中止制御回路123と、を有する。また、自己診断回路13は、テスト回路131と、テストクロック生成回路132と、を有する。テスト回路131は、所謂BIST回路である。
【0019】
テストシーケンサ122は、システム制御回路11から診断開始信号ST1を受け取ると、メモリ121に格納されたプログラムを順番に取得し、取得したプログラムに応じた診断処理を順番に自己診断回路13に実行させる。例えば、テストシーケンサ122は、取得したプログラムに応じた制御信号S1を自己診断回路13に対して出力することにより、クロックオン処理、テスト設定処理、テスト実行処理、テストクールダウン処理、テスト結果判定処理、クロックオフ処理を順番に自己診断回路13に実行させる。各処理の詳細については、後述する。
【0020】
診断中止制御回路123は、システム制御回路11から診断中止信号BR1を受け取ると、テストシーケンサ122からメモリ121へのアクセス信号に含まれるアドレス情報AD1から現在実行中の処理内容を判定する。その後、診断中止制御回路123は、判定結果に応じた診断中止の処理内容を用いて自己診断回路13による論理回路14の診断を段階的に停止させる。
【0021】
具体的には、診断中止制御回路123は、テストシーケンサ122に対して、現在実行中の処理内容に応じた診断中止処理内容のプログラム、が記憶されたメモリ121の記憶領域にアクセスを切り替えるように、ジャンプ信号JP1を出力する。それにより、テストシーケンサ122は、ジャンプ信号JP1によって切り替えられたアドレスのプログラムをメモリ121から取得し、取得したプログラムに応じた診断中止処理を自己診断回路13に実行させる。
【0022】
その後、テストシーケンサ122は、自己診断回路13による論理回路14の診断処理の中止が完了すると、診断処理の中止が完了したことを表す診断中止完了信号FN0を診断中止制御回路123に対して出力する。診断中止制御回路123は、テストシーケンサ122からの診断中止完了信号FN0を受け取ると、診断中止完了信号FN1をシステム制御回路11に対して出力する。診断中止制御回路123の動作の詳細については、後述する。
【0023】
(半導体装置1の自己診断の動作)
続いて、半導体装置1の自己診断の動作について説明する。
図2は、半導体装置1の自己診断の動作を示すフローチャートである。
【0024】
まず、
図2を用いて、半導体装置1の正常時の自己診断の動作について説明する。
【0025】
システム制御回路11から診断開始信号ST1が出力されると、診断制御回路12は、自己診断回路13による論理回路14の診断処理の制御を開始する。
【0026】
診断処理では、クロックオン処理(ステップS101)、テスト設定処理(ステップS102)、テスト実行処理(ステップS103)、テストクールダウン処理(ステップS104)、テスト結果判定処理(ステップS105)、クロックオフ処理(ステップS106)が順番に実行される。
【0027】
クロックオン処理では、診断対象回路である論理回路14に対するテストクロック信号TCKの供給開始の設定が行われる。具体的には、テストクロック生成回路132は、テストシーケンサ122からの制御信号S1に基づいて、クロック信号CLKをテストクロック信号TCKとして論理回路14に対して出力し始める。
【0028】
テスト設定処理では、テスト回路131の初期設定が行われる。なお、テスト設定処理は、論理回路14に対するテストクロック信号TCKの供給の設定完了後から自己診断回路13による論理回路14のテスト動作開始前の期間に行われる。
【0029】
テスト実行処理では、自己診断回路13によって論理回路14のテスト動作が実行される。例えば、自己診断回路13に設けられたテスト回路131は、テストパタンを生成するテストパタン生成回路と、テスト結果を圧縮するテスト結果圧縮回路と、を有する。テストパタン生成回路は、論理回路14内に構成されたスキャンチェーンにテストパタンを供給する。その後、論理回路14に設けられた各フリップフロップは、テストパタンに応じたテスト結果を出力する。その後、各フリップフロップのテスト結果は、論理回路14のテスト結果としてスキャンチェーンを介してテスト結果圧縮回路に入力される。テスト結果圧縮回路は、スキャンチェーンを介して入力されたテスト結果を圧縮する。
【0030】
テストクールダウン処理では、テスト実行処理後、自己診断回路13による論理回路14のテスト動作によって増大した消費電力の斬減が行われる。具体的には、診断制御回路12は、テスト回路131にテストパタンを生成させながら、テストクロック生成回路132によって生成されるテストクロック信号TCKの周波数を所定周波数にまで段階的に(徐々に)低下させる。それにより、消費電流の変化率が許容範囲内に抑えられた状態で、消費電力は斬減する。
【0031】
テスト結果判定処理では、論理回路14のテスト結果DT1がテスト回路131からテストシーケンサ122を介してシステム制御回路11に伝送される。システム制御回路11は、例えば、論理回路14のテスト結果DT1と、期待値と、を比較して、論理回路14の故障の有無を判定する。
【0032】
クロックオフ処理では、論理回路14に対するテストクロック信号TCKの供給停止の動作が実行される。具体的には、診断制御回路12は、テスト回路131によるテストパタンの生成が行われていない状態で、テストクロック生成回路132によって生成されるテストクロック信号TCKの周波数を段階的に低下させことによって、論理回路14に対するテストクロック信号TCKの供給を段階的に停止させる。それにより、消費電流の変化率が許容範囲内に抑えられた状態で、消費電力はさらに斬減する。
【0033】
その後、テストシーケンサ122は、自己診断回路13による論理回路14の診断が完了したことを表す正常終了信号NE1をシステム制御回路11に対して出力する。システム制御回路11は、正常終了信号NE1を受け取ると、論理回路14に対してリセット信号RSTを出力する。それにより、論理回路14は初期化される(ステップS107)。
【0034】
なお、論理回路14のリセット処理は、システム制御回路11によって行われる場合に限られず、テストシーケンサ122による診断処理の一部に組み込まれても良い。その場合、テストシーケンサ122は、リセット処理の終了後、自己診断回路13による論理回路14の診断が終了したことを表す正常終了信号NE1をシステム制御回路11に対して出力する。それにより、論理回路14は初期化され、動作モードは、自己診断モードから通常動作モード(ユーザモード)に切り替わる。
【0035】
図3は、正常に自己診断が行われた場合における半導体装置1の消費電流の変化を示すタイミングチャートである。
図3を参照すると、クロックオン処理の期間では、テストクロック信号TCKの稼働により消費電流が上昇している(時刻t11~t12)。その後、テスト実行処理の期間では、論理回路14のテスト動作により消費電流がさらに上昇し(時刻t13~t14)、その後、高い消費電流値に維持される(時刻t14~t15)。なお、テスト実行処理の期間において消費電流が増大するのは、自己診断回路13と論理回路14との間でテストパタン及びテスト結果の受け渡しが行われる際に、テスト回路131及び論理回路14の活性化率が上昇するためである。テスト実行処理後のテストクールダウン処理の期間では、テストクロック信号TCKの周波数が所定周波数にまで段階的に低下するため、消費電流は、その変化率が許容範囲内に抑えられた状態で下降している(時刻t15~t16)。その後、クロックオフ処理の期間でも、テストクロック信号TCKの周波数がさらに段階的に低下するため、消費電流は、その変化率が許容範囲内に抑えられた状態でさらに下降している(時刻t17~t18)。
【0036】
次に、
図2を用いて、半導体装置1の診断処理の中止の動作について説明する。
【0037】
ここで、半導体装置1の診断処理の中止の動作について説明する前に、比較例である半導体装置50の診断処理の中止の動作について説明する。
【0038】
図12は、比較例に係る半導体装置50の自己診断の動作を示すフローチャートである。
図12に示すように、半導体装置50の正常時の自己診断の動作については、半導体装置1の場合と同様であるため、その説明を省略する。
【0039】
半導体装置50は、診断処理の実行中の任意のタイミングで当該診断処理の中止を指示する信号(例えば半導体装置50の外部に設けられた上位システムからのリセット信号)を受け取った場合、自己診断回路の動作を直ちに停止させている。そのため、半導体装置50では、実行中の診断処理を中止させる場合に消費電流が急峻に変化してしまう、という問題があった。
【0040】
図13は、比較例に係る半導体装置50の消費電流の変化を示すタイミングチャートである。なお、
図13の例では、半導体装置50が、テスト実行処理(
図12のステップS103)の期間中に診断中止を指示する信号を受け取っている(時刻t31)。
【0041】
図13を参照すると、半導体装置50は、テスト実行処理の期間中に診断中止を指示する信号を受け取った場合、自己診断回路の動作を直ちに停止させている。そのため、半導体装置50では、実行中の診断処理を中止させる場合に消費電流が急峻に変化してしまう。つまり、消費電流の変化率(di/dt)が許容範囲を超えて大きくなってしまう。その結果、例えば電源電圧の変動が大きくなるため、半導体装置50の動作が不安定になってしまう。
【0042】
それに対し、半導体装置1は、診断処理の実行中の任意のタイミングで当該診断処理の中止を指示する信号(例えば半導体装置1の外部に設けられた上位システムからのリセット信号RST)を受け取った場合、自己診断回路13の動作を直ちに停止させるのではなく、自己診断回路13の動作を段階的に(徐々に)停止させている。それにより、半導体装置1は、実行中の診断処理を中止する場合にも消費電流の急峻な変化を抑制することができる。
【0043】
具体的には、システム制御回路11は、外部からのリセット信号RSTを受け取った場合、論理回路14に対するリセット信号RSTの出力を保留したうえで、診断制御回路12に対して論理回路14の診断中止を指示する診断中止信号BR1を出力する。
【0044】
診断中止制御回路123は、システム制御回路11から診断中止信号BR1を受け取ると、テストシーケンサ122からメモリ121へのアクセス信号に含まれるアドレス情報AD1から現在実行中の処理内容を判定する。その後、診断中止制御回路123は、現在実行中の処理内容に応じた診断中止の処理内容を用いて自己診断回路13による論理回路14の診断を段階的に停止させる。
【0045】
例えば、診断中止制御回路123は、自己診断回路13がクロックオン処理を実行中の場合(ステップS201のYES)、自己診断回路13に、クロックオン処理の実行完了後(ステップS204)、クロックオフ処理を実行させる(ステップS206)。なお、診断中止制御回路123は、自己診断回路13がクロックオン処理を実行中の場合(ステップS201のYES)、クロックオン処理の実行完了を待たずに、自己診断回路13にクロックオフ処理を実行させても良い。
【0046】
また、診断中止制御回路123は、自己診断回路13がテスト実行処理を実行中の場合(ステップS201のNO→ステップS202のYES)、又は、テストクールダウン処理を実行中の場合(ステップS201のNO→ステップS202のNO→ステップS203のYES)、自己診断回路13に、テストクールダウン処理の実行完了後(ステップS205)、クロックオフ処理を実行させる(ステップS206)。
【0047】
さらに、診断中止制御回路123は、自己診断回路13がその他の処理(例えば、テスト設定処理、テスト結果判定処理、及び、クロックオフ処理の何れかの処理)を実行中の場合(ステップS201のNO→ステップS202のNO→ステップS203のNO)、自己診断回路13にクロックオフ処理を実行させる(ステップS206)。
【0048】
診断中止制御回路123は、自己診断回路13によるクロックオフ処理の実行完了後(ステップS206)、テストシーケンサ122から診断中止完了信号FN0を受け取ると、診断中止完了信号FN1をシステム制御回路11に対して出力する。
【0049】
システム制御回路11は、診断中止完了信号FN1を受け取ると、保留していたリセット信号RSTを論理回路14に対して出力する。それにより、論理回路14は初期化される(ステップS107)。その後、動作モードは、自己診断モードから通常動作モード(ユーザモード)に切り替わる。
【0050】
図4は、実行中の診断処理が中止された場合における半導体装置1の消費電流の変化を示すタイミングチャートである。なお、
図4の例では、半導体装置1が、テスト実行処理(
図2のステップS103)の期間中に診断中止を指示する信号を受け取っている(時刻t21)。
【0051】
図4を参照すると、半導体装置1は、テスト実行処理の期間中に診断中止を指示する信号を受け取った場合、自己診断回路13の動作を直ちに停止させるのではなく、診断中止制御回路123に、テストクールダウン処理を実行させ(時刻t21~t22)、かつ、クロックオフ処理を実行させる(時刻t22~t23)。その後、半導体装置1は、消費電力が十分に低下した状態で、システム制御回路11によって保留されたリセット信号RSTを論理回路14に印可することで当該論理回路14を初期化している。それにより、半導体装置1は、実行中の診断処理を中止する場合にも消費電流の急峻な変化を抑制することができる。つまり、半導体装置1は、実行中の診断処理を中止する場合にも消費電流の変化率(di/dt)を許容範囲内に抑えることができる。
【0052】
このように、本実施の形態にかかる半導体装置1は、診断対象回路である論理回路14の診断を行う自己診断機能を有し、診断処理の実行中に当該診断処理の中止を指示する中止信号を受け取った場合に、診断処理を段階的に停止させる。それにより、本実施の形態に係る半導体装置1は、実行中の診断処理を中止する場合にも消費電流の急峻な変化を抑制することができる。その結果、電源電圧の変動が抑制されるため、半導体装置1の動作が安定する。
【0053】
続いて、
図5,
図6,
図7を用いてテストクールダウン処理の変形例、テストクロック信号の周波数制御のいくつかの例について説明する。
【0054】
(テストクールダウン処理の変形例)
図5は、テストクールダウン処理の変形例を説明するための図である。なお、
図5の例では、空間スライス制御(分割制御)による消費電力の斬減が行われる。
【0055】
図5を参照すると、例えば、テスト回路131は、4個のテストパタン生成回路PRPG1~PRPG4と、それらに対応する4個のテスト結果圧縮回路MISR1~MISR4と、を備える。また、論理回路14は、4個の論理回路CUT1~CUT4を備える。
【0056】
テストパタン生成回路PRPG1~PRPG4は、それぞれ、テストパタンを生成して論理回路CUT1~CUT4に対して出力する。テスト結果圧縮回路MISR1~MISR4は、それぞれ論理回路CUT1~CUT4のテスト結果を圧縮する。
【0057】
ここで、診断中止制御回路123は、テストパタン生成回路PRPG1によるテストパタンの生成を停止させ、その後、テストパタン生成回路PRPG2によるテストパタンの生成を停止させ、その後、テストパタン生成回路PRPG3によるテストパタンの生成を停止させ、その後、テストパタン生成回路PRPG4によるテストパタンの生成を停止させる。それにより、テストパタン生成回路PRPG1~PRPG4によるテストパタンの生成を同時に停止させる場合よりも、消費電流の変化率が小さくなる。
【0058】
本例では、4個のテストパタン生成回路が設けられた場合について説明したが、これに限られず、任意の数のテストパタン生成回路が設けられていても良い。また、本例では、複数のテストパタン生成回路の動作を一つずつ順番に停止させる場合について説明したが、これに限られない。複数のテストパタン生成回路の動作を2つ以上ずつ順番に停止させても良い。
【0059】
なお、テストクールダウン処理では、上記した空間スライス制御と、テストクロック信号TCKの周波数の段階的な低減と、が組み合わせて用いられても良い。
【0060】
(テストクロック信号の周波数制御の一例)
図6は、テストクロック信号の周波数制御の一例を説明するための図である。
図6を参照すると、診断対象回路である論理回路14にテストクロック信号TCK1~TCK3が供給されている場合、診断中止制御回路123は、テストクロック信号TCK1~TCK3のそれぞれのパルス波形を並行して段階的に間引くことによって、これらテストクロック信号TCK1~TCK3のそれぞれの周波数を段階的に低下させている。それにより、消費電流の変化率が許容範囲内に抑制される。
【0061】
(テストクロック信号の周波数制御の他の例)
図7は、テストクロック信号の周波数制御の他の例を説明するための図である。
図7を参照すると、診断対象回路である論理回路14にテストクロック信号TCK1~TCK3が供給されている場合、診断中止制御回路123は、テストクロック信号TCK1~TCK3のそれぞれのパルス波形を個別に段階的に間引くことによって、これらテストクロック信号TCK1~TCK3のそれぞれの周波数を段階的に低下させている。それにより、消費電流の変化率が許容範囲内に抑制される。
【0062】
続いて、
図8を用いてメモリ121に格納されたプログラムの一例について説明する。
【0063】
(メモリ121に格納されたプログラムの一例)
図8は、半導体装置1のメモリ121に格納されたプログラムの一例を示す図である。また、
図14は、比較例である半導体装置50のメモリに格納されたプログラムの一例を示す図である。
【0064】
まず、
図14を参照すると、比較例である半導体装置50のメモリには、アドレス番号001~006のそれぞれの記憶領域に、クロックオン処理、テスト設定処理、テスト実行処理、テストクールダウン処理、テスト結果判定処理、及び、クロックオフ処理、に関するプログラムが格納されている。
【0065】
テストシーケンサは、まず、アドレス番号001の記憶領域にアクセスすることにより、クロックオン処理に関するプログラムを取得する。そして、テストシーケンサは、取得したプログラムに基づいて、必要に応じてメモリから関連するデータを取得したうえで、自己診断回路にクロックオン処理を実行させる。クロックオン処理後、テストシーケンサは、アドレス番号002の記憶領域にアクセスすることにより、テスト設定処理に関するプログラムを取得する。そして、テストシーケンサは、取得したプログラムに基づいて、必要に応じてメモリから関連するデータを取得したうえで、自己診断回路にテスト設定処理を実行させる。同様にして、テストシーケンサ122は、アドレス番号003~006のそれぞれの記憶領域から、テスト実行処理、テストクールダウン処理、テスト結果判定処理、及び、クロックオフ処理、に関するプログラムを順番に取得し、取得したプログラムに基づいて、自己診断回路に各処理を実行させる。
【0066】
次に、
図8を参照すると、本実施の形態に係る半導体装置1のメモリ121には、アドレス番号001~006,021のそれぞれの記憶領域に、クロックオン処理、テスト設定処理、テスト実行処理、テストクールダウン処理、テスト結果判定処理、アドレス番号021へのジャンプ命令、クロックオフ処理、に関するプログラムが格納されている。また、アドレス番号010~012,020のそれぞれの記憶領域に、第1の中止処理、テストクールダウン処理、アドレス番号021へのジャンプ命令、第2の中止処理、に関するプログラムが格納されている。
【0067】
例えば、半導体装置1の診断処理が正常に行われる場合、テストシーケンサ122は、アドレス番号001~006,021のそれぞれの記憶領域からクロックオン処理、テスト設定処理、テスト実行処理、テストクールダウン処理、テスト結果判定処理、アドレス番号021へのジャンプ命令、クロックオフ処理、に関するプログラムを順番に取得し、取得したプログラムに基づいて、自己診断回路13に各処理を実行させる。なお、アドレス番号021へのジャンプ命令は、アクセスを行う記憶領域のアドレス番号をアドレス番号021にジャンプさせることを意味する。したがって、本例では、テスト結果判定処理の後、クロックオフ処理に処理が移行する。
【0068】
それに対し、半導体装置1の診断処理が中止される場合、まず、診断中止制御回路123は、テストシーケンサ122からメモリ121へのアクセス信号に含まれるアドレス情報AD1から現在実行中の処理内容を判定する。
【0069】
例えば、診断中止制御回路123は、テストシーケンサ122がメモリ121の記憶領域のうちアドレス番号003,004の何れかの記憶領域にアクセスしている期間中に診断中止信号BR1を受け取った場合、現在実行中の処理内容がテスト実行処理及びテストクールダウン処理の何れかであると判定する。
【0070】
ここで、診断中止制御回路123は、現在実行中の処理内容がテスト実行処理及びテストクールダウン処理の何れかであると判定した場合、テストシーケンサ122に対してアドレス番号010の記憶領域にアクセスを切り替えるようにジャンプ信号JP1を出力する。それにより、テストシーケンサ122は、アドレス番号010の記憶領域にアクセスを切り替える。その後、テストシーケンサ122は、アドレス番号011,012,021のそれぞれの記憶領域から、テストクールダウン処理、アドレス番号021へのジャンプ命令、及び、クロックオフ処理、に関するプログラムを順番に取得し、取得したプログラムに基づいて、自己診断回路13に各処理を実行させる。
【0071】
つまり、診断中止制御回路123は、現在実行中の処理内容がテスト実行処理及びテストクールダウン処理の何れかである場合、自己診断回路13にテストクールダウン処理及びクロックオフ処理を順番に実行させることによって、自己診断回路13による診断処理を段階的に停止させる。
【0072】
また、例えば、診断中止制御回路123は、テストシーケンサ122がメモリ121の記憶領域のうちアドレス番号001,002,005の何れかの記憶領域にアクセスしている期間中に診断中止信号BR1を受け取った場合、現在実行中の処理内容がクロックオン処理、テスト設定処理及びテスト結果判定処理の何れかであると判定する。
【0073】
ここで、診断中止制御回路123は、現在実行中の処理内容がクロックオン処理、テスト設定処理及びテスト結果判定処理の何れかであると判定した場合、テストシーケンサ122に対してアドレス番号020の記憶領域にアクセスを切り替えるようにジャンプ信号JP1を出力する。それにより、テストシーケンサ122は、アドレス番号020の記憶領域にアクセスを切り替える。その後、テストシーケンサ122は、アドレス番号021の記憶領域から、クロックオフ処理に関するプログラムを取得し、取得したプログラムに基づいて、自己診断回路13にクロックオフ処理を実行させる。
【0074】
つまり、診断中止制御回路123は、現在実行中の処理内容がクロックオン処理、テスト設定処理及びテスト結果判定処理の何れかである場合、自己診断回路13にクロックオフ処理を実行させることによって、自己診断回路13による診断処理を段階的に停止させる。なお、現在実行中の処理内容がクロックオン処理であると判定された場合、診断処理は、クロックオン処理の実行が完了した後に、クロックオフ処理に移行してもよい、クロックオン処理の実行が完了する前に、クロックオフ処理に移行してもよい。
【0075】
<実施の形態2>
図9は、実施の形態2に係る半導体装置2の自己診断時の動作を示すフローチャートである。なお、半導体装置2の構成については、半導体装置1の場合と同様であるため、その説明を省略する。
【0076】
半導体装置2の正常時の自己診断の動作については、半導体装置1の場合と同様であるため、その説明を省略する。したがって、以下では、半導体装置2の診断中止の動作について説明する。
【0077】
システム制御回路11は、診断処理の中止を指示する信号(例えば半導体装置2の外部に設けられた上位システムからのリセット信号RST)を受け取った場合、論理回路14に対するリセット信号RSTの出力を保留したうえで、診断制御回路12に対して論理回路14の診断中止を指示する診断中止信号BR1を出力する。
【0078】
診断中止制御回路123は、システム制御回路11から診断中止信号BR1を受け取ると、テストシーケンサ122からメモリ121へのアクセス信号に含まれるアドレス情報AD1から現在実行中の処理内容を判定する。その後、診断中止制御回路123は、現在実行中の処理内容に応じた診断中止の処理内容を用いて自己診断回路13による論理回路14の診断を段階的に停止させる。
【0079】
例えば、診断中止制御回路123は、自己診断回路13がテスト実行処理を実行中の場合(ステップS202のYES)、又は、テストクールダウン処理を実行中の場合(ステップS202のNO→ステップS203のYES)、自己診断回路13にテストクールダウン処理を実行させる(ステップS205)。診断中止制御回路123は、自己診断回路13によるテストクールダウン処理の実行完了後、テストシーケンサ122から診断中止完了信号FN0を受け取ると、自己診断回路13にクロックオフ処理を実行させることなく、診断中止完了信号FN1をシステム制御回路11に対して出力する。
【0080】
また、診断中止制御回路123は、自己診断回路13がその他の処理(例えば、クロックオン処理、テスト設定処理、テスト結果判定処理、及び、クロックオフ処理の何れかの処理)を実行中の場合(ステップS202のNO→ステップS203のNO)、テストシーケンサ122から診断中止完了信号FN0を受け取ると、自己診断回路13にクロックオフ処理を実行させることなく、診断中止完了信号FN1をシステム制御回路11に対して出力する。
【0081】
システム制御回路11は、診断中止完了信号FN1を受け取ると、保留していたリセット信号RSTを論理回路14に対して出力する。それにより、論理回路14は初期化される(ステップS107)。
【0082】
このように、半導体装置2は、診断処理の中止を指示する信号を受け取った場合、診断中止制御回路123に必要に応じてテストクールダウン処理を実行させる。その後、半導体装置2は、消費電力が十分に低下した状態で、システム制御回路11によって保留されたリセット信号RSTを論理回路14に印可することで当該論理回路14を初期化している。それにより、半導体装置2は、半導体装置1の場合と同様に、実行中の診断処理を中止する場合にも消費電流の急峻な変化を抑制することができる。つまり、半導体装置2は、実行中の診断処理を中止する場合にも消費電流の変化率(di/dt)を許容範囲内に抑えることができる。
【0083】
さらに、半導体装置2は、診断処理の中止を指示する信号を受け取った場合、診断中止制御回路123に、必要に応じてテストクールダウン処理を実行させた後、クロックオフ処理を実行させること無く、診断対象回路である論理回路14を初期化している。それにより、半導体装置2は、例えば通常動作時のクロック周波数が自己診断時のクロック周波数と同等以上である場合において、自己診断モードから通常動作モード(ユーザモード)に動作モードが移行した場合でも、論理回路14に供給されるクロック信号の再稼働に伴う消費電流の急峻な変化を抑制することができる。
【0084】
<実施の形態3>
図10は、実施の形態3に係る半導体装置3の構成例を示すブロック図である。半導体装置3は、半導体装置1の場合と比較して、テストシーケンサ122の代わりにテストシーケンサ322を備え、診断中止制御回路123の代わりに診断中止制御回路323を備える。
【0085】
診断中止制御回路323は、テストシーケンサ122に対してジャンプ信号JP1を出力しない。また、テストシーケンサ122は、診断中止制御回路323に対して診断中止完了信号FN0を出力しない。半導体装置3のその他の構成については、半導体装置1の場合と同様であるため、その説明を省略する。
【0086】
図11は、
図10に示す半導体装置3の自己診断時の動作を示すフローチャートである。半導体装置3の正常時の自己診断の動作については、半導体装置1の場合と同様であるため、その説明を省略する。したがって、以下では、半導体装置3の診断中止の動作について説明する。
【0087】
システム制御回路11は、診断処理の中止を指示する信号(例えば半導体装置3の外部に設けられた上位システムからのリセット信号RST)を受け取った場合、論理回路14に対するリセット信号RSTの出力を保留したうえで、診断制御回路12に対して論理回路14の診断中止を指示する診断中止信号BR1を出力する。
【0088】
診断中止制御回路323は、診断中止信号BR1を受け取ると、自己診断回路13による論理回路14の診断処理が完了するまで待機する(ステップS207)。そして、診断中止制御回路323は、テストシーケンサ122からメモリ121へのアクセス信号に含まれるアドレス情報AD1から、自己診断回路13による論理回路14の診断処理が完了したと判定した場合、診断中止完了信号FN1をシステム制御回路11に対して出力する。
【0089】
システム制御回路11は、診断中止完了信号FN1を受け取ると、保留していたリセット信号RSTを論理回路14に対して出力する。それにより、論理回路14は初期化される(ステップS107)。
【0090】
このように、半導体装置3は、診断処理の中止を指示する信号を受け取った場合、診断中止制御回路323に、自己診断回路13による論理回路14の診断処理が完了するまで待機させる。そして、半導体装置3は、自己診断回路13による論理回路14の診断処理が完了した後、消費電力が十分に低下した状態で、システム制御回路11によって保留されたリセット信号RSTを論理回路14に印可することで当該論理回路14を初期化している。それにより、半導体装置3は、半導体装置1の場合と同様に、実行中の診断処理を中止する場合にも消費電流の急峻な変化を抑制することができる。つまり、半導体装置3は、実行中の診断処理を中止する場合にも消費電流の変化率(di/dt)を許容範囲内に抑えることができる。
【0091】
本実施の形態では、システム制御回路11が、診断中止制御回路323からの診断中止完了信号FN1を受け取った場合に、保留していたリセット信号RSTを論理回路14に対して出力する場合を例に説明したが、これに限られない。システム制御回路11は、テストシーケンサ322からの正常終了信号NE1を受け取った場合に、保留していたリセット信号RSTを論理回路14に対して出力する構成に適宜変更可能である。
【0092】
以上のように、上記実施の形態1~3にかかる半導体装置1~3は、診断対象回路である論理回路14の診断を行う自己診断機能を有し、診断処理の実行中に当該診断処理の中止を指示する中止信号を受け取った場合に、診断処理を段階的に停止させる。それにより、上記実施の形態1~3にかかる半導体装置1~3は、実行中の診断処理を中止する場合にも消費電流の急峻な変化を抑制することができる。その結果、電源電圧の変動が抑制されるため、半導体装置1~3の動作が安定する。
【0093】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【符号の説明】
【0094】
1 半導体装置
2 半導体装置
3 半導体装置
11 システム制御回路
12 診断制御回路
13 自己診断回路
14 論理回路
121 メモリ
122 テストシーケンサ
123 診断中止制御回路
131 テスト回路
132 テストクロック生成回路
322 テストシーケンサ
323 診断中止制御回路
CUT1~CUT4 論理回路
MISR1 テスト結果圧縮回路
MISR2 テスト結果圧縮回路
MISR3 テスト結果圧縮回路
MISR4 テスト結果圧縮回路
PRPG1 テストパタン生成回路
PRPG2 テストパタン生成回路
PRPG3 テストパタン生成回路
PRPG4 テストパタン生成回路