"それぞれが動作率制御回路を含む複数の回路モジュールを有するユーザー回路と、前記複数の回路モジュールの動作率をモニタして前記ユーザー回路の電流変動量を判定し、該電流変動量の判定結果に従って、前記各動作率制御回路を介して対応する前記回路モジュールの動作率を制御する電源ノイズ抑制回路と、を有することを特徴とする半導体集積回路。前記電源ノイズ抑制回路は、前記電流変動量が電源系の共振周波数の周期からずれるように前記回路モジュールの動作率を制御する、ことを特徴とする請求項1に記載の半導体集積回路。前記電源ノイズ抑制回路は、前記複数の回路モジュールの動作時の電力値と相関の高い信号を受け取って、動作率の情報を示す動作率情報信号を出力する動作率モニタ部と、前記動作率情報信号を受け取って、対応する電流値の情報を示す電流値情報信号を出力する電流評価部と、前記電流値情報信号を受け取って、前記電流変動量が制限値を超過したことを示す電流変動量制限値超過信号を出力する電流変動量判定部と、前記電流変動量制限値超過信号を受け取って、前記動作率制御回路に対して動作率制御信号を出力する動作率制御部と、を有することを特徴とする請求項1または請求項2に記載の半導体集積回路。前記電流変動量判定部は、前記ユーザー回路における過去の第1電流値と現在の第2電流値との電流差が前記制限値を超過したかどうかを判定し、前記電流差が前記制限値を超過したと判定すると、前記動作率制御部は、前記回路モジュールの動作率を上昇させる、ことを特徴とする請求項3に記載の半導体集積回路。前記電流変動量判定部は、前記ユーザー回路における過去の第3電流値が、下限の第1規定値以下か、或いは、上限の第2規定値以上かどうかを判定する、ことを特徴とする請求項3に記載の半導体集積回路。前記電流変動量判定部は、前記第3電流値が前記第2規定値以上であると判定すると、前記第3電流値と現在の第4電流値との電流差が前記制限値以下かどうかを判定し、前記電流差が前記制限値以下であると判定すると、前記動作率制御部は、前記回路モジュールの動作率を上昇させる、ことを特徴とする請求項5に記載の半導体集積回路。前記電流変動量判定部は、前記第3電流値が前記第1規定値以下であると判定すると、前記第3電流値と現在の第4電流値との電流差が前記制限値以上かどうかを判定し、前記電流差が前記制限値以上であると判定すると、前記動作率制御部は、前記回路モジュールの動作率を下降させる、ことを特徴とする請求項5に記載の半導体集積回路。前記動作率制御部は、前記複数の回路モジュールにおける動作率の低いモジュールのみ動作率を上昇させるように制御する、ことを特徴とする請求項4または請求項6に記載の半導体集積回路。前記動作率制御部は、クロックゲーティングのディスエーブル、或いは、RAMのチップイネーブル制御の抑止を行って、前記回路モジュールにおける動作率を上昇させる、ことを特徴とする請求項4または請求項6に記載の半導体集積回路。前記動作率制御部は、クロック信号の周波数を下げ、プロセッサにおける命令の同時発行数を抑制し、或いは、ウェイト状態にして処理を休止することにより、前記回路モジュールにおける動作率を下降させる、ことを特徴とする請求項7に記載の半導体集積回路。前記動作率制御部は、前記電流変動量における電流の変動周期が、電源系の共振周波数帯からずれるように制御を行う、ことを特徴とする請求項3乃至請求項10のいずれか1項に記載の半導体集積回路。複数の回路モジュールを有するユーザー回路と、前記回路モジュールの動作率を制御する電源ノイズ抑制回路と、を有する半導体集積回路の制御方法であって、前記電源ノイズ抑制回路は、前記複数の回路モジュールの動作率から前記ユーザー回路の電流値の変動を求め、該ユーザー回路の電流値の変動が電源系の共振周波数の周期からずれるように前記回路モジュールの動作率を制御することを特徴とする半導体集積回路の制御方法。前記電源ノイズ抑制回路は、前記複数の回路モジュールの動作時の電力値と相関の高い信号を受け取って、動作率の情報を示す動作率情報信号を生成し、前記動作率情報信号を受け取って、対応する電流値の情報を示す電流値情報信号を生成し、前記電流値情報信号を受け取って、前記電流変動量が制限値を超過したことを示す電流変動量制限値超過信号を生成し、前記電流変動量制限値超過信号を受け取って、前記動作率制御回路に対する動作率制御信号を生成する、ことを特徴とする請求項12に記載の半導体集積回路の制御方法。前記電源ノイズ抑制回路は、前記ユーザー回路における過去の第1電流値と現在の第2電流値との電流差が前記制限値を超過したとき、前記回路モジュールの動作率を上昇させる、ことを特徴とする請求項13に記載の半導体集積回路の制御方法。前記電源ノイズ抑制回路は、前記ユーザー回路における過去の第3電流値が、下限の第1規定値以下か、或いは、上限の第2規定値以上かどうかを判定し、前記第3電流値が前記第2規定値以上であって、前記第3電流値と現在の第4電流値との電流差が前記制限値以下のとき、前記回路モジュールの動作率を上昇させ、前記第3電流値が前記第1規定値以下であって、前記第3電流値と前記第4電流値との電流差が前記制限値以上のとき、前記回路モジュールの動作率を下降させる、ことを特徴とする請求項13に記載の半導体集積回路の制御方法。上述したように、従来、例えば、ダイやパッケージ、或いは、ボード上にコンデンサを搭載して、電流変動が発生しても電源ノイズの影響が許容値以下になるようにしていた。しかしながら、このような従来のアプローチでは、今後、さらなるテクノロジの微細化の進展により低電圧大電流化が進むと、ΔI/Δt単位時間当たりの電流の変動量が大きくなるため、電源ノイズを抑制するのに必要なコンデンサの容量も大きくなる。その結果、ダイのサイズ増大や、パッケージ或いはボード上に搭載するコンデンサ部品の増加によるコスト増を来すことになる。また、例えば、コストを優先させるために、少ないコンデンサ部品で対応できるようにΔI/Δtを小さくすると、半導体集積回路に対して十分な低消費電力化手法を導入するのが制限されてしまうことにもなる。本実施形態によれば、それぞれが動作率制御回路を含む複数の回路モジュールを有するユーザー回路と、電源ノイズ抑制回路と、を有することを特徴とする半導体集積回路が提供される。前記電源ノイズ抑制回路は、前記複数の回路モジュールの動作率をモニタして前記ユーザー回路の電流変動量を判定し、該電流変動量の判定結果に従って、前記各動作率制御回路を介して対応する前記回路モジュールの動作率を制御する。開示の半導体集積回路およびその制御方法は、電源ノイズを抑制することができるという効果を奏する。以下、半導体集積回路およびその制御方法の実施例を、添付図面を参照して説明する。図1は、本実施例に係る半導体集積回路の一例を示すブロック図である。図1に示されるように、半導体集積回路チップは、ユーザー回路1、および、電源ノイズ抑制回路2を有する。ユーザー回路1は、複数の回路モジュール11,12,13,14を有し、各回路モジュール11,12,13,14は、それぞれ動作率制御回路110,120,130,140を有する。ここで、チップは、例えば、プロセッサCPU:CentralProcessingUnitに対応し、また、ユーザー回路1は、例えば、プロセッサのコアや動画処理回路ブロック等に対応する。さらに、各回路モジュール11~14は、例えば、演算器やRAM、或いは、キャシュメモリユニット等に対応し、そのチップが目的の機能を果たすために必要な処理を行う回路に対応する。なお、ユーザー回路1は、それぞれ動作率制御回路110~140を有する複数の回路モジュール11~14を有するものであれば、プロセッサのコアや動画処理回路ブロックに限定されるものではない。図1に示されるように、電源ノイズ抑制回路2は、動作率モニタ部21,電流評価部22,電流変動量判定部23、および、動作率制御部24を有する。動作率モニタ部21は、ユーザー回路1における各回路モジュール11~14の動作時の電力値と相関の高い信号電力見積り用信号pes1~pes4を受け取って動作率の情報を示す動作率情報信号peiを出力する。電流評価部22は、動作率モニタ部21からの動作率情報信号peiを受け取って対応する電流値の情報を示す電流値情報信号pciを出力する。さらに、電流変動量判定部23は、電流値情報信号pciを受け取って、電流変動量が制限値を超過したことを示す電流変動量制限値超過信号cfeを出力する。すなわち、電流変動量判定部23は、特定の周期例えば、電源系の共振周波数の周期Trにおける電流値の変動幅が許容値を超えたかどうかを判定して、その電流値の変動により生じる電源ノイズを抑制するための電流変動量制限値超過信号cfeを出力する。動作率制御部24は、電流変動量制限値超過信号cfeを受け取り、各回路モジュール11~14の動作率制御回路110~140に対して、動作率を制御する動作率制御信号opc1~opc4を出力する。また、動作率制御部24は、動作率モニタ部21に対してリセット信号rstを出力し、動作率の制御が完了したときに動作率モニタ部21をリセットする。すなわち、動作率制御部24は、特定の周期における電流値の変動幅が許容値を超えた場合に、各回路モジュール11~14の動作率制御回路110~140を制御して、電流値の変動幅を、電源系の共振周波数の周期Trからずれるように制御する。これにより、電源ノイズを抑制することが可能になる。図2は、図1に示す半導体集積回路における動作率制御回路の例を示す回路図であり、図2aは、クロックゲーティングによる動作率制御回路を示し、また、図2bは、RAMのチップイネーブル制御による動作率制御回路を示す。ここで、説明を簡略化するために、図2aは、回路モジュール11がフリップフロップFFの場合を示し、また、図2bは、回路モジュール12がメモリRAM:RandomAccessMemoryの場合を示す。まず、図2aに示されるように、動作率制御回路110は、アンドゲート111およびオアゲート112を有し、フリップフロッップ回路モジュール11を制御する。ここで、フリップフロッップ11は、CK端子の信号が高レベルHになることでDI端子の入力データの取り込み動作を行う。また、フリップフロッップ11のDO端子からは、取り込まれたデータが出力される。オアゲート112には、クロックイネーブル信号ckeおよび動作率制御部24からの動作率制御信号opc1が入力され、その出力は、クロック信号clkと共に、アンドゲート111に入力される。さらに、アンドゲート111の出力は、フリップフロッップ11のクロック入力CKに入力される。そして、アンドゲート111の出力がHになると、すなわち、ckeまたはopc1の少なくとも一方がHで、clkがHに変化すると、フリップフロッップ11は、上述したデータの取り込み動作を実行する。従って、例えば、クロックイネーブル信号ckeが低レベルLであっても、動作率制御信号opc1がHであれば、フリップフロップ11は、クロック信号clkに従ったデータの取り込み動作を行い、所定の電力を消費することになる。次に、図2bに示されるように、動作率制御回路120は、チップイネーブル信号cheおよび動作率制御信号opc2を受け取るオアゲートで構成され、メモリ回路モジュール12を制御する。ここで、メモリ12は、クロック信号clkを受け取るクロック端子CK,そのメモリをイネーブルにするチップイネーブル端子CE,アドレス信号を受け取るアドレス端子ADDおよびライトイネーブル信号weを受け取るライトイネーブル端子WEを有する。なお、DIは、書き込みデータを受け取る端子を示し、また、DOは、読み出しデータを出力する端子を示す。従って、例えば、チップイネーブル信号cheがLであっても、動作率制御信号opc2がHであれば、チップイネーブル端子CEには、オアゲート120の出力Hが供給され、メモリ12はイネーブル状態になり、所定の電力を消費することになる。このように、図2aおよび図2bに示す動作率制御回路110および120は、動作率制御信号opc1およびopc2により、それぞれ回路モジュール11および12の動作率を制御上昇させる機能を有している。なお、図2aおよび図2bは、単なる例であり、各回路モジュール11~14およびそれらの動作率制御回路110~140は、様々な構成とすることができるのはいうまでもない。また、動作率の下降は、例えば、クロック信号の周波数を下げたり、プロセッサであれば命令の同時発行数を抑制したり、ウェイト状態にして処理を休止したりすることにより実現可能である。図3は、図1に示す半導体集積回路における動作率モニタ部の一例を示すブロック図である。図3に示されるように、動作率モニタ部21は、ユーザー回路1における各回路モジュール11~14からの電力見積り用信号pes1~pes4により動作率を求める回路であり、加算器211、および、動作率レジスタ212を有する。動作率レジスタ212は、加算器211の出力を格納し、加算器211は、電力見積り用信号pespes1~pes4に対して、動作率レジスタ212の出力動作率情報信号peiを加算して出力する。なお、動作率レジスタ212は、後述する動作率制御部24からのリセット信号rstによりリセットされる。すなわち、加算器211および動作率レジスタ212は、例えば、リセット信号rstがネゲートしている所定サイクル数の期間、電力見積り用信号pesが何サイクル分Hであったかをカウントして、動作率情報信号peiを出力する。ここで、電力見積り用信号pes、すなわち、各回路モジュール11~14からの電力見積り用信号pes1~pes4としては、様々な信号を利用することができる。具体的に、電力見積り用信号pesとしては、例えば、パイプラインで有効な処理が行われることを示すパイプラインのバリッド信号や、演算器で演算処理を行うことを示す演算器のバリッド信号等を利用することができる。さらに、電力見積り用信号pesとしては、例えば、レジスタファイルまたはRAMの読み出しおよび書き込みが行われることを示すリードイネーブル信号やライトイネーブル信号、或いは、キャッシュヒットミス信号等も利用することができる。すなわち、電力見積り用信号pesとしては、ユーザー回路1がどのような処理を行っているかを把握することができる信号のうち、電力値と相関の高い信号を利用することが可能である。これらの信号は、例えば、LSIの設計時に行う電力解析などにより、抽出して適用することになる。図4は、図1に示す半導体集積回路における電流評価部の一例を示す図である。図4に示されるように、電流評価部22は、動作率モニタ部21からの動作率情報信号peiを受け取り、その動作率情報信号peiに対応した電流値情報信号pciを出力する変換テーブルを有している。ここで、変換テーブルは、固定のテーブルとしても良いが、ソフトウエアで書き換え可能なテーブルとして構成することもできる。すなわち、変換テーブルは、書き換え可能な不揮発性メモリやEFUSEのような1回のみ書き換え可能なメモリとしても良い。このように、チップ製造後に書き換え可能な構成としておくことにより、チップ製造後にパッケージ等の変更があって、その結果、共振周波数が変化した場合、或いは、チップの動作周波数が変更された場合等に対しても、適切な制御を行うことが可能になる。具体的に、図4に示されるように、電流評価部22は、動作率モニタ部21からの動作率情報信号pei例えば、0~31のカウント値を受け取って、変換テーブルに従った対応する2,4,6,...,16の電流値情報信号pciに変換して出力する。ここで、動作率情報信号および電流値情報信号は、動作率が高い、すなわち、消費電流が大きい場合に、その値が大きくなる。図5は、図1に示す半導体集積回路における電流変動量判定部の一例を示すブロック図である。図5に示されるように、電流変動量判定部23は、電流履歴レジスタ231、減算器加算器232、電流変動制限値レジスタ233、および、比較器234を有する。電流履歴レジスタ231は、例えば、4段のレジスタP0~P3を有するシフトレジスタとして構成される。ここで、レジスタP0には現区間の電流値情報信号が格納され、レジスタP1には1区間前の電流値情報が格納され、レジスタP2には2区間前の電流値情報が格納され、そして、レジスタP3には3区間前の電流値情報が格納される。減算器232は、レジスタP3に格納された3区間前の電流値情報例えば、4からレジスタP0に格納された現区間の電流値情報例えば、12を減算し、その減算結果例えば、4-12=-8を比較器234の一方の入力に供給する。比較器234は、上記減算器232の減算結果と、電流変動量制限値レジスタ233に設定された値とを比較し、その減算結果が設定された値を超えると、電流変動量制限値超過信号cfeを出力するようになっている。ここで、電流変動量制限値レジスタ233に設定する値は、例えば、ソフトウエアから書き込み可能とされている。なお、図5では、電流履歴レジスタ231におけるレジスタの本数シフトレジスタの段数は4本とされているが、電流測定の確度を高めるには、電源系の共振周波数と電流履歴レジスタを更新する周期を加味し、できるだけ多くの本数を設けるのが好ましい。しかしながら、電流履歴レジスタ231におけるレジスタの本数が多くなると、その電流履歴レジスタの面積や、その消費電力のオーバーヘッドなどが増加するため、それらのトレードオフを考慮して、レジスタの本数が決定されることになる。また、電流履歴レジスタ231に格納する電流値情報は、各回路モジュールの電流値情報を格納してもよいが、チップ全体の電力値として、全ての回路モジュールの電流値情報の総和を格納することもできる。さらに、電流変動量制限値レジスタ233の内容は、固定値として予め設定しておいてもよいが、前述のようにソフトウエアにより書き換え可能な構成とすることもできる。図6は、図1に示す半導体集積回路における動作率制御部の一例を示すブロック図およびその処理を説明するための図である。すなわち、図6aは、動作率制御部24の一例を示すブロック図であり、また、図6bは、電流変動量制限値超過信号cfeから動作率制御信号opcを生成する処理を説明するための図である。図6aに示されるように、動作率制御部24は、動作率制御波形情報格納レジスタ241、および、動作率制御波形発生器242を有する。動作率制御波形情報格納レジスタ241は、動作率制御波形のアサート期間を格納するレジスタである。図6bに示されるように、動作率制御波形発生器242は、動作率制御波形情報格納レジスタ241の内容と電流変動量制限値超過信号cfeとを用いて、動作率制御信号opcopc1~opc4を発生する。すなわち、動作率制御信号opcは、電流変動量制限値超過信号cfeが立ち上がってから、動作率制御波形情報格納レジスタ241で示される期間だけHになるアサートされるようにして動作率制御部24から出力される。ここで、動作率制御信号opcをアサートする期間は、例えば、電源系の共振周波数の一周期分Trなどに調整しておく。なお、動作率制御波形情報格納レジスタ241に書き込む動作率制御波形情報は、例えば、ソフトウエアから書き込み可能になっている。図7は、電源系インピーダンスの周波数依存性を説明するための図である。半導体集積回路のダイ,パッケージおよびボードから構成される電源系のインピーダンスの周波数依存性は、例えば、図7のように複数のピークを持った特性になり、インピーダンスの高い共振周波数RFsが存在することが分かる。電源系の共振周波数RFsは、例えば、100MHzよりも低い周波数帯域に現れ、その共振周波数RFsの付近で電流変動が発生すると、電源ノイズ量が大きくなる。そこで、本実施例では、電源ノイズ量を小さくするには、共振周波数RFsの付近で電流変動が発生しないように、ユーザー回路1回路モジュール11~14の動作率を制御するようになっている。図8は、本実施例の半導体集積回路における処理の一例を説明するためのフローチャートであり、また、図9は、図8に示す処理を説明するための図である。ここで、図9aに示されるように、本実施例を適用する前は、電源系の共振周波数の周期Trで電流変動が発生している場合を考える。まず、図8に示されるように、チップを起動した後、ステップST11において、動作率モニタ部21により、各ユーザー回路モジュール11~14の電力見積り用信号pes1~pes4を受け取って、ユーザー回路1の動作率情報信号peiを出力する。さらに、ステップST12に進んで、電流評価部22により、動作率情報peiを電流値情報pciに変換して電流値情報信号pciを格納し、ステップST13に進む。すなわち、図9bに示されるように、電流評価部22は、動作率情報信号peiを、A→B→C→D→...と変化する電流値情報信号pciに変換して格納する。ステップST13では、電流変動量判定部23により、電流評価部22が格納している電源系の1/2の周期前の電流値と現在の電流値との電流差を、制限値と比較する。すなわち、例えば、図5のように、3区間前の電流値情報から現区間の電流値情報を減算して得られた電流差は、図9cに示されるように、レジスタP3からレジスタP0の値を減算した電流差となり、この電流差を所定の制限値と比較する。そして、ステップST14に進んで、電流変動量判定部23により、電流差が制限値以上ではないと判定すると、ステップST11に戻って、上述した処理を繰り返す。一方、ステップST14において、電流差が制限値以上であると判定すると、ステップST15に進んで、電流変動量判定部23により、電流差制限値超過検出信号cfeをアサートして動作率制御部24に通知して、ステップST16に進む。ステップST16では、動作率制御部24により、ユーザー回路1における回路モジュールの動作率制御信号opcopc1~opc4をアサートして回路の動作率を上昇させるように制御して、ステップST11に戻る。具体的に、図9cは、P3に保持された3区間前のAからP0のDを減算した電流差A-Dが制限値を超えて、電流変動量制限値超過信号cfeが立ち上がり、動作率制御信号opcが所定期間TdeだけHになる様子を示している。なお、図9cでは、動作率制御信号opcがHになる所定期間Tdeは、共振周波数の周期Trと同じ期間とされ、例えば、このTrTdeの期間だけ回路モジュール11のクロックゲーティングをディスエーブルにして、その動作率を上昇させる。ここで、動作率制御信号opcopc1により、動作率を上昇させる回路モジュール11は、1つの回路モジュールに限定されず、複数の回路モジュールを同時に制御して動作率を上昇させてもよい。また、動作率を上昇させる制御は、上述したクロックゲーティングのディスエーブルの他に、例えば、図2bを参照して説明したRAMのチップイネーブル制御の抑止、或いは、知られている他の様々な手法を適用することができる。これにより、図9dに示されるように、ユーザー回路1の動作率の下降が抑制され、すなわち、図9dにおける破線が実線へ上昇して電流の変動が小さくなって、電源系の共振周波数の周期Trに対応する電流変動が発生しなくなり、ノイズ量が小さくなる。そして、ステップST17に進んで、動作率制御部24により、電源系の共振周波数の周期が経過した後、動作率制御信号opc1~opc4をネゲートして、ステップST11に戻る。図10は、本実施例の半導体集積回路における処理の他の例を説明するためのフローチャートであり、また、図11および図12は、図10に示す処理を説明するための図である。ここで、図10および図11を参照して以下に説明する例では、規定値を上限および下限の両方に設定し、過去の電流値が下限の規定値以下か、或いは、上限の規定値以上かを判定して動作率の制御を行うようになっている。なお、図11aに示されるように、本実施例を適用する前は、前述した図8および図9の実施例と同様に、電源系の共振周波数の周期で電流変動が発生しているものとする。まず、図12を参照して、図10のフローチャートにおける電流の規定値規定値下限,規定値上限を説明する。図12において、参照符号Iminは半導体集積回路LSIの最小電流値、ImaxはLSIの最大電流値、ILminは下限の規定値規定値下限、そして、ILmaxは上限の規定値規定値上限を示す。さらに、参照符号ICmaxはLSIの最大電流変動量、ΔImaxは電源系が許容できる最大の電流変動量、Pminは最小電力、そして、Pmaxは最大電力を示す。ところで、LSIは、その動作状態により、最小電力Pminおよび最大電力Pmaxを有しており、最小電力Pminの場合、電流値は最小電流値Iminになり、また、最大電力Pmaxの場合、電流値は最大電流値Imaxになる。従って、LSIの電源系が許容できる最大の電流変動量ΔImaxは、その最大電流値Imaxから最小電流値Iminを引いたものと等しくなり、ΔImax=Imax-Iminになる。ここで、電流の変動量が、電源系が許容できる最大の電流変動量ΔImaxを超えない場合、ボードやパッケージの電源系のデカップリングキャパシタ等により、電源ノイズが抑制されるため、動作率の制御を行って電流変動を制御する必要はない。すなわち、電流評価部22が格納する過去の電流値が、規定値下限ILminよりも大きくて規定値上限ILmaxよりも小さい場合、現在の電流値がどのような値であっても、電流の変動量はΔImaxを超えることはなく、動作率の制御は不要となる。以下、図10および図11を参照して、本実施例の半導体集積回路における処理の他の例を説明する。まず、図10に示されるように、チップを起動した後、ステップST21において、動作率モニタ部21により、各ユーザー回路モジュール11~14の電力見積り用信号pes1~pes4を受け取って、ユーザー回路1の動作率情報信号peiを出力する。さらに、ステップST22に進んで、電流評価部22により、動作率情報peiを電流値情報pciに変換して電流値情報信号pciを格納し、ステップST23に進む。すなわち、図11bに示されるように、電流評価部22は、動作率情報信号peiを、A→B→C→D→...と変化する電流値情報信号pciに変換して格納する。以上の処理は、前述した図8と同様である。次に、ステップST23において、電流変動量判定部23により、電流評価部22が格納している過去の電流値が、規定値下限下限の規定値ILmin以下か、或いは、規定値上限上限の規定値ILmax以上かどうかのチェックを行う。そして、ステップST24に進んで、電流変動量判定部23により、過去の電流値が、規定値範囲内、すなわち、規定値下限ILminよりも大きくて規定値上限ILmaxよりも小さいと判定すると、ステップST21に戻る。ここで、規定値下限ILminおよび規定値上限ILmaxは、電源系で許容可能な電流変動量ΔImaxと、そのLSIの最小電流値Iminと、最大電流値Imaxとから決定する。すなわち、前述した図12から明らかなように、ILminおよびILmaxは、次の式が成立するように決められる。ILmax>IminΔImaxILmin<Imax-ΔImaxこのように、規定値下限ILminおよび規定値上限ILmaxを決定することにより、電源系で許容可能な電流変動量ΔImaxを超える可能性のない電流遷移が起きる場合には、動作率の制御を行わないようにすることができる。ここで、ステップST24において、電流変動量判定部23により、過去の電流値が、規定値下限ILmin以下であると判定すると、ステップST25に進む。ステップST25では、電流変動量判定部23により、電流評価部22が格納している過去の電流値P1の電流値と現在の電流値P0の電流値との電流差を、制限値と比較する。すなわち、例えば、図11cに示されるように、レジスタP1からレジスタP0の値を減算し、その電流差を所定の制限値と比較する。そして、ステップST26に進んで、電流変動量判定部23により、電流差が制限値以上ではないと判定すると、ステップST21に戻って、上述した処理を繰り返す。一方、ステップST26において、電流差が制限値以上であると判定すると、ステップST27に進んで、電流変動量判定部23により、電流差制限値超過検出信号cfeをアサートして動作率制御部24に通知して、ステップST28に進む。ステップST28では、動作率制御部24により、ユーザー回路1における回路モジュールの動作率制御信号opcopc1~opc4をアサートして回路の動作率を下降させるように制御して、ステップST29に進む。具体的に、ステップST28において、動作率制御部24は、例えば、クロック信号の周波数を下げ、プロセッサであれば命令の同時発行数を抑制し、或いは、ウェイト状態にして処理を休止することにより、回路の動作率を下降させる。具体的に、図11cは、P1に保持された1区間前のBからP0のCを減算した電流差B-Cが制限値を超えて、電流変動量制限値超過信号cfeが立ち上がり、動作率制御信号opcが所定期間TadだけHになる様子を示している。なお、図11cでは、動作率制御信号opcがHになる所定期間Tadは、電源系の共振周波数の周期Trの2/5程度とされている。これは、その期間Tadだけ動作率を低減して電流変動を共振周波数の周期からずらすことができれば任意の期間でよいが、その期間だけLSIの動作を低減させることになるため、期間Tadは短い方が好ましい。ここで、動作率制御信号opcにより、動作率を下降させる回路モジュールは、1つの回路モジュールに限定されず、複数の回路モジュールを同時に制御して動作率を下降させてもよい。これにより、図11dに示されるように、ユーザー回路1の動作率の上昇が抑制され、具体的に、クロック信号の周波数を下げることにより消費電流が低下すると共に、電流変動が時間方向に延長され、共振周波数の周期Trからずれることになる。すなわち、電源系の共振周波数の周期Trに対応した電流変動が発生しなくなり、ノイズ量が小さくなる。そして、ステップST29に進んで、動作率制御部24により、電源系の所定の期間例えば、共振周波数の周期Trが経過した後、動作率制御信号opcopc1~opc4をネゲートして、ステップST21に戻る。一方、ステップST24において、電流変動量判定部23により、過去の電流値が、規定値上限ILmax以上であると判定すると、ステップST30に進む。ステップST30では、電流変動量判定部23により、電流評価部22が格納している過去の電流値P1の電流値と現在の電流値P0の電流値との電流差を、制限値と比較する。そして、ステップST31に進んで、電流変動量判定部23により、電流差が制限値以下ではないと判定すると、ステップST21に戻って、上述した処理を繰り返す。また、ステップST31において、電流差が制限値以下であると判定すると、ステップST32に進んで、電流変動量判定部23により、電流差制限値超過検出信号cfeをアサートして動作率制御部24に通知して、ステップST33に進む。ステップST33では、動作率制御部24により、ユーザー回路1における回路モジュールの動作率制御信号opcopc1~opc4をアサートして回路の動作率を上昇させるように制御して、ステップST34に進む。そして、ステップST34において、動作率制御部24により、電源系の所定の期間例えば、共振周波数の周期Trが経過した後、動作率制御信号opcをネゲートして、ステップST21に戻る。なお、電流変動の傾きの制限値は、電源系の共振周波数の周期Trで電流変動が発生することがないように、例えば、|ΔImax/Tr/2|となるように決めることができる。ここで、上述したステップST31~ST34は、図8を参照して説明したステップST14~ST17に相当する。なお、動作率を上昇させる制御は、前述したように、クロックゲーティングのディスエーブル、RAMのチップイネーブル制御の抑止、或いは、知られている他の様々な手法を適用することができる。さらに、動作率制御信号opcにより動作率を制御する回路モジュールとしては、例えば、必要以上の電力の増加を防止するために、ユーザー回路の電力が最大のときに、クロックやRAMが動作している回路に限定するのが好ましい。これは、動作率が低い回路のクロックゲーティングを停止することがなくなるため、クロックゲーティングを停止することによる電流値の上昇分を引き下げることができ、最大電力の増加量を小さくすることが可能になる。そして、本実施例の半導体集積回路によれば、回路の電流変動を、電源系の共振周波数の周期からずらすことで、ノイズの発生を抑制して半導体集積回路の誤動作を低減することが可能になる。また、チップやパッケージ或いはボードに搭載するデカップリングキャパシタを少なくすることにより、電源ノイズ対策のコストを削減することができる。さらに、クロックゲーティングやRAMのチップイネーブル制御などの低消費電力化手法の実装により発生する電源ノイズを小さく抑制しながら、これらの手法を積極的に導入することにより、半導体集積回路の低消費電力化を図ることが可能になる。また、電源ノイズを小さく抑制することができるため、さらに電源電圧を低くすることが可能になり、半導体集積回路の低消費電力化を図ることができる。"