"ユーザプログラムが格納される第1のメモリと、前記ユーザプログラムに基づいて動作するCPUと、前記CPUが正常に動作しているか否かを一定の機会ごとに判定するための第1テストのプログラムが格納される第2のメモリと、前記第1テストの結果のデータを格納する第3のメモリとを有し、前記第3のメモリは、前記第1テストの一定の機会とは異なるときに行なわれる第2テストの結果のデータの格納に用いられるメモリである、半導体集積回路装置。請求項1記載の半導体集積回路装置において、前記第2テストは、前記ユーザプログラムのデバッグテストである、半導体集積回路装置。請求項1記載の半導体集積回路装置において、前記第2のメモリは、前記第2テストのプログラムの格納に用いられるメモリである、半導体集積回路装置。請求項3記載の半導体集積回路装置において、前記第2テストは、前記ユーザプログラムのデバッグテストである、半導体集積回路装置。請求項1記載の半導体集積回路装置において、前記一定の機会とは、前記ユーザプログラムによる動作の定期的な合間のことである、半導体集積回路装置。請求項1記載の半導体集積回路装置において、前記一定の機会とは、前記半導体集積回路装置のパワーオン時もしくはパワーオフ時である、半導体集積回路装置。請求項1記載の半導体集積回路装置において、前記第3のメモリは、前記第2のメモリの容量より大きい、半導体集積回路装置。ユーザプログラムが格納される第1のメモリと、前記ユーザプログラムに基づいて動作するCPUと、前記CPUが正常に動作しているか否かを判定するための第1テストのプログラムが格納される第2のメモリと、前記第1テストの結果のデータを格納する第3のメモリとを有し、前記第3のメモリは、前記第1テストの前に行なわれるユーザプログラムのデバッグテストの結果のデータの格納に用いられるメモリである、半導体集積回路装置。請求項8記載の半導体集積回路装置において、前記第2のメモリは、前記デバッグプログラムの格納に用いられるメモリである、半導体集積回路装置。請求項8記載の半導体集積回路装置において、前記第1テストは、前記ユーザプログラムによる動作の定期的な合間に行なわれる、半導体集積回路装置。請求項8記載の半導体集積回路装置において、前記第1テストは、前記半導体集積回路装置のパワーオン時もしくはパワーオフ時である、半導体集積回路装置。請求項8記載の半導体集積回路装置において、前記第3のメモリは、前記第2のメモリの記憶容量より記憶容量が大きい、半導体集積回路装置。ユーザプログラムが格納される第1のメモリと、前記ユーザプログラムに基づいて動作するCPUと、前記CPUが正常に動作しているか否かを判定するための第1テストのプログラムが格納される第2のメモリとを有し、前記第2のメモリは、前記第1テストの前に行なわれるユーザプログラムのデバッグテストのプログラムの格納に用いられるメモリである、半導体集積回路装置。前記第1テストにおいて、前記第1テストの結果のデータを格納し、前記デバッグテストにおいて、前記デバッグテストの結果のデータを格納する第3メモリを有する、請求項13記載の半導体集積回路装置。ところが、上記のような半導体集積回路装置における高信頼性技術では、次のような問題点があることが本発明者により見い出された。前述したように、電子システムにチェック用マイクロコンピュータが新たに必要となるので、該電子システムのコストが増加してしまうという問題がある。また、チェック用マイクロコンピュータを搭載するスペースが必要となり、電子システムの小型化の妨げとなってしまう恐れがある。さらに、チェック用マイクロコンピュータによる専用のテストプログラムが必要となってしまい、該テストプログラムの開発工数やコストが必要となってしまうという問題がある。本発明の目的は、部品点数を増加させることなく、低コストでかつ効率的に半導体集積回路装置の高信頼性化を実現させることのできる技術を提供することにある。本発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添付図面から明らかになるであろう。本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。一実施の形態によれば、半導体集積回路装置は、ユーザプログラムが格納される第1のメモリと、ユーザプログラムに基づいて動作するCPUと、CPUが正常に動作しているか否かを一定の機会ごとに判定するための第1テストのプログラムが格納される第2のメモリと、第1テストの結果のデータを格納する第3のメモリとを有する。さらに、第3のメモリは、第1テストの一定の機会とは異なるときに行なわれる第2テストの結果のデータの格納に用いられるメモリである。本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。回路構成などを大幅に増加させることなく、半導体集積回路装置における高信頼性を確保することができる。以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。実施の形態1図1は、本発明の実施の形態1による半導体集積回路装置の一例を示す説明図、図2は、図1の半導体集積回路装置におけるデバッグ処理の一例を示すフローチャート、図3は、図1の半導体集積回路装置におけるCPUコアの検査処理の一例を示すフローチャート、図4は、図1の半導体集積回路装置に設けられたデバッグ回路によるコンペア処理の一例を示す説明図、図5は、図1の半導体集積回路装置に設けられたデバッグ回路によるコンペア処理の他の例を示す説明図、図6は、図1の半導体集積回路装置の他の例を示す説明図、図7は、図1のCPUコアにおけるある状態の測定結果の履歴情報の一例を示した説明図である。実施の形態の概要本実施の形態の概要は、以下である。ユーザプログラムが格納される第1のメモリ内蔵メモリ8,9と、ユーザプログラムに基づいて動作するCPUCPUコア6,7と、CPUが正常に動作しているか否かを一定の機会ごとに判定するための第1テストのプログラムが格納される第2のメモリASEメモリ3とを有する。また、第1テストのプログラムに基づいて、CPUが正常に動作しているか否かを判定するための第1テスト結果のデータを格納する第3のメモリトレースメモリ11を有する。上述の一定の機会とは異なるときに、第2のメモリは第2テストのプログラムの格納に用いられ、第3のメモリは第2テスト結果のデータの格納に用いられる。別の見方をすれば以下のようになる。ユーザプログラムが格納される第1のメモリ内蔵メモリ8,9と、ユーザプログラムに基づいて動作するCPUCPUコア6,7と、CPUが正常に動作しているか否かを判定するための第1テストのプログラムが格納される第2のメモリASEメモリ3とを有する。また、第1テストのプログラムに基づいて、CPUが正常に動作しているか否かを判定するための第1テスト結果のデータを格納する第3のメモリトレースメモリ11を有する。第1テストのプログラムが格納される前に、第2のメモリは第2テストのプログラムの格納に用いられ、第3のメモリは第2テスト結果のデータの格納に用いられる。以下、上記した概要に基づいて、実施の形態を詳細に説明する。本実施の形態1において、半導体集積回路装置1は、たとえば、自動車におけるエンジンやシャーシなどのパワートレイン系、あるいはエアコンやヘッドライト、ドアロックなどのボディ系などの各種制御を司るECUに用いられる1チップのマイクロコンピュータである。半導体集積回路装置1には、図1に示すように、周期タイマ2、ASEメモリ3、メモリインタフェース4、インタフェース5、CPUコア6,7、内蔵メモリ8,9、デバッグ回路10、トレースメモリ11、システム停止回路12、およびレジスタ13などが設けられている。また、ASEメモリ3、メモリインタフェース4、インタフェース5、CPUコア6,7、ならびにデバッグ回路10は、メインバスBを介して相互に接続されている。ここでは、CPUコアが2つの例を示している。さらに、半導体集積回路装置1には、外部メモリ14、ならびに外部IP15がそれぞれ接続されている。外部メモリ14は、半導体集積回路装置1に外部接続されるメモリであり、たとえば、フラッシュメモリに例示される不揮発性メモリやHDDなどである。外部メモリ14には、後述するデバッグ用プログラム、テスト用プログラム、およびECUの動作プログラムであるユーザプログラムなどの様々なデータが格納される。外部IP15は、たとえば、画像処理プロセッサや信号処理プロセッサなどの半導体集積回路装置1に外部接続されるハードウェアモジュールである。周期タイマ2は、CPUコア6,7にそれぞれ接続されており、タイマクロックなどのカウントアップを行い、ある時間に到達するとタイマカウンタ信号を出力する。ASEメモリ3は、たとえば、SRAMなどの揮発性メモリからなり、デバッグ用プログラム、およびテスト用プログラムなどが格納される。デバッグ用プログラムは、ユーザシステムたとえば、ECUにおけるユーザプログラムのバグを取り除くデバッグを行う際に用いられるプログラムである。テスト用プログラムは、製品となった半導体集積回路装置1において、CPUコア6,7の故障診断を行うプログラムであり、該CPUコア6,7の通常動作の合間に実行されるプログラムである。ここで、通常動作とは、製品となった半導体集積回路装置1において、CPUコア6,7がユーザプログラムによる動作である。このため、通常、ユーザプログラムはデバッグを終了しているものである。またここでは、製品となった半導体集積回路装置1において、製品の使用等により半導体集積回路装置1に故障等が生じていないか、通常動作の合間に第1テストであるテストを行なう。通常動作の合間には、半導体集積回路装置1のパワーオン起動時やパワーオフ時も含まれるものである。つまりこのテストは、通常動作の合間言い換えるとユーザプログラムによる動作の合間に定期的周期的または半導体集積回路装置1のパワーオン起動時やパワーオフ停止時に行なわれる。このテストは、定期的またはパワーオンやパワーオフ時等の一定の機会ごとにされているものと考える。通常動作とは異なる動作である非通常動作とは、例えばデバッグ用プログラムを用いたデバッグ動作、あるいは製品出荷前の半導体集積回路装置をテストするテスト動作である。つまり、出荷後の通常動作の合間に行なう第1テストではない、第2テストである。非通常動作の場合、デバッグや製品出荷前のテスト等の実行前に半導体集積回路装置1外からプログラムが半導体集積回路装置1の内部のメモリに書き込まれる。よって、第1テストは、一定の機会ごとあるいは、半導体集積回路装置の出荷後に行なわれるテストである。第2テストは、第1テストとは異なるとき、あるいは、第1テストの前、あるいは、半導体集積回路装置出荷前に行なわれるテストである。メモリインタフェース4は、外部メモリ14とのインタフェース回路であり、インタフェース5は、外部IP15とのインタフェース回路である。CPUコア6,7は、ユーザプログラムに基づいて、半導体集積回路装置1における動作を行なう。内蔵メモリ8は、CPUコア6が使用するユーザプログラムが格納されるメモリであり、内蔵メモリ9は、CPUコア7が使用するユーザプログラムが格納されるメモリである。内蔵メモリ8,9は、たとえば、SRAMなどの揮発性メモリからなる。デバッグ回路10は、非通常動作時において、ASEメモリ3に格納されたデバッグ用プログラムに基づいて、ユーザシステムECUのデバッグを実行する。また、デバッグ回路10は、通常動作の合間に、テスト用プログラムに基づいて該CPUコア6,7の故障診断を行う回路である。トレースメモリ11は、デバッグ回路10、CPUコア6,7にそれぞれ接続されている。非通常動作時において、トレースメモリ11は、デバッグ用プログラムに基づいたデバッグ時にサンプリングした各種データやステータス信号などのトレース結果を格納する。また、通常動作の合間において、テスト用プログラムに基づいたCPUコア6,7の故障診断結果を格納するメモリである。たとえば、SRAMなどの揮発性メモリからなる。システム停止回路12は、デバッグ回路10に接続されている。通常動作の合間において、このシステム停止回路12には、デバッグ回路10から出力される状態信号が入力されるように接続されている。状態信号は、デバッグ回路10がCPUコア6,7の少なくとも一方が故障であると診断した際に出力される信号である。システム停止回路12は、状態信号が入力されると、CPUコア6,7を一時停止、あるいは再起動させる動作制御信号を出力する。システム停止回路12から出力される動作制御信号は、CPUコア6,7にそれぞれ入力されるとともに外部端子T1を介して、半導体集積回路装置1の外部に出力される。レジスタ13は、ASEメモリ3、およびトレースメモリ11にそれぞれ接続されている。レジスタ13は、ASEメモリ3、ならびにトレースメモリ11を動作状態とするイネーブル信号を記憶する。このイネーブル信号は、たとえば、半導体集積回路装置1に設けられた外部端子T2を介して外部から入力される。ASEメモリ3は、半導体集積回路装置1においてメモリ容量が他のメモリよりも比較的記憶容量の小さいメモリであり、たとえば、8Kバイト程度である。トレースメモリ11は、ASEメモリ3よりもメモリ容量が大きく、たとえば、32Kバイト~42Kバイト程度である。また、内蔵メモリ8,9は、トレースメモリ11よりもメモリ容量が大きく、たとえば、それぞれ128Kバイト~256Kバイト程度である。半導体集積回路装置1に外部接続される外部メモリ14は、内蔵メモリ8,9よりもメモリ容量が大きく、Mメガバイトオーダ、またはそれ以上のメモリ容量を有している。次に、本実施の形態における半導体集積回路装置1の動作について説明する。図2は、ユーザプログラムにおけるデバッグ処理の一例を示すフローチャートである。つまり、非通常動作時のフローチャートを示すものである。このデバッグ処理時には、たとえば、半導体集積回路装置1を用いたユーザが開発中のユーザシステムとソフトウェア開発用のパーソナルコンピュータとの間には、ソフトウェアおよびハードウェアのデバッグ、評価を行うエミュレータが接続された構成となっている。まず、デバッグを開始する際には、エミュレータから外部端子T2を介してイネーブル信号たとえば、Hi信号が入力され、レジスタ13に格納されるステップS101。レジスタ13に格納されたイネーブル信号により、ASEメモリ3、およびトレースメモリ11がそれぞれ動作可能状態となる。続いて、ASEメモリ3は、エミュレータから出力されるデバッグ用プログラムをロードして格納するステップS102。そして、内蔵メモリ8,9は、エミュレータから出力されるデバッグを行うユーザプログラムをそれぞれロードして格納するステップS103。その後、CPU6,7は、内蔵メモリ8,9にそれぞれ格納されたユーザプログラムを実行するステップS104。このステップS103の処理において、デバッグ回路10は、ASEメモリ3に格納されたデバッグ用プログラムに基づいて、ユーザシステムたとえば、ECUなどにおけるユーザプログラムのデバッグを実行しステップS105、トレースメモリ11にデバッグ用プログラムに基づくサンプリングした各種データやステータス信号などのトレース結果を格納するステップS106。トレースメモリ11に格納されたトレース結果は、エミュレータを介してパーソナルコンピュータのモニタなどに表示され、ユーザにより、トレース結果の確認が行われるステップS107。図3は、テスト用プログラムによるCPUコア6,7の検査処理の一例を示すフローチャートである。つまり、通常動作および通常動作の合間のフローチャートを示すものである。CPUコア6,7の検査は、たとえば、自動車などに設けられたECUなどに半導体集積回路装置1が搭載され、該半導体集積回路装置1が製品として通常動作している際に行われる検査処理である。まず、半導体集積回路装置1に電源電圧VCCが投入されると、外部端子T2を介してイネーブル信号たとえば、Hi信号が入力され、レジスタ13にイネーブル信号が格納されるステップS201。レジスタ13に格納されたイネーブル信号により、ASEメモリ3、およびトレースメモリ11がそれぞれ動作可能状態となる。そして、たとえば、外部メモリ14に格納されたテスト用プログラムがメモリインタフェース4を介してASEメモリ3にロードされるステップS202。続いて、周期タイマ2が起動しステップS203、内蔵メモリ8,9に格納されたユーザプログラムに基づいて、半導体集積回路装置1が通常動作状態となるステップS204。ここの例では、CPUコア6と7が同じテスト用プログラムを実行し、結果が同じになるか否かで動作が正常か否かを判断することとする。このステップS204の処理において、周期タイマ2からある時間毎に出力されるタイマカウンタ信号が出力されると、CPUコア6,7は、ASEメモリ3に格納されたテスト用プログラムを実行するステップS205。CPUコア6,7は、テスト用プログラムに基づいたチェック結果をトレースメモリ11に格納するステップS206。デバッグ回路10は、トレースメモリ11にチェック結果が格納されたことを検知すると、該トレースメモリ11に格納されたチェック結果のコンペア処理を行いステップS207、CPUコア6,7が正常か否かを判定するステップS208。ここでは、同じ結果になるか否かで、正常もしくは異常と判断する例となる。ステップS208の処理において、デバッグ回路10が正常と判定した場合、デバッグ回路10からは状態信号が出力されず、CPUコア6,7は、テスト用プログラムの処理が終了すると、再びユーザプログラムによる通常動作を行う。また、ステップS208の処理において、CPUコア6,7のいずれかが異常であるとデバッグ回路10が判定した場合、該デバッグ回路10は、状態信号をシステム停止回路12に出力する。この状態信号を受けると、システム停止回路12は、動作制御信号をCPUコア6,7にそれぞれ出力する。CPUコア6,7は、動作制御信号が入力されると、半導体集積回路装置1の再起動処理を行うステップS209。ここでは、半導体集積回路装置1の再起動処理ではなく、強制停止としてもよい。さらに、デバッグ回路10から出力される動作制御信号は、CPUコア6,7にそれぞれ入力されるだけではなく、外部端子T1を介して外部出力される。これにより、CPUコア6,7のいずれかが異常であることを外部に知らせることができる。上記したステップS205~S208の処理は、周期タイマ2からタイマカウンタ信号が出力される毎に行われる。次に、図3のステップS207におけるコンペア処理の一例について説明する。テスト用プログラムでは、ALUArithmeticandLogicUnitの演算状態、レジスタの状態、FPUFloatingpointnumberProcessingUnitの演算状態、CPUコア6,7の命令実行シーケンス状態、CPUコア6,7の命令分岐状態、外部IP15の起動状態、ならびに外部メモリ14のメモリ内容の状態などをチェックする。ALUは、CPUコア6,7にそれぞれ設けられている演算装置であり、レジスタは、CPUコア6,7にそれぞれ設けられている記憶装置である。FPUは、CPUコア6,7にそれぞれ設けられている浮動小数点数演算装置である。図4は、デバッグ回路10によるコンペア処理の一例を示す説明図である。図4に示すメモリ内容において、最上段は、タイムスタンプをそれぞれ示しており、タイムスタンプの下側には、上方から下方にかけて、ALUの演算状態、レジスタの状態、FPUの演算状態、CPUコア6,7の命令実行シーケンス状態、CPUコア6,7の命令分岐状態、外部IP15の起動状態、ならびに外部メモリ14のメモリ内容の状態などのチェック結果がそれぞれ示されている。これらのチェック結果は、トレースメモリ11に格納されている。タイムスタンプは、どちらのCPUコアであるかとチェック回数がそれぞれ示されており、たとえば、図4の左上段に示すH’0000_0000のうち、H’の次の0000は、CPUコア6であることを示し、その次の0000は、周期タイマ2から1回目のタイマカウンタ信号が出力された際の測定であることを示している。よって、H’0000_0001の場合には、CPUコア6であることを示し、周期タイマ2から2回目のタイマカウンタ信号が出力された際の測定であることを示している。また、図4において、上記したH’0000_0000の右側におけるタイムスタンプH’1000_0000では、H’の次の0001が、CPUコア7であることを示し、その次の0000は、周期タイマ2から1回目のタイマカウンタ信号が出力された際の測定であることを示している。デバッグ回路10は、図4に示した測定結果の値を比較コンペアし、同じ値である場合には、CPUコア6,7が正常であると判定し、比較結果が不一致の場合には、CPUコア6,7のいずれかが異常であると判定する。図4では、1回目、および2回目のチェックにおいて、CPUコア6,7の各測定項目における検査結果の値が同じであるので、デバッグ回路10は、該CPUコア6,7が正常であると判定する。しかし、3回目のチェックでは、ALUの演算状態の測定値が、CPUコア6ではH’1111_1111であるが、CPUコア7ではH’1111_1101と異なっているので、デバッグ回路10は、CPUコア6,7のいずれかが異常と判定し、状態信号を出力する。図5は、デバッグ回路10によるコンペア処理の他の例を示す説明図である。この図5では、CPUコア6,7のうち、いずれか1つのCPUコアたとえば、CPUコア6のみの検査を行う場合の例であり、2つのCPUコアのうち、一方のCPUコアに高い信頼性が要求される場合などに有効である。図5におけるタイムスタンプ、および測定項目については、図4と同様である。ここでは、CPUコア6のみをテスト用プログラムにより検査するので、タイムスタンプのH’の次は、CPUコア6を示す0000のみとなる。デバッグ回路10は、図中の測定結果メモリ内容と、テスト用プログラムに予めプログラムされている正常データとを比較し、それらが一致した際には、CPUコア6が正常であると判定し、不一致の際には、該CPUコア6が異常であると判定する。たとえば、図5では、それぞれの項目における正常データが、すべてH’1111_1111とならなければならないが、6回目の測定結果において、ALUの演算状態がH’1111_1101となっている。よって、デバッグ回路10は、CPUコア6が異常であると判定し、状態信号を出力する。なお、図5の例では、2つのCPUコアのうち、一方のCPUコアCPUコア6のみのチェックを行う場合について記載したが、このようなマルチCPU構成ではなく、たとえば、図6に示すような1つのCPUコア6のみを備えたシングルCPU構成の半導体集積回路装置1に適用することも可能である。図6に示す半導体集積回路装置1は、図1の半導体集積回路装置1から、CPUコア7、ならびに内蔵メモリ9を削除した構成となっており、その他の接続構成については、図1と同様であるので、説明は省略する。それにより、本実施の形態1によれば、チェック用プログラムに基づいてCPUコア6,7に異常がないかを定期的にチェックするので、半導体集積回路装置1の信頼性を大幅に向上させることができる。なお、ここでの例では定期的周期的なテストを例に示したが、半導体集積回路装置1のパワーオン起動時やパワーオフ停止時にテストを行なってもよい。この場合は、周期的にユーザープログラムを止めることなく、テストをできる。また、CPUコア6,7をASEメモリ3、トレースメモリ11、およびデバッグ回路10などの通常動作時には使用しないデバッグ機能を用いて検査するので、半導体集積回路装置1における回路構成を大幅に増加させることなく半導体集積回路装置1の高信頼性機能を実現することができる。さらに、本実施の形態1では、テスト用プログラムによるチェック結果が格納されるトレースメモリ11がSRAMからなる構成としたが、該トレースメモリ11は、フラッシュメモリに例示される不揮発性メモリにより構成するようにしてもよい。トレースメモリ11を不揮発性メモリとすることにより、チェック結果の履歴情報から、どの時点で測定結果が不一致となったかをバックトレースすることができる。このバックトレース情報を解析することにより、ユーザプログラムの再構築などが可能となる。図7は、CPUコア6におけるある状態たとえば、ALUの演算状態などの測定結果の履歴情報の一例を示した説明図である。図示するように、5回目に検査したALUの演算状態において処理が不正となっているので、たとえば、この不正となった演算状態の機能を使わないようにユーザプログラムを再構築することにより、半導体集積回路装置1の動作を正常に保つことができる。実施の形態2本実施の形態の概要は、以下である。ユーザプログラムが格納される第1のメモリ内蔵メモリ8,9と、ユーザプログラムに基づいて動作するCPUCPUコア6,7と、CPUが正常に動作しているか否かを一定の機会ごとに判定するための第1テストのプログラムが格納される第2のメモリASEメモリ3とを有する。上述の一定の機会とは異なるときに、第2のメモリは第2テストのプログラムの格納に用いられる。別の見方をすれば以下のようになる。ユーザプログラムが格納される第1のメモリ内蔵メモリ8,9と、ユーザプログラムに基づいて動作するCPUCPUコア6,7と、CPUが正常に動作しているか否かを判定するための第1テストのプログラムが格納される第2のメモリASEメモリ3とを有する。第1テストのプログラムが格納される前に、第2のメモリは第2テストのプログラムの格納に用いられ。図8は、本発明の実施の形態2による半導体集積回路装置の一例を示す説明図である。前記実施の形態1の半導体集積回路装置1では、トレースメモリ11にテスト用プログラムによるチェック結果が格納される構成としたが、本実施の形態2においては、トレースメモリ11にチェック結果を格納するのではなく、該チェック結果を新たに設けたメモリに格納する構成となっている。半導体集積回路装置1は、図8に示すように、周期タイマ2、ASEメモリ3、メモリインタフェース4、インタフェース5、CPUコア6,7、内蔵メモリ8,9、デバッグ回路10、トレースメモリ11、システム停止回路12、レジスタ13、およびチェック結果メモリ16から構成されている。前述したように、図1の半導体集積回路装置と異なる点は、チェック結果メモリ16が新たに設けたところ、ならびにトレースメモリ11がレジスタ13に接続されていないところである。チェック結果メモリ16は、CPUコア6,7にそれぞれ接続され、テスト用プログラム基づいてチェックしたCPUコア6,7の検査結果をそれぞれ格納する。また、チェック結果メモリ16は、レジスタ13に格納されたイネーブル信号が入力されるように接続されており、該イネーブル信号がアクティブとなると動作状態となる。チェック結果メモリ16は、トレースメモリ11と同様にSRAMなどの揮発性メモリからなり,メモリ容量は、たとえば、32Kバイト~42Kバイト程度である。テスト用プログラムによるCPUコア6,7の検査処理については、前記実施の形態1の図3と同様であり、異なるところは、テスト用プログラムに基づいてチェックした検査結果を図4のメモリ内容をトレースメモリ11に格納するのではなく、チェック結果メモリ16に格納する点のみである。また、デバッグ回路10によるコンペア処理についても前記実施の形態1の図4と同様であるので説明は、省略する。それにより、本実施の形態2においても、半導体集積回路装置1の信頼性を大幅に向上させることができる。また、通常動作時には使用しないデバッグ機能ここでは、ASEメモリ3を用いて検査するので、半導体集積回路装置1における回路構成を増加させることなく低コストで、半導体集積回路装置1の高信頼性機能を実現することができる。実施の形態3本実施の形態の概要は、以下である。ユーザプログラムが格納される第1のメモリ内蔵メモリ8,9と、ユーザプログラムに基づいて動作するCPUCPUコア6,7と、CPUが正常に動作しているか否かを一定の機会ごとに判定するための第1テストのプログラムが格納される第2のメモリASEメモリ3とを有する。また、第1テストのプログラムに基づいて、CPUが正常に動作しているか否かを判定するための第1テスト結果のデータを格納する第3のメモリトレースメモリ11を有する。上述の一定の機会とは異なるときに、第3のメモリは第2テスト結果のデータの格納に用いられる。別の見方をすれば以下のようになる。ユーザプログラムが格納される第1のメモリ内蔵メモリ8,9と、ユーザプログラムに基づいて動作するCPUCPUコア6,7と、CPUが正常に動作しているか否かを判定するための第1テストのプログラムが格納される第2のメモリASEメモリ3とを有する。また、第1テストのプログラムに基づいて、CPUが正常に動作しているか否かを判定するための第1テスト結果のデータを格納する第3のメモリトレースメモリ11を有する。第1テストのプログラムが格納される前に、第3のメモリは第2テスト結果のデータの格納に用いられる。図9は、本発明の実施の形態3による半導体集積回路装置の一例を示す説明図である。である。本実施の形態3において、半導体集積回路装置1は、図9に示すように、周期タイマ2、ASEメモリ3、メモリインタフェース4、インタフェース5、CPUコア6,7、内蔵メモリ8,9、デバッグ回路10、トレースメモリ11、システム停止回路12、およびレジスタ13からなる前記実施の形態の図1の構成に、テストメモリ17が新たに追加された構成となっている。前記実施の形態1では、ASEメモリ3にテスト用プログラムを格納する構成としたが、本実施の形態3においては、ASEメモリ3ではなく、新たに設けられたテストメモリ17にテスト用プログラムが格納される。テストメモリ17は、ASEメモリ3と同様に、たとえば、SRAMなどの揮発性メモリからなり、メモリ容量は、たとえば、8Kバイト程度である。また、テストメモリ17は、レジスタ13、およびメインバスBにそれぞれ接続されており、ASEメモリ3は、レジスタ13に接続されていない。また、テストメモリ17は、レジスタ13に格納されたイネーブル信号がアクティブとなると動作状態となる。テスト用プログラムによるCPUコア6,7の検査処理については、前記実施の形態1の図3と同様であり、異なるところは、CPUコア6,7がメインバスBを介してテストメモリ17に格納されたテスト用プログラムを読み出して実行するところである。さらに、デバッグ回路10によるコンペア処理についても前記実施の形態1の図4と同様であるので説明は省略する。それにより、本実施の形態3によっても、通常動作時には使用しないデバッグ機能ここでは、トレースメモリ11を用いて半導体集積回路装置1の高信頼性機能を実現することができるので、低コストで半導体集積回路装置1の信頼性を大幅に向上させることができる。以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。"