(57)【要約】【課題】実装基板上の遅延値、スキュー値に影響されずにメモリ制御用ＡＳＩＣを開発できるようなメモリ制御装置を提供する。【解決手段】  所定のクロック信号を生成するクロックジェネレータと、上記クロックジェネレータの生成する所定のクロック信号を基に基準クロック周期を算出するＤＬＬ回路と、上記ＤＬＬ回路の出力値と少なくとも一種類のパラメータとを入力とし、遅延設定値を出力する遅延設定回路と、上記遅延設定値を遅延設定入力とする遅延素子とを含み、上記遅延素子は遅延設定入力に従い遅延値を決定し、上記遅延素子の入力信号は、上記クロックジェネレータの生成する所定のクロック信号により駆動されるフリップフロップの出力と接続され、上記遅延素子の出力信号は、メモリへの出力バッファの入力に接続されることを特徴とするメモリ制御装置を提供する。【選択図】図１
2008071249.tif 000002
【特許請求の範囲】
【請求項１】
所定のクロック信号を生成するクロックジェネレータと、
上記クロックジェネレータの生成する所定のクロック信号を基に基準クロック周期を算出するＤＬＬ回路と、
上記ＤＬＬ回路の出力値と少なくとも一種類のパラメータとを入力とし、遅延設定値を出力する遅延設定回路と、
上記遅延設定値を遅延設定入力とする遅延素子とを含み、
上記遅延素子は遅延設定入力に従い遅延値を決定し、
上記遅延素子の入力信号は、上記クロックジェネレータの生成する所定のクロック信号により駆動されるフリップフロップの出力と接続され、上記遅延素子の出力信号は、メモリへの出力バッファの入力に接続されることを特徴とするメモリ制御装置。
【請求項２】
所定のクロック信号を生成するクロックジェネレータと、
上記クロックジェネレータの生成する所定のクロック信号を基に基準クロック周期を算出するＤＬＬ回路と、
上記ＤＬＬ回路の出力値と複数のパラメータとを入力とし、夫々のパラメータに従い遅延設定値を出力する遅延設定回路と、
複数の上記遅延設定値を遅延設定入力とする複数の遅延素子とを含み、
上記遅延素子は遅延設定入力に従い遅延値を決定し、
上記遅延素子の入力信号は、上記クロックジェネレータの生成する所定のクロック信号により駆動されるフリップフロップの出力と接続され、上記遅延素子の出力信号は、メモリへの出力バッファの入力に接続されることを特徴とするメモリ制御装置。
【請求項３】
上記遅延素子と接続される出力バッファの少なくとも一つが、メモリへ入力するクロックのためのものであり、その遅延素子の入力は上記クロックジェネレータから供給されることを特徴とする請求項１又は２に記載のメモリ制御装置。
【請求項４】
上記ＤＬＬ回路に入力される所定のクロックは、メモリクロックのＮ（Ｎは自然数）倍の周波数であることを特徴とする請求項１又は２に記載のメモリ制御装置。
【請求項５】
メモリへのアドレス及びコマンドと、
チップセレクト信号と、
ストローブ信号と、
データ及びデータマスク信号に対して、夫々異なる遅延設定入力により異なる遅延値を決定する遅延素子が夫々に設けられていることを特徴とする請求項２のメモリ制御装置。
【請求項６】
データストローブ信号の出力バッファに接続される遅延素子の前段のフリップフロップと、データ及びデータマスク信号の出力バッファに接続される遅延素子の前段のフリップフロップは、メモリクロックの２倍の周波数で動作することを特徴とする請求項１又は２に記載のメモリ制御装置。
【請求項７】
データストローブ信号を駆動するフリップフロップに入力されるクロックと、データ及びデータマスク信号を駆動するフリップフロップに入力されるクロックは、１８０度位相が異なることを特徴とする請求項６のメモリ制御装置。
【請求項８】
メモリへのアドレス及びコマンド出力は、遅くともチップセレクト信号がアクティブになる一クロック前には値が確定していることを特徴とする請求項１又は２に記載のメモリ制御装置。
【請求項９】
上記遅延素子は、単位遅延時間を生成する部分回路である遅延単位を、複数個含み、
上記ＤＬＬ回路は、第２の単位遅延時間を生成する部分回路である第２の遅延単位を、足し合わせて遅延値を設定する第２の遅延素子を含み、
上記遅延素子に含まれる上記遅延単位の生成する単位遅延時間と、上記第２の遅延素子に含まれる上記第２の遅延単位の生成する単位遅延時間とは等しいことを特徴とする請求項１又は２に記載のメモリ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＤＲ−ＳＤＲＡＭのためのメモリ制御装置に関する。
【背景技術】
【０００２】
大容量メモリとして使用されるＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）は、同期式のＤＤＲ１−ＳＤＲＡＭやＤＤＲ２−ＳＤＲＡＭなどのダブルデータレート方式が主流となっている。特に、ＤＤＲ２−ＳＤＲＡＭは、クロックレートにつき４００ＭＨｚ〜８００ＭＨｚの仕様がＪＥＤＥＣ（Ｊｏｉｎｔ  Ｅｌｅｃｔｒｏｎ  Ｄｅｖｉｃｅ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｃｏｕｎｃｉｌ）により規格化されている。
【０００３】
このように、ＤＤＲ−ＳＤＲＡＭの動作速度は高くなり、それと共に実装基板上のメモリ制御用ＬＳＩとメモリＬＳＩとの間の配線遅延値、及び該配線遅延値のスキューの影響が大きくなってきている。そのため、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）を開発して高速のＤＤＲ−ＳＤＲＡＭと接続することが難しくなってきている。
【０００４】
具体的に述べると、（ＤＤＲ−ＳＤＲＡＭ用インタフェースの一つである）ＤＤＲ２６６は、クロック周波数が１３３ＭＨｚであるため、実装基板上の配線遅延値やスキューについて、実装されるメモリが少ない場合と多い場合とを含めて計算し、その計算値に基いてメモリ制御ＡＳＩＣを開発することが可能であった。ところが、ＤＤＲ２−５３３ではクロック周波数が２６６ＭＨｚであり、更にＤＤＲ２−８００ではクロック周波数が４００ＭＨｚとなり、実装基板上の配線遅延値とスキューの影響は相対的に大きくなる。これらの値の見積もりを間違えると、開発されたＡＳＩＣが実際に使用できなくなる可能性も大きくなる。また、接続されるメモリの種類、個数、若しくは配置により、配線遅延値やスキュー値が異なるため、実装基板毎にＡＳＩＣを開発しないといけない、ということになりかねない。
【０００５】
図８（ａ）は、メモリ制御用ＡＳＩＣの端子付近でのＳＤＲＡＭ波形のタイミング図であり、図８（ｂ）は、メモリの端子付近での同波形のタイミング図である。ＣＫ（メモリクロック）、Ａｄｄｒｅｓｓ／Ｒａｓ／Ｃａｓ／Ｗｅ（アドレス、コマンド）、Ｃｓ（チップセレクト）、ＤＳＱ［３：０］（データストローブ）、ＤＱ［３１：０］（データバス）、及び、ＤＭ［３：０］が示されている。図８（ａ）と図８（ｂ）の比較から明らかなように、配線遅延値やスキュー値は、クロック周期に関係なく一定であるためクロック周期が短くなればそれらの影響は大きくなる。
【０００６】
また、図７は、ＤＤＲ２−ＳＤＲＡＭのライト（書き込み）側の規格の例である。図から明らかなように、クロック周期が短くなれば実装基板上のスキュー値に注意してＡＳＩＣ開発を進めなければいけない。
【０００７】
なお、特許文献１は、データストローブ信号の立ち上がり及び立ち下がりで、入力信号データの取込みを行うＤＤＲインタフェースにおいて、該入力信号データの各信号間の遅延差を解消することができる同期式メモリからのデータ取込み回路を開示する。また、特許文献２は、ＤＤＲ−ＳＤＲＡＭなどにデジタルデータを入出力するメモリコントローラ装置において、クロック信号から生成するストローブ信号とデジタルデータとを正確に同期させることができる半導体記憶装置を開示する。更に、特許文献３は、外部ＤＤＲ−ＳＤＲＡＭから取り込んだ信号の同期化を高精度で且つ安定して行なう半導体集積回路を開示する。
【０００８】
【特許文献１】特開２００５−５６３３４公報
【特許文献２】特開２００４−１２６７７２公報
【特許文献３】特開２００５−７８５４７公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、実装基板上の遅延値、スキュー値に影響されずにメモリ制御用ＡＳＩＣを開発できるようなメモリ制御装置を提供することを目的とする。また、実装基板上の遅延値、スキュー値を補正する機能を持ったメモリ制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、上記の目的を達成するために為されたものである。本発明に係る請求項１に記載のメモリ制御装置は、
所定のクロック信号を生成するクロックジェネレータと、
上記クロックジェネレータの生成する所定のクロック信号を基に基準クロック周期を算出するＤＬＬ回路と、
上記ＤＬＬ回路の出力値と少なくとも一種類のパラメータとを入力とし、遅延設定値を出力する遅延設定回路と、
上記遅延設定値を遅延設定入力とする遅延素子とを含み、
上記遅延素子は遅延設定入力に従い遅延値を決定し、
上記遅延素子の入力信号は、上記クロックジェネレータの生成する所定のクロック信号により駆動されるフリップフロップの出力と接続され、上記遅延素子の出力信号は、メモリへの出力バッファの入力に接続されることを特徴とする。
【００１１】
本発明に係る請求項２に記載のめもり制御装置は、
所定のクロック信号を生成するクロックジェネレータと、
上記クロックジェネレータの生成する所定のクロック信号を基に基準クロック周期を算出するＤＬＬ回路と、
上記ＤＬＬ回路の出力値と複数のパラメータとを入力とし、夫々のパラメータに従い遅延設定値を出力する遅延設定回路と、
複数の上記遅延設定値を遅延設定入力とする複数の遅延素子とを含み、
上記遅延素子は遅延設定入力に従い遅延値を決定し、
上記遅延素子の入力信号は、上記クロックジェネレータの生成する所定のクロック信号により駆動されるフリップフロップの出力と接続され、上記遅延素子の出力信号は、メモリへの出力バッファの入力に接続されることを特徴とする。
【００１２】
本発明に係る請求項３に記載のメモリ制御装置は、
上記遅延素子と接続される出力バッファの少なくとも一つが、メモリへ入力するクロックのためのものであり、その遅延素子の入力は上記クロックジェネレータから供給されることを特徴とする請求項１又は２に記載のメモリ制御装置である。
【００１３】
本発明に係る請求項４に記載のメモリ制御装置は、
上記ＤＬＬ回路に入力される所定のクロックは、メモリクロックのＮ（Ｎは自然数）倍の周波数であることを特徴とする請求項１又は２に記載のメモリ制御装置である。
【００１４】
本発明に係る請求項５に記載のメモリ制御装置は、
メモリへのアドレス及びコマンドと、
チップセレクト信号と、
ストローブ信号と、
データ及びデータマスク信号に対して、夫々異なる遅延設定入力により異なる遅延値を決定する遅延素子が夫々に設けられていることを特徴とする請求項２のメモリ制御装置である。
【００１５】
本発明に係る請求項６に記載のメモリ制御装置は、
データストローブ信号の出力バッファに接続される遅延素子の前段のフリップフロップと、データ及びデータマスク信号の出力バッファに接続される遅延素子の前段のフリップフロップは、メモリクロックの２倍の周波数で動作することを特徴とする請求項１又は２に記載のメモリ制御装置である。
【００１６】
本発明に係る請求項７に記載のメモリ制御装置は、
データストローブ信号を駆動するフリップフロップに入力されるクロックと、データ及びデータマスク信号を駆動するフリップフロップに入力されるクロックは、１８０度位相が異なることを特徴とする請求項６のメモリ制御装置である。
【００１７】
本発明に係る請求項８に記載のメモリ制御装置は、
メモリへのアドレス及びコマンド出力は、遅くともチップセレクト信号がアクティブになる一クロック前には値が確定していることを特徴とする請求項１又は２に記載のメモリ制御装置である。
【００１８】
本発明に係る請求項９に記載のメモリ制御装置は、
上記遅延素子は、単位遅延時間を生成する部分回路である遅延単位を、複数個含み、
上記ＤＬＬ回路は、第２の単位遅延時間を生成する部分回路である第２の遅延単位を、足し合わせて遅延値を設定する第２の遅延素子を含み、
上記遅延素子に含まれる上記遅延単位の生成する単位遅延時間と、上記第２の遅延素子に含まれる上記第２の遅延単位の生成する単位遅延時間とは等しいことを特徴とする請求項１又は２に記載のメモリ制御装置である。
【発明の効果】
【００１９】
本発明を利用することにより、実装基板上で遅延やスキューが発生するとしても、図３に示すようなメモリ制御装置を含むＡＳＩＣを開発できる。また、実装基板上のメモリの種類や個数が変更されても、実装基板ごとに外部ＣＰＵ等を介して遅延パラメータを変更するように設計すれば、対応するＡＳＩＣを実現できる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照して本発明に係る好適な実施形態を説明する。
【００２１】
［第１の実施形態］
図１は、本発明の第１の実施形態に係るメモリ制御装置１のブロック図である。まず、クロックジェネレータ２は、システムクロックを取り込み、ＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）回路４への基準クロック入力、メモリクロックへの出力クロック、及び、メモリアドレス／コマンドやデータ等のメモリへの出力信号を駆動するフリップフロップ（１０ｂ、１０ｃ、１０ｄ）の駆動クロックを生成している。フリップフロップ（１０ｂ、１０ｃ、１０ｄ）は、１対１で遅延素子（８ｂ、８ｃ、８ｄ）と接続される。遅延素子（８ｂ、８ｃ、８ｄ）の出力信号は、メモリアドレス／コマンドやデータ等の（メモリにおける）夫々の出力バッファの入力と接続される。
【００２２】
図２は、遅延設定回路６への入出力を中心に遅延設定回路６の動作を示す波形図である。遅延設定回路６は、ＤＬＬ回路４からの出力（ＤＬＬコード）を入力し遅延パラメータを用いて、各遅延素子（８ａ、８ｂ、８ｃ、８ｄ）に遅延設定値を出力する回路である。遅延素子（８ａ、８ｂ、８ｃ、８ｄ）は、遅延設定値を遅延設定入力として、遅延値を決定する。
【００２３】
ＤＬＬ回路４は、内蔵された遅延単位を組み合わせて（若しくは、足し合わせて）遅延値を設定できる遅延素子を含む。ここでの遅延単位とは、本発明のメモリ制御装置１で利用される最小の遅延時間（即ち、単位遅延時間）を生成する部分回路、及び、その単位遅延時間である。ＤＬＬ回路４が生成するＤＬＬコード出力は、ＤＬＬ回路４がシステムクロックの周期を基に算出する（基準）クロック周期と等しい遅延単位（単位遅延時間）の数に対応する。
【００２４】
遅延素子（８ａ、８ｂ、８ｃ、８ｄ）は、ＤＬＬ回路４内蔵の遅延素子と等しい遅延単位を有する。両者における遅延素子の遅延単位（回路）の個数は、等しくてもよいし異なってもよい。
【００２５】
遅延パラメータが“１／８”を示しているとすると、図２に示すＤＬＬコード出力Ｎと遅延素子コード入力Ｍとの関係は、以下の式（数１）のようになる。
［数１］
Ｍ＝Ｎ×１／８
上記式を踏まえると遅延素子の遅延値「ｔＤｌｙ」は以下の式（数２）のようになる。
［数２］
ｔＤｌｙ＝ｔＩＮＩ  ＋  ｔＣＫ＿ｃｙｃ×１／８
ここで、「ｔＣＫ＿ｃｙｃ」はメモリクロックの周期である。「ｔＩＮＩ」は遅延パラメータが０であっても遅延素子（８ａ、８ｂ、８ｃ、８ｄ）が有する固有の遅延値であり、遅延素子内部には遅延単位（回路）を選択する回路等が含まれるために生じるものである。
【００２６】
図２の波形図（タイミング図）に示される遅延素子出力に接続される出力バッファがメモリのチップセレクトである場合、メモリクロックに対する遅延素子８ａの固有の設定値を０とすれば、メモリ制御装置の出力端子にて常に“ｔＣＫ＿ｃｙｃ×１／８”の遅延差がチップセレクトに与えられることとなる。このように、遅延パラメータを実装基板上の遅延に応じて設定することにより安定した信号遅延値を与えることができる。
【００２７】
［第２の実施形態］
第１の実施形態に係るメモリ制御装置１では、遅延設定回路６に対する遅延パラメータは一つである。一方、第２の実施形態に係るメモリ制御装置１では、遅延パラメータをメモリへの出力信号のグループ毎に設定する。ストローブ信号に対して１つの遅延パラメータを、そのストローブ信号に対応する複数のデータに少なくとも１つの遅延パラメータを設定できるようにするとよい。
【００２８】
例えば、メモリが８ビットのデータ幅を持つものである場合、メモリ制御装置１とメモリ装置（３０Ａ、３０Ｂ、３０Ｃ、３０Ｄ）の配置は、図５のようなものになる。メモリ制御装置１と夫々のメモリ装置（３０Ａ、３０Ｂ、３０Ｃ、３０Ｄ）との距離が異なるため、夫々の関係において異なる遅延パラメータ（、及び、遅延設定値）が設定できるようすることで、図７に示すＤＤＲ２−ＳＤＲＡＭの規格や、ＤＤＲ１−ＳＤＲＡＭの規格を満たすようにすることができる。図４に示す波形図は、メモリ出力信号のグループ毎に遅延値を設定した例であるといえる。複数の遅延パラメータは外部のＣＰＵ等から設定されるように構成されていることが好ましい。
【００２９】
なお、第１及び第２の実施形態に係るメモリ制御装置の説明で示した遅延設定は、クロック出力に対しても行うことができる。図５に示すような実装基板上の配置において、メモリ制御装置１から出力されたクロックを、一旦クロックバッファを介してメモリに供給する場合に、クロックの遅延値が大きくなっても対応できることになる。
【００３０】
［第３の実施形態］
図４に示す波形図（タイミング）では、遅延値が、メモリクロックの一周期分の範囲に到らなくてもよいことを示している。遅延（設定）値として要求される遅延がメモリクロックの半周期で十分であるならば、ＤＬＬ回路４に入力するクロックはクロックジェネレータ２で発生したメモリクロックの１／２の周期（即ち、２倍の周波数）でもよい。更に、遅延（設定）値として要求される遅延がメモリクロックの周期の１／Ｎ（Ｎは自然数）で十分であるならば、ＤＬＬ回路４に入力するクロックはクロックジェネレータ２で発生したメモリクロックの１／Ｎの周期（即ち、Ｎ倍の周波数）でもよい。
【００３１】
また、ダブルデータレート式のＳＤＲＡＭでは、ストローブ信号、データ、データマスク信号がメモリクロックの２倍の周波数で動作する。これらの信号の遅延素子（８ｃ、８ｄ）に接続されるフリップフロップ（１０ｃ、１０ｄ）を２倍の周波数で動作させるようにすると、遅延素子とフリップフロップとが１対１で接続されて動作する。そうすると、遅延素子とフリップフロップの間に、マルチプレクス等の遅延を発生してしまう回路を設ける必要が無くなるため、結果として遅延（設定）値の制御が正確となる。図３に示すクロックジェネレータの出力「ｃｌｋｍ×２＊（ｃｌｋｍ×２ｗ、ｃｌｋｍ×２ｗＯ１、ｃｌｋｍ×２ｗＯ１）」は、メモリクロックの２逓倍であることを表している。
【００３２】
［その他の実施形態］
ＤＤＲ１／ＤＤＲ２−ＳＤＲＡＭでは、ストローブ信号と、データ及びデータマスク信号は、図７に示すタイミング規格を満たさなければならない。したがって、図６及び図３に示すようにストローブ信号を駆動するクロック（ｃｌｋｍ×２ｗＯ１）と、データ及びデータマスク信号を駆動するクロック（ｃｌｋｍ×２ｗＯ２）とに、１８０度の位相差を付けて予め駆動クロック間ではタイミング（規格）を満たすようにしておけば、後は実装基板上の遅延による補正（即ち、上述の第１〜第３の実施形態による遅延設定）が容易になる。
【００３３】
図５に示すように、アドレスやコマンド（ＳＤＲＡＭのＲａｓ／Ｃａｓ／Ｗｅ信号）は全てのメモリに接続される信号である。ここで、図４に示す波形図（タイミング）のように、遅くともチップセレクト（Ｃｓ）信号がアクティブになる１サイクル前に、Ｒａｓ／Ｃａｓ／Ｗｅ信号を確定させると、実装基板上の遅延の影響を少なくすることが可能である。
【図面の簡単な説明】
【００３４】
【図１】本発明の第１の実施形態に係るメモリ制御装置のブロック図である。
【図２】遅延設定回路への入出力を中心に遅延設定回路の動作を示す波形図である。
【図３】本発明に係るメモリ制御装置を含む半導体装置のブロック図である。
【図４】メモリ出力信号のグループ毎に遅延値を設定した波形図の例である。
【図５】メモリ制御装置とメモリ装置）の配置図である。
【図６】クロックジェネレータの出力と、ストローブ信号出力と、データ出力信号の波形図である。
【図７】ＤＤＲ２−ＳＤＲＡＭにおけるライト（書き込み）側の規格の例であり、メモリクロック、ストローブ信号及びデータ出力信号に関するものである。
【図８】従来技術におけるメモリ制御用ＡＳＩＣの端子付近でのＳＤＲＡＭ波形のタイミング図（図８（ａ））と、メモリの端子付近での同波形のタイミング図（図８（ｂ））である。
【符号の説明】
【００３５】
１・・・メモリ制御装置、２・・・クロックジェネレータ、４・・・ＤＬＬ回路、６・・・遅延設定回路、８ａ、８ｂ、８ｃ、８ｄ・・・遅延素子、１０ａ、１０ｂ、１０ｃ、１０ｄ・・・フリップフロップ。
【図１】
2008071249.tif 000003
【図２】
2008071249.tif 000004
【図３】
2008071249.tif 000005
【図４】
2008071249.tif 000006
【図５】
2008071249.tif 000007
【図６】
2008071249.tif 000008
【図７】
2008071249.tif 000009
【図８】
2008071249.tif 000010