(57)【要約】  本発明は、最良の集積回路（ＩＣ）性能におけるリアルタイム適応制御に関する。適応動作は局所的に行なわれる。システムは異なるアイランド（３０）に分割される。各アイランド（３０）が制御され、その作業状態が幾つかのパラメータに応じて変更される。チップの残りの部分も他のパラメータに応じて同様に制御される。これにより、各アイランド（３０）は、グローバルコントローラ（４２）と通信するローカルコントローラ（３６）を有していることが必要になる。主な制御パラメータは、例えば、供給電圧、閾値電圧、クロック周波数である。
2007528117.tif 000002
【特許請求の範囲】
【請求項１】
複数の演算処理アイランドを備える集積回路であって、
前記各演算処理アイランドは１または複数のユーティリティ値で動作し、第１の演算処理アイランドの少なくとも１つのユーティリティ値が第２の演算処理アイランドの対応するユーティリティ値と異なり、集積回路には、当該集積回路の作業状態に関連する少なくとも１つの作業パラメータを監視するための監視手段が設けられ、少なくとも２つの前記演算処理アイランドは、監視された前記少なくとも１つの作業パラメータに基づいて少なくとも１つの前記演算処理アイランドにおける少なくとも１つのユーティリティ値を独立して調整するローカル制御装置を備え、
前記ローカル制御装置には、前記集積回路の予め設定されたレベルの性能を得るためにグローバルコントローラと通信する通信手段が設けられている、集積回路。
【請求項２】
前記１または複数のユーティリティ値は、供給電力、トランジスタ閾値電圧、または、クロック周波数のうちの１または複数を含む、請求項１に記載の集積回路。
【請求項３】
前記トランジスタ閾値電圧は、前記演算処理アイランドにおける幾つかのトランジスタのバルク電圧によって決定される、請求項２に記載の集積回路。
【請求項４】
前記少なくとも１つの作業パラメータは、回路アクティビティ、回路遅延、電源ノイズ、論理ノイズマージン値、閾値電圧値、クロック周波数値のうちの少なくとも１つを含んでいる、請求項１に記載の集積回路。
【請求項５】
前記予め設定されたレベルの性能は、前記集積回路の電力消費量または速度のうちの一方または両方に関連している、請求項１に記載の集積回路。
【請求項６】
前記各演算処理アイランドは、トリプルウェルＣＭＯＳ技術において分離された第３のウェル内に配置されている、請求項１に記載の集積回路。
【請求項７】
前記演算処理アイランド間を接続する少なくとも１つのインタフェースアイランドを更に備えている、請求項１に記載の集積回路。
【請求項８】
少なくとも２つの前記インタフェースアイランドがトリプルウェルＣＭＯＳ技術の共通の第３のウェルまたは基板内に配置されている、請求項７に記載の集積回路。
【請求項９】
前記演算処理アイランドは、監視ユーティリティ値調整クローズドループシステムにおいてユーティリティ値を調整するためのアクチュエータを更に備えている、請求項１に記載の集積回路。
【請求項１０】
前記演算処理アイランドは、当該演算処理アイランドの局所的な作業パラメータを監視するためのローカル監視手段を更に備えている、請求項１に記載の集積回路。
【請求項１１】
複数の演算処理アイランドを備える集積回路の少なくとも１つのユーティリティ値をリアルタイムで調整するための方法であって、
前記各演算処理アイランドは１または複数のユーティリティ値で動作し、第１の演算処理アイランドの少なくとも１つのユーティリティ値が第２の演算処理アイランドの対応するユーティリティ値と異なり、少なくとも２つの前記演算処理アイランドは、少なくとも１つの前記演算処理アイランドにおける少なくとも１つのユーティリティ値を独立して調整するローカル制御装置を備え、
前記集積回路の作業状態に関連する少なくとも１つの作業パラメータを監視し、
前記監視されている少なくとも１つの作業パラメータに基づいて、前記ローカル制御装置により、少なくとも１つの前記演算処理アイランドにおける少なくとも１つのユーティリティ値を独立して調整し、
前記集積回路の予め設定されたレベルの性能を得るために、グローバルコントローラによって前記演算処理アイランドの前記ローカル制御装置を制御する、
ことを具備する方法。
【請求項１２】
前記１または複数のユーティリティ値は、供給電力、トランジスタ閾値電圧、または、クロック周波数のうちの１または複数を含む、請求項１１に記載の方法。
【請求項１３】
前記少なくとも１つの作業パラメータは、回路アクティビティ、回路遅延、電源ノイズ、論理ノイズマージン値、閾値電圧値、クロック周波数値のうちの少なくとも１つを含んでいる、請求項１１に記載の方法。
【請求項１４】
前記予め設定されたレベルの性能は、前記集積回路の電力消費量または速度のうちの一方または両方に関連している、請求項１１に記載の方法。
【請求項１５】
前記集積回路は、その公称値とは異なるユーティリティ値に基づいて設計されている、請求項１１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、最良の集積回路（ＩＣ）性能のためのリアルタイム適応制御、および、そのような制御を伴うＩＣ、並びに、そのような制御を行なうためのコントローラに関する。
【背景技術】
【０００２】
一定のプロセス許容差を継続するサブマイクロメータ技術の不具合は、プロセスおよびリソ変動（ｌｉｔｈｏ  ｖａｒｉａｂｉｌｉｔｙ）に対する設計技術の大きな難題の起源となっている。チャネル長、閾値電圧、薄膜酸化膜厚、相互接続寸法等の基本パラメータの変化が許容限界を超えてうまくいく場合、新たな回路トポロジー、論理、レイアウト最適化は、信号および給電ノイズ、温度勾配、ＥＭＩ、基板結合を考慮しなければならない。
【０００３】
この焦点領域における研究努力は、プロセスおよびリソ変動の影響の最小化のためのリアルタイム適応方式の組込みと、タイミングおよび信号整合性クロージャの向上とを徹底的に調べている。プロセススプレッド（工程ばらつき）は厳しく制御されるが、回路設計および動作に対するその影響は、次第に高くなっている。例えば、以前は、４５０ｍＶの公称閾値電圧Ｖｔに関して閾値電圧Ｖｔにおける１００ｍＶの変化はそれほど重大ではなかったが、３５０ｍＶの公称閾値電圧を伴うディープサブミクロン技術においては、１００ｍＶの変化は回路設計をかなり困難にする可能性がある。
【０００４】
製造可能性スキームにおける従来の設計では、レイアウトが整うと、製造可能性解析が行なわれる。動作歩留まりが十分に高くない場合には、プロセスまたは設計を修正するために分析が行なわれる。このタイプの解析から得られる経験は、通常、製造可能性（ＤｆＭ）ガイドラインのための設計の形態で、将来の集積回路（ＩＣ）実装のための回路設計段階への直接的なフィードバック経路を与える。
【０００５】
このアプローチには幾つかの欠点がある。最も良く知られた欠点は、ＤｆＭが非常に遅く設計段階に関与するという点であり、それがガイドラインの形態を成す場合には消極的（passive）であり、また、DｆMは、新たな非常に深い（ディープな）サブミクロン技術においては現実的でないかもしれない。
【０００６】
これらの限界を克服するために、回路性能における設計アクティビティ（設計作業）と製造可能性との組合せ（ＤｆＰＭ）がＩＣの仕上げ前に必要となる。そのようなアクティビティは、所望の回路製造可能性および性能を達成することができる回路設計技術を可能にすることを目的としている。
【０００７】
米国特許第２００２／０１３１３１４号は、製造プロセス条件および動作条件の条件逸脱または条件変動にもかかわらず、変化に対して電気的特徴および信頼性を保護することにより、高い安定性と信頼性の向上とを享受する半導体デバイスについて記載している。これを得るため、半導体デバイスに組み込まれた回路の動作電圧および／または動作電流は、製造プロセス条件および動作条件の逸脱または変動に応じて制御される。半導体チップは、制御回路と、半導体デバイスに固有の内部回路とを備えている。制御回路は、製造プロセスの条件および半導体デバイスが使用される動作条件の逸脱（deviation）にしたがって制御信号または制御された内部電圧を生成するために設けられている。内部回路の特徴は、製造プロセス条件および動作条件と一致する所定の一定の関係に維持することができる。内部回路は、それぞれが対応する制御回路を備える幾つかの回路に分割される場合がある。この場合には、分割された回路の個々の機能に最適な動作特性を実現するための制御を行なうことができる。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、好ましくは製造プロセス条件および動作条件の逸脱または変化とは無関係に、例えば速度および電力の両方に関して全体的に保証されたレベルの性能を有する集積回路を提供することである。
【課題を解決するための手段】
【０００９】
上記目的は、本発明に係る方法および装置によって達成される。
【００１０】
本発明の一態様によれば、適応動作が局所的に行なわれる。システムは異なるアイランドに分割される。各アイランドは、トリプルウェルＣＭＯＳ技術の分離された第３のウェル内に収容され得る。トリプルウェルＣＭＯＳ技術により、第１のタイプのウェル、例えばＰ−ウェルを、第２のタイプのウェル、例えばＮ−ウェルの内側に配置することができ、それにより、３つのタイプのウェル構造、すなわち、第１のタイプの単純なウェルと、第２のタイプの単純なウェルと、第２のタイプのディープウェルの内側の第１のタイプのウェルから成る第３のタイプのウェルとが得られる。第３のタイプのウェルは、第２のタイプのディープウェルと基板との間の逆バイアスにより、その内部の回路をチップ上の他の部位から分離（isolation）させるために役立つ。各ウェルが制御され、その作業状態が幾つかのパラメータに応じて変更される。チップの残りの部分も他のパラメータに応じて同様に制御される。これにより、各ウェルはグローバルコントローラと通信するローカルコントローラを有していることが必要になる。主な制御パラメータは、例えば、供給電圧、閾値電圧、およびクロック周波数でよい。
【００１１】
本発明は、複数の演算処理アイランド（computation islands）を備える集積回路を提供する。各演算処理アイランドは、少なくとも１つの処理コアまたはモジュールを備えていても良い。各演算処理アイランドは１または複数のユーティリティ値で動作し、第１の演算処理アイランドの少なくとも１つのユーティリティ値は、第２の演算処理アイランドの対応するユーティリティ値と異なる。集積回路には、当該集積回路の作業条件に関連する少なくとも１つの作業パラメータを監視するための監視手段が設けられ、少なくとも２つの演算処理アイランドにはローカル制御装置が設けられ、このローカル制御装置は、監視された少なくとも１つの作業パラメータに基づいて、少なくとも１つの演算処理アイランドにおける少なくとも１つのユーティリティ値を独立して調整するために設けられる。本発明によれば、ローカル制御装置には、集積回路の予め設定されたレベルの性能を得るためにグローバルコントローラと通信する通信手段が設けられている。本発明の利点は、前述した制御方法によってＩＣの全体の性能を最適化でき、これが複数のアイランドの局所的な制御により得られるという点である。そのため、ＩＣ全体の性能が最適となり、一方、全体の性能の観点からは、各アイランドの性能も可能な限り最適になる。
【００１２】
１または複数のユーティリティ値は、供給電力Ｖｄｄ、トランジスタ閾値電圧Ｖｔ、または、クロック周波数ｃｋのうちの１つまたは複数を含んでいても良い。トランジスタ閾値電圧は、演算処理アイランドにおける幾つかのトランジスタ、例えば処理コアまたはモジュールのトランジスタのバルク電圧によって決定され得る。集積回路の全体の作業条件に関連する少なくとも１つの作業パラメータは、回路アクティビティ、回路遅延、電力源ノイズ、論理ノイズマージン値、閾値電圧値、またはクロック周波数値のうちの少なくとも１つを含んでいても良い。予め設定されたレベルの性能は、集積回路の電力消費量または速度のうちの一方または両方に関連していても良い。
【００１３】
各演算処理アイランドは、トリプルウェルＣＭＯＳ技術のうち分離された第３のウェル内に配置されていても良い。
【００１４】
本発明に係る集積回路は、演算処理アイランドが異なるユーティリティ値で動作する場合には、演算処理アイランド間を接続する少なくとも１つのインタフェースアイランドを更に備えていても良く、そのため、２つの演算処理アイランド間の直接的な接続により、信号整合性に関する問題が生じる場合がある。インタフェースアイランドは、電圧レベルを１つの演算処理アイランドから他の演算処理アイランドへと変える少なくとも１つの電圧レベルシフト装置を備えていても良い。インタフェースアイランドは、アイランド間通信のための複数のＦＩＦＯを更に備えていても良い。
【００１５】
少なくとも２つのインタフェースアイランドがトリプルウェルＣＭＯＳ技術の共通の第３のウェルまたは基板内に配置されていても良い。全てのインタフェースアイランドがトリプルウェルＣＭＯＳ技術のうち１つかつ同じ共通の第３のウェル内に配置されることが好ましい。
【００１６】
演算処理アイランドは、監視ユーティリティ値調整クロ−ズドループシステム（a monitored utility value-regulating closed-loop system）においてユーティリティ値を調整するためのアクチュエータを更に備えていても良い。演算処理アイランドは、当該演算処理アイランドの局所的な作業パラメータを監視するためのローカル監視手段を更に備えていても良い。
【００１７】
本発明に係る集積回路は、電源電圧基準値Ｖｄｄおよび／またはバルク電圧基準値ＶＢを少なくとも２つの演算処理アイランドに対して印加するための基準手段を更に備えていても良い。基準手段は、ＤＣ−ＤＣ変換器を備えていても良い。
【００１８】
また、本発明は、複数の演算処理アイランドを備える集積回路の少なくとも１つのユーティリティ値をリアルタイムで調整するための方法を提供する。各演算処理アイランドは、少なくとも１つの処理コアまたはモジュールを備えていても良い。各演算処理アイランドが１または複数のユーティリティ値で動作し、第１の演算処理アイランドの少なくとも１つのユーティリティ値が第２の演算処理アイランドの対応するユーティリティ値と異なる。少なくとも２つの演算処理アイランドにはローカル制御装置が設けられ、このローカル制御装置は、少なくとも１つの演算処理アイランドにおける少なくとも１つのユーティリティ値を独立して調整する。この方法は、集積回路の作業状態に関連する少なくとも１つの作業パラメータを監視し、その監視されている少なくとも１つの作業パラメータに基づいて、そのローカル制御装置により、少なくとも１つの演算処理アイランドにおける少なくとも１つのユーティリティ値を独立して調整し、集積回路の予め設定されたレベルの性能を得るために、グローバルコントローラによって演算処理アイランドのローカル制御装置を制御することを含んでいる。
【００１９】
１または複数のユーティリティ値は、供給電力Ｖｄｄ、トランジスタ閾値電圧Ｖｔ、または、クロック周波数ｃｋのうちの１または複数を含んでいても良い。少なくとも１つの作業パラメータは、回路アクティビティ、回路遅延、電源ノイズ、論理ノイズマージン値、閾値電圧値、クロック周波数値のうちの少なくとも１つを含んでいても良い。予め設定されたレベルの性能は、集積回路の電力消費量または速度のうちの一方または両方に関連していても良い。
【００２０】
ユーティリティ値の調整は、１つの演算処理アイランド内、例えば処理コアまたはモジュール内の幾つかのトランジスタのバルク電圧ＶＢを変えることにより行なわれても良い。
【００２１】
集積回路は、その公称値とは異なるユーティリティ値に基づいて設計されても良く、これはディレート設計（derated design）とも呼ばれる。
【００２２】
本発明のこれらの特徴、機能、利点および他の特徴、機能、利点は、一例として本発明の原理を示す添付図面と関連する以下の詳細な説明から明らかになる。この説明は、単なる一例として与えられており、本発明の範囲を限定するものではない。
【発明を実施するための最良の形態】
【００２３】
異なる図面において、同じ参照符号は、同一または類似の要素を示している。
【００２４】
特定の実施形態に関して、また、特定の図面を参照して、本発明について説明するが、本発明は、これらに限定されず、請求項によってのみ限定される。描かれている図面は、単なる概略図であり、非限定的なものである。図中、一部の要素のサイズは、誇張されている場合があり、また、例示的な目的によりスケール通りには描かれていない。この明細書本文中において用語「備えている、含んでいる（comprising）」が使用される場合、それは、他の要素またはステップを排除しない。１つの名詞を参照する際に不定冠詞または定冠詞、例えば「１つの（ａ，ａｎ）」、「その（ｔｈｅ）」が使用される場合、これは、その他特に記載しない限り、その名詞が複数あることを含んでいる。
【００２５】
明細書本文中および請求項中における用語「第１」、「第２」、「第３」等は、同様の要素間を区別するために使用されており、必ずしも連続的または経時的な順番を表すために使用されていない。そのように使用される用語を適当な状況下で置き換えることができ、また、ここで説明される本発明の実施形態が、ここで説明され或いは図示される順序以外の順序で作用（演算）し得ることは言うまでもない。
【００２６】
本発明によれば、集積回路（ＩＣ）、例えばコア（または知的特性（ＩＰ）モジュール）またはシステムオンチップ（ＳｏＣ）は、或るレベルの性能が保証されるように適合される。以下において、用語「チップ」は、ＩＰモジュール、システムオンチップ、集積回路．．．．．．のうちの任意のものを表すために使用されている。「或るレベルの性能」とは、或る動作上の制約を伴って動作すること、あるいは、例えば速度および電力消費量のうちのいずれかまたは両方に関して或る性能を得ることを意味する。これは、そのユーティリティ値、例えば供給電圧または電流、トランジスタ閾値電圧、あるいは、周波数のうちの任意のものを変化させて、チップの作業条件を変更することによって行なわれても良い。本発明によれば、そのような適応動作は、全体的な規模ではないが、局所的に行なわれる。チップは、異なるアイランドに分割されること、例えばＩＰにおいては論理、ＳｏＣにおいてはＩＰに分割されることが好ましい。各アイランドは、トリプルウェルＣＭＯＳ技術の絶縁された第３の（例えばディープ−Ｎ）ウェル内に含まれることが好ましい。例えばＩＰにおけるレジスタまたはＳｏＣにおける通信インフラ構造等のチップタイミングクロージャのために必要な全ての論理は、これらのウェルの外側に出る。
【００２７】
各ウェルはローカルコントローラによって制御され、また、その作業条件は、ウェル自体における論理の動作に応じて、例えばウェル中を移動する信号に関連するノイズマージンにしたがって変更可能である。この変更は、全体的レベルの性能に関して、例えば電力消費量および／またはチップの速度を念頭において行なわれる。
【００２８】
好ましくは、ウェルの外側の全てのものは、全体的なチップ動作およびプロセスコーナーのための指標および作業条件を与える外部基準に応じて制御される。
【００２９】
したがって、本発明の一態様において、各ウェルは、グローバルコントローラ等の更なるコントローラと通信するローカルコントローラを有している。また、更なるコントローラは、ウェルの外側の論理に割り当てられたモニタリングを特徴とし、それにより、局所的な瞬間値の代わりに平均レベルの性能値を考慮する。３つの主要な制御パラメータ、すなわち、供給電圧、トランジスタ閾値電圧、およびクロック周波数を識別することができる。
【００３０】
本発明に係る方法は、オンラインで、かつ、リアルタイムでの、例えば少なくとも１つのＩＰのチップの性能を最適化することを目的とした調整方式である。この方法が適用される場合には、この方法は、速度および／または電力消費量に関する与えられた所望の性能において、チップの、例えばＩＣまたはＩＰの最適な電源（Ｖｄｄ）、トランジスタ閾値電圧（Ｖｔ）、およびクロック周波数（ｃｋ）（以下、ユーティリティ値または最適化変数と呼ぶ）を見出す。本発明に係る方法は、チップの、例えばＩＣまたはＩＰの作業パラメータ、例えばプロセススプレッド（ｐｒｏｃｅｓｓ  ｓｐｒｅａｄ）、電気的動作、回路の遅延および／または回路の電源ノイズを検出するとともに、それに応じて、ＩＣまたはＩＰの信号整合性について妥協しない場合には、最適化変数を調整する。最適化変数は、ノイズマージンモニタによってチェックされても良い。この方法は、プロセススプレッドによって課される制約が与えられる最適な電力−遅延積を調べる。電源Ｖｄｄおよびトランジスタ閾値電圧Ｖｔを調整することにより、待機モードにおいてＩＣまたはＩＰのリーク電流を最小限に抑えることもできる。各ユーティリティ値ごとに、最小値と最大値との間値の連続する範囲にわたってユーティリティ値を変えることができる。
【００３１】
図１には、全てのトランジスタが公称のトランジスタ閾値電圧Ｖｔを有している場合のＩＣまたはＩＰの電力遅延曲線２が示されている。また、図１は、本発明の方法のもとでの設計の機会、すなわち、電力、プロセス、速度、および漏れの調整を示している。図１の上側の曲線４は、全てのトランジスタが最も高い可能なＶｔを有している場合の電力遅延曲線に対応している。下側の曲線６は、全てのトランジスタにおける最も低い許容されるＶｔに対応する状態の電力遅延曲線である。
【００３２】
本発明の方法は、出力レベルが下げられた設計（ｄｅｒａｔｅｄ  ｄｅｓｉｇｎｓ）においても使用することができる。製造プロセスの変動により、ウエハにおける全てのチップは他のチップと異なっている。一般に、ウエハは、「遅い」、「公称の」、および「速い」トランジスタを生み出す様々な領域に分けられる。従来の設計方法論は、「公称の」状態を使用して設計を行なう。しかしながら、本発明のもとでは、チップのユーティリティ値を制御することができるため、例えば「遅い」条件下で公称値以外の電源値Ｖｄｄおよびトランジスタ閾値Ｖｔを使用してチップを設計することができ、それでも、所要の性能を達成することができる。これを「ディレート設計（ｄｅｒａｔｅｄ  ｄｅｓｉｇｎ）」と称する。遅い条件下での設計の利点は、トランジスタ閾値電圧が一般に高いため、リーク電流が非常に少ないという点である。この考え方に基づき、電力遅延面積トレードオフ（power-delay-area trade-offs）の新たな機会をもたらす公称点以外のＶｄｄ−Ｖｔ−クロック周波数の三重項（triplet）を使用してＩＣまたはＩＰを合成することができる。
【００３３】
システムの観点から、本発明は、複数のアイランドから成るＳｏＣ（システムオンチップ）を提供する。１つのアイランドは、共通の電気的特性および動作特性を有する１または複数のＩＰまたはモジュールから成る。アイランドをこのように分割することは、ハードウェア／ソフトウェア共通設計分割ステージ（hardware/software co-design partitioning stage）で得ることができる。様々なタイプのアイランド間の区別がなされ、すなわち、インタフェースアイランドと演算処理アイランドとが存在する。演算処理アイランドは電気的に独立している。例えば、各アイランドは、異なる電源値Ｖｄｄ、トランジスタ閾値電圧Ｖｔ、および／または、クロック周波数ｃｋを有している。同じアイランドに属する２つのＩＰは、同じＶｄｄ−Ｖｔ−ｃｋ三重項を有している。インタフェースアイランドは、様々な演算処理アイランドの異なる電気的特性を認識している。
【００３４】
図２は、アイランドの概念の一例を示している。この概念において、５つのＩＰすなわちＩＰ１，ＩＰ２，ＩＰ３，ＩＰ４，およびＩＰ５は、集合して、異なるハッチングで図示された３つの異なる演算処理アイランドへとクラスタ化されている。ＩＰ１およびＩＰ３は第１の演算処理アイランドに属し、ＩＰ２およびＩＰ５は第２の演算処理アイランドに属し、ＩＰ４は第３の演算処理アイランドに属している。垂直にハッチングされたブロックは、インタフェースを表わすために使用されている。各演算処理アイランドは固有の電気的特性を有することができるため、これらは（垂直にハッチングされた）インタフェースアイランドを介して互いに通信する。これらのインタフェースアイランドは、演算処理アイランド特有の電気的特性をインタフェースする処理を行なって、データ同期化誤差および信号整合性違反（signal integrity violations）を回避する。
【００３５】
本発明に係る装置において、集積回路は複数の演算処理アイランドを備えている。各演算処理アイランドは、１または複数のＩＰに隣接して、集積回路の作業状態に関連する少なくとも１つの作業パラメータを監視するための手段を備えている。集積回路の作業状態に関連する少なくとも１つの作業パラメータを監視するためのこれらの手段は、プロセスモニタ、アクティビティモニタ、および／または、ノイズモニタを含んでいても良い。また、各演算処理アイランドは、ユーティリティ値または最適化変数を適合させるためのアクチュエータを備えている。更に、各演算処理アイランドはローカルコントローラを備えている。なお、本発明は、電力管理を対象とするものではない。その代わりに、本発明は、ＩＰを、電力管理ユニットのような幾つかの他のユニットによって決定された所望の性能に適合させるだけである。
【００３６】
図３は、１つのＩＰ３２を備える演算処理アイランド３０を示している。ローカルアクチェータ３４は、（ローカル）アイランドコントローラ３６から命令を受けて、このアイランド３０における電源電圧Ｖｄｄ、トランジスタ閾値電圧Ｖｔ、およびクロック周波数ｃｋを調整する。また、アイランドコントローラ３６は、ローカルモニタ３８の出力に基づいて、ローカルアクチュエータ３４を制御できる範囲（レンジ）を決定する。インタフェースアイランド３９は、この演算処理アイランド３０内のＩＰ３２の電気的特性を記憶している。
【００３７】
図４は、本発明の実施形態に係る複数の演算処理アイランド３０およびインタフェースアイランド３９を有するＳｏＣ４０の一実施形態を示している。各演算処理アイランド３０は少なくとも１つのＩＰ３２を備えている。各演算処理アイランド３０は図３に関して説明したものと同様である。ルートコントローラまたはグローバルコントローラ４２は、例えばバス４４等のインタフェース手段により、各ローカルアイランドコントローラ３６に対して接続されている。簡単のため、図４では、各アイランド３０がＩＰ３２を１つだけ備えているが、この例は、本発明をこれに限定しようとするものではない。ルートコントローラ４２は、ＳｏＣ４０全体の性能、したがって個々のアイランド３０のそれぞれの性能を調整する。ルートコントローラ４２は、グローバルモニタ４３の出力に基づいて、アイランドコントローラ３６がローカルアクチュエータ３４を設定できる範囲を決定する。アイランド３０同士の間にあるインタフェースアイランド３９は、任意の適当な方法によって、例えばＦＩＦＯＳにより且つＧＡＬＳ（グローバル非同期、ローカル同期）と呼ばれる技術を使用して、設けられても良い。このようにすれば、全てのアイランド３０が他のアイランドから完全に自立した状態に維持される。ＤＣ／ＤＣコンバータ４８は、必ずしも必要ではないが、一般的な電源値Ｖｄｄおよびバルク電圧Ｖｂ基準をブロードキャスティングするために設けられても良い。トランジスタの閾値電圧Ｖｔは、そのバルク端子に適切にバイアスをかけることにより変更することができる。この技術は、一般に、「バックゲートバイアス」と称される。トランジスタのバルク端子は、トランジスタが設けられたウェルに対して接続される。例えば、ＰＭＯＳトランジスタはＮ−ウェル内に存在している（この場合も同様に、トリプルウェルＣＭＯＳ技術を前提とする）。ウェル、例えばバルク端子にバイアスをかけることにより、そのウェル内の全てのトランジスタの閾値電圧特性が自動的に変更される。ルートコントローラに対して基準性能が加えられ、それにより、ＩＣ全体の性能を最適化することができる。ルートコントローラは、各アイランドの性能の経過を追うとともに、定められた電力管理アルゴリズムにしたがって機能する。
【００３８】
本発明の原理にしたがった方法を適用する一例が図５に示されている。図５は、０．０９μｍＣＭＯＳ技術で１１個のインバータを備えた遅延線回路における等電力領域にわたる遅延の等勾配曲線（点線）を示している。代表的な遅いプロセスコーナーにおけるＮＭＯＳおよびＰＭＯＳ閾値電圧も示されている。この例は、本発明に係る方法を用いると、回路を調整することができ、それにより、それが遅いコーナーで処理されたという事実にもかかわらず、その性能が一般的なコーナーで処理された性能に相当し得ることを明らかにしている。代表的に、０ＶがＰ−ウェルに対して加えられ、１ＶがＮ−ウェルに対して印加される。しかしながら、このようにすると、図５の点５０に示されるように、システムは、５５０ｐｓ〜６００ｐｓの遅延を有し、遅くなる。代表的なコーナーにおける性能を得るために、回路のウェルは、プロセススプレッドを補償するように適合されている。これは、図５の点５２に示されるように、１Ｖの代わりに６３５ｍＶをＮ−ウェルに対して印加して、ＰＭＯＳトランジスタのトランジスタ閾値Ｖｔｐを３１１ｍＶから２７０ｍＶへと下げるとともに、０Ｖの代わりに７５ｍＶをＰ−ウェルに対して印加して、ＮＭＯＳトランジスタのトランジスタ閾値Ｖｔｎを２５０ｍＶから２４０ｍＶへと下げることによって達成される。
【００３９】
ローカルアイランドコントローラの実施例が以下に与えられている。これは単なる一例であり、本発明をこの実施例に限定しようとするものではない。以下の説明において、全ての基準値は、ルートコントローラによってブロードキャスティングされたものとする。
【００４０】
図６は、ローカルアイランドコントローラの状態図を示している。実際の実施は、任意の合成法を使用して行なうことができる。与えられた図の背後にある論理は以下の通りである。任意のユーティリティ値を適合させる前に、信号整合性を保護するために、現在のノイズマージンに対するチェック６０が行なわれる。現在のノイズマージンがノイズ上限ＮＵよりも大きいという結果６１が得られ、潜在的リスクがある場合、システムは「警告」状態６２でロックする。そうではなく、現在のノイズマージンがノイズ上限ＮＵよりも小さいというチェック６０の結果６３が得られた場合、システムは「ノイズチェック済み状態」６４となる。
【００４１】
遅延チェック６５、電力チェック６６、およびアクティビティチェック６７が行なわれる。遅延が最大遅延Ｄｍａｘよりも大きい場合、システムはスピードアップしなければならず、また、遅延が最小遅延よりも小さい場合、システムはスローダウンしなければならない。これについては、図７に示される有限状態機械（a finite state machine）に関して以下で詳細に説明する。一方、消費電力が最大電力Ｐｍａｘよりも大きい場合には、電力消費量を下げなければならない。これが図８に示されている。
【００４２】
図７に示される遅延有限状態機械は、システムのスピードアップとスローダウンとの間に分岐部を有している。ローカルアイランドコントローラは、ルートコントローラから、最大遅延（Ｄｍａｘ）仕様および最小遅延（Ｄｍｉｎ）仕様と、最大電力（Ｐｍａｘ）仕様および最小電力（Ｐｍｉｎ）仕様とを求める。
【００４３】
考慮されるアイランドのＩＰまたは複数のＩＰの遅延がシステムの最大遅延Ｄｍａｘよりも大きいために、アイランドのＩＰが遅延仕様を満たさない場合には、図７において７０で示される状態に達する。ローカルアイランドコントローラは、電力量を超過しない場合には、ＩＰの遅延を調整し続ける。したがって、ＩＰの電力量は、最大電力Ｐｍａｘおよび最小電力Ｐｍｉｎと比較される。ＩＰの電力が最大電力Ｐｍａｘを超えると、システムが上側の電力量を超えるため、システムは警告状態７１でロックする。そうでない場合、すなわち、ＩＰの電力量が最小電力Ｐｍｉｎよりも小さい場合には、有限状態機械が状態７２に達する。
【００４４】
ローカルアイランドコントローラは、最初に閾値電圧Ｖｔを調整し、次に電源を調整する。Ｖｔが閾値電圧の下限よりも大きい限りにおいては、Ｖｔを調整して下げることができる。Ｖｔが下限ＶｔＬと等しくなると、電源値Ｖｄｄが電源値の上限ＶｄｄＵよりも小さい限りにおいて、Ｖｄｄを上げることができる。ＶｄｄがＶｄｄＵに等しくなると、電源上限ＶｄｄＵを超え、システムは警告状態７３でロックする。ＶｔＵ．ＶｔＬ，ＶｄｄＵ，およびＶｄｄＬは、閾値電圧および電源の上限および下限である。
【００４５】
一方、考慮されるアイランドのＩＰまたは複数のＩＰの遅延がシステムの最小遅延Ｄｍｉｎよりも小さいために、アイランドのＩＰが遅延仕様を満たさない場合には、図７において７４で示される状態に達する。
【００４６】
ローカルアイランドコントローラは、最初にトランジスタの閾値電圧Ｖｔを調整し、次に、電源を調整する。Ｖｔが閾値電圧の上限ＶｔＵよりも小さい限りにおいては、Ｖｔを上げることで調整することができる（状態７５）。Ｖｔが上限ＶｔＵと等しくなると、図７において７６を用いて示される状態で表わされるように、電源値Ｖｄｄが電源値の下限ＶｄｄＬよりも高い限りにおいて、Ｖｄｄを下げることができる。Ｖｄｄが電源下限ＶｄｄＬに等しくなると、この電源下限ＶｄｄＬを超え、システムは警告状態７７でロックする。
【００４７】
図８に示される電力チェック６６は、電力消費量がその上限Ｐｍａｘを超える場合にのみ行なわれる。回路遅延を妥協しない場合に電力調整が行なわれる。適合方法は、図７に関して説明した遅延チェックに類似している。ここでも同様に、トランジスタ閾値電圧Ｖｔが最初に適合され、その後、電源値Ｖｄｄが適合される。
【００４８】
電力消費量が消費電力の最大限度Ｐｍａｘを超えると、状態８０に達する。遅延が最小遅延Ｄｍｉｎよりも小さい場合、システムは下限速度を越えて、状態８１でロックする。そうでない場合、すなわち、システムの遅延が最小遅延Ｄｍｉｎよりも大きい場合には、状態８２に達する。最初の例では、トランジスタ閾値電圧Ｖｔが閾値電圧の上限ＶｔＵよりも小さい限りにおいて、Ｖｔはそれを増大することにより調整している（状態８３）。Ｖｔが上限ＶｔＵに等しくなると直ぐに、電源値Ｖｄｄが電源値の下限ＶｄｄＬよりも高い限りにおいて、図８において８４を用いて示される状態で表されるようにＶｄｄを減少させることができる。Ｖｄｄが電源下限ＶｄｄＬに等しくなると、この電源下限ＶｄｄＬを越え、システムが警告状態８５でロックする。
【００４９】
最適化変数または利用給電変数、すなわちＶｄｄ，Ｖｔおよびクロック周波数ｃｋは、例えば、これに限定されないが、最急下降（ｓｔｅｅｐｅｓｔ  ｄｅｓｃｅｎｔ）などの任意の傾斜法のような一般的な方式を使用して最適化することができる。これは、以下のように定式化することができる。
【数１】
2007528117.tif 000003
【００５０】
ここで、費用関数Ｅ（ｘ）はｘｉにしたがって最適化される。図９は、最急下降を使用する一般的な例を示している。最急下降は、拘束されない最適化のための数学的な方法である。この方法は、解決される最小化問題を、一次微分方程式の関連するシステムに変換する。最急下降方法は、関数Ｅ（ｘ）を最小化する最適なｘ＊を見出す。エネルギ関数の最小値は、以下の式２を有する傾斜システムの解法曲線（軌跡）にしたがうことよって決定される。
【数２】
2007528117.tif 000004
【００５１】
図１０は、図９の場合と同様の最急下降方法を使用する閾値電圧適合の一例を示している。ＩＰ３２と、Ｖｔモニタ１００と、負帰還積算システム１０１と、適合を開始／停止するためのスイッチ１０２と、レジスタ１０３と、Ｄ／Ａ変換器１０４と、ＩＰのバルクを適合させて閾値電圧Ｖｔを間接的に調整するための制御可能電源１０５とを備えるアイランド３０の一部が示されている。基準トランジスタ閾値ＶｔＲは、ルートコントローラによってブロードキャスティングされる値のうちの１つである。これは、その特定のアイランドのトランジスタ閾値が設定されるべき値である。この値は、デジタルワードとして与えられてレジスタ１０３に記憶されても良い。この値は、Ｄ／Ａ変換器１０４によってアナログ値に変換されるとともに、比較器においてトランジスタ閾値電圧の実際の値と比較されても良く、また、トランジスタ閾値電圧Ｖｔの実際の値は、負帰還積算システムによって調整されても良い。上記の方式においては、図７および図８に示された有限状態機械がレジスタ１０３に基準電圧をロードすることが期待される。簡単のため、図１０においては、これらの有限状態機械が省かれている。調整それ自体がアナログ形式で自発的に生じることが分かる。このセットアップにおいては、閾値電圧Ｖｔがバックバイアス技術によって調整されるものとする。ＶＢは、この目的のために使用される電圧制御される電圧源である。ＩＰは、基準閾値電圧ＶｔＲとは別個の閾値電圧Ｖｔ１を有している。ＩＰの実際の閾値電圧は、ＶｔモニタによりＶｘとして得られる。ＶｔＲとＶｘとの差は、時定数μを用いて積算器により平均化され、それにより、誤差信号ΔＶが生成される。この信号がゼロである場合には、ＶＢがその公称値をとり、これにより、ＶｘがＶｔＲと同一になる。ΔＶがゼロでない場合には、それに応じてＶＢが調整され、Ｖｔ制御システムは、ＩＰの閾値電圧を基準値ＶｔＲへと変える。
【００５２】
ここでは、本発明に係る方法および装置における好ましい実施形態、特有の構成、形態について説明してきたが、この発明の範囲および思想から逸脱することなく、形態や内容において様々な変更または変形を成すことができることは言うまでもない。
【図面の簡単な説明】
【００５３】
【図１】本発明の実施形態に係る方法の設計可能性範囲を示している。
【図２】演算処理アイランドおよびインタフェースアイランドへの要素のクラスタ化の概念を示している。
【図３】本発明に係る演算処理アイランドの一実施形態の概略ブロック図である。
【図４】本発明の一実施形態に係るＳｏＣ実施例を示している。
【図５】０．０９μｍＣＭＯＳ技術で１１個のインバータを備える遅延線回路における等しい電力領域にわたる電力−遅延等勾配等高線（power-delay iso-gradient contour plots）を示している。
【図６】本発明の一実施形態に係るローカルコントローラの状態図を示している。
【図７】本発明の一実施形態に係るローカルコントローラにおける遅延チェックの状態図を示している。
【図８】本発明の一実施形態に係るローカルコントローラにおける電力チェックの状態図を示している。
【図９】最急下降のための一般的な回路図である。
【図１０】本発明の一実施形態に係るトランジスタ閾値電圧適合を示している。
【図１】
2007528117.tif 000005
【図２】
2007528117.tif 000006
【図３】
2007528117.tif 000007
【図４】
2007528117.tif 000008
【図５】
2007528117.tif 000009
【図６】
2007528117.tif 000010
【図７】
2007528117.tif 000011
【図８】
2007528117.tif 000012
【図９】
2007528117.tif 000013
【図１０】
2007528117.tif 000014
【国際調査報告】
2007528117.tif 000015
2007528117.tif 000016
2007528117.tif 000017
2007528117.tif 000018