説明

自己診断回路および自己診断方法

【課題】マイクロコンピュータの自己診断の実行時間を削減する。
【解決手段】リセット後の動作がホットスタートかコールドスタートかを判定する手段と、各機能ブロックで発生するエラーが他のどの機能ブロックへ影響があるのかの関連付け情報を保持し、通常動作時に発生したエラーがどのブロックで発生したエラーであるかを判定し、複数の機能ブロックからBISTを実行する機能ブロックを選択する手段と、選択された機能ブロックのBISTを実行する順序を関連付け情報に基づいて制御して、BISTの実行を指示する手段と、を備え、ホットスタートと判定された場合には、BISTを実行する機能ブロックを選択するとともに、選択した機能ブロックのBISTを実行する順序を関連付け情報に基づいて制御してBISTを実行し、コールドスタートと判定された場合には複数の機能ブロックのすべてのBISTを実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は自己診断回路および自己診断方法に関し、特に、自己診断BISTを搭載した高信頼性マイクロコンピュータの自己診断回路および自己診断方法に関する。
【背景技術】
【0002】
自動車事故の発生は人命に関わることから、自動車に搭載されるマイクロコンピュータには、高い信頼性が求められる。マイクロコンピュータの高信頼性を確保する方法として、一般に、自己診断BIST(Built−In Self Test)が行われる。
【0003】
自己診断BISTの実行時間は、自己診断を含めたリセット解除時間に対して厳しい制限時間(例えば20ms以内)が設けられている。電源投入時のコールドスタートにおいては、自動車は停止中であるため、制限時間を満たしていれば問題ない。一方、走行中にマイクロコンピュータの故障によりリセットが発生したホットスタートの場合には、単に制限時間内に故障を通知するのみならず、安全性を向上させるために、より素早く故障を通知することへの要求が高まっている。そこで、走行中の故障によりリセットが発生した場合には、自己診断BISTの実行時間を可能な限り短縮する技術が求められている。
【0004】
特許文献1において、出荷後の半導体デバイスの動作不良を容易に診断できる方法および装置が記載されている。特許文献1に記載された装置では、半導体デバイスの各機能ブロックにBIST回路を設け、電源投入時に半導体デバイスの自己診断を行うことによって、半導体デバイスの動作不良を常時診断する。また、メモリにあらかじめ記憶された診断条件と期待値を、BISTコントローラによりBIST回路へ送信し、BIST回路では、送信された診断条件および期待値を用いて各機能ブロックの診断を行い、その診断結果は、BISTコントローラを介して主コントローラへ送信し、主コントローラでは外部ディスプレイ等に正常・異常の表示を行う。このとき、機能ブロック毎に自己診断が行われる。
【0005】
図4は、特許文献1に記載された、半導体デバイスの自己診断を行う装置の構成を示すブロック図である。図4を参照すると、半導体デバイスの各機能ブロック101,102,111,112にBIST回路201,202,211,212を設け、メモリ30にあらかじめ記憶された診断条件と期待値を、BISTコントローラ20によりBIST回路201,202,211,212へ送信し、自己診断を実施する。診断結果は、BISTコントローラ20を介して主コントローラ40へ送信され、主コントローラ40は外部ディスプレイ等に正常・異常の結果出力を行う。
【0006】
図5は、特許文献1に記載された技術の機能ブロックの診断処理を示すフローチャート例である。図4および図5を参照すると、半導体デバイスの電源投入を検出し(ステップS1)、BISTコントローラ20が起動する(ステップS2)。BISTコントローラ20は、診断対象のN個の機能ブロック101,102,111,112の内で第1番目の機能ブロック101から診断処理を開始し(ステップS3)、N個完了するまで順次診断処理を実施する(ステップS12,S13)。診断処理では、メモリ30からテスト条件を読出し(ステップS4)、BIST回路201,202,211,212により機能ブロックを診断する(ステップS5)。異常がある場合には(ステップS7のNo)、診断結果はBISTコントローラ20に送信され(ステップS8)、結果をメモリ30に記憶した後(ステップS11)、全機能ブロック終了後に結果を主コントローラ40に送信し(ステップS14)、主コントローラ40が診断結果を表示する(ステップS15)。
【0007】
なお、特許文献2および特許文献3において、エラー情報に基づいてテスト時間を短縮する技術が記載されている。特許文献2において、テスト時間を短縮するために、システムダウン処理の代わりに、メモリ、キャッシュ、スタック等の情報を試験開始前の状態に戻し、初期化を行わないことでシステムの再立ち上げ時間を短縮する技術が記載されている。また、特許文献3において、エラー率に従って試験内容を変更する技術が記載されている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2003−068865号公報(第6,7頁、図1,2)
【特許文献2】特開2002−182944号公報
【特許文献3】特開平03−257538号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
以下の分析は、本発明者によってなされたものである。
【0010】
特許文献1に記載された技術は、自己診断対象の機能ブロックがN個ある場合、第1番目から第N番目まで順番に自己診断を実行するため、マイクロコンピュータに搭載される機能ブロックが増加するに従って、自己診断時間が長くなるという問題がある。
【0011】
自動車等を制御する高信頼性を要求されるマイクロコンピュータにおいては、安全性を確保するために自己診断BIST実行を所定の時間以内に完了することが求められており、自己診断対象の機能ブロック数が多数存在する場合に、自己診断BIST実行を所定の時間以内に完了することができない。
【0012】
さらに、特許文献1に記載された技術では、コールドスタートおよびホットスタートのいずれの場合においても、自己診断対象の機能ブロックのBISTを第1番目から順にすべて実行する。よって、特に高い安全性を求められるホットスタート時の自己診断において、素早く故障を通知することができないという問題がある。
【0013】
また、特許文献2および特許文献3に記載された技術は、いずれも情報処理分野における試験方式に関する技術であり、自動車分野で用いられる高信頼性マイクロコンピュータの自己診断方法として採用することは困難である。
【0014】
自動車分野で用いられる高性能マイクロコンピュータにおいては、初期化で復帰できる故障については速やかに正常状態に戻すことが求められるため、初期化は必須とされる。したがって、特許文献2に記載されているように、テスト時間を短縮するために、システムダウン処理の代わりに、メモリ、キャッシュ、スタック等の情報を試験開始前の状態に戻し、初期化を行わないことでシステムの再立ち上げ時間を短縮する技術を適用することは困難である。
【0015】
また、自動車分野で用いられる高性能マイクロコンピュータにおいては、人命に関る安全性を確保するために、1回のエラーも見逃さないようにする必要がある。したがって、特許文献3に記載されているように、エラー率に従って試験内容を変更する技術を適用することも困難である。
【0016】
そこで、マイクロコンピュータの自己診断の実行時間を、診断の確実性を確保しつつ削減することが課題となる。
【課題を解決するための手段】
【0017】
本発明の第1の視点に係る自己診断回路は、
BIST回路を付加した複数の機能ブロックを有するマイクロコンピュータの自己診断回路であって、
前記マイクロコンピュータのリセット後の動作が、前記複数の機能ブロックのそれぞれにおいて発生するエラーによるホットスタートか、電源投入直後のコールドスタートかを判定するホットスタート判定回路と、
前記複数の機能ブロックのそれぞれにおいて発生するエラーが他のどの機能ブロックへ影響があるのかの関連付け情報を保持し、前記マイクロコンピュータの通常動作時に発生したエラーが前記複数の機能ブロックのどのブロックで発生したエラーであるかを判定し、前記複数の機能ブロックからBISTを実行する機能ブロックを選択するBIST実行選択回路と、
選択された機能ブロックのBISTを実行する順序を前記関連付け情報に基づいて制御して、BISTの実行を指示するBIST実行指示回路と、を備え、
ホットスタートと判定された場合には、BISTを実行する機能ブロックを選択するとともに、選択した機能ブロックのBISTを実行する順序を前記関連付け情報に基づいて制御してBISTを実行し、コールドスタートと判定された場合には、前記複数の機能ブロックのすべてのBISTを実行する。
【0018】
本発明の第2の視点に係る自己診断方法は、
BIST回路を付加した複数の機能ブロックを有するマイクロコンピュータの自己診断方法であって、
前記マイクロコンピュータのリセット後の動作が、前記複数の機能ブロックのそれぞれにおいて発生するホットスタートか、電源投入直後のコールドスタートかを判定する工程を含み、
ホットスタートと判定された場合には、前記複数の機能ブロックのそれぞれにおいて発生するエラーが他のどの機能ブロックへ影響があるのかの関連付け情報を参照し、前記マイクロコンピュータの通常動作時に発生したエラーが前記複数の機能ブロックのどのブロックで発生したエラーであるかを判定し、前記複数の機能ブロックからBISTを実行する機能ブロックを選択する工程と、
選択された機能ブロックのBISTを実行する順序を前記関連付け情報に基づいて制御して、BISTを実行する工程と、を含み、
コールドスタートと判定された場合には、前記複数の機能ブロックのすべてのBISTを実行する工程を含む。
【発明の効果】
【0019】
本発明に係る自己診断回路および自己診断方法によると、マイクロコンピュータの自己診断の実行時間を、診断の確実性を確保しつつ削減することができる。
【図面の簡単な説明】
【0020】
【図1】実施形態に係る自己診断回路の構成を示すブロック図である。
【図2】実施形態に係る自己診断回路におけるBIST実行選択回路の動作を示す真理値表である。
【図3】実施形態に係るマイクロコンピュータの自己診断実行処理を示すフローチャートである。
【図4】特許文献1に記載された、半導体デバイスの自己診断を行う装置の構成を示すブロック図である。
【図5】特許文献1に記載された、機能ブロックの診断処理を示すフローチャートである。
【発明を実施するための形態】
【0021】
はじめに、本発明の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
【0022】
図1を参照すると、本発明に係る自己診断回路は、BIST回路を付加した複数の機能ブロック(BIST内蔵機能ブロック54−1〜54−n)を有するマイクロコンピュータの自己診断回路であって、マイクロコンピュータのリセット後の動作が、複数の機能ブロック(54−1〜54−n)のそれぞれにおいて発生するエラーによるホットスタートか、電源投入直後のコールドスタートかを判定するホットスタート判定回路(53)と、複数の機能ブロック(54−1〜54−n)のそれぞれにおいて発生するエラーが他のどの機能ブロックへ影響があるのかの関連付け情報を保持し、マイクロコンピュータの通常動作時に発生したエラーが複数の機能ブロック(54−1〜54−n)のどのブロックで発生したエラーであるかを判定し、複数の機能ブロック(54−1〜54−n)からBISTを実行する機能ブロックを選択するBIST実行選択回路(51)と、選択された機能ブロックのBISTを実行する順序を関連付け情報に基づいて制御して、BISTの実行を指示するBIST実行指示回路(52)と、を備え、ホットスタートと判定された場合には、BISTを実行する機能ブロックを選択するとともに、選択した機能ブロックのBISTを実行する順序を関連付け情報に基づいて制御してBISTを実行し、コールドスタートと判定された場合には、複数の機能ブロック(54−1〜54−n)のすべてのBISTを実行する。
【0023】
BIST実行指示回路(52)は、選択された機能ブロックのBISTを実行する順序を、機能ブロックの重要度の高い順としてもよい。また、BIST実行指示回路(52)は、選択された機能ブロックのBISTを実行する順序をランダムとしてもよい。
【0024】
さらに、BIST実行指示回路(52)は、許容されている消費電流を超えない範囲で、選択された機能ブロックのうちの複数の機能ブロックのBISTを同時に実行するように制御してもよい。
【0025】
また、本発明によると、複数の機能ブロック(54−1〜54−n)と、上記の自己診断回路と、を備えたマイクロコンピュータが提供される。
【0026】
本発明の自己診断回路によると、マイクロコンピュータの通常動作において発生したエラーが、どの機能ブロックで発生したエラーであるか、および、そのエラーにより他の機能ブロックへの影響を判断し、ホットスタートの際に発生したエラー(リセット要因)によってBISTを実行する機能ブロックを選択して実行することが可能となる。このとき、不揮発性メモリやRAM(Random Access Memory)のECC(Error Checking and Correction)エラーや、リダンダンシに対応したCPUのエラーのように、単体の機能ブロック内のエラーであり、マイクロコンピュータの他の機能ブロックに影響のない機能ブロックで発生したエラーによるホットスタートである場合には、そのエラーに関連する機能ブロックのみを自己診断することで自己診断の実行時間を短縮することができる。
【0027】
したがって、本発明に係る自己診断回路によると、マイクロコンピュータの自己診断の実行時間を削減することができる。
【0028】
(実施形態)
実施形態に係る自己診断回路について、図面を参照して説明する。図1は、本実施形態の自己診断回路の構成を示すブロック図である。
【0029】
図1を参照すると、自己診断回路は、BIST実行選択回路51、BIST実行指示回路52、ホットスタート判定回路53、BIST内蔵機能ブロック54−1〜54−n、リセット回路55、BIST結果判定回路59、BIST期待値格納メモリ60、および、外部出力コントローラ61を備えている。
【0030】
BIST実行選択回路51は、リセット要因フラグ56−1〜56−nのそれぞれの選択制御出力信号a14−1〜a14−n、ホットスタート判定回路53の出力信号であるコールドスタート判定出力信号a18およびホットスタート判定出力信号a19から、実行すべきBIST内蔵機能ブロック54−1〜54−nを選択し、BIST実行指示回路52に出力信号a20−1〜a20−nを出力する。
【0031】
BIST実行指示回路52は、BIST実行選択回路51の出力信号a20−1〜a20−nを入力とし、BIST実行指示入出力バス72を経由して、BIST内蔵機能ブロック54−1〜54−nにBISTを実行する指示データを出力する。また、BIST実行指示回路52は、BIST実行完了時に、BIST実行指示入出力バス72を経由して、BIST内蔵機能ブロック54−1〜54−nから実行完了の情報を受信し、リセット要因フラグ56−1〜56−nのそれぞれにクリア制御信号a23−1〜a23−nを出力して、対応するリセット要因フラグをクリアする。さらに、BIST実行指示回路52は、BIST実行完了時に、ホットスタート判定回路53へスタートステータス保持結果クリア信号a21を出力する。
【0032】
ホットスタート判定回路53は、パワーオンリセット回路57の出力信号a16と内部リセット回路58の出力信号a17に基づいて、電源投入直後のリセットによるスタートであるコールドスタートか、通常動作中のリセットによるスタートであるホットスタートかを判定し、判定結果をリセット解除後も保持し、保持結果を、コールドスタート判定出力信号a18およびホットスタート判定出力信号a19として、BIST実行選択回路51へ出力する。また、ホットスタート判定回路53は、BIST実行指示回路52からスタートステータス保持結果クリア信号a21を受信する。
【0033】
BIST内蔵機能ブロック54−1〜54−nは、BIST実行指示入出力バス72を介してBIST実行指示回路52に接続される。また、BIST内蔵機能ブロック54−1〜54−nは、BIST内蔵機能ブロック54−1〜54−nのそれぞれの結果出力信号a24−1〜a24−nとして、BIST実行結果をBIST結果判定回路59に出力する。さらに、BIST内蔵機能ブロック54−1〜54−nは、通常動作のエラー時に、BIST内蔵機能ブロック54−1〜54−nのそれぞれのリセット要求出力信号a13−1〜a13−nを出力する。
【0034】
リセット回路55は、リセット要因フラグ56−1〜56−n、パワーオンリセット回路57、および、内部リセット回路58を備えている。
【0035】
リセット回路55は、BIST内蔵機能ブロック54−1〜54−nからのリセット要求出力信号a13−1〜a13−n、および、BIST実行指示回路52からのクリア制御信号a23−1〜a23−nをリセット要因フラグ56−1〜56−nへの入力とする。また、リセット回路55は、リセット要因フラグ56−1〜56−nから選択制御出力信号a14−1〜a14−nを出力し、パワーオンリセット回路57から出力信号a16を出力し、内部リセット回路58から出力信号a17を出力する。
【0036】
リセット要因フラグ56−1〜56−nは、それぞれ、選択制御出力信号a14−1〜a14−n、および、リセット出力信号a15−1〜a15−nを出力する。内部リセット回路58は、リセット要因フラグ56−1〜56−nからリセット出力信号a15−1〜a15−nを入力し、出力信号a17を出力する。
【0037】
BIST結果判定回路59は、BIST内蔵機能ブロック54−1〜54−nの結果出力信号a24−1〜a24−nを入力とする。また、BIST結果判定回路59は、判定結果をBIST結果入出力信号a25としてBIST期待値格納メモリ60に出力し、BIST結果外部入出力信号a26として外部出力コントローラ61に出力する。さらに、BIST結果判定回路59は、BIST期待値格納メモリ60からBIST期待値をBIST結果入出力信号a25として入力し、外部出力コントローラ61から外部制御信号をBIST結果外部入出力信号a26として入力する。
【0038】
外部装置62は、外部出力コントローラ入出力信号a27として、外部制御データを外部出力コントローラ61との間で入出力する。
【0039】
図2は、本実施形態におけるBIST実行選択回路51の動作を示す真理値表である。図2に示した真理値表は、複数の機能ブロックのそれぞれにおいて発生するエラー(リセット要因)が、他のどの機能ブロックへ影響があるのかの関連付け情報を示す。
【0040】
図2の表は、コールドスタート判定出力信号a18、ホットスタート判定出力信号a19、および、選択制御出力信号a14−1〜a14−nの入力条件(INPUT)に対する、BIST実行選択回路51の出力信号a20−1〜a20−nの出力結果(OUTPUT)を示す。
【0041】
BIST内蔵機能ブロック数に対応してリセット要因フラグ56−1〜56−nの選択制御出力信号a14−1〜a14−nは、入力条件(INPUT)としてn本の入力による組合せとなり、対応する出力結果(OUTPUT)も、BIST実行選択回路51の出力信号a20−1〜a20−nとしてn本の出力となる。
【0042】
コールドスタート判定出力信号a18が「0」、かつ、ホットスタート判定出力信号a19が「1」のとき、リセット要因フラグ56−1〜56−nの選択制御出力信号a14−1〜a14−nの値により、BIST実行選択回路51の出力信号a20−1〜a20−nの出力結果が変化する。
【0043】
また、コールドスタート判定出力信号a18が「1」のとき、BIST実行選択回路51の出力信号a20−1〜a20−nはすべて「1」となる。
【0044】
コールドスタート判定出力信号a18およびホットスタート判定出力信号a19がいずれも「0」のとき、BIST実行選択回路51の出力信号a20−1〜a20−nはすべて「0」となる。
【0045】
図1を参照して、電源投入時のスタートであるコールドスタートの動作について説明する。
【0046】
自動車制御等の高信頼性マイクロコンピュータ分野において、電源投入時のコールドスタートでは故障個所を特定できないため、一般に、すべてのBISTを実行する。そこで、本実施形態においても、電源投入時のコールドスタートにおいては、すべてのBISTを実行し、品質を確保するものとする。
【0047】
コールドスタートは電源が投入されて電源電圧が上がったことをパワーオンリセット回路57が検出して出力信号a16が「1」になる。
【0048】
ホットスタート判定回路53では、入力される出力信号a16が「1」になったことを受けて、内部で出力信号a16の「1」結果を保持し、その出力としてコールドスタート判定出力信号a18は「1」となる。この結果、図2の真理値表において、INPUTのa18=「1」に対応するOUTPUTであるa20−1〜a20−nのいずれもが「1」となる。このとき、BIST実行選択回路51の出力信号a20−1〜a20−nがいずれも「1」となり、BIST内蔵機能ブロック54−1〜54−nのすべてがBIST実行対象となる。
【0049】
BIST実行指示回路52は、BIST実行選択回路51の出力信号a20−1〜a20−nを受け、BISTを実行する順序を決定する。例えば、BIST内蔵機能ブロック54−1から54−nまで、順にBISTを実行する場合には、BIST実行指示回路52から、BIST内蔵機能ブロック54−1へ、BIST実行指示入出力信号バス72を介して、BISTの実行を指示する。
【0050】
BIST内蔵機能ブロック54−1は、BIST実行指示入出力信号バス72の値により、BIST実行指示を受け、BIST内蔵機能ブロック54−1のBISTを実行する。BIST実行結果は、BIST内蔵機能ブロック54−1の結果出力信号a24−1として、BIST結果判定回路59に出力する。
【0051】
BIST結果判定回路59は、BIST内蔵機能ブロック54−1の結果出力信号a24−1と、BIST期待値格納メモリ60から送信される期待値とを比較し、結果判定を行う。BIST結果判定回路59は、BIST結果判定回路59のBIST結果外部入出力信号a26として、判定結果を外部出力コントローラ61へ出力する。
【0052】
外部出力コントローラ61は、外部出力コントローラ入出力信号a27として、BISTの結果を外部装置62に送信する。
【0053】
BIST内蔵機能ブロック54−1は、BIST実行の完了時に、BIST実行指示入出力バス72を介して、BIST実行指示回路52にBIST実行完了信号を出力する。
【0054】
BIST内蔵機能ブロック54−1でのBIST実行の完了を受けて、BIST実行指示回路52は、BIST内蔵機能ブロック54−1に関連するリセット要因フラグ56−1をクリアする。
【0055】
次に、BIST実行指示回路52は、次のBIST内蔵機能ブロック54−2へBISTの実行を指示する。その後、順次、BIST内蔵機能ブロック54−nまで、同様にBISTが実行される。
【0056】
次に、ホットスタートの動作について説明する。
【0057】
BIST内蔵機能ブロック54−1〜54−nは、BISTを実行する機能毎に分かれている。本実施形態では、BIST内蔵機能ブロック54−1には、例えば、マイクロコンピュータのクロック制御回路のように、マイクロコンピュータ全体に影響のある機能やユーザ設定による通常のリセット機能が設けられているものとする。一方、BIST内蔵機能ブロック54−2〜54−nには、不揮発性メモリやRAMのECCエラーや、リダンダンシに対応したCPUのエラーのように、単体の機能内でのエラーと判断でき、明らかにマイクロコンピュータの他の機能ブロックに影響しない機能が設けられているものとする。
【0058】
本実施形態では、マイクロコンピュータ全体に影響のある機能と、単体の機能内でのエラーと判断でき、マイクロコンピュータの他の機能ブロックに影響しない機能とを区別する。マイクロコンピュータのクロック制御回路のようにマイクロコンピュータ全体に影響のある場合には、自己診断BISTは従来通りすべて実行する。一方、不揮発性メモリやRAMのECCエラーや、リダンダンシに対応したCPUのエラーのように、明らかにマイクロコンピュータの他の機能ブロックに影響のない場合には、選択的に自己診断BISTを実行する。これにより、従来と同等の高信頼性を確保しつつ、自己診断BIST実行時間を短縮する。
【0059】
マイクロコンピュータの通常動作時にBIST内蔵機能ブロック54−1でエラーが発生した場合について説明する。BIST内蔵機能ブロック54−1でエラーが発生した場合には、BIST内蔵機能ブロック54−1からリセット要求出力信号a13−1として「1」を出力する。リセット要求出力信号a13−1として「1」が出力されることにより、リセット要因フラグ56−1に「1」がセットされる。このとき、リセット要因フラグ56−1の選択制御出力信号a14−1は「1」となり、BIST実行選択回路51に入力される。
【0060】
また、リセット要因フラグ56−1に「1」がセットされることにより、リセット要因フラグ1からリセット出力信号a15−1を内部リセット回路58に出力し、内部リセット回路58から出力信号a17として「1」を出力する。
【0061】
ホットスタート判定回路53は、出力信号a17が「1」になったことを受けて、出力信号a17の結果を保持し、その出力としてホットスタート判定出力信号a19を「1」とする。
【0062】
この結果、図2の真理値表において、INPUTのa18=「0」、a19=「1」、かつ、a14−1=「1」、に対応するOUTPUTであるa20−1〜a20−nのいずれもが「1」となる。すなわち、BIST実行選択回路51の出力信号a20−1〜a20−nがいずれも「1」となる。このとき、コールドスタート時と同様に、すべてのBIST内蔵機能ブロックが実行される。すべてのBISTが実行されることにより、品質が確保される。
【0063】
マイクロコンピュータの通常動作時にBIST内蔵機能ブロック54−2でエラーが発生した場合について説明する。BIST内蔵機能ブロック54−2でエラーが発生すると、BIST内蔵機能ブロック54−2からリセット要求出力信号a13−2として「1」を出力する。リセット要求出力信号a13−2として「1」が出力されることにより、リセット要因フラグ56−2に「1」がセットされる。これにより、リセット要因フラグ56−2の選択制御出力信号a14−2は「1」となり、BIST実行選択回路51に入力される。
【0064】
また、リセット要因フラグ56−2に「1」がセットされることにより、リセット要因フラグ56−2からリセット出力信号a15−2を内部リセット回路58に出力し、内部リセット回路58から出力信号a17として「1」を出力する。
【0065】
ホットスタート判定回路53は、出力信号a17が「1」になったことを受けて、出力信号a17の結果を保持し、その出力としてホットスタート判定出力信号a19を「1」とする。
【0066】
この結果、BIST実行選択回路51は、図2の真理値表でINPUTのa18=「0」、a19=「1」、かつ、a14−2=「1」、a14−1〜a14−nのa14−2以外=「0」に対応するOUTPUTとして、a20−2のみにおいて「1」を出力し、BIST内蔵機能ブロック54−2のみがBISTの実行対象となる。
【0067】
BIST内蔵機能ブロック54−2のみがBISTの実行対象となることにより、リセット要因と関連のあるBIST内蔵機能ブロックのみのBISTを実行する。これによって、自己診断の実行時間を短縮することができる。
【0068】
図3は、本実施形態によるマイクコンピュータの自己診断実行処理を示すフローチャートである。
【0069】
まず、マイクロコンピュータの電源投入を行う(ステップS101)。
【0070】
次に、マイクロコンピュータを初期化するためのリセット処理を行う(ステップS102)。電源投入時のコールドスタートでは、パワーオンリセット回路57から当該マイクロコンピュータに対するリセットが発生する。一方、ホットスタートでは、複数のBIST内蔵機能ブロック54−1〜54−nのそれぞれにおいて発生するエラー(リセット要因)毎に、内部リセット回路58から当該マイクロコンピュータに対するリセット処理が発生する。
【0071】
ホットスタート判定回路53は、上記リセット処理がコールドスタートかホットスタートかを判定する(ステップS103)。ホットスタート判定回路53は、パワーオンリセット回路57の出力信号a16と、内部リセット回路58の出力信号a17のどちらを受信したかに応じて、コールドスタートかホットスタートかを判定する。
【0072】
コールドスタートの場合には(ステップS103のNo)、マイクロコンピュータの初期状態における自己診断を実行するため、すべてのBIST内蔵機能ブロック54−1〜54−nの自己診断を実行する(ステップS104からステップS109)。
【0073】
一方、ホットスタートの場合には(ステップS103のYes)、エラーが発生したBIST内臓機能ブロックを特定し、関連するBIST内蔵機能ブロックの自己診断を実施する(ステップS117からステップS123)。
【0074】
自己診断をBIST内蔵機能ブロック54−1から順次実行するため(ステップS105〜S109)、機能ブロック番号kに1を設定する(ステップS104)。
【0075】
BIST内蔵機能ブロックの数だけ、自己診断の実行を繰り返す(ステップS105〜S109)。
【0076】
まず、BIST内蔵機能ブロックで自己診断を実行する(ステップS106)。自己診断の結果は、BIST結果判定回路59で判定される。判定の結果は、外部出力コントローラ61を介して外部装置62に送信される。
【0077】
ステップS106で実行したBIST内蔵機能ブロック54−kに対応したリセット要因フラグ56−kをクリアする(ステップS107)。
【0078】
自己診断をBIST内蔵機能ブロック54−1から順次実行するため(ステップS105〜S109)、機能ブロック番号kをインクリメントする(ステップS108)。
【0079】
自己診断を終了した後(ステップS105〜S109)、当該マイクロコンピュータのユーザプログラムに従った通常処理を行う(ステップS110)。
【0080】
前述の当該マイクロコンピュータのユーザプログラムに従った通常処理において発生するエラーの発生確認を、BIST内蔵機能ブロック54−1から順次確認するため(ステップS112〜S115)、エラー発生番号kを1に設定する(ステップS111)。
【0081】
BIST内蔵機能ブロックの数だけ、エラー発生確認を繰り返す(ステップS112〜S115)。
【0082】
当該マイクロコンピュータのユーザプログラムに従った通常処理において、BIST内蔵機能ブロック毎にエラーの発生の有無を確認する(ステップS113)。エラーが発生しない場合には(ステップS113のNo)、ステップS114へ遷移する。一方、エラーが発生した場合には(ステップS113のYes)、ステップS116へ遷移する。
【0083】
当該マイクロコンピュータのユーザプログラムに従った通常処理において発生するエラーの発生確認を、BIST内蔵機能ブロック54−1から順次確認するため(ステップS112〜S115)、エラー発生番号kをインクリメントする(ステップS114)。
【0084】
エラー発生に関連したリセット要因フラグ56−kをセットする(ステップS116)。その後、内部リセット回路58から出力信号a17が発生し(ステップS102)、ホットスタートによるリセット処理であることが判定される(ステップS103のYes)。
【0085】
ステップS118からステップS123の一連の処理を順次実行するため、リセット要因フラグ番号kに1を設定する(ステップS117)。
【0086】
リセット要因フラグの数だけ、リセット要因フラグの判定を繰り返す(ステップS118〜S123)。
【0087】
BIST実行選択回路51は、リセット要因フラグが「1」であるかを判定する(ステップS119)。リセット要因フラグが「1」の場合には(ステップS119のYes)、BIST内臓機能ブロックの自己診断を行う(ステップS120)。一方、リセット要因フラグが「0」の場合には(ステップS119のNo)、BIST内蔵機能ブロックの自己診断を行なうことなく、ステップS122へ遷移する。
【0088】
BIST実行選択回路51は、どのBIST内臓ブロックのエラーにより発生したリセット要因フラグであるかを判別し、BIST実行選択情報D100により選択されたBIST内蔵機能ブロックの自己診断を実行する(ステップS120)。
【0089】
BIST実行選択情報D100とは、BIST実行選択回路51内に保有される情報であり、BIST内蔵機能ブロックから発生したエラーが、他のBIST内蔵機能ブロックのどのブロックに影響を及ぼすのかを示す情報である。
【0090】
図2は、BIST実行選択情報D100を一例として示す表である。本実施形態では、リセット要因フラグ56−1として、クロックエラーのようにマイクロコンピュータ全体に影響のある場合のリセット要因を想定し、すべてのBIST内蔵機能ブロックを実行する必要がある場合とする。一方、リセット要因フラグ56−2〜56−nとして、FLASHやRAMのECCエラーやリダンダンシに対応したCPUのエラーのように、マイクロコンピュータの他の機能ブロックに影響のない場合を想定し、選択的に自己診断が可能な場合とする。
【0091】
BIST結果判定回路59は、自己診断(ステップS120)の結果を判定し、外部出力コントローラ61を介して、判定の結果を外部装置62に送信する。
【0092】
本実施形態では、例えば、リセット要因フラグ56−1が「1」の場合には、BIST実行選択情報D100に従い、コールドスタート時と同様にすべてのBIST内蔵機能ブロックの自己診断を行う。一方、リセット要因フラグ56−nのみ「1」の場合には、リセット要因フラグ56−n以外の判定では、BIST内蔵機能ブロックによる自己診断は行われないが、リセット要因フラグ56−nの判定においては、BIST実行選択情報D100に従い、リセット要因フラグ56−nに関連付けられたBIST内蔵機能ブロックnの自己診断が行われる。このように、リセット要因により、リセット要因と関連があるBIST内蔵機能ブロックのみ自己診断BISTを実行することで、BIST実行時間の短縮を図る。
【0093】
ステップS120で実行したBIST内蔵機能ブロックに対応したリセット要因フラグをクリアする(ステップS121)。
【0094】
ステップS118〜S123の一連の処理を順次実行するため、リセット要因フラグ番号をインクリメントする(ステップS122)。
【0095】
本実施形態において、BIST実行指示回路52で制御される自己診断の実行順序については特に明記していないが、自己診断の実行順序を、機能ブロックの重要度の高い順に実施してもよいし、ランダムに実施してもよい。さらに、当該自己診断装置が許容されている消費電流を超えない範囲で複数の機能ブロックを同時に実施し、これを前述の順序で実施してもよい。
【0096】
本実施形態によると、従来と同等の高信頼性を確保しつつ、自己診断BISTによる実行時間を短縮でき、自己診断BIST実行時の消費電流も削減することができる。
【0097】
本実施形態では、BIST内蔵機能ブロックと関連のあるリセット要因フラグとホットスタート判定回路53から、BIST実行を選択することにより、通常動作時にエラーが発生した機能ブロックに対してのみ選択的に自己診断BISTを実行する。これにより、非選択ブロックの自己診断実行時間を削減することができる。
【0098】
また、本実施形態では、自己診断BISTの実行を選択する際、リセット要因による関連付けを行い、クロックエラーのようにマイクロコンピュータ全体に影響がある場合には自己診断BISTをすべて実行し、FLASHやRAMのECCエラーやリダンダンシに対応したCPUのエラーのように、マイクロコンピュータの他の機能ブロックに影響のない場合には選択的に自己診断BISTを実行する。これにより、従来と同等の高信頼性を確保することができる。
【0099】
一般に、マイクロコンピュータの電流許容値の最大の値を用いてBISTが実行されるが、本実施形態では、選択的に自己診断BISTを実行し、BISTの実行時間を短縮する。これにより、平均消費電流を削減することができる。
【0100】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【0101】
20 BISTコントローラ
30 メモリ
40 主コントローラ
51 BIST実行選択回路
52 BIST実行指示回路
53 ホットスタート判定回路
54−1,54−2,…,54−n BIST内蔵機能ブロック
55 リセット回路
56−1,56−2,…,56−n リセット要因フラグ
57 パワーオンリセット回路
58 内部リセット回路
59 BIST結果判定回路
60 BIST期待値格納メモリ
61 外部出力コントローラ
62 外部装置
72 BIST実行指示入出力バス
101,102,111,112 機能ブロック
201,202,211,212 BIST回路
a13−1,a13−2,…,a13−n リセット要求出力信号
a14−1,a14−2,…,a14−n 選択制御出力信号
a15−1,a15−2,…,a15−n リセット出力信号
a16 出力信号
a17 出力信号
a18 コールドスタート判定出力信号
a19 ホットスタート判定出力信号
a20−1,a20−2,…,a20−n 出力信号
a21 スタートステータス保持結果クリア信号
a23−1,a23−2,…,a23−n クリア制御信号
a24−1,a24−2,…,a24−n 結果出力信号
a25 BIST結果入出力信号
a26 BIST結果外部入出力信号
a27 外部出力コントローラ入出力信号
D100 BIST実行選択情報

