(57)【特許請求の範囲】
【請求項１】
複数の動作モードに対応する電流値が定められた少なくとも１つのモジュールを有する少なくとも１つのドメインと、
前記ドメイン毎に設けられ、前記ドメイン内の前記モジュールの前記動作モードによって定まるドメインの動作状態を制御する動作制御部と、を有し、
前記ドメインは、前記動作状態の変更を要求する動作変更要求を前記動作制御部に送信し、
前記動作制御部は、前記動作変更要求を前記ドメインより受信すると、前記動作状態の変更を許可した場合の、前記動作状態の変更前の前記ドメイン内の前記モジュールの前記電流値の総和に対する前記動作状態の変更後の前記ドメイン内の前記モジュールの前記電流値の総和の比である前記ドメインの電流変化率を求め、前記電流変化率が所定値以下である場合に、前記動作変更要求を前記ドメインに対し許可することを特徴とする半導体集積回路。
【請求項２】
前記ドメインは、前記動作制御部により前記動作変更要求が許可されなかった場合には、前記電流値の変更量を変化させて、前記動作変更要求を前記動作制御部に送信することを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
複数の前記動作制御部の制御を行う統括動作制御部を有し、
前記統括動作制御部は、信号の送受信が行われる２つのドメインについて、一方のドメインにおける電流値の増加と他方のドメインにおける電流値の減少とが同時に発生するのを防止することを特徴とする請求項１又は２に記載の半導体集積回路。
【請求項４】
信号の送受信が行われる２つの前記ドメイン間に設けられたクロックの調整を行う非同期ブリッジ部と、
前記非同期ブリッジ部をバイパスする通信経路と前記非同期ブリッジ部を介する通信経路との間で、２つの前記ドメイン間の通信経路の切り替えを行う切り替え制御部と、を有し、
前記切り替え制御部は、２つの前記ドメインに供給される電源電圧が同じ値となる場合には、２つの前記ドメイン間の通信経路として、前記非同期ブリッジ部をバイパスする通信経路に設定する請求項１乃至３に記載の半導体集積回路。
【請求項５】
前記動作変更要求は、前記モジュールが動作開始又は動作停止を行う動作変更要求であることを特徴とする請求項１乃至４に記載の半導体集積回路。
【請求項６】
前記モジュールは、クロック周波数を分周することにより、前記電流値の変更量を変化させることを特徴とする請求項５に記載の半導体集積回路。
【請求項７】
前記所定値は、複数の前記ドメインに供給される電源電圧が互いに同じ値となる場合において、複数の前記ドメイン間で信号の送受信が行われる際に、前記非同期ブリッジ部をバイパスしても信号の送受信を正確に行うことが可能な電流変化率であることを特徴とする請求項４に記載の半導体集積回路。
【請求項８】
複数の動作モードに対応する電流値が定められた少なくとも１つのモジュールを備える少なくとも１つのドメインを有する半導体集積回路の制御方法であって、
前記ドメイン内の前記モジュールの前記動作モードによって定まるドメインの動作状態の変更を要求する動作変更要求を前記ドメインより受信する工程と、
前記動作変更要求を前記ドメインより受信すると、前記動作状態の変更を許可した場合の前記動作状態の変更前の前記ドメイン内の前記モジュールの前記電流値の総和に対する前記動作状態の変更後の前記ドメイン内の前記モジュールの前記電流値の総和の比である前記ドメインの電流変化率を求め、前記電流変化率が所定値以下である場合に、前記動作変更要求を前記ドメインに対し許可する工程と、を有することを特徴とする半導体集積回路の制御方法。
【請求項９】
複数の動作モードに対応する電流値が定められた少なくとも１つのモジュールを備える少なくとも１つのドメインを有する半導体集積回路で実行される制御プログラムであって、
前記ドメイン毎に設けられ、前記ドメイン内の前記モジュールの前記動作モードによって定まるドメインの動作状態を制御する動作制御部、として前コンピュータを機能させ、
前記ドメインは、前記動作状態の変更を要求する動作変更要求を前記動作制御部に送信し、
前記動作制御部は、前記動作変更要求を前記ドメインより受信すると、前記動作状態の変更を許可した場合の前記動作状態の変更前の前記ドメイン内の前記モジュールの前記電流値の総和に対する前記動作状態の変更後の前記ドメイン内の前記モジュールの前記電流値の総和の比である前記ドメインの電流変化率を求め、前記電流変化率が所定値以下である場合に、前記動作変更要求を前記ドメインに対し許可することを特徴とする半導体集積回路の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の電源から電源電圧が供給される半導体集積回路、その制御方法及び制御プログラムに関する。
【背景技術】
【０００２】
近年、半導体集積回路では、低消費電力化のため、複数の機能モジュール毎に分割したドメイン単位でそれぞれ異なる電源から電源電圧が供給されることが多い。例えば、半導体集積回路が２つのドメインＤ１、Ｄ２を有する場合には、ドメインＤ１には、電源Ｓ１より電源電圧Ｖ１が供給され、ドメインＤ２には、電源Ｓ１とは異なる電源Ｓ２より電源電圧Ｖ２が供給される。
【０００３】
ここで、ドメインＤ１、Ｄ２間で信号の受け渡しを行う際において、電源電圧Ｖ１と電源電圧Ｖ２とが異なる値となる場合には、ドメインＤ１、Ｄ２におけるクロックの位相のタイミングがずれ、信号の受け渡しを正確に行うことができなくなる恐れがある。そこで、この場合において、ドメインＤ１、Ｄ２間で信号の受け渡しを行う際には、信号のレベル変換及びクロックの乗り換えを行う非同期ブリッジ部を介して信号の受け渡しが行われる。
【０００４】
一方、電源電圧Ｖ１と電源電圧Ｖ２とが同じ値となる場合には、非同期ブリッジ部をバイパスして信号の受け渡しが行われる。これにより、非同期ブリッジ部を介して信号の受け渡しが行われる場合と比較して、効率よくデータ伝送を行うことが可能となる。しかしながら、この場合であっても、例えば、電源のクロック周波数が大幅に変更されたような場合には、電源内において急峻な電流変動が生じることによる電源電圧の変動が発生することがある。そのときには、電源電圧Ｖ１と電源電圧Ｖ２とが異なる値になってしまい、非同期ブリッジ部をバイパスして信号の受け渡しを行うことが難しくなる。そこで、非同期ブリッジ部をバイパスして信号の受け渡しを行う際において、２つのドメインＤ１、Ｄ２に対して１つの電源Ｓ１（又はＳ２）から電源電圧を供給する技術が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平２００８−２０４２７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、複数のドメインに対し１つの電源から電源電圧を供給するには、電源供給能力の高い高価な電源を使用することが考えられるため、半導体集積回路を安価で開発することが難しくなる。また、電源を切り替えるための回路といった新たな部品を追加することによる部品点数の増加も考えられる。
【課題を解決するための手段】
【０００７】
開示の装置は、複数の動作モードに対応する電流値が定められた少なくとも１つのモジュールを有する少なくとも１つのドメインと、ドメイン毎に設けられ、ドメイン内のモジュールの動作モードによって定まるドメインの動作状態を制御する動作制御部と、を有する。ドメインは、動作状態の変更を要求する動作変更要求を動作制御部に送信する。動作制御部は、動作変更要求をドメインより受信すると、動作状態の変更を許可した場合の、動作状態の変更前のドメイン内のモジュールの電流値の総和に対する動作状態の変更後のドメイン内のモジュールの電流値の総和の比であるドメインの電流変化率を求め、電流変化率が所定値以下である場合に、動作変更要求を前記ドメインに対し許可する。ここで、所定値は、例えば、電源の許容電流変化率である。具体的には、許容電流変化率は、複数のドメインに供給される電源電圧が互いに同じ値となる場合において、複数のドメイン間で信号の送受信が行われる際に、非同期ブリッジ部をバイパスしても信号の送受信を正確に行うことが可能な電流変化率である。
【発明の効果】
【０００８】
開示の装置によれば、複数のドメインに供給される電源電圧が互いに同じ値となる場合において、複数のドメインに対し１つの電源から電源電圧を供給しなくても、複数のドメイン間で信号の送受信を正確に行うことが可能となる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態に係る半導体集積回路の構成の一例を示す図である。
【図２】ドメイン間の信号の送受信の一例を示す図である。
【図３】電源電圧が互いに同じ値となる場合の信号の送受信を説明するタイミングチャートである。
【図４】電源電圧が互いに異なる値となる場合の信号の送受信を説明するタイミングチャートである。
【図５】切り替え制御部の構成の一例を示す図である。
【図６】動作制御部とドメインとの接続構成の一例を示す図である。
【図７】ドメインにおける各モジュールの動作モードと電流値との関係を示す表の一例である。
【図８】モジュールの動作開始処理における動作制御部の制御処理を示すフローチャートである。
【図９】モジュールの動作停止処理における動作制御部の制御処理を示すフローチャートである。
【図１０】第２実施形態に係る半導体集積回路の構成の一例を示す図である。
【図１１】動作制御部と統括動作制御部との間の接続構成の一例を示す図である。
【図１２】統括動作制御部の状態遷移図の一例である。
【図１３】モジュールの動作開始処理における統括動作制御部１４の制御処理を示すフローチャートである。
【図１４】モジュールの動作停止処理における統括動作制御部１４の制御処理を示すフローチャートである。
【図１５】ドメインにおける各モジュールの動作モードと電流値との関係を示す表の一例である。
【発明を実施するための形態】
【００１０】
以下、実施形態の一例について図面を参照しつつ説明する。
【００１１】
［第１実施形態］
第１実施形態に係る半導体集積回路の制御方法について説明する。
【００１２】
まず、第１実施形態に係る半導体集積回路の構成の一例について図１を用いて説明する。
【００１３】
図１に示すように、第１実施形態に係る半導体集積回路３は、ドメイン４、５、非同期ブリッジ部６、セレクタ部９、１０、切り替え制御部１１、動作制御部１２、１３を有する。ここで、ドメインとは、半導体集積回路３上における、回路素子などのモジュールを１つ以上含む回路の単位である。半導体集積回路３では、ドメイン単位でそれぞれ異なる電源から電源電圧が供給される。図１の例でいうと、ドメイン４には、ＤＣ／ＤＣ電源１より電源電圧が供給され、ドメイン５には、ＤＣ／ＤＣ電源２より電源電圧が供給される。
【００１４】
ドメイン４、５間では信号の送受信が行われる。ドメイン４，５間における信号の送受信の経路中には、セレクタ部９、１０、非同期ブリッジ部６が設けられている。セレクタ９は、ドメイン５からの信号Ｄａｔａ＿ＩＮ１をドメイン４に送信し、セレクタ１０は、ドメイン４からの信号Ｄａｔａ＿ＩＮ２をドメイン５に送信する。
【００１５】
切り替え制御部１１は、ＤＣ／ＤＣ電源１、２からの検出信号に基づいて、制御信号Ｄａｔａ＿ＳＥＬ１、Ｄａｔａ＿ＳＥＬ２をセレクタ部９、１０にそれぞれ送信することによりセレクタ部９、１０を制御する。切り替え制御部１１は、セレクタ部９、１０を制御することにより、ドメイン４、５間における信号の送受信の経路を、非同期ブリッジ部６を介した経路にするか、又は、非同期ブリッジ部６をバイパスする経路にするかを切り替える。非同期ブリッジ部６はクロックの調整を行う。
【００１６】
また、半導体集積回路３では、ドメイン毎に、当該ドメインの動作状態を制御するための動作制御部が設けられている。具体的には、ドメイン４の動作状態を制御するための動作制御部１２と、ドメイン５の動作状態を制御するための動作制御部１３と、が設けられている。ここで、動作制御部１２、１３は、例えばＭＰＵ（Micro Processing Unit）がプログラムを実行することにより実現される。
【００１７】
ここで、非同期ブリッジ部６が設けられる理由について図２を用いて簡単に説明する。図２には、非同期ブリッジ部６を設けずにドメイン４、５間で信号を送受信する場合の例として、フリップフロップ（ＦＦ）間の信号の送受信の例が示されている。
【００１８】
図２に示すように、ドメイン４は、フリップフロップ４Ｆを有するものとし、ドメイン５は、フリップフロップ５Ｆを有するものとする。Ｄａｔａ１＿ＩＮ、ＣＬＫ１は夫々ドメイン４内のフリップフロップ４Ｆに入力されるデータとクロックを示しており、Ｄａｔａ２＿ＩＮ、ＣＬＫ２は夫々ドメイン５内のフリップフロップ５Ｆに入力されるデータとクロックを示している。クロックＣＬＫ１、ＣＬＫ２には夫々タイミング調整のために図２に示すようにディレイバッファ４０１、５０１が挿入される。ドメイン５内のフリップフロップ５Ｆに入力されるデータＤａｔａ２＿ＩＮは、ドメイン４内のフリップフロップ４Ｆから出力される。フリップフロップ５ＦからはデータＤａｔａ２＿ＯＵＴが出力される。
【００１９】
ＶＤＤ１、ＶＤＤ２は夫々ドメイン４、５に供給される電源電圧を示している。電源電圧ＶＤＤ１は、ＤＣ／ＤＣ電源１よりドメイン４へ供給される。具体的には、電源電圧ＶＤＤ１は、フリップフロップ４Ｆとディレイバッファ４０１とへ供給される。一方、電源電圧ＶＤＤ２は、ＤＣ／ＤＣ電源２よりドメイン５へ供給される。具体的には、電源電圧ＶＤＤ２は、フリップフロップ５Ｆとディレイバッファ５０１とへ供給される。
【００２０】
図３は、電源電圧ＶＤＤ１、ＶＤＤ２が互いに同じ値となる場合の図２のドメイン４，５間の信号の送受信を説明するタイミングチャートである。図３において、「Ｖａｌｉｄ」はデータに誤りが無く正常であることを示している。図３に示すように、ドメイン４、５で用いる電源電圧ＶＤＤ１、ＶＤＤ２が同じであれば、ドメイン４に入力されたデータＤａｔａ１＿ＩＮが誤り無く正常にデータＤａｔａ２＿ＯＵＴとしてフリップフロップ５Ｆから出力される。別の言い方をすると、ドメイン４、５間の電位差｜ＶＤＤ１−ＶＤＤ２｜が上限電位差以下となっていれば、ドメイン４に入力されたデータＤａｔａ１＿ＩＮが誤り無く正常にデータＤａｔａ２＿ＯＵＴとしてフリップフロップ５Ｆから出力される。ここで、上限電位差とは、電源電圧ＶＤＤ１、ＶＤＤ２が互いに同じ値とみなせる電位差の上限値、より具体的には、信号の送受信を誤りなく行うことが可能なドメイン間の電位差の上限値である。
【００２１】
図４は、電源電圧ＶＤＤ１、ＶＤＤ２が異なる値となる場合の図２のドメイン４、５間の信号の送受信を説明するタイミングチャートである。ドメイン４、５で用いる電源電圧ＶＤＤ１、ＶＤＤ２が互いに異なる値となる場合には、ディレイバッファ４０１、５０１において、クロックのタイミングにずれが生じる。つまり、クロックＣＬＫ１、ＣＬＫ２間の位相のタイミングが同じにならずに、図４に示すように、フリップフロップ４Ｆに入力されたデータＤａｔａ１＿ＩＮが正常にデータＤａｔａ２＿ＯＵＴとしてフリップフロップ５Ｆから出力されなくなる。別の言い方をすると、ドメイン４、５間の電位差｜ＶＤＤ１−ＶＤＤ２｜が上限電位差よりも大きくなっていれば、フリップフロップ４Ｆに入力されたデータＤａｔａ１＿ＩＮが正常にフリップフロップ５Ｆから出力されなくなる。
【００２２】
上記の理由から、ドメイン４とドメイン５との間の送受信経路には、クロックの調整を行う非同期ブリッジ部６が設けられる。この非同期ブリッジ部６を介して信号の送受信が行われるとすることにより、ドメイン４、５にそれぞれ供給される電圧が互いに異なる値となる場合であっても、データを誤りなく送受信することが可能となる。一方、非同期ブリッジ部６を介した通信は、余計にクロックがかかる。そのため、ドメイン４、５にそれぞれ供給される電圧が互いに同じ値となる場合には、非同期ブリッジ部６をバイパスして信号の送受信を行うとした方が効率よくデータ伝送を行うことができる。
【００２３】
そのため、切り替え制御部１１は、ドメイン４、５にそれぞれ供給される電圧が互いに異なる値となる場合には、セレクタ部９、１０を制御して、ドメイン４、５間における信号の送受信を、非同期ブリッジ部６を介して行うこととする。一方、切り替え制御部１１は、ドメイン４、５にそれぞれ供給される電圧が互いに同じ値となる場合には、セレクタ部９、１０を制御して、ドメイン４、５間における信号の送受信を、非同期ブリッジ部６をバイパスして行うこととする。
【００２４】
ここで、切り替え制御部１１の構成の一例について図５を用いて説明する。
【００２５】
図５に示すように、切り替え制御部１１は、制御部１１ａ、電源制御部１１ｂ、１１ｃを有する。電源制御部１１ｂはＤＣ／ＤＣ電源１を制御し、電源制御部１１ｃはＤＣ／ＤＣ電源２を制御する。制御部１１ａは、電源制御部１１ｂ、１１ｃに対して目標電圧を指示する。電源制御部１１ｂ、１１ｃは、制御部１１ａからの指示に従って、ＤＣ／ＤＣ電源１、２が出力する電源電圧を目標電圧に制御するための制御信号をＤＣ／ＤＣ電源１、２に送信する。ＤＣ／ＤＣ電源１、２は、出力する電源電圧を目標電圧に調整すると、電圧調整が完了したことを示す電圧調整の完了通知ＰＷＲ＿ＯＫ１、ＰＷＲ＿ＯＫ２を制御部１１ａに送信する。制御部１１ａは、ＤＣ／ＤＣ電源１、２からの電圧調整の完了通知ＰＷＲ＿ＯＫ１、ＰＷＲ＿ＯＫ２を受信すると、目標電圧に応じて、制御信号Ｄａｔａ＿ＳＥＬ１、Ｄａｔａ＿ＳＥＬ２をセレクタ部９、１０に送信して、セレクタ部９、１０の制御を行う。
【００２６】
なお、切り替え制御部１１の構成としては、ＤＣ／ＤＣ電源１、２からの完了通知を制御部１１ａが受信するものには限られない。このようにする代わりに、電源制御部１１ｂ、１１ｃが完了通知を制御部１１ａに送信するとしても良い。具体的には、電源制御部１１ｂ、１１ｃは、タイマーを有し、ＤＣ／ＤＣ電源１、２に対して制御信号を送信してから所定時間経過したことを当該タイマーにより検出したときに、完了通知を制御部１１ａに送信するとしても良い。
【００２７】
上述したように、半導体集積回路３では、ドメイン４、５にそれぞれ供給される電圧が互いに異なる値となる場合には、非同期ブリッジ部６を介して、ドメイン４、５間における信号の送受信が行われる。一方、ドメイン４、５にそれぞれ供給される電圧が互いに同じ値となる場合には、非同期ブリッジ部６をバイパスして、ドメイン４、５間における信号の送受信が行われる。
【００２８】
しかしながら、ドメイン４，５にそれぞれ供給される電圧が互いに同じ値となる場合であっても、例えば、電源のクロック周波数が大幅に変更されたような場合には、電源内において急峻な電流変動が生じて電源電圧の変動が発生することがある。このとき、ドメイン４，５にそれぞれ供給される電圧が互いに異なる値になってしまい、別の言い方をすると、ドメイン４，５の電位差が上限電位差よりも大きくなってしまい、非同期ブリッジ部６をバイパスして信号の送受信を行うことが難しくなる。
【００２９】
そこで、第１実施形態に係る半導体集積回路３では、動作制御部１２、１３がそれぞれ、ドメイン４、５の電流変動を監視することとする。具体的には、動作制御部１２、１３は、モジュールの動作開始又は動作停止といった電流値の変更を伴う動作変更要求をドメイン４、５より受けると、当該動作変更要求を許可するか否かを決定してドメイン４、５に応答する。以下、具体的な制御方法について説明する。
【００３０】
図６は、動作制御部１２とドメイン４との接続構成の一例を示す図である。
【００３１】
図６に示す例では、ドメイン４は４つのモジュールＡ、Ｂ、Ｃ、Ｄを有するものとする。ドメイン４におけるモジュールＡ、Ｂ、Ｃ、Ｄはそれぞれ、動作開始又は動作停止といった動作変更要求を示す要求信号を動作制御部１２に送信する。また、モジュールＡ、Ｂ、Ｃ、Ｄはそれぞれ、動作変更要求に対する応答を示す応答信号を動作制御部１２より受信する。
【００３２】
具体的には、モジュールＡは、動作を開始する際に、動作開始要求を示す要求信号Ａ＿ＲＥＱ１を動作制御部１２へ送信し、それに対する応答信号Ａ＿ＡＣＫ１を動作制御部１２より受信する。また、モジュールＡは、動作を停止する際に、動作停止要求を示す要求信号Ｄ＿ＲＥＱ１を動作制御部１２へ送信し、それに対する応答信号Ｄ＿ＡＣＫ１を動作制御部１２より受信する。同様に、モジュールＢ、Ｃ、Ｄは、動作を開始する際に、動作開始要求を示す要求信号Ａ＿ＲＥＱ２、Ａ＿ＲＥＱ３、Ａ＿ＲＥＱ４を動作制御部１２へ送信する。そして、モジュールＢ、Ｃ、Ｄは、それに対する応答信号Ａ＿ＡＣＫ２、Ａ＿ＡＣＫ３、Ａ＿ＡＣＫ４を動作制御部１２より受信する。また、モジュールＢ、Ｃ、Ｄは、動作を停止する際に、動作停止要求を示す要求信号Ｄ＿ＲＥＱ２、Ｄ＿ＲＥＱ３、Ｄ＿ＲＥＱ４を動作制御部１２へ送信する。そして、モジュールＢ、Ｃ、Ｄは、それに対する応答信号Ｄ＿ＡＣＫ２、Ｄ＿ＡＣＫ３、Ｄ＿ＡＣＫ４を動作制御部１２より受信する。
【００３３】
なお、以下において、モジュールを区別しない場合には、信号を示す符号について数字部分を省略して示すこととする。例えば、モジュールを区別しない場合には、動作開始を要求する要求信号は「Ａ＿ＲＥＱ」として示され、それに対する応答信号は「Ａ＿ＡＣＫ」として示される。また、動作停止を要求する要求信号は「Ｄ＿ＲＥＱ」として示され、それに対する応答信号は「Ｄ＿ＡＣＫ」として示される。
【００３４】
ドメイン４における各モジュールは、動作変更要求を示す要求信号Ａ＿ＲＥＱ又はＤ＿ＲＥＱを動作制御部１２に送信する際に、動作変更の際の動作モードの情報を含めて送信する。以下では、この動作モードを「要求動作モード」と称することとする。
【００３５】
動作制御部１２は、ドメイン４における各モジュールから動作変更要求を示す要求信号Ａ＿ＲＥＱ又はＤ＿ＲＥＱを受信すると、ドメイン４全体の電流値を算出する。そして、動作制御部１２は、受信した要求信号Ａ＿ＲＥＱ又はＤ＿ＲＥＱに含まれる要求動作モードを基に、動作変更によるドメイン４全体の電流変化率を求める。動作制御部１２は、当該電流変化率が所定値以下になっているかを判定し、当該電流変化率が所定値以下になっていると判定した場合には、当該要求動作モードでの動作変更要求を許可する応答信号Ａ＿ＡＣＫ又はＤ＿ＡＣＫをモジュールに送信する。一方、動作制御部１２は、当該電流変化率が所定値よりも大きくなっていると判定した場合には、当該要求動作モードでの動作変更要求を許可しない応答信号Ａ＿ＡＣＫ又はＤ＿ＡＣＫをモジュールに送信する。なお、所定値は、例えば、ＤＣ／ＤＣ電源１の許容電流変化率である。ここで、許容電流変化率は、複数のドメインに供給される電源電圧が互いに同じ値となる場合において、複数のドメイン間で信号の送受信が行われる際に、非同期ブリッジ部６をバイパスしても信号の送受信を正確に行うことが可能な電流変化率である。別の言い方をすると、電源電圧の変動を抑え、ドメイン４、５間の電位差を上限電位差以下に保持することが可能な電流変化率である。
【００３６】
以下では、電流値の変更を伴う動作変更要求の例として、モジュールの動作開始処理及び動作停止処理のそれぞれの場合について、動作制御部１２及びドメイン４におけるモジュールの動作の例を、図７を用いて説明する。
【００３７】
図７は、ドメイン４における各モジュールの動作モードと電流値との関係を示す表の一例である。ここでは、要求動作モードは、クロック周波数比として示されている。例えば、モジュールＡは、要求動作モードが１／１と設定されたときは、電流値１００［ｍＡ］で動作するのに対し、要求動作モードが１／２と設定されたときは、クロック周波数が１／２となるときの電流値１００／２＝５０［ｍＡ］で動作する。なお、要求動作モード１／１は、モジュールが動作の開始を完了するときの動作モードであり、要求動作モード０／１は、モジュールが動作の停止を完了するときの動作モードである。このように、図７に示す例では、ドメイン４は、クロック周波数を分周することにより電流値を変更している。これにより、電流値を変更させつつ、クロックタイミングをドメイン間で合わせることが容易となる。
【００３８】
最初に、モジュールが動作を開始する動作開始処理の例として、ドメイン４において、モジュールＣだけが動作している状態からモジュールＡが動作を開始する場合の例について説明する。
【００３９】
まず、モジュールＡは、動作開始のため、要求動作モードを１／１とした動作開始要求を示す要求信号Ａ＿ＲＥＱ１を動作制御部１２に送信する。動作制御部１２は、当該要求信号Ａ＿ＲＥＱ１を受信すると、ドメイン４における電流変化率を算出する。このとき、ドメイン４では、モジュールＣだけが動作している状態となっているので、モジュールＣの電流値を６０［ｍＡ］とすると、ドメイン４全体の電流値は６０［ｍＡ］となる。一方、モジュールＡの要求動作モードは１／１となっているので、この要求動作モードを許可した場合におけるモジュールＡの動作開始後のドメイン４全体の電流値は６０＋１００＝１６０［ｍＡ］となる。従って、モジュールＡの動作開始前後におけるドメイン４全体の電流変化率は、１６０／６０＝２．６７、即ち、２６７［％］と算出される。
【００４０】
ここで、例えば、ドメイン４に電源電圧を供給するＤＣ／ＤＣ電源１の許容電流変化率が２００％となっているとすると、ドメイン４の電流変化率はＤＣ／ＤＣ電源１の許容電流変化率を超えることとなる。この場合には、ＤＣ／ＤＣ電源１より出力される電源電圧の上昇が発生して、ドメイン４、５間の電位差が上限電位差を超える可能性があるので、動作制御部１２は、動作開始を許可しない旨の応答信号Ａ＿ＡＣＫ１をモジュールＡに送信する。
【００４１】
モジュールＡは、動作開始を許可しない旨の応答信号Ａ＿ＡＣＫ１を受信すると、今度は、要求動作モードを１／２とした要求信号Ａ＿ＲＥＱ１を動作制御部１２に送信する。動作制御部１２は、当該要求信号Ａ＿ＲＥＱ１を受信すると、再度、ドメイン４における電流変化率を算出する。先にも述べたように、このとき、ドメイン４では、モジュールＣだけが動作している状態となっているので、ドメイン４全体の電流値は６０［ｍＡ］となる。一方、モジュールＡの要求動作モードは１／２となっているので、この要求動作モードを許可した場合におけるモジュールＡの動作開始後のドメイン４全体の電流値は６０＋５０＝１１０［ｍＡ］となる。従って、モジュールＡの動作開始前後におけるドメイン４全体の電流変化率は、１１０／６０＝１．８３、即ち、１８３［％］と算出される。
【００４２】
先にも述べたように、ＤＣ／ＤＣ電源１の許容電流変化率は２００％となっているので、この場合のドメイン４の電流変化率はＤＣ／ＤＣ電源１の許容電流変化率を超えない。従って、この場合には、ＤＣ／ＤＣ電源１より出力される電源電圧の上昇が発生せず、ドメイン４、５間の電位差が上限電位差を超えずに済むので、動作制御部１２は、動作開始を許可する旨の応答信号Ａ＿ＡＣＫ１をモジュールＡに送信する。モジュールＡは、動作開始を許可する旨の応答信号Ａ＿ＡＣＫ１を受信すると、許可された動作モード１／２で動作を開始する。つまり、モジュールＡは、電流値５０［ｍＡ］で動作を開始する。
【００４３】
次に、モジュールＡは、再度、要求動作モードを１／１とした要求信号Ａ＿ＲＥＱ１を動作制御部１２に送信する。動作制御部１２は、当該要求信号Ａ＿ＲＥＱ１を受信すると、再度、ドメイン４における電流変化率を算出する。このとき、ドメイン４では、モジュールＡ、Ｃが動作している状態となっており、ドメイン４全体の電流値は６０＋５０＝１１０［ｍＡ］となっている。一方、モジュールＡの要求動作モードは１／１となっているので、この要求動作モードを許可した場合におけるモジュールＡの動作モード変更後のドメイン４全体の電流値は６０＋１００＝１６０［ｍＡ］となる。従って、モジュールＡの動作モード変更前後におけるドメイン４全体の電流変化率は、１６０／１１０＝１．４５、即ち、１４５［％］と算出される。
【００４４】
ＤＣ／ＤＣ電源１の許容電流変化率は２００％となっているので、この場合のドメイン４の電流変化率はＤＣ／ＤＣ電源１の許容電流変化率を超えない。従って、動作制御部１２は、この要求動作モードでの動作開始を許可する旨の応答信号Ａ＿ＡＣＫ１をモジュールＡに送信する。モジュールＡは、当該応答信号Ａ＿ＡＣＫ１を受信すると、許可された要求動作モード１／１にクロック周波数を変更する。つまり、モジュールＡは、電流値を５０［ｍＡ］から１００［ｍＡ］に変更する。このようにして、モジュールＡは、動作モードを１／１として、即ち、電流値１００［ｍＡ］で動作し、モジュールＡの動作開始処理は終了する。
【００４５】
なお、上述の例では、モジュールＡの動作開始処理の例について示したが、他のモジュールＢ、Ｃ、Ｄの場合も同様にして、動作開始処理が行われる。
【００４６】
ここで、各モジュールの動作開始処理における動作制御部１２の制御処理について、図８に示すフローチャートを用いて説明する。
【００４７】
まず、ステップＳ１０１において、動作制御部１２は、ドメイン４における各モジュールのいずれかから動作開始要求を示す要求信号Ａ＿ＲＥＱを受信したかについて判定する。動作制御部１２は、各モジュールのいずれかからも要求信号Ａ＿ＲＥＱを受信していないと判定した場合には（ステップＳ１０１：Ｎｏ）、要求信号Ａ＿ＲＥＱを受信するまでステップＳ１０１の処理を繰り返す。一方、動作制御部１２は、各モジュールのいずれかから要求信号Ａ＿ＲＥＱを受信したと判定した場合には（ステップＳ１０１：Ｙｅｓ）、ステップＳ１０２の処理へ進む。
【００４８】
ステップＳ１０２において、動作制御部１２は、ドメイン４の電流変化率を算出する。具体的には、動作制御部１２は、要求信号Ａ＿ＲＥＱに含まれる要求動作モードを許可した場合のドメイン４の電流変化率を算出する。続くステップＳ１０３において、動作制御部１２は、算出された電流変化率を基に、当該要求動作モードでの動作の開始を許可するかについて判定する。具体的には、動作制御部１２は、算出された電流変化率が許容電流変化率以下になっているかについて判定する。
【００４９】
ステップＳ１０３において、動作制御部１２は、算出された電流変化率が許容電流変化率以下になっていると判定した場合には、当該要求動作モードでの動作開始処理を許可するものとし（ステップＳ１０３：Ｙｅｓ）、ステップＳ１０４の処理へ進む。ステップＳ１０４において、動作制御部１２は、動作開始処理を許可する旨の応答信号Ａ＿ＡＣＫを、要求信号Ａ＿ＲＥＱの送信元のモジュールに送信した後、本制御処理をリターンする。一方、ステップＳ１０３において、動作制御部１２は、算出された電流変化率が許容電流変化率を超えると判定した場合には、当該要求動作モードでの動作開始処理を許可しないものとして（ステップＳ１０３：Ｎｏ）、ステップＳ１０５の処理へ進む。ステップＳ１０５において、動作制御部１２は、動作開始処理を許可しない旨の応答信号Ａ＿ＡＣＫを、要求信号Ａ＿ＲＥＱの送信元のモジュールに送信した後、本制御処理をリターンする。動作制御部１２により動作開始要求が許可されなかったモジュールは、要求動作モードを変更して、再度、動作開始要求を動作制御部１２に送信する。
【００５０】
このように、ドメイン４における各モジュールの動作開始処理の際において、動作制御部１２は、ドメイン４全体の電流変化率がＤＣ／ＤＣ電源１の許容電流変化率を超えないように、各モジュールの動作モードを制御する。このようにすることで、電源電圧の変動を抑えることができ、ドメイン４、５間の電位差が上限電位差を超えずに済む。
【００５１】
次に、モジュールが動作を停止する動作停止処理の例として、ドメイン４において、モジュールＡ、Ｃが動作している状態からモジュールＡが動作を停止する場合の例について説明する。
【００５２】
まず、モジュールＡは、動作停止のため、要求動作モードを０／１とした動作停止要求を示す要求信号Ｄ＿ＲＥＱ１を動作制御部１２に送信する（図７参照）。動作制御部１２は、当該要求信号Ｄ＿ＲＥＱ１を受信すると、ドメイン４における電流変化率を算出する。このとき、ドメイン４では、モジュールＡ、Ｃが動作している状態となっているので、ドメイン４全体の電流値は６０＋１００＝１６０［ｍＡ］となる。一方、モジュールＡの要求動作モードは０／１となっているので、この要求動作モードを許可した場合の、即ち、モジュールＡの動作停止後のドメイン４全体の電流値は６０＋０＝６０［ｍＡ］となる。従って、モジュールＡの動作停止前後におけるドメイン４全体の電流変化率は、１６０／６０＝２．６７、即ち、２６７［％］と算出される。
【００５３】
先にも述べたように、ＤＣ／ＤＣ電源１の許容電流変化率は２００％となっているので、ドメイン４の電流変化率はＤＣ／ＤＣ電源１の許容電流変化率を超えることとなる。この場合には、ＤＣ／ＤＣ電源１より出力される電源電圧の下降が発生して、ドメイン４、５間の電位差が上限電位差を超える可能性があるので、動作制御部１２は、動作停止を許可しない旨の応答信号Ｄ＿ＡＣＫ１をモジュールＡに送信する。
【００５４】
モジュールＡは、動作停止を許可しない旨の応答信号Ｄ＿ＡＣＫ１を受信すると、今度は、要求動作モードを１／２とした要求信号Ｄ＿ＲＥＱ１を動作制御部１２に送信する。動作制御部１２は、当該要求信号Ｄ＿ＲＥＱ１を受信すると、再度、ドメイン４における電流変化率を算出する。先にも述べたように、このとき、ドメイン４では、モジュールＡ、Ｃが動作している状態となっているので、ドメイン４全体の電流値は１６０［ｍＡ］となっている。一方、モジュールＡの要求動作モードは１／２となっているので、この要求動作モードを許可した場合におけるモジュールＡの動作モード変更後のドメイン４全体の電流値は１６０−５０＝１１０［ｍＡ］となる。従って、モジュールＡの動作モード変更前後におけるドメイン４全体の電流変化率は、１６０／１１０＝１．４５、即ち、１４５［％］と算出される。
【００５５】
ＤＣ／ＤＣ電源１の許容電流変化率は２００％となっているので、この場合のドメイン４の電流変化率はＤＣ／ＤＣ電源１の許容電流変化率を超えない。従って、この場合には、ＤＣ／ＤＣ電源１より出力される電源電圧の下降が発生せず、ドメイン４、５間の電位差が上限電位差を超えずに済むので、動作制御部１２は、動作停止要求を許可する旨の応答信号Ｄ＿ＡＣＫ１をモジュールＡに送信する。モジュールＡは、当該応答信号Ｄ＿ＡＣＫ１を受信すると、許可された要求動作モード１／２にクロック周波数を変更する。
【００５６】
次に、モジュールＡは、再度、要求動作モードを０／１とした要求信号Ｄ＿ＲＥＱ１を動作制御部１２に送信する。動作制御部１２は、当該要求信号Ｄ＿ＲＥＱ１を受信すると、再度、ドメイン４における電流変化率を算出する。このとき、ドメイン４では、モジュールＡが動作モード１／２で動作し、モジュールＣが動作モード１／１で動作している状態となっているので、ドメイン４全体の電流値は５０＋６０＝１１０［ｍＡ］となる。一方、モジュールＡの要求動作モードは０／１となっているので、この要求動作モードを許可した場合の、即ち、モジュールＡの動作停止後のドメイン４全体の電流値は６０＋０＝６０［ｍＡ］となる。従って、モジュールＡの動作停止前後におけるドメイン４全体の電流変化率は、１１０／６０＝１．８３、即ち、１８３［％］と算出される。
【００５７】
ＤＣ／ＤＣ電源１の許容電流変化率は２００％となっているので、この場合のドメイン４の電流変化率はＤＣ／ＤＣ電源１の許容電流変化率を超えない。従って、動作制御部１２は、動作停止を許可する旨の応答信号Ｄ＿ＡＣＫ１をモジュールＡに送信する。モジュールＡは、動作停止を許可する旨の応答信号Ｄ＿ＡＣＫ１を受信すると、動作を停止する。これにより、モジュールＡの動作停止処理は完了する。
【００５８】
なお、上述の例では、モジュールＡの動作停止の例について示したが、他のモジュールＢ、Ｃ、Ｄの場合も同様にして、動作停止処理が行われる。
【００５９】
ここで、各モジュールの動作停止処理における動作制御部１２の制御処理について、図９に示すフローチャートを用いて説明する。
【００６０】
まず、ステップＳ２０１において、動作制御部１２は、ドメイン４における各モジュールのいずれかから動作停止要求を示す要求信号Ｄ＿ＲＥＱを受信したかについて判定する。動作制御部１２は、各モジュールのいずれかからも要求信号Ｄ＿ＲＥＱを受信していないと判定した場合には（ステップＳ２０１：Ｎｏ）、要求信号Ｄ＿ＲＥＱを受信するまでステップＳ２０１の処理を繰り返す。一方、動作制御部１２は、各モジュールのいずれかから要求信号Ｄ＿ＲＥＱを受信したと判定した場合には（ステップＳ２０１：Ｙｅｓ）、ステップＳ２０２の処理へ進む。
【００６１】
ステップＳ２０２において、動作制御部１２は、ドメイン４の電流変化率を算出する。具体的には、動作制御部１２は、要求信号Ｄ＿ＲＥＱに含まれる要求動作モードを許可した場合のドメイン４の電流変化率を算出する。続くステップＳ２０３において、動作制御部１２は、算出された電流変化率を基に、当該要求動作モードでの動作の開始を許可するかについて判定する。具体的には、動作制御部１２は、算出された電流変化率が許容電流変化率以下になっているかについて判定する。
【００６２】
ステップＳ２０３において、動作制御部１２は、算出された電流変化率が許容電流変化率以下になっていると判定した場合には、当該要求動作モードでの動作停止処理を許可するものとし（ステップＳ２０３：Ｙｅｓ）、ステップＳ２０４の処理へ進む。ステップＳ２０４において、動作制御部１２は、動作停止処理を許可する旨の応答信号Ｄ＿ＡＣＫを、要求信号Ｄ＿ＲＥＱの送信元のモジュールに送信した後、本制御処理をリターンする。一方、ステップＳ２０３において、動作制御部１２は、算出された電流変化率が許容電流変化率を超えると判定した場合には、当該要求動作モードでの動作停止処理を許可しないものとして（ステップＳ２０３：Ｎｏ）、ステップＳ２０５の処理へ進む。ステップＳ２０５において、動作制御部１２は、動作停止処理を許可しない旨の応答信号Ｄ＿ＡＣＫを、要求信号Ｄ＿ＲＥＱの送信元のモジュールに送信した後、本制御処理をリターンする。動作制御部１２により動作停止要求が許可されなかったモジュールは、要求動作モードを変更して、再度、動作停止要求を動作制御部１２に送信する。
【００６３】
このように、ドメインにおけるモジュールの動作停止処理の際においても、動作制御部は、ドメイン全体の電流変化率がＤＣ／ＤＣ電源の許容電流変化率を超えないように、モジュールの動作モードを制御する。このようにすることで、電源電圧の変動を抑えることができ、ドメイン４、５間の電位差が上限電位差を超えずに済む。
【００６４】
なお、上述の第１実施形態では、ドメイン４は１つ以上のモジュールを有し、当該モジュールと動作制御部１２との間で、動作開始処理及び動作停止処理が行われる旨述べた。これと同様に、ドメイン５も１つ以上のモジュールを有し、ドメイン５のモジュールと動作制御部１３との間においても、上述したのと同様の動作開始処理及び動作停止処理が行われるのは言うまでもない。
【００６５】
以上に述べたように、第１実施形態に係る半導体集積回路では、ドメインは、電流値の変更を伴う動作状態の変更の要求を示す動作変更要求を動作制御部に送信する。そして、動作制御部は、動作変更要求をドメインより受信すると、当該動作変更要求に係る動作変更によるドメイン全体の電流変化率を求め、当該電流変化率が所定値以下となっている場合に、当該動作変更要求を許可する。ここで、所定値は、例えば、ＤＣ／ＤＣ電源の許容電流変化率である。これにより、ＤＣ／ＤＣ電源内において電源電圧が変動するのを抑えることができ、ドメイン間の電位差が上限電位差を超えずに済む。このようにすることで、複数のドメインに供給される電源電圧が互いに同じ値となる場合において、複数のドメインに対し１つの電源から電源電圧を供給しなくても、ドメイン間で信号の送受信を正確に行うことが可能となる。
【００６６】
また、ドメインは、動作制御部により動作変更要求が許可されなかった場合には、電流値の変更量を変化させて、動作変更要求を動作制御部に再度送信する。これにより、ドメインの動作変更が行われる際において、ドメイン間の電位差が上限電位差を超えずに済む。
【００６７】
［第２実施形態］
次に、第２実施形態に係る半導体集積回路の制御方法について説明する。第２実施形態では、第１実施形態の場合と比較して、ドメイン全体の電流変化率の基準となる許容電流変化率を大きくする方法について説明する。
【００６８】
まず、第２実施形態に係る半導体集積回路の構成の一例について図１０を用いて説明する。
【００６９】
図１０において、図１に示したのと同じ構成要素については、同じ符号が付されている。図１０に示すように、第２実施形態に係る半導体集積回路３ａは、第１実施形態に係る半導体集積回路３の構成要素に加えて、統括動作制御部１４を有する。統括動作制御部１４は、互いに信号の送受信を行うドメイン４、５の動作制御部１２、１３の制御を行う。具体的には、統括動作制御部１４は、ドメイン４、５間で信号の送受信が行われる際に、動作制御部１２、１３を制御して、一方のドメインにおけるモジュールの動作開始処理と他方のドメインにおけるモジュールの動作停止処理とが同時に発生するのを防止する。ここで、統括動作制御部１４は、例えばＭＰＵがプログラムを実行することにより実現される。以下、具体的に説明する。
【００７０】
図１１は、動作制御部１２、１３と統括動作制御部１４との間の接続構成の一例を示す図である。
【００７１】
図１１において、ドメイン４は２つのモジュールＥ、Ｆを有するものとし、ドメイン５は２つのドメインＧ、Ｈを有するものとする。ドメイン４におけるモジュールＥ、Ｆはそれぞれ、動作変更要求を示す要求信号を動作制御部１２に送信し、当該動作変更要求に対する応答を示す応答信号を動作制御部１２より受信する。ドメイン５におけるモジュールＧ、Ｈはそれぞれ、動作変更要求を示す要求信号を動作制御部１３に送信し、動作変更要求に対する応答を示す応答信号を動作制御部１３より受信する。
【００７２】
具体的には、モジュールＥ、Ｆは、動作を開始する際に、動作開始要求を示す要求信号Ａ＿ＲＥＱ５、Ａ＿ＲＥＱ６を動作制御部１２へ送信し、それに対する応答信号Ａ＿ＡＣＫ５、Ａ＿ＡＣＫ６を動作制御部１２より受信する。また、モジュールＥ、Ｆは、動作を停止する際に、動作停止要求を示す要求信号Ｄ＿ＲＥＱ５、Ｄ＿ＲＥＱ６を動作制御部１２へ送信し、それに対する応答信号Ｄ＿ＡＣＫ５、Ｄ＿ＡＣＫ６を動作制御部１２より受信する。モジュールＥ、Ｆは、動作開始処理又は動作停止処理の完了時には、完了を示す通知信号ＥＮＤ５、ＥＮＤ６を動作制御部１２へ送信する。
【００７３】
モジュールＧ、Ｈは、動作を開始する際に、要求信号Ａ＿ＲＥＱ７、Ａ＿ＲＥＱ８を動作制御部１３に送信し、それに対する応答信号Ａ＿ＡＣＫ７、Ａ＿ＡＣＫ８を動作制御部１３より受信する。また、モジュールＧ、Ｈは、動作を停止する際に、要求信号Ｄ＿ＲＥＱ７、Ｄ＿ＲＥＱ８を動作制御部１３に送信し、それに対する応答信号Ｄ＿ＡＣＫ７、Ｄ＿ＡＣＫ８を動作制御部１３より受信する。モジュールＥ、Ｆは、動作開始処理又は動作停止処理の完了時には、完了を示す通知信号ＥＮＤ７、ＥＮＤ８を動作制御部１２へ送信する。
【００７４】
動作制御部１２は、モジュールＥ、Ｆのいずれかより動作開始要求を示す要求信号Ａ＿ＲＥＱを受信すると、モジュールの動作開始要求を示す要求信号ＡＤＤＲＥＱ１を統括動作制御部１４へ送信する。そして、動作制御部１２は、モジュールの動作開始の許可を示す応答信号ＡＤＤＡＣＫ１を統括動作制御部１４より受信すると、要求信号Ａ＿ＲＥＱの送信元のモジュールへ応答信号Ａ＿ＡＣＫを送信して、第１実施形態で述べた動作開始処理を行う。動作制御部１２は、モジュールＥ、Ｆのいずれかより通知信号ＥＮＤを受信すると、モジュールの動作開始処理が完了したことを通知する通知信号ＡＤＤＥＮＤ１を統括動作制御部１４へ送信する。
【００７５】
一方、動作制御部１２は、モジュールＥ、Ｆのいずれかより動作停止要求を示す要求信号Ｄ＿ＲＥＱを受信すると、モジュールの動作開始要求を示す要求信号ＤＥＬＲＥＱ１を統括動作制御部１４へ送信する。そして、動作制御部１２は、モジュールの動作開始の許可を示す応答信号ＤＥＬＡＣＫ１を統括動作制御部１４より受信すると、要求信号Ｄ＿ＲＥＱの送信元のモジュールへ応答信号Ｄ＿ＡＣＫを送信して、第１実施形態で述べた動作停止処理を行う。動作制御部１２は、モジュールＥ、Ｆのいずれかより通知信号ＥＮＤを受信すると、モジュールの動作停止処理が完了したことを通知する通知信号ＤＥＬＥＮＤ１を統括動作制御部１４へ送信する。
【００７６】
同様に、動作制御部１３は、モジュールＧ、Ｈのいずれかより動作開始要求を示す要求信号Ａ＿ＲＥＱを受信すると、モジュールの動作開始要求を示す要求信号ＡＤＤＲＥＱ２を統括動作制御部１４へ送信する。そして、動作制御部１２は、モジュールの動作開始の許可を示す応答信号ＡＤＤＡＣＫ２を統括動作制御部１４より受信すると、要求信号Ａ＿ＲＥＱの送信元のモジュールへ応答信号Ａ＿ＡＣＫを送信して、第１実施形態で述べた動作開始処理を行う。動作制御部１２は、モジュールＧ、Ｈのいずれかより通知信号ＥＮＤを受信すると、モジュールの動作開始処理が完了したことを通知する通知信号ＡＤＤＥＮＤ２を統括動作制御部１４へ送信する。
【００７７】
一方、動作制御部１３は、モジュールＧ、Ｈのいずれかより動作停止要求を示す要求信号Ｄ＿ＲＥＱを受信すると、モジュールの動作開始要求を示す要求信号ＤＥＬＲＥＱ２を統括動作制御部１４へ送信する。そして、動作制御部１３は、モジュールの動作開始の許可を示す応答信号ＤＥＬＡＣＫ２を統括動作制御部１４より受信すると、要求信号Ｄ＿ＲＥＱの送信元のモジュールへ応答信号Ｄ＿ＡＣＫを送信して、第１実施形態で述べた動作停止処理を行う。動作制御部１３は、モジュールＧ、Ｈのいずれかより通知信号ＥＮＤを受信すると、モジュールの動作停止処理が完了したことを通知する通知信号ＤＥＬＥＮＤ２を統括動作制御部１４へ送信する。
【００７８】
なお、以下において、動作制御部を区別しない場合には、信号を示す符号について数字部分を省略して示すこととする。例えば、動作制御部を区別しない場合には、動作開始要求を示す要求信号は「ＡＤＤＲＥＱ」として示され、それに対する応答信号は「ＡＤＤＡＣＫ」として示される。
【００７９】
統括動作制御部１４は、動作制御部１２、１３のうち、一方の動作制御部より動作開始要求を示す要求信号ＡＤＤＲＥＱを受信すると、他方の動作制御部がモジュールの動作停止処理中にあるかを確認する。統括動作制御部１４は、他方の動作制御部が動作停止処理中にない場合には、動作開始処理を許可する応答信号ＡＤＤＡＣＫを一方の動作制御部に送信する。一方、統括動作制御部１４は、他方の動作制御部が動作停止処理中にある場合には、当該他方の動作制御部より動作停止処理が完了したことを示す通知信号ＤＥＬＥＮＤを受信してから、動作開始処理を許可する応答信号ＡＤＤＡＣＫを一方の動作制御部に送信する。
【００８０】
また、統括動作制御部１４は、動作制御部１２、１３のうち、一方の動作制御部より動作停止要求を示す要求信号ＤＥＬＲＥＱを受信すると、他方の動作制御部がモジュールの動作開始処理中にあるかを確認する。統括動作制御部１４は、他方の動作制御部が動作開始処理中にない場合には、動作停止処理を許可する応答信号ＤＥＬＡＣＫを一方の動作制御部に送信する。一方、統括動作制御部１４は、他方の動作制御部が動作開始処理中にある場合には、当該他方の動作制御部より動作開始処理が完了したことを示す通知信号ＡＤＤＥＮＤを受信してから、動作停止処理を許可する応答信号ＤＥＬＡＣＫを一方の動作制御部に送信する。
【００８１】
図１２は、統括動作制御部１４の状態遷移図の一例である。統括動作制御部１４は、アイドル状態、動作開始処理状態、動作停止処理状態の３つの間で状態が遷移する。アイドル状態とは、動作制御部１２、１３のどちらの動作制御部においても、モジュールの動作開始処理、動作停止処理が行われていない状態を示す。動作開始処理状態とは、動作制御部１２、１３のうち、いずれかの動作制御部において、モジュールの動作開始処理が行われている状態を示す。動作停止処理状態とは、動作制御部１２、１３のうち、いずれかの動作制御部において、モジュールの動作停止処理が行われている状態を示す。
【００８２】
例えば、統括動作制御部１４がアイドル状態にある場合において、動作制御部１２、１３のうち、一方の動作制御部より動作開始要求を示す要求信号ＡＤＤＲＥＱを受信した場合を考えてみる。この場合、統括動作制御部１４は、動作開始処理を許可する応答信号ＡＤＤＡＣＫを当該一方の動作制御部に送信するとともに動作開始処理状態へと遷移する。この状態では、統括動作制御部１４は、他方の動作制御部より動作停止要求を示す要求信号ＤＥＬＲＥＱを受信しても、アイドル状態に戻るまで、要求信号ＤＥＬＲＥＱに対する応答信号ＤＥＬＡＣＫを送信しない。統括動作制御部１４は、要求信号ＡＤＤＲＥＱの送信元である動作制御部より動作開始処理の完了を示す信号ＡＤＤＥＮＤを受信すると、アイドル状態に戻る。
【００８３】
また、統括動作制御部１４がアイドル状態にある場合において、動作制御部１２、１３のうち、一方の動作制御部より動作停止要求を示す要求信号ＤＥＬＲＥＱを受信した場合を考えてみる。この場合、統括動作制御部１４は、動作停止処理を許可する応答信号ＤＥＬＡＣＫを当該一方の動作制御部に送信するとともに動作停止処理状態へと遷移する。この状態では、統括動作制御部１４は、他方の動作制御部より動作開始要求を示す要求信号ＡＤＤＲＥＱを受信しても、アイドル状態に戻るまで、それに対する応答信号ＡＤＤＡＣＫを送信しない。統括動作制御部１４は、要求信号ＤＥＬＲＥＱの送信元である動作制御部より動作停止処理の完了を示す信号ＤＥＬＥＮＤを受信すると、アイドル状態に戻る。
【００８４】
次に、ドメイン４において、モジュールＥが動作を開始する場合の動作開始処理の例について説明する。
【００８５】
モジュールＥは、動作開始の際において、動作開始要求を示す要求信号Ａ＿ＲＥＱ５を動作制御部１２へ送信する。動作制御部１２は、要求信号Ａ＿ＲＥＱ５を受信すると、モジュールの動作開始要求を示す要求信号ＡＤＤＲＥＱ１を統括動作制御部１４へ送信する。
【００８６】
統括動作制御部１４は、要求信号ＡＤＤＲＥＱ１を動作制御部１２より受信すると、アイドル状態又は動作開始処理状態にある場合には、モジュールの動作開始を許可する応答信号ＡＤＤＡＣＫ１を動作制御部１２に送信する。一方、統括動作制御部１４は、動作停止処理状態にある場合には、モジュールの動作開始を許可する応答信号ＡＤＤＡＣＫ１を動作制御部１２に送信しない。この場合には、統括動作制御部１４は、アイドル状態になってから、モジュールの動作開始を許可する応答信号ＡＤＤＡＣＫ１を動作制御部１２に送信する。統括動作制御部１４は、応答信号ＡＤＤＡＣＫ１を動作制御部１２に送信すると、動作開始処理状態に遷移する。動作制御部１２は、当該応答信号ＡＤＤＡＣＫ１を受信すると、応答信号Ａ＿ＡＣＫ５をモジュールＥに送信して、第１実施形態で述べた方法を用いて、モジュールＥの動作開始処理を行う。モジュールＥは動作開始処理が完了すると、通知信号ＥＮＤ５を動作制御部１２に送信する。動作制御部１２は、当該通知信号ＥＮＤ５を受信すると、通知信号ＡＤＤＥＮＤ１を統括動作制御部１４に送信する。統括動作制御部１４は、通知信号ＡＤＤＥＮＤ１を受信すると、アイドル状態に戻る。
【００８７】
ここで、モジュールの動作開始処理における統括動作制御部１４の制御処理について、図１３に示すフローチャートを用いて説明する。
【００８８】
まず、ステップＳ３０１において、統括動作制御部１４は、動作制御部１２、１３のうち、一方の動作制御部より、モジュールの動作開始要求を示す要求信号ＡＤＤＲＥＱを受信しているかについて判定する。統括動作制御部１４は、要求信号ＡＤＤＲＥＱを受信していないと判定した場合には（ステップＳ３０１：Ｎｏ）、要求信号ＡＤＤＲＥＱを受信するまで、ステップＳ３０１の処理を繰り返す。一方、統括動作制御部１４は、要求信号ＡＤＤＲＥＱを受信したと判定した場合には（ステップＳ３０１：Ｙｅｓ）、ステップＳ３０２の処理へ進む。
【００８９】
ステップＳ３０２において、統括動作制御部１４は、動作停止処理状態にあるかについて判定する。統括動作制御部１４は、動作停止処理状態にあると判定した場合には（ステップＳ３０２：Ｙｅｓ）、つまり、他方の動作制御部がモジュールの動作停止処理を行っている場合には、ステップＳ３０２の処理を繰り返す。この処理は、他方の動作制御部がモジュールの動作停止処理を完了して、統括動作制御部１４がアイドル状態に戻るまで待つ処理である。一方、統括動作制御部１４は、動作停止処理状態にないと判定した場合には（ステップＳ３０２：Ｎｏ）、つまり、他方の動作制御部がモジュールの動作停止処理を行っていない場合には、ステップＳ３０３の処理へ進む。
【００９０】
ステップＳ３０３において、統括動作制御部１４は、要求信号ＡＤＤＲＥＱに対する、モジュールの動作開始を許可する応答信号ＡＤＤＡＣＫを一方の動作制御部に送信した後、本制御処理をリターンする。
【００９１】
このように、統括動作制御部１４は、一方のドメインにおけるモジュールの動作開始処理を、他方のドメインにおけるモジュールの動作停止処理中には行わないとしている。このようにすることで、他方のドメインにおけるモジュールの動作停止処理中に一方のドメインにおけるモジュールの動作開始処理が発生することによるドメイン４、５間の電位差の増大を防ぐことができる。
【００９２】
次に、ドメイン４において、モジュールＥが動作を停止する場合の動作停止処理の例について説明する。
【００９３】
モジュールＥは、動作停止の際において、動作停止要求を示す要求信号Ｄ＿ＲＥＱ５を動作制御部１２へ送信する。動作制御部１２は、要求信号Ｄ＿ＲＥＱ５を受信すると、モジュールの動作停止要求を示す要求信号ＤＥＬＲＥＱ１を統括動作制御部１４へ送信する。
【００９４】
統括動作制御部１４は、要求信号ＤＥＬＲＥＱ１を動作制御部１２より受信すると、アイドル状態又は動作停止処理状態にある場合には、モジュールの動作停止を許可する応答信号ＤＥＬＡＣＫ１を動作制御部１２に送信する。一方、統括動作制御部１４は、動作開始処理状態にある場合には、モジュールの動作停止を許可する応答信号ＤＥＬＡＣＫ１を動作制御部１２に送信しない。この場合には、統括動作制御部１４は、アイドル状態になってから、モジュールの動作停止を許可する応答信号ＤＥＬＡＣＫ１を動作制御部１２に送信する。統括動作制御部１４は、応答信号ＤＥＬＡＣＫ１を動作制御部１２に送信すると、動作停止処理状態に遷移する。動作制御部１２は、当該応答信号ＤＥＬＡＣＫ１を受信すると、応答信号Ｄ＿ＡＣＫ５をモジュールＥに送信して、第１実施形態で述べた方法を用いて、モジュールＥの動作停止処理を行う。モジュールＥは動作停止処理が完了すると、通知信号ＥＮＤ５を動作制御部１２に送信する。動作制御部１２は、当該通知信号ＥＮＤ５を受信すると、通知信号ＤＥＬＥＮＤ１を統括動作制御部１４に送信する。統括動作制御部１４は、通知信号ＤＥＬＥＮＤ１を受信すると、アイドル状態に戻る。
【００９５】
ここで、モジュールの動作停止処理における統括動作制御部１４の制御処理について、図１４に示すフローチャートを用いて説明する。
【００９６】
まず、ステップＳ４０１において、統括動作制御部１４は、動作制御部１２、１３のうち、一方の動作制御部より、モジュールの動作停止要求を示す要求信号ＤＥＬＲＥＱを受信しているかについて判定する。統括動作制御部１４は、要求信号ＤＥＬＲＥＱを受信していないと判定した場合には（ステップＳ４０１：Ｎｏ）、要求信号ＤＥＬＲＥＱを受信するまで、ステップＳ４０１の処理を繰り返す。一方、統括動作制御部１４は、要求信号ＤＥＬＲＥＱを受信したと判定した場合には（ステップＳ４０１：Ｙｅｓ）、ステップＳ４０２の処理へ進む。
【００９７】
ステップＳ４０２において、統括動作制御部１４は、動作開始処理状態にあるかについて判定する。統括動作制御部１４は、動作開始処理状態にあると判定した場合には（ステップＳ４０２：Ｙｅｓ）、つまり、他方の動作制御部がモジュールの動作開始処理を行っている場合には、ステップＳ４０２の処理を繰り返す。この処理は、他方の動作制御部がモジュールの動作開始処理を完了して、統括動作制御部１４がアイドル状態に戻るまで待つ処理である。一方、統括動作制御部１４は、動作開始処理状態にないと判定した場合には（ステップＳ４０２：Ｎｏ）、つまり、他方の動作制御部がモジュールの動作開始処理を行っていない場合には、ステップＳ４０３の処理へ進む。
【００９８】
ステップＳ４０３において、統括動作制御部１４は、要求信号ＤＥＬＲＥＱに対する、モジュールの動作停止を許可する応答信号ＤＥＬＡＣＫを一方の動作制御部に送信した後、本制御処理をリターンする。
【００９９】
このように、統括動作制御部１４は、一方のドメインにおけるモジュールの動作停止処理を、他方のドメインにおけるモジュールの動作開始処理中には行わないとしている。このようにすることで、他方のドメインにおけるモジュールの動作開始処理中に一方のドメインにおけるモジュールの動作停止処理が発生することによるドメイン４、５間の電位差の増大を防ぐことができる。
【０１００】
以上に述べたことから分かるように、統括動作制御部１４は、ドメイン４、５間で信号の送受信が行われる際において、一方のドメインにおけるモジュールの動作開始処理と他方のドメインにおけるモジュールの動作停止処理とが同時に発生するのを防止する。これにより、第１実施形態で述べた方法と比較して、ドメイン４、５間の電位差が増大するのをより効果的に防ぐことができる。先の第１実施形態で述べた許容電流変化率は、ドメイン４、５において、一方のドメインでのモジュールの動作開始処理と他方のドメインでのモジュールの動作停止処理とが同時に発生した場合でも、信号の送受信を正確に行うことが可能な値とされている。それに対し、第２実施形態では、一方のドメインにおけるモジュールの動作開始処理と他方のドメインにおけるモジュールの動作停止処理とが同時に発生するのを防止している。従って、第２実施形態では、第１実施形態で述べた許容電流変化率と比較して、許容電流変化率を大きくすることができる。例えば、先に述べた第１実施形態では、ドメイン４に電源電圧を供給するＤＣ／ＤＣ電源１の許容電流変化率が２００％になっているとしていたが、第２実施形態では、当該許容電流変化率を例えば２８０％にすることができる。
【０１０１】
許容電流変化率を２８０％にしたときのモジュールの動作開始処理及び動作停止処理の例について図１５を用いて説明する。図１５は、ドメイン４における各モジュールの動作モードと電流値との関係を示す表の一例である。
【０１０２】
最初に、ドメイン４において、モジュールＦだけが動作している状態からモジュールＥが動作を開始する場合の動作開始処理の例について説明する。
【０１０３】
まず、モジュールＥは、動作開始のため、要求動作モードを１／１とした動作開始要求を示す要求信号Ａ＿ＲＥＱ５を動作制御部１２に送信する。動作制御部１２は、要求信号Ａ＿ＲＥＱ５を受信すると、モジュールの動作開始要求を示す要求信号ＡＤＤＲＥＱ１を統括動作制御部１４へ送信する。動作制御部１２は、統括動作制御部１４より応答信号ＡＤＤＡＣＫ１を受信すると、ドメイン４における電流変化率を算出する。具体的には、ドメイン４では、モジュールＦだけが動作している状態となっているので、モジュールＦの電流値を６０［ｍＡ］とすると、ドメイン４全体の電流値は６０［ｍＡ］となる。一方、モジュールＥの要求動作モードは１／１となっているので、この要求動作モードを許可した場合におけるモジュールＥの動作開始後のドメイン４全体の電流値は６０＋１００＝１６０［ｍＡ］となる。従って、モジュールＡの動作開始前後におけるドメイン４全体の電流変化率は、１６０／６０＝２．６７、即ち、２６７［％］となる。
【０１０４】
第２実施形態では、ＤＣ／ＤＣ電源１の許容電流変化率は２８０％となっているので、この場合のドメイン４の電流変化率はＤＣ／ＤＣ電源１の許容電流変化率を超えない。従って、動作制御部１２は、動作開始を許可する旨の応答信号Ａ＿ＡＣＫ１をモジュールＥに送信する。モジュールＥは、動作開始を許可する旨の応答信号Ａ＿ＡＣＫ１を受信すると、許可された動作モード１／１で動作を開始する。つまり、モジュールＥは、電流値１００［ｍＡ］で動作を開始する。
【０１０５】
次に、ドメイン４において、モジュールＥ、Ｆが動作している状態からモジュールＥが動作を停止する場合の動作開始処理の例について説明する。
【０１０６】
まず、モジュールＥは、動作停止のため、要求動作モードを０／１とした動作開始要求を示す要求信号Ｄ＿ＲＥＱ５を動作制御部１２に送信する。動作制御部１２は、要求信号Ｄ＿ＲＥＱ５を受信すると、モジュールの動作停止要求を示す要求信号ＤＥＬＲＥＱ１を統括動作制御部１４へ送信する。動作制御部１２は、統括動作制御部１４より応答信号ＤＥＬＡＣＫ１を受信すると、ドメイン４における電流変化率を算出する。具体的には、ドメイン４では、モジュールＥ、Ｆが動作している状態となっているので、ドメイン４全体の電流値は１００＋６０＝１６０［ｍＡ］となる。一方、モジュールＥの要求動作モードは０／１となっているので、この要求動作モードを許可した場合におけるモジュールＥの動作停止後のドメイン４全体の電流値は１６０−１００＝６０［ｍＡ］となる。従って、モジュールＡの動作開始前後におけるドメイン４全体の電流変化率は、１６０／６０＝２．６７、即ち、２６７［％］となる。
【０１０７】
第２実施形態では、ＤＣ／ＤＣ電源１の許容電流変化率は２８０％となっているので、この場合のドメイン４の電流変化率はＤＣ／ＤＣ電源１の許容電流変化率を超えない。従って、動作制御部１２は、動作停止を許可する旨の応答信号Ａ＿ＡＣＫ１をモジュールＥに送信する。モジュールＥは、動作開始を許可する旨の応答信号Ａ＿ＡＣＫ１を受信すると、モジュールＥは動作を停止する。
【０１０８】
なお、上述の第２実施形態では、ドメイン４と動作制御部１２との間で動作開始処理及び動作停止処理が行われる例を述べたが、ドメイン５と動作制御部１３との間においても、上述したのと同様の動作開始処理及び動作停止処理が行われるのは言うまでもない。
【０１０９】
以上に述べたように、第２実施形態に係る半導体集積回路では、統括動作制御部１４は、一方のドメインにおけるモジュールの動作開始処理と他方のドメインにおけるモジュールの動作停止処理とが同時に発生するのを防止している。つまり、統括動作制御部１４は、一方のドメインにおけるモジュールの動作開始処理による電流値の増加と他方のドメインにおけるモジュールの動作停止処理による電流値の減少とが同時に発生するのを防止している。これにより、第１実施形態に係る半導体集積回路と比較して、許容電流変化率を大きくすることができ、動作開始処理及び動作停止処理の際において、クロック周波数比の変更を行う回数を減らすことが可能となる。つまり、第２実施形態では、第１実施形態と比較して、動作開始処理及び動作停止処理にかかる時間を減少させることができる。
【０１１０】
なお、実施形態としてはこれに限られない。このようにする代わりに、統括動作制御部１４は、ドメインの電流値の増加又は減少の度に動作制御部より要求信号を受信して、一方のドメインにおける電流値の増加と他方のドメインにおける電流値の減少とが同時に発生するのを防止するとしても良い。具体的には、動作制御部１２、１３は、ドメインにおけるモジュールの動作開始処理及び動作停止処理の開始時だけでなく、要求動作モードの変更処理、具体的には、モジュールのクロック周波数比の変更処理の度に、要求信号を統括動作制御部に送信する。そして、統括動作制御部１４は、当該要求信号を基に、一方のドメインにおける電流値の増加を伴うクロック周波数比の変更処理中には、他方のドメインにおける電流値の減少を伴うクロック周波数比の変更処理を行わないこととする。このようにしても、第１実施形態に係る半導体集積回路と比較して、許容電流変化率を大きくすることができる。
【０１１１】
なお、実施形態は、上述した実施形態の例に限られるものではなく、特許請求の範囲及び明細書全体から読み取れる発明の要旨あるいは思想に反しない範囲で適宜変更可能である。例えば、上述の第１及び第２実施形態に係る半導体集積回路では、ドメインが２つ設けられるとしているが、これに限られない。このようにする代わりに、半導体集積回路は、３つ以上のドメインが設けられるとし、それらのうち、２つのドメイン間で通信が行われるような場合にも上述の第１及び第２実施形態を適用可能である。また、第１及び第２実施形態に係る半導体集積回路３、３ａでは、非同期ブリッジ部６が設けられるとしているが、これに限られるものではない。代わりに、非同期ブリッジ部６が設けられずに、ドメインに供給される電源電圧が互いに同じ値となるときに信号の送受信が行われる半導体集積回路にも第１及び第２実施形態を適用可能であるのは言うまでもない。
【符号の説明】
【０１１２】
１、２  ＤＣ／ＤＣ電源
３  半導体集積回路
４、５  ドメイン
１２、１３  動作制御部
【図１】
0005499693.tif 000002
【図２】
0005499693.tif 000003
【図３】
0005499693.tif 000004
【図４】
0005499693.tif 000005
【図５】
0005499693.tif 000006
【図６】
0005499693.tif 000007
【図７】
0005499693.tif 000008
【図８】
0005499693.tif 000009
【図９】
0005499693.tif 000010
【図１０】
0005499693.tif 000011
【図１１】
0005499693.tif 000012
【図１２】
0005499693.tif 000013
【図１３】
0005499693.tif 000014
【図１４】
0005499693.tif 000015
【図１５】
0005499693.tif 000016