(57)【要約】【課題】  ステートマシンで構成される被監視回路の動作をきめ細かく監視し、動作異常を検出する。【解決手段】  被監視デバイス１０が現在とっている状態を表わす状態番号をデバイス１０の外部に出力させる。状態番号ごとに消費電流の上限値および下限値を設定する。監視回路１６では、電流検出回路１４が検出する消費電流値を、現在の状態番号に対応する上限値および下限値を用いて判定して動作異常を検出する。【選択図】      図１
2006275700.tif 000002
【特許請求の範囲】
【請求項１】
複数の状態と状態遷移の条件が定められるステートマシンの構成を有する被監視デバイスであって、該ステートマシンの状態を示す状態番号を外部へ出力する機能を有する被監視デバイスと、
該被監視デバイスの消費電力を検出する消費電力検出回路と、
該被監視デバイスから出力される状態番号に応じた異常判定値を用いて該消費電力の異常を判定する監視回路とを具備する異常動作検出システム。
【請求項２】
前記監視回路はさらに、前記状態番号とは無関係に積算した所定時間内の消費電力の積算値とその異常判定値により前記消費電力の異常を判定する請求項１記載の異常動作検出システム。
【請求項３】
前記被監視デバイスへ複数のテストパターンを順次与える制御回路をさらに具備し、
前記監視回路はさらに、該制御回路が該被監視デバイスへ与えるテストパターンに応じた異常判定値で前記消費電力の異常を判定する請求項１または２記載の異常動作検出システム。
【請求項４】
前記監視回路は、前記被監視デバイスの状態の各々に対する異常判定値を記憶する記憶装置を外部に有する請求項１〜３のいずれか１項記載の異常動作検出システム。
【請求項５】
前記被監視デバイスの温度を検出する温度センサをさらに具備し、
前記監視回路は、さらに該温度センサが検出する温度に応じた異常判定値を用いて異常を判定する請求項１〜４のいずれか１項記載の異常動作検出システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子回路の異常動作を検出するシステム、特に、ＦＰＧＡやＡＳＩＣなどの大規模な集積回路デバイスの異常動作の検出に適した異常動作検出システムに関する。
【背景技術】
【０００２】
ＦＰＧＡ（Field Programmable Gate Array）やＡＳＩＣ（Application Specific Integrated Circuit）などの大規模な集積回路デバイスにおいては、設計上の問題から回路がハングアップ状態となりシステムが停止してしまう致命的な問題が発生することがあり得る。また、デバイスの微細化が進むにつれて、設計上の問題がなくても地上まで到達する宇宙線によりデバイスの論理が書き換わったりビット化けを生じるソフトエラーが発生して回路が誤動作したりデッドロックなどが発生してシステム停止などの致命的な問題が発生することがある。したがって、何らかの手段により異常動作が起こったことを検知して自動的に異常動作から復旧させる仕組みが必要となる。
【０００３】
下記特許文献１〜３には、被監視装置またはデバイスの消費電力を監視して動作異常を検出することが記載されている。しかしながら、一般に、被監視デバイスの正常動作時の消費電力はその内部の動作状態が変われば変わるものであるが、被監視デバイスの内部ステートマシンの状態やデバイスが実際に動作する周辺環境温度及び、デバイスの個体バラツキなどの点に着目するものではない。
【０００４】
特に、複数の状態と状態遷移の条件とで定義されるステートマシンの構成を有するＦＰＧＡやＡＳＩＣ等の大規模集積回路デバイスの監視は、ステートマシンの状態遷移に伴って生じる複数の状態のそれぞれに対応したきめの細かいものであることが望まれている。
【０００５】
【特許文献１】特開２００４−１０４８７９号公報
【特許文献２】特開２００１−２８７３５５号公報
【特許文献３】特開２００１−７４８０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
したがって本発明の目的は、運用時において状態遷移を生じる被監視デバイスの監視に特に適した異常動作検出システムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明によれば、複数の状態と状態遷移の条件が定められるステートマシンで構成された被監視デバイスであって、該ステートマシンの状態を示す状態番号を外部へ出力する機能を有する被監視デバイスと、該被監視デバイスの消費電力を検出する消費電力検出回路と、該被監視デバイスから出力される状態番号に応じた異常判定値を用いて該消費電力の異常を判定する監視回路とを具備する異常動作検出システムが提供される。
【０００８】
被監視デバイスが出力する状態番号に応じて異なる異常判定値により判定を行うことにより、きめ細かい異常動作検出が可能となる。
【０００９】
前記監視回路はさらに、前記状態番号とは無関係に積算した所定時間内の消費電力の積算値とその異常判定値により前記消費電力の異常を判定するように構成されることが好ましい。
【００１０】
異常動作の１つとして、被監視デバイスの状態が変化しなくなる場合がある。このときの消費電力がその状態に対して設定されている範囲内であれば、前述のような状態番号に応じた異常判定値を用いた判定ではこの異常動作を検出することができない。そこで上記のように状態番号とは無関係に積算した消費電力の積算値に対する異常判定値を判定に用いることで、この異常動作をも検出できるようになる。
【００１１】
前記システムは、前記被監視デバイスへ複数のテストパターンを順次与える制御回路をさらに具備し、前記監視回路はさらに、該制御回路が該被監視デバイスへ与えるテストパターンに応じた異常判定値で前記消費電力の異常を判定することが望ましい。
【００１２】
被監視回路の動作異常のために状態番号が誤って報告され、そのために動作異常が検出できないケース、或いは消費電流が正常な範囲のままで起こるべき状態遷移が起きない異常を検出できないケースの可能性が否定できないが、外部の制御回路から状態遷移を伴うテストパターンを与えてこの時の消費電力を判定することでこの可能性を回避することができる。
【発明を実施するための最良の形態】
【００１３】
図１は本発明の一実施形態に係る異常動作検出システムの概略構成を示すブロック図である。
【００１４】
図示されたシステムは、被監視デバイス１０と、電源１２から被監視デバイス１０へ供給される定電圧直流電源の電流を検出することによって被監視デバイスの消費電力を検出する電流検出回路１４と、電流検出回路１４が検出した消費電流値から被監視デバイス１０の動作異常を検出する監視回路１６とから構成される。
【００１５】
被監視デバイス１０はＦＰＧＡ（Field Programmable Gate Array）またはＡＳＩＣ（Application Specific Integrated Circuit）からなり、複数の状態と状態間の遷移の条件を定める状態遷移図で表現することのできるステートマシンの構成を有している。そしてそのステートマシンが現在どの状態にあるかを示す状態番号１７がデバイスのピンを介して外部へ出力されるようになっている。
【００１６】
監視回路１６は被監視デバイス１０から出力される状態番号に応じた異常判定値を用いて消費電流値の異常を検出する。動作異常が検出されたら、例えば、監視回路１６から被監視デバイス１０へリセット信号が送られ、それによって被監視デバイス１０は初期状態に戻り、その後、順次正常な運転状態へと復旧する。複数回リセットしても復旧しない場合には再ｃｏｎｆｉｇ制御を行い被監視デバイス１０を復旧させる。
【００１７】
状態番号に応じた異常判定値は例えば表１のように設定される。
【００１８】
【表１】
2006275700.tif 000003
【００１９】
図２は正常動作時の被監視デバイス１０の状態の推移とそれに伴う消費電流（すなわち消費電力）の変化の一例を示す。図２には表１に示した各状態における消費電流の期待値の範囲がハッチングで示されている。このように、状態番号に応じて期待値の範囲を定めることにより、期待値の幅を狭くとることが可能となり、きめの細かい消費電力監視が可能となる。
【００２０】
図２の各遷移状態の間に時間軸上で定義されていない状態が存在するが、この状態は非監視区域であってその間の消費電流は監視していない。但し新たに状態を定義して非監視区域を監視対象区域としてシステムを運用しても良いが、図２の例は、非監視区域も存在する場合の例である。
【００２１】
図３は動作異常が検出されるときの状態と消費電流の推移を示す。図３において、状態番号１１のＡＧＣ制御状態において消費電流が期待値の範囲６５０〜７５０mAを超えて８００mAとなり、監視装置１６がこれを検知して被監視デバイス１０にリセットをかけて正常状態に復旧させている。
【００２２】
図１の構成において、消費電流が異常であるにもかかわらず被監視デバイス１０から状態番号が誤って申告され、申告された状態番号に対して設定されている期待値の範囲に消費電流がたまたま入っているために異常が検出できない場合や、消費電流が正常なままでデットロック状態になって、起こるべき状態遷移が起きない異常が検出できない場合が起こり得る。図４はこれらの点を回避することのできる異常動作検出システムの第２の例を示す。
【００２３】
図４において、制御回路１８は、被監視デバイス１０の制御のために通常設けられているものであり、被監視デバイス１０に対して状態遷移を起こすコマンドを定期的に通常データ２０として与えるものである。本発明では、この通常データ２０を与える間のアイドル時間において、試験データ２２として複数のテストパターンを順次被監視デバイス１０に与え、それぞれのテストパターンに対する消費電流値が所定の期待値の範囲内にあるか否かで動作異常を検出する。各テストパターンに応じた期待値の範囲の例を表２に示す。
【００２４】
【表２】
2006275700.tif 000004
【００２５】
このように、複数のテストパターンのそれぞれに対して期待値の範囲を定め、各テストパターンを与えたときの消費電流値が設定された範囲に入っているかを判定することで、前述のような動作異常を検出できない状況の発生を回避することができる。
【００２６】
図５は図４のシステムの詳細な構成の一例を示す。図５において、電流検出回路１４において検出されたアナログ信号としての電流検出値はアナログ／ディジタル変換器３０によりディジタル値に変換されて監視回路１６へ入力される。
【００２７】
監視回路１６へ入力された検出電流値は電流値受信フリップフロップ３２に一担ラッチされた後、ＲＡＭ（ランダムアクセスメモリ）またはフリップフロップで構成される電流値保持バッファ３４へ一時的に格納される。瞬時値比較部３６は電流値保持バッファ３４に格納されている電流の現在値と被監視デバイス１０からの状態番号に基づき、例えば表１に示した異常判定値を用いて動作異常の判定を行う。
【００２８】
積算値比較部３８は電流値保持バッファ３４に保持されている電流値と状態番号とに基づき、例えば以下の表３に示したような異常判定値を用いて動作異常の判定を行う。
【００２９】
【表３】
2006275700.tif 000005
【００３０】
表３において、例えば、遷移状態：シャットダウン状態、監視時間：１０秒、設定値：０〜２００（mA）とは、状態番号１のシャットダウン状態であるとき、毎秒１回のサンプリング値の過去１０回分（＝１０秒分）の合計が０〜２００mAであるときを正常と判定することを意味する。
【００３１】
試験期待値比較部４０は、電流値保持バッファ３４に格納されている電流値と制御回路１８のＣＰＵ４２から与えられるテストパターン番号とに基いて、例えば表２に示した異常判定値を用いて動作異常の判定を行う。
【００３２】
ＯＲ回路４４は瞬時値比較部３６、積算値比較部３８および試験期待値比較部４０の比較結果の論理和をとって出力する。リセット制御部４６はＯＲ回路４４の出力に基いて被監視デバイス１０へリセット信号を送り、再ｃｏｎｆｉｇ制御部４８は被監視デバイス１０へ再構成を指令する信号を送る。制御カウンタ５０は電流値受信フリップフロップ３２、電流値保持バッファ３４、および各比較部３６，３８，４０へイネーブル信号などを送って各部の制御を行う。
【００３３】
制御回路１８は通常テータ生成部２０または試験データ生成部２２の出力のいずれか一方を選択するセレクタ５２およびセレクタ５２を制御し、監視回路１６の試験期待値比較部４０へテストパターン番号を与えるＣＰＵ４２を含んでいる。
【００３４】
表３に示したような積算値の監視は同じ状態にあるときの消費電流の積算値の監視であるが、これに加えて、状態が変わってもそれに無関係に消費電流を所定時間積算し、それと設定値とを比較して異常を判定すれば、消費電流が正常なままで状態が変化しなくなる異常を検出することができる。
【００３５】
電流値保持バッファ３４は積算値比較部３８で使用する一定時間の消費電力の合計を計算するためにその時間分だけバッファリングするために設けられている。したがって瞬時値比較部３６および試験期待値比較部４０については電流値保持バッファ３４を介さずに電流値受信フリップフロップ３２から計測値を直接取り込む構成としても良い。一律に各比較部の手前に電流値保持バッファ３４があるのは、積算値比較部３８以外の比較部においても、過去から最新までの電流値を取り出すことにより、ある一定時間の平均電流値による異常監視など必要に応じて機能拡張を考慮した構成としているためである。
【００３６】
表１〜表３の異常判定値は外付けのフラッシュメモリなどの不輝発性メモリに格納することが望ましい。そうすれば、製品の出荷前に個々の製品の正常時の消費電流値を測定し、その結果に応じて製品ごとに異なる異常判定値を設定することも可能である。また、被監視デバイスの温度を測定する温度センサーをさらに設けていくつかの温度条件で消費電流値を測定し、それに基いていくつかの温度ごとに異常判定値を設定するようにしても良い。
【００３７】
図６は１つの監視回路１６で複数の被監視デバイス１０1〜１０5の消費電流を監視する例を示す。１つの監視回路で複数の被監視デバイスを監視する構成とすることで、効率的で安定的な監視が可能となる。被監視デバイス１０4および１０5は光信号を増幅する光増幅器である。この場合には、被監視デバイス１０4と１０5から出力される状態を示す信号を被監視デバイス１０3であるＤＳＰ（Digital Signal Processor）へ入力し、ＤＳＰ１０3の状態番号化部６０，６２において状態番号に変換して監視回路１６へ入力する。
【００３８】
図７は被監視デバイス１０をそれぞれが独立したステートマシンで構成される複数のブロック１０1〜１０4に分割しそのそれぞれを１つの監視回路１６で監視する例を示す。各ブロックの消費電流は電流検出回路１４においてそれぞれ独立に検出され、監視回路１６においてそれぞれ個別の設定値を用いて監視される。異常検出時の復旧処理もブロック毎に独立に行なわれるので、復旧範囲が各ブロック内にとどまるという利点がある。
【００３９】
図８は被監視デバイス１０内で状態番号を生成する回路の構成の第１の例を示す。図８において、クロックをカウントするカウンタの出力をデコーダ６２によりデコードし、そのデコード出力をＲＯＭ６４にアドレスとして与える。ＲＯＭ６４から読み出されたデータが状態番号としてブロック１〜３に与えられ、被監視デバイス１０の外部へ出力される。この例では、状態番号はブロック１〜３の内部状態によらずリセットされてからの経過時間の関数になる。
【００４０】
図９は状態番号を生成する回路の構成の第２の例を示す。ブロック１〜３はそれぞれステートマシンで構成されており、それぞれのブロックの状態番号がデコーダ６６へ入力される。デコーダ６６では、各ブロックの状態ブロックの状態番号をデコードした結果を被監視デバイス１０の状態番号として外部へ出力する。
【００４１】
図１０は状態番号を生成する回路の構成の第３の例を示す。カウンタ６８は外部入力が与えられなければクロックをカウントし、その出力はデコーダ７０に与えられ、デコーダ７０の出力がＲＯＭ７２にアドレスとして与えられる。ＲＯＭ７２から読み出されたデータが状態番号としてブロック１〜３に与えられ外部へ出力される。すなわち、外部入力がないときは図８の回路と同じ動作になる。外部入力が与えられると、ブロック１〜３の状態番号がカウンタ６８へロードされ、これを初期値としてカウントが再開される。
【図面の簡単な説明】
【００４２】
【図１】本発明の一実施形態に係る異常動作検出システムの第１の例の概略構成を示すブロック図である。
【図２】正常動作時の被監視デバイスの状態の推移とそれに伴う消費電流の変化の一例をその期待値の範囲とともに示すグラフである。
【図３】異常動作が検出されるときの状態の推移と消費電流の変化を示すグラフである。
【図４】異常動作検出システムの第２の例を示すブロック図である。
【図５】図４のシステムの詳細な構成の一例を示すブロック図である。
【図６】１つの監視回路で複数の被監視回路を監視する例を示すブロック図である。
【図７】被監視回路を複数のブロックに分割しそれぞれを独立に監視する例を示すブロック図である。
【図８】状態番号を生成する回路の第１の例を示すブロック図である。
【図９】状態番号を生成する回路の第２の例を示すブロック図である。
【図１０】状態番号を生成する回路の第３の例を示すブロック図である。
【図１】
2006275700.tif 000006
【図２】
2006275700.tif 000007
【図３】
2006275700.tif 000008
【図４】
2006275700.tif 000009
【図５】
2006275700.tif 000010
【図６】
2006275700.tif 000011
【図７】
2006275700.tif 000012
【図８】
2006275700.tif 000013
【図９】
2006275700.tif 000014
【図１０】
2006275700.tif 000015