(57)【特許請求の範囲】
【請求項１】
クロックゲート回路であって、前記クロックゲート回路は下記を備える、
入力クロック信号を受け取るための第１の入力端子と、
クロックイネーブル信号を受け取るための第２の入力端子と、
ラッチ制御回路であって、
前記入力クロック信号と前記クロックイネーブル信号とを受け取るための第１および第２の入力端子と、
クロックゲート制御信号を受け取るための第３の入力端子と、
ラッチイネーブル信号を生成するための出力端子と、
前記クロックイネーブル信号に応じる入力と、出力とを有するインバータと、
前記インバータの前記出力に結合された第１の入力と、前記クロックゲート制御信号に応じる第２の入力と、出力とを有するＡＮＤゲートと、
前記入力クロック信号に応じる第１の入力と、前記ＡＮＤゲートの前記出力に結合された第２の入力と、前記ラッチイネーブル信号を生成するための出力とを有するＮＯＲゲートと、
を有するラッチ制御回路と、
前記クロックイネーブル信号に応じるデータ端子と、前記ラッチイネーブル信号に応じるラッチイネーブル端子とを有し、前記クロックゲート制御信号を生成するための出力端子を有するストレージラッチと、
前記入力クロック信号と前記クロックゲート制御信号とを受け取るための入力端子を有し、出力クロック信号を生成するための出力端子を有する論理ゲート。
【請求項２】
請求項１に記載のクロックゲート回路であって、前記クロックゲート回路が、前記入力クロック信号をゲート制御するようにイネーブルされた場合、前記ラッチ制御回路は、前記ラッチイネーブル信号を、強制的に一定の論理状態にする、
クロックゲート回路。
【請求項３】
請求項１に記載のクロックゲート回路であって、前記入力クロック信号が前記出力クロック信号として伝搬することを可能とするように前記クロックゲート回路がディセーブルされている場合、前記ラッチ制御回路は、前記入力クロック信号を前記ラッチイネーブル信号として通過させる、
クロックゲート回路。
【請求項４】
請求項１に記載のクロックゲート回路であって、前記ストレージラッチは下記を備える、
供給電圧と接地電位との間に直列に結合されたＰＭＯＳトランジスタならびに第１、第２、および第３のＮＭＯＳトランジスタ、ここにおいて、前記ＰＭＯＳトランジスタおよび前記第１のＮＭＯＳトランジスタのゲートは、前記論理ゲートの前記出力端子に接続され、前記第２のＮＭＯＳトランジスタのゲートは、前記ラッチイネーブル信号に応じ、前記第３のＮＭＯＳトランジスタのゲートは、前記クロックゲート制御信号に応じる、と、
前記クロックイネーブル信号に応じる入力端子と、前記クロックゲート制御信号を生成するための出力と、前記ラッチイネーブル信号に応じる制御端子とを有するパスゲート。
【請求項５】
請求項４に記載のクロックゲート回路であって、前記ラッチイネーブル信号は、前記クロックイネーブル信号がデアサートされることに応じて、前記パスゲートを、非電導状態に維持する、クロックゲート回路。
【請求項６】
クロックイネーブル信号に応じて、入力クロック信号を出力クロック信号として選択的に通過させるためのクロックゲート回路であって、前記クロックゲート回路は下記を備える、
ラッチ制御回路であって、
前記入力クロック信号と、前記クロックイネーブル信号と、クロックゲート制御信号とを受け取るための入力端子と、
ラッチイネーブル信号を生成するための出力端子と、
前記クロックイネーブル信号に応じる入力と、出力とを有するインバータと、
前記インバータの前記出力に結合された第１の入力と、前記クロックゲート制御信号に応じる第２の入力と、出力とを有するＡＮＤゲートと、
前記入力クロック信号に応じる第１の入力と、前記ＡＮＤゲートの前記出力に結合された第２の入力と、前記ラッチイネーブル信号を生成するための出力とを有するＮＯＲゲートと、
を有するラッチ制御回路と、
前記クロックイネーブル信号に応じるデータ端子と、前記ラッチイネーブル信号に応じるラッチイネーブル端子とを有し、前記クロックゲート制御信号を生成するための出力端子を有するストレージラッチと、
前記入力クロック信号と前記クロックゲート制御信号とを受け取るための入力端子を有し、出力クロック信号を生成するための出力端子を有する論理ゲート。
【請求項７】
請求項６に記載のクロックゲート回路であって、前記クロックゲート回路がイネーブルされた場合、前記ラッチ制御回路は、前記ラッチイネーブル信号を、強制的に一定の論理状態にする、クロックゲート回路。
【請求項８】
請求項７に記載のクロックゲート回路であって、前記クロックゲート回路がイネーブルされた場合、前記論理ゲートは、前記出力クロック信号を、強制的に一定の論理状態にする、クロックゲート回路。
【請求項９】
請求項６に記載のクロックゲート回路であって、前記クロックゲート回路がディセーブルされた場合、前記ラッチ制御回路は、前記入力クロック信号を前記ラッチイネーブル信号として通過させる、クロックゲート回路。
【請求項１０】
請求項９に記載のクロックゲート回路であって、前記クロックゲート回路がディセーブルされた場合、前記論理ゲートは、前記入力クロック信号を前記出力クロック信号として通過させる、クロックゲート回路。
【請求項１１】
請求項６に記載のクロックゲート回路であって、前記ストレージラッチは下記を備える、
供給電圧と接地電位との間に直列に結合されたＰＭＯＳトランジスタならびに第１、第２、および第３のＮＭＯＳトランジスタ、ここにおいて、前記ＰＭＯＳトランジスタおよび前記第１のＮＭＯＳトランジスタのゲートは、前記論理ゲートの前記出力端子に接続され、前記第２のＮＭＯＳトランジスタのゲートは、前記ラッチイネーブル信号に応じ、前記第３のＮＭＯＳトランジスタのゲートは、前記クロックゲート制御信号に応じる、と、
前記クロックイネーブル信号に応じる入力端子と、前記クロックゲート制御信号を生成するための出力と、前記ラッチイネーブル信号に応じる制御端子とを有するパスゲート。
【請求項１２】
請求項１１に記載のクロックゲート回路であって、前記ラッチイネーブル信号は、前記クロックイネーブル信号がデアサートされることに応じて、前記パスゲートを、非電導状態に維持する、
クロックゲート回路。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本実施形態は、一般に、電子回路に関し、さらに詳しくは、クロックゲート回路に関する。
【背景技術】
【０００２】
[0002]動的電力消費量は、特に、シンクロナス集積回路（ＩＣ）デバイスで使用される増加の一途をたどるクロック周波数とともに、ＩＣデバイスに関する継続的な懸念である。確かに、いくつかのＩＣデバイスについては、全動的電力総消費量の過半が、クロック分配ネットワークに起因し得る。クロック分配ネットワークの動的電力消費量を低減する１つの技法は、ＩＣデバイスにおけるクロック信号の数を選択的にゲート制御するクロックゲート回路（ＣＧＣ）を適用することである。さらに詳しくは、クロックゲート回路は、ＩＣデバイスのクロックツリーを選択的に取り除くことにより、電力消費量を低減し、よって、クロックツリーの一部をディセーブルし、例えば、ディセーブルされた部分に関連付けられたラッチおよび／またはフリップフロップのような回路素子が、論理Ｈｉｇｈ状態と論理Ｌｏｗ状態との間で切り換わらないようにする。したがって、このようなラッチおよび／またはフリップフロップが、論理状態間をトグルすることを阻止することは、ＩＣデバイスの動的電力消費量を著しく低減し得る。
【０００３】
[0003]不運にも、多くの従来のクロックゲート回路は、ディセーブルされた場合でさえも、望ましくない量の動的電力を消費する。例えば、図１Ａは、入力クロック信号ｃｌｋ＿ｉｎに応じて相補クロック信号
【数１】
0006039081.tif 000002
【０００４】
とｃｌｋ＿ｎｅｔとを生成する２つの直列接続されたインバータＩＮＶ１〜ＩＮＶ２を有する従来のクロックゲート回路１０を図示する。相補クロック信号
【数２】
0006039081.tif 000003
【０００５】
およびｃｌｋ＿ｎｅｔは、パスゲート１２を制御する。パスゲート１２は、出力信号ｐｎ２を生成するために、ＮＡＮＤゲート１４においてｃｌｋ＿ｉｎと論理的に結合されるゲート信号ｐｎ１を提供する。出力クロック信号ｃｌｋを生成するために、信号ｐｎ２はインバータＩＮＶ３によって反転される。クロックゲート回路１０は、クロックイネーブル信号（ｃｌｋ＿ｅｎ）に応じて選択的に入力クロック信号ｃｌｋ＿ｉｎをゲート制御するのに有効であるが、動的電力を望ましからず消費する。なぜなら、直列接続されているインバータＩＮＶ１およびＩＮＶ２の出力端子は、入力クロック信号ｃｌｋ＿ｉｎにおける遷移に応じて、論理状態間を望ましからずトグルするからである。
【０００６】
[0004]したがって、ＩＣデバイス内に提供された、分配されたクロックシステムに関連付けられた動的電力消費量を低減するニーズがある。
【０００７】
[0005]本実施形態は、例として示されており、添付図面の図によって限定されるものと意図されていない。
【図面の簡単な説明】
【０００８】
【図１Ａ】[0006]従来のクロックゲート回路のブロック図である。
【図１Ｂ】[0007]いくつかの実施形態による、部分的にゲート制御されたクロックゲート回路のブロック図である。
【図２】[0008]いくつかの実施形態による、図１Ｂの部分的にゲート制御されたクロックゲート回路の概略図である。
【図３】[0009]他の実施形態による、図１Ｂの部分的にゲート制御されたクロックゲート回路の概略図である。
【図４】[0010]いくつかの実施形態による、図１Ｂ、２および３の部分的にゲート制御されたクロックゲート回路に関連付けられた信号の例示的なタイミング図である。
【発明を実施するための形態】
【０００９】
[0011]同一の参照番号は、これら図面を通じて対応する部分を指している。
【００１０】
[0012]クロック分配ネットワークに関連付けられた不必要な電力消費を低減し得るクロックゲート回路が開示される。いくつかの実施形態の場合、入力クロック信号のロジック遷移に応じて、ロジック状態間をトグルする、直列接続された内部論理ゲートを除去することによって、動的電力消費量を著しく低減し得る、部分的にゲート制御されたクロックゲート回路が開示される。さらに詳しくは、本実施形態の、部分的にゲート制御されたクロックゲート回路は、入力クロック信号の相補バージョンを用いてクロックラッチのパスゲートの動作を制御するのではなく、入力クロック信号と、ラッチイネーブル信号と、クロックゲートフィードバック信号とに応じて生成されたラッチイネーブル信号を用いてパスゲートを制御し得る。このように、部分的にゲート制御されたクロックゲート回路の内部のノードの望ましくないトグルが回避される。
【００１１】
[0013]以下の記載では、本開示の完全な理解を提供するために、例えば、具体的な構成要素、回路、および処理の例のような多くの具体的な詳細が記載されている。また、以下の説明では、説明を目的として、本実施形態の完全な理解を与えるために、具体的な名称が記載される。しかしながら、これらの具体的な詳細は、本実施形態を実践するために必要とされない場合があることが当業者には明らかであろう。他の例では、本開示を不明瞭にしないように、よく知られている回路およびデバイスがブロック図の形で示される。本明細書で使用される場合、「結合された」という用語は、直接接続されていること、または１つもしくは複数の介在する構成要素もしくは回路を介して接続されていることを意味する。本明細書で説明される様々なバスを介して与えられる信号のいずれも、他の信号で時間多重化され、１つまたは複数の共通バスを介して与えられ得る。さらに、回路素子またはソフトウェアブロック間の相互接続は、バスまたは単一の信号線として示すことができる。バスの各々は代替的に単一の信号線であり得るとともに、単一の信号線の各々は代替的に複数のバスであり得るし、単一の線またはバスは、構成要素間の通信のための多種多様な物理機構または論理機構のうちの任意の１つまたは複数を表す場合がある。本実施形態は、本明細書に記載された具体的な例に限定されると見なされるものではなく、むしろ、添付された特許請求の範囲によって定義されたすべての実施形態を、それらの範囲内に含むものである。
【００１２】
[0014]図１Ｂは、いくつかの実施形態による、部分的にゲート制御（ＰＧ）されたクロックゲート回路１００のブロック図を図示する。ＰＧクロックゲート回路１００は、アクティブ−ロークロックイネーブル信号（active-low clock enable signal）
【数３】
0006039081.tif 000004
【００１３】
に応じて、入力クロック信号（ＣＬＫ＿ＩＮ）を出力クロック信号（ＣＬＫ＿ＯＵＴ）として選択的に通過させる。さらに詳しくは、
【数４】
0006039081.tif 000005
【００１４】
が論理Ｈｉｇｈにデアサート（de-assert）された場合、ＰＧクロックゲート回路１００がイネーブルされ、ＣＬＫ＿ＯＵＴに対して、一定の論理状態（例えば、論理Ｌｏｗ）に留まるように強いる。これによって、ＣＬＫ＿ＩＮを効率的にゲート制御し、ＰＧクロックゲート回路１００に結合された（簡略のために図示しない）その他の回路素子へＣＬＫ＿ＩＮをＣＬＫ＿ＯＵＴとして伝搬しないことによって、電力消費量を低減する。反対に、
【数５】
0006039081.tif 000006
【００１５】
が、論理Ｌｏｗにアサートされている場合、ＰＧクロックゲート回路１００がディセーブルされ、ＣＬＫ＿ＩＮをＣＬＫ＿ＯＵＴとして通過させる。これによって、このようなその他の回路素子へクロック信号が伝搬することを可能とする。
【００１６】
[0015]図１Ｂに図示されるように、ＰＧクロックゲート回路１００は、２つのインバータ１０１〜１０２と、ＮＡＮＤゲート１０３と、ストレージラッチ１１０と、ラッチ制御回路１２０とを含む。インバータ１０１は、
【数６】
0006039081.tif 000007
【００１７】
を受信するための入力端子を含んでおり、アクティブ−ハイクロックイネーブル信号（active-high clock enable signal）（ＣＬＫ＿ＥＮ）を生成するための出力端子を含んでいる。ラッチ制御回路１２０は、ラッチイネーブル信号（ＬＡＴ＿ＥＮ）を生成するための出力端子を含んでおり、ＣＬＫ＿ＩＮ
【数７】
0006039081.tif 000008
【００１８】
と、フィードバック信号として提供されるクロックゲート制御信号（ＣＬＫ＿ＧＣ）とを受信するための入力端子を含んでいる。ストレージラッチ１１０は、ＣＬＫ＿ＥＮを受信するためのデータ端子（Ｄ）と、ＬＡＴ＿ＥＮを受信するためのラッチイネーブル入力（＜）と、ＣＬＫ＿ＧＣを生成するための出力端子とを含んでいる。
【００１９】
[0016]ＮＡＮＤゲート１０３は、ＣＬＫ＿ＩＮおよびＣＬＫ＿ＧＣを受信するための入力端子を含んでおり、ＣＬＫ＿ＯＵＴを生成するための出力端子を含むインバータ１０２に結合された出力端子を含んでいる。したがって、クロックゲート制御信号ＣＬＫ＿ＧＣが論理Ｌｏｗ状態である場合、ＮＡＮＤゲート１０３は、その出力端子を強制的に論理Ｈｉｇｈ状態にする。このことは、インバータ１０２に対して、ＣＬＫ＿ＯＵＴを論理Ｌｏｗ状態に維持させる。このモードでは、ＰＧクロックゲート回路１００がイネーブルされ、入力クロック信号ＣＬＫ＿ＩＮをゲート制御する。反対に、クロックゲート制御信号ＣＬＫ＿ＧＣが、論理Ｈｉｇｈ状態にある場合、ＮＡＮＤゲート１０３は、ＣＬＫ＿ＩＮの論理相補をインバータ１０２へ渡し、インバータ１０２は、ＣＬＫ＿ＩＮの遅延したバージョンとしてＣＬＫ＿ＯＵＴを生成する。このモードにおいて、ＰＧクロックゲート回路１００がディセーブルされ、ＣＬＫ＿ＯＵＴとしてＣＬＫ＿ＩＮを通過させる。いくつかの実施形態の場合、ＮＡＮＤゲート１０３およびインバータ１０２は、論理ＡＮＤゲートの機能的な実現である。
【００２０】
[0017]ラッチ制御回路１２０は、
【数８】
0006039081.tif 000009
【００２１】
と、ＣＬＫ＿ＩＮと、ＣＬＫ＿ＧＣとの論理的な結合に応じて、ＬＡＴ＿ＥＮを生成する。図１Ｂに図示される典型的な実施形態の場合、ラッチ制御回路１２０は、ＡＮＤゲート１２１とＮＯＲゲート１２２とによって形成されるＡＮＤ−ＯＲ反転（ＡＯＩ）ゲートとして実現される。さらに詳しくは、ＡＮＤゲート１２１は、
【数９】
0006039081.tif 000010
【００２２】
とＣＬＫ＿ＧＣの相補とを受信するための入力を含み、ＮＯＲゲート１２２の第１の入力に結合された出力を含んでいる。ＮＯＲゲート１２２は、ＣＬＫ＿ＩＮを受信するための第２の入力を含み、ＬＡＴ＿ＥＮを生成するための出力を含んでいる。
【００２３】
[0018]ＰＧクロックゲート回路１００をイネーブルするために（例えば、ＣＬＫ＿ＯＵＴを、一定の論理状態に維持するために）、クロックイネーブル信号
【数１０】
0006039081.tif 000011
【００２４】
が論理Ｈｉｇｈにデアサートされる。このことは、インバータ１０１に対して、ＣＬＫ＿ＥＮを論理Ｌｏｗへデアサートさせる。
【数１１】
0006039081.tif 000012
【００２５】
の論理Ｈｉｇｈ状態は、ラッチ制御回路１２０に対して、ＬＡＴ＿ＥＮを論理Ｌｏｗ状態に維持させる。さらに詳しくは、クロックゲート制御信号ＣＬＫ＿ＧＣの以前の状態が、論理Ｌｏｗであれば（例えば、ＣＬＫ＿ＯＵＴを、一定の論理状態に維持するために、クロックゲート回路１００が以前にイネーブルされたことを示すのであれば）、
【数１２】
0006039081.tif 000013
【００２６】
の論理Ｈｉｇｈ状態は、ＬＡＴ＿ＥＮを論理Ｌｏｗ状態に維持する。反対に、ＣＬＫ＿ＧＣの以前の状態が論理Ｈｉｇｈであれば（例えば、ＣＬＫ＿ＩＮがＣＬＫ＿ＯＵＴとして回路１００内を伝搬することを可能とすることを、クロックゲート回路１００が、以前にディセーブルされたことを示すのであれば）、ＣＬＫ＿ＩＮが論理Ｌｏｗへ遷移した後、ＬＡＴ＿ＥＮは、ＣＬＫ＿ＧＣの以前のＨｉｇｈ状態によって論理Ｈｉｇｈとされる。その後、ＣＬＫ＿ＧＣは、ラッチ１１０が、ＣＬＫ＿ＥＮの論理Ｌｏｗ状態をラッチすることに応じて、論理Ｌｏｗとされる。結果として得られるＣＬＫ＿ＧＣの論理Ｌｏｗ状態は、制御回路１２０へとフィードバックされる。これに応じて制御回路１２０は、ＬＡＴ＿ＥＮを論理Ｌｏｗにする。
【００２７】
[0019]ＬＡＴ＿ＥＮの論理Ｌｏｗ状態は、ラッチ１１０に対して、クロックゲート制御信号ＣＬＫ＿ＧＣを論理Ｌｏｗ状態に連続的に維持させる。ＣＬＫ＿ＧＣの論理Ｌｏｗ状態は、ＮＡＮＤゲート１０３の出力を強制的に論理Ｈｉｇｈ状態にする。これは、インバータ１０２に対して、ＣＬＫ＿ＩＮの論理遷移に関わらず、ＣＬＫ＿ＯＵＴを論理Ｌｏｗ状態に維持させる。このように、ＣＬＫ＿ＯＵＴは、一定の論理Ｌｏｗ状態に維持される。これによって、クロック信号を、その他の回路素子（簡略のため図示せず）に提供しないことによって、動的電力消費量が低減される。
【００２８】
[0020]ＬＡＴ＿ＥＮを論理Ｌｏｗ状態に維持することは、ラッチ１１０のクロックイネーブル入力（＜）が論理状態間でトグルするのを阻止し、論理Ｈｉｇｈ状態と論理Ｌｏｗ状態とを切り換える回路１００の内部ノードに関連付けられた電力消費量を低減することに注目されたい。
【００２９】
[0021]反対に、ＰＧクロックゲート回路１００をディセーブルするために（例えば、ＣＬＫ＿ＩＮがＣＬＫ＿ＯＵＴとして回路１００内を伝搬することを可能とするために）、
クロックイネーブル信号
【数１３】
0006039081.tif 000014
【００３０】
が、論理Ｌｏｗにアサートされる。これは、インバータ１０１に対して、ＣＬＫ＿ＥＮを論理Ｈｉｇｈにアサートさせる。ＣＬＫ＿ＥＮの論理Ｈｉｇｈ状態は、ラッチ１１０のＤ入力に提供される。
【数１４】
0006039081.tif 000015
【００３１】
の論理Ｌｏｗ状態は、ラッチ制御回路１２０に対して、ＬＡＴ＿ＥＮを、ＣＬＫ＿ＩＮの論理相補として生成させる。このことは、ラッチ１１０に対して、そのＤ入力において、ＣＬＫ＿ＥＮの論理Ｈｉｇｈ状態を定期的にラッチさせる。このように、ラッチ１１０は、クロックゲート制御信号ＣＬＫ＿ＧＣを論理Ｈｉｇｈ状態に維持する。ＣＬＫ＿ＧＣの論理Ｈｉｇｈ状態に応じて、ＮＡＮＤゲート１０３は、ＣＬＫ＿ＩＮの論理相補値をインバータ１０２に渡す。インバータ１０２は、（例えば、インバータ１０２とＮＡＮＤゲート１０３とに関連付けられた遅延を除いて）ＣＬＫ＿ＩＮと同様のＣＬＫ＿ＯＵＴの波形を生成する。
【００３２】
[0022]図２は、図１ＢのＰＧクロックゲート回路１００の１つの実施形態であるＰＧクロックゲート回路２００を図示する。ＰＧクロックゲート回路２００は、図１Ｂのインバータ１０１〜１０２と、ＮＡＮＤゲート１０３と、ラッチ制御回路１２０と、のみならず、インバータ２１２〜２１３と、パスゲート２１６と、ＰＭＯＳトランジスタＭＰ１と、ＮＭＯＳトランジスタＭＮ１〜ＭＮ３とを含むように図示されている。トランジスタＭＰ１およびＭＮ１〜ＭＮ３、インバータ２１２〜２１３、ならびにパスゲート２１６は、図１のラッチ１１０の１つの実施形態であるラッチ２１０を形成する。トランジスタＭＰ１およびＭＮ１〜ＭＮ３は、供給電圧ＶＤＤと接地電位との間に直列に結合される。トランジスタＭＰ１およびＭＮ１のゲートは、インバータ１０２の入力に結合された、ノードＮ２において、ＮＡＮＤゲート１０３の出力端子に結合されている。トランジスタＭＮ２のゲートは、インバータ２１３によって提供される相補ラッチイネーブル信号
【数１５】
0006039081.tif 000016
【００３３】
を受信し、トランジスタＭＮ３のゲートは、インバータ２１２によって提供される相補クロックゲート制御信号
【数１６】
0006039081.tif 000017
【００３４】
を受信する。
【００３５】
[0023]入力クロック信号ＣＬＫ＿ＩＮは、ＮＡＮＤゲート１０３および制御回路１２０の第１の入力に提供される。クロックイネーブル信号
【数１７】
0006039081.tif 000018
【００３６】
は、制御回路１２０の第２の入力へ、およびインバータ１０１の入力へ提供される。クロックゲート制御信号ＣＬＫ＿ＧＣは、フィードバック信号として、制御回路１２０の反転入力に提供される。制御回路１２０の出力端子はＬＡＴ＿ＥＮを生成する。これは、パスゲート２１６の非反転制御端子に提供される。インバータ２１３は、
【数１８】
0006039081.tif 000019
【００３７】
を生成するために、ＬＡＴ＿ＥＮを論理的に相補する。これは、パスゲート２１６の反転制御端子へ、および、トランジスタＭＮ２のゲートへ提供される。インバータ１０１は、ＣＬＫ＿ＥＮを生成するために、
【数１９】
0006039081.tif 000020
【００３８】
を、論理的に相補する。これは、パスゲート２１６の入力端子へ提供される。ここでノードＮ１として示されているパスゲート２１６の出力端子は、クロックゲート制御信号ＣＬＫ＿ＧＣを、ＮＡＮＤゲート１０３へ、および、インバータ２１２へ提供する。それに応じて、ＮＡＮＤゲート１０３は、ノードＮ２において、信号を生成するために、ＣＬＫ＿ＧＣとＣＬＫ＿ＩＮとを論理的に結合し、インバータ２１２は、相補クロックゲート制御信号
【数２０】
0006039081.tif 000021
【００３９】
をトランジスタＭＮ３のゲートに提供する。
【００４０】
[0024]ＰＧクロックゲート回路２００をイネーブルするために、
【数２１】
0006039081.tif 000022
【００４１】
が論理Ｈｉｇｈにデアサートされる。このことは、インバータ１０１に対して、ＣＬＫ＿ＥＮを論理Ｌｏｗにさせる。ＰＧクロックゲート回路２００は以前にディセーブルされているので、信号ＣＬＫ＿ＧＣの以前の論理Ｈｉｇｈ状態が、ラッチ２１０にラッチされる。このことは、
【数２２】
0006039081.tif 000023
【００４２】
の論理状態に関わらず、ＮＡＮＤゲート１２１に対して、論理Ｌｏｗ出力信号を維持させる。ＣＬＫ＿ＩＮは、論理Ｌｏｗに遷移した後、ＮＯＲゲート１２２に対して、ＬＡＴ＿ＥＮを論理Ｈｉｇｈにさせる。このことは、パスゲート２１６をオンにさせ、パスゲート２１６に対して、ＣＬＫ＿ＥＮの論理Ｌｏｗ状態を、論理Ｌｏｗクロックゲート制御信号ＣＬＫ＿ＧＣとして通過させるようにする。その後、ＣＬＫ＿ＧＣの論理Ｌｏｗ状態がフィードバックされ、ＮＡＮＤゲート１２１において、
【数２３】
0006039081.tif 000024
【００４３】
の論理Ｈｉｇｈ状態と論理的に結合される。このことは、その出力信号を論理Ｈｉｇｈにする。これに応じて、ＮＯＲゲート１２２は、ＬＡＴ＿ＥＮを論理Ｌｏｗにプルダウンする。その結果、
【数２４】
0006039081.tif 000025
【００４４】
が、インバータ２１３によって、論理Ｈｉｇｈにされる。同時に、ＣＬＫ＿ＧＣの論理Ｌｏｗ状態が、ＮＡＮＤゲート１０３に対して、その出力ノードＮ２を、論理Ｈｉｇｈ状態に維持させる。このことは、インバータ１０２に対して、入力信号ＣＬＫ＿ＩＮにおける論理遷移に関わらず、出力信号ＣＬＫ＿ＯＵＴを論理Ｌｏｗ状態に維持させる。
【００４５】
[0025]ノードＮ２の論理Ｈｉｇｈ状態は、トランジスタＭＰ１をオフにし、トランジスタＭＮ１をオンにし、
【数２５】
0006039081.tif 000026
【００４６】
の論理Ｈｉｇｈ状態は、トランジスタＭＮ３をオンにし、
【数２６】
0006039081.tif 000027
【００４７】
の論理Ｈｉｇｈ状態は、トランジスタＭＮ２をオンにすることに注目されたい。したがって、トランジスタＭＰ１がノードＮ１をＶＤＤから分離している間、トランジスタＭＮ１〜ＭＮ３がオンし、ノードＮ１を、接地電位に向けて低くなるように放電し、このことによって、ＣＬＫ＿ＧＣが論理Ｌｏｗ状態に留まることを保証する。さらに、クロックゲート回路２００がイネーブルされている場合、制御回路１２０は、信号ＬＡＴ＿ＥＮを論理Ｌｏｗ状態に維持するので、論理状態間の内部ノードのトグルに関連付けられた電力消費量が最小化される。対照的に、図１Ａのクロックゲート回路１０がイネーブルされている場合、インバータＩＮＶ１およびＩＮＶ２は望ましくないことには、入力信号ｃｌｋ＿ｉｎの論理遷移に応じて、出力端子をトグルする。この結果、望ましくない電力消費量となるのみならず、そのパスゲート１２の連続的なオン／オフ切り換えにもなる。
【００４８】
[0026]ＰＧクロックゲート回路２００をディセーブルするために、
【数２７】
0006039081.tif 000028
【００４９】
が、論理Ｌｏｗにアサートされる。これは、インバータ１０１に対して、ＣＬＫ＿ＥＮを論理Ｈｉｇｈにさせる。
【数２８】
0006039081.tif 000029
【００５０】
の論理Ｌｏｗ状態に応じて、制御回路１２０は、ラッチイネーブル信号ＬＡＴ＿ＥＮを生成するために（例えば、ＬＡＴ＿ＥＮとＣＬＫ＿ＩＮが１８０度位相が異なるように）、ＣＬＫ＿ＩＮを論理的に相補する。ＬＡＴ＿ＥＮの論理状態をトグルすることは、ラッチ２１０に対して、そのＤ入力において、ＣＬＫ＿ＥＮの論理Ｈｉｇｈ状態を定期的にラッチさせる。このように、ラッチ２１０は、クロックゲート制御信号ＣＬＫ＿ＧＣを論理Ｈｉｇｈ状態に維持する。ＣＬＫ＿ＧＣの論理Ｈｉｇｈ状態に応じて、ＮＡＮＤゲート１０３は、ＣＬＫ＿ＩＮの論理相補値を、インバータ１０２へ渡す。インバータ１０２は、（例えば、インバータ１０２とＮＡＮＤゲート１０３とに関連付けられた遅延を除いて、）ＣＬＫ＿ＩＮに類似したＣＬＫ＿ＯＵＴの波形を生成する。
【００５１】
[0027]ＰＧクロックゲート回路２００がディセーブルされている場合、クロックゲート制御信号ＣＬＫ＿ＧＣは論理Ｈｉｇｈ状態にあり、ＮＡＮＤゲート１０３は、ノードＮ２を、ＣＬＫ＿ＩＮの反対の論理状態にする。結果的に生じる
【数２９】
0006039081.tif 000030
【００５２】
の論理Ｌｏｗ状態は、トランジスタＭＮ３をオフにし、よって、ノードＮ１を接地電位から隔離する。ノードＮ２が論理Ｌｏｗ状態にある場合（例えば、ＣＬＫ＿ＩＮが論理Ｈｉｇｈである場合）、トランジスタＭＰ１がオンし、ノードＮ１をＶＤＤに向けてより高く引き上げる。これによって、クロックゲート制御信号ＣＬＫ＿ＧＣを論理Ｈｉｇｈ状態に「維持」し、次にこのことは、ＮＡＮＤゲート１２１の出力を論理Ｌｏｗに維持する。
【００５３】
[0028]本実施形態によれば、ＰＧクロックゲート回路２００は、イネーブル信号
【数３０】
0006039081.tif 000031
【００５４】
およびＣＬＫ＿ＥＮがもたらすグリッチに対して影響を受けないようになり得る。例えば、ＰＧクロックゲート回路２００がディセーブルされている間にＣＬＫ＿ＩＮが論理Ｌｏｗ状態にある場合、制御回路１２０は、ＬＡＴ＿ＥＮを論理Ｈｉｇｈにし、よって、パスゲート２１６をオンにする。しかしながら、ＣＬＫ＿ＩＮの論理Ｌｏｗ状態はまた、ＮＡＮＤゲート１０３の出力を強制的に論理Ｈｉｇｈ状態にし、このことによってまた、グリッチが、出力信号ＣＬＫ＿ＯＵＴに影響を与えることを防ぐ。ＰＧクロックゲート回路２００がディセーブルされている間にＣＬＫ＿ＩＮが論理Ｈｉｇｈ状態にある場合、制御回路１２０は、ＬＡＴ＿ＥＮを論理Ｌｏｗにし、よって、イネーブル信号ＣＬＫ＿ＥＮのもたらすグリッチをブロックする。
【００５５】
[0029]図３は、図１ＢのＰＧクロックゲート回路１００の別の実施形態であるＰＧクロックゲート回路３００を図示する。ＰＧクロックゲート回路３００は、図２の制御回路１２０が制御回路３２０に取って代わられ、インバータ１０１がＮＡＮＤゲート３２１に取って代わられていることを除いて、図２のＰＧクロックゲート回路２００に類似している。制御回路３２０は、図２のＡＮＤゲート１２１およびＮＯＲゲート１２２に加えて、追加のインバータ３２２を含んでいる。ＮＡＮＤゲート３２１は、
【数３１】
0006039081.tif 000032
【００５６】
を受信するための非反転入力端子と、テストイネーブル信号（ＴＥＳＴ＿ＥＮ）を受信するための反転入力端子と、ＣＬＫ＿ＥＮを生成するための出力とを含んでいる。インバータ３２２は、ＣＬＫ＿ＥＮを受信するための入力を含み、ＡＮＤゲート１２１の第２の入力端子に結合された出力を含んでいる。ＡＮＤゲート１２１は、ＣＬＫ＿ＧＣを受信するための第１の反転入力端子と、ＮＯＲゲート１２２に結合された出力とを含んでいる。
【００５７】
[0030]図４は、図１Ｂ、２、および３に関して前述された実施形態に関連付けられた信号の例示的なタイミング図４００を図示する。図２をも参照して、クロックイネーブル信号
【数３２】
0006039081.tif 000033
【００５８】
はまず、論理Ｌｏｗにデアサートされる。このことによって、ＣＬＫ＿ＩＮがＣＬＫ＿ＯＵＴとして通過されるように、ＰＧクロックゲート回路２００をディセーブルする。ＣＬＫ＿ＩＮが論理Ｌｏｗに遷移することに応じて、ＬＡＴ＿ＥＮが論理Ｈｉｇｈに遷移した場合、結果的に得られるＣＬＫ＿ＥＮの論理Ｈｉｇｈ状態は、ラッチ２１０にラッチされ、その後、ＣＬＫ＿ＩＮが論理Ｈｉｇｈに遷移することに応じて、ＬＡＴ＿ＥＮが論理Ｌｏｗに遷移した場合、論理Ｈｉｇｈ状態に保たれる。このことによって、クロックゲート制御信号ＣＬＫ＿ＧＣを論理Ｈｉｇｈ状態に維持する。結果的に生じるＣＬＫ＿ＧＣの論理Ｈｉｇｈ状態によって、ＣＬＫ＿ＯＵＴのための波形を生成するために、ＣＬＫ＿ＩＮが、ＮＡＮＤゲート１０３とインバータ１０２とを通過することを可能とする。
【００５９】
[0031]クロックイネーブル信号
【数３３】
0006039081.tif 000034
【００６０】
が論理Ｈｉｇｈにアサートされた場合、ＰＧクロックゲート回路２００がイネーブルされ、クロックゲート回路２００をＣＬＫ＿ＩＮが通過することを阻止する。さらに詳しくは、（以前に制御回路１２０およびインバータ２１３によって生成された）ＬＡＴ＿ＥＮの論理Ｈｉｇｈ状態と
【数３４】
0006039081.tif 000035
【００６１】
の論理Ｌｏｗ状態とは、パスゲート２１６に対して、ＣＬＫ＿ＧＣの論理Ｌｏｗ状態を生成させる。このことは、制御回路１２０に対して、ＬＡＴ＿ＥＮをプルダウンさせ、
【数３５】
0006039081.tif 000036
【００６２】
をプルアップさせる。このことに応じて、ラッチ２１０は、クロックゲート制御信号ＣＬＫ＿ＧＣを論理Ｌｏｗ状態に維持する。このことは、ＮＡＮＤゲート１０３の出力を強制的に論理Ｈｉｇｈにし、よって、ＣＬＫ＿ＯＵＴをインバータ１０２を介して強制的に論理Ｌｏｗにする。
【００６３】
[0032]前述した明細書では、本実施形態は、その具体的な典型的実施形態を参照して記載されている。しかしながら、添付の特許請求の範囲に記載された本開示のより広い趣旨および範囲から逸脱することなく、様々な改変および変更がそれらに対して行われ得ることは明らかであろう。したがって、明細書および図面は、限定的な意味ではなく例示的な意味において考慮されるべきである。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
クロックゲート回路であって、前記クロックゲート回路は下記を備える、
入力クロック信号を受け取るための第１の入力端子と、
クロックイネーブル信号を受け取るための第２の入力端子と、
前記入力クロック信号と前記クロックイネーブル信号とを受け取るための第１および第２の入力端子を有し、ラッチイネーブル信号を生成するための出力端子を有するラッチ制御回路と、
前記クロックイネーブル信号に応じるデータ端子と、前記ラッチイネーブル信号に応じるラッチイネーブル端子とを有し、クロックゲート制御信号を生成するための出力端子を有するストレージラッチと、
前記入力クロック信号と前記クロックゲート制御信号とを受け取るための入力端子を有し、出力クロック信号を生成するための出力端子を有する論理ゲート。
［Ｃ２］
Ｃ１に記載のクロックゲート回路であって、前記クロックゲート回路が、前記入力クロック信号をゲート制御するようにイネーブルされた場合、前記ラッチ制御回路は、前記ラッチイネーブル信号を、強制的に一定の論理状態にする、
クロックゲート回路。
［Ｃ３］
Ｃ１に記載のクロックゲート回路であって、前記入力クロック信号が前記出力クロック信号として伝搬することを可能とするように前記クロックゲート回路がディセーブルされている場合、前記ラッチ制御回路は、前記入力クロック信号を前記ラッチイネーブル信号として通過させる、
クロックゲート回路。
［Ｃ４］
Ｃ１に記載のクロックゲート回路であって、前記ラッチ制御回路は、前記クロックゲート制御信号を受け取るための第３の入力端子を含む、
クロックゲート回路。
［Ｃ５］
Ｃ４に記載のクロックゲート回路であって、前記ラッチ制御回路は下記を備える、
前記クロックイネーブル信号に応じる第１の入力と、前記クロックゲート制御信号に応じる第２の入力と、出力とを有するＡＮＤゲートと、
前記入力クロック信号に応じる第１の入力と、前記ＡＮＤゲートの前記出力に結合された第２の入力と、前記ラッチイネーブル信号を生成するための出力とを有するＮＯＲゲート。

