説明

半導体集積回路及び電子機器

【課題】システマテックばらつきとランダムばらつきの両方を考慮した適応型電圧スケーリング技術を実現することにある。
【解決手段】適応型電圧スケーリングを実施するシステム構成において、プロセスばらつきの種類毎に最適な検出回路を設置する。すなわち、システマテックばらつき検出用にゲートディレイの平均値に対する相対値を生成する第1測定回路(100)、及び、ランダムばらつき検出用にゲートディレイの標準偏差に対する相対値を生成する第2測定回路(200)を別々に設置する。夫々の測定回路で生成された相対値に基づいて電源電圧を決定するための制御情報(VCNT)を生成する。これを生成するときは例えばテーブルデータを参照する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体集積回路及びそれを搭載した電子回路に関し、特に電源電圧を制御してゲートディレイによる動作速度のばらつきを補正する適応型電圧スケーリング(AVS:Adaptive Voltage Scaling)技術に関するものである。
【背景技術】
【0002】
携帯電話に使用されるSoC(System On a Chip)で強く要求される低消費電力化には、電源電圧を低減することが重要である。一方で、半導体プロセスの微細化に伴い、リーク電流や、プロセスばらつきが増大し、電源電圧を低減することが難しくなってきている。これに対して、チップ毎のプロセスばらつきに応じて最適な電源電圧を供給する適応型電圧スケーリング(AVS:Adaptive Voltage Scaling)技術が注目されている。適応型電圧スケーリング技術は、チップ毎の平均的なゲートディレイばらつき、つまり、性能が一定になるように電源電圧を制御する。例えば、プロセスばらつきを原因としてゲートディレイが中心値よりも速い(小さい)側にばらついていたチップに対しては、電源電圧を下げることでゲートディレイを遅い側に補正し、或いはゲートディレイが中心値よりも遅い(大きい)側にばらついていたチップに対しては、電源電圧を上げることでゲートディレイを速い側に補正する。このように、チップ毎のプロセスばらつきに応じて最適な電源電圧を印加することで、性能を維持したままより低電力化が実現できる。適応型電圧スケーリング技術はプロセスばらつき以外にも、温度変動や、動作時電源ノイズ、デバイスの経年劣化を原因としたゲートディレイの変動に対しても補正対象とすることができる。この適応型電圧スケーリング技術は、今後、微細化が進みプロセスばらつきが増加するというトレンドの下で、必須の技術として考えられる。適応型電圧スケーリング技術は、下記非特許文献1に詳細に記載されている。
【0003】
一般に、プロセスばらつきの種類は大きく分けて、チップ間(Inter-die、或いはグローバル)ばらつきと、チップ内(Intra-die 或いはローカル)ばらつきに分類することができる。チップ間ばらつきは、製造時におけるウェーハ(Wafer)上の温度勾配や、リソグラフィー行程におけるステッパからウェーハまでの光路差の違いによる加工誤差、或いはレイアウトパターン依存等のシステマテックな現象が原因と考えられており、ばらつきの大きさはウェーハ面内でなだらかに変化することが特徴である。チップ毎に適応型電圧スケーリングを実施する際には、チップ間ばらつきの大きさはチップ内ではほぼ一定と考えて、チップ毎のゲートディレイの平均値を一定にするように電源電圧を制御して、チップ間ばらつきを補正する。このチップ間ばらつきを、以降、システマテックばらつきと呼ぶ。
【0004】
一方、チップ内ばらつきは、基板の不純物濃度がトランジスタ毎にばらつくことが原因として考えられており、トランジスタ間で互いに無相関であることが特徴である。一般的に、ゲートディレイの大きさの確率分布は正規分布で表すことができるため、チップ内ばらつきの大きさは標準偏差で表す。以降、チップ内ばらつきをランダムばらつきと呼ぶ。システマテックばらつきとランダムばらつきについては、下記非特許文献2に記載されている。
【0005】
従来、適応型電圧スケーリング技術が補正対象としていたプロセスばらつきの種類は、主にシステマテックばらつきであった。そのシステム概要は、チップ内に、ゲートディレイの平均値を測定するセンサ回路を設置し、そのセンサ回路の出力結果から、システマテックばらつきを導出し、その値から最適な電源電圧値を導出し、チップに印加していた。一方で、微細化が進む技術トレンドの中、ランダムばらつきの大きさが非常に大きくなることが予想されている。そのため、ランダムばらつきも適応型電圧スケーリングの補正対象に加える必要性が高まると予想される。これに関し、特許文献1では、チップ内にゲートディレイを測定する同一のセンサ回路を多数設置し、それら多数のセンサ回路出力値から、ゲートディレイの平均値と標準偏差をチップ外部の演算部で求めて、システマテックばらつきとランダムばらつきの両方を考慮した適応型電圧スケーリング技術について述べている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2008−141013号公報
【非特許文献】
【0007】
【非特許文献1】Mohamed Elgebaly et al, "Variation-Aware Adaptive Voltage Scaling System", IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL.15, NO.5, MAY 2007, pp.560-571.
【非特許文献2】Martin Eisele et al, "The Impact of Intra-Die Deveice Parameter Variations on Path Delays and on the Design for Yield of Low Voltage Digital Circuits,", IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 4, NO. 4, DECEMBER 1997, pp. 360-368.
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、特許文献1で述べられている、システマテックばらつきとランダムばらつきの両方を考慮した適応型電圧スケーリング技術を実現するための回路構成及び動作方法は以下に述べる3つの課題がある。第1は、1種類のセンサ回路で、ゲートディレイのシステマテックばらつき(平均値)とランダムばらつき(標準偏差:σ)の両方を検出していることである。センサ回路は測定対象に特化した方が、少ないリソース(回路規模、評価時間)で精度良く検出できるため、ばらつきの種類に応じて最適なセンサ回路を提供する必要がある。
【0009】
第2は、ゲートディレイのランダムばらつきの大きさをチップ外部で求めていることである。特許文献1では、ゲートディレイのランダムばらつきの大きさ(標準偏差)の絶対値を測定するために、多数のセンサ回路をチップ内部に設置し、そのセンサ回路の出力結果をチップ外部に送信し、チップ外部の演算部で統計処理をして求めている。わざわざ、チップ外部で統計処理を実施する理由は、標準偏差の絶対値を計算するための演算が複雑なため、外部リソース(パーソナルコンピューターやLSIテスタ)で実施した方が好適と考えられるためである。一方、チップの動的なばらつき変動(システムに搭載されたチップの実動作状態におけるばらつき変動)に対し、動的な適応型電圧スケーリングを実施するためには、チップの動作中に、オンチップで、ばらつきの大きさを知る必要がある。
【0010】
最後の課題として、ゲートディレイのシステマテックばらつき(平均値)とランダムばらつき(標準偏差:σ)を求めて最適電圧を導出する際、単純にデータパスの遅延ワースト値として平均値と3σ(標準偏差(σ)の3倍)の和のみを考慮していることである。一般に、設計時におけるタイミング計算は、STA(Static Timing Analyzer)ツールや、最近では、ランダムばらつきをダイレクトに扱うことが可能なSSTA(Statistical Static Timing Analyzer)ツールを使用して実施する。同ツールで扱うタイミングワースト条件としては、単純な、平均値と3σ(標準偏差(σ)の3倍)の和、という条件ではなく、クロックパスとデータパスにそれぞれ異なる絶対値のランダムばらつきを付与するのが通常である。適応型電圧スケーリングを実施する際のタイミング計算も、それと同様に実施すべきである。例えば、信号経路のタイミング条件として第1経路のディレイが第2経路のディレイよりも小さくなければないないとき、第1経路のディレイにはばらつきを加算し、第2経路のディレイにはばらつきを減算して、タイミング計算を実施すべきである。
【0011】
本発明の目的は、前記課題を解決するためのものであり、システマテックばらつきとランダムばらつきの両方を考慮した適応型電圧スケーリング技術を実現することにある。
【0012】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【0013】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【0014】
すなわち、適応型電圧スケーリングを実施するシステム構成において、プロセスばらつきの種類毎に最適な検出回路を設置できるにする。すなわち、システマテックばらつき検出用にゲートディレイの平均値に対する相対値を生成する第1測定回路、及び、ランダムばらつき検出用にゲートディレイの標準偏差に対する相対値を生成する第2測定回路を別々に設置する。夫々の測定回路で生成された相対値に基づいて電源電圧を決定するための制御情報を生成する。これを生成するときは例えばテーブルデータを参照する。
【発明の効果】
【0015】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【0016】
すなわち、システマテックばらつき検出用の測定回路とランダムばらつき検出用の測定回路とを個別にオンチップするから、双方のばらつきを精度良く検出して、チップ上で適応的に電源電圧制御を可能にすることができる。テーブルデータを参照して制御情報を生成するからテーブルデータにSTA又はSSTA等によるタイミング計算結果を反映しておけば相対値に基づく制御情報の高精度な生成も容易である。
【図面の簡単な説明】
【0017】
【図1】実施の形態1として、システマテックばらつきとランダムばらつきの大きさによって、適応型電圧スケーリングを実施するシステム構成を示したブロック図である。
【図2】実施の形態1として、システマテックばらつきに関する第1測定回路の構成を示したブロック図である。
【図3】実施の形態1として、システマテックばらつきに関する第1測定回路に含まれるリングオシレータの回路図である。
【図4】実施の形態1として、システマテックばらつきに関する測定回路に含まれるカウンタの回路図である。
【図5】実施の形態1として、システマテックばらつきに関する測定回路に含まれるカウンタの回路の動作波形図である。
【図6】実施の形態1として、システマテックばらつきの大きさとシステマテックばらつきに関する測定回路の出力値との依存関係を示した説明図である。
【図7】実施の形態1として、ランダムばらつきに関する測定回路の構成を示したブロック図である。
【図8】実施の形態1として、ランダムばらつきに関する測定回路において、どのようにランダムばらつきを求めているかを示した説明図である
【図9】実施の形態1として、ランダムばらつきに関する測定回路のペアリングオシレータの数とばらつき値の精度の関係を示した説明図である。
【図10】実施の形態1として、ランダムばらつきの大きさとランダムばらつきに関する測定回路の出力値との依存関係を示した説明図である。
【図11】実施の形態1として、最適電源電圧を計算する制御情報生成回路の構成を示したブロック図である。
【図12】実施の形態1として、制御情報生成回路の記憶部に保存されているある基準電源電圧下における各測定の出力値と最適な電源電圧値との対応を示すデータテーブルの説明図である。
【図13】実施の形態1として、チップブート時における、システマテックばらつきとランダムばらつきの大きさに応じて適応型電圧スケーリングを実施する処理のフローチャートである。
【図14】実施の形態2として、システマテックばらつきに関する測定回路の構成を示したブロック図である。
【図15】実施の形態2として、ランダムばらつきに関する測定回路の構成を示したブロック図である。
【図16】実施の形態3として、最適電源電圧を計算する制御情報生成回路の記憶部に保存されているチップの要求性能とその性能に応じたばらつきの対応を示すデータテーブルの説明図である。
【図17】実施の形態3として、フィードバックループによる適応型電圧スケーリングを実施する際の処理を示すフローチャートであるである。
【図18】実施の形態4として、多数の測定回路の結果に応じて、適応型電圧スケーリングを実施するシステム構成を示したブロック図である。
【図19】実施の形態5として、チップ内に複数の電源ドメインを設置した場合の、適応型電圧スケーリングを実施するシステム構成を示したブロック図である。
【図20】実施の形態6として、オンチップの電圧レギュレータを搭載した場合の、適応型電圧スケーリングを実施するシステム構成を示したブロック図である。
【発明を実施するための形態】
【0018】
1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【0019】
〔1〕本発明の代表的な実施の形態に係る半導体集積回路は、内部回路と、前記内部回路の局所的な特性に応ずる遅延情報の統計的情報を生成する測定回路と、前記測定回路の測定結果に基づいて前記内部回路に用いる電源電圧を決定するための制御情報を生成する制御情報生成回路とを半導体チップに備える。前記測定回路は、前記内部回路におけるゲートディレイの平均値に対する相対値(fs(u))を生成する第1測定回路(100)と、前記内部回路におけるゲートディレイの標準偏差に対する相対値(fr(σ))を生成する第2測定回路(200)と、を含む。前記制御情報生成回路は、前記第1測定回路及び第2の測定回路によって生成されたゲートディレイの平均値の相対値及びゲートディレイの標準偏差の相対値に基づいて前記制御情報を生成する。
【0020】
システマテックばらつき検出用の測定回路とランダムばらつき検出用の測定回路とを個別にオンチップするから、双方のばらつきを精度良く検出した電源電圧制御を可能にすることができる。更に測定回路は標準偏差に対する相対値を求め、標準偏差の絶対値を求めることを要しないので、測定回路の回路規模の縮小、測定回路のオンチップ化に好適である。チップ上で適応的に電源電圧制御を可能にするから、チップの動的なばらつき変動にも対応して、適応的に電圧スケーリングを実施することも容易になる。
【0021】
〔2〕項1の半導体集積回路において、前記第1測定回路はゲートディレイの平均値に対する相対値を生成するときに使用する発振周波数を測定するためのリングオシレータ(101)を有し、前記第2測定回路はゲートディレイの標準偏差に対する相対値を生成するときに使用する発振周波数を測定するためのリングオシレータ(201A,201B)を有し、前記第1測定回路が有するリングオシレータの遅延段数は、前記第2測定回路が有するリングオシレータの遅延段数よりも長い。
【0022】
これにより、システマテックばらつき検出用の測定回路によるゲートディレイの平均値に対する相対値を生成するときゲートディレイの標準偏差に対応するランダムばらつきの影響を小さくすることができる。
【0023】
〔3〕項2の半導体集積回路において、前記制御情報生成回路は、前記第1測定回路で得られる前記相対値と前記第2測定回路で得られる前記相対値とに基づいて前記制御情報を生成するために参照されるテーブルデータを保有する。
【0024】
テーブルデータを参照して制御情報を生成するからテーブルデータにSTA又はSSTA等によるタイミング計算結果を反映しておけば前記相対値に基づいて高精度な制御情報を容易に生成することができる。
【0025】
〔4〕<図12の初期設定TBL>項3の半導体集積回路において、前記制御情報生成回路は、第1の電源電圧で前記内部回路が動作されるときに、前記第1測定回路で得られる前記相対値と前記第2測定回路で得られる前記相対値とをインデックスとして対応される目標電圧値の情報を参照するための変換テーブルデータ(303)を前記テーブルデータとして記憶する不揮発性記憶回路を有し、前記変換テーブルデータを用いて参照した目標電圧値の情報を前記制御情報とする。これにより、半導体集積回路の電源電圧の適応的な初期設定が容易になる。
【0026】
〔5〕項4の半導体集積回路において、前記目標電圧は、前記第1測定回路で得られる相対値が小さいほど高くされ、前記第2測定回路で得られる相対値が大きいほど高くされる。ゲートディレイの平均値に対する相対値の増加はリングオシレータを用いて計測された発振周波数の平均値の減少に対応され、ゲートディレイの標準偏差に対する相対値の増加はリングオシレータを用いて計測された発振周波数の標準偏差の増加に対応される。
【0027】
〔6〕<図16ダイナミック設定用TBL>項3の半導体集積回路において、前記制御情報生成回路は、内部回路に要求する速度性能を満足すために必要な電源電圧を最低限得るための前記第1測定回路で得られる前記相対値及び前記第2測定回路で得られる前記相対値を複数の速度性能毎に目標相対値として表した目標値テーブルデータ(304)を前記テーブルデータとして記憶する不揮発性記憶回路を有し、前記第1測定回路及び第2測定回路により得られた相対値が、目標値テーブルデータにおける目的とする処理速度に対応する目標相対値を満足すか否かを示す情報を前記制御情報とする。これにより、温度変動、半導体集積回路の動作中における電源ノイズ、及び半導体集積回路の経年的な特性変動などに起因するゲートディレイの変動に対して所要の速度性能を満足するようにダイナミックに電源電圧を補正することが可能になる。
【0028】
〔7〕項6の半導体集積回路において、前記目標相対値は、前記第1測定回路で得られる相対値は速度性能が高いほど大きな値とされ、前記第2測定回路で得られる相対値は速度性能が高いほど小さな値とされる。ゲートディレイの平均値に対する相対値の増加はリングオシレータを用いて計測された発振周波数の平均値の減少に対応され、ゲートディレイの標準偏差に対する相対値の増加はリングオシレータを用いて計測された発振周波数の標準偏差の増加に対応され、目的とする速度性能が高いほどゲートディレイの平均値と標準偏差が小さくなればよい。
【0029】
〔8〕項4又は6の半導体集積回路において、前記不揮発性記憶回路は、半導体メモリ又はヒューズプログラム回路である。
【0030】
〔9〕<論理ゲート種類別のリングオシレータ>項2の半導体集積回路において、前記第1測定回路及び前記第2測定回路が有するリングオシレータは、前記内部回路に含まれている代表的な複数種類の論理ゲート毎に複数配置される。前記第1測定回路及び前記第2測定回路は、複数配置されたリングオシレータの中から選択されたリングオシレータの出力を用いて前記相対値を生成する。論理ゲートの種類に応じてゲートディレイが異なる場合に容易に対応することができる。
【0031】
〔10〕<測定回路の複数ペア分散配置>項1の半導体集積回路において、前記第1測定回路及び前記第2測定回路を複数個有し、前記制御情報生成回路は複数個の前記第1測定回路及び前記第2測定回路の出力のうち最もばらつきの変動が大きい相対値を利用して前記制御情報を生成する。測定回路の複数ペアを分散配置することにより半導体集積回路の部位に応じてゲートディレイが異なる場合に容易に対応することができる。
【0032】
〔11〕<電源ドメイン毎の制御>項1の半導体集積回路において、前記半導体チップは夫々個別の電源電圧が供給される複数個の電源ドメインを有し、前記電源ドメイン毎に前記内部回路、測定回路及び前記制御情報生成回路を有する。電源電圧の異なる電源ドメイン毎に電源電圧を適応的に制御することができる。
【0033】
〔12〕<制御情報の外部出力>項1の半導体集積回路において、前記制御情報を前記半導体チップの外部に出力する外部インタフェース回路を有する。制御情報の外部出力により半導体集積回路の外部に配置された電源回路が制御情報に基づいてその電源電圧を制御することができる。
【0034】
〔13〕<オンチップ電圧レギュレータ制御>項1の半導体集積回路において、前記半導体チップの外部電源端子から供給される外部電源電圧を入力して前記電源電圧を生成する電圧レギュレータを有し、前記電圧レギュレータは前記制御情報に基づいて外部電源電圧に対する前記電源電圧のレベルを制御する。半導体集積回路のオンチップレギュレータを用いて電源電圧を適応的に制御することができる。
【0035】
〔14〕項2の半導体集積回路において、前記第1測定回路は、第1のリングオシレータと、前記第1のリングオシレータの発振出力を入力し、所定周期単位で発振出力の計数動作を行って、その計数値をゲートディレイの平均値に対する相対値として出力するカウンタとを有する。
【0036】
これにより、ゲートディレイの平均値に対する相対値をリングオシレータを用いて計測された発振周波数の平均値を用いて得ることができる。
【0037】
〔15〕項14の半導体集積回路において、前記ゲートディレイの平均値に対する相対値をfs(u)、前記ゲートディレイの平均値をu、前記所定周期をCLKP、前記第1のリングオシレータのゲート段数をN1、α(=2)を定数とするとき、例えばfs(u)の値は、CLKP/(α×N1×u)とされる。
【0038】
〔16〕項14の半導体集積回路において、前記第2測定回路は、第2のリングオシレータの複数のペアと、前記第2のリングオシレータの発振出力をペア単位で夫々計数するカウンタのペアと、前記カウンタのペアの出力を受けて演算を行う演算回路と、制御回路とを有する。前記制御回路は前記第2のリングオシレータのペアの発振出力をペア毎に順次切換えてカウンタのペアに供給すると共に、前記供給を切換える毎に前記カウンタのペアに初期値から計数動作を開始させる動作をM回繰り返する。前記演算回路は、計数動作を開始した前記カウンタのペアの一方が最大値に達する毎に他方のカウンタの計数値を論理反転し、各論理反転値の二乗値を平均した値に基づいて前記ゲートディレイの標準偏差に対する相対値を求める。
【0039】
これにより、ゲートディレイの標準偏差に対する相対値をリングオシレータのペアを用いて計測された小さいほうの発振周波数の論理反転値を用いて容易に得ることができる。リングオシレータの発振周波数に対して標準偏差の絶対値を求める演算を行うことを要しない。
【0040】
〔17〕項16の半導体集積回路において、前記ゲートディレイの標準偏差に対する相対値をfr(σ)、前記各論理反転値の二乗値を平均した値をfbbs、MVCを前記カウンタの最大値、前記第2のリングオシレータのゲート段数をN2、β(=4)を定数とするとき、例えばfr(σ)の値は、fbbs/β×MVC^2×M×N2とされる(記号^は累乗を意味する)。
【0041】
〔18〕<電子回路のブート時電源電圧制御>本発明の別の実施の形態による電子機器は、実装基板に半導体集積回路と、前記半導体集積回路に電源電圧を供給する電源回路とが実装される。前記半導体集積回路は、内部回路と、前記内部回路の局所的な特性に応ずる遅延情報の統計的情報を生成する測定回路と、前記測定回路の測定結果に基づいて前記内部回路に用いる電源電圧を決定するための制御情報を生成する制御情報生成回路とを半導体チップに備える。前記測定回路は、前記内部回路におけるゲートディレイの平均値に対する相対値を生成する第1測定回路と、前記内部回路におけるゲートディレイの標準偏差に対する相対値を生成する第2測定回路と、を含む。前記制御情報生成回路は、前記電源回路から供給される第1の電源電圧で前記内部回路が動作されるときに、前記第1測定回路で得られる前記相対値と前記第2測定回路で得られる前記相対値とをインデックスとして参照される目標電圧値の情報を保有するための変換テーブルデータを用いて参照した目標電圧値の情報を前記制御情報として前記電源回路に供給する。前記電源回路は、供給された制御情報によって指定される電圧の電源電圧を半導体集積回路に供給する。
【0042】
電子回路のブート時などに半導体集積回路の外部の電源回路を用いてその電源電圧を適応的に初期設定することができる。
【0043】
〔19〕<電子回路のダイナミック電源電圧制御>本発明の更に別の実施の形態による電子機器は、実装基板に半導体集積回路と、前記半導体集積回路に電源電圧を供給する電源回路とが実装される。前記半導体集積回路は、内部回路と、前記内部回路の局所的な特性に応ずる遅延情報の統計的情報を生成する測定回路と、前記測定回路の測定結果に基づいて前記内部回路に用いる電源電圧を決定するための制御情報を生成する制御情報生成回路とを半導体チップに備える。前記測定回路は、前記内部回路におけるゲートディレイの平均値に対する相対値を生成する第1測定回路と、前記内部回路におけるゲートディレイの標準偏差に対する相対値を生成する第2測定回路と、を含む。前記制御情報生成回路は、内部回路に要求する速度性能を満足すために必要な電源電圧を最低限得るための前記第1測定回路で得られる前記相対値及び前記第2測定回路で得られる前記相対値を複数の速度性能毎に目標相対値として表した目標値テーブルデータを記憶する不揮発性記憶回路を有し、前記第1測定回路及び前記第2測定回路により得られた相対値が、目標値テーブルデータにおける目的とする処理速度に対応する目標相対値を満足すか否かを示す情報を前記制御情報として前記電源回路に供給する。前記電源回路は、供給された制御情報が目標相対値を満足しないことを示すとき、前記半導体集積回路に供給する電源電圧を変更する制御を行う。
【0044】
温度変動、半導体集積回路の動作中における電源ノイズ、及び半導体集積回路の経年的な特性変動などに起因するゲートディレイの変動に対して所要の速度性能を満足するように半導体集積回路の電源電圧をダイナミックに補正することができる。
【0045】
2.実施の形態の詳細
実施の形態について更に詳述する。
【0046】
[実施の形態1]
《全体的なシステム構成》
図1には、システマテックプロセスばらつきとランダムプロセスばらつきの大きさによって適応的な電圧スケーリングを実施する実施の形態1に係るシステム構成が例示される。
【0047】
同図に示されるシステムは、多数のゲートが設置されている半導体集積回路(LSI)3と、LSI3に電源を供給する電源回路としての電源IC4が実装基板2に搭載された電子機器1として構成される。LSI3は代表的に一つ示されているが、実際は、所要の機能を実現するために必要ないくつかのLSIが配置される場合もあり、その場合はそれぞれに電源IC4から電源電圧が供給される。電源電圧に対する適応的な制御は一部のLSIであっても全てのLSIであってもよい。一部のLSIを適応的な電源電圧制御の対象とするときその他のLSIには予め決められた所定の電源電圧が供給される。
【0048】
LSI3は、ゲートディレイの平均値(u)に関する値、すなわちゲートディレイの平均値(u)に対する相対値(fs(u))を出力する第1測定回路(システマテックばらつきとの相関を検出する回路)100と、ゲートディレイの標準偏差(σ)に関する値、すなわちゲートディレイの標準偏差(σ)に対する相対値(fr(σ))を出力する第2測定回路(ランダムばらつきとの相関を検出する回路)200と、各測定回路の出力値を基にチップに印加する最適な電源電圧値(VDD)を制御するための制御情報を生成する制御情報生成回路としての最適電源電圧計算回路300と、内部回路としての論理回路400とを備え、例えば、単結晶シリコンのような1個の半導体基板に形成される。内部回路400は、例えばCPU(中央処理ユニット)、動画処理ユニット、割込み処理ユニット、タイマーなどの所要の機能を果たすための論理回路で構成されている。ここでは理解を容易化するために電源電圧VDDはLSI3全体に共通の一つの電圧とする。
【0049】
本システムの特徴は、プロセスのシステマテックばらつきを考慮するためにゲートディレイの平均値(u)に対する相対値(fs(u))を検出する回路と、ランダムばらつきを考慮するためにゲートディレイの標準偏差(σ)に対する相対値(fr(σ))を検出するための検出回路を個別に用意したことである。これは、検出回路を測定対象に特化して設けた方が、少ないリソース(回路規模、評価時間)で精度良く検出できるためである。以下に、各検出回路の構成と作用について説明する。
【0050】
《システマテックばらつきとの相関測定》
図2にはシステマテックばらつきとの相関を検出するための第1測定回路100が例示される。第1測定回路100は、プロセスばらつき度合いをその発振周波数として検知するリングオシレータ101と、その発振周波数を計測するカウンタ102から構成される。
【0051】
図3にはリングオシレータ101の一例が示される。リングオシレータ101は、1個のNANDゲート110と、偶数個のインバータ111が直列に接続されており、最終段の出力信号SROを、初段NANDゲート110の入力にフィードバックする。リングオシレータ101の発振は、イネーブル信号ENRで制御し、イネーブル信号ENRがハイレベルにされると発振を開始し、ローレベルで発振停止とされる。システマテックばらつきに依存した回路動作は、ゲートディレイが速い(小さい)側にばらついていた場合、リングオシレータ101の発振周波数は大きくなり、ゲートディレイが遅い(大きい)側にばらついていた場合、リングオシレータ101の発振周波数は小さくなる。本リングオシレータ101は、システマテックばらつき(平均値)を検出するための回路であり、できるだけランダムばらつき(標準偏差)の影響を排除する必要がある。そのための好適な構成は、直列に接続するインバータ111の数を大きくすることである。NANDゲート110も含めたリングオシレータ101全体の段数をNとした場合、発振周波数の平均値(uf)に対する標準偏差(σf)の相対的な大きさは、ゲートディレイ1段の平均値をu(システマテックばらつき)、標準偏差をσ(ランダムばらつき)とした場合、数式1で表すことができる。
【0052】
【数1】

