特許第6246903号(P6246903)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ クゥアルコム・インコーポレイテッドの特許一覧

特許6246903動的な電力を減らすためのフリップフロップ
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6246903
(24)【登録日】2017年11月24日
(45)【発行日】2017年12月13日
(54)【発明の名称】動的な電力を減らすためのフリップフロップ
(51)【国際特許分類】
   H03K 3/037 20060101AFI20171204BHJP
   H03K 3/3562 20060101ALI20171204BHJP
【FI】
   H03K3/037 B
   H03K3/3562
【請求項の数】20
【全頁数】26
(21)【出願番号】特願2016-512183(P2016-512183)
(86)(22)【出願日】2013年5月8日
(65)【公表番号】特表2016-522625(P2016-522625A)
(43)【公表日】2016年7月28日
(86)【国際出願番号】CN2013075309
(87)【国際公開番号】WO2014179944
(87)【国際公開日】20141113
【審査請求日】2016年4月11日
(73)【特許権者】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100109830
【弁理士】
【氏名又は名称】福原 淑弘
(74)【代理人】
【識別番号】100158805
【弁理士】
【氏名又は名称】井関 守三
(74)【代理人】
【識別番号】100194814
【弁理士】
【氏名又は名称】奥村 元宏
(72)【発明者】
【氏名】カイ、ヤンフェイ
(72)【発明者】
【氏名】ダイ、キアン
(72)【発明者】
【氏名】ファン、シュアンク
【審査官】 緒方 寿彦
(56)【参考文献】
【文献】 特開2011−171916(JP,A)
【文献】 特開平11−340957(JP,A)
【文献】 特開2012−156821(JP,A)
【文献】 特開2001−308686(JP,A)
【文献】 米国特許出願公開第2004/0027184(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H03K 3/00 − 3/36
(57)【特許請求の範囲】
【請求項1】
フリップフロップ回路であって、
データ信号を受けるための第1の入力端子と、クロック信号を受けるための第2の入力端子と、第1のノードにおける出力端子とを含む第1のラッチと、
前記第1のラッチの前記出力端子に直接接続された第1の入力端子と、前記クロック信号を受けるための第2の入力端子と、出力信号を供給するための出力端子とを含む第2のラッチと、ここにおいて、前記第1のラッチ及び前記第2のラッチは、前記クロック信号の同じ位相上でクロックされるものとする、
前記第2のラッチから前記出力信号を受け、フィードバック信号を前記第1のラッチに供給するためのフィードバック経路と
を備えるフリップフロップ回路。
【請求項2】
前記第1のラッチはマスタラッチとして動作するものとし、前記第2のラッチは、スレーブラッチとして動作するものとする、請求項1に記載のフリップフロップ回路。
【請求項3】
前記第1のラッチ及び前記第2のラッチにおける各ノードは、前記フリップフロップ回路の動作中、論理ハイ状態又は論理ロー状態で動作する、請求項1に記載のフリップフロップ回路。
【請求項4】
前記第1のラッチは、
前記データ信号及び前記クロック信号を受けるための入力端子を含み、出力端子を含む第1のORゲートと、
前記フィードバック信号及び前記クロック信号を受けるための入力端子を含み、出力端子を含む第2のORゲートと、
前記第2のORゲートの前記出力端子に結合された第1の入力端子と、第2の入力端子と、前記第1のノードに結合された出力端子とを含む第1のNANDゲートと、
前記第1のORゲートの前記出力端子に結合された第1の入力端子と、前記第1のノードに結合された第2の入力端子と、第2のノードにおいて前記第1のNANDゲートの前記第2の入力端子に結合された出力端子とを含む第2のNANDゲートと
を備える、請求項1に記載のフリップフロップ回路。
【請求項5】
前記第1のラッチは、前記クロック信号及び前記フィードバック信号が論理ロー状態にある場合には、前記第2のノードにおいて前記データ信号の相補を記憶するものとし、
前記第1のラッチは、前記クロック信号が論理ハイ状態にある場合には、前記第1のノードを介して前記データ信号を前記第2のラッチにパスするものとする、
請求項4に記載のフリップフロップ回路。
【請求項6】
前記第2のラッチは、
前記クロック信号及び前記出力信号を受けるための入力端子を含み、出力端子を含む第のORゲートと、
前記第1のノードに結合された第1の入力端子と、前記第のORゲートの前記出力端子に結合された第2の入力端子と、前記出力信号の相補を供給するための出力端子と含む第3のNANDゲートと
を備える、請求項4に記載のフリップフロップ回路。
【請求項7】
前記第2のラッチは、前記クロック信号が論理ロー状態にある場合、前記出力信号の前の状態を出力するものとして、
前記第2のラッチは、前記クロック信号が論理ハイ状態にある場合、前記データ信号に応答して前記出力信号をドライブするものとする、
請求項6に記載のフリップフロップ回路。
【請求項8】
前記フィードバック経路は、前記データ信号及び前記出力信号を受けるための入力端子を含み、前記フィードバック信号を前記第1のラッチに供給するための出力端子を含むNORゲートを更に備える、請求項1に記載のフリップフロップ回路。
【請求項9】
前記NORゲートは、前記データ信号及び前記出力信号が両方とも論理ロー状態にある場合には、前記フィードバック信号をアサートされた状態にドライブするものとし、
前記第1のラッチは、前記フィードバック信号が前記アサートされた状態にある場合には、前記クロック信号を無視するものとする、
請求項に記載のフリップフロップ回路。
【請求項10】
前記第1のラッチは、第2のOR−AND−INVERT論理ゲートに接続された第1のOR−AND−INVERT論理ゲートを備え、
前記第2のラッチは、第3のOR−AND−INVERT論理ゲートを備える、
請求項に記載のフリップフロップ回路。
【請求項11】
データ信号に応答して出力信号を選択的にドライブするフリップフロップ回路であって、
前記データ信号及びクロック信号を受けるための入力端子を含み、前記クロック信号が第1の状態にある場合、前記データ信号の相補をラッチするための出力端子を含む第1の論理ゲートと
前記クロック信号及びフィードバック信号を受けるための入力端子と、第1の内部信号を生成するための出力端子とを含む第2の論理ゲートと
前記第1の内部信号、及び前記データ信号の前記相補を受けるための入力端子を含み、第2の内部信号を生成するための出力端子を含む第の論理ゲートと
を備える第1のラッチと、
前記第1のラッチに直接接続され、
前記クロック信号、前記出力信号、及び前記第2の内部信号を受けるための入力端子、前記出力信号を供給するための出力端子を含む第の論理ゲートと、
前記出力信号を受け、前記フィードバック信号を前記第2の論理ゲートに供給するためのフィードバック経路と
を備える第2のラッチと、
を備えるフリップフロップ回路。
【請求項12】
前記フィードバック信号が前記第1の状態にあるとき、前記第1、第2、第3及び第の論理ゲートは、前記クロック信号の同じ位相上で動作するものとする、請求項11に記載のフリップフロップ回路。
【請求項13】
前記第1のラッチ及び前記第2のラッチにおける各ノードは、論理ハイ状態又は論理ロー状態で動作する、請求項11に記載のフリップフロップ回路。
【請求項14】
前記第の論理ゲートは、前記クロック信号及び前記フィードバック信号が前記第1の状態にある場合には、前記第2の内部信号を論理ハイ状態にドライブするものとし、
記クロック信号が第2の状態にある場合には、前記データ信号を示す状態に前記第2の内部信号をドライブするものとする、
請求項11に記載のフリップフロップ回路。
【請求項15】
前記第3の論理ゲートは、前記クロック信号が前記第1の状態にある場合には、前記出力信号の前の状態を維持するものとし、
前記第3の論理ゲートは、前記クロック信号が第2の状態にある場合には、前記第2の内部信号の前記状態に前記出力信号をドライブするものとする、
請求項11に記載のフリップフロップ回路。
【請求項16】
前記第1の論理ゲートは、第1のOR−AND−INVERT論理ゲートを備え、
前記第の論理ゲートは、NANDゲートを備え、
前記第の論理ゲートは、第2のOR−AND−INVERT論理ゲートを備える、
請求項11に記載のフリップフロップ回路。
【請求項17】
前記第1、第及び第の論理ゲートは、各々、OR−AND−INVERT論理ゲートを備える、請求項11に記載のフリップフロップ回路。
【請求項18】
前記第1のラッチについて
前記第1の論理ゲートは、第1のORゲートを備え
前記第2の論理ゲートは、第2のORゲートを備え、
前記第3の論理ゲートは、
前記第1の内部信号を受けるための第1の入力端子と、第2の入力端子と、前記第2の内部信号を供給するための出力端子とを含む第1のNANDゲートと、
前記第1のORゲートの前記出力端子に結合された第1の入力端子と、前記第2の内部信号を受けるための第2の入力端子と、前記第1のNANDゲートの前記第2の入力端子に結合された出力端子とを含む第2のNANDゲートと
を備える、請求項11に記載のフリップフロップ回路。
【請求項19】
前記フィードバック経路は、
前記データ信号及び前記出力信号を受けるための入力端子を含み、前記フィードバック信号を前記第2の論理ゲートに供給するための出力端子を含むNORゲート
備える、請求項11に記載のフリップフロップ回路。
【請求項20】
前記第4の論理ゲートは、
前記クロック信号及び前記出力信号を受けるための入力端子を含み、出力端子を含む第のORゲートと、
前記第2の内部信号を受けるための第1の入力端子と、前記第のORゲートの前記出力端子に結合された第2の入力端子と、前記出力信号の相補を供給するための出力端子とを含む第3のNANDゲートと
を備える、請求項18に記載のフリップフロップ回路。
【発明の詳細な説明】
【技術分野】
【0001】
[0001] 本実施形態は一般に電子回路に関し、より具体的には、フリップフロップ回路に関する。
【背景技術】
【0002】
[0002] 動的な電力消費は、特に、増加し続けるクロック周波数が同期ICデバイスで使用される場合の、集積回路(IC)デバイスに対する進行中の懸念事項である。幾つかのICデバイスについて、動的な電力消費全体の半分よりも多くは、クロック分配ネットワーク及びフリップフロップ回路に起因し得る。従来の多くのフリップフロップは、フリップフロップ内にラッチ及び/又はゲート回路を形成する様々なパスゲート及び/又はトライステート回路が使用する相補クロック信号を生成するためのインバータ回路を用いる。これらインバータ回路は、パスゲート及びトライステート回路と同様に、クロック信号が論理状態間を遷移する度に動的な電力を消費する。結果として、これら従来のフリップフロップは、切替えアクティビティが比較的低いときであっても、かなりの量の動的な電力を消費し得る。
【0003】
[0003] 例えば、図1は、第1のラッチ110、第2のラッチ120、クロック反転回路130、並びにインバータINV0及びINV3を含む従来のデータフリップフロップ回路100を示す。第1のラッチ110は、「マスタ」ラッチとして動作し得、第2のラッチ120は、「スレーブ」ラッチとして動作し得る。第1のラッチ110は、第1のパスゲートPG1と、交差結合されたインバータINV1a及びINV1bによって形成される第1の記憶素子111とを含む。第2のラッチ120は、第2のパスゲートPG2と、交差結合されたインバータINV2a及びINV2bによって形成される第2の記憶素子121とを含む。それぞれラッチ110及び120内のパスゲートPG1−PG2並びにトライステートインバータINV1b及びINV2bのために相補クロック信号(complementary clock signals)を生成するものであるクロック反転回路130は、2つの直列接続されたインバータINV4a及びINV4bを含む。例えば、クロック信号CLKは、CLKを反転して(例えば、論理的に相補して)
【数1】
【0004】
[0004] データ信号(D)は、インバータINV0によって反転され、
【数2】
【0005】
CLKnを受けるための反転(例えば、相補)制御端子を含む。インバータINV1bは、CLKnを受けるためのイネーブル端子を含み、
【数3】
【0006】
第1のラッチ110の出力端子は、第2のパスゲートPG2に結合される。
【0007】
[0005] 第2のパスゲートPG2は、CLKnを受けるための制御端子と、
【数4】
【0008】
CLKnを受けるための反転(例えば、相補)イネーブル端子を含むトライステートインバータとして描写される。
【0009】
[0006] CLKが論理ロー状態にある場合、インバータINV4aは、
【数5】
【0010】
インバータINV4bは、CLKnを論理ロー状態にドライブする。これに応答して、パスゲートPG1はオンになり、
【数6】
【0011】
第2のパスゲートPG2をオフにし、それによって、第2のラッチ120を第1のラッチ110から隔離する。
【0012】
[0007] CLKが論理ハイに遷移すると、
【数7】
【0013】
インバータINV4bは、CLKnを論理ハイにドライブする。これに応答して、パスゲートPG1はオフになり、第1のラッチ110を入力信号Dから隔離し、そして第2のパスゲートPG2はオンになり、
【数8】
【0014】
これは、Q=Dとなるように、インバータINV3によって反転され、フリップフロップ出力信号Qとして供給される。
【数9】
【0015】
入力クロック信号CLKが論理状態間で遷移する度に動的な電力を消費するが、これは望ましくない。加えて、パスゲートPG1−PG2及びトライステートインバータINV1b及びINV2bが
【数10】
【0016】
パスゲートPG1−PG2並びにラッチ110及び120は、クロック信号が論理状態間で遷移する度に動的な電力を消費するが、これもまた望ましくない。
【0017】
[0009] ゆえに、フリップフロップ回路に関連付けられた動的な電力消費を減らす必要性がある。
【発明の概要】
【0018】
[0010] この発明の概要は、以下の発明の詳細な説明においてさらに説明される概念のうち選択されたものを簡略化された形式で紹介するために提供される。この発明の概要は、請求項に記載の主題の重要な特徴又は本質的な特徴を識別することを意図しておらず、請求項に記載の主題の範囲を限定することも意図していない。
【0019】
[0011] 図1のフリップフロップ回路100のような従来のフリップフロップ回路と比べて、動的な電力消費を減らし得るフリップフロップ回路が開示される。本実施形態によれば、フリップフロップ回路は、第1のラッチ及び第2のラッチを含み得る。「マスタ」ラッチとして動作し得る第1のラッチは、データ信号を受けるための第1の入力端子と、クロック信号を受けるための第2の入力端子と、出力端子とを含む。「スレーブ」ラッチとして動作し得る第2のラッチは、第1のラッチの出力端子に直接接続された第1の入力端子と、クロック信号を受けるための第2の入力端子と、出力信号を供給するための出力端子とを含む。第1のラッチ及び第2のラッチは、クロック信号の同じ位相上でクロックされるものとし、それにより、相補クロック信号を生成するクロック反転回路を含む必要性がなくなる。クロック反転回路及びパスゲートを除去することは、動的な電力消費を減らし得る(従来のフリップフロップ回路と比べて)。
【0020】
[0012] 幾つかの実施形態について、第1のラッチは、クロック信号が論理ロー状態にある場合には、内部ノードにおいてデータ信号の相補を記憶するものとし、クロック信号が論理ハイ状態にある場合には、データ信号を第2のラッチにパスするものとする。さらに、幾つかの実施形態について、第2のラッチは、クロック信号が論理ロー状態にある場合には、出力信号の前の状態を出力するものとし、クロック信号が論理ハイ状態にある場合には、データ信号に応答して出力信号をドライブするものとする。
【0021】
[0013] 幾つかの実施形態について、第1のラッチは、データ信号及びクロック信号を受けるための入力端子を含み、出力端子を含む第1のORゲート;クロック信号を受けるための第1の入力端子と、第2の入力端子と、第1のノードに結合された出力端子とを含む第1のNANDゲート;及び、第1のORゲートの出力端子に結合された第1の入力端子と、第1のノードに結合された第2の入力端子と、第2のノードにおいて第1のNANDゲートの第2の入力端子に結合された出力端子とを含む第2のNANDゲートを備える。
【0022】
[0014] 他の実施形態について、フリップフロップ回路は、データ信号及び出力信号に応答してフィードバック信号を生成するNORゲートを含み得る。フィードバック信号は、フィードバック信号がアサートされるとクロック信号を無視するように構成され得る第1のラッチに供給され得る。他の実施形態のうちの少なくとも1つについて、第1のラッチは、データ信号及びクロック信号を受けるための入力端子を含み、出力端子を含む第1のORゲート;フィードバック信号及びクロック信号を受けるための入力端子を含み、出力端子を含む第2のORゲート;第2のORゲートの出力端子に結合された第1の入力端子と、第2の入力端子と、第1のノードに結合された出力端子とを含む第1のNANDゲート;及び、第1のORゲートの出力端子に結合された第1の入力端子と、第1のノードに結合された第2の入力端子、第2のノードにおいて第1のNANDゲートの第2の入力端子に結合された出力端子と含む第2のNANDゲートを備える。
【0023】
[0015] 幾つかの実施形態について、第2のラッチは、クロック信号及び出力信号を受けるための入力端子を含み、出力端子を含む第2のORゲート;及び、第1のノードに結合された第1の入力端子と、第2のORゲートの出力端子に結合された第2の入力端子と、出力信号の相補を供給するための出力端子とを含む第3のNANDゲートを備える。
【0024】
[0016] 本実施形態は、例として例示され、添付の図面の図によって限定されることを意図していない。
【図面の簡単な説明】
【0025】
図1図1は、従来のフリップフロップ回路の回路図である。
図2A図2Aは、幾つかの実施形態に係る、フリップフロップ回路のブロック図である。
図2B図2Bは、図2Aのフリップフロップ回路の一実施形態の回路図である。
図3A図3Aは、他の実施形態に係るフリップフロップ回路のブロック図である。
図3B図3Bは、図3Aのフリップフロップ回路の一実施形態の回路図である。
図3C図3Cは、図3Aのフリップフロップ回路の別の実施形態の回路図である。
図3D図3Dは、図3Aのフリップフロップ回路のさらに別の実施形態の回路図である。
【発明を実施するための形態】
【0026】
[0024] 同様の参照番号は、複数の図全体を通して対応する部分を指す。
【0027】
[0025] 本実施形態は、簡略さのためだけに、データタイプのフリップフロップ回路に照らして以下に説明される。本実施形態が、他のタイプのフリップフロップ回路(例えば、セット−リセット(SR)フリップフロップ及びJKフリップフロップのような)に等しく適用可能であることは理解されるものとする。以下の説明では、本開示の完全な理解を提供するために、特定の構成要素、回路、及びプロセスの例のような、多数の特定の詳細が示される。また、以下の説明では、説明上の目的で、本実施形態の完全な理解を提供するために、特定の専門用語が示される。しかしながら、これらの特定の詳細が本実施形態を実施するのに必要とされない場合もあることは、当業者にとって明らかであろう。他の事例では、周知の回路及びデバイスは、本開示を曖昧にしないために、ブロック図形式で示される。本明細書で使用される場合、「結合された(coupled)」という用語は、直接接続されること、或いは1つ又は複数の介在構成要素又は回路を通じて接続されることを意味する。本明細書で説明される様々なバスを通して供給される信号はいずれも、他の信号と時間多重化され、1つ又は複数の共通バスを通して供給され得る。追加的に、回路素子又はソフトウェアブロック間の相互接続が、バス又は単一信号線として示され得る。これらバスの各々は代替的に単一信号線であり得、これら単一信号線の各々は代替的にバスであり得、単一の線又はバスは、構成要素間の通信のための無数の物理的又は論理的なメカニズムのうちの何れか1つ又は複数を表し得る。本実施形態は、本明細書で説明される特定の例に限定されると解釈されるべきではなく、添付の特許請求の範囲によって定義される全ての実施形態をその範囲内に含むように解釈されるべきである。
【0028】
[0026] さらに、本明細書で使用される場合、「反転(された)」という用語は、信号の論理的な相補(logical complement)を生成するために信号を論理的に反転することを指し、したがって、「反転(された)」、「論理的な相補」、及び「相補(された)」という用語は、本明細書では交換して使用され得る。
【0029】
[0027] 図2Aは、幾つかの実施形態に係る、データタイプのフリップフロップ回路200のブロック図を示す。フリップフロップ回路200は、第1のラッチ210及び第2のラッチ220を含むように示される。「マスタ」ラッチとして動作し得る第1のラッチ210は、ORゲートX0と、2つのNANDゲートX1及びX2とを含む。ORゲートX0は、クロック信号CLK及びデータビット(D)を受けるための入力端子を含み、信号S0を生成するための出力端子を含む。NANDゲートX1は、ノードN1において信号S1を生成するための出力端子を含み、NANDゲートX2は、ノードN2において信号S2を生成するための出力端子を含む。NANDゲートX1は、クロック信号CLKと、NANDゲートX2によって生成された信号S2とを受けるための入力端子を含み、NANDゲートX2は、NANDゲートX1によって生成された信号S1を受け、ORゲートX0から出力された信号S0を受けるための入力端子を含む。幾つかの実施形態について、第1のノードN1における信号S1は、本明細書では、「内部信号」と呼ばれ得る。より詳細に以下で説明されるように、内部信号S1は、第1のラッチ210がデータ信号Dをラッチする場合には(例えば、クロック信号CLKの第1の状態に応答して)、論理ハイ状態にドライブされ得、第1のラッチ210がデータ信号Dを第2のラッチ220にパスする場合には(例えば、クロック信号CLKの第2の状態に応答して)、データ信号Dの値にドライブされ得る。
【0030】
[0028] 「スレーブ」ラッチとして動作し得る第2のラッチ220は、NANDゲートX3、ORゲートX4、並びに2つのインバータX5及びX6を含む。NANDゲートX3は、第1のラッチ210によって供給される信号S1を受けるための第1の入力端子と、ORゲートX4の出力端子に結合された第2の入力端子と、ノードN3において信号S3を生成するための出力端子とを含む。インバータX6は、信号S3を論理的に反転して、フリップフロップ回路200の出力信号(Q)を生成する。インバータX5は、信号S3を論理的に反転して、内部Q信号を生成する。ORゲートX4は、クロック信号CLKと、インバータX5によって生成されたQ信号とを受けるための入力端子を含み、信号S4を生成するための出力端子を含む。
【0031】
[0029] インバータX5及びX6が、反転バッファ回路として動作し得ることに留意されたい。他の実施形態について、インバータX5及びX6は、他の適切なバッファ回路によって置き換えられ得るか、又は除去され得る。さらに、インバータX5及びX6が両方とも、ノードN3における信号S3に応答して出力信号Qを生成することに留意されたい。インバータX5は、Q信号をORゲートX4に供給し、一方で、インバータX6は、Q信号を出力信号として供給する(例えば、簡潔さのために示されない別の回路又はデバイスに)。このように、インバータX5によって供給されるQ信号は、インバータX6によって供給されるQ信号ほどノイズの影響を受け易くなく、よって、第2のラッチ220による内部論理信号としての使用により適している。他の実施形態について、インバータX5は省略され得、インバータX6によって供給されるQ信号が、ORゲートX4の入力端子に供給され得る。
【0032】
[0030] フリップフロップ回路200の例示的な動作が以下で説明される。クロック信号CLKが論理ロー状態にある場合(CLK=0)、NANDゲートX1は、信号S1=1となるように、その出力端子N1を論理ハイにし、ORゲートX0は、S0=Dとなるように、Dの値をその出力信号S0としてパスする。信号S1の論理ハイ状態は、データビットDを反転し、
【数11】
【0033】
[0031] 信号S1の論理ハイ状態及びCLKの論理ロー値が、第2のラッチ220に供給される。CLK=0に応答して、ORゲートX4は、Qの前値(previous value)を、信号S4としてNANDゲートX3にパスする。信号S1の論理ハイ状態に応答して、NANDゲートX3は、信号S4を反転し、
【数12】
【0034】
インバータX6は、信号S3の値を反転して、その出力信号S6をQの値にドライブし(S6=Q)、それによって、出力信号Qの前の状態を維持する。インバータX5もまた、信号S3の値を反転して、その出力信号S5をQの値にドライブし(S5=Q)、それによって、ORゲートX4への入力信号S5を、出力信号Qの値に等しく保つ。このように、
【数13】
【0035】
第2のラッチ220内に形成されるNAND−INV−OR構造によってノードN3に記憶される。
【0036】
[0032] クロック信号CLKが、論理ハイ状態(CLK=1)に遷移すると、第1のラッチ210は、前にラッチされたDの値を、ノードN1を介して第2のラッチ220にパスする。より具体的には、CLK=1に応答して、NANDゲートX1は、
【数14】
【0037】
ノードN1においてデータ信号Dを生成し、次いで、Dの値は、信号S1として第2のラッチ220に供給される。CLKの論理ハイ状態はまた、ORゲートX0に、その出力信号S0を論理ハイにドライブさせる。信号S0の論理ハイ状態は、信号S1の反転値をその出力端子N2にパスすることをNANDゲートX2に行わせ、それによって、
【数15】
【0038】
このように、第1のラッチ210は、
【数16】
【0039】
ノードN1においてDの値を記憶する。クロック信号CLKが論理ハイから論理ローに遷移するまで、NANDゲートX1及びX2によって形成される第1のラッチ210が、ノードN1においてDの値を、
【数17】
【0040】
[0033] ノードN1におけるDの値は、信号S1としてNANDゲートX3に供給される。CLKの論理ハイ状態は、出力信号S4を論理ハイにすることをORゲートX4に行わせ、これは、次に、Dの値を反転することをNANDゲートX3に行わせる。したがって、NANDゲートX3は、
【数18】
【0041】
インバータX6は、信号S3の値を反転し、そして、Q=Dになるように、出力信号QをDの値にドライブする。インバータX5もまた、信号S3の値を反転して、S5=D=Qとなるように、その出力信号S5をDの値にドライブし、それによって、ORゲートX4への入力信号S5を、出力信号Qの値に等しく保つ。このように、出力信号Qは、第2のラッチ220内に形成されるNAND−INV−OR構造によって入力データビットDの現在値(current value)で更新される。
【0042】
[0034] 上述したように、フリップフロップ回路200は、第1のラッチ210がマスタラッチとして機能し、第2のラッチ220がスレーブラッチとして機能するデータタイプのフリップフロップとして動作し得る。より具体的には、クロック信号CLKが、論理ハイから論理ローに遷移すると、第1のラッチ210は、入力データビットDの現在値を記憶し、第2のラッチ220は、出力信号Qの前値を記憶する。クロック信号CLKが、論理ローから論理ハイに遷移すると、第1のラッチ210は、入力データビットDの現在値を第2のラッチ220にパスし(Dの値のあらゆる変化を無視しつつ)、第2のラッチ220は、Dの現在値を、出力信号Qとして供給する。
【0043】
[0035] 本実施形態に従って、フリップフロップ回路200の第1のラッチ210及び第2のラッチ220は、クロック信号CLKの同じ位相上で動作し得、それによって、相補クロック信号を生成する必要性がなくなる。結果として、フリップフロップ回路200は、相補クロック信号を生成するためのクロック反転回路(例えば、図1のクロック反転回路130のような)が不要になる。クロック反転回路を除去する能力は、相補クロック信号を生成することに関連付けられた動的な電力消費を減らし得る(図1の従来のフリップフロップ回路100と比べて)。例えば、図1のインバータINV4a−INV4bは、クロック信号CLKのあらゆる状態偏移に応じて動的な電力を消費し得るが、クロック信号CLKの状態遷移は、図2Aのフリップフロップ回路200にはクロック反転回路が存在しないため、フリップフロップ回路200の同様の動的な電力消費に帰着しないだろう。さらに、図1の従来のフリップフロップ回路100とは対照的に、図2Aのフリップフロップ回路200は、ラッチ110及び120内にパスゲート及びトライステートインバータを含まないため、クロック信号CLKの状態遷移に応答したトライステートインバータ及びパスゲートの連続切替えに関連付けられた動的な電力消費を除去する。結果として、図2Aのフリップフロップ回路200は、図1の従来のフリップフロップ回路100よりも少ない動的な電力を消費し得る。
【0044】
[0036] 図2Bは、図2Aのフリップフロップ回路200の一実施形態であるフリップフロップ回路250を示す。フリップフロップ回路250は、第1の論理ゲート251、第2の論理ゲート252、及び第3の論理ゲート253を含むように示される。幾つかの実施形態について、第1の論理ゲート251は、OR−AND−INVERT(OAI)ゲートとして動作し得、第2の論理ゲート252は、NANDゲートとして動作し得、第3の論理ゲート253は、OAIゲートとして動作し得る。さらに、少なくとも1つの実施形態について、図2Bの第1及び第2の論理ゲート251−252は、図2Aの第1のラッチ210を実現し得、図2BのゲートX5及びX6と組み合せられる第3の論理ゲート253は、図2Aの第2のラッチ220を実現し得る。より具体的には、第1の論理ゲート251は、図2AのORゲートX0及びNANDゲートX2を実現し得、第2の論理ゲート252は、図2AのNANDゲートX1を実現し得る。
【0045】
[0037] 第1の論理ゲート251は、NMOSトランジスタMN0−MN2及びPMOSトランジスタMP0−MP2を含む。トランジスタMN1及びMN2は、ノードN2と接地電位との間で直列に結合され、トランジスタMN0は、トランジスタMN1と並列に結合される。トランジスタMN1は、入力データビットDを受けるためのゲートを有し、トランジスタMN0は、クロック信号CLKを受けるためのゲートを有し、トランジスタMN2は、ノードN1に結合されたゲートを有する。トランジスタMP0及びMP1は、ノードN2と電圧電源VDDとの間で直列に結合され、トランジスタMP2は、ノードN2とVDDとの間に結合される。トランジスタMP1は、入力データビットDを受けるためのゲートを有し、トランジスタMP0は、クロック信号CLKを受けるためのゲートを有し、トランジスタMP2は、ノードN1に結合されたゲートを有する。
【0046】
[0038] 第2の論理ゲート252は、NMOSトランジスタMN3−MN4及びPMOSトランジスタMP3−MP4を含む。トランジスタMN3及びMN4は、ノードN1と接地電位との間で直列に結合される。トランジスタMN3は、クロック信号CLKを受けるためのゲートを有し、トランジスタMN4は、ノードN2に結合されたゲートを有する。トランジスタMP3及びMP4は、ノードN1とVDDとの間で並列に結合される。トランジスタMP3は、クロック信号CLKを受けるためのゲートを有し、トランジスタMP4は、ノードN2に結合されたゲートを有する。
【0047】
[0039] 第3の論理ゲート253は、NMOSトランジスタMN5、MN6、及びMN8を含み、PMOSトランジスタMP5、MP6、及びMP8を含む。トランジスタMN5及びMN6は、ノードN3と接地電位との間で直列に結合され、トランジスタMN8は、トランジスタMN5と並列に結合される。トランジスタMN5は、出力信号Qを受けるためのゲートを有し、トランジスタMN6は、ノードN1に結合されたゲートを有し、トランジスタMN8は、クロック信号CLKを受けるためのゲートを有する。トランジスタMP5及びMP8は、ノードN3とVDDとの間で直列に結合され、トランジスタMP6は、ノードN3とVDDとの間に結合される。トランジスタMP5は、出力信号Qを受けるためのゲートを有し、トランジスタMP8は、クロック信号CLKを受けるためのゲートを有し、トランジスタMP6は、ノードN1に結合されたゲートを有する。
【0048】
[0040] フリップフロップ回路250の例示的な動作が以下で説明される。クロック信号CLKが論理ロー状態にあるとき(CLK=0)、第1の論理ゲート251は、
【数19】
【0049】
入力データビットDの値をラッチし、第3の論理ゲート253は、出力信号Qの前値を維持する。より具体的には、CLK=0に応答して、トランジスタMP0、MP3、及びMP8はオンになり、トランジスタMN0、MN3、及びMN8はオフになる。導電性トランジスタMP3は、信号S1が論理ハイ状態になるようにVDDに向かってノードN1をハイに引き上げ、これは、トランジスタMN2をオンにし、トランジスタMP2をオフにする。Dの値は、トランジスタMP1及びMN1によって形成されるインバータによって反転され、それによって、
【数20】
【0050】
ゆえに、クロック信号CLKが論理ローである場合、論理ゲート251−252によって形成される「マスタ」ラッチは、
【数21】
【0051】
[0041] 信号S1の論理ハイ状態及びCLKの論理ロー状態が第3の論理ゲート253に供給される。CLK=0に応答して、トランジスタMP8はオンになり、トランジスタMN8はオフになる。ノードN1における信号S1の論理ハイ状態は、トランジスタMN6をオンにし、トランジスタMP6をオフにする。出力信号Qの前値が、トランジスタMP5及びMN5によって形成されるインバータによって反転され、それによって、
【数22】
【0052】
インバータX5及びX6は、ノードN3における信号S3の値を反転して、出力信号Qの前値を維持する。
【0053】
[0042] クロック信号CLKが論理ハイに遷移すると(CLK=1)、第2の論理ゲート252は、第1の論理ゲート251によってラッチされたような、Dの値を、第3の論理ゲート253にパスする。次いで、第3の論理ゲート253は、ラッチされたDの値に応答して出力信号Qの値を更新し得る。より具体的には、CLK=1に応答して、トランジスタMP0、MP3、及びMP8はオフになり、トランジスタMN0、MN3、及びMN8はオンになる。導電性トランジスタMN0は、トランジスタMN2のドレインを接地電位に接続し、導電性トランジスタMN3は、トランジスタMN4のソースをノードN1に接続し、導電性トランジスタMN8は、トランジスタMN6のドレインを接地電位に接続する。非導電性トランジスタMP0は、Dに応答してトランジスタMP1がVDDに向かってノードN2をハイに引き上げることを防ぎ、それによって、CLK=1のときに、第1の論理ゲート251に供給されるDの現在値に係らず、
【数23】
【0054】
[0043] ノードN2における
【数24】
【0055】
トランジスタMP4及びMN4によって形成されるインバータによって論理的に反転され、ノードN1においてDの値が生成される。ノードN1におけるDの値は、トランジスタMP2及びMN2によって形成されるインバータによって論理的に反転されて、
【数25】
【0056】
[0044] ノードN1におけるDの値もまた、トランジスタMP6及びMN6によって形成されるインバータによって論理的に反転され、
【数26】
【0057】
これは、インバータX5及びX6によって反転されて、出力信号QがDの値にドライブされる(Q=D)。このように、CLKの論理ハイ状態は、クロック信号CLKが論理ハイから論理ローに遷移するまで、第1の論理ゲート251が入力データビットDにおける状態遷移を無視することを可能にしつつ、Dの値を第2の論理ゲート252から第3の論理ゲート253に転送する。
【0058】
[0045] 図2Aを再度参照すると、フリップフロップ回路200は、Dの次の状態と、Qの現在の状態の両方が論理ローであるとき、不必要な動的な電力を消費し得る。例えば、CLKの論理ロー状態は、ノードN1を論理ハイにドライブすることをNANDゲートX1に行わせる。同時に、ノードN0は、入力データビットD=0のとき、論理ローにドライブされ、したがって、ノードN2もまた、論理ハイにプルアップされる。次いで、CLKが論理ローから論理ハイに遷移すると、NANDゲートX1は、ノードN1を論理ハイから論理ローにドライブする。しかしながら、出力信号Qは、その状態を変更せず、論理ローで維持される。結果として、ノードN1は、Dの次の値とQの現在値の両方が0であるとき、論理状態0と1との間を不必要に遷移し得る。
【0059】
[0046] この起こりうるタイミング問題を回避するために、例えば、図3で示されるように、フィードバック信号が供給され得る。図3Aは、他の実施形態に係る、データタイプのフリップフロップ回路300のブロック図を示す。フリップフロップ回路300は、第1のラッチ310、図2Aの第2のラッチ220、及びフィードバック信号FBを第1のラッチ310に供給するNORゲートX8を含む。第1のラッチ310は、図2Aの第1のラッチ210の全ての素子に加え、ORゲートX7を含む。クロック信号CLKは、ORゲートX7の第1の入力端子に供給され、フィードバック信号FBは、ORゲートX7の第2の入力端子に供給され、ORゲートX7の出力端子は、NANDゲートX1の第1の入力端子に結合される。NORゲートX8は、入力データビットDを受けるための第1の入力端子と、出力信号Qを受けるための第2の入力端子と、フィードバック信号FBを供給するための出力端子とを含む。
【0060】
[0047] フィードバック信号FBは、出力信号Qの現在値とデータビットDの到来値の両方が論理ローであるとき(Q=D=0のとき)の、上述された不必要な電力消費問題を除去し得る。例えば、Q=D=0のとき、NORゲートX8は、フィードバック信号FBを論理ハイにドライブし(FB=1)、これは、クロック信号CLKとは関係なしに、ORゲートX7に、ノード7におけるその出力信号S7を論理ハイにドライブさせる。このケースについて、D=0及びQ=0に応答して生成された信号S7の論理ハイ状態は、NANDゲートX1が、
【数27】
【0061】
次いで、ノードN1を論理ローにドライブすること(D=0を第2のラッチ220にパスするために)を確実にする。
【0062】
[0048] D及びQの全ての他のケースについて、NORゲートX8は、フィードバック信号FBを論理ローにドライブし(FB=0)、それによって、ORゲートX7が、CLKの値をNANDゲートX1にパスすることを可能にする。これら他のケースについて、第1のラッチ310は、図2Aの第1のラッチ210と同様の方法で動作し得る。
【0063】
[0049] 図3Bは、図3Aのフリップフロップ回路300の一実施形態であるフリップフロップ回路350を示す。フリップフロップ回路350は、図2Bの第1の論理ゲート251、第2の論理ゲート352、及び図2Bの第3の論理ゲート253を含むように示される。幾つかの実施形態について、第1の論理ゲート251、第2の論理ゲート352、及び第3の論理ゲート253は各々、OAI回路として動作し得る。さらに、少なくとも1つの実施形態について、図3Bの第1及び第2の論理ゲート251及び352は、図3Aの第1のラッチ310を実現し得、図3BのゲートX5及びX6と組み合せられた第3の論理ゲート253は、図3Aの第2のラッチ220を実現し得る。
【0064】
[0050] 第2の論理ゲート352は、NMOSトランジスタMN3、MN4、及びMN7を含み、PMOSトランジスタMP3、MP4、及びMP7を含む。トランジスタMN3及びMN4は、ノードN1と接地電位との間で直列に結合される。トランジスタMN3は、クロック信号CLKを受けるためのゲートを有し、トランジスタMN4は、ノードN2に結合されたゲートを有する。トランジスタMN7は、トランジスタMN3と並列に結合され、フィードバック信号FBを受けるためのゲートを有する。トランジスタMP3及びMP7は、ノードN1とVDDとの間で直列に結合される。トランジスタMP3は、クロック信号CLKを受けるためのゲートを有し、トランジスタMP7は、フィードバック信号FBを受けるためのゲートを有する。トランジスタMP4は、ノードN1とVDDとの間に結合され、ノードN2に結合されたゲートを有する。図3BのトランジスタMP7及びMN7が、図3AのORゲートX7を実現し得ることに留意されたい。
【0065】
[0051] 図3Bのフリップフロップ回路350の例示的な動作が、入力データビットDの値及び出力信号Qの値の異なる組み合わせに関連して以下で説明される。第1のケースは、Dの次の状態が論理ローであり、Qの現在の状態が論理ハイであるときである(即ち、D=0及びQ=1)。クロック信号CLK=0のとき、トランジスタMP5及びMN5によって形成されるインバータは、Qの論理ハイ値を反転して、ノードN3を論理ローにドライブし、これは、次に、インバータX6によって反転されて、Q=1が維持される。D=0及びQ=1に応答して、NORゲートX8は、フィードバック信号FBを論理ローにドライブし、これは、トランジスタMP7をオンにし、トランジスタMN7をオフにする。結果として、ノードN1は、CLK=0に応答してトランジスタMP3によってVDDに向かってハイに引き上げられ、これは、トランジスタMN2をオンにする。ゆえに、トランジスタMP1及びMN1によって形成されるインバータは、
【数28】
【0066】
このように、第3の論理ゲート253は、現在値であるQ=1を維持し、第1の論理ゲート251は、D=0という値をラッチする。
【0067】
[0052] CLKが論理ローから論理ハイに遷移すると、トランジスタMN3はオンになり、接地電位向かってノードN1をローに引き下げる。ノードN1の論理ロー状態は、トランジスタMP2をオンにし、これは、ノードN2をVDDに向かってハイに引き上げ、その結果、ノードN2の論理ハイ状態を維持して、
【数29】
【0068】
ノードN1の論理ロー状態は、トランジスタMN6をオフに、トランジスタMP6オンにし、それによって、VDDに向かってノードN3をハイに引き上げ、
【数30】
【0069】
これに応答して、インバータX6は、D=0に応答してQ=0を更新する。CLK=1である間、ノードN2が、導電性トランジスタMP2によって論理ハイ状態で維持され、ノードN1が、導電性トランジスタMN3及びMN4によって論理ロー状態で維持されることに留意されたい。トランジスタMP0、MP3、MP4、及びMN5は、非導電性であり、それによって、データビットDにおける後続の状態変化に関係なしに、論理ゲート251及び352においてD=0というラッチされた値を維持する。
【0070】
[0053] CLKが論理ハイから論理ローに遷移すると、Qの前値が、第3の論理ゲート253においてラッチされ、第1及び第2の論理ゲート251及び352は、Dの次の値をラッチすることができる状態にある。
【0071】
[0054] 第2のケースは、Dの次の状態が論理ハイであり、Qの現在の状態が論理ローであるとき(即ち、D=1及びQ=のとき)である。クロック信号CLK=0のとき、トランジスタMP5及びMN5によって形成されるインバータは、Qの論理ロー値を反転して、ノードN3を論理ハイにドライブし、これは、次に、インバータX6によって反転されて、Q=0が維持される。D=1及びQ=0に応答して、NORゲートX8は、フィードバック信号FBを論理ローにドライブし、これは、トランジスタMP7をオンにし、トランジスタMN7をオフにする。結果として、ノードN1は、CLK=0に応答して、トランジスタMP3によってVDDに向かってハイに引き上げ、これは、MN2をオンにする。ゆえに、トランジスタMP1及びMN1によって形成されるインバータは、
【数31】
【0072】
このように、第3の論理ゲート253は、Q=0という現在値を維持し、第1の論理ゲート251は、D=1という値をラッチする。
【0073】
[0055] CLKが論理ローから論理ハイに遷移すると、トランジスタMN3はオンになるが、トランジスタMN4は、オフのままであり、ノードN1を接地電位から分離する。ノードN1の論理ハイ状態は、トランジスタMN2をオンにし、これは、ノードN2を接地電位に向かってローに引き下げ、その結果、ノードN2の論理ロー状態を維持して、
【数32】
【0074】
ノードN1の論理ハイ状態は、トランジスタMN6をオンに、トランジスタMP6をオフにし、それによって、接地電位に向かってノードN3をローに引き下げ、
【数33】
【0075】
これに応答して、インバータX6は、D=1に応答してQ=1を更新する。CLK=1の間、ノードN2が、導電性トランジスタMN2(「キーパ」回路として機能し得る)によって論理ロー状態で維持され、ノードN1が、導電性トランジスタMP4によって論理ハイ状態で維持されることに留意されたい。トランジスタMP0、MP2、及びMN4は、非導電性であり、それによって、データビットDにおける後続の状態変化に関係なしに、論理ゲート251及び352においてD=1というラッチされた値を維持する。CLKが論理ハイから論理ローに遷移すると、Qの前値が、第3の論理ゲート253においてラッチされ、第1及び第2の論理ゲート251及び352は、Dの次の値をラッチすることができる状態にある。
【0076】
[0056] 第3のケースは、Dの次の状態が論理ローであり、Qの現在の状態が論理ローであるとき(即ち、D=0及びQ=のとき)である。クロック信号CLK=0のとき、トランジスタMP5及びMN5によって形成されるインバータは、Qの論理ロー値を反転して、ノードN3を論理ハイにドライブし、これは、次に、インバータX6によって反転されて、Q=0が維持される。D=0及びQ=0に応答して、NORゲートX8は、フィードバック信号FBを論理ハイにドライブし、これは、トランジスタMP7をオフにし、トランジスタMN7をオンにする。結果として、クロック信号CLK及びDの値における遷移とは関係なしに、ノードN1は、論理ロー状態で維持され、ノードN2は、論理ハイ状態で維持される。このように、ノードN2は、トランジスタMP1及びMN1によって形成されるインバータを使用することなく、論理ハイ状態のままであり、
【数34】
【0077】
このように、トランジスタMP1及びMN1が、N2を充電又は放電しないため、動的な電力消費が減らされ得る。
【0078】
[0057] 第4のケースは、Dの次の状態が論理ハイであり、Qの現在の状態が論理ハイであるとき(即ち、D=1及びQ=1のとき)である。クロック信号CLK=0のとき、トランジスタMP5及びMN5によって形成されるインバータは、Qの論理ハイ値を反転して、ノードN3を論理ローにドライブし、これは、次に、インバータX6によって反転されて、Q=1が維持される。D=1及びQ=1に応答して、NORゲートX8は、フィードバック信号FBを論理ローにドライブし、これは、トランジスタMP7をオンにし、トランジスタMN7をオフにする。結果として、ノードN1は、トランジスタMP3及びMP7によって論理ハイ状態で維持され、ノードN2は、トランジスタMN1及びMN2によって接地電位に向かってローに放電される。その後、クロック信号CLK及びDの値の遷移とは関係なしに、ノードN1は、論理ハイ状態で維持され、ノードN2は、論理ロー状態で維持される。このように、動的な電力消費は減らされ得る。
【0079】
[0058] 追加的に、フリップフロップ回路200は、タイミング不一致に起因する誤差に左右され得る。例えば、NANDゲートX1がORゲートX0及びNANDゲートX2よりも弱い場合、クロック信号CLKにおける遷移に応答してNANDゲートX1がノードN1の状態を遷移することに関連付けられた第1の時間遅延は、クロック信号CLKにおける遷移に応答してORゲートX0及びNANDゲートX2がノードN2の状態を遷移することに関連付けられた第2の時間遅延よりも長く、これは、次に、第1のラッチ210が、入力データビットDの不正確な値をラッチすることに帰着し得る。例えば、CLKの論理ロー状態は、ノードN1を論理ハイにドライブすることをNANDゲートX1に行わせる。データビットDの現在値が論理ローであるとき(D=0)、NANDゲートX2は、
【数35】
【0080】
次いで、CLKが論理ローから論理ハイに遷移すると、ORゲートX0は、ノードN0を論理ハイにドライブする。しかしながら、第1の時間遅延が第2の時間遅延よりも大きい場合、NANDゲートX2は、D=0という値を獲得するために、NANDゲートX1がノードN1を論理ローにドライブする前に、ノードN2を論理ローにドライブし得る。これが起こった場合、NANDゲートX1は、望ましくなくも、ノードN1を論理ハイ状態に維持し得、それによって、D=0という値を正確にラッチすることに失敗する。ノードN1を論理ハイ状態で維持することがDの正確な値を反映し得るため、D=1という現在値のとき、この問題は存在ない可能性があることに留意されたい。
【0081】
[0059] この起こりうるタイミング問題を回避するために、図3Cに示されるように、二次クロック信号が生成され得る。フリップフロップ回路360は、図2Bの第1の論理ゲート251、第2の論理ゲート362、及び図2Bの第3の論理ゲート253を含むように示される。幾つかの実施形態について、第1の論理ゲート251、第2の論理ゲート362、及び第3の論理ゲート253は各々、OAI回路として動作し得る。さらに、少なくとも1つの実施形態について、図3のC第1及び第2の論理ゲート251及び362は、図3Aの第1のラッチ310を実現し得、図3CのゲートX5及びX6と組み合せられた第3の論理ゲート253は、図3Aの第2のラッチ220を実現し得る。
【0082】
[0060] 図3Cの第2の論理ゲート362は、図3Cの実施形態では、トランジスタMN3及びMN7が、ノードN1とトランジスタMN4のドレインとの間に結合される点を除いて、図3Bの第2の論理ゲート352に類似し得る。ゆえに、トランジスタMN3及びMN7は、図3Bのフリップフロップ回路350において、接地電位とトランジスタMN4のソースとの間で並列に結合されるが、トランジスタMN3及びMN7は、図3Cのフリップフロップ回路360において、ノードN1とMN4のドレインとの間で並列に結合される。図3Cのフリップフロップ回路360について、Dの次の状態が論理ローであり、Qの現在の状態が論理ハイである場合、フィードバック信号FBは論理ローにアサートされ、トランジスタMN7はオフになり、トランジスタMP7はオンになる。結果として、ノードN1は、CLK=0に応答して、トランジスタMP3によってVDDまで充電され、これは、トランジスタMN2をオンにする。次いで、トランジスタMP1及びMN1によって形成されるインバータは、
【数36】
【0083】
その後、トランジスタMN4は、信号CLK_LATを論理ローにプルダウンするためにオンにされる。CLKが論理ローから論理ハイに遷移すると、ノードN1は、接地電位に向かって放電され、CLK_LATは、論理ローを維持し、それは、起こりうるタイミングレースを効率的に抑制する。
【0084】
[0061] 図3Cのフリップフロップ360のこの改善の他の利点は節電である。例えば、Dの次の状態とQの現在の状態の両方は、論理ハイであり、フィードバック信号FBは、論理ローにアサートされ、トランジスタMN7はオフになり、MP7はオンになる。結果として、ノードN1は、CLK=0に応答して、トランジスタMP3によってVDDまで充電され、これは、トランジスタMN2をオンにする。結果として、トランジスタMP1及びMN1によって形成されるインバータは、
【数37】
【0085】
ゆえに、トランジスタMP4は、ノードN1を論理ハイで維持するためにオンにされ、トランジスタMN4は、CLK_LATを接地電位から隔離するためにオフにされる。CLKが論理ローから論理ハイに遷移すると、トランジスタMN3はオンにされ、CLK_LATは、導電性トランジスタMN3を通じてVDD−VTまで充電される。その後、CLK_LATが、第1の論理ゲート251におけるトランジスタMN0のゲートに供給され(例えば、クロック信号CLKというよりはむしろ)、これもまた、動的な電力消費を減らし得る。
【0086】
[0062] 導電性トランジスタMN3が、トランジスタMN4のドレインを、VDDを下回る1つのトランジスタ閾値電圧(例えば、VDD−VT)くらいまで充電することと、それが、電力消費を減らし得ること(トランジスタMN4のドレインを、VDDくらいまで充電することと比べて)に留意されたい。
【0087】
[0063] 図3Dは、図3Aのフリップフロップ回路300の別の実施形態であるフリップフロップ回路370を示す。フリップフロップ回路370は、図2Bの第1の論理ゲート251、図3Cの第2の論理ゲート362、及び第3の論理ゲート363を含むように示される。幾つかの実施形態について、第1の論理ゲート251、第2の論理ゲート362、第3の論理ゲート363は各々、OAI回路として動作し得る。さらに、少なくとも1つの実施形態について、図3Dの第1及び第2の論理ゲート251及び362は、図3Aの第1のラッチ310を実現し得、図3DのゲートX5及びX6と組み合せられた第3の論理ゲート363は、図3Aの第2のラッチ220を実現し得る。
【0088】
[0064] 図3Dの第3の論理ゲート363は、図3Dの実施形態では、トランジスタMP8が除去されており、トランジスタMP5のソースが、トランジスタMP0のドレインに結合される点を除いて、図2Bの第3の論理ゲート353に類似し得る。このように、トランジスタMP0は、除外されたトランジスタMP8と同一の機能を行い得、それによって、回路エリアを減らす。
【0089】
[0065] 前述の明細書では、本実施形態は、その特定の例示的な実施形態に関して説明されている。しかしながら、様々な修正及び変更が、添付の特許請求の範囲に示された本開示のより広い範囲から逸脱せずに、それに対してなされ得ることは明らかであろう。したがって、本明細書及び図面は、限定的な意味ではなく、例示的な意味で考慮されるべきである。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
フリップフロップ回路であって、
データ信号を受けるための第1の入力端子と、クロック信号を受けるための第2の入力端子と、第1のノードにおける出力端子とを含む第1のラッチと、
前記第1のラッチの前記出力端子に直接接続された第1の入力端子と、前記クロック信号を受けるための第2の入力端子と、出力信号を供給するための出力端子とを含む第2のラッチと、ここにおいて、前記第1のラッチ及び前記第2のラッチは、前記クロック信号の同じ位相上でクロックされるものとする、
を備えるフリップフロップ回路。
[C2]
前記第1のラッチはマスタラッチとして動作するものとし、前記第2のラッチは、スレーブラッチとして動作するものとする、C1に記載のフリップフロップ回路。
[C3]
前記第1のラッチ及び前記第2のラッチは、トライステートインバータを含まず、前記フリップフロップ回路は、パスゲート回路を含まない、C1に記載のフリップフロップ回路。
[C4]
前記第1のラッチは、
前記データ信号及び前記クロック信号を受けるための入力端子を含み、出力端子を含む第1のORゲートと、
前記クロック信号を受けるための第1の入力端子と、第2の入力端子と、前記第1のノードに結合された出力端子とを含む第1のNANDゲートと、
前記第1のORゲートの前記出力端子に結合された第1の入力端子と、前記第1のノードに結合された第2の入力端子と、第2のノードにおいて前記第1のNANDゲートの前記第2の入力端子に結合された出力端子とを含む第2のNANDゲートと
を備える、C1に記載のフリップフロップ回路。
[C5]
前記第1のラッチは、前記クロック信号が論理ロー状態にある場合には、前記第2のノードにおいて前記データ信号の相補を記憶するものとし、
前記第1のラッチは、前記クロック信号が論理ハイ状態にある場合には、前記第1のノードを介して前記データ信号を前記第2のラッチにパスするものとする、
C4に記載のフリップフロップ回路。
[C6]
前記第2のラッチは、
前記クロック信号及び前記出力信号を受けるための入力端子を含み、出力端子を含む第2のORゲートと、
前記第1のノードに結合された第1の入力端子と、前記第2のORゲートの前記出力端子に結合された第2の入力端子と、前記出力信号の相補を供給するための出力端子と含む第3のNANDゲートと
を備える、C4に記載のフリップフロップ回路。
[C7]
前記第2のラッチは、前記クロック信号が論理ロー状態にある場合、前記出力信号の前の状態を出力するものとして、
前記第2のラッチは、前記クロック信号が論理ハイ状態にある場合、前記データ信号に応答して前記出力信号をドライブするものとする、
C6に記載のフリップフロップ回路。
[C8]
前記第1のラッチは、NANDゲートに接続された第1のOR−AND−INVERT論理ゲートを備え、
前記第2のラッチは、第2のOR−AND−INVERT論理ゲートを備える、
C1に記載のフリップフロップ回路。
[C9]
前記データ信号及び前記出力信号を受けるための入力端子を含み、フィードバック信号を前記第1のラッチに供給するための出力端子を含むNORゲートをさらに備える、C1に記載のフリップフロップ回路。
[C10]
前記第1のラッチは、
前記データ信号及び前記クロック信号を受けるための入力端子を含み、出力端子を含む第1のORゲートと、
前記フィードバック信号及び前記クロック信号を受けるための入力端子を含み、出力端子を含む第2のORゲートと、
前記第2のORゲートの前記出力端子に結合された第1の入力端子と、第2の入力端子と、前記第1のノードに結合された出力端子とを含む第1のNANDゲートと、
前記第1のORゲートの前記出力端子に結合された第1の入力端子と、前記第1のノードに結合された第2の入力端子と、第2のノードにおいて前記第1のNANDゲートの前記第2の入力端子に結合された出力端子とを含む第2のNANDゲートと
を備える、C9に記載のフリップフロップ回路。
[C11]
前記NORゲートは、前記データ信号及び前記出力信号が両方とも論理ロー状態にある場合には、前記フィードバック信号をアサートされた状態にドライブするものとし、
前記第1のラッチは、前記フィードバック信号が前記アサートされた状態にある場合には、前記クロック信号を無視するものとする、
C9に記載のフリップフロップ回路。
[C12]
前記第1のラッチは、第2のOR−AND−INVERT論理ゲートに接続された第1のOR−AND−INVERT論理ゲートを備え、
前記第2のラッチは、第3のOR−AND−INVERT論理ゲートを備える、
C9に記載のフリップフロップ回路。
[C13]
データ信号に応答して出力信号を選択的にドライブするフリップフロップ回路であって、
前記データ信号及びクロック信号を受けるための入力端子を含み、前記クロック信号が第1の状態にある場合、前記データ信号の相補をラッチするための出力端子を含む第1の論理ゲートと
前記クロック信号、及び前記データ信号の前記相補を受けるための入力端子を含み、内部信号を生成するための出力端子を含む第2の論理ゲートと
を備える第1のラッチと、
前記第1のラッチに直接接続され、
前記クロック信号、前記出力信号、及び前記内部信号を受けるための入力端子を含み、前記出力信号を生成するための出力端子を含む第3の論理ゲート
を備える第2のラッチと、
を備えるフリップフロップ回路。
[C14]
前記第1、第2、及び第3の論理ゲートは、前記クロック信号の同じ位相上で動作するものとする、C13に記載のフリップフロップ回路。
[C15]
前記フリップフロップ回路は、パスゲート回路を含まない、C13に記載のフリップフロップ回路。
[C16]
前記第2の論理ゲートは、前記クロック信号が前記第1の状態にある場合には、前記内部信号を論理ハイ状態にドライブするものとし、
前記第2の論理ゲートは、前記クロック信号が第2の状態にある場合には、前記データ信号を示す状態に前記内部信号をドライブするものとする、
C13に記載のフリップフロップ回路。
[C17]
前記第3の論理ゲートは、前記クロック信号が前記第1の状態にある場合には、前記出力信号の前の状態を維持するものとし、
前記第3の論理ゲートは、前記クロック信号が前記第2の状態にある場合には、前記内部信号の前記状態に前記出力信号をドライブするものとする、
C13に記載のフリップフロップ回路。
[C18]
前記第1の論理ゲートは、第1のOR−AND−INVERT論理ゲートを備え、
前記第2の論理ゲートは、NANDゲートを備え、
前記第3の論理ゲートは、第2のOR−AND−INVERT論理ゲートを備える、
C13に記載のフリップフロップ回路。
[C19]
前記第1、第2、及び第3の論理ゲートは、各々、OR−AND−INVERT論理ゲートを備える、C13に記載のフリップフロップ回路。
[C20]
前記第1のラッチは、
前記データ信号及び前記クロック信号を受けるための入力端子を含み、出力端子を含む第1のORゲートと、
前記クロック信号を受けるための第1の入力端子と、第2の入力端子と、前記内部信号を受けるための出力端子とを含む第1のNANDゲートと、
前記第1のORゲートの前記出力端子に結合された第1の入力端子と、前記内部信号を受けるための第2の入力端子と、前記第1のNANDゲートの前記第2の入力端子に結合された出力端子とを含む第2のNANDゲートと
を備える、C13に記載のフリップフロップ回路。
[C21]
前記第2のラッチは、
前記クロック信号及び前記出力信号を受けるための入力端子を含み、出力端子を含む第2のORゲートと、
前記内部信号を受けるための第1の入力端子と、前記第2のORゲートの前記出力端子に結合された第2の入力端子と、前記出力信号の相補を供給するための出力端子と含む第3のNANDゲートと
を備える、C20に記載のフリップフロップ回路。
[C22]
前記データ信号及び前記出力信号を受けるための入力端子を含み、フィードバック信号を前記第2の論理ゲートに供給するための出力端子を含むNORゲート
をさらに備える、C13に記載のフリップフロップ回路。
[C23]
前記第1のラッチは、
前記データ信号及び前記クロック信号を受けるための入力端子を含み、出力端子を含む第1のORゲートと、
前記フィードバック信号及び前記クロック信号を受けるための入力端子を含み、出力端子を含む第2のORゲートと、
前記第2のORゲートの前記出力端子に結合された第1の入力端子と、第2の入力端子と、前記内部信号を受けるための出力端子とを含む第1のNANDゲートと、
前記第1のORゲートの前記出力端子に結合された第1の入力端子と、前記内部信号を受けるための第2の入力端子と、前記第1のNANDゲートの前記第2の入力端子に結合された出力端子とを含む第2のNANDゲートと
を備える、C22に記載のフリップフロップ回路。
[C24]
前記第2のラッチは、
前記クロック信号及び前記出力信号を受けるための入力端子を含み、出力端子を含む第2のORゲートと、
前記内部信号を受けるための第1の入力端子と、前記第2のORゲートの前記出力端子に結合された第2の入力端子と、前記出力信号の相補を供給するための出力端子とを含む第3のNANDゲートと
を備える、C23に記載のフリップフロップ回路。
図1
図2A
図2B
図3A
図3B
図3C
図3D