(57)【要約】【課題】クロック信号の周波数制御をより好適に行うこと。【解決手段】モニタ回路１２のリングオシレータ１６によるモニタ結果であるモニタ信号ＭＳの周波数に応じて設定値記憶回路１３からテーブル値ＴＶＡＬを出力させる。そして、そのテーブル値ＴＶＡＬに応じてクロック信号生成回路１４のＰＬＬ回路１５ａ，１５ｂにより生成した発振信号と等しい周波数のクロック信号ＣＬＫを対象回路１１に供給する。【選択図】図１
2011049877.tif 000002
【特許請求の範囲】
【請求項１】
対象回路の状態をモニタするモニタ回路のモニタ結果に応じた設定値を出力する設定値記憶回路と、
前記設定値に応じて、前記対象回路に供給するクロック信号を生成するクロック信号生成回路と、
を有し、
前記クロック信号生成回路は、複数のＰＬＬ回路を含み、前記複数のＰＬＬ回路のうちの１つに第１の設定値を設定し、前記第１の設定値を設定した第１のＰＬＬ回路にて生成したクロック信号を出力し、前記設定値記憶回路から出力される第２の設定値が、前記第１の設定値と異なる場合に、前記第２の設定値を、前記第１のＰＬＬ回路と異なる第２のＰＬＬ回路に設定し、前記第２のＰＬＬ回路にて生成したクロック信号を出力する、
ことを特徴とするクロック信号制御回路。
【請求項２】
前記クロック信号生成回路は、前記第２の設定値の設定に基づいてカウンタを動作させ、そのカウンタのカウントアップに基づいて、出力信号を前記第１のＰＬＬ回路にて生成したクロック信号から前記第２のＰＬＬ回路にて生成したクロック信号に切り替える、
ことを特徴とする請求項１に記載のクロック信号制御回路。
【請求項３】
前記クロック信号生成回路は、前記複数のＰＬＬ回路のそれぞれに設定する設定値を記憶する複数の設定レジスタと、
出力中のクロック信号を生成するＰＬＬ回路に対応する設定レジスタからＰＬＬ回路に設定される設定値を選択し、その選択した設定値に応じてＰＬＬ設定値を出力する設定値選択回路と、
前記ＰＬＬ設定値と、前記設定値記憶回路から出力される設定値とを比較し、その比較結果に応じた値を出力する比較器と、
前記比較器から出力される値を、出力中のクロック信号を生成するＰＬＬ回路に対応する設定レジスタと異なる設定レジスタに出力する切替回路と、
を有することを特徴とする請求項１又は２に記載のクロック信号制御回路。
【請求項４】
前記比較器は、前記ＰＬＬ設定値と前記設定値とが等しい場合に所定値を出力し、
前記ＰＬＬ回路は、対応する設定レジスタに所定値が設定された場合に動作を停止することを特徴とする請求項３に記載のクロック信号制御回路。
【請求項５】
複数のＰＬＬ回路を含み、前記複数のＰＬＬ回路のうちの１つに、対象回路の状態をモニタするモニタ回路のモニタ結果に応じた第１の設定値を設定し、前記第１の設定値を設定した第１のＰＬＬ回路にて生成したクロック信号を出力し、
次に対象回路の状態をモニタしたモニタ回路のモニタ結果に応じた第２の設定値が、前記第１の設定値と異なる場合に、前記第２の設定値を、前記第１のＰＬＬ回路と異なる第２のＰＬＬ回路に設定し、前記第２のＰＬＬ回路にて生成したクロック信号を出力する、
ことを特徴とするクロック信号制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
クロック信号制御回路、及びクロック信号制御方法に関するものである。
【背景技術】
【０００２】
従来、半導体装置の回路（例えばＣＰＵ）は、例えば図４に示すクロック信号生成回路４０から供給されるクロック信号に基づいて動作する。このクロック信号生成回路４０は、例えば外部から供給される基準信号ＳＣＬＫを、分周器４１を介してＣＰＵ４２に供給する。
【０００３】
半導体装置の回路は、動作環境などの要因によって温度が許容範囲を超えると、動作を制御することができなくなる、所謂熱暴走を起こす場合がある。このため、半導体装置の温度を検出し、回路に供給するクロック信号の周波数を変更することが考えられる。例えば、図４に示す回路では、分周器４１にて基準信号ＳＣＬＫを分周したクロック信号Ｓｏを、ＣＰＵ４２に供給する。クロック信号の周波数が低くなることで、ＣＰＵ４２の発熱が抑えられ、熱暴走を防ぐことができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、図４に示すクロック信号生成回路４０では、基準信号ＳＣＬＫの周波数と比べて、信号Ｓｏの周波数が極端に低くなるため、ＣＰＵ４２の動作速度が極端に下がってしまう。そのため、半導体装置の動作が極端に遅くなってしまう。
【０００５】
このクロック信号制御回路で、クロック信号の周波数制御を好適に行うことを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一観点によれば、対象回路の状態をモニタするモニタ回路のモニタ結果に応じた設定値を出力する設定値記憶回路と、前記設定値に応じて、前記対象回路に供給するクロック信号を生成するクロック信号生成回路と、を有し、前記クロック信号生成回路は、複数のＰＬＬ回路を含み、前記複数のＰＬＬ回路のうちの１つに第１の設定値を設定し、前記第１の設定値を設定した第１のＰＬＬ回路にて生成したクロック信号を出力し、前記設定値記憶回路から出力される第２の設定値が、前記第１の設定値と異なる場合に、前記第２の設定値を、前記第１のＰＬＬ回路と異なる第２のＰＬＬ回路に設定し、前記第２のＰＬＬ回路にて生成したクロック信号を出力する。
【発明の効果】
【０００７】
本発明の一観点によれば、クロック信号の周波数制御をより好適に行うことができる。
【図面の簡単な説明】
【０００８】
【図１】クロック信号制御回路の概略ブロック図である。
【図２】クロック信号生成回路のブロック回路図である。
【図３】クロック信号制御回路の動作波形図である。
【図４】従来例を示すブロック図である。
【発明を実施するための形態】
【０００９】
以下、一実施形態を図１〜図３に従って説明する。
図１に示すように、クロック信号制御回路１０は、対象回路１１にクロック信号ＣＬＫを供給する。対象回路１１は例えば中央演算処理装置（ＣＰＵ）である。
【００１０】
クロック信号制御回路１０は、モニタ回路１２と、設定値記憶回路１３と、クロック信号生成回路１４とを含む。モニタ回路１２は、対象回路１１の動作状態をモニタし、そのモニタ結果に応じたモニタ信号ＭＳを出力する。設定値記憶回路１３は、複数の設定値を記憶し、モニタ信号ＭＳに応じた設定値を出力する。設定値は、例えば対象回路１１に供給するクロック信号ＣＬＫの周波数値である。
【００１１】
クロック信号生成回路１４は対象回路１１に供給するクロック信号ＣＬＫを生成するために複数（本実施形態では２つ）の位相同期ループ回路（以下、ＰＬＬ回路）１５ａ，１５ｂを含む。クロック信号生成回路１４は、ＰＬＬ回路１５ａ，１５ｂを交互に選択し、その選択したＰＬＬ回路に対して設定値を設定する。選択されたＰＬＬ回路は、設定値に応じた周波数のクロック信号を生成する。そして、クロック信号生成回路１４は、選択したＰＬＬ回路にて生成したクロック信号を、クロック信号ＣＬＫとして出力する。
【００１２】
対象回路１１は、クロック信号生成回路から出力されるクロック信号ＣＬＫに基づいて動作する。つまり、対象回路１１の動作周波数は、クロック信号ＣＬＫに対応し、そのクロック信号ＣＬＫの周波数は設定値、即ちモニタ回路１２から出力されるモニタ信号ＭＳに対応する。
【００１３】
従って、モニタ回路１２に対象回路１１の動作により発せられる熱が伝播するようにそのモニタ回路１２を配置する。そして、対象回路１１の温度に応じてその対象回路１１に供給するクロック信号ＣＬＫの周波数を制御する。例えば、対象回路１１が上昇した時にはクロック信号ＣＬＫの周波数を低くすることにより、熱により対象回路１１の動作が不安定になることを防ぐことが可能となる。
【００１４】
モニタ回路１２は、リングオシレータ１６と、周波数カウンタ１７と、周波数記憶装置１８と、トリガカウンタ１９を含む。リングオシレータ１６は、環状に接続された奇数個（本実施形態では３個）のインバータ回路１６ａを含み、インバータ回路１６ａの動作速度に応じた周波数のモニタクロック信号ＭＣＫを周波数カウンタ１７に出力する。インバータ回路１６ａは、プロセス（Ｐ）、動作電源電圧（Ｖ）、温度（Ｔ）に応じた速度で動作する。従って、リングオシレータ１６から出力されるモニタクロック信号ＭＣＫの周波数は、温度や環境温度、製造プロセスのばらつき、電源電圧変動によって変動する。
【００１５】
周波数カウンタ１７は、リングオシレータ１６から出力されるモニタクロック信号ＭＣＫに応答してカウント値をカウントアップし、カウント値ＣＴを出力する。つまり、周波数カウンタ１７は、モニタクロック信号ＭＣＫのパルス数をカウントする。
【００１６】
周波数記憶装置１８には、周波数カウンタ１７から出力されるカウント値ＣＴが入力される。また、周波数カウンタ１７と周波数記憶装置１８には、トリガカウンタ１９から出力されるトリガ信号ＴＳが入力される。
【００１７】
トリガカウンタ１９は、基準信号ＳＣＬＫが入力される。基準信号ＳＣＬＫは、所定周波数のパルス信号である。トリガカウンタ１９は、その基準信号ＳＣＬＫに応答してカウント値をカウントアップする。そして、トリガカウンタ１９は、カウント値と設定値とを比較し、カウント値が設定値と等しくなったときに１つのパルス状のトリガ信号ＴＳを出力し、カウント値をクリアする。従って、トリガカウンタ１９は、設定値に応じた周期毎にトリガ信号ＴＳを出力する。
【００１８】
設定値は、モニタ回路１２のサンプリング周期に応じて設定されている。また、設定値は、ＰＬＬ回路１５ａ，１５ｂの動作に応じて設定されている。ＰＬＬ回路１５ａ，１５ｂは、設定の変更から発振信号の周波数が安定するまでに時間を要する。この時間をロックアップ時間という。設定値は、トリガ信号ＴＳの周期がこのロックアップ時間よりも長くなるように設定されている。
【００１９】
周波数カウンタ１７は、トリガ信号ＴＳに応答してカウント値をリセットする。例えば、周波数カウンタ１７は、Ｈレベルのトリガ信号ＴＳに応答してカウント値をリセット（＝０）し、Ｌレベルのトリガ信号ＴＳに応答してカウントアップする。
【００２０】
周波数記憶装置１８は、トリガ信号ＴＳに応答してカウント値ＣＴを記憶する。つまり、周波数記憶装置１８は、トリガ信号ＴＳを入力する毎に、記憶値を更新する。そして、周波数記憶装置１８は、記憶した値のモニタ信号ＭＳを出力する。
【００２１】
周波数カウンタ１７は、モニタクロック信号ＭＣＫをカウントしたカウント値ＣＴを出力する。トリガカウンタ１９は、設定値に応じた周期毎に１パルスのトリガ信号ＴＳを出力する。周波数記憶装置１８に記憶される値、即ちモニタ信号ＭＳの値は、トリガカウンタ１９の設定値に応じた期間におけるモニタクロック信号ＭＣＫのパルス数であり、モニタクロック信号ＭＣＫの周波数に対応する。つまり、周波数記憶装置１８は、モニタクロック信号ＭＣＫの周波数に対応する値のモニタ信号ＭＳを出力する。
【００２２】
設定値記憶回路１３は周波数テーブルを有し、この周波数テーブルには、複数の設定値が記憶されている。設定値は、クロック信号生成回路１４のＰＬＬ回路１５ａ，１５ｂに設定する設定値であり、例えば、１０ＭＨｚ〜１００ＭＨｚに対応する設定値が、１０ＭＨｚに対応するステップで記憶されている。設定値記憶回路１３は、入力されたモニタ信号ＭＳに応じた設定値を周波数テーブルから読み出し、その読み出した値をテーブル値ＴＶＡＬとして出力する。
【００２３】
クロック信号生成回路１４は、ＰＬＬ回路１５ａ，１５ｂを交互に選択し、その選択したＰＬＬ回路に対してテーブル値ＴＶＡＬを設定する。選択されたＰＬＬ回路は、テーブル値ＴＶＡＬに応じた周波数のクロック信号を生成する。そして、クロック信号生成回路１４は、選択したＰＬＬ回路にて生成したクロック信号を、クロック信号ＣＬＫとして出力する。
【００２４】
次に、クロック信号生成回路１４の構成を説明する。
図２に示すように、テーブル値ＴＶＡＬは、比較器２１に入力される。また、比較器２１には、ＰＬＬ設定値ＰＣＳＴが入力される。ＰＬＬ設定値ＰＣＳＴは、以前に設定値記憶回路１３から出力されたテーブル値ＴＶＡＬであり、現時点での対象回路１１（ＣＰＵ）の動作周波数の設定値情報である。比較器２１は、ＰＬＬ設定値ＰＣＳＴとテーブル値ＴＶＡＬとを比較し、ＰＬＬ設定値ＰＣＳＴとテーブル値ＴＶＡＬとが等しい場合には所定値（例えば０）の設定信号ＣＳＴを出力するとともに、Ｌレベルのトリガ信号ＣＴＲＧを出力する。一方、ＰＬＬ設定値ＰＣＳＴとテーブル値ＴＶＡＬが異なる場合、比較器２１は、テーブル値ＴＶＡＬと等しい値の設定信号ＣＳＴを出力するとともに、Ｈレベルのトリガ信号ＣＴＲＧを出力する。
【００２５】
セレクタ２２には、上記の設定信号ＣＳＴと選択信号ＰＳＥＬが入力される。セレクタ２２は、設定レジスタ２３ａが接続された第１の出力端子と、設定レジスタ２３ｂが接続された第２の出力端子とを有している。セレクタ２２は、選択信号ＰＳＥＬに応じて、入力端子を第１の出力端子又は第２の出力端子に接続する。例えば、セレクタ２２は、Ｈレベルの選択信号ＰＳＥＬに応答して入力端子を第１の出力端子に接続し（図２において実線で図示）、Ｌレベルの選択信号ＰＳＥＬに応答して入力端子を第２の出力端子に接続する（図２において破線で図示）。従って、設定信号ＣＳＴは、選択信号ＰＳＥＬに応じて第１の設定レジスタ２３ａ又は第２の設定レジスタ２３ｂに出力される。
【００２６】
第１の設定レジスタ２３ａは、設定信号ＣＳＴの値を記憶し、その記憶した値の設定信号ＰＣＳａをＰＬＬ回路１５ａに出力する。ＰＬＬ回路１５ａには、基準信号ＳＣＬＫが入力される。ＰＬＬ回路１５ａは電圧制御発振器（ＶＣＯ）、位相比較器、可変分周器を含み、基準信号ＳＣＬＫの周波数に対して設定値ＰＣＳａに応じた整数倍の周波数の発振信号ＰＯａを生成する。
【００２７】
同様に、第２の設定レジスタ２３ｂは、設定信号ＣＳＴの値を記憶し、その記憶した値の設定信号ＰＣＳｂをＰＬＬ回路１５ｂに出力する。ＰＬＬ回路１５ｂには、基準信号ＳＣＬＫが入力される。ＰＬＬ回路１５ｂは電圧制御発振器（ＶＣＯ）、位相比較器、可変分周器を含み、基準信号ＳＣＬＫの周波数に対して設定値ＰＣＳｂに応じた整数倍の周波数の発振信号ＰＯｂを生成する。
【００２８】
上記の比較器２１は、比較結果に応じて、テーブル値ＴＶＡＬ又は所定値（＝０）の設定信号ＣＳＴを出力する。従って、両ＰＬＬ回路１５ａ，１５ｂには、テーブル値ＴＶＡＬ又は所定値（＝０）が設定される。ＰＬＬ回路１５ａ，１５ｂは、テーブル値ＴＶＡＬが設定された場合には、そのテーブル値ＴＶＡＬに応じた周波数の発振信号ＰＯａ，ＰＯｂを生成する。一方、所定値（＝０）が設定された場合、各ＰＬＬ回路１５ａ，１５ｂは、発振動作を停止する。
【００２９】
出力選択回路２４には、両ＰＬＬ回路１５ａ，１５ｂにて生成された発振信号ＰＯａ，ＰＯｂと、選択信号ＰＳＥＬが入力される。出力選択回路２４は、選択信号ＰＳＥＬに応じて発振信号ＰＯａ，ＰＯｂの何れか一方を選択し、その選択した発振信号と実質的に等しいクロック信号ＣＬＫを出力する。例えば、出力選択回路２４は、Ｌレベルの選択信号ＰＳＥＬに応じて発振信号ＰＯａを選択し、Ｈベルの選択信号ＰＳＥＬに応じて発振信号ＰＯｂを選択する。
【００３０】
上記の設定レジスタ２３ａ，２３ｂから出力される設定信号ＰＣＳａ，ＰＣＳｂは設定値選択回路２５に入力される。また、この設定値選択回路２５には選択信号ＰＳＥＬが入力される。設定値選択回路２５は、選択信号ＰＳＥＬに基づいて設定信号ＰＣＳａ，ＰＣＳｂの何れか一方を選択する。例えば、設定値選択回路２５は、Ｌレベルの選択信号ＰＳＥＬに応答して第１の設定信号ＰＣＳａを選択し、Ｈレベルの選択信号ＰＳＥＬに応答して第２の設定信号ＰＣＳｂを選択する。そして、設定値選択回路２５は、選択した設定信号の値と等しい値のＰＬＬ設定値ＰＣＳＴを比較器２１に出力する。
【００３１】
上記の比較器２１から出力されるトリガ信号ＣＴＲＧは、カウンタ２７に入力される。また、カウンタ２７には、基準信号ＳＣＬＫが入力される。カウンタ２７は、トリガ信号ＣＴＲＧに基づいて、カウント動作の開始又はカウント動作を停止する。例えば、カウンタ２７は、Ｈレベルのトリガ信号ＣＴＲＧに応答してカウント動作を開始する。
【００３２】
カウンタ２７は、カウント動作において、基準信号ＳＣＬＫのパルスに応答してカウント値をカウントアップする。そして、カウンタ２７は、カウント値が設定値と等しくなると、出力する制御信号ＣＮＴのレベルを反転する。一方、カウンタ２７は、Ｌレベルのトリガ信号ＣＴＲＧに応答してカウント動作を停止する。
【００３３】
カウンタ２７の設定値は、上記のＰＬＬ回路１５ａ，１５ｂのロックアップ時間の最大値に応じて設定されている。詳しくは、設定値は、上記Ｈレベルのトリガ信号ＣＴＲＧが出力されてから、ＰＬＬ回路１５ａ，１５ｂがロックアップするまでに要する充分な時間に設定されている。
【００３４】
カウンタ２７から出力される制御信号ＣＮＴは、排他的論理和回路（ＥＯＲ回路）２８に入力される。このＥＯＲ回路２８には選択信号ＰＳＥＬが入力される。ＥＯＲ回路２８は前述の制御信号ＣＮＴと選択信号ＰＳＥＬとを排他的論理和演算した結果に応じた信号をセレクタ２９に出力する。
【００３５】
セレクタ２９には、選択信号ＰＳＥＬとトリガ信号ＣＴＲＧが入力される。セレクタ２９は、トリガ信号ＣＴＲＧの信号レベルに応じて選択信号ＰＳＥＬとＥＯＲ回路２８の出力信号とのいずれか一方の信号を選択し、その選択した信号のレベルと等しいレベルの信号ＰＳＥＬ＿Ｎを出力する。
【００３６】
セレクタ２９の出力信号ＰＳＥＬ＿Ｎは選択信号レジスタ２６に入力される。選択信号レジスタ２６は、信号ＰＳＥＬ＿Ｎを記憶し、その記憶したレベルと等しいレベルの選択信号ＰＳＥＬを出力する。
【００３７】
ＥＯＲ回路２８には選択信号ＰＳＥＬが入力される。そして、出力選択回路２４は選択信号ＰＳＥＬに応じて、第１のＰＬＬ回路１５ａ又は第２のＰＬＬ回路１５ｂを選択する。そして、選択されたＰＬＬ回路の発振信号によりクロック信号ＣＬＫが生成される。従って、選択信号ＰＳＥＬは、出力中のクロック信号ＣＬＫを生成するＰＬＬ回路に対応する。
【００３８】
また、ＥＯＲ回路２８には制御信号ＣＮＴが入力される。カウンタ２７は、カウント値と設定値とが一致すると、制御信号ＣＮＴのレベルを反転する。ＥＯＲ回路２８は、２つの入力信号のレベルが一致する場合にＬレベルの信号を出力し、２つの入力信号のレベルが一致しない場合にＨレベルの信号を出力する。
【００３９】
カウンタ２７は、比較器２１から出力されるトリガ信号ＣＴＲＧ，即ち比較器２１の比較結果に応じて、制御信号ＣＮＴのレベルを反転する。従って、ＥＯＲ回路２８は、制御信号ＣＮＴのレベルが反転する毎に、選択信号ＰＳＥＬの論理レベルを反転した信号を出力する。選択信号ＰＳＥＬは、出力中のクロック信号ＣＬＫを生成するＰＬＬ回路を示し、その値が選択信号レジスタ２６に記憶されている。従って、ＥＯＲ回路２８の出力信号は、選択するＰＬＬ回路を切り替えるために、選択信号レジスタ２６の値を変更する。このように、カウンタ２７、ＥＯＲ回路２８、セレクタ２９は、選択信号レジスタ２６に記憶された値を、次に選択するＰＬＬ回路を示す値に変更する選択変更回路に含まれる。
【００４０】
上記のように構成されたクロック信号制御回路１０の動作を説明する。
なお、説明を判りやすくするために、周波数記憶装置１８から出力されるモニタ信号ＭＳの値を、リングオシレータ１６から出力されるモニタクロック信号ＭＣＫの周波数とする。また、設定値記憶回路１３から出力されるテーブル値ＴＶＡＬを、ＰＬＬ回路１５ａ，１５ｂの発振信号ＰＯａ，ＰＯｂの周波数とする。
【００４１】
今、第１の設定レジスタ２３ａに設定値（８０ＭＨｚ）が記憶され、第１のＰＬＬ回路１５ａは、その設定レジスタ２３ａから出力される設定信号ＰＣＳａに応じた周波数（８０ＭＨｚ）の発振信号ＰＯａを出力する。そして、選択信号レジスタ２６からＬレベルの選択信号ＰＳＥＬが出力されている。
【００４２】
セレクタ２２は、Ｌレベルの選択信号ＰＳＥＬに応答して、図２において破線で示すように、入力端子を第２の出力端子に接続する。
出力選択回路２４は、Ｌレベルの選択信号ＰＳＥＬに応答して、第１のＰＬＬ回路１５ａの発振信号ＰＯａを選択し、その発振信号ＰＯａの周波数と等しい周波数のクロック信号ＣＬＫを出力する。
【００４３】
設定値選択回路２５は、Ｌレベルの選択信号ＰＳＥＬに応答して第１の設定レジスタ２３ａから出力される設定信号ＰＣＳａを選択し、その設定信号ＰＣＳａの値と等しい値のＰＬＬ設定値ＰＣＳＴを比較器２１に出力する。従って、比較器２１には、８０ＭＨｚのＰＬＬ設定値ＰＣＳＴが入力される。
【００４４】
次に、周波数記憶装置１８は、リングオシレータ１６から出力されるモニタクロック信号ＭＣＫの周波数（例えば８ＭＨｚ）のモニタ信号ＭＳを出力する。設定値記憶回路１３は、その信号ＭＳの周波数（８ＭＨｚ）に応じた周波数のテーブル値ＴＶＡＬ（例えば８０ＭＨｚ）を出力する。比較器２１は、このテーブル値ＴＶＡＬと、ＰＬＬ設定値ＰＣＳＴを比較する。この場合、テーブル値ＴＶＡＬとＰＬＬ設定値ＰＣＳＴが等しいため、比較器２１は、所定値（＝０）の設定値ＣＳＴを出力する。この設定値ＣＳＴは、セレクタ２２を介して第２の設定レジスタ２３ｂに供給され、第２の設定レジスタ２３ｂは、設定値ＣＳＴ（＝０）を記憶し、その値と等しい設定値ＰＣＳｂを出力する。第２のＰＬＬ回路１５ｂは、設定値ＰＣＳｂが所定値（＝０）であるため、発振動作を停止する。このとき、第２のＰＬＬ回路１５ｂには、電流パスが発振動作を行っているときと比べて少なくなるため、その分消費電流が少なくなる。
【００４５】
次に、環境温度若しくはリングオシレータ１６の温度が上昇すると、リングオシレータ１６から出力されるモニタクロック信号ＭＣＫの周波数が低くなり、周波数記憶装置１８から出力されるモニタ信号ＭＳの値が小さくなる。例えば、モニタ信号ＭＳの値を７ＭＨｚとする。すると、設定値記憶回路１３は、モニタ信号ＭＳに基づいて、７０ＭＨｚのテーブル値ＴＶＡＬを出力する（図３の時刻Ｔ１）。
【００４６】
比較器２１は、テーブル値ＴＶＡＬとＰＬＬ設定値ＰＣＳＴを比較する。テーブル値ＴＶＡＬはＰＬＬ設定値ＰＣＳＴと異なるため、比較器２１は、テーブル値ＴＶＡＬと等しい値の設定値ＣＳＴを出力するとともに、Ｈレベルのトリガ信号ＣＴＲＧを出力する（図３の時刻Ｔ２）。
【００４７】
比較器２１から出力される設定値ＣＳＴは、セレクタ２２を介して第２の設定レジスタ２３ｂに供給され、第２の設定レジスタ２３ｂは設定値ＣＳＴ（＝７０ＭＨｚ）を記憶し、その値と等しい設定値ＰＣＳｂを出力する（図３の時刻Ｔ３）。
【００４８】
第２のＰＬＬ回路１５ｂは、設定値ＰＣＳｂに基づいて発振動作を開始し、発振信号ＰＯｂの周波数を設定値ＰＣＳｂ（７０ＭＨｚ）に近づける。
図３の時刻Ｔ２においてＨレベルのトリガ信号ＣＴＲＧが出力されると、図２のカウンタ２７はカウントを開始する。そして、カウンタ２７は、カウント値が設定値と等しくなると、Ｈレベルの制御信号ＣＮＴを出力する（図３の時刻Ｔ４）。設定値は、ＰＬＬ回路１５ｂのロックアップ時間に対応する値よりも大きく設定されているため、Ｈレベルの制御信号ＣＮＴが出力された時刻Ｔ４では、ＰＬＬ回路１５ｂはロック状態となっている。
【００４９】
そして、図２のＥＯＲ回路２８は、Ｈレベルの制御信号ＣＮＴとＬレベルの選択信号ＰＳＥＬに基づいてＨレベルの信号を出力し、セレクタ２９は、ＥＯＲ回路２８の出力信号を選択してＨレベルの信号ＰＳＥＬ＿Ｎを出力する。
【００５０】
選択信号レジスタ２６は、Ｈレベルの信号ＰＳＥＬ＿Ｎに基づいてＨレベルの選択信号ＰＳＥＬを出力する（図３の時刻Ｔ５）。すると、出力選択回路２４は、Ｈレベルの選択信号ＰＳＥＬに応答して、第２のＰＬＬ回路１５ｂの発振信号ＰＯｂを選択し、その発振信号ＰＯｂの周波数と等しい周波数のクロック信号ＣＬＫを出力する。
【００５１】
このように、クロック信号ＣＬＫの周波数が８０ＭＨｚから７０ＭＨｚへと切り替えられる。すると、対象回路１１（ＣＰＵ）の動作速度が低くなるため、その分発熱が抑えられる。また、対象回路１１の動作周波数が、８０ＭＨｚから７０ＭＨｚへと切り替えられる。このように、動作周波数の差が少ないため、対象回路１１の動作が極端に低下するのを抑制することができる。
【００５２】
そして、この周波数の切り替え時に、第２のＰＬＬ回路１５ｂはロック状態にあるため、クロック信号ＣＬＫの周波数変動が抑制されている。このため、クロック信号ＣＬＫに基づいて動作する対象回路１１（ＣＰＵ）の動作変動が抑制される。
【００５３】
設定値選択回路２５は、Ｈレベルの選択信号ＰＳＥＬに応答して第２の設定レジスタ２３ｂから出力される設定信号ＰＣＳｂを選択し、その設定信号ＰＣＳｂの値と等しい値のＰＬＬ設定値ＰＣＳＴを比較器２１に出力する。従って、比較器２１には、７０ＭＨｚのＰＬＬ設定値ＰＣＳＴが入力される。
【００５４】
比較器２１は、このテーブル値ＴＶＡＬと、ＰＬＬ設定値ＰＣＳＴを比較する。このとき、テーブル値ＴＶＡＬは７０ＭＨｚであるため、テーブル値ＴＶＡＬとＰＬＬ設定値ＰＣＳＴが等しい。従って、比較器２１は、所定値（＝０）の設定値ＣＳＴを出力する。
【００５５】
セレクタ２２は、Ｈレベルの選択信号ＰＳＥＬに応答して、図２において実線で示すように、入力端子を第１の出力端子に接続する。従って、設定値ＣＳＴは、セレクタ２２を介して第１の設定レジスタ２３ａに供給され、第１の設定レジスタ２３ａは、設定値ＣＳＴ（＝０）を記憶し、その値と等しい設定値ＰＣＳａを出力する（図３の時刻Ｔ６）。
【００５６】
第１のＰＬＬ回路１５ａは、設定値ＰＣＳａが所定値（＝０）であるため、発振動作を停止する。このとき、第１のＰＬＬ回路１５ａには、電流パスが発振動作を行っているときと比べて少なくなるため、その分消費電流が少なくなる。
【００５７】
環境温度若しくはリングオシレータ１６の温度が下降すると、リングオシレータ１６から出力されるモニタクロック信号ＭＣＫの周波数が高くなり、周波数記憶装置１８から出力されるモニタ信号ＭＳの値が大きくなる。すると、温度が上昇する場合と同様に、クロック信号ＣＬＫの周波数よりも高い周波数の発振信号がＰＬＬ回路により生成され、その発振信号が選択されてクロック信号ＣＬＫとして出力される。
【００５８】
なお、上記は温度変化に応じて周波数を変更する場合について説明したが、電源電圧が変動した場合、モニタ回路１２に含まれるリングオシレータ１６から出力されるモニタクロック信号ＭＣＫの周波数が変化するため、同様にクロック信号ＣＬＫの周波数を変更することができる。また、モニタ回路１２と対象回路１１にそれぞれ個別に電源電圧が供給され、対象回路１１に供給される電源電圧が変動する場合、対象回路１１の温度変化に応じてリングオシレータ１６から出力されるモニタクロック信号ＭＣＫの周波数が変化するため、同様にクロック信号ＣＬＫの周波数を変更することができる。
【００５９】
また、半導体装置を形成するプロセスのバラツキに対応することができる。プロセスのバラツキは、対象回路１１はリングオシレータ１６の動作速度に影響する。従って、上記と同様に、クロック信号ＣＬＫの周波数を変更することができる。
【００６０】
以上記述したように、本実施形態によれば、以下の効果を奏する。
（１）モニタ回路１２のリングオシレータ１６によるモニタ結果であるモニタ信号ＭＳの周波数に応じて設定値記憶回路１３からテーブル値ＴＶＡＬを出力させる。そして、そのテーブル値ＴＶＡＬに応じてクロック信号生成回路１４のＰＬＬ回路１５ａ，１５ｂにより生成した発振信号ＰＯａ，ＰＯｂと等しい周波数のクロック信号ＣＬＫを対象回路１１に供給する。このような構成とすることで、ＰＬＬ回路１５ａ，１５ｂのそれぞれで周波数を調整できるため、周波数を切り替える際に段階的に変更することが可能となる。これにより、従来のように１／ｎ分周された周波数にて対象回路１１（ＣＰＵ）を動作させることが無くなり、クロック信号の周波数を好適に制御することができる。
【００６１】
（２）２つのＰＬＬ回路１５ａ，１５ｂを用い、例えばＰＬＬ回路１５ｂをロックアップさせた後に、出力選択回路２４においてその発振信号ＰＯｂと等しい周波数のクロック信号ＣＬＫを出力する。このため、例えばＰＬＬ回路のロックアップ中においてクロック信号ＣＬＫが変更されないため、ロックアップに伴うＰＬＬ回路１５ａ，１５ｂの信号の周波数が所望の周波数とずれた状態で使用されることが防止される。つまり、より確実に所望の周波数にて対象回路１１を動作させることができる。
【００６２】
（３）インバータ回路１６ａを奇数個（例えば３個）使用したリングオシレータ１６を有するモニタ回路１２が用いられる。つまり、簡素な構成のリングオシレータ１６を用いているため、容易且つ安価にモニタ回路を構成することができる。
【００６３】
（４）モニタ回路１２は、奇数個（例えば３つ）のインバータ回路１６ａを用いた構成のリングオシレータ１６を有しているため、簡易な構成の回路にて間接的に対象回路１１（ＣＰＵ）の状態を監視することができる。
【００６４】
（５）設定値記憶回路１３の周波数テーブルには、モニタクロック信号ＭＣＫのカウント値と等しい値のモニタ信号ＭＳの値と同等の信号であるＳ３に応じたクロック信号ＣＬＫの周波数をＰＬＬ回路に設定する設定値が記憶されている。これにより、周波数テーブルに記憶された設定値を用いることでクロック信号ＣＬＫの周波数を決定することができる。
【００６５】
尚、上記各実施形態は、以下の態様で実施してもよい。
・上記実施形態では、２つのＰＬＬ回路１５ａ，１５ｂを交互に用いて対象回路１１に供給するクロック信号ＣＬＫの周波数を変更する構成としたが、３つ以上のＰＬＬ回路を用いる構成を採用してもよい。このような構成とすることで、ＰＬＬ回路におけるロックアップ時間中に、その時のリングオシレータ１６の温度、環境温度及びプロセスのばらつきに応じた周波数を設定することができるため、応答性の良い対象回路１１に供給するクロック信号ＣＬＫの周波数制御を行うことができる。
【００６６】
・上記実施形態では、設定値記憶回路１３の周波数テーブルに記憶する設定値の数を適宜変更しても良い。また、設定値のステップを適宜変更してもよい。
・上記実施形態では、リングオシレータ１６を３個のインバータ回路１６ａにて構成したが、５個以上の奇数個のインバータ回路でリングオシレータを構成してもよい。
【００６７】
・上記実施形態では、モニタ回路１２にリングオシレータ１６を用いる構成としたが、これに限らない。
・上記実施形態では、対象回路１１としてＣＰＵに供給するクロック信号ＣＬＫの周波数を、モニタ結果に応じて変更するようにしたが、対象回路はＣＰＵ以外でもよく、例えばＤＳＰ，ＭＰＵ等に供給するクロック信号の周波数を変更するようにしてもよい。
【００６８】
上記各実施形態に関し、以下の付記を開示する。
（付記１）
対象回路の状態をモニタするモニタ回路のモニタ結果に応じた設定値を出力する設定値記憶回路と、
前記設定値に応じて、前記対象回路に供給するクロック信号を生成するクロック信号生成回路と、
を有し、
前記クロック信号生成回路は、複数のＰＬＬ回路を含み、前記複数のＰＬＬ回路のうちの１つに第１の設定値を設定し、前記第１の設定値を設定した第１のＰＬＬ回路にて生成したクロック信号を出力し、前記設定値記憶回路から出力される第２の設定値が、前記第１の設定値と異なる場合に、前記第２の設定値を、前記第１のＰＬＬ回路と異なる第２のＰＬＬ回路に設定し、前記第２のＰＬＬ回路にて生成したクロック信号を出力する、
ことを特徴とするクロック信号制御回路。
（付記２）
前記クロック信号生成回路は、前記第２の設定値の設定に基づいてカウンタを動作させ、そのカウンタのカウントアップに基づいて、出力信号を前記第１のＰＬＬ回路にて生成したクロック信号から前記第２のＰＬＬ回路にて生成したクロック信号に切り替える、
ことを特徴とする請求項１に記載のクロック信号制御回路。
（付記３）
前記クロック信号生成回路は、前記複数のＰＬＬ回路のそれぞれに設定する設定値を記憶する複数の設定レジスタと、
出力中のクロック信号を生成するＰＬＬ回路に対応する設定レジスタからＰＬＬ回路に設定される設定値を選択し、その選択した設定値に応じてＰＬＬ設定値を出力する設定値選択回路と、
前記ＰＬＬ設定値と、前記設定値記憶回路から出力される設定値とを比較し、その比較結果に応じた値を出力する比較器と、
前記比較器から出力される値を、出力中のクロック信号を生成するＰＬＬ回路に対応する設定レジスタと異なる設定レジスタに出力する切替回路と、
を有することを特徴とする請求項１又は２に記載のクロック信号制御回路。
（付記４）
前記比較器は、前記ＰＬＬ設定値と前記設定値とが等しい場合に所定値を出力し、
前記ＰＬＬ回路は、対応する設定レジスタに所定値が設定された場合に動作を停止することを特徴とする請求項３に記載のクロック信号制御回路。
（付記５）
前記複数のＰＬＬ回路のうちの選択されたＰＬＬ回路に対応する選択信号を記憶する選択信号レジスタを有することを特徴とする付記１〜４のうちの何れか一項に記載のクロック信号制御回路。
（付記６）
前記比較器の比較結果に応じて前記選択信号レジスタに記憶された設定信号を変更する選択変更回路を有することを特徴とする付記５に記載のクロック信号制御回路。
（付記７）
前記設定値記憶回路は、前記モニタ結果に応じた前記クロック信号の周波数を前記ＰＬＬ回路に設定する設定周波数が記憶された周波数テーブルを有することを特徴とする付記１〜６のうちのいずれか一項に記載のクロック信号制御回路。
（付記８）
前記モニタ回路は、環状に接続された奇数個のインバータ回路を含むリングオシレータと、
前記リングオシレータの出力信号をカウントするカウンタと、
所定の周期でトリガ信号を出力するトリガ回路と、
前記トリガ信号に応答して前記カウンタの出力を保持し、その保持した値を出力するレジスタと、
を有することを特徴とする付記１〜７のうちの何れか一項に記載のクロック信号制御回路。
（付記９）
複数のＰＬＬ回路を含み、前記複数のＰＬＬ回路のうちの１つに、対象回路の状態をモニタするモニタ回路のモニタ結果に応じた第１の設定値を設定し、前記第１の設定値を設定した第１のＰＬＬ回路にて生成したクロック信号を出力し、
次に対象回路の状態をモニタしたモニタ回路のモニタ結果に応じた第２の設定値が、前記第１の設定値と異なる場合に、前記第２の設定値を、前記第１のＰＬＬ回路と異なる第２のＰＬＬ回路に設定し、前記第２のＰＬＬ回路にて生成したクロック信号を出力する、
ことを特徴とするクロック信号制御方法。
【符号の説明】
【００６９】
１０…クロック信号制御回路
１１  対象回路（ＣＰＵ）
１２  モニタ回路
１３  設定値記憶回路
１４  クロック信号生成回路
１５ａ，１５ｂ  ＰＬＬ回路
１６  リングオシレータ
１７  周波数カウンタ
１８  周波数記憶回路
１９  トリガカウンタ（トリガ回路）
２２  セレクタ（切替回路）
ＣＬＫ…クロック信号
【図１】
2011049877.tif 000003
【図２】
2011049877.tif 000004
【図３】
2011049877.tif 000005
【図４】
2011049877.tif 000006