(57)【要約】【課題】小型で低消費電力の半導体集積回路を提供する。【解決手段】複数の処理モードを有し、処理モードに応じた処理を実行する処理回路１１、１２と、処理モードに応じた所定の周波数を有するクロック信号ＣＬＫを処理回路１１、１２に供給するクロック供給回路１３と、クロック供給回路１３と処理回路１１、１２との間に接続され、処理モードを切替えるときに、所定の時間だけクロック信号ＣＬＫの供給を停止するクロック制御手段１５と、を具備する。クロック信号ＣＬＫの供給の停止は、処理モードを切替えるときにクロック信号ＣＬＫの通過を阻止し、所定の時間が経過した後にクロック信号ＣＬＫを通過させ、クロック信号ＣＬＫをトリミングすることにより行う。所定の時間は、切替わる処理モードが処理回路１１、１２にセットアップされるまでに要する時間より大きい。【選択図】図１
2009205291.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理モードを有し、前記処理モードに応じた処理を実行する処理回路と、
前記処理モードに応じた所定の周波数を有するクロック信号を前記処理回路に供給するクロック供給回路と、
前記クロック供給回路と前記処理回路との間に接続され、前記処理モードを切替えるときに、所定の時間だけ前記クロック信号の供給を停止するクロック制御手段と、
を具備することを特徴とする半導体集積回路。
【請求項２】
前記クロック信号の供給の停止は、前記処理モードを切替えるときに前記クロック信号の通過を阻止し、前記所定の時間が経過した後に前記クロック信号を通過させ、前記クロック信号をトリミングすることにより行うことを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記クロック信号のトリミングは、前記処理モードを低い周波数のクロック信号を用いる処理モードから、高い周波数のクロック信号を用いる処理モードに切替えるときに行うことを特徴とする請求項２に記載の半導体集積回路。
【請求項４】
前記クロック信号のトリミングは、前記処理モードを高い周波数のクロック信号を用いる処理モードから、低い周波数のクロック信号を用いる処理モードに切替えるときに行うことを特徴とする請求項２に記載の半導体集積回路。
【請求項５】
前記所定の時間は、切替わる前記処理モードが前記処理回路にセットアップされるまでに要する時間より大きいことを特徴とする請求項１および請求項２に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に関する。
【背景技術】
【０００２】
マイクロプロセッサーに代表される半導体集積回路では、クロック信号の周波数を高くすると、単位時間当たりの処理能力が高まるが、反面消費電力が大きくなるので、省電力化を図るために、処理モードに応じてクロック信号の周波数を切替えている（例えば、特許文献１参照。）。
【０００３】
特許文献１に開示されたマイクロプロセッサーのクロック供給回路は、ＣＰＵの処理モードと周波数モードとの対応づけを記憶する記憶回路と、ＣＰＵの処理モードや割り込みが検出されると、検出された処理モードや割り込みと対応づけられた周波数モードを記憶回路から検索する周波数モード設定回路と、検索された周波数モードに応じた所定周波数のクロック信号を生成するクロック発生回路とを具備している。
【０００４】
然しながら、処理モードに応じてクロック信号の周波数を切替える場合に、切替わる処理モードが全ての処理回路にセットアップされるまでのタイミングと、クロック信号が切り替わるタイミングとを合わせなければならないという問題がある。
【０００５】
例えば、モード信号を切替えてからクロック信号を切替える場合に、モード信号とクロック信号の切替えに発生する制御のズレを抑えるためのシーケンサなどが必要になる。  
また、処理モードがクロック信号と同時に切替わるような設計においては、本来タイミング制約の必要のないモード信号に対して、クロック信号が切替わる時だけ切替わるクロックのセットアップが満たせるだけのドライブ能力が要求されるので、余分なタイミング制約やステージングのためのフリップフロップなどが必要になる。
【０００６】
その結果、半導体集積回路が大掛かりになるので、回路設計が複雑になり、検証作業も含めた設計期間が増大するという問題がある。従って、半導体集積回路のチップサイズの縮小が難しくなるという問題がある。
【０００７】
更に、上述した半導体集積回路を用いた情報処理システムにおいては、処理の実行モードを切替えるときに、一旦実行中の全トランザクションを停止させてからモードを切替える必要があり、クロック信号の周波数を切替えるのに必要な制御のオーバーヘッドが大きくなるという問題がある。
【特許文献１】特開２００２−２０７５３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、小型で低消費電力の半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の半導体集積回路は、複数の処理モードを有し、前記処理モードに応じた処理を実行する処理回路と、前記処理モードに応じた所定の周波数を有するクロック信号を前記処理回路に供給するクロック供給回路と、前記クロック供給回路と前記処理回路との間に接続され、前記処理モードを切替えるときに、所定の時間だけ前記クロック信号の供給を停止するクロック制御手段と、を具備することを特徴としている。
【発明の効果】
【００１０】
本発明によれば、小型で低消費電力の半導体集積回路が得られる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施例について図面を参照しながら説明する。
【実施例１】
【００１２】
本発明の実施例１に係る半導体集積回路について図１乃至図４を用いて説明する。  
図１は半導体集積回路を示すブロック図、図２は半導体集積回路の処理モード切替え動作を示すタイミングチャート、図３は半導体集積回路のクロック制御手段を示す回路図、図４はクロック制御手段の動作を示すタイミングチャートである。
【００１３】
図１に示すように、本実施例の半導体集積回路１０は、複数の処理モードを有し、処理モードに応じた処理を実行する処理回路１１、１２と、処理モードに応じた所定の周波数を有するクロック信号ＣＬＫを処理回路１１、１２に供給するクロック供給回路１３と、処理回路１１、１２の処理モード、例えば高速処理モードと省電力モードを切替えるためのモード信号ＭＯＤＥを出力するモード制御回路１４と、クロック供給回路１３と処理回路１１、１２との間に接続され、処理モードを切替えるときに、所定の時間だけクロック信号の供給を停止するクロック制御手段１５と、を具備している。
【００１４】
半導体集積回路１０は、例えばＣＰＵで、処理回路１１、１２は半導体チップ内の離間した領域に形成された論理演算回路である。
【００１５】
クロック供給回路１３は、例えば基本となる第１クロック信号ＣＬＫ１を生成するＰＬＬ（Phase Locked Loop）１６と、第１クロック信号ＣＬＫ１を、例えば１／４に分周して第２クロック信号ＣＬＫ２を生成するクロック分周回路１７とを具備している。
【００１６】
クロック供給回路１３は、モード制御回路１４からのモード信号ＭＯＤＥに応じて、周波数の高い第１クロック信号ＣＬＫ１または周波数の低い第２クロック信号ＣＬＫ２をクロック信号ＣＬＫとして出力する。  
第１クロック信号ＣＬＫ１および第２クロック信号ＣＬＫ２のどちらを出力するかの選択は、例えばモード信号ＭＯＤＥに応じて作動するスイッチ回路１３ａにより行う。スイッチ回路１３ａは、周知のようにＭＯＳトランジスタ、または論理素子を用いて構成される。
【００１７】
出力されたクロック信号ＣＬＫは、クロック制御手段１５を通過し、クロック信号ＣＬＫの到着するタイミングと、入力信号が到着するタイミングとが合うように設計されたクロックツリー１８を伝播して処理回路１１、１２に供給されている。
【００１８】
モード制御回路１４は、例えばＣＰＵが実行するプログラムあるいは外部割込みなどによりモード切替え要求か発生すると、モード信号ＭＯＤＥを“Ｈ”または“Ｌ”にセットして、処理回路１１、１２、クロック供給回路１３、クロック制御手段１５に供給する。
【００１９】
モード信号ＭＯＤＥは、モード制御回路１４と処理回路１１とを接続する配線１９を伝播して、モード信号伝播時間τｍ１をかけて処理回路１１に到着する。  
モード信号ＭＯＤＥは、モード制御回路１４と処理回路１２とを接続する配線１９および配線２０を伝播して、モード信号伝播時間τｍ１より長いモード信号伝播時間τｍ２をかけて処理回路１２に到着する。
【００２０】
即ち、処理回路１１、１２は配線１９、２０を介してモード制御回路１４と接続されているので、配線長に応じて処理回路１１、１２に切替わる処理モードがセットアップされるまでに要する時間が異なっている。
【００２１】
クロック制御手段１５は、モード信号ＭＯＤＥを受けとると、クロック信号ＣＬＫの通過を阻止し、モード信号伝播時間τｍ２より長い所定の時間τｄが経過した後にクロック信号ＣＬＫを通過させ、処理回路１１、１２へのクロック信号ＣＬＫの供給を一時的に停止する。即ち、所定の時間τｄの間のクロック信号ＣＬＫを間引く、所謂トリミングを行う。
【００２２】
これにより、クロック信号ＣＬＫとのタイミングとは無関係に、所定の時間τｄの間に、モード信号ＭＯＤＥが処理回路１１、１２に到着し、切替わる処理モードが処理回路１１、１２にセットアップされる。その間、処理回路１１、１２は、ホールド状態になり、動作を停止している。
【００２３】
処理回路１１、１２は、切替わる処理モードがセットアップされた後に、クロック制御手段１５を介してクロック信号ＣＬＫを受け取ると、ホールド状態が解除され動作を開始するので、最初のクロック信号ＣＬＫから切替わった処理モードでスムーズに処理を継続することが可能である。
【００２４】
図２に示すように、時刻Ｔ３で処理モードが省電力モードから高速処理モードに切替わると、モード信号ＭＯＤＥは、省電力モードのクロック信号ＣＬＫである第２クロック信号ＣＬＫ２の立ち下がりに同期して立ち上がり、“Ｌ”レベルから“Ｈ”レベルになる。
【００２５】
クロック信号供給回路１３は、モード信号ＭＯＤＥの立ち上がりに同期して、クロック信号ＣＬＫを第２クロック信号ＣＬＫ２から第１クロック信号ＣＬＫ１に切替え、第１クロック信号ＣＬＫ１をクロック信号ＣＬＫとして出力する。
【００２６】
一方、クロック制御手段１５は、モード信号ＭＯＤＥの立ち上がりに同期して、第１クロック信号ＣＬＫ１の通過を阻止し、所定の時間τｄ経過後の時刻Ｔ４で第１クロック信号ＣＬＫ１を通過させ、第１クロック信号ＣＬＫ１をトリミングする。  
図中の破線のクロック信号２１は、第１クロック信号ＣＬＫ１からトリミングされたクロック信号を示している。
【００２７】
ここでは、処理モードが高速処理モードから省電力モードに切替えるときは、クロック信号の供給を停止していない。切替わるクロック信号の周期が、モード信号伝播時間τｍ２より大きいためである。
【００２８】
即ち、時刻Ｔ１で処理モードが高速処理モードから省電力モードに切替わると、モード信号ＭＯＤＥは、高速処理モードのクロック信号ＣＬＫである第１クロック信号ＣＬＫ１の立ち下がりに同期して立ち下がり、“Ｈ”レベルから“Ｌ”レベルになる。  
クロック信号供給回路１３は、モード信号ＭＯＤＥの立ち下がりに同期して、クロック信号ＣＬＫを第１クロック信号ＣＬＫ１から第２クロック信号ＣＬＫ２に切替え、第２クロック信号ＣＬＫ２をクロック信号ＣＬＫとして出力する。  
第２クロック信号ＣＬＫ２が立ち上がる時刻Ｔ２と時刻Ｔ１との差ΔＴ＝Ｔ２−Ｔ１が、所定の時間τｄに等しく、モード信号伝播時間τｍ２より大きいためである。
【００２９】
図３に示すように、クロック制御手段１５は、クロック信号ＣＬＫのトリミング数が予めセットされたカウンタ３０と、カウンタ３０から出力される信号Ａを遅延させる遅延回路３１と、信号Ａを遅延させた信号Ｂとクロック信号ＣＬＫとのＡＮＤ演算を行うＡＮＤ回路３２とを具備している。
【００３０】
遅延回路３１は、例えば複数のインバーダを直列接続して形成され、時刻Ｔ３における第２クロック信号ＣＬＫ２の立ち下がりを確実に出力するためのものである。  
クロック号ＣＬＫは、立ち下がりでカウンタ３０が動作するようにインバータ３３を介して、カウンタ３０の入力端子に供給されている。モード信号ＭＯＤＥはカウンタ３０の制御端子に供給されている。
【００３１】
図４に示すように、処理モードが省電力モードから高速処理モードに切替わると、モード信号ＭＯＤＥは、省電力モードのクロック信号ＣＬＫである第２クロック信号ＣＬＫ２の立ち下がりに同期して時刻Ｔ３で立ち上がり、“Ｌ”レベルから“Ｈ”レベルになる。
【００３２】
次に、クロック供給回路１３は、クロック分周回路１７の動作を停止させ、クロック信号ＣＬＫを第２クロック信号ＣＬＫ２に替えて元の第１クロック信号ＣＬＫ１を出力する。
【００３３】
次に、カウンタ３０は、信号Ａを“Ｌ”レベルにリセットし、クロック信号ＣＬＫである第１クロック信号ＣＬＫ１のクロックのカウントを開始する。
【００３４】
次に、ＡＮＤ回路３２により、信号Ａを遅延回路３１で遅延させた信号Ｂと第１クロック信号ＣＬＫ１とのＡＮＤ演算が行われる。ここでは、信号Ｂが“Ｌ”レベルなので、ＡＮＤ回路３２の出力は常に“Ｌ”レベルとなる。
【００３５】
これにより、処理モードが省電力モードから高速処理モードに切替るときに、クロック制御手段１５は第１クロック信号ＣＬＫ１の通過を阻止することができる。
【００３６】
次に、カウンタ３０は、第１クロック信号ＣＬＫ１のクロックのカウント数が予めセットされた値に達すると、クロックのカウントを停止し、出力信号Ａを“Ｈ”レベルにセットする。
【００３７】
次に、ＡＮＤ回路３２により、出力信号Ａを遅延回路３１で遅延させた信号Ｂと第１クロック信号ＣＬＫ１のＡＮＤ演算が行われる。ここでは、信号Ｂが“Ｈ”レベルなので、ＡＮＤ回路３２の出力は第１クロック信号ＣＬＫ１が“Ｈ“レベルのときに“Ｈ”レベルとなる。
【００３８】
これにより、所定の時間τｄが経過した後に、クロック制御手段１５は第１クロック信号ＣＬＫ１を通過させることができる。  
図中の破線のクロック信号３４は、第１クロック信号ＣＬＫ１からトリミングされたクロック信号を示している。
【００３９】
従って、第１クロック信号ＣＬＫ１のクロックのトリミング数は、所定の時間τｄを第１クロック信号ＣＬＫ１の周期で除した値とすればよい。  
所定の時間τｄはチップサイズや、配線１９、２０の負荷の大きさに応じて定められ、例えば半導体集積回路のチップサイズが５ｍｍ□、第１クロック信号ＣＬＫ１の周波数が１００ＭＨｚ（サイクルタイム１０ｎｓ）の場合に、モード信号ＭＯＤＥがチップ全体に行き渡る時間は１００ｎｓ程度と見積もられることから、トリミング数としては１０サイクル以上あればよい。
【００４０】
処理モードの切替えに要する時間、即ちモード信号伝播時間τｍ２は、１μｓ以下であり、通常の半導体集積回路であれば、動作に支障をきたすことは殆どない。
【００４１】
以上説明したように、本実施例の半導体集積回路１０は、クロック供給回路１３と処理回路１１、１２との間に接続され、処理モードを切替えるときに、所定の時間τｄだけクロック信号の供給を停止するクロック制御手段１５を具備している。
【００４２】
その結果、クロック信号の供給が停止している間に、切替わる処理モードを第１および第２処理回路１１、１２にセットアップし、最初のクロック信号ＣＬＫから切替わった処理モードで処理を開始することができるので、半導体集積回路１０の動作に支障をきたすことがない。
【００４３】
従って、モード信号ＭＯＤＥとクロック信号ＣＬＫとのタイミングをとるための大掛かりな回路が不要となり半導体集積回路のチップサイズを小さくすることができ、小型で低消費電力の半導体集積回路１０が得られる。
【００４４】
また、半導体集積回路１０の回路設計、動作の検証も容易になり、半導体集積回路１０の設計期間を短縮することができる。
【００４５】
ここでは、処理モードが高速処理モードと省電力モードの２つのモードを有する場合について説明したが、更に多くの処理モードを有していても構わない。  
処理モード数に応じて、クロック信号ＣＬＫおよびモード信号ＭＯＤＥを増やし、クロック制御手段１５が増加したクロック信号ＣＬＫおよびモード信号ＭＯＤＥを認識するようにして、実施することができる。
【００４６】
半導体集積回路１０が２つの処理回路１１、１２を要する場合について説明したが、更に多くの処理回路を有していても構わない。
【００４７】
クロック供給回路１３が、ＰＬＬ１６と分周回路１７とを有し、第１クロック信号ＣＬＫ１および第２クロック信号ＣＬＫ２を生成する場合について説明したが、外部から供給された信号を第１クロック信号ＣＬＫ１としても構わない。これによれば、クロック供給回路の構成が簡単になる利点がある。  
更に、外部から供給された２つの信号を、第１および第２信号クロック信号ＣＬＫ１、ＣＬＫ２とすることもできる。
【実施例２】
【００４８】
図５は本発明の実施例２に係る半導体集積回路の処理モードの切替え動作を示すタイミングチャートである。
【００４９】
本実施例において、上記実施例１と同一の構成部分には同一符号を付してその部分の説明は省略し、異なる部分について説明する。  
本実施例が実施例１と異なる点は、クロック信号のトリミングを、処理モードが高い周波数のクロック信号を用いる処理モードから、低い周波数のクロック信号を用いる処理モードに切替えるときにも行うようにしたことにある。
【００５０】
即ち、図５に示すように、本実施例では、処理モードが高速処理モードから省電力モードに変更になると、モード信号ＭＯＤＥは、高速処理モードのクロック信号ＣＬＫである第１クロック信号ＣＬＫ１の立ち下がりに同期して時刻Ｔ１で立ち下がり、“Ｈ”レベルから“Ｌ”レベルになる。
【００５１】
クロック信号供給回路１３は、モード信号ＭＯＤＥの立ち下がりに同期して、クロック信号ＣＬＫとして第１クロック信号ＣＬＫ１に替えて第２クロック信号ＣＬＫ２を出力する。
【００５２】
クロック制御手段１５は、モード信号ＭＯＤＥの立ち下がりに同期して、第２クロック信号ＣＬＫ２の通過を阻止し、所定の時間τｄ２経過後に第２クロック信号ＣＬＫ２を通過させ、第２クロック信号ＣＬＫ２をトリミングする。  
図中の破線のクロック信号４１は、第２クロック信号ＣＬＫ２からトリミングされたクロック信号を示している。
【００５３】
所定の時間τｄ２は、所定の時間τｄと同じく、モード信号伝播時間τｍ２より大きけばよい。
【００５４】
以上説明したように、本実施例では、処理モードが高い周波数のクロック信号を用いる処理モードから、低い周波数のクロック信号を用いる処理モードに切替えるときにも、クロック信号のトリミングを行っている。
【００５５】
これにより、モード信号伝播時間τｍ２が図２に示すΔＴより大きくなった場合でも、最初のクロック信号ＣＬＫから切替わった処理モードで処理を開始することができる利点がある。
【００５６】
例えば、第２クロック信号ＣＬＫ２が、第１クロック信号ＣＬＫ１の１／４分周から１／２分周に設定され、周波数が高くなった場合などである。
【図面の簡単な説明】
【００５７】
【図１】本発明の実施例１に係る半導体集積回路を示すブロック図。
【図２】本発明の実施例１に係る半導体集積回路の処理モードの切替え動作を示すタイミングチャート。
【図３】本発明の実施例１に係る半導体集積回路のクロック制御手段を示す回路図。
【図４】本発明の実施例１に係る半導体集積回路のクロック制御手段の動作を示すタイミングチャート。
【図５】本発明の実施例２に係る半導体集積回路の処理モードの切替え動作を示すタイミングチャート。
【符号の説明】
【００５８】
１０、７０  半導体集積回路
１１、１２  処理回路
１３  クロック供給回路
１３ａ  スイッチ回路
１４  モード制御回路
１５  クロック制御手段
１６  ＰＬＬ
１７  クロック分周回路
１８  クロックツリー配線
１９、２０  配線
２１、３４、４１  トリミングされたクロック信号
３０  カウンタ
３１  遅延回路
３２  ＡＮＤ回路
３３  インバーダ
【図１】
2009205291.tif 000003
【図２】
2009205291.tif 000004
【図３】
2009205291.tif 000005
【図４】
2009205291.tif 000006
【図５】
2009205291.tif 000007