(57)【特許請求の範囲】
【請求項１】
データを転送するタイミングを知らせるためのデータストローブ信号を受信し、当該データストローブ信号に応じてデータ受信を行うメモリインタフェース回路であって、
上記データストローブ信号を受信し入力する入力バッファと、
システムクロックに同期してマスク制御信号を生成するマスク制御信号発生部と、
上記入力バッファにより入力したデータストローブ信号を遅延させ遅延データストローブ信号として出力する第１の遅延回路と、
上記入力バッファと等価な遅延特性を有し、当該入力遅延特性に応じた遅延量で上記マスク制御信号を遅延させて出力するレプリカ回路と、
上記レプリカ回路から出力されたマスク制御信号を、上記データストローブ信号の遅延に追従して遅延制御した遅延マスク制御信号として出力する第２の遅延回路と、
上記第２の遅延回路によって遅延制御されたマスク制御信号を基準タイミングとしてマスク信号を生成し、当該マスク信号に応じて上記遅延データストローブ信号を所定期間マスクしてグリッジを除去したデータストローブ信号を生成するマスク回路と、
上記マスク回路によるデータストローブ信号に応じてデータ信号を取り込み、上記システムクロックに同期したクロックにより取り込みデータを再同期して出力する再同期回路と
を有するメモリインタフェース回路。
【請求項２】
上記第１の遅延回路は、
上記入力バッファにより受信したデータストローブ信号を、データ信号の有効データ幅の中央部に位置させ、データ受信タイミングマージンを付加して遅延制御した遅延データストローブ信号を出力する
請求項１記載のメモリインタフェース回路。
【請求項３】
上記マスク制御信号発生部は、
リード指示信号から遅延のない理想的なデータストローブ信号のプリアンブル期間の中央のタイミングでデータストローブ信号のマスクを解除可能なようにマスク制御信号を生成する
請求項１記載のメモリインタフェース回路。
【請求項４】
上記マスク制御信号は、プリアンブル期間におけるシステムクロックのエッジで第１のレベルになり、次のシステムクロックのエッジで第２レベルとなる信号である
請求項３記載のメモリインタフェース回路。
【請求項５】
上記第２の遅延回路は、
上記遅延マスク制御信号を、上記遅延データストローブ信号のプリアンブル期間の中央でマスクを解除するタイミングに位置するように遅延制御する
請求項３記載のメモリインタフェース回路。
【請求項６】
上記マスク回路は、
上記遅延マスク制御信号がアクティブで入力されると所定期間だけ上記マスク信号を非アクティブで生成し、当該マスク信号が非アクティブのときに上記遅延データストローブ信号を出力する
請求項５記載のメモリインタフェース回路。
【請求項７】
上記再同期回路は、
書き込みストローブ信号に応じてデータ信号を書き込む複数のＦＩＦＯレジスタと、
上記マスク回路によるデータストローブ信号から上記書き込みストローブ信号を生成し、上記ＦＩＦＯレジスタに供給するライトストローブ発生回路と、
上記ＦＩＦＯレジスタのラッチデータをシステムクロックに同期させるために乗り換えるクロックをシステムクロックから生成する再同期ストローブ制御回路と、
上記乗り換えクロックに同期してＦＩＦＯレジスタのラッチデータを再同期して出力する再同期レジスタと、を含む
請求項３記載のメモリインタフェース回路。
【請求項８】
上記再同期回路は、
書き込みストローブ信号に応じてデータ信号を書き込む複数のＦＩＦＯレジスタと、
上記マスク回路によるデータストローブ信号から上記書き込みストローブ信号を生成し、上記ＦＩＦＯレジスタに供給するライトストローブ発生回路と、
上記ＦＩＦＯレジスタのラッチデータをシステムクロックに同期させるために乗り換えるクロックをシステムクロックから生成する再同期ストローブ制御回路と、
上記乗り換えクロックに同期してＦＩＦＯレジスタのラッチデータを再同期して出力する再同期レジスタと、を含む
請求項６記載のメモリインタフェース回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＤＲ  ＳＤＲＡＭ(Double Data Rate Synchronous Dynamic Random Access Memory）からデータを読み出し可能なメモリインタフェース回路に関するものである。
【背景技術】
【０００２】
メモリとして高速なデータ転送機能であるダブルデータレート（ＤＤＲ）モードを有するＤＤＲ  ＳＤＲＡＭが普及している。
ＤＤＲモードにおいては、クロック信号の立ち上がりと立ち下り時の両方でデータのリード、ライト（読み書き）が行え、外部クロックの２倍の周波数で入出力を行うことができる。
【０００３】
また、最新世代のＤＤＲ  ＳＤＲＡＭの技術であるＤＤＲ２  ＳＤＲＡＭ(Double Data Rate 2-Synchronous Dynamic Random Access Memory）が知られている（たとえば特許文献１参照）。
ＤＤＲ２  ＳＤＲＡＭにおいては、消費電力の低減、データ帯域幅の増加、信号品質の向上、オン・ダイ・ターミネーション方式の導入などの機能強化が行われている。
【０００４】
ＤＤＲ（ＤＤＲ２）ＳＤＲＡＭを利用したシステムにおいて、データを転送するタイミングを知らせるためのデータストローブ信号を受信し、このデータストローブ信号に応じてデータ受信を行うメモリインタフェース回路を有する。
【０００５】
この種のメモリインタフェース回路が受信するデータストローブ信号は、メモリ側から出力される信号であり、リードコマンドの入力後に始まりメモリからのバーストデータの出力が始まる直前に終了する所定期間にプリアンブル状態となり、バーストデータの出力期間においてはバーストデータのタイムスロットごとに変化するトグル状態となり、バーストデータの出力期間直後から所定期間ポストアンブル状態となる信号である。
メモリインタフェース回路は、メモリからバーストデータ中の各タイムスロットのデータをリードする（読み出す）。
【特許文献１】特開２００５−２７６３９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところが、ＤＤＲ（ＤＤＲ２）ＳＤＲＡＭを利用したシステムにおいて、ＳＤＲＡＭからのデータ転送（リード動作）に関して以下の２つの問題点が存在する。
【０００７】
１つはメモリデータを受信する場合、データを転送するタイミングを知らせるためのデータストローブ信号ＤＱＳが双方向バス信号のため、リードデータバースト期間が終了しアイドル状態のハイインピーダンス状態に戻る際に下記の理由によりグリッジが発生し受信データを壊す可能性がある。
データストローブ信号ＤＱＳのバスラインがハイインピーダンス状態に開放されるとＶｔｔ（ＤＤＲ２では０．９Ｖ）の終端電圧になるが、この電圧レベルはＤＤＲ２メモリシステムのデータストローブ信号ＤＱＳのレシーバであるＪＥＤＥＣのＳＳＴＬ−１８規格では不定ロジックレベルであり、ノイズによりデータストローブ信号ＤＱＳに発生する可能性のあるグリッジがリード動作に誤動作を引き起こすおそれがある。
【０００８】
図１は、リードデータバースト長４の場合でデータ信号ＤＱを４段のＦＩＦＯ（Ｆｉｒｓｔ−ＩＮ  Ｆｉｒｓｔ−Ｏｕｔ）レジスタで取り込む回路を例として、データストローブ信号ＤＱＳにバースト期間が終了した時点でグリッジが発生する例を示す図である。
【０００９】
ＤＤＲ（ＤＤＲ２）メモリシステムでは、リードデータ信号ＤＱはデータストローブ信号ＤＱＳを遅延させた遅延データストローブ信号ＤＱＳＤでストローブされる。
第１バーストデータＤ０はエッジｅｄｇｅ０でストローブされレジスタＲＥＧ０に格納される。同様に第２バーストデータＤ１はエッジｅｄｇｅ１でレジスタＲＥＧ１に、第３バーストデータＤ２はエッジｅｄｇｅ２でレジスタＲＥＧ２に、第４バーストデータＤ３はエッジｅｄｇｅ３でレジスタＲＥＧ３にそれぞれ格納される。
【００１０】
ここでもしデータストローブ信号ＤＱＳにグリッジ発生がなければ各レジスタデータは４バーストデータ期間保持されるが、グリッジ発生があるとデータストローブ信号ＤＱＳを遅延させた信号ＤＱＳＤでストローブされるレジスタデータはグリッジにより壊される可能性がある。
グリッジがない場合のデータ保持期間は最大４バーストデータ期間であるが、図１のようにグリッジによりデータが破壊されるとデータ有効期間が短くなる。
特に影響のあるのは第４バーストデータＤ３を取り込むレジスタＲＥＧ３でデータ保持期間が１バーストデータ期間となる。これはたとえばＤＤＲ２−６６７スピードクラスでは１．５ｎｓと非常に短くなる。
【００１１】
これを防止する方法としては、主として以下の２つの方法がある。
第１は、取り込んだレジスタデータをグリッジの乗らないクロックドメインにすぐ乗換える方法である。
第２は、データストローブ信号ＤＱＳの有効期間以外はデータストローブ信号ＤＱＳをマスクしグリッジを排除する方法である。
【００１２】
第１の方法では、受信データの有効データ期間が余裕のある動作スピード（たとえばＤＤＲ-３３３、有効データ期間は１バースト期間で３ｎｓ）以下であれば有効であったが、より高速動作スピード、特にＤＤＲ２世代になるとクロック周期に比例して有効データ幅が大幅に縮小してくる（ＤＤＲ２-６６７では有効データ期間は１バースト期間１．５ｎｓ）。
【００１３】
さらに、データストローブ信号ＤＱＳやリードデータ信号ＤＱは遅延が一定ではなく、電圧、温度、プロセスの変動やＳＤＲＡＭデバイスによりバラツキを持っている。
これはいわゆるフライトタイムバラツキと言われ、図２に示すように、リード動作時のデータストローブ信号ＤＱＳおよびリードデータ信号ＤＱはＳＤＲＡＭ１がリードコマンド受信を起点としてあらかじめ設定されたＣＬ（ＣＡＳレイテンシ）サイクル後にＳＤＲＡＭから出力される。
ここでシステム側内部の論理回路（Ｓｙｓｔｅｍ Ｌｏｇｉｃ）２から見るとリードコマンドを出力してからデータストローブ信号ＤＱＳを受信するまでの遅延は遅延サイクル数ＣＬに加えリードコマンドのストローブであるＤＲＡＭクロックＣＫを出力するＩ／Ｏドライバとデータストローブ信号ＤＱＳ、リードデータ信号ＤＱを受信するＩ／ＯレシーバおよびＤＲＡＭがＣＫを入力してからＤＱＳ出力までの遅延ｔＤＱＳＣＫのそれぞれの遅延バラツキの影響を受ける(プリント基板配線のバラツキは比較的小さいのでここでは無視する)。
【００１４】
ｔＤＱＳＣＫのバラツキはＳＤＤＲＡＭ内部である程度補償されているので、フライトタイムバラツキはＩ／Ｏドライバ、レシーバの遅延バラツキが支配的である。
図３に示すように、このフライトタイムバラツキにより有効データ幅はさらに減少しシステムクロック周期以下となると乗換えるクロックエッジが存在せずクロック乗換えは困難となる。
さらにフライトタイムバラツキが１バーストデータ幅を超えると有効データ幅自体が消滅する。
【００１５】
フライトタイムバラツキを補正させるために、図４に示すように、データ伝送路経路をミラーリングしたフィードバッククロックを乗換えクロックに使用する方法が提案されている。図５は図４の回路のタイミングチャートである。
図４において、３がＤＤＲ２ＳＤＲＡＭを、４がシステム側内部の論理回路を示している。
【００１６】
しかし、この方法ではフィードバッククロックＦＢ ＣＬＫの追加のためのＩ／Ｏ回路、外部端子やプリント基板配線パターン、ライトＰＬＬ、リードＰＬＬ，可変遅延回路が必要であり、図５に示すように、フィードバッククロックに乗換えたリードデータをシステムに取り込むために再度システムクロックに乗せ換える必要があるためハードウェア量が増大する欠点がある。
【００１７】
一方、第２の方法としては、特許文献１に開示されているように、マスク信号を作成しデータストローブ信号ＤＱＳをゲートすることによりデータストローブ信号ＤＱＳの有効期間以外の信号をマスクすることでグリッジを排除する（図６のタイミング図）。
【００１８】
この方法では、マスク解除ポイントをデータストローブ信号ＤＱＳがハイインピーダンス状態からトグルが開始されるまでローレベルに固定される助走期間（ｔＲＰＲＥで規定されるプリアンブル期間）内にするためマスク信号を遅延制御する必要がある。
しかし、動作周波数が高くなってくると、図７に示すように、フライトタイムバラツキによるデータストローブ信号のＤＱＳ遅延バラツキがデータストローブ信号のＤＱＳプリアンブル期間を超える可能性がありマスク信号の遅延設定値が固定値ではなくなることになる。
【００１９】
このため、上記特許文献１ではマスク信号を可変遅延できるようにし装置初期化時にキャリブレーションパターンにより期待値判定を行ってフライトタイムバラツキに応じて個別に最適遅延量設定をおこなう技術が示されている。
しかしこの技術では、キャリブレーション機構を持たせるなどの設計量およびテスト時間、初期化時間の増加もたらす。
【００２０】
一方、２つ目の問題点は取り込んだ受信データをシステムにインタフェースする場合であり、データストローブ信号を基準に取り込んだ受信データは先述のフライトタイムバラツキにより遅延が変動するためメモリスピードが高速になるとシステムクロックへの同期は容易ではない。
一般的には異なるクロックドメインへのデータ転送同期はＦＩＦＯ回路が使用されるが通常のＦＩＦＯ回路はレイテンシやデータ読み出しポインタ回路等付随回路のオーバーヘッドが大きい。
【００２１】
本発明は、特別なキャリブレーション動作が不要で、ハードウェア量の増大を抑止しつつ、データストローブ信号に発生するグリッジを除去し正確なデータ受信を可能にするメモリインタフェース回路を提供することにある。
【課題を解決するための手段】
【００２２】
本発明の第１の観点は、データを転送するタイミングを知らせるためのデータストローブ信号を受信し、当該データストローブ信号に応じてデータ受信を行うメモリインタフェース回路であって、上記データストローブ信号を受信し入力する入力バッファと、システムクロックに同期してマスク制御信号を生成するマスク制御信号発生部と、上記入力バッファにより入力したデータストローブ信号を遅延させ遅延データストローブ信号として出力する第１の遅延回路と、上記入力バッファ及びCK出力バッファと等価な遅延特性を有し、当該入力遅延特性に応じた遅延量で上記マスク制御信号を遅延させて出力するレプリカ回路と、上記レプリカ回路から出力されたマスク制御信号を、上記データストローブ信号の遅延に追従して遅延制御した遅延マスク制御信号として出力する第２の遅延回路と、上記第２の遅延回路によって遅延制御されたマスク制御信号を基準タイミングとしてマスク信号を生成し、当該マスク信号に応じて上記遅延データストローブ信号を所定期間マスクしてグリッジを除去したデータストローブ信号を生成するマスク回路と、上記マスク回路によるデータストローブ信号に応じてデータ信号を取り込み、上記システムクロックに同期したクロックにより取り込みデータを再同期して出力する再同期回路とを有する。
【００２３】
好適には、上記第１の遅延回路は、上記入力バッファにより受信したデータストローブ信号を、データ信号の有効データ幅の中央部に位置させ、データ受信タイミングマージンを付加して遅延制御した遅延データストローブ信号を出力する。
【００２４】
好適には、上記マスク制御信号発生部は、リード指示信号から遅延のない理想的なデータストローブ信号のプリアンブル期間の中央のタイミングでデータストローブ信号のマスクを解除可能なようにマスク制御信号を生成する。
【００２５】
好適には、上記マスク制御信号は、プリアンブル期間におけるシステムクロックのエッジで第１のレベルになり、次のシステムクロックのエッジで第２レベルとなる信号である。
【００２６】
好適には、上記第２の遅延回路は、上記遅延マスク制御信号を、上記遅延データストローブ信号のプリアンブル期間の中央でマスクを解除するタイミングに位置するように遅延制御する。
【００２７】
好適には、上記マスク回路は、上記遅延マスク制御信号がアクティブで入力されると所定期間だけ上記マスク信号を非アクティブで生成し、当該マスク信号が非アクティブのときに上記遅延データストローブ信号を出力する。
【００２８】
好適には、上記再同期回路は、書き込みストローブ信号に応じてデータ信号を書き込む複数のＦＩＦＯレジスタと、上記マスク回路によるデータストローブ信号から上記書き込みストローブ信号を生成し、上記ＦＩＦＯレジスタに供給するライトストローブ発生回路と、上記ＦＩＦＯレジスタのラッチデータをシステムクロックに同期させるために乗り換えるクロックをシステムクロックから生成する再同期ストローブ制御回路と、上記乗り換えクロックに同期してＦＩＦＯレジスタのラッチデータを再同期して出力する再同期レジスタと、を含む。
【００２９】
本発明によれば、メモリインタフェース回路において、データ信号およびデータストローブ信号が受信され入力される。
データストローブ信号は入力バッファを介して入力され、第１の遅延回路で遅延されて遅延データストローブ信号としてマスク回路に出力される。
また、マスク制御信号発生部において、たとえばリード指示信号に応答してシステムクロックに同期してマスク制御信号が生成される。
このマスク制御信号は、データストローブ信号の入力バッファ及びCK出力バッファ109と等価な遅延特性を有するレプリカ回路により、その入出力遅延特性に応じた遅延量で遅延されて第２の遅延回路に出力される。
第２の遅延回路においては、レプリカ回路から出力されたマスク制御信号が、データストローブ信号の遅延に追従して遅延制御した遅延マスク制御信号として出力される。
マスク回路においては、第２の遅延回路によって遅延制御されたマスク制御信号を基準タイミングとしてマスク信号が生成され、マスク信号に応じて遅延データストローブ信号を所定期間マスクしてグリッジを除去したデータストローブ信号が生成され、再同期回路に出力される。
再同期回路においては、マスク回路によるデータストローブ信号に応じてデータ信号が取り込まれ、システムクロックに同期したクロックにより取り込みデータを再同期して出力される。
【発明の効果】
【００３０】
本発明によれば、特別なキャリブレーション動作が不要で、ハードウェア量の増大を抑止しつつ、データストローブ信号に発生するグリッジを除去し正確なデータ受信が可能となる。
【発明を実施するための最良の形態】
【００３１】
以下、本発明の実施形態を図面に関連付けて説明する。
【００３２】
図８は、本発明の実施形態に係るメモリインタフェース回路のリード系の構成例を示すブロック図である。
【００３３】
メモリインタフェース回路１００は、図８に示すように、入出力（Ｉ／Ｏ）レシーバ（入力バッファ）１０１，１０２、Ｉ／Ｏレプリカ回路１０３、第１の遅延回路としての可変遅延回路１０４、第２の遅延回路としての可変遅延回路１０５、データストローブ信号（ＤＱＳ）マスク回路１０６、マスク制御信号発生回路１０７、リードデータ再同期回路１０８、クロック送信Ｉ／Ｏバッファ１０９、およびクロック生成回路１１０を有する。
また、本実施形態のメモリインタフェース回路１００は、ＤＤＲ２ＳＤＲＡＭ２００のリードデータ信号ＤＱをデータストローブ信号ＤＱＳに応じて受信し、再同期化して出力する回路として構成されている。
【００３４】
Ｉ／Ｏレシーバ１０１は、ＤＤＲ２−ＳＤＲＡＭ２００からリード（読み出された）データ信号ＤＱを受信するレシーバである。
Ｉ／Ｏレシーバ１０２は、ＤＤＲ２−ＳＤＲＡＭ２００から出力されたデータストローブ信号ＤＱＳを受信するレシーバである。
なお、Ｉ／Ｏレシーバ１０１，１０２は双方向バッファであるが、本実施形態においては入力側についてであることから、入力バッファとして示している。
【００３５】
Ｉ／Ｏレプリカ回路１０３は、Ｉ／Ｏレシーバ（Ｉ／Ｏバッファ）と同様の遅延特性を有するように形成され、マスク制御信号発生回路１０７で生成されたマスク制御信号ＲＥＮを遅延させ、信号ＲＥＮＦＢとして可変遅延回路１０５に出力する。
図８のＩ／Ｏレプリカ回路１０３は、遅延素子としてのバッファ１０３１，１０３２をマスク制御信号ＲＥＮの入力部および出力部に有し、バッファ１０３１，１０３２および配線遅延を含めて、Ｉ／Ｏレシーバ（Ｉ／Ｏバッファ）と同様の遅延特性を有するように形成されている。
【００３６】
可変遅延回路１０４は、Ｉ／Ｏレシーバ１０２で受信したデータストローブ信号ＤＱＳを、データ信号ＤＱの有効データ幅の中央部に位置させ、データ受信タイミングマージンを最大化させるため最適遅延制御した信号ＤＱＳＤを出力する。
【００３７】
可変遅延回路１０５は、データストローブ信号ＤＱＳに対して、データストローブ信号ＤＱＳの遅延に追従して最適遅延制御した遅延マスク制御信号ＲＥＮＤ（本実施形態ではハイレベルでアクティブ）をＤＱＳマスク回路１０６に出力する。
【００３８】
可変遅延回路１０５に入力されるマスク制御信号ＲＥＮＦＢはマスク制御信号発生回路７から生成されたマスク制御信号ＲＥＮをＩ／Ｏバッファ、Ｉ／Ｏレシーバをレプリカ（模写）するＩ／Ｏレプリカ回路１０３を経由して出力されている。
これらはＤＲＡＭクロックＣＫの送信Ｉ／Ｏバッファ１０９およびデータ信号ＤＱ受信用のＩ／Ｏレシーバ１０１またはデータストローブＤＱＳ受信用のＩ／Ｏレシーバ１０２と同一の回路（等価な回路）であり電圧、温度、プロセス変動によるＩ／Ｏ回路の遅延バラツキをミラーリングしている。
【００３９】
ＤＱＳマスク回路１０６は、可変遅延回路１０５によって遅延調整されたマスク制御信号ＲＥＮＤを基準タイミングとしてマスク信号ＤＱＳＧを生成（作成）するとともに、遅延データストローブ信号ＤＱＳＤをマスクしてグリッジを除去したデータストローブ信号ＤＱＳＭを生成し、リードデータ再同期回路１０８に出力する。
【００４０】
リードデータ再同期回路１０８は、ＦＩＦＯライト（Ｗｒｉｔｅ）ストローブ発生回路１０８１、再同期ストローブ制御回路１０８２、ＦＩＦＯレジスタ１０８３、および再同期レジスタ１０８４を有する。
ＤＱＳマスク回路１０６においてグリッジを除去されたデータストローブ信号ＤＱＳＭは、リードデータ再同期回路１０８に入力される。
リードデータ再同期回路１０８においては、ＦＩＦＯライトストローブ発生回路１０８１でＦＩＦＯのライト（ＷＲＩＴＥ）ストローブ信号を生成し、ＦＩＦＯレジスタ１０８３へのストローブ信号ＤＱＳ０、ＤＱＳ１として分配される。
マスク信号ＤＱＳＧはリセット信号としてリード動作時以外はＤＱＳＧ＝ＬでＦＩＦＯのＷＲＩＴＥ（ライト）ストローブ信号は初期化され、かつディセーブルにされる。
【００４１】
本実施形態ではＦＩＦＯは４段で構成される。
ＦＩＦＯレジスタ１０８３の出力は１バーストデータ幅の４倍のデータ周期幅へ拡張され(転送レートは当然１／４となる)、４ビットのデータＤＲＥＧ１０、ＤＲＥＧ１１、ＤＲＥＧ１２、ＤＲＥＧ１３として出力された後、再同期レジスタ１０８４でシステムクロックＣＬＫドメインへ同期化されＲＤＡＴＡ［３：０］として出力されシステムへ渡される。
再同期ストローブ制御回路１０８２は、ＦＩＦＯレジスタ１０８３で拡張されたデータ幅内でタイミングマージンが最大になる最適なストローブポイントのエッジを選択する。このエッジ選択は２ビット（ｂｉｔ）エッジ制御（選択）信号ＳＥＬ＿ＥＤＧＥで行う。
【００４２】
図９は、本実施形態に係るＤＱＳマスク回路１０６の詳細な回路構成を示す図である。また、図１０は、図９の回路のタイミングチャート（理想遅延）を示す図である。
【００４３】
ＤＱＳマスク回路１０６は、論理積回路１０６１、およびマスク信号発生回路１０６２を有し、論理積回路１０６１は遅延されたデータストローブ信号ＤＱＳＤをマスクする機能を有する。
【００４４】
マスク制御信号発生回路１０７はリード指示信号ＲＥＡＤ＿ＥＮ信号から理想的（遅延のない）データストローブ信号ＤＱＳのプリアンブル期間の中央のタイミングでデータストローブ信号ＤＱＳのマスクを解除するマスク制御信号ＲＥＮを生成する。
本実施形態では、マスク制御信号ＲＥＮは、図１０に示すように、プリアンブル期間におけるシステムクロックＣＬＫの立ち下がりエッジでハイ（Ｈｉｇｈ）レベル（第１のレベル）になり、次のシステムクロックＣＬＫの立ち下がりエッジでロー（ＬＯＷ）レベル（第２のレベル）となる信号である。
もちろんこれはバースト長４の場合でバースト長８以上でも簡単に対応できる。
【００４５】
その後、マスク制御信号ＲＥＮはＩ／Ｏレプリカ回路１０３に入力されＩ／Ｏの遅延が付加された信号ＲＥＮＦＢが出力される。
さらに、信号ＲＥＮＦＢは可変遅延回路１０５によりデータストローブ信号ＤＱＳの遅延制御と配線スキューの整合性をとった遅延マスク制御信号ＲＥＮＤが、ＤＱＳマスク回路１０６のマスク信号発生回路１０６２に入力される。
遅延マスク制御信号ＲＥＮＤも遅延データストローブ信号ＤＱＳＤのプリアンブル中央でマスク解除するタイミングに位置する。
【００４６】
マスク信号発生回路１０６２は、図９に示すように、２個のＤ−ＦＦ（Ｄフリップフロップ）１０６２１、１０６２２、論理和回路１０６２３、さらにインバータ１０６２４により構成され、初期時にはＤ−ＦＦ１０６２１，１０６２２はリセットされておりマスク信号ＤＱＳＧはロー（ＬＯＷ）レベル（アクティブレベル）に維持され、遅延データストローブ信号ＤＱＳＤはマスクされているためデータストローブ信号ＤＱＳＭもローレベルである。
可変遅延回路１０５による遅延マスク制御信号ＲＥＮＤがハイレベルになると、論理和回路１０６２３によりマスク信号ＤＱＳＧもハイレベル（非アクティブレベル）になり論理積回路１０６１の一方の入力もハイレベルになることから、データストローブ信号ＤＱＳＭはマスク解除されストローブ信号が出力開始される。
これと並行して、２個のＤ−ＦＦ１０６２１、１０６２２も遅延マスク制御信号ＲＥＮＤの供給ラインに接続された非同期プリセット端子Ｓハイレベルになることにより、レジスタ出力であるＤ−ＦＦ１０６２１、１０６２２の出力Ｑ０、Ｑ１もハイレベルとなる。
【００４７】
Ｄ−ＦＦ１０６２１は、データストローブ信号ＤＱＳＭの立ち上がりエッジで出力変化するが、データストローブ信号ＤＱＳＭの１番目の立ち上りエッジではまだプリセット信号としての遅延マスク制御信号ＲＥＮＤがハイレベルであるので出力Ｑ０もハイレベルを維持する。
【００４８】
次に、データストローブ信号ＤＱＳＭの２番目の立ち上がりエッジでは既に遅延マスク制御信号ＲＥＮＤはローレベルになっているためプリセット動作が解除されており、Ｄ−ＦＦ１０６２１のＤ入力がローレベル固定されているため、出力Ｑ０はローレベルに遷移する。
そして、データストローブ信号ＤＱＳＭの２番目の立下りエッジで、Ｄ−ＦＦ１０６２２のＤ入力はＤ−ＦＦ１０６２１のローレベルの出力Ｑ０が入力されているため、出力Ｑ１もローレベルになり論理和回路１０６２３を通してマスク信号ＤＱＳＧはローレベルになり論理和回路１０６２３は受信データストローブ信号をマスクし、データストローブ信号ＤＱＳＭもローレベルになるためグリッジの削除されたデータストローブ信号ＤＱＳＭを得ることができる。
このマスク動作は再度、リード指示信号ＲＥＡＤ＿ＥＮが入力されるまで継続するためリードデータ期間外のノイズも排除することができる。
【００４９】
ここでフライトタイムバラツキによりデータストローブ信号ＤＱＳの遅延が変化する場合のＤＱＳマスク回路のマスクタイミングを図１１に示す。
【００５０】
フライトタイムバラツキにより図示しないＤＲＡＭから入力されるデータストローブ信号ＤＱＳの遅延は変化するが、マスク制御信号ＲＥＮがタイミング固定されていてもＩ／Ｏレプリカ回路１０３によってＩ／Ｏ遅延のバラツキに応じて信号ＲＥＮＦＢが遅延されて出力される。
このため、これを基に生成されたＤＱＳマスク信号ＤＱＳＧもデータストローブ信号ＤＱＳのフライトタイムバラツキに追従するため、常にデータストローブ信号ＤＱＳのプリアンブル期間の中央付近のタイミングでマスク解除され確実なマスク動作を保障することが可能となる。
【００５１】
図１２は、本実施形態に係リードデータ再同期回路１０８の詳細な回路構成を示す図である。また、図１３は、図１２の回路のタイミングチャート（理想タイミング）を示す図である。
【００５２】
ＦＩＦＯライト（Ｗｒｉｔｅ）ストローブ発生回路１０８１は、レジスタＲＥＧ＿ＷＰＴ、ラッチＬＴＣ０，ＬＴＣ１、論理積回路１０８１１，１０８１２、およびインバータ１０８１３を有し、グリッジ除去されたデータストローブ信号ＤＱＳＭからＦＩＦＯレジスタ１０８３への書き込みストローブ信号ＤＱＳ０、ＤＱＳ１を生成する。
【００５３】
レジスタＲＥＧ＿ＷＰＴは、グリッジが除去されたデータストローブ信号ＤＱＳＭの立ち上がりエッジ毎に出力を反転させ交互にＦＩＦＯストローブ信号が動作するようにストローブ制御信号ＷＰＴ０、ＷＰＴ１を作成する。
ラッチＬＴＣ０、ＬＴＣ１は、ストローブ制御信号ＷＰＴ０、ＷＰＴ１をデータストローブ信号ＤＱＳＭに同期化して論理積回路１０８１１，１０８１２でのグリッジ発生を防止する。
【００５４】
レジスタＲＥＧ＿ＷＰＴのリセット端子にはマスク信号ＤＱＳＧが入力されリード動作時外はローレベル（ＷＰＴ０はハイレベル、ＷＰＴ１はローレベル）に初期化され最初のバーストデータＤ０から順番にＦＩＦＯレジスタ１０８３のレジスタＲＥＧＥ００に取り込まれる。
【００５５】
グリッジ除去されたストローブ信号ＤＱＳＭは２つの論理積回路１０８１１，１０８１２によりＦＩＦＯレジスタ１０８３のレジスタＲＥＧ００、ＲＥＧ０１へのストローブ信号ＤＱＳ０、並びに、ＦＩＦＯレジスタ１０８３のレジスタＲＥＧ０２、ＲＥＧ１０、ＲＥＧ１１、ＲＥＧ１２、ＲＥＧ１３へのストローブ信号ＤＱＳ１へ分配される。
【００５６】
受信データ信号ＤＱのバーストデータＤ０、Ｄ１，Ｄ２，Ｄ３はそれぞれＦＩＦＯレジスタ１０８３の第１ステージのレジスタＲＥＧ００、ＲＥＧ０１、ＲＥＧ０２へ順次ラッチされ、データＤ３がレジスタＲＥＧ１３にラッチされるタイミングで第１ステージのレジスタＲＥＧ００、ＲＥＧ０１、ＲＥＧ０２の値はそれぞれ第２ステージのレジスタＲＥＧ１０、ＲＥＧ１１、ＲＥＧ１２にラッチされる。
したがって、バーストデータＤ０、Ｄ１，Ｄ２，Ｄ３はデータ幅４倍の長さ（転送レートは１／４）の同一タイミングに揃えられた４ビットデータへとパラレル化される。
たとえばＤＤＲ２−６６７の場合バーストデータ長１．５ｎｓはＦＩＦＯデータ長６ｎｓとなる。
【００５７】
再同期ストローブ制御回路１０８２は、Ｄ−ＦＦ１０８２１，１０８２２、排他的論理和回路１０８２３，１０８２４、論理積回路１０８２５、およびインバータ１０８２６を有し、ＦＩＦＯデータをシステムクロックに同期させるために乗換えるクロックＣＬＫ ＲＥＳＳＹＮＣをシステムクロックＣＬＫから生成し、再同期レジスタ１０８４に供給する。
ＦＩＦＯデータは理想的にはシステムクロックＣＬＫの２倍のデータ幅があることから、システムクロックＣＬＫの立ち上がり、立下りの両エッジを利用すると、図１３に示すように、４個のストローブポイントｅｄｇｅ０、１，２，３を選択できる。
ここでは、２ビットの制御信号ＳＥＬ＿ＥＤＧＥ［１：０］の設定で乗換エッジを選択する。図１３に例示しているタイミングでは、タイミングマージン最大のＳＥＬ＿ＥＤＧＥ［１：０］＝００でのｅｄｇｅ０が選ばれる。
【００５８】
以上理想的タイミングでの動作であるが、ここにおいてもフライトタイムバラツキがある場合を以下考察する。
【００５９】
ＦＩＦＯ出力データは、図示しないＤＲＡＭからのデータストローブ信号ＤＱＳを元に受信されるのでフライトタイムバラツキによりＦＩＦＯ出力データは、図１４に示すように、遅延バラツキがあり両ＦＩＦＯデータをストローブできる再同期ストローブエッジは両ＦＩＦＯデータが重なる有効データ幅内である。
図１４の例ではエッジｅｄｇｅ２であり設定はＳＥＬ＿ＥＤＧＥ［１：０］＝０１となる。
【００６０】
以上のようにフライトタイムバラツキを考慮してもＤＲＡＭデータを取り込んだＦＩＦＯデータは容易にシステムクロックＣＬＫに再同期可能となる。
再同期レジスタ１０８４の出力ＲＤＡＴＡ［３：０］はシステムクロックＣＬＫに同期しているので容易にシステムへインタフェースされる。
【００６１】
以上説明したように、本実施形態によれば、データストローブ信号を受信し入力する入力レシーバ（バッファ）１０２と、システムクロックに同期してマスク制御信号を生成するマスク制御信号発生回路１０７と、入力バッファにより入力したデータストローブ信号を遅延させ遅延データストローブ信号として出力する第１の遅延回路１０４と、入力バッファと等価な遅延特性を有し、この入力遅延特性に応じた遅延量でマスク制御信号を遅延させて出力するＩ／Ｏレプリカ回路１０３と、レプリカ回路から出力されたマスク制御信号を、データストローブ信号の遅延に追従して遅延制御した遅延マスク制御信号として出力する第２の遅延回路１０５と、第２の遅延回路１０５によって遅延制御されたマスク制御信号を基準タイミングとしてマスク信号を生成し、マスク信号に応じて遅延データストローブ信号を所定期間マスクしてグリッジを除去したデータストローブ信号を生成するマスク回路１０６と、マスク回路によるデータストローブ信号に応じてデータ信号を取り込み、システムクロックに同期したクロックにより取り込みデータを再同期して出力する再同期回路１０８とを有することから、以下の効果を得ることができる。
【００６２】
第１に、リード動作時にストローブ信号に発生するグリッジを排除して正確なデータ受信が可能となる。
第２に、Ｉ／Ｏレプリカ回路によるグリッジ排除のためのマスク信号発生タイミング制御においてテストパターン送受信等によるキャリブレーション動作が不要になるため設計量の削減、テスト時間の削減が可能となる。
第３に、データ再同期回路により受信データをシステムクロックへの確実な同期が可能になりシステムとのデータインタフェースが容易となる。
【図面の簡単な説明】
【００６３】
【図１】リードデータバースト長４の場合でデータ信号ＤＱを４段のＦＩＦＯレジスタで取り込む回路を例として、データストローブ信号ＤＱＳにバースト期間が終了した時点でグリッジが発生する例を示す図である。
【図２】フライトタイムバラツキを説明するための図である。
【図３】フライトタイムバラツキによる有効データ幅の減少について説明するための図である。
【図４】フライトタイムバラツキを補正させるためにデータ伝送路経路をミラーリングしたフィードバッククロックを乗換えクロックに使用する方法を採用した回路例を示す図である。
【図５】図４の回路のタイミングチャートである。
【図６】データストローブ信号の有効期間以外の信号をマスクすることでグリッジを排除する方法を説明するための図である。
【図７】フライトタイムバラツキによるデータストローブ信号の遅延バラツキがプリアンブル期間を超える可能性がある場合を示す図である。
【図８】本発明の実施形態に係るメモリインタフェース回路の構成例を示すブロック図である。
【図９】本実施形態に係るＤＱＳマスク回路の詳細な回路構成を示す図である。
【図１０】本実施形態に係るＤＱＳマスク回路のタイミングチャート（理想遅延）を示す図である。
【図１１】フライトタイムバラツキによりデータストローブ信号の遅延が変化する場合のＤＱＳマスク回路のマスクタイミングを示す図である。
【図１２】本実施形態に係るリードデータ再同期回路の詳細な回路構成を示す図である。
【図１３】本実施形態に係るリードデータ再同期回路のタイミングチャート（理想タイミング）を示す図である。
【図１４】本実施形態に係るリードデータ再同期回路のフライトタイムバラツキありの場合のタイミングチャートを示す図である。
【符号の説明】
【００６４】
１００・・・メモリインタフェース回路、１０１・・・データ入出力（Ｉ／Ｏ）レシーバ（バッファ）、１０２・・・データストローブ信号のＩ／Ｏレシーバ（バッファ）、１０３・・・Ｉ／Ｏレプリカ回路、１０４，１０５・・・可変遅延回路、１０６・・・データストローブ信号（ＤＱＳ）マスク回路、１０６１・・・論理積回路、１０６２・・・マスク信号発生回路、１０７・・・マスク制御信号発生回路、１０８・・・リードデータ再同期回路、１０８１・・・ＦＩＦＯライトストローブ発生回路、１０８２・・・再同期ストローブ制御回路、１０３・・・ＦＩＦＯレジスタ、１０８４・・・再同期レジスタ、１０９・・・クロック送信Ｉ／Ｏバッファ。
【図１】
0004967850.tif 000002
【図２】
0004967850.tif 000003
【図３】
0004967850.tif 000004
【図４】
0004967850.tif 000005
【図５】
0004967850.tif 000006
【図６】
0004967850.tif 000007
【図７】
0004967850.tif 000008
【図８】
0004967850.tif 000009
【図９】
0004967850.tif 000010
【図１０】
0004967850.tif 000011
【図１１】
0004967850.tif 000012
【図１２】
0004967850.tif 000013
【図１３】
0004967850.tif 000014
【図１４】
0004967850.tif 000015