(57)【要約】【課題】集積回路にシステムクロックの異常を検出する回路を内蔵することにより、短時間で容易にシステムクロックの異常を検出可能にする。【解決手段】遅延信号出力部２は、ＬＳＩを動作させるための基準クロック信号（システムクロック）を、多段接続された複数のディレイセル（遅延素子）により遅延させて遅延信号を出力する。同期信号検出部３は、遅延信号出力部２により出力された遅延信号の中から、基準クロック信号に同期する遅延信号を検出する。遅延段数演算部４は、同期信号検出部３により検出された遅延信号に基づいて、基準クロック信号の１周期に係るディレイセルの段数を算出する。異常判定部５は、基準クロック信号の１周期に係るディレイセルの段数に基づいて、基準クロック信号の異常の有無を判定する。異常判定部５は、基準クロック信号に異常があると判定した場合、エラー信号を出力する。【選択図】            図１
2004185470.tif 000002
【特許請求の範囲】
【請求項１】
多段接続された複数の遅延素子により、集積回路を動作させるための基準クロック信号を遅延させ、各段毎に遅延信号を出力する遅延信号出力部と、
前記遅延信号出力部から出力された遅延信号の中から、前記基準クロック信号に同期する遅延信号を検出する同期信号検出部と、
前記同期信号検出部により検出された遅延信号に基づいて、前記基準クロック信号の１周期に係る遅延素子の段数を算出する遅延段数演算部と、
前記遅延段数演算部により算出された遅延素子の段数の平均値を算出し、その算出された平均値と、前記遅延段数演算部により算出された遅延素子の段数の値とを比較することによって、前記基準クロック信号の異常の有無を判定する異常判定部と、を備え、
前記異常判定部は、前記基準クロック信号に異常があると判定した場合に、異常を通知するためのエラー信号を出力することを特徴とするクロック異常検出回路。
【請求項２】
前記異常判定部は、前記平均値と前記遅延段数演算部により算出された遅延素子の段数の値との差の絶対値が、予め設定された値より大きい場合に、前記基準クロック信号に異常があると判定することを特徴とする請求項１に記載のクロック異常検出回路。
【請求項３】
前記異常判定部による判定の基準となる前記予め設定された値は、外部装置から設定可能であることを特徴とする請求項２に記載のクロック異常検出回路。
【請求項４】
前記異常判定部は、前記平均値と前記遅延段数演算部により算出された遅延素子の段数の値との差の絶対値の、前記平均値に対する割合が、予め設定された値より大きい場合に、前記基準クロック信号に異常があると判定することを特徴とする請求項１に記載のクロック異常検出回路。
【請求項５】
前記異常判定部による判定の基準となる前記予め設定された値は、外部装置から設定可能であることを特徴とする請求項４に記載のクロック異常検出回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、集積回路のクロックの異常を検出するクロック異常検出回路に関する。
【０００２】
【従来の技術】
一般に、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ；大規模集積回路）やＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等を動作させるシステムクロックに外部からのノイズ等が入り込むと、ＬＳＩの誤動作を招く。このようなＬＳＩの異常を検出するため、従来、ＬＳＩのチップの電極にプローブ（探針）を接触させることによって、オシロスコープ等でシステムクロックの動作を確認する作業が行われていた。また、ＬＳＩが、外部からのノイズの影響を受けたことを検出して、誤動作状態から自動的に復帰する装置が提案されている（例えば、特許文献１参照。）。
【０００３】
【特許文献１】
特開２０００−１９０７４７号公報
【０００４】
【発明が解決しようとする課題】
しかしながら、上述のプローブを用いてＬＳＩの異常を検出する方法では、一つの基板上に複数のＬＳＩが搭載されている場合、プローブを用いて各ＬＳＩの異常を一つ一つ確認する必要があったため、システムクロックの異常を引き起こしたＬＳＩを特定するのに時間がかかるという問題があった。また、特許文献１の技術では、外部からのノイズに起因するシステムクロックの異常を検出するのみで、他の要因による異常を検出することができないという問題があった。
【０００５】
本発明の課題は、集積回路にシステムクロックの異常を検出する回路を内蔵することにより、短時間で容易にシステムクロックの異常を検出可能にすることである。
【０００６】
【課題を解決するための手段】
請求項１記載の発明は、多段接続された複数の遅延素子により、集積回路を動作させるための基準クロック信号を遅延させ、各段毎に遅延信号を出力する遅延信号出力部と、前記遅延信号出力部から出力された遅延信号の中から、前記基準クロック信号に同期する遅延信号を検出する同期信号検出部と、前記同期信号検出部により検出された遅延信号に基づいて、前記基準クロック信号の１周期に係る遅延素子の段数を算出する遅延段数演算部と、前記遅延段数演算部により算出された遅延素子の段数の平均値を算出し、その算出された平均値と、前記遅延段数演算部により算出された遅延素子の段数の値とを比較することによって、前記基準クロック信号の異常の有無を判定する異常判定部と、を備え、前記異常判定部は、前記基準クロック信号に異常があると判定した場合に、異常を通知するためのエラー信号を出力することを特徴としている。
【０００７】
この請求項１記載の発明によれば、集積回路を動作させるための基準クロック信号の１周期に係る遅延素子の段数に基づいて、基準クロック信号の異常の有無を判定し、基準クロック信号に異常があると判定されると、エラー信号を出力することにより、システムクロックの異常を容易に検出することができる。また、基準クロック信号に異常が発生した集積回路を短時間で特定することができる。
【０００８】
請求項２記載の発明は、請求項１に記載の発明において、前記異常判定部は、前記平均値と前記遅延段数演算部により算出された遅延素子の段数の値との差の絶対値が、予め設定された値より大きい場合に、前記基準クロック信号に異常があると判定することを特徴としている。
【０００９】
この請求項２記載の発明によれば、異常判定部は、遅延段数とその平均値の差の絶対値が、予め設定された値より大きい場合に、基準クロック信号に異常があると判定することにより、基準クロック信号の異常を容易に判定することができる。
【００１０】
請求項３記載の発明は、請求項２に記載の発明において、前記異常判定部による判定の基準となる前記予め設定された値は、外部装置から設定可能であることを特徴としている。
【００１１】
この請求項３記載の発明によれば、異常判定部による判定の基準となる値が、外部装置から設定可能であることにより、基準クロック信号の周波数が変化しても、基準クロック信号の異常を検出することができる。
【００１２】
請求項４記載の発明は、請求項１に記載の発明において、前記異常判定部は、前記平均値と前記遅延段数演算部により算出された遅延素子の段数の値との差の絶対値の、前記平均値に対する割合が、予め設定された値より大きい場合に、前記基準クロック信号に異常があると判定することを特徴としている。
【００１３】
この請求項４記載の発明によれば、異常判定部は、遅延段数とその平均値の差の絶対値の、平均値に対する割合が、予め設定された値より大きい場合に、基準クロック信号に異常があると判定することにより、基準クロック信号の異常を容易に判定することができる。
【００１４】
請求項５記載の発明は、請求項４に記載の発明において、前記異常判定部による判定の基準となる前記予め設定された値は、外部装置から設定可能であることを特徴としている。
【００１５】
この請求項５記載の発明によれば、異常判定部による判定の基準となる値が、外部装置から設定可能であることにより、基準クロック信号の周波数が変化しても、基準クロック信号の異常を検出することができる。
【００１６】
【発明の実施の形態】
以下、図を参照して本発明の実施の形態を詳細に説明する。
まず、構成を説明する。
【００１７】
図１は、本発明の実施の形態に係るクロック異常検出回路１の構成を示すブロック図である。クロック異常検出回路１は、ＬＳＩに内蔵され、図１に示すように、遅延信号出力部２、同期信号検出部３、遅延段数演算部４及び異常判定部５により構成される。これらの各部は、デジタル回路で構成されている。
【００１８】
遅延信号出力部２は、図２に示すように、ｍ個のディレイセル（遅延素子）ＤＣ１〜ＤＣｍと、複数のインバータＩＮＶにより構成される。これらのディレイセルＤＣ１〜ＤＣｍは直列に多段（ｍ段）接続され、ディレイセルＤＣ１〜ＤＣｍの各々の入力段及び出力段には、遅延信号出力部２に入力された基準クロック信号のデューティ比の崩れを抑制するためのインバータＩＮＶが挿入されている。この遅延信号出力部２を構成するディレイセルの段数ｍは、ディレイセルの特性、精度、動作保証範囲等により決定される。なお、クロック異常検出回路１に入力される基準クロック信号は、図１に示すように、ユーザ・ロジックで用いられるシステムクロックが分岐されたものである。
【００１９】
ディレイセルＤＣ１〜ＤＣｍは、各々に入力された信号を所定遅延量（例えば、Ｘ［ｐｓオーダ］）だけ遅延させて出力する。すなわち、ディレイセルＤＣ１〜ＤＣｍは、それぞれ、基準クロック信号を所定遅延量の整数倍（１〜ｍ倍）遅延させて出力する。よって、遅延信号出力部２は、ｍビット幅の信号を出力する。
【００２０】
詳述すると、図２において、１段目のディレイセルＤＣ１は、基準クロック信号を所定遅延量（例えば、Ｘ［ｐｓオーダ］）だけ遅延させて出力する。ディレイセルＤＣ１から出力された遅延信号ＤＬ１は、同期信号検出部３に出力されるとともに、ディレイセルＤＣ２に出力される。２段目のディレイセルＤＣ２は、入力された遅延信号ＤＬ１を所定遅延量（例えば、Ｘ［ｐｓオーダ］）だけ遅延させて出力する。ディレイセルＤＣ２から出力された遅延信号ＤＬ２は、同期信号検出部３に出力されるとともに、ディレイセルＤＣ３に出力される。ｍ段目のディレイセルＤＣｍは、入力された遅延信号ＤＬｍ−１を所定遅延量（例えば、Ｘ［ｐｓオーダ］）だけ遅延させて出力する。ディレイセルＤＣｍから出力された遅延信号ＤＬｍは、同期信号検出部３に出力される。
【００２１】
同期信号検出部３は、図３に示すように、遅延信号出力部２から出力された遅延信号（ＤＬ１〜ＤＬｍ）の値を保持するＤタイプのフリップフロップＦＦ１〜ＦＦｍと、ＮＡＮＤ回路Ｎ１〜Ｎｍから構成される。図３に示すように、フリップフロップＦＦｋ（ｋ＝１、２、…、ｍ−１）の出力端子Ｑと、隣接する後段のフリップフロップＦＦｋ＋１の反転出力端子ＱＢは、ＮＡＮＤ回路Ｎｋの入力段に接続されている。
【００２２】
フリップフロップＦＦ１〜ＦＦｍの各々のデータ入力端子Ｄには、それぞれ、遅延信号出力部２からの遅延信号ＤＬ１〜ＤＬｍが入力される。フリップフロップＦＦ１〜ＦＦｍの各々のクロック入力端子には、共通に基準クロック信号（ＤＬ０）が入力される。フリップフロップＦＦ１〜ＦＦｍは、基準クロック信号に同期して、それぞれ、入力された遅延信号ＤＬ１〜ＤＬｍの値（“Ｈ”又は“Ｌ”）を保持し、保持した値を出力端子Ｑから出力するとともに、この保持した値を反転させた値を反転出力端子ＱＢから出力する。
【００２３】
ＮＡＮＤ回路Ｎ１〜Ｎｍ−１は、それぞれ、フリップフロップＦＦ１〜ＦＦｍ−１の出力端子Ｑから出力された値と、次段のフリップフロップＦＦ２〜ＦＦｍの反転出力端子ＱＢから出力された値の否定論理積を演算して出力する。ＮＡＮＤ回路Ｎ１〜Ｎｍの出力のうち、遅延信号が基準クロック信号の立ち上がりエッジに同期したフリップフロップに対応するＮＡＮＤ回路の出力のみがＬレベルとなる。これにより、基準クロック信号に同期した段数のフリップフロップの出力が検出可能になる。
【００２４】
図１において、遅延段数演算部４は、Ｌレベルを出力したＮＡＮＤ回路の段数に基づいて、基準クロック信号の１周期分の遅延に対応するディレイセルの段数（遅延段数）を算出する。
【００２５】
異常判定部５は、遅延段数演算部４で算出された複数の遅延段数の値をサンプリングし、そのサンプリングした複数の遅延段数の値から、遅延段数の平均値を算出し、遅延段数演算部４から遅延段数の値が入力される毎に、その入力された遅延段数と平均値とを比較する。異常判定部５は、遅延段数演算部４から入力された遅延段数と平均値の比較により、両者の差の絶対値が設定値αより大きいか否かを判定する。異常判定部５は、両者の差の絶対値が設定値αより大きいと判定した場合、基準クロック信号に異常があるとみなし、エラー信号を生成して出力する。
【００２６】
なお、上述では、異常判定部５は、遅延段数演算部４から入力された遅延段数と平均値の差の絶対値が設定値αより大きいか否かを判定したが、遅延段数演算部４から入力された遅延段数と平均値の差の絶対値の、平均値に対する割合が設定値より大きいか否かを判定するようにしてもよい。
【００２７】
ここで、異常判定部５における判定の基準となる設定値αは、異常判定部５内のレジスタに保存されおり、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の外部装置６により書き換えることができる。基準クロック信号の周波数に応じて、基準クロック信号の１周期の遅延段数が変化し、ディレイセル１段分に対する重み（ディレイセル１段分が基準クロック信号の１周期に占める割合）が変化する。このため、判定の基準となる設定値αは、基準クロック信号の周波数に応じて書き換えられる。
【００２８】
次に、図４及び図５を参照して、本実施の形態における動作を説明する。
図４は、遅延信号出力部２に入力される基準クロック信号（ＤＬ０）と、遅延信号出力部２から出力される遅延信号（ＤＬ１〜ＤＬｍ）のタイミングチャートの一例を示した図である。
【００２９】
図４に示すように、遅延信号出力部２に入力された基準クロック信号（ＤＬ０）は、ディレイセルＤＣ１により所定遅延量Ｘだけ遅延され、ディレイセルＤＣ１からインバータＩＮＶを介して遅延信号ＤＬ１が出力される。また、基準クロック信号（ＤＬ０）は、ディレイセルＤＣ１及びＤＣ２により所定遅延量Ｘの２倍だけ遅延され、ディレイセルＤＣ２からインバータＩＮＶを介して遅延信号ＤＬ２が出力される。同様に、基準クロック信号（ＤＬ０）は、ディレイセルＤＣ１〜ＤＣｋ（ｋ＝１、２、…、ｍ）により、所定遅延量Ｘのｋ倍だけ遅延され、ディレイセルＤＣｋからインバータＩＮＶを介して遅延信号ＤＬｋが出力される。
【００３０】
遅延信号出力部２から出力された各遅延信号は、同期信号検出部３内のフリップフロップＦＦ１〜ＦＦｍに入力される。フリップフロップＦＦ１〜ＦＦｍには、基準クロック信号の立ち上がりエッジに同期したタイミングで、入力された遅延信号ＤＬ１〜ＤＬｍの値（“Ｈ”又は“Ｌ”）が取り込まれ、取り込まれた値が保持される。フリップフロップＦＦＡ〜ＦＦｍの出力端子Ｑからは、フリップフロップに保持された値が出力され、反転出力端子ＱＢからは、保持された値を反転した値が出力される。
【００３１】
フリップフロップＦＦｋ（ｋ＝１、２、…、ｍ−１）の出力端子Ｑからの出力値は、ＮＡＮＤ回路Ｎｋの一方の端子に入力され、フリップフロップＦＦｋ＋１の反転出力端子ＱＢからの出力値は、ＮＡＮＤ回路Ｎｋの他方の端子に入力される。ＮＡＮＤ回路Ｎ１〜Ｎｍでは、フリップフロップＦＦ１〜ＦＦｍから入力された２つの値の否定論理積が演算され、演算結果は、遅延段数演算部４に出力される。基準クロック信号の立ち上がりエッジに同期した遅延信号に対応するＮＡＮＤ回路からＬレベルが出力され、基準クロック信号の立ち上がりエッジに同期していない遅延信号に対応するＮＡＮＤ回路からＨレベルが出力される。
【００３２】
図４に示したタイミングチャートでは、遅延信号ＤＬ１００が、基準クロック信号と１回目に同期し、遅延信号ＤＬ２００が、基準クロック信号と２回目に同期している。従って、ＮＡＮＤ回路Ｎ１００及びＮ２００からＬレベルが出力され、その他のＮＡＮＤ回路からＨレベルが出力される。
【００３３】
遅延段数演算部４では、Ｌレベルを出力した２つのＮＡＮＤ回路の段数の差から、基準クロック信号の１周期分の遅延に対応するディレイセルの段数（遅延段数）が算出される。図４に示したタイミングチャートの例では、ＮＡＮＤ回路Ｎ１００及びＮ２００からＬレベルが出力されることから、遅延段数は、２００−１００＝１００段となる。遅延段数演算部４で算出された遅延段数は、異常判定部５に出力される。
【００３４】
異常判定部５では、遅延段数演算部４から入力された複数の遅延段数の値がサンプリングされ、そのサンプリングした複数の遅延段数の値から、遅延段数の平均値が算出される。遅延段数演算部４から遅延段数の値が入力される毎に、異常判定部５では、その入力された遅延段数と平均値とが比較され、両者の差の絶対値が設定値αより大きいか否かが判定される。遅延段数演算部４から入力された遅延段数と平均値との差の絶対値が設定値αより大きいと判定された場合、基準クロック信号に異常があるとみなされ、エラー信号が生成され、生成されたエラー信号が出力される。
【００３５】
例えば、遅延信号出力部２にノイズ等が入り込むことによって、遅延信号出力部２から出力される遅延信号に、図５に示すような、基準クロック信号の周期より小さな周期を有する微小パルスＰが入った場合、遅延信号ＤＬ１００が基準クロック信号と１回目に同期した後、遅延信号ＤＬ１０５が基準クロック信号と２回目に同期することになる。この場合、遅延段数は、１０５−１００＝５となる。
【００３６】
例えば、遅延段数の平均値が１００で、判定の基準となる設定値αが３であるとする。この場合、遅延段数演算部４で算出された遅延段数５と、遅延段数の平均値１００の差の絶対値は９５となり、この値は、設定値α＝３よりも著しく大きいため、基準クロック信号に異常があると判定される。なお、上述では、図５に示すように、遅延信号出力部２にノイズ等の微小パルスが入力された場合に、基準クロック信号の異常を検出する場合を示したが、基準クロック信号の周期が突然変化した場合（マルチクロックの切り替え）においても、基準クロック信号の異常を検出することができる。
【００３７】
以上のように、本実施の形態のクロック異常検出回路１によれば、ＬＳＩを動作させるための基準クロック信号（システムクロック）の１周期に係るディレイセルの段数に基づいて、システムクロックの異常の有無を判定し、システムクロックに異常があると判定されると、エラー信号を出力することにより、システムクロックの異常を容易に検出することができる。また、システムクロックに異常が発生したＬＳＩを短時間で特定することができる。
【００３８】
更に、システムクロックの異常を判別するための基準となる設定値αが、ＣＰＵ等の外部装置によって書き換え可能であることにより、システムクロックの周波数が変化しても、システムクロックの異常を検出することができる。
【００３９】
また、ＬＳＩ内にデジタル回路でクロック異常検出回路１を構成することにより、システムクロックの異常検出を、安価なコストで実現することができる。
【００４０】
なお、本実施の形態における記述内容は、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【００４１】
【発明の効果】
請求項１記載の発明によれば、集積回路を動作させるための基準クロック信号の１周期に係る遅延素子の段数に基づいて、基準クロック信号の異常の有無を判定し、基準クロック信号に異常があると判定されると、エラー信号を出力することにより、システムクロックの異常を容易に検出することができる。また、基準クロック信号に異常が発生した集積回路を短時間で特定することができる。
【００４２】
請求項２記載の発明によれば、異常判定部は、遅延段数とその平均値の差の絶対値が、予め設定された値より大きい場合に、基準クロック信号に異常があると判定することにより、基準クロック信号の異常を容易に判定することができる。
【００４３】
請求項３記載の発明によれば、異常判定部による判定の基準となる値が、外部装置から設定可能であることにより、基準クロック信号の周波数が変化しても、基準クロック信号の異常を検出することができる。
【００４４】
請求項４記載の発明によれば、異常判定部は、遅延段数とその平均値の差の絶対値の、平均値に対する割合が、予め設定された値より大きい場合に、基準クロック信号に異常があると判定することにより、基準クロック信号の異常を容易に判定することができる。
【００４５】
請求項５記載の発明によれば、異常判定部による判定の基準となる値が、外部装置から設定可能であることにより、基準クロック信号の周波数が変化しても、基準クロック信号の異常を検出することができる。
【図面の簡単な説明】
【図１】本発明を適用した実施の形態のクロック異常検出回路１の構成を示すブロック図。
【図２】遅延信号出力部２の回路構成を示す図。
【図３】同期信号検出部３の回路構成を示す図。
【図４】遅延信号出力部２から出力される遅延信号を示すタイミングチャート。
【図５】基準クロック信号に異常が発生した場合に、遅延信号出力部２から出力される遅延信号を示すタイミングチャート。
【符号の説明】
１    クロック異常検出回路
２    遅延信号出力部
３    同期信号検出部
４    遅延段数演算部
５    異常判定部
６    外部装置
【図１】
2004185470.tif 000003
【図２】
2004185470.tif 000004
【図３】
2004185470.tif 000005
【図４】
2004185470.tif 000006
【図５】
2004185470.tif 000007