(57)【要約】【課題】半導体集積回路において、動的クロック制御を行なう事による処理性能劣化を防ぎ、低消費電力化を図ること。【解決手段】主回路１０で従属回路７０に対して従属回路制御信号１１を用いてアクセスを行い、クロックゲーティング制御回路２０は、主回路１０から従属回路７０へのアクセスを感知し、クロック発生回路６０で発生されるクロック５０を従属回路７０へのクロック供給のＯＮ／ＯＦＦを制御する信号であるゲーティング制御信号４０を発生する。  さらにクロックゲーティング有効制御回路３０は、ゲーティング制御信号４０の有効・無効を制御するゲーティング許可信号４１を発生し、ゲーティング許可信号４１により有効とされたゲーティング制御信号４０は、クロック発生回路６０からのクロック５０のＯＮ／ＯＦＦを制御し、従属回路７０へのクロック供給を制御する。【選択図】図１
2007316805.tif 000002
【特許請求の範囲】
【請求項１】
従属回路へのクロック供給を動的に制御する半導体集積回路であって、
前記従属回路に従属回路制御信号の送受信を行う主回路と、
前記従属回路に対するクロック信号を生成するクロック発生回路と、
前記従属回路制御信号よりゲーティング制御信号を生成するクロックゲーティング制御回路と、
前記従属回路に対するクロックゲーティングの有効化を制御するゲーティング許可信号を生成するクロックゲーティング有効制御回路と、を備え、
前記ゲーティング許可信号が有効を示す場合には、前記ゲーティング制御信号によって前記クロック信号へのゲーティング制御を行い、
前記ゲーティング許可信号が無効を示す場合には、前記ゲーティング制御信号による前記クロック信号へのゲーティング制御を行わないように構成された半導体集積回路。
【請求項２】
前記クロックゲーティング有効制御回路は、
前記ゲーティング許可信号を発生させる周期と前記ゲーティング制御信号の有効期間とが設定値として設定された設定値回路と、
一定カウントをカウントするタイマー・カウンタ回路と、
前記設定値回路で指定された周期と有効期間とを、前記タイマー・カウンタ回路でカウントした結果に基づいて、前記ゲーティング許可信号を生成する制御回路と、
を備えたことを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記設定値回路の設定値には、さらに位相情報が含まれ、
前記制御回路は、前記位相情報に基づいて前記ゲーティング制御信号の位相を制御する請求項２に記載の半導体集積回路。
【請求項４】
前記設定値回路は、設定値を保持するレジスタまたはメモリを備え、前記設定値の少なくとも一部が書き換え可能である請求項２または３に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路に関し、特に性能劣化と省電力のバランスを取る事を目的とするクロック制御に関する。
【背景技術】
【０００２】
近年、半導体プロセスの微細化技術の進化により半導体集積回路の集積度が飛躍的に向上している。そのため、一つの半導体装置に内装できる回路規模も大きくなり、システムの大部分を一つのシステムＬＳＩで実現している。同時に、システムＬＳＩには揮発性メモリや不揮発性メモリが接続され、システムＬＳＩの動作周波数と共にメモリ動作周波数も年々増加している。
【０００３】
従来の半導体集積回路では、動作中の回路にのみクロックを供給する事で低消費電力を図る技術等を導入している。特に周辺回路に対してアクセスする際にのみクロックを供給することで低消費電力を図る技術がある（例えば特許文献１参照）。
【０００４】
同様にメモリに対するアクセスを行なう場合のみ、クロックを供給することで低消費電力を図る技術も公開されている。（例えば特許文献２参照）この技術の中では、複数のバンクをグループとしてまとめ、アクセスのあるバンクのグループのみクロック供給が行なわれている。
【０００５】
図５は従来の構成例を示す図である。図５の半導体集積回路は、主回路としてのＣＰＵ１０、従属回路制御信号１１、従属回路としてのメモリ７０、クロックゲーティング制御回路２０クロック発生回路６０とを備えて構成されている。従来では、クロックゲーティング制御回路２０で発生したゲーティング制御信号４０により直接、メモリ７０へのクロック供給をＯＮ／ＯＦＦ制御し、ＣＰＵ１０からのメモリ７０へのアクセスがある場合のみクロック供給を行なう。
【特許文献１】特開平９−２３７１３１号公報
【特許文献２】特開２００３−１２２６２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら上記の技術によりメモリに対するクロック制御を行う場合、クロックの停止状態から供給を開始しメモリアクセスが可能となるまでにセットアップ時間という時間が存在する。このセットアップ時間の存在によりメモリアクセス時の応答時間が悪くなる場合がある。特に複数のバンクグループへのアクセスが発生する場合、都度アクセスの有無によりバンクグループのクロック制御が行なわれる。そのため、メモリアクセスによる待ち時間が、クロック制御を全く行なわない場合に比較して伸びる傾向になる。よって処理時間へ影響が発生し、処理性能を劣化させることになる。
【０００７】
また処理時間が延びる事により、メモリにアクセスする主回路（例えばＣＰＵ等）へのクロック供給を停止する期間が短くなり、主回路側での消費電力が増大する。
【課題を解決するための手段】
【０００８】
前記課題を解決するために本発明は、
従属回路へのクロック供給を動的に制御する半導体集積回路であって、
前記従属回路に従属回路制御信号の送受信を行う主回路と、
前記従属回路に対するクロック信号を生成するクロック発生回路と、
前記従属回路制御信号よりゲーティング制御信号を生成するクロックゲーティング制御回路と、
前記従属回路に対するクロックゲーティングの有効化を制御するゲーティング許可信号を生成するクロックゲーティング有効制御回路と、を備え、
前記ゲーティング許可信号が有効を示す場合には、前記ゲーティング制御信号によって前記クロック信号へのゲーティング制御を行い、
前記ゲーティング許可信号が無効を示す場合には、前記ゲーティング制御信号による前記クロック信号へのゲーティング制御を行わないように構成されたことを特徴とする。
【発明の効果】
【０００９】
本発明では、動的にクロック制御を行なう期間と行なわない期間を設ける事で処理性能の劣化を抑え、システムとしての低消費電力化を図ることができる。
【発明を実施するための最良の形態】
【００１０】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００１１】
（実施の形態１）
図１は、本発明の実施の形態１を示す半導体集積回路の構成図である。
【００１２】
図１の半導体集積回路は、主回路としてのＣＰＵ１０、従属回路制御信号１１、従属回路としてのメモリ７０、クロックゲーティング制御回路２０、ロックゲーティング有効制御回路３０、クロック発生回路６０とを備えて構成されている。
【００１３】
かかる構成によれば、まずＣＰＵ１０でメモリ７０に対して従属回路制御信号１１を用いてアクセスを行なう。従属回路制御信号１１は、通常バス接続されており、アドレスやデータ、バスプロトコルに従った制御信号を用いてメモリ７０の制御・通信を行なう。
【００１４】
クロックゲーティング制御回路２０はＣＰＵ１０からメモリ７０へのアクセスを感知し、メモリ７０へクロック発生回路６０で発生するクロック５０のＯＮ／ＯＦＦを制御する信号であるゲーティング制御信号４０を発生する。
【００１５】
さらにクロックゲーティング有効制御回路３０は、ゲーティング制御信号４０の有効・無効を制御するゲーティング許可信号４１を発生する。このゲーティング許可信号４１により有効とされたゲーティング制御信号４０は、クロック発生回路６０で発生したクロック５０のＯＮ／ＯＦＦを制御する為に用いられる。
【００１６】
本発明では図５の従来の構成とは異なり、クロックゲーティング有効制御回路３０を用いて、ゲーティング制御信号４０の有効・無効を制御する。クロックゲーティング有効制御回路３０の詳細は実施の形態２で述べるが、クロックゲーティング有効回路３０により従来のゲーティング制御信号４０を有効化するか無効化するかの期間を制御することが可能である。
【００１７】
図３は、ゲーティング許可信号４１により従属回路が有効になるまでの遅延の有無を説明する一例である。この例では、ゲーティング許可信号４１がゲーティング制御信号４０を有効とする期間を、ゲーティング許可信号４１のＬＯＷ期間としている。このゲーティング許可信号４１がＬＯＷの期間では、ＣＰＵ１０のメモリ７０へのアクセスを感知して発生するゲーティング制御信号４０がＨＩとなると、それに伴い１サイクル遅延してゲーティングクロック５１が発生する。さらにゲーティングクロック５１が発生後、メモリ７０がアクセス可能となるまで１サイクル必要とし、トータルとして２サイクルの遅延が発生する。
【００１８】
ゲーティング許可信号４１がＨＩの期間では、ゲーティング許可信号４１がＨＩとなった１サイクル後にゲーティングクロック５１が発生する。ゲーティング制御信号４０のＨＩ／ＬＯＷには関わらずにゲーティングクロック５１がメモリ７０へ供給されるため、ＣＰＵ１０がメモリ７０へアクセスする際には、既にメモリ７０はアクセス可能状態となっているため遅延が発生しない。
【００１９】
この例では、メモリ７０がクロックＯＦＦ状態からＯＮ状態の遷移に伴い、アクセス可能になるまでを１サイクルとしているが、従属回路の種類により遅延がさらに発生する。
【００２０】
本発明の構成により、処理性能が必要とされる期間、例えばＣＰＵでメモリアクセスを頻発し、かつ、そのアクセスは複数のバンクにまたがるメモリアクセスであり、その複数のバンク単位で動的にクロック制御を行なう場合、処理性能が必要とされる期間のみ、動的クロック制御をＯＦＦにすることで処理性能の劣化を防ぐことができる。
【００２１】
また処理性能よりメモリで消費される電力を重視する期間、例えばＣＰＵでメモリアクセスを先行的に行い、ＣＰＵでの処理時間にデータの書き込み・読み込み時間を隠蔽する設計になっている場合には、動的クロック制御を行う事で、メモリで消費する電力を削減することができる。
【００２２】
（実施の形態２）
図２は、本発明の実施の形態２を示すクロックゲーティング有効制御回路３０の構成図である。
【００２３】
図２のクロックゲーティング有効制御回路３０は、設定値回路３１、制御回路３２、タイマー・カウンタ回路３３を備えて構成されている。
【００２４】
かかる構成によれば、まず設定値回路３１にゲーティング許可信号４１がＯＮとなる期間とその周期が設定されている。タイマー・カウンタ回路３３は、所定のクロックでカウント行い、そのカウント数を制御回路３２に通知する。まずゲーティング許可信号４０がＯＮの場合、制御回路３２は、設定値回路３１で設定されているゲーティング許可信号４１がＯＮとなる期間カウントされた事を検出すると、ゲーティング許可信号４１をＯＦＦとし、タイマー・カウンタ回路３３をリセットしカウント数を初期化、タイマー・カウンタ回路３３を再カウント開始させる。ゲーティング許可信号４０がＯＦＦの期間、制御回路３２は設定値回路３１で設定されている周期期間カウントされた事を検出すると、ゲーティング許可信号４１をＯＮとし、タイマー・カウンタ回路３３をリセットしカウント数を初期化、タイマー・カウンタ回路３３を再カウント開始させる。
【００２５】
上記の構成及び動作を行なう事で、定期的に処理性能が必要となる処理に対してのみ動的クロック制御をＯＦＦする事が可能となり、処理性能の劣化を防ぐ事ができる。
【００２６】
また、システムＬＳＩで処理するアプリケーションは多岐に渡るため、すべてのアプリケーションで共通の設定値を用いる事は困難である。そのため、設定値回路３１をレジスタまたはメモリで構成する事により、ＬＳＩで処理しているアプリケーションにより設定値を書き換える事により、そのアプリケーションに適した動的クロック制御を行なうことができる。
【００２７】
さらに、設定する期間と周期は１組とは限らず、複数設定可能とすることができる。これにより、複数の処理を行う場合にも対応が可能となる。図４にその設定値回路３０の構成例を示す。
【００２８】
図４の設定値回路３０は、設定値記憶回路３５と選択回路３６で構成されている。設定値記憶回路３５は、レジスタまたはメモリで構成されており、その値をＣＰＵ１０から書き換え可能とする。また、その設定値は複数の組合せを保持する事ができ、その値を設定値Ａ、Ｂ、Ｃ・・・とすると、ＣＰＵ１０からの指示により、選択回路３６でその設定値Ａ、Ｂ、Ｃ・・・の中から指示された設定値を選択し、制御回路３２へ出力する。
【００２９】
また、有効期間を開始するタイミングの調整が必要となる場合がある。例えば、アプリケーションの開始時に動的クロック制御をＯＦＦとする期間タイミングは、アプリケーションに依存している。そのため設定値回路３１に位相情報を設定しスタートさせることにより、有効期間の開始時期が調整可能となり、アプリケーションに適した動的制御を行なう事ができる。
【００３０】
また、ＬＳＩで処理する複数のアプリケーションがそれぞれ周期性を持たない場合、上記の有効期間と周期で最適な設定することは困難であることが容易に想像できる。その場合、例えば動的クロック制御の有効期間と無効期間の比率の設定値を複数用意し、処理性能と電力を測定することで適した設定値を探ることができる。
【産業上の利用可能性】
【００３１】
本発明にかかる半導体集積回路の動的クロック制御技術は、処理性能の劣化と低消費電力をユーザが調整可能とし、システムＬＳＩ全般に適用できる。
【図面の簡単な説明】
【００３２】
【図１】クロック制御を行なう本発明の半導体集積回路の構成図
【図２】クロックゲーティング有効制御回路の構成図
【図３】クロック制御を行なうタイミングチャート
【図４】設定値回路の構成図
【図５】クロック制御を行なう従来の半導体集積回路の構成図
【符号の説明】
【００３３】
１０    主回路
１１    従属回路制御信号
７０    従属回路
２０    クロックゲーティング制御回路
３０    クロックゲーティング有効制御回路
４０    ゲーティング制御信号
４１    ゲーティング許可信号
５０    クロック信号
５１    ゲーティングクロック信号
６０    クロック発生回路
３１    設定値回路
３２    制御回路
３３    タイマー・カウンタ回路
３５    設定値記憶回路
３６    選択回路
【図１】
2007316805.tif 000003
【図２】
2007316805.tif 000004
【図３】
2007316805.tif 000005
【図４】
2007316805.tif 000006
【図５】
2007316805.tif 000007