(57)【特許請求の範囲】
【請求項１】
複数の遅延素子を有し、基準クロック信号を遅延させて比較クロック信号を出力する第１遅延回路と、
前記基準クロック信号と前記比較クロック信号との位相比較結果に応じた位相比較信号を出力する位相比較回路と、
前記位相比較信号に基づいて、前記第１遅延回路内の遅延素子の段数を示す第１段数データを生成し、前記第１遅延回路内の遅延素子の段数を制御する遅延制御回路と、
複数の遅延素子を有し、第１クロック信号を遅延させて第２クロック信号を出力する第２遅延回路と、
位相設定データ及び前記第１段数データに基づいて、前記第２遅延回路内の遅延素子の段数を示す第２段数データを生成し、前記第２遅延回路内の遅延素子の段数を制御する位相調整回路と、を有し、
前記位相調整回路は、前記第１段数データが第１の値と前記第１の値より１大きい第２の値との間で遷移している場合、前記第２の値に基づいて前記第２段数データを生成することを特徴とするデジタル遅延回路。
【請求項２】
前記遅延制御回路は、前記第１段数データの変更に応じた段数変更信号を出力し、
前記位相調整回路は、前記段数変更信号に応じて補正データを生成すること、
を特徴とする請求項１に記載のデジタル遅延回路。
【請求項３】
前記位相調整回路は、前記第１段数データに前記補正データを加算した結果に応じて前記第２段数データを生成すること、
を特徴とする請求項２に記載のデジタル遅延回路。
【請求項４】
前記遅延制御回路は、前記第１段数データを増加するときに第１の段数変更信号を生成し、前記第１段数データを減少するときに第２の段数変更信号を生成し、
前記位相調整回路は、前記第１の段数変更信号に基づいて前記第１の値を生成し、前記第２の段数変更信号に基づいて前記第２の値を生成すること、
を特徴とする請求項２又は３に記載のデジタル遅延回路。
【請求項５】
前記位相調整回路は、前記補正データと、前記第１クロック信号と前記第２クロック信号との位相差を設定する前記位相設定データとに基づいて、前記第２段数データを生成すること、
を特徴とする請求項２〜４のうちの何れか一項に記載のデジタル遅延回路。
【請求項６】
基準クロック信号を遅延させて比較クロック信号を出力し、前記基準クロック信号と前記比較クロック信号との位相比較結果に応じた位相比較信号を出力し、前記位相比較信号に基づいて前記基準クロック信号と前記比較クロック信号との遅延量を調整するための遅延素子の段数を調整する第１段数データを生成し、
第１クロック信号を遅延させて第２クロック信号を出力し、位相設定データ及び前記第１段数データに基づいて前記第１クロック信号と前記第２クロック信号との遅延量を調整するための遅延素子の段数を調整する第２段数データを生成し、
前記前記第１段数データが第１の値と前記第１の値より１大きい第２の値との間で遷移している場合、前記第２段数データを同じ値に維持する、
ことを特徴とするデジタル遅延回路の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
デジタル遅延回路及びデジタル遅延回路の制御方法に関するものである。
【背景技術】
【０００２】
従来、半導体装置では、第１クロック信号に対して所望の位相差の第２クロック信号を生成するＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）回路が設けられている。
この種のＤＬＬ回路では、基準クロック信号の位相を１周期遅延させる遅延量を検出するマスタＤＬＬ回路と、この基準クロック信号を１周期遅延させる遅延量に基づいて、第１クロック信号を所望の位相まで遅延させて第２クロック信号を生成するスレーブＤＬＬ回路を有するマスタ／スレーブＤＬＬ方式のＤＬＬ回路が知られている（例えば、特許文献１参照）。
【０００３】
図４は、マスタ／スレーブＤＬＬ方式のＤＬＬ回路６０の基本的な回路図である。
マスタＤＬＬ回路６１は、第１遅延回路６２、位相比較回路６３、遅延制御回路６４を有している。
【０００４】
第１遅延回路６２は、複数の遅延素子（バッファ回路）が直列接続され、基準クロック信号ＣＬＫｒを遅延させて比較クロック信号ＣＬＫｃとして出力する。また、第１遅延回路６２は、遅延制御回路６４から同第１遅延回路６２中の直列に接続された遅延素子の段数を指定するための第１段数データＤｓ１に応じて、直列に接続される遅延素子の段数を変更する。
【０００５】
位相比較回路６３は、基準クロック信号ＣＬＫｒが入力され、第１遅延回路６２を介して基準クロック信号ＣＬＫｒを遅延させた比較クロック信号ＣＬＫｃがそれぞれ入力される。位相比較回路６３は、その基準クロック信号ＣＬＫｒの位相と比較クロック信号ＣＬＫｃの位相を比較し、その比較結果を位相比較信号Ｓｃとして出力する。
【０００６】
遅延制御回路６４は、位相比較回路６３からの位相比較信号Ｓｃに応じて、基準クロック信号ＣＬＫｒの位相に対して比較クロック信号ＣＬＫｃの位相を変化させて、上記の第１遅延回路６２にて１周期分遅延させるための第１段数データＤｓ１を出力する。
【０００７】
具体的には、基準クロック信号ＣＬＫｒに対して比較クロック信号ＣＬＫｃの位相が進んでいる場合、位相比較回路６３では、基準クロック信号ＣＬＫｒに対する比較クロック信号ＣＬＫｃの遅延時間が基準クロック信号ＣＬＫｒの１周期分の遅延よりも小さくなっている。従って、基準クロック信号ＣＬＫｒに対して比較クロック信号ＣＬＫｃの位相が基準クロック信号ＣＬＫｒの１周期分の遅延よりも小さい場合、遅延制御回路６４は、直列に接続された遅延素子の段数を増加させるための第１段数データＤｓ１を出力して第１遅延回路の直列に接続される遅延素子の段数を増加させ、基準クロック信号ＣＬＫｒに対する比較クロック信号ＣＬＫｃの遅延時間を大きくする。
【０００８】
反対に、基準クロック信号ＣＬＫｒに対して比較クロック信号ＣＬＫｃの位相が遅れている場合、位相比較回路６３では、基準クロック信号ＣＬＫｒに対する比較クロック信号ＣＬＫｃの遅延時間が基準クロック信号ＣＬＫｒの１周期分の遅延よりも大きくなっている。従って、基準クロック信号ＣＬＫｒに対して比較クロック信号ＣＬＫｃの位相が基準クロック信号ＣＬＫｒの１周期分の遅延よりも大きい場合、遅延制御回路６４は、直列に接続された遅延素子の段数を減らすための第１段数データＤｓ１を出力して第１遅延回路６２の直列に接続される遅延素子の段数を減少させ、基準クロック信号ＣＬＫｒに対する比較クロック信号ＣＬＫｃの遅延時間を小さくする。
【０００９】
スレーブＤＬＬ回路６５は、位相調整回路６６、第２遅延回路６７を有している。
位相調整回路６６は、上記のマスタＤＬＬ回路６１の遅延制御回路６４からの第１段数データＤｓ１が入力されるとともに、位相設定データＤｐが入力される。そして、位相調整回路６６は、第１段数データＤｓ１及び位相設定データＤｐに基づいて、第２遅延回路６７にて第１クロック信号ＣＬＫ１を、位相設定データＤｐに応じた位相まで遅延させるための遅延素子の段数を算出し、その段数の第２段数データＤｓ２を出力する。
【００１０】
第２遅延回路６７は、複数の遅延素子（バッファ回路）が直列接続され、第１クロック信号ＣＬＫ１を遅延させて第２クロック信号ＣＬＫ２として出力する。第２遅延回路６７は、位相調整回路６６からの第２段数データＤｓ２に応じて、直列に接続される遅延素子の段数を変更する。
【００１１】
従って、第２遅延回路６７は、第２段数データＤｓ２に基づいて、第１クロック信号ＣＬＫ１を位相設定データＤｐに応じた位相まで遅延させた第２クロック信号ＣＬＫ２を生成することができる。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００５−１４２８５９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、基準クロック信号ＣＬＫｒに対して比較クロック信号ＣＬＫｃの位相が一致することは少ない。これは、基準クロック信号ＣＬＫｒに対して、比較クロック信号ＣＬＫｃの遅延時間がデジタル的に変化するためである。例えば、（ｎ−１）段目の遅延素子の出力信号が、基準クロック信号ＣＬＫｒの１周期分の遅延よりも位相が小さく、（ｎ）段目の遅延素子の出力信号が、基準クロック信号ＣＬＫｒの１周期分の遅延よりも大きいと、マスタＤＬＬ回路から出力される第１段数データＤｓ１が常に変動する。このため、スレーブＤＬＬ回路６５では、変動している第１段数データＤｓ１に基づいて第２遅延回路６７中の遅延素子の段数が算出されるため、第２段数データＤｓ２も変動して第２遅延回路６７にて生成される第２クロック信号ＣＬＫ２にジッタが生じてしまう。
【課題を解決するための手段】
【００１４】
本発明の一観点によれば、デジタル遅延回路は、複数の遅延素子を有し、基準クロック信号を遅延させて比較クロック信号を出力する第１遅延回路と、前記基準信号と前記比較クロック信号との位相比較結果に応じた位相比較信号を出力する位相比較回路と、前記位相比較信号に基づいて、前記第１遅延回路内の遅延素子の段数を示す第１段数データを生成し、前記第１遅延回路内の遅延素子の段数を制御する遅延制御回路と、複数の遅延素子を有し、第１クロック信号を遅延させて第２クロック信号を出力する第２遅延回路と、位相設定データ及び前記第１段数データに基づいて、前記第２遅延回路内の遅延素子の段数を示す第２段数データを生成し、前記第２遅延回路内の遅延素子の段数を制御する位相調整回路と、を有し、前記位相調整回路は、前記第１段数データが第１の値と第１の値より１大きい第２の値との間で遷移している場合、前記第２の値に基づいて前記第２段数データを生成する。
【発明の効果】
【００１５】
本発明の一観点によれば、クロック信号のジッタが低減される。
【図面の簡単な説明】
【００１６】
【図１】デジタルＤＬＬ回路のブロック図である。
【図２】位相調整回路のブロック図である。
【図３】位相調整回路の動作説明図である。
【図４】デジタルＤＬＬ回路のブロック図である。
【発明を実施するための形態】
【００１７】
以下、実施形態を図１〜図３に従って説明する。
図１は、デジタルＤＬＬ回路１０の概略構成図を示す。図１に示すように、デジタルＤＬＬ回路１０は、マスタＤＬＬ回路１１及びスレーブＤＬＬ回路１２を有している。
【００１８】
（マスタＤＬＬ回路）
マスタＤＬＬ回路１１は、第１遅延回路２１、位相比較回路２２、遅延制御回路２３を含んでいる。第１遅延回路２１は、図示しない複数の遅延素子（例えば、ＣＭＯＳトランジスタよりなるバッファ回路）を有し、外部から基準クロック信号ＣＬＫｒが入力され、遅延制御回路２３から第１遅延回路２１中の直列に接続された遅延素子の段数を指定するための第１段数データＤｓ１が入力される。
【００１９】
第１段数データＤｓ１は、第１遅延回路２１中の入出力端子間に直列に接続する遅延素子の数（段数）を指定するデータである。本実施形態では、第１段数データＤｓ１は、「００００００００００」〜「１１１１１１１１１１」の１０ビットのデータで構成され、１０進数でいうと「０」段〜「１０２３」段の段数を示すデータになっている。
【００２０】
そして、第１遅延回路２１は、その第１段数データＤｓ１に応じて、直列に接続する遅延素子の段数を増減する。そして、第１遅延回路２１は、直列に接続する遅延素子の段数に応じて、基準クロック信号ＣＬＫｒから遅延した信号を出力端子から比較クロック信号ＣＬＫｃとして出力する。
【００２１】
位相比較回路２２は、外部から基準クロック信号ＣＬＫｒが入力され、第１遅延回路２１から比較クロック信号ＣＬＫｃが入力される。位相比較回路２２は、その基準クロック信号ＣＬＫｒの位相に対する比較クロック信号ＣＬＫｃの位相を比較し、その比較結果に応じた位相比較信号Ｓｃを出力する。
【００２２】
すなわち、位相比較回路２２は、基準クロック信号ＣＬＫｒに対して比較クロック信号ＣＬＫｃの位相が基準クロック信号ＣＬＫｒの１周期分の遅延よりも小さいか、又は、大きいかを判定する。そして、位相比較回路２２は、基準クロック信号ＣＬＫｒに対する比較クロック信号ＣＬＫｃの位相が基準クロック信号ＣＬＫｒの１周期分の遅延よりも小さい場合に例えばＬレベルの位相比較信号Ｓｃを出力し、基準クロック信号ＣＬＫｒに対する比較クロック信号ＣＬＫｃの位相が基準クロック信号ＣＬＫｒの１周期分の遅延よりも大きい場合に例えばＨレベルの位相比較信号Ｓｃを出力する。
【００２３】
遅延制御回路２３は、その時々の第１段数データＤｓ１を記憶するレジスタＲｅ、位相比較回路２２からのＨレベルの位相比較信号Ｓｃをカウントする第１カウンタ回路Ｃ１、Ｌレベルの位相比較信号Ｓｃをカウントする第２カウンタ回路Ｃ２を有している。
【００２４】
レジスタＲｅは、初期設定時に予め定められた第１段数データＤｓ１が初期値として記憶されている。遅延制御回路２３は、その第１段数データＤｓ１に対して、第１カウンタ回路Ｃ１及び第２カウンタ回路Ｃ２のカウント結果に基づいて加減算してレジスタＲｅに格納した第１段数データＤｓ１を更新するようになっている。そして、遅延制御回路２３は、レジスタＲｅに格納された第１段数データＤｓ１を出力する。
【００２５】
第１カウンタ回路Ｃ１は、位相比較信号ＳｃがＨレベルの場合、基準クロック信号ＣＬＫｒのＨレベルへの立ち上がりに応答して第１カウント値Ｖｃ１をカウントアップし、位相比較信号ＳｃがＬレベルの場合、第１カウント値Ｖｃ１をリセットする。そして、第１カウンタ回路Ｃ１は、第１カウント値Ｖｃ１が段数減少値Ｖｃｄ（本実施形態では、Ｖｃｄ＝３）に達すると、Ｈレベルの段数減少信号Ｓｄｎを出力する。
【００２６】
遅延制御回路２３は、Ｈレベルの段数減少信号Ｓｄｎに応答して、レジスタＲｅの第１段数データＤｓ１から「１」を減算（ディクリメント）し、その減算結果の値を新たな第１段数データＤｓ１としてレジスタＲｅに格納する。そして、遅延制御回路２３は、レジスタＲｅに格納された第１段数データＤｓ１を出力する。従って、第１段数データＤｓ１は、「１」を減少する。
【００２７】
第１遅延回路２１は、第１段数データＤｓ１に応じた段数の遅延素子により比較クロック信号ＣＬＫｃを生成する。第１段数データＤｓ１は「１」を減少しているため、基準クロック信号ＣＬＫｒに対する比較クロック信号ＣＬＫｃの遅延時間が短くなり、基準クロック信号ＣＬＫｒに対する比較クロック信号ＣＬＫｃの遅延時間が小さくなる。
【００２８】
すると、位相比較回路２２は、Ｌレベルの位相比較信号Ｓｃを出力する。そして、第２カウンタ回路Ｃ２は、Ｌレベルの位相比較信号Ｓｃに応答して第１カウント値Ｖｃ１をリセットし、Ｌレベルの段数減少信号Ｓｄｎをする。
【００２９】
第２カウンタ回路Ｃ２は、位相比較信号ＳｃがＬレベルの場合、基準クロック信号ＣＬＫｒのＨレベルへの立ち上がりに応答して第２カウント値Ｖｃ２をカウントアップし、位相比較信号ＳｃがＨレベルの場合、第２カウント値Ｖｃ２をリセットする。そして、第２カウンタ回路Ｃ２は、第２カウント値Ｖｃ２が段数増加値Ｖｃｕ（本実施形態では、Ｖｃｕ＝３）に達すると、Ｈレベルの段数増加信号Ｓｕｐを出力する。
【００３０】
遅延制御回路２３は、Ｈレベルの段数増加信号Ｓｕｐに応答して、レジスタＲｅの第１段数データＤｓ１に「１」を加算（インクリメント）し、その加算結果の値を新たな第１段数データＤｓ１としてレジスタＲｅに格納する。そして、遅延制御回路２３は、レジスタＲｅに格納された第１段数データＤｓ１を出力する。従って、第１段数データＤｓ１は、「１」を増加する。
【００３１】
第１遅延回路２１は、第１段数データＤｓ１に応じた段数の遅延素子により比較クロック信号ＣＬＫｃを生成する。第１段数データＤｓ１は「１」を増加しているため、基準クロック信号ＣＬＫｒに対する比較クロック信号ＣＬＫｃの遅延時間が長くなり、基準クロック信号ＣＬＫｒに対する比較クロック信号ＣＬＫｃの遅延時間が大きくなる。
【００３２】
すると、位相比較回路２２は、Ｈレベルの位相比較信号Ｓｃを出力する。そして、第２カウンタ回路Ｃ２は、Ｈレベルの位相比較信号Ｓｃに応答して第２カウント値Ｖｃ２をリセットし、Ｌレベルの段数増加信号Ｓｕｐを出力する。
【００３３】
すなわち、遅延制御回路２３は、第１カウント値Ｖｃ１が段数減少値Ｖｃｄになるまでの間、位相比較信号Ｓｃが連続的にＨレベルであった場合に、第１段数データＤｓ１から「１」を減少させる。第１遅延回路２１は、その第１段数データＤｓ１に応じて、直列に接続される遅延素子の段数から「１」を減少させ、基準クロック信号ＣＬＫｒに対する比較クロック信号ＣＬＫｃの遅延時間を小さくする。
【００３４】
また、遅延制御回路２３は、第２カウント値Ｖｃ２が段数増加値Ｖｃｕになるまでの間、位相比較信号Ｓｃが連続的にＬレベルであった場合に、第１段数データＤｓ１に「１」を増加させる。第１遅延回路２１は、その第１段数データＤｓ１に応じて、直列に接続される遅延素子の段数に「１」を増加させ、基準クロック信号ＣＬＫｒに対する比較クロック信号ＣＬＫｃの遅延時間を大きくする。
【００３５】
そして、遅延制御回路２３は、段数減少値Ｖｃｄと段数増加値Ｖｃｕに応じた期間、位相比較信号Ｓｃのレベルが連続しない場合、第１段数データＤｓ１を変更しない。この結果、遅延制御回路２３は、短時間での位相比較信号ＳｃのＨレベルとＬレベルの切り替わり、即ち基準クロック信号ＣＬＫｒに対する比較クロック信号ＣＬＫｃの位相の進遅に対して過度に追従することなく安定した第１段数データＤｓ１を生成する。
【００３６】
（スレーブＤＬＬ回路）
スレーブＤＬＬ回路１２は、位相調整回路３１、第２遅延回路３２を有する。第２遅延回路３２は、第１遅延回路２１と同じ構成（電気的特性）の複数の遅延素子（例えば、ＣＭＯＳトランジスタよりなるバッファ回路）を含む。
【００３７】
位相調整回路３１は、マスタＤＬＬ回路１１から第１段数データＤｓ１、段数増加信号Ｓｕｐ、段数減少信号Ｓｄｎが入力され、外部から位相設定データＤｐが入力される。
位相設定データＤｐは、スレーブＤＬＬ回路１２が生成する第２クロック信号ＣＬＫ２の第１クロック信号ＣＬＫ１に対する位相差を示すデータである。位相設定データＤｐのビット数は、第１クロック信号ＣＬＫ１に対して第２クロック信号ＣＬＫ２の位相差を設定する単位に対応する。設定単位は、マスタＤＬＬ回路１１において、基準クロック信号ＣＬＫｒに基づいて算出する第１段数データＤｓ１の段数に応じた遅延時間（位相差）を整数で除算した値である。
【００３８】
上記したように、マスタＤＬＬ回路１１は、基準クロック信号ＣＬＫｒに対して、その信号ＣＬＫｒの１周期分遅延させた、即ち３６０度の位相差の比較クロック信号ＣＬＫｃを生成するように、第１段数データＤｓ１を生成する。例えば、第１クロック信号ＣＬＫ１に対する第２クロック信号ＣＬＫ２の位相差を４５度（３６０度の８分の１）毎に設定する場合、位相設定データＤｐは、「０００」〜「１１１」の３ビットのデータで構成され、１０進数で「０」〜「７」まで値をとる。
【００３９】
そして、第１クロック信号ＣＬＫ１に対して第２クロック信号ＣＬＫ２の位相を４５°遅らせるときには、位相設定データＤｐは「００１」となり、位相を９０°遅らせるときには、位相設定データＤｐは「０１０」となる。
【００４０】
位相調整回路３１は、第１段数データＤｓ１及び位相設定データＤｐに基づいて、第２遅延回路３２にて第１クロック信号ＣＬＫ１に対して第２クロック信号ＣＬＫ２を位相設定データＤｐで設定される位相差にするための第２遅延回路３２の入出力端子間に直列接続する遅延素子の段数（位相調整段数）を算出する。さらに、位相調整回路３１は、段数増加信号Ｓｕｐと段数減少信号Ｓｄｎに基づいて、段数の変動を抑制する。そして、位相調整回路３１は、その算出した位相調整段数を第２段数データＤｓ２として出力する。
【００４１】
図２に示すように、位相調整回路３１は、オア回路４１、第１及び第２バッファ回路４２，４３、第１及び第２Ｄ−ＦＦ（フリップフロップ）回路４４，４５、第１及び第２ラッチ回路４６，４７、加算器４８、乗算器４９、除算器５０を有している。
【００４２】
オア回路４１は、マスタＤＬＬ回路１１から段数増加信号Ｓｕｐ及び段数減少信号Ｓｄｎが入力される。オア回路４１は、段数増加信号Ｓｕｐ又は段数減少信号ＳｄｎがＨレベルのときにＨレベルの信号を出力し、両信号Ｓｕｐ，ＳｄｎがともにＬレベルのときにＬレベルの信号を出力する。この信号は、第１及び第２バッファ回路４２，４３を介して段数増減信号Ｓｕｄとして第１Ｄ−ＦＦ回路４４のクロック入力端子ＣＫに供給される。
【００４３】
上記したように、マスタＤＬＬ回路１１は、Ｈレベルの段数増加信号Ｓｕｐ又は段数減少信号Ｓｄｎを出力し、第１段数データＤｓ１を変更する。つまり、第１Ｄ−ＦＦ回路４４のクロック入力端子ＣＫには、第１段数データＤｓ１が変動するときにＨレベルの段数増減信号Ｓｕｄが入力される。
【００４４】
第１Ｄ−ＦＦ回路４４は、そのデータ入力端子Ｄに段数減少信号Ｓｄｎが入力される。第１Ｄ−ＦＦ回路４４は、クロック入力端子ＣＫに入力されるＨレベルの信号、つまりＨレベルの段数増減信号Ｓｕｄに応答して段数減少信号Ｓｄｎのレベルと等しいレベルの補正信号Ｓｒを出力端子Ｑから出力する。
【００４５】
第１Ｄ−ＦＦ回路４４は、第１段数データＤｓ１に「１」を増加するときにＬレベルの補正信号Ｓｒを出力し、第１段数データＤｓ１から「１」を減少するときにＨレベルの補正信号Ｓｒを出力する。
【００４６】
第２Ｄ−ＦＦ回路４５は、そのクロック入力端子ＣＫに基準クロック信号ＣＬＫｒが入力され、その出力端子Ｑから同期補正信号Ｓｒｓを加算器４８に出力する。第２Ｄ−ＦＦ回路４５は、基準クロック信号ＣＬＫｒがＨレベルに立ち上がると、補正信号Ｓｒのレベルを保持し、その保持したレベルと等しいレベルの同期補正信号Ｓｒｓとして出力する。
【００４７】
加算器４８は、マスタＤＬＬ回路１１から第１段数データＤｓ１が入力され、第２Ｄ−ＦＦ回路４５から同期補正信号Ｓｒｓが入力される。加算器４８は、その第１段数データＤｓ１に、同期補正信号Ｓｒｓに応じた補正値を加算して補正第１段数データＣＤｓ１を算出し、その補正第１段数データＣＤｓ１を出力する。
【００４８】
詳しくは、加算器４８は、Ｈレベルの同期補正信号Ｓｒｓを入力すると、第１段数データＤｓ１に対して「１」を加算し、Ｌレベルの同期補正信号Ｓｒｓを入力すると、第１段数データＤｓ１に「０」を加算する。すなわち、加算器４８は、第１段数データＤｓ１がマスタＤＬＬ回路１１にて「１」を減少したときに該第１段数データＤｓ１に「１」を加算して補正し、第１段数データＤｓ１がマスタＤＬＬ回路１１にて「１」を増加したときに該第１段数データＤｓ１に「０」を加算して補正する。「０」を加算する場合は、第１段数データＤｓ１の値と等しい値の第２段数データＤｓ２を出力する。言い換えれば、第１段数データＤｓ１が「１」を増加したときにその第１段数データＤｓ１を補正しないといえる。
【００４９】
第１ラッチ回路４６は、例えば位相設定データＤｐのビット数と同じ数のＤ−ＦＦ回路で構成されている。第１ラッチ回路４６は、基準クロック信号ＣＬＫｒに応答して、位相設定データＤｐを保持し、その保持データと等しいレベルの同期位相設定データＤｐｓを出力する。
【００５０】
乗算器４９は、加算器４８から補正第１段数データＣＤｓ１が入力され、第１ラッチ回路４６から同期位相設定データＤｐｓが入力される。乗算器４９は、補正第１段数データＣＤｓ１に同期位相設定データＤｐｓを乗算し、その乗算結果を乗算値データＤｍとして出力する。
【００５１】
除算器５０には、乗算器４９から乗算値データＤｍが入力され、位相設定データＤｐのビット数が入力される。除算器５０は、乗算値データＤｍを位相設定データＤｐのビット数に応じた値であって、そのビット数により表現される数値の個数であり、マスタＤＬＬ回路１１における位相差である３６０度を分割する数（本実施形態では位相設定データＤｐが３ビットなので「８」）で除算し、その除算結果を除算値データＤｄとして出力する。
【００５２】
従って、乗算器４９及び除算器５０は、位相設定データＤｐで設定された位相まで第１クロック信号ＣＬＫ１を遅らせる遅延素子の段数を算出するようになっている。
なお、乗算器４９は、２進数の位相設定データＤｐに含まれる「１」のビット位置に応じて補正第１段数データＣＤｓ１を左シフトした値を合計することにより、乗算値データＤｍを生成する。除算器５０は、位相設定データＤｐのビット数に応じて乗算値データＤｍの下位ビットを削除する（切り捨てる、又は右シフトする）ことにより、除算値データＤｄを生成する。
【００５３】
第２ラッチ回路４７は、除算値データＤｄを、基準クロック信号ＣＬＫｒのＨレベルへの立ち上がりに同期して保持し、その保持値の信号を第２段数データＤｓ２として出力する。
【００５４】
このような構成により、位相調整回路３１は、以下の式に基づいて第２段数データＤｓ２を生成する。
Ｄｓ２＝ＣＤｓ１×Ｄｐ／２Ｘ
なお、「Ｘ」は位相設定データＤｐのビット数である。
【００５５】
つまり、位相調整回路３１は、位相設定データＤｐで設定された第１クロック信号ＣＬＫ１の位相をずらす量と基準クロック信号ＣＬＫｒの位相をずらした量（３６０°）の比率を補正第１段数データＣＤｓ１に掛けて、位相設定データＤｐで設定した位相まで第１クロック信号ＣＬＫ１を遅延させる第２遅延回路３２の遅延素子の段数を算出する。
【００５６】
上記のように、補正第１段数データＣＤｓ１は、第１段数データＤｓ１に「１」が加算される場合、加算器４８にて第１段数データＤｓ１に「０」を加算し、第１段数データＤｓ１から「１」が減算される場合、加算器４８にて第１段数データＤｓ１に「１」を加算する補正を行う。
【００５７】
従って、オア回路４１、第１及び第２バッファ回路４２，４３、第１及び第２Ｄ−ＦＦ回路４４，４５を含む補正データ生成回路は、第１段数データＤｓ１の増減に対して逆に増減する同期補正信号Ｓｒｓを生成する。加算器４８は、第１段数データＤｓ１に同期補正信号Ｓｒｓを加算し、その結果を補正第１段数データＣＤｓ１として出力する。従って、第１段数データＤｓ１が「ｎ−１」と「ｎ」を交互に繰り返すとき、第１段数データＤｓ１の変化が、同期補正信号Ｓｒｓによって打ち消され、安定した補正第１段数データＣＤｓ１が加算器４８から出力される。この結果、位相調整回路３１は、第１段数データＤｓ１の値が、「ｎ−１」と「ｎ」との間を交互に遷移している状態でも第２段数データＤｓ２が変動しないようにしている。
【００５８】
次に、第１段数データＤｓ１が「５９９」と「６００」を交互に遷移するときの位相調整回路３１の動作について図３に従って説明する。なお、構成部材については、図１及び図２を参照されたい。
【００５９】
まず、時刻ｔ１において、第１段数データＤｓ１が「５９９」になっている状態で、基準クロック信号ＣＬＫｒがＨレベルに立ち上がると、第２カウンタ回路Ｃ２は、その基準クロック信号ＣＬＫｒのＨレベルへの立ち上がりをカウントし、第２カウント値Ｖｃ２が「１」となる。
【００６０】
そして、時刻ｔ２において、即ち、時刻ｔ１から数えて３番目の基準クロック信号ＣＬＫｒがＨレベルに立ち上がると、第２カウンタ回路Ｃ２は、その基準クロック信号ＣＬＫｒのＨレベルへの立ち上がりをカウントし、第２カウント値Ｖｃ２が「３」となる。これにより、第２カウント値Ｖｃ２が段数増加値Ｖｃｕと等しくなるため、第２カウンタ回路Ｃ２は、Ｈレベルの段数増加信号Ｓｕｐを出力する。Ｈレベルの段数増加信号Ｓｕｐを入力すると、オア回路４１は、Ｈレベルの段数増減信号Ｓｕｄを出力する。そして、Ｈレベルの段数増減信号Ｓｕｄを入力すると、第１Ｄ−ＦＦ回路４４は、Ｌレベルの段数減少信号Ｓｄｎに応じてＬレベルの補正信号Ｓｒを出力する。
【００６１】
そして、時刻ｔ３において、次に基準クロック信号ＣＬＫｒがＨレベルに立ち上がると、遅延制御回路２３は、第１段数データＤｓ１に「１」を加算して「６００」にする。また、第２Ｄ−ＦＦ回路４５は、Ｌレベルの補正信号Ｓｒと同じレベルの同期補正信号Ｓｒｓを出力する。これにより、加算器４８は、第１段数データＤｓ１に「０」を加算して補正第１段数データＣＤｓ１が「６００」となる。
【００６２】
ここで、位相設定データＤｐを「０１０」とすると、補正第１段数データＣＤｓ１を乗算器４９、除算器５０にて上記の処理を行うことで、第２段数データＤｓ２を「１５０」にする。また、第１段数データＤｓ１が「６００」になると、第２カウンタ回路Ｃ２は、Ｌレベルの段数増加信号Ｓｕｐを出力する。そして、Ｌレベルの段数増加信号Ｓｕｐを入力すると、オア回路４１は、Ｌレベルの段数増減信号Ｓｕｄを出力する。
【００６３】
そして、時刻ｔ４において、次に基準クロック信号ＣＬＫｒがＨレベルに立ち上がると、第１カウンタ回路Ｃ１は、その基準クロック信号ＣＬＫｒのＨレベルへの立ち上がりをカウントし、第１カウント値Ｖｃ１が「１」となる。
【００６４】
そして、時刻ｔ５において、即ち、時刻ｔ４から数えて３番目の基準クロック信号ＣＬＫｒがＨレベルに立ち上がると、第１カウンタ回路Ｃ１は、その基準クロック信号ＣＬＫｒのＨレベルへの立ち上がりをカウントし、第１カウント値Ｖｃ１が「３」となる。これにより、第１カウント値Ｖｃ１が段数減少値Ｖｃｄと等しくなるため、第１カウンタ回路Ｃ１は、Ｈレベルの段数減少信号Ｓｄｎを出力する。Ｈレベルの段数減少信号Ｓｄｎを入力すると、オア回路４１は、Ｈレベルの段数増減信号Ｓｕｄを出力する。そして、Ｈレベルの段数増減信号Ｓｕｄを入力すると、第１Ｄ−ＦＦ回路４４は、Ｈレベルの段数減少信号Ｓｄｎに応じて補正信号Ｓｒを出力する。
【００６５】
そして、時刻ｔ６において、基準クロック信号ＣＬＫｒがＨレベルに立ち上がると、遅延制御回路２３は、第１段数データＤｓ１から「１」を減算して「５９９」にする。また、第２Ｄ−ＦＦ回路４５は、Ｈレベルの補正信号Ｓｒと同じレベルの同期補正信号Ｓｒｓを出力する。これにより、加算器４８は、「５９９」の第１段数データＤｓ１に「１」を加算して補正第１段数データＣＤｓ１を「６００」にする。そして、補正第１段数データＣＤｓ１を乗算器４９、除算器５０にて上記の処理を行うことで、第２段数データＤｓ２を「１５０」にする。そして、位相調整回路３１は、上記の動作を繰り返すようになっている。
【００６６】
従って、位相調整回路３１は、第１段数データＤｓ１が「６００」から「５９９」に減少するとき、第１段数データＤｓ１に「１」を加算して「６００」の補正第１段数データＣＤｓ１を出力する。また、位相調整回路３１は、第１段数データＤｓ１が「５９９」から「６００」に増加するとき、第１段数データＤｓ１に「０」を加算して「６００」の補正第１段数データＣＤｓ１を出力する。この結果、位相調整回路３１は、第１段数データＤｓ１が「５９９」と「６００」を交互に遷移している状態で、「１５０」の第２段数データＤｓ２を維持することができる。
【００６７】
第２遅延回路３２は、位相調整回路３１から第２段数データＤｓ２が入力され、外部から第１クロック信号ＣＬＫ１が入力される。第２遅延回路３２は、第２段数データＤｓ２に応じた遅延素子の段数を直列に接続することで、外部からの第１クロック信号ＣＬＫ１を位相設定データＤｐに基づいた位相（本実施形態では、９０°）まで遅延させた第２クロック信号ＣＬＫ２を生成している。
【００６８】
従って、第２遅延回路３２は、第１段数データＤｓ１が「ｎ−１」と「ｎ」を交互に遷移している場合、一定の第２段数データＤｓ２を入力するため、第２クロック信号ＣＬＫ２を安定して生成することができる。
【００６９】
以上記述したように、本実施の形態によれば、以下の効果を奏する。
（１）スレーブＤＬＬ回路１２は、第１段数データＤｓ１が「ｎ−１」と「ｎ」を交互に遷移している場合、第１段数データＤｓ１の変化に応じた補正を行って一定の第２段数データＤｓ２を生成するようにした。従って、スレーブＤＬＬ回路１２は、補正された一定の第２段数データに基づいて第２クロック信号ＣＬＫ２を生成するため、第２クロック信号ＣＬＫ２のジッタを低減することができる。
【００７０】
（２）スレーブＤＬＬ回路１２は、第１段数データＤｓ１が「ｎ−１」と「ｎ」を交互に遷移している場合、第１段数データＤｓ１の変化に応じた同期補正信号Ｓｒｓを生成し、第１段数データＤｓ１に同期補正信号Ｓｒｓを加算して「ｎ」の補正第１段数データＤｓ１を生成するようにした。従って、スレーブＤＬＬ回路１２は、補正された「ｎ」の補正第１段数データＣＤｓ１に基づいて第２段数データＤｓ２を生成し、第２クロック信号ＣＬＫ２のジッタを低減することができる。
【００７１】
（３）マスタＤＬＬ回路１１は、第１段数データＤｓ１を変更するときに、その変化に応じた段数増加信号Ｓｕｐ及び段数減少信号Ｓｄｎを生成する。スレーブＤＬＬ回路１２は、その段数増加信号Ｓｕｐ及び段数減少信号Ｓｄｎに基づいて第２段数データを生成するようにした。従って、デジタルＤＬＬ回路１０は、簡単な回路構成にて、第２クロック信号ＣＬＫ２のジッタを低減することができる。
【００７２】
（４）マスタＤＬＬ回路１１は、第１段数データＤｓ１を増加するときにＨレベルの段数増加信号Ｓｕｐを出力し、第１段数データＤｓ１を減少するときにＨレベルの段数減少信号Ｓｄｎを出力する。スレーブＤＬＬ回路１２は、Ｈレベルの段数増加信号Ｓｕｐを入力すると、Ｌレベルの同期補正信号Ｓｒｓを生成し、Ｈレベルの段数減少信号Ｓｄｎを入力すると、Ｈレベルの同期補正信号Ｓｒｓを生成するようにした。従って、デジタルＤＬＬ回路１０は、簡単な回路構成にて、第２クロック信号ＣＬＫ２のジッタを低減することができる。
【００７３】
（５）スレーブＤＬＬ回路１２は、補正第１段数データＣＤｓ１及び位相設定データＤｐに基づいて、第２段数データＤｓ２を生成するようにした。従って、デジタルＤＬＬ回路１０は、第２クロック信号ＣＬＫ２の位相を位相設定データＤｐに基づいた位相にしつつ、第２クロック信号ＣＬＫ２のジッタを低減することができる。
【００７４】
（６）遅延制御回路２３の第１カウンタ回路Ｃ１は、位相比較信号ＳｃがＨレベルのときに基準クロック信号ＣＬＫｒのパルスをカウントアップし、その第１カウント値Ｖｃ１が段数減少値Ｖｃｄに達すると、Ｈレベルの段数減少信号Ｓｄｎを出力する。また、遅延制御回路２３の第２カウンタ回路Ｃ２は、位相比較信号ＳｃがＬレベルのときに基準クロック信号ＣＬＫｒのパルスをカウントアップし、その第２カウント値Ｖｃ２が段数増加値Ｖｃｕに達すると、Ｈレベルの段数増加信号Ｓｕｐを出力するようにした。従って、遅延制御回路２３は、短時間での位相比較信号ＳｃのＨレベルとＬレベルの切り替わり、即ち基準クロック信号ＣＬＫｒに対する比較クロック信号ＣＬＫｃの位相の進遅に対して過度に追従することなく安定した第１段数データＤｓ１を生成することができる。
【００７５】
（７）マスタＤＬＬ回路１１の第１遅延回路２１に含まれる遅延素子と、スレーブＤＬＬ回路１２の第２遅延回路３２に含まれる遅延素子は、互いに同一の遅延特性を有するようにした。従って、デジタルＤＬＬ回路１０は、精度良く位相設定データＤｐに基づいた位相の第２クロック信号ＣＬＫ２を生成することができる。
【００７６】
尚、上記実施の形態は、以下の態様で実施してもよい。
・本実施形態では、位相調整回路３１は、遅延制御回路２３にて第１段数データＤｓ１に「１」を減算される場合、第１段数データＤｓ１に「１」を加算して補正第１段数データＤｓ１を生成していた。これに限らず、位相調整回路３１は、遅延制御回路２３にて第１段数データＤｓ１が「１」を加算される場合、第１段数データＤｓ１に「１」を減算して補正第１段数データＤｓ１を生成してもよい。
【００７７】
従って、第１段数データＤｓ１が「ｎ−１」と「ｎ」を交互に遷移している状態において、位相調整回路３１は、「ｎ−１」の補正第１段数データＣＤｓ１に基づいて、第２段数データＤｓ２を生成することができる。
【００７８】
この結果、上記の状態において、第２遅延回路３２は、常に一定の第２段数データＤｓ２の遅延素子を直列に接続することため、従来に比べて第２クロック信号ＣＬＫ２のジッタを低減することができる。
【００７９】
・本実施形態では、第１遅延回路２１は、基準クロック信号ＣＬＫｒを入力していたが、第１クロック信号ＣＬＫ１を入力するようにしてもよい。このようにしても、上記の実施形態と同様の効果を得ることができる。
【００８０】
・本実施形態では、遅延制御回路２３は、第１カウンタ回路Ｃ１の第１カウント値Ｖｃ１と段数減少値Ｖｃｄが等しくなると、第１段数データＤｓ１に「１」を減算していた。一方、遅延制御回路２３は、第２カウンタ回路Ｃ２の第２カウント値Ｖｃ２と段数増加値Ｖｃｕが等しくなると、第１段数データＤｓ１に「１」を加算していた。
【００８１】
これに限らず、遅延制御回路２３は、Ｈレベルの位相比較信号Ｓｃを入力すると、第１段数データＤｓ１に「１」を減算する。また、遅延制御回路２３は、段数減少信号ＳｄｎをスレーブＤＬＬ回路１２に出力する。反対に、遅延制御回路２３は、Ｌレベルの位相比較信号Ｓｃを入力すると、第１段数データＤｓ１に「１」を加算し、段数増加信号ＳｕｐをスレーブＤＬＬ回路１２に出力するようにしてもよい。
【００８２】
従って、第１段数データＤｓ１が「ｎ−１」と「ｎ」を交互に遷移している状態において、上記の実施形態より第１段数データＤｓ１の増減する頻度が多くなるが、デジタルＤＬＬ回路１０は、同じ値の第２段数データＤｓ２を維持できるため、従来に比べて第２クロック信号ＣＬＫ２のジッタを低減することができる。これに伴い、デジタルＤＬＬ回路１０は、第１及び第２カウンタ回路Ｃ１，Ｃ２を削除することができ、回路規模を縮小することができる。
【００８３】
・第２遅延回路３２の遅延素子は、第１遅延回路２１の遅延素子と互いに同一の構成であれば、その段数が第１遅延回路２１の遅延素子の段数と異なっていてもよい。このようにしても、上記の実施形態と同様の効果を得ることができる。
【００８４】
・位相調整回路３１は、第１段数データＤｓ１に対して、そのデータの変化に応じて「０」又は「１」の同期補正信号Ｓｒｓを生成し、その同期補正信号Ｓｒｓを第１段数データＤｓ１に加算して補正第１段数データＣＤｓ１を生成するようにした。つまり、乗算器４９に供給される補正第１段数データＣＤｓ１の値が変化しなければよい。このため、例えば、第１段数データＤｓ１に「１」を加算した結果の補正第１段数データＣＤｓ１と、第１段数データＤｓ１とが供給される選択回路を含み、第１段数データＤｓ１の変化、つまり段数減少信号Ｓｄｎと段数増加信号Ｓｕｐに基づいて、同期補正信号Ｓｒｓ又は第１段数データＤｓ１を乗算器４９に供給するようにしてもよい。
【００８５】
上記各実施形態に関し、以下の付記を開示する。
（付記１）
基準クロック信号を所定の位相まで遅延させるために使用する遅延素子の段数を示す第１段数データを生成する段数データ生成回路と、
前記第１段数データに基づいて使用する遅延素子の段数を示す第２段数データを生成し、前記第２段数データに応じた段数の遅延素子にて第１クロック信号を遅延させて第２クロック信号を生成し、前記第１段数データが２つの値の間で遷移している場合、前記第１段数データの変化に応じた補正を行って前記第２段数データを生成する信号生成回路と、
を有することを特徴とするデジタル遅延回路。
（付記２）
前記信号生成回路は、
前記第１段数データの変化に応じた補正データを生成し、前記第１段数データに前記補正データを加算し、その加算結果に応じて前記第２段数データを生成すること、
を特徴とする付記１に記載のデジタル遅延回路。
（付記３）
前記段数データ生成回路は、前記段数データを変更するときに、その変更に応じた段数変更信号を出力し、
前記信号生成回路は、前記段数変更信号に応じて前記補正データを生成すること、
を特徴とする付記２に記載のデジタル遅延回路。
（付記４）
前記段数データ生成回路は、前記第１段数データを増加するときに第１の段数変更信号を生成し、前記第１段数データを減少するときに第２の段数変更信号を生成し、
前記信号生成回路は、前記第１の段数変更信号に基づいて第１の値の補正データを生成し、前記第２の段数変更信号に基づいて前記第１の値より１大きい第２の値の補正データを生成すること、
を特徴とする付記１〜３のうちの何れか一項に記載のデジタル遅延回路。
（付記５）
前記段数データ生成回路は、前記第１段数データに前記補正データを加算して生成した補正第１段数データと、前記第１クロック信号と前記第２クロック信号との位相差を設定する位相設定データとに基づいて、前記第２段数データを生成すること、
を特徴とする付記２〜４のうちの何れか一項に記載のデジタル遅延回路。
（付記６）
前記段数データ生成回路は、
前記基準クロック信号を第１段数データにより遅延させた比較クロック信号と前記基準クロック信号の位相を比較し、その比較結果に応じた位相比較信号を出力する位相比較回路と、
前記位相比較信号に応じて前記第１段数データを変更する遅延制御回路と、
を含み、
前記遅延制御回路は、
前記位相比較信号に基づいて、前記基準クロック信号の１周期分の遅延よりも前記比較クロック信号の位相が大きいときにカウントアップし、カウント値と設定値に応じて第１の段数変更信号を出力する第１カウンタ回路と、
前記位相比較信号に基づいて、前記基準クロック信号の１周期分の遅延よりも前記比較クロック信号の位相が小さいときにカウントアップし、カウント値と設定値に応じて第２の段数変更信号を出力する第２カウンタ回路と、
を有し、
前記第１の段数変更信号に応じて前記第１段数データを減少させ、前記第２の段数変更信号に応じて前記第１段数データを増加させる、
ことを特徴とする付記１〜５のうちの何れか一項に記載のデジタル遅延回路。
（付記７）
前記段数データ生成回路に含まれる遅延素子と、前記信号生成回路に含まれる遅延素子は、互いに同一の遅延特性を有している、
ことを特徴とする付記１〜６のうちの何れか一項に記載のデジタル遅延回路。
（付記８）
第１段数データに基づいた段数の遅延素子にて基準クロック信号を遅延させて比較クロック信号を生成する第１遅延回路と、
前記基準クロック信号と前記比較クロック信号との位相を比較する位相比較回路と、
前記位相比較回路の比較結果に基づいて、前記基準クロック信号と前記比較クロック信号との位相を一致させるように前記第１段数データを生成する遅延制御回路と、
前記第１段数データに基づいて、第２段数データを生成する位相調整回路と、
前記第２段数データに基づいた段数の遅延素子にて第１クロック信号から遅延した第２クロック信号を生成する第２遅延回路と、を有し、
位相調整回路は、
前記第１段数データが２つの値の間で遷移している場合、前記第１段数データの変化に応じた補正を行って前記第２段数データを生成することを特徴とするデジタル遅延回路。
（付記９）
基準クロック信号を所定の位相まで遅延させるために使用する遅延素子の段数を示す第１段数データを生成し、前記第１段数データに基づいて使用する遅延素子の段数を示す第２段数データを生成し、前記第２段数データに応じた段数の遅延素子にて第１クロック信号を遅延させて第２クロック信号を生成し、前記第１段数データが２つの値の間で遷移している場合、前記第１段数データの変化に応じた補正を行って前記第２段数データを生成する、
ことを特徴とするデジタル遅延回路の制御方法。
【符号の説明】
【００８６】
１０  デジタル遅延回路（デジタルＤＬＬ回路）
１１  段数データ生成回路（マスタＤＬＬ回路）
１２  信号生成回路（スレーブＤＬＬ回路）
ＣＬＫ１  第１クロック信号
ＣＬＫ２  第２クロック信号
ＣＬＫｒ  基準クロック信号
Ｄｓ１  第１段数データ
Ｄｓ２  第２段数データ
【図１】
0005413151.tif 000002
【図２】
0005413151.tif 000003
【図３】
0005413151.tif 000004
【図４】
0005413151.tif 000005