JPWO2009078081A1 - 半導体集積回路 - Google Patents

半導体集積回路 Download PDF

Info

Publication number
JPWO2009078081A1
JPWO2009078081A1 JP2009546095A JP2009546095A JPWO2009078081A1 JP WO2009078081 A1 JPWO2009078081 A1 JP WO2009078081A1 JP 2009546095 A JP2009546095 A JP 2009546095A JP 2009546095 A JP2009546095 A JP 2009546095A JP WO2009078081 A1 JPWO2009078081 A1 JP WO2009078081A1
Authority
JP
Japan
Prior art keywords
circuit
semiconductor integrated
internal circuit
integrated circuit
energy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009546095A
Other languages
English (en)
Other versions
JP5024389B2 (ja
Inventor
廣 岡野
廣 岡野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2009078081A1 publication Critical patent/JPWO2009078081A1/ja
Application granted granted Critical
Publication of JP5024389B2 publication Critical patent/JP5024389B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0008Arrangements for reducing power consumption
    • H03K19/0016Arrangements for reducing power consumption by using a control or a clock signal, e.g. in order to apply power supply

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

(課題)本発明の目的は、内部回路に対して、動作周波数又は動作電圧の変更を行う機能と、電源の供給の切断及び分離を行う機能とを有し、DVFS手法及びPG手法の内、どちらか有利となる消費電流削減手法を実施することを特徴とする半導体集積回路装置を提供することにある。(解決手段)上記の課題を解決するため、本発明は、素子特性検出回路と、素子特性に対応して、内部回路が行うべきタスクの実行中に、パワーゲーティング動作を行った場合の消費エネルギー及び電圧及び周波数を減少させた動作を行った場合の消費エネルギーを算出する算出回路と、消費エネルギーが小さい動作を内部回路に対して行う回路を活性化する切り替え回路と、を備えることを特徴とする半導体集積回路装置を提供する。【選択図】 図1

Description

本発明は半導体集積回路に関し、特に、消費電力を低減するように内部回路の動作状態を調整する回路機能を有する半導体集積回路に関する。
半導体素子の微細化に伴い、MOSトランジスタのソース・ドレイン間の距離が縮小され、ソース・ドレイン間のリーク電流が増大している。そのリーク電流は、MOSトランジスタの動作温度の上昇とともに、さらに、指数関数的に増大する。また、上記の漏れ電流は、MOSトランジスタの製造バラツキにより、閾値が低くなることによっても増大する。そのため、MOSトランジタから構成された半導体集積回路では、上記のリーク電流の増大により、消費電力が増大している。
そこで、マイクロプロセッサなどでは、処理負荷に応じて、内部回路の電源電圧又は動作クロックの周波数を切り替える回路機能を有し、消費電力を低減するDVFS(Dynamic Voltage and Frequency Scaling)手法が採用されている。
また、携帯機器などでは、内部回路がスタンバイ状態のときに、その内部回路への電源供給を切断し、消費電力を削減するPG(Power Gating)手法が採用されている。
DVFS手法によれば、WCET(Worst Case Execution Time)が長いタスクに対して、動作周波数又は動作電圧の調整により、回路の動作期間を合致させて、単位時間あたりの動作電流及び漏れ電流の双方を低減することができる。例えば、特許文献1には、要求性能に応じて、クロック制御回路、電源電圧制御回路を制御可能し、低電力化を実現している半導体集積回路装置が記載されている。
一方、PG手法によれば、回路動作時の動作電流及び漏れ電流は削減できないが、WCET中における回路の非動作期間の漏れ電流は削減可能である。
上記のように、消費電流の削減において、半導体集積回路装置内の回路動作と回路動作に関するWCETとの状況により、DVFS手法又はPG手法のどちらか一方を用いられてきた。しかし、同一半導体集積回路装置内で、DVFS手法及びPG手法の内、どちらが有利となるかは、半導体集積回路装置の動作温度条件、製造条件により異なる場合がある。
特開2001−345693号公報
(発明が解決しようとする課題)
本発明の目的は、内部回路に対して、動作周波数又は動作電圧の変更を行う機能と、電源の供給の切断及び分離を行う機能とを有し、DVFS手法及びPG手法の内、どちらか有利となる消費電流削減手法を実施することを特徴とする半導体集積回路装置を提供することにある。
(課題を解決するための手段)
上記の課題を解決するため、本発明は、素子特性を検出する検出回路と、上記の素子特性に対応して、内部回路が行うべきタスクに対して、タスクを実行中に、パワーゲーティング動作を行った場合の第1消費エネルギー、及び、電圧及び周波数を減少させた動作を行った場合の第2消費エネルギーを算出する算出回路と、第1消費エネルギーが前記第2消費エネルギーより小さいときは、パワーゲーティング動作を内部回路に対して行う第1回路を活性化し、前記第2消費エネルギーが第1消費エネルギーより小さいときは、電圧及び周波数を減少させた動作を内部回路に対して行う第2回路を活性化する、切り替え回路と、を備えることを特徴とする半導体集積回路装置を提供する。
(発明の効果)
半導体集積回路装置内で、DVFS手法及びPG手法の内、どちらが内部回路の消費エネルギーの削減となるかを、半導体集積回路装置の素子特性により判断し、削減効果が大きい手法を実現する回路を選択し、動作させる半導体集積回路装置を提供することができる。
図1は実施例1の半導体集積回路100及び電源70を示す。 図2は温度センサ40を示す。 図3は7ビットの発振周波数コード[7:0]を入力として、3ビットのプロセス寸法ばらつきコード[2:0]及び3ビットの温度コード[2:0]を出力する場合の変換表を示す。 図4は消費エネルギー算出回路13a及び切り替え回路12により、各タスクにおいて、VDSF手法又はパワーゲーティング手法の内の一つの手法を選択し、上記の手法の内の一つを実行するための、フローチャート300を示す。 図5はPG手法又はDVFS手法を実行したときの消費エネルギーを計算するための、各タスクに対する電源電圧、動作周波数、活性化率、WCETに関する表を示す。 図6はPG手法又はDVFS手法を実行したときの消費エネルギーを計算するための、温度に対する回路のIleak(リーク電流)に関する表を示す。 図7は温度又は製造ばらつきに対するリーク電流の状態が示されているグラフを示す。 図8は回路が通常動作をする場合、DVFS手法が適用されて動作する場合、PG手法が適用されて動作する場合において、あるタスクに対する消費電流の時間依存を表した図表を示す。 図9は回路が通常動作をする場合、DVFS手法が適用されて動作する場合、PG手法が適用されて動作する場合において、第1タスク及び第2タスクを連続して行う場合の消費電流の時間依存を表した図表を示す。 図10は温度と消費エネルギーとの関係を表したグラフを示す。 図11は実施例2の半導体集積回路500及び電源70を示す。 図12はPG手法又はDVFS手法を実行したときの消費エネルギーを計算するための、プロセス寸法ばらつきコードに対する回路のIleak(リーク電流)に関する表を示す。 図13は実施例3の半導体集積回路600及び電源70を示す。 図14はPG手法又はDVFS手法を実行したときの消費エネルギーを計算するための、温度コード及びプロセス寸法ばらつきコードに対する回路のIleak(リーク電流)に関する表を示す。 図15は実施例4の半導体集積回路700及び電源70を示す。 図16は電流リークセンサ710の回路構成及び電流リークセンサ710の動作波形を示す。
以下、本発明の実施例1、実施例2、実施例3、及び、実施例4について説明する。ただし、本発明は上記の実施例に限定されるものではない。
(実施例1)
実施例1の半導体集積回路100は、温度を測定する回路と、上記の温度を用いて、内部回路が行うべきタスクに対して、前記タスクを実行中に、PG手法を用いた場合の第1消費エネルギー及びDVFS手法を用いた場合の第2消費エネルギーを算出する回路と、前記第1消費エネルギーが前記第2消費エネルギーより小さいときは、PG手法を実現する回路を活性化し、前記第2消費エネルギーが前記第1消費エネルギーより小さいときは、DVFS手法を実現する回路を活性化する切り替え回路と、を備えることを特徴とする半導体集積回路装置である。
図1に、実施例1の半導体集積回路100及び電源70を示す。半導体集積回路100は、CPU10、パワーゲーティングコントロール回路20、パワーゲーティングスイッチ30、温度センサ40、電源電圧制御回路50、クロックコントロール回路60、外部クロック信号端子80、及び、電源端子31から構成されている。
半導体集積回路100は、電源70より、電源電圧制御回路50からの電源電圧変更指示信号51に応じた電源電圧の供給を受けて動作する集積回路である。なお、電源電圧変更指示信号51は、例えば、コード信号である。また、電源電圧の供給は外部電源線Vdd71を介して行われる。
電源電圧制御回路50は切り替え回路12からの電源電圧変更指示信号52を受けて、電源70への電源電圧変更指示信号51を発生する回路である。電源電圧変更指示信号52はコード信号であり、電源電圧変更指示信号51もコード信号であることから、電源電圧制御回路50を、例えば、通常のコード変換回路で構成することができる。
クロックコントロール回路60は、CPU10からのクロック周波数変更指示信号16を受けて、外部クロック信号に基づいて発生するクロック信号61の周波数を低下させるように変更する回路である。なお、外部クロック信号は、クロックコントロール回路60に対して、外部クロック信号端子80を介して入力される。
温度センサ40は、CPU10からの温度測定指示43を受けて、温度測定結果44を出力回路である。なお、温度センサ40についての詳細は、図3を用いて、後述する。
パワーゲーティングスイッチ30は、外部電源線Vdd71及び電源端子31を介して、一方の端に電源電圧が供給される。他方の端にはCPU10の内部回路11aに接続している。その結果、パワーゲーティングスイッチ30は、パワーゲーティングコントロール回路20からの制御信号21の論理に応じて、オン/オフし、その結果、電源端子31と内部回路11aとを接続又は分離する機能をもつスイッチである。例えば、駆動能力が大きい、MOSトランジスタをパワーゲーティングスイッチ30として採用可能である。
パワーゲーティングコントロール回路20は、CPU10のPMU(Power Managing Unit)14からの指示信号18を受けて、制御信号21を発生する回路である。
内部回路11aが複数、CPU10内に存在する場合は、各内部回路11aに対してパワーゲーティングスイッチ30が存在し、パワーゲーティングコントロール回路20も複数存在する。そうすると、指示信号20は、例えば、コード信号である。また、パワーゲーティングコントロール回路20は、例えば、指示信号20を受けて、選択されたか否かを判断するデコード回路とそのデコード回路から発生された信号を増幅する増幅回路から構成されことができる。
CPU10は内部回路11a及びPMU14から構成されている。内部回路11aは切り替え回路12、消費エネルギー算出回路13a、及び、記憶部17aを含む回路である。
消費エネルギー算出回路13aは、温度センサ40に対して、温度測定指示43を出力し、温度測定結果44を得る回路である。そして、消費エネルギー算出回路13aは、式(1)を用いて、PG手法を用いた場合に、内部回路11aが消費する消費エネルギーを算出する。また、消費エネルギー算出回路13aは、温度測定結果44に基づいて、式(2)を用いて、DVFS手法を用いた場合に、内部回路11aが消費する消費エネルギーを算出する。そして、切り替え回路12からの結果取得信号を受けたときに、式(1)を用いて算出した消費エネルギーが式(2)を用いて算出した消費エネルギーより大きい場合は、論理"H"の結果通知信号を出力し、その逆の場合には論理"L"の結果通知信号を出力する。
式(1)
E=C×A×Vdd1×f1×(f2/f1)×WCET+Ileak×Vdd1×(f2/f1)×WCET
式(2)
E=C×A×Vdd2×f2×WCET+Ileak×Vdd2×WCET
なお、一般的に消費エネルギーは式(3)で表される。
式(3)
E=P×T=C×A×Vdd×f×T+Ileak×Vdd×T
そこで、PG手法を用いる場合にはT=(f2/f1)×WCETであり、DVFS手法を用いる場合にはT=WCETなため、式(1)及び式(2)が導かれる。
ここで、Cは内部回路11aの負荷容量である。Aは、タスク毎に定められた活性化率である。Vdd1及びf1は、あるタスクに対して、PG手法を用いて、内部回路を動作させるための動作電圧及び内部回路に与えられるクロックの周波数である。同様に、Vdd2及びf2は、あるタスクに対して、DVFS手法を用いて、内部回路を動作させるための動作電圧及び内部回路に与えられるクロックの周波数である。
また、WCETは、タスク毎に設定されている、最悪ケース実行時間である。Ileakは、タスク毎に設定されている、CPU10の内部回路11aの漏れ電流である。さらに、Ileakは、温度測定結果44に対応して設定されている。
そして、消費エネルギー算出回路13aは、消費エネルギー算出回路13aに含まれる記憶部17aに、上記の計算に必要な、後述する各タスクに対応するf1、Vdd1、f2、Vdd2、WCET、Aの表、及び、温度コードに対応するlleakの表、を記憶している。また、消費エネルギー算出回路13aの記憶部17aは、図3において後述するコード変換表を記憶している。
そして、消費エネルギー算出回路13aは、次のようにして、温度コードに対応するlleakを求める。
まず、実施例1の半導体集積回路100の動作試験を行う際に、温度を固定して温度センサ40を動作させて得た、温度測定結果44、すなわち、FCODEから、消費エネルギー算出回路13aは、上記のコード変換表を使用してPCODEを求める。そして、その、消費エネルギー算出回路13aは、上記のPCODEを記憶部17aに記憶させる。
そこで、通常の動作時には、消費エネルギー算出回路13aは、温度測定結果44と、上記のPCODEに対応した変換表(後に、図3Bを用いて説明する、FCODEとTCODEとの変換表)を用いて、温度コードを求める。その後、消費エネルギー算出回路13aは、上記の温度コードに対応するlleakの表を用いて、Ileakを求める。
切り替え回路12は、結果取得信号を消費エネルギー算出回路13aに出力し、消費エネルギー算出回路13aからの結果通知信号を受けとる。そして、結果通知信号の論理が"L"の場合は、PMU14に対して、パワーゲーティング手法を内部回路11aに対して適用するように信号を出力し、電源電圧制御回路50及びクロックコントロール回路60に対しては、VDFS手法を適用しないように電源電圧変更指示信号52及びクロック周波数変更指示信号16を出力する。
一方、結果通知信号の論理が"H"の場合は、PMU14に対して、パワーゲーティング手法を内部回路11aに対して適用しないように信号を出力し、電源電圧制御回路50及びクロックコントロール回路60に対しては、VDFS手法を適用するように電源電圧変更指示信号52及びクロック周波数変更指示信号16を出力する。
PMU回路14は、切り替え回路12からの信号を受け、その信号の論理に応じて、パワーゲーティングコントロール回路20を制御する信号を出力する。その制御内容は、パワーゲーティングコントロール回路20の説明において、後述する。
PMU回路14は、復帰回路15を含む。内部回路11aの電源供給がパワーゲーティング手法により切断された後、所定時間経過したのち、復帰回路15は、内部回路11aへの電源供給を行うための信号を、パワーゲーティングコントロール回路20に出力する。なお、上記の所定時間は、例えば、復帰回路15内に通常のタイマー回路が含まれており、そのタイマー回路により計測される。また、上記の所定時間は、復帰回路15が切り替え回路12からの信号を受けることによって、タスク毎に設定されるものであってもよい。その場合は、切り替え回路12からの信号はコード信号であり、復帰回路15内には、そのコード信号に応じて計測時間がことなるタイマー回路を有する。
パワーゲーティングコントロール回路20は、PMU回路14からのパワーゲーティング指示信号18、復帰信号19受けて、パワーゲーティングスイッチ30のオン/オフを制御する制御信号を出力する。具体的には、一方の入力をパワーゲーティング指示信号18とし、他方の入力を復帰信号19とし、出力を制御信号21とする、RSフリップフロップがパワーゲーティングコントロール回路20には内蔵されている。
そこで、切り替え回路12からの信号により、PMU回路14は、これから行うタスクに対するWCETが通知され、そのタスクに対してパワーゲーティングを行うことが通知される。また、タスクの開始後、内部回路の動作が終了するときに、PMU回路14は、通常、論理"L"状態から論理"H"となるパルスを、パワーゲーティング指示信号18として出力する。その後、復帰回路15が内蔵するタイマー回路により、所定の時間を計測したのち、復帰回路15は、通常、論理"L"状態から論理"H"となるパルスを、復帰信号19として出力する。なお、PMU回路14が、切り替え回路12から、内部回路が動作を終了したことを示す動作終了信号を、受け取とることにより、内部回路の動作が終了するときが、PMU回路14に知らされることが望ましい。しかし、PMU14に対して、切り替え回路12から、タスク毎に、送付される信号から、クロックをカウントし、所定のカウント値に達したときを、内部回路の動作が終了するときとしてもよい。
そうすると、パワーゲーティング指示信号18のパルスから、復帰信号19のパルスまでの間は、制御信号21は論理"H"になる。また、復帰信号19のパルスから、次のパワーゲーティング指示信号18のパルスまでの間は、制御信号21は論理"L"になる。そして、制御信号21の論理に応じて、パワーゲーティングスイッチ30がオン/オフする。
パワーゲーティングスイッチ30は、一方の端子に電源端子31に接続する電源線が接続し、他方の端子に内部電源線となる仮想Vdd31が接続し、制御信号21の論理に応じて、電源端子31に接続する電源線と仮想Vdd31とを接続・分離する。パワーゲーティングスイッチ30は、例えば、駆動能力が大きいMOSトランジスタにより構成することができる。具体的には、上記の制御信号21の論理が、内部回路11aの動作終了時に、論理"L"となることから、N型MOSトランジスタが、パワーゲーティングスイッチ30が望ましい。しかし、制御信号21の反転信号を、パワーゲーティングスイッチ30の制御に用いることとすれば、P型MOSトランジスタであってもよい。
図2を用いて、温度センサ40について説明する。図2Aが示す温度センサ40はリングオシレータ部41及びクロックカウント部42から構成されている。
温度センサ40を構成する回路において、rosc_en、および、count_enは、消費エネルギー算出回路13aから与えられる信号である。rosc_enはクロック信号clkのイネーブル信号である。また、count_enはカウント開始を指示する信号である。クロック信号clkは、外部クロック信号80であってもよいし、または、クロックコントロール回路60からのクロック信号61であってもよい。
リングオシレータ部41はフリップフロップ41a、NAND41b、インバータ41c、41d、41e、41f、フリップフロップ41h、インバータ41iから構成されており、信号rosc_clkを出力する。上記の構成要素の内、NAND41bとインバータ41c、41d、41e、41fは、リングオシレータを構成し、フリップフロップ41hとインバータ41iは、1/2分周器を構成する。
リングオシレータ部41の素子にはLow−Vthトランジスタが使用され、Low−Vthトランジスタのプロセス寸法ばらつきが信号rosc_clkの周波数に反映される。リングオシレータ部41は、クロック信号clkの複数サイクルのうち、信号rosc_enが論理"1"の期間、発振する。その発振周波数は、リングオシレータ部41を構成する各素子の遅延時間により決定される。
クロックカウント部42は、フリップフロップ42a、42b、42c、42d、42g、42i、AND42e、42f、およびインクリメンタ42hから構成され、信号FCODEを出力する。この回路は、クロック信号clkの複数サイクルのうち、信号count_enが論理“1”の期間に、クロック信号rosc_clkが何回トグルしたかをカウントする回路である。クロック信号clkで駆動されるフリップフロップ42iとrosc_clkで駆動されるフリップフロップ42d間では、信号の非同期乗り換えが必要となるため、AND42f、フリップフロップ42g、インクリメンタ42hからなるメタステーブル対策回路と、AND42eからなるゲーテッドクロックバッファが設けられている。
2Bは、図2Aが示す温度センサ40の動作波形を示している。図2Bにおいて、クロック信号clkとクロック信号rosc_clkは非同期であり、これらのクロックのサイクルは異なっている。クロック信号rosc_clkのサイクルは、リングオシレータ部41の遅延特性により決定される。
信号rosc_enがアサートされると、リングオシレータ部41が発振を開始し、rosc_clkがトグルを開始する。次に、信号count_enがアサートされると、ゲーテッドクロック信号rosc_gclkがトグルを開始し、フリップフロップ42gおよびインクリメンタ42hにより何回トグルしたかがカウントされる。そのカウント値は、フリップフロップ42gの出力信号rosc_countとして現れ、フリップフロップ42iに保持された後、信号FCODEとして出力される。なお、FCODEは、温度センサ回路40から消費エネルギー算出回路13aに、温度測定結果44として出力される。
ここでは、clkとrosc_clkが非同期のクロック信号であるため、発振開始/停止のタイミングとカウント開始/停止のタイミングに対して、非同期乗り換えが悪影響を及ぼさないように、信号rosc_enと信号count_enとを別々に与えている。
信号count_enがネゲートされると、クロック信号rosc_gclkがトグルを停止し、フリップフロップ42gはカウントアップを停止する。このときの信号FCODEの値Nが、Low−Vthトランジスタからなるリングオシレータ部41の発振回数を示している。
図3を用いて、7ビットの発振周波数コード[7:0](FCODE)を入力として、3ビットのプロセス寸法ばらつきコード[2:0](PCODE)及び3ビットの温度コード[2:0](TCODE)を出力する場合の変換表を示す。
図3Aに示す変換表において、発振周波数コード[7:0](FCODE)は、プロセス寸法ばらつきに対応するLow−Vthトランジスタからなるリングオシレータ部41が発生するクロックのカウント値を表す。そして、クロックカウンタ部42のカウント値の最大値を83とし、カウント値を0から7までの8カテゴリに分類して表している。すなわち、プロセス寸法ばらつきの程度を8カテゴリで表している。プロセス寸法ばらつきコード(PCODE)[2:0]は上記の8カテゴリに対応するコードを表す。
なお、発振周波数コード(FCODE)とプロセス寸法ばらつきコード(PCODE)の対応関係は、例えば、SPICE(Simulation Program with Integrated Circuit Emphasis )等の回路シミュレータで予めシミュレーションを行って求めることができる。
図3Bに示すプロセス寸法ばらつきコード7に対応する変換表において、発振周波数コード[7:0](FCODE)は、温度ばらつきに対応するLow−Vthトランジスタからなるリングオシレータ部41が発生するクロックのカウント値を表す。そして、クロックカウンタ部42のカウント値の最大値を99とし、カウント値を0から7までの8カテゴリに分類して表している。温度コード[2:0](TCODE)は上記の8カテゴリに対応するコードを表す。
そして、温度コード[2:0](TCODE)が3であるときに対応する発振周波数80から83は、図4Aに示す変換表のうち、プロセス寸法ばらつきコード(PCODE)が7であるときに対応する発振周波数と同じ周波数である。
従って、図3Bに示すプロセス寸法ばらつきコード(PCODE)が7であるときの変換表は、プロセス寸法ばらつきの程度がコード7である場合に、リングオシレータ部41が発生するクロックのカウント値から温度コード(TCODE)を求めるのに使用される。
同様に、図3Bに示すプロセス寸法ばらつきコード(PCODE)がコード6からコード0に対応する変換表は、プロセス寸法ばらつきの程度がコード6から0である場合に、リングオシレータ部41が発生するクロックのカウント値から温度コード(TCODE)を求めることができる。上記と同様、図3Bの変換表それぞれにおいて、温度コード(TCODE)がコード3であるときの発振周波数は、図3Aに示す変換表のうち、プロセス寸法ばらつきコード(PCODE)に対応する発振周波数と同じ周波数となっているからである。
図4において、消費エネルギー算出回路13a及び切り替え回路12により、各タスクにおいて、VDSF手法又はパワーゲーティング手法の内の一つの手法を選択し、上記の手法の内の一つを実行するための、フローチャート300を示す。
フローチャート300は、開始ステップ、情報取得ステップ310、温度測定ステップ320、消費エネルギー算出ステップ330、比較ステップ340、DVFS方式実行ステップ350、PG(パワーゲーティング)方式実行ステップ360、及び、終了ステップから構成されている。
情報取得ステップ310は、切り替え回路12が、DVFS方式を実行する場合における、タスクの動作周波数、電源電圧、WCET、及び、活性化率の情報を取得すること、及び、PG(パワーゲーティング)方式を実行する場合における、タスクの動作周波数、電源電圧、WCET、及び、活性化率の情報を取得することを行うステップである。
温度測定ステップ320は、切り替え回路12からの温度測定指令を受けて消費エネルギー算出回路13aが温度測定指示43を温度センサ40に対して出力し、温度センサ40から温度測定結果44を取得するステップである。
なお、半導体集積回路100の試験工程において、図2Aで説明した温度センサ40を、温度を固定して動作させて、カウント部42が示すカウント値を測定することにより、どの変換表を使用して温度を求めるかについては、特定することができる。
また、その後、温度を変化させながら、温度センサ40のカウンタ部42が示すカウント値を測定することにより、温度コードと実際の温度との対応をとることができる。
消費エネルギー算出ステップ330は、式(1)を用いてPG方式を選択したときの消費エネルギーを算出し、また、式(2)を用いてDVFS方式を選択したときの消費エネルギーを算出するステップである。なお、式(1)及び式(2)を計算するに必要な電源電圧、動作周波数、活性化率、WCETは、図5に示す表を記憶している記憶部17aから取得する。また、同様に、Ileakは、図6に示す表を記憶している記憶部17aから取得する。
比較ステップ340は、式(1)で求めた消費エネルギーと、式(2)で求めた消費エネルギーとを比較し、その大小を判定するステップである。その判定の結果に基づいて次のようなステップを行う。
DVFS方式実行ステップ350は、式(2)で求めた消費エネルギーが小さい場合に、すなわち、DFVS方式を実行したほうが、消費エネルギーが小さい場合に、DFVS方式を実行するステップである。
PG方式実行ステップ360は、式(1)で求めた消費エネルギーを小さい場合に、すなわち、PG方式を実行したほうが、消費エネルギーが小さい場合に、PG方式を実行するステップである。
そして、DVFS方式、または、PG方式を実行した後、タスクは終了する。
図5を用いて、PG手法又はDVFS手法を実行したときの消費エネルギーを計算するための、各タスクに対する電源電圧、動作周波数、活性化率、WCETに関する表を示す。
図5に示す表は、各タスクを示す欄、各タスクを実行するための動作周波数、電源電圧、活性化率、WCETを示す欄が示されている。なお、各タスクに対する電源電圧、動作周波数、活性化率、WCETに関する表は記憶部17aに記憶されている。
図6を用いて、PG手法又はDVFS手法を実行したときの消費エネルギーを計算するための、温度に対する回路のIleak(リーク電流)に関する表を示す。図6に示す表は、温度を示す欄、及び、Leak電流を示す欄が示されている。なお、温度に対する回路のIleak(リーク電流)に関する表は記憶部17aに記憶されている。
図7に、温度又は製造ばらつきに対するリーク電流の状態が示されているグラフを示す。上記のグラフにおいて、横軸は温度又は製造ばらつきにより生じたパターン寸法を表す。ただし、温度については、右側程、温度が高い。一方、パターン寸法については、右側程、パターン寸法が小さい。縦軸はリーク電流の電流値を示す。グラフ中、点線は、温度又は製造ばらつきにより生じたパターン寸法が、所定の値にあることを示す。
そして、図7のグラフによれば、温度が点線で示す所定値より小さいときは、回路のリーク電流は小さいが、温度が点線で示す所定値より大きくなると、急激に回路のリーク電流が増加することを示す。また、製造ばらつきにより生じたパターン寸法が、点線で示す所定値より大きいときは、回路のリーク電流は小さいが、製造ばらつきにより生じたパターン寸法が、点線で示す所定値より小さいときは、急激に回路のリーク電流は増加することを示す。
そして、回路のリーク電流が小さいときには、DVFS手法による消費エネルギーの低減が有効であることを示す。一方、回路のリーク電流が増加するときには、PG手法による消費エネルギーの低減が有効であることを示す。
図8に、回路が通常動作をする場合、DVFS手法が適用されて動作する場合、PG手法が適用されて動作する場合において、あるタスクに対する消費電流の時間依存を表した図表を示す。図8の表により、回路のリーク電流が大きいときにはPG手法を、回路のリーク電流が小さいときにはDVFS手法を適用する理由について説明する。
図8の表において、行方向の上段には、温度が低温であり、製造ばらつきにより生じたパターン寸法がスロー条件であるときの、消費電力の時間依存を表したグラフを配置している。行方向の下段には、温度が高温であり、製造ばらつきにより生じたパターン寸法がファースト条件であるときに、消費電力の時間依存を表したグラフを配置している。
図8の表において、第1列には、通常の回路動作に対する消費電力の時間依存を表したグラフを配置している。第2列には、DVFS手法を適用した回路動作に対する消費電力の時間依存を表したグラフを配置している。第3列には、PG手法を適用した回路動作に対する消費電力の時間依存を表したグラフを配置している。
行方向の上段かつ第1列に配置されたグラフによれば、WCET期間の内の所定期間しか回路動作を要しないタスクにおいて、内部回路11aは所定期間において大きな消費エネルギーを伴ってアクティブ動作をするが、それ以外の期間においては、内部回路11aのリーク電流に基づくエネルギー以外は、エネルギーを消費しないことがわかる。
行方向の上段かつ第2列には、上記のタスクにおいて、DVFS手法を適用した場合の内部回路11aの消費エネルギーの時間依存を示す。動作電圧及び動作周波数を低下させることにより、内部回路11aはWCET期間のすべての期間においてアクティブ動作をする。
消費エネルギーは電圧の2乗に比例し、周波数に比例するため、単位時間あたりの消費エネルギーが減少する。そうすると、内部回路11aの動作期間は長期化したが、単位時間あたりの消費エネルギーが減少するため、内部回路11aがタスクを処理するための消費エネルギーは減少する。
行方向の上段かつ第3列には、上記と同様なタスクにおいて、PG手法を適用した場合の内部回路11aの消費エネルギーの時間依存を示す。内部回路11aは所定期間において大きな消費エネルギーを伴ってアクティブ動作をする。それ以外の期間においては、PG手法による制御が内部回路11aに適用されるため、内部回路11aはアクティブ動作に伴う消費エネルギーもリーク電流に基づく消費エネルギーも消費しない。しかし、リーク電流に基づく消費エネルギーは、通常動作においても少なかったため、内部回路11aがタスクを処理するための消費エネルギーはそれ程減少しない。
行方向の下段かつ第1列には、内部回路11aのリーク電流が大きい状態において、内部回路11aが、上記と同様なタスクを、通常動作により行う場合の消費エネルギーの時間依存を示す。内部回路11aは所定期間において、アクティブ動作と、リーク電流とに基づく大きな消費エネルギーを消費する。また、所定期間以外の期間において、内部回路11aはリーク電流に基づく消費エネルギーを消費する。
行方向の下段かつ第2列には、内部回路11aのリーク電流が大きい状態において、上記と同様なタスクにおいて、DVFS手法を適用した場合の内部回路11aの消費エネルギーの時間依存を示す。内部回路11aの動作周波数及び動作電圧を低下させることにより、アクティブ動作に関する消費エネルギーを低減することはできる。しかし、リーク電流に基づく消費エネルギーは減少せず、また、リーク電流に基づく消費エネルギーが大きいため、内部回路11aがタスクを行うための消費エネルギーの全体はそれ程減少しない。
行方向の下段かつ第3列には、内部回路11aのリーク電流が大きい状態において、上記と同様なタスクにおいて、PG手法を適用した場合の内部回路11aの消費エネルギーの時間依存を示す。
内部回路11aは所定期間において、アクティブ動作と、リーク電流とに基づく大きな消費エネルギーを消費する。しかし、その期間以外では、内部回路11aは、アクティブ動作による消費エネルギーも、リーク電流に基づく消費エネルギーも、消費しない。その結果、内部回路11aの非アクティブ期間におけるリーク電流に基づく消費エネルギーを、削減することができるため、内部回路11aがタスクを行うための消費エネルギーを減少させることができる。
上記より、回路のリーク電流が大きいときにはPG手法を、回路のリーク電流が小さいときにはDVFS手法を適用することが、内部回路11aがタスクを行うための消費エネルギーを減少させるために適していることがわかる。
図9に、回路が通常動作をする場合、DVFS手法が適用されて動作する場合、PG手法が適用されて動作する場合において、第1タスク及び第2タスクを連続して行う場合の消費電流の時間依存を表した図表を示す。上記のような場合でも、回路のリーク電流が大きいときにはPG手法を、回路のリーク電流が小さいときにはDVFS手法を適用する理由について説明する。
図9の一列目には、第1タスク及び第2タスクが連続して行われる場合に、各タスクにおける内部回路11aの動作周波数を示したグラフが示されている。
そして、一列目、上段のグラフが示すように、通常動作の場合、すなわち、DVFS手法、及び、PG手法の適用をするように制御しない場合、第1タスク及び第2タスクにおいて、内部回路11aは、周波数f1、電圧V1で動作する。
また、一列目、中段のグラフが示すように、DVFS手法を適用した場合、第1タスクにおいて、内部回路11aは周波数f1、電圧V1で動作する。また、第2タスクにおいては、内部回路11aは周波数f2、電圧V2で動作する。
一列目、下段のグラフが示すように、PG手法を適用した場合、第1タスク及び第2タスクにおいて、内部回路11aは、周波数f1、電圧V1で動作する。
図9の二列目には、内部回路11aのリーク電流が小さい場合に、第1タスク及び第2タスクが連続して行われるときの、内部回路11aの消費電力の時間変化が示されている。
そして、二列目、上段のグラフが示すように、通常動作時には、動作周波数f1、動作電圧V1で動作するとき、第1タスクを処理しているWCET1期間中、内部回路11aはすべてのWCET1期間に渡ってアクティブ動作する必要がある。そして、内部回路11aはアクティブ動作に必要な一定の消費エネルギーを消費する。第2タスクを処理しているWCET2期間中、動作周波数f1、動作電圧V1で動作するとき、内部回路11aはWCET2期間の半分程度の期間でアクティブ動作を終了する。そして、アクティブ動作期間中、一定の消費エネルギーを消費する。
二列目、中段のグラフが示すように、DVFS手法を適用した場合でも、第1タスクをWCET1期間中に処理する必要があり、内部回路11aは動作周波数f1、動作電圧V1で動作する必要がある。従って、すべてのWCET1期間に渡ってアクティブ動作に必要な一定の消費エネルギーを消費する。第2タスクをWCET2期間中に処理するには、内部回路11aは動作周波数f2、動作電圧V2で動作すればよい。従って、すべてのWCET2期間に渡って、動作周波数f2、動作電圧V2でアクティブ動作するに必要な一定の消費エネルギーを消費する。その結果、タスク2を実行している期間中、内部回路11aの消費するエネルギーは減少する。
二列目、下段のグラフが示すように、PG手法を適用した場合でも、第1タスクをWECT11期間中に処理する必要があり、内部回路11aは動作周波数f1、動作電圧V1で動作する必要がある。従って、すべてのWCET1期間に渡ってアクティブ動作に必要な一定の消費エネルギーを消費する。また、第2タスクをWCET2期間中に処理する場合、内部回路11aは動作周波数f1、動作電圧V1でアクティブ動作し、WCET2期間の半分程度の時間でアクティブ動作を終了する。その後、内部回路11aの電源供給は停止される。しかし、内部回路11aのリーク電流は小さいため、タスク1及びタスク2処理期間中の消費エネルギーはそれ程減少しない。
図9の三列目には、内部回路11aのリーク電流が大きい場合に、第1タスク及び第2タスクが連続して行われるときの、内部回路11aの消費電力の時間変化が示されている。
三列目、上段のグラフが示すように、通常動作時には、動作周波数f1、動作電圧V1で動作するとき、第1タスクを処理しているWCET1期間中、内部回路11aはすべてのWCET1期間に渡ってアクティブ動作する必要がある。また、上記と同様、第2タスクを処理しているWCET2期間中、内部回路11aはWCET2期間の半分程度の期間アクティブ動作する。ここで、内部回路11aのリーク電流は大きいため、内部回路11aはWCET1及びWCET2の全期間、リーク電流の基づく消費エネルギーを消費する。また、内部回路11aは、タスク1を処理しているWCET1期間中、及び、タスク2を処理している期間中(WCET2の半分程度の期間)には、アクティブ動作の基づく消費エネルギーを消費する。
三段目、中段のグラフが示すように、DFVS手法を適用する場合、内部回路11aはタスク1処理中、動作周波数f1、動作電圧V1でのアクティブ動作に必要な消費エネルギーを消費する。また、タスク2処理中、動作周波数f2、動作電圧V2でのアクティブ動作に必要な消費エネルギーを消費する。それに加え、内部回路11aは、リーク電流に基づく消費エネルギーをWCET1期間中及びWCET2期間中に消費する。従って、リーク電流に基づく消費エネルギーが大きいため、内部回路11aが消費する消費エネルギーはそれ程減少しない。
三段目、下段のグラフが示すように、PG手法を適用する場合、内部回路11aはタスク1処理中、動作周波数f1、動作電圧V1でのアクティブ動作に必要な消費エネルギー及びリーク電流の基づく消費エネルギーを消費する。また、タスク2処理中には、タスク2を処理するに必要な期間中、動作周波数f1、動作電圧V1でのアクティブ動作に必要な消費エネルギー及びリーク電流に基づく消費エネルギーを消費する。しかし、タスク2処理中には、タスク2の処理が終了すれば、内部回路11aはアクティブ動作に必要な消費エネルギーも、リーク電流の基づく消費エネルギーも消費しない。
従って、リーク電流の基づく消費エネルギーが多いため、タスク1及びタスク2を処理するための消費エネルギーは、通常動作時に比較し、大きく減少する。
上記より、上記のようなタスク1及びタスク2を連続して処理するときでも、回路のリーク電流が大きいときにはPG手法を、回路のリーク電流が小さいときにはDVFS手法を適用することが、内部回路11aがタスクを行うための消費エネルギーを減少させるために適していることがわかる。
図10により、温度と消費エネルギーとの関係を表したグラフを示す。横軸は温度を示し、縦軸は消費エネルギーを示す。黒菱形のマークと、それをつなぐ点線により、PG手法を適用した場合に、内部回路11aがタスクを処理するために必要な消費エネルギーを示す。黒四角と、それをつなぐ点線により、DVFS手法を適用した場合に、内部回路11aがタスクを処理するために必要な消費エネルギーを示す。なお、PG手法を適用したときに、内部回路11aは動作周波数f1、動作電圧Vdd1で動作する。一方、DVFS手法を適用したときに、内部回路11aは動作周波数f2、動作電圧Vdd2で動作する。
温度が低いときにはDVSF手法を適用するほうが、内部回路11aが消費する消費エネルギーは小さいが、温度が高くなり、所定の温度を超えると、PG手法を適用するほうが、内部回路11aが消費する消費エネルギーのほうが小さくなる。
以上より、実施例1の半導体集積回路100は、動作中にMOSトランジスタの特性に起因して決定されるリングオシレータの周波数をカウントする温度センサ40、その周波数から温度を導き出し、その温度に対応するリーク電流を求めた後、PG手法を適用した場合と、DVFS手法を適用した場合とで、内部回路11aの消費エネルギーを計算し、比較結果を出力する消費エネルギー算出回路13a、その切り替え結果により、内部回路11aに適用する手法を切り替える切り替え回路12、切り替え回路12からの信号に応じて、周波数、及び、電圧を変更する電源電圧制御回路50及びクロックコントロール回路60、切り替え回路12からの信号に応じて、内部回路11aへの電源の切断及び分離を制御する、パワーゲーティングコントロール回路20を有する。そのため、半導体集積回路100は、DVFS手法及びPG手法の内、どちらが内部回路の消費エネルギーの削減となるかを、半導体集積回路装置の素子特性により判断し、削減効果が大きい手法を実現する回路を選択し、動作させることができる。その結果、半導体集積回路100の消費電流が大きく削減される。
(実施例2)
実施例1の半導体集積回路100は、プロセス条件を試験工程で特定した上で、温度測定回路により測定した温度に基づいて、内部回路にPG手法を適用するか、DVFS手法を適用するかを選択している。それに対して、実施例2の半導体集積回路300は、温度を固定した試験工程において測定した、プロセス条件測定結果に基づいて、内部回路にPG手法を適用するか、DVFS手法を適用するかを選択することを特徴とする。
図11に、実施例2の半導体集積回路500及び電源70を示す。半導体集積回路500は、CPU10、パワーゲーティングコントロール回路20、パワーゲーティングスイッチ30、プロセスセンサ90、電源電圧制御回路50、クロックコントロール回路60、外部クロック信号端子80、及び、電源端子31から構成されている。
上記の半導体集積回路500において、パワーゲーティングコントローラ回路20、パワーゲーティングスイッチ30、電源電圧制御回路50、クロックコントロール回路60、外部クロック信号端子80、及び、電源端子31については、半導体集積回路100におけるものと同様である。
CPU10は、内部回路11b及びPMU14から構成されている。PMU14は実施例1におけるPMU14と同様なものである。
内部回路11bは、切り替え回路12、及び、消費エネルギー算出回路13bを含む回路である。切り替え回路12は、実施例1における切り替え回路12と同様な回路である。
消費エネルギー算出回路13bは、プロセスセンサ90に対して、プロセス条件測定指示91を出力し、プロセス条件測定結果92を得る回路である。
そして、消費エネルギー算出回路13bは、式(1)を用いて、PG手法を用いた場合に、内部回路11bが消費する消費エネルギーを算出する。また、消費エネルギー算出回路13bは、プロセス測定結果92に基づいて、式(2)を用いて、DVFS手法を用いた場合に、内部回路11bが消費する消費エネルギーを算出する。そして、切り替え回路12からの結果取得信号を受けたときに、式(1)を用いて算出した消費エネルギーが式(2)を用いて算出した消費エネルギーより大きい場合は、論理"H"の結果通知信号を出力し、その逆の場合には論理"L"の結果通知信号を出力する。
そして、消費エネルギー算出回路13bは、消費エネルギー算出回路13bに含まれる記憶部17bに、上記の計算に必要な、後述する各タスクに対応するf1、Vdd1、f2、Vdd2、WCET、Aの表、及び、プロセス寸法ばらつきコード(PCODE)に対応するlleakの表、を記憶している。また、消費エネルギー算出回路13bの記憶部17bは、図3Aにおいて説明したコード変換表を記憶している。
そして、消費エネルギー算出回路13bは、次のようにして、プロセス寸法ばらつきコードに対応するlleakを求める。
まず、実施例2の半導体集積回路500の動作試験を行う際に、温度を固定してプロセスセンサ90を動作させて得た、プロセス条件測定結果92、すなわち、FCODEから、消費エネルギー算出回路13bは、上記のコード変換表を使用してプロセス寸法ばらつきコード(PCODE)を求める。そして、消費エネルギー算出回路13bは、上記のプロセス寸法ばらつきコード(PCODE)を記憶部17bに記憶させる。
そこで、消費エネルギー算出回路13bは、記憶部17bが記憶したプロセス寸法ばらつきコードに対応するlleakの表を用いて、Ileakを求める。
以上の説明より、消費エネルギー算出回路13bは、通常動作時には、切り替え回路12に対して、実施例2の半導体集積回路500が動作試験時における、論理を有する結果通知信号を出力することになる。
プロセスセンサ90は、図2Aが示す温度センサ40と同様な回路である。そして、プロセスセンサ90はリングオシレータ部41及びクロックカウント部42から構成されている。
すなわち、プロセスセンサ90は、消費エネルギー算出回路13bからプロセス条件測定指示91を受けると、クロックカウント部から出力されるカウント値、すなわち、FCODEをプロセス条件測定結果92として出力する。
図12を用いて、PG手法又はDVFS手法を実行したときの消費エネルギーを計算するための、プロセス寸法ばらつきコードに対する回路のIleak(リーク電流)に関する表を示す。図12に示す表は、プロセス寸法ばらつきを示す欄、及び、Leak電流を示す欄が示されている。なお、プロセス寸法ばらつきに対する回路のIleak(リーク電流)に関する表は記憶部17aに記憶されている。
以上より、実施例2の半導体集積回路500は、試験時に、MOSトランジスタの素子特性に依存する、リングオシレータの周波数を検出するプロセスセンサ90、その周波数に対応するプロセス条件において、MOSトランジスタのリーク電流を特定し、PG手法を適用した場合と、DVFS手法を適用した場合とで、内部回路11bの消費エネルギーを計算し、比較結果を出力する消費エネルギー算出回路13b、その切り替え結果により、内部回路11bに適用する手法を切り替える切り替え回路12、切り替え回路12からの信号に応じて、周波数、及び、電圧を変更する電源電圧制御回路50及びクロックコントロール回路60、切り替え回路12からの信号に応じて、内部回路11bへの電源の切断及び分離を制御する、パワーゲーティングコントロール回路20を有する。そのため、半導体集積回路500は、DVFS手法及びPG手法の内、どちらが内部回路の消費エネルギーの削減となるかを、半導体集積回路装置の素子特性により判断し、削減効果が大きい手法を実現する回路を選択し、動作させることができる。その結果、半導体集積回路500の消費電流が大きく削減される。
(実施例3)
実施例1の半導体集積回路100は、温度測定回路によって、プロセス条件を試験工程で特定した上で、測定した温度に基づいて、内部回路にPG手法を適用するか、DVFS手法を適用するかを選択している。それに対して、実施例3の半導体集積回路600は、プロセス条件を特定する回路と、温度測定回路を、別々に有し、動作中において、プロセス条件を特定する回路によって特定したプロセス条件、及び、温度測定回路によって測定した温度に基づいて、内部回路に適用する消費電力手法を選択することを特徴とする。
図13に、実施例3の半導体集積回路600及び電源70を示す。半導体集積回路600は、CPU10、パワーゲーティングコントロール回路20、パワーゲーティングスイッチ30、温度センサ40、プロセスセンサ90、電源電圧制御回路50、クロックコントロール回路60、外部クロック信号端子80、及び、電源端子31から構成されている。
上記の半導体集積回路600において、パワーゲーティングコントローラ回路20、パワーゲーティングスイッチ30、電源電圧制御回路50、クロックコントロール回路60、外部クロック信号端子80、及び、電源端子31については、半導体集積回路100におけるものと同様である。
CPU10は、内部回路11c及びPMU14から構成されている。PMU14は実施例1におけるPMU14と同様なものである。
内部回路11cは、切り替え回路12、及び、消費エネルギー算出回路13cを含む回路である。切り替え回路12は、実施例1における切り替え回路12と同様な回路である。
消費エネルギー算出回路13cは、プロセスセンサ90に対して、プロセス条件測定指示91を出力し、プロセス条件測定結果92を得る回路である。また、消費エネルギー算出回路13cは、温度センサ40に対しても、温度測定指示43を出力し、温度測定結果44を得る回路である。
そして、消費エネルギー算出回路13cは、式(1)を用いて、PG手法を用いた場合に、内部回路11cが消費する消費エネルギーを算出する。また、消費エネルギー算出回路13cは、式(2)を用いて、DVFS手法を用いた場合に、内部回路11cが消費する消費エネルギーを算出する。そして、切り替え回路12からの結果取得信号を受けたときに、式(1)を用いて算出した消費エネルギーが式(2)を用いて算出した消費エネルギーより大きい場合は、論理"H"の結果通知信号を出力し、その逆の場合には論理"L"の結果通知信号を出力する。
そして、消費エネルギー算出回路13cは、消費エネルギー算出回路13cに含まれる記憶部17cに、上記の計算に必要な、各タスクに対応するf1、Vdd1、f2、Vdd2、WCET、Aの表、及び、プロセス寸法ばらつきコード(PCODE)と温度コード(TCODE)に対応するlleakの表(図14により後述する表)、を記憶している。また、消費エネルギー算出回路13cの記憶部17cは、図3A及び図3Bにおいて説明したコード変換表を記憶している。
そして、消費エネルギー算出回路13cは、次のようにして、プロセス寸法ばらつきコード及び温度コードに対応するlleakを求める。
まず、消費エネルギー算出回路13cは、実施例2の半導体集積回路500の動作試験を行う際に、温度を固定して温度センサ40を動作させて得た、温度測定結果44、すなわち、FCODEから、上記のコード変換表を使用してプロセス寸法ばらつきコード(PCODE)を求める。そして、消費エネルギー算出回路13cは、上記のプロセス寸法ばらつきコード(PCODE)を記憶部17cに記憶させる。
次いで、各タスクを開始させる前に、温度センサ40に温度測定指示43を送付し、温度測定結果44を得る。そして、図3Bに示した変換コード表の内、上記のプロセス寸法ばらつきコードに対応する変更コード表を使用して、温度コードを求める。
次いで、消費エネルギー算出回路13cは、プロセスセンサ90に、プロセス条件測定指示91を送付し、プロセス条件測定結果92を得る。そして、プロセス条件測定結果92からプロセス寸法ばらつきコードを得る。その後、消費エネルギー算出回路13cは、プロセス寸法ばらつきコード(PCODE)と温度コード(TCODE)に対応するlleakの表(図14により後述する表)を利用してIleakを求める。
図14を用いて、PG手法又はDVFS手法を実行したときの消費エネルギーを計算するための、温度コード及びプロセス寸法ばらつきコードに対する回路のIleak(リーク電流)に関する表を示す。図14に示す表は、温度を示す欄、プロセス寸法ばらつきを示す欄、及び、Leak電流を示す欄が示されている。なお、温度コード及びプロセス寸法ばらつきコードに対する回路のIleak(リーク電流)に関する表は記憶部17aに記憶されている。
以上より、実施例3の半導体集積回路600は、動作中にプロセス条件を測定するプロセスセンサ90、動作中に温度を測定する温度センサ40、動作中にそのプロセス条件及び温度において、PG手法を適用した場合と、DVFS手法を適用した場合とで、内部回路11cの消費エネルギーを計算し、比較結果を出力する消費エネルギー算出回路13c、その切り替え結果により、内部回路11cに適用する手法を切り替える切り替え回路12、切り替え回路12からの信号に応じて、周波数、及び、電圧を変更する電源電圧制御回路50及びクロックコントロール回路60、切り替え回路12からの信号に応じて、内部回路11bへの電源の切断及び分離を制御する、パワーゲーティングコントロール回路20を有する。そのため、半導体集積回路600は、DVFS手法及びPG手法の内、どちらが内部回路の消費エネルギーの削減となるかを、半導体集積回路装置の素子特性により判断し、削減効果が大きい手法を実現する回路を選択し、動作させることができる。その結果、半導体集積回路600の消費電流が大きく削減される。
(実施例4)
実施例1の半導体集積回路100は、温度測定回路によって、プロセス条件を試験工程で特定した上で、測定した温度に基づいて、内部回路にPG手法を適用するか、DVFS手法を適用するかを選択している。それに対して、実施例4の半導体集積回路700は、回路リーク電流測定回路有し、回路リーク電流測定回路により特定するリーク電流に基づいて、内部回路に適用する消費電力手法を選択することを特徴とする。
図15に、実施例4の半導体集積回路700及び電源70を示す。半導体集積回路700は、CPU10、パワーゲーティングコントロール回路20、パワーゲーティングスイッチ30、電流リークセンサ710、電源電圧制御回路50、クロックコントロール回路60、外部クロック信号端子80、及び、電源端子31から構成されている。
上記の半導体集積回路700において、パワーゲーティングコントローラ回路20、パワーゲーティングスイッチ30、電源電圧制御回路50、クロックコントロール回路60、外部クロック信号端子80、及び、電源端子31については、半導体集積回路100におけるものと同様である。
CPU10は、内部回路11d及びPMU14から構成されている。PMU14は実施例1におけるPMU14と同様なものである。
内部回路11dは、切り替え回路12、及び、消費エネルギー算出回路13dを含む回路である。切り替え回路12は、実施例1における切り替え回路12と同様な回路である。
消費エネルギー算出回路13dは、式(1)を用いて、PG手法を用いた場合に、内部回路11dが消費する消費エネルギーを算出する。また、消費エネルギー算出回路13dは、式(2)を用いて、DVFS手法を用いた場合に、内部回路11dが消費する消費エネルギーを算出する。そして、切り替え回路12からの結果取得信号を受けたときに、式(1)を用いて算出した消費エネルギーが式(2)を用いて算出した消費エネルギーより大きい場合は、論理"H"の結果通知信号を出力し、その逆の場合には論理"L"の結果通知信号を出力する。
そして、消費エネルギー算出回路13dは、消費エネルギー算出回路13dに含まれる記憶部17dに、上記の計算に必要な、各タスクに対応するf1、Vdd1、f2、Vdd2、WCET、Aの表、及び、電流リークコード(I−leakCODE)に対応するlleakの表を記憶している。
そして、消費エネルギー算出回路13dは、次のようにして、電流リークコード(I−leakCODE)に対応するlleakを求める。
まず、消費エネルギー算出回路13dは、各タスクを開始させる前に、電流リークセンサ710にリーク電流測定指示711を送付し、リーク電流測定結果712、すなわち、電流リークコード(I−leakCODE)を得る。
次いで、消費エネルギー算出回路13dは、電流リークコード(I−leakCODE)に対応するlleakの表を利用してIleakを求める。
図16を用いて、電流リークセンサ710の回路構成及び電流リークセンサ710の動作波形を示す。
図16Aに示す電流リークセンサ710は、N型MOSトランジスタ714、P型MOSトランジスタ715、容量716、オペアンプ718、AND719、JKフリップフロップ720、721、722から構成されている。
N型MOSトランジスタ714のソース及びゲートは低電位電源と接続し、ドレインは容量716の一方の端、P型MOSトランジスタ715のドレイン、オペアンプ718の一方の入力と接続している。P型MOSトランジスタ715のソースは高電位電源と接続し、ゲートはPre−charge713と接続している。
容量716の他方の端は低電位電源と接続している。オペアンプ718の他方の入力は一定電圧を維持するVref717と接続している。オペアンプ718の出力はJKフリップフロップ720、721、722のJ端子と接続している。AND回路719の一方の入力に、clock信号が入力されており、他方の入力にはPre−charge713が入力されている。AND回路719の出力はJKフリップフロップ720のクロック端子に接続されている。JKフリップフロップ720、721、722のK端子には、"H"固定の信号が入力されている。JKフリップフロップ720のQ端子とJKフリップフロップ721のクロック端子は接続されている。JKフリップフロップ721のQ端子とJKフリップフロップ722のクロック端子は接続されている。JKフリップフロップ720、721、722の/Q端子からはI−leakコードを構成するデジット信号が出力される。
図16Bの動作波形を参照して、電流リークセンサ710の動作を説明する。Pre−charge713の波形に示すように、Pre−charge713は、待機時には論理"H"に固定されている。従って、容量716の端子であって、P型MOSトランジスタ715のドレインが接続されている端子の電位は論理"L"となる。従って、オペアンプ718の出力は論理"L"であるから、JKフリップフロップ720、721、722の/Q端子からの出力は論理"L"に固定される。
そこで、消費エネルギー算出回路13dからのリーク電流測定指示711に応じて、Pre−charge713がパルス状に論理"L"になると、P型MOSトランジスタ715がオンして、容量716の一方の端の論理が"H"となる。そうすると、オペアンプ回路718は論理"H"の信号を出力する。その後、波形VOに示すように、Pre−charge713は、論理"H"となる。その結果、容量716に蓄積された電荷は、N型MOSトランジスタ714のリーク電流によって、減少する。そして、容量716の一方の端の電位がVref717の電位を下回ると、オペアンプ回路718は論理"L"の信号を出力する。そうすると、JKフリップフロップ720、721、722は、オペアンプ回路718が論理"H"の信号を出力している間はクロック信号をカウントするが、それ以外の期間はカウントを行わない。
Pre−charge713は6クロック毎に論理"L"のパルスとなる。そうすると、6クロックの内、何番目のクロック期間において、オペアンプ回路718の出力が論理"L"となったかを示すI−leakコードをJKフリップフロップ720、721、722の/Q端子は出力する。そして、電流リークセンサ710は、そのI−leakコードを、リーク電流測定結果712として、消費エネルギー算出回路13dに出力する。
以上より、実施例4の半導体集積回路700は、電流リークセンサ710、動作中に電流リークセンサ710より得たリーク電流(Ileak)を用いて、PG手法を適用した場合と、DVFS手法を適用した場合とで、内部回路11dの消費エネルギーを計算し、比較結果を出力する消費エネルギー算出回路13d、その切り替え結果により、内部回路11cに適用する手法を切り替える切り替え回路12、切り替え回路12からの信号に応じて、周波数、及び、電圧を変更する電源電圧制御回路50及びクロックコントロール回路60、切り替え回路12からの信号に応じて、内部回路11bへの電源の切断及び分離を制御する、パワーゲーティングコントロール回路20を有する。そのため、半導体集積回路700は、DVFS手法及びPG手法の内、どちらが内部回路の消費エネルギーの削減となるかを、半導体集積回路装置の素子特性により判断し、削減効果が大きい手法を実現する回路を選択し、動作させることができる。その結果、半導体集積回路700の消費電流が大きく削減される。
本発明によれば、素子の電流リーク量に対応して、内部回路を消費エネルギーが小さくなる手法により動作させることができる半導体集積回路を提供することができる。
符号の説明
1 10 CPU
11a、11b、11c、11d 内部回路
12 切り替え回路
13a、13b、13c、13d 消費エネルギー算出回路
14 PMU
16 クロック周波数変更指示信号
17a、17b、17c、17d 記憶部
18 パワーゲーティング指示信号
19 復帰信号
20 パワーゲーティングコントロール回路
21 制御信号
30 パワーゲーティングスイッチ
31 電源端子
32 仮想Vdd
40 温度センサ
41 リングオシレータ部
42 クロックカウント部
43 温度測定指示
44 温度測定結果
50 電源電圧制御回路
51 電源電圧変更指示信号
52 電源電圧変更指示信号
60 クロックコントロール回路
61 クロック信号
70 可変電圧電源
71 外部電源線Vdd
80 外部クロック信号端子
90 プロセスセンサ
91 プロセス条件測定指示
92 プロセス条件測定結果
100、500、600、700 半導体集積回路
300 フローチャート
310 情報取得ステップ
320 温度測定ステップ
330 消費エネルギー算出ステップ
340 比較ステップ
350 DVFS方式実行ステップ
360 PG方式実行ステップ
710 電流リークセンサ
711 リーク電流測定指示
712 リーク電流測定結果
713 Pre−charge
714 N型MOSトランジスタ
715 P型MOSトランジスタ
716 容量

Claims (12)

  1. 内部回路と
    前記内部回路の素子特性を検出する検出回路と、
    上記の素子特性に対応して、前記内部回路が行うべきタスクに対して、パワーゲーティング動作を行った場合の第1消費エネルギーと、電圧及び周波数を減少させた動作を行った場合の第2消費エネルギーとを算出する算出回路と、
    前記第1消費エネルギーが前記第2消費エネルギーより小さいときは、前記パワーゲーティング動作を前記内部回路に対して行い、前記第2消費エネルギーが前記第1消費エネルギーより小さいときは、前記電圧及び周波数を減少させた動作を前記内部回路に対して行う切り替え回路と、を備えることを特徴とする半導体集積回路。(図1)
  2. 前記切り替え回路は前記内部回路の動作が終了すると、前記内部回路と第1電源との間を分離するスイッチを備えることを特徴とする請求項1記載の半導体集積回路。(図1)
  3. 前記切り替え回路は、さらに、
    前記内部回路の動作が終了すると、第1制御信号を出力し、予め決められた期間の経過後、第2制御信号を出力する制御回路と、
    前記第1制御信号及び前記第2制御信号に応じて、論理が切り換わる第3制御信号を、前記スイッチに出力するスイッチ切り替え回路と、を備えることを特徴とする請求項2記載の半導体集積回路。(図1)
  4. 前記切り替え回路は、第2電源の電源電圧を減少させる電源制御回路と、
    前記内部回路へ供給されるクロック信号の周波数を減少されるクロック発生回路と、を備えることを特徴とする請求項1又は2記載の半導体集積回路。(図1)
  5. 前記検出回路は前記内部回路の温度条件に起因する前記素子特性を検出するものであることを特徴とする請求項1から4までの内の一の請求項に記載された半導体集積回路。(図1)
  6. 前記検出回路は前記内部回路の製造条件に起因する前記素子特性を検出するものであることを特徴とする請求項1から4までの内の一の請求項に記載された半導体集積回路。(図11)
  7. 前記検出回路は前記内部回路の製造条件及び温度条件に起因する前記素子特性を検出するものである事を特徴とする請求項1から4までの内の一の請求項に記載された半導体集積回路。(図13)
  8. 前記検出回路が検出する前記素子特性は、奇数個のインバータから構成されたリングオシレータの発振周波数であることを特徴とする請求項1から請求項7までの内の一の請求項に記載された半導体集積回路。(図1、図2、図11、図13)
  9. 前記算出回路は、前記発振周波数と、前記インバータを構成するMOSトランジスタの電流リーク量との関係を記憶し、前記電流リーク量に基づき、前記第1消費エネルギー及び前記第2消費エネルギーを算出することを特徴とする請求項7記載の半導体集積回路。(図1、図2、図3、図5、図6、図12、図14)
  10. 前記検出回路が検出する前記素子特性は、前記内部回路の電流リーク特性であることを特徴とする請求項1記載の半導体集積回路。(図15)
  11. 前記検出回路は、
    一方の端が低電位電源と接続する容量と、
    前記容量の他方の端にドレイン端子が接続し、高電位電源にソース端子が接続し、第1信号を受けるゲート端子を有するP型MOSトランジスタと、
    前記容量の他方の端にドレイン端子が接続し、前記低電位電源にソース端子及びゲート端子が接続するN型MOSトランジスタと、
    クロック信号を受け、前記第1信号を受けた後、クロックのカウントを開始し、前記容量の電圧が予め決められた電圧に達したときに、前記クロックのカウントを終了するクロックカウンタと、を備えることを特徴とする請求項1から請求項9までの内の一の請求項に記載の半導体集積回路。(図15、16)
  12. 前記算出回路は、
    前記クロックカウンタのカウント数にお基づいて、前記N型MOSトランジスタの電流リーク量を算出し、前記電流リーク量に基づき、前記第1消費エネルギー及び前記第2消費エネルギーを算出することを特徴とする請求項11記載の半導体集積回路。(図15、16)
JP2009546095A 2007-12-14 2007-12-14 半導体集積回路 Active JP5024389B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/074144 WO2009078081A1 (ja) 2007-12-14 2007-12-14 半導体集積回路

Publications (2)

Publication Number Publication Date
JPWO2009078081A1 true JPWO2009078081A1 (ja) 2011-04-28
JP5024389B2 JP5024389B2 (ja) 2012-09-12

Family

ID=40795207

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009546095A Active JP5024389B2 (ja) 2007-12-14 2007-12-14 半導体集積回路

Country Status (3)

Country Link
US (1) US8063692B2 (ja)
JP (1) JP5024389B2 (ja)
WO (1) WO2009078081A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014063480A (ja) * 2012-08-30 2014-04-10 Semiconductor Energy Lab Co Ltd 警報システム

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8995218B2 (en) * 2012-03-07 2015-03-31 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
JP2014003594A (ja) * 2012-05-25 2014-01-09 Semiconductor Energy Lab Co Ltd 半導体装置及びその駆動方法
CN104871110B (zh) * 2012-12-21 2017-12-05 瑞萨电子株式会社 半导体器件及其控制方法
FR3010545B1 (fr) * 2013-09-06 2016-12-09 Commissariat Energie Atomique Procede de commande d'un circuit electronique
KR20150112148A (ko) 2014-03-27 2015-10-07 삼성전자주식회사 파워 게이팅 회로 및 집적 회로
US9557797B2 (en) * 2014-05-20 2017-01-31 Qualcomm Incorporated Algorithm for preferred core sequencing to maximize performance and reduce chip temperature and power
KR20170023813A (ko) 2014-06-20 2017-03-06 가부시키가이샤 한도오따이 에네루기 켄큐쇼 반도체 장치
US10382034B2 (en) * 2016-11-22 2019-08-13 Qualcomm Incorporated Apparatus and method for sensing distributed load currents provided by power gating circuit
TWI712925B (zh) * 2017-01-24 2020-12-11 瑞昱半導體股份有限公司 電子裝置與其控制方法
US10535394B2 (en) 2017-07-20 2020-01-14 Samsung Electronics Co., Ltd. Memory device including dynamic voltage and frequency scaling switch and method of operating the same
US10529407B2 (en) 2017-07-20 2020-01-07 Samsung Electronics Co., Ltd. Memory device including a plurality of power rails and method of operating the same
US10607660B2 (en) 2017-07-20 2020-03-31 Samsung Electronics Co., Ltd. Nonvolatile memory device and operating method of the same
JP7346401B2 (ja) * 2017-11-10 2023-09-19 エヌビディア コーポレーション 安全で信頼できる自動運転車両のためのシステム及び方法
JP7199860B2 (ja) * 2018-07-17 2023-01-06 キヤノン株式会社 集積回路装置
US20200388319A1 (en) 2019-06-07 2020-12-10 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device, electronic component, and electronic device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999066640A1 (en) * 1998-06-18 1999-12-23 Hitachi, Ltd. Semiconductor integrated circuit
JP3762856B2 (ja) 2000-05-30 2006-04-05 株式会社ルネサステクノロジ 半導体集積回路装置
JP3878431B2 (ja) * 2000-06-16 2007-02-07 株式会社ルネサステクノロジ 半導体集積回路装置
JP2005182433A (ja) * 2003-12-19 2005-07-07 Hitachi Ltd 半導体集積回路の実装設計装置及び実装設計方法
JP4607608B2 (ja) * 2005-02-04 2011-01-05 株式会社東芝 半導体集積回路
JP2007264726A (ja) * 2006-03-27 2007-10-11 Fujitsu Ltd 半導体集積回路の電源電圧・バイアス電圧制御方法、半導体集積回路及び半導体集積回路装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014063480A (ja) * 2012-08-30 2014-04-10 Semiconductor Energy Lab Co Ltd 警報システム

Also Published As

Publication number Publication date
US8063692B2 (en) 2011-11-22
JP5024389B2 (ja) 2012-09-12
US20100244942A1 (en) 2010-09-30
WO2009078081A1 (ja) 2009-06-25

Similar Documents

Publication Publication Date Title
JP5024389B2 (ja) 半導体集積回路
JP6019160B2 (ja) 非対称マルチプロセッサに対する適応型スレッドスケジューリングのための装置および方法
Zhou et al. An ultra-low voltage level shifter using revised Wilson current mirror for fast and energy-efficient wide-range voltage conversion from sub-threshold to I/O voltage
US9733696B2 (en) Dynamic low power states characterization
US8629694B1 (en) Method and apparatus of voltage scaling techniques
EP3036598B1 (en) Power signal interface
TWI470410B (zh) 電子系統及其電源管理方法
JP5475889B2 (ja) データ処理装置およびデータ処理システム
JP2004280378A (ja) 半導体装置
JP2013012003A (ja) データ処理装置及びデータ処理システム
US9715272B2 (en) Portable electronic device and core swapping method thereof
TW202110064A (zh) 具省電模式的降壓轉換器
US9537484B2 (en) Semiconductor device and method of controlling the same
TW201415218A (zh) 熱感測器動態關斷的技術
TW201415318A (zh) 觸控系統之電源管理裝置
JP2008520014A (ja) 複数の基準回路を用いて電圧及び周波数を制御する装置及び方法
JP2017017719A (ja) 検出装置
JP2011199113A (ja) 解析装置及び半導体装置
US9658682B2 (en) Reference voltage circuits in microcontroller systems
TWI655577B (zh) 運算速度補償電路及其補償方法
TWI757375B (zh) 監控電路及方法
Wang et al. An adaptive voltage scaling DC–DC converter based on embedded pulse skip modulation
CN109683975A (zh) 一种用于唤醒处理器的电路和方法
TW202110065A (zh) 改良式強臂(strong arm)比較器
CN109753313A (zh) 一种用于唤醒处理器的装置和方法

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120522

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120604

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150629

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5024389

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150