(57)【特許請求の範囲】
【請求項１】
セグメントのための電源スイッチ構成を決定する段階であって、その決定は、電源スイッチ構成に応答して複数の予め設計された電源スイッチセルから電源スイッチセルを選択することを含み、前記複数の予め設計された電源スイッチセルの各電源スイッチセルは、その電源スイッチセルにより占有される面積に対する電源スイッチセル間の相互接続部を含み、前記複数の予め設計された電源スイッチセルの第１の電源スイッチセルは、第１イネーブル信号によりコントロールされる１つ以上の第１トランジスタ、及び第２イネーブルによりコントロールされる１つ以上の第２トランジスタを含み、前記第１トランジスタの第１サイズは、前記第２トランジスタの第２サイズより小さく、前記複数の予め設計された電源スイッチセルの第２の電源スイッチセルは、前記第１サイズの１つ以上の第３トランジスタを含むが、その１つ以上の第３トランジスタに対する前記第１イネーブル信号への接続を除外し、前記第１イネーブル信号は、前記第２の電源スイッチセルの相互接続部において前記第２の電源スイッチセルを通してルーティングされて、前記セグメントにおける第３の電源スイッチセルの相互接続部に接続されるようにする段階と、
前記選択された電源スイッチセルを配置して前記セグメントを形成する段階であって、電源スイッチセルを当接することで、前記選択された電源スイッチセルに含まれる相互接続部を経て前記セルを自動的に接続する段階と、
を備えた方法。
【請求項２】
前記複数の予め設計された電源スイッチセルは、更に、前記相互接続部のためのバッファ回路を有するバッファセルを含む、請求項１に記載の方法。
【請求項３】
前記複数の予め設計された電源スイッチセルは、更に、前記第１イネーブル信号を受信しそしてその逆方向に進行する第１イネーブル信号を伝播するように構成された転回セルを含む、請求項２に記載の方法。
【請求項４】
前記セグメントの少なくとも１つの端に当接するように第２の複数の予め設計されたセルを配置する段階を更に備え、その第２の複数の予め設計されたセルは、フロップセルがそのフロップセル上のフロップへの入力として入力イネーブル信号を受信するように結合されたものであり、そのフロップセルの出力は、前記第１イネーブル信号である、請求項３に記載の方法。
【請求項５】
前記第２の複数の予め設計されたセルは、前記セグメント間にイネーブル信号をルーティングするよう構成された１つ以上のルーティングセルを含む、請求項４に記載の方法。
【請求項６】
前記複数の予め設計された電源スイッチセルの各々は、前記複数の予め設計された電源スイッチセルの他の各々と同じ量の面積を占有するように設計され、そして前記方法は、更に、
前記セグメントのための電源スイッチ構成が変更されると決定する段階と、
前記変更された構成に応答して、前記複数の予め設計された電源スイッチセルから電源スイッチセルを選択する段階と、
前記選択された電源スイッチセルを配置して前記変更されたセグメントを形成する段階であって、前記変更されたセグメントは、以前の構成のセグメントと同じ量の面積を占有し、そして前記変更されたセグメントの前記選択された電源スイッチセルを当接することで、前記選択された電源スイッチセルに含まれる相互接続部を経て前記セルを自動的に接続する段階と、
を備えた請求項１に記載の方法。
【請求項７】
電力ゲート型ブロックに対して指定された動作を実施する複数の論理回路と、
電源スイッチの１つ以上のセグメントであって、電源スイッチをコントロールする１つ以上のイネーブル信号に応答して前記複数の論理回路のサブセットへ電力を供給するよう各々構成された電源スイッチのセグメントと、
を備え、前記電源スイッチの各セグメントは、複数の電源スイッチセルで形成され、その電源スイッチセルの各々は、電力ゲート型ブロックが形成される集積回路において、前記複数の電源スイッチセルの他の各々と同じ面積を占有し、前記電源スイッチセルの各々は、前記電源スイッチのセットにおいて隣接電源スイッチセルの相互接続配線に自動的に接続される相互接続配線を含み、前記複数の電源スイッチセルの第１の電源スイッチセルは、第１イネーブル信号によりコントロールされる１つ以上の第１トランジスタ、及び第２イネーブルによりコントロールされる１つ以上の第２トランジスタを含み、前記第１トランジスタの第１サイズは、前記第２トランジスタの第２サイズより小さく、前記複数の予め設計された電源スイッチセルの第２の電源スイッチセルは、前記第１サイズの１つ以上の第３トランジスタを含むが、その１つ以上の第３トランジスタに対する前記第１イネーブル信号への接続を除外し、前記第１イネーブル信号は、前記第２の電源スイッチセルの相互接続部において前記第２の電源スイッチセルを通してルーティングされて、前記セグメントにおける複数の電源スイッチセルの第３の電源スイッチセルの相互接続部に接続される、電力ゲート型ブロック。
【請求項８】
前記複数の電源スイッチセルは、前記第１イネーブル及び第２イネーブルのためのバッファ回路を備えた第４の電源スイッチセルを含む、請求項７に記載の電力ゲート型ブロック。
【請求項９】
前記複数の電源スイッチセルは、前記第１イネーブルをフロップに捕獲しそしてそのフロップをコントロールするクロックの後続クロックサイクルにおいて前記第１イネーブルを伝播するフロップセルを含む、請求項７に記載の電力ゲート型ブロック。
【請求項１０】
前記複数の電源スイッチセルは、その複数の電源スイッチセルを横切って第１方向に伝播する前記第１イネーブル及び第２イネーブルを受信するように結合され且つ前記第１イネーブル及び第２イネーブルを第２方向に伝播するように構成された転回セルを含む、請求項７に記載の電力ゲート型ブロック。
【請求項１１】
前記複数の電源スイッチセルは、前記第２方向に進行する前記第１イネーブル及び第２イネーブルに結合される付加的なセルを含む、請求項１０に記載の電力ゲート型ブロック。
【請求項１２】
前記複数の電源スイッチセルは、各々、その複数の電源スイッチセル各々について同一である指定量の面積を占有する、請求項７に記載の電力ゲート型ブロック。
【請求項１３】
前記複数の電源スイッチセルは、前記１つ以上のセグメント間にイネーブル信号をルーティングするよう構成された１つ以上のルーティングセルを含む、請求項７に記載の電力ゲート型ブロック。
【請求項１４】
集積回路の少なくとも１つの電力ゲート型ブロックへの電力をコントロールするように構成された電力マネージャーを備え、この電力マネージャーは、少なくとも第１イネーブル及び第２イネーブルを電力ゲート型ブロックに与えるように構成され、
前記電力ゲート型ブロックは、前記電力マネージャーから前記第１イネーブル及び第２イネーブルを受信するように結合され、更に、前記電力ゲート型ブロックは、
前記電力ゲート型ブロックに対して指定された動作を実施する複数の論理回路と、
電源スイッチの１つ以上のセグメントであって、電源スイッチをコントロールする１つ以上のイネーブル信号に応答して前記複数の論理回路のサブセットへ電力を供給するよう各々構成された電源スイッチのセグメントと、
を備え、前記電源スイッチの各セグメントは、複数の電源スイッチセルで形成され、その電源スイッチセルの各々は、電力ゲート型ブロックが形成される集積回路において、前記複数の電源スイッチセルの他の各々と同じ面積を占有し、前記電源スイッチセルの各々は、前記電源スイッチのセットにおいて隣接電源スイッチセルの相互接続配線に自動的に接続される相互接続配線を含み、前記複数の電源スイッチセルの第１の電源スイッチセルは、第１イネーブル信号によりコントロールされる１つ以上の第１トランジスタ、及び第２イネーブルによりコントロールされる１つ以上の第２トランジスタを含み、前記第１トランジスタの第１サイズは、前記第２トランジスタの第２サイズより小さく、前記複数の予め設計された電源スイッチセルの第２の電源スイッチセルは、前記第１サイズの１つ以上の第３トランジスタを含むが、その１つ以上の第３トランジスタに対する前記第１イネーブル信号への接続を除外し、前記第１イネーブル信号は、前記第２の電源スイッチセルの相互接続部において前記第２の電源スイッチセルを通してルーティングされて、前記セグメントにおける複数の電源スイッチセルの第３の電源スイッチセルの相互接続部に接続される、集積回路。
【請求項１５】
前記複数の電源スイッチセルは、前記第１イネーブルのためのバッファ回路を備えた第４の電源スイッチセルを含む、請求項１４に記載の集積回路。
【請求項１６】
前記複数の電源スイッチセルは、前記第１イネーブルをフロップに捕獲しそしてそのフロップをコントロールするクロックの後続クロックサイクルにおいて前記第１イネーブルを伝播するフロップセルを含む、請求項１４に記載の集積回路。
【請求項１７】
前記複数の電源スイッチセルは、その複数の電源スイッチセルを横切って第１方向に伝播する前記第１イネーブル及び第２イネーブルを受信するように結合され且つ前記第１イネーブル及び第２イネーブルを第２方向に伝播するように構成された転回セルを含む、請求項１４に記載の集積回路。
【請求項１８】
前記複数の電源スイッチセルは、前記第２方向に進行する前記第１イネーブル及び第２イネーブルに結合される付加的なセルを含む、請求項１７に記載の集積回路。
【請求項１９】
前記複数の電源スイッチセルは、各々、その複数の電源スイッチセル各々について同一である指定量の面積を占有する、請求項１４に記載の集積回路。
【請求項２０】
前記複数の電源スイッチセルは、前記１つ以上のセグメント間にイネーブル信号をルーティングするよう構成された１つ以上のルーティングセルを含む、請求項１４に記載の集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路の分野に関するもので、より詳細には、集積回路内の回路への電力の供給に関する。
【背景技術】
【０００２】
集積回路「チップ」に含まれるトランジスタの数が増加し続けているので、集積回路の電力管理の重要性も増し続けている。電力管理は、パーソナルデジタルアシスタント（ＰＤＡ）、セルラーホン、スマートホン、ラップトップコンピュータ、ネットトップコンピュータ、等の移動装置に含まれた集積回路にとって重要である。これらの移動装置は、多くの場合、バッテリ電力に依存し、集積回路の電力消費を下げることで、バッテリの寿命を延ばすことができる。更に、電力消費を下げることで、集積回路により発生される熱を減少し、集積回路を含む装置における冷却の必要性を減少することができる（それがバッテリの電力に依存するかどうかに関わらず）。
【０００３】
多くの場合にクロックゲートを使用して、アイドル回路へのクロックをディスエイブルし、アイドル回路の切り換えを防止するようにして、集積回路の動的な電力消費が減少される。クロックゲートは、動的な電力消費を減少するのに有効であるが、回路は、依然、電源オンされる。アイドルトランジスタの漏洩電流は、静的な電力消費を招く。高速トランジスタ（例えば、ゲートターミナルにおける入力信号変化に反応する）も、漏洩電流が大きくなる傾向があり、特に、高性能装置では、集積回路に高い合計漏洩電流をしばしば生じさせる。
【０００４】
漏洩電流の影響を打ち消すために、ある集積回路は、電力ゲートを実施している。電力ゲートでは、アイドル回路の接地経路への電力が中断されて、漏洩電流をほぼゼロに減少する。電力を中断するのに使用されるスイッチを通して、依然、僅かな量の漏洩電流が流れるが、全体としてはアイドル回路の漏洩より実質的に少ない。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
電力ゲートは、集積回路の設計に課題を提起する。ブロックが電源オン及び電源オフされるので、ブロックへの電流の変化で電力供給接続にノイズを発生させる。ノイズは、誤った動作を引き起こすことを含めて、集積回路の動作に影響を及ぼす。更に、電流の変化率は、半導体製造プロセスのプロセス変化と共に変化し、又、集積回路に供給される供給電圧の大きさ、及び集積回路の動作温度と共に変化する。これらのファクタが電流の変化率をゆっくりさせるときには、電力ゲート型ブロックをイネーブルする遅延が増加する。従って、電力ゲート型ブロックをイネーブルする遅延と電源ノイズとのバランスをとることが課題である。更に、集積回路の物理的な設計を妨げずに、設計サイクルを過ぎて、特に、設計に遅れて、電力ゲート回路に対する変更を実施することが課題である。
【課題を解決するための手段】
【０００６】
１つの実施形態において、構成可能な電源スイッチセル方法は、電源スイッチセグメントのような電源スイッチのセットを形成するようにアッセンブルされる複数の電源スイッチセルを設計することを含む。電源スイッチセルは、一実施形態では、その全部が、同じ量の集積回路面積を占有するように設計される。従って、設計プロセスに遅れても、周囲の回路の配置を妨げずに、１つのセルを別のセルと容易に置き換えることができる。又、一実施形態では、電源スイッチセルは、セル間を接続する相互接続層を含み、電源スイッチセルを当接することでセル間の相互接続部が自動的に接続される。従って、１つの電源スイッチセルを別のものと交換することは、セルを配置することで達成される。要求されるルーチンワークはない。
【０００７】
以下、添付図面を参照して、本発明を詳細に説明する。
【図面の簡単な説明】
【０００８】
【図１】集積回路の一実施形態のブロック図である。
【図２】図１に示す電力ゲート型ブロックの一実施形態のブロック図である。
【図３】電源コントロール回路の一実施形態及び図２に示す電力ゲート型ブロックの電源スイッチの一実施形態を示すブロック図である。
【図４】電源セグメントの一実施形態を詳細に示すブロック図である。
【図５】種々の電源スイッチセルの一実施形態を示すブロック図である。
【図６】電源スイッチセグメントを構成する方法の一実施形態を示すフローチャートである。
【図７】コンピュータアクセス可能な記憶媒体の一実施形態のブロック図である。
【図８】コンピュータシステムの一実施形態のブロック図である。
【発明を実施するための形態】
【０００９】
本発明は、種々の変更を受けそして別の形態でも実施できるが、その特定の実施形態を一例として添付図面に示して以下に詳細に説明する。しかしながら、添付図面及び詳細な説明は、本発明を、ここに開示する特定の形態に限定するものではなく、本発明は、特許請求の範囲に規定される本発明の精神及び範囲内に入る全ての変更、等効物及び代替え物を網羅することを理解されたい。ここに使用する見出しは、編成上の目的に過ぎず、説明の範囲を限定するためのものではない。又、本出願全体にわたって使用される「〜してもよい(may)」という語は、許すという意味（即ち、〜の潜在性があるという意味）で使用されるもので、強制の意味（即ち、〜しなければならないという意味）ではない。同様に、「含む(include)」、「含んでいる(including)」及び「含む(includes)」という語は、含むことを意味するが、それに限定されない。
【００１０】
種々のユニット、回路又は他のコンポーネントは、１つ又は複数のタスクを遂行するように「構成される」ものとして述べる。この点について、「構成される」とは、動作中に１つ又は複数のタスクを遂行する「回路を有する」ことを一般的に意味する構造を広く表現するものである。従って、ユニット／回路／コンポーネントは、そのユニット／回路／コンポーネントが現在オンでなくても、タスクを遂行するように構成することができる。一般的に、「構成される」に対応する構造を形成する回路は、ハードウェア回路、及び／又は動作を具現化するように実行できるプログラムインストラクションを記憶するメモリを含む。メモリは、スタティック又はダイナミックランダムアクセスメモリのような揮発性メモリ、及び／又は光学的又は磁気ディスク記憶装置、フラッシュメモリ、プログラマブルリードオンリメモリ、等の不揮発性メモリを含む。同様に、種々のユニット／回路／コンポーネントは、説明の便宜上、１つ又は複数のタスクを遂行するものとして説明されてもよい。そのような説明は、「構成される」という句を含むものと解釈されねばならない。１つ以上のタスクを遂行するように構成されたユニット／回路／コンポーネントを表現する場合に、そのユニット／回路／コンポーネントに関して３５Ｕ.Ｓ.Ｃ.§１１２、第６節の解釈を引用しないことが明確に意図される。
【００１１】
電源スイッチのセグメントのような電源スイッチのセットを含む規範的集積回路について説明する。各セグメントは、以下に述べる電源スイッチセルから形成される。集積回路の設計が進むにつれて、電源スイッチ構成が変化する場合には、それらセグメントが変更される。近傍の回路は、電源スイッチセグメントの変化により妨げられず、電源スイッチセグメントにおける（ブロックイネーブルのような）信号経路のルーティングは、必要とされない。というのは、以下に述べるように、セルを当接することにより接続がなされるからである。
【００１２】
集積回路及び電力ゲート型ブロックの概略
図１は、集積回路１０の一実施形態のブロック図である。集積回路１０は、電源入力（例えば、ＶＤＤ及びＶＳＳ又は各々電源及び接地）を受け取るように結合される。ＶＤＤ電圧は、使用中に接地／ＶＳＳに対して測定された特定の大きさを有する。より詳細には、ＶＤＤ電圧は、使用中に集積回路１０の異なる動作点に使用される多数の大きさを有する。集積回路１０は、集積回路１０により占有されるエリア（例えば、シリコンのような半導体基板の表面のエリア）にわたって電圧を配電するために、供給電圧ごとに、例えば、グローバル電源グリッドのような相互接続部を備えている。グローバル電源グリッドは、図１には、図１のブロック１４Ａ−１４Ｃ、１６及び１８に結合されたライン１２として示されている。しかしながら、グリッドは、以下に詳細に述べるように、物理的には若干規則的な形態で配列される。
【００１３】
集積回路１０は、ブロック１４Ａ−１４Ｃのような１つ以上の電力ゲート型回路ブロックを含む。各ブロック１４Ａ−１４Ｃは、集積回路１０の望ましい動作を具現化するように配置されたトランジスタのような回路を含み、従って、回路ブロックである（が、ここでは簡単化のために単に「ブロック」と称される）。例えば、ブロック１４Ａ−１４Ｃは、プロセッサ又はその一部分（例えば、プロセッサ内の実行ユニット）；インターフェイス回路；グラフィック処理回路のような周辺回路；ユーザインターフェイス回路；オーディオ及び／又はビデオ処理回路のようなマルチメディア回路；等である。
【００１４】
一般的に、回路ブロックは、１つ以上の識別可能な動作を具現化する関連回路のセットを含む。関連回路は、入力に対して論理的動作を行って出力を発生するので、論理回路（１つ又は複数）と称される。所与の回路ブロック内の回路は、関連しているので、１つのユニットとして電源オン又は電源オフされる。各回路ブロックは、一般的に、集積回路の設計中にユニットとして処理される（例えば、集積回路内にユニットとして物理的に配置される）。回路ブロックは、更に、メモリ回路（例えば、種々のスタティックランダムアクセスメモリ又はＳＲＡＭ）、及び論理回路の一部分である他の記憶装置を含む。
【００１５】
電力ゲート型回路ブロック（又は単に電力ゲート型ブロック）は、ブロックイネーブル入力信号のデアサーションに応答して中断される電源電圧（ＶＤＤ又はＶＳＳ）の少なくとも１つを有する回路ブロックである。電力ゲート型ブロックは、グローバルな電源グリッド及びローカルな電源グリッドに結合された電源スイッチを含む。イネーブルがアサートされた場合には、電源スイッチは、グローバルな電源グリッドとローカルな電源グリッドを電気的に接続する。イネーブルがデアサートされた場合には、電源スイッチは、グローバルな電源グリッドとローカルな電源グリッドを電気的に分離する。グリッドを電気的に接続するとき、電源スイッチは、オンであると称され、そしてグリッドを電気的に分離するとき、電源スイッチは、オフであると称される。グローバルな電源グリッドの電圧は、電気的に接続されたときにローカルな電源グリッドに現れる。しかしながら、スイッチは、ある程度のインピーダンスを有し、従って、ローカルな電源グリッドの電圧は、グローバルな電源グリッドの電圧とは異なる。ローカルな電源電圧は、「バーチャル」（例えば、バーチャルＶＤＤ又はバーチャルＶＳＳ）と称される。
【００１６】
電力ゲート型ブロック１４Ａ−１４Ｃがイネーブルされると、電源スイッチがターンオンし、そして電流が流れて、電力ゲート型ブロック１４Ａ−１４Ｃのローカルな電源グリッドを充電（又は放電）する。あるケースでは他の回路に誤った振舞いを生じさせるに充分なノイズを発生するグローバルな電源グリッドにおける電流の変化率（ｄｉ／ｄｔ）を減少するために、電力ゲート型ブロック１４Ａ−１４Ｃは、電源スイッチのターンオンを食い違わせる。特に、ここに示す実施形態では、電力ゲート型ブロック１４Ａ−１４Ｃは、１つ以上のブロックイネーブルに加えてクロック信号（図１のＢＥ＿Ｃｌｋ）を受信する。電力ゲート型ブロック１４Ａ−１４Ｃは、ＢＥ＿Ｃｌｋの各クロックサイクルに電源スイッチの異なるサブセットをイネーブルし、従って、電源スイッチの全セットを同時にイネーブルする場合に比して、電流の変化率を減少させる。ある実施形態では、ＢＥ＿Ｃｌｋの周波数をコントロールすることにより、電流の変化率が許容レベルにコントロールされる。より詳細には、電力ゲート型ブロック１４Ａ−１４Ｃは、ＢＥ＿Ｃｌｋによりコントロールされるフロップ又は他のクロック型記憶装置の直列結合セットを含む。各フロップは、電源スイッチの各サブセットに結合され、そして電力マネージャー１８からのブロックイネーブル及びＢＥ＿Ｃｌｋに応答してサブセットにイネーブルを与える。
【００１７】
ここに示す実施形態では、電力マネージャー１８は、ＢＥ＿Ｃｌｋクロックを発生するクロックジェネレータ回路１９を備えている。クロックの周波数は、クロックジェネレータ回路１９に結合されたＢＥ＿Ｃｌｋ＿Ｆｒｅｑレジスタ１７を経てプログラムすることができる（例えば、ＩＣ１０内の又はＩＣ１０に結合されたプロセッサで実行されるソフトウェアを経て）。ある実施形態では、プログラムされる周波数は、集積回路のプロセス／電圧／温度（ＰＶＴ）条件とは独立している。例えば、電力ゲート型ブロックの１つのフロップによりイネーブルされる電源スイッチの遅延は、最も高速なＰＶＴ条件に対して決定され、そして遅延の１／２に対応する周波数がプログラム可能な周波数として選択される。他の実施形態では、レジスタ１７にプログラムされる周波数は、集積回路１０が製造されるときに入れられるプロセスパラメータの指示に基づく（例えば、パラメータは、「高速」プロセス、「典型的」プロセス又は「低速」プロセスを指示する）。又、周波数は、現在供給電圧の大きさに基づいてもよい。低い電圧は、トランジスタの低速動作を招き、ｄｉ／ｄｔの影響を、高い電圧に比して減少し、従って、要望があれば、高い周波数を許す。ある実施形態では、周波数は、動作温度に基づいてもよい。高い動作温度は、トランジスタの低速動作を招き、ｄｉ／ｄｔの影響を、低い温度に比して減少し、従って、要望があれば、高い周波数を許す。クロックジェネレータ回路１９は、任意の形式のクロックジェネレータでよい（例えば、位相固定ループ、入力クロックを受け取ってその周波数を分割するクロック分割器、クロック乗算器、等）。
【００１８】
電源スイッチのイネーブルを食い違わせるのに加えて、電源スイッチは、電源スイッチを形成するトランジスタのための２つ以上の装置サイズを含む。特に、電源スイッチは、「小型」トランジスタ及び「大型」トランジスタを含む。小型トランジスタ（例えば、小さなチャンネル巾）は、大型トランジスタ（例えば、大きなチャンネル巾）より電流容量が低いが、ゲートキャパシタンスも低く、従って、より迅速にターンオンする。ある実施形態では、小型トランジスタは、大型トランジスタよりも低いスレッシュホールド電圧で具現化されてもよい。一実施形態では、小型トランジスタが最初にイネーブルされて、ローカルな電源グリッドが充電される間に低いｄｉ／ｄｔを発生し、その後に大型トランジスタとなる。一般的に、トランジスタのサイズは、その電流容量を指す。例えば、相補的な金属酸化物半導体（ＣＭＯＳ）トランジスタは、チャンネルの巾に関してサイズを測定する。
【００１９】
電力マネージャー１８は、ブロック１４Ａ−１４Ｃ及び１６に結合され、そしてブロック１４Ａ−１４Ｃ及び１６のアクティビティを監視して、電力ゲート型ブロック１４Ａ−１４Ｃのためのブロックイネーブルを発生するように構成される。１つのブロックのアクティビティは、別のブロックがアクティブになろうとしていて電源オンされねばならないという指示子である。例えば、ブロック１４Ａ−１４Ｃ及び１６は、パイプラインの一部分である。１つのパイプライン段がアクティブである場合には、おそらく、次の段も間もなくアクティブとなる。同様に、プロセッサにおいて、フェッチ要求は、インストラクションが間もなくフェッチされてデコードされ、従って、実行ユニットが電源オンされることを指示する。電力ゲート型ブロックは、システムオンチップのコンポーネントであり、あるコンポーネントから別のコンポーネントへの通信は、ブロックを電源オンする必要があることを指示する。又、ブロックのアクティビティは、そのブロック又は別のブロックがアイドル状態になろうとしそして電源オフされることも指示する。非ゲート型ブロック１６は、電力ゲート動作のためにイネーブルもディスエイブルもされないが、そのアクティビティは、電力ゲート型ブロックがディスエイブルされたかどうか決定するのに有用である。ある実施形態では、電力ゲート動作に加えてクロックゲート動作が具現化される。このような実施形態では、電力マネージャー１８がクロックゲート動作も具現化するか、又はクロックゲート動作は、個別に具現化されてもよい。電力マネージャー１８は、図１ではブロックとして示されているが、実際には、必要に応じて分散されてもよい。
【００２０】
一般的に、電力マネージャー１８は、ブロックを電源オフするためにブロックイネーブル（１つ又は複数）をデアサートし、そしてブロックを電源オンするためにブロックイネーブル（１つ又は複数）をアサートするように構成される。ブロックイネーブル（及びここに述べる他の信号）は、ある論理的状態においてアサートされ、そして他の論理的状態においてデアサートされる。例えば、信号は、低い論理的状態（バイナリ０）においてアサートされ、そして高い論理的状態（バイナリ１）においてデアサートされる。或いは又、信号は、低い論理的状態においてデアサートされ、そして高い論理的状態においてアサートされてもよい。異なる信号が異なるアサート／デアサート定義を有してもよい。ある環境では、更なる明瞭化のために、信号は、低でアサートと称されてもよいし、或いは又高でアサートと称されてもよい。電力ゲート型ブロック当たり１つ以上のブロックイネーブルがあってもよい。例えば、電源スイッチのサイズごとにブロックイネーブルがあってもよい（例えば、小型イネーブル及び大型イネーブル）。或いは又、電力ゲート型ブロック当たり１つのブロックイネーブルが電力マネージャー１８により送信されてもよく、そして電力ゲート型ブロックは、小型イネーブル及び大型イネーブルをローカルで発生する（又は他の望ましいイネーブルをローカルで発生する）ように構成されてもよい。
【００２１】
種々の実施形態において、供給電圧が尽きる前に電力ゲート型ブロック１４Ａ−１４Ｃがそのブロックイネーブルをデアサートした後に時間周期が経過し、そして電力ゲート型ブロックが安定して使用準備ができたとみなされる前にイネーブルがアサートされた後に時間周期がある。電力マネージャー１８は、ブロックイネーブルがデアサートされるかどうか決定するとき、及びブロックの次の電源オンに対してブロックイネーブルをいつ再アサートすべきか決定する上で、これらの時間を考慮するように構成される。
【００２２】
電源スイッチによって与えられるローカル及びグローバルな電源グリッドの電気的分離は、一般的に、それらグリッド間にアクティブな電流がないことを指す。電源スイッチそれ自体に漏洩電流があり、従って、ある程度の漏洩電流が流れる。同様に、ローカル及びグローバルな電源グリッドの電気的接続は、グローバルなグリッドからローカルなグリッドへ電圧を与えるためのグリッド間のアクティブな電流を指す。別の見方をすれば、電気的に接続されたグリッドは、それらの間に非常に低インピーダンスの経路を有し、一方、電気的に分離されたグリッドは、非常に高インピーダンスの経路を有する。更に別の見方をすれば、電気的に接続されたグリッドは、一方のグリッドから他方のグリッドへアクティブに電圧を通過させ、電気的に分離されたグリッドは、電圧の通過を防止する。
【００２３】
ローカル及びグローバルな電源グリッドは、一般的に、集積回路１０の種々のエリアにわたって電源電圧を配電する。グローバルな電源グリッドは、集積回路１０の全エリアにわたって電圧を配電し、一方、ローカルな電源グリッドは、電力ゲート型ブロック内で電源電圧を配電する。非ゲート型ブロックもローカルな電源グリッドを備えているが、電源スイッチを含まないので、ローカルな電源グリッドは、本質的に、グローバルな電源グリッドの一部分である。一般的に、電源グリッドは、任意の構成を有する。例えば、一実施形態では、所与のブロックは、ある物理的な位置における基礎的回路への電源接続を有する（例えば、エリアにわたる規則的な間隔のチャンネル）。電源グリッドは、これら規則的間隔のチャンネル上に延びる配線を含む。又、インピーダンスを減少すると共に局所的な電流「ホットスポット」へ電流を供給するために配線に直交して延びるワイヤもある。他のグリッドは、任意の種類の配電相互接続部を含み、及び／又はグリッドに不規則性があり、又は相互接続部が本質的に金属の平面である。一実施形態において、グローバルな電源グリッドは、最上位の金属層（配線層）、即ち半導体基板の表面から最も遠い層、の１つ以上に設けられる。ローカルな電源グリッドは、下位金属層に含まれる。電源グリッド間の接続は、半導体基板の表面において電源スイッチに対してなされる。金属は、集積回路１０の製造に使用される半導体製造プロセスにおいて相互接続に使用される導電性金属である。例えば、金属は、銅、アルミニウム、タングステン、その組み合わせ（例えば、アルミニウム又は銅の配線層及びタングステンのビア）、その合金、等である。
【００２４】
電源電圧（ＶＤＤ及びＶＳＳ）は、一般的に、外部から集積回路へ供給され、そして一般的に、使用中は比較的静的であることが意図される。供給電圧の大きさは、使用中に（例えば、電力管理のために）意図的に変化されてもよいが、動的に変化する信号を解釈する形態で大きさの変化が受信回路により解釈されるように意図されてはいない。同様に、動作中に電源電圧のローカル変化が生じるが（ＶＤＤの降下又はＶＳＳの反発のような）、それらの変化は、一般的に、望ましからぬ過渡的現象である。電源電圧は、回路が評価するときの電流のソース及びシンクとして働く。
【００２５】
上述したように、電力ゲート型ブロック１４Ａ−１４Ｃは、例えば、インアクティブであるときに、電力ゲート作動させて、集積回路の電力消費を減少させる。従って、電力ゲート型ブロック１４Ａ−１４Ｃは、各々、１つ又は複数のイネーブル信号（図１のブロックイネーブル）を受信するように結合される。各ブロックのブロックイネーブル信号は、そのブロックに対して個別の独特の信号であり、電力ゲート型ブロック１４Ａ−１４Ｃが個々にイネーブルされたりされなかったりする。あるケースでは、１つ以上の電力ゲート型ブロックがイネーブルを共有してもよい。共有されたブロックイネーブルは、物理的に同じ信号であるか又は論理的に同じ信号である（即ち、信号は、物理的に個別であるが、論理的に同様に作用する）。又、集積回路１０は、非ゲート型ブロック１６のような１つ以上の非ゲート型回路ブロックを含んでもよい。非ゲート型ブロックは、電源スイッチをもたずに電源グリッド１２に結合され、従って、集積回路１０が電源オンされるときに電源オンされる。非ゲート型ブロックとは、ほとんど又は全ての時間中にアクティブであって、例えば、著しい電力節約を生じさせるために電源スイッチを含ませてそれを電力ゲート作動させるよう試みることが予想されないブロックである。
【００２６】
図１には、１つの非ゲート型ブロック及び３つの電力ゲート型ブロックが示されているが、一般的に、種々の実施形態では、いかなる数の１つ以上の電力ゲート型ブロック及び非ゲート型ブロックがあってもよい。同様に、集積回路１０には２つ以上の電力マネージャー１８があってもよい（例えば、電力ゲート型ブロックの種々の非重畳サブセットをイネーブル／ディスエイブルする）。
【００２７】
１つ以上の回路ブロックは、状態記憶装置（例えば、メモリ、フロップ、レジスタ）を含むことに注意されたい。状態を状態記憶装置（又は状態記憶装置の幾つか）に保持することが望まれる。そのようなケースでは、グローバルな電源グリッドは、電源−接地経路に電源スイッチをもたずに状態記憶装置へ電力を供給する。例えば、電力ゲート型ブロックには、電源スイッチをもたない個別のローカル電源グリッドが設けられる。
【００２８】
集積回路１０には２つ以上の電源電圧が与えられる（例えば、複数の独立したＶＤＤ入力がある）ことに注意されたい。例えば、ＳＯＣでは、種々の回路ブロックに、動作中に、異なる大きさの供給電圧が供給される。
【００２９】
図２は、電力ゲート型ブロック１４Ａの一実施形態のブロック図である。他の電力ゲート型ブロック１４Ｂ−１４Ｃも同様である。図２の実施形態では、電力ゲート型ブロック１４Ａは、図示されたように、その電力ゲート型ブロック１４Ａ内の種々の物理的位置に配置された複数の電源スイッチを備えている。即ち、電力ゲート型ブロック１４Ａにより占有されるエリアにわたり電源スイッチが物理的に分散される。この実施形態では、電源スイッチは、規則的な間隔で配置されるが、他の実施形態では、規則的ではない他の分散が使用されてもよい。各位置は、複数の電源スイッチを含む（例えば、電源スイッチセグメント２０Ａは、複数の電源スイッチを含む）。１つの位置の電源スイッチは、電源スイッチ２０Ａ−２０Ｅのセグメントと称される。電力ゲート型ブロック１４Ａは、更に、電力コントロール回路２４を備えている。電力コントロール回路２４は、図２にブロックとして示されているが、ある実施形態では、電源スイッチセグメントの位置付近に物理的に分散されてもよい。電力ゲート型ブロック１４Ａのブロックイネーブル及びＢＥ＿Ｃｌｋは、電力コントロール回路２４に結合される。電力コントロール回路２４は、電源スイッチセグメント２０Ａ−２０Ｅの各々に結合されて、各セグメントに各ローカルブロックイネーブル（図２のＢＥ１−ＢＥ５）を供給する。
【００３０】
この実施形態では、電力ゲート型ブロック１４ＡのグローバルなＶＤＤグリッド１２ＡとローカルなＶＤＤグリッドとの間に電源スイッチが結合される。ローカルなＶＤＤグリッドは、図２では、電源スイッチセグメント２０Ａ−２０Ｅ間の水平線として示されている。電源スイッチセグメント２０Ａ−２０Ｅの各々の間には、論理回路２２Ａ−２２Ｄが設けられる。論理回路２２Ａ−２２Ｄは、ローカルＶＤＤグリッドにより付勢されると共に、図２には示されていないローカルＶＳＳグリッドによっても付勢される。グローバルなＶＳＳグリッド１２Ｂは、論理回路２２Ａ−２２Ｅの各々に結合されて示されているが、一般的に、グローバルなＶＳＳグリッド１２Ｂが結合されるのはローカルなＶＳＳグリッドである。図２は、電力ゲート型ブロック１４Ａの縁に電源スイッチセグメント２０Ａ及び２０Ｅを示し、電力ゲート型ブロック１４Ａの縁と電源スイッチセグメント２０Ａ及び２０Ｅとの間には回路がないが、これらの電源スイッチセグメントは、必ずしも正に縁に配置されなくてもよい。換言すれば、論理回路は、図２の電源スイッチセグメント２０Ａの左側、及び／又は図２の電源スイッチセグメント２０Ｅの右側に配置されてもよい。
【００３１】
電力コントロール回路２４は、電力マネージャー１８からのブロックイネーブル及びＢＥ＿Ｃｌｋに応答してセグメントに対するローカルブロックイネーブルＢＥ１−ＢＥ５を発生する。特に、電力コントロール回路２４は、ローカルブロックイネーブルのアサーションを食い違わせる。例えば、電力コントロール回路２４は、ＢＥ＿Ｃｌｋのクロックサイクルごとに１つのローカルブロックイネーブルをアサートする。他の実施形態では、クロックサイクル当たり２つ以上のセグメントをイネーブルするｄｉ／ｄｔ作用が設計限界より低い限り、クロックサイクル当たり２つ以上のローカルブロックイネーブルがアサートされる。更に、ある実施形態では、セグメント当たり２つ以上のローカルクロックイネーブルがあり、そして所与のセグメントに対するローカルブロックイネーブルが食い違わされる。電力ゲート型ブロックにおけるセグメント及びローカルブロックイネーブルの数は変化してもよく、図２に示すものより多くても少なくてもよい。
【００３２】
電源スイッチは、一般的に、アサートされたイネーブル信号に応答してグローバルな電源グリッドにローカルな電源グリッドを電気的に接続すると共に、デアサートされたイネーブル信号に応答してグローバルな電源グリッドからローカルな電源グリッドを電気的に分離する回路を含む。例えば、各電源スイッチは、ＶＤＤ電源グリッドにおける電源スイッチを具現化する実施形態についてはＰ型金属酸化物半導体（ＰＭＯＳ）トランジスタである。ＰＭＯＳトランジスタのゲートは、（おそらくバッファされた）ローカルブロックイネーブル信号（図２のＢＥ１−ＢＥ５）を受信するよう結合され、そのソースは、グローバルＶＤＤグリッド１２Ａに結合され、そしてそのドレインは、１つ以上のローカルＶＤＤグリッドラインに結合される。従って、ブロックイネーブル信号は、この例では低でアサートされて、ＰＭＯＳトランジスタをオンにし、そしてグローバルなＶＤＤグリッド１２ＡからローカルなＶＤＤグリッドラインへアクティブに電流を導通する。ＶＳＳグリッドにおいて電源スイッチを具現化する実施形態も同様であるが、そのような実施形態では、トランジスタがＮ型ＭＯＳ（ＮＭＯＳ）トランジスタであり、そしてブロックイネーブルは、高でアサート／低でデアサートである。
【００３３】
図３は、電力コントロール回路２４の一実施形態を詳細に示すブロック図である。ここに示す実施形態では、電力コントロール回路２４は、クロック型記憶装置３０Ａ−３０Ｅのセットを備えている。クロック型記憶装置とは、クロック信号に応答して入力データを捕獲しそしてそのデータを、次のデータ捕獲まで、安定状態に記憶するように構成された装置である。クロック型記憶装置は、フロップ、レジスタ、ラッチ、等を含む。この説明の残り部分に対し一例としてフロップを使用するが、一般的に、他の実施形態では、いかなるクロック型記憶装置が使用されてもよい。
【００３４】
フロップ３０Ａ−３０Ｅは、互いに直列に接続される。即ち、各フロップ３０Ａ−３０Ｅの出力は、別のフロップ３０Ａ−３０Ｅへ入力として接続される。タイミングをとるために、各フロップ３０Ａ−３０Ｅの出力は、バッファに入れられ、そしてバッファの出力が直列接続における次のフロップ３０Ａ−３０Ｅへの入力となる。一般的に、フロップ３０Ａ−３０Ｅの１つからフロップ３０Ａ−３０Ｅの別の１つへ論理的に等価な信号出力を与える接続は、フロップ３０Ａ−３０Ｅの直列接続である。より詳細には、ここに示す実施形態では、フロップ３０Ａは、電力マネージャー１８からブロックイネーブルを受信するように結合され、フロップ３０Ｂは、フロップ３０Ａの出力を受け取るように結合され、フロップ３０Ｃは、フロップ３０Ｂの出力を受け取るように結合され、フロップ３０Ｄは、フロップ３０Ｃの出力を受け取るように結合され、フロップ３０Ｅは、フロップ３０Ｄの出力を受け取るように結合され、等々となる。フロップ３０Ａ−３０Ｅは、ＢＥ＿Ｃｌｋによりクロックされる。更に、各フロップ３０Ａ−３０Ｅの出力は、図３に示すように、ローカルブロックイネーブルＢＥ１−ＢＥ５の１つである。この場合も、ローカルブロックイネーブルを発生するために出力がバッファに入れられてもよい。
【００３５】
各電源スイッチセグメント２０Ａ−２０Ｅ内の電源スイッチの負荷及びバッファは、共に、電源スイッチセグメント２０Ａ−２０Ｅを通るブロックイネーブル信号の伝播に遅延を生じさせる。電源スイッチセグメントは、最良のケースのＰＶＴ条件における伝播遅延が、電力ゲート型ブロックを電源オンするための許容ｄｉ／ｄｔ以下のｄｉ／ｄｔを与えるように設計される。最良のケースのＰＶＴとは、一般的に、回路の応答を条件の他の組み合わせより迅速なものさせる条件を指す。即ち、最良のケースのプロセスパラメータとは、最も迅速に応答する回路を生じさせるパラメータである。最良のケースの電圧とは、集積回路１０によりサポートされる最高の大きさの供給電圧である。最良のケースの温度とは、集積回路によりサポートされる最低温度である。同様に、最悪のケースのＰＶＴ条件とは、回路を他の組み合わせよりゆっくり応答させる条件である。従って、最悪のケースのプロセスパラメータは、ゆっくりと応答する回路を生じさせる。最悪のケースの電圧とは、最低の大きさのサポート電圧であり、そして再句のケースの温度とは、最高のサポート温度である。
【００３６】
従って、電源スイッチセグメントが最良のケースのＰＶＴ条件においてｄｉ／ｄｔ制約を満足し、そしてＢＥ＿Ｃｌｋのクロック周期が少なくとも電源スイッチセグメントに対するローカルブロックイネーブル伝播遅延と同程度の長さである場合には、フロップ３０Ａ−３０Ｅを使用して電源スイッチセグメントをイネーブルすることでｄｉ／ｄｔ制約を満足する。同様に、電源セグメント当たり２つ以上のローカルブロックイネーブルが使用される場合には、所与のローカルブロックイネーブル（及びそれに関連したバッファ動作）によりコントロールされる電源スイッチのサブセットは、イネーブルがアサートされるときに経験されるｄｉ／ｄｔがｄｉ／ｄｔ制約を満足するように設計される。同じローカルブロックイネーブルを使用して２つ以上の電源スイッチセグメント２０Ａ−２０Ｅがイネーブルされる場合には、電源スイッチセグメントは、電源スイッチセグメントの組み合わせでｄｉ／ｄｔ制約を満足するように設計される。
【００３７】
一実施形態において、ＢＥ＿Ｃｌｋ周波数は、クロック周期が最良のケースの伝播遅延のほぼ２倍となるようにプログラムされる。即ち、ＢＥ＿Ｃｌｋ周波数は、最良のケースのＰＶＴ条件においてサポートできる周波数のほぼ１／２でよい。プログラムされる周波数は、ＰＶＴ条件のいかなる任意のセットに対しても使用できる（即ち、周波数は、ＰＶＴ免除である）。そのような周波数は、一実施形態では、ＰＶＴ条件にわたってｄｉ／ｄｔ制約に違反せずにＰＶＴ条件にわたって最も迅速な傾斜率(ramp rate)を与える。電力ゲート型ブロックのウェイクアップ時間は、プログラムされたクロック周期に直列のフロップの数を乗算して、１つの電源スイッチセグメントの最悪ケース遅延を加算したものとなる。
【００３８】
プログラムされた周波数は、最良ケース周波数の約１／２である。というのは、例えば、最良ケース周波数の厳密に１／２の周波数は、集積回路１０に供給されるクロックに基づき集積回路１０において発生するのに便利でないことがあるためである。例えば、発生するのに便利で且つ便利な周波数の中で最良ケース周波数の１／２に最も近い周波数が使用される。或いは又、発生するのに便利で、最良ケース周波数の１／２に最も近く、且つ最良ケース周波数の１／２未満である周波数が使用されてもよい。クロック周期の付加的な長さは、ジッタ又は他のクロック不確実性、タイミング分析の不確実性、等に対する保護帯域を与える。
【００３９】
従って、最良ケース以外のＰＶＴ条件が存在する場合には、１つの電源スイッチセグメント（又はローカルブロックイネーブル）に対する伝播遅延は、次のセグメントがそのローカルブロックイネーブルをアサートしなときに完了しないことがある。しかしながら、これらのケースでは、各セグメントのｄｉ／ｄｔは、最良ケースＰＶＴ条件で経験するものより小さくなる。従って、全体的なｄｉ／ｄｔは、ｄｉ／ｄｔ使用を依然満足する。他の実施形態では、ＢＥ＿Ｃｌｋの周波数は、集積回路１０において実際に経験されるＰＶＴ条件に基づいて調整される。
【００４０】
ある実施形態では、ローカルブロックイネーブルの接続性を保証するためにテスト回路が設けられる。例えば、各ローカルブロックイネーブルＢＥ１−ＢＥ５が伝播され、次いで、テスト回路へ返送される。テスト回路は、ＯＲゲートの列を備え、それらは、電力マネージャー１８からのブロックイネーブルを、返送されたローカルブロックイネーブルと論理ＯＲして、ブロックイネーブルグッドバー（ＢＥ＿Ｇ＿）信号を発生する。又、テスト回路は、ＡＮＤゲートの列も備え、それらは、電力マネージャー１８からのブロックイネーブルを、返送されたローカルブロックイネーブルと論理ＡＮＤして、ブロックイネーブルグッド信号（ＢＥ＿Ｇ）を発生する。ＢＥ＿Ｇ信号が、電力マネージャー１８からのブロックイネーブル上の論理１に応答して論理１である場合には、論理１が電源スイッチセグメントを通して首尾良く伝播するか、又はスタック・アット・ワン(stuck-at-one)欠陥が存在する。同様に、ＢＥ＿Ｇ＿信号が、電力マネージャー１８からのブロックイネーブル上の論理０に応答して論理０である場合には、論理０が電源スイッチセグメントを通して首尾良く伝播するか、又はスタック・アット・ゼロ(stuck-at-zero)欠陥が存在する。ＢＥ＿Ｇ及びＢＥ＿Ｇ＿の両信号が電力マネージャー１８からのブロックイネーブル上の対応値に対して首尾良くサンプリングされた場合には、ローカルブロックイネーブルの接続性が検証される。別の実施形態では、フロップ３０Ａ−３０Ｅがスキャン可能なフロップである。各フロップのスキャンインは、各スイッチセグメントから返送路へ結合され、そしてフロップをスキャンして、接続性の問題を検出する。
【００４１】
ここに示す実施形態は、フロップ３０Ａ−３０Ｅの直列接続セットを使用して、電力ゲート型ブロック内のブロックイネーブルを食い違わせるが、他の実施形態では、他の構成が使用されてもよい。例えば、電源スイッチセグメントからの返送ローカルブロックイネーブルは、次のフロップ３０Ａ−３０Ｅの入力に結合される（例えば、図３においてテスト回路３２のＡＮＤ及びＯＲゲートへの入力として結合された電源スイッチセグメント２０Ａからの返送ＢＥ１は、フロック３０の入力に結合され、電源スイッチセグメント２０Ｂからの返送ＢＥ２は、フロップ３０Ｃの入力に結合され、等々である）。
【００４２】
電源スイッチセグメントの標準セル方法
ブロック１４Ａのような電力ゲート型ブロックの設計が進行するにつれて、所与の電源スイッチセグメント２０Ａ−２０Ｅにおける電源スイッチの構成が変化し得る。集積回路１０の設計サイクルにわたる変化をサポートするため、予め設計された電源スイッチセルのセット設けて、電源スイッチセグメント２０Ａ−２０Ｅを形成する。一実施形態では、電源スイッチセルは、全て、集積回路１０において同じ量の面積を占有し、従って、セグメント２０Ａ−２０Ｅにより占有される面積を妨げることなく、１つの電源スイッチを別の電源スイッチと交換することができる。従って、電力ゲート型ブロックの全体的な物理的設計には影響がない（例えば、論理回路２２Ａ−２２Ｄの位置を変更する必要がなく、論理回路間の配線を変更する必要がなく、等々）。
【００４３】
更に、一実施形態では、電源スイッチセルは、（回路を含まない幾つかのルーティングセルを除いて）セルに含まれる回路を備えるだけでなく、電源スイッチにより使用されるブロックイネーブル信号に対する相互接続層も備えている。相互接続層は、集積回路のいわゆる「金属」層の一部分である。論理回路２２Ａ−２２Ｄに使用される標準セルのような典型的な標準セルでは、相互接続層の下に形成されたローカル相互接続部（例えば、ポリシリコン相互接続部）と、他のセルから入力信号を与えそして他のセルへ出力信号を搬送するために相互接続層を接続できるポートとをセルが備えている。しかしながら、セル間の相互接続は、設計プロセスのルーティングステップにおいて、セルが配置された後に追加される。電源スイッチセルでは、ブロックイネーブル信号のルートが前もって分かる。各セルは、同じ空間的位置に相互接続部を含み、セルを当接する（又はセルを互いに隣接して配置する）ことで、各セルに含まれた相互接続部を自動的に接続する。即ち、相互接続部は、縁に沿った固定位置においてセルの縁まで完全に延び、当接するセルの相互接続部が接触して導電性経路を形成する。従って、電源スイッチセルをアッセンブルして、セグメントを形成することにより、セグメントを通るブロックイネーブル信号の信号経路が自動的に形成される。電源スイッチセル間ではルーティングステップは要求されない。
【００４４】
一般的に、電源スイッチセルは、電源セグメントの一部を形成するのに使用される回路及び／又は相互接続部を含む。電源スイッチセルは、次のものの１つ以上を含む。即ち、スイッチセル（ブロックイネーブル相互接続部と共に１つ以上の電源スイッチを含む）、スキップセル（以下に詳細に述べる）、バッファセル（ブロックイネーブル信号をバッファするためのバッファ回路を含む）、一方向に進行するブロックイネーブルを異なる方向にルーティングするための転回セル、ＢＥ＿Ｃｌｋに基づいてブロックイネーブルを捕獲して伝播するように構成された１つ以上のフロップを含むフロップセル、並びに回路は含まずに相互接続部を含んでいてクロックイネーブルの信号経路を形成する種々のルーティングセル。信号経路は、ある物理的位置から別の物理的位置へ信号を搬送する相互接続部を含むものである。信号経路は、１つ以上の電源スイッチセル内に相互接続部を含む。相互接続部は、信号（電圧及び電流）を搬送する導電性材料を含む。
【００４５】
図４は、電源スイッチセルで形成された電源スイッチセグメント２０Ａの一実施形態のブロック図である。他の電源スイッチセグメント２０Ｂ−２０Ｅも同様であるが、電源スイッチセルの構成は、所与の電力ゲート型ブロック及び／又は異なる電力ゲート型ブロック内のセグメントごとに変化する。
【００４６】
ここに示す実施形態では、電源スイッチセルの３つの列が示されている。電源スイッチセルは、フロップセル４０Ａ、バッファセル４０Ｂ、スキップセル４０Ｃ、スイッチセル４０Ｄ、転回セル４０Ｅ、ルートセル４０Ｆ、及び返送セル４０Ｇを含む。各セルの相互接続部が図４に示されている。相互接続部のドット（例えば、参照番号４２）は、セル内の回路を相互接続部に接続するポートを指示する。セル４０Ａ−４０Ｇを当接することにより、相互接続部は、ブロックイネーブルのための信号経路を形成する。例えば、小さなブロックイネーブル（図４のＢＥ＿Ｓｍａｌｌ）は、フロップセル４０Ａにより受け取られ、そしてフロップセル４０Ａからバッファセル４０Ｂへ伝播される。バッファセル４０Ｂは、ＢＥ＿ｓｍａｌｌ信号をバッファして、そのバッファした信号を出力するためのバッファ回路を備えている。出力相互接続部は、スキップ及びスイッチセル４０Ｃ及び４０Ｄ上の相互接続部、並びに次のバッファセル４０Ｂへの入力相互接続部と共に、ＢＥ＿ｓｍａｌｌ信号のための信号経路の一部分である導体４４を形成する。同様に、導体４６及び４８は、ＢＥ＿ｓｍａｌｌ信号のための信号経路の一部分を形成し、次いで、ＢＥ＿ｓｍａｌｌ信号は、フロップセル４０Ａを通してセグメント２０Ａ内の次の列へ伝播される。他の実施形態では、第１列の頂部にある転回セル４０Ｅに代わって、ルートセル４０Ｆを使用して、ＢＥ＿ｓｍａｌｌ信号を次の列へ送信する。返送セル４０Ｇは、ＢＥ＿ｓｍａｌｌ信号をフロップセル４０Ａへ返送する（例えば、図示されていない別のフロップセル４０Ａへ接続するために）。他の実施形態では、返送セル４０Ｇが使用されず、ＢＥ＿ｓｍａｌｌ信号は、図４に示すように、左側の列から別のセグメントへルーティングされる。ＢＥ＿Ｂｉｇ信号も、同様に、セグメント２０Ａを通してルーティングされる。
【００４７】
図４のセグメント２０Ａの実施形態は、単なる例示に過ぎない。他の実施形態では、含まれる列がそれより多くても少なくてもよい。更に、他の実施形態では、任意の形状の電源スイッチセルを有してもよい。例えば、図４に示すように電源スイッチセルの右側又は左側にセルを当接することを許すルートセル又は転回セルが定義される。従って、種々の実施形態において、電源スイッチセグメントの望ましい形状がサポートされる。
【００４８】
図５は、電源スイッチセル方法の一実施形態に対する電源スイッチセルの種々の実施形態を示すブロック図である。セルに含まれる相互接続部は、図５に実線で示されている。セル内のローカル接続は、破線で示されている。
【００４９】
転回セル４０Ｅは、図４に示す対応セルの一実施形態である。転回セル４０Ｅは、図４において上方に進行する信号を受信するための相互接続部を含み、そして図４に示すように信号の進行方向を下方へ変えながら一対のインバータを通して信号をバッファする。転回セル４０Ｅは、ＢＥ＿ｓｍａｌｌ及びＢＥ＿Ｂｉｇの両信号を転回する。又、図４には、別の転回セル４０Ｈも示されている。転回セル４０Ｈは、転回セル４０Ｅの逆であり、下方に進む信号を受信して、それを、バッファインバータを経て上方に進む信号へと転回する。他の実施形態は、上方又は下方に進む信号を右又は左へ転回し、及び／又は右又は左へ進行する信号を上方又は下方へ転回することもサポートする。即ち、転回セル４０Ｅ及び４０Ｈは、信号を１８０°転回し、そして９０°又は２７０°の転回もサポートされる（又は必要に応じて他の方向）。ブロックイネーブル信号の相互接続部は、上述したように、隣接セルの相互接合部に接触するように下縁（転回セル４０Ｅ）又は上縁（転回セル４０Ｈ）へと延びる。
【００５０】
信号の進行方向（上方、下方、右方及び左方）は、図中のセルの描写に対するもので、説明上使用されるものに過ぎないことに注意されたい。信号は、一般的に、集積回路１０が形成される半導体基板の表面に平行な平面内を、又は層間のビアにおいてその平面に垂直に、進行する。
【００５１】
スイッチセル４０Ｄも示されており、１つ以上の小型スイッチ５０及び１つ以上の大型スイッチ５２を備えている。小型スイッチ５０のゲート端子は、上方に進行するＢＥ＿Ｓｍａｌｌ信号を受信するように結合され（ポート５４）、そして大型スイッチ５２のゲート端子は、ＢＥ＿Ｂｉｇ信号に結合される（ポート５６）。スイッチ５０及び５２の各々は、ソースがグローバルなＶＤＤグリッドに結合され、そしてドレインがローカルなＶＤＤグリッドに結合される（図５には示さず）。図示されたように、各スイッチは、この例では、ＰＭＯＳトランジスタである。例えば、スイッチ５０は、１つ以上の小型ＰＭＯＳトランジスタ（短いチャンネル巾）であり、そしてスイッチ５２は、１つ以上の大型ＰＭＯＳトランジスタ（広いチャンネル巾）である。従って、スイッチ５０及び５２は、対応するブロックイネーブル信号の低アサーションによりアクチベート（ターンオン）される。別のスイッチセル４０Ｉも示されている。スイッチセル４０Ｉは、下方に進行するＢＥ＿Ｓｍａｌｌ信号及びＢＥ＿Ｂｉｇ信号（各々ポート５８及び６０）を受信するように結合される。他の実施形態は、１つの上方に進行する信号及び１つの下方に進行する信号に結合する組み合わせを具現化する。各々のケースにおいて、上方に進行する信号及び下方に進行する信号の両方に対する相互接続部がスイッチセル４０Ｄ及び４０Ｉに設けられる。相互接続部は、図示されたように、セルの上縁及び下縁へと延びて、隣接セルの相互接続部に接触する。従って、スイッチセル４０Ｄ及び４０Ｉの相互接続部は、上方及び下方に進行する信号がセルを通過するようにさせる。
【００５２】
バッファセル４０Ｂが図５に示されており、上方に進行する信号のためのバッファ回路を備えている。別のバッファセル４０Ｊは、下方に進行する信号のためのバッファ回路を備えている。非バッファ信号は、相互接続部を通過するようにして与えられる。スイッチセル４０Ｄ及び４０Ｉと同様に、相互接続部は、バッファセル４０Ｂ及び４０Ｊの縁まで延びて、隣接セルの相互接続部に接触される。ある実施形態では、上方の進行方向及び下方の進行方法の両方において信号をバッファするバッファセルも具現化される。
【００５３】
スキップセル４０Ｃは、小型電源スイッチ５０及び大型電源スイッチ５２の両方が上方に進行するＢＥ＿Ｂｉｇ信号を受信する（各々ポート６２及び６４）ように結合されて示されている。同様に、スキップセル４０Ｋは、下方に進行するＢＥ＿Ｂｉｇ信号を受信する（各々ポート６６及び６８）ように結合された小型電源スイッチ５０及び大型電源スイッチ５２の両方を備えている。他の実施形態では、スイッチ５０及び５２の一方を、上方に進行するＢＥ＿Ｂｉｇ信号に結合し、そしてその他方を、下方に進行するＢＥ＿Ｂｉｇ信号に結合する。ここでも、スイッチセル４０Ｄ及び４０Ｉと同様に、スキップセル４０Ｃ及び４０Ｋの相互接続部がセルの上縁及び下縁まで延びて、当接セルに接触する。
【００５４】
スキップセルは、セルの小型電源スイッチをＢＥ＿ｓｍａｌｌ信号に結合せず、ＢＥ＿ｓｍａｌｌ信号のアサーションに応答してターンオンされる小型電源スイッチの数を減少する。スイッチセルに代わってスキップセルを使用することで、電力ゲート型ブロックの電源オン時に早期にアクチベートされるトランジスタの数を減少し、従って、電源のｄｉ／ｄｔノイズを減少する。従って、電源オンが生じる速度及びそれに対応するｄｉ／ｄｔノイズ、並びに電源の他の特性は、スキップセルに比して異なる数のスイッチセルを選択することにより調整される。
【００５５】
他の実施形態では、スキップセルは、小型スイッチ５０を含まない。更に別の実施形態（例えば、１つのサイズの電源スイッチのみを具現化する実施形態）では、スキップセルは、回路を含まないルーティングセルである。
【００５６】
フロップセル４０Ａは、ＢＥ＿Ｃｌｋ信号に応答してＢＥ＿Ｓｍａｌｌ及びＢＥ＿Ｂｉｇブロックイネーブルを各々捕獲するためのフロップ７０及び７２を備えている。他の実施形態は、より多くの又はより少ないブロックイネーブル、及びそれに対応するより多くの又はより少ないフロップを具現化する。フロップ７０の出力は、セルから上方に進行するＢＥ＿Ｓｍａｌｌ信号のためのポートに結合され、フロップ７２の出力は、セルから上方に進行するＢＥ＿Ｂｉｇ信号のためのポートに結合される。フロップ７０及び７２は、共に、図３に示すフロップ３０Ａ−３０Ｅの１つを具現化する。下方に進行する返送ＢＥ＿Ｓｍａｌｌ及びＢＥ＿Ｂｉｇ信号（並びにセルの右側から到着する返送信号）のための相互接続部は、基礎的なフロップを妨げないために図５には示されていないが、図４に示すように設けられる。フロップセル４０Ａの相互接続部は、セルの左、右及び上縁まで延びて、当接セルへの相互接続部に接触すると共に、セル４０へのＢＥ＿Ｂｉｇ、ＢＥ＿Ｓｍａｌｌ及びＢＥ＿Ｃｌｋ信号入力に接触する。入力信号は、通常のルーティング技術を使用してフロップセル４０Ａを含むセグメントへルーティングされる。
【００５７】
ルートセル４０Ｆ及び返送セル４０Ｇは、ここに示す実施形態では、相互接続部のみを含む。一実施形態では、全ての相互接続部が金属層に含まれるが、図５では幾つかの相互接続部が破線形態で示されている。付加的な融通性を許すため、ある実施形態では、種々の付加的なルート／返送セルが定義されてもよい。上述した他のセルのように、相互接続部は、セル４０Ｆ及び４０Ｇの縁まで延びて、他のセルと接触をなす。
【００５８】
図５に示す電源スイッチセルのセットは、１つの実施形態であり、他の実施形態は、図示されたセルのサブセット、並びに付加的なセルを伴うサブセット又はスパーセットを含めて、電源スイッチセルの他のセットを具現化できることに注意されたい。例えば、一実施形態は、スイッチセル４０Ｄ、バッファセル４０Ｂ、及びスキップセル４０Ｃを含み、そしてバッファイネーブル信号は一方向性である。そのような実施形態では、ブロックイネーブル信号を逆方向に流す信号経路の相互接続部を含ませる必要はない。別の実施形態は、スイッチセル４０Ｄ及び４０Ｉ、バッファセル４０Ｂ及び４０Ｊ、スキップセル４０Ｃ及び４０Ｋ、並びに転回セル４０Ｅ及び４０Ｈを含み、そして両方向性のブロックイネーブル信号を含む。別の実施形態は、セグメントに対するブロックイネーブルを食い違わせるためにセル４０Ｂ−４０Ｅ及び４０Ｈ−４０Ｋ、並びにフロップセル４０Ａを含む。更に別の実施形態は、上述した一方向性のケースにおいてフロップセル４０Ａを具現化する。
【００５９】
上述したように、電源スイッチセルのセットは、全てが集積回路１０の同じ面積を占有するように設計される。即ち、各電源セルの長さ及び巾は、そのセット内の他の各電源セルの長さ及び巾に等しい。面積（長さ／巾）は、公称設計に関して等しいが、製造上のバラツキがあると、集積回路の特定のインスタンスに構築されるセルの実際のサイズに僅かな変動を招く。
【００６０】
図６は、図５に示す電源スイッチセルを使用する電源スイッチセグメントのための方法の一実施形態を示すフローチャートである。理解を容易にするために図６ではブロックが特定の順序で示されているが、他の順序が使用されてもよい。ある実施形態では、図６のフローチャートの一部分又は全部がソフトウェア（例えば、電源スイッチコンパイラー）で具現化されてもよい。
【００６１】
一実施形態では、電源スイッチコンパイラーは、ユーザ（電力ゲート型ブロックの設計者）により与えられた構成パラメータのセットに基づいて電源スイッチセグメントのための電源スイッチセル構成を発生する。構成パラメータは、種々の実施形態において任意の形態をとり、種々の仕方で指定することができる。例えば、構成パラメータは、電源スイッチコンパイラーへの構成ファイル入力で与えられる。構成パラメータは、電源スイッチコンパイラーが呼び出されるときにコマンドラインアーギュメントとして、又はプログラムへのグラフィックユーザインターフェイスにおいて、手動で与えられる。一実施形態では、構成パラメータは、スイッチセル及びスキップセルの和に対するバッファセルの比、並びにスイッチセルとスキップセルとの比を指定する。バッファセルの比は、電源スイッチセグメントのファンアウトコントロールと面積との間のトレードオフである（バッファセルが大きいほど、ファンアウトは小さいが、面積は大きくなる）。スイッチ／スキップセル比は、電力ゲート型ブロックを電源オンする遅延とｄｉ／ｄｔ作用との間のトレードオフである。
【００６２】
電源スイッチコンパイラーは、構成パラメータの初期セットを受け取る（ブロック８０）。構成パラメータに基づいて、電源スイッチコンパイラーは、セグメント構成を決定する（ブロック８２）。例えば、各セグメントは、電力ゲート型ブロック内に割り当てられた量の面積を有する。その割り当てられた面積及び電源スイッチセルのサイズに基づき、セルの数及び配置が決定される。構成パラメータで指定される比に基づいて、電源スイッチコンパイラーは、セグメントに対する構成を決定する。例えば、種々の形式の電源スイッチセルの数が決定される。電源スイッチコンパイラーは、上方に進行する及び下方に進行するブロックイネーブルに望ましい形態でセルを分配する。例えば、上方に進行する信号及び下方に進行する信号に、ほぼ等しい負荷が課せられてもよい。又、電源スイッチセルの物理的配列も決定される。電源スイッチコンパイラーは、電源スイッチセルを選択し、そしてその選択された電源スイッチセルを電力ゲート型ブロックのレイアウトの指定エリア内に配置することができる（ブロック８４）。上述したように、電源スイッチセルは、その電源スイッチセル内に含まれた相互接続部に接続するように当接され、信号経路を形成する。
【００６３】
設計が進行しそして洗練化されるときに、設計者は、電源スイッチセグメントを再構成すべきであると決定する（判断ブロック８６、「イエス」岐路）。設計者は、修正された構成パラメータを電源スイッチコンパイラーに与え（ブロック８８）、このコンパイラーが修正されたセグメント構成を決定する（ブロック９０）。修正された構成を決定することは、初期構成を決定することと同様である（ブロック８２）。電源スイッチコンパイラーは、電源スイッチセルを選択し、そして（以前の構成に比して）レイアウトにおける電源スイッチセルを交換して、修正された電源スイッチセグメントを形成する（ブロック９２）。或いは又、電源スイッチコンパイラーは、選択された電源スイッチセルを、以前の構成に代わって新たなレイアウトとして単に配置するだけでよい。即ち、電源スイッチコンパイラーは、各構成に対してブロック８０、８２及び８４を繰り返す。それ以上の再構成がなく（判断ブロック８６、「ノー」岐路）そして設計が完了した（判断ブロック９４、「イエス」岐路）場合には、方法が完了となる。他方、設計がまだ完了していない場合には、付加的な繰り返しが考えられる。
【００６４】
コンピュータアクセス可能な記憶媒体及びシステム
図７は、コンピュータアクセス可能な記憶媒体２００のブロック図である。一般的に述べると、コンピュータアクセス可能な記憶媒体は、インストラクション及び／又はデータをコンピュータに与えるために使用中にコンピュータによりアクセスできる記憶媒体を含む。例えば、コンピュータアクセス可能な記憶媒体は、磁気又は光学媒体のような記憶媒体、例えば、ディスク（固定又は取り外し可能な）、テープ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ又はＢｌｕｅ−Ｒａｙを含む。更に、記憶媒体は、揮発性又は不揮発性メモリ媒体、例えば、ＲＡＭ（例えば、同期ダイナミックＲＡＭ（ＳＤＲＡＭ）、Ｒａｍｂｕｓ  ＤＲＡＭ（ＲＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、等）、ＲＯＭ、フラッシュメモリ、ユニバーサルシリアルバス（ＵＳＢ）インターフェイス、フラッシュメモリインターフェイス（ＦＭＩ）、シリアル周辺インターフェイス（ＳＰＩ）、等の周辺インターフェイスを経てアクセス可能な不揮発性メモリ（例えば、フラッシュメモリ）を含む。記憶媒体は、マイクロエレクトロメカニカルシステム（ＭＥＭＳ）、並びにネットワーク及び／又はワイヤレスリンクのような通信媒体を経てアクセス可能な記憶媒体を含む。図７のコンピュータアクセス可能な記憶媒体２００は、電源スイッチコンパイラー２０２、電源スイッチ構成パラメータファイル２０４、及び電源スイッチセル記述２０６を記憶する。電源スイッチコンパイラー２０２は、コンピュータにおいて実行されたときに、電源スイッチコンパイラーについて述べた動作を具現化するように構成されたインストラクションを含む。例えば、電源スイッチコンパイラー２０２は、実行時に、図６を参照して電源スイッチコンパイラーについて述べた動作を具現化するインストラクションを含む。電源スイッチ構成パラメータファイル２０４は、電源スイッチ構成パラメータがファイルを経て与えられるケースについて、設計者により与えられた電源スイッチ構成パラメータを記憶する。電源スイッチセル記述２０６は、電源スイッチセル４０を記述するファイルを含む（例えば、レジスタ転送レベル（ＲＴＬ）記述又は他のハードウェア記述言語（ＨＤＬ）記述、ネットリスト、概略図、及び／又は一般的データセットII（ＧＤＳII）データ記述マスクオブジェクト、等）。キャリア媒体は、コンピュータアクセス可能な記憶媒体及び送信媒体、例えば、ワイヤード又はワイヤレス送信を含む。
【００６５】
図８は、規範的コンピュータシステム２１０の一実施形態のブロック図である。図８の実施形態において、コンピュータシステム２１０は、プロセッサ２１２、メモリ２１４、及び種々の周辺装置２１６を備えている。プロセッサ２１２は、メモリ２１４及び周辺装置２１６に結合される。
【００６６】
プロセッサ２１２は、電源スイッチコンパイラー２０２のようなここに述べるソフトウェアのインストラクションを含むインストラクションを実行するように構成される。種々の実施形態において、プロセッサ２１２は、望ましインストラクションセット（例えば、インテルアーキテクチャー３２（ＩＡ−３２、これはｘ８６としても知られている）、６４ビットの拡張を伴うＩＡ−３２、ｘ８６−６４、ＰｏｗｅｒＰＣ、Ｓｐａｒｃ、ＭＩＰＳ、ＡＲＭ、ＩＡ−６４、等）を具現化する。ある実施形態では、コンピュータシステム２００は、２つ以上のプロセッサを備えてもよい。
【００６７】
プロセッサ２１２は、任意の望ましい形態でメモリ２１４及び周辺装置２１６に結合される。例えば、ある実施形態では、プロセッサ２１２は、種々の相互接続部を経てメモリ２１４及び／又は周辺装置２１６に結合される。それとは別に又はそれに加えて、１つ以上のブリッジチップを使用して、プロセッサ２１２、メモリ２１４及び周辺装置２１６を結合することができる。
【００６８】
メモリ２１４は、任意の形式のメモリシステムを含む。例えば、メモリ２１４は、ＤＲＡＭ、より詳細には、倍データレート（ＤＤＲ）ＳＤＲＡＭ、ＲＤＲＡＭ、等を含む。メモリ２１４にインターフェイスするためにメモリコントローラが含まれ、及び／又はプロセッサ２１２がメモリコントローラを含む。メモリ２１４は、使用中にプロセッサ２１２により実行されるべきインストラクション、使用中にプロセッサ２１２により作用されるデータ、等を記憶する。
【００６９】
周辺装置２１６は、コンピュータシステム２１０に含まれるか又はそれに結合される任意の種類のハードウェア装置（例えば、コンピュータアクセス可能な記憶媒体２００を任意に含む記憶装置、他の入力／出力（Ｉ／Ｏ）装置、例えば、ビデオハードウェア、オーディオハードウェア、ユーザインターフェイス装置、ネットワークハードウェア、等）を表わす。
【００７０】
前記開示を完全に理解すると、当業者であれば、多数の変更や修正が明らかとなろう。そのような変更や修正は、全て、特許請求の範囲に包含されることが意図される。
【符号の説明】
【００７１】
１０：集積回路
１２：電源グリッド
１４Ａ−１４Ｃ：電力ゲート型ブロック
１６：非ゲート型ブロック
１７：ＢＥ＿Ｃｌｋ＿Ｆｒｅｑレジスタ
１８：電力マネージャー
１９：クロックジェネレータ
２０Ａ−２０Ｅ：電源スイッチセグメント
２２Ａ−２２Ｄ：論理回路
２４：電力コントロール回路
３０Ａ−３０Ｅ：クロック型記憶装置
２００：コンピュータアクセス可能な記憶媒体
２０２：電源スイッチコンパイラー
２０４：電源スイッチ構成パラメータ
２０６：電源スイッチセル記述
２１２：プロセッサ
２１４：メモリ
２１６：周辺装置
【図１】
0005486136.tif 000002
【図２】
0005486136.tif 000003
【図３】
0005486136.tif 000004
【図４】
0005486136.tif 000005
【図５】
0005486136.tif 000006
【図６】
0005486136.tif 000007
【図７】
0005486136.tif 000008
【図８】
0005486136.tif 000009