(57)【要約】【課題】複数のステータス信号の発生順序を容易に把握することを可能とする。【解決手段】状態保持回路は、互いに接続されたＭ段（Ｍは２以上の整数）の状態保持部を備える。Ｍ段の状態保持部の各々は、Ｎ種類（Ｎは２以上の整数）の入力端子からの入力信号にそれぞれ対応するＮ個のラッチを備える。状態保持回路は更に、ステータス信号がｉ番目のタイミングでＮ種類の入力端子のうちのｊ個目の入力端子に入力したとき、Ｍ段の状態保持部のうちの第ｉ番目の状態保持部が備えるＮ個のラッチのうちの第ｊ番目のラッチをセットするスイッチ回路を備える。【選択図】図３
2010191849.tif 000002
【特許請求の範囲】
【請求項１】
互いに接続されたＭ段（Ｍは２以上の整数）の状態保持部を具備し、
前記Ｍ段の状態保持部の各々は、
Ｎ種類（Ｎは２以上の整数）の入力端子からの入力信号にそれぞれ対応するＮ個のラッチを備え、
当該状態保持回路は更に、ステータス信号がｉ番目のタイミングで前記Ｎ種類の入力端子のうちのｊ個目の入力端子に入力したとき、前記Ｍ段の状態保持部のうちの第ｉ番目の状態保持部が備える前記Ｎ個のラッチのうちの第ｊ番目のラッチをセットするスイッチ回路を具備する
状態保持回路。
【請求項２】
請求項１に記載された状態保持回路であって、
前記スイッチ回路は、前記Ｍ段の状態保持部のうち第ｉ番目の状態保持部の前記Ｎ個のラッチのいずれかへのステータス信号の入力に応答して、前記第ｉ番目の状態保持部の前記Ｎ個のラッチをネゲートする信号を生成するネゲート機能を有する
状態保持回路。
【請求項３】
請求項２に記載された状態保持回路であって、
前記ネゲート機能は、前記Ｍ段の状態保持部のうち第ｉ番目の状態保持部の前記Ｎ個のラッチのそれぞれの出力端子に接続された入力端子と、第ｉ番目の状態保持部の前記Ｎ個のラッチの各々のゲート端子に接続された出力端子とを備える論理和回路によって実現される
状態保持回路。
【請求項４】
請求項１から３のいずれかに記載された状態保持回路であって、
前記スイッチ回路は、ステータス信号がｉ番目のタイミングで当該状態保持回路に入力したとき、それ以降、前記Ｍ段の状態保持部のうちｉ番目の状態保持部に入力したステータス信号をｉ＋１段目の状態保持部に転送する転送機能を有する
状態保持回路。
【請求項５】
請求項４に記載された状態保持回路であって、
前記転送機能は、前記Ｍ段の状態保持部のうちの第ｉ番目の状態保持部が備える前記Ｎ個のラッチの各々に対応して配置され、前記Ｎ個のラッチのうちの対応するラッチの出力端子に接続された第１入力端子と、前記Ｎ種類の入力端子のうちの対応する入力端子に接続された第２入力端子と、前記Ｍ段の状態保持部のうちの第ｉ＋１段目の状態保持部の前記Ｎ個のラッチのうちの対応するラッチの入力端子に接続された出力端子とを備える論理積回路によって実現される
状態保持回路。
【請求項６】
Ｍ段（Ｍは２以上の整数）の状態保持部を具備する状態保持回路を提供する工程と、
前記Ｍ段の状態保持部の各々は、
Ｎ種類（Ｎは２以上の整数）の入力端子からの入力信号にそれぞれ対応するＮ個のラッチを備え、
ステータス信号がｉ番目のタイミングで前記Ｎ種類の入力端子のうちのｊ個目の入力端子に入力したとき、前記Ｍ段の状態保持部のうちの第ｉ番目の状態保持部が備える前記Ｎ個のラッチのうちの第ｊ番目のラッチをセットする工程を具備する
状態保持方法。
【請求項７】
請求項６に記載された状態保持方法であって、
前記第ｊ番目のラッチをセットする工程は、前記Ｍ段の状態保持部のうち第ｉ番目の状態保持部の前記Ｎ個のラッチのいずれかへのステータス信号の入力に応答して、前記第ｉ番目の状態保持部の前記Ｎ個のラッチをネゲートする信号を生成する工程を具備する
状態保持方法。
【請求項８】
請求項７に記載された状態保持方法であって、
前記Ｎ個のラッチをネゲートする信号を生成する工程は、前記Ｍ段の状態保持部のうち第ｉ番目の状態保持部の前記Ｎ個のラッチのそれぞれの出力端子に接続された入力端子と、第ｉ番目の状態保持部の前記Ｎ個のラッチの各々のゲート端子に接続された出力端子とを備える論理和回路によって実現される
状態保持方法。
【請求項９】
請求項６から８のいずれかに記載された状態保持方法であって、
前記第ｊ番目のラッチをセットする工程は、ステータス信号がｉ番目のタイミングで当該状態保持回路に入力したとき、それ以降、前記Ｍ段の状態保持部のうちｉ番目の状態保持部に入力したステータス信号をｉ＋１段目の状態保持部に転送する工程を具備する
状態保持方法。
【請求項１０】
請求項９に記載された状態保持方法であって、
前記ステータス信号を転送する工程は、前記Ｍ段の状態保持部のうちの第ｉ番目の状態保持部が備える前記Ｎ個のラッチの各々に対応して配置され、前記Ｎ個のラッチのうちの対応するラッチの出力端子に接続された第１入力端子と、前記Ｎ種類の入力端子のうちの対応する入力端子に接続された第２入力端子と、前記Ｍ段の状態保持部のうちの第ｉ＋１段目の状態保持部の前記Ｎ個のラッチのうちの対応するラッチの入力端子に接続された出力端子とを備える論理積回路によって実現される
状態保持方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路の動作に関する情報を保持する技術に関する。
【背景技術】
【０００２】
周辺機能マクロが搭載された１チップマイコンやシステムＬＳＩにおいて、機能マクロの動作状態や異常状態（エラー）などの事象を示す情報を保持する技術が用いられている。このような情報を示すフラグは１箇所もしくはできるだけ少ないアドレスのレジスタに纏められる。事象が発生した場合に、これらのフラグは１にセットされる。
【０００３】
同一アドレス内で複数の異常状態（エラー）が発生した場合、異常状態の内容を把握し適切な解決手段を見出すために、フラグが１にセットされた順序を把握することが望まれる。
【０００４】
本願発明の参考技術として、特許文献１に記載のエラー検出回路を挙げる。図１は、このエラー検出回路の構成を示す。エラー検出回路は、エラー発生状態を保持するＳＲラッチと、エラー発生順序を生成するカウンタ（タイマ）と、エラー発生時にカウント値を取り込むレジスタ（ラッチ）で構成されている。
【０００５】
まずリセット信号により、エラーフリップフロップ１０１−ｉとカウンタ１０２とレジスタ１０３−ｉとが夫々「０」に初期設定される。エラー信号１１１−１が発生したとすると、レジスタ１０３−１は「０」を保持し、レジスタ１０３−２〜１０３−ｎはインクリメントされて値「１」がセットされる。次にエラー信号１１１−２が発生したとすると、レジスタ１０３−１には「０」が保持され、レジスタ１０３−２には「１」が保持され、レジスタ３−３〜３−ｎには２がセットされる。このような動作が繰り返されることにより、複数のエラーが発生した場合でもエラーの発生順を知ることができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開昭６３−７３４３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１には、エラー発生順序を読み出す方法の詳細については記載されていない。本願発明の発明者の考えでは、図２に記載した方法例により、この特許文献１に記載の技術に基づいてエラー発生順序を読み出すことが出来る。図２は、１番目に発生したエラーと２番目に発生したエラーを検索する方法の例を示す。エラー発生順序を認識するための処理が開始されると、レジスタ１０３−１、１０３−２・・・１０３−ｎの値が順次読み出される（ステップＳ１０１−１、Ｓ１０１−２・・・Ｓ１０１−ｎ）。その後、読み出された値に基づいて、最初に発生したエラーと２番目に発生したエラーが検索される（ステップＳ１０２−１、Ｓ１０２−２）。その後、検索されたエラーの情報に基づいて、回路の動作が正常であるか否かが判定される（ステップＳ１０３）。動作が正常であると判定されると、通常の復帰処理が行われる（ステップＳ１０４）。動作が異常であると判定されると、異常に対処するための動作処理が行われ（ステップＳ１０５）、システムが停止される。
【０００８】
特許文献１に記載された回路においては、ＣＰＵがエラー発生順序を完全に把握するためにはレジスタを全部読み出す必要がある。これは、複数のエラーが同時に発生した場合に同じ値を保持するレジスタが複数存在するためである。そのためエラーの数が多くなるとシステム異常有無の判断と復旧作業にかかる時間が延びるという問題がある。例えば全エラー数がｎのときに、最初のエラーや２番目のエラーをＣＰＵが見つけるには、図２のフローチャートに示したようにｎ回の読み出し命令が必要となる。従って、周辺マクロのクロック周波数に比べてＣＰＵクロック周波数が相対的に低い場合、この問題が顕著化する場合がある。
【課題を解決するための手段】
【０００９】
以下に、［発明を実施するための形態］で使用される番号を括弧付きで用いて、課題を解決するための手段を説明する。これらの番号は、［特許請求の範囲］の記載と［発明を実施するための形態］との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１０】
本発明の一側面における状態保持回路（１）は、互いに接続されたＭ段（Ｍは２以上の整数）の状態保持部（Ｒ１〜ＲＭ）を備える。Ｍ段の状態保持部の各々は、Ｎ種類（Ｎは２以上の整数）の入力端子（Ｉ１〜ＩＮ）からの入力信号にそれぞれ対応するＮ個のラッチ（ＤＬＲ１１〜ＤＬＲＭＮ）を備える。状態保持回路は更に、ステータス信号がｉ番目のタイミングでＮ種類の入力端子のうちのｊ個目の入力端子に入力したとき、Ｍ段の状態保持部のうちの第ｉ番目の状態保持部が備えるＮ個のラッチのうちの第ｊ番目のラッチをセットするスイッチ回路（Ａ１１〜Ａ１Ｎ、ＯＲ１）を備える。
【００１１】
本発明の一側面における状態保持方法は、互いに接続されたＭ段（Ｍは２以上の整数）の状態保持部（Ｒ１〜ＲＭ）を備える状態保持回路（１）を提供する工程を備える。Ｍ段の状態保持部の各々は、Ｎ種類（Ｎは２以上の整数）の入力端子からの入力信号にそれぞれ対応するＮ個のラッチ（ＤＬＲ１１〜ＤＬＲＭＮ）を備える。状態保持方法は更に、ステータス信号がｉ番目のタイミングでＮ種類の入力端子のうちのｊ個目の入力端子に入力したとき、Ｍ段の状態保持部のうちの第ｉ番目の状態保持部が備えるＮ個のラッチのうちの第ｊ番目のラッチをセットする工程を備える。
【発明の効果】
【００１２】
本発明によれば、ｉ番目のタイミングで発生した第ｊ種類のステータス信号の情報がｉ番目の状態保持部のｊ番目のラッチに格納されるため、ステータス信号の種類と発生のタイミングを簡単に知ることができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、参考技術におけるエラー検出回路の構成を示す。
【図２】図２は、参考技術におけるエラー発生順序の読み出し方法を示す。
【図３】図３は、状態保持回路の構成を示す。
【図４】図４は、状態保持回路の動作について説明するための図である。
【図５】図５は、状態保持回路の動作について説明するための図である。
【図６】図６は、状態保持回路の動作について説明するための図である。
【図７】図７は、エラー情報を読み出す動作を示すフローチャートである。
【図８】図８は、参考技術と本実施形態における情報の読み出し手順を比較した図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の一実施形態について説明する。図３は本実施形態における状態保持回路の構成を示す。この回路は、各々がＮ個のラッチ回路を備えるＭ段のレジスタによって、機器の状態を示すＮ種類のステータス信号を発生の順に１番目からＭ番目（Ｎ≧Ｍ）まで保持する。本実施形態では、ステータス信号はエラーの種類を示すエラー信号であるとして説明する。この回路は、エラー発生時に全エラー内容を保持する論理ゲートを有することにより、固定されたアドレスのレジスタを順次読み出すことによるエラー発生順序の把握を可能とする。
【００１５】
状態保持回路は、Ｎビット構成のレジスタ（状態保持部）Ｒ１〜ＲＭをＭ段（Ｍは２以上の整数）有する。レジスタＲ１〜ＲＭの各々は個別に割り当てられたアドレスによって特定される。Ｍ段のレジスタは縦列に接続される。状態保持部Ｒ１〜ＲＭの各々は同様の回路構成を有する。１段目の状態保持部Ｒ１について説明する。状態保持部Ｒ１は並列に配列されたＮ個のラッチＤＬＲ１１〜ＤＬＲ１Ｎを備える。ラッチＤＬＲ１１〜ＤＬＲ１Ｎの各々は、リセット端子付きのＤラッチ（Ｄ−ｌａｔｃｈ  ｗｉｔｈ  Ｒｅｓｅｔ）である。Ｎ個のラッチＤＬＲ１１〜ＤＬＲ１Ｎは、Ｎ種類のエラー信号（またはステータス信号）を伝達する配線Ｉ１〜ＩＮにそれぞれ接続される。
【００１６】
Ｎ個のラッチＤＬＲ１１〜ＤＬＲ１Ｎの各々には、同じ構成の配線が接続される。１個目のラッチＤＬＲ１１について詳細に説明する。ラッチＤＬＲ１１のリセット端子はリセット信号線Ｒｅｓｅｔに接続される。ラッチＤＬＲ１１のデータ入力端子Ｄは、配線Ｉ１に接続される。ラッチＤＬＲ１１のゲート端子ＧＴは、後述する論理和回路ＯＲ１の出力端子と接続される。
【００１７】
同一のレジスタＲ１に属するＮ個のラッチＤＬＲ１１〜ＤＬＲ１Ｎにそれぞれ対応して、Ｎ個の論理積回路Ａ１１〜Ａ１Ｎが配置される。ラッチＤＬＲ１１の出力端子Ｑは、そのラッチＤＬＲ１１に対応する論理積回路Ａ１１の第１入力端子に接続される。第１入力端子の論理は反転される。論理積回路Ａ１１の第２入力端子は、Ｎ種類の配線Ｉ１〜ＩＮのうちの対応する配線Ｉ１に接続される。論理積回路Ａ１１の第３入力端子は、論理和回路ＯＲ１の出力端子に接続される。論理積回路Ａ１１の出力端子は、次段のレジスタＲ２が備えるＮ個のラッチＤＬＲ２１〜２Ｎのうちの、当該論理積回路Ａ１１に対応するラッチＤＬＲ２１のデータ入力端子Ｄに接続される。
【００１８】
同じレジスタＲ１に属するＮ個のラッチＤＬＲ１１〜１Ｎの各々の出力端子は、同一の論理和回路ＯＲ１の入力端子に接続される。即ち論理和回路ＯＲ１はＮビットの論理和素子である。論理和回路ＯＲ１の出力端子は、同じ段のレジスタＲ１に属するＮ個の論理積回路Ａ１１〜Ａ１Ｎの各々の第３入力端子に接続される。論理和回路ＯＲ１の出力端子は更に、論理反転されて、同じ段のレジスタＲ１に属するＮ個のラッチＤＬＲ１１〜１Ｎの各々のゲート入力端子ＧＴに接続される。Ｍ段のレジスタＲ１〜ＲＭの各々が備えるＮ個の論理積回路と１個の論理和回路とは、配線Ｉ１〜ＩＮから入力するエラー信号の種類を、その入力のタイミングと共に保持するためのスイッチ回路として機能する。
【００１９】
２段目からＭ段目までのレジスタＲ２〜ＲＭは、上記の１段目のレジスタＲ１と同様の構成を有する。違いは、以下の点である。２段目からＭ段目までのレジスタＲ２〜ＲＭでは、ラッチＤＬＲ２１〜ＤＬＲＭＮのデータ入力端子Ｄ及び論理積回路Ａ２１〜ＡＭＮの第２入力端子は、配線Ｉ１〜ＩＮに代えて、前段の対応する論理積回路Ａ１１〜ＡＭ−１Ｎの出力端子に接続される。Ｍ段目のレジスタＲＭのラッチＤＬＲＭ１〜ＤＬＲＭＮの各々の出力端子は、状態保持回路１の出力配線ＯＵＴ１〜ＯＵＴＮに接続される。
【００２０】
次に、図４、図５、図６に示されたＭ＝２、Ｎ＝５の場合を例に、本実施形態における状態保持回路１の動作について説明する。この例では、５種類のエラーについて、２番目に発生したエラー信号まで、その発生のタイミングと共に保持することができる。
【００２１】
図４は第１のタイミングで第２種類のエラーが発生した場合、すなわち２番目の配線Ｉ２にエラー信号が入力した場合を示す。初期設定ではリセット信号が入力端子Ｒに入力することにより、すべてのラッチＤＬＲ１１〜ＤＬＲ２５の内部のフラグの値が「０」に設定される。更に、すべてのラッチＤＬＲ１１〜ＤＬＲ２５のゲート端子ＧＴは「１」、すなわちゲートが開かれた状態に設定される。
【００２２】
第１のタイミングで配線Ｉ２に、エラーが発生したことを示す値１（例えば電位がハイ）のエラー信号が入力する。エラー信号は第１段のレジスタＲ１の第２のラッチＤＬＲ１２の入力端子Ｄに入力する。ラッチＤＬＲ１２のフラグのみ「１」に設定される。ラッチＤＬＲ１２の出力端子から値「１」の出力信号が出力される。
【００２３】
論理和回路ＯＲ１は、当該レジスタＲ１が備えるＮ個のラッチＤＬＲ１１〜ＤＬＲ１５をネゲートするネゲート機能を実現する。具体的には、ラッチＤＬＲ１２の出力信号が論理和回路ＯＲ１の入力端子に入力する。その結果、論理和回路ＯＲ１の出力端子に値「１」の出力信号が出力される。この出力信号が反転された値「０」が第１段のレジスタＲ１のラッチＤＬＲ１１〜ＤＬＲ１５の各々のゲート入力端子ＧＴに入力する。その結果ゲートが閉じられ、第２のタイミング以降に入力するエラー信号に対して、第１段のレジスタＲ１の状態が不変に保持される。この処理によって、第１段のレジスタＲ１には第１のタイミングで発生したエラー信号のみが記録される。
【００２４】
以上の処理によって、エラー信号をＭ段のレジスタＲ１〜ＲＭのうち入力のタイミングに応じた段に転送する転送機能が実現されている。すなわち、第１のタイミングでのエラー信号の入力に応答して、第１段のレジスタＲ１の論理和回路ＯＲ１の出力信号の値が「０」から「１」に変化する。その結果、第１段のレジスタＲ１が備える論理積回路Ａ１１〜Ａ１５の第３入力端子の入力信号の値が「０」から「１」に変化する。この切替により、第１のタイミング以前で入力したエラー信号は第２段以降には伝達されず、第１のタイミング以降に入力したエラー信号は第２段に伝達される。一般に、エラー信号がｉ番目のタイミングで状態保持回路１に入力したとき、そのタイミング以降、ｉ番目のレジスタＲｉは、エラー信号をｉ＋１段目のレジスタＲｉ＋１に転送する。その結果、エラー信号がｉ番目のタイミングでＮ種類の入力端子のうちのｊ個目の入力端子、すなわち配線Ｉｊに入力したとき、ｉ番目のレジスタＲｉが備えるｊ番目のラッチＤＬＲｉｊがセットされる。
【００２５】
図５は、図４の状況に次いで第２のタイミングで第１の配線Ｉ１に値「１」のエラー信号が発生したときの状態保持回路１の動作を示す。エラー信号が第１段のレジスタＲ１の第１のラッチＤＬＲ１１の入力端子Ｄに入力する。ラッチＤＬＲ１１のゲート端子ＧＴは「０」、すなわちオフに設定されているため、ラッチＤＬＲ１１のフラグの値「０」は変化しない。エラー信号は更に、第１段のレジスタＲ１の中の第１の配線Ｉ１に対応する論理積回路Ａ１１の第２入力端子に入力する。この際、論理積回路Ａ１１の第１入力端子には、ラッチＤＬＲ１１の出力端子Ｑからの出力信号の値「０」を反転した値「１」が入力している。更に、論理積回路Ａ１１の第３入力端子には、既述のように論理和素子ＯＲ１の出力端子から出力した値「１」の信号が入力している。そのため、論理和回路Ａ１１は第２入力端子に入力した値「１」のエラー信号を第２段のレジスタＲ２の対応するラッチＤＬＲ２１に受け渡す。
【００２６】
第２段のレジスタＲ２のラッチＤＬＲ２１のデータ入力端子Ｄに値「１」のエラー信号が入力する。ラッチＤＬＲ２１のフラグは値「１」に設定される。ラッチＤＬＲ２１の出力端子Ｑから値「１」の出力信号が出力される。この出力信号は論理和素子ＯＲ２の入力端子に入力する。論理和素子ＯＲ２の出力端子は値「１」の出力信号を出力する。この出力信号は論理が反転されて、第２段のレジスタＲ２のすべてのラッチＤＬＲ２１〜ＤＬＲ２５のゲート入力端子ＧＴに入力する。その結果、第２のタイミング以降にエラー信号が入力したとき、第２段のレジスタＲ２のデータは不変に保持される。
【００２７】
図６は、図４の状況に次いで第２のタイミングで第１の配線Ｉ１と第５の配線Ｉ５に値「１」のエラー信号が発生したときの状態保持回路１の動作を示す。図５の例に比べて第５の配線Ｉ５に値「１」のエラー信号が発生している点が異なっている。この場合、第１段のレジスタＲ１の第５の論理積回路Ａ１５の第２入力端子に値「１」の信号が入力する。この入力は第１のタイミング以降であるため、論理積回路Ａ１５は値「１」の入力信号を第２段のレジスタＲ２の対応するラッチＤＬＲ２５に受け渡す。ラッチＤＬＲ２５のフラグが「１」に設定される。ラッチＤＬＲ２５の出力端子Ｑが値「１」の出力信号を出力する。この出力信号が論理和回路ＯＲ２に入力する。論理和回路ＯＲ２は値「１」の出力信号を出力する。この出力信号の論理が反転されて第２段のレジスタＲ２の全てのラッチＤＬＲ２１〜ＤＬＲ２５のゲート入力端子ＧＴに入力する。その結果、第２のタイミング以降、第２段のレジスタＲ２のフラグの値が保持される。このようにして、２個以上同一のタイミングで発生したエラーに関するデータは、同一のアドレスのレジスタに書き込まれる。
【００２８】
図７は、図４〜図６に示した状態保持回路１に保持されたエラー情報を読み出す動作を示すフローチャートである。ＣＰＵはこのフローチャートに示された手順を規定するプログラムに基づいて動作することにより、エラー信号に応答した異常処理を行う。まずＣＰＵは、レジスタＲ１（Ｅｒｒｏｒ  ｓｔａｔｕｓ  ｒｅｇ．１）を特定するアドレスを指定し、レジスタＲ１が保持しているデータを読み出す（ステップＳ１）。このデータは、第１のタイミングで発生したエラーの種類を示す。図６の例では、第１のタイミングで第２種のエラーが発生したことが読み取られる。次いでＣＰＵは、レジスタＲ２（Ｅｒｒｏｒ  ｓｔａｔｕｓ  ｒｅｇ．２）を特定するアドレスを指定し、レジスタＲ２が保持しているデータを読み出す（ステップＳ２）。このデータは、第２のタイミングで発生したエラーの種類を示す。図６の例では、第２のタイミングで第１種と第５種のエラーが発生したことが読み取られる。次いでＣＰＵはエラーが正常か異常かの判定を行う（ステップＳ３）。エラーの発生順序が正常であると判定されると（ステップＳ３ＹＥＳ）、ＣＰＵは通常のシステム復帰処理を行う（ステップＳ４）。エラーの発生順序が想定された正常な順序でなかった場合（ステップＳ３ＮＯ）、ＣＰＵはアラーム表示等の異常動作時の処理を行い（ステップＳ５）、システムを停止する。
【００２９】
本実施形態ではエラーが発生する（フラグが立つ）毎に全てのエラーフラグの状態が順次レジスタに格納される。そのため参考技術と比べて発生順序を確認するためのＣＰＵの読み出し回数が少なく済む。参考技術として挙げた図２の処理では、エラー発生順序は、最後のレジスタ１０３−ｎまで読み出さないと判断することができない。一方、本実施形態では、２回の読み出し動作により、エラーの発生順序を把握することができる。この結果、システム異常有無の判断と復旧作業を迅速に行うことができる。
【００３０】
本実施形態においては、複数の状態信号やエラー信号などの事象について、ＣＰＵもしくは外部から特定のレジスタを読み出すことで、発生した事象とそのタイミングとを把握することができる。サンプルする状態信号やエラー信号の種類数Ｎと発生順序Ｍとの間にはＮ≧Ｍ以外に制約は無いので、１チップマイコン・ＳｏＣのシステムの構成やＣＰＵのビット幅、解析深度に応じて自由にＭ、Ｎを設定することができる。
【００３１】
図８は、参考技術と本実施形態における情報の読み出し手順を比較した図である。参考技術では、レジスタ１０３−１〜１０３−ｎが順次読み出された後、１番目に発生したエラー、２番目に発生したエラーが順次、認識される。その後エラー判定が行われ、通常復帰処理が行われる。エラー発生から通常復帰するまでの時間がＴ１で示されている。エラー発生順序を把握するために、全レジスタの読み出しとエラー発生順の検索を行うための時間が必要とされる。この時間は、周辺マクロにおけるエラーからの復帰を短時間化する上で大きな障害となり得る。エラー数が増えるとこの問題はより顕著になる。またＣＰＵクロック周波数ｆｃｐｕが周辺マクロクロック周波数ｆｍａｃｒｏより相対的に低くなる場合も、復帰時間Ｔ１が延びるため問題がより顕著になる。
【００３２】
一方、本実施形態では、第１段のレジスタＲ１が読み出され、第２段のレジスタＲ２が読み出される。次いでエラー判定がなされ、通常復帰処理が行われる。エラー発生から通常復帰するまでの時間がＴ２で示されている。本実施形態では、サンプルするエラーの数（Ｎ）が多くなっても、ＮがＣＰＵのビット幅までなら、ＣＰＵの読み出し動作の回数はエラー発生順の数（Ｍ）だけで済む。そのためＣＰＵのクロック周波数ｆｃｐｕが周辺マクロのクロック周波数ｆｍａｃｒｏより低い場合には、本実施形態の方がシステム異常有無の判断と復旧作業時間を短時間で行うことができる。
【符号の説明】
【００３３】
Ａ１１〜Ａ１Ｎ  論理積回路
ＤＬＲ１１〜ＭＮ  ラッチ
Ｉ１〜ＩＮ  配線
ＯＲ１〜ＯＲＭ  論理和回路
ＯＵＴ１〜ＯＵＴＮ  出力配線
Ｒ１〜ＲＭ  レジスタ
【図１】
2010191849.tif 000003
【図２】
2010191849.tif 000004
【図３】
2010191849.tif 000005
【図４】
2010191849.tif 000006
【図５】
2010191849.tif 000007
【図６】
2010191849.tif 000008
【図７】
2010191849.tif 000009
【図８】
2010191849.tif 000010