(57)【特許請求の範囲】
【請求項１】
データ信号に同期した出力クロックを生成するクロックデータリカバリ回路であって、
前記データ信号と前記出力クロックとの位相差を検出する第１の検出手段と、
制御コードに応じてクロックの遅延を変える可変遅延手段と、
前記制御コードの値を変更するコード変更手段とを含み、
前記コード変更手段は、前記出力クロックの１周期と同じ遅延に相当する制御コードの値を検出する第２の検出手段と、
前記第２の検出手段によって検出された制御コードの値を格納する格納手段と、
前記第１の検出手段による検出結果に応じて前記制御コードを変更しながら前記出力クロックを前記データ信号に同期させる際、前記可変遅延手段の遅延量がクロックの１周期分を超えるときに、制御コードに対して前記格納手段に格納された値を一度に加算または減算する演算手段とを含む、クロックデータリカバリ回路。
【請求項２】
前記格納手段は、前記制御コードの上限値を格納する上限値格納手段と、
前記制御コードの下限値を格納する下限値格納手段とを含み、
前記演算手段は、前記第１の検出手段による検出結果に応じて制御コードを加減算するためのコードを生成するためのインクリメント手段と、
前記インクリメント手段によって生成されたコードに応じて制御コードを加減算するためのコード演算手段と、
前記コード演算手段によって計算された制御コードが前記上限値格納手段に格納された上限値または前記下限値格納手段に格納された下限値になっているか否かを判定することにより、前記可変遅延手段の遅延量がクロックの１周期分を超えるか否かを判定するための判定手段とを含み、
前記コード演算手段は、前記判定手段によってクロックの１周期分を超えると判定された場合に、前記上限値格納手段に格納された上限値と前記下限値格納手段に格納された下限値とから算出した値を一度に加算または減算する、請求項１記載のクロックデータリカバリ回路。
【請求項３】
前記インクリメント手段は、前記可変遅延手段の遅延量を第１の初期値から順に小さくし、制御コードが最小値に達しても前記出力クロックの１周期と同じ遅延量に達しなかった場合は当該最小値を前記下限値格納手段に格納し、遅延量を第２の初期値から順に大きくして前記出力クロックと同じ遅延量となるときの制御コードを前記上限値格納手段に格納する、請求項２記載のクロックデータリカバリ回路。
【請求項４】
前記判定手段は、前記可変遅延手段の遅延量がクロックの１周期分を超えるか否かを判定する際に、前記上限値格納手段に格納される上限値に所定値を加算して判定する、請求項２または３記載のクロックデータリカバリ回路。
【請求項５】
前記判定手段は、前記可変遅延手段の遅延量がクロックの１周期分を超えるか否かを判定する際に、前記下限値格納手段に格納される下限値から所定値を減算して判定する、請求項２〜４のいずれかに記載のクロックデータリカバリ回路。
【請求項６】
前記演算手段はさらに、前記上限値格納手段に格納される上限値に所定値を加算して前記判定手段に出力する加算手段と、
前記下限値格納手段に格納される下限値から所定値を減算して前記判定手段に出力する減算手段とを含み、
前記判定手段は、前記加算手段から出力される値および前記減算手段から出力される値に基づいてクロックの１周期分を超えるか否かを判定し、
前記コード演算手段は、前記判定手段によってクロックの１周期分を超えると判定された場合に、前記加算手段から出力される値と前記減算手段から出力される値と前記所定値とから算出した値を一度に加算または減算する、請求項２または３記載のクロックデータリカバリ回路。
【請求項７】
前記クロックデータリカバリ回路は、前記可変遅延手段を２つ有し、
前記第２の検出手段は、第１の可変遅延手段を制御して前記出力クロックの１周期と同じ遅延に相当する制御コードを検出し、
前記演算手段は、前記第１の検出手段による検出結果に応じて第２の可変遅延手段の制御コードを変更しながら前記出力クロックを前記データ信号に同期させる際、前記第２の可変遅延手段の遅延量がクロックの１周期分を超えるときに、制御コードに対して前記格納手段に格納された値を一度に加算または減算する、請求項１〜３のいずれかに記載のクロックデータリカバリ回路。
【請求項８】
前記クロックデータリカバリ回路は、前記可変遅延手段を２つ有し、
前記クロックデータリカバリ回路は、前記第２の検出手段によって検出された第１の可変遅延手段の出力クロックの１周期と同じ遅延に相当する制御コードを格納する第１の格納手段と、
前記第２の検出手段によって検出された第２の可変遅延手段の出力クロックの１周期と同じ遅延に相当する制御コードを格納する第２の格納手段と、
前記第１の格納手段に格納される値と前記第２の格納手段に格納される値とを比較する比較手段と、
前記比較手段による比較結果に応じて、前記クロックデータリカバリ回路に動作を行なわせるか否かを判定する動作判定手段とを含む、請求項１〜３のいずれかに記載のクロックデータリカバリ回路。
【請求項９】
前記クロックデータリカバリ回路は、前記可変遅延手段を２つ有し、
前記第２の検出手段は、第１の可変遅延手段を制御して前記出力クロックの１周期と同じ遅延に相当する制御コードを検出し、
前記演算手段は、前記第１の検出手段による検出結果に応じて前記第１の可変遅延手段の制御コードを変更しながら前記出力クロックを前記データ信号に同期させる際、前記第１の可変遅延手段の遅延量がクロックの１周期分を超えるときに、前記第２の可変遅延手段の制御コードに対して前記格納手段に格納された値を一度に加算または減算し、前記第２の可変遅延手段に動作を切替えた後に、前記第１の可変遅延手段の制御コードに対して前記格納手段に格納された値を一度に加算または減算し、前記出力クロックと前記データ信号との同期を行なわせ、さらに、
前記第１の検出手段による検出結果に応じて前記第２の可変遅延手段の制御コードを変更しながら前記出力クロックを前記データ信号に同期させる際、前記第２の可変遅延手段の遅延量がクロックの１周期分を超えるときに、前記第１の可変遅延手段の制御コードに対して前記格納手段に格納された値を一度に加算または減算し、前記第１の可変遅延手段に動作を切替えた後に、前記第２の可変遅延手段の制御コードに対して前記格納手段に格納された値を一度に加算または減算し、前記出力クロックと前記データ信号との同期を行なわせる、請求項１〜３のいずれかに記載のクロックデータリカバリ回路。
【請求項１０】
前記可変遅延手段は、複数の遅延回路と、
前記複数の遅延回路の出力が接続される複数のセレクタと、
前記複数のセレクタの出力を制御してクロックの位相を補間する位相補間回路とを含み、
前記複数のセレクタのそれぞれに接続される遅延回路の数および位相補間回路の数が同数である、請求項１〜９のいずれかに記載のクロックデータリカバリ回路。
【請求項１１】
前記可変遅延手段は、複数の遅延回路と、
前記複数の遅延回路の出力が接続される複数のセレクタと、
前記複数のセレクタの出力を制御してクロックの位相を補間する位相補間回路とを含み、
前記演算手段が制御コードに対して前記格納手段に格納された値を一度に加算または減算する際に、セレクタおよび位相補間回路の経路を複数回切替えて、制御コードの値を変更する、請求項１〜１０のいずれかに記載のクロックデータリカバリ回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受信したデータ信号の遷移に同期したクロック信号を発生させる技術に関し、特に、データ信号に同期したクロック（Recovered CLOCK）信号の周波数が半導体集積回路内部で用いるクロック（CLOCK）信号の周波数と異なる場合でも、データ信号に同期したクロック信号を発生させることができるクロックデータリカバリ（以下、ＣＤＲとも呼ぶ。）回路に関する。
【背景技術】
【０００２】
近年、通信機器やコンピュータにおいて、ＰＣＩ（Peripheral Component Interconnect）−ＥｘｐｒｅｓｓやＳｅｒｉａｌ−ＡＴＡ（AT Attachment）などのシリアルデータの伝送を行なうインタフェース回路が用いられている。このようなインタフェース回路にＣＤＲ回路を用いた従来技術として、下記の非特許文献１がある。
【０００３】
この非特許文献１には、データエッジディテクタ、アップダウン決定回路、１周期のクロック位相ポインタ、８位相クロック分割器、８位相クロックから１つを選択するセレクタなどによって構成され、０度と９０度の位相差を持った２相の内部クロックを用いたＣＤＲ回路が開示されている。
【非特許文献１】2003 Symposium on VLSI Circuits Digest of Technical Paperｓ, pp.57-60.「A 50-mW/ch 2.5-Gb/s/ch Data Recovery Circuit for the SFI-5 Interface Using Novel Eye-tracking Method.」
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述した従来技術においては、８位相クロック分割器によって正確な８位相クロックを発生させるためには、ＣＤＲ回路に入力される２相の内部クロックが正確に０度と９０度の位相差を有することが必要とされる。このため、ＣＤＲ回路の外部に２相の内部クロックを発生させる回路と、２相間の位相管理を行なうクロック分配回路とを搭載する必要があり、回路構成が複雑になるといった問題点があった。
【０００５】
また、クロック信号をデータ信号の遷移に正確に同期させるためには、１周期の分割数を８よりも増やす必要があり、８位相クロック分割器の搭載数が増加することになる。８位相クロック分割器は貫通電流パスを持ったアナログ回路であるため、ＣＤＲ回路の消費電流が増加するといった問題点もあった。
【０００６】
また、セレクタが１周期のクロック位相ポインタからの出力を受け、８位相の入力クロックの中から１つを選択するので、伝播経路の切替え時にグリッジノイズやハザードなどの細い幅のパルス信号が出力されることがあり、システムの誤動作の原因になるといった問題点もあった。
【０００７】
本発明は、上記問題点を解決するためになされたものであり、第１の目的は、データ信号とクロックとの周波数に差がある場合でも、２相の内部クロックを必要とせずに、データ信号とクロックとの同期が可能なＣＤＲ回路を提供することである。
【０００８】
第２の目的は、貫通電流パスを持った８位相クロック分割器を不要としたＣＤＲ回路を提供することである。
【課題を解決するための手段】
【０００９】
本発明のある局面に従えば、データ信号に同期した出力クロックを生成するクロックデータリカバリ回路であって、データ信号と前記出力クロックとの位相差を検出する第１の検出手段と、制御コードに応じてクロックの遅延を変える可変遅延手段と、制御コードの値を変更するコード変更手段とを含み、コード変更手段は、出力クロックの１周期と同じ遅延に相当する制御コードの値を検出する第２の検出手段と、第２の検出手段によって検出された制御コードの値を格納する格納手段と、第１の検出手段による検出結果に応じて制御コードを変更しながら出力クロックをデータ信号に同期させる際、可変遅延手段の遅延量がクロックの１周期分を超えるときに、制御コードに対して格納手段に格納された値を一度に加算または減算する演算手段とを含む。
【００１０】
好ましくは、格納手段は、制御コードの上限値を格納する上限値格納手段と、制御コードの下限値を格納する下限値格納手段とを含み、演算手段は、第１の検出手段による検出結果に応じて制御コードを加減算するためのコードを生成するためのインクリメント手段と、インクリメント手段によって生成されたコードに応じて制御コードを加減算するためのコード演算手段と、コード演算手段によって計算された制御コードが上限値格納手段に格納された上限値または下限値格納手段に格納された下限値になっているか否かを判定することにより、可変遅延手段の遅延量がクロックの１周期分を超えるか否かを判定するための判定手段とを含み、コード演算手段は、判定手段によってクロックの１周期分を超えると判定された場合に、上限値格納手段に格納された上限値と下限値格納手段に格納された下限値とから算出した値を一度に加算または減算する。
【００１１】
好ましくは、インクリメント手段は、可変遅延手段の遅延量を第１の初期値から順に小さくし、制御コードが最小値に達しても出力クロックの１周期と同じ遅延量に達しなかった場合は当該最小値を前記下限値格納手段に格納し、遅延量を第２の初期値から順に大きくして出力クロックと同じ遅延量となるときの制御コードを上限値格納手段に格納する。
【００１２】
好ましくは、判定手段は、可変遅延手段の遅延量がクロックの１周期分を超えるか否かを判定する際に、上限値格納手段に格納される上限値に所定値を加算して判定する。
【００１３】
好ましくは、判定手段は、可変遅延手段の遅延量がクロックの１周期分を超えるか否かを判定する際に、下限値格納手段に格納される下限値から所定値を減算して判定する。
【００１４】
好ましくは、演算手段はさらに、上限値格納手段に格納される上限値に所定値を加算して判定手段に出力する加算手段と、下限値格納手段に格納される下限値から所定値を減算して判定手段に出力する減算手段とを含み、判定手段は、加算手段から出力される値および減算手段から出力される値に基づいてクロックの１周期分を超えるか否かを判定し、コード演算手段は、判定手段によってクロックの１周期分を超えると判定された場合に、加算手段から出力される値と減算手段から出力される値と所定値とから算出した値を一度に加算または減算する。
【００１５】
好ましくは、クロックデータリカバリ回路は、可変遅延手段を２つ有し、第２の検出手段は、第１の可変遅延手段を制御して出力クロックの１周期と同じ遅延に相当する制御コードを検出し、演算手段は、第１の検出手段による検出結果に応じて第２の可変遅延手段の制御コードを変更しながら出力クロックをデータ信号に同期させる際、第２の可変遅延手段の遅延量がクロックの１周期分を超えるときに、制御コードに対して格納手段に格納された値を一度に加算または減算する。
【００１６】
好ましくは、クロックデータリカバリ回路は、可変遅延手段を２つ有し、クロックデータリカバリ回路は、前記第２の検出手段によって検出された第１の可変遅延手段の出力クロックの１周期と同じ遅延に相当する制御コードを格納する第１の格納手段と、第２の検出手段によって検出された第２の可変遅延手段の出力クロックの１周期と同じ遅延に相当する制御コードを格納する第２の格納手段と、第１の格納手段に格納される値と第２の格納手段に格納される値とを比較する比較手段と、比較手段による比較結果に応じて、クロックデータリカバリ回路に動作を行なわせるか否かを判定する動作判定手段とを含む。
【００１７】
好ましくは、クロックデータリカバリ回路は、可変遅延手段を２つ有し、第２の検出手段は、第１の可変遅延手段を制御して出力クロックの１周期と同じ遅延に相当する制御コードを検出し、演算手段は、第１の検出手段による検出結果に応じて第１の可変遅延手段の制御コードを変更しながら出力クロックをデータ信号に同期させる際、第１の可変遅延手段の遅延量がクロックの１周期分を超えるときに、第２の可変遅延手段の制御コードに対して格納手段に格納された値を一度に加算または減算し、第２の可変遅延手段に動作を切替えた後に、第１の可変遅延手段の制御コードに対して格納手段に格納された値を一度に加算または減算し、出力クロックとデータ信号との同期を行なわせ、さらに、第１の検出手段による検出結果に応じて第２の可変遅延手段の制御コードを変更しながら出力クロックをデータ信号に同期させる際、第２の可変遅延手段の遅延量がクロックの１周期分を超えるときに、第１の可変遅延手段の制御コードに対して格納手段に格納された値を一度に加算または減算し、第１の可変遅延手段に動作を切替えた後に、第２の可変遅延手段の制御コードに対して格納手段に格納された値を一度に加算または減算し、出力クロックとデータ信号との同期を行なわせる。
【００１８】
好ましくは、可変遅延手段は、複数の遅延回路と、複数の遅延回路の出力が接続される複数のセレクタと、複数のセレクタの出力を制御してクロックの位相を補間する位相補間回路とを含み、複数のセレクタのそれぞれに接続される遅延回路の数および位相補間回路の数が同数である。
【００１９】
好ましくは、可変遅延手段は、複数の遅延回路と、複数の遅延回路の出力が接続される複数のセレクタと、複数のセレクタの出力を制御してクロックの位相を補間する位相補間回路とを含み、演算手段が制御コードに対して格納手段に格納された値を一度に加算または減算する際に、セレクタおよび位相補間回路の経路を複数回切替えて、制御コードの値を変更する。
【発明の効果】
【００２０】
本発明のある局面によれば、演算手段が、第１の検出手段による検出結果に応じて制御コードを変更しながら出力クロックをデータ信号に同期させる際、可変遅延手段の遅延量がクロックの１周期分を超えるときに、制御コードに対して格納手段に格納された値を一度に加算または減算するので、データ信号とクロックとの周波数に差がある場合でも、同一のクロック位相を与えながらデータ信号とクロックとの同期をとることが可能となる。
【００２１】
また、コード演算手段は、判定手段によってクロックの１周期分を超えると判定された場合に、上限値格納手段に格納された上限値と下限値格納手段に格納された下限値とから算出した値を一度に加算または減算するので、同一のクロック位相を容易に与えることが可能となる。
【００２２】
また、インクリメント手段が、可変遅延手段の遅延量を第１の初期値から順に小さくし、制御コードが最小値に達しても出力クロックの１周期と同じ遅延量に達しなかった場合は当該最小値を前記下限値格納手段に格納し、遅延量を第２の初期値から順に大きくして出力クロックと同じ遅延量となるときの制御コードを上限値格納手段に格納するので、出力クロックの１周期に相当する制御コードを容易に求めることが可能となる。
【００２３】
また、判定手段が、可変遅延手段の遅延量がクロックの１周期分を超えるか否かを判定する際に、上限値格納手段に格納される上限値に所定値を加算して判定するので、上限値近辺でクロックの１周期分の制御コードの加減算が頻繁に発生するのを防止することが可能となる。
【００２４】
また、判定手段が、可変遅延手段の遅延量がクロックの１周期分を超えるか否かを判定する際に、下限値格納手段に格納される下限値から所定値を減算して判定するので、下限値近辺でクロックの１周期分の制御コードの加減算が頻繁に発生するのを防止することが可能となる。
【００２５】
また、判定手段が、加算手段から出力される値および減算手段から出力される値に基づいてクロックの１周期分を超えるか否かを判定し、コード演算手段が、判定手段によってクロックの１周期分を超えると判定された場合に、加算手段から出力される値と減算手段から出力される値と所定値とから算出した値を一度に加算または減算するので、上限値または下限値近辺でクロックの１周期分の制御コードの加減算が頻繁に発生するのを防止することが可能となる。
【００２６】
また、第２の検出手段が、第１の可変遅延手段を制御して出力クロックの１周期と同じ遅延に相当する制御コードを検出し、演算手段が、第１の検出手段による検出結果に応じて第２の可変遅延手段の制御コードを変更しながら出力クロックをデータ信号に同期させる際、第２の可変遅延手段の遅延量がクロックの１周期分を超えるときに、制御コードに対して格納手段に格納された値を一度に加算または減算するので、第１の可変遅延手段による出力クロックの１周期分の制御コードの検出と、第２の可変遅延手段によるデータ信号とクロックとの同期とが同時に行なえ、クロックの１周期分に相当する制御コードが変化する場合でも、クロックの位相の連続性を保つことが可能となる。
【００２７】
また、動作判定手段が、比較手段による比較結果に応じて、クロックデータリカバリ回路に動作を行なわせるか否かを判定するので、２つの可変遅延手段の特性が同じであることを保証することができ、クロックの同期をより正確に行なうことが可能となる。
【００２８】
また、第１の可変遅延手段の遅延量がクロックの１周期分を超えるときに、第１の可変遅延手段および第２の可変遅延手段の制御コードに対して格納手段に格納された値を一度に加算または減算し、第２の可変遅延手段に動作を切替えて、出力クロックとデータ信号との同期を行なわせるので、クロックの１周期分の加減算に時間を要する場合でも、クロックの位相の連続性を保つことが可能となる。
【００２９】
また、可変遅延手段において、複数のセレクタのそれぞれに接続される遅延回路の数および位相補間回路の数が同数であるので、伝播経路上の負荷容量を容易に合わせることが可能となる。
【００３０】
また、可変遅延手段において、演算手段が制御コードに対して格納手段に格納された値を一度に加算または減算する際に、セレクタおよび位相補間回路の経路を複数回切替えて、制御コードの値を変更するので、グリッジノイズやハザードなどの細かい幅のパルス信号が出力されるのを防止することが可能となる。
【発明を実施するための最良の形態】
【００３１】
図１は、本発明の実施の形態におけるＣＤＲ回路が適用されるシステムの一例を示す図である。このシステムは、半導体回路装置１００が有損失伝送路３００を介して半導体回路装置２００からデータを受信するシステムである。半導体回路装置１００は、ＣＤＲ回路１と、有損失伝送路３００を介して受信データ信号を受ける受信回路２と、ＣＤＲ回路１からのＲｅｃｏｖｅｒｅｄ  ＣＬＯＣＫ信号に同期してデータを出力するフリップフロップ回路３と、ＣＤＲ回路１に与える周波数ＡのＣＬＯＣＫ信号を発生させる第１のクロック発生回路４とを含む。
【００３２】
また、半導体回路装置２００は、有損失伝送路３００を介して送信データ信号を送る送信回路５と、ＣＬＯＣＫ信号に同期してデータを送信回路５へ出力するフリップフロップ回路６と、フリップフロップ回路６に与える周波数ＢのＣＬＯＣＫ信号を発生させる第２のクロック発生回路７とを含む。
【００３３】
このシステムにおいては、半導体回路装置１００で用いられるＣＬＯＣＫ信号の周波数Ａと、半導体回路装置２００で用いられるＣＬＯＣＫ信号の周波数Ｂとが異なるため、ＣＤＲ回路１は周波数ＡのＣＬＯＣＫ信号からデータ信号に同期したＲｅｃｏｖｅｒｅｄ  ＣＬＯＣＫ信号を生成してフリップフロップ回路３に与える必要がある。
【００３４】
（第１の実施の形態）
図２は、本発明の第１の実施の形態におけるＣＤＲ回路の内部構成を示すブロック図である。このＣＤＲ回路は、制御コードによって遅延量を変えることができる可変遅延回路（ＶＤＬ）１１と、ＣＬＯＣＫの１周期を検出する回路（Ｅｄｇｅ  Ｄｅｔｅｃｔｏｒ）１２と、ＶＤＬ１１に与える制御コードを決定する回路（ＣＯＤＥ  Ｏｐｅｒａｔｏｒ）１３と、データとクロックとの位相を比較して補正する信号を出力する位相比較回路（ＰＤ）１４とを含む。
【００３５】
また、ＣＯＤＥ  Ｏｐｅｒａｔｏｒ１３は、ＰＤ１４から出力される信号を受けてクロックの平均的な進み（遅れ）を判断するカウンタ回路（Ｎ回Ｃｏｕｎｔｅｒ）２１と、Ｎ回Ｃｏｕｎｔｅｒ２１からの出力信号を受けて加算／減算する制御コードを決定する＋１／−１  Ｉｎｃｒｅｍｅｎｔ回路２２と、制御コードを算出する加算器（ＡＤＤ）２３と、ＡＤＤ２３からの出力信号をシフトするシフトレジスタ（ＳＦＲ  Ａ）２４と、＋１／−１  Ｉｎｃｒｅｍｅｎｔ回路２２からの制御コードをシフトするシフトレジスタ（ＳＦＲ  Ｂ、ＳＦＲ  Ｃ）２５および２６と、制御コードの上限値が格納されるレジスタ（Ｒｅｇｉｓｔｅｒ（Ｈ））２７と、制御コードの下限値が格納されるレジスタ（Ｒｅｇｉｓｔｅｒ（Ｌ））２８と、制御コードがＲｅｇｉｓｔｅｒ（Ｈ）２７に格納される制御コードの上限値またはＲｅｇｉｓｔｅｒ（Ｌ）２８に格納される制御コードの下限値であることを検出するＭＩＮ／ＭＡＸ  Ｄｅｔｅｃｔｏｒ２９と、ＳＦＲ  Ａ２４、ＳＦＲ  Ｂ２５およびＳＦＲ  Ｃ２６から出力される制御コードをデコードするＤｅｃｏｄｅｒ３０とを含む。
【００３６】
ＣＤＲＭＯＤＥは、ＣＤＲ回路１の動作状態を切替えるための入力ピンであり、ＣＤＲＭＯＤＥがＨレベル（以下、単に“Ｈ”と記す。）のときにＣＤＲ回路１はＣＬＯＣＫの１周期分に相当する制御コードの検出と格納とを行ない、ＣＤＲＭＯＤＥがＬレベル（以下、単に“Ｌ”と記す。）のときにＣＤＲ回路１はＤＡＴＡとＣＬＯＣＫとの同期を行なう。
【００３７】
ＤＡＴＡは、受信回路２からのデータが入力される入力ピンである。また、ＣＬＯＣＫは、第１のクロック発生回路４からのクロックが入力される入力ピンである。ＶＤＬ１１からのＶＤＬ出力（Ｒｅｃｏｖｅｒｅｄ  ＣＬＯＣＫ）は、フリップフロップ回路３のクロック端子に接続される。フリップフロップ回路３は、受信回路２からのデータをＲｅｃｏｖｅｒｅｄ  ＣＬＯＣＫに同期させ、出力ピンであるＲｅｃｏｖｅｒｅｄ  ＤＡＴＡを介して出力する。
【００３８】
ＰＤ１４は、ＤＡＴＡとＶＤＬ出力との位相を比較し、位相差を補正するための信号を出力する。Ｎ回Ｃｏｕｎｔｅｒ２１は、ＰＤ１４から出力される信号を受けてカウントし、Ｎ回ごとにＶＤＬ出力の位相が平均的に進んでいるか、遅れているかを判定する。すなわち、ＶＤＬ出力の位相の方が遅れている場合にはＮ回Ｃｏｕｎｔｅｒ２１はカウント値をデクリメントし、ＶＤＬ出力の位相の方が進んでいる場合にはＮ回Ｃｏｕｎｔｅｒ２１はカウント値をインクリメントする。
【００３９】
＋１／−１  Ｉｎｃｒｅｍｅｎｔ回路２２は、Ｎ回Ｃｏｕｎｔｅｒ２１のカウント値がｍ（ｍ＜＜Ｎ）よりも大きければ、ＶＤＬ１１を制御するための制御コード（ＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩ）を１だけインクリメントする信号をＡＤＤ２３に出力する。また、Ｎ回Ｃｏｕｎｔｅｒ２１のカウント値が−ｍよりも小さければ、ＶＤＬ１１を制御するための制御コードを１だけデクリメントする信号をＡＤＤ２３に出力する。なお、ＶＤＬ＿ＴＡＰおよびＶＬＤ＿ＰＩは、後述するようにＶＤＬ１１内のＴＡＰ  ＬｉｎｅおよびＰＩ  Ｌｉｎｅを制御するための制御コードである。
【００４０】
また、＋１／−１  Ｉｎｃｒｅｍｅｎｔ回路２２は、ＶＤＬ  ＣＯＤＥ＿ＨのインクリメントおよびＶＤＬ  ＣＯＤＥ＿Ｌのデクリメントを行ない、その結果をそれぞれＳＦＲ  Ｂ２５およびＳＦＲ  Ｃ２６に出力する。
【００４１】
ＭＩＮ／ＭＡＸ  Ｄｅｔｅｃｔｏｒ２９は、ＡＤＤ２３によって算出された制御コード（ＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩ）をＳＦＲ  Ａ２４を介して受け、制御コードがＲｅｇｉｓｔｅｒ（Ｈ）２７に格納される上限値またはＲｅｇｉｓｔｅｒ（Ｌ）２８に格納される下限値であることを検出すると、その検出信号をＡＤＤ２３に出力する。なお、ＭＩＮ／ＭＡＸ  Ｄｅｔｅｃｔｏｒ２９は、Ｎ回Ｃｏｕｎｔｅｒ２１によるＮ回のカウントが完了する毎に判定を行なう。
【００４２】
ＡＤＤ２３は、ＳＲＦ  Ａ２４から出力される制御コードに＋１／−１  Ｉｎｃｒｅｍｅｎｔ回路２２から出力される制御コードを加算すると共に、ＭＩＮ／ＭＡＸ  Ｄｅｔｅｃｔｏｒ２９から検出信号を受けると、制御コードに対してＣＬＯＣＫの１周期分のコードの加算／減算を行なう。
【００４３】
Ｅｄｇｅ  Ｄｅｔｅｃｔｏｒ１２によってＣＬＯＣＫの１周期が検出されると、Ｒｅｇｉｓｔｅｒ（Ｈ）２７およびＲｅｇｉｓｔｅｒ（Ｌ）２８はそれぞれＥｄｇｅ  Ｄｅｔｅｃｔｏｒ出力を受け、ＳＦＲ  Ｂ２５およびＳＦＲ  Ｃ２６を介してＶＤＬ  ＣＯＤＥ＿Ｈの上限値およびＶＤＬ  ＣＯＤＥ＿Ｌの下限値を格納する。
【００４４】
図３は、本発明の第１の実施の形態におけるＣＤＲ回路１の処理手順を説明するためのフローチャートである。このフローチャートにおいては、ステップＳ１１〜Ｓ１８がＣＬＯＣＫの１周期分の制御コードの検出と格納を行なう処理（ＣＤＲＭＯＤＥ＝“Ｈ”）であり、ステップＳ２０〜Ｓ２９がＤＡＴＡとＣＬＯＣＫとの同期を行なう処理（ＣＤＲＭＯＤＥ＝“Ｌ”）である。
【００４５】
まず、ＣＤＲＭＯＤＥに“Ｈ”を設定し、Ｅｄｇｅ  Ｄｅｔｅｃｔｏｒ１２の出力を“Ｌ”にする。そして、＋１／−１  Ｉｎｃｒｅｍｅｎｔ回路２２内のＶＤＬ  ＣＯＤＥ＿ＨおよびＶＤＬ  ＣＯＤＥ＿Ｌを初期値にする（Ｓ１１）。
【００４６】
次に、＋１／−１  Ｉｎｃｒｅｍｅｎｔ回路２２はＶＤＬ  ＣＯＤＥ＿Ｌの値を１だけ減らし（Ｓ１２）、Ｅｄｇｅ  Ｄｅｔｅｃｔｏｒ１２の出力が“Ｈ”になったか否かを判定する（Ｓ１３）。Ｅｄｇｅ  Ｄｅｔｅｃｔｏｒ１２の出力が“Ｌ”のままであれば（Ｓ１３，“Ｌ”のまま）、ＶＤＬ  ＣＯＤＥ＿Ｌの値が最小値であるか否かを判定する（Ｓ１４）。ＶＤＬ  ＣＯＤＥ＿Ｌの値が最小値でなければ（Ｓ１４，Ｎｏ）、ステップＳ１２に戻って以降の処理を繰返す。
【００４７】
また、ＶＤＬ  ＣＯＤＥ＿Ｌの値が最小値であれば（Ｓ１４，Ｙｅｓ）、＋１／−１  Ｉｎｃｒｅｍｅｔ回路２２はＶＤＬ  ＣＯＤＥ＿Ｈの値を１だけ増やし（Ｓ１５）、Ｅｄｇｅ  Ｄｅｔｅｃｔｏｒ１２の出力が“Ｈ”になったか否かを判定する（Ｓ１６）。Ｅｄｇｅ  Ｄｅｔｅｃｔｏｒ１２の出力が“Ｌ”のままであれば（Ｓ１６，“Ｌ”のまま）、ＶＤＬ  ＣＯＤＥ＿Ｈの値が最大値であるか否かを判定する（Ｓ１７）。ＶＤＬ  ＣＯＤＥ＿Ｈの値が最大値でなければ（Ｓ１７，Ｎｏ）、ステップＳ１５に戻って以降の処理を繰返す。
【００４８】
ＶＤＬ  ＣＯＤＥ＿Ｈの値が最大値であれば（Ｓ１７，Ｙｅｓ）、ＣＬＯＣＫの１周期分の制御コードが見つからなかったとして、エラーを出力して処理を終了する。
【００４９】
ステップＳ１３またはＳ１６において、Ｅｄｇｅ  Ｄｅｔｅｃｔｏｒ１２の出力が“Ｈ”となれば、ＣＬＯＣＫの１周期分の制御コードが見つかったので、そのときのＶＤＬ  ＣＯＤＥ＿Ｈの値およびＶＤＬ  ＣＯＤＥ＿Ｌの値をそれぞれ、Ｒｅｇｉｓｔｅｒ（Ｈ）２７およびＲｅｇｉｓｔｅｒ（Ｌ）２８に格納する（Ｓ１８）。
【００５０】
次に、ＣＤＲＭＯＤＥに“Ｌ”を設定し（Ｓ１９）、ＰＤ１４はＤＡＴＡとＶＤＬ出力との位相を比較する（Ｓ２０）。Ｎ回Ｃｏｕｎｔｅｒ２１は、ＰＤ１４による位相の比較結果をＮ回カウントし、そのカウント値が−ｍよりも小さければ（Ｓ２１，＜−ｍ）、ＭＩＮ／ＭＡＸ  Ｄｅｔｅｃｔｏｒ２９は、ＡＤＤ２３によって算出されたＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩの値がＲｅｇｉｓｔｅｒ（Ｌ）２８に格納されたＶＤＬ  ＣＯＤＥ＿Ｌの値を超えたか否かを判定する（Ｓ２２）。
【００５１】
ＶＤＬ  ＣＯＤＥ＿Ｌの値を超えていれば（Ｓ２２，Ｙｅｓ）、ＡＤＤ２３はＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩの値を（ＶＤＬ  ＣＯＤＥ＿Ｈ）−（ＶＤＬ  ＣＯＤＥ＿Ｌ）−１だけ増やす処理（ＣＯＤＥ  ＪＵＭＰ）を行ない（Ｓ２３）、ステップＳ２０に戻って以降の処理を繰返す。
【００５２】
また、ＶＤＬ  ＣＯＤＥ＿Ｌの値を超えていなければ（Ｓ２２，Ｎｏ）、ＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩの値を１だけ減らし（Ｓ２４）、ステップＳ２０に戻って以降の処理を繰返す。
【００５３】
ステップＳ２１において、カウント値が＋ｍよりも大きければ（Ｓ２１，＞＋ｍ）、ＭＩＮ／ＭＡＸ  Ｄｅｔｅｃｔｏｒ２９は、ＡＤＤ２３によって算出されたＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩの値がＲｅｇｉｓｔｅｒ（Ｈ）２７に格納されたＶＤＬ  ＣＯＤＥ＿Ｈの値を超えたか否かを判定する（Ｓ２５）。
【００５４】
ＶＤＬ  ＣＯＤＥ＿Ｈの値を超えていれば（Ｓ２５，Ｙｅｓ）、ＡＤＤ２３はＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩの値を（ＶＤＬ  ＣＯＤＥ＿Ｈ）−（ＶＤＬ  ＣＯＤＥ＿Ｌ）＋１だけ減らす処理（ＣＯＤＥ  ＪＵＭＰ）を行ない（Ｓ２６）、ステップＳ２０に戻って以降の処理を繰返す。
【００５５】
また、ＶＤＬ  ＣＯＤＥ＿Ｈの値を超えていなければ（Ｓ２５，Ｎｏ）、ＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩの値を１だけ増やし（Ｓ２７）、ステップＳ２０に戻って以降の処理を繰返す。
【００５６】
また、ステップＳ２１において、カウント値が−ｍ〜＋ｍの範囲内であれば、ＤＡＴＡとＣＬＯＣＫとの周波数には差がないと判断し、ＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩの値を変えずに（Ｓ２８）、ＤＡＴＡとＶＤＬ出力との位相が一致しているとして（Ｓ２９）、処理を終了する。
【００５７】
図４は、図３のフローチャートに示す処理によって、ＶＤＬ１１がどのように可変遅延時間以上のデータに追従するかを説明するための図である。図４（ａ）は、ＤＡＴＡとＶＤＬ出力との位相を比較した結果、カウント値が連続して−ｍよりも小さくなる場合を示している。この状態では、やがてＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩの値がＶＤＬ  ＣＯＤＥ＿Ｌに至るので、（ＶＤＬ  ＣＯＤＥ＿Ｈ）−（ＶＤＬ  ＣＯＤＥ＿Ｌ）−１を加算させて、同一のクロック位相を与えながら一度に遅延を増加させる。
【００５８】
図４（ｂ）は、ＤＡＴＡとＶＤＬ出力との位相を比較した結果、カウント値が連続して＋ｍよりも大きくなる場合を示している。この状態では、やがてＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩの値がＶＤＬ  ＣＯＤＥ＿Ｈに至るので、（ＶＤＬ  ＣＯＤＥ＿Ｈ）−（ＶＤＬ  ＣＯＤＥ＿Ｌ）＋１を減算して、同一のクロック位相を与えながら一度に遅延を減少させる。
【００５９】
この動作（ＣＯＤＥ  ＪＵＭＰ）によって、ＤＡＴＡとＣＬＯＣＫとの周波数に差がある場合でも、位相の連続性を保ちながらＤＡＴＡとＣＬＯＣＫとの同期を実現することが可能となる。
【００６０】
以上説明したように、本実施の形態におけるＣＤＲ回路１によれば、ＭＩＮ／ＭＡＸ  Ｄｅｔｅｃｔｏｒ２９によって制御コードが下限値または上限値を超えたときに、ＡＤＤ２３が制御コードにＣＬＯＣＫの１周期分の制御コードを加算／減算するようにしたので、ＤＡＴＡとＣＬＯＣＫとの周波数に差がある場合でも、同一のクロック位相を与えながらＤＡＴＡとＣＬＯＣＫとの同期をとることが可能となった。
【００６１】
また、２相の内部クロックを発生させる必要がないため、簡単な回路構成でＣＤＲ回路を構成することが可能となった。また、貫通電流パスを持った８位相クロック分割器が不要となった。
【００６２】
（第２の実施の形態）
図５は、本発明の第２の実施の形態におけるＣＤＲ回路の内部構成を示すブロック図である。このＣＤＲ回路は、図２に示す第１の実施の形態におけるＣＤＲ回路と比較して、ＶＤＬ１１がＶＤＬ  Ａ１５およびＶＤＬ  Ｂ１６に置換され、＋１／−１  Ｉｎｃｒｅｍｅｎｔ回路２２が＋１／−１  Ｉｎｃｒｅｍｅｎｔ  Ａ回路３３および＋１／−１  Ｉｎｃｒｅｍｅｎｔ  Ｂ回路３４に置換され、Ｄｅｃｏｄｅｒ３０がＤｅｃｏｄｅｒ  Ａ３１およびＤｅｃｏｄｅｒ  Ｂ３２に置換されている点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。
【００６３】
＋１／−１  Ｉｎｃｒｅｍｅｎｔ  Ａ回路３３は、Ｎ回Ｃｏｕｎｔｅｒ２１のカウント値がｍ（ｍ＜＜Ｎ）よりも大きければ、ＶＤＬ  Ａ１５を制御するための制御コード（ＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩ）を１だけインクリメントする信号をＡＤＤ２３に出力する。また、Ｎ回Ｃｏｕｎｔｅｒ２１のカウント値が−ｍよりも小さければ、ＶＤＬ  Ａ１５を制御するための制御コードを１だけデクリメントする信号をＡＤＤ２３に出力する。
【００６４】
＋１／−１  Ｉｎｃｒｅｍｅｎｔ  Ｂ回路３４は、Ｅｄｇｅ  Ｄｅｔｅｃｔｏｒ１２からのＥｄｇｅ  Ｄｅｔｅｃｔｏｒ出力を受け、ＶＤＬ  ＣＯＤＥ＿ＨのインクリメントおよびＶＤＬ  ＣＯＤＥ＿Ｌのデクリメントを行ない、その結果をそれぞれＳＦＲ  Ｂ２５およびＳＦＲ  Ｃ２６に出力する。
【００６５】
Ｄｅｃｏｄｅｒ  Ａ３１は、ＳＦＲ  Ａ２４から出力される制御コード（ＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩ）をデコードすることによって、ＶＤＬ＿ＴＡＰ信号およびＶＤＬ＿ＰＩ信号を生成してＶＤＬ  Ａ１５に出力する。
【００６６】
Ｄｅｃｏｄｅｒ  Ｂ３２は、ＳＦＲ  Ｂ２５およびＳＦＲ  Ｃ２６から出力されるＶＤＬ  ＣＯＤＥ＿ＨおよびＶＤＬ  ＣＯＤＥ＿Ｌをデコードし、そのデコード結果をＶＤＬ  Ｂ１６に出力する。
【００６７】
ＶＤＬ  Ａ１５は、ＶＤＬ＿ＴＡＰおよびＶＤＬ＿ＰＩを受け、ＶＤＬ出力の遅延を制御する。ＶＤＬ  Ｂ１６は、ＶＤＬ  ＣＯＤＥ＿ＨおよびＶＤＬ  ＣＯＤＥ＿Ｌを受け、ＣＬＯＣＫの１周期分の制御コードの生成を制御する。
【００６８】
本実施の形態においては、ＣＤＲＭＯＤＥが使用されておらず、Ｅｄｇｅ  Ｄｅｔｅｃｔｏｒ１２は、常時ＣＬＯＣＫの１周期の検出を行なう。したがって、Ｒｅｇｉｓｔｅｒ（Ｈ）２７およびＲｅｇｉｓｔｅｒ（Ｌ）２８に格納されるＶＤＬ  ＣＯＤＥ＿Ｈの上限値およびＶＤＬ  ＣＯＤＥ＿Ｌの下限値は適宜更新される。
【００６９】
図６は、本発明の第２の実施の形態におけるＣＤＲ回路１の処理手順を説明するためのフローチャートである。このフローチャートにおいては、ＣＬＯＣＫの１周期分の制御コードの検出および格納を行なう処理と、ＤＡＴＡおよびＣＬＯＣＫの同期を行なう処理とが並行して行なわれる。
【００７０】
まず、Ｅｄｇｅ  Ｄｅｔｅｃｔｏｒ１２の出力を“Ｌ”にし（Ｓ３１）、＋１／−１  Ｉｎｃｒｅｍｅｎｔ  Ｂ回路３４内のＶＤＬ  ＣＯＤＥ＿ＨおよびＶＤＬ  ＣＯＤＥ＿Ｌを初期値にする（Ｓ３２）。そして、図３に示すフローチャートのステップＳ１２〜Ｓ１８と同様の処理を行なう。このとき、Ｅｄｇｅ  Ｄｅｔｅｃｔｏｒ１２の出力が“Ｈ”のままであれば（Ｓ３３,“Ｈ”のまま）、ステップＳ１８の処理を繰返す。また、Ｅｄｇｅ  Ｄｅｔｅｃｔｏｒ１２の出力が“Ｌ”に変われば（Ｓ３３，“Ｌ”に変わる）、ステップＳ３２に戻って以降の処理を繰返す。
【００７１】
一方、これらの処理と並行して、図３に示すステップＳ２０〜Ｓ２９の処理が行なわれる。なお、ステップＳ２３およびＳ２６において使用されるＶＤＬ  ＣＯＤＥ＿ＨおよびＶＤＬ  ＣＯＤＥ＿Ｌの値は、ステップＳ１８において適宜更新される値である。
【００７２】
以上説明したように、本実施の形態におけるＣＤＲ回路１によれば、ＣＬＯＣＫの１周期分の制御コードの検出処理と、ＤＡＴＡとＣＬＯＣＫとの同期をとる処理とを並行して行なうようにしたので、第１の実施の形態において説明した効果に加えて、プロセス、電源電圧、温度などの変動によって、動作中のＣＬＯＣＫの１周期分に相当する制御コードが変化する場合でも、位相の連続性を保ちながらＤＡＴＡとＣＬＯＣＫとの同期を実現することが可能となった。
【００７３】
（第３の実施の形態）
図７は、本発明の第３の実施の形態におけるＣＤＲ回路の内部構成を示すブロック図である。このＣＤＲ回路は、図５に示す第２の実施の形態におけるＣＤＲ回路と比較して、Ｒｅｇｉｓｔｅｒ（Ｈ）２７およびＲｅｇｉｓｔｅｒ（Ｌ）２８がＲｅｇｉｓｔｅｒ  Ａ（Ｈ）３５およびＲｅｇｉｓｔｅｒ  Ａ（Ｌ）３６に置換され、Ｒｅｇｉｓｔｅｒ  Ｂ（Ｈ）３７と、Ｒｅｇｉｓｔｅｒ  Ｂ（Ｌ）３８と、Ｃｏｍｐａｒｅ（Ｈ）回路３９と、Ｃｏｍｐａｒｅ（Ｌ）回路４０と、ＰＡＳＳ／ＦＡＩＬ  Ｄｅｔｅｃｔｏｒ４１と、Ｔｅｓｔ  Ｃｉｒｃｕｉｔ４２と、セレクタ５１〜５８とが追加されている点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。
【００７４】
Ｒｅｇｉｓｔｅｒ  Ａ（Ｈ）３５およびＲｅｇｉｓｔｅｒ  Ａ（Ｌ）３６は、ＶＤＬ  Ｂ１６を使用したときの制御コードの上限値および下限値を格納する。また、Ｒｅｇｉｓｔｅｒ  Ｂ（Ｈ）３７およびＲｅｇｉｓｔｅｒ  Ｂ（Ｌ）３８は、ＶＤＬ  Ａ１５を使用したときの制御コードの上限値および下限値を格納する。
【００７５】
Ｃｏｍｐａｒｅ（Ｈ）回路３９は、Ｒｅｇｉｓｔｅｒ  Ａ（Ｈ）３５およびＲｅｇｉｓｔｅｒ  Ｂ（Ｈ）３７に格納される制御コードの上限値を比較する。また、Ｃｏｍｐａｒｅ（Ｌ）回路４０は、Ｒｅｇｉｓｔｅｒ  Ａ（Ｌ）３６およびＲｅｇｉｓｔｅｒ  Ｂ（Ｌ）３８に格納される制御コードの下限値を比較する。
【００７６】
ＰＡＳＳ／ＦＡＩＬ  Ｄｅｔｅｃｔｏｒ４１は、Ｃｏｍｐａｒｅ（Ｈ）３９の比較結果と、Ｃｏｍｐａｒｅ（Ｌ）４０の比較結果とが共に一致する場合に、ＣＤＲ回路１の動作を続行する。また、Ｃｏｍｐａｒｅ（Ｈ）３９の比較結果と、Ｃｏｍｐａｒｅ（Ｌ）４０の比較結果とのいずれか、または両方が不一致の場合に、ＥＲＲＯＲ信号を出力してＣＤＲ回路１の動作を停止させる。
【００７７】
Ｔｅｓｔ  Ｃｉｒｃｕｉｔ４２は、ＳＥＬ＿ＶＤＬ信号によってセレクタ５１〜５８の出力を切替える。ＳＥＬ＿ＶＤＬ信号が“Ｌ”の場合は、ＶＤＬ  Ａ１５にＤＡＴＡとＣＬＯＣＫとの同期を行なわせ、ＶＤＬ  Ｂ１６にＣＬＯＣＫの１周期分の制御コードの検出と格納とを行なわせる。また、ＳＥＬ＿ＶＤＬ信号が“Ｈ”の場合は、ＶＤＬ  Ａ１５にＣＬＯＣＫの１周期分の制御コードの検出と格納とを行なわせる。なお、ＰＡＳＳ／ＦＡＩＬ  Ｄｅｔｅｃｔｏｒ４１によってエラーが検出された場合、＋１／−１  Ｉｎｃｒｅｍｅｎｔ  Ｂ回路３４へのＥｄｇｅ  Ｄｅｔｅｃｔｏｒ出力を停止して、ＣＤＲ回路１の動作を停止させる。
【００７８】
図８は、本発明の第３の実施の形態におけるＣＤＲ回路１の処理手順を説明するためのフローチャートである。まず、Ｔｅｓｔ  Ｃｉｒｃｕｉｔ４２はＳＥＬ＿ＶＤＬ信号に“Ｌ”を設定し、Ｅｄｇｅ  Ｄｅｔｅｃｔｏｒ１２の出力を“Ｌ”にする。そして、＋１／−１  Ｉｎｃｒｅｍｅｎｔ  Ｂ回路３４内のＶＤＬ  ＣＯＤＥ＿ＨおよびＶＤＬ  ＣＯＤＥ＿Ｌを初期値にする（Ｓ４１）。
【００７９】
次に、図３に示すフローチャートのステップＳ１２〜Ｓ１７と同様の処理を行ない、ＣＬＯＣＫの１周期分の制御コードを検出して、そのときのＶＤＬ  ＣＯＤＥ＿Ｈの値およびＶＤＬ  ＣＯＤＥ＿Ｌの値をそれぞれ、Ｒｅｇｉｓｔｅｒ  Ａ（Ｈ）３５およびＲｅｇｉｓｔｅｒ  Ａ（Ｌ）３６に格納する（Ｓ４２）。
【００８０】
次に、Ｔｅｓｔ  Ｃｉｒｃｕｉｔ４２はＳＥＬ＿ＶＤＬ信号に“Ｈ”を設定し、Ｅｄｇｅ  Ｄｅｔｅｃｔｏｒ１２の出力を“Ｌ”にする。そして、＋１／−１  Ｉｎｃｒｅｍｅｎｔ  Ｂ回路３４内のＶＤＬ  ＣＯＤＥ＿ＨおよびＶＤＬ  ＣＯＤＥ＿Ｌを初期値にする（Ｓ４３）。
【００８１】
次に、図３に示すフローチャートのステップＳ１２〜Ｓ１７と同様の処理を行ない、ＣＬＯＣＫの１周期分の制御コードを検出して、そのときのＶＤＬ  ＣＯＤＥ＿Ｈの値およびＶＤＬ  ＣＯＤＥ＿Ｌの値をそれぞれ、Ｒｅｇｉｓｔｅｒ  Ｂ（Ｈ）３７およびＲｅｇｉｓｔｅｒ  Ｂ（Ｌ）３８に格納する（Ｓ４４）。
【００８２】
次に、Ｒｅｇｉｓｔｅｒ  Ａ（Ｈ）３５の値とＲｅｇｉｓｔｅｒ  Ｂ（Ｈ）３７の値とを比較し、Ｒｅｇｉｓｔｅｒ  Ａ（Ｌ）３６の値とＲｅｇｉｓｔｅｒ  Ｂ（Ｌ）３８の値とを比較する。比較結果のいずれか、または両方が不一致であれば（Ｓ４５，違う）、ＥＲＲＯＲ信号を出力して処理を終了する。
【００８３】
また、比較結果がいずれも一致すれば（Ｓ４５，同じ）、Ｔｅｓｔ  Ｃｉｒｃｕｉｔ４２はＳＥＬ＿ＶＤＬ信号を“Ｌ”にし（Ｓ４６）、Ｅｄｇｅ  Ｄｅｔｅｃｔｏｒ１２の出力を“Ｌ”にし（Ｓ３１）、＋１／−１  Ｉｎｃｒｅｍｅｎｔ  Ｂ回路３４内のＶＤＬ  ＣＯＤＥ＿ＨおよびＶＤＬ  ＣＯＤＥ＿Ｌを初期値にする（Ｓ３２）。そして、図３に示すフローチャートのステップＳ１２〜Ｓ１７と同様の処理を行ない、ＣＬＯＣＫの１周期分の制御コードを検出して、そのときのＶＤＬ  ＣＯＤＥ＿Ｈの値およびＶＤＬ  ＣＯＤＥ＿Ｌの値をそれぞれ、Ｒｅｇｉｓｔｅｒ  Ａ（Ｈ）３５およびＲｅｇｉｓｔｅｒ  Ａ（Ｌ）３６に格納する（Ｓ４７）。このとき、Ｅｄｇｅ  Ｄｅｔｅｃｔｏｒ１２の出力が“Ｈ”のままであれば（Ｓ３３,“Ｈ”のまま）、ステップＳ４７の処理を繰返す。また、Ｅｄｇｅ  Ｄｅｔｅｃｔｏｒ１２の出力が“Ｌ”に変われば（Ｓ３３，“Ｌ”に変わる）、ステップＳ３２に戻って以降の処理を繰返す。
【００８４】
一方、これらの処理と並行して、図３に示すステップＳ２０〜Ｓ２９の処理が行なわれる。なお、ステップＳ２３およびＳ２６において使用されるＶＤＬ  ＣＯＤＥ＿ＨおよびＶＤＬ  ＣＯＤＥ＿Ｌの値は、ステップＳ４７において適宜更新される値である。
【００８５】
以上説明したように、本実施の形態におけるＣＤＲ回路１によれば、ＶＤＬ  Ａ１５およぼＶＤＬ  Ｂ１６を使用してＣＬＯＣＫの１周期分の制御コードをそれぞれ検出し、一致することを確認してからＣＤＲ回路１を動作させるようにしたので、ＣＬＯＣＫの１周期分の制御コードを検出するＶＤＬ  Ｂ１６の特性と、ＤＡＴＡとＣＬＯＣＫとの同期をとるＶＤＬ  Ａ１５の特性とが同じであることを保証することができ、位相の連続性を保ちながらＤＡＴＡとＣＬＯＣＫとの同期をより正確に実現することが可能となった。
【００８６】
（第４の実施の形態）
図９は、本発明の第４の実施の形態におけるＣＤＲ回路の内部構成を示すブロック図である。このＣＤＲ回路は、図５に示す第２の実施の形態におけるＣＤＲ回路と比較して、ＡＤＤ２３がＡＤＤ  Ａ６１およびＡＤＤ  Ｂ６２に置換され、Ｄｅｃｏｄｅｒ  Ｂ３２がＤｅｃｏｄｅｒ３０に置換され、セレクタ６３〜６６、ＳＦＲ  Ｄ６７、ＡＮＤ回路６８およびバッファ６９が追加された点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。
【００８７】
ＡＮＤ回路６８は、Ｎ回Ｃｏｕｎｔｅｒ２１からＮ回Ｃｏｕｎｔｅｒ２１が動作中に“Ｈ”となる信号と、Ｅｄｇｅ  Ｄｅｔｅｃｔｏｒ出力とを受ける。したがって、Ｅｄｇｅ  Ｄｅｔｅｃｔｏｒ出力が変化するときに、バッファ６９の出力であるＳＥＬ＿ＶＤＬが変化する。
【００８８】
ＳＥＬ＿ＶＤＬが“Ｌ”のとき、ＶＤＬ  Ａ１５からのＶＤＬ出力がＰＤ１４に与えられ、ＭＩＮ／ＭＡＸ  Ｄｅｔｅｃｔｏｒ２９の検出結果がＡＤＤ  Ｂ６２に与えられる。したがって、ＶＤＬ  Ａ１５がＤＡＴＡとＣＬＯＣＫとの同期を行なう。
【００８９】
また、ＳＥＬ＿ＶＤＬが“Ｈ”のとき、ＶＤＬ  Ｂ１６からのＶＤＬ出力がＰＤ１４に与えられ、ＭＩＮ／ＭＡＸ  Ｄｅｔｅｃｔｏｒ２９の検出結果がＡＤＤ  Ａ６１に与えられる。したがって、ＶＤＬ  Ｂ１６がＤＡＴＡとＣＬＯＣＫとの同期を行なう。
【００９０】
図１０は、本発明の第４の実施の形態におけるＣＤＲ回路１の処理手順を説明するためのフローチャートである。まず、Ｅｄｇｅ  Ｄｅｔｅｃｔｏｒ１２の出力を“Ｌ”にし、＋１／−１  Ｉｎｃｒｅｍｅｎｔ  Ｂ回路３４内のＶＤＬ  ＣＯＤＥ＿ＨおよびＶＤＬ  ＣＯＤＥ＿Ｌを初期値にする（Ｓ５１）。そして、図３に示すフローチャートのステップＳ１２〜Ｓ１８と同様の処理を行なう。
【００９１】
次に、Ｅｄｇｅ  Ｄｅｔｅｃｔｏｒ１２の出力を“Ｌ”にしてＳＥＬ＿ＶＤＬを“Ｌ”にし（Ｓ５２）、ＰＤ１４がＤＡＴＡとＶＤＬ出力との位相を比較する（Ｓ５３）。Ｎ回Ｃｏｕｎｔｅｒ２１は、ＰＤ１４による位相の比較結果をＮ回カウントし、そのカウント値が−ｍよりも小さければ（Ｓ５４，＜−ｍ）、ＭＩＮ／ＭＡＸ  Ｄｅｔｅｃｔｏｒ２９は、ＡＤＤ  Ａ６１によって算出されたＶＤＬ  Ａ＿ＴＡＰ／ＶＤＬ  Ａ＿ＰＩの値がＲｅｇｉｓｔｅｒ（Ｌ）２８に格納されたＶＤＬ  ＣＯＤＥ＿Ｌの値を超えたか否かを判定する（Ｓ５５）。
【００９２】
ＶＤＬ  ＣＯＤＥ＿Ｌの値を超えていれば（Ｓ５５，Ｙｅｓ）、ＡＤＤ  Ｂ６２はＶＤＬ  Ｂ＿ＴＡＰ／ＶＤＬ  Ｂ＿ＰＩの値を（ＶＤＬ  ＣＯＤＥ＿Ｈ）−（ＶＤＬ  ＣＯＤＥ＿Ｌ）−１だけ増やす処理を行ない（Ｓ５６）、ＳＥＬ＿ＶＤＬを“Ｈ”にする（Ｓ５７）。そして、ＡＤＤ  Ａ６１はＶＤＬ  Ａ＿ＴＡＰ／ＶＤＬ  Ａ＿ＰＩの値を（ＶＤＬ  ＣＯＤＥ＿Ｈ）−（ＶＤＬ  ＣＯＤＥ＿Ｌ）−１だけ増やす処理を行ない（Ｓ５８）、ステップＳ６６に処理が進む。
【００９３】
また、ＶＤＬ  ＣＯＤＥ＿Ｌの値を超えていなければ（Ｓ５５，Ｎｏ）、ＶＤＬ  Ａ＿ＴＡＰ／ＶＤＬ  Ａ＿ＰＩの値を１だけ減らし、ＶＤＬ  Ｂ＿ＴＡＰ／ＶＤＬ  Ｂ＿ＰＩの値を１だけ減らし（Ｓ５９）、ステップＳ５３に戻って以降の処理を繰返す。
【００９４】
ステップＳ５４において、カウント値が＋ｍよりも大きければ（Ｓ５４，＞＋ｍ）、ＭＩＮ／ＭＡＸ  Ｄｅｔｅｃｔｏｒ２９は、ＡＤＤ  Ａ６１によって算出されたＶＤＬ  Ａ＿ＴＡＰ／ＶＤＬ  Ａ＿ＰＩの値がＲｅｇｉｓｔｅｒ（Ｈ）２７に格納されたＶＤＬ  ＣＯＤＥ＿Ｈの値を超えたか否かを判定する（Ｓ６０）。
【００９５】
ＶＤＬ  ＣＯＤＥ＿Ｈの値を超えていれば（Ｓ６０，Ｙｅｓ）、ＡＤＤ  Ｂ６２はＶＤＬ  Ｂ＿ＴＡＰ／ＶＤＬ  Ｂ＿ＰＩの値を（ＶＤＬ  ＣＯＤＥ＿Ｈ）−（ＶＤＬ  ＣＯＤＥ＿Ｌ）＋１だけ減らす処理を行ない（Ｓ６１）、ＳＥＬ＿ＶＤＬを“Ｈ”にする（Ｓ６２）。そして、ＡＤＤ  Ａ６１はＶＤＬ  Ａ＿ＴＡＰ／ＶＤＬ  Ａ＿ＰＩの値を（ＶＤＬ  ＣＯＤＥ＿Ｈ）−（ＶＤＬ  ＣＯＤＥ＿Ｌ）＋１だけ減らす処理を行ない（Ｓ６３）、ステップＳ６６に処理が進む。
【００９６】
また、ＶＤＬ  ＣＯＤＥ＿Ｈの値を超えていなければ（Ｓ６０，Ｎｏ）、ＶＤＬ  Ａ＿ＴＡＰ／ＶＤＬ  Ａ＿ＰＩの値を１だけ増やし、ＶＤＬ  Ｂ＿ＴＡＰ／ＶＤＬ  Ｂ＿ＰＩの値を１だけ増やし（Ｓ６４）、ステップＳ５３に戻って以降の処理を繰返す。
【００９７】
また、ステップＳ５４において、カウント値が−ｍ〜＋ｍの範囲内であれば、ＤＡＴＡとＣＬＯＣＫとの周波数には差がないと判断し、ＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩの値を変えずに（Ｓ６５）、ＤＡＴＡとＶＤＬ出力との位相が一致しているとして（Ｓ７９）、処理を終了する。
【００９８】
ステップＳ６６において、ＰＤ１４がＤＡＴＡとＶＤＬ出力との位相を比較する。Ｎ回Ｃｏｕｎｔｅｒ２１は、ＰＤ１４による位相の比較結果をＮ回カウントし、そのカウント値が−ｍよりも小さければ（Ｓ６７，＜−ｍ）、ＭＩＮ／ＭＡＸ  Ｄｅｔｅｃｔｏｒ２９は、ＡＤＤ  Ｂ６２によって算出されたＶＤＬ  Ｂ＿ＴＡＰ／ＶＤＬ  Ｂ＿ＰＩの値がＲｅｇｉｓｔｅｒ（Ｌ）２８に格納されたＶＤＬ  ＣＯＤＥ＿Ｌの値を超えたか否かを判定する（Ｓ６８）。
【００９９】
ＶＤＬ  ＣＯＤＥ＿Ｌの値を超えていれば（Ｓ６８，Ｙｅｓ）、ＡＤＤ  Ａ６１はＶＤＬ  Ａ＿ＴＡＰ／ＶＤＬ  Ａ＿ＰＩの値を（ＶＤＬ  ＣＯＤＥ＿Ｈ）−（ＶＤＬ  ＣＯＤＥ＿Ｌ）−１だけ増やす処理を行ない（Ｓ６９）、ＳＥＬ＿ＶＤＬを“Ｌ”にする（Ｓ７０）。そして、ＡＤＤ  Ｂ６２はＶＤＬ  Ｂ＿ＴＡＰ／ＶＤＬ  Ｂ＿ＰＩの値を（ＶＤＬ  ＣＯＤＥ＿Ｈ）−（ＶＤＬ  ＣＯＤＥ＿Ｌ）−１だけ増やす処理を行ない（Ｓ７１）、ステップＳ５３に戻って以降の処理を繰返す。
【０１００】
また、ＶＤＬ  ＣＯＤＥ＿Ｌの値を超えていなければ（Ｓ６８，Ｎｏ）、ＶＤＬ  Ａ＿ＴＡＰ／ＶＤＬ  Ａ＿ＰＩの値を１だけ減らし、ＶＤＬ  Ｂ＿ＴＡＰ／ＶＤＬ  Ｂ＿ＰＩの値を１だけ減らし（Ｓ７２）、ステップＳ６６に戻って以降の処理を繰返す。
【０１０１】
ステップＳ６７において、カウント値が＋ｍよりも大きければ（Ｓ６７，＞＋ｍ）、ＭＩＮ／ＭＡＸ  Ｄｅｔｅｃｔｏｒ２９は、ＡＤＤ  Ｂ６２によって算出されたＶＤＬ  Ｂ＿ＴＡＰ／ＶＤＬ  Ｂ＿ＰＩの値がＲｅｇｉｓｔｅｒ（Ｈ）２７に格納されたＶＤＬ  ＣＯＤＥ＿Ｈの値を超えたか否かを判定する（Ｓ７３）。
【０１０２】
ＶＤＬ  ＣＯＤＥ＿Ｈの値を超えていれば（Ｓ７３，Ｙｅｓ）、ＡＤＤ  Ａ６１はＶＤＬ  Ａ＿ＴＡＰ／ＶＤＬ  Ａ＿ＰＩの値を（ＶＤＬ  ＣＯＤＥ＿Ｈ）−（ＶＤＬ  ＣＯＤＥ＿Ｌ）＋１だけ減らす処理を行ない（Ｓ７４）、ＳＥＬ＿ＶＤＬを“Ｌ”にする（Ｓ７５）。そして、ＡＤＤ  Ｂ６２はＶＤＬ  Ｂ＿ＴＡＰ／ＶＤＬ  Ｂ＿ＰＩの値を（ＶＤＬ  ＣＯＤＥ＿Ｈ）−（ＶＤＬ  ＣＯＤＥ＿Ｌ）＋１だけ減らす処理を行ない（Ｓ７６）、ステップＳ５３に戻って以降の処理を繰返す。
【０１０３】
また、ＶＤＬ  ＣＯＤＥ＿Ｈの値を超えていなければ（Ｓ７３，Ｎｏ）、ＶＤＬ  Ａ＿ＴＡＰ／ＶＤＬ  Ａ＿ＰＩの値を１だけ増やし、ＶＤＬ  Ｂ＿ＴＡＰ／ＶＤＬ  Ｂ＿ＰＩの値を１だけ増やし（Ｓ７７）、ステップＳ６６に戻って以降の処理を繰返す。
【０１０４】
また、ステップＳ６７において、カウント値が−ｍ〜＋ｍの範囲内であれば、ＤＡＴＡとＣＬＯＣＫとの周波数には差がないと判断し、ＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩの値を変えずに（Ｓ７８）、ＤＡＴＡとＶＤＬ出力との位相が一致しているとして（Ｓ７９）、処理を終了する。
【０１０５】
図１１は、図１０のフローチャートに示す処理によって、ＶＤＬ  Ａ１５およびＶＤＬ  Ｂ１６がどのように可変遅延時間以上のデータに追従するかを説明するための図である。図１１（ａ）は、ＤＡＴＡとＶＤＬ出力との位相を比較した結果、カウント値が連続して−ｍよりも小さくなる場合を示している。図１１（ａ）の上図においては、ＶＤＬ  Ａ１５がＤＡＴＡとＣＬＯＣＫとの同期をとっており、やがてＶＤＬ  Ａ＿ＴＡＰ／ＶＤＬ  Ａ＿ＰＩの値がＶＤＬ  ＣＯＤＥ＿Ｌに至る。このとき、図１１（ａ）の下図に示すようにＶＤＬ  Ｂ＿ＴＡＰ／ＶＤＬ  Ｂ＿ＰＩの値に（ＶＤＬ  ＣＯＤＥ＿Ｈ）−（ＶＤＬ  ＣＯＤＥ＿Ｌ）−１を加算させた後にＶＤＬ  Ｂ１６に動作を切替えてＤＡＴＡとＣＬＯＣＫとの同期をとらせると共に、ＶＤＬ  Ａ＿ＴＡＰ／ＶＤＬ  Ａ＿ＰＩの値に（ＶＤＬ  ＣＯＤＥ＿Ｈ）−（ＶＤＬ  ＣＯＤＥ＿Ｌ）−１を加算させて、同一のクロック位相を与えながら一度に遅延を増加させる。
【０１０６】
また、図１１（ａ）の下図に示すように、ＶＤＬ  Ｂ１６がＤＡＴＡとＣＬＯＣＫとの同期をとっており、やがてＶＤＬ  Ｂ＿ＴＡＰ／ＶＤＬ  Ｂ＿ＰＩの値がＶＤＬ  ＣＯＤＥ＿Ｌに至った場合には、図１１（ａ）の上図に示すようにＶＤＬ  Ａ＿ＴＡＰ／ＶＤＬ  Ａ＿ＰＩの値に（ＶＤＬ  ＣＯＤＥ＿Ｈ）−（ＶＤＬ  ＣＯＤＥ＿Ｌ）−１を加算させた後にＶＤＬ  Ａ１５に動作を切替えてＤＡＴＡとＣＬＯＣＫとの同期をとらせると共に、ＶＤＬ  Ｂ＿ＴＡＰ／ＶＤＬ  Ｂ＿ＰＩの値に（ＶＤＬ  ＣＯＤＥ＿Ｈ）−（ＶＤＬ  ＣＯＤＥ＿Ｌ）−１を加算させて、同一のクロック位相を与えながら一度に遅延を増加させる。
【０１０７】
図１１（ｂ）は、ＤＡＴＡとＶＤＬ出力との位相を比較した結果、カウント値が連続して＋ｍよりも大きくなる場合を示している。図１１（ｂ）の上図においては、ＶＤＬ  Ａ１５がＤＡＴＡとＣＬＯＣＫとの同期をとっており、やがてＶＤＬ  Ａ＿ＴＡＰ／ＶＤＬ  Ａ＿ＰＩの値がＶＤＬ  ＣＯＤＥ＿Ｈに至る。このとき、図１１（ｂ）の下図に示すようにＶＤＬ  Ｂ＿ＴＡＰ／ＶＤＬ  Ｂ＿ＰＩの値から（ＶＤＬ  ＣＯＤＥ＿Ｈ）−（ＶＤＬ  ＣＯＤＥ＿Ｌ）＋１を減算した後にＶＤＬ  Ｂ１６に動作を切替えてＤＡＴＡとＣＬＯＣＫとの同期をとらせると共に、ＶＤＬ  Ａ＿ＴＡＰ／ＶＤＬ  Ａ＿ＰＩの値から（ＶＤＬ  ＣＯＤＥ＿Ｈ）−（ＶＤＬ  ＣＯＤＥ＿Ｌ）＋１を減算して、同一のクロック位相を与えながら一度に遅延を減少させる。
【０１０８】
また、図１１（ｂ）の下図に示すように、ＶＤＬ  Ｂ１６がＤＡＴＡとＣＬＯＣＫとの同期をとっており、やがてＶＤＬ  Ｂ＿ＴＡＰ／ＶＤＬ  Ｂ＿ＰＩの値がＶＤＬ  ＣＯＤＥ＿Ｈに至った場合には、図１１（ｂ）の上図に示すようにＶＤＬ  Ａ＿ＴＡＰ／ＶＤＬ  Ａ＿ＰＩの値から（ＶＤＬ  ＣＯＤＥ＿Ｈ）−（ＶＤＬ  ＣＯＤＥ＿Ｌ）＋１を減算した後にＶＤＬ  Ａ１５に動作を切替えてＤＡＴＡとＣＬＯＣＫとの同期をとらせると共に、ＶＤＬ  Ｂ＿ＴＡＰ／ＶＤＬ  Ｂ＿ＰＩの値から（ＶＤＬ  ＣＯＤＥ＿Ｈ）−（ＶＤＬ  ＣＯＤＥ＿Ｌ）＋１を減算して、同一のクロック位相を与えながら一度に遅延を減少させる。
【０１０９】
この動作（ＣＯＤＥ  ＪＵＭＰ）によって、ＤＡＴＡとＣＬＯＣＫとの周波数に差がある場合でも、位相の連続性を保ちながらＤＡＴＡとＣＬＯＣＫとの同期を実現することが可能となる。
【０１１０】
以上説明したように、本実施の形態におけるＣＤＲ回路１によれば、ＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩの値が下限値または上限値に至ったときに、ＶＤＬを切替えてＤＡＴＡとＣＬＯＣＫとの同期をとらせるようにしたので、ＣＬＯＣＫの１周期分の制御コードの加算または減算に時間を要する場合でも、位相の連続性を保つことが可能となった。
【０１１１】
（第５の実施の形態）
図１２は、本発明の第５の実施の形態におけるＣＤＲ回路の内部構成を示すブロック図である。このＣＤＲ回路は、図２に示す第１の実施の形態におけるＣＤＲ回路と比較して、ヒステリシス制御コードを決定するＨｙｓｔｅｒｅｓｉｓ  ＣＯＤＥ  ＳＥＴ回路７１が追加され、ＭＩＮ／ＭＡＸ  Ｄｅｔｅｃｔｏｒ７２の機能が異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。
【０１１２】
ＭＩＮ／ＭＡＸ  Ｄｅｔｅｃｔｏｒ７２は、ＡＤＤ２３によって算出された制御コード（ＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩ）をＳＦＲ  Ａ２４を介して受け、制御コードがＲｅｇｉｓｔｅｒ（Ｈ）２７に格納される上限値またはＲｅｇｉｓｔｅｒ（Ｌ）２８に格納される下限値であることを検出する際、Ｈｙｓｔｅｒｅｓｉｓ  ＣＯＤＥ  ＳＥＴ回路７１から出力されるＨＹＳ信号を加味する。すなわち、制御コードの下限値を（ＶＤＬ  ＣＯＤＥ＿Ｌ）−（ＨＹＳ）とし、制御コードの上限値を（ＶＤＬ  ＣＯＤＥ＿Ｈ）＋（ＨＹＳ）として、制御コード（ＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩ）との比較を行なう。
【０１１３】
図１３は、本発明の第５の実施の形態におけるＣＤＲ回路１の処理手順を説明するためのフローチャートである。まず、図３に示すフローチャートのステップＳ１１〜Ｓ２１と同様の処理を行なう。Ｎ回Ｃｏｕｎｔｅｒ２１は、ＰＤ１４による位相の比較結果をＮ回カウントし、そのカウント値が−ｍよりも小さければ（Ｓ２１，＜−ｍ）、ＭＩＮ／ＭＡＸ  Ｄｅｔｅｃｔｏｒ７２は、ＡＤＤ２３によって算出されたＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩの値が（ＶＤＬ  ＣＯＤＥ＿Ｌ）−（ＨＹＳ）の値を超えたか否かを判定する（Ｓ８１）。
【０１１４】
（ＶＤＬ  ＣＯＤＥ＿Ｌ）−（ＨＹＳ）の値を超えていれば（Ｓ８１，Ｙｅｓ）、ＡＤＤ２３はＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩの値を（ＶＤＬ  ＣＯＤＥ＿Ｈ）−（ＶＤＬ  ＣＯＤＥ＿Ｌ）−１だけ増やす処理（ＣＯＤＥ  ＪＵＭＰ）を行ない（Ｓ２３）、ステップＳ２０に戻って以降の処理を繰返す。
【０１１５】
また、（ＶＤＬ  ＣＯＤＥ＿Ｌ）−（ＨＹＳ）の値を超えていなければ（Ｓ８１，Ｎｏ）、ＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩの値を１だけ減らし（Ｓ２４）、ステップＳ２０に戻って以降の処理を繰返す。
【０１１６】
ステップＳ２１において、カウント値が＋ｍよりも大きければ（Ｓ２１，＞＋ｍ）、ＭＩＮ／ＭＡＸ  Ｄｅｔｅｃｔｏｒ７２は、ＡＤＤ２３によって算出されたＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩの値が（ＶＤＬ  ＣＯＤＥ＿Ｈ）＋（ＨＹＳ）の値を超えたか否かを判定する（Ｓ８２）。
【０１１７】
（ＶＤＬ  ＣＯＤＥ＿Ｈ）＋（ＨＹＳ）の値を超えていれば（Ｓ８２，Ｙｅｓ）、ＡＤＤ２３はＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩの値を（ＶＤＬ  ＣＯＤＥ＿Ｈ）−（ＶＤＬ  ＣＯＤＥ＿Ｌ）＋１だけ減らす処理（ＣＯＤＥ  ＪＵＭＰ）を行ない（Ｓ２６）、ステップＳ２０に戻って以降の処理を繰返す。
【０１１８】
また、（ＶＤＬ  ＣＯＤＥ＿Ｈ）＋（ＨＹＳ）の値を超えていなければ（Ｓ８２，Ｎｏ）、ＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩの値を１だけ増やし（Ｓ２７）、ステップＳ２０に戻って以降の処理を繰返す。
【０１１９】
また、ステップＳ２１において、カウント値が−ｍ〜＋ｍの範囲内であれば、ＤＡＴＡとＣＬＯＣＫとの周波数には差がないと判断し、ＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩの値を変えずに（Ｓ２８）、ＤＡＴＡとＶＤＬ出力との位相が一致しているとして（Ｓ２９）、処理を終了する。
【０１２０】
図１４は、第１の実施の形態におけるＶＤＬ１１の制御コードの遷移と、第５の実施の形態におけるＶＤＬ１１の制御コードの遷移との比較を示す図である。図１４（ａ）は、第１の実施の形態の場合を示しており、制御コードがＶＤＬ  ＣＯＤＥ＿Ｌの近辺で位相が同期する場合には、ＣＯＤＥ  ＪＵＭＰが発生して制御コードに（ＶＤＬ  ＣＯＤＥ＿Ｈ）−（ＶＤＬ  ＣＯＤＥ＿Ｌ）−１を加算した後、制御コードがインクリメントされると、再度ＣＯＤＥ  ＪＵＭＰが発生して、ＣＯＤＥ  ＪＵＭＰが頻繁に繰返されるようになる。
【０１２１】
図１４（ｂ）は、第５の実施の形態の場合を示しており、制御コードがＶＤＬ  ＣＯＤＥ＿Ｌの近辺で位相が同期する場合でも、（ＶＤＬ  ＣＯＤＥ＿Ｌ）−（ＨＹＳ）を下限値とすることによって、ＣＯＤＥ  ＪＵＭＰが発生するのを防止することができる。
【０１２２】
以上説明したように、本実施の形態におけるＣＤＲ回路１によれば、ＭＩＮ／ＭＡＸ  Ｄｅｔｅｃｔｏｒ７２が制御コードと下限値または上限値とを比較する際に、ヒステリシスを考慮するようにしたので、下限値または上限値近辺で位相が同期した場合でも、ＣＯＤＥ  ＪＵＭＰが頻繁に発生するのを防止することが可能となった。
【０１２３】
（第６の実施の形態）
図１５は、本発明の第６の実施の形態におけるＣＤＲ回路の内部構成を示すブロック図である。このＣＤＲ回路は、図１２に示す第５の実施の形態におけるＣＤＲ回路と比較して、ＡＤＤ２３がＡＤＤ  Ｄ８１に置換され、ＡＤＤ  ＨＹＳ８２が追加され、Ｈｙｓｔｅｒｅｓｉｓ  ＣＯＤＥ  ＳＥＴ回路７１からのＨＹＳ信号がＡＤＤ  Ｄ８１およびＡＤＤ  ＨＹＳ８２に与えられる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、動作原理は、第５の実施の形態において説明したものと同様である。
【０１２４】
ＡＤＤ  ＨＹＳ８２は、Ｒｅｇｉｓｔｅｒ（Ｈ）２７に格納される上限値にＨＹＳの値を加算し、Ｒｅｇｉｓｔｅｒ（Ｌ）２８に格納される下限値にＨＹＳの値を減算してＭＩＮ／ＭＡＸ  Ｄｅｔｅｃｔｏｒ２９に出力する。
【０１２５】
ＡＤＤ  Ｄ８１は、ＣＬＯＣＫの１周期分の制御コードを加算または減算するときに、ＨＹＳの値を加減算する。
【０１２６】
図１６は、本発明の第６の実施の形態におけるＣＤＲ回路の処理手順を説明するためのフローチャートである。まず、図３に示すフローチャートのステップＳ１１〜Ｓ１８と同様の処理を行なう。ＡＤＤ  ＨＹＳ８２は、ＶＤＬ  ＣＯＤＥ＿Ｈの値をＨＹＳの値だけ増やし、ＶＤＬ  ＣＯＤＥ＿Ｌの値をＨＹＳの値だけ減らす（Ｓ９１）。
【０１２７】
次に、ＣＤＲＭＯＤＥに“Ｌ”を設定し（Ｓ１９）、ＰＤ１４はＤＡＴＡとＶＤＬ出力との位相を比較する（Ｓ２０）。Ｎ回Ｃｏｕｎｔｅｒ２１は、ＰＤ１４による位相の比較結果をＮ回カウントし、そのカウント値が−ｍよりも小さければ（Ｓ２１，＜−ｍ）、ＭＩＮ／ＭＡＸ  Ｄｅｔｅｃｔｏｒ２９は、ＡＤＤ  Ｄ８１によって算出されたＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩの値が（ＶＤＬ  ＣＯＤＥ＿Ｌ）−（ＨＹＳ）の値を超えたか否かを判定する（Ｓ８１）。
【０１２８】
（ＶＤＬ  ＣＯＤＥ＿Ｌ）−（ＨＹＳ）の値を超えていれば（Ｓ８１，Ｙｅｓ）、ＡＤＤ２３はＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩの値を｛（ＶＤＬ  ＣＯＤＥ＿Ｈ）＋（ＨＹＳ）｝−｛（ＶＤＬ  ＣＯＤＥ＿Ｌ）−（ＨＹＳ）｝−１−２×（ＨＹＳ）だけ増やす処理（ＣＯＤＥ  ＪＵＭＰ）を行ない（Ｓ９２）、ステップＳ２０に戻って以降の処理を繰返す。
【０１２９】
また、（ＶＤＬ  ＣＯＤＥ＿Ｌ）−（ＨＹＳ）の値を超えていなければ（Ｓ８１，Ｎｏ）、ＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩの値を１だけ減らし（Ｓ２４）、ステップＳ２０に戻って以降の処理を繰返す。
【０１３０】
ステップＳ２１において、カウント値が＋ｍよりも大きければ（Ｓ２１，＞＋ｍ）、ＭＩＮ／ＭＡＸ  Ｄｅｔｅｃｔｏｒ２９は、ＡＤＤ  Ｄ８１によって算出されたＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩの値が（ＶＤＬ  ＣＯＤＥ＿Ｈ）＋（ＨＹＳ）の値を超えたか否かを判定する（Ｓ８２）。
【０１３１】
（ＶＤＬ  ＣＯＤＥ＿Ｈ）＋（ＨＹＳ）の値を超えていれば（Ｓ８２，Ｙｅｓ）、ＡＤＤ２３はＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩの値を｛（ＶＤＬ  ＣＯＤＥ＿Ｈ）＋（ＨＹＳ）｝−｛（ＶＤＬ  ＣＯＤＥ＿Ｌ）−（ＨＹＳ）｝＋１−２×（ＨＹＳ）だけ減らす処理（ＣＯＤＥ  ＪＵＭＰ）を行ない（Ｓ９３）、ステップＳ２０に戻って以降の処理を繰返す。
【０１３２】
また、（ＶＤＬ  ＣＯＤＥ＿Ｈ）＋（ＨＹＳ）の値を超えていなければ（Ｓ８２，Ｎｏ）、ＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩの値を１だけ増やし（Ｓ２７）、ステップＳ２０に戻って以降の処理を繰返す。
【０１３３】
また、ステップＳ２１において、カウント値が−ｍ〜＋ｍの範囲内であれば、ＤＡＴＡとＣＬＯＣＫとの周波数には差がないと判断し、ＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩの値を変えずに（Ｓ２８）、ＤＡＴＡとＶＤＬ出力との位相が一致しているとして（Ｓ２９）、処理を終了する。
【０１３４】
以上説明したように、本実施の形態におけるＣＤＲ回路によれば、ＡＤＤ  ＨＹＳ８２が上限値にＨＹＳの値を加算し、下限値にＨＹＳの値を減算し、ＡＤＤ  Ｄ８１がＣＬＯＣＫの１周期分の制御コードを加算または減算するときに、ＨＹＳの値を加減算するようにしたので、第５の実施の形態において説明した効果と同様の効果を奏することが可能となった。また、第５の実施の形態と比較して、ＭＩＮ／ＭＡＸ  Ｄｅｔｅｃｔｏｒ２９の回路構成を簡単にすることが可能となった。
【０１３５】
（第７の実施の形態）
図１７は、本発明の第７の実施の形態におけるＶＤＬの内部構成を示すブロック図である。このＶＤＬは、Ｄｅｌａｙ  Ｌｉｎｅ１１０と、ＴＡＰ  Ｌｉｎｅ１２０と、ＰＩ  Ｌｉｎｅ１３０と、バッファ１４０とを含む。
【０１３６】
Ｄｅｌａｙ  Ｌｉｎｅ１１０は、Ｄｅｌａｙ  Ｕｎｉｔ（２Ｎ＋１）個が直列に接続された構成を有している。図１７においては、Ｎ＝８であり、４Ｎがコード数に相当する。
【０１３７】
ＴＡＰ  Ｌｉｎｅ１２０は、Ｄｅｌａｙ  Ｌｉｎｅ１１０からの出力を選択するための４つのセレクタ１２１〜１２４によって構成され、各セレクタの入力の番号は何番目のＤｅｌａｙ  Ｕｎｉｔの出力が接続されるかを示している。セレクタ１２１には、Ｎ番目までの偶数番のＤｅｌａｙ  Ｕｎｉｔの出力が接続される。セレクタ１２２には、Ｎ番目までの奇数番のＤｅｌａｙ  Ｕｎｉｔの出力が接続される。セレクタ１２３には、Ｎ＋１〜２Ｎ番目までの偶数番のＤｅｌａｙ  Ｕｎｉｔの出力が接続される。セレクタ１２４には、Ｎ＋１〜２Ｎ番目までの奇数番のＤｅｌａｙ  Ｕｎｉｔの出力が接続される。セレクタ１２１〜１２４による選択は、制御信号ＶＤＬ＿ＴＡＰ（ＴＡＰ＜０：１５＞）によって行なわれる。
【０１３８】
ＰＩ  Ｌｉｎｅ１３０は、位相補間器ＰＩ１３１〜１３４によって構成される。制御コードが偶数のときは１つの位相補間器ＰＩのみが導通状態（以下、１００％と記す。）となる。制御コードが奇数のときは位相補間器ＰＩ１３１および１３２、または１３３および１３４のいずれか２つが導通状態となる。これによって、それぞれの入力の中間位相（以下、５０％と記す。）が出力される。位相補間器ＰＩの補間の割合は制御信号ＶＤＬ＿ＰＩ（ＰＩ１００％／５０％）によって行なわれる。
【０１３９】
図１８は、制御コードの数値と制御信号ＴＡＰ＜０：１５＞およびＰＩ１００％／５０％との関係を示す図である。図１８の左半分（制御コード０〜１５）は、図１７に示すＤｅｌａｙ  Ｌｉｎｅ１１０のＬ側コード（上半分を選択する制御コード）を示している。また、図１８の右半分（制御コード１６から３１）は、図１７に示すＤｅｌａｙ  Ｌｉｎｅ１１０のＨ側コード（下半分を選択する制御コード）を示している。
【０１４０】
図１７に示すように、Ｄｅｌａｙ  ＬｉｎｅのＮ番目において、Ｄｅｌａｙ  Ｕｎｉｔ、セレクタ、位相補間器ＰＩが同数ずつ接続されるので、各Ｄｅｌａｙ  ＵｎｉｔからＶＤＬの出力ＯＵＴまでの伝播経路上の負荷容量を容易に合わせることができ、ＶＤＬの制御コードに対する遅延変化量を同じにすることが容易に行なえる。
【０１４１】
図１９は、本発明の第７の実施の形態におけるＣＤＲ回路のコード切替えの処理手順を説明するためのフローチャートである。まず、Ｎ回Ｃｏｕｎｔｅｒ２１は、ＰＤ１４による位相の比較結果をＮ回カウントし、そのカウント値が−ｍよりも小さければ（Ｓ１０１，＜−ｍ）、ＭＩＮ／ＭＡＸ  Ｄｅｔｅｃｔｏｒ２９は、ＡＤＤ２３によって算出されたＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩの値がＶＤＬ  ＣＯＤＥ＿Ｌの値を超えたか否かを判定する（Ｓ１０２）。ＶＤＬ  ＣＯＤＥ＿Ｌの値を超えていれば（Ｓ１０２，Ｙｅｓ）、ＡＤＤ２３は上述したＣＯＤＥ  ＪＵＭＰを行なう。
【０１４２】
また、ＶＤＬ  ＣＯＤＥ＿Ｌの値を超えていなければ（Ｓ１０２，Ｎｏ）、切替え前のコードと、切替え後のコードとを判定する（Ｓ１０３）。切替え前のコードが４ｎ（ｎ＝１〜７）であり、切替え後のコードが４ｎ−１（ｎ＝１〜７）の場合、ダウン前のＴＡＰ（奇）をＯＮからＯＦＦに切替え、ダウン後のＴＡＰ（奇）をＯＦＦからＯＮに切替える（Ｓ１０４）。そして、ＰＩ（偶）の出力電流値を１００％から５０％に切替え、ＰＩ（奇）の出力電流値を０％から５０％に切替え（Ｓ１０５）、処理を終了する。
【０１４３】
切替え前のコードが４ｎ−１（ｎ＝１〜７）であり、切替え後のコードが４ｎ−２（ｎ＝１〜７）の場合、ＰＩ（偶）の出力電流値を５０％から０％に切替え、ＰＩ（奇）の出力電流値を５０％から１００％に切替え（Ｓ１０６）、処理を終了する。
【０１４４】
切替え前のコードが４ｎ−２（ｎ＝１〜８）であり、切替え後のコードが４ｎ−３（ｎ＝１〜８）の場合、ダウン前のＴＡＰ（偶）をＯＮからＯＦＦに切替え、ダウン後のＴＡＰ（偶）をＯＦＦからＯＮに切替える（Ｓ１０７）。そして、ＰＩ（偶）の出力電流値を０％から５０％に切替え、ＰＩ（奇）の出力電流値を１００％から５０％に切替え（Ｓ１０８）、処理を終了する。
【０１４５】
切替え前のコードが４ｎ−３（ｎ＝１〜８）であり、切替え後のコードが４ｎ−４（ｎ＝１〜８）の場合、ＰＩ（偶）の出力電流値を５０％から１００％に切替え、ＰＩ（奇）の出力電流値を５０％から０％に切替え（Ｓ１０９）、処理を終了する。
【０１４６】
カウント値が＋ｍよりも大きければ（Ｓ１０１，＞＋ｍ）、ＭＩＮ／ＭＡＸ  Ｄｅｔｅｃｔｏｒ２９は、ＡＤＤ２３によって算出されたＶＤＬ＿ＴＡＰ／ＶＤＬ＿ＰＩの値がＶＤＬ  ＣＯＤＥ＿Ｈの値を超えたか否かを判定する（Ｓ１１０）。ＶＤＬ  ＣＯＤＥ＿Ｈの値を超えていれば（Ｓ１１０，Ｙｅｓ）、ＡＤＤ２３は上述したＣＯＤＥ  ＪＵＭＰを行なう。
【０１４７】
また、ＶＤＬ  ＣＯＤＥ＿Ｈの値を超えていなければ（Ｓ１１０，Ｎｏ）、切替え前のコードと、切替え後のコードとを判定する（Ｓ１１１）。切替え前のコードが４ｎ（ｎ＝０〜７）であり、切替え後のコードが４ｎ＋１（ｎ＝０〜７）の場合、ＰＩ（偶）の出力電流値を１００％から５０％に切替え、ＰＩ（奇）の出力電流値を０％から５０％に切替え（Ｓ１１２）、処理を終了する。
【０１４８】
切替え前のコードが４ｎ＋１（ｎ＝０〜７）であり、切替え後のコードが４ｎ＋２（ｎ＝０〜７）の場合、ＰＩ（偶）の出力電流値を５０％から０％に切替え、ＰＩ（奇）の出力電流値を５０％から１００％に切替える（Ｓ１１３）。そして、アップ前のＴＡＰ（偶）をＯＮからＯＦＦに切替え、アップ後のＴＡＰ（偶）をＯＦＦからＯＮに切替え（Ｓ１１４）、処理を終了する。
【０１４９】
切替え前のコードが４ｎ＋２（ｎ＝０〜６）であり、切替え後のコードが４ｎ＋３（ｎ＝０〜６）の場合、ＰＩ（偶）の出力電流値を０％から５０％に切替え、ＰＩ（奇）の出力電流値を１００％から５０％に切替え（Ｓ１１５）、処理を終了する。
【０１５０】
切替え前のコードが４ｎ＋３（ｎ＝０〜６）であり、切替え後のコードが４ｎ＋４（ｎ＝０〜６）の場合、ＰＩ（偶）の出力電流値を５０％から１００％に切替え、ＰＩ（奇）の出力電流値を５０％から０％に切替える（Ｓ１１６）。そして、アップ前のＴＡＰ（奇）をＯＮからＯＦＦに切替え、アップ後のＴＡＰ（奇）をＯＦＦからＯＮに切替え（Ｓ１１７）、処理を終了する。
【０１５１】
図２０は、本発明の第７の実施の形態におけるＣＤＲ回路のＣＯＤＥ  ＪＵＭＰの処理手順を説明するためのフローチャートである。まず、ＡＤＤ２３は、Ｊｕｍｐ元のコードが４の倍数であるか、４の倍数でない偶数であるか、奇数であるかを判定する（Ｓ１２１）。Ｊｕｍｐ元のコードが４ｎ（ｎ＝０〜７）であれば、Ｊｕｍｐ先のコードが４の倍数であるか、４の倍数でない偶数であるか、奇数であるかを判定する（Ｓ１２２）。
【０１５２】
Ｊｕｍｐ先のコードが４ｎ（ｎ＝０〜７）であれば、Ｊｕｍｐ先のＴＡＰをＯＦＦからＯＮに切替え（Ｓ１２３）、Ｊｕｍｐ元のＰＩ（偶）の出力電流値を１００％から５０％に切替え、Ｊｕｍｐ先のＰＩ（偶）の出力電流値を０％から５０％に切替え（Ｓ１２４）、Ｊｕｍｐ元のＰＩ（偶）の出力電流値を５０％から０％に切替え、Ｊｕｍｐ先のＰＩ（偶）の出力電流値を５０％から１００％に切替え（Ｓ１２５）、Ｊｕｍｐ元のＴＡＰをＯＮからＯＦＦに切替えて（Ｓ１２６）、処理を終了する。
【０１５３】
Ｊｕｍｐ先のコードが４ｎ＋２（ｎ＝０〜７）であれば、Ｊｕｍｐ先のＴＡＰをＯＦＦからＯＮに切替え（Ｓ１２７）、Ｊｕｍｐ元のＰＩ（偶）の出力電流値を１００％から５０％に切替え、Ｊｕｍｐ先のＰＩ（奇）の出力電流値を０％から５０％に切替え（Ｓ１２８）、Ｊｕｍｐ元のＰＩ（偶）の出力電流値を５０％から０％に切替え、Ｊｕｍｐ先のＰＩ（奇）の出力電流値を５０％から１００％に切替え（Ｓ１２９）、Ｊｕｍｐ元のＴＡＰをＯＮからＯＦＦに切替えて（Ｓ１３０）、処理を終了する。
【０１５４】
Ｊｕｍｐ先のコードが２ｎ＋１（ｎ＝０〜１４）であれば、Ｊｕｍｐ先のＴＡＰをＯＦＦからＯＮに切替え（Ｓ１３１）、Ｊｕｍｐ元のＰＩ（偶）の出力電流値を１００％から５０％に切替え、Ｊｕｍｐ先のＰＩ（偶）の出力電流値を０％から５０％に切替え（Ｓ１３２）、Ｊｕｍｐ元のＰＩ（偶）の出力電流値を５０％から０％に切替え、Ｊｕｍｐ先のＰＩ（奇）の出力電流値を０％から５０％に切替え、Ｊｕｍｐ先のＰＩ（偶）の出力電流値を５０％のままとし（Ｓ１３３）、Ｊｕｍｐ元のＴＡＰをＯＮからＯＦＦに切替えて（Ｓ１３４）、処理を終了する。
【０１５５】
ステップＳ１２１において、Ｊｕｍｐ元のコードが４ｎ＋２（ｎ＝０〜７）であれば、Ｊｕｍｐ先のコードが４の倍数であるか、４の倍数でない偶数であるか、奇数であるかを判定する（Ｓ１３５）。
【０１５６】
Ｊｕｍｐ先のコードが４ｎ（ｎ＝０〜７）であれば、Ｊｕｍｐ先のＴＡＰをＯＦＦからＯＮに切替え（Ｓ１３６）、Ｊｕｍｐ元のＰＩ（奇）の出力電流値を１００％から５０％に切替え、Ｊｕｍｐ先のＰＩ（偶）の出力電流値を０％から５０％に切替え（Ｓ１３７）、Ｊｕｍｐ元のＰＩ（奇）の出力電流値を５０％から０％に切替え、Ｊｕｍｐ先のＰＩ（偶）の出力電流値を５０％から１００％に切替え（Ｓ１３８）、Ｊｕｍｐ元のＴＡＰをＯＮからＯＦＦに切替えて（Ｓ１３９）、処理を終了する。
【０１５７】
Ｊｕｍｐ先のコードが４ｎ＋２（ｎ＝０〜７）であれば、Ｊｕｍｐ先のＴＡＰをＯＦＦからＯＮに切替え（Ｓ１４０）、Ｊｕｍｐ元のＰＩ（奇）の出力電流値を１００％から５０％に切替え、Ｊｕｍｐ先のＰＩ（奇）の出力電流値を０％から５０％に切替え（Ｓ１４１）、Ｊｕｍｐ元のＰＩ（奇）の出力電流値を５０％から０％に切替え、Ｊｕｍｐ先のＰＩ（奇）の出力電流値を５０％から１００％に切替え（Ｓ１４２）、Ｊｕｍｐ元のＴＡＰをＯＮからＯＦＦに切替えて（Ｓ１４３）、処理を終了する。
【０１５８】
Ｊｕｍｐ先のコードが２ｎ＋１（ｎ＝０〜１４）であれば、Ｊｕｍｐ先のＴＡＰをＯＦＦからＯＮに切替え（Ｓ１４４）、Ｊｕｍｐ元のＰＩ（奇）の出力電流値を１００％から５０％に切替え、Ｊｕｍｐ先のＰＩ（偶）を０％から５０％に切替え（Ｓ１４５）、Ｊｕｍｐ元のＰＩ（奇）の出力電流値を５０％から０％に切替え、Ｊｕｍｐ先のＰＩ（奇）の出力電流値を０％から５０％に切替え、Ｊｕｍｐ先のＰＩ（偶）の出力電流値を５０％のままとし（Ｓ１４６）、Ｊｕｍｐ元のＴＡＰをＯＮからＯＦＦに切替えて（Ｓ１４７）、処理を終了する。
【０１５９】
ステップＳ１２１において、Ｊｕｍｐ元のコードが２ｎ＋１（ｎ＝０〜１４）であれば、Ｊｕｍｐ先のコードが４の倍数であるか、４の倍数でない偶数であるか、奇数であるかを判定する（Ｓ１４８）。
【０１６０】
Ｊｕｍｐ先のコードが４ｎ（ｎ＝０〜７）であれば、Ｊｕｍｐ先のＴＡＰをＯＦＦからＯＮに切替え（Ｓ１４９）、Ｊｕｍｐ元のＰＩ（奇）の出力電流値を５０％から０％に切替え、Ｊｕｍｐ元のＰＩ（偶）の出力電流値を５０％のままとし、Ｊｕｍｐ先のＰＩ（偶）の出力電流値を０％から５０％に切替え（Ｓ１５０）、Ｊｕｍｐ元のＰＩ（偶）の出力電流値を５０％から０％に切替え、Ｊｕｍｐ先のＰＩ（偶）の出力電流値を５０％から１００％に切替え（Ｓ１５１）、Ｊｕｍｐ元のＴＡＰをＯＮからＯＦＦに切替えて（Ｓ１５２）、処理を終了する。
【０１６１】
Ｊｕｍｐ先のコードが４ｎ＋２（ｎ＝０〜７）であれば、Ｊｕｍｐ先のＴＡＰをＯＦＦからＯＮに切替え（Ｓ１５３）、Ｊｕｍｐ元のＰＩ（奇）の出力電流値を５０％から０％に切替え、Ｊｕｍｐ元のＰＩ（偶）の出力電流値を５０％のままとし、Ｊｕｍｐ先のＰＩ（奇）の出力電流値を０％から５０％に切替え（Ｓ１５４）、Ｊｕｍｐ元のＰＩ（偶）の出力電流値を５０％から０％に切替え、Ｊｕｍｐ先のＰＩ（奇）の出力電流値を５０％から１００％に切替え（Ｓ１５５）、Ｊｕｍｐ元のＴＡＰをＯＮからＯＦＦに切替えて（Ｓ１５６）、処理を終了する。
【０１６２】
Ｊｕｍｐ先のコードが２ｎ＋１（ｎ＝０〜１４）であれば、Ｊｕｍｐ先のＴＡＰをＯＦＦからＯＮに切替え（Ｓ１５７）、Ｊｕｍｐ元のＰＩ（奇）の出力電流値を５０％から０％に切替え、Ｊｕｍｐ元のＰＩ（偶）の出力電流値を５０％のままとし、Ｊｕｍｐ先のＰＩ（偶）の出力電流値を０％から５０％に切替え（Ｓ１５８）、Ｊｕｍｐ元のＰＩ（偶）の出力電流値を５０％から０％に切替え、Ｊｕｍｐ先のＰＩ（奇）の出力電流値を０％から５０％に切替え、Ｊｕｍｐ先のＰＩ（偶）の出力電流値を５０％のままとし（Ｓ１５９）、Ｊｕｍｐ元のＴＡＰをＯＮからＯＦＦに切替えて（Ｓ１６０）、処理を終了する。
【０１６３】
以上説明したように、本実施の形態におけるＣＤＲ回路によれば、ＣＯＤＥ  ＪＵＭＰの際にＰＩを用いて中間の位相にしてから所望の位相にするようにしたので、グリッジノイズやハザードなどの細かい幅のパルス信号が出力されるのを防止することが可能となった。
【０１６４】
また、Ｄｅｌａｙ  ＬｉｎｅのＮ番目において、Ｄｅｌａｙ  Ｕｎｉｔ、セレクタ、位相補間器ＰＩが同数ずつ接続されるので、各Ｄｅｌａｙ  ＵｎｉｔからＶＤＬの出力ＯＵＴまでの伝播経路上の負荷容量を容易に合わせることができ、ＶＤＬの制御コードに対する遅延変化量を同じにすることが容易に行なえるようになった。
【０１６５】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１６６】
【図１】本発明の実施の形態におけるＣＤＲ回路が適用されるシステムの一例を示す図である。
【図２】本発明の第１の実施の形態におけるＣＤＲ回路の内部構成を示すブロック図である。
【図３】本発明の第１の実施の形態におけるＣＤＲ回路１の処理手順を説明するためのフローチャートである。
【図４】図３のフローチャートに示す処理によって、ＶＤＬ１１がどのように可変遅延時間以上のデータに追従するかを説明するための図である。
【図５】本発明の第２の実施の形態におけるＣＤＲ回路の内部構成を示すブロック図である。
【図６】本発明の第２の実施の形態におけるＣＤＲ回路１の処理手順を説明するためのフローチャートである。
【図７】本発明の第３の実施の形態におけるＣＤＲ回路の内部構成を示すブロック図である。
【図８】本発明の第３の実施の形態におけるＣＤＲ回路１の処理手順を説明するためのフローチャートである。
【図９】本発明の第４の実施の形態におけるＣＤＲ回路の内部構成を示すブロック図である。
【図１０】本発明の第４の実施の形態におけるＣＤＲ回路１の処理手順を説明するためのフローチャートである。
【図１１】図１０のフローチャートに示す処理によって、ＶＤＬ  Ａ１５およびＶＤＬ  Ｂ１６がどのように可変遅延時間以上のデータに追従するかを説明するための図である。
【図１２】本発明の第５の実施の形態におけるＣＤＲ回路の内部構成を示すブロック図である。
【図１３】本発明の第５の実施の形態におけるＣＤＲ回路の処理手順を説明するためのフローチャートである。
【図１４】第１の実施の形態におけるＶＤＬ１１の制御コードの遷移と、第５の実施の形態におけるＶＤＬ１１の制御コードの遷移との比較を示す図である。
【図１５】本発明の第６の実施の形態におけるＣＤＲ回路の内部構成を示すブロック図である。
【図１６】本発明の第６の実施の形態におけるＣＤＲ回路の処理手順を説明するためのフローチャートである。
【図１７】本発明の第７の実施の形態におけるＶＤＬの内部構成を示すブロック図である。
【図１８】制御コードの数値と制御信号ＴＡＰ＜０：１５＞およびＰＩ１００％／５０％との関係を示す図である。
【図１９】本発明の第７の実施の形態におけるＣＤＲ回路のコード切替えの処理手順を説明するためのフローチャートである。
【図２０】本発明の第７の実施の形態におけるＣＤＲ回路のＣＯＤＥ  ＪＵＭＰの処理手順を説明するためのフローチャートである。
【符号の説明】
【０１６７】
１  ＣＤＲ回路、２  受信回路、３，６  フリップフロップ回路、４  第１のクロック発生回路、５  送信回路、７  第２のクロック発生回路、１１  ＶＤＬ、１２  Ｅｄｇｅ  Ｄｅｔｅｃｔｏｒ、１３  ＣＯＤＥ  Ｏｐｅｒａｔｏｒ、１４  ＰＤ、２１  Ｎ回Ｃｏｕｎｔｅｒ、２２  ＋１／−１  Ｉｎｃｒｅｍｅｎｔ回路、２３  ＡＤＤ、２４  ＳＦＲ  Ａ、２５  ＳＦＲ  Ｂ、２６  ＳＦＲ  Ｃ、２７  Ｒｅｇｉｓｔｅｒ（Ｈ）、２８  Ｒｅｇｉｓｔｅｒ（Ｌ）、２９，７２  ＭＩＮ／ＭＡＸ  Ｄｅｔｅｃｔｏｒ、３０  Ｄｅｃｏｄｅｒ、３１  Ｄｅｃｏｄｅｒ  Ａ、３２  Ｄｅｃｏｄｅｒ  Ｂ、３３  ＋１／−１  Ｉｎｃｒｅｍｅｎｔ  Ａ回路、３４  ＋１／−１  Ｉｎｃｒｅｍｅｎｔ  Ｂ回路、３５  Ｒｅｇｉｓｔｅｒ  Ａ（Ｈ）、３６  Ｒｅｇｉｓｔｅｒ  Ａ（Ｌ）、３７  Ｒｅｇｉｓｔｅｒ  Ｂ（Ｈ）、３８  Ｒｅｇｉｓｔｅｒ  Ｂ（Ｌ）、３９  Ｃｏｍｐａｒｅ（Ｈ）回路、４０  Ｃｏｍｐａｒｅ（Ｌ）回路、４１  ＰＡＳＳ／ＦＡＩＬ  Ｄｅｔｅｃｔｏｒ、４２  Ｔｅｓｔ  Ｃｉｒｃｕｉｔ、５１〜５８，６３〜６６  セレクタ、６１  ＡＤＤ  Ａ、６２  ＡＤＤ  Ｂ、６７  ＳＦＲ  Ｄ、６８  ＡＮＤ回路、６９，１４０  バッファ、７１  Ｈｙｓｔｅｒｅｓｉｓ  ＣＯＤＥ  ＳＥＴ回路、８１  ＡＤＤ  Ｄ、８２  ＡＤＤ  ＨＹＳ、１００，２００  半導体回路装置、１１０  Ｄｅｌａｙ  Ｌｉｎｅ、１２０  ＴＡＰ  Ｌｉｎｅ、１２１〜１２４  セレクタ、１３０  ＰＩ  Ｌｉｎｅ、１３１〜１３４  ＰＩ、３００  有損失伝送路。
【図１】
0004679273.tif 000002
【図２】
0004679273.tif 000003
【図３】
0004679273.tif 000004
【図４】
0004679273.tif 000005
【図５】
0004679273.tif 000006
【図６】
0004679273.tif 000007
【図７】
0004679273.tif 000008
【図８】
0004679273.tif 000009
【図９】
0004679273.tif 000010
【図１０】
0004679273.tif 000011
【図１１】
0004679273.tif 000012
【図１２】
0004679273.tif 000013
【図１３】
0004679273.tif 000014
【図１４】
0004679273.tif 000015
【図１５】
0004679273.tif 000016
【図１６】
0004679273.tif 000017
【図１７】
0004679273.tif 000018
【図１８】
0004679273.tif 000019
【図１９】
0004679273.tif 000020
【図２０】
0004679273.tif 000021