説明

クロック信号制御回路及びクロック信号制御方法

【課題】クロック信号の周波数制御をより好適に行うこと。
【解決手段】モニタ回路12のリングオシレータ16によるモニタ結果であるモニタ信号MSの周波数に応じて設定値記憶回路13からテーブル値TVALを出力させる。そして、そのテーブル値TVALに応じてクロック信号生成回路14のPLL回路15a,15bにより生成した発振信号と等しい周波数のクロック信号CLKを対象回路11に供給する。

【発明の詳細な説明】
【技術分野】
【0001】
クロック信号制御回路、及びクロック信号制御方法に関するものである。
【背景技術】
【0002】
従来、半導体装置の回路(例えばCPU)は、例えば図4に示すクロック信号生成回路40から供給されるクロック信号に基づいて動作する。このクロック信号生成回路40は、例えば外部から供給される基準信号SCLKを、分周器41を介してCPU42に供給する。
【0003】
半導体装置の回路は、動作環境などの要因によって温度が許容範囲を超えると、動作を制御することができなくなる、所謂熱暴走を起こす場合がある。このため、半導体装置の温度を検出し、回路に供給するクロック信号の周波数を変更することが考えられる。例えば、図4に示す回路では、分周器41にて基準信号SCLKを分周したクロック信号Soを、CPU42に供給する。クロック信号の周波数が低くなることで、CPU42の発熱が抑えられ、熱暴走を防ぐことができる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、図4に示すクロック信号生成回路40では、基準信号SCLKの周波数と比べて、信号Soの周波数が極端に低くなるため、CPU42の動作速度が極端に下がってしまう。そのため、半導体装置の動作が極端に遅くなってしまう。
【0005】
このクロック信号制御回路で、クロック信号の周波数制御を好適に行うことを目的とする。
【課題を解決するための手段】
【0006】
本発明の一観点によれば、対象回路の状態をモニタするモニタ回路のモニタ結果に応じた設定値を出力する設定値記憶回路と、前記設定値に応じて、前記対象回路に供給するクロック信号を生成するクロック信号生成回路と、を有し、前記クロック信号生成回路は、複数のPLL回路を含み、前記複数のPLL回路のうちの1つに第1の設定値を設定し、前記第1の設定値を設定した第1のPLL回路にて生成したクロック信号を出力し、前記設定値記憶回路から出力される第2の設定値が、前記第1の設定値と異なる場合に、前記第2の設定値を、前記第1のPLL回路と異なる第2のPLL回路に設定し、前記第2のPLL回路にて生成したクロック信号を出力する。
【発明の効果】
【0007】
本発明の一観点によれば、クロック信号の周波数制御をより好適に行うことができる。
【図面の簡単な説明】
【0008】
【図1】クロック信号制御回路の概略ブロック図である。
【図2】クロック信号生成回路のブロック回路図である。
【図3】クロック信号制御回路の動作波形図である。
【図4】従来例を示すブロック図である。
【発明を実施するための形態】
【0009】
以下、一実施形態を図1〜図3に従って説明する。
図1に示すように、クロック信号制御回路10は、対象回路11にクロック信号CLKを供給する。対象回路11は例えば中央演算処理装置(CPU)である。
【0010】
クロック信号制御回路10は、モニタ回路12と、設定値記憶回路13と、クロック信号生成回路14とを含む。モニタ回路12は、対象回路11の動作状態をモニタし、そのモニタ結果に応じたモニタ信号MSを出力する。設定値記憶回路13は、複数の設定値を記憶し、モニタ信号MSに応じた設定値を出力する。設定値は、例えば対象回路11に供給するクロック信号CLKの周波数値である。
【0011】
クロック信号生成回路14は対象回路11に供給するクロック信号CLKを生成するために複数(本実施形態では2つ)の位相同期ループ回路(以下、PLL回路)15a,15bを含む。クロック信号生成回路14は、PLL回路15a,15bを交互に選択し、その選択したPLL回路に対して設定値を設定する。選択されたPLL回路は、設定値に応じた周波数のクロック信号を生成する。そして、クロック信号生成回路14は、選択したPLL回路にて生成したクロック信号を、クロック信号CLKとして出力する。
【0012】
対象回路11は、クロック信号生成回路から出力されるクロック信号CLKに基づいて動作する。つまり、対象回路11の動作周波数は、クロック信号CLKに対応し、そのクロック信号CLKの周波数は設定値、即ちモニタ回路12から出力されるモニタ信号MSに対応する。
【0013】
従って、モニタ回路12に対象回路11の動作により発せられる熱が伝播するようにそのモニタ回路12を配置する。そして、対象回路11の温度に応じてその対象回路11に供給するクロック信号CLKの周波数を制御する。例えば、対象回路11が上昇した時にはクロック信号CLKの周波数を低くすることにより、熱により対象回路11の動作が不安定になることを防ぐことが可能となる。
【0014】
モニタ回路12は、リングオシレータ16と、周波数カウンタ17と、周波数記憶装置18と、トリガカウンタ19を含む。リングオシレータ16は、環状に接続された奇数個(本実施形態では3個)のインバータ回路16aを含み、インバータ回路16aの動作速度に応じた周波数のモニタクロック信号MCKを周波数カウンタ17に出力する。インバータ回路16aは、プロセス(P)、動作電源電圧(V)、温度(T)に応じた速度で動作する。従って、リングオシレータ16から出力されるモニタクロック信号MCKの周波数は、温度や環境温度、製造プロセスのばらつき、電源電圧変動によって変動する。
【0015】
周波数カウンタ17は、リングオシレータ16から出力されるモニタクロック信号MCKに応答してカウント値をカウントアップし、カウント値CTを出力する。つまり、周波数カウンタ17は、モニタクロック信号MCKのパルス数をカウントする。
【0016】
周波数記憶装置18には、周波数カウンタ17から出力されるカウント値CTが入力される。また、周波数カウンタ17と周波数記憶装置18には、トリガカウンタ19から出力されるトリガ信号TSが入力される。
【0017】
トリガカウンタ19は、基準信号SCLKが入力される。基準信号SCLKは、所定周波数のパルス信号である。トリガカウンタ19は、その基準信号SCLKに応答してカウント値をカウントアップする。そして、トリガカウンタ19は、カウント値と設定値とを比較し、カウント値が設定値と等しくなったときに1つのパルス状のトリガ信号TSを出力し、カウント値をクリアする。従って、トリガカウンタ19は、設定値に応じた周期毎にトリガ信号TSを出力する。
【0018】
設定値は、モニタ回路12のサンプリング周期に応じて設定されている。また、設定値は、PLL回路15a,15bの動作に応じて設定されている。PLL回路15a,15bは、設定の変更から発振信号の周波数が安定するまでに時間を要する。この時間をロックアップ時間という。設定値は、トリガ信号TSの周期がこのロックアップ時間よりも長くなるように設定されている。
【0019】
周波数カウンタ17は、トリガ信号TSに応答してカウント値をリセットする。例えば、周波数カウンタ17は、Hレベルのトリガ信号TSに応答してカウント値をリセット(=0)し、Lレベルのトリガ信号TSに応答してカウントアップする。
【0020】
周波数記憶装置18は、トリガ信号TSに応答してカウント値CTを記憶する。つまり、周波数記憶装置18は、トリガ信号TSを入力する毎に、記憶値を更新する。そして、周波数記憶装置18は、記憶した値のモニタ信号MSを出力する。
【0021】
周波数カウンタ17は、モニタクロック信号MCKをカウントしたカウント値CTを出力する。トリガカウンタ19は、設定値に応じた周期毎に1パルスのトリガ信号TSを出力する。周波数記憶装置18に記憶される値、即ちモニタ信号MSの値は、トリガカウンタ19の設定値に応じた期間におけるモニタクロック信号MCKのパルス数であり、モニタクロック信号MCKの周波数に対応する。つまり、周波数記憶装置18は、モニタクロック信号MCKの周波数に対応する値のモニタ信号MSを出力する。
【0022】
設定値記憶回路13は周波数テーブルを有し、この周波数テーブルには、複数の設定値が記憶されている。設定値は、クロック信号生成回路14のPLL回路15a,15bに設定する設定値であり、例えば、10MHz〜100MHzに対応する設定値が、10MHzに対応するステップで記憶されている。設定値記憶回路13は、入力されたモニタ信号MSに応じた設定値を周波数テーブルから読み出し、その読み出した値をテーブル値TVALとして出力する。
【0023】
クロック信号生成回路14は、PLL回路15a,15bを交互に選択し、その選択したPLL回路に対してテーブル値TVALを設定する。選択されたPLL回路は、テーブル値TVALに応じた周波数のクロック信号を生成する。そして、クロック信号生成回路14は、選択したPLL回路にて生成したクロック信号を、クロック信号CLKとして出力する。
【0024】
次に、クロック信号生成回路14の構成を説明する。
図2に示すように、テーブル値TVALは、比較器21に入力される。また、比較器21には、PLL設定値PCSTが入力される。PLL設定値PCSTは、以前に設定値記憶回路13から出力されたテーブル値TVALであり、現時点での対象回路11(CPU)の動作周波数の設定値情報である。比較器21は、PLL設定値PCSTとテーブル値TVALとを比較し、PLL設定値PCSTとテーブル値TVALとが等しい場合には所定値(例えば0)の設定信号CSTを出力するとともに、Lレベルのトリガ信号CTRGを出力する。一方、PLL設定値PCSTとテーブル値TVALが異なる場合、比較器21は、テーブル値TVALと等しい値の設定信号CSTを出力するとともに、Hレベルのトリガ信号CTRGを出力する。
【0025】
セレクタ22には、上記の設定信号CSTと選択信号PSELが入力される。セレクタ22は、設定レジスタ23aが接続された第1の出力端子と、設定レジスタ23bが接続された第2の出力端子とを有している。セレクタ22は、選択信号PSELに応じて、入力端子を第1の出力端子又は第2の出力端子に接続する。例えば、セレクタ22は、Hレベルの選択信号PSELに応答して入力端子を第1の出力端子に接続し(図2において実線で図示)、Lレベルの選択信号PSELに応答して入力端子を第2の出力端子に接続する(図2において破線で図示)。従って、設定信号CSTは、選択信号PSELに応じて第1の設定レジスタ23a又は第2の設定レジスタ23bに出力される。
【0026】
第1の設定レジスタ23aは、設定信号CSTの値を記憶し、その記憶した値の設定信号PCSaをPLL回路15aに出力する。PLL回路15aには、基準信号SCLKが入力される。PLL回路15aは電圧制御発振器(VCO)、位相比較器、可変分周器を含み、基準信号SCLKの周波数に対して設定値PCSaに応じた整数倍の周波数の発振信号POaを生成する。
【0027】
同様に、第2の設定レジスタ23bは、設定信号CSTの値を記憶し、その記憶した値の設定信号PCSbをPLL回路15bに出力する。PLL回路15bには、基準信号SCLKが入力される。PLL回路15bは電圧制御発振器(VCO)、位相比較器、可変分周器を含み、基準信号SCLKの周波数に対して設定値PCSbに応じた整数倍の周波数の発振信号PObを生成する。
【0028】
上記の比較器21は、比較結果に応じて、テーブル値TVAL又は所定値(=0)の設定信号CSTを出力する。従って、両PLL回路15a,15bには、テーブル値TVAL又は所定値(=0)が設定される。PLL回路15a,15bは、テーブル値TVALが設定された場合には、そのテーブル値TVALに応じた周波数の発振信号POa,PObを生成する。一方、所定値(=0)が設定された場合、各PLL回路15a,15bは、発振動作を停止する。
【0029】
出力選択回路24には、両PLL回路15a,15bにて生成された発振信号POa,PObと、選択信号PSELが入力される。出力選択回路24は、選択信号PSELに応じて発振信号POa,PObの何れか一方を選択し、その選択した発振信号と実質的に等しいクロック信号CLKを出力する。例えば、出力選択回路24は、Lレベルの選択信号PSELに応じて発振信号POaを選択し、Hベルの選択信号PSELに応じて発振信号PObを選択する。
【0030】
上記の設定レジスタ23a,23bから出力される設定信号PCSa,PCSbは設定値選択回路25に入力される。また、この設定値選択回路25には選択信号PSELが入力される。設定値選択回路25は、選択信号PSELに基づいて設定信号PCSa,PCSbの何れか一方を選択する。例えば、設定値選択回路25は、Lレベルの選択信号PSELに応答して第1の設定信号PCSaを選択し、Hレベルの選択信号PSELに応答して第2の設定信号PCSbを選択する。そして、設定値選択回路25は、選択した設定信号の値と等しい値のPLL設定値PCSTを比較器21に出力する。
【0031】
上記の比較器21から出力されるトリガ信号CTRGは、カウンタ27に入力される。また、カウンタ27には、基準信号SCLKが入力される。カウンタ27は、トリガ信号CTRGに基づいて、カウント動作の開始又はカウント動作を停止する。例えば、カウンタ27は、Hレベルのトリガ信号CTRGに応答してカウント動作を開始する。
【0032】
カウンタ27は、カウント動作において、基準信号SCLKのパルスに応答してカウント値をカウントアップする。そして、カウンタ27は、カウント値が設定値と等しくなると、出力する制御信号CNTのレベルを反転する。一方、カウンタ27は、Lレベルのトリガ信号CTRGに応答してカウント動作を停止する。
【0033】
カウンタ27の設定値は、上記のPLL回路15a,15bのロックアップ時間の最大値に応じて設定されている。詳しくは、設定値は、上記Hレベルのトリガ信号CTRGが出力されてから、PLL回路15a,15bがロックアップするまでに要する充分な時間に設定されている。
【0034】
カウンタ27から出力される制御信号CNTは、排他的論理和回路(EOR回路)28に入力される。このEOR回路28には選択信号PSELが入力される。EOR回路28は前述の制御信号CNTと選択信号PSELとを排他的論理和演算した結果に応じた信号をセレクタ29に出力する。
【0035】
セレクタ29には、選択信号PSELとトリガ信号CTRGが入力される。セレクタ29は、トリガ信号CTRGの信号レベルに応じて選択信号PSELとEOR回路28の出力信号とのいずれか一方の信号を選択し、その選択した信号のレベルと等しいレベルの信号PSEL_Nを出力する。
【0036】
セレクタ29の出力信号PSEL_Nは選択信号レジスタ26に入力される。選択信号レジスタ26は、信号PSEL_Nを記憶し、その記憶したレベルと等しいレベルの選択信号PSELを出力する。
【0037】
EOR回路28には選択信号PSELが入力される。そして、出力選択回路24は選択信号PSELに応じて、第1のPLL回路15a又は第2のPLL回路15bを選択する。そして、選択されたPLL回路の発振信号によりクロック信号CLKが生成される。従って、選択信号PSELは、出力中のクロック信号CLKを生成するPLL回路に対応する。
【0038】
また、EOR回路28には制御信号CNTが入力される。カウンタ27は、カウント値と設定値とが一致すると、制御信号CNTのレベルを反転する。EOR回路28は、2つの入力信号のレベルが一致する場合にLレベルの信号を出力し、2つの入力信号のレベルが一致しない場合にHレベルの信号を出力する。
【0039】
カウンタ27は、比較器21から出力されるトリガ信号CTRG,即ち比較器21の比較結果に応じて、制御信号CNTのレベルを反転する。従って、EOR回路28は、制御信号CNTのレベルが反転する毎に、選択信号PSELの論理レベルを反転した信号を出力する。選択信号PSELは、出力中のクロック信号CLKを生成するPLL回路を示し、その値が選択信号レジスタ26に記憶されている。従って、EOR回路28の出力信号は、選択するPLL回路を切り替えるために、選択信号レジスタ26の値を変更する。このように、カウンタ27、EOR回路28、セレクタ29は、選択信号レジスタ26に記憶された値を、次に選択するPLL回路を示す値に変更する選択変更回路に含まれる。
【0040】
上記のように構成されたクロック信号制御回路10の動作を説明する。
なお、説明を判りやすくするために、周波数記憶装置18から出力されるモニタ信号MSの値を、リングオシレータ16から出力されるモニタクロック信号MCKの周波数とする。また、設定値記憶回路13から出力されるテーブル値TVALを、PLL回路15a,15bの発振信号POa,PObの周波数とする。
【0041】
今、第1の設定レジスタ23aに設定値(80MHz)が記憶され、第1のPLL回路15aは、その設定レジスタ23aから出力される設定信号PCSaに応じた周波数(80MHz)の発振信号POaを出力する。そして、選択信号レジスタ26からLレベルの選択信号PSELが出力されている。
【0042】
セレクタ22は、Lレベルの選択信号PSELに応答して、図2において破線で示すように、入力端子を第2の出力端子に接続する。
出力選択回路24は、Lレベルの選択信号PSELに応答して、第1のPLL回路15aの発振信号POaを選択し、その発振信号POaの周波数と等しい周波数のクロック信号CLKを出力する。
【0043】
設定値選択回路25は、Lレベルの選択信号PSELに応答して第1の設定レジスタ23aから出力される設定信号PCSaを選択し、その設定信号PCSaの値と等しい値のPLL設定値PCSTを比較器21に出力する。従って、比較器21には、80MHzのPLL設定値PCSTが入力される。
【0044】
次に、周波数記憶装置18は、リングオシレータ16から出力されるモニタクロック信号MCKの周波数(例えば8MHz)のモニタ信号MSを出力する。設定値記憶回路13は、その信号MSの周波数(8MHz)に応じた周波数のテーブル値TVAL(例えば80MHz)を出力する。比較器21は、このテーブル値TVALと、PLL設定値PCSTを比較する。この場合、テーブル値TVALとPLL設定値PCSTが等しいため、比較器21は、所定値(=0)の設定値CSTを出力する。この設定値CSTは、セレクタ22を介して第2の設定レジスタ23bに供給され、第2の設定レジスタ23bは、設定値CST(=0)を記憶し、その値と等しい設定値PCSbを出力する。第2のPLL回路15bは、設定値PCSbが所定値(=0)であるため、発振動作を停止する。このとき、第2のPLL回路15bには、電流パスが発振動作を行っているときと比べて少なくなるため、その分消費電流が少なくなる。
【0045】
次に、環境温度若しくはリングオシレータ16の温度が上昇すると、リングオシレータ16から出力されるモニタクロック信号MCKの周波数が低くなり、周波数記憶装置18から出力されるモニタ信号MSの値が小さくなる。例えば、モニタ信号MSの値を7MHzとする。すると、設定値記憶回路13は、モニタ信号MSに基づいて、70MHzのテーブル値TVALを出力する(図3の時刻T1)。
【0046】
比較器21は、テーブル値TVALとPLL設定値PCSTを比較する。テーブル値TVALはPLL設定値PCSTと異なるため、比較器21は、テーブル値TVALと等しい値の設定値CSTを出力するとともに、Hレベルのトリガ信号CTRGを出力する(図3の時刻T2)。
【0047】
比較器21から出力される設定値CSTは、セレクタ22を介して第2の設定レジスタ23bに供給され、第2の設定レジスタ23bは設定値CST(=70MHz)を記憶し、その値と等しい設定値PCSbを出力する(図3の時刻T3)。
【0048】
第2のPLL回路15bは、設定値PCSbに基づいて発振動作を開始し、発振信号PObの周波数を設定値PCSb(70MHz)に近づける。
図3の時刻T2においてHレベルのトリガ信号CTRGが出力されると、図2のカウンタ27はカウントを開始する。そして、カウンタ27は、カウント値が設定値と等しくなると、Hレベルの制御信号CNTを出力する(図3の時刻T4)。設定値は、PLL回路15bのロックアップ時間に対応する値よりも大きく設定されているため、Hレベルの制御信号CNTが出力された時刻T4では、PLL回路15bはロック状態となっている。
【0049】
そして、図2のEOR回路28は、Hレベルの制御信号CNTとLレベルの選択信号PSELに基づいてHレベルの信号を出力し、セレクタ29は、EOR回路28の出力信号を選択してHレベルの信号PSEL_Nを出力する。
【0050】
選択信号レジスタ26は、Hレベルの信号PSEL_Nに基づいてHレベルの選択信号PSELを出力する(図3の時刻T5)。すると、出力選択回路24は、Hレベルの選択信号PSELに応答して、第2のPLL回路15bの発振信号PObを選択し、その発振信号PObの周波数と等しい周波数のクロック信号CLKを出力する。
【0051】
このように、クロック信号CLKの周波数が80MHzから70MHzへと切り替えられる。すると、対象回路11(CPU)の動作速度が低くなるため、その分発熱が抑えられる。また、対象回路11の動作周波数が、80MHzから70MHzへと切り替えられる。このように、動作周波数の差が少ないため、対象回路11の動作が極端に低下するのを抑制することができる。
【0052】
そして、この周波数の切り替え時に、第2のPLL回路15bはロック状態にあるため、クロック信号CLKの周波数変動が抑制されている。このため、クロック信号CLKに基づいて動作する対象回路11(CPU)の動作変動が抑制される。
【0053】
設定値選択回路25は、Hレベルの選択信号PSELに応答して第2の設定レジスタ23bから出力される設定信号PCSbを選択し、その設定信号PCSbの値と等しい値のPLL設定値PCSTを比較器21に出力する。従って、比較器21には、70MHzのPLL設定値PCSTが入力される。
【0054】
比較器21は、このテーブル値TVALと、PLL設定値PCSTを比較する。このとき、テーブル値TVALは70MHzであるため、テーブル値TVALとPLL設定値PCSTが等しい。従って、比較器21は、所定値(=0)の設定値CSTを出力する。
【0055】
セレクタ22は、Hレベルの選択信号PSELに応答して、図2において実線で示すように、入力端子を第1の出力端子に接続する。従って、設定値CSTは、セレクタ22を介して第1の設定レジスタ23aに供給され、第1の設定レジスタ23aは、設定値CST(=0)を記憶し、その値と等しい設定値PCSaを出力する(図3の時刻T6)。
【0056】
第1のPLL回路15aは、設定値PCSaが所定値(=0)であるため、発振動作を停止する。このとき、第1のPLL回路15aには、電流パスが発振動作を行っているときと比べて少なくなるため、その分消費電流が少なくなる。
【0057】
環境温度若しくはリングオシレータ16の温度が下降すると、リングオシレータ16から出力されるモニタクロック信号MCKの周波数が高くなり、周波数記憶装置18から出力されるモニタ信号MSの値が大きくなる。すると、温度が上昇する場合と同様に、クロック信号CLKの周波数よりも高い周波数の発振信号がPLL回路により生成され、その発振信号が選択されてクロック信号CLKとして出力される。
【0058】
なお、上記は温度変化に応じて周波数を変更する場合について説明したが、電源電圧が変動した場合、モニタ回路12に含まれるリングオシレータ16から出力されるモニタクロック信号MCKの周波数が変化するため、同様にクロック信号CLKの周波数を変更することができる。また、モニタ回路12と対象回路11にそれぞれ個別に電源電圧が供給され、対象回路11に供給される電源電圧が変動する場合、対象回路11の温度変化に応じてリングオシレータ16から出力されるモニタクロック信号MCKの周波数が変化するため、同様にクロック信号CLKの周波数を変更することができる。
【0059】
また、半導体装置を形成するプロセスのバラツキに対応することができる。プロセスのバラツキは、対象回路11はリングオシレータ16の動作速度に影響する。従って、上記と同様に、クロック信号CLKの周波数を変更することができる。
【0060】
以上記述したように、本実施形態によれば、以下の効果を奏する。
(1)モニタ回路12のリングオシレータ16によるモニタ結果であるモニタ信号MSの周波数に応じて設定値記憶回路13からテーブル値TVALを出力させる。そして、そのテーブル値TVALに応じてクロック信号生成回路14のPLL回路15a,15bにより生成した発振信号POa,PObと等しい周波数のクロック信号CLKを対象回路11に供給する。このような構成とすることで、PLL回路15a,15bのそれぞれで周波数を調整できるため、周波数を切り替える際に段階的に変更することが可能となる。これにより、従来のように1/n分周された周波数にて対象回路11(CPU)を動作させることが無くなり、クロック信号の周波数を好適に制御することができる。
【0061】
(2)2つのPLL回路15a,15bを用い、例えばPLL回路15bをロックアップさせた後に、出力選択回路24においてその発振信号PObと等しい周波数のクロック信号CLKを出力する。このため、例えばPLL回路のロックアップ中においてクロック信号CLKが変更されないため、ロックアップに伴うPLL回路15a,15bの信号の周波数が所望の周波数とずれた状態で使用されることが防止される。つまり、より確実に所望の周波数にて対象回路11を動作させることができる。
【0062】
(3)インバータ回路16aを奇数個(例えば3個)使用したリングオシレータ16を有するモニタ回路12が用いられる。つまり、簡素な構成のリングオシレータ16を用いているため、容易且つ安価にモニタ回路を構成することができる。
【0063】
(4)モニタ回路12は、奇数個(例えば3つ)のインバータ回路16aを用いた構成のリングオシレータ16を有しているため、簡易な構成の回路にて間接的に対象回路11(CPU)の状態を監視することができる。
【0064】
(5)設定値記憶回路13の周波数テーブルには、モニタクロック信号MCKのカウント値と等しい値のモニタ信号MSの値と同等の信号であるS3に応じたクロック信号CLKの周波数をPLL回路に設定する設定値が記憶されている。これにより、周波数テーブルに記憶された設定値を用いることでクロック信号CLKの周波数を決定することができる。
【0065】
尚、上記各実施形態は、以下の態様で実施してもよい。
・上記実施形態では、2つのPLL回路15a,15bを交互に用いて対象回路11に供給するクロック信号CLKの周波数を変更する構成としたが、3つ以上のPLL回路を用いる構成を採用してもよい。このような構成とすることで、PLL回路におけるロックアップ時間中に、その時のリングオシレータ16の温度、環境温度及びプロセスのばらつきに応じた周波数を設定することができるため、応答性の良い対象回路11に供給するクロック信号CLKの周波数制御を行うことができる。
【0066】
・上記実施形態では、設定値記憶回路13の周波数テーブルに記憶する設定値の数を適宜変更しても良い。また、設定値のステップを適宜変更してもよい。
・上記実施形態では、リングオシレータ16を3個のインバータ回路16aにて構成したが、5個以上の奇数個のインバータ回路でリングオシレータを構成してもよい。
【0067】
・上記実施形態では、モニタ回路12にリングオシレータ16を用いる構成としたが、これに限らない。
・上記実施形態では、対象回路11としてCPUに供給するクロック信号CLKの周波数を、モニタ結果に応じて変更するようにしたが、対象回路はCPU以外でもよく、例えばDSP,MPU等に供給するクロック信号の周波数を変更するようにしてもよい。
【0068】
上記各実施形態に関し、以下の付記を開示する。
(付記1)
対象回路の状態をモニタするモニタ回路のモニタ結果に応じた設定値を出力する設定値記憶回路と、
前記設定値に応じて、前記対象回路に供給するクロック信号を生成するクロック信号生成回路と、
を有し、
前記クロック信号生成回路は、複数のPLL回路を含み、前記複数のPLL回路のうちの1つに第1の設定値を設定し、前記第1の設定値を設定した第1のPLL回路にて生成したクロック信号を出力し、前記設定値記憶回路から出力される第2の設定値が、前記第1の設定値と異なる場合に、前記第2の設定値を、前記第1のPLL回路と異なる第2のPLL回路に設定し、前記第2のPLL回路にて生成したクロック信号を出力する、
ことを特徴とするクロック信号制御回路。
(付記2)
前記クロック信号生成回路は、前記第2の設定値の設定に基づいてカウンタを動作させ、そのカウンタのカウントアップに基づいて、出力信号を前記第1のPLL回路にて生成したクロック信号から前記第2のPLL回路にて生成したクロック信号に切り替える、
ことを特徴とする請求項1に記載のクロック信号制御回路。
(付記3)
前記クロック信号生成回路は、前記複数のPLL回路のそれぞれに設定する設定値を記憶する複数の設定レジスタと、
出力中のクロック信号を生成するPLL回路に対応する設定レジスタからPLL回路に設定される設定値を選択し、その選択した設定値に応じてPLL設定値を出力する設定値選択回路と、
前記PLL設定値と、前記設定値記憶回路から出力される設定値とを比較し、その比較結果に応じた値を出力する比較器と、
前記比較器から出力される値を、出力中のクロック信号を生成するPLL回路に対応する設定レジスタと異なる設定レジスタに出力する切替回路と、
を有することを特徴とする請求項1又は2に記載のクロック信号制御回路。
(付記4)
前記比較器は、前記PLL設定値と前記設定値とが等しい場合に所定値を出力し、
前記PLL回路は、対応する設定レジスタに所定値が設定された場合に動作を停止することを特徴とする請求項3に記載のクロック信号制御回路。
(付記5)
前記複数のPLL回路のうちの選択されたPLL回路に対応する選択信号を記憶する選択信号レジスタを有することを特徴とする付記1〜4のうちの何れか一項に記載のクロック信号制御回路。
(付記6)
前記比較器の比較結果に応じて前記選択信号レジスタに記憶された設定信号を変更する選択変更回路を有することを特徴とする付記5に記載のクロック信号制御回路。
(付記7)
前記設定値記憶回路は、前記モニタ結果に応じた前記クロック信号の周波数を前記PLL回路に設定する設定周波数が記憶された周波数テーブルを有することを特徴とする付記1〜6のうちのいずれか一項に記載のクロック信号制御回路。
(付記8)
前記モニタ回路は、環状に接続された奇数個のインバータ回路を含むリングオシレータと、
前記リングオシレータの出力信号をカウントするカウンタと、
所定の周期でトリガ信号を出力するトリガ回路と、
前記トリガ信号に応答して前記カウンタの出力を保持し、その保持した値を出力するレジスタと、
を有することを特徴とする付記1〜7のうちの何れか一項に記載のクロック信号制御回路。
(付記9)
複数のPLL回路を含み、前記複数のPLL回路のうちの1つに、対象回路の状態をモニタするモニタ回路のモニタ結果に応じた第1の設定値を設定し、前記第1の設定値を設定した第1のPLL回路にて生成したクロック信号を出力し、
次に対象回路の状態をモニタしたモニタ回路のモニタ結果に応じた第2の設定値が、前記第1の設定値と異なる場合に、前記第2の設定値を、前記第1のPLL回路と異なる第2のPLL回路に設定し、前記第2のPLL回路にて生成したクロック信号を出力する、
ことを特徴とするクロック信号制御方法。
【符号の説明】
【0069】
10…クロック信号制御回路
11 対象回路(CPU)
12 モニタ回路
13 設定値記憶回路
14 クロック信号生成回路
15a,15b PLL回路
16 リングオシレータ
17 周波数カウンタ
18 周波数記憶回路
19 トリガカウンタ(トリガ回路)
22 セレクタ(切替回路)
CLK…クロック信号

