(57)【特許請求の範囲】
【請求項１】
メモリから出力されるデータストローブ信号のゲーティングを行うゲート回路と、リードレイテンシおよびバースト長の情報にもとづいて、前記ゲーティングの基準波形となる原ゲート信号を生成する原ゲート信号生成回路とを有するメモリインターフェイスのタイミング調整回路であって、
前記データストローブ信号が伝送される信号線がハイ・インピーダンス状態となるのを回避するハイ・インピーダンス回避手段と、
前記ハイ・インピーダンス回避手段の動作の実行／解除を制御するハイ・インピーダンス回避制御手段と、
位相の制御されたサンプリングクロックにより前記データストローブ信号を所定回数サンプリングするサンプリング手段と、
前記ハイ・インピーダンス回避制御手段が前記ハイ・インピーダンス回避手段を動作させているときに入力された前記データストローブ信号の前記サンプリング結果より、前記データストローブ信号の最初のエッジを検出し、その検出位相に応じて、前記原ゲート信号の移相量の初期値を設定する初期値設定手段と、
前記ハイ・インピーダンス回避制御手段が前記ハイ・インピーダンス回避手段を動作させていないときに入力された前記データストローブ信号の前記サンプリング結果より、前記移相量の補正方向を決定する補正手段と、
前記初期値設定手段または前記補正手段からの出力にもとづいて前記原ゲート信号の移相量を決定する移相量決定手段と、
前記移相量決定手段により指定された移相量に合わせて前記原ゲート信号を遅延させ、前記ゲート回路へ前記ゲーティング用のゲート信号を出力する遅延手段と
を備えることを特徴とするメモリインターフェイスのタイミング調整回路。
【請求項２】
前記サンプリング手段が、
前記サンプリングクロックを生成するサンプリングクロック生成部と、
前記ゲート信号のゲーティング開始時期から前記サンプリングクロックの出力開始時期までの時間を所定の値に調整するサンプリング開始時期制御部と
を有することを特徴とする請求項１に記載のメモリインターフェイスのタイミング調整回路。
【請求項３】
前記初期値設定手段が、
前記サンプリングクロックの位相を順次シフトさせながら前記サンプリング回路で実行された複数回のサンプリング結果を、サンプリング順に格納する第１のサンプリング結果格納レジスタと、
前記複数回のサンプリングの実行時は、前記サンプリングクロックの位相の前記順次シフトを制御し、前記複数回のサンプリングの終了後は、前記第１のサンプリング結果格納レジスタに格納されたデータを検索し、前記ハイ・インピーダンス回避手段により設定されたレベルとは反対のレベルが最初に検出されたレジスタに対応するサンプリング順から前記移相量を決定する初期位相制御部と
を有することを特徴とする請求項２に記載のメモリインターフェイスのタイミング調整回路。
【請求項４】
前記補正手段が、
前記位相制御部によりサンプリング位相が前記ゲート開始タイミングの決定の際に検出された前記サンプリング順に対応する位相に固定されているサンプリングクロックを用いて、前記サンプリング回路で複数回サンプリングされた結果を格納する第２のサンプリング結果格納レジスタと、
前記第２のサンプリング結果格納レジスタに格納されたデータ相互の極性関係にもとづいて、移相量を増加させるか、減少させるか、保持するかの補正方向を決定する補正制御部と
を有することを特徴とする請求項３に記載のメモリインターフェイスのタイミング調整回路。
【請求項５】
前記移相量決定手段が、
前記ハイ・インピーダンス回避手段が動作しているときは、前記初期値設定手段からの出力にもとづいて、前記サンプリングクロックの位相のシフト量および前記原ゲート信号の移相量を決定し、
前記ハイ・インピーダンス回避手段が動作していないときは、前記原ゲート信号の移相量の補正量を決定する
ことを特徴とする請求項３または４に記載のメモリインターフェイスのタイミング調整回路。
【請求項６】
前記遅延手段が、
前記原ゲート信号に対して、前記サンプリングクロックのサイクル単位での遅延処理を行う第１の遅延部と、
前記ハイ・インピーダンス回避手段が動作しているときは前記サンプリングクロック生成部の出力を選択し、前記ハイ・インピーダンス回避手段が動作していないときは前記第１の遅延部の出力を選択するセレクタと、
前記セレクタの出力に対して、前記サンプリングクロックのサイクルを分割した単位での遅延処理を行う第２の遅延部と、
を有することを特徴とする請求項５に記載のメモリインターフェイスのタイミング調整回路。
【請求項７】
請求項１に記載のメモリインターフェイスのタイミング調整回路を用いたタイミング調整方法であって、
電源投入後の初期化時には、
前記ハイ・インピーダンス回避制御手段により前記ハイ・インピーダンス回避手段を動作させるステップと、
リードコマンドの送出により前記メモリから出力された前記データストローブ信号に対して前記サンプリング手段によるサンプリングを行い、前記初期値設定手段により前記原ゲート信号の移相量の初期値を設定するステップと、
前記ハイ・インピーダンス回避制御手段により前記ハイ・インピーダンス回避手段の動作を解除するステップと、
リードコマンドの送出により前記メモリから出力された前記データストローブ信号に対して前記サンプリング手段によるサンプリングを行い、前記補正手段による前記移相量の補正を行うステップと、
前記補正手段により補正された移相量に合わせて、前記原ゲート信号を遅延させるステップと
を実行し、
前記メモリの通常動作時には、
前記ハイ・インピーダンス回避制御手段により前記ハイ・インピーダンス回避手段の動作を解除するステップと、
前記メモリへのリードコマンドの送出ごとに、前記メモリから出力された前記データストローブ信号に対して前記サンプリング手段によるサンプリングを行い、前記補正手段による前記移相量の補正を行うステップと
を実行する
ことを特徴とするタイミング調整方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、メモリインターフェイスのタイミング調整回路および方法に関する。
【背景技術】
【０００２】
ＤＤＲ  ＳＤＲＡＭ（Double  Data  Rate  Synchronous  Dynamic  Random  Access  Memory）を使用する場合、ＤＤＲ  ＳＤＲＡＭに、専用のインターフェイス回路を備えた半導体装置を接続し、ＤＤＲ  ＳＤＲＡＭとインターフェイス回路との間で、相互にデータを転送することが行われる。
【０００３】
ＤＤＲ  ＳＤＲＡＭのリード動作時には、ＤＤＲ  ＳＤＲＡＭから、データストローブ信号ＤＱＳと、データストローブ信号ＤＱＳのエッジに同期したデータ信号ＤＱが出力される。そこで、ＤＤＲ  ＳＤＲＡＭに接続されたインターフェイス回路は、データストローブ信号ＤＱＳのエッジでデータ信号ＤＱを取り込む。
【０００４】
ここで、データストローブ信号ＤＱＳは、ＤＤＲ  ＳＤＲＡＭのライト動作時にはインターフェイス回路からＤＤＲ  ＳＤＲＡＭへ出力される双方向信号であるので、リード／ライト動作時以外はハイ・インピーダンス状態となっている。
【０００５】
リードコマンドが発行されると、データストローブ信号ＤＱＳは、ハイ・インピーダンス状態からプリアンブル期間を経て、データストローブを出力する状態へと変化するが、ハイ・インピーダンス状態のときは、クロストークなどの影響を受けて、パルス状のノイズが発生しやすい。したがって、本来のデータストローブが出力される前にこのようなノイズが発生すると、インターフェイス回路は、データ信号ＤＱを誤って取り込むおそれがある。
【０００６】
そのため、従来、インターフェイス回路に、ＤＤＲ  ＳＤＲＡＭのレイテンシに合わせてデータストローブ信号ＤＱＳの有効期間を設定するゲート信号を設け、このゲート信号でゲーティングされたデータストローブ信号ＤＱＳで、データ信号ＤＱを取り込むことが行われている。
【０００７】
しかし、この従来の方式では、電圧や温度の変動によるデータストローブ信号ＤＱＳおよびゲート信号の位相の変化や、データストローブ信号ＤＱＳの伝送経路の伝達時間の変動により、データストローブ信号ＤＱＳとゲート信号との位相関係に変動が生じることがある。そのような場合に、ゲーティングされたデータストローブ信号ＤＱＳに、上述のノイズが含まれたり、逆に、本来のデータストローブが出力されなかったりすると、データ信号ＤＱの誤取り込みが生じる。特に、１Ｇｂｐｓを超える高速の転送においては、位相の変化量は無視できないほどになっており、より深刻な問題となっている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００７−２６５３９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
そこで、本発明が解決しようとする課題は、入力されたデータストローブ信号の位相に応じて、そのゲートタイミングを調整することのできるメモリインターフェイスのタイミング調整回路および方法を提供することにある。
【課題を解決するための手段】
【００１０】
実施形態のタイミング調整回路は、ハイ・インピーダンス回避手段が、前記データストローブ信号が伝送される信号線がハイ・インピーダンス状態となるのを回避し、ハイ・インピーダンス回避制御手段が、前記ハイ・インピーダンス回避手段の動作の実行／解除を制御する。このタイミング調整回路は、サンプリング手段が、位相の制御されたサンプリングクロックにより前記データストローブ信号を所定回数サンプリングし、初期値設定手段が、前記ハイ・インピーダンス回避手段が動作しているときの前記サンプリング結果より、原ゲート信号の移相量の初期値を設定し、補正手段が、前記ハイ・インピーダンス回避手段が動作していないときの前記サンプリング結果より、前記移相量の補正方向を決定する。移相量決定手段が、前記初期値設定手段または前記補正手段の出力にもとづいて移相量を決定し、前記移相量決定手段により指定された移相量に合わせて、遅延手段が、前記原ゲート信号を遅延させて、データストローブ信号をゲーティングするためのゲート信号を出力する。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態のタイミング調整回路を有するメモリインターフェイスの構成の例を示すブロック図。
【図２】ＤＤＲ  ＳＤＲＡＭから出力されるデータストローブ信号ＤＱＳの例を示す図。
【図３】本発明の実施形態のタイミング調整回路を用いたゲート信号の移相量調整の処理手順の例を示すフロー図。
【図４】本発明の実施形態のゲートレベリング回路の具体的な構成の例を示すブロック図。
【図５】本発明の実施形態のゲートレベリング回路の初期値設定部の処理手順の例を示すフロー図。
【図６】ゲート信号の移相量の初期値設定時のＤＱＳ信号とサンプリング信号の例を示す図。
【図７】サンプリング信号の位相シフトの様子を示す図。
【図８】本発明の実施形態のゲートレベリング回路の初期値設定部のサンプリング結果格納レジスタの構成の例を示すブロック図。
【図９】本発明の実施形態のゲートレベリング回路を用いたゲート信号の移相量の初期値設定の例を示す図。
【図１０】本発明の実施形態のゲートレベリング回路の補正部の処理手順の例を示すフロー図。
【図１１】本発明の実施形態のゲートレベリング回路の補正部の処理を行う際のゲート信号とサンプリングクロックの位相関係の例を示す図。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について図面を参照して説明する。なお、図中、同一または相当部分には同一の符号を付して、その説明は繰り返さない。
【００１３】
（実施形態）
図１は、本発明の実施形態のタイミング調整回路を有するメモリインターフェイスの構成の例を示すブロック図である。本実施形態のタイミング調整回路は、ＤＤＲ  ＳＤＲＡＭから出力されるデータストローブ信号ＤＱＳをゲーティングするゲート信号の出力タイミングを、データストローブ信号ＤＱＳの出力タイミングに対して最適化する処理を行う。ここでは、この最適化処理をゲートレベリング（Gate  Leveling）と称する。
【００１４】
図１に示すメモリインターフェイス１０００は、ＤＤＲ  ＳＤＲＡＭ２０００から出力されるデータを受信する機能を有する。メモリインターフェイス１０００からＤＤＲ  ＳＤＲＡＭ２０００へリードコマンドＲＤを送出すると、ＤＤＲ  ＳＤＲＡＭ２０００からメモリインターフェイス１０００へ、データ信号ＲＱとデータストローブ信号ＤＱＳが出力される。メモリインターフェイス１０００から出力されるデータストローブ信号ＤＱＳに対してゲーティングを行うが、そのための回路として、原ゲート信号生成回路１１００と、ゲート回路１２００と、を有する。
【００１５】
原ゲート信号生成回路１１００は、ＤＤＲ  ＳＤＲＡＭ２０００のレイテンシに関する情報にもとづいてリードコマンドＲＤ発行からゲーティング開始までのサイクル数を決定し、また、メモリ読み出しのバースト長の指定からゲーティング期間を決定して、原ゲート信号を生成する。
【００１６】
ゲート回路１２００は、原ゲート信号に対するゲートレベリングが行われた後のゲート信号によりデータストローブ信号ＤＱＳをゲーティングする。
【００１７】
このようなメモリインターフェイス１０００に搭載された本発明の実施形態のタイミング調整回路は、原ゲート信号生成回路１１００から出力される原ゲート信号のゲートレベリングを行うゲートレベリング回路１と、データストローブ信号ＤＱＳがハイ・インピーダンス状態になるのを回避するために、データストローブ信号ＤＱＳが伝送される信号線をプルダウンさせる機能を有するプルダウン回路２と、プルダウン回路２のプルダウン動作の実行／解除を制御するハイ・インピーダンス回避制御部３と、を有する。
【００１８】
ゲートレベリング回路１は、原ゲート信号生成回路１１００から出力される原ゲート信号の位相を、データストローブ信号ＤＱＳの出力タイミングに対して最適な位置へ移相する処理を行う。
【００１９】
ゲートレベリング回路１は、位相の制御されたサンプリングクロックによりデータストローブ信号ＤＱＳを所定回数サンプリングするサンプリング部１１と、ハイ・インピーダンス回避制御部３がプルダウン回路２を動作させているときに入力されたデータストローブ信号ＤＱＳのサンプリング結果より、データストローブ信号ＤＱＳの最初のエッジを検出し、その検出位相に応じて、原ゲート信号の移相量の初期値を設定する初期値設部１２と、ハイ・インピーダンス回避制御部３がプルダウン回路２を動作させていないときに入力されたデータストローブ信号ＤＱＳのサンプリング結果より、原ゲート信号の移相量の補正方向を決定する補正部１３と、初期値設定部１２または補正部１３から出力にもとづいて前記原ゲート信号の移相量を決定する移相量決定部１４と、移相量決定部１４により指定された移相量に合わせて原ゲート信号を遅延させ、ゲート回路１２００へゲーティング用のゲート信号を出力する遅延部１５と、を備える。
【００２０】
初期値設定部１２を動作させるか、補正部１３を動作させるかは、初期化／補正切り替え信号により切り替えられる。
【００２１】
プルダウン回路２は、接地端子に接続されたプルダウン抵抗Ｒと、プルダウン抵抗Ｒとデータストローブ信号ＤＱＳの信号線との間に挿入されたスイッチＳＷを有する。スイッチＳＷは、ハイ・インピーダンス回避制御部３によりプルダウン動作の実行が指示されたときにオンする。これにより、データストローブ信号ＤＱＳの信号線は、接地電位方向へプルダウンされる。また、ハイ・インピーダンス回避制御部３によりプルダウン動作の解除が指示されたとき、スイッチＳＷはオフする。
【００２２】
ハイ・インピーダンス回避制御部３は、初期化／補正切り替え信号が「初期化」を示すときはプルダウン回路２へプルダウン動作の実行を指示し、初期化／補正切り替え信号が「補正」を示すときはプルダウン動作の解除を指示する。
【００２３】
図２に、リードコマンドＲＤと、データストローブ信号ＤＱＳとの関係を示す。ここでは、バースト長を８として、リードコマンドＲＤが３回連続して発行された例を示す。バースト長が８の場合、４サイクルごとにリードコマンドＲＤが発行される。
【００２４】
リードコマンドＲＤが発行されると、データストローブ信号ＤＱＳは、ハイ・インピーダンス状態から、プリアンブルを経て、周期的に変化する信号を出力する。リードコマンドＲＤの発行からデータストローブ信号ＤＱＳの出力までは、ＤＤＲ  ＳＤＲＡＭ２０００の仕様で規定されたレイテンシを要する。なお、データストローブ信号ＤＱＳは、本来、正転信号と反転信号を対とした差動信号であるが、ここでは、その一方のみを示している。ハイ・インピーダンス状態であるとき、データストローブ信号ＤＱＳには、クロストークなどによりノイズが発生することがある。
【００２５】
このようなノイズによりデータストローブ信号ＤＱＳの最初のエッジの検出を行う初期値設定部１２が誤動作することを防止するため、本実施形態ではプルダウン回路２を設けている。このプルダウン回路２を動作させることにより、データストローブ信号ＤＱＳがハイ・インピーダンス状態になることが回避され、データストローブ信号ＤＱＳにノイズが発生することを防ぐことができる。なお、プルダウン回路２の代わりに、プルアップ回路を設けるようにしてもよい。
【００２６】
図３は、本実施形態のタイミング調整回路を用いた原ゲート信号の移相量調整の処理手順の例を示すフロー図である。
【００２７】
電源投入後、メモリインターフェイス１０００およびＤＤＲ  ＳＤＲＡＭ２０００の初期化が終了したら、ＤＤＲ  ＳＤＲＡＭ２０００へ、ダミーデータの書き込みを行う（ステップＳ０１）。ダミーデータとは、データストローブ信号ＤＱＳを受信する際のデータ信号ＲＱからのクロストークを排除するため、総てのビットを‘０’または‘１’としたデータのことである。
【００２８】
次に、初期化／補正切り替え信号を「初期化」にして、プルダウン回路２のスイッチＳＷをオンさせ、データストローブ信号ＤＱＳの信号線をプルダウンする（ステップＳ０２）。
【００２９】
続いて、リードコマンドＲＤを発行し、ダミーデータの読み出しを行う（ステップＳ０３）。
【００３０】
このときＤＤＲ  ＳＤＲＡＭ２０００から出力されたデータストローブ信号ＤＱＳに対して初期値設定部１２の処理を実行し（ステップＳ０４）、最初に検出したデータストローブ信号ＤＱＳのエッジの位相に応じて、原ゲート信号の移相量の初期値を決定する（ステップＳ０５）。
【００３１】
この初期値設定部１２の決定にもとづいて、移相量決定部１４は、原ゲート信号の移相量を決定する。
【００３２】
ただし、このとき入力されたデータストローブ信号ＤＱＳには、プルダウンの影響により、通常よりも立ち上りが緩やかで立ち下りが急峻となるような波形の歪みが生じている。そこで、この波形の歪みによる誤差を除去する必要がある。
【００３３】
そのため、初期化／補正切り替え信号を「補正」に切り替え、プルダウン回路２のスイッチＳＷをオフさせ、データストローブ信号ＤＱＳの信号線のプルダウンを解除する（ステップＳ０６）。
【００３４】
続いて、リードコマンドＲＤを発行し、ダミーデータの読み出しを行う（ステップＳ０７）。このときＤＤＲ  ＳＤＲＡＭ２０００から出力されたデータストローブ信号ＤＱＳは、プルダウンの影響のない、通常の波形である。
【００３５】
そこで、このデータストローブ信号ＤＱＳに対して補正部１３の処理を実行し（ステップＳ０８）、初期値に対して、移相量を増加させるか、減少させるか、あるいは、そのまま保持するか、という補正方向を決定する。移相量決定部１４は、補正部１３の決定にもとづいて、補正量を決定する。（ステップＳ０９）。
【００３６】
この補正により、プルダウンの影響による移相量の誤差が除去される。補正部１３により補正された値が、移相量の最終的な初期値となる。このステップＳ０９までの一連の処理を初期ゲートレベリングと称する。
【００３７】
その後、ＤＤＲ  ＳＤＲＡＭ２０００は通常の動作を開始するが、動作電圧や周囲温度の変動などにより、出力されるデータストローブ信号ＤＱＳの遅延時間が変動し、ゲート信号との位相関係がずれることがある。そこで、本実施形態では、ＤＤＲ  ＳＤＲＡＭ２０００から通常のデータ読み出しが行われるごとに、補正部１３による移相量の補正を行う。この補正処理を動的ゲートレベリングと称する。
【００３８】
動的ゲートレベリングのフローでは、ＤＤＲ  ＳＤＲＡＭ２０００から通常のデータ読み出し（ステップＳ１０）に対して、ステップＳ０８の補正部１３の処理と、ステップＳ０９の移相量の補正が、繰り返し実行される。
【００３９】
この動的ゲートレベリングにより補正された移相量にもとづく遅延部１５の遅延時間の更新は、ＤＤＲ  ＳＤＲＡＭ２０００のリフレッシュ実行中など、リードコマンドが発行されないタイミングで行う。
【００４０】
動的ゲートレベリングを行うことにより、電圧や温度の変動などによるデータストローブ信号ＤＱＳの遅延時間の変動に対して、ゲート信号の出力位相を動的に追従させることができる。
【００４１】
図４は、ゲートレベリング回路１のさらに具体的な構成の例を示すブロック図である。
【００４２】
サンプリング部１１は、システムクロックＣＫにもとづくサンプリングクロックを生成するサンプリングクロック生成部１１１と、遅延部１５から出力されるゲート信号のゲーティング開始時期からサンプリングクロックの出力開始時期までの時間を所定の値に調整するＤＬＬ（サンプリング開始時期制御部）１１２と、ＤＬＬ１１２から出力されるサンプリングクロックによりデータストローブ信号ＤＱＳをラッチするフリップフロップであるサンプリング回路１１３と、を有する。
【００４３】
サンプリングクロック生成部１１１の出力は、初期化／補正切り替え信号が「初期化」を示すときは遅延部１５へ入力され、遅延部１５による位相シフトが行われてＤＬＬ１１２へ入力される。この位相シフト動作の詳細については後述する。
【００４４】
初期値設定部１２は、サンプリングクロックの位相を順次シフトさせながらサンプリング回路１１３で実行された複数回のサンプリング結果を、サンプリング順に格納するサンプリング結果格納レジスタ１２１と、サンプリング回路１１３による複数回のサンプリングの実行時は、サンプリングクロックの位相の順次シフトを制御し、その複数回のサンプリングの終了後は、第１のサンプリング結果格納レジスタ１２１に格納されたデータを検索し、プルダウンレベル（‘０’）とは反対のレベル、すなわち‘１’が最初に検出されたレジスタに対応するサンプリング順から移相量を決定する初期位相制御部１２２と、を有する。
【００４５】
なお、プルダウンの代わりに、データストローブ信号ＤＱＳをプルアップする場合は、初期位相制御部１２２は、プルアップレベル（‘１’）とは反対のレベル、すなわち‘０’が最初に検出されたレジスタに対応するサンプリング順から移相量を決定する。
【００４６】
初期値設定部１２は、初期化／補正切り替え信号が「初期化」を示すときに動作する。
【００４７】
補正部１３は、位相が固定されているサンプリングクロックを用いてサンプリング回路１１３で実行された複数回のサンプリング結果を格納するサンプリング結果格納レジスタ１３１と、サンプリング結果格納レジスタ１３１に格納されたデータ相互の極性関係にもとづいて、遅延部１５の遅延量を補正する補正制御部１３２と、を有する。
【００４８】
移相量決定部１４は、初期化／補正切り替え信号が「初期化」を示すときは、初期値設定部１２からの出力にもとづいて、サンプリング回路１１３へ与えるサンプリングクロックの位相のシフト量および原ゲート信号の移相量を決定し、初期化／補正切り替え信号が「補正」を示すときは、原ゲート信号の移相量の補正量を決定する。
【００４９】
遅延部１５は、原ゲート信号をサンプリングクロックのサイクル単位で遅延させるサイクルシフト部（第１の遅延部）１５１と、初期化／補正切り替え信号が「初期化」を示すときはサンプリングクロック生成部１１１の出力を選択し、初期化／補正切り替え信号が「補正」を示すときはサイクルシフト部１５１の出力を選択するセレクタ１５２と、セレクタ１５２の出力を、サンプリングクロックのサイクルを分割した単位で遅延させるＤＬＬ（第２の遅延部）１５３と、を有する。
【００５０】
セレクタ１５２の切り替えにより、ＤＬＬ１５３は、「初期化」時のサンプリング実行中は、サンプリングクロック生成部１１１から出力されるサンプリングクロックを、初期値設定部１２の移相量決定部１４で設定された位相シフト量だけ遅延させる動作を行う。
【００５１】
一方、「初期化」時のサンプリング終了後および「補正時」は、ＤＬＬ１５３は、原ゲート信号を遅延させる動作を行う。
【００５２】
このように、ＤＬＬ１５３は、サンプリングクロックの位相シフト動作および原ゲート信号の移相動作の両方に使用される。
【００５３】
次に、図４に示したゲートレベリング回路１の動作について、図５〜図１１を用いて説明する。
【００５４】
図５は、初期値設定部１２の処理手順の例を示すフロー図である。
【００５５】
初期値設定部１２の処理の実行にあたっては、初期化／補正切り替え信号を「初期化」に設定し、ハイ・インピーダンス回避制御部３によりプルダウン回路２のスイッチＳＷをオンさせ、データストローブ信号ＤＱＳの信号線をプルダウンしておき（ステップＳ２１）、バーストモードでｎ回連続リードコマンドを発行する（ステップＳ２２）。
【００５６】
これにより、データストローブ信号ＤＱＳは、図６に示すように、信号が連続して出力され、信号出力時期以外はプルダウンされる。
【００５７】
このデータストローブ信号ＤＱＳをサンプリングクロックでｐ回サンプリングする。ここで、サンプリングクロックは、サンプリングクロック生成部１１１の出力をセレクタ１５２を介してＤＬＬ１５３へ入力し、ＤＬＬ１５３で位相シフトが行われるサンプリングクロックを使用する。なお、サンプリング回数ｐは、プリアンブルの前後の期間を十分に含むように設定する。このｐ回のサンプリング結果を、サンプリング順にサンプリング結果格納レジスタ１２１に格納する。（ステップＳ２３）。
【００５８】
このとき、初期位相制御部１２２は、サンプリングクロックの位相シフト量を０とする。また、ＤＬＬ１１２は、通常は、遅延部１５から出力されるゲート信号のゲーティング開始時期からサンプリングクロックの出力が開始されるまでの時間を所定の値に調整する動作を行うが、今は、遅延部１５から出力されるサンプリングクロックを上記所定の値の時間だけ遅延させる働きをする。
【００５９】
図６に、「初期化」時の、データストローブ信号ＤＱＳとサンプリングクロックとの関係を示す。
【００６０】
次に、初期位相制御部１２２により、サンプリングクロックの位相をΔｔシフトさせる（ステップＳ２４）。ここで、Δｔは、サンプリングクロックの周期をＴとして、Δｔ＝Ｔ／（ｑ＋１）として算出される位相シフト単位量である。
【００６１】
本実施形態では、Δｔずつ、ｑ回の位相シフトを行う。すなわち、位相シフト量は、図７に示すように、１×Δｔ、２×Δｔ、３、・・・、ｑ×Δｔと、Δｔの倍数で増加する。
【００６２】
そこで、位相シフト倍数がｑに達したかどうかをチェックし（ステップＳ２５）、位相シフト倍数がｑ未満のときは（ＮＯ）、ステップＳ２２〜ステップＳ２５の処理を繰り返し実行する。
【００６３】
位相シフト倍数がｑに達したら（ＹＥＳ）、サンプリング結果格納レジスタ１２１に格納されたデータを検索し、最初に‘１’が格納されたレジスタを検出する（ステップＳ２６）。
【００６４】
図８に、サンプリング結果格納レジスタ１２１の構成の例を示す。本実施形態では、サンプリング結果格納レジスタ１２１は、ｐ×（ｑ＋１）個のレジスタで構成されるシフトレジスタとする。
【００６５】
それぞれのレジスタには、位相シフト倍数と、サンプリング順番にもとづくアドレスが付与されているものとする。すなわち、位相シフト倍数が０で、サンプリング順番が１のときのアドレス（１、０）を最初のアドレス、位相シフト倍数がｑで、サンプリング順番がｐのときのアドレス（ｐ、ｑ）を最終アドレスとするアドレスが付与されているものとする。
【００６６】
したがって、最初に‘１’が格納されたレジスタのアドレスをチェックすれば、そのときの位相シフト倍数とサンプリング順番が、直ちに判明する。例えば、最初に‘１’が格納されたレジスタのアドレスが（ｊ、ｋ）とすると、位相シフト倍数がｋで、サンプリング順番がｊであることがわかる。
【００６７】
ここで、サンプリングクロックの位相をずらして、１回目のサンプリングでデータストローブ信号ＤＱＳの‘１’を取り込むようにすることを考えると、現在のサンプリングクロックの出力開始時期を｛（ｊ−１）サイクル＋ｋ×Δｔ｝だけシフトさせればよいことがわかる。
【００６８】
本実施形態では、サンプリングクロックの出力開始タイミングは、ＤＬＬ１１２により、ゲート信号のゲーティング開始時期にリンクされており、ゲート信号のゲーティング開始時期を遅延させれば、その分、サンプリングクロックの出力開始タイミングも遅延する。
【００６９】
このとき、ＤＬＬ１１２に設定する値を、データストローブ信号ＤＱＳのプリアンブル期間よりも小さい値にしておけば、ゲート信号のゲーティング開始時期を、必ずプリアンブル期間中とすることができる。
【００７０】
そこで、最初に‘１’が格納されたレジスタのアドレス（ｊ、ｋ）から、移相量｛（ｊ−１）サイクル＋ｋ×Δｔ｝を決定し（ステップＳ２７）、移相量データ（ｊ−１、ｋ）を遅延部１５へ出力する（ステップＳ２８）。
【００７１】
遅延部１５は、サイクルシフト部１５１が原ゲート信号を（ｊ−１）サイクル遅延させ、ＤＬＬ１５３が、サイクルシフト部１５１の出力を、ｋ×Δｔ遅延させる。
【００７２】
最後に、初期化／補正切り替え信号を「補正」に設定し、ハイ・インピーダンス回避制御部３によりプルダウン回路２のスイッチＳＷをオフさせ、データストローブ信号ＤＱＳの信号線のプルダウンを解除する（ステップＳ２９）。
【００７３】
図９に、初期ゲートレベリング終了後の、データストローブ信号ＤＱＳとゲート信号の関係を示す。
【００７４】
最初に‘１’が検出されたレジスタのアドレス（ｊ、ｋ）から、原ゲート信号を｛（ｊ−１）サイクル＋ｋ×Δｔ｝移相してゲート信号を出力すると、ゲート信号のゲーティング開始時期は、データストローブ信号ＤＱＳのプリアンブル期間となる。また、ゲート信号の移相に伴って、サンプリングクロックも移相する。
【００７５】
次に、補正部１３の処理について説明する。
【００７６】
図１０は、補正部１３の処理手順の例を示すフロー図である。
【００７７】
リードコマンドが発行されると（ステップＳ３１）、サンプリング部１１は、図９に示した移相後のサンプリングクロックでデータストローブ信号ＤＱＳのサンプリングをｍ回行い、その結果をサンプリング結果格納レジスタ１３１に格納する（ステップＳ３２）。
【００７８】
なお、このときのサンプリングクロックは、遅延部１５のセレクタ１５がサイクルシフト部１５１の出力を選択しているので、原ゲート信号を遅延させたゲート信号がサンプリングクロックとなる。
【００７９】
ｍ回のサンプリングが終了すると、補正制御部１３２は、結果格納レジスタ１３１に格納されたｍ個の値の相互比較を行い（ステップＳ３３）、その値の関係が、総て‘０’であるか、総て‘１’であるか、あるいは、‘０’と‘１’が混在しているか、をチェックする（ステップＳ３４）。
【００８０】
補正制御部１３２は、その結果にもとづいて、移相量を増加させるか、減少させるか、あるいは、現在値を保持するか、という補正方向の決定を行なう（ステップＳ３５）。
【００８１】
このとき、本実施形態では、図１１（ａ）に示すように、サンプリングクロックのエッジがデータストローブ信号ＤＱＳのエッジと一致しているときを、ゲート信号の最適な出力タイミングと考える。この場合、サンプリング回路１１３のフリップフロップはメタステーブル状態であるので、サンプリング回路１１３に、‘０’と‘１’のいずれが取り込まれるかは確定しない。そこで、補正制御部１３２は、サンプリング結果格納レジスタ１３１に格納されたデータに‘０’と‘１’が混在しているときは、ゲート信号の出力タイミングが最適と判定し、現在の移相量を保持することとする。
【００８２】
一方、図１１（ｂ）に示すように、サンプリングクロックのエッジがデータストローブ信号ＤＱＳのエッジよりも前にあるときは、サンプリング回路１１３には‘０’が取り込まれる。そこで、補正制御部１３２は、サンプリング結果格納レジスタ１３１に格納されたデータが総て‘０’のときは、ゲート信号の出力タイミングが早いと判定し、移相量を増加させることとする。
【００８３】
また、図１１（ｃ）に示すように、サンプリングクロックのエッジがデータストローブ信号ＤＱＳのエッジよりも後にあるときは、サンプリング回路１１３には‘１’が取り込まれる。そこで、補正制御部１３２は、サンプリング結果格納レジスタ１３１に格納されたデータが総て‘１’のときは、ゲート信号の出力タイミングが遅いと判定し、移相量を減少させることとする。
【００８４】
移相量決定部１４は、補正制御部１３２の決定にもとづいて遅延部１５の遅延時間を制御し、移相量の更新を行う（ステップＳ３５）。
【００８５】
このような本実施形態によれば、データストローブ信号ＤＱＳがハイ・インピーダンス状態になるのを回避しながら初期ゲートレベリングを行うので、クロストークなどにより発生するノイズの影響を受けることなく、ゲート信号のゲーティング開始時期を設定することができる。また、ゲート信号のゲーティング開始時期をデータストローブ信号ＤＱＳのプリアンブル期間に設定することができるので、データストローブ信号ＤＱＳに対するゲート信号のタイミングマージンを最適にすることができる。
【００８６】
また、ＤＤＲ  ＳＤＲＡＭの動作中は、動的ゲートレベリングを行い、ゲート信号のゲーティング開始時期を常に補正するので、動作電圧や周囲温度の変動などによりデータストローブ信号ＤＱＳの遅延時間が変動しても、その変動に追随して、ゲート信号のゲーティング開始時期を最適位置に調整することができる。
【００８７】
以上説明した実施形態のメモリインターフェイスのタイミング調整回路および方法によれば、入力されたデータストローブ信号の位相に応じて、そのゲートタイミングを調整することができる。
【００８８】
また、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８９】
１  ゲートレベリング回路
２  プルダウン回路
３  ハイ・インピーダンス回避制御部
１１  サンプリング部
１２  初期値設定部
１３  補正部
１４  移相量決定部
１５  遅延部
１１１  サンプリングクロック生成部
１１２、１５３  ＤＬＬ
１１３  サンプリング回路
１２１、１３１  サンプリング結果格納レジスタ
１２２  初期位相制御部
１３２  補正制御部
１５１  サイクルシフト部
１５２  セレクタ
Ｒ  プルダウン抵抗
ＳＷ  スイッチ
【図１】
0005433593.tif 000002
【図２】
0005433593.tif 000003
【図３】
0005433593.tif 000004
【図４】
0005433593.tif 000005
【図５】
0005433593.tif 000006
【図６】
0005433593.tif 000007
【図７】
0005433593.tif 000008
【図８】
0005433593.tif 000009
【図９】
0005433593.tif 000010
【図１０】
0005433593.tif 000011
【図１１】
0005433593.tif 000012