(57)【要約】【課題】  従来のタイミング制御回路では、タイミング制御回路内部に故障が発生した場合、故障ビット位置を特定することができなかった。【解決手段】  タイミング制御回路は、所定時間を計時し、当該所定時間を計時した場合に第１の計時信号を出力する第１のタイマと、前記所定時間を計時し、当該所定時間を計時した場合に第２の計時信号を出力する第２のタイマと、前記第２の計時信号が出力されたときの前記第１のタイマの計時値を保持する第１のキャプチャと、前記第１の計時信号が出力されたときの前記第２のタイマの計時値を保持する第２のキャプチャと、前記第１及び第２の計時信号に基づいて、プロセッサ部へ所定のタイミング信号を出力するタイミング信号出力回路とを有する。【選択図】  図２
2008021229.tif 000002
【特許請求の範囲】
【請求項１】
所定時間を計時し、当該所定時間を計時した場合に第１の計時信号を出力する第１のタイマと、
前記所定時間を計時し、当該所定時間を計時した場合に第２の計時信号を出力する第２のタイマと、
前記第２の計時信号が出力されたときの前記第１のタイマの計時値を保持する第１のキャプチャと、
前記第１の計時信号が出力されたときの前記第２のタイマの計時値を保持する第２のキャプチャと、
前記第１及び第２の計時信号に基づいて、プロセッサ部へ所定のタイミング信号を出力するタイミング信号出力回路とを有するタイミング制御回路。
【請求項２】
前記第１のタイマは、
クロック信号に基づいて計時値を出力する第１のカウンタと、
前記所定時間を保持する第１のレジスタと、
前記第１のカウンタの計時値と前記第１のレジスタに保持された前記所定時間とを比較する比較器とを有し、
前記第２のタイマは、
前記クロック信号に基づいて前記計時値を出力する第２のカウンタと、
前記所定時間を保持する第２のレジスタと、
前記第２のカウンタの前記計時値と前記第２のレジスタに保持された前期所定時間とを比較する比較器とを有することを特徴とする請求項１に記載のタイミング制御回路。
【請求項３】
所定時間を計時し、当該所定時間を計時した場合に第１の計時信号を出力する第１のタイマと、
前記所定時間を計時し、当該所定時間を計時した場合に第２の計時信号を出力する第２のタイマと、
前記第２の計時信号が出力されたときの前記第１のタイマの計時値を保持する第１のキャプチャと、
前記第１の計時信号が出力されたときの前記第２のタイマの計時値を保持する第２のキャプチャと、
前記第１及び第２の計時信号に基づいて、プロセッサ部へ所定のタイミング信号を出力するタイミング信号出力回路とを有するタイミング制御回路と、
前記タイミング信号に基づいて動作するプロセッサ部とを有する半導体装置。
【請求項４】
前記タイミング制御回路は、
クロック信号に基づいて計時値を出力する第１のカウンタと、
前記所定時間を保持する第１のレジスタと、
前記第１のカウンタの計時値と前記第１のレジスタに保持された前記所定時間とを比較する比較器と、
前記クロック信号に基づいて前記計時値を出力する第２のカウンタと、
前記所定時間を保持する第２のレジスタと、
前記第２のカウンタの前記計時値と前記第２のレジスタに保持された前期所定時間とを比較する比較器とを有することを特徴とする請求項３に記載の半導体装置。
【請求項５】
前記半導体装置は、前記第１のキャプチャに保持された前記第１のカウンタの計時値、あるいは前記第２のキャプチャに保持された前記第２のカウンタの計時値と前記所定時間に対応する期待値を比較する比較部を有することを特徴とする請求項３あるいは４に記載の半導体装置。
【請求項６】
前記半導体装置は、前記第１のレジスタあるいは前記第２のレジスタに保持された前記所定時間と、前記所定時間に対応する期待値を比較する比較部を有することを特徴とする請求項３乃至５に記載の半導体装置。
【請求項７】
第１のタイマによって、所定時間を計時し、前記第１のタイマが当該所定時間を計時した場合に第１の計時信号を出力し、
第２のタイマによって、前記所定時間を計時し、前記第２のタイマが当該所定時間を計時した場合に第２の計時信号を出力し、
前記第２の計時信号が出力されたときの前記第１のタイマの計時値を保持し、
前記第１の計時信号が出力されたときの前記第２のタイマの計時値を保持し、
前記保持された第１のタイマの計時値、第２のタイマの計時値と前記所定時間を比較し、前記第１のタイマあるいは前記第２のタイマの異常を検出するタイマの異常検出方法。
【請求項８】
前記第１の計時信号あるいは前記第２の計時信号のいずれか一方のみの計時信号が出力された場合、前記第１のタイマあるいは前記第２のタイマの異常を検出することを特徴とする請求項７に記載のタイマの異常検出方法。
【請求項９】
前記第２の計時信号が出力されたときの第１のカウンタの計時値と前記所定時間に対応する期待値を比較することにより前記第１のカウンタの異常を検出し、
前記第１の計時信号が出力されたときの前記第２のカウンタの計時値と前記所定時間に対応する期待値を比較することにより前記第２のカウンタの異常を検出することを特徴とする請求項７あるいは８に記載のタイマの異常検出方法。
【請求項１０】
前記第１のカウンタの計時値と前記期待値の同位ビットを比較することにより前記第１のカウンタ内部の異常が発生しているビットの位置を検出し、
前記第２のカウンタの計時値と前記期待値の同位ビットを比較することにより前記第２のカウンタ内部の異常が発生しているビットの位置を検出することを特徴とする請求項７乃至９に記載のタイマの異常検出方法。
【請求項１１】
第１のレジスタに保持された前記所定時間と前記所定時間に対応する期待値を比較することにより前記第１のレジスタの異常を検出し、
第２のレジスタに保持された前記所定時間と前記所定時間に対応する期待値を比較することにより前記第２のレジスタの異常を検出することを特徴とする請求項７乃至１０に記載のタイマの異常検出方法。
【請求項１２】
前記第１のレジスタに保持された前記所定時間と前期期待値の同位ビットを比較することにより前記第１のレジスタ内部の異常が発生しているビットの位置を検出し、
前記第２のレジスタに保持された前記所定時間と前期期待値の同位ビットを比較することにより前記第２のレジスタ内部の異常が発生しているビットの位置を検出することを特徴とする請求項７乃至１１に記載のタイマの異常検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タイミング制御回路に関し、特にタイミング制御回路内部の故障ビット位置を特定できるタイミング制御回路に関する。
【背景技術】
【０００２】
従来から、割り込み信号等のタイミング信号を出力するタイミング制御回路が用いられている。例えば、タイミング制御回路が割り込み信号を出力した場合、割り込み信号を入力したプロセッサ部は割り込み処理を実行する。しかしながら、タイミング制御回路内部に不具合が生じ、その結果正常なタイミング信号が出力されない場合がある。タイミング制御回路に故障が発生した場合の処理が特許文献１、２に開示されている。
【０００３】
図５は、特許文献１に記載のタイミング制御回路を示す図である。特許文献１に記載の技術では、タイマ制御回路内に第１のタイマ及び第２のタイマを有している。第１のタイマ及び第２のタイマはクロック信号に同期して計数動作を行う。そして、互いのカウント周期の計数値を比較する裁定手段１２を設けることによって第１のタイマ及び第２のタイマの故障を検出している。また、特許文献２に記載の技術ではソフトウェアによって周期的に故障の検出を行っている。
【０００４】
しかしながら、特許文献１に記載の技術では第１のタイマ及び第２のタイマの故障を検出することはできたが、第１のタイマあるいは第２のタイマのどちらに故障が発生しているのか確認することができず、さらにタイマの故障ビット位置を特定することはできなかった。
【特許文献１】特開平２−２９７２２６号公報
【特許文献２】特開平９−１４６７９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記したように、従来のタイミング制御回路内部に故障が発生した場合、故障ビット位置を特定することができなかった。
【課題を解決するための手段】
【０００６】
本発明の１態様によるタイミング制御回路は、所定時間を計時し、当該所定時間を計時した場合に第１の計時信号を出力する第１のタイマと、前記所定時間を計時し、当該所定時間を計時した場合に第２の計時信号を出力する第２のタイマと、前記第２の計時信号が出力されたときの前記第１のタイマの計時値を保持する第１のキャプチャと、
前記第１の計時信号が出力されたときの前記第２のタイマの計時値を保持する第２のキャプチャと、前記第１及び第２の計時信号に基づいて、プロセッサ部へ所定のタイミング信号を出力するタイミング信号出力回路とを有する。
【０００７】
本発明の１態様による半導体装置は、所定時間を計時し、当該所定時間を計時した場合に第１の計時信号を出力する第１のタイマと、前記所定時間を計時し、当該所定時間を計時した場合に第２の計時信号を出力する第２のタイマと、前記第２の計時信号が出力されたときの前記第１のタイマの計時値を保持する第１のキャプチャと、前記第１の計時信号が出力されたときの前記第２のタイマの計時値を保持する第２のキャプチャと、前記第１及び第２の計時信号に基づいて、プロセッサ部へ所定のタイミング信号を出力するタイミング信号出力回路とを有するタイミング制御回路と、前記タイミング信号に基づいて動作するプロセッサ部とを有する。
【０００８】
また、本発明の１態様によるタイマの異常検出方法は、第１のタイマによって、所定時間を計時し、前記第１のタイマが当該所定時間を計時した場合に第１の計時信号を出力し、第２のタイマによって、所定時間を計時し、前記第２のタイマが当該所定時間を計時した場合に第２の計時信号を出力し、前記第２の計時信号が出力されたときの前記第１のタイマの計時値を保持し、前記第１の計時信号が出力されたときの前記第２のタイマの計時値を保持し、前記保持された第１のタイマの計時値、第２のタイマの計時値と前記所定時間を比較し、前記第１のタイマあるいは前記第２のタイマの異常を検出する。
【発明の効果】
【０００９】
タイミング制御回路内部におけるタイマの不良位置を特定することが可能となる。
【００１０】
実施の形態１
以下、図面を参照して本発明の実施の形態について説明する。図１は、本発明の実施の形態１のタイミング制御回路１０を有する。本実施の形態の割り込み処理システムは、主に、タイミング制御回路１０、マイクロプロセッサ部２０、メインメモリ３０、バス４０によって構成されている。
【００１１】
タイミング制御回路１０は、マイクロプロセッサ部２０及び外部へ、例えば割り込み制御信号等のタイミング制御信号を出力する。なお、タイミング制御回路１０の詳細な構成については後述する。
【００１２】
マイクロプロセッサ部２０は、データ演算やプログラムを実行する演算処理装置である。また、本実施の形態ではタイミング制御回路１０内部のタイマに故障が発生した場合、メモリに格納されている故障検出プログラムによって故障ビット位置を特定する。メインメモリ３０は、通常動作に必要なデータやプログラムの一部あるいは割り込み処理時に必要なデータやプログラムの一部を格納する記憶素子である。バス４０は、クロック信号等の制御信号の入出力や、アドレスやデータの入出力を行うための経路である。
【００１３】
以下、図２を参照して本実施の形態１に関わるタイミング制御回路１０について説明する。タイミング制御回路は、第１のタイマ（以降、タイマ７と称す）、第２のタイマ（以降、タイマ８と称す）、第１のキャプチャ（以降、キャプチャレジスタ４ａと称す）、第２のキャプチャ（以降、キャプチャレジスタ４ｂと称す）、タイミング信号出力回路１１を有している。さらに、タイマ７はタイムベース１ａ、比較器２ａ、コンペアレジスタ３ａを有している。また、タイマ８はタイムベース１ｂ、比較器２ｂ、コンペアレジスタ３ｂを有している。タイミング信号出力回路１１は、コンペア出力制御部５、割り込み出力制御部６を有している。
【００１４】
タイムベース１ａ及び１ｂは、カウントアップ（クロック）信号に基づいて、例えば割り込み信号の周期をカウントするカウンタである。なお、タイムベース１ａ及び１ｂは同一の値をカウントする。また、カウントをする場合に設定するビット長はソフトウェアによる設定によって適宜変更が可能である。なお、不良ビット位置を特定する場合においては、タイムベース１ａ及び１ｂをクリアすると共に、再起動させるためのクリア・スタート信号が入力される。コンペアレジスタ３ａ及び３ｂには、所定のカウント値を設定する。また、コンペアレジスタ３ａ及び３ｂには同一のカウント値が設定される。
【００１５】
比較器２ａは、タイムベース１ａの値とコンペアレジスタ３ａに設定されたカウント値を比較してカウント値が同時に一致した場合にのみ、コンペア出力制御部５、割り込み出力制御部６及びキャプチャレジスタ４ｂに計時信号１を出力する。
【００１６】
比較器２ｂは、タイムベース１ｂの値とコンペアレジスタ３ｂに設定されたカウント値を比較してカウント値が同時に一致した場合にのみコンペア出力制御部５、割り込み出力制御部６及びキャプチャレジスタ４ａに計時信号ｄｓｔ２を出力する。
【００１７】
キャプチャレジスタ４ａは、タイムベース１ｂとコンペアレジスタ３ｂのコンペア一致により比較器２ｂから出力される計時信号２をトリガとして、タイムベース１ａの値を保持する。キャプチャレジスタ４ｂは、タイムベース１ａとコンペアレジスタ３ａのコンペア一致により比較器２ａから出力される計時信号ｄｓｔ１をトリガとして、タイムベース１ｂの値を保持する。
【００１８】
コンペア出力制御部５は、以下のような許可信号１の設定に基づいて動作を行う。まず第１に、計時信号ｄｓｔ１及び計時信号ｄｓｔ２の２つの信号が同時に入力された場合、コンペア出力制御部５はコンペア一致タイマ出力信号を出力する。第２に、計時信号ｄｓｔ１あるいは計時信号ｄｓｔ２のどちらか一方の信号のみ入力された場合には、コンペア出力制御部５はそのどちらか一方の信号のみを選択してコンペア一致タイマ信号として出力する。その場合、コンペア出力制御部には計時信号ｄｓｔ１あるいは計時信号ｄｓｔ２が出力されたことを示すためのフラグがセットされる。第３に、例えばタイマ７あるいはタイマ８の内部に故障が発生した場合、故障位置が特定されるまでの間はコンペア一致信号を無効にすることも可能である。
【００１９】
割り込み出力制御部６は、以下のような許可信号２の設定に基づいて動作を行う。まず第１に、計時信号ｄｓｔ１及び計時信号ｄｓｔ２の２つの信号が同時に入力された場合、割り込み出力制御部６はコンペア一致割り込み信号を出力する。第２に、計時信号ｄｓｔ１あるいは計時信号ｄｓｔ２のどちらか一方の信号のみ入力された場合には、割り込み出力制御部６はそのどちらか一方の信号のみを選択してコンペア一致割り込み信号として出力する。第３に、例えばタイマ７あるいはタイマ８の内部に故障が発生した場合、故障位置が特定されるまでの間はコンペア一致割り込み信号を無効にすることも可能である。また、どちらか一方の信号のみしか入力がされない場合には、割り込み出力制御部６はＣＰＵに対し不正割り込み信号を出力する。
【００２０】
また、本実施の形態においてコンペア出力制御部５が出力するコンペア一致タイマ出力信号及び割り込み出力制御部６が出力するコンペア一致割り込み信号は出力先が異なるのみで同一の割り込み信号である。つまり、コンペア出力制御部５はコンペア一致タイマ出力信号を外部へ出力する。一方、割り込み出力制御部６はコンペア一致割り込み信号をプロセッサ部（ＣＰＵ）へ出力する。
【００２１】
通常時であってタイミング制御回路１０内部に異常が発生しない場合は、比較器２ａ及び比較器２ｂから計時信号ｄｓｔ１及び計時信号ｄｓｔ２が同時に出力される。なお、この場合、許可信号１及び許可信号２は論理積を出力するＡＮＤ設定とする。コンコンペア出力制御部５には計時信号ｄｓｔ１及び計時信号ｄｓｔ２が同時に入力されるので、コンペア一致タイマ出力信号を外部へと出力する。また、割り込み出力制御部６においても計時信号ｄｓｔ１及び計時信号ｄｓｔ２が同時に入力されるので、コンペア一致割り込み信号をプロセッサ部２０へと出力する。なお、キャプチャレジスタ４ａは計時信号ｄｓｔ２をトリガとしてタイムベース１ａの値を保持し、キャプチャレジスタ４ｂは計時信号ｄｓｔ１をトリガとしてタイムベース１ｂの値を保持する。
【００２２】
このように構成されたタイミング制御回路１０を用いて、不良が発生した場合の動作及び不良箇所特定までの処理を図３及び図４に示すフローチャートを参照して具体的な事例を用いて説明する。
【００２３】
まず、タイムベース１ａの最下位ビットから３ビット目に０固着の異常が発生した場合を例として説明する。なお、タイムベース１ａ及びタイムベース１ｂは８ビットの値をカウントするものとする。また、コンペアレジスタ３ａ、３ｂには８ビットの値"００００１１１１"を設定する。なお、許可信号１及び許可信号２は論理積を出力するＡＮＤ設定にしておく。
【００２４】
タイムベース１ａ及びタイムベース１ｂはカウントアップ信号に応じてカウントを開始する。この場合において、タイムベース１ａ及びタイムベース１ｂのカウント値がコンペアレジスタ３ａ及びコンペアレジスタ３ｂのビット値"００００１１１１"に到達すると、タイムベース１ｂとコンペアレジスタ３ｂのビット値"００００１１１１"は一致する。よって、比較器２ｂからは計時信号ｄｓｔ２がコンペア出力制御部５、割り込み出力制御部６及びキャプチャレジスタ４ａへ出力される。一方、タイムベース１ａのカウント値"００００１０１１"とコンペアレジスタ３ａの値"００００１１１１"は最下位ビットから３ビット目が一致していないため比較器２ａから計時信号ｄｓｔ１は出力されない。よって、キャプチャレジスタ４ａは計時信号ｄｓｔ２をトリガとしてタイムベース１ａのカウント値"００００１０１１"を保持する。一方、キャプチャレジスタ４ｂには計時信号ｄｓｔ１が入力されないため、タイムベース１ｂの値"００００１１１１"を保持しない。
【００２５】
この場合、割り込み出力制御部６に対し計時信号ｄｓｔ２は入力されるが、計時信号ｄｓｔ１は入力されないため、割り込み出力制御部６はプロセッサ部２０へ不正割り込み信号を出力する。不正割り込み信号が発生すると（図３、Ｓ１参照）、許可信号１、２の設定によって（図３、Ｓ２参照）コンペア一致タイマ出力信号及びコンペア一致割り込み信号の出力を停止する。その後、異常発生場所の検出動作に移る。まず、キャプチャレジスタ４ａに保持された値"００００１０１１"とコンペアレジスタ３ａによって設定された期待値（コンペアレジスタに設定されている初期値）"００００１１１１"を比較する（図３、Ｓ４参照）。この場合、最下位ビットから３ビット目が一致していないため、キャプチャレジスタ４ａの値"００００１０１１"と期待値"００００１１１１"の排他的論理和（ＥＸＯＲ）出力を行う（図３、Ｓ５参照）。すると"０００００１００"が得られるためタイムベース１ａの最下位ビットから３ビット目に不良が発生していることが確認できる（図３、Ｓ６参照）。
【００２６】
タイムベース１ａに不良が発生していることが確認されたため、計時信号ｄｓｔ２を許可信号１、２によって有効化して出力する（図３、Ｓ７参照）。このように、タイムベース１ａに不良ビットが存在する場合、以上のような処理を行うことによりエラー処理を完了する（図３、Ｓ８参照）。また、タイムベース１ｂに異常が発生した場合の異常検出動作についても、タイムベース１ｂの値が保持されたキャプチャレジスタ４ｂとコンペアレジスタ３ｂに設定された期待値を比較することによって不良ビット位置を特定する。以下、不良ビット位置の特定までの処理についてはタイムベース１ａの場合と同一であるため、その説明を省略する。
【００２７】
次に、コンペアレジスタ３ａの最下位ビットから３ビット目に１固着の異常が発生した場合を例として説明する。なお、タイムベース１ａ及びタイムベース１ｂは８ビットの値をカウントするものとする。また、コンペアレジスタ３ａ、３ｂには８ビットの値"００００１０１１"を設定する。なお、許可信号１及び許可信号２は論理積を出力するＡＮＤ設定とする。
【００２８】
タイムベース１ａ及び１ｂはカウントアップ信号に応じてカウントを開始する。この場合においてタイムベース１ａ及びタイムベース１ｂがコンペアレジスタ３ａ及びコンペアレジスタ３ｂの設定値"００００１０１１"に到達すると、タイムベース１ｂとコンペアレジスタ３ｂのビット値"００００１０１１"が一致する。よって、比較器２ｂからは、計時信号ｄｓｔ２がコンペア出力制御部５、割り込み出力制御部６及びキャプチャレジスタ４ａへ出力される。一方、タイムベース１ａの値"００００１０１１"とコンペアレジスタ３ａの値"００００１１１１"は最下位ビットから３ビット目が一致しないため比較器２ａからは計時信号ｄｓｔ１は出力されない。よって、キャプチャレジスタ４ａは計時信号ｄｓｔ２をトリガとしてタイムベース１ａの値"００００１０１１"を保持する。一方、キャプチャレジスタ４ｂは計時信号ｄｓｔ１が入力されないためタイムベース１ｂの値"００００１０１１"を保持しない。
【００２９】
この場合、割り込み出力制御部６に対し計時信号ｄｓｔ２は入力されるが、計時信号ｄｓｔ１は入力されないため、割り込み出力制御部６はプロセッサ部２０へ不正割り込み信号を出力する。不正割り込み信号が発生すると（図３、Ｓ１参照）、許可信号１、２の設定によってコンペア一致タイマ出力信号及びコンペア一致割り込み信号の出力を停止する（図３、Ｓ２参照）。その後、異常発生場所の検出動作に移る。まず、コンペアレジスタ３ａに設定された値"００００１０１１"と、同じくコンペアレジスタ３ａによって設定された期待値"００００１１１１"を比較する（図３、Ｓ９参照）。この場合、最下位ビットから３ビット目が一致していないため、コンペアレジスタ３ａの値"００００１０１１"と期待値"００００１１１１"の排他的論理和（ＥＸＯＲ）出力を行う（図３、Ｓ１０参照）。すると"０００００１００"が得られるためコンペアレジスタ３ａの最下位ビットから３ビット目に不良が発生していることが確認される（図３、Ｓ１１参照）。
【００３０】
コンペアレジスタ３ａに不良が発生していることが確認されたため、計時信号ｄｓｔ２を許可信号１、２によって有効化し出力する（図３、Ｓ１２参照）。このように、コンペアレジスタ３ａに不良ビットが存在する場合、以上のような処理を行うことによりエラー処理を完了する（図３、Ｓ１３参照）。また、コンペアレジスタ３ｂに異常が発生した場合の異常検出動作についても、コンペアレジスタ３ｂと、同じくコンペアレジスタ３ｂに設定された期待値を比較することによって不良ビット位置を特定する。以下、不良ビット位置の特定までの処理についてはコンペアレジスタ３ａの場合と同一であるため、その説明を省略する。
【００３１】
以上のように、タイムベース１ａ、１ｂあるいはコンペアレジスタ３ａ、３ｂに異常が発生した場合は、互いの信号をトリガとしたキャプチャレジスタ４ａあるいは４ｂを備えることによって不良ビット位置の特定が可能となる。
【００３２】
最後に比較器に異常が発生した場合を例に説明する。この場合、比較器２ａ及び比較器２ｂは、ソフトウェアからビット値を読み出すことはできない。よって、例えば比較器２ａあるいは比較器２ｂに故障が発生した場合、比較器内部のビット値を直接読み出して故障を検出することはできないため、コンペアレジスタ３ａあるいは３ｂの設定値を変更することによって比較器の故障検出を実行する。
【００３３】
ここで、比較器２ａの最下位ビットから３ビット目に１固着の異常が発生したとする。なお、タイムベース１ａ及びタイムベース１ｂは８ビットの値をカウントするものとする。また、コンペアレジスタ３ａ、３ｂには８ビットの値"１１１１００００"を設定する。なお、許可信号１及び許可信号２は論理積を出力するＡＮＤ設定とする。
【００３４】
カウントアップ信号に応じてタイムベース１ａ及びタイムベース１ｂはカウントを開始する。この場合において、タイムベース１ａ及びタイムベース１ｂがコンペアレジスタの設定値"１１１１００００"に到達すると、タイムベース１ｂとコンペアレジスタ３ｂのビット値"１１１１００００"は一致する。よって、比較器２ｂからは、計時信号ｄｓｔ２がコンペア出力制御部５、割り込み出力制御部６及びキャプチャレジスタ４ａへ出力される。一方、タイムベース１ａの値"１１１１００００"とコンペアレジスタ３ａの値"１１１１００００"は一致しているが比較器２ａの最下位ビットから３ビット目が０に固着している。よって比較器２ａからは計時信号ｄｓｔ１は出力されない。よって、キャプチャレジスタ４ａは計時信号ｄｓｔ２をトリガとしてタイムベース１ａの値"１１１１００００"を保持する。一方、キャプチャレジスタ４ｂは計時信号ｄｓｔ１が入力されないためタイムベース１ｂの値"１１１１００００"を保持しない。
【００３５】
また、割り込み出力制御部６に対し計時信号ｄｓｔ２は入力されるが、計時信号ｄｓｔ１は入力されないため、割り込み出力制御部６はプロセッサ部２０へ不正割り込み信号を出力する。不正割り込み信号が発生すると（図３、Ｓ１参照）、不良故障位置の特定が行われる。
【００３６】
まず、コンペアレジスタ３ａ、３ｂに８ビットの値"０００００００１"を設定する（図４、Ｓ１４参照）。また、タイムベース１ａ、１ｂのカウントをクリアし再スタートする（図４、Ｓ１５参照）。この時、ソフトウェアによってコンペア出力制御部５に設定されているフラグを監視し、計時信号ｄｓｔ１、２の同時発生を確認する（図４、Ｓ１６参照）。この場合、比較器２ｂから計時信号ｄｓｔ２は発生するが、比較器２ａから計時信号ｄｓｔ１は発生しないため、少なくとも比較器２ａあるいは比較器２ｂの最下位ビットには不良がなかったと判定する。
【００３７】
比較器２ａ、２ｂの最下位ビットには不良がないことが確認されたため、コンペアレジスタ３ａ、３ｂの値を１ビット左にシフトした値"００００００１０"を設定し（図４、Ｓ１７参照）、再度タイムベース１ａ、１ｂをクリアして再スタートする（図４、Ｓ１５参照）。すると、この場合においても計時信号ｄｓｔ２は発生するが計時信号ｄｓｔ１は発生しない。よって少なくとも比較器２ａあるいは比較器２ｂの最下位ビットから２ビット目にも不良がなかったと判定する。
【００３８】
比較器２ａ、２ｂの最下位ビットと最下位ビットから２ビット目には不良がないことが確認されたため、コンペアレジスタ３ａ、３ｂの値をさらに１ビット左にシフトし、"０００００１００"を設定する（図４、Ｓ１７参照）。また、タイムベース１ａ、１ｂをクリアし再スタートする（図４、Ｓ１５参照）。すると、比較器２ａの最下位ビットから３ビット目の"１"とコンペアレジスタ３ａの最下位ビットから３ビット目の"１"が一致するため、計時信号ｄｓｔ１が発生する。また、計時信号ｄｓｔ２も同時に発生するため、比較器２ａあるいは比較器２ｂの最下位ビットから３ビット目に不良があることが確認できる。
【００３９】
比較器２ａあるいは比較器２ｂの最下位ビットから３ビット目に不良があることが確認されたので、さらにタイムベース１ａ、１ｂによるカウントを継続する。この場合、計時信号ｄｓｔ２は発生するが、計時信号ｄｓｔ１は発生しない（図４、Ｓ１８参照）。よって比較器２ａに異常が発生していることが確認される（図４、Ｓ１９参照）。
【００４０】
以上のような過程によって、比較器２ａの最下位ビットから３ビット目に異常が発生していることが確認される。また、比較器２ａによる不良ビット位置が特定されたため、計時信号ｄｓｔ２を許可信号の設定により有効化して、エラー処理を完了する（図４、Ｓ２０、Ｓ２１参照）。なお、比較器２ｂに異常が発生した場合の異常検出動作については比較器２ａの場合と同一であるため、その説明を省略する。
【００４１】
なお、本実施の形態においては不良ビット位置を特定するまでの間は許可信号の設定によりコンペア一致タイマ出力信号及びコンペア一致割り込み信号を無効にしたが、異常発生場所の確認動作の間も割り込み信号を継続して出力させたい場合においては、許可信号の設定により計時信号ｄｓｔ１あるいは計時信号ｄｓｔ２のみを継続して出力することも可能である。
【００４２】
このように、タイムベース、コンペアレジスタあるいは比較器に異常が発生した場合、以上のような処理を行うことによって不良ビット位置の特定が可能となる。また、異常発生時には、異常がないコンペア一致タイマ出力信号及びコンペア一致割り込み信号のみ許可設定することで、正常なタイマ出力動作及び割り込み発生動作を継続することが可能となる。
【００４３】
また、ソフトウェアによる周期的な検出を行うのではなく、計時信号ｄｓｔ１あるいは計時信号ｄｓｔ２のどちらか一方の信号の発生により、即時に検出処理を実行するため、異常位置を迅速に検出することが可能となる。さらに、互いのタイムベースに対しタイムベースの値を保持するキャプチャレジスタを備えることによって、テスタを使用することなく不良ビット位置を特定することが可能となる。
【００４４】
以上、本発明の実施の形態について詳細に説明したが、本発明の趣旨を逸脱しない限り種々の変形が可能である。
【図面の簡単な説明】
【００４５】
【図１】本発明の実施の形態１に関わるタイミング制御回路を有する半導体装置を示すブロック図である。
【図２】本発明の実施の形態１に関わるタイミング制御回路を示す図である。
【図３】本発明の実施の形態１に関わるタイミング制御回路内部の故障を検出するプログラムのフローチャートである。
【図４】本発明の実施の形態１に関わるタイミング制御回路内部の故障を検出するプログラムのフローチャートである。
【図５】従来のタイミング制御回路を示す図である。
【符号の説明】
【００４６】
１ａ、１ｂ      タイムベース
２ａ、２ｂ      比較器
３ａ、３ｂ      コンペアレジスタ
４ａ、４ｂ      キャプチャレジスタ
５              コンペア出力制御部
６              割り込み出力制御部
７、８          タイマ
９              裁定手段
１０            タイミング制御回路
１１            タイミング信号出力回路
１２            裁定手段
１３            比較部
２０            マイクロプロセッサ部
３０            メインメモリ
４０            バス
１００          半導体装置
【図１】
2008021229.tif 000003
【図２】
2008021229.tif 000004
【図３】
2008021229.tif 000005
【図４】
2008021229.tif 000006
【図５】
2008021229.tif 000007