(57)【要約】【課題】追加回路を最小限に抑えた設計で消費電力を効果的に削減する消費電力制御を行う半導体集積回路装置を提供する。【解決手段】バスマスタ３、４は、バスアクセス要求を発行して、かつアクセス許可がない場合は、クロックゲーティング回路６にクロック遮断要求を発行し、バスアービタ２は、バスアクセス許可を発行したとき、該バスアクセス許可の発行先のバスマスタに関するクロック遮断解除要求をクロックゲーティング回路に発行し、クロックゲーティング回路６は、クロック遮断要求を発行したバスマスタへのクロック供給を遮断し、クロック供給が遮断されたバスマスタに関するクロック遮断解除要求が発行されたとき該バスマスタへのクロック供給の遮断を解除する。【選択図】        図２
2010021793.tif 000002
【特許請求の範囲】
【請求項１】
バスに接続された複数のバスマスタと、
複数のバスマスタからのバスアクセス要求を調停して複数のバスマスタに順次バスアクセス許可を発行するバスアービタと、
バスマスタへのクロック供給をバスマスタ単位で遮断するクロックゲーティング回路と、
を備え、
前記夫々のバスマスタは、バスアクセス要求を発行して、かつアクセス許可がない場合は前記クロックゲーティング回路にクロック遮断要求を発行し、
前記バスアービタは、バスアクセス許可を発行したとき、該バスアクセス許可の発行先のバスマスタに関するクロック遮断解除要求を前記クロックゲーティング回路に発行し、
前記クロックゲーティング回路は、クロック遮断要求を発行したバスマスタへのクロック供給を遮断し、前記クロック供給が遮断されたバスマスタに関するクロック遮断解除要求が前記バスアービタから発行されたとき該バスマスタへのクロック供給の遮断を解除する、
ことを特徴とする半導体集積回路装置。
【請求項２】
前記バスアービタは、前記バスアクセス許可が発行されたバスマスタが他のバスマスタをアクセス対象として前記バスにアクセスしたとき、前記アクセス対象のバスマスタにアクセス通知を発行し、アクセス通知を発行したかまたはバスアクセス許可を発行したとき、発行先のバスマスタに関するクロック遮断解除要求を前記クロックゲーティング回路に発行し、
前記バスマスタは、自身に対するアクセス通知が発行されていない状態かつバスアクセス要求を発行している状態となったとき、前記クロックゲーティング回路にクロック遮断要求を発行し、
前記クロックゲーティング回路は、クロック遮断要求を発行したバスマスタへのクロック供給を遮断し、前記クロック供給を遮断したバスマスタに関するクロック遮断解除要求が前記バスアービタから発行されたとき該バスマスタへのクロック供給の遮断を解除する、
ことを特徴とする請求項１に記載の半導体集積回路装置。
【請求項３】
バスに接続された複数のバスマスタおよび１つ以上のバススレーブと、
複数のバスマスタからのバスアクセス要求を調停して複数のバスマスタに順次バスアクセス許可を発行するとともに、前記バスアクセス許可が発行されたバスマスタが他のバスマスタまたはバススレーブをアクセス対象として前記バスにアクセスしたとき、前記アクセス対象のバスマスタまたはバススレーブにアクセス通知を前記アクセス対象のバスマスタまたはバススレーブに発行するバスアービタと、バスマスタおよびバススレーブへの電源供給をバスマスタ単位およびバススレーブ単位で遮断する電源遮断回路と、
を備え、
前記バスアービタは、最後にバスアクセス要求を発行した時刻またはアクセス通知が発行された時刻のうち最新の時刻からの経過時間をバスマスタ毎に計測し、該経過時間が所定の時間を超過したバスマスタに第１の電源遮断要求を発行し、最後にアクセス通知が発行されてからの経過時間をバススレーブ毎に計測し、該経過時間が所定の時間を超過したバススレーブに関する第２の電源遮断要求を前記電源遮断回路に発行し、
前記第１の電源遮断要求が発行されたバスマスタは、自身がバスアクセス要求を発行する準備動作を行っていない場合、前記電源遮断回路に第３の電源遮断要求を発行し、
前記電源遮断回路は、前記バスアービタが前記第２の電源遮断要求を発行したとき、該第２の電源遮断要求に対応するバススレーブへの電源供給を遮断し、バスマスタが前記第３の電源遮断要求を発行したとき、該バスマスタへの電源供給を遮断する、
ことを特徴とする半導体集積回路装置。
【請求項４】
バスに接続された複数のバスマスタと、複数のバスマスタからのバスアクセス要求を調停して複数のバスマスタに順次バスアクセス許可を発行するバスアービタと、バスマスタへのクロック供給をバスマスタ単位で遮断するクロックゲーティング回路と、を備える半導体集積回路装置の消費電力制御方法であって、
バスマスタがバスアクセス要求を発行したとき前記クロックゲーティング回路にクロック遮断要求を発行する第１ステップと、
前記クロックゲーティング回路が、前記クロック遮断要求を発行したバスマスタへのクロック供給を遮断する第２ステップと、
前記バスアービタが、前記バスマスタにバスアクセス許可を発行したとき、前記バスマスタに関するクロック遮断解除要求を前記クロックゲーティング回路に発行する第３ステップと、
前記クロックゲーティング回路が、前記クロック遮断解除要求が前記バスアービタにより発行されたとき、前記バスマスタへのクロック供給の遮断を解除する第４ステップと、
を含むことを特徴とする半導体集積回路装置の消費電力制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、消費電力制御を行うバスシステムをもつ半導体集積回路装置および消費電力制御方法に関する。
【背景技術】
【０００２】
システムＬＳＩなどの半導体集積回路装置における消費電力削減のために一般的に適用される手法に、クロックゲーティングと、電源遮断とがある。
【０００３】
クロックゲーティングは、フリップフロップへ供給するクロックを適宜遮断して消費電力を抑える手法であるが、従来は、バス回路とそのペリフェラル回路（バスマスタおよびバススレーブ）を備える半導体集積回路装置にクロックゲーティングを適用する場合、クロック供給制御信号もしくは信号伝播のゲーティング信号の生成は、ペリフェラル回路内部(例えば特許文献１参照)、もしくは追加された専用回路が行っていた。
【０００４】
しかしながら、ペリフェラル回路内部でクロック供給制御信号を生成する方法によれば、ペリフェラル回路の内部回路へのクロック供給遮断の判断をしているため、１つのペリフェラル回路全体が動作する必要のないときに該ペリフェラル回路へのクロック供給を停止することができないという問題がある。そのため、ペリフェラル回路を単位としたクロックゲーティングを行える効果の高いクロック供給遮断を行う技術の開発が求められていた。
【０００５】
また、専用回路を追加する手法によれば、専用回路を必要とするため設計期間がのび、制御回路が大幅に増加するため、専用回路の電力消費が加わり、結果的に半導体集積回路装置全体としては電力削減効果が下がってしまうという問題がある。また、回路規模が大きくなるため半導体集積回路装置のコストも増大してしまうという問題がある。そのため、より規模の小さい回路の追加でクロック供給遮断を行う技術の開発が求められていた。
【０００６】
電源遮断をする手法に関しても、従来は電源遮断を制御するために専用回路を必要としていた。そのため、設計期間、回路規模増大によりコストが増大するという問題がある。また、複数のペリフェラル回路にわたる大きな範囲を単位とした電源遮断を行っているため、さらに消費電力を低減できる余地があった。そのため、より規模の小さい回路の追加でペリフェラル回路を単位とした細かな電源遮断制御を行い、より消費電力を低減する技術の開発が求められてきた。
【０００７】
【特許文献１】特開２００７−２５１２６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、追加回路を最小限に抑えた設計で消費電力を効果的に削減する消費電力制御を行う半導体集積回路装置および消費電力制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願発明の一態様によれば、バスに接続された複数のバスマスタと、複数のバスマスタからのバスアクセス要求を調停して複数のバスマスタに順次バスアクセス許可を発行するバスアービタと、バスマスタへのクロック供給をバスマスタ単位で遮断するクロックゲーティング回路と、を備え、前記夫々のバスマスタは、バスアクセス要求を発行して、かつアクセス許可がない場合は前記クロックゲーティング回路にクロック遮断要求を発行し、前記バスアービタは、バスアクセス許可を発行したとき、該バスアクセス許可の発行先のバスマスタに関するクロック遮断解除要求を前記クロックゲーティング回路に発行し、前記クロックゲーティング回路は、クロック遮断要求を発行したバスマスタへのクロック供給を遮断し、前記クロック供給が遮断されたバスマスタに関するクロック遮断解除要求が前記バスアービタから発行されたとき該バスマスタへのクロック供給の遮断を解除する、ことを特徴とする半導体集積回路装置が提供される。
【００１０】
また、本願発明の一態様によれば、バスに接続された複数のバスマスタおよび１つ以上のバススレーブと、複数のバスマスタからのバスアクセス要求を調停して複数のバスマスタに順次バスアクセス許可を発行するとともに、前記バスアクセス許可が発行されたバスマスタが他のバスマスタまたはバススレーブをアクセス対象として前記バスにアクセスしたとき、前記アクセス対象のバスマスタまたはバススレーブにアクセス通知を前記アクセス対象のバスマスタまたはバススレーブに発行するバスアービタと、バスマスタおよびバススレーブへの電源供給をバスマスタ単位およびバススレーブ単位で遮断する電源遮断回路と、を備え、前記バスアービタは、最後にバスアクセス要求を発行した時刻またはアクセス通知が発行された時刻のうち最新の時刻からの経過時間をバスマスタ毎に計測し、該経過時間が所定の時間を超過したバスマスタに第１の電源遮断要求を発行し、最後にアクセス通知が発行されてからの経過時間をバススレーブ毎に計測し、該経過時間が所定の時間を超過したバススレーブに関する第２の電源遮断要求を前記電源遮断回路に発行し、前記第１の電源遮断要求が発行されたバスマスタは、自身がバスアクセス要求を発行する準備動作を行っていない場合、前記電源遮断回路に第３の電源遮断要求を発行し、前記電源遮断回路は、前記バスアービタが前記第２の電源遮断要求を発行したとき、該第２の電源遮断要求に対応するバススレーブへの電源供給を遮断し、バスマスタが前記第３の電源遮断要求を発行したとき、該バスマスタへの電源供給を遮断する、ことを特徴とする半導体集積回路装置が提供される。
【００１１】
また、本願発明の一態様によれば、バスに接続された複数のバスマスタと、複数のバスマスタからのバスアクセス要求を調停して複数のバスマスタに順次バスアクセス許可を発行するバスアービタと、バスマスタへのクロック供給をバスマスタ単位で遮断するクロックゲーティング回路と、を備える半導体集積回路装置の消費電力制御方法であって、バスマスタがバスアクセス要求を発行したとき前記クロックゲーティング回路にクロック遮断要求を発行する第１ステップと、前記クロックゲーティング回路が、前記クロック遮断要求を発行したバスマスタへのクロック供給を遮断する第２ステップと、前記バスアービタが、前記バスマスタにバスアクセス許可を発行したとき、前記バスマスタに関するクロック遮断解除要求を前記クロックゲーティング回路に発行する第３ステップと、前記クロックゲーティング回路が、前記クロック遮断解除要求が前記バスアービタにより発行されたとき、前記バスマスタへのクロック供給の遮断を解除する第４ステップと、を含むことを特徴とする半導体集積回路装置の消費電力制御方法が提供される。
【発明の効果】
【００１２】
本発明によれば、追加回路を最小限に抑えた設計で消費電力を効果的に削減する消費電力制御を行う半導体集積回路装置および消費電力制御方法を提供することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１３】
以下に添付図面を参照して、この発明にかかる半導体集積回路の最良な実施の形態を詳細に説明する。理解を助けるため、一般的な半導体集積回路の構成を示して、１つのバスを複数のバスペリフェラルで使用するためのアービトレーションの論理を説明する。
【００１４】
図１は、一般的な半導体集積回路装置の構成を示すブロック図である。図１において、半導体集積回路装置１０００は、バス１と、バスアービタ２と、バスマスタ３、バスマスタ４、バススレーブ５と、を有する。バスアービタ２、および各バスペリフェラル（バスマスタ３、バスマスタ４、ならびにバススレーブ５）は、バス１に接続されている。
【００１５】
ここで、バスマスタ３およびバスマスタ４とは、バス１に対するバスアクセス要求をバスアービタ２に発行し、バスアービタ２からバスアクセス許可が発行されたときバス１を介してアクセス対象のバスペリフェラルにアクセスすることができる回路であって、例えば各種暗号化ブロックや、ＰＣＩバスインターフェース回路や、ＭＡＣ回路や、ＣＰＵなどが挙げられる。また、バススレーブ５は、バス１を介してバスマスタ３またはバスマスタ４からアクセスを受ける回路であって、例えばメモリコントローラ回路などが挙げられる。ただし、上述したバスマスタの例のうちＣＰＵを除く例、つまり各種暗号化ブロックや、ＰＣＩバスインターフェース回路や、ＭＡＣ回路は、バス１にアクセスすることができるとともに、他のバスマスタからのアクセスを受け付けることもできる。つまり、バススレーブとしても動作することができる。以下の説明においては、バスマスタ３およびバスマスタ４は、このようにバススレーブとしても動作できるバスマスタであるとする。
【００１６】
バスペリフェラルは、別のバスペリフェラルに要求や許可を発行するとき、相手と自身とを接続する信号をアサートし、発行を終了するとき、この信号をデアサートする。
【００１７】
バスマスタ３およびバスマスタ４とバスアービタ２との間は、バスアクセス要求を行う信号（REQ信号）であるREQ１１およびREQ１４で夫々接続されている。バスマスタ３およびバスマスタ４は、バス１へアクセスをしたい場合は、夫々REQ１１およびREQ１４をアサートする。
【００１８】
バスアービタ２とバスマスタ３およびバスマスタ４との間は、バスアクセス許可を行う信号（GNT信号）であるGNT１２およびGNT１５で夫々接続されている。バスアービタ２は、バスマスタにバス１へのアクセスを許可する際に、該バスマスタに接続されているGNT信号をアサートする。バスアービタ２は、複数のバスアクセス要求が発行されている、つまりREQ１１およびREQ１４がアサートされている場合、固定優先方式やラウンドロビン方式など所定のアービトレーション方式を用いてバス１へのアクセスの許可を与えるバスマスタをひとつ決定し、該決定したバスマスタに接続されているGNT信号をアサートする。REQ信号をアサートしていたバスマスタは、次のバスアクセス要求を行うときに備え、例えばGNT信号がアサートされたときREQ信号をデアサートする。
【００１９】
GNT信号をアサートされたバスマスタはバス１へのアクセスを行う。該アクセスが終了すると、バスアービタ２は、アクセスが終了したバスマスタへのGNT信号をデアサートするとともに、前記する所定のアービトレーション方式に従ってREQ信号をアサートしている他のバスマスタからバスアクセス許可を与えるバスマスタを選択し、該バスマスタに対するGNT信号をアサートする。
【００２０】
バスアービタ２とバスマスタ３、バスマスタ４、およびバススレーブ５との間は、アドレス通知を行うアドレスデコード信号（ADDRDEC信号）であるADDRDEC１３、ADDRDEC１６、およびADDRDEC１７で夫々接続されている。バスアービタ２は、バスマスタ３やバスマスタ４がバス１へアクセスした際のアドレスをデコードしてアクセス先のバスペリフェラルを検出し、該検出したペリフェラルのアドレスデコード信号をアサートすることによって、アクセス対象のバスペリフェラルにアクセス通知を行う。ADDRDEC信号がアサートされたバスペリフェラルは、該信号がアサートされた時点におけるバス１に対してアクセス権を有するバスマスタからのアクセスを受けることとなる。バスマスタからのバスペリフェラルへのアクセスが終了すると、バスアービタ２は該当するアドレスデコード信号をデアサートする。
【００２１】
以上のような構成と論理により、一般的な半導体集積回路装置においては、１つのバス１を複数のバスペリフェラルで使用することが可能なようにアービトレーションが行われる。本実施の形態では、このアービトレーションの論理を利用し、少ない追加回路でバスペリフェラル毎のクロックゲーティングまたは電源遮断を行うことが主たる特徴となっている。
【００２２】
（第１の実施の形態）
図２は、本発明の第１の実施の形態にかかる半導体集積回路装置の構成を示すブロック図である。
【００２３】
図２において、本発明の第１の実施の形態にかかる半導体集積回路装置１００１は、図１に示す一般的な半導体集積回路装置１０００と同様の構成に加え、クロック生成系（図示せず）から各ペリフェラルに供給されるクロックを、ペリフェラル単位で遮断するクロックゲーティング制御を行うクロックゲーティング回路６を備える。
【００２４】
バスマスタ３およびバスマスタ４とクロックゲーティング回路６との間は、クロック遮断を要求する信号（CLKGATEEN信号）であるCLKGATEEN２１およびCLKGATEEN２３で夫々接続されている。バスマスタ３およびバスマスタ４は、クロック供給の遮断（クロックゲーティング）を要求する場合に、CLKGATEEN２１およびCLKGATEEN２３を夫々アサートする。
【００２５】
バスアービタ２とクロックゲーティング回路６との間は、クロック遮断解除を要求する信号（CLKGATEOFF信号）であるCLKGATEOFF２２およびCLKGATEOFF２４で接続されている。バスアービタ２は、バスマスタ３のクロックゲーティングを解除する場合はCLKGATEOFF２２をアサートし、バスマスタ４のクロックゲーティングを解除する場合はCLKGATEOFF２４をアサートする。
【００２６】
クロックゲーティング回路６は、CLKGATEEN信号がバスマスタ３またはバスマスタ４によってアサートされたとき、CLKGATEEN信号をアサートしたバスマスタに供給されるクロックを遮断し、CLKGATEOFF信号がバスアービタ２によってアサートされたとき、CLKGATEOFF信号がクロックゲーティング解除を要求するバスマスタに対するクロック遮断を停止する。
【００２７】
以上のように構成される第１の実施の形態の半導体集積回路装置１００１において、CLKGATEEN信号およびCLKGATEOFF信号をアサート／デアサートするために追加される回路と、これらの信号に基づいてクロックゲーティングを行うか否かを判断するために追加される回路と、を説明する。図３は、該追加される回路を説明する図である。ここでは、煩雑さを避けるため、バスマスタ３に関するクロックゲーティングに係る追加回路についてのみ説明する。
【００２８】
図３に示すように、バスマスタ３には、REQ１１、GNT１２、およびADDRDEC１３の状態と、現在バスマスタ３が動作（例えば直前のアクセスに対する後処理など）中か否かを示す情報（EN２５）と、に基づき、CLKGATEEN２１の値を変化させるクロック遮断要求信号生成回路３００が追加されている。クロック遮断要求信号生成回路３００がEN２５を取得する方法はどのようなものであってもかまわないが、例えばクロック遮断要求信号生成回路３００がバスマスタ３の内部の所定のレジスタを監視することによってバスマスタ３が動作中か否かを判定するようにしてよい。
【００２９】
クロック遮断要求信号生成回路３００は、REQ１１がアサートされ、かつGNT１２およびADDRDEC１３が共にデアサートされ、かつバスマスタ３が動作中ではない時、CLKGATEEN２１をアサートした状態とし、REQ１１がデアサートされているか、GNT１２およびADDRDEC１３のうち少なくとも１つがアサートされているか、またはバスマスタ３が動作中であるか、のうち何れか１つでも満たすとき、CLKGATEEN２１をデアサートした状態とする。
【００３０】
バスアービタ２には、GNT１２およびADDRDEC１３の状態に基づき、CLKGATEOFF２２の値を変化させるクロックゲーティング解除信号生成回路２００が追加されている。クロックゲーティング解除信号生成回路２００は、GNT１２またはADDRDEC１３のうち少なくとも１つがアサートされている時、CLKGATEOFF２２をアサートした状態とし、GNT１２およびADDRDEC１３が共にデアサートされている時、CLKGATEOFF２２をデアサートした状態とする。
【００３１】
クロックゲーティング回路６には、CLKGATEEN２１およびCLKGATEOFF２２の値に基づき、バスマスタ３に対してクロックゲーティングを有効にするか無効にするかを判断するクロック供給・停止判断回路６００が追加されている。クロック供給・停止判断回路６００は、CLKGATEEN２１がアサートされ、かつCLKGATEOFF２２がデアサートされた状態のとき、バスマスタ３に対するクロックゲーティング、すなわちクロック供給を停止する信号であるクロック停止信号２６をアサートした状態とし、CLKGATEEN２１がデアサートされている状態またはCLKGATEOFF２２がアサートされている状態のうち少なくとも１つを満たす状態のとき、クロック停止信号２６をデアサートした状態とする。
【００３２】
クロックゲーティング回路６は、クロック停止信号２６がアサートされている状態のとき、バスマスタ３に対するクロックゲーティングを行った状態にし、クロック停止信号２６がデアサートされている状態のとき、バスマスタ３に対するクロックゲーティングを停止した状態にする。
【００３３】
以上のように、バスアービタ２、バスマスタ３、およびクロックゲーティング回路６には、夫々簡単な回路が追加されている。次に、このように追加されている簡単な回路を使用して半導体集積回路装置がクロックゲーティングを行う動作を、例を示して説明する。
【００３４】
バスマスタ３およびバスマスタ４がREQ信号をアサートし、バスアービタ２がGNT15をアサートしたとき、バスマスタ３のバスアクセス許可は下りないので、REQ１１がアサートされているが、GNT１２はデアサートされた状態となる。この状態になったとき、バスマスタ３は動作を行っていない場合、クロック遮断要求信号生成回路３００は、CLKGATEEN１１をアサートする。
【００３５】
ここで、バスマスタ３がバスアクセス許可が下りているバスマスタ４のアクセス対象となっていない場合、ADDRDEC１３はデアサートされた状態のまま動かない。このとき、クロックゲーティング解除信号生成回路２００は、GNT１２とADDRDEC１３とがデアサートされている状態となっているので、CLKGATEOFF２２をデアサートしている状態となっている。
【００３６】
クロック供給・停止判断回路６００は、CLKGATEOFF２２がデアサートされた状態でCLKGATEEN２１がアサートされたので、クロック停止信号２６をデアサートされていた状態からアサートし、クロックゲーティング回路６は、バスマスタ３へのクロックゲーティングを開始する。
【００３７】
バスマスタ３へのクロックゲーティングが行われている間、クロック遮断要求信号生成回路３００を含むバスアービタ２の回路の動作は全て停止する。ただし、バスマスタ３に対するクロック供給が停止されているだけであるので、クロックゲーティングが有効な間はCLKGATEEN２１の状態はアサートされた状態のまま変化しない。
【００３８】
バスマスタ４のバス１へのアクセスが終了し、バスアービタ２がGNT１５をデアサートするとともにGNT１２をアサートすると、クロックゲーティング解除信号生成回路２００は、CLKGATEOFF２２をアサートする。すると、クロック供給・停止判断回路６００は、クロック停止信号２６をデアサートし、クロックゲーティング回路６は、バスマスタ３へのクロックゲーティングを無効にする。そして、バスマスタ３は、REQ１１をアサートした動作に対応するバス１へのアクセスを開始する。
【００３９】
また、バスマスタ３へのクロックゲーティングが有効となっている最中にバスマスタ４のアクセス対象となり、ADDRDEC１３がアサートされると、クロックゲーティング解除信号生成回路２００はCLKGATEOFF２２をアサートし、クロック供給・停止判断回路６００は、クロック停止信号２６をデアサートし、クロックゲーティング回路６は、バスマスタ３へのクロックゲーティングを無効にする。
【００４０】
このように、簡単な回路の追加により、半導体集積回路装置１００１は、バスマスタ３の効果的なクロックゲーティングを行うことができるようになる。
【００４１】
なお、以上の説明においては、バスマスタ３のクロックゲーティングに係る追加回路について説明したが、バスマスタ４に関するクロックゲーティングを実行するためには、バスマスタ４にクロック遮断要求信号生成回路３００と同様の回路を追加し、クロックゲーティング解除信号生成回路２００およびクロック供給・停止判断回路６００がバスマスタ３に対する処理と同様の処理をバスマスタ４に対しても行うように構成すればよい。
【００４２】
このように、第１の実施の形態によれば、アービトレーションの論理を利用し、バスマスタは、自身がアクセス対象となっていない状態かつバスアクセス要求を発行しているがバスアクセス許可が発行されていない状態に移行したとき、クロックゲーティング回路に自身に対するクロックゲーティングを開始させ、バスアービタは、前記するバスマスタにアクセス許可を発行したときまたは該バスマスタがアクセス対象となったとき、クロックゲーティング回路に該バスマスタに対するクロックゲーティングを解除させるように構成したので、追加回路を最小限に抑えた設計で消費電力を効果的に削減する消費電力制御を行うことができる。
【００４３】
ところで、第１の実施の形態においては、バスマスタ３およびバスマスタ４はバススレーブとしても動作できるバスマスタであるとして説明した。バスマスタが、例えばＣＰＵのようにバススレーブとしては動作しないタイプである場合、該バスマスタは、REQ信号をアサートしたときCLKGATEEN信号をアサートし、バスアービタ２は、該バスマスタに対するGNT信号をアサートしたとき該バスマスタに対するCLKGATEOFF信号をアサートするように構成するとよい。また、この場合、CLKGATEOFF信号のアサート／デアサートの状態は、GNT信号のアサート／デアサートの状態と常に等しいので、さらに簡単に、クロックゲーティング解除信号とGNT信号とを接続し、クロックゲーティング回路６は、GNT信号のアサート／デアサートをクロックゲーティング解除信号のアサート／デアサートと解釈するようにしてもよい。このように、バスマスタは、バスアクセス要求を発行しているがバスアクセス許可が発行されていない状態に移行したとき、クロックゲーティング回路に自身に対するクロックゲーティングを開始させ、バスアービタは、該バスマスタにバスアクセス許可を発行したとき、クロックゲーティング回路にクロックゲーティングを解除させることができ、バススレーブとしては動作しないバスマスタを有する半導体集積回路装置においても、追加回路を最小限に抑えた設計で消費電力を効果的に削減する消費電力制御を行うことができるようになる。
【００４４】
（第２の実施の形態）
図４は、本発明の第２の実施の形態にかかる半導体集積回路装置の構成を追加されている機能回路とともに示すブロック図である。
【００４５】
図４において、第２の実施の形態にかかる半導体集積回路装置１００２は、図２の半導体集積回路装置１００１の構成と同様に、クロックゲーティング回路６を有する構成となっている。なお、第２の実施の形態は、バスアービタ２のクロックゲーティングに関するので、図４ではバスマスタ３およびバスマスタ４に関する信号を省略している。
【００４６】
バスアービタ２とバススレーブ５との間は、ADDRDEC１７で接続されている。バスアービタ２は、バス１のアドレス信号をデコードすることで、バススレーブ５がアクセスを受けると判断するとADDRDEC３１をアサートする。ADDRDEC１７は、さらに、クロックゲーティング回路６へ接続されており、クロックゲーティング回路６は、ADDRDEC１７のアサート／デアサートをバススレーブ５のクロックゲーティング解除信号CLKGATEOFFのアサート／デアサートとして解釈する。
【００４７】
また、バススレーブ５とクロックゲーティング回路６との間はクロックゲーティング要求信号であるCLKGATEEN３１で接続されている。バススレーブ５には、クロック遮断要求信号生成回路５００が追加されており、クロック遮断要求信号生成回路５００は、バススレーブ５が動作処理（例えば直前のアクセスに対する後処理など）を行っておらず、かつADDRDEC３１がアサートされていない場合に、CLKGATEEN３１をアサートした状態とし、バススレーブ５が動作処理を行っている状態か、またはADDRDEC１７がアサートされている状態か、のうち少なくとも１つの状態の場合、CLKGATEEN３１をデアサートした状態とする。
【００４８】
クロックゲーティング回路６には、CLKGATEOFFおよびCLKGATEEN３１の状態に基づいてバススレーブ５に対してクロックゲーティングを行うか否かを判断するクロック供給・停止判断回路６０１が追加されている。クロック供給・停止判断回路６０１は、CLKGATEOFFがデアサートされ、かつCLKGATEEN３１がアサートされている状態のとき、バススレーブ５に対してアクセスがなく、かつバススレーブ５は動作処理を行っていないので、バススレーブ５に対するクロックゲーティングを有効にする信号を出力し、クロックゲーティング回路６は、バススレーブ５に対するクロックゲーティングを行う。バススレーブ５のクロックゲーティングが行われている間、クロック遮断要求信号生成回路５００を含めたバススレーブ５の回路は動作せず、CLKGATEEN３１の状態もアサートのまま変化しない。
【００４９】
クロックゲーティングが有効になっているときにバススレーブ５に対してアクセスがあると、バスアービタ２によりADDRDEC１７がアサートされる。ADDRDEC１７がアサートされると、クロック供給・停止判断回路６０１は、CLKGATEOFFがアサートされたと解釈する。CLKGATEOFFがアサートされた状態となるので、クロック供給・停止判断回路６０１は、バススレーブ５に対するクロックゲーティングを無効にする信号を出力し、クロックゲーティング回路６はバススレーブ５に対するクロックゲーティングを無効にする。
【００５０】
このように、第２の実施の形態によれば、アービトレーションの論理を利用し、バススレーブは、自身がアクセス対象となっておらず、かつ動作を行っていない状態に移行したとき、クロックゲーティング回路に自身に対するクロックゲーティングを開始させ、バスアービタは、前記するバススレーブがアクセス対象となったときクロックゲーティング回路に該バススレーブに対するクロックゲーティングを解除させるように構成したので、追加回路を最小限に抑えた設計で消費電力を効果的に削減する消費電力制御を行うことができる。
【００５１】
（第３の実施の形態）
図５は、本発明の第３の実施の形態にかかる半導体集積回路装置の構成を追加されている機能回路とともに示すブロック図である。
【００５２】
図５において、第３の実施の形態の半導体集積回路装置１００３は、図１の半導体集積回路装置１０００の構成に加えて、各ペリフェラルに供給される電源をペリフェラル単位で遮断する電源制御を行う電源遮断回路７を有する。
【００５３】
バスアービタ２とバスマスタ３およびバスマスタ４との間は、第１の電源遮断要求信号であるSLEEP４１およびSLEEP４３で夫々接続されている。バスアービタ２には、さらに計時回路２０１が追加されている。計時回路２０１は、REQ信号を最後にアサートした時刻か、またはADDRDEC信号が最後にアサートされた時刻のうち、新しい時刻からの経過時間をバスマスタ毎に計測し、該経過時間が所定の期間を超過したバスマスタに対して、第１の電源遮断要求信号をアサートする。
【００５４】
バスマスタ３およびバスマスタ４と電源遮断回路７との間は、第３の電源遮断要求信号であるSLEEPEN４２およびSLEEPEN４４で夫々接続されている。バスマスタ３には電源遮断信号生成回路３０１が追加されており、バスマスタ４には電源遮断信号生成回路４０１が追加されている。電源遮断信号生成回路３０１は、SLEEP４１がアサートされ、かつ自身が動作（例えばREQ１１信号をアサートするための準備処理）を行っていない状態に移行したとき、SLEEPEN４２をアサートする。電源遮断信号生成回路４０１も同様に、SLEEP４３がアサートされ、かつ自身が動作を行っていない状態に移行したとき、SLEEPEN４４をアサートする。
【００５５】
電源遮断回路７は、SLEEPEN４２がアサートされるとバスマスタ３への電源供給を遮断し、SLEEPEN４４がアサートされるとバスマスタ４への電源供給を遮断する。
【００５６】
バスアービタ２と電源遮断回路７との間は、第２の電源遮断要求信号であるSLEEP４５で接続されている。バスアービタ２が備える計時回路２０１は、バススレーブ５に対するADDRDEC信号が最後にアサートされた時刻からの経過時間を計測し、経過時間が予め設定されている所定の時間を超過したとき、SLEEP４５をアサートする。電源遮断回路７は、SLEEP４５がアサートされると、バススレーブ５への電源供給を遮断する。
【００５７】
なお、第３の実施の形態の半導体集積回路装置１００３はバススレーブを一つしか備えていない構成であるが、バススレーブを複数備える構成の場合、計時回路２０１は、バススレーブ毎にADDRDEC信号が最後にアサートされた時刻からの経過時間を計測し、経過時間が予め設定されている所定の時間を超過したとき、該当するバススレーブへの電源遮断要求信号をアサートするようにする。
【００５８】
このように、第３の実施の形態によれば、電源遮断制御がハードウェアにより自動的に実行される。各バスペリフェラルに対する電源供給再開は、ソフトウェアによる制御で行うようにする。例えば、ソフトウェアから電源遮断回路７に所定のバスペリフェラルの電源遮断を停止する信号を送信するようにし、電源遮断回路７は、この信号をトリガとして該当するバスペリフェラルに対する電源遮断を解除するようにするとよい。
【００５９】
なお、計時回路２０１が第１の電源遮断要求をアサートするために経過時間と比較する所定の時間と、第３の電源遮断要求をアサートするために経過時間と比較する所定の時間とは、異なる値が設定されるようにしてもかまわない。さらに、第１および第３の電源遮断要求をアサートするために使用される所定の時間は、バスペリフェラル毎に異なる値が設定されるようにしてもかまわない。
【００６０】
このように、第３の実施の形態によれば、アービトレーションの論理を利用することによってバスペリフェラル単位の電源制御を行うように構成したので、追加回路を最小限に抑えた設計で消費電力を効果的に削減する消費電力制御を行うことができる。
【図面の簡単な説明】
【００６１】
【図１】一般的な半導体集積回路装置のブロック構成を示す図。
【図２】第１の実施形態に従った半導体集積回路装置のブロック構成を示す図。
【図３】追加回路を説明する図。
【図４】第２の実施形態に従った半導体集積回路装置のブロック構成を追加される機能回路とともに示す図。
【図５】第３の実施形態に従った半導体集積回路装置のブロック構成を追加される機能回路とともに示す図。
【符号の説明】
【００６２】
１  バス、２  バスアービタ、３  バスマスタ、４  バスマスタ、５  バススレーブ、６  クロックゲーティング回路、７  電源遮断回路、２００  クロックゲーティング解除信号生成回路、２０１  計時回路、３００  クロック遮断要求信号生成回路、３０１、４０１  電源遮断信号生成回路、５００  クロック遮断要求信号生成回路、６００、６０１  クロック供給・停止判断回路、１０００〜１００３  半導体集積回路装置
【図１】
2010021793.tif 000003
【図２】
2010021793.tif 000004
【図３】
2010021793.tif 000005
【図４】
2010021793.tif 000006
【図５】
2010021793.tif 000007