(57)【特許請求の範囲】
【請求項１】
デジタル信号である入力信号の論理の反転に対して直ちに論理を反転させた第１のエッジを含む出力信号を出力し、前記反転の後に所定のクロックと同期して読み込んだ前記デジタル信号の論理に基づいて生成した第２のエッジを含む出力信号を出力するエッジ生成ユニットと、
前記第１のエッジと前記第２のエッジとの間の時間を期間とするエッジ検出信号を生成するエッジ検出信号生成ユニットと、を備えるエッジ検出回路。
【請求項２】
前記第１のエッジと前記第２のエッジとをそれぞれ前記所定のクロックと同期させる同期ユニットをさらに備える、請求項１に記載のエッジ検出回路。
【請求項３】
前記同期ユニットは、
入力された前記第１のエッジの論理と前記第２のエッジの論理とを前記クロックの立ち上がりの時点でそれぞれ読み込んで出力するＤフリップフロップ回路を備える、請求項２に記載のエッジ検出回路。
【請求項４】
前記エッジ生成ユニットは、
自回路の出力信号がロウレベルである場合に前記入力信号がハイレベルに反転すると直ちに前記自回路の出力信号をハイレベルに反転させて前記第１のエッジを生成し、前記入力信号がハイレベルに反転した後の最初の前記クロックの立ち上がりの時点で前記入力信号がロウレベルである場合には前記自回路の出力信号をロウレベルに反転させて前記第２のエッジを生成する第１の回路と、
自回路の出力信号がハイレベルである場合に、前記入力信号がハイレベルに反転した後の最初の前記クロックの立ち上がりの時点で前記入力信号がハイレベルである場合には、前記自回路の出力信号をロウレベルに反転させて前記第２のエッジとして出力する第２の回路と、を備える請求項１乃至３のいずれかに記載のエッジ検出回路。
【請求項５】
前記エッジ生成ユニットは、
自回路の出力信号がハイレベルである場合に、前記入力信号がロウレベルに反転した後の最初の前記クロックの立ち上がりの時点で前記入力信号がロウレベルである場合には、前記自回路の出力信号をロウレベルに反転させて前記第２のエッジとして出力する第１の回路と、
自回路の出力信号がロウレベルである場合に前記入力信号がロウレベルに反転すると直ちに前記自回路の出力信号をハイレベルに反転させて前記第１のエッジを生成し、前記入力信号がロウレベルに反転した後の最初の前記クロックの立ち上がりの時点で前記入力信号がハイレベルである場合には前記自回路の出力信号をロウレベルに反転させて第２のエッジを生成する第２の回路と、を備える請求項１乃至４のいずれかに記載のエッジ検出回路。
【請求項６】
前記第１の回路は前記入力信号がセット入力端子に接続され、データ入力端子が接地され、前記クロックが入力される第１のＲＳ付Ｄフリップフロップ回路であり、
前記第２の回路は前記入力信号が反転されてセット入力端子に接続され、データ入力端子が接地され、クロック入力端子に前記クロックが入力される第２のＲＳ付Ｄフリップフロップ回路である、請求項４又は５に記載されたエッジ検出回路。
【請求項７】
前記エッジ生成ユニットは、
自回路の出力信号がハイレベルである場合に前記入力信号がハイレベルに反転すると直ちに前記自回路の出力信号をロウレベルに反転させて前記第１のエッジを生成し、前記入力信号がハイレベルに反転した後の最初の前記クロックの立ち上がりの時点で前記入力信号がロウレベルである場合には前記自回路の出力信号をハイレベルに反転させて前記第２のエッジを生成する第３の回路と、
自回路の出力信号がロウレベルである場合に、前記入力信号がハイレベルに反転した後の最初の前記クロックの立ち上がりの時点で前記入力信号がハイレベルである場合には、前記自回路の出力信号をハイレベルに反転させて前記第２のエッジとして出力する第４の回路と、を備える請求項１乃至３のいずれかに記載のエッジ検出回路。
【請求項８】
前記エッジ生成ユニットは、
自回路の出力信号がロウレベルである場合に、前記入力信号がロウレベルに反転した後の最初の前記クロックの立ち上がりの時点で前記入力信号がロウレベルである場合には、前記自回路の出力信号をハイレベルに反転させて前記第２のエッジとして出力する第３の回路と、
自回路の出力信号がハイレベルである場合に、前記入力信号がロウレベルに反転すると直ちに出力信号をロウレベルに反転させて前記第１のエッジを生成し、前記入力信号がロウレベルに反転した後の最初の前記クロックの立ち上がりの時点で前記入力信号がハイレベルである場合には前記自回路の出力信号をハイレベルに反転させて第２のエッジを生成する第４の回路と、を備える請求項１乃至３のいずれか又は請求項７に記載のエッジ検出回路。
【請求項９】
前記第３の回路は前記入力信号がリセット入力端子に接続され、データ入力端子がハイレベルに固定され、前記クロックが入力される第３のＲＳ付Ｄフリップフロップ回路であり、
前記第４の回路は前記入力信号が反転されてセット入力端子に接続され、データ入力端子が接地され、クロック入力端子に前記クロックが入力される第４のＲＳ付Ｄフリップフロップ回路である、請求項７又は８に記載されたエッジ検出回路。
【請求項１０】
デジタル信号である入力信号の論理の反転に対して直ちに論理を反転させた第１のエッジを含む出力信号を出力し、
前記反転の後に所定のクロックと同期して読み込んだ前記デジタル信号の論理に基づいて生成した第２のエッジを含む出力信号を出力し、
前記第１のエッジと前記第２のエッジとの間の時間を期間とするエッジ検出信号を生成する、エッジ検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された信号の変化を検出するために用いられるエッジ検出回路及びエッジ検出方法に関する。
【背景技術】
【０００２】
一般的に、回路に入力されるデジタル信号がその回路と異なるクロックと同期している場合において、信号の変化を検出するには、入力された信号をその信号が入力される回路のクロックで同期させた上で、信号の変化を検出する必要がある。
【０００３】
図１１は、本願発明に関連するエッジ検出回路を示す図である。図１１に示すエッジ検出回路では、回路に入力された入力クロックで入力信号の変化を検出することで、入力信号の立ち上がりまたは立ち下がりエッジを検出している。
【０００４】
図１１に示すエッジ検出回路は、フリップフロップ（Ｆｌｉｐ−Ｆｌｏｐ、ＦＦ）７００〜７０２及び排他的論理和ゲート（Ｅｘｃｌｕｓｉｖｅ  ＯＲ、ＥＸＯＲ）１５０を備える。ＦＦ７００〜ＦＦ７０２は直列に接続されている。
【０００５】
ＦＦ７００〜ＦＦ７０２は、それぞれの入力端子（Ｄ）に入力されるデータのレベルを、クロックの立ち上がりで検出して出力端子（Ｑ）に出力する。
【０００６】
このような構成を備えたエッジ検出回路は、ＦＦ７０１の出力とＦＦ７０２との排他的論理和を演算することで、クロックに同期したエッジ検出パルスを生成することができる。
【０００７】
図１２は、図１１のエッジ検出回路のタイミングチャートである。
【０００８】
ＦＦ７００に入力された入力信号（Ｓｉｎ）及びＦＦ７０１及びＦＦ７０２への入力信号は、クロック（ＣＬＫ）の立ち上がりでレベルの変化が検出される。このため、図１２において、ＦＦ７００の出力はＱ７００で示されるようにＣＬＫの立ち上がりと同期する。
【０００９】
同様に、ＦＦ７０１及びＦＦ７０２の出力はＱ７０１及びＱ７０２で示されるようにＣＬＫと同期して出力される。
【００１０】
そして、ＥＸＯＲ１５０は、Ｑ７０１とＱ７０２との排他的論理和を出力する。このようにして、図１１に示すエッジ検出回路は、入力信号Ｓｉｎのエッジを検出し、そのエッジに対応するパルスを出力する。
【００１１】
また、本発明に関連する技術が、特許文献１に記載されている。特許文献１は、入力されたデータ信号の立ち上がりと立ち下がりとを検出することで、少ない素子数でエッジ検出を行うエッジ検出回路を記載している。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開昭５９−１２３３１１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかし、図１１で説明したエッジ検出回路には、正しくエッジを検出するためには入力される信号がナイキスト周波数以下、つまりクロックの１／２以下の周波数でなければならないという制限がある。すなわち、入力信号のハイレベル区間、または、ロウレベル区間の幅が、クロック周期よりも長いことが要求される。
【００１４】
入力される信号がナイキスト周波数以下でない場合のタイミングチャートを図１３に示す。図１３においては、入力信号Ｓｉｎのパルス幅がクロック周期よりも短い。この場合に、データの変化している期間がＣＬＫの立ち上がりの周期の間にあると、ＣＬＫの立ち上がりではデータの変化を検出できない。すなわち、入力信号Ｓｉｎの幅がクロック周期よりも短いと、図１１の１段目のＦＦ（ＦＦ７００）の出力が、入力信号のエッジを正しく検出できない場合がある。
【００１５】
このように、図１１で説明したエッジ検出回路には、入力信号が変化しても、その変化のレベルを１段目のＦＦで検出することができなくなり、その結果エッジ検出パルスを生成することができなくなる場合があるという課題がある。そして、特許文献１に記載されたエッジ検出回路の構成は、この課題を解決するための構成を開示していない。
［発明の目的］
本発明の目的は、入力信号のデータ幅がクロック周期よりも狭い場合でも入力信号のエッジを検出するという課題を解決するための技術を提供することにある。
【課題を解決するための手段】
【００１６】
本発明のエッジ検出回路は、デジタル信号である入力信号の論理の反転に対して直ちに論理を反転させた第１のエッジを含む出力信号を出力し、反転の後に所定のクロックと同期して読み込んだデジタル信号の論理に基づいて生成した第２のエッジを含む出力信号を出力するエッジ生成ユニットと、第１のエッジと第２のエッジとの間の時間を期間とするエッジ検出信号を生成するエッジ検出信号生成ユニットと、を備える。
【００１７】
本発明のエッジ検出方法は、デジタル信号である入力信号の論理の反転に対して直ちに論理を反転させた第１のエッジを含む出力信号を出力し、反転の後に所定のクロックと同期して読み込んだデジタル信号の論理に基づいて生成した第２のエッジを含む出力信号を出力し、第１のエッジと第２のエッジとの間の時間を期間とするエッジ検出信号を生成する。
【発明の効果】
【００１８】
本発明は、入力信号のデータ幅がクロック周期よりも狭い場合でも、入力信号のエッジを検出することを可能とするという効果を奏する。
【図面の簡単な説明】
【００１９】
【図１】本発明のエッジ検出回路の第１の実施形態を示す図である。
【図２】第１の実施形態のエッジ検出回路の動作時の波形を示すタイミングチャートである。
【図３】第１の実施形態のエッジ検出回路の動作時の波形を示すタイミングチャートである。
【図４】第１の実施形態のエッジ検出回路の動作時の波形を示すタイミングチャートである。
【図５】第１の実施形態のエッジ検出回路の動作時の波形を示すタイミングチャートである。
【図６】本発明のエッジ検出回路の第２の実施形態を示す図である。
【図７】第２の実施形態のエッジ検出回路の動作時の波形を示すタイミングチャートである。
【図８】第２の実施形態のエッジ検出回路の動作時の波形を示すタイミングチャートである。
【図９】第２の実施形態のエッジ検出回路の動作時の波形を示すタイミングチャートである。
【図１０】第２の実施形態のエッジ検出回路の動作時の波形を示すタイミングチャートである。
【図１１】本願発明に関連するエッジ検出回路を示す図である。
【図１２】本願発明に関連するエッジ検出回路のタイミングチャートを示す図である。
【図１３】本願発明に関連するエッジ検出回路のタイミングチャートを示す図である。
【発明を実施するための形態】
【００２０】
［第１の実施形態］
次に、本発明の実施形態について図面を参照して詳細に説明する。
【００２１】
図１は、本発明のエッジ検出回路の第１の実施形態を示す図である。図１に示すエッジ検出回路１０は、ＲＳ（ｒｅｓｅｔ−ｓｅｔ）付Ｄフリップフロップ（以下、「ＲＳ付ＦＦ」という。）１００、２００及びリセット付Ｄフリップフロップ（以下、「Ｒ付ＦＦ」という。）１０１、１０２、２０１及び２０２を備える。また、エッジ検出回路１０は、ＡＮＤゲート１２０、１２１、１２２、インバータ（Ｉｎｖｅｒｔｅｒ、ＩＮＶ）１４０を備える。
【００２２】
ＡＮＤゲート１２０は、Ｒ付ＦＦ１０２及び２０２の出力Ｑの論理積演算を行い、入力データのレベル変化を検出する信号を出力する。ＡＮＤゲート１２１及びＡＮＤゲート１２２は、ＲＳ付ＦＦ１００、２００の禁止入力であるセットとリセットとが同時にアクティブとなる状態を防ぐために設けられている。
【００２３】
エッジ検出回路１０では、入力信号のレベル（ハイレベル又はロウレベル）がＲＳ付ＦＦ１００及び２００にセットされる。そして、エッジ検出回路１０は、ＲＳ付ＦＦにセットされたレベルを、入力クロックで検出することによりエッジパルスを出力する。
［第１の実施形態の動作の説明］
図１を用いて第１の実施形態のエッジ検出回路の構成及び動作を説明する。
【００２４】
ＲＳ付ＦＦ１００は、セット入力端子Ｓ、リセット入力端子Ｒ、データ入力端子Ｄ、クロック入力端子Ｃ、データ出力端子Ｑを備える。
【００２５】
エッジ検出回路１０でエッジを検出される入力信号Ｓｉｎは、ＡＮＤゲート１２１を経由してＲＳ付ＦＦ１００のセット入力端子Ｓに接続されている。リセット入力端子Ｒには、リセット信号が接続されている。データ入力端子Ｄは、ＧＮＤ（接地電位）に接続されている。クロック入力端子Ｃには、クロックが接続されている。
【００２６】
ここで、ＲＳ付ＦＦ１００及び２００は、一般にはデータ入力、データ出力、クロック入力、プリセット（ＰＲ）端子及びクリア（ＣＬＲ）端子を備えたＤフリップフロップ（以下、「ＰＲ／ＣＬＲ付ＦＦ」という。）を用いて実現できる。
【００２７】
ＰＲ／ＣＬ付ＦＦは、ＣＬＲ端子をハイレベルに固定した状態で、ＰＲ端子がロウレベルになると直ちにデータ出力にロウレベルを出力する。そして、ＰＲ端子がハイレベルになるとクロックの立ち上がりに同期してデータ入力のレベルをデータ出力に出力する。
【００２８】
また、ＰＲ／ＣＬＲ付ＦＦは、ＰＲ端子をハイレベルに固定した状態で、ＣＬＲ端子がロウレベルになると直ちにデータ出力にハイレベルを出力する。また、ＣＬＲ端子がハイレベルになるとクロックの立ち上がりに同期してデータ入力のレベルをデータ出力に出力する。
【００２９】
第１の実施形態で用いられるＲＳ付ＦＦ１００及び２００は、例えばこのようなＰＲ／ＣＬＲ付ＦＦにおいて、ＰＲ端子をリセット入力として用い、ＣＬＲ端子を負論理動作でセット入力として用いることで実現できる。
【００３０】
また、Ｒ付ＦＦ１０１、１０２、２０１及び２０２は、例えばＰＲ／ＣＬＲ付ＦＦにおいて、ＣＬＲ端子をハイレベルに固定し、ＰＲ端子をリセット入力とすることで実現できる。
【００３１】
このように接続することで、入力信号Ｓｉｎがハイレベルになると、ＲＳ付ＦＦ１００は、セット状態となる。セット状態になると、ＲＳ付ＦＦ１００のデータ出力端子Ｄはハイレベルに固定される。すなわち、ＲＳ付ＦＦ１００は、クロックの状態にかかわらず、入力信号がハイレベルになったとき、直ちにハイレベルを出力する。
【００３２】
そして、入力データがハイレベルでなくなったとき、すなわちロウレベルになったときに、ＲＳ付ＦＦ１００のセット条件は無効となる。そして、セット条件が無効となると、ＲＳ付ＦＦ１００は、直後のクロックの立ち上がりにて、ＲＳ付ＦＦ１００のデータ出力端子Ｑにデータ入力端子Ｄの値、つまり、ロウレベルを出力する。
【００３３】
一方、ＲＳ付ＦＦ２００も、セット入力端子Ｓ、リセット入力端子Ｒ、データ入力端子Ｄ、クロック入力端子Ｃ、データ出力端子Ｑを備える。
【００３４】
エッジ検出回路１０において、入力データＳｉｎは、インバータ回路（ＩＮＶ）１４０を経由し、ＲＳ付ＦＦ２００のセット信号端子Ｓに接続される。リセット入力端子Ｒには、リセット信号が接続されている。データ入力端子Ｄは、ＧＮＤに接続されている。クロック入力端子Ｃには、クロックが接続されている。
【００３５】
このように接続することで、入力データＳｉｎがロウレベルになったとき、ＲＳ付ＦＦ２００のセット信号端子Ｓはハイレベルとなる。従って、ＲＳ付ＦＦ２００はセット状態となり、クロックの状態にかかわらず、ＲＳ付ＦＦ２００はデータ出力端子Ｑに直ちにハイレベルを出力する。入力信号Ｓｉｎがロウレベルでなくなった場合、つまりハイレベルになった場合は、ＲＳ付ＦＦ２００のセット条件は無効となる。そして、ＲＳ付ＦＦ２００は、セット条件が無効となった直後のクロックの立ち上がりにおいて、データ入力端子Ｄの値、つまり、ロウレベルをデータ出力端子Ｑに出力する。
【００３６】
Ｒ付ＦＦ１０１及び１０２は、リセット付ＦＦである。Ｒ付ＦＦ１０１及び１０２は、ＲＳ付ＦＦ１００の出力を自己のクロックに同期させるように、直列に接続されている。このような接続により、Ｒ付ＦＦ１０１及び１０２における２回の立ち上がりクロックエッジによる同期手順を経て後段のＡＮＤゲート１２０の入力信号にデータが反映される。
【００３７】
同様に、Ｒ付ＦＦ２０１及び２０２は、Ｒ付ＦＦ２００の出力信号を自己のクロックにて同期化させるために、直列に接続されている。このような接続により、２回の立ち上がりクロックエッジを経て後段のＡＮＤゲート１２０の入力信号にデータが反映される。
【００３８】
最後に、ＡＮＤゲート１２０により、Ｒ付ＦＦ１０２及び２０２の出力信号の論理積の演算が行われる。この演算結果である出力信号Ｓｏｕｔが、エッジ検出有無を示す信号となる。
【００３９】
図２〜図５は、図１に示すエッジ検出回路の動作時の波形を示すタイミングチャートである。まず、図２を参照しながら動作を説明する。図２において、Ｑ１００、Ｑ１０１等は、それぞれＲＳ付ＦＦ１００、Ｒ付ＦＦ１０１等のデータ出力端子Ｑの出力信号を示す。
【００４０】
初期状態として、ＲＳ付ＦＦ１００はセット状態でないとする。すなわち、初期状態のとき、入力信号Ｓｉｎがロウレベルであるとする。ＲＳ付ＦＦ１００がセット状態でない場合、ＲＳ付ＦＦ１００は、データ入力端子Ｄの値を出力する。そして、エッジ検出回路１０においては、ＲＳ付ＦＦ１００のデータ入力端子Ｄはロウレベルに固定されているので、ＲＳ付ＦＦ１００のデータ出力端子Ｑは、初期状態ではＱ１００としてロウレベルを出力する。
【００４１】
一方、入力信号Ｓｉｎがロウレベルである場合、ＲＳ付ＦＦ２００のセット信号Ｓはハイレベルとなる。すなわち、ＲＳ付ＦＦ２００の初期状態はセット状態となっている。従って、ＲＳ付フリップフロップＦＦ２００の出力端子Ｑは、初期状態ではハイレベルの信号Ｑ２００を出力する。
【００４２】
上記の初期状態において、入力信号Ｓｉｎが、ロウレベルからハイレベルになった場合、ＦＦ１００はセット状態となる。このとき、Ｒ付ＦＦ１００のデータ出力端子Ｑから出力される信号Ｑ１００は、直ちにハイレベルに変化する。そして、その後のクロックエッジ毎に、Ｒ付ＦＦ１０１及び１０２の出力信号であるＱ１０１及びＱ１０２がロウレベルからハイレベルに変化していく。
【００４３】
一方、ＲＳ付ＦＦ２００は、入力データＳｉｎが、ロウレベルからハイレベルになった場合、セット状態が解除される。セット状態が解除されると、ＲＳ付ＦＦ２００は、解除後の最初の立ち上がりクロックエッジにて、データ出力端子Ｑに、データ入力端子Ｄの値を出力する。つまり、ＲＳ付ＦＦ２００の出力信号Ｑ２００は、入力信号Ｓｉｎがロウレベルからハイレベルになった後の最初のクロックエッジにて、ロウレベルに変化する。そして、その後のクロックエッジ毎に、Ｒ付ＦＦ２０１及び２０２の出力信号であるＱ２０１及びＱ２０２がハイレベルからロウレベルに変化する。
【００４４】
最後に、ＡＮＤゲート１２０は、Ｒ付ＦＦ１０２のデータ出力端子Ｑから出力される信号Ｑ１０２と、Ｒ付ＦＦ２０２のデータ出力端子Ｑから出力される信号Ｑ２０２との論理積を演算する。その結果、ＡＮＤゲート１２０からエッジ検出有無を示す信号Ｓｏｕｔが出力される。
【００４５】
以上のように、第１の実施形態のエッジ検出回路の図２に示す動作では、ＲＳ付ＦＦ１００がセット状態でない場合、すなわち入力信号Ｓｉｎがロウレベルの場合は、入力信号Ｓｉｎの立ち上りエッジにてＲＳ付ＦＦ１００がセット状態となる。従って、出力Ｑ１００はハイレベルになる。そして、２クロック後にＲ付ＦＦ１０２の出力Ｑ１０２がハイレベルになる。
【００４６】
一方、ＲＳ付ＦＦ２００の出力は、セット状態が解除された後は、次の立ち上がりクロックエッジがくるまでハイレベルを維持することになる。このため、Ｒ付ＦＦ２０２の出力Ｑ２０２は、Ｓｉｎの変化後、３クロック後にハイレベルからロウレベルとなる。
【００４７】
すなわち、入力信号Ｓｉｎがロウレベルの場合は、Ｓｉｎの変化後、２クロック後の立ち上がりクロックエッジでＱ１０２がロウレベルからハイレベルになり、３クロック後の立ち上がりクロックエッジでＱ２０２がハイレベルからロウレベルになる。従って、Ｓｉｎの変化後２クロック後の立ち上がりクロックエッジと３クロック後の立ち上がりクロックエッジとの間でＱ１０２とＱ２０２とが同時にハイレベルとなる区間の論理積をとることにより、エッジ検出パルスが生成される。
【００４８】
次に、図３を用いて、入力信号のパルス幅がクロックの周期よりも小さい場合、たとえば入力信号の周波数がクロック周波数の１／２であるような場合でも、エッジ検出回路１０は入力信号のエッジを検出することが可能であることを示す。
【００４９】
図３は、第１の実施形態のエッジ検出回路において、入力信号のパルス幅が、クロック周期の１／２で１パルスのみの場合の波形を示すタイミングチャートである。
【００５０】
図３において、初期状態は図２で説明した場合と同様である。すなわち、初期状態において、ＲＳ付ＦＦ１００はセット状態でなく、ＲＳ付ＦＦ２００は、セット状態となっている。入力信号Ｓｉｎのハイレベルの期間は、クロック周期の１／２となっている。
【００５１】
図３においても、エッジ検出回路の各ＦＦの動作は図２で説明した場合と同様である。
【００５２】
初期状態において、ＲＳ付ＦＦ１００は、データ入力端子Ｄの値を出力する。ＲＳ付ＦＦ１００のデータ入力端子Ｄはロウレベルに固定されているので、ＲＳ付ＦＦ１００のデータ出力端子Ｑが出力する信号Ｑ１００は、初期状態ではロウレベルである。
【００５３】
一方、ＲＳ付ＦＦであるＦＦ２００の初期状態はセット状態となっているので、ＲＳ付ＦＦ２００の出力端子Ｑ２００は、初期状態ではハイレベルの信号を出力する。
【００５４】
上記の初期状態において、入力信号Ｓｉｎが、ロウレベルからハイレベルになった場合、ＲＳ付ＦＦ１００はセット状態となる。このとき、ＲＳ付ＦＦ１００の出力信号Ｑ１００は直ちにハイレベルとなる。そして、その後のクロックエッジ毎に、Ｒ付ＦＦ１０１及び１０２の出力であるＱ１０１及びＱ１０２がロウレベルからハイレベルに変化していく。
【００５５】
その後、入力信号Ｓｉｎが、ハイレベルからロウレベルになると、ＲＳ付ＦＦ１００のセット状態が解除される。このとき、ＦＦ１００のデータ出力端子Ｑ１００はハイレベルをそのまま維持する。
【００５６】
そして、Ｓｉｎがロウレベルになった後にクロックが立ち上がると、Ｑ１００はロウレベルとなる。そして、Ｑ１００は、その後のクロックエッジ毎に、Ｒ付ＦＦ１０１及び１０２の出力であるＱ１０１及びＱ１０２をハイレベルからロウレベルに変化させるように伝搬していく。
【００５７】
なお、図３には詳細に記載していないが、ＲＳ付ＦＦ１００の出力Ｑ１００は、Ｓｉｎがロウレベルになった後の最初のクロックの立ち上がりの後、ＲＳ付ＦＦ１００の伝搬遅延時間だけ遅れてハイレベルからロウレベルに変化する。従って、当該クロックの立ち上がりの時点におけるＲ付ＦＦ１０１の入力はハイレベルであり、当該クロックの立ち上がりによってＱ１０１の出力もハイレベルに変化する。ここで、Ｒ付ＦＦ１０１がクロックの立ち上がる直前のＱ１００のレベルをより確実に読み出せるように、ＲＳ付ＦＦ１００の出力Ｑ１００とＲ付ＦＦ１０１の入力との間に遅延回路を挿入してもよい。
【００５８】
一方、ＲＳ付ＦＦ２００には反転したＳｉｎが入力されるので、入力信号Ｓｉｎがロウレベルからハイレベルになった場合、ＲＳ付ＦＦ２００のセット状態が解除される。セット状態が解除されると、ＲＳ付ＦＦ２００は、セット状態解除後の最初の立ち上がりクロックエッジにて、データ出力端子Ｑに、データ入力端子Ｄの値を出力する。しかしながら、図３に示すように、セット解除後の最初の立ち上がりクロックエッジが来る前に、Ｓｉｎは再度ハイレベルからロウレベルに変化すると、ＲＳ付ＦＦ２００への入力信号はロウレベルからハイレベルに変化する。このため、ＲＳ付ＦＦ２００は再びセット状態となる。このため、ＲＳ付ＦＦ２００の出力Ｑ２００は、入力信号Ｓｉｎの変化にかかわらず、セット解除後の最初の立ち上がりクロックエッジが来た後もハイレベルを維持する。従って、Ｑ２００，Ｑ２０１，Ｑ２０２はハイレベルのまま変化しない。
【００５９】
Ｑ２０２がハイレベルのままであるので、図３に示すように、ＡＮＤゲート１２０の出力には、Ｒ付ＦＦ１０２の出力Ｑ１０２の信号がエッジ検出信号としてそのまま出力される。
【００６０】
このように、図３においては入力信号Ｓｉｎのハイレベルの区間が、クロック周期の１／２となっている。このような場合には、第１の実施形態のエッジ検出回路は、Ｓｉｎのロウレベルからハイレベルへの変化及びハイレベルからロウレベルへの変化の両方をＲＳ付ＦＦ１００のみで検出することができる。そして、Ｓ付ＦＦ１０２は、１パルスのロウレベル信号、すなわち、クロック１パルス分のエッジ検出信号Ｓｏｕｔを出力する。
【００６１】
続いて、初期状態としてＲＳ付ＦＦ１００がセット状態である状態、即ち、初期状態のとき入力信号Ｓｉｎがハイレベルである場合について説明する。この場合のタイミングチャートを図４に示す。ＲＳ付フリップフロップＦＦ１００はセット状態であるので、ＲＳ付ＦＦ１００の出力Ｑ１００はハイレベルとなる。一方、ＲＳ付ＦＦ２００はセット状態ではないため、ＲＳ付ＦＦ２００の出力Ｑ２００はデータ入力端子Ｄの値であるロウレベルとなる。
【００６２】
ＲＳ付ＦＦ１００がセット状態、ＲＳ付ＦＦ２００がセット状態でない上記の初期状態において、入力データＳｉｎがハイレベルからロウレベルになった場合、ＲＳ付ＦＦ１００はセット状態が解除され、ＲＳ付ＦＦ２００はセット状態になる。
【００６３】
ＲＳ付ＦＦ１００は、セット状態の解除後の最初のクロックエッジにて、データ出力端子ＱからＱ１００としてロウレベルを出力する。その後はクロックエッジ毎に、Ｒ付ＦＦ１０１及び１０２のデータ出力Ｑ１０１及びＱ１０２がハイレベルからロウレベルに変化していく。
【００６４】
ＲＳ付ＦＦ２００は、初期状態では、セット解除状態であるため、ロウレベルを出力している。しかし、入力信号Ｓｉｎがハイレベルからロウレベルになったと同時に、ＲＳ付ＦＦ２００はセット状態になるので、ＲＳ付ＦＦ２００は直ちにハイレベルを出力する。その後はクロックエッジ毎に、Ｒ付ＦＦ２０１及び２０２のデータ出力Ｑ２０１及びＱ２０２がロウレベルからハイレベルに変化していく。よって、ＡＮＤゲート１２０において、Ｒ付ＦＦ１０２の出力信号Ｑ１０２と、Ｒ付ＦＦ２０２の出力信号Ｑ２０２との論理積をとることにより、ＡＮＤゲート１２０からエッジ検出有無を示す信号Ｓｏｕｔが１パルス出力される。
【００６５】
上記のように、エッジ検出回路１０は、入力信号Ｓｉｎがハイレベルの場合は、入力信号Ｓｉｎの立下りエッジにてＲＳ付ＦＦ２００がセット状態となり出力Ｑ２００がハイレベルになる。そして、２クロック後にＲ付ＦＦ２０２の出力Ｑ２０２がハイレベルになる。一方、ＲＳ付ＦＦ１００の出力はセット状態が解除されたあとは、次の立ち上がりクロックエッジがくるまでハイレベルを維持する。このため、Ｒ付ＦＦ１０２の出力Ｑ１０２は、Ｓｉｎの変化後、３クロック後にハイレベルからロウレベルとなる。
【００６６】
すなわち、入力信号Ｓｉｎがハイレベルの場合は、Ｓｉｎの変化後、２クロック後の立ち上がりクロックエッジでＱ２０２がロウレベルからハイレベルになり、３クロック後の立ち上がりクロックエッジでＱ１０２がハイレベルからロウレベルになる。従って、Ｓｉｎの変化後２クロック後の立ち上がりクロックエッジと３クロック後の間でＱ２０２とＱ１０２とが同時にハイレベルとなる区間の論理積をとることにより、エッジ検出パルスが生成される。
【００６７】
次に、この初期状態で、入力信号のパルス幅が、クロック周期の１／２で１パルスのみの場合についてのタイミングチャートを図５に示す。
【００６８】
図５においても、エッジ検出回路の基本的な動作は図２〜図４で説明した場合と同様である。
【００６９】
初期状態において、ＲＳ付ＦＦ１００はセット状態であるので、Ｑ１００はハイレベルとなる。
【００７０】
一方、ＲＳ付ＦＦ２００の初期状態はセット解除状態となっているので、ＲＳ付ＦＦ２００は、データ入力端子Ｄのレベルであるロウレベルの信号をＱ２００として出力する。
【００７１】
上記の初期状態において、入力信号Ｓｉｎが、ハイレベルからロウレベルになった場合、ＲＳ付ＦＦ１００はセット解除状態となる。
【００７２】
ここで、セット解除状態の継続中にクロックが立ち上がれば、ＲＳ付ＦＦ２００のデータ出力Ｑ２００にはデータ入力端子のロウレベルが現れる。しかし、図５においては、クロックが立ち上がる前に入力信号Ｓｉｎが再度ハイレベルへ反転してしまうので、Ｑ１００のレベルはハイレベルのまま変化しない。このため、Ｑ１０１及びＱ１０２のレベルもハイレベルのまま変化しない。
【００７３】
一方、ＲＳ付ＦＦ２００には反転したＳｉｎが入力されるので、入力信号Ｓｉｎがハイレベルからロウレベルになった場合、ＲＳ付ＦＦ２００はセット状態となる。このとき、ＲＳ付ＦＦ２００のデータ出力端子Ｑ２００は直ちにハイレベルを出力する。そして、その後のクロックエッジ毎に、Ｒ付ＦＦ２０１及び２０２の出力であるＱ２０１及びＱ２０２がロウレベルからハイレベルに変化する。
【００７４】
その後、入力信号Ｓｉｎが、ロウレベルからハイレベルになった場合、ＲＳ付ＦＦ２００のセット状態が解除される。このとき、ＲＳ付ＦＦ２００の出力信号Ｑ２００はハイレベルをそのまま次のクロックの立ち上がりまで維持する。
【００７５】
そして、Ｓｉｎがハイレベルになった後にクロックが立ち上がると、ＲＳ付ＦＦ２００の出力信号Ｑ２００はデータ入力端子Ｄのレベルであるロウレベルとなる。そして、Ｑ２００は、その後の立ち上がりクロックエッジ毎に、Ｒ付ＦＦ２０１及び２０２の出力であるＱ２０１及びＱ２０２の出力をハイレベルからロウレベルに変化させるように伝搬していく。
【００７６】
なお、図５には詳細に記載していないが、ＲＳ付ＦＦ２００の出力Ｑ２００は、Ｓｉｎがハイレベルになった後の最初のクロックの立ち上がりの後、ＲＳ付ＦＦ２００の伝搬遅延時間だけ遅れてハイレベルからロウレベルに変化する。従って、当該クロックの立ち上がりの時点におけるＲ付ＦＦ２０１の入力はハイレベルであり、当該クロックの立ち上がりによってＱ２０１の出力もハイレベルに変化する。ここで、Ｒ付ＦＦ２０１がクロックの立ち上がる直前のＱ２００のレベルをより確実に読み出せるように、ＲＳ付ＦＦ２００の出力Ｑ２００とＲ付ＦＦ２０１の入力との間に遅延回路を挿入してもよい。
【００７７】
Ｑ１０２がハイレベルのままであるので、図５においては、ＡＮＤゲート１２０の出力には、Ｒ付ＦＦ２０２のデータ出力Ｑ２０２の信号がエッジ検出信号としてそのまま出力される。
【００７８】
図５においては入力信号Ｓｉｎのロウレベルの区間が、クロック周期の１／２となっている。このような場合には、第１の実施形態のエッジ検出回路は、Ｓｉｎのハイレベルからロウレベルへの変化及びロウレベルからハイレベルへの変化の両方をＲＳ付ＦＦ２００のみで検出することができる。そして、Ｓ付ＦＦ２０２は、１パルスのロウレベル信号、すなわち、クロック１パルス分のエッジ検出信号Ｓｏｕｔを出力する。
【００７９】
以上説明したように、第１の実施形態のエッジ検出回路は、入力信号Ｓｉｎの立ち上がりまたは立ち下がりエッジが発生すると、エッジ検出パルスＳｏｕｔが出力されるので、エッジを確実に検出することができる。
【００８０】
そして、第１の実施形態のエッジ検出回路は、ＲＳ付ＦＦのセット機能を用いてエッジ変化を直ちに検出した後、エッジ検出回路のクロックで同期化している。この構成により、第１の実施形態のエッジ検出回路は、入力信号のデータ幅がクロック周期よりも狭い場合、すなわちクロックのナイキスト周波数を超えた周波数成分をもつデータのエッジを検出することができるという効果を奏する。
【００８１】
また、第１の実施形態のエッジ検出回路は、サンプリングするクロック周波数を上げることなく、パルス幅が狭い入力信号のエッジを検出することができる。従って、第１の実施形態のエッジ検出回路は、エッジ検出回路の消費電力の増加を抑制できるという効果もある。
［第２の実施形態］
本発明の第２の実施形態について以下に説明する。
【００８２】
図６は本発明に係るエッジ検出回路の第２の実施形態を示す回路図である。第２の実施形態のエッジ検出回路２０は、第１の実施形態で説明したエッジ検出回路１０のセット端子とリセット端子を入れ換え、データ入力端子のレベルをハイレベル固定に変更したものである。
【００８３】
第２の実施形態のエッジ検出回路２０は、ＲＳ付ＦＦ４００、５００、セット付Ｄフリップフロップ（以下、「Ｓ付ＦＦ」という。）４０１、４０２、５０１、５０２を備える。エッジ検出回路２０は、さらに、インバータ（ＩＮＶ）４４０、ＮＯＲゲート４２０、ＡＮＤゲート４２１、ＡＮＤゲート４２２を備えている。
【００８４】
図７〜図１０は、エッジ検出回路２０の動作時の波形を示すタイミングチャートである。まず、図６を参照しながらエッジ検出回路２０の構成及び動作を説明する。
【００８５】
ＲＳ付ＦＦ４００は、セット入力端子Ｓ、リセット入力端子Ｒ、データ入力端子Ｄ、クロック入力端子Ｃ、データ出力信号Ｑを備える。
【００８６】
エッジ検出回路２０でエッジを検出したい入力データＳｉｎは、ＡＮＤゲート４２１経由でＲＳ付ＦＦ４００のリセット入力端子Ｒに接続されている。エッジ検出回路２０では、セット入力端子Ｓには回路のリセット信号が接続され、データ入力端子Ｄはハイレベルに固定され、クロック入力端子Ｃにはエッジ検出回路のクロックが接続されている。
【００８７】
ここで、第１の実施形態におけるＲＳ付ＦＦ１００及び２００と同様に、第２の実施形態で用いられるＲＳ付ＦＦ４００及び５００は、一般にはデータ入力、データ出力、クロック入力、プリセット（ＰＲ）端子及びクリア（ＣＬＲ）端子を備えたＤフリップフロップ（以下、「ＰＲ／ＣＬＲ付ＦＦ」という。）を用いて実現できる。
【００８８】
第１の実施形態においても説明したように、ＰＲ／ＣＬ付ＦＦは、ＣＬＲ端子をハイレベルに固定した状態でＰＲ端子がロウレベルになると直ちにデータ出力にロウレベルを出力する。そして、ＰＲ端子がハイレベルになるとクロックの立ち上がりに同期してデータ入力のレベルをデータ出力に出力する。
【００８９】
また、ＰＲ／ＣＬＲ付ＦＦは、ＰＲ端子をハイレベルに固定した状態でＣＬＲ端子がロウレベルになると直ちにデータ出力にハイレベルを出力する。また、ＣＬＲ端子がハイレベルになるとクロックの立ち上がりに同期してデータ入力のレベルをデータ出力に出力する。
【００９０】
第２の実施形態で用いられるＲＳ付ＦＦ４００及び５００は、このようなＰＲ／ＣＬＲ付ＦＦにおいて、ＣＬＲ端子をリセット入力として用い、ＰＲ端子を負論理動作でセット入力とすることで実現できる。
【００９１】
また、Ｓ付ＦＦ４０１、４０２、５０１及び５０２は、例えばＰＲ／ＣＬＲ付ＦＦにおいて、ＣＬＲ端子をハイレベルに固定し、ＰＲ端子をセット入力とすることで実現できる。
【００９２】
このように接続することで、入力データＳｉｎがハイレベルになった場合、ＲＳ付ＦＦ４００のリセット信号端子Ｒはハイレベルとなる。
【００９３】
ＲＳ付ＦＦ４００のリセット信号端子ＲがハイレベルとなるとＲＳ付ＦＦ４００はリセット状態となる。従って、ＲＳ付ＦＦ４００のリセット信号端子Ｒがハイレベルとなると、ＲＳ付ＦＦ４００は、クロックの状態にかかわらず、直ちにロウレベルを出力する。そして、入力信号がロウレベルになった場合に、リセット条件が無効となる。その結果、直後のクロックの立ち上がりにて、データ入力端子の値、つまり、ハイレベルを出力する。
【００９４】
ＲＳ付ＦＦ５００は、セット入力端子Ｓ、リセット入力端子Ｒ、データ入力端子Ｄ、クロック入力端子Ｃ、データ出力信号Ｑを備える。
【００９５】
入力信号Ｓｉｎは、ＲＳ付ＦＦ５００のリセット入力端子にインバータ（ＩＮＶ）４００及びＡＮＤゲート４２２経由で接続されている。セット入力端子には、回路のリセット信号が接続されている。データ入力端子Ｄはハイレベルに接続され、クロック入力端子Ｃには、回路のクロックが接続される。
【００９６】
ＲＳ付ＦＦ５００は、クロックの状態にかかわらず、入力データＳｉｎがロウレベルになった場合、直ちにロウレベルを出力する。入力信号がロウレベルでなくなった場合、つまりハイレベルになった場合は、リセット条件が無効となり、直後のクロックの立ち上がりにて、データ出力端子Ｑにデータ入力端子Ｄの値、つまり、ハイレベルを出力する。
【００９７】
Ｓ付ＦＦ４０１、４０２は直列に接続され、ＲＳ付ＦＦ４００の出力信号をクロックと同期させながら出力する。このような接続により、２回の立ち上がりクロックエッジを経て後段のＮＯＲゲート４２０にデータが入力される。
【００９８】
同様にＳ付ＦＦ５０１及び５０２は直列に接続されており、ＲＳ付ＦＦ５００の出力信号クロックと同期させながら出力する。このような接続により、２回の立ち上がりクロックエッジを経て後段のＮＯＲゲートＮＯＲ４２０の入力信号にデータが反映される。
【００９９】
最後に、ＮＯＲゲート４２０により、Ｓ付ＦＦ４０２及び５０２の出力信号の反転論理和の演算が行われる。この演算結果である出力信号Ｓｏｕｔが、エッジ検出有無を示す信号となる。
【０１００】
図７〜図１０は、図６に示すエッジ検出回路の動作時の波形を示すタイミングチャートである。
【０１０１】
図７は、Ｓｉｎの初期状態がロウレベルで、この状態からハイレベルに変化する場合のタイミングチャートである。第１の実施形態と同様に、エッジを検出した場合には、Ｓｏｕｔがハイレベルを出力する。
【０１０２】
図７を参照しながら第２の実施形態のエッジ検出回路２０の動作を説明する。図７において、Ｑ４００、Ｑ４０１等は、それぞれＲＳ付ＦＦ４００、Ｒ付ＦＦ４０１のデータ出力端子Ｑの出力を示す。
【０１０３】
初期状態として、ＲＳ付ＦＦ４００はリセット状態でないとする。すなわち、初期状態のとき、入力信号Ｓｉｎがロウレベルであるとする。ＲＳ付ＦＦ４００がリセット状態でない場合、ＲＳ付ＦＦ４００は、データ入力端子Ｄの値を出力する。第２の実施形態においては、ＦＦ４００のデータ入力端子Ｄはハイレベルに固定されているので、ＲＳ付ＦＦ４００のデータ出力Ｑ４００は、初期状態ではハイレベルを出力する。
【０１０４】
一方、入力信号Ｓｉｎがロウレベルである場合、ＲＳ付ＦＦ５００のリセット入力端子Ｒはハイレベルとなる。すなわち、ＲＳ付ＦＦ５００の初期状態はリセット状態となっている。従って、ＲＳ付ＦＦ５００の出力端子Ｑは、初期状態ではロウレベルの信号Ｑ５００を出力する。
【０１０５】
上記の初期状態において、入力信号Ｓｉｎが、ロウレベルからハイレベルになった場合、ＲＳ付ＦＦ４００はリセット状態となる。このとき、ＲＳ付ＦＦ４００のデータ出力端子Ｑの出力信号Ｑ４００は、直ちにロウレベルに変化する。そして、その後のクロックエッジ毎に、Ｓ付ＦＦ４０１及び４０２の出力信号であるＱ４０１及びＱ４０２がハイレベルからロウレベルに変化していく。
【０１０６】
一方、ＲＳ付ＦＦ５００は、入力信号Ｓｉｎが、ロウレベルからハイレベルになった場合、リセット状態が解除される。リセット状態が解除されると、ＲＳ付ＦＦ５００は、解除後の最初の立ち上がりクロックエッジにて、データ出力端子Ｑに、データ入力端子Ｄの値を出力する。つまり、ＲＳ付ＦＦ５００の出力信号Ｑ５００は、入力信号Ｓｉｎがロウレベルからハイレベルになった後の最初のクロックエッジにて、ハイレベルに変化する。そして、その後のクロックエッジ毎に、Ｓ付ＦＦ５０１及び５０２の出力信号であるＱ５０１及びＱ５０２がロウレベルからハイレベルに変化する。
【０１０７】
最後に、ＮＯＲゲート４２０は、Ｓ付ＦＦ４０２のデータ出力端子Ｑから出力される信号Ｑ４０２と、Ｓ付ＦＦ５０２のデータ出力端子Ｑから出力される信号Ｑ５０２との反転論理和を演算する。その結果、ＮＯＲゲート４２０からエッジ検出有無を示す信号Ｓｏｕｔが出力される。
【０１０８】
以上のように、第２の実施形態のエッジ検出回路の図７に示す動作では、ＲＳ付ＦＦ４００がリセット状態でない場合、すなわち入力信号Ｓｉｎがロウレベルの場合は、入力信号Ｓｉｎの立ち上りエッジにてＲＳ付ＦＦ４００がリセット状態となる。従って、出力Ｑ４００はロウレベルになる。そして、２クロック後にＳ付ＦＦ４０２の出力Ｑ５０２がロウレベルになる。
【０１０９】
一方、ＲＳ付ＦＦ５００の出力は、セット状態が解除された後は、次の立ち上がりクロックエッジがくるまでロウレベルを維持することになる。このため、Ｓ付ＦＦ５０２の出力Ｑ５０２は、Ｓｉｎの変化後、３クロック後にロウレベルからハイレベルとなる。
【０１１０】
すなわち、入力信号Ｓｉｎがハイレベルの場合は、Ｓｉｎの変化後、２クロック後の立ち上がりクロックエッジでＱ４０２がハイレベルからロウレベルになり、３クロック後の立ち上がりクロックエッジでＱ５０２がロウレベルからハイレベルになる。従って、Ｓｉｎの変化後２クロック後の立ち上がりクロックエッジと３クロック後の間でＱ５０２とＱ４０２とが同時にロウレベルとなる区間の反転論理和をとることにより、エッジ検出パルスが生成される。
【０１１１】
入力信号の周波数が、クロック周波数と同じで１パルスのみの場合についてのタイミングチャートを図８に示す。エッジ検出してＳｏｕｔがハイレベルを出力している。
【０１１２】
図８は、第２の実施形態のエッジ検出回路において、入力信号のパルス幅が、クロック周期の１／２で１パルスのみの場合の波形を示すタイミングチャートである。
【０１１３】
図８において、初期状態は図７で説明した場合と同様であるとする。すなわち、初期状態において、ＲＳ付ＦＦ４００はリセット状態でなく、ＲＳ付ＦＦ５００は、リセット状態であるとする。そして、入力信号Ｓｉｎのハイレベルの期間は、クロック周期の１／２となっている。
【０１１４】
図８においても、エッジ検出回路の各ＦＦの動作は図７で説明した場合と同様である。
【０１１５】
初期状態において、ＲＳ付ＦＦ４００は、データ入力端子Ｄの値を出力する。ＲＳ付ＦＦ４００のデータ入力端子Ｄはハイレベルに固定されているので、ＲＳ付ＦＦ４００のデータ出力端子Ｑが出力する信号Ｑ４００は、初期状態ではハイレベルである。
【０１１６】
一方、ＲＳ付ＦＦ５００の初期状態はリセット状態となっているので、ＲＳ付ＦＦ５００の出力端子Ｑ５００は、初期状態ではロウレベルの信号を出力する。
【０１１７】
上記の初期状態において、入力信号Ｓｉｎが、ロウレベルからハイレベルになった場合、ＲＳ付ＦＦ４００はリセット状態となる。このとき、ＲＳ付ＦＦ４００の出力信号Ｑ４００は直ちにロウレベルとなる。その後のクロックエッジ毎に、Ｓ付ＦＦ４０１及び４０２の出力であるＱ４０１及びＱ４０２がハイレベルからロウレベルに変化する。
【０１１８】
その後、入力信号Ｓｉｎが、ハイレベルからロウレベルになった場合、ＦＦ４００のリセット状態が解除される。このとき、ＲＳ付ＦＦ４００の出力Ｑ４００はロウレベルをそのまま維持する。
【０１１９】
そして、Ｓｉｎがロウレベルになった後にクロックが立ち上がると、Ｑ４００はハイレベルとなる。そして、Ｑ４００は、その後のクロックエッジ毎に、Ｓ付ＦＦ４０１及び４０２の出力であるＱ４０１及びＱ４０２の出力をロウレベルからハイレベルに変化させるように伝搬していく。
【０１２０】
なお、図８には詳細に記載していないが、ＲＳ付ＦＦ４００の出力Ｑ４００は、Ｓｉｎがロウレベルになった後の最初のクロックの立ち上がりの後、ＲＳ付ＦＦ４００の伝搬遅延時間だけ遅れてロウレベルからハイレベルに変化する。従って、当該クロックの立ち上がりの時点におけるＲ付ＦＦ４０１の入力はロウレベルであり、当該クロックの立ち上がりによってＱ４０１の出力もロウレベルに変化する。ここで、Ｒ付ＦＦ４０１がクロックの立ち上がる直前のＱ４００のレベルをより確実に読み出せるように、ＲＳ付ＦＦ４００の出力Ｑ４００とＲ付ＦＦ４０１の入力との間に遅延回路を挿入してもよい。
【０１２１】
一方、ＲＳ付ＦＦ５００には反転したＳｉｎが入力されるので、入力信号Ｓｉｎがロウレベルからハイレベルになった場合、ＲＳ付ＦＦ５００のリセット状態が解除される。リセット状態が解除されると、ＲＳ付ＦＦ５００は、リセット状態解除後の最初の立ち上がりクロックエッジにて、データ出力端子Ｑに、データ入力端子Ｄの値を出力する。しかしながら、図８においては、セット解除後の最初の立ち上がりクロックエッジが来る前にＲＳ付ＦＦ５００への入力信号はロウレベルからハイレベルに変化し、ＲＳ付ＦＦ５００は再びセット状態となる。このため、ＲＳ付ＦＦ５００の出力Ｑ５００は、入力信号Ｓｉｎの変化にかかわらず、ロウレベルを維持する。従って、図８においては、Ｑ５００，Ｑ５０１，Ｑ５０２はロウレベルのまま変化しない。
【０１２２】
Ｑ５０２がロウレベルのままであるので、ＮＯＲゲート４２０の出力には、Ｓ付ＦＦ４０２の出力Ｑ４０２の信号が反転された信号がエッジ検出信号として出力される。
【０１２３】
図８においては入力信号Ｓｉｎのハイレベルの区間が、クロック周期の１／２となっている。このような場合には、第２の実施形態のエッジ検出回路は、Ｓｉｎのハイレベルからロウレベルへの変化及びロウレベルからハイレベルへの変化の両方をＲＳ付ＦＦ４００のみで検出することができる。そして、Ｓ付ＦＦ４０２は１パルスのロウレベル信号を出力し、ＮＯＲゲート４２０はクロック１パルス分のエッジ検出信号Ｓｏｕｔを出力する。
【０１２４】
次に、初期状態が異なる場合として、ＲＳ付ＦＦ４００がリセット状態である場合、すなわち、初期状態において入力信号Ｓｉｎがハイレベルである場合について説明する。この場合のタイミングチャートを図９に示す。ＲＳ付ＦＦ４００はリセット状態であるので、ＲＳ付ＦＦ４００の出力Ｑ４００はロウレベルとなり、一方ＲＳ付ＦＦ５００は、リセット状態ではない為、ＲＳ付ＦＦ５００の出力Ｑ５００はデータ入力端子Ｄの値、つまりハイレベルとなる。
【０１２５】
ＲＳ付ＦＦ４００がリセット状態、ＲＳ付ＦＦ５００がリセット状態でない上記の初期状態において、入力信号Ｓｉｎがハイレベルからロウレベルになった場合、ＲＳ付ＦＦ４００はリセット状態が解除され、ＲＳ付ＦＦ５００はリセット状態になる。
【０１２６】
ＲＳ付ＦＦ４００は、リセット状態の解除後の最初の立ち上がりクロックエッジにて、データ出力端子Ｑのデータ出力Ｑ４００としてロウレベルを出力する。その後は立ち上がりクロックエッジ毎に、Ｓ付ＦＦ４０１及び４０２のデータ出力Ｑ４０１及びＱ４０２がハイレベルからロウレベルに変化していく。
【０１２７】
ＲＳ付ＦＦ５００は、初期状態では、リセット解除状態のため、ハイレベルを出力している。しかし、入力信号Ｓｉｎがハイレベルからロウレベルになったのと同時に、ＲＳ付ＦＦ５００はリセット状態になるので、ＲＳ付ＦＦ５００は直ちにロウレベルを出力する。その後はクロックエッジ毎に、Ｓ付ＦＦ５０１及び５０２のデータ出力Ｑ５０１及びＱ５０２がハイレベルからロウレベルに変化していく。よって、ＮＯＲゲート４２０において、Ｓ付ＦＦ４０２の出力信号Ｑ４０２と、Ｓ付ＦＦ５０２の出力信号Ｑ５０２との反転論理和をとることにより、ＮＯＲゲート４２０からエッジ検出有無を示す信号Ｓｏｕｔが１パルス出力される。
【０１２８】
以上のように、第２の実施形態のエッジ検出回路の図９に示す動作では、ＲＳ付ＦＦ４００がリセット状態の場合、すなわち入力信号Ｓｉｎがハイレベルの場合は、入力信号Ｓｉｎの立下りエッジにてＲＳ付ＦＦ５００がリセット状態となる。従って、出力Ｑ５００はロウレベルになる。そして、２クロック後にＳ付ＦＦ５０２の出力Ｑ５０２がロウレベルになる。
【０１２９】
一方、ＲＳ付ＦＦ４００の出力は、セット状態が解除された後は、次の立ち上がりクロックエッジがくるまでロウレベルを維持することになる。このため、Ｓ付ＦＦ４０２の出力Ｑ４０２は、Ｓｉｎの変化後、３クロック後にロウレベルからハイレベルとなる。
【０１３０】
すなわち、入力信号Ｓｉｎがハイレベルの場合は、Ｓｉｎの変化後、２クロック後の立ち上がりクロックエッジでＱ５０２がハイレベルからロウレベルになり、３クロック後の立ち上がりクロックエッジでＱ４０２がロウレベルからハイレベルになる。従って、Ｓｉｎの変化後２クロック後の立ち上がりクロックエッジと３クロック後の間でＱ４０２とＱ５０２とが同時にロウレベルとなる区間の反転論理和をとることにより、エッジ検出パルスが生成される。
【０１３１】
次に、この初期状態で、入力信号のパルス幅が、クロック周期の１／２で１パルスのみの場合についてのタイミングチャートを図１０に示す。
【０１３２】
図１０においても、エッジ検出回路の基本的な動作は図７〜図９で説明した場合と同様である。
【０１３３】
初期状態において、ＲＳ付ＦＦ４００はリセット状態であるので、Ｑ４００はロウレベルとなる。
【０１３４】
一方、ＲＳ付ＦＦ５００の初期状態はセット解除状態となっているので、ＲＳ付ＦＦ５００は、データ入力端子のレベルであるハイレベルをＱ５００として出力する。
【０１３５】
上記の初期状態において、入力信号Ｓｉｎが、ハイレベルからロウレベルになった場合、ＲＳ付ＦＦ４００はリセット解除状態となる。
【０１３６】
ここで、リセット解除状態の継続中にクロックが立ち上がれば、ＲＳ付ＦＦ４００のデータ出力Ｑ４００にはデータ入力端子Ｄのハイレベルが現れる。しかし、図１０においては、クロックが立ち上がる前に入力信号Ｓｉｎが再度ハイレベルへ反転してしまうので、Ｑ４００のレベルはロウレベルのまま変化しない。このため、Ｑ４０１及びＱ４０２のレベルもロウレベルのまま変化しない。
【０１３７】
一方、ＦＦ５００には反転したＳｉｎが入力されるので、Ｓｉｎがハイレベルからロウレベルになった場合、ＲＳ付ＦＦ５００はリセット状態となる。このとき、ＲＳ付ＦＦ５００のデータ出力端子Ｑは、直ちにロウレベルを出力する。そして、その後の立ち上がりクロックエッジ毎に、Ｓ付ＦＦ５０１及びＦＦ５０２の出力であるＱ５０１及びＱ５０２がハイレベルからロウレベルに変化する。
【０１３８】
その後、入力信号Ｓｉｎが、ロウレベルからハイレベルになった場合、ＦＦ５００のリセット状態が解除される。このとき、ＦＦ５００の出力信号Ｑ５００はハイレベルをそのまま次のクロックの立ち上がりまで維持する。
【０１３９】
そして、Ｓｉｎがハイレベルになった後にクロックが立ち上がると、ＦＦ５００の出力信号Ｑ５００はデータ入力端子Ｄのレベルであるハイレベルとなる。そして、Ｑ５００は、その後のクロックエッジ毎に、ＦＦ５０１及びＦＦ５０２の出力であるＱ５０１及びＱ５０２の出力をロウレベルからハイレベルに変化させるように伝搬していく。
【０１４０】
なお、図１０には詳細に記載していないが、ＲＳ付ＦＦ５００の出力Ｑ５００は、Ｓｉｎがハイレベルになった後の最初のクロックの立ち上がりの後、ＲＳ付ＦＦ５００の伝搬遅延時間だけ遅れてロウレベルからハイレベルに変化する。従って、当該クロックの立ち上がりの時点におけるＲ付ＦＦ５０１の入力はロウレベルであり、当該クロックの立ち上がりによってＱ５０１の出力もロウレベルに変化する。ここで、Ｒ付ＦＦ５０１がクロックの立ち上がる直前のＱ５００のレベルをより確実に読み出せるように、ＲＳ付ＦＦ５００の出力Ｑ５００とＲ付ＦＦ５０１の入力との間に遅延回路を挿入してもよい。
【０１４１】
一方、Ｑ４０２はロウレベルのままであるので、ＮＯＲゲート４２０の出力には、ＦＦ５０２のデータ出力Ｑ５０２の信号が反転された信号がエッジ検出信号Ｓｏｕｔとして出力される。
【０１４２】
このように、図１０においては入力信号Ｓｉｎのロウレベルの区間が、クロック周期の１／２となっている。このような場合には、第２の実施形態のエッジ検出回路は、Ｓｉｎのハイレベルからロウレベルへの変化及びロウレベルからハイレベルへの変化の両方をＲＳ付ＦＦ５００のみで検出することができる。そして、Ｓ付ＦＦ５０２は、１パルスのロウレベル信号、すなわち、クロック１パルス分のエッジ検出信号Ｓｏｕｔを出力する。
【０１４３】
上記のとおり、第２の実施形態のエッジ検出回路は、第１の実施形態のエッジ検出回路と同様に、ＲＳ付ＦＦ４００及び５００においてクロックを使用せずに入力信号Ｓｉｎの変化を捕捉している。
【０１４４】
また、第２の実施形態のエッジ検出回路は、第１の実施形態のエッジ検出回路と同様に、入力信号のパルス幅がクロックの周期と比べて小さい場合でも入力信号のエッジを検出することが可能である。
【０１４５】
このように、第２の実施形態のエッジ検出回路は、入力信号Ｓｉｎの立ち上がりまたは立ち下がりエッジが発生すると、エッジ検出パルスＳｏｕｔがハイレベルとなり、エッジを確実に検出することができる。
【０１４６】
以上説明したように、第２の実施形態のエッジ検出回路は、ＲＳ付ＦＦのリセット機能を用いてエッジ変化を直ちに検出した後、エッジ検出回路のクロックで同期化している。
【０１４７】
この構成により、第２の実施形態のエッジ検出回路は、入力信号のデータ幅がクロック周期よりも狭い場合、すなわちクロックのナイキスト周波数を超えた周波数成分をもつデータのエッジを検出することができるという効果を奏する。
【０１４８】
また、第２の実施形態のエッジ検出回路は、サンプリングするクロック周波数を上げることなく、パルス幅が狭い入力信号のエッジを検出することができる。従って、第２の実施形態のエッジ検出回路は、エッジ検出回路の消費電力の増加を抑制できるという効果もある。
【０１４９】
なお、第１及び第２の実施形態で説明したエッジ検出回路は、最小構成として以下のようにも記載できる。
【０１５０】
すなわち、第１及び第２の実施形態のエッジ検出回路は、図１において、エッジ生成ユニットと９００と、エッジ検出信号生成ユニット９０１とを備える構成としても実現できる。
【０１５１】
エッジ生成ユニットは、デジタル信号である入力信号の論理の反転に対して、クロックの状態にかかわらず、直ちに論理を反転させた第１のエッジを含む出力信号を出力する。そして、エッジ生成ユニットは、反転の後に所定のクロックと同期して読み込んだデジタル信号の論理に基づいて生成した第２のエッジを含む出力信号を出力する。
【０１５２】
また、エッジ検出信号生成ユニットは、第１のエッジと第２のエッジとの間の時間を期間とするエッジ検出信号を生成する。
【０１５３】
このような構成を備えたエッジ検出回路において、エッジ生成ユニットは、入力信号の立ち上がりまたは立ち下がりエッジが発生すると、エッジ生成ユニットでエッジ変化を直ちに検出し、第１と第２のエッジを生成する。そして、エッジ検出信号生成ユニットは、第１と第２のエッジの間隔を期間とするエッジ検出信号を生成する。
【０１５４】
このように、上記の構成を備えるエッジ検出回路は、クロックの状態にかかわらず直ちに入力信号の変化を検出しているので、入力信号のデータ幅がクロック周期よりも狭い場合でも、データのエッジを検出することができるという効果を奏する。
【０１５５】
このような構成によっても、入力信号の立ち上がりまたは立ち下がりエッジが発生すると、エッジ生成ユニットでエッジ変化を直ちに検出して第１と第２のエッジを生成することができる。そして、第１と第２のエッジの間隔を期間とするエッジ検出信号を生成するエッジ検出信号生成ユニットによって、エッジ検出信号を生成することができる。
【０１５６】
従って、上記の最小構成も、入力信号のデータ幅がクロック周期よりも狭い場合でも、データのエッジを検出することができるという効果を奏する。
【０１５７】
なお、上記の第１及び第２の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１５８】
（付記１）デジタル信号である入力信号の論理の反転に対して直ちに論理を反転させた第１のエッジを含む出力信号を出力し、前記反転の後に所定のクロックと同期して読み込んだ前記デジタル信号の論理に基づいて生成した第２のエッジを含む出力信号を出力するエッジ生成ユニットと、前記第１のエッジと前記第２のエッジとの間の時間を期間とするエッジ検出信号を生成するエッジ検出信号生成ユニットと、を備えるエッジ検出回路。
【０１５９】
（付記２）前記第１のエッジと前記第２のエッジとをそれぞれ前記所定のクロックと同期させる同期ユニットをさらに備える、付記１に記載のエッジ検出回路。
【０１６０】
（付記３）前記同期ユニットは、入力された前記第１のエッジの論理と前記第２のエッジの論理とを前記クロックの立ち上がりの時点でそれぞれ読み込んで出力するＤフリップフロップ回路を備える、付記２に記載のエッジ検出回路。
【０１６１】
（付記４）前記エッジ生成ユニットは、自回路の出力信号がロウレベルである場合に前記入力信号がハイレベルに反転すると直ちに前記自回路の出力信号をハイレベルに反転させて前記第１のエッジを生成し、前記入力信号がハイレベルに反転した後の最初の前記クロックの立ち上がりの時点で前記入力信号がロウレベルである場合には前記自回路の出力信号をロウレベルに反転させて前記第２のエッジを生成する第１の回路と、自回路の出力信号がハイレベルである場合に、前記入力信号がハイレベルに反転した後の最初の前記クロックの立ち上がりの時点で前記入力信号がハイレベルである場合には、前記自回路の出力信号をロウレベルに反転させて前記第２のエッジとして出力する第２の回路と、を備える付記１乃至３のいずれかに記載のエッジ検出回路。
【０１６２】
（付記５）前記エッジ生成ユニットは、自回路の出力信号がハイレベルである場合に、前記入力信号がロウレベルに反転した後の最初の前記クロックの立ち上がりの時点で前記入力信号がロウレベルである場合には、前記自回路の出力信号をロウレベルに反転させて前記第２のエッジとして出力する第１の回路と、自回路の出力信号がロウレベルである場合に前記入力信号がロウレベルに反転すると直ちに前記自回路の出力信号をハイレベルに反転させて前記第１のエッジを生成し、前記入力信号がロウレベルに反転した後の最初の前記クロックの立ち上がりの時点で前記入力信号がハイレベルである場合には前記自回路の出力信号をロウレベルに反転させて第２のエッジを生成する第２の回路と、を備える付記１乃至４のいずれかに記載のエッジ検出回路。
【０１６３】
（付記６）前記第１の回路は前記入力信号がセット入力端子に接続され、データ入力端子が接地され、前記クロックが入力される第１のＲＳ付Ｄフリップフロップ回路であり、前記第２の回路は前記入力信号が反転されてセット入力端子に接続され、データ入力端子が接地され、クロック入力端子に前記クロックが入力される第２のＲＳ付Ｄフリップフロップ回路である、付記４又は５に記載されたエッジ検出回路。
【０１６４】
（付記７）前記エッジ検出信号生成ユニットは、前記第１のエッジを含む出力信号と前記第２のエッジを含む出力信号との論理積を前記エッジ検出信号として出力する、付記１乃至６のいずれかに記載されたエッジ検出回路。
【０１６５】
（付記８）前記エッジ生成ユニットは、自回路の出力信号がハイレベルである場合に前記入力信号がハイレベルに反転すると直ちに前記自回路の出力信号をロウレベルに反転させて前記第１のエッジを生成し、前記入力信号がハイレベルに反転した後の最初の前記クロックの立ち上がりの時点で前記入力信号がロウレベルである場合には前記自回路の出力信号をハイレベルに反転させて前記第２のエッジを生成する第３の回路と、自回路の出力信号がロウレベルである場合に、前記入力信号がハイレベルに反転した後の最初の前記クロックの立ち上がりの時点で前記入力信号がハイレベルである場合には、前記自回路の出力信号をハイレベルに反転させて前記第２のエッジとして出力する第４の回路と、を備える付記１乃至３のいずれかに記載のエッジ検出回路。
【０１６６】
（付記９）前記エッジ生成ユニットは、自回路の出力信号がロウレベルである場合に、前記入力信号がロウレベルに反転した後の最初の前記クロックの立ち上がりの時点で前記入力信号がロウレベルである場合には、前記自回路の出力信号をハイレベルに反転させて前記第２のエッジとして出力する第３の回路と、自回路の出力信号がハイレベルである場合に前記入力信号がロウレベルに反転すると直ちに出力信号をロウレベルに反転させて前記第１のエッジを生成し、前記入力信号がロウレベルに反転した後の最初の前記クロックの立ち上がりの時点で前記入力信号がハイレベルである場合には前記自回路の出力信号をハイレベルに反転させて第２のエッジを生成する第４の回路と、を備える付記１乃至３のいずれか又は付記８に記載のエッジ検出回路。
【０１６７】
（付記１０）前記第３の回路は前記入力信号がリセット入力端子に接続され、データ入力端子がハイレベルに固定され、前記クロックが入力される第３のＲＳ付Ｄフリップフロップ回路であり、前記第４の回路は前記入力信号が反転されてセット入力端子に接続され、データ入力端子が接地され、クロック入力端子に前記クロックが入力される第４のＲＳ付Ｄフリップフロップ回路である、付記８又は９に記載されたエッジ検出回路。
【０１６８】
（付記１１）前記エッジ検出信号生成ユニットは、前記第１のエッジを含む出力信号と前記第２のエッジを含む出力信号との反転論理和を前記エッジ検出信号として出力する、付記１乃至３及び付記８乃至１０のいずれかに記載されたエッジ検出回路。
【０１６９】
（付記１２）デジタル信号である入力信号の論理の反転に対して直ちに論理を反転させた第１のエッジを含む出力信号を出力し、前記反転の後に所定のクロックと同期して読み込んだ前記デジタル信号の論理に基づいて生成した第２のエッジを含む出力信号を出力し、前記第１のエッジと前記第２のエッジとの間の時間を期間とするエッジ検出信号を生成する、エッジ検出方法。
【符号の説明】
【０１７０】
１０、２０  エッジ検出回路
１００、２００、４００、５００  ＲＳ付ＦＦ
１０１、１０２、２０１、２０２  Ｒ付ＦＦ
４０１、４０２、５０１、５０２  Ｓ付ＦＦ
７００、７０１、７０２  ＦＦ
１２０、１２１、１２２、４２１、４２２  ＡＮＤゲート
１４０、４４０  インバータ
１５０  ＥＸＯＲゲート
４２０  ＮＯＲゲート
９００  エッジ生成ユニット
９０１  エッジ検出信号生成ユニット
【図１】
0005519456.tif 000002
【図２】
0005519456.tif 000003
【図３】
0005519456.tif 000004
【図４】
0005519456.tif 000005
【図５】
0005519456.tif 000006
【図６】
0005519456.tif 000007
【図７】
0005519456.tif 000008
【図８】
0005519456.tif 000009
【図９】
0005519456.tif 000010
【図１０】
0005519456.tif 000011
【図１１】
0005519456.tif 000012
【図１２】
0005519456.tif 000013
【図１３】
0005519456.tif 000014