(57)【要約】【課題】  本発明は、ビット化けや異常書き込みによってレジスタの内容が変化してデバイスが誤動作するのを防ぐことが出来るレジスタ監視回路を提供することを課題とする。【解決手段】  対象レジスタ１に対して監視用レジスタ２を設けて２重化する。また対象レジスタ１に対して監視用レジスタ２に供給するクロック信号ＣＬＫ１及びＣＬＫ２に同一周波数でタイミングが異なるものを用いる。これにより、これによりレジスタ１、２が書き換わるのをアラーム信号（ＡＬＡＲＭ）として検出でき、またクロック信号にノイズが乗って、レジスタ１、２が書き換わった場合にも対処することが出来る。【選択図】図１
2007058467.tif 000002
【特許請求の範囲】
【請求項１】
監視対象となるレジスタと、
前記レジスタが同期する第１のクロック信号とは異なる第２のクロック信号に同期して動作する監視用レジスタと、
前記レジスタの出力値と前記監視用レジスタの出力値が異なるとき、アラーム信号を出力するアラーム部と、
を備えることを特徴とするレジスタ監視回路。
【請求項２】
前記第１のクロック信号と第２のクロック信号は、周波数が同じで位相が異なることを特徴とする請求項１に記載のレジスタ監視回路。
【請求項３】
前記レジスタ若しくは前記監視用レジスタに正規の値を書き込んでいる間は、前記アラーム部からアラーム信号を出力させないアラームイネーブル部を更に備えることを特徴とする請求項１乃至４に記載のレジスタ監視回路。
【請求項４】
レジスタを備え、当該レジスタへの書き込み内容によって機能のＯＮ／ＯＦＦを切り換えるデバイスにおいて
前記レジスタが同期する第１のクロック信号とは異なる第２のクロック信号に同期して動作する監視用レジスタと、
前記レジスタの出力値と前記監視用レジスタの出力値が異なるとき、アラーム信号を出力するアラーム部と、
を備えることを特徴とするデバイス。
【請求項５】
監視対象となるレジスタの出力値と、前記レジスタが同期する第１のクロック信号とは異なる第２のクロック信号に同期して動作する監視用レジスタの出力値を比較し、
前記比較の結果、両者の値が異なるとき、アラーム信号を出力する
ことを特徴とするレジスタ監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイスに搭載されるレジスタについての技術に関し、更に詳しくは、レジスタに保持される値のビット化けや異常書き込みを検出する技術に関する。
【背景技術】
【０００２】
ＬＳＩの小型化／省電力化が進むにつれ、ＬＳＩのデバイスは近年様々な機器に搭載されるようになってきている。その結果、デバイスにとって、ノイズや温度といった外的要因が従来よりも厳しい環境での使用が想定されるようになってきている。
【０００３】
デバイスにおける基本構成の１つとして、保持しているレジスタへ値を書き込むことにより、有する機能のＯＮ／ＯＦＦを設定するというものがある。
そしてもしこのようなレジスタが、ノイズ等による異常書き込みで値が変化、もしくはビット化けが起きてしまった場合、デバイスはユーザの希望する動作を行わなくなってしまうという問題がある。
【０００４】
これに対処するものとして、特許文献１では、レジスタを２重化して、レジスタの値の変化してしまうのを監視している。
また特許文献２では、レジスタ等の論理回路を３重化して、これら３つの出力で多数決を取ることによって、誤り検出／訂正を実現している。
【特許文献１】特開昭６３−２７３９４２号公報
【特許文献２】特開平２−１２５３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したように、もしレジスタの記憶内容が、ノイズ等によるビット化けや異常書き込みによって変化してしまった場合、デバイスはユーザの希望する動作を行わなくなり、これによりデバイスの誤動作、暴走を招き、デバイスを搭載したシステム全体に障害が生じてしまう可能性がある。
【０００６】
またこの点に対処した上記した特許文献１等の方式によれば、レジスタのデータ内容が変化するのを検出することができるが、レジスタを動作させるクロック信号にノイズが乗り、多重化された回路全てが誤動作した場合には対処することが出来ない。
【０００７】
上記問題点を鑑み、本発明は、例えばＣＰＵ等の命令による書き込み動作時のみレジスタの値が出力側に反映され、それ以外のノイズ等による、ビット化け、及び異常書き込みによってレジスタの内容が変化してデバイスが誤動作するのを防ぐことが出来るレジスタ監視回路、デバイス及び監視方法を提供することを課題とする。
【０００８】
またビット化けや異常書き込みの場合に、デバイスとして、あるいはシステムとして対応が取れるように、警告を発する機能を有するレジスタ監視回路、デバイス及び監視方法を提供することを課題とする。
【０００９】
更には、クロック信号にノイズが乗ってしまっても、全体が誤動作してレジスタの内容が変化するのを検出できなくなるのを防ぐことが出来るレジスタ監視回路、デバイス及び監視方法を提供することを課題とする。
【課題を解決するための手段】
【００１０】
上記問題点を解決するため、本発明によるレジスタ監視回路は、レジスタ、監視用レジスタ、及びアラーム部を備える。
レジスタは、レジスタ監視回路によって監視対象となるレジスタである。
【００１１】
監視用レジスタは、前記レジスタが同期する第１のクロック信号とは異なる第２のクロック信号に同期して動作する。
アラーム部は、前記レジスタの出力値と前記監視用レジスタの出力値が異なるとき、アラーム信号を出力する。
【００１２】
そして例えば、前記第１のクロック信号と第２のクロック信号は、周波数が同じで位相が異なる。
この構成により、レジスタの値がノイズ等によるビット化けや異常書き込みによって変化してしまっても、アラーム信号として通知することが出来る。
【００１３】
また、監視用レジスタが同期する第２のクロックは、レジスタが同期する第１のクロックと異なるので、クロック信号にノイズが乗っても、ノイズによるビット化けや異常書き込みを検出することが出来る。
【００１４】
また前記レジスタ若しくは前記監視用レジスタに正規の値を書き込んでいる間は、前記アラーム部からアラーム信号を出力させないアラームイネーブル部を更に備える構成とすることも出来る。
【００１５】
この構成により、レジスタ書き込み時にアラーム信号を誤出力するのを防止することが出来る。
更に本発明は、デバイスやレジスタ監視方法もその範囲に含む。
【発明の効果】
【００１６】
本発明によれば、レジスタの値がノイズ等によるビット化けや異常書き込みによって変化してしまっても、アラーム信号として通知することが出来、デバイスとして、或いはシステムとして太守することが出来る。
【００１７】
また、クロック信号にノイズが乗っても、ノイズによるビット化けや異常書き込みを検出することが出来る。
【発明を実施するための最良の形態】
【００１８】
以下に本発明に係る一実施形態を図面を参照しながら説明する。
本実施形態におけるレジスタ及びその監視回路は、レジスタを２重化して、両者の出力を比較することによって、ノイズ等によるレジスタ値の変化を検出する。２重化したレジスタの出力を比較し、一致する場合はその値を出力値とし、一致しない場合には、ビット化けか、異常書き込みによるデータロスが起きているため、その値をレジスタの出力値とはせず、そのレジスタに対応するデバイスの機能がＯＮとならない値の出力を行う。
【００１９】
また、２重化されたレジスタを動作させるクロック信号には、それぞれ位相が異なるタイミングのものを用いて、２重化したレジスタにはそれぞれ別のタイミングで値を取り込むようにする。これによりクロック信号にノイズが乗ってしまっても、２重化されたレジスタの回路の両方が誤動作するのを防ぐことが出来る。
【００２０】
図１に具体的な回路の実施例を示す。尚同図は原理図であり、レジスタの２重化に関連のある部分のみの回路構成を示す。
同図は、レジスタとその周辺部分を示す回路図で、同図の回路はフリップフロップ（以下ＦＦと略す）１、２、ＡＮＤ回路３、５、６、７及びＸＯＲ回路４より構成される。
【００２１】
また２つのクロック信号ＣＬＫ１及びＣＬＫ２、ＣＰＵ等のレジスタへの書き込み対象からのデータ（ＤＡＴＡ）及び書き込み許可信号（ＷＲＩＴＥ）を入力値とし、レジスタの内容を示すアウトプット信号（ＯＵＴＰＵＴ）、及びノイズによる書き換え等が生じたことを通知するアラーム信号（ＡＬＡＲＭ）を出力する。
【００２２】
本実施形態におけるレジスタ監視回路を備えるデバイスは、アラーム信号（ＡＬＡＲＭ）がアクティブとなると、レジスタにおいてビット化け等による書き換えが生じたものとして、例えばシステムリセットをかける、割り込み処理を行う、フラグを立てて通知を行う等の処理を行うことによって、デバイスが正常に復帰できるように、デバイス若しくはデバイスを搭載するシステム内において対応処理できる。
【００２３】
また図１のレジスタ監視回路は、アウトプット信号（ＯＵＴＰＵＴ）が、“１”となったとき、デバイスの何らかの機能がＯＮとなることを想定したものであり、従ってレジスタに書き換えが生じることによってこの機能がＯＮとならないように、書き換えが生じたときはアウトプット信号（ＯＵＴＰＵＴ）からは、“０”が出力されるように構成されている。
【００２４】
ＦＦ１は、本実施形態におけるレジスタ監視回路によって監視対象となるレジスタであり、ＦＦ２はＦＦ１（レジスタ）を２重化した書き込み監視用ＦＦである。ＡＮＤ回路３は、この２つのＦＦ１、ＦＦ２の出力ＱのＡＮＤをとりレジスタの出力であるアウトプット信号（ＯＵＴＰＵＴ）を生成する判定ゲートである。またＸＯＲ回路４は、このＦＦ１、ＦＦ２の出力Ｑ（ＦＦ１＿Ｑ，ＦＦ２＿Ｑ）のＸＯＲを求めるアラームゲートである。そしてＡＮＤ回路５は、このアラームゲート４の出力（ＡＬＡＲＭ＿ＧＡＴＥ  ＯＵＴ）と、書き込み許可信号（ＷＲＩＴＥ）の反転させたものを入力とし、アラーム信号（ＡＬＡＲＭ）を出力とするアラームイネーブルゲートである。ＡＮＤ回路６は、クロック信号ＣＬＫ１と書き込み許可信号（ＷＲＩＴＥ）のＡＮＤを求め、ＦＦ１の動作クロック信号（ＷＲＩＴＥ＿ＣＬＫ１）を生成している。また同様にＡＮＤ回路７は、クロック信号ＣＬＫ２と書き込み許可信号（ＷＲＩＴＥ）のＡＮＤを取り、ＦＦ２の動作クロック信号（ＷＲＩＴＥ＿ＣＬＫ２）を生成している。
【００２５】
またこのレジスタ監視回路への入出力信号のうち、データ（ＤＡＴＡ）は、ＣＰＵ等からレジスタ（ＦＦ１）に書き込まれる値を示す。ＣＬＫ１はＦＦ１の、またＣＬＫ２はＦＦ２の動作クロック信号である。このＣＬＫ１とＣＬＫ２は、同一の周波数で位相が異なった信号となっている。書き込み許可信号（ＷＲＩＴＥ）は、ＣＰＵ等のレジスタへの書き込み対象から与えられる、レジスタに書き込み許可を与える信号で、この信号が“Ｈ”のときデータ（ＤＡＴＡ）の内容は、ＦＦ１及びＦＦ２に書き込まれる。アウトプット信号（ＯＵＴＰＵＴ）は、レジスタの出力値を示す信号である。
【００２６】
アラーム信号（ＡＬＡＲＭ）は、ＦＦ１とＦＦ２の２つのＦＦの出力値の比較結果を示す信号で、両者が一致した場合、すなわちノイズによる書き換え等によってレジスタ値に変化が無かった場合には“Ｌ”、また両者が一致しなかった場合、すなわちレジスタ値に変化があった可能性がある場合には“Ｈ”となる。なおこのアラーム信号（ＡＬＡＲＭ）は、アラームイネーブルゲート５によってアラームゲート「４の出力（ＡＬＡＲＭ＿ＧＡＴＥ  ＯＵＴ）と書き込み許可信号（ＷＲＩＴＥ）の反転値とのＡＮＤを取るので、書き込み許可信号（ＷＲＩＴＥ）が“Ｌ”（非書き込み時）のときのみ有効となる。このようにアラームイネーブルゲート５によって、書き込み許可信号（ＷＲＩＴＥ）によるマスクをすることにより、正規の書き込み動作時にタイミングのズレでアラーム信号にヒゲがのり、一瞬アラームがアクティブになるのを防止する。
【００２７】
次に図１の回路の動作を図２のタイミングチャートを参照して説明する。
同図において、ＣＰＵ等のレジスタへの書き込み対象者は、レジスタへの書き込みを行う際、まず書き込み許可信号（ＷＲＩＴＥ）を“Ｈ”にしてレジスタへの書き込み許可状態にすると共に書き込みデータ（ＤＡＴＡ）をＦＦ１及びＦＦ２に入力する。書き込み許可信号（ＷＲＩＴＥ）が“Ｈ”となると、ＡＮＤ回路６、７の出力ＷＲＩＴＥ＿ＣＬＫ１、ＷＲＩＴＥ＿ＣＬＫ１は、“Ｌ”の状態からＣＬＫ１、ＣＬＫ２が出力される状態となり、ＦＦ１、ＦＦ２にクロック信号が供給される。
【００２８】
ＦＦ１及びＦＦ２は、ＣＬＫ１若しくはＣＬＫ２と書き込み許可信号（ＷＲＩＴＥ）とのＡＮＤ出力であるＷＲＩＴＥ＿ＣＬＫ１及びＷＲＩＴＥ＿ＣＬＫ２をクロック入力としており、このＷＲＩＴＥ＿ＣＬＫ１及びＷＲＩＴＥ＿ＣＬＫ２の立ち上がりエッジで、ＦＦ１及びＦＦ２は、データ（ＤＡＴＡ）を保持し、出力Ｑからの出力値を保持した値に変化させる。
【００２９】
同図においても、ＦＦ１及びＦＦ２の出力ＦＦ１＿Ｑ及びＦＦ２＿Ｑは、ＷＲＩＴＥ＿ＣＬＫ１及びＷＲＩＴＥ＿ＣＬＫ２の立ち上がりエッジ１１、１２に同期して変化している。
【００３０】
またアラーム信号（ＡＬＡＲＭ）は、ＦＦ１＿ＱとＦＦ２＿ＱのＸＯＲであるアラームゲート４の出力（ＡＬＡＲＭ＿ＧＡＴＥ  ＯＵＴ）と書き込み許可信号（ＷＲＩＴＥ）を反転したものとのＡＮＤを取って生成している。よって、書き込み許可信号（ＷＲＩＴＥ）、が“Ｈ”の間、すなわち書き込み動作中は常に“Ｌ”となり、書き込み許可信号（ＷＲＩＴＥ）が“Ｌ”の間、すなわち書き込み動作中で無い期間のみアラームゲート４の出力（ＡＬＡＲＭ＿ＧＡＴＥ  ＯＵＴ）を出力する。レジスタへの書き込み期間中は、ＣＬＫ１とＣＬＫ２の位相差によるＦＦ１とＦＦ２の書き込み内容の不一致が生じるが、この構成により、書き込み期間中は、アラーム信号（ＡＬＡＲＭ）は“Ｌ”となっており、書き込み期間終了後のＦＦ１とＦＦ２の値の一致／不一致に基づいて、アラーム信号（ＡＬＡＲＭ）が出力される。
【００３１】
このような信号状態において、ＷＲＩＴＥ＿ＣＬＫ１にノイズが乗った場合を検証する。
このノイズ１３の立ち上がりエッジで、レジスタであるＦＦ１は保持している値を変え、出力ＦＦ１＿Ｑの値を反転させる。このＦＦ１の出力（ＦＦ１＿Ｑ）の変化によって、ＦＦ２の出力（ＦＦ２＿Ｑ）と不一致となるので、判定ゲート３から出力される値は、レジスタに対応するデバイスの機能をＯＦＦのままにしておく“０”のままの状態となる。またアラーム信号（ＡＬＡＲＭ）は、“Ｈ”となり、異常動作となっていることを通知する。
【００３２】
これにより、レジスタＦＦ１のノイズ等による異常書き換えを検出することが出来る。またＦＦ１及びＦＦ２への２つのクロックＣＬＫ１、ＣＬＫ２は位相が異なる別々のクロック信号なので、クロック信号にノイズが乗ったことが要因でレジスタの書き換えが生じても、２つのＦＦの両方が同時に書き換わることは無いので、その書き換えを検出することが出来る。
【００３３】
また図１の回路では、レジスタＦＦ１と、書き込み監視レジスタＦＦ２それぞれに対する電源も別電源にする。
図３は、この構成を示したもので、レジスタＦＦ１には電源ＶＣＣ１が供給され、書き込み監視レジスタＦＦ２にはＶＣＣ１とは別系統のＶＣＣ２が供給されている。
【００３４】
この様に、レジスタＦＦ１と書き込み監視レジスタＦＦ２への電源を別系統の電源にすることにより、電源ノイズ等でＦＦ１とＦＦ２が同時に異常をきたすことを防ぐことが出来る。
【００３５】
またレジスタＦＦ１と、書き込み監視レジスタＦＦ２を物理レイアウト上近接させないように配置することにより、ノイズ等による影響をレジスタＦＦ１と書き込み監視レジスタＦＦ２の両方に同時に受けることを防ぐことが出来る。
【００３６】
また図１の回路構成において、判定ゲート３は、ＡＮＤ回路により構成したが、これは同図の回路がレジスタに“１”が書き込まれたときに、レジスタに対応付けられたデバイスの機能等何らかの動作がアクティブとなる場合を想定したものである。この場合、ノイズによる異常書き込み等が生じた場合には、アウトプット信号（ＯＵＴＰＵＴ）は、“０”となり、動作をアクティブにはしない。
【００３７】
また上記したのとは逆に、レジスタに“０”が書き込まれたときに何らかの動作がアクティブとなる構成の場合には、判定ゲート３はＯＲ回路となる。
このような構成の場合を図４に示す。
【００３８】
同図の場合判定ゲート３は、ＯＲ回路によって構成されているので、ノイズによる異常書き込み等が生じた場合にはアウトプット信号（ＯＵＴＰＵＴ）は、“１”が出力されるので、アウトプット信号（ＯＵＴＰＵＴ）につながる機能はアクティブとはならない。
【００３９】
図５は、レジスタが複数ビットで構成されている場合の回路構成例を示す図である。
レジスタが複数ビットで構成される場合、同図に示すように、図１で示した回路ブロック２１をビット数分並列に設けることとなる。
【００４０】
そしてレジスタにノイズによる異常書き込み等が生じた場合には、そのビットのアラーム信号（ＡＬＡＲＭ）が“１”となるので、全てのビットのアラーム信号（ＡＬＡＲＭ）のＯＲを取る等して監視することにより、異常書き込み等の発生を検出することが出来る。
【００４１】
また同図の回路では、各回路ブロック２１−１、２１−２、・・・のレジスタＦＦ１と書き込み監視レジスタＦＦ２に供給するクロック信号は、ＣＫ１、ＣＫ２と別々の信号を用いているので、クロック信号にノイズが乗っても、ＦＦ１とＦＦ２の両方に対して同時に異常書き込みが生じることは無い。
【００４２】
図６は、本実施形態におけるレジスタ監視回路を備えたデバイスの構成例である。
同図のデバイス３１は、外部から供給されるクロック信号と接続される発振ＩＯ３２、クロック信号の周波数を変換するＰＬＬ回路３２、クロック信号の位相を変えてＣＬＫ１とＣＬＫ２を生成する等の制御処理を行うクロック制御部３４を備え、デバイスの内部回路３５は、このクロック制御部３４から供給されるＣＬＫ１及びＣＬＫ２に同期して動作を行う。
【００４３】
内部回路３５は、複数の内部マクロ３６−１〜３６−ｎから構成されており、内部マクロ３６−１〜３６−ｎには１乃至複数のレジスタを有するものと有しないものがある。
本実施形態では、レジスタを有する内部マクロ３６の一部若しくは全部に設けられる。尚どの内部マクロ３６のどのレジスタに上述したレジスタ監視回路を設けるかは、設計事項であるが、一般的には汎用レジスタに対してより、デバイスの各種状態を示す状態レジスタやデバイスの機能のＯＮ／ＯＦＦを切り換える機能レジスタに対して設けられる。
【００４４】
このように本実施形態におけるレジスタ監視回路によれば、対象とするレジスタにビット化けやノイズ等による書き換えが生じても、これを検出することが出来、デバイスは正常状態に復帰することが出来る。
【００４５】
またクロック信号や電源ラインにノイズが乗っても、そのノイズによるレジスタの書き換えを検出することが出来る。
（付記１）
監視対象となるレジスタと、
前記レジスタが同期する第１のクロック信号とは異なる第２のクロック信号に同期して動作する監視用レジスタと、
前記レジスタの出力値と前記監視用レジスタの出力値が異なるとき、アラーム信号を出力するアラーム部と、
を備えることを特徴とするレジスタ監視回路。
【００４６】
（付記２）
前記第１のクロック信号と第２のクロック信号は、周波数が同じで位相が異なることを特徴とする付記１に記載のレジスタ監視回路。
【００４７】
（付記３）
前記レジスタと監視用レジスタとの出力値が異なるとき、前記レジスタの出力値によって前記レジスタに対応する機能が有効にならない値を当該レジスタの出力として出力する判定部を更に備えることを特徴とする付記１又は２に記載のレジスタ監視回路。
【００４８】
（付記４）
前記レジスタの出力値と前記監視用レジスタとの出力値が一致するとき、前記レジスタの出力値を出力する判定部を更に備えることを特徴とする付記１乃至３のいずれか１つに記載のレジスタ監視回路。
【００４９】
（付記５）
前記レジスタ若しくは前記監視用レジスタに正規の値を書き込んでいる間は、前記アラーム部からアラーム信号を出力させないアラームイネーブル部を更に備えることを特徴とする付記１乃至４に記載のレジスタ監視回路。
【００５０】
（付記６）
前記レジスタの電源系統と、前記監視用レジスタの電源系統は別系統であることを特徴とする付記１乃至５に記載のレジスタ監視回路。
【００５１】
（付記７）
前記レジスタと前記監視用レジスタは、前記レジスタ監視回路を備えるデバイス内において物理的に離れた位置にレイアウトされることを特徴とする請求項１乃至６に記載のレジスタ監視回路。
【００５２】
（付記８）
レジスタを備え、当該レジスタへの書き込み内容によって機能のＯＮ／ＯＦＦを切り換えるデバイスにおいて
前記レジスタが同期する第１のクロック信号とは異なる第２のクロック信号に同期して動作する監視用レジスタと、
前記レジスタの出力値と前記監視用レジスタの出力値が異なるとき、アラーム信号を出力するアラーム部と、
を備えることを特徴とするデバイス。
【００５３】
（付記９）
前記アラーム信号が出力されたとき、システムリセットをかける、割り込み処理を行う、及びフラグを立てて通知を行うの３つのうち少なくとも１つを行うことを特徴とする付記８に記載のデバイス。
【００５４】
（付記１０）
監視対象となるレジスタの出力値と、前記レジスタが同期する第１のクロック信号とは異なる第２のクロック信号に同期して動作する監視用レジスタの出力値を比較し、
前記比較の結果、両者の値が異なるとき、アラーム信号を出力する
ことを特徴とするレジスタ監視方法。
【図面の簡単な説明】
【００５５】
【図１】本実施形態におけるレジスタ監視回路の回路構成例を示す図である。
【図２】本実施形態におけるレジスタ監視回路のタイミングチャートを示す図である。
【図３】レジスタと、書き込み監視レジスタそれぞれに対する電源を別電源にした場合を示す図である。
【図４】判定ゲートをＯＲ回路によって構成した場合を示す図である。
【図５】レジスタが複数ビットで構成されている場合の回路構成例を示す図である。
【図６】本実施形態におけるレジスタ監視回路を備えたデバイスの構成例である。
【符号の説明】
【００５６】
１      対象レジスタ
２      書き込み監視用レジスタ
３      判定ゲート
４      アラームゲート
５      アラームイネーブルゲート
６、７      ＡＮＤ回路
３１      デバイス
３２      発振ＩＯ
３３      ＰＬＬ回路
３４      クロック制御部
３５      内部回路
３６      内部マクロ
【図１】
2007058467.tif 000003
【図２】
2007058467.tif 000004
【図３】
2007058467.tif 000005
【図４】
2007058467.tif 000006
【図５】
2007058467.tif 000007
【図６】
2007058467.tif 000008