(57)【要約】【課題】高い故障検出率の達成と十分に短い起動時間を両立すること。【解決手段】自己診断装置１００は、フルテストと、前記フルテストを分割した分割テストとを実行するのに必要な情報を記憶するメモリ１０１と、通常動作モードから低消費電力モードに切り換える指示を受けた場合、フルテストを実行する、フルテストの終了後に低消費電力モードに切り替え、低消費電力モードでは、所定の時間間隔で、フルテストを分割した分割テストを順に実行する制御部１０２と、を備える。【選択図】図１
2020030714.tif 000002
【特許請求の範囲】
【請求項１】
フルテストと、前記フルテストを分割した分割テストとを実行するのに必要な情報を記憶するメモリと、
通常動作モードから低消費電力モードに切り換える指示を受けた場合、フルテストを実行する、前記フルテストの終了後に低消費電力モードに切り替え、低消費電力モードでは、所定の時間間隔で、前記フルテストを分割した分割テストを順に、実行する制御部と、を備える自己診断装置。
【請求項２】
前記自己診断装置は、診断対象回路を動作させる外部からの信号に基づいて、低消費電力モードから通常動作モードに切り替え、診断対象回路を停止させる外部からの信号に基づいて、通常動作モードから低消費電力モードに切り換えるモード制御部を備える請求項１に記載の自己診断装置。
【請求項３】
前記メモリは、フルテスト及び分割テストのテストパターン、初期値及び結果期待値を記憶し、
前記自己診断装置は、前記診断対象回路でテストを実行した結果と、結果期待値が異なる場合、前記診断対象回路に故障が発生したと判断する請求項１に記載の自己診断装置。
【請求項４】
前記自己診断装置は、前記分割テストを実行した履歴を記憶するデータ書き込み用メモリを備え、
前記制御部は、前記データ書き込み用メモリを参照して、次に実行する分割テストを決定する請求項１に記載の自己診断装置。
【請求項５】
前記制御部は、前記診断対象回路をＩＰ（Intellectual Property）単位で分割した機能ブロック別での分割テストを実行する請求項１に記載の自己診断装置。
【請求項６】
前記制御部は、診断対象回路をＩＰ単位で分割した機能ブロック別に分割テストするテストパターンを生成し、
前記メモリは、ＩＰ単位で分割した機能ブロック別に分割テストするテストパターンを記憶する請求項５に記載の自己診断装置。
【請求項７】
前記制御部は、リシードされたシードに基づいて分割テストのテストパターンを生成し、前記テストパターンでテストを行う請求項１に記載の自己診断装置。
【請求項８】
前記制御部は、
未検出故障に対するテストパターンを作成する自動テストパターン生成器と、
自動テストパターン生成器により生成された各テストパターンに対応するシードを生成するシード変換部を備え、
前記制御部は、シード変換部により生成されたシードに基づいて分割テストのテストパターンを生成し、前記テストパターンでテストを行う請求項７に記載の自己診断装置。
【請求項９】
前記制御部は、前記診断対象回路に対して、前記フルテスト及び前記分割テストを実行する診断回路を備える請求項１に記載の自己診断装置。
【請求項１０】
フルテストと、前記フルテストを分割した（複数の）分割テストとを記憶するメモリと、
通常動作モードから低消費電力モードに切り換える指示を受けた場合フルテストを実行し、前記フルテストの終了後に低消費電力モードに切り替え、低消費電力モードでは、所定の時間間隔で、前記フルテストを分割した分割テストを順に実行する制御回路と、を備える半導体装置。
【請求項１１】
前記半導体装置は、診断対象回路を動作させる外部からの信号に基づいて、低消費電力モードから通常動作モードに切り替え、診断対象回路を停止させる外部からの信号に基づいて、通常動作モードから低消費電力モードに切り換えるモード制御部を備える請求項１０に記載の半導体装置。
【請求項１２】
前記メモリは、フルテスト及び分割テストのテストパターン、初期値及び結果期待値を記憶し、
前記半導体装置は、前記診断対象回路でテストを実行した結果と、結果期待値が異なる場合、前記診断対象回路に故障が発生したと判断する請求項１０に記載の半導体装置。
【請求項１３】
前記半導体装置は、前記分割テストを実行した履歴を記憶するデータ書き込み用メモリを備え、
前記制御回路は、前記データ書き込み用メモリを参照して、次に実行する分割テストを決定する請求項１０に記載の半導体装置。
【請求項１４】
前記制御回路は、診断対象回路をＩＰ（Intellectual Property）単位で分割した機能ブロック別に分割テストするテストパターンを生成し、
前記メモリは、ＩＰ単位で分割した機能ブロック別に分割テストするテストパターンを記憶する請求項１０に記載の半導体装置。
【請求項１５】
前記制御回路は、
未検出故障に対するテストパターンを作成する自動テストパターン生成器と、
自動テストパターン生成器により生成された各テストパターンに対応するシードを生成するシード変換器を備え、
前記制御回路は、シード変換器により生成されたシードに基づいて分割テストのテストパターンを生成し、前記テストパターンでテストを行う請求項１０に記載の半導体装置。
【請求項１６】
前記制御回路は、前記診断対象回路に対して、前記フルテスト及び前記分割テストを実行する診断回路を備える請求項１０に記載の半導体装置。
【請求項１７】
通常動作モードから低消費電力モードに切り換える指示を受けた場合、フルテストを実行し、前記フルテストの終了後に低消費電力モードに切り替え、
前記低消費電力モードでは、所定の時間間隔で、前記フルテストを分割した分割テストを順に実行する自己診断方法。
【請求項１８】
前記診断対象回路をＩＰ（Intellectual Property）単位で分割した機能ブロック別にテストする請求項１７に記載の自己診断方法。
【請求項１９】
リシードされたシードに基づいて分割テストのテストパターンを生成し、前記テストパターンでテストを行う請求項１７に記載の自己診断方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は自己診断装置、半導体装置及び自己診断方法に関する。
【背景技術】
【０００２】
マイクロコンピュータの自己診断処理は、自己診断の対象である複数の機能ブロックについて自己診断の実行順序を予め固定して定義することが一般的である。また、近年、プロセスの微細化により機能ブロック数が増加し、これに伴い、自己診断の実行時間も増加している。
【０００３】
例えば、特許文献１には、マイクロコンピュータのユーザが複数の機能ブロックについて適切な処理単位に分けて設定し、処理単位ごとに個別に自己診断処理の開始条件を設定することにより、多様な要求に対応した自己診断処理の実行スケジュールを設定することが記載されている。
【０００４】
また、特許文献２には、通常モード中に使用している各機能ブロックの動作頻度値を測定し、その動作頻度値の高い順に各機能ブロックのBIST実行の実行順位を決定し、低消費電力モードから通常モードへの復帰時間制限値以内に実行可能な機能ブロックのみの自己診断を行うことにより自己診断時間の増加を抑えることが記載されている。
【０００５】
一方、自動車の制御システムにおいては、鍵を操作すること（Key on）ことにより、各ECU（Electronic Control Unit）の動作が開始し、ECU間の通信が開始する。このKey onから通信スタートまでに許容される起動時間は車両要件に応じて定められる。
【０００６】
他方、自動車の電気/電子システムに関する機能安全規格ISO26262にて規定される自動車用安全度水準（ASIL: Automotive Safety Integrity level）のうち高いASILを要求されるシステムでは、高い故障検出率を達成する必要がある。例えば、マイクロコントローラの自己診断としてField BISTを実行することが一般的である。
【０００７】
Field BISTでは、テスト対象となる回路に対してテストパターンを設定し、動作させることでテストが実行される。しかしながら、Field BISTで、より多くの故障を検出して故障検出率を上げるためには多くのテストパターンが必要になりテストパターン数が多いほど実行時間は増加する。
【０００８】
マイクロコントローラ内の回路の故障の中には、ある特定のテストパターンでのみ検出可能な故障も存在する。そして、この特定のテストパターンの数は回路の複雑度に依存する。また、高いASILへ対応するにあたり十分な故障検出率を達成するためには、これら特定のテストパターンでしか検出できない故障も検出する必要がある。
【０００９】
さらに、ボディ系システムのような今まで高いASILを要求されなかったシステムにおいても、高いASILを求められるようになり、Field BISTによる定期的な自己診断が必要になると考えられる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１５−１７６４０２号公報
【特許文献２】特開２０１２−２５２３７３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、特許文献１のように機能ブロックを分割しても、回路数は減少するが、例えばＦＦＲ(Fanout Free Region)で示されるような回路の複雑度が変わることはないため、必要となるテストパターン数が減少することはない。したがって、実行時間を短縮することはできない。
【００１２】
また、特許文献２も機能ブロック分割の観点で自己診断の効率化を目的としており、実行時間そのものの短縮について述べられていない。
【００１３】
このように、高い故障検出率の達成と十分に短い起動時間を両立できないという問題があった。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１４】
一実施の形態によれば、自己診断装置は、通常動作モードから低消費電力モードに切り換える指示を受けた場合、フルテストを実行する、前記フルテストの終了後に低消費電力モードに切り替え、低消費電力モードでは、所定の時間間隔で、前記フルテストを分割した分割テストを順に、実行するものである。
【発明の効果】
【００１５】
前記一実施の形態によれば、高い故障検出率の達成と十分に短い起動時間を両立できる。
【図面の簡単な説明】
【００１６】
【図１】実施の形態の概要に係る自己診断装置の構成を示すブロック図である。
【図２】実施の形態１にかかる自己診断装置の一例を示すブロック図である。
【図３】実施の形態１の自己診断制御部と診断対象回路のスキャンチェーンの構成を示すブロック図である。
【図４】実施の形態１の自己診断手法の詳細を示すタイミングチャートである。
【図５】実施の形態１にかかる自己診断装置１００の動作の一例を示すフローチャートである。
【図６】実施の形態１にかかる自己診断装置１００の動作の一例を示すフローチャートである。
【図７】実施の形態２にかかる自己診断装置の診断対象回路の概略構成を示すブロック図である。
【図８】実施の形態２にかかる自己診断装置のＮＶＭに記憶されるテストの概略構成を示すブロック図である。
【図９】実施の形態２の自己診断手法の概略を示すタイミングチャートである。
【図１０】実施の形態３の自己診断制御部の概略構成を示すブロック図である。
【図１１】実施の形態４にかかる自己診断装置の一例を示すブロック図である。
【図１２】実施の形態４の自己診断手法の詳細を示すタイミングチャートである。
【図１３】実施の形態４にかかる自己診断装置１００の動作の一例を示すフローチャートである。
【図１４】実施の形態４にかかる自己診断装置１００の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００１７】
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００１８】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００１９】
（実施形態の概要）
図１は、実施の形態の概要にかかる自己診断装置の構成を示すブロック図である。図１において、自己診断装置１００は、メモリ１０１と、制御部１０２を備える。また、自己診断装置１００は、診断対象回路１０３を備えても良い。また、診断対象回路１０３は、自己診断装置１００の外部に備えられても良い。また、メモリ１０１は制御部１０２と接続されていても良い。
【００２０】
メモリ１０１は、フルテストと、前記フルテストを分割した（複数の）分割テストとを実行するに必要な情報を記憶する。
制御部１０２は、通常動作モードから低消費電力モードに切り換える指示を受けた場合、フルテストを実行する。そして、制御部１０２は、フルテストの終了後に低消費電力モードに切り替える。また、制御部１０２は、低消費電力モードでは、所定の時間間隔で、分割テストを順に、実行する。
【００２１】
このように、実施形態の概要に係る自己診断装置によれば、通常動作モードから低消費電力モードに切り換える指示を受けた場合、フルテストを実行し、フルテストの終了後に低消費電力モードに切り替え、低消費電力モードでは、所定の時間間隔で、前記フルテストを分割した分割テストを順に、実行することにより、高い故障検出率の達成と十分に短い起動時間を両立できる。
【００２２】
なお、自己診断装置１００は、半導体装置として実装してもよい。例えば、自己診断装置１００は、メモリ１０１および制御部１０２を電子回路として半導体基板に実装することにより、半導体装置とすることができる。更に診断対象回路１０３をメモリ１０１および制御部１０２と同じ半導体基板に実装することにより、BIST(Built-In Self-Test)を実行可能な半導体装置とすることができる。また、自己診断装置１００はマイクロコントローラであってもよい。
【００２３】
（実施の形態１）
実施の形態１の自己診断装置を適用するシステムでは、動作状態が少なくともシステム動作状態と間欠動作状態の２つの状態のいずれかとなる。システム動作状態においてマイクロコントローラは通常動作モードでユーザプログラムを実行しており、システム動作状態終了後は間欠動作状態となる。間欠動作状態中はマイクロコントローラは低消費電力モードへ移行しており、定期的に通常動作モードへウェイクアップし必要な処理（ウェイク動作）を行う。
【００２４】
自己診断としてField BISTが実行される。Field BISTはｎ個のテストパターンを実行することにより十分な故障検出率を確保できるものとし、ｎ個のパターン全て実行するフルテストとｎ個のうちから数パターンのみを実行することで実行時間を短縮した分割テスト（１〜ｍ）に分類する。
【００２５】
フルテストはシステム動作状態から間欠動作状態への移行時の実行。間欠動作状態中はウェイク動作ごとに分割テストを順番に実行する。
【００２６】
Field BISTではテストパターン生成のために擬似乱数パターン発生回路を使用するのが一般的であり、擬似乱数パターンを発生させるための初期値を予め準備する必要がある。また、テスト結果のデータを圧縮したシグネチャを取得することも一般的であり、回路に故障が無い場合のシグネチャの期待値（テスト結果期待値）も予め準備しておく必要がある。よって予め準備したフルテストと分割テスト用にそれぞれ入力初期値とテスト結果期待値を不揮発性メモリへ格納する。
【００２７】
マイクロコントローラにはField BISTの実行を制御する自己診断制御部１２２があり、ＮＶＭ１１１に格納された入力初期値を受け取り、またField BIST実行の指示となるトリガを受け取ってField BISTを実行する。
【００２８】
図２は、実施の形態１にかかる自己診断装置の一例を示すブロック図である。図２において、自己診断装置１００は、メモリ１０１と、制御部１０２と、診断対象回路１０３とを備える。メモリ１０１は、ＮＶＭ１１１と、データ書き込み用ＮＶＭ１１２を備える。制御部１０２は、モード制御部１２１と、自己診断制御部１２２を備える。診断対象回路１０３は、ＣＰＵ１３１（Central Processing Unit）と、ＲＡＭ１３２と、周辺回路１３３と、バス１３４と、割り込み制御部１３５を備える。なお、ＲＡＭ１３２が省略された構成であってもよい。
【００２９】
また、自己診断装置１００は、時間監視機構１０６と、Key on判定機構１０７と、Key off判定機構１０８とを備えても良い。なお、時間監視機構１０６、Key on判定機構１０７、及びKey off判定機構１０８は、自己診断装置１００の外部に備えられても良い。
【００３０】
ＮＶＭ１１１は、テストの入力初期値、及びテスト結果期待値を記憶するメモリである。例えば、ＮＶＭ１１１は、不揮発性メモリ（Non-Volatile Memory)で構成されることが好適である。具体的には、ＮＶＭ１１１は、フルテスト及びｍ個の分割テスト１〜ｍ、及びそれぞれのテストに対応する入力初期値とテスト結果期待値を記憶する。入力初期値及びテスト結果期待値は、フルテスト及び各分割テストそれぞれに１セットずつ準備される。
【００３１】
データ書き込み用ＮＶＭ１１２は、分割テストの実行履歴を格納するメモリである。なお、データ書き込み用ＮＶＭ１１２をテスト結果を記憶するメモリに使用してもよい。例えば、データ書き込み用ＮＶＭ１１２は、不揮発性メモリで構成されることが好適である。また、データ書き込み用ＮＶＭ１１２は、分割テストの実行履歴も記録する。ＮＶＭ１１１とデータ書き込み用ＮＶＭ１１２は単一のＮＶＭで構成されていても良い。
【００３２】
モード制御部１２１は、モード遷移の要求を受け、自己診断装置１００の通常動作モード、低消費電力モードの遷移を制御する。例えば、モード制御部１２１は、割り込み制御部１３５からのモード遷移の要求を受け低消費電力モードから通常動作モードへ遷移させる制御を行う。また、モード制御部１２１は、バス１３４を介してＣＰＵ１３１からの要求を受け通常動作モードから低消費電力モードへ遷移させる制御を行う。また、モード制御部１２１は、ＣＰＵ１３１に代わって、割り込み制御部１３５からどのトリガを受けモード遷移を行ったかをフラグから識別しても良い。
【００３３】
自己診断制御部１２２はField BISTの実行を制御する機構である。自己診断制御部１２２は、入力初期値を受け、入力初期値に基づいてテストパターンを生成する。そして、自己診断制御部１２２は、生成されたテストパターンを診断対象回路１０３へ印加する。
【００３４】
ＣＰＵ１３１は、テストの結果として得られたシグネチャと予め準備していたテスト結果期待値とを照合することで故障の有無を判別する。そして、故障が無い場合はシグネチャとテスト結果期待値は一致する。
【００３５】
ＣＰＵ１３１は、プログラムと呼ばれる命令列を順に読み込んで解釈・実行する処理装置である。ＣＰＵ１３１は、バス１３４を介してＮＶＭ１１１や自己診断制御部１２２にアクセス可能である。そして、各テスト実行に指示を出す際にはＣＰＵ１３１がＮＶＭ１１１から入力初期値を読み出し、自己診断制御部１２２へ渡す。
【００３６】
ＲＡＭ１３２は、格納されたデータに任意の順序でアクセスできる（ランダムアクセス）メモリである。例えば、ＲＡＭ１３２は、ＣＰＵ１３１で実行されるプログラム及び処理されるデータを記憶する。
【００３７】
周辺回路１３３は、診断対象回路１０３と外部からの信号との接続を司る機能である。例えば、周辺回路１３３は、入出力回路、インターフェース回路を含む。具体的には、周辺回路１３３は、外部から間欠動作状態終了トリガ、システム動作状態終了トリガを受け付け、これらのトリガに基づく割り込み要求を割り込み制御部１３５に出力する。
【００３８】
バス１３４は、診断対象回路１０３内の信号のやり取りを行う共通の経路である。例えば、バス１３４は、アドレスバス、データバス、コントロールバスを含む。
【００３９】
割り込み制御部１３５は、自己診断装置１００の外部から入力される割り込み信号を受け付けるコントローラである。具体的には、割り込み制御部１３５は、時間監視機構１０６からのウェイクアップトリガあるいは周辺回路１３３からの割り込み要求を受け付けると、ＣＰＵ１３１への割り込みの要求を出力し、モード制御部１２１へモード遷移の要求を出力する。
【００４０】
時間監視機構１０６は、間欠動作状態中にウェイクアップのタイミングを生成する回路である。時間監視機構１０６は、ウェイクアップトリガを生成する。
【００４１】
Key on判定機構１０７は、車両の走行状態への移行を認識する回路である。Key on判定機構１０７は、間欠動作状態終了トリガを生成する。
【００４２】
Key off判定機構１０８は、車両の動作停止状態への移行を認識する回路である。Key off判定機構１０８は、システム動作状態終了トリガを生成する。
【００４３】
なお、本実施の形態ではKey on判定機構、Key off判定機構からのトリガは周辺回路１３３で受け付けているが、割り込み制御部１３５が受け付ける構成や、モード制御部１２１へ直接入力される構成としてもよい。
【００４４】
また、Key On判定機構とKey off判定機構は分かれている構成としているが、車両のKey on/offを認識する1つの機構により間欠動作状態終了トリガとシステム動作状態終了トリガが生成されるようにしてもよい。更に、自己診断装置１００の入力端子をまとめても良い。
【００４５】
また、上記説明では、ウェイクアップトリガは自己診断装置１００外部の時間監視機構により生成されているが、低消費電力モード中に動作可能な機能を用いて自己診断装置１００内部でトリガを生成する構成でも良い。あるいは周辺回路１３３で受け付けるようにしてもよい。
【００４６】
次に、テストの詳細について説明する。Field BISTはスキャンイン、キャプチャ、スキャンアウトを行うスキャンテストであることが知られており、自己診断制御部１２２が制御する。自己診断制御部１２２が持つ擬似乱数パターン発生回路としては、図３で示すようにＬＦＳＲ(Linear Feedback Shift Register)が用いられるのが一般的である。図３、実施の形態１の自己診断制御部と診断対象回路のスキャンチェーンの構成を示すブロック図である。
【００４７】
診断対象回路１０３は、回路内にFF（フリップフロップ）がつながれたスキャンチェーン２０１−１〜２０１−ｘが構成されている。図３において、スキャンチェーンの本数をｘ本、スキャンチェーンの最大長をLとする。またスキャンチェーンからの出力されたテスト応答を圧縮しシグネチャを生成する回路としてはＭＩＳＲ(Multiple Input Shift Register)が一般的である。
【００４８】
図３ではＬＦＳＲ２１１のビット数とスキャンチェーン数は同じｘとしているが、ｘより少ないビット数(ｙビット)のLFSRを用いてフェーズシフタと呼ばれる回路を含める構成としてもよい。フェーズシフタはｙ個の入力からｘ個の出力にするとともに、各スキャンチェーン２０１−１〜２０１−ｘへ入力されるパターンの乱数性を下げるよう調整する回路であってもよい。この場合、乱数性が下がることで各FFのデータの変化を抑え消費電力量低減に寄与する効果を奏する。
【００４９】
ＬＦＳＲ２１１をLサイクル動作させ、スキャンインを行い、全てのFFに値を格納した状態が１つのテストパターンとなる。その後、キャプチャ、スキャンアウトと実行し、ＭＩＳＲ２１２へ値を入力させテスト結果を圧縮する。スキャンアウトと次のテストパターンのスキャンインは同時に実行するのが一般的である。スキャンテストをn個のテストパターン分を実行するとフルテストとなり、最後のnパターン目のスキャンアウト後のＭＩＳＲ２１２の値がフルテストのシグネチャとなる。
【００５０】
例えば、n個のテストパターン中、最初のｊ個のテストパターンを分割テスト１とした場合、ｊ個目のテストパターンによるスキャンアウトが完了した時点のＭＩＳＲ２１２の値が分割テスト１のシグネチャとなる。この時点でのＬＦＳＲ２１１の値とＭＩＳＲ２１２の値は、それぞれ分割テスト２でのＬＦＳＲ２１１とＭＩＳＲ２１２の初期値となる。以降、同様に分割テスト２〜ｍまでのシグネチャ及び分割テスト３〜ｍまでのＬＦＳＲ２１１とＭＩＳＲ２１２の初期値を求めることができる。なお分割テスト１のＬＦＳＲ２１１とＭＩＳＲ２１２の初期値はフルテストにおける初期値と同一である。
【００５１】
この２つの初期値及びパターン数ｊがＮＶＭ１１１へ予め格納する分割テスト向けの入力初期値となる。またフルテストではｊがｎとなるだけで同様である。なおパターン数を示すパラメータは結果として同等の意味を持つパラメータの組み合わせ（例えば、最大スキャンチェーン段数と総テスト時間）であっても良い。
【００５２】
また、上述の説明では各分割テストにおいてＭＩＳＲ２１２の初期値を準備しているが、ＭＩＳＲ２１２を特定の値に初期化することでＭＩＳＲ２１２の初期値を省くようにしてもよい。この場合、シグネチャも変わるためテスト結果期待値もこの特定の値にあわせて変えることとなる。ただし入力するテストパターンは同じであるため、ＭＩＳＲ２１２の初期値を準備する場合と、ＭＩＳＲ２１２を特定の値に初期化する場合とで、故障検出率は変わらない。
【００５３】
次に、自己診断装置１００におけるテストのタイミングについて説明する。図４は、実施の形態１の自己診断手法の概略を示すタイミングチャートである。具体的には、図４では、想定するシステムにおけるフルテスト及び分割テストの実施タイミングを示す。
【００５４】
図４において、４０１の期間で、自己診断装置１００は、システム動作状態において通常動作モードでユーザプログラムを実行する。そして、システム動作状態終了トリガを受け付けるとフルテストを実行する期間４０２に移行し、フルテストを実行した後低消費電力モードに移行する。
【００５５】
低消費電力モードでは、間欠動作状態となり（４０３の期間）、通常動作モードへのウェイクアップトリガを受けウェイク動作を所定の時間間隔で実施する。ウェイク動作において、あらかじめ決まっている必要な処理のみを行った後、再度低消費電力モードへ移行する。具体的には、４３１の期間で低消費電力モードとなり、４３２の期間でウェイク動作を実行し、４３３の期間で分割テスト１が実行される。
【００５６】
低消費電力モード（４３４，４３９の期間）、ウェイク動作（４３５、４３７、４４０の期間）及び分割テスト（４３６、４３８、４４１の期間）を繰り返す。４４２の期間で間欠動作状態終了トリガを受けるとシステム動作状態へ移行する。この低消費電力モードは一部機能だけを残し、残りの機能への電源供給やクロック供給を停止するなどした、自己診断装置１００の消費電流を低減させるモードである。
【００５７】
例えば、自己診断装置１００を自動車に搭載した場合、各動作状態及び各動作状態の移行は、以下のようになる。
【００５８】
一般的には自動車が走行している状態がシステム動作状態に該当する。そして、車両が止まりKey offになるタイミングで、Key off判定機構がシステム動作状態終了トリガを発生させ、その後駐車/停車している状態が間欠動作状態と考えられる。また車両がKey onになるタイミングでKey on判定機構が間欠動作状態終了トリガを発生させると、システム動作状態へ移行する。
【００５９】
外部機構（例えば、時間監視機構１０６、Key on判定機構１０７、Key off判定機構１０８）からウェイクアップトリガが割り込み制御部１３５へ入力される。また、間欠動作状態終了トリガ、システム動作状態終了トリガは、周辺回路１３３を経由して、割り込み制御部１３５へ入力される。この結果、ＣＰＵ１３１への割り込み及びモード制御部１２１へモード遷移要求信号が出力される。
【００６０】
次に、自己診断装置１００の処理手順について説明する。図５は、実施の形態１にかかる自己診断装置１００の動作の一例を示すフローチャートである。図５では、システム動作状態時にフルテスト実行する際の処理の流れを示す。
【００６１】
まず、ステップＳ５０１において、システム動作状態終了トリガが、通常動作モードでＣＰＵ１３１がユーザプログラムを実行しているシステム動作状態にて受け付けられる。システム動作状態終了トリガを受け付けていない場合、ユーザプログラムの実行を続ける。システム動作状態終了トリガを受け付けた場合、ステップＳ５０２に進む。
【００６２】
ステップＳ５０２において、ＣＰＵ１３１がシステム動作状態終了トリガを受け付けるとフルテストの入力期待値をＮＶＭ１１１から読み出し、ステップＳ５０３に進む。
【００６３】
ステップＳ５０３において、ＣＰＵ１３１が、読み出した入力期待値とフルテストの実行指示を自己診断制御部１２２へ入力し、ステップＳ５０４に進む。
【００６４】
ステップＳ５０４において、自己診断制御部１２２がフルテストを実行し、ステップＳ５０５に進む。
【００６５】
ステップＳ５０５において、ＣＰＵ１３１は故障検出の有無を確認する。故障が検出された場合、ステップＳ５０６に進む。故障が検出されなかった場合、ステップＳ５０７に進む。
【００６６】
ステップＳ５０６において、異常発生時の処置を行う。具体的には、システムの遮断やエラー履歴の記録などシステムにとって最適な異常発生時の処置を行う。
【００６７】
ステップＳ５０７において、ＣＰＵ１３１は、モード制御部１２１に対して低消費電力モードへの遷移指示を出し間欠動作状態（低消費電力モード）へ移行する。
【００６８】
以上の処理手順により、システム動作状態から間欠動作状態（低消費電力モード）へ移行する場合に、フルテストが実行される。
【００６９】
次に低消費電力モードにおける間欠動作について説明する。図６は、実施の形態１にかかる自己診断装置１００の動作の一例を示すフローチャートである。図６では、ウェイク動作時に分割テストを実行する際の処理の流れを示す。
【００７０】
ウェイクアップトリガは低消費電力モード中に入力され、間欠動作状態終了トリガは低消費電力モードあるいはウェイク動作中に入力される。
【００７１】
低消費電力モードにおいてはＣＰＵ１３１が動作していないことが一般的であるため、低消費電力モードで動作可能な割り込み制御部１３５や周辺回路１３３がトリガを受け取りモード制御部１２１に対してモード遷移要求を出力する。モード制御部１２１は低消費電力モード中にトリガを受け付けるとＣＰＵ１３１を動作させる。
ウェイク動作中は自己診断装置１００が通常動作モードであり、この時に間欠動作終了トリガが入力されると周辺機能、割り込み制御機能を経由しＣＰＵ１３１が認識しシステム動作状態へ移行する。
【００７２】
低消費電力モード中にトリガを受け付けた場合、ＣＰＵ１３１は図６に示すフローチャートの処理を実行する。
【００７３】
まず、ステップＳ６０１において、モード制御部１２１はウェイクアップトリガあるいは間欠動作状態終了トリガによる割り込み制御部１３５からのモード遷移トリガを受け付け通常動作モードへ遷移させ、その後ＣＰＵ１３１はモード制御部１２１が持つ識別機能により起動した要因がどちらなのかを判別する。ＣＰＵ１３１は、モード制御部１２１が持つフラグ等の識別機能にて起動した要因がウェイクアップトリガなのか間欠動作状態終了トリガなのかを判別する。ウェイクアップトリガである場合、ステップＳ６０３に進む。ウェイクアップトリガではない場合、ステップＳ６０２に進む。
【００７４】
ステップＳ６０２において、システム動作状態でのユーザプログラムが実行される。
【００７５】
ステップＳ６０３において、各ＥＣＵのアプリケーションから規定される所定の処理が実行され、ステップＳ６０４に進む。
【００７６】
ステップＳ６０４において、実行する分割テストを特定する。例えばＣＰＵ１３１が残した分割テストの履歴を算用することにより、次に実行するべき分割テストを特定する。
【００７７】
ステップ６０５において、ＣＰＵ１３１が分割テストの入力期待値をＮＶＭ１１１から読み出し、ステップＳ６０６に進む。
【００７８】
ステップＳ６０６において、ＣＰＵ１３１が、読み出した入力期待値と分割テストの実行指示を自己診断制御部１２２へ入力し、ステップＳ６０７に進む。
【００７９】
ステップＳ６０７において、自己診断制御部１２２が分割テストを実行し、ステップＳ６０８に進む。
【００８０】
ステップＳ６０８において、ＣＰＵ１３１は故障検出の有無を確認する。故障が検出された場合、ステップＳ６０９に進む。故障が検出されなかった場合、ステップＳ６１０に進む。
【００８１】
ステップＳ６０９において、異常発生時の処置を行う。具体的には、システムの遮断やエラー履歴の記録などシステムにとって最適な異常発生時の処置を行う。
【００８２】
ステップＳ６１０において、分割テストの実行履歴をデータ書き込み用ＮＶＭ１１２に格納し、ステップＳ６１１に進む。
【００８３】
ステップＳ６１１において、モード制御部１２１は、モード制御部１２１に対して低消費電力モードへの遷移指示を出し間欠動作状態（低消費電力モード）へ移行する。
【００８４】
なお、本実施の形態では分割テストは１からmまで順番に実行するとしているが、実行順は自由に選択できる。また１度のウェイク動作で１つの分割テストを実行するとしているが、１度のウェイク動作で複数の分割テストを実行してもよい。
【００８５】
また、上述の例ではＣＰＵ１３１にて自己診断制御部１２２へのデータ転送を行っているが、例えばＤＭＡ（Direct Memory Access）などの転送機構にてデータ転送するようにしてもよい。この場合、ＣＰＵ１３１による入力初期値のデータ転送が不要となりソフトウェア負荷を減らすことができる。
【００８６】
このように、実施の形態１の自己診断装置によれば、通常動作モードから低消費電力モードに切り換える指示を受けた場合、フルテストを実行し、フルテストの終了後に低消費電力モードに切り替え、低消費電力モードでは、所定の時間間隔で、前記フルテストを分割した分割テストを順に、実行することにより、高い故障検出率の達成と十分に短い起動時間を両立できる。
【００８７】
具体的には、実施の形態１の自己診断装置は、低消費電力モードに切り換えてから経過した期間が短い時は、先に実行したフルテストからも経過した期間が短く、フルテストの結果により安全性が担保できる。
【００８８】
そして、実施の形態１の自己診断装置は、低消費電力モードに切り換えてから経過した期間が長い時は、分割テストを一通り実行し終えているので、分割テストを全て実行した結果により安全性が担保できる。
【００８９】
上述したように、低消費電力モードに切り換えてから経過した期間の長短にかかわらず、安全性が担保できているので、低消費電力モードから通常動作モードに切り換えるときに、フルテストを実行する必要がなく、短い起動時間で通常動作モードに切り換えることができる。
【００９０】
例えば、実施の形態１の自己診断装置を自動車に搭載した場合、まず、フルテストをシステム動作状態終了時に実施することで、Key on後の十分短い起動時間に対する要求は満たすことができる。
【００９１】
一方、間欠動作においては以下の点を考慮する必要がある。
間欠動作状態の時間、つまり車両が駐車/停車している時間は車両の使用状況に依るため特定することはできない。一般的にシステム動作状態へ復帰した際には、自己診断装置１００の回路に故障が無いことの確認（安全性担保）が求められるため、前回いつ実行したかわからないフルテストのみでは安全性担保は期待できない。
【００９２】
この点について、分割テストが間欠動作状態中に定期的に実行されていることでシステム動作状態復帰時の安全性を担保することができる。仮に、分割テストのみでは、分割テスト1からmまで全てが実行されていない状態でシステム動作状態へ復帰した場合、十分な自己診断が行われていないため同じく安全性担保が期待できないことになってしまうが、通常動作モードから低消費電力モードに切り換える際にフルテストを実行することで安全性担保が可能となる。（分割テストが1からmまで実行されていないということは前回フルテストが実行されてから十分短い時間しか経っていないということである。）
【００９３】
機能安全への対応においては、回路に故障が無いことを確認してから次の確認までに求められる最小時間が定められるのが一般的である。本実施の形態ではこの最小時間の要求を満たしつつ、十分高い故障検出率の達成も可能となる。
【００９４】
また、間欠動作状態は前述の通り車両が駐車/停車しているため、電力消費量の低減が求められる。実施の形態１の自己診断装置は、間欠動作状態ではフルテストではなく、テストパターンを分割した分割テストを実行することにより、テストを実行する時間を短縮している。このため、消費電力量を低減することができる。
【００９５】
また、図４ではウェイク動作ごとに分割テストを実行する例を示しているが、ＣＰＵ１３１にて分割テストの実行有無を指定するので、実行頻度を下げることでさらに消費電力量を抑えることもできる。
【００９６】
（実施の形態２）
実施の形態２では、診断対象回路内の機能ブロックの重要度に応じて各機能ブロックに対して実行する分割テスト数を変えてテストを行う。
【００９７】
図７は、実施の形態２にかかる自己診断装置の診断対象回路の概略構成を示すブロック図である。図７において、診断対象回路１０３は、機能ブロック７０１−１〜７０１−ｊを備える。図７において、機能ブロック７０１−１はＣＰＵである。また、機能ブロック７０１−２はタイマＡである。また、機能ブロック７０１−３はタイマＢである。図７では、診断対象回路１０３を複数の機能ブロック７０１−１〜７０１−ｊに分割して診断する。例えば、この機能分割は、自己診断装置１００内の各機能IP（Intellectual Property）単位としてもよい。
【００９８】
そして、機能ブロック７０１−１〜７０１−ｊ用のテストは、それぞれｍ個に分割される。図８は、実施の形態２にかかる自己診断装置のＮＶＭに記憶されるテストの概略構成を示すブロック図である。図８に示すように、ＮＶＭ１１１には全ての機能ブロックに対して全ての分割テスト＋フルテストの入力初期値、テスト結果期待値が格納される。
【００９９】
また、機能ブロックによって回路の複雑度が異なる場合、あるいは機能ブロックに対して達成するべき故障検出率が予め判明している場合が考えられる。この場合、全ての機能ブロックに対して、必ずしもｍ個の分割テストを準備する必要はなく、必要な数の分割テストのみ予め準備するようにしてもよい。
【０１００】
そして、自己診断制御部１２２へのテスト実行指示とＮＶＭ１１１内のデータ受け渡しは実施の形態１と同様にＣＰＵ１３１にて制御される。
【０１０１】
次に、自己診断装置１００におけるテストのタイミングについて説明する。図９は、実施の形態２の自己診断手法の概略を示すタイミングチャートである。具体的には、図９では、想定するシステムにおけるフルテスト及び分割テストの実施タイミングを示す。
【０１０２】
図９において、９０１の期間で、自己診断装置１００は、システム動作状態において通常動作モードでユーザプログラムを実行する。そして、システム動作状態終了トリガを受け付けるとフルテストを実行する期間９０２に移行し、フルテストを実行した後低消費電力モードに移行する。
【０１０３】
低消費電力モードでは、間欠動作状態となり（９０３の期間）、通常動作モードへのウェイクアップトリガを受けウェイク動作を所定の時間間隔で実施する。ウェイク動作において、あらかじめ決まっている必要な処理のみを行った後、再度低消費電力モードへ移行する。具体的には、９３１の期間で低消費電力モードとなり、９３２の期間でウェイク動作を実行し、９３３の期間で分割テスト１１が実行される。
【０１０４】
低消費電力モード（９３６、９４１、９４４の期間）、ウェイク動作（９３４、９３７、９３９、９４２、９４５の期間）及び分割テスト（９３５、９３８、９４０、９４３、９４６の期間）を繰り返す。
【０１０５】
分割テストは、
期間９３５では分割テスト１ｍが実行される。また、期間９３８では分割テスト２１が実行される。また、期間９４０では分割テスト２ｍが実行される。また、期間９４３では分割テスト３１が実行される。さらに期間９４６では分割テスト４１が実行される。
【０１０６】
そして、９４７の期間で間欠動作状態終了トリガを受けるとシステム動作状態へ移行する。
【０１０７】
以上のように、実施の形態２の自己診断装置は、機能ブロックの重要度に応じて各機能ブロックに対して実行する分割テスト数を変えてテストを行う。例えば、システムとして重要な機能を担うＣＰＵ７０１−１（機能ブロック１）及びタイマＡ７０１−２（機能ブロック２）に対しては高い故障検出率を達成するために全てのテストパターン（分割テスト１〜ｍ）を実行する。システムとして重要でないタイマＢ７０１−３（機能ブロック３）に関しては分割テスト１のみを実行する。また、使用しない機能ブロックに関しては分割テストを実行しない設定としてもよい。
【０１０８】
このように実施の形態２にかかる自己診断装置によれば、診断対象回路をIP単位で分割した機能ブロック別にテストすることにより、過剰なField BIST実行を削減することができ、消費電力量を削減することができる。
【０１０９】
例えば、システムで重要な機能においては十分なテストパターンを割り当てることで機能安全観点で求められる故障検出率を達成し、重要でない機能においては必要最低限のテストパターンのみを割り当てることにより、過剰なField BIST実行を削減することができ、トータルでの消費電力量を削減することができる。
【０１１０】
また、診断対象回路をIP単位で分割した機能ブロック別にテストすることにより、消費電力量、実行時間、そして故障検出率のバランスを調整するように設定ができるためシステム要件に応じた柔軟な自己診断をすることができる。
【０１１１】
また、ＣＰＵ１３１から実行する分割テストの入力初期値を自己診断制御部１２２に渡し実行する分割テストを選択するため、各機能に対してどの程度分割テストを実行するのか、システム要件に応じた柔軟な設定が可能となる。
【０１１２】
（実施の形態３）
実施の形態３では、テストパターン生成にリシード技術を適用する例について説明する。リシード技術は乱数の出方を制御する技術であり、リシード技術を用いて特定のテストパターンでのみ検出可能な故障を効率よく検出できることが知られている。
【０１１３】
一定数の分割テストはフルテストのサブセットとし、目標とする故障検出率を達成するようリシードを適用し、生成されたパターンを同様に分割する。なお、複数回のリシードを行っても良い。
【０１１４】
リシードのためのＬＦＳＲへの入力値の生成は、例えば自動テストパターン生成器として知られるＡＴＰＧ（automatic test pattern generator）を用いる。事前（自己診断装置１００がシステムに組み込まれる以前、マイクロコントローラであれば出荷以前）にリシード用ＡＴＰＧで求めたＬＦＳＲの初期値をＮＶＭ１１へ格納する。
【０１１５】
図１０は、実施の形態３の変形例の自己診断制御部の概略構成を示すブロック図である。図１０に示す実施例３の変形例のようにＡＴＰＧ１００１、及びシード変換部１００２が自己診断制御部１２２の内部に設けてられても良い。
【０１１６】
このように実施の形態３の自己診断装置によれば、リシード技術により特定のテストパターンでのみ検出可能な故障を効率よく検出できるため、目標とする故障検出率を達成するのに必要なパターン数が削減でき、消費電力量を削減することができる。
【０１１７】
（実施の形態４）
実施の形態４では、テスト実行の指示をＣＰＵに代えてハードウェアにて制御する例について説明する。図１１は、実施の形態４にかかる自己診断装置の一例を示すブロック図である。図１１において、自己診断制御部１２２は、診断回路１１０１を備える
【０１１８】
実施の形態４に係る自己診断装置の特徴は、モード制御部１２１が自己診断制御部１２２にテスト実行の指示を出す点にある。より具体的にはモード制御部１２１が自己診制御断部１２２内の診断回路１１０１にテスト実行の指示を出す。
診断回路１１０１は予めＣＰＵ１３１からどのテストを実行するかの指示と入力初期値を受け取り、これらを保持する。モード制御部からのテスト実行指示を受けると保持している情報に従い、自己診断制御部１２２がテストを実行する。
【０１１９】
ＣＰＵ１３１は予めどのテストを実行するか自己診断制御部１２２に指示を出す。またＣＰＵ１３１は該当する入力初期値をＮＶＭ１１１から読み出し、自己診断制御部１２２へ入力しておく。
【０１２０】
そして、実施の形態１と同様に、間欠動作状態中に割り込み制御部１３５がウェイクアップトリガあるいは間欠動作状態終了トリガによる周辺回路１３３からの割り込み要求を受け付けモード制御部１２１へモード遷移トリガを入力する。モード制御部１２１はモード遷移トリガを受けた際に自己診断制御部１２２へテスト実行の指示を出す機能を有する。モード制御部１２１はモード遷移トリガを受け通常動作モードへウェイクアップさせると共に自己診断制御部１２２に対して分割テスト実行の指示を出す。自己診断制御部１２２はモード制御部１２１からテスト実行指示を受け取ると、予めＣＰＵ１３１により指示されたテストを実行する。
【０１２１】
次に、自己診断装置１００におけるテストのタイミングについて説明する。図１２は、実施の形態４の自己診断手法の詳細を示すタイミングチャートである。図１２において、１２０１の期間で、自己診断装置１００は、システム動作状態において通常動作モードでユーザプログラムを実行する。そして、システム動作状態終了トリガを受け付けるとフルテストを実行する期間１２０２に移行し、フルテストを実行した後低消費電力モードに移行する。
【０１２２】
低消費電力モードでは、間欠動作状態となり（１２０３の期間）、通常動作モードへのウェイクアップトリガを受けウェイク動作を所定の時間間隔で実施する。ウェイクアップ時に予めＣＰＵ１３１で指定された分割テストｋ（ｋ＝１〜ｍ）が実行される。そして、ウェイク動作において、各ＥＣＵのアプリケーションから規定される所定の処理を行った後、再度低消費電力モードへ移行する。具体的には、１２３１の期間で低消費電力モードのなった後、１２３２のウェイクアップ時に分割テストｋが実行される。分割テストｋが実行された後、１２３３の期間でウェイク動作が実行さる。ウェイク動作が実行荒れた後、１２３４の期間で低消費電力モードとなる。
【０１２３】
低消費電力モード（１２３４の期間）、分割テスト（１２３５の期間）及びウェイク動作（１２３６の期間）を繰り返す。１２３７の期間で間欠動作状態終了トリガを受けるとシステム動作状態へ移行する。
【０１２４】
次に、自己診断装置１００の処理手順について説明する。図１３は、実施の形態４にかかる自己診断装置１００の動作の一例を示すフローチャートである。図１３では、通常動作モード時に、次回低消費電力モードから通常動作状態へ移行した際に実行する分割テストを設定する際の処理の流れを示す。
【０１２５】
ステップＳ１３０１において、実行する分割テストを特定し、ステップＳ１３０２に進む。例えばＣＰＵ１３１が残した分割テストの履歴を算用することにより、次に実行するべき分割テストを特定する。
【０１２６】
ステップ１３０２において、ＣＰＵ１３１が分割テストの入力期待値をＮＶＭ１１１から読み出し、自己診断制御部１２２へ入力する。
【０１２７】
以上の処理手順により、システム動作状態中に分割テストの準備が実行される。
【０１２８】
次に低消費電力モードにおける間欠動作について説明する。図１４は、実施の形態４にかかる自己診断装置１００の動作の一例を示すフローチャートである。図１４では、ウェイク動作時に分割テストを実行する際の処理の流れを示す。
【０１２９】
ウェイクアップトリガは低消費電力モード中に入力され、間欠動作状態終了トリガは低消費電力モードあるいはウェイク動作中に入力される。
【０１３０】
低消費電力モードにおいてはＣＰＵ１３１が動作していないことが一般的であるため、低消費電力モードで動作可能な割り込み制御部１３５や周辺回路１３３がトリガを受け取りモード制御部１２１に対してモード遷移要求を出力する。モード制御部１２１は低消費電力モード中にトリガを受け付けるとＣＰＵ１３１を動作させる。
【０１３１】
低消費電力モード中にトリガを受け付けた場合、自己診断制御部１２２は図１４に示すフローチャートの処理を実行する。
【０１３２】
まず、ステップＳ１４０１において、モード制御部１２１はウェイクアップトリガあるいは間欠動作状態終了トリガによる通常動作モードへの移行トリガを受け付け、ステップＳ１４０２に進む。
【０１３３】
ステップＳ１４０２において、所定の分割テストが実行され、ステップＳ１４０３に進む。
【０１３４】
ステップＳ１４０３において、ＣＰＵ１３１は故障検出の有無を確認する。故障が検出された場合、ステップＳ１４０４に進む。故障が検出されなかった場合、ステップＳ１４０５に進む。
【０１３５】
ステップＳ１４０４において、異常発生時の処置を行う。具体的には、システムの遮断やエラー履歴の記録などシステムにとって最適な異常発生時の処置を行う。
【０１３６】
ステップＳ１４０５において、ＣＰＵ１３１は、モード制御部１２１が持つフラグ等の識別機能にて起動した要因がウェイクアップトリガなのか間欠動作状態終了トリガなのかを判別する。ウェイクアップトリガである場合、ステップＳ１４０７に進む。ウェイクアップトリガではない場合、ステップＳ１４０６に進む。Ｓ１４０６においてシステム動作状態でのユーザプログラムが実行される。
【０１３７】
ステップＳ１４０７において、分割テストの実行履歴をデータ書き込み用ＮＶＭ１１２に格納し、ステップＳ１４０８に進む。
【０１３８】
ステップＳ１４０８において、図１３で示す次回実行する分割テストの設定を行い、ステップＳ１４０９に移行する。Ｓ１４０９ではウェイク動作として必要な処理を実行する。
【０１３９】
このように実施の形態４の自己診断装置によれば、ウェイクアップごとにＣＰＵ１３１の動作前に自己診断を行うことができる。例えば、特に重要な機能ブロックなどに対してウェイクアップごとに直前に自己診断を行うことができる。また、残りの機能ブロックは実施の形態１、２のようにウェイクアップ終了時に自己診断するよう実施の形態を組み合わせてもよい。
【０１４０】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【０１４１】
例えば、実施の形態１〜４のいずれか、または実施の形態１〜４の少なくとも２つを組み合わせたものを、メモリ１０１と、制御部１０２と、診断対象回路１０３を備える半導体装置としてもよい。また、診断対象回路１０３は、内部構成を一つの半導体チップにまとめたワンチップマイクロプロセッサでもよい。また、診断対象回路１０３はＡＳＩＣ（Application Specific Integrated Circuit）等の論理回路であってもよい。
【符号の説明】
【０１４２】
１００  自己診断装置
１０１  メモリ
１０２  制御部
１０３  診断対象回路
１０６  時間監視機構
１０７  判定機構
１０８  判定機構
１１１  ＮＶＭ
１１２  データ書き込み用ＮＶＭ１１２
１２１  モード制御部
１２２  自己診断制御部
１３１  ＣＰＵ
１３２  ＲＡＭ
１３３  周辺回路
１３４  バス
１３５  割り込み制御部
７０１−１〜７０１−ｊ  機能ブロック
１００１  診断回路
【図１】
2020030714.tif 000003
【図２】
2020030714.tif 000004
【図３】
2020030714.tif 000005
【図４】
2020030714.tif 000006
【図５】
2020030714.tif 000007
【図６】
2020030714.tif 000008
【図７】
2020030714.tif 000009
【図８】
2020030714.tif 000010
【図９】
2020030714.tif 000011
【図１０】
2020030714.tif 000012
【図１１】
2020030714.tif 000013
【図１２】
2020030714.tif 000014
【図１３】
2020030714.tif 000015
【図１４】
2020030714.tif 000016