(57)【要約】  半導体集積回路１は、電源手段が放電動作であるか充電動作であるかを判定する。半導体集積回路１は、半導体集積回路１が備える複数の論理ブロック間でのクロックスキューを緩和するために、電源手段が充電動作である場合に、対象の処理を実行する上で動作が必要な論理ブロックを動作させる論理ブロックに決定するとともに、それ以外の論理ブロックのうち最小の停止率に対して一定値以上大きい停止率の論理ブロックも動作させる論理ブロックに決定する。
2008132809.tif 000002
【特許請求の範囲】
【請求項１】
動作及び停止に係る複数の状態を切り替え可能な論理ブロックを複数有する半導体集積回路において、
電源手段の動作に係る動作情報を取得する動作取得手段と、
前記動作取得手段によって取得される動作情報が電力消費量の抑制が不要な所定の動作を示す場合に、各前記論理ブロックの過去の状態に係る動作停止情報に基づいて前記論理ブロックを制御する状態を決定する状態決定手段と、
前記論理ブロックの状態を前記状態決定手段によって決定された状態に制御する状態制御手段と、
を備えることを特徴とする半導体集積回路。
【請求項２】
前記所定の動作は前記電源手段の充電動作である
ことを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記状態決定手段は、更に、前記動作停止情報が電源手段の放電動作を示す場合には、対象の処理を実行する上で動作する必要がある論理ブロックのみ動作する状態に決定する
ことを特徴とする請求項２記載の半導体集積回路。
【請求項４】
前記論理ブロックの動作停止情報は、当該論理ブロックが過去に停止する状態にあった停止率であり、
前記状態決定手段は、前記論理ブロックを制御する状態の決定を複数の前記論理ブロックの停止率に基づいて行う
ことを特徴とする請求項１記載の半導体集積回路。
【請求項５】
前記状態決定手段は、複数の前記論理ブロックの停止率の中から最小の停止率を特定し、前記論理ブロックのうち前記最小の停止率より所定の方法に従って定められる値以上値が大きい停止率の前記論理ブロックのみ制御する状態を動作する状態に決定する
ことを特徴とする請求項４記載の半導体集積回路。
【請求項６】
前記動作及び停止に係る複数の状態には、劣化度が異なる複数の状態があり、
前記状態決定手段は、複数の前記論理ブロックの夫々の劣化度を当該論理ブロックの前記動作停止情報に基づいて特定し、特定した各前記論理ブロックの劣化度に基づいて劣化度が大きいほど劣化する度合いが小さい状態に制御されるように各前記論理ブロックを制御する状態の決定を行う
ことを特徴とする請求項１記載の半導体集積回路。
【請求項７】
動作及び停止に係る複数の状態を切り替え可能な論理ブロックを複数有する半導体集積回路において行われる半導体集積回路の制御方法において、
電源手段の動作に係る動作情報を取得する動作取得ステップと、
前記動作取得ステップにおいて取得される動作情報が電力消費量の抑制が不要な所定の動作を示す場合に、各前記論理ブロックの過去の状態に係る動作停止情報に基づいて前記論理ブロックを制御する状態を決定する状態決定ステップと、
前記論理ブロックの状態を前記状態決定ステップにおいて決定された状態に制御する状態制御ステップと、
を有することを特徴とする半導体集積回路の制御方法。
【請求項８】
電源手段と、動作及び停止に係る複数の状態を切り替え可能な論理ブロックを複数有する半導体集積回路とを有する端末システムにおいて、
前記半導体集積回路は、
電源手段の動作に係る動作情報を取得する動作取得手段と、
前記動作取得手段によって取得される動作情報が電力消費量の抑制が不要な所定の動作を示す場合に、各前記論理ブロックの過去の状態に係る動作停止情報に基づいて前記論理ブロックを制御する状態を決定する状態決定手段と、
前記論理ブロックの状態を前記状態決定手段によって決定された状態に制御する状態制御手段と、
を備えることを特徴とする端末システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の論理ブロック間の経時劣化に起因するクロックスキューの増大を抑制する技術に関する。
【背景技術】
【０００２】
現在、ＬＳＩ（Large Scale Integration）設計において多く用いられている同期設計方式では、制御用のクロック信号が例えば状態を保持するレジスタに同じタイミングで供給される。実際のＬＳＩでは、クロック供給回路の構成の相違によって、クロック発生源からレジスタまでの間でクロック信号に生じる遅延量がレジスタ間において異なる。なお、レジスタなどの素子間における遅延量の差はクロックスキューと呼ばれる。【０００３】
一定以上のクロックスキューが発生すると、例えば、レジスタ間のデータの受け渡しに誤りが生じ、ＬＳＩが動作不良を起こすことがある。このため、一般に、一定以上のクロックスキューが発生する場合には設計時にレジスタ間のクロックスキューを相殺する遅延素子を挿入し、クロックスキューに起因するＬＳＩの動作不良を回避している。【０００４】
また、論理ブロック間を接続する配線とは独立した論理ブロックにクロック信号を供給するクロック配線と論理ブロックへのクロック信号の供給と遮断とを動的に切り替えるクロック制御手段とをＬＳＩが備えることによって、クロックスキューの発生を防ぐ技術が提案されている（例えば、特許文献１参照。）。【０００５】
しかしながら、ＬＳＩに含まれるトランジスタ、特に、ＰチャネルＭＯＳトランジスタは、ＮＢＴＩ（Negative Bias Temperature Instability）やＨＣＩ（Hot Carrier Injection）などによって経時劣化する。ＬＳＩに電力消費量を抑制するゲーティドクロック技術或いは電源遮断技術などを適用した場合には、ＬＳＩを使用し続けるとトランジスタ間で動作時間が異なり、ＮＢＴＩやＨＣＩなどの現象のためトランジスタ間で劣化度に差が生じる。この劣化度の差はクロックスキューの発生原因になるが、上記の技術ではトランジスタの経時劣化が考慮されていない。このため、トランジスタの経時劣化に起因するクロックスキューによるＬＳＩの動作不良を回避することができていない。【０００６】
トランジスタの経時劣化に起因するクロックスキューを抑制する技術として、フリップフロップの動作の停止制御を、制御用のクロック信号をハイレベルに固定することによって行う場合と、制御用のクロック信号をローレベルに固定することによって行う場合との何れかを適宜選択して行うことによって、トランジスタ間の経時劣化を等しくする技術が提案されている（例えば、特許文献２参照。）。
【特許文献１】特開２００３−１７４３５８号公報（第１０頁、第１図）
【特許文献２】特開２００６−２１１４９４号公報（第１８頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記のトランジスタの経時劣化に起因するクロックスキューを抑制する技術は、ＬＳＩによる電力消費量の抑制を可能にする電源遮断技術などに対しては適用できない。【０００８】
一方では、ＬＳＩなどの半導体集積回路を搭載する携帯電話機などの携帯端末は、通常、蓄電池から電力供給を受けて動作するので、携帯端末の動作時間の観点から電力消費量を抑えることが望まれる。このため、半導体集積回路にゲーティドクロック技術或いは電源遮断技術などを適用することは望ましい。【０００９】
そこで、本発明は、半導体集積回路の電力消費量の抑制を可能にする各種技術を適用でき、且つ、経時劣化に起因するクロックスキューを緩和する半導体集積回路、半導体集積回路の制御方法及び端末システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために本発明の半導体集積回路は、動作及び停止に係る複数の状態を切り替え可能な論理ブロックを複数有する半導体集積回路において、電源手段の動作に係る動作情報を取得する動作取得手段と、前記動作取得手段によって取得される動作情報が電力消費量の抑制が不要な所定の動作を示す場合に、各前記論理ブロックの過去の状態に係る動作停止情報に基づいて前記論理ブロックを制御する状態を決定する状態決定手段と、前記論理ブロックの状態を前記状態決定手段によって決定された状態に制御する状態制御手段と、を備える。【００１１】
また、本発明の半導体集積回路の制御方法は、動作及び停止に係る複数の状態を切り替え可能な論理ブロックを複数有する半導体集積回路において行われる半導体集積回路の制御方法において、電源手段の動作に係る動作情報を取得する動作取得ステップと、前記動作取得ステップにおいて取得される動作情報が電力消費量の抑制が不要な所定の動作を示す場合に、各前記論理ブロックの過去の状態に係る動作停止情報に基づいて前記論理ブロックを制御する状態を決定する状態決定ステップと、前記論理ブロックの状態を前記状態決定ステップにおいて決定された状態に制御する状態制御ステップと、を有する。【００１２】
さらに、本発明の端末システムは、電源手段と、動作及び停止に係る複数の状態を切り替え可能な論理ブロックを複数有する半導体集積回路とを有する端末システムにおいて、前記半導体集積回路は、電源手段の動作に係る動作情報を取得する動作取得手段と、前記動作取得手段によって取得される動作情報が電力消費量の抑制が不要な所定の動作を示す場合に、各前記論理ブロックの過去の状態に係る動作停止情報に基づいて前記論理ブロックを制御する状態を決定する状態決定手段と、前記論理ブロックの状態を前記状態決定手段によって決定された状態に制御する状態制御手段と、を備える。
【発明の効果】
【００１３】
上記半導体集積回路、半導体集積回路の制御方法及び端末システムの夫々によれば、半導体集積回路に電力供給を行う電源手段が電力消費量の抑制が不要な動作をしている場合に、各論理ブロックの過去の状態に応じて論理ブロックを制御する状態を動作する状態又は停止する状態に決定し、決定した状態に論理ブロックが制御される。このため、電力消費量を抑える必要のない期間で論理ブロックの劣化度の差を論理ブロック間で小さくすることができ、論理ブロック間のクロックスキューを緩和することができる。【００１４】
上記の半導体集積回路において、前記所定の動作は前記電源手段の充電動作であるようにしてもよい。【００１５】
電源手段が充電動作をしている場合には、例えば商用電源から電力供給を受けていることが想定される。このため、動作時間の観点からは電力消費量を抑制する必要がない期間にクロックスキューの緩和を達成できる。【００１６】
上記の半導体集積回路において、前記状態決定手段は、更に、前記動作停止情報が電源手段の放電動作を示す場合には、対象の処理を実行する上で動作する必要がある論理ブロックのみ動作する状態に決定するようにしてもよい。【００１７】
電源手段が放電動作をしている場合には、動作時間の観点から半導体集積回路は電力消費量を抑えた動作をすることが望まれる。【００１８】
これによれば、電源手段が放電動作をしている場合には、半導体集積回路が対象の処理を実行する上で必要な論理ブロックのみ動作させるので、上記の要望にかなったものになる。【００１９】
上記の半導体集積回路において、前記論理ブロックの動作停止情報は、当該論理ブロックが過去に停止する状態にあった停止率であり、前記状態決定手段は、前記論理ブロックを制御する状態の決定を複数の前記論理ブロックの停止率に基づいて行うようにしてもよい。【００２０】
これによれば、論理ブロックが動作を停止する状態にあるトータルの期間、言い換えると、論理ブロックが動作する状態にあるトータルの期間を論理ブロック間で近づけることが可能になって、論理ブロック間のクロックスキューを緩和することができる。【００２１】
上記の半導体集積回路において、前記状態決定手段は、複数の前記論理ブロックの停止率の中から最小の停止率を特定し、前記論理ブロックのうち前記最小の停止率より所定の方法に従って定められる値以上値が大きい停止率の前記論理ブロックのみ制御する状態を動作する状態に決定するようにしてもよい。【００２２】
これによれば、論理ブロックが動作を停止する状態にあるトータルの期間、言い換えると、論理ブロックが動作する状態にあるトータルの期間を論理ブロック間で近づけることが可能になって、論理ブロック間のクロックスキューを緩和することができる。【００２３】
上記の半導体集積回路において、前記動作及び停止に係る複数の状態には、劣化度が異なる複数の状態があり、前記状態決定手段は、複数の前記論理ブロックの夫々の劣化度を当該論理ブロックの前記動作停止情報に基づいて特定し、特定した各前記論理ブロックの劣化度に基づいて劣化度が大きいほど劣化する度合いが小さい状態に制御されるように各前記論理ブロックを制御する状態の決定を行うようにしてもよい。【００２４】
これによれば、論理ブロックの劣化度を論理ブロック間で近づけることが可能になって、論理ブロック間のクロックスキューを緩和することができる。
【図面の簡単な説明】
【００２５】
【図１】第１の実施の形態に係る半導体集積回路の全体の構成図。
【図２】図１の動作量保持部の保持内容の一例を示す図。
【図３】図１の論理ブロックの構成図。
【図４】図１の制御部の構成図。
【図５】図１の半導体集積回路が行う論理ブロック制御処理の手順を示すフローチャート。
【図６】図５の放電動作ブロック制御処理の手順を示すフローチャート。
【図７】図５の充電動作ブロック制御処理の手順を示すフローチャート。
【図８】図１の半導体集積回路が行う論理ブロックの制御処理の具体例を説明するための図。
【図９】第２の実施の形態に係る半導体集積回路の構成図。
【図１０】図９の電源遮断回路の構成図。
【図１１】第３の実施の形態の半導体集積回路の構成図。
【図１２】図１１のクロックゲート回路の構成図。
【図１３】図１１の論理ブロックの各状態における劣化特性の概要を示す図。
【図１４】図１１の劣化度保持部の保持内容の一例を示す図。
【図１５】図１１の放電動作処理部及び充電動作処理部が行う論理ブロックの劣化度の算出方法を説明するための図。
【図１６】図１１の半導体集積回路が行う論理ブロック制御処理の手順を示すフローチャート。
【図１７】図１６の放電動作ブロック制御処理の手順を示すフローチャート。
【図１８】図１６の充電動作ブロック制御処理の手順を示すフローチャート。
【図１９】図１６の充電動作ブロック制御処理の手順を示すフローチャート。
【図２０】第４の実施の形態の携帯電話機の動作を説明するための斜視図。
【図２１】図２０の携帯電話機の構成図。
【符号の説明】
【００２６】
１  半導体集積回路
１０ａ〜１０ｄ  論理ブロック
１１  論理素子
１２  クロックゲート回路
１３ａ，１３ｂ  インバータ回路
５０  制御部
５１  電源動作判定部
５２  放電動作処理部
５３  充電動作処理部
５４  状態制御部
６０  電源動作検出部
７０  動作量保持部
【発明を実施するための最良の形態】
【００２７】
≪第１の実施の形態≫
以下、本発明の第１の実施の形態について図面を参照しつつ説明する。【００２８】
＜構成＞
本実施の形態の半導体集積回路の構成について図１を参照しつつ説明する。図１は本実施の形態の半導体集積回路の構成図である。但し、半導体集積回路として、ＦＰＧＡ（Field Programmable Gate Array）や再構成可能ロジック等のプログラムにより機能を変更することが可能なプログラマブル論理回路を挙げることができる。【００２９】
図１において、半導体集積回路１は、論理ブロック１０ａ〜１０ｄと、各論理ブロック１０ａ〜１０ｄ間でデータを受け渡すためのデータ配線３０と、各論理ブロック１０ａ〜１０ｄ間のデータ配線３０の結線状態をプログラムによって設定変更するための配線切替スイッチ２０とを備える。【００３０】
半導体集積回路１は、更に、各論理ブロック１０ａ〜１０ｄにクロック信号を供給するための不図示のクロック生成回路と各論理ブロック１０ａ〜１０ｄとを接続するためのクロック配線４０を備える。【００３１】
半導体集積回路１は、更に、制御部５０を備えると共に、制御部５０が論理ブロック１０ａ〜１０ｄの動作及び停止に係る複数の状態の切り替え制御に用いる状態制御線８０ａ〜８０ｄと、半導体集積回路１の構成の切り替え制御に用いる構成制御線９０ａ〜９０ｄとを備える。但し、本実施の形態では、論理ブロック１０ａ〜１０ｄの動作及び停止に係る状態（以下、「動作停止状態」と言う。）として、論理ブロック１０ａ〜１０ｄが動作する状態（以下、「動作状態」と言う。）と、論理ブロック１０ａ〜１０ｄが動作を停止する状態（以下、「停止状態」と言う。）との２つの状態がある。【００３２】
制御部５０は、半導体集積回路１の構成の決定処理を行うと共に、論理ブロック１０ａ〜１０ｄを制御する動作停止状態（動作状態、停止状態）の決定処理を行う。また、制御部５０は、半導体集積回路１が対象の処理を実現するための論理ブロック１０ａ〜１０ｄ間の結線状態にすべく配線切替スイッチ２０の切り替え制御を行う。【００３３】
半導体集積回路１は、更に、電源動作検出部６０を備える。電源動作検出部６０は、電源手段（例えば、バッテリ）の動作（放電動作、充電動作）を検出し、検出した電源手段の動作を通知するための電源動作通知信号を制御部５０へ出力する。【００３４】
半導体集積回路１は、更に、動作量保持部７０を備える。【００３５】
動作量保持部７０は、不図示の発振回路によって発振されたクロック信号ＣＬＫの立ち上がりエッジ又は立ち下がりエッジの数（クロック数）を計測する。【００３６】
動作量保持部７０は、半導体集積回路１の動作クロック数、並びに、論理ブロック１０ａ〜１０ｄの動作クロック数及び動作停止状態を格納するための、図２に一例を示す格納テーブルを記憶する。なお、動作量保持部７０に保持されている動作クロック数は、半導体集積回路１及び論理ブロック１０ａ〜１０ｄの夫々が動作している期間（例えば、現時点の構成が構成ａであり、構成ａの直前の構成が構成ｂである場合、構成ｂが終了するまでにおける動作している期間）におけるクロック信号ＣＬＫのクロック数である。【００３７】
但し、図２において、フィールド「ブロック」の“全体”が半導体集積回路１全体を示し、“ブロックＡ”，“ブロックＢ”、“ブロックＣ”及び“ブロックＤ”が夫々論理ブロック１０ａ，１０ｂ，１０ｃ及び１０ｄを示す。例えば、現時点の半導体集積回路１の構成が構成ａであり、構成ａの直前の半導体集積回路１の構成が構成ｂであるとすると、フィールド「動作クロック数」には構成ｂが終了した時点の動作クロック数が格納され、フィールド「動作停止状態」には構成ａにおける各論理ブロック１０ａ〜１０ｄの動作停止状態（動作状態、停止状態）が格納される。【００３８】
（論理ブロックの構成）
図１の論理ブロック１０ａの構成について図３を参照しつつ説明する。図３は図１の論理ブロック１０ａの構成図である。但し、図３では、構成制御線９０ａの図示を省略している。また、図３では論理素子１１を１個のみ図示しているが、論理ブロック１０ａは１以上の論理素子１１を備える。なお、論理ブロック１０ｂ〜１０ｄは、本発明に関連する部分に関する限りにおいて、論理ブロック１０ａと実質的に同じ構成をしている。【００３９】
論理ブロック１０ａは、論理演算処理を行うものであって、論理素子１１と、クロックゲート回路１２と、インバータ回路１３ａ，１３ｂとを備える。【００４０】
論理素子１１は、制御端子に入力されるクロック信号に同期して動作するフリップフロップなどである。【００４１】
インバータ回路１３ａ，１３ｂは、入力信号の信号レベルを反転した信号を出力信号として出力する。なお、インバータ回路１３ａ，１３ｂは、例えば、ＰチャネルＭＯＳトランジスタ（以下、「ＰＭＯＳトランジスタ」と言う。）とＮチャネルＭＯＳトランジスタ（以下、「ＮＭＯＳトランジスタ」と言う。）とを含むＣＭＯＳ型のインバータ回路である。なお、クロックゲート回路１２と論理素子１１との間に設けられるインバータ回路１３ａ、１３ｂの個数は２個に限られるものではない。【００４２】
クロックゲート回路１２は、ＮＡＮＤ回路によって構成され、２つの入力端子には夫々クロック配線４０と状態制御線８０ａとが接続されている。状態制御線８０ａの制御信号の信号レベルがハイレベルのとき、クロックゲート回路１２からの出力信号は、クロック配線４０からクロックゲート回路１２に供給されるクロック信号の信号レベルが反転したクロック信号になる。一方、状態制御線８０ａの制御信号の信号レベルがローレベルのとき、クロックゲート回路１２からの出力信号はハイレベルに固定されたクロック信号になる。【００４３】
クロックゲート回路１２から出力されるクロック信号は、インバータ回路１３ａ，１３ｂを通過し、インバータ回路１３ｂから出力されるクロック信号が論理素子１１の制御端子に入力される。【００４４】
上記の構成の論理ブロック１０ａでは、制御部５０が状態制御線８０ａの制御信号の信号レベルをハイレベルにすることによって、論理素子１１の制御端子にはハイレベルとローレベルとを交互に繰り返すクロック信号が入力されることになる。この結果、論理素子１１は動作し、論理ブロック１０ａは動作状態になる。【００４５】
これに対して、制御部５０が状態制御線８０ａの制御信号の信号レベルをローレベルにすることによって、論理素子１１の制御端子にはハイレベルに固定されたクロック信号が入力されることになる。この結果、論理素子１１は動作することなく、論理ブロック１０ａは停止状態になる。【００４６】
なお、論理ブロック１０ｂ〜１０ｄについても同様である。【００４７】
（制御部の構成）
図１の制御部５０の構成について図４を参照しつつ説明する。図４は図１の制御部５０の構成図である。なお、図４では、論理ブロック１０ａのクロックゲート回路１２のみ図示し、他の論理ブロック１０ｂ〜１０ｄのクロックゲート回路の図示は省略している。【００４８】
制御部５０は、電源動作判定部５１と、放電動作処理部５２と、充電動作処理部５３と、状態制御部５４とを備える。【００４９】
電源動作判定部５１は、半導体集積回路１が構成を切り替えるタイミングで、電源動作検出部６０から入力される電源動作通知信号に基づいて電源手段の動作が充電動作か放電動作かを判定する。そして、電源動作判定部５１は、電源手段の動作が放電動作であると判定した場合には放電動作処理部５２に対して放電動作処理指令信号を出力し、電源手段の動作が充電動作であると判定した場合には充電動作処理部５３に対して充電動作処理指令信号を出力する。【００５０】
放電動作処理部５２は、電源動作判定部５１から放電動作処理指令信号を受けて、動作量保持部７０に記憶されている図２の格納テーブルにおいて、半導体集積回路１全体に対応する動作クロック数及びフィールド「動作停止状態」に“動作状態”が格納されている論理ブロックに対応する動作クロック数の夫々に動作量保持部７０が計測しているクロック数を加算する。これによって、図２の格納テーブルのフィールド「動作クロック数」には、半導体集積回路１の構成が例えば構成ｂから構成ａに切り替わる場合には、構成ｂの終了時点での半導体集積回路１及び論理ブロック１０ａ〜１０ｄの夫々の動作クロック数が格納されることになる。そして、放電動作処理部５２は、動作量保持部７０が計測しているクロック数を“０”にリセットする。【００５１】
また、放電動作処理部５２は、論理ブロック１０ａ〜１０ｄのうち、半導体集積回路１がこれから行う処理を実行する上で動作が必要な論理ブロックのみ動作させる論理ブロックに決定し、それ以外の論理ブロックを動作を停止させる論理ブロックに決定する。そして、放電動作処理部５２は、動作させる論理ブロックと動作を停止させる論理ブロックとの情報を含む第１状態通知信号を状態制御部５４へ出力する。これとともに、放電動作処理部５２は、図２の格納テーブルにおいて、動作させる論理ブロックに決定した論理ブロックに対応するフィールド「動作停止状態」に“動作状態”を格納し、動作を停止させる論理ブロックに決定した論理ブロックに対応するフィールド「動作停止状態」に“停止状態”を格納する。【００５２】
充電動作処理部５３は、電源動作判定部５１から充電動作処理指令信号を受けて、動作量保持部７０に記憶されている図２の格納テーブルにおいて、半導体集積回路１全体に対応する動作クロック数及びフィールド「動作停止状態」に“動作状態”が格納されている論理ブロックに対応する動作クロック数の夫々に動作量保持部７０が計測しているクロック数を加算する。そして、充電動作処理部５３は、動作量保持部７０が計測しているクロック数を“０”にリセットする。【００５３】
また、充電動作処理部５３は、論理ブロック１０ａ〜１０ｄのうち、半導体集積回路１がこれから行う処理を実行する上で動作が必要な論理ブロックを動作させる論理ブロックに決定する。さらに、充電動作処理部５３は、動作させる論理ブロックに決定された論理ブロック以外の各論理ブロックを、上記の加算処理後の図２の格納テーブルの動作クロック数に基づいて、動作させる論理ブロック及び動作を停止させる論理ブロックの何れかに決定する。そして、充電動作処理部５３は、動作させる論理ブロックと動作を停止させる論理ブロックとの情報を含む第２状態通知信号を状態制御部５４へ出力する。これとともに、充電動作処理部５３は、図２の格納テーブルにおいて、動作させる論理ブロックに決定した論理ブロックに対応するフィールド「動作停止状態」に“動作状態”を格納し、動作を停止させる論理ブロックに決定した論理ブロックに対応するフィールド「動作停止状態」に“停止状態”を格納する。【００５４】
状態制御部５４は、放電動作処理部５２から入力される第１状態通知信号に含まれる動作させる論理ブロックに対応する状態制御線の制御信号の信号レベルをハイレベルにし、それ以外の論理ブロックに対応する状態制御線の制御信号の信号レベルをローレベルにする。また、状態制御部５４は、充電動作処理部５３から入力される第２状態通知信号に含まれる動作させる論理ブロックに対応する状態制御線の制御信号の信号レベルをハイレベルにし、それ以外の論理ブロックに対応する状態制御線の制御信号の信号レベルをローレベルにする。【００５５】
＜動作＞
図１から図４を参照して構成を説明した半導体集積回路１の動作について図５を参照しつつ説明する。図５は図１の半導体集積回路１が行う論理ブロック制御処理の手順を示すフローチャートである。【００５６】
電源動作判定部５１は、半導体集積回路１が構成を切り替えるタイミングにおいて、電源動作検出部６０から入力される電源動作通知信号に基づいて電源手段の動作が放電動作か充電動作かを判定する（ステップＳ１０１）。【００５７】
電源動作判定部５１によって電源手段の動作が放電動作であると判定された場合には（Ｓ１０１：放電）、放電動作処理部５２及び状態制御部５４は、図６に処理手順を示す放電動作ブロック制御処理を実行する（ステップＳ１０２）。一方、電源動作判定部５１によって電源手段の動作が充電動作であると判定された場合には（Ｓ１０１：充電）、充電動作処理部５３及び状態制御部５４は、図７に処理手順を示す充電動作ブロック制御処理を実行する（ステップＳ１０３）。【００５８】
（放電動作ブロック制御処理）
図５の放電動作ブロック制御処理（ステップＳ１０２）について図６を参照しつつ説明する。図６は図５の放電動作ブロック制御処理（ステップＳ１０２）の手順を示すフローチャートである。【００５９】
放電動作処理部５２は、図２の格納テーブルにおいて、半導体集積回路１全体に対応する動作クロック数及びフィールド「動作停止状態」に“動作状態”が格納されている論理ブロックに対応する動作クロック数の夫々に動作量保持部７０が計測しているクロック数を加算し、格納テーブルの格納内容の更新を行う。そして、放電動作処理部５２は、動作量保持部７０が計測しているクロック数を“０”にリセットする（ステップＳ１３１）。【００６０】
放電動作処理部５２は、半導体集積回路１がこれから行う処理（対象の処理）を実行する上で動作が必要な論理ブロックのみ動作させる論理ブロックに決定し、それ以外の論理ブロックを動作を停止させる論理ブロックに決定する（ステップＳ１３２）。【００６１】
状態制御部５４は、ステップＳ１３２において動作させる論理ブロックに決定された論理ブロックに対応する状態制御線の制御信号の信号レベルをハイレベルにし、動作を停止させる論理ブロックに決定された論理ブロックに対応する状態制御線の制御信号の信号レベルをローレベルにする（ステップＳ１３３）。【００６２】
放電動作処理部５２は、図２の格納テーブルにおいて、ステップＳ１３２において動作させる論理ブロックに決定された論理ブロックに対応するフィールド「動作停止状態」に“動作状態”を格納し、動作を停止させる論理ブロックに決定された論理ブロックに対応するフィールド「動作停止状態」に“停止状態”を格納する（ステップＳ１３４）。そして、制御部５０は図５の処理に戻る。【００６３】
（充電動作ブロック制御処理）
図５の充電動作ブロック制御処理（ステップＳ１０３）について図７を参照しつつ説明する。図７は図５の充電動作ブロック制御処理（ステップＳ１０３）の手順を示すフローチャートである。【００６４】
充電動作処理部５３は、図２の格納テーブルにおいて、半導体集積回路１全体に対応する動作クロック数及びフィールド「動作停止状態」に“動作状態”が格納されている論理ブロックに対応する動作クロック数の夫々に動作量保持部７０が計測しているクロック数を加算し、格納テーブルの格納内容の更新を行う。そして、充電動作処理部５３は、動作量保持部７０が計測しているクロック数を“０”にリセットする（ステップＳ１５１）。【００６５】
充電動作処理部５３は、動作クロック数の加算後の格納テーブルの動作クロック数を参照して、論理ブロック１０ａ〜１０ｄの夫々について、半導体集積回路１全体の動作クロック数から論理ブロックの動作クロック数を減算し、減算値を半導体集積回路１全体の動作クロック数で除算し、除算値を当該論理ブロックの停止率とする（ステップＳ１５２）。続いて、充電動作処理部５３は、論理ブロック１０ａ〜１０ｄの停止率の中から最小の停止率を特定し、特定した最小の停止率に予め定められた値を加算し、加算値を動作閾値とする（ステップＳ１５３）。【００６６】
充電動作処理部５３は、半導体集積回路１がこれから行う処理（対象の処理）を実行する上で動作が必要な論理ブロックを動作させる論理ブロック（以下、「動作ブロック」と言う。）に決定する（ステップＳ１５４）。【００６７】
充電動作処理部５３は、動作ブロック以外の論理ブロックの全てを後述するステップＳ１５６からステップＳ１５９の処理対象にしたか否かを判定する（ステップＳ１５５）。【００６８】
充電動作処理部５３は、動作ブロック以外の論理ブロックの全てを処理対象にしていないと判定すると（Ｓ１５５：ＮＯ）、処理対象にしていない論理ブロックの１つに注目する（ステップＳ１５６）。そして、充電動作処理部５３は、注目している論理ブロックの停止率が動作閾値以上であるか否かを判定する（ステップＳ１５７）。【００６９】
充電動作処理部５３は、注目している論理ブロックの停止率が動作閾値以上であると判定すると（Ｓ１５７：ＹＥＳ）、注目している論理ブロックを動作させる論理ブロック（以下、「変更動作ブロック」と言う。）に決定し（ステップＳ１５８）、ステップＳ１５５の処理へ移行する。一方、充電動作処理部５３は、注目している論理ブロックの停止率が動作閾値以上でないと判定すると（Ｓ１５７：ＮＯ）、注目している論理ブロックを動作を停止させる論理ブロック（以下、「停止ブロック」と言う。）に決定し（ステップＳ１５９）、ステップＳ１５５の処理へ移行する。【００７０】
充電動作処理部５３によって動作ブロック以外の論理ブロックの全てを処理対象にしたと判定されると（Ｓ１５５：ＹＥＳ）、状態制御部５４は、ステップＳ１５４において動作ブロックに決定された論理ブロック及びステップＳ１５８において変更動作ブロックに決定された論理ブロックに対応する状態制御線の制御信号をハイレベルにする。これとともに、状態制御部５４は、ステップＳ１５９において停止ブロックに決定された論理ブロックに対応する状態制御線の制御信号の信号レベルをローレベルにする（ステップＳ１６０）。【００７１】
充電動作処理部５３は、図２の格納テーブルにおいて、動作ブロック及び変更動作ブロックの何れかに決定された論理ブロックに対応するフィールド「動作停止状態」に“動作状態”を格納し、停止ブロックに決定された論理ブロックに対応するフィールド「動作停止状態」に“停止状態”を格納する（ステップＳ１６１）。そして、制御部５０は図５の処理に戻る。【００７２】
＜具体例＞
図１から図７を参照して説明した半導体集積回路１の動作の具体例について図８を参照しつつ説明する。図８（ａ）及び図８（ｂ）は図１の半導体集積回路１が行う論理ブロックの制御処理の具体例を説明するための図である。【００７３】
本具体例では、半導体集積回路１は、対象となる処理を実行する上で動作させる必要がある論理ブロックが論理ブロック１０ａ〜１０ｄである構成Ａ、動作させる必要がある論理ブロックが論理ブロック１０ａのみである構成Ｂ、動作させる必要がある論理ブロックが論理ブロック１０ａ〜１０ｄである構成Ｃ、動作させる必要がある論理ブロックが論理ブロック１０ｃのみである構成Ｄの順番で動作するものとする。【００７４】
また、半導体集積回路１が構成Ａ及び構成Ｂで動作する期間は電源手段が放電動作を行っており、半導体集積回路１が構成Ｃ及び構成Ｄで動作する期間は電源手段が充電動作を行っているとする。【００７５】
時間Ｔ１〜Ｔ２では、電源動作判定部５１は電源手段の動作が放電動作であると判定する。放電動作処理部５２は論理ブック１０ａ〜１０ｄの全てを動作させる論理ブロックに決定し、状態制御部５４は論理ブロック１０ａ〜１０ｄが動作するように制御信号の生成を行う（構成Ａ）。【００７６】
時間Ｔ２〜Ｔ３では、電源動作判定部５１は電源手段の動作が放電動作であると判定する。放電動作処理部５２は論理ブック１０ａを動作させる論理ブロックに決定し、論理ブロック１０ｂ〜１０ｄを動作を停止させる論理ブロックに決定する。状態制御部５４は論理ブロック１０ａが動作するように、論理ブロック１０ｂ〜１０ｄが動作を停止するように制御信号の生成を行う（構成Ｂ）。なお、時間Ｔ２〜Ｔ３では、電源手段の動作が放電動作なので、論理ブロック１０ｂ〜１０ｄの中から停止率に基づいて動作させる論理ブロックを決定するための処理は行われない。【００７７】
時間Ｔ３〜Ｔ４では、電源動作判定部５１は電源手段の動作が充電動作であると判定する。充電動作処理部５３は論理ブック１０ａ〜１０ｄの全てを動作させる論理ブロックに決定し、状態制御部５４は論理ブロック１０ａ〜１０ｄが動作するように制御信号の生成を行う（構成Ｃ）。なお、半導体集積回路１が構成Ｃから構成Ｄに切り替わるとき、論理ブロック１０ｂ〜１０ｄの停止率は、論理ブロック１０ａ〜１０ｄの停止率のうち最小の停止率に予め定められた値を加算した加算値（動作閾値）以上であるとし、論理ブロック１０ａの停止率は動作閾値未満であるとする。【００７８】
時間Ｔ４〜Ｔ５では、電源動作判定部５１は電源手段の動作が充電動作であると判定する。充電動作処理部５３は論理ブック１０ｃを動作させる論理ブロック（動作ブロック）に決定する。充電動作処理部５３は、動作ブロック１０ｃ以外の論理ブロック１０ａ，１０ｂ，１０ｄのうち、停止率に基づいて、論理ブロック１０ｂ，１０ｄを動作させる論理ブロック（変更動作ブロック）に決定し、論理ブロック１０ａを動作を停止させる論理ブロック（停止ブロック）に決定する。状態制御部５４は論理ブロック１０ｃ及び論理ブロック１０ｂ，１０ｄが動作するように、論理ブロック１０ａが動作を停止するように制御信号の生成を行う（構成Ｄ）。【００７９】
上述した本実施の形態の半導体集積回路１によれば、電源手段が放電動作をしている場合には、半導体集積回路１は対象の処理を実行する上で動作が必要な論理ブロックのみ動作するように論理ブロックの動作状態と停止状態との切り替え制御を行う。このため、電源手段の動作が放電動作の場合には半導体集積回路１における消費電力量が抑制される。【００８０】
また、半導体集積回路１が電力消費量の抑制が不要である電源手段が充電動作をしている場合には、半導体集積回路１は論理ブロック１０ａ〜１０ｄの停止率、言い換えると、動作率が論理ブロック間で近づくように、論理ブロックの動作状態と停止状態との切り替え制御を行う。これによって、論理ブロック間のクロックスキューを小さくすることができ、論理ブロックの経時劣化に起因するクロックスキューによる論理ブロック間のデータの受け渡しの誤りを防ぐことができる。また、より小さいクロックスキューに基づいた半導体集積回路１の設計を行うなうことが可能なため、論理ブロック間などに挿入する遅延素子の数を少なくすることができ、半導体集積回路１の消費電力量の抑制及び半導体集積回路１の面積の増大の抑制が可能になる。【００８１】
≪第２の実施の形態≫
以下、本発明の第２の実施の形態について図面を参照しつつ説明する。【００８２】
但し、第１の実施の形態は論理ブロックの動作を停止させるためにクロックの供給を止めるゲーディドクロック技術を用いているが、本実施の形態は論理ブロックの動作を停止させるために電力供給を止める電源遮断技術を用いる。【００８３】
なお、第２の実施の形態では、第１の実施の形態と実質的に同じ構成要素には第１の実施の形態と同じ符号を付し、第１の実施の形態の説明が適用できるためその説明を省略する。【００８４】
＜構成＞
本実施の形態の半導体集積回路の構成について図９を参照しつつ説明する。図９は本実施の形態の半導体集積回路の構成図である。【００８５】
半導体集積回路１ａは、第１の実施の形態の半導体集積回路１と論理ブロックのみ異なるものであり、その他の構成は半導体集積回路１の対応する構成と実質的に同じである。【００８６】
（論理ブロックの構成）
半導体集積回路１ａには論理ブロック２００ａ〜２００ｄが備えられており、論理ブロック２００ａ〜２００ｄは本発明に関連する部分に関する限り実質的に同じ構成をしている。【００８７】
論理ブロック２００ａは、論理演算処理を行うものであって、論理素子１１と、インバータ回路２１１〜２１３と、電源遮断回路２２０とを備える。【００８８】
インバータ回路２１１〜２１３は、入力信号の信号レベルを反転した信号を出力信号として出力する。インバータ回路２１１の入力端子にクロック配線４０が接続され、インバータ回路２１１の入力端子に入力されるクロック信号はインバータ回路２１１〜２１３を通過し、インバータ回路２１３から出力されるクロック信号が論理素子１１の制御端子に入力される。なお、インバータ回路２１１〜２１３の個数は３個に限られるものではない。【００８９】
電源遮断回路２２０は、状態制御線８０ａの制御信号の信号レベルがハイレベルのときに論理素子１１及びインバータ回路２１１〜２１３を電源に接続することによって論理素子１１及びインバータ回路２１１〜２１３に電力供給が行われるように動作する。これに対して、電源遮断回路２２０は、状態制御線８０ａの制御信号の信号レベルがローレベルのときに論理素子１１及びインバータ回路２１１〜２１３を電源から遮断することによって論理素子１１及びインバータ回路２１１〜２１３に電力供給が行われないように動作する。【００９０】
上記の構成の論理ブロック２００ａでは、制御部５０が状態制御線８０ａの制御信号の信号レベルをハイレベルにすることによって、論理素子１１及びインバータ回路２１１〜２１３に電力供給が行われる。この結果、論理素子１１及びインバータ回路２１１〜２１３は動作し、論理ブロック２００ａは動作状態になる。これに対して、制御部５０が状態制御線８０ａの制御信号の信号レベルをローレベルにすることによって、論理素子１１及びインバータ回路２１１〜２１３に電力供給が行われなくなる。この結果、論理素子１１及びインバータ回路２１１〜２１３は動作せず、論理ブロック２００ａは停止状態になる。【００９１】
なお、論理ブロック２００ｂ〜２００ｄについても同様である。【００９２】
［電源遮断回路の構成］
図９の電源遮断回路２２０の構成について図１０を参照しつつ説明する。図１０は図９の電源遮断回路２２０の構成図である。但し、モジュール２６０は図９の論理素子１１やインバータ回路２１１〜２１３である。【００９３】
電源遮断回路２２０は、インバータ回路２２１と、ソース電極が電源に接続され、ドレイン電極がモジュール２６０に接続されたＰＭＯＳトランジスタ２２２と、ドレイン電極がモジュール２６０に接続され、ソース電極がグランド板に接続されたＮＭＯＳトランジスタ２２３とを備える。【００９４】
インバータ回路２２１の入力端子及びＮＭＯＳトランジスタ２２３のゲート電極は状態制御線８０ａに接続され、ＰＭＯＳトランジスタ２２２のゲート電極はインバータ回路２２１の出力端子に接続されている。【００９５】
状態制御線８０ａの制御信号の信号レベルがハイレベルのとき、ＰＭＯＳトランジスタ２２２のゲート電極にはローレベルの信号が印加され、ＮＭＯＳトランジスタ２２３のゲート電極にはハイレベルの信号が印加される。これによって、ＰＭＯＳトランジスタ２２２及びＮＭＯＳトランジスタ２２３の双方がオン状態になって、モジュール２６０は電源に接続され、電源からモジュール２６０に電力供給が行われる。【００９６】
これに対して、状態制御線８０ａの制御信号の信号レベルがローレベルのとき、ＰＭＯＳトランジスタ２２２のゲート電極にはハイレベルの信号が印加され、ＮＭＯＳトランジスタ２２３のゲート電極にはローレベルの信号が印加される。これによって、ＰＭＯＳトランジスタ２２２及びＮＭＯＳトランジスタ２２３の双方がオフ状態になって、モジュール２６０は電源から遮断され、電源からモジュール２６０へ電力供給が行われなくなる。【００９７】
≪第３の実施の形態≫
以下、本発明の第３の実施の形態に係る半導体集積回路について図面を参照しつつ説明する。【００９８】
但し、第１の実施の形態は論理ブロックの動作を停止させるために論理素子などにクロックの供給を止めるゲーディドクロック技術を用い、第２の実施の形態は論理ブロックの動作を停止させるために電力供給を止める電源遮断技術を用いている。これに対して、本実施の形態は論理ブロックの動作を停止させるためにゲーティドクロック技術及び電源遮断技術の双方を用いる。【００９９】
なお、第３の実施の形態では、第１の実施の形態と実質的に同じ構成要素には第１の実施の形態と同じ符号を付し、第１の実施の形態の説明が適用できるためその説明を省略する。【０１００】
＜構成＞
本実施の形態の半導体集積回路の構成について図１１を参照しつつ説明する。図１１は本実施の形態の半導体集積回路の構成図である。【０１０１】
半導体集積回路１ｂは、論理ブロック３００ａ〜３００ｄと制御部５０ｂと電源動作検出部６０と劣化度保持部３２０とクロック配線４０と状態制御線８１ａ〜８３ａとを備える。なお、論理ブロック３００ａ〜３００ｄは本発明に関連する部分に関する限り実質的に同じ構成をしている。【０１０２】
（論理ブロックの構成）
論理ブロック３００ａは、論理演算処理を行うものであって、論理素子１１と、クロックゲート回路３１０と、インバータ回路１３ａ，１３ｂと、電源遮断回路２２０ｂとを備える。【０１０３】
電源遮断回路２２０ｂは、図１０に構成を示した電源遮断回路２２０と同じ構成をしており、状態制御線８３ａの制御信号の信号レベルがハイレベルのときに、論理素子１１、クロックゲート回路３１０及びインバータ回路１３ａ，１３ｂを電源に接続することによって論理素子１１、クロックゲート回路３１０及びインバータ回路１３ａ，１３ｂに電力供給が行われるように動作する。これに対して、電源遮断回路２２０ｂは、状態制御線８３ａの制御信号がローレベルのときに論理素子１１、クロックゲート回路３１０及びインバータ回路１３ａ，１３ｂを電源から遮断することによって論理素子１１、クロックゲート回路３１０及びインバータ回路１３ａ，１３ｂに電力供給が行われないように動作する。【０１０４】
クロックゲート回路３１０は、図１２に示すように、ＮＡＮＤ回路３１１とインバータ回路３１２とＮＯＲ回路３１３とを備える。ＮＡＮＤ回路３１１の２つの入力端子には夫々クロック配線４０と状態制御線８１ａとが接続され、ＮＡＮＤ回路３１１の出力端子はインバータ回路３１２の入力端子に接続される。ＮＯＲ回路３１３の２つの入力端子にはインバータ回路３１２の出力端子と状態制御線８２ａとが接続され、その出力端子はインバータ回路１３ａの入力端子に接続される。【０１０５】
状態制御線８１ａの制御信号の信号レベルがハイレベル、且つ、状態制御線８２ａの制御信号の信号レベルがローレベルのとき、クロックゲート回路３１０からの出力信号は、クロック配線４０からクロックゲート回路３１０に供給されるクロック信号の信号レベルが反転したクロック信号になる。また、状態制御線８１ａの制御信号の信号レベルがローレベル、且つ、状態制御線８２ａの制御信号の信号レベルがローレベルのとき、クロックゲート回路３１０からの出力信号はハイレベルに固定されたクロック信号になる。さらに、状態制御線８１ａの制御信号の信号レベルがローレベル又はハイレベル、且つ、状態制御線８２ａの制御信号の信号レベルがハイレベルのとき、クロックゲート回路３１０からの出力信号はローレベルに固定されたクロック信号になる。【０１０６】
上記の構成の論理ブロック３００ａでは、制御部５０ｂが状態制御線８１ａの制御信号の信号レベルをハイレベル、状態制御線８２ａの制御信号の信号レベルをローレベル、且つ、状態制御線８３ａの制御信号の信号レベルをハイレベルにすることによって、論理ブロック３００ａは動作状態になる。【０１０７】
また、制御部５０ｂが状態制御線８１ａの制御信号の信号レベルをローレベル、状態制御線８２ａの制御信号の信号レベルをローレベル、且つ、状態制御線８３ａの制御信号の信号レベルをハイレベルにすることによって、論理素子１１の制御端子にはハイレベルに固定されたクロック信号が入力されることになる。この結果、論理素子１１は動作することなく、論理ブロック３００ａは停止状態になる。なお、以下において、この停止状態を「ハイレベル固定停止状態」と言う。【０１０８】
さらに、制御部５０ｂが状態制御線８１ａの制御信号の信号レベルをローレベル又はハイレベル、状態制御線８２ａの制御信号の信号レベルをハイレベル、且つ、状態制御線８３ａの制御信号の信号レベルをハイレベルにすることによって、論理素子１１の制御端子にはローレベルに固定されたクロック信号が入力されることになる。この結果、論理素子１１は動作することなく、論理ブロック３００ａは停止状態になる。なお、以下において、この停止状態を「ローレベル固定停止状態」と言う。但し、論理ブロック３００ａをローレベル固定停止状態にする場合、制御部５０ｂ又は状態制御部５４ｂが「状態制御線８２ａの制御信号の信号レベルをハイレベル、且つ、状態制御線８３ａの制御信号の信号レベルをハイレベルにする」と記載する。【０１０９】
さらに、制御部５０ｂが状態制御線８１ａの制御信号の信号レベルをローレベル又はハイレベル、状態制御線８２ａの制御信号の信号レベルをローレベル又はハイレベル、且つ、状態制御線８３ａの信号レベルをローレベルにすることによって、クロックゲート回路３１０、インバータ回路１３ａ，１３ｂ及び論理素子１１に電力供給が行われなくなる。この結果、クロックゲート回路３１０、インバータ回路１３ａ，１３ｂ及び論理素子１１は動作せず、論理ブロック３００ａは停止状態になる。なお、以下において、この停止状態を「電源遮断停止状態」と言う。但し、論理ブロック３００ａを電源遮断停止状態にする場合、制御部５０ｂ又は状態制御部５４ｂが「状態制御線８３ａの制御信号の信号レベルをローレベルにする」と記載する。【０１１０】
なお、論理ブロック３００ｂ〜３００ｄについても同様である。【０１１１】
本実施の形態では、論理ブロック３００ａ〜３００ｄは、各動作停止状態（動作状態、ハイレベル固定停止状態、ローレベル固定停止状態、電源遮断停止状態）において、図１３に示す劣化特性に従って劣化するものと仮定する。そして、論理ブロック３００ａ〜３００ｄは、ハイレベル固定停止状態、動作状態、ローレベル固定停止状態、電源遮断停止状態の順番で劣化が進みやすいものと仮定する。【０１１２】
なお、図１３中の矢印ａはハイレベル固定停止状態にある論理ブロックの劣化特性を指し、矢印ｂは動作状態にある論理ブロックの劣化特性を指す。また、矢印ｃはローレベル固定停止状態にある論理ブロックの劣化特性を指し、矢印ｄは電源遮断停止状態にある論理ブロックの劣化特性を指す。【０１１３】
（劣化度保持部の構成）
劣化度保持部３２０は、不図示の発振回路によって発振されたクロック信号ＣＬＫの立ち上がりエッジの数（クロック数）を計測する。【０１１４】
劣化度保持部３２０は、論理ブロック３００ａ〜３００ｄの劣化度及び動作停止状態を格納するための、図１４に一例を示す格納テーブルを記憶する。但し、“ブロックＡ”，“ブロックＢ”、“ブロックＣ”及び“ブロックＤ”が夫々論理ブロック３００ａ，３００ｂ，３００ｃ及び３００ｄを示す。例えば、現時点の半導体集積回路１ｂの構成が構成ａであり、構成ａの直前の半導体集積回路１ｂの構成が構成ｂであるとすると、フィールド「劣化度」には構成ｂが終了した時点の劣化度が格納され、フィールド「動作停止状態」には構成ａにおける各論理ブロック３００ａ〜３００ｄの動作停止状態（動作状態、ハイレベル固定停止状態、ローレベル固定停止状態、電源遮断停止状態）が格納される。【０１１５】
また、劣化度保持部３２０は、図１３に示した、動作状態、ハイレベル固定停止状態、ローレベル固定停止状態及び電源遮断停止状態の夫々の劣化特性を記憶している。【０１１６】
（制御部の構成）
制御部５０ｂは、電源動作判定部５１と放電動作処理部５２ｂと充電動作処理部５３ｂと状態制御部５４ｂとを備える。【０１１７】
放電動作処理部５２ｂは、電源動作判定部５１から放電動作処理指令信号を受けて、論理ブロック３００ａ〜３００ｄの夫々について、劣化度保持部３２０に記憶されている図１４の格納テーブルのフィールド「劣化度」の格納内容を次のようにして更新し、劣化度保持部３２０が計測しているクロック数を“０”にリセットする。【０１１８】
図１５に示すように、放電動作処理部５２ｂは、対象の論理ブロックのフィールド「動作停止状態」に格納されている動作停止状態（動作状態、ハイレベル固定停止状態、ローレベル固定停止状態、電源遮断停止状態）に対応する劣化特性を劣化度保持部３２０から読み出す。そして、放電動作処理部５２ｂは、対象の論理ブロックのフィールド「劣化度」から劣化度を読み出し、読み出した劣化度が劣化特性の曲線上に位置するように、読み出した劣化特性を時間軸方向に平行に移動する。そして、放電動作処理部５２ｂは、劣化度保持部３２０が保持しているクロック数にクロック信号ＣＬＫの周期を乗算し、前回の構成の切り替わりから今回の構成の切り替わりまでの時間（以下、「処理時間」という。）を算出する。続いて、放電動作処理部５２ｂは、移動後の劣化特性の曲線上を処理時間進めた位置の劣化度を新たな劣化度とし、対象の論理ブロックのフィールド「劣化度」に格納する。【０１１９】
更に、放電動作処理部５２ｂは、論理ブロック３００ａ〜３００ｄのうち、半導体集積回路１ｂがこれから行う処理を実行する上で動作が必要な論理ブロックのみ動作させる論理ブロック（動作状態にする論理ブロック）に決定し、それ以外の論理ブロックを電源遮断を行うことによって動作を停止させる論理ブロック（電源遮断停止状態にする論理ブロック）に決定する。そして、放電動作処理部５２ｂは、各論理ブロックの動作停止状態の情報を含む第１状態通知信号を状態制御部５４ｂへ出力する。これとともに、放電動作処理部５２ｂは、図１４の格納テーブルにおいて、動作状態にする論理ブロックに決定した論理ブロックに対応するフィールド「動作停止状態」に“動作状態”を格納し、電源遮断停止状態にする論理ブロックに決定した論理ブロックに対応するフィールド「動作停止状態」に“電源遮断停止状態”を格納する。【０１２０】
充電動作処理部５３ｂは、電源動作判定部５１から充電動作処理指令信号を受けて、論理ブロック３００ａ〜３００ｄの夫々について、図１５を参照して説明した処理内容と実質的に同じ処理内容を実行して、劣化度保持部３２０に記憶されている図１４の格納テーブルのフィールド「劣化度」の格納内容を更新する。そして、充電動作処理部５３ｂは、劣化度保持部３２０が計測しているクロック数を“０”にリセットする。【０１２１】
また、充電動作処理部５３ｂは、論理ブロック３００ａ〜３００ｄのうち、半導体集積回路１ｂがこれから行う処理を実行する上で動作が必要な論理ブロックを動作させる論理ブロック（動作状態にする論理ブロック）に決定する。さらに、充電動作処理部５３ｂは、動作状態にする論理ブロックに決定された論理ブロック以外の各論理ブロックを、上記の更新後の図１４の格納テーブルの劣化度に基づいて、動作状態にする論理ブロック、電源遮断停止状態にする論理ブロック、ハイレベル固定停止状態にする論理ブロック及びローレベル固定停止状態にする論理ブロックの何れかに決定する。そして、充電動作処理部５３ｂは、各論理ブロックの動作停止状態の情報を含む第２状態通知信号を状態制御部５４ｂへ出力する。これとともに、充電動作処理部５３ｂは、図１４の格納テーブルにおいて、動作状態にする論理ブロックに決定した論理ブロックに対応するフィールド「動作停止状態」に“動作状態”を格納し、電源遮断停止状態にする論理ブロックに決定した論理ブロックに対応するフィールド「動作停止状態」に“電源遮断停止状態”を格納する。また、充電動作処理部５３ｂは、ローレベル固定停止状態にする論理ブロックに決定した論理ブロックに対応するフィールド「動作停止状態」に“ローレベル固定停止状態”を格納し、ハイレベル固定停止状態にする論理ブロックに決定した論理ブロックに対応するフィールド「動作停止状態」に“ハイレベル固定停止状態”を格納する。【０１２２】
状態制御部５４ｂは、第１状態通知信号に基づいて、また、第２状態通知信号に基づいて、状態制御線８１ａ〜８３ａの各制御信号の信号レベルを制御する。【０１２３】
但し、論理ブロックを動作状態にする場合、状態制御部５４ｂは、動作状態にする論理ブロックに対応する状態制御線８１ａの制御信号の信号レベルをハイレベル、状態制御線８２ａの制御信号の信号レベルをローレベル、且つ、状態制御線８３ａの制御信号の信号レベルをハイレベルにする。【０１２４】
また、論理ブロックをハイレベル固定停止状態にする場合、状態制御部５４ｂは、ハイレベル固定停止状態にする論理ブロックに対応する状態制御線８１ａの制御信号の信号レベルをローレベル、状態制御線８２ａの制御信号の信号レベルをローレベル、且つ、状態制御線８３ａの制御信号の信号レベルをハイレベルにする。【０１２５】
さらに、論理ブロックをローレベル固定停止状態にする場合、状態制御部５４ｂは、ローレベル固定停止状態にする論理ブロックに対応する状態制御線８２ａの制御信号の信号レベルをハイレベル、且つ、状態制御線８３ａの制御信号の信号レベルをハイレベルにする。【０１２６】
さらに、論理ブロックを電源遮断停止状態にする場合、状態制御部５４ｂは、電源遮断停止状態にする論理ブロックに対応する状態制御線８３ａの制御信号の信号レベルをローレベルにする。【０１２７】
＜動作＞
図１１から図１５を参照して構成を示した半導体集積回路１ｂの動作について図１６を参照しつつ説明する。図１６は図１１の半導体集積回路１ｂが行う論理ブロック制御処理の手順を示すフローチャートである。【０１２８】
電源動作判定部５１は、半導体集積回路１ｂが構成を切り替えるタイミングにおいて、電源動作検出部６０から入力される電源動作通知信号に基づいて電源手段の動作が放電動作か充電動作かを判定する（ステップＳ３０１）。【０１２９】
電源動作判定部５１によって電源手段の動作が放電動作であると判定された場合には（Ｓ３０１：放電）、放電動作処理部５２ｂ及び状態制御部５４ｂは、図１７に処理手順を示す放電動作ブロック制御処理を実行する（ステップＳ３０２）。一方、電源動作判定部５１によって電源手段の動作が充電動作であると判定された場合には（Ｓ３０１：充電）、充電動作処理部５３ｂ及び状態制御部５４ｂは、図１８及び図１９に処理手順を示す充電動作ブロック制御処理を実行する（ステップＳ３０３）。【０１３０】
（放電動作ブロック制御処理）
図１６の放電動作ブロック制御処理（ステップＳ３０２）について図１７を参照しつつ説明する。図１７は図１６の放電動作ブロック制御処理（ステップＳ３０２）の手順を示すフローチャートである。【０１３１】
放電動作処理部５２ｂは、図１４の格納テーブルにおいて、各論理ブロック３００ａ〜３００ｄの劣化度の算出及び更新を行い、劣化度保持部３２０が計測しているクロック数を“０”にリセットする（ステップＳ３３１）。【０１３２】
放電動作処理部５２ｂは、半導体集積回路１ｂがこれから行う処理（対象の処理）を実行する上で動作が必要な論理ブロックのみ動作させる論理ブロック（動作状態にする論理ブロック）に決定し、それ以外の論理ブロックを電源遮断することによって動作を停止させる論理ブロック（電源遮断停止状態にする論理ブロック）に決定する（ステップＳ３３２）。【０１３３】
状態制御部５４ｂは、各論理ブロック３００ａ〜３００ｄがステップＳ３３２において決定された動作停止状態（動作状態、電源遮断停止状態）になるように、状態制御線８１ａ〜８３ａの各制御信号の信号レベルを制御する（ステップＳ３３３）。これによって、各論理ブロック３００ａ〜３００ｄは、ステップＳ３３２において決定された動作停止状態になる。【０１３４】
放電動作処理部５２ｂは、図１４の格納テーブルにおいて、各論理ブロック３００ａ〜３００ｄのフィールド「動作停止状態」の格納内容をステップＳ３３２において決定した動作停止状態（動作状態、電源遮断停止状態）に更新する（ステップＳ３３４）。そして、制御部５０ｂは図１６の処理に戻る。【０１３５】
（充電動作ブロック制御処理）
図１６の充電動作ブロック制御処理（ステップＳ３０３）について図１８及び図１９を参照しつつ説明する。図１８及び図１９は図１６の充電動作ブロック制御処理（ステップＳ３０３）の手順を示すフローチャートである。【０１３６】
充電動作処理部５３ｂは、図１４の格納テーブルにおいて、各論理ブロック３００ａ〜３００ｄの劣化度の算出及び更新を行い、劣化度保持部３２０が計測しているクロック数を“０”にリセットする（ステップＳ３５１）。【０１３７】
充電動作処理部５３ｂは、論理ブロック３００ａ〜３００ｄの更新後の劣化度のうち最大の劣化度を特定し、特定した最大の劣化度に対して予め定められた第１係数、第２係数及び第３係数を乗算することによって第１閾値、第２閾値及び第３閾値を算出する（ステップＳ３５２）。なお、第１係数、第２係数及び第３係数は０以上１以下の値である。そして、第１係数の値が最も大きく、第２係数の値が２番目に大きく、第３係数の値が最も小さい。【０１３８】
充電動作処理部５３ｂは、半導体集積回路１ｂがこれから行う処理（対象の処理）を実行する上で動作が必要な論理ブロックを動作させる論理ブロック（動作状態にする論理ブロック）に決定する（ステップＳ３５３）。なお、ステップＳ３５３において、動作させる論理ブロックに決定された論理ブロックを「動作ブロック」と言う。【０１３９】
充電動作処理部５３ｂは、動作ブロック以外の論理ブロックの全てをステップＳ３５５〜ステップＳ３６２の処理対象にしたかを判定する（ステップＳ３５４）。【０１４０】
充電動作処理部５３ｂは、動作ブロック以外の全てを処理対象にしていないと判定すると（Ｓ３５４：ＮＯ）、処理対象にしていない論理ブロックの１つに注目する（ステップＳ３５５）。そして、充電動作処理部５３ｂは、注目している論理ブロックの劣化度が第１閾値以上であるか否かを判定する（ステップＳ３５６）。【０１４１】
充電動作処理部５３ｂは、注目している論理ブロックの劣化度が第１閾値以上であると判定すると（Ｓ３５６：ＹＥＳ）、注目している論理ブロックを最も劣化が進みにくい電源遮断停止状態にする論理ブロックに決定し（ステップＳ３５７）、ステップＳ３５４の処理へ移行する。一方、充電動作処理部５３ｂは、注目している論理ブロックの劣化度が第１閾値以上でないと判定すると（Ｓ３５６：ＮＯ）、注目している論理ブロックの劣化度が第２閾値以上であるか否かを判定する（ステップＳ３５８）。【０１４２】
充電動作処理部５３ｂは、注目している論理ブロックの劣化度が第２閾値以上であると判定すると（Ｓ３５８：ＹＥＳ）、注目している論理ブロックを２番目に劣化が進みにくいローレベル固定停止状態にする論理ブロックに決定し（ステップＳ３５９）、ステップＳ３５４の処理へ移行する。一方、充電動作処理部５３ｂは、注目している論理ブロックの劣化度が第２閾値以上でないと判定すると（Ｓ３５８：ＮＯ）、注目している論理ブロックの劣化度が第３閾値以上であるか否かを判定する（ステップＳ３６０）。【０１４３】
充電動作処理部５３ｂは、注目している論理ブロックの劣化度が第３閾値以上であると判定すると（Ｓ３６０：ＹＥＳ）、注目している論理ブロックを３番目に劣化が進みにくい動作状態にする論理ブロックに決定し（ステップＳ３６１）、ステップＳ３５４の処理へ移行する。一方、充電動作処理部５３ｂは、注目している論理ブロックの劣化度が第３閾値以上でないと判定すると（Ｓ３６０：ＮＯ）、注目している論理ブロックを最も劣化が進みやすいハイレベル固定停止状態にする論理ブロックに決定し（ステップＳ３６２）、ステップＳ３５４の処理へ移行する。【０１４４】
充電動作処理部５３ｂによって動作ブロック以外の論理ブロックの全てを処理対象にしたと判定されると（Ｓ３５４：ＹＥＳ）、状態制御部５４ｂは、各論理ブロック３００ａ〜３００ｄがステップＳ３５３からステップＳ３６２の処理によって決定された動作停止状態（動作状態、電源遮断停止状態、ローレベル固定状態、ハイレベル固定停止状態）になるように、状態制御線８１ａ〜８３ａの各制御信号の信号レベルを制御する（ステップＳ３６３）。これによって、各論理ブロック３００ａ〜３００ｄは、ステップＳ３５３からステップＳ３６２の処理によって決定された動作停止状態になる。【０１４５】
充電動作処理部５３ｂは、図１４の格納テーブルにおいて、各論理ブロック３００ａ〜３００ｄのフィールド「動作停止状態」の格納内容をステップＳ３５３からステップＳ３６２の処理によって決定された動作停止状態（動作状態、電源遮断停止状態、ローレベル固定停止状態、ハイレベル固定停止状態）に更新する（ステップＳ３６４）。そして、制御部５０ｂは図１６の処理に戻る。【０１４６】
上述した本実施の形態の半導体集積回路１ｂによれば、第１及び第２の実施の形態の半導体集積回路１，１ａよる論理ブロックの劣化度の調整より精度の高い調整が期待できる。【０１４７】
≪第４の実施の形態≫
以下、第４の実施の形態について図面を参照しつつ説明する。【０１４８】
本実施の形態は、第１の実施の形態で説明した半導体集積回路１を携帯電話機に搭載するものである。【０１４９】
本実施の形態の携帯電話機４００は、図２０（ａ）に示すように、商用電源から電力供給を受けることなく自機に取り付けられた蓄電池のみから電力供給を受けて動作する場合、動作時間の観点から低消費電力の動作を行うことが好ましい。なお、この場合、携帯電話機４００に取り付けられた蓄電池（上記の電源手段に対応）の動作は放電動作である。【０１５０】
また、携帯電話機４００は、図２０（ｂ）に示すように、コンセント４２０に接続された充電スタンド４１０に取り付けられて商用電源から電力供給を受けながら或いは直接コンセント４２０に接続されて商用電源から電力供給を受けながら動作する場合、動作時間の観点からは特に低消費電力の動作を行う必要なない。なお、この場合、携帯電話機４００に取り付けられた蓄電池の動作は充電動作である。【０１５１】
＜構成＞
図２０の携帯電話機４００は、図２１に示すように、ＣＰＵ（Central Processing Unit）４０１と、アンテナ４０２と、通信部４０３と、表示部４０４と、操作部４０５と、記憶部４０６と、音声処理部４０７と、マイク４０７ａと、スピーカ４０７ｂとを備え、携帯電話機４００には蓄電池４０８が取り付けられている。【０１５２】
ＣＰＵ４０１は、携帯電話機４００の全体の制御を行うものであって、第１の実施の形態で説明した半導体集積回路１を備える。但し、電源動作検出部６０は、携帯電話機４００が充電スタンド４１０に取り付けられ或いはコンセント４２０に直接接続されている場合に、蓄電池４０８の動作が充電動作であると検出し、それ以外の場合に蓄電池４０８の動作が放電動作であると検出する。なお、半導体集積回路１の構成及び動作は第１の実施の形態において説明した通りである。【０１５３】
通信部４０３は、音声通信及びデータ通信用の通信部であって、アンテナ４０２を介して他の機器と信号の送受信を行う。通信部４０３は、アンテナ４０２で受信された受信信号をＣＰＵ４０１へ出力し、ＣＰＵ４０１から入力される送信信号をアンテナ４０２から送信する。【０１５４】
表示部４０４は、液晶ディスプレイなどにより構成されており、ＣＰＵ４０１から入力される表示データの表示を行う。操作部４０５は、各種キーから構成されており、押下されたキーの押下信号をＣＰＵ４０１へ出力する。記憶部４０６には、携帯電話機４００を制御するための各種制御プログラムや各種アプリケーションソフトが格納されている。【０１５５】
マイク４０７ａはマイク周辺の音を集めて音声処理部４０７へ出力し、音声処理部４０７はマイク４０７ｂから入力されるアナログ信号をデジタル信号に変換してＣＰＵ４０１へ出力する。音声処理部４０７はＣＰＵ４０１から入力されるデジタル信号をアナログ信号に変換してスピーカ４０７ｂへ出力し、スピーカ４０７ｂは音声処理部４０７から入力されるアナログ信号を音に変換して出力する。【０１５６】
携帯電話機４００は、電波状況に応じた通信動作、複数の通信方式の夫々に応じた通信動作、異なる規格でエンコードされたコンテンツを表示する表示動作など、半導体集積回路１が使用する論理ブロックの数が異なる複数の動作を行う。【０１５７】
例えば、携帯電話機４００は、４個の論理ブロックの動作が必要な第１の通信方式に応じた通信動作を行い、１個の論理ブロックの動作が必要な第２の通信方式に応じた通信動作を行う。この場合、携帯電話機４００が備える半導体集積回路１は、図８を参照して説明したように、論理ブロック１０ａ〜１０ｄの動作及び停止の制御を行う。【０１５８】
≪補足≫
本発明は上記各実施の形態で説明した内容に限定されず、本発明の目的とそれに関連又は付随する目的を達成するためのいかなる形態においても実施可能であり、例えば、以下であってもよい。【０１５９】
（１）第１から第３の実施の形態の半導体集積回路１はプログラマブル論理回路としたが、これに限られるものではなく、例えば、複数の論理ブロックを有し、１以上の論理ブロックの単位で動作及び停止の制御が可能な半導体集積回路であってもよい。【０１６０】
（２）第１から第３の実施の形態では、論理ブロック単位で動作及び停止の制御を行っているが、これに限られるものではなく、例えば、２以上の論理ブロックを単位として動作及び停止の制御を行うようにしてもよい。また、動作及び停止の制御を行うための単位とする論理ブロックの数が異なっていてもよく、当該数は１以上であってもよい。この場合、論理ブロックの停止などの動作状態の制御に必要な配線資源や論理資源を節約することができる。【０１６１】
（３）第１から第３の実施の形態では、論理ブロック単位で動作及び停止の制御を行っているが、これに限られるものではなく、１以上の論理素子の単位で動作及び停止の制御を行うようにしてもよい。【０１６２】
（４）第１及び第３の実施の形態では、クロックゲート回路１２，３１０を論理ブロックの内部に設けた場合であるが、全ての論理ブロックにおいてクロックゲート回路を論理ブロックの外部に設けてもよく、一部の論理ブロックにおいてのみクロックゲート回路を論理ブロックの外部に設けてもよい。【０１６３】
第２及び第３の実施の形態では、電源遮断回路２２０，２２０ｂを論理ブロックの内部に設けた場合であるが、全ての論理ブロックにおいて電源遮断回路を論理ブロックの外部に設けてもよく、一部の論理ブロックにおいてのみ電源遮断回路を論理ブロックの外部に設けてもよい。【０１６４】
（５）第１から第３の実施の形態では、制御部５０，５０ｂを論理ブロックとは別に設けているが、論理ブロックの何れかを制御部に利用するようにしてもよく、論理ブロックのある領域を制御部に利用するようにしてもよい。なお、制御部に利用する論理ブロックは動作を停止しないようにすればよく、また、制御部に利用する論理ブロックのある領域を動作を停止しないようにすれば良い。この場合、制御に適した論理粒度の論理ブロックを制御部に用いれば、半導体集積回路の小型化や低消費電力化を実現することができる。【０１６５】
また、論理ブロックを備える半導体集積回路とは別の半導体集積回路に制御部５０，５０ｂを搭載するようにしてもよい。【０１６６】
（６）第１から第３の実施の形態では、論理ブロックを４個としているが、論理ブロックの数は４個に限られるものではない。【０１６７】
（７）第１の実施の形態の半導体集積回路では、論理素子１１の動作を停止させるために、ハイレベルに固定されたクロック信号を論理素子１１の制御端子に入力されるようにしているが、これに限られるものではなく、ローレベルに固定されたクロック信号を論理素子の制御端子に供給することによって当該論理素子の動作を停止させるようにしてもよい。【０１６８】
（８）第１の実施の形態では、クロックゲート回路１２としてＮＡＮＤ回路を用いているが、これに限られるものではなく、例えばＮＯＲ回路を用いてもよく、クロックゲート回路の構成は特に決まった構成にしなければならないと言うものではない。【０１６９】
同様に、第３の実施の形態では、クロックゲート回路３１０として図１２に示す回路構成のクロックゲート回路を用いているが、クロックゲート回路３１０の回路構成は図１２に示すものに限られるものではない。【０１７０】
（９）第２及び第３の実施の形態の電源遮断回路２２０，２２０ｂでは、電源とモジュール２６０との間及びモジュール２６０とグランド板との間の双方にスイッチ手段を設けているが、これに限られるものではなく、例えば、電源とモジュール２６０との間のみスイッチ手段を設けてもよく、また、モジュール２６０とグランド板との間のみスイッチ手段を設けてもよい。【０１７１】
また、電源遮断回路２２０，２２０ｂを構成するスイッチ手段として、ＮＭＯＳトランジスタ及びＰＭＯＳトランジスタを使用する必要は必ずしもなく、別のスイッチ手段を用いてもよい。なお、用いるスイッチ手段はリーク電流の少ないスイッチ手段であることが好ましい。【０１７２】
（１０）第１から第３の実施の形態において、半導体集積回路１，１ａ，１ｂが対象の処理を実行する上で動作させる必要がある論理ブロック以外の論理ブロックのうち動作させる論理ブロックに関して、クロック信号に関連する部分のみ動作させるようにしてもよい。【０１７３】
（１１）第３の実施の形態では、電源手段が充電動作している場合に、制御部５０ｂは、動作ブロック（半導体集積回路１ｂが対象の処理を実行する上で動作させることが必要な論理ブロック）以外の論理ブロックの動作停止状態を、ローレベル固定停止状態、動作状態、ハイレベル固定停止状態及び電源遮断停止状態の何れかになるように制御しているが、これに限られるものではない。例えば、電源手段が充電動作している場合に、制御部は、動作ブロック以外の論理ブロックの動作停止状態を、上記の任意の３つの動作停止状態の何れかになるように制御してもよく、上記の任意の２つの動作停止状態の何れかになるように制御してもよい。【０１７４】
（１２）第３の実施の形態では、電源手段が放電動作している場合に、制御部５０ｂは、動作ブロック（半導体集積回路１ｂが対象の処理を実行する上で動作させることが必要な論理ブロック）以外の論理ブロックの動作停止状態を電源遮断停止状態になるように制御しているが、これに限られるものではない。制御部は、動作ブロック以外の論理ブロックの動作停止状態をローレベル固定停止状態になるように制御してもよく、ハイレベル固定停止状態になるように制御してもよい。【０１７５】
（１３）第１から第３の実施の形態では、電源手段が放電動作を行っているか、充電動作を行っているかによって論理ブロックの動作及び停止の制御の内容を切り替えるようにしているが、これに限られるものではなく、例えば、次のようなものであってもよい。【０１７６】
例えば、電源手段がリフレッシュに関係しない放電動作を行っているか、リフレッシュのための放電動作を行っているかによって論理ブロックの動作及び停止の制御の内容を切り替えるようにしてもよい。この場合、リフレッシュに関係しない放電動作では、図６或いは図１７のフローチャートと実質的に同じ処理を行い、リフレッシュのための放電動作では、図７或いは図１８及び図１９のフローチャートと実質的に同じ処理を行うようにすればよい。【０１７７】
又は、電源手段がリフレッシュに関係しない放電動作を行っているか、リフレッシュのための放電動作を行っているか、充電動作を行っているかによって論理ブロックの動作及び停止の制御の内容を切り替えるようにしてもよい。この場合、リフレッシュに関係しない放電動作では、図６或いは図１７のフローチャートと実質的に同じ処理を行い、リフレッシュのための放電動作及び充電動作では、図７或いは図１８及び図１９のフローチャートと実質的に同じ処理を行うようにすればよい。【０１７８】
（１４）第１から第３の実施の形態では、電力消費量の抑制が不要な電源手段の動作は充電動作としているが、これに限られるものではなく、電力消費量の抑制が不要な電源手段の動作として、例えば、リフレッシュのための放電動作を挙げることができる。【０１７９】
（１５）第１及び第２の実施の形態では、制御部５０は最小の停止率に予め定められた値を加算して得られた加算値を動作閾値としているが、これに限られるものではなく、例えば次のようなものであってもよい。制御部は最小の停止率に予め定められた係数を乗算して得られた値を動作閾値としてもよい。また、制御部は、最大のクロック遅延量に対する最小のデータ遅延量の率より停止率の差に起因する遅延劣化率の差が小さくなるように定められた値を最小の停止率に加算して得られた加算値を動作閾値としてもよい。【０１８０】
（１６）第１及び第２の実施の形態では、電源手段が充電動作している場合に、制御部５０は動作ブロック（半導体集積回路１，１ａがこれから行う処理を実行する上で動作させることが必要な論理ブロック）以外の論理ブロックの動作停止状態を決定するために各論理ブロックの停止率を用いているが、これに限られるものではなく、例えば、次のようなものであってもよい。【０１８１】
制御部は動作ブロック以外の論理ブロックの動作停止状態を決定するために停止時間そのものを用いるようにしてもよい。なお、論理ブロックの停止時間は半導体集積回路全体の動作クロック数から当該論理ブロックの動作クロック数を減算することによって得られた減算値にクロック信号ＣＬＫの周期を乗算することによって算出される。【０１８２】
制御部は動作ブロック以外の論理ブロックの動作停止状態を決定するために各論理ブロックの動作率を用いるようにしてもよく、動作時間そのものを用いるようにしてもよい。動作率又は動作時間を用いる場合には、例えば、制御部は動作率又は動作時間が最大の動作率又は最大の動作時間より所定の方法によって定められる値より小さい論理ブロックのみ動作させる論理ブロックに決定するようにすればよい。なお、論理ブロックの動作率は当該論理ブロックの動作クロック数を半導体集積回路全体の動作クロック数で除算することによって算出される。また、論理ブロックの動作時間は当該論理ブロックの動作クロック数にクロック信号ＣＬＫの周期を乗算することによって算出される。【０１８３】
また、制御部は動作ブロック以外の論理ブロックの動作停止状態を決定するために各論理ブロックの動作回数を用いるようにしてもよく、停止回数を用いるようにしてもよい。この場合には、動作量保持部の回路規模を小さくすることができる。【０１８４】
更に、論理ブロック１０ａ〜１０ｄ毎に、時間を変数とするその遅延変動量を表す関数Ｆを用意する。制御部は、Ｆ（Ｔｓｔｏｐ）／Ｆ（Ｔａｌｌ）を算出し、各論理ブロック１０ａ〜１０ｄのＦ（Ｔｓｔｏｐ）／Ｆ（Ｔａｌｌ）が近づくように各論理ブロック１０ａ〜１０ｄの動作及び停止の制御を行うようにしてもよい。なお、Ｔｓｔｏｐは、対応する論理ブロックが停止している時間、Ｔａｌｌは半導体集積回路が動作している時間である。【０１８５】
また、遅延変動量を表す関数Ｆをクロックゲート回路１２，３１０以降の構成も考慮して定めるようにすれば、クロックスキューをより小さくなるように制御することができる。【０１８６】
（１７）第１〜第３の実施の形態では、制御部５０，５０ｂが論理ブロックの状態を制御するために専用の状態制御線を用いているが、これに限られるものではない。例えば、制御部は、半導体集積回路１，１ａ、１ｂの構成の制御用の構成制御線を用いて、各論理ブロックの動作停止状態を決定した動作停止状態になるような構成情報に基づく内部論理とすることで、各論理ブロックの動作停止状態を制御するようにしてもよい。【０１８７】
（１８）第１から第３の実施の形態では、半導体集積回路１，１ａ，１ｂの構成が切り替わるタイミングでのみ論理ブロックを制御する状態の決定を行うようにしているが、これに限られるものではなく、例えば、論理ブロックを制御する状態の決定を所定時間周期で行うようにしてもよく、また、予め決定しておくようにしてもよい。【０１８８】
（１９）第３の実施の形態では、ハイレベル固定停止状態、動作状態、ローレベル固定停止状態、電源遮断停止状態の順番で劣化が進みやすいものと仮定しているが、これに限られるものではなく、実際の製品において論理ブロック毎に劣化が進みやすい順番を決定するようにしてもよい。【０１８９】
（２０）第３の実施の形態では、制御部５０ｂは各論理ブロックの劣化度を劣化特性を時間軸方向に平行に移動するなどして算出しているが、これに限られるものではない。例えば、動作状態、ローレベル固定停止状態、ハイレベル固定停止状態及び電源遮断停止状態の夫々の劣化特性に対応する関数を用意しておき、制御部は関数を利用して各論理ブロックの劣化度を算出するようにしてもよい。【０１９０】
（２１）第１及び第２の実施の形態の制御部５０は、ステップＳ１３２又はＳ１５４において、半導体集積回路１，１ａがこれから行う処理を実行する上で必要な論理ブロックの数を決定し、停止率が大きい順番に決定した数分の論理ブロックを動作させる論理ブロックに決定するようにしてもよい。【０１９１】
また、第３の実施の形態の制御部５０ｂは、ステップＳ３３２又はＳ３５３において、半導体集積回路１，１ａがこれから行う処理を実行する上で必要な論理ブロックの数を決定し、劣化度に基づいて決定した数分の論理ブロックを動作させる論理ブロックに決定するようにしてもよい。【０１９２】
（２２）第４の実施の形態の携帯電話機４００は第１の実施の形態の半導体集積回路１を搭載するものとしたが、これに限られるものではなく、第２又は第３の実施の形態の半導体集積回路１ａ，１ｂを搭載するようにしてもよく、半導体集積回路１，１ａ、１ｂを変形した半導体集積回路を搭載するようにしてもよい。【０１９３】
（２３）第４の実施の形態では、半導体集積回路を搭載する対象として、携帯電話機を例に挙げて説明したが、これに限られるものではなく、半導体集積回路を搭載する対象は、例えば、ＰＤＡ（Personal Digital Assistant）などの携帯端末であってもよい。また、半導体集積回路を搭載する対象は、テレビ、ＤＶＤプレイヤー及びカーナビゲーションシステムなどの映像表示装置であってもよく、ＤＶＤレコーダ、ビデオカメラ、デジタルスチールカメラ、セキュリティカメラなどの映像記録装置であってもよい。更に、半導体集積回路を搭載する対象は、通信装置内の通信システムであってもよく、セキュリティ処理システムであってもよい。【０１９４】
（２４）第１から第３の実施の形態の半導体集積回路１，１ａ，１ｂは、典型的には集積回路であるＬＳＩ(Large Scale Integration)として実現されてよい。各回路を個別に１チップとしてもよいし、全ての回路又は一部の回路を含むように１チップ化されてもよい。【０１９５】
ここでは、ＬＳＩとして記載したが、集積度の違いにより、ＩＣ(Integrated Circuit)、システムＬＳＩ、スーパＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【産業上の利用可能性】
【０１９６】
本発明は、半導体集積回路が備える論理ブロックの動作制御に利用することができる。
【図１】
2008132809.tif 000003
【図２】
2008132809.tif 000004
【図３】
2008132809.tif 000005
【図４】
2008132809.tif 000006
【図５】
2008132809.tif 000007
【図６】
2008132809.tif 000008
【図７】
2008132809.tif 000009
【図８】
2008132809.tif 000010
【図９】
2008132809.tif 000011
【図１０】
2008132809.tif 000012
【図１１】
2008132809.tif 000013
【図１２】
2008132809.tif 000014
【図１３】
2008132809.tif 000015
【図１４】
2008132809.tif 000016
【図１５】
2008132809.tif 000017
【図１６】
2008132809.tif 000018
【図１７】
2008132809.tif 000019
【図１８】
2008132809.tif 000020
【図１９】
2008132809.tif 000021
【図２０】
2008132809.tif 000022
【図２１】
2008132809.tif 000023
【手続補正書】
【提出日】平成21年1月19日(2009.1.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
動作及び停止に係る複数の状態を切り替え可能な論理ブロックを複数有する半導体集積回路において、
電源手段の動作に係る動作情報を取得する動作取得手段と、
前記動作取得手段によって取得される動作情報が電力消費量の抑制が不要な所定の動作を示す場合に、各前記論理ブロックの過去の状態に係る動作停止情報に基づいて前記論理ブロックを制御する状態を決定する状態決定手段と、
前記論理ブロックの状態を前記状態決定手段によって決定された状態に制御する状態制御手段と、
を備えることを特徴とする半導体集積回路。
【請求項２】
前記所定の動作は前記電源手段の充電動作である
ことを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記状態決定手段は、更に、前記動作停止情報が電源手段の放電動作を示す場合には、対象の処理を実行する上で動作する必要がある論理ブロックのみ動作する状態に決定する
ことを特徴とする請求項２記載の半導体集積回路。
【請求項４】
前記論理ブロックの動作停止情報は、当該論理ブロックが過去に停止する状態にあった停止率であり、
前記状態決定手段は、前記論理ブロックを制御する状態の決定を複数の前記論理ブロックの停止率に基づいて行う
ことを特徴とする請求項１記載の半導体集積回路。
【請求項５】
前記状態決定手段は、複数の前記論理ブロックの停止率の中から最小の停止率を特定し、前記論理ブロックのうち前記最小の停止率より所定の方法に従って定められる値以上値が大きい停止率の前記論理ブロックのみ制御する状態を動作する状態に決定する
ことを特徴とする請求項４記載の半導体集積回路。
【請求項６】
前記動作及び停止に係る複数の状態には、劣化度が異なる複数の状態があり、
前記状態決定手段は、複数の前記論理ブロックの夫々の劣化度を当該論理ブロックの前記動作停止情報に基づいて特定し、特定した各前記論理ブロックの劣化度に基づいて劣化度が大きいほど劣化する度合いが小さい状態に制御されるように各前記論理ブロックを制御する状態の決定を行う
ことを特徴とする請求項１記載の半導体集積回路。
【請求項７】
動作及び停止に係る複数の状態を切り替え可能な論理ブロックを複数有する半導体集積回路において行われる半導体集積回路の制御方法において、
電源手段の動作に係る動作情報を取得する動作取得ステップと、
前記動作取得ステップにおいて取得される動作情報が電力消費量の抑制が不要な所定の動作を示す場合に、各前記論理ブロックの過去の状態に係る動作停止情報に基づいて前記論理ブロックを制御する状態を決定する状態決定ステップと、
前記論理ブロックの状態を前記状態決定ステップにおいて決定された状態に制御する状態制御ステップと、
を有することを特徴とする半導体集積回路の制御方法。
【請求項８】
電源手段と、動作及び停止に係る複数の状態を切り替え可能な論理ブロックを複数有する半導体集積回路とを有する端末システムにおいて、
前記半導体集積回路は、
電源手段の動作に係る動作情報を取得する動作取得手段と、
前記動作取得手段によって取得される動作情報が電力消費量の抑制が不要な所定の動作を示す場合に、各前記論理ブロックの過去の状態に係る動作停止情報に基づいて前記論理ブロックを制御する状態を決定する状態決定手段と、
前記論理ブロックの状態を前記状態決定手段によって決定された状態に制御する状態制御手段と、
を備えることを特徴とする端末システム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の論理ブロック間の経時劣化に起因するクロックスキューの増大を抑制する技術に関する。
【背景技術】
【０００２】
現在、ＬＳＩ（Large Scale Integration）設計において多く用いられている同期設計方式では、制御用のクロック信号が例えば状態を保持するレジスタに同じタイミングで供給される。実際のＬＳＩでは、クロック供給回路の構成の相違によって、クロック発生源からレジスタまでの間でクロック信号に生じる遅延量がレジスタ間において異なる。なお、レジスタなどの素子間における遅延量の差はクロックスキューと呼ばれる。
【０００３】
一定以上のクロックスキューが発生すると、例えば、レジスタ間のデータの受け渡しに誤りが生じ、ＬＳＩが動作不良を起こすことがある。このため、一般に、一定以上のクロックスキューが発生する場合には設計時にレジスタ間のクロックスキューを相殺する遅延素子を挿入し、クロックスキューに起因するＬＳＩの動作不良を回避している。
また、論理ブロック間を接続する配線とは独立した論理ブロックにクロック信号を供給するクロック配線と論理ブロックへのクロック信号の供給と遮断とを動的に切り替えるクロック制御手段とをＬＳＩが備えることによって、クロックスキューの発生を防ぐ技術が提案されている（例えば、特許文献１参照。）。
【０００４】
しかしながら、ＬＳＩに含まれるトランジスタ、特に、ＰチャネルＭＯＳトランジスタは、ＮＢＴＩ（Negative Bias TemperatureInstability）やＨＣＩ（Hot Carrier Injection）などによって経時劣化する。ＬＳＩに電力消費量を抑制するゲーティドクロック技術或いは電源遮断技術などを適用した場合には、ＬＳＩを使用し続けるとトランジスタ間で動作時間が異なり、ＮＢＴＩやＨＣＩなどの現象のためトランジスタ間で劣化度に差が生じる。この劣化度の差はクロックスキューの発生原因になるが、上記の技術ではトランジスタの経時劣化が考慮されていない。このため、トランジスタの経時劣化に起因するクロックスキューによるＬＳＩの動作不良を回避することができていない。
【０００５】
トランジスタの経時劣化に起因するクロックスキューを抑制する技術として、フリップフロップの動作の停止制御を、制御用のクロック信号をハイレベルに固定することによって行う場合と、制御用のクロック信号をローレベルに固定することによって行う場合との何れかを適宜選択して行うことによって、トランジスタ間の経時劣化を等しくする技術が提案されている（例えば、特許文献２参照。）。
【特許文献１】特開２００３−１７４３５８号公報（第１０頁、第１図）
【特許文献２】特開２００６−２１１４９４号公報（第１８頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記のトランジスタの経時劣化に起因するクロックスキューを抑制する技術は、ＬＳＩによる電力消費量の抑制を可能にする電源遮断技術などに対しては適用できない。
一方では、ＬＳＩなどの半導体集積回路を搭載する携帯電話機などの携帯端末は、通常、蓄電池から電力供給を受けて動作するので、携帯端末の動作時間の観点から電力消費量を抑えることが望まれる。このため、半導体集積回路にゲーティドクロック技術或いは電源遮断技術などを適用することは望ましい。
【０００７】
そこで、本発明は、半導体集積回路の電力消費量の抑制を可能にする各種技術を適用でき、且つ、経時劣化に起因するクロックスキューを緩和する半導体集積回路、半導体集積回路の制御方法及び端末システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために本発明の半導体集積回路は、動作及び停止に係る複数の状態を切り替え可能な論理ブロックを複数有する半導体集積回路において、電源手段の動作に係る動作情報を取得する動作取得手段と、前記動作取得手段によって取得される動作情報が電力消費量の抑制が不要な所定の動作を示す場合に、各前記論理ブロックの過去の状態に係る動作停止情報に基づいて前記論理ブロックを制御する状態を決定する状態決定手段と、前記論理ブロックの状態を前記状態決定手段によって決定された状態に制御する状態制御手段と、を備える。
【０００９】
また、本発明の半導体集積回路の制御方法は、動作及び停止に係る複数の状態を切り替え可能な論理ブロックを複数有する半導体集積回路において行われる半導体集積回路の制御方法において、電源手段の動作に係る動作情報を取得する動作取得ステップと、前記動作取得ステップにおいて取得される動作情報が電力消費量の抑制が不要な所定の動作を示す場合に、各前記論理ブロックの過去の状態に係る動作停止情報に基づいて前記論理ブロックを制御する状態を決定する状態決定ステップと、前記論理ブロックの状態を前記状態決定ステップにおいて決定された状態に制御する状態制御ステップと、を有する。
【００１０】
さらに、本発明の端末システムは、電源手段と、動作及び停止に係る複数の状態を切り替え可能な論理ブロックを複数有する半導体集積回路とを有する端末システムにおいて、前記半導体集積回路は、電源手段の動作に係る動作情報を取得する動作取得手段と、前記動作取得手段によって取得される動作情報が電力消費量の抑制が不要な所定の動作を示す場合に、各前記論理ブロックの過去の状態に係る動作停止情報に基づいて前記論理ブロックを制御する状態を決定する状態決定手段と、前記論理ブロックの状態を前記状態決定手段によって決定された状態に制御する状態制御手段と、を備える。
【発明の効果】
【００１１】
上記半導体集積回路、半導体集積回路の制御方法及び端末システムの夫々によれば、半導体集積回路に電力供給を行う電源手段が電力消費量の抑制が不要な動作をしている場合に、各論理ブロックの過去の状態に応じて論理ブロックを制御する状態を動作する状態又は停止する状態に決定し、決定した状態に論理ブロックが制御される。このため、電力消費量を抑える必要のない期間で論理ブロックの劣化度の差を論理ブロック間で小さくすることができ、論理ブロック間のクロックスキューを緩和することができる。
【００１２】
上記の半導体集積回路において、前記所定の動作は前記電源手段の充電動作であるようにしてもよい。
電源手段が充電動作をしている場合には、例えば商用電源から電力供給を受けていることが想定される。このため、動作時間の観点からは電力消費量を抑制する必要がない期間にクロックスキューの緩和を達成できる。
【００１３】
上記の半導体集積回路において、前記状態決定手段は、更に、前記動作停止情報が電源手段の放電動作を示す場合には、対象の処理を実行する上で動作する必要がある論理ブロックのみ動作する状態に決定するようにしてもよい。
電源手段が放電動作をしている場合には、動作時間の観点から半導体集積回路は電力消費量を抑えた動作をすることが望まれる。
【００１４】
これによれば、電源手段が放電動作をしている場合には、半導体集積回路が対象の処理を実行する上で必要な論理ブロックのみ動作させるので、上記の要望にかなったものになる。
上記の半導体集積回路において、前記論理ブロックの動作停止情報は、当該論理ブロックが過去に停止する状態にあった停止率であり、前記状態決定手段は、前記論理ブロックを制御する状態の決定を複数の前記論理ブロックの停止率に基づいて行うようにしてもよい。
【００１５】
これによれば、論理ブロックが動作を停止する状態にあるトータルの期間、言い換えると、論理ブロックが動作する状態にあるトータルの期間を論理ブロック間で近づけることが可能になって、論理ブロック間のクロックスキューを緩和することができる。
上記の半導体集積回路において、前記状態決定手段は、複数の前記論理ブロックの停止率の中から最小の停止率を特定し、前記論理ブロックのうち前記最小の停止率より所定の方法に従って定められる値以上値が大きい停止率の前記論理ブロックのみ制御する状態を動作する状態に決定するようにしてもよい。
【００１６】
これによれば、論理ブロックが動作を停止する状態にあるトータルの期間、言い換えると、論理ブロックが動作する状態にあるトータルの期間を論理ブロック間で近づけることが可能になって、論理ブロック間のクロックスキューを緩和することができる。
上記の半導体集積回路において、前記動作及び停止に係る複数の状態には、劣化度が異なる複数の状態があり、前記状態決定手段は、複数の前記論理ブロックの夫々の劣化度を当該論理ブロックの前記動作停止情報に基づいて特定し、特定した各前記論理ブロックの劣化度に基づいて劣化度が大きいほど劣化する度合いが小さい状態に制御されるように各前記論理ブロックを制御する状態の決定を行うようにしてもよい。
【００１７】
これによれば、論理ブロックの劣化度を論理ブロック間で近づけることが可能になって、論理ブロック間のクロックスキューを緩和することができる。
【発明を実施するための最良の形態】
【００１８】
≪第１の実施の形態≫
以下、本発明の第１の実施の形態について図面を参照しつつ説明する。
＜構成＞
本実施の形態の半導体集積回路の構成について図１を参照しつつ説明する。図１は本実施の形態の半導体集積回路の構成図である。但し、半導体集積回路として、ＦＰＧＡ（FieldProgrammable Gate Array）や再構成可能ロジック等のプログラムにより機能を変更することが可能なプログラマブル論理回路を挙げることができる。
【００１９】
図１において、半導体集積回路１は、論理ブロック１０ａ〜１０ｄと、各論理ブロック１０ａ〜１０ｄ間でデータを受け渡すためのデータ配線３０と、各論理ブロック１０ａ〜１０ｄ間のデータ配線３０の結線状態をプログラムによって設定変更するための配線切替スイッチ２０とを備える。
半導体集積回路１は、更に、各論理ブロック１０ａ〜１０ｄにクロック信号を供給するための不図示のクロック生成回路と各論理ブロック１０ａ〜１０ｄとを接続するためのクロック配線４０を備える。
【００２０】
半導体集積回路１は、更に、制御部５０を備えると共に、制御部５０が論理ブロック１０ａ〜１０ｄの動作及び停止に係る複数の状態の切り替え制御に用いる状態制御線８０ａ〜８０ｄと、半導体集積回路１の構成の切り替え制御に用いる構成制御線９０ａ〜９０ｄとを備える。但し、本実施の形態では、論理ブロック１０ａ〜１０ｄの動作及び停止に係る状態（以下、「動作停止状態」と言う。）として、論理ブロック１０ａ〜１０ｄが動作する状態（以下、「動作状態」と言う。）と、論理ブロック１０ａ〜１０ｄが動作を停止する状態（以下、「停止状態」と言う。）との２つの状態がある。
【００２１】
制御部５０は、半導体集積回路１の構成の決定処理を行うと共に、論理ブロック１０ａ〜１０ｄを制御する動作停止状態（動作状態、停止状態）の決定処理を行う。また、制御部５０は、半導体集積回路１が対象の処理を実現するための論理ブロック１０ａ〜１０ｄ間の結線状態にすべく配線切替スイッチ２０の切り替え制御を行う。
半導体集積回路１は、更に、電源動作検出部６０を備える。電源動作検出部６０は、電源手段（例えば、バッテリ）の動作（放電動作、充電動作）を検出し、検出した電源手段の動作を通知するための電源動作通知信号を制御部５０へ出力する。
【００２２】
半導体集積回路１は、更に、動作量保持部７０を備える。
動作量保持部７０は、不図示の発振回路によって発振されたクロック信号ＣＬＫの立ち上がりエッジ又は立ち下がりエッジの数（クロック数）を計測する。
動作量保持部７０は、半導体集積回路１の動作クロック数、並びに、論理ブロック１０ａ〜１０ｄの動作クロック数及び動作停止状態を格納するための、図２に一例を示す格納テーブルを記憶する。なお、動作量保持部７０に保持されている動作クロック数は、半導体集積回路１及び論理ブロック１０ａ〜１０ｄの夫々が動作している期間（例えば、現時点の構成が構成ａであり、構成ａの直前の構成が構成ｂである場合、構成ｂが終了するまでにおける動作している期間）におけるクロック信号ＣＬＫのクロック数である。
【００２３】
但し、図２において、フィールド「ブロック」の“全体”が半導体集積回路１全体を示し、“ブロックＡ”，“ブロックＢ”、“ブロックＣ”及び“ブロックＤ”が夫々論理ブロック１０ａ，１０ｂ，１０ｃ及び１０ｄを示す。例えば、現時点の半導体集積回路１の構成が構成ａであり、構成ａの直前の半導体集積回路１の構成が構成ｂであるとすると、フィールド「動作クロック数」には構成ｂが終了した時点の動作クロック数が格納され、フィールド「動作停止状態」には構成ａにおける各論理ブロック１０ａ〜１０ｄの動作停止状態（動作状態、停止状態）が格納される。
【００２４】
（論理ブロックの構成）
図１の論理ブロック１０ａの構成について図３を参照しつつ説明する。図３は図１の論理ブロック１０ａの構成図である。但し、図３では、構成制御線９０ａの図示を省略している。また、図３では論理素子１１を１個のみ図示しているが、論理ブロック１０ａは１以上の論理素子１１を備える。なお、論理ブロック１０ｂ〜１０ｄは、本発明に関連する部分に関する限りにおいて、論理ブロック１０ａと実質的に同じ構成をしている。
【００２５】
論理ブロック１０ａは、論理演算処理を行うものであって、論理素子１１と、クロックゲート回路１２と、インバータ回路１３ａ，１３ｂとを備える。
論理素子１１は、制御端子に入力されるクロック信号に同期して動作するフリップフロップなどである。
インバータ回路１３ａ，１３ｂは、入力信号の信号レベルを反転した信号を出力信号として出力する。なお、インバータ回路１３ａ，１３ｂは、例えば、ＰチャネルＭＯＳトランジスタ（以下、「ＰＭＯＳトランジスタ」と言う。）とＮチャネルＭＯＳトランジスタ（以下、「ＮＭＯＳトランジスタ」と言う。）とを含むＣＭＯＳ型のインバータ回路である。なお、クロックゲート回路１２と論理素子１１との間に設けられるインバータ回路１３ａ、１３ｂの個数は２個に限られるものではない。
【００２６】
クロックゲート回路１２は、ＮＡＮＤ回路によって構成され、２つの入力端子には夫々クロック配線４０と状態制御線８０ａとが接続されている。状態制御線８０ａの制御信号の信号レベルがハイレベルのとき、クロックゲート回路１２からの出力信号は、クロック配線４０からクロックゲート回路１２に供給されるクロック信号の信号レベルが反転したクロック信号になる。一方、状態制御線８０ａの制御信号の信号レベルがローレベルのとき、クロックゲート回路１２からの出力信号はハイレベルに固定されたクロック信号になる。
【００２７】
クロックゲート回路１２から出力されるクロック信号は、インバータ回路１３ａ，１３ｂを通過し、インバータ回路１３ｂから出力されるクロック信号が論理素子１１の制御端子に入力される。
上記の構成の論理ブロック１０ａでは、制御部５０が状態制御線８０ａの制御信号の信号レベルをハイレベルにすることによって、論理素子１１の制御端子にはハイレベルとローレベルとを交互に繰り返すクロック信号が入力されることになる。この結果、論理素子１１は動作し、論理ブロック１０ａは動作状態になる。
【００２８】
これに対して、制御部５０が状態制御線８０ａの制御信号の信号レベルをローレベルにすることによって、論理素子１１の制御端子にはハイレベルに固定されたクロック信号が入力されることになる。この結果、論理素子１１は動作することなく、論理ブロック１０ａは停止状態になる。
なお、論理ブロック１０ｂ〜１０ｄについても同様である。
【００２９】
（制御部の構成）
図１の制御部５０の構成について図４を参照しつつ説明する。図４は図１の制御部５０の構成図である。なお、図４では、論理ブロック１０ａのクロックゲート回路１２のみ図示し、他の論理ブロック１０ｂ〜１０ｄのクロックゲート回路の図示は省略している。
制御部５０は、電源動作判定部５１と、放電動作処理部５２と、充電動作処理部５３と、状態制御部５４とを備える。
【００３０】
電源動作判定部５１は、半導体集積回路１が構成を切り替えるタイミングで、電源動作検出部６０から入力される電源動作通知信号に基づいて電源手段の動作が充電動作か放電動作かを判定する。そして、電源動作判定部５１は、電源手段の動作が放電動作であると判定した場合には放電動作処理部５２に対して放電動作処理指令信号を出力し、電源手段の動作が充電動作であると判定した場合には充電動作処理部５３に対して充電動作処理指令信号を出力する。
【００３１】
放電動作処理部５２は、電源動作判定部５１から放電動作処理指令信号を受けて、動作量保持部７０に記憶されている図２の格納テーブルにおいて、半導体集積回路１全体に対応する動作クロック数及びフィールド「動作停止状態」に“動作状態”が格納されている論理ブロックに対応する動作クロック数の夫々に動作量保持部７０が計測しているクロック数を加算する。これによって、図２の格納テーブルのフィールド「動作クロック数」には、半導体集積回路１の構成が例えば構成ｂから構成ａに切り替わる場合には、構成ｂの終了時点での半導体集積回路１及び論理ブロック１０ａ〜１０ｄの夫々の動作クロック数が格納されることになる。そして、放電動作処理部５２は、動作量保持部７０が計測しているクロック数を“０”にリセットする。
【００３２】
また、放電動作処理部５２は、論理ブロック１０ａ〜１０ｄのうち、半導体集積回路１がこれから行う処理を実行する上で動作が必要な論理ブロックのみ動作させる論理ブロックに決定し、それ以外の論理ブロックを動作を停止させる論理ブロックに決定する。そして、放電動作処理部５２は、動作させる論理ブロックと動作を停止させる論理ブロックとの情報を含む第１状態通知信号を状態制御部５４へ出力する。これとともに、放電動作処理部５２は、図２の格納テーブルにおいて、動作させる論理ブロックに決定した論理ブロックに対応するフィールド「動作停止状態」に“動作状態”を格納し、動作を停止させる論理ブロックに決定した論理ブロックに対応するフィールド「動作停止状態」に“停止状態”を格納する。
【００３３】
充電動作処理部５３は、電源動作判定部５１から充電動作処理指令信号を受けて、動作量保持部７０に記憶されている図２の格納テーブルにおいて、半導体集積回路１全体に対応する動作クロック数及びフィールド「動作停止状態」に“動作状態”が格納されている論理ブロックに対応する動作クロック数の夫々に動作量保持部７０が計測しているクロック数を加算する。そして、充電動作処理部５３は、動作量保持部７０が計測しているクロック数を“０”にリセットする。
【００３４】
また、充電動作処理部５３は、論理ブロック１０ａ〜１０ｄのうち、半導体集積回路１がこれから行う処理を実行する上で動作が必要な論理ブロックを動作させる論理ブロックに決定する。さらに、充電動作処理部５３は、動作させる論理ブロックに決定された論理ブロック以外の各論理ブロックを、上記の加算処理後の図２の格納テーブルの動作クロック数に基づいて、動作させる論理ブロック及び動作を停止させる論理ブロックの何れかに決定する。そして、充電動作処理部５３は、動作させる論理ブロックと動作を停止させる論理ブロックとの情報を含む第２状態通知信号を状態制御部５４へ出力する。これとともに、充電動作処理部５３は、図２の格納テーブルにおいて、動作させる論理ブロックに決定した論理ブロックに対応するフィールド「動作停止状態」に“動作状態”を格納し、動作を停止させる論理ブロックに決定した論理ブロックに対応するフィールド「動作停止状態」に“停止状態”を格納する。
【００３５】
状態制御部５４は、放電動作処理部５２から入力される第１状態通知信号に含まれる動作させる論理ブロックに対応する状態制御線の制御信号の信号レベルをハイレベルにし、それ以外の論理ブロックに対応する状態制御線の制御信号の信号レベルをローレベルにする。また、状態制御部５４は、充電動作処理部５３から入力される第２状態通知信号に含まれる動作させる論理ブロックに対応する状態制御線の制御信号の信号レベルをハイレベルにし、それ以外の論理ブロックに対応する状態制御線の制御信号の信号レベルをローレベルにする。
【００３６】
＜動作＞
図１から図４を参照して構成を説明した半導体集積回路１の動作について図５を参照しつつ説明する。図５は図１の半導体集積回路１が行う論理ブロック制御処理の手順を示すフローチャートである。
電源動作判定部５１は、半導体集積回路１が構成を切り替えるタイミングにおいて、電源動作検出部６０から入力される電源動作通知信号に基づいて電源手段の動作が放電動作か充電動作かを判定する（ステップＳ１０１）。
【００３７】
電源動作判定部５１によって電源手段の動作が放電動作であると判定された場合には（Ｓ１０１：放電）、放電動作処理部５２及び状態制御部５４は、図６に処理手順を示す放電動作ブロック制御処理を実行する（ステップＳ１０２）。一方、電源動作判定部５１によって電源手段の動作が充電動作であると判定された場合には（Ｓ１０１：充電）、充電動作処理部５３及び状態制御部５４は、図７に処理手順を示す充電動作ブロック制御処理を実行する（ステップＳ１０３）。
【００３８】
（放電動作ブロック制御処理）
図５の放電動作ブロック制御処理（ステップＳ１０２）について図６を参照しつつ説明する。図６は図５の放電動作ブロック制御処理（ステップＳ１０２）の手順を示すフローチャートである。
放電動作処理部５２は、図２の格納テーブルにおいて、半導体集積回路１全体に対応する動作クロック数及びフィールド「動作停止状態」に“動作状態”が格納されている論理ブロックに対応する動作クロック数の夫々に動作量保持部７０が計測しているクロック数を加算し、格納テーブルの格納内容の更新を行う。そして、放電動作処理部５２は、動作量保持部７０が計測しているクロック数を“０”にリセットする（ステップＳ１３１）。
【００３９】
放電動作処理部５２は、半導体集積回路１がこれから行う処理（対象の処理）を実行する上で動作が必要な論理ブロックのみ動作させる論理ブロックに決定し、それ以外の論理ブロックを動作を停止させる論理ブロックに決定する（ステップＳ１３２）。
状態制御部５４は、ステップＳ１３２において動作させる論理ブロックに決定された論理ブロックに対応する状態制御線の制御信号の信号レベルをハイレベルにし、動作を停止させる論理ブロックに決定された論理ブロックに対応する状態制御線の制御信号の信号レベルをローレベルにする（ステップＳ１３３）。
【００４０】
放電動作処理部５２は、図２の格納テーブルにおいて、ステップＳ１３２において動作させる論理ブロックに決定された論理ブロックに対応するフィールド「動作停止状態」に“動作状態”を格納し、動作を停止させる論理ブロックに決定された論理ブロックに対応するフィールド「動作停止状態」に“停止状態”を格納する（ステップＳ１３４）。そして、制御部５０は図５の処理に戻る。
【００４１】
（充電動作ブロック制御処理）
図５の充電動作ブロック制御処理（ステップＳ１０３）について図７を参照しつつ説明する。図７は図５の充電動作ブロック制御処理（ステップＳ１０３）の手順を示すフローチャートである。
充電動作処理部５３は、図２の格納テーブルにおいて、半導体集積回路１全体に対応する動作クロック数及びフィールド「動作停止状態」に“動作状態”が格納されている論理ブロックに対応する動作クロック数の夫々に動作量保持部７０が計測しているクロック数を加算し、格納テーブルの格納内容の更新を行う。そして、充電動作処理部５３は、動作量保持部７０が計測しているクロック数を“０”にリセットする（ステップＳ１５１）。
【００４２】
充電動作処理部５３は、動作クロック数の加算後の格納テーブルの動作クロック数を参照して、論理ブロック１０ａ〜１０ｄの夫々について、半導体集積回路１全体の動作クロック数から論理ブロックの動作クロック数を減算し、減算値を半導体集積回路１全体の動作クロック数で除算し、除算値を当該論理ブロックの停止率とする（ステップＳ１５２）。続いて、充電動作処理部５３は、論理ブロック１０ａ〜１０ｄの停止率の中から最小の停止率を特定し、特定した最小の停止率に予め定められた値を加算し、加算値を動作閾値とする（ステップＳ１５３）。
【００４３】
充電動作処理部５３は、半導体集積回路１がこれから行う処理（対象の処理）を実行する上で動作が必要な論理ブロックを動作させる論理ブロック（以下、「動作ブロック」と言う。）に決定する（ステップＳ１５４）。
充電動作処理部５３は、動作ブロック以外の論理ブロックの全てを後述するステップＳ１５６からステップＳ１５９の処理対象にしたか否かを判定する（ステップＳ１５５）。
【００４４】
充電動作処理部５３は、動作ブロック以外の論理ブロックの全てを処理対象にしていないと判定すると（Ｓ１５５：ＮＯ）、処理対象にしていない論理ブロックの１つに注目する（ステップＳ１５６）。そして、充電動作処理部５３は、注目している論理ブロックの停止率が動作閾値以上であるか否かを判定する（ステップＳ１５７）。
充電動作処理部５３は、注目している論理ブロックの停止率が動作閾値以上であると判定すると（Ｓ１５７：ＹＥＳ）、注目している論理ブロックを動作させる論理ブロック（以下、「変更動作ブロック」と言う。）に決定し（ステップＳ１５８）、ステップＳ１５５の処理へ移行する。一方、充電動作処理部５３は、注目している論理ブロックの停止率が動作閾値以上でないと判定すると（Ｓ１５７：ＮＯ）、注目している論理ブロックを動作を停止させる論理ブロック（以下、「停止ブロック」と言う。）に決定し（ステップＳ１５９）、ステップＳ１５５の処理へ移行する。
【００４５】
充電動作処理部５３によって動作ブロック以外の論理ブロックの全てを処理対象にしたと判定されると（Ｓ１５５：ＹＥＳ）、状態制御部５４は、ステップＳ１５４において動作ブロックに決定された論理ブロック及びステップＳ１５８において変更動作ブロックに決定された論理ブロックに対応する状態制御線の制御信号をハイレベルにする。これとともに、状態制御部５４は、ステップＳ１５９において停止ブロックに決定された論理ブロックに対応する状態制御線の制御信号の信号レベルをローレベルにする（ステップＳ１６０）。
【００４６】
充電動作処理部５３は、図２の格納テーブルにおいて、動作ブロック及び変更動作ブロックの何れかに決定された論理ブロックに対応するフィールド「動作停止状態」に“動作状態”を格納し、停止ブロックに決定された論理ブロックに対応するフィールド「動作停止状態」に“停止状態”を格納する（ステップＳ１６１）。そして、制御部５０は図５の処理に戻る。
【００４７】
＜具体例＞
図１から図７を参照して説明した半導体集積回路１の動作の具体例について図８を参照しつつ説明する。図８（ａ）及び図８（ｂ）は図１の半導体集積回路１が行う論理ブロックの制御処理の具体例を説明するための図である。
本具体例では、半導体集積回路１は、対象となる処理を実行する上で動作させる必要がある論理ブロックが論理ブロック１０ａ〜１０ｄである構成Ａ、動作させる必要がある論理ブロックが論理ブロック１０ａのみである構成Ｂ、動作させる必要がある論理ブロックが論理ブロック１０ａ〜１０ｄである構成Ｃ、動作させる必要がある論理ブロックが論理ブロック１０ｃのみである構成Ｄの順番で動作するものとする。
【００４８】
また、半導体集積回路１が構成Ａ及び構成Ｂで動作する期間は電源手段が放電動作を行っており、半導体集積回路１が構成Ｃ及び構成Ｄで動作する期間は電源手段が充電動作を行っているとする。
時間Ｔ１〜Ｔ２では、電源動作判定部５１は電源手段の動作が放電動作であると判定する。放電動作処理部５２は論理ブック１０ａ〜１０ｄの全てを動作させる論理ブロックに決定し、状態制御部５４は論理ブロック１０ａ〜１０ｄが動作するように制御信号の生成を行う（構成Ａ）。
【００４９】
時間Ｔ２〜Ｔ３では、電源動作判定部５１は電源手段の動作が放電動作であると判定する。放電動作処理部５２は論理ブック１０ａを動作させる論理ブロックに決定し、論理ブロック１０ｂ〜１０ｄを動作を停止させる論理ブロックに決定する。状態制御部５４は論理ブロック１０ａが動作するように、論理ブロック１０ｂ〜１０ｄが動作を停止するように制御信号の生成を行う（構成Ｂ）。なお、時間Ｔ２〜Ｔ３では、電源手段の動作が放電動作なので、論理ブロック１０ｂ〜１０ｄの中から停止率に基づいて動作させる論理ブロックを決定するための処理は行われない。
【００５０】
時間Ｔ３〜Ｔ４では、電源動作判定部５１は電源手段の動作が充電動作であると判定する。充電動作処理部５３は論理ブック１０ａ〜１０ｄの全てを動作させる論理ブロックに決定し、状態制御部５４は論理ブロック１０ａ〜１０ｄが動作するように制御信号の生成を行う（構成Ｃ）。なお、半導体集積回路１が構成Ｃから構成Ｄに切り替わるとき、論理ブロック１０ｂ〜１０ｄの停止率は、論理ブロック１０ａ〜１０ｄの停止率のうち最小の停止率に予め定められた値を加算した加算値（動作閾値）以上であるとし、論理ブロック１０ａの停止率は動作閾値未満であるとする。
【００５１】
時間Ｔ４〜Ｔ５では、電源動作判定部５１は電源手段の動作が充電動作であると判定する。充電動作処理部５３は論理ブック１０ｃを動作させる論理ブロック（動作ブロック）に決定する。充電動作処理部５３は、動作ブロック１０ｃ以外の論理ブロック１０ａ，１０ｂ，１０ｄのうち、停止率に基づいて、論理ブロック１０ｂ，１０ｄを動作させる論理ブロック（変更動作ブロック）に決定し、論理ブロック１０ａを動作を停止させる論理ブロック（停止ブロック）に決定する。状態制御部５４は論理ブロック１０ｃ及び論理ブロック１０ｂ，１０ｄが動作するように、論理ブロック１０ａが動作を停止するように制御信号の生成を行う（構成Ｄ）。
【００５２】
上述した本実施の形態の半導体集積回路１によれば、電源手段が放電動作をしている場合には、半導体集積回路１は対象の処理を実行する上で動作が必要な論理ブロックのみ動作するように論理ブロックの動作状態と停止状態との切り替え制御を行う。このため、電源手段の動作が放電動作の場合には半導体集積回路１における消費電力量が抑制される。
また、半導体集積回路１が電力消費量の抑制が不要である電源手段が充電動作をしている場合には、半導体集積回路１は論理ブロック１０ａ〜１０ｄの停止率、言い換えると、動作率が論理ブロック間で近づくように、論理ブロックの動作状態と停止状態との切り替え制御を行う。これによって、論理ブロック間のクロックスキューを小さくすることができ、論理ブロックの経時劣化に起因するクロックスキューによる論理ブロック間のデータの受け渡しの誤りを防ぐことができる。また、より小さいクロックスキューに基づいた半導体集積回路１の設計を行うなうことが可能なため、論理ブロック間などに挿入する遅延素子の数を少なくすることができ、半導体集積回路１の消費電力量の抑制及び半導体集積回路１の面積の増大の抑制が可能になる。
【００５３】
≪第２の実施の形態≫
以下、本発明の第２の実施の形態について図面を参照しつつ説明する。
但し、第１の実施の形態は論理ブロックの動作を停止させるためにクロックの供給を止めるゲーディドクロック技術を用いているが、本実施の形態は論理ブロックの動作を停止させるために電力供給を止める電源遮断技術を用いる。
【００５４】
なお、第２の実施の形態では、第１の実施の形態と実質的に同じ構成要素には第１の実施の形態と同じ符号を付し、第１の実施の形態の説明が適用できるためその説明を省略する。
＜構成＞
本実施の形態の半導体集積回路の構成について図９を参照しつつ説明する。図９は本実施の形態の半導体集積回路の構成図である。
【００５５】
半導体集積回路１ａは、第１の実施の形態の半導体集積回路１と論理ブロックのみ異なるものであり、その他の構成は半導体集積回路１の対応する構成と実質的に同じである。
（論理ブロックの構成）
半導体集積回路１ａには論理ブロック２００ａ〜２００ｄが備えられており、論理ブロック２００ａ〜２００ｄは本発明に関連する部分に関する限り実質的に同じ構成をしている。
【００５６】
論理ブロック２００ａは、論理演算処理を行うものであって、論理素子１１と、インバータ回路２１１〜２１３と、電源遮断回路２２０とを備える。
インバータ回路２１１〜２１３は、入力信号の信号レベルを反転した信号を出力信号として出力する。インバータ回路２１１の入力端子にクロック配線４０が接続され、インバータ回路２１１の入力端子に入力されるクロック信号はインバータ回路２１１〜２１３を通過し、インバータ回路２１３から出力されるクロック信号が論理素子１１の制御端子に入力される。なお、インバータ回路２１１〜２１３の個数は３個に限られるものではない。
【００５７】
電源遮断回路２２０は、状態制御線８０ａの制御信号の信号レベルがハイレベルのときに論理素子１１及びインバータ回路２１１〜２１３を電源に接続することによって論理素子１１及びインバータ回路２１１〜２１３に電力供給が行われるように動作する。これに対して、電源遮断回路２２０は、状態制御線８０ａの制御信号の信号レベルがローレベルのときに論理素子１１及びインバータ回路２１１〜２１３を電源から遮断することによって論理素子１１及びインバータ回路２１１〜２１３に電力供給が行われないように動作する。
【００５８】
上記の構成の論理ブロック２００ａでは、制御部５０が状態制御線８０ａの制御信号の信号レベルをハイレベルにすることによって、論理素子１１及びインバータ回路２１１〜２１３に電力供給が行われる。この結果、論理素子１１及びインバータ回路２１１〜２１３は動作し、論理ブロック２００ａは動作状態になる。これに対して、制御部５０が状態制御線８０ａの制御信号の信号レベルをローレベルにすることによって、論理素子１１及びインバータ回路２１１〜２１３に電力供給が行われなくなる。この結果、論理素子１１及びインバータ回路２１１〜２１３は動作せず、論理ブロック２００ａは停止状態になる。
【００５９】
なお、論理ブロック２００ｂ〜２００ｄについても同様である。
［電源遮断回路の構成］
図９の電源遮断回路２２０の構成について図１０を参照しつつ説明する。図１０は図９の電源遮断回路２２０の構成図である。但し、モジュール２６０は図９の論理素子１１やインバータ回路２１１〜２１３である。
【００６０】
電源遮断回路２２０は、インバータ回路２２１と、ソース電極が電源に接続され、ドレイン電極がモジュール２６０に接続されたＰＭＯＳトランジスタ２２２と、ドレイン電極がモジュール２６０に接続され、ソース電極がグランド板に接続されたＮＭＯＳトランジスタ２２３とを備える。
インバータ回路２２１の入力端子及びＮＭＯＳトランジスタ２２３のゲート電極は状態制御線８０ａに接続され、ＰＭＯＳトランジスタ２２２のゲート電極はインバータ回路２２１の出力端子に接続されている。
【００６１】
状態制御線８０ａの制御信号の信号レベルがハイレベルのとき、ＰＭＯＳトランジスタ２２２のゲート電極にはローレベルの信号が印加され、ＮＭＯＳトランジスタ２２３のゲート電極にはハイレベルの信号が印加される。これによって、ＰＭＯＳトランジスタ２２２及びＮＭＯＳトランジスタ２２３の双方がオン状態になって、モジュール２６０は電源に接続され、電源からモジュール２６０に電力供給が行われる。
【００６２】
これに対して、状態制御線８０ａの制御信号の信号レベルがローレベルのとき、ＰＭＯＳトランジスタ２２２のゲート電極にはハイレベルの信号が印加され、ＮＭＯＳトランジスタ２２３のゲート電極にはローレベルの信号が印加される。これによって、ＰＭＯＳトランジスタ２２２及びＮＭＯＳトランジスタ２２３の双方がオフ状態になって、モジュール２６０は電源から遮断され、電源からモジュール２６０へ電力供給が行われなくなる。
【００６３】
≪第３の実施の形態≫
以下、本発明の第３の実施の形態に係る半導体集積回路について図面を参照しつつ説明する。
但し、第１の実施の形態は論理ブロックの動作を停止させるために論理素子などにクロックの供給を止めるゲーディドクロック技術を用い、第２の実施の形態は論理ブロックの動作を停止させるために電力供給を止める電源遮断技術を用いている。これに対して、本実施の形態は論理ブロックの動作を停止させるためにゲーティドクロック技術及び電源遮断技術の双方を用いる。
【００６４】
なお、第３の実施の形態では、第１の実施の形態と実質的に同じ構成要素には第１の実施の形態と同じ符号を付し、第１の実施の形態の説明が適用できるためその説明を省略する。
＜構成＞
本実施の形態の半導体集積回路の構成について図１１を参照しつつ説明する。図１１は本実施の形態の半導体集積回路の構成図である。
【００６５】
半導体集積回路１ｂは、論理ブロック３００ａ〜３００ｄと制御部５０ｂと電源動作検出部６０と劣化度保持部３２０とクロック配線４０と状態制御線８１ａ〜８３ａとを備える。なお、論理ブロック３００ａ〜３００ｄは本発明に関連する部分に関する限り実質的に同じ構成をしている。
（論理ブロックの構成）
論理ブロック３００ａは、論理演算処理を行うものであって、論理素子１１と、クロックゲート回路３１０と、インバータ回路１３ａ，１３ｂと、電源遮断回路２２０ｂとを備える。
【００６６】
電源遮断回路２２０ｂは、図１０に構成を示した電源遮断回路２２０と同じ構成をしており、状態制御線８３ａの制御信号の信号レベルがハイレベルのときに、論理素子１１、クロックゲート回路３１０及びインバータ回路１３ａ，１３ｂを電源に接続することによって論理素子１１、クロックゲート回路３１０及びインバータ回路１３ａ，１３ｂに電力供給が行われるように動作する。これに対して、電源遮断回路２２０ｂは、状態制御線８３ａの制御信号がローレベルのときに論理素子１１、クロックゲート回路３１０及びインバータ回路１３ａ，１３ｂを電源から遮断することによって論理素子１１、クロックゲート回路３１０及びインバータ回路１３ａ，１３ｂに電力供給が行われないように動作する。
【００６７】
クロックゲート回路３１０は、図１２に示すように、ＮＡＮＤ回路３１１とインバータ回路３１２とＮＯＲ回路３１３とを備える。ＮＡＮＤ回路３１１の２つの入力端子には夫々クロック配線４０と状態制御線８１ａとが接続され、ＮＡＮＤ回路３１１の出力端子はインバータ回路３１２の入力端子に接続される。ＮＯＲ回路３１３の２つの入力端子にはインバータ回路３１２の出力端子と状態制御線８２ａとが接続され、その出力端子はインバータ回路１３ａの入力端子に接続される。
【００６８】
状態制御線８１ａの制御信号の信号レベルがハイレベル、且つ、状態制御線８２ａの制御信号の信号レベルがローレベルのとき、クロックゲート回路３１０からの出力信号は、クロック配線４０からクロックゲート回路３１０に供給されるクロック信号の信号レベルが反転したクロック信号になる。また、状態制御線８１ａの制御信号の信号レベルがローレベル、且つ、状態制御線８２ａの制御信号の信号レベルがローレベルのとき、クロックゲート回路３１０からの出力信号はハイレベルに固定されたクロック信号になる。さらに、状態制御線８１ａの制御信号の信号レベルがローレベル又はハイレベル、且つ、状態制御線８２ａの制御信号の信号レベルがハイレベルのとき、クロックゲート回路３１０からの出力信号はローレベルに固定されたクロック信号になる。
【００６９】
上記の構成の論理ブロック３００ａでは、制御部５０ｂが状態制御線８１ａの制御信号の信号レベルをハイレベル、状態制御線８２ａの制御信号の信号レベルをローレベル、且つ、状態制御線８３ａの制御信号の信号レベルをハイレベルにすることによって、論理ブロック３００ａは動作状態になる。
また、制御部５０ｂが状態制御線８１ａの制御信号の信号レベルをローレベル、状態制御線８２ａの制御信号の信号レベルをローレベル、且つ、状態制御線８３ａの制御信号の信号レベルをハイレベルにすることによって、論理素子１１の制御端子にはハイレベルに固定されたクロック信号が入力されることになる。この結果、論理素子１１は動作することなく、論理ブロック３００ａは停止状態になる。なお、以下において、この停止状態を「ハイレベル固定停止状態」と言う。
【００７０】
さらに、制御部５０ｂが状態制御線８１ａの制御信号の信号レベルをローレベル又はハイレベル、状態制御線８２ａの制御信号の信号レベルをハイレベル、且つ、状態制御線８３ａの制御信号の信号レベルをハイレベルにすることによって、論理素子１１の制御端子にはローレベルに固定されたクロック信号が入力されることになる。この結果、論理素子１１は動作することなく、論理ブロック３００ａは停止状態になる。なお、以下において、この停止状態を「ローレベル固定停止状態」と言う。但し、論理ブロック３００ａをローレベル固定停止状態にする場合、制御部５０ｂ又は状態制御部５４ｂが「状態制御線８２ａの制御信号の信号レベルをハイレベル、且つ、状態制御線８３ａの制御信号の信号レベルをハイレベルにする」と記載する。
【００７１】
さらに、制御部５０ｂが状態制御線８１ａの制御信号の信号レベルをローレベル又はハイレベル、状態制御線８２ａの制御信号の信号レベルをローレベル又はハイレベル、且つ、状態制御線８３ａの信号レベルをローレベルにすることによって、クロックゲート回路３１０、インバータ回路１３ａ，１３ｂ及び論理素子１１に電力供給が行われなくなる。この結果、クロックゲート回路３１０、インバータ回路１３ａ，１３ｂ及び論理素子１１は動作せず、論理ブロック３００ａは停止状態になる。なお、以下において、この停止状態を「電源遮断停止状態」と言う。但し、論理ブロック３００ａを電源遮断停止状態にする場合、制御部５０ｂ又は状態制御部５４ｂが「状態制御線８３ａの制御信号の信号レベルをローレベルにする」と記載する。
【００７２】
なお、論理ブロック３００ｂ〜３００ｄについても同様である。
本実施の形態では、論理ブロック３００ａ〜３００ｄは、各動作停止状態（動作状態、ハイレベル固定停止状態、ローレベル固定停止状態、電源遮断停止状態）において、図１３に示す劣化特性に従って劣化するものと仮定する。そして、論理ブロック３００ａ〜３００ｄは、ハイレベル固定停止状態、動作状態、ローレベル固定停止状態、電源遮断停止状態の順番で劣化が進みやすいものと仮定する。
【００７３】
なお、図１３中の矢印ａはハイレベル固定停止状態にある論理ブロックの劣化特性を指し、矢印ｂは動作状態にある論理ブロックの劣化特性を指す。また、矢印ｃはローレベル固定停止状態にある論理ブロックの劣化特性を指し、矢印ｄは電源遮断停止状態にある論理ブロックの劣化特性を指す。
（劣化度保持部の構成）
劣化度保持部３２０は、不図示の発振回路によって発振されたクロック信号ＣＬＫの立ち上がりエッジの数（クロック数）を計測する。
【００７４】
劣化度保持部３２０は、論理ブロック３００ａ〜３００ｄの劣化度及び動作停止状態を格納するための、図１４に一例を示す格納テーブルを記憶する。但し、“ブロックＡ”，“ブロックＢ”、“ブロックＣ”及び“ブロックＤ”が夫々論理ブロック３００ａ，３００ｂ，３００ｃ及び３００ｄを示す。例えば、現時点の半導体集積回路１ｂの構成が構成ａであり、構成ａの直前の半導体集積回路１ｂの構成が構成ｂであるとすると、フィールド「劣化度」には構成ｂが終了した時点の劣化度が格納され、フィールド「動作停止状態」には構成ａにおける各論理ブロック３００ａ〜３００ｄの動作停止状態（動作状態、ハイレベル固定停止状態、ローレベル固定停止状態、電源遮断停止状態）が格納される。
【００７５】
また、劣化度保持部３２０は、図１３に示した、動作状態、ハイレベル固定停止状態、ローレベル固定停止状態及び電源遮断停止状態の夫々の劣化特性を記憶している。
（制御部の構成）
制御部５０ｂは、電源動作判定部５１と放電動作処理部５２ｂと充電動作処理部５３ｂと状態制御部５４ｂとを備える。
【００７６】
放電動作処理部５２ｂは、電源動作判定部５１から放電動作処理指令信号を受けて、論理ブロック３００ａ〜３００ｄの夫々について、劣化度保持部３２０に記憶されている図１４の格納テーブルのフィールド「劣化度」の格納内容を次のようにして更新し、劣化度保持部３２０が計測しているクロック数を“０”にリセットする。
図１５に示すように、放電動作処理部５２ｂは、対象の論理ブロックのフィールド「動作停止状態」に格納されている動作停止状態（動作状態、ハイレベル固定停止状態、ローレベル固定停止状態、電源遮断停止状態）に対応する劣化特性を劣化度保持部３２０から読み出す。そして、放電動作処理部５２ｂは、対象の論理ブロックのフィールド「劣化度」から劣化度を読み出し、読み出した劣化度が劣化特性の曲線上に位置するように、読み出した劣化特性を時間軸方向に平行に移動する。そして、放電動作処理部５２ｂは、劣化度保持部３２０が保持しているクロック数にクロック信号ＣＬＫの周期を乗算し、前回の構成の切り替わりから今回の構成の切り替わりまでの時間（以下、「処理時間」という。）を算出する。続いて、放電動作処理部５２ｂは、移動後の劣化特性の曲線上を処理時間進めた位置の劣化度を新たな劣化度とし、対象の論理ブロックのフィールド「劣化度」に格納する。
【００７７】
更に、放電動作処理部５２ｂは、論理ブロック３００ａ〜３００ｄのうち、半導体集積回路１ｂがこれから行う処理を実行する上で動作が必要な論理ブロックのみ動作させる論理ブロック（動作状態にする論理ブロック）に決定し、それ以外の論理ブロックを電源遮断を行うことによって動作を停止させる論理ブロック（電源遮断停止状態にする論理ブロック）に決定する。そして、放電動作処理部５２ｂは、各論理ブロックの動作停止状態の情報を含む第１状態通知信号を状態制御部５４ｂへ出力する。これとともに、放電動作処理部５２ｂは、図１４の格納テーブルにおいて、動作状態にする論理ブロックに決定した論理ブロックに対応するフィールド「動作停止状態」に“動作状態”を格納し、電源遮断停止状態にする論理ブロックに決定した論理ブロックに対応するフィールド「動作停止状態」に“電源遮断停止状態”を格納する。
【００７８】
充電動作処理部５３ｂは、電源動作判定部５１から充電動作処理指令信号を受けて、論理ブロック３００ａ〜３００ｄの夫々について、図１５を参照して説明した処理内容と実質的に同じ処理内容を実行して、劣化度保持部３２０に記憶されている図１４の格納テーブルのフィールド「劣化度」の格納内容を更新する。そして、充電動作処理部５３ｂは、劣化度保持部３２０が計測しているクロック数を“０”にリセットする。
【００７９】
また、充電動作処理部５３ｂは、論理ブロック３００ａ〜３００ｄのうち、半導体集積回路１ｂがこれから行う処理を実行する上で動作が必要な論理ブロックを動作させる論理ブロック（動作状態にする論理ブロック）に決定する。さらに、充電動作処理部５３ｂは、動作状態にする論理ブロックに決定された論理ブロック以外の各論理ブロックを、上記の更新後の図１４の格納テーブルの劣化度に基づいて、動作状態にする論理ブロック、電源遮断停止状態にする論理ブロック、ハイレベル固定停止状態にする論理ブロック及びローレベル固定停止状態にする論理ブロックの何れかに決定する。そして、充電動作処理部５３ｂは、各論理ブロックの動作停止状態の情報を含む第２状態通知信号を状態制御部５４ｂへ出力する。これとともに、充電動作処理部５３ｂは、図１４の格納テーブルにおいて、動作状態にする論理ブロックに決定した論理ブロックに対応するフィールド「動作停止状態」に“動作状態”を格納し、電源遮断停止状態にする論理ブロックに決定した論理ブロックに対応するフィールド「動作停止状態」に“電源遮断停止状態”を格納する。また、充電動作処理部５３ｂは、ローレベル固定停止状態にする論理ブロックに決定した論理ブロックに対応するフィールド「動作停止状態」に“ローレベル固定停止状態”を格納し、ハイレベル固定停止状態にする論理ブロックに決定した論理ブロックに対応するフィールド「動作停止状態」に“ハイレベル固定停止状態”を格納する。
【００８０】
状態制御部５４ｂは、第１状態通知信号に基づいて、また、第２状態通知信号に基づいて、状態制御線８１ａ〜８３ａの各制御信号の信号レベルを制御する。
但し、論理ブロックを動作状態にする場合、状態制御部５４ｂは、動作状態にする論理ブロックに対応する状態制御線８１ａの制御信号の信号レベルをハイレベル、状態制御線８２ａの制御信号の信号レベルをローレベル、且つ、状態制御線８３ａの制御信号の信号レベルをハイレベルにする。
【００８１】
また、論理ブロックをハイレベル固定停止状態にする場合、状態制御部５４ｂは、ハイレベル固定停止状態にする論理ブロックに対応する状態制御線８１ａの制御信号の信号レベルをローレベル、状態制御線８２ａの制御信号の信号レベルをローレベル、且つ、状態制御線８３ａの制御信号の信号レベルをハイレベルにする。
さらに、論理ブロックをローレベル固定停止状態にする場合、状態制御部５４ｂは、ローレベル固定停止状態にする論理ブロックに対応する状態制御線８２ａの制御信号の信号レベルをハイレベル、且つ、状態制御線８３ａの制御信号の信号レベルをハイレベルにする。
【００８２】
さらに、論理ブロックを電源遮断停止状態にする場合、状態制御部５４ｂは、電源遮断停止状態にする論理ブロックに対応する状態制御線８３ａの制御信号の信号レベルをローレベルにする。
＜動作＞
図１１から図１５を参照して構成を示した半導体集積回路１ｂの動作について図１６を参照しつつ説明する。図１６は図１１の半導体集積回路１ｂが行う論理ブロック制御処理の手順を示すフローチャートである。
【００８３】
電源動作判定部５１は、半導体集積回路１ｂが構成を切り替えるタイミングにおいて、電源動作検出部６０から入力される電源動作通知信号に基づいて電源手段の動作が放電動作か充電動作かを判定する（ステップＳ３０１）。
電源動作判定部５１によって電源手段の動作が放電動作であると判定された場合には（Ｓ３０１：放電）、放電動作処理部５２ｂ及び状態制御部５４ｂは、図１７に処理手順を示す放電動作ブロック制御処理を実行する（ステップＳ３０２）。一方、電源動作判定部５１によって電源手段の動作が充電動作であると判定された場合には（Ｓ３０１：充電）、充電動作処理部５３ｂ及び状態制御部５４ｂは、図１８及び図１９に処理手順を示す充電動作ブロック制御処理を実行する（ステップＳ３０３）。
【００８４】
（放電動作ブロック制御処理）
図１６の放電動作ブロック制御処理（ステップＳ３０２）について図１７を参照しつつ説明する。図１７は図１６の放電動作ブロック制御処理（ステップＳ３０２）の手順を示すフローチャートである。
放電動作処理部５２ｂは、図１４の格納テーブルにおいて、各論理ブロック３００ａ〜３００ｄの劣化度の算出及び更新を行い、劣化度保持部３２０が計測しているクロック数を“０”にリセットする（ステップＳ３３１）。
【００８５】
放電動作処理部５２ｂは、半導体集積回路１ｂがこれから行う処理（対象の処理）を実行する上で動作が必要な論理ブロックのみ動作させる論理ブロック（動作状態にする論理ブロック）に決定し、それ以外の論理ブロックを電源遮断することによって動作を停止させる論理ブロック（電源遮断停止状態にする論理ブロック）に決定する（ステップＳ３３２）。
【００８６】
状態制御部５４ｂは、各論理ブロック３００ａ〜３００ｄがステップＳ３３２において決定された動作停止状態（動作状態、電源遮断停止状態）になるように、状態制御線８１ａ〜８３ａの各制御信号の信号レベルを制御する（ステップＳ３３３）。これによって、各論理ブロック３００ａ〜３００ｄは、ステップＳ３３２において決定された動作停止状態になる。
【００８７】
放電動作処理部５２ｂは、図１４の格納テーブルにおいて、各論理ブロック３００ａ〜３００ｄのフィールド「動作停止状態」の格納内容をステップＳ３３２において決定した動作停止状態（動作状態、電源遮断停止状態）に更新する（ステップＳ３３４）。そして、制御部５０ｂは図１６の処理に戻る。
（充電動作ブロック制御処理）
図１６の充電動作ブロック制御処理（ステップＳ３０３）について図１８及び図１９を参照しつつ説明する。図１８及び図１９は図１６の充電動作ブロック制御処理（ステップＳ３０３）の手順を示すフローチャートである。
【００８８】
充電動作処理部５３ｂは、図１４の格納テーブルにおいて、各論理ブロック３００ａ〜３００ｄの劣化度の算出及び更新を行い、劣化度保持部３２０が計測しているクロック数を“０”にリセットする（ステップＳ３５１）。
充電動作処理部５３ｂは、論理ブロック３００ａ〜３００ｄの更新後の劣化度のうち最大の劣化度を特定し、特定した最大の劣化度に対して予め定められた第１係数、第２係数及び第３係数を乗算することによって第１閾値、第２閾値及び第３閾値を算出する（ステップＳ３５２）。なお、第１係数、第２係数及び第３係数は０以上１以下の値である。そして、第１係数の値が最も大きく、第２係数の値が２番目に大きく、第３係数の値が最も小さい。
【００８９】
充電動作処理部５３ｂは、半導体集積回路１ｂがこれから行う処理（対象の処理）を実行する上で動作が必要な論理ブロックを動作させる論理ブロック（動作状態にする論理ブロック）に決定する（ステップＳ３５３）。なお、ステップＳ３５３において、動作させる論理ブロックに決定された論理ブロックを「動作ブロック」と言う。
充電動作処理部５３ｂは、動作ブロック以外の論理ブロックの全てをステップＳ３５５〜ステップＳ３６２の処理対象にしたかを判定する（ステップＳ３５４）。
【００９０】
充電動作処理部５３ｂは、動作ブロック以外の全てを処理対象にしていないと判定すると（Ｓ３５４：ＮＯ）、処理対象にしていない論理ブロックの１つに注目する（ステップＳ３５５）。そして、充電動作処理部５３ｂは、注目している論理ブロックの劣化度が第１閾値以上であるか否かを判定する（ステップＳ３５６）。
充電動作処理部５３ｂは、注目している論理ブロックの劣化度が第１閾値以上であると判定すると（Ｓ３５６：ＹＥＳ）、注目している論理ブロックを最も劣化が進みにくい電源遮断停止状態にする論理ブロックに決定し（ステップＳ３５７）、ステップＳ３５４の処理へ移行する。一方、充電動作処理部５３ｂは、注目している論理ブロックの劣化度が第１閾値以上でないと判定すると（Ｓ３５６：ＮＯ）、注目している論理ブロックの劣化度が第２閾値以上であるか否かを判定する（ステップＳ３５８）。
【００９１】
充電動作処理部５３ｂは、注目している論理ブロックの劣化度が第２閾値以上であると判定すると（Ｓ３５８：ＹＥＳ）、注目している論理ブロックを２番目に劣化が進みにくいローレベル固定停止状態にする論理ブロックに決定し（ステップＳ３５９）、ステップＳ３５４の処理へ移行する。一方、充電動作処理部５３ｂは、注目している論理ブロックの劣化度が第２閾値以上でないと判定すると（Ｓ３５８：ＮＯ）、注目している論理ブロックの劣化度が第３閾値以上であるか否かを判定する（ステップＳ３６０）。
【００９２】
充電動作処理部５３ｂは、注目している論理ブロックの劣化度が第３閾値以上であると判定すると（Ｓ３６０：ＹＥＳ）、注目している論理ブロックを３番目に劣化が進みにくい動作状態にする論理ブロックに決定し（ステップＳ３６１）、ステップＳ３５４の処理へ移行する。一方、充電動作処理部５３ｂは、注目している論理ブロックの劣化度が第３閾値以上でないと判定すると（Ｓ３６０：ＮＯ）、注目している論理ブロックを最も劣化が進みやすいハイレベル固定停止状態にする論理ブロックに決定し（ステップＳ３６２）、ステップＳ３５４の処理へ移行する。
【００９３】
充電動作処理部５３ｂによって動作ブロック以外の論理ブロックの全てを処理対象にしたと判定されると（Ｓ３５４：ＹＥＳ）、状態制御部５４ｂは、各論理ブロック３００ａ〜３００ｄがステップＳ３５３からステップＳ３６２の処理によって決定された動作停止状態（動作状態、電源遮断停止状態、ローレベル固定状態、ハイレベル固定停止状態）になるように、状態制御線８１ａ〜８３ａの各制御信号の信号レベルを制御する（ステップＳ３６３）。これによって、各論理ブロック３００ａ〜３００ｄは、ステップＳ３５３からステップＳ３６２の処理によって決定された動作停止状態になる。
【００９４】
充電動作処理部５３ｂは、図１４の格納テーブルにおいて、各論理ブロック３００ａ〜３００ｄのフィールド「動作停止状態」の格納内容をステップＳ３５３からステップＳ３６２の処理によって決定された動作停止状態（動作状態、電源遮断停止状態、ローレベル固定停止状態、ハイレベル固定停止状態）に更新する（ステップＳ３６４）。そして、制御部５０ｂは図１６の処理に戻る。
【００９５】
上述した本実施の形態の半導体集積回路１ｂによれば、第１及び第２の実施の形態の半導体集積回路１，１ａよる論理ブロックの劣化度の調整より精度の高い調整が期待できる。
≪第４の実施の形態≫
以下、第４の実施の形態について図面を参照しつつ説明する。
【００９６】
本実施の形態は、第１の実施の形態で説明した半導体集積回路１を携帯電話機に搭載するものである。
本実施の形態の携帯電話機４００は、図２０（ａ）に示すように、商用電源から電力供給を受けることなく自機に取り付けられた蓄電池のみから電力供給を受けて動作する場合、動作時間の観点から低消費電力の動作を行うことが好ましい。なお、この場合、携帯電話機４００に取り付けられた蓄電池（上記の電源手段に対応）の動作は放電動作である。
【００９７】
また、携帯電話機４００は、図２０（ｂ）に示すように、コンセント４２０に接続された充電スタンド４１０に取り付けられて商用電源から電力供給を受けながら或いは直接コンセント４２０に接続されて商用電源から電力供給を受けながら動作する場合、動作時間の観点からは特に低消費電力の動作を行う必要なない。なお、この場合、携帯電話機４００に取り付けられた蓄電池の動作は充電動作である。
【００９８】
＜構成＞
図２０の携帯電話機４００は、図２１に示すように、ＣＰＵ（Central Processing Unit）４０１と、アンテナ４０２と、通信部４０３と、表示部４０４と、操作部４０５と、記憶部４０６と、音声処理部４０７と、マイク４０７ａと、スピーカ４０７ｂとを備え、携帯電話機４００には蓄電池４０８が取り付けられている。
【００９９】
ＣＰＵ４０１は、携帯電話機４００の全体の制御を行うものであって、第１の実施の形態で説明した半導体集積回路１を備える。但し、電源動作検出部６０は、携帯電話機４００が充電スタンド４１０に取り付けられ或いはコンセント４２０に直接接続されている場合に、蓄電池４０８の動作が充電動作であると検出し、それ以外の場合に蓄電池４０８の動作が放電動作であると検出する。なお、半導体集積回路１の構成及び動作は第１の実施の形態において説明した通りである。
【０１００】
通信部４０３は、音声通信及びデータ通信用の通信部であって、アンテナ４０２を介して他の機器と信号の送受信を行う。通信部４０３は、アンテナ４０２で受信された受信信号をＣＰＵ４０１へ出力し、ＣＰＵ４０１から入力される送信信号をアンテナ４０２から送信する。
表示部４０４は、液晶ディスプレイなどにより構成されており、ＣＰＵ４０１から入力される表示データの表示を行う。操作部４０５は、各種キーから構成されており、押下されたキーの押下信号をＣＰＵ４０１へ出力する。記憶部４０６には、携帯電話機４００を制御するための各種制御プログラムや各種アプリケーションソフトが格納されている。
【０１０１】
マイク４０７ａはマイク周辺の音を集めて音声処理部４０７へ出力し、音声処理部４０７はマイク４０７ｂから入力されるアナログ信号をデジタル信号に変換してＣＰＵ４０１へ出力する。音声処理部４０７はＣＰＵ４０１から入力されるデジタル信号をアナログ信号に変換してスピーカ４０７ｂへ出力し、スピーカ４０７ｂは音声処理部４０７から入力されるアナログ信号を音に変換して出力する。
【０１０２】
携帯電話機４００は、電波状況に応じた通信動作、複数の通信方式の夫々に応じた通信動作、異なる規格でエンコードされたコンテンツを表示する表示動作など、半導体集積回路１が使用する論理ブロックの数が異なる複数の動作を行う。
例えば、携帯電話機４００は、４個の論理ブロックの動作が必要な第１の通信方式に応じた通信動作を行い、１個の論理ブロックの動作が必要な第２の通信方式に応じた通信動作を行う。この場合、携帯電話機４００が備える半導体集積回路１は、図８を参照して説明したように、論理ブロック１０ａ〜１０ｄの動作及び停止の制御を行う。
【０１０３】
≪補足≫
本発明は上記各実施の形態で説明した内容に限定されず、本発明の目的とそれに関連又は付随する目的を達成するためのいかなる形態においても実施可能であり、例えば、以下であってもよい。
（１）第１から第３の実施の形態の半導体集積回路１はプログラマブル論理回路としたが、これに限られるものではなく、例えば、複数の論理ブロックを有し、１以上の論理ブロックの単位で動作及び停止の制御が可能な半導体集積回路であってもよい。
【０１０４】
（２）第１から第３の実施の形態では、論理ブロック単位で動作及び停止の制御を行っているが、これに限られるものではなく、例えば、２以上の論理ブロックを単位として動作及び停止の制御を行うようにしてもよい。また、動作及び停止の制御を行うための単位とする論理ブロックの数が異なっていてもよく、当該数は１以上であってもよい。この場合、論理ブロックの停止などの動作状態の制御に必要な配線資源や論理資源を節約することができる。
【０１０５】
（３）第１から第３の実施の形態では、論理ブロック単位で動作及び停止の制御を行っているが、これに限られるものではなく、１以上の論理素子の単位で動作及び停止の制御を行うようにしてもよい。
（４）第１及び第３の実施の形態では、クロックゲート回路１２，３１０を論理ブロックの内部に設けた場合であるが、全ての論理ブロックにおいてクロックゲート回路を論理ブロックの外部に設けてもよく、一部の論理ブロックにおいてのみクロックゲート回路を論理ブロックの外部に設けてもよい。
【０１０６】
第２及び第３の実施の形態では、電源遮断回路２２０，２２０ｂを論理ブロックの内部に設けた場合であるが、全ての論理ブロックにおいて電源遮断回路を論理ブロックの外部に設けてもよく、一部の論理ブロックにおいてのみ電源遮断回路を論理ブロックの外部に設けてもよい。
（５）第１から第３の実施の形態では、制御部５０，５０ｂを論理ブロックとは別に設けているが、論理ブロックの何れかを制御部に利用するようにしてもよく、論理ブロックのある領域を制御部に利用するようにしてもよい。なお、制御部に利用する論理ブロックは動作を停止しないようにすればよく、また、制御部に利用する論理ブロックのある領域を動作を停止しないようにすれば良い。この場合、制御に適した論理粒度の論理ブロックを制御部に用いれば、半導体集積回路の小型化や低消費電力化を実現することができる。
【０１０７】
また、論理ブロックを備える半導体集積回路とは別の半導体集積回路に制御部５０，５０ｂを搭載するようにしてもよい。
（６）第１から第３の実施の形態では、論理ブロックを４個としているが、論理ブロックの数は４個に限られるものではない。
（７）第１の実施の形態の半導体集積回路では、論理素子１１の動作を停止させるために、ハイレベルに固定されたクロック信号を論理素子１１の制御端子に入力されるようにしているが、これに限られるものではなく、ローレベルに固定されたクロック信号を論理素子の制御端子に供給することによって当該論理素子の動作を停止させるようにしてもよい。
【０１０８】
（８）第１の実施の形態では、クロックゲート回路１２としてＮＡＮＤ回路を用いているが、これに限られるものではなく、例えばＮＯＲ回路を用いてもよく、クロックゲート回路の構成は特に決まった構成にしなければならないと言うものではない。
同様に、第３の実施の形態では、クロックゲート回路３１０として図１２に示す回路構成のクロックゲート回路を用いているが、クロックゲート回路３１０の回路構成は図１２に示すものに限られるものではない。
【０１０９】
（９）第２及び第３の実施の形態の電源遮断回路２２０，２２０ｂでは、電源とモジュール２６０との間及びモジュール２６０とグランド板との間の双方にスイッチ手段を設けているが、これに限られるものではなく、例えば、電源とモジュール２６０との間のみスイッチ手段を設けてもよく、また、モジュール２６０とグランド板との間のみスイッチ手段を設けてもよい。
【０１１０】
また、電源遮断回路２２０，２２０ｂを構成するスイッチ手段として、ＮＭＯＳトランジスタ及びＰＭＯＳトランジスタを使用する必要は必ずしもなく、別のスイッチ手段を用いてもよい。なお、用いるスイッチ手段はリーク電流の少ないスイッチ手段であることが好ましい。
（１０）第１から第３の実施の形態において、半導体集積回路１，１ａ，１ｂが対象の処理を実行する上で動作させる必要がある論理ブロック以外の論理ブロックのうち動作させる論理ブロックに関して、クロック信号に関連する部分のみ動作させるようにしてもよい。
【０１１１】
（１１）第３の実施の形態では、電源手段が充電動作している場合に、制御部５０ｂは、動作ブロック（半導体集積回路１ｂが対象の処理を実行する上で動作させることが必要な論理ブロック）以外の論理ブロックの動作停止状態を、ローレベル固定停止状態、動作状態、ハイレベル固定停止状態及び電源遮断停止状態の何れかになるように制御しているが、これに限られるものではない。例えば、電源手段が充電動作している場合に、制御部は、動作ブロック以外の論理ブロックの動作停止状態を、上記の任意の３つの動作停止状態の何れかになるように制御してもよく、上記の任意の２つの動作停止状態の何れかになるように制御してもよい。
【０１１２】
（１２）第３の実施の形態では、電源手段が放電動作している場合に、制御部５０ｂは、動作ブロック（半導体集積回路１ｂが対象の処理を実行する上で動作させることが必要な論理ブロック）以外の論理ブロックの動作停止状態を電源遮断停止状態になるように制御しているが、これに限られるものではない。制御部は、動作ブロック以外の論理ブロックの動作停止状態をローレベル固定停止状態になるように制御してもよく、ハイレベル固定停止状態になるように制御してもよい。
【０１１３】
（１３）第１から第３の実施の形態では、電源手段が放電動作を行っているか、充電動作を行っているかによって論理ブロックの動作及び停止の制御の内容を切り替えるようにしているが、これに限られるものではなく、例えば、次のようなものであってもよい。
例えば、電源手段がリフレッシュに関係しない放電動作を行っているか、リフレッシュのための放電動作を行っているかによって論理ブロックの動作及び停止の制御の内容を切り替えるようにしてもよい。この場合、リフレッシュに関係しない放電動作では、図６或いは図１７のフローチャートと実質的に同じ処理を行い、リフレッシュのための放電動作では、図７或いは図１８及び図１９のフローチャートと実質的に同じ処理を行うようにすればよい。
【０１１４】
又は、電源手段がリフレッシュに関係しない放電動作を行っているか、リフレッシュのための放電動作を行っているか、充電動作を行っているかによって論理ブロックの動作及び停止の制御の内容を切り替えるようにしてもよい。この場合、リフレッシュに関係しない放電動作では、図６或いは図１７のフローチャートと実質的に同じ処理を行い、リフレッシュのための放電動作及び充電動作では、図７或いは図１８及び図１９のフローチャートと実質的に同じ処理を行うようにすればよい。
【０１１５】
（１４）第１から第３の実施の形態では、電力消費量の抑制が不要な電源手段の動作は充電動作としているが、これに限られるものではなく、電力消費量の抑制が不要な電源手段の動作として、例えば、リフレッシュのための放電動作を挙げることができる。
（１５）第１及び第２の実施の形態では、制御部５０は最小の停止率に予め定められた値を加算して得られた加算値を動作閾値としているが、これに限られるものではなく、例えば次のようなものであってもよい。制御部は最小の停止率に予め定められた係数を乗算して得られた値を動作閾値としてもよい。また、制御部は、最大のクロック遅延量に対する最小のデータ遅延量の率より停止率の差に起因する遅延劣化率の差が小さくなるように定められた値を最小の停止率に加算して得られた加算値を動作閾値としてもよい。
【０１１６】
（１６）第１及び第２の実施の形態では、電源手段が充電動作している場合に、制御部５０は動作ブロック（半導体集積回路１，１ａがこれから行う処理を実行する上で動作させることが必要な論理ブロック）以外の論理ブロックの動作停止状態を決定するために各論理ブロックの停止率を用いているが、これに限られるものではなく、例えば、次のようなものであってもよい。
【０１１７】
制御部は動作ブロック以外の論理ブロックの動作停止状態を決定するために停止時間そのものを用いるようにしてもよい。なお、論理ブロックの停止時間は半導体集積回路全体の動作クロック数から当該論理ブロックの動作クロック数を減算することによって得られた減算値にクロック信号ＣＬＫの周期を乗算することによって算出される。
制御部は動作ブロック以外の論理ブロックの動作停止状態を決定するために各論理ブロックの動作率を用いるようにしてもよく、動作時間そのものを用いるようにしてもよい。動作率又は動作時間を用いる場合には、例えば、制御部は動作率又は動作時間が最大の動作率又は最大の動作時間より所定の方法によって定められる値より小さい論理ブロックのみ動作させる論理ブロックに決定するようにすればよい。なお、論理ブロックの動作率は当該論理ブロックの動作クロック数を半導体集積回路全体の動作クロック数で除算することによって算出される。また、論理ブロックの動作時間は当該論理ブロックの動作クロック数にクロック信号ＣＬＫの周期を乗算することによって算出される。
【０１１８】
また、制御部は動作ブロック以外の論理ブロックの動作停止状態を決定するために各論理ブロックの動作回数を用いるようにしてもよく、停止回数を用いるようにしてもよい。この場合には、動作量保持部の回路規模を小さくすることができる。
更に、論理ブロック１０ａ〜１０ｄ毎に、時間を変数とするその遅延変動量を表す関数Ｆを用意する。制御部は、Ｆ（Ｔｓｔｏｐ）／Ｆ（Ｔａｌｌ）を算出し、各論理ブロック１０ａ〜１０ｄのＦ（Ｔｓｔｏｐ）／Ｆ（Ｔａｌｌ）が近づくように各論理ブロック１０ａ〜１０ｄの動作及び停止の制御を行うようにしてもよい。なお、Ｔｓｔｏｐは、対応する論理ブロックが停止している時間、Ｔａｌｌは半導体集積回路が動作している時間である。
【０１１９】
また、遅延変動量を表す関数Ｆをクロックゲート回路１２，３１０以降の構成も考慮して定めるようにすれば、クロックスキューをより小さくなるように制御することができる。
（１７）第１〜第３の実施の形態では、制御部５０，５０ｂが論理ブロックの状態を制御するために専用の状態制御線を用いているが、これに限られるものではない。例えば、制御部は、半導体集積回路１，１ａ、１ｂの構成の制御用の構成制御線を用いて、各論理ブロックの動作停止状態を決定した動作停止状態になるような構成情報に基づく内部論理とすることで、各論理ブロックの動作停止状態を制御するようにしてもよい。
【０１２０】
（１８）第１から第３の実施の形態では、半導体集積回路１，１ａ，１ｂの構成が切り替わるタイミングでのみ論理ブロックを制御する状態の決定を行うようにしているが、これに限られるものではなく、例えば、論理ブロックを制御する状態の決定を所定時間周期で行うようにしてもよく、また、予め決定しておくようにしてもよい。
（１９）第３の実施の形態では、ハイレベル固定停止状態、動作状態、ローレベル固定停止状態、電源遮断停止状態の順番で劣化が進みやすいものと仮定しているが、これに限られるものではなく、実際の製品において論理ブロック毎に劣化が進みやすい順番を決定するようにしてもよい。
【０１２１】
（２０）第３の実施の形態では、制御部５０ｂは各論理ブロックの劣化度を劣化特性を時間軸方向に平行に移動するなどして算出しているが、これに限られるものではない。例えば、動作状態、ローレベル固定停止状態、ハイレベル固定停止状態及び電源遮断停止状態の夫々の劣化特性に対応する関数を用意しておき、制御部は関数を利用して各論理ブロックの劣化度を算出するようにしてもよい。
【０１２２】
（２１）第１及び第２の実施の形態の制御部５０は、ステップＳ１３２又はＳ１５４において、半導体集積回路１，１ａがこれから行う処理を実行する上で必要な論理ブロックの数を決定し、停止率が大きい順番に決定した数分の論理ブロックを動作させる論理ブロックに決定するようにしてもよい。
また、第３の実施の形態の制御部５０ｂは、ステップＳ３３２又はＳ３５３において、半導体集積回路１，１ａがこれから行う処理を実行する上で必要な論理ブロックの数を決定し、劣化度に基づいて決定した数分の論理ブロックを動作させる論理ブロックに決定するようにしてもよい。
【０１２３】
（２２）第４の実施の形態の携帯電話機４００は第１の実施の形態の半導体集積回路１を搭載するものとしたが、これに限られるものではなく、第２又は第３の実施の形態の半導体集積回路１ａ，１ｂを搭載するようにしてもよく、半導体集積回路１，１ａ、１ｂを変形した半導体集積回路を搭載するようにしてもよい。
（２３）第４の実施の形態では、半導体集積回路を搭載する対象として、携帯電話機を例に挙げて説明したが、これに限られるものではなく、半導体集積回路を搭載する対象は、例えば、ＰＤＡ（PersonalDigital Assistant）などの携帯端末であってもよい。また、半導体集積回路を搭載する対象は、テレビ、ＤＶＤプレイヤー及びカーナビゲーションシステムなどの映像表示装置であってもよく、ＤＶＤレコーダ、ビデオカメラ、デジタルスチールカメラ、セキュリティカメラなどの映像記録装置であってもよい。更に、半導体集積回路を搭載する対象は、通信装置内の通信システムであってもよく、セキュリティ処理システムであってもよい。
【０１２４】
（２４）第１から第３の実施の形態の半導体集積回路１，１ａ，１ｂは、典型的には集積回路であるＬＳＩ(Large Scale Integration)として実現されてよい。各回路を個別に１チップとしてもよいし、全ての回路又は一部の回路を含むように１チップ化されてもよい。
ここでは、ＬＳＩとして記載したが、集積度の違いにより、ＩＣ(Integrated Circuit)、システムＬＳＩ、スーパＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【産業上の利用可能性】
【０１２５】
本発明は、半導体集積回路が備える論理ブロックの動作制御に利用することができる。
【図面の簡単な説明】
【０１２６】
【図１】第１の実施の形態に係る半導体集積回路の全体の構成図。
【図２】図１の動作量保持部の保持内容の一例を示す図。
【図３】図１の論理ブロックの構成図。
【図４】図１の制御部の構成図。
【図５】図１の半導体集積回路が行う論理ブロック制御処理の手順を示すフローチャート。
【図６】図５の放電動作ブロック制御処理の手順を示すフローチャート。
【図７】図５の充電動作ブロック制御処理の手順を示すフローチャート。
【図８】図１の半導体集積回路が行う論理ブロックの制御処理の具体例を説明するための図。
【図９】第２の実施の形態に係る半導体集積回路の構成図。
【図１０】図９の電源遮断回路の構成図。
【図１１】第３の実施の形態の半導体集積回路の構成図。
【図１２】図１１のクロックゲート回路の構成図。
【図１３】図１１の論理ブロックの各状態における劣化特性の概要を示す図。
【図１４】図１１の劣化度保持部の保持内容の一例を示す図。
【図１５】図１１の放電動作処理部及び充電動作処理部が行う論理ブロックの劣化度の算出方法を説明するための図。
【図１６】図１１の半導体集積回路が行う論理ブロック制御処理の手順を示すフローチャート。
【図１７】図１６の放電動作ブロック制御処理の手順を示すフローチャート。
【図１８】図１６の充電動作ブロック制御処理の手順を示すフローチャート。
【図１９】図１６の充電動作ブロック制御処理の手順を示すフローチャート。
【図２０】第４の実施の形態の携帯電話機の動作を説明するための斜視図。
【図２１】図２０の携帯電話機の構成図。
【符号の説明】
【０１２７】
１  半導体集積回路
１０ａ〜１０ｄ  論理ブロック
１１  論理素子
１２  クロックゲート回路
１３ａ，１３ｂ  インバータ回路
５０  制御部
５１  電源動作判定部
５２  放電動作処理部
５３  充電動作処理部
５４  状態制御部
６０  電源動作検出部
７０  動作量保持部
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2008132809.tif 000024
【図２】
2008132809.tif 000025
【図３】
2008132809.tif 000026
【図４】
2008132809.tif 000027
【図５】
2008132809.tif 000028
【図６】
2008132809.tif 000029
【図７】
2008132809.tif 000030
【図８】
2008132809.tif 000031
【図９】
2008132809.tif 000032
【図１０】
2008132809.tif 000033
【図１１】
2008132809.tif 000034
【図１２】
2008132809.tif 000035
【図１３】
2008132809.tif 000036
【図１４】
2008132809.tif 000037
【図１５】
2008132809.tif 000038
【図１６】
2008132809.tif 000039
【図１７】
2008132809.tif 000040
【図１８】
2008132809.tif 000041
【図１９】
2008132809.tif 000042
【図２０】
2008132809.tif 000043
【図２１】
2008132809.tif 000044
【国際調査報告】
2008132809.tif 000045
2008132809.tif 000046