(57)【特許請求の範囲】
【請求項１】
イネーブル・ロジック、及び出力ロジック回路に接続しているラッチを備え、
前記ラッチは、
前記出力ロジック回路の入力ノードで、一つまたはそれ以上のシステム電源及びグランドに接続している第１の回路と、
クロック・エッジの間、前記第１の回路によって、前記出力ロジック回路入力ノードの早期電圧変化（premature voltage change）を抑制するセーフガーディング（safeguarding）回路と、
を備えるクロック・ゲーティング・セル。
【請求項２】
前記第１の回路は、
プル・ダウン回路、及び
プル・アップ回路
からなるリストから選択される項目を備える請求項１のクロック・ゲーティング・セル。
【請求項３】
前記早期電圧変化は、
充電、及び
放電
からなるリストから選択される項目を備える請求項１のクロック・ゲーティング・セル。
【請求項４】
前記セーフガーディング回路は、
クロック・エッジの間オフされる前記第１の回路、及び前記出力ロジック回路入力ノードの間のインバータ
を備える請求項１のクロック・ゲーティング・セル。
【請求項５】
前記第１の回路は、前記出力ロジック回路の入力ノードを含んでいるフィードバック・ループ内にある請求項１のクロック・ゲーティング・セル。
【請求項６】
前記フィードバック・ループは、前記出力ロジック回路の前記入力ノードの前記状態、及び前記第１の回路のデバイスの状態を制御するノードを保持するクロス結合（cross-coupled）インバータ構造を備えている請求項１のクロック・ゲーティング・セル。
【請求項７】
クロック入力信号を、前記第１の回路のトランジスタの制御端末に伝搬する一つまたはそれ以上のインバータに続く（followed）クロック入力を更に備え、
前記トランジスタの前記制御端末で、電圧は前記クロック入力信号がＶｄｄ／２のレベルに達する前に前記トランジスタをオンするロジック値に変わり、
Ｖｄｄは、前記クロック・ゲーティング・セルについてのシステム電圧である
請求項１のクロック・ゲーティング・セル。
【請求項８】
前記ラッチは、
アクティブ・ロー・ラッチ（active low latch）、及び
アクティブ・ハイ・ラッチ（active high latch）
からなるリストから選択される項目を備える請求項１のクロック・ゲーティング・セル。
【請求項９】
前記出力ロジック回路は、
ＡＮＤゲート、及び
ＯＲゲート
からなるリストから選択される項目を備える請求項１のクロック・ゲーティング・セル。
【請求項１０】
前記ＡＮＤゲートは、前記出力がインバータに与えられるＮＡＮＤゲートを含む請求項９のクロック・ゲーティング・セル。
【請求項１１】
前記ＯＲゲートは、前記出力がインバータに与えられるＮＯＲゲートを含む請求項９のクロック・ゲーティング・セル。
【請求項１２】
イネーブル制御ロジック入力、クロック入力、出力ロジック・ゲート、一つまたはそれ以上のシステム電力及びグランドに接続しており、且つ前記出力ロジック・ゲートの入力ノードの第１の回路、及び前記第１の回路に接続しているセーフガーディング回路を備えるクロック・ゲーティング・セルを演算するための方法であって、前記方法は、
前記イネーブル制御ロジックを用いる前記クロック・ゲーティング・セルを有効にすることと、
前記クロック入力に、エッジと共にクロック入力信号を加えることと、
前記クロック入力信号の前記エッジの間、前記第１の回路が、前記出力ロジック・ゲートの前記入力ノードの前記電圧レベルを早期変化（prematurely changing）できないようにするために前記セーフガーディング回路を用いることと、
を備える方法。
【請求項１３】
前記セーフガーディング回路は、前記第１の回路が、前記出力ロジック・ゲートの前記入力ノードを早期充電（prematurely charging）できないようにする請求項１２の方法。
【請求項１４】
前記セーフガーディング回路は、前記第１の回路が、前記出力ロジック・ゲートの前記入力ノードを早期放電（prematurely discharging）できないようにする請求項１２の方法。
【請求項１５】
前記クロック・ゲーティング・セルから、一つまたはそれ以上の計算回路に前記クロック信号を伝搬することを更に備える請求項１２の方法。
【請求項１６】
クロック入力信号を加えることは、前記クロック入力に、交互の（alternating）立ち上がり及び立ち下がりエッジを備えている信号を加えることを備える請求項１２の方法。
【請求項１７】
イネーブル・ロジックに接続しているラッチと、
一つまたはそれ以上のシステム電源及びグランドに接続している前記ラッチ内の第１の回路に接続している第２の入力ノードを備えている出力回路の第１の入力ノード、及び前記ラッチに接続しているクロック入力と、
前記クロック入力で受信されるクロック信号のエッジの間、前記第１の回路が、前記第２の入力ノードの電圧レベルを早期変化できないようにする前記第２の入力ノードに接続しているセーフガーディング回路と、
を備えるクロック・ゲーティング・セル。
【請求項１８】
前記セーフガーディング回路は、前記第１の回路が、前記第２の入力ノードを早期充電できないようにする請求項１７のクロック・ゲーティング・セル。
【請求項１９】
前記セーフガーディング回路は、前記第１の回路が、前記第２の入力ノードを早期放電できないようにする請求項１７のクロック・ゲーティング・セル。
【請求項２０】
前記セーフガーディング回路は、
入力が前記第２の入力ノードにあり、出力が前記第１の回路内のトランジスタの制御端末にあるように配置されたインバータ
を備えている請求項１４のクロック・ゲーティング・セル。
【請求項２１】
前記出力ロジック回路の出力は、プル・ダウンまたはプル・アップ回路と共にフィードバック・ループ内にある請求項１７のクロック・ゲーティング・セル。
【請求項２２】
前記第２の入力ノードは、インバータに、前記第１の回路内の一つまたはそれ以上のトランジスタを制御する前記インバータの出力を供給し（feed）、
前記インバータ、及び前記第１の回路は、前記クロック信号の前記エッジの間、前記第２の入力ノードの状態を保持するクロス結合インバータ構造を形成する請求項１７のクロック・ゲーティング・セル。
【請求項２３】
前記イネーブル・ロジックが、前記クロック・ゲーティング・セルを有効にする際、前記出力ロジック回路は、インバータ・クロック信号（inverted clock signal）を伝播する請求項１７のクロック・ゲーティング・セル。
【請求項２４】
前記出力ロジック回路はＮＡＮＤゲートを備え、前記クロック・ゲーティング・セルは更に、前記ＮＡＮＤゲートに続く（following）インバータを備える請求項１７のクロック・ゲーティング・セル。
【請求項２５】
前記出力ロジック回路はＮＯＲゲートを備え、前記クロック・ゲーティング・セルは更に、前記ＮＯＲゲートに続く（following）インバータを備える請求項１７のクロック・ゲーティング・セル。
【請求項２６】
前記第１の回路は、グランド及びシステム電源に接続している直列のトランジスタを備え、
前記第２の入力ノードは、前記直列のトランジスタ内に配置される請求項１７のクロック・ゲーティング・セル。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概してクロック・ゲーティング・セル（clock gating cell）に関する。より具体的には、本開示は、低速立ち上がり（slow-rising）、または低速立ち下がり（slow-falling）クロック・エッジ（clock edge）を制御する（handle）ために、改良能力（improved ability）を有するクロック・ゲーティング・セルに関する。
【背景技術】
【０００２】
図１は、従来のクロック・ゲーティング・セル（ＣＧＣ：clock gating cell）１００の図である。回路での計算（computation）を休止すること（halting）によって、動的な電力を減らすために、使用されない回路へのクロック信号の伝搬（propagation）をストップするために、ＣＧＣは、多くのアプリケーションにおいて用いられる。例えば、ＭＰ３機能、及び電話機能を備える手持ち式デバイスにおいて、ユーザーが、ＭＰ３ファイルを再生し、電話を用いてない場合、一つまたはそれ以上のＣＧＣは、電話機能がアイドル（idle）である際に用いられない（他のチップだけでなく）プロセッサの部分に、クロックが伝搬できないようにするために用いられることができる。クロックを受信しない部分は、バッテリ寿命が延長されるように、ずっと少ない電力を使用する。更に、アン・ゲート・クロック信号（un-gated clock signal）を、動的な電力使用の主要なソースにするために、アン・ゲート・クロック信号それ自身は、ハイ・アクティビティ要素（high activity factor）を有する。
【０００３】
ＣＧＣ１００は、クロック入力及びイネーブル入力（enable input）を有している。グローバル・クロック・ソース（global clock source）は、クロック入力であり、それはＣｌｋ＿ｉｎと名付けられる。ＣＧＣ１００のようなＣＧＣは、任意の数のイネーブル入力を備えることができる。例えば、それは回路のスキャン・テスティング（scan testing）の間、クロックをアクティブにするスキャン・イネーブル（ｔｅｓｔ＿ｅｎ）、クロック・イネーブル（Ｃｌｋ＿ｅｎ）を備えることができる。図１は、アクティブ・ロー・ラッチ（active low latch）１０１、２入力ＡＮＤゲート（two-input AND gate）１０２、及びイネーブル・ロジック１０３を備える典型的なＣＧＣスタンダード・セルの一般的なブロック・ダイアグラムを示している。ＣＧＣ１００の出力はゲート・クロック・パルス（gated clock pulse）であるＣｌｋである。
【０００４】
低電圧において、Ｃｌｋ＿ｉｎのエッジ・レートは極めて低下され、最終的にＣＧＣ１００における機能的な失敗（functional failure）を引き起こす可能性がある。図２は、ＣＧＣ１００のデザインに基づいて構成されたＣＧＣ１５０の、より詳細な視点の図であり、図３は、いくつかの動作の間の、ＣＧＣ１５０のキー・ノード（key nodes）のタイミング・ダイアグラムを示している。図３は、アクティブ・ロー・ラッチ１０１が、それに限定されないが、インバータ・チェイン（inverter chain）（すなわちインバータ１０７、及び１０８）及びプル・ダウン・スタック（pull-down stack）（すなわち、ＮＭＯＳトランジスタ１０４、及び１０６）を備えるということを示している。アクティブ・ロー・ラッチ１０１が（ｔｅｓｔ＿ｅｎ、またはＣｌｋ＿ｅｎ信号から）有効にされた場合、最初にｐｎ１ノードは、ラッチ１０１のトランスペアレント・フェーズ（transparent phase）の間、ロジック１にセットされる。この状況に基づいて、ＣＧＣ１５０は、入力Ｃｌｋ＿ｉｎ信号を出力Ｃｌｋにパスする。最初にＣｌｋ＿ｉｎはロジック０であり、そのためｐｎ２ノードは、ロジック１である。低速立ち上がり（slow rising）入力Ｃｌｋ＿ｉｎ信号について、Ｖｄｄ／２（Ｖｄｄはシステム電力である）の半分に達するまでに、内部でバッファされたＣｌｋ＿ｎｅｔノードの電圧は、早く立ち上がることができ、それによって、ｐｎ１ノードのプル・ダウン（pull-down）ＮＦＥＴ１０４（図２）はオンされる。これは望ましくない。入力Ｃｌｋ＿ｉｎ信号が出力に伝搬され、フィードバック・プル・ダウンＮＦＥＴ１０５をシャット・オフする（shut off）まで、それは、ｐｎ１ノードについての放電パス（discharging path）を供給し、競合条件（race condition）を作る。図３に示すように、ｐｎ１ノード電圧は、ロジック１に戻される前にすぐに（momentarily）ドロップする（drop）可能性がある。ｐｎ１ノードの電圧におけるドロップは、チップの低電圧動作において、機能的な失敗を引き起こす。
【０００５】
ＣＧＣは、アクティブ・ロー・ラッチを用いることに限定されない。例えば、図４は、出力でＯＲゲート及びアクティブ・ハイ・ラッチを使用する従来のＣＧＣ４００の図である。原則的に、ＣＧＣ４００は、２つのＣＧＣ１００である。ｐｎ１ノードの早期充電（premature charging）が生じる（図１のＣＧＣ１００の早期放電（premature discharging）問題に対向するような）場合、図４００のＣＧＣ２００に基づいて、アクティブ・ハイ・ラッチのより低速なＣｌｋ＿ｉｎ変化の間、潜在的な機能的失敗（potential functional failures）を引き起こすことがある。
【０００６】
上述した機能的失敗を防ぐために、従来技術の解決法は、より低速な製造部品のロット、または低電圧動作の間、良いエッジ・レートを保持するためにクロック・ツリーをオーバー・デザイニングすること（over-designing the clock tree）を含んでいる。しかしながら、クロック・ツリーをオーバー・デザイニングすることは、より短いバッテリ寿命、及びより動的な電力消費の点においてかなりの犠牲になる。他の解決方法は、入力クロック信号を出力ノードに早く伝搬するために、ＣＧＣの出力ロジックを拡大する（upsize）ことである。このアプローチは、汎用目的クロック・ゲーティング（general purpose clock gating）についての業界において、慣用的に追随される。しかし、それは、出力ロジックの必要とされた領域を増加し、増加された領域に起因するより動的な電力消費の点においてかなりの犠牲になる。さらに、そのような出力ロジックの拡大はまた、イネーブル・ロジックのセットアップ時間を増加する。それは、例えばプロセッサ及びＤＳＰコアのような任意のハイ・パフォーマンス・システムについて典型的に重要な制約である。
【発明の概要】
【０００７】
本発明の種々の実施形態は、セーフガーディング回路（safeguarding circuitry）を、出力ロジック・ゲートの入力ノード（例えば図１及び２のｐｎ１）が早期に放電しないような従来のＣＧＣアーキテクチャに加える。一つの実施形態例において、追加のトランジスタは、出力ロジック・ゲートの入力ノード及びグランドの間に配置される。イネーブル回路と接続されているインバータは、追加のトランジスタのゲートに配置されている。ＣＧＣは、有効にされ、立ち上がりクロック・エッジを受信している場合、出力ロジック・ゲートの入力ノードは、放電されない。そのような配置は、ＣＧＣの演算モードの失敗を防止することができる。
【０００８】
他の例において、従来のＣＧＣアーキテクチャのフィードバック・ループは、ＮＡＮＤゲートの出力を含まない、というよりもむしろ、ＮＡＮＤゲートの入力ノードから引き出されるインバータ信号（inverted signal）を含むように変形される。追加のトランジスタは、同様にフィードバック・ループに加えられる。新しいフィードバック配置は、低速立ち上がりエッジの間、ＮＡＮＤゲートの入力ノードを放電させない。更に他の例において、実施形態は、セーフガーディング回路を、同様に入力ノード（例えば、図４のｐｎ１）の早期充電（premature charging）を防止するために、アクティブ・ハイ・ラッチ（active high latch）に基づいてＣＧＣに加える。
【０００９】
種々の実施形態は、より低い電圧の演算においても、機能的失敗の範囲を減少、または排除する。いくつかの実施形態はまた、さもなければ他の隣接回路において失敗を誘発するかもしれない内部ノードの大量のノイズを抑制する。いくつかの実施形態の他の利点は、改善されたタイミングと同様に、実質的な電力抑制を含む。その結果、いくつかの実施形態は、より高いグローバル周波数で動作することができ、及び／または、所定のＣＧＣがより大きい負荷を駆動することを許可する。
【００１０】
前述は、後述の詳細な記載がより良く理解され得るために、どちらかというと、本発明の特徴及び技術的な利点を大雑把に説明した。追加の特徴及び利点は、本発明の特許請求の範囲の主題を形成する後述に記載されている。開示された概念、及び特定の実施形態は、本発明のいくつかの目的を実行するために、他の構成の変形または設計の基礎として、すぐに利用され得るということは当業者に正しく理解されるべきである。添付した特許請求の範囲に示すように、そのような同等な構成は、本発明の技術から外れないということはまた、当業者に正しく理解されるべきである。構成や動作の方法の両方において、発明の特性とされている新規特性、そして更なる効果や利点(advantages)は、次の記載、そして添付されている図面により、よく理解できる。しかしながら、各々の図面は唯一の記載及び図示の目的のために提供され、そして本発明の限定の定義として意図されないということが明白に理解される。
【図面の簡単な説明】
【００１１】
本発明のより完璧な理解のために、添付の図面と併用される下記の記載を参照する。
【図１】図１は、従来のクロック・ゲーティング・セルの図である。
【図２】図２は、図１のＣＧＣのより詳細な視点の図である。
【図３】図３は、動作の特定のモードの間の図１のＣＧＣのキー・ノードのシミュレート・タイミング・ダイアグラム（simulated timing diagram）を図示する。
【図４】図４は、出力においてＯＲゲート、及びアクティブ・ハイ・ラッチを用いる従来のＣＧＣの図である。
【図５】図５は、本発明の実施形態が有利に用いられ得る例示的なワイヤレス通信システムを示すブロック・ダイアグラムである。
【図６】図６は、本発明の一実施形態に従って適応された例示的なＣＧＣの図である。
【図７】図７は、図６のＣＧＣについてのシミュレート・タイミング・ダイアグラムであり、それは、キー・ノード内の電圧を示している。
【図８】図８は、本発明の一実施形態に従って適応された例示的なＣＧＣの図である。
【図９】図９は、いくつかの動作の間の、図１のＣＧＣの、キー・ノードのシミュレート・タイミング・ダイアグラムを示している。
【図１０】図１０は、本発明の一実施形態に従って適応された例示的なＣＧＣの図である。
【図１１】図１１は、本発明の一実施形態に従って適応された例示的なＣＧＣの図である。
【図１２】図１２は、本発明の一実施形態に従って適応された例示的なプロセスの図である。
【発明を実施するための形態】
【００１２】
図５は、本発明の実施形態が有利に用いられ得る例示的なワイヤレス通信システム５００を示している。説明の目的のため、図５は、三つの遠隔ユニット５２０、５３０、及び５４０、及び二つの基地局５５０、５６０を示している。従来のワイヤレス通信システムは、より多くの遠隔ユニット、及び基地局を有し得るということが認識されるだろう。遠隔ユニット５２０、５３０、及び５４０は、任意の種類のクロック・ゲーティング・セルを含むことができる。遠隔ユニット５２０、５３０、及び５４０はまた、アナログ・デジタル変換器（ＡＤＣ：Analog to Digital Converter）、デジタル・アナログ変換器（ＤＡＣ：Digital to Analog Converter）、プロセッサ、デルタ・シグマ・データ変換器等のような任意の種類の他の構成要素を含むことができる。本発明の実施形態は、種々の構成要素、そして特にプロセッサ、ＤＡＣ、ＡＤＣ等のようなシンクロナイズド回路での使用と考えることができる。図５は、基地局５５０、５６０から遠隔ユニット５２０、５３０、及び５４０への順方向リンク信号（forward link signal）５８０、及び遠隔ユニット５２０、５３０、及び５４０から基地局５５０、５６０への逆方向リンク信号（reverse link signal）５９０を示している。
【００１３】
一般的に、遠隔ユニットは、携帯電話、手持ち式の個人通信システム（ＰＣＳ：personal communication system）ユニット、パーソナル・データ・アシスタント（personal data assistant）のようなポータブル・データ・ユニット（portable data unit）、メーター・リーディング装置（meter reading equipment）のような固定ロケーション・データ・ユニット（fixed location data unit）等を含み得る。図５において、ワイヤレス・ローカル・ループ・システムにおいて、遠隔ユニット５２０は、モバイル電話として示され、遠隔ユニット５３０は、ポータブル・コンピュータとして示され、遠隔ユニット５４０は、固定ロケーション遠隔ユニット（fixed location remote unit）として示される。基地局５５０、５６０は、例えば携帯電話基地局、ワイヤレス・ネットワーク・アクセス・ポイント（例えばＩＥＥＥ８０２．１１に準拠しているアクセス・ポイント）等を含んでいる任意の種類のワイヤレス基地局であることがあり得る。図５は、本発明の教示に従って、遠隔ユニットを図示しているが、本発明は、これらの図示された例示的なユニットに限定されない。
【００１４】
図６は、本発明の一実施形態に従って適応された例示的なＣＧＣ６００の図である。ＣＧＣ６００は、ＣＧＣのアーキテクチャと同様のアーキテクチャを有している。しかし、ＣＧＣ６００は、低速立ち上がりクロック・エッジの間、ｐｎ１ノードが放電することを防ぐ回路６０１を追加している。追加の回路６０１は、ｐｎ１ノードのプル・ダウン・スタック（pull-down stack）で、ＮＦＥＴ６０３を駆動する最小限のサイズの（minimum sized）インバータ６０２を含んでいる。この実施形態例において、“最小限のサイズ”は、約１２０ｎｍの幅を有するインバータを参照している。しかしながら、所定の適用が任意の適切なサイズのインバータを使用可能であるので、実施形態の範囲は、そのように限定されない。
【００１５】
図７は、（図６の）ＣＧＣ６００についてのシミュレート・タイミング・ダイアグラムであり、それは、キー・ノード内の電圧を示している。最初に、ｐｎ１ノードは、ラッチのトランスペアレント・フェーズ（transparent phase）の間、ロジック１にセットされる。この状況の下、ＣＧＣ６００は、単に入力Ｃｌｋ＿ｉｎ信号を出力Ｃｌｋにパスする。また、最初にＣｌｋ＿ｉｎ信号はロジック０であり、そしてｐｎ２ノードはロジック１である。
【００１６】
低速立ち上がり入力Ｃｌｋ＿ｉｎ信号にとっても、Ｃｌｋ＿ｉｎがＶｄｄ／２の半分に立ち上がる前に、内部バッファされた（internally buffered）Ｃｌｋ＿ｎｅｔノードは速く高くなり、ｐｎ１ノードのプル・ダウンＮＦＥＴ６０４を作動する。インバータ６０２及びフィードバックＮＦＥＴ６０３は、ｐｎ１ノードがロジック１である場合、ｐｎ１ノードの放電を止める。言い換えると、ＣＧＣ６００が有効である場合、回路６０１は、ノードｐｎ１が放電されないようにする。従って、ｐｎ１ノードは、早期の電圧ドロップ（premature voltage drop）を示さない。
【００１７】
図６の実施形態の一つの利点は、それが、Ｃｌｋ＿ｉｎのキャパシティブ・ローディング（capacitive loading）を抑制する、いくらかの出力ロジック・ゲート６０７の小型化を可能にするということである。従って、概してＣＧＣ６００の動的スイッチング電力（dynamic switching power）を低減する。一見積もりによって、出力ロジック・ゲート６０７は、最大で４０％まで小型化されることができる。このようにして、提案されたデザインはまた、追加の（最小限のサイズの）インバータ６０２接続に起因するｐｎ１ノードの任意の上昇された（increased）キャパシティブ・ローディングを補正する。ＣＧＣ６００のデザインは、低電圧動作に対する機能的信頼性懸念（functional reliability concerns）を低減するために役立つ。その結果、低電圧動作を行うことができる。利用可能な低電圧動作で、所定のチップの電力消費及びバッテリ寿命は、効果的に向上されることができる。更に、同じ電圧について、種々の実施形態は、より大きなファン・アウト・ローディング（fan-out loading）の使用を可能にする。従って、大きなシステムのＣＧＣの合計数を低減し、実質的な領域及び電力浪費を抑える。
【００１８】
図８は、本発明の一実施形態に従って適応された例示的なＣＧＣ８００の図である。ＣＧＣ８００は、追加のＰＭＯＳトランジスタ８０２、及びインバータ８０１を備えている。ＣＧＣ８００のアーキテクチャはまた、それに限定されないが、追加のＰＭＯＳトランジスタ８０２及びインバータ８０１（このケースでは、ノードｐｎ２）からの出力を含んでいるフィードバック・ループを有している。ラッチのアクティブ・フェーズの間、Ｃｌｋ＿ｉｎはロジック０であり、ｐｎ１ノードは、送信ゲート８０４を通った“ｅｎ”ロジックによって動作される。Ｃｌｋ＿ｉｎがロジック１の際、送信ゲート８０４はオフであり、ｐｎ１ノードは、プル・アップ回路（デバイス８０２、及び８０５を含んでいる）、またはプル・ダウン回路（デバイス８０６及び８０７を含んでいる）のどちらかによって駆動される。ＣＧＣ８００において、フィードバック・デバイス８０２及び８０７は、ＮＡＮＤ８０３の出力によって、というよりむしろ、インバータ出力によってそれぞれ駆動される。
【００１９】
ＣＧＣ８００の構成において、Ｃｌｋ＿ｉｎがロジック０からロジック１へと変化する際、ノードｐｎ２は、ノードｐｎ１の状態が保持される限り、ノードｐｎ２の状態を変化しない。具体的には、インバータ８０１及びデバイス８０２及び８０５〜８０７によって形成されたインバータは、一つのインバータは、入力としてノードｐｎ１、そして出力としてｐｎ２を有し、他のインバータは、入力としてノードｐｎ２、そして出力としてノードｐｎ１を有するクロス結合インバータ回路（cross-coupled inverter circuit）の役割を果たす。ラッチ（Ｃｌｋ＿ｉｎがロジック１である際）の状態保持フェーズ（state retention phase）において、クロス結合インバータは、Ｃｌｋ＿ｉｎ変化の間、ノードｐｎ１の早期放電または早期充電を防いでいるノードｐｎ１及びｐｎ２の状態を保つために作動する。アクティブ・フェーズ（Ｃｌｋ＿ｉｎがロジック０である際）において、フィードバック・ループは、データがラッチを通って伝搬することを許可するためにオフされ、ｐｎ１及びｐｎ２の状態は維持されない。ＣＧＣ６００（図６の）と同様に、ＣＧＣ８００は、小型化された出力ロジック・ゲート８０３の使用を可能にさせる。
【００２０】
図６、及び８の実施形態はまた、立ち下がりクロック・エッジをＣＧＣに通すときに生じる可能性がある他の失敗モード（failure mode）から保護する。図９は、図１、及び２で示したような従来のＣＧＣにおいて生じる可能性がある失敗モードを示すシミュレート・タイミング・ダイアグラムである。図９は、Ｃｌｋ＿ｉｎが低速変化レート（slow transition rate）によって下がる場合、Ｃｌｋ＿ｎｅｔは、短い時間の後、Ｃｌｋについていき、ノードｐｎ２は、ロジック０からロジック１へとゆっくり変化するということを示している。変化の間、プル・ダウン・スタック内のトランジスタ１０４及び１０６（図２）の両方がオンされる場合、タイミング・ウィンドウが存在し、その結果ノードｐｎ１を放電する。（図６の）ＣＧＣ６００は、追加のトランジスタ６０３で放電パスを切り離すことによって、ノードｐｎ１の放電を防止し、それは動作をオフのままにしておく。（図８の）ＣＧＣ８００は、オフ状態へとプル・ダウン・デバイス８０７を駆動するインバータ８０１で放電パスを切り離すことによって、同様の方法でノードｐｎ１の放電を防止する。
【００２１】
上述された図６、及び８の実施形態は、アクティブ・ロー・ラッチに基づくＣＧＣの使用の解決方法を含んでいる。実施形態の範囲はまた、典型的にアクティブ・ロー・ラッチに基づく２つのＣＧＣとして記載されるアクティブ・ハイ・ラッチに基づくＣＧＣの使用の解決方法を含んでいる。図１０は、本発明の一実施形態に従って適応された例示的なＣＧＣ１０００の図である。システム１０００は、図６の実施形態のアクティブ・ハイ・ラッチのような物である。概して、ＣＧＣ１０００は、トランジスタ１００３、及び１００５がノードｐｎ１を早期に充電できないようにする。立ち下がりクロック・エッジの間、ノードｐｎ１及びｐｎ２の両方はロジック０で開始する。ノードｐｎ２がロジック０である場合、トランジスタ１００３はオンである。Ｃｌｋ＿ｉｎが立ち下がり始める場合、トランジスタ１００５への入力における内部バッファ信号（internally buffered signal）は、ノードｐｎ１またはｐｎ２のどちらか一方よりもかなり速くロジック０に達する。従って、ノードｐｎ１及びｐｎ２が変化する前にトランジスタ１００５をオンする。
【００２２】
セーフガーディング回路１００１は、インバータ１００２及びトランジスタ１００４を備える。ロジック０でノードｐｎ１のままである限り、インバータ１００２の出力は、トランジスタ１００４をオフするロジック１である。トランジスタ１００４は、トランジスタ１００３、及び１００５と直列であるので、ノードｐｎ１は、低速立ち下がりクロック・エッジの間、Ｖｄｄに早期充電されない。
【００２３】
ＣＧＣ１０００のような、アクティブ・ハイ・ラッチに基づいているＣＧＣにおいて、ＣＧＣのイネーブル・ロジックはまた一般的に、アクティブ・ロー・ラッチに基づくＣＧＣの２つのイネーブル・ロジックであるということに留意すべきである。例えば、図１０及び１１に示される実施形態で用いられることができるイネーブル・ロジックの一タイプは、ＮＯＲゲートを含んでいる。
【００２４】
図１１は、本発明の一実施形態に従って適応される例示的なＣＧＣ１１００の図である。システム１１００は、図８の実施形態のアクティブ・ハイ・ラッチのような物である。システム１１００は、Ｃｌｋ＿ｉｎが１から０へ落ちる際、ノードｐｎ１及びｐｎ２の状態を保つために、クロス結合インバータ構造を用いる。Ｃｌｋ＿ｉｎがロジック１からロジック０に変化する際、ノードｐｎ１の状態が保持されている限り、ノードｐｎ２は、その状態が変化しない。具体的に、インバータ１１０１及びデバイス１１０２及び１１０５−１１０７によって形成されるインバータは、クロス結合インバータ回路の役割を果たす。（Ｃｌｋ＿ｉｎがロジック０である際）ラッチの位相保持状態において、クロス結合インバータは、ノードｐｎ１及びｐｎ２の状態を保持するために作動する。ＣＧＣ１１００において、ノードｐｎ１の状態は、Ｃｌｋ＿ｉｎの変化の間、早期充電または早期放電を防ぐことによって保持される。（Ｃｌｋ＿ｉｎがロジック１である際）アクティブ位相において、ラッチを通ってデータを伝搬することを許可するために、デバイス１１０２、及び１１０６がオフされるので、フィードバック・ループはオフされる。
【００２５】
本発明の種々の実施形態は、従来技術よりも利点を提供する。例えば、著しい電力抑制は、図１及び２の従来技術のシステムに対して図６、８、１０、及び１１のシステムを用いることで、達成されることができる。提案される追加の回路はいくつかの実施形態において、Ｃｌｋパスのキャパシティブ・ローディング（capacitive loading）を減少するために、出力ロジックにおいて達成されることができる小型化の限界を増加する。更に、入力回路での減少されたキャパシティブ・ローディングはまた、イネーブル・ロジックのセットアップ時間を改善することができる。セットアップ時間が減少するにつれて、システムで用いるために、より高い周波数クロックが選択されることができるので、技術者の選択は増加する。
【００２６】
本発明のいくつかの実施形態は、改善されたＣＧＣの使用のための方法を含む。一実施形態において、（図６の）ＣＧＣ６００または（図８の）ＣＧＣ８００のような一つまたはそれ以上のＣＧＣを備えるチップによってそのような方法は実行される。図１２は、本発明の一実施形態に従った例示的なプロセス１２００の図である。
【００２７】
ブロック１２０１において、クロック・ゲーティング・セルは、イネーブル・ロジックをアサーティングする事（asserting）によって、有効にされる。多くの実施形態において、クロック・イネーブル及びテスト・イネーブルのような二つまたはそれ以上のイネーブル入力がある。しかしながら、実施形態の範囲は、イネーブル入力の数によって限定されない。
【００２８】
ブロック１２０２において、エッジと共にクロック信号は、クロック入力で加えられる。エッジは、立ち下がりエッジまたは立ち上がりエッジである可能性があり、クロック信号は、大抵立ち上がり及び立ち下がりエッジの代替パターンを含む。ＣＧＣが有効なので、入力クロック信号は、ＣＧＣを通り、他の回路内へと伝搬されるべきである。
【００２９】
ブロック１２０３において、セーフガーディング回路は、クロック・エッジの間、出力ロジック回路の入力ノードの早期放電、または早期充電を防止する。例えば、図６、及び８のＣＧＣの両方は、プルダウン・トランジスタが出力ＮＡＮＤゲートの一つの入力ノードであるノードｐｎ１を早期放電しないようにする。更に、図１０及び１１のＣＧＣは、プルアップ・トランジスタがノードｐｎ１を早期充電できないようにする。
【００３０】
プロセス１２００が、分離したステップの連続であると示されているが、実施形態の範囲はそのように限定されない。種々の実施形態は、一つまたはそれ以上のブロックを、加え、削除し、変形し、または再配置し得る。例えば、いくつかの実施形態は、各々のクロック・サイクル、または各々のクロックのエッジでもブロック１２０２−１２０３を繰返し得る。更にいくつかの実施形態は、クロック信号を種々の計算回路に伝搬することを含み、それゆえ、それらの計算回路を、演算モードにすることを可能にする。
【００３１】
特定の回路が示されているが、開示された回路の全ては、本発明を実行するように要求されないということが当業者によって正しく理解されるだろう。更に、発明への焦点を保持するために、特定のよく知られた回路は記載されない。同様に、記載は、特定の場所でロジック０及びロジック１を参照しているが、当業者は、本発明の動作に影響することなしに、それ相応に調整された回路のリマインダを用いて、論理値は切替られることができるということを正しく理解する。
【００３２】
本発明及びその利点は、詳細に記載されているが、種々の変化、代用、及び変更は、添付した特許請求の範囲によって明らかにされた発明の技術から逸脱することなしに、本明細書を行うことができる、ということが理解されるべきである。更に、本出願の範囲は、プロセス、機械、製品、明細書に記載の物質、手段、方法、及びステップの組み合わせの特定の実施形態に限定されることを意図しない。当業者が開示から容易にできるように、本明細書に記載された対応する実施形態と実質的に同じ機能を実行でき、または実質的に同じ結果を達成できる、今後開発される、または現在存在する、ステップ、方法、手段、または内容の組み合わせ、製造、機械、プロセス、は本願発明に従って使用され得る。従って、添付された特許請求の範囲は、プロセス、機械、製造、そして物質、手段、方法、またはステップの組み合わせのようなそれの範囲内に含むように意図される。
【図１】
0005175399.tif 000002
【図２】
0005175399.tif 000003
【図３】
0005175399.tif 000004
【図４】
0005175399.tif 000005
【図５】
0005175399.tif 000006
【図６】
0005175399.tif 000007
【図７】
0005175399.tif 000008
【図８】
0005175399.tif 000009
【図９】
0005175399.tif 000010
【図１０】
0005175399.tif 000011
【図１１】
0005175399.tif 000012
【図１２】
0005175399.tif 000013