(57)【特許請求の範囲】
【請求項１】
コンピュータによって読取可能であり、集積回路を設計するために前記コンピュータによって用いられる１つ以上のセルを備えるセルライブラリを記録する記憶媒体であって、
前記１つ以上のセルのうち規定のセルは、
フットプリントと、
チャネル幅のチャネル幅パラメータと、
を備え、
（ｉ）前記チャネル幅パラメータは、１つ以上の電力基準に基づいて前記集積回路の設計フロー中に、前記規定のセルの前記フットプリントを変更せずに、前記コンピュータに含まれるツールが前記規定のセルにおける前記チャネル幅を変更する範囲を定義し、（ｉｉ）前記セルライブラリは、（ａ）前記１つ以上の電力基準、（ｂ）１つ以上の性能基準、又は（ｃ）前記１つ以上の電力基準と前記１つ以上の性能基準の両方の組み合わせを備えるルックアップテーブルを更に備えることを特徴とする記憶媒体。
【請求項２】
前記ルックアップテーブルは、（ｉ）前記規定のセルの電力使用量、（ｉｉ）前記規定のセルの性能、又は（ｉｉｉ）前記規定のセルの前記電力使用量と前記性能の両方の組み合わせの調節において前記ツールを制限することを特徴とする請求項１に記載の記憶媒体。
【請求項３】
前記ルックアップテーブルは、（ｉ）前記規定のセルの静的な電力使用量、（ｉｉ）前記規定のセルの動的な電力使用量、又は（ｉｉｉ）前記規定のセルの前記静的な電力使用量と前記動的な電力使用量の両方の組み合わせの調節において前記ツールを制限することを特徴とする請求項１に記載の記憶媒体。
【請求項４】
前記セルライブラリは、複数の前記規定のセルを備えることを特徴とする請求項１に記載の記憶媒体。
【請求項５】
前記チャネル幅パラメータは、前記規定のセルにおける拡散領域の幅を備えることを特徴とする請求項１に記載の記憶媒体。
【請求項６】
前記規定のセルの特定のチャネル幅は、前記規定のセルが配置配線された後に異なるチャネル幅に調節されることを特徴とする請求項１に記載の記憶媒体。
【請求項７】
集積回路を設計するために用いられる１つ以上のセルを備えるセルライブラリを作成する方法であって、
（Ａ）コンピュータを用いて、記憶媒体に前記１つ以上のセルのうち規定のセルのフットプリントを格納するステップと、
（Ｂ）前記記憶媒体に前記規定のセルにおけるチャネル幅のチャネル幅パラメータを格納するステップと、
を備え、
（ｉ）前記チャネル幅パラメータは、１つ以上の電力基準に基づいて前記集積回路の設計フロー中に、前記規定のセルの前記フットプリントを変更せずに、集積回路設計用コンピュータに含まれるツールが前記規定のセルにおける前記チャネル幅を変更する範囲を定義し、（ｉｉ）前記セルライブラリは、（ａ）前記１つ以上の電力基準、（ｂ）１つ以上の性能基準、又は（ｃ）前記１つ以上の電力基準と前記１つ以上の性能基準の両方の組み合わせを備えるルックアップテーブルを更に備えることを特徴とする方法。
【請求項８】
前記ルックアップテーブルは、（ｉ）前記規定のセルの電力使用量、（ｉｉ）前記規定のセルの性能、又は（ｉｉｉ）前記規定のセルの前記電力使用量と前記性能の両方の組み合わせの調節において前記ツールを制限することを特徴とする請求項７に記載の方法。
【請求項９】
前記ルックアップテーブルは、（ｉ）前記規定のセルの静的な電力使用量、（ｉｉ）前記規定のセルの動的な電力使用量、又は（ｉｉｉ）前記規定のセルの前記静的な電力使用量と前記動的な電力使用量の両方の組み合わせの調節において前記ツールを制限することを特徴とする請求項７に記載の方法。
【請求項１０】
前記規定のセルの動的な電力使用量は、ポジティブスラックリカバリ毎に前記ツールによって変更されることを特徴とする請求項７に記載の方法。
【請求項１１】
前記チャネル幅パラメータは、前記規定のセルにおける拡散領域の幅を備えることを特徴とする請求項７に記載の方法。
【請求項１２】
前記規定のセルの特定のチャネル幅は、前記規定のセルが配置配線された後に異なるチャネル幅に調節されることを特徴とする請求項７に記載の方法。
【請求項１３】
集積回路の設計において電力を調節する方法であって、
（Ａ）コンピュータを用いて、前記設計における複数のセルの配置配線を行うステップであって、（ｉ）１つ以上のセルのうち規定のセルは、（ａ）フットプリントと、（ｂ）チャネル幅のチャネル幅パラメータと、を備え、（ｉｉ）前記チャネル幅パラメータは、１つ以上の電力基準に基づいて前記集積回路の設計フロー中に、前記規定のセルの前記フットプリントを変更せずに、前記コンピュータに含まれるツールが前記規定のセルにおける前記チャネル幅を変更する範囲を定義するステップと、
（Ｂ）前記ツールにより前記規定のセルにおける前記チャネル幅を調節するステップと、
（Ｃ）前記集積回路の最終設計を作成するために前記規定のセルにおける前記チャネル幅を最終決定するステップと、
を備え、
前記１つ以上のセルのセルライブラリは、（ｉ）前記１つ以上の電力基準、（ｉｉ）１つ以上の性能基準、又は（ｉｉｉ）前記１つ以上の電力基準と前記１つ以上の性能基準の両方の組み合わせを備えるルックアップテーブルを更に備えることを特徴とする方法。
【請求項１４】
前記ツールは、前記規定のセルの前記１つ以上の性能基準を調節することを特徴とする請求項１３に記載の方法。
【請求項１５】
前記ルックアップテーブルは、（ｉ）前記規定のセルの電力使用量、（ｉｉ）前記規定のセルの性能、又は（ｉｉｉ）前記規定のセルの前記電力使用量と前記性能の両方の組み合わせの調節において前記ツールを制限することを特徴とする請求項１３に記載の方法。
【請求項１６】
前記ルックアップテーブルは、前記規定のセルの複数の電力使用量と複数の性能とを備えることを特徴とする請求項１３に記載の方法。
【請求項１７】
コンピュータによって読取可能であり、集積回路を設計するために前記コンピュータによって用いられる１つ以上のセルを備えるセルライブラリを記録する記憶媒体であって、
前記１つ以上のセルのうち規定のセルは、
フットプリントと、
チャネル幅のチャネル幅パラメータと、
を備え、
（ｉ）前記チャネル幅パラメータは、１つ以上の電力基準に基づいて前記集積回路の設計フロー中に、前記規定のセルの前記フットプリントを変更せずに、前記コンピュータに含まれるツールが前記規定のセルにおける前記チャネル幅を変更する範囲を定義し、（ｉｉ）前記セルライブラリは、（ａ）前記規定のセルの静的な電力使用量、（ｂ）前記規定のセルの動的な電力使用量、又は（ｃ）前記規定のセルの前記静的な電力使用量と前記動的な電力使用量の両方の組み合わせの調節において前記ツールを制限するルックアップテーブルを更に備えることを特徴とする記憶媒体。
【請求項１８】
前記規定のセルは、１つ以上の性能基準を更に備えることを特徴とする請求項１７に記載の記憶媒体。
【請求項１９】
集積回路の設計において電力を調節する方法であって、
（Ａ）コンピュータを用いて、前記設計におけるセルライブラリの複数のセルの配置配線を行うステップであって、（ｉ）１つ以上のセルのうち規定のセルは、（ａ）フットプリントと、（ｂ）チャネル幅のチャネル幅パラメータと、を備え、（ｉｉ）前記チャネル幅パラメータは、１つ以上の電力基準に基づいて前記集積回路の設計フロー中に、前記規定のセルの前記フットプリントを変更せずに、前記コンピュータに含まれるツールが前記規定のセルにおける前記チャネル幅を変更する範囲を定義するステップと、
（Ｂ）前記ツールにより前記規定のセルにおける前記チャネル幅を調節するステップと、
（Ｃ）前記集積回路の最終設計を作成するために前記規定のセルにおける前記チャネル幅を最終決定するステップと、
を備え、
前記セルライブラリは、（ｉ）前記規定のセルの複数の電力使用量、（ｉｉ）前記規定のセルの複数の性能を備える１つ以上のルックアップテーブルを更に備えることを特徴とする方法。
【請求項２０】
前記規定のセルは、１つ以上の性能基準を更に備えることを特徴とする請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にＩＣ設計に係り、特に電力最適化のための粒状チャネル幅（granular channel width）を実現するための方法及び／又は装置に関する。
【背景技術】
【０００２】
相補型金属酸化膜半導体（ＣＭＯＳ）集積回路（ＩＣ）電力削減は、浪費された電力に関連したコストのために重要である。電力に関連する生産物コスト（即ち、高温環境を扱うための消費電力性能の立場から）、及び電力に関連する運転費用の両方が市場における差異になっている。デジタルＣＭＯＳ  ＩＣの電力消費は、静的（即ち、電力消費がシステム活動に構わず継続する）か、動的（即ち、スイッチ動作活動が発生する場合のみ電力が消費される）であると考えられる。従来のデジタルＣＭＯＳプロセスの静的な電力消費は、通常完全なスイッチとして行動しないトランジスタの結果である。トランジスタは、完全にスイッチを切るのが困難である。トランジスタは部分的にオンのままであり、これによりリーク電流が流れることを容認する。リーク電流は、電力の継続的な浪費をもたらす。
【０００３】
静的な電力消費は、トランジスタのための異なるスイッチング閾値（即ち、トランジスタの「Ｖｔ」）を用いることによって軽減することができる。高いＶｔを持ったトランジスタは、悪い性能を有する（即ち、トランジスタは、スイッチを入れるのが遅く、オン時に少ないドライブ電流を有する）。しかしながら、スイッチが切られたとき、高いＶｔを持ったトランジスタは、少ない電力漏れがある。異なるＶｔ値を持った複数のライブラリは、設計者が目標とされた性能／電力トレードオフを持ったＩＣを構築することを可能にする。複数のライブラリは、ライブラリが逆に同一ならば（即ち、ピン接続が、同一の機能の異なるＶｔバージョンのために同一の位置にある）、互換性のあるフットプリントであると言われる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
電力最適化のための粒状チャネル幅のための方法及び／又は装置を実現することは望ましい。
【課題を解決するための手段】
【０００５】
本発明は、一般にコンピュータによって読取可能であり、集積回路を設計するためにコンピュータによって用いられる１つ以上のセルを有するセルライブラリを記録する記憶媒体に関する。１つ以上のセルは、フィジカルディメンションパラメータとチャネル幅パラメータとを有する。
【０００６】
フィジカルディメンションパラメータは、１つ以上のセルのフットプリントである。チャネル幅パラメータは、最小ドライバサイズと最大ドライバサイズとを有する。チャネル幅パラメータは、１つ以上の電力基準に基づいて集積回路の設計フロー中に、フットプリントを変更せずに、ツールが最大ドライバサイズと最小ドライバサイズとの間でチャネル幅を変更する範囲を定義する。
【０００７】
本発明の目的、特徴、及び利点は、（ｉ）性能と電力を最適化するために粒状チャネル幅を用いるためのファウンダリ独立アプローチ（foundry independent approach）を可能にし、（ｉｉ）一般にデザインルールチェック（ＤＲＣ）パラメータの範囲内でありながら、最大ドライバサイズ、最小ドライバサイズ、及び複数の中間ドライバサイズを持ったセルの設計を可能にし、（ｉｉｉ）最小ドライバサイズ、最大ドライバサイズ、及び中間ドライバサイズで電力と性能のために特徴づけられるセルの設計を可能にし、（ｉｖ）電力と性能が任意の最終ドライバサイズで推定されることができるように、ルックアップテーブルを作成し、（ｖ）電力と性能のスペクトルにわたってセルの大きい粒状度（granularity）があるツールを提供し、（ｖｉ）リーク配置最適化（ＬＩＰＯ）ツールが最適な仕事をするのを妨げる電力と性能における大きいステップ関数を除去し、（ｖｉｉ）ＬＩＰＯツールが最良の電力／性能トレードオフのために適切なドライバサイズを推定した後に、適切な散乱（ＯＤ）領域と装置幅とを持ったセルを再定義するのに使用される情報を示し、（ｖｉｉｉ）装置幅補正が設計フローのどの時点でも行われることを可能にし、（ｉｘ）零から最小限の設計影響力を持った設計フローの後半においてポジティブスラックリカバリを介して動的な電力削減を目標とするための能力を導入し、及び／又は（ｘ）アプリケーションに適切なように静的又は動的な電力リカバリを目標とするための能力を導入する、電力最適化のための粒状チャネル幅を提供することを含む。
【０００８】
本発明のこれらと他の目的、特徴、及び利点は、以下の詳細な説明と添付された特許請求の範囲と図面とから明らかになる。
【図面の簡単な説明】
【０００９】
【図１】Ｖｔとチャネル長の変化を持った４つのセルのためにレイアウトの一例の図である。
【図２】１ｘセル、２ｘセル、及び１ｘセルにスケーリングされた（２ｘセルフットプリントに基づいて）チャネル幅の一例の図である。
【図３】本発明の好適な実施の形態による３つのセルの一例の図である。
【図４】セルの構造の一例の図である。
【図５】セルの電力パラメータと性能パラメータのためのルックアップテーブルの一例の図である。
【図６】集積回路を設計する際に粒状チャネル幅を用いて電力を最適化するための方法のフローチャートである。
【発明を実施するための形態】
【００１０】
静的な電力消費は、異なるトランジスタチャネル長を用いることによって軽減される。互換性のあるフットプリントであるように異なるチャネル長を持ったライブラリのために、ライブラリは、全て最大チャネル長の寸法に設計される。電力削減と的確な性能／電力最適化とを可能にするために、いくつかの（例えば、３以上）チャネル長オプション、及び／又は同一のフットプリントを有するいくつかの（例えば、３以上）Ｖｔオプションを提供するライブラリが作成される。
【００１１】
図１を参照すると、Ｖｔ及びチャネル長のバリエーションを持った様々なセル１００ａ〜１００ｄを図示する図が表される。各セル（又は装置）１００ａ〜１００ｄは、インバータセルを実現する。セル１００ａ〜１００ｄは、領域（又は回路）１０２、領域（又は回路）１０４、領域（又は回路）１０６、領域（又は回路）１１０、領域（又は回路）１１２、領域（又は回路）１１４、及び領域（又は回路）１１６を備える。セル１００ａ及び１００ｂは、領域（又は回路）１０８ａを備える。セル１００ｃ及び１００ｄは、領域（又は回路）１０８ｂを備える。セル１００ｂ及び１００ｄは、領域（又は回路）１１８を備える。領域１０２は、各セル１００ａ〜１００ｄのドレイン部分に接続されたＶｄｄ電力トレースである。領域１０４は、ソースを設定するＰ＋拡散領域であり、各セル１００ａ〜１００ｄのＰ型トランジスタのドレインである。領域１０６は、各セル１００ａ〜１００ｄのＮ拡散ウェル部分である。領域１０８ａは、各セル１００ａ及び１００ｂのゲート部分である。領域１０８ｂは、各セル１００ｃ及び１００ｄの広いゲート部分である。領域１１０は、各セル１００ａ〜１００ｄのゲート１０８ａ又は１０８ｂに接続されたゲートコンタクトトレースである。領域１１２は、各セル１００ａ〜１００ｄの出力端子である。領域１１４は、ソースを設定するＮ＋拡散領域であり、各セル１００ａ〜１００ｄのＮ型トランジスタのドレインである。領域１１６は、各セル１００ａ〜１００ｄのソース部分に接続されたＶｓｓ電力トレースである。領域１１８は、各セル１００ｂ及び１００ｄのＶｔ注入領域である。
【００１２】
セル１００ａは、一般に最小チャネル長、通常のＶｔインバータセルを提供するレイアウトを図示する。セル１００ｂは、一般に最小チャネル長、Ｖｔ注入領域１１８を持った高いＶｔインバータセルを提供する。セル１００ｃは、一般に拡張されたチャネル長、広いトランジスタゲート１０８ｂを持った通常のＶｔインバータセルを図示するレイアウトの一例を提供する。セル１００ｄは、一般に拡張されたチャネル長、広いトランジスタゲート１０８ｂを持った高いＶｔインバータセル、及びＶｔ注入領域１１８を図示するレイアウトの一例を提供する。
【００１３】
技術がますます小さい寸法に移行し、関連するデザインルールがより限定的になるので、ライブラリにスケーリングされたフットプリントに互換性のあるチャネル長を提供することはより困難になる。本発明のいくつかの実施の形態は、通常のセルに粒状チャネル幅（ＧＣＷ）デバイスを定義するための技法を提供する。ＧＣＷデバイスは、ＩＣ設計の電力と性能とを最適化するために用いられる。いくつかの実施の形態は、また一般に定義とセルのバージョンにスケーリングされたＧＣＷの利用とを自動化する方法を説明する。いくつかの実施の形態は、また既存の配線されたチップレベルデータベースに配置されるＧＣＷセルの定義及び作成のための手順を提供する。ＧＣＷセルは、静的及び／又は動的な電力リカバリを最大限にするために用いられる。
【００１４】
トランジスタサイズは、ＩＣ設計者が用いるセルライブラリに組み込まれる。設計ツールは、電力を最小限に抑える一方で性能を最適化する。特定用途のための性能面の仕様は、より小さいトランジスタを用いるファンクショナルセルの選択肢をしばしば示唆する。性能面の仕様は、またセルのために削減された領域を含む。セルライブラリは、ユニットサイズ（例えば、１ｘの標準インバータのサイズ）のＰチャネルトランジスタとＮチャネルトランジスタとを定義する。並列の複数のトランジスタは、より多くのドライブの強度（例えば、性能）を得るために利用される。より小さいトランジスタを用いるセルは、より少ない並列のトランジスタを用いることによってしばしば実現される。
【００１５】
より小さい駆動セルは、並列のトランジスタの数の代わりにチャネル幅の削減によって実現される。ライブラリが一般に逆に同一の場合（例えば、フィジカルディメンションが類似し、ピン接続が異なるチャネル幅のために同一の位置にある）、ライブラリは、一般に「互換性のあるフットプリント」であると言われる。フットプリントの互換性のあるセルは、性能と電力の目標を満たすために設計フローの最後段以下の如何なる場所でも容易に交換される。
【００１６】
図２を参照すると、セル１４０、１６０、及び１８０のブロック図が表される。セル（又は装置）１４０は、１ｘ駆動インバータセルである。セル（又は装置）１６０は、２ｘ駆動インバータセルである。セル（又は装置）１８０は、１ｘ駆動インバータセルである。セル１４０は、領域（又は回路）１４２、領域（又は回路）１４４、領域（又は回路）１４６、領域（又は回路）１４８、領域（又は回路）１５０、領域（又は回路）１５２、領域（又は回路）１５４、及び領域（又は回路）１５６を備える。領域１４２は、セル１４０のドレイン部分に接続されたＶｄｄ電力トレースである。領域１４４は、ソース、及びセル１４０のＰ型トランジスタのドレインを設定するＰ＋拡散領域である。領域１４６は、セル１４０のＮ拡散ウェル部分である。領域１４８は、セル１４０のゲート部分である。領域１５０は、セル１４０のゲート部分１４８に接続されたゲートコンタクトである。領域１５２は、セル１４０の出力端子である。領域１５４は、ソース、及びセル１４０のＮ型トランジスタのドレインを設定するＮ＋拡散領域である。領域１５６は、セル１４０のソース部分に接続されたＶｓｓ電力トレースである。
【００１７】
セル１６０は、領域（又は回路）１６２、領域（又は回路）１６４、領域（又は回路）１６６、領域（又は回路）１６８、領域（又は回路）１７０、領域（又は回路）１７２、領域（又は回路）１７４、及び領域（又は回路）１７６を備える。領域１６２は、セル１６０のドレイン部分に接続されたＶｄｄ電力トレースである。領域１６４は、ソース、及びセル１６０のＰ型トランジスタのドレインを設定するＰ＋拡散領域である。領域１６６は、セル１６０のＮ拡散ウェル部分である。領域１６８は、セル１６０のゲート部分である。領域１７０は、セル１６０のゲート部分１６８に接続されたゲートコンタクトである。領域１７２は、セル１６０の出力端子である。領域１７４は、ソース、及びセル１６０のＮ型トランジスタのドレインを設定するＮ＋拡散領域である。領域１７６は、セル１６０のソース部分に接続されたＶｓｓ電力トレースである。
【００１８】
セル１８０は、一般にセル１６０のフットプリントに基づいて、１ｘドライバセルにスケーリングされたチャネル幅を備える。セル１８０は、領域（又は回路）１８２、領域（又は回路）１８４、領域（又は回路）１８６、領域（又は回路）１８８、領域（又は回路）１９０、領域（又は回路）１９２、領域（又は回路）１９４、及び領域（又は回路）１９６を備える。領域１８２は、セル１８０のドレイン部分に接続されたＶｄｄ電力トレースである。領域１８４は、ソースを設定するＰ＋拡散領域、及びセル１８０のＰ型トランジスタのドレインＰ＋拡散領域である。領域１８６は、セル１８０のＮ拡散ウェル部分である。領域１８８は、セル１８０のゲート部分である。領域１９０は、セル１８０のゲート部分１８８に接続されたゲートコンタクトである。領域１９２は、セル１８０の出力端子である。領域１９４は、ソースを設定するＮ＋拡散領域、及びセル１８０のＮ型トランジスタのドレインである。領域１９６は、セル１８０のソース部分に接続されたＶｓｓ電力トレースである。
【００１９】
セル１８０は、拡散領域１８４の上で、且つ拡散領域１９４の下のスペースを図示する。レイアウトにスケーリングされたチャネル幅は、セル１４０と同様の性能とリーク特性とを有するかもしれないが、セル１６０と互換性のあるフットプリント（例えば、同一のフィジカルディメンションとピン位置とを有する）である。従って、性能と電力の基準が一般に満たされる限り、セル１８０及びセル１６０は、最終ＩＣ設計のレイアウトにおいて互いに交換される。
【００２０】
図３を参照すると、本発明の好適な実施の形態によるセル２５０ａ〜２５０ｃのブロック図が表される。セル２５０ａは、２ｘ駆動インバータセルとして実現される。セル２５０ｂは、セル２５０ａのフットプリントに基づいた１．５ｘ駆動インバータセルとして実現される。セル２５０ｃは、セル２５０ａのフットプリントに基づいた１ｘ駆動インバータセルとして実現される。セル２５０ａ〜２５０ｃは、領域（又は回路）２５２、領域（又は回路）２５６、領域（又は回路）２５８、領域（又は回路）２６０、及び領域（又は回路）２６４を備える。セル２５０ａは、領域（又は回路）２５４ａ、及び領域（又は回路）２６２ａを備える。セル２５０ｂは、領域（又は回路）２５４ｂ、及び領域（又は回路）２６２ｂを備える。セル２５０ｃは、領域（又は回路）２５４ｃ、及び領域（又は回路）２６２ｃを備える。
【００２１】
領域２５２は、各セル２５０ａ〜２５０ｃのドレイン部分に接続されたＶｄｄ電力トレースである。領域２５４ａ〜２５４ｃは、ソースを設定するＰ＋拡散領域、及び各セル２５０ａ〜２５０ｃのＰ型トランジスタのドレインである。領域２５６は、各セル２５０ａ〜２５０ｃのゲート部分である。領域２５８は、各セル２５０ａ〜２５０ｃのゲート部分２５６に接続されたゲートコンタクトである。領域２６０は、各セル２５０ａ〜２５０ｃの出力端子である。領域２６２ａ〜２６２ｃは、ソースを設定するＮ＋拡散領域、及び各セル２５０ａ〜２５０ｃのＮ型トランジスタのドレインである。領域２６４は、セル２５０ａ〜２５０ｃのソース部分に接続されたＶｓｓ電力トレースである。一般に、セル２５０ａ〜２５０ｃ間の差異は、領域２５４ａ〜２５４ｃと領域２６２ａ〜２６２ｃのＯＤ領域、及び生じるセル２５０ａ〜２５０ｃの電力／性能プロフィールである。
【００２２】
図４を参照すると、セルの構造３００の一例のブロック図が表される。セルは、セル１００ａ〜１００ｄ、１４０、１６０、１８０、及び／又は２５０ａ〜２５０ｃのいずれか１つ以上である。構造３００は、一般にパラメータ（又は基準）３１０、パラメータ（又は基準）３２０、パラメータ（又は基準）３３０、ルックアップテーブル（又は基準）３４０、ルックアップテーブル（又は基準）３５０、及びパラメータ（又は基準）３６０を備える。構造３００は、ブロック（又は回路）３６２、及びブロック（又は回路）３６４を関連付ける。パラメータ３１０は、構造３００（例えば、領域２５４ａ及び／又は２６２ａの幅）のチャネル幅パラメータとして定義される。パラメータ３２０は、チャネル幅パラメータ３１０の最小ドライバサイズとして定義される。パラメータ３３０は、チャネル幅パラメータ３１０の最大ドライバサイズとして定義される。ルックアップテーブル３４０は、構造３００の電力基準を格納する。ルックアップテーブル３５０は、構造３００の性能基準（例えば、伝播遅延、立ち上がり時間、立ち下がり時間等）を格納する。パラメータ３６０は、構造３００のフィジカルディメンションパラメータとして定義される。パラメータ３６０は、一般に構造３００のためにフットプリントを定義する。ブロック３６２は、非一時的な記憶媒体を備える。ブロック３６４は、コンピュータを備える。
【００２３】
構造３００は、セルライブラリ内で定義され、セルライブラリは、コンピュータ３６４によって読取可能な記憶媒体３６２上で記録される。構造３００は、集積回路を設計するために用いられる。構造３００は、限定されるものではないが、フィジカルディメンションパラメータ３６０とチャネル幅パラメータ３１０とを含む。チャネル幅パラメータ３１０は、最大ドライバサイズ３３０と最小ドライバサイズ３２０とを含む。拡散領域（例えば、拡散領域２５４ａ〜２５４ｃ及び／又は２６２ａ〜２６２ｃ）のチャネル幅は、ツール（例えば、集積回路を設計するように構成されたコンピュータプログラム）によって最大ドライバサイズ３３０と最小ドライバサイズ３２０との間で変更される。ツールは、ルックアップテーブル３４０の１つ以上の電力基準、ルックアップテーブル３５０の１つ以上の性能基準、又はその両方の組み合わせに基づいて集積回路の設計フロー中にチャネル幅パラメータ３１０を変更する。図５に関連して図示された詳細（further）として、構造３００は、ルックアップテーブル３４０及び／又は３５０の１つ以上の電力基準と性能基準とを含む記述（description）を備える。セルのチャネル幅は、特定用途のためのドライブの強度を満たすように変更される拡散領域（ＯＤ）を備える。フィジカルディメンションパラメータ３６０は、フットプリントが構造３００のチャネル幅の如何なる変化とも無関係に同様に変わらないような構造３００のためのフットプリントを備える。構造３００のフットプリントが同様に変わらないので、構造３００は設計フローのどの時点でも異なるチャネル幅セルと交換される。セルが配置配線される前又は後に、セルが交換される。
【００２４】
図５を参照すると、ルックアップテーブル３４０及び３５０の一例の図が表される。ルックアップテーブル３４０は、一般にパラメータ数（又は基準）３４０ａ〜３４０ｎを備える。パラメータ３４０ａ〜３４０ｎは、ルックアップテーブル３４０を形成する複数の異なる電力基準として定義される。パラメータ３４０ａ〜３４０ｎの値は、構造３００の記述において定義される。ルックアップテーブル３５０は、一般にパラメータ数（又は基準）３５０ａ〜３５０ｎを備える。パラメータ３５０ａ〜３５０ｎは、ルックアップテーブル３５０を形成する複数の異なる性能基準として定義される。パラメータ３５０ａ〜３５０ｎの値は、構造３００の記述において定義される。集積回路の設計フロー中に、設計ツールは、セルの電力消費及び／又は性能を最適化するためにルックアップテーブル３４０及び／又は３５０を用いる。
【００２５】
図６を参照すると、回路設計フローの一例のためのプロセス（又は方法）４００を図示する流れ図が表される。プロセス４００は、一般にステップ（又は状態）４１０、ステップ（又は状態）４２０、ステップ（又は状態）４３０、ステップ（又は状態）４４０、ステップ（又は状態）４５０、ステップ（又は状態）４６０、及びステップ（又は状態）４７０を備える。ステップ４１０は、１つ以上の設計ツールに高性能目標のためにレジスタ転送レベル（ＲＴＬ）設計及びタイミング制限を複製する。設計ツールは、コンピュータ３６４によって実行される。ステップ４２０は、設計ツールにセルライブラリを複製する。ステップ４３０は、設計ツールにＧＣＷセルのリストを複製する。ステップ４４０は、ゲートレベルシンセシス、配置配線、最適化、及び高性能目標のための静的タイミング解析のために、ステップ４１０〜４３０からの入力を用いる。ステップ４５０は、低目標性能にタイミング制限を変更し、設計ツールにＧＣＷセルを送信し、低機能目標製品のためのリーク配置最適化（ＬＩＰＯ）フローを行う。ステップ４６０は、設計ツールにＧＣＷセルを送信し、高性能目標製品のための最終セル最適化のためにＬＩＰＯフローを行う。ステップ４７０は、ステップ４５０及び／又はステップ４６０において決定されたセル最適化によるＧＣＷセルのチャネル幅を固定する。ＬＩＰＯは、タイミング駆動漏れ電力還元過程である。ＬＩＰＯでは、静的タイミング解析（ＳＴＡ）において適切なタイミングマージンを有するパスは、同一の機能のより低電力バージョンのために交換されたロジックパスにセルを有する。ＬＩＰＯプロセッシングの後に、低電力セルが一般に交換されたセルよりも遅いので、設計はより低電力を達成し、より小さいタイミングマージンを有する。
【００２６】
一般に、ＬＩＰＯ中に粒状にスケーリングされるセル及びセル内のデバイスの定義は、ステップ４２０及びステップ４３０の一部分である。一例では、共通の組み合わせのゲートは、最適化のための対象かもしれないが、複雑なフリップフロップではない。複雑なフリップフロップのキャラクタリゼーション時間は多く、粒状のスケーリングが可能にされるべきデバイスの数は少ない（例えば、出力ドライバのみ）。
【００２７】
ＬＩＰＯ最適化の有能なこととして識別される各粒状チャネル幅セルのために、レイアウトは、セル（例えば、２５０ａ〜２５０ｃ）によって構成される。その結果、最小ドライバサイズ、最大ドライバサイズ、及び複数の中間ドライバサイズは、クリーンなＤＲＣである。装置幅変化のために、共通のＰ：Ｎチャネル幅比は、一般にＯＤ領域の変化として維持されるべきである。キャラクタリゼーションは、最小サイズ及び最大サイズ（例えば、セル２５０ｃ及びセル２５０ａ各自）上で実行される。複数の中間ドライバサイズは、最小ドライバサイズと最大ドライバサイズとの間で利用される。１つ以上のルックアップテーブルモデル（例えば、図５に示されるようなルックアップテーブル３４０及び／又は３５０）が、ＬＩＰＯのための適切な電力／性能／静電容量情報により作成される。ＯＤ領域を修正する間のレイアウトストレス効果変化による誤りの原因となる（account）ために、ルックアップテーブル３４０及び／又は３５０のデータはマージンによりガードバンドされる。
【００２８】
ＬＩＰＯがＧＣＷスケーラブルのセルのそれぞれのための電力／性能のために、最良チャネル幅、チャネル長、及び／又は閾値電圧を決定するために実行される（例えば、コンピュータ３６４によって）とき、ＬＩＰＯは、ルックアップテーブル３４０及び／又は３５０のスケーリング情報を識別している。１つ以上のルックアップテーブル３４０及び／又は３５０を用いて、ＬＩＰＯの製品は、（ｉ）非ＧＣＷセルのためのフットプリントの互換性のあるセル交換情報、及び（ｉｉ）最適な電力／性能トレードオフを提供するために、ＧＣＷセルのための推奨されるチャネル幅、チャネル長、及び／又は閾値電圧である。
【００２９】
上に説明された技法は、設計サイクルの終わりごろ電力／パフォーマンスを最適化するためにシステムオンチップ（ＳＯＣ）開発で用いられる。本発明の技法は、また配線されたチップレベルデータベースが継続している間にパフォーマンス目標を低下させるために高性能設計に移行するために用いられる。いくつかの製品は、複数のパフォーマンス／電力目標のために設計される。その結果、同一のソフトウェアが最終製品に用いられるが、大容量、低性能アプリケーションはより高性能な低容量アプリケーションのための設計によって過度に負担を負わせられない。
【００３０】
一例（例えば、ディスクドライブ記憶事業）では、読取チャネルＩＣ及びハードディスク制御装置ＩＣは同一の機能を必要とする。しかしながら、営利事業製品は、電池式のノートブック製品のコンシューマに対して２倍の性能を必要とする。一般に、コンシューマ製品に対してエンタープライズ製品の要件は多重展開法事業を用いる。各製品市場は、市場に目標とされた製品のために一定の開発コストを利用する。交互に、より低性能のアプリケーションは、より高性能のアプリケーションによって引き起こされた余分な電力オーバヘッドを伴うことを強いられる。しかしながら、ＧＣＷセルで、単一の開発コストが追加の製品部門への参入のために導入されることを可能にするフローは実証される。ＧＣＷセルを用いて生じる最適化は、概してＬＩＰＯの有効性を制限する大きいＶｔタイプステップ関数を回避する。
【００３１】
ライブラリにスケーリングされたチャネル幅は、多くの並列の小幅トランジスタを用いたライブラリのように見える。しかしながら、複数の製品開発のためのライブラリにスケーリングされたＧＣＷの利用は、機能的に類似する製品に異なる性能／電力性能を提供する。本発明のいくつかの実施の形態は、ファウンダリで静的な電力リカバリに加えて動的な電力リカバリを可能にする。いくつかの実施の形態は、またフットプリントの互換性のあるチャネル長スケーリングが４０ナノメートル（ｎｍ）の技術よりも挑戦的である、２８ナノメートルの技術において有益である。いくつかの実施の形態は、また動的な電力削減及び拡張された静的な電力削減における新規の差別化する性能を提供する。いくつかの実施の形態は、また既存のＬＩＰＯツールのきめの細かいソリューションを追加する。いくつかの実施の形態は、またＬＩＰＯ及び配置最適化を介して動的な電力損失の低減を可能にするための同種のツールを拡張する。いくつかの実施の形態は、既存製品関して用いられるか、又はわずかな増分の開発コストのために複数の市場の製品開発を有効にする。
【００３２】
図１〜６の図によって説明された機能は、従来のメインプロセッサ、デジタルコンピュータ、マイクロプロセッサ、マイクロコントローラ、ＲＩＳＣ（縮小命令型コンピュータ）プロセッサ、ＣＩＳＣ（複雑命令セットコンピュータ）プロセッサ、ＳＩＭＤ（単一命令多重データ）プロセッサ、信号プロセッサ、中央演算処理装置（ＣＰＵ）、算術論理演算装置（ＡＬＵ）、ビデオデジタル信号プロセッサ（ＶＤＳＰ）、及び／又は関連する技術分野における当業者に明らかであるように本明細書の教示に従ってプログラムされた同種の計算上の機械の１つ以上を用いて実現される。適切なソフトウェア、ファームウェア、符号化、ルーチン、命令、オペコード、マイクロコード、及び／又はプログラムモジュールは、また関連する技術分野における当業者に明らかであるように本明細書の情報の教示に基づいて熟練したプログラマによって容易に用意される。ソフトウェアは、機械実装のプロセッサの１つ以上によって１つの媒体又はいくつかの媒体から一般に実行される。
【００３３】
本発明は、またＡＳＩＣ（特定用途向け集積回路）、プラットホームＡＳＩＣ、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）、ＰＬＤ（プログラマブルロジックデバイス）、ＣＰＬＤ（コンプレックスプログラマブルロジックデバイス）、シーオブゲート、ＲＦＩＣ（高周波集積回路）、ＡＳＳＰ（特定用途専用標準品）の用意、又はここで説明されるように従来の構成回路の適切なネットワークを相互に接続することによって実現され、それらの修正は、技術分野における当業者に容易に明らかである。
【００３４】
本発明の要素は、１つ以上のデバイス、ユニット、コンポーネント、システム、機械及び／又は装置の一部又は全てを形成する。デバイスは、限定されるものではないが、サーバー、ワークステーション、記憶アレイコントローラ、記憶システム、パーソナルコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、パームコンピュータ、携帯情報端末、携帯電子デバイス、バッテリ駆動デバイス、セットトップボックス、エンコーダ、デコーダ、トランスコーダ、コンプレッサ、デコンプレッサ、プリプロセッサ、ポストプロセッサ、トランスミッタ、レシーバ、トランシーバ、サイファ回路、携帯電話、デジタルカメラ、ポジショニング及び／又はナビゲーションシステム、医療機器、ヘッドアップ表示装置、無線デバイス、オーディオ録音、記憶及び／又は再生装置、ビデオ録画、記憶及び／又は再生装置、ゲームプラットホーム、周辺装置及び／又はマルチチップモジュールを含む。関連する技術分野における当業者は、特定用途の基準を満たすように他のタイプのデバイスにおいて本発明の要素が実現されると理解する。
【００３５】
本発明は、特にその好適な実施の形態に関連して表され説明されたが、本発明の範囲から逸脱することなく、形式と細部の様々な変更がなされることが当業者によって理解される。
【図１】
0005623354.tif 000002
【図２】
0005623354.tif 000003
【図３】
0005623354.tif 000004
【図４】
0005623354.tif 000005
【図５】
0005623354.tif 000006
【図６】
0005623354.tif 000007