(57)【特許請求の範囲】
【請求項１】
信号線と、
前記信号線に接続され、マスタとして動作する管理情報生成部と、
それぞれが、前記信号線に接続され、スレーブとして動作する複数の管理情報利用部とを備え、
前記管理情報生成部は、
当該管理情報生成部の状態に対応する、動作速度に関する情報である、前記管理情報利用部の電力消費を管理するための電力管理情報を前記信号線に出力し、
前記管理情報利用部は、それぞれ、
共通の電力管理情報を前記信号線から読み出し、この電力管理情報に基づいて、当該管理情報利用部が消費する電力を制御する
集積回路の電力管理システム。
【請求項２】
請求項１に記載の集積回路の電力管理システムにおいて、
前記管理情報生成部は、
マスタとして動作するマスタブロックであり、
前記マスタブロックは、
データ処理を行うデータ処理回路と、
前記データ処理回路の状態に基づいて、前記電力管理情報を前記信号線に出力する情報出力部とを有する
ことを特徴とする集積回路の電力管理システム。
【請求項３】
請求項２に記載の集積回路の電力管理システムにおいて、
前記データ処理回路は、
当該データ処理回路が入出力するデータを格納し、前記情報出力部に出力するバウンダリスキャンレジスタと、
前記バウンダリスキャンレジスタの動作を制御するレジスタ制御部とを備えるものであり、
前記情報出力部は、
前記レジスタ制御部に所定の制御を行って、前記バウンダリスキャンレジスタにデータの格納及び出力を行わせ、かつ、前記バウンダリスキャンレジスタが出力するデータに基づいて前記データ処理回路の状態を求めるものである
ことを特徴とする集積回路の電力管理システム。
【請求項４】
請求項１に記載の集積回路の電力管理システムにおいて、
前記管理情報生成部は、
マスタとして動作するマスタブロックと、
前記マスタブロックに対応する情報出力部とを有するものであり、
前記情報出力部は、
対応するマスタブロックの状態に基づいて、前記電力管理情報を前記信号線に出力することを特徴とする集積回路の電力管理システム。
【請求項５】
請求項４に記載の集積回路の電力管理システムにおいて、
前記管理情報生成部は、前記マスタブロックを複数有し、
前記複数のマスタブロックのうち少なくとも２つは、単一の情報出力部に共通に対応している
ことを特徴とする集積回路の電力管理システム。
【請求項６】
請求項１に記載の集積回路の電力管理システムにおいて、
前記管理情報利用部は、それぞれ、
スレーブとして動作するスレーブブロックであり、
前記スレーブブロックは、
前記信号線から前記電力管理情報を読み出し、この電力管理情報に基づいて、当該スレーブブロックにおける電力制御を行うための制御信号を生成し、出力する電力管理部と、
前記制御信号に従って、当該スレーブブロックが消費する電力を制御する電力制御部とを有するものであり、
前記各電力管理部は、それぞれ、共通の電力管理情報に基づいて前記制御信号を生成する
ことを特徴とする集積回路の電力管理システム。
【請求項７】
請求項１に記載の集積回路の電力管理システムにおいて、
前記管理情報利用部は、それぞれ、
スレーブとして動作するスレーブブロックと、
前記スレーブブロックに対応する電力管理部とを有するものであり、
前記電力管理部は、
前記信号線から前記電力管理情報を読み出し、この電力管理情報に基づいて、対応するスレーブブロックにおける電力制御を行うための制御信号を生成して出力するものであり、
前記スレーブブロックは、
対応する電力管理部から出力された制御信号に従って、当該スレーブブロックが消費する電力を制御するものであり、
前記各電力管理部は、それぞれ、共通の電力管理情報に基づいて前記制御信号を生成する
ことを特徴とする集積回路の電力管理システム。
【請求項８】
請求項７に記載の集積回路の電力管理システムにおいて、
前記複数のスレーブブロックのうち少なくとも２つは、単一の電力管理部に共通に対応している
ことを特徴とする集積回路の電力管理システム。
【請求項９】
請求項６又は７に記載の集積回路の電力管理システムにおいて、
前記電力管理部は、前記電力管理情報を表す信号を再生して出力するバッファを備えることを特徴とする集積回路の電力管理システム。
【請求項１０】
請求項６又は７に記載の集積回路の電力管理システムにおいて、
前記電力管理部は、前記電力管理情報をラッチし、出力するフリップフロップを備えることを特徴とする集積回路の電力管理システム。
【請求項１１】
請求項６又は７に記載の集積回路の電力管理システムにおいて、
前記電力管理部は、前記電力管理情報を前記制御信号に変換する情報変換部を備えることを特徴とする集積回路の電力管理システム。
【請求項１２】
請求項１１に記載の集積回路の電力管理システムにおいて、
前記情報変換部はメモリである
ことを特徴とする集積回路の電力管理システム。
【請求項１３】
請求項１１に記載の集積回路の電力管理システムにおいて、
前記情報変換部は論理回路で構成されている
ことを特徴とする集積回路の電力管理システム。
【請求項１４】
請求項１３に記載の集積回路の電力管理システムにおいて、
前記論理回路はプログラマブルデバイスである
ことを特徴とする集積回路の電力管理システム。
【請求項１５】
請求項１に記載の集積回路の電力管理システムにおいて、
前記信号線と前記管理情報利用部との間に情報伝達部を更に備え、
前記情報伝達部は、前記信号線から前記電力管理情報を読み出し、前記管理情報利用部に伝達すべき情報を選択して出力する
ことを特徴とする集積回路の電力管理システム。
【請求項１６】
請求項１に記載の集積回路の電力管理システムにおいて、
前記管理情報利用部はグループ化されており、
前記管理情報生成部は、前記電力管理情報とともにグループ指定情報を前記信号線に出力し、
前記グループ指定情報で指定されたグループに属する管理情報利用部は、それぞれ、当該管理情報利用部が消費する電力を制御する
ことを特徴とする集積回路の電力管理システム。
【請求項１７】
請求項１に記載の集積回路の電力管理システムにおいて、
前記管理情報生成部を複数備え、
前記複数の管理情報生成部のうちの１つが、当該管理情報生成部の状態に基づいて、前記電力管理情報を前記信号線に出力する
ことを特徴とする集積回路の電力管理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、集積回路の低電力化設計技術に関する。
【０００２】
【従来の技術】
近年、情報処理システムの低電力化が非常に重要な課題となっている。近年急速に普及している携帯機器では、バッテリーの寿命は製品価値に直結する可能性があるため、エネルギー消費量を抑え、バッテリーの駆動時間を長くすることが重要である。また、据え置き形のシステムにおいても、パッケージや冷却装置のコストを低減するために省エネルギー化の傾向にある。
【０００３】
現在、低消費電力化を実現する電力制御機構としては、使用していない回路ブロックへの電力供給やクロック供給を遮断する機構や、システムのスタンバイ時に、動作時よりも低い電源電圧と低い動作周波数とを回路ブロックが使用するようにする機構などが知られている。
【０００４】
このような電力制御機構を有するブロックを複数組み合わせてシステムを構築する場合、あるブロックへの電力供給を停止する時期、並びに、あるブロックへ供給する電源電圧を変更する時期及びその変更量を決定するために、システムの電力管理が必要となる。
【０００５】
従来の電力管理技術の例として、次のようなものが知られている。
【０００６】
特開平７−４４２８６号公報には、コンピュータ・システムの電力管理方法が開示されている。これは、システムが有する複数の動作状態を利用して、ＣＰＵ（マスタ）に接続された周辺回路（スレーブ）の電力供給制御を実施する方法である。この方法において、各周辺回路は、高い電源電圧を使用する高電力使用動作状態と、低い電源電圧を使用する低電力使用動作状態とのいずれか一方に、システムの状態に応じて切り替わる。システムの状態には、正常動作状態、スタンバイ状態、及びサスペンド状態がある。ＣＰＵがシステムの状態を決定し、周辺回路の動作状態を適切に切り換えることができるので、消費電力を削減することができる。
【０００７】
特開平２０００−１０２０８０号公報には、電気機器の電力管理方法が開示されている。これは、複数の電気機器が共通のネットワークケーブルを介して電力管理のための情報をやり取りすることにより、電力管理を実施する方法である。各電気機器は、自らのオン／オフ状態を示すコードをネットワークケーブルに定期的に出力する。事前に定められたマスタとして動作する電気機器がそのコードを解釈し、その他のスレーブとして動作する電気機器のオンオフ制御を実施する。
【０００８】
このように、いずれの従来技術においても、事前に決定された１つのマスタが、電力制御の対象となるスレーブの電力制御機構に対して指示を行い、スレーブの消費電力を制御することにより、システム全体の電力管理を実施していた。すなわち、マスタが、電力制御の集中管理を行っていた。
【０００９】
【発明が解決しようとする課題】
従来の電力管理方法では、マスタが明示的にスレーブの電力制御機構に対して制御信号を伝達していた。このため、マスタをスレーブの電力制御機構に合わせて設計する必要があり、逆に、スレーブもマスタの制御方法に依存した設計をする必要があった。
【００１０】
近年、集積回路の設計においては、設計期間を短縮化するため、ブロックベースの設計、例えば、ＩＰ（intellectual property）、マクロ、ＶＣ（virtual component）等による設計が主流となっている。しかし、複数の既設計のブロックを組み合わせて集積回路システムを構築する場合、電力管理を実施するためにブロックの再設計が必要であった。このため、設計工数が大きくなるという問題点があった。
【００１１】
例えば、既設計のあるブロックをマスタとしてシステムに組み込みたいとき、スレーブとして動作するブロックにおいてクロックの供給を制御するためには、クロックを制御するための信号をそれぞれのブロックへ伝達するようにマスタとなるブロックを再設計する必要があった。
【００１２】
本発明は、ブロックベースの集積回路の設計を行う場合に、ブロックを再設計することなく、容易に集積回路システム全体の電力管理機構を構築できるような集積回路の電力管理システムを提供することを課題とする。
【００１３】
【課題を解決するための手段】
前記課題を解決するため、請求項１の発明が講じた手段は、集積回路の電力管理システムとして、信号線と、前記信号線に接続され、マスタとして動作する管理情報生成部と、それぞれが、前記信号線に接続され、スレーブとして動作する複数の管理情報利用部とを備え、前記管理情報生成部は、当該管理情報生成部の状態に対応する、動作速度に関する情報である、前記管理情報利用部の電力消費を管理するための電力管理情報を前記信号線に出力し、前記管理情報利用部は、それぞれ、共通の電力管理情報を前記信号線から読み出し、この電力管理情報に基づいて、当該管理情報利用部が消費する電力を制御するものである。
【００１４】
請求項１の発明によると、管理情報生成部は、集積回路システム全体に共通の電力管理情報を信号線に出力する。この信号線に接続された各管理情報利用部は、信号線から電力管理情報を読み取り、その情報を解釈し、自己が消費する電力を制御する。
【００１５】
このように、全ての管理情報利用部に共通の電力管理情報を使用することにより、電力管理の実施を管理情報生成部での集中管理から管理情報利用部での分散管理にすることができる。したがって、管理情報生成部と管理情報利用部とを互いに依存することなく独立して設計することができる。
【００１６】
電力管理情報として複数の情報を定義しておき、このような電力管理情報を出力するように管理情報生成部を設計し、このような電力管理情報を利用して電力管理を実施できるように管理情報利用部を設計しておけば、管理情報利用部の追加や削除をするときに、他の管理情報利用部の再設計をすることなく、また、特別に電力管理のための機構を設ける必要なく、容易に電力管理システムを構築することができる。
【００１７】
また、請求項２の発明では、請求項１に記載の集積回路の電力管理システムにおいて、前記管理情報生成部は、マスタとして動作するマスタブロックであり、前記マスタブロックは、データ処理を行うデータ処理回路と、前記データ処理回路の状態に基づいて、前記電力管理情報を前記信号線に出力する情報出力部とを有することを特徴とする。
【００１８】
請求項２の発明によると、マスタブロックのデータ処理回路の状態に応じて、集積回路システム全体の電力管理を行うことができる。
【００１９】
また、請求項３の発明では、請求項２に記載の集積回路の電力管理システムにおいて、前記データ処理回路は、当該データ処理回路が入出力するデータを格納し、前記情報出力部に出力するバウンダリスキャンレジスタと、前記バウンダリスキャンレジスタの動作を制御するレジスタ制御部とを備えるものであり、前記情報出力部は、前記レジスタ制御部に所定の制御を行って、前記バウンダリスキャンレジスタにデータの格納及び出力を行わせ、かつ、前記バウンダリスキャンレジスタが出力するデータに基づいて前記データ処理回路の状態を求めるものである。
【００２０】
請求項３の発明によると、異なる種類のデータ処理回路に対してであっても、同様にしてその内部の状態を求めることができる。
【００２１】
また、請求項４の発明では、請求項１に記載の集積回路の電力管理システムにおいて、前記管理情報生成部は、マスタとして動作するマスタブロックと、前記マスタブロックに対応する情報出力部とを有するものであり、前記情報出力部は、対応するマスタブロックの状態に基づいて、前記電力管理情報を前記信号線に出力することを特徴とする。
【００２２】
請求項４の発明によると、マスタブロックの状態に応じて、集積回路システム全体の電力管理を行うことができる。情報出力部をマスタブロックとは独立して備えるので、情報出力部を有していないブロックを本発明の電力管理システムのマスタブロックとして用いることができる。また、電力管理情報の定義を変更した場合に、マスタブロックを再設計する必要がなく、情報出力部を再設計するのみでよい。
【００２３】
また、請求項５の発明では、請求項４に記載の集積回路の電力管理システムにおいて、前記管理情報生成部は、前記マスタブロックを複数有し、前記複数のマスタブロックのうち少なくとも２つは、単一の情報出力部に共通に対応していることを特徴とする。
【００２４】
請求項５の発明によると、複数のマスタブロックの状態に基づいた電力管理を行うことができる。また、１つのマスタブロックの状態に基づく場合に比べると、情報出力部の数が変わらないので、電力管理のためのハードウェア量をほとんど増加させることなく、電力管理システムを構築することができる。
【００２５】
また、請求項６の発明では、請求項１に記載の集積回路の電力管理システムにおいて、前記管理情報利用部は、それぞれ、スレーブとして動作するスレーブブロックであり、前記スレーブブロックは、前記信号線から前記電力管理情報を読み出し、この電力管理情報に基づいて、当該スレーブブロックにおける電力制御を行うための制御信号を生成し、出力する電力管理部と、前記制御信号に従って、当該スレーブブロックが消費する電力を制御する電力制御部とを有するものであり、前記各電力管理部は、それぞれ、共通の電力管理情報に基づいて前記制御信号を生成することを特徴とする。
【００２６】
請求項６の発明によると、スレーブブロックにおいて、電力管理部が電力管理情報を読み込んで解釈し、このスレーブブロックの電力を制御することができる。
【００２７】
また、請求項７の発明では、請求項１に記載の集積回路の電力管理システムにおいて、前記管理情報利用部は、それぞれ、スレーブとして動作するスレーブブロックと、前記スレーブブロックに対応する電力管理部とを有するものであり、前記電力管理部は、前記信号線から前記電力管理情報を読み出し、この電力管理情報に基づいて、対応するスレーブブロックにおける電力制御を行うための制御信号を生成して出力するものであり、前記スレーブブロックは、対応する電力管理部から出力された制御信号に従って、当該スレーブブロックが消費する電力を制御するものであり、前記各電力管理部は、それぞれ、共通の電力管理情報に基づいて前記制御信号を生成することを特徴とする。
【００２８】
請求項７の発明によると、電力管理部をスレーブブロックとは独立して備えるので、電力管理部を有していないブロックを本発明の電力管理システムのスレーブブロックとして用いることができる。
【００２９】
また、請求項８の発明では、請求項７に記載の集積回路の電力管理システムにおいて、前記複数のスレーブブロックのうち少なくとも２つは、単一の電力管理部に共通に対応していることを特徴とする。
【００３０】
請求項８の発明によると、スレーブブロックを付加する場合に、電力管理部の数を増加させないようにすることができるので、電力管理のためのハードウェア量がほとんど増加しない。
【００３１】
また、請求項９の発明では、請求項６又は７に記載の集積回路の電力管理システムにおいて、前記電力管理部は、前記電力管理情報を表す信号を再生して出力するバッファを備えることを特徴とする。
【００３２】
請求項９の発明によると、信号線上を伝送されてきた信号の電圧レベルの劣化の影響を抑えることができる。
【００３３】
また、請求項１０の発明では、請求項６又は７に記載の集積回路の電力管理システムにおいて、前記電力管理部は、前記電力管理情報をラッチし、出力するフリップフロップを備えることを特徴とする。
【００３４】
請求項１０の発明によると、信号線に現れるノイズの影響を最小限にし、信号線上を伝送されてきた電力管理情報を安定して読み出すことができる。
【００３５】
また、請求項１１の発明では、請求項６又は７に記載の集積回路の電力管理システムにおいて、前記電力管理部は、前記電力管理情報を前記制御信号に変換する情報変換部を備えることを特徴とする。
【００３６】
請求項１１の発明によると、管理情報生成部は、その状態を符号化して電力管理情報として出力し、電力管理部は、この情報を電力制御に用いられる制御信号に変換することができる。スレーブブロック毎に信号線を設ける必要がないので、信号線の本数を減らすことができ、ハードウェアコストを削減することができる。
【００３７】
また、請求項１２の発明では、請求項１１に記載の集積回路の電力管理システムにおいて、前記情報変換部はメモリであることを特徴とする。
【００３８】
請求項１２の発明によると、情報変換部をメモリにより実現するので、集積回路の製造後においても機能を変更できる。動作を高速化するためには、情報変換部をハードウェアで実現することが望ましい。しかしこの場合、その機能が固定され、製造後に変更することができない。このため、管理情報生成部による電力管理情報の符号化方法を変更した場合、電力管理部を再設計する必要がある。本発明によると、管理情報生成部の符号化方法が変更されても、容易に対応することができる。
【００３９】
また、情報変換部が書き換え可能であるので、集積回路システムの動作中に管理情報生成部の符号化方法を変更させることができ、きめ細かな電力管理を実施することが可能である。
【００４０】
また、請求項１３の発明では、請求項１１に記載の集積回路の電力管理システムにおいて、前記情報変換部は論理回路で構成されていることを特徴とする。
【００４１】
請求項１３の発明によると、情報変換部の動作を高速にすることができる。
【００４２】
また、請求項１４の発明では、請求項１３に記載の集積回路の電力管理システムにおいて、前記論理回路はプログラマブルデバイスであることを特徴とする。
【００４３】
請求項１４の発明によると、情報変換部を、製造後においても機能を変更できるプログラマブルデバイスで実現するので、情報変換部を製造後にも書き換え可能であり、かつ、変換動作を高速に行うことができる。
【００４４】
また、請求項１５の発明では、請求項１に記載の集積回路の電力管理システムにおいて、前記信号線と前記管理情報利用部との間に情報伝達部を更に備え、前記情報伝達部は、前記信号線から前記電力管理情報を読み出し、前記管理情報利用部に伝達すべき情報を選択して出力することを特徴とする。
【００４５】
請求項１５の発明によると、情報伝達部が、この情報伝達部を介して信号線に接続されている管理情報利用部に、必要な情報のみを出力するため、管理情報利用部をグループ化し、グループ毎に異なる電力管理を行うことが、管理情報利用部を再設計することなく可能である。
【００４６】
また、請求項１６の発明では、請求項１に記載の集積回路の電力管理システムにおいて、前記管理情報利用部はグループ化されており、前記管理情報生成部は、前記電力管理情報とともにグループ指定情報を前記信号線に出力し、前記グループ指定情報で指定されたグループに属する管理情報利用部は、それぞれ、当該管理情報利用部が消費する電力を制御することを特徴とする。
【００４７】
請求項１６の発明によると、管理情報生成部が特定の管理情報利用部、又はグループ化された複数の管理情報利用部のみを指定して電力管理を行うことができる。したがって、電力管理を行う範囲を容易に変更することができる。
【００４８】
また、請求項１７の発明では、請求項１に記載の集積回路の電力管理システムにおいて、前記管理情報生成部を複数備え、前記複数の管理情報生成部のうちの１つが、当該管理情報生成部の状態に基づいて、前記電力管理情報を前記信号線に出力することを特徴とする。
【００４９】
請求項１７の発明によると、複数の管理情報生成部のうちの１つが電力管理情報を出力し、電力管理を行うことができる。このため、電力管理情報を出力している管理情報生成部に処理が集中し、余裕がない場合等において、他の管理情報生成部に電力管理情報を出力させることができ、電力管理以外の通常のデータ処理を妨げることなく電力管理を行うことができる。
【００５０】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００５１】
（第１の実施形態）
図１は本発明の第１の実施形態に係る集積回路の電力管理システムのブロック図である。図１の電力管理システムは、信号線としてのバスＢ１，Ｂ２と、ブロック１０，２０，３０，４０とを備えている。本実施形態においては、ブロック１０は管理情報生成部として、ブロック２０，３０及び４０はそれぞれが１つの管理情報利用部として動作する。本明細書においては、バスは、あるブロックと他の１つのブロックのみとを接続する信号線を含むものとする。
【００５２】
ブロック１０は、情報出力部１１と、データ処理回路１４とを備えている。ブロック２０は、電力管理部２２と、電力制御部２３と、データ処理回路２４とを備えている。同様に、ブロック３０は、電力管理部３２と、電力制御部３３と、データ処理回路３４とを備え、ブロック４０は、電力管理部４２と、電力制御部４３と、データ処理回路４４とを備えている。
【００５３】
バスＢ１には、情報出力部１１、並びに電力管理部２２，３２及び４２が接続されている。バスＢ１は電力管理情報を伝達する。バスＢ２には、データ処理回路１４，２４，３４及び４４が接続されている。バスＢ２は、電力管理情報以外の情報であって、各ブロックにおいてデータ処理に必要な情報を伝達する。
【００５４】
データ処理回路１４は、例えばＣＰＵ（central processing unit）、入出力処理回路（Ｉ／Ｏ回路）等であり、データ処理回路２４，３４，４４は、例えば、データ処理、制御処理、メモリ等の機能を持った回路である。
【００５５】
図１の電力管理システムの動作について説明する。この電力管理システムにおいては、ブロック１０が出力する電力管理情報に応じて、ブロック２０，３０，４０のそれぞれが自ブロックの電力管理を行う。すなわち、ブロック１０はマスタとして、ブロック２０，３０，４０はスレーブとして動作する。
【００５６】
データ処理回路１４は、その内部の状態を表す情報を情報出力部１１に出力する。情報出力部１１は、データ処理回路１４が出力する情報に基づいて電力管理情報を生成し、常にバスＢ１へ出力している。電力管理部２２，３２，４２は、定期的にバスＢ１上の電力管理情報を読み出し、その情報に基づいて自ブロックの電力制御をどのように行うかを決定し、それぞれ電力制御部２３，３３，４３に制御信号を出力する。また、電力管理部２２，３２，４２は、制御信号を出力するように指示する命令を、データ処理回路１４，２４，３４又は４４から受け取ったときにも、同様に電力管理情報を読み出し、制御信号を出力する。電力制御部２３，３３，４３は、入力された制御信号に従って、それぞれブロック２０，３０，４０の電力制御を行う。
【００５７】
なお、データ処理回路１４がＣＰＵである場合は、このＣＰＵ上で動作するＯＳ（operating system）又はアプリケーションソフトウェアと、レジスタ（図示せず）とが情報出力部１１として動作する。すなわち、ＯＳ等がＣＰＵの状態を監視し、ＣＰＵの状態に基づいた電力管理情報をレジスタに書き込む。レジスタは、この電力管理情報をバスＢ１に出力する。
【００５８】
図１の電力管理システムは、バスＢ１を使用して電力管理情報を伝達するため、現在のシステムの状態に適した電力管理を個々のブロックにおいて実施することができる。また、マスタブロック（ブロック１０）が出力する電力管理情報は、バスＢ１を用いることにより、スレーブブロック全体(ブロック２０，３０，４０)で共有される。
【００５９】
以下、本実施形態では、スレーブブロックに関する説明はブロック２０についてのみ行うが、ブロック３０及び４０においても同様である。また、スレーブブロックの数は何個であってもよい。
【００６０】
このように、図１の電力管理システムでは、電力制御の権限はスレーブブロックに分散されており、個々のスレーブブロックにおいて電力管理部が電力管理情報に基づいた判断を行い、スレーブブロック自身で自らの電力を管理できる。このためには、電力管理情報を予め定義しておき、マスタブロックはその電力管理情報を出力するように、スレーブブロックはその電力管理情報を利用して電力管理を実施できるようにそれぞれ設計しておけばよい。この他に電力管理のための機構を設ける必要がないので、ブロックを付加削除する場合に、ブロックの再設計をすることなく容易に電力管理機構を構築することができる。
【００６１】
電力管理情報の詳細について説明する。電力管理情報としては、次の２種類のうちのどちらかを採用することができる。
（１）スレーブブロックの電力制御部への制御信号として用いることができる情報
（２）スレーブブロックの電力制御部への制御信号として用いることができない情報
（１）の電力管理情報の例として、特開平７−１０５１７４号公報に開示された、電力制御機構への入力信号がある。この電力制御機構によれば、チップの外部から入力信号として与えられた電力管理情報により、チップ内部に搭載した複数のブロックへ選択的にクロックを供給することができる。
【００６２】
（１）の場合、図１において情報出力部１１は、データ処理回路１４が出力する情報に基づいて各電力制御部を直接制御できるような情報を生成し、電力管理情報としてバスＢ１へ出力する。バスＢ１は各スレーブブロックに対する制御線を束ねたものとする。電力管理部２２は、バスＢ１から読み出した情報を変換することなく、電力制御部２３に出力する。また、電力管理部２２を省略し、電力制御部２３がバスＢ１から電力管理情報を読み出してもよい。
【００６３】
（２）の電力管理情報の例として、集積回路システムの状態（以下では、システム状態と称する）を符号化した情報がある。システム状態としては、例えば高速処理状態、低速処理状態などを定義しておくことができる。（２）の場合は、定義されたシステム状態のうちの１つを表す情報をバス上に流すため、（１）の場合よりもバスのビット幅を削減することができ、バスを低消費電力化し、かつ、低コスト化することができる。
【００６４】
（２）の場合、図１において情報出力部１１は、データ処理回路１４が出力する情報に基づいてシステム状態を決定し、システム状態に応じた電力管理情報をバスＢ１へ出力する。電力管理部２２は、バスＢ１から読み出した情報を予め決められた対応関係に基づいて変換し、制御信号として電力制御部２３に出力する。
【００６５】
なお、システム状態としては、任意の状態を定義可能である。また、システム状態を符号化する際には、ハフマン符号化やワンホット符号化などの一般的な符号化方法を用いてもよく、グレーコード符号化などのバスのスイッチング回数を低減させる符号化方法を用いてもよい。
【００６６】
図２は、図１の電力管理部２２の例を示すブロック図である。ここでは、電力管理情報を直接にスレーブブロック２０の電力制御部２３への制御信号として用いることができる場合、すなわち、電力管理部２２が電力管理情報を変換せずに出力する場合について説明する。
【００６７】
図２（ａ）の電力管理部２２は、バッファ２２Ａを有している。バッファ２２Ａの入力端子はバスＢ１の中の予め定められた１本の信号線に接続されている。バッファ２２ＡにはバスＢ１から常に信号が入力される。バッファ２２Ａは、入力された信号のレベルを再生して電力制御部２３に出力する。したがって、バスＢ１上を伝送されてきた信号の電圧レベルの劣化を抑えることができる。
【００６８】
なお、電力管理部２２は、バッファ２２Ａを複数備え、バスＢ１の複数の信号線の信号を電力制御部２３に出力するようにしてもよい。また、複数のバッファ２２Ａが直列に接続されていてもよい。また、バスＢ１の信号線と電力制御部２３とをバッファ２２Ａ等を介さずに直接接続することとしてもよい。
【００６９】
図２（ｂ）の電力管理部２２は、フリップフロップ２２Ｂを有している。フリップフロップ２２Ｂの入力端子はバスＢ１の中の予め定められた１本の信号線に接続されている。フリップフロップ２２ＢにはバスＢ１から常に信号が入力されており、フリップフロップ２２Ｂは、その信号を適当なタイミングでラッチする。このタイミングは、図１のブロック２０の外部から制御してもよいし、内部から制御してもよい。フリップフロップ２２Ｂは、ラッチした信号を直ちに電力制御部２３に出力する。したがって、フリップフロップ２２Ｂは、バスＢ１に現れるノイズの影響を最小限にし、バスＢ１上を伝送されてきた信号を安定して読み出すことができる。
【００７０】
なお、電力管理部２２は、フリップフロップ２２Ｂを複数備え、バスＢ１の複数の信号線の信号を電力制御部２３に出力するようにしてもよい。
【００７１】
図３は、図１の電力管理部２２の他の例を示すブロック図である。ここでは、電力管理情報が直接にスレーブブロック２０の電力制御部２３への制御信号として用いることができない場合、すなわち、電力管理部２２が電力管理情報を変換して出力する場合について説明する。
【００７２】
図３（ａ）の電力管理部２２は、情報変換部としてのメモリ２２Ｃを有している。メモリ２２Ｃの入力端子はバスＢ１に接続されている。メモリ２２Ｃは、入力される電力管理情報に対応した、電力制御部２３に出力すべき情報を格納している。メモリ２２Ｃは、バスＢ１から入力された情報をアドレスとして用い、このアドレスに対応した情報を電力制御部２３に出力する。したがって、マスタブロックが電力管理情報の符号化の方法を変更した場合でも、メモリ２２Ｃの内容を変更するのみでよく、スレーブブロックを再設計する必要がない。
【００７３】
図４は、図３（ａ）のメモリの記憶内容の例を示す説明図である。電力管理情報が表すシステム状態には、動作状態、停止状態、高速処理状態、及び低速処理状態の４つの状態が存在するものとする。これらの状態には、それぞれ値“００”，“０１”，“１０”及び“１１”が電力管理情報として対応している。システム状態は、これらの状態のうちのいずれか１つにある。
【００７４】
電力制御部２３は、０が入力されるとデータ処理回路２４へのクロック供給を停止し、１が入力されるとデータ処理回路２４へのクロック供給を行うものとする。
【００７５】
例えば、バスＢ１上のデータが“１０”（高速処理状態を表す）であるとすると、メモリ２２Ｃは、アドレス“１０”の情報である“１”を電力制御部２３に出力する。この場合、電力制御部２３は、データ処理回路２４へのクロック供給を行う。また、バスＢ１上のデータが“０１”（停止状態を表す）であるとすると、メモリ２２Ｃは、アドレス“０１”の情報である“０”を電力制御部２３に出力する。この場合、電力制御部２３は、データ処理回路２４へのクロック供給を停止する。
【００７６】
なお、メモリ２２Ｃの内容を書き換えることにより、システムの動作中にマスタブロックにおける電力管理情報の符号化方法を動的に変更するなど、きめ細かな電力管理を実施することも可能である。また、メモリ２２Ｃの代わりにレジスタとデコーダとを用いてもよい。
【００７７】
また、メモリ２２Ｃのアドレスのビット幅が、バスＢ１のビット幅よりも広い場合は、アドレス入力の一部のビットに電源電圧又は接地電圧を与え、論理値を固定すればよい。
【００７８】
図３（ｂ）の電力管理部２２は、情報変換部としての論理回路２２Ｄを有している。論理回路２２Ｄの入力端子はバスＢ１に接続されている。論理回路２２Ｄは、プログラマブルデバイスを有している。プログラマブルデバイスとは、例えば、ＦＰＧＡ（field programmable gate array）やＰＬＤ（programmable logic device）などのように製造後にその機能を変更できるデバイスである。論理回路２２Ｄには、入力される電力管理情報と、電力制御部２３に出力すべき情報との関係が予めプログラムされている。
【００７９】
論理回路２２Ｄは、バスＢ１から入力された情報に対応した情報を電力制御部２３に出力する。したがって、マスタブロックが電力管理情報の符号化の方法を変更した場合でも、プログラマブルデバイスの構成を変更するのみでよく、スレーブブロックを再設計する必要がない。論理回路２２Ｄを用いると、メモリよりも遙かに高速に情報の変換が可能である。
【００８０】
なお、プログラマブルデバイスの機能の変更は、構成情報を読み込ませることにより、ブロック２０の外部から行ってもよいし、内部から行ってもよい。また、論理回路２２Ｄとして、ゲートアレイやこれに類似するデバイスを用いてもよい。
【００８１】
電力管理部２２の更に他の例について説明する。図５は電力管理部２２の状態遷移図の一例である。電力管理部２２はステートマシンを有しており、図５のように、このステートマシンには４つの状態が存在する。ここでは、クロックゲーティング（clock gating）に関する２つの状態（“ｏｎ”，“ｏｆｆ”）と、可変電源電圧（variable voltages）の制御に関する２つの状態（“１．８Ｖ”，“３．３Ｖ”）とが存在するものとする。電力管理部２２の状態は、現在の状態とバスＢ１から入力された電力管理情報とに応じて遷移する。電力管理部２２は、その状態に応じた制御信号を電力制御部２３に出力する。特に図示しないが、このような電力管理部２２は、順序回路を有した論理回路を用いて容易に実現することができる。
【００８２】
例えば、電力管理部２２の状態が“ｏｆｆ”であれば、電力管理部２２は、自ブロックのデータ処理回路２４へのクロック供給を遮断する信号を電力制御部２３に出力する。また、電力管理部２２の状態が“１．８Ｖ”であれば、電力管理部２２は、自ブロックへの供給電圧を１．８Ｖにする信号を電力制御部２３に出力する。
【００８３】
電力制御部２３は、入力された制御信号に従って、自ブロック内でクロック供給や供給電圧の制御を行い、自ブロックが消費する電力を制御する。
【００８４】
例えば、クロック供給を制御する場合について説明する。電力制御部２３はデコーダ（図示せず）を備え、データ処理回路２４は内部に複数の回路を有しているとする。デコーダは、電力制御部２３に入力された制御信号をデコードし、データ処理回路２４内のこの制御信号で指定された回路にのみ、クロックイネーブル信号を出力する。クロックイネーブル信号を受けた回路には、クロックが供給される。また、クロックイネーブル信号を出力しないような制御信号をデコーダに与えた場合には、データ処理回路２４内のクロックは全て停止する。
【００８５】
本実施形態の電力管理システムにおいては、電力管理情報を伝達するためのバスＢ１を用いた。しかし、バスＢ１を備えることなく、データ処理のためのバスＢ２を使用して電力管理情報を伝達することもできる。すなわち、データ処理のためのバスＢ２を時分割で使用することとし、例えば、一定間隔でバスＢ２に電力管理情報を流すようにスケジューリングしておけばよい。
【００８６】
また、電力管理情報とその他の通常のデータとを識別できる仕組みを設け、バスＢ２を使用して電力管理情報を伝達してもよい。例えば、バスの信号線の１本をイネーブル信号線とし、このイネーブル信号線のデータが１のときはバス上のデータは通常のデータであり、０のときは電力管理情報であると決めておけば、各電力管理部は電力管理情報とその他の通常のデータとを識別することができる。このようにして、従来のデータ伝送用のバスＢ２と電力管理情報を伝達するバスＢ１とを物理的に共有化でき、ハードウェア量を削減できる。
【００８７】
なお、電力管理情報を複数のブロックにブロードキャストできるようになっていれば、その実現方法はいかなる方法であってもよい。本実施形態では、電力管理情報の伝送のために、複数のスレーブブロックが接続されたバスを使用しているが、マスタブロックと各スレーブブロックとの間を直接結ぶ配線を設けてもよい。この場合においても、電力管理情報は各スレーブブロックにおいて共通に用いられ、スレーブブロックが自らの電力を管理し、ブロックの再設計なしに容易に電力管理機構を構築することができる。
【００８８】
（第１の実施形態の第１の変形例）
第１の実施形態では、バスＢ１に接続された全てのスレーブブロックが、同じ電力管理情報を共有して電力管理を実施していたが、一部のスレーブブロックのみを電力管理の対象とすることもできる。その方法として次の２つがある。
（ａ）スレーブ側で情報を取捨選択する
（ｂ）マスタからグループＩＤを発行する
スレーブ側で情報を取捨選択する場合について説明する。図６は情報伝達部３５を備えた集積回路の電力管理システムのブロック図である。図６の電力管理システムは、図１の電力管理システムに加えて、情報伝達部３５と、バスＢ１１とを備えている。図６においては、ブロック１０は管理情報生成部として、ブロック２０，３０及び４０はそれぞれが１つの管理情報利用部として動作する。
【００８９】
ブロック３０及び４０は、バスＢ１ではなく、バスＢ１１に接続されている。また、ブロック３０及び４０は、グループＧ１を構成している。情報伝達部３５は、バスＢ１から電力管理情報を読み出し、読み出した電力管理情報のうち、グループＧ１に属するブロックに伝達すべき情報を選択してバスＢ１１に出力する。
【００９０】
したがって、電力管理部を再設計することなく、ブロックをグループ化し、グループ毎に独立した電力管理を実施することができる。なお、情報伝達部３５は、入力された電力管理情報をグループＧ１に属するブロックに適した情報に変換して出力してもよい。
【００９１】
次に、マスタからグループＩＤを発行する場合の電力管理システムの動作について、図１を参照して説明する。ブロック１０の情報出力部１１は、電力管理情報とグループ指定情報とをバスＢ１に出力する。電力管理情報とグループ指定情報とは、同時に出力してもよいし、順次出力してもよい。ブロック２０，３０，４０の電力管理部２２，３２，４２は、まず、グループ指定情報をデコードする。電力管理部２２，３２，４２は、自ブロックが、デコードして得られたグループに属していれば、電力管理情報を電力制御部２３，３３，４３へ伝える。したがって、マスタブロックから特定のグループを指定して電力管理を行うことができる。
【００９２】
（第１の実施形態の第２の変形例）
本変形例では、データ処理回路がＩＥＥＥ（institute of electrical and electronics engineers）１１４９．１規格に対応している場合について説明する。以下では、ＩＥＥＥ１１４９．１規格のことを、単にＪＴＡＧ（joint test action group）と称する。ここでは、図１の電力管理システムにおいて、情報出力部１１及びデータ処理回路１４の代わりに情報出力部１１１及びデータ処理回路１１４を備える場合について説明する。
【００９３】
図７は、ＪＴＡＧに対応したデータ処理回路１１４の例を示したブロック図である。図７のデータ処理回路１１４は、バウンダリスキャンレジスタ１０１と、レジスタ制御部としてのＴＡＰ（test access port）コントローラ１１６と、命令レジスタ１１７と、論理回路１１８とを備えている。バウンダリスキャンレジスタ１０１は、バウンダリスキャンセル１０２，１０３，１０４，１０５，１０６，１０７，１０８，１０９を備えている。データ処理回路１１４は、この他にバイパスレジスタを備えている。これらのレジスタとＴＡＰコントローラ１１６とは、ＪＴＡＧ用のテストロジック回路を構成している。バウンダリスキャンレジスタ１０１及びバイパスレジスタは、データレジスタである。
【００９４】
情報出力部１１１は、データ処理回路１１４のＴＤＩ（test data input）ポートを介してバウンダリスキャンセル１０２又は命令レジスタ１１７にデータを出力する。また、情報出力部１１１は、データ処理回路１１４のＴＤＯ（test data output）ポートを介してバウンダリスキャンセル１０９又は命令レジスタ１１７からデータを読み出す。更に、情報出力部１１１は、ＩＥＥＥ１１４９．１規格に従って、ＴＭＳ（test mode select）ポートに与える値を制御して、ＴＡＰコントローラ１１６の状態を制御している。
【００９５】
ＴＡＰコントローラ１１６は、１６の状態を取り得るものであり、その状態に応じて、バウンダリスキャンレジスタ１０１、命令レジスタ１１７、又はバイパスレジスタに対する制御を行う。データ処理回路１１４がデータを入出力するピンと、論理回路１１８との間には、各ピンのそれぞれに対応したバウンダリスキャンセル１０２〜１０９が接続されている。論理回路１１８は、バウンダリスキャンセル１０２〜１０９を介して、データ処理回路１１４の外部との間でデータの入出力を行う。バウンダリスキャンレジスタ１０１は、格納しているデータを順次シフトして情報出力部１１１に出力するシフトレジスタとして動作する。なお、ＪＴＡＧについての詳細は、ＩＥＥＥ１１４９．１規格書（IEEE Std 1149.1-1990）を参照されたい。
【００９６】
データ処理回路１１４が、テストモードではなく、ノーマルモードで動作している場合の動作について説明する。情報出力部１１１は、データ処理回路１１４のＴＤＩポートを介して命令レジスタ１１７にＳＡＭＰＬＥ命令をセットする。このとき、ＴＡＰコントローラ１１６は、自身の状態に従って、バウンダリスキャンレジスタ１０１の動作を制御する。
【００９７】
情報出力部１１１は、ＴＡＰコントローラ１１６の状態を遷移させ、データレジスタにキャプチャを行わせる状態にする。ＴＡＰコントローラ１１６は、バウンダリスキャンレジスタ１０１を制御して、データ処理回路１１４が入出力するデータ、すなわち、データ処理回路１１４の各ピンを通過するデータを格納させる。このとき、バウンダリスキャンレジスタ１０１は、論理回路１１８の動作に影響を与えないので、データ処理回路１１４は通常の動作をする。
【００９８】
その後、情報出力部１１１は、ＴＡＰコントローラ１１６の状態を遷移させ、データレジスタにシフトを行わせる状態にする。ＴＡＰコントローラ１１６は、バウンダリスキャンレジスタ１０１にシフトを行わせ、バウンダリスキャンレジスタ１０１は、ＴＤＯポートを介して、格納しているデータを情報出力部１１１に順次出力する。
【００９９】
情報出力部１１１は、バウンダリスキャンレジスタ１０１が出力するデータに基づいてデータ処理回路１１４の状態を求め、更にこれに基づいて電力管理情報を求めてバスＢ１に出力する。具体的には例えば、情報出力部１１１は、バウンダリスキャンレジスタ１０１から受け取ったデータのうち、データ処理回路１１４の状態を表現しているビット列を抜き出し、これを電力管理情報としてバスＢ１に出力する。
【０１００】
このように、ＪＴＡＧに対応したデータ処理回路を用いると、異なる種類のデータ処理回路に対してであっても、同様にしてその内部の状態を読み出すことができる。このため、集積回路に異なる種類のデータ処理回路を組み込む場合においても、同一の情報出力部を用いることができ、電力管理のための設計負担が軽減する。
【０１０１】
なお、バウンダリスキャンレジスタにデータをシフトさせるのではなく、各バウンダリスキャンセルが格納するデータを、情報出力部が並列に取得することができるようにすれば、データ処理回路の状態をより速くバスに伝達することができる。
【０１０２】
（第２の実施形態）
図８は本発明の第２の実施形態に係る集積回路の電力管理システムのブロック図である。図８の電力管理システムは、図１の電力管理システムにおいて、ブロック１０から情報出力部１１を独立させて情報出力部２１１とし、ブロック２０及び３０からそれぞれ電力管理部２２及び３２を独立させて電力管理部２２２及び２３２としたものである。また、ブロック１０の情報出力部１１以外の部分をブロック１１０としている。更に、ブロック２０の電力管理部２２以外の部分をブロック１２０とし、ブロック３０の電力管理部３２以外の部分をブロック１３０としている。その他の構成要素については、第１の実施形態で説明したものと同様なので、同一の符号を付してその説明を省略する。
【０１０３】
本実施形態においては、ブロック１１０と情報出力部２１１とは管理情報生成部として、ブロック１２０と電力管理部２２２とは管理情報利用部として動作する。また、ブロック１３０と電力管理部２３２とは他の１つの管理情報利用部として、ブロック４０は更に他の１つの管理情報利用部として動作する。
【０１０４】
図８の電力管理システムの動作について説明する。情報出力部２１１は、データ処理回路１４が出力する情報に基づいてシステム状態を決定し、システム状態に応じた電力管理情報を常にバスＢ１へ出力している。電力管理部２２２，２３２は、定期的にバスＢ１上の電力管理情報を読み取り、それぞれ電力制御部２３，３３に制御信号を出力する。これらの制御信号は、それぞれブロック１２０，１３０の消費電力を制御するための信号である。すなわち、電力管理部２２２，２３２が、それぞれブロック１２０，１３０の電力管理を行う。
【０１０５】
図９は、図８の情報出力部２１１の例を示すブロック図である。図９においては、データ処理回路１４は具体的には入出力処理回路であるものとし、情報出力部２１１はメモリを有しているものとする。
【０１０６】
入出力処理回路は、出力であるＨＡＬＴ信号を、入出力処理を行っているときは“０”にし、入出力処理を行っていないときは“１”にする。情報出力部２１１は、アドレス０に値“１１”を記憶し、アドレス１に値“００”を記憶している。情報出力部２１１は、ＨＡＬＴ信号を受け取ってメモリのアドレスとして用い、ＨＡＬＴ信号が“０”であるときは入出力処理状態であることを表す値“１１”を、ＨＡＬＴ信号が“１”であるときは入出力処理以外の状態であることを表す値“００”を、バスＢ１に出力する。
【０１０７】
例えば、入出力処理状態であるときは、入出力処理回路以外の入出力に関係しないデータ処理回路２４等は動作する必要がないので、電力管理部２２２，２３２及び４２は、それぞれブロック１２０，１３０及び４０へのクロック供給を停止させるなど、消費電力を低減させるような信号を出力する。
【０１０８】
このように、本実施形態の電力管理システムは、第１の実施形態とは異なり、情報出力部及び電力管理部をそれぞれブロックとは独立して備える。このため、設計済みのブロックを集積回路システムへ付加するときに、ブロックを再設計する必要がなく、情報出力部や電力管理部を再設計するのみでよい。したがって、電力管理システムを容易に構築することができる。
【０１０９】
（第３の実施形態）
図１０は本発明の第３の実施形態に係る集積回路の電力管理システムのブロック図である。図１０の電力管理システムは、図８の電力管理システムにおいて、情報出力部２５１を更に備えている。また、ブロック４０に代えて、ブロック１５０と電力管理部２５２とを備えている。ブロック１５０は、電力制御部１５３とデータ処理回路１５４とを備えている。その他の構成要素については、第２の実施形態で説明したものと同様なので、同一の符号を付してその説明を省略する。
【０１１０】
本実施形態においては、ブロック１１０と情報出力部２１１とは１つの管理情報生成部として、ブロック１５０と情報出力部２５１とは他の１つの管理情報生成部として動作する。また、ブロック１２０と電力管理部２２２とは１つの管理情報利用部として、ブロック１３０と電力管理部２３２とは他の１つの管理情報利用部として動作する。ブロック１５０と電力管理部２５２とは更に他の１つの管理情報利用部として動作する。
【０１１１】
情報出力部２５１は、データ処理回路１５４の状態に基づいた電力管理情報をバスＢ１へ出力することができるようになっている。図１０の電力管理システムは、情報出力部２１１及び２５１を備え、情報出力部２１１又は２５１のいずれか一方が電力管理情報をバスＢ１に出力できるようになっている点に特徴がある。
【０１１２】
図１０の電力管理システムの動作について説明する。まず、情報出力部２５１は動作を停止しているものとする。情報出力部２１１は、データ処理回路１４が出力する情報に基づいてシステム状態を決定し、システム状態に応じた電力管理情報をバスＢ１へ出力する。電力管理部２２２，２３２，２５２は、定期的にバスＢ１上の電力管理情報を読み取り、それぞれ電力制御部２３，３３，１５３に制御信号を出力する。これらの制御信号は、それぞれブロック１２０，１３０，１５０の消費電力を制御するための信号である。すなわち、電力管理部２２２，２３２，２５２が、それぞれブロック１２０，１３０及び１５０の電力管理を行う。
【０１１３】
ある時点で、情報出力部２１１は、ブロック１１０がマスタとして動作する権利（マスタ権）を放棄するという情報をバスＢ１に出力したとする。このとき、情報出力部２１１は動作を停止する。ブロック１５０のデータ処理回路１５４は、ブロック１１０がマスタ権を放棄したことを電力管理部２５２から通知されると、情報出力部２５１に動作を開始させる。その後は、ブロック１５０がマスタとして動作する。情報出力部２５１は、データ処理回路１５４が出力する情報に基づいてシステム状態を決定し、システム状態に応じた電力管理情報をバスＢ１へ出力する。この電力管理情報に応じて、電力管理が各ブロックで行われる。
【０１１４】
同様に、情報出力部２５１は、ブロック１５０がマスタ権を放棄するという情報をバスＢ１に出力したとする。このとき、情報出力部２５１は動作を停止する。ブロック１１０のデータ処理回路１４は、ブロック１５０がマスタ権を放棄したことをバスＢ１上の情報から知ると、情報出力部２１１に動作を開始させる。その後は、ブロック１１０がマスタとして動作する。
【０１１５】
このように、本実施形態の電力管理システムによると、複数のマスタによる電力管理が可能となる。また、ブロック１５０は、マスタとしても、スレーブとしても動作することができる。
【０１１６】
なお、マスタとなることができるブロックは３個以上であってもよい。また、マスタ権を放棄するという情報はバスＢ２に出力してもよい。また、情報出力部２５１又は電力管理部２５２は、ブロック１５０に含まれていてもよい。
【０１１７】
（第４の実施形態）
図１１は本発明の第４の実施形態に係る集積回路の電力管理システムのブロック図である。図１１の電力管理システムは、図１の電力管理システムにおいて、電力管理部２２，３２，４２の代わりに電力管理部７２を備えたものである。その他の構成要素については、第１の実施形態で説明したものと同様なので、同一の符号を付してその説明を省略する。
【０１１８】
本実施形態においては、ブロック１０は管理情報生成部として、ブロック１２０と電力管理部７２とは管理情報利用部として動作する。また、ブロック１３０と電力管理部７２とは他の１つの管理情報利用部として、ブロック１４０と電力管理部７２とは更に他の１つの管理情報利用部として動作する。
【０１１９】
情報出力部１１は、データ処理回路１４が出力する情報に基づいてシステム状態を決定し、システム状態に応じた電力管理情報をバスＢ１へ出力する。電力管理部７２は、定期的にバスＢ１上の電力管理情報を読み取り、ブロック１２０，１３０，１４０の消費電力を制御するための信号をそれぞれ電力制御部２３，３３，４３に出力する。すなわち、電力管理部７２がブロック１２０，１３０及び１４０の電力管理を行う。
【０１２０】
このように、１つの電力管理部が複数のブロックの電力管理を行うので、スレーブブロック毎に電力管理部を備えた場合に比べてハードウェア量が少なくて済む。また、スレーブブロックを付加する場合に、情報出力部を変更する必要がなく、電力管理のためのハードウェア量もほとんど増加しない。
【０１２１】
（第５の実施形態）
図１２は本発明の第５の実施形態に係る集積回路の電力管理システムのブロック図である。図１２の電力管理システムは、図１の電力管理システムにおいて、ブロック１０の代わりにブロック１１０及び１８０を備え、更に、情報出力部８１を備えたものである。ブロック１１０及び１８０は、それぞれデータ処理回路１４及び８４を備えている。その他の構成要素については、第１の実施形態で説明したものと同様なので、同一の符号を付してその説明を省略する。
【０１２２】
本実施形態においては、ブロック１１０とブロック１８０と情報出力部８１とは管理情報生成部として動作する。また、ブロック２０，３０及び４０は、それぞれが１つの管理情報利用部として動作する。
【０１２３】
データ処理回路１４及び８４はそれぞれ、その内部の状態を表す情報を情報出力部８１に出力する。情報出力部８１は、データ処理回路１４及び８４が出力する情報に基づいてシステム状態を決定し、システム状態に応じた電力管理情報をバスＢ１へ出力する。その後の動作は、第１の実施形態におけるものと同様であるので、説明を省略する。
【０１２４】
このように、１つの情報出力部が複数のマスタブロックの状態に応じてシステム状態を決定するので、マスタとなることができるブロック毎に情報出力部を備えた場合に比べてハードウェア量が少なくて済む。また、マスタとなることができるブロックを付加する場合に、電力管理のためのハードウェア量がほとんど増加しない。
【０１２５】
なお、第２〜第５の実施形態においても、第１の実施形態と同様に、情報出力部２１１等が各電力制御部を直接制御できるような情報を生成し、電力管理情報としてバスＢ１へ出力してもよい。
【０１２６】
【発明の効果】
以上のように、本発明によると、電力管理を従来のマスタでの集中管理からスレーブでの分散管理にすることができる。スレーブブロックとマスタブロックとを互いに依存することなく独立して設計することができるので、集積回路の電力管理システムを容易に構築することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係る集積回路の電力管理システムのブロック図である。
【図２】図１の電力管理部の例を示すブロック図である。
【図３】図１の電力管理部の他の例を示すブロック図である。
【図４】図３（ａ）のメモリの記憶内容の例を示す説明図である。
【図５】電力管理部の状態遷移図の一例である。
【図６】情報伝達部を備えた集積回路の電力管理システムのブロック図である。
【図７】ＪＴＡＧに対応したデータ処理回路の例を示したブロック図である。
【図８】本発明の第２の実施形態に係る集積回路の電力管理システムのブロック図である。
【図９】図８の情報出力部の例を示すブロック図である。
【図１０】本発明の第３の実施形態に係る集積回路の電力管理システムのブロック図である。
【図１１】本発明の第４の実施形態に係る集積回路の電力管理システムのブロック図である。
【図１２】本発明の第５の実施形態に係る集積回路の電力管理システムのブロック図である。
【符号の説明】
１０，１１０，１５０，１８０  ブロック（マスタブロック）
２０，３０，４０，１２０，１３０，１４０  ブロック（スレーブブロック）
１１，８１，１１１，２５１  情報出力部
２２，３２，４２，７２，２５２  電力管理部
２３，３３，４３，１５３  電力制御部
１４，２４，３４，４４，８４，１１４，１５４  データ処理回路
Ｂ１，Ｂ２，Ｂ１１  バス（信号線）
２２Ａ  バッファ
２２Ｂ  フリップフロップ
２２Ｃ  メモリ（情報変換部）
２２Ｄ  論理回路（情報変換部）
３５  情報伝達部
１０１  バウンダリスキャンレジスタ
１１６  ＴＡＰコントローラ（レジスタ制御部）
Ｇ１  グループ
【図１】
0004181317.tif 000002
【図２】
0004181317.tif 000003
【図３】
0004181317.tif 000004
【図４】
0004181317.tif 000005
【図５】
0004181317.tif 000006
【図６】
0004181317.tif 000007
【図７】
0004181317.tif 000008
【図８】
0004181317.tif 000009
【図９】
0004181317.tif 000010
【図１０】
0004181317.tif 000011
【図１１】
0004181317.tif 000012
【図１２】
0004181317.tif 000013