(57)【要約】  第１切り替え部（１０１）は、第１遅延素子（Ｃ１１）に対して、第１入力端子（ＩＮ１）から入力された第１クロック信号（Ｓｉｇｎａｌ）を入力する第１状態と、第２遅延素子（Ｃ２Ｎ）の出力信号を入力する第２状態と、を切り替え可能である。第２切り替え部（１０２）は、第２遅延素子（Ｃ２１）に対して、第２入力端子（ＩＮ２）から入力された第２クロック信号（Ｒｅｆ  ＣＬＫ）を入力する第１状態と、第１遅延素子（Ｃ１Ｎ）の出力信号を入力する第２状態と、を切り替え可能である。制御部（７０１）は、第１および第２切り替え部（１０１，１０２）を第１状態にすることにより２つのクロック信号がそれぞれ第１遅延素子（Ｃ１１〜Ｃ１Ｎ）と第２遅延素子（Ｃ２１〜Ｃ２Ｎ）に取り込まれた後、第１および第２切り替え部を第２状態にする。出力部（ＯＵＴ）は、第２状態でのＦＦ（７１０〜７１Ｎ）に記憶された値をデコードして得られた位相差を出力する。
2013145136.tif 000002
【特許請求の範囲】
【請求項１】
直列に接続された複数の第１遅延素子と、
前記複数の第１遅延素子のそれぞれに対応して設けられ、直列に接続された複数の第２遅延素子と、
前記複数の第１遅延素子の最前段の第１遅延素子への入力信号の値および前記複数の第１遅延素子の各出力信号の値を、それぞれ、前記複数の第２遅延素子の最前段の第２遅延素子への入力信号および前記複数の第２遅延素子の各出力信号に同期して記憶する複数のフリップフロップと、
前記最前段の第１遅延素子に対して、第１入力端子から入力された第１クロック信号を入力する第１状態と、前記複数の第２遅延素子のうちの最後段の第２遅延素子の出力信号を入力する第２状態と、を切り替え可能な第１切り替え部と、
前記最前段の第２遅延素子に対して、第２入力端子から入力された第２クロック信号を入力する第１状態と、前記複数の第１遅延素子のうちの最後段の第１遅延素子の出力信号を入力する第２状態と、を切り替え可能な第２切り替え部と、
前記第１および第２切り替え部を前記第１状態にすることにより前記第１クロック信号と前記第２クロック信号がそれぞれ前記複数の第１遅延素子と前記複数の第２遅延素子に取り込まれた後、前記第１および第２切り替え部を前記第２状態にする制御部と、
前記第２状態において前記複数のフリップフロップに記憶された値をデコードして得られた前記第１クロック信号と前記第２クロック信号との位相差を示す情報を出力する出力部と、
を有することを特徴とする時間対デジタル変換器。
【請求項２】
前記第２切り替え部と前記最前段の第２遅延素子との間に設けられ、遅延量が可変な第３遅延素子を有し、
前記制御部は、
前記第２クロック信号が、前記複数の第２遅延素子、前記第１切り替え部、前記複数の第１遅延素子を通過して前記第２切り替え部を通過した後に、前記第３遅延素子の遅延量を変化させる制御を、少なくとも、前記第３遅延素子の前記第１状態での遅延量に対する増加量の中で、前記複数のフリップフロップに記憶された値をデコードして得られた位相差が前記第１状態での位相差よりも小さくなる最小の増加量を特定するまで行い、
前記第１状態での位相差から前記最小の増加量を減算した位相差を算出し、
前記出力部は、
前記制御部によって算出された位相差を示す情報を出力することを特徴とする請求項１に記載の時間対デジタル変換器。
【請求項３】
前記制御部は、
前記最小の増加量（以下、「最小の第１増加量」と称する。）が特定されてから前記第２クロック信号が前記第２切り替え部を通過した後に、前記第３遅延素子の遅延量を変化させる制御を、少なくとも、前記第１状態での遅延量に対する前記最小の第１増加量よりも多い第２増加量の中で、前記複数のフリップフロップに記憶された値をデコードして得られた位相差が前記最小の第１増加量変化させた状態での位相差よりも小さくなる最小の第２増加量を特定するまで行い、
前記最小の第２増加量から前記最小の第１増加量を減算し、
前記算出された位相差を減算結果に基づいて補正し、
前記出力部は、
前記制御部による補正後の位相差を出力することを特徴とする請求項２に記載の時間対デジタル変換器。
【請求項４】
前記制御部は、
補正後の位相差を前記第１および第２クロック信号の周期によって正規化し、
前記出力部は、
前記制御部による正規化後の位相差を出力することを特徴とする請求項３に記載の時間対デジタル変換器。
【請求項５】
前記第１切り替え部と前記最前段の第１遅延素子との間に設けられ、遅延量が可変な第３遅延素子を有し、
前記制御部は、
前記第１クロック信号が、前記複数の第１遅延素子、前記第２切り替え部、前記複数の第２遅延素子を通過して前記第１切り替え部を通過した後に、前記第３遅延素子の遅延量を変化させる制御を、少なくとも、前記第３遅延素子の前記第１状態での遅延量に対する増加量の中で、前記複数のフリップフロップに記憶された値をデコードして得られた位相差が前記第１状態での位相差よりも小さくなる最小の増加量を特定するまで行い、
前記第１状態での位相差から前記最小の増加量を減算した位相差を算出し、
前記出力部は、
前記制御部によって算出された位相差を示す情報を出力することを特徴とする請求項１に記載の時間対デジタル変換器。
【請求項６】
前記制御部は、
前記最小の増加量（以下、「最小の第１増加量」と称する。）が特定されてから前記第１クロック信号が前記第１切り替え部を通過した後に、前記第３遅延素子の遅延量を変化させる制御を、少なくとも、前記第１状態での遅延量に対する前記最小の第１増加量よりも多い第２増加量の中で、前記複数のフリップフロップに記憶された値をデコードして得られた位相差が前記最小の第１増加量変化させた状態での位相差よりも小さくなる最小の第２増加量を特定するまで行い、
前記最小の第２増加量から前記最小の第１増加量を減算し、
前記算出された位相差を減算結果に基づいて補正し、
前記出力部は、
前記制御部による補正後の位相差を出力することを特徴とする請求項５に記載の時間対デジタル変換器。
【請求項７】
前記制御部は、
補正後の位相差を前記第１および第２クロック信号の周期によって正規化し、
前記出力部は、
前記制御部による正規化後の位相差を出力することを特徴とする請求項６に記載の時間対デジタル変換器。
【請求項８】
前記第１切り替え部と前記最前段の第１遅延素子との間に設けられた第３遅延素子と、
前記第３遅延素子に対応し、前記第２切り替え部と前記最前段の第２遅延素子との間に設けられた第４遅延素子と、
を有し、
前記第３遅延素子および前記複数の第１遅延素子と、前記第４遅延素子および前記複数の第２遅延素子と、のうち、いずれか一方の遅延素子群のそれぞれの遅延素子は、
前記それぞれの遅延素子の遅延量を、前記それぞれの遅延素子の遅延量と、他方の遅延素子群のうちの前記それぞれの遅延素子に対応する遅延素子の遅延量と、の差分が、第１差分になる第１遅延量と、前記第１差分よりも小さい第２差分になる第２遅延量と、に切り替え可能なスイッチを有し、
前記制御部は、
前記第１状態において、前記いずれか一方の遅延素子群のそれぞれの遅延量を前記第１遅延量にし、
前記第２クロック信号が前記複数の第２遅延素子、前記第１切り替え部、前記複数の第１遅延素子を通過して前記第２切り替え部を通過した後に、前記いずれか一方の遅延素子群から、前記いずれか一方の遅延素子群の最前段からの段数と前記第１差分を乗じた遅延量が、前記第１状態での位相差より前記第１差分小さい位相差よりも大きくなる遅延素子を特定し、
前記特定された遅延素子の遅延量を、前記第２遅延量にし、
前記出力部は、
前記特定された遅延素子の遅延量を前記第２遅延量にしてから前記第２クロック信号が前記第２切り替え部を通過した後に、前記複数のフリップフロップに記憶された値をデコードして得られた位相差を示す情報を出力することを特徴とする請求項１に記載の時間対デジタル変換器。
【請求項９】
前記制御部は、
前記特定された遅延素子の遅延量を前記第２遅延量にした後、前記特定された遅延素子のうちの最前段の遅延素子よりも１段前の遅延素子の遅延量を、前記第２遅延量にし、
前記いずれか一方の遅延素子群のうち前記第２遅延量である遅延素子に対応するフリップフロップが記憶した値をデコードして得られる位相差から、前記特定された遅延素子の遅延量を前記第２遅延量に設定した後の前記特定された遅延素子に対応するフリップフロップが記憶した値をデコードして得られる位相差を減算し、
前記第２遅延量にした後に得られた位相差を減算結果に基づいて補正し、
前記出力部は、
前記制御部による補正後の位相差を出力することを特徴とする請求項８に記載の時間対デジタル変換器。
【請求項１０】
前記補正後の位相差を前記第１および第２クロック信号の周期によって除算した位相差を算出し、
前記出力部は、
前記制御部によって除算された位相差を出力することを特徴とする請求項９に記載の時間対デジタル変換器。
【請求項１１】
直列に接続された複数の第１遅延素子と、
前記複数の第１遅延素子のそれぞれに対応して設けられ、直列に接続された複数の第２遅延素子と、
前記複数の第１遅延素子の最前段の第１遅延素子への入力信号の値および前記複数の第１遅延素子の各出力信号の値を、それぞれ、前記複数の第２遅延素子の最前段の第２遅延素子への入力信号および前記複数の第２遅延素子の各出力信号に同期して記憶する複数のフリップフロップと、
前記最前段の第１遅延素子に対して、第１入力端子から入力された第１クロック信号を入力する第１状態と、前記複数の第２遅延素子のうちの最後段の第２遅延素子の出力信号を入力する第２状態と、を切り替え可能な第１切り替え部と、前記最前段の第２遅延素子に対して、第２入力端子から入力された第２クロック信号を入力する第１状態と、前記複数の第１遅延素子のうちの最後段の第１遅延素子の出力信号を入力する第２状態と、を切り替え可能な第２切り替え部と、
前記第２状態において前記複数のフリップフロップに記憶された値をデコードして得られた前記第１クロック信号と前記第２クロック信号との位相差を示す情報を出力する出力部と、
を有する時間対デジタル変換器にアクセス可能なコンピュータが、
前記第１および第２切り替え部を前記第１状態にすることにより前記第１クロック信号と前記第２クロック信号がそれぞれ前記複数の第１遅延素子と前記複数の第２遅延素子に取り込まれた後、前記第１および第２切り替え部を前記第２状態にする、
処理を実行することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時間対デジタル変換器、および制御方法に関する。
【背景技術】
【０００２】
従来、２つのクロック信号の位相差をデジタルの値として出力する時間対デジタル変換器（以下、ＴＤＣ（Ｔｉｍｅ  Ｔｏ  Ｄｉｇｉｔａｌ  Ｃｏｎｖｅｒｔｅｒ）と称する。）が知られている。【０００３】
たとえば、ＴＤＣは、直列に接続された複数の遅延素子によってクロック信号を遅延させることにより、２つのクロック信号の位相差を検出する。関連する技術としては、たとえば、ＴＤＣについては、２つのクロック信号の位相差を、微細な位相差と粗い位相差との２段階によって検出する技術が知られている（たとえば、下記特許文献１および２を参照。）。【０００４】
また、たとえば、Ａ／Ｄ変換器については、アナログ入力電圧、またはアナログ入力電流の大きさに応じた遅延時間によってパルス信号を複数の遅延素子によって遅延させ、複数の遅延素子の各々から出力される出力信号に基づいてアナログ信号をデジタル信号に変換する技術が知られている（たとえば、下記特許文献３を参照。）。【０００５】
また、たとえば、ＰＶＴ（Ｐｒｏｃｅｓｓ  Ｖｏｌｔａｇｅ  Ｔｅｍｐａｒａｔｕｒｅ）による遅延素子の遅延量のばらつきを小さくするために、ＤＬＬ（Ｄｅｌａｙ−Ｌｏｃｋｅｄ  Ｌｏｏｐ）が利用される場合がある（たとえば、下記非特許文献１を参照。）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２００９−５２７１５８号公報
【特許文献２】特表２０１１−５１８５３４号公報
【特許文献３】特開２０１０−１８３１７６号公報
【非特許文献】
【０００７】
【非特許文献１】「Ｊｉｔｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｃｈａｒａｃｔｅｒｉｓｔｉｃｓ  ｏｆ  Ｄｅｌａｙ−Ｌｏｃｋｅｄ  Ｌｏｏｐｓ  Ｔｈｅｏｒｉｅｓ  ａｎｄ  Ｄｅｓｉｇｎ  Ｔｅｃｈｎｉｑｕｅｓ」，ＩＥＥＥ  ＪＯＵＲＮＡＬ  ＯＦ  ＳＯＬＩＤ−ＳＴＡＴＥ  ＣＩＲＣＵＩＴＳ，Ｖｏｌ．３８，Ｎｏ．４，Ａｐｒｉｌ  ２００３
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、ＰＶＴによって遅延素子の遅延量がばらつくことにより、ＴＤＣによる２つのクロック信号の位相検出の精度が劣化する問題点がある。【０００９】
本発明は、上述した従来技術による問題点を解消するため、位相差の検出精度の劣化を抑えることができる時間対デジタル変換器、および制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一側面によれば、直列に接続された複数の第１遅延素子と、前記複数の第１遅延素子のそれぞれに対応して設けられ、直列に接続された複数の第２遅延素子と、前記複数の第１遅延素子の最前段の第１遅延素子への入力信号の値および前記複数の第１遅延素子の各出力信号の値を、それぞれ、前記複数の第２遅延素子の最前段の第２遅延素子への入力信号および前記複数の第２遅延素子の各出力信号に同期して記憶する複数のフリップフロップと、前記最前段の第１遅延素子に対して、第１入力端子から入力された第１クロック信号を入力する第１状態と、前記複数の第２遅延素子のうちの最後段の第２遅延素子の出力信号を入力する第２状態と、を切り替え可能な第１切り替え部と、前記最前段の第２遅延素子に対して、第２入力端子から入力された第２クロック信号を入力する第１状態と、前記複数の第１遅延素子のうちの最後段の第１遅延素子の出力信号を入力する第２状態と、を切り替え可能な第２切り替え部と、前記第１および第２切り替え部を前記第１状態にすることにより前記第１クロック信号と前記第２クロック信号がそれぞれ前記複数の第１遅延素子と前記複数の第２遅延素子に取り込まれた後、前記第１および第２切り替え部を前記第２状態にする制御部と、前記第２状態において前記複数のフリップフロップに記憶された値をデコードして得られた前記第１クロック信号と前記第２クロック信号との位相差を示す情報を出力する出力部と、を有することを特徴とする時間対デジタル変換器が提案される。
【発明の効果】
【００１１】
本発明の一態様によれば、位相差の検出精度の劣化を抑えることができるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明にかかるＴＤＣにおいてループが形成される例を示す説明図である。
【図２】図２は、１ステージのＴＤＣの一の例を示す説明図である。
【図３】図３は、１ステージのＴＤＣの他の例を示す説明図である。
【図４】図４は、遅延量の変動による影響例を示す説明図である。
【図５】図５は、キャリブレーション例を示す説明図である。
【図６】図６は、２−Ｓｔａｇｅ  ＴＤＣの一例を示す説明図である。
【図７】図７は、実施例１にかかるＴＤＣ１００を示す説明図である。
【図８】図８は、ＳＴＡＲＴの一例を示す説明図である。
【図９】図９は、第１状態例を示す説明図である。
【図１０】図１０は、取り込まれた第１クロック信号Ｓｉｇｎａｌと第２クロック信号Ｒｅｆ  ＣＬＫに付与される遅延量を示す説明図（その１）である。
【図１１】図１１は、第１状態から第２状態に切り替わる例を示す説明図である。
【図１２】図１２は、取り込まれた第１クロック信号Ｓｉｇｎａｌと第２クロック信号Ｒｅｆに付与される遅延量を示す説明図（その２）である。
【図１３】図１３は、第１クロック信号Ｓｉｇｎａｌと第２クロック信号Ｒｅｆ  ＣＬＫがループされる例１を示す説明図である。
【図１４】図１４は、第１クロック信号Ｓｉｇｎａｌと第２クロック信号Ｒｅｆ  ＣＬＫがループされる例２を示す説明図である。
【図１５】図１５は、取り込まれた第１クロック信号Ｓｉｇｎａｌと第２クロック信号Ｒｅｆ  ＣＬＫに付与される遅延量を示す説明図（その３）である。
【図１６】図１６は、実施例２にかかるＴＤＣを示す説明図である。
【図１７】図１７は、第３遅延素子Ｃ３２の具体例を示す説明図である。
【図１８】図１８は、位相差ｘ1Δτと最小の増加量ｙ1αの検出例を示す説明図である。
【図１９】図１９は、実施例２にかかる制御部７０１が行う制御処理手順例１を示すフローチャート（その１）である。
【図２０】図２０は、実施例２にかかる制御部７０１が行う制御処理手順例１を示すフローチャート（その２）である。
【図２１】図２１は、実施例２にかかる制御部７０１が行う制御処理手順例１を示すフローチャート（その３）である。
【図２２】図２２は、実施例２にかかる制御部７０１が行う制御処理手順例１を示すフローチャート（その４）である。
【図２３】図２３は、実施例２にかかる制御部７０１が行う制御処理手順例１を示すフローチャート（その５）である。
【図２４】図２４は、実施例２にかかる制御部７０１が行う制御処理手順例２を示す説明図（その１）である。
【図２５】図２５は、実施例２にかかる制御部７０１が行う制御処理手順例２を示す説明図（その２）である。
【図２６】図２６は、実施例２にかかる制御部７０１が行う制御処理手順例３を示すフローチャート（その１）である。
【図２７】図２７は、実施例２にかかる制御部７０１が行う制御処理手順例３を示すフローチャート（その２）である。
【図２８】図２８は、実施例２にかかる制御部７０１が行う制御処理手順例３を示すフローチャート（その３）である。
【図２９】図２９は、実施例２にかかる制御部７０１が行う制御処理手順例３を示すフローチャート（その４）である。
【図３０】図３０は、実施例２にかかる制御部７０１が行う制御処理手順例３を示すフローチャート（その５）である。
【図３１】図３１は、実施例２にかかる制御部７０１が行う制御処理手順例３を示すフローチャート（その６）である。
【図３２】図３２は、実施例２にかかる制御部７０１が行う制御処理手順例４を示すフローチャート（その１）である。
【図３３】図３３は、実施例２にかかる制御部７０１が行う制御処理手順例４を示すフローチャート（その２）である。
【図３４】図３４は、実施例２にかかる制御部７０１が行う制御処理手順例４を示すフローチャート（その３）である。
【図３５】図３５は、実施例２における第１および第２クロックの周期の検出例を示す説明図である。
【図３６】図３６は、実施例２におけるΔτの特定例を示す説明図である。
【図３７】図３７は、実施例２にかかる制御部７０１による正規化処理手順を示すフローチャートである。
【図３８】図３８は、制御部７０１による遅延量ｄｌの検出処理手順例１を示すフローチャート（その１）である。
【図３９】図３９は、制御部７０１による遅延量ｄｌの検出処理手順例１を示すフローチャート（その２）である。
【図４０】図４０は、実施例２にかかる制御部７０１による遅延量ｄｌの検出処理手順例２を示すフローチャート（その１）である。
【図４１】図４１は、実施例２にかかる制御部７０１による遅延量ｄｌの検出処理手順例２を示すフローチャート（その２）である。
【図４２】図４２は、実施例２にかかる制御部７０１による最小の第２増加量ｙ3αの検出処理手順例１を示すフローチャート（その１）である。
【図４３】図４３は、実施例２にかかる制御部７０１による最小の第２増加量ｙ3αの検出処理手順例１を示すフローチャート（その２）である。
【図４４】図４４は、実施例２にかかる制御部７０１による最小の第２増加量ｙ3αの検出処理手順例１を示すフローチャート（その３）である。
【図４５】図４５は、実施例２にかかる制御部７０１による最小の第２増加量ｙ3αの検出処理手順例２を示すフローチャート（その１）である。
【図４６】図４６は、実施例２にかかる制御部７０１による最小の第２増加量ｙ3αの検出処理手順例２を示すフローチャート（その２）である。
【図４７】図４７は、実施例２にかかる制御部７０１による最小の第２増加量ｙ3αの検出処理手順例２を示すフローチャート（その３）である。
【図４８】図４８は、実施例３にかかるＴＤＣを示す説明図である。
【図４９】図４９は、実施例４にかかるＴＤＣを示す説明図である。
【図５０】図５０は、第１遅延素子Ｃ１０〜Ｃ１Ｎと第２遅延素子Ｃ２０〜Ｃ２Ｎの詳細例を示す説明図である。
【図５１】図５１は、第１遅延素子Ｃ１ｉの遅延量と第２遅延素子Ｃ２ｉの遅延量との差分を示す説明図である。
【図５２】図５２は、実施例３における位相差の検出例を示す説明図である。
【図５３】図５３は、実施例４にかかる制御部７０１による制御処理手順例を示すフローチャート（その１）である。
【図５４】図５４は、実施例４にかかる制御部７０１による制御処理手順例を示すフローチャート（その２）である。
【図５５】図５５は、実施例４における正規化例を示す説明図（その１）である。
【図５６】図５６は、実施例４における正規化例を示す説明図（その２）である。
【発明を実施するための形態】
【００１３】
本発明にかかる時間対デジタル変換器の実施の形態を詳細に説明する。
【００１４】
図１は、本発明にかかるＴＤＣにおいてループが形成される例を示す説明図である。ＴＤＣ１００は、直列に接続された第１遅延素子Ｃ１１〜Ｃ１Ｎ（Ｎ≧２）と、第１遅延素子Ｃ１１〜Ｃ１Ｎのそれぞれに対応して、直列に接続された第２遅延素子Ｃ２１〜Ｃ２Ｎと、を有している。
【００１５】
ＴＤＣ１００は、第１遅延素子Ｃ１１への入力信号の値を第２遅延素子Ｃ２１への入力信号に同期して記憶するフリップフロップを有している。ＴＤＣ１００は、第１遅延素子Ｃ１１〜Ｃ１Ｎの各出力信号の値を、それぞれ、第２遅延素子Ｃ２１〜Ｃ２Ｎの各出力信号に同期して記憶する複数のフリップフロップを有している。フリップフロップは、以下「ＦＦ（Ｆｌｉｐ  Ｆｌｏｐ）」と称する。複数のＦＦは、後述する図７に示す。
【００１６】
ＴＤＣ１００は、第１遅延素子Ｃ１１に対して、第１入力端子ＩＮ１から入力された第１クロック信号Ｓｉｇｎａｌを入力する第１状態と、第２遅延素子Ｃ２Ｎの出力信号を入力する第２状態と、を切り替え可能な第１切り替え部１０１を有する。ＴＤＣ１００は、第２遅延素子Ｃ２１に対して、第２入力端子ＩＮ２から入力された第２クロック信号Ｒｅｆ  ＣＬＫを入力する第１状態と、第１遅延素子Ｃ１Ｎの出力信号を入力する第２状態と、を切り替え可能な第２切り替え部１０２を有する。
【００１７】
ＴＤＣ１００は、第１切り替え部１０１および第２切り替え部１０２を第１状態にする。これにより、第１クロック信号Ｓｉｇｎａｌと第２クロック信号Ｒｅｆ  ＣＬＫがそれぞれ第１遅延素子Ｃ１１〜Ｃ１Ｎと第２遅延素子Ｃ２１〜Ｃ２Ｎに取り込む。その後、ＴＤＣ１００は、第１切り替え部および第２切り替え部１０２を第２状態にする制御部を有する。制御部は、後述する図７に示す。
【００１８】
ＴＤＣ１００は、第２状態において複数のＦＦに記憶された値をデコードして得られた第１クロック信号と第２クロック信号との位相差を示す情報を出力する出力部を有する。出力部は、後述する図７に示す。
【００１９】
第２切り替え部１０２が第２状態になると、第１遅延素子Ｃ１１〜Ｃ１Ｎのうちの最終段の第１遅延素子Ｃ１Ｎの出力信号が第２遅延素子Ｃ２１〜Ｃ２Ｎのうちの最前段の第２遅延素子Ｃ２１へ入力される。第１切り替え部１０１が第２状態になると、第２遅延素子Ｃ２１〜Ｃ２Ｎのうちの最後段の第２遅延素子Ｃ２Ｎの出力信号が第１遅延素子Ｃ１１〜Ｃ１Ｎのうちの最前段の第２遅延素子Ｃ２１へ入力される。そのため、第１クロック信号Ｓｉｇｎａｌと第２クロック信号Ｒｅｆ  ＣＬＫとが交互に第１遅延素子Ｃ１１〜Ｃ１Ｎと第２遅延素子Ｃ２１〜Ｃ２Ｎとを通過するループが形成される。
【００２０】
これにより、第１クロック信号Ｓｉｇｎａｌと第２クロック信号Ｒｅｆ  ＣＬＫに付与される遅延量が同一となる。したがって、各遅延素子の遅延量がＰＶＴによってばらついたとしても、位相差検出の精度劣化を抑えることができる。第２状態が維持されることにより、ループが維持されるため、第１クロック信号Ｓｉｇｎａｌと第２クロック信号Ｒｅｆ  ＣＬＫの位相差が何回も再現される。
【００２１】
つぎに、本発明にかかるＴＤＣ１００の詳細な説明の前に、従来のＴＤＣを用いてＴＤＣの動作を簡単に説明する。ＴＤＣ１００については、図７以降に後述する。
【００２２】
図２は、１ステージのＴＤＣの一の例を示す説明図である。図２では、１ステージのＴＤＣ２００を示している。ＴＤＣ２００では、複数のＦＦと、複数の遅延素子を有している。ＴＤＣ２００では、入力クロックＩｎｐｕｔＣＬＫが遅延素子で遅延される。ＴＤＣ２００では、遅延素子で遅延された信号Ｉｎｐｕｔ  ＣＬＫを、第２クロック信号Ｒｅｆ  ＣＬＫの立ち上がりで複数のＦＦが取り込んでいる。
【００２３】
タイミングチャート２０１では、入力クロックＩｎｐｕｔＣＬＫが遅延される様子と、参照クロックＲｅｆＣＬＫの立ち上がりで複数のＦＦに記憶された値がデジタル数値に変換される様子と、を示している。
【００２４】
図３は、１ステージのＴＤＣの他の例を示す説明図である。図３では、１ステージのＴＤＣ３００を示している。ＴＤＣ３００では、複数のＦＦと、それぞれが遅延量τ１を有する直列に接続された複数の遅延素子と、それぞれが遅延量τ２を有する直列に接続された複数の遅延素子と、を有している。遅延量τ１を有する複数の遅延素子は、入力クロックＩｎｐｕｔ  ＣＬＫを遅延させ、遅延量τ２を有する複数の遅延素子は、参照クロックＲｅｆＣＬＫを遅延させる。
【００２５】
複数のＦＦは、遅延量τ１を有する複数の遅延素子の各出力信号を、それぞれ遅延量τ２を有する複数の遅延素子の各出力信号に同期して記憶する。図３の例では、入力クロックＩｎｐｕｔＣＬＫと、参照クロックＲｅｆＣＬＫと、の両方が遅延される。したがって、ＴＤＣ３００の遅延精度はＴＤＣ１００の遅延精度より詳細になる。タイミングチャート３０１は、ＴＤＣ３００のノードＡ１〜Ａ３，ノードＢ１〜Ｂ３について示している。タイミングチャート３０１で示すように、ＴＤＣ３００の精度は、「τ２−τ１＝Δτ」である。
【００２６】
ここで、ＴＤＣ３００の精度について説明する。ＴＤＣ３００の精度は２つの要因で決まる。１つ目の要因は、各遅延素子の時間の差分である。たとえば、図３のＴＤＣ３００では、遅延量τ２が１０［ｐｓ］であり、τ１の遅延量は１０[ｐｓ]であるとＴＤＣ３００の精度がτ２−τ１＝１０［ｐｓ］になる。２つ目の要因はＴＤＣ３００の正規化精度である。ＴＤＣ３００の遅延素子の遅延量は、ＰＶＴによってばらつくため、一定ではない。遅延素子の遅延量が変化すると、ＴＤＣ３００の結果も変化してしまう。たとえば、遅延量の変動による影響を図４で示す。
【００２７】
図４は、遅延量の変動による影響例を示す説明図である。図４の例１では、図４の例２と比較して遅延素子の遅延量が少ないため、入力クロックＩｎｐｕｔＣＬＫと参照クロックＲｅｆＣＬＫの位相差は、３遅延素子分の遅延量になる。図４の例２では、図４の例１と比較して遅延素子の遅延量が長いため、入力クロックＩｎｐｕｔＣＬＫと参照クロックＲｅｆＣＬＫの時間差は、３遅延素子分の遅延量になる。
【００２８】
遅延量の変動によって、入力クロックＩｎｐｕｔＣＬＫと参照クロックＲｅｆＣＬＫの位相差がずれてしまう可能性があり、ＦＦから出力されるデータの精度が劣化してしまう可能性がある。たとえば、図２に示したＴＤＣ２００、図３に示したＴＤＣ３００の遅延素子の遅延量をレプリカセルでキャリブレーションすることにより、ＴＤＣ２００，３００は、遅延量変動の影響を低減させることができる。
【００２９】
図５は、キャリブレーション例を示す説明図である。ＤＬＬ５０１の出力電圧（Ｃｏｎｔｒｏｌ  Ｖｏｌｔａｇｅ）がＴＤＣ５０２の各遅延素子の電源電圧として与えられる。これにより、ＴＤＣ５０２の各遅延素子の遅延量がＰＶＴに影響されずに安定するが、ＤＬＬ５０１は面積が大きく、開発時間もかかるためコストがかかってしまう。
【００３０】
また、位相検出の精度を向上させるために、遅延素子の段数を増大してもよい。たとえば、１ビットの精度を上げたい場合、遅延素子の段数を倍増やさなければならない。そのため、合計の遅延素子の面積と合計の遅延素子の消費電力が倍増える。
【００３１】
図６は、２−Ｓｔａｇｅ  ＴＤＣの一例を示す説明図である。たとえば、位相検出の精度を向上させるために、図６に示す２−Ｓｔａｇｅ  ＴＤＣ６００は、第１クロック信号ＣＬＫと第２クロック信号Ｓｉｇとの位相差をＣｏａｒｓｅ遅延量とＦｉｎｅ遅延量とに分けて検出する。Ｃｏａｒｓｅ遅延量は、Ｃｏａｒｓｅ  ＤＬＬ＋ｓａｍｐｌｅｒ６０１によって検出される。Ｆｉｎｅは、Ｆｉｎｅ  ＤＬＬ＋ｓａｍｐｌｅｒ６０２（６０２−１〜６０２−（ｊ＋１））によって検出される。Ｃｏａｒｓｅ  ＤＬＬ＋ｓａｍｐｌｅｒ６０１は、ＰＤ（Ｐｈａｓｅ  Ｄｅｔｅｃｔｏｒ）と、Ｌｏｗ  Ｐａｓｓ  Ｆｉｌｔｅｒと、遅延素子群と、Ｎビットのレジスタと、を有している。
【００３２】
図６に示す２−Ｓｔａｇｅ  ＴＤＣ６００では、動作範囲が広く、位相検出の精度が高いが、複数のＤＬＬを有さなければならないため、回路が複雑であり、面積が大きく、かつ消費電力が大きい。
【００３３】
図２〜図６で上述したように、ＰＶＴによる遅延素子の遅延量のばらつきを小さくさせるために、ＴＤＣがＤＬＬなどの複雑な回路を有すると、たとえば、面積が大きくなり、消費電力が大きくなる。一方、本実施の形態にかかるＴＤＣ１００は、ＰＶＴによる遅延素子の遅延量のばらつきを抑止させるのではなく、ＰＶＴによる遅延素子の遅延量のばらつきによる位相検出の精度劣化を抑えることができる。
【００３４】
（実施例１）
図７は、実施例１にかかるＴＤＣ１００を示す説明図である。ＴＤＣ１００は、第１切り替え部１０１と、第２切り替え部１０２と、第１遅延素子Ｃ１１〜Ｃ１Ｎと、第２遅延素子Ｃ２１〜Ｃ２Ｎと、ＦＦ７１０〜７１Ｎと、制御部７０１と、を有している。
【００３５】
第１遅延素子Ｃ１１〜Ｃ１Ｎは直列に接続されている。第１遅延素子Ｃ１１〜Ｃ１Ｎは同一の遅延量τ１になるように設計されている。第１遅延素子Ｃ１１〜Ｃ１Ｎの出力端は、それぞれＦＦ７１０〜７１Ｎのデータ入力端に接続されている。第１遅延素子Ｃ１１〜Ｃ１Ｎによって第１遅延線Ｌ１が形成される。
【００３６】
第２遅延素子Ｃ２１〜Ｃ２Ｎは直列に接続されている。第２遅延素子Ｃ２１〜Ｃ２Ｎは同一の遅延量τ１になるように設計されている。第２遅延素子Ｃ２１〜Ｃ２Ｎの出力端は、それぞれＦＦ７１０〜７１Ｎのクロック入力端に接続されている。第２遅延素子Ｃ２１〜Ｃ２Ｎによって第２遅延線Ｌ２が形成される。
【００３７】
制御部７０１は、ＴＤＣ１００の全体の動作を制御する。具体的には、制御部７０１は、第１切り替え部１０１と第２切り替え部１０２とに対して、それぞれ第１選択信号ＭＵＸＡ＿ＣＯＮと第２選択信号ＭＵＸＢ＿ＣＯＮを出力する。制御部７０１は、たとえば、論理積回路であるＡＮＤ、否定論理回路であるＩＮＶＥＲＴＥＲ、論理和回路であるＯＲや、ラッチ回路であるＦＦ（Ｆｌｉｐ  Ｆｌｏｐ）などの素子によって形成される。または、制御部７０１は、たとえば、Ｖｅｒｉｌｏｇ−ＨＤＬ（Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）などの記述によって機能定義し、その記述を論理合成してＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）によって実現させてもよい。
【００３８】
図８は、ＳＴＡＲＴの一例を示す説明図である。第３入力端子ＩＮ３から入力されるＳＴＡＲＴは、たとえば、図８で示すように、第２クロック信号Ｒｅｆ  ＣＬＫよりも先に入力される信号であってもよい。これに限らず、たとえば、ＳＴＡＲＴは、利用者が制御信号として入力してもよい。
【００３９】
第１切り替え部１０１は、第１遅延素子Ｃ１１に対して、第１入力端子ＩＮ１から入力された第１クロック信号Ｓｉｇｎａｌを入力する第１状態と、第２遅延素子Ｃ２Ｎの出力信号を入力する第２状態と、を切り替える。具体的には、第１切り替え部１０１はマルチプレクサーである。
【００４０】
具体的には、第１切り替え部１０１は、制御部７０１から入力される第１選択信号ＭＵＸＡ＿ＣＯＮに基づいて第１入力端子ＩＮ１から入力される第１クロック信号Ｓｉｇｎａｌと第２遅延素子Ｃ２Ｎの出力信号とのうちいずれか一方を選択する。第１切り替え部１０１は、選択した信号を第１遅延素子Ｃ１１とＦＦ７１０のデータ入力端へ入力する。たとえば、第１選択信号ＭＵＸＡ＿ＣＯＮの値が０の場合、第１切り替え部１０１は、第１入力端子ＩＮ１から入力される第１クロック信号を選択する。たとえば、第１選択信号ＭＵＸＡ＿ＣＯＮの値が１の場合、第１切り替え部１０１は、第２遅延素子Ｃ２Ｎの出力信号を選択する。
【００４１】
第２切り替え部１０２は、第２遅延素子Ｃ２１に対して、第２入力端子ＩＮ２から入力された第２クロック信号Ｒｅｆ  ＣＬＫを入力する第１状態と、第１遅延素子Ｃ１Ｎの出力信号を入力する第２状態と、を切り替える。具体的には、第２切り替え部１０２はマルチプレクサーである。
【００４２】
第２切り替え部１０２は、制御部７０１から入力される第２選択信号ＭＵＸＢ＿ＣＯＮに基づいて第２入力端子ＩＮ２から入力される第２クロック信号Ｒｅｆ  ＣＬＫと第１遅延素子Ｃ１Ｎの出力信号とのうちいずれか一方を選択する。第２切り替え部１０２は、選択した信号を第２遅延素子Ｃ２１とＦＦ７１０のクロック入力端へ入力する。たとえば、第２選択信号ＭＵＸＢ＿ＣＯＮの値が０の場合、第２切り替え部１０２は、第２入力端子ＩＮ２から入力される第２クロック信号Ｒｅｆ  ＣＬＫを選択する。たとえば、第２選択信号ＭＵＸＢ＿ＣＯＮの値が１の場合、第２切り替え部１０２は、第１遅延素子Ｃ１Ｎの出力信号を選択する。
【００４３】
＜実施例１にかかるＴＤＣ１００の動作例＞
つぎに、図９〜図１５を用いてＴＤＣ１００の全体の動作について説明する。図９〜図１５において、理解の容易化のために、つぎのことを仮定する。たとえば、位相の異なる第１クロック信号Ｓｉｇｎａｌの立ち上がりエッジは、第２クロック信号Ｒｅｆ  ＣＬＫの立ち上がりエッジよりも早いとする。
【００４４】
図９は、第１状態例を示す説明図である。制御部７０１は、動作開始条件を満たしたと判断した場合に動作を開始する。動作開始条件とは、たとえば、ＳＴＡＲＴの立ち上がりエッジを検出した場合である。
【００４５】
第１入力端子ＩＮ１には第１クロック信号Ｓｉｇｎａｌが入力され、第２入力端子ＩＮ２には第２クロック信号Ｒｅｆ  ＣＬＫが入力される。制御部７０１は、ＳＴＡＲＴの立ち上がりエッジを検出すると、第１入力端子ＩＮ１から入力された第１クロック信号を選択させる第１選択信号ＭＵＸＡ＿ＣＯＮを第１切り替え部１０１に入力する。制御部７０１は、第２入力端子ＩＮ２から入力された第２クロック信号を選択させる第２選択信号ＭＵＸＢ＿ＣＯＮを第２切り替え部１０２へ入力する。
【００４６】
第１切り替え部１０１は、制御部７０１から入力された第１選択信号ＭＵＸＡ＿ＣＯＮの値によって第１入力端子ＩＮ１から入力された第１クロック信号Ｓｉｇｎａｌを選択して第１遅延素子Ｃ１１およびＦＦ７１０のデータ入力端に入力する。これにより、第１クロック信号Ｓｉｇｎａｌが複数の遅延素子Ｃ１１〜Ｃ１Ｎに取り込まれる。
【００４７】
第２切り替え部１０２は、第２選択信号ＭＵＸＢ＿ＣＯＮの値によって第２入力端子ＩＮ２から入力された第２クロック信号Ｒｅｆ  ＣＬＫを選択して第２遅延素子Ｃ２１およびＦＦ７１０のクロック入力端に入力する。これにより、第２クロック信号Ｒｅｆ  ＣＬＫが複数の遅延素子Ｃ２１〜Ｃ２Ｎに取り込まれる。
【００４８】
図１０は、取り込まれた第１クロック信号Ｓｉｇｎａｌと第２クロック信号Ｒｅｆ  ＣＬＫに付与される遅延量を示す説明図（その１）である。タイムチャート１０００では、第１クロック信号Ｓｉｇｎａｌと第２クロック信号Ｒｅｆ  ＣＬＫとが取り込まれてから第１遅延素子Ｃ１１〜Ｃ１Ｎ、第２遅延素子Ｃ２１〜Ｃ２Ｎによって付与される遅延量を示している。たとえば、矢印（ａ）の時刻は、ＴＤＣ１００の動作開始後最初に第１切り替え部１０１から出力された第１クロック信号Ｓｉｇａｎｌの立ち上がり時刻である。矢印（ｂ）の時刻は、ＴＤＣ１００の動作開始後最初に第２切り替え部１０２から出力された第２クロック信号Ｒｅｆ  ＣＬＫの立ち上がり時刻である。矢印（ａ）の時刻と矢印（ｂ）の時刻の時間差、すなわち、第１クロック信号Ｓｉｇｎａｌと第２クロック信号Ｒｅｆ  ＣＬＫとの位相差は、φである。
【００４９】
図１１は、第１状態から第２状態に切り替わる例を示す説明図である。制御部７０１は、第１遅延素子Ｃ１１への入力信号であるＭＵＸＡ＿ＰＡＳＳの立ち下がりエッジを検出すると、第２遅延素子Ｃ２Ｎの出力信号を選択させる第１選択信号ＭＵＸＡ＿ＣＯＮを第１切り替え部１０１へ入力する。
【００５０】
制御部７０１は、第２遅延素子Ｃ２１への入力信号であるＭＵＸＢ＿ＰＡＳＳの立ち下がりエッジを検出すると、最後段の第１遅延素子Ｃ１Ｎの出力信号を選択させる第２選択信号ＭＵＸＢ＿ＣＯＮを第２切り替え部１０２へ入力する。
【００５１】
第１切り替え部１０１は、制御部７０１から入力された第１選択信号ＭＵＸＡ＿ＣＯＮによって遅延素子Ｃ２Ｎの出力信号を選択する。第２切り替え部１０２は、制御部７０１から入力された第２選択信号ＭＵＸＢ＿ＣＯＮによって遅延素子Ｃ１Ｎの出力信号を選択する。
【００５２】
これにより、第１クロック信号Ｓｉｇｎａｌと第２クロック信号Ｒｅｆ  ＣＬＫをそれぞれ第１遅延素子Ｃ１１〜Ｃ１Ｎと第２遅延素子Ｃ２１〜Ｃ２Ｎに取り込んだ後、第１切り替え部１０１と第２切り替え部１０２は第１状態から第２状態になる。
【００５３】
また、上述した場合では、制御部７０１は、第１クロック信号Ｓｉｇｎａｌおよび第２クロック信号Ｒｅｆ  ＣＬＫのＨｉｇｈ期間を取り込んでいる。これに限らず、制御部７０１は、第１クロック信号Ｓｉｇｎａｌおよび第２クロック信号Ｒｅｆ  ＣＬＫの１周期を取り込んでもよい。
【００５４】
図１２は、取り込まれた第１クロック信号Ｓｉｇｎａｌと第２クロック信号Ｒｅｆに付与される遅延量を示す説明図（その２）である。つぎに、図１２のタイムチャート１２００では、第１遅延線Ｌ１を１回目に通過後の第１クロック信号Ｓｉｇｎａｌと、第２遅延線Ｌ２を１回目に通過後の第２クロック信号Ｒｅｆ  ＣＬＫと、の位相差を示している。矢印（ｃ）の時刻は、１回目に第２クロック信号Ｒｅｆ  ＣＬＫが第２遅延線Ｌ２を通過する時刻であり、矢印（ｄ）の時刻は、１回目に第１クロック信号Ｓｉｇｎａｌが第１遅延線Ｌ１を通過する時刻である。τ１＞τ２である。ここでは、たとえば、第１遅延素子Ｃ１１の遅延量は、ばらつきによってτ１でなく、「τ１＋ｈ」とする。そのため、矢印（ａ）の時刻と矢印（ｃ）の時刻との時間差は、「φ＋Ｎ×τ２」であり、矢印（ａ）の時刻と矢印（ｄ）の時刻との時間差は、「Ｎ×τ１＋ｈ」である。
【００５５】
図１３は、第１クロック信号Ｓｉｇｎａｌと第２クロック信号Ｒｅｆ  ＣＬＫがループされる例１を示す説明図である。第２遅延素子Ｃ２Ｎの出力信号が第１切り替え部１０１に選択されて第１遅延素子Ｃ１１に入力され、第１遅延素子Ｃ１Ｎの出力信号が第２切り替え部１０２に選択されて第２遅延素子Ｃ２１に入力されることにより、ループが形成されている。
【００５６】
図１４は、第１クロック信号Ｓｉｇｎａｌと第２クロック信号Ｒｅｆ  ＣＬＫがループされる例２を示す説明図である。図１４では、取り込まれた第２クロック信号Ｒｅｆ  ＣＬＫが第２遅延線Ｌ２を通過後に第１遅延線Ｌ１を通過している。図１４では、第１クロック信号Ｓｉｇｎａｌが第１遅延線Ｌ１を通過後に第２遅延線Ｌ２を通過している。
【００５７】
図１５は、取り込まれた第１クロック信号Ｓｉｇｎａｌと第２クロック信号Ｒｅｆ  ＣＬＫに付与される遅延量を示す説明図（その３）である。タイムチャート１５００では、第２遅延線Ｌ２を１回目に通過後の第１クロック信号Ｓｉｇｎａｌと、第１遅延線Ｌ１を１回目に通過後の第２クロック信号Ｒｅｆ  ＣＬＫと、の時間差を示している。矢印（ｅ）の時刻は、第２遅延線Ｌ２を１回目に第１クロック信号Ｓｉｇｎａｌが通過する時刻であり、矢印（ｆ）の時刻は、第１遅延線Ｌ１を１回目に第１クロック信号Ｓｉｇｎａｌが通過する時刻である。
【００５８】
矢印（ａ）の時刻と矢印（ｅ）の時刻との時間差は、「（Ｎ×τ１＋ｈ）＋Ｎ×τ２」である。矢印（ａ）の時刻と矢印（ｆ）の時刻との時間差は、「φ＋Ｎ×τ２＋（Ｎ×τ１＋ｈ）」である。第１クロック信号Ｓｉｇｎａｌの立ち上がりと、第２クロック信号Ｒｅｆ  ＣＬＫの立ち上がりの時間差は、第１遅延素子Ｃ１１の遅延量がばらついたとしても、形成されたループをそれぞれが一周することにより、入力時と同一の遅延差φになる。
【００５９】
したがって、各遅延素子の遅延量がＰＶＴによってばらついたとしても、位相差検出の精度劣化を抑えることができる。第２状態が維持されることにより、ループが維持されるため、第１クロック信号Ｓｉｇｎａｌと第２クロック信号Ｒｅｆ  ＣＬＫの位相差が何回も再現される。
【００６０】
（実施例２）
つぎに、実施例２にかかるＴＤＣは、第２切り替え部１０２と、第２遅延素子Ｃ２１との間に、可変の第３遅延素子が設けられ、第３遅延素子の遅延量を変化させることにより、精度の高い位相差を検出することができる。
【００６１】
図１６は、実施例２にかかるＴＤＣを示す説明図である。ＴＤＣ１６００は、第１切り替え部１０１と、第２切り替え部１０２と、第１遅延素子Ｃ１１〜Ｃ１Ｎと、第２遅延素子Ｃ２１〜Ｃ２Ｎと、ＦＦ７１０〜７１Ｎと、第３遅延素子Ｃ３１と、第３遅延素子Ｃ３２と、制御部７０１と、を有している。
【００６２】
第３遅延素子Ｃ３１は、第１切り替え部１０１と第１遅延素子Ｃ１１との間に設けられている。具体的には、第３遅延素子Ｃ３１は、第１切り替え部１０１によって入力された信号を遅延させて第１遅延素子Ｃ１１とＦＦ７１０のデータ入力端へ入力する。
【００６３】
第３遅延素子Ｃ３２は、第２切り替え部１０２と第２遅延素子Ｃ２１との間に設けられている。具体的には、第３遅延素子Ｃ３２は、第１切り替え部１０１によって入力された信号を遅延させて第２遅延素子Ｃ２１とＦＦ７１０のクロック入力端へ入力する。
【００６４】
図１６の例では、第３遅延素子Ｃ３２の遅延量τ４は可変であり、制御部７０１は、制御信号Ｔ４＿ＣＯＮに基づいて第３遅延素子Ｃ３２の遅延量τ４を増減させることができる。図１６の例では第３遅延素子Ｃ３２の遅延量τ４を可変としているが、これに限らず、第３遅延素子Ｃ３１の遅延量τ３を可変としてもよい。第３遅延素子Ｃ３１の遅延量τ３が可変の場合におけるＴＤＣは、実施例３に示す。
【００６５】
図１７は、第３遅延素子Ｃ３２の具体例を示す説明図である。第３遅延素子Ｃ３２は、基本遅延素子と、容量群と、スイッチ群と、を有している。容量群の容量とスイッチ群のスイッチとはそれぞれ対応付けられている。制御信号Ｔ４＿ＣＯＮの値によってスイッチ群のスイッチのオン状態とオフ状態が切り替えられてオン状態のスイッチに対応した容量分の遅延量が第３遅延素子Ｃ３２の遅延量τ４に加わる。これにより、制御部７０１は、第３遅延素子Ｃ３２の遅延量を変化させることができる。
【００６６】
制御信号Ｔ４＿ＣＯＮは、たとえば、Ｎビットの信号である。制御信号Ｔ４＿ＣＯＮの各ビットの信号で調整可能な遅延量は、制御信号Ｔ４＿ＣＯＮの最下位ビットから最上位ビットまでの順に２倍ずつ異なっていてもよい。または、たとえば、制御信号Ｔ４＿ＣＯＮの各ビットの信号で調整可能な遅延量は、すべて同一であってもよい。
【００６７】
図１８は、位相差ｘ1Δτと最小の増加量ｙ1αの検出例を示す説明図である。図１８では、制御部７０１は第３遅延素子Ｃ３２の遅延量τ４を調整することにより、Ｃｏａｒｓｅ遅延量とＦｉｎｅ遅延量を検出する例を示す。
【００６８】
上述したように、位相差φは第１クロック信号Ｓｉｇｎａｌの立ち上がりエッジと第２クロック信号Ｒｅｆ  ＣＬＫの立ち上がりエッジとの時間差である。第１クロック信号Ｓｉｇｎａｌが第１遅延線Ｌ１を１回通過し、第２クロック信号Ｒｅｆ  ＣＬＫが第２遅延線Ｌ２を１回通過することによって、ＣＯＭＰ＜Ｎ：０＞の値が決まる。
【００６９】
波形図１８０１では、第１状態における第１クロック信号Ｓｉｇｎａｌと、第２クロック信号Ｒｅｆ  ＣＬＫと、の位相差を示している。波形図１８０１の上に示している値はそれぞれＣＯＭＰ＜Ｎ：０＞の値である。制御部７０１は、ＦＦ７１０〜７１Ｎに記憶された値をデコードして得られる第１状態での位相差を検出する。具体的には、制御部７０１は、ＣＯＭＰ＜Ｎ：０＞の最下位ビットから順に０から１になる（立ち上がり）までの期間をカウントしてデコードする。デコード結果ｘは５である。したがって、Ｃｏａｒｓｅ遅延量は、ｘ×Δτ（Δτ＝τ１−τ２）で表されるため、５Δτである。
【００７０】
制御部７０１は、第２クロック信号が第２遅延素子Ｃ２１〜Ｃ２Ｎ、第１切り替え部１０１、第１遅延素子Ｃ１１〜Ｃ１Ｎを通過して第２切り替え部１０２を通過した後に、第３遅延素子Ｃ３２の第１状態での遅延量に対する第１増加量を変化させる。
【００７１】
具体的には、制御部７０１は、第３遅延素子Ｃ３２の出力ＭＵＸＢ＿ＰＡＳＳの立ち上がりエッジを検出する都度、Ｂ＿ＦＡＬＬをカウントアップする。Ｂ＿ＦＡＬＬは変数である。Ｂ＿ＦＡＬＬの値が奇数の場合、制御部７０１は、第１クロック信号Ｓｉｇｎａｌが第１遅延線Ｌ１を通過していると判断する。Ｂ＿ＦＡＬＬの値が偶数の場合、制御部７０１は、第１クロック信号Ｓｉｇｎａｌが第２遅延線Ｌ２を通過していると判断する。Ｂ＿ＦＡＬＬの値が偶数の場合に、制御部７０１は、制御信号Ｔ４＿ＣＯＮの値を変化させる。これにより、制御部７０１は、第２クロック信号がループを一巡した後に、第３遅延素子Ｃ３２の第１状態での遅延量に対する第１増加量を変化させることができる。
【００７２】
そして、制御部７０１は、変化させた第１増加量の中で、ＦＦ７１０〜７１Ｎに記憶された値をデコードして得られた位相差が第１状態での位相差ｘ1よりも小さくなる最小の第１増加量ｙ1αを特定する。増加量の変化については、特に限定していない。たとえば、制御部７０１は、増加量を増加可能な最小量ごとに徐々に増加させてもよいし、増加量を増加可能な最大値に変化させた後、減少させてもよい。
【００７３】
波形図１８０２では、第３遅延素子Ｃ３２の第１状態での遅延量に対する増加量が１αの場合を示している。第１状態での位相差から最小の増加量を減算した位相差と、増加量が１αの場合における位相差と、は、いずれも５Δτであり、一致している。
【００７４】
波形図１８０３では、第３遅延素子Ｃ３２の第１状態での遅延量に対する増加量が３αの場合を示している。第１状態での位相差ｘ1Δτから最小の第１増加量ｙ1αを減算した位相差は、５Δτであり、増加量が３αの場合における位相差は、４Δτである。ここでは、制御部７０１は、変化させた増加量の中で、ＦＦ７１０〜７１Ｎに記憶された値をデコードして得られた位相差が第１状態での位相差ｘ1Δτよりも小さくなる最小の第１増加量ｙ1αとして３αを特定する。
【００７５】
制御部７０１は、第１状態での位相差ｘ1Δτから最小の第１増加量ｙ1αを減算した位相差φを算出する。具体的には、制御部７０１は、「φ＝５Δτ−３α」を算出する。そして、出力部ＯＵＴは、制御部７０１によって算出された位相差を示す情報を出力する。
【００７６】
また、図１６の例では、遅延素子τ４の遅延量τ４は、制御信号Ｔ４＿ＣＯＮの値が１ビット増加するごとに１αずつ増加するが、上述したように、Ｔ４＿ＣＯＮの値が１ビット増加するごとに調整可能な遅延量が２倍になってもよい。たとえば、調整可能な遅延量が１６αである場合、最初に８αが増加される。つぎに、４αが増加され、２αが増加される。この場合、制御部７０１は、ｌｏｇ２×Ｂ回でΔφを検出することができる。Ｂは遅延可能総遅延量である。たとえば、「Ｂ＝１６」であれば、制御部７０１は、最大でも４回でΔφの値を得られる。
【００７７】
（実施例２にかかる制御部７０１が行う制御処理手順例１）
図１９〜図２３は、実施例２にかかる制御部７０１が行う制御処理手順例１を示すフローチャートである。制御処理手順例１では、制御信号Ｔ４＿ＣＯＮの各ビットの信号で調整可能な遅延量は、制御信号Ｔ４＿ＣＯＮの最下位ビットから最上位ビットまでの順に２倍ずつ異なっている。まず、図１９および図２０について説明する。制御部７０１は、ＳＴＡＲＴの立ち上がりエッジを検出したか否かを判断する（ステップＳ１９０１）。ＳＴＡＲＴの立ち上がりエッジが検出されていない場合（ステップＳ１９０１：Ｎｏ）、ステップＳ１９０１へ戻る。
【００７８】
一方、ＳＴＡＲＴの立ち上がりエッジが検出された場合（ステップＳ１９０１：Ｙｅｓ）、制御部７０１は、ＭＵＸＡ＿ＣＯＮ＝０、ＭＵＸＢ＿ＣＯＮ＝０にする（ステップＳ１９０２）。これにより、第１切り替え部１０１は、第１選択信号ＭＵＸＡ＿ＣＯＮの値に基づいて第１クロック信号Ｓｉｇｎａｌを選択して出力することにより、第１状態になる。第２切り替え部１０２は、第２選択信号ＭＵＸＢ＿ＣＯＮの値に基づいて第２クロック信号Ｒｅｆ  ＣＬＫを選択して出力することにより、第１状態になる。制御部７０１による第１状態から第２状態への変化は、図２１および図２２に示す。
【００７９】
つぎに、制御部７０１は、Ｂ＿ＦＡＬＬ＝０とし（ステップＳ１９０３）、Ｔ４＿ＣＯＮ＝０とする（ステップＳ１９０４）。ステップＳ１９０４によって、Ｔ４＿ＣＯＮのすべてのビットの値が０に設定される。
【００８０】
そして、制御部７０１は、ＭＵＸＢ＿ＰＡＳＳの立ち下がりエッジを検出したか否かを判断する（ステップＳ１９０５）。ＭＵＸＢ＿ＰＡＳＳの立ち下がりエッジが検出されていない場合（ステップＳ１９０５：Ｎｏ）、ステップＳ１９０５へ戻る。一方、ＭＵＸＢ＿ＰＡＳＳの立ち下がりエッジが検出された場合（ステップＳ１９０５：Ｙｅｓ）、制御部７０１は、Ｂ＿ＦＡＬＬ＝Ｂ＿ＦＡＬＬ＋１とする（ステップＳ１９０６）。
【００８１】
制御部７０１は、Ｂ＿ＦＡＬＬが２であるか否かを判断する（ステップＳ１９０７）。Ｂ＿ＦＡＬＬが２でない場合（ステップＳ１９０７：Ｎｏ）、制御部７０１は、ＣＯＭＰ＿ＡＲＲＡＹ（１）＝ＣＯＭＰ＜Ｎ：０＞とし（ステップＳ１９０８）、ＣＯＭＰ＿ＡＲＲＡＹ（１）をデコードして位相差ｘ1Δτを検出する（ステップＳ１９０９）。
【００８２】
一方、Ｂ＿ＦＡＬＬが２の場合（ステップＳ１９０７：Ｙｅｓ）、制御部７０１は、Ｍ＝Ｎ−１とし（ステップＳ１９１０）、ｙ1＝２＾（Ｍ）とする（ステップＳ１９１１）。「＾」は乗数を示している。制御部７０１は、Ｔ４＿ＣＯＮ＜Ｍ＞＝１とする（ステップＳ１９１２）。ここでは、Ｍが最大値であるため、Ｔ４＿ＣＯＮの最上位ビットが１に設定される。
【００８３】
そして、制御部７０１は、ＭＵＸＢ＿ＰＡＳＳの立ち下がりエッジを検出したか否かを判断する（ステップＳ１９１３）。ＭＵＸＢ＿ＰＡＳＳの立ち下がりエッジが検出されていない場合（ステップＳ１９１３：Ｎｏ）、ステップＳ１９１３へ戻る。一方、ＭＵＸＢ＿ＰＡＳＳの立ち下がりエッジが検出された場合（ステップＳ１９１３：Ｙｅｓ）、制御部７０１は、Ｂ＿ＦＡＬＬ＝Ｂ＿ＦＡＬＬ＋１とする（ステップＳ１９１４）。
【００８４】
つぎに、制御部７０１は、Ｂ＿ＦＡＬＬが偶数か否かを判断する（ステップＳ１９１５）。Ｂ＿ＦＡＬＬが偶数でない場合（ステップＳ１９１５：Ｎｏ）、ステップＳ１９１３へ戻る。Ｂ＿ＦＡＬＬが偶数の場合（ステップＳ１９１５：Ｙｅｓ）、制御部７０１は、Ｍ＝Ｍ−１とする（ステップＳ１９１６）。制御部７０１は、Ｍ≧０であるか否かを判断する（ステップＳ１９１７）。
【００８５】
Ｍ≧０の場合（ステップＳ１９１７：Ｙｅｓ）、制御部７０１は、ＣＯＭＰ＿ＡＲＲＡＹ（Ｘ）をデコードして位相差を検出する（ステップＳ１９１８）。ＣＯＭＰ＿ＡＲＲＡＹ（Ｘ）は、図２３のフローチャートに示すが、ＸはＢ＿ＦＡＬＬであり、ＤＬ２＿ＥＮＤの立ち上がりエッジが検出されたときのＣＯＭＰ＜Ｎ：０＞の値が代入されている。制御部７０１は、ＣＯＭＰ＿ＡＲＲＡＹ（Ｘ）をデコードして得られる位相差と、位相差ｘ1Δτと、を比較する（ステップＳ１９１９）。
【００８６】
同一の場合（ステップＳ１９１９：＝）、制御部７０１は、ｙ1＝ｙ1＋２＾（Ｍ）とし（ステップＳ１９２１）、ステップＳ１９１２へ移行する。ＣＯＭＰ＿ＡＲＲＡＹ（Ｘ）をデコードして得られる位相差が位相差ｘ1Δτより小さい場合（ステップＳ１９１９：＜）、制御部７０１は、Ｔ４＿ＣＯＮ＜Ｍ＋１＞＝０とし（ステップＳ１９２０）、ステップＳ１９１２へ移行する。制御処理手順例１では、ＣＯＭＰ＿ＡＲＲＡＹ（Ｘ）をデコードして得られる位相差が位相差ｘ1Δτより大きい場合が発生しない。
【００８７】
一方、Ｍ≧０でない場合（ステップＳ１９１７：Ｎｏ）、制御部７０１は、φ＝ｘ1Δτ−ｙ1αとし（ステップＳ１９２２）、一連の処理を終了する。第３遅延素子Ｃ３２の遅延量τ４の増加方法は、種々変更可能である。
【００８８】
つぎに、図２１について説明する。制御部７０１は、開始条件を満たしたか否かを判断する（ステップＳ２１０１）。ステップＳ２１０１において、開始条件とは、ステップＳ１９０２の処理の実行である。ステップＳ２１０２〜Ｓ２１０３に示す処理は、ステップＳ１９０２の処理の実行後に行われる。開始条件が満たされていない場合（ステップＳ２１０１：Ｎｏ）、ステップＳ２１０１へ戻る。
【００８９】
一方、開始条件が満たされた場合（ステップＳ２１０１：Ｙｅｓ）、制御部７０１は、ＭＵＸＡ＿ＰＡＳＳの立ち下がりエッジを検出したか否かを判断する（ステップＳ２１０２）。ＭＵＸＡ＿ＰＡＳＳの立ち下がりエッジが検出されていない場合（ステップＳ２１０２：Ｎｏ）、ステップＳ２１０２へ戻る。
【００９０】
一方、ＭＵＸＡ＿ＰＡＳＳの立ち下がりエッジが検出された場合（ステップＳ２１０２：Ｙｅｓ）、制御部７０１は、ＭＵＸＡ＿ＣＯＮ＝１とし（ステップＳ２１０３）、一連の処理を終了する。これにより、第１切り替え部１０１は、第１選択信号ＭＵＸＡ＿ＣＯＮの値に沿ってＢｉｎの信号を選択する。ＭＵＸＡのＢｉｎの信号は、第２遅延線Ｌ２の最終段の第２遅延素子Ｃ２Ｎの出力信号である。これにより、制御部７０１は、第１クロック信号Ｓｉｇｎａｌの半周期分であるＨｉｇｈの期間をＴＤＣ１６００内に取り込んでいる。
【００９１】
つぎに、図２２について説明する。制御部７０１は、開始条件を満たしたか否かを判断する（ステップＳ２２０１）。ステップＳ２２０１において、開始条件とは、ステップＳ１９０２の処理の実行である。ステップＳ２２０２〜Ｓ２２０３に示す処理は、ステップＳ１９０２の処理の実行後に行われる。ステップＳ２２０１において、開始条件が満たされていない場合（ステップＳ２２０１：Ｎｏ）、ステップＳ２２０１へ戻る。
【００９２】
一方、開始条件が満たされた場合（ステップＳ２２０１：Ｙｅｓ）、制御部７０１は、ＭＵＸＢ＿ＰＡＳＳの立ち下がりエッジを検出したか否かを判断する（ステップＳ２２０２）。ＭＵＸＢ＿ＰＡＳＳの立ち下がりエッジが検出されていない場合（ステップＳ２２０２：Ｎｏ）、ステップＳ２２０２へ戻る。
【００９３】
一方、ＭＵＸＢ＿ＰＡＳＳの立ち下がりエッジが検出された場合（ステップＳ２２０２：Ｙｅｓ）、制御部７０１は、ＭＵＸＢ＿ＣＯＮ＝１とし（ステップＳ２２０３）、一連の処理を終了する。これにより、第２切り替え部１０２は、第２選択信号ＭＵＸＢ＿ＣＯＮの値に基づいて第１遅延線Ｌ１の最終段の遅延素子の出力信号を選択して出力する。これにより、制御部７０１は、第２クロック信号Ｒｅｆ  ＣＬＫの半周期分であるＨｉｇｈの期間をＴＤＣ１６００内に取り込んでいる。
【００９４】
つぎに、図２３について説明する。制御部７０１は、Ｂ＿ＦＡＬＬ≧１であるか否かを判断する（ステップＳ２３０１）。Ｂ＿ＦＡＬＬ≧１でない場合（ステップＳ２３０１：Ｎｏ）、ステップＳ２３０１へ戻る。
【００９５】
一方、Ｂ＿ＦＡＬＬ≧１である場合（ステップＳ２３０１：Ｙｅｓ）、制御部７０１は、ＤＬ２＿ＥＮＤの立ち上がりエッジを検出したか否かを判断する（ステップＳ２３０２）。ＤＬ２＿ＥＮＤの立ち上がりエッジが検出されていない場合（ステップＳ２３０２：Ｎｏ）、ステップＳ２３０２へ戻る。
【００９６】
ＤＬ２＿ＥＮＤの立ち上がりエッジが検出された場合（ステップＳ２３０２：Ｙｅｓ）、制御部７０１は、Ｘ＝Ｂ＿ＦＡＬＬとし（ステップＳ２３０３）。ＣＯＭＰ＿ＡＲＲＡＹ（Ｘ）＝ＣＯＭＰ＜Ｎ：０＞とする（ステップＳ２３０４）。そして、制御部７０１は、終了条件を満たしたか否かを判断する（ステップＳ２３０５）。終了条件としては、たとえば、図２０に示すステップＳ１９２２の処理が実行された場合が挙げられる。
【００９７】
終了条件が満たされていない場合（ステップＳ２３０５：Ｎｏ）、ステップＳ２３０２へ戻る。一方、終了条件が満たされた場合（ステップＳ２３０５：Ｙｅｓ）、一連の処理を終了する。
【００９８】
（実施例２にかかる制御部７０１が行う制御処理手順例２）
図２４および図２５は、実施例２にかかる制御部７０１が行う制御処理手順例２を示す説明図である。制御処理手順例２では、制御信号Ｔ４＿ＣＯＮの各ビットの信号で調整可能な遅延量は、すべて同一である。制御処理手順例２では、第１切り替え部１０１と第２切り替え部１０２の切り替えタイミングは制御処理手順例１の場合と同一であるため、詳細な説明を省略する。ステップＳ２４０１〜Ｓ２４０９は、それぞれ図１９に示したステップＳ１９０１〜Ｓ１９０９と同一であるため、詳細な説明を省略する。
【００９９】
ステップＳ２４０７において、Ｂ＿ＦＡＬＬが２の場合（ステップＳ２４０７：Ｙｅｓ）、制御部７０１は、Ｍ＝Ｎ−１とし（ステップＳ２４１０）、ｙ1＝１とする（ステップＳ２４１１）。つぎに、制御部７０１は、Ｔ４＿ＣＯＮ＜Ｍ＞＝１とし（ステップＳ２４１２）、ＭＵＸＢ＿ＰＡＳＳの立ち下がりエッジを検出したか否かを判断する（ステップＳ２４１３）。ＭＵＸＢ＿ＰＡＳＳの立ち下がりエッジが検出されていない場合（ステップＳ２４１３：Ｎｏ）、ステップＳ２４１３へ戻る。
【０１００】
ＭＵＸＢ＿ＰＡＳＳの立ち下がりエッジが検出された場合（ステップＳ２４１３：Ｙｅｓ）、制御部７０１は、Ｂ＿ＦＡＬＬ＝Ｂ＿ＦＡＬＬ＋１とし（ステップＳ２４１４）、Ｂ＿ＦＡＬＬが偶数か否かを判断する（ステップＳ２４１５）。Ｂ＿ＦＡＬＬが奇数の場合（ステップＳ２４１５：Ｎｏ）、ステップＳ２４１３へ戻る。一方、Ｂ＿ＦＡＬＬが偶数の場合（ステップＳ２４１５：Ｙｅｓ）、制御部７０１は、Ｍ＝Ｍ−１とし（ステップＳ２４１６）、Ｍ≧０であるか否かを判断する（ステップＳ２４１７）。
【０１０１】
Ｍ≧０である場合（ステップＳ２４１７：Ｙｅｓ）、制御部７０１は、ＣＯＭＰ＿ＡＲＲＡＹ（Ｘ）をデコードして位相差を検出する（ステップＳ２４１８）。制御部７０１は、ＣＯＭＰ＿ＡＲＲＡＹ（Ｘ）をデコードして得られる位相差と、位相差ｘ1Δτと、を比較する（ステップＳ２４１９）。同一の場合（ステップＳ２４１９：＝）、制御部７０１は、ｙ1＝ｙ1＋１とし（ステップＳ２４２１）、ステップＳ２４１２へ戻る。
【０１０２】
一方、ＣＯＭＰ＿ＡＲＲＡＹ（Ｘ）をデコードして得られる位相差が、位相差ｘ1Δτより小さい場合（ステップＳ２４１９：＜）、制御部７０１は、Ｔ４＿ＣＯＮ＜Ｍ＋１＞＝０とし（ステップＳ２４２０）、ステップＳ２４１２へ移行する。
【０１０３】
ステップＳ２４１７において、Ｍ≧０でない場合（ステップＳ２４１７：Ｎｏ）、制御部７０１は、φ＝ｘ1Δτ−ｙ1αとし（ステップＳ２４２２）、一連の処理を終了する。
【０１０４】
また、第１状態から第２状態へ切り替える処理、ＣＯＭＰ＜Ｎ：０＞をＣＯＭＰ＿ＡＲＲＡＹ（Ｘ）に代入する処理については、制御処理手順の例１と同一であるため、詳細な説明を省略する。
【０１０５】
（実施例２にかかる制御部７０１が行う制御処理手順例３）
図２６〜図３１は、実施例２にかかる制御部７０１が行う制御処理手順例３を示すフローチャートである。制御処理手順例３では、制御信号Ｔ４＿ＣＯＮの各ビットの信号で調整可能な遅延量は、制御信号Ｔ４＿ＣＯＮの最下位ビットから最上位ビットまでの順に２倍ずつ異なっている。制御処理手順例３では、制御部７０１は、第１クロック信号Ｓｉｇｎａｌおよび第２クロック信号Ｒｅｆ  ＣＬＫをそれぞれ１周期分取り込む。
【０１０６】
まず、図２６〜図２８について説明する。制御部７０１は、ＳＴＡＲＴの立ち上がりエッジを検出したか否かを判断する（ステップＳ２６０１）。ＳＴＡＲＴの立ち上がりエッジが検出されていない場合（ステップＳ２６０１：Ｎｏ）、ステップＳ２６０１へ戻る。
【０１０７】
一方、ＳＴＡＲＴの立ち上がりエッジが検出された場合（ステップＳ２６０１：Ｙｅｓ）、制御部７０１は、ＭＵＸＡ＿ＣＯＮ＝０、ＭＵＸＢ＿ＣＯＮ＝０にする（ステップＳ２６０２）。これにより、第１切り替え部１０１は、第１選択信号ＭＵＸＡ＿ＣＯＮの値に基づいて第１クロック信号Ｓｉｇｎａｌを選択して出力することにより、第１状態になる。第２切り替え部１０２は、第２選択信号ＭＵＸＢ＿ＣＯＮの値に基づいて第２クロック信号Ｒｅｆ  ＣＬＫを選択して出力することにより、第１状態になる。制御部７０１による第１状態から第２状態への変化は、図２９および図３０に示す。
【０１０８】
つぎに、制御部７０１は、Ｒ＝１とし（ステップＳ２６０３）、Ｂ＿ＲＩＳＥ＝０とし（ステップＳ２６０４）、制御部７０１は、ＭＵＸＢ＿ＰＡＳＳの２番目の立ち上がりエッジを検出したか否かを判断する（ステップＳ２６０５）。制御処理手順例３では、第１クロック信号Ｓｉｇｎａｌおよび第２クロック信号Ｒｅｆ  ＣＬＫをそれぞれ１周期分取り込んでいるため、取り込まれたクロック信号が第１遅延線Ｌ１、第２遅延線Ｌ２を１回通過するだけで、立ち上がりエッジが２回ある。そのため、たとえば、制御部は、立ち上がりエッジをカウントして、２番目の立ち上がりエッジであるか否かを判断する。
【０１０９】
ＭＵＸＢ＿ＰＡＳＳの２番目の立ち上がりエッジが検出されていない場合（ステップＳ２６０５：Ｎｏ）、ステップＳ２６０５へ戻る。一方、ＭＵＸＢ＿ＰＡＳＳの２番目の立ち上がりエッジが検出された場合（ステップＳ２６０５：Ｙｅｓ）、制御部７０１は、Ｂ＿ＲＩＳＥ＝Ｂ＿ＲＩＳＥ＋１とする（ステップＳ２６０６）。
【０１１０】
制御部７０１は、Ｂ＿ＲＩＳＥが２であるか否かを判断する（ステップＳ２６０７）。Ｂ＿ＲＩＳＥが２でない場合（ステップＳ２６０７：Ｎｏ）、制御部７０１は、ＣＯＭＰ＿ＡＲＲＡＹ（１）＝ＣＯＭＰ＜Ｎ：０＞とし（ステップＳ２６０８）、ＣＯＭＰ＿ＡＲＲＡＹ（１）を１番目の立ち上がりに基づいてデコードして位相差ｘ11×Δτを検出する（ステップＳ２６０９）。制御部７０１は、ＣＯＭＰ＿ＡＲＲＡＹ（１）を２番目の立ち上がりに基づいてデコードして位相差ｘ12×Δτを検出し（ステップＳ２６１０）、ステップＳ２６０５に戻る。
【０１１１】
一方、Ｂ＿ＲＩＳＥが２の場合（ステップＳ２６０７：Ｙｅｓ）、制御部７０１は、Ｔ４＿ＣＯＮ＝０とする（ステップＳ２６１１）。ステップＳ２６１１によって、Ｔ４＿ＣＯＮのすべてのビットの値が０に設定される。制御部７０１は、Ｍ＝Ｎ−１とし（ステップＳ２６１２）、ｙ1R＝２＾（Ｍ）とする（ステップＳ２６１３）。
【０１１２】
制御部７０１は、Ｔ４＿ＣＯＮ＜Ｍ＞＝１とする（ステップＳ２６１４）。ここでは、Ｍが最大値であるため、Ｔ４＿ＣＯＮの最上位ビットが１に設定される。制御部７０１は、ＭＵＸＢ＿ＰＡＳＳの２番目の立ち上がりエッジを検出したか否かを判断する（ステップＳ２６１５）。ＭＵＸＢ＿ＰＡＳＳの２番目の立ち上がりエッジが検出されていない場合（ステップＳ２６１５：Ｎｏ）、ステップＳ２６１５へ戻る。一方、ＭＵＸＢ＿ＰＡＳＳのＲ番目の立ち上がりエッジが検出された場合（ステップＳ２６１５：Ｙｅｓ）、制御部７０１は、Ｂ＿ＲＩＳＥ＝Ｂ＿ＲＩＳＥ＋１とする（ステップＳ２６１６）。
【０１１３】
つぎに、制御部７０１は、Ｂ＿ＲＩＳＥが偶数か否かを判断する（ステップＳ２６１７）。Ｂ＿ＲＩＳＥが偶数でない場合（ステップＳ２６１７：Ｎｏ）、ステップＳ２６１５へ戻る。Ｂ＿ＲＩＳＥが偶数の場合（ステップＳ２６１７：Ｙｅｓ）、制御部７０１は、Ｍ＝Ｍ−１とする（ステップＳ２６１８）。制御部７０１は、Ｍ≧０であるか否かを判断する（ステップＳ２６１９）。
【０１１４】
Ｍ≧０の場合（ステップＳ２６１９：Ｙｅｓ）、制御部７０１は、ＣＯＭＰ＿ＡＲＲＡＹ（Ｘ）のＲ番目の立ち上がりに基づいてデコードして位相差を検出する（ステップＳ２６２０）。ＣＯＭＰ＿ＡＲＲＡＹ（Ｘ）は、図３１のフローチャートに示すが、ＤＬ２＿ＥＮＤの立ち上がりエッジが検出されたときのＣＯＭＰ＜Ｎ：０＞の値が代入されている。ＸはＢ＿ＲＩＳＥである。制御部７０１は、ＣＯＭＰ＿ＡＲＲＡＹ（Ｘ）のＲ番目の立ち上がりに基づいてデコードして得られる位相差と、位相差ｘ1RΔτと、を比較する（ステップＳ２６２１）。
【０１１５】
同一値の場合（ステップＳ２６２１：＝）、制御部７０１は、ｙ1R＝ｙ1R＋２＾（Ｍ）とし（ステップＳ２６２３）、ステップＳ２６１４へ移行する。ＣＯＭＰ＿ＡＲＲＡＹ（Ｘ）のＲ番目の立ち上がりに基づいてデコードして得られる位相差が、位相差ｘ1RΔτより小さい場合（ステップＳ２６２１：＜）、制御部７０１は、Ｔ４＿ＣＯＮ＜Ｍ＋１＞＝０とし（ステップＳ２６２２）、ステップＳ２６１４へ移行する。
【０１１６】
一方、Ｍ≧０でない場合（ステップＳ２６１９：Ｎｏ）、制御部７０１は、φR＝ｘ1RΔτ−ｙ1Rαとし（ステップＳ２６２４）、Ｒ＝Ｒ＋１とし（ステップＳ２６２５）、Ｒ＞２であるか否かを判断する（ステップＳ２６２６）。制御部７０１は、Ｒ＞２でない場合（ステップＳ２６２６：Ｎｏ）、ステップＳ２６１１へ戻る。一方、制御部７０１は、Ｒ＞２である場合（ステップＳ２６２６：Ｙｅｓ）、一連の処理を終了する。第３遅延素子Ｃ３２の遅延量τ４の増加方法は、種々変更可能である。
【０１１７】
つぎに、図２９について説明する。図２９では、制御部７０１は、第１切り替え部１０１を第１状態から第２に状態にする。制御部７０１は、開始条件を満たしたか否かを判断する（ステップＳ２９０１）。ステップＳ２９０１において、開始条件とは、ステップＳ２６０２の処理の実行である。ステップＳ２９０２〜Ｓ２９０３に示す処理は、ステップＳ２６０２の処理の実行後に行われる。開始条件が満たされていない場合（ステップＳ２９０１：Ｎｏ）、ステップＳ２９０１へ戻る。
【０１１８】
一方、開始条件が満たされた場合（ステップＳ２９０１：Ｙｅｓ）、制御部７０１は、ＭＵＸＡ＿ＰＡＳＳの２番目の立ち上がりエッジを検出したか否かを判断する（ステップＳ２９０２）。ＭＵＸＡ＿ＰＡＳＳの２番目の立ち上がりエッジが検出されていない場合（ステップＳ２９０２：Ｎｏ）、ステップＳ２９０２へ戻る。
【０１１９】
一方、ＭＵＸＡ＿ＰＡＳＳの２番目の立ち上がりエッジが検出された場合（ステップＳ２９０２：Ｙｅｓ）、制御部７０１は、第１選択信号ＭＵＸＡ＿ＣＯＮ＝１とし（ステップＳ２９０３）、一連の処理を終了する。これにより、第１切り替え部１０１は、第１選択信号ＭＵＸＡ＿ＣＯＮの値に沿って第２遅延線Ｌ２の最終段の遅延素子の出力信号を選択して出力する。これにより、制御部７０１は、第１クロック信号Ｓｉｇｎａｌの半周期分であるＨｉｇｈの期間をＴＤＣ１６００内に取り込んでいる。
【０１２０】
つぎに、図３０について説明する。図３０では、制御部７０１は、第２切り替え部１０２を第１状態から第２に状態にする。制御部７０１は、開始条件を満たしたか否かを判断する（ステップＳ３００１）。ステップＳ３００１において、開始条件とは、ステップＳ２６０２の処理の実行である。ステップＳ３００２〜Ｓ３００３に示す処理は、ステップＳ２６０２の処理の実行後に行われる。開始条件が満たされていない場合（ステップＳ３００１：Ｎｏ）、ステップＳ３００１へ戻る。
【０１２１】
一方、開始条件が満たされた場合（ステップＳ３００１：Ｙｅｓ）、制御部７０１は、ＭＵＸＢ＿ＰＡＳＳの２番目の立ち上がりエッジを検出したか否かを判断する（ステップＳ３００２）。ＭＵＸＢ＿ＰＡＳＳの２番目の立ち上がりエッジが検出されていない場合（ステップＳ３００２：Ｎｏ）、ステップＳ３００２へ戻る。
【０１２２】
一方、ＭＵＸＢ＿ＰＡＳＳの２番目の立ち上がりエッジが検出された場合（ステップＳ３００２：Ｙｅｓ）、制御部７０１は、第２選択信号ＭＵＸＢ＿ＣＯＮ＝１とし（ステップＳ３００３）、一連の処理を終了する。これにより、第２切り替え部１０２は、第２選択信号ＭＵＸＢ＿ＣＯＮの値に基づいて第１遅延線Ｌ１の最終段の遅延素子の出力信号を選択して出力する。これにより、制御部７０１は、第２クロック信号Ｒｅｆ  ＣＬＫの半周期分であるＨｉｇｈの期間をＴＤＣ１６００内に取り込んでいる。
【０１２３】
つぎに、図３１について説明する。制御部７０１は、Ｂ＿ＲＩＳＥ≧１であるか否かを判断する（ステップＳ３１０１）。Ｂ＿ＲＩＳＥ≧１でない場合（ステップＳ３１０１：Ｎｏ）、ステップＳ３１０１へ戻る。
【０１２４】
一方、Ｂ＿ＲＩＳＥ≧１である場合（ステップＳ３１０１：Ｙｅｓ）、制御部７０１は、ＤＬ２＿ＥＮＤの２番目の立ち上がりエッジを検出したか否かを判断する（ステップＳ３１０２）。ＤＬ２＿ＥＮＤの立ち上がりエッジが検出されていない場合（ステップＳ３１０２：Ｎｏ）、ステップＳ３１０２へ戻る。
【０１２５】
ＤＬ２＿ＥＮＤの２番目の立ち上がりエッジが検出された場合（ステップＳ３１０２：Ｙｅｓ）、制御部７０１は、Ｘ＝Ｂ＿ＲＩＳＥとし（ステップＳ３１０３）。「ＣＯＭＰ＿ＡＲＲＡＹ（Ｘ）＝ＣＯＭＰ＜Ｎ：０＞」とする（ステップＳ３１０４）。そして、制御部７０１は、終了条件を満たしたか否かを判断する（ステップＳ３１０５）。終了条件としては、たとえば、図２８に示すステップＳ２６２６がＹｅｓの場合が挙げられる。
【０１２６】
終了条件が満たされていない場合（ステップＳ３１０５：Ｎｏ）、ステップＳ３１０２へ戻る。一方、終了条件が満たされた場合（ステップＳ３１０５：Ｙｅｓ）、一連の処理を終了する。
【０１２７】
（実施例２にかかる制御部７０１が行う制御処理手順例４）
図３２〜図３４は、実施例２にかかる制御部７０１が行う制御処理手順例４を示すフローチャートである。制御処理手順例４では、制御信号Ｔ４＿ＣＯＮの各ビットの信号で調整可能な遅延量は、すべて同一である。制御処理手順例４では、制御部７０１は、第１クロック信号Ｓｉｇｎａｌおよび第２クロック信号Ｒｅｆ  ＣＬＫをそれぞれ１周期分取り込む。
【０１２８】
ステップＳ３２０１〜Ｓ３２１０は、それぞれ図２６に示すステップＳ２６０１〜Ｓ２６１０と同一処理である。ステップＳ３２１１、ステップＳ３２１２、ステップＳ３２１４〜Ｓ３２２１は、それぞれ図２７に示すステップＳ２６１１、ステップＳ２６１２、ステップＳ２６１４〜Ｓ２６２１と同一処理である。
【０１２９】
ステップＳ３２１１〜Ｓ３２１３、ステップＳ３２１４〜Ｓ３２２１は、それぞれ図２７に示すステップＳ２６１１〜Ｓ２６１３、ステップＳ２６１４〜Ｓ２６２１と同一処理である。ステップＳ３２２４〜Ｓ３２２６は、それぞれ図２８に示すステップＳ２６２４〜Ｓ２６２６と同一処理である。
【０１３０】
ステップＳ３２１３では、制御部７０１は、ｙ1R＝１とし（ステップＳ３２１３）、ステップＳ３２１４へ移行する。ステップＳ３２２３では、制御部７０１は、ｙ1R＝ｙ1R＋１とし（ステップＳ３２２３）、ステップＳ３２１４へ移行する。
【０１３１】
（正規化）
上述した位相差φは、Δτと、第３遅延素子の単位遅延量であるαと、によって表されている。そこで、制御部７０１は、ΔτをΔτよりも少ない遅延量であるαで補正することにより、ＴＤＣ１６００は、位相差検出の精度を向上させることができる。さらに、制御部７０１は、位相差φを正規化する。これにより、ＴＤＣ１６００は、位相差検出の精度を向上させることができる。
【０１３２】
正規化とは、位相差を周期によって除算することである。位相差が変化しても、１周期も同じ倍数に変化し、精度が十分得られれば、正規化された位相差の変動は少ない。たとえば、正規化された位相差が３／１３であり、遅延素子の遅延量が半分になると、位相差は、６／２６になり、正規化された位相差は変化しない。
【０１３３】
図３５は、実施例２における第１および第２クロックの周期の検出例を示す説明図である。波形図３５０１では、制御部７０１は、第１状態でのＣＯＭＰ＜Ｎ：０＞をデコードして位相差ｘ1Δτと、第１状態でのＣＯＭＰ＜Ｎ：０＞を立ち下がりに基づきデコードして遅延量ｘ2Δτと、を検出する。具体的には、制御部７０１は、第１状態でのＣＯＭＰ＜Ｎ：０＞の最下位ビットから順に０から１になる（立ち上がり）までの期間をカウントしてデコードする。波形図３５０１では、ｘ1は５であり、位相差ｘ1Δτは５Δτである。具体的には、制御部７０１は、第１状態でのＣＯＭＰ＜Ｎ：０＞の最下位ビットから順に１から０になる（立ち下がり）までの期間をカウントしてデコードする。波形図３５０１では、ｘ2は１０であり、遅延量ｘ2Δτは１０Δτである。
【０１３４】
波形図３５０２では、制御部７０１は、第２クロック信号Ｒｅｆ  ＣＬＫが第１遅延素子Ｃ１Ｎを通過して第２切り替え部１０２を通過した後に、第３遅延素子Ｃ３２の第１状態での遅延量に対して増加量を変化させる。波形図３５０２では、制御部７０１は、変化させた増加量の中で、第１状態でのＣＯＭＰ＜Ｎ：０＞を立ち下がりに基づきデコードして得られる遅延量が遅延量ｘ2Δτより小さくなる最小の増加量ｙ2αを特定する。波形図３５０２では、最小の増加量ｙ2αは１αである。
【０１３５】
波形図３５０３では、制御部７０１は、第２クロック信号Ｒｅｆ  ＣＬＫが第１遅延素子Ｃ１Ｎを通過して第２切り替え部１０２を通過した後に、第３遅延素子Ｃ３２の第１状態での遅延量に対して増加量を変化させる。波形図３５０２では、制御部７０１は、変化させた増加量の中で、第１状態でのＣＯＭＰ＜Ｎ：０＞をデコードして得られる位相差が位相差ｘ1Δτより小さくなる最小の第１増加量ｙ1αを特定する。波形図３５０２では、最小の増加量ｙ1αは３αである。
【０１３６】
つぎに、制御部７０１は、以下式（１）、式（２）によって第１クロック信号および第２クロック信号の周期を特定する。
【０１３７】
位相差φ＝ｘ1Δτ−ｙ1α
遅延量ｄｌ＝ｘ2Δτ−ｙ2α
Ｈｉｇｈ＿Ｔｉｍｅ＝遅延量ｄｌ−位相差φ
＝（ｘ2Δτ−ｙ2α）−（ｘ1Δτ−ｙ1α）  ・・・（式１）
第１クロック信号および第２クロック信号の周期Ｐｅｒｉｏｄ＝２×Ｈｉｇｈ＿Ｔｉｍｅ  ・・・（式２）
【０１３８】
図３５の例では、周期Ｐｅｒｉｏｄは「２×（（１０Δτ−１α）−（５Δτ−３α））」であり、「１０Δτ＋４α」である。
【０１３９】
図３６は、実施例２におけるΔτの特定例を示す説明図である。図１２の例では、制御部７０１は、Δτをαによって表す。制御部７０１は、変化させた増加量の中で、ＦＦ７１０〜７１Ｎに記憶された値をデコードして得られた位相差が、特定された最小の第１増加量ｙ1αを変化させた状態での位相差よりも小さくなる最小の第２増加量ｙ3αを特定する。
【０１４０】
具体的には、制御部７０１は、最小の第１増加量ｙ1αよりも増加量を増やす。上述したように、図１８の例で特定された最小の第１増加量ｙ1αは３αであり、特定された最小の第１増加量ｙ1αに変化させた後での位相差は４Δτである。図３６では、増加量が７αでの位相差が、増加量が３αでの位相差よりも小さくなる。
【０１４１】
そして、制御部７０１は、最小の第２増加量ｙ3αから最小の第１増加量ｙ1αを減算する。上述のΔτは、設計時にあらかじめ設定された値であるが、ここでは、Δτのより正確な値が得られる。図３６の例では、Δτは７α−３αであり、４αとなる。
【０１４２】
つぎに、制御部７０１は、算出された位相差を減算結果によって補正する。具体的には、制御部７０１は以下に示すようにΔτを４αに置き換える。
【０１４３】
φ＝５Δτ−３α
＝５×４α−３α
＝１７α
【０１４４】
出力部ＯＵＴは、補正後の位相差φを出力してもよい。これにより、ＴＤＣ１６００は、位相差検出の精度を向上させることができる。
【０１４５】
さらに、制御部７０１は、第１および第２クロック信号の周期を減算結果によって補正する。具体的には、制御部７０１は以下に示すようにΔτを４αに置き換える。
【０１４６】
Ｐｅｒｉｏｄ＝１０Δτ＋４α
＝１０×４α＋４α
＝４４α
【０１４７】
さらに、制御部７０１は、補正後の位相差を補正後の周期によって除算した位相差を算出する。具体的には、制御部７０１は、「除算後の位相差＝補正後のφ／補正後の周期」を算出する。出力部ＯＵＴは、制御部７０１によって除算後の位相差を出力する。これにより、ＴＤＣ１６００は、位相差を正規化することができる。したがって、ＴＤＣ１６００は、位相差検出の精度を向上させることができる。
【０１４８】
（実施例２にかかる制御部７０１による正規化処理手順）
図３７は、実施例２にかかる制御部７０１による正規化処理手順を示すフローチャートである。まず、制御部７０１は、遅延量ｄｌ（ｘ2Δτ＋ｙ2α）を検出する（ステップＳ３７０１）。ステップＳ３７０１については、図３５で示した処理と同様の処理を行う。制御部７０１は、位相差φ（ｘ1Δτ＋ｙ1α）を検出する（ステップＳ３７０２）。ステップＳ３７０２については、図３５に示した処理と同様の処理を行う。制御部７０１は、最小の第２増加量ｙ3αを検出する（ステップＳ３７０３）。ステップＳ３７０３については、図３６に示した処理と同様の処理を行う。
【０１４９】
制御部７０１は、Ｈｉｇｈ＿Ｔｉｍｅ＝（ｘ2Δτ＋ｙ2α）−（ｘ1Δτ＋ｙ1α）とし（ステップＳ３７０４）、周期Ｐｅｒｉｏｄ＝２×Ｈｉｇｈ＿Ｔｉｍｅとし（ステップＳ３７０５）。制御部７０１は、Δτ＝ｙ3α−ｙ1αとし（ステップＳ３７０６）、位相差φを算出されたΔτによって補正する（ステップＳ３７０７）。制御部７０１は、周期Ｐｅｒｉｏｄを算出されたΔτによって補正する（ステップＳ３７０８）。
【０１５０】
制御部７０１は、正規化後の位相差φ＝補正後の位相差φ／補正後の周期Ｐｅｒｉｏｄとする（ステップＳ３７０９）。そして、出力部ＯＵＴは、正規化後の位相差φを出力する。
【０１５１】
（実施例２にかかる遅延量ｄｌの検出処理手順例１）
図３８および図３９は、制御部７０１による遅延量ｄｌの検出処理手順例１を示すフローチャートである。遅延量ｄｌの検出処理手順例１では、制御信号Ｔ４＿ＣＯＮの各ビットの信号で調整可能な遅延量は、制御信号Ｔ４＿ＣＯＮの最下位ビットから最上位ビットまでの順に２倍ずつ異なっている。
【０１５２】
図３８および図３９に示すステップＳ３８０１〜Ｓ３８０８は、それぞれ図１９に示したＳ１９０１〜Ｓ１９０８と同一処理であるため、詳細な説明を省略する。ステップＳ３８１０〜Ｓ３８１７、ステップＳ３８２０は、それぞれ図２０に示したステップＳ１９１０〜Ｓ１９１７、ステップＳ１９２０と同一処理であるため、詳細な説明を省略する。
【０１５３】
ステップＳ３８０９では、制御部７０１は、ＣＯＭＰ＿ＡＲＲＡＹ（１）を立ち下がりに基づきデコードして遅延量ｘ2Δτを検出し（ステップＳ３８０９）、ステップＳ３８０５へ戻る。
【０１５４】
ステップＳ３８１８では、制御部７０１は、ＣＯＭＰ＿ＡＲＲＡＹ（Ｘ）を立ち下がりに基づきデコードして遅延量を検出する（ステップＳ３８１８）。そして、制御部７０１は、ＣＯＭＰ＿ＡＲＲＡＹ（Ｘ）を立ち下がりに基づきデコードして得られた遅延量と、遅延量ｘ2Δτと、を比較する（ステップＳ３８１９）。同一の場合（ステップＳ３８１９：＝）、制御部７０１は、ｙ2＝ｙ2＋２＾（Ｍ）とし（ステップＳ３８２１）、ステップＳ３８１２へ戻る。ＣＯＭＰ＿ＡＲＲＡＹ（Ｘ）を立ち下がりに基づきデコードして得られた遅延量が、遅延量ｘ2Δτより小さい場合（ステップＳ３８１９：＜）、ステップＳ３８２０へ移行する。
【０１５５】
ステップＳ３８２２では、制御部７０１は、遅延量ｄｌ＝ｘ2Δτ−ｙ2αとし（ステップＳ３８２２）、一連の処理を終了する。
【０１５６】
（実施例２にかかる遅延量ｄｌの検出処理手順例２）
図４０および図４１は、実施例２にかかる制御部７０１による遅延量ｄｌの検出処理手順例２を示すフローチャートである。遅延量ｄｌの検出処理手順例２では、制御信号Ｔ４＿ＣＯＮの各ビットの信号で調整可能な遅延量は、すべて同一である。
【０１５７】
ステップＳ４００１〜Ｓ４００９は、それぞれ図３８に示したステップＳ３８０１〜Ｓ３８０９と同一処理であるため、詳細な説明を省略する。ステップＳ４０１０、ステップＳ４０１２〜Ｓ４０２０、ステップＳ４０２２は、それぞれ図３９に示したステップＳ３８１０、ステップＳ３８１２〜Ｓ３８２０、ステップＳ３８２２と同一処理であるため、詳細な説明を省略する。
【０１５８】
ステップＳ４０１１では、制御部７０１は、ｙ2＝１とし（ステップＳ４０１１）、ステップＳ４０１２へ移行する。ステップＳ４０２１では、制御部７０１は、ｙ2＝ｙ2＋１とし（ステップＳ４０２１）、ステップＳ４０１２へ移行する。
【０１５９】
（実施例２にかかる最小の第２増加量ｙ3αの検出処理手順例１）
図４２〜図４４は、実施例２にかかる制御部７０１による最小の第２増加量ｙ3αの検出処理手順例１を示すフローチャートである。最小の第２増加量ｙ3αの検出処理手順例１では、制御信号Ｔ４＿ＣＯＮの各ビットの信号で調整可能な遅延量は、制御信号Ｔ４＿ＣＯＮの最下位ビットから最上位ビットまでの順に２倍ずつ異なっている。
【０１６０】
ステップＳ４２０１〜Ｓ４２０９は、それぞれ図１９に示したステップＳ１９０１〜Ｓ１９０９に示した処理と同一処理であるため、詳細な説明を省略する。ステップＳ４２１０〜Ｓ４２２１は、それぞれ図２０に示したステップＳ１９１０〜Ｓ１８２１に示した処理と同一処理であるため、詳細な説明を省略する。
【０１６１】
ステップＳ４２１７において、Ｍ≧０でない場合（ステップＳ４２１７：Ｎｏ）、制御部７０１は、ｐｈｄ＝ＣＯＭＰ＿ＡＲＲＡＹ（Ｘ）をデコードして得られる位相差とし（ステップＳ４２２２）、Ｍ＝Ｎ−１とする（ステップＳ４２２３）。制御部７０１はｙ3＝２＾（Ｎ）とし（ステップＳ４２２４）、Ｔ４＿ＣＯＮ＜Ｍ＞＝１とし（ステップＳ４２２５）、ＭＵＸＢ＿ＰＡＳの立ち下がりエッジを検出したか否かを判断する（ステップＳ４２２６）。
【０１６２】
ＭＵＸＢ＿ＰＡＳＳの立ち下がりエッジが検出されていない場合（ステップＳ４２２６：Ｎｏ）、ステップＳ４２２６へ戻る。一方、ＭＵＸＢ＿ＰＡＳの立ち下がりエッジが検出された場合（ステップＳ４２２６：Ｙｅｓ）、制御部７０１は、Ｂ＿ＦＡＬＬ＝Ｂ＿ＦＡＬＬ＋１とし（ステップＳ４２２７）、Ｂ＿ＦＡＬＬが偶数か否かを判断する（ステップＳ４２２８）。
【０１６３】
Ｂ＿ＦＡＬＬが偶数でない場合（ステップＳ４２２８：Ｎｏ）、ステップＳ４２２６へ戻る。Ｂ＿ＦＡＬＬが偶数の場合（ステップＳ４２２８：Ｙｅｓ）、制御部７０１は、Ｍ＝Ｍ−１とし（ステップＳ４２２９）、ＣＯＭＰ＿ＡＲＲＡＹ（Ｘ）をデコードして位相差を検出する（ステップＳ４２３０）。
【０１６４】
制御部７０１は、ＣＯＭＰ＿ＡＲＲＡＹ（Ｘ）をデコードして得られる位相差と、位相差ｐｈｄ＋Δτと、を比較する（ステップＳ４２３１）。ＣＯＭＰ＿ＡＲＲＡＹ（Ｘ）をデコードして得られる位相差が、位相差ｐｈｄ＋Δτよりも小さい場合（ステップＳ４２３１：＜）、制御部７０１は、ｙ3＝ｙ3＋２＾（Ｍ）とし（ステップＳ４２３２）、ステップＳ４２２５へ戻る。同一値の場合（ステップＳ４２３１：＝）、一連の処理を終了する。制御部７０１は、終了時のｙ3が最小の第２遅延量ｙ3として検出する。
【０１６５】
（実施例２にかかる最小の第２増加量ｙ3αの検出処理手順例２）
図４５〜図４７は、実施例２にかかる制御部７０１による最小の第２増加量ｙ3αの検出処理手順例２を示すフローチャートである。最小の第２増加量ｙ3αの検出処理手順例２では、制御信号Ｔ４＿ＣＯＮの各ビットの信号で調整可能な遅延量は、すべて同一である。
【０１６６】
ステップＳ４５０１〜Ｓ４５０９は、それぞれ図２４に示すステップＳ２４０１〜Ｓ２４０９と同一処理であるため、詳細な説明を省略する。ステップＳ４５１０〜Ｓ４５２１は、それぞれ図２５に示すステップＳ２４１０〜Ｓ２４２１と同一処理であるため、詳細な説明を省略する。ステップＳ４５２２、ステップＳ４５２３、ステップＳ４５２５〜Ｓ４５３１は、それぞれ図４４に示したステップＳ４２２２、ステップＳ４２２３、ステップＳ４２２５〜Ｓ４２３１と同一処理であるため、詳細な説明を省略する。
【０１６７】
ステップＳ４５２４では、制御部７０１は、ｙ3＝１とし（ステップＳ４５２４）、ステップＳ４５２５へ移行する。ステップＳ４５３２では、制御部７０１は、ｙ3＝ｙ3＋１とし（ステップＳ４５３２）、ステップＳ４５２５へ移行する。
【０１６８】
（実施例３）
実施例３にかかるＴＤＣは、第１切り替え部１０１と、第１遅延素子Ｃ１１との間に、可変の第３遅延素子Ｃ３１が設けられ、第３遅延素子Ｃ３１の遅延量を変化させることにより、精度の高い位相差を検出することができる。
【０１６９】
図４８は、実施例３にかかるＴＤＣを示す説明図である。ＴＤＣ４８００は、第１切り替え部１０１と、第２切り替え部１０２と、第１遅延素子Ｃ１１〜Ｃ１Ｎと、第２遅延素子Ｃ２１〜Ｃ２Ｎと、ＦＦ７１０〜７１Ｎと、第３遅延素子Ｃ３１と、第３遅延素子Ｃ３２と、制御部７０１と、を有している。
【０１７０】
第３遅延素子Ｃ３１は、第１切り替え部１０１と第１遅延素子Ｃ１１との間に設けられている。具体的には、第３遅延素子Ｃ３１は、第１切り替え部１０１によって入力された信号を遅延させて第１遅延素子Ｃ１１とＦＦ７１０のデータ入力端へ入力する。
【０１７１】
第３遅延素子Ｃ３２は、第２切り替え部１０２と第２遅延素子Ｃ２１との間に設けられている。具体的には、第３遅延素子Ｃ３２は、第１切り替え部１０１によって入力された信号を遅延させて第２遅延素子Ｃ２１とＦＦ７１０のクロック入力端へ入力する。
【０１７２】
第３遅延素子Ｃ３１の遅延量τ３は可変であり、制御部７０１は、制御信号Ｔ３＿ＣＯＮに基づいて第３遅延素子Ｃ３１の遅延量τ３を増減させることができる。第３遅延素子Ｃ３１の具体例は、図１７で示した第３遅延素子Ｃ３２と同一であってもよい。
【０１７３】
実施例３における第１状態から第２状態への切り替えは、実施例２における第１状態から第２状態への切り替えと同一処理である。
【０１７４】
具体的には、制御部７０１は、ＭＵＸＡ＿ＰＡＳＳの立ち下がりエッジを検出する都度、Ａ＿ＦＡＬＬをカウントアップする。Ａ＿ＦＡＬＬは変数である。Ａ＿ＦＡＬＬの値が偶数の場合、制御部７０１は、第１クロック信号Ｓｉｇｎａｌが第２遅延線Ｌ２を通過していると判断する。Ａ＿ＦＡＬＬの値が偶数の場合に、制御部７０１は、制御信号Ｔ３＿ＣＯＮの値を変化させる。これにより、制御部７０１は、第１クロック信号がループを一巡した後に、第３遅延素子Ｃ３２の第１状態での遅延量に対する第１増加量を変化させることができる。
【０１７５】
実施例３における位相差φの検出処理は、位相差φの検出処理と同一処理であるため、詳細な説明を省略する。
【０１７６】
（実施例４）
実施例４では、複数の第１遅延素子の各遅延量と複数の第２遅延素子の各遅延量が可変な場合における位相差の検出について示す。実施例４では、実施例１〜３で示した構成と同一構成については詳細な説明を省略する。
【０１７７】
図４９は、実施例４にかかるＴＤＣを示す説明図である。ＴＤＣ４９００は、第１切り替え部１０１と、第２切り替え部１０２と、第１遅延素子Ｃ１０〜Ｃ１Ｎと、第２遅延素子Ｃ２０〜Ｃ２Ｎと、ＦＦ７１０〜７１Ｎと、制御部７０１と、を有している。
【０１７８】
第１遅延素子Ｃ１０は、第１切り替え部１０１と、第１遅延素子Ｃ１１との間に設けられている。第２遅延素子Ｃ２０は、第２切り替え部１０２と、第２遅延素子Ｃ２１との間に設けられている。第１遅延素子Ｃ１０〜Ｃ１Ｎと、第２遅延素子Ｃ２０〜Ｃ２Ｎとは、制御部７０１からの制御信号によって遅延量が可変な遅延素子である。
【０１７９】
図５０は、第１遅延素子Ｃ１０〜Ｃ１Ｎと第２遅延素子Ｃ２０〜Ｃ２Ｎの詳細例を示す説明図である。第１遅延素子Ｃ１ｉ（ｉ＝０〜Ｎ）は、遅延素子と、遅延容量と、制御信号Ｔ１＿ＣＯＮ＜ｉ＞によってオン状態とオフ状態を切り替え可能なスイッチ５００１−ｉと、を有している。第２遅延素子Ｃ２ｉは、遅延素子と、遅延容量と、制御信号Ｔ２＿ＣＯＮ＜ｉ＞によってオン状態とオフ状態を切り替え可能なスイッチ５００２−ｉと、を有している。
【０１８０】
図５１は、第１遅延素子Ｃ１ｉの遅延量と第２遅延素子Ｃ２ｉの遅延量との差分を示す説明図である。テーブルでは、制御信号Ｔ２＿ＣＯＮ＜ｉ＞の値と制御信号Ｔ１＿ＣＯＮ＜ｉ＞の値とによって定まる第１遅延素子Ｃ１ｉの遅延量と第２遅延素子Ｃ２ｉの遅延量との遅延差を示している。たとえば、制御信号Ｔ２＿ＣＯＮ＜ｉ＞がＬであり、かつ制御信号Ｔ１＿ＣＯＮ＜ｉ＞がＬの場合、第１遅延素子Ｃ１ｉの遅延量は第１遅延量になり、第１遅延素子Ｃ１ｉの遅延量と第２遅延素子Ｃ２ｉの遅延量との差分は、第１差分であるΔτである。たとえば、制御信号Ｔ２＿ＣＯＮ＜ｉ＞がＬであり、かつ制御信号Ｔ１＿ＣＯＮ＜ｉ＞がＨの場合、第１遅延素子Ｃ１ｉの遅延量は第２遅延量になり、第１遅延素子Ｃ１ｉの遅延量と第２遅延素子Ｃ２ｉの遅延量の差分は、第２差分であるαである。
【０１８１】
制御信号Ｔ１＿ＣＯＮの値と制御信号Ｔ２＿ＣＯＮの値の組み合わせは、図５１のテーブルで示す例に限らず、２つの遅延素子の遅延差が少なくともΔτとαとに設定できればよいため、設計時に種々変更可能である。
【０１８２】
図５２は、実施例３における位相差の検出例を示す説明図である。制御部７０１による第１切り替え部１０１と第２切り替え部１０２を第１状態から第２状態に変更する処理は、実施例１で説明した処理と同一であるため、詳細な説明を省略する。
【０１８３】
制御部７０１は、第１状態において、第１遅延素子Ｃ１０〜Ｃ１Ｎの各スイッチを制御することにより、第１遅延素子Ｃ１０〜Ｃ１Ｎの遅延量を第１遅延量にする。これにより、第１遅延素子Ｃ１０〜Ｃ１Ｎの各遅延量と、第１遅延素子Ｃ１０〜Ｃ１Ｎのそれぞれに対応する第１遅延素子Ｃ１０〜Ｃ１Ｎの各遅延量と、の差分は、第１差分であるΔτになる。
【０１８４】
制御部７０１は、第２クロック信号Ｒｅｆ  ＣＬＫが第１遅延線Ｌ１を通過して第２切り替え部１０２を通過することによってループを一巡したか否かを判断する。第２クロック信号Ｒｅｆ  ＣＬＫが一巡した後に、制御部７０１は、第１遅延素子Ｃ１０〜Ｃ１Ｎから、第１遅延素子Ｃ１０からの段数と第１差分を乗じた遅延量が、第１状態での位相差より第１差分小さい位相差よりも大きくなる遅延素子を特定する。
【０１８５】
具体的には、制御部７０１は、ＭＵＸＢ＿ＰＡＳＳの立ち下がりエッジを検出する都度、Ｂ＿ＦＡＬＬをカウントアップする。Ｂ＿ＦＡＬＬが２の場合、制御部７０１は、第２クロック信号Ｒｅｆ  ＣＬＫが第１遅延線Ｌ１を通過して第２切り替え部１０２を通過したと判断する。そして、制御部７０１は、第１遅延素子Ｃ１０〜Ｃ１Ｎの各出力信号Ａ０〜ＡＮの立ち下がりエッジを検出する。
【０１８６】
制御部７０１は、第１遅延素子Ｃｉの各出力信号Ａｉの立ち下がりエッジが検出された場合、第１遅延素子Ｃ１０からの段数（ｉ＋１）とΔτを乗じた遅延量が、第１状態での位相差ｘ1ΔτよりΔτ小さい位相差よりも大きくなる第１遅延素子を特定する。制御部７０１は、特定された第１遅延素子の遅延量を第２遅延量に設定する。図５２の例では、第１遅延素子Ｃ１５〜Ｃ１Ｎが特定される。
【０１８７】
制御部７０１は、特定された遅延素子の遅延量を第２遅延量にする。制御部７０１は、特定された遅延素子の遅延量を第２遅延量にしてから第２クロック信号が第２切り替え部１０２を通過した後に、ＦＦ７１０〜７１Ｎに記憶された値をデコードして位相差を検出する。制御部７０１は、制御信号Ｔ１＿ＣＯＮ＜Ｎ：０＞のそれぞれの値に基づいてＣＯＭＰ＜Ｎ：０＞をデコードする。
【０１８８】
具体的には、Ｂ＿ＦＡＬＬが３の場合、制御部７０１は、ＣＯＭＰ＜Ｎ：０＞を最下位ビットから、０から１になる（立ち上がり）までの期間をカウントする。たとえば、０から１になる（立ち上がり）までの期間はＣＯＭＰ＜０＞〜ＣＯＭＰ＜５＞であるとする。Ｔ１＿ＣＯＮ＜０＞〜Ｔ１＿ＣＯＮ＜４＞が０であれば、第１遅延素子Ｃ１０〜Ｃ１５の各遅延量と、それぞれ第１遅延素子Ｃ１０〜Ｃ１５に対応する第２遅延素子Ｃ２０〜Ｃ２５の各遅延量と、の差分は、Δτである。Ｔ１＿ＣＯＮ＜５＞が１であれば、第１遅延素子Ｃ１６の遅延量と、第１遅延素子Ｃ１６に対応する第２遅延素子Ｃ２６の遅延量と、の差分は、αである。よって、位相差φは４Δτ＋１αである。出力部ＯＵＴは、検出された位相差φを出力する。
【０１８９】
（制御部７０１による制御処理手順例）
図５３および図５４は、実施例４にかかる制御部７０１による制御処理手順例を示すフローチャートである。制御部７０１は、ＳＴＡＲＴの立ち上がりエッジを検出したか否かを判断する（ステップＳ５３０１）。ＳＴＡＲＴの立ち上がりエッジが検出されていない場合（ステップＳ５３０１：Ｎｏ）、ステップＳ５３０１へ戻る。
【０１９０】
一方、ＳＴＡＲＴの立ち上がりエッジが検出された場合（ステップＳ５３０１：Ｙｅｓ）、制御部７０１は、ＭＵＸＡ＿ＣＯＮ＝０、ＭＵＸＢ＿ＣＯＮ＝０にする（ステップＳ５３０２）。これにより、第１切り替え部１０１は、第１選択信号ＭＵＸＡ＿ＣＯＮの値に基づいて第１クロック信号Ｓｉｇｎａｌを選択して出力することにより、第１状態になる。第２切り替え部１０２は、第２選択信号ＭＵＸＢ＿ＣＯＮの値に基づいて第２クロック信号Ｒｅｆ  ＣＬＫを選択して出力することにより、第１状態になる。制御部７０１による第１状態から第２状態への変化は、実施例２で説明した例と同一であるため、詳細な説明を省略する。
【０１９１】
つぎに、制御部７０１は、Ｂ＿ＦＡＬＬ＝０とし（ステップＳ５３０３）、Ｔ１＿ＣＯＮ＜Ｎ：０＞＝０とし（ステップＳ５３０４）、Ｔ２＿ＣＯＮ＜Ｎ：０＞＝０とする（ステップＳ５３０５）。ステップＳ５３０４とステップＳ５３０５とによって、制御部７０１は、第１状態において第１遅延素子Ｃ１０〜Ｃ１Ｎの遅延量と、それぞれ第２遅延素子Ｃ２０〜Ｃ２Ｎの遅延量と、の差分がΔτになる。
【０１９２】
そして、制御部７０１は、ＭＵＸＢ＿ＰＡＳＳの立ち下がりエッジを検出したか否かを判断する（ステップＳ５３０６）。ＭＵＸＢ＿ＰＡＳＳの立ち下がりエッジが検出されていない場合（ステップＳ５３０６：Ｎｏ）、ステップＳ５３０６へ戻る。一方、ＭＵＸＢ＿ＰＡＳＳの立ち下がりエッジが検出された場合（ステップＳ５３０６：Ｙｅｓ）、制御部７０１は、Ｂ＿ＦＡＬＬ＝Ｂ＿ＦＡＬＬ＋１とする（ステップＳ５３０７）。
【０１９３】
制御部７０１は、Ｂ＿ＦＡＬＬが２であるか否かを判断する（ステップＳ５３０８）。Ｂ＿ＦＡＬＬが２でない場合（ステップＳ５３０８：Ｎｏ）、制御部７０１は、ＣＯＭＰ＿ＡＲＲＡＹ（１）＝ＣＯＭＰ＜Ｎ：０＞とし（ステップＳ５３０９）、ＣＯＭＰ＿ＡＲＲＡＹ（１）をデコードして位相差ｘ1Δτを検出する（ステップＳ５３１０）。
【０１９４】
一方、Ｂ＿ＦＡＬＬが２の場合（ステップＳ５３０８：Ｙｅｓ）、制御部７０１は、Ａｉ（ｉ＝０〜Ｎ）の立ち上がりエッジを検出したか否かを判断する（ステップＳ５３１１−ｉ）。Ａｉの立ち上がりエッジが検出されていない場合（ステップＳ５３１１−ｉ：Ｎｏ）、ステップＳ５３１１−ｉへ戻る。Ａｉの立ち上がりエッジが検出された場合（ステップＳ５３１１−ｉ：Ｙｅｓ）、制御部７０１は、（ｉ＋１）×Δτ＞ｘ1Δτ−Δτであるか否かを判断する（ステップＳ５３１２−ｉ）。
【０１９５】
（ｉ＋１）×Δτ＞ｘ1Δτ−Δτである場合（ステップＳ５３１２−ｉ：Ｙｅｓ）、制御部７０１は、Ｔ１＿ＣＯＮ＜ｉ＞＝１とし（ステップＳ５３１３−ｉ）、ステップＳ５３１４へ移行する。一方、（ｉ＋１）×Δτ＞ｘ1Δτ−Δτでない場合（ステップＳ５３１２−ｉ：Ｎｏ）、制御部７０１は、ステップＳ５３１４へ移行する。
【０１９６】
つぎに、制御部７０１は、ＭＵＸＢ＿ＰＡＳＳの立ち下がりエッジを検出したか否かを判断する（ステップＳ５３１４）。ＭＵＸＢ＿ＰＡＳＳの立ち下がりエッジが検出されていない場合（ステップＳ５３１４：Ｎｏ）、ステップＳ５３１４へ戻る。ＭＵＸＢ＿ＰＡＳＳの立ち下がりエッジが検出された場合（ステップＳ５３１４：Ｙｅｓ）、制御部７０１は、Ｂ＿ＦＡＬＬ＝Ｂ＿ＦＡＬＬ＋１とする（ステップＳ５３１５）。制御部７０１は、ＣＯＭＰ＿ＡＲＲＡＹ（１）をデコードして位相差φ（ｘ1Δτ＋ｙα）を検出し（ステップＳ５３１６）、一連の処理を終了する。出力部ＯＵＴは、検出された位相差φを出力する。
【０１９７】
（実施例４における正規化例）
図５５および図５６は、実施例４における正規化例を示す説明図である。図５５では、制御部７０１は、実施例２で説明したように遅延量ｄｌを検出する。そして、制御部７０１は、遅延量ｄｌから位相差φを減算することにより、周期Ｐｅｒｉｏｄを検出する。
【０１９８】
図５６では、制御部７０１は、最小の第２増加量ｙ3αを検出する。制御部７０１は、最小の第２増加量ｙ3αから最小の第１増加量ｙ1αを減算して、Δτを算出する。制御部７０１は、位相差φと周期Ｐｅｒｉｏｄを算出されたΔτで補正する。制御部７０１は、補正後の位相差φを補正後の周期Ｐｅｒｉｏｄで除算することにより、位相差φを正規化する。出力部ＯＵＴは、正規化後の位相差φを出力する。
【０１９９】
以上説明したように、実施例１にかかる時間対デジタル変換器は、取り込んだ２つのクロック信号が第１および第２遅延素子群を交互に通過するループを形成する。これにより、２つのクロック信号に同一遅延量が付与される。したがって、時間対デジタル変換器は、遅延素子のＰＶＴばらつきによる位相差検出の精度劣化を抑えることができる。また、本発明にかかる時間対デジタル変換器は、ＰＶＴによるばらつきを小さくするためにＤＬＬを利用した場合と比較して、回路が簡単である。このため、たとえば、面積を小さくすることができる。また、たとえば、消費電力を小さくすることができる。
【０２００】
また、実施例２および実施例３にかかる時間対デジタル変換器は、第１遅延素子群または第２遅延素子群の前段に遅延量が可変な遅延素子を有し、可変な遅延素子の遅延量を調整する。これにより、時間対デジタル変換器は、第１遅延素子の遅延量と第２遅延素子の遅延量との差分よりも小さい遅延量によって、２つのクロック信号の位相差の精度を向上させることができる。
【０２０１】
また、実施例２および実施例３にかかる時間対デジタル変換器は、第１遅延素子の遅延量と第２遅延素子の遅延量との差分を算出し、２つのクロック信号の位相差を算出した差分によって補正する。これにより、時間対デジタル変換器による２つのクロック信号の位相差の精度を向上させることができる。
【０２０２】
また、実施例２および実施例３にかかる時間対デジタル変換器は、位相差を正規化する。これにより、時間対デジタル変換器による２つのクロック信号の位相差の精度を向上させることができる。
【０２０３】
また、実施例４にかかる時間対デジタル変換器は、第１遅延素子群または第２遅延素子群のいずれか一方の遅延素子群の各遅延量をスイッチによって切り替え可能である。これにより、時間対デジタル変換器は、第１遅延素子の遅延量と第２遅延素子の遅延量との差分よりも小さい遅延量によって、２つのクロック信号の位相差の精度を向上させることができる。時間対デジタル変換器による遅延量の調整処理にかかる時間を短縮することができる。
【０２０４】
また、実施例４にかかる時間対デジタル変換器は、第１遅延素子の遅延量と第２遅延素子の遅延量との差分を算出し、２つのクロック信号の位相差を算出した差分によって補正する。これにより、時間対デジタル変換器による２つのクロック信号の位相差の精度を向上させることができる。
【符号の説明】
【０２０５】
１００，１６００，４８００，４９００  ＴＤＣ
Ｃ１０〜Ｃ１Ｎ  第１遅延素子
Ｃ２０〜Ｃ２Ｎ  第２遅延素子
１０１  第１切り替え部
１０２  第２切り替え部
７０１  制御部
Ｃ３１，Ｃ３２  第３遅延素子
７１０〜７１Ｎ  ＦＦ
φ  位相差
ｙ1α  最小の第１増加量
ｙ3α  最小の第２増加量
【図１】
2013145136.tif 000003
【図２】
2013145136.tif 000004
【図３】
2013145136.tif 000005
【図４】
2013145136.tif 000006
【図５】
2013145136.tif 000007
【図６】
2013145136.tif 000008
【図７】
2013145136.tif 000009
【図８】
2013145136.tif 000010
【図９】
2013145136.tif 000011
【図１０】
2013145136.tif 000012
【図１１】
2013145136.tif 000013
【図１２】
2013145136.tif 000014
【図１３】
2013145136.tif 000015
【図１４】
2013145136.tif 000016
【図１５】
2013145136.tif 000017
【図１６】
2013145136.tif 000018
【図１７】
2013145136.tif 000019
【図１８】
2013145136.tif 000020
【図１９】
2013145136.tif 000021
【図２０】
2013145136.tif 000022
【図２１】
2013145136.tif 000023
【図２２】
2013145136.tif 000024
【図２３】
2013145136.tif 000025
【図２４】
2013145136.tif 000026
【図２５】
2013145136.tif 000027
【図２６】
2013145136.tif 000028
【図２７】
2013145136.tif 000029
【図２８】
2013145136.tif 000030
【図２９】
2013145136.tif 000031
【図３０】
2013145136.tif 000032
【図３１】
2013145136.tif 000033
【図３２】
2013145136.tif 000034
【図３３】
2013145136.tif 000035
【図３４】
2013145136.tif 000036
【図３５】
2013145136.tif 000037
【図３６】
2013145136.tif 000038
【図３７】
2013145136.tif 000039
【図３８】
2013145136.tif 000040
【図３９】
2013145136.tif 000041
【図４０】
2013145136.tif 000042
【図４１】
2013145136.tif 000043
【図４２】
2013145136.tif 000044
【図４３】
2013145136.tif 000045
【図４４】
2013145136.tif 000046
【図４５】
2013145136.tif 000047
【図４６】
2013145136.tif 000048
【図４７】
2013145136.tif 000049
【図４８】
2013145136.tif 000050
【図４９】
2013145136.tif 000051
【図５０】
2013145136.tif 000052
【図５１】
2013145136.tif 000053
【図５２】
2013145136.tif 000054
【図５３】
2013145136.tif 000055
【図５４】
2013145136.tif 000056
【図５５】
2013145136.tif 000057
【図５６】
2013145136.tif 000058
【国際調査報告】
2013145136.tif 000059
2013145136.tif 000060