JP2011188042A - デジタル信号処理回路、デジタル信号処理方法、及び、プログラム - Google Patents

デジタル信号処理回路、デジタル信号処理方法、及び、プログラム Download PDF

Info

Publication number
JP2011188042A
JP2011188042A JP2010048510A JP2010048510A JP2011188042A JP 2011188042 A JP2011188042 A JP 2011188042A JP 2010048510 A JP2010048510 A JP 2010048510A JP 2010048510 A JP2010048510 A JP 2010048510A JP 2011188042 A JP2011188042 A JP 2011188042A
Authority
JP
Japan
Prior art keywords
delay amount
data
latch
delay
latch data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010048510A
Other languages
English (en)
Inventor
Masahiro Shigihara
正博 鴫原
Toru Takamichi
透 高道
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2010048510A priority Critical patent/JP2011188042A/ja
Publication of JP2011188042A publication Critical patent/JP2011188042A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

【課題】セットアップタイム及びホールドタイムのマージンを十分に確保することが可能なデジタル信号処理回路を提供すること。
【解決手段】回路は第1の遅延量を複数の判定用遅延量のそれぞれに設定する。回路は入力データ信号を、第1の遅延量だけ遅延させた第1の遅延データ信号と第2の遅延量だけ遅延させた第2の遅延データ信号とを出力する。回路は、第1の遅延データ信号をラッチすることにより第1のラッチデータを取得し、第2の遅延データ信号をラッチすることにより第2のラッチデータを取得する。回路は、複数の判定用遅延量のそれぞれに対して、第1のラッチデータと第2のラッチデータとが一致しているか否かを判定し、当該判定結果に基づいて第1のラッチデータと第2のラッチデータとを一致させるように、第1の遅延量を第1の制御遅延量に設定し且つ上記第2の遅延量を第2の制御遅延量に設定する。
【選択図】図17

Description

