(57)【要約】【課題】セットアップタイム及びホールドタイムのマージンを十分に確保することが可能なデジタル信号処理回路を提供すること。【解決手段】回路は第１の遅延量を複数の判定用遅延量のそれぞれに設定する。回路は入力データ信号を、第１の遅延量だけ遅延させた第１の遅延データ信号と第２の遅延量だけ遅延させた第２の遅延データ信号とを出力する。回路は、第１の遅延データ信号をラッチすることにより第１のラッチデータを取得し、第２の遅延データ信号をラッチすることにより第２のラッチデータを取得する。回路は、複数の判定用遅延量のそれぞれに対して、第１のラッチデータと第２のラッチデータとが一致しているか否かを判定し、当該判定結果に基づいて第１のラッチデータと第２のラッチデータとを一致させるように、第１の遅延量を第１の制御遅延量に設定し且つ上記第２の遅延量を第２の制御遅延量に設定する。【選択図】図１７
2011188042.tif 000002
【特許請求の範囲】
【請求項１】
第１の遅延量を、互いに異なる複数の判定用遅延量のそれぞれに設定する判定用遅延量設定手段と、
入力データ信号を、前記設定された第１の遅延量だけ遅延させた第１の遅延データ信号を出力する第１の遅延処理手段と、
前記入力データ信号を、前記設定された第１の遅延量と異なる第２の遅延量だけ遅延させた第２の遅延データ信号を出力する第２の遅延処理手段と、
前記第１の遅延データ信号とクロック信号とが入力されるとともに、当該第１の遅延データ信号を当該クロック信号に基づいてラッチすることにより第１のラッチデータを取得する第１のラッチ処理手段と、
前記第２の遅延データ信号と前記クロック信号とが入力されるとともに、当該第２の遅延データ信号を当該クロック信号に基づいてラッチすることにより第２のラッチデータを取得する第２のラッチ処理手段と、
前記複数の判定用遅延量のそれぞれに対して、前記第１のラッチデータと前記第２のラッチデータとが一致しているか否かを判定するとともに、当該判定結果に基づいて、当該第１のラッチデータと当該第２のラッチデータとを一致させるように、前記第１の遅延量を第１の制御遅延量に設定し且つ前記第２の遅延量を第２の制御遅延量に設定する制御遅延量設定手段と、
前記第１のラッチデータ、又は、前記第２のラッチデータを出力するデータ出力手段と、
を備えるデジタル信号処理回路。
【請求項２】
請求項１に記載のデジタル信号処理回路であって、
前記第２の遅延量が、予め設定されたオフセット遅延量だけ前記第１の遅延量よりも大きい遅延量に設定されるように構成され、
前記複数の判定用遅延量は、第１の判定用遅延量と、当該第１の判定用遅延量よりも小さい第２の判定用遅延量と、当該第２の判定用遅延量よりも小さい第３の判定用遅延量と、を含み、
前記制御遅延量設定手段は、前記第１の判定用遅延量に対して前記第１のラッチデータと前記第２のラッチデータとが一致していないと判定した場合、前記第１の制御遅延量を、前記第２の判定用遅延量よりも小さい遅延量に設定し、一方、前記第３の判定用遅延量に対して前記第１のラッチデータと前記第２のラッチデータとが一致していないと判定した場合、前記第１の制御遅延量を、前記第２の判定用遅延量よりも大きい遅延量に設定するように構成されたデジタル信号処理回路。
【請求項３】
請求項２に記載のデジタル信号処理回路であって、
前記データ出力手段は、前記第１の判定用遅延量に対して前記第１のラッチデータと前記第２のラッチデータとが一致していないと判定された場合、前記第１の遅延量が前記第１の制御遅延量に設定された時点以降において前記第１のラッチデータを出力するように構成され、一方、前記第３の判定用遅延量に対して前記第１のラッチデータと前記第２のラッチデータとが一致していないと判定された場合、前記第１の遅延量が前記第１の制御遅延量に設定された時点以降において前記第２のラッチデータを出力するように構成されるデジタル信号処理回路。
【請求項４】
請求項２又は請求項３に記載のデジタル信号処理回路であって、
前記データ出力手段は、前記第１の遅延量が前記第１の判定用遅延量に設定されている間、前記第１のラッチデータを出力するように構成され、一方、前記第１の遅延量が前記第３の判定用遅延量に設定されている間、前記第２のラッチデータを出力するように構成されるデジタル信号処理回路。
【請求項５】
請求項１に記載のデジタル信号処理回路であって、
前記第２の遅延量が、予め設定されたオフセット遅延量だけ前記第１の遅延量よりも大きい遅延量に設定されるように構成され、
前記制御遅延量設定手段は、前記第１のラッチデータと前記第２のラッチデータとが一致していると判定される範囲における前記第１の遅延量の上限値と、当該範囲における当該第１の遅延量の下限値と、を特定し、当該特定した上限値及び下限値に基づいて前記第１の制御遅延量を決定するように構成されたデジタル信号処理回路。
【請求項６】
請求項５に記載のデジタル信号処理回路であって、
前記判定用遅延量設定手段は、前記第１のラッチデータと前記第２のラッチデータとが一致していると判定された時点にて設定されている前記第１の遅延量から前記判定用遅延量を徐々に増加させるように構成され、
前記制御遅延量設定手段は、前記判定用遅延量が増加されたことにより、前記第１のラッチデータと前記第２のラッチデータとが一致していないと最初に判定された時点にて設定されている前記第１の遅延量に基づく値を前記上限値として特定するように構成され、
前記判定用遅延量設定手段は、前記第１のラッチデータと前記第２のラッチデータとが一致していると判定された時点にて設定されている前記第１の遅延量から前記判定用遅延量を徐々に減少させるように構成され、
前記制御遅延量設定手段は、前記判定用遅延量が減少されたことにより、前記第１のラッチデータと前記第２のラッチデータとが一致していないと最初に判定された時点にて設定されている前記第１の遅延量に基づく値を前記下限値として特定するように構成されたデジタル信号処理回路。
【請求項７】
請求項６に記載のデジタル信号処理回路であって、
前記データ出力手段は、前記判定用遅延量が増加されている間、前記第１のラッチデータを出力し、一方、前記判定用遅延量が減少されている間、前記第２のラッチデータを出力するように構成されたデジタル信号処理回路。
【請求項８】
請求項１乃至請求項７のいずれか一項に記載のデジタル信号処理回路であって、
前記判定用遅延量設定手段は、前記第１の遅延量が前記第１の制御遅延量に設定された時点以降において、前記データ出力手段が前記第１のラッチデータを出力している場合、前記第１の遅延量を前記第１の制御遅延量に維持するとともに、前記第２の遅延量を互いに異なる複数の判定用遅延量のそれぞれに設定し、一方、当該データ出力手段が前記第２のラッチデータを出力している場合、前記第２の遅延量を前記第２の制御遅延量に維持するとともに、前記第１の遅延量を互いに異なる複数の判定用遅延量のそれぞれに設定するように構成され、
前記データ出力手段は、前記第１の遅延量が前記第１の制御遅延量に設定された時点以降において、前記第１の遅延量が前記第１の制御遅延量に維持されている間、前記第１のラッチデータを出力し、一方、前記第２の遅延量が前記第２の制御遅延量に維持されている間、前記第２のラッチデータを出力するように構成され、
前記制御遅延量設定手段は、前記第１の遅延量が前記第１の制御遅延量に設定された時点以降において、前記複数の判定用遅延量のそれぞれに対して、前記第１のラッチデータと前記第２のラッチデータとが一致しているか否かを再び判定するとともに、当該判定結果に基づいて前記第１の制御遅延量又は前記第２の制御遅延量を補正するように構成されたデジタル信号処理回路。
【請求項９】
第１の遅延量を、互いに異なる複数の判定用遅延量のそれぞれに設定し、
入力データ信号を、前記設定された第１の遅延量だけ遅延させた第１の遅延データ信号を出力し、
前記入力データ信号を、前記設定された第１の遅延量と異なる第２の遅延量だけ遅延させた第２の遅延データ信号を出力し、
前記第１の遅延データ信号とクロック信号とが入力されるとともに、当該第１の遅延データ信号を当該クロック信号に基づいてラッチすることにより第１のラッチデータを取得し、
前記第２の遅延データ信号と前記クロック信号とが入力されるとともに、当該第２の遅延データ信号を当該クロック信号に基づいてラッチすることにより第２のラッチデータを取得し、
前記複数の判定用遅延量のそれぞれに対して、前記第１のラッチデータと前記第２のラッチデータとが一致しているか否かを判定するとともに、当該判定結果に基づいて、当該第１のラッチデータと当該第２のラッチデータとを一致させるように、前記第１の遅延量を第１の制御遅延量に設定し且つ前記第２の遅延量を第２の制御遅延量に設定し、
前記第１のラッチデータ、又は、前記第２のラッチデータを出力する、デジタル信号処理方法。
【請求項１０】
入力データ信号を、第１の遅延量だけ遅延させた第１の遅延データ信号を出力する第１の遅延処理手段と、
前記入力データ信号を、前記第１の遅延量と異なる第２の遅延量だけ遅延させた第２の遅延データ信号を出力する第２の遅延処理手段と、
前記第１の遅延データ信号とクロック信号とが入力されるとともに、当該第１の遅延データ信号を当該クロック信号に基づいてラッチすることにより第１のラッチデータを取得する第１のラッチ処理手段と、
前記第２の遅延データ信号と前記クロック信号とが入力されるとともに、当該第２の遅延データ信号を当該クロック信号に基づいてラッチすることにより第２のラッチデータを取得する第２のラッチ処理手段と、
前記第１のラッチデータ、又は、前記第２のラッチデータを出力するデータ出力手段と、
を備えるデジタル信号処理回路が備える処理装置に、
前記第１の遅延量を、互いに異なる複数の判定用遅延量のそれぞれに設定する判定用遅延量設定手段と、
前記複数の判定用遅延量のそれぞれに対して、前記第１のラッチデータと前記第２のラッチデータとが一致しているか否かを判定するとともに、当該判定結果に基づいて、当該第１のラッチデータと当該第２のラッチデータとを一致させるように、前記第１の遅延量を第１の制御遅延量に設定し且つ前記第２の遅延量を第２の制御遅延量に設定する制御遅延量設定手段と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ信号をクロック信号に基づいてラッチするデジタル信号処理回路に関し、特に、データ信号とクロック信号との間の位相差を調整するデジタル信号処理回路に関する。
【背景技術】
【０００２】
ＩＥＥＥ（Ｔｈｅ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ，  Ｉｎｃ．）８０２．３により規定された４０ギガビット・イーサネット（「イーサネット」は、登録商標）、又は、１００ギガビット・イーサネットにおいては、デバイス間のインタフェースとして、図１に示したＸＬＧＭＩＩ（４０Ｇｂ／ｓ  Ｍｅｄｉａ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｉｎｔｅｒｆａｃｅ）、およびＣＧＭＩＩ（１００Ｇｂ／ｓ  Ｍｅｄｉａ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｉｎｔｅｒｆａｃｅ）が用いられる。このインタフェースは、６４のｎ倍（ｎは１以上の正の整数）の数のデータ信号によりデータを転送する。
【０００３】
例えば、ｎ＝１である場合、インタフェースは、図１に示したように、６４個のデータ信号１１０１−０〜１１０１−ｍ（ｍ＝６４×ｎ−１＝６３）により、転送レートを１００Ｇｂｐｓ（Ｇｉｇａ  ｂｉｔｓ  ｐｅｒ  ｓｅｃｏｎｄ）とするように、データの転送を行う。この場合、１つのデータ信号あたりの転送レートは、１．５６２５Ｇｂｐｓとなる。即ち、各データ信号に配置されるデータの周期（１つのデータ信号における１つのデータに対応する時間）は、６４０ｐｓ（ｐｉｃｏ  ｓｅｃｏｎｄ）となる。
【０００４】
受信側デバイス１０２Ａは、受信された複数のデータ信号１１０１−０〜１１０１−ｍを、１つのクロック信号１１００に同期してラッチすることによりラッチデータを取得する。従って、受信側デバイス１０２Ａが正しくラッチデータを取得するためには、図２の（Ａ）に示したように、データ信号１１０１−０〜１１０１−ｍのそれぞれに対して、セットアップタイム（Ｔｓ）１４０２、及び、ホールドタイム（Ｔｈ）１４０１が十分に確保される必要がある。
【０００５】
ここで、セットアップタイムＴｓは、データ信号におけるデータ間の境界（変化点）から、後続するラッチ点（クロックエッジ、例えば、クロック信号の立ち上がりエッジ、又は、クロック信号の立ち下りエッジ）までの時間である。また、ホールドタイムＴｈは、ラッチ点から、後続する変化点までの時間である。
【０００６】
このため、図１に示した、クロック信号１１００及びデータ信号１１０１−０〜１１０１−ｍの、送信インタフェース部１０１Ａから受信インタフェース部２００Ａへ転送される間に生じる遅延量が、同一の量になるように、各デバイス（例えば、デバイス間の配線、及び、デバイス内の配線等）が設計される。しかしながら、基板の大きさ、実装上の制約、及び、製造ばらつき、等により、クロック信号１１００及びデータ信号１１０１−０〜１１０１−ｍの遅延量が同一の量にならないことがある。
【０００７】
図２の（Ｂ）は、クロック信号１１００及びデータ信号１１０１−０〜１１０１−ｍの遅延量が同一の量でない場合の例を示す。図２の（Ｂ）に示した場合においては、ホールドタイムＴｈ１が十分に確保されているが、セットアップタイムＴｓ１が十分に確保されていないことがわかる。また、クロック信号１１００及びデータ信号１１０１−０〜１１０１−ｍの遅延量の差によっては、図２の（Ｂ）に示した場合とは逆に、ホールドタイムＴｈが十分に確保されない場合も生じる。
【０００８】
これらの問題に対処するため、特許文献１に記載のデジタル信号処理回路が知られている。図３は、このデジタル信号処理回路の構成を示した図であり、図４は、このデジタル信号処理回路の作動を概念的に示した説明図である。
【０００９】
このデジタル信号処理回路は、メモリインタフェースの受信側に適用される。このデジタル信号処理回路は、２つの入力アンプ１８０１，１８０２と、１つの遅延調整回路１８０３と、３つの遅延処理回路１８０８と、３つのラッチ処理回路１８０４〜１８０６と、１つの判定回路１８０７と、を備える。
【００１０】
このデジタル信号処理回路には、データ信号（ＤＱ）と、クロック信号としてのデータスタブ信号（ＤＱＳ）と、が入力される。ＤＱは、入力アンプ１８０２を経由した後、各ラッチ処理回路１８０４〜１８０６に、データ信号（Ｄｉｎｔ）として入力される。ＤＱＳは、入力アンプ１８０１、及び、遅延調整回路１８０３を経由した後、第１のＤＱＳ、第２のＤＱＳ、及び、第３のＤＱＳの３つのＤＱＳに分岐される。
【００１１】
第１のＤＱＳは、遅延処理回路１８０８を経由することなく、第１のクロック信号ＣＬＫＡとしてラッチ処理回路１８０４に入力される。ラッチ処理回路１８０４は、ＤＱを、第１のクロック信号ＣＬＫＡに同期してラッチすることにより、第１のラッチデータＡを取得する。
【００１２】
第２のＤＱＳは、１つの遅延処理回路１８０８を経由した後、第２のクロック信号ＣＬＫＢとしてラッチ処理回路１８０５に入力される。ラッチ処理回路１８０５は、ＤＱを、第２のクロック信号ＣＬＫＢに同期してラッチすることにより、第２のラッチデータＢを取得する。
【００１３】
第３のＤＱＳは、２つの遅延処理回路１８０８を経由した後、第３のクロック信号ＣＬＫＣとしてラッチ処理回路１８０６に入力される。ラッチ処理回路１８０６は、ＤＱを、第３のクロック信号ＣＬＫＣに同期してラッチすることにより、第３のラッチデータＣを取得する。
【００１４】
そして、判定回路１８０７は、各ラッチ処理回路１８０４〜１８０６から出力されたラッチデータＡ〜Ｃに基づいて下記のように作動する。
【００１５】
判定回路１８０７は、図４の（ａ）に示したように、入力されたラッチデータＡ〜Ｃのすべての値が一致する（即ち、Ａ＝Ｂ＝Ｃ）場合、遅延調整回路１８０３に設定される遅延量を保持する。
【００１６】
また、判定回路１８０７は、図４の（ｂ）に示したように、入力されたラッチデータＣの値が、他のラッチデータＡ，Ｂの値と一致しない（Ａ＝Ｂ≠Ｃ）場合、遅延調整回路１８０３に設定される遅延量を小さくするように遅延制御信号を遅延調整回路１８０３へ送る。なお、遅延調整回路１８０３は、判定回路１８０７により設定された遅延量だけＤＱＳを遅延させる。
【００１７】
また、判定回路１８０７は、図４の（ｃ）に示したように、入力されたラッチデータＡの値が、他のラッチデータＢ，Ｃの値と一致しない（Ａ≠Ｂ＝Ｃ）場合、遅延調整回路１８０３に設定される遅延量を大きくするように遅延制御信号を遅延調整回路１８０３へ送る。
【００１８】
このように、特許文献１に記載のデジタル信号処理回路によれば、データ信号とクロック信号との間の位相差を調整することができる。
【先行技術文献】
【特許文献】
【００１９】
【特許文献１】特許公開２００７−２０２０３３号公報
【発明の概要】
【発明が解決しようとする課題】
【００２０】
しかしながら、上述したデジタル信号処理回路においては、セットアップタイム及びホールドタイムのマージン（余裕量）を十分に確保できない場合が生じる虞がある。この理由について、以下、説明する。
【００２１】
上述したデジタル信号処理回路においては、図５に示したように、判定回路１８０７に入力される３つのラッチデータＡ〜Ｃは、互いに異なる３つのクロック信号ＣＬＫＡ〜ＣＬＫＣに同期して取得される。
【００２２】
従って、ラッチデータＡ〜Ｃが互いに一致しているか否かを判定するタイミング（判定タイミング）に応じて、判定結果が異なる。即ち、第１のクロック信号ＣＬＫＡのラッチ点（ここでは、クロック信号の立ち上がりエッジ）から、第２のクロック信号ＣＬＫＢのラッチ点までの期間１９００にて判定を行った場合、ラッチデータＡは、データｋに対応するデータであり、一方、ラッチデータＢ，Ｃは、データｋ−１に対応するデータである。従って、判定回路１８０７は、ラッチデータＡの値が、他のラッチデータＢ，Ｃの値と一致しない（Ａ≠Ｂ＝Ｃ）と判定する。
【００２３】
また、第２のクロック信号ＣＬＫＢのラッチ点から、第３のクロック信号ＣＬＫＣのラッチ点までの期間１９０１にて判定を行った場合、ラッチデータＡ，Ｂは、データｋに対応するデータであり、一方、ラッチデータＣは、データｋ−１に対応するデータである。従って、判定回路１８０７は、ラッチデータＣの値が、他のラッチデータＡ，Ｂの値と一致しない（Ａ＝Ｂ≠Ｃ）と判定する。
【００２４】
また、第３のクロック信号ＣＬＫＣのラッチ点から、第１のクロック信号ＣＬＫＡのラッチ点までの期間１９０２にて判定を行った場合、ラッチデータＡ，Ｂ，Ｃは、いずれもデータｋに対応するデータである。従って、判定回路１８０７は、ラッチデータＡ〜Ｃのすべての値が一致する（即ち、Ａ＝Ｂ＝Ｃ）と判定する。
【００２５】
このように、上述したデジタル信号処理回路においては、適切な判定タイミングにてラッチデータが互いに一致しているか否かを判定しないと、遅延量を適切に制御できないという問題があった。その結果、上述したデジタル信号処理回路においては、セットアップタイム及びホールドタイムのマージンを十分に確保できない場合が生じる虞がある。
【００２６】
また、上述したデジタル信号処理回路は、３つのラッチ処理回路を必要とする。即ち、デジタル信号処理回路が備えるラッチ処理回路の数が比較的多いという問題があった。
【００２７】
このため、本発明の目的は、上述した課題である「セットアップタイム及びホールドタイムのマージンを十分に確保できない場合が生じること」を解決することが可能なデジタル信号処理回路を提供することにある。
【課題を解決するための手段】
【００２８】
かかる目的を達成するため本発明の一形態であるデジタル信号処理回路は、
第１の遅延量を、互いに異なる複数の判定用遅延量のそれぞれに設定する判定用遅延量設定手段と、
入力データ信号を、上記設定された第１の遅延量だけ遅延させた第１の遅延データ信号を出力する第１の遅延処理手段と、
上記入力データ信号を、上記設定された第１の遅延量と異なる第２の遅延量だけ遅延させた第２の遅延データ信号を出力する第２の遅延処理手段と、
上記第１の遅延データ信号とクロック信号とが入力されるとともに、当該第１の遅延データ信号を当該クロック信号に基づいてラッチすることにより第１のラッチデータを取得する第１のラッチ処理手段と、
上記第２の遅延データ信号と上記クロック信号とが入力されるとともに、当該第２の遅延データ信号を当該クロック信号に基づいてラッチすることにより第２のラッチデータを取得する第２のラッチ処理手段と、
上記複数の判定用遅延量のそれぞれに対して、上記第１のラッチデータと上記第２のラッチデータとが一致しているか否かを判定するとともに、当該判定結果に基づいて、当該第１のラッチデータと当該第２のラッチデータとを一致させるように、上記第１の遅延量を第１の制御遅延量に設定し且つ上記第２の遅延量を第２の制御遅延量に設定する制御遅延量設定手段と、
上記第１のラッチデータ、又は、上記第２のラッチデータを出力するデータ出力手段と、
を備える。
【００２９】
また、本発明の他の形態であるデジタル信号処理方法は、
第１の遅延量を、互いに異なる複数の判定用遅延量のそれぞれに設定し、
入力データ信号を、上記設定された第１の遅延量だけ遅延させた第１の遅延データ信号を出力し、
上記入力データ信号を、上記設定された第１の遅延量と異なる第２の遅延量だけ遅延させた第２の遅延データ信号を出力し、
上記第１の遅延データ信号とクロック信号とが入力されるとともに、当該第１の遅延データ信号を当該クロック信号に基づいてラッチすることにより第１のラッチデータを取得し、
上記第２の遅延データ信号と上記クロック信号とが入力されるとともに、当該第２の遅延データ信号を当該クロック信号に基づいてラッチすることにより第２のラッチデータを取得し、
上記複数の判定用遅延量のそれぞれに対して、上記第１のラッチデータと上記第２のラッチデータとが一致しているか否かを判定するとともに、当該判定結果に基づいて、当該第１のラッチデータと当該第２のラッチデータとを一致させるように、上記第１の遅延量を第１の制御遅延量に設定し且つ上記第２の遅延量を第２の制御遅延量に設定し、
上記第１のラッチデータ、又は、上記第２のラッチデータを出力する方法である。
【００３０】
また、本発明の他の形態であるプログラムは、
入力データ信号を、第１の遅延量だけ遅延させた第１の遅延データ信号を出力する第１の遅延処理手段と、
上記入力データ信号を、上記第１の遅延量と異なる第２の遅延量だけ遅延させた第２の遅延データ信号を出力する第２の遅延処理手段と、
上記第１の遅延データ信号とクロック信号とが入力されるとともに、当該第１の遅延データ信号を当該クロック信号に基づいてラッチすることにより第１のラッチデータを取得する第１のラッチ処理手段と、
上記第２の遅延データ信号と上記クロック信号とが入力されるとともに、当該第２の遅延データ信号を当該クロック信号に基づいてラッチすることにより第２のラッチデータを取得する第２のラッチ処理手段と、
上記第１のラッチデータ、又は、上記第２のラッチデータを出力するデータ出力手段と、
を備えるデジタル信号処理回路が備える処理装置に、
上記第１の遅延量を、互いに異なる複数の判定用遅延量のそれぞれに設定する判定用遅延量設定手段と、
上記複数の判定用遅延量のそれぞれに対して、上記第１のラッチデータと上記第２のラッチデータとが一致しているか否かを判定するとともに、当該判定結果に基づいて、当該第１のラッチデータと当該第２のラッチデータとを一致させるように、上記第１の遅延量を第１の制御遅延量に設定し且つ上記第２の遅延量を第２の制御遅延量に設定する制御遅延量設定手段と、
を実現させるためのプログラムである。
【発明の効果】
【００３１】
本発明は、以上のように構成されることにより、セットアップタイム及びホールドタイムのマージンを十分に確保することができる。
【図面の簡単な説明】
【００３２】
【図１】背景技術に係るデバイス間インタフェースの構成を示した図である。
【図２】クロック信号とデータ信号とを示したタイムチャートである。
【図３】背景技術に係るデジタル信号処理回路の構成を示した図である。
【図４】背景技術に係るデジタル信号処理回路の作動を概念的に示した説明図である。
【図５】背景技術に係る、ラッチデータとクロック信号とを示したタイムチャートである。
【図６】本発明の第１実施形態に係るデジタル信号処理システムの概略構成を表す図である。
【図７】本発明の第１実施形態に係るデジタル信号処理回路（受信インタフェース部）の概略構成を表す図である。
【図８】本発明の第１実施形態に係るデジタル信号処理回路（受信インタフェース部）内の信号及びデータを示したタイムチャートである。
【図９】本発明の第１実施形態に係る比較制御部の作動を示したフローチャートである。
【図１０】本発明の第１実施形態に係るデジタル信号処理回路（受信インタフェース部）内の信号及びデータを示したタイムチャートである。
【図１１】本発明の第１実施形態に係るデジタル信号処理回路（受信インタフェース部）内の、位相差を調整する前後における信号及びデータを示したタイムチャートである。
【図１２】本発明の第１実施形態に係るデジタル信号処理回路（受信インタフェース部）内の、位相差を調整する前後における信号及びデータを示したタイムチャートである。
【図１３】本発明の第２実施形態に係る比較制御部の作動を示したフローチャートである。
【図１４】本発明の第２実施形態に係る比較制御部の作動に伴う、第１の遅延データ信号及び第２の遅延データ信号の変化を示したタイムチャートである。
【図１５】本発明の第２実施形態に係る比較制御部の作動に伴う、第１の遅延データ信号及び第２の遅延データ信号の変化を示したタイムチャートである。
【図１６】本発明の第３実施形態に係るデジタル信号処理回路（受信インタフェース部）の概略構成を表す図である。
【図１７】本発明の第４実施形態に係るデジタル信号処理回路の概略構成を表す図である。
【発明を実施するための形態】
【００３３】
以下、本発明に係る、デジタル信号処理回路、デジタル信号処理方法、及び、プログラム、の各実施形態について図１〜図１７を参照しながら説明する。
【００３４】
＜第１実施形態＞
（構成）
図６に示したように、第１実施形態に係るデジタル信号処理システム１は、ＭＡＣデバイス１００と、ＰＨＹデバイス１０２と、を含む。ＭＡＣデバイス１００は、ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）参照モデルにおけるデータリンク層を構成するデータを処理するデバイスである。ＰＨＹデバイス１０２は、ＯＳＩ参照モデルにおける物理層を構成するデータを処理するデバイスである。
【００３５】
デジタル信号処理システム１は、ＭＡＣデバイス１００から、ＰＨＹデバイス１０２へ、データを転送するシステムである。
ＭＡＣデバイス１００は、送信インタフェース部１０１と、処理部１０４と、を備える。ＰＨＹデバイス１０２は、受信インタフェース部２００と、処理部１０３と、を備える。
【００３６】
ＭＡＣデバイス１００とＰＨＹデバイス１０２とは、図示しない基板に配設された配線により接続されている。デジタル信号処理システム１は、この配線を介して、送信インタフェース部１０１から受信インタフェース部２００へ、クロック信号１１００と、複数（ｍ＋１個、ここで、ｍは、正の整数）のデータ信号１１０１−０〜１１０１−ｍと、を送信する。
【００３７】
受信インタフェース部２００は、受信したクロック信号１１００と、受信したデータ信号１１０１−０〜１１０１−ｍと、の間の位相差を調整し、クロック信号１１００と、位相差が調整されたデータ信号１１０９−０〜１１０９−ｍと、を処理部１０３へ出力する。
【００３８】
次に、図７及び図８を参照しながら、受信インタフェース部２００について、より詳細に説明する。図７は、受信インタフェース部２００の構成を示した図である。図８は、受信インタフェース部２００内の信号及びデータを示したタイムチャートである。
なお、受信インタフェース部２００は、本発明に係るデジタル信号処理回路（デジタル信号インタフェース処理回路）を構成している。
【００３９】
図７に示したように、受信インタフェース部２００は、複数（本例では、ｍ＋１個）の遅延調整部３００−０〜３００−ｍと、切替部（切替手段）４００と、比較制御部（判定用遅延量設定手段、制御遅延量設定手段、計数処理手段の一部）５００と、カウント部（計数処理手段の一部）６００と、を備える。
【００４０】
遅延調整部３００−０は、クロック信号１１００と、データ信号（入力データ信号）１１０１−０と、が入力される。遅延調整部３００−０は、データ信号１１０１−０を、比較制御部５００からの遅延量制御信号１１０５−０に応じた第１の遅延量だけ遅延させた第１の遅延データ信号１１０２を生成する。遅延量制御信号１１０５−０は、遅延量を表す信号である。更に、遅延調整部３００−０は、データ信号１１０１−０を、第１の遅延量と異なる第２の遅延量だけ遅延させた第２の遅延データ信号１１０４を生成する。
【００４１】
更に、遅延調整部３００−０は、第１の遅延データ信号１１０２をクロック信号１１００に同期してラッチすることにより第１のラッチデータ（Ａ）１１０６−０を取得する。同様に、遅延調整部３００−０は、第２の遅延データ信号１１０４をクロック信号１１００に同期してラッチすることにより第２のラッチデータ（Ｂ）１１０７−０を取得する。遅延調整部３００−０は、第１のラッチデータ（Ａ）１１０６−０、及び、第２のラッチデータ（Ｂ）１１０７−０を切替部４００へ出力する。
【００４２】
遅延調整部３００−０は、比較制御部５００からの出力データ選択信号１１０８−０に従って、第１のラッチデータ（Ａ）１１０６−０、及び、第２のラッチデータ（Ｂ）１１０７−０のいずれか一方を、出力データ（Ｃ）１１０９−０として処理部１０３へ出力する。出力データ選択信号１１０８−０は、第１のラッチデータ（Ａ）１１０６−０、及び、第２のラッチデータ（Ｂ）１１０７−０のうちの１つを特定するための信号である。
【００４３】
切替部４００は、複数の入力データ信号１１０１−０〜１１０１−ｍのそれぞれに対して取得された第１のラッチデータ（Ａ）１１０６−０〜１１０６−ｍ及び第２のラッチデータ（Ｂ）１１０７−０〜１１０７−ｍが入力される。
【００４４】
切替部４００は、比較制御部５００からのデータビット選択信号１１１４に従って、複数の入力データ信号１１０１−０〜１１０１−ｍのうちの１つを選択する。データビット選択信号１１１４は、複数の入力データ信号１１０１−０〜１１０１−ｍのうちの１つを特定するための信号である。切替部４００は、選択された入力データ信号に対する第１のラッチデータ（Ａ）１１０６−０〜１１０６−ｍ及び第２のラッチデータ（Ｂ）１１０７−０〜１１０７−ｍを、第１のラッチデータ（ａ）１１１１及び第２のラッチデータ（ｂ）１１１２として、比較制御部５００へ出力する。
【００４５】
即ち、切替部４００は、複数の入力データ信号１１０１−０〜１１０１−ｍのうちの１つを選択し、当該選択された入力データ信号に対する（即ち、選択された入力データ信号に基づいて取得された）第１のラッチデータ（Ａ）１１０６−０〜１１０６−ｍ及び第２のラッチデータ（Ｂ）１１０７−０〜１１０７−ｍを出力する、と言うことができる。
【００４６】
更に、切替部４００は、比較制御部５００から、遅延量制御信号１１１０、及び、出力データ選択信号１１１３を受け付ける。切替部４００は、選択された入力データ信号に対する（即ち、選択された入力データ信号が入力される）遅延調整部３００−０〜３００−ｍへ、受け付けた遅延量制御信号１１１０を遅延量制御信号１１０５−０〜１１０５−ｍとして出力するとともに、受け付けた出力データ選択信号１１１３を出力データ選択信号１１０８−０〜１１０８−ｍとして出力する。
【００４７】
なお、切替部４００は、選択された入力データ信号以外の入力データ信号に対する遅延調整部３００−０〜３００−ｍへ、前回と同一の（即ち、前回の出力時点から保持した値を表す）遅延量制御信号１１０５−０〜１１０５−ｍを出力するとともに、前回と同一の出力データ選択信号１１０８−０〜１１０８−ｍを出力する。
【００４８】
比較制御部５００は、複数の入力データ信号１１０１−０〜１１０１−ｍのそれぞれに対して、順に、クロック信号１１００と、当該データ信号１１０１−０〜１１０１−ｍと、の間の位相差を調整するための位相差調整処理を行う。
【００４９】
先ず、比較制御部５００は、位相差調整処理の対象となる、１つの入力データ信号１１０１−０〜１１０１−ｍを特定するためのデータビット選択信号１１１４を切替部４００へ出力する。
【００５０】
そして、比較制御部５００は、互いに異なる複数の判定用遅延量のそれぞれを表す遅延量制御信号１１１０を順に切替部４００へ出力する。即ち、比較制御部５００は、遅延調整部３００−０〜３００−ｍに設定される、第１の遅延量、及び、第２の遅延量を変更する。
【００５１】
そして、比較制御部５００は、複数の判定用遅延量のそれぞれに対して、第１のラッチデータ（ａ）１１１１と第２のラッチデータ（ｂ）１１１２とが一致しているか否かを判定する。比較制御部５００は、当該判定結果に基づいて適切な制御遅延量を決定し、決定した制御遅延量を表す遅延量制御信号１１１０を切替部４００へ出力する。
【００５２】
また、比較制御部５００は、遅延量制御信号１１１０を出力することにより、遅延調整部３００−０〜３００−ｍに設定される遅延量を変更する際、その遅延量の増減に応じた出力データ選択信号１１１３を出力する。これにより、比較制御部５００は、当該遅延調整部３００−０〜３００−ｍが出力する出力データ（Ｃ）１１０９−０〜１１０９−ｍを制御する。
【００５３】
また、比較制御部５００は、カウント部６００へカウント指示信号１１１５を出力する。カウント指示信号１１１５は、リセット、又は、カウントアップを表す信号である。比較制御部５００は、カウント部６００に、第１のラッチデータ（ａ）１１１１と第２のラッチデータ（ｂ）１１１２とが連続して一致する回数を計数させる。そして、比較制御部５００は、計数された回数が、予め設定された閾値回数Ｔ（Ｔは、１以上の整数）以上となった場合、第１のラッチデータと第２のラッチデータとが一致していると判定する。
【００５４】
カウント部６００は、比較制御部５００からのカウント指示信号１１１５を受け付ける。カウント部６００は、カウント値を記憶する。カウント部６００は、リセットを表すカウント指示信号１１１５を受け付けた場合、記憶しているカウント値を初期値（本例では、「０」）に設定する。カウント部６００は、カウントアップを表すカウント指示信号１１１５を受け付けた場合、記憶しているカウント値を、当該カウント値に「１」を加算した値に更新する。カウント部６００は、記憶しているカウント値（ｃ）１１１６を比較制御部５００へ出力する。
【００５５】
ここで、遅延調整部３００−０について、より詳細に説明する。
遅延調整部３００−０は、第１の遅延処理部（第１の遅延処理手段）７００−０と、第２の遅延処理部（第２の遅延処理手段）７００−１と、オフセット値設定部８００と、第１のラッチ処理部（第１のラッチ処理手段）９００−０と、第２のラッチ処理部（第２のラッチ処理手段）９００−１と、選択部（データ出力手段）１０００と、を備える。
【００５６】
第１の遅延処理部７００−０は、切替部４００を経由した比較制御部５００からの遅延量制御信号１１０５−０を受け付ける。第１の遅延処理部７００−０は、入力データ信号１１０１−０が入力される。
【００５７】
第１の遅延処理部７００−０は、図８の（ａ）及び（ｂ）に示したように、入力データ信号１１０１−０を、遅延量制御信号１１０５−０が表す遅延量（第１の遅延量）ｄだけ遅延させた第１の遅延データ信号１１０２を、第２の遅延処理部７００−１、及び、第１のラッチ処理部９００−０のそれぞれへ出力する。
【００５８】
第２の遅延処理部７００−１は、第１の遅延データ信号１１０２が入力される。第２の遅延処理部７００−１は、オフセット値設定部８００からのオフセット遅延設定信号１１０３を受け付ける。オフセット遅延設定信号１１０３は、予め設定されたオフセット遅延量を表す信号である。本例では、オフセット遅延量は、正の値である。
【００５９】
第２の遅延処理部７００−１は、図８の（ｂ）及び（ｃ）に示したように、第１の遅延データ信号１１０２を、オフセット遅延設定信号１１０３が表すオフセット遅延量ｏｄだけ遅延させた第２の遅延データ信号１１０４を第２のラッチ処理部９００−１へ出力する。なお、本明細書においては、第１の遅延量にオフセット遅延量を加えた遅延量は、第２の遅延量とも呼ばれる。また、本例では、オフセット遅延量が正の値であるから、第２の遅延量は、第１の遅延量よりもオフセット遅延量だけ大きい、と言うことができる。
【００６０】
オフセット値設定部８００は、予め設定されたオフセット遅延量ｏｄを保持（記憶）している。オフセット値設定部８００は、保持しているオフセット遅延量ｏｄを表すオフセット遅延設定信号１１０３を第２の遅延処理部７００−１へ出力する。
【００６１】
第１のラッチ処理部９００−０は、フリップフロップを備える。第１のラッチ処理部９００−０は、第１の遅延データ信号１１０２とクロック信号１１００とが入力される。第１のラッチ処理部９００−０は、図８の（ｂ）、（ｄ）及び（ｅ）に示したように、第１の遅延データ信号１１０２をクロック信号１１００に同期してラッチすることにより第１のラッチデータを取得し、取得した第１のラッチデータ（Ａ）１１０６−０を、切替部４００、及び、選択部１０００のそれぞれへ出力する。本例では、第１のラッチ処理部９００−０は、第１の遅延データ信号１１０２を、クロック信号１１００の立ち上がりエッジにてラッチする。
【００６２】
第２のラッチ処理部９００−１は、フリップフロップを備える。第２のラッチ処理部９００−１は、第２の遅延データ信号１１０４とクロック信号１１００とが入力される。第２のラッチ処理部９００−１は、図８の（ｃ）、（ｄ）及び（ｆ）に示したように、第２の遅延データ信号１１０４をクロック信号１１００に同期してラッチすることにより第２のラッチデータを取得し、取得した第２のラッチデータ（Ｂ）１１０７−０を、切替部４００、及び、選択部１０００のそれぞれへ出力する。本例では、第２のラッチ処理部９００−１は、第２の遅延データ信号１１０４を、クロック信号１１００の立ち上がりエッジにてラッチする。
【００６３】
選択部１０００は、図８の（ｇ）に示したように、切替部４００を経由した比較制御部５００からの出力データ選択信号１１０８−０に従って、第１のラッチデータ（Ａ）１１０６−０、及び、第２のラッチデータ（Ｂ）１１０７−０のいずれか一方を、出力データ（Ｃ）１１０９−０として処理部１０３へ出力する。
【００６４】
なお、遅延調整部３００−１〜３００−ｍも、遅延調整部３００−０と同様の構成を有する。即ち、受信インタフェース部２００は、複数の入力データ信号１１０１−０〜１１０１−ｍのそれぞれに対して、第１の遅延処理部７００−０、第２の遅延処理部７００−１、第１のラッチ処理部９００−０、及び、第２のラッチ処理部９００−１、を備えている、と言うことができる。
【００６５】
（作動）
次に、図９〜図１２を参照しながら、受信インタフェース部２００の作動について説明する。図９は、比較制御部５００の作動を示したフローチャートである。図１０〜図１２は、受信インタフェース部２００内の信号及びデータを示したタイムチャートである。
【００６６】
先ず、比較制御部５００は、第１の遅延量ｄを予め設定された初期遅延量（第１の遅延量の初期値、第２の判定用遅延量）ｖに設定する（図９のステップ１５００）。そして、比較制御部５００は、当該第１の遅延量ｄを表す遅延量制御信号１１１０を、遅延調整部３００−０〜３００−ｍのそれぞれへ出力する。これにより、各遅延調整部３００−０〜３００−ｍの第１の遅延処理部７００−０に、第１の遅延量ｄ（＝ｖ）が設定される。
【００６７】
次に、比較制御部５００は、入力データ信号１１０１−０を特定するためのデータビット選択信号１１１４を切替部４００へ出力する。これにより、比較制御部５００が、次にデータビット選択信号１１１４を切替部４００へ出力するまでの間、比較制御部５００は、遅延調整部３００−０へ、遅延量制御信号１１１０及び出力データ選択信号１１１３を出力するとともに、遅延調整部３００−０から、第１のラッチデータ（ａ）１１１１及び第２のラッチデータ（ｂ）１１１２を受け付ける。
【００６８】
比較制御部５００は、カレントポイントにて、受け付けた第１のラッチデータ（ａ）１１１１及び第２のラッチデータ（ｂ）１１１２が一致しているか否かを判定する（図９のステップ１５０１）。ここで、カレントポイントは、第１の遅延量ｄが第２の判定用遅延量（即ち、初期遅延量ｖ）に設定されている状態を表す。
【００６９】
比較制御部５００は、受け付けた第１のラッチデータ（ａ）１１１１及び第２のラッチデータ（ｂ）１１１２が一致していないと判定した場合、カレントポイント値ｙを「０」に設定する（図９のステップ１５０４）。
【００７０】
ここで、カレントポイント値ｙは、カレントポイントにて、正しくデータをラッチできたか否かを表す値であり、「０」である場合には正しくデータをラッチできなかった旨を表し、一方、「１」である場合には正しくデータをラッチできた旨を表す。
そして、比較制御部５００は、ステップ１５０６へ進む。
【００７１】
また、比較制御部５００は、受け付けた第１のラッチデータ（ａ）１１１１及び第２のラッチデータ（ｂ）１１１２が一致していると判定した場合、カウント部６００からカウント値（ｃ）１１１６を受け付ける。そして、比較制御部５００は、カウント値ｃが、予め設定された閾値回数Ｔよりも小さいか否かを判定する（図９のステップ１５０２）。
【００７２】
比較制御部５００は、カウント値ｃが閾値回数Ｔよりも小さい場合、カウント部６００へ、カウントアップを表すカウント指示信号１１１５を出力する（図９のステップ１５０３）。そして、比較制御部５００は、ステップ１５０１へ戻る。一方、比較制御部５００は、カウント値ｃが閾値回数Ｔ以上である場合、カレントポイント値ｙを「１」に設定する（図９のステップ１５０５）。
そして、比較制御部５００は、ステップ１５０６へ進む。
【００７３】
このように、比較制御部５００は、第１のラッチデータ（ａ）１１１１と、第２のラッチデータ（ｂ）１１１２と、が連続して一致する回数（カウント値ｃ）が、閾値回数Ｔ以上となった場合に初めて、第１のラッチデータ（ａ）１１１１と、第２のラッチデータ（ｂ）１１１２と、が一致していると判定している。即ち、比較制御部５００は、第１のラッチデータ（ａ）１１１１と、第２のラッチデータ（ｂ）１１１２と、が安定して一致しているか否かを判定している。
【００７４】
次に、比較制御部５００は、第１のラッチデータＡを特定するための出力データ選択信号１１１３を、切替部４００を経由させて遅延調整部３００−０へ出力する。これにより、遅延調整部３００−０の選択部１０００は、第１のラッチデータ（Ａ）１１０６−０を出力データ（Ｃ）１１０９−０として処理部１０３へ出力する。
【００７５】
後述するように、第１の遅延量ｄは、第２の判定用遅延量（ｖ）よりも大きい第１の判定用遅延量（ｖ＋Ｔｓ）に設定される。従って、セットアップタイムのマージンは、減少する。また、第２の遅延データ信号１１０４は、第１の遅延データ信号１１０２よりも遅延量が大きい。
【００７６】
従って、セットアップタイムのマージンがより大きい第１の遅延データ信号１１０２をラッチした第１のラッチデータ（Ａ）１１０６−０を出力することにより、出力データ（Ｃ）１１０９−０を、入力データ信号１１０１−０が表す真のデータに一致させることができる。
【００７７】
次いで、比較制御部５００は、リセットを表すカウント指示信号１１１５をカウント部６００へ出力する。これにより、カウント部６００は、記憶しているカウント値を「０」に設定する。
【００７８】
そして、比較制御部５００は、現時点の第１の遅延量ｄ（＝ｖ）に、予め設定されたセットアップタイムＴｓを加えた値（ｄ＋Ｔｓ）に、第１の遅延量ｄを設定する（図９のステップ１５０６）。なお、この時点にて設定された第１の遅延量ｄ（＝ｖ＋Ｔｓ）は、第１の判定用遅延量とも呼ばれる。
【００７９】
そして、比較制御部５００は、当該第１の遅延量ｄを表す遅延量制御信号１１１０を、選択された入力データ信号１１０１−０に対する遅延調整部３００−０へ出力する。これにより、遅延調整部３００−０の第１の遅延処理部７００−０に、第１の遅延量ｄ（＝ｖ＋Ｔｓ）が設定される。
【００８０】
ここで、図１０は、カレントポイント、セットアップポイント、及び、後述するホールドポイントにおける、第１の遅延データ信号１１０２、及び、第２の遅延データ信号１１０４を示したタイムチャートである。セットアップポイントは、第１の遅延量ｄが第１の判定用遅延量（ｖ＋Ｔｓ）に設定されている状態を表す。ホールドポイントは、第１の遅延量ｄが第３の判定用遅延量（ｖ−Ｔｈ）に設定されている状態を表す。
【００８１】
即ち、図９のステップ１５０６の処理を行うことにより、第１の遅延データ信号１１０２、及び、第２の遅延データ信号１１０４のそれぞれに対するラッチ点（クロックエッジ、本例では、クロック信号の立ち上がりエッジ）が移動している、と言うことができる。
【００８２】
このようにして、遅延調整部３００−０は、第１の遅延量が第１の判定用遅延量に設定されている間、第１のラッチデータ１１０６−０を出力データ１１０９−０として出力する。
【００８３】
そして、比較制御部５００は、カレントポイントと同様に、セットアップポイントにて、受け付けた第１のラッチデータ（ａ）１１１１及び第２のラッチデータ（ｂ）１１１２が一致しているか否かを判定する（図９のステップ１５０７〜１５０９）。
【００８４】
比較制御部５００は、受け付けた第１のラッチデータ（ａ）１１１１及び第２のラッチデータ（ｂ）１１１２が一致していないと判定した場合、セットアップポイント値ｘを「０」に設定する（図９のステップ１５１０）。
【００８５】
ここで、セットアップポイント値ｘは、セットアップポイントにて、正しくデータをラッチできたか否かを表す値であり、「０」である場合には正しくデータをラッチできなかった旨を表し、一方、「１」である場合には正しくデータをラッチできた旨を表す。
そして、比較制御部５００は、ステップ１５１２へ進む。
【００８６】
また、比較制御部５００は、第１のラッチデータ（ａ）１１１１と、第２のラッチデータ（ｂ）１１１２と、が連続して一致する回数（カウント値ｃ）が、閾値回数Ｔ以上となった場合、第１のラッチデータ（ａ）１１１１と、第２のラッチデータ（ｂ）１１１２と、が一致していると判定し、セットアップポイント値ｘを「１」に設定する（図９のステップ１５１１）。
そして、比較制御部５００は、ステップ１５１２へ進む。
【００８７】
次に、比較制御部５００は、第１のラッチデータＡを特定するための出力データ選択信号１１１３を、切替部４００を経由させて遅延調整部３００−０へ出力する。これにより、遅延調整部３００−０の選択部１０００は、第１のラッチデータ（Ａ）１１０６−０を出力データ（Ｃ）１１０９−０として処理部１０３へ出力する。
【００８８】
そして、比較制御部５００は、現時点の第１の遅延量ｄ（＝ｖ＋Ｔｓ）に、セットアップタイムＴｓを減じた値（ｄ−Ｔｓ）に、第１の遅延量ｄを設定する。そして、比較制御部５００は、当該第１の遅延量ｄを表す遅延量制御信号１１１０を、選択された入力データ信号１１０１−０に対する遅延調整部３００−０へ出力する。これにより、遅延調整部３００−０の第１の遅延処理部７００−０に、第１の遅延量ｄ（＝ｖ）が設定される。
【００８９】
次いで、比較制御部５００は、リセットを表すカウント指示信号１１１５をカウント部６００へ出力する。これにより、カウント部６００は、記憶しているカウント値を「０」に設定する。
【００９０】
次に、比較制御部５００は、第２のラッチデータＢを特定するための出力データ選択信号１１１３を、切替部４００を経由させて遅延調整部３００−０へ出力する。これにより、遅延調整部３００−０の選択部１０００は、第２のラッチデータ（Ｂ）１１０７−０を出力データ（Ｃ）１１０９−０として処理部１０３へ出力する。
【００９１】
後述するように、第１の遅延量ｄは、第２の判定用遅延量（ｖ）よりも小さい第３の判定用遅延量（ｖ−Ｔｈ）に設定される。従って、ホールドタイムのマージンは、減少する。また、第２の遅延データ信号１１０４は、第１の遅延データ信号１１０２よりも遅延量が大きい。
【００９２】
従って、ホールドタイムのマージンがより大きい第２の遅延データ信号１１０４をラッチした第２のラッチデータ（Ｂ）１１０７−０を出力することにより、出力データ（Ｃ）１１０９−０を、入力データ信号１１０１−０が表す真のデータに一致させることができる。
【００９３】
そして、比較制御部５００は、現時点の第１の遅延量ｄ（＝ｖ）に、予め設定されたホールドタイムＴｈを減じた値（ｄ−Ｔｈ）に、第１の遅延量ｄを設定する（図９のステップ１５１２）。なお、この時点にて設定された第１の遅延量ｄ（＝ｖ−Ｔｈ）は、第３の判定用遅延量とも呼ばれる。
【００９４】
そして、比較制御部５００は、当該第１の遅延量ｄを表す遅延量制御信号１１１０を、選択された入力データ信号１１０１−０に対する遅延調整部３００−０へ出力する。これにより、遅延調整部３００−０の第１の遅延処理部７００−０に、第１の遅延量ｄ（＝ｖ−Ｔｈ）が設定される。
【００９５】
図１０に示したように、図９のステップ１５１２の処理を行うことにより、第１の遅延データ信号１１０２、及び、第２の遅延データ信号１１０４のそれぞれに対するラッチ点（クロックエッジ、本例では、クロック信号の立ち上がりエッジ）が移動している、と言うことができる。
【００９６】
このようにして、遅延調整部３００−０は、第１の遅延量が第３の判定用遅延量に設定されている間、第２のラッチデータ１１０７−０を出力データ１１０９−０として出力する。
【００９７】
そして、比較制御部５００は、カレントポイントと同様に、ホールドポイントにて、受け付けた第１のラッチデータ（ａ）１１１１及び第２のラッチデータ（ｂ）１１１２が一致しているか否かを判定する（図９のステップ１５１３〜１５１５）。
【００９８】
比較制御部５００は、受け付けた第１のラッチデータ（ａ）１１１１及び第２のラッチデータ（ｂ）１１１２が一致していないと判定した場合、ホールドポイント値ｚを「０」に設定する（図９のステップ１５１６）。
【００９９】
ここで、ホールドポイント値ｚは、ホールドポイントにて、正しくデータをラッチできたか否かを表す値であり、「０」である場合には正しくデータをラッチできなかった旨を表し、一方、「１」である場合には正しくデータをラッチできた旨を表す。
そして、比較制御部５００は、ステップ１５１８へ進む。
【０１００】
また、比較制御部５００は、第１のラッチデータ（ａ）１１１１と、第２のラッチデータ（ｂ）１１１２と、が連続して一致する回数（カウント値ｃ）が、閾値回数Ｔ以上となった場合、第１のラッチデータ（ａ）１１１１と、第２のラッチデータ（ｂ）１１１２と、が一致していると判定し、ホールドポイント値ｚを「１」に設定する（図９のステップ１５１７）。
そして、比較制御部５００は、ステップ１５１８へ進む。
【０１０１】
次に、比較制御部５００は、第１の判定用遅延量、第２の判定用遅延量、及び、第３の判定用遅延量からなる複数の判定用遅延量のそれぞれに対する、上記判定結果（セットアップポイント値ｘ、カレントポイント値ｙ、及び、ホールドポイント値ｚ）に基づいて、遅延量を調整する。
【０１０２】
具体的には、比較制御部５００は、セットアップポイント値ｘ、カレントポイント値ｙ、及び、ホールドポイント値ｚに基づいてポイント値ｘｙｚを取得する。ポイント値ｘｙｚは、セットアップポイント値ｘ、カレントポイント値ｙ、及び、ホールドポイント値ｚを、この順に並べて連結したデータ列（即ち、３つのビット列）である。
【０１０３】
そして、比較制御部５００は、ポイント値ｘｙｚが、「０００」、「００１」、「０１１」、又は、「１０１」であるか否かを判定する（図９のステップ１５１８）。なお、ポイント値ｘｙｚが「０００」であることは、ｘ＝０、ｙ＝０、且つ、ｚ＝０であることに対応している。また、ポイント値ｘｙｚが「００１」であることは、ｘ＝０、ｙ＝０、且つ、ｚ＝１であることに対応している。また、ポイント値ｘｙｚが「０１１」であることは、ｘ＝０、ｙ＝１、且つ、ｚ＝１であることに対応している。また、ポイント値ｘｙｚが「１０１」であることは、ｘ＝１、ｙ＝０、且つ、ｚ＝１であることに対応している。
【０１０４】
ポイント値ｘｙｚが、「０００」、「００１」、「０１１」、又は、「１０１」である場合、比較制御部５００は、遅延量ｄが過大であると判断する。そして、比較制御部５００は、第１のラッチデータＡを特定するための出力データ選択信号１１１３を、切替部４００を経由させて遅延調整部３００−０へ出力する。これにより、遅延調整部３００−０の選択部１０００は、第１のラッチデータ（Ａ）１１０６−０を出力データ（Ｃ）１１０９−０として処理部１０３へ出力する。
【０１０５】
この状態においては、セットアップタイムのマージンが不足している可能性が比較的高い。また、第２の遅延データ信号１１０４は、第１の遅延データ信号１１０２よりも遅延量が大きい。
【０１０６】
従って、セットアップタイムのマージンがより大きい第１の遅延データ信号１１０２をラッチした第１のラッチデータ（Ａ）１１０６−０を出力することにより、出力データ（Ｃ）１１０９−０を、入力データ信号１１０１−０が表す真のデータに一致させることができる。
【０１０７】
そして、比較制御部５００は、現時点の第１の遅延量ｄ（＝ｖ−Ｔｈ）に、ホールドタイムＴｈを加えるとともに予め設定された補正遅延量ｗを減じた値（ｄ＋Ｔｈ−ｗ）に、第１の遅延量ｄを設定する（図９のステップ１５２０）。なお、この時点にて設定された第１の遅延量ｄ（＝ｖ−ｗ）は、第１の制御遅延量とも呼ばれる。
【０１０８】
このように、比較制御部５００は、第１の判定用遅延量に対して第１のラッチデータ１１１１と第２のラッチデータ１１１２とが一致していないと判定した場合、第１の制御遅延量を、第２の判定用遅延量（ｖ）よりも小さい遅延量（ｖ−ｗ）に設定している、と言うことができる。これによれば、セットアップタイム及びホールドタイムのマージンをより一層確実に確保することができる。
【０１０９】
そして、比較制御部５００は、当該第１の遅延量ｄを表す遅延量制御信号１１１０を、選択された入力データ信号１１０１−０に対する遅延調整部３００−０へ出力する。これにより、遅延調整部３００−０の第１の遅延処理部７００−０に、第１の遅延量ｄ（＝ｖ−ｗ）が設定される。
【０１１０】
このように、遅延調整部３００−０は、第１の判定用遅延量に対して第１のラッチデータ１１１１と第２のラッチデータ１１１２とが一致していないと判定された場合、第１の遅延量が第１の制御遅延量に設定された時点以降において第１のラッチデータ１１０６−０を出力データ１１０９−０として出力する。
【０１１１】
また、ポイント値ｘｙｚが、「０００」、「００１」、「０１１」、及び、「１０１」のいずれでもない場合、比較制御部５００は、ポイント値ｘｙｚが、「１００」、又は、「１１０」であるか否かを判定する（図９のステップ１５１９）。なお、ポイント値ｘｙｚが「１００」であることは、ｘ＝１、ｙ＝０、且つ、ｚ＝０であることに対応している。また、ポイント値ｘｙｚが「１１０」であることは、ｘ＝１、ｙ＝１、且つ、ｚ＝０であることに対応している。
【０１１２】
ポイント値ｘｙｚが、「１００」、又は、「１１０」である場合、比較制御部５００は、遅延量ｄが過小であると判断する。そして、比較制御部５００は、第２のラッチデータＢを特定するための出力データ選択信号１１１３を、切替部４００を経由させて遅延調整部３００−０へ出力する。これにより、遅延調整部３００−０の選択部１０００は、第２のラッチデータ（Ｂ）１１０７−０を出力データ（Ｃ）１１０９−０として処理部１０３へ出力する。
【０１１３】
この状態においては、ホールドタイムのマージンが不足している可能性が比較的高い。また、第２の遅延データ信号１１０４は、第１の遅延データ信号１１０２よりも遅延量が大きい。
【０１１４】
従って、ホールドタイムのマージンがより大きい第２の遅延データ信号１１０４をラッチした第２のラッチデータ（Ｂ）１１０７−０を出力することにより、出力データ（Ｃ）１１０９−０を、入力データ信号１１０１−０が表す真のデータに一致させることができる。
【０１１５】
そして、比較制御部５００は、現時点の第１の遅延量ｄ（＝ｖ−Ｔｈ）に、ホールドタイムＴｈを加えるとともに予め設定された補正遅延量ｗを加えた値（ｄ＋Ｔｈ＋ｗ）に、第１の遅延量ｄを設定する（図９のステップ１５２１）。なお、この時点にて設定された第１の遅延量ｄ（＝ｖ＋ｗ）は、第１の制御遅延量とも呼ばれる。
【０１１６】
このように、比較制御部５００は、第３の判定用遅延量に対して第１のラッチデータ１１１１と第２のラッチデータ１１１２とが一致していないと判定した場合、第１の制御遅延量を、第２の判定用遅延量（ｖ）よりも大きい遅延量（ｖ＋ｗ）に設定している、と言うことができる。これによれば、セットアップタイム及びホールドタイムのマージンをより一層確実に確保することができる。
【０１１７】
そして、比較制御部５００は、当該第１の遅延量ｄを表す遅延量制御信号１１１０を、選択された入力データ信号１１０１−０に対する遅延調整部３００−０へ出力する。これにより、遅延調整部３００−０の第１の遅延処理部７００−０に、第１の遅延量ｄ（＝ｖ＋ｗ）が設定される。
【０１１８】
このように、遅延調整部３００−０は、第３の判定用遅延量に対して第１のラッチデータ１１１１と第２のラッチデータ１１１２とが一致していないと判定された場合、第１の遅延量が第１の制御遅延量に設定された時点以降において第２のラッチデータ１１０７−０を出力データ１１０９−０として出力する。
【０１１９】
また、ポイント値ｘｙｚが、「０００」、「００１」、「０１１」、「１０１」、「１００」、及び、「１１０」のいずれでもない場合、比較制御部５００は、遅延量ｄが適切な大きさであると判断する。そして、比較制御部５００は、第１のラッチデータＡを特定するための出力データ選択信号１１１３を、切替部４００を経由させて遅延調整部３００−０へ出力する。これにより、遅延調整部３００−０の選択部１０００は、第１のラッチデータ（Ａ）１１０６−０を出力データ（Ｃ）１１０９−０として処理部１０３へ出力する。
【０１２０】
そして、比較制御部５００は、現時点の第１の遅延量ｄ（＝ｖ−Ｔｈ）に、ホールドタイムＴｈを加えた値（ｄ＋Ｔｈ）に、第１の遅延量ｄを設定する（図９のステップ１５２２）。なお、この時点にて設定された第１の遅延量ｄ（＝ｖ）は、第１の制御遅延量とも呼ばれる。
【０１２１】
そして、比較制御部５００は、当該第１の遅延量ｄを表す遅延量制御信号１１１０を、選択された入力データ信号１１０１−０に対する遅延調整部３００−０へ出力する。これにより、遅延調整部３００−０の第１の遅延処理部７００−０に、第１の遅延量ｄ（＝ｖ）が設定される。
【０１２２】
図１１は、ポイント値ｘｙｚが「１１０」である場合において、カレントポイント、セットアップポイント、及び、ホールドポイントにおける、第１の遅延データ信号１１０２、及び、第２の遅延データ信号１１０４を示したタイムチャートである。
【０１２３】
図１１の（Ａ）は、第１の遅延量を調整する前（即ち、図９のステップ１５１６の直後）のタイムチャートである。図１１の（Ｂ）は、第１の遅延量を調整した後（即ち、図９のステップ１５２１の直後）のタイムチャートである。
【０１２４】
図１１の（Ａ）に示したように、第１の遅延量を調整する前の時点では、セットアップポイント、及び、カレントポイントにおけるラッチ点１４００は、第１の遅延データ信号及び第２の遅延データ信号におけるデータ間の境界（変化点）と十分に離れている。一方、ホールドポイントにおけるラッチ点１４００は、第１の遅延データ信号におけるデータ間の境界（変化点）と過度に近い。
【０１２５】
これに対し、第１の遅延量を調整した後の時点では、比較制御部５００が、補正遅延量ｗだけ第１の遅延量ｄを増加させたことにより、図１１の（Ｂ）に示したように、セットアップポイント、ホールドポイント、及び、カレントポイントのいずれにおいても、ラッチ点１４００は、第１の遅延データ信号及び第２の遅延データ信号におけるデータ間の境界（変化点）と十分に離れている。即ち、この時点では、セットアップタイム及びホールドタイムのマージンが十分に確保されている。
【０１２６】
また、図１２は、ポイント値ｘｙｚが「０１１」である場合において、カレントポイント、セットアップポイント、及び、ホールドポイントにおける、第１の遅延データ信号１１０２、及び、第２の遅延データ信号１１０４を示したタイムチャートである。
【０１２７】
図１２の（Ａ）は、第１の遅延量を調整する前（即ち、図９のステップ１５１７の直後）のタイムチャートである。図１２の（Ｂ）は、第１の遅延量を調整した後（即ち、図９のステップ１５２０の直後）のタイムチャートである。
【０１２８】
図１２の（Ａ）に示したように、第１の遅延量を調整する前の時点では、ホールドポイント、及び、カレントポイントにおけるラッチ点１４００は、第１の遅延データ信号及び第２の遅延データ信号におけるデータ間の境界（変化点）と十分に離れている。一方、セットアップポイントにおけるラッチ点１４００は、第２の遅延データ信号におけるデータ間の境界（変化点）と過度に近い。
【０１２９】
これに対し、第１の遅延量を調整した後の時点では、比較制御部５００が、補正遅延量ｗだけ第１の遅延量ｄを減少させたことにより、図１２の（Ｂ）に示したように、セットアップポイント、ホールドポイント、及び、カレントポイントのいずれにおいても、ラッチ点１４００は、第１の遅延データ信号及び第２の遅延データ信号におけるデータ間の境界（変化点）と十分に離れている。即ち、この時点では、セットアップタイム及びホールドタイムのマージンが十分に確保されている。
【０１３０】
そして、比較制御部５００は、ステップ１５０１〜ステップ１５２２の処理を実行した後、次の入力データ信号１１０１−１に対する処理を行うため、入力データ信号１１０１−１を特定するためのデータビット選択信号１１１４を切替部４００へ出力する（図９のステップ１５２３）。
【０１３１】
このようにして、比較制御部５００は、ステップ１５０１〜ステップ１５２３の処理を、複数の入力データ信号１１０１−０〜１１０１−ｍのそれぞれに対して順に実行する。これにより、複数の入力データ信号１１０１−０〜１１０１−ｍのそれぞれに対して、入力データ信号１１０１−０〜１１０１−ｍとクロック信号１１００との間の位相差が調整される。
【０１３２】
これによれば、複数の入力データ信号１１０１−０〜１１０１−ｍのそれぞれに対して、比較制御部５００を設ける場合と比較して、受信インタフェース部２００の大きさを小さくすることができる。
【０１３３】
また、選択部１０００により出力される出力データが適切に選択されるので、受信インタフェース部２００を運用中であっても、位相差を調整することができる。
【０１３４】
このようにして、比較制御部５００は、第１の遅延量ｄを、互いに異なる複数の判定用遅延量（第１の判定用遅延量（ｖ＋Ｔｓ）、第２の判定用遅延量（ｖ）、及び、第３の判定用遅延量（ｖ−Ｔｈ））のそれぞれに設定する。
【０１３５】
そして、比較制御部５００は、複数の判定用遅延量のそれぞれに対して、第１のラッチデータ１１１１と第２のラッチデータ１１１２とが一致しているか否かを判定する。更に、比較制御部５００は、当該判定結果に基づいて、当該第１のラッチデータと当該第２のラッチデータとを一致させるように、第１の遅延量ｄを第１の制御遅延量に設定する。
【０１３６】
なお、比較制御部５００は、第１の遅延量ｄを第１の制御遅延量に設定することにより、第２の遅延量を、第１の制御遅延量よりもオフセット遅延量ｏｄだけ大きい第２の制御遅延量に設定している、と言うことができる。
【０１３７】
また、上記実施形態においては、ポイント値ｘｙｚが「０００」又は「１０１」であるという条件を、図９のステップ１５１８における判定条件が含むが、ステップ１５１８に代えてステップ１５１９における判定条件が含んでいてもよい。即ち、ラッチデータの比較結果がすべて一致しない（「０００」）場合、及び、カレントポイント以外にて一致する（「１０１」）場合に、遅延量を、減少させることに代えて、増加させてもよい。
【０１３８】
以上、説明したように、本発明の第１実施形態に係るデジタル信号処理回路（受信インタフェース部２００）によれば、ラッチデータ（第１のラッチデータ、及び、第２のラッチデータ）は、同一のクロック信号１１００に同期して取得される。従って、第１のラッチデータ１１１１と第２のラッチデータ１１１２とが一致しているか否かを判定した結果が、判定を行うタイミング（判定タイミング）に応じて異なることを防止することができる。この結果、セットアップタイム及びホールドタイムのマージン（余裕量）を十分に確保することができる。更に、上記構成によれば、ラッチ処理部の数を比較的少なく（具体的には、２つに）することができる。
【０１３９】
＜第２実施形態＞
次に、本発明の第２実施形態に係るデジタル信号処理回路について説明する。第２実施形態に係るデジタル信号処理回路は、上記第１実施形態に係るデジタル信号処理回路に対して、第１のラッチデータと第２のラッチデータとが一致していると判定される範囲における第１の遅延量の上限値と、当該範囲における第１の遅延量の下限値と、を特定し、当該特定した上限値及び下限値に基づいて第１の制御遅延量を決定する点において相違している。従って、以下、かかる相違点を中心として説明する。
【０１４０】
図１３は、比較制御部５００の作動を示したフローチャートである。図１４及び図１５は、第１の遅延データ信号及び第２の遅延データ信号の、比較制御部５００の作動に伴う変化を示したタイムチャートである。
【０１４１】
先ず、比較制御部５００は、第１の遅延量ｄを予め設定された初期遅延量（第１の遅延量の初期値、第２の判定用遅延量）ｖに設定する（図１３のステップ１６００）。そして、比較制御部５００は、当該第１の遅延量ｄを表す遅延量制御信号１１１０を、遅延調整部３００−０〜３００−ｍのそれぞれへ出力する。これにより、各遅延調整部３００−０〜３００−ｍの第１の遅延処理部７００−０に、第１の遅延量ｄ（＝ｖ）が設定される。
【０１４２】
次に、比較制御部５００は、入力データ信号１１０１−０を特定するためのデータビット選択信号１１１４を切替部４００へ出力する。これにより、比較制御部５００が、次にデータビット選択信号１１１４を切替部４００へ出力するまでの間、比較制御部５００は、遅延調整部３００−０へ、遅延量制御信号１１１０及び出力データ選択信号１１１３を出力するとともに、遅延調整部３００−０から、第１のラッチデータ（ａ）１１１１及び第２のラッチデータ（ｂ）１１１２を受け付ける。
【０１４３】
次いで、比較制御部５００は、受け付けた第１のラッチデータ（ａ）１１１１及び第２のラッチデータ（ｂ）１１１２が一致しているか否かを判定する（図１３のステップ１６０１）。
【０１４４】
いま、図１４の（Ａ）に示したように、ラッチ点１７０２における、第１の遅延データ信号及び第２の遅延データ信号が相違している場合を想定する。この場合、比較制御部５００は、受け付けた第１のラッチデータ（ａ）１１１１及び第２のラッチデータ（ｂ）１１１２が一致していないと判定する。
【０１４５】
そして、比較制御部５００は、第１のラッチデータＡを特定するための出力データ選択信号１１１３を、切替部４００を経由させて遅延調整部３００−０へ出力する。これにより、遅延調整部３００−０の選択部１０００は、第１のラッチデータ（Ａ）１１０６−０を出力データ（Ｃ）１１０９−０として処理部１０３へ出力する。
【０１４６】
次いで、比較制御部５００は、リセットを表すカウント指示信号１１１５をカウント部６００へ出力する。これにより、カウント部６００は、記憶しているカウント値を「０」に設定する。
【０１４７】
そして、比較制御部５００は、現時点の第１の遅延量ｄ（＝ｖ）に、予め設定された補正遅延量ｗを加えた値（ｄ＋ｗ）に、第１の遅延量ｄを設定する（図１３のステップ１６０４）。
【０１４８】
そして、比較制御部５００は、当該第１の遅延量ｄを表す遅延量制御信号１１１０を、選択された入力データ信号１１０１−０に対する遅延調整部３００−０へ出力する。これにより、遅延調整部３００−０の第１の遅延処理部７００−０に、第１の遅延量ｄ（＝ｖ＋ｗ）が設定される。そして、比較制御部５００は、ステップ１６０１へ戻る。
【０１４９】
その後、図１４の（Ｂ）に示したように、ラッチ点１７０３における、第１の遅延データ信号及び第２の遅延データ信号が一致した場合を想定する。この場合、比較制御部５００は、図１３のステップ１６０１にて、受け付けた第１のラッチデータ（ａ）１１１１及び第２のラッチデータ（ｂ）１１１２が一致していると判定する。
【０１５０】
次いで、比較制御部５００は、カウント部６００からカウント値（ｃ）１１１６を受け付ける。そして、比較制御部５００は、カウント値ｃが、予め設定された閾値回数Ｔよりも小さいか否かを判定する（図１３のステップ１６０２）。
【０１５１】
比較制御部５００は、カウント値ｃが閾値回数Ｔよりも小さい場合、カウント部６００へ、カウントアップを表すカウント指示信号１１１５を出力する（図１３のステップ１６０３）。そして、比較制御部５００は、ステップ１６０１へ戻る。
【０１５２】
その後、カウント値ｃが閾値回数Ｔ以上となると、比較制御部５００は、第１のラッチデータ（ａ）１１１１と、第２のラッチデータ（ｂ）１１１２と、が安定して一致していると判定し、リセットを表すカウント指示信号１１１５をカウント部６００へ出力する（図１３のステップ１６０５）。これにより、カウント部６００は、記憶しているカウント値を「０」に設定する。
【０１５３】
その後、比較制御部５００は、第１のラッチデータ１１１１と第２のラッチデータ１１１２とが一致していると判定される範囲における第１の遅延量の上限値ｕと、当該範囲における当該第１の遅延量の下限値ｒと、を特定する処理を行う。
【０１５４】
具体的には、先ず、比較制御部５００は、第１のラッチデータ１１１１と第２のラッチデータ１１１２とが一致していると判定される範囲における第１の遅延量の下限値ｒを特定する処理を行う。
【０１５５】
即ち、比較制御部５００は、受け付けた第１のラッチデータ（ａ）１１１１及び第２のラッチデータ（ｂ）１１１２が一致しているか否かを判定する（図１３のステップ１６０６〜１６０８）。そして、比較制御部５００は、第１のラッチデータ（ａ）１１１１と、第２のラッチデータ（ｂ）１１１２と、が連続して一致する回数（カウント値ｃ）が、閾値回数Ｔ以上となった場合、第１のラッチデータ（ａ）１１１１と、第２のラッチデータ（ｂ）１１１２と、が一致していると判定する。
【０１５６】
そして、比較制御部５００は、現時点の第１の遅延量（現遅延量）ｄを、下限値ｒとして記憶する。更に、比較制御部５００は、リセットを表すカウント指示信号１１１５をカウント部６００へ出力する。これにより、カウント部６００は、記憶しているカウント値を「０」に設定する。
【０１５７】
加えて、比較制御部５００は、第２のラッチデータＢを特定するための出力データ選択信号１１１３を、切替部４００を経由させて遅延調整部３００−０へ出力する。これにより、遅延調整部３００−０の選択部１０００は、第２のラッチデータ（Ｂ）１１０７−０を出力データ（Ｃ）１１０９−０として処理部１０３へ出力する。即ち、遅延調整部３００−０は、判定用遅延量としての第１の遅延量ｄが減少されている間、第２のラッチデータ１１０７−０を出力データ１１０９−０として出力する、と言うことができる。
【０１５８】
ところで、判定用遅延量が減少されることにより、ホールドタイムのマージンは、小さくなる。従って、判定用遅延量が減少されている間、第２のラッチデータ１１０７−０を出力することにより、出力データ１１０９−０を、入力データ信号１１０１−０が表す真のデータに一致させることができる。
【０１５９】
そして、比較制御部５００は、現時点の第１の遅延量ｄから上記補正遅延量ｗを減じた値（ｄ−ｗ）に、第１の遅延量ｄを設定する（図１３のステップ１６１０）。次いで、比較制御部５００は、当該第１の遅延量ｄを表す遅延量制御信号１１１０を、選択された入力データ信号１１０１−０に対する遅延調整部３００−０へ出力する。これにより、遅延調整部３００−０の第１の遅延処理部７００−０に、第１の遅延量ｄが設定される。そして、比較制御部５００は、ステップ１６０６へ戻る。
【０１６０】
このようにして、比較制御部５００は、第１のラッチデータ１１１１と第２のラッチデータ１１１２とが一致していると判定された時点（即ち、図１３のステップ１６０５の直後の時点）にて設定されている第１の遅延量から判定用遅延量としての第１の遅延量ｄを徐々に減少させる。
【０１６１】
その後、図１４の（Ｃ）に示したように、ラッチ点１７０４における、第１の遅延データ信号及び第２の遅延データ信号が一致しなくなった場合を想定する。この場合、比較制御部５００は、図１３のステップ１６０６にて、受け付けた第１のラッチデータ（ａ）１１１１及び第２のラッチデータ（ｂ）１１１２が一致していないと判定する。
【０１６２】
なお、この時点で比較制御部５００が記憶している下限値ｒは、ラッチ点１７０４に対応する第１の遅延量ｄよりも補正遅延量ｗだけ大きい遅延量である。
【０１６３】
このようにして、比較制御部５００は、判定用遅延量としての第１の遅延量ｄが減少されたことにより、第１のラッチデータ１１１１と第２のラッチデータ１１１２とが一致していないと最初に判定された時点にて設定されている第１の遅延量ｄに基づく値（当該第１の遅延量ｄよりも補正遅延量ｗだけ大きい値）を下限値ｒとして特定する、と言うことができる。
【０１６４】
そして、比較制御部５００は、リセットを表すカウント指示信号１１１５をカウント部６００へ出力する。これにより、カウント部６００は、記憶しているカウント値を「０」に設定する。そして、比較制御部５００は、現時点の第１の遅延量ｄに上記補正遅延量ｗを加えた値（ｄ＋ｗ）に、第１の遅延量ｄを設定する（図１３のステップ１６０９）。
【０１６５】
そして、比較制御部５００は、当該第１の遅延量ｄを表す遅延量制御信号１１１０を、選択された入力データ信号１１０１−０に対する遅延調整部３００−０へ出力する。これにより、遅延調整部３００−０の第１の遅延処理部７００−０に、第１の遅延量ｄが設定される。
【０１６６】
次に、比較制御部５００は、第１のラッチデータ１１１１と第２のラッチデータ１１１２とが一致していると判定される範囲における第１の遅延量の上限値ｕを特定する処理を行う。
【０１６７】
即ち、比較制御部５００は、受け付けた第１のラッチデータ（ａ）１１１１及び第２のラッチデータ（ｂ）１１１２が一致しているか否かを判定する（図１３のステップ１６１１〜１６１３）。そして、比較制御部５００は、第１のラッチデータ（ａ）１１１１と、第２のラッチデータ（ｂ）１１１２と、が連続して一致する回数（カウント値ｃ）が、閾値回数Ｔ以上となった場合、第１のラッチデータ（ａ）１１１１と、第２のラッチデータ（ｂ）１１１２と、が一致していると判定する。
【０１６８】
そして、比較制御部５００は、現時点の第１の遅延量（現遅延量）ｄを、上限値ｕとして記憶する。更に、比較制御部５００は、リセットを表すカウント指示信号１１１５をカウント部６００へ出力する。これにより、カウント部６００は、記憶しているカウント値を「０」に設定する。
【０１６９】
加えて、比較制御部５００は、第１のラッチデータＡを特定するための出力データ選択信号１１１３を、切替部４００を経由させて遅延調整部３００−０へ出力する。これにより、遅延調整部３００−０の選択部１０００は、第１のラッチデータ（Ａ）１１０６−０を出力データ（Ｃ）１１０９−０として処理部１０３へ出力する。即ち、遅延調整部３００−０は、判定用遅延量としての第１の遅延量ｄが増加されている間、第１のラッチデータ１１０６−０を出力データ１１０９−０として出力する、と言うことができる。
【０１７０】
ところで、判定用遅延量が増加されることにより、セットアップタイムのマージンは、小さくなる。従って、判定用遅延量が増加されている間、第１のラッチデータ１１０６−０を出力することにより、出力データ１１０９−０を、入力データ信号１１０１−０が表す真のデータに一致させることができる。
【０１７１】
そして、比較制御部５００は、現時点の第１の遅延量ｄに上記補正遅延量ｗを加えた値（ｄ＋ｗ）に、第１の遅延量ｄを設定する（図１３のステップ１６１４）。次いで、比較制御部５００は、当該第１の遅延量ｄを表す遅延量制御信号１１１０を、選択された入力データ信号１１０１−０に対する遅延調整部３００−０へ出力する。これにより、遅延調整部３００−０の第１の遅延処理部７００−０に、第１の遅延量ｄが設定される。そして、比較制御部５００は、ステップ１６１１へ戻る。
【０１７２】
このようにして、比較制御部５００は、第１のラッチデータ１１１１と第２のラッチデータ１１１２とが一致していると判定された時点（即ち、図１３のステップ１６１２の直後の時点）にて設定されている第１の遅延量から判定用遅延量としての第１の遅延量ｄを徐々に増加させる。
【０１７３】
その後、図１５の（Ｄ）に示したように、ラッチ点１７０７における、第１の遅延データ信号及び第２の遅延データ信号が一致しなくなった場合を想定する。この場合、比較制御部５００は、図１３のステップ１６１１にて、受け付けた第１のラッチデータ（ａ）１１１１及び第２のラッチデータ（ｂ）１１１２が一致していないと判定する。
【０１７４】
なお、この時点で比較制御部５００が記憶している上限値ｕは、ラッチ点１７０７に対応する第１の遅延量ｄよりも補正遅延量ｗだけ小さい遅延量である。
【０１７５】
このようにして、比較制御部５００は、判定用遅延量としての第１の遅延量ｄが増加されたことにより、第１のラッチデータ１１１１と第２のラッチデータ１１１２とが一致していないと最初に判定された時点にて設定されている第１の遅延量ｄに基づく値（当該第１の遅延量ｄよりも補正遅延量ｗだけ小さい値）を上限値ｕとして特定する、と言うことができる。
【０１７６】
そして、比較制御部５００は、リセットを表すカウント指示信号１１１５をカウント部６００へ出力する。これにより、カウント部６００は、記憶しているカウント値を「０」に設定する。次いで、比較制御部５００は、第１のラッチデータＡを特定するための出力データ選択信号１１１３を、切替部４００を経由させて遅延調整部３００−０へ出力する。これにより、遅延調整部３００−０の選択部１０００は、第１のラッチデータ（Ａ）１１０６−０を出力データ（Ｃ）１１０９−０として処理部１０３へ出力する。
【０１７７】
そして、比較制御部５００は、下記式（１）に従って、第１の制御遅延量ｑを算出する。ここで、ｏｄは、オフセット遅延量であり、ｕは、比較制御部５００が記憶している上限値であり、ｒは、比較制御部５００が記憶している下限値である。
ｑ＝（ｏｄ＋ｕ＋ｒ）／２      …（１）
【０１７８】
比較制御部５００は、第１の遅延量ｄを、算出した第１の制御遅延量ｑに設定する（図１３のステップ１６１５）。そして、比較制御部５００は、当該第１の遅延量ｄを表す遅延量制御信号１１１０を、選択された入力データ信号１１０１−０に対する遅延調整部３００−０へ出力する。これにより、遅延調整部３００−０の第１の遅延処理部７００−０に、第１の遅延量ｄ（＝ｑ）が設定される。
【０１７９】
これにより、図１５の（Ｅ）に示したように、ラッチ点１７０８は、第１の遅延データ信号におけるデータ間の境界（変化点）の中間に配置される。即ち、この時点では、セットアップタイム及びホールドタイムのマージンが十分に確保されている。
【０１８０】
そして、比較制御部５００は、ステップ１６０１〜ステップ１６１５の処理を実行した後、次の入力データ信号１１０１−１に対する処理を行うため、入力データ信号１１０１−１を特定するためのデータビット選択信号１１１４を切替部４００へ出力する（図１３のステップ１６１６）。
【０１８１】
このようにして、比較制御部５００は、ステップ１６０１〜ステップ１６１６の処理を、複数の入力データ信号１１０１−０〜１１０１−ｍのそれぞれに対して順に実行する。これにより、複数の入力データ信号１１０１−０〜１１０１−ｍのそれぞれに対して、入力データ信号１１０１−０〜１１０１−ｍとクロック信号１１００との間の位相差が調整される。
【０１８２】
これによれば、複数の入力データ信号１１０１−０〜１１０１−ｍのそれぞれに対して、比較制御部５００を設ける場合と比較して、受信インタフェース部２００の大きさを小さくすることができる。
【０１８３】
また、選択部１０００により出力される出力データが適切に選択されるので、受信インタフェース部２００を運用中であっても、位相差を調整することができる。
【０１８４】
このようにして、比較制御部５００は、第１の遅延量ｄを、互いに異なる複数の判定用遅延量のそれぞれに設定する。そして、比較制御部５００は、複数の判定用遅延量のそれぞれに対して、第１のラッチデータ１１１１と第２のラッチデータ１１１２とが一致しているか否かを判定する。更に、比較制御部５００は、当該判定結果に基づいて、当該第１のラッチデータと当該第２のラッチデータとを一致させるように、第１の遅延量ｄを第１の制御遅延量に設定する。
【０１８５】
なお、比較制御部５００は、第１の遅延量ｄを第１の制御遅延量に設定することにより、第２の遅延量を、第１の制御遅延量よりもオフセット遅延量ｏｄだけ大きい第２の制御遅延量に設定している、と言うことができる。
【０１８６】
以上、説明したように、本発明の第２実施形態に係るデジタル信号処理回路（受信インタフェース部２００）によれば、ラッチデータ（第１のラッチデータ、及び、第２のラッチデータ）は、同一のクロック信号１１００に同期して取得される。従って、第１のラッチデータ１１１１と第２のラッチデータ１１１２とが一致しているか否かを判定した結果が、判定を行うタイミング（判定タイミング）に応じて異なることを防止することができる。この結果、セットアップタイム及びホールドタイムのマージン（余裕量）を十分に確保することができる。更に、上記構成によれば、ラッチ処理部の数を比較的少なく（具体的には、２つに）することができる。
【０１８７】
なお、第２実施形態においては、説明を容易にするために、上限値ｕ、下限値ｒ、及び、第１の制御遅延量ｑ、第１の遅延量ｄ等は、絶対値により表されているが、相対値により表されていてもよい。
【０１８８】
＜第３実施形態＞
次に、本発明の第３実施形態に係るデジタル信号処理回路について説明する。第３実施形態に係るデジタル信号処理回路は、上記第１実施形態に係るデジタル信号処理回路に対して、１つの入力データ信号に対して位相差を調整する処理を複数回行うとともに、２回目以降の処理においては、出力中のデータに係る遅延量を変更しないように構成される点において相違している。従って、以下、かかる相違点を中心として説明する。
【０１８９】
第３実施形態に係る、各遅延調整部３００−０〜３００−ｍは、図１６に示したように、オフセット値設定部８００を備えない。
【０１９０】
また、第２の遅延処理部７００−１は、切替部４００を経由した比較制御部５００からの遅延量制御信号１１０５Ｂ−０を受け付ける。第２の遅延処理部７００−１は、入力データ信号１１０１−０が入力される。
【０１９１】
第２の遅延処理部７００−１は、入力データ信号１１０１−０を、遅延量制御信号１１０５Ｂ−０が表す遅延量（第２の遅延量）ｄだけ遅延させた第２の遅延データ信号１１０４を、第２のラッチ処理部９００−１へ出力する。
【０１９２】
また、比較制御部５００は、互いに異なる複数の判定用遅延量のそれぞれを表す遅延量制御信号１１１０Ｂを順に切替部４００へ出力する。
切替部４００は、比較制御部５００から、遅延量制御信号１１１０Ｂを受け付ける。切替部４００は、選択された入力データ信号に対する（即ち、選択された入力データ信号が入力される）遅延調整部３００−０〜３００−ｍへ、受け付けた遅延量制御信号１１１０Ｂを遅延量制御信号１１０５Ｂ−０〜１１０５Ｂ−ｍとして出力する。
【０１９３】
即ち、第３実施形態に係る比較制御部５００は、遅延調整部３００−０〜３００−ｍに設定される第２の遅延量を、第１の遅延量と独立に任意の値に設定することができる。
【０１９４】
比較制御部５００は、１つの入力データ信号に対して位相差を調整する処理（位相差調整処理）を複数回行う。比較制御部５００は、１回目の位相差調整処理においては、第２実施形態に係る比較制御部５００と同様に作動する。
【０１９５】
即ち、比較制御部５００は、第２実施形態と同様に、第１の遅延量を図１６に示したフローチャートに従って制御するとともに、第２の遅延量を、第１の遅延量よりもオフセット遅延量ｏｄだけ大きい値に設定する。これにより、比較制御部５００は、１回目の位相差調整処理の実行を完了する。
【０１９６】
その後、比較制御部５００は、２回目の位相差調整処理を実行する。この時点では、図１３のステップ１６１５により、各遅延調整部３００−０〜３００−ｍは、第１のラッチデータ（Ａ）１１０６−０〜１１０６−ｍを出力データ（Ｃ）１１０９−０〜１１０９−ｍとして処理部１０３へ出力している。
【０１９７】
従って、比較制御部５００は、２回目の位相差調整処理においては、第１の遅延量を第１の制御遅延量に維持する。そして、比較制御部５００は、第１実施形態と同様に、第２の遅延量を図９に示したフローチャートに従って制御する。
【０１９８】
即ち、比較制御部５００は、第２の遅延量を互いに異なる複数の判定用遅延量のそれぞれに設定する。そして、比較制御部５００は、複数の判定用遅延量のそれぞれに対して、第１のラッチデータ１１１１と第２のラッチデータ１１１２とが一致しているか否かを再び判定する。次いで、比較制御部５００は、当該判定結果に基づいて第２の制御遅延量を補正する。
【０１９９】
なお、比較制御部５００は、図９に示した処理のうち、出力データ選択信号１１１３を出力する処理を実行しない。即ち、第１の遅延量が第１の制御遅延量に維持されている間（即ち、比較制御部５００が第２の遅延量を変更している間）、各遅延調整部３００−０〜３００−ｍは、第１のラッチデータ（Ａ）１１０６−０〜１１０６−ｍを出力データ（Ｃ）１１０９−０〜１１０９−ｍとして処理部１０３へ出力し続ける。
【０２００】
その後、比較制御部５００は、第２のラッチデータＢを特定するための出力データ選択信号１１１３を、切替部４００を経由させて遅延調整部３００−０〜３００−ｍへ出力する。これにより、各遅延調整部３００−０〜３００−ｍは、第２のラッチデータ（Ｂ）１１０７−０〜１１０７−ｍを出力データ（Ｃ）１１０９−０〜１１０９−ｍとして処理部１０３へ出力する。
【０２０１】
次に、比較制御部５００は、第２の遅延量を第２の制御遅延量に維持する。そして、比較制御部５００は、第１実施形態と同様に、第１の遅延量を図９に示したフローチャートに従って制御する。
【０２０２】
即ち、比較制御部５００は、第１の遅延量を互いに異なる複数の判定用遅延量のそれぞれに設定する。そして、比較制御部５００は、複数の判定用遅延量のそれぞれに対して、第１のラッチデータ１１１１と第２のラッチデータ１１１２とが一致しているか否かを再び判定する。次いで、比較制御部５００は、当該判定結果に基づいて第１の制御遅延量を補正する。
【０２０３】
比較制御部５００は、図９に示した処理のうち、出力データ選択信号１１１３を出力する処理を実行しない。即ち、第２の遅延量が第２の制御遅延量に維持されている間（即ち、比較制御部５００が第１の遅延量を変更している間）、各遅延調整部３００−０〜３００−ｍは、第２のラッチデータ（Ｂ）１１０７−０〜１１０７−ｍを出力データ（Ｃ）１１０９−０〜１１０９−ｍとして処理部１０３へ出力し続ける。
【０２０４】
その後、比較制御部５００は、第１のラッチデータＡを特定するための出力データ選択信号１１１３を、切替部４００を経由させて遅延調整部３００−０〜３００−ｍへ出力する。これにより、各遅延調整部３００−０〜３００−ｍは、第１のラッチデータ（Ａ）１１０６−０〜１１０６−ｍを出力データ（Ｃ）１１０９−０〜１１０９−ｍとして処理部１０３へ出力する。
【０２０５】
これにより、比較制御部５００は、２回目の位相差調整処理の実行を完了する。その後、比較制御部５００は、３回目以降の位相差調整処理を順に実行する。なお、比較制御部５００は、３回目以降の位相差調整処理も２回目の位相差調整処理と同様に実行する。
【０２０６】
このように、第３実施形態に係る比較制御部５００は、第１の遅延量が第１の制御遅延量に設定された時点（即ち、１回目の位相差調整処理の実行が完了した時点）以降において、遅延調整部３００−０〜３００−ｍが第１のラッチデータ１１０６−０〜１１０６−ｍを出力している場合、第１の遅延量を既に設定されている第１の制御遅延量に維持する。更に、比較制御部５００は、第２の遅延量を互いに異なる複数の判定用遅延量のそれぞれに設定する。
【０２０７】
加えて、遅延調整部３００−０〜３００−ｍは、第１の遅延量が第１の制御遅延量に設定された時点以降において、第１の遅延量が第１の制御遅延量に維持されている間、第１のラッチデータ１１０６−０〜１１０６−ｍを出力データ（Ｃ）１１０９−０〜１１０９−ｍとして処理部１０３へ出力する。
【０２０８】
更に、比較制御部５００は、第１の遅延量が第１の制御遅延量に設定された時点以降において、複数の判定用遅延量のそれぞれに対して、第１のラッチデータ１１１１と第２のラッチデータ１１１２とが一致しているか否かを再び判定する。そして、比較制御部５００は、当該判定結果に基づいて第２の制御遅延量を補正する。
【０２０９】
また、比較制御部５００は、第１の遅延量が第１の制御遅延量に設定された時点以降において、遅延調整部３００−０〜３００−ｍが第２のラッチデータ１１０７−０〜１１０７−ｍを出力している場合、第２の遅延量を既に設定されている第２の制御遅延量に維持する。更に、比較制御部５００は、第１の遅延量を互いに異なる複数の判定用遅延量のそれぞれに設定する。
【０２１０】
加えて、遅延調整部３００−０〜３００−ｍは、第１の遅延量が第１の制御遅延量に設定された時点以降において、第２の遅延量が第２の制御遅延量に維持されている間、第２のラッチデータ１１０７−０〜１１０７−ｍを出力データ（Ｃ）１１０９−０〜１１０９−ｍとして処理部１０３へ出力する。
【０２１１】
更に、比較制御部５００は、第１の遅延量が第１の制御遅延量に設定された時点以降において、複数の判定用遅延量のそれぞれに対して、第１のラッチデータ１１１１と第２のラッチデータ１１１２とが一致しているか否かを再び判定する。そして、比較制御部５００は、当該判定結果に基づいて第１の制御遅延量を補正する。
【０２１２】
ところで、周囲の環境（例えば、温度、又は、電圧等）によって、適切な制御遅延量（第１の制御遅延量、及び、第２の制御遅延量）が変化する場合がある。このような場合であっても、第３実施形態に係るデジタル信号処理回路によれば、制御遅延量を適切な値に補正することができる。
【０２１３】
更に、第３実施形態に係るデジタル信号処理回路によれば、制御遅延量を補正するための処理を行っている間も、デジタル信号処理回路により出力されるラッチデータを、入力データ信号が表す真のデータに一致させることができる。
【０２１４】
加えて、第１の遅延処理部７００−０、及び／又は、第２の遅延処理部７００−１が誤差を有する場合であっても、位相差が独立に調整されるので、セットアップタイム及びホールドタイムのマージンをより一層確実に確保することができる。
【０２１５】
なお、第３実施形態において、比較制御部５００は、１回目の位相差調整処理において、第２実施形態と同様の処理を行い、２回目以降の位相差調整処理において、第１実施形態と同様の処理を行うように構成されていた。ところで、第３実施形態の変形例において、比較制御部５００は、１回目の位相差調整処理において、第１実施形態と同様の処理を行い、２回目以降の位相差調整処理において、第２実施形態と同様の処理を行うように構成されていてもよい。また、比較制御部５００は、すべての位相差調整処理において、第１実施形態と同様の処理を行うように構成されていてもよい。また、比較制御部５００は、すべての位相差調整処理において、第２実施形態と同様の処理を行うように構成されていてもよい。
【０２１６】
＜第４実施形態＞
次に、本発明の第４実施形態に係るデジタル信号処理回路について図１７を参照しながら説明する。
第４実施形態に係るデジタル信号処理回路２０００は、
第１の遅延量を、互いに異なる複数の判定用遅延量のそれぞれに設定する判定用遅延量設定部（判定用遅延量設定手段）２００１と、
入力データ信号を、上記設定された第１の遅延量だけ遅延させた第１の遅延データ信号を出力する第１の遅延処理部（第１の遅延処理手段）２００２と、
上記入力データ信号を、上記設定された第１の遅延量と異なる第２の遅延量だけ遅延させた第２の遅延データ信号を出力する第２の遅延処理部（第２の遅延処理手段）２００３と、
上記第１の遅延データ信号とクロック信号とが入力されるとともに、当該第１の遅延データ信号を当該クロック信号に基づいてラッチすることにより第１のラッチデータを取得する第１のラッチ処理部（第１のラッチ処理手段）２００４と、
上記第２の遅延データ信号と上記クロック信号とが入力されるとともに、当該第２の遅延データ信号を当該クロック信号に基づいてラッチすることにより第２のラッチデータを取得する第２のラッチ処理部（第２のラッチ処理手段）２００５と、
上記複数の判定用遅延量のそれぞれに対して、上記第１のラッチデータと上記第２のラッチデータとが一致しているか否かを判定するとともに、当該判定結果に基づいて、当該第１のラッチデータと当該第２のラッチデータとを一致させるように、上記第１の遅延量を第１の制御遅延量に設定し且つ上記第２の遅延量を第２の制御遅延量に設定する制御遅延量設定部（制御遅延量設定手段）２００６と、
上記第１のラッチデータ、又は、上記第２のラッチデータを出力するデータ出力部（データ出力手段）２００７と、
を備える。
【０２１７】
これによれば、ラッチデータ（第１のラッチデータ、及び、第２のラッチデータ）は、同一のクロック信号に同期して取得される。従って、第１のラッチデータと第２のラッチデータとが一致しているか否かを判定した結果が、判定を行うタイミング（判定タイミング）に応じて異なることを防止することができる。この結果、セットアップタイム及びホールドタイムのマージン（余裕量）を十分に確保することができる。更に、上記構成によれば、ラッチ処理部の数を比較的少なくすることができる。
【０２１８】
以上、上記実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成及び詳細に、本願発明の範囲内において当業者が理解し得る様々な変更をすることができる。
【０２１９】
例えば、上記実施形態において、デジタル信号処理回路は、ラッチ点として、クロック信号の立ち上がりエッジを用いるように構成されていたが、クロック信号の立ち下りエッジを用いるように構成されていてもよい。また、デジタル信号処理回路は、ラッチ点として、クロック信号の立ち上がりエッジ、及び、クロック信号の立ち下りエッジの両方を用いる（即ち、ＤＤＲ（Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ）にて作動する）ように構成されていてもよい。
【０２２０】
また、上記実施形態において、遅延調整部３００−０〜３００−ｍは、１つのデータ信号を出力するように構成されていたが、複数のデータ信号を出力するように構成されていてもよい。この場合、各遅延調整部３００−０〜３００−ｍは、シリアルデータをパラレルデータに変換するシリアル・パラレル変換回路を構成していてもよい。更に、この場合、切替部４００及び比較制御部５００のそれぞれが入出力する各信号のビット幅は、上記パラレルデータのビット幅と同一であることが好適である。
【０２２１】
また、上記実施形態において、デジタル信号処理回路は、第１のラッチデータと第２のラッチデータとが連続して一致する回数が、予め設定された閾値回数以上となった場合、第１のラッチデータと第２のラッチデータとが一致していると判定するように構成されていた。ところで、上記実施形態の変形例において、デジタル信号処理回路は、予め設定された判定時間が経過するまでの間、第１のラッチデータと第２のラッチデータとが連続して一致している場合、第１のラッチデータと第２のラッチデータとが一致していると判定するように構成されていてもよい。
【０２２２】
なお、上記実施形態において比較制御部５００の機能は、回路等のハードウェアにより実現されていた。ところで、比較制御部５００は、処理装置と、プログラム（ソフトウェア）を記憶する記憶装置と、を備えるとともに、処理装置がそのプログラムを実行することにより、機能を実現するように構成されていてもよい。この場合、プログラムは、コンピュータが読み取り可能な記録媒体に記憶されていてもよい。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
【０２２３】
また、上記実施形態において、デジタル信号処理システム１は、各ビット間のスキュー調整を行うために、各ビットの位相調整後、処理部１０４から、任意のパターンを有する信号を送信してもよい。この場合、処理部１０３が任意のパターンを有する信号を検出することにより、スキュー調整を行うことができる。
【０２２４】
また、上記実施形態の変形例において、デジタル信号処理システム１は、初回の位相調整の際に、処理部１０４から、任意のパターンを有する信号を送信し、特定のビットに合わせて他のビットを調整するように構成されていてもよい。
また、上記実施形態の他の変形例として、上述した実施形態及び変形例の任意の組み合わせが採用されてもよい。
【０２２５】
＜付記＞
上記実施形態の一部又は全部は、以下の付記のように記載され得るが、以下には限られない。
【０２２６】
（付記１）
第１の遅延量を、互いに異なる複数の判定用遅延量のそれぞれに設定する判定用遅延量設定手段と、
入力データ信号を、前記設定された第１の遅延量だけ遅延させた第１の遅延データ信号を出力する第１の遅延処理手段と、
前記入力データ信号を、前記設定された第１の遅延量と異なる第２の遅延量だけ遅延させた第２の遅延データ信号を出力する第２の遅延処理手段と、
前記第１の遅延データ信号とクロック信号とが入力されるとともに、当該第１の遅延データ信号を当該クロック信号に基づいてラッチすることにより第１のラッチデータを取得する第１のラッチ処理手段と、
前記第２の遅延データ信号と前記クロック信号とが入力されるとともに、当該第２の遅延データ信号を当該クロック信号に基づいてラッチすることにより第２のラッチデータを取得する第２のラッチ処理手段と、
前記複数の判定用遅延量のそれぞれに対して、前記第１のラッチデータと前記第２のラッチデータとが一致しているか否かを判定するとともに、当該判定結果に基づいて、当該第１のラッチデータと当該第２のラッチデータとを一致させるように、前記第１の遅延量を第１の制御遅延量に設定し且つ前記第２の遅延量を第２の制御遅延量に設定する制御遅延量設定手段と、
前記第１のラッチデータ、又は、前記第２のラッチデータを出力するデータ出力手段と、
を備えるデジタル信号処理回路。
【０２２７】
これによれば、ラッチデータ（第１のラッチデータ、及び、第２のラッチデータ）は、同一のクロック信号に同期して取得される。従って、第１のラッチデータと第２のラッチデータとが一致しているか否かを判定した結果が、判定を行うタイミング（判定タイミング）に応じて異なることを防止することができる。この結果、セットアップタイム及びホールドタイムのマージン（余裕量）を十分に確保することができる。更に、上記構成によれば、ラッチ手段の数を比較的少なくすることができる。
【０２２８】
（付記２）
付記１に記載のデジタル信号処理回路であって、
前記第２の遅延量が、予め設定されたオフセット遅延量だけ前記第１の遅延量よりも大きい遅延量に設定されるように構成され、
前記複数の判定用遅延量は、第１の判定用遅延量と、当該第１の判定用遅延量よりも小さい第２の判定用遅延量と、当該第２の判定用遅延量よりも小さい第３の判定用遅延量と、を含み、
前記制御遅延量設定手段は、前記第１の判定用遅延量に対して前記第１のラッチデータと前記第２のラッチデータとが一致していないと判定した場合、前記第１の制御遅延量を、前記第２の判定用遅延量よりも小さい遅延量に設定し、一方、前記第３の判定用遅延量に対して前記第１のラッチデータと前記第２のラッチデータとが一致していないと判定した場合、前記第１の制御遅延量を、前記第２の判定用遅延量よりも大きい遅延量に設定するように構成されたデジタル信号処理回路。
【０２２９】
これによれば、セットアップタイム及びホールドタイムのマージンをより一層確実に確保することができる。
【０２３０】
（付記３）
付記２に記載のデジタル信号処理回路であって、
前記データ出力手段は、前記第１の判定用遅延量に対して前記第１のラッチデータと前記第２のラッチデータとが一致していないと判定された場合、前記第１の遅延量が前記第１の制御遅延量に設定された時点以降において前記第１のラッチデータを出力するように構成され、一方、前記第３の判定用遅延量に対して前記第１のラッチデータと前記第２のラッチデータとが一致していないと判定された場合、前記第１の遅延量が前記第１の制御遅延量に設定された時点以降において前記第２のラッチデータを出力するように構成されるデジタル信号処理回路。
【０２３１】
ところで、第２の遅延データ信号は、第１の遅延データ信号よりも遅延量が大きい。従って、第１の判定用遅延量に対して第１のラッチデータと第２のラッチデータとが一致していないと判定された場合、第１の遅延データ信号におけるデータ間の境界（変化点）からラッチ点（クロックエッジ、例えば、クロック信号の立ち上がりエッジ、又は、クロック信号の立ち下りエッジ）までの時間は、第２の遅延データ信号における変化点からラッチ点までの時間よりも長くなる。
【０２３２】
即ち、第１の遅延データ信号のセットアップタイムのマージンは、第２の遅延データ信号のセットアップタイムのマージンよりも大きい。従って、この場合、上記構成のように、第１のラッチデータを出力することにより、デジタル信号処理回路により出力されるラッチデータを、入力データ信号が表す真のデータに一致させることができる。
【０２３３】
また、第３の判定用遅延量に対して第１のラッチデータと第２のラッチデータとが一致していないと判定された場合、ラッチ点から第２の遅延データ信号における変化点までの時間は、ラッチ点から第１の遅延データ信号における変化点までの時間よりも長くなる。
【０２３４】
即ち、第２の遅延データ信号のホールドタイムのマージンは、第１の遅延データ信号のホールドタイムのマージンよりも大きい。従って、従って、この場合、上記構成のように、第２のラッチデータを出力することにより、デジタル信号処理回路により出力されるラッチデータを、入力データ信号が表す真のデータに一致させることができる。
【０２３５】
（付記４）
付記２又は付記３に記載のデジタル信号処理回路であって、
前記データ出力手段は、前記第１の遅延量が前記第１の判定用遅延量に設定されている間、前記第１のラッチデータを出力するように構成され、一方、前記第１の遅延量が前記第３の判定用遅延量に設定されている間、前記第２のラッチデータを出力するように構成されるデジタル信号処理回路。
【０２３６】
ところで、第１の判定用遅延量は、第２の判定用遅延量及び第３の判定用遅延量よりも大きい。従って、第１の遅延量が第１の判定用遅延量に設定されている場合におけるセットアップタイムのマージンは、第１の遅延量が第２の判定用遅延量又は第３の判定用遅延量に設定されている場合よりも小さくなる。従って、第１の遅延量が第１の判定用遅延量に設定されている間、上記構成のように、第１のラッチデータを出力することにより、デジタル信号処理回路により出力されるラッチデータを、入力データ信号が表す真のデータに一致させることができる。
【０２３７】
また、第３の判定用遅延量は、第１の判定用遅延量及び第２の判定用遅延量よりも小さい。従って、第１の遅延量が第３の判定用遅延量に設定されている場合におけるホールドタイムのマージンは、第１の遅延量が第１の判定用遅延量又は第２の判定用遅延量に設定されている場合よりも小さくなる。従って、第１の遅延量が第１の判定用遅延量に設定されている間、上記構成のように、第２のラッチデータを出力することにより、デジタル信号処理回路により出力されるラッチデータを、入力データ信号が表す真のデータに一致させることができる。
【０２３８】
（付記５）
付記１に記載のデジタル信号処理回路であって、
前記第２の遅延量が、予め設定されたオフセット遅延量だけ前記第１の遅延量よりも大きい遅延量に設定されるように構成され、
前記制御遅延量設定手段は、前記第１のラッチデータと前記第２のラッチデータとが一致していると判定される範囲における前記第１の遅延量の上限値と、当該範囲における当該第１の遅延量の下限値と、を特定し、当該特定した上限値及び下限値に基づいて前記第１の制御遅延量を決定するように構成されたデジタル信号処理回路。
【０２３９】
これによれば、セットアップタイム及びホールドタイムのマージンをより一層確実に確保することができる。
【０２４０】
（付記６）
付記５に記載のデジタル信号処理回路であって、
前記判定用遅延量設定手段は、前記第１のラッチデータと前記第２のラッチデータとが一致していると判定された時点にて設定されている前記第１の遅延量から前記判定用遅延量を徐々に増加させるように構成され、
前記制御遅延量設定手段は、前記判定用遅延量が増加されたことにより、前記第１のラッチデータと前記第２のラッチデータとが一致していないと最初に判定された時点にて設定されている前記第１の遅延量に基づく値を前記上限値として特定するように構成され、
前記判定用遅延量設定手段は、前記第１のラッチデータと前記第２のラッチデータとが一致していると判定された時点にて設定されている前記第１の遅延量から前記判定用遅延量を徐々に減少させるように構成され、
前記制御遅延量設定手段は、前記判定用遅延量が減少されたことにより、前記第１のラッチデータと前記第２のラッチデータとが一致していないと最初に判定された時点にて設定されている前記第１の遅延量に基づく値を前記下限値として特定するように構成されたデジタル信号処理回路。
【０２４１】
（付記７）
付記６に記載のデジタル信号処理回路であって、
前記データ出力手段は、前記判定用遅延量が増加されている間、前記第１のラッチデータを出力し、一方、前記判定用遅延量が減少されている間、前記第２のラッチデータを出力するように構成されたデジタル信号処理回路。
【０２４２】
ところで、判定用遅延量が増加されることにより、セットアップタイムのマージンは、小さくなる。従って、判定用遅延量が増加されている間、上記構成のように、第１のラッチデータを出力することにより、デジタル信号処理回路により出力されるラッチデータを、入力データ信号が表す真のデータに一致させることができる。
【０２４３】
また、判定用遅延量が減少されることにより、ホールドタイムのマージンは、小さくなる。従って、判定用遅延量が減少されている間、上記構成のように、第２のラッチデータを出力することにより、デジタル信号処理回路により出力されるラッチデータを、入力データ信号が表す真のデータに一致させることができる。
【０２４４】
（付記８）
付記１乃至付記７のいずれか一項に記載のデジタル信号処理回路であって、
前記第１の遅延処理手段は、前記入力データ信号が入力されるように構成され、
前記第２の遅延処理手段は、前記第１の遅延データ信号が入力されるとともに、当該第１の遅延データ信号を、予め設定されたオフセット遅延量だけ遅延させることにより、前記設定された第１の遅延量よりも当該オフセット遅延量だけ大きい前記第２の遅延量だけ前記入力データ信号を遅延させるように構成されたデジタル信号処理回路。
【０２４５】
（付記９）
付記１乃至付記７のいずれか一項に記載のデジタル信号処理回路であって、
前記判定用遅延量設定手段は、前記第１の遅延量が前記第１の制御遅延量に設定された時点以降において、前記データ出力手段が前記第１のラッチデータを出力している場合、前記第１の遅延量を前記第１の制御遅延量に維持するとともに、前記第２の遅延量を互いに異なる複数の判定用遅延量のそれぞれに設定し、一方、当該データ出力手段が前記第２のラッチデータを出力している場合、前記第２の遅延量を前記第２の制御遅延量に維持するとともに、前記第１の遅延量を互いに異なる複数の判定用遅延量のそれぞれに設定するように構成され、
前記データ出力手段は、前記第１の遅延量が前記第１の制御遅延量に設定された時点以降において、前記第１の遅延量が前記第１の制御遅延量に維持されている間、前記第１のラッチデータを出力し、一方、前記第２の遅延量が前記第２の制御遅延量に維持されている間、前記第２のラッチデータを出力するように構成され、
前記制御遅延量設定手段は、前記第１の遅延量が前記第１の制御遅延量に設定された時点以降において、前記複数の判定用遅延量のそれぞれに対して、前記第１のラッチデータと前記第２のラッチデータとが一致しているか否かを再び判定するとともに、当該判定結果に基づいて前記第１の制御遅延量又は前記第２の制御遅延量を補正するように構成されたデジタル信号処理回路。
【０２４６】
ところで、周囲の環境（例えば、温度、又は、電圧等）によって、適切な制御遅延量（第１の制御遅延量、及び、第２の制御遅延量）が変化する場合がある。このような場合であっても、上記構成によれば、制御遅延量を適切な値に補正することができる。
【０２４７】
更に、上記構成によれば、制御遅延量を補正するための処理において、当該処理の前に出力中のラッチデータが第１のラッチデータである場合には、第２の遅延量のみが変更され、一方、当該処理の前に出力中のラッチデータが第２のラッチデータである場合には、第１の遅延量のみが変更される。
【０２４８】
加えて、制御遅延量を補正するための処理を行っている間、当該処理の前に出力中のラッチデータが第１のラッチデータである場合には、第１のラッチデータが出力され、当該処理の前に出力中のラッチデータが第２のラッチデータである場合には、第２のラッチデータが出力される。
【０２４９】
これにより、制御遅延量を補正するための処理を行っている間も、デジタル信号処理回路により出力されるラッチデータを、入力データ信号が表す真のデータに一致させることができる。
【０２５０】
（付記１０）
付記１乃至付記９のいずれか一項に記載のデジタル信号処理回路であって、
前記第１のラッチデータと前記第２のラッチデータとが連続して一致する回数を計数する計数処理手段を備え、
前記制御遅延量設定手段は、前記計数された回数が、予め設定された閾値回数以上となった場合、前記第１のラッチデータと前記第２のラッチデータとが一致していると判定するように構成されたデジタル信号処理回路。
【０２５１】
（付記１１）
付記１乃至付記１０のいずれか一項に記載のデジタル信号処理回路であって、
前記入力データ信号を、複数入力するように構成され、
前記複数の入力データ信号のそれぞれに対して、前記第１の遅延処理手段、前記第２の遅延処理手段、前記第１のラッチ処理手段、及び、前記第２のラッチ処理手段、を備え、
前記複数の入力データ信号のそれぞれに対して取得された前記第１のラッチデータ及び前記第２のラッチデータが入力されるとともに、当該複数の入力データ信号のうちの１つを選択し、当該選択された入力データ信号に対する前記第１のラッチデータ及び前記第２のラッチデータを出力する切替手段を備え、
前記判定用遅延量設定手段は、前記選択された入力データ信号に対する前記第１の遅延量を設定するように構成され、
前記制御遅延量設定手段は、前記選択された入力データ信号に対する前記判定を行うとともに、当該選択された入力データ信号に対する前記第１の遅延量及び前記第２の遅延量を設定するように構成されたデジタル信号処理回路。
【０２５２】
これによれば、複数の入力データ信号のそれぞれに対して、判定用遅延量設定手段及び制御遅延量設定手段を設ける場合と比較して、デジタル信号処理回路の大きさを小さくすることができる。
【０２５３】
（付記１２）
第１の遅延量を、互いに異なる複数の判定用遅延量のそれぞれに設定し、
入力データ信号を、前記設定された第１の遅延量だけ遅延させた第１の遅延データ信号を出力し、
前記入力データ信号を、前記設定された第１の遅延量と異なる第２の遅延量だけ遅延させた第２の遅延データ信号を出力し、
前記第１の遅延データ信号とクロック信号とが入力されるとともに、当該第１の遅延データ信号を当該クロック信号に基づいてラッチすることにより第１のラッチデータを取得し、
前記第２の遅延データ信号と前記クロック信号とが入力されるとともに、当該第２の遅延データ信号を当該クロック信号に基づいてラッチすることにより第２のラッチデータを取得し、
前記複数の判定用遅延量のそれぞれに対して、前記第１のラッチデータと前記第２のラッチデータとが一致しているか否かを判定するとともに、当該判定結果に基づいて、当該第１のラッチデータと当該第２のラッチデータとを一致させるように、前記第１の遅延量を第１の制御遅延量に設定し且つ前記第２の遅延量を第２の制御遅延量に設定し、
前記第１のラッチデータ、又は、前記第２のラッチデータを出力する、デジタル信号処理方法。
【０２５４】
（付記１３）
付記１２に記載のデジタル信号処理方法であって、
前記第２の遅延量を、予め設定されたオフセット遅延量だけ前記第１の遅延量よりも大きい遅延量に設定し、
前記複数の判定用遅延量は、第１の判定用遅延量と、当該第１の判定用遅延量よりも小さい第２の判定用遅延量と、当該第２の判定用遅延量よりも小さい第３の判定用遅延量と、を含み、
前記第１の判定用遅延量に対して前記第１のラッチデータと前記第２のラッチデータとが一致していないと判定した場合、前記第１の制御遅延量を、前記第２の判定用遅延量よりも小さい遅延量に設定し、一方、前記第３の判定用遅延量に対して前記第１のラッチデータと前記第２のラッチデータとが一致していないと判定した場合、前記第１の制御遅延量を、前記第２の判定用遅延量よりも大きい遅延量に設定する、デジタル信号処理方法。
【０２５５】
（付記１４）
付記１２に記載のデジタル信号処理方法であって、
前記第２の遅延量を、予め設定されたオフセット遅延量だけ前記第１の遅延量よりも大きい遅延量に設定し、
前記第１のラッチデータと前記第２のラッチデータとが一致していると判定される範囲における前記第１の遅延量の上限値と、当該範囲における当該第１の遅延量の下限値と、を特定し、当該特定した上限値及び下限値に基づいて前記第１の制御遅延量を決定する、デジタル信号処理方法。
【０２５６】
（付記１５）
入力データ信号を、第１の遅延量だけ遅延させた第１の遅延データ信号を出力する第１の遅延処理手段と、
前記入力データ信号を、前記第１の遅延量と異なる第２の遅延量だけ遅延させた第２の遅延データ信号を出力する第２の遅延処理手段と、
前記第１の遅延データ信号とクロック信号とが入力されるとともに、当該第１の遅延データ信号を当該クロック信号に基づいてラッチすることにより第１のラッチデータを取得する第１のラッチ処理手段と、
前記第２の遅延データ信号と前記クロック信号とが入力されるとともに、当該第２の遅延データ信号を当該クロック信号に基づいてラッチすることにより第２のラッチデータを取得する第２のラッチ処理手段と、
前記第１のラッチデータ、又は、前記第２のラッチデータを出力するデータ出力手段と、
を備えるデジタル信号処理回路が備える処理装置に、
前記第１の遅延量を、互いに異なる複数の判定用遅延量のそれぞれに設定する判定用遅延量設定手段と、
前記複数の判定用遅延量のそれぞれに対して、前記第１のラッチデータと前記第２のラッチデータとが一致しているか否かを判定するとともに、当該判定結果に基づいて、当該第１のラッチデータと当該第２のラッチデータとを一致させるように、前記第１の遅延量を第１の制御遅延量に設定し且つ前記第２の遅延量を第２の制御遅延量に設定する制御遅延量設定手段と、
を実現させるためのプログラム。
【０２５７】
（付記１６）
付記１５に記載のプログラムであって、
前記デジタル信号処理回路は、前記第２の遅延量が、予め設定されたオフセット遅延量だけ前記第１の遅延量よりも大きい遅延量に設定されるように構成され、
前記複数の判定用遅延量は、第１の判定用遅延量と、当該第１の判定用遅延量よりも小さい第２の判定用遅延量と、当該第２の判定用遅延量よりも小さい第３の判定用遅延量と、を含み、
前記制御遅延量設定手段は、前記第１の判定用遅延量に対して前記第１のラッチデータと前記第２のラッチデータとが一致していないと判定した場合、前記第１の制御遅延量を、前記第２の判定用遅延量よりも小さい遅延量に設定し、一方、前記第３の判定用遅延量に対して前記第１のラッチデータと前記第２のラッチデータとが一致していないと判定した場合、前記第１の制御遅延量を、前記第２の判定用遅延量よりも大きい遅延量に設定するように構成されたプログラム。
【０２５８】
（付記１７）
付記１５に記載のプログラムであって、
前記デジタル信号処理回路は、前記第２の遅延量が、予め設定されたオフセット遅延量だけ前記第１の遅延量よりも大きい遅延量に設定されるように構成され、
前記制御遅延量設定手段は、前記第１のラッチデータと前記第２のラッチデータとが一致していると判定される範囲における前記第１の遅延量の上限値と、当該範囲における当該第１の遅延量の下限値と、を特定し、当該特定した上限値及び下限値に基づいて前記第１の制御遅延量を決定するように構成されたプログラム。
【産業上の利用可能性】
【０２５９】
本発明は、データ信号をクロック信号に基づいてラッチするデジタル信号処理回路、及び、シリアル・パラレル変換回路等に適用可能である。
【符号の説明】
【０２６０】
１      デジタル信号処理システム
１００  ＭＡＣデバイス
１０１  送信インタフェース部
１０１Ａ  送信インタフェース部
１０２  ＰＨＹデバイス
１０２Ａ  受信側デバイス
１０３  処理部
１０４  処理部
２００  受信インタフェース部
２００Ａ  受信インタフェース部
３００  遅延調整部
４００  切替部
５００  比較制御部
６００  カウント部
７００−０  第１の遅延処理部
７００−１  第２の遅延処理部
８００  オフセット値設定部
９００−０  第１のラッチ処理部
９００−１  第２のラッチ処理部
１０００  選択部
１８０１，１８０２  入力アンプ
１８０３  遅延調整回路
１８０４〜１８０６  ラッチ処理回路
１８０７  判定回路
１８０８  遅延処理回路
２０００  デジタル信号処理回路
２００１  判定用遅延量設定部
２００２  第１の遅延処理部
２００３  第２の遅延処理部
２００４  第１のラッチ処理部
２００５  第２のラッチ処理部
２００６  制御遅延量設定部
２００７  データ出力部
【図１】
2011188042.tif 000003
【図２】
2011188042.tif 000004
【図３】
2011188042.tif 000005
【図４】
2011188042.tif 000006
【図５】
2011188042.tif 000007
【図６】
2011188042.tif 000008
【図７】
2011188042.tif 000009
【図８】
2011188042.tif 000010
【図９】
2011188042.tif 000011
【図１０】
2011188042.tif 000012
【図１１】
2011188042.tif 000013
【図１２】
2011188042.tif 000014
【図１３】
2011188042.tif 000015
【図１４】
2011188042.tif 000016
【図１５】
2011188042.tif 000017
【図１６】
2011188042.tif 000018
【図１７】
2011188042.tif 000019