(57)【特許請求の範囲】
【請求項１】
フリップフロップを有する集積回路であって、前記フリップフロップは１つまたはそれ以上の段を含み、少なくとも１つの段がドライバの入力と、前記ドライバの入力に対する前記ドライバの出力に結合しているフィードバック径路とに対して結合されているトランスミッション・ゲートを有していて、
前記フィードバック径路は、内蔵のプリセット論理または内蔵のクリア論理のいずれかまたは両方を備えるゲート付きインバータを含み、
前記ゲート付きインバータは、ゲート機能を実行する少なくとも２つのデバイスを含み、
前記ゲート機能を実行する前記デバイスは、それぞれのソースおよびそれぞれのドレインの両方において互いに接続されておらず、
前記ゲート機能を実行する前記デバイスが、前記ドライバの前記入力と、前記ゲート付きインバータの中のインバータ機能を実行するデバイスとの間に接続されていることを特徴とする集積回路。
【請求項２】
請求項１に記載の集積回路において、前記フィードバック径路に内蔵のプリセット論理または内蔵のクリア論理のいずれもが最小サイズのデバイスを使って実装されている集積回路。
【請求項３】
請求項２に記載の集積回路において、前記フィードバック径路の中のすべてのデバイスが最小サイズのデバイスである集積回路。
【請求項４】
請求項３に記載の集積回路において、
前記ドライバがインバータであり、
前記少なくとも１つの段に対するプリセットまたはクリアの論理の追加がセットアップ時間またはクロックからＱへの伝播時間のいずれにも影響していない集積回路。
【請求項５】
請求項１に記載の集積回路において、前記ドライバがインバータである集積回路。
【請求項６】
請求項１に記載の集積回路において、前記少なくとも１つの段に対するプリセットまたはクリアの論理の追加が、セットアップ時間またはクロックからＱへの伝播時間のいずれにも影響しない集積回路。
【請求項７】
請求項１に記載の集積回路において、前記フリップフロップがマスター・スレーブ・フリップフロップであり、
（ａ）マスターのフィードバック径路によってマスターのドライバに対して接続されているマスターのトランスミッション・ゲートを有するマスター段と、
（ｂ）前記マスター段に対して接続されているスレーブ段とを含み、前記スレーブ段はスレーブのフィードバック径路を備えるスレーブ・ドライバに対して接続されているスレーブのトランスミッション・ゲートを有していて、前記マスターのフィードバック径路または前記スレーブのフィードバック径路のいずれかまたは両方が、プリセット論理またはクリア論理のいずれかまたは両方が内蔵されているゲート付きインバータを含む集積回路。
【請求項８】
請求項１に記載の集積回路において、マスターおよびスレーブのフィードバック径路のそれぞれが、プリセット論理またはクリア論理のいずれか、または両方を内蔵しているゲート付きインバータを含む集積回路。
【請求項９】
請求項８に記載の集積回路において、マスターおよびスレーブのゲート付きインバータのそれぞれがプリセットおよびクリアの論理を内蔵している集積回路。
【請求項１０】
請求項７に記載の集積回路において、前記論理が最小サイズのデバイスを使って実装されている集積回路。
【請求項１１】
請求項１０に記載の集積回路において、マスターおよびスレーブのフィードバック径路の中のすべてのデバイスが最小サイズのデバイスである集積回路。
【請求項１２】
請求項７に記載の集積回路において、前記マスター・ドライバまたは前記スレーブ・ドライバのいずれか、または両方がインバータである集積回路。
【請求項１３】
請求項１２に記載の集積回路において、前記マスターおよびスレーブのドライバが両方ともインバータである集積回路。
【請求項１４】
請求項７に記載の集積回路において、
前記マスター段に対する内蔵のプリセットまたはクリアの論理の追加が、セットアップ時間に影響せず、
前記スレーブ段に対する内蔵のプリセットまたはクリアの論理の追加が、クロックからＱへの伝播時間に影響しない集積回路。
【請求項１５】
請求項７に記載の集積回路において、前記スレーブ段を制御するために使われるクロック信号が、プリセットまたはクリアの信号のどれとも独立である集積回路。
【請求項１６】
請求項１５に記載の集積回路において、前記マスター段を制御するために使われるクロック信号が、プリセット信号またはクリア信号のいずれかまたは両方に依存している集積回路。
【請求項１７】
請求項１６に記載の集積回路において、
前記マスターおよびスレーブのフィードバック径路のそれぞれが、プリセット論理またはクリア論理のいずれかまたは両方が内蔵されているゲート付きインバータを含み、
前記マスターおよびスレーブのフィードバック径路のいずれかに内蔵のプリセット論理または内蔵のクリア論理のいずれもが最小サイズのデバイスを使って実装されていて、
前記マスターおよびスレーブのフィードバック径路の中のすべてのデバイスが最小サイズのデバイスであり、
前記マスターおよびスレーブのドライバが両方ともインバータであり、
前記マスターに対する内蔵のプリセットまたはクリアの論理の追加が、セットアップ時間に影響せず、
前記スレーブ段に対する内蔵のプリセットまたはクリアの論理の追加がクロックからＱへの伝播時間に影響しない集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子回路に関し、特にエッジ・トリガ型のフリップフロップ、たとえば、マスター・スレーブ・フリップフロップ、およびレベル・センス・フリップフロップ（ラッチと呼ばれることが多い）などに関する。
【０００２】
【従来の技術、及び、発明が解決しようとする課題】
マスター・スレーブ・フリップフロップは、データを一時的に記憶する電気的デバイスであり、その場合、データはクロック信号のエッジにおいてデバイスの中へ転送される。そのようなフリップフロップのマスター段は、２相クロックの１つのフェーズの間に入力ポートＤにおいて受け取られたデータを記憶する。その２相クロックの反対側の相において、スレーブ段がマスター段から受け取ったデータを記憶し、その記憶されたデータをマスター・スレーブ・フリップフロップの出力ポートＱにおいて提示する。
【０００３】
図１は、従来の技術の静的マスター・スレーブ・フリップフロップ１００の実装の略図であり、それはデータを保持するためにスイッチ型のフィードバック技法によっている。フリップフロップ１００は、４つのスイッチＳ１〜Ｓ４と４つのドライバＤ１〜Ｄ４（それぞれインバータＩＮＶ１〜ＩＮＶ４を使って実装されている）とを含み、それらは特定の方法でフリップフロップ１００を通してデータを移動させるように配置され、動作させられる。フリップフロップ１００は、スイッチＳ１およびＳ２とインバータＩＮＶ１およびＩＮＶ２とから構成されているマスター段と、スイッチＳ３およびＳ４とインバータＩＮＶ３およびＩＮＶ４とから構成されているスレーブ段とを有している。
【０００４】
フリップフロップ１００のマスター・セクションおよびスレーブ・セクションが、それぞれメモリを提供する。これは各段の出力からその入力に対して信号をフィードバックし、それによってその出力を現在の値に保持することによって実現される。各段の中のドライバがインバート型であった場合、このメモリの性質を提供するために、各段におけるフィードバック径路もインバート型でなければならない。
【０００５】
スイッチＳ１〜Ｓ４は、２相クロックのレベルによって制御され、スイッチＳ１およびＳ４は、Ｓ２およびＳ３が閉じられている時に開かれ、その逆に、Ｓ２およびＳ３が開かれている時に閉じられている。スイッチＳ１およびＳ４が閉じられていて、Ｓ２およびＳ３が開かれている時、マスター段はデータ信号を入力ノードＤから受け取る。スイッチＳ１およびＳ４が開かれてＳ２およびＳ３が閉じられると、マスター段の中に記憶されたデータがスレーブ段に対して、そして出力Ｑに対して渡される。スイッチＳ１およびＳ４が再び閉じられてスイッチＳ２およびＳ３が再び開かれると、マスター段からスレーブ段によって受け取られたデータがスレーブ段の中に記憶され、出力Ｑにおいて保持され、一方、マスター段は新しいデータ信号を入力Ｄにおいて受け取る。この方法でマスター・スレーブ・フリップフロップ１００は入力データ・ストリームから受け取ったデータを一時的に記憶する。
【０００６】
上記のように、スイッチＳ２が閉じられて、スイッチＳ１が開かれた状態で、フリップフロップ１００のマスター段は記憶素子として機能する。スイッチＳ１およびＳ２は、通常は、トランスミッション・ゲートである。古典的なＣＭＯＳのトランスミッション・ゲートは、ＮチャネルのトランジスタとＰチャネルのトランジスタとから作られており、これらの２つのデバイスのソースが一緒に接続されて、これらのデバイスのドレインも一緒に接続されている。そのＰおよびＮのデバイスが両方ともオンの時、ソースからドレインへの低抵抗の径路が実現される。代わりに、ＰおよびＮのデバイスがオフであった場合、そのスイッチはオープンであると考えられる。そのようなトランスミッション・ゲートは非反転構造である。
【０００７】
図１のフリップフロップ１００のようなフリップフロップはある種の欠点を有している。特に、ほとんどの基本設計は４つのスイッチおよび４つのインバータを必要とし、それはかなりのレイアウト面積およびパワーを利用する。
【０００８】
図２は、データを保持するために弱いフィードバック技法に依存する、静的マスター・スレーブ・フリップフロップ２００の、従来の技術の実装の略図を示している。フリップフロップ２００において、インバータＩＮＶ２およびＩＮＶ４は、ドライブが非常に小さいように設計されている弱いインバータである。したがって、インバータＩＮＶ２はスイッチＳ１が閉じられている時に、簡単にオーバドライブされ、そしてインバータＩＮＶ４はスイッチＳ３が閉じられている時に簡単にオーバドライブされるが、インバータＩＮＶ２およびＩＮＶ４は、そのフリップフロップの中に情報を保持するために、十分な正のフィードバックをスタンドバイ時（すなわち、スイッチＳ１およびＳ３がそれぞれ開いている時）に提供することになる。インバータＩＮＶ２およびＩＮＶ４のドライブが非常に小さいので、フリップフロップ２００は、マスター段およびスレーブ段のフィードバック径路の中にスイッチ（図１のスイッチＳ２およびＳ４など）なしで設けることができる。というのは、ノードＩ１およびＩ３においてノードＤおよびＩ２から受け取られる入力信号が、インバータＩＮＶ１およびＩＮＶ３の状態を制御するために十分大きく、弱いインバータＩＮＶ２およびＩＮＶ４からそれぞれどんな信号が受け取られていてもよいからである。
【０００９】
フリップフロップ２００は、図１のフリップフロップ１００に比べてある種の利点を有している。先ず第１に、フリップフロップ２００のスイッチの数はフリップフロップ１００より２個少ない。さらに、フリップフロップ２００は、フリップフロップ１００の強いインバータのうちの２つを２つの弱いインバータで置き換えている。したがって、フリップフロップ２００はより小さいレイアウト面積で実装することができる。
【００１０】
フリップフロップを設計する際のもう１つの望ましい目標（面積を小さくすること以外の）は、セットアップ時間とクロックからＱへの伝播時間の両方をできるだけ短くすることである。セットアップ時間はフリップフロップのマスター段をチャージするために掛かる時間を指す。同様に、クロックからＱへの伝播時間はフリップフロップのスレーブ段をチャージするために掛かる時間を指す。図１および図２を参照すると、セットアップ時間は、マスターのトランスミッション・ゲートＳ１が開かれる前に、マスター段に対して入力値Ｄが印加され、しかも、マスター段が正しい入力値を保持している必要がある最小の量の時間である。クロックからＱへの伝播時間は、スレーブのトランスミッションＳ３を閉じるクロックのエッジと、正しいデータが出力Ｑに到着する時点との間の時間の量である。
【００１１】
フリップフロップをプリセットおよび／またはクリアの機能付きで実装することが望ましい場合が多い。プリセット状態はフリップフロップをその出力Ｑが１であるように構成し、一方、クリア状態はフリップフロップの出力値Ｑが０であるように構成する。図３−図５は、プリセットおよびクリアの両方の機能をサポートするために回路が追加されている、静的マスター・スレーブ・フリップフロップの３つの異なる従来の技術の実装を示している。
【００１２】
図３Ａは、図１のフリップフロップ１００と同様に、マスターおよびスレーブのフィードバック・ループの中にトランスミッション・ゲートのスイッチを備えている静的フィードバック・フリップフロップ３００を示している。フリップフロップ３００において、ドライバＤ１およびＤ４は両方ともＯＲおよびＮＡＮＤゲートの機能によるゲート構造を使って実装されており、所望のフリップフロップのプリセットおよびクリアの機能を実現するために、プリセット信号ＰＤおよびクリア信号ＣＤＮがそれらのドライバに対して印加されている。図３Ｂおよび図３Ｃは、クロック信号ＣＫＮおよびプリセット信号ＰＤが、入力のクロック信号ＣＫおよび入力のプリセット信号ＰＤＮから、それぞれ、どのようにして発生されるかを示している。
【００１３】
ふたたび図３Ａを参照すると、フリップフロップ３００に対するセットアップ時間は、ノードｉ１におけるキャパシタンスに比例している。同様に、フリップフロップ３００に対するクロックからＱへの伝播時間は、ノードｉ３におけるキャパシタンスに比例している。一般にノードｉ１およびｉ３におけるキャパシタンスが小さいほど、セットアップ時間およびクロックからＱへの伝播時間がそれぞれ短い。フリップフロップ３００の設計の１つの欠点は、プリセットおよびクリアの信号が印加されている比較的複雑なゲート構造によって、ドライバＤ１の与えられたドライブ能力に対してノードｉ１における実効容量が大幅に増加し（ドライバＤ１に対してインバータを使うのと比較して）、それによってフリップフロップ３００に対するセットアップ時間が大幅に増加することである。さらに、ドライバＤ１およびＤ４に対するゲート構造の使用によって、フリップフロップ３００に対するレイアウト・サイズが、単純なインバータをドライバとして使うフリップフロップの実装に比べて増加する。
【００１４】
図４Ａは、図２のフリップフロップ２００と同様な、静的な弱い保持回路のフィードバック・フリップフロップ４００を示している。フリップフロップ２００の場合がそうであったように、フリップフロップ４００のフィードバック径路の中に弱い保持回路を使うことによって、フリップフロップ用のスイッチ（たとえば、図１におけるスイッチＳ２およびＳ４）が不要となり、単純なインバータを使って４つのすべてのドライバを実装することができ、それによって図３のフリップフロップ３００に比べてフリップフロップ４００のレイアウト面積を減らすことができる。図４Ｂは、クロック信号ＣＫＸおよびＣＫＹが入力のクロック信号ＣＫと、入力のプリセット信号ＰＤＮと、入力のクリア信号ＣＤＮとからどのように発生されるかを示している。同様に、図４Ｃおよび図４Ｄは、クリア信号ＣＤおよびプリセット信号ＰＤが、入力のクリア信号ＣＤＮおよび入力のプリセット信号ＰＤＮから、それぞれ、どのようにして発生されるかを示している。
【００１５】
フリップフロップ４００において、スレーブ段のフィードバック・ループが、フィードバックの競合時間を制限するため、およびＱに対する外部的な変化からフリップフロップの状態を保護するために、出力ドライバＤ３から分離して実装されている。フィードバックの競合はゲートされていないフィードバック・ループが、そのフィードバック径路を通して信号が伝播するために掛かる時間に起因する信号レベル（フィードバックドライバがフリップフロップ４００の中でのような弱い保持回路である時でさえも）における変化に抵抗し、それによってフィードバックの入力ノード（この場合はノードｉ３）における信号レベルを変化させるのに掛かる時間が増加する傾向を指す。
【００１６】
都合の悪いことに、ゲートされていないマスター・フィードバック・ループにおけるフィードバック競合の存在が、フリップフロップ４００のセットアップ時間に悪い影響を及ぼす。さらに、フリップフロップ４００においてプリセットおよびクリアのデバイスが直接にノードｉ１およびｉ３に接続されていることによって、ノードｉ１およびｉ３におけるキャパシタンスがさらに増加し、それによってセットアップ時間およびクロックからＱへの伝播時間の両方が増加する。さらに、図４Ｂの刻時方式におけるプリセットおよびクリアの信号の印加によって、フリップフロップ４００に対するクロックからＱへの伝播時間がさらに増加する。
【００１７】
図５Ａは、図３および図４のフリップフロップのハイブリッドである静的フィードバック・フリップフロップ５００を示している。図５Ｂは、クロック信号ＣＫＮおよびＣＫＡが、入力のクロック信号ＣＫからどのように発生されるかを示し、図５Ｃは、プリセット信号ＰＤが入力のプリセット信号ＰＤＮからどのように発生されるかを示している。ハイブリッドとして、フリップフロップ５００は、ゲート付きのフィードバックおよびプリセットおよびクリア入力付きの複雑なゲート・トランスミッション・ドライバが付いている図３のフリップフロップ３００の場合と同様なマスター段と、ノードｉ３に対して直接に接続されているプリセットおよびクリアのデバイスおよび出力のトランスミッション・ドライバとは別のフィードバック・ループを備えている図４のフリップフロップ４００の場合と同様なスレーブ段とを備えている。したがって、フリップフロップ５００には、ノードｉ１において、フリップフロップ３００のマスター段における問題と同様なキャパシタンスの問題があり、そしてノードｉ３において、フリップフロップ４００のスレーブ段の場合と同様な問題があり、それらがそれぞれ、セットアップ時間およびクロックからＱへの伝播時間を増加させることになる。フリップフロップ５００のマスター段におけるフィードバックの競合もセットアップ時間に悪い影響を及ぼす。
【００１８】
フリップフロップ５００のマスター段においては、そのフィードバック径路はゲート付きインバータ構成にするスイッチ（たとえば、図１の中のＳ２）と組み合わされたインバータ（たとえば、図１のＤ２）を備えている。フリップフロップ５００においては、ゲート付きインバータ構造はＰチャネルのＭＰ１およびＭＰ２およびＮチャネルのデバイスＭＮ１およびＭＮ２を含み、ここでＭＰ１およびＭＮ１のデバイスはインバータの機能を提供し、そしてＭＰ２およびＭＮ２のデバイスはゲートの機能を提供する。クロック信号ＣＫＡが１であってクロック信号ＣＫＮが０である時、そのゲートが開いていて、ノードｉ１は、ドライバの出力（すなわち、ノードｉ２）から隔離されている。
【００１９】
フリップフロップ５００のマスター段の中のゲート付きインバータ構造においては、図１のフリップフロップ１００に関して以前に説明された代表的なトランスミッション・ゲートとは違って、ゲート機能を実行するデバイスのソースは互いに接続されておらず、それらのデバイスのドレインも互いに接続されていない。インバータおよびゲートの機能を逆にして、ＭＰ１およびＭＮ１がゲート機能を提供し、ＭＰ２およびＭＮ２がインバータ機能を提供するようにすることができることに留意されたい。この場合、ゲート機能を形成するデバイスのソースが互いに接続されるか、あるいはそれらのデバイスのドレインが互いに接続されるかのいずれかであるが、ソースおよびドレインの両方が互いに接続されることはない。
【００２０】
【課題を解決するための手段】
本発明のプリセット機能、クリア機能のいずれかまたは両方をサポートするように構成されている、エッジ・トリガ型のフリップフロップ（マスター・スレーブ・フリップフロップ）およびレベル・センス・フリップフロップ（ラッチと呼ばれることが多い）に向けられている。本発明の代表的な実装においては、プリセットおよび／またはクリアの論理の追加は、フィードバック・ループの入力ノードにおけるキャパシタンスにはほとんど、あるいはまったく寄与せず、これによって、通常は、静的フリップフロップに対するそのようなプリセット／クリア機能の追加から生じるような、セットアップ時間および／またはクロックかＱへの伝播時間に対する悪い影響が制限されるか、あるいは、なくなる。
【００２１】
１つの実施形態によると、本発明はフリップフロップを含んでいる集積回路であり、そのフリップフロップは１つまたはそれ以上の段を含み、少なくとも１つの段がドライバの入力に対して結合されているトランスミッション・ゲートを備え、フィードバック径路がドライバの入力に対してドライバの出力を結合している。フィードバック径路はプリセット論理またはクリア論理のいずれかまたは両方が内蔵されているゲート付きインバータを含む。ゲート付きインバータはゲート機能を実行する少なくとも２つのデバイスを含み、そのゲート機能を実行するデバイスは、それぞれのソースおよびそれぞれのドレインの両方においては互いに接続されていはいない。
【００２２】
たとえば、そのフリップフロップはマスター・スレーブのフリップフロップであり、（ａ）マスター・フィードバック径路付きのマスター・ドライバに接続されているマスター・トランスミッション・ゲートを備えているマスター段と；（ｂ）マスター段に対して接続されているスレーブ段とを含んでおり、スレーブ段はスレーブのフィードバック径路付きのスレーブ・ドライバに接続されているスレーブのトランスミッション・ゲートを備え、マスターのフィードバック径路またはスレーブのフィードバック径路のいずれかまたはその両方が、プリセット論理またはクリア論理のいずれかまたは両方が内蔵されているゲート付きインバータ構造を備えている。
【００２３】
【発明の実施の形態】
図６Ａは、本発明の１つの実施形態による静的フリップフロップ６００を示している。フリップフロップ６００は、Ｄ入力型（すなわち、Ｄ型）の、非同期のプリセットおよびクリアの静的フリップフロップである。フリップフロップ６００の動作は、外部的に発生されるクロック信号ＣＫ、内部的に発生されるクロック信号ＣＫＮ、ＣＫＡ、およびＣＫＢ、外部的に発生されるプリセット信号ＰＤＮ、内部的に発生されるプリセット信号ＰＤ、外部的に発生されるクリア信号ＣＤＮ、および内部的に発生されるクリア信号ＣＤによって制御される。図６Ｂは、クロック信号ＣＫＮ、ＣＫＡ、およびＣＫＢが入力のクロック信号ＣＫ、入力のプリセット信号ＰＤＮ、および入力のクリア信号ＣＤＮからどのようにして発生されるかを示している。同様に、図６Ｃおよび図６Ｄは、プリセット信号ＰＤおよびクリア信号ＣＤが、入力のプリセット信号ＰＤＮおよび入力のクリア信号ＣＤＮからそれぞれ、どのようにして発生されるかを示している。
【００２４】
ふたたび図６Ａを参照すると、フリップフロップ６００はマスターのトランスミッション・ゲートＭＸＧと、マスターのトランスミッション・ドライバＭＧ１と、スレーブのトランスミッション・ゲートＳＸＧと、スレーブのトランスミッション・ドライバＳＧ１とを含み、ここでドライバＭＧ１およびＳＧ１は単純なインバータを使って実装されている。さらに、フリップフロップ６００のマスターおよびスレーブの各段には、そのフリップフロップに対してプリセットおよびクリアの機能を提供するために構成された、プリセットおよびクリアの論理が内蔵されているゲート付きインバータ構造を有するフィードバック径路がある。本明細書においては、「内蔵されている」という用語は、プリセットおよび／またはクリアの論理がゲート付きインバータ・フィードバック径路の一部であることを意味し、プリセットおよび／またはクリアの論理が対応しているゲート付きインバータ構造と同じ集積回路の一部であることを必ずしも意味しない。ただし、それは本発明のいくつかの実行例に対しては成立する場合がある。
【００２５】
マスター段においては、マスターのフィードバック径路の中のゲート付きインバータ構造は、（ａ）デバイスＭＰ２およびＭＮ２によって実装されているインバータ機能と、（ｂ）デバイスＭＰ１およびＭＮ１によって実装されているクロック付きのフィードバック・ゲートとを含み、ここでＭＰ１のソースおよびドレインは両方とも、それぞれＭＡ１のソースおよびドレインの両方に対しては接続されていない。マスターのフィードバック径路には、プリセットのデバイスＭＰ３およびＭＮ４およびクリアのデバイスＭＰ４およびＭＮ３が内蔵されている。同様に、スレーブ段においては、スレーブのフィードバック径路の中のゲート付きインバータ構造は、（ａ）デバイスＳＰ２およびＳＮ２によって実装されているインバータ機能と、（ｂ）デバイスＳＰ１およびＳＮ１によって実装されているクロック型のフィードバックゲート機能とを含み、ここでＳＰ１のソースおよびドレインの両方は、それぞれＳＮ１のソースおよびドレインの両方に対して接続されていない。スレーブのフィードバック径路の中には、プリセットのデバイスＳＰ４およびＳＮ３およびクリアのデバイスＳＰ３およびＳＮ４が内蔵されている。
【００２６】
デバイスＭＰ１〜ＭＰ４、ＭＮ１〜ＭＮ４、ＳＰ１〜ＳＰ４、およびＳＮ１〜ＳＮ４は、特定の技術に対してキャパシタンスが最小である最小サイズのＰチャネル・トランジスタおよびＮチャネル・トランジスタを使って実装されていることが好ましい。ただし、バイポーラの設計の場合のような他の適切なタイプのデバイスも可能である。
【００２７】
この特定の実施形態においては、プリセットおよびクリアの機能が代表的な従来の技術の技法（たとえば、図３−図５）に比較してデータ伝播径路の追加のローディングがあまり大きくないような方法で、フリップフロップのゲート付きインバータ・フィードバック構造に対して追加されている。この最小ローディングの配置構成で、セットアップ時間およびクロックからＱへの伝播時間の両方において最適の速度性能が得られる。さらに、プリセット機能またはクリア機能はいずれもクリティカルなデータ径路のキャパシタンスに影響しないので、タイミングの性能に影響せずに、異なるプリセット／クリア型のフリップフロップを設計において交換することができる。これは任意の特定のフリップフロップがプリセットおよび／またはクリアの機能付きで、あるいはなしで実装されるかどうかには無関係に、フリップフロップ６００の一般構成に基づいて１つまたはそれ以上のフリップフロップによって回路を設計することができることを意味する。
【００２８】
クロック信号ＣＫＮおよびＣＫＡがフリップフロップ６００のマスター段を制御するために使われ、一方、クロック信号ＣＫおよびＣＫＢがスレーブ段を制御する。ここでクロック信号ＣＫＢは図６Ｂに示されているように、プリセットおよびクリアの信号とは無関係である。フリップフロップ６００に対するこの刻時方式によって、スレーブ段がマスター段のゲート付き刻時（プリセット／クリアに対する）から解放される。これによって、クロックからＱへの伝播時間をさらに短くすることができる。フリップフロップをプリセットまたはクリアする時のフィードバック競合が減少することおよび、場合によっては回避されることも追加の利点である。本発明はマスター段およびスレーブ段の両方の完全に非同期のフィードバック径路に対して最小サイズのデバイスが使えるようにし、それにより、より小型の設計が可能であり、競合ノイズを削減する。
【００２９】
前に説明されたように、速度性能の重要な１つの態様はフィードバックおよびプリセット／クリアの機能に起因するノードｉ１、ｉ２、およびｉ３におけるキャパシタンスに対する寄与を最小化することである。マスター段のＭＮ１、２およびＭＰ１、２およびスレーブ段のＳＮ１、２およびＳＰ１、２から作られているゲート付きインバータ・フィードバック径路の中にプリセットおよびクリアの論理（デバイスＭＰ３、４、ＭＮ３、４、ＳＰ３、４およびＳＮ３、４から構成されている）を置くことによって、プリセット／クリアの機能は、スピードの径路には影響しない。フィードバック・セクションの中のすべてのデバイスは、性能およびレイアウトの両方の考慮に対して望ましい、最小サイズのデバイスであることが好ましい。
【００３０】
セットアップ時間は、ノードｉ１が入力Ｄにどのように高速に追随できるかの関数である。フリップフロップ６００のマスターのトランスミッション・ゲートＭＸＧは、その負荷として、インバータＭＧ１と、両方とも最小サイズのデバイスであるデバイスＭＰ１およびＭＮ１を有している。図５のフリップフロップ５００はプリセット／クリアが内蔵されていないゲート付きインバータ・フィードバック径路を採用し、マスターのトランスミッション・ドライバのための複雑なゲート構造を必要とする。クロックからＱへの伝播時間の等価な性能を実現するために、フリップフロップ５００のゲート構造はフリップフロップ６００のインバータＭＧ１より大きくなっていなければならず、そしてノードｉ１に対するより大きな負荷を提示することになり、それによってセットアップ時間に悪い影響を及ぼす。同様に、プリセットおよびクリアのデバイスをノードｉ１に対して直接接続することによって、図４のフリップフロップ４００の場合のように、キャパシタンスが追加され、通常は、最小サイズより大きいデバイスが必要となり、この場合もセットアップ時間が増加する結果となる。
【００３１】
クロックからＱへの伝播時間は、ノードｉ２、ｉ３、およびＱのキャパシタンス以外に、ドライバＭＧ１およびＳＧ１、ゲートＳＸＧの関数である。フリップフロップ６００において、ドライバＭＧ１はインバータであり、それは与えられたｉ１の負荷に対するフリップフロップ５００のゲート構造より良いドライブを有することになる。ノードｉ２のフィードバック・ローディングは、最小のキャパシタンス・ローディングを提供する２つの最小サイズのデバイスから構成されている。さらに、ドライバＭＧ１は背中合わせのインバータ・ラッチおよびプリセット／クリアの機能のために４つの追加のトランジスタからのローディングを有するフリップフロップ５００より、ｉ３のノードにおけるキャパシタンスのドライブが小さい。さらに、フリップフロップ４００および５００のスレーブ段における背中合わせのインバータは、それらがフリップの状態を変えるまでクロックからＱへの変化に反対するある程度のフィードバック競合を有する。
【００３２】
フリップフロップ６００はスレーブ段に対するゲート付き刻時を必要としない。ゲートＳＸＧとデバイスＳＰ１およびＳＮ１はクロック信号ＣＫおよびＣＫＢによって制御され、それはフリップフロップ５００の中でのようにクロック信号ＣＫＮおよびＣＫＡを使うものより速いインバータであり、フリップフロップ４００の中のＣＫおよびＣＫＸを使うものより大幅に速いインバータとなる。フィードバック径路の中のプリセットおよび／またはクリアの使用は、プリセットまたはクリアの前にゲートＳＸＧを強制的にオフにしなければならないことを排除するクロック状態を自然に考慮する。一般に、本発明の場合、ゲートＳＸＧがオン（デバイスＳＰ１およびＳＮ１が両方ともオフで）の場合、プリセット／クリアの機能はマスターのフリップフロップ論理から発生されることになる。ゲートＳＸＧがオフ（スレーブのフィードバックがオンの状態で）の場合、プリセット／クリアはスレーブのフィードバック論理から発生される。このすべてがフリップフロップ６００に対するクロックからＱへの伝播時間が短くなることに寄与する。
【００３３】
フリップフロップ６００の設計は追加の利点を提供する。本発明において使われる容量の小さいデバイスは、通常は、サイズが小さく、レイアウト・サイズが減る傾向がある。さらに、フリップフロップ５００の場合のゲート構造ではなく、ドライバのためにインバータだけを使うことは、レイアウトがより小さく、より対称的なドライブ機能を有する高速のフリップフロップを意味する。
【００３４】
図６のマスター・スレーブ・フリップフロップ６００において、マスター・フィードバック径路の中のゲート付きインバータ構造のためのゲート機能を実装するデバイス（すなわち、ＭＰ１およびＭＮ１）は、ノードｉ１と、そのゲート付きインバータ構造のためのインバータ機能を実装するデバイス（すなわち、ＭＰ２およびＭＮ２）との間に接続されている。同様に、スレーブのフィードバック径路の中のゲート付きインバータ構造のためのゲート機能を実装するデバイス（すなわち、ＳＰ１およびＳＮ１）は、ノードｉ３と、そのゲート付きインバータ構造のためのインバータ機能を実装するデバイス（すなわち、ＳＰ２およびＳＮ２）との間に接続されている。本発明の代替実施形態においては、フィードバック径路のいずれかまたは両方におけるゲート付きインバータ構造を、そのインバータ・デバイスが対応しているノードと、ゲート・デバイスとの間に接続されるように、逆にすることができる。いずれの場合においても、本発明のこれらの異なる実施形態のそれぞれにおいて、ゲート・デバイスの１つのソースおよびドレインは、それぞれ、同じフィードバック径路の中の他のゲート・デバイスのソースおよびドレインの両方に対しては接続されていない。
【００３５】
マスター・スレーブ・フリップフロップ６００においては、プリセットおよびクリアの論理はマスター段およびスレーブ段のそれぞれのフィードバック径路の中のゲート付きインバータ構造の一部である。これは本発明のすべての実施形態に対して必ずしもそのようになっている必要はない。特に、本発明はマスター段だけ、またはスレーブ段だけがフィードバック径路を備えていて、プリセットおよび／またはクリアの論理がフィードバック径路の中のゲート付きインバータ構造の一部であり、他の段はそのように制限されてはいないマスター・スレーブ・フリップフロップをカバーする。一般に、他の段はフィードバック径路を備えていてもいなくてもよく、フィードバック径路の中にゲート付きインバータ構造を備えていても備えていなくてもよく、そしてそのフィードバック径路の一部であってもなくてもよいプリセットおよび／またはクリアの論理を備えていても備えていなくてもよいが、いずれの場合においても、他の段はフィードバック径路の中のゲート付きインバータ構造の一部であるプリセットおよび／またはクリアの論理を備えていない。
【００３６】
本発明は、エッジ・トリガ型のフリップフロップであるマスター・スレーブ・フリップフロップの場合において説明されてきたが、この分野の技術に熟達した人であれば、本発明は、ラッチと呼ばれることが多いレベル・センスのフリップフロップの場合においても実装することができることは理解されるだろう。本発明の通常のラッチは図６Ａのｉ２の左側のすべてに対応している単独の段を備えることになり、ここでノードｉ２はラッチの出力ノードＱとなる。代替実施形態は、クリアの機能はサポートするが、プリセットの機能はサポートしない類似のラッチ以外に、プリセットの機能はサポートするが、クリアの機能はサポートしない類似のラッチを含む。
【００３７】
本発明の性質を説明するために記述されて例示されてきた部分についての詳細、材料および配置構成における各種の変更が、以下の特許請求の範囲の中で表現されている本発明の範囲から逸脱することなしに、この分野の技術に熟達した人によってなされ得ることはさらに理解されるだろう。
【図面の簡単な説明】
【図１】データを保持するためにスイッチ型のフィードバック技法に依存している静的マスター・スレーブ・フリップフロップの従来の技術の実装の略図を示す。
【図２】データを保持するために弱いフィードバック技法に依存している静的マスター・スレーブ・フリップフロップの従来の技術の実装の略図を示す。
【図３Ａ】プリセットおよびクリアの機能をサポートするために設計された、図１のフリップフロップと同様な、マスターおよびスレーブのフィードバック・ループの中にトランスミッション・ゲートのスイッチを備えた静的フィードバック・フリップフロップを示す。
【図３Ｂ】図３Ａのフリップフロップに対して、クロック信号ＣＫＮおよびプリセット信号ＰＤが、入力のクロック信号ＣＫおよび入力のプリセット信号ＰＤＮから、それぞれ、どのようにして発生されるかを示す。
【図３Ｃ】図３Ａのフリップフロップに対して、クロック信号ＣＫＮおよびプリセット信号ＰＤが、入力のクロック信号ＣＫおよび入力のプリセット信号ＰＤＮから、それぞれ、どのようにして発生されるかを示す。
【図４Ａ】プリセットおよびクリアの機能をサポートするために設計された、図２のフリップフロップと同様な、弱い保持回路のフィードバックの静的フリップフロップを示す。
【図４Ｂ】図４Ａのフリップフロップに対して、クロック信号ＣＫＸおよびＣＫＹが、入力のクロック信号ＣＫ、入力のプリセット信号ＰＤＮ、および入力のクリア信号ＣＤＮからどのようにして発生されるかを示す。
【図４Ｃ】図４Ａのフリップフロップに対して、クリア信号ＣＤおよびプリセット信号ＰＤが、入力のクリア信号ＣＤＮおよび入力のプリセット信号ＰＤＮから、それぞれ、どのようにして発生されるかを示す。
【図４Ｄ】図４Ａのフリップフロップに対して、クリア信号ＣＤおよびプリセット信号ＰＤが、入力のクリア信号ＣＤＮおよび入力のプリセット信号ＰＤＮから、それぞれ、どのようにして発生されるかを示す。
【図５Ａ】図３および図４のフリップフロップのハイブリッドである静的フィードバック・フリップフロップを示す。
【図５Ｂ】図５Ａのフリップフロップに対して、クロック信号ＣＫＮおよびＣＫＡが、入力のクロック信号ＣＫからどのようにして発生されるかを示す。
【図５Ｃ】フリップフロップＰＤが入力のプリセット信号ＰＤＮからどのようにして発生されるかを示す。
【図６Ａ】本発明の１つの実施形態による静的フリップフロップを示す。
【図６Ｂ】図６Ａのフリップフロップに対して、クロック信号ＣＫＮ、ＣＫＡ、およびＣＫＢが、入力のクロック信号ＣＫからどのようにして発生されるかを示す。
【図６Ｃ】図６Ａのフリップフロップに対して、プリセット信号ＰＤおよびクロック信号ＣＤが入力のプリセット信号ＰＤＮおよび入力のクリア信号ＣＤＮから、それぞれ、どのようにして発生されるかを示す。
【図６Ｄ】図６Ａのフリップフロップに対して、プリセット信号ＰＤおよびクロック信号ＣＤが入力のプリセット信号ＰＤＮおよび入力のクリア信号ＣＤＮから、それぞれ、どのようにして発生されるかを示す。
【図１】
0003621619.tif 000002
【図２】
0003621619.tif 000003
【図３Ａ】
0003621619.tif 000004
【図３Ｂ】
0003621619.tif 000005
【図３Ｃ】
0003621619.tif 000006
【図４Ａ】
0003621619.tif 000007
【図４Ｂ】
0003621619.tif 000008
【図４Ｃ】
0003621619.tif 000009
【図４Ｄ】
0003621619.tif 000010
【図５Ａ】
0003621619.tif 000011
【図５Ｂ】
0003621619.tif 000012
【図５Ｃ】
0003621619.tif 000013
【図６Ａ】
0003621619.tif 000014
【図６Ｂ】
0003621619.tif 000015
【図６Ｃ】
0003621619.tif 000016
【図６Ｄ】
0003621619.tif 000017