本発明は、データ信号をクロック信号に基づいてラッチするデジタル信号処理回路に関し、特に、データ信号とクロック信号との間の位相差を調整するデジタル信号処理回路に関する。
IEEE(The Institute of Electrical and Electronics Engineers, Inc.)802.3により規定された40ギガビット・イーサネット(「イーサネット」は、登録商標)、又は、100ギガビット・イーサネットにおいては、デバイス間のインタフェースとして、図1に示したXLGMII(40Gb/s Media Independent Interface)、およびCGMII(100Gb/s Media Independent Interface)が用いられる。このインタフェースは、64のn倍(nは1以上の正の整数)の数のデータ信号によりデータを転送する。
例えば、n=1である場合、インタフェースは、図1に示したように、64個のデータ信号1101−0〜1101−m(m=64×n−1=63)により、転送レートを100Gbps(Giga bits per second)とするように、データの転送を行う。この場合、1つのデータ信号あたりの転送レートは、1.5625Gbpsとなる。即ち、各データ信号に配置されるデータの周期(1つのデータ信号における1つのデータに対応する時間)は、640ps(pico second)となる。
受信側デバイス102Aは、受信された複数のデータ信号1101−0〜1101−mを、1つのクロック信号1100に同期してラッチすることによりラッチデータを取得する。従って、受信側デバイス102Aが正しくラッチデータを取得するためには、図2の(A)に示したように、データ信号1101−0〜1101−mのそれぞれに対して、セットアップタイム(Ts)1402、及び、ホールドタイム(Th)1401が十分に確保される必要がある。
ここで、セットアップタイムTsは、データ信号におけるデータ間の境界(変化点)から、後続するラッチ点(クロックエッジ、例えば、クロック信号の立ち上がりエッジ、又は、クロック信号の立ち下りエッジ)までの時間である。また、ホールドタイムThは、ラッチ点から、後続する変化点までの時間である。
このため、図1に示した、クロック信号1100及びデータ信号1101−0〜1101−mの、送信インタフェース部101Aから受信インタフェース部200Aへ転送される間に生じる遅延量が、同一の量になるように、各デバイス(例えば、デバイス間の配線、及び、デバイス内の配線等)が設計される。しかしながら、基板の大きさ、実装上の制約、及び、製造ばらつき、等により、クロック信号1100及びデータ信号1101−0〜1101−mの遅延量が同一の量にならないことがある。
図2の(B)は、クロック信号1100及びデータ信号1101−0〜1101−mの遅延量が同一の量でない場合の例を示す。図2の(B)に示した場合においては、ホールドタイムTh1が十分に確保されているが、セットアップタイムTs1が十分に確保されていないことがわかる。また、クロック信号1100及びデータ信号1101−0〜1101−mの遅延量の差によっては、図2の(B)に示した場合とは逆に、ホールドタイムThが十分に確保されない場合も生じる。
これらの問題に対処するため、特許文献1に記載のデジタル信号処理回路が知られている。図3は、このデジタル信号処理回路の構成を示した図であり、図4は、このデジタル信号処理回路の作動を概念的に示した説明図である。
このデジタル信号処理回路は、メモリインタフェースの受信側に適用される。このデジタル信号処理回路は、2つの入力アンプ1801,1802と、1つの遅延調整回路1803と、3つの遅延処理回路1808と、3つのラッチ処理回路1804〜1806と、1つの判定回路1807と、を備える。
このデジタル信号処理回路には、データ信号(DQ)と、クロック信号としてのデータスタブ信号(DQS)と、が入力される。DQは、入力アンプ1802を経由した後、各ラッチ処理回路1804〜1806に、データ信号(Dint)として入力される。DQSは、入力アンプ1801、及び、遅延調整回路1803を経由した後、第1のDQS、第2のDQS、及び、第3のDQSの3つのDQSに分岐される。
第1のDQSは、遅延処理回路1808を経由することなく、第1のクロック信号CLKAとしてラッチ処理回路1804に入力される。ラッチ処理回路1804は、DQを、第1のクロック信号CLKAに同期してラッチすることにより、第1のラッチデータAを取得する。
第2のDQSは、1つの遅延処理回路1808を経由した後、第2のクロック信号CLKBとしてラッチ処理回路1805に入力される。ラッチ処理回路1805は、DQを、第2のクロック信号CLKBに同期してラッチすることにより、第2のラッチデータBを取得する。
第3のDQSは、2つの遅延処理回路1808を経由した後、第3のクロック信号CLKCとしてラッチ処理回路1806に入力される。ラッチ処理回路1806は、DQを、第3のクロック信号CLKCに同期してラッチすることにより、第3のラッチデータCを取得する。
そして、判定回路1807は、各ラッチ処理回路1804〜1806から出力されたラッチデータA〜Cに基づいて下記のように作動する。
判定回路1807は、図4の(a)に示したように、入力されたラッチデータA〜Cのすべての値が一致する(即ち、A=B=C)場合、遅延調整回路1803に設定される遅延量を保持する。
また、判定回路1807は、図4の(b)に示したように、入力されたラッチデータCの値が、他のラッチデータA,Bの値と一致しない(A=B≠C)場合、遅延調整回路1803に設定される遅延量を小さくするように遅延制御信号を遅延調整回路1803へ送る。なお、遅延調整回路1803は、判定回路1807により設定された遅延量だけDQSを遅延させる。
また、判定回路1807は、図4の(c)に示したように、入力されたラッチデータAの値が、他のラッチデータB,Cの値と一致しない(A≠B=C)場合、遅延調整回路1803に設定される遅延量を大きくするように遅延制御信号を遅延調整回路1803へ送る。
このように、特許文献1に記載のデジタル信号処理回路によれば、データ信号とクロック信号との間の位相差を調整することができる。
特許公開2007−202033号公報
しかしながら、上述したデジタル信号処理回路においては、セットアップタイム及びホールドタイムのマージン(余裕量)を十分に確保できない場合が生じる虞がある。この理由について、以下、説明する。
上述したデジタル信号処理回路においては、図5に示したように、判定回路1807に入力される3つのラッチデータA〜Cは、互いに異なる3つのクロック信号CLKA〜CLKCに同期して取得される。
従って、ラッチデータA〜Cが互いに一致しているか否かを判定するタイミング(判定タイミング)に応じて、判定結果が異なる。即ち、第1のクロック信号CLKAのラッチ点(ここでは、クロック信号の立ち上がりエッジ)から、第2のクロック信号CLKBのラッチ点までの期間1900にて判定を行った場合、ラッチデータAは、データkに対応するデータであり、一方、ラッチデータB,Cは、データk−1に対応するデータである。従って、判定回路1807は、ラッチデータAの値が、他のラッチデータB,Cの値と一致しない(A≠B=C)と判定する。
また、第2のクロック信号CLKBのラッチ点から、第3のクロック信号CLKCのラッチ点までの期間1901にて判定を行った場合、ラッチデータA,Bは、データkに対応するデータであり、一方、ラッチデータCは、データk−1に対応するデータである。従って、判定回路1807は、ラッチデータCの値が、他のラッチデータA,Bの値と一致しない(A=B≠C)と判定する。
また、第3のクロック信号CLKCのラッチ点から、第1のクロック信号CLKAのラッチ点までの期間1902にて判定を行った場合、ラッチデータA,B,Cは、いずれもデータkに対応するデータである。従って、判定回路1807は、ラッチデータA〜Cのすべての値が一致する(即ち、A=B=C)と判定する。
このように、上述したデジタル信号処理回路においては、適切な判定タイミングにてラッチデータが互いに一致しているか否かを判定しないと、遅延量を適切に制御できないという問題があった。その結果、上述したデジタル信号処理回路においては、セットアップタイム及びホールドタイムのマージンを十分に確保できない場合が生じる虞がある。
また、上述したデジタル信号処理回路は、3つのラッチ処理回路を必要とする。即ち、デジタル信号処理回路が備えるラッチ処理回路の数が比較的多いという問題があった。
このため、本発明の目的は、上述した課題である「セットアップタイム及びホールドタイムのマージンを十分に確保できない場合が生じること」を解決することが可能なデジタル信号処理回路を提供することにある。
かかる目的を達成するため本発明の一形態であるデジタル信号処理回路は、
第1の遅延量を、互いに異なる複数の判定用遅延量のそれぞれに設定する判定用遅延量設定手段と、
入力データ信号を、上記設定された第1の遅延量だけ遅延させた第1の遅延データ信号を出力する第1の遅延処理手段と、
上記入力データ信号を、上記設定された第1の遅延量と異なる第2の遅延量だけ遅延させた第2の遅延データ信号を出力する第2の遅延処理手段と、
上記第1の遅延データ信号とクロック信号とが入力されるとともに、当該第1の遅延データ信号を当該クロック信号に基づいてラッチすることにより第1のラッチデータを取得する第1のラッチ処理手段と、
上記第2の遅延データ信号と上記クロック信号とが入力されるとともに、当該第2の遅延データ信号を当該クロック信号に基づいてラッチすることにより第2のラッチデータを取得する第2のラッチ処理手段と、
上記複数の判定用遅延量のそれぞれに対して、上記第1のラッチデータと上記第2のラッチデータとが一致しているか否かを判定するとともに、当該判定結果に基づいて、当該第1のラッチデータと当該第2のラッチデータとを一致させるように、上記第1の遅延量を第1の制御遅延量に設定し且つ上記第2の遅延量を第2の制御遅延量に設定する制御遅延量設定手段と、
上記第1のラッチデータ、又は、上記第2のラッチデータを出力するデータ出力手段と、
を備える。
また、本発明の他の形態であるデジタル信号処理方法は、
第1の遅延量を、互いに異なる複数の判定用遅延量のそれぞれに設定し、
入力データ信号を、上記設定された第1の遅延量だけ遅延させた第1の遅延データ信号を出力し、
上記入力データ信号を、上記設定された第1の遅延量と異なる第2の遅延量だけ遅延させた第2の遅延データ信号を出力し、
上記第1の遅延データ信号とクロック信号とが入力されるとともに、当該第1の遅延データ信号を当該クロック信号に基づいてラッチすることにより第1のラッチデータを取得し、
上記第2の遅延データ信号と上記クロック信号とが入力されるとともに、当該第2の遅延データ信号を当該クロック信号に基づいてラッチすることにより第2のラッチデータを取得し、
上記複数の判定用遅延量のそれぞれに対して、上記第1のラッチデータと上記第2のラッチデータとが一致しているか否かを判定するとともに、当該判定結果に基づいて、当該第1のラッチデータと当該第2のラッチデータとを一致させるように、上記第1の遅延量を第1の制御遅延量に設定し且つ上記第2の遅延量を第2の制御遅延量に設定し、
上記第1のラッチデータ、又は、上記第2のラッチデータを出力する方法である。
また、本発明の他の形態であるプログラムは、
入力データ信号を、第1の遅延量だけ遅延させた第1の遅延データ信号を出力する第1の遅延処理手段と、
上記入力データ信号を、上記第1の遅延量と異なる第2の遅延量だけ遅延させた第2の遅延データ信号を出力する第2の遅延処理手段と、
上記第1の遅延データ信号とクロック信号とが入力されるとともに、当該第1の遅延データ信号を当該クロック信号に基づいてラッチすることにより第1のラッチデータを取得する第1のラッチ処理手段と、
上記第2の遅延データ信号と上記クロック信号とが入力されるとともに、当該第2の遅延データ信号を当該クロック信号に基づいてラッチすることにより第2のラッチデータを取得する第2のラッチ処理手段と、
上記第1のラッチデータ、又は、上記第2のラッチデータを出力するデータ出力手段と、
を備えるデジタル信号処理回路が備える処理装置に、
上記第1の遅延量を、互いに異なる複数の判定用遅延量のそれぞれに設定する判定用遅延量設定手段と、
上記複数の判定用遅延量のそれぞれに対して、上記第1のラッチデータと上記第2のラッチデータとが一致しているか否かを判定するとともに、当該判定結果に基づいて、当該第1のラッチデータと当該第2のラッチデータとを一致させるように、上記第1の遅延量を第1の制御遅延量に設定し且つ上記第2の遅延量を第2の制御遅延量に設定する制御遅延量設定手段と、
を実現させるためのプログラムである。
本発明は、以上のように構成されることにより、セットアップタイム及びホールドタイムのマージンを十分に確保することができる。
背景技術に係るデバイス間インタフェースの構成を示した図である。 クロック信号とデータ信号とを示したタイムチャートである。 背景技術に係るデジタル信号処理回路の構成を示した図である。 背景技術に係るデジタル信号処理回路の作動を概念的に示した説明図である。 背景技術に係る、ラッチデータとクロック信号とを示したタイムチャートである。 本発明の第1実施形態に係るデジタル信号処理システムの概略構成を表す図である。 本発明の第1実施形態に係るデジタル信号処理回路(受信インタフェース部)の概略構成を表す図である。 本発明の第1実施形態に係るデジタル信号処理回路(受信インタフェース部)内の信号及びデータを示したタイムチャートである。 本発明の第1実施形態に係る比較制御部の作動を示したフローチャートである。 本発明の第1実施形態に係るデジタル信号処理回路(受信インタフェース部)内の信号及びデータを示したタイムチャートである。 本発明の第1実施形態に係るデジタル信号処理回路(受信インタフェース部)内の、位相差を調整する前後における信号及びデータを示したタイムチャートである。 本発明の第1実施形態に係るデジタル信号処理回路(受信インタフェース部)内の、位相差を調整する前後における信号及びデータを示したタイムチャートである。 本発明の第2実施形態に係る比較制御部の作動を示したフローチャートである。 本発明の第2実施形態に係る比較制御部の作動に伴う、第1の遅延データ信号及び第2の遅延データ信号の変化を示したタイムチャートである。 本発明の第2実施形態に係る比較制御部の作動に伴う、第1の遅延データ信号及び第2の遅延データ信号の変化を示したタイムチャートである。 本発明の第3実施形態に係るデジタル信号処理回路(受信インタフェース部)の概略構成を表す図である。 本発明の第4実施形態に係るデジタル信号処理回路の概略構成を表す図である。
以下、本発明に係る、デジタル信号処理回路、デジタル信号処理方法、及び、プログラム、の各実施形態について図1〜図17を参照しながら説明する。
<第1実施形態>
(構成)
図6に示したように、第1実施形態に係るデジタル信号処理システム1は、MACデバイス100と、PHYデバイス102と、を含む。MACデバイス100は、OSI(Open Systems Interconnection)参照モデルにおけるデータリンク層を構成するデータを処理するデバイスである。PHYデバイス102は、OSI参照モデルにおける物理層を構成するデータを処理するデバイスである。
デジタル信号処理システム1は、MACデバイス100から、PHYデバイス102へ、データを転送するシステムである。
MACデバイス100は、送信インタフェース部101と、処理部104と、を備える。PHYデバイス102は、受信インタフェース部200と、処理部103と、を備える。
MACデバイス100とPHYデバイス102とは、図示しない基板に配設された配線により接続されている。デジタル信号処理システム1は、この配線を介して、送信インタフェース部101から受信インタフェース部200へ、クロック信号1100と、複数(m+1個、ここで、mは、正の整数)のデータ信号1101−0〜1101−mと、を送信する。
受信インタフェース部200は、受信したクロック信号1100と、受信したデータ信号1101−0〜1101−mと、の間の位相差を調整し、クロック信号1100と、位相差が調整されたデータ信号1109−0〜1109−mと、を処理部103へ出力する。
次に、図7及び図8を参照しながら、受信インタフェース部200について、より詳細に説明する。図7は、受信インタフェース部200の構成を示した図である。図8は、受信インタフェース部200内の信号及びデータを示したタイムチャートである。
なお、受信インタフェース部200は、本発明に係るデジタル信号処理回路(デジタル信号インタフェース処理回路)を構成している。
図7に示したように、受信インタフェース部200は、複数(本例では、m+1個)の遅延調整部300−0〜300−mと、切替部(切替手段)400と、比較制御部(判定用遅延量設定手段、制御遅延量設定手段、計数処理手段の一部)500と、カウント部(計数処理手段の一部)600と、を備える。
遅延調整部300−0は、クロック信号1100と、データ信号(入力データ信号)1101−0と、が入力される。遅延調整部300−0は、データ信号1101−0を、比較制御部500からの遅延量制御信号1105−0に応じた第1の遅延量だけ遅延させた第1の遅延データ信号1102を生成する。遅延量制御信号1105−0は、遅延量を表す信号である。更に、遅延調整部300−0は、データ信号1101−0を、第1の遅延量と異なる第2の遅延量だけ遅延させた第2の遅延データ信号1104を生成する。
更に、遅延調整部300−0は、第1の遅延データ信号1102をクロック信号1100に同期してラッチすることにより第1のラッチデータ(A)1106−0を取得する。同様に、遅延調整部300−0は、第2の遅延データ信号1104をクロック信号1100に同期してラッチすることにより第2のラッチデータ(B)1107−0を取得する。遅延調整部300−0は、第1のラッチデータ(A)1106−0、及び、第2のラッチデータ(B)1107−0を切替部400へ出力する。
遅延調整部300−0は、比較制御部500からの出力データ選択信号1108−0に従って、第1のラッチデータ(A)1106−0、及び、第2のラッチデータ(B)1107−0のいずれか一方を、出力データ(C)1109−0として処理部103へ出力する。出力データ選択信号1108−0は、第1のラッチデータ(A)1106−0、及び、第2のラッチデータ(B)1107−0のうちの1つを特定するための信号である。
切替部400は、複数の入力データ信号1101−0〜1101−mのそれぞれに対して取得された第1のラッチデータ(A)1106−0〜1106−m及び第2のラッチデータ(B)1107−0〜1107−mが入力される。
切替部400は、比較制御部500からのデータビット選択信号1114に従って、複数の入力データ信号1101−0〜1101−mのうちの1つを選択する。データビット選択信号1114は、複数の入力データ信号1101−0〜1101−mのうちの1つを特定するための信号である。切替部400は、選択された入力データ信号に対する第1のラッチデータ(A)1106−0〜1106−m及び第2のラッチデータ(B)1107−0〜1107−mを、第1のラッチデータ(a)1111及び第2のラッチデータ(b)1112として、比較制御部500へ出力する。
即ち、切替部400は、複数の入力データ信号1101−0〜1101−mのうちの1つを選択し、当該選択された入力データ信号に対する(即ち、選択された入力データ信号に基づいて取得された)第1のラッチデータ(A)1106−0〜1106−m及び第2のラッチデータ(B)1107−0〜1107−mを出力する、と言うことができる。
更に、切替部400は、比較制御部500から、遅延量制御信号1110、及び、出力データ選択信号1113を受け付ける。切替部400は、選択された入力データ信号に対する(即ち、選択された入力データ信号が入力される)遅延調整部300−0〜300−mへ、受け付けた遅延量制御信号1110を遅延量制御信号1105−0〜1105−mとして出力するとともに、受け付けた出力データ選択信号1113を出力データ選択信号1108−0〜1108−mとして出力する。
なお、切替部400は、選択された入力データ信号以外の入力データ信号に対する遅延調整部300−0〜300−mへ、前回と同一の(即ち、前回の出力時点から保持した値を表す)遅延量制御信号1105−0〜1105−mを出力するとともに、前回と同一の出力データ選択信号1108−0〜1108−mを出力する。
比較制御部500は、複数の入力データ信号1101−0〜1101−mのそれぞれに対して、順に、クロック信号1100と、当該データ信号1101−0〜1101−mと、の間の位相差を調整するための位相差調整処理を行う。
先ず、比較制御部500は、位相差調整処理の対象となる、1つの入力データ信号1101−0〜1101−mを特定するためのデータビット選択信号1114を切替部400へ出力する。
そして、比較制御部500は、互いに異なる複数の判定用遅延量のそれぞれを表す遅延量制御信号1110を順に切替部400へ出力する。即ち、比較制御部500は、遅延調整部300−0〜300−mに設定される、第1の遅延量、及び、第2の遅延量を変更する。
そして、比較制御部500は、複数の判定用遅延量のそれぞれに対して、第1のラッチデータ(a)1111と第2のラッチデータ(b)1112とが一致しているか否かを判定する。比較制御部500は、当該判定結果に基づいて適切な制御遅延量を決定し、決定した制御遅延量を表す遅延量制御信号1110を切替部400へ出力する。
また、比較制御部500は、遅延量制御信号1110を出力することにより、遅延調整部300−0〜300−mに設定される遅延量を変更する際、その遅延量の増減に応じた出力データ選択信号1113を出力する。これにより、比較制御部500は、当該遅延調整部300−0〜300−mが出力する出力データ(C)1109−0〜1109−mを制御する。
また、比較制御部500は、カウント部600へカウント指示信号1115を出力する。カウント指示信号1115は、リセット、又は、カウントアップを表す信号である。比較制御部500は、カウント部600に、第1のラッチデータ(a)1111と第2のラッチデータ(b)1112とが連続して一致する回数を計数させる。そして、比較制御部500は、計数された回数が、予め設定された閾値回数T(Tは、1以上の整数)以上となった場合、第1のラッチデータと第2のラッチデータとが一致していると判定する。
カウント部600は、比較制御部500からのカウント指示信号1115を受け付ける。カウント部600は、カウント値を記憶する。カウント部600は、リセットを表すカウント指示信号1115を受け付けた場合、記憶しているカウント値を初期値(本例では、「0」)に設定する。カウント部600は、カウントアップを表すカウント指示信号1115を受け付けた場合、記憶しているカウント値を、当該カウント値に「1」を加算した値に更新する。カウント部600は、記憶しているカウント値(c)1116を比較制御部500へ出力する。
ここで、遅延調整部300−0について、より詳細に説明する。
遅延調整部300−0は、第1の遅延処理部(第1の遅延処理手段)700−0と、第2の遅延処理部(第2の遅延処理手段)700−1と、オフセット値設定部800と、第1のラッチ処理部(第1のラッチ処理手段)900−0と、第2のラッチ処理部(第2のラッチ処理手段)900−1と、選択部(データ出力手段)1000と、を備える。
第1の遅延処理部700−0は、切替部400を経由した比較制御部500からの遅延量制御信号1105−0を受け付ける。第1の遅延処理部700−0は、入力データ信号1101−0が入力される。
第1の遅延処理部700−0は、図8の(a)及び(b)に示したように、入力データ信号1101−0を、遅延量制御信号1105−0が表す遅延量(第1の遅延量)dだけ遅延させた第1の遅延データ信号1102を、第2の遅延処理部700−1、及び、第1のラッチ処理部900−0のそれぞれへ出力する。
第2の遅延処理部700−1は、第1の遅延データ信号1102が入力される。第2の遅延処理部700−1は、オフセット値設定部800からのオフセット遅延設定信号1103を受け付ける。オフセット遅延設定信号1103は、予め設定されたオフセット遅延量を表す信号である。本例では、オフセット遅延量は、正の値である。
第2の遅延処理部700−1は、図8の(b)及び(c)に示したように、第1の遅延データ信号1102を、オフセット遅延設定信号1103が表すオフセット遅延量odだけ遅延させた第2の遅延データ信号1104を第2のラッチ処理部900−1へ出力する。なお、本明細書においては、第1の遅延量にオフセット遅延量を加えた遅延量は、第2の遅延量とも呼ばれる。また、本例では、オフセット遅延量が正の値であるから、第2の遅延量は、第1の遅延量よりもオフセット遅延量だけ大きい、と言うことができる。
オフセット値設定部800は、予め設定されたオフセット遅延量odを保持(記憶)している。オフセット値設定部800は、保持しているオフセット遅延量odを表すオフセット遅延設定信号1103を第2の遅延処理部700−1へ出力する。
第1のラッチ処理部900−0は、フリップフロップを備える。第1のラッチ処理部900−0は、第1の遅延データ信号1102とクロック信号1100とが入力される。第1のラッチ処理部900−0は、図8の(b)、(d)及び(e)に示したように、第1の遅延データ信号1102をクロック信号1100に同期してラッチすることにより第1のラッチデータを取得し、取得した第1のラッチデータ(A)1106−0を、切替部400、及び、選択部1000のそれぞれへ出力する。本例では、第1のラッチ処理部900−0は、第1の遅延データ信号1102を、クロック信号1100の立ち上がりエッジにてラッチする。
第2のラッチ処理部900−1は、フリップフロップを備える。第2のラッチ処理部900−1は、第2の遅延データ信号1104とクロック信号1100とが入力される。第2のラッチ処理部900−1は、図8の(c)、(d)及び(f)に示したように、第2の遅延データ信号1104をクロック信号1100に同期してラッチすることにより第2のラッチデータを取得し、取得した第2のラッチデータ(B)1107−0を、切替部400、及び、選択部1000のそれぞれへ出力する。本例では、第2のラッチ処理部900−1は、第2の遅延データ信号1104を、クロック信号1100の立ち上がりエッジにてラッチする。
選択部1000は、図8の(g)に示したように、切替部400を経由した比較制御部500からの出力データ選択信号1108−0に従って、第1のラッチデータ(A)1106−0、及び、第2のラッチデータ(B)1107−0のいずれか一方を、出力データ(C)1109−0として処理部103へ出力する。
なお、遅延調整部300−1〜300−mも、遅延調整部300−0と同様の構成を有する。即ち、受信インタフェース部200は、複数の入力データ信号1101−0〜1101−mのそれぞれに対して、第1の遅延処理部700−0、第2の遅延処理部700−1、第1のラッチ処理部900−0、及び、第2のラッチ処理部900−1、を備えている、と言うことができる。
(作動)
次に、図9〜図12を参照しながら、受信インタフェース部200の作動について説明する。図9は、比較制御部500の作動を示したフローチャートである。図10〜図12は、受信インタフェース部200内の信号及びデータを示したタイムチャートである。
先ず、比較制御部500は、第1の遅延量dを予め設定された初期遅延量(第1の遅延量の初期値、第2の判定用遅延量)vに設定する(図9のステップ1500)。そして、比較制御部500は、当該第1の遅延量dを表す遅延量制御信号1110を、遅延調整部300−0〜300−mのそれぞれへ出力する。これにより、各遅延調整部300−0〜300−mの第1の遅延処理部700−0に、第1の遅延量d(=v)が設定される。
次に、比較制御部500は、入力データ信号1101−0を特定するためのデータビット選択信号1114を切替部400へ出力する。これにより、比較制御部500が、次にデータビット選択信号1114を切替部400へ出力するまでの間、比較制御部500は、遅延調整部300−0へ、遅延量制御信号1110及び出力データ選択信号1113を出力するとともに、遅延調整部300−0から、第1のラッチデータ(a)1111及び第2のラッチデータ(b)1112を受け付ける。
比較制御部500は、カレントポイントにて、受け付けた第1のラッチデータ(a)1111及び第2のラッチデータ(b)1112が一致しているか否かを判定する(図9のステップ1501)。ここで、カレントポイントは、第1の遅延量dが第2の判定用遅延量(即ち、初期遅延量v)に設定されている状態を表す。
比較制御部500は、受け付けた第1のラッチデータ(a)1111及び第2のラッチデータ(b)1112が一致していないと判定した場合、カレントポイント値yを「0」に設定する(図9のステップ1504)。
ここで、カレントポイント値yは、カレントポイントにて、正しくデータをラッチできたか否かを表す値であり、「0」である場合には正しくデータをラッチできなかった旨を表し、一方、「1」である場合には正しくデータをラッチできた旨を表す。
そして、比較制御部500は、ステップ1506へ進む。
また、比較制御部500は、受け付けた第1のラッチデータ(a)1111及び第2のラッチデータ(b)1112が一致していると判定した場合、カウント部600からカウント値(c)1116を受け付ける。そして、比較制御部500は、カウント値cが、予め設定された閾値回数Tよりも小さいか否かを判定する(図9のステップ1502)。
比較制御部500は、カウント値cが閾値回数Tよりも小さい場合、カウント部600へ、カウントアップを表すカウント指示信号1115を出力する(図9のステップ1503)。そして、比較制御部500は、ステップ1501へ戻る。一方、比較制御部500は、カウント値cが閾値回数T以上である場合、カレントポイント値yを「1」に設定する(図9のステップ1505)。
そして、比較制御部500は、ステップ1506へ進む。
このように、比較制御部500は、第1のラッチデータ(a)1111と、第2のラッチデータ(b)1112と、が連続して一致する回数(カウント値c)が、閾値回数T以上となった場合に初めて、第1のラッチデータ(a)1111と、第2のラッチデータ(b)1112と、が一致していると判定している。即ち、比較制御部500は、第1のラッチデータ(a)1111と、第2のラッチデータ(b)1112と、が安定して一致しているか否かを判定している。
次に、比較制御部500は、第1のラッチデータAを特定するための出力データ選択信号1113を、切替部400を経由させて遅延調整部300−0へ出力する。これにより、遅延調整部300−0の選択部1000は、第1のラッチデータ(A)1106−0を出力データ(C)1109−0として処理部103へ出力する。
後述するように、第1の遅延量dは、第2の判定用遅延量(v)よりも大きい第1の判定用遅延量(v+Ts)に設定される。従って、セットアップタイムのマージンは、減少する。また、第2の遅延データ信号1104は、第1の遅延データ信号1102よりも遅延量が大きい。
従って、セットアップタイムのマージンがより大きい第1の遅延データ信号1102をラッチした第1のラッチデータ(A)1106−0を出力することにより、出力データ(C)1109−0を、入力データ信号1101−0が表す真のデータに一致させることができる。
次いで、比較制御部500は、リセットを表すカウント指示信号1115をカウント部600へ出力する。これにより、カウント部600は、記憶しているカウント値を「0」に設定する。
そして、比較制御部500は、現時点の第1の遅延量d(=v)に、予め設定されたセットアップタイムTsを加えた値(d+Ts)に、第1の遅延量dを設定する(図9のステップ1506)。なお、この時点にて設定された第1の遅延量d(=v+Ts)は、第1の判定用遅延量とも呼ばれる。
そして、比較制御部500は、当該第1の遅延量dを表す遅延量制御信号1110を、選択された入力データ信号1101−0に対する遅延調整部300−0へ出力する。これにより、遅延調整部300−0の第1の遅延処理部700−0に、第1の遅延量d(=v+Ts)が設定される。
ここで、図10は、カレントポイント、セットアップポイント、及び、後述するホールドポイントにおける、第1の遅延データ信号1102、及び、第2の遅延データ信号1104を示したタイムチャートである。セットアップポイントは、第1の遅延量dが第1の判定用遅延量(v+Ts)に設定されている状態を表す。ホールドポイントは、第1の遅延量dが第3の判定用遅延量(v−Th)に設定されている状態を表す。
即ち、図9のステップ1506の処理を行うことにより、第1の遅延データ信号1102、及び、第2の遅延データ信号1104のそれぞれに対するラッチ点(クロックエッジ、本例では、クロック信号の立ち上がりエッジ)が移動している、と言うことができる。
このようにして、遅延調整部300−0は、第1の遅延量が第1の判定用遅延量に設定されている間、第1のラッチデータ1106−0を出力データ1109−0として出力する。
そして、比較制御部500は、カレントポイントと同様に、セットアップポイントにて、受け付けた第1のラッチデータ(a)1111及び第2のラッチデータ(b)1112が一致しているか否かを判定する(図9のステップ1507〜1509)。
比較制御部500は、受け付けた第1のラッチデータ(a)1111及び第2のラッチデータ(b)1112が一致していないと判定した場合、セットアップポイント値xを「0」に設定する(図9のステップ1510)。
ここで、セットアップポイント値xは、セットアップポイントにて、正しくデータをラッチできたか否かを表す値であり、「0」である場合には正しくデータをラッチできなかった旨を表し、一方、「1」である場合には正しくデータをラッチできた旨を表す。
そして、比較制御部500は、ステップ1512へ進む。
また、比較制御部500は、第1のラッチデータ(a)1111と、第2のラッチデータ(b)1112と、が連続して一致する回数(カウント値c)が、閾値回数T以上となった場合、第1のラッチデータ(a)1111と、第2のラッチデータ(b)1112と、が一致していると判定し、セットアップポイント値xを「1」に設定する(図9のステップ1511)。
そして、比較制御部500は、ステップ1512へ進む。
次に、比較制御部500は、第1のラッチデータAを特定するための出力データ選択信号1113を、切替部400を経由させて遅延調整部300−0へ出力する。これにより、遅延調整部300−0の選択部1000は、第1のラッチデータ(A)1106−0を出力データ(C)1109−0として処理部103へ出力する。
そして、比較制御部500は、現時点の第1の遅延量d(=v+Ts)に、セットアップタイムTsを減じた値(d−Ts)に、第1の遅延量dを設定する。そして、比較制御部500は、当該第1の遅延量dを表す遅延量制御信号1110を、選択された入力データ信号1101−0に対する遅延調整部300−0へ出力する。これにより、遅延調整部300−0の第1の遅延処理部700−0に、第1の遅延量d(=v)が設定される。
次いで、比較制御部500は、リセットを表すカウント指示信号1115をカウント部600へ出力する。これにより、カウント部600は、記憶しているカウント値を「0」に設定する。
次に、比較制御部500は、第2のラッチデータBを特定するための出力データ選択信号1113を、切替部400を経由させて遅延調整部300−0へ出力する。これにより、遅延調整部300−0の選択部1000は、第2のラッチデータ(B)1107−0を出力データ(C)1109−0として処理部103へ出力する。
後述するように、第1の遅延量dは、第2の判定用遅延量(v)よりも小さい第3の判定用遅延量(v−Th)に設定される。従って、ホールドタイムのマージンは、減少する。また、第2の遅延データ信号1104は、第1の遅延データ信号1102よりも遅延量が大きい。
従って、ホールドタイムのマージンがより大きい第2の遅延データ信号1104をラッチした第2のラッチデータ(B)1107−0を出力することにより、出力データ(C)1109−0を、入力データ信号1101−0が表す真のデータに一致させることができる。
そして、比較制御部500は、現時点の第1の遅延量d(=v)に、予め設定されたホールドタイムThを減じた値(d−Th)に、第1の遅延量dを設定する(図9のステップ1512)。なお、この時点にて設定された第1の遅延量d(=v−Th)は、第3の判定用遅延量とも呼ばれる。
そして、比較制御部500は、当該第1の遅延量dを表す遅延量制御信号1110を、選択された入力データ信号1101−0に対する遅延調整部300−0へ出力する。これにより、遅延調整部300−0の第1の遅延処理部700−0に、第1の遅延量d(=v−Th)が設定される。
図10に示したように、図9のステップ1512の処理を行うことにより、第1の遅延データ信号1102、及び、第2の遅延データ信号1104のそれぞれに対するラッチ点(クロックエッジ、本例では、クロック信号の立ち上がりエッジ)が移動している、と言うことができる。
このようにして、遅延調整部300−0は、第1の遅延量が第3の判定用遅延量に設定されている間、第2のラッチデータ1107−0を出力データ1109−0として出力する。
そして、比較制御部500は、カレントポイントと同様に、ホールドポイントにて、受け付けた第1のラッチデータ(a)1111及び第2のラッチデータ(b)1112が一致しているか否かを判定する(図9のステップ1513〜1515)。
比較制御部500は、受け付けた第1のラッチデータ(a)1111及び第2のラッチデータ(b)1112が一致していないと判定した場合、ホールドポイント値zを「0」に設定する(図9のステップ1516)。
ここで、ホールドポイント値zは、ホールドポイントにて、正しくデータをラッチできたか否かを表す値であり、「0」である場合には正しくデータをラッチできなかった旨を表し、一方、「1」である場合には正しくデータをラッチできた旨を表す。
そして、比較制御部500は、ステップ1518へ進む。
また、比較制御部500は、第1のラッチデータ(a)1111と、第2のラッチデータ(b)1112と、が連続して一致する回数(カウント値c)が、閾値回数T以上となった場合、第1のラッチデータ(a)1111と、第2のラッチデータ(b)1112と、が一致していると判定し、ホールドポイント値zを「1」に設定する(図9のステップ1517)。
そして、比較制御部500は、ステップ1518へ進む。
次に、比較制御部500は、第1の判定用遅延量、第2の判定用遅延量、及び、第3の判定用遅延量からなる複数の判定用遅延量のそれぞれに対する、上記判定結果(セットアップポイント値x、カレントポイント値y、及び、ホールドポイント値z)に基づいて、遅延量を調整する。
具体的には、比較制御部500は、セットアップポイント値x、カレントポイント値y、及び、ホールドポイント値zに基づいてポイント値xyzを取得する。ポイント値xyzは、セットアップポイント値x、カレントポイント値y、及び、ホールドポイント値zを、この順に並べて連結したデータ列(即ち、3つのビット列)である。
そして、比較制御部500は、ポイント値xyzが、「000」、「001」、「011」、又は、「101」であるか否かを判定する(図9のステップ1518)。なお、ポイント値xyzが「000」であることは、x=0、y=0、且つ、z=0であることに対応している。また、ポイント値xyzが「001」であることは、x=0、y=0、且つ、z=1であることに対応している。また、ポイント値xyzが「011」であることは、x=0、y=1、且つ、z=1であることに対応している。また、ポイント値xyzが「101」であることは、x=1、y=0、且つ、z=1であることに対応している。
ポイント値xyzが、「000」、「001」、「011」、又は、「101」である場合、比較制御部500は、遅延量dが過大であると判断する。そして、比較制御部500は、第1のラッチデータAを特定するための出力データ選択信号1113を切替部400を経由させて遅延調整部300−0へ出力する。これにより、遅延調整部300−0の選択部1000は、第1のラッチデータ(A)1106−0を出力データ(C)1109−0として処理部103へ出力する。
この状態においては、セットアップタイムのマージンが不足している可能性が比較的高い。また、第2の遅延データ信号1104は、第1の遅延データ信号1102よりも遅延量が大きい。
従って、セットアップタイムのマージンがより大きい第1の遅延データ信号1102をラッチした第1のラッチデータ(A)1106−0を出力することにより、出力データ(C)1109−0を、入力データ信号1101−0が表す真のデータに一致させることができる。
そして、比較制御部500は、現時点の第1の遅延量d(=v−Th)に、ホールドタイムThを加えるとともに予め設定された補正遅延量wを減じた値(d+Th−w)に、第1の遅延量dを設定する(図9のステップ1520)。なお、この時点にて設定された第1の遅延量d(=v−w)は、第1の制御遅延量とも呼ばれる。
このように、比較制御部500は、第1の判定用遅延量に対して第1のラッチデータ1111と第2のラッチデータ1112とが一致していないと判定した場合、第1の制御遅延量を、第2の判定用遅延量(v)よりも小さい遅延量(v−w)に設定している、と言うことができる。これによれば、セットアップタイム及びホールドタイムのマージンをより一層確実に確保することができる。
そして、比較制御部500は、当該第1の遅延量dを表す遅延量制御信号1110を、選択された入力データ信号1101−0に対する遅延調整部300−0へ出力する。これにより、遅延調整部300−0の第1の遅延処理部700−0に、第1の遅延量d(=v−w)が設定される。
このように、遅延調整部300−0は、第1の判定用遅延量に対して第1のラッチデータ1111と第2のラッチデータ1112とが一致していないと判定された場合、第1の遅延量が第1の制御遅延量に設定された時点以降において第1のラッチデータ1106−0を出力データ1109−0として出力する。
また、ポイント値xyzが、「000」、「001」、「011」、及び、「101」のいずれでもない場合、比較制御部500は、ポイント値xyzが、「100」、又は、「110」であるか否かを判定する(図9のステップ1519)。なお、ポイント値xyzが「100」であることは、x=1、y=0、且つ、z=0であることに対応している。また、ポイント値xyzが「110」であることは、x=1、y=1、且つ、z=0であることに対応している。
ポイント値xyzが、「100」、又は、「110」である場合、比較制御部500は、遅延量dが過小であると判断する。そして、比較制御部500は、第2のラッチデータBを特定するための出力データ選択信号1113を切替部400を経由させて遅延調整部300−0へ出力する。これにより、遅延調整部300−0の選択部1000は、第2のラッチデータ(B)1107−0を出力データ(C)1109−0として処理部103へ出力する。
この状態においては、ホールドタイムのマージンが不足している可能性が比較的高い。また、第2の遅延データ信号1104は、第1の遅延データ信号1102よりも遅延量が大きい。
従って、ホールドタイムのマージンがより大きい第2の遅延データ信号1104をラッチした第2のラッチデータ(B)1107−0を出力することにより、出力データ(C)1109−0を、入力データ信号1101−0が表す真のデータに一致させることができる。
そして、比較制御部500は、現時点の第1の遅延量d(=v−Th)に、ホールドタイムThを加えるとともに予め設定された補正遅延量wを加えた値(d+Th+w)に、第1の遅延量dを設定する(図9のステップ1521)。なお、この時点にて設定された第1の遅延量d(=v+w)は、第1の制御遅延量とも呼ばれる。
このように、比較制御部500は、第3の判定用遅延量に対して第1のラッチデータ1111と第2のラッチデータ1112とが一致していないと判定した場合、第1の制御遅延量を、第2の判定用遅延量(v)よりも大きい遅延量(v+w)に設定している、と言うことができる。これによれば、セットアップタイム及びホールドタイムのマージンをより一層確実に確保することができる。
そして、比較制御部500は、当該第1の遅延量dを表す遅延量制御信号1110を、選択された入力データ信号1101−0に対する遅延調整部300−0へ出力する。これにより、遅延調整部300−0の第1の遅延処理部700−0に、第1の遅延量d(=v+w)が設定される。
このように、遅延調整部300−0は、第3の判定用遅延量に対して第1のラッチデータ1111と第2のラッチデータ1112とが一致していないと判定された場合、第1の遅延量が第1の制御遅延量に設定された時点以降において第2のラッチデータ1107−0を出力データ1109−0として出力する。
また、ポイント値xyzが、「000」、「001」、「011」、「101」、「100」、及び、「110」のいずれでもない場合、比較制御部500は、遅延量dが適切な大きさであると判断する。そして、比較制御部500は、第1のラッチデータAを特定するための出力データ選択信号1113を切替部400を経由させて遅延調整部300−0へ出力する。これにより、遅延調整部300−0の選択部1000は、第1のラッチデータ(A)1106−0を出力データ(C)1109−0として処理部103へ出力する。
そして、比較制御部500は、現時点の第1の遅延量d(=v−Th)に、ホールドタイムThを加えた値(d+Th)に、第1の遅延量dを設定する(図9のステップ1522)。なお、この時点にて設定された第1の遅延量d(=v)は、第1の制御遅延量とも呼ばれる。
そして、比較制御部500は、当該第1の遅延量dを表す遅延量制御信号1110を、選択された入力データ信号1101−0に対する遅延調整部300−0へ出力する。これにより、遅延調整部300−0の第1の遅延処理部700−0に、第1の遅延量d(=v)が設定される。
図11は、ポイント値xyzが「110」である場合において、カレントポイント、セットアップポイント、及び、ホールドポイントにおける、第1の遅延データ信号1102、及び、第2の遅延データ信号1104を示したタイムチャートである。
図11の(A)は、第1の遅延量を調整する前(即ち、図9のステップ1516の直後)のタイムチャートである。図11の(B)は、第1の遅延量を調整した後(即ち、図9のステップ1521の直後)のタイムチャートである。
図11の(A)に示したように、第1の遅延量を調整する前の時点では、セットアップポイント、及び、カレントポイントにおけるラッチ点1400は、第1の遅延データ信号及び第2の遅延データ信号におけるデータ間の境界(変化点)と十分に離れている。一方、ホールドポイントにおけるラッチ点1400は、第1の遅延データ信号におけるデータ間の境界(変化点)と過度に近い。
これに対し、第1の遅延量を調整した後の時点では、比較制御部500が、補正遅延量wだけ第1の遅延量dを増加させたことにより、図11の(B)に示したように、セットアップポイント、ホールドポイント、及び、カレントポイントのいずれにおいても、ラッチ点1400は、第1の遅延データ信号及び第2の遅延データ信号におけるデータ間の境界(変化点)と十分に離れている。即ち、この時点では、セットアップタイム及びホールドタイムのマージンが十分に確保されている。
また、図12は、ポイント値xyzが「011」である場合において、カレントポイント、セットアップポイント、及び、ホールドポイントにおける、第1の遅延データ信号1102、及び、第2の遅延データ信号1104を示したタイムチャートである。
図12の(A)は、第1の遅延量を調整する前(即ち、図9のステップ1517の直後)のタイムチャートである。図12の(B)は、第1の遅延量を調整した後(即ち、図9のステップ1520の直後)のタイムチャートである。
図12の(A)に示したように、第1の遅延量を調整する前の時点では、ホールドポイント、及び、カレントポイントにおけるラッチ点1400は、第1の遅延データ信号及び第2の遅延データ信号におけるデータ間の境界(変化点)と十分に離れている。一方、セットアップポイントにおけるラッチ点1400は、第2の遅延データ信号におけるデータ間の境界(変化点)と過度に近い。
これに対し、第1の遅延量を調整した後の時点では、比較制御部500が、補正遅延量wだけ第1の遅延量dを減少させたことにより、図12の(B)に示したように、セットアップポイント、ホールドポイント、及び、カレントポイントのいずれにおいても、ラッチ点1400は、第1の遅延データ信号及び第2の遅延データ信号におけるデータ間の境界(変化点)と十分に離れている。即ち、この時点では、セットアップタイム及びホールドタイムのマージンが十分に確保されている。
そして、比較制御部500は、ステップ1501〜ステップ1522の処理を実行した後、次の入力データ信号1101−1に対する処理を行うため、入力データ信号1101−1を特定するためのデータビット選択信号1114を切替部400へ出力する(図9のステップ1523)。
このようにして、比較制御部500は、ステップ1501〜ステップ1523の処理を、複数の入力データ信号1101−0〜1101−mのそれぞれに対して順に実行する。これにより、複数の入力データ信号1101−0〜1101−mのそれぞれに対して、入力データ信号1101−0〜1101−mとクロック信号1100との間の位相差が調整される。
これによれば、複数の入力データ信号1101−0〜1101−mのそれぞれに対して、比較制御部500を設ける場合と比較して、受信インタフェース部200の大きさを小さくすることができる。
また、選択部1000により出力される出力データが適切に選択されるので、受信インタフェース部200を運用中であっても、位相差を調整することができる。
このようにして、比較制御部500は、第1の遅延量dを、互いに異なる複数の判定用遅延量(第1の判定用遅延量(v+Ts)、第2の判定用遅延量(v)、及び、第3の判定用遅延量(v−Th))のそれぞれに設定する。
そして、比較制御部500は、複数の判定用遅延量のそれぞれに対して、第1のラッチデータ1111と第2のラッチデータ1112とが一致しているか否かを判定する。更に、比較制御部500は、当該判定結果に基づいて、当該第1のラッチデータと当該第2のラッチデータとを一致させるように、第1の遅延量dを第1の制御遅延量に設定する。
なお、比較制御部500は、第1の遅延量dを第1の制御遅延量に設定することにより、第2の遅延量を、第1の制御遅延量よりもオフセット遅延量odだけ大きい第2の制御遅延量に設定している、と言うことができる。
また、上記実施形態においては、ポイント値xyzが「000」又は「101」であるという条件を、図9のステップ1518における判定条件が含むが、ステップ1518に代えてステップ1519における判定条件が含んでいてもよい。即ち、ラッチデータの比較結果がすべて一致しない(「000」)場合、及び、カレントポイント以外にて一致する(「101」)場合に、遅延量を、減少させることに代えて、増加させてもよい。
以上、説明したように、本発明の第1実施形態に係るデジタル信号処理回路(受信インタフェース部200)によれば、ラッチデータ(第1のラッチデータ、及び、第2のラッチデータ)は、同一のクロック信号1100に同期して取得される。従って、第1のラッチデータ1111と第2のラッチデータ1112とが一致しているか否かを判定した結果が、判定を行うタイミング(判定タイミング)に応じて異なることを防止することができる。この結果、セットアップタイム及びホールドタイムのマージン(余裕量)を十分に確保することができる。更に、上記構成によれば、ラッチ処理部の数を比較的少なく(具体的には、2つに)することができる。
<第2実施形態>
次に、本発明の第2実施形態に係るデジタル信号処理回路について説明する。第2実施形態に係るデジタル信号処理回路は、上記第1実施形態に係るデジタル信号処理回路に対して、第1のラッチデータと第2のラッチデータとが一致していると判定される範囲における第1の遅延量の上限値と、当該範囲における第1の遅延量の下限値と、を特定し、当該特定した上限値及び下限値に基づいて第1の制御遅延量を決定する点において相違している。従って、以下、かかる相違点を中心として説明する。
図13は、比較制御部500の作動を示したフローチャートである。図14及び図15は、第1の遅延データ信号及び第2の遅延データ信号の、比較制御部500の作動に伴う変化を示したタイムチャートである。
先ず、比較制御部500は、第1の遅延量dを予め設定された初期遅延量(第1の遅延量の初期値、第2の判定用遅延量)vに設定する(図13のステップ1600)。そして、比較制御部500は、当該第1の遅延量dを表す遅延量制御信号1110を、遅延調整部300−0〜300−mのそれぞれへ出力する。これにより、各遅延調整部300−0〜300−mの第1の遅延処理部700−0に、第1の遅延量d(=v)が設定される。
次に、比較制御部500は、入力データ信号1101−0を特定するためのデータビット選択信号1114を切替部400へ出力する。これにより、比較制御部500が、次にデータビット選択信号1114を切替部400へ出力するまでの間、比較制御部500は、遅延調整部300−0へ、遅延量制御信号1110及び出力データ選択信号1113を出力するとともに、遅延調整部300−0から、第1のラッチデータ(a)1111及び第2のラッチデータ(b)1112を受け付ける。
次いで、比較制御部500は、受け付けた第1のラッチデータ(a)1111及び第2のラッチデータ(b)1112が一致しているか否かを判定する(図13のステップ1601)。
いま、図14の(A)に示したように、ラッチ点1702における、第1の遅延データ信号及び第2の遅延データ信号が相違している場合を想定する。この場合、比較制御部500は、受け付けた第1のラッチデータ(a)1111及び第2のラッチデータ(b)1112が一致していないと判定する。
そして、比較制御部500は、第1のラッチデータAを特定するための出力データ選択信号1113を、切替部400を経由させて遅延調整部300−0へ出力する。これにより、遅延調整部300−0の選択部1000は、第1のラッチデータ(A)1106−0を出力データ(C)1109−0として処理部103へ出力する。
次いで、比較制御部500は、リセットを表すカウント指示信号1115をカウント部600へ出力する。これにより、カウント部600は、記憶しているカウント値を「0」に設定する。
そして、比較制御部500は、現時点の第1の遅延量d(=v)に、予め設定された補正遅延量wを加えた値(d+w)に、第1の遅延量dを設定する(図13のステップ1604)。
そして、比較制御部500は、当該第1の遅延量dを表す遅延量制御信号1110を、選択された入力データ信号1101−0に対する遅延調整部300−0へ出力する。これにより、遅延調整部300−0の第1の遅延処理部700−0に、第1の遅延量d(=v+w)が設定される。そして、比較制御部500は、ステップ1601へ戻る。
その後、図14の(B)に示したように、ラッチ点1703における、第1の遅延データ信号及び第2の遅延データ信号が一致した場合を想定する。この場合、比較制御部500は、図13のステップ1601にて、受け付けた第1のラッチデータ(a)1111及び第2のラッチデータ(b)1112が一致していると判定する。
次いで、比較制御部500は、カウント部600からカウント値(c)1116を受け付ける。そして、比較制御部500は、カウント値cが、予め設定された閾値回数Tよりも小さいか否かを判定する(図13のステップ1602)。
比較制御部500は、カウント値cが閾値回数Tよりも小さい場合、カウント部600へ、カウントアップを表すカウント指示信号1115を出力する(図13のステップ1603)。そして、比較制御部500は、ステップ1601へ戻る。
その後、カウント値cが閾値回数T以上となると、比較制御部500は、第1のラッチデータ(a)1111と、第2のラッチデータ(b)1112と、が安定して一致していると判定し、リセットを表すカウント指示信号1115をカウント部600へ出力する(図13のステップ1605)。これにより、カウント部600は、記憶しているカウント値を「0」に設定する。
その後、比較制御部500は、第1のラッチデータ1111と第2のラッチデータ1112とが一致していると判定される範囲における第1の遅延量の上限値uと、当該範囲における当該第1の遅延量の下限値rと、を特定する処理を行う。
具体的には、先ず、比較制御部500は、第1のラッチデータ1111と第2のラッチデータ1112とが一致していると判定される範囲における第1の遅延量の下限値rを特定する処理を行う。
即ち、比較制御部500は、受け付けた第1のラッチデータ(a)1111及び第2のラッチデータ(b)1112が一致しているか否かを判定する(図13のステップ1606〜1608)。そして、比較制御部500は、第1のラッチデータ(a)1111と、第2のラッチデータ(b)1112と、が連続して一致する回数(カウント値c)が、閾値回数T以上となった場合、第1のラッチデータ(a)1111と、第2のラッチデータ(b)1112と、が一致していると判定する。
そして、比較制御部500は、現時点の第1の遅延量(現遅延量)dを、下限値rとして記憶する。更に、比較制御部500は、リセットを表すカウント指示信号1115をカウント部600へ出力する。これにより、カウント部600は、記憶しているカウント値を「0」に設定する。
加えて、比較制御部500は、第2のラッチデータBを特定するための出力データ選択信号1113を、切替部400を経由させて遅延調整部300−0へ出力する。これにより、遅延調整部300−0の選択部1000は、第2のラッチデータ(B)1107−0を出力データ(C)1109−0として処理部103へ出力する。即ち、遅延調整部300−0は、判定用遅延量としての第1の遅延量dが減少されている間、第2のラッチデータ1107−0を出力データ1109−0として出力する、と言うことができる。
ところで、判定用遅延量が減少されることにより、ホールドタイムのマージンは、小さくなる。従って、判定用遅延量が減少されている間、第2のラッチデータ1107−0を出力することにより、出力データ1109−0を、入力データ信号1101−0が表す真のデータに一致させることができる。
そして、比較制御部500は、現時点の第1の遅延量dから上記補正遅延量wを減じた値(d−w)に、第1の遅延量dを設定する(図13のステップ1610)。次いで、比較制御部500は、当該第1の遅延量dを表す遅延量制御信号1110を、選択された入力データ信号1101−0に対する遅延調整部300−0へ出力する。これにより、遅延調整部300−0の第1の遅延処理部700−0に、第1の遅延量dが設定される。そして、比較制御部500は、ステップ1606へ戻る。
このようにして、比較制御部500は、第1のラッチデータ1111と第2のラッチデータ1112とが一致していると判定された時点(即ち、図13のステップ1605の直後の時点)にて設定されている第1の遅延量から判定用遅延量としての第1の遅延量dを徐々に減少させる。
その後、図14の(C)に示したように、ラッチ点1704における、第1の遅延データ信号及び第2の遅延データ信号が一致しなくなった場合を想定する。この場合、比較制御部500は、図13のステップ1606にて、受け付けた第1のラッチデータ(a)1111及び第2のラッチデータ(b)1112が一致していないと判定する。
なお、この時点で比較制御部500が記憶している下限値rは、ラッチ点1704に対応する第1の遅延量dよりも補正遅延量wだけ大きい遅延量である。
このようにして、比較制御部500は、判定用遅延量としての第1の遅延量dが減少されたことにより、第1のラッチデータ1111と第2のラッチデータ1112とが一致していないと最初に判定された時点にて設定されている第1の遅延量dに基づく値(当該第1の遅延量dよりも補正遅延量wだけ大きい値)を下限値rとして特定する、と言うことができる。
そして、比較制御部500は、リセットを表すカウント指示信号1115をカウント部600へ出力する。これにより、カウント部600は、記憶しているカウント値を「0」に設定する。そして、比較制御部500は、現時点の第1の遅延量dに上記補正遅延量wを加えた値(d+w)に、第1の遅延量dを設定する(図13のステップ1609)。
そして、比較制御部500は、当該第1の遅延量dを表す遅延量制御信号1110を、選択された入力データ信号1101−0に対する遅延調整部300−0へ出力する。これにより、遅延調整部300−0の第1の遅延処理部700−0に、第1の遅延量dが設定される。
次に、比較制御部500は、第1のラッチデータ1111と第2のラッチデータ1112とが一致していると判定される範囲における第1の遅延量の上限値uを特定する処理を行う。
即ち、比較制御部500は、受け付けた第1のラッチデータ(a)1111及び第2のラッチデータ(b)1112が一致しているか否かを判定する(図13のステップ1611〜1613)。そして、比較制御部500は、第1のラッチデータ(a)1111と、第2のラッチデータ(b)1112と、が連続して一致する回数(カウント値c)が、閾値回数T以上となった場合、第1のラッチデータ(a)1111と、第2のラッチデータ(b)1112と、が一致していると判定する。
そして、比較制御部500は、現時点の第1の遅延量(現遅延量)dを、上限値uとして記憶する。更に、比較制御部500は、リセットを表すカウント指示信号1115をカウント部600へ出力する。これにより、カウント部600は、記憶しているカウント値を「0」に設定する。
加えて、比較制御部500は、第1のラッチデータAを特定するための出力データ選択信号1113を、切替部400を経由させて遅延調整部300−0へ出力する。これにより、遅延調整部300−0の選択部1000は、第1のラッチデータ(A)1106−0を出力データ(C)1109−0として処理部103へ出力する。即ち、遅延調整部300−0は、判定用遅延量としての第1の遅延量dが増加されている間、第1のラッチデータ1106−0を出力データ1109−0として出力する、と言うことができる。
ところで、判定用遅延量が増加されることにより、セットアップタイムのマージンは、小さくなる。従って、判定用遅延量が増加されている間、第1のラッチデータ1106−0を出力することにより、出力データ1109−0を、入力データ信号1101−0が表す真のデータに一致させることができる。
そして、比較制御部500は、現時点の第1の遅延量dに上記補正遅延量wを加えた値(d+w)に、第1の遅延量dを設定する(図13のステップ1614)。次いで、比較制御部500は、当該第1の遅延量dを表す遅延量制御信号1110を、選択された入力データ信号1101−0に対する遅延調整部300−0へ出力する。これにより、遅延調整部300−0の第1の遅延処理部700−0に、第1の遅延量dが設定される。そして、比較制御部500は、ステップ1611へ戻る。
このようにして、比較制御部500は、第1のラッチデータ1111と第2のラッチデータ1112とが一致していると判定された時点(即ち、図13のステップ1612の直後の時点)にて設定されている第1の遅延量から判定用遅延量としての第1の遅延量dを徐々に増加させる。
その後、図15の(D)に示したように、ラッチ点1707における、第1の遅延データ信号及び第2の遅延データ信号が一致しなくなった場合を想定する。この場合、比較制御部500は、図13のステップ1611にて、受け付けた第1のラッチデータ(a)1111及び第2のラッチデータ(b)1112が一致していないと判定する。
なお、この時点で比較制御部500が記憶している上限値uは、ラッチ点1707に対応する第1の遅延量dよりも補正遅延量wだけ小さい遅延量である。
このようにして、比較制御部500は、判定用遅延量としての第1の遅延量dが増加されたことにより、第1のラッチデータ1111と第2のラッチデータ1112とが一致していないと最初に判定された時点にて設定されている第1の遅延量dに基づく値(当該第1の遅延量dよりも補正遅延量wだけ小さい値)を上限値uとして特定する、と言うことができる。
そして、比較制御部500は、リセットを表すカウント指示信号1115をカウント部600へ出力する。これにより、カウント部600は、記憶しているカウント値を「0」に設定する。次いで、比較制御部500は、第1のラッチデータAを特定するための出力データ選択信号1113を、切替部400を経由させて遅延調整部300−0へ出力する。これにより、遅延調整部300−0の選択部1000は、第1のラッチデータ(A)1106−0を出力データ(C)1109−0として処理部103へ出力する。
そして、比較制御部500は、下記式(1)に従って、第1の制御遅延量qを算出する。ここで、odは、オフセット遅延量であり、uは、比較制御部500が記憶している上限値であり、rは、比較制御部500が記憶している下限値である。
q=(od+u+r)/2 …(1)
比較制御部500は、第1の遅延量dを、算出した第1の制御遅延量qに設定する(図13のステップ1615)。そして、比較制御部500は、当該第1の遅延量dを表す遅延量制御信号1110を、選択された入力データ信号1101−0に対する遅延調整部300−0へ出力する。これにより、遅延調整部300−0の第1の遅延処理部700−0に、第1の遅延量d(=q)が設定される。
これにより、図15の(E)に示したように、ラッチ点1708は、第1の遅延データ信号におけるデータ間の境界(変化点)の中間に配置される。即ち、この時点では、セットアップタイム及びホールドタイムのマージンが十分に確保されている。
そして、比較制御部500は、ステップ1601〜ステップ1615の処理を実行した後、次の入力データ信号1101−1に対する処理を行うため、入力データ信号1101−1を特定するためのデータビット選択信号1114を切替部400へ出力する(図13のステップ1616)。
このようにして、比較制御部500は、ステップ1601〜ステップ1616の処理を、複数の入力データ信号1101−0〜1101−mのそれぞれに対して順に実行する。これにより、複数の入力データ信号1101−0〜1101−mのそれぞれに対して、入力データ信号1101−0〜1101−mとクロック信号1100との間の位相差が調整される。
これによれば、複数の入力データ信号1101−0〜1101−mのそれぞれに対して、比較制御部500を設ける場合と比較して、受信インタフェース部200の大きさを小さくすることができる。
また、選択部1000により出力される出力データが適切に選択されるので、受信インタフェース部200を運用中であっても、位相差を調整することができる。
このようにして、比較制御部500は、第1の遅延量dを、互いに異なる複数の判定用遅延量のそれぞれに設定する。そして、比較制御部500は、複数の判定用遅延量のそれぞれに対して、第1のラッチデータ1111と第2のラッチデータ1112とが一致しているか否かを判定する。更に、比較制御部500は、当該判定結果に基づいて、当該第1のラッチデータと当該第2のラッチデータとを一致させるように、第1の遅延量dを第1の制御遅延量に設定する。
なお、比較制御部500は、第1の遅延量dを第1の制御遅延量に設定することにより、第2の遅延量を、第1の制御遅延量よりもオフセット遅延量odだけ大きい第2の制御遅延量に設定している、と言うことができる。
以上、説明したように、本発明の第2実施形態に係るデジタル信号処理回路(受信インタフェース部200)によれば、ラッチデータ(第1のラッチデータ、及び、第2のラッチデータ)は、同一のクロック信号1100に同期して取得される。従って、第1のラッチデータ1111と第2のラッチデータ1112とが一致しているか否かを判定した結果が、判定を行うタイミング(判定タイミング)に応じて異なることを防止することができる。この結果、セットアップタイム及びホールドタイムのマージン(余裕量)を十分に確保することができる。更に、上記構成によれば、ラッチ処理部の数を比較的少なく(具体的には、2つに)することができる。
なお、第2実施形態においては、説明を容易にするために、上限値u、下限値r、及び、第1の制御遅延量q、第1の遅延量d等は、絶対値により表されているが、相対値により表されていてもよい。
<第3実施形態>
次に、本発明の第3実施形態に係るデジタル信号処理回路について説明する。第3実施形態に係るデジタル信号処理回路は、上記第1実施形態に係るデジタル信号処理回路に対して、1つの入力データ信号に対して位相差を調整する処理を複数回行うとともに、2回目以降の処理においては、出力中のデータに係る遅延量を変更しないように構成される点において相違している。従って、以下、かかる相違点を中心として説明する。
第3実施形態に係る、各遅延調整部300−0〜300−mは、図16に示したように、オフセット値設定部800を備えない。
また、第2の遅延処理部700−1は、切替部400を経由した比較制御部500からの遅延量制御信号1105B−0を受け付ける。第2の遅延処理部700−1は、入力データ信号1101−0が入力される。
第2の遅延処理部700−1は、入力データ信号1101−0を、遅延量制御信号1105B−0が表す遅延量(第2の遅延量)dだけ遅延させた第2の遅延データ信号1104を、第2のラッチ処理部900−1へ出力する。
また、比較制御部500は、互いに異なる複数の判定用遅延量のそれぞれを表す遅延量制御信号1110Bを順に切替部400へ出力する。
切替部400は、比較制御部500から、遅延量制御信号1110Bを受け付ける。切替部400は、選択された入力データ信号に対する(即ち、選択された入力データ信号が入力される)遅延調整部300−0〜300−mへ、受け付けた遅延量制御信号1110Bを遅延量制御信号1105B−0〜1105B−mとして出力する。
即ち、第3実施形態に係る比較制御部500は、遅延調整部300−0〜300−mに設定される第2の遅延量を、第1の遅延量と独立に任意の値に設定することができる。
比較制御部500は、1つの入力データ信号に対して位相差を調整する処理(位相差調整処理)を複数回行う。比較制御部500は、1回目の位相差調整処理においては、第2実施形態に係る比較制御部500と同様に作動する。
即ち、比較制御部500は、第2実施形態と同様に、第1の遅延量を図16に示したフローチャートに従って制御するとともに、第2の遅延量を、第1の遅延量よりもオフセット遅延量odだけ大きい値に設定する。これにより、比較制御部500は、1回目の位相差調整処理の実行を完了する。
その後、比較制御部500は、2回目の位相差調整処理を実行する。この時点では、図13のステップ1615により、各遅延調整部300−0〜300−mは、第1のラッチデータ(A)1106−0〜1106−mを出力データ(C)1109−0〜1109−mとして処理部103へ出力している。
従って、比較制御部500は、2回目の位相差調整処理においては、第1の遅延量を第1の制御遅延量に維持する。そして、比較制御部500は、第1実施形態と同様に、第2の遅延量を図9に示したフローチャートに従って制御する。
即ち、比較制御部500は、第2の遅延量を互いに異なる複数の判定用遅延量のそれぞれに設定する。そして、比較制御部500は、複数の判定用遅延量のそれぞれに対して、第1のラッチデータ1111と第2のラッチデータ1112とが一致しているか否かを再び判定する。次いで、比較制御部500は、当該判定結果に基づいて第2の制御遅延量を補正する。
なお、比較制御部500は、図9に示した処理のうち、出力データ選択信号1113を出力する処理を実行しない。即ち、第1の遅延量が第1の制御遅延量に維持されている間(即ち、比較制御部500が第2の遅延量を変更している間)、各遅延調整部300−0〜300−mは、第1のラッチデータ(A)1106−0〜1106−mを出力データ(C)1109−0〜1109−mとして処理部103へ出力し続ける。
その後、比較制御部500は、第2のラッチデータBを特定するための出力データ選択信号1113を、切替部400を経由させて遅延調整部300−0〜300−mへ出力する。これにより、各遅延調整部300−0〜300−mは、第2のラッチデータ(B)1107−0〜1107−mを出力データ(C)1109−0〜1109−mとして処理部103へ出力する。
次に、比較制御部500は、第2の遅延量を第2の制御遅延量に維持する。そして、比較制御部500は、第1実施形態と同様に、第1の遅延量を図9に示したフローチャートに従って制御する。
即ち、比較制御部500は、第1の遅延量を互いに異なる複数の判定用遅延量のそれぞれに設定する。そして、比較制御部500は、複数の判定用遅延量のそれぞれに対して、第1のラッチデータ1111と第2のラッチデータ1112とが一致しているか否かを再び判定する。次いで、比較制御部500は、当該判定結果に基づいて第1の制御遅延量を補正する。
比較制御部500は、図9に示した処理のうち、出力データ選択信号1113を出力する処理を実行しない。即ち、第2の遅延量が第2の制御遅延量に維持されている間(即ち、比較制御部500が第1の遅延量を変更している間)、各遅延調整部300−0〜300−mは、第2のラッチデータ(B)1107−0〜1107−mを出力データ(C)1109−0〜1109−mとして処理部103へ出力し続ける。
その後、比較制御部500は、第1のラッチデータAを特定するための出力データ選択信号1113を、切替部400を経由させて遅延調整部300−0〜300−mへ出力する。これにより、各遅延調整部300−0〜300−mは、第1のラッチデータ(A)1106−0〜1106−mを出力データ(C)1109−0〜1109−mとして処理部103へ出力する。
これにより、比較制御部500は、2回目の位相差調整処理の実行を完了する。その後、比較制御部500は、3回目以降の位相差調整処理を順に実行する。なお、比較制御部500は、3回目以降の位相差調整処理も2回目の位相差調整処理と同様に実行する。
このように、第3実施形態に係る比較制御部500は、第1の遅延量が第1の制御遅延量に設定された時点(即ち、1回目の位相差調整処理の実行が完了した時点)以降において、遅延調整部300−0〜300−mが第1のラッチデータ1106−0〜1106−mを出力している場合、第1の遅延量を既に設定されている第1の制御遅延量に維持する。更に、比較制御部500は、第2の遅延量を互いに異なる複数の判定用遅延量のそれぞれに設定する。
加えて、遅延調整部300−0〜300−mは、第1の遅延量が第1の制御遅延量に設定された時点以降において、第1の遅延量が第1の制御遅延量に維持されている間、第1のラッチデータ1106−0〜1106−mを出力データ(C)1109−0〜1109−mとして処理部103へ出力する。
更に、比較制御部500は、第1の遅延量が第1の制御遅延量に設定された時点以降において、複数の判定用遅延量のそれぞれに対して、第1のラッチデータ1111と第2のラッチデータ1112とが一致しているか否かを再び判定する。そして、比較制御部500は、当該判定結果に基づいて第2の制御遅延量を補正する。
また、比較制御部500は、第1の遅延量が第1の制御遅延量に設定された時点以降において、遅延調整部300−0〜300−mが第2のラッチデータ1107−0〜1107−mを出力している場合、第2の遅延量を既に設定されている第2の制御遅延量に維持する。更に、比較制御部500は、第1の遅延量を互いに異なる複数の判定用遅延量のそれぞれに設定する。
加えて、遅延調整部300−0〜300−mは、第1の遅延量が第1の制御遅延量に設定された時点以降において、第2の遅延量が第2の制御遅延量に維持されている間、第2のラッチデータ1107−0〜1107−mを出力データ(C)1109−0〜1109−mとして処理部103へ出力する。
更に、比較制御部500は、第1の遅延量が第1の制御遅延量に設定された時点以降において、複数の判定用遅延量のそれぞれに対して、第1のラッチデータ1111と第2のラッチデータ1112とが一致しているか否かを再び判定する。そして、比較制御部500は、当該判定結果に基づいて第1の制御遅延量を補正する。
ところで、周囲の環境(例えば、温度、又は、電圧等)によって、適切な制御遅延量(第1の制御遅延量、及び、第2の制御遅延量)が変化する場合がある。このような場合であっても、第3実施形態に係るデジタル信号処理回路によれば、制御遅延量を適切な値に補正することができる。
更に、第3実施形態に係るデジタル信号処理回路によれば、制御遅延量を補正するための処理を行っている間も、デジタル信号処理回路により出力されるラッチデータを、入力データ信号が表す真のデータに一致させることができる。
加えて、第1の遅延処理部700−0、及び/又は、第2の遅延処理部700−1が誤差を有する場合であっても、位相差が独立に調整されるので、セットアップタイム及びホールドタイムのマージンをより一層確実に確保することができる。
なお、第3実施形態において、比較制御部500は、1回目の位相差調整処理において、第2実施形態と同様の処理を行い、2回目以降の位相差調整処理において、第1実施形態と同様の処理を行うように構成されていた。ところで、第3実施形態の変形例において、比較制御部500は、1回目の位相差調整処理において、第1実施形態と同様の処理を行い、2回目以降の位相差調整処理において、第2実施形態と同様の処理を行うように構成されていてもよい。また、比較制御部500は、すべての位相差調整処理において、第1実施形態と同様の処理を行うように構成されていてもよい。また、比較制御部500は、すべての位相差調整処理において、第2実施形態と同様の処理を行うように構成されていてもよい。
<第4実施形態>
次に、本発明の第4実施形態に係るデジタル信号処理回路について図17を参照しながら説明する。
第4実施形態に係るデジタル信号処理回路2000は、
第1の遅延量を、互いに異なる複数の判定用遅延量のそれぞれに設定する判定用遅延量設定部(判定用遅延量設定手段)2001と、
入力データ信号を、上記設定された第1の遅延量だけ遅延させた第1の遅延データ信号を出力する第1の遅延処理部(第1の遅延処理手段)2002と、
上記入力データ信号を、上記設定された第1の遅延量と異なる第2の遅延量だけ遅延させた第2の遅延データ信号を出力する第2の遅延処理部(第2の遅延処理手段)2003と、
上記第1の遅延データ信号とクロック信号とが入力されるとともに、当該第1の遅延データ信号を当該クロック信号に基づいてラッチすることにより第1のラッチデータを取得する第1のラッチ処理部(第1のラッチ処理手段)2004と、
上記第2の遅延データ信号と上記クロック信号とが入力されるとともに、当該第2の遅延データ信号を当該クロック信号に基づいてラッチすることにより第2のラッチデータを取得する第2のラッチ処理部(第2のラッチ処理手段)2005と、
上記複数の判定用遅延量のそれぞれに対して、上記第1のラッチデータと上記第2のラッチデータとが一致しているか否かを判定するとともに、当該判定結果に基づいて、当該第1のラッチデータと当該第2のラッチデータとを一致させるように、上記第1の遅延量を第1の制御遅延量に設定し且つ上記第2の遅延量を第2の制御遅延量に設定する制御遅延量設定部(制御遅延量設定手段)2006と、
上記第1のラッチデータ、又は、上記第2のラッチデータを出力するデータ出力部(データ出力手段)2007と、
を備える。
これによれば、ラッチデータ(第1のラッチデータ、及び、第2のラッチデータ)は、同一のクロック信号に同期して取得される。従って、第1のラッチデータと第2のラッチデータとが一致しているか否かを判定した結果が、判定を行うタイミング(判定タイミング)に応じて異なることを防止することができる。この結果、セットアップタイム及びホールドタイムのマージン(余裕量)を十分に確保することができる。更に、上記構成によれば、ラッチ処理部の数を比較的少なくすることができる。
以上、上記実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成及び詳細に、本願発明の範囲内において当業者が理解し得る様々な変更をすることができる。
例えば、上記実施形態において、デジタル信号処理回路は、ラッチ点として、クロック信号の立ち上がりエッジを用いるように構成されていたが、クロック信号の立ち下りエッジを用いるように構成されていてもよい。また、デジタル信号処理回路は、ラッチ点として、クロック信号の立ち上がりエッジ、及び、クロック信号の立ち下りエッジの両方を用いる(即ち、DDR(Double−Data−Rate)にて作動する)ように構成されていてもよい。
また、上記実施形態において、遅延調整部300−0〜300−mは、1つのデータ信号を出力するように構成されていたが、複数のデータ信号を出力するように構成されていてもよい。この場合、各遅延調整部300−0〜300−mは、シリアルデータをパラレルデータに変換するシリアル・パラレル変換回路を構成していてもよい。更に、この場合、切替部400及び比較制御部500のそれぞれが入出力する各信号のビット幅は、上記パラレルデータのビット幅と同一であることが好適である。
また、上記実施形態において、デジタル信号処理回路は、第1のラッチデータと第2のラッチデータとが連続して一致する回数が、予め設定された閾値回数以上となった場合、第1のラッチデータと第2のラッチデータとが一致していると判定するように構成されていた。ところで、上記実施形態の変形例において、デジタル信号処理回路は、予め設定された判定時間が経過するまでの間、第1のラッチデータと第2のラッチデータとが連続して一致している場合、第1のラッチデータと第2のラッチデータとが一致していると判定するように構成されていてもよい。
なお、上記実施形態において比較制御部500の機能は、回路等のハードウェアにより実現されていた。ところで、比較制御部500は、処理装置と、プログラム(ソフトウェア)を記憶する記憶装置と、を備えるとともに、処理装置がそのプログラムを実行することにより、機能を実現するように構成されていてもよい。この場合、プログラムは、コンピュータが読み取り可能な記録媒体に記憶されていてもよい。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
また、上記実施形態において、デジタル信号処理システム1は、各ビット間のスキュー調整を行うために、各ビットの位相調整後、処理部104から、任意のパターンを有する信号を送信してもよい。この場合、処理部103が任意のパターンを有する信号を検出することにより、スキュー調整を行うことができる。
また、上記実施形態の変形例において、デジタル信号処理システム1は、初回の位相調整の際に、処理部104から、任意のパターンを有する信号を送信し、特定のビットに合わせて他のビットを調整するように構成されていてもよい。
また、上記実施形態の他の変形例として、上述した実施形態及び変形例の任意の組み合わせが採用されてもよい。
<付記>
上記実施形態の一部又は全部は、以下の付記のように記載され得るが、以下には限られない。
(付記1)
第1の遅延量を、互いに異なる複数の判定用遅延量のそれぞれに設定する判定用遅延量設定手段と、
入力データ信号を、前記設定された第1の遅延量だけ遅延させた第1の遅延データ信号を出力する第1の遅延処理手段と、
前記入力データ信号を、前記設定された第1の遅延量と異なる第2の遅延量だけ遅延させた第2の遅延データ信号を出力する第2の遅延処理手段と、
前記第1の遅延データ信号とクロック信号とが入力されるとともに、当該第1の遅延データ信号を当該クロック信号に基づいてラッチすることにより第1のラッチデータを取得する第1のラッチ処理手段と、
前記第2の遅延データ信号と前記クロック信号とが入力されるとともに、当該第2の遅延データ信号を当該クロック信号に基づいてラッチすることにより第2のラッチデータを取得する第2のラッチ処理手段と、
前記複数の判定用遅延量のそれぞれに対して、前記第1のラッチデータと前記第2のラッチデータとが一致しているか否かを判定するとともに、当該判定結果に基づいて、当該第1のラッチデータと当該第2のラッチデータとを一致させるように、前記第1の遅延量を第1の制御遅延量に設定し且つ前記第2の遅延量を第2の制御遅延量に設定する制御遅延量設定手段と、
前記第1のラッチデータ、又は、前記第2のラッチデータを出力するデータ出力手段と、
を備えるデジタル信号処理回路。
これによれば、ラッチデータ(第1のラッチデータ、及び、第2のラッチデータ)は、同一のクロック信号に同期して取得される。従って、第1のラッチデータと第2のラッチデータとが一致しているか否かを判定した結果が、判定を行うタイミング(判定タイミング)に応じて異なることを防止することができる。この結果、セットアップタイム及びホールドタイムのマージン(余裕量)を十分に確保することができる。更に、上記構成によれば、ラッチ手段の数を比較的少なくすることができる。
(付記2)
付記1に記載のデジタル信号処理回路であって、
前記第2の遅延量が、予め設定されたオフセット遅延量だけ前記第1の遅延量よりも大きい遅延量に設定されるように構成され、
前記複数の判定用遅延量は、第1の判定用遅延量と、当該第1の判定用遅延量よりも小さい第2の判定用遅延量と、当該第2の判定用遅延量よりも小さい第3の判定用遅延量と、を含み、
前記制御遅延量設定手段は、前記第1の判定用遅延量に対して前記第1のラッチデータと前記第2のラッチデータとが一致していないと判定した場合、前記第1の制御遅延量を、前記第2の判定用遅延量よりも小さい遅延量に設定し、一方、前記第3の判定用遅延量に対して前記第1のラッチデータと前記第2のラッチデータとが一致していないと判定した場合、前記第1の制御遅延量を、前記第2の判定用遅延量よりも大きい遅延量に設定するように構成されたデジタル信号処理回路。
これによれば、セットアップタイム及びホールドタイムのマージンをより一層確実に確保することができる。
(付記3)
付記2に記載のデジタル信号処理回路であって、
前記データ出力手段は、前記第1の判定用遅延量に対して前記第1のラッチデータと前記第2のラッチデータとが一致していないと判定された場合、前記第1の遅延量が前記第1の制御遅延量に設定された時点以降において前記第1のラッチデータを出力するように構成され、一方、前記第3の判定用遅延量に対して前記第1のラッチデータと前記第2のラッチデータとが一致していないと判定された場合、前記第1の遅延量が前記第1の制御遅延量に設定された時点以降において前記第2のラッチデータを出力するように構成されるデジタル信号処理回路。
ところで、第2の遅延データ信号は、第1の遅延データ信号よりも遅延量が大きい。従って、第1の判定用遅延量に対して第1のラッチデータと第2のラッチデータとが一致していないと判定された場合、第1の遅延データ信号におけるデータ間の境界(変化点)からラッチ点(クロックエッジ、例えば、クロック信号の立ち上がりエッジ、又は、クロック信号の立ち下りエッジ)までの時間は、第2の遅延データ信号における変化点からラッチ点までの時間よりも長くなる。
即ち、第1の遅延データ信号のセットアップタイムのマージンは、第2の遅延データ信号のセットアップタイムのマージンよりも大きい。従って、この場合、上記構成のように、第1のラッチデータを出力することにより、デジタル信号処理回路により出力されるラッチデータを、入力データ信号が表す真のデータに一致させることができる。
また、第3の判定用遅延量に対して第1のラッチデータと第2のラッチデータとが一致していないと判定された場合、ラッチ点から第2の遅延データ信号における変化点までの時間は、ラッチ点から第1の遅延データ信号における変化点までの時間よりも長くなる。
即ち、第2の遅延データ信号のホールドタイムのマージンは、第1の遅延データ信号のホールドタイムのマージンよりも大きい。従って、従って、この場合、上記構成のように、第2のラッチデータを出力することにより、デジタル信号処理回路により出力されるラッチデータを、入力データ信号が表す真のデータに一致させることができる。
(付記4)
付記2又は付記3に記載のデジタル信号処理回路であって、
前記データ出力手段は、前記第1の遅延量が前記第1の判定用遅延量に設定されている間、前記第1のラッチデータを出力するように構成され、一方、前記第1の遅延量が前記第3の判定用遅延量に設定されている間、前記第2のラッチデータを出力するように構成されるデジタル信号処理回路。
ところで、第1の判定用遅延量は、第2の判定用遅延量及び第3の判定用遅延量よりも大きい。従って、第1の遅延量が第1の判定用遅延量に設定されている場合におけるセットアップタイムのマージンは、第1の遅延量が第2の判定用遅延量又は第3の判定用遅延量に設定されている場合よりも小さくなる。従って、第1の遅延量が第1の判定用遅延量に設定されている間、上記構成のように、第1のラッチデータを出力することにより、デジタル信号処理回路により出力されるラッチデータを、入力データ信号が表す真のデータに一致させることができる。
また、第3の判定用遅延量は、第1の判定用遅延量及び第2の判定用遅延量よりも小さい。従って、第1の遅延量が第3の判定用遅延量に設定されている場合におけるホールドタイムのマージンは、第1の遅延量が第1の判定用遅延量又は第2の判定用遅延量に設定されている場合よりも小さくなる。従って、第1の遅延量が第1の判定用遅延量に設定されている間、上記構成のように、第2のラッチデータを出力することにより、デジタル信号処理回路により出力されるラッチデータを、入力データ信号が表す真のデータに一致させることができる。
(付記5)
付記1に記載のデジタル信号処理回路であって、
前記第2の遅延量が、予め設定されたオフセット遅延量だけ前記第1の遅延量よりも大きい遅延量に設定されるように構成され、
前記制御遅延量設定手段は、前記第1のラッチデータと前記第2のラッチデータとが一致していると判定される範囲における前記第1の遅延量の上限値と、当該範囲における当該第1の遅延量の下限値と、を特定し、当該特定した上限値及び下限値に基づいて前記第1の制御遅延量を決定するように構成されたデジタル信号処理回路。
これによれば、セットアップタイム及びホールドタイムのマージンをより一層確実に確保することができる。
(付記6)
付記5に記載のデジタル信号処理回路であって、
前記判定用遅延量設定手段は、前記第1のラッチデータと前記第2のラッチデータとが一致していると判定された時点にて設定されている前記第1の遅延量から前記判定用遅延量を徐々に増加させるように構成され、
前記制御遅延量設定手段は、前記判定用遅延量が増加されたことにより、前記第1のラッチデータと前記第2のラッチデータとが一致していないと最初に判定された時点にて設定されている前記第1の遅延量に基づく値を前記上限値として特定するように構成され、
前記判定用遅延量設定手段は、前記第1のラッチデータと前記第2のラッチデータとが一致していると判定された時点にて設定されている前記第1の遅延量から前記判定用遅延量を徐々に減少させるように構成され、
前記制御遅延量設定手段は、前記判定用遅延量が減少されたことにより、前記第1のラッチデータと前記第2のラッチデータとが一致していないと最初に判定された時点にて設定されている前記第1の遅延量に基づく値を前記下限値として特定するように構成されたデジタル信号処理回路。
(付記7)
付記6に記載のデジタル信号処理回路であって、
前記データ出力手段は、前記判定用遅延量が増加されている間、前記第1のラッチデータを出力し、一方、前記判定用遅延量が減少されている間、前記第2のラッチデータを出力するように構成されたデジタル信号処理回路。
ところで、判定用遅延量が増加されることにより、セットアップタイムのマージンは、小さくなる。従って、判定用遅延量が増加されている間、上記構成のように、第1のラッチデータを出力することにより、デジタル信号処理回路により出力されるラッチデータを、入力データ信号が表す真のデータに一致させることができる。
また、判定用遅延量が減少されることにより、ホールドタイムのマージンは、小さくなる。従って、判定用遅延量が減少されている間、上記構成のように、第2のラッチデータを出力することにより、デジタル信号処理回路により出力されるラッチデータを、入力データ信号が表す真のデータに一致させることができる。
(付記8)
付記1乃至付記7のいずれか一項に記載のデジタル信号処理回路であって、
前記第1の遅延処理手段は、前記入力データ信号が入力されるように構成され、
前記第2の遅延処理手段は、前記第1の遅延データ信号が入力されるとともに、当該第1の遅延データ信号を、予め設定されたオフセット遅延量だけ遅延させることにより、前記設定された第1の遅延量よりも当該オフセット遅延量だけ大きい前記第2の遅延量だけ前記入力データ信号を遅延させるように構成されたデジタル信号処理回路。
(付記9)
付記1乃至付記7のいずれか一項に記載のデジタル信号処理回路であって、
前記判定用遅延量設定手段は、前記第1の遅延量が前記第1の制御遅延量に設定された時点以降において、前記データ出力手段が前記第1のラッチデータを出力している場合、前記第1の遅延量を前記第1の制御遅延量に維持するとともに、前記第2の遅延量を互いに異なる複数の判定用遅延量のそれぞれに設定し、一方、当該データ出力手段が前記第2のラッチデータを出力している場合、前記第2の遅延量を前記第2の制御遅延量に維持するとともに、前記第1の遅延量を互いに異なる複数の判定用遅延量のそれぞれに設定するように構成され、
前記データ出力手段は、前記第1の遅延量が前記第1の制御遅延量に設定された時点以降において、前記第1の遅延量が前記第1の制御遅延量に維持されている間、前記第1のラッチデータを出力し、一方、前記第2の遅延量が前記第2の制御遅延量に維持されている間、前記第2のラッチデータを出力するように構成され、
前記制御遅延量設定手段は、前記第1の遅延量が前記第1の制御遅延量に設定された時点以降において、前記複数の判定用遅延量のそれぞれに対して、前記第1のラッチデータと前記第2のラッチデータとが一致しているか否かを再び判定するとともに、当該判定結果に基づいて前記第1の制御遅延量又は前記第2の制御遅延量を補正するように構成されたデジタル信号処理回路。
ところで、周囲の環境(例えば、温度、又は、電圧等)によって、適切な制御遅延量(第1の制御遅延量、及び、第2の制御遅延量)が変化する場合がある。このような場合であっても、上記構成によれば、制御遅延量を適切な値に補正することができる。
更に、上記構成によれば、制御遅延量を補正するための処理において、当該処理の前に出力中のラッチデータが第1のラッチデータである場合には、第2の遅延量のみが変更され、一方、当該処理の前に出力中のラッチデータが第2のラッチデータである場合には、第1の遅延量のみが変更される。
加えて、制御遅延量を補正するための処理を行っている間、当該処理の前に出力中のラッチデータが第1のラッチデータである場合には、第1のラッチデータが出力され、当該処理の前に出力中のラッチデータが第2のラッチデータである場合には、第2のラッチデータが出力される。
これにより、制御遅延量を補正するための処理を行っている間も、デジタル信号処理回路により出力されるラッチデータを、入力データ信号が表す真のデータに一致させることができる。
(付記10)
付記1乃至付記9のいずれか一項に記載のデジタル信号処理回路であって、
前記第1のラッチデータと前記第2のラッチデータとが連続して一致する回数を計数する計数処理手段を備え、
前記制御遅延量設定手段は、前記計数された回数が、予め設定された閾値回数以上となった場合、前記第1のラッチデータと前記第2のラッチデータとが一致していると判定するように構成されたデジタル信号処理回路。
(付記11)
付記1乃至付記10のいずれか一項に記載のデジタル信号処理回路であって、
前記入力データ信号を、複数入力するように構成され、
前記複数の入力データ信号のそれぞれに対して、前記第1の遅延処理手段、前記第2の遅延処理手段、前記第1のラッチ処理手段、及び、前記第2のラッチ処理手段、を備え、
前記複数の入力データ信号のそれぞれに対して取得された前記第1のラッチデータ及び前記第2のラッチデータが入力されるとともに、当該複数の入力データ信号のうちの1つを選択し、当該選択された入力データ信号に対する前記第1のラッチデータ及び前記第2のラッチデータを出力する切替手段を備え、
前記判定用遅延量設定手段は、前記選択された入力データ信号に対する前記第1の遅延量を設定するように構成され、
前記制御遅延量設定手段は、前記選択された入力データ信号に対する前記判定を行うとともに、当該選択された入力データ信号に対する前記第1の遅延量及び前記第2の遅延量を設定するように構成されたデジタル信号処理回路。
これによれば、複数の入力データ信号のそれぞれに対して、判定用遅延量設定手段及び制御遅延量設定手段を設ける場合と比較して、デジタル信号処理回路の大きさを小さくすることができる。
(付記12)
第1の遅延量を、互いに異なる複数の判定用遅延量のそれぞれに設定し、
入力データ信号を、前記設定された第1の遅延量だけ遅延させた第1の遅延データ信号を出力し、
前記入力データ信号を、前記設定された第1の遅延量と異なる第2の遅延量だけ遅延させた第2の遅延データ信号を出力し、
前記第1の遅延データ信号とクロック信号とが入力されるとともに、当該第1の遅延データ信号を当該クロック信号に基づいてラッチすることにより第1のラッチデータを取得し、
前記第2の遅延データ信号と前記クロック信号とが入力されるとともに、当該第2の遅延データ信号を当該クロック信号に基づいてラッチすることにより第2のラッチデータを取得し、
前記複数の判定用遅延量のそれぞれに対して、前記第1のラッチデータと前記第2のラッチデータとが一致しているか否かを判定するとともに、当該判定結果に基づいて、当該第1のラッチデータと当該第2のラッチデータとを一致させるように、前記第1の遅延量を第1の制御遅延量に設定し且つ前記第2の遅延量を第2の制御遅延量に設定し、
前記第1のラッチデータ、又は、前記第2のラッチデータを出力する、デジタル信号処理方法。
(付記13)
付記12に記載のデジタル信号処理方法であって、
前記第2の遅延量を、予め設定されたオフセット遅延量だけ前記第1の遅延量よりも大きい遅延量に設定し、
前記複数の判定用遅延量は、第1の判定用遅延量と、当該第1の判定用遅延量よりも小さい第2の判定用遅延量と、当該第2の判定用遅延量よりも小さい第3の判定用遅延量と、を含み、
前記第1の判定用遅延量に対して前記第1のラッチデータと前記第2のラッチデータとが一致していないと判定した場合、前記第1の制御遅延量を、前記第2の判定用遅延量よりも小さい遅延量に設定し、一方、前記第3の判定用遅延量に対して前記第1のラッチデータと前記第2のラッチデータとが一致していないと判定した場合、前記第1の制御遅延量を、前記第2の判定用遅延量よりも大きい遅延量に設定する、デジタル信号処理方法。
(付記14)
付記12に記載のデジタル信号処理方法であって、
前記第2の遅延量を、予め設定されたオフセット遅延量だけ前記第1の遅延量よりも大きい遅延量に設定し、
前記第1のラッチデータと前記第2のラッチデータとが一致していると判定される範囲における前記第1の遅延量の上限値と、当該範囲における当該第1の遅延量の下限値と、を特定し、当該特定した上限値及び下限値に基づいて前記第1の制御遅延量を決定する、デジタル信号処理方法。
(付記15)
入力データ信号を、第1の遅延量だけ遅延させた第1の遅延データ信号を出力する第1の遅延処理手段と、
前記入力データ信号を、前記第1の遅延量と異なる第2の遅延量だけ遅延させた第2の遅延データ信号を出力する第2の遅延処理手段と、
前記第1の遅延データ信号とクロック信号とが入力されるとともに、当該第1の遅延データ信号を当該クロック信号に基づいてラッチすることにより第1のラッチデータを取得する第1のラッチ処理手段と、
前記第2の遅延データ信号と前記クロック信号とが入力されるとともに、当該第2の遅延データ信号を当該クロック信号に基づいてラッチすることにより第2のラッチデータを取得する第2のラッチ処理手段と、
前記第1のラッチデータ、又は、前記第2のラッチデータを出力するデータ出力手段と、
を備えるデジタル信号処理回路が備える処理装置に、
前記第1の遅延量を、互いに異なる複数の判定用遅延量のそれぞれに設定する判定用遅延量設定手段と、
前記複数の判定用遅延量のそれぞれに対して、前記第1のラッチデータと前記第2のラッチデータとが一致しているか否かを判定するとともに、当該判定結果に基づいて、当該第1のラッチデータと当該第2のラッチデータとを一致させるように、前記第1の遅延量を第1の制御遅延量に設定し且つ前記第2の遅延量を第2の制御遅延量に設定する制御遅延量設定手段と、
を実現させるためのプログラム。
(付記16)
付記15に記載のプログラムであって、
前記デジタル信号処理回路は、前記第2の遅延量が、予め設定されたオフセット遅延量だけ前記第1の遅延量よりも大きい遅延量に設定されるように構成され、
前記複数の判定用遅延量は、第1の判定用遅延量と、当該第1の判定用遅延量よりも小さい第2の判定用遅延量と、当該第2の判定用遅延量よりも小さい第3の判定用遅延量と、を含み、
前記制御遅延量設定手段は、前記第1の判定用遅延量に対して前記第1のラッチデータと前記第2のラッチデータとが一致していないと判定した場合、前記第1の制御遅延量を、前記第2の判定用遅延量よりも小さい遅延量に設定し、一方、前記第3の判定用遅延量に対して前記第1のラッチデータと前記第2のラッチデータとが一致していないと判定した場合、前記第1の制御遅延量を、前記第2の判定用遅延量よりも大きい遅延量に設定するように構成されたプログラム。
(付記17)
付記15に記載のプログラムであって、
前記デジタル信号処理回路は、前記第2の遅延量が、予め設定されたオフセット遅延量だけ前記第1の遅延量よりも大きい遅延量に設定されるように構成され、
前記制御遅延量設定手段は、前記第1のラッチデータと前記第2のラッチデータとが一致していると判定される範囲における前記第1の遅延量の上限値と、当該範囲における当該第1の遅延量の下限値と、を特定し、当該特定した上限値及び下限値に基づいて前記第1の制御遅延量を決定するように構成されたプログラム。
本発明は、データ信号をクロック信号に基づいてラッチするデジタル信号処理回路、及び、シリアル・パラレル変換回路等に適用可能である。
1 デジタル信号処理システム
100 MACデバイス
101 送信インタフェース部
101A 送信インタフェース部
102 PHYデバイス
102A 受信側デバイス
103 処理部
104 処理部
200 受信インタフェース部
200A 受信インタフェース部
300 遅延調整部
400 切替部
500 比較制御部
600 カウント部
700−0 第1の遅延処理部
700−1 第2の遅延処理部
800 オフセット値設定部
900−0 第1のラッチ処理部
900−1 第2のラッチ処理部
1000 選択部
1801,1802 入力アンプ
1803 遅延調整回路
1804〜1806 ラッチ処理回路
1807 判定回路
1808 遅延処理回路
2000 デジタル信号処理回路
2001 判定用遅延量設定部
2002 第1の遅延処理部
2003 第2の遅延処理部
2004 第1のラッチ処理部
2005 第2のラッチ処理部
2006 制御遅延量設定部
2007 データ出力部

