(57)【特許請求の範囲】
【請求項１】
外部から入力されたクロックを逓倍する第１のＰＬＬ回路と、前記第１のＰＬＬ回路で逓倍されたクロックを分周してシステムクロックを生成する第１の分周回路と、
外部から入力されたクロックを逓倍する第２のＰＬＬ回路と、前記第２のＰＬＬ回路で逓倍されたクロックを分周して通信回路用クロックを生成する第２の分周回路とを有し、
前記第１のＰＬＬ回路は、リセット後、次のリセットまでに再設定可能であり、
前記第２のＰＬＬ回路は、リセット後、次のリセットまでは再設定できないことを特徴とする半導体集積回路装置。
【請求項２】
請求項１記載の半導体集積回路装置において、
前記第１の分周回路は、リセット後、次のリセットまでに再設定可能であり、
前記第２の分周回路は、リセット後、次のリセットまでは再設定できないことを特徴とする半導体集積回路装置。
【請求項３】
請求項１記載の半導体集積回路装置において、
ＣＰＵを有し、
前記第１のＰＬＬ回路の再設定は、前記ＣＰＵが設定レジスタの値を更新することにより行われることを特徴とする半導体集積回路装置。
【請求項４】
請求項２記載の半導体集積回路装置において、
ＣＰＵを有し、
前記第１の分周回路の再設定は、前記ＣＰＵが設定レジスタの値を更新することにより行われることを特徴とする半導体集積回路装置。
【請求項５】
請求項１記載の半導体集積回路装置において、
通信回路を有し、
前記第１のＰＬＬ回路の再設定中、前記通信回路の通信回路用クロックは独立して生成され、
前記通信回路は、生成された前記通信回路用クロックを用いて外部と通信可能であることを特徴とする半導体集積回路装置。
【請求項６】
請求項５記載の半導体集積回路装置において、
前記第１のＰＬＬ回路の再設定中に前記通信回路用クロックを用いて外部と通信して受信されたデータは、前記通信回路内のバッファに格納され、
前記第１のＰＬＬ回路の再設定完了後、内蔵メモリ又は外部メモリに転送されることを特徴とする半導体集積回路装置。
【請求項７】
請求項５記載の半導体集積回路装置において、
前記第１のＰＬＬ回路の再設定期間中、前記システムクロックが出力停止し、
前記システムクロックが入力されるＣＰＵは動作停止することを特徴とする半導体集積回路装置。
【請求項８】
請求項７記載の半導体集積回路装置において、
前記第１のＰＬＬ回路の再設定は、
設定レジスタが更新され、内部バスのデータ転送が停止し、前記システムクロックが出力停止し、前記第１のＰＬＬ回路の逓倍率が変更され、前記システムクロックの供給が再開し、前記内部バスのデータ転送が再開することを特徴とする半導体集積回路装置。
【請求項９】
請求項１〜８のいずれか１項に記載の半導体集積回路装置において、
前記システムクロックは、ＣＰＵクロックであることを特徴とする半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置（以下、ＬＳＩともいう）に関し、特にその装置のクロック生成部分の構成に適用して有効な技術に関する。
【背景技術】
【０００２】
本発明者が検討した技術として、例えば、半導体集積回路装置のクロック生成部分においては、以下の技術が考えられる。
【０００３】
従来は、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）が使用するシステムクロックは、共通の１つのＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）から生成されるクロック構成になっていた。このため、ＬＳＩチップのシステムクロックが変更されると、固定周波数を必要としているモジュール（ＳＣＩＦ／ＩＲＥＭ／ＵＳＢなど）へのクロック周波数が変更され、それぞれのモジュールの各種設定（ボーレート）などを最初から行わなければならない。これは、ＬＳＩチップシステムを考えたときに、オーバーヘッドが大きいことが予想され、低消費電力を考えたときにシステムの周波数を使用状態に伴って、動作周波数を変更することが難しくなる。
【０００４】
また、モジュールが必要なクロックごとにＰＬＬを用意することも可能であるが、消費電力やシリコンサイズへの影響が大きいことや、非同期ブリッジが多数必要になるため、特に固定クロックを必要とするモジュールを複数搭載しているＬＳＩにおいては現実的ではない。
【０００５】
例えば、ＬＳＩチップシステムは、以下の手順で動作する。
【０００６】
パワーオン時は、以下の手順で動作する。
【０００７】
（１）ＣＰＵ、外部バスインターフェイス（Ｉ／Ｆ）、内蔵モジュール等に用いられるシステムクロックの周波数の設定を行う。
【０００８】
（２）システムクロックの周波数をもとに、固定周波数で動作するモジュールの設定を行う。
【０００９】
（３）通信相手の動作を設定する。
【００１０】
周波数変更時は、以下の手順で動作する。
【００１１】
（１）ＣＰＵ、外部バスインターフェイス（Ｉ／Ｆ）、内蔵モジュール等に用いられるシステムクロックの周波数の設定変更を行う。
【００１２】
（２）前記（１）で決定したシステムクロックの周波数をもとに、固定周波数で動作するモジュールの設定変更を行う。
【００１３】
（３）通信相手の動作の設定変更を行う。
【００１４】
なお、システムクロックとは、ＣＰＵクロック、バスクロック、内部モジュールクロック等の周波数可変のクロックをいう。
【００１５】
また、このようなクロック生成技術としては、例えば、特許文献１に記載される技術などが挙げられる。
【特許文献１】特開２００２−１０８４９０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
ところで、前記のような半導体集積回路装置のクロック生成部分の技術について、本発明者が検討した結果、以下のようなことが明らかとなった。
【００１７】
すなわち、システムクロックの動作周波数が変更されるたびに、固定周波数で動作するモジュールの設定も再度行う必要がある。特に、前記の周波数変更時における（３）の通信相手側の設定変更は、ハンドシェイクが必要となるため、ＬＳＩシステム上実行時間のオーバーヘッドが大きく、動的に周波数変更すること自体がチップシステムとして不可能になる可能性がある。
【００１８】
また、固定周波数の値がシステムクロック周波数変更に影響される。
【００１９】
そこで、本発明の目的は、半導体集積回路装置において、オーバーヘッドを低減することができるクロック生成技術を提供することにある。
【００２０】
本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００２１】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００２２】
すなわち、本発明による半導体集積回路装置は、周波数可変のシステムクロックと、周波数固定の通信回路用のクロック系統を別々にして、それぞれに専用のＰＬＬを設け、システムクロックの周波数が変更されても、周波数固定の通信回路用のクロックにはその変更が影響しないクロック系統にするものである。
【発明の効果】
【００２３】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、以下のとおりである。
【００２４】
周波数可変のシステムクロックの周波数（逓倍率／分周率）を変更した場合でも、周波数固定の通信回路用のクロック系統は、システムクロックの周波数変更の影響を受けないため、オーバーヘッドが低減する。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部材には原則として同一の符号を付し、その繰り返しの説明は省略する。なお、以下の説明において、特にことわらない限り、端子名を表す記号は同時に配線名、信号名も兼ね、電源の場合はその電圧値も兼ねるものとする。
【００２６】
図１は本発明の一実施の形態による半導体集積回路装置の構成及び動作を示すブロック図、図２は本実施の形態の半導体集積回路装置において、内部バス構成を示すブロック図、図３は本実施の形態の半導体集積回路装置において、周波数変更時の動作を示すタイミングチャートである。
【００２７】
まず、図１により、本実施の形態による半導体集積回路装置の構成の一例を説明する。本実施の形態の半導体集積回路装置は、例えば、マイクロプロセッサ、マイクロコントローラ、ワンチップマイコン等のＬＳＩ１００とされ、周知の半導体製造技術によって１個の半導体チップ上に形成されている。ＬＳＩ１００は、例えば、外部クロック１及び外部クロック２を逓倍・分周して各モジュールへのクロックを生成するクロック生成部１０１と、クロックソース設定・ＰＬＬ設定・分周設定などを行うクロック制御部１０２と、ＣＰＵ１０３と、半導体集積回路装置の外部に接続される外部メモリ１１６等と接続するためのバスインターフェイス（Ｉ／Ｆ）１０４と、ＤＭＡＣ・３ＤＩＰ（３次元画像処理ＩＰ）・画像系ＩＰ・タイマ・カードインターフェイス（Ｉ／Ｆ）等の内蔵モジュール１０５と、シリアル通信を行うためのシリアルインターフェイス（Ｉ／Ｆ）１０６と、オーディオデータの送受信をするためのオーディオインターフェイス（ＡＵＤＩＯＩ／Ｆ）１０７と、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）通信を行うためのＵＳＢインターフェイス（Ｉ／Ｆ）１０８などから構成されている。
【００２８】
クロック生成部１０１は、外部クロックを逓倍するＰＬＬ回路１０９ａ，１０９ｂと、逓倍されたクロックを分周して各モジュールへ出力する分周回路１１０ａ，１１０ｂと、クロックを選択する選択回路１１１ａ〜１１１ｅなどから構成されている。
【００２９】
クロック制御部１０２は、クロックソースの選択を設定するためクロックソース設定レジスタ（ＲＥＧ）１１２と、ＰＬＬ回路１０９ａ，１０９ｂの逓倍率を設定するためのＰＬＬ設定レジスタ（ＲＥＧ）１１３と、分周設定を行うための分周設定レジスタ（ＲＥＧ）１１４と、内部バスの動作を制御するためのバス停止制御回路１１５などから構成されている。これらのレジスタは、バスを介してＣＰＵ１０３により読み出し／書き込みできる。また、各モジュールに対して、分周設定レジスタ（ＲＥＧ）１１４の設定が可能である。
【００３０】
また、シリアルＩ／Ｆ１０６とＡＵＤＩＯＩ／Ｆ１０７は、それぞれ分周回路１１０ｃ，１１０ｄを持っている。
【００３１】
ＬＳＩ１００の外部クロックは、クロック端子を介して外部クロック１、外部クロック２から供給される。
【００３２】
分周回路１１０ａからは、選択回路１１１ｃを介してＣＰＵクロック、外部バスクロック、内部モジュールクロックなどの周波数可変系のクロックが出力されている。
【００３３】
分周回路１１０ｂからは、選択回路１１１ｄ，１１１ｅを介してシリアルクロック、オーディオ（ＡＵＤＩＯ）クロック、ＵＳＢクロックなどの周波数固定系のクロックが出力されている。
【００３４】
バスＩ／Ｆ１０４は外部メモリ１１６（フラッシュメモリ、ＳＤＲＡＭ等）に、シリアルＩ／Ｆ１０６は外部ＬＳＩ１１７に、ＡＵＤＩＯＩ／Ｆ１０７は外部ＬＳＩ１１８に、ＵＳＢＩ／Ｆ１０８は外部ＬＳＩ１１９に、それぞれ接続されている。
【００３５】
次に、図２により、ＬＳＩ１００の内部バス構成の一例を説明する。
【００３６】
図２に示すように、ＬＳＩ１００では、ＣＰＵ１０３ａ、３ＤＩＰ１０５ａが内部バス１２０ａに接続され、ＣＰＵ１０３ｂ、バスＩ／Ｆ１０４、ＤＭＡＣ１０５ｃが内部バス１２０ｂに接続され、画像系ＩＰ１０５ｄ、画像系ＩＰ１０５ｅ、ＡＵＤＩＯＩ／Ｆ１０７、タイマ１０５ｆが内部バス１２０ｃに接続され、シリアルＩ／Ｆ１０６ａ、シリアルＩ／Ｆ１０６ｂ、ＵＳＢＩ／Ｆ１０８、カードＩ／Ｆ１０５ｇ、クロック生成部１０１が内部バス１２０ｅに接続されている。内部バス１２０ａと内部バス１２０ｂはバス（ＢＵＳ）ブリッジ１２１ａを介して接続されており、内部バス１２０ａと内部バス１２０ｃ，１２０ｄはバス（ＢＵＳ）ブリッジ１２１ｂ，１２１ｃを介して接続されており、内部バス１２０ｂと内部バス１２０ｅはバス（ＢＵＳ）ブリッジ１２１ｄを介して接続されている。
【００３７】
３ＤＩＰ１０５ａは、３次元表示用のアクセラレータ等のＩＰである。画像系ＩＰ１０５ｄは、カメラ等の画像入力／出力、ＭＰＥＧ動作等のＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ）である。画像系ＩＰ１０５ｅは、ＬＣＤドライバ等のＩＰである。ＡＵＤＩＯＩ／Ｆ１０７は、音声用の圧縮／伸長等のＩＰである。
【００３８】
図２において、ＡＵＤＩＯＩ／Ｆ１０７、シリアルＩ／Ｆ１０６ａ、シリアルＩ／Ｆ１０６ｂ、ＵＳＢＩ／Ｆ１０８は固定クロックのモジュールであり、他は可変クロックのモジュールである。
【００３９】
次に、ＬＳＩ１００の動作の一例を説明する。
【００４０】
まず、可変クロック系は外部クロック１から生成される。外部クロック１から入力されたクロックはＰＬＬ回路１０９ａにおいて逓倍される。逓倍されたクロックは分周回路１１０ａにおいて分周される。分周回路１１０ａで生成された分周クロック（１，２，４，８，１６分周・・・）を選択回路１１１ｃで振り分けて、ＣＰＵクロック、外部バスクロック、内部モジュールクロックとして、ＣＰＵ１０３、バスＩ／Ｆ１０４、内蔵モジュール１０５に供給する。このとき、ＰＬＬ回路１０９ａの逓倍率の設定は、ＰＬＬ設定ＲＥＧ１１３の値で決まり、分周回路１１０ａの分周率の設定は、分周設定ＲＥＧ１１４の値で決まる。
【００４１】
次に、固定クロック系は外部クロック１と外部クロック２の両方からのクロックソースの選択が可能である。クロックソース設定ＲＥＧ１１２の値に基づいて選択されたクロックをＰＬＬ回路１０９ｂで逓倍する。逓倍されたクロックは分周回路１１０ｂにおいて分周される。分周回路１１０ｂで生成された分周クロック（１，２，４，８，１６分周・・・）を選択回路１１１ｄで振り分けて、シリアルクロック、ＡＵＤＩＯクロック、ＵＳＢクロックとして、シリアルＩ／Ｆ１０６、ＡＵＤＩＯＩ／Ｆ１０７、ＵＳＢＩ／Ｆ１０８に供給する。このとき、クロックソース選択の設定は、クロックソース設定ＲＥＧ１１２で決まり、ＰＬＬ回路１０９ｂの逓倍率の設定は、ＰＬＬ設定ＲＥＧ１１３の値で決まり、分周回路１１０ｂの分周率の設定は、分周設定ＲＥＧ１１４の値で決まる。
【００４２】
また、ＵＳＢクロックについてはＰＬＬ回路１０９ｂを経由したクロックの他に、外部クロック１、外部クロック２から直接の経路についても選択できるようになっている。
【００４３】
なお、可変クロック系は、リセット後、次のリセットまでに再設定可能であるが、固定クロック系は、リセット後、次のリセットまでは再設定できないようになっている。
【００４４】
本実施の形態による半導体装置は、以上のような構成・動作により、可変クロック系と固定クロック系を分けることで、可変クロック系が周波数変更する場合でも固定クロック系への影響を与えずに変更することができる。
【００４５】
例えば、ＬＳＩシステムとして、ハードウェア的にＣＰＵ１０３、外部バス動作が軽い状態（スリープやポーリング）へ変化し、可変クロック系の周波数が低速でも問題ないためＣＰＵクロック、外部バスクロック、内部モジュールクロックの周波数を落としたい場合、ＰＬＬ回路１０９ａの逓倍設定を変更して分周回路１１０ａの分周設定を変更しても、固定クロック系には影響を与えない。つまり、シリアルのボーレートの設定やＡＵＤＩＯクロックが変化しないので、固定クロックで動作するモジュールへの再設定が不要になる。
【００４６】
よって、可変クロック系のシステムクロックの周波数変更時においても、ＡＵＤＩＯＩ／Ｆ１０７、シリアルＩ／Ｆ１０６、ＵＳＢＩ／Ｆ１０８は、そのまま動作し続けることが可能になる。
【００４７】
ＵＳＢクロックが特に、クロックソース選択して外部クロック１、外部クロック２から専用に引き込めるようにした理由は、ＵＳＢクロックは固定の４８ＭＨｚを必要としているため、ＰＬＬ回路１０９ｂから生成した場合に他の固定クロック系の動作周波数値の制約を受けやすいため、源振（クロックソース）からも引き込めるような形態をとることが望ましいからである。また、ＰＬＬ回路１０９ｂを通過することで周期／位相ジッタが乗り、ＵＳＢクロックの仕様を満たせない場合は、源振のクリアなクロックを使用することを想定している。
【００４８】
次に、図１及び図３により、ＬＳＩ１００の周波数変更時の動作例を説明する。
【００４９】
ＬＳＩ１００の周波数変更は以下の手順で実行される。なお、図１及び図３に、以下の動作に対応する箇所にその番号を丸付き数字で付した。  
【００５０】
まず、最初にリセット端子からリセットを行い、ＣＰＵクロック制御、シリアルクロック制御は、例えば初期値として、それぞれ１分周が設定されるものとする。この時，内部状態は、内部リセット状態からＣＰＵ動作状態に遷移し、ＣＰＵクロック、シリアルクロックはそれぞれ１分周されて出力されている。
【００５１】
（１）バスを介して、ＣＰＵ１０３からクロック制御部１０２へ周波数変更ＲＥＱ（リクエスト）を出す。
【００５２】
（２）クロック制御部１０２のバス停止制御回路１１５が、内部バス停止ＲＥＱを出す。
【００５３】
（３）バス停止制御回路１１５は、内部バス停止ＡＣＫ（アクノリッジ）が返ってくるまで待つ。
【００５４】
（４）内部バス停止ＡＣＫが返ってきたら、分周設定ＲＥＧ１１４を停止に設定し、選択回路１１１ｃを停止に切り換える（ＣＰＵクロック、外部バスクロック、内部モジュールクロック）。この時、内部状態は、内部バス停止状態となり、ＣＰＵクロックが停止するが、シリアルクロック等の固定クロック系はそのまま出力されている。
【００５５】
（５）ＰＬＬ回路１０９ａの逓倍変更時は、ＰＬＬ設定ＲＥＧ１１３を更新し、ＰＬＬ回路再引き込み（再発振）を行う。
【００５６】
（６）分周設定ＲＥＧ１１４を新設定値に更新し、選択回路１１１ｃを新分周率に切り換える（ＣＰＵクロック、外部バスクロック、内部モジュールクロック）。図３の例では、ＣＰＵクロックは２分周に更新されている。シリアルクロックは、前の状態が維持されている。通信中の場合は、通信が継続する。
【００５７】
（７）ＣＰＵクロックの供給が再開し、バス停止制御回路１１５は、内部バス停止ＲＥＱを落とし、内部バスの動作を再開する。この時、内部状態は、ＣＰＵ動作状態となる。
【００５８】
以上のように、可変クロック系の周波数変更中であっても、シリアルクロック等の固定クロック系は、独立して継続して生成されるので、ＬＳＩ内部の通信回路は、外部と通信を継続することができる。通信データの受信は、内部ＦＩＦＯ（バッファ）が一杯になるまで可能である。可変クロック系の再設定完了後、通信データは、内部ＦＩＦＯから内蔵メモリ又は外部メモリに転送される。なお、可変クロック系が停止中に内部ＦＩＦＯが一杯になると、内部バスは停止状態なので、通信データの転送はできないことになる。
【００５９】
以上説明したように、本実施の形態の半導体集積回路装置では、可変クロックと固定クロック系統を別々にし、それぞれのクロック系統にＰＬＬを持たせている。これにより、可変クロックの周波数（逓倍率／分周率）を変更した場合でも、もう一方の固定クロック側のクロック系統は、可変クロック側の周波数変更の影響を受けないため影響はない。よって、クロック系を２系統にした効果が得られる。
【００６０】
以上、本発明者によってなされた発明をその実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００６１】
例えば、前記実施の形態においては、固定クロック系としてシリアルクロック、オーディオクロック、ＵＳＢクロックについて説明したが、これに限定されるものではなく、その他の周波数が確定しているクロック系についても適用可能である。
【産業上の利用可能性】
【００６２】
本発明は、半導体集積回路装置、電子機器等の製造業において利用可能である。
【図面の簡単な説明】
【００６３】
【図１】本発明の一実施の形態による半導体集積回路装置の構成及び動作を示すブロック図である。
【図２】本発明の一実施の形態による半導体集積回路装置において、内部バス構成を示すブロック図である。
【図３】本発明の一実施の形態による半導体集積回路装置において、周波数変更時の動作を示すタイミングチャートである。
【符号の説明】
【００６４】
１００  ＬＳＩ
１０１  クロック生成部
１０２  クロック制御部
１０３，１０３ａ，１０３ｂ  ＣＰＵ
１０４  バスインターフェイス（Ｉ／Ｆ）
１０５  内蔵モジュール
１０５ａ  ３ＤＩＰ
１０５ｂ，１０５ｃ  ＤＭＡＣ
１０５ｄ，１０５ｅ  画像系ＩＰ
１０５ｆ  タイマ
１０５ｇ  カードインターフェイス（Ｉ／Ｆ）
１０６，１０６ａ，１０６ｂ  シリアルインターフェイス（Ｉ／Ｆ）
１０７  オーディオインターフェイス（ＡＵＤＩＯＩ／Ｆ）
１０８  ＵＳＢインターフェイス（Ｉ／Ｆ）
１０９ａ，１０９ｂ  ＰＬＬ回路
１１０ａ〜１１０ｄ  分周回路
１１１ａ〜１１１ｅ  選択回路
１１２  クロックソース設定レジスタ（ＲＥＧ）
１１３  ＰＬＬ設定レジスタ（ＲＥＧ）
１１４  分周設定レジスタ（ＲＥＧ）
１１５  バス停止制御回路
１１６  外部メモリ
１１７〜１１９  外部ＬＳＩ
１２０ａ〜１２０ｅ  内部バス
１２１ａ〜１２１ｄ  バス（ＢＵＳ）ブリッジ
【図１】
0004624928.tif 000002
【図２】
0004624928.tif 000003
【図３】
0004624928.tif 000004