(57)【要約】【課題】クロックの異常の有無、および異常が生じた場合にはその種類を判定することができ、異常の種類に応じた適切な対処を可能とするクロック診断回路を提供する。【解決手段】実施形態のクロック診断回路１は、遅延回路３ａ〜３ｃで構成され、遅延時間がそれぞれ異なる複数の遅延クロック（ＤＣＬＫ［０］〜ＤＣＬＫ［２］）を生成する遅延クロック生成回路３と、複数の遅延クロックをクロックの周期に合わせてそれぞれ保持する保持回路４と、クロックを診断する際の基準となる基準クロックパターン（ＭＤＡＴＡ［０：２］）を記憶する記憶回路５と、各遅延クロックの信号レベルの組み合わせである対象クロックパターン（ＣＤＡＴＡ［０：２］）と基準クロックパターンとを対比することにより、クロックの異常の有無および異常がある場合にはその異常の種類を判定する判定回路６と、を備える。【選択図】図１
2016208226.tif 000002
【特許請求の範囲】
【請求項１】
クロックを診断するクロック診断回路（１）であって、
直列に接続された複数段の遅延回路（３ａ〜３ｎ）で構成され、入力されたクロックを通過した前記遅延回路（３ａ〜３ｎ）の段数分だけ遅延させて、遅延時間がそれぞれ異なる複数の遅延クロックを生成する遅延クロック生成回路（３）と、
前記遅延クロック生成回路（３）で生成された複数の遅延クロックをクロックの周期に合わせてそれぞれ保持する保持回路（４）と、
クロックを診断する際の基準となる信号レベルの組み合わせである基準クロックパターンを記憶する記憶回路（５、８）と、
前記保持回路（４）で保持されている複数の遅延クロックの信号レベルの組み合わせである対象クロックパターンと前記記憶回路（５、８）に記憶されている基準クロックパターンとを対比することにより、クロックの異常の有無および異常がある場合にはその異常の種類を判定する判定回路（６）と、
を備えることを特徴とするクロック診断回路。
【請求項２】
前記記憶回路（５、８）は、前回の周期における遅延クロックのそれぞれの信号レベルを、基準クロックパターンとして記憶することを特徴とする請求項１記載のクロック診断回路。
【請求項３】
前記遅延クロック生成回路（３）は、３段以上の前記遅延回路（３ａ〜３ｎ）で構成されていることを特徴とする請求項１または２記載のクロック診断回路。
【請求項４】
対象クロックパターンを、クロックの異常の種類を示す信号として用いることを特徴とする請求項１から３のいずれか一項記載のクロック診断回路。
【請求項５】
前記判定回路（６）は、クロックの周期のずれおよびクロックのデューティ比のずれを、当該クロックの異常として判定することを特徴とする請求項１から４のいずれか一項記載のクロック診断回路。
【請求項６】
前記判定回路（６）においてクロックの周期のずれおよびデューティ比のずれを検出する際の精度を、前記遅延回路（３ａ〜３ｎ）の段数によって設定することを特徴とする請求項５記載のクロック診断回路。
【請求項７】
前記判定回路（６）は、前記遅延クロック生成回路（３）で生成される複数の遅延クロックのうち任意の遅延クロックの信号レベルの組み合わせを、対象クロックパターンとして用いることを特徴とする請求項１から６のいずれか一項記載のクロック診断回路。
【請求項８】
前記記憶回路（８）は、記憶素子で構成され、
前記記憶回路（８）に基準クロックパターンを設定する設定部（９）を備えることを特徴とする請求項１から７のいずれか一項記載のクロック診断回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロックを診断するためのクロック診断回路に関する。
【背景技術】
【０００２】
例えばマイクロコンピュータ等の半導体装置は、基準となるクロックに基づいて作動する。このとき、基準となるクロックに異常が生じると誤動作するおそれがあることから、クロックの異常を検出するための検出回路を半導体装置に設けることがある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１８５４７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記した特許文献１のような検出回路では、クロックに異常が生じたことを検出することはできるものの、どのような種類の異常が生じたかを判定することはできなかった。その結果、異常の種類に応じた適切な対処をとることができないという問題があった。
【０００５】
本発明は、上記した事情に鑑みてなされたものであり、その目的は、クロックの異常の有無、および異常が生じた場合にはその種類を判定することができ、異常の種類に応じた適切な対処を可能とするクロック診断回路を提供することにある。
【課題を解決するための手段】
【０００６】
請求項１に記載した発明によれば、直列に接続された複数段の遅延回路で構成され、入力されたクロックを通過する遅延回路の段数分だけ遅延させて、遅延時間がそれぞれ異なる複数の遅延クロックを生成する遅延クロック生成回路と、遅延クロック生成回路で生成された複数の遅延クロックをクロックの周期に合わせてそれぞれ保持する保持回路と、クロックを診断する際の基準となる信号レベルの組み合わせである基準クロックパターンを記憶する記憶回路と、保持回路で保持されている複数の遅延クロックの信号レベルの組み合わせである対象クロックパターンと記憶回路に記憶されている基準クロックパターンとを対比することにより、クロックの異常の有無および異常がある場合にはその異常の種類を判定する判定回路と、を備える。
【０００７】
これにより、クロックに異常が生じたこと、および、異常が生じた場合にはどのような種類の異常が生じたかを判定することができる。したがって、異常の種類に応じた適切な対処をとることができ、例えばシステム的に問題ないクロックの異常についてはエラー処理を行わないことでＣＰＵ等の処理負荷を低減できる等、より高機能な対処が可能となる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態のクロック診断回路の電気的構成を模式的に示す図
【図２】正常時のクロックパターンの一例を示す図
【図３】デューティ比が小さい状態のクロックの一例を示す図
【図４】デューティ比が大きい状態のクロックの一例を示す図
【図５】周期が短い状態のクロックの一例を示す図
【図６】周期が長い状態のクロックの一例を示す図
【図７】異常の種類とクロックパターンとの関係を示す図
【図８】第２実施形態のクロック診断回路の電気的構成を模式的に示す図
【図９】デューティ比のずれを模式的に示す図
【図１０】周期のずれを模式的に示す図
【図１１】遅延段数と異常の検出精度との関係を示す図
【図１２】第３実施形態のクロック診断回路の電気的構成を模式的に示す図
【発明を実施するための形態】
【０００９】
以下、本発明の複数の実施形態について図面を参照しながら説明する。なお、各実施形態において実質的に共通する部位には同一符号を付し、その詳細な説明は省略する。
（第１実施形態）
以下、第１実施形態について、図１から図７を参照しながら説明する。
【００１０】
図１に示すように、本実施形態のクロック診断回路１は、例えばマイクロコンピュータ等の半導体装置（図示省略）に内蔵されている。この半導体装置は、ＣＰＵや周辺回路等のユーザロジック２を有しており、それらのユーザロジック２は、クロック（図１にはＣＬＫと示す）に基づいて作動する。
【００１１】
クロック診断回路１は、遅延クロック生成回路３、保持回路４、記憶回路５、および判定回路６等を備えている。遅延クロック生成回路３は、入力されたクロックを遅延させて遅延クロック（図１には、ＤＣＬＫと示す）を出力する。本実施形態の場合、遅延クロック生成回路３は、直列に接続された３つの遅延回路３ａ〜３ｃを有しており、クロック（ＣＬＫ）に対する遅延時間がそれぞれ異なる３つの遅延クロック（ＤＣＬＫ［０］〜ＤＣＬＫ［２］）を出力する。
【００１２】
本実施形態では、各各遅延回路３ａ〜３ｃは、その遅延時間（Ｔｄ。図２参照）が同一に設定されている。そのため、図２に示すように、クロックの１周期をＴｃとすると、Ｔｄ＝１／３Ｔｃであり、各遅延クロック（ＤＣＬＫ［０］〜ＤＣＬＫ［２］）のうち、初段の遅延回路３ａから出力されるＤＣＬＫ［０］は、入力されたクロック（ＣＬＫ）からＴｄだけ遅れて出力される。なお、各遅延回路３ａ〜３ｃは、インバータ（ＮＯＴゲート）を直列に接続したり、抵抗素子や容量素子を利用したりする等、周知の手法で実現されている。
【００１３】
同様に、２段目の遅延回路３ｂから出力されるＤＣＬＫ［１］は、ＤＣＬＫ［０］からＴｄだけ遅れて出力されるため、クロック（ＣＬＫ）からは２×Ｔｄだけ遅れて出力される。また、３段目の遅延回路３ｃから出力されるＤＣＬＫ［２］は、ＤＣＬＫ［１］からさらにＴｄだけ遅れて出力されるため、クロック（ＣＬＫ）からは３×Ｔｄだけ遅れて出力される。
【００１４】
これらの各遅延クロック（ＤＣＬＫ［０］〜ＤＣＬＫ［２］）は、保持回路４に入力される。保持回路４は、入力された遅延クロックを、クロック（ＣＬＫ）の周期に合わせてそれぞれ保持する。より具体的には、保持回路４は、本実施形態では遅延クロックの数に応じた複数のＤフリップフロップ回路（以下、ＤＦＦと称する）で構成されている。本実施形態の場合、遅延クロックが３つであるので、保持回路は、３つのＤＦＦ４ａ〜４ｃを有している。各ＤＦＦ４ａ〜４ｃは、それぞれに入力された遅延クロックを、クロック（ＣＬＫ）が立ち上がるタイミングで保持する。
【００１５】
このように、各遅延クロック、より厳密に言えば、各遅延クロックの信号レベルは、保持回路４によって保持される。以下、保持回路４によって保持された遅延クロックの信号レベルについて、ＤＣＬＫ［０］の信号レベルをＣＤＡＴＡ［０］とし、ＤＣＬＫ［１］の信号レベルをＣＤＡＴＡ［１］とし、ＤＣＬＫ［２］の信号レベルをＣＤＡＴＡ［２］として説明する。
【００１６】
さて、図２に示すような正常時、つまり、クロックに異常が生じていない状態では、ＤＣＬＫ［０］は、遅延回路３ａによって遅延されたことにより、クロック（ＣＬＫ）の立ち上がりタイミングでは、その信号レベルがＬレベルになっている。このため、ＣＤＡＴＡ［０］もＬレベルになる。以下、Ｌレベルを０として説明する。一方、ＤＣＬＫ［１］は、遅延回路３ｂによって遅延されたことにより、クロック（ＣＬＫ）の立ち上がりタイミングでは、その信号レベルがＨレベルになっている。このため、ＣＤＡＴＡ［１］は、Ｈレベルになる。以下、Ｈレベルを１とする。
【００１７】
また、ＤＣＬＫ［２］は、遅延回路３ｃによって遅延されたことにより、クロック（ＣＬＫ）の立ち上がりタイミングでは、Ｌレベルになっている。なお、図２では、説明の簡略化のために０から１または１から０の遷移時間等を示していないが、ＤＣＬＫ「２」の場合、クロック（ＣＬＫ）が立ち上がるタイミングでは信号レベルがＬになっており、その状態がＣＤＡＴＡ［２］として保持される。そのため、クロック（ＣＬＫ）の立ち上がりタイミングにおけるＣＤＡＴＡ［２］は、正常時には０になる。
【００１８】
このように、クロックに異常が生じていない正常時には、各信号レベルの組み合わせは、ＣＤＡＴＡ［０］＝０、ＣＤＡＴＡ［１］＝１、ＣＤＡＴＡ［２］＝０となる。そして、保持回路４で保持された各遅延クロック（ＤＣＬＫ［０］〜ＤＣＬＫ［２］）の信号レベル（ＣＤＡＴＡ［０］〜ＣＤＡＴＡ［２］。以下、ＣＤＡＴＡ［０：２］とも示す）の組み合わせが、本実施形態における対象クロックパターンに相当する。なお、以下では、対象クロックパターンを、各信号レベルを組み合わせて例えば［０，１，０］のようにも示す。
【００１９】
この対象クロックパターンは、図１に示すように、記憶回路５および判定回路６に入力される。記憶回路５は、クロックを診断する際の基準となる信号レベルの組み合わせである基準クロックパターンを記憶する。具体的には、本実施形態の記憶回路５は、対象クロックパターンとして入力される信号レベルの数に応じた複数（ここでは、３つ）のＤＦＦ５ａ〜５ｃで構成されている。これらＤＦＦ５ａ〜５ｃは、それぞれに入力された対象パターンの信号レベルを、クロック（ＣＬＫ）が立ち上がるタイミングで保持する。このため、記憶回路５には、１周期分だけ前の対象クロックパターンが記憶されることになる。
【００２０】
そして、この記憶回路５に記憶されている各信号レベル（図１にＭＤＡＴＡ［０］〜ＭＤＡＴＡ［２］と示す）の組み合わせが、本実施形態における基準クロックパターン（ＭＤＡＴＡ［０：２］）に相当する。すなわち、本実施形態では、記憶回路５に記憶されている前回の周期における遅延クロックのそれぞれの信号レベルを、基準クロックパターンとして用いている。記憶回路５に記憶されている基準クロックパターンは、判定回路６に入力される。
【００２１】
以下、基準クロックパターンを、対象クロックパターンと同様に各信号レベルを組み合わせて［０，１，０］のようにも示して説明する。なお、図２に示すような正常時においては、基準クロックパターンは、対象クロックパターンと同じ［０，１，０］になる。
【００２２】
判定回路６は、対象クロックパターンと基準クロックパターンとを対比することにより、クロックの異常の有無、および異常がある場合にはその異常の種類を判定する。また、判定回路は、図１に示すように、異常が生じたことを示すエラー発生信号（図１には、ＥＲＲＯＲと示す）、および、生じた異常の種類を示すエラー種類信号（図１にはＥＲＲ［０］〜ＥＲＲ［２］と示す）を出力する。これらＥＲＲＯＲおよびＥＲＲ［０］〜ＥＲＲ［２］は、例えばＣＰＵや外部の装置（いずれも図示省略）等に出力される。
【００２３】
より具体的には、判定回路６は、本実施形態では比較器を備えており、対象クロックパターンと基準クロックパターンとを比較し、その比較結果をエラー状態として内部的に取得する。本実施形態の場合、判定回路６は、図２に示すように、エラー状態としてとして、対象クロックパターンと基準クロックパターンとが一致する場合にはＬレベル、両者が一致しない場合にはＨレベルを取得する。なお、図２に示す正常時においては、対象クロックパターンと基準クロックパターンとが一致していることから、エラー状態はＬレベルつまり異常が生じていない状態となっている。そして、このエラー状態が、ＥＲＲＯＲとして出力される。
【００２４】
また、詳細は後述する図７を参照しながら説明するが、本実施形態の判定回路６は、対象クロックパターン（ＣＤＡＴＡ［０］〜ＣＤＡＴＡ［２］）そのものを、エラー種類信号（図１にはＥＲＲ［０］〜ＥＲＲ［２］と示す）として出力する。判定回路６から出力されたエラー種類信号は、ＣＰＵ等に入力され、異常への対処（いわゆるエラー処理）が行われることになる。
【００２５】
次に上記した構成の作用について説明する。
まず、クロックの異常について検討してみる。一般的に、異常とは、正常な状態とは異なる状態になったことを意味している。そのため、従来では、クロックが正常な状態ではなくなった場合に異常が生じたと判定していた。この場合、クロックの異常としては、クロックのデューティ比のずれや、周期のずれ（周波数のずれ）などが考えられる。そして、従来では、クロックになんらかの異常が生じると、異常が発生したことをＣＰＵ等の周辺回路に通知していた。
【００２６】
しかし、仮にクロック自体に異常が生じたとしても、システム全体から見れば異常にはならない状況が考えられる。例えば、クロックの立ち上がりタイミングにデータを取り込むようなシステムの場合には、クロックの周期がずれるとデータを取り込むタイミングもずれてしまうことから、周期のずれは異常として検出すべきであると考えられる。一方で、クロックの周期が正常であれば、デューティ比が多少ずれたとしてもデータを取り込むタイミングがずれることはないため、デューティ比のずれを異常とする必要性は低いと考えられる。そして、このような場合には、システムとしては異常に対処するための処理をする必要がないと考えられる。
【００２７】
このように、クロック単体でみた場合とシステム全体からみた場合とでは、クロックの異常に対する考え方が異なることがある。そのため、単に異常が生じたことを検出するだけではなく、どのような種類の異常が生じたかを判定することができれば、すなわち、クロックを診断することができれば、ＣＰＵ等で不要な処理を行わなくて済む等、システムからみた場合により有意になると考えられる。つまり、異常の種類に応じた適切な対処をとることができると考えられる。その一方で、クロックを診断する場合であっても、診断のために別のクロックを用意したり、回路構成が複雑になったりすることは望ましくない。
【００２８】
そこで、本実施形態のクロック診断回路１は、上記した構成を備えることにより、クロック（ＣＬＫ）とは別のクロックを用いることなく、また、回路構成の複雑化を招くことなく、クロック（ＣＬＫ）の診断を行っている。なお、本実施形態では、図２に示すように、クロックの１周期（Ｔｃ）において、クロックがＨレベルになっている時間（ＴｃＨ）は、ＴｃＨ＝１／２Ｔｃの関係となっている状態、つまり、クロックの周期がＴｃであり、デューティ比が５０％になっている状態を正常時としている。
【００２９】
本実施形態では、上記したようにクロックのデューティ比のずれ、およびクロックの周期のずれを診断対象としているため、以下ではそれらの異常について個別に説明する。なお、説明の簡略化のため、まず、異常を検出する態様について個別に説明する。
【００３０】
＜＜クロックのデューティ比が小さい状態＞＞
図３に示すように、時刻Ｔ０において立ち上がったクロックは、Ｈレベルになっている時間（ＴｃＨｓ）が、正常な状態（上記したＴｃＨ）よりも短くなった領域Ｒａが存在している。このようにＴｃＨｓ＜ＴｃＨとなっている状態は、クロックのデューティ比が５０％よりも小さくなっている状態に相当する。
【００３１】
このクロックは、遅延クロック生成回路３に入力され、各遅延回路３ａ〜３ｃにおいてそれぞれ遅延される。そのため、遅延クロック生成回路３から出力される各遅延クロック（ＤＣＬＫ［０］〜ＤＣＬＫ［２］）にも、同様にデューティ比が小さくなった領域Ｒａが現れることになる。このため、時刻Ｔ０においては、対象クロックパターン（ＣＤＡＴＡ［０：２］）は［０，１，０］になっているものの、時刻Ｔ１において保持された対象クロックパターンは、［０，０，０］となる。
【００３２】
さて、本実施形態の場合、基準クロックパターンとして前回の周期の対象クロックパターンを用いているため、この基準クロックパターンは、実質的に１周期遅れた対象クロックパターンとなっている。このため、時刻Ｔ１における基準クロックパターンは、［０，１，０］になっている。
【００３３】
このため、時刻Ｔ１において対象クロックパターンと基準クロックパターンとが一致しない状態が発生する。このとき、判定回路６は、両者が一致しないことから、エラー状態（ＥＲＲＯＲ）としてＨレベルを取得する。すなわち、クロックに異常が生じたことが検出される。そして、判定回路６は、エラー状態がＨレベルになったタイミングにおける対象クロックパターン（この場合、［０，０，０］）を、エラー種類信号（ＥＲＲ［０：２］）として出力する。このとき、出力されるエラー種類信号は、ＥＲＲ［０：２］＝［０，０，０］となる。
【００３４】
このように、デューティ比が正常時よりも小さい状態では、クロック診断回路１は、異常が生じたことをエラー発生信号（ＥＲＲＯＲ）により出力し、その以上の種類をエラー種類信号により出力する。なお、時刻Ｔ１においてクロックは正常に戻っているが、時刻Ｔ２では基準クロックパターンが［０，０，０］であり、時刻Ｔ３において基準クロックパターンが［０，１，０］となるため、エラー状態は、時刻Ｔ１〜Ｔ３の期間においてＨレベルとして取得される。
【００３５】
＜＜クロックのデューティ比が大きい状態＞＞
図４に示すように、時刻Ｔ０において立ち上がったクロックは、Ｈレベルになっている時間（ＴｃＨｌ）が、正常な状態（上記したＴｃＨ）よりも長くなった領域Ｒｂが存在している。このようにＴｃＨｌ＞ＴｃＨとなっている状態は、クロックのデューティ比が５０％よりも大きくなっている状態に相当する。
【００３６】
このクロックは、遅延クロック生成回路３に入力され、各遅延回路３ａ〜３ｃにおいてそれぞれ遅延される。そのため、遅延クロック生成回路３から出力される各遅延クロック（ＤＣＬＫ［０］〜ＤＣＬＫ［２］）にも、同様にデューティ比が大きくなった領域Ｒｂが現れることになる。このため、時刻Ｔ０においては、対象クロックパターン（ＣＤＡＴＡ［０：２］）は［０，１，０］になっているものの、時刻Ｔ１において保持された対象クロックパターンは、［１，１，０］となる。
【００３７】
一方、時刻Ｔ１における基準クロックパターンは、［０，１，０］である。このため、時刻Ｔ１において対象クロックパターンと基準クロックパターンとが一致しない状態が発生する。その結果、判定回路６は、エラー状態（ＥＲＲＯＲ）としてＨレベルを取得する。そして、判定回路６は、エラー状態がＨレベルになったタイミングにおける対象クロックパターン（この場合、［１，１，０］）を、エラー種類信号として出力するため、判定回路６からは、エラー種類信号としてＥＲＲ［０：２］＝［１，１，０］が出力される。
【００３８】
このように、デューティ比が正常時よりも大きい状態では、クロック診断回路１からは、エラー種類信号として［１，１，０］が出力される。なお、時刻Ｔ１においてクロックが正常に戻った場合には、クロックのデューティ比が小さい場合と同様に、時刻Ｔ１〜Ｔ３までエラー状態がＨレベルとして取得された後、エラー状態がＬレベルになる。
【００３９】
＜＜クロックの周期が短い状態＞＞
図５に示すように、時刻Ｔ０において立ち上がったクロックは、その周期（Ｔｃｓ）が、正常な状態（上記したＴｃ）よりも短くなった領域Ｒｃが存在している。このようにＴｃｓ＜Ｔｃとなっている状態は、クロックの周期が短くなった状態に相当する。なお、周期が短くなった状態は、クロックの周波数が高くなった状態とも言える。
【００４０】
このクロックは、遅延クロック生成回路３に入力され、各遅延回路３ａ〜３ｃにおいてそれぞれ遅延される。そのため、遅延クロック生成回路３から出力される各遅延クロック（ＤＣＬＫ［０］〜ＤＣＬＫ［２］）にも、同様に周期が短くなった領域Ｒｃが現れることになる。このため、時刻Ｔ０においては、対象クロックパターン（ＣＤＡＴＡ［０：２］）は［０，１，０］になっているものの、時刻Ｔ１において保持された対象クロックパターンは、［１，０，０］となる。
【００４１】
一方、時刻Ｔ１における基準クロックパターンは、［０，１，０］である。このため、時刻Ｔ１において対象クロックパターンと基準クロックパターンとが一致しない状態が発生する。その結果、判定回路６は、エラー状態（ＥＲＲＯＲ）としてＨレベルを取得する。そして、判定回路６は、エラー状態がＨレベルになったタイミングにおける対象クロックパターン（この場合、［１，０，０］）を、エラー種類信号として出力するため、判定回路６からは、エラー種類信号としてＥＲＲ［０：２］＝［１，０，０］が出力される。
【００４２】
このように、デューティ比が正常時よりも大きい状態では、クロック診断回路１からは、エラー種類信号として［１，０，０］が出力される。なお、時刻Ｔ１においてクロックが正常に戻った場合には、クロックのデューティ比が小さい場合等と同様に、時刻Ｔ１〜Ｔ３までエラー状態がＨレベルとして取得された後、エラー状態がＬレベルになる。
【００４３】
＜＜クロックの周期が長い状態＞＞
図６に示すように、時刻Ｔ０において立ち上がったクロックは、その周期（Ｔｃｌ）が、正常な状態（上記したＴｃ）よりも長くなった領域Ｒｄが存在している。このようにＴｃｌ＞Ｔｃとなっている状態は、クロックの周期が長くなった状態に相当する。なお、周期が長くなった状態は、クロックの周波数が低くなった状態とも言える。
【００４４】
このクロックは、遅延クロック生成回路３に入力され、各遅延回路３ａ〜３ｃにおいてそれぞれ遅延される。そのため、遅延クロック生成回路３から出力される各遅延クロック（ＤＣＬＫ［０］〜ＤＣＬＫ［２］）にも、同様に周期が長くなった領域Ｒｄが現れることになる。このため、時刻Ｔ０においては、対象クロックパターン（ＣＤＡＴＡ［０：２］）は［０，１，０］になっているものの、時刻Ｔ１において保持された対象クロックパターンは、［０，１，１］となる。
【００４５】
一方、時刻Ｔ１における基準クロックパターンは、［０，１，０］である。このため、時刻Ｔ１において対象クロックパターンと基準クロックパターンとが一致しない状態が発生する。その結果、判定回路６は、エラー状態（ＥＲＲＯＲ）としてＨレベルを取得する。そして、判定回路６は、エラー状態がＨレベルになったタイミングにおける対象クロックパターン（この場合、［０，１，１］）を、エラー種類信号として出力するため、判定回路６からは、エラー種類信号としてＥＲＲ［０：２］＝［０，１，１］が出力される。
【００４６】
このように、デューティ比が正常時よりも大きい状態では、クロック診断回路１からは、エラー種類信号として［１，０，０］が出力される。なお、時刻Ｔ１においてクロックが正常に戻った場合には、クロックのデューティ比が小さい場合と同様に、時刻Ｔ１〜Ｔ３までエラー状態がＨレベルとして取得された後、エラー状態がＬレベルになる。
【００４７】
さて、これら図３〜図６に示した異常が発生した時の態様をまとめてみると、図７に示すようになる。この図７は、クロック診断回路１による異常の診断結果とも言える。
具体的には、異常の種類が正常時（つまり、異常なし）の場合には、エラー状態はＬレベルのままであり、そのときの対象クロックパターン（ＤＣＡＴＡ［０：２］）は［０，１，０］であり、エラー種類信号（ＥＲＲ［０：２］）は［０，１，０］になる。
【００４８】
一方、ディーティ比が小さい状態の場合には、エラー状態はＬ→Ｈに遷移し、そのときの対象クロックパターンは［０，０，０］であり、エラー種類信号は［０，０，０］になる。また、ディーティ比が大きい状態の場合、エラー状態はＬ→Ｈに遷移し、そのときの対象クロックパターンは［１，１，０］であり、エラー種類信号は［１，１，０］になる。また、周期が短い状態の場合には、エラー状態はＬ→Ｈに遷移し、そのときの対象クロックパターンは［１，０，０］であり、エラー種類信号は［１，０，０］となる。また、周期が長い状態の場合には、エラー状態はＬ→Ｈに遷移し、そのときの対象クロックパターンは［０，１，１］であり、エラー種類信号は［０，１，１］となる。
【００４９】
つまり、デューティ比が小さくなった場合には、対象クロックパターンの１ｂｉｔ目（ＣＤＡＴＲＡ［１］）に１→０のパターン変化が生じる。また、デューティ比が大きくなった場合には、対象クロックパターンの０ｂｉｔ目（ＣＤＡＴＲＡ［１］）に０→１のパターン変化が生じる。また、周期が短い場合には、０ｂｉｔ目に０→１、１ｂｉｔ目に１→０のパターン変化が生じる。また、周期が長い場合には、２ｂｉｔ目（ＣＤＡＴＲＡ［２］）に０→１のパターン変化が生じる。
【００５０】
このように、本実施形態のクロック診断回路１の場合には、正常時、ディーティ比が小さい状態、ディーティ比が大きい状態、周期が短い状態、および周期が長い状態において、パターンの変化がそれぞれ異なっている。換言すると、クロック診断回路１の場合には、異常が生じているか否か、および、異常が生じている場合にはその異常の種類を、対象クロックパターンによって示すことができる。
【００５１】
そのため、クロック診断回路１は、対象クロックパターン（ＣＤＡＴＡ［０：２］）そのものを、異常の有無およびその種類を示す信号であるエラー種類信号（ＥＲＲ［０：２］）として出力する。これにより、複雑な回路構成としなくても、また、診断対象のクロック（ＣＬＫ）とは異なる別のクロックを用いなくても、クロック（ＣＬＫ）の異常の有無、および異常が生じている場合にはその種類を判定できるようになる。すなわち、クロックを診断することができる。
【００５２】
以上説明した実施形態によれば、次のような効果を得ることができる。
クロック診断回路１は、直列に接続された複数段の遅延回路３ａ〜３ｃで構成され、入力されたクロックを通過した遅延回路３ａ〜３ｃの段数（以下、便宜的に遅延段数とも称する）分だけ遅延させて、遅延時間がそれぞれ異なる複数の遅延クロック（ＤＣＬＫ［０］〜ＤＣＬＫ［２］）を生成する遅延クロック生成回路３と、遅延クロック生成回路３で生成された複数の遅延クロックをクロックの周期に合わせてそれぞれ保持する保持回路４と、クロックを診断する際の基準となる信号レベルの組み合わせである基準クロックパターン（ＭＤＡＴＡ［０：２］）を記憶する記憶回路５と、保持回路４で保持されている複数の遅延クロックの信号レベルの組み合わせである対象クロックパターン（ＣＤＡＴＡ［０：２］）と記憶回路５に記憶されている基準クロックパターンとを対比することにより、クロックの異常の有無および異常がある場合にはその異常の種類を判定する判定回路６と、を備えている。
【００５３】
これにより、クロックに異常が生じたこと、および、異常が生じた場合にはどのような種類の異常が生じたかを判定することができる。したがって、異常の種類に応じた適切な対処をとることができ、例えばシステム的に問題ないクロックの異常についてはエラー処理を行わないことでＣＰＵ等の処理負荷を低減できる等、より高機能な対処を行うことが可能となる。
【００５４】
クロック診断回路１では、判定回路６は、クロックの周期のずれおよびクロックのデューティ比のずれを、当該クロックの異常として判定する。上記したように、診断対象となるクロック（ＣＬＫ）を遅延回路３ａ〜３ｃ遅延させることにより、クロックのデューティ比が変化した場合、およびクロックの周期が変化した場合には、図３〜図６に示したようにそれぞれ特有の変化を示す対象クロックパターンが保持回路４で保持される。そして、対象クロックパターンの変化を捉えることにより、クロックの異常の有無、異常の種類がクロックの周期のずれおよびクロックのデューティ比のずれのいずれであるか、さらには、周期が短くなったのか長くなったのか、および、デューティ比が小さくなったのか大きくなったのかを判定することができる。
【００５５】
記憶回路５は、前回の周期における遅延クロックのそれぞれの信号レベルを、基準クロックパターンとして記憶する。つまり、クロック診断回路１は、前回の周期における対象クロックパターンと今回の周期における対象クロックパターンとが一致しない場合に、異常が生じたと判定する。このため、クロック（ＣＬＫ）を診断する際、診断用に別のクロックを利用する必要が無く、また、実施形態のように判定回路６をＤＦＦで構成することにより、回路の複雑化を招くことがない。したがって、回路の複雑化やコストの増加等を招くことなく、クロック診断回路１を構成することができる。
【００５６】
遅延クロック生成回路３は、３段以上の遅延回路３ａ〜３ｃで構成されている。遅延クロック生成回路３を２段で構成した場合には、図示は省略するが、デューティ比が大きい状態では対象クロックパターンにパターン変化が生じない。つまり、遅延クロック生成回路３を２段で構成した場合には、デューティ比が大きい状態を検出することができない。そのため、本実施形態のように遅延クロック生成回路３を３段以上に構成することにより、デューティ比が大きい状態を検出することができる。
【００５７】
クロック診断回路１は、対象クロックパターンそのものを、エラー種類信号（クロックの異常の種類を示す信号）として用いている。これにより、複雑な回路を設けなくても、異常の種類を把握することができる。例えば、ＣＰＵ等の周辺回路は、エラー状態信号（ＥＲＲＯＲ）がＨレベルになった時点でエラー種類信号（ＥＲＲ［０：２］）を取得することで、異常の種類を把握することができる。また、例えば判定回路６にＤＦＦを設け、異常が生じたタイミング、つまり、本実施形態であればＥＲＲＯＲが立ち上がるタイミングでＣＤＡＴＡ［０］〜ＣＤＡＴＡ［２］を保持する構成としてもよい。
【００５８】
（第２実施形態）
以下、第２実施形態について、図８から図１１を参照しながら説明する。第２実施形態では、クロックを遅延させる際の遅延段数の違いによる異常の検出精度の違いについて説明する。なお、遅延クロック生成回路、保持回路、記憶回路、および判定回路の基本的な動作は第１実施形態と共通するので、その詳細な説明は省略する。
【００５９】
図８に示すように、本実施形態のクロック診断回路１０では、遅延クロック生成回路３は、複数の遅延回路３ａ〜３ｎを備えている。これらの遅延回路３ａ〜３ｎは、直列に接続されており、それぞれ遅延クロック（ＤＣＬＫ［０］〜ＤＣＬＫ［ｎ］）を出力する。遅延クロック（ＤＣＬＫ［０］〜ＤＣＬＫ［ｎ］）は、保持回路４および判定回路６に入力される。
【００６０】
保持回路４は、遅延クロック生成回路３で生成される遅延クロックの数に応じたＤＦＦ４ａ〜ＤＦＦ４ｎで構成されている。これらＤＦＦ４ａ〜ＤＦＦ４ｎで保持された遅延クロックの信号レベルが、本実施形態における対象クロックパターン（ＣＤＡＴＡ［０：ｎ］）に相当する。また、記憶回路５は、対象クロックパターン（ＣＤＡＴＡ［０：ｎ］）の数に応じたＤＦＦ５ａ〜ＤＦＦ５ｎで構成されている。これらＤＦＦ５ａ〜ＤＦＦ５ｎで保持された１周期前の対象クロックパターン（ＣＤＡＴＡ［０：ｎ］）が、本実施形態における基準クロックパターンに相当する。
【００６１】
＜＜デューティ比のずれの検出精度＞＞
まず、デューティ比の検出精度について説明する。より具体的には、遅延段数の違いによって、どの程度までずれであれば検出できるかについて説明する。
【００６２】
図９に示すように、クロック（ＣＬＫ）の１周期がＴｃ、クロックがＨレベルの期間がＴｃＨであるとする。また、デューティ比がずれた場合のずれ幅をΔＴａとする。このとき、デューディ比の目標値（正常時の値）をＤｔとし、現在のデューティ比をＤとし、遅延段数がＮの場合のクロック（ＣＬＫ）に対する遅延時間をＴｄとし、クロックの立ち上がり位置からみた場合の遅延クロックの立ち下がりエッジの位置をＴｅｄｇｅとすると、下記の（１）式〜（４）式の関係が成立する。
【００６３】
Ｄｔ［％］＝（ＴｃＨ／Ｔｃ）×１００              ・・・（１）
Ｄ［％］＝（（ＴｃＨ＋ΔＴａ）／Ｔｃ）×１００    ・・・（２）
Ｔｄ［秒］＝Ｔｃ／Ｎ                              ・・・（３）
Ｔｅｄｇｅ［秒］＝ｍｏｄ（ＴｃＨ／Ｔｄ）          ・・・（４）
なお、ｍｏｄ（Ａ／Ｂ）は、ＡをＢで除した際の余りを求める関数である。
【００６４】
この場合、ずれ幅（ΔＴａ）が、一段前の遅延クロックの立ち下がりエッジの位置（−Ｔｅｄｇｅ）までの範囲内にあるとき、デューティ比のずれを検出することができる。つまり、以下の（５）式および（６）式を満たす範囲で、デューティ比のずれを検出することができる。
【００６５】
−Ｔｅｄｇｅ＜ΔＴａ＜Ｔｄ−Ｔｅｄｇｅ    ・・・（５）
Ｄｔ−（Ｔｅｄｇｅ／Ｔｃ×１００）＜Ｄ＜Ｄｔ＋（（Ｔｄ−Ｔｅｄｇｅ）／Ｔｃ×１００）                                      ・・・（６）
例えば、デューティ比が５０％であり、遅延段数（Ｎ）が奇数である場合、（５）式よび（６）式は、以下の（７）式および（８）式のようになる。
【００６６】
−Ｔｄ／２＜ΔＴａ＜Ｔｄ／２              ・・・（７）
Ｄｔ−（（Ｔｄ／２）／Ｔｃ×１００）＜Ｄ＜Ｄｔ＋（（Ｔｄ／２）／Ｔｃ×１００）                                            ・・・（８）
つまり、遅延段数（Ｎ）が奇数である場合には、クロック診断回路１は、１／２Ｔｄ刻みで、デューティ比のずれを検出することができる。
【００６７】
一方、例えばデューティ比が５０％であり、遅延段数（Ｎ）が偶数である場合には、診断対象のクロック（ＣＬＫ）の立ち下がりエッジと、遅延クロックの立ち上がりエッジが一致する（Ｔｅｄｇｅ≒［０秒］）。この場合、以下の（９）式および（１０）式のように、デューティ比が小さくなる側の検出ができなくなる。
【００６８】
０＜ΔＴａ＜Ｔｄ                          ・・・（９）
Ｄｔ＜Ｄ＜Ｄｔ＋（Ｔｄ／Ｔｃ×１００）    ・・・（１０）
そのため、クロック診断回路１は、以下の（１１）式および（１２）式のように、−Ｔｄまで検出範囲を拡張する。なお、この場合、検出精度は低下する。
【００６９】
−Ｔｄ＜ΔＴａ＜Ｔｄ                      ・・・（１１）
Ｄｔ−（（Ｔｄ／Ｔｃ）×１００）＜Ｄ＜Ｄｔ＋（Ｔｄ／Ｔｃ×１００）
・・・（１２）
これにより、遅延段数が偶数の場合であっても、デューティ比が小さくなる側のずれをすることができる。
【００７０】
＜＜周期のずれの検出精度＞＞
次に、周期の検出精度について説明する。より具体的には、遅延段数の違いによって、どの程度までずれであれば検出できるかについて説明する。
【００７１】
図１０に示すように、クロック（ＣＬＫ）の１周期がＴｃ、クロックがＨレベルの期間がＴｃＨであるとする。また、周期がずれた場合のずれ幅をΔＴｂとする。このとき、周期の目標値（正常時の値）はＴｃであり、現在の周期をＴとし、遅延段数がＮの場合のクロック（ＣＬＫ）に対する遅延時間をＴｄとし、クロックの立ち上がり位置からみた場合の遅延クロックの立ち下がりエッジの位置をＴｅｄｇｅとすると、下記の（１３）式〜（１５）式の関係が成立する。
【００７２】
Ｔ［秒］＝Ｔｃ＋ΔＴｂ                            ・・・（１３）
Ｔｄ［秒］＝Ｔｃ／Ｎ                              ・・・（１４）
Ｔｅｄｇｅ［秒］＝ｍｏｄ（ＴｃＨ／Ｔｄ）          ・・・（１５）
この場合、ずれ幅（ΔＴｂ）が、一段前の遅延クロックの立ち下がりエッジの位置（−Ｔｅｄｇｅ）までの範囲内の周期のずれを検出することができる。なお、１周期のずれ幅がΔＴｂであれば、クロックの立ち上がりエッジにおけるずれ幅は、１／２ΔＴｂである。つまり、以下の（１６）式および（１７）式を満たす範囲で、周期のずれを検出することができる。
【００７３】
−Ｔｅｄｇｅ＜１／２ΔＴｂ＜Ｔｄ−Ｔｅｄｇｅ              ・・・（１６）
Ｔｃ−Ｔｅｄｇｅ×２＜Ｔ＜Ｔｃ＋（Ｔｄ−Ｔｅｄｇｅ）×２  ・・・（１７）
例えば、デューティ比が５０％であり、遅延段数（Ｎ）が奇数である場合、（１６）式よび（１７）式は、以下の（１８）式および（１９）式のようになる。
【００７４】
−Ｔｄ＜ΔＴｂ＜Ｔｄ                  ・・・（１８）
Ｔｃ−Ｔｄ＜Ｔ＜Ｔｃ＋Ｔｄ            ・・・（１９）
つまり、遅延段数（Ｎ）が奇数である場合には、クロック診断回路１は、Ｔｄ刻みで周期のずれを検出することができる。
【００７５】
一方、例えばデューティ比が５０％であり、遅延段数（Ｎ）が偶数である場合には、診断対象のクロック（ＣＬＫ）の立ち下がりエッジと、遅延クロックの立ち上がりエッジが一致する（Ｔｅｄｇｅ≒［０秒］）。この場合、以下の（２０）式および（２１）式のように、周期が短くなる側の検出ができなくなる。
【００７６】
０＜ΔＴｂ＜Ｔｄ×２                  ・・・（２０）
Ｔｃ＜Ｔ＜Ｔｃ＋Ｔｄ×２              ・・・（２１）
そのため、クロック診断回路１は、以下の（２２）式および（２３）式のように、−Ｔｄまで検出範囲を拡張する。なお、この場合、検出精度は低下する。
【００７７】
−Ｔｄ＜ΔＴｂ＜Ｔｄ×２              ・・・（２２）
Ｔｃ−Ｔｄ＜Ｔ＜Ｔｃ＋Ｔｄ×２        ・・・（２３）
これにより、遅延段数が偶数の場合であっても、周期が短くなる側のずれをすることができる。
【００７８】
このように、クロックのデューティ比のずれ、および周期のずれは、遅延クロック生成回路３の遅延段数に応じて変化する。また、このとき、対象クロックパターンも、図１１に例示するように、遅延段数によってことなるパターン変化を示す。なお、図１１の場合、例えば対象クロックパターンが［０，０，０］の状態を、カッコおよびカンマを削除して、単に０００のように示している。
【００７９】
例えば、第１実施形態で説明したように遅延段数が３段の場合、対象クロックパターンは、正常時が０１０、デューティ比が小さい状態では０００、デューティ比が大きい状態では１１０、周期が短い状態では１００、周期が長い状態では０１１となる。また、このとき、検出精度は、正常時に対して、デューティ比が３３．３％より小さくなったか、デューティ比が６６．７％より大きくなったか、周波数（＝１／周期）が１５０％を越えていないか、周波数が６０％を下回っていないか、を検出することができる。
【００８０】
同様に、遅延段数が５段の場合、対象クロックパターンは、正常時が００１１０、デューティ比が小さい状態では０００１０、デューティ比が大きい状態では０１１１０、周期が短い状態では０１１００、周期が長い状態では０００１１となる。また、このとき、検出精度は、正常時に対して、デューティ比が４０％より小さくなったか、デューティ比が６０％より大きくなったか、周波数（＝１／周期）が１２５％を越えていないか、周波数が７１．５％を下回っていないか、を検出することができる。つまり、遅延段数が５段の場合、遅延段数が３段の場合に比べて、より細かなずれを検出することができる。また、各異常において対象クロックパターンが異なるため、対象クロックパターンにより異常の種類を示すことができる。
【００８１】
同様に、遅延段数が７段の場合、対象クロックパターンは、正常時が０００１１１０、デューティ比が小さい状態では００００１１０、デューティ比が大きい状態では００１１１１０、周期が短い状態では００１１１００、周期が長い状態では００００１１１となる。また、このとき、検出精度は、正常時に対して、デューティ比が４２．９％より小さくなったか、デューティ比が５７．２％より大きくなったか、周波数（＝１／周期）が１１７％を越えていないか、周波数が７７．８％を下回っていないか、を検出することができる。つまり、遅延段数が７段の場合、遅延段数が５段の場合に比べて、より細かなずれを検出することができる。
【００８２】
同様に、遅延段数が９段の場合、対象クロックパターンは、正常時が００００１１１１０、デューティ比が小さい状態では０００００１１１０、デューティ比が大きい状態では０００１１１１１０、周期が短い状態では０００１１１１００、周期が長い状態では０００００１１１となる。また、このとき、検出精度は、正常時に対して、デューティ比が４４．５％より小さくなったか、デューティ比が５５．６％より大きくなったか、周波数（＝１／周期）が１１３％を越えていないか、周波数が７７．８％を下回っていないか、を検出することができる。つまり、遅延段数が９段の場合、遅延段数が７段の場合に比べて、より細かなずれを検出することができる。
【００８３】
このように、クロック診断回路１０は、遅延段数が増えるほど、検出精度が高くなる。すなわち、クロック診断回路１０は、クロックの周期のずれおよびデューティ比のずれを検出する際の精度を、遅延クロック生成回路３における遅延段数によって設定することができる。なお、遅延段数を何段にするかは、適宜設定すればよい。
【００８４】
また、遅延クロック生成回路３で生成される複数の遅延クロックのうち、任意の遅延クロックの信号レベルの組み合わせを対象クロックパターンとしてもよい。すなわち、遅延段数を多くすることで検出精度を高め、対象クロックパターンに用いる遅延クロックを選択することで、検出範囲を設定してもよい。例えば、図１１に示したもののうち遅延段数が９段のものは、概ね５％の検出精度でデューティ比のずれを検出することができる。
【００８５】
（第３実施形態）
以下、第３実施形態について、図１２を参照しながら説明する。第３実施形態では、記憶回路を、記憶素子で構成している点において第１実施形態と異なっている。
【００８６】
図１２に示すように、本実施形態のクロック診断回路２０は、遅延クロック生成回路３、保持回路４、判定回路６、記憶回路８、および設定部９等を備えている。
記憶回路８は、本実施形態では半導体メモリ等の記憶素子で構成されており、設定部９から、基準クロックパターンが設定される。なお、設定部９は、例えばＣＰＵや外部の装置等が用いられる。
【００８７】
上記した第１実施形態で説明したように、対象クロックパターンは、正常時には、特定の信号レベルの組み合わせになる。例えば、遅延段数が３段の場合、正常時の対象クロックパターンは、［０，１，０］である。つまり、遅延段数が既知であれば、正常時の対象クロックパターンを予め把握しておくことができる。
【００８８】
そして、正常時の対象クロックパターンを基準クロックパターンとして記憶回路８に記憶することにより、上記した第１実施形態の記憶回路５と同様に、基準クロックパターンを判定回路６に出力することができる。
【００８９】
すなわち、記憶回路８を記憶素子で構成し、記憶回路８に基準クロックパターンを設定する設定部９を備えることにより、第１実施形態と同様に、クロックに異常が生じたこと、および、異常が生じた場合にはどのような種類の異常が生じたかを判定することができる。したがって、異常の種類に応じた適切な対処をとることができ、例えばシステム的に問題ないクロックの異常についてはエラー処理を行わないことでＣＰＵ等の処理負荷を低減できる等、より高機能な対処を行うことが可能となる。
【００９０】
また、正常時の対象クロックパターンを記憶回路８に記憶させることにより、判定回路６において、クロックの異常の有無、異常の種類がクロックの周期のずれおよびクロックのデューティ比のずれのいずれであるか、さらには、周期が短くなったのか長くなったのか、および、デューティ比が小さくなったのか大きくなったのかを判定することができる。
【００９１】
なお、記憶回路８に記憶させる基準クロックパターンは、正常時の対象クロックパターン以外のクロックパターンであってもよい。例えば、記憶回路８に、検出したい異常の種類を示すクロックパターンを基準クロックパターンとして記憶させることが考えられる。この場合、判定回路６において入力された対象クロックパターンと基準クロックパターンと比較し、両者が一致した場合、つまり、検出したい異常が発生したときに、例えばエラー状態信号（ＥＲＲＯＲ）を出力するようにしてもよい。これにより、エラー状態信号が出力されたことをもって、異常が生じたこと、およびその異常の種類を把握することができる。
【００９２】
また、記憶回路８に記憶させる基準クロックパターンは、１つでなくてもよい。例えば、記憶回路８に、周期が短い状態と周期が長い状態とに対応する２つのクロックパターンを記憶させ、判定回路６において、入力された対象クロックパターンがいずれかのクロックパターンに一致するときに、異常を出力する構成としてもよい。この場合、例えば周期が短い状態が検出されたらＥＲＲ［０］をＨレベルにし、周期が長い状態が検出されたらＥＲＲ［１］をＨレベルにする等、異常の種類に応じてことなる信号を用いてもよい。すなわち、判定回路６から異常を示す信号を出力する構成は、適宜選択すればよい。もちろん、異常を示す信号を出力する構成を、設定部９から設定可能としてもよい。
【００９３】
（その他の実施形態）
本発明は、上記した実施形態で例示したものに限定されるものではなく、その要旨を逸脱しない範囲で任意に変形あるいは拡張することができる。
【００９４】
実施形態で示した遅延段数やエラー状態信号あるいはエラー種類信号の数は一例であり、これに限定されるものではない。例えば、図１１に示すような遅延段数が９段の場合、対象クロックパターンをそのまま出力すると９ｂｉｔが必要となることから、９ｂｉｔの対象クロックパターンをコード化し、出力する信号のｂｉｔ数を削減するような構成としてもよい。
【００９５】
エラー状態信号（ＥＲＲＯＲ）を出力しない構成としてもよい。この場合、エラー種類信号の各ｂｉｔの変化を検出することで、異常の発生の有無、および、異常の種類を把握することができる。もちろん、エラー状態信号を例えばＣＰＵへの割り込み信号とし、エラー状態信号がＨレベルになるとエラー処理（エラー種類信号の取得、およびそれに伴う処理）を行うようにしてもよい。
【符号の説明】
【００９６】
図面中、１、１０、２０はクロック診断回路、３は遅延クロック生成回路、３ａ〜３ｃは遅延回路、４は保持回路、５、８は記憶回路、６は判定回路、９は設定部を示す。
【図１】
2016208226.tif 000003
【図２】
2016208226.tif 000004
【図３】
2016208226.tif 000005
【図４】
2016208226.tif 000006
【図５】
2016208226.tif 000007
【図６】
2016208226.tif 000008
【図７】
2016208226.tif 000009
【図８】
2016208226.tif 000010
【図９】
2016208226.tif 000011
【図１０】
2016208226.tif 000012
【図１１】
2016208226.tif 000013
【図１２】
2016208226.tif 000014