(57)【特許請求の範囲】
【請求項１】
周波数が互いに異なる複数のクロックを入力し、その内の１つを選択し、選択したクロックを出力する選択回路と、
前記選択回路が選択したクロックに同期して動作し、当該クロックのパルスを、入力される第１比較値により決められる所定の周期で繰り返し計数するカウンタと、
前記カウンタの計数値を、入力される第２比較値と比較する比較器と、
前記比較器の比較結果に基づいて、前記選択回路から出力される前記クロックのパルスの供給と停止を制御する出力ゲートと、
所望の周波数を入力し、前記選択回路が入力する前記複数のクロックの周波数から前記所望の周波数より大きく、かつ、最小の一の周波数を特定し、当該特定した周波数のクロックが出力されるように前記選択回路を制御し、前記所望の周波数と前記特定した周波数に基づいて、前記出力ゲートから出力されるクロックの周波数を前記所望の周波数に一致させるための値を各々有する前記第１および第２比較値を前記所望の周波数に応じて変更可能に発生し、前記第１比較値を前記カウンタに、前記第２比較値を前記比較器に、それぞれ出力する制御部と、
を有するクロック発生回路。
【請求項２】
入力される基準クロックから前記選択回路に出力する前記複数のクロックを発生するクロック発生部を、
さらに有する請求項１に記載のクロック発生回路。
【請求項３】
前記第１比較値は、前記選択回路が選択したクロックの前記特定した周波数を前記クロック発生部の分解能で割った値であり、
前記第２比較値は、前記特定した周波数が前記所望の周波数に対して有する周波数差を前記クロック発生部の分解能で割った値であり、
前記比較器は、前記カウンタの計数値が前記第２比較値より小さいときにクロックを停止させる信号を出力する
請求項２に記載のクロック発生回路。
【請求項４】
前記カウンタの計数値に対しパルスの並びを入れ替える変換を施し、当該変換後のパルスを前記比較器に出力する変換回路を、
さらに有する請求項１に記載のクロック発生回路。
【請求項５】
前記変換回路が施す変換は、入力される前記カウンタの計数値と、その変換された値が１対１の変換であり、かつ最大値と最小値が一致する変換である
請求項４に記載のクロック発生回路。
【請求項６】
前記変換回路が施す変換は、入力される前記カウンタの計数値の下位側でのビットの入れ替えである
請求項４に記載のクロック発生回路。
【請求項７】
前記制御回路は、前記所望の周波数に応じて、前記変換回路が施す変換の規則を変更することが可能である
請求項４に記載のクロック発生回路。
【請求項８】
周波数が互いに異なる複数のクロックを入力し、その内の１つを選択し、選択したクロックを出力する選択回路と、
前記選択回路が選択したクロックに同期してカウント動作し、当該クロックのパルスを、入力される第１比較値により決められる所定の周期で繰り返し計数する第１のカウンタと、
入力される第２比較値により決められる所定の周期で、前記第１のカウンタがオーバーフローする度に前記クロックに同期してカウント動作する第２のカウンタと、
前記第１のカウンタがオーバーフローする度に、前記第２のカウンタの計数値を、入力される第３比較値と比較する比較器と、
前記比較器の比較結果に基づいて、前記選択回路から出力される前記クロックのパルスの供給と停止を制御する出力ゲートと、
所望の周波数を入力し、前記選択回路が入力する前記複数のクロックの周波数から前記所望の周波数より大きく、かつ、最小の一の周波数を特定し、当該特定した周波数のクロックが出力されるように前記選択回路を制御し、前記所望の周波数と前記特定した周波数に基づいて、前記出力ゲートから出力されるクロックの周波数を前記所望の周波数に一致させるための値を各々有する前記第１〜第３比較値を前記所望の周波数に応じて変更可能に発生し、前記第１比較値を前記第１カウンタに、前記第２比較値を前記第２カウンタに、前記第３比較値を前記比較器に、それぞれ出力する制御部と、
を有するクロック発生回路。
【請求項９】
入力される基準クロックから前記選択回路に出力する前記複数のクロックを発生するクロック発生部を、
さらに有する請求項８に記載のクロック発生回路。
【請求項１０】
前記第１比較値は、前記特定した周波数を、当該特定した周波数とそれより一段低い周波数の周波数差で割った値であり、
前記第２比較値は、前記選択回路が選択したクロックの前記特定した周波数とそれより一段低い周波数との差を前記クロック発生部の分解能で割った値であり、
前記第３比較値は、前記特定した周波数が前記所望の周波数に対して有する周波数差を前記クロック発生部の分解能で割った値であり、
前記比較器は、前記第２カウンタの計数値が前記第３比較値より小さいときにクロックを停止させる信号を出力する
請求項８に記載のクロック発生回路。
【請求項１１】
前記第２カウンタの計数値に対しパルスの並びを入れ替える変換を施し、当該変換後のパルスを前記比較器に出力する変換回路を、
さらに有する請求項８に記載のクロック発生回路。
【請求項１２】
前記変換回路が施す変換は、入力される前記カウンタの計数値と、その変換された値が１対１の変換であり、かつ最大値と最小値が一致する変換である
請求項１１に記載のクロック発生回路。
【請求項１３】
前記変換回路が施す変換は、入力される前記カウンタの計数値の下位側でのビットの入れ替えである
請求項１１に記載のクロック発生回路。
【請求項１４】
前記制御回路は、前記所望の周波数に応じて、前記変換回路が施す変換の規則を変更することが可能である
請求項１１に記載のクロック発生回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、クロックに同期して動作するシステムあるいは機器等に対して要求される周波数に適合した多階調の周波数のクロックを生成するクロック生成回路およびクロック変換回路に関する。
【０００２】
【従来の技術】
電子回路を搭載したシステムあるいは電子機器における消費電力は、そのシステムまたは機器を駆動するクロックの周波数に比例する。しかしながら、従来の電子回路を搭載したシステムまたは機器では、要求されるタスクのうち最も高速に処理すべきタスクに合わせて、供給するクロックの周波数が決定され、常に、その周波数のクロックが供給されているものが多い。したがって、要求されるタスクの処理が軽い場合においても、高い周波数のクロックで駆動され、このためにタスクによらず常に消費電力が大きいという問題がある。
【０００３】
この問題に対処するため、とくに無駄な電力消費の低減が要求される携帯型の電子機器などでは、そのタスクに処理が重いタスクと処理が軽いタスクが混在する場合において、複数のクロックを予め準備しておき、タスクの処理速度に応じてクロックを切り替える技術があった。
【０００４】
【発明が解決しようとする課題】
ところが、この技術によっては、予め用意されている種類の周波数のクロックしか供給できない。種々のタスクは要求される必要最低限の周波数が異なり、現状の周波数切り替え技術は、様々なタスクの必要最低限の周波数に必ずしも完全に適合しているわけではない。たとえば、５０ＭＨｚと１００ＭＨｚでクロック周波数を切り替える場合、最低で５０ＭＨｚで動作するタスクに対しては５０ＭＨｚのクロックで足りるが、仮に最低で８０ＭＨｚのクロックで動作するタスクが割り込んだ場合、システムあるいは機器全体が動作周波数を１００ＭＨｚに切り替えるため、２０ＭＨｚ分だけ余計に高い周波数のクロックとなってしまい、電力消費の観点からすると、それだけ無駄な電力が消費されてしまう。
この問題を回避するには、想定される全てのタスクの最低動作周波数をカバーするために、よりきめが細かい多段階の周波数の供給を実現することが必要となる。しかし、複雑に回路動作するシステムあるいは電子機器において、全てのタスクの最低動作周波数をカバーすることには無理があり、また、仮に実現できたとしても、多くの種類の周波数のクロックを予め準備するクロック生成回路の負担が大きくなる。
したがって、現状では、バッテリー駆動時とＡＣ電源使用時、あるいは高速クロックを必要とする時とそれ以外といった、大まかな区切りでクロック周波数を切り替えて対処し、上述した周波数の不適合による無駄な電力消費をある程度まで許容している場合が多い。
【０００５】
本発明の目的は、一定周期で生成したクロックを用いながらも、出来るだけ無駄な電力消費を低減した構成を含むクロック生成回路およびクロック変換回路を提供することにある。
【０００６】
【課題を解決するための手段】
本発明の第１の観点に係るクロック発生回路は、周波数が互いに異なる複数のクロックを入力し、その内の１つを選択し、選択したクロックを出力する選択回路と、前記選択回路が選択したクロックに同期して動作し、当該クロックのパルスを、入力される第１比較値により決められる所定の周期で繰り返し計数するカウンタと、前記カウンタの計数値を、入力される第２比較値と比較する比較器と、前記比較器の比較結果に基づいて、前記選択回路から出力される前記クロックのパルスの供給と停止を制御する出力ゲートと、所望の周波数を入力し、前記選択回路が入力する前記複数のクロックの周波数から前記所望の周波数より大きく、かつ、最小の一の周波数を特定し、当該特定した周波数のクロックが出力されるように前記選択回路を制御し、前記所望の周波数と前記特定した周波数に基づいて、前記出力ゲートから出力されるクロックの周波数を前記所望の周波数に一致させるための値を各々有する前記第１および第２比較値を前記所望の周波数に応じて変更可能に発生し、前記第１比較値を前記カウンタに、前記第２比較値を前記比較器に、それぞれ出力する制御部と、を有する。
本発明では好適に、入力される基準クロックから前記選択回路に出力する前記複数のクロックを発生するクロック発生部を、さらに有する。
【０００８】
この第１の観点では、クロック発生部が一定周波数のクロックを生成し、あるいは外部から当該一定周波数のクロックが入力されると、当該クロックがカウンタと出力ゲートに供給される。カウンタは当該クロックに同期して、そのパルスを計数する。比較器はカウンタの計数値を監視しており、その値を所望の周波数のクロックのパルス数と比較する。出力ゲートは、入力される前記クロックのパルスの供給と停止を制御する。この制御は比較器の比較結果にもとづいて実行されるため、入力されるクロックは、所望の周波数と同じ単位時間あたりのパルス数に調整されて当該出力ゲートから出力される。
この動作は制御部により制御される。制御部は、所望の周波数を入力し、選択回路が入力する複数のクロックの周波数から所望の周波数より大きく、かつ、最小の一の周波数を特定し、当該特定した周波数のクロックが出力されるように選択回路を制御する。また、制御部は、所望の周波数と特定した周波数に基づいて、出力ゲートから出力されるクロックの周波数を前記所望の周波数に一致させるための値を各々有する第１および第２比較値を所望の周波数に応じて変更可能に発生する。そして制御部は、第１比較値をカウンタに、第２比較値を比較器に、それぞれ出力する。
【０００９】
本発明の第２の観点に係るクロック発生回路は、好適に、上記第１の観点のクロック発生回路において、カウンタの計数値に対しパルスの並びを入れ替える変換を施し、当該変換後のパルスを比較器に出力する変換回路を、さらに有する。
【００１１】
この第２の観点では、第１の観点と同様な機能のカウンタ、比較器および出力ゲートを有するが、さらに、変換回路を有する。変換回路は、カウンタの計数値に対し、そのパルスの並びを入れ替える変換を施して出力する。そして、この場合の比較回路は変換回路の出力値を所望の周波数のパルス数と比較する。比較器の比較結果に基づいたパルスの供給と停止を行う出力ゲートからは、変換回路が施す変換にもよるが、この変換が例えばビットの入れ替えなどである場合、この変換に応じて停止パルス位置が第１の観点の場合よりばらついたクロックが出力される。
【００１２】
本発明の第３の観点に係るクロック発生回路は、周波数が互いに異なる複数のクロックを入力し、その内の１つを選択し、選択したクロックを出力する選択回路と、前記選択回路が選択したクロックに同期してカウント動作し、当該クロックのパルスを、入力される第１比較値により決められる所定の周期で繰り返し計数する第１のカウンタと、入力される第２比較値により決められる所定の周期で、前記第１のカウンタがオーバーフローする度に前記クロックに同期してカウント動作する第２のカウンタと、前記第１のカウンタがオーバーフローする度に、前記第２のカウンタの計数値を、入力される第３比較値と比較する比較器と、前記比較器の比較結果に基づいて、前記選択回路から出力される前記クロックのパルスの供給と停止を制御する出力ゲートと、所望の周波数を入力し、前記選択回路が入力する前記複数のクロックの周波数から前記所望の周波数より大きく、かつ、最小の一の周波数を特定し、当該特定した周波数のクロックが出力されるように前記選択回路を制御し、前記所望の周波数と前記特定した周波数に基づいて、前記出力ゲートから出力されるクロックの周波数を前記所望の周波数に一致させるための値を各々有する前記第１〜第３比較値を前記所望の周波数に応じて変更可能に発生し、前記第１比較値を前記第１カウンタに、前記第２比較値を前記第２カウンタに、前記第３比較値を前記比較器に、それぞれ出力する制御部と、を有する。
本発明では好適に、入力される基準クロックから前記選択回路に出力する前記複数のクロックを発生するクロック発生部を、さらに有する。
【００１４】
この第３の観点では、入力される前記クロックに同期してカウント動作するカウンタを複数、ここでは２個有する。このうち第２のカウンタは、第１のカウンタがオーバーフローする度にカウント動作する。比較器は、第１のカウンタがオーバーフローする度に、第２のカウンタの計数値を、前記クロックの周波数が所望の周波数に対して有する周波数差に応じた数値と比較する。出力ゲートは、この比較器の比較結果に基づいてクロックのパルスの供給と停止を制御するため、上記周波数差が是正されたクロックが当該出力ゲートから出力される。
この動作は制御部により制御される。制御部は、所望の周波数を入力し、選択回路が入力する複数のクロックの周波数から所望の周波数より大きく、かつ、最小の一の周波数を特定し、当該特定した周波数のクロックが出力されるように選択回路を制御する。また制御部は、所望の周波数と特定した周波数に基づいて、出力ゲートから出力されるクロックの周波数を所望の周波数に一致させるための値を各々有する第１〜第３比較値を所望の周波数に応じて変更可能に発生する。そして制御部は、第１比較値を第１カウンタに、第２比較値を第２カウンタに、第３比較値を比較器に、それぞれ出力する。
【００１５】
本発明の第４の観点に係るクロック発生回路は、好適に、上記第３の観点のクロック発生回路において、前記第２カウンタの計数値に対しパルスの並びを入れ替える変換を施し、当該変換後のパルスを比較器に出力する変換回路を、さらに有する。
【００１７】
この第４の観点では、第３の観点の構成にさらに、第２の観点における変換回路を付加した構成を有する。この場合の比較器は、変換回路の出力値を、クロックの周波数が所望の周波数に対して有する周波数差に応じた数値と比較する。変換回路の変換方式やカウンタの繰り返し計数するビット数が適切に選択された場合、この比較結果に応じてパルスの供給と停止を出力する出力ゲートからは、停止パルス位置が全体にほぼ満遍なく分散された所望の周波数のクロックが出力される。
【００１８】
【発明の実施の形態】
本発明の実施形態に係るクロック生成回路は、一定周波数のクロックを生成し、生成したクロックの周波数と、要求されるタスクに応じた周波数との比較により無駄なパルス数を低減し、これによって消費電力の低減を図るものである。このため、一定周期のクロックを発生させるクロック発生部と、クロックに同期して動作し当該クロックのパルスを計数するカウンタと、カウンタの計数値を所望の周波数のクロックのパルス数と比較する比較器と、比較器の比較結果にもとづいて、クロック発生部から入力したクロックのパルスの供給と停止を制御する出力ゲートとを有する。
前記生成するクロックは１つ、あるいは複数の何れでもよい。クロック発生部から出力されるクロックは、システムクロックとして使用される高速なクロックそのものでもよいし、複数の場合は、その高速クロックを分周して生成されたものでもよい。クロック発生部が複数のクロックを発生させる場合、そのうちの１つを選択する選択回路を備えることが望ましい。
本発明の実施形態では、出力ゲートから出力されるクロックのパルスの、とくに停止パルス位置を全体的に分散させるために、カウンタの計数値のパルスの並びを変える変換回路を具備させ、あるいは、カウンタを複数具備させ、さらには複数のカウンタと変換回路を組み合わせて用いるなどの形態が可能である。
なお、本発明の実施形態に係るクロック変換回路は、クロック発生部自体を含まず、既存のクロック発生部に接続するなどの態様で用いる。クロック発生部を有しないこと以外は、基本的に上述したクロック生成回路と何ら変わらない。以下、クロック生成回路を例に、本発明の実施形態を、より詳細に図面を用いて説明する。
【００１９】
［第１実施形態］
図１は、第１実施形態に係るクロック生成回路の基本構成を示すブロック図である。
クロック生成回路１０は、クロック発生部１１、クロック選択回路１２、カウンタ１３、比較器１４、ラッチ１５とＡＮＤゲート１６からなる出力ゲート、および制御回路１７を有する。制御回路１７は要求されるクロックの周波数値ｆｒｅｑを入力として、その周波数値ｆｒｅｑをもとに、クロック選択回路１２に指示する選択信号ｓｅｌ、カウンタ１３に指示する比較値ｍａｘｄ、比較器１４に指示する比較値ｃｍｐｄを算出し出力する。
クロック発生部１１の出力がクロック選択回路１２の入力に接続されている。クロック発生部１１は、一定周波数の単一のクロック、あるいは図示のように一定周波数の複数のクロックｃｌｋ_1、ｃｌｋ_2、…ｃｌｋ_nを発生させ、クロック選択回路１２に出力する。クロックｃｌｋ_1、ｃｌｋ_2、…ｃｌｋ_nは周波数の異なるクロックであり、これらは、高速なクロックを異なる分周比で分周したクロックである場合もあれば、異なる発振器やＰＬＬ（Ｐｈａｓｅ−ｌｏｃｋｅｄ  ｌｏｏｐ）回路から生成されるクロックである場合もある。
クロック選択回路１２は１つ以上のクロックを入力として、選択信号ｓｅｌにもとづいてクロックを選択するセレクタ回路である。クロック選択回路１２で選択されたクロック（以下、ｃｌｋと表記する）の出力線がカウンタ１３のクロック入力、ラッチ１５の反転入力Ｇ、およびＡＮＤゲート１６の一方の入力に接続されている。
【００２０】
ラッチ１５およびＡＮＤゲート１６はラッチ型のクロックゲーティング回路（出力ゲート）を構成している。ラッチ１５の非反転入力Ｄが比較器１４の出力に接続され、ラッチ１５の出力ＱがＡＮＤゲート１６の他方の入力に接続されている。ＡＮＤゲート１６からは、電力的に無駄なパルスが削除されたクロックｃｌｋ_outが出力される。このような構成のラッチ型のクロックゲーティング回路は、比較器１４から出力されるクロックのイネーブル信号ｃｋｅｎに応じて、ラッチ１５の反転入力Ｇに供給されるクロックｃｌｋの供給と停止の制御をＡＮＤゲート１６で実行し、その結果、無駄なパルスが削減されたクロックｃｌｋ_outをＡＮＤゲート１６から出力する。図１の回路では、イネーブル信号ｃｋｅｎが“Ｈ”のときクロックパルスが供給され、イネーブル信号ｃｋｅｎが“Ｌ”のときクロックパルスが停止される。なお、図１ではラッチ型のクロックゲーティング回路を示したが、他のタイプのクロックゲーティング回路でも構わない。
【００２１】
比較器１４は、制御回路１７から指示される比較値ｃｍｐｄとカウンタ１３から出力されるカウンタの計数値を比較し、その比較結果にもとづいてクロックのイネーブル信号ｃｋｅｎを生成する。カウンタ１３はクロック選択回路１２から出力されるクロックｃｌｋに同期して動作し、当該クロックのパルス数を所定の周期で繰り返しカウントするアップカウンタあるいはダウンカウンタである。
クロック選択回路１２に複数のクロックが入力される場合、その入力されるクロックｃｌｋ_1、ｃｌｋ_2、…ｃｌｋ_nの周波数がそれぞれｆ1、ｆ2、…ｆn（ｆ1＜ｆ2＜…＜ｆn）とすると、クロック生成回路１０に要求されるクロック周波数の分解能がΔｆのとき、比較器１４はｌｏｇ2（ｆn／Δｆ)ビット長の比較器であり、カウンタ１３はｌｏｇ2（ｆn／Δｆ）ビットのカウンタである。
【００２２】
以下に、複数のクロックから１つを選択する場合を例に動作を簡単に説明する。
要求される周波数値ｆｒｅｑが与えられたとき制御回路１７は、クロック選択回路１２に入力されるクロックｃｌｋ_1、ｃｌｋ_2、…ｃｌｋ_nの周波数ｆ1、ｆ2、…ｆnの中から、要求される周波数値ｆｒｅｑより大きく、かつ最小の周波数ｆiのクロック（以下、ｃｌｋ_iと表記）を選択するための選択信号ｓｅｌをクロック選択回路１２に出力する。制御回路１７は、また、カウンタ１３の比較値ｍａｘｄとしてｆi／Δｆを、比較器１４の比較値ｃｍｐｄとして（ｆi−ｆｒｅｑ）／Δｆをそれぞれ生成し、カウンタ１３と比較器１４に出力する。
これによって、クロック選択回路１２は選択信号ｓｅｌが示す所望の周波数ｆｒｅｑに応じたクロックｃｌｋ_iを選択する。カウンタ１３は、制御回路１７により与えられた比較値ｍａｘｄに応じて０から(ｍａｘｄ−１)の間の計数値をクロックｃｌｋに同期して無限にインクリメントまたはディクリメントする。比較器１４は、カウンタ１３の計数値を、制御回路１７により与えられた比較値ｃｍｐｄと比較し、カウンタ１３の計数値が比較値ｃｍｐｄより小さいときにはクロックのイネーブル信号ｃｋｅｎを“Ｌ”に、カウンタ１３の計数値が比較値ｃｍｐｄ以上のときは“Ｈ”にする。なお、この比較値の大小関係とイネーブル信号ｃｋｅｎの電圧レベルとの関係は逆でもよい。
ラッチ１５およびＡＮＤゲート１６は、クロックのイネーブル信号ｃｋｅｎにもとづいて、その電圧レベルが“Ｌ”のときはｃｌｋを停止させ、“Ｈ”のときはｃｌｋを供給させて、それによって生成された出力クロックｃｌｋ_outを出力する。
【００２３】
図２の表に、４ＭＨｚから３２ＭＨｚのクロックが入力され、分解能１ＭＨｚの周波数を生成する場合のカウンタ１３の比較値ｍａｘｄ、比較器１４の比較値ｃｍｐｄの値を示す。
図３（Ａ）〜図３（Ｄ）に、図２の設定において所望の周波数ｆｒｅｑとして１０ＭＨｚが要求されたときのクロックｃｌｋ、カウンタの計数値、比較器の出力（イネーブル信号ｃｈｅｎ）および出力クロックｃｌｋ_outの波形を示す。
【００２４】
周波数１０ＭＨｚが要求された場合、クロック選択回路１２では１２ＭＨｚのクロックｃｌｋ_iが選択され、これがクロックｃｌｋとしてカウンタ１３および出力ゲートに付与される。カウンタ１３は、この１２ＭＨｚのクロックｃｌｋに同期してカウント動作する。具体的に、カウンタがアップカウンタの場合、図３（Ｂ）に示すように、カウンタ１３は“０”（２進数表記で“０００００”）から“１１”（２進数表記で“０１０１１”）の間を無限にインクリメントする。比較器１４は、カウンタ１３の出力値が０（２進数表記で“０００００”）および１（２進数表記で“００００１”）のときに、図３（Ｃ）に示すようにクロックのイネーブル信号ｃｋｅｎを“Ｌ”にする。このため、出力されるｃｌｋ_outは、図３（Ｄ）に示すように、１２パルスごとに２個のパルスが停止されることになり、実効周波数１０ＭＨｚのクロックとなる。
【００２５】
以上は、要求される所望の周波数ｆｒｅｑが１０ＭＨｚの場合を例示したが、本実施形態のクロック生成回路１０では、この周波数ｆｒｅｑが如何なる値であっても、それより大きく、かつ最も近い周波数を選択して当該クロック生成回路を動作させる。そして、その周波数差に応じた割合でクロックを停止させることから、所望の周波数ｆｒｅｑと実効周波数が等しい出力クロックｃｌｋ_outが生成できる。このクロック生成回路１０を使用したシステムあるいは電子機器に対して無駄なクロックパルスが供給されない分、消費電力が抑制できる。
【００２６】
［第２実施形態］
第２実施形態は、第１実施形態のクロック生成回路にカウンタの計数値の変換回路を付加した場合である。
図４は、第２実施形態に係るクロック生成回路の基本構成を示すブロック図である。なお、以下、第１実施形態と共通する構成は同一符号を付して、その機能および接続関係の説明を適宜省略する。
クロック生成回路２０は、クロック発生部１１、クロック選択回路１２、カウンタ１３、比較器１４、ラッチ１５とＡＮＤゲート１６からなる出力ゲートに加え、クロック計数値の変換回路２１と制御回路２２を有する。制御回路２２は要求されるクロックの周波数値ｆｒｅｑを入力として、その周波数値ｆｒｅｑをもとにクロック選択回路１２に指示する選択信号ｓｅｌ、カウンタ１３に指示する比較値ｍａｘｄ、比較器１４に指示する比較値ｃｍｐｄを算出し、変換の規則、例えば変換式ｆｏｒｍａｔを変換回路２１に変更可能に指示する。
【００２７】
クロック計数値の変換回路２１は、カウンタ１３と比較器１４との間に挿入され、カウンタ１３の計数値に対し、制御回路２２により与えられた変換の規則、例えば変換式ｆｏｒｍａｔにもとづいた所定のデータ変換を施した後、この変換後の値を比較器１４に出力する。なお、この変換の規則、例えば変換式が所定のものに固定される場合、変換回路自体が変換の規則にしたがって構成され、変換の規則自体の変更が不可能な構成でもよい。この場合に、制御回路２２は、変換の規則、例えば変換式ｆｏｒｍａｔを決定する機能を省略した構成、すなわち第１実施形態の制御回路１７と同じ構成としてもよい。
比較器１４は、制御回路２２から指示される比較値ｃｍｐｄと、変換回路２１で変換後の値とを比較し、その比較結果にもとづいてクロックのイネーブル信号ｃｋｅｎを生成する。
【００２８】
クロック選択回路１２に複数のクロックが入力される場合、その入力されるクロックｃｌｋ_1、ｃｌｋ_2、…ｃｌｋ_nの周波数がそれぞれｆ1、ｆ2、…ｆn（ｆ1＜ｆ2＜…＜ｆn）とすると、クロック生成回路２０に要求されるクロック周波数の分解能がΔｆのとき、比較器１４はｌｏｇ2（ｆn／Δｆ)ビット長の比較器であり、カウンタ１３はｌｏｇ2（ｆn／Δｆ）ビットのカウンタであり、変換回路２１はｌｏｇ2（ｆn／Δｆ）ビットのデータ変換を行う。
【００２９】
以下に、複数のクロックから１つを選択する場合を例に動作を簡単に説明する。
要求される周波数値ｆｒｅｑが与えられたとき制御回路２２は、クロック選択回路１２に入力されるクロックｃｌｋ_1、ｃｌｋ_2、…ｃｌｋ_nの周波数ｆ1、ｆ2、…ｆnの中から、要求される周波数値ｆｒｅｑより大きく、かつ最小の周波数ｆiのクロックｃｌｋ_iを選択するための選択信号ｓｅｌをクロック選択回路１２に出力する。制御回路２２は、また、カウンタ１３の比較値ｍａｘｄとしてｆi／Δｆを、変換回路２１の変換式ｆｏｒｍａｔを、比較器１４の比較値ｃｍｐｄとして（ｆi−ｆｒｅｑ）／Δｆをそれぞれ生成し、それぞれカウンタ１３、変換回路２１および比較器１４に出力する。
これによって、クロック選択回路１２は選択信号ｓｅｌが示す所望の周波数ｆｒｅｑに応じたクロックｃｌｋ_iを選択する。カウンタ１３は、制御回路２２により与えられた比較値ｍａｘｄに応じて０から(ｍａｘｄ−１)の間の計数値をクロックｃｌｋに同期して無限にインクリメントまたはディクリメントする。変換回路２１は、制御回路２２により与えられた変換式ｆｏｒｍａｔにもとづいて、カウンタ１３の計数値に対しデータ変換を行う。このデータ変換は、望ましくは、入力される値と出力される値が１対１に決定される変換であり、かつ、最大値と最小値が一致する変換である。例えば、２進数表記での下位側でビットの入れ替えなどの変換である。比較器１４は、変換回路２１から入力した変換後の値を、制御回路２２により与えられた比較値ｃｍｐｄと比較し、例えば、変換後の値が比較値ｃｍｐｄより小さいときにはクロックのイネーブル信号ｃｋｅｎを“Ｌ”に、変換後の値が比較値ｃｍｐｄ以上のときは“Ｈ”にする。なお、この比較値の大小関係とイネーブル信号ｃｋｅｎの電圧レベルとの関係は逆でもよい。
ラッチ１５およびＡＮＤゲート１６は、クロックのイネーブル信号ｃｋｅｎにもとづいて、その電圧レベルが“Ｌ”のときはｃｌｋを停止させ、“Ｈ”のときはｃｌｋを供給させて、それによって生成された出力クロックｃｌｋ_outを出力する。
【００３０】
図５の表に、４ＭＨｚから３２ＭＨｚのクロックが入力され、分解能１ＭＨｚの周波数を生成する場合のカウンタ１３の比較値ｍａｘｄ、変換回路２１の変換式ｆｏｒｍａｔ、比較器１４の比較値ｃｍｐｄの値を示す。
変換式ｆｏｒｍａｔに基づく変換として、例えばクロック周波数３２ＭＨｚの欄に示すように最上位ビットから最下位ビットまでの全ビットを入れ替えるビット変換、例えばクロック周波数１６ＭＨｚの欄に示すように下位側４ビット内でのビット入れ替え変換、例えばクロック周波数２４ＭＨｚ，８ＭＨｚの欄に示すように下位側３ビット内でのビット入れ替え変換、例えばクロック周波数１２ＭＨｚ，４ＭＨｚの欄に示すように下位側２ビット内でのビット入れ替え変換のように、全ビット入れ替え変換または任意の下位側ビット内入れ替え変換が採用できる。もちろん、全ての周波数で同じ変換式を用いてもよいし、この表のように異なる周波数で異なる変換式を用いてもよい。また、制御回路２２により、適宜変換式を変更可能である。
【００３１】
図６（Ａ）〜図６（Ｅ）に、図５の設定において所望の周波数ｆｒｅｑとして１０ＭＨｚが要求されたときのクロックｃｌｋ、カウンタの計数値、変換回路の出力、比較器の出力（イネーブル信号ｃｈｅｎ）および出力クロックｃｌｋ_outの波形を示す。
【００３２】
例えば周波数１０ＭＨｚが要求された場合、クロック選択回路１２では１２ＭＨｚのクロックｃｌｋ_iが選択され、これがクロックｃｌｋとしてカウンタ１３および出力ゲートに付与される。カウンタ１３は、この１２ＭＨｚのクロックｃｌｋに同期してカウント動作する。具体的に、カウンタがアップカウンタの場合、図６（Ｂ）に示すように、カウンタ１３は“０”（２進数表記で“０００００”）から“１１”（２進数表記で“０１０１１”）の間を無限にインクリメントする。変換回路２１はカウンタ１３の計数値の２進数表記をデータ変換式ｆｏｒｍａｔに従って変換する。この図６（Ｃ）の例では、変換回路２１の入力値と出力値の最大値と最小値を変えないために、下位２ビット内でのビット入れ替えを行っている。比較器１４は、カウンタ１３の出力値が０（２進数表記で“０００００”）および１（２進数表記で“００００１”）のときに、図６（Ｄ）に示すようにクロックのイネーブル信号ｃｋｅｎを“Ｌ”にする。このため、出力されるｃｌｋ_outは、図６（Ｅ）に示すように、１２パルスごとに２個のパルスが停止されることになり、実効周波数１０ＭＨｚのクロックとなる。
【００３３】
以上は、要求される所望の周波数ｆｒｅｑが１０ＭＨｚの場合を例示したが、本実施形態のクロック生成回路２０では、この周波数ｆｒｅｑが如何なる値であっても、それより大きく、かつ最も近い周波数を選択して当該クロック生成回路を動作させる。そして、その周波数差に応じた割合でクロックを停止させることから、所望の周波数ｆｒｅｑと実効周波数が等しい出力クロックｃｌｋ_outが生成できる。このクロック生成回路２０を使用したシステムあるいは電子機器に対して無駄なクロックパルスが供給されない分、消費電力が抑制できる。
【００３４】
第１実施形態では、図３（Ｄ）に示すように１２サイクル中連続した２サイクルのパルスが間引かれたが、第２実施形態では、図６（Ｅ）に示すように間引かれる２つのパルスの間に１サイクルのパルスが供給される。クロックに同期して動作する電子回路システムでは、クロックに同期した電源ノイズが発生する。クロックが供給される期間と停止される期間が完全に分離された場合、そのクロックのイネーブル信号ｃｋｅｎの周波数に同期したノイズが発生することが懸念される。そのため、クロックのパルスを間引く場合には、間引かれるパルスを分散させた方がノイズの発生を抑えることができ、電子回路システムの誤動作を防ぐことができる。
また、図３（Ｄ）および図６（Ｅ）の例ではクロックの供給と停止のサイクルが１２サイクル毎に繰り返されているが、選択されるクロック周波数が高く分解能Δｆが小さい場合に、そのサイクルは非常に大きいものとなり、システムが停止している期間が長くなることが予想される。リアルタイム性のアプリケーションなどは常に一定の割合に動作することが好ましく、このような理由からも、間引かれるパルスは分散された方が好ましい。第２実施形態のクロック生成回路は、この点で第１実施形態を改善したものである。
【００３５】
［第３実施形態］
第３実施形態は、第１実施形態のクロック生成回路において、カウンタを複数設けた場合の一例を示す。カウンタ数は任意であるが、以下の説明では２つのカウンタを設けた場合を説明する。
図７は、第３実施形態に係るクロック生成回路の基本構成を示すブロック図である。なお、以下、第１実施形態と共通する構成は同一符号を付して、その機能および接続関係の説明を適宜省略する。
クロック生成回路３０は、クロック発生部１１、クロック選択回路１２、ラッチ１５とＡＮＤゲート１６からなる出力ゲートに加え、第１のカウンタ３１、第２のカウンタ３２、比較器３３および制御回路３４を有する。制御回路３４は要求されるクロックの周波数値ｆｒｅｑを入力として、その周波数値ｆｒｅｑをもとに、クロック選択回路１２に指示する選択信号ｓｅｌ、第１のカウンタ３１に指示する比較値ｍａｘｄ１、第２のカウンタ３２に指示する比較値ｍａｘｄ２、比較器３３に指示する比較値ｃｍｐｄを算出し出力する。
【００３６】
第１のカウンタ３１および第２のカウンタのクロック入力に、クロック選択回路１２の出力線が接続され、選択されたクロックｃｌｋが入力されるようになっている。第１のカウンタ３１の出力が、第２のカウンタ３２および比較器３３のそれぞれのイネーブル信号の入力端子ｅｎに接続されている。第２のカウンタ３２の出力は比較器３３の一方の入力に接続されている。
比較器３３は、第１のカウンタ３１から出力される信号ｏｖｅｒｆｌｏｗをイネーブル信号として、制御回路３４から指示される比較値ｃｍｐｄと第２のカウンタ３から出力されるカウンタ値を比較し、その比較結果にもとづいてクロックのイネーブル信号ｃｋｅｎを生成する。
第１のカウンタ３１はクロック選択回路１２から出力されるクロックｃｌｋに同期して動作し、当該クロックのパルス数を所定の周期で繰り返しカウントするアップカウンタあるいはダウンカウンタである。
第２のカウンタ３２は、第１のカウンタ３１からのオーバーフロー信号ｏｖｅｒｆｌｏｗをイネーブル信号としてカウント動作する。つまり、第２のカウンタ３２は、クロック選択回路１２から出力されるクロックｃｌｋに同期して、第１のカウンタ３１からオーバーフロー信号ｏｖｅｒｆｌｏｗが出力されたときのみカウンタ動作し、その計数値をインクリメントまたはディクリメントする。
【００３７】
クロック選択回路１２に複数のクロックが入力される場合、その入力されるクロックｃｌｋ_1、ｃｌｋ_2、…ｃｌｋ_nの周波数がそれぞれｆ1、ｆ2、…ｆn（ｆ1＜ｆ2＜…＜ｆn）とする。クロック生成回路３０に要求されるクロック周波数の分解能がΔｆのとき、周波数が１段階低いクロックとの周波数の差（ｆi−ｆi-1）が最大となるクロックの周波数をｆ(max)とすると、比較器３３はｌｏｇ2（ｆ(max)−ｆ(max-1)／Δｆ）ビット長の比較器であり、第２のカウンタ３２はｌｏｇ2（ｆ(max)−ｆ(max-1)／Δｆ）ビットのカウンタであり、第１のカウンタ３１はｌｏｇ2（ｆ(max)／（ｆ(max)−ｆ(max-1））ビットのカウンタである。
【００３８】
以下に、複数のクロックから１つを選択する場合を例に動作を簡単に説明する。
要求される周波数値ｆｒｅｑが与えられたとき制御回路３４は、クロック選択回路１２に入力されるクロックｃｌｋ_1、ｃｌｋ_2、…ｃｌｋ_nの周波数ｆ1、ｆ2、…ｆnの中から、要求される周波数値ｆｒｅｑより大きく、かつ最小の周波数ｆiのクロックｃｌｋ_iを選択するための選択信号ｓｅｌをクロック選択回路１２に出力する。クロックｃｌｋ_iより１段階周波数の低いクロックがｃｌｋ_jであり、その周波数がｆjとすると、制御回路３４は、また、第２のカウンタ３２の比較値ｍａｘｄ２として（ｆi−ｆj）／Δｆを、第１のカウンタ３１の比較値ｍａｘｄ１としてｆi／（ｆi−ｆj)を、比較器３３の比較値ｃｍｐｄとして（ｆi−ｆｒｅｑ）／Δｆをそれぞれ生成し、それぞれ第２のカウンタ３２、第１のカウンタ３１、比較器３３に出力する。
これによって、クロック選択回路１２は選択信号ｓｅｌが示す所望の周波数ｆｒｅｑに応じたクロックｃｌｋ_iを選択する。
第１のカウンタ３１は、制御回路３４により与えられた比較値ｍａｘｄ１に応じて０から(ｍａｘｄ１−１)の間の計数値をクロックｃｌｋに同期して無限にインクリメントまたはディクリメントする。第１のカウンタ３１は、オーバーフローが発生するたびに、その信号ｏｖｅｒｆｌｏｗを第２のカウンタ３２および比較器３３に供給する。
第２のカウンタ３２は、制御回路３４により与えられた比較値ｍａｘｄ２に応じて、第１のカウンタ３１の出力ｏｖｅｒｆｌｏｗをイネーブル信号として０から（ｍａｘｄ２−1）の間の計数値をクロックｃｌｋに同期して無限にインクリメントまたはディクリメントする。
比較器３３は、第１のカウンタ３１の出力ｏｖｅｒｆｌｏｗをイネーブル信号として、第２のカウンタ３２の出力値を比較値ｃｍｐｄと比較し、その結果に応じてクロックのイネーブル信号ｃｋｅｎを“Ｌ”または“Ｈ”にする。具体的に比較器３３は、例えば、第２のカウンタ３２の出力値が比較値ｃｍｐｄより小さいときにはクロックのイネーブル信号ｃｋｅｎを“Ｌ”にし、第２のカウンタ３２の出力値が比較値ｃｍｐｄ以上のとき、および、第１のカウンタの出力ｏｖｅｒｆｌｏｗが“Ｌ”のディスイネーブル時はクロックのイネーブル信号ｃｋｅｎを“Ｈ”にする。なお、この比較値の大小関係とイネーブル信号ｃｋｅｎの電圧レベルとの関係は逆でもよい。
ラッチ１５およびＡＮＤゲート１６は、クロックのイネーブル信号ｃｋｅｎにもとづいて、その電圧レベルが“Ｌ”のときはｃｌｋを停止させ、“Ｈ”のときはｃｌｋを供給させて、出力クロックｃｌｋ_outを生成し出力する。
【００３９】
図８の表に、４ＭＨｚから３２ＭＨｚのクロックが入力され、分解能１ＭＨｚの周波数を生成する場合の第１のカウンタ３１の比較値ｍａｘｄ１、第２のカウンタ３２の比較値ｍａｘｄ２、比較器３３の比較値ｃｍｐｄの値を示す。
例えば、所望の周波数値ｆｒｅｑが１０ＭＨｚの場合、クロック選択回路１２により選択されるクロックの周波数ｆiが１２ＭＨｚ、それより１段階低い周波数ｆjが８ＭＨｚとなる。このとき、制御回路３４から出力される第１のカウンタ３１の比較値ｍａｘｄ１はｆi／（ｆi−ｆj）＝１２Ｍ／（１２Ｍ−８Ｍ）＝３となり、第２のカウンタ３２の比較値ｍａｘｄ２は（ｆi−ｆj）／Δｆ＝（１２Ｍ−８Ｍ）／１Ｍ＝４となる。この比較値ｍａｘｄ１およびｍａｘｄ２によって、それぞれのカウンタがオーバーフローするときの計数値が指定される。また、この場合に、制御回路３４から与えられる比較器３３の比較値ｃｍｐｄは（１２−ｆｒｅｑ）＝２となる。この比較値ｃｍｐｄによって、比較器３３の入力（第２のカウンタ出力）に対する出力（クロックのイネーブルｃｋｅｎ）変化の閾値を指定している。
同様な計算によって、図８の表に示す他の周波数における各種比較値ｍａｘｄ１，ｍａｘｄ２およびｃｍｐｄが予め制御回路３４で計算される。
【００４０】
図９（Ａ）〜図９（Ｆ）に、図８の設定において所望の周波数ｆｒｅｑとして１０ＭＨｚが要求されたときのクロックｃｌｋ、第１のカウンタの計数値、第１のカウンタのオーバーフロー信号、第２のカウンタの計数値、比較器の出力（イネーブル信号ｃｈｅｎ）および出力クロックｃｌｋ_outの波形を示す。
【００４１】
周波数１０ＭＨｚが要求された場合、クロック選択回路１２によって１２ＭＨｚのクロックｃｌｋ_iが選択され、これがクロックｃｌｋとして第１のカウンタ３１、第２のカウンタ３２および出力ゲートに付与される。第１のカウンタ３１は、この１２ＭＨｚのクロックｃｌｋに同期してカウント動作する。具体的に、第１のカウンタがアップカウンタの場合、図９（Ｂ）に示すように、第１のカウンタ３１は“０”（２進数表記で“０００００”）から“２”（２進数表記で“０００１０”）の間を無限にインクリメントする。第２のカウンタ３２は、図９（Ｃ），（Ｄ）に示すように、第１のカウンタがオーバーフローする度にカウント動作を行い、“０”（２進数表記で“０００００”）から“３”（２進数表記で“０００１１”）の間を無限にインクリメントする。比較器３３は、第１のカウンタ３１から出力されるオーバーフロー信号ｏｖｅｒｆｌｏｗをイネーブル信号として第２のカウンタ３２の計数値を比較値ｃｍｐｄと比較し、第２のカウンタ３２の計数値が比較値ｃｍｐｄ未満のときのみ出力を“Ｌ”にする。ここでは、図９（Ｅ）に示すように、第２のカウンタ３２の出力値が“０”（２進数表記で“０００００”）および“１”（２進数表記で“００００１”）の期間のうち、第１のカウンタ３１からオーバーフロー信号ｏｖｅｒｆｌｏｗが出力されているときのみ比較器３３の出力が“Ｌ”となる。その結果、出力されるｃｌｋ_outは、図９（Ｅ）に示すように１２パルスごとに２回のパルスが離散的に停止されることになり、実効周波数１０ＭＨｚのクロックとなる。
【００４２】
以上は、要求される所望の周波数ｆｒｅｑが１０ＭＨｚの場合を例示したが、本実施形態のクロック生成回路３０では、この周波数ｆｒｅｑが如何なる値であっても、それより大きく、かつ最も近い周波数を選択して当該クロック生成回路を動作させる。そして、その周波数差に応じた割合でクロックを停止させることから、所望の周波数ｆｒｅｑと実効周波数が等しい出力クロックｃｌｋ_outが生成できる。このクロック生成回路３０を使用したシステムあるいは電子機器に対して無駄なクロックパルスが供給されない分、消費電力が抑制できる。
【００４３】
とくに第３実施形態では、要求された周波数ｆｒｅｑに応じてｃｌｋ_iが選択されるのはｃｌｋ_j＜ｆｒｅｑ≦ｃｌｋ_iのときであり、停止されるクロックパルスの個数は、ｆi／Δｆ個のうち最大で（ｆi−ｆj）／Δｆ個となる。したがって、第１のカウンタ３１にて（ｆi−ｆj）／Δｆ個のパルスを生成することにより、クロックパルスを停止させるタイミングを分散させることができる。その結果、第２実施形態と同様に、ノイズの発生を抑え電子回路システムあるいは電子機器の誤動作が有効に防止され、また、リアルタイム性のアプリケーションなど適したクロックの供給が可能となる。さらに第３実施形態では、複数のカウンタの組み合わせによって間引かれるパルスの間隔を調整する自由度が高い。
【００４４】
［第４実施形態］
第４実施形態は、第３実施形態のクロック生成回路にカウンタの計数値の変換回路を付加した場合である。
図１０は、第４実施形態に係るクロック生成回路の基本構成を示すブロック図である。なお、以下、第１実施形態および第３実施形態と共通する構成は同一符号を付して、その機能および接続関係の説明を適宜省略する。
クロック生成回路４０は、クロック発生部１１、クロック選択回路１２、ラッチ１５とＡＮＤゲート１６からなる出力ゲート、第１のカウンタ３１、第２のカウンタ３２、比較器３３に加え、クロック計数値の変換回路４１と制御回路４２を有する。制御回路４２は要求されるクロックの周波数値ｆｒｅｑを入力として、その周波数値ｆｒｅｑをもとに、クロック選択回路１２に指示する選択信号ｓｅｌ、第１のカウンタ３１に指示する比較値ｍａｘｄ１、第２のカウンタ３２に指示する比較値ｍａｘｄ２、比較器３３に指示する比較値ｃｍｐｄを算出し、変換方式ｆｏｒｍａｔを変換回路４１に変更可能に指示する。
【００４５】
クロック計数値の変換回路４１は、第２のカウンタ３２と比較器３３との間に挿入され、第２のカウンタ３２の計数値に対し、制御回路４２により与えられた変換の規則、例えば変換式ｆｏｒｍａｔにもとづいた所定のデータ変換を施した後、この変換後の値を比較器３３に出力する。なお、この変換の規則が所定のものに固定される場合、変換回路自体が変換の規則にしたがって構成され、変換の規則自体の変更は不可能な構成でもよい。この場合に、制御回路４２は、変換の規則、例えば変換式ｆｏｒｍａｔを決定する機能を省略した構成、すなわち第３実施形態の制御回路３４と同じ構成としてもよい。
比較器３３は、第１のカウンタ３１から出力される信号ｏｖｅｒｆｌｏｗをイネーブル信号として、制御回路４２から指示される比較値ｃｍｐｄと、変換回路４１で変換後の値とを比較し、その比較結果にもとづいてクロックのイネーブル信号ｃｋｅｎを生成する。
【００４６】
クロック選択回路１２に複数のクロックが入力される場合、その入力されるクロックｃｌｋ_1、ｃｌｋ_2、…ｃｌｋ_nの周波数がそれぞれｆ1、ｆ2、…ｆn（ｆ1＜ｆ2＜…＜ｆn）とする。クロック生成回路４０に要求されるクロック周波数の分解能がΔｆのとき、周波数が１段階低いクロックとの周波数の差（ｆi−ｆi-1）が最大となるクロックの周波数をｆ(max)とすると、比較器３３はｌｏｇ2（ｆ(max)−ｆ(max-1)／Δｆ）ビット長の比較器であり、第２のカウンタ３２はｌｏｇ2（ｆ(max)−ｆ(max-1)／Δｆ）ビットのカウンタであり、第１のカウンタ３１はｌｏｇ2（ｆ(max)／（ｆ(max)−ｆ(max-1））ビットのカウンタである。また、変換回路４１はｌｏｇ2（ｆ(max)−ｆ(max-1)／Δｆ）ビットのデータ変換を行う。
【００４７】
以下に、複数のクロックから１つを選択する場合を例に動作を簡単に説明する。
要求される周波数値ｆｒｅｑが与えられたとき制御回路４２は、クロック選択回路１２に入力されるクロックｃｌｋ_1、ｃｌｋ_2、…ｃｌｋ_nの周波数ｆ1、ｆ2、…ｆnの中から、要求される周波数値ｆｒｅｑより大きく、かつ最小の周波数ｆiのクロックｃｌｋ_iを選択するための選択信号ｓｅｌをクロック選択回路１２に出力する。クロックｃｌｋ_iより１段階周波数の低いクロックがｃｌｋ_jであり、その周波数がｆjとすると、制御回路４２は、また、第２のカウンタ３２の比較値ｍａｘｄ２として（ｆi−ｆj）／Δｆを、第１のカウンタ３１の比較値ｍａｘｄ１としてｆi／（ｆi−ｆj)を、比較器３３の比較値ｃｍｐｄとして（ｆi−ｆｒｅｑ）／Δｆをそれぞれ生成し、それぞれ第２のカウンタ３２、第１のカウンタ３１、比較器３３に出力する。
これによって、クロック選択回路１２は選択信号ｓｅｌが示す所望の周波数ｆｒｅｑに応じたクロックｃｌｋ_iを選択する。
第１のカウンタ３１は、制御回路４２により与えられた比較値ｍａｘｄ１に応じて０から(ｍａｘｄ１−１)の間の計数値をクロックｃｌｋに同期して無限にインクリメントまたはディクリメントする。第１のカウンタ３１は、オーバーフローが発生するたびに、その信号ｏｖｅｒｆｌｏｗを第２のカウンタ３２および比較器３３に供給する。
第２のカウンタ３２は、制御回路４２により与えられた比較値ｍａｘｄ２に応じて、第１のカウンタ３１の出力ｏｖｅｒｆｌｏｗをイネーブル信号として０から（ｍａｘｄ２−1）の間の計数値をクロックｃｌｋに同期して無限にインクリメントまたはディクリメントする。
変換回路４１は、制御回路４２により与えられた変換式ｆｏｒｍａｔにもとづいて、第２のカウンタ３２の計数値に対しデータ変換を行う。このデータ変換は、望ましくは、入力される値と出力される値が１対１に決定される変換であり、かつ、最大値と最小値が一致する変換である。例えば、２進数表記での下位側でビットの入れ替えなどの変換である。
比較器３３は、第１のカウンタ３１の出力ｏｖｅｒｆｌｏｗをイネーブル信号として、変換回路４１から入力された変換後の値を比較値ｃｍｐｄと比較し、その結果に応じてクロックのイネーブル信号ｃｋｅｎを“Ｌ”または“Ｈ”にする。具体的に比較器３３は、例えば、変換回路４１の出力値が比較値ｃｍｐｄより小さいときにはクロックのイネーブル信号ｃｋｅｎを“Ｌ”にし、変換回路４１の出力値が比較値ｃｍｐｄ以上のとき、および、第１のカウンタの出力ｏｖｅｒｆｌｏｗが“Ｌ”のディスイネーブル時はクロックのイネーブル信号ｃｋｅｎを“Ｈ”にする。なお、この比較値の大小関係とイネーブル信号ｃｋｅｎの電圧レベルとの関係は逆でもよい。
ラッチ１５およびＡＮＤゲート１６は、クロックのイネーブル信号ｃｋｅｎにもとづいて、その電圧レベルが“Ｌ”のときはｃｌｋを停止させ、“Ｈ”のときはｃｌｋを供給させて、出力クロックｃｌｋ_outを生成し出力する。
【００４８】
図１１の表に、４ＭＨｚから３２Ｈｚのクロックが入力され、分解能１ＭＨｚの周波数を生成する場合の第１のカウンタ３１の比較値ｍａｘｄ１、第２のカウンタ３２の比較値ｍａｘｄ２、変換回路４１の変換式ｆｏｒｍａｔ、比較器３３の比較値ｃｍｐｄの値を示す。
変換式ｆｏｒｍａｔは、例えばクロック周波数３２ＭＨｚ，２４ＭＨｚの欄に示すように最上位ビットから最下位ビットまでの全ビットを入れ替えるビット変換、例えばクロック周波数１６ＭＨｚ以下の欄に示すように下位側２ビットの入れ替え変換のように、全ビット入れ替え変換または任意の下位側ビット内入れ替え変換が採用できる。もちろん、全ての周波数で同じ変換の規則を用いてもよいし、この表のように異なる周波数で異なる変換の規則を用いてもよい。また、制御回路４２により、適宜変換の規則自体を変更可能である。
なお、周波数ごとの各種比較値ｍａｘｄ１，ｍａｘｄ２およびｃｍｐｄは、第３実施形態と同様な方法により予め制御回路４２で計算される。
【００４９】
図１２（Ａ）〜図１２（Ｇ）に、図１１の設定において所望の周波数ｆｒｅｑとして１０ＭＨｚが要求されたときのクロックｃｌｋ、第１のカウンタの計数値、第１のカウンタのオーバーフロー信号、第２のカウンタの計数値、比較器の出力（イネーブル信号ｃｈｅｎ）および出力クロックｃｌｋ_outの波形を示す。
所望の周波数値ｆｒｅｑが１０ＭＨｚの場合、選択されたクロックの周波数ｆiが１２ＭＨｚ、それより１段階低い周波数ｆjが８ＭＨｚとなる。このとき、第１のカウンタ３１の比較値ｍａｘｄ１としてｆi／（ｆi−ｆj）＝１２Ｍ／（１２Ｍ−８Ｍ）＝３が指定されている。したがって、図１２（Ｂ），図１２（Ｃ）に示すように、第１のカウンタ３１は“０”から“２”（２進数表記で“０００００”から“０００１０”）の３つの計数値を無限にインクリメントまたはディクリメントし、また計数値のリセットごとにオーバーフロー信号ｏｖｅｒｆｌｏｗを出力する。
第２のカウンタ３２の比較値ｍａｘｄ２として（ｆi−ｆj）／Δｆ＝（１２Ｍ−８Ｍ）／１Ｍ＝４が指定されている。したがって、図１２（Ｃ）に示すように、第２のカウンタ３２は“０”から“３”（２進数表記で“０００００”から“０００１１”）の４つの計数値を無限にインクリメントまたはディクリメントする。
変換回路４１は第２のカウンタ３２の計数値の２進数表記をデータ変換式ｆｏｒｍａｔに従って変換する。この例では、図１１に示すように下位２ビットの入れ替えであるので、図１２（Ｄ）から図１２（Ｅ）のように第２カウンタの計数が並べ替えられて変換回路４１から出力される。
一方、比較器３３の比較値ｃｍｐｄが（１２−ｆｒｅｑ）＝２であるので、比較器３３は、第２のカウンタ３２の出力値が“０”（２進数表記で“０００００”）および“１”（２進数表記で“００００１”）の期間（図１２（Ｆ）に破線で示す期間）のうち、第１のカウンタ３１からオーバーフロー信号ｏｖｅｒｆｌｏｗが出力されている期間のみ、その出力のクロックのイネーブル信号ｃｋｅｎを“Ｌ”にする。その結果、出力されるｃｌｋ_outは、図１２（Ｇ）に示すように１２パルスごとに２回のパルスが離散的に停止されることになり、実効周波数１０ＭＨｚのクロックとなる。
【００５０】
以上は、要求される所望の周波数ｆｒｅｑが１０ＭＨｚの場合を例示したが、本実施形態のクロック生成回路４０では、この周波数ｆｒｅｑが如何なる値であっても、それより大きく、かつ最も近い周波数を選択して当該クロック生成回路を動作させる。そして、その周波数差に応じた割合でクロックを停止させることから、所望の周波数ｆｒｅｑと実効周波数が等しい出力クロックｃｌｋ_outが生成できる。このクロック生成回路４０を使用したシステムあるいは電子機器に対して無駄なクロックパルスが供給されない分、消費電力が抑制できる。
【００５１】
とくに第４実施形態では、第３実施形態では１２パルスのクロックサイクルの前半（ダウンカウンタでは後半）に偏っていたパルス停止動作を全体的に一様に分散できるため、より改善されたクロック生成回路が実現できる。
【００５２】
上述した本発明の第１、第２、第３、第４の実施形態では、複数のクロックｃｌｋ_1、ｃｌｋ_2、…ｃｌｋ_nを入力とした場合を主に説明したが、本発明は単一のクロックの場合にも適用可能である。ただし、複数のクロックが入力される場合に、第３、第４の実施形態に示したように２つのカウンタを用いた方が間引かれるタイミングを分散させる効果が大きい。
また、所望の周波数ｆｒｅｑは外部から与えられるとしたが、これに限らず、例えばタスクごとにテーブル化されて制御回路内に保持させた構成でもよい。
【００５３】
【発明の効果】
本発明に係るクロック発生回路によれば、所望の周波数に応じて多階調の実効周波数のクロックを生成でき、その結果、要求されたタスク等に適合した必要最低限の周波数のクロックを常時供給することが可能となる。そのため、この回路を用いたシステムあるいは機器の消費電力を低減させることができる。
また、変換回路、２つのカウンタ、これらの組み合わせたものを付加することにより、クロックパルスを停止させるタイミングを分散させるため、低周波の電源ノイズの発生を抑え、システム等のリアルタイム性を損なうことがない。とくに、変換回路と２つのカウンタを組み合わせることにより、パルスの停止期間が全体的に一様に分散された理想的なクロックパルスを生成することができる。
【図面の簡単な説明】
【図１】第１実施形態に係るクロック生成回路の基本構成を示すブロック図である。
【図２】第１実施形態に係るクロック生成回路において、カウンタおよび比較器の比較値の具体例を示す表である。
【図３】（Ａ）〜（Ｄ）は、第１実施形態に係るクロック生成回路の動作における、出力ゲートの入出力クロック、カウンタの計数値、比較器の出力の波形を示すタイミングチャートである。
【図４】第２実施形態に係るクロック生成回路の基本構成を示すブロック図である。
【図５】第２実施形態に係るクロック生成回路において、カウンタおよび比較器の比較値、変換回路の変換式の具体例を示す表である。
【図６】（Ａ）〜（Ｅ）は、第２実施形態に係るクロック生成回路の動作における、出力ゲートの入出力クロック、カウンタの計数値、変換回路の出力、比較器の出力の波形を示すタイミングチャートである。
【図７】第３実施形態に係るクロック生成回路の基本構成を示すブロック図である。
【図８】第３実施形態に係るクロック生成回路において、第１，第２のカウンタおよび比較器の比較値の具体例を示す表である。
【図９】（Ａ）〜（Ｆ）は、第３実施形態に係るクロック生成回路の動作における、出力ゲートの入出力クロック、第１のカウンタの計数値、第１および第２のカウンタの出力、比較器の出力の波形を示すタイミングチャートである。
【図１０】第４実施形態に係るクロック生成回路の基本構成を示すブロック図である。
【図１１】第４実施形態に係るクロック生成回路において、第１，第２のカウンタおよび比較器の比較値、変換回路の変換式の具体例を示す表である。
【図１２】（Ａ）〜（Ｇ）は、第４実施形態に係るクロック生成回路の動作における、出力ゲートの入出力クロック、第１のカウンタの計数値、第１および第２のカウンタの出力、変換回路の出力、比較器の出力の波形を示すタイミングチャートである。
【符号の説明】
１０，２０，３０，４０‥‥クロック生成回路、１１‥‥クロック発生部、１２‥‥クロック選択回路、１３‥‥カウンタ、１４‥‥比較器、１５‥‥ラッチ、１６‥‥ＡＮＤゲート、１７‥‥制御回路、２１‥‥変換回路、２２‥‥制御回路、３１‥‥第１のカウンタ、３２‥‥第２のカウンタ、３３‥‥比較器、３４‥‥制御回路、４１‥‥変換回路、４２‥‥制御回路、ｃｈｅｎ‥‥クロックのイネーブル信号、ｃｌｋ‥‥選択されたクロック、ｃｌｋ_out‥‥出力クロック、ｃｍｐｄ‥‥比較回路の比較値、ｆｏｒｍａｔ‥‥データ変換式、ｆｒｅｑ‥‥所望の周波数、ｍａｘｄ，ｍａｘｄ１，ｍａｘｄ２‥‥カウンタの比較値、ｏｖｅｒｆｌｏｗ‥‥第１のカウンタのオーバーフロー信号、ｓｅｌ‥‥クロック選択回路の選択信号
【図１】
0003956768.tif 000002
【図２】
0003956768.tif 000003
【図３】
0003956768.tif 000004
【図４】
0003956768.tif 000005
【図５】
0003956768.tif 000006
【図６】
0003956768.tif 000007
【図７】
0003956768.tif 000008
【図８】
0003956768.tif 000009
【図９】
0003956768.tif 000010
【図１０】
0003956768.tif 000011
【図１１】
0003956768.tif 000012
【図１２】
0003956768.tif 000013