(57)【特許請求の範囲】
【請求項１】
フリップフロップ回路であって、
データ信号を受けるための第１の入力端子と、クロック信号を受けるための第２の入力端子と、第１のノードにおける出力端子とを含む第１のラッチと、
前記第１のラッチの前記出力端子に直接接続された第１の入力端子と、前記クロック信号を受けるための第２の入力端子と、出力信号を供給するための出力端子とを含む第２のラッチと、ここにおいて、前記第１のラッチ及び前記第２のラッチは、前記クロック信号の同じ位相上でクロックされるものとする、
前記第１のラッチは、
前記データ信号及び前記クロック信号を受けるための入力端子を含み、出力端子を含む第１のＯＲゲートと、
前記クロック信号を受けるための第１の入力端子と、第２の入力端子と、前記第１のノードに結合された出力端子とを含む第１のＮＡＮＤゲートと、
前記第１のＯＲゲートの前記出力端子に結合された第１の入力端子と、前記第１のノードに結合された第２の入力端子と、第２のノードにおいて前記第１のＮＡＮＤゲートの前記第２の入力端子に結合された出力端子とを含む第２のＮＡＮＤゲートと
を備える、フリップフロップ回路。
【請求項２】
前記第１のラッチは、前記クロック信号が論理ロー状態にある場合には、前記第２のノードにおいて前記データ信号の相補を記憶するものとし、
前記第１のラッチは、前記クロック信号が論理ハイ状態にある場合には、前記第１のノードを介して前記データ信号を前記第２のラッチにパスするものとする、
請求項１に記載のフリップフロップ回路。
【請求項３】
前記第２のラッチは、
前記クロック信号及び前記出力信号を受けるための入力端子を含み、出力端子を含む第２のＯＲゲートと、
前記第１のノードに結合された第１の入力端子と、前記第２のＯＲゲートの前記出力端子に結合された第２の入力端子と、前記出力信号の相補を供給するための出力端子と含む第３のＮＡＮＤゲートと
を備える、請求項１に記載のフリップフロップ回路。
【請求項４】
前記第２のラッチは、前記クロック信号が論理ロー状態にある場合、前記出力信号の前の状態を出力するものとして、
前記第２のラッチは、前記クロック信号が論理ハイ状態にある場合、前記データ信号に応答して前記出力信号をドライブするものとする、
請求項３に記載のフリップフロップ回路。
【請求項５】
フリップフロップ回路であって、
データ信号を受けるための第１の入力端子と、クロック信号を受けるための第２の入力端子と、第１のノードにおける出力端子とを含む第１のラッチと、
前記第１のラッチの前記出力端子に直接接続された第１の入力端子と、前記クロック信号を受けるための第２の入力端子と、出力信号を供給するための出力端子とを含む第２のラッチと、ここにおいて、前記第１のラッチ及び前記第２のラッチは、前記クロック信号の同じ位相上でクロックされるものとする、
前記第１のラッチは、ＮＡＮＤゲートに接続された第１のＯＲ−ＡＮＤ−ＩＮＶＥＲＴ論理ゲートを備え、
前記第２のラッチは、第２のＯＲ−ＡＮＤ−ＩＮＶＥＲＴ論理ゲートを備える、
フリップフロップ回路。
【請求項６】
データ信号に応答して出力信号を選択的にドライブするフリップフロップ回路であって、
前記データ信号及びクロック信号を受けるための入力端子を含み、前記クロック信号が第１の状態にある場合、前記データ信号の相補をラッチするための出力端子を含む第１の論理ゲートと
前記クロック信号、及び前記データ信号の前記相補を受けるための入力端子を含み、内部信号を生成するための出力端子を含む第２の論理ゲートと
を備える第１のラッチと、
前記第１のラッチに直接接続され、
前記クロック信号、前記出力信号、及び前記内部信号を受けるための入力端子を含み、前記出力信号を生成するための出力端子を含む第３の論理ゲートと、
を備える第２のラッチと、
を備えるフリップフロップ回路。
【請求項７】
前記第１の論理ゲート、前記第２の論理ゲート及び前記第３の論理ゲートは、前記クロック信号の同じ位相上で動作するものとする、請求項６に記載のフリップフロップ回路。
【請求項８】
前記フリップフロップ回路は、パスゲート回路を含まない、請求項６に記載のフリップフロップ回路。
【請求項９】
前記第２の論理ゲートは、前記クロック信号が前記第１の状態にある場合には、前記内部信号を論理ハイ状態にドライブするものとし、
前記第２の論理ゲートは、前記クロック信号が第２の状態にある場合には、前記データ信号を示す状態に前記内部信号をドライブするものとする、
請求項６に記載のフリップフロップ回路。
【請求項１０】
前記第３の論理ゲートは、前記クロック信号が前記第１の状態にある場合には、前記出力信号の前の状態を維持するものとし、
前記第３の論理ゲートは、前記クロック信号が第２の状態にある場合には、前記内部信号の前記状態に前記出力信号をドライブするものとする、
請求項６に記載のフリップフロップ回路。
【請求項１１】
前記第１の論理ゲートは、第１のＯＲ−ＡＮＤ−ＩＮＶＥＲＴ論理ゲートを備え、
前記第２の論理ゲートは、ＮＡＮＤゲートを備え、
前記第３の論理ゲートは、第２のＯＲ−ＡＮＤ−ＩＮＶＥＲＴ論理ゲートを備える、
請求項６に記載のフリップフロップ回路。
【請求項１２】
前記第１、第２、及び第３の論理ゲートは、各々、ＯＲ−ＡＮＤ−ＩＮＶＥＲＴ論理ゲートを備える、請求項６に記載のフリップフロップ回路。
【請求項１３】
前記第１のラッチは、
前記データ信号及び前記クロック信号を受けるための入力端子を含み、出力端子を含む第１のＯＲゲートと、
前記クロック信号を受けるための第１の入力端子と、第２の入力端子と、前記内部信号を受けるための出力端子とを含む第１のＮＡＮＤゲートと、
前記第１のＯＲゲートの前記出力端子に結合された第１の入力端子と、前記内部信号を受けるための第２の入力端子と、前記第１のＮＡＮＤゲートの前記第２の入力端子に結合された出力端子とを含む第２のＮＡＮＤゲートと  を備える、請求項６に記載のフリップフロップ回路。
【請求項１４】
前記第２のラッチは、
前記クロック信号及び前記出力信号を受けるための入力端子を含み、出力端子を含む第２のＯＲゲートと、
前記内部信号を受けるための第１の入力端子と、前記第２のＯＲゲートの前記出力端子に結合された第２の入力端子と、前記出力信号の相補を供給するための出力端子と含む第３のＮＡＮＤゲートと
を備える、請求項１３に記載のフリップフロップ回路。
【請求項１５】
前記データ信号及び前記出力信号を受けるための入力端子を含み、フィードバック信号を前記第２の論理ゲートに供給するための出力端子を含むＮＯＲゲート
をさらに備える、請求項６に記載のフリップフロップ回路。
【請求項１６】
前記第１のラッチは、
前記データ信号及び前記クロック信号を受けるための入力端子を含み、出力端子を含む第１のＯＲゲートと、
前記フィードバック信号及び前記クロック信号を受けるための入力端子を含み、出力端子を含む第２のＯＲゲートと、
前記第２のＯＲゲートの前記出力端子に結合された第１の入力端子と、第２の入力端子と、前記内部信号を受けるための出力端子とを含む第１のＮＡＮＤゲートと、
前記第１のＯＲゲートの前記出力端子に結合された第１の入力端子と、前記内部信号を受けるための第２の入力端子と、前記第１のＮＡＮＤゲートの前記第２の入力端子に結合された出力端子とを含む第２のＮＡＮＤゲートと  を備える、請求項１５に記載のフリップフロップ回路。
【請求項１７】
前記第２のラッチは、
前記クロック信号及び前記出力信号を受けるための入力端子を含み、出力端子を含む第２のＯＲゲートと、
前記内部信号を受けるための第１の入力端子と、前記第２のＯＲゲートの前記出力端子に結合された第２の入力端子と、前記出力信号の相補を供給するための出力端子とを含む第３のＮＡＮＤゲートと
を備える、請求項１６に記載のフリップフロップ回路。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  本実施形態は一般に電子回路に関し、より具体的には、フリップフロップ回路に関する。
【背景技術】
【０００２】
[0002]  動的な電力消費は、特に、増加し続けるクロック周波数が同期ＩＣデバイスで使用される場合の、集積回路（ＩＣ）デバイスに対する進行中の懸念事項である。幾つかのＩＣデバイスについて、動的な電力消費全体の半分よりも多くは、クロック分配ネットワーク及びフリップフロップ回路に起因し得る。従来の多くのフリップフロップは、フリップフロップ内にラッチ及び／又はゲート回路を形成する様々なパスゲート及び／又はトライステート回路が使用する相補クロック信号を生成するためのインバータ回路を用いる。これらインバータ回路は、パスゲート及びトライステート回路と同様に、クロック信号が論理状態間を遷移する度に動的な電力を消費する。結果として、これら従来のフリップフロップは、切替えアクティビティが比較的低いときであっても、かなりの量の動的な電力を消費し得る。
【０００３】
[0003]  例えば、図１は、第１のラッチ１１０、第２のラッチ１２０、クロック反転回路１３０、並びにインバータＩＮＶ０及びＩＮＶ３を含む従来のデータフリップフロップ回路１００を示す。第１のラッチ１１０は、「マスタ」ラッチとして動作し得、第２のラッチ１２０は、「スレーブ」ラッチとして動作し得る。第１のラッチ１１０は、第１のパスゲートＰＧ１と、交差結合されたインバータＩＮＶ１ａ及びＩＮＶ１ｂによって形成される第１の記憶素子１１１とを含む。第２のラッチ１２０は、第２のパスゲートＰＧ２と、交差結合されたインバータＩＮＶ２ａ及びＩＮＶ２ｂによって形成される第２の記憶素子１２１とを含む。それぞれラッチ１１０及び１２０内のパスゲートＰＧ１−ＰＧ２並びにトライステートインバータＩＮＶ１ｂ及びＩＮＶ２ｂのために相補クロック信号（complementary clock signals）を生成するものであるクロック反転回路１３０は、２つの直列接続されたインバータＩＮＶ４ａ及びＩＮＶ４ｂを含む。例えば、クロック信号ＣＬＫは、ＣＬＫを反転して（例えば、論理的に相補して）
【０００４】
【数１】
0006386130.tif 000002
【０００５】
[0004]  データ信号（Ｄ）は、インバータＩＮＶ０によって反転され、
【０００６】
【数２】
0006386130.tif 000003
【０００７】
ＣＬＫｎを受けるための反転（例えば、相補）制御端子を含む。インバータＩＮＶ１ｂは、ＣＬＫｎを受けるためのイネーブル端子を含み、
【０００８】
【数３】
0006386130.tif 000004
【０００９】
第１のラッチ１１０の出力端子は、第２のパスゲートＰＧ２に結合される。
【００１０】
[0005]  第２のパスゲートＰＧ２は、ＣＬＫｎを受けるための制御端子と、
【００１１】
【数４】
0006386130.tif 000005
【００１２】
ＣＬＫｎを受けるための反転（例えば、相補）イネーブル端子を含むトライステートインバータとして描写される。
【００１３】
[0006]  ＣＬＫが論理ロー状態にある場合、インバータＩＮＶ４ａは、
【００１４】
【数５】
0006386130.tif 000006
【００１５】
インバータＩＮＶ４ｂは、ＣＬＫｎを論理ロー状態にドライブする。これに応答して、パスゲートＰＧ１はオンになり、
【００１６】
【数６】
0006386130.tif 000007
【００１７】
第２のパスゲートＰＧ２をオフにし、それによって、第２のラッチ１２０を第１のラッチ１１０から隔離する。
【００１８】
[0007]  ＣＬＫが論理ハイに遷移すると、
【００１９】
【数７】
0006386130.tif 000008
【００２０】
インバータＩＮＶ４ｂは、ＣＬＫｎを論理ハイにドライブする。これに応答して、パスゲートＰＧ１はオフになり、第１のラッチ１１０を入力信号Ｄから隔離し、そして第２のパスゲートＰＧ２はオンになり、
【００２１】
【数８】
0006386130.tif 000009
【００２２】
これは、Ｑ＝Ｄとなるように、インバータＩＮＶ３によって反転され、フリップフロップ出力信号Ｑとして供給される。
【００２３】
【数９】
0006386130.tif 000010
【００２４】
入力クロック信号ＣＬＫが論理状態間で遷移する度に動的な電力を消費するが、これは望ましくない。加えて、パスゲートＰＧ１−ＰＧ２及びトライステートインバータＩＮＶ１ｂ及びＩＮＶ２ｂが
【００２５】
【数１０】
0006386130.tif 000011
【００２６】
パスゲートＰＧ１−ＰＧ２並びにラッチ１１０及び１２０は、クロック信号が論理状態間で遷移する度に動的な電力を消費するが、これもまた望ましくない。
【００２７】
[0009]  ゆえに、フリップフロップ回路に関連付けられた動的な電力消費を減らす必要性がある。
【発明の概要】
【００２８】
[0010]  この発明の概要は、以下の発明の詳細な説明においてさらに説明される概念のうち選択されたものを簡略化された形式で紹介するために提供される。この発明の概要は、請求項に記載の主題の重要な特徴又は本質的な特徴を識別することを意図しておらず、請求項に記載の主題の範囲を限定することも意図していない。
【００２９】
[0011]  図１のフリップフロップ回路１００のような従来のフリップフロップ回路と比べて、動的な電力消費を減らし得るフリップフロップ回路が開示される。本実施形態によれば、フリップフロップ回路は、第１のラッチ及び第２のラッチを含み得る。「マスタ」ラッチとして動作し得る第１のラッチは、データ信号を受けるための第１の入力端子と、クロック信号を受けるための第２の入力端子と、出力端子とを含む。「スレーブ」ラッチとして動作し得る第２のラッチは、第１のラッチの出力端子に直接接続された第１の入力端子と、クロック信号を受けるための第２の入力端子と、出力信号を供給するための出力端子とを含む。第１のラッチ及び第２のラッチは、クロック信号の同じ位相上でクロックされるものとし、それにより、相補クロック信号を生成するクロック反転回路を含む必要性がなくなる。クロック反転回路及びパスゲートを除去することは、動的な電力消費を減らし得る（従来のフリップフロップ回路と比べて）。
【００３０】
[0012]  幾つかの実施形態について、第１のラッチは、クロック信号が論理ロー状態にある場合には、内部ノードにおいてデータ信号の相補を記憶するものとし、クロック信号が論理ハイ状態にある場合には、データ信号を第２のラッチにパスするものとする。さらに、幾つかの実施形態について、第２のラッチは、クロック信号が論理ロー状態にある場合には、出力信号の前の状態を出力するものとし、クロック信号が論理ハイ状態にある場合には、データ信号に応答して出力信号をドライブするものとする。
【００３１】
[0013]  幾つかの実施形態について、第１のラッチは、データ信号及びクロック信号を受けるための入力端子を含み、出力端子を含む第１のＯＲゲート；クロック信号を受けるための第１の入力端子と、第２の入力端子と、第１のノードに結合された出力端子とを含む第１のＮＡＮＤゲート；及び、第１のＯＲゲートの出力端子に結合された第１の入力端子と、第１のノードに結合された第２の入力端子と、第２のノードにおいて第１のＮＡＮＤゲートの第２の入力端子に結合された出力端子とを含む第２のＮＡＮＤゲートを備える。
【００３２】
[0014]  他の実施形態について、フリップフロップ回路は、データ信号及び出力信号に応答してフィードバック信号を生成するＮＯＲゲートを含み得る。フィードバック信号は、フィードバック信号がアサートされるとクロック信号を無視するように構成され得る第１のラッチに供給され得る。他の実施形態のうちの少なくとも１つについて、第１のラッチは、データ信号及びクロック信号を受けるための入力端子を含み、出力端子を含む第１のＯＲゲート；フィードバック信号及びクロック信号を受けるための入力端子を含み、出力端子を含む第２のＯＲゲート；第２のＯＲゲートの出力端子に結合された第１の入力端子と、第２の入力端子と、第１のノードに結合された出力端子とを含む第１のＮＡＮＤゲート；及び、第１のＯＲゲートの出力端子に結合された第１の入力端子と、第１のノードに結合された第２の入力端子、第２のノードにおいて第１のＮＡＮＤゲートの第２の入力端子に結合された出力端子と含む第２のＮＡＮＤゲートを備える。
【００３３】
[0015]  幾つかの実施形態について、第２のラッチは、クロック信号及び出力信号を受けるための入力端子を含み、出力端子を含む第２のＯＲゲート；及び、第１のノードに結合された第１の入力端子と、第２のＯＲゲートの出力端子に結合された第２の入力端子と、出力信号の相補を供給するための出力端子とを含む第３のＮＡＮＤゲートを備える。
【００３４】
[0016]  本実施形態は、例として例示され、添付の図面の図によって限定されることを意図していない。
【図面の簡単な説明】
【００３５】
【図１】図１は、従来のフリップフロップ回路の回路図である。
【図２Ａ】図２Ａは、幾つかの実施形態に係る、フリップフロップ回路のブロック図である。
【図２Ｂ】図２Ｂは、図２Ａのフリップフロップ回路の一実施形態の回路図である。
【図３Ａ】図３Ａは、他の実施形態に係るフリップフロップ回路のブロック図である。
【図３Ｂ】図３Ｂは、図３Ａのフリップフロップ回路の一実施形態の回路図である。
【図３Ｃ】図３Ｃは、図３Ａのフリップフロップ回路の別の実施形態の回路図である。
【図３Ｄ】図３Ｄは、図３Ａのフリップフロップ回路のさらに別の実施形態の回路図である。
【発明を実施するための形態】
【００３６】
[0024]  同様の参照番号は、複数の図全体を通して対応する部分を指す。
【００３７】
[0025]  本実施形態は、簡略さのためだけに、データタイプのフリップフロップ回路に照らして以下に説明される。本実施形態が、他のタイプのフリップフロップ回路（例えば、セット−リセット（ＳＲ）フリップフロップ及びＪＫフリップフロップのような）に等しく適用可能であることは理解されるものとする。以下の説明では、本開示の完全な理解を提供するために、特定の構成要素、回路、及びプロセスの例のような、多数の特定の詳細が示される。また、以下の説明では、説明上の目的で、本実施形態の完全な理解を提供するために、特定の専門用語が示される。しかしながら、これらの特定の詳細が本実施形態を実施するのに必要とされない場合もあることは、当業者にとって明らかであろう。他の事例では、周知の回路及びデバイスは、本開示を曖昧にしないために、ブロック図形式で示される。本明細書で使用される場合、「結合された（coupled）」という用語は、直接接続されること、或いは１つ又は複数の介在構成要素又は回路を通じて接続されることを意味する。本明細書で説明される様々なバスを通して供給される信号はいずれも、他の信号と時間多重化され、１つ又は複数の共通バスを通して供給され得る。追加的に、回路素子又はソフトウェアブロック間の相互接続が、バス又は単一信号線として示され得る。これらバスの各々は代替的に単一信号線であり得、これら単一信号線の各々は代替的にバスであり得、単一の線又はバスは、構成要素間の通信のための無数の物理的又は論理的なメカニズムのうちの何れか１つ又は複数を表し得る。本実施形態は、本明細書で説明される特定の例に限定されると解釈されるべきではなく、添付の特許請求の範囲によって定義される全ての実施形態をその範囲内に含むように解釈されるべきである。
【００３８】
[0026]  さらに、本明細書で使用される場合、「反転（された）」という用語は、信号の論理的な相補（logical complement）を生成するために信号を論理的に反転することを指し、したがって、「反転（された）」、「論理的な相補」、及び「相補（された）」という用語は、本明細書では交換して使用され得る。
【００３９】
[0027]  図２Ａは、幾つかの実施形態に係る、データタイプのフリップフロップ回路２００のブロック図を示す。フリップフロップ回路２００は、第１のラッチ２１０及び第２のラッチ２２０を含むように示される。「マスタ」ラッチとして動作し得る第１のラッチ２１０は、ＯＲゲートＸ０と、２つのＮＡＮＤゲートＸ１及びＸ２とを含む。ＯＲゲートＸ０は、クロック信号ＣＬＫ及びデータビット（Ｄ）を受けるための入力端子を含み、信号Ｓ０を生成するための出力端子を含む。ＮＡＮＤゲートＸ１は、ノードＮ１において信号Ｓ１を生成するための出力端子を含み、ＮＡＮＤゲートＸ２は、ノードＮ２において信号Ｓ２を生成するための出力端子を含む。ＮＡＮＤゲートＸ１は、クロック信号ＣＬＫと、ＮＡＮＤゲートＸ２によって生成された信号Ｓ２とを受けるための入力端子を含み、ＮＡＮＤゲートＸ２は、ＮＡＮＤゲートＸ１によって生成された信号Ｓ１を受け、ＯＲゲートＸ０から出力された信号Ｓ０を受けるための入力端子を含む。幾つかの実施形態について、第１のノードＮ１における信号Ｓ１は、本明細書では、「内部信号」と呼ばれ得る。より詳細に以下で説明されるように、内部信号Ｓ１は、第１のラッチ２１０がデータ信号Ｄをラッチする場合には（例えば、クロック信号ＣＬＫの第１の状態に応答して）、論理ハイ状態にドライブされ得、第１のラッチ２１０がデータ信号Ｄを第２のラッチ２２０にパスする場合には（例えば、クロック信号ＣＬＫの第２の状態に応答して）、データ信号Ｄの値にドライブされ得る。
【００４０】
[0028]  「スレーブ」ラッチとして動作し得る第２のラッチ２２０は、ＮＡＮＤゲートＸ３、ＯＲゲートＸ４、並びに２つのインバータＸ５及びＸ６を含む。ＮＡＮＤゲートＸ３は、第１のラッチ２１０によって供給される信号Ｓ１を受けるための第１の入力端子と、ＯＲゲートＸ４の出力端子に結合された第２の入力端子と、ノードＮ３において信号Ｓ３を生成するための出力端子とを含む。インバータＸ６は、信号Ｓ３を論理的に反転して、フリップフロップ回路２００の出力信号（Ｑ）を生成する。インバータＸ５は、信号Ｓ３を論理的に反転して、内部Ｑ信号を生成する。ＯＲゲートＸ４は、クロック信号ＣＬＫと、インバータＸ５によって生成されたＱ信号とを受けるための入力端子を含み、信号Ｓ４を生成するための出力端子を含む。
【００４１】
[0029]  インバータＸ５及びＸ６が、反転バッファ回路として動作し得ることに留意されたい。他の実施形態について、インバータＸ５及びＸ６は、他の適切なバッファ回路によって置き換えられ得るか、又は除去され得る。さらに、インバータＸ５及びＸ６が両方とも、ノードＮ３における信号Ｓ３に応答して出力信号Ｑを生成することに留意されたい。インバータＸ５は、Ｑ信号をＯＲゲートＸ４に供給し、一方で、インバータＸ６は、Ｑ信号を出力信号として供給する（例えば、簡潔さのために示されない別の回路又はデバイスに）。このように、インバータＸ５によって供給されるＱ信号は、インバータＸ６によって供給されるＱ信号ほどノイズの影響を受け易くなく、よって、第２のラッチ２２０による内部論理信号としての使用により適している。他の実施形態について、インバータＸ５は省略され得、インバータＸ６によって供給されるＱ信号が、ＯＲゲートＸ４の入力端子に供給され得る。
【００４２】
[0030]  フリップフロップ回路２００の例示的な動作が以下で説明される。クロック信号ＣＬＫが論理ロー状態にある場合（ＣＬＫ＝０）、ＮＡＮＤゲートＸ１は、信号Ｓ１＝１となるように、その出力端子Ｎ１を論理ハイにし、ＯＲゲートＸ０は、Ｓ０＝Ｄとなるように、Ｄの値をその出力信号Ｓ０としてパスする。信号Ｓ１の論理ハイ状態は、データビットＤを反転し、
【００４３】
【数１１】
0006386130.tif 000012
[0031]  信号Ｓ１の論理ハイ状態及びＣＬＫの論理ロー値が、第２のラッチ２２０に供給される。ＣＬＫ＝０に応答して、ＯＲゲートＸ４は、Ｑの前値（previous value）を、信号Ｓ４としてＮＡＮＤゲートＸ３にパスする。信号Ｓ１の論理ハイ状態に応答して、ＮＡＮＤゲートＸ３は、信号Ｓ４を反転し、
【００４４】
【数１２】
0006386130.tif 000013
【００４５】
インバータＸ６は、信号Ｓ３の値を反転して、その出力信号Ｓ６をＱの値にドライブし（Ｓ６＝Ｑ）、それによって、出力信号Ｑの前の状態を維持する。インバータＸ５もまた、信号Ｓ３の値を反転して、その出力信号Ｓ５をＱの値にドライブし（Ｓ５＝Ｑ）、それによって、ＯＲゲートＸ４への入力信号Ｓ５を、出力信号Ｑの値に等しく保つ。このように、
【００４６】
【数１３】
0006386130.tif 000014
【００４７】
第２のラッチ２２０内に形成されるＮＡＮＤ−ＩＮＶ−ＯＲ構造によってノードＮ３に記憶される。
【００４８】
[0032]  クロック信号ＣＬＫが、論理ハイ状態（ＣＬＫ＝１）に遷移すると、第１のラッチ２１０は、前にラッチされたＤの値を、ノードＮ１を介して第２のラッチ２２０にパスする。より具体的には、ＣＬＫ＝１に応答して、ＮＡＮＤゲートＸ１は、
【００４９】
【数１４】
0006386130.tif 000015
【００５０】
ノードＮ１においてデータ信号Ｄを生成し、次いで、Ｄの値は、信号Ｓ１として第２のラッチ２２０に供給される。ＣＬＫの論理ハイ状態はまた、ＯＲゲートＸ０に、その出力信号Ｓ０を論理ハイにドライブさせる。信号Ｓ０の論理ハイ状態は、信号Ｓ１の反転値をその出力端子Ｎ２にパスすることをＮＡＮＤゲートＸ２に行わせ、それによって、
【００５１】
【数１５】
0006386130.tif 000016
【００５２】
このように、第１のラッチ２１０は、
【００５３】
【数１６】
0006386130.tif 000017
【００５４】
ノードＮ１においてＤの値を記憶する。クロック信号ＣＬＫが論理ハイから論理ローに遷移するまで、ＮＡＮＤゲートＸ１及びＸ２によって形成される第１のラッチ２１０が、ノードＮ１においてＤの値を、
【００５５】
【数１７】
0006386130.tif 000018
[0033]  ノードＮ１におけるＤの値は、信号Ｓ１としてＮＡＮＤゲートＸ３に供給される。ＣＬＫの論理ハイ状態は、出力信号Ｓ４を論理ハイにすることをＯＲゲートＸ４に行わせ、これは、次に、Ｄの値を反転することをＮＡＮＤゲートＸ３に行わせる。したがって、ＮＡＮＤゲートＸ３は、
【００５６】
【数１８】
0006386130.tif 000019
【００５７】
インバータＸ６は、信号Ｓ３の値を反転し、そして、Ｑ＝Ｄになるように、出力信号ＱをＤの値にドライブする。インバータＸ５もまた、信号Ｓ３の値を反転して、Ｓ５＝Ｄ＝Ｑとなるように、その出力信号Ｓ５をＤの値にドライブし、それによって、ＯＲゲートＸ４への入力信号Ｓ５を、出力信号Ｑの値に等しく保つ。このように、出力信号Ｑは、第２のラッチ２２０内に形成されるＮＡＮＤ−ＩＮＶ−ＯＲ構造によって入力データビットＤの現在値（current value）で更新される。
【００５８】
[0034]  上述したように、フリップフロップ回路２００は、第１のラッチ２１０がマスタラッチとして機能し、第２のラッチ２２０がスレーブラッチとして機能するデータタイプのフリップフロップとして動作し得る。より具体的には、クロック信号ＣＬＫが、論理ハイから論理ローに遷移すると、第１のラッチ２１０は、入力データビットＤの現在値を記憶し、第２のラッチ２２０は、出力信号Ｑの前値を記憶する。クロック信号ＣＬＫが、論理ローから論理ハイに遷移すると、第１のラッチ２１０は、入力データビットＤの現在値を第２のラッチ２２０にパスし（Ｄの値のあらゆる変化を無視しつつ）、第２のラッチ２２０は、Ｄの現在値を、出力信号Ｑとして供給する。
【００５９】
[0035]  本実施形態に従って、フリップフロップ回路２００の第１のラッチ２１０及び第２のラッチ２２０は、クロック信号ＣＬＫの同じ位相上で動作し得、それによって、相補クロック信号を生成する必要性がなくなる。結果として、フリップフロップ回路２００は、相補クロック信号を生成するためのクロック反転回路（例えば、図１のクロック反転回路１３０のような）が不要になる。クロック反転回路を除去する能力は、相補クロック信号を生成することに関連付けられた動的な電力消費を減らし得る（図１の従来のフリップフロップ回路１００と比べて）。例えば、図１のインバータＩＮＶ４ａ−ＩＮＶ４ｂは、クロック信号ＣＬＫのあらゆる状態偏移に応じて動的な電力を消費し得るが、クロック信号ＣＬＫの状態遷移は、図２Ａのフリップフロップ回路２００にはクロック反転回路が存在しないため、フリップフロップ回路２００の同様の動的な電力消費に帰着しないだろう。さらに、図１の従来のフリップフロップ回路１００とは対照的に、図２Ａのフリップフロップ回路２００は、ラッチ１１０及び１２０内にパスゲート及びトライステートインバータを含まないため、クロック信号ＣＬＫの状態遷移に応答したトライステートインバータ及びパスゲートの連続切替えに関連付けられた動的な電力消費を除去する。結果として、図２Ａのフリップフロップ回路２００は、図１の従来のフリップフロップ回路１００よりも少ない動的な電力を消費し得る。
【００６０】
[0036]  図２Ｂは、図２Ａのフリップフロップ回路２００の一実施形態であるフリップフロップ回路２５０を示す。フリップフロップ回路２５０は、第１の論理ゲート２５１、第２の論理ゲート２５２、及び第３の論理ゲート２５３を含むように示される。幾つかの実施形態について、第１の論理ゲート２５１は、ＯＲ−ＡＮＤ−ＩＮＶＥＲＴ（ＯＡＩ）ゲートとして動作し得、第２の論理ゲート２５２は、ＮＡＮＤゲートとして動作し得、第３の論理ゲート２５３は、ＯＡＩゲートとして動作し得る。さらに、少なくとも１つの実施形態について、図２Ｂの第１及び第２の論理ゲート２５１−２５２は、図２Ａの第１のラッチ２１０を実現し得、図２ＢのゲートＸ５及びＸ６と組み合せられる第３の論理ゲート２５３は、図２Ａの第２のラッチ２２０を実現し得る。より具体的には、第１の論理ゲート２５１は、図２ＡのＯＲゲートＸ０及びＮＡＮＤゲートＸ２を実現し得、第２の論理ゲート２５２は、図２ＡのＮＡＮＤゲートＸ１を実現し得る。
【００６１】
[0037]  第１の論理ゲート２５１は、ＮＭＯＳトランジスタＭＮ０−ＭＮ２及びＰＭＯＳトランジスタＭＰ０−ＭＰ２を含む。トランジスタＭＮ１及びＭＮ２は、ノードＮ２と接地電位との間で直列に結合され、トランジスタＭＮ０は、トランジスタＭＮ１と並列に結合される。トランジスタＭＮ１は、入力データビットＤを受けるためのゲートを有し、トランジスタＭＮ０は、クロック信号ＣＬＫを受けるためのゲートを有し、トランジスタＭＮ２は、ノードＮ１に結合されたゲートを有する。トランジスタＭＰ０及びＭＰ１は、ノードＮ２と電圧電源ＶＤＤとの間で直列に結合され、トランジスタＭＰ２は、ノードＮ２とＶＤＤとの間に結合される。トランジスタＭＰ１は、入力データビットＤを受けるためのゲートを有し、トランジスタＭＰ０は、クロック信号ＣＬＫを受けるためのゲートを有し、トランジスタＭＰ２は、ノードＮ１に結合されたゲートを有する。
【００６２】
[0038]  第２の論理ゲート２５２は、ＮＭＯＳトランジスタＭＮ３−ＭＮ４及びＰＭＯＳトランジスタＭＰ３−ＭＰ４を含む。トランジスタＭＮ３及びＭＮ４は、ノードＮ１と接地電位との間で直列に結合される。トランジスタＭＮ３は、クロック信号ＣＬＫを受けるためのゲートを有し、トランジスタＭＮ４は、ノードＮ２に結合されたゲートを有する。トランジスタＭＰ３及びＭＰ４は、ノードＮ１とＶＤＤとの間で並列に結合される。トランジスタＭＰ３は、クロック信号ＣＬＫを受けるためのゲートを有し、トランジスタＭＰ４は、ノードＮ２に結合されたゲートを有する。
【００６３】
[0039]  第３の論理ゲート２５３は、ＮＭＯＳトランジスタＭＮ５、ＭＮ６、及びＭＮ８を含み、ＰＭＯＳトランジスタＭＰ５、ＭＰ６、及びＭＰ８を含む。トランジスタＭＮ５及びＭＮ６は、ノードＮ３と接地電位との間で直列に結合され、トランジスタＭＮ８は、トランジスタＭＮ５と並列に結合される。トランジスタＭＮ５は、出力信号Ｑを受けるためのゲートを有し、トランジスタＭＮ６は、ノードＮ１に結合されたゲートを有し、トランジスタＭＮ８は、クロック信号ＣＬＫを受けるためのゲートを有する。トランジスタＭＰ５及びＭＰ８は、ノードＮ３とＶＤＤとの間で直列に結合され、トランジスタＭＰ６は、ノードＮ３とＶＤＤとの間に結合される。トランジスタＭＰ５は、出力信号Ｑを受けるためのゲートを有し、トランジスタＭＰ８は、クロック信号ＣＬＫを受けるためのゲートを有し、トランジスタＭＰ６は、ノードＮ１に結合されたゲートを有する。
【００６４】
[0040]  フリップフロップ回路２５０の例示的な動作が以下で説明される。クロック信号ＣＬＫが論理ロー状態にあるとき（ＣＬＫ＝０）、第１の論理ゲート２５１は、
【００６５】
【数１９】
0006386130.tif 000020
【００６６】
入力データビットＤの値をラッチし、第３の論理ゲート２５３は、出力信号Ｑの前値を維持する。より具体的には、ＣＬＫ＝０に応答して、トランジスタＭＰ０、ＭＰ３、及びＭＰ８はオンになり、トランジスタＭＮ０、ＭＮ３、及びＭＮ８はオフになる。導電性トランジスタＭＰ３は、信号Ｓ１が論理ハイ状態になるようにＶＤＤに向かってノードＮ１をハイに引き上げ、これは、トランジスタＭＮ２をオンにし、トランジスタＭＰ２をオフにする。Ｄの値は、トランジスタＭＰ１及びＭＮ１によって形成されるインバータによって反転され、それによって、
【００６７】
【数２０】
0006386130.tif 000021
【００６８】
ゆえに、クロック信号ＣＬＫが論理ローである場合、論理ゲート２５１−２５２によって形成される「マスタ」ラッチは、
【００６９】
【数２１】
0006386130.tif 000022
[0041]  信号Ｓ１の論理ハイ状態及びＣＬＫの論理ロー状態が第３の論理ゲート２５３に供給される。ＣＬＫ＝０に応答して、トランジスタＭＰ８はオンになり、トランジスタＭＮ８はオフになる。ノードＮ１における信号Ｓ１の論理ハイ状態は、トランジスタＭＮ６をオンにし、トランジスタＭＰ６をオフにする。出力信号Ｑの前値が、トランジスタＭＰ５及びＭＮ５によって形成されるインバータによって反転され、それによって、
【００７０】
【数２２】
0006386130.tif 000023
【００７１】
インバータＸ５及びＸ６は、ノードＮ３における信号Ｓ３の値を反転して、出力信号Ｑの前値を維持する。
【００７２】
[0042]  クロック信号ＣＬＫが論理ハイに遷移すると（ＣＬＫ＝１）、第２の論理ゲート２５２は、第１の論理ゲート２５１によってラッチされたような、Ｄの値を、第３の論理ゲート２５３にパスする。次いで、第３の論理ゲート２５３は、ラッチされたＤの値に応答して出力信号Ｑの値を更新し得る。より具体的には、ＣＬＫ＝１に応答して、トランジスタＭＰ０、ＭＰ３、及びＭＰ８はオフになり、トランジスタＭＮ０、ＭＮ３、及びＭＮ８はオンになる。導電性トランジスタＭＮ０は、トランジスタＭＮ２のドレインを接地電位に接続し、導電性トランジスタＭＮ３は、トランジスタＭＮ４のソースをノードＮ１に接続し、導電性トランジスタＭＮ８は、トランジスタＭＮ６のドレインを接地電位に接続する。非導電性トランジスタＭＰ０は、Ｄに応答してトランジスタＭＰ１がＶＤＤに向かってノードＮ２をハイに引き上げることを防ぎ、それによって、ＣＬＫ＝１のときに、第１の論理ゲート２５１に供給されるＤの現在値に係らず、
【００７３】
【数２３】
0006386130.tif 000024
【００７４】
[0043]  ノードＮ２における
【００７５】
【数２４】
0006386130.tif 000025
【００７６】
トランジスタＭＰ４及びＭＮ４によって形成されるインバータによって論理的に反転され、ノードＮ１においてＤの値が生成される。ノードＮ１におけるＤの値は、トランジスタＭＰ２及びＭＮ２によって形成されるインバータによって論理的に反転されて、
【００７７】
【数２５】
0006386130.tif 000026
【００７８】
[0044]  ノードＮ１におけるＤの値もまた、トランジスタＭＰ６及びＭＮ６によって形成されるインバータによって論理的に反転され、
【００７９】
【数２６】
0006386130.tif 000027
【００８０】
これは、インバータＸ５及びＸ６によって反転されて、出力信号ＱがＤの値にドライブされる（Ｑ＝Ｄ）。このように、ＣＬＫの論理ハイ状態は、クロック信号ＣＬＫが論理ハイから論理ローに遷移するまで、第１の論理ゲート２５１が入力データビットＤにおける状態遷移を無視することを可能にしつつ、Ｄの値を第２の論理ゲート２５２から第３の論理ゲート２５３に転送する。
【００８１】
[0045]  図２Ａを再度参照すると、フリップフロップ回路２００は、Ｄの次の状態と、Ｑの現在の状態の両方が論理ローであるとき、不必要な動的な電力を消費し得る。例えば、ＣＬＫの論理ロー状態は、ノードＮ１を論理ハイにドライブすることをＮＡＮＤゲートＸ１に行わせる。同時に、ノードＮ０は、入力データビットＤ＝０のとき、論理ローにドライブされ、したがって、ノードＮ２もまた、論理ハイにプルアップされる。次いで、ＣＬＫが論理ローから論理ハイに遷移すると、ＮＡＮＤゲートＸ１は、ノードＮ１を論理ハイから論理ローにドライブする。しかしながら、出力信号Ｑは、その状態を変更せず、論理ローで維持される。結果として、ノードＮ１は、Ｄの次の値とＱの現在値の両方が０であるとき、論理状態０と１との間を不必要に遷移し得る。
【００８２】
[0046]  この起こりうるタイミング問題を回避するために、例えば、図３で示されるように、フィードバック信号が供給され得る。図３Ａは、他の実施形態に係る、データタイプのフリップフロップ回路３００のブロック図を示す。フリップフロップ回路３００は、第１のラッチ３１０、図２Ａの第２のラッチ２２０、及びフィードバック信号ＦＢを第１のラッチ３１０に供給するＮＯＲゲートＸ８を含む。第１のラッチ３１０は、図２Ａの第１のラッチ２１０の全ての素子に加え、ＯＲゲートＸ７を含む。クロック信号ＣＬＫは、ＯＲゲートＸ７の第１の入力端子に供給され、フィードバック信号ＦＢは、ＯＲゲートＸ７の第２の入力端子に供給され、ＯＲゲートＸ７の出力端子は、ＮＡＮＤゲートＸ１の第１の入力端子に結合される。ＮＯＲゲートＸ８は、入力データビットＤを受けるための第１の入力端子と、出力信号Ｑを受けるための第２の入力端子と、フィードバック信号ＦＢを供給するための出力端子とを含む。
【００８３】
[0047]  フィードバック信号ＦＢは、出力信号Ｑの現在値とデータビットＤの到来値の両方が論理ローであるとき（Ｑ＝Ｄ＝０のとき）の、上述された不必要な電力消費問題を除去し得る。例えば、Ｑ＝Ｄ＝０のとき、ＮＯＲゲートＸ８は、フィードバック信号ＦＢを論理ハイにドライブし（ＦＢ＝１）、これは、クロック信号ＣＬＫとは関係なしに、ＯＲゲートＸ７に、ノード７におけるその出力信号Ｓ７を論理ハイにドライブさせる。このケースについて、Ｄ＝０及びＱ＝０に応答して生成された信号Ｓ７の論理ハイ状態は、ＮＡＮＤゲートＸ１が、
【００８４】
【数２７】
0006386130.tif 000028
【００８５】
次いで、ノードＮ１を論理ローにドライブすること（Ｄ＝０を第２のラッチ２２０にパスするために）を確実にする。
【００８６】
[0048]  Ｄ及びＱの全ての他のケースについて、ＮＯＲゲートＸ８は、フィードバック信号ＦＢを論理ローにドライブし（ＦＢ＝０）、それによって、ＯＲゲートＸ７が、ＣＬＫの値をＮＡＮＤゲートＸ１にパスすることを可能にする。これら他のケースについて、第１のラッチ３１０は、図２Ａの第１のラッチ２１０と同様の方法で動作し得る。
【００８７】
[0049]  図３Ｂは、図３Ａのフリップフロップ回路３００の一実施形態であるフリップフロップ回路３５０を示す。フリップフロップ回路３５０は、図２Ｂの第１の論理ゲート２５１、第２の論理ゲート３５２、及び図２Ｂの第３の論理ゲート２５３を含むように示される。幾つかの実施形態について、第１の論理ゲート２５１、第２の論理ゲート３５２、及び第３の論理ゲート２５３は各々、ＯＡＩ回路として動作し得る。さらに、少なくとも１つの実施形態について、図３Ｂの第１及び第２の論理ゲート２５１及び３５２は、図３Ａの第１のラッチ３１０を実現し得、図３ＢのゲートＸ５及びＸ６と組み合せられた第３の論理ゲート２５３は、図３Ａの第２のラッチ２２０を実現し得る。
【００８８】
[0050]  第２の論理ゲート３５２は、ＮＭＯＳトランジスタＭＮ３、ＭＮ４、及びＭＮ７を含み、ＰＭＯＳトランジスタＭＰ３、ＭＰ４、及びＭＰ７を含む。トランジスタＭＮ３及びＭＮ４は、ノードＮ１と接地電位との間で直列に結合される。トランジスタＭＮ３は、クロック信号ＣＬＫを受けるためのゲートを有し、トランジスタＭＮ４は、ノードＮ２に結合されたゲートを有する。トランジスタＭＮ７は、トランジスタＭＮ３と並列に結合され、フィードバック信号ＦＢを受けるためのゲートを有する。トランジスタＭＰ３及びＭＰ７は、ノードＮ１とＶＤＤとの間で直列に結合される。トランジスタＭＰ３は、クロック信号ＣＬＫを受けるためのゲートを有し、トランジスタＭＰ７は、フィードバック信号ＦＢを受けるためのゲートを有する。トランジスタＭＰ４は、ノードＮ１とＶＤＤとの間に結合され、ノードＮ２に結合されたゲートを有する。図３ＢのトランジスタＭＰ７及びＭＮ７が、図３ＡのＯＲゲートＸ７を実現し得ることに留意されたい。
【００８９】
[0051]  図３Ｂのフリップフロップ回路３５０の例示的な動作が、入力データビットＤの値及び出力信号Ｑの値の異なる組み合わせに関連して以下で説明される。第１のケースは、Ｄの次の状態が論理ローであり、Ｑの現在の状態が論理ハイであるときである（即ち、Ｄ＝０及びＱ＝１）。クロック信号ＣＬＫ＝０のとき、トランジスタＭＰ５及びＭＮ５によって形成されるインバータは、Ｑの論理ハイ値を反転して、ノードＮ３を論理ローにドライブし、これは、次に、インバータＸ６によって反転されて、Ｑ＝１が維持される。Ｄ＝０及びＱ＝１に応答して、ＮＯＲゲートＸ８は、フィードバック信号ＦＢを論理ローにドライブし、これは、トランジスタＭＰ７をオンにし、トランジスタＭＮ７をオフにする。結果として、ノードＮ１は、ＣＬＫ＝０に応答してトランジスタＭＰ３によってＶＤＤに向かってハイに引き上げられ、これは、トランジスタＭＮ２をオンにする。ゆえに、トランジスタＭＰ１及びＭＮ１によって形成されるインバータは、
【００９０】
【数２８】
0006386130.tif 000029
【００９１】
このように、第３の論理ゲート２５３は、現在値であるＱ＝１を維持し、第１の論理ゲート２５１は、Ｄ＝０という値をラッチする。
【００９２】
[0052]  ＣＬＫが論理ローから論理ハイに遷移すると、トランジスタＭＮ３はオンになり、接地電位向かってノードＮ１をローに引き下げる。ノードＮ１の論理ロー状態は、トランジスタＭＰ２をオンにし、これは、ノードＮ２をＶＤＤに向かってハイに引き上げ、その結果、ノードＮ２の論理ハイ状態を維持して、
【００９３】
【数２９】
0006386130.tif 000030
【００９４】
ノードＮ１の論理ロー状態は、トランジスタＭＮ６をオフに、トランジスタＭＰ６オンにし、それによって、ＶＤＤに向かってノードＮ３をハイに引き上げ、
【００９５】
【数３０】
0006386130.tif 000031
【００９６】
これに応答して、インバータＸ６は、Ｄ＝０に応答してＱ＝０を更新する。ＣＬＫ＝１である間、ノードＮ２が、導電性トランジスタＭＰ２によって論理ハイ状態で維持され、ノードＮ１が、導電性トランジスタＭＮ３及びＭＮ４によって論理ロー状態で維持されることに留意されたい。トランジスタＭＰ０、ＭＰ３、ＭＰ４、及びＭＮ５は、非導電性であり、それによって、データビットＤにおける後続の状態変化に関係なしに、論理ゲート２５１及び３５２においてＤ＝０というラッチされた値を維持する。
【００９７】
[0053]  ＣＬＫが論理ハイから論理ローに遷移すると、Ｑの前値が、第３の論理ゲート２５３においてラッチされ、第１及び第２の論理ゲート２５１及び３５２は、Ｄの次の値をラッチすることができる状態にある。
【００９８】
[0054]  第２のケースは、Ｄの次の状態が論理ハイであり、Ｑの現在の状態が論理ローであるとき（即ち、Ｄ＝１及びＱ＝１のとき）である。クロック信号ＣＬＫ＝０のとき、トランジスタＭＰ５及びＭＮ５によって形成されるインバータは、Ｑの論理ロー値を反転して、ノードＮ３を論理ハイにドライブし、これは、次に、インバータＸ６によって反転されて、Ｑ＝０が維持される。Ｄ＝１及びＱ＝０に応答して、ＮＯＲゲートＸ８は、フィードバック信号ＦＢを論理ローにドライブし、これは、トランジスタＭＰ７をオンにし、トランジスタＭＮ７をオフにする。結果として、ノードＮ１は、ＣＬＫ＝０に応答して、トランジスタＭＰ３によってＶＤＤに向かってハイに引き上げ、これは、ＭＮ２をオンにする。ゆえに、トランジスタＭＰ１及びＭＮ１によって形成されるインバータは、
【００９９】
【数３１】
0006386130.tif 000032
【０１００】
このように、第３の論理ゲート２５３は、Ｑ＝０という現在値を維持し、第１の論理ゲート２５１は、Ｄ＝１という値をラッチする。
【０１０１】
[0055]  ＣＬＫが論理ローから論理ハイに遷移すると、トランジスタＭＮ３はオンになるが、トランジスタＭＮ４は、オフのままであり、ノードＮ１を接地電位から分離する。ノードＮ１の論理ハイ状態は、トランジスタＭＮ２をオンにし、これは、ノードＮ２を接地電位に向かってローに引き下げ、その結果、ノードＮ２の論理ロー状態を維持して、
【０１０２】
【数３２】
0006386130.tif 000033
【０１０３】
ノードＮ１の論理ハイ状態は、トランジスタＭＮ６をオンに、トランジスタＭＰ６をオフにし、それによって、接地電位に向かってノードＮ３をローに引き下げ、
【０１０４】
【数３３】
0006386130.tif 000034
【０１０５】
これに応答して、インバータＸ６は、Ｄ＝１に応答してＱ＝１を更新する。ＣＬＫ＝１の間、ノードＮ２が、導電性トランジスタＭＮ２（「キーパ」回路として機能し得る）によって論理ロー状態で維持され、ノードＮ１が、導電性トランジスタＭＰ４によって論理ハイ状態で維持されることに留意されたい。トランジスタＭＰ０、ＭＰ２、及びＭＮ４は、非導電性であり、それによって、データビットＤにおける後続の状態変化に関係なしに、論理ゲート２５１及び３５２においてＤ＝１というラッチされた値を維持する。ＣＬＫが論理ハイから論理ローに遷移すると、Ｑの前値が、第３の論理ゲート２５３においてラッチされ、第１及び第２の論理ゲート２５１及び３５２は、Ｄの次の値をラッチすることができる状態にある。
【０１０６】
[0056]  第３のケースは、Ｄの次の状態が論理ローであり、Ｑの現在の状態が論理ローであるとき（即ち、Ｄ＝０及びＱ＝１のとき）である。クロック信号ＣＬＫ＝０のとき、トランジスタＭＰ５及びＭＮ５によって形成されるインバータは、Ｑの論理ロー値を反転して、ノードＮ３を論理ハイにドライブし、これは、次に、インバータＸ６によって反転されて、Ｑ＝０が維持される。Ｄ＝０及びＱ＝０に応答して、ＮＯＲゲートＸ８は、フィードバック信号ＦＢを論理ハイにドライブし、これは、トランジスタＭＰ７をオフにし、トランジスタＭＮ７をオンにする。結果として、クロック信号ＣＬＫ及びＤの値における遷移とは関係なしに、ノードＮ１は、論理ロー状態で維持され、ノードＮ２は、論理ハイ状態で維持される。このように、ノードＮ２は、トランジスタＭＰ１及びＭＮ１によって形成されるインバータを使用することなく、論理ハイ状態のままであり、
【０１０７】
【数３４】
0006386130.tif 000035
【０１０８】
このように、トランジスタＭＰ１及びＭＮ１が、Ｎ２を充電又は放電しないため、動的な電力消費が減らされ得る。
【０１０９】
[0057]  第４のケースは、Ｄの次の状態が論理ハイであり、Ｑの現在の状態が論理ハイであるとき（即ち、Ｄ＝１及びＱ＝１のとき）である。クロック信号ＣＬＫ＝０のとき、トランジスタＭＰ５及びＭＮ５によって形成されるインバータは、Ｑの論理ハイ値を反転して、ノードＮ３を論理ローにドライブし、これは、次に、インバータＸ６によって反転されて、Ｑ＝１が維持される。Ｄ＝１及びＱ＝１に応答して、ＮＯＲゲートＸ８は、フィードバック信号ＦＢを論理ローにドライブし、これは、トランジスタＭＰ７をオンにし、トランジスタＭＮ７をオフにする。結果として、ノードＮ１は、トランジスタＭＰ３及びＭＰ７によって論理ハイ状態で維持され、ノードＮ２は、トランジスタＭＮ１及びＭＮ２によって接地電位に向かってローに放電される。その後、クロック信号ＣＬＫ及びＤの値の遷移とは関係なしに、ノードＮ１は、論理ハイ状態で維持され、ノードＮ２は、論理ロー状態で維持される。このように、動的な電力消費は減らされ得る。
【０１１０】
[0058]  追加的に、フリップフロップ回路２００は、タイミング不一致に起因する誤差に左右され得る。例えば、ＮＡＮＤゲートＸ１がＯＲゲートＸ０及びＮＡＮＤゲートＸ２よりも弱い場合、クロック信号ＣＬＫにおける遷移に応答してＮＡＮＤゲートＸ１がノードＮ１の状態を遷移することに関連付けられた第１の時間遅延は、クロック信号ＣＬＫにおける遷移に応答してＯＲゲートＸ０及びＮＡＮＤゲートＸ２がノードＮ２の状態を遷移することに関連付けられた第２の時間遅延よりも長く、これは、次に、第１のラッチ２１０が、入力データビットＤの不正確な値をラッチすることに帰着し得る。例えば、ＣＬＫの論理ロー状態は、ノードＮ１を論理ハイにドライブすることをＮＡＮＤゲートＸ１に行わせる。データビットＤの現在値が論理ローであるとき（Ｄ＝０）、ＮＡＮＤゲートＸ２は、
【０１１１】
【数３５】
0006386130.tif 000036
【０１１２】
次いで、ＣＬＫが論理ローから論理ハイに遷移すると、ＯＲゲートＸ０は、ノードＮ０を論理ハイにドライブする。しかしながら、第１の時間遅延が第２の時間遅延よりも大きい場合、ＮＡＮＤゲートＸ２は、Ｄ＝０という値を獲得するために、ＮＡＮＤゲートＸ１がノードＮ１を論理ローにドライブする前に、ノードＮ２を論理ローにドライブし得る。これが起こった場合、ＮＡＮＤゲートＸ１は、望ましくなくも、ノードＮ１を論理ハイ状態に維持し得、それによって、Ｄ＝０という値を正確にラッチすることに失敗する。ノードＮ１を論理ハイ状態で維持することがＤの正確な値を反映し得るため、Ｄ＝１という現在値のとき、この問題は存在ない可能性があることに留意されたい。
【０１１３】
[0059]  この起こりうるタイミング問題を回避するために、図３Ｃに示されるように、二次クロック信号が生成され得る。フリップフロップ回路３６０は、図２Ｂの第１の論理ゲート２５１、第２の論理ゲート３６２、及び図２Ｂの第３の論理ゲート２５３を含むように示される。幾つかの実施形態について、第１の論理ゲート２５１、第２の論理ゲート３６２、及び第３の論理ゲート２５３は各々、ＯＡＩ回路として動作し得る。さらに、少なくとも１つの実施形態について、図３のＣ第１及び第２の論理ゲート２５１及び３６２は、図３Ａの第１のラッチ３１０を実現し得、図３ＣのゲートＸ５及びＸ６と組み合せられた第３の論理ゲート２５３は、図３Ａの第２のラッチ２２０を実現し得る。
【０１１４】
[0060]  図３Ｃの第２の論理ゲート３６２は、図３Ｃの実施形態では、トランジスタＭＮ３及びＭＮ７が、ノードＮ１とトランジスタＭＮ４のドレインとの間に結合される点を除いて、図３Ｂの第２の論理ゲート３５２に類似し得る。ゆえに、トランジスタＭＮ３及びＭＮ７は、図３Ｂのフリップフロップ回路３５０において、接地電位とトランジスタＭＮ４のソースとの間で並列に結合されるが、トランジスタＭＮ３及びＭＮ７は、図３Ｃのフリップフロップ回路３６０において、ノードＮ１とＭＮ４のドレインとの間で並列に結合される。図３Ｃのフリップフロップ回路３６０について、Ｄの次の状態が論理ローであり、Ｑの現在の状態が論理ハイである場合、フィードバック信号ＦＢは論理ローにアサートされ、トランジスタＭＮ７はオフになり、トランジスタＭＰ７はオンになる。結果として、ノードＮ１は、ＣＬＫ＝０に応答して、トランジスタＭＰ３によってＶＤＤまで充電され、これは、トランジスタＭＮ２をオンにする。次いで、トランジスタＭＰ１及びＭＮ１によって形成されるインバータは、
【０１１５】
【数３６】
0006386130.tif 000037
【０１１６】
その後、トランジスタＭＮ４は、信号ＣＬＫ＿ＬＡＴを論理ローにプルダウンするためにオンにされる。ＣＬＫが論理ローから論理ハイに遷移すると、ノードＮ１は、接地電位に向かって放電され、ＣＬＫ＿ＬＡＴは、論理ローを維持し、それは、起こりうるタイミングレースを効率的に抑制する。
【０１１７】
[0061]  図３Ｃのフリップフロップ３６０のこの改善の他の利点は節電である。例えば、Ｄの次の状態とＱの現在の状態の両方は、論理ハイであり、フィードバック信号ＦＢは、論理ローにアサートされ、トランジスタＭＮ７はオフになり、ＭＰ７はオンになる。結果として、ノードＮ１は、ＣＬＫ＝０に応答して、トランジスタＭＰ３によってＶＤＤまで充電され、これは、トランジスタＭＮ２をオンにする。結果として、トランジスタＭＰ１及びＭＮ１によって形成されるインバータは、
【０１１８】
【数３７】
0006386130.tif 000038
【０１１９】
ゆえに、トランジスタＭＰ４は、ノードＮ１を論理ハイで維持するためにオンにされ、トランジスタＭＮ４は、ＣＬＫ＿ＬＡＴを接地電位から隔離するためにオフにされる。ＣＬＫが論理ローから論理ハイに遷移すると、トランジスタＭＮ３はオンにされ、ＣＬＫ＿ＬＡＴは、導電性トランジスタＭＮ３を通じてＶＤＤ−ＶＴまで充電される。その後、ＣＬＫ＿ＬＡＴが、第１の論理ゲート２５１におけるトランジスタＭＮ０のゲートに供給され（例えば、クロック信号ＣＬＫというよりはむしろ）、これもまた、動的な電力消費を減らし得る。
【０１２０】
[0062]  導電性トランジスタＭＮ３が、トランジスタＭＮ４のドレインを、ＶＤＤを下回る１つのトランジスタ閾値電圧（例えば、ＶＤＤ−ＶＴ）くらいまで充電することと、それが、電力消費を減らし得ること（トランジスタＭＮ４のドレインを、ＶＤＤくらいまで充電することと比べて）に留意されたい。
【０１２１】
[0063]  図３Ｄは、図３Ａのフリップフロップ回路３００の別の実施形態であるフリップフロップ回路３７０を示す。フリップフロップ回路３７０は、図２Ｂの第１の論理ゲート２５１、図３Ｃの第２の論理ゲート３６２、及び第３の論理ゲート３６３を含むように示される。幾つかの実施形態について、第１の論理ゲート２５１、第２の論理ゲート３６２、第３の論理ゲート３６３は各々、ＯＡＩ回路として動作し得る。さらに、少なくとも１つの実施形態について、図３Ｄの第１及び第２の論理ゲート２５１及び３６２は、図３Ａの第１のラッチ３１０を実現し得、図３ＤのゲートＸ５及びＸ６と組み合せられた第３の論理ゲート３６３は、図３Ａの第２のラッチ２２０を実現し得る。
【０１２２】
[0064]  図３Ｄの第３の論理ゲート３６３は、図３Ｄの実施形態では、トランジスタＭＰ８が除去されており、トランジスタＭＰ５のソースが、トランジスタＭＰ０のドレインに結合される点を除いて、図２Ｂの第３の論理ゲート３５３に類似し得る。このように、トランジスタＭＰ０は、除外されたトランジスタＭＰ８と同一の機能を行い得、それによって、回路エリアを減らす。
【０１２３】
[0065]  前述の明細書では、本実施形態は、その特定の例示的な実施形態に関して説明されている。しかしながら、様々な修正及び変更が、添付の特許請求の範囲に示された本開示のより広い範囲から逸脱せずに、それに対してなされ得ることは明らかであろう。したがって、本明細書及び図面は、限定的な意味ではなく、例示的な意味で考慮されるべきである。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
［１］  フリップフロップ回路であって、データ信号を受けるための第１の入力端子と、クロック信号を受けるための第２の入力端子と、第１のノードにおける出力端子とを含む第１のラッチと、前記第１のラッチの前記出力端子に直接接続された第１の入力端子と、前記クロック信号を受けるための第２の入力端子と、出力信号を供給するための出力端子とを含む第２のラッチと、ここにおいて、前記第１のラッチ及び前記第２のラッチは、前記クロック信号の同じ位相上でクロックされるものとする、を備えるフリップフロップ回路。
［２］  前記第１のラッチはマスタラッチとして動作するものとし、前記第２のラッチは、スレーブラッチとして動作するものとする、［１］に記載のフリップフロップ回路。
［３］  前記第１のラッチ及び前記第２のラッチは、トライステートインバータを含まず、前記フリップフロップ回路は、パスゲート回路を含まない、［１］に記載のフリップフロップ回路。
［４］  前記第１のラッチは、前記データ信号及び前記クロック信号を受けるための入力端子を含み、出力端子を含む第１のＯＲゲートと、前記クロック信号を受けるための第１の入力端子と、第２の入力端子と、前記第１のノードに結合された出力端子とを含む第１のＮＡＮＤゲートと、前記第１のＯＲゲートの前記出力端子に結合された第１の入力端子と、前記第１のノードに結合された第２の入力端子と、第２のノードにおいて前記第１のＮＡＮＤゲートの前記第２の入力端子に結合された出力端子とを含む第２のＮＡＮＤゲートと、を備える、［１］に記載のフリップフロップ回路。
［５］  前記第１のラッチは、前記クロック信号が論理ロー状態にある場合には、前記第２のノードにおいて前記データ信号の相補を記憶するものとし、前記第１のラッチは、前記クロック信号が論理ハイ状態にある場合には、前記第１のノードを介して前記データ信号を前記第２のラッチにパスするものとする、［４］に記載のフリップフロップ回路。
［６］  前記第２のラッチは、前記クロック信号及び前記出力信号を受けるための入力端子を含み、出力端子を含む第２のＯＲゲートと、前記第１のノードに結合された第１の入力端子と、前記第２のＯＲゲートの前記出力端子に結合された第２の入力端子と、前記出力信号の相補を供給するための出力端子と含む第３のＮＡＮＤゲートと、を備える、［４］に記載のフリップフロップ回路。
［７］  前記第２のラッチは、前記クロック信号が論理ロー状態にある場合、前記出力信号の前の状態を出力するものとして、前記第２のラッチは、前記クロック信号が論理ハイ状態にある場合、前記データ信号に応答して前記出力信号をドライブするものとする、［６］に記載のフリップフロップ回路。
［８］  前記第１のラッチは、ＮＡＮＤゲートに接続された第１のＯＲ−ＡＮＤ−ＩＮＶＥＲＴ論理ゲートを備え、前記第２のラッチは、第２のＯＲ−ＡＮＤ−ＩＮＶＥＲＴ論理ゲートを備える、［１］に記載のフリップフロップ回路。
［９］  前記データ信号及び前記出力信号を受けるための入力端子を含み、フィードバック信号を前記第１のラッチに供給するための出力端子を含むＮＯＲゲートをさらに備える、［１］に記載のフリップフロップ回路。
［１０］  前記第１のラッチは、前記データ信号及び前記クロック信号を受けるための入力端子を含み、出力端子を含む第１のＯＲゲートと、前記フィードバック信号及び前記クロック信号を受けるための入力端子を含み、出力端子を含む第２のＯＲゲートと、前記第２のＯＲゲートの前記出力端子に結合された第１の入力端子と、第２の入力端子と、前記第１のノードに結合された出力端子とを含む第１のＮＡＮＤゲートと、前記第１のＯＲゲートの前記出力端子に結合された第１の入力端子と、前記第１のノードに結合された第２の入力端子と、第２のノードにおいて前記第１のＮＡＮＤゲートの前記第２の入力端子に結合された出力端子とを含む第２のＮＡＮＤゲートと、を備える、［９］に記載のフリップフロップ回路。
［１１］  前記ＮＯＲゲートは、前記データ信号及び前記出力信号が両方とも論理ロー状態にある場合には、前記フィードバック信号をアサートされた状態にドライブするものとし、前記第１のラッチは、前記フィードバック信号が前記アサートされた状態にある場合には、前記クロック信号を無視するものとする、［９］に記載のフリップフロップ回路。
［１２］  前記第１のラッチは、第２のＯＲ−ＡＮＤ−ＩＮＶＥＲＴ論理ゲートに接続された第１のＯＲ−ＡＮＤ−ＩＮＶＥＲＴ論理ゲートを備え、前記第２のラッチは、第３のＯＲ−ＡＮＤ−ＩＮＶＥＲＴ論理ゲートを備える、［９］に記載のフリップフロップ回路。
［１３］  データ信号に応答して出力信号を選択的にドライブするフリップフロップ回路であって、  前記データ信号及びクロック信号を受けるための入力端子を含み、前記クロック信号が第１の状態にある場合、前記データ信号の相補をラッチするための出力端子を含む第１の論理ゲートと、  前記クロック信号、及び前記データ信号の前記相補を受けるための入力端子を含み、内部信号を生成するための出力端子を含む第２の論理ゲートと、を備える第１のラッチと、前記第１のラッチに直接接続され、前記クロック信号、前記出力信号、及び前記内部信号を受けるための入力端子を含み、前記出力信号を生成するための出力端子を含む第３の論理ゲート
を備える第２のラッチと、を備えるフリップフロップ回路。
［１４］  前記第１、第２、及び第３の論理ゲートは、前記クロック信号の同じ位相上で動作するものとする、［１３］に記載のフリップフロップ回路。
［１５］  前記フリップフロップ回路は、パスゲート回路を含まない、［１３］に記載のフリップフロップ回路。
［１６］  前記第２の論理ゲートは、前記クロック信号が前記第１の状態にある場合には、前記内部信号を論理ハイ状態にドライブするものとし、前記第２の論理ゲートは、前記クロック信号が第２の状態にある場合には、前記データ信号を示す状態に前記内部信号をドライブするものとする、［１３］に記載のフリップフロップ回路。
［１７］  前記第３の論理ゲートは、前記クロック信号が前記第１の状態にある場合には、前記出力信号の前の状態を維持するものとし、前記第３の論理ゲートは、前記クロック信号が前記第２の状態にある場合には、前記内部信号の前記状態に前記出力信号をドライブするものとする、［１３］に記載のフリップフロップ回路。
［１８］  前記第１の論理ゲートは、第１のＯＲ−ＡＮＤ−ＩＮＶＥＲＴ論理ゲートを備え、前記第２の論理ゲートは、ＮＡＮＤゲートを備え、前記第３の論理ゲートは、第２のＯＲ−ＡＮＤ−ＩＮＶＥＲＴ論理ゲートを備える、［１３］に記載のフリップフロップ回路。
［１９］  前記第１、第２、及び第３の論理ゲートは、各々、ＯＲ−ＡＮＤ−ＩＮＶＥＲＴ論理ゲートを備える、［１３］に記載のフリップフロップ回路。
［２０］  前記第１のラッチは、前記データ信号及び前記クロック信号を受けるための入力端子を含み、出力端子を含む第１のＯＲゲートと、前記クロック信号を受けるための第１の入力端子と、第２の入力端子と、前記内部信号を受けるための出力端子とを含む第１のＮＡＮＤゲートと、前記第１のＯＲゲートの前記出力端子に結合された第１の入力端子と、前記内部信号を受けるための第２の入力端子と、前記第１のＮＡＮＤゲートの前記第２の入力端子に結合された出力端子とを含む第２のＮＡＮＤゲートと、を備える、［１３］に記載のフリップフロップ回路。
［２１］  前記第２のラッチは、前記クロック信号及び前記出力信号を受けるための入力端子を含み、出力端子を含む第２のＯＲゲートと、前記内部信号を受けるための第１の入力端子と、前記第２のＯＲゲートの前記出力端子に結合された第２の入力端子と、前記出力信号の相補を供給するための出力端子と含む第３のＮＡＮＤゲートと、を備える、［２０］に記載のフリップフロップ回路。
［２２］  前記データ信号及び前記出力信号を受けるための入力端子を含み、フィードバック信号を前記第２の論理ゲートに供給するための出力端子を含むＮＯＲゲート
をさらに備える、［１３］に記載のフリップフロップ回路。
［２３］  前記第１のラッチは、前記データ信号及び前記クロック信号を受けるための入力端子を含み、出力端子を含む第１のＯＲゲートと、前記フィードバック信号及び前記クロック信号を受けるための入力端子を含み、出力端子を含む第２のＯＲゲートと、前記第２のＯＲゲートの前記出力端子に結合された第１の入力端子と、第２の入力端子と、前記内部信号を受けるための出力端子とを含む第１のＮＡＮＤゲートと、前記第１のＯＲゲートの前記出力端子に結合された第１の入力端子と、前記内部信号を受けるための第２の入力端子と、前記第１のＮＡＮＤゲートの前記第２の入力端子に結合された出力端子とを含む第２のＮＡＮＤゲートと、を備える、［２２］に記載のフリップフロップ回路。
［２４］  前記第２のラッチは、前記クロック信号及び前記出力信号を受けるための入力端子を含み、出力端子を含む第２のＯＲゲートと、前記内部信号を受けるための第１の入力端子と、前記第２のＯＲゲートの前記出力端子に結合された第２の入力端子と、前記出力信号の相補を供給するための出力端子とを含む第３のＮＡＮＤゲートと、を備える、［２３］に記載のフリップフロップ回路。
【図１】
0006386130.tif 000039
【図２Ａ】
0006386130.tif 000040
【図２Ｂ】
0006386130.tif 000041
【図３Ａ】
0006386130.tif 000042
【図３Ｂ】
0006386130.tif 000043
【図３Ｃ】
0006386130.tif 000044
【図３Ｄ】
0006386130.tif 000045