【特許請求の範囲】
【請求項1】
BIST回路を付加した複数の機能ブロックを有するマイクロコンピュータの自己診断回路であって、
前記マイクロコンピュータのリセット後の動作が、前記複数の機能ブロックのそれぞれにおいて発生するエラーによるホットスタートか、電源投入直後のコールドスタートかを判定するホットスタート判定回路と、
前記複数の機能ブロックのそれぞれにおいて発生するエラーが他のどの機能ブロックへ影響があるのかの関連付け情報を保持し、前記マイクロコンピュータの通常動作時に発生したエラーが前記複数の機能ブロックのどのブロックで発生したエラーであるかを判定し、前記複数の機能ブロックからBISTを実行する機能ブロックを選択するBIST実行選択回路と、
選択された機能ブロックのBISTを実行する順序を前記関連付け情報に基づいて制御して、BISTの実行を指示するBIST実行指示回路と、を備え、
ホットスタートと判定された場合には、BISTを実行する機能ブロックを選択するとともに、選択した機能ブロックのBISTを実行する順序を前記関連付け情報に基づいて制御してBISTを実行し、コールドスタートと判定された場合には、前記複数の機能ブロックのすべてのBISTを実行することを特徴とする自己診断回路。
【請求項2】
前記BIST実行指示回路は、前記選択された機能ブロックのBISTを実行する順序を、機能ブロックの重要度の高い順とすることを特徴とする、請求項1に記載の自己診断回路。
【請求項3】
前記BIST実行指示回路は、前記選択された機能ブロックのBISTを実行する順序をランダムとすることを特徴とする、請求項1に記載の自己診断回路。
【請求項4】
前記BIST実行指示回路は、許容されている消費電流を超えない範囲で、前記選択された機能ブロックのうちの複数の機能ブロックのBISTを同時に実行するように制御することを特徴とする、請求項1ないし3のいずれか1項に記載の自己診断回路。
【請求項5】
前記複数の機能ブロックと、
請求項1ないし4のいずれか1項に記載の自己診断回路と、を備えていることを特徴とするマイクロコンピュータ。
【請求項6】
BIST回路を付加した複数の機能ブロックを有するマイクロコンピュータの自己診断方法であって、
前記マイクロコンピュータのリセット後の動作が、前記複数の機能ブロックのそれぞれにおいて発生するホットスタートか、電源投入直後のコールドスタートかを判定する工程を含み、
ホットスタートと判定された場合には、前記複数の機能ブロックのそれぞれにおいて発生するエラーが他のどの機能ブロックへ影響があるのかの関連付け情報を参照し、前記マイクロコンピュータの通常動作時に発生したエラーが前記複数の機能ブロックのどのブロックで発生したエラーであるかを判定し、前記複数の機能ブロックからBISTを実行する機能ブロックを選択する工程と、
選択された機能ブロックのBISTを実行する順序を前記関連付け情報に基づいて制御して、BISTを実行する工程と、を含み、
コールドスタートと判定された場合には、前記複数の機能ブロックのすべてのBISTを実行する工程を含むことを特徴とする自己診断方法。
【請求項7】
前記選択された機能ブロックのBISTを実行する順序を、機能ブロックの重要度の高い順とする工程を含むことを特徴とする、請求項6に記載の自己診断方法。
【請求項8】
前記選択された機能ブロックのBISTを実行する順序をランダムとする工程を含むことを特徴とする、請求項6に記載の自己診断方法。
【請求項9】
許容されている消費電流を超えない範囲で、前記選択された機能ブロックのうちの複数の機能ブロックのBISTを同時に実行するように制御する工程を含むことを特徴とする、請求項6ないし8のいずれか1項に記載の自己診断方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−181564(P2012−181564A)
【公開日】平成24年9月20日(2012.9.20)
【国際特許分類】
【出願番号】特願2011−41968(P2011−41968)
【出願日】平成23年2月28日(2011.2.28)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】