(57)【要約】ソフトウェア制御されたボディバイアス。
2006512685.tif 000002
【特許請求の範囲】
【請求項１】
回路性能を最適化する方法であって、
ａ）目標パラメータにアクセスするステップと、
ｂ）回路の特性を最適化するために、前記目標パラメータのための複数のトランジスタボディバイアシング値を、ソフトウェアを使用して決定するステップと、
ｃ）前記ボディバイアシング値に基づいて前記回路の複数のトランジスタの複数のボディをバイアスするステップと
を含み、前記特性を最適化する方法。
【請求項２】
前記目標パラメータが前記回路の目標周波数である、請求項１に記載の方法。
【請求項３】
前記特性が前記回路の電力効率である、請求項２に記載の方法。
【請求項４】
前記ｂ）のステップが、前記目標周波数に基づいて、前記回路の供給電圧を決定して、前記特性を最適化することを含む、請求項２に記載の方法。
【請求項５】
前記ｂ）のステップが、前記トランジスタの閾値電圧に関係した電力消費と、前記供給電圧に関係した電力消費とのバランスをとることを更に含む、請求項４に記載の方法。
【請求項６】
前記ｂ）のステップが、前記目標周波数に基づいて、前記回路の供給電圧を決定して、前記特性を最適化することを含む、請求項１に記載の方法。
【請求項７】
前記目標パラメータが前記回路の目標供給電圧である、請求項１に記載の方法。
【請求項８】
前記特性が前記回路の最大動作周波数である、請求項７に記載の方法。
【請求項９】
前記ｂ）のステップが、前記目標供給電圧に基づいて、前記回路の最大動作周波数を決定することを含む、請求項８に記載の方法。
【請求項１０】
前記ｃ）のステップが、前記ボディバイアシング値に基づいて、前記回路の前記トランジスタのボディを順バイアスすることを含む、請求項１に記載の方法。
【請求項１１】
前記ｃ）のステップが、前記ボディバイアシング値に基づいて、前記回路の前記トランジスタのボディを逆バイアスすることを含む、請求項１に記載の方法。
【請求項１２】
前記ｂ）のステップが、前記回路の活動を予測することを含む、請求項１に記載の方法。
【請求項１３】
前記ｂ）のステップが、前記回路の漏れ電流を予測することを含む、請求項１に記載の方法。
【請求項１４】
前記ｂ）のステップが、前記回路の動作周波数を予測することを含む、請求項１に記載の方法。
【請求項１５】
回路の目標周波数を決定するための論理であって、前記回路が、複数のトランジスタを有し、そして、前記論理に結合されているところの論理と、
前記回路の特性を最適化するために、前記目標周波数のための複数のボディバイアシング値を決定するためのコンピュータ実現論理と、
前記ボディバイアシング値に基づいて前記トランジスタの複数のボディをバイアスするための回路と
を含み、前記特性が最適化されるところの、回路を管理するためのシステム。
【請求項１６】
前記目標周波数が前記回路の利用に基づいており、前記回路がプロセッサである、請求項１５に記載のシステム。
【請求項１７】
前記目標周波数を決定するための前記論理が、前記回路で実行されるべき命令を翻訳するためのものでもあり、前記回路がプロセッサである、請求項１５に記載のシステム。
【請求項１８】
前記ボディバイアシング値を決定するための前記論理が、ある範囲の目標周波数のための前記ボディバイアシング値の表を含む、請求項１５に記載のシステム。
【請求項１９】
前記ボディバイアシング値を決定するための前記論理が、前記トランジスタの供給電圧を、少なくとも部分的に前記目標周波数に基づいて更に決定するためのものでもある、請求項１５に記載のシステム。
【請求項２０】
前記回路の前記複数のトランジスタのうちの１つのトランジスタの漏れ電流を決定するための回路を更に含み、
前記ボディバイアシング値を決定するための前記論理が更に、前記決定を前記漏れ電流に基づいて実施するためのものでもある、
請求項１５に記載のシステム。
【請求項２１】
前記目標周波数を決定するための前記論理が更に、前記回路の将来の活動を予測するためのものでもある、請求項１５に記載のシステム。
【請求項２２】
前記ボディバイアシング値が、前記トランジスタのボディ／ソース接合を順バイアスするために使用可能である、請求項１５に記載のシステム。
【請求項２３】
前記ボディバイアシング値が、前記トランジスタのボディ／ソース接合を逆バイアスするために使用可能である、請求項１５に記載のシステム。
【請求項２４】
ａ）目標周波数であって、この目標周波数で回路が動作するところの目標周波数にアクセスするステップと、
ｂ）前記回路の電力効率を実質的に最適化するために、前記目標周波数のための複数のトランジスタボディバイアシング値を決定するステップと、
ｃ）前記ボディバイアス値を前記回路の複数のトランジスタの複数のボディに適用するステップと
を含む、回路性能を管理するコンピュータ実現方法。
【請求項２５】
前記ｂ）のステップが、前記目標周波数および前記ボディバイアシング値に基づいて、前記電力効率を最適化するために、前記回路の供給電圧を決定することを含む、請求項２４に記載のコンピュータ実現方法。
【請求項２６】
前記ｂ）のステップが、前記トランジスタの閾値電圧および前記供給電圧の変化が、前記目標周波数での前記電力効率の最適化にどのくらい影響を及ぼすのかを比較することを更に含む、請求項２５に記載のコンピュータ実現方法。
【請求項２７】
前記ｂ）のステップの前記決定が、数学的関係に基づいて前記ボディバイアシング値を計算することを含む、請求項２４に記載のコンピュータ実現方法。
【請求項２８】
前記ｂ）のステップの前記決定が、ある範囲の周波数のための前記ボディバイアシング値を含む表をインデックスすることを含む、請求項２４に記載のコンピュータ実現方法。
【請求項２９】
前記回路の前記複数のトランジスタの少なくとも１つのトランジスタの漏れ電流を決定するステップと、
前記ｂ）のステップにおける前記ボディバイアシング値を、前記漏れ電流に少なくとも部分的に基づいて決定するステップと
を更に含む、請求項２４に記載のコンピュータ実現方法。
【請求項３０】
プロセッサ上で実行されたときに、回路性能を管理する方法を実現する命令が記憶されたコンピュータ可読媒体であって、前記方法が、
ａ）目標周波数であって、この目標周波数で回路が動作するところの目標周波数にアクセスするステップと、
ｂ）前記回路の電力効率を最適化するために、前記目標周波数のための複数のトランジスタボディバイアシング値を決定するステップと、
ｃ）前記回路の複数のトランジスタに前記ボディバイアシング値を適用するか否かを判定するステップと、
ｄ）前記判定に従って、前記回路の前記トランジスタの複数のボディに前記ボディバイアス値を出力するステップと
を含むところのコンピュータ可読媒体。
【請求項３１】
前記方法の前記ｂ）のステップが、前記電力効率を最適化するために、前記目標周波数に基づいて、前記回路の供給電圧を決定することを含む、請求項３０に記載のコンピュータ可読媒体。
【請求項３２】
前記方法の前記ｂ）のステップが、前記トランジスタの閾値電圧の変化による前記電力消費の変化を、前記供給電圧の変化による前記電力消費の変化と比較することを更に含む、請求項３１に記載のコンピュータ可読媒体。
【請求項３３】
前記方法の前記ｂ）のステップが、前記トランジスタのオフ電流（ＩＯＦＦ）に関係した前記電力消費と、前記供給電圧に関係した前記電力消費とのバランスをとることを更に含む、請求項３１に記載のコンピュータ可読媒体。
【請求項３４】
前記方法の前記ｂ）のステップが、前記トランジスタのオン電流（ＩＯＮ）に関係した前記電力消費と、前記供給電圧に関係した前記電力消費とのバランスをとることを更に含む、請求項３１に記載のコンピュータ可読媒体。
【請求項３５】
前記方法の前記ｂ）のステップが、前記回路の将来の活動を予測することを含む、請求項３０に記載のコンピュータ可読媒体。
【請求項３６】
前記方法の前記ｂ）のステップが、前記回路の将来の漏れ電流を予測することを含む、請求項３０に記載のコンピュータ可読媒体。
【請求項３７】
前記方法の前記ｃ）のステップが、前記トランジスタの閾値電圧を変化させることによって消費される電力と、前記閾値電圧を変化させることによって節約される電力とのバランスをとることを含む、請求項３０に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は電子回路の分野に関する。詳細には本明細書の実施形態は、ソフトウェアを使用してボディバイアスを制御することによって回路性能を最適化するための方法およびシステムに関する。大まかには本明細書はソフトウェア制御されたボディバイアスを開示する。
【背景技術】
【０００２】
最新のコンピュータプロセッサは驚くべき速度で動作する能力を有する。しかしこの速度の増大は、電力消費の増大という代価の上に成り立っている。この電力消費の結果、例えば抵抗要素を通して容量性負荷が充電または放電するときにかなりの熱放散が生じる。したがって電力消費を低減させることが求められている。電力消費を低減させるための従来のいくつかの技法は、最大周波数で動作させる必要がないときに回路の動作周波数をただ単に落とすことを含む。しかしこの技法によって電力が節約される程度は限られたものである。
【発明の開示】
【課題を解決するための手段】
【０００３】
ソフトウェア制御されたボディバイアス。
【発明を実施するための最良の形態】
【０００４】
本発明、すなわちソフトウェア制御されたボディバイアシングの方法およびシステムの実施形態の以下の詳細な説明では、本発明の完全な理解を提供するために数多くの具体的な詳細が述べられる。しかし、これらの具体的な詳細なくても、またはこれらの具体的な詳細の等価物があれば、本発明を実施することができることを当業者は理解されたい。また、本発明の諸態様を不必要に不明瞭にすることがないように、周知の方法、手順、構成要素および回路を詳細に説明することはしなかった。
【０００５】
表記法および命名法
以下の詳細な説明のいくつかの部分は、手順、ステップ、論理ブロック、処理、およびコンピュータメモリ上で実行することができるデータビットの演算の他の記号的な表現に関して提示される。これらの説明および表現は、データ処理分野の技術者が、他の当業技術者にその仕事の内容を最も効果的に伝えるために使用される手段である。手順、コンピュータ実行ステップ、論理ブロック、プロセスなどは一般に、所望の結果に至るステップまたは命令の首尾一貫した配列と考えられる。ステップは、物理量の物理操作を必要とするステップである。必ずと言うわけではないがこれらの物理量は通常、コンピュータシステムの中で記憶し、転送し、結合し、比較し、他の方法で操作することができる電気または磁気信号の形態をとる。主に一般的な使用法の理由から、これらの信号を、ビット、値、要素、符号、文字、項、数などと呼ぶときに便利である。
【０００６】
これらの用語および類似の用語は全て、適当な物理量に関連づけられ、ただ単にこれらの量に適用される便利なラベルでしかないことに留意されたい。特に明示しない限り、以下の説明から明らかなとおり、本発明の全体を通じて、「アクセスする」または「受け取る」または「バイアスする」または「処理する」または「コンピューティングする」または「翻訳する」または「計算する」または「決定する」または「適用する」または「記憶する」または「出力する」または「返す」などの用語を利用した議論は、コンピュータシステムのレジスタおよびメモリの中に物理（電子）量として表現されたデータを操作し、このコンピュータシステムのメモリまたはレジスタ、あるいは他の情報記憶、伝送または表示装置の中に物理量として同様に表現された他のデータに変換する、コンピュータシステムまたは同様の電子計算装置のアクションおよびプロセスを指すことを理解されたい。
【０００７】
したがって、プロセッサなどの回路の特性を管理する方法およびシステムを提供することが有益である。更に、電力消費、動作周波数などの特性を最適化するときに、処理および環境因子によるトランジスタの動作特性の変動を取り扱う方法およびシステムを提供することも有益である。更に、回路およびトランジスタ特性の現在の使用が与えられた場合に最小電力消費を最小にする最大周波数で回路を動作させる方法およびシステムを提供することも有益である。
【０００８】
本発明の実施形態は、プロセッサなどの回路の特性を管理するための方法およびシステムを提供する。本発明の実施形態は、回路およびトランジスタ特性の現在の使用が与えられた場合に最小電力消費を最小にする最大周波数で回路を動作させる方法およびシステムを提供する。本発明の実施形態は、電力消費、動作周波数などの特性を最適化するときに、処理および環境因子によるトランジスタの動作特性の変動を取り扱う方法およびシステムを提供する。本発明の実施形態は、将来の動作条件を満たす最適なボディバイアシング値を予測することができる。本発明の実施形態は、これらの利点およびこれまでに具体的に述べられていないその他の利点を提供する。このその他の利点については以下のセクションで説明される。
【０００９】
回路性能を最適化する方法が開示される。この方法は、初めに目標パラメータ、例えばトランジスタを有する回路を動作させる目標周波数を受け取ることを含む。次いで、この所与の目標パラメータに対して、回路の特性を最適化するためのトランジスタボディバイアシング値を、ソフトウェアを使用して決定する。この特性は例えば電力消費である。次いで、このボディバイアシング値を使用してトランジスタのボディをバイアスする。この方法で回路の特性が最適化される。
【００１０】
他の実施形態では、この方法が更に、目標周波数に基づいて、特性を最適化するための回路の供給電圧を決定することを含む。一実施形態では、このボディバイアシング値の決定が、回路のトランジスタの閾値電圧の変化による電力消費の変化を、供給電圧の変化による電力消費の変化と比較することを含む。他の実施形態では、目標供給電圧に基づいて回路の最大動作周波数を決定する。
【００１１】
他の実施形態は、トランジスタを有する回路を管理するためのシステムである。この回路は例えばプロセッサである。このシステムは、回路の目標周波数を決定するための論理を含み、回路はこの論理に結合されている。このシステムは更に、この目標周波数に対して、回路の特性を最適化するためのトランジスタボディバイアシング値を決定するためのコンピュータ実現（ｃｏｍｐｕｔｅｒ−ｉｍｐｌｅｍｅｎｔｅｄ）論理を有する。このシステムは更に、このボディバイアシング値に基づいて、プロセッサのトランジスタのボディをバイアスするための回路を含み、前記特性が最適化される。目標周波数を決定するための論理を更に、回路で実行される命令を翻訳するための論理とすることもできる。トランジスタボディバイアシング値を決定するための論理は、ある範囲の目標周波数に対するボディバイアシング値の表を含むことができる。
【００１２】
本発明の実施形態は、ボディバイアシングを使用してトランジスタの閾値電圧を制御するためのソフトウェア制御された方法およびシステムを提供する。このボディバイアシングは逆バイアシングまたは順バイアシングである。この方法で閾値電圧を制御することによって、回路の特性を最適化することができる。例えば、プロセッサによって消費される電力は、例えば目標動作周波数などの他のパラメータが与えられた場合に、最適な閾値電圧を選択することによって最小化することができる。動作温度、供給電圧、トランジスタのオンおよびオフ電流などの他のパラメータを考慮することもできる。ソフトウェアを使用することによって、トランジスタをより正確に制御することができ、ハードウェアのみの制御を使用して可能な因子の数よりも多くの因子を考慮することができる。更に、これらのパラメータを考慮して閾値電圧を変更するかどうかの判断を、ソフトウェア制御ボディバイアシングを用いて知的に適用することができる。
【００１３】
本発明の実施形態では、あらゆる回路に対してプロセス（例えばＣＭＯＳ技術）が与えられた場合、供給電圧、および最小電力を使用して目標性能（例えば最大動作周波数）を達成するトランジスタ閾値電圧があるものとする。これは例えば、回路の活動（例えばスイッチング）に依存する。本発明の実施形態は、最小電力を使用して目標性能を達成するために、供給電圧およびトランジスタ閾値電圧を調整する。
【００１４】
電力を節約する問題は、電力消費が、閾値電圧の関数である漏れ電流などのトランジスタの動作特性の関数であることによって悪化する。更に、低閾値電圧デバイスは、それらの回路がスリープまたはスタンバイモードにあるとき（例えばトランジスタがオフのとき）に大きな漏れを生じる。他方、高閾値電圧トランジスタは性能の低さ（例えば遅いスイッチング）に苦しむ。したがって、性能要件に応じてさまざまな周波数で動作させることができる回路に対する理想的な１つの閾値電圧はない。
【００１５】
更に、閾値電圧は一貫しておらず完全に予測することはできない。さまざまな因子がトランジスタデバイスの閾値電圧の大きさに寄与する。例えば、デバイスの閾値電圧をゼロ付近にセットするためには、デバイスのチャネル領域に薄いドーピングおよび／またはカウンタードーピングを提供することができる。しかし、処理の変動のため、チャネル領域の正確なドーパント濃度はデバイスごとにわずかに変化する。その変動はわずかかもしれないが、それは、デバイスの閾値電圧を数十ミリボルトまたは数百ミリボルト、移動させることができる。更に、寸法の変化（例えば酸化物の厚さ、チャネル幅、特にチャネル長さ）、材料および界面での電荷捕獲、ならびに動作温度の変動などの環境因子が、閾値電圧を移動させる。
【００１６】
最近、トランジスタの特性を制御するためにトランジスタを４端子デバイスとして使用する技法が開発された。一般に、金属酸化物半導体電界効果トランジスタ（ＭＯＳＦＥＴ）などは３端子デバイスと考え、３端子デバイスとして動作させる。しかし、このようなトランジスタのボディを第４の端子として使用することができる。例えば、後に論じるように、ボディとソースとの間に電圧を印加することによってトランジスタの閾値電圧を変化させることができる。
【００１７】
図１の例示的なＣＭＯＳ構成では、ボディバイアシング技法を使用して閾値電圧を変化させるために、トランジスタが４端子デバイスとして使用されている。ボディバイアスされたトランジスタの基本特徴は、トランジスタの閾値値を電気的に調整できることにある。これは、それぞれのＭＯＳトランジスタのボディをソースに対して逆バイアスまたは順バイアスして、閾値電位を調整することによって達成される。一般にこの電位は、ソースおよびウェル領域に対する別個のオームコンタクト、ならびにこれらの２つの領域の電位を独立に制御するために必要な回路によって制御される。ウェルコンタクトがソースコンタクトから分離された構成を示す図１の構造はこれの例である。
【００１８】
ＮＦＥＴ１０１は、ｎ領域ソース１０３、ゲート電極１０４、ｎ領域ドレイン１０５およびｐ−バルク材料１０６からなる。図示のようにＮＦＥＴ１０１は更にｐウェル１０７を含むことができる。同様にＰＦＥＴ１０２は、ｎウェル１１１の中に形成されたｐ領域ソース１０８、ゲート電極１０９およびｐ領域ドレイン１１０を含む。参照符号１１２は、バルク材料１０６に対するバルク端子またはウェルタイ（ｗｅｌｌ  ｔｉｅ）を形成するｐ＋プラグ、参照符号１１３は、ｎウェル１１１に対するウェルタイを形成するｎ＋プラグである。
【００１９】
図１のボディバイアスされたＣＭＯＳ設計では、ソース端子１０３の金属レールコンタクト１１４から間隔を置いて配置された別個のＮＦＥＴ基板金属レールコンタクト１１６を提供することによって、バルク材料１０６のウェルコンタクト１１２がＮＦＥＴ１０１のソース端子１０３から分離されている。ＮＦＥＴ基板レールコンタクト１１６はバイアス電圧源Ｖｐｗに接続されている。同様に、ｎウェル１１１のウェルコンタクト１１３は、ソース端子１０８の金属レールコンタクト１１５から間隔を置いて配置された別個のＰＦＥＴ基板金属レールコンタクト１１８を提供することによってＰＦＥＴ１０２のソース端子１０８から分離されている。ＮＦＥＴ基板レールコンタクト１１８はバイアス電圧源Ｖｎｗに接続されている。したがってこの例では、ＮＦＥＴ１０１の基板バイアス電位がＶｐｗによって、ＰＦＥＴ１０２の基板バイアス電位がＶｎｗによってセットされる。
【００２０】
図２に、ＮＦＥＴ１０１の基板ないしボディが、ウェルレールタイによってではなしに金属バックプレーン１１９によってＶｐｗにバイアスされる類似の設計を示す。ＰＦＥＴ１０２は、図１の設計と同様の方法でＶｎｗに接触されている。
【００２１】
本発明のいくつかの実施形態の理解を助けるため、いくつかの原理を簡単に概観する。その第一は、性能および電力に対する閾値電圧（Ｖｔ）の効果である。閾値電圧を下げると性能（例えば最大動作周波数）は増大するが、漏れ電流も増大する。したがって、閾値電圧は、回路がその所望の周波数で動作することができる程度に十分に低くなければならないが、トランジスタが活動していないときに漏れ電流が電力の浪費につながるほどに低くてはならない。高いＶｔは例えば、それほど高速に動作しないディジタルウォッチ回路で電力を節約するのに適している。しかし、低いＶｔは、ディジタル信号処理回路に適しており、それによって高速にスイッチングさせることができる。
【００２２】
第２の考慮事項は、電力消費を低減させるためにとられるステップが、Ｖｔ、したがってトランジスタのオン電流（ＩＯＮ）および最大動作周波数対して有する効果である。したがって実施形態は、電力を低減させる希望と所望の最大動作周波数とのバランスをとる。例えば、電力消費を低減させるためには、後に論じるように動作周波数および供給電圧を低下させることができる。しかし、供給電圧を低下させると有効Ｖｔが増大する。Ｖｔの増大によって飽和電流（ＩＯＮ）が急激に低減し、これによって回路が動作することができる最大周波数が低下する。したがって、閾値電圧を制御するためのソフトウェアを使用することにより、本発明の実施形態によってさまざまな因子間のバランスが探し当てられる。ハードウェアだけを使用してさまざまな因子を管理することは不可能とは言えないまでも非常に難しいと考えられる。
【００２３】
先に述べたとおり、電力消費を低減させるためには、一般に動作周波数および供給電圧を低減させることが望ましい。図３に、従来のトランジスタのスイッチング周波数に対する電力消費を示す。電力使用は下式によって近似することができる。
【００２４】
（数１）
式１：  Ｐ＝Ｃ×Ｖ２×ｆ＋ＩＯＦＦ×Ｖ
【００２５】
式１で、Ｐは電力、Ｃは有効負荷静電容量、Ｖはトランジスタの供給電圧、ｆはスイッチング周波数、ＩＯＦＦはトランジスタの漏れないしオフ電流である。右辺の第１項は動的成分であり、第２項は静的成分である。トランジスタ自体によって消費される動的な電力は、負荷静電容量の一部として含まれている。曲線３０１は、周波数を変化させ、供給電圧などの他のパラメータを一定に保ったときの電力使用を指示している。式１が指示するとおり、電力使用は周波数とともに直線的に低下し、静的成分によってｙ切片が与えられる。従来のいくつかのシステムはただ単に、高い周波数で回路を動作させる必要がないときに周波数を落すことによって電力を節約する。
【００２６】
しかし、曲線３０２および式１が指示するように、周波数を低下させるときに供給電圧を低下させることによって、電力をよりいっそう節約することができる。例えば、供給電圧は動的電力項に２乗として現れる。静的電力成分の解析はより複雑である。供給電圧は、静的成分に１乗として現れるが、供給電圧の低下はＩＯＦＦにも影響する。例えば、式２が指示するとおり、供給電圧を低下させると閾値電圧は増大する。この式で、Ｖｔは動作閾値電圧、ＶｔＯは本来の（固有の）閾値電圧、「ｄｉｂｌ」はドレイン誘導障壁低下（ｄｒａｉｎ  ｉｎｄｕｃｅｄ  ｂａｒｒｉｅｒ  ｌｏｗｅｒｉｎｇ）、Ｖｄｄは供給電圧である。
【００２７】
（数２）
式２：  Ｖｔ＝ＶｔＯ−ｄｉｂｌ×Ｖｄｄ
【００２８】
式２は、供給電圧を低下させると閾値電圧Ｖｔが増大することを指示している。漏れ電流の解析は、いくつかの成分、すなわちオフ状態の閾値未満の（ｓｕｂ−ｔｈｒｅｓｈｏｌｄ）漏れ電流、ゲートの直接トンネリング漏れ電流およびソース／ドレイン接合漏れ電流を含むため、非常に複雑である。しかし、漏れ電流はＶｔにおいて指数的であり、したがって式２によって供給電圧において指数的な関数であり、ＶｔＯが０．３ボルト増大するごとに約２倍になるため、Ｖｔの増大は漏れ電流（ＩＯＦＦ）を低下させる。したがって、電力を節約するためには、動作周波数とともに供給電圧を低下させることが望ましい。
【００２９】
しかし、Ｖｔの増大は最大動作周波数に負の影響を与える。大まかに言うと、供給電圧を低下させると有効閾値電圧が増大し、これによってＩＯＮが低下し、それによって最大動作周波数が低下する。供給電圧を低下させることがＶｔに対して有する効果についてはすでに論じた。式３は、飽和したトランジスタのＶｔとＩＯＮとの間の関係を示している。
【００３０】
（数３）
式３：  ＩＯＮ＝ｖＳＡＴＣＯＸＷ（Ｖｇｓ・・Ｖｔ−Ｖｄｓａｔ）
【００３１】
式３で、ｖＳＡＴは飽和速度、Ｖｇｓはゲート−ソース電圧、ＣＯＸは、ゲート−チャネルキャパシタの単位面積あたりの静電容量、Ｗはチャネル幅、Ｖｄｓａｔは飽和電圧である。式３は短チャネルデバイスを記述したものだが、本発明は短チャネルデバイスに限定されない。
【００３２】
式３から、Ｖｔを増大させるとＩＯＮが急速に低下することが明らかである。これによって回路の最大周波数が低減する。最大周波数は式４によって近似することができる。この式で、Ｃは負荷静電容量、Ｖｄｄは電力供給、ＩＯＮは飽和したトランジスタのドレイン−ソース電流である。
【００３３】
（数４）
式４：  ｆｍａｘ∝ＩＯＮ／（Ｃ×Ｖｄｄ）
【００３４】
図４に、さまざまなＶｔ値に対する最大動作周波数をＶｄｄの関数として示す。曲線４０１は最も高いＶｔに対応し、曲線４０２は最も低いＶｔに対応する。したがって所与のＶｄｄでは、最も低いＶｔの曲線４０２は最も高い周波数で動作することができる。更に、先に指摘したとおり、Ｖｔが変化するとＩＯＮも変化し、したがってｆｍａｘも変化する。曲線４０１〜４０３が指示するとおり、Ｖｄｄをその最大値から低下させると最大周波数は最初のうちはゆっくりと低下する。しかし、Ｖｄｄを更に低下させるとｆｍａｘは急激に低下する。式２〜４はこのふるまいの理由を指示している。式４から、ＩＯＮに対するＶｄｄの効果を無視した場合、Ｖｄｄを低下させるとｆｍａｘは低下することに留意されたい。しかし式２および３によれば、Ｖｄｄを低下させるとＩＯＮが低下し、式４から、ＩＯＮが低下するとｆｍａｘが低下する。更に式３は、ＩＯＮはＶｔの増大とともに急速に低下することを指示している。したがって、式４を参照すると、Ｖｔが増大したときのＩＯＮの急速な低下はｆｍａｘの低下を引き起こす。ただしＶｄｄも同様に低下している。本発明の実施形態は、これまでに論じたさまざまな因子のバランスをとり、Ｖｄｄ、Ｖｔをセットするためのボディバイアシング値などの適当なパラメータに到達することによって、最適な動作特性（例えば周波数、電力消費）を計算する。しかし、本発明の実施形態は本明細書で論じた因子に限定されない。本明細書で論じた因子は例と考えることができる。
【００３５】
本発明の一実施形態では、非常に低いＶｔを有するトランジスタが製造される。例えば、Ｖｔ曲線は図４の左側に寄ったものとなり、したがって所望ならば高い周波数で動作することができる。しかし、非常に低いＶｔを有するデバイスは先に述べたように高いＩＯＦＦを有し、望ましくない。したがって、ボディバイアシングを使用して、本明細書に論じた変量などに対して最適なレベルまたは少なくとも最適に非常に近いレベルまでＶｔを引き上げる。例えば、ボディバイアシングを使用して、例えば曲線４０２から曲線４０３に効果的に移行して、ＩＯＦＦを低減させ、同時に十分に速いｆｍａｘで回路を動作させることができる。ただし、低いＶｔを有するトランジスタを製造する必要はない。したがって、まとめると、図４の曲線が左側に寄っているときにはＩＯＮが比較的に高いので、回路はより速く動作することができるが、ＩＯＦＦも比較的に高いので、回路が静止しているときにはより多くの電力を消費する。
【００３６】
ボディバイアシングを使用して、図４の左側に寄った曲線へ移行することもできる。この場合、ボディバイアシングを順バイアシングと記述することができ、Ｖｔを低下させることができる。右に寄った曲線へ移行するためには逆バイアシングを使用することができる。
【００３７】
本発明の実施形態は、目標動作周波数に対して、電力を節約する適当な供給電圧および閾値電圧を決定する。目標動作周波数は例えば回路利用（例えばプロセッサ利用）に基づく。先の議論で説明したとおり、供給電圧を低下させることによって追加の電力を節約することができるが、これを低くしすぎてはならず、低くしすぎると回路は目標動作周波数を満たすことができなくなる。更に、Ｖｔは電力消費およびｆｍａｘに影響を及ぼす。
【００３８】
図５Ａは、本発明の実施形態に基づくソフトウェア制御ボディバイアシングを使用して回路５０２の性能を最適化するための例示的なシステム５００である。システム５００は、特性を変更させる対象である回路５０２を含む。回路５０２はＣＭＯＳトランジスタを有することができるが、これは限定を意図しない。システム５００には目標動作周波数（ｆｔａｒ）が提供され、これから、供給電圧値（Ｖｄｄ）およびボディバイアシング値（Ｖｎｗ、Ｖｐｗ）に対する値が計算ブロック５０６によって計算される。これらをディジタル値とすることができる。再び図４を参照すると、このことは、ｆｍａｘを固定し、異なるＶｔおよびＶｄｄが電力消費に対して有する効果を考慮して、適当な曲線を選択することであると記述することができる。例えば一実施形態では、ＩＯＦＦの変化（これは例えばどのＶｔ曲線を解析するかによって決まる）による電力消費の変化が、Ｖｄｄの変化による電力消費の変化と比較される。この解析は、トランジスタがスイッチングするように要求される頻度を因子の１つとすることを含むことができる。この例では、Ｖｄｄを、解析Ｖｔ曲線上でｆｍａｘを達成するために必要な値とすることができる。
【００３９】
供給電圧値およびボディバイアシング値が、それらの値を回路５０２に入力するアナログ信号に変換するための変換回路５０４に入力される。当業者はこれらの値を回路に適当に適用することができる。目標周波数（Ｆｔａｒ’）も回路５０２に適用することができる。これは、計算ブロックに入力された正確な値とすることができ、したがって計算ブロックの中で変更する必要はない。しかし、実施形態は、例えば他の周波数のほうがより適当であると計算周波数が判定した場合に目標周波数とは異なる周波数で回路５０２を動作させることを提供する。当業者は回路の周波数を変更することができる。
【００４０】
システム５００は時々に、ＩＯＦＦ測定ブロック５０８を用いて回路５０２の１つまたは複数のトランジスタのＩＯＦＦを測定し、その値を使用して適当な値の計算を調整する。ＩＯＦＦを測定するのではなく、本発明の実施形態は、例えば温度などの他のパラメータを測定することもできる。次いでこのパラメータを計算ブロック５０６に供給する。したがって、この回路は、トランジスタの中の処理および環境変動を補償する手段を有する。トランジスタ間の変動を取り扱うために、所望ならば、測定を回路５０２の複数の位置で実行することができる。したがって、回路５０２の異なる領域に別個のＶｐｗおよびＶｎｗ信号を送ることができる。
【００４１】
一実施態様では、この計算が表引き（ｔａｂｌｅ  ｌｏｏｋｕｐ）として実行される。例示的な表が図７に示されている。時々にＩＯＦＦの値を使用してこの表の値を書き直すことができる。あるいはシステム５００はいくつかの表を有することができる。ＩＯＦＦの値を使用して適当な表を選択することができる。例えば、測定されたＩＯＦＦを温度を測る方法として使用することができる。システム５００のそれぞれの表は、予想される動作温度範囲の中の小範囲をカバーすることができる。値の決定を表引きとして実行する必要はないことを当業者は理解されたい。例えば、アルゴリズムを使用して、適当なＶｄｄ、ＶｐｗおよびＶｎｗの値を動的に計算することができる。
【００４２】
図５Ｂに、目標周波数を入力するのではなく、システム５２０が目標供給電圧Ｖｄｄを入力するシステムの一実施形態５２０を示す。この値に基づいて、システム５２０は動作周波数（ｆｏｐ）、ＶｐｗおよびＶｎｗを計算する。動作周波数は、供給電圧および選択されたＶｔが与えられた場合に回路５０２を動作させることができる最大周波数とすることができる。再び図４を参照すると、このことは、Ｖｄｄを固定してｆｍａｘを最大にする適当な曲線を選択することであると記述することができる。図５Ａのシステム５００と同様に、ＩＯＦＦ値を時々に測定し、これをｆｏｐ、ＶｐｗおよびＶｎｗの計算に使用することができる。
【００４３】
図５Ｃに、計算ブロック５０６に任意のパラメータが入力されるシステムの一実施形態５４０を示す。この任意のパラメータは例えば目標動作周波数または目標供給電圧とすることができる。しかし、本発明の実施形態はこれらに限定されない。入力パラメータに基づき、システム５４０はこの目標パラメータに対して、回路の特性を最適化するためのトランジスタボディバイアシング値を決定する。システム５４０は電力消費または最大動作周波数を最適化することができる。しかし本発明の実施形態はこれらに限定されない。システム５４０は、入力されるパラメータに応じて、例えばＶｄｄ、動作周波数などの他の回路パラメータを決定することができる。図示されてはいないが、ＩＯＦＦ測定回路などをシステム５４０に追加することができることを当業者は理解されたい。
【００４４】
図６は、回路を管理するための本発明の実施形態に基づくシステムを示す例示的なブロック図６００である。図６では、マイクロプロセッサ６０２が動作を変更する対象である回路である。しかし、本発明の実施形態はマイクロプロセッサ６０２に限定されない。マイクロプロセッサ６０２には、コードモーフィングソフトウェア（ｃｏｄｅ  ｍｏｒｐｈｉｎｇ  ｓｏｆｔｗａｒｅ：ＣＭＳ）６１０が結合されている。ＣＭＳ６１０は、マイクロプロセッサ６０２で実行される命令にアクセスすることができ、それらを翻訳することができる。実行される命令は例えば、別のプロセッサに対して書かれたものとすることができる。ＣＭＳ６１０は命令を翻訳し、それをそのシステムの実際のプロセッサに対して最適化する。
【００４５】
ＣＭＳ６１０は、現在実行中の命令および実行される命令について知っているので、現在のプロセッサ利用を非常に効果的に決定し、将来の利用を予測することができる。したがってＣＭＳ６１０は、ある時間にわたってどんな周波数でプロセッサを実行する必要があるかについて決定することができる。ＣＭＳ６１０はこの目標周波数を計算ブロック５０６に供給し、計算ブロック５０６は、先に論じたとおりに適当な回路パラメータを決定する。
【００４６】
図７は、回路パラメータを決定するための本発明の一実施形態に基づく例示的な表７００である。例示的な表７００は、表７００の中にエントリｆｍａｘ、Ｖｄｄ、ＶｐｗおよびＶｎｗを含み、エントリの最初の行はＶｐｗ  ０．２ＶおよびＶｎｗ  −０．２Ｖを有し、ボディ／ソース接合を順バイアスするのに適している。Ｖｐｗ  −１Ｖおよび−２Ｖを有するエントリは、ボディ／ソース接合を逆バイアスするのに適している。一般的な表はこれよりも多くの記述項を含むことができる。
【００４７】
本発明の一実施形態は、ソフトウェア制御ボディバイアシングを使用して回路の特性を最適化する方法である。図８のプロセス８００の少なくともいくつかのステップをコンピュータ可読媒体に命令として記憶し、汎用プロセッサ（例えば図１０のコンピュータシステム１００）上で実行することができる。図８のプロセス８００を参照すると、ステップ８１０で目標パラメータを受け取る。目標パラメータは目標周波数またはＶｄｄとすることができる。ただしこれらに限定されるわけではない。
【００４８】
ステップ８２０では、この目標パラメータに対して、回路の特性を最適化するためのトランジスタボディバイアシング値を決定する。最適化する特性は電力消費とすることができ、それは所与の入力パラメータに対して最適化される。この決定は、表引きまたは数学的関係に基づく実行中（ｏｎ−ｔｈｅ−ｆｌｙ）計算を含むことができる。入力パラメータの何かに応じて、さまざまな実施形態が更にＶｄｄまたは最大動作周波数を計算することができる。他のパラメータを同様に決定することができる。
【００４９】
この決定は、回路の活動を予測することを含むことができる。例えば、最大動作周波数などの動作周波数を予測することができる。あるいは回路の漏れ電流を予測することもできる。この予測はＣＭＳによって実施することができ、この予測を使用して、将来の閾値値を決定することができる。
【００５０】
ステップ８２０の決定は、ソフトウェアを使用せずに実行することが難しくまたは不可能なさまざまな考慮事項のバランスをとることを含むことができる。このさまざまな考慮事項のバランシングはさまざまな方法で記述することができ、本明細書に含まれる表現は限定的なものではない。本明細書で説明したように、ボディバイアシング値を選択することはＶｔを変更することであり、Ｖｔを変更するとＩＯＮおよびＩＯＦＦが変化する。最大動作周波数はＩＯＮに依存し、静止電力消費はＩＯＦＦに依存するので、回路の現在の使用（例えばトランジスタがスイッチングしている周波数）が与えられれば、これらの因子のバランスをとれる。更に、Ｖｄｄの値もバランシングプロセスに影響を及ぼす。一実施形態では、（例えばＶｔの変化に起因する）ＩＯＦＦの変化による電力消費の変化が、（例えば図４の所与のＶｔ曲線上でｆｍａｘを達成するために必要な）Ｖｄｄの変化による電力消費の変化と比較される。他の実施形態では、（例えばＶｔの変化による）ＩＯＮの変化による電力消費の変化が、Ｖｄｄの変化による電力消費の変化と比較される。しかし他の多くのバランシング試験が可能である。この比較に基づいて、適当なＶｄｄ、ＶｐｗおよびＶｎｗの値が選択される。
【００５１】
ステップ８３０では、所望のＶｔを確立するために、回路のトランジスタのボディがボディバイアスされる。これは、逆バイアシングまたは順バイアシングである。更に、実施中の実施形態に応じて、新しく決定された値を用いて供給電圧（Ｖｄｄ）を変更し、または決定された周波数を用いて動作周波数を変更することができる。ソフトウェア制御ボディバイアシングを使用するときには、新しいボディバイアスを適用することによって閾値電圧を変更するステップを、この時にボディバイアスを変更しないほうがよいと判定することによって、知的に適用することができる。例えば、ボディバイアスの変更は、例えば容量の充電によってある程度の電力を消費する。閾値電圧の変更によって節約される電力間のトレードオフよりも、変更を実施して消費される電力のほうが上回っている場合には、変更をやめることができる。
【００５２】
本発明の一実施形態は、ソフトウェア制御ボディバイアシングを使用して回路の特性を最適化するコンピュータ実現方法である。図９のプロセス９００の少なくともいくつかのステップをコンピュータ可読媒体に命令として記憶し、汎用プロセッサ上で実行することができる。ステップ９１０で、回路の少なくとも１つのトランジスタの漏れ電流を測定する。
【００５３】
ステップ９２０で目標周波数を受け取る。目標周波数はＣＭＳなどによって決定することができ、プロセス９００によって動作特性を制御する対象であるプロセッサの利用に基づくことができる。
【００５４】
ステップ９３０で、この目標周波数に対する供給電圧およびトランジスタボディバイアシング値を決定する。更に、ステップ９１０で測定された漏れ電流をこの決定の決定因子の１つとすることができる。結果として生じる値は電力消費を最適化する役目を果たす。決定は表引きまたは実行中計算を含むことができる。ステップ９３０の決定は、ソフトウェアを使用せずに実行することが難しくまたは不可能なさまざまな考慮事項のバランスをとることを含むことができる。この比較に基づいて、適当なＶｄｄ、ＶｐｗおよびＶｎｗの値が選択される。
【００５５】
ステップ９３０では、決定された供給電圧およびボディバイアス値を回路に適用する。このボディバイアシングによって回路の所望のＶｔが確立される。この方法では、回路を所望の周波数で動作させ、電力消費を最小にすることができる。
【００５６】
図１０に、本発明の実施形態のためのプラットホームを構成することができる例示的なコンピュータシステム１００の回路を示す。コンピュータシステム１００は、情報を伝達するアドレス／データバス９９と、このバスに結合され、情報および命令を処理する中央処理装置１０１と、バス９９に結合され、中央処理装置１０１のための情報および命令を記憶する揮発性メモリ１０２（例えばランダムアクセスメモリＲＡＭ）と、バス９９に結合され、処理装置１０１のための静的情報および命令を記憶する不揮発性メモリ１０３（例えばリードオンリーメモリＲＯＭ）とを含む。コンピュータシステム１００は更に、バス９９に結合され、情報および命令を記憶する任意選択のデータ記憶装置１０４（例えば磁気または光ディスクおよびディスクドライブ）を含む。
【００５７】
図１０を更に参照すると、システム１００は更に、英数字キーおよび機能キーを含み、バス９９に結合され、情報およびコマンド選択を中央処理装置１０１に伝達する任意選択の英数字入力装置１０６を含む。システム１００は更に、バス９９に結合され、ユーザ入力情報およびコマンド選択を中央処理装置１０１に伝達するカーソル制御装置１０７を含む。この実施形態のシステム１００は更に、バス９９に結合され、情報を表示する表示装置１０５を含む。バス９９に結合された信号入力／出力通信装置１０８は外部装置との通信を提供する。
【００５８】
本発明の好ましい実施形態、すなわちソフトウェア制御ボディバイアシングの方法およびシステムの好ましい実施形態を説明した。特定の実施形態において本発明を説明したが、本発明が該実施形態によって限定されると解釈すべきでなく、むしろ上記請求項に従って解釈すべきであることを理解されたい。
【図面の簡単な説明】
【００５９】
【図１】ボディバイアスされたシステム中のＣＭＯＳ構造の図である。
【図２】ボディバイアスされたシステム中のＣＭＯＳ構造の図である。
【図３】任意の負荷静電容量を有するトランジスタの、一定供給電圧時および変動供給電圧時の周波数に対する電力消費のグラフである。
【図４】さまざまな閾値電圧における供給電圧に対する周波数のグラフであって、本発明の実施形態に基づくさまざまな曲線およびその上の点間の選択を示すグラフである。
【図５Ａ】ソフトウェア制御ボディバイアシングを使用して回路の性能を最適化するための本発明の実施形態に基づく例示的なシステムである。
【図５Ｂ】ソフトウェア制御ボディバイアシングを使用して回路の性能を最適化するための本発明の実施形態に基づく例示的なシステムである。
【図５Ｃ】ソフトウェア制御ボディバイアシングを使用して回路の性能を最適化するための本発明の実施形態に基づく例示的なシステムである。
【図６】回路を管理するための本発明の実施形態に基づくシステムを示す例示的なブロック図である。
【図７】回路のトランジスタをボディバイアスするための値を記憶する本発明の実施形態に基づく例示的な表である。
【図８】回路性能を最適化する本発明の実施形態に基づくプロセスのステップを示すフローチャートである。
【図９】回路性能を最適化する本発明の実施形態に基づくプロセスのステップを示すフローチャートである。
【図１０】本発明の実施形態を実行することができるプラットホームとして機能することができる例示的なコンピュータシステムの図である。
【図１】
2006512685.tif 000003
【図２】
2006512685.tif 000004
【図３】
2006512685.tif 000005
【図４】
2006512685.tif 000006
【図５Ａ】
2006512685.tif 000007
【図５Ｂ】
2006512685.tif 000008
【図５Ｃ】
2006512685.tif 000009
【図６】
2006512685.tif 000010
【図７】
2006512685.tif 000011
【図８】
2006512685.tif 000012
【図９】
2006512685.tif 000013
【図１０】
2006512685.tif 000014
【国際調査報告】
2006512685.tif 000015
2006512685.tif 000016
2006512685.tif 000017