BIST回路を付加した複数の機能ブロックを有するマイクロコンピュータの自己診断回路であって、前記マイクロコンピュータのリセット後の動作が、前記複数の機能ブロックのそれぞれにおいて発生するエラーによるホットスタートか、電源投入直後のコールドスタートかを判定するホットスタート判定回路と、前記複数の機能ブロックのそれぞれにおいて発生するエラーが他のどの機能ブロックへ影響があるのかの関連付け情報を保持し、前記マイクロコンピュータの通常動作時に発生したエラーが前記複数の機能ブロックのどのブロックで発生したエラーであるかを判定し、前記複数の機能ブロックからBISTを実行する機能ブロックを選択するBIST実行選択回路と、選択された機能ブロックのBISTを実行する順序を前記関連付け情報に基づいて制御して、BISTの実行を指示するBIST実行指示回路と、を備え、ホットスタートと判定された場合には、BISTを実行する機能ブロックを選択するとともに、選択した機能ブロックのBISTを実行する順序を前記関連付け情報に基づいて制御してBISTを実行し、コールドスタートと判定された場合には、前記複数の機能ブロックのすべてのBISTを実行することを特徴とする自己診断回路。前記BIST実行指示回路は、前記選択された機能ブロックのBISTを実行する順序を、機能ブロックの重要度の高い順とすることを特徴とする、請求項1に記載の自己診断回路。前記BIST実行指示回路は、前記選択された機能ブロックのBISTを実行する順序をランダムとすることを特徴とする、請求項1に記載の自己診断回路。前記BIST実行指示回路は、許容されている消費電流を超えない範囲で、前記選択された機能ブロックのうちの複数の機能ブロックのBISTを同時に実行するように制御することを特徴とする、請求項1ないし3のいずれか1項に記載の自己診断回路。前記複数の機能ブロックと、請求項1ないし4のいずれか1項に記載の自己診断回路と、を備えていることを特徴とするマイクロコンピュータ。BIST回路を付加した複数の機能ブロックを有するマイクロコンピュータの自己診断方法であって、前記マイクロコンピュータのリセット後の動作が、前記複数の機能ブロックのそれぞれにおいて発生するホットスタートか、電源投入直後のコールドスタートかを判定する工程を含み、ホットスタートと判定された場合には、前記複数の機能ブロックのそれぞれにおいて発生するエラーが他のどの機能ブロックへ影響があるのかの関連付け情報を参照し、前記マイクロコンピュータの通常動作時に発生したエラーが前記複数の機能ブロックのどのブロックで発生したエラーであるかを判定し、前記複数の機能ブロックからBISTを実行する機能ブロックを選択する工程と、選択された機能ブロックのBISTを実行する順序を前記関連付け情報に基づいて制御して、BISTを実行する工程と、を含み、コールドスタートと判定された場合には、前記複数の機能ブロックのすべてのBISTを実行する工程を含むことを特徴とする自己診断方法。前記選択された機能ブロックのBISTを実行する順序を、機能ブロックの重要度の高い順とする工程を含むことを特徴とする、請求項6に記載の自己診断方法。前記選択された機能ブロックのBISTを実行する順序をランダムとする工程を含むことを特徴とする、請求項6に記載の自己診断方法。許容されている消費電流を超えない範囲で、前記選択された機能ブロックのうちの複数の機能ブロックのBISTを同時に実行するように制御する工程を含むことを特徴とする、請求項6ないし8のいずれか1項に記載の自己診断方法。以下の分析は、本発明者によってなされたものである。特許文献1に記載された技術は、自己診断対象の機能ブロックがN個ある場合、第1番目から第N番目まで順番に自己診断を実行するため、マイクロコンピュータに搭載される機能ブロックが増加するに従って、自己診断時間が長くなるという問題がある。自動車等を制御する高信頼性を要求されるマイクロコンピュータにおいては、安全性を確保するために自己診断BIST実行を所定の時間以内に完了することが求められており、自己診断対象の機能ブロック数が多数存在する場合に、自己診断BIST実行を所定の時間以内に完了することができない。さらに、特許文献1に記載された技術では、コールドスタートおよびホットスタートのいずれの場合においても、自己診断対象の機能ブロックのBISTを第1番目から順にすべて実行する。よって、特に高い安全性を求められるホットスタート時の自己診断において、素早く故障を通知することができないという問題がある。また、特許文献2および特許文献3に記載された技術は、いずれも情報処理分野における試験方式に関する技術であり、自動車分野で用いられる高信頼性マイクロコンピュータの自己診断方法として採用することは困難である。自動車分野で用いられる高性能マイクロコンピュータにおいては、初期化で復帰できる故障については速やかに正常状態に戻すことが求められるため、初期化は必須とされる。したがって、特許文献2に記載されているように、テスト時間を短縮するために、システムダウン処理の代わりに、メモリ、キャッシュ、スタック等の情報を試験開始前の状態に戻し、初期化を行わないことでシステムの再立ち上げ時間を短縮する技術を適用することは困難である。また、自動車分野で用いられる高性能マイクロコンピュータにおいては、人命に関る安全性を確保するために、1回のエラーも見逃さないようにする必要がある。したがって、特許文献3に記載されているように、エラー率に従って試験内容を変更する技術を適用することも困難である。そこで、マイクロコンピュータの自己診断の実行時間を、診断の確実性を確保しつつ削減することが課題となる。本発明の第1の視点に係る自己診断回路は、BIST回路を付加した複数の機能ブロックを有するマイクロコンピュータの自己診断回路であって、前記マイクロコンピュータのリセット後の動作が、前記複数の機能ブロックのそれぞれにおいて発生するエラーによるホットスタートか、電源投入直後のコールドスタートかを判定するホットスタート判定回路と、前記複数の機能ブロックのそれぞれにおいて発生するエラーが他のどの機能ブロックへ影響があるのかの関連付け情報を保持し、前記マイクロコンピュータの通常動作時に発生したエラーが前記複数の機能ブロックのどのブロックで発生したエラーであるかを判定し、前記複数の機能ブロックからBISTを実行する機能ブロックを選択するBIST実行選択回路と、選択された機能ブロックのBISTを実行する順序を前記関連付け情報に基づいて制御して、BISTの実行を指示するBIST実行指示回路と、を備え、ホットスタートと判定された場合には、BISTを実行する機能ブロックを選択するとともに、選択した機能ブロックのBISTを実行する順序を前記関連付け情報に基づいて制御してBISTを実行し、コールドスタートと判定された場合には、前記複数の機能ブロックのすべてのBISTを実行する。本発明の第2の視点に係る自己診断方法は、BIST回路を付加した複数の機能ブロックを有するマイクロコンピュータの自己診断方法であって、前記マイクロコンピュータのリセット後の動作が、前記複数の機能ブロックのそれぞれにおいて発生するホットスタートか、電源投入直後のコールドスタートかを判定する工程を含み、ホットスタートと判定された場合には、前記複数の機能ブロックのそれぞれにおいて発生するエラーが他のどの機能ブロックへ影響があるのかの関連付け情報を参照し、前記マイクロコンピュータの通常動作時に発生したエラーが前記複数の機能ブロックのどのブロックで発生したエラーであるかを判定し、前記複数の機能ブロックからBISTを実行する機能ブロックを選択する工程と、選択された機能ブロックのBISTを実行する順序を前記関連付け情報に基づいて制御して、BISTを実行する工程と、を含み、コールドスタートと判定された場合には、前記複数の機能ブロックのすべてのBISTを実行する工程を含む。本発明に係る自己診断回路および自己診断方法によると、マイクロコンピュータの自己診断の実行時間を、診断の確実性を確保しつつ削減することができる。はじめに、本発明の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。図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を実行する。BIST実行指示回路52は、選択された機能ブロックのBISTを実行する順序を、機能ブロックの重要度の高い順としてもよい。また、BIST実行指示回路52は、選択された機能ブロックのBISTを実行する順序をランダムとしてもよい。さらに、BIST実行指示回路52は、許容されている消費電流を超えない範囲で、選択された機能ブロックのうちの複数の機能ブロックのBISTを同時に実行するように制御してもよい。また、本発明によると、複数の機能ブロック54-1~54-nと、上記の自己診断回路と、を備えたマイクロコンピュータが提供される。本発明の自己診断回路によると、マイクロコンピュータの通常動作において発生したエラーが、どの機能ブロックで発生したエラーであるか、および、そのエラーにより他の機能ブロックへの影響を判断し、ホットスタートの際に発生したエラーリセット要因によってBISTを実行する機能ブロックを選択して実行することが可能となる。このとき、不揮発性メモリやRAMRandomAccessMemoryのECCErrorCheckingandCorrectionエラーや、リダンダンシに対応したCPUのエラーのように、単体の機能ブロック内のエラーであり、マイクロコンピュータの他の機能ブロックに影響のない機能ブロックで発生したエラーによるホットスタートである場合には、そのエラーに関連する機能ブロックのみを自己診断することで自己診断の実行時間を短縮することができる。したがって、本発明に係る自己診断回路によると、マイクロコンピュータの自己診断の実行時間を削減することができる。実施形態実施形態に係る自己診断回路について、図面を参照して説明する。図1は、本実施形態の自己診断回路の構成を示すブロック図である。図1を参照すると、自己診断回路は、BIST実行選択回路51、BIST実行指示回路52、ホットスタート判定回路53、BIST内蔵機能ブロック54-1~54-n、リセット回路55、BIST結果判定回路59、BIST期待値格納メモリ60、および、外部出力コントローラ61を備えている。BIST実行選択回路51は、リセット要因フラグ56-1~56-nのそれぞれの選択制御出力信号a14-1~a14-n、ホットスタート判定回路53の出力信号であるコールドスタート判定出力信号a18およびホットスタート判定出力信号a19から、実行すべきBIST内蔵機能ブロック54-1~54-nを選択し、BIST実行指示回路52に出力信号a20-1~a20-nを出力する。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を出力する。ホットスタート判定回路53は、パワーオンリセット回路57の出力信号a16と内部リセット回路58の出力信号a17に基づいて、電源投入直後のリセットによるスタートであるコールドスタートか、通常動作中のリセットによるスタートであるホットスタートかを判定し、判定結果をリセット解除後も保持し、保持結果を、コールドスタート判定出力信号a18およびホットスタート判定出力信号a19として、BIST実行選択回路51へ出力する。また、ホットスタート判定回路53は、BIST実行指示回路52からスタートステータス保持結果クリア信号a21を受信する。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を出力する。リセット回路55は、リセット要因フラグ56-1~56-n、パワーオンリセット回路57、および、内部リセット回路58を備えている。リセット回路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を出力する。リセット要因フラグ56-1~56-nは、それぞれ、選択制御出力信号a14-1~a14-n、および、リセット出力信号a15-1~a15-nを出力する。内部リセット回路58は、リセット要因フラグ56-1~56-nからリセット出力信号a15-1~a15-nを入力し、出力信号a17を出力する。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として入力する。外部装置62は、外部出力コントローラ入出力信号a27として、外部制御データを外部出力コントローラ61との間で入出力する。図2は、本実施形態におけるBIST実行選択回路51の動作を示す真理値表である。図2に示した真理値表は、複数の機能ブロックのそれぞれにおいて発生するエラーリセット要因が、他のどの機能ブロックへ影響があるのかの関連付け情報を示す。図2の表は、コールドスタート判定出力信号a18、ホットスタート判定出力信号a19、および、選択制御出力信号a14-1~a14-nの入力条件INPUTに対する、BIST実行選択回路51の出力信号a20-1~a20-nの出力結果OUTPUTを示す。BIST内蔵機能ブロック数に対応してリセット要因フラグ56-1~56-nの選択制御出力信号a14-1~a14-nは、入力条件INPUTとしてn本の入力による組合せとなり、対応する出力結果OUTPUTも、BIST実行選択回路51の出力信号a20-1~a20-nとしてn本の出力となる。コールドスタート判定出力信号a18が0、かつ、ホットスタート判定出力信号a19が1のとき、リセット要因フラグ56-1~56-nの選択制御出力信号a14-1~a14-nの値により、BIST実行選択回路51の出力信号a20-1~a20-nの出力結果が変化する。また、コールドスタート判定出力信号a18が1のとき、BIST実行選択回路51の出力信号a20-1~a20-nはすべて1となる。コールドスタート判定出力信号a18およびホットスタート判定出力信号a19がいずれも0のとき、BIST実行選択回路51の出力信号a20-1~a20-nはすべて0となる。図1を参照して、電源投入時のスタートであるコールドスタートの動作について説明する。自動車制御等の高信頼性マイクロコンピュータ分野において、電源投入時のコールドスタートでは故障個所を特定できないため、一般に、すべてのBISTを実行する。そこで、本実施形態においても、電源投入時のコールドスタートにおいては、すべてのBISTを実行し、品質を確保するものとする。コールドスタートは電源が投入されて電源電圧が上がったことをパワーオンリセット回路57が検出して出力信号a16が1になる。ホットスタート判定回路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実行対象となる。BIST実行指示回路52は、BIST実行選択回路51の出力信号a20-1~a20-nを受け、BISTを実行する順序を決定する。例えば、BIST内蔵機能ブロック54-1から54-nまで、順にBISTを実行する場合には、BIST実行指示回路52から、BIST内蔵機能ブロック54-1へ、BIST実行指示入出力信号バス72を介して、BISTの実行を指示する。BIST内蔵機能ブロック54-1は、BIST実行指示入出力信号バス72の値により、BIST実行指示を受け、BIST内蔵機能ブロック54-1のBISTを実行する。BIST実行結果は、BIST内蔵機能ブロック54-1の結果出力信号a24-1として、BIST結果判定回路59に出力する。BIST結果判定回路59は、BIST内蔵機能ブロック54-1の結果出力信号a24-1と、BIST期待値格納メモリ60から送信される期待値とを比較し、結果判定を行う。BIST結果判定回路59は、BIST結果判定回路59のBIST結果外部入出力信号a26として、判定結果を外部出力コントローラ61へ出力する。外部出力コントローラ61は、外部出力コントローラ入出力信号a27として、BISTの結果を外部装置62に送信する。BIST内蔵機能ブロック54-1は、BIST実行の完了時に、BIST実行指示入出力バス72を介して、BIST実行指示回路52にBIST実行完了信号を出力する。BIST内蔵機能ブロック54-1でのBIST実行の完了を受けて、BIST実行指示回路52は、BIST内蔵機能ブロック54-1に関連するリセット要因フラグ56-1をクリアする。次に、BIST実行指示回路52は、次のBIST内蔵機能ブロック54-2へBISTの実行を指示する。その後、順次、BIST内蔵機能ブロック54-nまで、同様にBISTが実行される。次に、ホットスタートの動作について説明する。BIST内蔵機能ブロック54-1~54-nは、BISTを実行する機能毎に分かれている。本実施形態では、BIST内蔵機能ブロック54-1には、例えば、マイクロコンピュータのクロック制御回路のように、マイクロコンピュータ全体に影響のある機能やユーザ設定による通常のリセット機能が設けられているものとする。一方、BIST内蔵機能ブロック54-2~54-nには、不揮発性メモリやRAMのECCエラーや、リダンダンシに対応したCPUのエラーのように、単体の機能内でのエラーと判断でき、明らかにマイクロコンピュータの他の機能ブロックに影響しない機能が設けられているものとする。本実施形態では、マイクロコンピュータ全体に影響のある機能と、単体の機能内でのエラーと判断でき、マイクロコンピュータの他の機能ブロックに影響しない機能とを区別する。マイクロコンピュータのクロック制御回路のようにマイクロコンピュータ全体に影響のある場合には、自己診断BISTは従来通りすべて実行する。一方、不揮発性メモリやRAMのECCエラーや、リダンダンシに対応したCPUのエラーのように、明らかにマイクロコンピュータの他の機能ブロックに影響のない場合には、選択的に自己診断BISTを実行する。これにより、従来と同等の高信頼性を確保しつつ、自己診断BIST実行時間を短縮する。マイクロコンピュータの通常動作時に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に入力される。また、リセット要因フラグ56-1に1がセットされることにより、リセット要因フラグ1からリセット出力信号a15-1を内部リセット回路58に出力し、内部リセット回路58から出力信号a17として1を出力する。ホットスタート判定回路53は、出力信号a17が1になったことを受けて、出力信号a17の結果を保持し、その出力としてホットスタート判定出力信号a19を1とする。この結果、図2の真理値表において、INPUTのa18=0、a19=1、かつ、a14-1=1、に対応するOUTPUTであるa20-1~a20-nのいずれもが1となる。すなわち、BIST実行選択回路51の出力信号a20-1~a20-nがいずれも1となる。このとき、コールドスタート時と同様に、すべてのBIST内蔵機能ブロックが実行される。すべてのBISTが実行されることにより、品質が確保される。マイクロコンピュータの通常動作時に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に入力される。また、リセット要因フラグ56-2に1がセットされることにより、リセット要因フラグ56-2からリセット出力信号a15-2を内部リセット回路58に出力し、内部リセット回路58から出力信号a17として1を出力する。ホットスタート判定回路53は、出力信号a17が1になったことを受けて、出力信号a17の結果を保持し、その出力としてホットスタート判定出力信号a19を1とする。この結果、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の実行対象となる。BIST内蔵機能ブロック54-2のみがBISTの実行対象となることにより、リセット要因と関連のあるBIST内蔵機能ブロックのみのBISTを実行する。これによって、自己診断の実行時間を短縮することができる。図3は、本実施形態によるマイクコンピュータの自己診断実行処理を示すフローチャートである。まず、マイクロコンピュータの電源投入を行うステップS101。次に、マイクロコンピュータを初期化するためのリセット処理を行うステップS102。電源投入時のコールドスタートでは、パワーオンリセット回路57から当該マイクロコンピュータに対するリセットが発生する。一方、ホットスタートでは、複数のBIST内蔵機能ブロック54-1~54-nのそれぞれにおいて発生するエラーリセット要因毎に、内部リセット回路58から当該マイクロコンピュータに対するリセット処理が発生する。ホットスタート判定回路53は、上記リセット処理がコールドスタートかホットスタートかを判定するステップS103。ホットスタート判定回路53は、パワーオンリセット回路57の出力信号a16と、内部リセット回路58の出力信号a17のどちらを受信したかに応じて、コールドスタートかホットスタートかを判定する。コールドスタートの場合にはステップS103のNo、マイクロコンピュータの初期状態における自己診断を実行するため、すべてのBIST内蔵機能ブロック54-1~54-nの自己診断を実行するステップS104からステップS109。一方、ホットスタートの場合にはステップS103のYes、エラーが発生したBIST内臓機能ブロックを特定し、関連するBIST内蔵機能ブロックの自己診断を実施するステップS117からステップS123。自己診断をBIST内蔵機能ブロック54-1から順次実行するためステップS105~S109、機能ブロック番号kに1を設定するステップS104。BIST内蔵機能ブロックの数だけ、自己診断の実行を繰り返すステップS105~S109。まず、BIST内蔵機能ブロックで自己診断を実行するステップS106。自己診断の結果は、BIST結果判定回路59で判定される。判定の結果は、外部出力コントローラ61を介して外部装置62に送信される。ステップS106で実行したBIST内蔵機能ブロック54-kに対応したリセット要因フラグ56-kをクリアするステップS107。自己診断をBIST内蔵機能ブロック54-1から順次実行するためステップS105~S109、機能ブロック番号kをインクリメントするステップS108。自己診断を終了した後ステップS105~S109、当該マイクロコンピュータのユーザプログラムに従った通常処理を行うステップS110。前述の当該マイクロコンピュータのユーザプログラムに従った通常処理において発生するエラーの発生確認を、BIST内蔵機能ブロック54-1から順次確認するためステップS112~S115、エラー発生番号kを1に設定するステップS111。BIST内蔵機能ブロックの数だけ、エラー発生確認を繰り返すステップS112~S115。当該マイクロコンピュータのユーザプログラムに従った通常処理において、BIST内蔵機能ブロック毎にエラーの発生の有無を確認するステップS113。エラーが発生しない場合にはステップS113のNo、ステップS114へ遷移する。一方、エラーが発生した場合にはステップS113のYes、ステップS116へ遷移する。当該マイクロコンピュータのユーザプログラムに従った通常処理において発生するエラーの発生確認を、BIST内蔵機能ブロック54-1から順次確認するためステップS112~S115、エラー発生番号kをインクリメントするステップS114。エラー発生に関連したリセット要因フラグ56-kをセットするステップS116。その後、内部リセット回路58から出力信号a17が発生しステップS102、ホットスタートによるリセット処理であることが判定されるステップS103のYes。ステップS118からステップS123の一連の処理を順次実行するため、リセット要因フラグ番号kに1を設定するステップS117。リセット要因フラグの数だけ、リセット要因フラグの判定を繰り返すステップS118~S123。BIST実行選択回路51は、リセット要因フラグが1であるかを判定するステップS119。リセット要因フラグが1の場合にはステップS119のYes、BIST内臓機能ブロックの自己診断を行うステップS120。一方、リセット要因フラグが0の場合にはステップS119のNo、BIST内蔵機能ブロックの自己診断を行なうことなく、ステップS122へ遷移する。BIST実行選択回路51は、どのBIST内臓ブロックのエラーにより発生したリセット要因フラグであるかを判別し、BIST実行選択情報D100により選択されたBIST内蔵機能ブロックの自己診断を実行するステップS120。BIST実行選択情報D100とは、BIST実行選択回路51内に保有される情報であり、BIST内蔵機能ブロックから発生したエラーが、他のBIST内蔵機能ブロックのどのブロックに影響を及ぼすのかを示す情報である。図2は、BIST実行選択情報D100を一例として示す表である。本実施形態では、リセット要因フラグ56-1として、クロックエラーのようにマイクロコンピュータ全体に影響のある場合のリセット要因を想定し、すべてのBIST内蔵機能ブロックを実行する必要がある場合とする。一方、リセット要因フラグ56-2~56-nとして、FLASHやRAMのECCエラーやリダンダンシに対応したCPUのエラーのように、マイクロコンピュータの他の機能ブロックに影響のない場合を想定し、選択的に自己診断が可能な場合とする。BIST結果判定回路59は、自己診断ステップS120の結果を判定し、外部出力コントローラ61を介して、判定の結果を外部装置62に送信する。本実施形態では、例えば、リセット要因フラグ56-1が1の場合には、BIST実行選択情報D100に従い、コールドスタート時と同様にすべてのBIST内蔵機能ブロックの自己診断を行う。一方、リセット要因フラグ56-nのみ1の場合には、リセット要因フラグ56-n以外の判定では、BIST内蔵機能ブロックによる自己診断は行われないが、リセット要因フラグ56-nの判定においては、BIST実行選択情報D100に従い、リセット要因フラグ56-nに関連付けられたBIST内蔵機能ブロックnの自己診断が行われる。このように、リセット要因により、リセット要因と関連があるBIST内蔵機能ブロックのみ自己診断BISTを実行することで、BIST実行時間の短縮を図る。ステップS120で実行したBIST内蔵機能ブロックに対応したリセット要因フラグをクリアするステップS121。ステップS118~S123の一連の処理を順次実行するため、リセット要因フラグ番号をインクリメントするステップS122。本実施形態において、BIST実行指示回路52で制御される自己診断の実行順序については特に明記していないが、自己診断の実行順序を、機能ブロックの重要度の高い順に実施してもよいし、ランダムに実施してもよい。さらに、当該自己診断装置が許容されている消費電流を超えない範囲で複数の機能ブロックを同時に実施し、これを前述の順序で実施してもよい。本実施形態によると、従来と同等の高信頼性を確保しつつ、自己診断BISTによる実行時間を短縮でき、自己診断BIST実行時の消費電流も削減することができる。本実施形態では、BIST内蔵機能ブロックと関連のあるリセット要因フラグとホットスタート判定回路53から、BIST実行を選択することにより、通常動作時にエラーが発生した機能ブロックに対してのみ選択的に自己診断BISTを実行する。これにより、非選択ブロックの自己診断実行時間を削減することができる。また、本実施形態では、自己診断BISTの実行を選択する際、リセット要因による関連付けを行い、クロックエラーのようにマイクロコンピュータ全体に影響がある場合には自己診断BISTをすべて実行し、FLASHやRAMのECCエラーやリダンダンシに対応したCPUのエラーのように、マイクロコンピュータの他の機能ブロックに影響のない場合には選択的に自己診断BISTを実行する。これにより、従来と同等の高信頼性を確保することができる。一般に、マイクロコンピュータの電流許容値の最大の値を用いてBISTが実行されるが、本実施形態では、選択的に自己診断BISTを実行し、BISTの実行時間を短縮する。これにより、平均消費電流を削減することができる。なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示請求の範囲を含むの枠内において、さらにその基本的技術思想に基づいて、実施形態の変更調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。