［Ｃ６］
Ｃ４に記載のクロックゲート回路であって、前記ラッチ制御回路は下記を備える、
前記クロックイネーブル信号に応じる入力と、出力とを有するインバータと、
前記インバータの前記出力に結合された第１の入力と、前記クロックゲート制御信号に応じる第２の入力と、出力とを有するＡＮＤゲートと、
前記入力クロック信号に応じる第１の入力と、前記ＡＮＤゲートの前記出力に結合された第２の入力と、前記ラッチイネーブル信号を生成するための出力とを有するＮＯＲゲート。
［Ｃ７］
Ｃ１に記載のクロックゲート回路であって、前記ストレージラッチは下記を備える、
供給電圧と接地電位との間に直列に結合されたＰＭＯＳトランジスタならびに第１、第２、および第３のＮＭＯＳトランジスタ、ここにおいて、前記ＰＭＯＳトランジスタおよび前記第１のＮＭＯＳトランジスタのゲートは、前記論理ゲートの前記出力端子に接続され、前記第２のＮＭＯＳトランジスタのゲートは、前記ラッチイネーブル信号に応じ、前記第３のＮＭＯＳトランジスタのゲートは、前記クロックゲート制御信号に応じる、と、
前記クロックイネーブル信号に応じる入力端子と、前記クロックゲート制御信号を生成するための出力と、前記ラッチイネーブル信号に応じる制御端子とを有するパスゲート。
［Ｃ８］
Ｃ７に記載のクロックゲート回路であって、前記ラッチイネーブル信号は、前記クロックイネーブル信号がデアサートされることに応じて、前記パスゲートを、非電導状態に維持する、クロックゲート回路。
［Ｃ９］
クロックイネーブル信号に応じて、入力クロック信号を出力クロック信号として選択的に通過させるためのクロックゲート回路であって、前記クロックゲート回路は下記を備える、
前記入力クロック信号と、前記クロックイネーブル信号と、クロックゲート制御信号とを受け取るための入力端子を有し、ラッチイネーブル信号を生成するための出力端子を有するラッチ制御回路と、
前記クロックイネーブル信号に応じるデータ端子と、前記ラッチイネーブル信号に応じるラッチイネーブル端子とを有し、前記クロックゲート制御信号を生成するための出力端子を有するストレージラッチと、
前記入力クロック信号と前記クロックゲート制御信号とを受け取るための入力端子を有し、出力クロック信号を生成するための出力端子を有する論理ゲート。
［Ｃ１０］
Ｃ９に記載のクロックゲート回路であって、前記クロックゲート回路がイネーブルされた場合、前記ラッチ制御回路は、前記ラッチイネーブル信号を、強制的に一定の論理状態にする、クロックゲート回路。
［Ｃ１１］
Ｃ１０に記載のクロックゲート回路であって、前記クロックゲート回路がイネーブルされた場合、前記論理ゲートは、前記出力クロック信号を、強制的に一定の論理状態にする、クロックゲート回路。
［Ｃ１２］
Ｃ９に記載のクロックゲート回路であって、前記クロックゲート回路がディセーブルされた場合、前記ラッチ制御回路は、前記入力クロック信号を前記ラッチイネーブル信号として通過させる、クロックゲート回路。
［Ｃ１３］
Ｃ１２に記載のクロックゲート回路であって、前記クロックゲート回路がディセーブルされた場合、前記論理ゲートは、前記入力クロック信号を前記出力クロック信号として通過させる、クロックゲート回路。
［Ｃ１４］
Ｃ９に記載のクロックゲート回路であって、前記ラッチ制御回路は下記を備える、
前記クロックイネーブル信号に応じる第１の入力と、前記クロックゲート制御信号に応じる第２の入力と、出力とを有するＡＮＤゲートと、
前記入力クロック信号に応じる第１の入力と、前記ＡＮＤゲートの前記出力に結合された第２の入力と、前記ラッチイネーブル信号を生成するための出力とを有するＮＯＲゲート。
［Ｃ１５］
Ｃ９に記載のクロックゲート回路であって、前記ラッチ制御回路は下記を備える、
前記クロックイネーブル信号に応じる入力と、出力とを有するインバータと、
前記インバータの前記出力に結合された第１の入力と、前記クロックゲート制御信号に応じる第２の入力と、出力とを有するＡＮＤゲートと、
前記入力クロック信号に応じる第１の入力と、前記ＡＮＤゲートの前記出力に結合された第２の入力と、前記ラッチイネーブル信号を生成するための出力とを有するＮＯＲゲート。
［Ｃ１６］
Ｃ９に記載のクロックゲート回路であって、前記ストレージラッチは下記を備える、
供給電圧と接地電位との間に直列に結合されたＰＭＯＳトランジスタならびに第１、第２、および第３のＮＭＯＳトランジスタ、ここにおいて、前記ＰＭＯＳトランジスタおよび前記第１のＮＭＯＳトランジスタのゲートは、前記論理ゲートの前記出力端子に接続され、前記第２のＮＭＯＳトランジスタのゲートは、前記ラッチイネーブル信号に応じ、前記第３のＮＭＯＳトランジスタのゲートは、前記クロックゲート制御信号に応じる、と、
前記クロックイネーブル信号に応じる入力端子と、前記クロックゲート制御信号を生成するための出力と、前記ラッチイネーブル信号に応じる制御端子とを有するパスゲート。
［Ｃ１７］
Ｃ１６に記載のクロックゲート回路であって、前記ラッチイネーブル信号は、前記クロックイネーブル信号がデアサートされることに応じて、前記パスゲートを、非電導状態に維持する、
クロックゲート回路。
【図１Ａ】
0006039081.tif 000037
【図１Ｂ】
0006039081.tif 000038
【図２】
0006039081.tif 000039
【図３】
0006039081.tif 000040
【図４】
0006039081.tif 000041