【0053】
なお、数式は簡単のためにNANDゲート110とインバータ111との違いよるゲートディレイの大きさの違いはないと仮定している。数式によれば、段数Nを大きくすれば、発振周波数を観測したときに、ランダムばらつきの影響を、より小さくすることが可能になることが分かる。
【0054】
図4にはカウンタ102の一例が示される。図5にはカウンタの動作波形が例示される。カウンタ102の動作は、基準クロック信号CLKの1サイクル内に、リングオシレータ101が何回トグルしたかをカウントし、その値を基準クロック信号CLKのタイミングに合わせて連続的にfs(u)としてする、というものである。カウンタの構成は大きく分けて、2つのブロックODD、EVENからなる。それぞれのブロックの構成は同一である。このように、同一のブロックを2つ持つ理由は、リングオシレータ101の発振周波数と基準クロックCLKの関係が非同期関係であることから生じる問題を回避しつつ、高速なサンプリングレートを両立するためである。以下にその問題点と解決方法を簡単に説明する。
【0055】
カウンタ102のコア部分であるレジスタCUOと加算器ADDはリングオシレータ101がトグルする度に+1だけカウントアップした値を出力しており、それを次段のレジスタが、ノードCLOのライズエッジでラッチする。つまり、レジスタCUOはリングオシレータ101のトグルタイミングで、また、次段レジスタは基準クロックCLKのタイミングで動作しており、互いに非同期の関係となる。レジスタCUOのビット数(ノードCOOのビット数と同じ)は、基準クロックCLKの1サイクルでカウントできる最大値を表す。ノードCOOのそれぞれのビット間にはレイアウト依存によるタイミングスキューが存在する。あるタイミングで、次段レジスタがノードCOOの値をラッチするのであるが、カウントアップし続けていた場合、ノードCOOのタイミングスキューと、リングオシレータ101と基準クロックCLKの非同期関係から、次段のレジスタで誤ったデータをラッチしてしまう可能性がある。これは、ノードCOOのスキューで、一部のビットのデータが更新される前に、次段のレジスタでラッチしてしまうことが原因である。この現象は、カウントアップタイミングと、ノードCLOのライズエッジタイミングがほぼ同時に発生した際に起こりやすい。この問題を回避するためには、ノードCLOのライズエッジでラッチする際に、レジスタCUOの動作を一旦停止して、スキューの影響を排除すればよい。しかし、こうした場合、サンプリングしている期間と、していない期間が発生してしまい、高速なサンプリングレートが実現できない。そこで、同じ構成を採用する2個のブロックODD,EVENを設置し、一方が、カウントアップしている場合には、もう一方はカウントアップを停止し、正確なデータをラッチできるようにした。
【0056】
図4及び図5を用いて、カウンタ102の動作の詳細を説明する。各ブロックODD、EVENへのカウントアップイネーブル信号ENは、基準クロックCLKを2分周して作成する。以下、ODDブロックの動作について説明する。カウントアップイネーブル信号ENと、リングオシレータ101の出力SROの周期は非同期関係である。そのため、カウントアップイネーブル信号ENをリングオシレータ101の出力SROのタイミングでラッチするフリップフロップFFは、メタステーブル障害を回避するために2段設置する。カウントアップイネーブル信号ENがハイレベルになった後、出力SROが約2周期したら、信号ENOはハイレベルになる。信号ENOがハイレベルの期間のみ、カウンタ102のコア部(レジスタCUOと加算器ADD)が動作する。カウントアップイネーブル信号ENがローレベルになった後、出力SROが約2周期したら、信号ENOはローレベルになり、カウンタ102のコア部は動作を停止する。カウンタ102のコア部が動作停止中は、ノードCOOは安定し、この期間で信号CLOのライズエッジが発生し、正確なデータがラッチされ、ノードAに出力される。さて、基準クロックCLKの1サイクル内の発振信号SROのトグル回数は、カウントアップ動作前後のノードCOOの値の差分を取ればよい。差分器SBOでノードA(カウントアップ動作後)とノードB(カウントアップ動作前)の差分を取り、その結果をノードOOに出力する。このように、カウントアップ動作前後の差分を取る手法は、サンプリングする度にレジスタCUOをリセットする動作が必要なくなるため、リセット信号を無くすことができ、制御容易性が向上できる。ただし、差分によりトグル回数を求める手法を採用する場合は、基準クロックCLKの1サイクル内の最大トグル回数が、レジスタCUOの最大値より小さい必要がある。EVENブロックの動作は、反転したカウントアップイネーブル信号ENが入力されるため、ODDブロックと相補的になる。最終的に、カウントアップイネーブル信号ENによりODD、EVENブロックの出力をマルチプレクサMUXで切り替えて、出力fs(u)にする。本カウンタ102とリングオシレータ101が動作を開始してから、正確なトグル回数が出力されるまでのレイテンシは、基準クロックCLKに対するリングオシレータ101の発振開始タイミングに依存する。図5では、時刻t1の直前にリングオシレータ101が発振を始めており、正確なトグル回数は、時刻t5から出力される。
【0057】
図6にはシステマテックばらつきの大きさと第1測定回路の出力値(fs(u))との依存関係が例示される。システマテックばらつきがFast側、言い換えると、ゲートディレイが速い側にばらついた場合、出力値fs(u)は大きくなり、システマテックばらつきがSlow側、言い換えると、ゲートディレイが遅い側にばらついた場合、出力値fs(u)は小さくなる。ゲートディレイの平均値(u)と、第1測定回路の出力値fs(u)との関係は、数式2で示される。数式2においてCLKPは基準クロックCLKの1サイクルの周期を表す。
【0058】
【数2】

