(57)【要約】      （修正有）【課題】メモリ制御信号とクロックとの関係を容易に把握することができ、メモリ制御信号とクロックとのセットアップホールドに対するマージンを拡大する。【解決手段】メモリ制御装置は、半導体記憶装置にデータを書き込むメモリ制御装置であって、前記半導体記憶装置を制御する制御信号を遅延させて、前記半導体記憶装置に出力する位相調整回路と、前記制御信号に応答して前記半導体記憶装置から入力されるデータストローブ信号を監視し、前記制御信号が出力されてから前記データストローブ信号が入力されるまでの応答時間に対応する応答信号を出力するデータストローブ監視回路と、を有し、前記位相調整回路の遅延量は、前記半導体記憶装置に、前記遅延量を順次増加させながら前記制御信号を出力して前記応答信号が出力されるタイミングを監視したときに、前記タイミングが変化した遅延量に対して前又は後にずらした値に設定する。【選択図】図４
2010182115.tif 000002
【特許請求の範囲】
【請求項１】
半導体記憶装置にデータを書き込むメモリ制御装置であって、
前記半導体記憶装置を制御する制御信号を遅延させて、前記半導体記憶装置に出力する位相調整回路と、
前記制御信号に応答して前記半導体記憶装置から入力されるデータストローブ信号を監視し、前記制御信号が出力されてから前記データストローブ信号が入力されるまでの応答時間に対応する応答信号を出力するデータストローブ監視回路と、を有し、
前記位相調整回路の遅延量は、前記半導体記憶装置に、前記遅延量を順次増加させながら前記制御信号を出力して前記応答信号が出力されるタイミングを監視したときに、前記タイミングが変化した遅延量に対して前又は後にずらした値に設定されていることを特徴とするメモリ制御装置。
【請求項２】
前記データストローブ監視回路は、前記応答信号を、前記データストローブ信号の４ × ｎ回目（ｎは自然数）の立ち下がりのタイミングで出力することを特徴とする請求項１記載のメモリ制御装置。
【請求項３】
前記データストローブ監視回路は、前記応答信号を、前記データストローブ信号の１回目の立ち上がりのタイミングで出力することを特徴とする請求項１記載のメモリ制御装置。
【請求項４】
前記前又は後にずらした値は、前記応答信号の出力されるタイミングが変化した時間の半分の時間に対応することを特徴とする請求項１乃至３の何れか一項記載のメモリ制御装置。
【請求項５】
前記応答信号は、前記メモリ制御装置の外部に配置されたＣＰＵに出力可能に構成されており、
前記前又は後にずらした値は、前記ＣＰＵから設定可能に構成されていることを特徴とする請求項１乃至４の何れか一項記載のメモリ制御装置。
【請求項６】
更に、前記制御信号のうち、チップセレクト信号以外の制御信号の状態を所定時間保持する保持手段を有する請求項１乃至５の何れか一項記載のメモリ制御装置。
【請求項７】
前記位相調整回路は、基準クロックに基づいて遅延値を生成する遅延値生成回路を有することを特徴とする請求項１乃至６の何れか一項記載のメモリ制御装置。
【請求項８】
半導体記憶装置にデータを書き込むメモリ制御装置の制御信号出力タイミングの調整方法であって、
前記半導体記憶装置に制御信号を出力する第１ステップと、
前記制御信号に応答して前記半導体記憶装置から入力されるデータストローブ信号を監視し、前記制御信号が出力されてから前記データストローブ信号が入力されるまでの応答時間に対応する応答信号を出力する第２ステップと、
前記半導体記憶装置に、遅延量を順次増加させながら前記制御信号を出力し、前記遅延量を順次増加させた前記制御信号に応答して前記半導体記憶装置から入力されるデータストローブ信号を監視し、前記遅延量を順次増加させた制御信号が出力されてから前記データストローブ信号が入力されるまでの応答時間に対応する応答信号を順次出力する第３ステップと、
前記第３ステップにおいて順次出力された前記応答信号のタイミングが、前記第２ステップにおいて出力された前記応答信号のタイミングに対して変化したか否かを判定する第４ステップと、
前記第４ステップにおいて、「変化した」と判定した場合には、前記制御信号の遅延量を、「変化した」ときの遅延量に対して前又は後にずらした値に設定する第５ステップと、を有するメモリ制御装置の制御信号出力タイミングの調整方法。
【請求項９】
前記応答信号は、前記データストローブ信号の４ × ｎ回目（ｎは自然数）の立ち下がりのタイミングで出力されることを特徴とする請求項８記載のメモリ制御装置の制御信号出力タイミングの調整方法。
【請求項１０】
前記応答信号は、前記データストローブ信号の１回目の立ち上がりのタイミングで出力されることを特徴とする請求項８記載のメモリ制御装置の制御信号出力タイミングの調整方法。
【請求項１１】
前記前又は後にずらした値は、前記応答信号の出力されるタイミングが変化した時間の半分の時間に対応することを特徴とする請求項８乃至１０の何れか一項記載のメモリ制御装置の制御信号出力タイミングの調整方法。
【請求項１２】
前記応答信号は、前記メモリ制御装置の外部に配置されたＣＰＵに出力され、
前記前又は後にずらした値は、前記ＣＰＵから設定されることを特徴とする請求項８乃至１１の何れか一項記載のメモリ制御装置の制御信号出力タイミングの調整方法。
【請求項１３】
更に、前記制御信号のうち、チップセレクト信号以外の制御信号の状態を所定時間保持するステップを有する請求項８乃至１２の何れか一項記載のメモリ制御装置の制御信号出力タイミングの調整方法。
【請求項１４】
前記遅延量は、基準クロックに基づいて遅延値を生成する遅延値生成回路により設定されることを特徴とする請求項８乃至１３の何れか一項記載のメモリ制御装置の制御信号出力タイミングの調整方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリにデータを書き込むメモリ制御装置及びその制御信号出力タイミングの調整方法に関する。
【背景技術】
【０００２】
大容量メモリとして使用されるＤＲＡＭ（Ｄｙｎａｍｉｃ Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）は、同期式のＤＤＲ１−ＳＤＲＡＭやＤＤＲ２−ＳＤＲＡＭ等のダブルデータレート方式が主流となっている。特に、ＤＤＲ２−ＳＤＲＡＭは、クロックレートにつき４００ＭＨｚ〜８００ＭＨｚの仕様がＪＥＤＥＣ（Ｊｏｉｎｔ Ｅｌｅｃｔｒｏｎ Ｄｅｖｉｃｅ Ｅｎｇｉｎｅｅｒｉｎｇ Ｃｏｕｎｃｉｌ）により規格化されている。
【０００３】
今後、ＤＤＲ−ＳＤＲＡＭの動作速度は更に速くなり、ＤＤＲ３−ＳＤＲＡＭが主流となることが予想される。ＤＤＲ３−ＳＤＲＡＭにはデータレートが８００ＭＨｚ（ＤＤＲ３―８００）から１．６ＧＨｚ（ＤＤＲ３−１６００）までの仕様がＪＥＤＥＣにより規格化されている。同期式のメモリ、特に複数本のデータを持つパラレルバスであっても動作速度は新規格が出るたびに高速化している。この高速化の流れは、メモリやメモリ制御装置等の半導体装置自体の製造プロセスの進化があるからこそ実現できるものである。
【０００４】
ところが、メモリやメモリ制御装置を一つのボード上に配置した機器においては、メモリやメモリ制御装置の動作周波数が高速化されても、メモリとメモリ制御装置間インターフェースのボード上配線に関わる転送速度は高速化されているわけではない。そのため、メモリやメモリ制御装置等の半導体装置の高速化に伴い、ボード上の配線遅延の影響が動作上のボトルネックとなりつつある。
【０００５】
パラレルバス方式のインターフェース装置において、その動作周波数が１００ＭＨｚ以下の時代においては、ボード上の配線遅延にマージンを持った値を用いてＡＣタイミングを満たすように、メモリ制御装置を搭載した半導体装置を作ることは可能であった。又、動作周波数が１００ＭＨｚを超えるようになってからは、メモリ制御装置内にＰＬＬを内蔵し、ボード上のタイミングと同期を図ることにより、或いは、ボード上の配線を等長配線することにより、メモリとメモリ制御装置間の動作の保証を行ってきた。
【０００６】
ＤＤＲ３−ＳＤＲＡＭのデータレートは最大１．６ＧＨｚすなわち６２５ｐｓとなり、ボード上の配線遅延が１ｎｓの場合、１００ＭＨｚのデータレートでは無視できる程度であったが、ＤＤＲ３−ＳＤＲＡＭにとっては動作周波数以上の遅延となり、ＰＬＬによる同期化やボード上の等長配線だけでは対処できないレベルとなっている。
【０００７】
ＤＤＲ３−ＳＤＲＡＭの規格（ＪＥＤＥＣ  Ｓｔａｎｄａｒｄ  Ｎｏ．７９−３ｘ）の新規機能として、メモリとメモリ制御装置間のタイミングを制御する機能が追加されている。ライトレベリング機能と、ＭＰＲ（Ｍｕｌｔｉ  Ｐｕｒｐｏｓｅ  Ｒｅｇｉｓｔｅｒ）による固定値リードデータ出力機能がそれに該当する。
【０００８】
前者はメモリへ入力されるクロックと、メモリ制御装置がライト時に出力するＤＱＳ（データストローブ信号）のタイミング調整に関わり、後者は、メモリ制御装置が正しいリードデータを取り込むためのタイミング調整に関わるものである。ＤＤＲ３−ＳＤＲＡＭの規格自体には、これらの機能の使い方については言及されておらず、どのように使うかはメモリ制御装置の仕様に依存する。
【０００９】
ライトレベリング機能と、ＭＰＲによる固定値リードデータ出力の機能をメモリ制御装置が使いこなすには、少なくともＤＱＳの出力タイミングと、ＤＱ（データ）／ＤＱＳの入力タイミングを調整する機能がメモリ制御装置に装備されていることが必須である。しかし、ＤＱＳ出力とＤＱ／ＤＱＳの入力タイミングだけ調整できれば高速動作のＤＤＲ３−ＳＤＲＡＭに対応するメモリ制御装置が構成できるのではなく、メモリ制御装置の全ての入出力端子においてタイミング調整機能を持たなければ、ＤＤＲ３−ＳＤＲＡＭの新規機能対応および高速動作を保証するのが難しいことは自明である。
【００１０】
入出力端子のタイミング調整を行う手法に、ＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）を用いたものがある。ＤＬＬに入力される基準クロックの周期に対応した値を遅延演算回路に設定することにより、安定した遅延を供給することができる。なお、基準クロックとメモリクロックとは、任意の関係である。例えば、基準クロック＝メモリクロックの関係としてもよいし、メモリクロックを２逓倍したものを基準クロックとしてもよい。
【００１１】
図１は、従来のメモリ制御装置の構成を例示するブロック図である。図１を参照するに、メモリ制御装置１００は、制御部１０１と、遅延回路１０２（１）〜１０２（ｉ）と、バッファ１０３（１）〜１０３（ｉ）と、入出力端子１０４（１）〜１０４（ｊ）とを有する。なお、ｉ及びｊは自然数である。制御部１０１は、遅延回路１０２（１）〜１０２（ｉ）に接続されている。遅延回路１０２（１）〜１０２（ｉ）は、バッファ１０３（１）〜１０３（ｉ）に接続されている。バッファ１０３（１）〜１０３（ｉ）は、入出力端子１０４（１）〜１０４（ｊ）に接続されている。
【００１２】
図２は、図１の遅延回路周辺部の構成を例示するブロック図である。同図中、図１と同一構成部分には同一符号を付し、その説明は省略する場合がある。図２を参照するに、ＤＬＬ（Ｄｅｌａｙ Ｌｏｃｋｅｄ Ｌｏｏｐ）回路１０５へ基準クロックが入力され、ＤＬＬ回路１０５の出力は遅延演算回路１０７に接続されている。ＤＬＬ回路１０５は、基準クロックに基づいて所定の遅延値を生成し、遅延演算回路１０７に出力する遅延値生成回路である。
【００１３】
遅延演算回路１０７には遅延設定値が入力され、遅延演算回路１０７の出力は遅延回路１０２（１）に接続されている。ここでは、メモリクロック＝基準クロックとし、その周期をｔｃｋとする。なお、遅延回路１０２（１）以外の各遅延回路周辺部の構成も図２と同様である。
【００１４】
図１及び図２に示すように、メモリ制御装置１００は、入出力端子１０４（１）〜１０４（ｊ）に遅延回路１０２（１）〜１０２（ｉ）を装備しており、ＤＬＬ回路１０５の出力と遅延設定値とを遅延演算回路１０７に入力することにより、遅延演算回路１０７の遅延設定ができるような構成となっている。すなわち、遅延設定回路１０７は、ＤＬＬ回路１０５の出力と所望の遅延設定値を用いて遅延量を演算し、演算した遅延量を遅延回路１０２（１）〜１０２（ｉ）に出力する。そして、遅延回路１０２（１）〜１０２（ｉ）は、遅延設定回路１０７から入力された遅延量に基づいて遅延値を決定する。
【００１５】
例えば、遅延演算回路１０７に入力される遅延設定値がｎ値の場合、遅延演算回路１０７がｎ／３２ｔＣＫの遅延量を持つように設定される。この構成により、遅延回路１０２（１）〜１０２（ｉ）の出力信号の遅延量を、基準クロックに対応して個別に設定できる。
【００１６】
ＤＤＲ３−ＳＤＲＡＭを制御するメモリ制御装置の場合、メモリクロックの立ち上がりタイミングに同期し、ＣＳ、ＲＡＳ、ＣＡＳ、ＷＥ、アドレス、バンクアドレス、ＣＫＥを取り込み、これらの信号の組み合わせにより、コマンドが決定する。例えばＤＤＲ３−１６００の場合はメモリクロックが８００ＭＨｚであるから、１．２５ｎｓの周期でセットアップホールドを満たす必要がある。このような高速クロックのタイミングは、メモリ制御装置から出力したコマンドとクロックが、１．２５ｎｓの周期でセットアップホールドを満たしていても、ボード上の配線遅延を含めメモリに到達した時に１．２５ｎｓの周期でセットアップホールドを満たすことの保証は困難である。
【００１７】
図３は、タイミング制約を緩和させるための手法を例示する図である。図３において、クロックＣＫはメモリクロック（＝基準クロック；周期ｔｃｋ）を、チップセレクトＣＳはチップセレクト信号を示している。図３に例示する手法では、チップセレクトＣＳ以外の信号（その他制御信号）の変化点を、チップセレクトＣＳの変化点に対して変更することによりタイミング制約の緩和を実現している。
【発明の概要】
【発明が解決しようとする課題】
【００１８】
しかしながら、図３に例示する手法では、チップセレクトＣＳは必ずクロックＣＫとのセットアップホールドが保証されていることが前提である。ＤＤＲ３―ＳＤＲＡＭを制御するメモリ制御装置においては、チップセレクトＣＳが確実にメモリに到達したときにクロックＣＫとのセットアップホールドが保証されることが必要である。
【００１９】
このように少なくとも一つのコマンドに関わるメモリ制御信号を確実にタイミング保証することが必要であり、一つのメモリ制御信号に関してタイミング保証することができれば、他の信号についても順次タイミング保証することが可能となる。又、コマンドが確実にメモリへ転送されることが保証されると、ＤＤＲ３−ＳＤＲＡＭの新規機能であるライトレベリング機能や、ＭＰＲによる固定データリード機能を効果的に使用できるようになる。
【００２０】
しかし、従来の技術では、一つのコマンドに関わるメモリ制御信号が、ボード上の配線遅延を含めメモリに到達した時に１．２５ｎｓの周期でセットアップホールドを満たすことを保証することは困難であるという問題があった。
【００２１】
上記の点に鑑みて、メモリ制御信号とクロックとの関係を容易に把握することができ、メモリ制御信号とクロックとのセットアップホールドに対するマージンを拡大することが可能なメモリ制御装置及びその制御信号出力タイミングの調整方法を提供することを課題とする。
【課題を解決するための手段】
【００２２】
本メモリ制御装置は、半導体記憶装置にデータを書き込むメモリ制御装置であって、前記半導体記憶装置を制御する制御信号を遅延させて、前記半導体記憶装置に出力する位相調整回路と、前記制御信号に応答して前記半導体記憶装置から入力されるデータストローブ信号を監視し、前記制御信号が出力されてから前記データストローブ信号が入力されるまでの応答時間に対応する応答信号を出力するデータストローブ監視回路と、を有し、前記位相調整回路の遅延量は、前記半導体記憶装置に、前記遅延量を順次増加させながら前記制御信号を出力して前記応答信号が出力されるタイミングを監視したときに、前記タイミングが変化した遅延量に対して前又は後にずらした値に設定されていることを要件とする。
【００２３】
又、本メモリ制御装置の制御信号出力タイミングの調整方法は、半導体記憶装置にデータを書き込むメモリ制御装置の制御信号出力タイミングの調整方法であって、前記半導体記憶装置に制御信号を出力する第１ステップと、前記制御信号に応答して前記半導体記憶装置から入力されるデータストローブ信号を監視し、前記制御信号が出力されてから前記データストローブ信号が入力されるまでの応答時間に対応する応答信号を出力する第２ステップと、前記半導体記憶装置に、遅延量を順次増加させながら前記制御信号を出力し、前記遅延量を順次増加させた前記制御信号に応答して前記半導体記憶装置から入力されるデータストローブ信号を監視し、前記遅延量を順次増加させた制御信号が出力されてから前記データストローブ信号が入力されるまでの応答時間に対応する応答信号を順次出力する第３ステップと、前記第３ステップにおいて順次出力された前記応答信号のタイミングが、前記第２ステップにおいて出力された前記応答信号のタイミングに対して変化したか否かを判定する第４ステップと、前記第４ステップにおいて、「変化した」と判定した場合には、前記制御信号の遅延量を、「変化した」ときの遅延量に対して前又は後にずらした値に設定する第５ステップと、を有することを要件とする。
【発明の効果】
【００２４】
本発明によれば、メモリ制御信号とクロックとの関係を容易に把握することができ、メモリ制御信号とクロックとのセットアップホールドに対するマージンを拡大することが可能なメモリ制御装置及びその制御信号出力タイミングの調整方法を提供することができる。
【図面の簡単な説明】
【００２５】
【図１】従来のメモリ制御装置の構成を例示するブロック図である。
【図２】図１の遅延回路周辺部の構成を例示するブロック図である。
【図３】タイミング制約を緩和させるための手法を例示する図である。
【図４】本実施の形態に係るメモリ制御装置の主要部の構成を例示するブロック図である。
【図５】メモリ制御装置の動作を説明するために例示するタイミングチャート（その１）である。
【図６】メモリ制御装置の動作を説明するために例示するタイミングチャート（その２）である。
【図７】メモリ制御装置の動作を説明するために例示するタイミングチャート（その３）である。
【図８】メモリ制御装置の動作を説明するために例示するタイミングチャート（その４）である。
【図９】クロックに対する最適なメモリ制御信号の位相調整方法に関するフローチャートの例である。
【図１０】メモリ制御装置の動作を説明するために例示するタイミングチャート（その５）である。
【図１１】メモリ制御装置の動作を説明するために例示するタイミングチャート（その６）である。
【発明を実施するための形態】
【００２６】
以下、図面を参照して、実施の形態の説明を行う。
【００２７】
図４は、本実施の形態に係るメモリ制御装置の主要部の構成を例示するブロック図である。図４を参照するに、メモリ制御装置１０は、位相調整回路１１（１）〜１１（３）と、データストローブ監視回路１２と、フリップフロップ１３と、制御回路１４と、信号制御回路１５と、選択回路１６（１）及び１６（２）と、バッファ１７（１）〜１７（７）と、入出力端子１８（１）〜１８（３）と、ＣＰＵ・Ｉ／Ｆ１９とを有する。
【００２８】
なお、データ信号ＤＱが例えば８ビットである場合には、メモリ制御装置１０はデータ信号ＤＱの入出力部と同様の構成の入出力部を８個有するが、図４においては１個のみを図示し、他は省略されている。又、ＤＤＲ２／ＤＤＲ３−ＳＤＲＡＭにおいてデータストローブ信号は差動信号であるが、簡単にするため図４ではシングルエンド信号として記載されている。
【００２９】
位相調整回路１１（１）〜１１（３）は、入力される信号を所定の遅延量だけ遅延させて出力する機能を有する。位相調整回路１１（１）〜１１（３）は、例えば図２に示す構成（遅延値生成回路であるＤＬＬ回路、遅延設定回路、遅延回路）により実現することができる。
【００３０】
データストローブ監視回路１２は、データストローブ信号ＤＱＳ発行からの応答時間に相当する値である応答信号ＲＥＳを出力する機能を有する。データストローブ監視回路１２には、制御回路１４から信号ＴＰＵＬＳＥが入力されている。信号ＴＰＵＬＳＥは、観測信号タイミングラッチ計算用パルスであり、どのタイミングでデータストローブ信号ＤＱＳを観測したらよいかを示す信号である。信号ＴＰＵＬＳＥは、メモリアクセスする基準信号であり、制御回路１４は、レイテンシの設定がいくつであっても、メモリに対して固定クロックサイクル、例えば３クロック前に信号ＴＰＵＬＳＥを発生する。
【００３１】
データストローブ監視回路１２は、信号ＴＰＵＬＳＥに基づいて観測信号であるデータストローブ信号ＤＱＳを観測し、データストローブ信号ＤＱＳの所定の立ち上がり又は立ち下がりのタイミングで応答信号ＲＥＳを出力する。このようにすることで、レイテンシに関係なく、純粋にメモリアクセスの遅延量を観測することができる。
【００３２】
フリップフロップ１３は、入力される信号を所定のタイミングで出力する機能を有する。制御回路１４は、メモリ制御信号ＣＯＭを出力する機能を有する。メモリ制御信号ＣＯＭは、ＣＳ、ＲＡＳ、ＣＡＳ、ＷＥ、アドレス、バンクアドレス、ＣＫＥを含むもので、これらの信号の組み合わせによりコマンドが決定する。又、制御回路１４は、データストローブ監視回路１２や信号制御回路１５等に所定の信号を出力する機能を有する。信号制御回路１５は、制御回路１４からの指令により、信号を選択する選択回路１６（１）及び１６（２）を制御する。
【００３３】
データ信号ＤＱ、データストローブ信号ＤＱＳ、及びメモリ制御信号ＣＯＭは、バッファ１７（１）〜１７（５）を介して、入出力端子１８（１）〜１８（３）において入出力される。データ信号ＤＱ、データストローブ信号ＤＱＳ、及びメモリ制御信号ＣＯＭは、例えばＤＤＲ３−１６００等のメモリと接続される。
【００３４】
位相調整回路１１（１）〜１１（３）、データストローブ監視回路１２、及び制御回路１４は、ＣＰＵ・Ｉ／Ｆ１９と接続されている。ＣＰＵ・Ｉ／Ｆ１９は、メモリ制御装置１０の外部に配置されるＣＰＵ（図示せず）とのインターフェースを司る回路であり、メモリ制御装置１０の外部に配置されるＣＰＵバス（図示せず）を介してＣＰＵ（図示せず）と接続される。
【００３５】
図５は、メモリ制御装置の動作を説明するために例示するタイミングチャート（その１）である。クロックＣＫは、メモリクロックであり、その周波数は例えば８００ＭＨｚである。図５に示すように、メモリ制御装置１０が、例えばＤＤＲ３−１６００等のメモリにメモリ制御信号ＣＯＭを発行すると、リード応答レイテンシＲＬ（図５の例ではＲＬ＝５）分のサイクル分待った後、メモリからメモリ制御装置１０にデータ信号ＤＱ及びデータストローブ信号ＤＱＳが返される。ここで、図５に例示するタイミングチャートは、メモリ制御装置１０とメモリとの接続における配線遅延が無いと仮定した場合のものである。
【００３６】
図６は、メモリ制御装置の動作を説明するために例示するタイミングチャート（その２）である。図６に例示するタイミングチャートは、メモリ制御装置１０とメモリとの接続における配線遅延を考慮した場合のものである。図６に示すように、メモリ制御装置１０が実際にメモリ制御信号ＣＯＭを発行してから、実際にデータ信号ＤＱ及びデータストローブ信号ＤＱＳを受け取るのは、データ信号ＤＱ、データストローブ信号ＤＱＳ、及びメモリ制御信号ＣＯＭの配線遅延αを加えた時間の後となる。すなわち、実際の応答時間は、ＲＬ＝５ではなくＲＬ＝５＋αとなる。
【００３７】
図７は、メモリ制御装置の動作を説明するために例示するタイミングチャート（その３）である。前述の図６に例示したタイミングチャートは、クロックＣＫの配線遅延量とコマンドの配線遅延量とが同じであると仮定した場合のものであるが、クロックＣＫの配線遅延量とコマンドの配線遅延量とは同じであるとは限らない。図７（１）〜図７（３）に示すように、クロックＣＫの立ち上がりとメモリ制御信号ＣＯＭの位相関係は様々な状態になり得る。メモリ側においては、クロックＣＫの立ち上がりとメモリ制御信号ＣＯＭの位相関係がどのような状態になっているかは分からない。
【００３８】
そこで、クロックＣＫの立ち上がりとメモリ制御信号ＣＯＭの位相関係を知るために、クロックＣＫに対してメモリ制御信号ＣＯＭの位相をずらすことで、ＲＥＡＤコマンドに対する応答の変化点（応答信号ＲＥＳ）を観測し、クロックＣＫに対する最適なメモリ制御信号ＣＯＭの位相関係を調整できるようにする。ここで、応答信号ＲＥＳは、あくまでも図4のデータストローブ監視回路１２における監視結果出力値であり、必ずしもＲＥＡＤコマンドからの実際のサイクル数となるわけではない。
【００３９】
図８は、メモリ制御装置の動作を説明するために例示するタイミングチャート（その４）である。制御回路１４は、メモリアクセスする固定クロックサイクル（図８の場合は３クロック）前に信号ＴＰＵＬＳＥを発生する。データストローブ監視回路１２は、信号ＴＰＵＬＳＥのタイミングを見て信号ＶＡＬＵＥを立ち上げ、データストローブ信号ＤＱＳ（メモリ制御装置到達時）の４回目の立ち下がりで信号ＶＡＬＵＥを立ち下げ、応答信号ＲＥＳを出力する。図８の例では、応答信号ＲＥＳ＝Ｎである。
【００４０】
なお、「４回目の立ち下がりで信号ＶＡＬＵＥを立ち下げ、応答信号ＲＥＳを出力する」のは一例であり、４ × ｎ回目（ｎは自然数）の立ち下がりで信号ＶＡＬＵＥを立ち下げ、応答信号ＲＥＳを出力するようにすると好適である。これは、８バーストタイプのメモリにおいて、４ × ｎ回目の立ち下がりのタイミングが、ＤＤＲ−ＳＤＲＡＭのデータが確定するタイミングであるため、元々通常時に使用しているコマンドを発生させる回路をそのまま使用できるからである。
【００４１】
又、メモリ制御装置１０に入力されるデータストローブ信号ＤＱＳの１回目の立ち上がりで信号ＶＡＬＵＥを立ち下げ、応答信号ＲＥＳを出力するようにしても構わない。このようにすると、最も早く応答時間を測定することができるからである。
【００４２】
ここで、メモリ制御信号ＣＯＭを決定する各信号（ＣＳ、ＲＡＳ、ＣＡＳ、ＷＥ、アドレス、バンクアドレス、ＣＫＥ）もそれぞれ配線遅延が異なる可能性があるため、まずは図３に示すようにチップセレクトＣＳ以外の信号はチップセレクトＣＳの変化点付近に発生しないようにすることが好ましい。
【００４３】
図４、図９及び図１０を参照しながら、クロックＣＫに対する最適なメモリ制御信号ＣＯＭの位相調整方法に関して説明する。図９は、クロックに対する最適なメモリ制御信号の位相調整方法に関するフローチャートの例である。図１０は、メモリ制御装置の動作を説明するために例示するタイミングチャート（その５）である。
【００４４】
始めにステップ１００では、制御回路１４は、メモリ制御信号ＣＯＭを生成する。そして、生成したメモリ制御信号ＣＯＭを位相調整回路１１（３）、バッファ１７（５）、入出力端子１８（３）を介して、メモリに対して出力する（Ｓ１００）。このときに、位相調整回路１１（３）は、所定の遅延量に設定されている。
【００４５】
次いでステップ１１０では、データストローブ調整回路１２は、メモリから入出力端子１８（２）、バッファ１７（４）を介して入力されるデータストローブ信号ＤＱＳに対して応答信号ＲＥＳを生成し出力する（Ｓ１１０）。図１０（１）は、ステップ１００及び１１０の動作に対応する波形を例示したものである。但し、図１０では、メモリ制御信号ＣＯＭはチップセレクトＣＳとし、チップセレクトＣＳ以外の信号をチップセレクトＣＳの変化点付近に発生しないようにすることを前提としたものである。このような前提により、図１０（１）ではチップセレクトＣＳの変化がそのままコマンドの変化になっている。このときの応答信号ＲＥＳの値はＮである。
【００４６】
なお、図１０（１）では、データストローブ信号ＤＱＳの４回目の立ち下がりで応答信号ＲＥＳを出力しているが、前述のように、４ × ｎ回目（ｎは自然数）の立ち下がりで応答信号ＲＥＳを出力してもよいし、データストローブ信号ＤＱＳの１回目の立ち上がりで応答信号ＲＥＳを出力してもよい。
【００４７】
次いでステップ１２０では、位相調整回路１１（３）の遅延量を増加させる（Ｓ１２０）。位相調整回路１１（３）の遅延量の増加は、例えばＣＰＵ・Ｉ／Ｆ１９を介してメモリ制御装置１０の外部に配置されるＣＰＵからの指令により行われる。なお、増加させる遅延量は、クロックＣＫの周期よりも短く設定する必要がある。
【００４８】
次いでステップ１３０では、制御回路１４は、メモリ制御信号ＣＯＭを生成する。そして、生成したメモリ制御信号ＣＯＭを位相調整回路１１（３）、バッファ１７（５）、入出力端子１８（３）を介して、メモリに対して出力する（Ｓ１３０）。
【００４９】
次いでステップ１４０では、データストローブ調整回路１２は、メモリから入出力端子１８（２）、バッファ１７（４）を介して入力されるデータストローブ信号ＤＱＳに対して応答信号ＲＥＳを生成し出力する（Ｓ１４０）。図１０（２）は、ステップ１２０〜１４０の動作に対応する波形を例示したものである。このときの応答信号ＲＥＳの値はＮである。
【００５０】
次いでステップ１５０では、ステップ１４０における応答信号ＲＥＳの値が、ステップ１１０における応答信号ＲＥＳの値から変化したか否かを判定する（Ｓ１５０）。この判定は、例えばＣＰＵ・Ｉ／Ｆ１９を介してメモリ制御装置１０の外部に配置されるＣＰＵで行われる。
【００５１】
ステップ１５０において「変化した」と判定しなかった場合（図９のＮＯの場合）には、ステップ１２０に戻り、上述のステップが繰り返される。図１０（１）及び図１０（２）の例では、応答信号ＲＥＳの値（Ｎ）は、変化していないため、ステップ１２０に戻り、上述のステップが繰り返される。なお、図１０（１）及び図１０（２）で応答信号ＲＥＳの値（Ｎ）が変化していないのは、図１０（１）及び図１０（２）では、チップセレクトＣＳの遅延が変化していても、同じタイミングのクロックＣＫの立ち上がりでチップセレクトＣＳをラッチしており、データストローブ信号ＤＱＳは同じタイミングで応答するからである。
【００５２】
ステップ１５０において「変化した」と判定した場合（図９のＹＥＳの場合）には、ステップ１６０に移行する。ステップ１６０では、位相調整回路１１（３）の遅延量を、応答信号ＲＥＳの値が変化したとき値に対して前又は後にずらした値に固定する。前又は後にずらした値は、例えば応答信号ＲＥＳの出力されるタイミングが遅延した時間（クロックＣＫの一周期分）の半分に設定することができる。前又は後にずらした値の設定や位相調整回路１１（３）の遅延量の固定は、例えばＣＰＵ・Ｉ／Ｆ１９を介してメモリ制御装置１０の外部に配置されるＣＰＵからの指令により行われる。
【００５３】
図１０（３）は、ステップ１５０（図９のＹＥＳの場合）〜１６０の動作に対応する波形を例示したものである。図１０（３）では、図１０（１）及び図１０（２）よりも１周期後のクロックＣＫの立ち上がりでチップセレクトＣＳをラッチしているため、データストローブ信号ＤＱＳも同様に、1周期遅れて応答している。すなわち、このときの応答信号ＲＥＳの値はＮ＋１となり、前回の応答信号ＲＥＳの値Ｎよりも増えるため、ステップ１５０において「変化した」と判定されたのである。
【００５４】
ステップ１６０で、位相調整回路１１（３）の遅延量を、応答信号ＲＥＳの値が変化したとき値に対して前又は後にずらした値に固定するのは以下の理由による。すなわち、応答信号ＲＥＳの値が変化したときの値の付近（図１０（３）の設定付近）では、クロックＣＫの立ち上がり時にチップセレクトＣＳが変化点付近にあると判断でき、このままの設定では、メモリ制御信号ＣＯＭとクロックＣＫとのセットアップホールドを満たすことを保証することが困難である。位相調整回路１１（３）の遅延量を、応答信号ＲＥＳの値が変化したとき値に対して前又は後にずらした値に固定することにより、メモリ制御信号ＣＯＭとクロックＣＫとのセットアップホールドに対するマージンを拡大することが可能となる。
【００５５】
前述のように、応答信号ＲＥＳの値はＣＰＵから読み出すことができるため、応答信号ＲＥＳの値の変化点における位相調整回路１１（３）の遅延量（遅延設定値）から最適な遅延設定（前又は後にずらした値）をフィードバックして位相調整回路１１（３）に設定することができる。このようにしてチップセレクトＣＳのタイミングが保証されれば、他の信号についても順次タイミング保証することが可能となる。
【００５６】
図１１は、メモリ制御装置の動作を説明するために例示するタイミングチャート（その６）である。例えばチップセレクトＣＳの次にアドレスの１Ｂｉｔ（Ａ０）の位相調整を考える。図１１に示すように、チップセレクトＣＳは確定したままアドレスＡ０以外のメモリ制御信号ＣＯＭの値を数サイクル保持し、アドレスＡ０の遅延設定を徐々に動かせばよい。アドレスＢｉｔに関しては、データストローブ監視回路１２でデータストローブ信号ＤＱＳを監視しても変化点を見つけることはできない。しかし、データＤＱの変化点を見つけることで、アドレスＡ０の変化点を見つけることができる。なお、データＤＱの変化点は、規格で定められた所定の方法により見つけることができる。
【００５７】
以上のように、本実施の形態によれば、メモリ制御信号とクロックとの関係を容易に把握することができ、メモリ制御信号ＣＯＭとクロックＣＫとのセットアップホールドに対するマージンを拡大することが可能となる。
【００５８】
以上、好ましい実施の形態について詳説したが、上述した実施の形態に制限されることはなく、特許請求の範囲に記載された範囲を逸脱することなく、上述した実施の形態に種々の変形及び置換を加えることができる。
【００５９】
例えば、図４に示すメモリ制御装置１０は、ＣＰＵ・Ｉ／Ｆ１９を介してＣＰＵと接続して使用する。しかし、本発明に係るメモリ制御装置は、このような構成には限定されない。例えば、メモリ制御装置を外部に設けられたＣＰＵとは接続せず、メモリ制御装置内の制御回路に、応答信号ＲＥＳの値の変化点における位相調整回路の遅延量（遅延設定値）から最適な遅延設定（前又は後にずらした値）をフィードバックする機能等を持たせても構わない。又、メモリ制御装置にＣＰＵを内蔵しても構わない。
【００６０】
又、本発明に係るメモリ制御装置は、複数のメモリやメモリモジュールと接続できるように構成することも可能である。
【符号の説明】
【００６１】
１０  メモリ制御装置
１１（１）〜１１（３）  位相調整回路
１２  データストローブ監視回路
１３  フリップフロップ
１４  制御回路
１５  信号制御回路
１６（１），１６（２）  選択回路
１７（１）〜１７（７）  バッファ
１８（１）〜１８（３）  入出力端子
１９  ＣＰＵ・Ｉ／Ｆ
【先行技術文献】
【特許文献】
【００６２】
【特許文献１】特開２００８−０６７２４５号公報
【特許文献２】特開２００７−２２６３０８号公報
【特許文献３】特開２００５−１４１７２５号公報
【図１】
2010182115.tif 000003
【図２】
2010182115.tif 000004
【図３】
2010182115.tif 000005
【図４】
2010182115.tif 000006
【図５】
2010182115.tif 000007
【図６】
2010182115.tif 000008
【図７】
2010182115.tif 000009
【図８】
2010182115.tif 000010
【図９】
2010182115.tif 000011
【図１０】
2010182115.tif 000012
【図１１】
2010182115.tif 000013