(57)【要約】    【課題】  メモリ制御装置が実装されるべきＩＣチップの面積の減少を図る。    【解決手段】  ダブルデータレート同期式ダイナミックランダムアクセスメモリ（ＤＤＲ−ＳＤＲＡＭ）の動作クロックｘ１Ｃｌｋの周波数より高い周波数をもつクロック信号ｘ４Ｃｌｋを用いて、ストローブ信号エッジ検出部１３０３が、データストローブ信号Ｄｑｓをサンプリングして、データストローブ信号Ｄｑｓの切り替わりエッジを検出し、エッジ切り替わり検出信号を出力する。データサンプリング部１３０２は、エッジ切り替わり検出信号を用いて、データ信号Ｄｑから、該データ信号Ｄｑに含まれる２系統のデータ信号を抽出する。【選択図】      図１
2006286081.tif 000002
【特許請求の範囲】
【請求項１】
ダブルデータレート同期式ダイナミックランダムアクセスメモリに対する信号入出力を制御するメモリ制御装置において、
前記メモリの動作クロックの周波数よりも高い周波数をもつクロック信号を用いて、前記メモリから出力されたデータストローブ信号をサンプリングし、該データストローブ信号の切り替わりエッジを検出してエッジ検出信号を出力するエッジ検出手段と、
前記エッジ検出手段によって出力されたエッジ検出信号を用いて、前記メモリから出力されたデータ信号から、該データ信号に時系列に沿って交互に含まれる２系統のデータ信号を系統ごとに抽出するデータ抽出手段と、
前記データ抽出手段によって抽出された２系統のデータ信号を、前記メモリの動作クロックに同期して出力する同期出力手段と
を有することを特徴とするメモリ制御装置。
【請求項２】
前記エッジ検出手段によって検出される切り替わりエッジは、前記データストローブ信号の立ち上がりエッジおよび立ち下がりエッジであることを特徴とする請求項１記載のメモリ制御装置。
【請求項３】
前記メモリには、前記メモリの動作クロックの２倍の周波数で、２系統のデータ信号が時系列に沿って交互に記憶されており、
前記データ抽出手段は、前記エッジ検出手段によって出力されたエッジ検出信号を用いて、前記メモリから出力されたデータ信号から、前記メモリの動作クロックの周期と同一周期をもつ前記２系統のデータ信号を復元することを特徴とする請求項１記載のメモリ制御装置。
【請求項４】
前記エッジ検出手段は、前記メモリの動作クロックの周波数の４倍の周波数をもつクロック信号を用いて、前記メモリから出力されたデータストローブ信号をサンプリングし、該データストローブ信号の切り替わりエッジを検出することを特徴とする請求項１記載のメモリ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ制御装置に関し、特に、ダブルデータレート同期式ダイナミックランダムアクセスメモリ（ＤＤＲ−ＳＤＲＡＭ）に対する信号入出力を制御するメモリ制御装置に関する。
【背景技術】
【０００２】
半導体装置を利用したコンピュータ等のシステムにおいてメモリのバンド幅（データ転送の容量）向上の要求は強く、ＥＤＯＤＲＡＭ（Extended Data Out DRAM），ＳＤＲＡＭ（Synchronous DRAM），ＤＤＲ−ＳＤＲＡＭ（Double Data Rate SDRAM）といった順で、メモリのバンド幅を向上させたメモリが開発されている。例えば、ＳＤＲＡＭがクロックの立ち上がりのみを利用するのに対し、ＤＤＲ−ＳＤＲＡＭは、クロックの立ち上がりと立ち下がりの両方を利用し、同じクロックでＳＤＲＡＭの２倍のデータ転送を実現している（例えば、特許文献１参照）。
【０００３】
また、こうしたメモリに対しては、コスト、消費電力といった観点からチップ面積削減の要求が強い。
【０００４】
従来のダブルデータレート同期式ダイナミックランダムアクセスメモリ（ＤＤＲ−ＳＤＲＡＭ）のコントローラの入出力データ制御方法を以下に説明する。なお、ＤＤＲ−ＳＤＲＡＭの仕様に関しては、JEDEC STANDARD Double Data Rate (DDR) SDRAM Specifications に記載されている。
【０００５】
ＤＤＲ方式においてはデータ信号をクロックの半周期でＤＤＲ−ＳＤＲＡＭに対して入出力することが可能であり、クロックの立ち上がりエッジと立ち下がりエッジに同期してデータ転送が行われる。通常、ＤＤＲ−ＳＤＲＡＭでは、クロックの代わりにデータストローブ信号（メモリ制御装置とメモリ間のデータ受け取りを容易にするために、専用に設けられた信号）を使用してデータの入出力を行う。ＤＤＲ−ＳＤＲＡＭに対してのデータ書き込み時に、データ入力回路は、データ信号の最小周期の１／２、すなわちクロックの１／４周期ずれたタイミングでデータストローブ信号を出力することが最適とされる。また、ＤＤＲ−ＳＤＲＡＭからのデータ読み出し時も同様に、データ出力回路において、データストローブ信号をクロックの１／４周期ずらして得られた信号に基づいてデータ取り出しを行うことが最適であるとされる。なお、データ信号（Ｄｑ）及びデータストローブ信号（Ｄｑｓ）以外の信号は最小周期が大きいため、ここでは説明を省略する。
【０００６】
図４は、ＤＤＲ−ＳＤＲＡＭへの信号入力を制御する従来の制御回路（コントローラ）の回路構成を示す図であり、図５は、図４に示す従来のコントローラの各部における信号の波形を示すタイミングチャートである。
【０００７】
図４及び図５において、ｄｄｒＣｌｋ、Ｄｑｓ，Ｄｑは、コントローラがＤＤＲ−ＳＤＲＡＭに入力するクロック信号、データストローブ信号、データ信号を示し、Ｃｍｄは、ＤＤＲ−ＳＤＲＡＭへ入力するアドレス、バンクアドレス、ＲＡＳ，ＣＡＳ，ＷＥ，ＣＫＥ等のすべてを表わす制御信号である。また、Ｃｌｋは、コントローラ内部のクロック信号である。
【０００８】
１０００はＰＬＬ（フェイズ・ロックド・ループ）回路であり、コントローラの内部クロック信号Ｃｌｋを生成する。１０２１から１０２５はフリップフロップ回路であり、内部クロック信号Ｃｌｋの入力に応じて、制御信号Ｃｍｄ１、イネーブル信号ＤｑｓＯｅ１、データ信号ｗｄｏｕｔａ１（ＤＡ０，ＤＡ１）、データ信号ｗｄｏｕｔｂ１（ＤＢ０，ＤＢ１）、イネーブル信号ＤｑＯｅ１を出力する。制御信号Ｃｍｄ１は、フリップフロップ回路１００２によって１クロック分だけ遅延され、バッファ１００９を介して制御信号ＣｍｄとしてＤＤＲ−ＳＤＲＡＭに出力される。１００１は、ＤＬＬ（ディレイ・ロックド・ループ）回路であり、クロック信号Ｃｌｋを９０度すなわち１／４周期だけ遅らせてゲート１０１０に出力する。このゲート１０１０には、イネーブル信号ＤｑｓＯｅ１をフリップフロップ回路１００３によって１／２クロック分だけ遅延させて得られたイネーブル信号ＤｑｓＯｅ２が入力される。その結果、ゲート１０１０は、イネーブル信号ＤｑｓＯｅ２が高レベルである間だけ、１／４周期だけ遅れたクロック信号Ｃｌｋをデータストローブ信号ＤｑｓとしてＤＤＲ−ＳＤＲＡＭに出力する。
【０００９】
フリップフロップ回路１００４，１００５はそれぞれ、データ信号ｗｄｏｕｔａ１およびデータ信号ｗｄｏｕｔｂ１を１クロック分だけ遅延させて、データ信号Ｗｄｏｕｔａ２およびデータ信号Ｗｄｏｕｔｂ２としてセレクタ１００６へ出力する。また、セレクタ１００６には、クロック信号ＣｌｋからなるｄａｔａＳｅｌ信号が入力されており、セレクタ１００６は、ｄａｔａＳｅｌ信号の立ち上がりエッジで、フリップフロップ回路１００４からのデータ信号Ｗｄｏｕｔａ２（ＤＡ０、ＤＡ１）を選択して出力し、ｄａｔａＳｅｌ信号の立ち下がりエッジで、フリップフロップ回路１００５からのデータ信号Ｗｄｏｕｔｂ２（ＤＢ０、ＤＢ１）を選択して出力する。セレクタ１００６からの出力信号はゲート１０１１に送られる。
【００１０】
フリップフロップ回路１００７は、イネーブル信号ＤｑＯｅ１を１クロック分だけ遅延させて、イネーブル信号ＤｑＯｅ２としてゲート１０１１に出力する。ゲート１０１１は、イネーブル信号ＤｑＯｅ２が高レベルである間だけ、セレクタ１００６からの出力信号をデータ信号ＤｑとしてＤＤＲ−ＳＤＲＡＭに出力する。
【００１１】
これにより、入力した２つのデータ信号ｗｄｏｕｔａ１（ＤＡ０，ＤＡ１），ｗｄｏｕｔｂ１（ＤＢ０，ＤＢ１）を、クロック信号Ｃｌｋの１／２周期毎に交互に取り入れたデータ信号Ｄｑが生成され、これをＤＤＲ−ＳＤＲＡＭに格納することが可能となる。
【００１２】
図６は、ＤＤＲ−ＳＤＲＡＭからの信号出力を制御する従来の制御回路（コントローラ）の回路構成を示す図であり、図７は、図６に示す従来のコントローラの各部における信号の波形を示すタイミングチャートである。
【００１３】
図６及び図７において、Ｄｑｓ、Ｄｑは、ＤＤＲ−ＳＤＲＡＭから出力されるデータストローブ信号およびデータ信号であり、バッファ１１０２，１１０３に入力される。Ｃｌｋはコントローラの内部クロック信号を示している。
【００１４】
１１００はＰＬＬ回路であり、コントローラ内部のクロック信号Ｃｌｋを生成する。１１０１はＤＬＬ回路であり、ＤＤＲ−ＳＤＲＡＭから出力されたデータストローブ信号Ｄｑｓを、内部クロック信号Ｃｌｋに対して９０度すなわち１／４周期だけ遅延させたデータストローブ信号Ｄｑｓ１を生成する。
【００１５】
フリップフロップ回路１１０４は、データストローブ信号Ｄｑｓ１の立ち上がりエッジを使用してデータ信号Ｄｑを取り込む。すなわち、データストローブ信号Ｄｑｓ１の立ち上がりエッジがそれぞれ発生したときにデータ信号Ｄｑを構成しているデータ（ＤＡ０，ＤＡ１）を取り込み、データｒｄａｔａａ１としてフリップフロップ回路１１０５へ出力する。フリップフロップ回路１１０５は、データｒｄａｔａａ１を、データストローブ信号Ｄｑｓ１の立ち下がりエッジが発生したときにデータｒｄａｔａａ２としてフリップフロップ回路１１０７へ出力する。フリップフロップ回路１１０７は、データｒｄａｔａa２を、内部クロック信号Ｃｌｋの１／２周期だけ遅延させてデータｒｄａｔａａ３として出力する。また、フリップフロップ回路１１０６は、データストローブ信号Ｄｑｓ１の立ち下がりエッジがそれぞれ発生したときにデータ信号Ｄｑを構成しているデータ（ＤＢ０，ＤＢ１）を取り込み、データｒｄａｔａｂ２としてフリップフロップ回路１１０８へ出力する。フリップフロップ回路１１０８は、データｒｄａｔａｂ２を、内部クロック信号Ｃｌｋの１／２周期だけ遅延させてデータｒｄａｔａｂ３として出力する。
【００１６】
このようにして、図５に示す２つのデータ信号ｗｄｏｕｔａ１（ＤＡ０，ＤＡ１），ｗｄｏｕｔｂ１（ＤＢ０，ＤＢ１）に対応する、クロック信号Ｃｌｋの１周期分の長さをもつ２つのデータ信号ｒｄａｔａａ３（ＤＡ０，ＤＡ１），ｒｄａｔａｂ３（ＤＢ０，ＤＢ１）を生成することができる。
【００１７】
以上説明した従来のＤＤＲ−ＳＤＲＡＭのコントローラにおいては、ＤＬＬ回路を使用しており、該コントローラの回路構成が大規模化してしまい、該回路が実装されるＩＣチップの面積増加を招いていた。
【００１８】
そのため、ＤＤＲ−ＳＤＲＡＭへの信号入力を制御するコントローラ回路にＤＬＬ回路を使用しないものが考案されている。
【００１９】
図８は、ＤＬＬ回路を使用しない従来のＤＤＲ−ＳＤＲＡＭの信号入力制御回路（コントローラ）の回路構成を示す図であり、図９は、図８に示す従来のコントローラの各部における信号の波形を示すタイミングチャートである。
【００２０】
図８及び図９において、ｄｄｒＣｌｋ、Ｄｑｓ，Ｄｑは、コントローラがＤＤＲ−ＳＤＲＡＭに入力するクロック信号、データストローブ信号、データ信号を示し、Ｃｍｄは、ＤＤＲ−ＳＤＲＡＭへ入力するアドレス、バンクアドレス、ＲＡＳ，ＣＡＳ，ＷＥ，ＣＫＥ等のすべてを表わす制御信号である。
【００２１】
ＰＬＬ（フェイズ・ロックド・ループ）回路１２００は、クロック信号ｘ１Ｃｌｋ，ｘ２Ｃｌｋを出力し、クロック信号ｘ１Ｃｌｋは、ＤＤＲ−ＳＤＲＡＭへ入力されるべきクロック信号ｄｄｒＣｌｋと同一周期のクロック信号であり、クロック信号ｘ２Ｃｌｋは、クロック信号ｄｄｒＣｌｋの１／２周期のクロック信号である。１２０１，１２２０〜１２２５はフリップフロップ回路であり、イネーブル信号ｄｄｒＣｌｋＥｎ１、制御信号Ｃｍｄ１、イネーブル信号Ｄｑｓ１、イネーブル信号ＤｑｓＯｅ１、データ信号ｗｄｏｕｔａ１（ＤＡ０，ＤＡ１）、データ信号ｗｄｏｕｔｂ１（ＤＢ０，ＤＢ１）、イネーブル信号ＤｑＯｅ１（＝ＤｑｓＯｅ１）を出力する。
【００２２】
ＡＮＤ回路１２０７、フリップフロップ回路１２０８、フリップフロップ回路１２０９、およびバッファ１２１６は、イネーブル信号ｄｄｒＣｌｋＥｎ１およびクロック信号ｘ２Ｃｌｋに基づき、イネーブル信号ｄｄｒＣｌｋＥｎ２を介してクロック信号ｄｄｒＣｌｋを生成し、ＤＤＲ−ＳＤＲＡＭに出力する。
【００２３】
制御信号Ｃｍｄ１は、フリップフロップ回路１２０２によってクロック信号ｘ１Ｃｌｋの１周期分だけ遅延され、バッファ１２１７を介して制御信号ＣｍｄとしてＤＤＲ−ＳＤＲＡＭに出力される。
【００２４】
イネーブル信号Ｄｑｓ１は、フリップフロップ回路１２０３によってクロック信号ｘ１Ｃｌｋの１周期分だけ遅延され、イネーブル信号Ｄｑｓ２となり、ＡＮＤ回路１２１０に入力される。ＡＮＤ回路１２１０、フリップフロップ回路１２１１、およびフリップフロップ回路１２１２は、イネーブル信号Ｄｑｓ２およびクロック信号ｘ２Ｃｌｋに基づき、信号Ｄｑｓ３を介して信号Ｄｑｓ４（信号Ｄｑｓ３がクロック信号ｘ１Ｃｌｋの１／４周期分だけ遅延されたもの）を生成し、ゲート１２１８へ出力する。一方、イネーブル信号ＤｑｓＯｅ１が、フリップフロップ回路１２０４によってクロック信号ｘ１Ｃｌｋの１／２周期分だけ遅延されてイネーブル信号ＤｑｓＯｅ２が生成され、さらにイネーブル信号ＤｑｓＯｅ２が、フリップフロップ回路１２１３によってクロック信号ｘ２Ｃｌｋの１／２周期分だけ遅延されてイネーブル信号ＤｑｓＯｅ３が生成され、このイネーブル信号ＤｑｓＯｅ３が上記のゲート１２１８に入力される。その結果、ゲート１２１８は、イネーブル信号ＤｑｓＯｅ３が高レベルである間だけ、信号Ｄｑｓ４をデータストローブ信号ＤｑｓとしてＤＤＲ−ＳＤＲＡＭに出力する。
【００２５】
データ信号ｗｄｏｕｔａ１およびデータ信号ｗｄｏｕｔｂ１は、セレクタ１２０６へ入力される。また、セレクタ１２０６には、クロック信号ｘ１ＣｌｋからなるｄａｔａＳｅｌ信号が入力されており、セレクタ１２０６は、ｄａｔａＳｅｌ信号の立ち上がりエッジで、データ信号ｗｄｏｕｔａ１（ＤＡ０、ＤＡ１）を選択して、データ信号ｗｄｏｕｔ２として出力し、ｄａｔａＳｅｌ信号の立ち下がりエッジで、データ信号ｗｄｏｕｔｂ１（ＤＢ０、ＤＢ１）を選択して、データ信号ｗｄｏｕｔ２として出力する。このデータ信号ｗｄｏｕｔ２は、フリップフロップ回路１２１４でクロック信号ｘ２Ｃｌｋの１周期分だけ遅延されてデータ信号ｗｄｏｕｔ３となり、ゲート１２１９に送られる。一方、イネーブル信号ＤｑＯｅ１（＝ＤｑｓＯｅ１）が、フリップフロップ回路１２０５によってクロック信号ｘ１Ｃｌｋの１／２周期分だけ遅延されてイネーブル信号ＤｑＯｅ２（＝ＤｑｓＯｅ２）が生成され、さらにイネーブル信号ＤｑＯｅ２が、フリップフロップ回路１２１５によってクロック信号ｘ２Ｃｌｋの１／２周期分だけ遅延されてイネーブル信号ＤｑＯｅ３（＝ＤｑｓＯｅ３）が生成され、このイネーブル信号ＤｑＯｅ３が上記のゲート１２１９に入力される。その結果、ゲート１２１９は、イネーブル信号ＤｑＯｅ３が高レベルである間だけ、データ信号ｗｄｏｕｔ３をデータ信号ＤｑとしてＤＤＲ−ＳＤＲＡＭに出力する。
【００２６】
これにより、入力した２つのデータ信号ｗｄｏｕｔａ１（ＤＡ０，ＤＡ１），ｗｄｏｕｔｂ１（ＤＢ０，ＤＢ１）を、クロック信号ｘ１Ｃｌｋの１／２周期毎に交互に取り入れたデータ信号Ｄｑが生成され、これをＤＤＲ−ＳＤＲＡＭに格納することが可能となる。
【特許文献１】特開２０００−４８５９９号公報
【発明の開示】
【発明が解決しようとする課題】
【００２７】
前述したように、従来のＤＤＲ−ＳＤＲＡＭのコントローラにおいては、ＤＬＬ（Delay Locked Loop）回路を使用しないものが考案されていたが、このＤＬＬ回路を使用しない従来のコントローラはＤＤＲ−ＳＤＲＡＭの信号入力制御回路であって、従来、ＤＤＲ−ＳＤＲＡＭの信号出力制御回路を、ＤＬＬ回路を使用せずに構成することは不可能であった。
【００２８】
通常、ＤＬＬ回路は回路規模が大きく、かつ、データストローブ信号ごとに設けられる必要あるため、ＤＤＲ−ＳＤＲＡＭの信号出力制御回路からなるコントローラが実装されたＩＣチップの面積の増加を招いてしまうという問題が未だ解消されていなかった。
【００２９】
本発明はこのような問題点に鑑みてなされたものであって、自装置が実装されるべきＩＣチップの面積の減少を図ったメモリ制御装置を提供することを目的とする。
【課題を解決するための手段】
【００３０】
上記目的を達成するために、本発明によれば、ダブルデータレート同期式ダイナミックランダムアクセスメモリに対する信号入出力を制御するメモリ制御装置において、前記メモリの動作クロックの周波数よりも高い周波数をもつクロック信号を用いて、前記メモリから出力されたデータストローブ信号をサンプリングし、該データストローブ信号の切り替わりエッジを検出してエッジ検出信号を出力するエッジ検出手段と、前記エッジ検出手段によって出力されたエッジ検出信号を用いて、前記メモリから出力されたデータ信号から、該データ信号に時系列に沿って交互に含まれる２系統のデータ信号を系統ごとに抽出するデータ抽出手段と、前記データ抽出手段によって抽出された２系統のデータ信号を、前記メモリの動作クロックに同期して出力する同期出力手段とを有することを特徴とするメモリ制御装置が提供される。
【発明の効果】
【００３１】
本発明によれば、ダブルデータレート同期式ダイナミックランダムアクセスメモリ（ＤＤＲ−ＳＤＲＡＭ）の動作クロックの周波数より高い周波数をもつクロック信号を用いてデータストローブ信号をサンプリングすることで、データストローブ信号の切り替わりエッジを検出し、この切り替わりエッジを表すエッジ切り替わり検出信号を用いてデータ信号から、該データ信号に含まれる２系統のデータ信号を抽出する。
【００３２】
これにより、ＤＬＬ回路を使用せずにＤＤＲ−ＳＤＲＡＭ信号出力制御回路を構成することができ、ＤＤＲ−ＳＤＲＡＭ信号出力制御回路が実装されるＩＣチップの面積削減が可能となる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明を実施するための最良の形態について、図面を参照して説明する。
【００３４】
図１は、本発明の一実施の形態に係るメモリ制御装置の構成を示すブロック図である。このメモリ制御装置（メモリコントローラ）は、ＤＤＲ−ＳＤＲＡＭからの信号出力を制御する回路を備える。
【００３５】
図１において、メモリ制御装置は、クロック生成部１３００、クロック変換部１３０１、データサンプリング部１３０２、ストローブ信号エッジ検出部１３０３から構成される。ストローブ信号エッジ検出部１３０３には、ＤＤＲ−ＳＤＲＡＭからデータストローブ信号Ｄｑｓが入力され、データサンプリング部１３０２には、ＤＤＲ−ＳＤＲＡＭからデータ信号Ｄｑが入力される。データストローブ信号Ｄｑｓおよびデータ信号Ｄｑは、例えば、図８及び図９で示したデータストローブ信号Ｄｑｓおよびデータ信号Ｄｑに対応する。
【００３６】
クロック生成部１３００は、ＤＤＲ−ＳＤＲＡＭに供給されるクロック信号と同一周波数のクロック信号ｘ１Ｃｌｋと、該クロック信号ｘ１Ｃｌｋの周波数よりも大きい周波数をもつクロック信号ｘＸＣｌｋとを生成する。
【００３７】
ストローブ信号エッジ検出部１３０３は、クロック信号ｘＸＣｌｋを用いて、データストローブ信号Ｄｑｓをサンプリングし、データストローブ信号Ｄｑｓの切り替わりエッジを検出する。データサンプリング部１３０２は、図２及び図３を参照して後述するように、検出された切り替わりエッジを用いて、データ信号Ｄｑ（ＤＡ０，ＤＢ０，ＤＡ１，ＤＢ１）を基にして２つのデータ信号ｒｄａｔａａ２（ＤＡ０，ＤＡ１），ｒｄａｔａｂ２（ＤＢ０，ＤＢ１）を生成する。クロック変換部１３０１は、２つのデータ信号ｒｄａｔａａ２（ＤＡ０，ＤＡ１），ｒｄａｔａｂ２（ＤＢ０，ＤＢ１）を、クロック信号ｘ１Ｃｌｋを用いて２つのデータ信号ｒｄａｔａａ３（ＤＡ０，ＤＡ１），ｒｄａｔａｂ３（ＤＢ０，ＤＢ１）に変換する。
【００３８】
この２つのデータ信号ｒｄａｔａａ３（ＤＡ０，ＤＡ１），ｒｄａｔａｂ３（ＤＢ０，ＤＢ１）は、例えば図９に示す２つのデータ信号ｗｄｏｕｔａ１（ＤＡ０，ＤＡ１），ｗｄｏｕｔｂ１（ＤＢ０，ＤＢ１）に対応する、クロック信号ｘ１Ｃｌｋの１周期分の長さをもつ２つのデータ信号である。
【００３９】
図２は、図１に示すメモリ制御装置の具体的な構成を示す回路図であり、図３は、該メモリ制御装置の各部における信号の波形を示すタイミングチャートである。
【００４０】
ＰＬＬ回路１４００は、ＤＤＲ−ＳＤＲＡＭに供給されるクロック信号と同一周波数のクロック信号ｘ１Ｃｌｋと、該クロック信号ｘ１Ｃｌｋの周波数の４倍の周波数をもつクロック信号ｘ４Ｃｌｋとを生成する。バッファ１４０２には、ＤＤＲ−ＳＤＲＡＭからデータストローブ信号Ｄｑｓが入力され、バッファ１４０１には、ＤＤＲ−ＳＤＲＡＭからデータ信号Ｄｑが入力される。
【００４１】
バッファ１４０２から出力されたデータストローブ信号Ｄｑｓは、クロック信号ｘ４Ｃｌｋの立ち上がりエッジを用いて、フリップフロップ１４０３に取り込まれ、また、クロック信号ｘ４Ｃｌｋの立ち下がりエッジを用いて、フリップフロップ１４０４に取り込まれる。そして、フリップフロップ１４０３の出力信号ＤｑｓＰｏｓＡは、クロック信号ｘ４Ｃｌｋの立ち上がりエッジを用いて、フリップフロップ１４０５に取り込まれ、また、フリップフロップ１４０４の出力信号ＤｑｓＮｅｇＡは、クロック信号ｘ４Ｃｌｋの立ち下がりエッジを用いて、フリップフロップ１４０６に取り込まれる。
【００４２】
フリップフロップ１４０５の出力信号ＤｑｓＰｏｓＢの反転信号と、フリップフロップ１４０３の出力信号ＤｑｓＰｏｓＡとがＡＮＤ回路１４０７に入力され、ＡＮＤ回路１４０７は検出信号ＤｑｓＰｏｓＲｉｓｅを出力する。検出信号ＤｑｓＰｏｓＲｉｓｅは、データストローブ信号Ｄｑｓの立ち上がりエッジに相当する信号である。また、フリップフロップ１４０５の出力信号ＤｑｓＰｏｓＢと、フリップフロップ１４０３の出力信号ＤｑｓＰｏｓＡの反転信号とがＡＮＤ回路１４０８に入力され、ＡＮＤ回路１４０８は検出信号ＤｑｓＰｏｓＦａｌｌを出力する。検出信号ＤｑｓＰｏｓＦａｌｌは、データストローブ信号Ｄｑｓの立ち下がりエッジに相当する信号である。
【００４３】
検出信号ＤｑｓＰｏｓＲｉｓｅおよび検出信号ＤｑｓＰｏｓＦａｌｌは、クロック信号ｘ４Ｃｌｋの立ち上がりエッジを用いてデータストローブ信号Ｄｑｓの立ち上がりエッジ及び立ち下がりエッジをそれぞれ検出した結果得られる信号である。
【００４４】
一方、フリップフロップ１４０６の出力信号ＤｑｓＮｅｇＢの反転信号と、フリップフロップ１４０４の出力信号ＤｑｓＮｅｇＡとがＡＮＤ回路１４０９に入力され、ＡＮＤ回路１４０９は検出信号ＤｑｓＮｅｇＲｉｓｅを出力する。検出信号ＤｑｓＮｅｇＲｉｓｅは、データストローブ信号Ｄｑｓの立ち上がりエッジに相当する信号である。また、フリップフロップ１４０６の出力信号ＤｑｓＮｅｇＢと、フリップフロップ１４０４の出力信号ＤｑｓＮｅｇＡの反転信号とがＡＮＤ回路１４１０に入力され、ＡＮＤ回路１４１０は検出信号ＤｑｓＮｅｇＦａｌｌを出力する。検出信号ＤｑｓＮｅｇＦａｌｌは、データストローブ信号Ｄｑｓの立ち下がりエッジに相当する信号である。
【００４５】
検出信号ＤｑｓＮｅｇＲｉｓｅおよび検出信号ＤｑｓＮｅｇＦａｌｌは、クロック信号ｘ４Ｃｌｋの立ち下がりエッジを用いてデータストローブ信号Ｄｑｓの立ち上がりエッジ及び立ち下がりエッジをそれぞれ検出した結果得られる信号である。
【００４６】
ＡＮＤ回路１４１１は、検出信号ＤｑｓＰｏｓＲｉｓｅと検出信号ＤｑｓＮｅｇＲｉｓｅとに基づき信号ＤｑｓＲｉｓｅＣｌｋを生成し、またＡＮＤ回路１４１２は、検出信号ＤｑｓＰｏｓＦａｌｌと検出信号ＤｑｓＮｅｇＦａｌｌとに基づき信号ＤｑｓＦａｌｌＣｌｋを生成する。これらの信号ＤｑｓＲｉｓｅＣｌｋ及び信号ＤｑｓＦａｌｌＣｌｋは、ＤＤＲ−ＳＤＲＡＭの動作クロック（＝ｘ１Ｃｌｋ）の４倍の周波数をもつクロック信号ｘ４Ｃｌｋの立ち上がりエッジおよび立ち下がりエッジを用いて、データストローブ信号Ｄｑｓの立ち上がりエッジ及び立ち下がりエッジを示す信号として生成されたものであるため、データストローブ信号Ｄｑｓの立ち上がりエッジから、信号ＤｑｓＲｉｓｅＣｌｋの立ち上がりエッジまでの間の遅延時間ｔ（図３の信号ＤｑｓＲｉｓｅＣｌｋに図示）、およびデータストローブ信号Ｄｑｓの立ち下がりエッジから、信号ＤｑｓＲｉｓｅＣｌｋの立ち上がりエッジまでの間の遅延時間が、ＤＤＲ−ＳＤＲＡＭの動作クロック（＝ｘ１Ｃｌｋ）の周期の１／８〜２／８であることが保証される。
【００４７】
こうした信号ＤｑｓＲｉｓｅＣｌｋ及び信号ＤｑｓＦａｌｌＣｌｋを用いて、データ信号Ｄｑを基にした２つのデータ信号の生成が行われる。
【００４８】
すなわち、フリップフロップ回路１４１３は、信号ＤｑｓＲｉｓｅＣｌｋの立ち上がりエッジを使用して、バッファ１４０１から出力されたデータ信号Ｄｑを取り込む。具体的には、信号ＤｑｓＲｉｓｅＣｌｋの立ち上がりエッジがそれぞれ発生したときにデータ信号Ｄｑを構成しているデータ（ＤＡ０，ＤＡ１）を取り込み、データｒｄａｔａａ１としてフリップフロップ回路１４１４へ出力する。フリップフロップ回路１４１４は、データｒｄａｔａａ１を、信号ＤｑｓＦａｌｌＣｌｋの立ち上がりエッジが発生したときにデータｒｄａｔａａ２としてフリップフロップ回路１４１６へ出力する。フリップフロップ回路１４１６は、データｒｄａｔａa２を、クロック信号ｘ１Ｃｌｋの１／２周期だけ遅延させてデータｒｄａｔａａ３として出力する。また、フリップフロップ回路１４１５は、信号ＤｑｓＦａｌｌＣｌｋの立ち上がりエッジがそれぞれ発生したときにデータ信号Ｄｑを構成しているデータ（ＤＢ０，ＤＢ１）を取り込み、データｒｄａｔａｂ２としてフリップフロップ回路１４１７へ出力する。フリップフロップ回路１４１７は、データｒｄａｔａｂ２を、クロック信号ｘ１Ｃｌｋの１／２周期だけ遅延させてデータｒｄａｔａｂ３として出力する。
【００４９】
このようにして、例えば図９に示す２つのデータ信号ｗｄｏｕｔａ１（ＤＡ０，ＤＡ１），ｗｄｏｕｔｂ１（ＤＢ０，ＤＢ１）に対応する、クロック信号ｘ１Ｃｌｋの１周期分の長さをもつ２つのデータ信号ｒｄａｔａａ３（ＤＡ０，ＤＡ１），ｒｄａｔａｂ３（ＤＢ０，ＤＢ１）を生成することができる。
【００５０】
なお、前述の遅延時間（ｔ）は、ＤＤＲ−ＳＤＲＡＭからそれぞれ出力されるデータ信号Ｄｑおよびデータストローブ信号Ｄｑｓの発生タイミングのばらつきの範囲内にあるので、信号ＤｑｓＲｉｓｅＣｌｋ及び信号ＤｑｓＦａｌｌＣｌｋを用いて、データ信号Ｄｑを基にして２つのデータ信号ｒｄａｔａａ３（ＤＡ０，ＤＡ１），ｒｄａｔａｂ３（ＤＢ０，ＤＢ１）を確実に生成することができる。
【００５１】
以上のように、上記実施の形態では、ＤＤＲ−ＳＤＲＡＭの動作クロックの周波数より高い周波数をもつクロック信号を用いてデータストローブ信号Ｄｑｓをサンプリングすることで、データストローブ信号Ｄｑｓの切り替わりエッジを検出し、この切り替わりエッジを表すエッジ切り替わり検出信号を用いてデータ信号Ｄｑから、該データ信号Ｄｑに含まれる２つのデータ信号を抽出する。これにより、ＤＬＬ回路を使用せずにＤＤＲ−ＳＤＲＡＭ信号出力制御回路を構成することができ、ＤＤＲ−ＳＤＲＡＭ信号出力制御回路が実装されるＩＣチップの面積削減が可能となる。
【図面の簡単な説明】
【００５２】
【図１】本発明の一実施の形態に係るメモリ制御装置の構成を示すブロック図である。
【図２】図１に示すメモリ制御装置の具体的な構成を示す回路図である。
【図３】図２に示すメモリ制御装置の各部における信号の波形を示すタイミングチャートである。
【図４】ＤＤＲ−ＳＤＲＡＭへの信号入力を制御する従来の制御回路（コントローラ）の回路構成を示す図である。
【図５】図４に示す従来のコントローラの各部における信号の波形を示すタイミングチャートである。
【図６】ＤＤＲ−ＳＤＲＡＭからの信号出力を制御する従来の制御回路（コントローラ）の回路構成を示す図である。
【図７】図６に示す従来のコントローラの各部における信号の波形を示すタイミングチャートである。
【図８】ＤＬＬ回路を使用しない従来のＤＤＲ−ＳＤＲＡＭの信号入力制御回路（コントローラ）の回路構成を示す図である。
【図９】図８に示す従来のコントローラの各部における信号の波形を示すタイミングチャートである。
【符号の説明】
【００５３】
１３００  クロック生成部
１３０１  クロック変換部（同期出力手段）
１３０２  データサンプリング部（データ抽出手段）
１３０３  ストローブ信号エッジ検出部（エッジ検出手段）
ｘ１Ｃｌｋ  クロック信号（メモリの動作クロック）
ｘ４Ｃｌｋ  クロック信号
Ｄｑ  データ信号
Ｄｑｓ  データストローブ信号
【図１】
2006286081.tif 000003
【図２】
2006286081.tif 000004
【図３】
2006286081.tif 000005
【図４】
2006286081.tif 000006
【図５】
2006286081.tif 000007
【図６】
2006286081.tif 000008
【図７】
2006286081.tif 000009
【図８】
2006286081.tif 000010
【図９】
2006286081.tif 000011