(57)【特許請求の範囲】
【請求項１】
メモリインターフェースであって、
第１のクロック信号を受信し、該第１のクロック信号の複数の位相シフトされたバージョンを出力するための第１の遅延回路と、
該第１のクロック信号の該複数の位相シフトされたバージョンを受信するように接続された第１の出力回路であって、該第１の出力回路は、該第１のクロック信号の該複数の位相シフトされたバージョンのうちの第１のバージョンを選択するための第１のマルチプレクサを含み、該第１の出力回路は、該第１のクロック信号の該複数の位相シフトされたバージョンのうちの該選択された第１のバージョンを用いて、第１の信号をクロックする、第１の出力回路と、
該第１のクロック信号の該複数の位相シフトされたバージョンを受信するように接続された第２の出力回路であって、該第２の出力回路は、該第１の信号と第２の信号との間の遅延に基づいて該第１のクロック信号の該複数の位相シフトされたバージョンのうちの第２のバージョンを選択するための第２のマルチプレクサを含み、該第２の出力回路は、該第１のクロック信号の該複数の位相シフトされたバージョンのうちの該選択された第２のバージョンを用いて、該第２の信号をクロックする、第２の出力回路と、
該第１の信号と該第２の信号とを受信し、該第１の信号を該第２の信号の立ち上がりエッジ上または立ち下がりエッジ上でサンプリングするように接続された受信回路と
を備える、メモリインターフェース。
【請求項２】
前記第１の遅延回路は、前記第１のクロック信号の周期とほとんど等しい最大遅延を提供する、請求項１に記載のメモリインターフェース。
【請求項３】
前記第１のマルチプレクサは、第１のマルチプレクサ制御信号に応答し、前記第２のマルチプレクサは、第２のマルチプレクサ制御信号に応答する、請求項１に記載のメモリインターフェース。
【請求項４】
前記第１および第２のマルチプレクサ制御信号は、スキューを測定するために用いられる較正モードから決定される、請求項３に記載のメモリインターフェース。
【請求項５】
前記第１の出力回路は、前記第１のクロック信号によってクロックされる第１のフリップフロップと、該第１のクロック信号の前記複数の位相シフトされたバージョンのうちの前記選択された第１のバージョンによってクロックされる第２のフリップフロップとを含む、請求項１に記載のメモリインターフェース。
【請求項６】
前記第１の出力回路は、前記第１のクロック信号の逆を用いて同期化される第３のレジスタであって、第１および第２のレジスタの間に接続された、第３のレジスタを含み、該第３のレジスタは、前記第１の信号を該第１および第２のレジスタの間に転送する、請求項５に記載のメモリインターフェース。
【請求項７】
前記第１の信号は、ＤＱ信号であり、前記第２の信号は、ＤＱＳ信号である、請求項１に記載のメモリインターフェース。
【請求項８】
第１のクロック信号を受信し、該第１のクロック信号の複数の位相シフトされたバージョンを出力するための第１の遅延線路と、
第１の信号を出力するように動作する第１の出力回路であって、該第１の出力回路は、該第１のクロック信号の該複数の位相シフトされたバージョンのうちの第１のバージョンを選択し、該第１のクロック信号の該複数の位相シフトされたバージョンのうちの該第１のバージョンを用いて、該第１の信号をクロックする、第１の出力回路と、
第２の信号を出力するように動作する第２の出力回路であって、該第２の出力回路は、該第１の信号と該第２の信号との間の遅延に基づいて該第１のクロック信号の該複数の位相シフトされたバージョンのうちの第２のバージョンを選択し、該第１のクロック信号の該複数の位相シフトされたバージョンのうちの該第２のバージョンを用いて、該第２の信号をクロックする、第２の出力回路と、
該第１の信号と該第２の信号とを受信して、該第１の信号の各々を該第２の信号のうちのそれぞれの信号の立ち上がりエッジ上または立ち下がりエッジ上でサンプリングするように接続された受信回路と
を備える、メモリインターフェース。
【請求項９】
前記第１のクロック信号の前記複数の位相シフトされたバージョンのうちの前記第１のバージョンは、該第１のクロック信号の該複数の位相シフトされたバージョンのうちの前記第２のバージョンと異なる、請求項８に記載のメモリインターフェース。
【請求項１０】
前記第１の信号は、少なくとも一つのＤＱ信号を含み、前記第２の信号は、少なくとも一つのＤＱＳ信号を含む、請求項８に記載のメモリインターフェース。
【請求項１１】
前記第１の遅延線路は、前記第１のクロック信号の周期とほとんど等しい最大遅延を提供する、請求項８に記載のメモリインターフェース。
【請求項１２】
前記第１の出力回路は、前記第１のクロック信号の前記複数の位相シフトされたバージョンのうちの第１のバージョンを選択するように接続された第１のマルチプレクサを含み、
前記第２の出力回路は、該第１のクロック信号の該複数の位相シフトされたバージョンのうちの第２のバージョンを選択するように接続された第２のマルチプレクサを含む、請求項８に記載のメモリインターフェース。
【請求項１３】
信号を提供する方法であって、該方法は、メモリインターフェースにより実行され、該メモリインターフェースは、第１の出力レジスタと、第２の出力レジスタと、受信回路とを備え、
該方法は、
第１のクロック信号を受信することと、
該第１のクロック信号を逐次的に遅延させることにより、複数の第２のクロック信号を生成することと、
該複数の第２のクロック信号のうちの第１の第２のクロック信号を選択することと、
該複数の第２のクロック信号のうちの該選択された第１の第２のクロック信号を用いて、該第１の出力レジスタをクロックし、第１の信号を提供することと、
該複数の第２のクロック信号のうちの第２の第２のクロック信号を選択することと、
該複数の第２のクロック信号のうちの該選択された第２の第２のクロック信号を用いて、該第２の出力レジスタをクロックし、第２の信号を提供することと、
該第１の信号と該第２の信号とを受信するように接続された該受信回路により、該第１の信号を該第２の信号の立ち上がりエッジ上または立ち下がりエッジ上でサンプリングすることと
を包含し、
該複数の第２のクロック信号のうちの該第２の第２のクロック信号は、該第１の信号と該第２の信号との間の遅延に基づいて選択される、方法。
【請求項１４】
前記メモリインターフェースは、第３の出力レジスタをさらに備え、
前記方法は、
前記複数の第２のクロック信号のうちの第３の第２のクロック信号を選択することと、
該複数の第２のクロック信号のうちの前記第３の第２のクロック信号を用いて、該第３の出力レジスタをクロックし、第３の信号を提供することと
をさらに包含する、請求項１３に記載の方法。
【請求項１５】
前記第１の信号は、ＤＱ信号であり、前記第２の信号は、ＤＱＳ信号であり、前記第３の信号は、クロック信号である、請求項１４に記載の方法。
【請求項１６】
前記複数の第２のクロック信号のうちの前記選択された第３の第２のクロック信号と、前記複数の第２のクロック信号のうちの前記選択された第２の第２のクロック信号との間の遅延は、フライバイトポロジールーティングパスによって引き起こされた前記第３の信号における遅延を補償する、請求項１４に記載の方法。
【請求項１７】
前記第１の信号は、ＤＱ信号であり、前記第２の信号は、ＤＱＳ信号である、請求項１３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の引用）
本出願は、２００６年８月２４日に出願され、Ｃｈｏｎｇ等による、「ＷＲＩＴＥ−ＬＥＶＥＬＩＮＧ  ＩＭＰＬＥＭＥＮＴＡＴＩＯＮ  ＩＮ  ＰＲＯＧＲＡＭＭＡＢＬＥ  ＬＯＧＩＣ  ＤＥＶＩＣＥＳ」と題する米国仮出願番号第６０／８４０，１０７号の利益を主張し、上記出願は、参照により援用される。
【０００２】
本発明は一般にメモリインターフェース回路、より詳細には高速マルチデータレートメモリインターフェース回路に関する。
【背景技術】
【０００３】
マルチデータレートインターフェース、例えばダブルデータレートインターフェースは、ますます普通になっている。そのようなインターフェースの１つ、ダブルデータレート（ＤＤＲ）インターフェースは、各データ線路で１クロック周波数につき２ビットのデータを通信する。ＤＤＲインターフェースはしばしば高速メモリデバイス、ならびに他のタイプのデバイスと共に使用される。
【０００４】
ＤＤＲインターフェースのスピードが上がるにつれて、タイミングマージンがますます小さくなり、誤差にますます敏感となる。例えば、メモリインターフェースによってデバイスに提供されるクロック信号とデータストローブ信号（ＤＱＳ）との間のタイミングにおける精度は、特に重要であり得る。
【０００５】
通常のＤＤＲ信号は、送信デバイスで提供されかつレシーバ、例えばメモリによって受信される、ＤＱＳおよびデータ信号（ＤＱ）を含む。レシーバはＤＱＳ信号を使用して、ＤＱ信号をリタイム（ｒｅｔｉｍｅ）し、リカバ（ｒｅｃｏｖｅｒ）する。例えば、メモリへの書き込み動作中に、ＤＱＳ信号は、ＤＱデータ信号とセンタアライン（ｃｅｎｔｅｒ−ａｌｉｇｎ）され得る。そのような回路において、受信デバイスは、ＤＱＳ信号の立ち上がりおよび立ち下がりにおいて１つ以上のＤＱデータ信号からデータをサンプリングし、かつラッチする。いったんメモリデバイスの中に入ると、受信されたデータは、次にＤＱＳ信号から内部クロック信号にリタイムされる。内部クロック信号は、送信デバイスからクロック信号を受信する遅延ロックループによって生成され得る。従って、この内部リタイミングが正しく起きるためには、送信デバイスによって提供されるＤＱＳ信号とクロック信号との間のタイミングがうまく制御されるべきである。
【０００６】
一部のＤＤＲトポロジーにおいては、送信デバイスによって提供されるクロック信号は、直列的に多くのメモリデバイスに提供される、つまり、第１のメモリ装置に、次に第２、次に第３などである。このトポロジーは、「フライバイ」（ｆｌｙ−ｂｙ）トポロジーと称され、信号の制御およびアドレスをするために使用され得る。これは、メモリデバイスにおけるＤＱＳ信号およびクロック信号の到着時間の間の、ｔＤＱＳＳと称されるスキューを生成する。通常、このスキューは、メモリデバイスにおけるデータ受信問題を避けるために、クロック周波数の４分の１より下に保つ必要がある。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従って、デバイスおよびメモリインターフェースが効率的に、メモリデバイスに提供されるクロック信号とＤＱＳ信号との間のスキューを補償することが望ましい。広い範囲のスキューを補償することができることも望ましい。デバイスが、異なるインターフェース標準のタイミング要求に、高いレベルの精度で適合可能であることはさらに望ましい。
【課題を解決するための手段】
【０００８】
（概要）
本発明の一実施形態は、デバイスから１つ以上の受信メモリデバイスにデータを出力するメモリ書き込みインターフェースを含む。クロック信号とＤＱＳ信号との間のスキューを補正するために、本発明の一実施形態は、入力クロック信号の複数の位相を提供するプログラム可能な遅延ユニットまたはタップされた遅延線路を提供する。クロック信号の複数の位相は、複数の出力回路、例えば複数のＤＱ／ＤＱＳグループに分配される。各ＤＱ／ＤＱＳグループは、マルチプレクサまたは他の回路を含むことにより、クロック信号の複数の位相の間から選択する。これは、ＤＱ／ＤＱＳグループが、異なる相対位相を有する信号を提供して、受信デバイスにおいて異なるスキューを補償することを可能にする。遅延は、クロック信号の位相の各々が個々に選択され、最小のスキューを生じる位相を決定する際に使用される較正ルーチン中に較正され得る。
【０００９】
本発明の例示的な実施形態において、入力クロック信号は、位相ロックループを使用して生成される。入力クロック信号は、タップされた遅延線路を使用して逐次遅延され、多くのクロック信号を生成し、それぞれは異なる位相を有する。これらのクロック信号は、いくつかのＤＱ／ＤＱＳグループに分配される。各ＤＱ／ＤＱＳグループは、第１のマルチプレクサであって、第１の位相を有する第１のクロックを選択し、１つ以上のＤＱＳ出力レジスタをクロックする第１のマルチプレクサと、第２のマルチプレクサであって、第２の位相を有する第２のクロックを選択し、１つ以上のＤＱ出力レジスタをクロックする第２のマルチプレクサとを含む。レシーバにおいて、データリカバリを確実なものにするために、第２のクロック位相は通常、第１のクロック位相から約９０度だけ分離される。
【００１０】
本発明の別の例示的な実施形態において、２つの入力クロック信号が、位相ロックループを使用して生成される。これらの２つの入力クロックは、９０度だけ位相が分離される。各入力クロック信号は、タップされた遅延線路を使用して逐次遅延され、第１および第２のクロック信号のセットを生成し、各セットにおける各クロック信号は、異なる位相を有する。これら２つのクロック信号のセットは、いくつかのＤＱ／ＤＱＳグループに分配される。各ＤＱ／ＤＱＳグループは、第１のマルチプレクサであって、第１のセットから第１の位相を有する第１のクロックを選択して１つ以上のＤＱＳ出力レジスタをクロックする第１のマルチプレクサと、第２のマルチプレクサであって、第２のセットから第２の位相を有する第２のクロックを選択して１つ以上のＤＱ出力レジスタをクロックする第２のマルチプレクサとを含む。
【００１１】
ＤＱＳ信号をクロックするために使用されるクロック信号は、較正ルーチン中に決定され得、クロック位相の各々が選択され、ＤＱＳ信号を生成するために使用され、ＤＱＳ信号およびクロック信号の到着は、各クロック位相について受信回路において比較される。ＤＱＳ信号に対して較正されたクロックから９０度分離された位相を有するクロックは、ＤＱ信号に対するクロックとして選択され得る。あるいは、ＤＱ信号をクロックするために使用されるクロックは、上記と同様な方式で独立的に較正され得る。
【００１２】
本発明の一実施形態において、タップされた遅延線路は、入力クロック信号の多くの位相を出力し得る。位相間の相違は、出力信号に対して、最大スキュー許容範囲よりも小さくまたはこれに等しく設定され得る。これは、出力回路が、それらの相対位相を調節して、最大スキュー許容範囲よりも小さくなるようになし得ることを確実なものにする。
【００１３】
本発明の様々な実施形態は、本明細書で論議されたこれらのまたは他の要素の１つ以上を組み込み得る。本発明の性質および利点は、以下の詳細な説明および添付の図面を参照して、よりよく理解され得る。
【００１４】
本発明は、さらに以下の手段を提供する。
【００１５】
（項目１）  
メモリインターフェースであって、
第１の信号を出力するための第１のピンと、
第１のクロック信号を受信し、該第１のクロック信号の複数の位相シフトされたバージョンを出力するための第１の遅延回路と、
該第１のピンに接続され、該第１のクロック信号の該複数の位相シフトされたバージョンを受信するように接続された第１の出力回路であって、該第１の出力回路は、該第１のクロック信号の該複数の位相シフトされたバージョンのうちの第１のものを選択するための第１のマルチプレクサを含み、該第１の出力回路は、該第１の信号と、該第１のクロック信号の第１の複数の位相シフトされたバージョンのうちの該選択された第１のものとを同期化させる、第１の出力回路と
を備える、メモリインターフェース。
【００１６】
（項目２）
第２の信号を出力するための第２のピンと、
該第２のピンに接続され、上記第１のクロック信号の上記複数の位相シフトされたバージョンを受信するように接続された第２の出力回路であって、該第２の出力回路は、該第１のクロック信号の上記第１の複数の位相シフトされたバージョンのうちの第２のものを選択するための第２のマルチプレクサを含み、該第２の出力回路は、該第２の信号と、該第１のクロック信号の該第１の複数の位相シフトされたバージョンのうちの該選択された第２のものとを同期化させる、第２の出力回路と
をさらに備える、項目１に記載のメモリインターフェース。
【００１７】
（項目３）
上記第１の遅延回路は、上記第１のクロック信号の周期とほとんど等しい最大遅延を提供する、項目１に記載のメモリインターフェース。
【００１８】
（項目４）
上記第１のマルチプレクサは、第１のマルチプレクサ制御信号に応答し、上記第２のマルチプレクサは、第２のマルチプレクサ制御信号に応答する、項目２に記載のメモリインターフェース。
【００１９】
（項目５）
上記第１および第２のマルチプレクサ制御信号は、スキューを測定するために用いられる較正モードから決定される、項目４に記載のメモリインターフェース。
【００２０】
（項目６）
上記第１の出力回路は、上記第１のクロック信号によってクロックされる第１のフリップフロップと、該第１のクロック信号の上記第１の複数の位相シフトされたバージョンのうちの上記選択された第１のものによってクロックされる第２のフリップフロップとを含む、項目１に記載のメモリインターフェース。
【００２１】
（項目７）
上記第１の出力回路は、上記第１のクロック信号の逆を用いて同期化される第３のレジスタであって、第１および第２のレジスタの間に接続された、第３のレジスタを含み、該第３のレジスタは、上記第１の信号を該第１および第２のレジスタの間に転送する、項目６に記載のメモリインターフェース。
【００２２】
（項目８）
上記第１のピンは、ＤＱ信号を出力するためのものであり、上記第２のピンは、ＤＱＳ信号を出力する、項目２に記載のメモリインターフェース。
【００２３】
（項目９）
第１のクロック信号を受信し、該第１のクロック信号の複数の位相シフトされたバージョンを出力するための第１の遅延線路と、
第１の出力ピンのセットを含む第１の出力回路であって、該第１の出力ピンのセットの第１の部分は、第１の信号を出力し、該第１の出力回路は、該第１のクロック信号の該複数の位相シフトされたバージョンのうちの第１のものを選択し、該第１の信号と該第１のクロック信号の第１の複数の位相シフトされたバージョンのうちの１つとを同期化させる、第１の出力回路と
を備える、メモリインターフェース。
【００２４】
（項目１０）
第２の出力ピンのセットを含む第２の出力回路であって、該第２の出力ピンのセットの第２の部分は、第２の信号を出力し、該第２の出力回路は、上記第１のクロック信号の上記第１の複数の位相シフトされたバージョンのうちの第２のものを選択し、該第２の信号と該第１のクロック信号の該第１の複数の位相シフトされたバージョンのうちの第２のものとを同期化させる、第２の出力回路
をさらに備える、項目９に記載のメモリインターフェース。
【００２５】
（項目１１）
上記第１のクロック信号の上記第１の複数の位相シフトされたバージョンのうちの上記第１のものは、該第１のクロック信号の該第１の複数の位相シフトされたバージョンのうちの上記第２のものと同じである、項目１０に記載のメモリインターフェース。
【００２６】
（項目１２）
上記第１のクロック信号の上記第１の複数の位相シフトされたバージョンのうちの上記第１のものは、該第１のクロック信号の該第１の複数の位相シフトされたバージョンのうちの上記第２のものと異なる、項目１０に記載のメモリインターフェース。
【００２７】
（項目１３）
上記第１の出力ピンのセットの上記第１の部分は、少なくとも１つのＤＱピンを含み、上記第２の出力ピンのセットの上記第２の部分は、少なくとも１つのＤＱＳピンを含む、項目１０に記載のメモリインターフェース。
【００２８】
（項目１４）
上記第１の遅延線路は、上記第１のクロック信号の周期とほとんど等しい最大遅延を提供する、項目９に記載のメモリインターフェース。
【００２９】
（項目１５）
上記第１の出力回路は、第１のクロックバスに接続された第１のマルチプレクサであって、上記第１のクロック信号の上記複数の位相シフトされたバージョンのうちの第１のものを選択する、第１のマルチプレクサを含み、
上記第２の出力回路は、第２のクロックバスに接続された第２のマルチプレクサであって、該第１のクロック信号の上記第１の複数の位相シフトされたバージョンのうちの第２のものを選択する、第２のマルチプレクサを含む、項目９に記載のメモリインターフェース。
【００３０】
（項目１６）
第１のクロック信号を受信することと、
該第１のクロック信号を逐次的に遅延させることにより、複数の第２のクロック信号を生成することと、
該複数の第２のクロック信号のうちの第１のものを選択することと、
該複数の第２のクロック信号のうちの該選択された第１のものを用いて、第１の出力レジスタをクロックし、第１の信号を提供することと、
第２の出力レジスタをクロックし、第２の信号を提供することと
を包含する、信号を提供する方法。
【００３１】
（項目１７）
上記第２の出力レジスタは、上記第１のクロック信号によってクロックされる、項目１６に記載の方法。
【００３２】
（項目１８）
上記第２の出力レジスタは、クロック信号によってクロックされ、該クロック信号は、ロジックゲート遅延によって遅延された上記第１のクロック信号である、項目１６に記載の方法。
【００３３】
（項目１９）
上記複数の第２のクロック信号のうちの第２のものを選択することと、
該複数の第２のクロック信号のうちの第２のものを用いて、第３の出力レジスタをクロックし、第３の信号を提供することと
をさらに包含する、項目１６に記載の方法。
【００３４】
（項目２０）
上記第１の信号は、ＤＱＳ信号であり、上記第２の信号は、クロック信号であり、上記第３の信号は、ＤＱ信号である、項目１９に記載の方法。
【００３５】
（項目２１）
上記第３のクロック信号と、上記第２の複数のクロック信号のうちの上記選択されたものとの間の遅延は、フライバックトポロジールーティングパスによって引き起こされた上記第２の信号における遅延を補償する、項目１６に記載の方法。
【００３６】
（項目２２）
上記第１の信号は、ＤＱＳ信号であり、上記第２の信号は、クロック信号である、項目１６に記載の方法。
【００３７】
（摘要）
フライバイルーティングトポロジーによって引き起こされ得るクロック信号とＤＱ／ＤＱＳ信号との間のスキューを補償するメモリインターフェースのための回路、方法、および装置。スキューは、位相遅延されたクロック信号に対してＤＱ／ＤＱＳ信号を刻時することによって補償され、位相遅延は較正される。一実施例の較正ルーチンにおいて、クロック信号は受信デバイスに提供される。ＤＱ／ＤＱＳ信号も提供され、それらの信号受信のタイミングが比較される。ＤＱ／ＤＱＳ信号の遅延は、ＤＱ／ＤＱＳ信号が受信デバイスにおいてクロック信号にアラインされるまで、増加しながら変更される。次いで、この遅延は、ＤＱ／ＤＱＳ信号を提供するレジスタをクロックする信号を遅延させるために、デバイス動作中に用いられる。各ＤＱ／ＤＱＳグループは、クロックにアラインされ得るか、またはグループのＤＱＳおよびＤＱ信号は、受信デバイスにおいてクロックに独立的にアラインされ得る。
【発明を実施するための最良の形態】
【００３８】
（例示的な実施形態の説明）
図１は、本発明の実施形態に従って、メモリインターフェース１１０を有するデバイス１０５を含む例示的なシステム構成１００を示す。システム構成１００は、多くのデバイス１２０で作られたメモリユニット１１５も含む。本発明の実施形態において、デバイス１０５は、メモリインターフェース１１０を含むことにより、デバイス１０５、図１に示されていない随意的な他のデバイスとメモリユニット１１５との間での通信を容易にする。
【００３９】
システム１００は、メモリインターフェース１１０をメモリユニット１１５と接続する通信バス１２２を含む。本発明の一実施形態において、通信バス１２２は、ＤＱ／ＤＱＳデータ信号接続１２５のセットまたはグループを含む。セット１２５の各々、例えば１２５ａ、１２５ｂ、１２５ｃ、１２５ｄ、１２５ｅ、１２５ｆ、１２５ｇおよび１２５ｈは、１つ以上のＤＱデータ信号接続を含むことにより、メモリインターフェース１１０からメモリユニット１１５へデータを搬送し、対応するＤＱＳ信号接続を含むことにより、ＤＱ／ＤＱＳデータ信号接続のセット内でデータ通信を同期化する。例えば、ＤＤＲ３−３メモリインターフェーススタンダードの共通インプリメンテーションは、それぞれが８つのＤＱデータ信号接続および１つの対応ＤＱＳ信号接続を有するＤＱ／ＤＱＳデータ信号接続１２５のセットを含む。
【００４０】
メモリユニット１１５の一実施形態は、個々のメモリデバイス１２０、例えばメモリデバイス１２０ａ、１２０ｂ、１２０ｃ、１２０ｄ、１２０ｅ、１２０ｆ、１２０ｇおよび１２０ｈを含む。メモリデバイス１２０の例は、任意のタイプの半導体パッケージ構成におけるＤＤＲ−３コンプライアントメモリチップを含む。本明細書の代替の実施形態は、他のデータ通信スタンダードに従うメモリデバイス１２０に適用可能である。メモリデバイス１２０は、物理的にかつ電気的にメモリユニット１１５によって接続され、便利なインストレーションを可能にする。メモリユニット１１５の例は、ＤＩＭＭ、ＳＩＭＭおよび当技術分野で公知の他のモジュラーメモリユニット構成を含む。
【００４１】
システム１００において、ＤＱ／ＤＱＳデータ信号接続１２５のセットの各々は、メモリユニット１１５におけるメモリデバイス１２０のうちの１つに接続される。例えば、ＤＱ／ＤＱＳデータ信号接続セット１２５ａは、メモリインターフェース１１０をメモリデバイス１２０ａと接続し、ＤＱ／ＤＱＳデータ信号接続セット１２５ｂは、メモリインターフェース１１０をメモリデバイス１２０ｂと接続する、など。
【００４２】
線路１３０上でメモリインターフェース１１０によって提供されるクロック信号は、メモリデバイス１２０Ａに始まり、メモリデバイス１２０Ｈに終わる直列のメモリデバイスの各々にルート（ｒｏｕｔｅ）される。他の制御およびアドレス信号（図示されず）は、同様にルート（ｒｏｕｔｅ）される。線路１３０上でのクロック信号のこのルーティングは、フライバイネットワークトポロジーと称される。本発明の実施形態は、フライバイトポロジーにおける使用に特に好適である一方、本発明の実施形態は、ツリーネットワークトポロジーまたは当技術分野で公知の他のトポロジーで利用され得る。
【００４３】
フライバイトポロジーは、メモリデバイス１２０において、高品質のクロック信号を生じる。不幸にして、クロック信号は、メモリデバイス１２０Ａからメモリデバイス１２０Ｈへ移動するのに有限の時間がかかる。メモリインターフェース１１０からのＤＱＳ信号がアラインされた場合、メモリデバイス１２０のうちの一部においてクロック信号とＤＱＳ信号との間でスキューｔＤＱＳＳが結果として生じる。このタイミング図が次の図で示される。
【００４４】
図２は、通信インターフェースにおける様々なタイプのスキューを図示しているタイミングダイアグラム２００である。タイミングダイアグラム２００は、ＤＲＲ−３メモリインターフェースにおいて生じ得るスキューを図示している。しかしながら、本発明の実施形態は、他のタイプの標準または独自の通信インターフェースにおけるスキューに適用可能である。
【００４５】
タイミングダイアグラム２００の第１の部分２０５は、メモリインターフェースまたは通信バスインターフェースを含む他のデバイスによる信号出力を図示している。第１の部分２０５は、クロック信号（ＣＫ）２１０と、少なくとも１つのデータ信号（ＤＱ）２２０と、データストローブ信号（ＤＱＳ）２１５とを含む。明確さのために、１つのＤＱ信号２２０のみが、タイミングダイアグラム２００において示されているが、一般的な通信バスインターフェースは、各ＤＱＳ信号に対して複数のＤＱ信号を含み得る。
【００４６】
タイミングダイアグラム２００から見ることができるように、ＤＱ信号２２０は、ＣＫ信号２１０およびＤＱＳ信号２１５の周波数と等しいデータレートを有する。この例において、メモリインターフェースまたはデバイスは、ＤＱ信号２２０上に、ＤＱＳ信号２１５の連続する立ち上がりおよび立下りに関するビットＡ２２２およびビットＢ２２４のような２ビットのデータを出力する。ＤＱＳ信号２１５は、ＤＱ信号２２０を受信およびリタイミングする際に、メモリデバイスのような受信デバイスによる使用のために、メモリインターフェースによって生成される。特に、レシーバは、ＤＱＳ信号２１５の立下り２３０および立ち上がり２３２上で、ＤＱ信号２２０をサンプリングする。ＤＱ信号２２０が正確にサンプリングされることを確実なものにするために、エッジ２３０および２３２が、ＤＱ信号２２０の各ビットの中央にくるように、ＤＱＳ信号２１５はアラインされる。例えば、エッジ２３０はビットＡ２２２の中央２３５にアラインされ、エッジ２３２はビットＢ２２４の中央２３７にアラインされる。このアライメントは、信号が安定している間に、ＤＱ信号２２０の各ビットが、サンプリングされることを確実なものにする。
【００４７】
タイミングダイアグラム２００の第２の部分２５０は、メモリユニット、メモリデバイス、または通信バスインターフェースを介してデータを受信する他デバイスによって、受信される信号を図示している。第２の部分２５０は、クロック信号（ＣＫ）２６０と、少なくとも１つのデータ信号（ＤＱ）２７０と、データストローブ信号（ＤＱＳ）２６５とを含む。信号２６０、２６５、および２７０は、通信バス上のソースデバイスと受信デバイスとの間の伝播遅延に起因するバージョンの信号２１０、２１５、および２２０である。
【００４８】
異なる信号パスは、異なる伝播遅延を有し得るので、信号２６０、２６５、および２７０は、互いにスキューされる。例えば、信号２１０のエッジ２２５と信号２１５のエッジ２３０とは信号ソースでアラインされるが、対応するエッジ２６２および２６７は、互いスキューされ、ＣＫ信号２６０とＤＱＳ信号２６５との間のスキュー２６９となる。同様に、スキュー２７６は、ＤＱＳ信号２６５の立下り２６７と、ＤＱ信号２７０のビットＡ２７４の中央２７２との間に存在する。メモリデバイスにおいて、ＤＱＳ信号２６５によってクロックされる入力回路から、ＣＫ信号２６０（またはＣＫ信号２６０から引き出された信号）によってクロックされるコア回路にデータを転送する間に、ＣＫ信号２６０とＤＱＳ信号２６５との間のスキューはエラーをもたらし得る。メモリデバイスの入力回路におけるデータ受信の間に、ＤＱＳ信号２６５とＤＱ信号２７０との間のスキューはエラーをもたらし得る。
【００４９】
これらのスキューを補償するために、メモリインターフェースは、１つ以上のＤＱ信号およびＤＱＳ信号を選択的に遅延させるために、タップされた遅延線路を含み得る。このアプローチにおいて、１つ以上のタップされた遅延線路が、ＤＱ信号、ＤＱＳ信号、その他任意の信号の遅延バージョンを出力するように構成されている。スキューを補償するために、信号ソースにおいて一部の信号を他の信号に対して遅延させることによって、メモリ受信デバイスは、同期化された信号を受信する。
【００５０】
本発明の特定の実施形態は、ＤＤＲ３において実装されたフライバイトポロジーによってもたらされたスキューを取り除く。つまり、ＤＱＳ信号とクロック信号との間のスキューｔＤＱＳＳが低減される。ＤＱ信号とＤＱＳ信号との間のスキューは、フライバイトポロジーによって悪化させられないので、ＤＱ信号とＤＱＳ信号との間のスキューは、これらの実施形態によってアドレスされない。これらの実施形態において、ＤＱ信号は、対応するＤＱＳ信号と同じ量だけ調整される。本発明の他の実施形態は、ＤＱ信号とＤＱＳ信号との間のスキューも同様にアドレスおよび低減する。
【００５１】
図３は、本発明の実施形態と一致するスキューを決定することに適したフィードバックループシステムを図示する。このフィードバックループシステムは、メモリインターフェース３１０とメモリデバイス３２０とを含む。メモリデバイス３２０によってメモリインターフェース３１０から受信された信号が、フィードバック信号を生成するために、メモリデバイス３２０によって使用される較正モードに、メモリデバイス３２０が置かれ得る。フィードバック信号は、メモリデバイス３２０によって出力され、メモリインターフェース３１０によって受信される。ピンをセーブするために、較正モードが非活性化するときに、入力または出力としても働くピン上で、フィードバック信号が、提供および受信され得る。
【００５２】
特に、クロック信号ＣＫおよびＤＱＳ信号だけでなく、補償物ＣＫＢおよびＤＱＳＢは、メモリインターフェース回路３１０によって、メモリデバイス３２０に提供される。受信されたＤＱＳ信号は、フリップフロップＦＦ１を使用して、ＣＫ信号をリタイミングする。遅延調整回路３３０は、遅延をＤＱＳ信号に提供して、フライバイトポロジーによってもたらされたＣＫ信号における遅延を補償する。本発明の一実施形態において、遅延調整回路３３０によって提供される遅延は、最初はゼロである。ＣＫ信号が遅延されるので、エッジは、ＤＱＳ信号の立ち上がりの後に、ＦＦ１に到達し、従って、ＦＦ１によって見落とされる。次に、ＤＱＳは、遅延調整３３０によってさらに遅れさせられる。ある時点において、遅延調整３３０によって提供されるＤＱＳ信号における遅延は、フライバイトポロジーによってもたらされたＣＫ信号のルーティングの遅延よりも長く、ＣＫ信号のエッジは、ＦＦ１によって捕捉される。この例において、ＦＦ１の出力は、デバイスが較正モードにはないときに、データ出力を提供し得るマルチプレクサを介して、メモリインターフェースに提供されるフィードバック信号である。
【００５３】
メモリインターフェース３１０は、フィードバック信号を受信し、遅延調整回路３３０によって提供される遅延を調整するために、フィードバック信号を使用する。フィードバック信号は、システムクロックまたは他の適切な信号を使用して、サンプリングされ得る。遅延調整３３０は、メモリインターフェース３１０によって出力される信号に関する位相遅延を選択するために、メモリデバイス３２０からのフィードバックを使用して、これらの信号が、メモリデバイス３２０によって受信されたときに、これらの信号がＣＫ信号とアラインされるようにする。
【００５４】
この較正ルーチンは、各ＤＱ／ＤＱＳグループのために、もう一度繰り返され得る。本発明のこのような実施形態において、実際の回路においては、遅延調整回路３３０の一部は、ＤＱ／ＤＱＳグループの間で共有され得るが、各ＤＱ／ＤＱＳグループは、１つの遅延調整回路３３０を使用する。他の実施形態において、ＤＱ／ＤＱＳグループにおける１つ以上のＤＱ信号が、対応するＤＱＳ信号とは別個に較正され得る。本発明のそのような実施形態において、各ＤＱ／ＤＱＳグループは、１つの遅延回路が使用され得るが、一般的に、２つ以上の遅延調整回路３３０を使用する。さらに、以下で述べられるように、含まれている回路の一部が共有され得る。
【００５５】
本発明の一般的な実施形態において、遅延調整回路３３０は、直列に接続されている多数の遅延要素を含み得る。遅延要素は、コンデンサを充電または放電する可変電流を使用して調整され得る。各遅延要素はまた、直列に接続されている多数のサブ要素で構成され得、その場合、サブ要素の出力は、マルチプレクサを介して選択される。次に、各マルチプレクサの出力は別の遅延要素を駆動させ、出力も提供する。このように、遅延調整回路３３０はタップされた遅延線路を含み、その場合、各マルチプレクサの出力はタップである。タップされた遅延線路の出力は、遅延調整回路３３０の出力を提供する別のマルチプレクサによって選択され得る。
【００５６】
従って、遅延調整回路３３０は、タップされた遅延線路とマルチプレクサとを使用して実装され得る。本発明の特定の実施形態において、１つのタップされた遅延線路は、ＤＱ／ＤＱＳグループの一部または全てに対して使用される。２つのマルチプレクサは、各ＤＱ／ＤＱＳグループに対して使用され、その場合、１つのマルチプレクサが、ＤＱＳ信号に対してクロック信号を選択し、別のマルチプレクサが、１つ以上のＤＱ信号に対してクロック信号を選択する。別の特定の実施形態において、２つのタップされた遅延線路は、ＤＱ／ＤＱＳグループの一部または全てに対して使用され、２つのマルチプレクサは、各ＤＱ／ＤＱＳグループに対して使用される。
【００５７】
図４Ａ〜図４Ｂは、タイミングスキュー、例えばフライバイトポロジーにおけるクロック信号のルーティングによってもたらされたタイミングスキューに関して調整し得る出力回路の概略図である。図４Ａは、クロック信号とＤＱ／ＤＱＳグループにおける信号との間のスキューを補償するために使用され得る回路の概略図である。これらの例において、遅延調整回路３００は、タップされた遅延線路４１２および別個のマルチプレクサ４２９として示されている。
【００５８】
本発明のこの実施形態において、多数の位相シフトされたクロック信号が生成される。位相シフトされたクロック信号は、タップされた遅延線路４１２を使用して生成され、該タップされた遅延線路は、やはり、上記の遅延調整回路３３０の一部分であり得る。これらの位相シフトされたクロック信号のうちの１つは、上記の方法を使用して選択され得る。選ばれたクロック信号ＤＱＳＯＰＣＬＫＮは、ＤＱＳ出力をクロックし、ＤＱＳ出力が、メモリまたは他の受信デバイスにおいて受信されるときに、ＤＱＳ出力は、ＣＫ信号とアラインされる。留意されるべきは、本発明のさまざまな実施形態において、一般的に、ＤＱＳ信号のエッジは、ＤＱデータの中央にアラインされるが、ＤＱ信号とＤＱＳ信号とがアラインされるときに、それらのエッジがアラインされるということである。一般的に、ＤＱ信号およびＤＱＳ信号をクロックするために使用されるクロック信号は、上記のように９０°の角度で分離さている。従って、ＤＱＳ出力信号をクロックするマルチプレクサ４２９の選択、ＤＱＳＯＰＣＬＫＮは、較正の間に決定される。本発明の他の実施形態においては、ＤＱ出力をクロックするマルチプレクサ４２８の選択は、一般的に、ＤＱＳＯＰＣＬＫＮから９０°の角度で（一般的には前に）離れている位相を有するクロック信号ＤＱＯＰＣＬＫＮを選ぶことによって決定され、このクロック信号ＤＱＯＰＣＬＫＮも同様に較正され得る。
【００５９】
タップされた遅延線路４１２は、位相ロックループ（ＰＬＬ）４０４からのクロック信号と、位相ロックループ（ＤＬＬ）４０６からのカウント信号とを受信する。カウント信号は、タップされた遅延線路４１２によって提供される遅延を調整する。システムクロック信号は、ＰＬＬ４０４によって、水晶発振器のような内部または外部の回路またはコンポーネントから受信される。本発明の実施形態において、システムクロックは、この回路網を含むデバイスの論理回路を動作するために使用されるマスタークロック信号であり得る。ＤＬＬ４０６は、タップされた遅延線路４１２に整合するような回路を含む。本発明の特定の実施形態において、この回路は、他の全体の遅延が使用され得るが、この回路にわたる全体の遅延が、１クロックサイクルであるように調整される。ＤＬＬの遅延線路を調整するために使用されるカウント信号は、示されているように、タップされた遅延線路４１２に提供される。本発明の実施形態において、タップされた遅延線路４１２は、ＤＬＬ４０６における遅延線路に整合するので、タップされた遅延線路４１２によって提供される遅延は、プロセス、温度、または電圧のバリエーションによるバリエーションに関して補償される。
【００６０】
さらに、本発明の実施形態において、タップされた遅延線路４１２の最大遅延は、１つのシステムクロックサイクルと等しく、該システムクロックのサイクルは、ＤＱＳ信号の周期でもある。この実施形態において、タップされた遅延線路４１２が、Ｎの等しい遅延ステージを有する場合に、タップされた遅延線路の出力は、Ｎ＋１の位相シフトされたバージョンの入力クロック信号であり、その場合、さらなる出力は、ゼロ位相シフトされた入力信号である。例えば、Ｔの周期を有する入力信号を考慮すると、第１の遅延ステージからのタップされた遅延線路の出力は、Ｔ／Ｎによって位相シフトされた入力信号のバージョンである。第４の遅延ステージからのタップされた遅延線路の出力は、４Ｔ／Ｎによって位相シフトされた入力信号のバージョンである。このように、タップされた遅延線路４１２は、本明細書においてＤＱＣＬＫＳと呼ばれるＮ＋１の全体の出力の総計に関して、クロック信号の周期のＮのインクリメントに対して、ゼロによって位相シフトされたクロック信号のバージョンを出力し得る。
【００６１】
タップされた遅延線路４１２のＮ＋１の出力は、マルチプレクサ４２５、４２６、４２８および４２９によって受信される。マルチプレクサ４２５は、第１のクロックＤＱＳＯＰＣＬＫ０をＣＫレジスタＲＥＧ１およびＲＥＧ２と、入力レジスタＲＥＧ５とに提供する。マルチプレクサ４２６は、第２のクロックＤＱＯＰＣＬＫ０を入力レジスタＲＥＧ３およびＲＥＧ７に提供する。マルチプレクサ４２５および４２６は、完全なマルチプレクサである必要はない。マルチプレクサ４２５および４２６は、マルチプレクサ４２８および４２９によって伝えられた遅延に整合するように含まれる。本発明の他の実施形態において、これらの「ダミー」マルチプレクサは、排除され得る。
【００６２】
マルチプレクサ４２８は、Ｎ＋１の位相シフトされたＤＱＣＬＫＳのうちの１つを選択し、出力クロックＤＱＯＰＣＬＫＮを出力レジスタＲＥＧ４およびＲＥＧ８に提供する。マルチプレクサ４２９は、Ｎ＋１の位相シフトされたＤＱＣＬＫＳのうちの１つを選択し、出力をレジスタＲＥＧ６に提供する。本発明の様々な実施形態において、これらのクロック信号のうちの１つ以上が、対称的なクロックツリーネットワークを使用して分配され得る。
【００６３】
マルチプレクサ４２８および４２９に対する入力のうちの１つの選択は、明確さのために省略されている制御信号によって選択される。本発明の実施形態において、これらの制御信号は、上記のような遅延制御論理によって生成される。適切な遅延または位相シフトのセッティングが、上記のようなフィードバック較正モードを使用してか、または他の適切な方法を使用することによって決定される。
【００６４】
この例において、１つのタップされた遅延線路４１２と、２つのマルチプレクサ４２８および４２９とが示されている。本発明の様々な実施形態において、様々な数の遅延線路およびマルチプレクサが使用され得る。他の配置が考えられるが、多くの場合に、１つのタップされた遅延線路は、いくつか、または全てのＤＱ／ＤＱＳグループに対して使用され、２つのマルチプレクサは、各ＤＱ／ＤＱＳグループに対して使用される。
【００６５】
図４Ｂは、フライバイトポロジーにおけるクロック信号のルーティングによってもたらされた、クロック信号とＤＱＳ信号との間のスキューを補償するために使用され得る回路の別の概略図である。本発明のこの実施形態において、２つのセットの位相シフトされたクロック信号が生成される。第１のセットの位相シフトされたクロック信号における第１のクロック信号は、上記の方法を使用して選択される。第１のクロック信号は、ＤＱＳ出力をクロックし、第１のクロック信号が、メモリまたは他の受信デバイスにおいて受信されるときに、第１のクロック信号はＣＫ信号とアラインされる。第２のセットの位相シフトされたクロック信号における第２のクロック信号が選択され、この位相シフトされた第２のクロック信号は、１つ以上のＤＱ出力をクロックし、第２のクロック信号は、ＤＱ信号に対して９０°位相シフトされる。
【００６６】
２つのセットの位相シフトされたクロック信号ＤＱＳＣＬＫＳおよびＤＱＣＬＫＳが生成され、各セットは、２つのタップされた遅延線路４１２および４１４のうちの１つを使用する。各タップされた遅延線路の位相シフトは、ＤＬＬ４０６からのカウント信号によって調整され、該カウント信号は、ＰＬＬ４０４からのクロック信号に基づいて調整される。さらに、第１のクロックＤＱＳＯＰＣＬＫ０は、ダミーのマルチプレクサ４２５によって、ＣＫレジスタＲＥＧ１およびＲＥＧ２と入力レジスタＥＧ５とに提供される。ダミーのマルチプレクサ４２６は、第２のクロックＤＱＯＰＣＬＫ０を入力レジスタＲＥＧ３とＲＥＧ７とに提供する。Ｎ＋１のＤＱＣＬＫＳのうちの１つは、マルチプレクサ４２８によって選択され、ＤＱＳＯＰＣＬＫＮとして提供される。ＤＱＳＯＰＣＬＫＮ信号はＤＱ信号をクロックする。ＤＱＳＣＬＫＳのうちの１つは、マルチプレクサ４２９によって選択され、ＤＱＳＯＰＣＬＫＮとして提供される。この信号はＤＱＳ出力をクロックする。
【００６７】
本発明の実施形態において、タップされた遅延線路は、任意の適切な数のステージを有し得、この例において、ステージは同じ数のタップを有するが、他の実施形態において、ステージは異なる数のタップを有し得る。Ｔの周期を有する信号とＮの遅延ステージを有するタップされた遅延線路とに関して、信号の位相は、Ｔ／Ｎのインクリメントにおいて調整され得る。インターフェースが、ＴＳｋｅｗの最大スキューの許容範囲を指定した場合に、このスキューの許容範囲は、Ｔ／Ｎが、ＴＳｋｅｗと等しいか、またはＴＳｋｅｗを下回るということを確実なものとすることによって満たされ得る。さらに、タップされた遅延線路における遅延ステージの数を増加させることによって、位相シフトされたバージョンの信号の数が、増加させられ、従って、出力信号とその他任意の信号との間の最大スキューが、減少させられる。
【００６８】
この例において、２つのタップされた遅延線路４１２および４１４と２つのマルチプレクサ４２８および４２９が示されている。本発明の様々な実施形態において、異なる数の遅延線路とマルチプレクサとが使用され得る。他の配置が考えられるが、多くの場合に、１つのタップされた遅延線路が、いくつか、または全てのＤＱ／ＤＱＳグループに対して使用され、２つのマルチプレクサは、各ＤＱ／ＤＱＳグループに対して使用される。
【００６９】
この例において示されているレジスタは、以下の図において示されるもののようなダブルデータレートレジスタであり得る。代替的に、他のタイプのレジスタが使用され得る。
【００７０】
図５Ａ〜図５Ｃは、本発明の実施形態に従った、出力回路の概略図である。図５Ａは、クロック信号およびＤＱＳ信号を生成するための出力回路の概略図である。これらの回路の例は、図４Ａおよび図４ＢにおけるＲＥＧ１、ＲＥＧ２、ＲＥＧ５、およびＲＥＧ６としての使用に適している。この例において、ＤＱＳ信号がゲート制御され、ＤＱＳ信号の出力ドライバは、使用可能な入力を有し得、ＣＫ信号は継続的であり、ＣＫ信号の出力ドライバは、使用可能な入力を有していない。
【００７１】
出力信号ＤＱＳは、使用可能な信号ＯＥによってゲート制御され、該使用可能な信号ＯＥは、フリップフロップＦＦ４によって受信され、ＦＦ５によって、出力クロックＤＱＳＯＰＣＬＫＮに対してリタイミングされる。ＤＱＳ自体は、論理低信号ＶＬＬおよび論理高信号ＶＬＨによって生成された代替的信号である。すなわち、ＶＬＬは、ＦＦ６によって受信されて、ＦＦ７に送られ、ＶＬＨは、ＦＦ８によって受信されて、ＦＦ９送られる。ＦＦ７とＦＦ９との出力は、マルチプレクサ５２０によって代替的な方式で選ばれ、マルチプレクサ５２０の選択信号は、出力クロックＤＱＳＯＰＣＬＫＮである。出力バッファが、ＯＥフリップフロップＦＦ４およびＦＦ５によって使用可能になるときに、マルチプレクサ５２０の出力は、ＤＱＳとして提供される。
【００７２】
クロック信号は、ＦＦ１、ＦＦ２、ＦＦ３、およびマルチプレクサ５１０を使用して、同様に生成される。さらに、クロック信号ＣＫは継続的であるので、クロック信号の出力は、ゲート制御されない。
【００７３】
多数の位相シフトされたクロックＤＱＣＬＫＳは、マルチプレクサ５３０および５３５によって受信される。さらに、マルチプレクサ５３０は、マルチプレクサ５３５を通じて遅延に整合するように、クロックパスに挿入されたダミーのマルチプレクサである。上記の方法または他の適切な方法に従って、図４Ａまたは図４Ｂの実装が使用されるかどうかに依存して、マルチプレクサ５３５は、Ｎ＋１のＤＱＣＬＫＳまたはＤＱＳＣＬＫＳのうちの１つを選択する。ＤＱＳ信号が、受信デバイスに到達して、ＣＫ信号とアラインされるように、選ばれたクロックＤＱＳＯＰＣＬＫＮは、出力フリップフロップＦＦ５、ＦＦ７、およびＦＦ９をクロックする。
【００７４】
図５Ｂは、ＤＱ信号を生成するための出力回路の概略図である。ＤＱＳ出力に関して、ＤＱ出力はゲート制御され、ＤＱ出力のバッファは、出力可能なフリップフロップＦＦ１およびＦＦ２から使用可能な信号を受信する。
【００７５】
多数の位相シフトクロック信号ＤＱＣＬＫＳは、マルチプレクサ５５０および５５５によって受信される。上記のように、マルチプレクサ５５０は、マルチプレクサ５５５を通じて遅延に整合するように、クロックパスに挿入されたダミーのマルチプレクサである。マルチプレクサ５５０は、入力フリップフロップＦＦ１、ＦＦ３、およびＦＦ５にクロック信号を提供する。上記のように、マルチプレクサ５５５は、ＤＱＣＬＫＳのうちの１つを選択し、出力フリップフロップＦＦ２、ＦＦ４、およびＦＦ６に、ＤＱＣＬＫＳをＤＱＯＰＣＬＫＮとして提供する。
【００７６】
フリップフロップＦＦ３およびＦＦ５は、例えば、コア回路、または多くの場合に並列直列コンバータから、データ信号Ｖ１およびＶ２をそれぞれ受信する。フリップフロップＦＦ３およびＦＦ５の出力は、フリップフロップＦＦ４およびＦＦ６に提供される。フリップフロップＦＦ４およびＦＦ６の出力は、ＤＱ出力を生成するために、マルチプレクサ５４５によって多重送信される。ＦＦ６は、ＤＱＯＰＣＬＫＮの立下りによってクロックされ、ＦＦ４は、ＤＱＯＰＣＬＫＮの立ち上がりによってクロックされる。いったんＤＱＯＰＣＬＫＮが低くなると、ＦＦ４の出力は、ＯＰＣＬＫＮの立ち上がり上で変化し、マルチプレクサ５４５によって選択される。同様に、いったんＤＱＯＰＣＬＫＮが高くなると、ＦＦ６の出力は、ＤＱＯＰＣＬＫＮの立下り上で変化し、マルチプレクサ５４５によって選択される。
【００７７】
上記の２つの例において、アンシフト（ｕｎｓｈｉｆｔｅｄ）クロックドメインから位相シフトクロックドメインに信号を転送するために、２つのレベルのフリップフロップが使用される。例えば、フリップフロップＦＦ４およびＦＦ５は、アンシフトクロックドメインから位相シフトクロックドメインに、出力可能な信号を転送する。
【００７８】
このアプローチに関する１つの問題は、これらの２つのクロックドメインの間の位相の相違は、フリップフロップによって要求されるセットアップおよび待機の時間よりも長くなければならないということである。例えば、クロック信号ＤＱＯＰＣＬＫ０と位相シフトクロック信号ＤＱＯＰＣＬＫＮとの間の位相の相違は、フリップフロップＦＦ４によって要求されるセットアップおよび待機の時間よりも長くなければならない。そうでない場合に、フリップフロップＦＦ３の出力は、ＦＦ４がラッチするように急激に変化することがあり得、その結果としてエラーとなる。本発明の実施形態によって使用され得る解決法が、以下の図に示されている。
【００７９】
図５Ｃは、この問題をアドレスするＤＱ信号を生成するための出力回路の概略図である。この出力回路は、先の図の出力回路と似ており、アンシフト位相ドメインから位相シフトドメインへの転送を助けるためのさらなるレジスタを有する。この回路は、出力可能な信号を転送するためのＦＦ７と、アンシフトクロックドメインから位相シフトクロックドメインにデータ信号を転送するためのＦＦ８およびＦＦ９とを含む。
【００８０】
フリップフロップＦＦ７は、レジスタＦＦ１とＦＦ２との間で接続される。ＦＦ１は、クロック信号ＤＱＯＰＣＬＫ０によってクロックされる。ＦＦ２は、マルチプレクサ５７０によって選択された、位相シフトバージョンのクロック信号によってクロックされる。フリップフロップＦＦ７は、インバータによって生成された、逆バージョンのクロック信号ＤＱＯＰＣＬＫ０によってクロックされる。従って、ＦＦ７は、ＦＦ１を有する位相から１８０°の角度を動作する。このために、ＦＦ７は、ＦＦ１の出力をラッチする充分な時間を有する。同様に、ＦＦ２は、ＦＦ７の出力をラッチする充分な時間を有する。上記は、フリップフロップＦＦ３、ＦＦ８、およびＦＦ４だけでなく、ＦＦ５、ＦＦ９、およびＦＦ６に対しても当てはまる。
【００８１】
図６Ａ〜図６Ｂは、本発明の実施形態に従うスキュー補償回路の動作を例示するタイミング図である。図６Ａは、本発明の実施形態の適用の前のスキューの問題を例示するタイミング図６００である。
【００８２】
タイミング図６００の第１の部分６０２は、メモリインターフェースまたは通信バスインターフェースを含む他のデバイスによって出力される信号を例示する。第１の部分６０２は、クロック信号（ＣＫ）６０４、少なくとも１つのデータ信号（ＤＱ）６０８、およびデータストローブ信号（ＤＱＳ）６０６を含む。分かり易くするために、１つのデータ信号（ＤＱ）６０８のみがタイミング図６００に示されているが、典型的な通信バスインターフェースは、各データストローブ信号（ＤＱＳ）に対して複数のデータ信号（ＤＱ）を含み得る。
【００８３】
タイミング図６００から分かり得るように、ＤＱ信号６０８は、ＣＫ信号６０４およびＤＱＳ信号６０６と同じ周波数であるデータレートを有する。本発明の実施形態は、受信デバイスにおいてスキューを補償するために、クロック信号ＣＫにアラインするようにＤＱＳ信号６０６およびＤＱ信号６０８をシフトし得る。
【００８４】
タイミング図６００の第２の部分６２０は、メモリユニット、メモリデバイス、または通信バスインターフェースを介してデータを受信する他の受信デバイスによって受信される信号を例示する。第２の部分６２０は、クロック信号（ＣＫ）６２２、少なくとも１つのデータ信号（ＤＱ）６２４、およびデータストローブ信号（ＤＱＳ）６２６を含む。信号６２２、６２４、および６２６は、通信バスにおけるソースと受信デバイスとの間の伝播遅延に起因する信号６０４、６０６、および６０８のバージョンである。
【００８５】
様々な信号パス（ｐａｔｈ）は、様々な伝播遅延を有し得るので、信号６２２、６２４、および６２６は、互いに対してスキューされる。スキュー６２８は、メモリユニットまたはその他のデバイスにおけるＣＫ信号６２２とＤＱＳ信号６２４との間のミスアライメントを表す。このスキューは、フライバイトポロジーの使用によって引き起こされ得る。同様に、スキュー６３０は、ＤＱＳ信号６２４とＤＱ信号６２６との間のミスアライメントを表す。
【００８６】
図６Ｂは、本発明の実施形態の適用を例示するタイミング図６５０である。タイミング図６５０の第１の部分６５２は、メモリインターフェースよって出力される信号を例示する。第１の部分６５２は、クロック信号（ＣＫ）６５４、少なくとも１つのデータ信号（ＤＱ）６５８、およびデータストローブ信号（ＤＱＳ）６５６を含む。分かり易くするために、１つのデータ信号（ＤＱ）６５８のみがタイミング図６５０に示されているが、典型的な通信バスインターフェースは、各データストローブ信号（ＤＱＳ）に対して複数のデータ信号（ＤＱ）を含み得る。
【００８７】
タイミング図６５０の第２の部分６７０は、メモリユニット、メモリデバイス、または他のデバイスによって受信される信号を例示する。第２の部分６７０は、クロック信号（ＣＫ）６７２、少なくとも１つのデータ信号（ＤＱ）６７４、およびデータストローブ信号（ＤＱＳ）６７６を含む。信号ＣＫ６７２、ＤＱＳ６７４、およびＤＱ６７６は、ソースと受信デバイスとの間の伝播遅延に起因する信号ＣＫ６６４、ＤＱＳ６６６、およびＤＱ６６８のバージョンである。
【００８８】
本発明の実施形態は、信号の行先においてスキューを減少させるために、信号ＤＱＳ６６６およびＤＱ６６８がＣＫ６７２にアラインされるように、ソースメモリインターフェースにおいて、信号ＤＱＳ６６６およびＤＱ６６８を位相シフトし得る。ＣＫ信号は、各メモリデバイスに対して異なる量で遅延されるので、各ＤＱ／ＤＱＳグループは、独立してアラインされ得る。ここでもまた、各ＤＱ／ＤＱＳグループは１つにアラインされ得るか、またはグループのＤＱＳは、グループの１つ以上のＤＱ信号から独立してアラインされ得る。
【００８９】
この実施例において、ＤＱＳ信号は、エッジ６８６が図６Ａに示されるように位相６６０ｅよりはむしろ位相６６０ｄにアラインされるように、位相シフトされる。同様に信号ＤＱ６６８は、遷移点６８６が図６Ａに示されるように位相６６０ｃよりはむしろ位相６６０ｂにアラインされるように、位相シフトされる。
【００９０】
信号の行先において、スキュー６８２は、メモリユニットまたは通信バスを介してデータを受信するその他のデバイスにおけるＣＫ信号６７２とＤＱＳ信号６７４との間のミスアライメントを表す。同様にスキュー６８４は、メモリユニットまたは通信バスを介してデータを受信するその他のデバイスにおけるＤＱＳ信号６７４とＤＱ信号６７６との間のミスアライメントを表す。スキュー６８２および６８４は、スキュー６７８および６８０より実質的に少なく、このことは、ソースメモリインターフェースにおいて位相シフトがいっさい信号に印加されない場合、結果として生じる。
【００９１】
図７は、本発明の実施形態と共に使用するのに適した例示的なプログラマブルデバイスアーキテクチャ７００を例示する。デバイスアーキテクチャ７００は、プログラマブルデバイスコア７０５を含む。プログラマブルデバイスコア７０５は、論理セル、機能ブロック、メモリユニットおよび構成可能なスイッチング回路などのプログラマブルデバイスコンポーネントを含む。
【００９２】
デバイスアーキテクチャ７００は、Ｉ／Ｏバンク７０７、７０９、７１１、７１３、７１５、７１７、７１９、７２１、７２３、および７２５などの複数のＩ／Ｏバンクを含む。実施形態において、デバイスアーキテクチャ７００は、任意の数のＩ／Ｏバンクが可能である。
【００９３】
実施形態において、複数のＩ／Ｏバンクは、限定数のＩ／Ｏバンクタイプに属する。例えば、Ｉ／Ｏバンク７０７、７１１、７１３、７１５、７１７、７２１、７２３、および７２５はＩ／ＯバンクタイプＡである。Ｉ／Ｏバンク７０９および７１９は、Ｉ／ＯバンクタイプＢに属する。各Ｉ／Ｏバンクタイプは、Ｉ／Ｏピンの数およびそのメンバのＩ／Ｏバンクの他の属性を指定する。例えば、タイプＡのＩ／Ｏバンクは、６０のＩ／Ｏピンを有し得、タイプＢのＩ／Ｏバンクは、３６のＩ／Ｏピンを有し得る。Ｉ／Ｏバンクタイプの数は、２タイプに限定されないで、デバイスアーキテクチャ７００の多くの一般的なインプリメンテーションは、４以上の様々なＩ／Ｏタイプを含み得る。
【００９４】
本発明の実施形態は、デバイスアーキテクチャ７００のＩ／Ｏバンク７０７、７０９、７１１、７１３、７１５、７１７、７１９、７２１、７２３、および７２５のいくつかまたはすべてにおいて、回路４００、４５０、５００および５５０などの回路を含む。
【００９５】
図８は、本発明の実施形態と共に使用するのに適した制御論理をインプリメントすることに適した例示的なプログラマブルデバイスコア８００を例示する。制御論理は、メモリアクセスプロトコルおよびキャリブレーションモードなどのメモリインターフェースのより高いレベルの機能性のための論理を含み得、メモリアクセスプロトコルおよびキャリブレーションモードは、スキューを減少または除去するために、回路４００、４５０、５００、および５５０においてマルチプレクサに対して適切な設定を決定する。
【００９６】
図８は、本発明の実施形態と共に使用するのに適したプログラマブルデバイス８００を例示する。プログラマブルデバイス８００は、論理アレイブロック（ＬＡＢ）８０５、８１０、および８１５などの多数のＬＡＢを含む。各ＬＡＢは、論理動作を実行するための論理ゲートおよび／またはルックアップテーブル、ならびにデータを記憶し検索するためのレジスタを用いる多数のプログラマブル論理セルを含む。ＬＡＢ８０５は、論理セル８２０、８２１、８２２、８２３、８２４、８２５、８２６、および８２７を詳細に例示する。分かり易くするために、論理セルは図８の他のＬＡＢから省略される。デバイス８００のＬＡＢは、行８３０、８３５、８４０、８４５、および８５０に配列される。実施形態において、ＬＡＢ内の論理セルおよび行内のＬＡＢの配列は、プログラマブルスイッチング回路の構成可能な接続の階層システムを提供し、該階層システムにおいて、ＬＡＢ内の論理セル間、同じ行の様々なＬＡＢにおけるセル間、および、様々な行のＬＡＢにおけるセル間の接続は、ますますより多くのリソースを必要とし、より非効率的に動作する。
【００９７】
ＬＡＢに配列された論理セルの他に、プログラマブルデバイス８００も、乗算および累算ブロック（ＭＡＣ）８５５ならびにランダムアクセスメモリブロック（ＲＡＭ）８６０などの特別な機能ブロックを含む。プログラマブルデバイスの構成は、構成メモリ８７５に記憶された構成データによって少なくとも部分的に指定される。構成データは、論理セルの機能を定義するルックアップテーブルのための値と、マルチプレクサ、および入力、出力、論理セル、および機能ブロック間に信号を伝えるための構成可能なスイッチング回路によって用いられる他のスイッチングデバイスのための制御信号の値と、ならびに、プログラマブルデバイスおよびその同種の機能ブロックおよび論理セルの動作のモードなどのプログラマブルデバイスの構成の他の局面を指定する値とを含む。構成メモリ８７５は図８にモノリシックユニットとして示されるが、一部のプログラマブルデバイスにおいて、構成メモリ８７５は、プログラマブルデバイス全体に分散される。これらのタイプのプログラマブルデバイスにおいて、構成メモリの部分は、プログラマブルデバイスの論理セル、機能ブロックおよび構成可能なスイッチング回路内にあり得る。
【００９８】
分かり易くするために、図８に示されるプログラマブルデバイス８００の部分は、少数の論理セル、ＬＡＢおよび機能ブロックを含むのみである。典型的なプログラマブルデバイスは、数千または数万のこれらのエレメントを含む。
【００９９】
さらなる実施形態は、当業者によって付属の文書を読んだ後に、構想され得る。例えば、本発明はプログラマブルデバイスに関して検討されたが、本発明は、標準または構造化ＡＳＩＣ、ゲートアレイ、および汎用ディジタル論理デバイスに同様に適用可能である。他の実施形態において、上記の開示された発明のコンビネーションまたはサブコンビネーションは、有利に作製され得る。アーキテクチャのブロックダイアグラムおよびフローチャートは、理解し易くするためにグループ化される。しかしながら、ブロック、新しいブロックの追加、ブロックの再配列などのコンビネーションは、本発明の代替の実施形態において意図されることは理解されるべきである。
【０１００】
従って、明細書および図面は、制限的な意味よりはむしろ例示的な意味でみなされるべきである。しかしながら、特許請求の範囲に述べられている本発明のより広い精神と範囲から逸脱することなく、種々の修正および変更が、明細書および図面に対してなされ得ることは明らかである。
【図面の簡単な説明】
【０１０１】
【図１】図１は、本発明の実施形態による、デバイスおよびメモリインターフェースを含む例示的なシステム構成を示す。
【図２】図２は、通信インターフェースにおける様々なタイプのスキューを示すタイミング図である。
【図３】図３は、本発明の一実施形態と一致するスキューを決定するために好適なフィードバックループシステムを示す。
【図４Ａ】図４Ａは、タイミングスキュー、例えばフライバイトポロジーにおいてクロック信号をルーティングすることによって生じるタイミングスキューを調節し得る出力回路の概略図である。
【図４Ｂ】図４Ｂは、タイミングスキュー、例えばフライバイトポロジーにおいてクロック信号をルーティングすることによって生じるタイミングスキューを調節し得る出力回路の概略図である。
【図５Ａ】図５Ａは、本発明の実施形態による、出力回路の概略図である。
【図５Ｂ】図５Ｂは、本発明の実施形態による、出力回路の概略図である。
【図５Ｃ】図５Ｃは、本発明の実施形態による、出力回路の概略図である。
【図６Ａ】図６Ａは、本発明の一実施形態による、スキュー補償回路の動作を示すタイミング図である。
【図６Ｂ】図６Ｂは、本発明の一実施形態による、スキュー補償回路の動作を示すタイミング図である。
【図７】図７は、本発明の実施形態に使用するために好適である例示的なプログラマブルデバイスを示す。
【図８】図８は、本発明の実施形態で使用する制御ロジックをインプリメントするために好適である例示的なプログラマブルデバイスコアを示す。
【符号の説明】
【０１０２】
１００  システム
１０５  デバイス
１１０  メモリインターフェース
１１５  メモリユニット
１２０  メモリデバイス
１２２  通信バス
１２５  データ信号接続
【図１】
0005579961.tif 000002
【図２】
0005579961.tif 000003
【図３】
0005579961.tif 000004
【図４Ａ】
0005579961.tif 000005
【図４Ｂ】
0005579961.tif 000006
【図５Ａ】
0005579961.tif 000007
【図５Ｂ】
0005579961.tif 000008
【図５Ｃ】
0005579961.tif 000009
【図６Ａ】
0005579961.tif 000010
【図６Ｂ】
0005579961.tif 000011
【図７】
0005579961.tif 000012
【図８】
0005579961.tif 000013