(57)【要約】  それぞれが動作率制御回路を含む複数の回路モジュールを有するユーザー回路と、前記複数の回路モジュールの動作率をモニタして前記ユーザー回路の電流変動量を判定し、該電流変動量の判定結果に従って、前記各動作率制御回路を介して対応する前記回路モジュールの動作率を制御する電源ノイズ抑制回路と、を有し、前記電流変動量における電流の変動周期が、電源系の共振周波数帯からずれるように制御を行う。
2012153377.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが動作率制御回路を含む複数の回路モジュールを有するユーザー回路と、
前記複数の回路モジュールの動作率をモニタして前記ユーザー回路の電流変動量を判定し、該電流変動量の判定結果に従って、前記各動作率制御回路を介して対応する前記回路モジュールの動作率を制御する電源ノイズ抑制回路と、
を有することを特徴とする半導体集積回路。
【請求項２】
前記電源ノイズ抑制回路は、前記電流変動量が電源系の共振周波数の周期からずれるように前記回路モジュールの動作率を制御する、
ことを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記電源ノイズ抑制回路は、
前記複数の回路モジュールの動作時の電力値と相関の高い信号を受け取って、動作率の情報を示す動作率情報信号を出力する動作率モニタ部と、
前記動作率情報信号を受け取って、対応する電流値の情報を示す電流値情報信号を出力する電流評価部と、
前記電流値情報信号を受け取って、前記電流変動量が制限値を超過したことを示す電流変動量制限値超過信号を出力する電流変動量判定部と、
前記電流変動量制限値超過信号を受け取って、前記動作率制御回路に対して動作率制御信号を出力する動作率制御部と、
を有することを特徴とする請求項１または請求項２に記載の半導体集積回路。
【請求項４】
前記電流変動量判定部は、前記ユーザー回路における過去の第１電流値と現在の第２電流値との電流差が前記制限値を超過したかどうかを判定し、
前記電流差が前記制限値を超過したと判定すると、前記動作率制御部は、前記回路モジュールの動作率を上昇させる、
ことを特徴とする請求項３に記載の半導体集積回路。
【請求項５】
前記電流変動量判定部は、前記ユーザー回路における過去の第３電流値が、下限の第１規定値以下か、或いは、上限の第２規定値以上かどうかを判定する、
ことを特徴とする請求項３に記載の半導体集積回路。
【請求項６】
前記電流変動量判定部は、
前記第３電流値が前記第２規定値以上であると判定すると、前記第３電流値と現在の第４電流値との電流差が前記制限値以下かどうかを判定し、
前記電流差が前記制限値以下であると判定すると、前記動作率制御部は、前記回路モジュールの動作率を上昇させる、
ことを特徴とする請求項５に記載の半導体集積回路。
【請求項７】
前記電流変動量判定部は、
前記第３電流値が前記第１規定値以下であると判定すると、前記第３電流値と現在の第４電流値との電流差が前記制限値以上かどうかを判定し、
前記電流差が前記制限値以上であると判定すると、前記動作率制御部は、前記回路モジュールの動作率を下降させる、
ことを特徴とする請求項５に記載の半導体集積回路。
【請求項８】
前記動作率制御部は、前記複数の回路モジュールにおける動作率の低いモジュールのみ動作率を上昇させるように制御する、
ことを特徴とする請求項４または請求項６に記載の半導体集積回路。
【請求項９】
前記動作率制御部は、クロックゲーティングのディスエーブル、或いは、ＲＡＭのチップイネーブル制御の抑止を行って、前記回路モジュールにおける動作率を上昇させる、
ことを特徴とする請求項４または請求項６に記載の半導体集積回路。
【請求項１０】
前記動作率制御部は、クロック信号の周波数を下げ、プロセッサにおける命令の同時発行数を抑制し、或いは、ウェイト状態にして処理を休止することにより、前記回路モジュールにおける動作率を下降させる、
ことを特徴とする請求項７に記載の半導体集積回路。
【請求項１１】
前記動作率制御部は、前記電流変動量における電流の変動周期が、電源系の共振周波数帯からずれるように制御を行う、
ことを特徴とする請求項３乃至請求項１０のいずれか１項に記載の半導体集積回路。
【請求項１２】
複数の回路モジュールを有するユーザー回路と、前記回路モジュールの動作率を制御する電源ノイズ抑制回路と、を有する半導体集積回路の制御方法であって、
前記電源ノイズ抑制回路は、前記複数の回路モジュールの動作率から前記ユーザー回路の電流値の変動を求め、該ユーザー回路の電流値の変動が電源系の共振周波数の周期からずれるように前記回路モジュールの動作率を制御する
ことを特徴とする半導体集積回路の制御方法。
【請求項１３】
前記電源ノイズ抑制回路は、
前記複数の回路モジュールの動作時の電力値と相関の高い信号を受け取って、動作率の情報を示す動作率情報信号を生成し、
前記動作率情報信号を受け取って、対応する電流値の情報を示す電流値情報信号を生成し、
前記電流値情報信号を受け取って、前記電流変動量が制限値を超過したことを示す電流変動量制限値超過信号を生成し、
前記電流変動量制限値超過信号を受け取って、前記動作率制御回路に対する動作率制御信号を生成する、
ことを特徴とする請求項１２に記載の半導体集積回路の制御方法。
【請求項１４】
前記電源ノイズ抑制回路は、前記ユーザー回路における過去の第１電流値と現在の第２電流値との電流差が前記制限値を超過したとき、前記回路モジュールの動作率を上昇させる、
ことを特徴とする請求項１３に記載の半導体集積回路の制御方法。
【請求項１５】
前記電源ノイズ抑制回路は、前記ユーザー回路における過去の第３電流値が、下限の第１規定値以下か、或いは、上限の第２規定値以上かどうかを判定し、
前記第３電流値が前記第２規定値以上であって、前記第３電流値と現在の第４電流値との電流差が前記制限値以下のとき、前記回路モジュールの動作率を上昇させ、
前記第３電流値が前記第１規定値以下であって、前記第３電流値と前記第４電流値との電流差が前記制限値以上のとき、前記回路モジュールの動作率を下降させる、
ことを特徴とする請求項１３に記載の半導体集積回路の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願で言及する実施例は、半導体集積回路およびその制御方法に関する。
【背景技術】
【０００２】
近年、半導体集積回路においては、クロックゲーティングやＲＡＭマクロのチップイネーブル制御などの手法により、使用しない回路の動作を抑制し、回路が必要以上に動作しないようにして低消費電力化することが行われている。【０００３】
しかしながら、これらの手法により低消費電力化を図ると、回路が消費する最大電力と最小電力の差が大きくなるため、回路を流れる最大電流と最小電流の差も大きくなる。これにより、例えば、電源ノイズが増大し、或いは、回路の誤動作の原因になるため、半導体集積回路に対する低消費電力化手法の積極的な導入の妨げになっている。【０００４】
ところで、ダイ，パッケージおよびボードにより構成される電源系において、そのインピーダンスが高い周波数帯での電流変動（例えば、１００ＭＨｚ程度よりも低い電流変動）が発生すると、電源ノイズが大きくなる。【０００５】
そのため、従来、このような電源ノイズを抑制する対策として、例えば、ダイ（チップ）やパッケージ、或いは、ボード上にコンデンサを搭載し、電流変動が発生しても電源ノイズの影響が許容値以下になるようにしていた。【０００６】
従来、電源ノイズの抑制機能を有する半導体集積回路としては、様々なものが提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−２７６６１２号公報
【特許文献２】特開２００９−０９９０４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述したように、従来、例えば、ダイやパッケージ、或いは、ボード上にコンデンサを搭載して、電流変動が発生しても電源ノイズの影響が許容値以下になるようにしていた。【０００９】
しかしながら、このような従来のアプローチでは、今後、さらなるテクノロジの微細化の進展により低電圧大電流化が進むと、ΔＩ／Δｔ（単位時間当たりの電流の変動量）が大きくなるため、電源ノイズを抑制するのに必要なコンデンサの容量も大きくなる。【００１０】
その結果、ダイのサイズ増大や、パッケージ或いはボード上に搭載するコンデンサ部品の増加によるコスト増を来すことになる。また、例えば、コストを優先させるために、少ないコンデンサ部品で対応できるようにΔＩ／Δｔを小さくすると、半導体集積回路に対して十分な低消費電力化手法を導入するのが制限されてしまうことにもなる。
【課題を解決するための手段】
【００１１】
本実施形態によれば、それぞれが動作率制御回路を含む複数の回路モジュールを有するユーザー回路と、電源ノイズ抑制回路と、を有することを特徴とする半導体集積回路が提供される。【００１２】
前記電源ノイズ抑制回路は、前記複数の回路モジュールの動作率をモニタして前記ユーザー回路の電流変動量を判定し、該電流変動量の判定結果に従って、前記各動作率制御回路を介して対応する前記回路モジュールの動作率を制御する。
【発明の効果】
【００１３】
開示の半導体集積回路およびその制御方法は、電源ノイズを抑制することができるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】本実施例に係る半導体集積回路の一例を示すブロック図である。
【図２】図１に示す半導体集積回路における動作率制御回路の例を示す回路図である。
【図３】図１に示す半導体集積回路における動作率モニタ部の一例を示すブロック図である。
【図４】図１に示す半導体集積回路における電流評価部の一例を示す図である。
【図５】図１に示す半導体集積回路における電流変動量判定部の一例を示すブロック図である。
【図６】図１に示す半導体集積回路における動作率制御部の一例を示すブロック図およびその処理を説明するための図である。
【図７】電源系インピーダンスの周波数依存性を説明するための図である。
【図８】本実施例の半導体集積回路における処理の一例を説明するためのフローチャートである。
【図９】図８に示す処理を説明するための図である。
【図１０】本実施例の半導体集積回路における処理の他の例を説明するためのフローチャートである。
【図１１】図１０に示す処理を説明するための図（その１）である。
【図１２】図１０に示す処理を説明するための図（その２）である。
【発明を実施するための形態】
【００１５】
以下、半導体集積回路およびその制御方法の実施例を、添付図面を参照して説明する。図１は、本実施例に係る半導体集積回路の一例を示すブロック図である。図１に示されるように、半導体集積回路（チップ）は、ユーザー回路１、および、電源ノイズ抑制回路２を有する。
【００１６】
ユーザー回路１は、複数の回路モジュール１１，１２，１３，１４を有し、各回路モジュール１１，１２，１３，１４は、それぞれ動作率制御回路１１０，１２０，１３０，１４０を有する。
【００１７】
ここで、チップは、例えば、プロセッサ（ＣＰＵ：Central Processing Unit）に対応し、また、ユーザー回路１は、例えば、プロセッサのコアや動画処理回路ブロック等に対応する。さらに、各回路モジュール１１〜１４は、例えば、演算器やＲＡＭ、或いは、キャシュメモリユニット等に対応し、そのチップが目的の機能を果たすために必要な処理を行う回路に対応する。
【００１８】
なお、ユーザー回路１は、それぞれ動作率制御回路１１０〜１４０を有する複数の回路モジュール１１〜１４を有するものであれば、プロセッサのコアや動画処理回路ブロックに限定されるものではない。
【００１９】
図１に示されるように、電源ノイズ抑制回路２は、動作率モニタ部２１，電流評価部２２，電流変動量判定部２３、および、動作率制御部２４を有する。動作率モニタ部２１は、ユーザー回路１における各回路モジュール１１〜１４の動作時の電力値と相関の高い信号（電力見積り用信号ｐｅｓ１〜ｐｅｓ４）を受け取って動作率の情報を示す動作率情報信号ｐｅｉを出力する。
【００２０】
電流評価部２２は、動作率モニタ部２１からの動作率情報信号ｐｅｉを受け取って対応する電流値の情報を示す電流値情報信号ｐｃｉを出力する。さらに、電流変動量判定部２３は、電流値情報信号ｐｃｉを受け取って、電流変動量が制限値を超過したことを示す電流変動量制限値超過信号ｃｆｅを出力する。
【００２１】
すなわち、電流変動量判定部２３は、特定の周期（例えば、電源系の共振周波数の周期Ｔｒ）における電流値の変動幅が許容値を超えたかどうかを判定して、その電流値の変動により生じる電源ノイズを抑制するための電流変動量制限値超過信号ｃｆｅを出力する。
【００２２】
動作率制御部２４は、電流変動量制限値超過信号ｃｆｅを受け取り、各回路モジュール１１〜１４の動作率制御回路１１０〜１４０に対して、動作率を制御する動作率制御信号ｏｐｃ１〜ｏｐｃ４を出力する。また、動作率制御部２４は、動作率モニタ部２１に対してリセット信号ｒｓｔを出力し、動作率の制御が完了したときに動作率モニタ部２１をリセットする。
【００２３】
すなわち、動作率制御部２４は、特定の周期における電流値の変動幅が許容値を超えた場合に、各回路モジュール１１〜１４の動作率制御回路１１０〜１４０を制御して、電流値の変動幅を、電源系の共振周波数の周期Ｔｒからずれるように制御する。これにより、電源ノイズを抑制することが可能になる。
【００２４】
図２は、図１に示す半導体集積回路における動作率制御回路の例を示す回路図であり、図２（ａ）は、クロックゲーティングによる動作率制御回路を示し、また、図２（ｂ）は、ＲＡＭのチップイネーブル制御による動作率制御回路を示す。
【００２５】
ここで、説明を簡略化するために、図２（ａ）は、回路モジュール１１がフリップフロップＦＦの場合を示し、また、図２（ｂ）は、回路モジュール１２がメモリ（ＲＡＭ：Random Access Memory）の場合を示す。
【００２６】
まず、図２（ａ）に示されるように、動作率制御回路１１０は、アンドゲート１１１およびオアゲート１１２を有し、フリップフロッップ（回路モジュール）１１を制御する。
【００２７】
ここで、フリップフロッップ１１は、ＣＫ端子の信号が高レベル『Ｈ』になることでＤＩ端子の入力データの取り込み動作を行う。また、フリップフロッップ１１のＤＯ端子からは、取り込まれたデータが出力される。
【００２８】
オアゲート１１２には、クロックイネーブル信号ｃｋｅおよび動作率制御部２４からの動作率制御信号ｏｐｃ１が入力され、その出力は、クロック信号ｃｌｋと共に、アンドゲート１１１に入力される。さらに、アンドゲート１１１の出力は、フリップフロッップ１１のクロック入力ＣＫに入力される。
【００２９】
そして、アンドゲート１１１の出力が『Ｈ』になると、すなわち、ｃｋｅまたはｏｐｃ１の少なくとも一方が『Ｈ』で、ｃｌｋが『Ｈ』に変化すると、フリップフロッップ１１は、上述したデータの取り込み動作を実行する。
【００３０】
従って、例えば、クロックイネーブル信号ｃｋｅが低レベル『Ｌ』であっても、動作率制御信号ｏｐｃ１が『Ｈ』であれば、フリップフロップ１１は、クロック信号ｃｌｋに従ったデータの取り込み動作を行い、所定の電力を消費することになる。
【００３１】
次に、図２（ｂ）に示されるように、動作率制御回路１２０は、チップイネーブル信号ｃｈｅおよび動作率制御信号ｏｐｃ２を受け取るオアゲートで構成され、メモリ（回路モジュール）１２を制御する。
【００３２】
ここで、メモリ１２は、クロック信号ｃｌｋを受け取るクロック端子ＣＫ，そのメモリをイネーブルにするチップイネーブル端子ＣＥ，アドレス信号を受け取るアドレス端子ＡＤＤおよびライトイネーブル信号ｗｅを受け取るライトイネーブル端子ＷＥを有する。なお、ＤＩは、書き込みデータを受け取る端子を示し、また、ＤＯは、読み出しデータを出力する端子を示す。
【００３３】
従って、例えば、チップイネーブル信号ｃｈｅが『Ｌ』であっても、動作率制御信号ｏｐｃ２が『Ｈ』であれば、チップイネーブル端子ＣＥには、オアゲート１２０の出力『Ｈ』が供給され、メモリ１２はイネーブル状態になり、所定の電力を消費することになる。
【００３４】
このように、図２（ａ）および図２（ｂ）に示す動作率制御回路１１０および１２０は、動作率制御信号ｏｐｃ１およびｏｐｃ２により、それぞれ回路モジュール１１および１２の動作率を制御（上昇）させる機能を有している。
【００３５】
なお、図２（ａ）および図２（ｂ）は、単なる例であり、各回路モジュール１１〜１４およびそれらの動作率制御回路１１０〜１４０は、様々な構成とすることができるのはいうまでもない。
【００３６】
また、動作率の下降は、例えば、クロック信号の周波数を下げたり、プロセッサであれば命令の同時発行数を抑制したり、ウェイト状態にして処理を休止したりすることにより実現可能である。
【００３７】
図３は、図１に示す半導体集積回路における動作率モニタ部の一例を示すブロック図である。図３に示されるように、動作率モニタ部２１は、ユーザー回路１における各回路モジュール１１〜１４からの電力見積り用信号ｐｅｓ１〜ｐｅｓ４により動作率を求める回路であり、加算器２１１、および、動作率レジスタ２１２を有する。
【００３８】
動作率レジスタ２１２は、加算器２１１の出力を格納し、加算器２１１は、電力見積り用信号ｐｅｓ（ｐｅｓ１〜ｐｅｓ４）に対して、動作率レジスタ２１２の出力（動作率情報信号ｐｅｉ）を加算して出力する。なお、動作率レジスタ２１２は、後述する動作率制御部２４からのリセット信号ｒｓｔによりリセットされる。
【００３９】
すなわち、加算器２１１および動作率レジスタ２１２は、例えば、リセット信号ｒｓｔがネゲートしている所定サイクル数の期間、電力見積り用信号ｐｅｓが何サイクル分『Ｈ』であったかをカウントして、動作率情報信号ｐｅｉを出力する。
【００４０】
ここで、電力見積り用信号ｐｅｓ、すなわち、各回路モジュール１１〜１４からの電力見積り用信号ｐｅｓ１〜ｐｅｓ４としては、様々な信号を利用することができる。具体的に、電力見積り用信号ｐｅｓとしては、例えば、パイプラインで有効な処理が行われることを示すパイプラインのバリッド信号や、演算器で演算処理を行うことを示す演算器のバリッド信号等を利用することができる。
【００４１】
さらに、電力見積り用信号ｐｅｓとしては、例えば、レジスタファイルまたはＲＡＭの読み出しおよび書き込みが行われることを示すリードイネーブル信号やライトイネーブル信号、或いは、キャッシュヒット（ミス）信号等も利用することができる。
【００４２】
すなわち、電力見積り用信号ｐｅｓとしては、ユーザー回路１がどのような処理を行っているかを把握することができる信号のうち、電力値と相関の高い信号を利用することが可能である。これらの信号は、例えば、ＬＳＩの設計時に行う電力解析などにより、抽出して適用することになる。
【００４３】
図４は、図１に示す半導体集積回路における電流評価部の一例を示す図である。図４に示されるように、電流評価部２２は、動作率モニタ部２１からの動作率情報信号ｐｅｉを受け取り、その動作率情報信号ｐｅｉに対応した電流値情報信号ｐｃｉを出力する変換テーブルを有している。
【００４４】
ここで、変換テーブルは、固定のテーブルとしても良いが、ソフトウエアで書き換え可能なテーブルとして構成することもできる。すなわち、変換テーブルは、書き換え可能な不揮発性メモリやＥ-ＦＵＳＥのような１回のみ書き換え可能なメモリとしても良い。
【００４５】
このように、チップ製造後に書き換え可能な構成としておくことにより、チップ製造後にパッケージ等の変更があって、その結果、共振周波数が変化した場合、或いは、チップの動作周波数が変更された場合等に対しても、適切な制御を行うことが可能になる。
【００４６】
具体的に、図４に示されるように、電流評価部２２は、動作率モニタ部２１からの動作率情報信号ｐｅｉ（例えば、０〜３１のカウント値）を受け取って、変換テーブルに従った対応する２，４，６，…，１６の電流値情報信号ｐｃｉに変換して出力する。ここで、動作率情報信号および電流値情報信号は、動作率が高い、すなわち、消費電流が大きい場合に、その値が大きくなる。
【００４７】
図５は、図１に示す半導体集積回路における電流変動量判定部の一例を示すブロック図である。図５に示されるように、電流変動量判定部２３は、電流履歴レジスタ２３１、減算器（加算器）２３２、電流変動制限値レジスタ２３３、および、比較器２３４を有する。
【００４８】
電流履歴レジスタ２３１は、例えば、４段のレジスタＰ０〜Ｐ３を有するシフトレジスタとして構成される。ここで、レジスタＰ０には現区間の電流値情報（信号）が格納され、レジスタＰ１には１区間前の電流値情報が格納され、レジスタＰ２には２区間前の電流値情報が格納され、そして、レジスタＰ３には３区間前の電流値情報が格納される。
【００４９】
減算器２３２は、レジスタＰ３に格納された３区間前の電流値情報（例えば、４）からレジスタＰ０に格納された現区間の電流値情報（例えば、１２）を減算し、その減算結果（例えば、４−１２＝−８）を比較器２３４の一方の入力に供給する。
【００５０】
比較器２３４は、上記減算器２３２の減算結果と、電流変動量制限値レジスタ２３３に設定された値とを比較し、その減算結果が設定された値を超えると、電流変動量制限値超過信号ｃｆｅを出力するようになっている。ここで、電流変動量制限値レジスタ２３３に設定する値は、例えば、ソフトウエアから書き込み可能とされている。
【００５１】
なお、図５では、電流履歴レジスタ２３１におけるレジスタの本数（シフトレジスタの段数）は４本とされているが、電流測定の確度を高めるには、電源系の共振周波数と電流履歴レジスタを更新する周期を加味し、できるだけ多くの本数を設けるのが好ましい。
【００５２】
しかしながら、電流履歴レジスタ２３１におけるレジスタの本数が多くなると、その電流履歴レジスタの面積や、その消費電力のオーバーヘッドなどが増加するため、それらのトレードオフを考慮して、レジスタの本数が決定されることになる。
【００５３】
また、電流履歴レジスタ２３１に格納する電流値情報は、各回路モジュールの電流値情報を格納してもよいが、チップ全体の電力値として、全ての回路モジュールの電流値情報の総和を格納することもできる。さらに、電流変動量制限値レジスタ２３３の内容は、固定値として予め設定しておいてもよいが、前述のようにソフトウエアにより書き換え可能な構成とすることもできる。
【００５４】
図６は、図１に示す半導体集積回路における動作率制御部の一例を示すブロック図およびその処理を説明するための図である。すなわち、図６（ａ）は、動作率制御部２４の一例を示すブロック図であり、また、図６（ｂ）は、電流変動量制限値超過信号ｃｆｅから動作率制御信号ｏｐｃを生成する処理を説明するための図である。
【００５５】
図６（ａ）に示されるように、動作率制御部２４は、動作率制御波形情報格納レジスタ２４１、および、動作率制御波形発生器２４２を有する。動作率制御波形情報格納レジスタ２４１は、動作率制御波形のアサート期間を格納するレジスタである。
【００５６】
図６（ｂ）に示されるように、動作率制御波形発生器２４２は、動作率制御波形情報格納レジスタ２４１の内容と電流変動量制限値超過信号ｃｆｅとを用いて、動作率制御信号ｏｐｃ（ｏｐｃ１〜ｏｐｃ４）を発生する。
【００５７】
すなわち、動作率制御信号ｏｐｃは、電流変動量制限値超過信号ｃｆｅが立ち上がってから、動作率制御波形情報格納レジスタ２４１で示される期間だけ『Ｈ』になる（アサートされる）ようにして動作率制御部２４から出力される。
【００５８】
ここで、動作率制御信号ｏｐｃをアサートする期間は、例えば、電源系の共振周波数の一周期分（Ｔｒ）などに調整しておく。なお、動作率制御波形情報格納レジスタ２４１に書き込む動作率制御波形情報は、例えば、ソフトウエアから書き込み可能になっている。
【００５９】
図７は、電源系インピーダンスの周波数依存性を説明するための図である。半導体集積回路のダイ，パッケージおよびボードから構成される電源系のインピーダンスの周波数依存性は、例えば、図７のように複数のピークを持った特性になり、インピーダンスの高い共振周波数ＲＦｓが存在することが分かる。
【００６０】
電源系の共振周波数ＲＦｓは、例えば、１００ＭＨｚよりも低い周波数帯域に現れ、その共振周波数ＲＦｓの付近で電流変動が発生すると、電源ノイズ量が大きくなる。そこで、本実施例では、電源ノイズ量を小さくするには、共振周波数ＲＦｓの付近で電流変動が発生しないように、ユーザー回路１（回路モジュール１１〜１４）の動作率を制御するようになっている。
【００６１】
図８は、本実施例の半導体集積回路における処理の一例を説明するためのフローチャートであり、また、図９は、図８に示す処理を説明するための図である。ここで、図９（ａ）に示されるように、本実施例を適用する前は、電源系の共振周波数の周期（Ｔｒ）で電流変動が発生している場合を考える。
【００６２】
まず、図８に示されるように、チップを起動した後、ステップＳＴ１１において、動作率モニタ部２１により、各ユーザー回路モジュール１１〜１４の電力見積り用信号ｐｅｓ１〜ｐｅｓ４を受け取って、ユーザー回路１の動作率情報信号ｐｅｉを出力する。
【００６３】
さらに、ステップＳＴ１２に進んで、電流評価部２２により、動作率情報（ｐｅｉ）を電流値情報（ｐｃｉ）に変換して電流値情報信号ｐｃｉを格納し、ステップＳＴ１３に進む。すなわち、図９（ｂ）に示されるように、電流評価部２２は、動作率情報信号ｐｅｉを、Ａ→Ｂ→Ｃ→Ｄ→…と変化する電流値情報信号ｐｃｉに変換して格納する。
【００６４】
ステップＳＴ１３では、電流変動量判定部２３により、電流評価部２２が格納している電源系の１／２の周期前の電流値と現在の電流値との電流差を、制限値と比較する。すなわち、例えば、図５のように、３区間前の電流値情報から現区間の電流値情報を減算して得られた電流差は、図９（ｃ）に示されるように、レジスタＰ３からレジスタＰ０の値を減算した電流差となり、この電流差を所定の制限値と比較する。
【００６５】
そして、ステップＳＴ１４に進んで、電流変動量判定部２３により、電流差が制限値以上ではないと判定すると、ステップＳＴ１１に戻って、上述した処理を繰り返す。
【００６６】
一方、ステップＳＴ１４において、電流差が制限値以上であると判定すると、ステップＳＴ１５に進んで、電流変動量判定部２３により、電流差制限値超過検出信号ｃｆｅをアサートして動作率制御部２４に通知して、ステップＳＴ１６に進む。
【００６７】
ステップＳＴ１６では、動作率制御部２４により、ユーザー回路１における回路モジュールの動作率制御信号ｏｐｃ（ｏｐｃ１〜ｏｐｃ４）をアサートして回路の動作率を上昇させるように制御して、ステップＳＴ１１に戻る。
【００６８】
具体的に、図９（ｃ）は、Ｐ３に保持された３区間前の『Ａ』からＰ０の『Ｄ』を減算した電流差『Ａ−Ｄ』が制限値を超えて、電流変動量制限値超過信号ｃｆｅが立ち上がり、動作率制御信号ｏｐｃが所定期間Ｔｄｅだけ『Ｈ』になる様子を示している。
【００６９】
なお、図９（ｃ）では、動作率制御信号ｏｐｃが『Ｈ』になる所定期間Ｔｄｅは、共振周波数の周期Ｔｒと同じ期間とされ、例えば、このＴｒ（Ｔｄｅ）の期間だけ回路モジュール１１のクロックゲーティングをディスエーブルにして、その動作率を上昇させる。
【００７０】
ここで、動作率制御信号ｏｐｃ（ｏｐｃ１）により、動作率を上昇させる回路モジュール（１１）は、１つの回路モジュールに限定されず、複数の回路モジュールを同時に制御して動作率を上昇させてもよい。
【００７１】
また、動作率を上昇させる制御は、上述したクロックゲーティングのディスエーブルの他に、例えば、図２（ｂ）を参照して説明したＲＡＭのチップイネーブル制御の抑止、或いは、知られている他の様々な手法を適用することができる。
【００７２】
これにより、図９（ｄ）に示されるように、ユーザー回路１の動作率の下降が抑制され、すなわち、図９（ｄ）における破線が実線へ上昇して電流の変動が小さくなって、電源系の共振周波数の周期Ｔｒに対応する電流変動が発生しなくなり、ノイズ量が小さくなる。
【００７３】
そして、ステップＳＴ１７に進んで、動作率制御部２４により、電源系の共振周波数の周期が経過した後、動作率制御信号ｏｐｃ１〜ｏｐｃ４をネゲートして、ステップＳＴ１１に戻る。
【００７４】
図１０は、本実施例の半導体集積回路における処理の他の例を説明するためのフローチャートであり、また、図１１および図１２は、図１０に示す処理を説明するための図である。
【００７５】
ここで、図１０および図１１を参照して以下に説明する例では、規定値を上限および下限の両方に設定し、過去の電流値が下限の規定値以下か、或いは、上限の規定値以上かを判定して動作率の制御を行うようになっている。なお、図１１（ａ）に示されるように、本実施例を適用する前は、前述した図８および図９の実施例と同様に、電源系の共振周波数の周期で電流変動が発生しているものとする。
【００７６】
まず、図１２を参照して、図１０のフローチャートにおける電流の規定値（規定値下限，規定値上限）を説明する。図１２において、参照符号Ｉminは半導体集積回路（ＬＳＩ）の最小電流値、ＩmaxはＬＳＩの最大電流値、ＩＬminは下限の規定値（規定値下限）、そして、ＩＬmaxは上限の規定値（規定値上限）を示す。さらに、参照符号ＩＣmaxはＬＳＩの最大電流変動量、ΔＩmaxは電源系が許容できる最大の電流変動量、Ｐminは最小電力、そして、Ｐmaxは最大電力を示す。
【００７７】
ところで、ＬＳＩは、その動作状態により、最小電力Ｐminおよび最大電力Ｐmaxを有しており、最小電力Ｐminの場合、電流値は最小電流値Ｉminになり、また、最大電力Ｐmaxの場合、電流値は最大電流値Ｉmaxになる。
【００７８】
従って、ＬＳＩの電源系が許容できる最大の電流変動量ΔＩmaxは、その最大電流値Ｉmaxから最小電流値Ｉminを引いたものと等しくなり、ΔＩmax＝Ｉmax−Ｉminになる。
【００７９】
ここで、電流の変動量が、電源系が許容できる最大の電流変動量ΔＩmaxを超えない場合、ボードやパッケージの電源系のデカップリングキャパシタ等により、電源ノイズが抑制されるため、動作率の制御を行って電流変動を制御する必要はない。
【００８０】
すなわち、電流評価部２２が格納する過去の電流値が、規定値下限ＩＬminよりも大きくて規定値上限ＩＬmaxよりも小さい場合、現在の電流値がどのような値であっても、電流の変動量はΔＩmaxを超えることはなく、動作率の制御は不要となる。
【００８１】
以下、図１０および図１１を参照して、本実施例の半導体集積回路における処理の他の例を説明する。まず、図１０に示されるように、チップを起動した後、ステップＳＴ２１において、動作率モニタ部２１により、各ユーザー回路モジュール１１〜１４の電力見積り用信号ｐｅｓ１〜ｐｅｓ４を受け取って、ユーザー回路１の動作率情報信号ｐｅｉを出力する。
【００８２】
さらに、ステップＳＴ２２に進んで、電流評価部２２により、動作率情報（ｐｅｉ）を電流値情報（ｐｃｉ）に変換して電流値情報信号ｐｃｉを格納し、ステップＳＴ２３に進む。すなわち、図１１（ｂ）に示されるように、電流評価部２２は、動作率情報信号ｐｅｉを、Ａ→Ｂ→Ｃ→Ｄ→…と変化する電流値情報信号ｐｃｉに変換して格納する。以上の処理は、前述した図８と同様である。
【００８３】
次に、ステップＳＴ２３において、電流変動量判定部２３により、電流評価部２２が格納している過去の電流値が、規定値下限（下限の規定値）ＩＬmin以下か、或いは、規定値上限（上限の規定値）ＩＬmax以上かどうかのチェックを行う。
【００８４】
そして、ステップＳＴ２４に進んで、電流変動量判定部２３により、過去の電流値が、規定値範囲内、すなわち、規定値下限ＩＬminよりも大きくて規定値上限ＩＬmaxよりも小さいと判定すると、ステップＳＴ２１に戻る。
【００８５】
ここで、規定値下限ＩＬminおよび規定値上限ＩＬmaxは、電源系で許容可能な電流変動量ΔＩmaxと、そのＬＳＩの最小電流値Ｉminと、最大電流値Ｉmaxとから決定する。すなわち、前述した図１２から明らかなように、ＩＬminおよびＩＬmaxは、次の式が成立するように決められる。
ＩＬmax＞Ｉmin＋ΔＩmax
ＩＬmin＜Ｉmax−ΔＩmax
【００８６】
このように、規定値下限ＩＬminおよび規定値上限ＩＬmaxを決定することにより、電源系で許容可能な電流変動量ΔＩmaxを超える可能性のない電流遷移が起きる場合には、動作率の制御を行わないようにすることができる。
【００８７】
ここで、ステップＳＴ２４において、電流変動量判定部２３により、過去の電流値が、規定値下限ＩＬmin以下であると判定すると、ステップＳＴ２５に進む。
【００８８】
ステップＳＴ２５では、電流変動量判定部２３により、電流評価部２２が格納している過去の電流値（Ｐ１の電流値）と現在の電流値（Ｐ０の電流値）との電流差を、制限値と比較する。すなわち、例えば、図１１（ｃ）に示されるように、レジスタＰ１からレジスタＰ０の値を減算し、その電流差を所定の制限値と比較する。
【００８９】
そして、ステップＳＴ２６に進んで、電流変動量判定部２３により、電流差が制限値以上ではないと判定すると、ステップＳＴ２１に戻って、上述した処理を繰り返す。
【００９０】
一方、ステップＳＴ２６において、電流差が制限値以上であると判定すると、ステップＳＴ２７に進んで、電流変動量判定部２３により、電流差制限値超過検出信号ｃｆｅをアサートして動作率制御部２４に通知して、ステップＳＴ２８に進む。
【００９１】
ステップＳＴ２８では、動作率制御部２４により、ユーザー回路１における回路モジュールの動作率制御信号ｏｐｃ（ｏｐｃ１〜ｏｐｃ４）をアサートして回路の動作率を下降させるように制御して、ステップＳＴ２９に進む。
【００９２】
具体的に、ステップＳＴ２８において、動作率制御部２４は、例えば、クロック信号の周波数を下げ、プロセッサであれば命令の同時発行数を抑制し、或いは、ウェイト状態にして処理を休止することにより、回路の動作率を下降させる。
【００９３】
具体的に、図１１（ｃ）は、Ｐ１に保持された１区間前の『Ｂ』からＰ０の『Ｃ』を減算した電流差『Ｂ−Ｃ』が制限値を超えて、電流変動量制限値超過信号ｃｆｅが立ち上がり、動作率制御信号ｏｐｃが所定期間Ｔａｄだけ『Ｈ』になる様子を示している。
【００９４】
なお、図１１（ｃ）では、動作率制御信号ｏｐｃが『Ｈ』になる所定期間Ｔａｄは、電源系の共振周波数の周期Ｔｒの２／５程度とされている。これは、その期間Ｔａｄだけ動作率を低減して電流変動を共振周波数の周期からずらすことができれば任意の期間でよいが、その期間だけＬＳＩの動作を低減させることになるため、期間Ｔａｄは短い方が好ましい。
【００９５】
ここで、動作率制御信号ｏｐｃにより、動作率を下降させる回路モジュールは、１つの回路モジュールに限定されず、複数の回路モジュールを同時に制御して動作率を下降させてもよい。
【００９６】
これにより、図１１（ｄ）に示されるように、ユーザー回路１の動作率の上昇が抑制され、具体的に、クロック信号の周波数を下げることにより消費電流が低下すると共に、電流変動が時間方向に延長され、共振周波数の周期Ｔｒからずれることになる。すなわち、電源系の共振周波数の周期Ｔｒに対応した電流変動が発生しなくなり、ノイズ量が小さくなる。
【００９７】
そして、ステップＳＴ２９に進んで、動作率制御部２４により、電源系の所定の期間（例えば、共振周波数の周期Ｔｒ）が経過した後、動作率制御信号ｏｐｃ（ｏｐｃ１〜ｏｐｃ４）をネゲートして、ステップＳＴ２１に戻る。
【００９８】
一方、ステップＳＴ２４において、電流変動量判定部２３により、過去の電流値が、規定値上限ＩＬmax以上であると判定すると、ステップＳＴ３０に進む。
【００９９】
ステップＳＴ３０では、電流変動量判定部２３により、電流評価部２２が格納している過去の電流値（Ｐ１の電流値）と現在の電流値（Ｐ０の電流値）との電流差を、制限値と比較する。
【０１００】
そして、ステップＳＴ３１に進んで、電流変動量判定部２３により、電流差が制限値以下ではないと判定すると、ステップＳＴ２１に戻って、上述した処理を繰り返す。
【０１０１】
また、ステップＳＴ３１において、電流差が制限値以下であると判定すると、ステップＳＴ３２に進んで、電流変動量判定部２３により、電流差制限値超過検出信号ｃｆｅをアサートして動作率制御部２４に通知して、ステップＳＴ３３に進む。
【０１０２】
ステップＳＴ３３では、動作率制御部２４により、ユーザー回路１における回路モジュールの動作率制御信号ｏｐｃ（ｏｐｃ１〜ｏｐｃ４）をアサートして回路の動作率を上昇させるように制御して、ステップＳＴ３４に進む。
【０１０３】
そして、ステップＳＴ３４において、動作率制御部２４により、電源系の所定の期間（例えば、共振周波数の周期Ｔｒ）が経過した後、動作率制御信号ｏｐｃをネゲートして、ステップＳＴ２１に戻る。
【０１０４】
なお、電流変動の傾きの制限値は、電源系の共振周波数の周期Ｔｒで電流変動が発生することがないように、例えば、｜ΔＩmax／（Ｔｒ／２）｜となるように決めることができる。
【０１０５】
ここで、上述したステップＳＴ３１〜ＳＴ３４は、図８を参照して説明したステップＳＴ１４〜ＳＴ１７に相当する。なお、動作率を上昇させる制御は、前述したように、クロックゲーティングのディスエーブル、ＲＡＭのチップイネーブル制御の抑止、或いは、知られている他の様々な手法を適用することができる。
【０１０６】
さらに、動作率制御信号ｏｐｃにより動作率を制御する回路モジュールとしては、例えば、必要以上の電力の増加を防止するために、ユーザー回路の電力が最大のときに、クロックやＲＡＭが動作している回路に限定するのが好ましい。
【０１０７】
これは、動作率が低い回路のクロックゲーティングを停止することがなくなるため、クロックゲーティングを停止することによる電流値の上昇分を引き下げることができ、最大電力の増加量を小さくすることが可能になる。
【０１０８】
そして、本実施例の半導体集積回路によれば、回路の電流変動を、電源系の共振周波数の周期からずらすことで、ノイズの発生を抑制して半導体集積回路の誤動作を低減することが可能になる。また、チップやパッケージ或いはボードに搭載するデカップリングキャパシタを少なくすることにより、電源ノイズ対策のコストを削減することができる。
【０１０９】
さらに、クロックゲーティングやＲＡＭのチップイネーブル制御などの低消費電力化手法の実装により発生する電源ノイズを小さく抑制しながら、これらの手法を積極的に導入することにより、半導体集積回路の低消費電力化を図ることが可能になる。また、電源ノイズを小さく抑制することができるため、さらに電源電圧を低くすることが可能になり、半導体集積回路の低消費電力化を図ることができる。
【符号の説明】
【０１１０】
１    ユーザー回路
２    電源ノイズ抑制回路
１１〜１４    回路モジュール
２１    動作率モニタ部
２２    電流評価部
２３    電流変動量判定部
２４    動作率制御部
１１０〜１４０    動作率制御回路
【図１】
2012153377.tif 000003
【図２】
2012153377.tif 000004
【図３】
2012153377.tif 000005
【図４】
2012153377.tif 000006
【図５】
2012153377.tif 000007
【図６】
2012153377.tif 000008
【図７】
2012153377.tif 000009
【図８】
2012153377.tif 000010
【図９】
2012153377.tif 000011
【図１０】
2012153377.tif 000012
【図１１】
2012153377.tif 000013
【図１２】
2012153377.tif 000014
【手続補正書】
【提出日】平成25年10月8日(2013.10.8)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
この出願で言及する実施例は、半導体集積回路およびその制御方法に関する。
【背景技術】
【０００２】
近年、半導体集積回路においては、クロックゲーティングやＲＡＭマクロのチップイネーブル制御などの手法により、使用しない回路の動作を抑制し、回路が必要以上に動作しないようにして低消費電力化することが行われている。
【０００３】
しかしながら、これらの手法により低消費電力化を図ると、回路が消費する最大電力と最小電力の差が大きくなるため、回路を流れる最大電流と最小電流の差も大きくなる。これにより、例えば、電源ノイズが増大し、或いは、回路の誤動作の原因になるため、半導体集積回路に対する低消費電力化手法の積極的な導入の妨げになっている。
【０００４】
ところで、ダイ，パッケージおよびボードにより構成される電源系において、そのインピーダンスが高い周波数帯での電流変動（例えば、１００ＭＨｚ程度よりも低い電流変動）が発生すると、電源ノイズが大きくなる。
【０００５】
そのため、従来、このような電源ノイズを抑制する対策として、例えば、ダイ（チップ）やパッケージ、或いは、ボード上にコンデンサを搭載し、電流変動が発生しても電源ノイズの影響が許容値以下になるようにしていた。
【０００６】
従来、電源ノイズの抑制機能を有する半導体集積回路としては、様々なものが提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−２７６６１２号公報
【特許文献２】特開２００９−０９９０４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述したように、従来、例えば、ダイやパッケージ、或いは、ボード上にコンデンサを搭載して、電流変動が発生しても電源ノイズの影響が許容値以下になるようにしていた。
【０００９】
しかしながら、このような従来のアプローチでは、今後、さらなるテクノロジの微細化の進展により低電圧大電流化が進むと、ΔＩ／Δｔ（単位時間当たりの電流の変動量）が大きくなるため、電源ノイズを抑制するのに必要なコンデンサの容量も大きくなる。
【００１０】
その結果、ダイのサイズ増大や、パッケージ或いはボード上に搭載するコンデンサ部品の増加によるコスト増を来すことになる。また、例えば、コストを優先させるために、少ないコンデンサ部品で対応できるようにΔＩ／Δｔを小さくすると、半導体集積回路に対して十分な低消費電力化手法を導入するのが制限されてしまうことにもなる。
【課題を解決するための手段】
【００１１】
本実施形態によれば、それぞれが動作率制御回路を含む複数の回路モジュールを有するユーザー回路と、電源ノイズ抑制回路と、を有することを特徴とする半導体集積回路が提供される。
【００１２】
前記電源ノイズ抑制回路は、前記複数の回路モジュールの動作率をモニタして前記ユーザー回路の電流変動量を判定し、該電流変動量の判定結果に従って、前記各動作率制御回路を介して対応する前記回路モジュールの動作率を制御する。
【発明の効果】
【００１３】
開示の半導体集積回路およびその制御方法は、電源ノイズを抑制することができるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】本実施例に係る半導体集積回路の一例を示すブロック図である。
【図２】図１に示す半導体集積回路における動作率制御回路の例を示す回路図である。
【図３】図１に示す半導体集積回路における動作率モニタ部の一例を示すブロック図である。
【図４】図１に示す半導体集積回路における電流評価部の一例を示す図である。
【図５】図１に示す半導体集積回路における電流変動量判定部の一例を示すブロック図である。
【図６】図１に示す半導体集積回路における動作率制御部の一例を示すブロック図およびその処理を説明するための図である。
【図７】電源系インピーダンスの周波数依存性を説明するための図である。
【図８】本実施例の半導体集積回路における処理の一例を説明するためのフローチャートである。
【図９】図８に示す処理を説明するための図である。
【図１０】本実施例の半導体集積回路における処理の他の例を説明するためのフローチャートである。
【図１１】図１０に示す処理を説明するための図（その１）である。
【図１２】図１０に示す処理を説明するための図（その２）である。
【発明を実施するための形態】
【００１５】
以下、半導体集積回路およびその制御方法の実施例を、添付図面を参照して説明する。図１は、本実施例に係る半導体集積回路の一例を示すブロック図である。図１に示されるように、半導体集積回路（チップ）は、ユーザー回路１、および、電源ノイズ抑制回路２を有する。
【００１６】
ユーザー回路１は、複数の回路モジュール１１，１２，１３，１４を有し、各回路モジュール１１，１２，１３，１４は、それぞれ動作率制御回路１１０，１２０，１３０，１４０を有する。
【００１７】
ここで、チップは、例えば、プロセッサ（ＣＰＵ：Central Processing Unit）に対応し、また、ユーザー回路１は、例えば、プロセッサのコアや動画処理回路ブロック等に対応する。さらに、各回路モジュール１１〜１４は、例えば、演算器やＲＡＭ、或いは、キャシュメモリユニット等に対応し、そのチップが目的の機能を果たすために必要な処理を行う回路に対応する。
【００１８】
なお、ユーザー回路１は、それぞれ動作率制御回路１１０〜１４０を有する複数の回路モジュール１１〜１４を有するものであれば、プロセッサのコアや動画処理回路ブロックに限定されるものではない。
【００１９】
図１に示されるように、電源ノイズ抑制回路２は、動作率モニタ部２１，電流評価部２２，電流変動量判定部２３、および、動作率制御部２４を有する。動作率モニタ部２１は、ユーザー回路１における各回路モジュール１１〜１４の動作時の電力値と相関の高い信号（電力見積り用信号ｐｅｓ１〜ｐｅｓ４）を受け取って動作率の情報を示す動作率情報信号ｐｅｉを出力する。
【００２０】
電流評価部２２は、動作率モニタ部２１からの動作率情報信号ｐｅｉを受け取って対応する電流値の情報を示す電流値情報信号ｐｃｉを出力する。さらに、電流変動量判定部２３は、電流値情報信号ｐｃｉを受け取って、電流変動量が制限値を超過したことを示す電流変動量制限値超過信号ｃｆｅを出力する。
【００２１】
すなわち、電流変動量判定部２３は、特定の周期（例えば、電源系の共振周波数の周期Ｔｒ）における電流値の変動幅が許容値を超えたかどうかを判定して、その電流値の変動により生じる電源ノイズを抑制するための電流変動量制限値超過信号ｃｆｅを出力する。
【００２２】
動作率制御部２４は、電流変動量制限値超過信号ｃｆｅを受け取り、各回路モジュール１１〜１４の動作率制御回路１１０〜１４０に対して、動作率を制御する動作率制御信号ｏｐｃ１〜ｏｐｃ４を出力する。また、動作率制御部２４は、動作率モニタ部２１に対してリセット信号ｒｓｔを出力し、動作率の制御が完了したときに動作率モニタ部２１をリセットする。
【００２３】
すなわち、動作率制御部２４は、特定の周期における電流値の変動幅が許容値を超えた場合に、各回路モジュール１１〜１４の動作率制御回路１１０〜１４０を制御して、電流値の変動幅を、電源系の共振周波数の周期Ｔｒからずれるように制御する。これにより、電源ノイズを抑制することが可能になる。
【００２４】
図２は、図１に示す半導体集積回路における動作率制御回路の例を示す回路図であり、図２（ａ）は、クロックゲーティングによる動作率制御回路を示し、また、図２（ｂ）は、ＲＡＭのチップイネーブル制御による動作率制御回路を示す。
【００２５】
ここで、説明を簡略化するために、図２（ａ）は、回路モジュール１１がフリップフロップＦＦの場合を示し、また、図２（ｂ）は、回路モジュール１２がメモリ（ＲＡＭ：Random Access Memory）の場合を示す。
【００２６】
まず、図２（ａ）に示されるように、動作率制御回路１１０は、アンドゲート１１１およびオアゲート１１２を有し、フリップフロッップ（回路モジュール）１１を制御する。
【００２７】
ここで、フリップフロッップ１１は、ＣＫ端子の信号が高レベル『Ｈ』になることでＤＩ端子の入力データの取り込み動作を行う。また、フリップフロッップ１１のＤＯ端子からは、取り込まれたデータが出力される。
【００２８】
オアゲート１１２には、クロックイネーブル信号ｃｋｅおよび動作率制御部２４からの動作率制御信号ｏｐｃ１が入力され、その出力は、クロック信号ｃｌｋと共に、アンドゲート１１１に入力される。さらに、アンドゲート１１１の出力は、フリップフロッップ１１のクロック入力ＣＫに入力される。
【００２９】
そして、アンドゲート１１１の出力が『Ｈ』になると、すなわち、ｃｋｅまたはｏｐｃ１の少なくとも一方が『Ｈ』で、ｃｌｋが『Ｈ』に変化すると、フリップフロッップ１１は、上述したデータの取り込み動作を実行する。
【００３０】
従って、例えば、クロックイネーブル信号ｃｋｅが低レベル『Ｌ』であっても、動作率制御信号ｏｐｃ１が『Ｈ』であれば、フリップフロップ１１は、クロック信号ｃｌｋに従ったデータの取り込み動作を行い、所定の電力を消費することになる。
【００３１】
次に、図２（ｂ）に示されるように、動作率制御回路１２０は、チップイネーブル信号ｃｈｅおよび動作率制御信号ｏｐｃ２を受け取るオアゲートで構成され、メモリ（回路モジュール）１２を制御する。
【００３２】
ここで、メモリ１２は、クロック信号ｃｌｋを受け取るクロック端子ＣＫ，そのメモリをイネーブルにするチップイネーブル端子ＣＥ，アドレス信号を受け取るアドレス端子ＡＤＤおよびライトイネーブル信号ｗｅを受け取るライトイネーブル端子ＷＥを有する。なお、ＤＩは、書き込みデータを受け取る端子を示し、また、ＤＯは、読み出しデータを出力する端子を示す。
【００３３】
従って、例えば、チップイネーブル信号ｃｈｅが『Ｌ』であっても、動作率制御信号ｏｐｃ２が『Ｈ』であれば、チップイネーブル端子ＣＥには、オアゲート１２０の出力『Ｈ』が供給され、メモリ１２はイネーブル状態になり、所定の電力を消費することになる。
【００３４】
このように、図２（ａ）および図２（ｂ）に示す動作率制御回路１１０および１２０は、動作率制御信号ｏｐｃ１およびｏｐｃ２により、それぞれ回路モジュール１１および１２の動作率を制御（上昇）させる機能を有している。
【００３５】
なお、図２（ａ）および図２（ｂ）は、単なる例であり、各回路モジュール１１〜１４およびそれらの動作率制御回路１１０〜１４０は、様々な構成とすることができるのはいうまでもない。
【００３６】
また、動作率の下降は、例えば、クロック信号の周波数を下げたり、プロセッサであれば命令の同時発行数を抑制したり、ウェイト状態にして処理を休止したりすることにより実現可能である。
【００３７】
図３は、図１に示す半導体集積回路における動作率モニタ部の一例を示すブロック図である。図３に示されるように、動作率モニタ部２１は、ユーザー回路１における各回路モジュール１１〜１４からの電力見積り用信号ｐｅｓ１〜ｐｅｓ４により動作率を求める回路であり、加算器２１１、および、動作率レジスタ２１２を有する。
【００３８】
動作率レジスタ２１２は、加算器２１１の出力を格納し、加算器２１１は、電力見積り用信号ｐｅｓ（ｐｅｓ１〜ｐｅｓ４）に対して、動作率レジスタ２１２の出力（動作率情報信号ｐｅｉ）を加算して出力する。なお、動作率レジスタ２１２は、後述する動作率制御部２４からのリセット信号ｒｓｔによりリセットされる。
【００３９】
すなわち、加算器２１１および動作率レジスタ２１２は、例えば、リセット信号ｒｓｔがネゲートしている所定サイクル数の期間、電力見積り用信号ｐｅｓが何サイクル分『Ｈ』であったかをカウントして、動作率情報信号ｐｅｉを出力する。
【００４０】
ここで、電力見積り用信号ｐｅｓ、すなわち、各回路モジュール１１〜１４からの電力見積り用信号ｐｅｓ１〜ｐｅｓ４としては、様々な信号を利用することができる。具体的に、電力見積り用信号ｐｅｓとしては、例えば、パイプラインで有効な処理が行われることを示すパイプラインのバリッド信号や、演算器で演算処理を行うことを示す演算器のバリッド信号等を利用することができる。
【００４１】
さらに、電力見積り用信号ｐｅｓとしては、例えば、レジスタファイルまたはＲＡＭの読み出しおよび書き込みが行われることを示すリードイネーブル信号やライトイネーブル信号、或いは、キャッシュヒット（ミス）信号等も利用することができる。
【００４２】
すなわち、電力見積り用信号ｐｅｓとしては、ユーザー回路１がどのような処理を行っているかを把握することができる信号のうち、電力値と相関の高い信号を利用することが可能である。これらの信号は、例えば、ＬＳＩの設計時に行う電力解析などにより、抽出して適用することになる。
【００４３】
図４は、図１に示す半導体集積回路における電流評価部の一例を示す図である。図４に示されるように、電流評価部２２は、動作率モニタ部２１からの動作率情報信号ｐｅｉを受け取り、その動作率情報信号ｐｅｉに対応した電流値情報信号ｐｃｉを出力する変換テーブルを有している。
【００４４】
ここで、変換テーブルは、固定のテーブルとしても良いが、ソフトウエアで書き換え可能なテーブルとして構成することもできる。すなわち、変換テーブルは、書き換え可能な不揮発性メモリやＥ-ＦＵＳＥのような１回のみ書き換え可能なメモリとしても良い。
【００４５】
このように、チップ製造後に書き換え可能な構成としておくことにより、チップ製造後にパッケージ等の変更があって、その結果、共振周波数が変化した場合、或いは、チップの動作周波数が変更された場合等に対しても、適切な制御を行うことが可能になる。
【００４６】
具体的に、図４に示されるように、電流評価部２２は、動作率モニタ部２１からの動作率情報信号ｐｅｉ（例えば、０〜３１のカウント値）を受け取って、変換テーブルに従った対応する２，４，６，…，１６の電流値情報信号ｐｃｉに変換して出力する。ここで、動作率情報信号および電流値情報信号は、動作率が高い、すなわち、消費電流が大きい場合に、その値が大きくなる。
【００４７】
図５は、図１に示す半導体集積回路における電流変動量判定部の一例を示すブロック図である。図５に示されるように、電流変動量判定部２３は、電流履歴レジスタ２３１、減算器（加算器）２３２、電流変動制限値レジスタ２３３、および、比較器２３４を有する。
【００４８】
電流履歴レジスタ２３１は、例えば、４段のレジスタＰ０〜Ｐ３を有するシフトレジスタとして構成される。ここで、レジスタＰ０には現区間の電流値情報（信号）が格納され、レジスタＰ１には１区間前の電流値情報が格納され、レジスタＰ２には２区間前の電流値情報が格納され、そして、レジスタＰ３には３区間前の電流値情報が格納される。
【００４９】
減算器２３２は、レジスタＰ３に格納された３区間前の電流値情報（例えば、４）からレジスタＰ０に格納された現区間の電流値情報（例えば、１２）を減算し、その減算結果（例えば、４−１２＝−８）を比較器２３４の一方の入力に供給する。
【００５０】
比較器２３４は、上記減算器２３２の減算結果と、電流変動量制限値レジスタ２３３に設定された値とを比較し、その減算結果が設定された値を超えると、電流変動量制限値超過信号ｃｆｅを出力するようになっている。ここで、電流変動量制限値レジスタ２３３に設定する値は、例えば、ソフトウエアから書き込み可能とされている。
【００５１】
なお、図５では、電流履歴レジスタ２３１におけるレジスタの本数（シフトレジスタの段数）は４本とされているが、電流測定の確度を高めるには、電源系の共振周波数と電流履歴レジスタを更新する周期を加味し、できるだけ多くの本数を設けるのが好ましい。
【００５２】
しかしながら、電流履歴レジスタ２３１におけるレジスタの本数が多くなると、その電流履歴レジスタの面積や、その消費電力のオーバーヘッドなどが増加するため、それらのトレードオフを考慮して、レジスタの本数が決定されることになる。
【００５３】
また、電流履歴レジスタ２３１に格納する電流値情報は、各回路モジュールの電流値情報を格納してもよいが、チップ全体の電力値として、全ての回路モジュールの電流値情報の総和を格納することもできる。さらに、電流変動量制限値レジスタ２３３の内容は、固定値として予め設定しておいてもよいが、前述のようにソフトウエアにより書き換え可能な構成とすることもできる。
【００５４】
図６は、図１に示す半導体集積回路における動作率制御部の一例を示すブロック図およびその処理を説明するための図である。すなわち、図６（ａ）は、動作率制御部２４の一例を示すブロック図であり、また、図６（ｂ）は、電流変動量制限値超過信号ｃｆｅから動作率制御信号ｏｐｃを生成する処理を説明するための図である。
【００５５】
図６（ａ）に示されるように、動作率制御部２４は、動作率制御波形情報格納レジスタ２４１、および、動作率制御波形発生器２４２を有する。動作率制御波形情報格納レジスタ２４１は、動作率制御波形のアサート期間を格納するレジスタである。
【００５６】
図６（ｂ）に示されるように、動作率制御波形発生器２４２は、動作率制御波形情報格納レジスタ２４１の内容と電流変動量制限値超過信号ｃｆｅとを用いて、動作率制御信号ｏｐｃ（ｏｐｃ１〜ｏｐｃ４）を発生する。
【００５７】
すなわち、動作率制御信号ｏｐｃは、電流変動量制限値超過信号ｃｆｅが立ち上がってから、動作率制御波形情報格納レジスタ２４１で示される期間だけ『Ｈ』になる（アサートされる）ようにして動作率制御部２４から出力される。
【００５８】
ここで、動作率制御信号ｏｐｃをアサートする期間は、例えば、電源系の共振周波数の一周期分（Ｔｒ）などに調整しておく。なお、動作率制御波形情報格納レジスタ２４１に書き込む動作率制御波形情報は、例えば、ソフトウエアから書き込み可能になっている。
【００５９】
図７は、電源系インピーダンスの周波数依存性を説明するための図である。半導体集積回路のダイ，パッケージおよびボードから構成される電源系のインピーダンスの周波数依存性は、例えば、図７のように複数のピークを持った特性になり、インピーダンスの高い共振周波数ＲＦｓが存在することが分かる。
【００６０】
電源系の共振周波数ＲＦｓは、例えば、１００ＭＨｚよりも低い周波数帯域に現れ、その共振周波数ＲＦｓの付近で電流変動が発生すると、電源ノイズ量が大きくなる。そこで、本実施例では、電源ノイズ量を小さくするには、共振周波数ＲＦｓの付近で電流変動が発生しないように、ユーザー回路１（回路モジュール１１〜１４）の動作率を制御するようになっている。
【００６１】
図８は、本実施例の半導体集積回路における処理の一例を説明するためのフローチャートであり、また、図９は、図８に示す処理を説明するための図である。ここで、図９（ａ）に示されるように、本実施例を適用する前は、電源系の共振周波数の周期（Ｔｒ）で電流変動が発生している場合を考える。
【００６２】
まず、図８に示されるように、チップを起動した後、ステップＳＴ１１において、動作率モニタ部２１により、各ユーザー回路モジュール１１〜１４の電力見積り用信号ｐｅｓ１〜ｐｅｓ４を受け取って、ユーザー回路１の動作率情報信号ｐｅｉを出力する。
【００６３】
さらに、ステップＳＴ１２に進んで、電流評価部２２により、動作率情報（ｐｅｉ）を電流値情報（ｐｃｉ）に変換して電流値情報信号ｐｃｉを格納し、ステップＳＴ１３に進む。すなわち、図９（ｂ）に示されるように、電流評価部２２は、動作率情報信号ｐｅｉを、Ａ→Ｂ→Ｃ→Ｄ→…と変化する電流値情報信号ｐｃｉに変換して格納する。
【００６４】
ステップＳＴ１３では、電流変動量判定部２３により、電流評価部２２が格納している電源系の１／２の周期前の電流値と現在の電流値との電流差を、制限値と比較する。すなわち、例えば、図５のように、３区間前の電流値情報から現区間の電流値情報を減算して得られた電流差は、図９（ｃ）に示されるように、レジスタＰ３からレジスタＰ０の値を減算した電流差となり、この電流差を所定の制限値と比較する。
【００６５】
そして、ステップＳＴ１４に進んで、電流変動量判定部２３により、電流差が制限値以上ではないと判定すると、ステップＳＴ１１に戻って、上述した処理を繰り返す。
【００６６】
一方、ステップＳＴ１４において、電流差が制限値以上であると判定すると、ステップＳＴ１５に進んで、電流変動量判定部２３により、電流差制限値超過検出信号ｃｆｅをアサートして動作率制御部２４に通知して、ステップＳＴ１６に進む。
【００６７】
ステップＳＴ１６では、動作率制御部２４により、ユーザー回路１における回路モジュールの動作率制御信号ｏｐｃ（ｏｐｃ１〜ｏｐｃ４）をアサートして回路の動作率を上昇させるように制御して、ステップＳＴ１１に戻る。
【００６８】
具体的に、図９（ｃ）は、Ｐ３に保持された３区間前の『Ａ』からＰ０の『Ｄ』を減算した電流差『Ａ−Ｄ』が制限値を超えて、電流変動量制限値超過信号ｃｆｅが立ち上がり、動作率制御信号ｏｐｃが所定期間Ｔｄｅだけ『Ｈ』になる様子を示している。
【００６９】
なお、図９（ｃ）では、動作率制御信号ｏｐｃが『Ｈ』になる所定期間Ｔｄｅは、共振周波数の周期Ｔｒと同じ期間とされ、例えば、このＴｒ（Ｔｄｅ）の期間だけ回路モジュール１１のクロックゲーティングをディスエーブルにして、その動作率を上昇させる。
【００７０】
ここで、動作率制御信号ｏｐｃ（ｏｐｃ１）により、動作率を上昇させる回路モジュール（１１）は、１つの回路モジュールに限定されず、複数の回路モジュールを同時に制御して動作率を上昇させてもよい。
【００７１】
また、動作率を上昇させる制御は、上述したクロックゲーティングのディスエーブルの他に、例えば、図２（ｂ）を参照して説明したＲＡＭのチップイネーブル制御の抑止、或いは、知られている他の様々な手法を適用することができる。
【００７２】
これにより、図９（ｄ）に示されるように、ユーザー回路１の動作率の下降が抑制され、すなわち、図９（ｄ）における破線が実線へ上昇して電流の変動が小さくなって、電源系の共振周波数の周期Ｔｒに対応する電流変動が発生しなくなり、ノイズ量が小さくなる。
【００７３】
そして、ステップＳＴ１７に進んで、動作率制御部２４により、電源系の共振周波数の周期が経過した後、動作率制御信号ｏｐｃ１〜ｏｐｃ４をネゲートして、ステップＳＴ１１に戻る。
【００７４】
図１０は、本実施例の半導体集積回路における処理の他の例を説明するためのフローチャートであり、また、図１１および図１２は、図１０に示す処理を説明するための図である。
【００７５】
ここで、図１０および図１１を参照して以下に説明する例では、規定値を上限および下限の両方に設定し、過去の電流値が下限の規定値以下か、或いは、上限の規定値以上かを判定して動作率の制御を行うようになっている。なお、図１１（ａ）に示されるように、本実施例を適用する前は、前述した図８および図９の実施例と同様に、電源系の共振周波数の周期で電流変動が発生しているものとする。
【００７６】
まず、図１２を参照して、図１０のフローチャートにおける電流の規定値（規定値下限，規定値上限）を説明する。図１２において、参照符号Ｉminは半導体集積回路（ＬＳＩ）の最小電流値、ＩmaxはＬＳＩの最大電流値、ＩＬminは下限の規定値（規定値下限）、そして、ＩＬmaxは上限の規定値（規定値上限）を示す。さらに、参照符号ＩＣmaxはＬＳＩの最大電流変動量、ΔＩmaxは電源系が許容できる最大の電流変動量、Ｐminは最小電力、そして、Ｐmaxは最大電力を示す。
【００７７】
ところで、ＬＳＩは、その動作状態により、最小電力Ｐminおよび最大電力Ｐmaxを有しており、最小電力Ｐminの場合、電流値は最小電流値Ｉminになり、また、最大電力Ｐmaxの場合、電流値は最大電流値Ｉmaxになる。
【００７８】
従って、ＬＳＩの電源系が許容できる最大の電流変動量ΔＩmaxは、その最大電流値Ｉmaxから最小電流値Ｉminを引いたものと等しくなり、ΔＩmax＝Ｉmax−Ｉminになる。
【００７９】
ここで、電流の変動量が、電源系が許容できる最大の電流変動量ΔＩmaxを超えない場合、ボードやパッケージの電源系のデカップリングキャパシタ等により、電源ノイズが抑制されるため、動作率の制御を行って電流変動を制御する必要はない。
【００８０】
すなわち、電流評価部２２が格納する過去の電流値が、規定値下限ＩＬminよりも大きくて規定値上限ＩＬmaxよりも小さい場合、現在の電流値がどのような値であっても、電流の変動量はΔＩmaxを超えることはなく、動作率の制御は不要となる。
【００８１】
以下、図１０および図１１を参照して、本実施例の半導体集積回路における処理の他の例を説明する。まず、図１０に示されるように、チップを起動した後、ステップＳＴ２１において、動作率モニタ部２１により、各ユーザー回路モジュール１１〜１４の電力見積り用信号ｐｅｓ１〜ｐｅｓ４を受け取って、ユーザー回路１の動作率情報信号ｐｅｉを出力する。
【００８２】
さらに、ステップＳＴ２２に進んで、電流評価部２２により、動作率情報（ｐｅｉ）を電流値情報（ｐｃｉ）に変換して電流値情報信号ｐｃｉを格納し、ステップＳＴ２３に進む。すなわち、図１１（ｂ）に示されるように、電流評価部２２は、動作率情報信号ｐｅｉを、Ａ→Ｂ→Ｃ→Ｄ→…と変化する電流値情報信号ｐｃｉに変換して格納する。以上の処理は、前述した図８と同様である。
【００８３】
次に、ステップＳＴ２３において、電流変動量判定部２３により、電流評価部２２が格納している過去の電流値が、規定値下限（下限の規定値）ＩＬmin以下か、或いは、規定値上限（上限の規定値）ＩＬmax以上かどうかのチェックを行う。
【００８４】
そして、ステップＳＴ２４に進んで、電流変動量判定部２３により、過去の電流値が、規定値範囲内、すなわち、規定値下限ＩＬminよりも大きくて規定値上限ＩＬmaxよりも小さいと判定すると、ステップＳＴ２１に戻る。
【００８５】
ここで、規定値下限ＩＬminおよび規定値上限ＩＬmaxは、電源系で許容可能な電流変動量ΔＩmaxと、そのＬＳＩの最小電流値Ｉminと、最大電流値Ｉmaxとから決定する。すなわち、前述した図１２から明らかなように、ＩＬminおよびＩＬmaxは、次の式が成立するように決められる。
ＩＬmax＞Ｉmin＋ΔＩmax
ＩＬmin＜Ｉmax−ΔＩmax
【００８６】
このように、規定値下限ＩＬminおよび規定値上限ＩＬmaxを決定することにより、電源系で許容可能な電流変動量ΔＩmaxを超える可能性のない電流遷移が起きる場合には、動作率の制御を行わないようにすることができる。
【００８７】
ここで、ステップＳＴ２４において、電流変動量判定部２３により、過去の電流値が、規定値下限ＩＬmin以下であると判定すると、ステップＳＴ２５に進む。
【００８８】
ステップＳＴ２５では、電流変動量判定部２３により、電流評価部２２が格納している過去の電流値（Ｐ１の電流値）と現在の電流値（Ｐ０の電流値）との電流差を、制限値と比較する。すなわち、例えば、図１１（ｃ）に示されるように、レジスタＰ１からレジスタＰ０の値を減算し、その電流差を所定の制限値と比較する。
【００８９】
そして、ステップＳＴ２６に進んで、電流変動量判定部２３により、電流差が制限値以上ではないと判定すると、ステップＳＴ２１に戻って、上述した処理を繰り返す。
【００９０】
一方、ステップＳＴ２６において、電流差が制限値以上であると判定すると、ステップＳＴ２７に進んで、電流変動量判定部２３により、電流差制限値超過検出信号ｃｆｅをアサートして動作率制御部２４に通知して、ステップＳＴ２８に進む。
【００９１】
ステップＳＴ２８では、動作率制御部２４により、ユーザー回路１における回路モジュールの動作率制御信号ｏｐｃ（ｏｐｃ１〜ｏｐｃ４）をアサートして回路の動作率を下降させるように制御して、ステップＳＴ２９に進む。
【００９２】
具体的に、ステップＳＴ２８において、動作率制御部２４は、例えば、クロック信号の周波数を下げ、プロセッサであれば命令の同時発行数を抑制し、或いは、ウェイト状態にして処理を休止することにより、回路の動作率を下降させる。
【００９３】
具体的に、図１１（ｃ）は、Ｐ１に保持された１区間前の『Ｂ』からＰ０の『Ｃ』を減算した電流差『Ｂ−Ｃ』が制限値を超えて、電流変動量制限値超過信号ｃｆｅが立ち上がり、動作率制御信号ｏｐｃが所定期間Ｔａｄだけ『Ｈ』になる様子を示している。
【００９４】
なお、図１１（ｃ）では、動作率制御信号ｏｐｃが『Ｈ』になる所定期間Ｔａｄは、電源系の共振周波数の周期Ｔｒの２／５程度とされている。これは、その期間Ｔａｄだけ動作率を低減して電流変動を共振周波数の周期からずらすことができれば任意の期間でよいが、その期間だけＬＳＩの動作を低減させることになるため、期間Ｔａｄは短い方が好ましい。
【００９５】
ここで、動作率制御信号ｏｐｃにより、動作率を下降させる回路モジュールは、１つの回路モジュールに限定されず、複数の回路モジュールを同時に制御して動作率を下降させてもよい。
【００９６】
これにより、図１１（ｄ）に示されるように、ユーザー回路１の動作率の上昇が抑制され、具体的に、クロック信号の周波数を下げることにより消費電流が低下すると共に、電流変動が時間方向に延長され、共振周波数の周期Ｔｒからずれることになる。すなわち、電源系の共振周波数の周期Ｔｒに対応した電流変動が発生しなくなり、ノイズ量が小さくなる。
【００９７】
そして、ステップＳＴ２９に進んで、動作率制御部２４により、電源系の所定の期間（例えば、共振周波数の周期Ｔｒ）が経過した後、動作率制御信号ｏｐｃ（ｏｐｃ１〜ｏｐｃ４）をネゲートして、ステップＳＴ２１に戻る。
【００９８】
一方、ステップＳＴ２４において、電流変動量判定部２３により、過去の電流値が、規定値上限ＩＬmax以上であると判定すると、ステップＳＴ３０に進む。
【００９９】
ステップＳＴ３０では、電流変動量判定部２３により、電流評価部２２が格納している過去の電流値（Ｐ１の電流値）と現在の電流値（Ｐ０の電流値）との電流差を、制限値と比較する。
【０１００】
そして、ステップＳＴ３１に進んで、電流変動量判定部２３により、電流差が制限値以下ではないと判定すると、ステップＳＴ２１に戻って、上述した処理を繰り返す。
【０１０１】
また、ステップＳＴ３１において、電流差が制限値以下であると判定すると、ステップＳＴ３２に進んで、電流変動量判定部２３により、電流差制限値超過検出信号ｃｆｅをアサートして動作率制御部２４に通知して、ステップＳＴ３３に進む。
【０１０２】
ステップＳＴ３３では、動作率制御部２４により、ユーザー回路１における回路モジュールの動作率制御信号ｏｐｃ（ｏｐｃ１〜ｏｐｃ４）をアサートして回路の動作率を上昇させるように制御して、ステップＳＴ３４に進む。
【０１０３】
そして、ステップＳＴ３４において、動作率制御部２４により、電源系の所定の期間（例えば、共振周波数の周期Ｔｒ）が経過した後、動作率制御信号ｏｐｃをネゲートして、ステップＳＴ２１に戻る。
【０１０４】
なお、電流変動の傾きの制限値は、電源系の共振周波数の周期Ｔｒで電流変動が発生することがないように、例えば、｜ΔＩmax／（Ｔｒ／２）｜となるように決めることができる。
【０１０５】
ここで、上述したステップＳＴ３１〜ＳＴ３４は、図８を参照して説明したステップＳＴ１４〜ＳＴ１７に相当する。なお、動作率を上昇させる制御は、前述したように、クロックゲーティングのディスエーブル、ＲＡＭのチップイネーブル制御の抑止、或いは、知られている他の様々な手法を適用することができる。
【０１０６】
さらに、動作率制御信号ｏｐｃにより動作率を制御する回路モジュールとしては、例えば、必要以上の電力の増加を防止するために、ユーザー回路の電力が最大のときに、クロックやＲＡＭが動作している回路に限定するのが好ましい。
【０１０７】
これは、動作率が低い回路のクロックゲーティングを停止することがなくなるため、クロックゲーティングを停止することによる電流値の上昇分を引き下げることができ、最大電力の増加量を小さくすることが可能になる。
【０１０８】
そして、本実施例の半導体集積回路によれば、回路の電流変動を、電源系の共振周波数の周期からずらすことで、ノイズの発生を抑制して半導体集積回路の誤動作を低減することが可能になる。また、チップやパッケージ或いはボードに搭載するデカップリングキャパシタを少なくすることにより、電源ノイズ対策のコストを削減することができる。
【０１０９】
さらに、クロックゲーティングやＲＡＭのチップイネーブル制御などの低消費電力化手法の実装により発生する電源ノイズを小さく抑制しながら、これらの手法を積極的に導入することにより、半導体集積回路の低消費電力化を図ることが可能になる。また、電源ノイズを小さく抑制することができるため、さらに電源電圧を低くすることが可能になり、半導体集積回路の低消費電力化を図ることができる。
【０１１０】
以上の実施例を含む実施形態に関し、さらに、以下の付記を開示する。
（付記１）
それぞれが動作率制御回路を含む複数の回路モジュールを有するユーザー回路と、
前記複数の回路モジュールの動作率をモニタして前記ユーザー回路の電流変動量を判定し、該電流変動量の判定結果に従って、前記各動作率制御回路を介して対応する前記回路モジュールの動作率を制御する電源ノイズ抑制回路と、
を有することを特徴とする半導体集積回路。
【０１１１】
（付記２）
前記電源ノイズ抑制回路は、前記電流変動量が電源系の共振周波数の周期からずれるように前記回路モジュールの動作率を制御する、
ことを特徴とする付記１に記載の半導体集積回路。
【０１１２】
（付記３）
前記電源ノイズ抑制回路は、
前記複数の回路モジュールの動作時の電力値と相関の高い信号を受け取って、動作率の情報を示す動作率情報信号を出力する動作率モニタ部と、
前記動作率情報信号を受け取って、対応する電流値の情報を示す電流値情報信号を出力する電流評価部と、
前記電流値情報信号を受け取って、前記電流変動量が制限値を超過したことを示す電流変動量制限値超過信号を出力する電流変動量判定部と、
前記電流変動量制限値超過信号を受け取って、前記動作率制御回路に対して動作率制御信号を出力する動作率制御部と、
を有することを特徴とする付記１または付記２に記載の半導体集積回路。
【０１１３】
（付記４）
前記電流変動量判定部は、前記ユーザー回路における過去の第１電流値と現在の第２電流値との電流差が前記制限値を超過したかどうかを判定し、
前記電流差が前記制限値を超過したと判定すると、前記動作率制御部は、前記回路モジュールの動作率を上昇させる、
ことを特徴とする付記３に記載の半導体集積回路。
【０１１４】
（付記５）
前記電流変動量判定部は、前記ユーザー回路における過去の第３電流値が、下限の第１規定値以下か、或いは、上限の第２規定値以上かどうかを判定する、
ことを特徴とする付記３に記載の半導体集積回路。
【０１１５】
（付記６）
前記電流変動量判定部は、
前記第３電流値が前記第２規定値以上であると判定すると、前記第３電流値と現在の第４電流値との電流差が前記制限値以下かどうかを判定し、
前記電流差が前記制限値以下であると判定すると、前記動作率制御部は、前記回路モジュールの動作率を上昇させる、
ことを特徴とする付記５に記載の半導体集積回路。
【０１１６】
（付記７）
前記電流変動量判定部は、
前記第３電流値が前記第１規定値以下であると判定すると、前記第３電流値と現在の第４電流値との電流差が前記制限値以上かどうかを判定し、
前記電流差が前記制限値以上であると判定すると、前記動作率制御部は、前記回路モジュールの動作率を下降させる、
ことを特徴とする付記５に記載の半導体集積回路。
【０１１７】
（付記８）
前記動作率制御部は、前記複数の回路モジュールにおける動作率の低いモジュールのみ動作率を上昇させるように制御する、
ことを特徴とする付記４または付記６に記載の半導体集積回路。
【０１１８】
（付記９）
前記動作率制御部は、クロックゲーティングのディスエーブル、或いは、ＲＡＭのチップイネーブル制御の抑止を行って、前記回路モジュールにおける動作率を上昇させる、
ことを特徴とする付記４または付記６に記載の半導体集積回路。
【０１１９】
（付記１０）
前記動作率制御部は、クロック信号の周波数を下げ、プロセッサにおける命令の同時発行数を抑制し、或いは、ウェイト状態にして処理を休止することにより、前記回路モジュールにおける動作率を下降させる、
ことを特徴とする付記７に記載の半導体集積回路。
【０１２０】
（付記１１）
前記動作率制御部は、前記電流変動量における電流の変動周期が、電源系の共振周波数帯からずれるように制御を行う、
ことを特徴とする付記３乃至付記１０のいずれか１項に記載の半導体集積回路。
【０１２１】
（付記１２）
複数の回路モジュールを有するユーザー回路と、前記回路モジュールの動作率を制御する電源ノイズ抑制回路と、を有する半導体集積回路の制御方法であって、
前記電源ノイズ抑制回路は、前記複数の回路モジュールの動作率から前記ユーザー回路の電流値の変動を求め、該ユーザー回路の電流値の変動が電源系の共振周波数の周期からずれるように前記回路モジュールの動作率を制御する
ことを特徴とする半導体集積回路の制御方法。
【０１２２】
（付記１３）
前記電源ノイズ抑制回路は、
前記複数の回路モジュールの動作時の電力値と相関の高い信号を受け取って、動作率の情報を示す動作率情報信号を生成し、
前記動作率情報信号を受け取って、対応する電流値の情報を示す電流値情報信号を生成し、
前記電流値情報信号を受け取って、前記電流変動量が制限値を超過したことを示す電流変動量制限値超過信号を生成し、
前記電流変動量制限値超過信号を受け取って、前記動作率制御回路に対する動作率制御信号を生成する、
ことを特徴とする付記１２に記載の半導体集積回路の制御方法。
【０１２３】
（付記１４）
前記電源ノイズ抑制回路は、前記ユーザー回路における過去の第１電流値と現在の第２電流値との電流差が前記制限値を超過したとき、前記回路モジュールの動作率を上昇させる、
ことを特徴とする付記１３に記載の半導体集積回路の制御方法。
【０１２４】
（付記１５）
前記電源ノイズ抑制回路は、前記ユーザー回路における過去の第３電流値が、下限の第１規定値以下か、或いは、上限の第２規定値以上かどうかを判定し、
前記第３電流値が前記第２規定値以上であって、前記第３電流値と現在の第４電流値との電流差が前記制限値以下のとき、前記回路モジュールの動作率を上昇させ、
前記第３電流値が前記第１規定値以下であって、前記第３電流値と前記第４電流値との電流差が前記制限値以上のとき、前記回路モジュールの動作率を下降させる、
ことを特徴とする付記１３に記載の半導体集積回路の制御方法。
【符号の説明】
【０１２５】
１    ユーザー回路
２    電源ノイズ抑制回路
１１〜１４    回路モジュール
２１    動作率モニタ部
２２    電流評価部
２３    電流変動量判定部
２４    動作率制御部
１１０〜１４０    動作率制御回路
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
それぞれが動作率制御回路を含む複数の回路モジュールを有するユーザー回路と、
前記複数の回路モジュールの動作率をモニタして前記ユーザー回路の電流変動量を判定し、該電流変動量の判定結果に従って、前記各動作率制御回路を介して対応する前記回路モジュールの動作率を制御する電源ノイズ抑制回路と、
を有することを特徴とする半導体集積回路。
【請求項２】
前記電源ノイズ抑制回路は、
前記複数の回路モジュールの動作時の電力値と相関の高い信号を受け取って、動作率の情報を示す動作率情報信号を出力する動作率モニタ部と、
前記動作率情報信号を受け取って、対応する電流値の情報を示す電流値情報信号を出力する電流評価部と、
前記電流値情報信号を受け取って、前記電流変動量が制限値を超過したことを示す電流変動量制限値超過信号を出力する電流変動量判定部と、
前記電流変動量制限値超過信号を受け取って、前記動作率制御回路に対して動作率制御信号を出力する動作率制御部と、
を有することを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記電流変動量判定部は、前記ユーザー回路における過去の第１電流値と現在の第２電流値との電流差が前記制限値を超過したかどうかを判定し、
前記電流差が前記制限値を超過したと判定すると、前記動作率制御部は、前記回路モジュールの動作率を上昇させる、
ことを特徴とする請求項２に記載の半導体集積回路。
【請求項４】
前記電流変動量判定部は、前記ユーザー回路における過去の第３電流値が、下限の第１規定値以下か、或いは、上限の第２規定値以上かどうかを判定する、
ことを特徴とする請求項２に記載の半導体集積回路。
【請求項５】
前記電流変動量判定部は、
前記第３電流値が前記第２規定値以上であると判定すると、前記第３電流値と現在の第４電流値との電流差が前記制限値以下かどうかを判定し、
前記電流差が前記制限値以下であると判定すると、前記動作率制御部は、前記回路モジュールの動作率を上昇させる、
ことを特徴とする請求項４に記載の半導体集積回路。
【請求項６】
前記電流変動量判定部は、
前記第３電流値が前記第１規定値以下であると判定すると、前記第３電流値と現在の第４電流値との電流差が前記制限値以上かどうかを判定し、
前記電流差が前記制限値以上であると判定すると、前記動作率制御部は、前記回路モジュールの動作率を下降させる、
ことを特徴とする請求項４に記載の半導体集積回路。
【請求項７】
複数の回路モジュールを有するユーザー回路と、前記回路モジュールの動作率を制御する電源ノイズ抑制回路と、を有する半導体集積回路の制御方法であって、
前記電源ノイズ抑制回路は、前記複数の回路モジュールの動作率から前記ユーザー回路の電流値の変動を求め、該ユーザー回路の電流値の変動が電源系の共振周波数の周期からずれるように前記回路モジュールの動作率を制御する
ことを特徴とする半導体集積回路の制御方法。
【請求項８】
前記電源ノイズ抑制回路は、
前記複数の回路モジュールの動作時の電力値と相関の高い信号を受け取って、動作率の情報を示す動作率情報信号を生成し、
前記動作率情報信号を受け取って、対応する電流値の情報を示す電流値情報信号を生成し、
前記電流値情報信号を受け取って、前記電流変動量が制限値を超過したことを示す電流変動量制限値超過信号を生成し、
前記電流変動量制限値超過信号を受け取って、前記動作率制御回路に対する動作率制御信号を生成する、
ことを特徴とする請求項７に記載の半導体集積回路の制御方法。
【請求項９】
前記電源ノイズ抑制回路は、前記ユーザー回路における過去の第１電流値と現在の第２電流値との電流差が前記制限値を超過したとき、前記回路モジュールの動作率を上昇させる、
ことを特徴とする請求項８に記載の半導体集積回路の制御方法。
【請求項１０】
前記電源ノイズ抑制回路は、前記ユーザー回路における過去の第３電流値が、下限の第１規定値以下か、或いは、上限の第２規定値以上かどうかを判定し、
前記第３電流値が前記第２規定値以上であって、前記第３電流値と現在の第４電流値との電流差が前記制限値以下のとき、前記回路モジュールの動作率を上昇させ、
前記第３電流値が前記第１規定値以下であって、前記第３電流値と前記第４電流値との電流差が前記制限値以上のとき、前記回路モジュールの動作率を下降させる、
ことを特徴とする請求項８に記載の半導体集積回路の制御方法。
【国際調査報告】
2012153377.tif 000015
2012153377.tif 000016
2012153377.tif 000017
2012153377.tif 000018