(57)【要約】【課題】クロック生成装置において、リングオシレータが高温になるのを抑える。【解決手段】クロック生成装置１０は、リングオシレータ１３の出力信号を割り算器１９が算出した分周比で分周する第一分周器２１と、第一分周器の出力信号をニ分周する第二分周器２３と、リングオシレータの出力信号のパルス数を所定時間計測するカウンタ１５，２５と、割り算器と、比較器２９とを備える。割り算器は、第一分周器からの出力信号が、所定周波数のクロック信号となるよう第一分周器に設定する分周比を演算する。一方、比較器は、カウンタのカウント値と閾値とを比較し、カウント値が閾値以上である場合、第二分周器に入力するイネーブル信号をオフにして、第二分周器の分周機能をオフし、カウント値が閾値未満である場合には、イネーブル信号をオンにして、第二分周器の分周機能をオンにする。これにより、リングオシレータが高温の時、クロック周波数を半減させる。【選択図】図２
2008028854.tif 000002
【特許請求の範囲】
【請求項１】
反転回路がリング状に奇数個配列され、特定の反転回路からの出力を、基本信号として出力するリングオシレータを備え、前記リングオシレータから出力される基本信号に基づいて、外部装置に提供するクロック信号を生成するクロック生成装置であって、
前記リンクオシレータから出力される基本信号を、予め設定された分周比で分周し、分周後の信号を、前記クロック信号として、外部装置に出力する分周器と、
前記リングオシレータから出力される基本信号のパルス数を、所定時間カウントするカウンタと、
前記カウンタのカウント値に基づき、前記基本信号が予め定められた目標周波数となる分周比を算出する分周比算出手段と、
前記カウンタのカウント値に基づき、分周比の変更が必要であるか否かを判定する判定手段と、
前記分周比算出手段の算出結果及び前記判定手段の判定結果に基づき、前記分周器に分周比を設定する分周比設定手段と、
を備え、
前記分周比設定手段は、前記判定手段により分周比の変更が必要ではないと判定されると、前記分周器の分周比として、前記分周比算出手段により算出された分周比を、前記分周器に設定し、前記判定手段により分周比の変更が必要であると判定されると、前記分周器に設定する分周比を、前記分周比算出手段により算出された分周比から変更することを特徴とするクロック生成装置。
【請求項２】
前記判定手段は、前記カウンタのカウント値が閾値未満である場合、分周比の変更が必要であると判定し、前記カウンタのカウント値が閾値以上である場合、分周比の変更が必要ではないと判定し、
前記分周比設定手段は、前記判定手段により分周比の変更が必要であると判定されると、前記分周器に設定する分周比を、クロック信号の周波数が前記目標周波数よりも小さくなる方向に、変更することを特徴とする請求項１記載のクロック生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック信号を生成するクロック生成装置に関する。
【背景技術】
【０００２】
従来より、リングオシレータを用いた発振装置が知られている（例えば、特許文献１参照）。リングオシレータは、反転回路をリング状に接続してなるものであり、反転回路が奇数個配列されたリングオシレータでは、ハイ（オン）信号及びロー（オフ）信号が交互に繰り返されて反転回路に入力され、パルス信号が生成される。このような現象を利用して、リングオシレータを用いたクロック生成装置では、一定周期のクロック信号を生成する。
【０００３】
尚、リングオシレータでは、動作温度によってパルス信号の周波数が変化するため、リングオシレータを用いたクロック生成装置では、パルス信号の周波数に基づき分周比を常時計算し、パルス信号を分周した際、一定周波数のクロック信号が生成されるようにする。リングオシレータは、安価且つコンパクトであるため、この種のクロック生成装置は、様々な分野で利用されている。
【特許文献１】特開平７−０３０３８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、リングオシレータに関しては、動作保証温度が比較的低く、高温でリングオシレータが繰返し利用されると、早い段階で製品が故障する可能性がある。従って、リングオシレータが高温となることが予想される場合には、何等かの手法で、リングオシレータの温度を抑える必要がある。
【０００５】
例えば、リングオシレータをＣＰＵと共にパッケージ化する場合には、近接するＣＰＵの発熱等の影響を大きく受けるため、リングオシレータの冷却が不可欠である。その他、周囲が高温であると、生成したクロック信号にて発生する熱により、自装置が温められ、リングオシレータの温度が、動作保証温度を超えてしまう場合がある。従って、このような場合にも、リングオシレータの冷却が不可欠である。
【０００６】
リングオシレータの冷却手法としては、ファン等による冷却や、リングオシレータにより生成するクロック信号の周波数を、一時的に抑える手法が考えられる。リングオシレータにより生成するクロック信号の周波数を抑えれば、クロック信号入力先のＣＰＵからの発熱やクロック信号伝送路での発熱を抑えることができ、結果として、リングオシレータの温度を下げることができる。
【０００７】
但し、クロック信号をＣＰＵの動作クロックに用いる場合には、クロック信号の周波数を一時的に下げることにより、ＣＰＵによる処理速度が一時的に低下する。このため、クロック信号の周波数の切替は、効率的に行われなければならない。
【０００８】
しかしながら、クロック信号の周波数を効率的に切り替えるため、リングオシレータに温度センサ等を取り付けると、製品の大型化や、コストアップが生じる。
本発明は、こうした問題に鑑みなされたものであり、リングオシレータを用いたクロック生成装置において、リングオシレータが高温で動作することにより、装置に支障が生じるのを抑えることを第一の目的とする。また、リングオシレータに温度センサを設けることなく、出力するクロック信号の周波数を、リングオシレータの温度に合わせて変更可能なクロック生成装置を提供することを第二の目的とする。
【課題を解決するための手段】
【０００９】
かかる目的を達成するためになされた請求項１記載の発明は、反転回路がリング状に奇数個配列され、特定の反転回路からの出力を、基本信号として出力するリングオシレータから出力される上記基本信号に基づき、クロック信号を生成するクロック生成装置であって、リンクオシレータから出力される基本信号を、予め設定された分周比で分周し、分周後の信号を、クロック信号として、外部装置に出力する分周器と、リングオシレータから出力される基本信号のパルス数を、所定時間カウントするカウンタと、下述の分周比算出手段と、判定手段と、分周比設定手段と、を備える。
【００１０】
このクロック生成装置において、分周比算出手段は、カウンタのカウント値に基づき、基本信号が予め定められた目標周波数となる分周比を算出する。一方、判定手段は、カウンタのカウント値に基づき、分周比の変更が必要であるか否かを判定し、分周比設定手段は、分周比算出手段の算出結果及び判定手段の判定結果に基づき、分周器に分周比を設定する。
【００１１】
具体的に、分周比設定手段は、判定手段により分周比の変更が必要ではないと判定されると、分周器の分周比として、分周比算出手段により算出された分周比を、分周器に設定する。一方、分周比設定手段は、判定手段により分周比の変更が必要であると判定されると、分周器に設定する分周比を、分周比算出手段により算出された分周比から変更する。例えば、分周器に設定する分周比を、分周比算出手段により算出された分周比の整数倍又は整数分の一に変更する。
【００１２】
周知のように、リングオシレータから出力される上記基本信号の周波数（発振周波数）は、リングオシレータの温度が高くなる程、低くなる。また、リングオシレータにおける温度と、発振周波数の関係は、経時変化が殆んどない。本発明者は、このようなリングオシレータの性質を利用して、リングオシレータの周波数を監視すれば、リングオシレータの温度については、間接的に正確に知ることができることに気づき、本発明をするに至った。
【００１３】
即ち、本発明のように、カウンタの値に基づき、分周比の変更要否を判定し、必要に応じて分周比を変更するようにすれば、リングオシレータに温度センサを取り付けることなく、リングオシレータの温度に応じて、クロック信号の周波数を変更することができる。よって、リングオシレータが高温に晒されることにより、装置に支障が生じるのを抑制することができる。
【００１４】
尚、具体的に、上述のクロック生成装置は、次のように構成することができる。即ち、判定手段は、カウンタのカウント値が閾値未満である場合、分周比の変更が必要であると判定し、カウンタのカウント値が閾値以上である場合、分周比の変更が必要ではないと判定し、分周比設定手段は、判定手段により分周比の変更が必要であると判定されると、分周器に設定する分周比を、クロック信号の周波数を目標周波数よりも小さくする方向に、変更する構成にすることができる。このようにすれば、リングオシレータに温度センサを取り付けることなく、リングオシレータの温度が高温となったときに、クロック信号の周波数を下げることができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施例について、図面と共に説明する。図１は、本発明が適用されたクロック生成装置１０を内蔵する半導体装置１の構成を表す説明図である。
図１に示す半導体装置１は、ＣＰＵ５と、ＣＰＵ５の動作クロックに利用されるクロック信号を生成するクロック生成装置１０と、が単一のＬＳＩにパッケージングされたものである。この半導体装置１では、クロック生成装置１０とＣＰＵ５とが近接しており、ＣＰＵ５にて発生した熱がクロック生成装置１０に伝播する。このため、クロック生成装置１０には、自装置１０で生成するクロック信号の周波数を一時的に下げ、ＣＰＵ５の発熱等により自装置１０が高温下で動作しないようにする機能が付加されている。
【００１６】
このクロック生成装置１０は、図２に示すように、リングオシレータ１３を備え、リングオシレータ１３からの出力信号ＲＣＫを分周し、所定周期のクロック信号を生成する。図２は、クロック生成装置１０の構成を表すブロック図であり、図３は、クロック生成装置１０を構成する各部の動作タイミングを表すタイムチャートである。
【００１７】
本実施例のクロック生成装置１０は、基準電圧源１１と、リングオシレータ１３と、第一カウンタ１５と、逓倍率設定レジスタ１７と、割り算器１９と、第一分周器２１と、第二分周器２３と、第二カウンタ２５と、閾値設定レジスタ２７と、比較器２９と、ステートマシン３１と、を備える。
【００１８】
基準電圧源１１は、半導体装置１の電源端子から内部に延びるＣＰＵ５と同一の電源ラインＬＮに接続され、電源ラインＬＮから供給される電力により駆動し、クロック生成装置１０内の各部に電源電圧として、安定した定電圧を供給する。基準電圧源１１の電源電圧は、例えば、リングオシレータ１３に供給される。ＣＰＵ５等の大きな電流変動によって、電源ラインＬＮでは電圧変動が起こるが、基準電圧源１１により供給される電源電圧は、これらに影響されないため、リングオシレータ１３には、安定した電源電圧が供給される。これによって、リングオシレータ１３は、電源電圧の変動によって、基本信号ＲＣＫの周波数を変動させることなく、安定的に一定周期の基本信号ＲＣＫを出力する。
【００１９】
また、リングオシレータ１３は、反転回路として、奇数個のインバータＩＮＶを備え、これら奇数個のインバータＩＮＶがリング状に配列されてなる。このリングオシレータ１３は、特定のインバータＩＮＶ０からの出力を、基本信号ＲＣＫとして出力する。基本信号ＲＣＫが出力されるリングオシレータ１３の線路は、第一カウンタ１５、第二カウンタ２５、及び、第一分周器２１に延設されており、リングオシレータ１３が出力する基本信号ＲＣＫは、第一カウンタ１５、第二カウンタ２５、及び第一分周器２１に入力される。
【００２０】
第一カウンタ１５は、リングオシレータ１３が出力する基本信号ＲＣＫのパルス数を、カウントするものであり、クロック生成装置１０の動作クロックとして用いられる基準クロック信号ＰＲＥＦに基づき、基準クロック信号ＰＲＥＦの１周期に対応する時間、リングオシレータ１３が出力する基本信号ＲＣＫのパルス数をカウントする。
【００２１】
尚、本実施例において、基準クロック信号ＰＲＥＦは、当該半導体装置外部の発振器（図示せず）から入力される。また、第一カウンタ１５は、ステートマシン３１から入力される制御信号ＵＣＥに基づいて、制御信号ＵＣＥがオンにされている期間に限り、基準クロック信号ＰＲＥＦの１周期に対応する時間、リングオシレータ１３が出力する基本信号ＲＣＫのパルス数をカウントする構成にされている。即ち、本実施例において、制御信号ＵＣＥは、基本信号ＲＣＫのパルス数のカウントタイミングを制御する信号として用いられ、この制御信号ＵＣＥにより、第一カウンタ１５によるパルス数のカウントは、基準クロック信号ＰＲＥＦの８周期に一度行われる。また、この制御信号ＵＣＥがオフになると、第一カウンタ１５のカウント値ＤＧは、割り算器１９に入力される。
【００２２】
その他、逓倍率設定レジスタ１７は、逓倍率ＤＶを記憶するものである。この逓倍率ＤＶは、クロック生成装置１０にて生成するクロック信号の目標周波数を基準クロック信号ＰＲＥＦの周波数にて除算したものであり、設計者等によって、クロック信号の目標周波数に対応した値に予め設定される。
【００２３】
また、割り算器１９は、リングオシレータ１３から出力される基本信号ＲＣＫを分周して目標周波数のクロック信号を生成するために、第一分周器２１に設定する分周比を演算するものである。
【００２４】
周知のように、リングオシレータ１３の発振周波数（基本信号ＲＣＫの周波数）は、リングオシレータ１３の温度によって変化し、図４に示すように、温度が高くなる程、低くなる。図４は、リングオシレータ１３の発振周波数（基本信号ＲＣＫの周波数）と、温度との関係を表すグラフである。
【００２５】
従って、リングオシレータ１３から出力される基本信号ＲＣＫを分周して、温度に依存しない一定周期のクロック信号を生成するには、基本信号ＲＣＫに対する分周比Ｍを、基本信号ＲＣＫの周波数に応じて設定する必要がある。
【００２６】
割り算器１９は、このような目的で、分周比Ｍ（第一分周器２１に設定する分周比Ｍ）を演算するものであり、第一カウンタ１５からカウント値ＤＧが入力されると、分周比Ｍとして、カウント値ＤＧを、逓倍率設定レジスタ１７が記憶する逓倍率ＤＶで除算した値を算出する。
【００２７】
分周比Ｍ＝ＤＧ／ＤＶ
尚、割り算器１９は、第一分周器２１に接続されており、割り算器１９にて算出された分周比Ｍは、第一分周器２１に取り込まれて、第一分周器２１の分周比Ｍとして設定される。
【００２８】
第一分周器２１は、リングオシレータ１３から出力される基本信号ＲＣＫを、設定された分周比Ｍで分周して、基本信号ＲＣＫのＭ分の一の周波数のクロック信号を生成し、出力する。この第一分周器２１は、ステートマシン３１から入力される制御信号ＤＬＳに基づいて、制御信号ＤＬＳがオンにされたタイミングで、割り算器１９にて算出された分周比Ｍを取り込み、この分周比Ｍを自装置に設定する。そして、この分周比Ｍにて、基本信号ＲＣＫを分周し、分周後の信号を、クロック信号として、第二分周器２３に入力する。尚、本実施例において、制御信号ＤＬＳは、分周比の変更タイミングを制御する信号として用いられるが、この制御信号ＤＬＳにより、分周比の変更は、基準クロック信号ＰＲＥＦが８周期する間に一度行われる。
【００２９】
また、第二分周器２３は、第一分周器２１から入力されるクロック信号を、二分周するニ分周器として機能するものであり、外部から入力されるイネーブル信号がオンにされている期間、ニ分周機能を有効にして、第一分周器２１から入力されるクロック信号を二分周して出力し、イネーブル信号がオフにされている期間には、ニ分周機能を無効にして、第一分周器２１から入力されるクロック信号を、分周せずに、そのまま出力する。
【００３０】
即ち、本実施例のクロック生成装置１０は、第二分周器２３の出力信号を、自装置で生成したクロック信号として、外部装置（ＣＰＵ５）に出力し、上記イネーブル信号がオフにされている期間には、逓倍率ＤＶに対応する目標周波数のクロック信号を、外部装置に出力し、イネーブル信号がオンにされている期間には、上記目標周波数の二分の一（１／２）のクロック信号を、外部装置に出力する。
【００３１】
尚、本実施例において、イネーブル信号は、第二カウンタ２５のカウント値ＣＮ及び閾値設定レジスタ２７が記憶する閾値ＴＨに基づいて、比較器２９がオン／オフする。
第二カウンタ２５は、第一カウンタ１５と同様に動作し、リングオシレータ１３が出力する基本信号ＲＣＫのパルス数を、カウントする。即ち、基準クロック信号ＰＲＥＦに基づき、制御信号ＵＣＥがオンにされている期間に限り、基準クロック信号ＰＲＥＦの１周期に対応する時間、リングオシレータ１３が出力する基本信号ＲＣＫのパルス数をカウントする。また、制御信号ＵＣＥがオフになると、第二カウンタ２５のカウント値ＣＮは、比較器２９に入力される。
【００３２】
その他、閾値設定レジスタ２７は、リングオシレータ１３の温度が動作保証範囲の上限値に達した時点で第二カウンタ２５から出力されるカウント値ＣＮを、閾値ＴＨとして記憶するものである。この閾値ＴＨは、リングオシレータ１３が動作保証範囲の上限値で動作した時の基本信号ＲＣＫの周波数を、基準クロック信号ＰＲＥＦの周波数で除算した値に対応し、設計者等によって予め求められ、設定される。
【００３３】
例えば、本実施例では、リングオシレータ１３の動作保証温度の上限値が１２５度で、そのときの発振周波数が約４８０ＭＨｚであるため、閾値ＴＨとしては、４８０ＭＨｚを基準クロック信号ＰＲＥＦの周波数で除算した値が設定される。
【００３４】
また、比較器２９は、第二カウンタ２５のカウント値ＣＮと、閾値設定レジスタ２７が記憶する閾値ＴＨとを比較して、第二カウンタ２５のカウント値ＣＮが閾値ＴＨ未満である場合には、オン信号を出力し、第二カウンタ２５のカウント値ＣＮが閾値ＴＨ以上である場合には、オフ信号を出力するものである。本実施例において、このオン／オフ信号は、イネーブル信号として、第二分周器２３に入力され、比較器２９からオン信号が出力されている期間には、ニ分周機能がオンにされ、比較器２９からオフ信号が出力されている期間には、ニ分周機能がオフにされる。
【００３５】
即ち、本実施例のクロック生成装置１０では、リングオシレータ１３の温度が動作保証範囲の上限値に達したか否かを、第二カウンタ２５のカウント値ＣＮに基づいて判定し、第二カウンタ２５のカウント値ＣＮが閾値ＴＨ以上である場合には、リングオシレータ１３の温度が動作保証範囲内であり、クロック周波数を抑える必要がないとして、第二分周器２３のニ分周機能を無効にする。一方、第二カウンタ２５のカウント値ＣＮが閾値ＴＨ未満である場合には、リングオシレータ１３の温度が動作保証範囲外であり、クロック周波数を抑える必要があると判定して、第二分周器２３のニ分周機能を有効にし、ＣＰＵ５に供給するクロック信号の周波数を半分に低減する。これにより、クロック信号の伝送路での発熱及びＣＰＵ５での発熱は抑えられ、リングオシレータ１３の温度は、動作保証範囲内に抑えられる。
【００３６】
このように、本実施例では、第二カウンタ２５のカウント値ＣＮに基づいてリングオシレータ１３の温度を推定し、必要に応じて、クロック信号の周波数を変更するので、リングオシレータ１３に温度センサを取り付けなくとも、リングオシレータ１３が高温にならないように、クロック信号の周波数を効率的に低減することができる。また、効率的にクロック信号の周波数を低減することができる結果、クロック信号の周波数を低減することによってＣＰＵ５の処理速度が低くなるのを極力抑えつつ、リングオシレータ１３が高温に晒されないようにすることができる。よって、本実施例によれば、従来よりも耐久性に優れたクロック生成装置１０を、安価に製造することができる。
【００３７】
尚、本実施例のクロック生成装置１０においては、ステートマシン３１により装置内各部の動作タイミングが制御される。即ち、ステートマシン３１が出力する制御信号ＤＬＳは、制御信号ＵＣＥよりも、基準クロック信号ＰＲＥＦの２周期分遅れてオンにされ、分周比Ｍは、第一カウンタ１５の動作後、適切に変更される。
【００３８】
また、第一カウンタ１５及び第二カウンタ２５は、分周比Ｍの変更後、次のカウント期間が到来するまでに、ステートマシン３１が出力する制御信号ＣＬＲによりリセットされる。
【００３９】
以上、本実施例のクロック生成装置１０について説明したが、本発明の分周器は、本実施例において、第一分周器２１及び第二分周器２３により実現され、カウンタは、第一カウンタ１５及び第二カウンタ２５により実現され、分周比算出手段は、割り算器１９により実現され、判定手段は、比較器２９により実現されている。また、分周比設定手段は、割り算器１９で算出された分周比を第一分周器２１に設定する構成及び比較器２９が出力するオン／オフ信号をイネーブル信号として第二分周器２３に入力する構成にて実現されている。
【００４０】
また、本発明のクロック生成装置は、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、上記実施例では、ニ分周器（第二分周器２３）の機能をオン／オフすることにより、出力するクロック信号の周波数を変更するようにしたが、割り算器１９に、目標周波数に対応する分周比を、２倍に修正する修正機能を設けて、比較器２９から出力されるオン／オフ信号に基づき、その修正機能をオン／オフするように、クロック生成装置１０を構成してもよい。また、第二分周器２３は、リングオシレータ１３と第一分周器２１とを結ぶ線路であって基本信号ＲＣＫを第一分周器２１に入力するための線路の間に設けられてもよい。
【図面の簡単な説明】
【００４１】
【図１】クロック生成装置１０を内蔵する半導体装置１の構成を表す説明図である。
【図２】クロック生成装置１０の構成を表すブロック図である。
【図３】クロック生成装置１０を構成する各部の動作タイミングを表すタイムチャートである。
【図４】リングオシレータ１３の発振周波数と動作温度との関係を表すグラフである。
【符号の説明】
【００４２】
１…半導体装置、５…ＣＰＵ、１０…クロック生成装置、１１…基準電圧源、１３…リングオシレータ、１５，２５…カウンタ、１７…逓倍率設定レジスタ、１９…割り算器、２１，２３…分周器、２７…閾値設定レジスタ、２９…比較器、３１…ステートマシン、ＩＮＶ，ＩＮＶ０…インバータ、ＬＮ…電源ライン
【図１】
2008028854.tif 000003
【図２】
2008028854.tif 000004
【図３】
2008028854.tif 000005
【図４】
2008028854.tif 000006