(57)【要約】（課題）  本発明の目的は、内部回路に対して、動作周波数又は動作電圧の変更を行う機能と、電源の供給の切断及び分離を行う機能とを有し、ＤＶＦＳ手法及びＰＧ手法の内、どちらか有利となる消費電流削減手法を実施することを特徴とする半導体集積回路装置を提供することにある。（解決手段）  上記の課題を解決するため、本発明は、素子特性検出回路と、素子特性に対応して、内部回路が行うべきタスクの実行中に、パワーゲーティング動作を行った場合の消費エネルギー及び電圧及び周波数を減少させた動作を行った場合の消費エネルギーを算出する算出回路と、消費エネルギーが小さい動作を内部回路に対して行う回路を活性化する切り替え回路と、を備えることを特徴とする半導体集積回路装置を提供する。 【選択図】  図１
2009078081.tif 000002
【特許請求の範囲】
【請求項１】
内部回路と
前記内部回路の素子特性を検出する検出回路と、
上記の素子特性に対応して、前記内部回路が行うべきタスクに対して、パワーゲーティング動作を行った場合の第１消費エネルギーと、電圧及び周波数を減少させた動作を行った場合の第２消費エネルギーとを算出する算出回路と、
前記第１消費エネルギーが前記第２消費エネルギーより小さいときは、前記パワーゲーティング動作を前記内部回路に対して行い、前記第２消費エネルギーが前記第１消費エネルギーより小さいときは、前記電圧及び周波数を減少させた動作を前記内部回路に対して行う切り替え回路と、を備えることを特徴とする半導体集積回路。（図１）
【請求項２】
前記切り替え回路は前記内部回路の動作が終了すると、前記内部回路と第１電源との間を分離するスイッチを備えることを特徴とする請求項１記載の半導体集積回路。（図１）
【請求項３】
前記切り替え回路は、さらに、
前記内部回路の動作が終了すると、第１制御信号を出力し、予め決められた期間の経過後、第２制御信号を出力する制御回路と、
前記第１制御信号及び前記第２制御信号に応じて、論理が切り換わる第３制御信号を、前記スイッチに出力するスイッチ切り替え回路と、を備えることを特徴とする請求項２記載の半導体集積回路。（図１）
【請求項４】
前記切り替え回路は、第２電源の電源電圧を減少させる電源制御回路と、
前記内部回路へ供給されるクロック信号の周波数を減少されるクロック発生回路と、を備えることを特徴とする請求項１又は２記載の半導体集積回路。（図１）
【請求項５】
前記検出回路は前記内部回路の温度条件に起因する前記素子特性を検出するものであることを特徴とする請求項１から４までの内の一の請求項に記載された半導体集積回路。（図１）
【請求項６】
前記検出回路は前記内部回路の製造条件に起因する前記素子特性を検出するものであることを特徴とする請求項１から４までの内の一の請求項に記載された半導体集積回路。（図１１）
【請求項７】
前記検出回路は前記内部回路の製造条件及び温度条件に起因する前記素子特性を検出するものである事を特徴とする請求項１から４までの内の一の請求項に記載された半導体集積回路。（図１３）
【請求項８】
前記検出回路が検出する前記素子特性は、奇数個のインバータから構成されたリングオシレータの発振周波数であることを特徴とする請求項１から請求項７までの内の一の請求項に記載された半導体集積回路。（図１、図２、図１１、図１３）
【請求項９】
前記算出回路は、前記発振周波数と、前記インバータを構成するＭＯＳトランジスタの電流リーク量との関係を記憶し、前記電流リーク量に基づき、前記第１消費エネルギー及び前記第２消費エネルギーを算出することを特徴とする請求項７記載の半導体集積回路。（図１、図２、図３、図５、図６、図１２、図１４）
【請求項１０】
前記検出回路が検出する前記素子特性は、前記内部回路の電流リーク特性であることを特徴とする請求項１記載の半導体集積回路。（図１５）
【請求項１１】
前記検出回路は、
一方の端が低電位電源と接続する容量と、
前記容量の他方の端にドレイン端子が接続し、高電位電源にソース端子が接続し、第１信号を受けるゲート端子を有するＰ型ＭＯＳトランジスタと、
前記容量の他方の端にドレイン端子が接続し、前記低電位電源にソース端子及びゲート端子が接続するＮ型ＭＯＳトランジスタと、
クロック信号を受け、前記第１信号を受けた後、クロックのカウントを開始し、前記容量の電圧が予め決められた電圧に達したときに、前記クロックのカウントを終了するクロックカウンタと、を備えることを特徴とする請求項１から請求項９までの内の一の請求項に記載の半導体集積回路。（図１５、１６）
【請求項１２】
前記算出回路は、
前記クロックカウンタのカウント数にお基づいて、前記Ｎ型ＭＯＳトランジスタの電流リーク量を算出し、前記電流リーク量に基づき、前記第１消費エネルギー及び前記第２消費エネルギーを算出することを特徴とする請求項１１記載の半導体集積回路。（図１５、１６）
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路に関し、特に、消費電力を低減するように内部回路の動作状態を調整する回路機能を有する半導体集積回路に関する。
【背景技術】
【０００２】
半導体素子の微細化に伴い、ＭＯＳトランジスタのソース・ドレイン間の距離が縮小され、ソース・ドレイン間のリーク電流が増大している。そのリーク電流は、ＭＯＳトランジスタの動作温度の上昇とともに、さらに、指数関数的に増大する。また、上記の漏れ電流は、ＭＯＳトランジスタの製造バラツキにより、閾値が低くなることによっても増大する。そのため、ＭＯＳトランジタから構成された半導体集積回路では、上記のリーク電流の増大により、消費電力が増大している。【０００３】
そこで、マイクロプロセッサなどでは、処理負荷に応じて、内部回路の電源電圧又は動作クロックの周波数を切り替える回路機能を有し、消費電力を低減するＤＶＦＳ（Dynamic Voltage and Frequency Scaling）手法が採用されている。【０００４】
また、携帯機器などでは、内部回路がスタンバイ状態のときに、その内部回路への電源供給を切断し、消費電力を削減するＰＧ（Power Gating）手法が採用されている。【０００５】
ＤＶＦＳ手法によれば、ＷＣＥＴ（Worst Case Execution Time）が長いタスクに対して、動作周波数又は動作電圧の調整により、回路の動作期間を合致させて、単位時間あたりの動作電流及び漏れ電流の双方を低減することができる。例えば、特許文献１には、要求性能に応じて、クロック制御回路、電源電圧制御回路を制御可能し、低電力化を実現している半導体集積回路装置が記載されている。【０００６】
一方、ＰＧ手法によれば、回路動作時の動作電流及び漏れ電流は削減できないが、ＷＣＥＴ中における回路の非動作期間の漏れ電流は削減可能である。【０００７】
上記のように、消費電流の削減において、半導体集積回路装置内の回路動作と回路動作に関するＷＣＥＴとの状況により、ＤＶＦＳ手法又はＰＧ手法のどちらか一方を用いられてきた。しかし、同一半導体集積回路装置内で、ＤＶＦＳ手法及びＰＧ手法の内、どちらが有利となるかは、半導体集積回路装置の動作温度条件、製造条件により異なる場合がある。
【特許文献１】特開２００１−３４５６９３号公報
【発明の開示】
【０００８】
(発明が解決しようとする課題)
本発明の目的は、内部回路に対して、動作周波数又は動作電圧の変更を行う機能と、電源の供給の切断及び分離を行う機能とを有し、ＤＶＦＳ手法及びＰＧ手法の内、どちらか有利となる消費電流削減手法を実施することを特徴とする半導体集積回路装置を提供することにある。
(課題を解決するための手段)
上記の課題を解決するため、本発明は、素子特性を検出する検出回路と、上記の素子特性に対応して、内部回路が行うべきタスクに対して、タスクを実行中に、パワーゲーティング動作を行った場合の第１消費エネルギー、及び、電圧及び周波数を減少させた動作を行った場合の第２消費エネルギーを算出する算出回路と、第１消費エネルギーが前記第２消費エネルギーより小さいときは、パワーゲーティング動作を内部回路に対して行う第１回路を活性化し、前記第２消費エネルギーが第１消費エネルギーより小さいときは、電圧及び周波数を減少させた動作を内部回路に対して行う第２回路を活性化する、切り替え回路と、を備えることを特徴とする半導体集積回路装置を提供する。
(発明の効果)
半導体集積回路装置内で、ＤＶＦＳ手法及びＰＧ手法の内、どちらが内部回路の消費エネルギーの削減となるかを、半導体集積回路装置の素子特性により判断し、削減効果が大きい手法を実現する回路を選択し、動作させる半導体集積回路装置を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は実施例１の半導体集積回路１００及び電源７０を示す。
【図２】図２は温度センサ４０を示す。
【図３】図３は７ビットの発振周波数コード［７：０］を入力として、３ビットのプロセス寸法ばらつきコード［２：０］及び３ビットの温度コード［２：０］を出力する場合の変換表を示す。
【図４】図４は消費エネルギー算出回路１３ａ及び切り替え回路１２により、各タスクにおいて、ＶＤＳＦ手法又はパワーゲーティング手法の内の一つの手法を選択し、上記の手法の内の一つを実行するための、フローチャート３００を示す。
【図５】図５はＰＧ手法又はＤＶＦＳ手法を実行したときの消費エネルギーを計算するための、各タスクに対する電源電圧、動作周波数、活性化率、ＷＣＥＴに関する表を示す。
【図６】図６はＰＧ手法又はＤＶＦＳ手法を実行したときの消費エネルギーを計算するための、温度に対する回路のＩｌｅａｋ（リーク電流）に関する表を示す。
【図７】図７は温度又は製造ばらつきに対するリーク電流の状態が示されているグラフを示す。
【図８】図８は回路が通常動作をする場合、ＤＶＦＳ手法が適用されて動作する場合、ＰＧ手法が適用されて動作する場合において、あるタスクに対する消費電流の時間依存を表した図表を示す。
【図９】図９は回路が通常動作をする場合、ＤＶＦＳ手法が適用されて動作する場合、ＰＧ手法が適用されて動作する場合において、第１タスク及び第２タスクを連続して行う場合の消費電流の時間依存を表した図表を示す。
【図１０】図１０は温度と消費エネルギーとの関係を表したグラフを示す。
【図１１】図１１は実施例２の半導体集積回路５００及び電源７０を示す。
【図１２】図１２はＰＧ手法又はＤＶＦＳ手法を実行したときの消費エネルギーを計算するための、プロセス寸法ばらつきコードに対する回路のＩｌｅａｋ（リーク電流）に関する表を示す。
【図１３】図１３は実施例３の半導体集積回路６００及び電源７０を示す。
【図１４】図１４はＰＧ手法又はＤＶＦＳ手法を実行したときの消費エネルギーを計算するための、温度コード及びプロセス寸法ばらつきコードに対する回路のＩｌｅａｋ（リーク電流）に関する表を示す。
【図１５】図１５は実施例４の半導体集積回路７００及び電源７０を示す。
【図１６】図１６は電流リークセンサ７１０の回路構成及び電流リークセンサ７１０の動作波形を示す。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施例１、実施例２、実施例３、及び、実施例４について説明する。ただし、本発明は上記の実施例に限定されるものではない。
(実施例１)
実施例１の半導体集積回路１００は、温度を測定する回路と、上記の温度を用いて、内部回路が行うべきタスクに対して、前記タスクを実行中に、ＰＧ手法を用いた場合の第１消費エネルギー及びＤＶＦＳ手法を用いた場合の第２消費エネルギーを算出する回路と、前記第１消費エネルギーが前記第２消費エネルギーより小さいときは、ＰＧ手法を実現する回路を活性化し、前記第２消費エネルギーが前記第１消費エネルギーより小さいときは、ＤＶＦＳ手法を実現する回路を活性化する切り替え回路と、を備えることを特徴とする半導体集積回路装置である。【００１１】
図１に、実施例１の半導体集積回路１００及び電源７０を示す。半導体集積回路１００は、ＣＰＵ１０、パワーゲーティングコントロール回路２０、パワーゲーティングスイッチ３０、温度センサ４０、電源電圧制御回路５０、クロックコントロール回路６０、外部クロック信号端子８０、及び、電源端子３１から構成されている。【００１２】
半導体集積回路１００は、電源７０より、電源電圧制御回路５０からの電源電圧変更指示信号５１に応じた電源電圧の供給を受けて動作する集積回路である。なお、電源電圧変更指示信号５１は、例えば、コード信号である。また、電源電圧の供給は外部電源線Ｖｄｄ７１を介して行われる。【００１３】
電源電圧制御回路５０は切り替え回路１２からの電源電圧変更指示信号５２を受けて、電源７０への電源電圧変更指示信号５１を発生する回路である。電源電圧変更指示信号５２はコード信号であり、電源電圧変更指示信号５１もコード信号であることから、電源電圧制御回路５０を、例えば、通常のコード変換回路で構成することができる。【００１４】
クロックコントロール回路６０は、ＣＰＵ１０からのクロック周波数変更指示信号１６を受けて、外部クロック信号に基づいて発生するクロック信号６１の周波数を低下させるように変更する回路である。なお、外部クロック信号は、クロックコントロール回路６０に対して、外部クロック信号端子８０を介して入力される。【００１５】
温度センサ４０は、ＣＰＵ１０からの温度測定指示４３を受けて、温度測定結果４４を出力回路である。なお、温度センサ４０についての詳細は、図３を用いて、後述する。【００１６】
パワーゲーティングスイッチ３０は、外部電源線Ｖｄｄ７１及び電源端子３１を介して、一方の端に電源電圧が供給される。他方の端にはＣＰＵ１０の内部回路１１ａに接続している。その結果、パワーゲーティングスイッチ３０は、パワーゲーティングコントロール回路２０からの制御信号２１の論理に応じて、オン／オフし、その結果、電源端子３１と内部回路１１ａとを接続又は分離する機能をもつスイッチである。例えば、駆動能力が大きい、ＭＯＳトランジスタをパワーゲーティングスイッチ３０として採用可能である。【００１７】
パワーゲーティングコントロール回路２０は、ＣＰＵ１０のＰＭＵ（Power Managing Unit）１４からの指示信号１８を受けて、制御信号２１を発生する回路である。【００１８】
内部回路１１ａが複数、ＣＰＵ１０内に存在する場合は、各内部回路１１ａに対してパワーゲーティングスイッチ３０が存在し、パワーゲーティングコントロール回路２０も複数存在する。そうすると、指示信号２０は、例えば、コード信号である。また、パワーゲーティングコントロール回路２０は、例えば、指示信号２０を受けて、選択されたか否かを判断するデコード回路とそのデコード回路から発生された信号を増幅する増幅回路から構成されことができる。【００１９】
ＣＰＵ１０は内部回路１１ａ及びＰＭＵ１４から構成されている。内部回路１１ａは切り替え回路１２、消費エネルギー算出回路１３ａ、及び、記憶部１７ａを含む回路である。【００２０】
消費エネルギー算出回路１３ａは、温度センサ４０に対して、温度測定指示４３を出力し、温度測定結果４４を得る回路である。そして、消費エネルギー算出回路１３ａは、式（１）を用いて、ＰＧ手法を用いた場合に、内部回路１１ａが消費する消費エネルギーを算出する。また、消費エネルギー算出回路１３ａは、温度測定結果４４に基づいて、式（２）を用いて、ＤＶＦＳ手法を用いた場合に、内部回路１１ａが消費する消費エネルギーを算出する。そして、切り替え回路１２からの結果取得信号を受けたときに、式（１）を用いて算出した消費エネルギーが式（２）を用いて算出した消費エネルギーより大きい場合は、論理"Ｈ"の結果通知信号を出力し、その逆の場合には論理"Ｌ"の結果通知信号を出力する。【００２１】
式（１）
Ｅ＝Ｃ×Ａ×Ｖｄｄ１２×ｆ１×（ｆ２／ｆ１）×ＷＣＥＴ＋Ｉｌｅａｋ×Ｖｄｄ１×（ｆ２／ｆ１）×ＷＣＥＴ
式（２）
Ｅ＝Ｃ×Ａ×Ｖｄｄ２２×ｆ２×ＷＣＥＴ＋Ｉｌｅａｋ×Ｖｄｄ２×ＷＣＥＴ
なお、一般的に消費エネルギーは式（３）で表される。【００２２】
式（３）
Ｅ＝Ｐ×Ｔ＝Ｃ×Ａ×Ｖｄｄ２×ｆ×Ｔ＋Ｉｌｅａｋ×Ｖｄｄ×Ｔ
そこで、ＰＧ手法を用いる場合にはＴ＝（ｆ２／ｆ１）×ＷＣＥＴであり、ＤＶＦＳ手法を用いる場合にはＴ＝ＷＣＥＴなため、式（１）及び式（２）が導かれる。【００２３】
ここで、Cは内部回路１１ａの負荷容量である。Ａは、タスク毎に定められた活性化率である。Ｖｄｄ１及びｆ１は、あるタスクに対して、ＰＧ手法を用いて、内部回路を動作させるための動作電圧及び内部回路に与えられるクロックの周波数である。同様に、Ｖｄｄ２及びｆ２は、あるタスクに対して、ＤＶＦＳ手法を用いて、内部回路を動作させるための動作電圧及び内部回路に与えられるクロックの周波数である。【００２４】
また、ＷＣＥＴは、タスク毎に設定されている、最悪ケース実行時間である。Ｉｌｅａｋは、タスク毎に設定されている、ＣＰＵ１０の内部回路１１ａの漏れ電流である。さらに、Ｉｌｅａｋは、温度測定結果４４に対応して設定されている。【００２５】
そして、消費エネルギー算出回路１３ａは、消費エネルギー算出回路１３ａに含まれる記憶部１７ａに、上記の計算に必要な、後述する各タスクに対応するｆ１、Ｖｄｄ１、ｆ２、Ｖｄｄ２、ＷＣＥＴ、Ａの表、及び、温度コードに対応するｌｌｅａｋの表、を記憶している。また、消費エネルギー算出回路１３ａの記憶部１７ａは、図３において後述するコード変換表を記憶している。【００２６】
そして、消費エネルギー算出回路１３ａは、次のようにして、温度コードに対応するｌｌｅａｋを求める。【００２７】
まず、実施例１の半導体集積回路１００の動作試験を行う際に、温度を固定して温度センサ４０を動作させて得た、温度測定結果４４、すなわち、ＦＣＯＤＥから、消費エネルギー算出回路１３ａは、上記のコード変換表を使用してＰＣＯＤＥを求める。そして、その、消費エネルギー算出回路１３ａは、上記のＰＣＯＤＥを記憶部１７ａに記憶させる。【００２８】
そこで、通常の動作時には、消費エネルギー算出回路１３ａは、温度測定結果４４と、上記のＰＣＯＤＥに対応した変換表（後に、図３Ｂを用いて説明する、ＦＣＯＤＥとＴＣＯＤＥとの変換表）を用いて、温度コードを求める。その後、消費エネルギー算出回路１３ａは、上記の温度コードに対応するｌｌｅａｋの表を用いて、Ｉｌｅａｋを求める。【００２９】
切り替え回路１２は、結果取得信号を消費エネルギー算出回路１３ａに出力し、消費エネルギー算出回路１３ａからの結果通知信号を受けとる。そして、結果通知信号の論理が"Ｌ"の場合は、ＰＭＵ１４に対して、パワーゲーティング手法を内部回路１１ａに対して適用するように信号を出力し、電源電圧制御回路５０及びクロックコントロール回路６０に対しては、ＶＤＦＳ手法を適用しないように電源電圧変更指示信号５２及びクロック周波数変更指示信号１６を出力する。【００３０】
一方、結果通知信号の論理が"Ｈ"の場合は、ＰＭＵ１４に対して、パワーゲーティング手法を内部回路１１ａに対して適用しないように信号を出力し、電源電圧制御回路５０及びクロックコントロール回路６０に対しては、ＶＤＦＳ手法を適用するように電源電圧変更指示信号５２及びクロック周波数変更指示信号１６を出力する。【００３１】
ＰＭＵ回路１４は、切り替え回路１２からの信号を受け、その信号の論理に応じて、パワーゲーティングコントロール回路２０を制御する信号を出力する。その制御内容は、パワーゲーティングコントロール回路２０の説明において、後述する。【００３２】
ＰＭＵ回路１４は、復帰回路１５を含む。内部回路１１ａの電源供給がパワーゲーティング手法により切断された後、所定時間経過したのち、復帰回路１５は、内部回路１１ａへの電源供給を行うための信号を、パワーゲーティングコントロール回路２０に出力する。なお、上記の所定時間は、例えば、復帰回路１５内に通常のタイマー回路が含まれており、そのタイマー回路により計測される。また、上記の所定時間は、復帰回路１５が切り替え回路１２からの信号を受けることによって、タスク毎に設定されるものであってもよい。その場合は、切り替え回路１２からの信号はコード信号であり、復帰回路１５内には、そのコード信号に応じて計測時間がことなるタイマー回路を有する。【００３３】
パワーゲーティングコントロール回路２０は、ＰＭＵ回路１４からのパワーゲーティング指示信号１８、復帰信号１９受けて、パワーゲーティングスイッチ３０のオン／オフを制御する制御信号を出力する。具体的には、一方の入力をパワーゲーティング指示信号１８とし、他方の入力を復帰信号１９とし、出力を制御信号２１とする、ＲＳフリップフロップがパワーゲーティングコントロール回路２０には内蔵されている。【００３４】
そこで、切り替え回路１２からの信号により、ＰＭＵ回路１４は、これから行うタスクに対するＷＣＥＴが通知され、そのタスクに対してパワーゲーティングを行うことが通知される。また、タスクの開始後、内部回路の動作が終了するときに、ＰＭＵ回路１４は、通常、論理"Ｌ"状態から論理"Ｈ"となるパルスを、パワーゲーティング指示信号１８として出力する。その後、復帰回路１５が内蔵するタイマー回路により、所定の時間を計測したのち、復帰回路１５は、通常、論理"Ｌ"状態から論理"Ｈ"となるパルスを、復帰信号１９として出力する。なお、ＰＭＵ回路１４が、切り替え回路１２から、内部回路が動作を終了したことを示す動作終了信号を、受け取とることにより、内部回路の動作が終了するときが、ＰＭＵ回路１４に知らされることが望ましい。しかし、ＰＭＵ１４に対して、切り替え回路１２から、タスク毎に、送付される信号から、クロックをカウントし、所定のカウント値に達したときを、内部回路の動作が終了するときとしてもよい。【００３５】
そうすると、パワーゲーティング指示信号１８のパルスから、復帰信号１９のパルスまでの間は、制御信号２１は論理"Ｈ"になる。また、復帰信号１９のパルスから、次のパワーゲーティング指示信号１８のパルスまでの間は、制御信号２１は論理"L"になる。そして、制御信号２１の論理に応じて、パワーゲーティングスイッチ３０がオン／オフする。【００３６】
パワーゲーティングスイッチ３０は、一方の端子に電源端子３１に接続する電源線が接続し、他方の端子に内部電源線となる仮想Ｖｄｄ３１が接続し、制御信号２１の論理に応じて、電源端子３１に接続する電源線と仮想Ｖｄｄ３１とを接続・分離する。パワーゲーティングスイッチ３０は、例えば、駆動能力が大きいＭＯＳトランジスタにより構成することができる。具体的には、上記の制御信号２１の論理が、内部回路１１ａの動作終了時に、論理"Ｌ"となることから、N型ＭＯＳトランジスタが、パワーゲーティングスイッチ３０が望ましい。しかし、制御信号２１の反転信号を、パワーゲーティングスイッチ３０の制御に用いることとすれば、Ｐ型ＭＯＳトランジスタであってもよい。【００３７】
図２を用いて、温度センサ４０について説明する。図２Ａが示す温度センサ４０はリングオシレータ部４１及びクロックカウント部４２から構成されている。【００３８】
温度センサ４０を構成する回路において、ｒｏｓｃ＿ｅｎ、および、ｃｏｕｎｔ＿ｅｎは、消費エネルギー算出回路１３ａから与えられる信号である。ｒｏｓｃ＿ｅｎはクロック信号ｃｌｋのイネーブル信号である。また、ｃｏｕｎｔ＿ｅｎはカウント開始を指示する信号である。クロック信号ｃｌｋは、外部クロック信号８０であってもよいし、または、クロックコントロール回路６０からのクロック信号６１であってもよい。【００３９】
リングオシレータ部４１はフリップフロップ４１ａ、ＮＡＮＤ４１ｂ、インバータ４１ｃ、４１ｄ、４１ｅ、４１ｆ、フリップフロップ４１ｈ、インバータ４１ｉから構成されており、信号ｒｏｓｃ＿ｃｌｋを出力する。上記の構成要素の内、ＮＡＮＤ４１ｂとインバータ４１ｃ、４１ｄ、４１ｅ、４１ｆは、リングオシレータを構成し、フリップフロップ４１ｈとインバータ４１ｉは、１／２分周器を構成する。【００４０】
リングオシレータ部４１の素子にはＬｏｗ−Ｖｔｈトランジスタが使用され、Ｌｏｗ−Ｖｔｈトランジスタのプロセス寸法ばらつきが信号ｒｏｓｃ＿ｃｌｋの周波数に反映される。リングオシレータ部４１は、クロック信号ｃｌｋの複数サイクルのうち、信号ｒｏｓｃ＿ｅｎが論理"１"の期間、発振する。その発振周波数は、リングオシレータ部４１を構成する各素子の遅延時間により決定される。【００４１】
クロックカウント部４２は、フリップフロップ４２ａ、４２ｂ、４２ｃ、４２ｄ、４２ｇ、４２ｉ、ＡＮＤ４２ｅ、４２ｆ、およびインクリメンタ４２ｈから構成され、信号ＦＣＯＤＥを出力する。この回路は、クロック信号ｃｌｋの複数サイクルのうち、信号ｃｏｕｎｔ＿ｅｎが論理“１”の期間に、クロック信号ｒｏｓｃ＿ｃｌｋが何回トグルしたかをカウントする回路である。クロック信号ｃｌｋで駆動されるフリップフロップ４２ｉとｒｏｓｃ＿ｃｌｋで駆動されるフリップフロップ４２ｄ間では、信号の非同期乗り換えが必要となるため、ＡＮＤ４２ｆ、フリップフロップ４２ｇ、インクリメンタ４２ｈからなるメタステーブル対策回路と、ＡＮＤ４２ｅからなるゲーテッドクロックバッファが設けられている。【００４２】
２Ｂは、図２Ａが示す温度センサ４０の動作波形を示している。図２Ｂにおいて、クロック信号ｃｌｋとクロック信号ｒｏｓｃ＿ｃｌｋは非同期であり、これらのクロックのサイクルは異なっている。クロック信号ｒｏｓｃ＿ｃｌｋのサイクルは、リングオシレータ部４１の遅延特性により決定される。【００４３】
信号ｒｏｓｃ＿ｅｎがアサートされると、リングオシレータ部４１が発振を開始し、ｒｏｓｃ＿ｃｌｋがトグルを開始する。次に、信号ｃｏｕｎｔ＿ｅｎがアサートされると、ゲーテッドクロック信号ｒｏｓｃ＿ｇｃｌｋがトグルを開始し、フリップフロップ４２ｇおよびインクリメンタ４２ｈにより何回トグルしたかがカウントされる。そのカウント値は、フリップフロップ４２ｇの出力信号ｒｏｓｃ＿ｃｏｕｎｔとして現れ、フリップフロップ４２ｉに保持された後、信号ＦＣＯＤＥとして出力される。なお、ＦＣＯＤＥは、温度センサ回路４０から消費エネルギー算出回路１３ａに、温度測定結果４４として出力される。【００４４】
ここでは、ｃｌｋとｒｏｓｃ＿ｃｌｋが非同期のクロック信号であるため、発振開始／停止のタイミングとカウント開始／停止のタイミングに対して、非同期乗り換えが悪影響を及ぼさないように、信号ｒｏｓｃ＿ｅｎと信号ｃｏｕｎｔ＿ｅｎとを別々に与えている。【００４５】
信号ｃｏｕｎｔ＿ｅｎがネゲートされると、クロック信号ｒｏｓｃ＿ｇｃｌｋがトグルを停止し、フリップフロップ４２ｇはカウントアップを停止する。このときの信号ＦＣＯＤＥの値Ｎが、Ｌｏｗ−Ｖｔｈトランジスタからなるリングオシレータ部４１の発振回数を示している。【００４６】
図３を用いて、７ビットの発振周波数コード［７：０］（ＦＣＯＤＥ）を入力として、３ビットのプロセス寸法ばらつきコード［２：０］（ＰＣＯＤＥ）及び３ビットの温度コード［２：０］（ＴＣＯＤＥ）を出力する場合の変換表を示す。【００４７】
図３Ａに示す変換表において、発振周波数コード［７：０］（ＦＣＯＤＥ）は、プロセス寸法ばらつきに対応するＬｏｗ−Ｖｔｈトランジスタからなるリングオシレータ部４１が発生するクロックのカウント値を表す。そして、クロックカウンタ部４２のカウント値の最大値を８３とし、カウント値を０から７までの８カテゴリに分類して表している。すなわち、プロセス寸法ばらつきの程度を８カテゴリで表している。プロセス寸法ばらつきコード（ＰＣＯＤＥ）［２：０］は上記の８カテゴリに対応するコードを表す。【００４８】
なお、発振周波数コード（ＦＣＯＤＥ）とプロセス寸法ばらつきコード（ＰＣＯＤＥ）の対応関係は、例えば、ＳＰＩＣＥ（Simulation Program with Integrated Circuit Emphasis ）等の回路シミュレータで予めシミュレーションを行って求めることができる。【００４９】
図３Ｂに示すプロセス寸法ばらつきコード７に対応する変換表において、発振周波数コード［７：０］（ＦＣＯＤＥ）は、温度ばらつきに対応するＬｏｗ−Ｖｔｈトランジスタからなるリングオシレータ部４１が発生するクロックのカウント値を表す。そして、クロックカウンタ部４２のカウント値の最大値を９９とし、カウント値を０から７までの８カテゴリに分類して表している。温度コード［２：０］（ＴＣＯＤＥ）は上記の８カテゴリに対応するコードを表す。【００５０】
そして、温度コード［２：０］（ＴＣＯＤＥ）が３であるときに対応する発振周波数８０から８３は、図４Ａに示す変換表のうち、プロセス寸法ばらつきコード（ＰＣＯＤＥ）が７であるときに対応する発振周波数と同じ周波数である。【００５１】
従って、図３Ｂに示すプロセス寸法ばらつきコード（ＰＣＯＤＥ）が７であるときの変換表は、プロセス寸法ばらつきの程度がコード７である場合に、リングオシレータ部４１が発生するクロックのカウント値から温度コード（ＴＣＯＤＥ）を求めるのに使用される。【００５２】
同様に、図３Ｂに示すプロセス寸法ばらつきコード（ＰＣＯＤＥ）がコード６からコード０に対応する変換表は、プロセス寸法ばらつきの程度がコード６から０である場合に、リングオシレータ部４１が発生するクロックのカウント値から温度コード（ＴＣＯＤＥ）を求めることができる。上記と同様、図３Ｂの変換表それぞれにおいて、温度コード（ＴＣＯＤＥ）がコード３であるときの発振周波数は、図３Ａに示す変換表のうち、プロセス寸法ばらつきコード（ＰＣＯＤＥ）に対応する発振周波数と同じ周波数となっているからである。    【００５３】
図４において、消費エネルギー算出回路１３ａ及び切り替え回路１２により、各タスクにおいて、ＶＤＳＦ手法又はパワーゲーティング手法の内の一つの手法を選択し、上記の手法の内の一つを実行するための、フローチャート３００を示す。【００５４】
フローチャート３００は、開始ステップ、情報取得ステップ３１０、温度測定ステップ３２０、消費エネルギー算出ステップ３３０、比較ステップ３４０、ＤＶＦＳ方式実行ステップ３５０、ＰＧ（パワーゲーティング）方式実行ステップ３６０、及び、終了ステップから構成されている。【００５５】
情報取得ステップ３１０は、切り替え回路１２が、ＤＶＦＳ方式を実行する場合における、タスクの動作周波数、電源電圧、ＷＣＥＴ、及び、活性化率の情報を取得すること、及び、ＰＧ（パワーゲーティング）方式を実行する場合における、タスクの動作周波数、電源電圧、ＷＣＥＴ、及び、活性化率の情報を取得することを行うステップである。【００５６】
温度測定ステップ３２０は、切り替え回路１２からの温度測定指令を受けて消費エネルギー算出回路１３ａが温度測定指示４３を温度センサ４０に対して出力し、温度センサ４０から温度測定結果４４を取得するステップである。【００５７】
なお、半導体集積回路１００の試験工程において、図２Ａで説明した温度センサ４０を、温度を固定して動作させて、カウント部４２が示すカウント値を測定することにより、どの変換表を使用して温度を求めるかについては、特定することができる。【００５８】
また、その後、温度を変化させながら、温度センサ４０のカウンタ部４２が示すカウント値を測定することにより、温度コードと実際の温度との対応をとることができる。【００５９】
消費エネルギー算出ステップ３３０は、式（１）を用いてＰＧ方式を選択したときの消費エネルギーを算出し、また、式（２）を用いてＤＶＦＳ方式を選択したときの消費エネルギーを算出するステップである。なお、式（１）及び式（２）を計算するに必要な電源電圧、動作周波数、活性化率、ＷＣＥＴは、図５に示す表を記憶している記憶部１７ａから取得する。また、同様に、Ｉｌｅａｋは、図６に示す表を記憶している記憶部１７ａから取得する。【００６０】
比較ステップ３４０は、式（１）で求めた消費エネルギーと、式（２）で求めた消費エネルギーとを比較し、その大小を判定するステップである。その判定の結果に基づいて次のようなステップを行う。【００６１】
ＤＶＦＳ方式実行ステップ３５０は、式（２）で求めた消費エネルギーが小さい場合に、すなわち、ＤＦＶＳ方式を実行したほうが、消費エネルギーが小さい場合に、ＤＦＶＳ方式を実行するステップである。【００６２】
ＰＧ方式実行ステップ３６０は、式（１）で求めた消費エネルギーを小さい場合に、すなわち、ＰＧ方式を実行したほうが、消費エネルギーが小さい場合に、ＰＧ方式を実行するステップである。【００６３】
そして、ＤＶＦＳ方式、または、ＰＧ方式を実行した後、タスクは終了する。【００６４】
図５を用いて、ＰＧ手法又はＤＶＦＳ手法を実行したときの消費エネルギーを計算するための、各タスクに対する電源電圧、動作周波数、活性化率、ＷＣＥＴに関する表を示す。【００６５】
図５に示す表は、各タスクを示す欄、各タスクを実行するための動作周波数、電源電圧、活性化率、ＷＣＥＴを示す欄が示されている。なお、各タスクに対する電源電圧、動作周波数、活性化率、ＷＣＥＴに関する表は記憶部１７ａに記憶されている。【００６６】
図６を用いて、ＰＧ手法又はＤＶＦＳ手法を実行したときの消費エネルギーを計算するための、温度に対する回路のＩｌｅａｋ（リーク電流）に関する表を示す。図６に示す表は、温度を示す欄、及び、Ｌｅａｋ電流を示す欄が示されている。なお、温度に対する回路のＩｌｅａｋ（リーク電流）に関する表は記憶部１７ａに記憶されている。【００６７】
図７に、温度又は製造ばらつきに対するリーク電流の状態が示されているグラフを示す。上記のグラフにおいて、横軸は温度又は製造ばらつきにより生じたパターン寸法を表す。ただし、温度については、右側程、温度が高い。一方、パターン寸法については、右側程、パターン寸法が小さい。縦軸はリーク電流の電流値を示す。グラフ中、点線は、温度又は製造ばらつきにより生じたパターン寸法が、所定の値にあることを示す。【００６８】
そして、図７のグラフによれば、温度が点線で示す所定値より小さいときは、回路のリーク電流は小さいが、温度が点線で示す所定値より大きくなると、急激に回路のリーク電流が増加することを示す。また、製造ばらつきにより生じたパターン寸法が、点線で示す所定値より大きいときは、回路のリーク電流は小さいが、製造ばらつきにより生じたパターン寸法が、点線で示す所定値より小さいときは、急激に回路のリーク電流は増加することを示す。【００６９】
そして、回路のリーク電流が小さいときには、ＤＶＦＳ手法による消費エネルギーの低減が有効であることを示す。一方、回路のリーク電流が増加するときには、ＰＧ手法による消費エネルギーの低減が有効であることを示す。【００７０】
図８に、回路が通常動作をする場合、ＤＶＦＳ手法が適用されて動作する場合、ＰＧ手法が適用されて動作する場合において、あるタスクに対する消費電流の時間依存を表した図表を示す。図８の表により、回路のリーク電流が大きいときにはＰＧ手法を、回路のリーク電流が小さいときにはＤＶＦＳ手法を適用する理由について説明する。【００７１】
図８の表において、行方向の上段には、温度が低温であり、製造ばらつきにより生じたパターン寸法がスロー条件であるときの、消費電力の時間依存を表したグラフを配置している。行方向の下段には、温度が高温であり、製造ばらつきにより生じたパターン寸法がファースト条件であるときに、消費電力の時間依存を表したグラフを配置している。【００７２】
図８の表において、第１列には、通常の回路動作に対する消費電力の時間依存を表したグラフを配置している。第２列には、ＤＶＦＳ手法を適用した回路動作に対する消費電力の時間依存を表したグラフを配置している。第３列には、ＰＧ手法を適用した回路動作に対する消費電力の時間依存を表したグラフを配置している。【００７３】
行方向の上段かつ第１列に配置されたグラフによれば、ＷＣＥＴ期間の内の所定期間しか回路動作を要しないタスクにおいて、内部回路１１ａは所定期間において大きな消費エネルギーを伴ってアクティブ動作をするが、それ以外の期間においては、内部回路１１ａのリーク電流に基づくエネルギー以外は、エネルギーを消費しないことがわかる。【００７４】
行方向の上段かつ第２列には、上記のタスクにおいて、ＤＶＦＳ手法を適用した場合の内部回路１１ａの消費エネルギーの時間依存を示す。動作電圧及び動作周波数を低下させることにより、内部回路１１ａはＷＣＥＴ期間のすべての期間においてアクティブ動作をする。【００７５】
消費エネルギーは電圧の２乗に比例し、周波数に比例するため、単位時間あたりの消費エネルギーが減少する。そうすると、内部回路１１ａの動作期間は長期化したが、単位時間あたりの消費エネルギーが減少するため、内部回路１１ａがタスクを処理するための消費エネルギーは減少する。【００７６】
行方向の上段かつ第３列には、上記と同様なタスクにおいて、ＰＧ手法を適用した場合の内部回路１１ａの消費エネルギーの時間依存を示す。内部回路１１ａは所定期間において大きな消費エネルギーを伴ってアクティブ動作をする。それ以外の期間においては、ＰＧ手法による制御が内部回路１１ａに適用されるため、内部回路１１ａはアクティブ動作に伴う消費エネルギーもリーク電流に基づく消費エネルギーも消費しない。しかし、リーク電流に基づく消費エネルギーは、通常動作においても少なかったため、内部回路１１ａがタスクを処理するための消費エネルギーはそれ程減少しない。【００７７】
行方向の下段かつ第１列には、内部回路１１ａのリーク電流が大きい状態において、内部回路１１ａが、上記と同様なタスクを、通常動作により行う場合の消費エネルギーの時間依存を示す。内部回路１１ａは所定期間において、アクティブ動作と、リーク電流とに基づく大きな消費エネルギーを消費する。また、所定期間以外の期間において、内部回路１１ａはリーク電流に基づく消費エネルギーを消費する。【００７８】
行方向の下段かつ第２列には、内部回路１１ａのリーク電流が大きい状態において、上記と同様なタスクにおいて、ＤＶＦＳ手法を適用した場合の内部回路１１ａの消費エネルギーの時間依存を示す。内部回路１１ａの動作周波数及び動作電圧を低下させることにより、アクティブ動作に関する消費エネルギーを低減することはできる。しかし、リーク電流に基づく消費エネルギーは減少せず、また、リーク電流に基づく消費エネルギーが大きいため、内部回路１１ａがタスクを行うための消費エネルギーの全体はそれ程減少しない。【００７９】
行方向の下段かつ第３列には、内部回路１１ａのリーク電流が大きい状態において、上記と同様なタスクにおいて、ＰＧ手法を適用した場合の内部回路１１ａの消費エネルギーの時間依存を示す。【００８０】
内部回路１１ａは所定期間において、アクティブ動作と、リーク電流とに基づく大きな消費エネルギーを消費する。しかし、その期間以外では、内部回路１１ａは、アクティブ動作による消費エネルギーも、リーク電流に基づく消費エネルギーも、消費しない。その結果、内部回路１１ａの非アクティブ期間におけるリーク電流に基づく消費エネルギーを、削減することができるため、内部回路１１ａがタスクを行うための消費エネルギーを減少させることができる。【００８１】
上記より、回路のリーク電流が大きいときにはＰＧ手法を、回路のリーク電流が小さいときにはＤＶＦＳ手法を適用することが、内部回路１１ａがタスクを行うための消費エネルギーを減少させるために適していることがわかる。【００８２】
図９に、回路が通常動作をする場合、ＤＶＦＳ手法が適用されて動作する場合、ＰＧ手法が適用されて動作する場合において、第１タスク及び第２タスクを連続して行う場合の消費電流の時間依存を表した図表を示す。上記のような場合でも、回路のリーク電流が大きいときにはＰＧ手法を、回路のリーク電流が小さいときにはＤＶＦＳ手法を適用する理由について説明する。【００８３】
図９の一列目には、第１タスク及び第２タスクが連続して行われる場合に、各タスクにおける内部回路１１ａの動作周波数を示したグラフが示されている。【００８４】
そして、一列目、上段のグラフが示すように、通常動作の場合、すなわち、ＤＶＦＳ手法、及び、ＰＧ手法の適用をするように制御しない場合、第１タスク及び第２タスクにおいて、内部回路１１ａは、周波数ｆ１、電圧Ｖ１で動作する。【００８５】
また、一列目、中段のグラフが示すように、ＤＶＦＳ手法を適用した場合、第１タスクにおいて、内部回路１１ａは周波数ｆ１、電圧Ｖ１で動作する。また、第２タスクにおいては、内部回路１１ａは周波数ｆ２、電圧Ｖ２で動作する。【００８６】
一列目、下段のグラフが示すように、ＰＧ手法を適用した場合、第１タスク及び第２タスクにおいて、内部回路１１ａは、周波数ｆ１、電圧Ｖ１で動作する。【００８７】
図９の二列目には、内部回路１１ａのリーク電流が小さい場合に、第１タスク及び第２タスクが連続して行われるときの、内部回路１１ａの消費電力の時間変化が示されている。【００８８】
そして、二列目、上段のグラフが示すように、通常動作時には、動作周波数ｆ１、動作電圧Ｖ１で動作するとき、第１タスクを処理しているＷＣＥＴ１期間中、内部回路１１ａはすべてのＷＣＥＴ１期間に渡ってアクティブ動作する必要がある。そして、内部回路１１ａはアクティブ動作に必要な一定の消費エネルギーを消費する。第２タスクを処理しているＷＣＥＴ２期間中、動作周波数ｆ１、動作電圧Ｖ１で動作するとき、内部回路１１ａはＷＣＥＴ２期間の半分程度の期間でアクティブ動作を終了する。そして、アクティブ動作期間中、一定の消費エネルギーを消費する。【００８９】
二列目、中段のグラフが示すように、ＤＶＦＳ手法を適用した場合でも、第１タスクをＷＣＥＴ１期間中に処理する必要があり、内部回路１１ａは動作周波数ｆ１、動作電圧Ｖ１で動作する必要がある。従って、すべてのＷＣＥＴ１期間に渡ってアクティブ動作に必要な一定の消費エネルギーを消費する。第２タスクをＷＣＥＴ２期間中に処理するには、内部回路１１ａは動作周波数ｆ２、動作電圧Ｖ２で動作すればよい。従って、すべてのＷＣＥＴ２期間に渡って、動作周波数ｆ２、動作電圧Ｖ２でアクティブ動作するに必要な一定の消費エネルギーを消費する。その結果、タスク２を実行している期間中、内部回路１１ａの消費するエネルギーは減少する。【００９０】
二列目、下段のグラフが示すように、ＰＧ手法を適用した場合でも、第１タスクをＷＥＣＴ１１期間中に処理する必要があり、内部回路１１ａは動作周波数ｆ１、動作電圧Ｖ１で動作する必要がある。従って、すべてのＷＣＥＴ１期間に渡ってアクティブ動作に必要な一定の消費エネルギーを消費する。また、第２タスクをＷＣＥＴ２期間中に処理する場合、内部回路１１ａは動作周波数ｆ１、動作電圧Ｖ１でアクティブ動作し、ＷＣＥＴ２期間の半分程度の時間でアクティブ動作を終了する。その後、内部回路１１ａの電源供給は停止される。しかし、内部回路１１ａのリーク電流は小さいため、タスク１及びタスク２処理期間中の消費エネルギーはそれ程減少しない。【００９１】
図９の三列目には、内部回路１１ａのリーク電流が大きい場合に、第１タスク及び第２タスクが連続して行われるときの、内部回路１１ａの消費電力の時間変化が示されている。【００９２】
三列目、上段のグラフが示すように、通常動作時には、動作周波数ｆ１、動作電圧Ｖ１で動作するとき、第１タスクを処理しているＷＣＥＴ１期間中、内部回路１１ａはすべてのＷＣＥＴ１期間に渡ってアクティブ動作する必要がある。また、上記と同様、第２タスクを処理しているＷＣＥＴ２期間中、内部回路１１ａはＷＣＥＴ２期間の半分程度の期間アクティブ動作する。ここで、内部回路１１ａのリーク電流は大きいため、内部回路１１ａはＷＣＥＴ１及びＷＣＥＴ２の全期間、リーク電流の基づく消費エネルギーを消費する。また、内部回路１１ａは、タスク１を処理しているＷＣＥＴ１期間中、及び、タスク２を処理している期間中（ＷＣＥＴ２の半分程度の期間）には、アクティブ動作の基づく消費エネルギーを消費する。【００９３】
三段目、中段のグラフが示すように、ＤＦＶＳ手法を適用する場合、内部回路１１ａはタスク１処理中、動作周波数ｆ１、動作電圧Ｖ１でのアクティブ動作に必要な消費エネルギーを消費する。また、タスク２処理中、動作周波数ｆ２、動作電圧Ｖ２でのアクティブ動作に必要な消費エネルギーを消費する。それに加え、内部回路１１ａは、リーク電流に基づく消費エネルギーをＷＣＥＴ１期間中及びＷＣＥＴ２期間中に消費する。従って、リーク電流に基づく消費エネルギーが大きいため、内部回路１１ａが消費する消費エネルギーはそれ程減少しない。【００９４】
三段目、下段のグラフが示すように、ＰＧ手法を適用する場合、内部回路１１ａはタスク１処理中、動作周波数ｆ１、動作電圧Ｖ１でのアクティブ動作に必要な消費エネルギー及びリーク電流の基づく消費エネルギーを消費する。また、タスク２処理中には、タスク２を処理するに必要な期間中、動作周波数ｆ１、動作電圧Ｖ１でのアクティブ動作に必要な消費エネルギー及びリーク電流に基づく消費エネルギーを消費する。しかし、タスク２処理中には、タスク２の処理が終了すれば、内部回路１１ａはアクティブ動作に必要な消費エネルギーも、リーク電流の基づく消費エネルギーも消費しない。【００９５】
従って、リーク電流の基づく消費エネルギーが多いため、タスク１及びタスク２を処理するための消費エネルギーは、通常動作時に比較し、大きく減少する。【００９６】
上記より、上記のようなタスク１及びタスク２を連続して処理するときでも、回路のリーク電流が大きいときにはＰＧ手法を、回路のリーク電流が小さいときにはＤＶＦＳ手法を適用することが、内部回路１１ａがタスクを行うための消費エネルギーを減少させるために適していることがわかる。【００９７】
図１０により、温度と消費エネルギーとの関係を表したグラフを示す。横軸は温度を示し、縦軸は消費エネルギーを示す。黒菱形のマークと、それをつなぐ点線により、ＰＧ手法を適用した場合に、内部回路１１ａがタスクを処理するために必要な消費エネルギーを示す。黒四角と、それをつなぐ点線により、ＤＶＦＳ手法を適用した場合に、内部回路１１ａがタスクを処理するために必要な消費エネルギーを示す。なお、ＰＧ手法を適用したときに、内部回路１１ａは動作周波数ｆ１、動作電圧Ｖｄｄ１で動作する。一方、ＤＶＦＳ手法を適用したときに、内部回路１１ａは動作周波数ｆ２、動作電圧Ｖｄｄ２で動作する。【００９８】
温度が低いときにはＤＶＳＦ手法を適用するほうが、内部回路１１ａが消費する消費エネルギーは小さいが、温度が高くなり、所定の温度を超えると、ＰＧ手法を適用するほうが、内部回路１１ａが消費する消費エネルギーのほうが小さくなる。【００９９】
以上より、実施例１の半導体集積回路１００は、動作中にＭＯＳトランジスタの特性に起因して決定されるリングオシレータの周波数をカウントする温度センサ４０、その周波数から温度を導き出し、その温度に対応するリーク電流を求めた後、ＰＧ手法を適用した場合と、ＤＶＦＳ手法を適用した場合とで、内部回路１１ａの消費エネルギーを計算し、比較結果を出力する消費エネルギー算出回路１３ａ、その切り替え結果により、内部回路１１ａに適用する手法を切り替える切り替え回路１２、切り替え回路１２からの信号に応じて、周波数、及び、電圧を変更する電源電圧制御回路５０及びクロックコントロール回路６０、切り替え回路１２からの信号に応じて、内部回路１１ａへの電源の切断及び分離を制御する、パワーゲーティングコントロール回路２０を有する。そのため、半導体集積回路１００は、ＤＶＦＳ手法及びＰＧ手法の内、どちらが内部回路の消費エネルギーの削減となるかを、半導体集積回路装置の素子特性により判断し、削減効果が大きい手法を実現する回路を選択し、動作させることができる。その結果、半導体集積回路１００の消費電流が大きく削減される。【０１００】
(実施例２)
実施例１の半導体集積回路１００は、プロセス条件を試験工程で特定した上で、温度測定回路により測定した温度に基づいて、内部回路にＰＧ手法を適用するか、ＤＶＦＳ手法を適用するかを選択している。それに対して、実施例２の半導体集積回路３００は、温度を固定した試験工程において測定した、プロセス条件測定結果に基づいて、内部回路にＰＧ手法を適用するか、ＤＶＦＳ手法を適用するかを選択することを特徴とする。【０１０１】
図１１に、実施例２の半導体集積回路５００及び電源７０を示す。半導体集積回路５００は、ＣＰＵ１０、パワーゲーティングコントロール回路２０、パワーゲーティングスイッチ３０、プロセスセンサ９０、電源電圧制御回路５０、クロックコントロール回路６０、外部クロック信号端子８０、及び、電源端子３１から構成されている。【０１０２】
上記の半導体集積回路５００において、パワーゲーティングコントローラ回路２０、パワーゲーティングスイッチ３０、電源電圧制御回路５０、クロックコントロール回路６０、外部クロック信号端子８０、及び、電源端子３１については、半導体集積回路１００におけるものと同様である。【０１０３】
ＣＰＵ１０は、内部回路１１ｂ及びＰＭＵ１４から構成されている。ＰＭＵ１４は実施例１におけるＰＭＵ１４と同様なものである。【０１０４】
内部回路１１ｂは、切り替え回路１２、及び、消費エネルギー算出回路１３ｂを含む回路である。切り替え回路１２は、実施例１における切り替え回路１２と同様な回路である。【０１０５】
消費エネルギー算出回路１３ｂは、プロセスセンサ９０に対して、プロセス条件測定指示９１を出力し、プロセス条件測定結果９２を得る回路である。【０１０６】
そして、消費エネルギー算出回路１３ｂは、式（１）を用いて、ＰＧ手法を用いた場合に、内部回路１１ｂが消費する消費エネルギーを算出する。また、消費エネルギー算出回路１３ｂは、プロセス測定結果９２に基づいて、式（２）を用いて、ＤＶＦＳ手法を用いた場合に、内部回路１１ｂが消費する消費エネルギーを算出する。そして、切り替え回路１２からの結果取得信号を受けたときに、式（１）を用いて算出した消費エネルギーが式（２）を用いて算出した消費エネルギーより大きい場合は、論理"Ｈ"の結果通知信号を出力し、その逆の場合には論理"Ｌ"の結果通知信号を出力する。【０１０７】
そして、消費エネルギー算出回路１３ｂは、消費エネルギー算出回路１３ｂに含まれる記憶部１７ｂに、上記の計算に必要な、後述する各タスクに対応するｆ１、Ｖｄｄ１、ｆ２、Ｖｄｄ２、ＷＣＥＴ、Ａの表、及び、プロセス寸法ばらつきコード（ＰＣＯＤＥ）に対応するｌｌｅａｋの表、を記憶している。また、消費エネルギー算出回路１３ｂの記憶部１７ｂは、図３Ａにおいて説明したコード変換表を記憶している。【０１０８】
そして、消費エネルギー算出回路１３ｂは、次のようにして、プロセス寸法ばらつきコードに対応するｌｌｅａｋを求める。【０１０９】
まず、実施例２の半導体集積回路５００の動作試験を行う際に、温度を固定してプロセスセンサ９０を動作させて得た、プロセス条件測定結果９２、すなわち、ＦＣＯＤＥから、消費エネルギー算出回路１３ｂは、上記のコード変換表を使用してプロセス寸法ばらつきコード（ＰＣＯＤＥ）を求める。そして、消費エネルギー算出回路１３ｂは、上記のプロセス寸法ばらつきコード（ＰＣＯＤＥ）を記憶部１７ｂに記憶させる。【０１１０】
そこで、消費エネルギー算出回路１３ｂは、記憶部１７ｂが記憶したプロセス寸法ばらつきコードに対応するｌｌｅａｋの表を用いて、Ｉｌｅａｋを求める。【０１１１】
以上の説明より、消費エネルギー算出回路１３ｂは、通常動作時には、切り替え回路１２に対して、実施例２の半導体集積回路５００が動作試験時における、論理を有する結果通知信号を出力することになる。【０１１２】
プロセスセンサ９０は、図２Ａが示す温度センサ４０と同様な回路である。そして、プロセスセンサ９０はリングオシレータ部４１及びクロックカウント部４２から構成されている。【０１１３】
すなわち、プロセスセンサ９０は、消費エネルギー算出回路１３ｂからプロセス条件測定指示９１を受けると、クロックカウント部から出力されるカウント値、すなわち、ＦＣＯＤＥをプロセス条件測定結果９２として出力する。【０１１４】
図１２を用いて、ＰＧ手法又はＤＶＦＳ手法を実行したときの消費エネルギーを計算するための、プロセス寸法ばらつきコードに対する回路のＩｌｅａｋ（リーク電流）に関する表を示す。図１２に示す表は、プロセス寸法ばらつきを示す欄、及び、Ｌｅａｋ電流を示す欄が示されている。なお、プロセス寸法ばらつきに対する回路のＩｌｅａｋ（リーク電流）に関する表は記憶部１７ａに記憶されている。【０１１５】
以上より、実施例２の半導体集積回路５００は、試験時に、ＭＯＳトランジスタの素子特性に依存する、リングオシレータの周波数を検出するプロセスセンサ９０、その周波数に対応するプロセス条件において、ＭＯＳトランジスタのリーク電流を特定し、ＰＧ手法を適用した場合と、ＤＶＦＳ手法を適用した場合とで、内部回路１１ｂの消費エネルギーを計算し、比較結果を出力する消費エネルギー算出回路１３ｂ、その切り替え結果により、内部回路１１ｂに適用する手法を切り替える切り替え回路１２、切り替え回路１２からの信号に応じて、周波数、及び、電圧を変更する電源電圧制御回路５０及びクロックコントロール回路６０、切り替え回路１２からの信号に応じて、内部回路１１ｂへの電源の切断及び分離を制御する、パワーゲーティングコントロール回路２０を有する。そのため、半導体集積回路５００は、ＤＶＦＳ手法及びＰＧ手法の内、どちらが内部回路の消費エネルギーの削減となるかを、半導体集積回路装置の素子特性により判断し、削減効果が大きい手法を実現する回路を選択し、動作させることができる。その結果、半導体集積回路５００の消費電流が大きく削減される。【０１１６】
(実施例３)
実施例１の半導体集積回路１００は、温度測定回路によって、プロセス条件を試験工程で特定した上で、測定した温度に基づいて、内部回路にＰＧ手法を適用するか、ＤＶＦＳ手法を適用するかを選択している。それに対して、実施例３の半導体集積回路６００は、プロセス条件を特定する回路と、温度測定回路を、別々に有し、動作中において、プロセス条件を特定する回路によって特定したプロセス条件、及び、温度測定回路によって測定した温度に基づいて、内部回路に適用する消費電力手法を選択することを特徴とする。【０１１７】
図１３に、実施例３の半導体集積回路６００及び電源７０を示す。半導体集積回路６００は、ＣＰＵ１０、パワーゲーティングコントロール回路２０、パワーゲーティングスイッチ３０、温度センサ４０、プロセスセンサ９０、電源電圧制御回路５０、クロックコントロール回路６０、外部クロック信号端子８０、及び、電源端子３１から構成されている。【０１１８】
上記の半導体集積回路６００において、パワーゲーティングコントローラ回路２０、パワーゲーティングスイッチ３０、電源電圧制御回路５０、クロックコントロール回路６０、外部クロック信号端子８０、及び、電源端子３１については、半導体集積回路１００におけるものと同様である。【０１１９】
ＣＰＵ１０は、内部回路１１ｃ及びＰＭＵ１４から構成されている。ＰＭＵ１４は実施例１におけるＰＭＵ１４と同様なものである。【０１２０】
内部回路１１ｃは、切り替え回路１２、及び、消費エネルギー算出回路１３ｃを含む回路である。切り替え回路１２は、実施例１における切り替え回路１２と同様な回路である。【０１２１】
消費エネルギー算出回路１３ｃは、プロセスセンサ９０に対して、プロセス条件測定指示９１を出力し、プロセス条件測定結果９２を得る回路である。また、消費エネルギー算出回路１３ｃは、温度センサ４０に対しても、温度測定指示４３を出力し、温度測定結果４４を得る回路である。【０１２２】
そして、消費エネルギー算出回路１３ｃは、式（１）を用いて、ＰＧ手法を用いた場合に、内部回路１１ｃが消費する消費エネルギーを算出する。また、消費エネルギー算出回路１３ｃは、式（２）を用いて、ＤＶＦＳ手法を用いた場合に、内部回路１１ｃが消費する消費エネルギーを算出する。そして、切り替え回路１２からの結果取得信号を受けたときに、式（１）を用いて算出した消費エネルギーが式（２）を用いて算出した消費エネルギーより大きい場合は、論理"Ｈ"の結果通知信号を出力し、その逆の場合には論理"Ｌ"の結果通知信号を出力する。【０１２３】
そして、消費エネルギー算出回路１３ｃは、消費エネルギー算出回路１３ｃに含まれる記憶部１７ｃに、上記の計算に必要な、各タスクに対応するｆ１、Ｖｄｄ１、ｆ２、Ｖｄｄ２、ＷＣＥＴ、Ａの表、及び、プロセス寸法ばらつきコード（ＰＣＯＤＥ）と温度コード（ＴＣＯＤＥ）に対応するｌｌｅａｋの表（図１４により後述する表）、を記憶している。また、消費エネルギー算出回路１３ｃの記憶部１７ｃは、図３Ａ及び図３Ｂにおいて説明したコード変換表を記憶している。【０１２４】
そして、消費エネルギー算出回路１３ｃは、次のようにして、プロセス寸法ばらつきコード及び温度コードに対応するｌｌｅａｋを求める。【０１２５】
まず、消費エネルギー算出回路１３ｃは、実施例２の半導体集積回路５００の動作試験を行う際に、温度を固定して温度センサ４０を動作させて得た、温度測定結果４４、すなわち、ＦＣＯＤＥから、上記のコード変換表を使用してプロセス寸法ばらつきコード（ＰＣＯＤＥ）を求める。そして、消費エネルギー算出回路１３ｃは、上記のプロセス寸法ばらつきコード（ＰＣＯＤＥ）を記憶部１７ｃに記憶させる。【０１２６】
次いで、各タスクを開始させる前に、温度センサ４０に温度測定指示４３を送付し、温度測定結果４４を得る。そして、図３Ｂに示した変換コード表の内、上記のプロセス寸法ばらつきコードに対応する変更コード表を使用して、温度コードを求める。【０１２７】
次いで、消費エネルギー算出回路１３ｃは、プロセスセンサ９０に、プロセス条件測定指示９１を送付し、プロセス条件測定結果９２を得る。そして、プロセス条件測定結果９２からプロセス寸法ばらつきコードを得る。その後、消費エネルギー算出回路１３ｃは、プロセス寸法ばらつきコード（ＰＣＯＤＥ）と温度コード（ＴＣＯＤＥ）に対応するｌｌｅａｋの表（図１４により後述する表）を利用してＩｌｅａｋを求める。【０１２８】
図１４を用いて、ＰＧ手法又はＤＶＦＳ手法を実行したときの消費エネルギーを計算するための、温度コード及びプロセス寸法ばらつきコードに対する回路のＩｌｅａｋ（リーク電流）に関する表を示す。図１４に示す表は、温度を示す欄、プロセス寸法ばらつきを示す欄、及び、Ｌｅａｋ電流を示す欄が示されている。なお、温度コード及びプロセス寸法ばらつきコードに対する回路のＩｌｅａｋ（リーク電流）に関する表は記憶部１７ａに記憶されている。【０１２９】
以上より、実施例３の半導体集積回路６００は、動作中にプロセス条件を測定するプロセスセンサ９０、動作中に温度を測定する温度センサ４０、動作中にそのプロセス条件及び温度において、ＰＧ手法を適用した場合と、ＤＶＦＳ手法を適用した場合とで、内部回路１１ｃの消費エネルギーを計算し、比較結果を出力する消費エネルギー算出回路１３ｃ、その切り替え結果により、内部回路１１ｃに適用する手法を切り替える切り替え回路１２、切り替え回路１２からの信号に応じて、周波数、及び、電圧を変更する電源電圧制御回路５０及びクロックコントロール回路６０、切り替え回路１２からの信号に応じて、内部回路１１ｂへの電源の切断及び分離を制御する、パワーゲーティングコントロール回路２０を有する。そのため、半導体集積回路６００は、ＤＶＦＳ手法及びＰＧ手法の内、どちらが内部回路の消費エネルギーの削減となるかを、半導体集積回路装置の素子特性により判断し、削減効果が大きい手法を実現する回路を選択し、動作させることができる。その結果、半導体集積回路６００の消費電流が大きく削減される。【０１３０】
(実施例４)
実施例１の半導体集積回路１００は、温度測定回路によって、プロセス条件を試験工程で特定した上で、測定した温度に基づいて、内部回路にＰＧ手法を適用するか、ＤＶＦＳ手法を適用するかを選択している。それに対して、実施例４の半導体集積回路７００は、回路リーク電流測定回路有し、回路リーク電流測定回路により特定するリーク電流に基づいて、内部回路に適用する消費電力手法を選択することを特徴とする。【０１３１】
図１５に、実施例４の半導体集積回路７００及び電源７０を示す。半導体集積回路７００は、ＣＰＵ１０、パワーゲーティングコントロール回路２０、パワーゲーティングスイッチ３０、電流リークセンサ７１０、電源電圧制御回路５０、クロックコントロール回路６０、外部クロック信号端子８０、及び、電源端子３１から構成されている。【０１３２】
上記の半導体集積回路７００において、パワーゲーティングコントローラ回路２０、パワーゲーティングスイッチ３０、電源電圧制御回路５０、クロックコントロール回路６０、外部クロック信号端子８０、及び、電源端子３１については、半導体集積回路１００におけるものと同様である。【０１３３】
ＣＰＵ１０は、内部回路１１ｄ及びＰＭＵ１４から構成されている。ＰＭＵ１４は実施例１におけるＰＭＵ１４と同様なものである。【０１３４】
内部回路１１ｄは、切り替え回路１２、及び、消費エネルギー算出回路１３ｄを含む回路である。切り替え回路１２は、実施例１における切り替え回路１２と同様な回路である。【０１３５】
消費エネルギー算出回路１３ｄは、式（１）を用いて、ＰＧ手法を用いた場合に、内部回路１１ｄが消費する消費エネルギーを算出する。また、消費エネルギー算出回路１３ｄは、式（２）を用いて、ＤＶＦＳ手法を用いた場合に、内部回路１１ｄが消費する消費エネルギーを算出する。そして、切り替え回路１２からの結果取得信号を受けたときに、式（１）を用いて算出した消費エネルギーが式（２）を用いて算出した消費エネルギーより大きい場合は、論理"Ｈ"の結果通知信号を出力し、その逆の場合には論理"Ｌ"の結果通知信号を出力する。【０１３６】
そして、消費エネルギー算出回路１３ｄは、消費エネルギー算出回路１３ｄに含まれる記憶部１７ｄに、上記の計算に必要な、各タスクに対応するｆ１、Ｖｄｄ１、ｆ２、Ｖｄｄ２、ＷＣＥＴ、Ａの表、及び、電流リークコード（Ｉ−ｌｅａｋＣＯＤＥ）に対応するｌｌｅａｋの表を記憶している。【０１３７】
そして、消費エネルギー算出回路１３ｄは、次のようにして、電流リークコード（Ｉ−ｌｅａｋＣＯＤＥ）に対応するｌｌｅａｋを求める。【０１３８】
まず、消費エネルギー算出回路１３ｄは、各タスクを開始させる前に、電流リークセンサ７１０にリーク電流測定指示７１１を送付し、リーク電流測定結果７１２、すなわち、電流リークコード（Ｉ−ｌｅａｋＣＯＤＥ）を得る。【０１３９】
次いで、消費エネルギー算出回路１３ｄは、電流リークコード（Ｉ−ｌｅａｋＣＯＤＥ）に対応するｌｌｅａｋの表を利用してＩｌｅａｋを求める。【０１４０】
図１６を用いて、電流リークセンサ７１０の回路構成及び電流リークセンサ７１０の動作波形を示す。【０１４１】
図１６Ａに示す電流リークセンサ７１０は、Ｎ型ＭＯＳトランジスタ７１４、Ｐ型ＭＯＳトランジスタ７１５、容量７１６、オペアンプ７１８、ＡＮＤ７１９、ＪＫフリップフロップ７２０、７２１、７２２から構成されている。【０１４２】
Ｎ型ＭＯＳトランジスタ７１４のソース及びゲートは低電位電源と接続し、ドレインは容量７１６の一方の端、Ｐ型ＭＯＳトランジスタ７１５のドレイン、オペアンプ７１８の一方の入力と接続している。Ｐ型ＭＯＳトランジスタ７１５のソースは高電位電源と接続し、ゲートはＰｒｅ−ｃｈａｒｇｅ７１３と接続している。【０１４３】
容量７１６の他方の端は低電位電源と接続している。オペアンプ７１８の他方の入力は一定電圧を維持するＶｒｅｆ７１７と接続している。オペアンプ７１８の出力はＪＫフリップフロップ７２０、７２１、７２２のＪ端子と接続している。ＡＮＤ回路７１９の一方の入力に、ｃｌｏｃｋ信号が入力されており、他方の入力にはＰｒｅ−ｃｈａｒｇｅ７１３が入力されている。ＡＮＤ回路７１９の出力はＪＫフリップフロップ７２０のクロック端子に接続されている。ＪＫフリップフロップ７２０、７２１、７２２のＫ端子には、"Ｈ"固定の信号が入力されている。ＪＫフリップフロップ７２０のＱ端子とＪＫフリップフロップ７２１のクロック端子は接続されている。ＪＫフリップフロップ７２１のＱ端子とＪＫフリップフロップ７２２のクロック端子は接続されている。ＪＫフリップフロップ７２０、７２１、７２２の／Ｑ端子からはＩ−ｌｅａｋコードを構成するデジット信号が出力される。【０１４４】
図１６Ｂの動作波形を参照して、電流リークセンサ７１０の動作を説明する。Ｐｒｅ−ｃｈａｒｇｅ７１３の波形に示すように、Ｐｒｅ−ｃｈａｒｇｅ７１３は、待機時には論理"Ｈ"に固定されている。従って、容量７１６の端子であって、Ｐ型ＭＯＳトランジスタ７１５のドレインが接続されている端子の電位は論理"Ｌ"となる。従って、オペアンプ７１８の出力は論理"Ｌ"であるから、ＪＫフリップフロップ７２０、７２１、７２２の／Ｑ端子からの出力は論理"Ｌ"に固定される。【０１４５】
そこで、消費エネルギー算出回路１３ｄからのリーク電流測定指示７１１に応じて、Ｐｒｅ−ｃｈａｒｇｅ７１３がパルス状に論理"Ｌ"になると、P型ＭＯＳトランジスタ７１５がオンして、容量７１６の一方の端の論理が"Ｈ"となる。そうすると、オペアンプ回路７１８は論理"Ｈ"の信号を出力する。その後、波形ＶＯに示すように、Ｐｒｅ−ｃｈａｒｇｅ７１３は、論理"H"となる。その結果、容量７１６に蓄積された電荷は、N型ＭＯＳトランジスタ７１4のリーク電流によって、減少する。そして、容量７１６の一方の端の電位がＶｒｅｆ７１７の電位を下回ると、オペアンプ回路７１８は論理"Ｌ"の信号を出力する。そうすると、ＪＫフリップフロップ７２０、７２１、７２２は、オペアンプ回路７１８が論理"Ｈ"の信号を出力している間はクロック信号をカウントするが、それ以外の期間はカウントを行わない。【０１４６】
Ｐｒｅ−ｃｈａｒｇｅ７１３は６クロック毎に論理"Ｌ"のパルスとなる。そうすると、６クロックの内、何番目のクロック期間において、オペアンプ回路７１８の出力が論理"Ｌ"となったかを示すＩ−ｌｅａｋコードをＪＫフリップフロップ７２０、７２１、７２２の／Ｑ端子は出力する。そして、電流リークセンサ７１０は、そのＩ−ｌｅａｋコードを、リーク電流測定結果７１２として、消費エネルギー算出回路１３ｄに出力する。【０１４７】
以上より、実施例４の半導体集積回路７００は、電流リークセンサ７１０、動作中に電流リークセンサ７１０より得たリーク電流（Ｉｌｅａｋ）を用いて、ＰＧ手法を適用した場合と、ＤＶＦＳ手法を適用した場合とで、内部回路１１ｄの消費エネルギーを計算し、比較結果を出力する消費エネルギー算出回路１３ｄ、その切り替え結果により、内部回路１１ｃに適用する手法を切り替える切り替え回路１２、切り替え回路１２からの信号に応じて、周波数、及び、電圧を変更する電源電圧制御回路５０及びクロックコントロール回路６０、切り替え回路１２からの信号に応じて、内部回路１１ｂへの電源の切断及び分離を制御する、パワーゲーティングコントロール回路２０を有する。そのため、半導体集積回路７００は、ＤＶＦＳ手法及びＰＧ手法の内、どちらが内部回路の消費エネルギーの削減となるかを、半導体集積回路装置の素子特性により判断し、削減効果が大きい手法を実現する回路を選択し、動作させることができる。その結果、半導体集積回路７００の消費電流が大きく削減される。
【産業上の利用可能性】
【０１４８】
本発明によれば、素子の電流リーク量に対応して、内部回路を消費エネルギーが小さくなる手法により動作させることができる半導体集積回路を提供することができる。
【符号の説明】
【０１４９】
１  １０  ＣＰＵ
１１ａ、１１ｂ、１１ｃ、１１ｄ  内部回路
１２  切り替え回路
１３ａ、１３ｂ、１３ｃ、１３ｄ  消費エネルギー算出回路
１４  ＰＭＵ
１６  クロック周波数変更指示信号
１７ａ、１７ｂ、１７ｃ、１７ｄ  記憶部
１８  パワーゲーティング指示信号
１９  復帰信号
２０  パワーゲーティングコントロール回路
２１  制御信号
３０  パワーゲーティングスイッチ
３１  電源端子
３２  仮想Ｖｄｄ
４０  温度センサ
４１  リングオシレータ部
４２  クロックカウント部
４３  温度測定指示
４４  温度測定結果
５０  電源電圧制御回路
５１  電源電圧変更指示信号
５２  電源電圧変更指示信号
６０  クロックコントロール回路
６１  クロック信号
７０  可変電圧電源
７１  外部電源線Ｖｄｄ
８０  外部クロック信号端子
９０  プロセスセンサ
９１  プロセス条件測定指示
９２  プロセス条件測定結果
１００、５００、６００、７００  半導体集積回路
３００  フローチャート
３１０  情報取得ステップ
３２０  温度測定ステップ
３３０  消費エネルギー算出ステップ
３４０  比較ステップ
３５０  ＤＶＦＳ方式実行ステップ
３６０  ＰＧ方式実行ステップ
７１０  電流リークセンサ
７１１  リーク電流測定指示
７１２  リーク電流測定結果
７１３  Ｐｒｅ−ｃｈａｒｇｅ
７１４  Ｎ型ＭＯＳトランジスタ
７１５  Ｐ型ＭＯＳトランジスタ
７１６  容量
【図１】
2009078081.tif 000003
【図２】
2009078081.tif 000004
【図３】
2009078081.tif 000005
【図４】
2009078081.tif 000006
【図５】
2009078081.tif 000007
【図６】
2009078081.tif 000008
【図７】
2009078081.tif 000009
【図８】
2009078081.tif 000010
【図９】
2009078081.tif 000011
【図１０】
2009078081.tif 000012
【図１１】
2009078081.tif 000013
【図１２】
2009078081.tif 000014
【図１３】
2009078081.tif 000015
【図１４】
2009078081.tif 000016
【図１５】
2009078081.tif 000017
【図１６】
2009078081.tif 000018
【手続補正書】
【提出日】平成22年5月17日(2010.5.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
内部回路と
前記内部回路の素子特性を検出する検出回路と、
上記の素子特性に対応して、前記内部回路が行うべきタスクに対して、パワーゲーティング動作を行った場合の第１消費エネルギーと、電圧及び周波数を減少させた動作を行った場合の第２消費エネルギーとを算出する算出回路と、
前記第１消費エネルギーが前記第２消費エネルギーより小さいときは、前記パワーゲーティング動作を前記内部回路に対して行い、前記第２消費エネルギーが前記第１消費エネルギーより小さいときは、前記電圧及び周波数を減少させた動作を前記内部回路に対して行う切り替え回路と、を備えることを特徴とする半導体集積回路。
【請求項２】
前記切り替え回路は前記内部回路の動作が終了すると、前記内部回路と第１電源との間を分離するスイッチを備えることを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記切り替え回路は、さらに、
前記内部回路の動作が終了すると、第１制御信号を出力し、予め決められた期間の経過後、第２制御信号を出力する制御回路と、
前記第１制御信号及び前記第２制御信号に応じて、論理が切り換わる第３制御信号を、前記スイッチに出力するスイッチ切り替え回路と、を備えることを特徴とする請求項２記載の半導体集積回路。
【請求項４】
前記切り替え回路は、第２電源の電源電圧を減少させる電源制御回路と、
前記内部回路へ供給されるクロック信号の周波数を減少されるクロック発生回路と、を備えることを特徴とする請求項１又は２記載の半導体集積回路。
【請求項５】
前記検出回路は前記内部回路の温度条件に起因する前記素子特性を検出するものであることを特徴とする請求項１から４までの内の一の請求項に記載された半導体集積回路。
【請求項６】
前記検出回路は前記内部回路の製造条件に起因する前記素子特性を検出するものであることを特徴とする請求項１から４までの内の一の請求項に記載された半導体集積回路。
【請求項７】
前記検出回路は前記内部回路の製造条件及び温度条件に起因する前記素子特性を検出するものである事を特徴とする請求項１から４までの内の一の請求項に記載された半導体集積回路。
【請求項８】
前記検出回路が検出する前記素子特性は、奇数個のインバータから構成されたリングオシレータの発振周波数であることを特徴とする請求項１から請求項７までの内の一の請求項に記載された半導体集積回路。
【請求項９】
前記算出回路は、前記発振周波数と、前記インバータを構成するＭＯＳトランジスタの電流リーク量との関係を記憶し、前記電流リーク量に基づき、前記第１消費エネルギー及び前記第２消費エネルギーを算出することを特徴とする請求項７記載の半導体集積回路。
【請求項１０】
前記検出回路が検出する前記素子特性は、前記内部回路の電流リーク特性であることを特徴とする請求項１記載の半導体集積回路。
【国際調査報告】
2009078081.tif 000019
2009078081.tif 000020