(57)【要約】      （修正有）【課題】チャタリング除去可能区間を容易に選択できるチャタリング除去回路を提供する。【解決手段】入力信号の立ち上がりエッジ検出部と、立ち下がりエッジ検出部と、前記立ち上がりエッジ検出部の出力信号のエッジを検出して所定のパルスを生成するHi信号生成部と、Low信号生成部と、これらHi信号生成部およびLow信号生成部から生成出力されるパルスに基づき状態が遷移する出力信号を生成するステートマシン部と、前記Hi信号生成部を構成する複数のフリップフロップの出力信号が入力される第１のゲートと、前記Low信号生成部を構成する複数のフリップフロップの出力信号が入力される第２のゲートと、これら第１および第２のゲートの出力信号と前記ステートマシン部の出力信号に基づき出力信号を生成する第３のゲートとで構成された出力生成部、からなるチャタリング除去回路。【選択図】図１
2014068208.tif 000002
【特許請求の範囲】
【請求項１】
入力部にゲートが設けられて出力部にフリップフロップが設けられ入力信号の立ち上がりを検出する立ち上がりエッジ検出部と、
入力部にゲートが設けられて出力部にフリップフロップが設けられ入力信号の立ち下がりを検出する立ち下がりエッジ検出部と、
複数のフリップフロップとこれらフリップフロップの出力信号が入力されるゲートとで構成され前記立ち上がりエッジ検出部の出力信号のエッジを検出して所定のパルスを生成しこのパルスを前記立ち上がりエッジ検出部のフリップフロップに帰還入力するHi信号生成部と、
複数のフリップフロップとこれらフリップフロップの出力信号が入力されるゲートとで構成され前記立ち下がりエッジ検出部の出力信号のエッジを検出して所定のパルスを生成しこのパルスを前記立ち下がりエッジ検出部のフリップフロップに帰還入力するLow信号生成部と、
これらHi信号生成部およびLow信号生成部から生成出力されるパルスに基づき状態が遷移する出力信号を生成し前記立ち上がりエッジ検出部および立ち下がりエッジ検出部の各ゲートに帰還入力するステートマシン部と、
前記Hi信号生成部を構成する複数のフリップフロップの出力信号が入力される第１のゲートと、前記Low信号生成部を構成する複数のフリップフロップの出力信号が入力される第２のゲートと、これら第１および第２のゲートの出力信号と前記ステートマシン部の出力信号に基づき出力信号を生成する第３のゲートとで構成された出力生成部、
からなるチャタリング除去回路。
【請求項２】
前記Hi信号生成部およびLow信号生成部に接続されるフリップフロップの段数に応じてチャタリング除去可能区間が設定されることを特徴とする請求項１に記載のチャタリング除去回路。
【請求項３】
前記Hi信号生成部およびLow信号生成部に接続されるフリップフロップの段数を連動して切り替えることによりチャタリング除去可能区間を変更するセレクタを設けたことを特徴とする請求項１または請求項２記載のチャタリング除去回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、チャタリング除去回路に関し、詳しくは、電気信号のオン・オフなどのトグル時に発生するチャタリングの除去に関する。
【０００２】
機械的なオン・オフ接点を有するスイッチやリレーを用いて電気信号をオン・オフした場合、外部からの機械的な微細振動の影響を受けて接点が短時間内に高速で断続を繰り返すチャタリングが発生することがある。
【０００３】
デジタル回路のデジタル信号系統にチャタリングが発生すると、デジタル回路はチャタリングによるオン・オフも通常のデジタル信号と同様なオン・オフと認識してしまい、誤動作を生じることがある。
【０００４】
そこで、たとえばクロックでサンプリングしてデジタル信号のパルス幅を測定しようとする場合には、このようなトグル時に発生するチャタリングに起因するデジタル回路の誤動作を防止するために、チャタリングを除去する回路が用いられる。
【０００５】
図１１は入力信号のパルス幅測定回路の前段に設けられるロジック回路であり、図１２はその動作を説明するタイミングチャートである。
【０００６】
このロジック回路は、クロック同期動作によりパルス幅を測定するために、入力信号ＤをクロックＣＬＫでサンプリングする。
【０００７】
入力信号Ｄにチャタリングが存在すると、出力信号Ｑはたとえば１）〜４）に示すような変化を取りうる。いずれのような変化になるかは、入力信号ＤとクロックＣＬＫのタイミングに依存することから、予測不可能である。
【０００８】
図１２の例では、１）の場合はクロック１周期分のパルス幅ＰＷ１１のパルスとクロック７周期分のパルス幅ＰＷ１２のパルスとの２つのパルスとして観測されることになり、２）のパルス幅はクロック９周期分のＰＷ２になり、３）のパルス幅もクロック９周期分のＰＷ３になり、４）のパルス幅はクロック７周期分のＰＷ４になる。すなわち、パルス幅の最小はクロック１周期分のＰＷ１１から最大はクロック９周期分のＰＷ２とＰＷ３まで、測定結果はばらつくこととなる。
【０００９】
５）はチャタリングを除去した信号であり、チャタリング開始時の最初のトグルを真の信号トグルとみなす考え方である。この５）の信号をクロックＣＬＫでサンプリングするとその出力信号のパルス幅は６）に示すようにクロック９周期分のＰＷ６となり、パルス幅測定結果がばらつくことはない。
【００１０】
図１３は、５）のようなチャタリングが除去された信号を生成するために用いられる従来の回路例図である。２接点スイッチＳＷの接点ａ、ｂで発生するチャタリングを除去する一般的な回路であって、ＳＲラッチの特性を用いることにより、出力信号Ｑからチャタリングが除去される。ここで、「~S」は接点ａにおけるセット信号Ｓの反転信号を示し、「~R」は接点ｂにおけるリセット信号Ｒの反転信号を示している。
【００１１】
ＳＲラッチは、２個のノアゲートＮＧ１、ＮＧ２で構成されている。ノアゲートＮＧ１の一方の入力端子ａはスイッチＳＷの接点ａに接続されるとともに１ＫΩの抵抗を介して＋５Ｖの電源線に接続され、他方の入力端子ｂはノアゲートＮＧ２の出力端子ｃに接続されている。ノアゲートＮＧ２の一方の入力端子ａはノアゲートＮＧ１の出力端子ｃに接続され、他方の入力端子ｂはスイッチＳＷの接点ｂに接続されるとともに１ＫΩの抵抗を介して＋５Ｖの電源線に接続されている。
【００１２】
図１４は、図１３の動作を説明するタイミングチャートである。図１４において、スイッチＳＷが接点ａからｂに切り替わると接点ｂ側にチャタリングが発生し、接点ｂからａに切り替わると接点ａ側にチャタリングが発生する。
【００１３】
接点ｂ側にチャタリングが発生する直前のタイムスロット（ａ）では~S＝１、~R＝１であり、出力Ｑは現状を維持する。接点ｂ側にチャタリングが発生した直後のタイムスロット（ｂ）では~S＝１、~R＝０であり、出力Ｑは「０」に遷移する。接点ｂ側にチャタリングが発生中のタイムスロット（ｃ）では~S＝１、~R＝１であって、出力Ｑは現状を維持する。接点ｂ側のチャタリングが終息したタイムスロット（ｄ）では~S＝１、~R＝０になることから、出力Ｑは「０」になる。
【００１４】
接点ａ側にチャタリングが発生する直前のタイムスロット（ｅ）では~S＝１、~R＝１であり、出力Ｑは現状を維持する。接点ａ側にチャタリングが発生した直後のタイムスロット（ｆ）では~S＝０、~R＝１であり、出力Ｑは「１」に遷移する。接点ａ側にチャタリングが発生中のタイムスロット（ｇ）では~S＝１、~R＝１であって、出力Ｑは現状を維持する。接点ａ側にチャタリングが発生中のタイムスロット（ｈ）では~S＝０、~R＝１になることから、出力Ｑは「１」になる。接点ａ側にチャタリングが発生中のタイムスロット（ｉ）では~S＝１、~R＝１であって、出力Ｑは現状を維持する。接点ａ側のチャタリングが終息したタイムスロット（ｊ）では~S＝０、~R＝１になることから、出力Ｑは「１」になる。
【００１５】
図１５はＳＲラッチを用いた図１３の変形回路であり、２接点スイッチに限らず一般的な信号に適用できるように変更したものである。図１５において、アンドゲートＡＧ１とＡＧ２の一方の入力端子ａは共通にＤフリップフロップ回路ＬＣ２の出力端子に接続され、他方の入力端子ｂには共通に入力信号Ｄが入力される。
【００１６】
アンドゲートＡＧ１の出力端子はＳＲラッチを構成するアンドゲートＡＧ３の一方の入力端子ａに接続され、アンドゲートＡＧ２の出力端子はＳＲラッチを構成するアンドゲートＡＧ４の他方の入力端子ｂに接続されている。アンドゲートＡＧ３の他方の入力端子ｂはアンドゲートＡＧ４の出力端子と接続され、アンドゲートＡＧ３の出力端子はアンドゲートＡＧ４の一方の入力端子ａに接続されている。
【００１７】
そして、アンドゲートＡＧ４の出力端子は出力信号Ｑを出力するとともにＤフリップフロップ回路ＬＣ１の入力端子に接続され、Ｄフリップフロップ回路ＬＣ１の出力端子はＤフリップフロップ回路ＬＣ２の入力端子に接続されている。すなわち、これらアンドゲートＡＧ１、ＡＧ２、ＳＲラッチ、Ｄフリップフロップ回路ＬＣ１、ＬＣ２は、ループ状に接続されている。
【００１８】
図１６は、図１５の動作を説明するタイミングチャートである。破線で囲まれた一方の領域（ａ）ではＤフリップフロップ回路ＬＣ２の出力信号vth_2が「１」に固定されるとともに信号Ｓは「０」に固定されているので、（ｂ）に示す信号Ｒの最初の立ち上がりで出力信号Ｑが「０」に遷移すると、出力信号Ｑは以降「０」が維持される。
【００１９】
これに対し、破線で囲まれた他方の領域（ｃ）ではＤフリップフロップ回路ＬＣ２の出力信号vth_2が「０」に固定されるとともに信号Ｒは「０」に固定されているので、（ｄ）に示す信号Ｓの最初の立ち上がりで出力信号Ｑが「１」に遷移すると、出力信号Ｑは以降「１」が維持される。
【００２０】
ところが、図１５の回路構成によれば、ＡＳＩＣに実装しようとすると、以下のような問題点がある。
１）一般的なＡＳＩＣライブラリではＳＲラッチは使用できない。
２）一般的なＡＳＩＣ設計では禁止されている組み合わせ回路のループを含んでいる。
【００２１】
そこで、ＳＲラッチを用いることなくチャタリング除去機能を実現する回路として、特許文献１に記載されている図１７に示すような回路が提案されている。図１７の回路の動作の概略について、図１８のタイミングチャートを用いて説明する。
【００２２】
２１１は入力端子、２１２はクロックパルスの入力端子、２１３は信号の出力端子であるが、以下の説明では入力信号を２１１とし、クロックパルスを２１２とし、出力信号を２１３とする。
【００２３】
Ｄフリップフロップ回路２０１は出力ＱをＬにリセットするリセット端子Ｒを有するものであり、クロックＣＫの立ち上がりで入力Ｄ（この場合はＨ）を取り込む。ＯＲ回路２０２の一方の入力端子には出力端子２１３が接続され、他方の入力端子には信号の入力端子２１１が接続され、出力端子はＤフリップフロップ２０１のクロック端子ＣＫに接続されている。これらＤフリップロップ回路２０１とＯＲ回路２０２で第１のフリップフロップ回路２０３を構成する。
【００２４】
Ｄフリップロップ回路２０４は出力ＱをＬにリセットするリセット端子Ｒを有するもので、クロックＮＣＫの立ち下がりで入力Ｄ（この場合はＨ）を取り込む。ＡＮＤ回路２０５の一方の入力端子には信号の入力端子２１１が接続され、他方の入力端子には出力端子２１３が接続され、出力端子はＤフリップフロップ２０４のクロック端子ＮＣＫに接続されている。これらＤフリップロップ回路２０４とＡＮＤ回路２０５で第２のフリップフロップ回路２０６を構成する。
【００２５】
Ｄフリップロップ回路２０７はクロックＣＫの立ち上がりで入力Ｄを取り込むもので、出力端子ＮＱは入力端子Ｄに接続されている。ＯＲ回路２０８の一方の入力端子にはＤフリップフロップ２０１の出力端子Ｑが接続され、他方の入力端子にはＤフリップフロップ２０４の出力端子Ｑが接続され、出力端子はＤフリップフロップ２０７のクロック端子ＣＫに接続されている。これらＤフリップロップ回路２０７とＯＲ回路２０８で第３のフリップフロップ回路２０９を構成する。
【００２６】
第１のフリップフロップ回路２０３において、出力信号２１３が０(Lowレベル、以降Low）の時に入力信号２１１が立ち上がるとＤフリップフロップ２０１の出力信号２１５が１(Highレベル、以降Hi）となる。出力信号２１５は一度Hiになると、クロックパルス２１２の立ち上がりによりLowに戻るまでの間はHiを維持する。すなわち、入力信号２１１が立ち上がってからクロックパルス２１２が立ち上がるまでは、入力信号２１１が何度トグルしても、出力信号２１５の立ち上がり(Low→Hi遷移）は１回である。
【００２７】
出力信号２１３がHiの時には、入力信号２１１の立ち上がりに対しＤフリップフロップ２０１の出力信号２１５はHiとならない。出力信号２１５がもともとHiだった場合は、Hiを維持する。
【００２８】
第２のフリップフロップ回路２０６において、出力信号２１３がHiの時に入力信号２１１が立ち下がるとＤフリップフロップ２０４の出力信号２１７がHiとなる。出力信号２１７は一度Hiになると、クロックパルス２１２の立ち上がりによりLowに戻るまでの間はHiを維持する。すなわち、入力信号２１１が立ち下がってからクロックパルス２１２が立ち上がるまでは、入力信号２１１が何度トグルしても、出力信号２１７の立ち上がり(Low→Hi遷移）は１回である。
【００２９】
出力信号２１３がLowの時には入力信号２１１の立ち下がりに対しＤフリップフロップ２０４の出力信号２１７はHiとならない。出力信号２１７がもともとHiだった場合は、Hiを維持する。
【００３０】
Ｄフリップフロップ２０１の出力信号２１５またはＤフリップフロップ２０４の出力信号２１７の立ち上がりにより出力信号２１３が反転する。
【００３１】
出力信号２１３がLowの時は、入力信号２１１の立ち上がりによりＤフリップフロップ２０１の出力信号２１５が立ち上がるが、入力信号２１１の立ち下がりによりＤフリップフロップ２０４の出力信号２１７が立ち上がることはない。また前述の通りクロックパルス２１２が立ち上がるまでは、入力信号２１１が何度トグルしても、Ｄフリップフロップ２０１の出力信号２１５の立ち上がりは１回である。この出力信号２１５の立ち上がりにより出力信号２１３は反転してHiとなる。
【００３２】
出力信号２１３がHiの時は、入力信号２１１の立ち下がりによりＤフリップフロップ２０４の出力信号２１７が立ち上がるが、入力信号２１１の立ち上がりによりＤフリップフロップ２０１の出力信号２１５が立ち上がることはない。また前述の通りクロックパルス２１２が立ち上がるまでは、入力信号２１１が何度トグルしても、Ｄフリップフロップ２０４の出力信号２１７の立ち上がりは１回である。この出力信号２１７の立ち上がりにより出力信号２１３は反転してLowとなる。
【００３３】
以上により、入力信号２１１がチャタリングを含んでいても、チャタリングの最初の信号トグルでのみ出力信号２１３が反転することにより、出力信号２１３はチャタリングが除去された信号となる。
【００３４】
クロックパルス２１２の立ち上がりにより、Ｄフリップフロップ２０１の出力信号２１５およびＤフリップフロップ２０４の出力信号２１７はLowとなり、再び入力信号２１１の変化により立ち上がりができるようになる。
【００３５】
このように、チャタリングが最初の信号トグルからクロックパルス２１２の立ち下がりまでの区間のチャタリングが除去されるが、クロックパルス２１２の立ち下がり以降まで長くチャタリングが継続した場合は、出力信号２１３は不正となる。
【先行技術文献】
【特許文献】
【００３６】
【特許文献１】特開平１０−１２６２３１号公報
【発明の概要】
【発明が解決しようとする課題】
【００３７】
しかし、図１７の回路にも、以下のような問題点がある。
すなわち、図１９のタイミングチャートに示すように、入力信号２１１におけるチャタリングの発生とクロックパルス２１２とのタイミング関係により、チャタリング除去可能な区間が変化することにより、タイミングによってはほとんどチャタリング除去ができない場合がある。
【００３８】
区間Ａはクロックパルス２１２の間で入力信号２１１にチャタリングが発生している場合であり、出力信号２１３のレベルはチャタリングの影響を受けることなく一定に保たれている。これに対し、区間Ｂは、クロックパルス２１２を挟むタイミングで入力信号２１１にチャタリングが発生している場合であり、出力信号２１３のレベルは破線で囲んだ領域Ｃに示すようにチャタリングの影響を受けて変化している。
【００３９】
また、Ｄフリップフロップ２０１、２０４のリセット入力を制御するための信号２１２を必要とする。この信号２１２は、周期的にパルスが入力されることを前提とするものであり、一般的な候補としてはクロック信号がで考えられる。
【００４０】
ところが、次の２点に基づく設計上の制約があることから、クロック信号を用いることは困難であり、この信号を生成するための特別な回路を外部に必要とする。
【００４１】
１）Ｄフリップフロップ２０１、２０４のクロック入力ではなくリセット入力に接続されることから、通常のクロックツリー合成を適用することができない。
２）信号２１２のデューティー比により回路の挙動が変わりうることからHi幅が狭いほうが好ましく、クロック信号波形に対する制約となる。
【００４２】
本発明は、これらの従来の問題点に着目したものであり、その目的は、ＡＳＩＣ設計との相性がよく、所定期間内のチャタリングを確実に除去することができ、チャタリング除去可能区間を容易に選択できるチャタリング除去回路を提供することにある。
【課題を解決するための手段】
【００４３】
このような課題を達成する請求項１の発明は、
入力部にゲートが設けられて出力部にフリップフロップが設けられ入力信号の立ち上がりを検出する立ち上がりエッジ検出部と、
入力部にゲートが設けられて出力部にフリップフロップが設けられ入力信号の立ち下がりを検出する立ち下がりエッジ検出部と、
複数のフリップフロップとこれらフリップフロップの出力信号が入力されるゲートとで構成され前記立ち上がりエッジ検出部の出力信号のエッジを検出して所定のパルスを生成しこのパルスを前記立ち上がりエッジ検出部のフリップフロップに帰還入力するHi信号生成部と、
複数のフリップフロップとこれらフリップフロップの出力信号が入力されるゲートとで構成され前記立ち下がりエッジ検出部の出力信号のエッジを検出して所定のパルスを生成しこのパルスを前記立ち下がりエッジ検出部のフリップフロップに帰還入力するLow信号生成部と、
これらHi信号生成部およびLow信号生成部から生成出力されるパルスに基づき状態が遷移する出力信号を生成し前記立ち上がりエッジ検出部および立ち下がりエッジ検出部の各ゲートに帰還入力するステートマシン部と、
前記Hi信号生成部を構成する複数のフリップフロップの出力信号が入力される第１のゲートと、前記Low信号生成部を構成する複数のフリップフロップの出力信号が入力される第２のゲートと、これら第１および第２のゲートの出力信号と前記ステートマシン部の出力信号に基づき出力信号を生成する第３のゲートとで構成された出力生成部、
からなるチャタリング除去回路である。
【００４４】
請求項２の発明は、請求項１記載のチャタリング除去回路において、
前記Hi信号生成部およびLow信号生成部に接続されるフリップフロップの段数に応じてチャタリング除去可能区間が設定されることを特徴とする。
【００４５】
請求項３の発明は、請求項１または請求項２記載のチャタリング除去回路において、
前記Hi信号生成部およびLow信号生成部に接続されるフリップフロップの段数を連動して切り替えることによりチャタリング除去可能区間を変更するセレクタを設けたことを特徴とする。
【発明の効果】
【００４６】
これらにより、ＡＳＩＣ設計が容易で、所定期間内のチャタリングを確実に除去でき、チャタリング除去可能区間を容易に選択できるチャタリング除去回路を実現できる。
【図面の簡単な説明】
【００４７】
【図１】本発明の一実施例を示すブロック図である。
【図２】図１の立ち上がりエッジ検出部１および立ち下がりエッジ検出部２の動作を説明するタイミングチャートである。
【図３】Hi信号生成部３の動作を説明するタイミングチャートである。
【図４】図１の回路全体の動作を説明するタイミングチャートである。
【図５】入力信号Ｓ１の立ち上がり時にチャタリングが含まれる例の動作を説明するタイミングチャートである。
【図６】本発明に基づくチャタリング除去区間を説明するタイミングチャートである。
【図７】本発明に基づくチャタリング除去区間の長短を説明するタイミングチャートである。
【図８】本発明の他の実施例を示すブロック図である。
【図９】図８の動作を説明するタイミングチャートである。
【図１０】本発明の他の実施例を示すブロック図である。
【図１１】入力信号のパルス幅測定回路の前段に設けられるロジック回路である。
【図１２】図１１の動作を説明するタイミングチャートである。
【図１３】チャタリングが除去された信号を生成するために用いられる従来の回路例図である。
【図１４】図１３の動作を説明するタイミングチャートである。
【図１５】ＳＲラッチを用いた図１３の変形回路である。
【図１６】図１５の動作を説明するタイミングチャートである。
【図１７】ＳＲラッチを用いずにチャタリング除去機能を実現する従来の回路例図である。
【図１８】図１７の動作を説明するタイミングチャートである。
【図１９】図１７の動作を説明する他のタイミングチャートである。
【発明を実施するための最良の形態】
【００４８】
以下、本発明について、図面を用いて説明する。図１は本発明の一実施例を示すブロック図である。図１のチャタリング除去回路は、立ち上がりエッジ検出部１と、立ち下がりエッジ検出部２と、Hi信号生成部３と、Low信号生成部４と、ステートマシン部５と、出力生成部６とで構成されている。
【００４９】
入力信号Ｓ１は、０(Lowレベル、以降Lowともいう）／１(Highレベル、以降Hiともいう）間のトグル時に、チャタリングが発生する場合があると想定する。この入力信号Ｓ１は立ち上がりエッジ検出部１を介してHi信号生成部３に入力されるとともに、立ち下がりエッジ検出部２を介してLow信号生成部４にも入力される。そして、Hi信号生成部３とLow信号生成部４は、ステートマシン部５に接続されるとともに出力生成部６にも接続されている。
【００５０】
これらにより、以下に説明するように、出力生成部６から、チャタリングが除去された出力信号Ｓ２が出力されることになる。
【００５１】
立ち上がりエッジ検出部１はゲートＧ１とフリップフロップＦＦ１とで構成され、立ち下がりエッジ検出部２はゲートＧ２とフリップフロップＦＦ２とで構成され、Hi信号生成部３は３個のフリップフロップＦＦ３〜ＦＦ５とゲートＧ３とで構成され、Low信号生成部４は３個のフリップフロップＦＦ６〜ＦＦ８とゲートＧ４とで構成され、出力生成部６は３個のゲートＧ５〜Ｇ７で構成されている。
【００５２】
立ち上がりエッジ検出部１を構成するゲートＧ１の一方の入力端子には入力信号Ｓ１が入力されて、他方の入力端子にはステートマシン部５の出力信号Ｓ５が入力され、出力信号ＳＧ１はフリップフロップＦＦ１のクロック端子に入力されている。フリップフロップＦＦ１のデータ入力端子はHiレベルに固定されて、出力信号ＳＦ１はHi信号生成部３の入力端子に入力されるとともに出力生成部６を構成するゲートＧ５の第１の入力端子に入力され、非同期のリセット端子ＲはHi信号生成部３を構成するゲートＧ３の出力端子に接続されている。
【００５３】
立ち下がりエッジ検出部２を構成するゲートＧ２の一方の入力端子には入力信号Ｓ１が入力され、他方の入力端子にはステートマシン部５の出力信号Ｓ５が入力され、出力信号ＳＧ２はフリップフロップＦＦ２のクロック端子に入力されている。フリップフロップＦＦ２のデータ入力端子はHiレベルに固定され、出力信号ＳＦ２はLow信号生成部４の入力端子に入力されるとともに出力生成部６を構成するゲートＧ６の第１の入力端子に入力され、非同期のリセット端子ＲはLow信号生成部４を構成するゲートＧ４の出力端子に接続されている。
【００５４】
Hi信号生成部３を構成するフリップフロップＦＦ３の出力信号ＳＦ３は、フリップフロップＦＦ４およびＦＦ５のデータ入力端子に入力されるとともに出力生成部６を構成するゲートＧ５の第２の入力端子に入力されている。フリップフロップＦＦ４の出力信号ＳＦ４はゲートＧ３の一方の入力端子に入力され、フリップフロップＦＦ５の出力信号ＳＦ５はゲートＧ３の他方の入力端子に入力されるとともに出力生成部６を構成するゲートＧ５の第３の入力端子に入力されている。
【００５５】
Low信号生成部４を構成するフリップフロップＦＦ６の出力信号ＳＦ６は、フリップフロップＦＦ７およびＦＦ８のデータ入力端子に入力されるとともに出力生成部６を構成するゲートＧ６の第２の入力端子に入力されている。フリップフロップＦＦ７の出力信号ＳＦ７はゲートＧ４の一方の入力端子に入力され、フリップフロップＦＦ８の出力信号ＳＦ８はゲートＧ４の他方の入力端子に入力されるとともに出力生成部６を構成するゲートＧ６の第３の入力端子に入力されている。
【００５６】
ステートマシン部５は、stat＝０およびstat＝１の２つの内部状態を持つものであり、クロックＣＬＫの立ち上がりエッジで内部状態を更新する。状態stat＝０の間は出力信号Ｓ５として０を出力し、状態stat＝１の間は出力信号Ｓ５として１を出力する。
【００５７】
なお、出力信号Ｓ５は、出力生成部６を構成するゲートＧ７の第２の入力端子に入力されるとともに、前述のように立ち上がりエッジ検出部１を構成するゲートＧ１の他方の入力端子および立ち下がりエッジ検出部２を構成するゲートＧ２の他方の入力端子に入力されている。
【００５８】
状態stat＝０のときにedger入力（信号ＳＧ３)が１になると状態stat＝１に遷移し、状態stat＝１の時にedgef入力（信号ＳＧ４)が１になると状態stat＝０に遷移する。これ以外の状態／入力の組み合わせに対しては現状を維持する。
【００５９】
なお、Hi信号生成部３を構成する３個のフリップフロップＦＦ３〜ＦＦ５のクロック端子と、Low信号生成部４を構成する３個のフリップフロップＦＦ６〜ＦＦ８のクロック端子と、ステートマシン部５のクロック端子には、クロック発生部７からクロックＣＬＫが入力されている。
【００６０】
図２（Ａ）は立ち上がりエッジ検出部１の動作を説明するタイミングチャート、（Ｂ）は立ち下がりエッジ検出部２の動作を説明するタイミングチャートである。
【００６１】
（ａ）立ち上がりエッジ検出部１において、ステートマシン部５の出力信号Ｓ５がLowの時、入力信号Ｓ１の立ち上がりエッジによりフリップフロップＦＦ１の出力信号ＳＦ１がHiに遷移する。
（ｂ）以降、ゲートＧ３の出力信号ＳＧ３がHiになるまで、フリップフロップＦＦ１の出力信号ＳＦ１はHiに固定される。
（ｃ）ゲートＧ３の出力信号ＳＧ３がHiになると、フリップフロップＦＦ１の出力信号ＳＦ１はLowに固定される。
【００６２】
（ｄ）ゲートＧ３の出力信号ＳＧ３がLowに戻ると、再びステートマシン部５の出力信号Ｓ５がLowの時の入力信号Ｓ１の立ち上がりエッジを待機する状態となる。
（ｅ）ステートマシン部５の出力信号Ｓ５がHiの時は、入力信号Ｓ１に立ち上がりエッジがあってもフリップフロップＦＦ１の出力信号ＳＦ１は変化しない。
【００６３】
（ａ）立ち下がりエッジ検出部２において、ステートマシン部５の出力信号Ｓ５がHiの時、入力信号Ｓ１の立ち下がりエッジによりフリップフロップＦＦ２の出力信号ＳＦ２がHiに遷移する。
（ｂ）以降、ゲートＧ４の出力信号ＳＧ４がHiになるまで、フリップフロップＦＦ２の出力信号ＳＦ２はHiに固定される。
（ｃ）ゲートＧ４の出力信号ＳＧ４がHiになると、フリップフロップＦＦ２の出力信号ＳＦ２はLowに固定される。
【００６４】
（ｄ）ゲートＧ４の出力信号ＳＧ４がLowに戻ると、再び信号Ｓ５がHiの時の入力信号Ｓ１の立ち下がりエッジによりHiに遷移するのを待機する状態となる。
（ｅ）ステートマシン部５の出力信号Ｓ５がLowの時は、入力信号Ｓ１に立ち下がりエッジがあってもフリップフロップＦＦ２の出力信号ＳＦ２は変化しない。
【００６５】
図３は、Hi信号生成部３の動作を説明するタイミングチャートである。
（ａ）フリップフロップＦＦ３,ＦＦ４はクロックＣＬＫの立ち上がりエッジでその出力信号ＳＦ３，ＳＦ４を更新する。
（ｂ）フリップフロップＦＦ５はクロックＣＬＫの立ち下がりエッジでその出力信号ＳＦ５を更新する。
（ｃ）フリップフロップＦＦ１の出力信号ＳＦ１はクロックＣＬＫに対して非同期で変化する信号であるため、フリップフロップＦＦ３はいわゆる同期化フリップフロップとして動作する。
【００６６】
（ｄ）フリップフロップＦＦ４,ＦＦ５およびゲートＧ３により、立ち上がりエッジを検出するためのパルス生成回路を構成する。ゲートＧ３の出力信号ＳＧ３には、フリップフロップＦＦ１の出力信号ＳＦ１の立ち上がりに対して、クロックＣＬＫの半周期の幅を有する１パルスが現れる。
【００６７】
なお、Low信号生成部４は、入力信号と出力信号が異なるだけで動作はHi信号生成部３と同じであり、説明は省略する。
【００６８】
ステートマシン部５は、状態stat＝０のときにedger入力（ゲートＧ３の出力信号ＳＧ３)が１になると状態stat＝１に遷移する。また状態stat＝１の時にedgef入力（ゲートＧ４の出力信号ＳＧ４)が１になると状態stat＝０に遷移する。これ以外の状態／入力の組み合わせに対しては現状を維持する。
【００６９】
出力生成部６において、ゲートＧ５は、フリップフロップＦＦ１の出力信号ＳＦ１、この信号ＳＦ１をクロックＣＬＫの立ち上がりでサンプリングしたフリップフロップＦＦ３の出力信号ＳＦ３およびこの信号ＳＦ３をクロックＣＬＫの立ち下がりでサンプリングしたフリップフロップＦＦ５の出力信号ＳＦ５の論理和信号ＳＧ５を出力する。
【００７０】
一方、ゲートＧ６は、フリップフロップＦＦ１の出力信号ＳＦ２、この信号ＳＦ２をクロックＣＬＫの立ち上がりでサンプリングしたフリップフロップＦＦ６の出力信号ＳＦ６およびこの信号ＳＦ６をクロックＣＬＫの立ち下がりでサンプリングしたフリップフロップＦＦ８の出力信号ＳＦ８の論理和信号ＳＧ６を出力する。
【００７１】
そして、ゲートＧ７は、ゲートＧ５の出力信号ＳＧ５、ゲートＧ６の出力信号ＳＧ６およびステートマシン部５の出力信号Ｓ５から出力信号Ｓ２を生成する。動作の詳細は後述する。
【００７２】
図４は、図１の回路全体の動作を説明するタイミングチャートである。
はじめに、入力信号Ｓ１の立ち上がり時にチャタリングが含まれない例について説明する。
（ａ）ステートマシン部５の出力信号Ｓ５がLowの時、入力信号Ｓ１の立ち上がりエッジによりフリップフロップＦＦ１の出力信号ＳＦ１がHiに遷移する。ステートマシン部５の出力信号Ｓ５がHiの時は、入力信号Ｓ１に立ち上がりエッジがあってもフリップフロップＦＦ１の出力信号ＳＦ１は変化しない。
（ｂ）フリップフロップＦＦ１の出力信号ＳＦ１の立ち上がりエッジはHi信号生成部３により検出され、ゲートＧ３の出力信号ＳＧ３にHiパルスが表れる。
【００７３】
（ｃ）ゲートＧ３の出力信号ＳＧ３のHiパルスが立ち下がるまでの間は、入力信号Ｓ１がどのように変化してもフリップフロップＦＦ１の出力信号ＳＦ１に立ち上がりエッジは表れない。
（ｄ）信号ＳＧ３のHiパルスがステートマシン部５に入力されることで、ステートマシン部５の出力信号Ｓ５がHiに遷移する。
（ｅ）（ａ）の入力信号Ｓ１の立ち上がりからステートマシン部５の出力信号Ｓ５がHiに遷移するまでの間は、立ち下がりエッジ検出部２の出力であるフリップフロップＦＦ２の出力信号ＳＦ２はLowに固定される。
【００７４】
（ｆ）ゲートＧ５の出力信号ＳＧ５は、フリップフロップＦＦ３,ＦＦ４,ＦＦ５の出力信号ＳＦ３,ＳＦ４,ＳＦ５の論理和として生成される。出力信号Ｓ２は、ゲートＧ５の出力信号ＳＧ５およびステートマシン部５の出力信号Ｓ５により、ゲートＧ６の出力信号ＳＧ６がHiに遷移まではHiレベルに保持される。
（ｇ）これら（ｃ），（ｅ），（ｆ）から明らかなように、（ａ）に示す入力信号Ｓ１の立ち上がりからステートマシン部５の出力信号Ｓ５がHiに遷移するまでの間は、入力信号Ｓ１がいくらトグルしても、すなわちチャタリングしている状態となっても、出力信号Ｓ２はトグルしない。
【００７５】
次に、入力信号Ｓ１の立ち下がり時にチャタリングが含まれない例について説明する。
（ｈ）ステートマシン部５の出力信号Ｓ５がHiの時、入力信号Ｓ１の立ち下がりエッジによりフリップフロップＦＦ２の出力信号ＳＦ２がHiに遷移する。ステートマシン部５の出力信号Ｓ５がLowの時は、入力信号Ｓ１に立ち下がりエッジがあってもフリップフロップＦＦ２の出力信号ＳＦ２は変化しない。
（ｉ）フリップフロップＦＦ２の出力信号ＳＦ２の立ち上がりエッジはLow信号生成部４により検出され、ゲートＧ４の出力信号ＳＧ４にHiパルスが表れる。
（ｊ）ゲートＧ４の出力信号ＳＧ４のHiパルスが立ち下がるまでの間は、入力信号Ｓ１がどのように変化しても、フリップフロップＦＦ２の出力信号ＳＦ２には立ち上がりエッジは表れない。
【００７６】
（ｋ）ゲートＧ４の出力信号ＳＧ４のHiパルスがステートマシン部５に入力されることで、ステートマシン部５の出力信号Ｓ５がLowに遷移する。
（ｌ）（ｈ）に示す入力信号Ｓ１の立ち上がりからステートマシン部５の出力信号Ｓ５がLowに遷移するまでの間は、立ち上がりエッジ検出部１の出力であるフリップフロップＦＦ１の出力信号ＳＦ１はLowに固定される。
（ｍ）ゲートＧ６の出力信号ＳＧ６は、フリップフロップＦＦ６,ＦＦ７,ＦＦ８の出力信号ＳＦ６,ＳＦ７,ＳＦ８の論理和として生成される。出力信号Ｓ２は、ゲートＧ６の出力信号ＳＧ６およびステートマシン部５の出力信号Ｓ５により、ゲートＧ５の出力信号ＳＧ５がHiに遷移するまではLowレベルを保持する。
（ｎ）これら（ｊ），（ｌ），（ｍ）から明らかなように、（ｈ）に示す入力信号Ｓ１の立ち下がりからステートマシン部５の出力信号Ｓ５がLowに遷移するまでの間は、入力信号Ｓ１がいくらトグルしても、すなわちチャタリングしている状態となっても、出力信号Ｓ２はトグルしない。
【００７７】
図５は、入力信号Ｓ１の立ち上がり時にチャタリングが含まれる例の動作を説明するタイミングチャートである。符号（ａ）〜（ｇ）を付した部分の動作は図４と同様であり、それらの説明は省略する。
【００７８】
入力信号Ｓ１はチャタリングを含んでいるが、（ｇ）の区間に注目すると、以下のようになっている。
１）立ち上がりエッジ検出部１のフリップフロップＦＦ１の出力信号ＳＦ１は一度立ち上がるとHi信号生成部３を構成するゲートＧ３の出力信号ＳＧ３のHiパルスが立ち下がるまでの間は再び立ち上がることはない
２）立ち下がりエッジ検出部２のフリップフロップＦＦ２の出力信号ＳＦ２はステートマシン部５の出力信号Ｓ５がHi信号生成部３を構成するゲートＧ３の出力信号ＳＧ３のHiパルスが立ち下がるまでの間はLowに固定されていることから立ち上がることはない
【００７９】
よって、この区間は、最初に入力信号Ｓ１が立ち上がり、それによりゲートＧ５の出力信号ＳＧ５が立ち上がった以降は、入力信号Ｓ１が何回トグルしても、すなわちチャタリングが発生しても、ステートマシン部５の出力信号Ｓ５、ゲートＧ５の出力信号ＳＧ５およびゲートＧ６の出力信号ＳＧ６は変化しない。
【００８０】
ゲートＧ３の出力信号ＳＧ３におけるHiパルスの立ち下がりは、入力信号Ｓ１の立ち上がりからクロックＣＬＫの２つ目の立ち上がりエッジで発生することから、入力信号Ｓ１のトグルから数えてクロックＣＬＫの２つ目の立ち上がりエッジまでの区間がチャタリング除去期間となることがわかる。
【００８１】
（ｏ）チャタリング除去期間が過ぎた後、入力信号Ｓ１がトグルした場合、ステートマシン部５の出力信号Ｓ５がHiになっていることから、今度は立ち下がりエッジ検出部２のフリップフロップＦＦ２の出力ＳＦ２が立ち上がる。このように、チャタリング除去区間を過ぎた後の入力信号Ｓ１のトグルに対して出力信号Ｓ２が追従して変化する。
【００８２】
これら（ｇ），（ｎ），（ｏ）から、次のことがいえる。
１）入力信号Ｓ１の定常状態が続いた後の最初のトグルから数えてクロックＣＬＫの２つ目の立ち上がりエッジまでの間がチャタリング除去区間となる。
２）入力信号Ｓ１の最初のトグルにより出力信号Ｓ２がトグルする。それ以降は入力信号Ｓ１がトグルしても（チャタリングがあっても）、チャタリング除去区間中は出力信号Ｓ２はトグルしない。
【００８３】
３）チャタリング除去区間経過後は、再び入力信号Ｓ１のトグルにより出力信号Ｓ２がトグルする。
４）チャタリング除去区間の長さは、クロックＣＬＫと入力信号Ｓ１の最初のトグルとのタイミング関係により、最短でクロックＣＬＫの１周期の長さ、最長でクロックＣＬＫの２周期の長さとなる。
【００８４】
図６は、本発明に基づくチャタリング除去区間を説明するタイミングチャートである。図６において、出力信号Ｓ２が入力信号Ｓ１のチャタリングの最初のエッジによりトグルされる時刻ｔ１までは定常状態である。出力信号Ｓ２がトグルされる時刻ｔ１からクロックＣＬＫの２つ目のエッジが立ち上がる時刻ｔ２までの時間はチャタリング除去可能区間内であり、この区間内では入力信号Ｓ１がトグルしても出力信号Ｓ２はトグルされない。
【００８５】
時刻ｔ２以降はチャタリング除去可能区間外になり、時刻ｔ３で入力信号Ｓ１が立ち下がると出力信号Ｓ２はトグルされ、これが最初のエッジになる。そして、出力信号Ｓ２がトグルされる時刻ｔ３からクロックＣＬＫの２つ目のエッジが立ち上がる時刻ｔ４までの時間が再びチャタリング除去可能区間内になり、この区間内では入力信号Ｓ１がトグルしても出力信号Ｓ２はトグルされない。
【００８６】
図７は、本発明に基づくチャタリング除去区間の長短を説明するタイミングチャートである。図７において、出力信号Ｓ２が入力信号Ｓ１のチャタリングの最初のエッジによりトグルされる時刻ｔ１からクロックＣＬＫの２つ目のエッジが立ち上がる時刻ｔ２までのチャタリング除去可能区間Ａは、クロックＣＬＫの立ち上がりエッジの直後に入力信号Ｓ１のチャタリングの最初のエッジが立ち上がってトグルが発生している例である。このチャタリング除去区間ＡはクロックＣＬＫの２周期の長さで最長になる。
【００８７】
これに対し、出力信号Ｓ２が入力信号Ｓ１のチャタリングの最初のエッジによりトグルされる時刻ｔ３からクロックＣＬＫの２つ目のエッジが立ち上がる時刻ｔ４までのチャタリング除去可能区間Ｂは、クロックＣＬＫの立ち上がりエッジの直前に入力信号Ｓ１のチャタリングの最初のエッジが立ち下がってトグルが発生している例である。このチャタリング除去区間ＢはクロックＣＬＫの１周期の長さで最短になる。
【００８８】
このような構成によれば、入力信号Ｓ１のトグルを起点として、クロックＣＬＫの所定周期数の期間、入力信号Ｓ１をマスクする制御信号を生成することから、一定期間内のチャタリングを確実に除去することができる。
【００８９】
そして、ＳＲラッチは使用せず、外部からの特別な信号入力も不要で一般的なクロックで動作可能でクロックツリー生成とも相性が良いことから、ＡＳＩＣへの実装設計も容易に行える。
【００９０】
図８は本発明の他の実施例を示すブロック図であり、図１と共通する部分には同一の符号を付けている。図８において、Hi信号生成部３を構成するフリップフロップＦＦ３の後段にフリップフロップＦＦ９を追加し、Low信号生成部４を構成するフリップフロップＦＦ６の後段にフリップフロップＦＦ１０を追加し、出力生成部６を構成するゲートＧ５,Ｇ６を３入力から４入力に変更している。
【００９１】
フリップフロップＦＦ９の出力信号ＳＦ９は、フリップフロップＦＦ４およびＦＦ５のデータ入力端子に入力されるとともに出力生成部６を構成するゲートＧ５の第３の入力端子に入力されている。
【００９２】
フリップフロップＦＦ１０の出力信号ＳＦ１０は、フリップフロップＦＦ７およびＦＦ８のデータ入力端子に入力されるとともに出力生成部６を構成するゲートＧ６の第３の入力端子に入力されている。
【００９３】
図９は、図８の動作を説明するタイミングチャートである。図８のように構成することにより、チャタリング除去可能区間を図１の構成に比べて１クロック延長できる。
【００９４】
図９において、出力信号Ｓ２が入力信号Ｓ１のチャタリングの最初のエッジによりトグルされる時刻ｔ１からクロックＣＬＫの３つ目のエッジが立ち上がる時刻ｔ２までのチャタリング除去可能区間Ｃは、クロックＣＬＫの立ち上がりエッジの直後に入力信号Ｓ１のチャタリングの最初のエッジが立ち上がってトグルが発生している例である。このチャタリング除去区間ＣはクロックＣＬＫの３周期の長さで最長になる。
【００９５】
これに対し、出力信号Ｓ２が入力信号Ｓ１のチャタリングの最初のエッジによりトグルされる時刻ｔ３からクロックＣＬＫの３つ目のエッジが立ち上がる時刻ｔ４までのチャタリング除去可能区間Ｄは、クロックＣＬＫの立ち上がりエッジの直前に入力信号Ｓ１のチャタリングの最初のエッジが立ち下がってトグルが発生している例である。このチャタリング除去区間ＤはクロックＣＬＫの２周期の長さで最短になる。
【００９６】
図８のブロック図および図９のタイミングチャートに示すように、フリップフロップＦＦ３とフリップフロップＦＦ４の間およびフリップフロップＦＦ６とフリップフロップＦＦ７の間に直列接続するフリップフロップの段数分に応じて、チャタリング除去可能区間が延長される。これら直列接続するフリップフロップの段数は、設定したいチャタリング除去可能区間に応じて０，１，２，３，…と任意に選定すればよい。
【００９７】
なお、出力生成部６のゲートＧ５,Ｇ６の入力端子数も直列接続するフリップフロップの段数に合わせて変更する必要がある。
【００９８】
また、上記各実施例では、出力生成部６のゲートＧ５としてオアゲートを用いる例を示しているが、これに限るものではなく、入力信号Ｓ１の立ち上がりエッジからステートマシン部５の出力信号Ｓ５がHiに切り替わるまでの間、出力信号Ｓ２のHi状態を出力できれば他のゲートの組み合わせであってもよい。
【００９９】
同様に、出力生成部６のゲートＧ６としてオアゲートを用いる例を示しているが、これに限るものではなく、入力信号Ｓ１の立ち下がりエッジからステートマシン部５の出力信号Ｓ５がLowに切り替わるまでの間、出力信号Ｓ２のLow状態を出力できれば他のゲートの組み合わせであってもよい。
【０１００】
Hi信号生成部３のフリップフロップＦＦ４,ＦＦ５、ゲートＧ３およびLow信号生成部４のフリップフロップ ＦＦ７, ＦＦ８、ゲートＧ４はそれぞれ立ち上がり検出パルス生成回路を構成しているが、フリップフロップＦＦ１，ＦＦ２の出力信号ＳＦ１，ＳＦ２の立ち上がりエッジを検出してパルスを生成する回路であれば、どのような構成でもよく、パルス生成のレイテンシおよびパルス幅も任意に設定できる。
【０１０１】
ただし、レイテンシおよびパルス幅により、チャタリング除去可能区間が変化する。具体的には、フリップフロップＦＦ１，ＦＦ２の出力信号ＳＦ１,ＳＦ２からの同期化フリップフロップＦＦ３，ＦＦ６を含めたレイテンシ＋パルス幅がチャタリング除去可能区間となる。
【０１０２】
ステートマシン部５は、次の動作に沿う限り、実装方法や内部状態数は問わない。
１）クロックＣＬＫの立ち上がりエッジで内部状態を更新する。
２）出力信号Ｓ５として状態stat＝０の間はLowを出力し、状態stat＝１の間はHiを出力する。
３）状態stat＝０のときにedger入力（ゲートＧ３の出力信号ＳＧ３)がHiになると状態stat＝１に遷移し、状態stat＝１の時にedgef入力（ゲートＧ４の出力信号ＳＧ４)がHiになると状態stat＝０に遷移し、これ以外の状態／入力の組み合わせに対しては現状を維持する。
【０１０３】
上記各実施例では、立ち上がりエッジ検出部１を構成するフリップフロップＦＦ１および立ち下がり検出部２を構成するフリップフロップＦＦ２のデータ入力端子はHiレベルに固定されているが、Lowレベル固定でもよい。その場合は、データ入力がLowレベルに固定されているとすると、フリップフロップＦＦ１，ＦＦ２のクロックの立ち上がりにより、Hi→Lowのレベル変化が発生する。この状態をLowに戻すためには非同期リセット入力ではなく非同期セット入力を用いる。そして、Hi→Lowのレベル変化を検出するために立ち下がり検出パルス生成回路を用いる。
【０１０４】
図１０も本発明の他の実施例を示すブロック図であり、図８と共通する部分には同一の符号を付けている。図１０において、Hi信号生成部３を構成するフリップフロップＦＦ９の後段にフリップフロップＦＦ３の出力信号ＳＦ３とフリップフロップＦＦ９の出力信号ＳＦ９を選択してフリップフロップＦＦ４およびＦＦ５のデータ入力端子に入力するセレクタＳＥＬ１を設け、Low信号生成部４を構成するフリップフロップＦＦ１０の後段にフリップフロップＦＦ６の出力信号ＳＦ６とフリップフロップＦＦ１０の出力信号ＳＦ１０を選択してフリップフロップＦＦ７およびＦＦ８のデータ入力端子に入力するセレクタＳＥＬ２を設けたものである。
【０１０５】
これらセレクタＳＥＬ１，ＳＥＬ２はセレクト信号Ｓselに応じて連動駆動され、それぞれいずれかのフリップフロップの出力信号を選択して後段に出力する。すなわち、セレクタＳＥＬ１はフリップフロップＦＦ３の出力信号ＳＦ３またはフリップフロップＦＦ９の出力信号ＳＦ９を選択してフリップフロップＦＦ４およびＦＦ５のデータ入力端子に入力し、セレクタＳＥＬ２はフリップフロップＦＦ６の出力信号ＳＦ６またはフリップフロップＦＦ１０の出力信号ＳＦ１０を選択してフリップフロップＦＦ７およびＦＦ８のデータ入力端子に入力する。
【０１０６】
セレクタＳＥＬ１がフリップフロップＦＦ３の出力信号ＳＦ３を選択してフリップフロップＦＦ４およびＦＦ５のデータ入力端子に入力し、セレクタＳＥＬ２がフリップフロップＦＦ６の出力信号ＳＦ６を選択してフリップフロップＦＦ７およびＦＦ８のデータ入力端子に入力する状態は実質的に図１の実施例回路と等しくなる。したがって、図７のタイミングチャートで示したように、クロックＣＬＫの２周期の長さを有する最長のチャタリング除去区間Ａと、クロックＣＬＫの１周期の長さを有する最短のチャタリング除去区間Ｂを設定できる。
【０１０７】
セレクタＳＥＬ１がフリップフロップＦＦ９の出力信号ＳＦ９を選択してフリップフロップＦＦ４およびＦＦ５のデータ入力端子に入力し、セレクタＳＥＬ２がフリップフロップＦＦ１０の出力信号ＳＦ１０を選択してフリップフロップＦＦ７およびＦＦ８のデータ入力端子に入力する状態は実質的に図８の実施例回路と等しくなる。したがって、図９のタイミングチャートで示したように、クロックＣＬＫの３周期の長さを有する最長のチャタリング除去区間Ｃと、クロックＣＬＫの２周期の長さを有する最短のチャタリング除去区間Ｄを設定できる。
【０１０８】
このように、セレクト信号Ｓselの切替に応じてHi信号生成部３およびLow信号生成部４内における立ち上がり検出パルス生成のレイテンシが変化することになり、セレクト信号Ｓselの切替に応じてチャタリング除去可能区間の長さを制御できる。
【０１０９】
図１０の実施例によれば、入力信号Ｓ１の状況に応じて、チャタリング除去可能区間の長さを切替調整できる。
【０１１０】
なお、Hi信号生成部３およびLow信号生成部４内のフリップフロップの段数およびセレクタＳＥＬ１,ＳＥＬ２の入力端子数は必要に応じて増減すればよく、チャタリング除去可能区間の選択肢を２以上に拡張することが可能である。
【０１１１】
以上説明したように、本発明によれば、ＡＳＩＣ設計との相性がよく、所定期間内のチャタリングを確実に除去することができ、さらにチャタリング除去区間を容易に選択できるチャタリング除去回路を提供することができ、たとえばトグル時に発生するチャタリングに起因するデジタル回路の誤動作防止手段として好適である。
【符号の説明】
【０１１２】
１  立ち上がりエッジ検出部
２  立ち下がりエッジ検出部
３  Hi信号生成部
４  Low信号生成部
５  ステートマシン部
６  出力生成部
７  クロック発生部
【図１】
2014068208.tif 000003
【図２】
2014068208.tif 000004
【図３】
2014068208.tif 000005
【図４】
2014068208.tif 000006
【図５】
2014068208.tif 000007
【図６】
2014068208.tif 000008
【図７】
2014068208.tif 000009
【図８】
2014068208.tif 000010
【図９】
2014068208.tif 000011
【図１０】
2014068208.tif 000012
【図１１】
2014068208.tif 000013
【図１２】
2014068208.tif 000014
【図１３】
2014068208.tif 000015
【図１４】
2014068208.tif 000016
【図１５】
2014068208.tif 000017
【図１６】
2014068208.tif 000018
【図１７】
2014068208.tif 000019
【図１８】
2014068208.tif 000020
【図１９】
2014068208.tif 000021