【特許請求の範囲】
【請求項1】
対象回路の状態をモニタするモニタ回路のモニタ結果に応じた設定値を出力する設定値記憶回路と、
前記設定値に応じて、前記対象回路に供給するクロック信号を生成するクロック信号生成回路と、
を有し、
前記クロック信号生成回路は、複数のPLL回路を含み、前記複数のPLL回路のうちの1つに第1の設定値を設定し、前記第1の設定値を設定した第1のPLL回路にて生成したクロック信号を出力し、前記設定値記憶回路から出力される第2の設定値が、前記第1の設定値と異なる場合に、前記第2の設定値を、前記第1のPLL回路と異なる第2のPLL回路に設定し、前記第2のPLL回路にて生成したクロック信号を出力する、
ことを特徴とするクロック信号制御回路。
【請求項2】
前記クロック信号生成回路は、前記第2の設定値の設定に基づいてカウンタを動作させ、そのカウンタのカウントアップに基づいて、出力信号を前記第1のPLL回路にて生成したクロック信号から前記第2のPLL回路にて生成したクロック信号に切り替える、
ことを特徴とする請求項1に記載のクロック信号制御回路。
【請求項3】
前記クロック信号生成回路は、前記複数のPLL回路のそれぞれに設定する設定値を記憶する複数の設定レジスタと、
出力中のクロック信号を生成するPLL回路に対応する設定レジスタからPLL回路に設定される設定値を選択し、その選択した設定値に応じてPLL設定値を出力する設定値選択回路と、
前記PLL設定値と、前記設定値記憶回路から出力される設定値とを比較し、その比較結果に応じた値を出力する比較器と、
前記比較器から出力される値を、出力中のクロック信号を生成するPLL回路に対応する設定レジスタと異なる設定レジスタに出力する切替回路と、
を有することを特徴とする請求項1又は2に記載のクロック信号制御回路。
【請求項4】
前記比較器は、前記PLL設定値と前記設定値とが等しい場合に所定値を出力し、
前記PLL回路は、対応する設定レジスタに所定値が設定された場合に動作を停止することを特徴とする請求項3に記載のクロック信号制御回路。
【請求項5】
複数のPLL回路を含み、前記複数のPLL回路のうちの1つに、対象回路の状態をモニタするモニタ回路のモニタ結果に応じた第1の設定値を設定し、前記第1の設定値を設定した第1のPLL回路にて生成したクロック信号を出力し、
次に対象回路の状態をモニタしたモニタ回路のモニタ結果に応じた第2の設定値が、前記第1の設定値と異なる場合に、前記第2の設定値を、前記第1のPLL回路と異なる第2のPLL回路に設定し、前記第2のPLL回路にて生成したクロック信号を出力する、
ことを特徴とするクロック信号制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2011−49877(P2011−49877A)
【公開日】平成23年3月10日(2011.3.10)
【国際特許分類】
【出願番号】特願2009−197163(P2009−197163)
【出願日】平成21年8月27日(2009.8.27)
【出願人】(308014341)富士通セミコンダクター株式会社 (2,507)
【Fターム(参考)】