(57)【要約】  互いに排他的に動作するように配置構成された２つのプログラマブル・リング発振器（１０、２０）と、プログラマブル可変遅延要素（図示せず）とを含むクロック発生回路。入力プログラミング・パターン（１４）が発振回路に入力として供給され、プログラミング・パターン（１４）は、クロック信号を発生させる必要のある周波数のシーケンスを表すデータを提供する。２つの発振器（１０、２０）の出力端がクロック・スイッチ（１６）に接続され、発生されたクロック信号（１８）がこのスイッチから出力される。周波数変更を求める要求が受け取られたときは、まず現在アイドル状態の発振器（２０）が必要とされる次の周波数で活性化され、次いで現在動作中の発振器（１０）の出力が、そのクロック信号がローのときに、ゲート制御されるようになる。次に、前にゲート制御されていた発振器（２０）の出力が、その出力がローのときに、ゲート制御されないようにされ、次いで発振器（１０）が非活性化される。
2007525114.tif 000002
【特許請求の範囲】
【請求項１】
集積回路用のクロック信号を発生するための電子装置であって、入力信号に応じてクロック出力端に単一のクロック信号を発生し互いに排他的に動作するように配置構成され、その出力端が前記クロック出力端に選択的に接続可能である、少なくとも２つのクロック発生要素を含んでおり、さらに、前記クロック信号を発生させる必要のある周波数のシーケンスを表すデータ・パターンを受け取る手段と、前記シーケンス中の次の周波数を表すデータを受け取る手段と、前記シーケンス中の直前の周波数のクロック信号を発生しているクロック発生要素ではないクロック発生要素に、前記次の周波数のクロック信号を発生させる手段と、前記シーケンス中の直前の周波数のクロック信号を前記クロック出力端から切断する手段と、前記シーケンス中の次の周波数のクロック信号を前記クロック出力端に接続する手段とを含み、前記シーケンス中の各周波数でクロック信号を発生させられるクロック発生要素は、前記周波数の値とは関係がないことを特徴とする電子装置。
【請求項２】
前記シーケンス中の次の周波数のクロック信号が前記クロック出力端に接続される前に、前記シーケンス中の直前の周波数のクロック信号が前記クロック出力端から切断させられる、請求項１に記載の電子装置。
【請求項３】
前記シーケンス中の直前の周波数のクロック信号が前記クロック出力端から切断される前に、前記シーケンス中の前記次の周波数のクロック信号の発生が開始される、請求項２に記載の電子装置。
【請求項４】
前記シーケンス中の次の周波数のクロック信号の、前記クロック出力端への接続が、前記クロック信号がローのときに行われる、前記請求項のいずれか一項に記載の電子装置。
【請求項５】
前記シーケンス中の前記直前の周波数のクロック信号の、前記クロック出力端からの切断が、前記クロック信号がローのときに行われる、前記請求項のいずれか一項に記載の電子装置。
【請求項６】
前記少なくとも２つのクロック発生要素が、プログラマブル・リング発振器を含む、前記請求項のいずれか一項に記載の電子装置。
【請求項７】
前記シーケンス中の各周波数の１クロック・サイクルの持続時間を表すデータを受け取るための、プログラマブル可変遅延要素を含む、請求項６に記載の電子装置。
【請求項８】
前記プログラマブル可変遅延要素が、それぞれのクロック発生要素に、必要とされる周波数のクロック信号を発生させる、請求項７に記載の電子装置。
【請求項９】
前記データ・パターンが、前記クロック信号の周波数変更を求める一連の要求によって得られる、またはそれらの要求を含む、前記請求項のいずれか一項に記載の電子装置。
【請求項１０】
前記要求が実行される順序を決定するためのアービタをさらに含む、請求項９に記載の電子装置。
【請求項１１】
前記アービタが、前記処理要求を「先着順」制で順序付ける、請求項１０に記載の電子装置。
【請求項１２】
２つの要求がほぼ同時に受け取られた場合は、これら２つの要求が処理される順序を無作為に選択するように、前記アービタが構成される、請求項１１に記載の電子装置。
【請求項１３】
前記クロック発生要素がクロック信号の発生を開始および停止させられる順序、および／または前記クロック信号が前記クロック出力端に接続または切断される順序を制御するためのイベント・コントローラをさらに含む、前記請求項のいずれか一項に記載の電子装置。
【請求項１４】
そうせよとの要求に応じて、一時的にすべてのクロック発生要素をクロック出力端から切断するように配置構成される、請求項９から１３のいずれか一項に記載の電子装置。
【請求項１５】
集積回路用のクロック信号を発生するための方法であって、入力信号に応じてクロック出力端に単一のクロック信号を発生し互いに排他的に動作するように配置構成され、その出力端が前記クロック出力端に選択的に接続可能である、少なくとも２つのクロック発生要素を提供することを含んでおり、さらに、前記クロック信号を発生させる必要のある周波数のシーケンスを表すデータ・パターンを受け取ること、前記シーケンス中の次の周波数を表すデータを受け取ること、前記シーケンス中の直前の周波数のクロック信号を発生しているクロック発生要素ではないクロック発生要素に、前記次の周波数のクロック信号を発生させること、前記シーケンス中の直前の周波数のクロック信号を前記クロック出力端から切断すること、および前記シーケンス中の次の周波数のクロック信号を前記クロック出力端に接続することを含み、前記シーケンス中の各周波数でクロック信号を発生させられるクロック発生要素は、前記周波数の値とは関係がないことを特徴とする方法。
【請求項１６】
請求項１から１４のいずれか一項に記載の電子装置を製造する方法。
【請求項１７】
請求項１から１４のいずれか一項に記載の電子装置を用いて、または請求項１５の方法を用いて発生されるクロック信号。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力信号に応じてクロック信号を発生するための少なくとも１個のプログラマブル発振器要素を含み、前記入力信号の周波数が可変である、集積回路用のクロック信号を発生するための電子装置に関する。
【背景技術】
【０００２】
電力または性能を管理するために、集積回路中の動作クロック信号の周波数を変えることが必要になり得る状況が多くある。たとえば、多くの半導体装置は、アクティブ動作モードとスタンバイ動作モードを有する。装置が通電状態であるがアイドル状態である期間中の効率を向上させるために、スタンバイ・モード中の電力消費はアクティブ・モード中の電力消費よりも低減される。スタンバイ・モード中の電力消費を低減させる１つの方法は、装置が通電状態の間、連続して動作しなければならない様々な回路の動作周波数を低くすることである。これは二重の発振器周波数、すなわちアクティブ・モードでの動作中に最大速度で回路を駆動するためのより高い周波数と、より低速で回路を駆動しそれによってスタンバイ・モードでの動作中の回路の消費電力を低減するためのより低い周波数とを提供することによって実現することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
同様に、一般にコンピュータ、特にマイクロプロセッサおよびマイクロコントローラのより高い性能への要求は、クロック・レートの向上および命令セットの単純化を含めた種々な機能向上をもたらしている。したがって、すべての集積回路のクロック速度およびクロック・レートの制御および融通性がクリティカルになっている。このような回路用のクロック信号を発生するために用いられる発振器用の既知の制御システムは、過度に単純化され、かつ／または、主として予め配線されたハードウェア回路または所定の選択可能周波数に依存する傾向があり、したがって融通性が欠ける。
【０００４】
本発明者らは、改良型の構成を考案した。
【課題を解決するための手段】
【０００５】
本発明によれば、集積回路用のクロック信号を発生するための電子装置であって、入力信号に応じてクロック出力端に単一のクロック信号を発生し互いに排他的に動作するように配置構成され、その出力端が前記クロック出力端に選択的に接続可能である、少なくとも２つのクロック発生要素を含んでおり、さらに、前記クロック信号を発生させる必要のある周波数のシーケンスを表すデータ・パターンを受け取る手段と、前記シーケンス中の次の周波数を表すデータを受け取る手段と、前記シーケンス中の直前の周波数のクロック信号を発生しているクロック発生要素ではないクロック発生要素に、前記次の周波数のクロック信号を発生させる手段と、前記シーケンス中の直前の周波数のクロック信号を前記クロック出力端から切断する手段と、前記シーケンス中の次の周波数のクロック信号を前記クロック出力端に接続する手段とを含み、前記シーケンス中の各周波数でクロック信号を発生させられるクロック発生要素は、前記周波数の値とは関係がないことを特徴とする装置が提供される。
【０００６】
好ましくはシーケンス中の次の周波数のクロック信号がクロック出力端に接続される前に、シーケンス中の直前の周波数のクロック信号がクロック出力端から切断される。好ましくはシーケンス中の直前の周波数のクロック信号がクロック出力端から切断される前に（かつ、シーケンス中の次の周波数のクロック信号がクロック出力端に接続される前に）、シーケンス中の次の周波数のクロック信号の発生が開始される。
【０００７】
好ましくはシーケンス中の直前の周波数のクロック信号のクロック出力端からの切断は、クロック信号がローのときに行わせられる。同様に、好ましくはシーケンス中の次の周波数のクロック信号のクロック出力端への接続は、クロック信号がローのときに行わせられる。
【０００８】
クロック発生要素は、プログラマブル・リング発振器を含むことが有利であり、装置はさらに、シーケンス中の各周波数の１クロック・サイクルの持続時間を表すデータを受け取るための、プログラマブル可変遅延要素を含むことが好ましい。プログラマブル可変遅延要素は、それぞれのクロック発生要素に、必要とされる周波数のクロック信号を発生させるように配置構成されることが好ましい。
【０００９】
データ・パターンは、クロック信号の周波数変更を求める一連の要求によって得られる、またはその要求を含むことが好ましい。電子装置はさらに、このような要求が実行される順序を決定するためのアービタを含むことが有利である。本発明の一実施形態では、アービタは処理要求を「先着順」制で順序付ける。この場合、２つの要求をほぼ同時に受け取ったときは、これら２つの要求が処理される順序を無作為に選択するように、アービタが構成されることが有利である。
【００１０】
装置はさらに、クロック発生要素にクロック信号の発生を開始および停止させる順序、および／またはクロック信号がクロック出力端に接続または切断される順序を制御するためのイベント・コントローラを含むことができる。装置は、そうせよとの要求に応じて一時的にすべてのクロック発生要素をクロック出力端から切断するように配置構成することができる。
【００１１】
したがって、本発明は、予測可能な１クロック・サイクルの待ち時間で、安全に周波数を離散的に（すなわち任意の値から他の任意の値に）変更できるような、集積回路またはその一部分用のクロック信号を発生するためのメカニズムを提供し、このメカニズムは、クロックをゲート制御する任意の構成と適合可能である。外部発振器は不要であり、このメカニズムは標準の構造テストのためのソリューション（たとえばスキャン・チェーン）とも適合可能であることが分かっている。
【００１２】
本発明はまた、集積回路用のクロック信号を発生する方法であって、入力信号に応じてクロック出力端に単一のクロック信号を発生し互いに排他的に動作するように配置構成され、その出力端が前記クロック出力端に選択的に接続可能である、少なくとも２つのクロック発生要素を提供することを含んでおり、さらに、前記クロック信号を発生させる必要のある周波数のシーケンスを表すデータ・パターンを受け取ること、前記シーケンス中の次の周波数を表すデータを受け取ること、前記シーケンス中の直前の周波数のクロック信号を発生しているクロック発生要素ではないクロック発生要素に、前記次の周波数のクロック信号を発生させること、前記シーケンス中の直前の周波数のクロック信号を前記クロック出力端から切断すること、および前記シーケンス中の次の周波数のクロック信号を前記クロック出力端へ接続することを含み、前記シーケンス中の各周波数でクロック信号を発生させられるクロック発生要素は、前記周波数の値とは関係がないことを特徴とする方法にも及ぶ。
【００１３】
本発明はさらに、上記に定義されたような電子装置の製造方法、および上記に定義された装置または方法を用いて発生されるクロック信号にも及ぶ。
【００１４】
本発明の前記その他の態様は、以下に記載の実施形態から明らかになり、それを参照することにより明らかとなるであろう。
【００１５】
次に本発明の一実施形態について、添付の図面を参照して、例としてのみ説明する。
【発明を実施するための最良の形態】
【００１６】
したがって、本発明は、予測可能な待ち時間、たとえば１クロック・サイクルで、安全にその周波数を離散的に（すなわち任意の初期値から、他の任意の後続値に）変更できるような、集積回路またはその一部分用のクロック信号を発生するためのメカニズムであって、クロックをゲート制御する他の任意のメカニズムとも適合可能であるメカニズムを提供するためのものである。本発明は、外部発振器が不要であり、標準の構造テストのためのソリューション（たとえばスキャン・チェーン）とも適合可能であることが分かっている。このような発明は、電力または性能管理のために周波数を変化させるシステム中での応用を見出す。
【００１７】
米国特許第５，６５２，５３６号、第５，２９１，５２８号、第４，８５５，６１５号はすべて、２つ以上の利用可能なクロック信号から有効なクロック信号を選択することができ、クロック信号間のスイッチングを可能にするためのスイッチ回路が設けられた構成を記述している。
【００１８】
米国特許第６，２１９，７９７号は、選択可能な発振器源を備えた、マイクロコントローラを記述している。この構成は、オンチップの内部リング発振器と外部水晶発振器を含み、ユーザはシステムへの主たるソース・クロックとしてこれら２つの発振器のどちらかを選択することができる。マイクロコントローラが低電力モードで動作する必要がある場合は、内部リング発振器が選択される。
【００１９】
米国特許第５，２０８，５５７号は、チャージ・ポンプに接続された二重周波数発振器を含む構成を記述している。二重周波数発振器は、ＳＥＬＥＣＴ信号を受け取り、それに応じて、所定の周波数の発振信号をチャージ・ポンプに供給する。発振器の出力信号の周波数は、ＳＥＬＥＣＴ信号がローのとき第１の周波数ｆ１となり、ＳＥＬＥＣＴ信号がハイのとき第２の周波数ｆ２となる。それによって、スタンバイ・モード中はＳＥＬＥＣＴ信号がローとなり、発振器の出力信号周波数ｆ１が低くなる。アクティブ・モード中はＳＥＬＥＣＴ信号がハイとなり、発振器の出力信号周波数ｆ２が高くなる。
【００２０】
図面の図１を参照すると、本発明の例示的実施形態によるクロック発生回路は、２つのプログラマブル・リング発振器１０、２０を含む。リング発振器は、集積回路製造の分野で広く知られており、通常、簡単な反転論理回路をそれぞれのステージとして含む。各ステージの電流出力が、後続ステージの入力容量を閾値電圧まで充電または放電するのに、ある時間がかかる。それらのステージは直列に接続されて縦続ループを形成し、それによりループを一周する信号に、ある周波数で１８０°の位相シフトが付与される。ループ利得が十分高ければ、信号はすぐに非線形となり、様々な目的、特にディジタル信号処理用に用いることができる矩形波発振が得られる。金属酸化膜（ＭＯＳ）集積回路中では、リング発振器は一般にチャージ・ポンプ回路を駆動するために用いられる。特に、リング発振器は、ＢｉＣＭＯＳまたはバイポーラ、および純粋なＣＭＯＳ回路中にも設けられる。リング発振器の好ましい応用例は、データおよびクロック復元回路中、または位相同期ループ（ＰＬＬ）回路中に提供することである。
【００２１】
本発明のこの例示的実施形態におけるリング発振器１０、２０は、一方が現在の周波数の発生に用いられ、他方が次の（要求された）周波数の発生に用いられるという意味で、互いに排他的に用いられる。発振回路中には、プログラマブル可変遅延要素（図示せず）も設けられる。
【００２２】
複数のフリップ・フロップを含むマルチプレクサ１２は、２つの発振器１０、２０への入力段となっており、その入力として、クロック信号を発生させる必要のある周波数のシーケンスを表すデータをプログラマブル可変遅延要素に供給するための、プログラミング・パターン１４を有する。このようなデータは、より具体的には、シーケンス中の各周波数のクロック・サイクルの持続時間を表し、したがって、これは前記クロック・サイクル持続時間、クロック信号を発生させる必要のある対応する周波数から決定することができる。２つの発振器１０、２０の出力端は、クロック・スイッチ１６に接続され、発生されたクロック信号１８が、このスイッチから出力される。
【００２３】
装置はさらに、クロック信号周波数の変更要求を受け取り、実行される次の要求を選択するためのアービタ２２を含む。各要求は、プログラミング・パターン１４で示されるような、クロック信号の必要な周波数変更に等しい。このプログラミング・パターン１４は、外部ソース、たとえば集積回路の性能および電力管理を制御するように構成された小型回路から供給される傾向があり、あるいはソフトウェアによって生成されてもよい。しかし、本発明は、この点で限定されるものではない。
【００２４】
本発明のこの例示的実施形態では、アービタ２２は、次の要求を、「先着順」制で選択する。２つの要求を同時に受け取った場合は、アービタ２２はそれらから次の要求を無作為に選択するように構成することができる。イベント・コントローラ２４はアービタ２２から周波数変更を求める要求を受け取り、次いでＭＵＸフリップ・フロップ１２（すなわち入力が多重化されたレジスタ）によって新しい周波数が捕捉されるように配置構成される。イベント・コントローラ２４はまた、２つのリング発振器１０、２０の間での切り換えを制御する。アービタ２２は、スイッチ制御要素２６と共に、クロックのゲート制御をイネーブルするために使用される（これは、以下でさらに説明する）。
【００２５】
アービタは、入力信号の処理シーケンスを決定するために、複数の入力信号から選ばれた特定の入力信号への優先権の割当てに基づいて、交信プロトコルを制御する、良く知られたインターフェース回路である。優先権の割当ては、信号の時間的側面、たとえばアービタの入力端に到着した順序に基づくものでよい。したがって、本発明のこの例示的実施形態に含まれるアービタ２２では、アービタは単に、複数の要求のどれが最初にその入力チャネルによって受け取られたかを決定し、その要求がその出力チャネルに送られるようにする。
【００２６】
発生させる必要のあるクロック信号の必要な周波数変更に対応する一連の要求は、アービタ２２によって外部ソースから受け取られる。アービタ２２は、要求が受け取られた順序に従ってシーケンスまたはプログラミング・パターン１４を生成する。このプログラミング・パターンおよび要求は、現在の周波数でのクロック信号発生の停止と、必要とされる次の周波数でのクロック信号発生の開始との間で必要な遅延を示すデータ・パターンを含み、この遅延は次の周波数での１クロック・サイクルに等しく、必要とされる次の周波数の値を示していることに留意すべきである。プログラミング・パターン１４は、（プログラマブル可変遅延要素を含む）ＭＵＸ  １２、およびイベント・コントローラ２４に供給される。
【００２７】
図面の図３を参照すると、イベント・コントローラ２４は、要求を受け取ると、まず、ＭＵＸフリップ・フロップ１２を介して供給されたパターン１４によって指定された必要とされる次の周波数で、現在アイドル状態のリング発振器（たとえばこの場合２０）を活性化する。このことは現在発振しているリング発振器１０とは干渉しない。クロック・スイッチ２６が、リング発振器１０の出力だけをクロック出力端に送信させるからである。次いでイベント・コントローラは、クロック信号がローのとき現在動作中のリング発振器１０の出力がゲート制御されるようにする。次にイベント・コントローラは、前にゲート制御されていたリング発振器２０の出力を、その出力信号がローのときに、ゲート制御されないようにし、次いでイベント・コントローラは、リング発振器１０を実際に非活性化する（すなわち発振を回避するために、リングが開く）。この動作全体で、新しいクロック周波数の１クロック・サイクル未満しか必要でない。この時点で、イベント・コントローラ２４は、要求が取り下げられるのを待ち、次いでその初期状態に戻る。
【００２８】
図１のクロック発生装置を一時停止させることも可能である。この機能は、クロック・スイッチ２６を用いて実現される（その例示的実施形態は、図面の図４に示されている）。再び図３を参照すると、クロック発生装置を一時停止させる要求が受け取られた場合、クロック・スイッチ２６は、前にゲート制御されていなかったリング発振器１０がゲート制御されるようにし、次いで、要求が取り下げられるのを待った後、リング発振器１０をゲート制御しないようにする。
【００２９】
上記の説明から、この２つのリング発振器のクロックがローのときクロック出力端での周波数を変化させ、それによってクロック上のグリッチを避け、また正しい波形（図２参照）を得るために、クロック・スイッチ２６が使用されることは明らかであろう。
【００３０】
上述の実施形態は、本発明を限定するものではなく例示するものであり、当業者なら添付の特許請求の範囲で定義される本発明の範囲から逸脱することなく多くの代替実施形態を設計することが可能であることに留意すべきである。特許請求の範囲において括弧中に置かれたいずれの参照記号も、特許請求の範囲を限定するものと解釈されるべきではない。含むという語（「comprising」および「comprise」）および同様の語は、請求項のいずれかまたは明細書全体に記載されたもの以外の要素またはステップの存在を除外するものではない。要素の単数での参照は、そのような要素の複数での参照を除外するものでなく、逆も同様である。本発明は、複数の異なる要素を含むハードウェアを用いて実施することができ、適切にプログラミングされたコンピュータを用いて実施することができる。複数の手段を列挙した、装置に関する請求項では、これらの手段のいくつかを同じ１つのハードウェア品目によって実施することもできる。互いに異なる従属請求項中に何らかの処置が記載されているだけで、これらの処置の組合せが利用できないことを示すものではない。
【図面の簡単な説明】
【００３１】
【図１】本発明の例示的実施形態による電子装置を示す概略ブロック図である。
【図２】図１の装置から得られる出力信号を示す図である。
【図３】図１の装置のプロセスの流れを示す概略流れ図である。
【図４】図１の装置に含まれるクロック・スイッチの基本構造を示す概略図である。
【図１】
2007525114.tif 000003
【図２】
2007525114.tif 000004
【図３】
2007525114.tif 000005
【図４】
2007525114.tif 000006
【国際調査報告】
2007525114.tif 000007
2007525114.tif 000008