(57)【特許請求の範囲】
【請求項１】
所定位相差を持つ複数のクロック信号を生成するクロック生成部と、
前記複数のクロック信号から何れか１つのクロック信号を選択して出力するクロック信号選択部と、
前記所定位相差を単位とする遅延量を超えない範囲で受信信号の位相を遅延させる第一の遅延部と、
前記クロック信号選択部で選択されたクロック信号に基づいて、前記所定位相差を単位とする遅延量を変更し、前記第一の遅延部から出力される受信信号の位相を遅延させる第二の遅延部と、
前記第一の遅延部の出力する受信信号と、前記クロック信号選択部の出力するクロック信号との位相差を検出する位相検出部と、
前記検出された位相差を受け、所定位相差を単位とする遅延量を超えない範囲で前記第一の遅延部に前記受信信号の位相を遅延させ、前記位相差が前記所定位相差を超える場合に前記検出された位相差に基づいて前記クロック信号選択部に何れか１つのクロック信号を選択させ前記第二の遅延部における遅延量を変更する遅延制御部と、
を有することを特徴とする信号受信回路。
【請求項２】
前記位相検出部は、前記第二の遅延部で位相遅延させた出力データを保持するデータ保持部と、
を備えることを特徴とする、請求項１に記載の信号受信回路。
【請求項３】
請求項１又は２に記載の信号受信回路を備えたことを特徴とするメモリコントローラ。
【請求項４】
請求項１又は２に記載の信号受信回路又は請求項３に記載のメモリコントローラを備えることを特徴とするプロセッサ。
【請求項５】
請求項１又は２に記載の信号受信回路又は請求項３に記載のメモリコントローラ又は請求項４に記載のプロセッサを備えることを特徴とするコンピュータ。
【請求項６】
所定位相差を持つ複数のクロック信号を生成し、
前記複数のクロック信号から何れか１つのクロック信号を選択して出力し、
前記所定位相差を単位とする遅延量を超えない範囲で受信信号の位相を第一の遅延部で遅延させ、
前記クロック信号選択部で選択されたクロック信号に基づいて、前記所定位相差を単位とする遅延量を変更し、前記第一の遅延部から出力される受信信号の位相を第二の遅延部で遅延させ、
前記第一の遅延部の出力する受信信号と、前記クロック信号選択部の出力するクロック信号との位相差を検出し、
前記検出された位相差を受け、所定位相差を単位とする遅延量を超えない範囲で前記第一の遅延部に前記受信信号の位相を遅延させ、前記位相差が前記所定位相差を超える場合に前記検出された位相差に基づいて何れか１つのクロック信号を選択させ前記第二の遅延部における遅延量を変更する、
ことを特徴とする位相制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位相変動を伴う信号を受信する回路、該回路を含む装置、及び位相制御の方法に関し、例えば、位相変動を伴う信号の位相を制御する信号受信回路、メモリコントローラ、プロセッサ、コンピュータ及び位相制御方法に関する。
【背景技術】
【０００２】
位相変動を伴う信号を受信する信号受信回路には、例えば、ＤＤＲメモリインターフェイス（Memory Interface）回路の信号受信回路がある。ＤＤＲ（Double Data Rate）メモリは、クロック（ＣＫ）信号のポジティブエッジとネガティブエッジの双方でデータの入出力をし、クロック周波数の２倍のデータ転送レートでデータ転送をするメモリである。【０００３】
このようなメモリでは、メモリコントローラの内部で生成させた内部ＣＫ信号をＤＩＭＭ（Dual In-line Memory Module）に送信する。ＤＩＭＭはそのＣＫ信号からデータストローブ（ＤＱＳ）信号を生成し、このＤＱＳ信号をデータ（ＤＱ）信号とともにメモリコントローラに送出する。メモリコントローラ側では、これらＤＱＳ信号及びＤＱ信号を信号受信回路で受信する。この信号受信回路では、ＤＱＳ信号を使ってＤＱ信号をリタイミングし、さらに内部クロックに乗り換える。このとき、受信点のラッチ回路で確実にデータ信号を受信するには、内部ＣＫ信号と受信データ信号のタイミング関係が一定範囲内にあることが必要である。【０００４】
このメモリコントローラにおける信号受信に関し、メモリコントローラ内で参照クロックと異なるクロック位相を生成し、データストローブ信号を遅延させることが知られている（特許文献１）。【０００５】
データストローブ信号を遅延させた第１及び第２のタイミング信号を生成させ、これら２つのタイミング信号を選択的に用いることにより、信号不定状態を回避することが知られている（特許文献２）。【０００６】
メモリコントローラにおいて、データストローブ信号の変化エッジで読出しデータを取り込むことが知られている（特許文献３）。【０００７】
データストローブ信号とリードクロックの位相差を測定し、その位相差に従ってクロック信号の遅延時間を加減し、そのクロック信号に同期してデータ信号を取り込むことが知られている（特許文献４）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特表２００７−５３６７７３号公報
【特許文献２】特開２００６−１０７３５２号公報
【特許文献３】特開平１１−２５０２９号公報
【特許文献４】特開２００８−７１０１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ところで、内部クロック信号と受信データ信号のタイミング関係にはメモリコントローラを構成するＬＳＩ（Large Scale Integration ）内で遅延要因が介在し、受信信号に遅延ばらつきを生じる。伝送路長が例えば、０〔ｍｍ〕であっても、ＬＳＩ内の受信点ラッチのクロック基準で見れば、受信データには遅延ばらつきを持つことが知られている。この遅延幅は、クロック周期よりも長く、更に、データ幅よりも長い（例えば、１〔ＧＴ／ｓ〕伝送の場合、データ幅は１，０００〔ｐｓ〕である）。このような遅延ばらつきは、データ転送に障害を生じさせるおそれがある。【００１０】
そこで、本開示の信号受信回路、メモリコントローラ、プロセッサ、コンピュータ及び位相制御方法は、受信信号の位相タイミングの最適化を目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本開示の信号受信回路は、所定位相差を持つ複数のクロック信号を生成するクロック生成部と、前記複数のクロック信号から何れか１つのクロック信号を選択して出力するクロック信号選択部と、前記所定位相差を単位とする遅延量を超えない範囲で受信信号の位相を遅延させる第一の遅延部と、前記クロック信号選択部で選択されたクロック信号に基づいて、前記所定位相差を単位とする遅延量を変更し、前記第一の遅延部から出力される受信信号の位相を遅延させる第二の遅延部と、前記第一の遅延部の出力する受信信号と、前記クロック信号選択部の出力するクロック信号との位相差を検出する位相検出部と、前記検出された位相差を受け、所定位相差を単位とする遅延量を超えない範囲で前記第一の遅延部に前記受信信号の位相を遅延させ、前記位相差が前記所定位相差を超える場合に前記検出された位相差に基づいて前記クロック信号選択部に何れか１つのクロック信号を選択させ前記第二の遅延部における遅延量を変更する。
【００１２】
上記目的を達成するため、本開示のメモリコントローラ、プロセッサ又はコンピュータは、上記信号受信回路を備える。【００１３】
上記目的を達成するため、本開示の位相制御方法は、所定位相差を持つ複数のクロック信号を生成し、前記複数のクロック信号から何れか１つのクロック信号を選択して出力し、前記所定位相差を単位とする遅延量を超えない範囲で受信信号の位相を第一の遅延部で遅延させ、前記クロック信号選択部で選択されたクロック信号に基づいて、前記所定位相差を単位とする遅延量を変更し、前記第一の遅延部から出力される受信信号の位相を第二の遅延部で遅延させ、前記第一の遅延部の出力する受信信号と、前記クロック信号選択部の出力するクロック信号との位相差を検出し、前記検出された位相差を受け、所定位相差を単位とする遅延量を超えない範囲で前記第一の遅延部に前記受信信号の位相を遅延させ、前記位相差が前記所定位相差を超える場合に前記検出された位相差に基づいて何れか１つのクロック信号を選択させ前記第二の遅延部における遅延量を変更する。
【発明の効果】
【００１４】
本開示の受信回路、メモリコントローラ、プロセッサ、コンピュータ及び位相制御方法によれば、次のような効果が得られる。【００１５】
(1) 受信信号とクロック信号との位相差に対し、所定位相差を単位とする遅延量と、該遅延量を超えない範囲内の遅延とを併用してデータ信号の位相変動を解消するので、データ信号のタイミングを最適化できる。【００１６】
(2) データ信号のタイミングの最適化により、データ転送の信頼性を高めることができる。【００１７】
(3) 所定位相差を単位とする遅延量での遅延と、該遅延量を超えない範囲内の遅延とを併用して遅延量を制御するので、遅延処理の軽量化、回路規模を小さくでき、処理の迅速化が図られる。【００１８】
(4) マイナス遅延にも対応できる。【００１９】
(5) データ信号の基準位相から内部クロック位相に乗り換えることができ、位相差乗り換えに要する遅延量（＝位相差量）を得ることができる。【００２０】
(6) 位相差の乗り換えに要する遅延量を表す遅延情報の取出しが可能である。
【００２１】
そして、本発明の他の目的、特徴及び利点は、添付図面及び各実施の形態を参照することにより、一層明確になるであろう。
【図面の簡単な説明】
【００２２】
【図１】第１の実施の形態に係るメモリコントローラを示す図である。
【図２】位相制御の処理手順の一例を示すフローチャートである。
【図３】第２の実施の形態に係る信号受信回路、メモリコントローラ及びメモリの一例を示す図である。
【図４】信号受信動作を示すタイミングチャートである。
【図５】信号受信動作を示すタイミングチャートである。
【図６】受信ＤＱＳ信号及びＤＱ信号のタイミングを示すタイミングチャートである。
【図７】位相制御を説明するための図である。
【図８】多相クロック信号の生成を示すタイミングチャートである。
【図９】位相検出部の一例を示す図である。
【図１０】位相比較部の一例を示す図である。
【図１１】位相比較動作を示すタイミングチャートである。
【図１２】位相比較の論理動作及び出力状態を示す図である。
【図１３】位相検出部の一例を示す図である。
【図１４】遅延情報を示す図である。
【図１５】位相制御を示す図である。
【図１６】クロック乗換え動作を説明するための図である。
【図１７】クロック乗換え動作の一例を示すタイミングチャートである。
【図１８】クロック乗換え動作の一例を示すタイミングチャートである。
【図１９】クロック乗換え動作の一例を示すタイミングチャートである。
【図２０】第３の実施の形態に係る信号受信回路の一例を示す図である。
【図２１】他の実施の形態に係るプロセッサの一例を示す図である。
【図２２】他の実施の形態に係るコンピュータの一例を示す図である。
【図２３】メモリコントローラの比較例を示す図である。
【図２４】回路の遅延ばらつきの試算例を示す図である。
【図２５】ＤＩＭＭ上のクロック配線形態を示す図である。
【図２６】ＤＩＭＭ上の他のクロック配線形態を示す図である。
【発明を実施するための形態】
【００２３】
〔第１の実施の形態〕
【００２４】
第１の実施の形態は、位相検出部で受信信号とクロック信号との位相差を検出する。遅延制御部には、該位相差に応じ、所定位相差（基準位相差）を単位とする遅延量が設定される。そこで、遅延制御部では、該遅延量を超えない範囲で受信信号の位相を遅延させ、前記位相差が前記所定位相差を超える場合、前記遅延量を単位として受信信号の位相を変更する。所定位相差、例えば、９０度を単位とする位相差であり、遅延量はこの位相差を単位とする遅延量である。この遅延量を超えない範囲とは、遅延量を例えば、９０度とすれば、９０度未満の位相遅延である。
【００２５】
この第１の実施の形態について、図１を参照する。図１は、信号受信回路の一例を示す図である。図１に示す構成は一例であって、斯かる構成に限定されるものではない。
【００２６】
信号受信回路２は、本開示の信号受信回路の一例であって、この実施の形態では、メモリ４に接続されたメモリコントローラ６に設置され、受信信号として例えば、メモリ４から位相基準信号やデータ信号を受信する。この場合、メモリ４は信号源である。メモリコントローラ６は、メモリ４のインターフェイス回路であって、データの入出力手段であり、信号受信回路２を備えるＬＳＩ（Large Scale Integration ）で構成される。従って、メモリコントローラ６は、本開示のメモリコントローラの一例である。メモリ４は、例えば、ＤＤＲ  ＳＤＲＡＭ（Double Date Rate Synchronous Dynamic Random Access Memory ）である。このＤＤＲ  ＳＤＲＡＭは、クロック（ＣＫ）信号の二倍レートによりデータ転送するメモリである。
【００２７】
そこで、信号受信回路２は、ＬＳＩ内部クロック回路部（例えば、図２３のクロックツリー部６０６）で生成された基準クロック（ＣＬＫ）信号によりＣＫ信号を生成し、このＣＫ信号を受けたメモリ４が生成した位相基準（ＤＱＳ）信号及びデータ（ＤＱ）信号を受信する手段である。この信号受信回路２はＤＱＳ信号及びＤＱ信号の位相を制御する位相制御部８を備え、この位相制御部８は位相検出部１０と、遅延制御部１２とを備える。
【００２８】
位相検出部１０は、ＬＳＩ内部クロック回路部で生成された基準ＣＬＫ信号により、クロック生成部１４で生成したＣＬＫ信号と、第一の位相遅延部１６で位相を遅延させたＤＱＳ信号とを比較し、両者の位相差を検出する。この位相差は位相遅延の制御情報であって、クロック生成部１４に加えられ、この位相差を表す位相差情報（位相遅延情報）ＤＱＰＨＡＳＥが出力される。
【００２９】
遅延制御部１２は、位相検出部１０で得た位相差を受け、所定位相差を単位とする遅延量を超えない範囲でＤＱＳ信号の位相を遅延させ、前記遅延量を単位としてＤＱＳ信号の位相を変更する。そこで、この遅延制御部１２は、クロック生成部１４と、第一の位相遅延部１６と、第二の位相遅延部１８とを備える。
【００３０】
クロック生成部１４は例えば、システム内の基準ＣＬＫ信号を受け、既述のＣＫ信号を生成する手段であるとともに、前記位相差に応じて所定位相差を単位として位相差の異なるＣＬＫ信号を生成する手段である。所定位相差として９０度を単位とすれば、ＣＬＫ信号を４分周して９０度の位相差を持つ４相のＣＬＫ信号を生成する分周器を用いれば良い。
【００３１】
位相遅延部１６は、メモリ４から生成されたＤＱＳ信号と、位相検出部１０からの位相差とを受け、この位相差に応じ、ＤＱＳ信号の位相を遅延させる。この位相遅延部１６では、既述の遅延量を超えない範囲内でＤＱＳ信号の位相を遅延させ、この位相遅延に応じてＤＱ信号の位相を遅延させる。
【００３２】
また、位相遅延部１８は、位相遅延手段であるとともに、内部クロック位相の乗換手段である。位相検出部１０で検出された位相差が所定位相差を超えている場合には、位相遅延部１６で位相を遅延させたＤＱ信号にクロック生成部１４からＣＬＫ信号により、位相遅延を施すとともに、ＣＬＫ信号に同期化される。これにより、位相遅延量を最適化したＤＱ信号が出力される。
【００３３】
この位相制御について、図２を参照する。図２は、位相制御の処理手順の一例を示すフローチャートである。
【００３４】
この処理手順は、本開示の位相制御方法の一例であって、信号受信回路２の位相制御部８で実行される。この位相制御は、第２の実施の形態や第３の実施の形態の他、他の実施の形態に具体的に展開される。
【００３５】
この処理手順には図２に示すように、位相差検出処理（ステップＳ１１）と、遅延制御処理（ステップＳ１２、Ｓ１３、Ｓ１４）とが含まれている。ステップＳ１２ではＣＬＫ信号生成処理、ステップＳ１３では第１の位相遅延処理、ステップＳ１４では第２の位相遅延処理が実行される。
【００３６】
この処理手順の前提処理として、メモリ４はクロック生成部１４からＣＫ信号を受け、ＤＱＳ信号とＤＱ信号を生成する。ＤＱＳ信号及びＤＱ信号は、信号受信回路２に受信される。
【００３７】
そこで、位相差検出処理（ステップＳ１１）は、位相差検出機能を実行する処理であって、この処理では、メモリ４からのＤＱＳ信号と、クロック生成部１４からのＣＬＫ信号とを比較し、位相差を検出する。この場合、その位相差を位相差情報として出力する。
【００３８】
ＣＬＫ信号生成処理（ステップＳ１２）は、位相差に応じた遅延量を持つＣＬＫ信号の生成処理である。この処理では、位相差に応じ、所定位相差を単位として遅延量を設定し、クロック生成部１４で生成されたＣＬＫ信号に遅延量を設定し、該遅延量を持つＣＬＫ信号を生成する（ステップＳ１２）。
【００３９】
第１の位相遅延処理（ステップＳ１３）は、第１の位相遅延機能を実行する処理であって、この処理では、位相差検出処理で得られた位相差を受け、既述の所定位相差を単位とする遅延量を超えない範囲でＤＱＳ信号の位相を遅延させる。この場合、既述の所定位相差を例えば、９０度とすれば、この９０度の遅延量を超えない範囲の遅延量でＤＱＳ信号の位相を遅延させる。この場合、ＤＱ信号の位相も同様に遅延させる。
【００４０】
第２の位相遅延処理（ステップＳ１４）では、第２の位相遅延機能を実行する処理であって、この処理では、選択されたＣＬＫ信号が持つ遅延量により、ＤＱ信号の位相を遅延させる。この場合、ＤＱ信号の位相遅延は、既述の所定位相例えば、９０度を単位とする遅延である。
【００４１】
斯かる構成では、ＤＱＳ信号とＣＬＫ信号の位相差が例えば、９０度未満の位相差であれば、第１の位相遅延処理によってＤＱＳ信号の位相を遅延させる。そして、ＤＱＳ信号とＣＬＫ信号の位相差が例えば、９０度を超える位相差であれば、９０度の位相差を単位とする遅延と、９０度未満の位相差分の遅延とにより、ＤＱ信号の位相を遅延させることができる。従って、このような位相遅延処理によれば、次のような利点がある。
【００４２】
(1) 受信したＤＱ信号の位相変動を解消し、ＤＱ信号のタイミングを最適化することができる。マイナス遅延にも対応できる。
【００４３】
(2) ＤＱ信号のタイミングを最適化でき、データ転送の信頼性が高められる。
【００４４】
(3) ＤＱＳ信号とＣＬＫ信号との位相差に対し、所定位相差を単位とする遅延と、所定位相差未満の位相差に対応する遅延とを設定する。前者はＣＬＫ信号の選択により対応し、後者は位相遅延部１６による遅延で対応する。位相差が所定位相差を超える場合には、前者の遅延と後者の遅延とにより、位相差に対応して遅延量を制御する。これにより、データ信号の遅延処理の軽量化、回路規模を小さくでき、処理の迅速化が図られる。
【００４５】
〔第２の実施の形態〕
【００４６】
第２の実施の形態は、所定位相差を単位とする複数相のＣＬＫ信号を生成させ、このＣＬＫ信号によってＤＱ信号に遅延量を設定する。位相遅延を最適化したＤＱ信号を保持するデータ保持部が備えられている。
【００４７】
この第２の実施の形態について、図３を参照する。図３は、信号受信回路、メモリコントローラ及びメモリの一例を示す図である。図３において、図１と同一部分には同一符号を付してある。
【００４８】
信号受信回路２は、本開示の信号受信回路の一例であって、信号源として例えば、メモリ４からデータ信号を受信する手段である。メモリ４は例えば、ＤＤＲ３メモリであるＤＩＭＭで構成されている。このメモリ４は、メモリコントローラ６の信号受信回路２に対応して入力バッファ２０及び出力バッファ２２、２４を備える。
【００４９】
そこで、信号受信回路２は、位相検出部１０と、遅延制御部１２と、クロック生成部１４と、第一の位相遅延部１６と、第二の位相遅延部１８と、クロック出力部２８と、位相設定部３０と、セレクタ３１と、データ保持部３２とを備える。そして、遅延制御部１２は、既述の通り、クロック生成部１４と、第一の位相遅延部１６と、第二の位相遅延部１８とで構成される。
【００５０】
クロック生成部１４は、クロックジェネレータ３４と、セレクタ３６とを備えている。クロックジェネレータ３４は複数相のＣＬＫ信号を生成する手段であって、例えば、分周回路で構成される。分周回路で構成された場合、ＬＳＩ内部クロック回路部（例えば、図２３のクロックツリー部６０６）で生成されたＣＬＫ信号を分周し、複数相のＣＬＫ信号を生成する。この実施の形態では、例えば、２〔ＧＨｚ〕のＣＬＫ信号を４分周して５００〔ＭＨｚ〕のＣＬＫ信号を得て、０度、９０度、１８０度、２７０度の４相のＣＬＫ信号を生成している。
【００５１】
クロック出力部２８は、フリップフロップ（ＦＦ）３８及び出力バッファ４０を備え、この実施の形態では、クロックジェネレータ３４から２７０度のＣＬＫ信号を受け、ＣＫ信号をメモリ４へ出力する。ＦＦ３８はＣＬＫ信号を受け、このＦＦ３８の出力により、出力バッファ４０からＣＫ信号が出力される。
【００５２】
メモリ４からデータを読み出す場合、メモリ４は信号受信回路２から入力バッファ２０で受信したＣＫ信号によりＤＱＳ信号を生成し、このＤＱＳ信号に同期したＤＱ信号を生成する。出力バッファ２２がＤＱＳ信号を出力し、出力バッファ２４がＤＱ信号を出力する。ＤＱＳ信号及びＤＱ信号は同相である。
【００５３】
位相設定部３０は、ＤＱＳ信号及びＤＱ信号に所定の位相（９０度）を設定する手段である。そこで、この位相設定部３０は、ＤＱＳ信号側に入力バッファ４２、遅延回路（Delay Circuit 、以下、単に「ＤＬ」と称する）４４、インバータ４６を備え、ＤＱ信号側に入力バッファ４８、ＦＦ５２、５４を備える。
【００５４】
ＤＬ４４は、入力バッファ４２で受けたＤＱＳ信号に９０度の位相シフトを施す手段である。このＤＬ４４を通過したＤＱＳ信号は、５００〔ＭＨｚ〕のバースト（Burst ）ＣＬＫ信号である。
【００５５】
入力バッファ４８で受けたＤＱ信号は、ＤＱＳ信号によりＦＦ５２を介して出力され、また、インバータ４６で反転したＤＱＳ信号により、ＦＦ５４を介して出力される。
【００５６】
位相検出部１０は、クロック生成部１４に生成させたＣＬＫ信号と、位相遅延部１６からのＤＱＳ信号とを比較して位相差を検出し、この位相差を表す位相情報として位相差決定（ＤＱＰＨＡＳＥ）信号を出力する。そこで、この位相検出部１０は、サンプルホールド（Ｓ／Ｈ）回路５６と、位相検出器５８とを備える。Ｓ／Ｈ回路５６は、位相遅延部１６で位相遅延を受けたＤＱＳ信号をサンプルホールドし、位相比較のための２つのＤＱＳ信号を生成する。位相検出器５８は、これらのＤＱＳ信号と、ＣＬＫ信号とを比較して位相差を検出し、既述のＤＱＰＨＡＳＥ信号を出力する。このＤＱＰＨＡＳＥ信号は、ＤＱＳ信号の遅延量を表す情報信号であって、信号受信回路２から位相差情報として出力されるとともに、位相遅延部１６に加えられる。また、インバータ５９で反転した後、選択制御信号としてセレクタ３６に加えられている。
【００５７】
位相遅延部１６は、所定位相差を単位とする遅延量として例えば、９０度未満の範囲でＤＱＳ信号の位相を遅延させる手段であるとともに、ＤＱ信号に位相遅延を施す手段である。そこで、この位相遅延部１６は、遅延回路（ＤＬ）６０、６２、６４を備える。ＤＬ６０、６２、６４は可変遅延量を設定するが、この場合、ＤＬ６０は、ＤＱＰＨＡＳＥ信号を受け、ＤＬ６０の遅延能力の限界値である、９０度未満の遅延量をＤＱＳ信号に設定する。
【００５８】
また、ＤＬ６２は、ＦＦ５２側からのＤＱ信号を遅延させ、ＤＬ６４は、ＦＦ５４側からのＤＱ信号を遅延させる。この場合の位相遅延は、ＤＬ６２、６４の遅延能力の限界値である、９０度未満の遅延量である。
【００５９】
位相遅延部１８は、所定位相差を単位とする遅延量として例えば、９０度を単位としてＤＱ信号の位相を遅延させる手段であるとともに、ＤＱＳ位相から内部クロック位相への乗換手段である。そこで、この位相遅延部１８は、ＦＦ６６、６８及びインバータ７０を備える。ＤＱＰＨＡＳＥ信号の反転信号により、セレクタ３６で選択されたＣＬＫ信号を受け、ＦＦ６６から既述の遅延量で位相が遅延したＤＱ信号が得られる。また、セレクタ３６で選択されたＣＬＫ信号の反転信号より、ＦＦ６８から既述の遅延量で位相が遅延し、内部クロック位相に乗り換えたＤＱ信号が得られる。
【００６０】
セレクタ３１は、位相遅延部１８の複数出力から一つの出力をＣＬＫ信号に同期して選択する手段である。そこで、このセレクタ３１は、クロックジェネレータ３４のセレクタ出力（選択制御信号）を受け、既述のセレクタ３６の出力である４分周ＣＬＫ信号を選択情報に用いて、ＦＦ６６からのＤＱ信号と、ＦＦ６８からのＤＱ信号とを交互に選択する。
【００６１】
データ保持部３２は、ＦＦ６６、６８からのＤＱ信号の保持手段であるとともに、クロック乗換手段であり、ＦＦ７４を備えている。ＦＦ７４は、ＤＱ信号の保持機能を備え、ＣＬＫ信号に同期してＤＱ信号を出力する。この場合、ＦＦ７４は、セレクタ３１で選択されたＤＱ信号を出力する。従って、ＦＦ７４は、ＣＬＫ信号に同期してＤＱ信号を出力し、このＤＱ信号は、位相遅延を吸収したＤＱＳ位相から内部クロック位相に乗り換えることができる。
【００６２】
この信号受信動作について、図４及び図５を参照する。図４及び図５は、信号の受信動作を表すタイミングチャートである。図５は、図４のタイミングチャートの後半部分を示している。
【００６３】
図４（及び図５）において、Ａ、Ｂ、Ｃ・・・ＩがＤＱＳドメインであり、Ｊ、Ｋ、Ｌ・・・ＰがＩ ＣＬＫドメインである。説明を容易にするため、代表図として、図４を用いて説明する。
【００６４】
そこで、クロックジェネレータ３４には、図４のＡに示すように、ＣＬＫ信号が加えられ、メモリ４の出力バッファ２２には、図４のＢに示すように、ＤＱＳ信号が得られ、メモリ４の出力バッファ２４にはＤＱ信号が得られる。このＤＱ信号は、図４のＤに示すように、データｄ００、ｄ０１、ｄ０２、ｄ０３、ｄ０４、ｄ０５、ｄ０６、ｄ０７、ｄ１０、ｄ１１、ｄ１２、ｄ１３・・・で構成される。
【００６５】
ＤＬ４４の出力側には、図４のＣに示すように、ＤＱＳ信号を９０度だけ位相をシフトさせた信号ｄｑｓ９０が得られる。これに対応し、ＦＦ５２の出力側には、図４のＥに示すように、ＤＱ信号から得られた信号ｄｑ ｅｖｅｎ、ＦＦ５４の出力側には、図４のＦに示すように、ＤＱ信号から得られた信号ｄｑ ｏｄｄが得られる。信号ｄｑ ｅｖｅｎは、データｄ００、ｄ０２、ｄ０４、ｄ０６、ｄ１０・・・で構成される。また、信号ｄｑ ｏｄｄは、データｄ０１、ｄ０３、ｄ０５、ｄ０７、ｄ１１・・・で構成される。
【００６６】
ＤＬ６０の出力側には、図４のＧに示すように、ＤＱＳ信号を遅延させた信号ｄｄｑｓが得られる。これに対応し、ＤＬ６２の出力側には、図４のＨに示すように、ＤＱ信号を遅延させた信号ｄｄｑ ｅｖｅｎが得られ、ＤＬ６４の出力側には、図４のＩに示すように、ＤＱ信号を遅延させた信号ｄｄｑ ｏｄｄが得られる。信号ｄｄｑ ｅｖｅｎは、データｄ００、ｄ０２、ｄ０４、ｄ０６、ｄ１０・・・で構成される。また、信号ｄｄｑ ｏｄｄは、データｄ０１、ｄ０３、ｄ０５、ｄ０７、ｄ１１・・・で構成される。
【００６７】
クロックジェネレータ３４には、図４のＪに示すように、ＣＬＫ信号から得られた信号ｅｖｅｎ ｅｎが得られる。また、インバータ７０の出力側には、図４のＫに示すように、ＣＬＫ信号から得られた信号ｏｄｄ ｅｎが得られる。これに対応し、ＦＦ６６の出力側には、図４のＭに示すように、信号Ｉｄｑ ｅｖｅｎが得られ、ＦＦ６８の出力側には、図４のＮに示すように、信号Ｉｄｑ ｏｄｄが得られる。Ｉｄｑ ｅｖｅｎは、データｄ００、ｄ０２、ｄ０４、ｄ０６、ｄ１０・・・で構成される。また、信号Ｉｄｑ ｏｄｄは、データｄ０１、ｄ０３、ｄ０５、ｄ０７、ｄ１１・・・で構成される。
【００６８】
セレクタ３１には、図４のＬに示すように、クロックジェネレータ３４から選択制御信号ｓｅｌ（ＣＬＫ信号）が与えられる。これに対応し、セレクタ３１には、図４のＯに示すように、信号ｄｑｏが得られる。この信号ｄｑｏは、データｄ００、ｄ０１、ｄ０２、ｄ０３、ｄ０４、ｄ０５、ｄ０６、ｄ０７、ｄ１０・・・で構成される。
【００６９】
そして、ＦＦ７４の出力側には、図４のＰに示すように、出力データ信号Ｏ ＤＱが得られる。この出力データ信号Ｏ ＤＱは、データｄ００、ｄ０１、ｄ０２、ｄ０３、ｄ０４、ｄ０５、ｄ０６、ｄ０７・・・で構成される。
【００７０】
このタイミングチャートにおいて、処理（ａ）では、ＤＱＳ信号の位相を９０度だけ遅らせる。この場合、ＤＱＳ信号（図４のＢ）のポジティブエッジ（ＬレベルからＨレベルに遷移するレベル）に応じて信号ｄｑｓ９０（図４のＣ）のネガティブエッジ（ＨレベルからＬレベルに遷移するレベル）を生成する。これに応じて、処理（ｃ）（図４のＧ、Ｈ、Ｉ、Ｊ）が実行される。
【００７１】
処理（ｂ）では、９０度だけ位相を遅らせたＤＱＳ信号（ｄｑｓ９０）の立上りエッジ、立下りエッジでＤＱ信号を取り込む。信号ｄｑｓ９０（図４のＣ）のポジティブエッジ、ＤＱ信号（図４のＤ）のｄ０２に対応し、処理（ｂ）の実行により、信号ｄｑ ｅｖｅｎ（図４のＥ）のデータｄ０２が得られる。これに対応し、処理（ｄ）として、信号ｄｄｑ ｅｖｅｎ（図４のＨ）のデータｄ０２が得られる。
【００７２】
処理（ｃ）は遅延制御部１２で実行され、この処理（ｃ）では、ＤＱＳ信号を遅らせた信号ｄｄｑｓ（図４のＧ）の立下りと、ＣＬＫ信号（５００〔ＭＨｚ〕相当）の立下りのタイミングが一致するように遅延とタイミングを調整する。信号ｄｄｑｓの立下りがｅｖｅｎ ｅｎ＝Ｌのとき、ＣＬＫ信号の立下りエッジと一致するように、位相検出部１０の出力により、ＤＬ６０の遅延量を制御する。
【００７３】
処理（ｄ）は、ＤＱ信号（ｄｄｑ ｅｖｅｎ，ｄｄｑ ｏｄｄ）に処理（ｃ）と同じ遅延を付ける。信号ｄｑｓ９０（図４のＣ）のネガティブエッジ、ＤＱ信号（図４のＤ）のデータｄ０３に対応し、処理（ｂ）の実行により、信号ｄｑ ｏｄｄ（図４のＦ）のデータｄ０３が得られる。これに対応し、処理（ｄ）では、ＤＱ信号（ｄｄｑ ｅｖｅｎ，ｄｄｑ ｏｄｄ）をＣＬＫ信号で取り込む。即ち、処理（ｄ）では、信号ｄｄｑ ｏｄｄ（図４のＩ）のデータｄ０３が得られる。
【００７４】
処理（ｅ）は、遅延させたＤＱ信号（ｄｄｑ ｅｖｅｎ，ｄｄｑ ｏｄｄ）をＣＬＫ信号で取り込む（即ち、ＣＬＫ信号の乗換えである）。信号ｄｄｑ ｅｖｅｎ（図４のＨ）のデータｄ０２により、信号Ｉｄｑ ｅｖｅｎ（図４のＭ）のデータｄ０２が得られる。信号ｄｄｑ ｏｄｄ（図４のＩ）のデータｄ０３に応じて、信号Ｉｄｑ ｏｄｄ（図４のＮ）のデータｄ０３が得られる。即ち、図４のＨ、Ｉ、Ｊ、Ｋの処理によって、ＤＱＳ信号にＣＬＫ信号の乗り換えが実行される。
【００７５】
処理（ｆ）は、ＣＬＫ信号で取り込んだＤＱ信号（ｌｄｑ ｅｖｅｎ，ｌｄｑ ｏｄｄ）を多重化し、１〔Ｇｂｐｓ〕化する。信号Ｉｄｑ ｅｖｅｎ（図４のＭ）のデータｄ０２により、信号ｄｑｏ（図４のＯ）のデータｄ０２が得られ、このデータｄ０２に対応して、出力データ信号Ｏ ＤＱ（図４のＰ）のデータｄ０２が得られる。
【００７６】
次に、ＤＱＳ信号によるＤＱ信号の取り込みについて、図６を参照する。図６は、受信ＤＱＳ信号及びＤＱ信号のタイミングを示す図である。
【００７７】
メモリ４｛例えば、ＤＤＲ３メモリ（ＤＩＭＭ）｝からデータを読み出す場合、メモリ４は、信号受信回路２から受信したＣＫ信号からＤＱＳ信号を生成する。このＤＱＳ信号と同期した、ＤＱ信号をＤＤＲ（Double Data Rate）で出力する。ＤＱＳ信号とＤＱ信号の位相関係は図６のＡ及びＣに示すように、ＤＱＳ信号の変化と、ＤＱ信号の変化は同位相である。このため、信号受信回路２側では、ＤＬ４４によりＤＱＳ信号をｔＣＫ／４（図６のＢ）だけ遅延させ、ＤＱ信号の変化の中央にＤＱＳ信号の変化点をシフトさせる。図６のＢは、ｔＣＫ／４だけシフトさせたＤＱＳ信号（図６のＡ）である。これにより、ＤＱＳ信号の両エッジを使用し、ＤＱ信号を信号受信回路２側に取り込む。
【００７８】
次に、ＤＱ信号の内部クロック位相への乗換えについて、図７を参照する。図７は、位相制御を説明するための図である。
【００７９】
信号受信回路２では、受信したＤＱＳ信号を位相検出器５８の４相ＣＬＫ信号の中の一つと位相比較され、位相差が求められる。この位相が一致するように、ＤＬ６０で遅延処理が施される。このＤＬ６０による遅延は位相検出部１０の位相差決定（ＤＱＰＨＡＳＥ）信号で決定される。位相検出器５８は、ＤＱＰＨＡＳＥ信号に基づいて４相ＣＬＫ信号の中の一つと、遅延させたＤＱＳ信号との位相を比較し、ＤＱＳ信号の位相がＣＬＫ信号の位相に合うように遅延量（＝ＤＱＰＨＡＳＥ）を調整する。
【００８０】
この場合、ＤＱＳ信号がＣＬＫ信号より遅延している場合には、遅延量（ＤＱＰＨＡＳＥ）を少なくなる方向に、また、ＤＱＳ信号がＣＬＫ信号より進んでいる場合には、遅延量（ＤＱＰＨＡＳＥ）を多くする方向に制御する。
【００８１】
ＤＬ６０では、位相の最大遅延量がｔＣＫ／４（＝４相ＣＬＫ信号の相間遅延差）未満である。そこで、ＤＬ６０の最大遅延量以上の遅延が必要な場合には、４相ＣＬＫ信号の選択を１相分だけ早いＣＬＫ信号にシフトさせた後、ＤＬ６０の遅延量を最小にして再度、位相比較をする。更に、大きい遅延を得るためには、再度、ＤＬ６０の遅延量を大きくすればよい。
【００８２】
その場合、再び、ＤＬ６０の遅延量が最大遅延量（可変遅延量の限界）に達した場合には、４相ＣＬＫ信号の選択をさらに１相分だけ早い方に変化させればよい。要するに、ＤＬ６０の最大遅延量未満の遅延と、４相ＣＬＫ信号の１相分だけ早いＣＬＫ信号のシフトによる遅延制御を繰り返す。
【００８３】
この遅延制御では、例えば、現在遅延差が４０度であったとすれば、０度位相のＣＬＫ信号と、４０度位相分の遅延とで位相遅延が行われる。次第に、遅延が大きくなれば、ＤＬ６０の遅延量を大きくすればよい。この場合、遅延が９０度になると、ＤＬ６０ではその遅延を実現できないので、ＣＬＫ信号を２７０（−９０）度に切り換え、その場合、ＤＬ６０の遅延を０とすればよい。そこで、図７において、領域Ｉは、遅延が０度以上、９０度未満の範囲（黒丸）、領域IIは、遅延が９０度以上、１８０度未満の範囲（斑点丸）、領域III は、遅延が１８０度以上、２７０度未満の範囲（斜線丸）、領域IVは、遅延が２７０度以上、３６０度（０度）未満の範囲（白丸）の制御を示している。
【００８４】
次に、４相ＣＬＫ信号の生成について、図８を参照する。図８は、４相ＣＬＫ信号の生成を示すタイミングチャートである。
【００８５】
４相ＣＬＫ信号は、基準ＣＬＫ信号に基づいてクロックジェネレータ３４により生成される。クロックジェネレータ３４が分周回路で構成された場合では、図８のＡに示すように、ＣＬＫ信号が与えられると、このＣＬＫ信号を分周し、図８のＢに示すように、位相差０度のＣＬＫ信号が生成される。この位相差０度のＣＬＫ信号を基準にし、所定の位相差を持つ図８のＣ、Ｄ、Ｅに示すＣＬＫ信号を生成する。図８のＣは、位相差０度のＣＬＫ信号から時間Ｔ1 だけ遅延した位相差９０度のＣＬＫ信号である。図８のＤは、位相差０度のＣＬＫ信号から時間Ｔ2 だけ遅延した位相差１８０度のＣＬＫ信号である。図８のＥは、位相差０度のＣＬＫ信号から時間Ｔ3 だけ遅延した位相差２７０度のＣＬＫ信号である。
【００８６】
次に、位相検出部１０について、図９、図１０、図１１及び図１２を参照する。図９は、位相検出部の一例を示す図、図１０は、位相比較部の一例を示す図、図１１は、位相検知動作、図１２は、位相比較の論理動作及び出力状態を示す図である。
【００８７】
位相検出部１０は、既述の通りＳ／Ｈ回路５６と、位相検出器５８とを備えている。Ｓ／Ｈ回路５６は、図９に示すように、ＤＬ６０で遅延させたＤＱＳ信号を受け、このＤＱＳ信号を信号ａとすると、同等の信号ａ’と、信号ａから位相を僅かに遅延（微細遅延）させた信号ｂを生成する。位相検出器５８は、位相の異なる二つの信号ａ’、ｂを用いて、ＣＬＫ信号の位相を検出する。
【００８８】
位相検出器５８には、位相比較部８０が設置されている。この位相比較部８０は、図１０に示すように、第１のＦＦ８２と、第２のＦＦ８４が設置されている。各ＦＦ８２、８４には共通にＣＬＫ信号が加えられ、一方のＦＦ８２には信号ａ’、他方のＦＦ８４には信号ｂが加えられている。
【００８９】
各ＤＱＳ信号、信号ａ’、ｂ及びＣＬＫ信号について、第１１図のＡに示すＤＱＳ信号に対し信号ａ’には、第１１図のＢに示すように、ＤＬ６０による遅延ｔDLが生じる。また、信号ａ’に対し、信号ｂは、第１１図のＣに示すように、微小遅延ｔSHが生じている。破線ｒt は比較基準位置である。
【００９０】
このようなＤＱＳ信号、信号ａ’、ｂ及びＣＬＫ信号が位相比較部８０に加えられると、ＦＦ８２の出力ＦＦＯ１、ＦＦ８４の出力ＦＦＯ２には、図１２に示すように、位相の遅延情報が得られる。
【００９１】
この位相の遅延情報について、１）出力ＦＦＯ１＝Ｌ、ＦＦＯ２＝Ｌの場合、遅延過多（ＤＱＳの位相を早くする）である。２）出力ＦＦＯ１＝Ｌ、ＦＦＯ２＝Ｈの場合、遅延１８０度反対である。３）出力ＦＦＯ１＝Ｈ、ＦＦＯ２＝Ｌの場合、遅延適当（ＯＫ）である。４）出力ＦＦＯ１＝Ｈ、ＦＦＯ２＝Ｈの場合、遅延不足（ＤＱＳの位相を遅くする）である。
【００９２】
次に、位相検出部１０について、図１３、図１４及び図１５を参照する。図１３は、位相検出部の一例を示す図、図１４は、遅延情報を示す図、図１５は、遅延情報で位相を表した図である。図１３において、図３、図９と同一部分には同一符号を付してある。
【００９３】
位相検出部１０には、図１３に示すように、Ｓ／Ｈ回路５６及び位相検出器５８が備えられる。位相検出器５８は、既述の位相比較部８０と、第１のカウンタ８６及び第２のカウンタ８８を備えている。
【００９４】
Ｓ／Ｈ回路５６は、ＤＬ６０で得られる信号ａ（＝ＤＱＳ信号）から信号ａ’、ｂを生成する。位相比較部８０は、ＣＬＫ信号と信号ａ’、ｂとを比較し、出力ＦＦＯ１、ＦＦＯ２（図１０、図１２）を得る。各出力ＦＦＯ１、ＦＦＯ２は、図１３に示すように、位相の遅延情報を構成する。この遅延情報は例えば、図１４に示すように、７〔ｂｉｔ〕のディジタル情報（即ち、７桁の２進数）で表すことができる。
【００９５】
この遅延情報において、下位３桁（３〔ｂｉｔ〕）は、ＤＬ６０に対する遅延制御情報であり、この実施の形態では、９０度未満の遅延調整情報である。中位２桁（２〔ｂｉｔ〕）は、クロック生成部１４に対するＣＬＫ選択情報であって、この実施の形態では、所定位相差９０度を単位とする遅延量選択情報である。また、上位２桁（２〔ｂｉｔ〕）は、位相が何周したか即ち、その周回数を表す。クロック生成部１４に対するクロック選択情報であり、この実施の形態では、所定位相差９０度を単位とする遅延量選択情報である。
【００９６】
そこで、この位相制御では、Ｓ／Ｈ回路５６がＤＱＳ信号に僅かな遅延を付加した信号ａに更に微小な遅延を付加した信号ｂを生成する。位相検出器５８は、信号ａ’、ｂとＣＬＫ信号との比較により、ＤＱＳ信号の位相を判定する。カウンタ８６は、位相比較部８０の位相検出の出力をもとに、検出された位相信号を積分する手段である。この位相信号の積分は誤動作防止のためである。
【００９７】
そこで、カウンタ８６は、位相信号（位相比較部８０の出力）を計数し、その計数値がカウンタ８８に加えられる。カウンタ８６の計数値が予め決めた所定値（閾値）を超えたら、それに応じてカウンタ８８の計数値を増加又は減少させ、カウンタ８６の計数値をリセットする。カウンタ８６の計数値は、既述の閾値を、プラス側に超える場合と、マイナス側に超える場合がある。その計数値がプラス側に超える場合には、カウンタ８８の計数値を増加させる。また、その計数値がマイナス側に超える場合には、カウンタ８８の計数値を減少させる。
【００９８】
カウンタ８８の出力は遅延情報（図１４）であり、この遅延情報は、ＤＬ６０の遅延制御、クロック生成部１４のＣＬＫ選択、即ち、位相変更に用いられる。
【００９９】
この遅延情報は、図１４に示すように、任意のビット（bit ）長のディジタル量であり、その初期値を例えば、”0000000 ”とする。そこで、ＤＬ６０では、この遅延情報のうち、下位３〔bit 〕を使って自身の通過遅延が決められる。この実施の形態では、９０度位相を８等分したうちの一つの遅延（０〜７／８×９０度）を実現している。図１５に示すように、周回上の黒丸、斑丸、斜線丸、白丸の角度である。図１５において、遅延情報で位相を表現した例である。
【０１００】
この場合、１周の３６０度を３２等分して表現しているので、図１５において、第一象限（Ｉ）の遅延情報は、遅延情報がｘｘ００ｘｘｘとなる。第二象限（II）の遅延情報は、遅延情報がｘｘ０１ｘｘｘとなる。第三象限（III ）の遅延情報は、遅延情報がｘｘ１０ｘｘｘとなる。第四象限（IV）の遅延情報は、遅延情報がｘｘ１１ｘｘｘとなる。そして、遅延がｎ周した場合に下５〔bit 〕が同じになる。
【０１０１】
そこで、ＣＬＫ信号の選択は、遅延情報のうち、下位５〔bit 〕目及び４〔bit 〕目（即ち、中位２〔bit 〕）を使って、選択すべき位相を持つＣＬＫ信号を選択している。
【０１０２】
ここで、ＤＬ６０に例えば、遅延線を用いて、その長さが無限であれば、このＤＬ６０のみで位相調整が可能であるが、これは不可能である。現実にはその長さが有限であり、この遅延回路のみで位相調整をすることができない。しかも、遅延回路では、遅延を付加することはできるが、マイナス遅延はできない。
【０１０３】
そこで、位相調整において、９０度を８等分（３６０度を３２等分）した精度で遅延調整する場合には、位相遅延情報（図１４）の下位３〔bit 〕が９０度未満の調整量となる。この場合、中位２〔bit 〕は、９０度単位でどの位相を使うかの情報であって、これを９０度を単位とする位相遅延を持つＣＬＫ信号の選択に用いる。また、上位２〔bit 〕は、位相を何周したかを表す信号となる。そして、この回路の位相追従範囲は、この遅延情報を何〔bit 〕で表すかによって決定されることになる。
【０１０４】
このように、斯かる位相調整では、ＤＬ６０による遅延調整と、ＣＬＫ信号による位相選択との併用により、ＤＱ信号の位相調整の自由度を拡大している。即ち、位相のマイナス遅延、過大な位相遅延の双方を仮想的に実現している。このため、遅延調整をＤＬ６０のみによって行う場合と比べ、以下の利点がある。
【０１０５】
ａ) ＤＬ６０は遅延量に比例して大きくなるが、ＣＬＫ信号選択を用いた上記構成では、全体の回路規模を小さくできる。
【０１０６】
ｂ) カウンタ８６、８８のビット数を増加するだけで、かなり広い範囲（理論的には無限）の遅延に対応できる。
【０１０７】
ｃ) マイナス遅延にも対応できる。ＤＬ６０のみで実現する場合、最小値を見越したオフセット遅延を付ける必要があるが、ＣＬＫ信号選択を用いた上記構成では、このようなオフセット遅延は不要である。
【０１０８】
次に、クロック乗換えについて、図１６、図１７、図１８及び図１９を参照する。図１６は、クロック乗換え動作を説明するための図、図１７、図１８及び図１９はクロック乗換え動作の一例を示すタイミングチャートである。図１６において、図３と同一部分には同一符号を付してある。
【０１０９】
位相制御部８では、クロック乗換えの説明のため、図１６に示すように、既述の位相検出部１０、遅延制御部１２の位相遅延部１６、１８とともに、位相設定部３０を抽出している。即ち、信号受信回路２から位相検出部１０を抽出し、位相設定部３０からＦＦ５２、位相遅延部１６からＤＬ６０、６２、位相遅延部１８からＦＦ６６を抽出して示している。
【０１１０】
この場合、ＦＦ５２からＤＱ信号（データ）をＦＦ６６に伝搬する場合、ＤＱＳ信号の位相がばらつく。この位相ばらつきに対し、ＦＦ５２のＣＬＫ（ＤＱＳ）とＦＦ６６（ＣＬＫ）の位相関係をＤＬ６０を使って位相遅延（遅延補完）を行うが、これではＤＬ６０、６２が大きくなるので、あまり大きな遅延は実現できない。そこで、ＤＬ６０、６２による位相調整だけでなく、ＦＦ６６側に設定するＣＬＫ信号の位相を変更することにより、クロック乗換えのための位相制御を行っている。即ち、位相差が９０度を超える場合には、９０度の位相を単位としてＣＬＫ信号の位相を変更し、９０度未満の場合にはＤＬ６０により位相調整をする。この場合、９０度単位での位相調整は、ＣＬＫ信号を逆向き（位相を早める方向）に制御し、等価的に遅延量の値を大きくしたい場合にＣＬＫ信号の位相を早めている。
【０１１１】
この位相調整について、図１７は、ＤＱＳ信号（図１７のＢ）の位相がＣＬＫ信号（図１７のＡ）より僅か（９０度未満）に進んでいる場合である。この場合には、ＤＬ６０を用いて、ＤＱＳ信号とＣＬＫ信号との位相差Ｔａ（＜９０度）に応じてＤＱＳ信号の位相を遅延させればよい。この場合、ＤＱ信号には、ＤＬ６２により同様に位相調整が行われる。
【０１１２】
図１８に示すように、ＤＱＳ信号（図１８のＢ）の位相がＣＬＫ信号（図１８のＡ）より大きく（位相差Ｔｂ＞９０度）進んでいる場合には、ＤＱＳ信号の位相を多く遅延させる必要がある。この場合には、ＤＬ６０の遅延と、ＣＬＫ信号の選択とを併用することとなる。
【０１１３】
この場合、図１９に示すように、ＣＬＫ信号（図１９のＡ）の位相を９０度だけ早めたＣＬＫ信号に切り換えると、そのＣＬＫ信号（図１９のＡ）とＤＱＳ信号（図１９のＢ）の位相は僅かにずれた状態となる。その位相差Ｔｃが９０度未満（Ｔｃ＜９０度）であれば、ＤＬ６０を用いて、その位相差Ｔｃに応じてＤＱＳ信号の位相を遅延させればよい。この場合、ＤＱ信号は、ＣＬＫ信号の変更とＤＬ６２による位相調整が行われる。この結果、位相遅延に対する位相制御を行い、データ信号のタイミングを最適化できる。
【０１１４】
上記実施の形態について、特徴事項や利点を列挙すれば、次の通りである。
【０１１５】
(1) 上記実施の形態では、メモリコントローラ６の信号受信回路２が位相検出部１０と遅延制御部１２とを含んでいる。遅延制御部１２はクロックジェネレータ３４を備え、ＣＬＫ信号から複数相のＣＬＫ信号として、所定位相差を持つ４相のＣＬＫ信号を生成している。位相検出部１０には、メモリ４から生成されたＤＱＳ信号と、遅延処理が施されたＣＬＫ信号とを比較して位相差を求める位相検出器５８を備えている。
【０１１６】
(2) 上記実施の形態では、ＤＬ６０の遅延量と、４相ＣＬＫ信号から選択されるＣＬＫ信号による位相選択とにより、遅延を信号変化に追従させることができる。具体的には、遅延情報（ＤＱＰＨＡＳＥ）を生成及び記憶するカウンタ８６、８８のビット数に応じて遅延を信号変化に追従させることができる。
【０１１７】
(3) 遅延量を少なくする場合には、ＤＬ６０の遅延量を小さくし、その遅延が０より小さな遅延は得られない。この場合、４相ＣＬＫ信号から１相分だけ早いＣＬＫ信号を選択し、ＤＬ６０の遅延量を最大（＝４相ＣＬＫ信号の相間遅延差）にすることにより、同様の効果が得られる。
【０１１８】
(4) それ故、信号受信回路２では、ＤＱＳ信号の変化位相と、信号受信回路２でのクロック位相を最適状態に保ちながら、ＤＱ信号（データ）をＤＱＳ位相から内部クロック位相に乗り換えることができる。更に、位相差乗り換えに要する遅延量（＝位相差量）が遅延情報として得られ、これを出力することができる。
【０１１９】
(5) この信号受信回路２では、遅延用のバッファ（８／３２ｔｃｋ）と４つの位相が異なる波長を生成するクロックジェネレータ３４を用いればよい。また、この信号受信回路２では、メモリ４からのＤＱ信号の高速化に伴う、到着時間のばらつき（例えば、温度等によるばらつき）に対応することができ、遅延時間等の遅延情報をプロセッサ等の上位回路に通知することができる。上記回路では、この遅延情報をメモリコントローラ６の設計や制御等に利用できる。また、クロックジェネレータ３４を用いるので、小さなバッファで遅延時間を測定することができる。
【０１２０】
(6) 信号受信回路２は、位相制御部８として位相検出部１０及び遅延制御部１２を備え、位相検出部１０は、入力データの位相基準信号（ＤＱＳ）と内部基準クロックとを比較する位相比較部８０を備えている。位相検出部１０はＣＬＫ信号との比較により、ＤＱＳ信号の遅延量（ＤＱＰＨＡＳＥ）を決定し、出力する。位相遅延部１６では、位相検出部１０の出力信号を受信し、入力データの位相基準信号（ＤＱＳ）の遅延量を変える可変遅延手段としてＤＬ６０を備える。また、位相遅延部１６では、位相検出部１０の出力信号を受信し、受信データの遅延量を変える可変遅延手段として、ＤＬ６２、６４を備える。また、遅延制御部１２にはクロック生成部１４が備えられ、このクロック生成部１４は、位相検出部１０の出力信号を受信し、分周出力の位相を切り換える。具体的には、クロックジェネレータ３４が例えば、分周器によって構成され、４相のＣＬＫ信号を生成する。このＣＬＫ信号の選択手段として、セレクタ３６が備えられ、このセレクタ３６には、位相検出部１０から遅延情報が選択情報として加えられる。この結果、セレクタ３６は、４相のＣＬＫ信号から遅延量に適合するＣＬＫ信号を選択し、このＣＬＫ信号を出力する。そして、信号受信回路２には、データ保持部３２が備えられ、このデータ保持部３２が例えば、ＦＦ７４で構成され、信号受信回路２の出力データを取り込み、保持する。
【０１２１】
(7) Ｓ／Ｈ回路５６が可変遅延器で構成されてもよい。
【０１２２】
(8) 遅延量（ＤＱＰＨＡＳＥ）がディジタル量として出力される。
【０１２３】
(9) クロックジェネレータ３４が分周器で構成され、この分周器に設定される分周比（ＣＫＧＥＮ）が２n （但し、ｎは１又は２以上の自然数）に設定される。
【０１２４】
(10)  ＤＬ４４、５０、６０、６２、６４は、遅延回路に代え、位相遅延回路で構成してもよい。
【０１２５】
〔第３の実施の形態〕
【０１２６】
第３の実施の形態は、位相差から得られる遅延情報（ＤＱＰＨＡＳＥ）として、第１の遅延情報（dqphase1）と、第２の遅延情報（dqphase2）とを用いている。この場合、第１の遅延情報は、所定位相差を単位とする遅延量であって、位相基準信号の位相を例えば、９０度単位で変更する遅延量である。また、第２の遅延情報は、所定位相差を単位とする遅延量を超えない範囲で位相基準信号の位相を遅延させるための遅延量である。
【０１２７】
この第３の実施の形態について、図２０を参照する。図２０は、第３の実施の形態に係る信号受信回路の一例を示す図である。図２０において、図３と同一部分には同一符号を付してある。
【０１２８】
この実施の形態の位相検出部１０は、上記実施の形態と同様に、Ｓ／Ｈ回路５６と、位相検出器５８とを備えている。Ｓ／Ｈ回路５６は、上記実施の形態と同様であるので、その説明を省略する。
【０１２９】
また、位相検出器５８は、遅延情報（ＤＱＰＨＡＳＥ）として、第１の遅延情報dqphase1と、第２の遅延情報dqphase2とを得ている。この場合、dqphase1は、既述の遅延情報（図１４）の上位４〔bit 〕分の情報であり、dqphase2は、既述の遅延情報（図１４）の下位３〔bit 〕分の情報である。
【０１３０】
斯かる構成では、遅延情報dqphase1がクロック生成部１４側に伝達される。これにより、クロック生成部１４は、遅延情報に応じた遅延量を持つＣＬＫ信号を出力する。この場合、位相検出器５８及びＦＦ６６には、クロック生成部１４から同相のＣＬＫ信号が加えられ、ＦＦ６８にはその反転ＣＬＫ信号が加えられる。同様に、クロック生成部１４からセレクタ３１に選択制御信号が加えられる。また、dqphas2 がＤＬ６０、６２、６４に付与される。
【０１３１】
このような構成によっても、第２の実施の形態と同様に、位相差に応じたＤＱＳ信号、ＤＱ信号に対する位相遅延を行うことができる。そして、各部の動作波形は第２の実施の形態（図３、図４及び図５）と同様であるので、図３に付した記号を図２０に付している。詳細な説明は、第２の実施の形態で述べた通りであるので省略する。
【０１３２】
〔他の実施の形態〕
【０１３３】
(1) 上記実施の形態では、信号受信回路として、メモリコントローラ６に設置される信号受信回路２を例示したが、本開示の信号受信回路は上記実施の形態に限定されない。例えば、本開示の信号受信回路は、メモリコントローラ６等のメモリインターフェイス回路以外に使用し、位相変動を伴う信号の受信に用いられる。
【０１３４】
(2) 上記実施の形態では、メモリコントローラ６について述べたが、本開示のメモリコントローラは上記実施の形態に限定されない。例えば、本開示のメモリコントローラを用いてプロセッサ１００（図２１）を構成してもよいし、コンピュータ２００（図２２）を構成してもよい。
【０１３５】
(3) プロセッサ１００は例えば、ＣＰＵ（Central Processing Unit ）や、ＭＰＵ（Micro Processor Unit）に構成される。図２１に示すように、このプロセッサ１００は、メモリ４のデータ転送を制御するメモリコントローラ６と、演算処理等を実行する手段として演算処理部１０２とを併設してもよい。この場合、メモリコントローラ６には既述の信号受信回路２を構成してもよい。斯かる構成によっても、上記実施の形態における効果が得られ、データ転送の高速化や、信頼性を向上させることができる。
【０１３６】
(4) コンピュータ２００は、図２２に示すように、ＣＰＵ２０２とメモリ４との間に設置されるチップセット２０４の内部にメモリコントローラ６を備えてもよい。この場合、メモリコントローラ６には、既述の信号受信回路２を構成してもよい。斯かる構成によっても、上記実施の形態における効果が得られ、データ転送の高速化や、信頼性を向上させることができる。
【０１３７】
(5) ＣＰＵ２０２の内部にメモリコントローラ６を備え、このメモリコントローラ６の内部に既述の信号受信回路２を備える構成としてもよい。斯かる構成によっても、上記実施の形態における効果が得られ、データ転送の高速化や、信頼性を向上させることができる。
【０１３８】
(6) 上記実施の形態では、基準となる内部クロック信号の周波数を２〔ＧＨｚ〕に設定し、位相比較のためのクロック信号を５００〔ＭＨｚ〕の周波数に分周したクロック信号を用いているが、これに限定されない。設定するクロック信号の周波数は任意であり、上記実施の形態に記載した数値は一例にすぎない。
【０１３９】
(7) 上記第１の実施の形態に記載した位相制御の処理手順（図２）において、前記遅延量を単位として位相差を持つ複数のクロック信号を生成するステップを含み、前記位相差に応じて前記クロック信号を選択してもよい。更に、第二の位相遅延部１８で位相遅延させた出力データをデータ保持部３２に保持する機能を実行するステップを含んでもよい。
【０１４０】
〔比較例〕
【０１４１】
比較例は、位相変動を伴う信号の信号受信回路であって、メモリコントローラの信号受信回路の一例である。
【０１４２】
この比較例について、図２３、図２４、図２５及び図２６を参照する。図２３は、メモリコントローラの比較例を示す図、図２４は、回路の遅延ばらつきの試算例を示す図、図２５は、ＤＩＭＭ上のクロック配線形態を示す図、図２６は、ＤＩＭＭ上の他のクロック配線形態を示す図である。
【０１４３】
ＤＩＭＭからＤＤＲ信号を最も単純に受信するには、図２３に示すように、メモリコントローラ６００を構成すればよい。メモリコントローラ６００には、ＤＩＭＭ６０２から信号を受信する手段として信号受信回路６０４が設置され、この信号受信回路６０４にクロック信号を付与する手段としてクロックツリー部６０６が設置されている。クロックツリー部６０６及び信号受信回路６０４はＬＳＩで構成されている。
【０１４４】
この場合、信号受信回路６０４は、入力データの位相が変動する信号を受信し、ＤＤＲメモリインターフェイス回路の信号受信回路を構成する。この信号受信回路６０４には、ＦＦ回路６０８、６１０、６１２、６１４、６１６、ＤＬ６１８、６２０、出力バッファ６２２、入力バッファ６２４、６２６が備えられている。クロックツリー部６０６は、ＬＳＩ内部クロック回路部を構成し、インバータ６２８、６３０、６３２、６３４、６３６、６３８、６４０を備えている。ＤＩＭＭ６０２には入力バッファ６４２、出力バッファ６４４が備えられている。
【０１４５】
そこで、信号受信回路６０４は、クロックツリー部６０６で生成されたＣＬＫ信号を受け、ＣＫ信号ＣＫ０を生成してＤＩＭＭ６０２に送信する。ＤＩＭＭ６０２は、ＣＫ信号からＤＱＳ信号を生成し、ＤＱ信号とともに信号受信回路６０４に送り返す。信号受信回路６０４では、ＤＱＳ信号を使ってＤＱ信号をリタイミングし、さらに内部クロックに乗り換える。このとき、受信点のラッチで確実にデータを受信するためには、内部クロックと受信データとのタイミング関係が一定の範囲内であることが要求される。
【０１４６】
信号受信回路６０４で考えられる遅延ばらつきの要因には、図２４に示すように、種々のものが含まれる。これらの要因を全て考慮した場合を想定する。この場合、信号受信点は、ＤＬ６１８の出力側にあるＦＦ６１０の入力部を想定している（図２３）。伝送路長が０〔ｍｍ〕であったとしても、信号受信回路６０４を構成するＬＳＩ内の受信点ラッチのクロック基準で見れば、受信データは９８２〔ｐｓ〕〜４，１５６〔ｐｓ〕の遅延ばらつきを持つことになる。この幅（３，１７４〔ｐｓ〕）は、クロック周期よりも長く、さらにデータ幅よりも長い（１〔ＧＴ／ｓ〕伝送の場合、データ幅は１，０００〔ｐｓ〕）。遅延ばらつきは製造要因のみではなく、環境要因（電源電圧や装置温度）を含むため、稼働中にも受信データ位相がふらつく（＝ジッタ）ことである。
【０１４７】
ところで、ＤＤＲインターフェイスでは、図２５に示すように、ＤＩＭＭ６０２を構成するメモリチップ６５１、６５２、６５３、６５４に対して等長スター配線によりＣＫ信号が付与されてきた。これに対し、ＤＤＲ３インターフェイスでは、新たにFly by配線（図２６）というクロック配線手法が採用された。このFly by配線は、図２６に示すように、ＤＩＭＭ６０２のメモリチップ６５１、６５２、６５３、６５４に対して順次にＣＫ信号を付与している。このFly by配線では、信号の波形品質という面では改善が図られたことになる。しかしながら、データ送受信タイミングがＤＱＳグループ間で一致しない。Fly by配線によるクロック遅延のばらつきは、最大で１０００〔ｐｓ〕程度が見込まれ、この遅延は、信号伝送速度と比較し、無視できない大きさである。
【０１４８】
データ送信時のＣＫ信号とＤＱＳ信号とのタイミング不一致に関し、ＪＥＤＥＣ（Joint Electron Devices Engineering Council）規格にはWrite Levelingとして、そのばらつき吸収手段が規定されている。しかし、信号受信時のタイミング不一致に関する規定はない。
【０１４９】
本開示のメモリコントローラ、プロセッサ、コンピュータ又は位相制御方法は、ＤＤＲ３インターフェイス等の既述の遅延ばらつきを吸収する仕組みを提案している。上記実施の形態では、既述した課題である遅延は、信号伝送速度に比較し無視できる程度に改善される。
【０１５０】
以上述べたように、本開示の信号受信回路、メモリコントローラ、プロセッサ、コンピュータ又は位相制御方法は、上記記載に限定されるものではない。特許請求の範囲に記載され、又は発明を実施するための形態に開示された要旨に基づき、当業者において様々な変形や変更が可能であることは勿論である。斯かる変形や変更が、本発明の範囲に含まれることは言うまでもない。
【産業上の利用可能性】
【０１５１】
本開示の信号受信回路、メモリコントローラ、プロセッサ、コンピュータ又は位相制御方法は、信号受信に関し、回路上の遅延ばらつきを抑制し、実用性の高いメモリコントローラ等を提供するものであり、有用である。
【符号の説明】
【０１５２】
２  信号受信回路
４  メモリ
６  メモリコントローラ
１０  位相検出部
１２  遅延制御部
１４  クロック生成部
１６  第一の位相遅延部
１８  第二の位相遅延部
５８  位相検出器
【図１】
0005537568.tif 000002
【図２】
0005537568.tif 000003
【図３】
0005537568.tif 000004
【図４】
0005537568.tif 000005
【図５】
0005537568.tif 000006
【図６】
0005537568.tif 000007
【図７】
0005537568.tif 000008
【図８】
0005537568.tif 000009
【図９】
0005537568.tif 000010
【図１０】
0005537568.tif 000011
【図１１】
0005537568.tif 000012
【図１２】
0005537568.tif 000013
【図１３】
0005537568.tif 000014
【図１４】
0005537568.tif 000015
【図１５】
0005537568.tif 000016
【図１６】
0005537568.tif 000017
【図１７】
0005537568.tif 000018
【図１８】
0005537568.tif 000019
【図１９】
0005537568.tif 000020
【図２０】
0005537568.tif 000021
【図２１】
0005537568.tif 000022
【図２２】
0005537568.tif 000023
【図２３】
0005537568.tif 000024
【図２４】
0005537568.tif 000025
【図２５】
0005537568.tif 000026
【図２６】
0005537568.tif 000027