(57)【要約】【課題】超高速データ伝送に対応可能なクロックリカバリ回路を提供する。【解決手段】エッジ検知回路２２０は、ＶＣＯ２００からの多相クロックＣＬＫ０〜ＣＬＫ４のうちのどの２つのクロックのエッジ間で入力データ信号Ｄａｔａが遷移したかを検知する。エッジ検知回路２２０は検知の結果に応じてマスク信号Ｗ０〜Ｗ４のうち１つを所定期間　活性化する。遅延セル２００ａ〜２００ｅの各々は、エッジ検知回路２２０からのマスク信号Ｗ０〜Ｗ４のうち対応するマスク信号に応答して前段の遅延セルの出力信号または遅延回路２１０からの入力データ信号Ｄ＿Ｄａｔａを選択する。【選択図】　図２
2004015689.tif 000002
【特許請求の範囲】
【請求項１】
互いに位相が異なりかつ所定の周波数を有する複数のクロックを生成する第１の発振回路と、
前記複数のクロックのうちのどの２つのクロックのエッジ間において入力データ信号が遷移したかを検知するエッジ検知回路とを備え、
前記第１の発振回路は、
リング状に接続された複数の遅延セルを含み、当該複数の遅延セルの出力を前記複数のクロックとして出力し、
前記複数の遅延セルの各々は、
前記入力データ信号に第１の遅延が付加された信号または前段の遅延セルの出力信号を選択的に遅延させて出力し、
前記エッジ検知回路は、
前記複数の遅延セルのうち前記検知の結果に応じた１つの遅延セルを、前記入力データ信号に第１の遅延が付加された信号を遅延させて出力するように制御する
ことを特徴とするクロックリカバリ回路。
【請求項２】
請求項１において、
前記エッジ検知回路は、
前記複数の遅延セルに対応して設けられた複数の遅延パスセレクタを含み、
前記複数の遅延パスセレクタの各々は、
前記複数のクロックのうち対応する２つのクロックのエッジ間において前記入力データ信号が遷移すると、これに応答して所定期間　活性のマスク信号を対応する遅延セルに出力し、
前記複数の遅延セルの各々は、
対応する遅延パスセレクタからのマスク信号が活性のとき、前記入力データ信号に第１の遅延が付加された信号を遅延させて出力する
ことを特徴とするクロックリカバリ回路。
【請求項３】
請求項２において、
前記所定期間は、
前記複数の遅延パスセレクタの各々に対応する遅延セルの前段の遅延セルの出力信号の遷移ポイントと、
前記入力データ信号に第１の遅延が付加された信号の遷移ポイントとを含む
ことを特徴とするクロックリカバリ回路。
【請求項４】
請求項２において、
前記複数の遅延パスセレクタの各々はラッチ回路を含み、
前記ラッチ回路は、
前記複数の遅延パスセレクタの各々に対応する２つのクロックのエッジ間で活性となるパルス信号を前記入力データ信号のエッジに応答してラッチし、
ラッチした信号を、前記２つのクロックのエッジから所定の位相だけ遅れたリセット信号に応答してリセットする
ことを特徴とするクロックリカバリ回路。
【請求項５】
請求項４において、
前記リセット信号は、
前記複数のクロックのうちのいずれかのクロックのエッジに同期している
ことを特徴とするクロックリカバリ回路。
【請求項６】
請求項２において、
前記第１の発振回路からの複数のクロックに第２の遅延を付加する第１の遅延回路と、
前記第２の遅延の遅延量を制御する制御回路とをさらに備え、
前記複数の遅延パスセレクタの各々は、
前記第１の遅延回路によって第２の遅延が付加された複数のクロックのうち対応する２つのクロックのエッジ間において前記入力データ信号が遷移すると、これに応答して所定期間　活性のマスク信号を対応する遅延セルに出力する
ことを特徴とするクロックリカバリ回路。
【請求項７】
請求項６において、
前記制御回路は、
第１のクロックと第２のクロックとの位相差が所定の値になるように前記第２の遅延の遅延量をフィードバック制御し、
前記第１のクロックは、
前記第１の発振回路からの複数のクロックのうちの一のクロックに前記第２の遅延と第３の遅延とが付加されたものであり、
前記第３の遅延の遅延量は、
前記複数の遅延パスセレクタのうちの一の遅延パスセレクタにおいて生じる遅延量を含み、
前記第２のクロックは、
前記第１の発振回路からの複数のクロックのうちの他の一のクロックである
ことを特徴とするクロックリカバリ回路。
【請求項８】
請求項６において、
前記制御回路は、
前記入力データ信号のデータレートに応じて前記第２の遅延の遅延量を離散的に設定する
ことを特徴とするクロックリカバリ回路。
【請求項９】
請求項１において、
ＰＬＬ回路をさらに備え、
前記ＰＬＬ回路は、
前記第１の発振回路と同一構成の第２の発振回路を含み、
前記第２の発振回路は、
第１のバイアス電圧に応じた周波数で発振し、
前記ＰＬＬ回路は、
前記第２の発振回路の発振周波数が基準周波数に等しくなるように前記第１のバイアス電圧をフィードバック制御し、
前記第１の発振回路は、
前記第１のバイアス電圧に応じた周波数で発振する
ことを特徴とするクロックリカバリ回路。
【請求項１０】
請求項９において、
前記エッジ検知回路は、
前記第１の発振回路における複数の遅延セルに対応して設けられた複数の遅延パスセレクタを含み、
前記複数の遅延パスセレクタの各々は、
前記第１の発振回路からの複数のクロックのうち対応する２つのクロックのエッジ間において前記入力データ信号が遷移すると、これに応答して所定期間　活性のマスク信号を対応する遅延セルに出力し、
前記第１の発振回路における複数の遅延セルの各々は、
対応する遅延パスセレクタからのマスク信号が活性のとき、前記入力データ信号に第１の遅延が付加された信号を遅延させて出力する
ことを特徴とするクロックリカバリ回路。
【請求項１１】
請求項１０において、
前記第１の発振回路からの複数のクロックと前記第２の発振回路からの複数のクロックとに第２の遅延を付加する第１の遅延回路と、
前記第２の遅延の遅延量を制御する制御回路とをさらに備え、
前記複数の遅延パスセレクタの各々は、
前記第１の遅延回路によって第２の遅延が付加された前記第１の発振回路からの複数のクロックのうち対応する２つのクロックのエッジ間において前記入力データ信号が遷移すると、これに応答して所定期間　活性のマスク信号を前記第１の発振回路における対応する遅延セルに出力する
ことを特徴とするクロックリカバリ回路。
【請求項１２】
請求項１１において、
前記制御回路は、
第１のクロックと第２のクロックとの位相差が所定の値になるように前記第２の遅延の遅延量をフィードバック制御し、
前記第１のクロックは、
前記第２の発振回路からの複数のクロックのうちの一のクロックに前記第２の遅延と第３の遅延とが付加されたものであり、
前記第３の遅延の遅延量は、
前記複数の遅延パスセレクタのうちの一の遅延パスセレクタにおいて生じる遅延量を含み、
前記第２のクロックは、
前記第２の発振回路からの複数のクロックのうちの他の一のクロックである
ことを特徴とするクロックリカバリ回路。
【請求項１３】
請求項１１において、
前記制御回路は、
前記入力データ信号のデータレートに応じて前記第２の遅延の遅延量を離散的に設定する
ことを特徴とするクロックリカバリ回路。
【請求項１４】
請求項１において、
前記第１の発振回路の発振周波数と基準周波数とを比較する周波数検知回路と、
前記周波数検知回路による比較の結果に応じた制御信号を出力する制御信号発生回路とをさらに備え、
前記第１の発振回路は、
前記制御信号発生回路からの制御信号に応じた周波数で発振する
ことを特徴とするクロックリカバリ回路。
【請求項１５】
請求項１において、
前記入力データ信号のエッジを間引く間引き部をさらに備え、
前記エッジ検知回路は、
前記間引き部によってエッジが間引かれた入力データ信号が、前記複数のクロックのうちのどの２つのクロックのエッジ間において遷移したかを検知し、
前記複数の遅延セルの各々は、
前記間引き部によってエッジが間引かれた入力データ信号に第１の遅延が付加された信号または前段の遅延セルの出力信号を選択的に遅延させて出力し、
前記エッジ検知回路は、
前記複数の遅延セルのうち前記検知の結果に応じた１つの遅延セルを、前記間引き部によってエッジが間引かれた入力データ信号に第１の遅延が付加され信号を遅延させて出力するように制御する
ことを特徴とするクロックリカバリ回路。
【請求項１６】
請求項１５において、
前記間引き部は、前記入力データ信号を分周する分周器を含む
ことを特徴とするクロックリカバリ回路。
【請求項１７】
互いに位相が異なりかつ所定の周波数を有する複数のクロックを生成する多相クロック発生回路と、
前記複数のクロックのうちのどの２つのクロックのエッジ間において入力データ信号が遷移したかを検知するエッジ検知部と、
前記複数のクロックのうち前記エッジ検知部による検知結果に応じた一のクロックと前記入力データ信号に第１の遅延が付加された信号との位相を比較する位相比較部と、
前記位相比較部による比較の結果に応じて前記複数のクロックの位相を制御する制御回路とを備える
ことを特徴とするクロックリカバリ回路。
【請求項１８】
請求項１７において、
前記エッジ検知部は複数の検知回路を含み、
前記位相比較部は、前記複数の検知回路に対応して設けられた複数の位相比較器を含み、
前記複数の検知回路の各々は、
前記複数のクロックのうち対応する２つのクロックのエッジ間において前記入力データ信号が遷移すると、これに応答して所定期間　活性のマスク信号を対応する位相比較器に出力し、
前記複数の位相比較器の各々は、
対応する検知回路からのマスク信号が活性のとき、前記複数のクロックのうち対応する一のクロックと前記入力データ信号に第１の遅延が付加された信号との位相を比較する
ことを特徴とするクロックリカバリ回路。
【請求項１９】
請求項１８において、
前記複数の検知回路の各々はラッチ回路を含み、
前記ラッチ回路は、
前記対応する２つのクロックのエッジ間で活性となるパルス信号を前記入力データ信号のエッジに応答してラッチし、
ラッチした信号を、前記対応する２つのクロックのエッジから所定の位相だけ遅れたリセット信号に応答してリセットする
ことを特徴とするクロックリカバリ回路。
【請求項２０】
請求項１９において、
前記リセット信号は、
前記複数のクロックのうちのいずれかのクロックのエッジに同期している
ことを特徴とするクロックリカバリ回路。
【請求項２１】
請求項１７において、
前記多相クロック発生回路は第１の発振回路を含み、
前記第１の発振回路は、
リング状に接続された複数の遅延セルを含み、当該複数の遅延セルの出力を前記複数のクロックとして出力する
ことを特徴とするクロックリカバリ回路。
【請求項２２】
請求項２１において、
ＰＬＬ回路をさらに備え、
前記ＰＬＬ回路は、
前記第１の発振回路と同一構成の第２の発振回路を含み、
前記第２の発振回路は、
第１のバイアス電圧と第２のバイアス電圧とに応じた周波数で発振し、
前記ＰＬＬ回路は、
前記第２の発振回路の発振周波数が基準周波数に等しくなるように前記第１のバイアス電圧をフィードバック制御し、
前記制御回路は、
前記位相比較部による比較の結果に応じた第３のバイアス電圧を出力し、
前記第１の発振回路は、
前記第１のバイアス電圧と前記第３のバイアス電圧とに応じた周波数で発振する
ことを特徴とするクロックリカバリ回路。
【請求項２３】
請求項２２において、
前記第２のバイアス電圧は、
電源電圧と接地電圧との中間電位に設定される
ことを特徴とするクロックリカバリ回路。
【請求項２４】
請求項２１において、
前記第１の発振回路の発振周波数と基準周波数とを比較する周波数検知回路と、
前記周波数検知回路による比較の結果に応じた制御信号を出力する制御信号発生回路とをさらに備え、
前記第１の発振回路は、
前記制御信号発生回路からの制御信号に応じた周波数で発振する
ことを特徴とするクロックリカバリ回路。
【請求項２５】
請求項１７において、
前記入力データ信号に第２の遅延を付加する第１の遅延回路と、
前記多相クロック発生回路からの複数のクロックに第３の遅延を付加する第２の遅延回路とをさらに備え、
前記エッジ検知部は、
前記第２の遅延が付加された入力データ信号が、前記第３の遅延が付加された複数のクロックのうちのどの２つのクロックのエッジ間において遷移したかを検知し、
前記位相比較部は、
前記第３の遅延が付加された複数のクロックのうち前記エッジ検知部による検知結果に応じた一のクロックと、前記入力データ信号に前記第１の遅延および前記第２の遅延が付加された信号との位相を比較し、
前記制御回路は、
前記位相比較部による比較の結果に応じて前記第２の遅延の遅延量および／または前記第３の遅延の遅延量を制御する
ことを特徴とするクロックリカバリ回路。
【請求項２６】
請求項１７において、
前記多相クロック発生回路は、
複数段の遅延セルと、遅延制御部とを含み、前記複数段の遅延セルの出力を前記複数のクロックとして出力し、
前記複数段の遅延セルの初段の遅延セルの入力には基準クロックが与えられ、
前記遅延制御部は、
前記複数段の遅延セルの最終段の遅延セルの出力と前記基準クロックとの位相を比較し、比較の結果に応じて前記複数段の遅延セルの遅延量を制御する
ことを特徴とするクロックリカバリ回路。
【請求項２７】
請求項１７において、
前記入力データ信号のエッジを間引く間引き部をさらに備え、
前記エッジ検知部は、
前記間引き部によってエッジが間引かれた入力データ信号が、前記複数のクロックのうちのどの２つのクロックのエッジ間において遷移したかを検知し、
前記位相比較部は、
前記複数のクロックのうち前記エッジ検知部による検知結果に応じた一のクロックと、前記間引き部によってエッジが間引かれた入力データ信号に第１の遅延が付加された信号との位相を比較する
ことを特徴とするクロックリカバリ回路。
【請求項２８】
請求項２７において、
前記間引き部は、前記入力データ信号を分周する分周器を含む
ことを特徴とするクロックリカバリ回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はクロックリカバリ回路に関し、さらに詳しくは、データに同期した多相クロックを当該データから抽出するクロックリカバリ回路に関する。
【０００２】
【従来の技術および発明が解決しようとする課題】
データの送受信を行うためにはデータとクロックとが必要である。このクロックはデータの取り込みタイミングの基準となる信号である。互いに接続された機器間でのデータ通信などのようにある程度の距離でのデータ通信においてデータを送る経路とクロックを送る経路とを別々に設けると、経路長の差や歪レベルの差により、送信側で設定したデータとクロックとの位相関係を受信側で正確に受信できない場合がある。このため高速なデータ通信を実現できない。この課題を解決するため、受信側でデータの遷移からクロックを抽出し再生するクロックリカバリ技術が用いられている。
【０００３】
図１７（ａ）は、特開平８−２１３９７９号公報に開示されている従来のクロックリカバリ回路の構成を示す図である。図１７（ａ）に示すクロックリカバリ回路は、ＶＣＯ１００，１０１と、遅延回路１０２と、論理回路１０３，１０４とを備える。ＶＣＯ１００は、バイアス電圧ＢＩＡＳに応じた周波数で発振する。ＶＣＯ１０１は、ＶＣＯ１００と同一の構成を有する。遅延回路１０２は、非同期入力データ信号Ｄａｔａを伝送レートの１／２周期遅らせる。論理回路１０３は、入力データ信号Ｄａｔａと遅延回路１０２からの信号との排他的論理和をとる。すなわち論理回路１０３は、入力データ信号Ｄａｔａの遷移に応答して、入力データ信号Ｄａｔａの伝送レートの１／２周期の幅のローパルスを出力する。論理回路１０４は、ＶＣＯ１０１の出力信号と論理回路１０３の出力信号との論理積を出力する。
【０００４】
図１７（ｂ）に示すようにこのクロックリカバリ回路では、入力データ信号Ｄａｔａの遷移に応答して入力データ信号Ｄａｔａの伝送レートの１／２の期間Ｌレベルとなる信号Ｇｄａｔが論理回路１０３から出力される。ＶＣＯ１０１によって生成されたクロックと論理回路１０３からの信号Ｇｄａｔとの論理積を論理回路１０４でとることにより、非同期入力データ信号Ｄａｔａに同期したクロックＥＣＫが抽出される。この構成により、ＶＣＯ１０１が所定の周波数でロックしてさえいれば、入力データに対してクロック位相を瞬時にロックさせることが可能となる。
【０００５】
しかしながら図１７（ａ）に示すクロックリカバリ回路では単相クロックＥＣＫを使うため、ＶＣＯ１０１の発振周波数は入力データ信号Ｄａｔａのデータレートと等しい必要がある。また、ＶＣＯ１０１のループに論理回路１０４が挿入されるため、対応可能なデータレートの上限は、ＶＣＯ１０１を構成する遅延回路の合計遅延時間と論理回路１０４の遅延時間との合計で規定される。したがって超高速のデータ伝送には不向きである。
【０００６】
【課題を解決するための手段および発明の効果】
この発明の１つの局面に従うと、クロックリカバリ回路は、第１の発振回路と、エッジ検知回路とを備える。第１の発振回路は、互いに位相が異なりかつ所定の周波数を有する複数のクロックを生成する。エッジ検知回路は、第１の発振回路からの複数のクロックのうちのどの２つのクロックのエッジ間において入力データ信号が遷移したかを検知する。第１の発振回路は、リング状に接続された複数の遅延セルを含み、当該複数の遅延セルの出力を上記複数のクロックとして出力する。複数の遅延セルの各々は、入力データ信号に第１の遅延が付加された信号または前段の遅延セルの出力信号を選択的に遅延させて出力する。エッジ検知回路は、複数の遅延セルのうち検知の結果に応じた１つの遅延セルを、入力データ信号に第１の遅延が付加された信号を遅延させて出力するように制御する。
【０００７】
上記クロックリカバリ回路では、第１の発振回路からの複数のクロックのうちのどの２つのクロックのエッジ間で入力データ信号が遷移したかを検知する。そして第１の発振回路の複数の遅延セルのうち検知の結果に応じた１つの遅延セルの入力を前段の遅延セルの出力信号から、入力データ信号に第１の遅延が付加された信号に切り替える。これにより、入力データ信号に同期した複数のクロック（多相クロック）が得られる。
【０００８】
また、入力データ信号の遷移を検知するごとに適切なクロックエッジとデータエッジとをすりかえることにより第１の発振回路からの多相クロックの位相を最適化する。したがって、データ伝送が開始されると瞬時に入力データ信号と多相クロックとの位相関係がロックする。ゆえにバーストモード伝送にも対応することができる。
【０００９】
また、第１の発振回路からの複数のクロックの位相間隔と入力データ信号のデータレートとを等しくなるように設定すると、第１の発振回路の発振周波数は入力データ信号のデータレートの１／Ｎとなる。ここでＮは、第１の発振回路に含まれる遅延セルの段数である。これにより、従来のクロックリカバリ回路と比べてクロック周波数が緩和され、より高速なデータレートを有するデータ伝送にも対応可能である。
【００１０】
好ましくは、上記エッジ検知回路は、複数の遅延パスセレクタを含む。複数の遅延パスセレクタは、複数の遅延セルに対応して設けられる。複数の遅延パスセレクタの各々は、上記複数のクロックのうち対応する２つのクロックのエッジ間において入力データ信号が遷移すると、これに応答して所定期間　活性のマスク信号を対応する遅延セルに出力する。複数の遅延セルの各々は、対応する遅延パスセレクタからのマスク信号が活性のとき、入力データ信号に第１の遅延が付加された信号を遅延させて出力する。
【００１１】
好ましくは、上記所定期間は、複数の遅延パスセレクタの各々に対応する遅延セルの前段の遅延セルの出力信号の遷移ポイントと、入力データ信号に第１の遅延が付加された信号の遷移ポイントとを含む。
【００１２】
好ましくは、上記複数の遅延パスセレクタの各々はラッチ回路を含む。ラッチ回路は、複数の遅延パスセレクタの各々に対応する２つのクロックのエッジ間で活性となるパルス信号を入力データ信号のエッジに応答してラッチし、ラッチした信号を、上記２つのクロックのエッジから所定の位相だけ遅れたリセット信号に応答してリセットする。
【００１３】
好ましくは、上記リセット信号は、上記複数のクロックのうちのいずれかのクロックのエッジに同期している。
【００１４】
好ましくは、上記クロックリカバリ回路は、第１の遅延回路と、制御回路とをさらに備える。第１の遅延回路は、第１の発振回路からの複数のクロックに第２の遅延を付加する。制御回路は、第２の遅延の遅延量を制御する。複数の遅延パスセレクタの各々は、第１の遅延回路によって第２の遅延が付加された複数のクロックのうち対応する２つのクロックのエッジ間において入力データ信号が遷移すると、これに応答して所定期間　活性のマスク信号を対応する遅延セルに出力する。
【００１５】
好ましくは、上記制御回路は、第１のクロックと第２のクロックとの位相差が所定の値になるように第２の遅延の遅延量をフィードバック制御する。第１のクロックは、第１の発振回路からの複数のクロックのうちの一のクロックに第２の遅延と第３の遅延とが付加されたものである。第３の遅延の遅延量は、複数の遅延パスセレクタのうちの一の遅延パスセレクタにおいて生じる遅延量を含む。第２のクロックは、第１の発振回路からの複数のクロックのうちの他の一のクロックである。
【００１６】
好ましくは、上記制御回路は、入力データ信号のデータレートに応じて第２の遅延の遅延量を離散的に設定する。
【００１７】
好ましくは、上記クロックリカバリ回路は、ＰＬＬ回路をさらに備える。ＰＬＬ回路は、第１の発振回路と同一構成の第２の発振回路を含む。第２の発振回路は、第１のバイアス電圧に応じた周波数で発振する。ＰＬＬ回路は、第２の発振回路の発振周波数が基準周波数に等しくなるように第１のバイアス電圧をフィードバック制御する。第１の発振回路は、第１のバイアス電圧に応じた周波数で発振する。
【００１８】
好ましくは、上記エッジ検知回路は、複数の遅延パスセレクタを含む。複数の遅延パスセレクタは、第１の発振回路における複数の遅延セルに対応して設けられる。複数の遅延パスセレクタの各々は、第１の発振回路からの複数のクロックのうち対応する２つのクロックのエッジ間において入力データ信号が遷移すると、これに応答して所定期間　活性のマスク信号を対応する遅延セルに出力する。第１の発振回路における複数の遅延セルの各々は、対応する遅延パスセレクタからのマスク信号が活性のとき、入力データ信号に第１の遅延が付加された信号を遅延させて出力する。
【００１９】
好ましくは、上記クロックリカバリ回路は、第１の遅延回路と、制御回路とをさらに備える。第１の遅延回路は、第１の発振回路からの複数のクロックと第２の発振回路からの複数のクロックとに第２の遅延を付加する。制御回路は、第２の遅延の遅延量を制御する。複数の遅延パスセレクタの各々は、第１の遅延回路によって第２の遅延が付加された第１の発振回路からの複数のクロックのうち対応する２つのクロックのエッジ間において入力データ信号が遷移すると、これに応答して所定期間　活性のマスク信号を第１の発振回路における対応する遅延セルに出力する。
【００２０】
好ましくは、上記制御回路は、第１のクロックと第２のクロックとの位相差が所定の値になるように第２の遅延の遅延量をフィードバック制御する。第１のクロックは、第２の発振回路からの複数のクロックのうちの一のクロックに第２の遅延と第３の遅延とが付加されたものである。第３の遅延の遅延量は、複数の遅延パスセレクタのうちの一の遅延パスセレクタにおいて生じる遅延量を含む。第２のクロックは、第２の発振回路からの複数のクロックのうちの他の一のクロックである。
【００２１】
好ましくは、上記制御回路は、入力データ信号のデータレートに応じて第２の遅延の遅延量を離散的に設定する。
【００２２】
好ましくは、上記クロックリカバリ回路は、周波数検知回路と、制御信号発生回路とをさらに備える。周波数検知回路は、第１の発振回路の発振周波数と基準周波数とを比較する。制御信号発生回路は、周波数検知回路による比較の結果に応じた制御信号を出力する。第１の発振回路は、制御信号発生回路からの制御信号に応じた周波数で発振する。
【００２３】
好ましくは、上記クロックリカバリ回路は、間引き部をさらに備える。間引き部は、入力データ信号のエッジを間引く。エッジ検知回路は、間引き部によってエッジが間引かれた入力データ信号が、上記複数のクロックのうちのどの２つのクロックのエッジ間において遷移したかを検知する。複数の遅延セルの各々は、間引き部によってエッジが間引かれた入力データ信号に第１の遅延が付加された信号または前段の遅延セルの出力信号を選択的に遅延させて出力する。エッジ検知回路は、複数の遅延セルのうち検知の結果に応じた１つの遅延セルを、間引き部によってエッジが間引かれた入力データ信号に第１の遅延が付加された信号を遅延させて出力するように制御する。
【００２４】
好ましくは、上記間引き部は分周器を含む。分周器は、入力データ信号を分周する。
【００２５】
この発明のもう１つの局面に従うと、クロックリカバリ回路は、多相クロック発生回路と、エッジ検知部と、位相比較部と、制御回路とを備える。多相クロック発生回路は、互いに位相が異なりかつ所定の周波数を有する複数のクロックを生成する。エッジ検知部は、上記複数のクロックのうちのどの２つのクロックのエッジ間において入力データ信号が遷移したかを検知する。位相比較部は、上記複数のクロックのうちエッジ検知部による検知結果に応じた一のクロックと入力データ信号に第１の遅延が付加された信号との位相を比較する。制御回路は、位相比較部による比較の結果に応じて上記複数のクロックの位相を制御する。
【００２６】
好ましくは、上記エッジ検知部は複数の検知回路を含む。位相比較部は複数の位相比較器を含む。複数の位相比較器は、複数の検知回路に対応して設けられる。複数の検知回路の各々は、上記複数のクロックのうち対応する２つのクロックのエッジ間において入力データ信号が遷移すると、これに応答して所定期間　活性のマスク信号を対応する位相比較器に出力する。複数の位相比較器の各々は、対応する検知回路からのマスク信号が活性のとき、上記複数のクロックのうち対応する一のクロックと入力データ信号に第１の遅延が付加された信号との位相を比較する。
【００２７】
好ましくは、上記複数の検知回路の各々はラッチ回路を含む。ラッチ回路は、上記対応する２つのクロックのエッジ間で活性となるパルス信号を入力データ信号のエッジに応答してラッチし、ラッチした信号を、上記対応する２つのクロックのエッジから所定の位相だけ遅れたリセット信号に応答してリセットする。
【００２８】
好ましくは、上記リセット信号は、複数のクロックのうちのいずれかのクロックのエッジに同期している。
【００２９】
好ましくは、上記多相クロック発生回路は第１の発振回路を含む。第１の発振回路は、リング状に接続された複数の遅延セルを含み、当該複数の遅延セルの出力を上記複数のクロックとして出力する。
【００３０】
好ましくは、上記クロックリカバリ回路はＰＬＬ回路をさらに備える。ＰＬＬ回路は、第１の発振回路と同一構成の第２の発振回路を含む。第２の発振回路は、第１のバイアス電圧と第２のバイアス電圧とに応じた周波数で発振する。ＰＬＬ回路は、第２の発振回路の発振周波数が基準周波数に等しくなるように第１のバイアス電圧をフィードバック制御する。制御回路は、位相比較部による比較の結果に応じた第３のバイアス電圧を出力する。第１の発振回路は、第１のバイアス電圧と第３のバイアス電圧とに応じた周波数で発振する。
【００３１】
好ましくは、上記第２のバイアス電圧は、電源電圧と接地電圧との中間電位に設定される。
【００３２】
好ましくは、上記クロックリカバリ回路は、周波数検知回路と、制御信号発生回路とをさらに備える。周波数検知回路は、第１の発振回路の発振周波数と基準周波数とを比較する。制御信号発生回路は、周波数検知回路による比較の結果に応じた制御信号を出力する。第１の発振回路は、制御信号発生回路からの制御信号に応じた周波数で発振する。
【００３３】
好ましくは、上記クロックリカバリ回路は、第１の遅延回路と、第２の遅延回路とをさらに備える。第１の遅延回路は、入力データ信号に第２の遅延を付加する。第２の遅延回路は、多相クロック発生回路からの複数のクロックに第３の遅延を付加する。エッジ検知部は、第２の遅延が付加された入力データ信号が、第３の遅延が付加された複数のクロックのうちのどの２つのクロックのエッジ間において遷移したかを検知する。位相比較部は、第３の遅延が付加された複数のクロックのうちエッジ検知部による検知結果に応じた一のクロックと、入力データ信号に第１の遅延および第２の遅延が付加された信号との位相を比較する。制御回路は、位相比較部による比較の結果に応じて第２の遅延の遅延量および／または第３の遅延の遅延量を制御する。
【００３４】
好ましくは、上記多相クロック発生回路は、複数段の遅延セルと、遅延制御部とを含む。多相クロック発生回路は、複数段の遅延セルの出力を上記複数のクロックとして出力する。複数段の遅延セルの初段の遅延セルの入力には基準クロックが与えられる。遅延制御部は、複数段の遅延セルの最終段の遅延セルの出力と基準クロックとの位相を比較し、比較の結果に応じて複数段の遅延セルの遅延量を制御する。
【００３５】
好ましくは、上記クロックリカバリ回路は、間引き部をさらに備える。間引き部は、入力データ信号のエッジを間引く。エッジ検知部は、間引き部によってエッジが間引かれた入力データ信号が、上記複数のクロックのうちのどの２つのクロックのエッジ間において遷移したかを検知する。位相比較部は、上記複数のクロックのうちエッジ検知部による検知結果に応じた一のクロックと、間引き部によってエッジが間引かれた入力データ信号に第１の遅延が付加された信号との位相を比較する。
【００３６】
好ましくは、上記間引き部は分周器を含む。分周器は、入力データ信号を分周する。
【００３７】
【発明の実施の形態】
以下、この発明の実施の形態を図面を参照して詳しく説明する。なお、図中同一または相当部分には同一の符号を付しその説明は繰り返さない。
【００３８】
（第１の実施形態）
＜電子通信機器の概略構成＞
この発明の第１の実施形態による電子通信機器の概略構成を図１（ａ）に示す。この電子通信機器１は、外部からの入力データ信号Ｄａｔａをインタフェース２を介して内部回路に与える。インタフェース２は、クロックリカバリ回路３と、データ再生回路４とを備える。クロックリカバリ回路３は、入力データ信号Ｄａｔａに同期した多相クロックＣＬＫ０〜ＣＬＫ４を入力データ信号Ｄａｔａから抽出する。多相クロックＣＬＫ０〜ＣＬＫ４の位相間隔（位相差）は、入力データ信号Ｄａｔａのデータレートで規定されるデータ幅に等しい。データ再生回路４は、クロックリカバリ回路３からの多相クロックＣＬＫ０〜ＣＬＫ４で入力データ信号Ｄａｔａを再生する。データ再生回路４は、図１（ｂ）に示すように、多相クロックＣＬＫ０〜ＣＬＫ４の各相のエッジで入力データ信号Ｄａｔａの１データを再生する。データ再生回路４によって再生された入力データ信号Ｄａｔａは内部回路に与えられる。
【００３９】
＜クロックリカバリ回路３の内部構成＞
図１に示したクロックリカバリ回路３の内部構成を図２に示す。クロックリカバリ回路３は、電圧制御発振回路（ＶＣＯ）２００と、遅延回路２１０と、エッヂ検知回路２２０と、ＰＬＬ２３０とを備える。
【００４０】
遅延回路２１０は、入力データ信号Ｄａｔａのデータレートで規定されるデータ幅に相当する時間Ｔだけ入力データ信号Ｄａｔａを遅延させる。
【００４１】
ＶＣＯ２００は、ＰＬＬ２３０からのバイアス電圧ＢＩＡＳに応じた周波数で発振する。ＶＣＯ２００は、リング状に接続された５段の遅延セル２００ａ〜２００ｅを含む。遅延セル２００ａ〜２００ｅの各々は、前段の遅延セルの出力信号または遅延回路２１０からの入力データ信号Ｄ＿Ｄａｔａを選択的に遅延させて出力する。遅延セル２００ａ〜２００ｅの各々は、エッジ検知回路２２０からのマスク信号Ｗ０〜Ｗ４のうち対応するマスク信号に応答して前段の遅延セルの出力信号または遅延回路２１０からの入力データ信号Ｄ＿Ｄａｔａを選択する。遅延セル２００ａ〜２００ｅの各々は、選択した信号をバイアス電圧ＢＩＡＳに応じた遅延量で遅延させる。遅延セル２００ａ〜２００ｅの出力（ＣＬＫ０，ＣＬＫ３，ＣＬＫ１，ＣＬＫ４，ＣＬＫ２）は多相クロックＣＬＫ０〜ＣＬＫ４としてクロックリカバリ回路３の外部へ出力される。
【００４２】
エッジ検知回路２２０は、ＶＣＯ２００からの多相クロックＣＬＫ０〜ＣＬＫ４のうちのどの２つのクロックのエッジ間で入力データ信号Ｄａｔａが遷移したかを検知する。エッジ検知回路２２０はＶＣＯ２００の遅延セル２００ａ〜２００ｅにマスク信号Ｗ０〜Ｗ４を与える。エッジ検知回路２２０は検知の結果に応じてマスク信号Ｗ０〜Ｗ４のうち１つを所定期間　活性化する。エッジ検知回路２２０は、遅延パスセレクタ２２０ａ〜２２０ｅを含む。遅延パスセレクタ２２０ａ〜２２０ｅは、ＶＣＯ２００の遅延セル２００ａ〜２００ｅに対応する。遅延パスセレクタ２２０ａ〜２２０ｅは、対応する遅延セル２００ａ〜２００ｅにマスク信号Ｗ０〜Ｗ４（Ｗ２，Ｗ０，Ｗ３，Ｗ１，Ｗ４）を与える。遅延パスセレクタ２２０ａ〜２２０ｅの各々は、ＶＣＯ２００からの多相クロックＣＬＫ０〜ＣＬＫ４のうち対応する２つのクロックのエッジ間で入力データ信号Ｄａｔａが遷移すると所定期間　マスク信号を活性化する。
【００４３】
ＰＬＬ２３０は、位相比較器２３１と、チャージポンプ２３２と、ローパスフィルタ２３３と、電圧制御発振回路（ＶＣＯ）２３４とを含む。位相比較器２３１は、ＶＣＯ２３４の出力と基準クロックＲｅｆＣＬＫとの位相差に応じた誤差信号を出力する。チャージポンプ２３２は、位相比較器２３１からの誤差信号に応じた電圧を出力する。ローパスフィルタ２３３は、チャージポンプ２３２からの電圧の高域成分を除去しバイアス電圧ＢＩＡＳとして出力する。ＶＣＯ２３４は、ＶＣＯ２００と同一の構成を有する。すなわちＶＣＯ２３４は、ＶＣＯ２００と同様に、リング状に接続された５段の遅延セル２００ａ〜２００ｅを含む。したがってＶＣＯ２３４の発振周波数とＶＣＯ２００の発振周波数とは等しい。ただしＶＣＯ２３４の遅延セル２００ａ〜２００ｅはつねに前段の遅延セルの出力を遅延させて出力する。ＶＣＯ２３４の遅延セル２００ａ〜２００ｅは、ローパスフィルタ２３３からのバイアス電圧ＢＩＡＳに応じた遅延量だけ前段の遅延セルの出力を遅延させる。ＶＣＯ２３４の遅延セル２００ｅの出力は位相比較器２３１に与えられる。
【００４４】
上述のとおりＰＬＬ２３０からのバイアス電圧ＢＩＡＳによってＶＣＯ２００の発振周波数が制御される。ここでは入力データ信号Ｄａｔａのデータレートの１／５に基準クロックＲｅｆＣＬＫの周波数が設定される。これにより、ＶＣＯ２００からの５相クロックＣＬＫ０〜ＣＬＫ４の位相間隔は、入力データ信号Ｄａｔａのデータレートで規定されるデータ幅に等しくなる。
【００４５】
＜遅延セル２００ａ〜２００ｅの内部構成＞
次に、図２に示したＶＣＯ２００における遅延セル２００ａ〜２００ｅの内部構成について説明する。ここでは遅延セル２００ａを例にして説明する。
【００４６】
図３に示すように遅延セル２００ａは差動型の電圧制御遅延回路である。遅延セル２００ａはマスク信号Ｗ２に応じて入力を切り替える。マスク信号Ｗ２がＨレベル（活性）のとき遅延セル２００ａは、入力データ信号（Ｄ＿Ｄａｔａ，／Ｄ＿Ｄａｔａ）をバイアス電圧ＢＩＡＳに応じた遅延量だけ遅延させてクロック（ＣＬＫ０，／ＣＬＫ０）として出力する。マスク信号Ｗ２がＬレベル（不活性）のとき遅延セル２００ａは、前段の遅延セル２００ｅの出力（ＣＬＫ２，／ＣＬＫ２）をバイアス電圧ＢＩＡＳに応じた遅延量だけ反転遅延させてクロック（ＣＬＫ０，／ＣＬＫ０）として出力する。
【００４７】
ＶＣＯ２００における遅延セル２００ｂ〜２００ｅの内部構成も図３に示した遅延セルと同様である。また、ＶＣＯ２３４における遅延セル２００ａ〜２００ｅの内部構成も図３に示した遅延セルと同様である。ただしＶＣＯ２３４における遅延セル２００ａ〜２００ｅにはマスク信号に代えて常にＬレベル（不活性）の信号が与えられる。したがってＶＣＯ２３４における遅延セル２００ａ〜２００ｅは、常に前段の遅延セルの出力を反転遅延させて出力する。
【００４８】
＜遅延パスセレクタ２２０ａ〜２２０ｅの内部構成＞
次に、図２に示した遅延パスセレクタ２２０ａ〜２２０ｅの内部構成について説明する。ここでは遅延パスセレクタ２２０ｅを例にして説明する。
【００４９】
図４（ａ）に示すように遅延パスセレクタ２２０ｅは、ラッチ回路３００と、ＮＯＲ回路３０２と、ＮＡＮＤ回路３０３ａ，３０３ｂとを含む。ラッチ回路３００は、ＭＯＳトランジスタ３０１ａ〜３０１ｆを含む。
【００５０】
ラッチ回路３００のＰチャネルＭＯＳトランジスタ３０１ｂおよびＮチャネルＭＯＳトランジスタ３０１ｃのゲートにはＮＡＮＤ回路３０３ａからの信号Ｄ０が与えられる。信号Ｄ０は、クロックＣＬＫ０の立ち上がりエッジとクロックＣＬＫ１の立ち上がりエッジとの間の期間Ｌレベル（活性）になる。
【００５１】
信号Ｄ０がＨレベル（不活性）の期間では入力データ信号ＤａｔａにかかわらずノードＮ１の電位はＬレベルになる。
【００５２】
信号Ｄ０がＬレベル（活性）の期間において入力データ信号ＤａｔａがＨレベルのときノードＮ１には直前の状態（電位）が保持される。信号Ｄ０がＬレベルの期間において入力データ信号ＤａｔａがＬレベルのときノードＮ１の電位はＨレベルになる。
【００５３】
すなわち、信号Ｄ０がＬレベルでありかつ入力データ信号ＤａｔａがＬレベルである場合に限りノードＮ１の電位がＨレベルになる。Ｈレベルになった後のノードＮ１の電位は、信号Ｄ０がＬレベルである間は入力データ信号ＤａｔａにかかわらずＨレベルのままである。信号Ｄ０がＨレベルになるとノードＮ１の電位はＬレベルになる。
【００５４】
クロックＣＬＫ０がＬレベルの期間　信号Ｄ０はＨレベルである。したがってノードＮ１の電位はＬレベルになり、ＮチャネルＭＯＳトランジスタ３０１ｆはオフになる。また、クロックＣＬＫ０がＬレベルの期間ＰチャネルＭＯＳトランジスタ３０１ｄはオンになる。ゆえにクロックＣＬＫ０がＬレベルの期間　ノードＮ２の電位ＥＮ０はＨレベルになる。
【００５５】
信号Ｄ０がＬレベルの期間クロックＣＬＫ０はＨレベルである。クロックＣＬＫ０がＨレベルのときＰチャネルＭＯＳトランジスタ３０１ｄはオフになる。信号Ｄ０がＬレベルの期間にＮチャネルＭＯＳトランジスタ３０１ｅ，３０１ｆがともにオンになるとノードＮ２の電位ＥＮ０がＬレベルに遷移する。
【００５６】
信号Ｄ０がＬレベルでありかつ入力データ信号ＤａｔａがＬレベルであるときノードＮ１の電位がＨレベルとなりＮチャネルＭＯＳトランジスタ３０１ｆがオンになる。信号Ｄ０がＬレベルの期間に入力データ信号ＤａｔａがＬレベルからＨレベルに遷移するとＮチャネルＭＯＳトランジスタ３０１ｅがオンになる。信号Ｄ０がＬレベルであるためノードＮ１の電位はＨレベルのままである。したがってＮチャネルＭＯＳトランジスタ３０１ｅ，３０１ｆがともにオンになりノードＮ２の電位ＥＮ０がＬレベルに遷移する。この後、信号Ｄ０がＨレベルに遷移するとノードＮ１の電位がＬレベルになり、入力データ信号Ｄａｔａの電位にかかわらずノードＮ２はオープン状態になる。クロックＣＬＫ０がＨレベルである間はノードＮ２の電位ＥＮ０はＬレベルに保たれる。クロックＣＬＫ０がＨレベルからＬレベルに遷移するとＰチャネルＭＯＳトランジスタ３０１ｄがオンになりノードＮ２の電位ＥＮ０はＨレベルになる。
【００５７】
図４（ｂ）に示すように遅延パスセレクタ２００ｅでは、クロックＣＬＫ０の立ち上がりエッジとクロックＣＬＫ１の立ち上がりエッジとの間（信号Ｄ０がＬレベルの期間）において入力データ信号ＤａｔａがＬレベルからＨレベルに遷移すると負論理のパルス（ＥＮ０）がノードＮ２から出力される。このパルスの立ち下がりは入力データ信号Ｄａｔａの立ち上がりエッジに同期し、立ち上がりはクロックＣＬＫ０の立ち下がりエッジに同期している。
【００５８】
ＮＡＮＤ回路３０３ｂからの信号Ｄ１は、クロックＣＬＫ１の立ち上がりエッジとクロックＣＬＫ２の立ち上がりエッジとの間の期間Ｌレベル（活性）になる。ノードＮ２の電位ＥＮ０がＬレベルである期間は、信号Ｄ１がＬレベルである期間を含んでいる。したがってＮＯＲ回路３０２の出力であるマスク信号Ｗ４は、クロックＣＬＫ０の立ち上がりエッジとクロックＣＬＫ１の立ち上がりエッジとの間で入力データ信号ＤａｔａがＬレベルからＨレベルに遷移した場合にのみ活性化される（Ｈレベルになる）。マスク信号Ｗ４が活性化される期間は、信号Ｄ１がＬレベル（活性）である期間に等しい。
【００５９】
以上のように遅延パスセレクタ２２０ｅは、ＶＣＯ２００からのクロックＣＬＫ０の立ち上がりエッジとクロックＣＬＫ１の立ち上がりエッジとの間で入力データ信号ＤａｔａがＬレベルからＨレベルに遷移すると、これに応答して所定期間（信号Ｄ１がＬレベルの期間）マスク信号Ｗ４を活性化する（Ｈレベルにする）。
【００６０】
遅延パスセレクタ２２０ａ〜２２０ｄの内部構成も図４（ａ）に示した遅延パスセレクタ２２０ｅの内部構成と同様である。なお、遅延パスセレクタ２２０ａは、ＶＣＯ２００からのクロックＣＬＫ３の立ち上がりエッジとクロックＣＬＫ４の立ち上がりエッジとの間で入力データ信号ＤａｔａがＬレベルからＨレベルに遷移すると、これに応答して所定期間マスク信号Ｗ２を活性化する（Ｈレベルにする）。遅延パスセレクタ２２０ｂは、ＶＣＯ２００からのクロックＣＬＫ１の立ち上がりエッジとクロックＣＬＫ２の立ち上がりエッジとの間で入力データ信号ＤａｔａがＬレベルからＨレベルに遷移すると、これに応答して所定期間マスク信号Ｗ０を活性化する（Ｈレベルにする）。遅延パスセレクタ２２０ｃは、ＶＣＯ２００からのクロックＣＬＫ４の立ち上がりエッジとクロックＣＬＫ０の立ち上がりエッジとの間で入力データ信号ＤａｔａがＬレベルからＨレベルに遷移すると、これに応答して所定期間マスク信号Ｗ３を活性化する（Ｈレベルにする）。遅延パスセレクタ２２０ｄは、ＶＣＯ２００からのクロックＣＬＫ２の立ち上がりエッジとクロックＣＬＫ３の立ち上がりエッジとの間で入力データ信号ＤａｔａがＬレベルからＨレベルに遷移すると、これに応答して所定期間マスク信号Ｗ１を活性化する（Ｈレベルにする）。
【００６１】
＜クロックリカバリ回路３の動作＞
次に、図２に示したクロックリカバリ回路３の動作について図５を参照しつつ説明する。
【００６２】
時刻ｔ１において入力データ信号ＤａｔａがＬレベルからＨレベルに遷移する。時刻ｔ１は、信号Ｄ０がＬレベル（活性）である期間内すなわちＶＣＯ２００からのクロックＣＬＫ０の立ち上がりエッジとクロックＣＬＫ１の立ち上がりエッジとの間の時刻である。時刻ｔ１における入力データ信号Ｄａｔａの遷移に応答して遅延パスセレクタ２２０ｅはノードＮ２の電位ＥＮ０をＬレベルにする。そして遅延パスセレクタ２２０ｅは、ノードＮ２の電位ＥＮ０がＬレベルである期間におけるクロックＣＬＫ１の立ち上がりからクロックＣＬＫ２の立ち上がりまでの期間（クロック信号Ｄ１がＬレベルの期間）マスク信号Ｗ４を活性化する（Ｈレベルにする）。活性のマスク信号Ｗ４を受けるとＶＣＯ２００の遅延セル２００ｅは、前段の遅延セル２００ｄの出力信号ＣＬＫ４から入力データ信号Ｄ＿Ｄａｔａに入力を切り替える。マスク信号Ｗ４が活性の期間（マスクウィンドウ）には、遅延セル２００ｅの前段の遅延セル２００ｄの出力ＣＬＫ４の遷移ポイントが含まれている。遅延セル２００ｄの出力ＣＬＫ４の遷移ポイントはマスクウィンドウの中央に位置している。マスクウィンドウによって遅延セル２０１ｄの出力ＣＬＫ４の遷移ポイントがマスクされる。
【００６３】
時刻ｔ２において遅延回路２１０からの入力データ信号Ｄ＿ＤａｔａがＬレベルからＨレベルに遷移する。時刻ｔ２は、マスク信号Ｗ４が活性の期間（マスクウィンドウ）に含まれている。時刻ｔ２における入力データ信号Ｄ＿Ｄａｔａの遷移に応答して遅延セル２００ｅの出力ＣＬＫ２が遷移する。この結果、遅延セル２００ｅの前段の遅延セル２００ｄの出力ＣＬＫ４のエッジと入力データ信号Ｄ＿Ｄａｔａのエッジとがすりかえられる。すなわち遅延セル２２０ｅの出力ＣＬＫ２の遷移時刻が入力データ信号Ｄ＿Ｄａｔａによって規定される。これにより、この出力ＣＬＫ２の遷移時刻以降のクロックエッジと入力データ信号Ｄａｔａのエッジとの位相関係が固定される。以上のようにして、入力データ信号Ｄａｔａに同期した多相クロックＣＬＫ０〜ＣＬＫ４が得られる。
【００６４】
なお、ここではＶＣＯ２００からの５相クロックＣＬＫ０〜ＣＬＫ４のうちのクロックＣＬＫ０の立ち上がりエッジとクロックＣＬＫ１の立ち上がりエッジとの間で入力データ信号Ｄａｔａが遷移した場合について説明した。これ以外のクロックエッジ間で入力データ信号Ｄａｔａが遷移したときにも同様にして入力データ信号Ｄａｔａに同期した多相クロックＣＬＫ０〜ＣＬＫ４が得られる。
【００６５】
＜効果＞
以上のように第１の実施形態におけるクロックリカバリ回路３では、ＶＣＯ２００からの多相クロックＣＬＫ０〜ＣＬＫ４のうちのどの２つのクロックのエッジ間で入力データ信号ＤａｔａがＬレベルからＨレベルに遷移したかを検知する。そしてＶＣＯ２００の遅延セル２００ａ〜２００ｅのうち検知の結果に応じた１つの遅延セルの入力を前段の遅延セルの出力信号から入力データ信号Ｄ＿Ｄａｔａに切り替える。これにより、入力データ信号Ｄａｔａに同期した多相クロックＣＬＫ０〜ＣＬＫ４が得られる。
【００６６】
また、入力データ信号Ｄａｔａの遷移を検知するごとに適切なクロックエッジとデータエッジとをすりかえることによりＶＣＯ２００からの多相クロックＣＬＫ０〜ＣＬＫ４の位相を最適化する（多相クロックＣＬＫ０〜ＣＬＫ４を入力データ信号Ｄａｔａに同期させる）。したがって、データ伝送が開始されると瞬時に入力データ信号Ｄａｔａと多相クロックＣＬＫ０〜ＣＬＫ４との位相関係がロックする。ゆえにバーストモード伝送にも対応することができる。
【００６７】
また、ＶＣＯ２００からの５相クロックＣＬＫ０〜ＣＬＫ４の位相間隔と入力データ信号Ｄａｔａのデータレートとが等しくなるようにしたため、ＶＣＯ２００の発振周波数は入力データ信号Ｄａｔａのデータレートの１／５となる。これにより、図１７に示した従来のクロックリカバリ回路と比べてクロック周波数が緩和され、より高速なデータレートを有するデータ伝送にも対応可能である。
【００６８】
また、対応可能なデータレートは、ＶＣＯ２００を構成する遅延セル２００ａ〜２００ｅの各々において設定可能な遅延量が、データレートで規定されるデータ幅より小さい場合である。これに対し、たとえば３倍オーバーサンプリング方式のクロックリカバリ回路において対応可能なデータレートは、ＶＣＯを構成する遅延回路で設定可能な遅延量の３倍が、データレートで規定されるデータ幅より小さい場合である。すなわち、第１の実施形態におけるクロックリカバリ回路３は、３倍オーバーサンプリング方式のクロックリカバリ回路よりも３倍高いデータレートに対応可能である。
【００６９】
＜変形例＞
ここではＶＣＯ２００からの５相クロックＣＬＫ０〜ＣＬＫ４の位相間隔と入力データ信号Ｄａｔａのデータレートとを等しくするため基準クロックＲｅｆＣＬＫの周波数を入力データ信号Ｄａｔａのデータレートの１／５に設定した。ＶＣＯ２３４の出力を位相比較器２３１に入力する経路および／または基準クロックＲｅｆＣＬＫを位相比較器２３１に入力する経路に分周器を挿入することにより、基準クロックＲｅｆＣＬＫの周波数を所望の値に設定することができる。
【００７０】
ＭＯＳトランジスタの特性のばらつき、バイアス電圧ＢＩＡＳの変動の位置依存性などによりＶＣＯ２００の発振周波数とＶＣＯ２３４の発振周波数とは完全には同一にならない。また、入力データ信号Ｄａｔａのクロックソースと基準クロックＲｅｆＣＬＫのクロックソースとが異なる場合には入力データ信号Ｄａｔａの転送レートに対して基準クロックＲｅｆＣＬＫの周波数が所定の値から僅かにずれている。このため入力データ信号ＤａｔａのデータレートとＶＣＯ２００の発振周波数とが一致しない。しかし、図２に示すクロックリカバリ回路３では入力データ信号Ｄａｔａの遷移を検知するごとに多相クロックＣＬＫ０〜ＣＬＫ４の位相を最適化する。これにより、入力データ信号Ｄａｔａの遷移がある頻度以上で発生すれば入力データ信号Ｄａｔａと多相クロックＣＬＫ０〜ＣＬＫ４とのロック状態を保つことができる。たとえば入力データ信号Ｄａｔａのデータレートに対してＶＣＯ２００の発振周波数が１％ずれていた場合でも、５０ビットに１回以上の頻度で入力データ信号Ｄａｔａの遷移が発生すれば原理的にはロック状態を保つことは可能である。
【００７１】
ここではＶＣＯ２００内の遅延セルの段数を５としＶＣＯ２００から出力されるクロックの相数を５としたが、ＶＣＯ２００内の遅延セルの段数はこれには限られない。遅延回路２１０からの入力データ信号Ｄ＿ＤａｔａのＬレベルからＨレベルへの遷移ポイントと前段の遅延セルの出力信号の遷移ポイントとが、各遅延セルに与えるべきマスク信号の活性期間（マスクウィンドウ）に含まれるように調整すれば、ＶＣＯ２００を任意の段数の遅延セルで構成することができる。
【００７２】
ここでは多相クロックＣＬＫ０〜ＣＬＫ４の位相間隔と入力データ信号Ｄａｔａのデータレートとを等しく設定したが、入力データ信号Ｄａｔａのデータレートで規定される時間の整数分の１に多相クロックＣＬＫ０〜ＣＬＫ４の位相間隔を設定することも可能である。
【００７３】
図４（ａ）に示した遅延パスセレクタ２２０ａ〜２２０ｅは、対応する２つのクロックのエッジ間における入力データ信号ＤａｔａのＬレベルからＨレベルへの遷移に反応する。図４（ａ）に示した構成においてＰチャネルＭＯＳトランジスタとＮチャネルＭＯＳトランジスタとを入れ替えかつ入力信号を逆転させれば、対応する２つのクロックのエッジ間における入力データ信号ＤａｔａのＨレベルからＬレベルへの遷移に反応する遅延パスセレクタが得られる。これら２種類の遅延パスセレクタを併用することにより、入力データ信号Ｄａｔａの遷移密度がより少ない場合でもロック状態を保つことができる。
【００７４】
ここで説明したクロックリカバリ回路３が必要となるような高速シリアルデータ通信では、一般に、データは差動信号として送られる。したがって、データ信号と相補の関係にある信号を正しいタイミングで生成することは可能である。図４（ａ）に示した遅延パスセレクタに入力データ信号Ｄａｔａと相補の関係にある信号を入力すれば、入力データ信号ＤａｔａのＨレベルからＬレベルへの遷移に対しても遅延パスセレクタは反応する。これにより、入力データ信号Ｄａｔａの遷移密度がより少ない場合でもロック状態を保つことができる。
【００７５】
ここではマスクウィンドウの幅（マスク信号の活性期間）を、入力データ信号Ｄａｔａのデータレートで規定されるデータ幅に等しくした。しかしマスクウィンドウは、すりかえるべきクロックエッジを含みかつその前後のクロックエッジを含まなければよい。したがって、たとえば図５ではクロックＣＬＫ４のエッジをすり替えるためにマスク信号Ｗ４を使ったが、マスク信号Ｗ４に代えて信号ＥＮ０を使ってもよい。
【００７６】
（第２の実施形態）
第１の実施形態によるクロックリカバリ回路では、前段の遅延セルの出力（すりかえられるべきクロック）の遷移ポイントをその中央に含むようにマスクウィンドウを生成することが望ましい。
【００７７】
ところが第１の実施形態では、マスク信号Ｗ０〜Ｗ４を生成する際に遅延パスセレクタ２２０ａ〜２２０ｅにおいて生じる遅延を考慮していない。たとえば図４（ａ）に示した遅延パスセレクタ２２０ｅにおいては、クロックＣＬＫ０，ＣＬＫ１とクロック／ＣＬＫ１，／ＣＬＫ２とから信号Ｄ０，Ｄ１を生成する際にＮＡＮＤ回路３０３ａ，３０３ｂにおいて生じるゲート遅延（遅延量ｔｇ１）、信号Ｄ１と信号ＥＮ０とからマスク信号Ｗ４を生成する際にＮＯＲ回路３０２において生じるゲート遅延（遅延量ｔｇ２）である。遅延パスセレクタ２２０ａ〜２２０ｄにおいても同様の遅延が生じる。
【００７８】
入力データ信号Ｄａｔａのデータレートが高くなるにつれてこの遅延時間による影響が大きくなりマスクウィンドウを最適な位置に設定することが困難になる。第２の実施形態ではこの遅延時間による影響を抑制することを目的とする。
【００７９】
＜クロックリカバリ回路の構成＞
第２の実施形態によるクロックリカバリ回路の構成を図６に示す。このクロックリカバリ回路は、図２に示したクロックリカバリ回路の構成に加えてさらに遅延ブロック４００，４１０，４２０と、位相比較器４３０と、チャージポンプ４４０と、ローパスフィルタ４５０とを備える。
【００８０】
遅延ブロック４００は遅延回路４００ａ〜４００ｅを含む。遅延回路４００ａ〜４００ｅは、ＶＣＯ２００の遅延セル２００ａ〜２００ｅの出力を制御信号ＣＴＬ１に応じた遅延量ｔｄだけ遅延させてエッジ検知回路２２０に与える。すなわち遅延回路４００ａ〜４００ｅは、ＶＣＯ２００からの５相クロックＣＬＫ０〜ＣＬＫ４に遅延量ｔｄの遅延を付加する。遅延ブロック４００の遅延回路４００ａ〜４００ｅの出力（Ｄ＿ＣＬＫ０，Ｄ＿ＣＬＫ３，Ｄ＿ＣＬＫ１，Ｄ＿ＣＬＫ４，Ｄ＿ＣＬＫ２）は多相クロックＤ＿ＣＬＫ０〜Ｄ＿ＣＬＫ４として外部へ出力される。
【００８１】
遅延ブロック４１０は遅延ブロック４００と同一の構成を有する。すなわ遅延ブロック４１０は、遅延ブロック４００と同様に、遅延回路４００ａ〜４００ｅを含む。遅延ブロック４１０の遅延回路４００ａ〜４００ｅは、ＶＣＯ２３４の遅延セル２００ａ〜２００ｅの出力を制御信号ＣＴＬ１に応じた遅延量ｔｄだけ遅延させて遅延ブロック４２０に与える。
【００８２】
遅延ブロック４２０は遅延回路４２０ａ〜４２０ｅを含む。遅延回路４２０ａ〜４２０ｅは、遅延ブロック４１０の遅延回路４００ａ〜４００ｅの出力に遅延量Ｄの遅延を付加する。遅延量Ｄは、遅延パスセレクタ２２０ａ〜２２０ｅにおいてマスク信号を生成する際に生じる遅延量に相当する。ここでは、Ｄ＝ｔｇ１＋ｔｇ２である。
【００８３】
位相比較器４３０は、遅延ブロック４２０の遅延回路４２０ｄの出力とＶＣＯ２３４の遅延セル２００ｅの出力との位相差に応じた誤差信号を出力する。チャージポンプ４４０は、位相比較器４３０からの誤差信号に応じた電圧を出力する。ローパスフィルタ４５０は、チャージポンプ４４０からの電圧の高域成分を除去し制御信号ＣＴＬ１として出力する。制御信号ＣＴＬ１は遅延ブロック４００，４１０に与えられる。
【００８４】
このクロックリカバリ回路では、遅延パスセレクタ２２０ａ〜２２０ｅとＶＣＯ２００の遅延セル２００ａ〜２００ｅとの対応が第１の実施形態における対応とは異なる。このクロックリカバリ回路では、遅延パスセレクタ２２０ａ〜２２０ｅはＶＣＯ２００の遅延セル２００ｂ〜２００ｅ，２００ａに対応する。
【００８５】
遅延パスセレクタ２２０ｅは、ＶＣＯ２００の遅延セル２００ａにマスク信号Ｗ２を与える。遅延パスセレクタ２２０ｅは、遅延ブロック４００の遅延回路４００ａからのクロックＤ＿ＣＬＫ０の立ち上がりエッジと遅延ブロック４００の遅延回路４００ｃからのクロックＤ＿ＣＬＫ１の立ち上がりエッジとの間で入力データ信号ＤａｔａがＬレベルからＨレベルに遷移すると、これに応答して所定期間マスク信号Ｗ２を活性化する（Ｈレベルにする）。
【００８６】
遅延パスセレクタ２２０ａは、ＶＣＯ２００の遅延セル２００ｂにマスク信号Ｗ０を与える。遅延パスセレクタ２２０ａは、遅延ブロック４００の遅延回路４００ｂからのクロックＤ＿ＣＬＫ３の立ち上がりエッジと遅延ブロック４００の遅延回路４００ｄからのクロックＤ＿ＣＬＫ４の立ち上がりエッジとの間で入力データ信号ＤａｔａがＬレベルからＨレベルに遷移すると、これに応答して所定期間マスク信号Ｗ０を活性化する（Ｈレベルにする）。
【００８７】
遅延パスセレクタ２２０ｂは、ＶＣＯ２００の遅延セル２００ｃにマスク信号Ｗ３を与える。遅延パスセレクタ２２０ｂは、遅延ブロック４００の遅延回路４００ｃからのクロックＤ＿ＣＬＫ１の立ち上がりエッジと遅延ブロック４００の遅延回路４００ｅからのクロックＤ＿ＣＬＫ２の立ち上がりエッジとの間で入力データ信号ＤａｔａがＬレベルからＨレベルに遷移すると、これに応答して所定期間マスク信号Ｗ３を活性化する（Ｈレベルにする）。
【００８８】
遅延パスセレクタ２２０ｃは、ＶＣＯ２００の遅延セル２００ｄにマスク信号Ｗ１を与える。遅延パスセレクタ２２０ｃは、遅延ブロック４００の遅延回路４００ｄからのクロックＤ＿ＣＬＫ４の立ち上がりエッジと遅延ブロック４００の遅延回路４００ａからのクロックＤ＿ＣＬＫ０の立ち上がりエッジとの間で入力データ信号ＤａｔａがＬレベルからＨレベルに遷移すると、これに応答して所定期間マスク信号Ｗ１を活性化する（Ｈレベルにする）。
【００８９】
遅延パスセレクタ２２０ｄは、ＶＣＯ２００の遅延セル２００ｅにマスク信号Ｗ４を与える。遅延パスセレクタ２２０ｄは、遅延ブロック４００の遅延回路４００ｅからのクロックＤ＿ＣＬＫ２の立ち上がりエッジと遅延ブロック４００の遅延回路４００ｂからのクロックＤ＿ＣＬＫ３の立ち上がりエッジとの間で入力データ信号ＤａｔａがＬレベルからＨレベルに遷移すると、これに応答して所定期間マスク信号Ｗ４を活性化する（Ｈレベルにする）。
【００９０】
＜クロックリカバリ回路の動作＞
第１の実施形態と同様に、入力データ信号Ｄａｔａのデータレートの１／５に基準クロックＲｅｆＣＬＫの周波数が設定され、ＶＣＯ２００からの５相クロックＣＬＫ０〜ＣＬＫ４の位相間隔は入力データ信号Ｄａｔａのデータレートで規定されるデータ幅Ｔに等しい。したがってＶＣＯ２００，２３４の遅延セル２００ａ〜２００ｅの各々における遅延量はＴ／２になる。
【００９１】
このクロックリカバリ回路では、遅延ブロック４２０の遅延回路４２０ｄの出力とＶＣＯ２３４の遅延セル２００ｅの出力との位相差がゼロになるように遅延回路４００ａ〜４００ｅにおける遅延量ｔｄがフィードバック制御される。すなわち、遅延量（ｔｄ＋Ｄ）がＴ／２になるように遅延量ｔｄが制御される。
【００９２】
このようにすると、図７に示すように、すりかえるべきクロック（ここではＣＬＫ２）の遷移ポイントをその中央に含むようにマスクウィンドウ（ここではＷ２）が生成される。
【００９３】
＜効果＞
マスク信号Ｗ０〜Ｗ４を生成する際に遅延パスセレクタ２２０ａ〜２２０ｅにおいて生じる遅延の遅延量は入力データ信号Ｄａｔａのデータレートとは無関係である。したがって入力データ信号Ｄａｔａのデータレートにレンジがある場合、すべてのデータレートにおいてマスクウィンドウが最適な位置に設定されるように固定遅延を用いて調整することは困難である。しかし第２の実施形態によるクロックリカバリ回路では、遅延量（ｔｄ＋Ｄ）がＴ／２になるように遅延量ｔｄをフィードバック制御するため、入力信号Ｄａｔａのデータレートに関わらずマスクウィンドウを最適な位置に設定することができる。
【００９４】
＜変形例＞
ここでは遅延量（ｔｄ＋Ｄ）がＴ／２になるように遅延量ｔｄをフィードバック制御した。しかし遅延量（ｔｄ＋Ｄ）の目標値はＴ／２には限られない。入力信号Ｄａｔａのデータレートに応じてＴ／２の整数倍（Ｔ／２，Ｔ，３Ｔ／２，・・・）に設定すればよい。なお、遅延量（ｔｄ＋Ｄ）の目標値に応じて遅延パスセレクタ２２０ａ〜２２０ｅとＶＣＯ２００の遅延セル２００ａ〜２００ｅとの対応を変える必要がある。
【００９５】
遅延回路４００ａ〜４００ｅにおける遅延量ｔｄを入力データ信号Ｄａｔａのデータレートに応じて離散的に切り替えてもよい。たとえば遅延回路４００ａ〜４００ｅの構成を、図８に示すように、遅延量の異なる３つのパスを制御回路４６０からの信号ＳＷ１〜ＳＷ３に応じて切り替え可能な構成にする。また、図６に示した位相比較器４３０・チャージポンプ４４０・ローパスフィルタ４５０に代えて図８に示す制御回路４６０を設ける。制御回路４６０は、入力データ信号Ｄａｔａのデータレートに応じて信号ＳＷ１〜ＳＷ３のうち１つを活性化する。このようにすれば、遅延回路４００ａ〜４００ｅにおける遅延量ｔｄを入力データ信号Ｄａｔａのデータレートに応じて離散的に切り替えることができる。
【００９６】
複数の入力チャネルを有するインタフェースに適用する場合、図６に示したクロックリカバリ回路を各チャネルに対して設けてもよい。しかし以下のようにすれば回路面積を小さくすることができる。制御信号ＣＴＬ１を生成するための位相比較器４３０・チャージポンプ４４０・ローパスフィルタ４５０をある１つのチャネルに対するクロックリカバリ回路にのみ設ける。そしてこの制御信号ＣＴＬ１を、他のチャネルに対するクロックリカバリ回路の遅延ブロック４００，４１０に共通に与える。このようにすれば、制御信号ＣＴＬ１を生成するための位相比較器４３０・チャージポンプ４４０・ローパスフィルタ４５０は１組ですむため回路面積を削減することができる。また性能的にも、ＶＣＯ２３４の遅延セル２００ａ〜２００ｅへの入力は前段の遅延セルの出力に固定されているためＶＣＯ２３４からのクロックの位相ノイズは小さく、マスクウィンドウの位置の絶対精度は高い。
【００９７】
（第３の実施形態）
＜クロックリカバリ回路の構成＞
第３の実施形態によるクロックリカバリ回路の構成を図９に示す。このクロックリカバリ回路は、遅延回路２１０と、エッジ検知回路２２０と、電圧制御発振回路（ＶＣＯ）５００と、ＰＬＬ５３０と、位相比較回路５４０ａ〜５４０ｅと、制御回路５５０とを備える。
【００９８】
ＶＣＯ５００は、ＰＬＬ５３０からのバイアス電圧ＢＩＡＳおよび制御回路５５０からのバイアス電圧ＢＩＡＳ３に応じた周波数で発振する。ＶＣＯ５００は、リング状に接続された５段の遅延セル５００ａ〜５００ｅを含む。遅延セル５００ａ〜５００ｅの各々は、ＰＬＬ５３０からのバイアス電圧ＢＩＡＳおよび制御回路５５０からのバイアス電圧ＢＩＡＳ３に応じた遅延量で前段の遅延セルの出力信号を反転遅延させる。遅延セル５００ａ〜５００ｅの出力（ＣＬＫ０，ＣＬＫ３，ＣＬＫ１，ＣＬＫ４，ＣＬＫ２）は多相クロックＣＬＫ０〜ＣＬＫ４としてクロックリカバリ回路の外部へ出力される。
【００９９】
ＰＬＬ５３０は、位相比較器２３１と、チャージポンプ２３２と、ローパスフィルタ２３３と、電圧制御発振回路（ＶＣＯ）５３４とを含む。ＶＣＯ５３４は、ＶＣＯ５００と同一の構成を有する。すなわちＶＣＯ５３４は、ＶＣＯ５００と同様に、リング状に接続された５段の遅延セル５００ａ〜５００ｅを含む。ただしＶＣＯ５３４の遅延セル５００ａ〜５００ｅは、ＰＬＬ５３０からのバイアス電圧ＢＩＡＳおよび一定レベルのバイアス電圧ＢＩＡＳ２に応じた遅延量で前段の遅延セルの出力信号を反転遅延させる。バイアス電圧ＢＩＡＳ２のレベルは電源電圧と接地電圧との中間電位に設定される。
【０１００】
位相比較回路５４０ａは、遅延パスセレクタ２２０ａからのマスク信号Ｗ２が活性のとき、遅延回路２１０からの入力データ信号Ｄ＿Ｄａｔａの立ち上がりエッジとＶＣＯ５００の遅延セル５００ｅの出力／ＣＬＫ２の立ち上がりエッジとの位相差に応じた誤差信号を出力する。
【０１０１】
位相比較回路５４０ｂは、遅延パスセレクタ２２０ｂからのマスク信号Ｗ０が活性のとき、遅延回路２１０からの入力データ信号Ｄ＿Ｄａｔａの立ち上がりエッジとＶＣＯ５００の遅延セル５００ａの出力／ＣＬＫ０の立ち上がりエッジとの位相差に応じた誤差信号を出力する。
【０１０２】
位相比較回路５４０ｃは、遅延パスセレクタ２２０ｃからのマスク信号Ｗ３が活性のとき、遅延回路２１０からの入力データ信号Ｄ＿Ｄａｔａの立ち上がりエッジとＶＣＯ５００の遅延セル５００ｂの出力／ＣＬＫ３の立ち上がりエッジとの位相差に応じた誤差信号を出力する。
【０１０３】
位相比較回路５４０ｄは、遅延パスセレクタ２２０ｄからのマスク信号Ｗ１が活性のとき、遅延回路２１０からの入力データ信号Ｄ＿Ｄａｔａの立ち上がりエッジとＶＣＯ５００の遅延セル５００ｃの出力／ＣＬＫ１の立ち上がりエッジとの位相差に応じた誤差信号を出力する。
【０１０４】
位相比較回路５４０ｅは、遅延パスセレクタ２２０ｅからのマスク信号Ｗ４が活性のとき、遅延回路２１０からの入力データ信号Ｄ＿Ｄａｔａの立ち上がりエッジとＶＣＯ５００の遅延セル５００ｄの出力／ＣＬＫ４の立ち上がりエッジとの位相差に応じた誤差信号を出力する。
【０１０５】
制御回路５５０は、位相比較回路５４０ａ〜５４０ｅからの誤差信号に応じたバイアス電圧ＢＩＡＳ３を生成する。バイアス電圧ＢＩＡＳ３はＶＣＯ５００に与えられる。
【０１０６】
＜遅延セル５００ａ〜５００ｅの内部構成＞
次に、図９に示したＶＣＯ５００における遅延セル５００ａ〜５００ｅの内部構成について説明する。ここでは遅延セル５００ａを例にして説明する。
【０１０７】
図１０に示すように遅延セル５００ａは差動型の電圧制御遅延回路である。遅延セル５００ａは、ＰチャネルＭＯＳトランジスタ５０１ａ〜５０１ｄと、ＮチャネルＭＯＳトランジスタ５０１ｅ〜５０１ｆと、電流源５０２とを含む。ＰチャネルＭＯＳトランジスタ５０１ａ〜５０１ｂのゲートにはローパスフィルタ２３３からのバイアス電圧ＢＩＡＳが与えられる。ＰチャネルＭＯＳトランジスタ５０１ｃ〜５０１ｄのゲートには制御回路５５０からのバイアス電圧ＢＩＡＳ３が与えられる。ＮチャネルＭＯＳトランジスタ５０１ｅ〜５０１ｆのゲートには前段の遅延セル５００ｅの出力ＣＬＫ４，／ＣＬＫ４が与えられる。以上のように構成された遅延セル５００ａは、前段の遅延セル５００ｅの出力ＣＬＫ２，／ＣＬＫ２をバイアス電圧ＢＩＡＳおよびＢＩＡＳ３に応じた遅延量だけ反転遅延させてクロックＣＬＫ０，／ＣＬＫ０として出力する。
【０１０８】
ＶＣＯ５００における遅延セル５００ｂ〜５００ｅの内部構成も図１０に示した遅延セルと同様である。また、ＶＣＯ５３４における遅延セル５００ａ〜５００ｅの内部構成も図１０に示した遅延セルと同様である。ただしＶＣＯ５３４における遅延セル５００ａ〜５００ｅでは、バイアス電圧ＢＩＡＳ３に代えて一定のバイアス電圧ＢＩＡＳ２がＰチャネルＭＯＳトランジスタ５０１ｃ〜５０１ｄのゲートに与えられる。
【０１０９】
ここでは制御回路５５０からのバイアス電圧ＢＩＡＳ３のレベルをバイアス電圧ＢＩＡＳ２のレベルに初期設定する。これによりＶＣＯ５００の発振周波数とＶＣＯ５３４の発振周波数とが等しくなる。また入力データ信号Ｄａｔａのデータレートの１／５に基準クロックＲｅｆＣＬＫの周波数を設定する。これにより、ＶＣＯ２００からの５相クロックＣＬＫ０〜ＣＬＫ４の位相間隔は、入力データ信号Ｄａｔａのデータレートで規定されるデータ幅に等しくなる。
【０１１０】
＜クロックリカバリ回路の動作＞
次に、図９に示したクロックリカバリ回路の動作について図１１を参照しつつ説明する。
【０１１１】
第１の実施形態において説明したのと同様に、時刻ｔ１における入力データ信号ＤａｔａのＬレベルからＨレベルへの遷移に応答して遅延パスセレクタ２２０ｅはマスク信号Ｗ４を活性化する（Ｈレベルにする）。マスク信号Ｗ４が活性の期間（マスクウィンドウ）には、遅延セル２００ｅの前段の遅延セル２００ｄの出力ＣＬＫ４の遷移ポイントが含まれている。時刻ｔ２において遅延回路２１０からの入力データ信号Ｄ＿ＤａｔａがＬレベルからＨレベルに遷移する。時刻ｔ２は、マスク信号Ｗ４が活性の期間（マスクウィンドウ）に含まれている。
【０１１２】
活性のマスク信号Ｗ４に応答して位相比較回路５４０ｅが活性化される。活性化された位相比較回路５４０ｅは、入力データ信号Ｄ＿Ｄａｔａの立ち上がりエッジの位相と前段の遅延セル２００ｄの出力／ＣＬＫ４の立ち上がりエッジの位相とを比較し、比較の結果に応じた誤差信号を出力する。そして位相比較回路５４０ｅからの誤差信号に応じたレベルのバイアス電圧ＢＩＡＳ３が制御回路５５０から出力される。これにより、ＶＣＯ５００からのクロックＣＬＫ０〜ＣＬＫ４のエッジと入力データ信号Ｄａｔａのエッジとの位相関係が固定される。
【０１１３】
以上のようにして、入力データ信号Ｄａｔａに同期した多相クロックＣＬＫ０〜ＣＬＫ４が得られる。
【０１１４】
なお、ここではＶＣＯ２００からの５相クロックＣＬＫ０〜ＣＬＫ４のうちのクロックＣＬＫ０の立ち上がりエッジとクロックＣＬＫ１の立ち上がりエッジとの間で入力データ信号Ｄａｔａが遷移した場合について説明した。これ以外のクロックエッジ間で入力データ信号Ｄａｔａが遷移したときにも同様にして入力データ信号Ｄａｔａに同期した多相クロックＣＬＫ０〜ＣＬＫ４が得られる。
【０１１５】
＜変形例＞
制御回路５５０によるバイアス電圧ＢＩＡＳ３の制御はアナログ的な制御でもデジタル的な制御でもよい。
【０１１６】
図９に示した構成に加えてＶＣＯ５３４の周波数ロックを検知する回路をさらに設け、ＶＣＯ５３４が周波数ロックしＶＣＯ５３４の発振周波数を制御するバイアス電圧ＢＩＡＳが安定してからエッジ検知回路２２０が動作するように設定してもよい。この場合、バイアス電圧ＢＩＡＳ２を設けずに（バイアス電圧ＢＩＡＳ２に代えて）バイアス電圧ＢＩＡＳを入力すればよい。ＶＣＯ５３４がロックするまではバイアス電圧ＢＩＡＳ３をバイアス電圧ＢＩＡＳと同電位にする。ＶＣＯ５３４がロックした後に、エッジ検知回路２２０からのマスク信号Ｗ０〜Ｗ４に応じてクロックとデータとを比較し、その比較結果をフィードバックしてバイアス電圧ＢＩＡＳ３を制御する。このようにすれば、マスクウィンドウ内で比較されるクロックエッジとデータエッジの位相が一致するように設定できる。
【０１１７】
図９に示した構成では、バイアス電圧ＢＩＡＳ３のレベルを中間電位に初期設定しバイアス電圧ＢＩＡＳ３のレベルを上下に可動とすることでクロックＶＣＯ０〜ＶＣＯ４の位相を前後に調整できるようにした。図１０に示した電圧制御遅延回路とは逆のゲイン特性をもつ電圧制御遅延回路をデータ側に挿入すれば、バイアス電圧ＢＩＡＳ３の初期電位がレンジの端でもデータとクロックとの相対位相差を加減速できる。たとえばＶＣＯ５００に供給されるバイアス電圧ＢＩＡＳ３のイニシャル電位が０Ｖの場合、図１０に示した電圧制御遅延回路ではこの状態からは減速しかできない。上述の電圧制御遅延回路をデータ側に挿入した場合、副周波数調整部（図１０に示したＰチャネルＭＯＳトランジスタ５０１ｃ〜５０１ｄに対応する。）に入力されるバイアスのイニシャル電位を減速が可能なレベルに設定する。これにより、ＶＣＯ５００に供給されるバイアス電圧ＢＩＡＳ３のイニシャル電位が０Ｖのままでも、データ側に挿入した電圧制御遅延回路によってデータ位相を遅らせる（減速する）ことでクロックＶＣＯ０〜ＶＣＯ４の位相を相対的に進めることができる。
【０１１８】
（第４の実施形態）
第４の実施形態によるクロックリカバリ回路は、図２に示したＰＬＬ２３０または図９に示したＰＬＬ５３０に代えて図１２に示す周波数検知回路５３１・チャージポンプ５３２・ローパスフィルタ５３３を備える。その他の構成は図２または図９に示したクロックリカバリ回路と同様である。
【０１１９】
周波数検知回路５３１は、基準クロックＲｅｆＣＬＫの周波数とＶＣＯ２００（５００）の遅延セル２００ｅ（５００ｅ）の出力の周波数との差に応じた誤差信号を出力する。チャージポンプ５３２は、周波数検知回路５３１からの誤差信号に応じた電圧を出力する。ローパスフィルタ５３３は、チャージポンプ５３２からの電圧の高域成分を除去しバイアス電圧ＢＩＡＳとして出力する。
【０１２０】
このクロックリカバリ回路では、周波数のリファレンスとなる基準クロックＲｅｆＣＬＫとＶＣＯ２００（５００）の発振周波数とを比較し、ＶＣＯ２００（５００）の発振周波数がリファレンス周波数に等しくなるようにバイアス電圧ＢＩＡＳが制御される。
【０１２１】
以上のように構成されたクロックリカバリ回路においても図２または図９に示したクロックリカバリ回路と同様の効果が得られる。
【０１２２】
（第５の実施形態）
第５の実施形態によるクロックリカバリ回路の構成を図１３に示す。このクロックリカバリ回路は、図９に示したクロックリカバリ回路の構成に加えて遅延回路５６０と遅延ブロック５７０とをさらに備える。
【０１２３】
遅延回路５６０は、制御回路５５０からの制御信号ＣＴＬ２に応じた遅延量で入力データ信号Ｄａｔａを遅延させる。
【０１２４】
遅延ブロック５７０は遅延回路５７０ａ〜５７０ｅを含む。遅延回路５７０ａ〜５７０ｅは、制御回路５５０からの制御信号ＣＴＬ３に応じた遅延量で遅延セル５００ａ〜５００ｅの出力を遅延させる。遅延ブロック５７０の遅延回路５７０ａ〜５７０ｅの出力（Ｄ＿ＣＬＫ０，Ｄ＿ＣＬＫ３，Ｄ＿ＣＬＫ１，Ｄ＿ＣＬＫ４，Ｄ＿ＣＬＫ２）は多相クロックＤ＿ＣＬＫ０〜Ｄ＿ＣＬＫ４として外部へ出力される。
【０１２５】
遅延回路２１０には、遅延回路５６０によって遅延が付加された入力データ信号が与えられる。
【０１２６】
エッジ検知回路２２０には、入力データ信号Ｄａｔａに代えて遅延回路５６０からの入力データ信号が与えられ、ＶＣＯ５００からの多相クロックＣＬＫ０〜ＣＬＫ４に遅延回路５００ａ〜５００ｅによる遅延が付加された多相クロックＤ＿ＣＬＫ０〜Ｄ＿ＣＬＫ４がＶＣＯ５００からの多相クロックＣＬＫ０〜ＣＬＫ４に代えて与えられる。
【０１２７】
位相比較回路５４０ａ〜５４０ｅには、クロック／ＣＬＫ２〜／ＣＬＫ４に代えて遅延ブロック５７０からのクロック／Ｄ＿ＣＬＫ２〜／Ｄ＿ＣＬＫ４が与えられる。
【０１２８】
制御回路５５０は、位相比較回路５４０ａ〜５４０ｅからの誤差信号（位相比較結果）に応じ、クロック／Ｄ＿ＣＬＫ２〜／Ｄ＿ＣＬＫ４の位相のほうが早い場合には制御信号ＣＴＬ３を制御してクロックＤ＿ＣＬＫ０〜Ｄ＿ＣＬＫ４の位相を遅らせ、データ信号Ｄ＿Ｄａｔａの位相のほうが早い場合には制御信号ＣＴＬ２を制御してデータ信号Ｄ＿Ｄａｔａの位相を遅らせる。このように、位相差に応じて制御信号ＣＴＬ２，ＣＴＬ３のいずれか一方を制御することにより、多相クロックＤ＿ＣＬＫ０〜Ｄ＿ＣＬＫ４の位相および入力データ信号Ｄａｔａの位相の一方を他方に対して相対的に遅らせたり早めたりする。これにより多相クロックＤ＿ＣＬＫ０〜Ｄ＿ＣＬＫ４と入力データ信号Ｄａｔａとの位相が揃えられる。
【０１２９】
なお、ここでは位相差に応じて制御信号ＣＴＬ２，ＣＴＬ３のいずれか一方を制御する場合に付いて説明したが、制御信号ＣＴ２，ＣＴ３の両方を制御してもよい。また、制御信号ＣＴＬ２，ＣＴＬ３の制御はアナログ的なものでもデジタル的なものでもよい。また、遅延回路５６０，５７０ａ〜５７０ｅは、図８に示したように、コントロールビットによって離散的に遅延量を設定する構成でもよい。
【０１３０】
（第６の実施形態）
第６の実施形態によるクロックリカバリ回路は、図９に示したＶＣＯ５００およびＰＬＬ５３０に代えて図１４に示すＤＬＬ回路を備える。その他の構成は図９に示したクロックリカバリ回路と同様である。
【０１３１】
図１４に示すＤＬＬ回路は、遅延線６００と、位相比較器６１０と、チャージポンプ６２０と、ローパスフィルタ６３０とを備える。
【０１３２】
遅延線６００は、直列に接続された５段の遅延セル６００ａ〜６００ｅを含む。遅延セル６００ａ〜６００ｅはローパスフィルタ６３０からのバイアス電圧ＢＩＡＳに応じた遅延量で入力信号を正転遅延させる。初段の遅延セル６００ａには基準クロックＲｅｆＣＬＫが与えられる。基準クロックＲｅｆＣＬＫの周波数は、入力データ信号Ｄａｔａのデータレートの１／５に設定される。
【０１３３】
位相比較器６１０は、遅延線６００の最終段の遅延セル６００ｅの出力と基準クロックＲｅｆＣＬＫとの位相差に応じた誤差信号を出力する。チャージポンプ６２０は、位相比較器６１０からの誤差信号に応じた電圧を出力する。ローパスフィルタ６３０は、チャージポンプ６２０からの電圧の高域成分を除去しバイアス電圧ＢＩＡＳとして出力する。
【０１３４】
このＤＬＬ回路では５段の遅延セル６００ａ〜６００ｅを通過する前後のクロックＲｅｆＣＬＫの位相を比較するため、５段の遅延セル６００ａ〜６００ｅにおける遅延の合計が基準クロックＲｅｆＣＬＫの１周期に等しくなる。これにより、入力データ信号Ｄａｔａのデータレートで規定されるデータ幅にその位相間隔が等しい多相クロックＣＬＫ０〜ＣＬＫ４が得られる。
【０１３５】
（第７の実施形態）
第７の実施形態によるクロックリカバリ回路の構成を図１５に示す。このクロックリカバリ回路は、図２に示したクロックリカバリ回路の構成に加えて分周回路７００をさらに備える。分周回路７００は、エッジ検知回路２２０およびＶＣＯ２００に入力データ信号Ｄａｔａが入力される経路に挿入され、入力データ信号Ｄａｔａを１／２分周する。これにより入力データ信号Ｄａｔａのエッジが１つおきに間引かれる。
【０１３６】
エッジが間引かれた入力データ信号はエッジ検知回路２２０およびＶＣＯ２００に送られる。エッジ検知回路２２０は、エッジが間引かれた入力データ信号が、ＶＣＯ２００からの多相クロックＣＬＫ０〜ＣＬＫ４のうちのどの２つのクロックのエッジ間で遷移したかを検知する。エッジ検知回路２２０は検知の結果に応じてマスク信号Ｗ０〜Ｗ４のうち１つを所定期間　活性化する。ＶＣＯ２００の遅延セル２００ａ〜２００ｅの各々は、エッジ検知回路２２０からのマスク信号Ｗ０〜Ｗ４のうち対応するマスク信号に応答して前段の遅延セルの出力信号または遅延回路２１０からの入力データ信号Ｄ＿Ｄａｔａ（エッジが間引かれた入力データ信号に遅延回路２１０による遅延Ｔが付加された信号）を選択する。
【０１３７】
ＶＣＯ２００の遅延セル２００ａ〜２００ｅに与えられる入力データ信号Ｄ＿Ｄａｔａ（エッジが間引かれた入力データ信号に遅延回路２１０による遅延Ｔが付加された信号）の位相は、もとの入力データ信号Ｄａｔａの位相に対して、分周回路７００および遅延回路２１０によって付加される遅延分遅れる。したがって、遅延回路２１０の遅延量を調整することでデータとクロックの位相関係を最適化できる。
【０１３８】
図１５に示したクロックリカバリ回路によれば、遅延回路２１０に入力される入力データ信号のデータ幅が広げられ当該入力データ信号の傾きを小さくすることができる。これにより、ＶＣＯ２００の遅延セル２００ａ〜２００ｅに入力される信号Ｄ＿Ｄａｔａの傾きを遅延セル２００ａ〜２００ｅの出力ＣＬＫ０〜ＣＬＫ４の傾きと等しくすることができる。この結果、入力経路にかかわらず遅延セル２００ａ〜２００ｅの遅延特性を同一にすることができ、ＶＣＯ２００の発振周波数を精度よくデータレートと一致させることができる。
【０１３９】
また、遅延回路２１０に与えられる入力データ信号のデータ幅が広げられるため、遅延回路２１０に要求される高速性が緩和される。これにより、遅延回路２１０を構成するトランジスタの駆動能力を小さくして消費電力を抑えることができる。
【０１４０】
また、遅延セル２００ａ〜２００ｅに与えられる入力データ信号Ｄ＿Ｄａｔａのデータ幅も広げられるため、マスクウィンドウ内で入力データ信号Ｄ＿Ｄａｔａが不用に遷移することがなく、ＶＣＯ２００に対する悪影響も少ない。
【０１４１】
なお、ここでは分周回路７００の分周数を２としたが分周数は２にかぎるものではなくいくつに設定してもよい。ただし、分周数が多いすなわち間引き量が多いとデータ遷移時間の情報が減るため、データ位相の変動に対する耐性が減少するというトレードオフの関係が存在する。
【０１４２】
また、図１６に示すように、図９に示したクロックリカバリ回路の構成に加えて分周回路７００をさらに設けてもよい。
【図面の簡単な説明】
【図１】（ａ）は、この発明の第１の実施形態による電子通信機器の概略構成を示すブロック図である。（ｂ）は、データ再生回路によるデータの再生を説明するためのタイミングチャートである。
【図２】図１（ａ）に示したクロックリカバリ回路の内部構成を示すブロック図である。
【図３】図２に示した遅延セルの内部構成を示す図である。
【図４】（ａ）は、図２に示した遅延パスセレクタの内部構成を示す図である。（ｂ）は、（ａ）に示した遅延パスセレクタの動作を示すタイミングチャートである。
【図５】図２に示したクロックリカバリ回路の動作を示すタイミングチャートである。
【図６】この発明の第２の実施形態によるクロックリカバリ回路の構成を示すブロック図である。
【図７】図６に示したクロックリカバリ回路の動作を示すタイミングチャートである。
【図８】離散的に遅延量が設定される遅延回路の構成を示す図である。
【図９】この発明の第３の実施形態によるクロックリカバリ回路の構成を示すブロック図である。
【図１０】図９に示した遅延セルの内部構成を示す図である。
【図１１】図９に示したクロックリカバリ回路の動作を示すタイミングチャートである。
【図１２】周波数検知タイプのＰＬＬの構成を示す図である。
【図１３】この発明の第５の実施形態によるクロックリカバリ回路の構成を示すブロック図である。
【図１４】ＤＬＬ回路の構成を示すブロック図である。
【図１５】この発明の第７の実施形態によるクロックリカバリ回路の構成を示すブロック図である。
【図１６】この発明の第７の実施形態によるクロックリカバリ回路の構成を示すブロック図である。
【図１７】（ａ）は、従来のクロックリカバリ回路の構成を示すブロック図である。（ｂ）は、（ａ）に示したクロックリカバリ回路の動作を示すタイミングチャートである。
【符号の説明】
２００　電圧制御発振回路（第１の発振回路）、２２０　エッジ検知回路、２００ａ〜２００ｅ　遅延セル、ＣＬＫ０〜ＣＬＫ４　クロック（多相クロック）。
【図１】
2004015689.tif 000003
【図２】
2004015689.tif 000004
【図３】
2004015689.tif 000005
【図４】
2004015689.tif 000006
【図５】
2004015689.tif 000007
【図６】
2004015689.tif 000008
【図７】
2004015689.tif 000009
【図８】
2004015689.tif 000010
【図９】
2004015689.tif 000011
【図１０】
2004015689.tif 000012
【図１１】
2004015689.tif 000013
【図１２】
2004015689.tif 000014
【図１３】
2004015689.tif 000015
【図１４】
2004015689.tif 000016
【図１５】
2004015689.tif 000017
【図１６】
2004015689.tif 000018
【図１７】
2004015689.tif 000019