Claims (10)

  1. 第1の遅延量を、互いに異なる複数の判定用遅延量のそれぞれに設定する判定用遅延量設定手段と、
    入力データ信号を、前記設定された第1の遅延量だけ遅延させた第1の遅延データ信号を出力する第1の遅延処理手段と、
    前記入力データ信号を、前記設定された第1の遅延量と異なる第2の遅延量だけ遅延させた第2の遅延データ信号を出力する第2の遅延処理手段と、
    前記第1の遅延データ信号とクロック信号とが入力されるとともに、当該第1の遅延データ信号を当該クロック信号に基づいてラッチすることにより第1のラッチデータを取得する第1のラッチ処理手段と、
    前記第2の遅延データ信号と前記クロック信号とが入力されるとともに、当該第2の遅延データ信号を当該クロック信号に基づいてラッチすることにより第2のラッチデータを取得する第2のラッチ処理手段と、
    前記複数の判定用遅延量のそれぞれに対して、前記第1のラッチデータと前記第2のラッチデータとが一致しているか否かを判定するとともに、当該判定結果に基づいて、当該第1のラッチデータと当該第2のラッチデータとを一致させるように、前記第1の遅延量を第1の制御遅延量に設定し且つ前記第2の遅延量を第2の制御遅延量に設定する制御遅延量設定手段と、
    前記第1のラッチデータ、又は、前記第2のラッチデータを出力するデータ出力手段と、
    を備えるデジタル信号処理回路。
  2. 請求項1に記載のデジタル信号処理回路であって、
    前記第2の遅延量が、予め設定されたオフセット遅延量だけ前記第1の遅延量よりも大きい遅延量に設定されるように構成され、
    前記複数の判定用遅延量は、第1の判定用遅延量と、当該第1の判定用遅延量よりも小さい第2の判定用遅延量と、当該第2の判定用遅延量よりも小さい第3の判定用遅延量と、を含み、
    前記制御遅延量設定手段は、前記第1の判定用遅延量に対して前記第1のラッチデータと前記第2のラッチデータとが一致していないと判定した場合、前記第1の制御遅延量を、前記第2の判定用遅延量よりも小さい遅延量に設定し、一方、前記第3の判定用遅延量に対して前記第1のラッチデータと前記第2のラッチデータとが一致していないと判定した場合、前記第1の制御遅延量を、前記第2の判定用遅延量よりも大きい遅延量に設定するように構成されたデジタル信号処理回路。
  3. 請求項2に記載のデジタル信号処理回路であって、
    前記データ出力手段は、前記第1の判定用遅延量に対して前記第1のラッチデータと前記第2のラッチデータとが一致していないと判定された場合、前記第1の遅延量が前記第1の制御遅延量に設定された時点以降において前記第1のラッチデータを出力するように構成され、一方、前記第3の判定用遅延量に対して前記第1のラッチデータと前記第2のラッチデータとが一致していないと判定された場合、前記第1の遅延量が前記第1の制御遅延量に設定された時点以降において前記第2のラッチデータを出力するように構成されるデジタル信号処理回路。
  4. 請求項2又は請求項3に記載のデジタル信号処理回路であって、
    前記データ出力手段は、前記第1の遅延量が前記第1の判定用遅延量に設定されている間、前記第1のラッチデータを出力するように構成され、一方、前記第1の遅延量が前記第3の判定用遅延量に設定されている間、前記第2のラッチデータを出力するように構成されるデジタル信号処理回路。
  5. 請求項1に記載のデジタル信号処理回路であって、
    前記第2の遅延量が、予め設定されたオフセット遅延量だけ前記第1の遅延量よりも大きい遅延量に設定されるように構成され、
    前記制御遅延量設定手段は、前記第1のラッチデータと前記第2のラッチデータとが一致していると判定される範囲における前記第1の遅延量の上限値と、当該範囲における当該第1の遅延量の下限値と、を特定し、当該特定した上限値及び下限値に基づいて前記第1の制御遅延量を決定するように構成されたデジタル信号処理回路。
  6. 請求項5に記載のデジタル信号処理回路であって、
    前記判定用遅延量設定手段は、前記第1のラッチデータと前記第2のラッチデータとが一致していると判定された時点にて設定されている前記第1の遅延量から前記判定用遅延量を徐々に増加させるように構成され、
    前記制御遅延量設定手段は、前記判定用遅延量が増加されたことにより、前記第1のラッチデータと前記第2のラッチデータとが一致していないと最初に判定された時点にて設定されている前記第1の遅延量に基づく値を前記上限値として特定するように構成され、
    前記判定用遅延量設定手段は、前記第1のラッチデータと前記第2のラッチデータとが一致していると判定された時点にて設定されている前記第1の遅延量から前記判定用遅延量を徐々に減少させるように構成され、
    前記制御遅延量設定手段は、前記判定用遅延量が減少されたことにより、前記第1のラッチデータと前記第2のラッチデータとが一致していないと最初に判定された時点にて設定されている前記第1の遅延量に基づく値を前記下限値として特定するように構成されたデジタル信号処理回路。
  7. 請求項6に記載のデジタル信号処理回路であって、
    前記データ出力手段は、前記判定用遅延量が増加されている間、前記第1のラッチデータを出力し、一方、前記判定用遅延量が減少されている間、前記第2のラッチデータを出力するように構成されたデジタル信号処理回路。
  8. 請求項1乃至請求項7のいずれか一項に記載のデジタル信号処理回路であって、
    前記判定用遅延量設定手段は、前記第1の遅延量が前記第1の制御遅延量に設定された時点以降において、前記データ出力手段が前記第1のラッチデータを出力している場合、前記第1の遅延量を前記第1の制御遅延量に維持するとともに、前記第2の遅延量を互いに異なる複数の判定用遅延量のそれぞれに設定し、一方、当該データ出力手段が前記第2のラッチデータを出力している場合、前記第2の遅延量を前記第2の制御遅延量に維持するとともに、前記第1の遅延量を互いに異なる複数の判定用遅延量のそれぞれに設定するように構成され、
    前記データ出力手段は、前記第1の遅延量が前記第1の制御遅延量に設定された時点以降において、前記第1の遅延量が前記第1の制御遅延量に維持されている間、前記第1のラッチデータを出力し、一方、前記第2の遅延量が前記第2の制御遅延量に維持されている間、前記第2のラッチデータを出力するように構成され、
    前記制御遅延量設定手段は、前記第1の遅延量が前記第1の制御遅延量に設定された時点以降において、前記複数の判定用遅延量のそれぞれに対して、前記第1のラッチデータと前記第2のラッチデータとが一致しているか否かを再び判定するとともに、当該判定結果に基づいて前記第1の制御遅延量又は前記第2の制御遅延量を補正するように構成されたデジタル信号処理回路。
  9. 第1の遅延量を、互いに異なる複数の判定用遅延量のそれぞれに設定し、
    入力データ信号を、前記設定された第1の遅延量だけ遅延させた第1の遅延データ信号を出力し、
    前記入力データ信号を、前記設定された第1の遅延量と異なる第2の遅延量だけ遅延させた第2の遅延データ信号を出力し、
    前記第1の遅延データ信号とクロック信号とが入力されるとともに、当該第1の遅延データ信号を当該クロック信号に基づいてラッチすることにより第1のラッチデータを取得し、
    前記第2の遅延データ信号と前記クロック信号とが入力されるとともに、当該第2の遅延データ信号を当該クロック信号に基づいてラッチすることにより第2のラッチデータを取得し、
    前記複数の判定用遅延量のそれぞれに対して、前記第1のラッチデータと前記第2のラッチデータとが一致しているか否かを判定するとともに、当該判定結果に基づいて、当該第1のラッチデータと当該第2のラッチデータとを一致させるように、前記第1の遅延量を第1の制御遅延量に設定し且つ前記第2の遅延量を第2の制御遅延量に設定し、
    前記第1のラッチデータ、又は、前記第2のラッチデータを出力する、デジタル信号処理方法。
  10. 入力データ信号を、第1の遅延量だけ遅延させた第1の遅延データ信号を出力する第1の遅延処理手段と、
    前記入力データ信号を、前記第1の遅延量と異なる第2の遅延量だけ遅延させた第2の遅延データ信号を出力する第2の遅延処理手段と、
    前記第1の遅延データ信号とクロック信号とが入力されるとともに、当該第1の遅延データ信号を当該クロック信号に基づいてラッチすることにより第1のラッチデータを取得する第1のラッチ処理手段と、
    前記第2の遅延データ信号と前記クロック信号とが入力されるとともに、当該第2の遅延データ信号を当該クロック信号に基づいてラッチすることにより第2のラッチデータを取得する第2のラッチ処理手段と、
    前記第1のラッチデータ、又は、前記第2のラッチデータを出力するデータ出力手段と、
    を備えるデジタル信号処理回路が備える処理装置に、
    前記第1の遅延量を、互いに異なる複数の判定用遅延量のそれぞれに設定する判定用遅延量設定手段と、
    前記複数の判定用遅延量のそれぞれに対して、前記第1のラッチデータと前記第2のラッチデータとが一致しているか否かを判定するとともに、当該判定結果に基づいて、当該第1のラッチデータと当該第2のラッチデータとを一致させるように、前記第1の遅延量を第1の制御遅延量に設定し且つ前記第2の遅延量を第2の制御遅延量に設定する制御遅延量設定手段と、
    を実現させるためのプログラム。
