(57)【要約】【課題】クロック周波数制御とクロックドライブ制御についての設定の自由度と設定の手間のを軽減とを両立しつつ、回路構成に無駄を排除し、高速化と低消費電力の双方を満足させる。【解決手段】クロック発生回路（１５）と、発生されたクロック信号をモード信号によって選択するクロック選択回路（３４，３５）と、選択されたクロック信号を入力して相対的に大きな駆動力又は小さな駆動力で駆動するクロックドライバ回路（３７，３８）と、前記駆動力を選択する駆動力選択回路（４６，４７）とを有する。クロック選択回路は、高速動作モードでは相対的に周波数の高いクロック信号を選択し、低速動作モードでは相対的に周波数の低いクロック信号を選択する。駆動力選択回路は、制御レジスタに設定された制御情報に従ってクロックドライバ回路の駆動力を選択する。【選択図】        図１
2005004591.tif 000002
【特許請求の範囲】
【請求項１】
複数のクロック信号を出力可能なクロック発生回路と、前記クロック発生回路で発生されたクロック信号をモード信号によって選択するクロック選択回路と、前記クロック選択回路で選択されたクロック信号を入力してクロック配線を相対的に大きな駆動力又は小さな駆動力で駆動するクロックドライバ回路と、前記クロックドライバ回路の駆動力を選択する駆動力選択回路と、前記クロック配線に供給されるクロック信号を入力してクロック同期動作する内部回路とを有し、
前記クロック選択回路は、前記内部回路を相対的に高速動作する動作モードでは相対的に周波数の高いクロック信号を選択し、前記内部回路を相対的に低速動作する動作モードでは相対的に周波数の低いクロック信号を選択し、
前記駆動力選択回路は、制御レジスタに設定された制御情報に従ってクロックドライバ回路の駆動力を選択することを特徴とする半導体集積回路。
【請求項２】
前記駆動力選択回路は、制御レジスタに設定された第１の制御情報が第１状態のとき、前記高速動作モードに応答して大きな駆動力を選択し、前記低速動作モードに応答して小さな駆動力を選択することを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記駆動力選択回路は、制御レジスタに設定された第１の制御情報が第２状態のとき、制御レジスタに設定された第２の制御情報にしたがって駆動力を選択することを特徴とする請求項２記載の半導体集積回路。
【請求項４】
前記制御レジスタは、前記第１及び第２の制御情報に対する書き換えを制限するプロテクト情報の格納領域を有することを特徴とする請求項３記載の半導体集積回路。
【請求項５】
前記内部回路は中央処理装置を含み、前記制御レジスタは前記中央処理装置によってアクセス可能であることを特徴とする請求項４記載の半導体集積回路。
【請求項６】
周波数の異なる複数のクロック信号を出力可能なクロック発生回路と、前記クロック発生回路で発生されたクロック信号をクロック選択制御信号によって選択するクロック選択回路と、前記クロック選択回路で選択されたクロック信号を入力して第１のクロック配線を相対的に大きな駆動力又は小さな駆動力で駆動する第１のクロックドライバ回路と、前記クロック選択回路で選択されたクロック信号を入力して分周し分周比が選択可能にされた分周回路と、前記分周回路から出力されたクロック信号を入力して第２のクロック配線を相対的に大きな駆動力又は小さな駆動力で駆動する第２のクロックドライバ回路と、前記第１のクロックドライバ回路の駆動力を選択する第１の駆動力選択回路と、前記第２のクロックドライバ回路の駆動力を選択する第２の駆動力選択回路と、前記第１のクロック配線に供給される第１のクロック信号を入力してクロック同期動作する第１の内部回路と、前記第２のクロック配線に供給される第２のクロック信号を入力してクロック同期動作する第２の内部回路と、を有し、
前記第１及び第２のクロック選択回路は、前記第１及び第２の内部回路を相対的に高速動作する動作モードでは相対的に周波数の高いクロック信号を選択し、前記第１及び第２の内部回路を相対的に低速動作する動作モードでは相対的に周波数の低いクロック信号を選択し、
前記第１及び第２の駆動力選択回路は、ドライバ制御レジスタに設定された制御情報に従って第１及び第２のクロックドライバ回路の駆動力を別々に選択し、前記分周回路は、分周制御レジスタに設定された制御情報に従って分周比を選択することを特徴とする半導体集積回路。
【請求項７】
前記第１及び第２駆動力選択回路は、ドライブ制御レジスタに別々に設定された第１の制御情報が第１状態のとき、前記高速動作モードに応答して大きな駆動力を選択し、前記低速動作モードに応答して小さな駆動力を選択することを特徴とする請求項６記載の半導体集積回路。
【請求項８】
前記第１及び第２の駆動力選択回路は、ドライブ制御レジスタに別々に設定された第１の制御情報が第２状態のとき、前記ドライブ制御レジスタに別々に設定された第２の制御情報にしたがって駆動力を選択することを特徴とする請求項７記載の半導体集積回路。
【請求項９】
前記クロック発生回路は、第１のクロック発振器と、前記第１のクロック発振器の出力クロック信号に対する位相及び周波数制御を行うＰＬＬ回路と、前記第１のクロック発振器の出力クロック信号を分周して低速クロック信号を生成する分周器と、前記低速クロック信号と同じ周波数を発振する第２のクロック発振器とを有し、
前記クロック選択回路は、低速クロック信号として前記分周器の出力又は第２のクロック発振器の出力を選択可能であることを特徴とする請求項８記載の半導体集積回路。
【請求項１０】
第２のクロック発振器の出力が選択されるとき、前期第１クロック発振器の発振動作が停止されることを特徴とする請求項９記載の半導体集積回路。
【請求項１１】
前記第１の内部回路は通信用回路を含み、前記第２の内部回路は中央処理装置を含み、前記制御レジスタは前記中央処理装置によってアクセス可能であることを特徴とする請求項１０記載の半導体集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、クロック信号に同期動作されるマイクロコンピュータ又はマイクロプロセッサなどの半導体集積回路におけるクロック周波数制御とクロックドライブ制御に関する。
【０００２】
【従来の技術】
マイクロコンピュータのクロック制御技術としてレジスタ設定によりクロック周波数とクロックドライバの駆動力の双方を変更可能にする技術が提供されている（特許文献１）。また、クロック信号の周波数切り換え制御信号に応答してクロックドライバの駆動力を変更する技術がある（特許文献２）。さらに、クロック変更に応じてクロックドライバの駆動力を変更し、また、ＣＰＵ停止時にクロックドライバの駆動力を変更する技術がある（特許文献３）。
【０００３】
【特許文献１】
特開平６−２３０８４８号公報
【特許文献２】
特開２００２−２３２２６９号公報
【特許文献３】
特開平１１−１３４０６０号公報
【０００４】
【発明が解決しようとする課題】
本発明者は、マイクロコンピュータなどの半導体集積回路におけるクロック周波数制御とクロックドライブ制御について検討した。クロック信号の周波数切り換えに応答してクロックドライバの駆動能力を変更する場合には全く自由度がない。一方、双方をソフトウェアを介してプログラマブルに制御する場合にはその都度制御データを書き換える手間が有る。本発明者は双方の技術を組合わせる場合について検討した。これによれば、水晶振動子などの源発振の周波数は許容範囲でユーザが所望に選択する場合があること、相対的に高速動作モードであっても実質的にクロック周波数が高くない場合があること、高速動作モードであっても内部回路の一部には低速クロックを供給して低消費電力を図りたい場合があること、を考慮することの有用性を見出した。
【０００５】
本発明の目的は、クロック周波数制御とクロックドライブ制御についての設定の自由度と設定する手間の軽減とを両立しつつ、回路構成に無駄を排除し、高速化と低消費電力の双方の要求を満足させることができる半導体集積回路を提供することにある。
【０００６】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【０００７】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【０００８】
〔１〕半導体集積回路は、複数のクロック信号を出力可能なクロック発生回路（１５）と、前記クロック発生回路で発生されたクロック信号をモード信号によって選択するクロック選択回路（３５）と、前記クロック選択回路で選択されたクロック信号を入力してクロック配線を相対的に大きな駆動力又は小さな駆動力で駆動するクロックドライバ回路（３７，３８）と、前記クロックドライバ回路の駆動力を選択する駆動力選択回路（４６，４７）と、前記クロック配線に供給されるクロック信号を入力してクロック同期動作する内部回路とを有する。前記クロック選択回路は、前記内部回路を相対的に高速動作する動作モード（高速動作モード、アクティブモード）では相対的に周波数の高いクロック信号を選択し、前記内部回路を相対的に低速動作する動作モード（低速動作モード、サブアクティブモード）では相対的に周波数の低いクロック信号を選択する。前記駆動力選択回路は、制御レジスタ（４５）に設定された制御情報に従ってクロックドライバ回路の駆動力を選択する。
【０００９】
上記より、クロック周波数の選択はモード信号により、駆動力の選択はレジスタ設定された制御情報により決定するから、水晶振動子などの源発振の周波数は許容範囲でユーザが所望に選択する場合があり、また、高速動作モードであっても実質的にクロック周波数が高くない場合のあることを考慮すれば、高速動作モードでも絶対的にクロック周波数が低い場合には駆動力を低く設定して低消費電力を図るという選択が可能である。動作モードに応じて駆動力を決める手法ではそのような自由度を得ることはできない。クロック周波数と駆動力の双方別々にレジスタ設定で選択可能にする必要性はなく、逆にそうすれば選択のための回路規模もしくは論理規模が無用に大きくなるだけである。
【００１０】
本発明の具体的な形態として、前記駆動力選択回路は、制御レジスタに設定された第１の制御情報（ＴＲａ）が第１状態（＝０）のとき、前記高速動作モードに応答して大きな駆動力を選択し、前記低速動作モードに応答して小さな駆動力を選択する。また、制御レジスタに設定された第１の制御情報が第２状態（＝１）のとき、制御レジスタに設定された第２の制御情報（ＴＲｂ，ＴＲｃ）にしたがって駆動力を選択する。クロックドライバの駆動力は常にレジスタ設定で決める必然性はなく、動作モードに応じて自動的設定されれば充分な場合も有るからである。
【００１１】
本発明の具体的な形態として、前記制御レジスタは、前記第１及び第２の制御情報に対する書き換えを制限するプロテクト情報（ＴＲｄ）の格納領域を有してよい。たやすく誤って書き換えられないようにするためである。前記内部回路に中央処理装置を含むとき、前記制御レジスタは前記中央処理装置によってアクセス可能とされてよい。ＣＰＵの処理ログラムに従ってクロックドライバの駆動力の設定が可能になる。
【００１２】
〔２〕本発明の別の観点による半導体集積回路は、クロック供給系を２系統持ち、双方に上記発明を適用し、一方には更に、レジスタ設定によるクロック周波数の任意設定を可能にする構成を付加した。
【００１３】
すなわち、半導体集積回路は、複数のクロック信号を出力可能なクロック発生回路（１５）と、前記クロック発生回路で発生されたクロック信号をクロック選択制御信号によって選択するクロック選択回路（３４，３５）と、前記クロック選択回路で選択されたクロック信号を入力して第１のクロック配線を相対的に大きな駆動力又は小さな駆動力で駆動する第１のクロックドライバ回路（３７）と、前記クロック選択回路で選択されたクロック信号を入力して分周し分周比が選択可能にされた分周回路（２６）と、前記分周回路から出力されたクロック信号を入力して第２のクロック配線を相対的に大きな駆動力又は小さな駆動力で駆動する第２のクロックドライバ回路（３８）と、前記第１のクロックドライバ回路の駆動力を選択する第１の駆動力選択回路（４６）と、前記第２のクロックドライバ回路の駆動力を選択する第２の駆動力選択回路（４７）と、前記第１のクロック配線に供給される第１のクロック信号（ＣＫＭ）を入力してクロック同期動作する第１の内部回路と、前記第２のクロック配線に供給される第２のクロック信号（ＣＫＳ）を入力してクロック同期動作する第２の内部回路と、を有する。前記第１及び第２のクロック選択回路は、前記第１及び第２の内部回路を相対的に高速動作する動作モードでは相対的に周波数の高いクロック信号を選択し、前記第１及び第２の内部回路を相対的に低速動作する動作モードでは相対的に周波数の低いクロック信号を選択する。前記第１及び第２の駆動力選択回路は、ドライバ制御レジスタ（４５）に設定された制御情報に従って第１及び第２のクロックドライバ回路の駆動力を別々に選択する。前記分周回路は、分周制御レジスタ（４４）に設定された制御情報に従って分周比を選択する。
【００１４】
これによれば、上記第１の発明による作用効果の他に、高速動作モードであっても内部回路の一部には低速クロックを供給して低消費電力を図りたい場合は、分周回路の分周比を分周制御レジスタに設定する制御情報でプログラマブルの変更する事ができる。
【００１５】
本発明の具体的な形態として、前記第１及び第２駆動力選択回路は、ドライブ制御レジスタに別々に設定された第１の制御情報が第１状態のとき、前記高速動作モードに応答して大きな駆動力を選択し、前記低速動作モードに応答して小さな駆動力を選択する。また、前記第１及び第２の駆動力選択回路は、ドライブ制御レジスタに別々に設定された第１の制御情報が第２状態のとき、前記ドライブ制御レジスタに別々に設定された第２の制御情報にしたがって駆動力を選択する。
【００１６】
本発明のさらに具体的な形態として、前記クロック発生回路は、第１のクロック発振器と、前記第１のクロック発振器の出力クロック信号に対する位相及び周波数制御を行うＰＬＬ回路と、前記第１のクロック発振器の出力クロック信号を分周して低速クロック信号を生成する分周器と、前記低速クロック信号と同じ周波数を発振する第２のクロック発振器とを有し、前記クロック選択回路は、低速クロック信号として前記分周器の出力又は第２のクロック発振器の出力を選択可能である。第２のクロック発振器の出力が選択されるときは、前記第１クロック発振器の発振動作は停止されるのが低消費電力にとって望ましい。
【００１７】
例えば、前記第１の内部回路は通信用回路（１１，１３）を含み、前記第２の内部回路は中央処理装置（２）を含み、前記制御レジスタは前記中央処理装置によってアクセス可能である
【００１８】
【発明の実施の形態】
図１には本発明に係る半導体集積回路の一例であるマイクロコンピュータ１が示される。同図に示されるマイクロコンピュータ１は、例えばＣＭＯＳ集積回路製造技術により単結晶シリコンのような１個の半導体基板（半導体チップ）に形成される。
【００１９】
マイクロコンピュータ１は、中央処理装置（ＣＰＵ）２、ＣＰＵ２の処理プログラムなどを格納するプログラムメモリであるリードオンリメモリ（ＲＯＭ）３、ＣＰＵ２の作業領域並びにデータの一時記憶に利用されるランダムアクセスメモリ（ＲＡＭ）４、バスコントローラ（ＢＵＳＣ）５、入出力ポート（Ｉ／ＯＲＯＲＴ）６、割込みコントローラ（ＩＮＴ）７、タイマモジュール（ＴＰＵ）８、ウォッチドッグタイマ（ＷＤＴ）１０、シリアルコミュニケーションインタフェースコントローラ（ＳＣＩ）１１、アナログディジタル変換器（Ａ／Ｄ）１２、コントロールエリアネットワーク（ＣＡＮ）１３、システムコントローラ（ＳＹＳＣ）１４、発振回路１５、クロックパルスジェネレータ（ＣＰＧ）１６を有する。前記ＣＰＵ２、ＲＯＭ３、ＲＯＭ４、Ｉ／ＯＰＯＲＴ、及びバスコントローラ７は内部バス２０に接続される。この内部バス２０はバスコントローラ５を介して周辺バス２１にインタフェースされ、周辺バス２１には、Ｉ／ＯＰＯＲＴ６、ＩＮＴ７、ＴＰＵ８，ＷＤＴ１０、ＳＣＩ１１、Ａ／Ｄ１２、ＣＡＮ１３及びＳＹＳＣ１４が接続される。前記内部バス２０及び周辺バス２１は夫々、データバス、アドレスバス及びコントロールバス（制御信号バス）を含んでいる。前記周辺バス２１はＩ／ＯＰＯＲＴ６を介して外部バス（図示せず）とインタフェースされ、内部バス２０はバスコントローラ５を介して周辺バス２１、更にはＩ／ＯＰＯＲＴ６を介して外部バスとインタフェースされる。
【００２０】
マイクロコンピュータ１においてバスマスタモジュールは前記ＣＰＵ２である。前記ＣＰＵ２は、例えばＲＯＭ３から命令をフェッチし、取り込んだ命令を解読する命令制御部と、命令制御部による命令解読結果に従って汎用レジスタや算術論理演算器などを用いて演算処理を行なう実行部とを有する。
【００２１】
バスコントローラ５は、バスマスタモジュールであるＣＰＵ２及び外部バスマスタとの間のバス権要求の競合に対する調停を行う。調停論理は例えば優先順位に基づく調停制御である。調停の結果、バス権が与えられたバスマスタモジュールは、バスコマンドを出力し、バスコントローラ５は、このバスコマンドに基づいてバスの制御を行なう。バスコントローラ５は、バスマスタモジュールの出力するアドレス信号がデータプロセッサ１の外部アドレス空間を意味する場合には、Ｉ／ＯＰＯＲＴ６を介して外部にアドレス信号及びアクセスストローブ信号を出力する。
【００２２】
割り込みコントローラ７は、周辺バス２１に接続されるＳＣＩ１１等の回路モジュールから出力される割込み要求信号（図示せず）を入力し、入力された割込み要求信号に対して優先制御及びマスク制御を行って、割り込み要求を受け付ける。割込みコントローラ７は、割込みを受付けると、ＣＰＵ２に割込要求信号（図示せず）を出力する。ＣＰＵ２に割込要求信号が与えられると、ＣＰＵ２は実行中の処理を中断して、割込み要因に応じた所定の処理ルーチンに分岐する。分岐先の処理ルーチンの最後では、復帰命令が実行され、この命令を実行することによって前記中断した処理が再開可能にされる。
【００２３】
ＳＹＳＣ１４はリセット信号（ＲＥＳ）、スタンバイ信号（ＳＴＢＹ）、モード信号（ＭＤ０、ＭＤ１）を入力し、マイクロコンピュータ１の動作モード等を制御する。マイクロコンピュータ１の動作モードは、特に制限されないが、高速のクロック信号に同期動作するアクティブモード（高速動作モード）、低速のクロック信号に同期動作するサブアクティブモード（低速動作モード）、及びクロック信号を停止するスタンバイモード等とされる。上記動作モードはモード信号ＭＤ０，ＭＤ１の状態、スタンバイ信号ＳＴＢＹの状態によって、或はＣＰＵ２によるスリープ命令等の特定の実行などによって設定される。
【００２４】
マイクロコンピュータ１にリセット信号ＲＥＳが与えられると、ＣＰＵ２等のオンチップ回路モジュールはリセット状態とされる。このリセット信号ＲＥＳによるリセット状態が解除されると、ＣＰＵ２は所定のスタートアドレスから命令をリードし、プログラムの実行を開始し、それに従って、例えば、ＲＡＭ４からデータをフェッチし、フェッチしたデータの演算処理を行い、処理結果に基づいて、ＳＣＩ１１などを使用して、外部と信号入出力を行って、各種の機器制御等を行う。
【００２５】
マイクロコンピュータのクロック系について説明する。マイクロコンピュータ１は内部同期動作用のクロック信号としてシステムクロック信号ＣＫＳとモジュールクロック信号ＣＫＭを持つ。システムクロック信号ＣＫＳはＣＰＵ２、ＲＯＭ３、ＲＡＭ４、ＢＵＳＣ５、Ｉ／ＯＰＯＲＴ６及びＩＮＴ７に供給される。モジュールクロック信号ＣＫＭはＢＵＳＣ５、Ｉ／ＯＰＯＲＴ６、ＩＮＴ７、ＴＰＵ８、ＷＤＴ１０、ＳＣＩ１１、Ａ／Ｄ１２、ＣＡＮ１３に供給される。
【００２６】
発振回路１５は、メインクロック発振器２５、３２ＫＨｚ専用発振器２６、ＰＬＬ回路２７、及びサブ分周器２８を有する。メインクロック発振器２５は端子ＥＸＴＡＬ、ＸＴＡＬに接続される水晶発振子ＯＸ１またはＥＸＴＡＬ端子に入力される外部クロック信号に基づいてクロック信号φを生成する。クロック信号φの周波数は、水晶振動子の種類や外部クロック信号の周波数に従って、例えば２メガＨｚ〜２４メガＨｚが許容周波数とされる。ＰＬＬ回路２７はクロック信号φに対する位相同期及び周波数同期を行って、分周比１のままで、高速クロック信号３０として出力する。サブ分周器２８はクロック信号φを分周して３２キロＨｚの低速クロック信号３１を生成する。３２ＫＨｚ専用発振器２６は、端子ＯＳＣ１、ＯＳＣ２に接続される水晶発振子ＯＸ２に基づいて３２ＫＨｚの低速クロック信号３２を生成する。３２キロＨｚのクロック信号を得る場合に、低速クロック信号３１を利用するよりも低速クロック信号３２を利用する方が低消費電力に資することができる。３２ＫＨｚ専用発振器２６の動作を選択すれば、高速発振動作するメインクロック発振器２５の動作を停止することができるからである。
【００２７】
クロックパルスジェネレータ（ＣＰＧ）１６は、選択回路３４，３５、中速クロック生成・選択回路３６、及びクロックドライバ回路３７，３８を有する。
【００２８】
選択回路３４は低速クロック選択信号ＯＳＣＥＮがイネーブルにされることによって低速クロック信号３２を選択し、ディスエーブルにされることによって低速クロック信号３１を選択する。特に図示はしないが、低速クロック選択信号ＯＳＣＥＮがイネーブルにされると３２ＫＨｚ専用発振器２６が発振動作され、メインクロック発振器２５は発振動作停止される。低速クロック選択信号ＯＳＣＥＮがディスエーブルのときはそれとは逆にされる。
【００２９】
選択回路３４の論理構成は図２に例示される通りであり、Ｉｓ１、Ｉｓ２は入力端子、Ｉｓ３は選択制御端子であり、選択制御端子Ｉｓ３のハイレベルによって入力端子Ｉｓ２からの入力を選択し、選択制御端子Ｉｓ３のローレベルによって入力端子Ｉｓ１からの入力を選択する。ＡＮＤはアンドゲート、ＮＯＲはノアゲート、ＩＮＶはインバータである。
【００３０】
選択回路３５は選択回路３４から出力される低速クロック信号３１若しくは３２又はＰＬＬ回路から出力される高速クロック信号３０をモード切替信号ＳＵＢＯＰによって選択する。アクティブモードのときは高速クロック信号３０が選択され、サブアクティブモードのときは選択回路３４で選択される低速クロック信号３１又は３２が選択される。選択回路３５の論理構成は図２に例示される通りである。
【００３１】
中速クロック生成・選択回路３６は、メインクロック信号φの１／２、１／４、１／８、１／１６、１／３２分周に相当するクロック分周機能を有し、中速クロック選択信号４０により、一つの分周比による中速クロックイネーブルが指定されることにより、指定された分周比で分周されたクロック信号を出力する。中速クロック選択信号４０により中速クロックディスエーブルが指定されているときは選択回路３５から供給されるクロック信号をスルーで出力する。したがって、アクティブモードにおいて高速クロック信号３０が選択回路３５で選択されたとき、クロック信号ＣＫＭ及びＣＫＳの双方を高速クロック信号３０の周波数にする状態（中速クロックディスエーブル状態）と、クロック信号ＣＫＳだけを分周して中速化する低消費電力状態（中速クロックイネーブル状態）とを選択可能になる。
【００３２】
クロックドライバ回路３７は選択回路３５から出力されるクロック信号を入力してモジュールクロック信号ＣＫＭを出力する。クロックドライバ回路３７によるクロック出力に対する駆動力、すなわちモジュールクロック信号ＣＫＭを伝達するクロック配線を駆動する駆動力は、ＣＫＭドライバ制御信号４１によって切替可能にされる。
【００３３】
クロックドライバ回路３７の論理構成は図３に例示される通りであり、相対的に駆動力の大きな出力インバータＤＲＶ１と相対的に駆動力の小さな出力インバータＤＲＶ２が出力端子ＯＵＴに並列接続される。出力インバータＤＲＶ２の入力端子はクロック入力端子Ｉｄ１に直結される。出力インバータＤＲＶ１の入力端子は、制御端子Ｉｄ２がローレベルのときクロック入力端子Ｉｄ１に接続され、制御端子Ｉｄ２がハイレベルのときクロック入力端子Ｉｄ１から切り離される。したがって、クロックドライバ回路３７は、ＣＫＭドライバ制御信号４１がローレベルにされることにより出力インバータＤＲＶ１の駆動力と出力ドライバＤＲＶ２の駆動力との和の駆動力でクロック信号ＣＫＭを出力する。ＣＫＭドライバ制御信号４１がハイレベルのときは駆動力の小さな出力インバータＤＲＶ２の駆動力だけでクロック信号ＣＫＭを出力する。図においてＩＮＶはインバータ、ＮＡＮＤはナンドゲート、ＮＯＲはノアゲートである。
【００３４】
クロックドライバ回路３８は中速クロック生成・選択回路３６から出力されるクロック信号を入力してモジュールクロック信号ＣＫＳを出力する。クロックドライバ回路３８によるクロック出力に対する駆動力、すなわちシステムクロック信号ＣＫＳを伝達するクロック配線を駆動する駆動力は、ＣＫＳドライバ制御信号４２によって切替え可能にされる。クロックドライバ回路３８の論理構成は図３に例示される通りであり、ＣＫＳドライバ制御信号４２がローレベルにされることにより出力インバータＤＲＶ１の駆動力と出力ドライバＤＲＶ２の駆動力との和の駆動力でクロック信号ＣＫＳを出力する。ＣＫＳドライバ制御信号４２がハイレベルのときは駆動力の小さな出力インバータＤＲＶ２の駆動力だけでクロック信号ＣＫＳを出力する。
【００３５】
システムコントローラ１４は、中速クロック選択レジスタ４４、ドライバサイズ切替えレジスタ４５、及び選択回路４６，４７を有する。中速クロック選択レジスタ４４及びドライバサイズ切替えレジスタ４５はＣＰＵ２にによってアクセス可能にされるレジスタである。中速クロック選択レジスタ４４は、図４に例示されるように、中速クロックイネーブルビットＭＲａ、分周比指定ビットＭＲｂ〜ＭＲｄを有し、それら情報は中速クロック選択信号４０として出力される。
【００３６】
ドライバサイズ切替えレジスタ４５は、図４に例示されるように、レジスタ有効ビットＴＲａ、ドライバサイズ指定ビットＴＲｂ，ＴＲｃを有する。レジスタ有効ビットＴＲａはハイレベル（論理値１）でドライバサイズ指定ビットＴＲｂ，ＴＲｃによる設定を有効とし、ローレベル（論理値０）で無効とする。ドライバサイズ指定ビットＴＲｂ，ＴＲｃによる設定が無効にされる場合には選択回路４６，４７はモード切替え信号ＳＵＢＯＰによる指定に従い、アクティブモードではクロック出力ドライバ３７，３８に大きな駆動力を選択し、サブアクティブモードではクロック出力ドライバ３７，３８に小さな駆動力を選択する。ドライバサイズ指定ビットＴＲｂ、ＴＲｃによる指定が有効にされるとき、選択回路４６，４７は夫々のドライバサイズ指定ビットＴＲｂ，ＴＲｃの値に従って、論理値０ではクロック出力ドライバ３７，３８に大きな駆動力を選択させ、論理値１ではクロック出力ドライバ３７，３８に小さな駆動力を選択させる。
【００３７】
ＣＫＭドライバ制御信号４１を出力する選択回路４６と、ＣＫＳドライバ制御信号４２を出力する選択回路４７の論理構成は図２に示される通りである。選択回路４６、４７の入力端子Ｉｓ３にはレジスタ有効信号が供給され、入力端子Ｉｓ１にはモード切替え信号ＳＵＢＯＰが供給される。選択回路４６の入力端子Ｉｓ２にはＣＫＭ切替えレジスタ信号、選択回路４７の入力端子Ｉｓ２にはＣＫＳ切替えレジスタ信号が個別に供給される。
【００３８】
図４に例示されるように、前記レジスタ，４５に対するライトイネーブルビットＴＲｄを保有するレジスタ４９がＣＰＵアドレス空間に配置されている。ライトイネーブルビットＴＲｄは論理値１で前記レジスタ，４５に対する書き込みを許容し、論理値０で書き込み抑止する。ライトイネーブルビットＴＲｄの書き込み、すなわち、初期論理値０から論理値１への書き換えは、レジスタ４９に対する所定の複数回のアクセスの後で（読み出しアクセス後の２回目のアクセスで）可能にされる。これにより、誤動作によるレジスタ、４５の不所望な書き換えを防止可能になる。
【００３９】
図５には以上説明したクロック周波数及びクロックドライブの制御態様が纏めて示される。レジスタ有効ビットＴＲａ＝０によりドライバサイズ指定ビットＴＲｂ，ＴＲｃの設定が無効にされているときは、モード信号ＳＵＢＯＰの値に従ってクロック周波数及びクロック駆動力が決定される。すなわち、ＳＵＢＯＰ＝０のアクティブモードでは、選択回路３５により高速クロック信号３０が選択され、クロックドライバ回路３７、３８では双方のドライバＤＲＶ１とＤＲＶ２が動作されて大きな駆動力が選択される。
【００４０】
レジスタ有効ビットＴＲａ＝１によりドライバサイズ指定ビットＴＲｂ，ＴＲｃの設定が有効にされているときは、モード信号ＳＵＢＯＰによってアクティブモードが指定されて高速クロック信号３０が選択されていても、サブアクティブモードが指定されて低速クロック信号３１又は３２が選択されていても、その動作モードに拘わらず、クロックドライバ回路３７の駆動力はドライバサイズ指定ビットＴＲｂによって決定され、クロックドライバ回路３８の駆動力はドライバサイズ指定ビットＴＲｃによって決定される。すなわち、ドライバサイズ指定ビットＴＲｂ、ＴＲｃ＝１のときはドライバＤＲＶ２の動作が選択されて小さな駆動力でクロック出力動作され、ドライバサイズ指定ビットＴＲｂ、ＴＲｃ＝０のときはドライバＤＲＶ１とＤＲＶ２の動作が選択されて大きな駆動力でクロック出力動作される。
【００４１】
図６にはクロックドライバ回路のトランジスタサイズ比が例示される。出力インバータＤＲＶ２を構成するｐチャンネル型ＭＯＳトランジスタＭｐ１のサイズを２Ｗ／Ｌ、ｎチャンネル型ＭＯＳトランジスタＭｎ１のサイズをＷ／Ｌとする。出力インバータＤＲＶ１を構成する一方のｐチャンネル型ＭＯＳトランジスタＭｐ２は４Ｗ／Ｌ、一方のｎチャンネル型ＭＯＳトランジスタＭｎ２のサイズは２Ｗ／Ｌとされ、他方のｐチャンネル型ＭＯＳトランジスタＭｐ３は２Ｗ／Ｌ、他方のｎチャンネル型ＭＯＳトランジスタＭｎ３のサイズはＷ／Ｌとされる。ＭＯＳトランジスタＭｐ４とｎチャンネル型ＭＯＳトランジスタＭｎ４は予備の未使用インバータであり、利用する場合にはアルミマスタスライスで回路接続される。
【００４２】
図７は図６のクロックドライバ回路の原形である。前記ＭＯＳトランジスタＭｐ３、Ｍｎ３から成るインバータを並列に一対配置して構成される。図６の構成は、図７に示されるトランジスタＭｐ３、Ｍｎ３から成る一つのインバータを、ＭＯＳトランジスタＭｐ１、Ｍｎ１から成るインバータと、Ｍｐ２、Ｍｎ２から成るインバータとの二つに分解している。出力インバータによる占有面積は図６と図７では実質同じである。図７の構成では論理ゲートが追加されているが、それらは論理動作を行うだけであるから出力インバータを構成するＭＯＳトランジスタに比べて無視し得るほど小さい。
【００４３】
図８にはクロック系が一つの場合におけるクロック周波数及びクロックドライバの駆動力を制御するための構成が例示される。図１と同等の機能を有する回路要素にはそれと同一符号を付してその詳細な説明は省略する。クロックドライバ回路３７から出力されるクロック信号ＣＫはマイクロコンピュータ１Ａの動作基準クロック信号としてＣＰＵなどの各回路モジュールに供給される。
【００４４】
以上説明したクロック周波数及びクロックドライブの制御態様によれば以下の作用効果を得る。
【００４５】
〔１〕水晶振動子などの源発振の周波数は許容範囲でユーザに所望に選択され、また、アクティブモードであっても２メガＨｚのようにクロック周波数が実質的に高くない場合のあることを考慮すれば、クロック周波数の選択はモード切替え信号ＳＵＢＯＰにより、ドライバ回路３７，３８の駆動力の選択はレジスタ４５に設定された制御情報ＴＲｂ，ＴＲｃにより決定することが可能であるから、高速動作モードでも絶対的にクロック周波数が低い場合には駆動力を低く設定して低消費電力を図るという選択が可能である。例えば、メインクロック周波数が２メガＨｚであるとき、クロック信号ＣＫＭ，ＣＫＳのエッジ変化が緩慢であっても問題なければ、アクティブモードであっても、ＴＲｂ、ＴＲｃ＝１とし、クロックドライバ回路３７，３８の出力インバータＤＲＶ２だけを用いてクロックの駆動力を小さくし、クロックドライバ回路の消費電力を低減することができる。
【００４６】
〔２〕動作モードに応じてクロック周波数を選択し、レジスタ設定値でクロックドライバ回路３７，３８の駆動力を決定する構成に対し、動作モードに応じて駆動力を決める手法ではそのような自由度を得ることはできない。クロック周波数と駆動力の双方別々にレジスタ設定で選択可能にする必要性はなく、逆にそうすれば選択のための回路規模もしくは論理規模が無用に大きくなるだけである。
【００４７】
〔３〕レジスタ，４５に対する書き込み許容／抑止を決定するライトイネーブルビットＴＲｄを設けること、更に、ライトイネーブルビットＴＲｄに対して初期値０から１への書き換えには所定のレジスタアクセスシーケンスを必要とすることにより、誤動作によるレジスタ、４５の不所望な書き換えを防止することが可能になる。
【００４８】
〔４〕高速動作モードであっても内部回路の一部、例えばシステムクロック系には低速クロックを供給して低消費電力を図りたい場合は、中速クロック生成・選択回路３５の分周比を中速クロック制御レジスタ４４に設定する制御情報によってプログラマブルに変更することができる。
【００４９】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００５０】
例えば、内部クロック信号はモジュールクロック信号ＣＫＭとシステムクロック信号ＣＫＳの２系統、又はクロック信号ＣＫの１系統に限定されない。本発明は３系統以上の内部クロック信号を有する構成にも適用可能である。マイクロコンピュータにオンチップされる回路モジュールは図１の構成に限定されず適宜変更可能である。
【００５１】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるマイクロコンピュータに適用した場合について説明したが、本発明はそれに限定されず、クロック信号に同期動作する回路モジュールを有する種々の半導体集積回路に広く適用することができる。
【００５２】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００５３】
すなわち、動作モードに応じてクロック周波数を選択し、レジスタ設定値でクロックドライバ回路の駆動力を決定するから、クロック周波数制御とクロックドライブ制御についての設定の自由度と設定の手間のを軽減とを両立しつつ、回路構成に無駄を排除し、高速化と低消費電力の双方の要求を満足させることができる。
【図面の簡単な説明】
【図１】本発明に係る半導体集積回路の一例であるマイクロコンピュータのブロック図である。
【図２】選択回路の論理構成を例示する論理回路図である。
【図３】クロックドライバ回路の論理構成を例示する論理回路図である。
【図４】クロックドライバの駆動力設定用のレジスタ構成を例示する説明図である。
【図５】クロック周波数及びクロックドライブの制御態様を纏めて示す説明図である。
【図６】クロックドライバ回路のトランジスタサイズ比を例示する回路図である。
【図７】図６のクロックドライバ回路の原形を例示する回路図である。
【図８】クロック系が一つの場合におけるクロック周波数及びクロックドライバの駆動力を制御するための構成を例示する論理回路図である。
【符号の説明】
１  マイクロコンピュータ
２  中央処理装置
１４  システムコントローラ
１５  発振回路
１６  クロックパルスジェネレータ
２５  メインクロック発振器
２６  ３２ＫＨｚ専用発振器
２７  ＰＬＬ回路
２８  サブ分周器
３０  高速クロック信号
３１，３２  低速クロック信号
３５  選択回路
３６  中速クロック生成・選択回路
３７，３８  クロックドライバ回路
ＣＫＭ  モジュールクロック信号
ＣＫＳ  システムクロック信号
４０  中速クロック選択信号
４１  ＣＫＭドライバ制御信号
４２  ＣＫＳドライバ制御信号
４４  中速クロック選択レジスタ
４５  ドライバサイズ切替えレジスタ
４６，４７  選択回路
ＴＲａ  レジスタ有効ビット
ＴＲｂ，ＴＲｃ  ドライバサイズ指定ビット
ＴＲｄ  ドライバサイズ指定レジスタ書込み許可ビット
ＭＲａ  中速クロックイネーブルビット
ＭＲｂ〜ＭＲｄ  分周比指定ビット
【図１】
2005004591.tif 000003
【図２】
2005004591.tif 000004
【図３】
2005004591.tif 000005
【図４】
2005004591.tif 000006
【図５】
2005004591.tif 000007
【図６】
2005004591.tif 000008
【図７】
2005004591.tif 000009
【図８】
2005004591.tif 000010