(57)【要約】【課題】クロック信号の供給を停止しないでクロック信号の周波数を切り換えることができるクロック信号生成回路を提供することを課題とする。【解決手段】第１のクロック信号及び第２のクロック信号の位相を比較し、その比較結果に応じた電圧を出力する位相比較器（１０１）と、前記電圧に応じた周波数の第３のクロック信号を発振する電圧制御発振器（１０２）と、前記第３のクロック信号を分周して前記第２のクロック信号を前記位相比較器に出力する第１の分周器（１０３）と、前記第３のクロック信号を分周して第４のクロック信号を出力する第２の分周器（１０４）とを有することを特徴とするクロック信号生成回路が提供される。【選択図】図１
2008192099.tif 000002
【特許請求の範囲】
【請求項１】
第１のクロック信号及び第２のクロック信号の位相を比較し、その比較結果に応じた電圧を出力する位相比較器と、
前記電圧に応じた周波数の第３のクロック信号を発振する電圧制御発振器と、
前記第３のクロック信号を分周して前記第２のクロック信号を前記位相比較器に出力する第１の分周器と、
前記第３のクロック信号を分周して第４のクロック信号を出力する第２の分周器と
を有することを特徴とするクロック信号生成回路。
【請求項２】
前記第１及び第２の分周器は、前記第４のクロック信号を第１の周波数からそれより高い第２の周波数に上げるまでの間に、前記第４のクロック信号が前記第２の周波数以下の範囲で周波数が変化するように、分周比を変化させることを特徴とする請求項１記載のクロック信号生成回路。
【請求項３】
前記第４のクロック信号が前記第１の周波数であるとき、前記第２の分周器は前記第４のクロック信号の周波数が低くなるように分周比を変化させ、その後に、前記第１の分周器は前記第２のクロック信号の周波数が低くなるように分周比を変化させ、その後に、前記第２の分周器は前記第４のクロック信号の周波数が高くなるように分周比を変化させることにより、前記第４のクロック信号が前記第２の周波数になることを特徴とする請求項２記載のクロック信号生成回路。
【請求項４】
前記第２の分周器は、前記第４のクロック信号を第１の周波数から第２の周波数に上げるまでの間に、前記第４のクロック信号を対象回路に出力し続けることを特徴とする請求項２又は３記載のクロック信号生成回路。
【請求項５】
さらに、信号の遅延時間を検出する検出回路と、
前記遅延時間に応じて、前記第１及び第２の分周器の分周比を変化させることにより前記第４のクロック信号の周波数を制御する制御回路とを有することを特徴とする請求項１〜４のいずれか１項に記載のクロック信号生成回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック信号生成回路に関し、特に分周によりクロック信号を生成するクロック信号生成回路に関する。
【背景技術】
【０００２】
図４は、位相ロックループ（ＰＬＬ）回路１００及び半導体回路１０５の構成例を示す図である。ＰＬＬ回路１００は、位相比較器（位相検出器）１０１、電圧制御発振器（ＶＣＯ）１０２及び第１の分周器１０３を有し、基準クロック信号ＣＫＩを入力し、出力クロック信号ＣＫＯを出力する。位相比較器１０１は、クロック信号ＣＫＩ及び分周器１０３が出力するクロック信号の位相を比較し、その比較結果に応じた電圧を出力する。ＶＣＯ１０２は、位相比較器１０１が出力する電圧に応じた周波数のクロック信号ＣＫＯを発振及び出力する。なお、位相比較器１０１及びＶＣＯ１０２間に、高周波ノイズを除去するためのローパスフィルタを設けてもよい。分周器１０３は、出力クロック信号ＣＫＯを分周比１／Ｎで分周してクロック信号を位相比較器１０１に出力する。すなわち、分周器１０３は、出力クロック信号ＣＫＯに対して１／Ｎの周波数のクロック信号を出力する。ＰＬＬ回路１００は、基準クロック信号ＣＫＩと分周器１０３の出力クロック信号との位相差が０になるように、出力クロック信号ＣＫＯの周波数を制御する。その結果、出力クロック信号ＣＫＯは、基準クロック信号ＣＫＩのＮ倍の周波数になる。ＰＬＬ回路１００は、クロック信号ＣＫＯを生成するクロック信号生成回路である。半導体回路１０５は、ＰＬＬ回路１００からクロック信号ＣＫＯを入力し、クロック信号ＣＫＯに同期して動作する。
【０００３】
ＰＬＬ回路１００内の分周器１０３の分周比を変えることにより、ＰＬＬ回路１００の出力クロック信号ＣＫＯの周波数を変化させることができる。可変できる周波数範囲は、位相比較器１０１とＶＣＯ１０２の電圧及び周波数特性に依存する。周波数の可変は、引き込み過程を経て目的の周波数で安定する。この期間は、ＰＬＬ回路１００の特性により決まる。半導体回路１０５を常に安定に動作させる場合には、出力クロック信号ＣＫＯの周波数は、半導体回路１０５が動作可能な周波数以下でなければならない。
【０００４】
図５は、ＰＬＬ回路１００が生成するクロック信号ＣＫＯの時間及び周波数の関係を示すグラフである。ＰＬＬ回路１００がクロック信号ＣＫＯの周波数をｆ１からｆｍａｘに切り換える際の周波数変化を示す。ここで、周波数ｆｍａｘは、半導体回路１０５が正常に動作できる最高動作可能周波数であり、周波数ｆ１より高い。半導体回路１０５は、周波数ｆｍａｘを超える周波数では正常に動作しない。期間Ｔ１では、分周器１０３の分周比１／Ｎを例えば１／ｘに設定し、クロック信号ＣＫＯの周波数をｆ１にする。次に、時刻ｔ１１の以降の期間Ｔ２では、分周器１０３の分周比１／Ｎを小さくして例えば１／（ｘ＋１）に設定する。すると、クロック信号ＣＫＯの周波数は、高くなり、時刻ｔ１２からｔ１３までの期間Ｔ３で目的周波数ｆｍａｘに対してオーバーシュートＳＨが生じる。オーバーシュートＳＨは、分周器１０３の分周比１／Ｎを小さくすることによって生じ、周波数引き込み動作時に目的の周波数ｆｍａｘを大きく超える現象である。半導体回路１０５は、期間Ｔ３では正常動作が保証されない。
【０００５】
ＰＬＬ回路１００は、特性にも依存するが最高６００ＭＨｚのクロック信号の出力能力を有する場合、周波数引き込み時間がだいたい２００μ秒程度かかる。そのため、この期間Ｔ３では出力クロック信号ＣＫＯをマスクして遮断している。すなわち、周波数ｆｍａｘを超える周波数でクロック信号ＣＫＯが生成されている期間Ｔ３では、出力クロック信号ＣＫＯを遮断して半導体回路１０５にクロック信号ＣＫＯを供給しないようにすることでこの問題を回避している（下記の特許文献１参照）。
【０００６】
ＣＰＵ等を搭載する半導体回路１０５は同期回路であるため、動作の基準となるクロック信号ＣＫＯが必要である。基準クロック信号ＣＫＩは、ＣＲ発振器、セラミック発振器、水晶発振器等の発振回路から生成されるが、高い周波数を作り出すことができないので、ＰＬＬ回路１００により高い周波数のクロック信号ＣＫＯを生成する。高い周波数のクロック信号ＣＫＯは、半導体回路１０５内のＣＰＵを高速で動作させるために必要である。
【０００７】
半導体回路１０５は、クロック信号ＣＫＯの周波数に対して限界動作周波数を持っている。限界動作周波数は、半導体回路１０５の特性、周囲の温度、供給電圧等に依存する。
【０００８】
ＰＬＬ回路１００の出力クロック信号ＣＫＯは、半導体回路１０５内のＣＰＵの動作中は固定した周波数で使用される。クロック信号ＣＫＯの周波数を切り換える場合には、上記のように、ＰＬＬ回路１００の出力クロック信号ＣＫＯを一度遮断して周波数の引き込み動作を完了させた後に、クロック信号ＣＫＯの供給を再開する。
【０００９】
これは、出力クロック信号ＣＫＯの周波数を可変する場合にオーバーシュート及びアンダーシュートと呼ばれる現象が発生し、一時的に半導体回路１０５が動作できる限界動作周波数の上限を超える場合や逆に下限を下回るためである。
【００１０】
近年、半導体の微細化技術が進み、またリーク電流が増大するにつれて消費電力の削減が非常に重要なテーマとなってきている。省電力化手法の１つにＣＰＵの周波数を動的に変更することによって、その時の動作周波数に合わせて電源電圧を変える技術等がある。
【００１１】
この技術を適用する場合、周波数を切り換える度にクロック信号ＣＫＯの供給を停止すると、ＣＰＵの処理能力が低下してしまう。例えば、ＣＰＵの処理速度を遅い状態から最高速の状態に移行させて最大限の処理リソースを使用したい場合でも、クロック信号ＣＫＯの周波数の切り換えによる停止期間が存在するためにかえって処理速度が実質的に低下してしまうという問題がある。
【００１２】
下記の特許文献２には、ＰＬＬ回路の出力周波数を可変する場合に周波数引き込み過程中に帰還部分の可変分周器の分周数を変更することにより引込期間を短縮する方式が提案されている。しかし、この場合でも周波数引き込み時のオーバーシュートは、限界周波数以上になるため、半導体回路が正常に動作できない期間が発生する。
【００１３】
【特許文献１】特開２００１−１１７９０３号公報
【特許文献２】特開平７−３０３０４２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
半導体回路（例えばＣＰＵ）１０５等に供給するクロック信号ＣＫＯの周波数をダイナミックに可変しようとする場合、上記のような手法が採用されていた。一般的に、周波数切り換え毎にＣＰＵ１０５へのクロック信号ＣＫＯの供給を遮断するため短い間隔で周波数を可変しようとすると、動的周波数切り換えによる消費電力削減回路等では、周波数切り換えの度にＣＰＵ１０５へのクロック信号ＣＫＯの供給が止まり、一定期間動作しない状態が生じる。
【００１５】
これにより、例えば割り込み応答等の緊急を要する信号に対して処理が出来ない期間が発生する。ＣＰＵ１０５へのクロック信号ＣＫＯの遮断時間は、数十から数百サイクルに及ぶため、割り込み等の数サイクルから数十サイクル以内に反応しなければならないようなハザード検出においては、頻繁に周波数を切り換えるようなシステムでは、速度の低下を招き、システム要件を満たせない場合がある。
【００１６】
また、クロック信号ＣＫＯを遮断しないで周波数を切り換えようとすると、ＰＬＬ回路１００の周波数引き込みによるオーバーシュート現象により、クロック信号ＣＫＯは半導体回路１０５が動作可能な周波数を超えてしまう。
【００１７】
以上のように、半導体回路１０５の消費電力を削減するために、クロック信号ＣＫＯの周波数を短い時間間隔で切り換えようとする場合、前記の問題がある。
【００１８】
本発明の目的は、クロック信号の供給を停止しないでクロック信号の周波数を切り換えることができるクロック信号生成回路を提供することである。
【課題を解決するための手段】
【００１９】
本発明の一観点によれば、第１のクロック信号及び第２のクロック信号の位相を比較し、その比較結果に応じた電圧を出力する位相比較器と、前記電圧に応じた周波数の第３のクロック信号を発振する電圧制御発振器と、前記第３のクロック信号を分周して前記第２のクロック信号を前記位相比較器に出力する第１の分周器と、前記第３のクロック信号を分周して第４のクロック信号を出力する第２の分周器とを有することを特徴とするクロック信号生成回路が提供される。
【発明の効果】
【００２０】
第１及び第２の分周器の分周比を制御することにより、第４のクロック信号の周波数を切り換える際に、第４のクロック信号がオーバーシュートにより最高動作可能周波数を超えることを防止できる。
【発明を実施するための最良の形態】
【００２１】
（第１の実施形態）
図１は、本発明の第１の実施形態によるクロック信号生成回路及び半導体回路１０５の構成例を示す図である。クロック信号生成回路は、位相ロックループ（ＰＬＬ）回路１００及び分周器１０４を有する。本実施形態は、図４に対し、第２の分周器１０４を追加したものである。ＰＬＬ回路１００は、位相比較器（位相検出器）１０１、電圧制御発振器（ＶＣＯ）１０２及び第１の分周器１０３を有し、基準クロック信号ＣＫＩを入力し、出力クロック信号を出力する。基準クロック信号ＣＫＩは、ＣＲ発振器、セラミック発振器、水晶発振器等の発振回路により生成される。ＰＬＬ回路１００は、低い周波数の基準クロック信号ＣＫＩを基に高い周波数のクロック信号ＣＫＯを生成する。位相比較器１０１は、クロック信号ＣＫＩ及び第１の分周器１０３が出力するクロック信号の位相を比較し、その比較結果に応じた電圧を出力する。ＶＣＯ１０２は、位相比較器１０１が出力する電圧に応じた周波数のクロック信号を発振及び出力する。ＶＣＯ１０２の出力クロック信号がＰＬＬ回路１００の出力クロック信号になる。なお、位相比較器１０１及びＶＣＯ１０２間に、高周波ノイズを除去するためのローパスフィルタを設けてもよい。第１の分周器１０３は、ＶＣＯ１０２が出力するクロック信号を分周比１／Ｎで分周してクロック信号を位相比較器１０１に出力する。すなわち、第１の分周器１０３は、入力クロック信号に対して１／Ｎの周波数のクロック信号を出力する。ＰＬＬ回路１００は、基準クロック信号ＣＫＩと分周器１０３の出力クロック信号との位相差が０になるように、出力クロック信号の周波数を制御する。その結果、ＰＬＬ回路１００の出力クロック信号は、基準クロック信号ＣＫＩのＮ倍の周波数になる。
【００２２】
第２の分周器１０４は、ＶＣＯ１０２が出力するクロック信号を分周比１／Ｍで分周してクロック信号ＣＫＯを半導体回路１０５に出力する。すなわち、第２の分周器１０３は、入力クロック信号に対して１／Ｍの周波数のクロック信号を出力する。ＰＬＬ回路１００及び第２の分周器１０４は、クロック信号ＣＫＯを生成するクロック信号生成回路である。第１の分周器１０３の分周比１／Ｎ及び／又は第２の分周器１０４の分周比１／Ｍを変化させることにより、出力クロック信号ＣＫＯの周波数を制御することができる。半導体回路１０５は、例えばＣＰＵ（中央演算処理装置）であり、クロック信号生成回路内の第２の分周器１０４からクロック信号ＣＫＯを入力し、クロック信号ＣＫＯに同期して動作する。
【００２３】
図２は、本実施形態によるクロック信号生成回路が生成するクロック信号ＣＫＯの時間及び周波数の関係を示すグラフである。クロック信号生成回路がクロック信号ＣＫＯの周波数をｆ２からｆｍａｘに切り換える際の周波数変化を示す。ここで、周波数ｆｍａｘは、半導体回路１０５が正常に動作できる最高動作可能周波数であり、周波数ｆ２より高い。半導体回路１０５は、周波数ｆｍａｘを超える周波数では正常に動作しない。
【００２４】
基準クロック信号ＣＫＩの周波数は、例えば１２［ＭＨｚ］である。時刻ｔ０において、第１の分周器１０３の分周比１／Ｎは１／２５に設定され、第２の分周器１０４の分周比１／Ｍは１／１に設定される。出力クロック信号ＣＫＯの周波数はｆ２になる。出力クロック信号ＣＫＯの周波数ｆ２は、基準クロック信号ＣＫＩの周波数１２［ＭＨｚ］のＮ／Ｍ倍であり、１２×２５＝３００［ＭＨｚ］である。
【００２５】
次に、時刻ｔ１において、出力クロック信号ＣＫＯの周波数をｆ２からｆｍａｘへの切り換えを開始する。時刻ｔ１は、切り換え開始基準時刻０［秒］である。時刻ｔ１では、第１の分周器１０３の分周比１／Ｎは１／２５を維持し、第２の分周器１０４の分周比１／Ｍを１／１から１／２に変化させる。出力クロック信号ＣＫＯの周波数はｆ０になる。出力クロック信号ＣＫＯの周波数ｆ０は、基準クロック信号ＣＫＩの周波数１２［ＭＨｚ］のＮ／Ｍ倍であり、１２×２５／２＝１５０［ＭＨｚ］である。
【００２６】
次に、時刻ｔ２において、ＰＬＬ回路１００による周波数引き込み動作を開始する。時刻ｔ１からｔ２までの期間は、１０［ｍ秒］程度あれば十分である。時刻ｔ２では、第１の分周器１０３の分周比１／Ｎを１／２５から１／４１に変化させ、第２の分周器１０４の分周比１／Ｍは１／２を維持する。出力クロック信号ＣＫＯの周波数は上昇し、オーバーシュート及びアンダーシュートを行い、時刻ｔ３において目標周波数ｆ１に到達する。
【００２７】
周波数ｆ１は、基準クロック信号ＣＫＩの周波数１２［ＭＨｚ］のＮ／Ｍ倍であり、１２×４１／２＝２４６［ＭＨｚ］である。また、時刻ｔ２からｔ３までの間において、オーバーシュートによる最高周波数ｆ３は３２０［ＭＨｚ］である。
【００２８】
時刻ｔ３は、ＰＬＬ回路１００がロックした時刻である。時刻ｔ２からｔ３までの期間は、ＰＬＬ回路１００のロックアップタイムであり、約１００［μ秒］以上である。
【００２９】
次に、時刻ｔ４では、第１の分周器１０３の分周比１／Ｎは１／４１を維持し、第２の分周器１０４の分周比１／Ｍを１／２から１／１に変化させる。出力クロック信号ＣＫＯの周波数はｆｍａｘになる。出力クロック信号ＣＫＯの周波数ｆｍａｘは、基準クロック信号ＣＫＩの周波数１２［ＭＨｚ］のＮ／Ｍ倍であり、１２×４１／１＝４９２［ＭＨｚ］である。時刻ｔ３からｔ４までの期間は数クロックあれば十分である。
【００３０】
以上のように、クロック信号ＣＫＯの目的周波数はｆｍａｘである。周波数をｆｍａｘにするには、分周器１０３及び１０４の設定をＭ＝１，Ｎ＝４１にする必要がある。また、時刻ｔ０での分周器１０３及び１０４の設定をＭ＝１，Ｎ＝２５とする。
【００３１】
まず、時刻ｔ１で、分周器１０４のＭの大きさを目標値の１よりも大きな値である２とする。このＭの値は、次の時刻ｔ２でオーバーシュートが周波数ｆｍａｘを超えないようにする値のうちで最小の値が望ましい。
【００３２】
次に、時刻ｔ２でＮを４１に変更する。この時、ＰＬＬ回路１００は周波数引き込み動作を行うためオーバーシュート現象を起こす。しかし、分周器１０４の分周比１／Ｍが小さいためオーバーシュートは、周波数ｆｍａｘを超えない。
【００３３】
次に、時刻ｔ３で周波数が十分に引き込まれ、時刻ｔ４で周波数が安定したところで、Ｍを１に設定する。
【００３４】
このアルゴリズムにより、半導体回路１０５へのクロック信号ＣＫＯの供給を遮断することなく、クロック信号ＣＫＯの周波数の切り換えを行うことが可能となる。周波数切り換え開始時刻ｔ１から終了時刻ｔ４までの間、クロック信号ＣＫＯの周波数は周波数ｆｍａｘ以下であり、周波数ｆｍａｘを超えることはない。
【００３５】
第１の分周器１０３及び第２の分周器１０４は、クロック信号ＣＫＯを周波数ｆ２からそれより高い周波数ｆｍａｘに上げるまでの間に、クロック信号ＣＫＯが周波数ｆｍａｘ以下の範囲で周波数が変化するように、分周比を変化させる。
【００３６】
具体的には、クロック信号ＣＫＯが周波数ｆ２であるとき、第２の分周器１０４はクロック信号ＣＫＯの周波数が低くなるように分周比を変化させ、その後に、第１の分周器１０３はその出力クロック信号の周波数が低くなるように分周比を変化させ、その後に、第２の分周器１０４はクロック信号ＣＫＯの周波数が高くなるように分周比を変化させることにより、クロック信号ＣＫＯが周波数ｆｍａｘになる。
【００３７】
第２の分周器１０５は、クロック信号ＣＫＯを周波数ｆ２から周波数ｆｍａｘに上げるまでの期間ｔ１〜ｔ４に、クロック信号ＣＫＯを対象半導体回路１０５に出力し続けることができる。その期間ｔ１〜ｔ４において、半導体回路１０５は、クロック信号ＣＫＯが周波数ｆｍａｘを超えないので、正常な動作を行うことができる。
【００３８】
図４の回路では、図５の３万サイクル以上のクロック期間Ｔ３では半導体回路１０５へのクロック信号ＣＫＯの供給を停止していたが、本実施形態によれば、その３万サイクル以上のクロック期間もクロック信号ＣＫＯを半導体回路１０５に供給することができ、半導体回路１０５は、図４の回路に比べて格段に処理性能が上がることが分かる。特に、ＣＰＵ等のクロックサイクル毎に命令を処理する半導体回路１０５においては、このような周波数切り換えが頻繁に起こるため、大きな性能の違いとなる。
【００３９】
（第２の実施形態）
図３は、本発明の第２の実施形態によるクロック信号生成回路を用いたシステムの構成例を示す図である。このシステムは、制御ブロック３０１、クロック生成ブロック３０２及びＣＰＵブロック３０３を有する。クロック生成ブロック３０２は、タイマ３１１、マイコン（マイクロコントローラ）３１２及びクロック生成器３１３を有する。クロック生成器３１３は、図１のＰＬＬ回路１００及び分周器１０４を有する。ＣＰＵブロック３０３は、ＣＰＵ３２１及びＨＰＭ（ハードウエアパフォーマンスモニタ）３２２を有する。このシステムは、クロック信号生成回路及びＣＰＵ３２１を有する。クロック信号生成回路は、制御ブロック３０１、クロック生成ブロック３０２及びＨＰＭ３２２を有する。クロック信号生成回路内のクロック生成器３１３は、クロック信号ＣＫＯをＣＰＵ３２１に出力する。ＣＰＵ３２１は、図１の半導体回路１０５に対応し、クロック信号ＣＫＯに同期して動作する。
【００４０】
本実施形態は、クロック信号生成回路をＤＦＳ（Dynamic Frequency Scaling）回路に適用したシステムの構成例である。ＣＰＵ３２１は、クロック生成器３１３が出力するクロック信号に同期して動作する。ＨＰＭ３２２は、ＣＰＵ３２１の電源電圧、周囲温度及び／又はプロセスバラツキを遅延時間に変換して出力するための論理素子である。具体的には、ＨＰＭ３２２は、複数のインバータを直列接続し、クロック生成器３１３が出力するクロック信号に同期し、入力信号に対する出力信号の遅延時間を検出し、その検出した遅延時間を制御ブロック３０１に出力する検出回路である。例えば、電源電圧が高くなるほど、周囲温度が低くなるほど、遅延時間は短くなる。クロック生成器３１３は、図１のＰＬＬ回路１００及び分周器１０４を有し、ＣＰＵ３２１、ＨＰＭ３２２及び制御ブロック３０１に供給するクロック信号ＣＫＯを生成するモジュールである。タイマ３１１は、一定間隔で周波数の切り換えを行うための時計であり、一定間隔でマイコン３１２にクロック信号ＣＫＯの周波数の更新要求ＩＮＴを通知する。マイコン３１２は、クロック生成器３１３を制御するマイクロコントローラであり、更新要求ＩＮＴに応じてクロック生成器３１３内の分周器１０３及び１０４の分周比を制御する。制御ブロック３０１は、ＨＰＭ３２２が出力する遅延時間に応じて、分周器１０３及び１０４の分周比の制御をマイコン３１２に指示する。
【００４１】
ＣＰＵ３２１の最高動作可能周波数ｆｍａｘは、電源電圧、周囲温度及び／又はプロセスバラツキに応じて変化する。クロック生成器３１３は、最高動作可能周波数ｆｍａｘのクロック信号ＣＫＯを生成する。例えば、制御ブロック３０１は、電源電圧が高くなるほど、周囲温度が低くなるほど、最高動作可能周波数ｆｍａｘを高くしてクロック信号ＣＫＯを生成するように制御する。
【００４２】
制御ブロック３０１は、ＨＰＭ３２２が検出した半導体回路固有の論理素子遅延特性、電源電圧及び周囲温度を基に適切な最高動作可能周波数ｆｍａｘを計算し、マイコン３１２を介してクロック生成器３１３を制御する。これにより、ＣＰＵ３２１は、半導体回路固有の最高動作可能周波数ｆｍａｘのクロック信号ＣＫＯで動作することができる。
【００４３】
ＣＰＵ（半導体回路）３２１は、個別に論理素子の遅延特性についてバラツキをもっており通常は最悪の条件に合わせて設計されているが、個別で見た場合には非常に高い周波数で動作させることも可能となる。
【００４４】
周囲温度の変化量は、通常比較的緩やかであることから、制御ブロック３０１は、タイマ３１１等によって数ミリ秒程度の間隔で、ＨＰＭ３２２の値をサンプリングし、最高動作可能周波数ｆｍａｘを制御することによって、各ＣＰＵ（半導体回路）３２１毎に最適な最高動作可能周波数ｆｍａｘを設定することが可能となる。
【００４５】
ＨＰＭ３２２は、信号の遅延時間を検出する検出回路である。制御ブロック３０１は、ＨＰＭ３２２が検出する遅延時間に応じて、第１の分周器１０３及び第２の分周器１０４の分周比を変化させることによりクロック信号ＣＫＯの周波数を制御する制御回路である。
【００４６】
以上のように、第１及び第２の実施形態によれば、分周器１０３及び１０４の分周比を適切に設定してから、ＰＬＬ回路１００の周波数引き込み動作を行うことによって、オーバーシュート現象によりクロック信号の周波数が、周波数ｆｍａｘを超えないようにすることができる。
【００４７】
クロック信号生成回路は、半導体回路１０５の動作中にクロック信号ＣＫＯの周波数を動的に変更する場合に、半導体回路１０５へ供給するクロック信号ＣＫＯが途切れないようにすることができる。これにより、動的に周波数可変を行った場合でも半導体回路１０５の動作停止時間をなくすことができ、システムのパフォーマンス低下を最小限に抑えることができる。
【００４８】
例えば、動的なエネルギー消費削減技術であるＤＶＦＳ（Dynamic Voltage Frequency Scaling）技術では、クロック信号ＣＫＯの周波数を動的に切り換えてＣＰＵ（半導体回路）１０５を動作させるが、周波数切り換え時にクロック信号ＣＫＯが止まるとＣＰＵ１０５の処理も止まる。これはシステムへの影響として、割り込み応答の遅延、画像表示画面のちらつき等のＣＰＵ動作が停止した場合のあらゆる影響が出るため、ある程度の周波数でのクロック信号ＣＫＯの入力が必要となる。最高動作可能周波数ｆｍａｘまで上げる度にクロック信号ＣＫＯが止まると一番処理速度が必要な時に処理ロスが発生することになりシステム動作への影響が大きい。周波数を下げる方向に切り換える場合にも同じようなことが言える。また、周波数可変アルゴリズムをさらに多段階にすることによって、半導体回路１０５の処理速度が劣化する量を削減することが可能となる。
【００４９】
図４及び図５の場合、周波数切り換えの度にＣＰＵ１０５へのクロック供給が止まり、一定期間動作しない状態が生じ、ハザード検出等を行うシステム（ＣＰＵの割込応答等）においては、システム要件を満たせない場合があったことと、ＰＬＬ回路１００の周波数引き込みによるオーバーシュート現象により、半導体回路１０５が動作できる周波数を超えてしまうという２つの問題があった。
【００５０】
本実施形態によれば、この問題を解決することができ、半導体回路１０５の動作を止めることなく、周波数を最高動作可能周波数ｆｍａｘまで動的に切り換えることができる。これにより、高速な処理と省電力の切り換えをシステムを停止させることなく、最高動作可能周波数ｆｍａｘまでの範囲で周波数を切り換えることが可能となる。
【００５１】
第１の分周器１０３及び第２の分周器１０４の分周比を制御することにより、出力クロック信号ＣＫＯの周波数を切り換える際に、出力クロック信号ＣＫＯがオーバーシュートにより最高動作可能周波数ｆｍａｘを超えることを防止できる。
【００５２】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【００５３】
【図１】本発明の第１の実施形態によるクロック信号生成回路及び半導体回路の構成例を示す図である。
【図２】第１の実施形態によるクロック信号生成回路が生成するクロック信号の時間及び周波数の関係を示すグラフである。
【図３】本発明の第２の実施形態によるクロック信号生成回路を用いたシステムの構成例を示す図である。
【図４】位相ロックループ（ＰＬＬ）回路及び半導体回路の構成例を示す図である。
【図５】ＰＬＬ回路が生成するクロック信号の時間及び周波数の関係を示すグラフである。
【符号の説明】
【００５４】
１００  ＰＬＬ回路
１０１  位相比較器
１０２  ＶＣＯ
１０３，１０４  分周器
１０５  半導体回路
【図１】
2008192099.tif 000003
【図２】
2008192099.tif 000004
【図３】
2008192099.tif 000005
【図４】
2008192099.tif 000006
【図５】
2008192099.tif 000007