【0059】
《ランダムばらつきとの相関測定》
図7にはランダムばらつきとの相関を測定する第2測定回路の構成が例示される。図8には第2測定回路200においてどのようにランダムばらつきとの相関を取得するかが演算原理によって示される。
【0060】
第2計測回路200は、リングオシレータ(A)201A及びリングオシレータ(B)201Bのペア(ペアリングオシレータ)をM個備えると共に、リングオシレータ201Aのトグル数をカウントするカウンタ(A)202A、リングオシレータ201Bのトグル数をカウントするカウンタ(B)202B、カウンタ201A,201Bによるカウント結果fm_A,fm_Bに基づいてランダムばらつきとの相関を演算する演算部203、及びそれらの回路ブロックを制御するコントローラ204から構成される。ペアリングオシレータの各リングオシレータ201A,201Bは、図3と同様であるがその遅延段数が少ない構成を有する。図7においてM個のペアリングオシレータには参照符号201_1〜201_Mを附してある。カウンタ202A,202Bは、前記ペアリングオシレータ201_1〜201_Mの発振出力をペア単位で夫々計数する。コントローラ204はペアリングオシレータ201_1〜201_Mのペアの発振出力をペア毎に順次切換えてカウンタのペア202A,202Bに供給すると共に、前記供給を切換える毎に前記カウンタのペア202A,202Bに初期値から計数動作を開始させる動作をM回繰り返する。第2測定回路200の大きな特徴は、標準偏差の絶対値ではなく相対値に関する値を求めることであり、そのために、前記演算部203は、計数動作を開始した前記カウンタのペアの一方が最大値に達する毎に他方のカウンタの計数値を論理反転し、各論理反転値の二乗値を平均した値に基づいて前記ゲートディレイの標準偏差に対する相対値を求める。この動作原理を図8に基づいて説明する。
【0061】
図8に示される基本的なアルゴリズムは、各ペアリングオシレータ201_1〜201_Mにおいて、発振周波数の中央値に対する標準偏差の相対値を求め、その値の2乗平均を各ペアリングオシレータで計算する、というものである。その詳細を説明する。ペアリングオシレータ201_1〜201_Mの発振周波数の中央値に対する標準偏差の相対値を求めるためには、各リングオシレータ201A,201Bのトグル数をカウンタ202A,202Bで計測する必要があるが、その際、各リングオシレータ201A,201Bの発振制御を以下のように実施する。まず、同時に発振を開始させ、どちらかがカウンタ202A,202Bの最大値MVCに達した時点で、共に発振を停止するよう制御する。そのように制御した場合、最大値MVCに達していない方のカウンタ値を論理値反転した値は、当該ペアリングオシレータの発振周波数の中央値に対する標準偏差の相対値に定数(=√2×MVC)をかけた値の近似値として表すことができる。数式を用いて、その理由を説明する。まず、一般的に、2つのリングオシレータがあり、一定時間内のトグル数(周波数に比例した値)をそれぞれfA、fBとすると、その平均値ufは、数式3で表すことができ、
【0062】
【数3】

