(57)【特許請求の範囲】
【請求項１】
クロック立上り時にはデータ入力端子のデータを取り込み、その値に応じて出力ＥＰとＥＰＢを出力する立上りエッジデータ取込回路と、４つのＭＯＳトランジスタを直列接続し、前記直列接続の中央の接続点が出力端子であり、出力Ｅｐが両端のＭＯＳトランジスタに印加されると共にインバータで反転された出力ＥｐＢが残りのＭＯＳトランジスタに印加され、かつ、前記出力端子から見て電源側の２つのＭＯＳトランジスタがオンし、前記出力端子から見てアース側の２つのＭＯＳトランジスタがオフとなるときにハイの出力値が、前記電源側の２つのＭＯＳトランジスタがオフし、前記アース側の２つのＭＯＳトランジスタがオンとなるときにローの出力値が前記出力端子から取り出される出力確認部と、
前記出力確認部の出力データを取り込んで前記立上りエッジデータ取込回路の出力を保持する第１のデータ一時保持部とを具えた立上り時データ処理回路と、
クロック立下り時にはデータ入力端子のデータを取り込み、当該データがハイのときに出力ＥＮとしてハイを、出力ＥＮＢとしてローを出力し、当該データがローのときに出力ＥＮとしてローを、出力ＥＮＢとしてハイを出力する立下りエッジデータ取込回路と、
該立下りエッジデータ取込回路の前記出力ＥＮ及び前記出力ＥＮＢと前記第１のデータ一時保持部の出力とを用いて、立上り時のデータと立下り時のデータとが同じか否かを判別する部分であって、６つのＭＯＳトランジスタを直列接続し、前記６つのＭＯＳトランジスタの直列接続の中央の接続点が出力端子であり、前記第１のデータ一時保持部の出力が前記６つの直列接続するＭＯＳトランジスタのうち両端のＭＯＳトランジスタのゲートに印加され、前記両端のＭＯＳトランジスタそれぞれの隣のＭＯＳトランジスタのゲートに前記出力ＥＮが印加され、前記両端のＭＯＳトランジスタそれぞれの二つ隣のＭＯＳトランジスタに前記出力ＥＮＢをインバータで反転した出力が印加され、
前記６つの直列接続するＭＯＳトランジスタの前記出力端子から見て電源側の３つのＭＯＳトランジスタがオンし、前記６つの直列接続するＭＯＳトランジスタの出力端子から見てアース側の３つのＭＯＳトランジスタがオフするときにハイのデータ値を出力し、前記６つの直列接続するＭＯＳトランジスタの出力端子から見てアース側の３つのＭＯＳトランジスタがオンし、前記６つの直列接続するＭＯＳトランジスタの出力端子から見て電源側の前記３つのＭＯＳトランジスタがオフするときにローのデータ値を出力するデータ値異同判別部と、
該データ値異同判別部の出力を保持する第２のデータ一時保持部とを具え、
該第２のデータ一時保持部の出力とその反転出力とを出力として取り出すよう構成したフリップフロップ装置。
【請求項２】
クロック立下り時にはデータ入力端子のデータを取り込み、その値に応じて出力ＥＮとＥＮＢを出力する立下りエッジデータ取込回路と、４つのＭＯＳトランジスタを直列接続し、前記直列接続の中央の接続点が出力端子であり、出力ＥＮが両端のＭＯＳトランジスタに印加されると共にインバータで反転された出力ＥＮＢが残りのＭＯＳトランジスタに印加され、かつ、前記出力端子から見て電源側の２つのＭＯＳトランジスタがオンし、前記出力端子から見てアース側の２つのＭＯＳトランジスタがオフとなるときにハイの出力値が、前記電源側の２つのＭＯＳトランジスタがオフし、前記アース側の２つのＭＯＳトランジスタがオンとなるときにローの出力値が、前記出力端子から取り出される出力確認部と、
前記出力確認部の出力データを取り込んで前記立下りエッジデータ取込回路の出力を保持する第１のデータ一時保持部とを具えた立下り時データ処理回路と、
クロック立上り時にはデータ入力端子のデータを取り込み、当該データがハイの時に出力ＥＰとしてハイを、出力ＥＰＢとしてローを出力し、当該データがローの時に出力ＥＰとしてローを、出力ＥＰＢとしてハイを出力する立上りエッジデータ取込回路と、
該立上りエッジデータ取込回路の前記出力ＥＰ及び前記出力ＥＰＢと前記第１のデータ一時保持部の出力とを用いて、立下り時のデータと立上り時のデータとが同じか否かを判別する部分であって、６つのＭＯＳトランジスタを直列接続し、前記６つのＭＯＳトランジスタの直列接続の中央の接続点が出力端子であり、前記第１のデータ一時保持部の出力が前記６つの直列接続するＭＯＳトランジスタのうち両端のＭＯＳトランジスタのゲートに印加され、前記両端のＭＯＳトランジスタそれぞれの隣のＭＯＳトランジスタのゲートに前記出力ＥＰが印加され、前記両端のＭＯＳトランジスタそれぞれの二つ隣のＭＯＳトランジスタに前記出力ＥＰＢをインバータで反転した出力が印加され、
前記６つの直列接続するＭＯＳトランジスタの前記出力端子から見て電源側の３つのＭＯＳトランジスタがオンし、前記６つの直列接続するＭＯＳトランジスタの出力端子から見てアース側の３つのＭＯＳトランジスタがオフするときにハイのデータ値を出力し、前記６つの直列接続するＭＯＳトランジスタの出力端子から見てアース側の前記３つのＭＯＳトランジスタがオンし、前記６つの直列接続するＭＯＳトランジスタの出力端子から見て電源側の前記３つのＭＯＳトランジスタがオフするときにローのデータ値を出力するデータ値異同判別部と、
該データ値異同判別部の出力を保持する第２のデータ一時保持部とを具え、
該第２のデータ一時保持部の出力とその反転出力とを出力として取り出すよう構成したフリップフロップ装置。
【請求項３】
請求項１または２記載のフリップフロップ装置において、
立上りエッジデータ取込回路からの出力および立下りエッジデータ取込回路からの出力を用い、クロックの立上り時または立下り時のいずれか一方の時にノイズが入力して来た場合に導通し、いずれの時にもノイズが入力しない場合は非導通となるようにしたノイズ検知時導通部と、
真正なデータが入力した場合に導通し、それ以外の場合は非導通となるようにしたノイズ未検知時導通部とを直列接続し、
その直列接続点からノイズ検知出力を取り出すよう構成したノイズ検知回路を付加したフリップフロップ装置。
【請求項４】
請求項３記載のフリップフロップ装置におけるノイズ検知時導通部を、
クロックの立上り時にノイズが入力して来た場合に導通し、それ以外の場合は非導通となる立上り時ノイズ検知導通部と、
立下り時にノイズが入力して来た場合に導通し、それ以外の場合は非導通となる立下り時ノイズ検知導通部と
を並列接続して構成したフリップフロップ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック信号に同期させてデータを取り込むフリップフロップ装置に関するものである。
【背景技術】
【０００２】
クロック信号に同期させてデータを取り込む装置として、フリップフロップ装置がある。そのデータの取込み方法の代表的なものには、クロックの立上りエッジの時点でデータを取り込む方法と、クロックの立下りエッジの時点でデータを取り込む方法とがある。
（１）立上り時点で取り込むもの
図５は、立上りエッジでデータを取り込む従来のフリップフロップ装置である。図５（１）は、その構成を示している。図５（１）において、６１はフリップフロップ装置、６２，６３は入力端子、６８，６９は出力端子である。
【０００３】
入力端子６２にはクロックＣが入力され、入力端子６３にはデータＤが入力される。フリップフロップ装置６１は、クロックＣの立上りエッジ時点でデータＤの値がハイであるときは、出力端子６８の出力ＱP はハイとなり，出力端子６９の出力ＱP Ｂはローとなるよう構成されているものとする。クロックＣの立上りエッジ時点でデータＤの値がローであるときは、出力端子６８の出力ＱP はローとなり，出力端子６９の出力ＱP Ｂはハイとなる。
なお、添字のP はＰｏｓｉｔｉｖｅ  ｅｄｇｅ（立上りエッジ）を意味し、Ｂは文字の頭部に引いてその反転出力を表す記号である棒線（バー，Ｂａｒ）を意味している（以下の記載で他の文字に付したP ，Ｂも同様）。
【０００４】
図５（２）は、フリップフロップ装置６１の動作を説明する図である。図５（２）において、ｔ1 〜ｔ12は時刻、Ｃはクロック，Ｄはデータ，ＱP ，ＱP Ｂはフリップフロップ装置６１の各出力、７０は真正データ、７１，７２はノイズ、７３は真正データ、７４〜７９は出力ＱP ，ＱP Ｂの波形である。
なお、ここで「真正データ」と言っているのは通常のデータのことであり、特にノイズと区別して記述する場合に使用する。
【０００５】
フリップフロップ装置６１の動作は、次のように行われる。クロックＣの最初の立上り時刻ｔ1 に注目する。この時のデータの値Ｄ1 はハイとなっているとする。すると、このハイが入力され、フリップフロップ装置６１の出力ＱP はハイとなる（反転出力のＱP Ｂはローとなる）。
【０００６】
次のクロックＣの立上り時刻ｔ3 では、データ値Ｄ3 はローとなっているとする。すると、このローが入力され、フリップフロップ装置６１の出力ＱP はローとなる（反転出力のＱP Ｂはハイとなる）。
時刻ｔ1 〜ｔ3 間の出力ＱP のハイの波形７４および出力ＱP Ｂのローの波形７７は、以上のようにして形成される。
【０００７】
（２）立下り時点で取り込むもの
図６は、立下りエッジでデータを取り込む従来のフリップフロップ装置である。図６（１）は、その構成を示している。図６（１）において、８１はフリップフロップ装置、８２，８３は入力端子、８８，８９は出力端子である。
【０００８】
入力端子８２にはクロックＣが入力され、入力端子８３にはデータＤが入力される。フリップフロップ装置８１は、クロックＣの立下りエッジ時点でデータＤの値がハイであるときは、出力端子８８の出力ＱN はハイとなり，出力端子８９の出力ＱN Ｂはローとなるよう構成されているものとする。クロックＣの立下りエッジ時点でデータＤの値がローであるときは、出力端子８８の出力ＱN はローとなり，出力端子８９の出力ＱN Ｂはハイとなる。
なお、添字のN はＮｅｇａｔｉｖｅ  ｅｄｇｅ（立下りエッジ）を意味している（以下の記載で他の文字に付したN も同様）。
【０００９】
図６（２）は、フリップフロップ装置８１の動作を説明する図である。符号は図５（２）のものと対応しており、ＱN ，ＱN Ｂはフリップフロップ装置８１の各出力、９０〜９５はその波形である。
フリップフロップ装置８１の動作は、次のように行われる。クロックＣの最初の立下り時刻ｔ2 に注目する。この時のデータの値Ｄ2 はハイとなっているとする。すると、このハイが入力され、フリップフロップ装置６１の出力ＱN はハイとなる（反転出力のＱN Ｂはローとなる）。
【００１０】
次のクロックＣの立下り時刻ｔ4 には、データ値Ｄ4 はローとなっているとする。すると、このローが入力され、フリップフロップ装置６１の出力ＱN はローとなる（反転出力のＱN Ｂはハイとなる）。
時刻ｔ2 〜ｔ4 間の出力ＱN のハイの波形９０および出力ＱN Ｂのローの波形９３は、以上のようにして形成される。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開平５−３７３０６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
（問題点）
データを入力する端子には、何らかの原因によりノイズが混じって入って来ることがある。ところが、前記した図５のフリップフロップ装置では、そのノイズが丁度クロックの立上り時点に存在していると、それを真正なデータだと誤認して取り込んでしまい、そのノイズの値を出力しかつ保持をするため、誤動作を起こすという問題点があった。
図６のフリップフロップ装置では、ノイズが丁度クロックの立下り時点に存在していると、同様に、真正なデータだと誤認して取り込んでしまっていた。
【００１３】
（問題点の説明）
（１）まず図５のフリップフロップ装置について説明する。図５（２）のノイズ７１は、クロックＣの立上り時刻ｔ5 において発生しているノイズであり、その値Ｄ5 はハイである。従って、図５（１）のフリップフロップ装置６１は、ハイの真正データが入力された時と同様に動作し、出力ＱP としてハイを出力し（ハイの波形７５を発生）、出力ＱP Ｂとしてローを出力する（ローの波形７８を発生）。これらはノイズ７１で発生してしまった出力であるから、間違った出力である。
【００１４】
次の立上り時刻ｔ7 におけるデータの値Ｄ7 はローであるので、フリップフロップ装置６１の出力ＱP はローであり（ハイの波形７５をローに下げる）、出力ＱP Ｂはハイとなる（ローの波形７８をハイに上げる）。
なお、ノイズ７２は、クロックＣの立上り時刻に発生しているノイズではないので、フリップフロップ装置６１の出力は変化しない。つまり、このときフリップフロップ装置６１は、ハイの真正データが入力して来たとして動作することはない。
【００１５】
（２）次に図６のフリップフロップ装置について説明する。図６（２）のノイズ７２は、クロックＣの立下り時刻ｔ8 において発生しているノイズであり、その値Ｄ8 はハイである。従って、図６（１）のフリップフロップ装置８１は、ハイの真正データが入力された時と同様に動作し、出力ＱN としてハイを出力し（ハイの波形９１を発生）、出力ＱN Ｂとしてローを出力する（ローの波形９４を発生）。これらはノイズ７２で発生してしまった出力であるから、間違った出力である。
【００１６】
次の立下り時刻ｔ10におけるデータの値Ｄ10はハイであるので、フリップフロップ装置８１はそれを取り込んで出力ＱN としてハイを出力し（ハイの波形９２を発生しハイが続行する）、出力ＱN Ｂとしてローを出力する（ローの波形９５を発生しローが続行する）。
なお、ノイズ７１は、クロックＣの立下り時刻に発生しているノイズではないので、フリップフロップ装置８１の出力は変化しない。つまり、このときフリップフロップ装置８１は、ハイの真正データが入力して来たとして動作することはない。
本発明は、以上のような問題点を解決することを課題とするものである。
【課題を解決するための手段】
【００１７】
前記課題を解決するため、本発明のフリップフロップ装置では、クロック入力端子とデータ入力端子とを有するフリップフロップ装置において、クロックの立上がりエッジで取り込まれたと確認され、保持されたクロック立上り時のデータと取り込まれたクロック立下り時のデータとを比較し、同じであれば真正データと判断して該真正データに応じた出力を出すよう動作し、異なっていれば該動作をせず従前の出力を維持するよう構成することとした。
なお、上記のような構成に、立上りと立下りでデータが異なるときに警告信号を出力する回路を付加することも出来る。
【００１８】
前記のような本発明のフリップフロップ装置は、具体的には、クロック信号として正パルス（まず立上り、次に立下るという順番のパルス）を用いる場合と、負パルス（まず立下り、次に立上るという順番のパルス）を用いる場合とに対応させて構成することが出来る。
正パルスに対応させる場合、クロック立上り時にはデータ入力端子のデータを取り込む立上りエッジデータ取込回路と、該立上りエッジデータ取込回路の出力を保持する第１のデータ一時保持部とを具えた立上り時データ処理回路と、クロック立下り時にはデータ入力端子のデータを取り込む立下りエッジデータ取込回路と、該立下りエッジデータ取込回路の出力と前記第１のデータ一時保持部の出力とを用いて、立上り時のデータと立下り時のデータとが同じか否かを判別するデータ値異同判別部と、該データ値異同判別部の出力を保持する第２のデータ一時保持部とを具え、該第２のデータ一時保持部の出力とその反転出力とを出力として取り出すよう構成することが出来る。
【００１９】
負パルスに対応させる場合、クロック立下り時にはデータ入力端子のデータを取り込む立下りエッジデータ取込回路と、該立下りエッジデータ取込回路の出力を保持する第１のデータ一時保持部とを具えた立下り時データ処理回路と、クロック立上り時にはデータ入力端子のデータを取り込む立上りエッジデータ取込回路と、該立上りエッジデータ取込回路の出力と前記第１のデータ一時保持部の出力とを用いて、立下り時のデータと立上り時のデータとが同じか否かを判別するデータ値異同判別部と、該データ値異同判別部の出力を保持する第２のデータ一時保持部とを具え、該第２のデータ一時保持部の出力とその反転出力とを出力として取り出すよう構成することが出来る。
【００２０】
また、前記したフリップフロップ装置には、立上りエッジデータ取込回路からの出力および立下りエッジデータ取込回路からの出力を用い、クロックの立上り時または立下り時にノイズが入力して来た場合に導通し、それ以外の場合は非導通となるようにしたノイズ検知時導通部と、データにノイズが入っていない（真正なデータが入力した）場合に導通し、それ以外の場合は非導通となるようにしたノイズ未検知時導通部とを直列接続し、その直列接続点からノイズ検知出力を取り出すよう構成したノイズ検知回路を付加することが出来る。
なお上記のノイズ検知時導通部は、具体的には、クロックの立上り時にノイズが入力して来た場合に導通し、それ以外の場合は非導通となる立上り時ノイズ検知導通部と、立下り時にノイズが入力して来た場合に導通し、それ以外の場合は非導通となる立下り時ノイズ検知導通部とを並列接続して構成することが出来る。
【発明の効果】
【００２１】
本発明のフリップフロップ装置によれば、１つのクロック信号を形成する立上りと立下りの各時点でのデータ値（論理値ハイ，ロー）が同じであるかどうかをまず判別し、同じである場合（ハイとハイの場合、あるいはローとローの場合）には真正データとして取込み、異なっている場合には真正データではないとして取込まないようにした。そのため、ノイズを真正データと誤認して動作することがないようになった。
またノイズ検知回路を付加した場合には、ノイズが入力して来たことを検知することが出来る。
【図面の簡単な説明】
【００２２】
【図１】本発明の第１の実施形態のフリップフロップ装置
【図２】第１の実施形態の具体例を示す図
【図３】本発明の第２の実施形態のフリップフロップ装置
【図４】第２の実施形態の具体例を示す図
【図５】立上りエッジでデータを取り込む従来のフリップフロップ装置
【図６】立下りエッジでデータを取り込む従来のフリップフロップ装置
【図７】本発明の第３の実施形態のフリップフロップ装置
【図８】第３の実施形態の動作を説明する図
【図９】本発明の第４の実施形態のフリップフロップ装置
【図１０】本発明の発明概念を示す図
【図１１】立上りエッジデータ取込回路の１例を示す図
【図１２】立下りエッジデータ取込回路の１例を示す図
【発明を実施するための形態】
【００２３】
以下、本発明の実施形態を図面に基づいて詳細に説明する。
（第１の実施形態）
図１は、本発明の第１の実施形態のフリップフロップ装置である。符号は図５のものに対応し、１はフリップフロップ装置、２，３は入力端子、４，５は出力端子である。Ｑ，ＱＢはフリップフロップ装置１の出力であり、１００〜１０３はそれらの波形である。
入力端子２にはクロックＣが入力され、入力端子３にはデータＤが入力される。フリップフロップ装置１は、入力して来たデータが真正データか否かを判別し、真正データであった場合のみ正式入力として扱い、出力端子４，５にそれぞれＱ，ＱＢを出力する回路である（なお、ＱＢはＱの反転出力）。その構成の具体例は図２に示す（後で詳しく説明する）。
【００２４】
図１（２）は、フリップフロップ装置１の動作を説明する図である。ここでは動作の概要を説明しておく（動作の詳細は図２のところで説明する）。
本発明では１つのクロック信号を形成する立上り時刻と立下り時刻の両方におけるデータを読込み、それらの値（論理値ハイ，ロー）が同じか否かを判別する。なお、図１の例は、クロックとして、図１（２）に示すように、正パルス信号（先ず立上り，次に立下るという順に変化するパルス信号）を使う場合の例である。以下、クロックの順を追って説明する。
【００２５】
（１）クロックＣ1 …ｔ1 〜ｔ2 
まず時刻ｔ1 で立上り、時刻ｔ2 で立下っているクロックＣ1 に注目する。このクロックの時にはハイの真正データ７０が入力して来ているとする。立上り時刻ｔ1 のデータ値Ｄ1 はハイであり、立下り時刻ｔ2 のデータ値Ｄ2 もハイである。両者は共にハイであるから同じである。
両者が同じ場合には、フリップフロップ装置１は真正データが入力して来たとして動作する。この場合、ハイが入力されたから、出力Ｑとしてハイを出力し（ハイの波形１００を発生）、出力ＱＢとしてローを出力する（ローの波形１０２を発生）。
【００２６】
（２）クロックＣ2 …ｔ3 〜ｔ4 
クロックＣ2 の時にはローの真正データが入力して来ているとする。立上り時刻ｔ3 のデータ値Ｄ3 はローであり、立下り時刻ｔ4 のデータ値Ｄ4 もローである。両者は共にローであるから同じである。
両者が同じ場合には、フリップフロップ装置１は真正データが入力して来たとして動作する。この場合、ローが入力されたから、出力Ｑとしてローを出力し（波形１００をローに下げる）、出力ＱＢとしてハイを出力する（波形１０２をハイに上げる）。
【００２７】
（３）クロックＣ3 …ｔ5 〜ｔ6 
クロックＣ3 の立上り時刻ｔ5 には丁度ノイズ７１が入力して来ているとする。その時のデータ値Ｄ5 はハイである。立下り時刻ｔ6 には既にノイズ７１は消滅しているとする。その時のデータ値Ｄ6 はローである。両者を比べると、一方はハイ他方はローであるから異なっている。
両者が異なっている場合には、フリップフロップ装置１は、真正データが入力されたとの動作はしない（つまり入力は無かった（入力に変化なし）との対応をする）。従って、出力Ｑ，ＱＢは以前の値を維持する。
【００２８】
（４）クロックＣ4 …ｔ7 〜ｔ8 
クロックＣ4 の立上り時刻ｔ7 のデータ値Ｄ7 はローであるとする。しかし、立下り時刻ｔ8 には丁度ノイズ７２が入力して来ているとする。その時のデータ値Ｄ8 はハイである。両者を比べると、一方はロー他方はハイであるから異なっている。
両者が異なっている場合には、フリップフロップ装置１は、真正データが入力されたとの動作はしない（つまり入力は無かった（入力に変化なし）との対応をする）。従って、出力Ｑ，ＱＢは以前の値を維持する。
クロックＣ5 の場合はクロックＣ1 の場合と同じであり、クロックＣ6 の場合はクロックＣ2 の場合と同じであるので、説明は省略する。
以上述べたことより明らかなように、ノイズ７１，７２が入力して来ても、フリップフロップ装置１は誤って動作することはない。
【００２９】
ここまでの説明では、説明の便宜上、クロック信号は正パルス信号（先ず立上り、次に立下るという順番のパルス）と、正パルスのノイズ信号（「ハイ」レベルのノイズ信号）を仮定して説明して来た。しかし、本発明はクロック信号が負パルス信号（先ず立下り、次に立上るという順番のパルス）や、負パルスのノイズ信号（「ロー」レベルのノイズ信号）の場合にも、同様にして説明することが出来る。
以下でも正パルスのクロック信号と、正パルスのノイズ信号の場合を仮定して説明するが、負パルスの場合についても同様である。
【００３０】
なお、本発明は、ダブルエッジトリガ（あるいはデュアルエッジトリガとも呼ばれる）のフリップフロップとは本質的に相違している。ダブルエッジトリガフリップフロップでは、クロック信号の立上りおよび立下りのそれぞれにおいて、独立してデータ（合計２つのデータ）を取り込んでいるのに対し、本発明ではクロック信号の立上りと立下りの２つ１組でデータの真偽判別をし、真正データと判別されたときにそのデータ（合計１つのデータ）を取り込んで出力するものであるからである。
【００３１】
ダブルエッジトリガフリップフロップにより図５（２）と同じ時点（ｔ1 ，ｔ3 ，ｔ5 ，…）でデータを読み込もうとすれば、そのダブルエッジトリガのクロック波形は、次のようなものとされる。即ち、時刻ｔ1 でハイに立上り時刻ｔ1 から時刻ｔ3 までハイを維持し、時刻ｔ3 でローに立下り、時刻ｔ3 からｔ5 まではローを維持し、時刻ｔ5 でまたハイに立上り、時刻ｔ7 でローに立下るということが繰り返される波形である（図５（２）に記されているクロックと比べると、相当幅広の波形であり、クロックの周波数は半分である。）。そして、その波形の立上り時刻ｔ1 ではデータＤ1 が取り込まれ、立上り時刻ｔ3 ではデータＤ3 が取り込まれる。
【００３２】
そもそもダブルエッジトリガは、クロックの周波数を半分にし、ＣＭＯＳ半導体回路の消費電力をほぼ半減することを主たる目的としている。半減できる理由は次の通りである。ＣＭＯＳ半導体回路の消費電力Ｐは、Ｐ＝ＣL ×ＶDD2 ×ｆ（ＣL は負荷容量、ＶDDは電源電圧、ｆはクロック周波数）で表され、スイッチング時の負荷容量の充放電により電力が消費される。
従って、立上り或いは立下りの一方のエッジのみを利用してデータの取込みを行っていたのを、立上りと立下りの両方のエッジを使って行うことにすれば、同一動作をさせるのにクロックの周波数は半分にしてよい。すると、充放電の回数は半分となり、消費電力をほぼ半減することが出来る。
【００３３】
次に、図１中のフリップフロップ装置１の中身の構成，動作について説明する。
（１）フリップフロップ装置１の構成
図２は、第１の実施形態の具体例を示す図であり、図１中のフリップフロップ装置１の１例を示す図である。符号は図１のものに対応し、１１は立上り時データ処理回路、１２は立上りエッジデータ取込回路、１３はインバータ、１４は出力確認部、１５〜１８はＭＯＳトランジスタ、１９は出力端子、２０はデータ一時保持部、２１，２２はインバータ、２３は立下りエッジデータ取込回路、２４はインバータ、２５はデータ値異同判別部、２６〜３１はＭＯＳトランジスタ、３２は出力端子、３３はデータ一時保持部、３４〜３６はインバータである。
【００３４】
立上り時データ処理回路１１は、クロック信号の立上り時点でのデータを読み込んで、所定の処理をするための回路である。立上り時データ処理回路１１は、立上りエッジデータ取込回路１２とインバータ１３と出力確認部１４とデータ一時保持部２０とから構成される。
立上りエッジデータ取込回路１２は、入力端子２からクロックＣの立上りエッジが入力された時点で、入力端子３からのデータＤを取込み、その値に応じて出力ＥP とＥP Ｂを出力する回路である。
図１１に、立上りエッジデータ取込回路１２の一例を示す。これは４個のＮＡＮＤ回路を用いて構成した例である。立上りエッジデータ取込回路１２は、公知の立上りエッジトリガフリップフロップの１段目のエッジ検出兼データ取込み回路を使って実現できる。クロックＣの立上りエッジの瞬間にデータＤの値がハイの時には、出力ＥP はハイになり、出力ＥP Ｂはローになる。また、クロックＣの立上りエッジの瞬間にデータＤの値がローの時には、出力ＥP はローになり、出力ＥP Ｂはハイになる。
この立上りエッジ以降のクロックＣがハイの期間は、出力ＥP とＥP Ｂの値は変化しない。即ち、データＤの取込みは行われない。
これ以外のクロックＣの期間、即ちクロックＣの立下りエッジの瞬間とクロックＣがローの期間は、出力ＥP とＥP Ｂは共にハイとなっている。なお、図１１の回路では、出力ＥP とＥP Ｂは共にローにはならない。
このように、立上りエッジデータ取込回路１２は、クロック信号の立上りエッジ時点でのデータ信号を新たに取込み、保持する。
【００３５】
出力確認部１４は、取り込まれた値が立上りエッジで取り込まれた値か否かを確認する部分である。ここは、例えば４つのＭＯＳトランジスタ１５〜１８を直列接続し、その上端は電源＋ＶDDに接続し、下端はアースに接続し、中央の接続点より出力を取り出すよう構成される（Ｃエレメント回路を利用）。
上２つのＭＯＳトランジスタ１５，１６は、ゲートに状態表示記号（小さな○）が付けられていることから分かるように、これらが能動状態（オン）とされるのはゲートにローが印加された時である（ＰＭＯＳトランジスタ）。下の２つのＭＯＳトランジスタ１７，１８は、状態表示記号は付けられていないから、これらが能動状態とされるのはゲートにハイが印加された時である（ＮＭＯＳトランジスタ）。
【００３６】
前記した出力ＥP がＭＯＳトランジスタ１５，１８のゲートに印加され、出力ＥP Ｂがインバータ１３で反転され、ＭＯＳトランジスタ１６，１７のゲートに印加される。
出力確認部１４の出力は、直列接続の中央の接続点（ＭＯＳトランジスタ１６，１７の接続点）から出力端子１９へと取り出される。
出力端子１９の出力値がハイとなるのは、上の２つのＭＯＳトランジスタ１５，１６がオンし、下の２つのＭＯＳトランジスタ１７，１８がオフとなるときである。
出力端子１９の出力値がローとなるのは、上の２つのＭＯＳトランジスタ１５，１６がオフし、下の２つのＭＯＳトランジスタ１７，１８がオンとなるときである。
これらのＭＯＳトランジスタの入力が上記以外の場合は、出力端子１９はフローティング状態（ハイでもローでもない状態）になる。
【００３７】
データ一時保持部２０は、出力確認部１４の出力データ（論理値）を取り込み、そのデータを保持する部分である。ここは、例えばインバータ２１，２２をループ状に接続して構成される。このように構成した場合、出力端子１９から入って来たデータを反転した出力を出し続ける形で保持される（仮に出力端子１９のデータがハイであれば、データ一時保持部２０はそれを反転したローを出力し続ける形で保持される）。
データ一時保持部２０により保持されるデータは、その後、出力端子１９から前回とは異なる論理値のデータが入って来るまで、変わらない。
【００３８】
立下りエッジデータ取込回路２３は、入力端子２からクロックＣの立下りエッジが入力された時点で、入力端子３からのデータＤを取込み、その値に応じて出力ＥN とＥN Ｂを出力する回路である。
図１２に、立下りエッジデータ取込回路２３の一例を示す。これは４個のＮＯＲ回路を用いて構成した例である。立下りエッジデータ取込回路２３は、公知の立下りエッジトリガフリップフロップの１段目のエッジ検出兼データ取込み回路を使って実現できる。クロックＣの立下りエッジの瞬間にデータＤの値がハイの時には、出力ＥN はハイになり、出力ＥN Ｂはローになる。また、クロックＣの立下りエッジの瞬間にデータＤの値がローの時には、出力ＥN はローになり、出力ＥN Ｂはハイになる。
この立下りエッジ以降のクロックＣがローの期間は、出力ＥN とＥN Ｂの値は変化しない。即ち、データＤの取込みは行われない。
これ以外のクロックＣの期間、即ちクロックＣの立上りエッジの瞬間とクロックＣがハイの期間は、出力ＥN とＥN Ｂは共にローとなっている。なお、図１２の回路では、出力ＥN とＥN Ｂは共にハイにはならない。
このように、立下りエッジデータ取込回路２３は、クロック信号の立下りエッジ時点でのデータ信号を新たに取込み、保持する。
【００３９】
データ値異同判別部２５は、クロックＣの立上り時と立下り時に取り込んだデータＤの値（論理値）が、異なるか同じかを判別する部分である。ここは、例えば６つのＭＯＳトランジスタ２６〜３１を直列接続し、その上端は電源＋ＶDDに接続し、下端はアースに接続し、中央の接続点より出力を取り出すよう構成される（Ｃエレメント回路を利用）。
上３つのＭＯＳトランジスタ２６〜２８は、ゲートに状態表示記号（小さな○）が付けられているから、これらが能動状態（オン）とされるのはゲートにローが印加された時である。下の３つのＭＯＳトランジスタ２９〜３１は、状態表示記号は付けられていないから、これらが能動状態とされるのはゲートにハイが印加された時である。
【００４０】
データ一時保持部２０の出力がＭＯＳトランジスタ２６，３１のゲートに印加され、立下りエッジデータ取込回路２３の出力ＥN がＭＯＳトランジスタ２７，３０のゲートに印加され、出力ＥN Ｂをインバータ２４で反転した出力がＭＯＳトランジスタ２８，２９に印加される。
データ値異同判別部２５の出力は、直列接続の中央の接続点（ＭＯＳトランジスタ２８，２９の接続点）から出力端子３２へと取り出される。
出力端子３２の出力値がハイとなるのは、上の３つのＭＯＳトランジスタ２６〜２８がオンし、下の３つのＭＯＳトランジスタ２９〜３０がオフとなるときである。
出力端子３２の出力値がローとなるのは、上の３つのＭＯＳトランジスタ２６〜２８がオフし、下の３つのＭＯＳトランジスタ２９〜３０がオンとなるときである。
これらのＭＯＳトランジスタの入力が上記以外の場合は、出力端子３２はフローティング状態（ハイでもローでもない状態）になる。
【００４１】
データ一時保持部３３は、データ値異同判別部２５の出力データ（論理値）を取り込み、そのデータを保持する部分である。データ一時保持部２０と同様、２つのインバータ３４，３５をループ状に接続して構成することが出来る。
データ一時保持部３３の出力端子は端子４に接続されると共に、インバータ３６を経て端子５と接続される。端子４に取り出された出力が出力Ｑとされ、端子５に取り出された出力が出力ＱＢとされる。これらがフリップフロップ装置１の出力である。
【００４２】
（２）フリップフロップ装置１の動作
（２−１）クロックＣ1 の時の動作
まずクロックＣ1 の時の動作を、図１（２）を参照しつつ説明する。立上り時刻ｔ1 のデータ値Ｄ1 はハイであるから、立上りエッジデータ取込回路１２の出力ＥP はハイ、出力ＥP Ｂはローとなる。この時の出力確認部１４の各ＭＯＳトランジスタのゲートへの入力は、全てハイである（ＥP はハイであり、ローのＥP Ｂをインバータ１３で反転した値はハイだから）。従って、ＭＯＳトランジスタ１５，１６はオフ、ＭＯＳトランジスタ１７，１８はオンとなる。出力端子１９はアースとつながれ、電源＋ＶDDとは遮断されるから、出力端子１９の出力はローとなる。
それがデータ一時保持部２０へ入力され、反転したハイが出力される（この値は保持される）。これがデータ値異同判別部２５のＭＯＳトランジスタ２６，３１のゲートに印加される。
【００４３】
次に立下り時刻ｔ2 となる。この時のデータ値Ｄ2 もハイであるから、立下りエッジデータ取込回路２３の出力ＥN はハイ、出力ＥN Ｂはローとなる。出力ＥN （ハイ）は、データ値異同判別部２５のＭＯＳトランジスタ２７，３０のゲートに印加される。また出力ＥN Ｂ（ロー）はインバータ２４で反転されてハイにされ、ＭＯＳトランジスタ２８，２９のゲートに印加される。
【００４４】
ところで、データ一時保持部２０の出力（ハイ）は立上り時刻ｔ1 から継続して保持されたままで、ＭＯＳトランジスタ２６，３１のゲートに印加されたままになっているから、立下り時刻ｔ2 においては、データ値異同判別部２５の全てのＭＯＳトランジスタのゲートにはハイが印加される。従って、ＭＯＳトランジスタ２６〜２８はオフし、ＭＯＳトランジスタ２９〜３０はオンし、出力端子３２にはローが出力される。そのローはデータ一時保持部３３でハイに反転されるから、端子４からの出力Ｑとしてはハイの出力が出て、端子５からの出力ＱＢとしてはローの出力が出る。
【００４５】
（２−２）クロックＣ2 の時の動作
クロックＣ2 の立上り時刻ｔ3 のデータ値Ｄ3 はローであるから、立上りエッジデータ取込回路１２の出力ＥP はロー、出力ＥP Ｂはハイとなる。この時の出力確認部１４の各ＭＯＳトランジスタのゲートへの入力は、全てローである（ＥP はローであり、ハイのＥP Ｂをインバータ１３で反転した値はローだから）。従って、ＭＯＳトランジスタ１５，１６はオン、ＭＯＳトランジスタ１７，１８はオフとなる。出力端子１９は電源＋ＶDDにつながれ、アースとは遮断されるから、出力端子１９の出力はハイとなる。
それがデータ一時保持部２０へ入力され、反転したローが出力される（この値は保持される）。これがデータ値異同判別部２５のＭＯＳトランジスタ２６，３１のゲートに印加される。
【００４６】
次に立下り時刻ｔ4 となる。この時のデータ値Ｄ4 もローであるから、立下りエッジデータ取込回路２３の出力ＥN はロー、出力ＥN Ｂはハイとなる。出力ＥN （ロー）は、データ値異同判別部２５のＭＯＳトランジスタ２７，３０のゲートに印加される。また出力ＥN Ｂ（ハイ）はインバータ２４で反転されてローにされ、ＭＯＳトランジスタ２８，２９のゲートに印加される。
従って、立下り時刻ｔ4 においては、データ値異同判別部２５の全てのＭＯＳトランジスタのゲートにはローが印加される。従って、ＭＯＳトランジスタ２６〜２８はオンし、ＭＯＳトランジスタ２９〜３０はオフし、出力端子３２にはハイが出力される。そのハイはデータ一時保持部３３でローに反転されるから、端子４からの出力Ｑとしてはローの出力が出て、端子５からの出力ＱＢとしてはハイの出力が出る。
【００４７】
（２−３）クロックＣ3 の時の動作
クロックＣ3 の立上り時刻ｔ5 のデータ値Ｄ5 は、丁度ハイのノイズが出ているのでハイである。従って、立上りエッジデータ取込回路１２の出力ＥP はハイ、出力ＥP Ｂはローとなる。この時の出力確認部１４の各ＭＯＳトランジスタのゲートへの入力は、全てハイである（ＥP はハイであり、ローのＥP Ｂをインバータ１３で反転した値はハイだから）。従って、ＭＯＳトランジスタ１５，１６はオフ、ＭＯＳトランジスタ１７，１８はオンとなる。出力端子１９はアースにつながれ、電源＋ＶDDとは遮断されるから、出力端子１９の出力はローとなる。
それがデータ一時保持部２０へ入力され、反転したハイが出力される（この値は保持される）。これがデータ値異同判別部２５のＭＯＳトランジスタ２６，３１のゲートに印加される。
【００４８】
次に立下り時刻ｔ6 となる。この時のデータ値Ｄ6 はローであるから（ノイズは消えている）、立下りエッジデータ取込回路２３の出力ＥN はロー、出力ＥN Ｂはハイとなる。出力ＥN （ロー）は、データ値異同判別部２５のＭＯＳトランジスタ２７，３０のゲートに印加される。また出力ＥN Ｂ（ハイ）はインバータ２４で反転されてローにされ、ＭＯＳトランジスタ２８，２９のゲートに印加される。
従って、立下り時刻ｔ4 においては、データ値異同判別部２５の上の３つのＭＯＳトランジスタ２６，２７，２８の各ゲートに、それぞれハイ，ロー，ローが印加され、下の３つのＭＯＳトランジスタ２９，３０，３１の各ゲートに、それぞれロー，ロー，ハイが印加される。
【００４９】
出力端子３２と電源＋ＶDDとの間にあるＭＯＳトランジスタ２６，２７，２８の内、２７，２８にはそれらをオンし得るゲート入力（ロー）が印加されているが、２６にはそれをオフするゲート入力（ハイ）が印加されている。従って、出力端子３２と電源＋ＶDDとの間は遮断された状態となる。
出力端子３２とアースとの間にあるＭＯＳトランジスタ２９，３０，３１の内、３１にはそれをオンし得るゲート入力（ハイ）が印加されているが、２９，３０にはそれらをオフするゲート入力（ロー）が印加されている。従って、出力端子３２とアースとの間も遮断された状態となる。
つまり、出力端子３２はフローティング状態となるので、データ一時保持部３３の出力は変えられることはなく、それまでの値ロー（クロックＣ2 の時はローだった）が維持される。従って、端子４の出力Ｑもローが維持され、端子５の出力ＱＢもハイが維持される。
【００５０】
（２−４）クロックＣ4 の時の動作
クロックＣ3 の場合との相違は、ノイズが出ている時点が立上りではなく立下りの時というだけである。従って、クロックＣ4 の時のフリップフロップ装置１の動作は、クロックＣ3 の場合と同様に追ってゆくことが出来る。詳細な説明は省略するが、この時も出力端子３２はフローティング状態となる。
結局、クロックＣ4 の場合でも、フリップフロップ装置１からの出力Ｑ，出力ＱＢは変化することはなく、それまでの値（出力Ｑロー，出力ＱＢハイ）を維持する。
かくしてフリップフロップ装置１は、端子Ｄからのデータが真正データである場合には、それに応じた出力を出すが、ノイズであった場合にはそれに影響されることはなく、出力はそれまでの値を維持する。
【００５１】
（第２の実施形態）
図３は、本発明の第２の実施形態のフリップフロップ装置である。符号は図１のものに対応し、３７はノイズ検知時導通部、３７Ａは立上り時ノイズ検知導通部、３７Ｂは立下り時ノイズ検知導通部、３８はノイズ未検知時導通部、４０はノイズ検知回路、５４は検知出力端子である。
この実施形態は、図１（２）のクロックＣ3 ，クロックＣ4 の時のように、クロックの立上りまたは立下りの一方の時点にノイズが入力していた場合に、そのことを検知するためのノイズ検知回路４０を付加したものである。
【００５２】
ノイズ検知回路４０は、ノイズ検知時導通部３７とノイズ未検知時導通部３８とが直列接続され、両者の接続点より検知出力端子５４が取り出されて構成される。なお、ノイズ検知時導通部３７の上端は電源＋ＶDDに接続され、ノイズ未検知時導通部３８の下端はアースに接続される構成としている。これらは、例えばＣＭＯＳトランジスタを用いた回路構成とされる。
図１（２）のクロックＣ1 ，Ｃ2 のときのように正常データが入力して来た場合（クロックの立上り時と立下り時の値が同じ場合）には、ノイズ未検知時導通部３８が導通，ノイズ検知時導通部３７が非導通となり、検知出力端子５４にはローの出力が出る。
一方、クロックＣ3 ，Ｃ4 のときのようにノイズが入力して来た場合（クロックの立上り時と立下り時の値が異なる場合）には、ノイズ検知時導通部３７が導通，ノイズ未検知時導通部３８が非導通となり、検知出力端子５４にはハイの出力が出る。これによりノイズの検知が出来る。
【００５３】
ノイズ検知時導通部３７は、例えば立上り時ノイズ検知導通部３７Ａと立下り時ノイズ検知導通部３７Ｂとを、並列接続して構成することが出来る。立上り時ノイズ検知導通部３７Ａは、クロックＣ3 のときのように、立上り時にノイズが存在した場合に導通する（その時、立下り時ノイズ検知導通部３７Ｂの方は非導通）。立下り時ノイズ検知導通部３７Ｂは、クロックＣ4 のときのように、立下り時にノイズが存在した場合に導通する（その時、立上り時ノイズ検知導通部３７Ａの方は非導通）。
【００５４】
図４は、第２の実施形態の具体例を示す図であり、フリップフロップ装置１とノイズ検知回路４０の具体的構成例を示している。符号は図２，図３のものに対応し、４１〜４５はＭＯＳトランジスタ、４６はインバータ、４７〜５３はＭＯＳトランジスタである。この回路は、ＣＭＯＳトランジスタ回路（ＰＭＯＳトランジスタとＮＭＯＳトランジスタとが対となっている回路構成法）を用いて構成した例である。フリップフロップ装置１の構成，動作は図１，図２と同じであるのでその説明は省略し、以下では専らノイズ検知回路４０の構成，動作を説明する。
【００５５】
（ノイズ検知回路４０の構成）
立上り時ノイズ検知導通部３７Ａは３つのＰＭＯＳトランジスタ４１〜４３を直列にして構成し、立下り時ノイズ検知導通部３７Ｂも同様に３つのＰＭＯＳトランジスタ４９〜５１を直列にして構成する。ノイズ未検知時導通部３８は、ＮＭＯＳトランジスタ３つを並列接続したもの２組を（第１の組…４４，４７，５２，第２の組…４５，４８，５３）、直列接続して構成する。
そして、それらのゲートに次のように入力されるよう配線接続する（文章が繁雑となるのを避けるため、ＭＯＳトランジスタは符号のみで説明する。）。
【００５６】
出力端子１９の値→４１，４５のゲートへ
データ一時保持部２０の出力（出力端子１９の値の反転出力）→４４，４９のゲートへ
立下りエッジデータ取込回路２３の出力ＥN →４２，４８のゲートへ
出力ＥN をインバータ４６で反転した出力→４７，５０のゲートへ
立下りエッジデータ取込回路２３の出力ＥN Ｂ→５１，５２のゲートへ
出力ＥN Ｂをインバータ２４で反転した出力→４３，５３のゲートへ
【００５７】
このように接続される結果、立上り時ノイズ検知導通部３７Ａと立下り時ノイズ検知導通部３７Ｂとの対応する位置に接続されているＭＯＳトランジスタのゲートには、互いに反転した値が入力されることになる。例えば、４１のゲートにハイが入力された時には４９のゲートにローが入力され、逆に４１のゲートにローが入力された時には４９のゲートにハイが入力されるという具合にである。
そして、直列接続された３つのＭＯＳトランジスタのゲート入力として使用されるのは、「出力端子１９の出力」，「出力ＥN 」，「出力ＥN Ｂ」とこれら３つの反転出力である。
また、ノイズ未検知時導通部３８の並列接続されている第２の組の３つのＭＯＳトランジスタ（４５，４８，５３）のゲートには、「出力端子１９の出力」，「出力ＥN 」，「出力ＥN Ｂの反転出力」が印加され、第１の組の３つのＭＯＳトランジスタ（４４，４７，５２）のゲートには、それら３つの反転出力が印加される。
【００５８】
（ノイズ検知回路４０の動作）
（１）入力されて来たデータにノイズがない（真正データの）場合
この場合は、立上り時ノイズ検知導通部３７Ａでは、その中の少なくとも１つのＭＯＳトランジスタは非導通となり、且つ立下り時ノイズ検知導通部３７Ｂでも、その中の少なくとも１つのＭＯＳトランジスタは非導通となる。そのため、ノイズ検知時導通部３７は全体として非導通となる。
図１（２）のクロックＣ1 の場合を例にとって説明すると、立上り時ノイズ検知導通部３７ＡではＭＯＳトランジスタ４２，４３が非導通となり、立下り時ノイズ検知導通部３７Ｂでは４９が非導通となる。なぜなら、クロックＣ1 ではＥP もＥN もハイであり、４２にはそのＥN が入力され非導通となり、４３には、ＥN Ｂ（ロー）がインバータ２４で反転されたハイが入力され、非導通となる。また４９には、ＥP （ハイ）→出力端子１９（ロー）→データ一時保持部２０の出力（ハイ）として得られたハイが入力され、非導通となるからである。
【００５９】
一方、ノイズ未検知時導通部３８では、第１の組の中の少なくとも１つのＭＯＳトランジスタが導通となり、第２の組の中の少なくとも１つのＭＯＳトランジスタが導通となる。そのため、ノイズ未検知時導通部３８は全体として導通状態となる。
クロックＣ1 の場合を例にとって説明すると、第１の組ではＭＯＳトランジスタ４４が導通し、第２の組では４８，５３が導通となる。なぜなら、４４にはデータ一時保持部２０の出力のハイが入力されて導通となり、４８にはハイのＥN が入力されて導通となり、５３にはＥN Ｂ（ロー）がインバータ２４で反転されたハイが入力されて導通となるからである。
従って、検知出力端子５４はアースと接続され、検知出力はローとなる。
（クロックＣ2 の場合も同様に考えて行けば、検知出力はローとなる。）
【００６０】
（２）入力されて来たデータにノイズがあった場合
この場合には、ノイズ検知時導通部３７では、立上り時ノイズ検知導通部３７Ａまたは立下り時ノイズ検知導通部３７Ｂが導通となり、ノイズ検知時導通部３７全体としては導通となる。
一方、ノイズ未検知時導通部３８では、第１の組の全てのＭＯＳトランジスタが非導通になるか、あるいは第２の組の全てのＭＯＳトランジスタが非導通になるかして、ノイズ未検知時導通部３８全体として非導通となる。
その結果、検知出力端子５４は電源（＋ＶDD）と接続され、検知出力はハイとなる。以下、立上り時ノイズと立下り時ノイズの場合に分けて説明する。
【００６１】
（２−１）立上り時にノイズが入力して来た場合
ノイズ検知時導通部３７では、ノイズが立上り時のものであった場合（図１（２）のクロックＣ3 の場合）、立上り時ノイズ検知導通部３７Ａの全てのＭＯＳトランジスタが導通となる。
なぜなら、クロックＣ3 の場合ＥP はハイ，ＥN はローであり、４１には出力端子１９のロー（ＥP ハイ→出力端子１９ロー）が入力されて導通となる。また４２にはローのＥN が入力されて導通となり、４３にはハイのＥN Ｂがインバータ２４で反転されたローが入力されて導通となるからである。
【００６２】
一方、ノイズ未検知時導通部３８では、ノイズが立上り時のものであった場合（クロックＣ3 の場合）、第２の組のＭＯＳトランジスタ４５，４８，５３が全て非導通となる。
なぜなら、クロックＣ3 の場合ＥP はハイ，ＥN はローであり、４５には出力端子１９のロー（ＥP ハイ→出力端子１９ロー）が入力されて非導通となる。４８にはローのＥN が入力され非導通となり、５３にはハイのＥN Ｂがインバータ２４で反転されたローが入力され非導通となるからである。
従って、検知出力端子５４からの検知出力はハイとなる。
【００６３】
（２−２）立下り時にノイズが入力して来た場合
ノイズ検知時導通部３７では、ノイズが立下り時のものであった場合（クロックＣ4 の場合）、立下り時ノイズ検知導通部３７Ｂの全てのＭＯＳトランジスタが導通となる。
なぜなら、クロックＣ4 の場合ＥP はロー，ＥN はハイであり、４９にはデータ一時保持部２０の出力ロー（ＥP ロー→出力端子１９ハイ→データ一時保持部２０の出力ロー）が入力されて導通となる。また５０にはハイのＥN をインバータ４６で反転したローが入力されて導通となり、５１にはローのＥN Ｂが入力されて導通となるからである。
【００６４】
一方、ノイズ未検知時導通部３８では、ノイズが立下り時のものであった場合（クロックＣ4 の場合）、第１の組のＭＯＳトランジスタ４４，４７，５２が全て非導通となる。
なぜなら、クロックＣ4 の場合ＥP はロー，ＥN はハイであり、４４にはデータ一時保持部２０の出力ロー（ＥP ロー→出力端子１９ハイ→データ一時保持部２０の出力ロー）が入力されて非導通となる。また、４７にはハイのＥN をインバータ４６で反転したローが入力されて非導通となり、５２にはローのＥN Ｂが入力されて非導通となるからである。
従って、検知出力端子５４からの検知出力はハイとなる。
【００６５】
図７は、本発明の第３の実施形態のフリップフロップ装置を示す図である。これは、クロック信号として負パルス信号（先ず立下り、次に立上るという順番のパルス）が用いられる場合の実施形態である（第１，第２の実施形態は、クロック信号として正パルス信号（先ず立上り、次に立下るという順番のパルス）が用いられる場合のものであった。）。
図７において、符号は図２のものに対応し、９６は立下り時データ処理回路である。負パルス信号の場合、先に立下りがあり、次に立上りがあるわけであるから、それに対応させるため、図２の回路を変形したものである。
【００６６】
即ち、図２で立上りエッジデータ取込回路１２が接続されている位置は、クロック信号の立上りと立下りのうち、先に生起する時点のデータを取り込むための回路を接続する位置であった。図２では、クロック信号として正パルス信号を用いており、立上りが先に生起するから、その時点のデータを取り込むため、立上りエッジデータ取込回路１２が接続されていた。
しかし、図７の第３の実施形態では、クロック信号として負パルスを用いようとするものであるから、立下りの方が先に生起する。従って、図２で立上りエッジデータ取込回路１２が接続されていた位置に、立下りエッジデータ取込回路２３を接続すればよいことになる。そして、次に立上りが生起するから、図２で立下りエッジデータ取込回路２３が接続されていた位置に、立上りエッジデータ取込回路１２を接続すればよいことになる。
図２で、点線で囲って立上り時データ処理回路１１と名付けていた部分は、図７ではその中に立下りエッジデータ取込回路２３を持ち込んだ関係上、名称が相応しくなくなるので、立下り時データ処理回路９６と改めた。
【００６７】
図８は、上記した第３の実施形態の動作を説明する図である。符号は図１（２）のものに対応している。クロックＣの波形が、負パルス（先ず立下り、次に立上るという順番のパルス）となっている点が相違しているだけで、あとは図１（２）と同じである。
動作説明もほぼ同様となるので、説明は省略する。
【００６８】
図９は、本発明の第４の実施形態のフリップフロップ装置を示す図である。符号は、図７，図４のものに対応している。
この実施形態は、第３の実施形態のものにノイズ検知回路４０を付加したものである。クロック信号として負パルス信号が用いられる点が相違しているだけで、あとは同じである。構成，動作は図４のものとほぼ同様であるので、それらについての説明は省略する。
【００６９】
図１０は、本発明の発明概念を示す図であり、今迄説明して来た各種の実施形態を包含するようまとめた図である。符号は図１のものに対応し、１１０は第１のエッジデータ取込み回路、１１１は第２のエッジデータ取込み回路、１１２は一時保持回路、１１３は比較・出力判定回路、１１４は警告出力回路、１１５は警告出力端子である。
本発明のデータフリップフロップ装置１は、図示する如く、第１のエッジデータ取込み回路１１０、第２のエッジデータ取込み回路１１１、一時保持回路１１２、比較・出力判定回路１１３、警告出力回路１１４および警告出力回路１１４で構成される。但し、警告出力回路１１４は必要に応じて付加される回路である。
【００７０】
クロック信号には第１のエッジと第２のエッジとがある。クロック信号として正パルスを用いた場合、第１のエッジは立上りエッジであり、第２のエッジは立下りエッジである。負パルスを用いた場合、第１のエッジは立下りエッジであり、第２のエッジは立上りエッジである。
第１のエッジデータ取込み回路１１０は、入力端子２から入力されるクロックＣの第１のエッジでデータＤを取り込む回路である。これの出力は一時保持回路１１２に送られ、ここで一時的に保持される。
第２のエッジデータ取込み回路１１１は、入力端子２から入力されるクロックＣの第２のエッジでデータＤを取り込む回路である。
【００７１】
比較・出力判定回路１１３は、一時保持回路１１２に保持されているデータ（第１のエッジで読み込まれたデータ）と、第２のエッジデータ取込み回路１１１で読み込まれたデータとを比較し、取り込んだデータを出力するかそれとも以前の出力値を保持するかを判定（ノイズが混入して来たか否かを判定）する回路である。
警告出力回路１１４は、第１のエッジで取り込んだデータと第２のエッジで取り込んだデータとが異なる時、ノイズが混入したとの警告信号を出力する回路である。
【００７２】
以上述べて来たことから明らかなように、本発明によれば、クロックに同期してデータを取り込むフリップフロップ装置において、データにノイズが混じって入って来ても、それを真正データと誤認して取り込むことがなくなる。
なお、図１のクロックＣ3 のパルス幅とノイズ７１のパルス幅とを観察比較すれば分かるように、クロックのパルス幅が図示のものより小であり、ノイズのパルス幅が図示のものより大であった場合、クロックの立上り立下りのエッジでノイズの値がハイとなり、理屈の上では真正データ７０のときと同じになってしまう。従って、クロックのパルス幅は、ノイズのパルス幅より大となるよう調整しておく必要がある。しかし、通常使用されているクロックのパルス幅は、ノイズのパルス幅より極めて大きいことが殆どである。
ノイズ検知回路を付加した場合には、ノイズが入力して来たことを検知することが可能となる。
【符号の説明】
【００７３】
１…フリップフロップ装置、２，３…入力端子、４，５…出力端子、１１…立上り時データ処理回路、１２…立上りエッジデータ取込回路、１３…インバータ、１４…出力確認部、１５〜１８…ＭＯＳトランジスタ、１９…出力端子、２０…データ一時保持部、２１，２２…インバータ、２３…立下りエッジデータ取込回路、２４…インバータ、２５…データ値異同判別部、２６〜３１…ＭＯＳトランジスタ、３２…出力端子、３３…データ一時保持部、３４，３５…インバータ、３６…インバータ、３７…ノイズ検知時導通部、３７Ａ…立上り時ノイズ検知導通部、３７Ｂ…立下り時ノイズ検知導通部、３８…ノイズ未検知時導通部、４０…ノイズ検知回路、４１〜４５…ＭＯＳトランジスタ、４６…インバータ、４７〜５３…ＭＯＳトランジスタ、５４…検知出力端子、６１…フリップフロップ装置、６２，６３…入力端子、６８，６９…出力端子、７０…真正データ、７１，７２…ノイズ、７３…真正データ、７４〜７９…出力波形、８１…フリップフロップ装置、８２，８３…入力端子、８８，８９…出力端子、９０〜９５…出力波形、９６…立下り時データ処理回路、１００〜１０３…出力波形、１１０…第１のエッジデータ取込み回路、１１１…第２のエッジデータ取込み回路、１１２…一時保持回路、１１３…比較・出力判定回路、１１４…警告出力回路、１１５…警告出力端子
【図１】
0005879688.tif 000002
【図２】
0005879688.tif 000003
【図３】
0005879688.tif 000004
【図４】
0005879688.tif 000005
【図５】
0005879688.tif 000006
【図６】
0005879688.tif 000007
【図７】
0005879688.tif 000008
【図８】
0005879688.tif 000009
【図９】
0005879688.tif 000010
【図１０】
0005879688.tif 000011
【図１１】
0005879688.tif 000012
【図１２】
0005879688.tif 000013