(57)【要約】【課題】様々な用途に対応した高度な処理を行うフリップフロップ回路を提供する。【解決手段】１個のフリップフロップ回路に第１のデータと第２のデータが入力されるようにし、クロックについても第１のクロックと第２のクロックが入力されるようにする。そして、例えば第１のクロックがローレベルからハイレベルに変化したタイミングで第１のデータがサンプリングされると共に、第２のクロックがローレベルからハイレベルに変化したタイミングで第２のデータがサンプリングされるようにし、そのサンプリングされたデータを保持する。【選択図】図１
2015012362.tif 000002
【特許請求の範囲】
【請求項１】
第１のデータが供給される第１のデータ入力端と、
第２のデータが供給される第２のデータ入力端と、
前記第１のデータ入力端に得られる第１のデータのサンプリングタイミングを規定する第１のクロックが供給される第１のクロック入力端と、
前記第２のデータ入力端に得られる第２のデータのサンプリングタイミングを規定する第２のクロックが供給される第２のクロック入力端と、
前記第１のクロック入力端に得られる第１のクロックによるサンプリング動作の有効又は無効を規定する第１のクロックイネーブル信号が供給される第１のクロックイネーブル入力端と、
前記第２のクロック入力端に得られる第２のクロックによるサンプリング動作の有効又は無効を規定する第２のクロックイネーブル信号が供給される第２のクロックイネーブル入力端と、
前記第１のクロックイネーブル入力端に得られる第１のクロックイネーブル信号が有効な状態で、前記第１のクロックが所定状態に変化したとき、前記第１のデータ入力端に得られる第１のデータをサンプリングすると共に、前記第２のクロックイネーブル入力端に得られる第２のクロックイネーブル信号が有効な状態で、前記第２のクロックが所定状態に変化したとき、前記第２のデータ入力端に得られる第２のデータをサンプリングし、サンプリングしたデータを保持する記憶回路と、
前記記憶回路が保持したデータを出力する出力端とを備えた
フリップフロップ回路。
【請求項２】
前記記憶回路は、前記第１のクロックがローレベルからハイレベルに変化したタイミングで前記第１のデータをサンプリングすると共に、前記第２のクロックがローレベルからハイレベルに変化したタイミングで前記第２のデータをサンプリングする
請求項１に記載のフリップフロップ回路。
【請求項３】
前記記憶回路は、さらに、前記第１のクロックがハイレベルからローレベルに変化したタイミングで前記第１のデータをサンプリングすると共に、前記第２のクロックがハイレベルからローレベルに変化したタイミングで前記第２のデータをサンプリングする
請求項２に記載のフリップフロップ回路。
【請求項４】
前記記憶回路は、さらに、前記第２のクロックがハイレベルからローレベルに変化したタイミングで前記第２のデータをサンプリングする
請求項２に記載のフリップフロップ回路。
【請求項５】
前記第１のクロックイネーブル信号として、受信データのヘッダ期間を示す信号とし、前記第２のクロックイネーブル信号として、受信データのテイル期間を示す信号とし、
前記第１のクロック入力端と前記第２のクロック入力端に、共通のクロックを供給するようにして、前記記憶回路が受信データのヘッダ期間とテイル期間のサンプリングを行うようにした
請求項３に記載のフリップフロップ回路。
【請求項６】
前記第１のデータ入力端と前記第２のデータ入力端には、同じデータを供給するようにし、
前記第１のクロック入力端に得られる第１のクロックを所定期間遅延させた信号を第２のクロックとして前記第２のクロック入力端に供給するようにした
請求項３に記載のフリップフロップ回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各種電子回路に使用されるフリップフロップ回路に関する。
【背景技術】
【０００２】
入力したデータを保持するフリップフロップ回路は、各種電子回路に使用されている。例えば、非同期で作動する複数の回路の間でのデータ転送時に、通信路を確立するための信号を、フリップフロップ回路で検出して保持することが行われている。このような通信路を確立する処理は、ハンドシェイクなどと称される。ハンドシェイクには、４相ハンドシェイクプロトコルと２相ハンドシェイクプロトコルが知られている。
【０００３】
図１９は、４相ハンドシェイクプロトコルの例を示す図である。
図１９（ａ）に示すように、通信相手側から送信されたリクエスト信号（ｒｅｑ）が特定の回路に入力すると、図１９（ｂ）に示すように、この回路が、応答信号（ａｃｋ）を通信相手に出力する。
ここで、４相ハンドシェイクプロトコルの場合、リクエスト信号は、ローレベルからハイレベルに立ち上がった後、応答信号のローレベルからハイレベルへの立ち上がりを確認して、ローレベルに戻る。また、応答信号についても、リクエスト信号がローレベルに戻ったことを確認して、ローレベルに戻る。このように４相ハンドシェイクプロトコルでは、［リクエスト信号の立ち上がり］→［応答信号の立ち上がり］→［リクエスト信号の立ち下がり］→［応答信号の立ち下がり］の４つの変化がある。
なお、リクエスト信号が変化してから応答信号が変化するまでの時間は、回路内での信号の処理状況などで変化し、一定とは限らない。図１９の例では、１回目のリクエスト信号の立ち上がりがあったときには、比較的短時間で応答信号が立ち上がっている。これに対して、２回目のリクエスト信号の立ち上がり時には、破線の矢印で示すように、比較的長い時間が経過した後、応答信号が立ち上がっている。
【０００４】
図２０は、２相ハンドシェイクプロトコルの例を示す図である。
この２相ハンドシェイクプロトコルの場合にも、図２０（ａ）に示すように、通信相手側から送信されたリクエスト信号（ｒｅｑ）が特定の回路に入力すると、図２０（ｂ）に示すように、この回路が、応答信号（ａｃｋ）を通信相手に出力する。
ここで、２相ハンドシェイクプロトコルの場合、リクエスト信号は、ローレベルからハイレベルへの変化、またはハイレベルからローレベルへの変化の、いずれかの変化でリクエストを行う。そして、応答信号についても、リクエスト信号の変化の後の１回の状態変化で応答を行う。
したがって、２相ハンドシェイクプロトコルでは、例えば［リクエスト信号立ち上がり］→［応答信号立ち上がり］の２つの変化や、［リクエスト信号立ち下がり］→［応答信号立ち下がり］の２つの変化のような、２つの変化だけである。
【０００５】
従来、ハンドシェイクプロトコルとしては、４相ハンドシェイクプロトコルが一般的であり、２相ハンドシェイクプロトコルを適用した例は少なかった。
特許文献１には、複数の回路ブロックの間でハンドシェイク信号をやり取りする例についての記載がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−１８１１７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述したように、従来、ハンドシェイクプロトコルは、４相ハンドシェイクプロトコルが一般的であった。しかしながら、図１９と図２０を比較すると判るように、２相ハンドシェイクプロトコルの方がプロトコルとしては簡単であり、データ転送効率の向上などに貢献する。しかしながら、２相ハンドシェイクプロトコルを行うためには、このような処理に適したフリップフロップ回路が必要である。すなわち、信号の立ち上がりと立ち下がりのいずれの状態変化があったときにも、その状態変化を検出して保持する必要があり、そのような用途に使用するフリップフロップ回路の開発が望まれていた。
【０００８】
また、ハンドシェイクプロトコル回路に適用する場合とは別の、フリップフロップ回路を使用する場合の問題として、高速動作時に高速のクロックが必要になる問題がある。すなわち、フリップフロップ回路は、回路に入力した信号の変化を確実に検出するために、その信号変化に追随した周波数の高いクロックが必要であるという問題がある。クロック周波数が低いと、フリップフロップ回路に入力した信号の変化に追随できない。つまり、適正な入力検出とその保持ができなくなってしまう。
【０００９】
本発明は、これらの問題を解決したフリップフロップ回路を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明のフリップフロップ回路は、入力端として、第１のデータが供給される第１のデータ入力端と、第２のデータが供給される第２のデータ入力端と、第１のデータ入力端に得られる第１のデータのサンプリングタイミングを規定する第１のクロックが供給される第１のクロック入力端と、第２のデータ入力端に得られる第２のデータのサンプリングタイミングを規定する第２のクロックが供給される第２のクロック入力端と、第１のクロック入力端に得られるクロックによるサンプリング動作の有効又は無効を規定する第１のクロックイネーブル信号が供給される第１のクロックイネーブル入力端と、第２のクロック入力端に得られるクロックによるサンプリング動作の有効又は無効を規定する第２のクロックイネーブル信号が供給される第２のクロックイネーブル入力端とを備える。
そして、サンプリングした信号を保持する記憶回路は、第１のクロックイネーブル入力端に得られる第１のクロックイネーブル信号が有効な状態で、第１のクロックが所定状態に変化したとき、第１のデータ入力端に得られる第１のデータをサンプリングすると共に、第２のクロックイネーブル入力端に得られる第２のクロックイネーブル信号が有効な状態で、第２のクロックが所定状態に変化したとき、第２のデータ入力端に得られる第２のデータをサンプリングする。
さらに、記憶回路が保持したデータを出力する出力端を備える。
【発明の効果】
【００１１】
本発明によると、２つの入力データのサンプリングを、それぞれ別のクロック信号でサンプリングすることで出力データを得るフリップフロップ回路が得られ、２つのクロック信号や２つのクロックイネーブル信号の設定で、様々な用途に適した動作状態になる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施の形態の例のフリップフロップ回路の構成図である。
【図２】本発明の第１の実施の形態の例のフリップフロップ回路の真理値表を示す図である。
【図３】本発明の第１の実施の形態の例のフリップフロップ回路の動作例を示す波形図である。
【図４】本発明の第１の実施の形態の例のフリップフロップ回路の回路図である。
【図５】図４の回路の動作例を示す波形図である。
【図６】本発明の第１の実施の形態のフリップフロップ回路の適用例（例１）を示す構成図である。
【図７】図６の構成による動作例を示す波形図である。
【図８】本発明の第１の実施の形態のフリップフロップ回路の適用例（例２）を示す構成図である。
【図９】図８の構成による動作例を示す波形図である。
【図１０】本発明の第２の実施の形態の例のフリップフロップ回路の構成図である。
【図１１】本発明の第２の実施の形態の例のフリップフロップ回路の動作例を示す波形図である。
【図１２】本発明の第２の実施の形態の例のフリップフロップ回路の回路図である。
【図１３】本発明の第３の実施の形態の例のフリップフロップ回路の構成図である。
【図１４】本発明の第３の実施の形態の例のフリップフロップ回路の動作例を示す波形図である。
【図１５】本発明の第３の実施の形態の例のフリップフロップ回路の回路図である。
【図１６】本発明の第４の実施の形態の例のフリップフロップ回路の構成図である。
【図１７】本発明の第４の実施の形態の例のフリップフロップ回路の回路図（その１）である。
【図１８】本発明の第４の実施の形態の例のフリップフロップ回路の回路図（その２）である。
【図１９】４相ハンドシェイクプロトコルを説明する波形図である。
【図２０】２相ハンドシェイクプロトコルを説明する波形図である。
【発明を実施するための形態】
【００１３】
［１．第１の実施の形態の例（図１〜図８）］
図１は、本発明の第１の実施の形態の例のフリップフロップ回路１００を示す図である。
フリップフロップ回路１００は、第１のデータ入力端１０１と第２のデータ入力端１０２を備える。第１のクロックイネーブル入力端１０３に得られる第１のクロックイネーブル信号ＣＥ１で有効が示されたとき、第１のデータ入力端１０１に得られる第１のデータＤ１が、第１のクロック入力端１０５に得られる第１のクロックＣＫ１によりサンプリングされる。
【００１４】
また、第２のクロックイネーブル入力端１０４に得られる第２のクロックイネーブル信号ＣＥ２で有効が示されたとき、第２のデータ入力端１０２に得られる第２のデータＤ２が、第２のクロック入力端１０６に得られる第２のクロックＣＫ２によりサンプリングされる。
【００１５】
それぞれのクロックでサンプリングされてホールドされた信号である信号Ｑが、Ｑ出力端１０７から出力される。また、信号Ｑを反転した信号（信号Ｑｎ）が、反転Ｑ出力端１０８から出力される。また、リセット入力端１０９に得られるリセット信号ＲＳＴで、サンプリング動作がリセットされる。
【００１６】
第１のクロックＣＫ１で第１のデータＤ１をサンプリングするタイミングとしては、第１のクロックＣＫ１がローレベルからハイレベルに変化したタイミングで、第１のデータＤ１がサンプリングされる。さらに、第１のクロックＣＫ１がハイレベルからローレベルに変化したタイミングでも、第１のデータＤ１がサンプリングされる。
なお、図１において、第１のクロックＣＫ１の入力端１０５の箇所に、三角の印△を横に２つ並べて示すのは、ローレベルからハイレベルへの変化時とハイレベルからローレベルへの変化時の両方でサンプリングされることを示す。他の図についても同様である。また、三角の印△を横に１つだけ示したときには、クロックの何れか一方の変化時（例えばローレベルからハイレベルへの変化時）だけサンプリングされることを示す。
【００１７】
図２は、フリップフロップ回路１００の真理値表である。この真理値表は、第１のデータＤ１、第１のクロックイネーブル信号ＣＥ１、第１のクロックＣＫ１、第２のデータＤ２、第２のクロックイネーブル信号ＣＥ２、第２のクロックＣＫ２、リセット信号ＲＳＴが各状態のときのＱ出力を示す。この真理値表において、“１”はハイレベルの状態を示し、“０”はローレベルの状態を示す。また、「↑」はローレベルからハイレベルに変化したときを示し、「↓」ハイレベルからローレベルに変化したときを示す。また、「１／０」は、信号が１（ハイレベル）と０（ローレベル）のいずれでもよい場合を示す。さらに、「＊」は１／０に加え、信号がどのように変化してもよい場合を示す。ここでは、説明の便宜上、真理値表の左端に示すように、各状態を状態１〜状態１０と称する。
【００１８】
図２の各状態について説明すると、状態１は、第１のデータＤ１が値“ａ”であり、第１のクロックイネーブル信号ＣＥ１がハイレベルのときである。この状態で、第１のクロックＣＫ１がローレベルからハイレベルに変化したとき、第１のデータＤ１の値“ａ”がサンプリングされる。そして、Ｑ出力として、サンプリングされた値“ａ”が出力される。
図２の状態２は、第１のクロックイネーブル信号ＣＥ１がハイレベルで、第１のクロックＣＫ１がハイレベルからローレベルに変化したときである。このときにも、第１のデータＤ１の値“ａ”がサンプリングされ、Ｑ出力として値“ａ”が出力される。
【００１９】
図２の状態３は、第１のクロックイネーブル信号ＣＥ１がハイレベルで、第１のクロックＣＫ１がハイレベルまたはローレベルで変化がないときである。このときには、直前のＱ出力が維持される。図２で、Ｑ−１と示したのは、直前のＱ出力が維持される状態を示す。
図２の状態４は、第１のクロックイネーブル信号ＣＥ１がローレベルになり、第２のクロックＣＫ２の状態がハイレベルまたはローレベルで変化がないときである。このときにも、直前のＱ出力が維持される。
図２の状態５は、第２のデータＤ２が値“ｂ”であり、第２のクロックイネーブル信号ＣＥ２がハイレベルで、第２のクロックＣＫ２がローレベルからハイレベルに変化したときである。このとき、第２のデータＤ２の値“ｂ”がサンプリングされ、Ｑ出力として、サンプリングされた値“ｂ”が出力される。
図２の状態６は、第２のクロックイネーブル信号ＣＥ２がハイレベルで、第２のクロックＣＫ２がハイレベルからローレベルに変化したときである。このときにも、第２のデータＤ２の値“ｂ”がサンプリングされて、そのサンプリングされた値がＱ出力となる。
【００２０】
図２の状態７は、第２のクロックイネーブル信号ＣＥ２がハイレベルで、第２のクロックＣＫ２がハイレベルまたはローレベルで変化がないときである。このときには、直前のＱ出力が維持される。
図２の状態８は、第２のクロックイネーブル信号ＣＥ２がローレベルになり、第１のクロックＣＫ１の状態がハイレベルまたはローレベルで変化がないときである。このときにも、直前のＱ出力が維持される。
【００２１】
図２の状態９は、リセット信号ＲＳＴが、ハイレベルのときである。このときには、Ｑ出力が０にリセットされる。
図２の状態１０は、クロックイネーブル信号ＣＥ１，ＣＥ２がいずれもハイレベルで、第１のクロックＣＫ１と、第２のクロックＣＫ２が同時に変化したときである。フリップフロップ回路１００は、この状態１０の変化を禁止している。
【００２２】
図３は、フリップフロップ回路１００に信号が入力したときの一例を示す波形図である。図３の例は、クロックイネーブル信号ＣＥ１，ＣＥ２はいずれもハイレベルであり、リセット信号ＲＳＴはローレベルの状態である。
図３（ａ）に示す第１のデータＤ１が、図３（ｂ）に示す第１のクロックＣＫ１の変化タイミングでサンプリングされる。このサンプリングされた信号が、出力Ｑ（図３（ｅ））及び反転出力Ｑｎ（図３（ｆ））に反映される。
また、図３（ｃ）に示す第２のデータＤ２が、図３（ｄ）に示す第２のクロックＣＫ２の変化タイミングでサンプリングされる。このサンプリングされた信号が、出力Ｑ（図３（ｅ））及び反転出力Ｑｎ（図３（ｆ））に反映される。
図３の例では、前半に第１のクロックＣＫ１が変化し、後半に第２のクロックＣＫ２が変化しているため、出力Ｑ及び反転出力Ｑｎとして、前半で第１のデータＤ１に対応した変化が表れ、後半で第２のデータＤ２に対応した変化が表れるようになる。
【００２３】
図４は、フリップフロップ回路１００の回路図の例である。
第１のデータＤ１が得られる入力端１０１は、トランジスタＭ１０１のソース・ドレイン間とトランジスタＭ１０２のソース・ドレイン間の並列回路を介して、インバータ回路１１１の入力に接続される。また、第１のデータＤ１が得られる入力端１０１は、トランジスタＭ１０３のソース・ドレイン間とトランジスタＭ１０４のソース・ドレイン間の並列回路を介して、インバータ回路１１１の入力に接続される。さらに、第１のデータＤ１が得られる入力端１０１は、トランジスタＭ１１２のゲートとトランジスタＭ１１６のゲートに接続される。
なお、図中で、ゲート部分に丸印を付けたトランジスタはＰ型トランジスタであり、ゲート部分に丸印がないトランジスタはＮ型トランジスタである。他の実施の形態の例の回路図についても、Ｐ型トランジスタとＮ型トランジスタを同様に区別して示す。
【００２４】
第２のデータＤ２が得られる入力端１０２は、トランジスタＭ１０５のソース・ドレイン間とトランジスタＭ１０６のソース・ドレイン間の並列回路を介して、インバータ回路１１１の入力に接続される。また、第２のデータＤ２が得られる入力端１０２は、トランジスタＭ１０７のソース・ドレイン間とトランジスタＭ１０８のソース・ドレイン間の並列回路を介して、インバータ回路１１１の入力に接続される。さらに、第２のデータＤ２が得られる入力端１０２は、トランジスタＭ１１５のゲートとトランジスタＭ１１９のゲートに接続される。
【００２５】
インバータ回路１１１の出力は、ＮＯＲゲート回路１１２を介してインバータ回路１１１の入力に戻す構成としてある。ＮＯＲゲート回路１１２には、インバータ回路１１１の出力の他に、リセット信号ＲＳＴの入力端１０９に得られる信号が供給される。
このインバータ回路１１１とＮＯＲゲート回路１１２とによるループ回路で、サンプリングされた信号を保持する記憶回路が構成される。この記憶回路は、リセット信号ＲＳＴがローレベルであるとき、インバータ回路１１１とＮＯＲゲート回路１１２とで反転を繰り返すことで、信号が保持される。そして、リセット信号ＲＳＴがハイレベルのときには、ＮＯＲゲート回路１１２の出力が強制的にローレベルにリセットされる。
【００２６】
そして、インバータ回路１１１の出力が、インバータ回路１５１を介してＱ出力端１０７に供給される。さらに、インバータ回路１５１の出力が、別のインバータ回路１５２を介して反転Ｑ出力端１０８に供給される。
【００２７】
第１のクロックＣＫ１の入力端１０５には、インバータ回路１２１，１２２，１２３と遅延回路１２４とインバータ回路１２５，１２６とを順に接続した直列回路が接続される。そして、インバータ回路１２２の出力ＣＫ１ｉＰとインバータ回路１２６の出力ＣＫ１ｏＰとが、ＮＡＮＤゲート回路１２７に供給される。第１のクロックイネーブル入力端１０３に得られる第１のクロックイネーブル信号ＣＥ１についても、ＮＡＮＤゲート回路１２７に供給される。
そして、ＮＡＮＤゲート回路１２７の出力Ｗ１ＰＢが、トランジスタＭ１０３及びトランジスタＭ１１１のゲートに供給される。また、ＮＡＮＤゲート回路１２７の出力Ｗ１ＰＢをインバータ回路１２８で反転した信号Ｗ１Ｐが、トランジスタＭ１０４及びトランジスタＭ１１７のゲートに供給される。
【００２８】
さらに、インバータ回路１２１の出力ＣＫ１ｉＮとインバータ回路１２５の出力ＣＫ１ｏＮとが、ＮＡＮＤゲート回路１２９に供給される。第１のクロックイネーブル入力端１０３に得られる第１のクロックイネーブル信号ＣＥ１についても、ＮＡＮＤゲート回路１２９に供給される。
そして、ＮＡＮＤゲート回路１２９の出力Ｗ１ＮＢが、トランジスタＭ１０１及びトランジスタＭ１１０のゲートに供給される。また、ＮＡＮＤゲート回路１２９の出力をインバータ回路１３０で反転した信号Ｗ１Ｎが、トランジスタＭ１０２及びトランジスタＭ１１８のゲートに供給される。
【００２９】
第２のクロックＣＫ２の入力端１０６には、インバータ回路１３１，１３２，１３３と遅延回路１３４とインバータ回路１３５，１３６とを順に接続した直列回路が接続される。そして、インバータ回路１３２の出力ＣＫ２ｉＰとインバータ回路１３６の出力ＣＫ２ｏＰとが、ＮＡＮＤゲート回路１３７に供給される。第２のクロックイネーブル入力端１０４に得られる第２のクロックイネーブル信号ＣＥ２についても、ＮＡＮＤゲート回路１３７に供給される。
そして、ＮＡＮＤゲート回路１３７の出力Ｗ２ＰＢが、トランジスタＭ１０７及びトランジスタＭ１１４のゲートに供給される。また、ＮＡＮＤゲート回路１３７の出力をインバータ回路１３８で反転した信号Ｗ２Ｐが、トランジスタＭ１０８及びトランジスタＭ１２０のゲートに供給される。
【００３０】
さらに、インバータ回路１３１の出力ＣＫ２ｉＮとインバータ回路１３５の出力ＣＫ２ｏＮとが、ＮＡＮＤゲート回路１３９に供給される。第２のクロックイネーブル入力端１０４に得られる第２のクロックイネーブル信号ＣＥ２についても、ＮＡＮＤゲート回路１３９に供給される。
そして、ＮＡＮＤゲート回路１３９の出力Ｗ２ＮＢが、トランジスタＭ１０５及びトランジスタＭ１１３のゲートに供給される。また、ＮＡＮＤゲート回路１３９の出力をインバータ回路１４０で反転した信号Ｗ２Ｎが、トランジスタＭ１０６及びトランジスタＭ１２１のゲートに供給される。
【００３１】
電源電位と接地電位部との間には、トランジスタＭ１１０，Ｍ１１２，Ｍ１１６，Ｍ１１７のソース・ドレイン間が順に接続される。トランジスタＭ１１０には、並列にトランジスタＭ１１１が接続される。トランジスタＭ１１７には、並列にトランジスタＭ１１８が接続される。トランジスタＭ１１２とトランジスタＭ１１６の接続点は、インバータ回路１１１の出力部に接続される。
【００３２】
また、電源電位と接地電位部との間には、トランジスタＭ１１３，Ｍ１１５，Ｍ１１９，Ｍ１２０のソース・ドレイン間が順に接続される。トランジスタＭ１１３には、並列にトランジスタＭ１１４が接続される。トランジスタＭ１２０には、並列にトランジスタＭ１２１が接続される。トランジスタＭ１１５とトランジスタＭ１１９の接続点は、インバータ回路１１１の出力部に接続される。
【００３３】
この図４に示す回路構成とすることで、図３に示す動作を行うフリップフロップ回路１００が得られる。この場合、図４の回路では、サンプリングされた信号を保持する記憶回路として、インバータ回路１１１とＮＯＲゲート回路１１２とをループ状に接続した回路としたことで、消費電力の小さな記憶回路が得られる。ＮＯＲゲート回路１１２はインバータ回路として使用されるものであり、２つのインバータ回路によるラッチで信号を保持する構成である。ここで、図４に示す回路としたことで、そのラッチを構成する２つのインバータ回路の入力側と出力側で同時に書き込み動作が行われるため、２つのインバータ回路で効率よくデータを書き換えることができる。具体的には、信号を書き換える際には、記憶回路を構成するインバータ回路１１１とＮＯＲゲート回路１１２の内で、インバータ回路１１１の入力については、トランジスタＭ１０１〜Ｍ１０８による回路で書き換えが実行される。また、ＮＯＲゲート回路１１２の入力については、トランジスタＭ１１０〜Ｍ１２１による回路で、逆の値に書き換えが実行される。したがって、書き換え時にインバータ回路１１１とＮＯＲゲート回路１１２とで衝突が起こることがなく、書き換え時に一時的に記憶回路のループを切り離すなどの処理が必要ない。これにより低消費電力で良好に動作する効果を有する。
なお、ループ状の記憶回路は、インバータ回路１１１とＮＯＲゲート回路１１２で構成したが、リセット信号ＲＳＴが供給されない場合には、２つのインバータ回路でループ状の記憶回路が構成される。
【００３４】
図５は、図４の回路の各部の波形の例を示す図である。
図５（ａ）に示すように、第１のクロック入力端１０５に第１のクロックＣＫ１が入力したとき、インバータ回路１２１の出力信号ＣＫ１ｉＮは、図５（ｂ）に示すように、信号の変化タイミングが立ち上がった状態で反転した信号になる。
さらに、インバータ回路１２２の出力信号ＣＫ１ｉＰは、図５（ｃ）に示すように、信号ＣＫ１ｉＮが遅れて反転した信号になる。
【００３５】
さらに、図５（ｄ）に示すように、インバータ回路１２３と遅延回路１２４とインバータ回路１２５を通過した信号ＣＫ１ｏＮが得られ、さらに、図５（ｅ）に示すように、その信号ＣＫ１ｏＮをインバータ回路１２６で反転させることで、信号ＣＫ１ｏＰが得られる。
そして、信号ＣＫ１ｉＰ（図５（ｃ））の立ち上がりと、信号ＣＫ１ｏＰ（図５（ｅ））の立ち下がりで規定される信号Ｗ１ＰＢ（図５（ｇ））が、ＮＡＮＤゲート回路１２７の出力に得られる。さらに、この信号Ｗ１ＰＢをインバータ回路１２８で反転させた信号Ｗ１Ｐ（図５（ｆ））が得られる。
【００３６】
また、信号ＣＫ１ｉＮ（図５（ｂ））の立ち上がりと、信号ＣＫ１ｏＮ（図５（ｄ））の立ち下がりで規定される信号Ｗ１ＮＢ（図５（ｉ））が、ＮＡＮＤゲート回路１２９の出力に得られる。さらに、この信号Ｗ１ＮＢをインバータ回路１３０で反転させた信号Ｗ１Ｎ（図５（ｈ））が得られる。
そして、第１のデータ入力端１０１に得られる第１のデータＤ１が、これらの信号によってサンプリングされ、サンプリングされた値がホールドされる。
【００３７】
第２のクロックＣＫ２が入力した場合にも同様の信号が生成される。各信号の生成状態は図５に示した第１のクロックＣＫ１の場合と同様であり、ここでは省略する。そして、第２のデータ入力端１０２に得られる第２のデータＤ２が、これらの第２のクロックＣＫ２に基づいて生成された信号によってサンプリング動作とホールド動作とが行われる。
【００３８】
次に、フリップフロップ回路１００の使用例を説明する。
図６及び図７は、他の回路から送信されるデータを受信する受信回路に適用した例である。この例では、伝送データとして、図７（ａ）に示すように、最初にヘッダ区間［header］が伝送され、続いてデータ本体の区間［data］が伝送され、最後にテイル区間［tail］が伝送される。
このとき、送信の要求を行うリクエスト信号ｏｒｅｑ（図７（ｂ））と、その信号に対する応答信号ｉａｃｋ（図７（ｃ））は、２相ハンドシェイクプロトコルで送受信が行われるとする。２相ハンドシェイクプロトコルは、［リクエスト信号変化］→［応答信号変化］でハンドシェイクが行われるものである。
【００３９】
図６のフリップフロップ回路１００は、この２相ハンドシェイクプロトコルで応答を行う場合の受信回路に適用したものである。この例では、２つのクロック入力端１０５，１０６に、応答信号ｉａｃｋ（図７（ｃ））を供給する。
すなわち、図６に示すように、フリップフロップ回路１００の２つのクロック入力端１０５，１０６に、共通の応答信号ｉａｃｋが供給される。そして、第１のクロックイネーブル入力端１０３に、図７（ｄ）に示すヘッダ区間を示す信号が供給される。また、第２のクロックイネーブル入力端１０４に、図７（ｅ）に示すテイル区間を示す信号が供給される。
【００４０】
このような信号がフリップフロップ回路１００に供給されることで、反転Ｑ出力端１０８に得られる信号は、図７（ｆ）に示すように、ヘッダ区間で応答信号ｉａｃｋが変化したタイミングで立ち下がり、テイル区間で応答信号ｉａｃｋが変化したタイミングで立ち上がるゲート信号となる。このゲート信号で、受信したデータを取り出す処理などが実行される。このように、本例のフリップフロップ回路１００を使用することで、２相ハンドシェイクプロトコルで通信を行う回路を、簡単な構成で実現することができる。
【００４１】
次に、フリップフロップ回路１００の別の使用例を、図８及び図９を参照して説明する。この例は、クロック信号を分配して高速動作を行う場合の例である。
この例では、図８に示すように、第１のデータ入力端１０１に供給する第１のデータＤ１と第２のデータ入力端１０２に供給する第２のデータＤ２とを、同じデータとする。そして、第１のクロック入力端１０５と第２のクロック入力端１０６に供給するクロックを、同じクロック周波数の信号とする。但し、第１のクロックＣＫ１と第２のクロックＣＫ２は、位相が９０°異なる信号とする。
【００４２】
ここで、例えば図９（ａ）に示すように、第１のデータ入力端１０１と第２のデータ入力端１０２に共通のデータＤが供給されるとする。
このとき、データＤのサンプリングが、図９（ｂ）に示す第１のクロックＣＫ１の変化タイミングと、図９（ｃ）に示す第２のクロックＣＫ２の変化タイミングとで実行され、図９（ｄ）に示すようにＱ出力が得られる。
この図９（ｄ）に示す出力は、２つのクロックＣＫ１，ＣＫ２でサンプリングされた信号であるので、それぞれのクロックの２倍の周波数でサンプリングされたことになる。したがって、低周波数のクロックを分配して２つのクロックＣＫ１，ＣＫ２を生成させることで、本来のクロック周波数を超える高い周波数で入力データをサンプリングすることができ、低周波数クロックによる高速動作が行える。このようなクロック周波数の低周波数化により、回路設計が容易になる効果がある。
【００４３】
［２．第２の実施の形態の例（図１０〜図１２）］
図１０は、本発明の第２の実施の形態の例のフリップフロップ回路２００を示す図である。
フリップフロップ回路２００は、第１のデータ入力端２０１と第２のデータ入力端２０２を備える。第１のクロックイネーブル入力端２０３に得られる第１のクロックイネーブル信号ＣＥ１で有効が示されたとき、第１のデータ入力端２０１に得られる第１のデータＤ１が、第１のクロック入力端２０５に得られる第１のクロックＣＫ１によりサンプリングされる。ここで、第１のクロックＣＫ１によるサンプリングは、第１のクロックＣＫ１がローレベルからハイレベルに立ち上がったタイミングで行われる。第１のクロックＣＫ１がハイレベルからローレベルに変化したタイミングでは、データのサンプリングが行われない。
【００４４】
また、第２のクロックイネーブル入力端２０４に得られる第２のクロックイネーブル信号ＣＥ２で有効が示されたとき、第２のデータ入力端２０２に得られる第２のデータＤ２が、第２のクロック入力端２０６に得られる第２のクロックＣＫ２によりサンプリングされる。ここで、第２のクロックＣＫ２によるサンプリングは、第２のクロックＣＫ２がローレベルからハイレベルに立ち上がったタイミングと、第２のクロックＣＫ２がハイレベルからローレベルに変化したタイミングの双方で実行される。
【００４５】
そして、それぞれのクロックでサンプリングされてホールドされた信号である信号Ｑが、Ｑ出力端２０７から出力される。また、信号Ｑを反転した信号（信号Ｑｎ）が、反転Ｑ出力端２０８から出力される。また、リセット入力端２０９に得られるリセット信号ＲＳＴで、サンプリング動作がリセットされる。
【００４６】
図１１は、図１０に示すフリップフロップ回路２００の動作例を示す波形図である。
図１１（ａ）は第１のデータＤ１を示し、図１１（ｃ）は第２のデータＤ２を示す。第１のデータＤ１は、図１１（ｂ）に示す第１のクロックＣＫ１がローレベルからハイレベルに立ち上がるタイミングでサンプリングされる。第２のデータＤ２は、図１１（ｄ）に示す第２のクロックＣＫ２がローレベルからハイレベルに立ち上がるタイミングと、ハイレベルからローレベルに変化するタイミングでサンプリングされる。
図１１（ｅ）に示すＱ出力及び図１１（ｆ）に示す反転Ｑ出力は、２つのクロックＣＫ１，ＣＫ２でサンプリングされた結果がホールドされた信号である。
【００４７】
このように、図１０に示すフリップフロップ回路２００によると、２つのクロックの内の第１のクロックＣＫ１は信号の立ち上がりだけでサンプリングが行われ、第２のクロックＣＫ２は信号の立ち上がりと立ち下がりの双方でサンプリングが行われるようになる。したがって、第１のクロックＣＫ１でサンプリングされる第１のデータＤ１と、第２のクロックＣＫ２でサンプリングされる第２のデータＤ２とで異なるサンプリング状態を設定でき、それぞれのデータに適したサンプリングを行うフリップフロップ回路が得られる。
【００４８】
図１２は、フリップフロップ回路２００の回路図の例である。
第１のデータＤ１が得られる入力端２０１が、トランジスタＭ２０１のソース・ドレイン間とトランジスタＭ２０２のソース・ドレイン間の並列回路を介して、インバータ回路２１１の入力に接続される。また、第１のデータＤ１が得られる入力端２０１が、トランジスタＭ２０８のゲートとトランジスタＭ２１２のゲートとに接続される。
【００４９】
第２のデータＤ２が得られる入力端２０２が、トランジスタＭ２０３のソース・ドレイン間とトランジスタＭ２０４のソース・ドレイン間の並列回路を介して、インバータ回路２１１の入力に接続される。また、第２のデータＤ２が得られる入力端２０２が、トランジスタＭ２１１のゲートとトランジスタＭ２１４のゲートとに接続される。
【００５０】
インバータ回路２１１の出力は、ＮＯＲゲート回路２１２を介してインバータ回路２１１の入力に戻す構成としてある。ＮＯＲゲート回路２１２には、インバータ回路２１１の出力の他に、リセット信号ＲＳＴの入力端２０９に得られる信号が供給される。
このインバータ回路２１１とＮＯＲゲート回路２１２とによるループ回路で、サンプリングされた信号を保持する記憶回路が構成される。この記憶回路は、リセット信号ＲＳＴがローレベルであるとき、インバータ回路２１１とＮＯＲゲート回路１１２とで反転を繰り返すことで、信号が保持される。そして、リセット信号ＲＳＴがハイレベルのときには、ＮＯＲゲート回路２１２の出力が強制的にローレベルにリセットされる。
【００５１】
そして、インバータ回路２１１の出力が、インバータ回路２５１を介してＱ出力端２０７に供給される。さらに、インバータ回路２５１の出力が、別のインバータ回路２５２を介して反転Ｑ出力端２０８に供給される。
【００５２】
第１のクロックＣＫ１の入力端２０５には、インバータ回路２２１，２２２，２２３と遅延回路２２４とインバータ回路２２５，２２６とを順に接続した直列回路が接続される。そして、インバータ回路２２２の出力とインバータ回路２２６の出力とが、ＮＡＮＤゲート回路２２７に供給される。第１のクロックイネーブル入力端２０３に得られる第１のクロックイネーブル信号ＣＥ１についても、ＮＡＮＤゲート回路２２７に供給される。
そして、ＮＡＮＤゲート回路２２７の出力が、トランジスタＭ２０１及びトランジスタＭ２０７のゲートに供給される。また、ＮＡＮＤゲート回路２２７の出力が、インバータ回路２２８を介してトランジスタＭ２０２及びトランジスタＭ２１３のゲートに供給される。
【００５３】
第２のクロックＣＫ２の入力端２０６には、インバータ回路２３１，２３２，２３３と遅延回路２３４とインバータ回路２３５，２３６とを順に接続した直列回路が接続される。そして、インバータ回路２３２の出力とインバータ回路２３６の出力とが、ＮＡＮＤゲート回路２３７に供給される。第２のクロックイネーブル入力端２０４に得られる第２のクロックイネーブル信号ＣＥ２についても、ＮＡＮＤゲート回路２３７に供給される。
そして、ＮＡＮＤゲート回路２３７の出力が、トランジスタＭ２０５及びトランジスタＭ２１０のゲートに供給される。また、ＮＡＮＤゲート回路２３７の出力が、インバータ回路２３８を介してトランジスタＭ２０６及びトランジスタＭ２１５のゲートに供給される。
【００５４】
さらに、インバータ回路２３１の出力とインバータ回路２３５の出力とが、ＮＡＮＤゲート回路２３９に供給される。第２のクロックイネーブル入力端２０４に得られる第２のクロックイネーブル信号ＣＥ２についても、ＮＡＮＤゲート回路２３９に供給される。
そして、ＮＡＮＤゲート回路２３９の出力が、トランジスタＭ２０３及びトランジスタＭ２０９のゲートに供給される。また、ＮＡＮＤゲート回路２３９の出力が、インバータ回路２４０を介してトランジスタＭ２０４及びトランジスタＭ２１６のゲートに供給される。
【００５５】
また、電源電位と接地電位部との間には、トランジスタＭ２０７，Ｍ２０８，Ｍ２１２，Ｍ２１３のソース・ドレイン間が順に接続される。トランジスタＭ２０８とトランジスタＭ２１２の接続点は、インバータ回路２１１の出力部に接続される。
【００５６】
さらに、電源電位と接地電位部との間には、トランジスタＭ２０９，Ｍ２１１，Ｍ２１４，Ｍ２１５のソース・ドレイン間が順に接続される。トランジスタＭ２０９には、並列にトランジスタＭ２１０が接続される。トランジスタＭ２１５には、並列にトランジスタＭ２１６が接続される。トランジスタＭ２１１とトランジスタＭ２１４の接続点は、インバータ回路２１１の出力部に接続される。
【００５７】
この図１２に示す回路構成とすることで、図１１に示す動作を行うフリップフロップ回路２００が得られる。この図１２に示す回路の場合にも、第１の実施の形態で説明した図４の回路と同様に、記憶回路を構成するループ回路（インバータ回路２１１，ＮＯＲゲート回路２１２）の入力側と出力側で同時に書き込み動作が行われるため、低消費電力で効率よくデータを書き換えることができる。
【００５８】
［３．第３の実施の形態の例（図１３〜図１５）］
図１３は、本発明の第３の実施の形態の例のフリップフロップ回路３００を示す図である。
フリップフロップ回路３００は、第１のデータ入力端３０１と第２のデータ入力端３０２を備える。第１のクロックイネーブル入力端３０３に得られる第１のクロックイネーブル信号ＣＥ１で有効が示されたとき、第１のデータ入力端３０１に得られる第１のデータＤ１が、第１のクロック入力端３０５に得られる第１のクロックＣＫ１によりサンプリングされる。ここで、第１のクロックＣＫ１によるサンプリングは、第１のクロックＣＫ１がローレベルからハイレベルに立ち上がったタイミングで行われる。第１のクロックＣＫ１がハイレベルからローレベルに変化したタイミングでは、データのサンプリングが行われない。
【００５９】
また、第２のクロックイネーブル入力端３０４に得られる第２のクロックイネーブル信号ＣＥ２で有効が示されたとき、第２のデータ入力端３０２に得られる第２のデータＤ２が、第２のクロック入力端３０６に得られる第２のクロックＣＫ２によりサンプリングされる。第２のクロックＣＫ２によるサンプリングについても、第２のクロックＣＫ２がローレベルからハイレベルに立ち上がったタイミングで行われる。第２のクロックＣＫ２がハイレベルからローレベルに変化したタイミングでは、データのサンプリングが行われない。
【００６０】
そして、それぞれのクロックでサンプリングされてホールドされた信号である信号Ｑが、Ｑ出力端３０７から出力される。また、信号Ｑを反転した信号（信号Ｑｎ）が、反転Ｑ出力端３０８から出力される。また、リセット入力端３０９に得られるリセット信号ＲＳＴで、サンプリング動作がリセットされる。
【００６１】
図１４は、図１３に示すフリップフロップ回路３００の動作例を示す波形図である。
図１４（ａ）は第１のデータＤ１を示し、図１４（ｃ）は第２のデータＤ２を示す。第１のデータＤ１は、図１４（ｂ）に示す第１のクロックＣＫ１がローレベルからハイレベルに立ち上がるタイミングでサンプリングされる。第２のデータＤ２は、図１４（ｄ）に示す第２のクロックＣＫ２がローレベルからハイレベルに立ち上がるタイミングでサンプリングされる。
図１４（ｅ）に示すＱ出力及び図１４（ｆ）に示す反転Ｑ出力は、２つのクロックＣＫ１，ＣＫ２でサンプリングされた結果がホールドされた信号である。
【００６２】
このように、図１３に示すフリップフロップ回路３００によると、２つのクロックのそれぞれの立ち上がりだけでサンプリングが行われるようになり、２つのデータＤ１，Ｄ２を適切にサンプリングしたフリップフロップ回路が得られる。
【００６３】
図１５は、フリップフロップ回路３００の回路図の例である。
第１のデータＤ１が得られる入力端３０１が、トランジスタＭ３０１のソース・ドレイン間とトランジスタＭ３０２のソース・ドレイン間の並列回路を介して、インバータ回路３１１の入力に接続される。また、第１のデータＤ１が得られる入力端３０１が、トランジスタＭ３１０のゲートとトランジスタＭ３１１のゲートとに接続される。
【００６４】
第２のデータＤ２が得られる入力端３０２が、トランジスタＭ３０３のソース・ドレイン間とトランジスタＭ３０４のソース・ドレイン間の並列回路を介して、インバータ回路３１１の入力に接続される。また、第２のデータＤ２が得られる入力端３０２が、トランジスタＭ３０６のゲートとトランジスタＭ３０７のゲートとに接続される。
【００６５】
インバータ回路３１１の出力は、ＮＯＲゲート回路３１２を介してインバータ回路３１１の入力に戻す構成としてある。ＮＯＲゲート回路３１２には、インバータ回路３１１の出力の他に、リセット信号ＲＳＴの入力端３０９に得られる信号が供給される。
このインバータ回路３１１とＮＯＲゲート回路３１２とによるループ回路で、サンプリングされた信号を保持する記憶回路が構成される。この記憶回路は、リセット信号ＲＳＴがローレベルであるとき、インバータ回路３１１とＮＯＲゲート回路３１２とで反転を繰り返すことで、信号が保持される。そして、リセット信号ＲＳＴがハイレベルのときには、ＮＯＲゲート回路３１２の出力が強制的にローレベルにリセットされる。
【００６６】
そして、インバータ回路３１１の出力が、インバータ回路３４１を介してＱ出力端３０７に供給される。さらに、インバータ回路３４１の出力が、別のインバータ回路３４２を介して反転Ｑ出力端３０８に供給される。
【００６７】
第１のクロックＣＫ１の入力端３０５には、インバータ回路３２１，３２２，３２３と遅延回路３２４とインバータ回路３２５，３２６とを順に接続した直列回路が接続される。そして、インバータ回路３２２の出力とインバータ回路３２６の出力とが、ＮＡＮＤゲート回路３２７に供給される。第１のクロックイネーブル入力端３０３に得られる第１のクロックイネーブル信号ＣＥ１についても、ＮＡＮＤゲート回路３２７に供給される。
そして、ＮＡＮＤゲート回路３２７の出力が、トランジスタＭ３０１及びトランジスタＭ３０９のゲートに供給される。また、ＮＡＮＤゲート回路３２７の出力が、インバータ回路３２８を介してトランジスタＭ３０２及びトランジスタＭ３１２のゲートに供給される。
【００６８】
第２のクロックＣＫ２の入力端３０６が、インバータ回路３３１，３３２，３３３と遅延回路３３４とインバータ回路３３５，３３６とを順に接続した直列回路が接続される。そして、インバータ回路３３２の出力とインバータ回路３３６の出力とが、ＮＡＮＤゲート回路３３７に供給される。第２のクロックイネーブル入力端３０４に得られる第２のクロックイネーブル信号ＣＥ２についても、ＮＡＮＤゲート回路３３７に供給される。
そして、ＮＡＮＤゲート回路３３７の出力が、トランジスタＭ３０３及びトランジスタＭ３０５のゲートに供給される。また、ＮＡＮＤゲート回路３３７の出力が、インバータ回路３３８を介してトランジスタＭ３０４及びトランジスタＭ３０８のゲートに供給される。
【００６９】
また、電源電位と接地電位部との間には、トランジスタＭ３０５，Ｍ３０６，Ｍ３０７，Ｍ３０８のソース・ドレイン間が順に接続される。トランジスタＭ３０６とトランジスタＭ３０７の接続点は、インバータ回路３１１の出力部に接続される。
【００７０】
さらに、電源電位と接地電位部との間には、トランジスタＭ３０９，Ｍ３１０，Ｍ３１１，Ｍ３１２のソース・ドレイン間が順に接続される。トランジスタＭ３１０とトランジスタＭ３１１の接続点は、インバータ回路３１１の出力部に接続される。
【００７１】
この図１５に示す回路構成とすることで、図１４に示す動作を行うフリップフロップ回路３００が得られる。この図１４に示す回路の場合にも、第１の実施の形態で説明した図４の回路と同様に、記憶回路を構成するループ回路（インバータ回路３１１，ＮＯＲゲート回路３１２）の入力側と出力側で同時に書き込み動作が行われるため、効率よく低消費電力でデータを書き換えることができる。
【００７２】
［４．第４の実施の形態の例（図１６〜図１８）］
図１６は、本発明の第４の実施の形態の例のフリップフロップ回路４００を示す図である。
フリップフロップ回路４００は、４つのクロック入力端４０１〜４０４と、Ｑ出力端４０５と反転Ｑ出力端４０６とリセット入力端４０７を備える。
この例では、４つのクロックＣＫ１，ＣＫ２，ＣＫ３，ＣＫ４の４つのクロックのいずれか１つの信号が、ローレベルからハイレベルに変化するとき、ならびにハイレベルからローレベルに変化するときに、Ｑ出力及び反転Ｑ出力が変化する回路である。４つのクロックＣＫ１，ＣＫ２，ＣＫ３，ＣＫ４は、同時に変化しない限り、いずれが変化しても出力を変化させる。
【００７３】
図１７及び図１８は、フリップフロップ回路４００の回路図の例である。
図１７は、それぞれのクロックＣＫ１，ＣＫ２，ＣＫ３，ＣＫ４を処理する回路を示す図である。すなわち、第１のクロックＣＫ１が、インバータ回路４１１ａ，４１２ａ，４１３ａと遅延回路４１４ａとインバータ回路４１５ａ，４１６ａとを順に接続した直列回路に供給される。そして、インバータ回路４１２ａの出力ＣＫ１ｉＰとインバータ回路４１６ａの出力ＣＫ１ｏＰとが、ＮＡＮＤゲート回路４２１ａに供給される。このＮＡＮＤゲート回路４２１ａの出力信号Ｗ１ＰＢが、インバータ回路４２２ａに供給される。インバータ回路４２２ａが出力する信号が、信号Ｗ１Ｐとなる。
【００７４】
また、インバータ回路４１１ａの出力ＣＫ１ｉＮとインバータ回路４１５ａの出力ＣＫ１ｏＮとが、ＮＡＮＤゲート回路４３１ａに供給される。このＮＡＮＤゲート回路４３１ａの出力信号Ｗ１ＮＢが、インバータ回路４３２ａに供給される。インバータ回路４３２ａが出力する信号が、信号Ｗ１Ｎとなる。
【００７５】
第２のクロックＣＫ２，第３のクロックＣＫ３，第４のクロックＣＫ４が処理される回路は、第１のクロックＣＫ１が処理される回路と同じ構成である。なお、図１７では、第ｎのクロック（ｎは２，３，４のいずれか）を処理する回路を、符号の末尾にｎを付して示す。図１７及び図１８では、第１のクロックＣＫ１を処理する回路と、第ｎのクロックを処理する回路の２つの系を示すが、実際には４つのクロックに対応して４つの系を備える。
【００７６】
図１８は、これらのクロックが処理された信号が供給される回路の例を示す。この図１８についても、４つのクロックごとに用意される回路については、第１のクロックＣＫ１に基づいた信号を処理する系の回路（符号の末尾にａを付けた回路）と、第ｎのクロックＣＫｎに基づいた信号を処理する系の回路（符号の末尾にｎを付けた回路）とを示し、一部を省略する。
【００７７】
図１８の回路を説明すると、第１のクロックＣＫ１に基づいて生成された信号Ｗ１ＮＢが、トランジスタＭ４０１ａのゲートとトランジスタＭ４１２ａのゲートに供給される。また、第１のクロックＣＫ１に基づいて生成された信号Ｗ１ＰＢが、トランジスタＭ４０３ａのゲートとトランジスタＭ４１１ａのゲートに供給される。
また、第１のクロックＣＫ１に基づいて生成された信号Ｗ１Ｎが、トランジスタＭ４０２ａのゲートとトランジスタＭ４１６ａのゲートに供給される。また、第１のクロックＣＫ１に基づいて生成された信号Ｗ１Ｐが、トランジスタＭ４０４ａのゲートとトランジスタＭ４１５ａのゲートに供給される。
【００７８】
同様に、第ｎのクロック（ｎは２，３，４のいずれか）ＣＫｎに基づいて生成された信号ＷｎＮＢが、トランジスタＭ４０１ｎのゲートとトランジスタＭ４１２ｎのゲートに供給される。また、第ｎのクロックＣＫｎに基づいて生成された信号ＷｎＰＢが、トランジスタＭ４０３ｎのゲートとトランジスタＭ４１１ｎのゲートに供給される。
また、第ｎのクロックＣＫｎに基づいて生成された信号ＷｎＮが、トランジスタＭ４０２ｎのゲートとトランジスタＭ４１６ｎのゲートに供給される。また、第ｎのクロックＣＫｎに基づいて生成された信号ＷｎＰが、トランジスタＭ４０４ｎのゲートとトランジスタＭ４１５ｎのゲートに供給される。
【００７９】
そして、インバータ回路４４５の出力信号が、トランジスタＭ４０１ａのソース・ドレイン間とトランジスタＭ４０２ａのソース・ドレイン間の並列回路を介して、インバータ回路４４１の入力に供給される。同様に、インバータ回路４４５の出力信号が、トランジスタＭ４０３ａのソース・ドレイン間とトランジスタＭ４０４ａのソース・ドレイン間の並列回路を介して、インバータ回路４４１の入力に供給される。
同様に、インバータ回路４４５の出力信号が、トランジスタＭ４０１ｎのソース・ドレイン間とトランジスタＭ４０２ｎのソース・ドレイン間の並列回路を介して、インバータ回路４４１の入力に供給される。同様に、インバータ回路４４５の出力信号が、トランジスタＭ４０３ｎのソース・ドレイン間とトランジスタＭ４０４ｎのソース・ドレイン間の並列回路を介して、インバータ回路４４１の入力に供給される。
【００８０】
インバータ回路４４１の出力は、ＮＯＲゲート回路４４２を介してインバータ回路４４１の入力に戻す構成としてある。ＮＯＲゲート回路４４２には、インバータ回路４４１の出力の他に、リセット信号ＲＳＴの入力端４０７に得られる信号が供給される。
このインバータ回路４４１とＮＯＲゲート回路４４２とによるループ回路で、信号を保持する記憶回路が構成される。この記憶回路は、リセット信号ＲＳＴがローレベルであるとき、インバータ回路４４１とＮＯＲゲート回路４４２とで反転を繰り返すことで、信号が保持される。そして、リセット信号ＲＳＴがハイレベルのときには、ＮＯＲゲート回路４４２の出力が強制的にローレベルにリセットされる。
【００８１】
そして、インバータ回路４４１の出力が、インバータ回路４４３を介してＱ出力端４０５に供給される。さらに、インバータ回路４４３の出力が、別のインバータ回路４４４を介して反転Ｑ出力端４０６に供給される。
また、インバータ回路４４３の出力が、インバータ回路４４５に供給される。
【００８２】
電源電位と接地電位部との間には、トランジスタＭ４１１ａ，Ｍ４１３，Ｍ４１４，Ｍ４１５ａのソース・ドレイン間が順に接続される。トランジスタＭ４１３とトランジスタＭ４１４との接続点は、インバータ回路４４１の出力部に接続される。
トランジスタＭ４１１ａには、並列にトランジスタＭ４１２ａが接続される。さらに、トランジスタＭ４１１ａには、第１のクロックＣＫ１以外の系の信号により制御されるトランジスタＭ４１１ｎ，Ｍ４１２ｎが並列に接続される。
【００８３】
トランジスタＭ４１５ａには、並列にトランジスタＭ４１６ａが接続される。さらに、トランジスタＭ４１５ａには、第１のクロックＣＫ１以外の系の信号により制御されるトランジスタＭ４１５ｎ，Ｍ４１６ｎが並列に接続される。
また、インバータ回路４４５の出力信号が、トランジスタＭ４１３のゲートとトランジスタＭ４１４のゲートに供給される。
【００８４】
この図１７及び図１８に示す回路構成とすることで、図１６に示すフリップフロップ回路４００が得られる。この図１７及び図１８に示す回路の場合にも、第１の実施の形態で説明した図４の回路と同様に、その記憶回路を構成するループの入力側と出力側で同時に書き込み動作が行われるため、低消費電力で効率よくデータを書き換えることができる。
【００８５】
なお、ここまで説明した各実施の形態の例で説明した具体的な回路構成は、好適な一例を示したものであり、その他の回路構成で同様の処理を行うようにしてもよい。
また、図６や図８で説明したフリップフロップ回路の適用例は、それぞれ一例を示したものであり、本発明のフリップフロップ回路をその他の回路に適用してもよい。
【符号の説明】
【００８６】
１００，２００，３００，４００…フリップフロップ回路、１０１，２０１，３０１…第１のデータ入力端、１０２，２０２，３０２…第２のデータ入力端、１０３，２０３，３０３…第１のクロックイネーブル入力端、１０４，２０４，３０４…第２のクロックイネーブル入力端、１０５，２０５，３０５…第１のクロック入力端、１０６，２０６，３０６…第２のクロック入力端、１０７，２０７，３０７…Ｑ出力端、１０８，２０８，３０８…反転Ｑ出力端、１０９，２０９，３０９…リセット入力端、４０１…第１のクロック入力端、４０２…第２のクロック入力端、４０３…第３のクロック入力端、４０４…第４のクロック入力端、４０５…Ｑ出力端、４０６…反転Ｑ出力端、４０７…リセット入力端
【図１】
2015012362.tif 000003
【図２】
2015012362.tif 000004
【図３】
2015012362.tif 000005
【図４】
2015012362.tif 000006
【図５】
2015012362.tif 000007
【図６】
2015012362.tif 000008
【図７】
2015012362.tif 000009
【図８】
2015012362.tif 000010
【図９】
2015012362.tif 000011
【図１０】
2015012362.tif 000012
【図１１】
2015012362.tif 000013
【図１２】
2015012362.tif 000014
【図１３】
2015012362.tif 000015
【図１４】
2015012362.tif 000016
【図１５】
2015012362.tif 000017
【図１６】
2015012362.tif 000018
【図１７】
2015012362.tif 000019
【図１８】
2015012362.tif 000020
【図１９】
2015012362.tif 000021
【図２０】
2015012362.tif 000022