【0063】
その標準偏差は、数式4で表すことができるため、平均値に対する標準偏差の相対値は、数式5で表すことができる。
【0064】
【数4】

【0065】
【数5】

【0066】
これは、近似値ではなく、正確な値(最良推定値)である。さて、fAのほうがfBよりも大きく、また、fAとfBの差が小さいとした場合、数式5の分母を、2×fAと置き換えることができ、その結果、数式5の近似値を、数式6として表すことができる。
【0067】
【数6】

【0068】
ここで、第2測定回路200の動作を考えると、ペアリングオシレータ201_1〜201_Mの発振制御の手法から、fAはカウンタの最大値MVCに相当するため、fAはMVCに置き換えられる。また、分子は、カウンタの最大値からfBを引いた値であるため、fBの論理反転値と等しい。最終的に、数式の関係を得る。
【0069】
【数7】

【0070】
このように、ペアリングオシレータ201_1〜201_Mの標準偏差の絶対値ではなく相対値を求めようとした場合、近似値であることを許容すれば、単純に、一方のカウンタ値の論理値反転をするだけで得ることができる。つまり、絶対値を求めるよりも演算量を少なくできる。なお、近似した事による真の値からの誤差の大きさは、モンテカルロシミュレーション等で推定できるため、後処理で補正が可能である。すなわち、標準偏差の相対値の最良推定値を得ることが可能である。
【0071】
ペアリングオシレータがM個あれば、数式の値を2乗平均して、精度の高いばらつき値を求めることができる。ペアリングオシレータの数であるMとばらつき値の精度(真の値からのずれ量)の関係は、図9で示すことができる。当然ながら、ペアリングオシレータ数を多くすればするほど精度を高くすることができるが、面積や評価時間とのトレードオフ関係になる。例えば、ペアリングオシレータ数を64個にすると、精度を±17%まで向上できる。また、第2測定回路200のレゾリューション(解像度)は、リングオシレータの段数とカウンタのビット数(最大値)に依存する。同じレゾリューションを得ようとした場合、リングオシレータの段数が短いとカウンタのビット数も小さくすることができ、リングオシレータの段数が長いとカウンタのビット数を増やす必要がある。回路規模はできるだけ小さい方がよいため、リングオシレータの段数はできるだけ短い方がよい。
【0072】
以上の動作概要をふまえて、図7の第2測定回路200の動作を説明する。スタート信号STRがアサートされると、コントローラ204は、アクノレッジ信号ACKをディスアサート(ネゲート)し、カウンタ202A,202BA及び演算部203の内部レジスタをリセットした後、先頭のペアリングオシレータ201_1の各リングオシレータ201A,201Bの発振を開始する。いずれかのカウンタ値が最大値に達すると、コントローラ204は即座にカウンタ202A,202Bの計数動作を停止し、リングオシレータ201A,201Bの発振を停止する。ペアリングオシレータ201_1の双方のカウンタ02A,202Bのカウンタ値(f1_A、f1_B)を演算部203に送信する。演算部203は、双方のカウンタ02A,202Bのカウンタ値(f1_A、f1_B)の大小を判別し、小さい方の値のカウンタ値を論理値反転し、2乗して、レジスタ(図示せず)に格納する。次にコントローラ204は、双方のカウンタ202A,202Bのカウンタ値を初期値にリセットした後、ペアリングオシレータ202_2の各リングオシレータ201A,201Bの発振を開始させる。先ほどと同様に、いずれかのカウンタカウンタ202A,202Bの値が最大値に達すると、コントローラ204は即座にカウンタ動作を停止し、ペアリングオシレータ202_2の各リングオシレータ201A,201Bの発振を停止し、当該カウンタ201A,201Bのカウンタ値(f2_A、f2_B)を演算部203に送信する。演算部203は、各カウンタ値の大小を判別し、小さい方の値のカウンタ値を論理値反転し、2乗して、先にレジスタに格納されている値との和を取り、再度当該レジスタに格納する。同じ動作をM回繰り返し、最終的に、レジスタに格納した値を2×MVC^2×Mで割り、数式の値を出力fr(σ)し、アクノレッジ信号ACKをアサートする。
【0073】
【数8】