JP2010048510A 2010-03-05 2010-03-05 デジタル信号処理回路、デジタル信号処理方法、及び、プログラム Pending JP2011188042A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010048510A JP2011188042A (ja) 2010-03-05 2010-03-05 デジタル信号処理回路、デジタル信号処理方法、及び、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010048510A JP2011188042A (ja) 2010-03-05 2010-03-05 デジタル信号処理回路、デジタル信号処理方法、及び、プログラム

Publications (1)

Publication Number Publication Date
JP2011188042A true JP2011188042A (ja) 2011-09-22

Family

ID=44793843

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010048510A Pending JP2011188042A (ja) 2010-03-05 2010-03-05 デジタル信号処理回路、デジタル信号処理方法、及び、プログラム

Country Status (1)

Country Link
JP (1) JP2011188042A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016045311A1 (zh) * 2014-09-28 2016-03-31 中兴通讯股份有限公司 一种设备自检方法、装置及存储介质
JP2016528813A (ja) * 2013-07-22 2016-09-15 クゥアルコム・インコーポレイテッドQualcomm Incorporated 多相クロック生成方法
US9536579B2 (en) 2011-12-29 2017-01-03 Renesas Electronics Corporation Semiconductor integrated circuit capable of precisely adjusting delay amount of strobe signal
KR20190075316A (ko) * 2017-12-21 2019-07-01 에스앤즈 주식회사 딜레이 라인을 이용한 실시간 pvt 보정용 고속 딜레이 방법 및 그 장치

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9536579B2 (en) 2011-12-29 2017-01-03 Renesas Electronics Corporation Semiconductor integrated circuit capable of precisely adjusting delay amount of strobe signal
US9761299B2 (en) 2011-12-29 2017-09-12 Renesas Electronics Corporation Semiconductor integrated circuit capable of precisely adjusting delay amount of strobe signal
JP2016528813A (ja) * 2013-07-22 2016-09-15 クゥアルコム・インコーポレイテッドQualcomm Incorporated 多相クロック生成方法
WO2016045311A1 (zh) * 2014-09-28 2016-03-31 中兴通讯股份有限公司 一种设备自检方法、装置及存储介质
KR20190075316A (ko) * 2017-12-21 2019-07-01 에스앤즈 주식회사 딜레이 라인을 이용한 실시간 pvt 보정용 고속 딜레이 방법 및 그 장치
KR102042742B1 (ko) * 2017-12-21 2019-11-27 에스앤즈 주식회사 딜레이 라인을 이용한 실시간 pvt 보정용 고속 딜레이 방법 및 그 장치

