(57)【特許請求の範囲】
【請求項１】
内部回路と、前記内部回路の局所的な特性に応ずる遅延情報の統計的情報を生成する測定回路と、前記測定回路の測定結果に基づいて前記内部回路に用いる電源電圧を決定するための制御情報を生成する制御情報生成回路とを半導体チップに備えた半導体集積回路であって、
前記測定回路は、前記内部回路におけるゲートディレイの平均値に対する相対値を生成する第１測定回路と、
前記内部回路におけるゲートディレイの標準偏差に対する相対値を生成する第２測定回路と、を含み、
前記制御情報生成回路は、前記第１測定回路及び第２の測定回路によって生成されたゲートディレイの平均値の相対値及びゲートディレイの標準偏差の相対値に基づいて前記制御情報を生成する、半導体集積回路。
【請求項２】
前記第１測定回路はゲートディレイの平均値に対する相対値を生成するときに使用する発振周波数を測定するためのリングオシレータを有し、前記第２測定回路はゲートディレイの標準偏差に対する相対値を生成するときに使用する発振周波数を測定するためのリングオシレータを有し、前記第１測定回路が有するリングオシレータの遅延段数は、前記第２測定回路が有するリングオシレータの遅延段数よりも長い、請求項１に記載の半導体集積回路。
【請求項３】
前記制御情報生成回路は、前記第１測定回路で得られる前記相対値と前記第２測定回路で得られる前記相対値とに基づいて前記制御情報を生成するために参照されるテーブルデータを保有する、請求項２記載の半導体集積回路。
【請求項４】
前記制御情報生成回路は、第１の電源電圧で前記内部回路が動作されるときに、前記第１測定回路で得られる前記相対値と前記第２測定回路で得られる前記相対値とをインデックスとして対応される目標電圧値の情報を参照するための変換テーブルデータを前記テーブルデータとして記憶する不揮発性記憶回路を有し、前記変換テーブルデータを用いて参照した目標電圧値の情報を前記制御情報とする、請求項３記載の半導体集積回路。
【請求項５】
前記目標電圧は、前記第１測定回路で得られる相対値が小さいほど高くされ、前記第２測定回路で得られる相対値が大きいほど高くされる、請求項４記載の半導体集積回路。
【請求項６】
前記制御情報生成回路は、内部回路に要求する速度性能を満足すために必要な電源電圧を最低限得るための前記第１測定回路で得られる前記相対値及び前記第２測定回路で得られる前記相対値を複数の速度性能毎に目標相対値として表した目標値テーブルデータを前記テーブルデータとして記憶する不揮発性記憶回路を有し、前記第１測定回路及び第２測定回路により得られた相対値が、目標値テーブルデータにおける目的とする処理速度に対応する目標相対値を満足すか否かを示す情報を前記制御情報とする、請求項３記載の半導体集積回路。
【請求項７】
前記目標相対値は、前記第１測定回路で得られる相対値は速度性能が高いほど大きな値とされ、前記第２測定回路で得られる相対値は速度性能が高いほど小さな値とされる、請求項６記載の半導体集積回路。
【請求項８】
前記不揮発性記憶回路は、半導体メモリ又はヒューズプログラム回路である、請求項４又は６記載の半導体集積回路。
【請求項９】
前記第１測定回路及び前記第２測定回路が有するリングオシレータは、前記内部回路に含まれている代表的な複数種類の論理ゲート毎に複数配置され、
前記第１測定回路及び前記第２測定回路は、複数配置されたリングオシレータの中から選択されたリングオシレータの出力を用いて前記相対値を生成する請求項２記載の半導体集積回路。
【請求項１０】
前記第１測定回路及び前記第２測定回路を複数個有し、前記制御情報生成回路は複数個の前記第１測定回路及び前記第２測定回路の出力のうち最もばらつきの変動が大きい相対値を利用して前記制御情報を生成する、請求項１記載の半導体集積回路。
【請求項１１】
前記半導体チップは夫々個別の電源電圧が供給される複数個の電源ドメインを有し、
前記電源ドメイン毎に前記内部回路、前記測定回路及び前記制御情報生成回路を有する、請求項１記載の半導体集積回路。
【請求項１２】
前記制御情報を前記半導体チップの外部に出力する外部インタフェース回路を有する、請求項１記載の半導体集積回路。
【請求項１３】
前記半導体チップの外部電源端子から供給される外部電源電圧を入力して前記電源電圧を生成する電圧レギュレータを有し、前記電圧レギュレータは前記制御情報に基づいて外部電源電圧に対する前記電源電圧のレベルを制御する、請求項１記載の半導体集積回路。
【請求項１４】
前記第１測定回路は、第１のリングオシレータと、前記第１のリングオシレータの発振出力を入力し、所定周期単位で発振出力の計数動作を行って、その計数値をゲートディレイの平均値に対する相対値として出力するカウンタとを有する、請求項２記載の半導体集積回路。
【請求項１５】
前記ゲートディレイの平均値に対する相対値をｆｓ(ｕ)、前記ゲートディレイの平均値をｕ、前記所定周期をＣＬＫＰ、前記第１のリングオシレータのゲート段数をＮ１、α（＝２）を定数とするとき、
ｆｓ(ｕ)の値は、ＣＬＫＰ／（α×Ｎ１×ｕ）とされる、請求項１４記載の半導体集積回路。
【請求項１６】
前記第２測定回路は、第２のリングオシレータの複数のペアと、前記第２のリングオシレータの発振出力をペア単位で夫々計数するカウンタのペアと、前記カウンタのペアの出力を受けて演算を行う演算回路と、制御回路とを有し、
前記制御回路は前記第２のリングオシレータのペアの発振出力をペア毎に順次切換えてカウンタのペアに供給すると共に、前記供給を切換える毎に前記カウンタのペアに初期値から計数動作を開始させる動作をＭ回繰り返し、
前記演算回路は、計数動作を開始した前記カウンタのペアの一方が最大値に達する毎に他方のカウンタの計数値を論理反転し、各論理反転値の二乗値を平均した値に基づいて前記ゲートディレイの標準偏差に対する相対値を求める、請求項１４記載の半導体集積回路。
【請求項１７】
前記ゲートディレイの標準偏差に対する相対値をｆｒ(σ)、前記各論理反転値の二乗値を平均した値をｆｂｂｓ、ＭＶＣを前記カウンタの最大値、前記第２のリングオシレータのゲート段数をＮ２、β（＝４）を定数とするとき、
ｆｒ(σ)の値は、ｆｂｂｓ／β×ＭＶＣ＾２×Ｍ×N２とされる（記号＾は累乗を意味する）、請求項１６記載の半導体集積回路。
【請求項１８】
実装基板に半導体集積回路と、前記半導体集積回路に電源電圧を供給する電源回路とが実装された電子機器であって、
前記半導体集積回路は、内部回路と、前記内部回路の局所的な特性に応ずる遅延情報の統計的情報を生成する測定回路と、前記測定回路の測定結果に基づいて前記内部回路に用いる電源電圧を決定するための制御情報を生成する制御情報生成回路とを半導体チップに備え、
前記測定回路は、前記内部回路におけるゲートディレイの平均値に対する相対値を生成する第１測定回路と、前記内部回路におけるゲートディレイの標準偏差に対する相対値を生成する第２測定回路と、を含み、
前記制御情報生成回路は、前記電源回路から供給される第１の電源電圧で前記内部回路が動作されるときに、前記第１測定回路で得られる前記相対値と前記第２測定回路で得られる前記相対値とをインデックスとして参照される目標電圧値の情報を保有するための変換テーブルデータを用いて参照した目標電圧値の情報を前記制御情報として前記電源回路に供給し、
前記電源回路は、供給された制御情報によって指定される電圧の電源電圧を半導体集積回路に供給する、電子機器。
【請求項１９】
実装基板に半導体集積回路と、前記半導体集積回路に電源電圧を供給する電源回路とが実装された電子回路であって、
前記半導体集積回路は、内部回路と、前記内部回路の局所的な特性に応ずる遅延情報の統計的情報を生成する測定回路と、前記測定回路の測定結果に基づいて前記内部回路に用いる電源電圧を決定するための制御情報を生成する制御情報生成回路とを半導体チップに備え、
前記測定回路は、前記内部回路におけるゲートディレイの平均値に対する相対値を生成する第１測定回路と、前記内部回路におけるゲートディレイの標準偏差に対する相対値を生成する第２測定回路と、を含み、
前記制御情報生成回路は、内部回路に要求する速度性能を満足すために必要な電源電圧を最低限得るための前記第１測定回路で得られる前記相対値及び前記第２測定回路で得られる前記相対値を複数の速度性能毎に目標相対値として表した目標値テーブルデータを記憶する不揮発性記憶回路を有し、前記第１測定回路及び前記第２測定回路により得られた相対値が、目標値テーブルデータにおける目的とする処理速度に対応する目標相対値を満足すか否かを示す情報を前記制御情報として前記電源回路に供給し、
前記電源回路は、供給された制御情報が目標相対値を満足しないことを示すとき、前記半導体集積回路に供給する電源電圧を変更する制御を行う、電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路及びそれを搭載した電子回路に関し、特に電源電圧を制御してゲートディレイによる動作速度のばらつきを補正する適応型電圧スケーリング(AVS：Adaptive Voltage Scaling)技術に関するものである。
【背景技術】
【０００２】
携帯電話に使用されるSoC（System On a Chip）で強く要求される低消費電力化には、電源電圧を低減することが重要である。一方で、半導体プロセスの微細化に伴い、リーク電流や、プロセスばらつきが増大し、電源電圧を低減することが難しくなってきている。これに対して、チップ毎のプロセスばらつきに応じて最適な電源電圧を供給する適応型電圧スケーリング(AVS：Adaptive Voltage Scaling)技術が注目されている。適応型電圧スケーリング技術は、チップ毎の平均的なゲートディレイばらつき、つまり、性能が一定になるように電源電圧を制御する。例えば、プロセスばらつきを原因としてゲートディレイが中心値よりも速い（小さい）側にばらついていたチップに対しては、電源電圧を下げることでゲートディレイを遅い側に補正し、或いはゲートディレイが中心値よりも遅い（大きい）側にばらついていたチップに対しては、電源電圧を上げることでゲートディレイを速い側に補正する。このように、チップ毎のプロセスばらつきに応じて最適な電源電圧を印加することで、性能を維持したままより低電力化が実現できる。適応型電圧スケーリング技術はプロセスばらつき以外にも、温度変動や、動作時電源ノイズ、デバイスの経年劣化を原因としたゲートディレイの変動に対しても補正対象とすることができる。この適応型電圧スケーリング技術は、今後、微細化が進みプロセスばらつきが増加するというトレンドの下で、必須の技術として考えられる。適応型電圧スケーリング技術は、下記非特許文献１に詳細に記載されている。
【０００３】
一般に、プロセスばらつきの種類は大きく分けて、チップ間（Inter-die、或いはグローバル)ばらつきと、チップ内（Intra-die 或いはローカル）ばらつきに分類することができる。チップ間ばらつきは、製造時におけるウェーハ（Wafer）上の温度勾配や、リソグラフィー行程におけるステッパからウェーハまでの光路差の違いによる加工誤差、或いはレイアウトパターン依存等のシステマテックな現象が原因と考えられており、ばらつきの大きさはウェーハ面内でなだらかに変化することが特徴である。チップ毎に適応型電圧スケーリングを実施する際には、チップ間ばらつきの大きさはチップ内ではほぼ一定と考えて、チップ毎のゲートディレイの平均値を一定にするように電源電圧を制御して、チップ間ばらつきを補正する。このチップ間ばらつきを、以降、システマテックばらつきと呼ぶ。
【０００４】
一方、チップ内ばらつきは、基板の不純物濃度がトランジスタ毎にばらつくことが原因として考えられており、トランジスタ間で互いに無相関であることが特徴である。一般的に、ゲートディレイの大きさの確率分布は正規分布で表すことができるため、チップ内ばらつきの大きさは標準偏差で表す。以降、チップ内ばらつきをランダムばらつきと呼ぶ。システマテックばらつきとランダムばらつきについては、下記非特許文献２に記載されている。
【０００５】
従来、適応型電圧スケーリング技術が補正対象としていたプロセスばらつきの種類は、主にシステマテックばらつきであった。そのシステム概要は、チップ内に、ゲートディレイの平均値を測定するセンサ回路を設置し、そのセンサ回路の出力結果から、システマテックばらつきを導出し、その値から最適な電源電圧値を導出し、チップに印加していた。一方で、微細化が進む技術トレンドの中、ランダムばらつきの大きさが非常に大きくなることが予想されている。そのため、ランダムばらつきも適応型電圧スケーリングの補正対象に加える必要性が高まると予想される。これに関し、特許文献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.
【非特許文献２】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.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献1で述べられている、システマテックばらつきとランダムばらつきの両方を考慮した適応型電圧スケーリング技術を実現するための回路構成及び動作方法は以下に述べる３つの課題がある。第１は、１種類のセンサ回路で、ゲートディレイのシステマテックばらつき（平均値）とランダムばらつき（標準偏差：σ）の両方を検出していることである。センサ回路は測定対象に特化した方が、少ないリソース（回路規模、評価時間）で精度良く検出できるため、ばらつきの種類に応じて最適なセンサ回路を提供する必要がある。
【０００９】
第２は、ゲートディレイのランダムばらつきの大きさをチップ外部で求めていることである。特許文献1では、ゲートディレイのランダムばらつきの大きさ（標準偏差）の絶対値を測定するために、多数のセンサ回路をチップ内部に設置し、そのセンサ回路の出力結果をチップ外部に送信し、チップ外部の演算部で統計処理をして求めている。わざわざ、チップ外部で統計処理を実施する理由は、標準偏差の絶対値を計算するための演算が複雑なため、外部リソース（パーソナルコンピューターやLSIテスタ）で実施した方が好適と考えられるためである。一方、チップの動的なばらつき変動（システムに搭載されたチップの実動作状態におけるばらつき変動）に対し、動的な適応型電圧スケーリングを実施するためには、チップの動作中に、オンチップで、ばらつきの大きさを知る必要がある。
【００１０】
最後の課題として、ゲートディレイのシステマテックばらつき（平均値）とランダムばらつき（標準偏差：σ）を求めて最適電圧を導出する際、単純にデータパスの遅延ワースト値として平均値と３σ（標準偏差（σ）の３倍）の和のみを考慮していることである。一般に、設計時におけるタイミング計算は、STA（Static Timing Analyzer)ツールや、最近では、ランダムばらつきをダイレクトに扱うことが可能なSSTA(Statistical Static Timing Analyzer）ツールを使用して実施する。同ツールで扱うタイミングワースト条件としては、単純な、平均値と３σ（標準偏差（σ）の３倍）の和、という条件ではなく、クロックパスとデータパスにそれぞれ異なる絶対値のランダムばらつきを付与するのが通常である。適応型電圧スケーリングを実施する際のタイミング計算も、それと同様に実施すべきである。例えば、信号経路のタイミング条件として第１経路のディレイが第２経路のディレイよりも小さくなければないないとき、第１経路のディレイにはばらつきを加算し、第２経路のディレイにはばらつきを減算して、タイミング計算を実施すべきである。
【００１１】
本発明の目的は、前記課題を解決するためのものであり、システマテックばらつきとランダムばらつきの両方を考慮した適応型電圧スケーリング技術を実現することにある。
【００１２】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１３】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１４】
すなわち、適応型電圧スケーリングを実施するシステム構成において、プロセスばらつきの種類毎に最適な検出回路を設置できるにする。すなわち、システマテックばらつき検出用にゲートディレイの平均値に対する相対値を生成する第１測定回路、及び、ランダムばらつき検出用にゲートディレイの標準偏差に対する相対値を生成する第２測定回路を別々に設置する。夫々の測定回路で生成された相対値に基づいて電源電圧を決定するための制御情報を生成する。これを生成するときは例えばテーブルデータを参照する。
【発明の効果】
【００１５】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１６】
すなわち、システマテックばらつき検出用の測定回路とランダムばらつき検出用の測定回路とを個別にオンチップするから、双方のばらつきを精度良く検出して、チップ上で適応的に電源電圧制御を可能にすることができる。テーブルデータを参照して制御情報を生成するからテーブルデータにＳＴＡ又はＳＳＴＡ等によるタイミング計算結果を反映しておけば相対値に基づく制御情報の高精度な生成も容易である。
【図面の簡単な説明】
【００１７】
【図１】実施の形態1として、システマテックばらつきとランダムばらつきの大きさによって、適応型電圧スケーリングを実施するシステム構成を示したブロック図である。
【図２】実施の形態1として、システマテックばらつきに関する第１測定回路の構成を示したブロック図である。
【図３】実施の形態1として、システマテックばらつきに関する第１測定回路に含まれるリングオシレータの回路図である。
【図４】実施の形態1として、システマテックばらつきに関する測定回路に含まれるカウンタの回路図である。
【図５】実施の形態1として、システマテックばらつきに関する測定回路に含まれるカウンタの回路の動作波形図である。
【図６】実施の形態1として、システマテックばらつきの大きさとシステマテックばらつきに関する測定回路の出力値との依存関係を示した説明図である。
【図７】実施の形態1として、ランダムばらつきに関する測定回路の構成を示したブロック図である。
【図８】実施の形態1として、ランダムばらつきに関する測定回路において、どのようにランダムばらつきを求めているかを示した説明図である
【図９】実施の形態1として、ランダムばらつきに関する測定回路のペアリングオシレータの数とばらつき値の精度の関係を示した説明図である。
【図１０】実施の形態1として、ランダムばらつきの大きさとランダムばらつきに関する測定回路の出力値との依存関係を示した説明図である。
【図１１】実施の形態1として、最適電源電圧を計算する制御情報生成回路の構成を示したブロック図である。
【図１２】実施の形態1として、制御情報生成回路の記憶部に保存されているある基準電源電圧下における各測定の出力値と最適な電源電圧値との対応を示すデータテーブルの説明図である。
【図１３】実施の形態1として、チップブート時における、システマテックばらつきとランダムばらつきの大きさに応じて適応型電圧スケーリングを実施する処理のフローチャートである。
【図１４】実施の形態２として、システマテックばらつきに関する測定回路の構成を示したブロック図である。
【図１５】実施の形態２として、ランダムばらつきに関する測定回路の構成を示したブロック図である。
【図１６】実施の形態３として、最適電源電圧を計算する制御情報生成回路の記憶部に保存されているチップの要求性能とその性能に応じたばらつきの対応を示すデータテーブルの説明図である。
【図１７】実施の形態３として、フィードバックループによる適応型電圧スケーリングを実施する際の処理を示すフローチャートであるである。
【図１８】実施の形態４として、多数の測定回路の結果に応じて、適応型電圧スケーリングを実施するシステム構成を示したブロック図である。
【図１９】実施の形態５として、チップ内に複数の電源ドメインを設置した場合の、適応型電圧スケーリングを実施するシステム構成を示したブロック図である。
【図２０】実施の形態６として、オンチップの電圧レギュレータを搭載した場合の、適応型電圧スケーリングを実施するシステム構成を示したブロック図である。
【発明を実施するための形態】
【００１８】
１．実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１９】
〔１〕本発明の代表的な実施の形態に係る半導体集積回路は、内部回路と、前記内部回路の局所的な特性に応ずる遅延情報の統計的情報を生成する測定回路と、前記測定回路の測定結果に基づいて前記内部回路に用いる電源電圧を決定するための制御情報を生成する制御情報生成回路とを半導体チップに備える。前記測定回路は、前記内部回路におけるゲートディレイの平均値に対する相対値（fs(u)）を生成する第１測定回路（１００）と、前記内部回路におけるゲートディレイの標準偏差に対する相対値（fr(σ)）を生成する第２測定回路（２００）と、を含む。前記制御情報生成回路は、前記第１測定回路及び第２の測定回路によって生成されたゲートディレイの平均値の相対値及びゲートディレイの標準偏差の相対値に基づいて前記制御情報を生成する。
【００２０】
システマテックばらつき検出用の測定回路とランダムばらつき検出用の測定回路とを個別にオンチップするから、双方のばらつきを精度良く検出した電源電圧制御を可能にすることができる。更に測定回路は標準偏差に対する相対値を求め、標準偏差の絶対値を求めることを要しないので、測定回路の回路規模の縮小、測定回路のオンチップ化に好適である。チップ上で適応的に電源電圧制御を可能にするから、チップの動的なばらつき変動にも対応して、適応的に電圧スケーリングを実施することも容易になる。
【００２１】
〔２〕項１の半導体集積回路において、前記第１測定回路はゲートディレイの平均値に対する相対値を生成するときに使用する発振周波数を測定するためのリングオシレータ（１０１）を有し、前記第２測定回路はゲートディレイの標準偏差に対する相対値を生成するときに使用する発振周波数を測定するためのリングオシレータ（２０１A，２０１B）を有し、前記第１測定回路が有するリングオシレータの遅延段数は、前記第２測定回路が有するリングオシレータの遅延段数よりも長い。
【００２２】
これにより、システマテックばらつき検出用の測定回路によるゲートディレイの平均値に対する相対値を生成するときゲートディレイの標準偏差に対応するランダムばらつきの影響を小さくすることができる。
【００２３】
〔３〕項２の半導体集積回路において、前記制御情報生成回路は、前記第１測定回路で得られる前記相対値と前記第２測定回路で得られる前記相対値とに基づいて前記制御情報を生成するために参照されるテーブルデータを保有する。
【００２４】
テーブルデータを参照して制御情報を生成するからテーブルデータにＳＴＡ又はＳＳＴＡ等によるタイミング計算結果を反映しておけば前記相対値に基づいて高精度な制御情報を容易に生成することができる。
【００２５】
〔４〕＜図12の初期設定TBL＞項３の半導体集積回路において、前記制御情報生成回路は、第１の電源電圧で前記内部回路が動作されるときに、前記第１測定回路で得られる前記相対値と前記第２測定回路で得られる前記相対値とをインデックスとして対応される目標電圧値の情報を参照するための変換テーブルデータ（３０３）を前記テーブルデータとして記憶する不揮発性記憶回路を有し、前記変換テーブルデータを用いて参照した目標電圧値の情報を前記制御情報とする。これにより、半導体集積回路の電源電圧の適応的な初期設定が容易になる。
【００２６】
〔５〕項４の半導体集積回路において、前記目標電圧は、前記第１測定回路で得られる相対値が小さいほど高くされ、前記第２測定回路で得られる相対値が大きいほど高くされる。ゲートディレイの平均値に対する相対値の増加はリングオシレータを用いて計測された発振周波数の平均値の減少に対応され、ゲートディレイの標準偏差に対する相対値の増加はリングオシレータを用いて計測された発振周波数の標準偏差の増加に対応される。
【００２７】
〔６〕＜図16ダイナミック設定用TBL＞項３の半導体集積回路において、前記制御情報生成回路は、内部回路に要求する速度性能を満足すために必要な電源電圧を最低限得るための前記第１測定回路で得られる前記相対値及び前記第２測定回路で得られる前記相対値を複数の速度性能毎に目標相対値として表した目標値テーブルデータ（３０４）を前記テーブルデータとして記憶する不揮発性記憶回路を有し、前記第１測定回路及び第２測定回路により得られた相対値が、目標値テーブルデータにおける目的とする処理速度に対応する目標相対値を満足すか否かを示す情報を前記制御情報とする。これにより、温度変動、半導体集積回路の動作中における電源ノイズ、及び半導体集積回路の経年的な特性変動などに起因するゲートディレイの変動に対して所要の速度性能を満足するようにダイナミックに電源電圧を補正することが可能になる。
【００２８】
〔７〕項６の半導体集積回路において、前記目標相対値は、前記第１測定回路で得られる相対値は速度性能が高いほど大きな値とされ、前記第２測定回路で得られる相対値は速度性能が高いほど小さな値とされる。ゲートディレイの平均値に対する相対値の増加はリングオシレータを用いて計測された発振周波数の平均値の減少に対応され、ゲートディレイの標準偏差に対する相対値の増加はリングオシレータを用いて計測された発振周波数の標準偏差の増加に対応され、目的とする速度性能が高いほどゲートディレイの平均値と標準偏差が小さくなればよい。
【００２９】
〔８〕項４又は６の半導体集積回路において、前記不揮発性記憶回路は、半導体メモリ又はヒューズプログラム回路である。
【００３０】
〔９〕＜論理ゲート種類別のリングオシレータ＞項２の半導体集積回路において、前記第１測定回路及び前記第２測定回路が有するリングオシレータは、前記内部回路に含まれている代表的な複数種類の論理ゲート毎に複数配置される。前記第１測定回路及び前記第２測定回路は、複数配置されたリングオシレータの中から選択されたリングオシレータの出力を用いて前記相対値を生成する。論理ゲートの種類に応じてゲートディレイが異なる場合に容易に対応することができる。
【００３１】
〔１０〕＜測定回路の複数ペア分散配置＞項１の半導体集積回路において、前記第１測定回路及び前記第２測定回路を複数個有し、前記制御情報生成回路は複数個の前記第１測定回路及び前記第２測定回路の出力のうち最もばらつきの変動が大きい相対値を利用して前記制御情報を生成する。測定回路の複数ペアを分散配置することにより半導体集積回路の部位に応じてゲートディレイが異なる場合に容易に対応することができる。
【００３２】
〔１１〕＜電源ドメイン毎の制御＞項１の半導体集積回路において、前記半導体チップは夫々個別の電源電圧が供給される複数個の電源ドメインを有し、前記電源ドメイン毎に前記内部回路、測定回路及び前記制御情報生成回路を有する。電源電圧の異なる電源ドメイン毎に電源電圧を適応的に制御することができる。
【００３３】
〔１２〕＜制御情報の外部出力＞項１の半導体集積回路において、前記制御情報を前記半導体チップの外部に出力する外部インタフェース回路を有する。制御情報の外部出力により半導体集積回路の外部に配置された電源回路が制御情報に基づいてその電源電圧を制御することができる。
【００３４】
〔１３〕＜オンチップ電圧レギュレータ制御＞項１の半導体集積回路において、前記半導体チップの外部電源端子から供給される外部電源電圧を入力して前記電源電圧を生成する電圧レギュレータを有し、前記電圧レギュレータは前記制御情報に基づいて外部電源電圧に対する前記電源電圧のレベルを制御する。半導体集積回路のオンチップレギュレータを用いて電源電圧を適応的に制御することができる。
【００３５】
〔１４〕項２の半導体集積回路において、前記第１測定回路は、第１のリングオシレータと、前記第１のリングオシレータの発振出力を入力し、所定周期単位で発振出力の計数動作を行って、その計数値をゲートディレイの平均値に対する相対値として出力するカウンタとを有する。
【００３６】
これにより、ゲートディレイの平均値に対する相対値をリングオシレータを用いて計測された発振周波数の平均値を用いて得ることができる。
【００３７】
〔１５〕項１４の半導体集積回路において、前記ゲートディレイの平均値に対する相対値をｆｓ(ｕ)、前記ゲートディレイの平均値をｕ、前記所定周期をＣＬＫＰ、前記第１のリングオシレータのゲート段数をＮ１、α（＝２）を定数とするとき、例えばｆｓ(ｕ)の値は、ＣＬＫＰ／（α×Ｎ１×ｕ）とされる。
【００３８】
〔１６〕項１４の半導体集積回路において、前記第２測定回路は、第２のリングオシレータの複数のペアと、前記第２のリングオシレータの発振出力をペア単位で夫々計数するカウンタのペアと、前記カウンタのペアの出力を受けて演算を行う演算回路と、制御回路とを有する。前記制御回路は前記第２のリングオシレータのペアの発振出力をペア毎に順次切換えてカウンタのペアに供給すると共に、前記供給を切換える毎に前記カウンタのペアに初期値から計数動作を開始させる動作をＭ回繰り返する。前記演算回路は、計数動作を開始した前記カウンタのペアの一方が最大値に達する毎に他方のカウンタの計数値を論理反転し、各論理反転値の二乗値を平均した値に基づいて前記ゲートディレイの標準偏差に対する相対値を求める。
【００３９】
これにより、ゲートディレイの標準偏差に対する相対値をリングオシレータのペアを用いて計測された小さいほうの発振周波数の論理反転値を用いて容易に得ることができる。リングオシレータの発振周波数に対して標準偏差の絶対値を求める演算を行うことを要しない。
【００４０】
〔１７〕項１６の半導体集積回路において、前記ゲートディレイの標準偏差に対する相対値をｆｒ(σ)、前記各論理反転値の二乗値を平均した値をｆｂｂｓ、ＭＶＣを前記カウンタの最大値、前記第２のリングオシレータのゲート段数をＮ２、β（＝４）を定数とするとき、例えばｆｒ(σ)の値は、ｆｂｂｓ／β×ＭＶＣ＾２×Ｍ×N２とされる（記号＾は累乗を意味する）。
【００４１】
〔１８〕＜電子回路のブート時電源電圧制御＞本発明の別の実施の形態による電子機器は、実装基板に半導体集積回路と、前記半導体集積回路に電源電圧を供給する電源回路とが実装される。前記半導体集積回路は、内部回路と、前記内部回路の局所的な特性に応ずる遅延情報の統計的情報を生成する測定回路と、前記測定回路の測定結果に基づいて前記内部回路に用いる電源電圧を決定するための制御情報を生成する制御情報生成回路とを半導体チップに備える。前記測定回路は、前記内部回路におけるゲートディレイの平均値に対する相対値を生成する第１測定回路と、前記内部回路におけるゲートディレイの標準偏差に対する相対値を生成する第２測定回路と、を含む。前記制御情報生成回路は、前記電源回路から供給される第１の電源電圧で前記内部回路が動作されるときに、前記第１測定回路で得られる前記相対値と前記第２測定回路で得られる前記相対値とをインデックスとして参照される目標電圧値の情報を保有するための変換テーブルデータを用いて参照した目標電圧値の情報を前記制御情報として前記電源回路に供給する。前記電源回路は、供給された制御情報によって指定される電圧の電源電圧を半導体集積回路に供給する。
【００４２】
電子回路のブート時などに半導体集積回路の外部の電源回路を用いてその電源電圧を適応的に初期設定することができる。
【００４３】
〔１９〕＜電子回路のダイナミック電源電圧制御＞本発明の更に別の実施の形態による電子機器は、実装基板に半導体集積回路と、前記半導体集積回路に電源電圧を供給する電源回路とが実装される。前記半導体集積回路は、内部回路と、前記内部回路の局所的な特性に応ずる遅延情報の統計的情報を生成する測定回路と、前記測定回路の測定結果に基づいて前記内部回路に用いる電源電圧を決定するための制御情報を生成する制御情報生成回路とを半導体チップに備える。前記測定回路は、前記内部回路におけるゲートディレイの平均値に対する相対値を生成する第１測定回路と、前記内部回路におけるゲートディレイの標準偏差に対する相対値を生成する第２測定回路と、を含む。前記制御情報生成回路は、内部回路に要求する速度性能を満足すために必要な電源電圧を最低限得るための前記第１測定回路で得られる前記相対値及び前記第２測定回路で得られる前記相対値を複数の速度性能毎に目標相対値として表した目標値テーブルデータを記憶する不揮発性記憶回路を有し、前記第１測定回路及び前記第２測定回路により得られた相対値が、目標値テーブルデータにおける目的とする処理速度に対応する目標相対値を満足すか否かを示す情報を前記制御情報として前記電源回路に供給する。前記電源回路は、供給された制御情報が目標相対値を満足しないことを示すとき、前記半導体集積回路に供給する電源電圧を変更する制御を行う。
【００４４】
温度変動、半導体集積回路の動作中における電源ノイズ、及び半導体集積回路の経年的な特性変動などに起因するゲートディレイの変動に対して所要の速度性能を満足するように半導体集積回路の電源電圧をダイナミックに補正することができる。
【００４５】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００４６】
［実施の形態１］
《全体的なシステム構成》
図１には、システマテックプロセスばらつきとランダムプロセスばらつきの大きさによって適応的な電圧スケーリングを実施する実施の形態１に係るシステム構成が例示される。
【００４７】
同図に示されるシステムは、多数のゲートが設置されている半導体集積回路（ＬＳＩ）３と、ＬＳＩ３に電源を供給する電源回路としての電源ＩＣ４が実装基板２に搭載された電子機器１として構成される。ＬＳＩ３は代表的に一つ示されているが、実際は、所要の機能を実現するために必要ないくつかのＬＳＩが配置される場合もあり、その場合はそれぞれに電源ＩＣ４から電源電圧が供給される。電源電圧に対する適応的な制御は一部のＬＳＩであっても全てのＬＳＩであってもよい。一部のＬＳＩを適応的な電源電圧制御の対象とするときその他のＬＳＩには予め決められた所定の電源電圧が供給される。
【００４８】
ＬＳＩ３は、ゲートディレイの平均値（u）に関する値、すなわちゲートディレイの平均値（u）に対する相対値（fs(u)）を出力する第１測定回路（システマテックばらつきとの相関を検出する回路）１００と、ゲートディレイの標準偏差（σ）に関する値、すなわちゲートディレイの標準偏差（σ）に対する相対値（fr(σ)）を出力する第２測定回路（ランダムばらつきとの相関を検出する回路）２００と、各測定回路の出力値を基にチップに印加する最適な電源電圧値（ＶＤＤ）を制御するための制御情報を生成する制御情報生成回路としての最適電源電圧計算回路３００と、内部回路としての論理回路４００とを備え、例えば、単結晶シリコンのような１個の半導体基板に形成される。内部回路４００は、例えばＣＰＵ（中央処理ユニット）、動画処理ユニット、割込み処理ユニット、タイマーなどの所要の機能を果たすための論理回路で構成されている。ここでは理解を容易化するために電源電圧ＶＤＤはＬＳＩ３全体に共通の一つの電圧とする。
【００４９】
本システムの特徴は、プロセスのシステマテックばらつきを考慮するためにゲートディレイの平均値（u）に対する相対値（fs(u)）を検出する回路と、ランダムばらつきを考慮するためにゲートディレイの標準偏差（σ）に対する相対値（fr(σ)）を検出するための検出回路を個別に用意したことである。これは、検出回路を測定対象に特化して設けた方が、少ないリソース（回路規模、評価時間）で精度良く検出できるためである。以下に、各検出回路の構成と作用について説明する。
【００５０】
《システマテックばらつきとの相関測定》
図２にはシステマテックばらつきとの相関を検出するための第１測定回路１００が例示される。第１測定回路１００は、プロセスばらつき度合いをその発振周波数として検知するリングオシレータ１０１と、その発振周波数を計測するカウンタ１０２から構成される。
【００５１】
図３にはリングオシレータ１０１の一例が示される。リングオシレータ１０１は、１個のＮＡＮＤゲート１１０と、偶数個のインバータ１１１が直列に接続されており、最終段の出力信号ＳＲＯを、初段ＮＡＮＤゲート１１０の入力にフィードバックする。リングオシレータ１０１の発振は、イネーブル信号ＥＮＲで制御し、イネーブル信号ＥＮＲがハイレベルにされると発振を開始し、ローレベルで発振停止とされる。システマテックばらつきに依存した回路動作は、ゲートディレイが速い（小さい）側にばらついていた場合、リングオシレータ１０１の発振周波数は大きくなり、ゲートディレイが遅い（大きい）側にばらついていた場合、リングオシレータ１０１の発振周波数は小さくなる。本リングオシレータ１０１は、システマテックばらつき（平均値）を検出するための回路であり、できるだけランダムばらつき（標準偏差）の影響を排除する必要がある。そのための好適な構成は、直列に接続するインバータ１１１の数を大きくすることである。ＮＡＮＤゲート１１０も含めたリングオシレータ１０１全体の段数をＮとした場合、発振周波数の平均値（uf）に対する標準偏差（σf）の相対的な大きさは、ゲートディレイ1段の平均値をu(システマテックばらつき）、標準偏差をσ（ランダムばらつき）とした場合、数式１で表すことができる。
【００５２】
【数１】
0005442471.tif 000002
【００５３】
なお、数式は簡単のためにＮＡＮＤゲート１１０とインバータ１１１との違いよるゲートディレイの大きさの違いはないと仮定している。数式によれば、段数Ｎを大きくすれば、発振周波数を観測したときに、ランダムばらつきの影響を、より小さくすることが可能になることが分かる。
【００５４】
図４にはカウンタ１０２の一例が示される。図５にはカウンタの動作波形が例示される。カウンタ１０２の動作は、基準クロック信号ＣＬＫの１サイクル内に、リングオシレータ１０１が何回トグルしたかをカウントし、その値を基準クロック信号ＣＬＫのタイミングに合わせて連続的にｆｓ(u)としてする、というものである。カウンタの構成は大きく分けて、２つのブロックＯＤＤ、ＥＶＥＮからなる。それぞれのブロックの構成は同一である。このように、同一のブロックを２つ持つ理由は、リングオシレータ１０１の発振周波数と基準クロックＣＬＫの関係が非同期関係であることから生じる問題を回避しつつ、高速なサンプリングレートを両立するためである。以下にその問題点と解決方法を簡単に説明する。
【００５５】
カウンタ１０２のコア部分であるレジスタCUOと加算器ADDはリングオシレータ１０１がトグルする度に+１だけカウントアップした値を出力しており、それを次段のレジスタが、ノードCLOのライズエッジでラッチする。つまり、レジスタCUOはリングオシレータ１０１のトグルタイミングで、また、次段レジスタは基準クロックＣＬＫのタイミングで動作しており、互いに非同期の関係となる。レジスタCUOのビット数（ノードCOOのビット数と同じ）は、基準クロックＣＬＫの１サイクルでカウントできる最大値を表す。ノードCOOのそれぞれのビット間にはレイアウト依存によるタイミングスキューが存在する。あるタイミングで、次段レジスタがノードCOOの値をラッチするのであるが、カウントアップし続けていた場合、ノードCOOのタイミングスキューと、リングオシレータ１０１と基準クロックＣＬＫの非同期関係から、次段のレジスタで誤ったデータをラッチしてしまう可能性がある。これは、ノードCOOのスキューで、一部のビットのデータが更新される前に、次段のレジスタでラッチしてしまうことが原因である。この現象は、カウントアップタイミングと、ノードCLOのライズエッジタイミングがほぼ同時に発生した際に起こりやすい。この問題を回避するためには、ノードCLOのライズエッジでラッチする際に、レジスタCUOの動作を一旦停止して、スキューの影響を排除すればよい。しかし、こうした場合、サンプリングしている期間と、していない期間が発生してしまい、高速なサンプリングレートが実現できない。そこで、同じ構成を採用する２個のブロックＯＤＤ，ＥＶＥＮを設置し、一方が、カウントアップしている場合には、もう一方はカウントアップを停止し、正確なデータをラッチできるようにした。
【００５６】
図４及び図５を用いて、カウンタ１０２の動作の詳細を説明する。各ブロックＯＤＤ、ＥＶＥＮへのカウントアップイネーブル信号ENは、基準クロックＣＬＫを２分周して作成する。以下、ODDブロックの動作について説明する。カウントアップイネーブル信号ENと、リングオシレータ１０１の出力SROの周期は非同期関係である。そのため、カウントアップイネーブル信号ENをリングオシレータ１０１の出力SROのタイミングでラッチするフリップフロップＦＦは、メタステーブル障害を回避するために２段設置する。カウントアップイネーブル信号ENがハイレベルになった後、出力SROが約２周期したら、信号ENOはハイレベルになる。信号ENOがハイレベルの期間のみ、カウンタ１０２のコア部（レジスタCUOと加算器ADD）が動作する。カウントアップイネーブル信号ENがローレベルになった後、出力SROが約２周期したら、信号ENOはローレベルになり、カウンタ１０２のコア部は動作を停止する。カウンタ１０２のコア部が動作停止中は、ノードCOOは安定し、この期間で信号CLOのライズエッジが発生し、正確なデータがラッチされ、ノードAに出力される。さて、基準クロックＣＬＫの１サイクル内の発振信号SROのトグル回数は、カウントアップ動作前後のノードCOOの値の差分を取ればよい。差分器SBOでノードA（カウントアップ動作後）とノードB（カウントアップ動作前）の差分を取り、その結果をノードOOに出力する。このように、カウントアップ動作前後の差分を取る手法は、サンプリングする度にレジスタCUOをリセットする動作が必要なくなるため、リセット信号を無くすことができ、制御容易性が向上できる。ただし、差分によりトグル回数を求める手法を採用する場合は、基準クロックCLKの1サイクル内の最大トグル回数が、レジスタCUOの最大値より小さい必要がある。EVENブロックの動作は、反転したカウントアップイネーブル信号ＥＮが入力されるため、ODDブロックと相補的になる。最終的に、カウントアップイネーブル信号ＥＮによりODD、EVENブロックの出力をマルチプレクサMUXで切り替えて、出力fs(u)にする。本カウンタ１０２とリングオシレータ１０１が動作を開始してから、正確なトグル回数が出力されるまでのレイテンシは、基準クロックＣＬＫに対するリングオシレータ１０１の発振開始タイミングに依存する。図５では、時刻t1の直前にリングオシレータ１０１が発振を始めており、正確なトグル回数は、時刻t5から出力される。
【００５７】
図６にはシステマテックばらつきの大きさと第1測定回路の出力値（fs(u)）との依存関係が例示される。システマテックばらつきがFast側、言い換えると、ゲートディレイが速い側にばらついた場合、出力値fs(u)は大きくなり、システマテックばらつきがSlow側、言い換えると、ゲートディレイが遅い側にばらついた場合、出力値fs(u)は小さくなる。ゲートディレイの平均値（u）と、第1測定回路の出力値fs(u)との関係は、数式２で示される。数式２においてＣＬＫＰは基準クロックＣＬＫの1サイクルの周期を表す。
【００５８】
【数２】
0005442471.tif 000003
【００５９】
《ランダムばらつきとの相関測定》
図７にはランダムばらつきとの相関を測定する第２測定回路の構成が例示される。図８には第２測定回路２００においてどのようにランダムばらつきとの相関を取得するかが演算原理によって示される。
【００６０】
第２計測回路２００は、リングオシレータ（Ａ）２０１Ａ及びリングオシレータ（Ｂ）２０１Ｂのペア（ペアリングオシレータ）をM個備えると共に、リングオシレータ２０１Ａのトグル数をカウントするカウンタ（Ａ）２０２Ａ、リングオシレータ２０１Ｂのトグル数をカウントするカウンタ（Ｂ）２０２Ｂ、カウンタ２０１Ａ，２０１Ｂによるカウント結果ｆｍ＿Ａ，ｆｍ＿Ｂに基づいてランダムばらつきとの相関を演算する演算部２０３、及びそれらの回路ブロックを制御するコントローラ２０４から構成される。ペアリングオシレータの各リングオシレータ２０１Ａ，２０１Ｂは、図３と同様であるがその遅延段数が少ない構成を有する。図７においてＭ個のペアリングオシレータには参照符号２０１＿１〜２０１＿Ｍを附してある。カウンタ２０２Ａ，２０２Ｂは、前記ペアリングオシレータ２０１＿１〜２０１＿Ｍの発振出力をペア単位で夫々計数する。コントローラ２０４はペアリングオシレータ２０１＿１〜２０１＿Ｍのペアの発振出力をペア毎に順次切換えてカウンタのペア２０２Ａ，２０２Ｂに供給すると共に、前記供給を切換える毎に前記カウンタのペア２０２Ａ，２０２Ｂに初期値から計数動作を開始させる動作をＭ回繰り返する。第２測定回路２００の大きな特徴は、標準偏差の絶対値ではなく相対値に関する値を求めることであり、そのために、前記演算部２０３は、計数動作を開始した前記カウンタのペアの一方が最大値に達する毎に他方のカウンタの計数値を論理反転し、各論理反転値の二乗値を平均した値に基づいて前記ゲートディレイの標準偏差に対する相対値を求める。この動作原理を図８に基づいて説明する。
【００６１】
図８に示される基本的なアルゴリズムは、各ペアリングオシレータ２０１＿１〜２０１＿Ｍにおいて、発振周波数の中央値に対する標準偏差の相対値を求め、その値の２乗平均を各ペアリングオシレータで計算する、というものである。その詳細を説明する。ペアリングオシレータ２０１＿１〜２０１＿Ｍの発振周波数の中央値に対する標準偏差の相対値を求めるためには、各リングオシレータ２０１Ａ,２０１Ｂのトグル数をカウンタ２０２Ａ，２０２Ｂで計測する必要があるが、その際、各リングオシレータ２０１Ａ，２０１Ｂの発振制御を以下のように実施する。まず、同時に発振を開始させ、どちらかがカウンタ２０２Ａ，２０２Ｂの最大値ＭＶＣに達した時点で、共に発振を停止するよう制御する。そのように制御した場合、最大値ＭＶＣに達していない方のカウンタ値を論理値反転した値は、当該ペアリングオシレータの発振周波数の中央値に対する標準偏差の相対値に定数（=√2×MVC)をかけた値の近似値として表すことができる。数式を用いて、その理由を説明する。まず、一般的に、２つのリングオシレータがあり、一定時間内のトグル数（周波数に比例した値）をそれぞれfA、fBとすると、その平均値ufは、数式３で表すことができ、
【００６２】
【数３】
0005442471.tif 000004
【００６３】
その標準偏差は、数式４で表すことができるため、平均値に対する標準偏差の相対値は、数式５で表すことができる。
【００６４】
【数４】
0005442471.tif 000005
【００６５】
【数５】
0005442471.tif 000006
【００６６】
これは、近似値ではなく、正確な値（最良推定値）である。さて、fAのほうがfBよりも大きく、また、fAとfBの差が小さいとした場合、数式５の分母を、2×fAと置き換えることができ、その結果、数式５の近似値を、数式６として表すことができる。
【００６７】
【数６】
0005442471.tif 000007
【００６８】
ここで、第２測定回路２００の動作を考えると、ペアリングオシレータ２０１＿１〜２０１＿Ｍの発振制御の手法から、fAはカウンタの最大値ＭＶＣに相当するため、fAはMVCに置き換えられる。また、分子は、カウンタの最大値からfBを引いた値であるため、fBの論理反転値と等しい。最終的に、数式の関係を得る。
【００６９】
【数７】
0005442471.tif 000008
【００７０】
このように、ペアリングオシレータ２０１＿１〜２０１＿Ｍの標準偏差の絶対値ではなく相対値を求めようとした場合、近似値であることを許容すれば、単純に、一方のカウンタ値の論理値反転をするだけで得ることができる。つまり、絶対値を求めるよりも演算量を少なくできる。なお、近似した事による真の値からの誤差の大きさは、モンテカルロシミュレーション等で推定できるため、後処理で補正が可能である。すなわち、標準偏差の相対値の最良推定値を得ることが可能である。
【００７１】
ペアリングオシレータがM個あれば、数式の値を２乗平均して、精度の高いばらつき値を求めることができる。ペアリングオシレータの数であるＭとばらつき値の精度（真の値からのずれ量）の関係は、図９で示すことができる。当然ながら、ペアリングオシレータ数を多くすればするほど精度を高くすることができるが、面積や評価時間とのトレードオフ関係になる。例えば、ペアリングオシレータ数を６４個にすると、精度を±１７%まで向上できる。また、第２測定回路２００のレゾリューション（解像度）は、リングオシレータの段数とカウンタのビット数（最大値）に依存する。同じレゾリューションを得ようとした場合、リングオシレータの段数が短いとカウンタのビット数も小さくすることができ、リングオシレータの段数が長いとカウンタのビット数を増やす必要がある。回路規模はできるだけ小さい方がよいため、リングオシレータの段数はできるだけ短い方がよい。
【００７２】
以上の動作概要をふまえて、図７の第２測定回路２００の動作を説明する。スタート信号ＳＴＲがアサートされると、コントローラ２０４は、アクノレッジ信号ＡＣＫをディスアサート（ネゲート）し、カウンタ２０２Ａ，２０２ＢA及び演算部２０３の内部レジスタをリセットした後、先頭のペアリングオシレータ２０１＿１の各リングオシレータ２０１Ａ,２０１Ｂの発振を開始する。いずれかのカウンタ値が最大値に達すると、コントローラ２０４は即座にカウンタ２０２Ａ，２０２Ｂの計数動作を停止し、リングオシレータ２０１Ａ，２０１Ｂの発振を停止する。ペアリングオシレータ２０１＿１の双方のカウンタ０２Ａ，２０２Ｂのカウンタ値（f1_A、f1_B)を演算部２０３に送信する。演算部２０３は、双方のカウンタ０２Ａ，２０２Ｂのカウンタ値（f1_A、f1_B)の大小を判別し、小さい方の値のカウンタ値を論理値反転し、２乗して、レジスタ（図示せず）に格納する。次にコントローラ２０４は、双方のカウンタ２０２Ａ，２０２Ｂのカウンタ値を初期値にリセットした後、ペアリングオシレータ２０２＿２の各リングオシレータ２０１Ａ，２０１Ｂの発振を開始させる。先ほどと同様に、いずれかのカウンタカウンタ２０２Ａ，２０２Ｂの値が最大値に達すると、コントローラ２０４は即座にカウンタ動作を停止し、ペアリングオシレータ２０２＿２の各リングオシレータ２０１Ａ，２０１Ｂの発振を停止し、当該カウンタ２０１Ａ，２０１Ｂのカウンタ値（f2_A、f2_B)を演算部２０３に送信する。演算部２０３は、各カウンタ値の大小を判別し、小さい方の値のカウンタ値を論理値反転し、２乗して、先にレジスタに格納されている値との和を取り、再度当該レジスタに格納する。同じ動作をM回繰り返し、最終的に、レジスタに格納した値を２×MVC^2×Mで割り、数式の値を出力fr(σ)し、アクノレッジ信号ＡＣＫをアサートする。
【００７３】
【数８】
0005442471.tif 000009
【００７４】
数式８より明らかなように、第２測定回路２００の出力fr(σ)は、ゲートディレイの平均値に対する標準偏差の相対値の２乗をリングオシレータの段数Ｎの２倍で除した値となる。図１０にはランダムプロセスばらつきの大きさと第２測定回路の出力fr(σ)との依存関係が例示される。ランダムばらつきが大きいと、第２測定回路の出力fr(σ)の値は大きくなり、ランダムばらつきが小さいと、当該出力の値は小さくなる。
【００７５】
以上のように、第２測定回路２００の出力fr(σ)の値は、ランダムばらつきの絶対値ではなく相対値に関する値であることが特徴である。この結果、第２測定回路２００のは、従来の絶対値を求めるよりも演算量を少なくすることができ、また回路規模を小さくすることができるため、オンチップでばらつき値を検出するのに非常に好適である。さらに、チップの動作中にリアルタイムにランダムばらつきをセンシングすることが可能になる。
【００７６】
ここまで、システマテックばらつきとランダムばらつきに関する相対値を測定する回路１００，２００について説明した。説明した回路１００，２００は、検出対象のばらつきに特化した回路構成である。例えば、リングオシレータの段数はシステマテックばらつきの相対値を取得する第１測定回路１００では、ランダムばらつきの影響を排除するために長い方が好適である。一方、ランダムばらつきの相対値を取得する第２測定回２００におけるリングオシレータの段数は、レゾリューションと回路規模を考えて、小さい方が好適である。リングオシレータの後段のカウンタや演算部もそれぞれのばらつきに特化した構成である。また、夫々の測定回路１００，２００を並列に動作させることにより、短い評価時間で、双方のばらつきを検出できる。このため、従来のように１種類の検出回路で、システマテックばらつきとランダムばらつきを検出するよりも、検出対象のばらつきに特化した測定回路を設置するほうが、少ないリソース（回路規模、評価時間）で精度良くばらつきを検出できる。
【００７７】
《最適電源電圧の計算》
図１１には制御情報生成回路３００の構成が例示される。制御情報生成回路３００は、各測定回路１００，２００の出力値（fs(u)、fr(σ)）と最適な電源電圧値の対応表を保存している記憶部３０１と、各測定回路１００，２００の出力値（fs(u)、fr(σ)）を受け、記憶部３０１に保存されている対応表から最適な電源電圧を指定する制御情報ＶＣＮＴを求める演算部３０２、から構成される。演算部３０２は求めた制御情報ＶＣＮＴを電源ＩＣ４に供給して最適な電源電圧値を印加するように指示する。電源ＩＣ４に対する通信は、例えば独自の専用信号や、I2Cや、SPI等のシリアル通信で実施することができる。なお、電源IC４とのインタフェース回路は、図示していない。なお、記憶部は、マスクROM（Read Only Memory)や、フラッシュメモリのような電気的に書込み可能な揮発性メモリ、又はヒューズプログラム回路で構成される。マスクROMの場合は、対応表を設計時に書き込んでおく。この場合、書き換えはできない。一方、電気的に書込み可能な不揮発性メモリやヒューズプログラム回路の場合は、テスト時にチップの特性に応じて補正した対応表を書き込むことが可能になる。これは、リングオシレータの発振周波数とばらつきの関係が、設計時と実チップでずれる場合があるためである。記憶部３０１を、不揮発性メモリやヒューズで構成すれば、テスト時に、リングオシレータの発振周波数とばらつきの関係を取得し、その関係に応じた対応表を書き込むことが可能になる。
【００７８】
図１２には記憶部３０１に保存されている、ある基準電源電圧下における各測定回路１００，２００の出力値fs(u)、fr(σ)と最適な電源電圧値の対応表３０３が例示される。前記対応表３０３とは、例えば、第１測定回路１００で得られる前記相対値fs(u)と前記第２測定回路２００で得られる相対値、fr(σ)とに基づいて前記制御情報を生成するために参照されるテーブルデータによって実現される。
【００７９】
対応表３０３では、各ばらつきのウィンドウを３つに分割しているが、３つに限定するものではない。システマテックばらつきの相対値fs(u)のウィンドウは、ゲートディレイの平均値uが、uslowよりも大きい場合のSlow、uslowよりも小さくufastよりも大きい場合のTypical、ufastよりも小さい場合のFast、の３つとしている。前述より明らかなように相対値fs(u)が小さいほどゲートディレイの平均値uは大きい値を採る。一方ランダムばらつきの相対値fr(σ)のウィンドウは、ゲートディレイの標準偏差σが、σsmallよりも小さい場合のSmall、σsmallよりも大きくσlargeよりも小さい場合のMedium、σlargeよりも大きい場合のLarge、の３つとしている。前述より明らかなように相対値fr(σ)が小さいほどゲートディレイの標準偏差σも小さい値を採る。
【００８０】
各ウィンドウに対応した電圧値は、設計時にSTAツールやSSTAツールによりあらかじめ求めておく。STAツールやSSTAツールで実施するタイミング計算におけるタイミングワースト条件は、単純な平均値と３σ（標準偏差（σ）の３倍）の和、という条件ではなく、クロックパスとデータパスにそれぞれ異なる絶対値のランダムばらつきを付与した場合である。すなわち、従来の、単純な平均値と３σ（標準偏差（σ）の３倍）の和、という条件よりも、正確なタイミング計算をベースとした電源電圧制御が可能になる。電圧値のおおまか傾向として、システマテックばらつきはSlowの方がFastよりも高い電源電圧値を必要とする。また、ランダムばらつきは、Largeの方がSmallよりも高い電源電圧値を必要とする。
【００８１】
従来の適応的な電圧スケーリングでは、システマテックばらつきに関してのみ測定し、その値に応じた最適電圧をチップに印加していた。この時、ランダムばらつきはテクノロジに応じてワースト値や一律の値を仮定していた。これは、ランダムばらつきをオンチップでセンシングできていなかったためである。そのため、従来の適応的な電圧スケーリングにおける電圧制御範囲は、図１２のODのようであった。一方、実際のランダムばらつきの大きさは、チップのシステマテックばらつきの大きさと相関性を持つ。そのため、本来の最適な適応的な電圧スケーリングにおける電圧制御範囲は図１２のNDのようになるべきである。本発明では、チップのシステマテックばらつきとランダムばらつきの相対値をオンチップで測定することができるため、実際のチップのばらつきをモニタしながら電圧制御が可能になる。この結果、図１２のNDのような電圧制御が可能になる。Vfast_smallはVfast_largeよりも小さく、また、Vtypical_mediumはVtypical_largeよりも小さいため、より低電圧化を実現することも可能である。
【００８２】
図１３には半導体集積回路３のチップブート時における、システマテックばらつきとランダムばらつきの相対値の大きさに応じて適応的な電圧スケーリングを実施するときの動作フローが示される。
【００８３】
まず、電源IC４は決められた基準電圧をチップに印加し(S１)、チップがブートされ、例えば内部のプログラム制御に従った初期化動作が可能にされる（S2）。この後、先ず、システマテックばらつきの相対値を測定するために第１測定回路１００を動作させ、システマテックばらつきの相対値fs(u)を得る(S３)。次に、ランダムばらつきの相対値を測定するために第２測定回路２００を動作させ、ランダムばらつきの相対値fr(σ)を得る(S４)。時短のため、第１測定回路１００と第２測定回路２００を並列に動作させても良いが、一方の回路の動作により電源ノイズ等が発生し、他方の測定回路による測定結果に悪影響を及ぼすようであれば、図１３のように直列的に動作させる方が良い。制御情報生成回路３００は相対値fs(u),fr(σ)に基づいて最適電圧値を指定するための制御情報を導出する(S５)。制御情報が与えられる電源IC４は半導体集積３に与える電源電圧VDDを制御情報に従って最適化し（S6）、最適化された電源電圧を動作電源として半導体集積回路３が動作を開始する(S７)。
【００８４】
以上説明したように、適応的な電圧スケーリングのプロセスばらつきを測定するために、システマテックばらつきに対する相対値を求める第１測定回路１００とランダムばらつき対する相対値を求める第２測定回路２００とを個別に設置する構成を採用することで、それぞれのばらつきをオンチップでセンシングすることが可能になり、その結果、従来のシステマテックばらつきだけを考慮した適応型電圧スケーリングよりも最適な電源電圧制御を実施でき、よりチップの低電力化を実現することができる。
【００８５】
［実施の形態２］
図１４及び図１５には実施の形態２としてシステマテックばらつきの相対値を求める第１測定回路とランダムばらつきの相対値を求める第２測定回路の別の例が示される。
【００８６】
第２の実施の形態の特徴は、各測定回路１００ｍ、２００ｍにおけるリングオシレータを内部回路４００で用いられる代表的な複数種類の論理ゲート毎に複数配置したことである。通常、論理回路には、複数種類のゲートが使用されており、各ゲートのディレイ値のシステマテックばらつき、及び、ランダムばらつきの大きさは異なる。そのため、ゲートの種類に応じたリングオシレータを用意し、各ゲート毎のばらつきをセンシングすることが望ましい。これにより、実施の形態1よりも実際の半導体集積回路のタイミングをより正確に反映できるため、さらにきめ細やかな電圧制御が実現できることである。STAツールやSSTAツールで実施するタイミング計算時には、ゲート毎のディレイ値が、正確に求められているが、実施の形態１のように１種類のゲート種のばらつき結果しか分からない場合、その１種類のばらつき結果からすべての種類のゲートのディレイばらつきを推定する必要がある。これに対し、ゲート種毎のディレイ値をセンシングできれば、そのような必要はなくなる。ただし、論理回路で使用されているすべてのゲート種を用意することは現実的ではないので、代表的な種類に絞るのが通常である。
【００８７】
図１４では第１測定回路１００ｍのリングオシレータのゲート構成種として、代表的なインバータ（INV）を用いたリングオシレータ１０１INV、ナンドゲート（NAND）を用いたリングオシレータ１０１NAND、及びノアゲート（NOR）を用いたリングオシレータ１０１NORを採用する。測定対象のゲート種は、マルチプレクサ（MUX）１０３を用いてセレクト信号SSで選択する。例えば、NANDのリングオシレータ１０１NANDの出力を選択した場合、NANDのリングオシレータ１０１NANDのみ発振動作させ、他のリングオシレータ１０１INV，１０１NORは発振動作を停止させ、マルチプレクサ１０３でNANDのリングオシレータ１０１NANDの出力を選択する。カウンタ１０２の構成は他といえば図４及び図５で説明した構成と同等であり、その詳細な説明は省略する。
【００８８】
図１５では第２測定回路２００ｍのリングオシレータのゲート構成種として、代表的なインバータ（INV）を用いたリングオシレータ２０１ＡＩＮＶ，２０１ＢＩＮＶによるペアリングオシレータ２０１ＩＮＶ＿１〜２０１ＩＮＶ＿Ｍ、ナンドゲート（NAND）を用いたリングオシレータ２０１ＡNAND，２０１ＢNANDによるペアリングオシレータ２０１NAND＿１〜２０１NAND＿Ｍ、ノアゲート（NOR）を用いたリングオシレータ２０１ＡNOR，２０１ＢNPRによるペアリングオシレータ２０１NOR＿１〜２０１NOR＿Ｍを採用する。測定対象のゲート種は、コントローラ２０４ｍから出力されるセレクト信号SRで選択される。例えば、ナンドゲートを選択する場合は、ペアリングオシレータ２０１NAND＿１〜２０１NAND＿Ｍのみ発振させ、他のペアリングオシレータは動作させない。カウンタ（A）２０２A、カウンタ（B）２０２B、演算部２０３の動作、更にはコントローラ２０４ｍのその他の制御動作は、図７及び図８で説明したものと同等であり、その詳細な説明は省略する。
【００８９】
なお、上記では、ゲートの種類を変更したが、トランジスタのしきい値電圧の違いでもばらつき度合いが異なるため、トランジスタのしきい値電圧の違いによる複数種類のリングオシレータを採用する場合もある。
【００９０】
［実施の形態３］
図１６には実施の形態３として制御情報生成回路２０３の記憶部３０１に保存されている、チップの要求性能とその性能に応じたばらつきの対応表３０４の例が示される。図１７には図１６の対応表３０４を用いたフィードバックループによる適応型電圧スケーリングを行う場合の動作フローが例示される。この実施の形態は、上述の実施の形態に対して、記憶部３０１に保存されている対応表の構成と、制御情報生成回路３００による適応型電圧スケーリングのための処理内容に差異がある。本実施の形態の特徴は、フィードバック動作により、半導体集積回路の動作中にゲートディレイのばらつきを測定しながら電源電圧を少しずつ変化して、半導体集積回路の処理速度に関する要求性能に近づけていくことが特徴である。これによる効果は、半導体集積回路の動作中における温度変動や、電源ノイズ等を原因としたゲートディレイの変動による影響を相殺するように電源電圧を補正できることである。
【００９１】
フィードバックループによる適応型電圧スケーリングを実施するためには、要求性能に応じたばらつきを記憶しておく必要がある。その一例が、図１６である。要求性能に応じたばらつき値の対応表は、設計時にあらかじめ作成しておく。例えば、要求性能が800MHz以上であれば、システマテックばらつきの相対値fs(u)を、Sh以上の値になるように電源電圧を制御しつつ、ランダムばらつきの相対値fr(σ)を、Rh以下の値になるように電源電圧を制御する。なお、電源電圧は、要求されたばらつき値を達成可能な最も低い電圧値に設定する。
【００９２】
ここでの対応表３０４は、内部回路４００に要求する速度性能を満足すために必要な電源電圧を最低限得るための第１測定回路１００で得られる前記相対値fs(u)及び前記第２測定回路２００で得られる前記相対値ｆｒ(σ)を複数の速度性能毎に目標相対値として表した目標値テーブルデータによって実現される。第１測定回路１００で得られる相対値fs(u)は速度性能が高いほど大きな値とされ、前記第２測定回路２００で得られる相対値ｆｒ(σ)は速度性能が高いほど小さな値とされる。
【００９３】
このとき、制御情報生成回路３００は、目標値テーブルデータにおける目的とする処理速度に対応する目標相対値を満足すか否かを示す情報を前記制御情報VCNTとする。この制御情報VCNTを用いた電源電圧制御方法を図１７を参照しながら説明する。
【００９４】
図１７において、要求性能の変更が開始されたり、ノイズでばらつき変動が発生した場合(S１１)、まず、システマテックばらつきの相対値を求める第１測定回路１００を動作させ、fs(u)を得る(S１２)。次に、ランダムばらつきの相対値を求める第２測定回路２００を動作させ、ランダムばらつきfr(σ)を得る(S１３)。時短のため、第１測定回路１００と第２測定回路２００を並列に動作させても良いが、一方の回路の動作により電源ノイズ等が発生し、他方のセンシング結果に悪影響を及ぼすようであれば、本フローのように直列的に動作させる方が良い。制御情報生成回路３００でばらつきが要求値に達しているか判別する(S１４)。達していない場合、電源電圧変更を実施する必要があり、電源電圧を変更する(S１５)。この際の電源電圧の変更量は、小さい一定値や、PID制御理論に基づいた変更量が考えられる。最終的に、制御情報生成回路３００でばらつきが要求値に達していることを観測した時点で制御処理を終了する。制御情報生成回路３００による処理が開始されなくても、ある一定の周期で、第１測定回路１００及び第２測定回路２００を動作させ、ばらつきが性能を満たすための範囲内であるか、常にチェックし続け、逸脱したときに電源電圧を変更するようにしてもよい。
【００９５】
これにより、温度変動、半導体集積回路の動作中における電源ノイズ、及び半導体集積回路の経年的な特性変動などに起因するゲートディレイの変動に対して所要の速度性能を満足するようにダイナミックに電源電圧を補正することが可能になる。
【００９６】
［実施の形態４］
図１８には本発明の実施の形態４に係る半導体集積回路３ｘが例示される。ここでは、内部回路４００ｘに前記第１測定回路１００及び前記第２測定回路２００を複数個分散させて配置し、制御情報生成回路３００ｘは複数個の前記第１測定回路１００及び前記第２測定回路２００の出力のうち最もばらつきの変動が大きい相対値を利用して前記制御情報を生成する。測定回路の複数ペアを分散配置することにより半導体集積回路の部位に応じてゲートディレイが異なる場合に容易に対応することができる。チップのローカルヒーティング現象などの局所的なばらつき変動に対して、適切な適応型電圧スケーリング対処できる。各測定回路１００，２００の中で、最もばらつき変動が大きい測定結果に基づいた適応型電圧スケーリングを実施すれば、半導体集積回路３ｘは正確に動作する。
【００９７】
［実施の形態５］
図１９には本発明の実施の形態５に係る半導体集積回路３ｙが例示される。前記半導体集積回路３ｙは夫々個別の電源電圧ＶＤＤ１，ＶＤＤ２，ＶＤＤ３が供給される複数個の電源ドメイン４００ｙ１，４００ｙ２，４００ｙ３を有し、前記電源ドメイン毎に、内部回路、前記第１測定回路１００、第２測定回路２００及び前記制御情報生成回路３００を有する。電源ＩＣ４ｙは前記電源ドメイン毎に測定された相対値を入力し、それに従って個別の電源電圧ＶＤＤ１，ＶＤＤ２，ＶＤＤ３を対応する電源ドメインに供給する。電源電圧の異なる電源ドメイン毎に電源電圧を適応的に制御することができる。システマテックばらつきは通常チップ内では一定としているが、実際には、小さいながらもばらつきを持つ場合がある。すなわち、電源ドメイン毎に、異なるシステマテックばらつきとランダムばらつきが存在する。本実施の形態によれば、各電源ドメインのシステマテックばらつきとランダムばらつきの大きさに応じた適応型電圧スケーリングを実施可能になり、チップ全体としてより低電力化が実現できる。ただし、電源ドメイン数を分割しすぎると、分割による面積オーバヘッドが発生するため、低電力効果とのトレードオフ関係がある。
【００９８】
［実施の形態６］
図２０には本発明の実施の形態６に係る半導体集積回路３ｚが例示される。ここでは、オンチップの電圧レギュレータを搭載した場合の、適応型電圧スケーリングを実施するシステム構成図である。実施例1の図1の構成に、電圧レギュレータ（REG）５００が追加設置され、制御情報生成回路３００で求めた制御情報ＶＣＮＴは、電源IC４ではなく、オンチップの電圧レギュレータ５００に送信する。前記全圧レギュレータ５００は前記制御情報ＶＣＮＴに基づいて外部電源電圧ＶＤＤに対する内部電源電圧Ｖｄｄのレベルを制御する。
【００９９】
このように実施の形態６は、内部回路４００に対する電源電圧変更をチップ外部の電源IC４で制御するのではなく、オンチップの電圧レギュレータ５００で実施する。これによれば、電圧変更レイテンシを短くできることである。外部の電源IC４で、電圧変更を実施する際、次に挙げる時間を要する。すなわち、電源IC４に対する通信時間、電源IC４における電圧変更時間、内部回路４００まで変更された電圧値が到達する時間、である。これらを削減するためには、オンチップの電圧レギュレータ５００で電圧変更するのが好適である。この結果、前記通信時間や、電圧値が到達する時間を削減できる。通常、外部電源IC４は、スイッチング電源が採用されており、オンチップの電圧レギュレータ５００はシリーズ電源が採用されている。このため、一般的には、電圧変更時間もオンチップの電圧レギュレータ５００の方が短くできる。電源ノイズなどによる急峻なゲートディレイばらつき変化に対しては、電圧変更レイテンシが短い、オンチップ電圧レギュレータ５００が好適である。ただし、オンチップ電圧レギュレータ５００を採用すると、面積オーバヘッドや電圧変換効率の低下が発生することに留意する必要がある。
【０１００】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【符号の説明】
【０１０１】
１  半導体集積回路
２  実装基板
３  半導体集積回路
４  電源回路
１００  第１測定回路
１０１  リングオシレータ
１０２  カウンタ
２００  第２測定回路
２０１＿１〜２０１＿ペアリングオシレータ
２０１Ａ，２０１Ｂ  ペアリングオシレータを構成するリングオシレータのペア
２０２Ａ，２０２Ｂ  カウンタ
２０３  演算部
２０４  コントローラ
３００  制御情報生成回路
３０１  記憶部
３０２  演算部
３０３  対応表（変換テーブルデータ）
３０４  対応表（目標値テーブルデータ）
ＶＣＮＴ  制御情報
VDD、VDD1、VDD2、VDD3  電源電圧
fs(u)  第１測定回路の出力（内部回路におけるゲートディレイの平均値に対する相対値）
fr(σ)  第２測定回路の出力（内部回路におけるゲートディレイの標準偏差に対する相対値）
【図１】
0005442471.tif 000010
【図２】
0005442471.tif 000011
【図３】
0005442471.tif 000012
【図４】
0005442471.tif 000013
【図５】
0005442471.tif 000014
【図６】
0005442471.tif 000015
【図７】
0005442471.tif 000016
【図８】
0005442471.tif 000017
【図９】
0005442471.tif 000018
【図１０】
0005442471.tif 000019
【図１１】
0005442471.tif 000020
【図１２】
0005442471.tif 000021
【図１３】
0005442471.tif 000022
【図１４】
0005442471.tif 000023
【図１５】
0005442471.tif 000024
【図１６】
0005442471.tif 000025
【図１７】
0005442471.tif 000026
【図１８】
0005442471.tif 000027
【図１９】
0005442471.tif 000028
【図２０】
0005442471.tif 000029