【0074】
数式8より明らかなように、第2測定回路200の出力fr(σ)は、ゲートディレイの平均値に対する標準偏差の相対値の2乗をリングオシレータの段数Nの2倍で除した値となる。図10にはランダムプロセスばらつきの大きさと第2測定回路の出力fr(σ)との依存関係が例示される。ランダムばらつきが大きいと、第2測定回路の出力fr(σ)の値は大きくなり、ランダムばらつきが小さいと、当該出力の値は小さくなる。
【0075】
以上のように、第2測定回路200の出力fr(σ)の値は、ランダムばらつきの絶対値ではなく相対値に関する値であることが特徴である。この結果、第2測定回路200のは、従来の絶対値を求めるよりも演算量を少なくすることができ、また回路規模を小さくすることができるため、オンチップでばらつき値を検出するのに非常に好適である。さらに、チップの動作中にリアルタイムにランダムばらつきをセンシングすることが可能になる。
【0076】
ここまで、システマテックばらつきとランダムばらつきに関する相対値を測定する回路100,200について説明した。説明した回路100,200は、検出対象のばらつきに特化した回路構成である。例えば、リングオシレータの段数はシステマテックばらつきの相対値を取得する第1測定回路100では、ランダムばらつきの影響を排除するために長い方が好適である。一方、ランダムばらつきの相対値を取得する第2測定回200におけるリングオシレータの段数は、レゾリューションと回路規模を考えて、小さい方が好適である。リングオシレータの後段のカウンタや演算部もそれぞれのばらつきに特化した構成である。また、夫々の測定回路100,200を並列に動作させることにより、短い評価時間で、双方のばらつきを検出できる。このため、従来のように1種類の検出回路で、システマテックばらつきとランダムばらつきを検出するよりも、検出対象のばらつきに特化した測定回路を設置するほうが、少ないリソース(回路規模、評価時間)で精度良くばらつきを検出できる。
【0077】
《最適電源電圧の計算》
図11には制御情報生成回路300の構成が例示される。制御情報生成回路300は、各測定回路100,200の出力値(fs(u)、fr(σ))と最適な電源電圧値の対応表を保存している記憶部301と、各測定回路100,200の出力値(fs(u)、fr(σ))を受け、記憶部301に保存されている対応表から最適な電源電圧を指定する制御情報VCNTを求める演算部302、から構成される。演算部302は求めた制御情報VCNTを電源IC4に供給して最適な電源電圧値を印加するように指示する。電源IC4に対する通信は、例えば独自の専用信号や、I2Cや、SPI等のシリアル通信で実施することができる。なお、電源IC4とのインタフェース回路は、図示していない。なお、記憶部は、マスクROM(Read Only Memory)や、フラッシュメモリのような電気的に書込み可能な揮発性メモリ、又はヒューズプログラム回路で構成される。マスクROMの場合は、対応表を設計時に書き込んでおく。この場合、書き換えはできない。一方、電気的に書込み可能な不揮発性メモリやヒューズプログラム回路の場合は、テスト時にチップの特性に応じて補正した対応表を書き込むことが可能になる。これは、リングオシレータの発振周波数とばらつきの関係が、設計時と実チップでずれる場合があるためである。記憶部301を、不揮発性メモリやヒューズで構成すれば、テスト時に、リングオシレータの発振周波数とばらつきの関係を取得し、その関係に応じた対応表を書き込むことが可能になる。
【0078】
図12には記憶部301に保存されている、ある基準電源電圧下における各測定回路100,200の出力値fs(u)、fr(σ)と最適な電源電圧値の対応表303が例示される。前記対応表303とは、例えば、第1測定回路100で得られる前記相対値fs(u)と前記第2測定回路200で得られる相対値、fr(σ)とに基づいて前記制御情報を生成するために参照されるテーブルデータによって実現される。
【0079】
対応表303では、各ばらつきのウィンドウを3つに分割しているが、3つに限定するものではない。システマテックばらつきの相対値fs(u)のウィンドウは、ゲートディレイの平均値uが、uslowよりも大きい場合のSlow、uslowよりも小さくufastよりも大きい場合のTypical、ufastよりも小さい場合のFast、の3つとしている。前述より明らかなように相対値fs(u)が小さいほどゲートディレイの平均値uは大きい値を採る。一方ランダムばらつきの相対値fr(σ)のウィンドウは、ゲートディレイの標準偏差σが、σsmallよりも小さい場合のSmall、σsmallよりも大きくσlargeよりも小さい場合のMedium、σlargeよりも大きい場合のLarge、の3つとしている。前述より明らかなように相対値fr(σ)が小さいほどゲートディレイの標準偏差σも小さい値を採る。
【0080】
各ウィンドウに対応した電圧値は、設計時にSTAツールやSSTAツールによりあらかじめ求めておく。STAツールやSSTAツールで実施するタイミング計算におけるタイミングワースト条件は、単純な平均値と3σ(標準偏差(σ)の3倍)の和、という条件ではなく、クロックパスとデータパスにそれぞれ異なる絶対値のランダムばらつきを付与した場合である。すなわち、従来の、単純な平均値と3σ(標準偏差(σ)の3倍)の和、という条件よりも、正確なタイミング計算をベースとした電源電圧制御が可能になる。電圧値のおおまか傾向として、システマテックばらつきはSlowの方がFastよりも高い電源電圧値を必要とする。また、ランダムばらつきは、Largeの方がSmallよりも高い電源電圧値を必要とする。
【0081】
従来の適応的な電圧スケーリングでは、システマテックばらつきに関してのみ測定し、その値に応じた最適電圧をチップに印加していた。この時、ランダムばらつきはテクノロジに応じてワースト値や一律の値を仮定していた。これは、ランダムばらつきをオンチップでセンシングできていなかったためである。そのため、従来の適応的な電圧スケーリングにおける電圧制御範囲は、図12のODのようであった。一方、実際のランダムばらつきの大きさは、チップのシステマテックばらつきの大きさと相関性を持つ。そのため、本来の最適な適応的な電圧スケーリングにおける電圧制御範囲は図12のNDのようになるべきである。本発明では、チップのシステマテックばらつきとランダムばらつきの相対値をオンチップで測定することができるため、実際のチップのばらつきをモニタしながら電圧制御が可能になる。この結果、図12のNDのような電圧制御が可能になる。Vfast_smallはVfast_largeよりも小さく、また、Vtypical_mediumはVtypical_largeよりも小さいため、より低電圧化を実現することも可能である。
【0082】
図13には半導体集積回路3のチップブート時における、システマテックばらつきとランダムばらつきの相対値の大きさに応じて適応的な電圧スケーリングを実施するときの動作フローが示される。
【0083】
まず、電源IC4は決められた基準電圧をチップに印加し(S1)、チップがブートされ、例えば内部のプログラム制御に従った初期化動作が可能にされる(S2)。この後、先ず、システマテックばらつきの相対値を測定するために第1測定回路100を動作させ、システマテックばらつきの相対値fs(u)を得る(S3)。次に、ランダムばらつきの相対値を測定するために第2測定回路200を動作させ、ランダムばらつきの相対値fr(σ)を得る(S4)。時短のため、第1測定回路100と第2測定回路200を並列に動作させても良いが、一方の回路の動作により電源ノイズ等が発生し、他方の測定回路による測定結果に悪影響を及ぼすようであれば、図13のように直列的に動作させる方が良い。制御情報生成回路300は相対値fs(u),fr(σ)に基づいて最適電圧値を指定するための制御情報を導出する(S5)。制御情報が与えられる電源IC4は半導体集積3に与える電源電圧VDDを制御情報に従って最適化し(S6)、最適化された電源電圧を動作電源として半導体集積回路3が動作を開始する(S7)。
【0084】
以上説明したように、適応的な電圧スケーリングのプロセスばらつきを測定するために、システマテックばらつきに対する相対値を求める第1測定回路100とランダムばらつき対する相対値を求める第2測定回路200とを個別に設置する構成を採用することで、それぞれのばらつきをオンチップでセンシングすることが可能になり、その結果、従来のシステマテックばらつきだけを考慮した適応型電圧スケーリングよりも最適な電源電圧制御を実施でき、よりチップの低電力化を実現することができる。
【0085】
[実施の形態2]
図14及び図15には実施の形態2としてシステマテックばらつきの相対値を求める第1測定回路とランダムばらつきの相対値を求める第2測定回路の別の例が示される。
【0086】
第2の実施の形態の特徴は、各測定回路100m、200mにおけるリングオシレータを内部回路400で用いられる代表的な複数種類の論理ゲート毎に複数配置したことである。通常、論理回路には、複数種類のゲートが使用されており、各ゲートのディレイ値のシステマテックばらつき、及び、ランダムばらつきの大きさは異なる。そのため、ゲートの種類に応じたリングオシレータを用意し、各ゲート毎のばらつきをセンシングすることが望ましい。これにより、実施の形態1よりも実際の半導体集積回路のタイミングをより正確に反映できるため、さらにきめ細やかな電圧制御が実現できることである。STAツールやSSTAツールで実施するタイミング計算時には、ゲート毎のディレイ値が、正確に求められているが、実施の形態1のように1種類のゲート種のばらつき結果しか分からない場合、その1種類のばらつき結果からすべての種類のゲートのディレイばらつきを推定する必要がある。これに対し、ゲート種毎のディレイ値をセンシングできれば、そのような必要はなくなる。ただし、論理回路で使用されているすべてのゲート種を用意することは現実的ではないので、代表的な種類に絞るのが通常である。
【0087】
図14では第1測定回路100mのリングオシレータのゲート構成種として、代表的なインバータ(INV)を用いたリングオシレータ101INV、ナンドゲート(NAND)を用いたリングオシレータ101NAND、及びノアゲート(NOR)を用いたリングオシレータ101NORを採用する。測定対象のゲート種は、マルチプレクサ(MUX)103を用いてセレクト信号SSで選択する。例えば、NANDのリングオシレータ101NANDの出力を選択した場合、NANDのリングオシレータ101NANDのみ発振動作させ、他のリングオシレータ101INV,101NORは発振動作を停止させ、マルチプレクサ103でNANDのリングオシレータ101NANDの出力を選択する。カウンタ102の構成は他といえば図4及び図5で説明した構成と同等であり、その詳細な説明は省略する。
【0088】
図15では第2測定回路200mのリングオシレータのゲート構成種として、代表的なインバータ(INV)を用いたリングオシレータ201AINV,201BINVによるペアリングオシレータ201INV_1〜201INV_M、ナンドゲート(NAND)を用いたリングオシレータ201ANAND,201BNANDによるペアリングオシレータ201NAND_1〜201NAND_M、ノアゲート(NOR)を用いたリングオシレータ201ANOR,201BNPRによるペアリングオシレータ201NOR_1〜201NOR_Mを採用する。測定対象のゲート種は、コントローラ204mから出力されるセレクト信号SRで選択される。例えば、ナンドゲートを選択する場合は、ペアリングオシレータ201NAND_1〜201NAND_Mのみ発振させ、他のペアリングオシレータは動作させない。カウンタ(A)202A、カウンタ(B)202B、演算部203の動作、更にはコントローラ204mのその他の制御動作は、図7及び図8で説明したものと同等であり、その詳細な説明は省略する。
【0089】
なお、上記では、ゲートの種類を変更したが、トランジスタのしきい値電圧の違いでもばらつき度合いが異なるため、トランジスタのしきい値電圧の違いによる複数種類のリングオシレータを採用する場合もある。
【0090】
[実施の形態3]
図16には実施の形態3として制御情報生成回路203の記憶部301に保存されている、チップの要求性能とその性能に応じたばらつきの対応表304の例が示される。図17には図16の対応表304を用いたフィードバックループによる適応型電圧スケーリングを行う場合の動作フローが例示される。この実施の形態は、上述の実施の形態に対して、記憶部301に保存されている対応表の構成と、制御情報生成回路300による適応型電圧スケーリングのための処理内容に差異がある。本実施の形態の特徴は、フィードバック動作により、半導体集積回路の動作中にゲートディレイのばらつきを測定しながら電源電圧を少しずつ変化して、半導体集積回路の処理速度に関する要求性能に近づけていくことが特徴である。これによる効果は、半導体集積回路の動作中における温度変動や、電源ノイズ等を原因としたゲートディレイの変動による影響を相殺するように電源電圧を補正できることである。
【0091】
フィードバックループによる適応型電圧スケーリングを実施するためには、要求性能に応じたばらつきを記憶しておく必要がある。その一例が、図16である。要求性能に応じたばらつき値の対応表は、設計時にあらかじめ作成しておく。例えば、要求性能が800MHz以上であれば、システマテックばらつきの相対値fs(u)を、Sh以上の値になるように電源電圧を制御しつつ、ランダムばらつきの相対値fr(σ)を、Rh以下の値になるように電源電圧を制御する。なお、電源電圧は、要求されたばらつき値を達成可能な最も低い電圧値に設定する。
【0092】
ここでの対応表304は、内部回路400に要求する速度性能を満足すために必要な電源電圧を最低限得るための第1測定回路100で得られる前記相対値fs(u)及び前記第2測定回路200で得られる前記相対値fr(σ)を複数の速度性能毎に目標相対値として表した目標値テーブルデータによって実現される。第1測定回路100で得られる相対値fs(u)は速度性能が高いほど大きな値とされ、前記第2測定回路200で得られる相対値fr(σ)は速度性能が高いほど小さな値とされる。
【0093】
このとき、制御情報生成回路300は、目標値テーブルデータにおける目的とする処理速度に対応する目標相対値を満足すか否かを示す情報を前記制御情報VCNTとする。この制御情報VCNTを用いた電源電圧制御方法を図17を参照しながら説明する。
【0094】
図17において、要求性能の変更が開始されたり、ノイズでばらつき変動が発生した場合(S11)、まず、システマテックばらつきの相対値を求める第1測定回路100を動作させ、fs(u)を得る(S12)。次に、ランダムばらつきの相対値を求める第2測定回路200を動作させ、ランダムばらつきfr(σ)を得る(S13)。時短のため、第1測定回路100と第2測定回路200を並列に動作させても良いが、一方の回路の動作により電源ノイズ等が発生し、他方のセンシング結果に悪影響を及ぼすようであれば、本フローのように直列的に動作させる方が良い。制御情報生成回路300でばらつきが要求値に達しているか判別する(S14)。達していない場合、電源電圧変更を実施する必要があり、電源電圧を変更する(S15)。この際の電源電圧の変更量は、小さい一定値や、PID制御理論に基づいた変更量が考えられる。最終的に、制御情報生成回路300でばらつきが要求値に達していることを観測した時点で制御処理を終了する。制御情報生成回路300による処理が開始されなくても、ある一定の周期で、第1測定回路100及び第2測定回路200を動作させ、ばらつきが性能を満たすための範囲内であるか、常にチェックし続け、逸脱したときに電源電圧を変更するようにしてもよい。
【0095】
これにより、温度変動、半導体集積回路の動作中における電源ノイズ、及び半導体集積回路の経年的な特性変動などに起因するゲートディレイの変動に対して所要の速度性能を満足するようにダイナミックに電源電圧を補正することが可能になる。
【0096】
[実施の形態4]
図18には本発明の実施の形態4に係る半導体集積回路3xが例示される。ここでは、内部回路400xに前記第1測定回路100及び前記第2測定回路200を複数個分散させて配置し、制御情報生成回路300xは複数個の前記第1測定回路100及び前記第2測定回路200の出力のうち最もばらつきの変動が大きい相対値を利用して前記制御情報を生成する。測定回路の複数ペアを分散配置することにより半導体集積回路の部位に応じてゲートディレイが異なる場合に容易に対応することができる。チップのローカルヒーティング現象などの局所的なばらつき変動に対して、適切な適応型電圧スケーリング対処できる。各測定回路100,200の中で、最もばらつき変動が大きい測定結果に基づいた適応型電圧スケーリングを実施すれば、半導体集積回路3xは正確に動作する。
【0097】
[実施の形態5]
図19には本発明の実施の形態5に係る半導体集積回路3yが例示される。前記半導体集積回路3yは夫々個別の電源電圧VDD1,VDD2,VDD3が供給される複数個の電源ドメイン400y1,400y2,400y3を有し、前記電源ドメイン毎に、内部回路、前記第1測定回路100、第2測定回路200及び前記制御情報生成回路300を有する。電源IC4yは前記電源ドメイン毎に測定された相対値を入力し、それに従って個別の電源電圧VDD1,VDD2,VDD3を対応する電源ドメインに供給する。電源電圧の異なる電源ドメイン毎に電源電圧を適応的に制御することができる。システマテックばらつきは通常チップ内では一定としているが、実際には、小さいながらもばらつきを持つ場合がある。すなわち、電源ドメイン毎に、異なるシステマテックばらつきとランダムばらつきが存在する。本実施の形態によれば、各電源ドメインのシステマテックばらつきとランダムばらつきの大きさに応じた適応型電圧スケーリングを実施可能になり、チップ全体としてより低電力化が実現できる。ただし、電源ドメイン数を分割しすぎると、分割による面積オーバヘッドが発生するため、低電力効果とのトレードオフ関係がある。
【0098】
[実施の形態6]
図20には本発明の実施の形態6に係る半導体集積回路3zが例示される。ここでは、オンチップの電圧レギュレータを搭載した場合の、適応型電圧スケーリングを実施するシステム構成図である。実施例1の図1の構成に、電圧レギュレータ(REG)500が追加設置され、制御情報生成回路300で求めた制御情報VCNTは、電源IC4ではなく、オンチップの電圧レギュレータ500に送信する。前記全圧レギュレータ500は前記制御情報VCNTに基づいて外部電源電圧VDDに対する内部電源電圧Vddのレベルを制御する。
【0099】
このように実施の形態6は、内部回路400に対する電源電圧変更をチップ外部の電源IC4で制御するのではなく、オンチップの電圧レギュレータ500で実施する。これによれば、電圧変更レイテンシを短くできることである。外部の電源IC4で、電圧変更を実施する際、次に挙げる時間を要する。すなわち、電源IC4に対する通信時間、電源IC4における電圧変更時間、内部回路400まで変更された電圧値が到達する時間、である。これらを削減するためには、オンチップの電圧レギュレータ500で電圧変更するのが好適である。この結果、前記通信時間や、電圧値が到達する時間を削減できる。通常、外部電源IC4は、スイッチング電源が採用されており、オンチップの電圧レギュレータ500はシリーズ電源が採用されている。このため、一般的には、電圧変更時間もオンチップの電圧レギュレータ500の方が短くできる。電源ノイズなどによる急峻なゲートディレイばらつき変化に対しては、電圧変更レイテンシが短い、オンチップ電圧レギュレータ500が好適である。ただし、オンチップ電圧レギュレータ500を採用すると、面積オーバヘッドや電圧変換効率の低下が発生することに留意する必要がある。
【0100】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【符号の説明】
【0101】
1 半導体集積回路
2 実装基板
3 半導体集積回路
4 電源回路
100 第1測定回路
101 リングオシレータ
102 カウンタ
200 第2測定回路
201_1〜201_ペアリングオシレータ
201A,201B ペアリングオシレータを構成するリングオシレータのペア
202A,202B カウンタ
203 演算部
204 コントローラ
300 制御情報生成回路
301 記憶部
302 演算部
303 対応表(変換テーブルデータ)
304 対応表(目標値テーブルデータ)
VCNT 制御情報
VDD、VDD1、VDD2、VDD3 電源電圧
fs(u) 第1測定回路の出力(内部回路におけるゲートディレイの平均値に対する相対値)
fr(σ) 第2測定回路の出力(内部回路におけるゲートディレイの標準偏差に対する相対値)