Similar Documents

Publication Publication Date Title
US11031928B2 (en) Semiconductor integrated circuit and transmission device
US11003203B2 (en) Circuits for and methods of calibrating a circuit in an integrated circuit device
JP5955764B2 (ja) 半導体装置のデータ出力タイミング制御回路
US8552781B2 (en) Digital quadrature phase correction
US11294837B2 (en) Dynamic delay calibration of devices attached to bus systems utilizing time-multiplexed clock and data lines
TWI737459B (zh) 可精確地調整工作週期與相位失真之時脈信號的校準電路與其相關的校準方法
US20120257466A1 (en) Duty cycle distortion correction
JP2018046489A (ja) 半導体装置
JP2007037133A (ja) シリアルデータ信号の負荷サイクルをプログラム可能なように調整する回路および方法
JP2011188042A (ja) デジタル信号処理回路、デジタル信号処理方法、及び、プログラム
WO2018161083A1 (en) Meeting setup/hold times for a repetitive signal relative to a clock
JP2022541831A (ja) 集積回路デバイス内の回路を較正するための回路および較正する方法
JP2017135506A (ja) スキュー調整回路、半導体装置およびスキューキャリブレーション方法
US11947479B2 (en) Dynamic timing calibration systems and methods
JP2011061350A (ja) 受信装置及びその受信方法
US8598927B2 (en) Internal clock generator and operating method thereof
US9654114B2 (en) Transmission circuit, integrated circuit, and parallel-to-serial conversion method
JP4848035B2 (ja) 受信回路
JP2010273132A (ja) タイミング調整回路、タイミング調整方法及び補正値算出方法
US9276733B1 (en) Signal reproduction circuit, signal reproduction system, and signal reproduction method
US9800400B1 (en) Clock phase alignment in data transmission
TW201308894A (zh) 半導體裝置
US9484967B1 (en) Method for duty cycle distortion detection through decision feedback equalizer taps
US8516291B2 (en) Information processing apparatus, data reception device and method of controlling the information processing apparatus
KR20130142743A (ko) 지연 제어회로 및 이를 포함하는 클럭 생성회로

Legal Events

Date Code Title Description
RD07 Notification of extinguishment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7427

Effective date: 20120717