【特許請求の範囲】
【請求項1】
内部回路と、前記内部回路の局所的な特性に応ずる遅延情報の統計的情報を生成する測定回路と、前記測定回路の測定結果に基づいて前記内部回路に用いる電源電圧を決定するための制御情報を生成する制御情報生成回路とを半導体チップに備えた半導体集積回路であって、
前記測定回路は、前記内部回路におけるゲートディレイの平均値に対する相対値を生成する第1測定回路と、
前記内部回路におけるゲートディレイの標準偏差に対する相対値を生成する第2測定回路と、を含み、
前記制御情報生成回路は、前記第1測定回路及び第2の測定回路によって生成されたゲートディレイの平均値の相対値及びゲートディレイの標準偏差の相対値に基づいて前記制御情報を生成する、半導体集積回路。
【請求項2】
前記第1測定回路はゲートディレイの平均値に対する相対値を生成するときに使用する発振周波数を測定するためのリングオシレータを有し、前記第2測定回路はゲートディレイの標準偏差に対する相対値を生成するときに使用する発振周波数を測定するためのリングオシレータを有し、前記第1測定回路が有するリングオシレータの遅延段数は、前記第2測定回路が有するリングオシレータの遅延段数よりも長い、請求項1に記載の半導体集積回路。
【請求項3】
前記制御情報生成回路は、前記第1測定回路で得られる前記相対値と前記第2測定回路で得られる前記相対値とに基づいて前記制御情報を生成するために参照されるテーブルデータを保有する、請求項2記載の半導体集積回路。
【請求項4】
前記制御情報生成回路は、第1の電源電圧で前記内部回路が動作されるときに、前記第1測定回路で得られる前記相対値と前記第2測定回路で得られる前記相対値とをインデックスとして対応される目標電圧値の情報を参照するための変換テーブルデータを前記テーブルデータとして記憶する不揮発性記憶回路を有し、前記変換テーブルデータを用いて参照した目標電圧値の情報を前記制御情報とする、請求項3記載の半導体集積回路。
【請求項5】
前記目標電圧は、前記第1測定回路で得られる相対値が小さいほど高くされ、前記第2測定回路で得られる相対値が大きいほど高くされる、請求項4記載の半導体集積回路。
【請求項6】
前記制御情報生成回路は、内部回路に要求する速度性能を満足すために必要な電源電圧を最低限得るための前記第1測定回路で得られる前記相対値及び前記第2測定回路で得られる前記相対値を複数の速度性能毎に目標相対値として表した目標値テーブルデータを前記テーブルデータとして記憶する不揮発性記憶回路を有し、前記第1測定回路及び第2測定回路により得られた相対値が、目標値テーブルデータにおける目的とする処理速度に対応する目標相対値を満足すか否かを示す情報を前記制御情報とする、請求項3記載の半導体集積回路。
【請求項7】
前記目標相対値は、前記第1測定回路で得られる相対値は速度性能が高いほど大きな値とされ、前記第2測定回路で得られる相対値は速度性能が高いほど小さな値とされる、請求項6記載の半導体集積回路。
【請求項8】
前記不揮発性記憶回路は、半導体メモリ又はヒューズプログラム回路である、請求項4又は6記載の半導体集積回路。
【請求項9】
前記第1測定回路及び前記第2測定回路が有するリングオシレータは、前記内部回路に含まれている代表的な複数種類の論理ゲート毎に複数配置され、
前記第1測定回路及び前記第2測定回路は、複数配置されたリングオシレータの中から選択されたリングオシレータの出力を用いて前記相対値を生成する請求項2記載の半導体集積回路。
【請求項10】
前記第1測定回路及び前記第2測定回路を複数個有し、前記制御情報生成回路は複数個の前記第1測定回路及び前記第2測定回路の出力のうち最もばらつきの変動が大きい相対値を利用して前記制御情報を生成する、請求項1記載の半導体集積回路。
【請求項11】
前記半導体チップは夫々個別の電源電圧が供給される複数個の電源ドメインを有し、
前記電源ドメイン毎に前記内部回路、前記測定回路及び前記制御情報生成回路を有する、請求項1記載の半導体集積回路。
【請求項12】
前記制御情報を前記半導体チップの外部に出力する外部インタフェース回路を有する、請求項1記載の半導体集積回路。
【請求項13】
前記半導体チップの外部電源端子から供給される外部電源電圧を入力して前記電源電圧を生成する電圧レギュレータを有し、前記電圧レギュレータは前記制御情報に基づいて外部電源電圧に対する前記電源電圧のレベルを制御する、請求項1記載の半導体集積回路。
【請求項14】
前記第1測定回路は、第1のリングオシレータと、前記第1のリングオシレータの発振出力を入力し、所定周期単位で発振出力の計数動作を行って、その計数値をゲートディレイの平均値に対する相対値として出力するカウンタとを有する、請求項2記載の半導体集積回路。
【請求項15】
前記ゲートディレイの平均値に対する相対値をfs(u)、前記ゲートディレイの平均値をu、前記所定周期をCLKP、前記第1のリングオシレータのゲート段数をN1、α(=2)を定数とするとき、
fs(u)の値は、CLKP/(α×N1×u)とされる、請求項14記載の半導体集積回路。
【請求項16】
前記第2測定回路は、第2のリングオシレータの複数のペアと、前記第2のリングオシレータの発振出力をペア単位で夫々計数するカウンタのペアと、前記カウンタのペアの出力を受けて演算を行う演算回路と、制御回路とを有し、
前記制御回路は前記第2のリングオシレータのペアの発振出力をペア毎に順次切換えてカウンタのペアに供給すると共に、前記供給を切換える毎に前記カウンタのペアに初期値から計数動作を開始させる動作をM回繰り返し、
前記演算回路は、計数動作を開始した前記カウンタのペアの一方が最大値に達する毎に他方のカウンタの計数値を論理反転し、各論理反転値の二乗値を平均した値に基づいて前記ゲートディレイの標準偏差に対する相対値を求める、請求項14記載の半導体集積回路。
【請求項17】
前記ゲートディレイの標準偏差に対する相対値をfr(σ)、前記各論理反転値の二乗値を平均した値をfbbs、MVCを前記カウンタの最大値、前記第2のリングオシレータのゲート段数をN2、β(=4)を定数とするとき、
fr(σ)の値は、fbbs/β×MVC^2×M×N2とされる(記号^は累乗を意味する)、請求項16記載の半導体集積回路。
【請求項18】
実装基板に半導体集積回路と、前記半導体集積回路に電源電圧を供給する電源回路とが実装された電子機器であって、
前記半導体集積回路は、内部回路と、前記内部回路の局所的な特性に応ずる遅延情報の統計的情報を生成する測定回路と、前記測定回路の測定結果に基づいて前記内部回路に用いる電源電圧を決定するための制御情報を生成する制御情報生成回路とを半導体チップに備え、
前記測定回路は、前記内部回路におけるゲートディレイの平均値に対する相対値を生成する第1測定回路と、前記内部回路におけるゲートディレイの標準偏差に対する相対値を生成する第2測定回路と、を含み、
前記制御情報生成回路は、前記電源回路から供給される第1の電源電圧で前記内部回路が動作されるときに、前記第1測定回路で得られる前記相対値と前記第2測定回路で得られる前記相対値とをインデックスとして参照される目標電圧値の情報を保有するための変換テーブルデータを用いて参照した目標電圧値の情報を前記制御情報として前記電源回路に供給し、
前記電源回路は、供給された制御情報によって指定される電圧の電源電圧を半導体集積回路に供給する、電子機器。
【請求項19】
実装基板に半導体集積回路と、前記半導体集積回路に電源電圧を供給する電源回路とが実装された電子回路であって、
前記半導体集積回路は、内部回路と、前記内部回路の局所的な特性に応ずる遅延情報の統計的情報を生成する測定回路と、前記測定回路の測定結果に基づいて前記内部回路に用いる電源電圧を決定するための制御情報を生成する制御情報生成回路とを半導体チップに備え、
前記測定回路は、前記内部回路におけるゲートディレイの平均値に対する相対値を生成する第1測定回路と、前記内部回路におけるゲートディレイの標準偏差に対する相対値を生成する第2測定回路と、を含み、
前記制御情報生成回路は、内部回路に要求する速度性能を満足すために必要な電源電圧を最低限得るための前記第1測定回路で得られる前記相対値及び前記第2測定回路で得られる前記相対値を複数の速度性能毎に目標相対値として表した目標値テーブルデータを記憶する不揮発性記憶回路を有し、前記第1測定回路及び前記第2測定回路により得られた相対値が、目標値テーブルデータにおける目的とする処理速度に対応する目標相対値を満足すか否かを示す情報を前記制御情報として前記電源回路に供給し、
前記電源回路は、供給された制御情報が目標相対値を満足しないことを示すとき、前記半導体集積回路に供給する電源電圧を変更する制御を行う、電子機器。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2011−151309(P2011−151309A)
【公開日】平成23年8月4日(2011.8.4)
【国際特許分類】
【出願番号】特願2010−13304(P2010−13304)
【出願日】平成22年1月25日(2010.1.25)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】