(57)【要約】  基準ディレイ値を測定するために遅延測定クロック信号を通過させるディレイラインと、メモリリード時にデータストローブ信号に所定のディレイを付加するためにデータストローブ信号を通過させるディレイラインを共通とし、遅延測定クロック信号とデータストローブ信号のいずれをディレイラインに入力させるかを、セレクタにより選択する。基準ディレイ値を測定するときに使用されていたデジタルデータと、データストローブ信号にディレイを付加するときに使用されていたデジタルデータを格納するデータ格納領域を設け、そのデータ格納領域の格納値に基づいて、メモリアクセスコントローラによりセレクタの切り替えを行う。
2008068851.tif 000002
【特許請求の範囲】
【請求項１】
メモリからデータを読み出す際にメモリインタフェースによるリードデータの取り込みタイミングをディレイさせるためのディレイ値を生成するデジタルＤＬＬ回路において、クロック信号とデータストローブ信号のいずれか一方を選択して出力するセレクタと、前記セレクタの出力信号が通過する際に該出力信号にディレイを付加するディレイラインと、前記クロック信号と前記ディレイラインの出力信号の位相を比較して、前記ディレイラインを通過する際に前記データストローブ信号に付加するディレイ量を決めるディレイ値を決定する位相比較・ディレイ値決定部と、を備えることを特徴とするデジタルＤＬＬ回路。
【請求項２】
前記クロック信号は、メモリに入力されるクロック信号の２倍以上の周波数を有する信号であることを特徴とする請求項１に記載のデジタルＤＬＬ回路。
【請求項３】
前記セレクタが前記クロック信号を選択している間、前記位相比較・ディレイ値決定部は、前記ディレイラインから出力されるクロック信号の位相に基づいて、前記ディレイ値の更新を行うことを特徴とする請求項１または２に記載のデジタルＤＬＬ回路。
【請求項４】
前記セレクタが前記データストローブ信号を選択している間、前記位相比較・ディレイ値決定部は、前記ディレイラインから出力されるデータストローブ信号の位相に基づいて、前記ディレイ値の更新を行うことを特徴とする請求項３に記載のデジタルＤＬＬ回路。
【請求項５】
前記ディレイラインから出力されるデータストローブ信号を用いてリードデータの取り込みが行われている間、前記位相比較・ディレイ値決定部は、前記ディレイ値の更新を行わないことを特徴とする請求項４に記載のデジタルＤＬＬ回路。
【請求項６】
前記位相比較・ディレイ値決定部は、前記ディレイラインから出力されるクロック信号の位相に基づいて、前記ディレイ値の更新を行う際の条件と、前記ディレイラインから出力されるデータストローブ信号の位相に基づいて、前記ディレイ値の更新を行う際の条件を、個別に設定するための手段を有することを特徴とする請求項４または５に記載のデジタルＤＬＬ回路。
【請求項７】
前記位相比較・ディレイ値決定部は、前記ディレイラインから出力されるクロック信号の位相に基づいて、前記ディレイ値の更新を行う際に使用するディレイ値と、前記ディレイラインから出力されるデータストローブ信号の位相に基づいて、前記ディレイ値の更新を行う際に使用するディレイ値を、それぞれ保持する手段を有することを特徴とする請求項４または５に記載のデジタルＤＬＬ回路。
【請求項８】
前記位相比較・ディレイ値決定部は、前記ディレイラインから出力されるクロック信号の位相に基づいて、前記ディレイ値の過不足を検出した回数と、前記ディレイラインから出力されるデータストローブ信号の位相に基づいて、前記ディレイ値の過不足を検出した回数の合計値と、前記ディレイ値の更新を行う際の条件とを比較して、前記ディレイ値を保持する手段に保持されている前記ディレイ値の更新を行う手段を有することを特徴とする請求項７に記載のデジタルＤＬＬ回路。
【請求項９】
前記位相比較・ディレイ値決定部は、前記ディレイ値を更新する際に、メモリコントローラに、更新が必要であることを割り込みで通知することを特徴とする請求項６に記載のデジタルＤＬＬ回路。
【請求項１０】
前記位相比較・ディレイ値決定部は、前記割り込みによりメモリアクセスが中断している間に、前記ディレイ値の更新を行うことを特徴とする請求項９に記載のデジタルＤＬＬ回路。
【請求項１１】
前記位相比較・ディレイ値決定部は、前記ディレイ値を更新する際に、メモリコントローラに、更新が必要であることを割り込みで通知することを特徴とする請求項８に記載のデジタルＤＬＬ回路。
【請求項１２】
前記位相比較・ディレイ値決定部は、前記割り込みによりメモリアクセスが中断している間に、前記ディレイ値の更新を行うことを特徴とする請求項１１に記載のデジタルＤＬＬ回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）回路に関するものである。
【背景技術】
【０００２】
近時、民生機器や高度な通信機器などの分野では、半導体メモリに対するインタフェースは、クロック信号と等倍の速さで動作するＳＤＲ（Ｓｉｎｇｌｅ  Ｄａｔａ  Ｒａｔｅ）方式から、クロック信号の倍速の速さで動作するＤＤＲ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ）方式に移行してきている。ＤＤＲ方式のメモリインタフェースでは、クロック信号の立ち上がりと立ち下がりの両エッジを利用してリードデータを取り込むので、データの確定部分にクロック信号の立ち上がりまたは立ち下がりのエッジを合わせるための厳密なディレイ付加回路が必要である。その厳密なディレイ付加回路の１つにデジタルＤＬＬ回路がある。【０００３】
図２３は、従来のデジタルＤＬＬ回路の構成を示す図である。図２３に示すように、従来のデジタルＤＬＬ回路は、基準ディレイ決定回路１とディレイ出力回路２を別々に備えている。基準ディレイ決定回路１は、ディレイラインユニット３の、信号が通過するディレイラインの数を変えながら、位相比較・基準ディレイ値決定回路４により、遅延測定対象であるクロック信号（以下、遅延測定クロック信号とする）がディレイラインユニット３を通過する前と通過した後の位相を比較し、基準ディレイ値を決定する。その基準ディレイ値は、デジタル化された所定の数ビットで表される値として、複数のディレイ出力回路２に渡される。【０００４】
ディレイ出力回路２は、基準ディレイ決定回路１から渡された基準ディレイ値と、外部から設定されたディレイ角度に基づいて、最終ディレイ値決定回路５により、最終的なディレイ値を決定し、その最終的なディレイ値をディレイ出力回路２のディレイラインユニット６に設定する。それによって、データリード時に、ディレイ出力回路２のディレイラインユニット６を通過したデータストローブ（ＤＱＳ）信号に、後述するように例えば９０度のディレイが付加される。【０００５】
図２４は、一般的な位相比較によるディレイ測定法の原理を説明する図であり、図２５は、ディレイ測定時の波形を示す図である。図２４に示すように、位相比較法では、ディレイラインユニット７の、遅延測定クロック信号が通過するディレイライン８の数を変えながら、位相比較回路９により、ディレイラインユニット７を通過していない遅延測定クロック信号の位相と、ディレイラインユニット７の通過により遅延させられた遅延測定クロック信号（以下、遅延クロック信号とする）の位相の比較が行われる。【０００６】
図２５に示すように、位相比較の結果、遅延測定クロック信号１１の１周期遅れた立ち上がりエッジにおいて、遅延クロック信号１２の値がＨ（ハイ）レベルであれば、ディレイが不足しており、遅延クロック信号１４の値がＬ（ロー）レベルであれば、ディレイが過多であることになる。ディレイが最適である場合には、遅延測定クロック信号１１の立ち上がりエッジが遅延クロック信号１３の変化点に重なる。【０００７】
位相比較回路が、フリップフロップにより、遅延測定クロック信号の立ち上がりエッジに同期して遅延クロック信号の状態をラッチし、そのときの遅延クロック信号の値を確認する回路構成である場合には、ディレイが最適になると、フリップフロップにラッチされた値が不定（ＨレベルまたはＬレベル）になってしまう。そのため、通常、ディレイラインの数を［ｍ−１］個、ｍ個および［ｍ＋１］個とした３通りについて、遅延測定クロック信号と遅延クロック信号の位相比較を行い、それより得られる３値に基づいて、ディレイを最適にするのに必要なディレイラインの数が求められる。【０００８】
図２６は、一般的なＤＤＲ方式のメモリインタフェースにおけるメモリリード時のタイムチャートを示す図である。デジタルＤＬＬ回路は、メモリから出力されるメモリアクセス信号であるデータストローブ信号に基づいてリードデータを取り込む際に、そのリードデータを確実に取り込むためにデータストローブ信号にディレイを付加するために使用される。理想的には、図２６に「データ出力」および「ＤＱＳの９０度位相ずらし後」として示すように、データストローブ信号に対して９０度分のディレイが付加されたタイミングが、データ確定領域の中心点となるので、望ましい。【０００９】
遅延測定クロック信号の１周期、つまり３６０度分のディレイを付加するために必要なディレイラインの数は、上述した位相比較等による測定によって求められている。データストローブ信号の周期は、遅延測定クロック信号の周期と同じであるので、データストローブ信号に９０度分のディレイを付加するための値は、遅延測定クロック信号に３６０度分のディレイを付加するための値の１／４となる。具体的には、例えば、３６０度のディレイを作るために２５６個のディレイラインが必要である場合、９０度のディレイを作るためには、その１／４である６４個のディレイラインが必要となる。【００１０】
また、ＤＤＲ方式のメモリインタフェースでは、データストローブ信号の位相が１８０度以上ずれると、データストローブ信号の次のエッジで取り込まれるデータ領域になってしまうので、データストローブ信号に１８０度以上のディレイが付加されることはない。従って、図２３に示すように、ディレイ出力回路２のディレイラインユニット６におけるディレイラインの数は、基準ディレイ決定回路１のディレイラインユニット３におけるディレイラインの数（３６０度分）の半分で足りる。【００１１】
ところで、基本クロックと同じ周期を有する複数の遅延クロックを生成するクロック生成回路が公知である。この遅延クロック生成回路は、基本クロックを順次遅延する縦続接続したｎ（ｎは２以上の整数）段の遅延回路と、ｎ段目の遅延回路による遅延クロックと基本クロックとの位相を比較する位相比較回路と、位相比較結果に基づいて、ｎ段目の遅延回路からの遅延クロックと基本クロックとの位相を同期させる遅延値を発生し、遅延値によってｎ段の遅延回路それぞれの遅延量を制御する遅延制御回路とを含む。【００１２】
【特許文献１】特開平８−３２１７５３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、従来のデジタルＤＬＬ回路では、基準ディレイ決定回路とディレイ出力回路が別々に設けられているため、次のような種々の問題が生じる。両回路で製造時のプロセス条件、または実際の使用時の温度や電圧の条件にばらつきが生じることがあり、基準ディレイ決定回路による遅延測定によって決定されたディレイをディレイ出力回路で正確に作ることができない。また、基準ディレイ決定回路とディレイ出力回路が別々にディレイラインを有するので、回路の規模が大きくなってしまう。さらに、ＤＬＬ回路の規模が大きいと、消費電力が多くなってしまう。また、ディレイ出力回路でデータストローブ信号にディレイを付加しているときに、そのディレイ値が更新されると、誤動作を起こす。【００１４】
本発明は、上記に鑑みてなされたものであって、正確にディレイを作ることができるデジタルＤＬＬ回路を提供することを目的とする。また、本発明は、回路規模を縮小し、消費電力を低減できるデジタルＤＬＬ回路を提供することを目的とする。さらに、本発明は、ディレイ値の更新による誤動作を回避できるデジタルＤＬＬ回路を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上述した課題を解決し、目的を達成するために、本発明は、基準ディレイ値を測定するために遅延測定対象である遅延測定クロック信号を通過させるディレイラインと、メモリリード時にメモリアクセス信号であるデータストローブ信号に所定のディレイを付加するためにデータストローブ信号を通過させるディレイラインを共通とし、そのディレイラインに遅延測定クロック信号またはデータストローブ信号を択一的に選択して入力させるセレクタを有することを特徴とする。また、基準ディレイ値を測定するディレイ測定モードと、データストローブ信号にディレイを付加するディレイ生成モードのそれぞれで使用されていたデジタルデータを格納するデータ格納領域を有し、そのデータ格納領域の格納値に基づいて、メモリアクセスコントローラによりセレクタの切り替えを行う。【００１６】
この発明によれば、基準ディレイ値の測定と、データストローブ信号に付加するディレイの生成を、同じディレイラインを用いて行うので、製造時のプロセス条件、または実際の使用時の温度や電圧の条件のばらつきがなくなる。また、基準ディレイ値の測定用と、データストローブ信号に付加するディレイの生成用に別々にディレイラインを設ける必要がないので、回路規模が小さくなり、消費電力も減る。さらに、データストローブ信号にディレイを付加するためにディレイラインが使用されている間は、同じディレイラインを用いて基準ディレイ値の測定を行うことができないので、データストローブ信号にディレイを付加しているときにディレイ値が変更されることがない。
【発明の効果】
【００１７】
本発明にかかるデジタルＤＬＬ回路は、正確にディレイを作ることができるという効果を奏する。また、回路規模の縮小と、低消費電力化を図ることができるという効果を奏する。さらに、ディレイ値の更新による誤動作を回避できるという効果を奏する。
【図面の簡単な説明】
【００１８】
【図１】図１は、本発明にかかるデジタルＤＬＬ回路の実施例の構成を示す図である。
【図２】図２は、本発明の実施例におけるディレイ値更新回路の構成を示す図である。
【図３】図３は、本発明の実施例における位相比較回路の構成を示す図である。
【図４】図４は、データストローブ信号によるディレイ測定時の波形を示す図である。
【図５】図５は、ディレイ値決定回路の構成を示す図である。
【図６】図６は、データ格納領域の構成を示す図である。
【図７】図７は、基準ディレイ値更新関連レジスタ群の構成を示す図である。
【図８】図８は、更新閾値設定レジスタの構成を示す図である。
【図９】図９は、更新結果継続実施設定レジスタの構成を示す図である。
【図１０】図１０は、更新発生および特定コード遷移発生レジスタの構成を示す図である。
【図１１】図１１は、更新発生および特定コード遷移発生マスクレジスタの構成を示す図である。
【図１２】図１２は、特定コード遷移割り込み設定レジスタの構成を示す図である。
【図１３】図１３は、更新方法選択レジスタの構成を示す図である。
【図１４】図１４は、更新有効期間設定レジスタの構成を示す図である。
【図１５】図１５は、更新カウンタリセット値設定レジスタの構成を示す図である。
【図１６】図１６は、実遅延量関連レジスタ群の構成を示す図である。
【図１７】図１７は、データストローブ信号遅延量設定レジスタの構成を示す図である。
【図１８】図１８は、本発明にかかるデジタルＤＬＬ回路のセットアップ処理手順を示すフローチャートである。
【図１９】図１９は、ＤＤＲ方式のメモリインタフェースの構成を示す図である。
【図２０】図２０は、ＤＤＲ方式のメモリインタフェースのメモリリード時のタイムチャートを示す図である。
【図２１】図２１は、本発明にかかるデジタルＤＬＬ回路の入力信号の切り替えタイミングを示す図である。
【図２２】図２２は、本発明にかかるデジタルＤＬＬ回路の基準ディレイ値更新処理手順を示すフローチャートである。
【図２３】図２３は、従来のデジタルＤＬＬ回路の構成を示す図である。
【図２４】図２４は、位相比較によるディレイ測定法の原理を説明する図である。
【図２５】図２５は、位相比較によるディレイ測定時の波形を示す図である。
【図２６】図２６は、ＤＤＲ方式のメモリインタフェースにおけるメモリリード時のタイムチャートを示す図である。
【符号の説明】
【００１９】
２１  セレクタ
２２，２３  ディレイライン
２４  位相比較・ディレイ値決定・データ格納部
７１  更新閾値設定レジスタ
７２  更新結果継続実施設定レジスタ
８４  データストローブ信号での遅延量測定時の設定遅延値格納レジスタ
８５  遅延測定クロック信号での遅延量測定時の設定遅延値格納レジスタ
【発明を実施するための最良の形態】
【００２０】
以下に、本発明にかかるデジタルＤＬＬ回路の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。【００２１】
（デジタルＤＬＬ回路の全体構成）
図１は、本発明にかかるデジタルＤＬＬ回路の実施例の構成を示す図である。図１に示すように、実施例のデジタルＤＬＬ回路は、例えば、セレクタ２１、ディレイライン２２，２３からなるディレイラインユニット、および位相比較・ディレイ値決定・データ格納部２４を備えている。セレクタ２１は、図示しないメモリアクセスコントローラから供給される入力選択信号に基づいて、ディレイ測定モードのときに遅延測定対象である遅延測定クロック信号を選択し、ディレイ生成モードのときにデータストローブ信号を選択する。【００２２】
ここで、ディレイ測定モードとは、基準ディレイ値の測定を行うモードであり、ディレイ生成モードとは、メモリアクセス時に、データストローブ信号に例えば９０度のディレイを付加するモードである。セレクタ２１により選択された信号は、ディレイライン２２，２３に入力される。ディレイライン２２，２３は、セレクタ２１の出力信号にディレイを付加した信号を位相比較・ディレイ値決定・データ格納部２４へ出力するとともに、ディレイ生成モード時に、データストローブ信号に所望のディレイが付加されたＤＱＳディレイ出力信号として、図示しないＤＤＲ方式のメモリインタフェースへ出力する。【００２３】
ディレイラインユニットの、セレクタ２１の出力信号が通過するディレイラインの数、すなわちセレクタ２１の出力信号に付加されるディレイは、位相比較・ディレイ値決定・データ格納部２４から出力されるディレイ値選択信号（ディレイ測定モード時）または決定ディレイ値設定信号（ディレイ生成モード時）により制御される。このように、実施例のデジタルＤＬＬ回路は、ディレイ測定モードおよびディレイ生成モードにおいて、同一のディレイライン２２，２３を用いる構成となっている。【００２４】
位相比較・ディレイ値決定・データ格納部２４には、ディレイ測定モード時に、ディレイライン２２，２３を通過していない遅延測定クロック信号と、ディレイライン２２，２３を通過した遅延クロック信号が入力される。位相比較・ディレイ値決定・データ格納部２４の位相比較回路は、ディレイ測定モード時には、遅延測定クロック信号の位相と遅延クロック信号の位相を比較する。その比較結果に基づいて、基準ディレイ値の決定または更新が行われる。【００２５】
その際のディレイ測定法については、図２４および図２５を参照しながら説明した従来の位相比較によるディレイ測定法と同じであるので、詳細な説明を省略する。基準ディレイ値の更新を行うための構成および方法の詳細については、後述する「（位相比較・ディレイ値決定・データ格納部の構成）」において説明する。【００２６】
また、位相比較・ディレイ値決定・データ格納部２４には、ディレイ生成モード時に、ディレイライン２２，２３を通過していない遅延測定クロック信号と、ディレイライン２２，２３の通過により遅延させられたデータストローブ信号（以下、遅延データストローブ信号とする）が入力される。位相比較・ディレイ値決定・データ格納部２４の位相比較回路は、ディレイ生成モード時に、遅延データストローブ信号の立ち下がりエッジと遅延測定クロック信号の立ち下がりエッジの位相を比較する。その比較結果に基づいて、ディレイ値の変動が検出され、基準ディレイ値が更新される。【００２７】
遅延データストローブ信号の立ち下がりエッジと遅延測定クロック信号の立ち下がりエッジの位相を比較する理由については、後述する。また、データストローブ信号に基づいて基準ディレイ値を更新するための構成および方法の詳細については、後述の「（位相比較・ディレイ値決定・データ格納部の構成）」において説明する。【００２８】
また、ディレイライン２２，２３には、外部からディレイ角度設定信号が入力される。位相比較・ディレイ値決定・データ格納部２４のディレイ値決定回路は、外部から設定されたディレイ角度と、位相比較回路による位相比較の結果、決定または更新された基準ディレイ値に基づいて、最終的なディレイ値を決定し、その決定したディレイ値をディレイライン２２，２３に設定する。【００２９】
位相比較・ディレイ値決定・データ格納部２４のデータ格納領域には、ディレイ測定モードとディレイ生成モードの切り替えを行うためにそれぞれのモードで使用されていたデジタルデータが格納される。位相比較・ディレイ値決定・データ格納部２４の位相比較回路、ディレイ値決定回路およびデータ格納領域のそれぞれの詳細については、後述する。【００３０】
（位相比較・ディレイ値決定・データ格納部の構成）
図２は、本発明の実施例において位相比較後に基準ディレイ値を更新する回路の構成を示す図である。図２に示すように、基準ディレイ値を更新する回路（以下、ディレイ値更新回路とする）３０は、例えば、位相比較回路３１、アップカウンタ３２、ダウンカウンタ３３および更新比較部３４を備えている。ディレイ値更新回路３０は、位相比較・ディレイ値決定・データ格納部２４に含まれている。【００３１】
位相比較回路３１には、ディレイ測定モード時に、遅延測定クロック信号と遅延クロック信号が入力され、ディレイ生成モード時に、遅延測定クロック信号と遅延データストローブ信号が入力される。位相比較回路３１は、遅延測定クロック信号の位相と遅延クロック信号の位相、または遅延データストローブ信号の立ち下がりエッジの位相と遅延測定クロック信号の立ち下がりエッジの位相を比較した結果、ディレイが不足している場合には、アップカウンタ３２へ供給するアップカウンタ起動信号をアサートし、ディレイが過多である場合には、ダウンカウンタ３３へ供給するダウンカウンタ起動信号をアサートする。【００３２】
アップカウンタ３２およびダウンカウンタ３３は、それぞれ、アップカウンタ起動信号およびダウンカウンタ起動信号がアサートされると、カウントアップする。アップカウンタ３２およびダウンカウンタ３３のそれぞれのカウンタ値は、更新比較部３４に供給される。更新比較部３４は、アップカウンタ３２およびダウンカウンタ３３のそれぞれのカウンタ値と閾値を比較する。【００３３】
アップカウンタ３２のカウンタ値が閾値を超えると、更新比較部３４は、図示しないメモリコントローラに対して、ディレイを増やすように基準ディレイ値を更新するための更新通知および割り込みの発生を行う。ダウンカウンタ３３のカウンタ値が閾値を超えた場合は、更新比較部３４は、ディレイを減らすように基準ディレイ値を更新するための更新通知および割り込みの発生を行う。【００３４】
また、更新比較部３４は、割り込みの発生とともに、アップカウンタ３２およびダウンカウンタ３３にカウンタクリア信号を出力し、各カウンタ３２，３３の値を初期値に戻す。ただし、リードコマンドでデータストローブ信号を使用している場合には、そのデータストローブ信号にディレイを付加して遅延させているため、リードコマンドが終了してから基準ディレイ値の更新が行われる。【００３５】
ここで、閾値は、ユーザにより任意に定められる。閾値は、外部から入力される更新閾値設定信号に基づいて設定される。例えば、変化に対してできるだけ迅速に制御を行うために、アップカウンタ３２またはダウンカウンタ３３のカウンタ値が８になったら、基準ディレイ値を更新し、新しいディレイライン数に更新するようにしてもよい。あるいは、環境的に大きく変化する構成ではない場合などでは、アップカウンタ３２またはダウンカウンタ３３が連続して１０２４回カウントアップしたら、基準ディレイ値を更新し、新しいディレイライン数に更新するようにしてもよい。【００３６】
なお、ディレイ値更新回路３０は、図２の構成に限らない。また、アップカウンタ３２およびダウンカウンタ３３を、期間を制限しないでカウントを続けるようにしたり、ある一定期間内でカウントを行うようにすることができる。また、アップカウンタ３２が所定回数カウントアップしたときに、ダウンカウンタ３３のカウンタ値を初期値に戻し、ダウンカウンタ３３が所定回数カウントアップしたときに、アップカウンタ３２のカウンタ値を初期値に戻すようにしたり、いずれのカウンタも他方のカウンタがカウントアップしたときに初期値に戻らないようにすることもできる。後述する各種レジスタの設定によりいずれの構成も選択できる。【００３７】
さらに、アップカウンタ３２とダウンカウンタ３３を共通のカウンタで構成してもよい。この場合、アップカウンタ起動信号が連続してアサートされている間はカウントアップを続け、ダウンカウンタ起動信号がアサートされたらカウンタ値を初期化してカウントアップを再開し、ダウンカウンタ起動信号が連続してアサートされている間カウントアップを続け、アップカウンタ起動信号がアサートされたらカウンタ値を初期化してカウントアップを再開するという構成にしてもよい。【００３８】
図３は、位相比較回路の構成を示す図である。図３に示すように、位相比較回路３１は、例えば、３個のフリップフロップ３５，３６，３７と位相比較器３８を備えている。３個のフリップフロップ３５，３６，３７は、遅延測定クロック信号に同期して、入力信号をラッチし、そのラッチした信号を位相比較器３８へ出力する。従来同様、位相比較回路３１には、遅延クロック信号または遅延データストローブ信号として、あるディレイ値でディレイさせた信号と、そのディレイ値よりも１小さい値でディレイさせた信号と、１大きい値でディレイさせた信号が入力される。【００３９】
あるディレイ値よりも１小さい値でディレイさせた信号は、第１のフリップフロップ３５に入力される。あるディレイ値でディレイさせた信号は、第２のフリップフロップ３６に入力される。あるディレイ値よりも１大きい値でディレイさせた信号は、第３のフリップフロップ３７に入力される。３個のフリップフロップ３５，３６，３７への入力信号が遅延クロック信号である場合には、次のようになる。３個のフリップフロップ３５，３６，３７への入力信号は、ディレイが不足している場合には、すべてＨ（ハイ）レベルとなり、ディレイが過多である場合には、すべてＬ（ロー）レベルとなる（図２５参照）。【００４０】
また、ディレイが最適である場合には、第１のフリップフロップ３５および第３のフリップフロップ３７への入力信号が、それぞれ、Ｈ（ハイ）レベルおよびＬ（ロー）レベルとなり、第２のフリップフロップ３６への入力信号が不定となる（図２５参照）。位相比較器３８は、３個のフリップフロップ３５，３６，３７の出力信号がすべてＨ（ハイ）レベルである場合には、アップカウンタ起動信号をアサートし、すべてＬ（ロー）レベルであれば、ダウンカウンタ起動信号をアサートし、それ以外の場合には、いずれのカウンタ起動信号もアサートしないような論理構成となっている。【００４１】
一方、３個のフリップフロップ３５，３６，３７への入力信号が遅延データストローブ信号である場合には、次のようになる。図４は、データストローブ信号によるディレイ測定時の波形を示す図である。図４に示すように、データストローブ信号の半周期は、遅延測定クロック信号の１周期に等しい。そして、ディレイ値がずれていなければ、遅延データストローブ信号の立ち下がりエッジは、遅延測定クロック信号の立ち下がりエッジに１つおきに一致する。【００４２】
遅延データストローブ信号の立ち下がりエッジの位相を遅延測定クロック信号の立ち下がりエッジの位相と比較した結果、遅延データストローブ信号４２の値がＬ（ロー）レベルであれば、ディレイが不足しており、遅延データストローブ信号４４の値がＨ（ハイ）レベルであれば、ディレイが過多である。ディレイが最適である場合には、遅延測定クロック信号４１の立ち下がりエッジが遅延データストローブ信号４３の変化点と重なり、遅延データストローブ信号４３の値は不定となる。【００４３】
従って、図３に示す位相比較回路３１において、３個のフリップフロップ３５，３６，３７への入力信号は、ディレイが不足している場合には、すべてＬ（ロー）レベルとなり、ディレイが過多である場合には、すべてＨ（ハイ）レベルとなる。また、ディレイが最適である場合には、第１のフリップフロップ３５および第３のフリップフロップ３７への入力信号が、それぞれ、Ｌ（ロー）レベルおよびＨ（ハイ）レベルとなり、第２のフリップフロップ３６への入力信号が不定となる。【００４４】
そのため、遅延データストローブ信号が入力される場合の位相比較器３８の論理は、遅延クロック信号が入力される場合の逆になる。位相比較器３８は、例えば、セレクタ２１への入力選択信号によって、遅延クロック信号が入力される場合の論理と、遅延データストローブ信号が入力される場合の論理が反転される構成となっている。例えば、遅延クロック信号は、３個のフリップフロップ３５，３６，３７から位相比較器３８にそのまま入力される。遅延データストローブ信号は、３個のフリップフロップ３５，３６，３７からインバータを介して位相比較器３８に入力される。【００４５】
このように、データストローブ信号に基づいて基準ディレイ値を更新できる構成となっていることによって、最大バースト長のリードが連続的に実行されていき、それによって、基準ディレイ値の更新を行うための時間が減ってしまう場合でも、基準ディレイ値の微調整を行うことができる。また、ＤＤＲ２方式では、Ｐｏｓｔｅｄ  ＣＡＳ動作によりデータリードを連続して行うことができるが、この場合には、更新比較部３４の割り込み発生により、メモリコントローラにＰｏｓｔｅｄ  ＣＡＳ動作を一旦停止させ、その間に基準ディレイ値の更新が行われる。【００４６】
なお、遅延測定クロック信号に基づく基準ディレイ値の更新条件とデータストローブ信号に基づく基準ディレイ値の更新条件を別々に管理し、それぞれの更新条件に基づく基準ディレイ値の更新を独立して行う構成としてもよい。あるいは、両更新条件を合算して基準ディレイ値の更新を行う構成としてもよい。後述する各種レジスタの設定によりいずれの構成も選択できる。【００４７】
図５は、ディレイ値決定回路の構成を示す図である。図５に示すように、ディレイ値決定５１は、乗算器５２を備えている。乗算器５２は、外部から設定されるディレイ角度と、基準ディレイ値の乗算を行い、その演算結果を、データストローブ信号に加算する最終的なディレイ値として出力する。【００４８】
図６は、データ格納領域の構成を示す図である。図６に示すように、データ格納領域は、レジスタ制御インタフェース回路６１とレジスタ群６２を備えている。レジスタ制御インタフェース回路６１は、内部のレジスタアクセス信号に基づいて、レジスタ群６２にアドレス信号とリード制御信号を出力し、レジスタ群６２から該当するデータを読み出す。また、レジスタ制御インタフェース回路６１は、レジスタ群６２にアドレス信号とレジスタ群６２に書き込むデータとライト制御信号を出力する。レジスタ群６２には、後述する基準ディレイ値更新関連レジスタ群および実遅延量関連レジスタ群が含まれている。【００４９】
図７は、基準ディレイ値更新関連レジスタ群の構成を示す図である。図７に示すように、基準ディレイ値更新関連レジスタ群６３は、更新閾値設定レジスタ７１、更新結果継続実施設定レジスタ７２、更新発生および特定コード遷移発生レジスタ７３、更新発生および特定コード遷移発生マスクレジスタ７４、特定コード遷移割り込み設定レジスタ７５、更新方法選択レジスタ７６、更新有効期間設定レジスタ７７および更新カウンタリセット値設定レジスタ７８を備えている。【００５０】
図８は、更新閾値設定レジスタの構成を示す図である。更新閾値設定レジスタ７１は、基準ディレイ値の更新に関する閾値を設定するレジスタであり、アップカウンタ３２またはダウンカウンタ３３の更新が何回発生したら、基準ディレイ値の更新を行うかということを決める。例えば、基準ディレイ値の更新を行う際のカウンタの更新回数を２の［４＋更新閾値設定値］乗にすると、更新閾値が「０ｈ」である場合には、アップカウンタ３２またはダウンカウンタ３３が２の４乗回、すなわち１６回更新されると、基準ディレイ値が更新される。【００５１】
また、例えば、更新閾値が「ｆｆｈ」である場合には、アップカウンタ３２またはダウンカウンタ３３が２の［４＋１５］乗回、すなわち５２４２８８回更新されると、基準ディレイ値が更新される。更新閾値設定レジスタ７１は、遅延測定クロック信号での更新用とデータストローブ信号での更新用に２個設けられており、前述したように、遅延測定クロック信号での更新条件とデータストローブ信号での更新条件を合算して基準ディレイ値の更新を行う構成の場合には、遅延測定クロック信号での更新用のレジスタとデータストローブ信号での更新用のレジスタの両方に同じ値が設定される。【００５２】
図９は、更新結果継続実施設定レジスタの構成を示す図である。更新結果継続実施設定レジスタ７２は、基準ディレイ値の更新に関して、データストローブ信号でのディレイ値測定によるカウンタ値と遅延測定クロック信号でのディレイ値測定によるカウンタ値を合算して閾値との比較を行うか否かを設定するレジスタである。例えば、更新結果継続実施設定レジスタ７２のビット０の値が「１」であれば、合算して比較を行い、「０」であれば、合算しないで、それぞれの信号でのディレイ値測定によるカウンタ値が閾値を超える場合に基準ディレイ値の更新を行う。【００５３】
図１０は、更新発生および特定コード遷移発生レジスタの構成を示す図である。更新発生および特定コード遷移発生レジスタ７３は、コードの更新（基準ディレイ値の更新）または特定コードへの遷移（特定のディレイ値への遷移）が発生したことを通知するレジスタである。例えば、更新発生および特定コード遷移発生レジスタ７３のビット０がコード更新の発生を示し、ビット１が特定コードへの遷移の発生を示す。いずれも、それぞれの事象が発生すると、該当するビットの値が「１」に設定される。【００５４】
図１１は、更新発生および特定コード遷移発生マスクレジスタの構成を示す図である。更新発生および特定コード遷移発生マスクレジスタ７４は、更新発生および特定コード遷移発生レジスタ７３と同じビット配列の割り込みマスクレジスタである。例えば、更新発生および特定コード遷移発生マスクレジスタ７４の該当するビットの値が「１」である場合には、コードの更新または特定コードへの遷移が発生しても、割り込みがマスクされるので、割り込みが発生しない。【００５５】
図１２は、特定コード遷移割り込み設定レジスタの構成を示す図である。特定コード遷移割り込み設定レジスタ７５は、特定コードへの遷移が発生する際のその特定コードを設定するレジスタである。特定コード遷移割り込み設定レジスタ７５に設定された値にコードが遷移すると、更新発生および特定コード遷移発生レジスタ７３のコード遷移発生ビット（ビット１）の値が「１」になる。【００５６】
図１３は、更新方法選択レジスタの構成を示す図である。更新方法選択レジスタ７６は、基準ディレイ値の更新方法に関する設定を行うレジスタである。更新方法選択レジスタ７６のビット０は、基準ディレイ値の更新を行う場合のアップカウンタ３２およびダウンカウンタ３３の有効期間の有無を設定するビットであり、その値が「１」であれば、有効期間ありを示し、「０」であれば、有効期間なしを示す。有効期間ありの場合には、後述する更新有効期間設定レジスタ７７に設定されている有効期間にアップカウンタ３２またはダウンカウンタ３３のカウンタ値が更新閾値まで達しなければ、基準ディレイ値は更新されず、更新有効期間の満了後にアップカウンタ３２およびダウンカウンタ３３は、一旦、リセットされる。【００５７】
更新方法選択レジスタ７６のビット１は、アップカウンタ３２およびダウンカウンタ３３のカウント方法を決定するビットであり、その値が「１」であれば、両カウンタ３２，３３のカウントを別々に行い、「０」であれば、両カウンタ３２，３３のカウンタ値を差し引きする。更新方法選択レジスタ７６のビット２は、アップカウンタ３２およびダウンカウンタ３３のカウンタリセットを設定するビットであり、その値が「１」であれば、アップカウンタ３２の更新時にダウンカウンタ３３をリセットし、ダウンカウンタ３３の更新時にアップカウンタ３２をリセットすることを示す。【００５８】
このようなリセットを行う場合、一方のカウンタをリセットするまでの他方のカウンタの更新回数は、後述する更新カウンタリセット値設定レジスタ７８により設定される。更新方法選択レジスタ７６のビット２の値が「０」であれば、一方のカウンタが更新されても他方のカウンタはリセットされない。【００５９】
図１４は、更新有効期間設定レジスタの構成を示す図である。更新有効期間設定レジスタ７７は、アップカウンタ３２およびダウンカウンタ３３の更新を行う有効期間を設定する。例えば、基準ディレイ値を更新するための閾値とのバランスを考慮すると、有効期間は、２の［６＋更新有効期間設定値］などである。【００６０】
図１５は、更新カウンタリセット値設定レジスタの構成を示す図である。更新カウンタリセット値設定レジスタ７８は、一方のカウンタをリセットするまでの他方のカウンタの更新回数を設定する。アップカウンタ３２が、更新カウンタリセット値設定レジスタ７８の設定値に１を加算した回数だけ更新されたら、ダウンカウンタ３３がリセットされる。また、ダウンカウンタ３３が、更新カウンタリセット値設定レジスタ７８の設定値に１を加算した回数だけ更新されたら、アップカウンタ３２がリセットされる。【００６１】
図１６は、実遅延量関連レジスタ群の構成を示す図である。図１６に示すように、実遅延量関連レジスタ群６４は、データストローブ信号遅延量設定レジスタ８１、基準ディレイ値格納レジスタ８２、実遅延量格納レジスタ８３、データストローブ信号での遅延量測定時の設定遅延値格納レジスタ８４および遅延測定クロック信号での遅延量測定時の設定遅延値格納レジスタ８５を備えている。【００６２】
図１７は、データストローブ信号遅延量設定レジスタの構成を示す図である。データストローブ信号遅延量設定レジスタ８１は、基準ディレイ値に基づいてデータストローブ信号の遅延量を設定するレジスタである。例えば、［データストローブ信号の遅延量＝基準ディレイ値×遅延量設定値÷３２］の式で表される遅延量がデータストローブ信号に加算される。【００６３】
例えば、データストローブ信号に、基準ディレイ値の半分、すなわちＤＤＲ方式のメモリインタフェースのクロック信号の１／４周期（９０度に相当）の遅延量を加算する場合には、データストローブ信号遅延量設定レジスタ８１に「０ｆｈ」が設定される。データストローブ信号に加算される遅延量が前記式によって決まる場合には、ＤＤＲ方式のメモリインタフェースのクロック信号に対して５．６２５度相当の刻みで遅延量を設定することができる。【００６４】
基準ディレイ値格納レジスタ８２は、基準ディレイ値を格納するレジスタである。実遅延量格納レジスタ８３は、実際の遅延量を格納するレジスタである。データストローブ信号での遅延量測定時の設定遅延値格納レジスタ８４は、データストローブ信号でのディレイ測定時に設定される遅延値を格納するレジスタである。遅延測定クロック信号での遅延量測定時の設定遅延値格納レジスタ８５は、遅延測定クロック信号でのディレイ測定時に設定される遅延値を格納するレジスタである。【００６５】
基準ディレイ値格納レジスタ８２、実遅延量格納レジスタ８３、データストローブ信号での遅延量測定時の設定遅延値格納レジスタ８４および遅延測定クロック信号での遅延量測定時の設定遅延値格納レジスタ８５は、内部レジスタである。従って、それらのレジスタに対して、ユーザが値を書き込んだり、値を読み出すことはない。【００６６】
（セットアップ処理手順）
図１８は、本発明にかかるデジタルＤＬＬ回路のセットアップ処理手順を示すフローチャートである。図１８に示すように、セットアップ処理が開始されると、まず、前記レジスタ群６２に含まれる各種レジスタの初期設定を行う（ステップＳ１）。次いで、デジタルＤＬＬ回路のリセットを解除する（ステップＳ２）。次いで、遅延測定クロック信号でのディレイ測定により、基準ディレイ値を算出する（ステップＳ３）。次いで、ステップＳ３で算出された基準ディレイ値に基づいて、データストローブ信号に付加するディレイ値の算出を行い、算出が終了したか否かを判断する（ステップＳ４）。【００６７】
ディレイ値の算出が終了していなければ（ステップＳ４：Ｎｏ）、算出終了まで待機し、算出が終了したら（ステップＳ４：Ｙｅｓ）、メモリのセットアップを開始する（ステップＳ５）。ここまでは、デジタルＤＬＬ回路に遅延測定クロック信号が入力される。次いで、デジタルＤＬＬ回路にデータストローブ信号を入力し、データストローブ信号でのディレイ測定により、基準ディレイ値を算出する（ステップＳ６）。次いで、ステップＳ６で算出された基準ディレイ値に基づいて、データストローブ信号に付加する最終的なディレイ値の算出を行い、算出が終了したか否かを判断する（ステップＳ７）。【００６８】
ディレイ値の算出が終了していなければ（ステップＳ７：Ｎｏ）、算出終了まで待機する。これは、遅延測定クロック信号でのディレイ測定により得られたディレイ値と、データストローブ信号でのディレイ測定により得られたディレイ値が一致することを確認するためである。ステップＳ７でディレイ値の算出が終了したら（ステップＳ７：Ｙｅｓ）、ロックが完了し、実際にデータストローブ信号にディレイを付加してメモリアクセスを開始できる状態となる。また、メモリアクセスの合間に遅延測定クロック信号でのディレイ測定によるディレイ値の更新、メモリアクセス中のデータストローブ信号でのディレイ測定によるディレイ値の更新、ディレイ値の更新のための割り込みおよび更新通知を随時、実行できる状態となり（ステップＳ８）、セットアップシーケンスを終了する。【００６９】
ここで、ステップＳ５までＤＬＬ回路に入力される遅延測定クロック信号は、実際にＤＤＲ方式のメモリインタフェースに接続されるメモリに入力されるクロック信号の２倍以上の周波数を有する。これについて説明する。図１９は、ＤＤＲ方式のメモリインタフェースのデータ出力部およびコマンド出力部の構成を示す図である。また、図２０は、ＤＤＲ方式のメモリインタフェースのメモリリード時のタイムチャートを示す図である。【００７０】
図１９に示すように、メモリインタフェースのクロック生成ブロック９１、コマンド生成ブロック９２および出力データ生成ブロック９３から出力された信号は、それぞれ、遅延測定クロック信号に同期して動作するフリップフロップ９４、フリップフロップ群９５および別のフリップフロップ群９６にラッチされる。そして、それらの出力信号は、クロック信号（ＤＤＲ−ＩＦ  ＣＬＫ）、コマンドアドレス（ＤＤＲ−ＩＦ  コマンドアドレス）およびデータ（ＤＤＲ−ＩＦ  データ）として、図示しないメモリへ出力される。従って、図２０に示すように、遅延測定クロック信号は、メモリに入力されるクロック信号（ＤＤＲ−ＩＦ  ＣＬＫ）の２倍の周波数を有し、通常、メモリインタフェースで使用されているクロック信号であるので、本実施例において特別に生成されるものではない。【００７１】
また、遅延測定クロック信号が、メモリに入力されるクロック信号の２倍の周波数を有することにより、遅延測定クロック信号の周期は、従来のデジタルＤＬＬ回路で使用されているクロック信号の周期の１／２となるので、必要となるディレイライン数が従来の半分で済む。従って、ディレイ測定モードで必要なディレイライン数と、ディレイ生成モードで必要なディレイライン数が同じになるので、ディレイ測定モードとディレイ生成モードで同一のディレイラインユニットを時分割で用いることができる。また、メモリに入力されるクロック信号の周期の９０度位相分を計算する際に、従来、３６０度の位相分に要するディレイライン数の１／４のディレイライン数としていたのを、実施例では、１／２のディレイライン数として換算する。【００７２】
（メモリリード時の入力信号の切り替えタイミング）
図２１は、本発明にかかるデジタルＤＬＬ回路の入力信号の切り替えタイミングを示す図である。図２１に示すように、遅延測定クロック信号での基準ディレイ値の測定終了後に、データストローブ信号が入力されて、データストローブ信号に付加するディレイが生成される。その際、デジタルＤＬＬ回路にデータストローブ信号が入力されるのは、リードコマンドが出力されてからＣＡＳ（Ｃｏｌｕｍｎ  Ａｄｄｒｅｓｓ  Ｓｔｒｏｂｅ）レイテンシが経過した後になる。【００７３】
従って、リードコマンドの出力後、ＣＡＳレイテンシが経過するまでの間に、メモリインタフェースが入力切り替え信号を発生し、デジタルＤＬＬ回路への入力信号を、遅延測定クロック信号からデータストローブ信号に切り替えればよい。また、その入力信号の切り替えと同時に、位相比較・ディレイ値決定・データ格納部２４の位相比較回路３１が遅延測定クロック信号の位相と遅延クロック信号の位相を比較する動作を行わないようにする。また、バースト長に基づいてリードアクセス終了が認識され、入力信号がデータストローブ信号から遅延測定クロック信号に切り替えられる。【００７４】
（基準ディレイ値更新処理手順）
図２２は、本発明にかかるデジタルＤＬＬ回路の基準ディレイ値更新処理手順を示すフローチャートである。図２２に示すように、基準ディレイ値更新処理が開始されると、まず、前記更新方法選択レジスタ７６のビット０を参照して、更新期間、すなわちアップカウンタ３２およびダウンカウンタ３３を更新する際の有効期間が設定されているか否かを判断する（ステップＳ１１）。【００７５】
更新期間が設定されていれば（ステップＳ１１：Ｙｅｓ）、前記更新有効期間設定レジスタ７７を参照して、その更新期間が満了しているか否かを判断する（ステップＳ１２）。更新期間が満了してれば（ステップＳ１２：Ｙｅｓ）、アップカウンタ３２およびダウンカウンタ３３のカウンタ値を初期値に戻し（ステップＳ１３）、ステップＳ１１に戻る。ステップＳ１１で、更新期間が設定されていない場合（ステップＳ１１：Ｎｏ）、または、ステップＳ１２で、更新期間が満了していない場合（ステップＳ１２：Ｎｏ）、前記位相比較器３８から出力されるカウンタ起動信号によるカウンタ更新要求の有無を判断する（ステップＳ１４）。【００７６】
アップカウンタ起動信号およびダウンカウンタ起動信号のいずれもアサートされていなければ（ステップＳ１４：Ｎｏ）、ステップＳ１１に戻る。いずれかのカウンタの起動信号がアサートされていれば（ステップＳ１４：Ｙｅｓ）、その起動信号がアサートされている側のカウンタを更新する（ステップＳ１５）。そして、前記更新閾値設定レジスタ７１および更新結果継続実施設定レジスタ７２を参照し、基準ディレイ値を更新する条件（ディレイ更新条件）が成立するか否か、すなわちアップカウンタ３２またはダウンカウンタ３３のいずれかのカウンタ値が閾値に達するか否かを判断する（ステップＳ１６）。【００７７】
閾値に達する場合（ステップＳ１６：Ｙｅｓ）、基準ディレイ値を更新し（ステップＳ１７）、アップカウンタ３２およびダウンカウンタ３３をリセットして、それぞれのカウンタ値を初期値に戻す（ステップＳ１８）。そして、ステップＳ１１に戻る。一方、ステップＳ１６で、ディレイ更新条件が成立しない場合（ステップＳ１６：Ｎｏ）、更新方法選択レジスタ７６のビット２を参照し、アップカウンタ３２またはダウンカウンタ３３を更新したときに未更新側のカウンタをリセットするように設定されているか否かを判断する（ステップＳ１９）。【００７８】
設定されている場合（ステップＳ１９：Ｙｅｓ）、更新カウンタリセット値設定レジスタ７８を参照し、未更新側のカウンタをリセットする条件が成立するか否か、すなわち更新された側のカウンタの更新回数が所定数になったか否かを判断する（ステップＳ２０）。所定回数の更新が行われている場合（ステップＳ２０：Ｙｅｓ）、未更新側のカウンタをリセットして、そのカウンタ値を初期値に戻し（ステップＳ２１）、ステップＳ１１に戻る。ステップＳ１９で、未更新側のカウンタをリセットするように設定されていない場合（ステップＳ１９：Ｎｏ）、または、ステップＳ２０で、更新された側のカウンタの更新回数が足りない場合（ステップＳ２０：Ｎｏ）、ステップＳ１１に戻る。【００７９】
以上説明したように、実施例によれば、基準ディレイ値の測定と、データストローブ信号に付加するディレイの生成を、同じディレイライン２２，２３を用いて行うので、製造時のプロセス条件、または実際の使用時の温度や電圧の条件のばらつきがなくなる。従って、正確にディレイを作ることができる。また、基準ディレイ値の測定用と、データストローブ信号に付加するディレイの生成用に別々にディレイラインを設ける必要がないので、回路規模が小さくなり、消費電力も減る。従って、回路規模の縮小と、低消費電力化を図ることができる。さらに、データストローブ信号にディレイを付加するためにディレイライン２２，２３が使用されている間は、同じディレイライン２２，２３を用いて基準ディレイ値の測定を行うことができないので、データストローブ信号にディレイを付加しているときにディレイ値が変更されることがない。従って、ディレイ値の更新による誤動作を回避できる。
【産業上の利用可能性】
【００８０】
以上のように、本発明にかかるデジタルＤＬＬ回路は、高速メモリインタフェースを備えた機器に有用であり、特に、ＤＤＲ方式などの高速メモリインタフェースを備えた民生機器や高度な通信機器などに適している。
【図１】
2008068851.tif 000003
【図２】
2008068851.tif 000004
【図３】
2008068851.tif 000005
【図４】
2008068851.tif 000006
【図５】
2008068851.tif 000007
【図６】
2008068851.tif 000008
【図７】
2008068851.tif 000009
【図８】
2008068851.tif 000010
【図９】
2008068851.tif 000011
【図１０】
2008068851.tif 000012
【図１１】
2008068851.tif 000013
【図１２】
2008068851.tif 000014
【図１３】
2008068851.tif 000015
【図１４】
2008068851.tif 000016
【図１５】
2008068851.tif 000017
【図１６】
2008068851.tif 000018
【図１７】
2008068851.tif 000019
【図１８】
2008068851.tif 000020
【図１９】
2008068851.tif 000021
【図２０】
2008068851.tif 000022
【図２１】
2008068851.tif 000023
【図２２】
2008068851.tif 000024
【図２３】
2008068851.tif 000025
【図２４】
2008068851.tif 000026
【図２５】
2008068851.tif 000027
【図２６】
2008068851.tif 000028
【手続補正書】
【提出日】平成21年2月12日(2009.2.12)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）回路に関するものである。
【背景技術】
【０００２】
近時、民生機器や高度な通信機器などの分野では、半導体メモリに対するインタフェースは、クロック信号と等倍の速さで動作するＳＤＲ（Ｓｉｎｇｌｅ  Ｄａｔａ  Ｒａｔｅ）方式から、クロック信号の倍速の速さで動作するＤＤＲ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ）方式に移行してきている。ＤＤＲ方式のメモリインタフェースでは、クロック信号の立ち上がりと立ち下がりの両エッジを利用してリードデータを取り込むので、データの確定部分にクロック信号の立ち上がりまたは立ち下がりのエッジを合わせるための厳密なディレイ付加回路が必要である。その厳密なディレイ付加回路の１つにデジタルＤＬＬ回路がある。
【０００３】
図２３は、従来のデジタルＤＬＬ回路の構成を示す図である。図２３に示すように、従来のデジタルＤＬＬ回路は、基準ディレイ決定回路１とディレイ出力回路２を別々に備えている。基準ディレイ決定回路１は、ディレイラインユニット３の、信号が通過するディレイラインの数を変えながら、位相比較・基準ディレイ値決定回路４により、遅延測定対象であるクロック信号（以下、遅延測定クロック信号とする）がディレイラインユニット３を通過する前と通過した後の位相を比較し、基準ディレイ値を決定する。その基準ディレイ値は、デジタル化された所定の数ビットで表される値として、複数のディレイ出力回路２に渡される。
【０００４】
ディレイ出力回路２は、基準ディレイ決定回路１から渡された基準ディレイ値と、外部から設定されたディレイ角度に基づいて、最終ディレイ値決定回路５により、最終的なディレイ値を決定し、その最終的なディレイ値をディレイ出力回路２のディレイラインユニット６に設定する。それによって、データリード時に、ディレイ出力回路２のディレイラインユニット６を通過したデータストローブ（ＤＱＳ）信号に、後述するように例えば９０度のディレイが付加される。
【０００５】
図２４は、一般的な位相比較によるディレイ測定法の原理を説明する図であり、図２５は、ディレイ測定時の波形を示す図である。図２４に示すように、位相比較法では、ディレイラインユニット７の、遅延測定クロック信号が通過するディレイライン８の数を変えながら、位相比較回路９により、ディレイラインユニット７を通過していない遅延測定クロック信号の位相と、ディレイラインユニット７の通過により遅延させられた遅延測定クロック信号（以下、遅延クロック信号とする）の位相の比較が行われる。
【０００６】
図２５に示すように、位相比較の結果、遅延測定クロック信号１１の１周期遅れた立ち上がりエッジにおいて、遅延クロック信号１２の値がＨ（ハイ）レベルであれば、ディレイが不足しており、遅延クロック信号１４の値がＬ（ロー）レベルであれば、ディレイが過多であることになる。ディレイが最適である場合には、遅延測定クロック信号１１の立ち上がりエッジが遅延クロック信号１３の変化点に重なる。
【０００７】
位相比較回路が、フリップフロップにより、遅延測定クロック信号の立ち上がりエッジに同期して遅延クロック信号の状態をラッチし、そのときの遅延クロック信号の値を確認する回路構成である場合には、ディレイが最適になると、フリップフロップにラッチされた値が不定（ＨレベルまたはＬレベル）になってしまう。そのため、通常、ディレイラインの数を［ｍ−１］個、ｍ個および［ｍ＋１］個とした３通りについて、遅延測定クロック信号と遅延クロック信号の位相比較を行い、それより得られる３値に基づいて、ディレイを最適にするのに必要なディレイラインの数が求められる。
【０００８】
図２６は、一般的なＤＤＲ方式のメモリインタフェースにおけるメモリリード時のタイムチャートを示す図である。デジタルＤＬＬ回路は、メモリから出力されるメモリアクセス信号であるデータストローブ信号に基づいてリードデータを取り込む際に、そのリードデータを確実に取り込むためにデータストローブ信号にディレイを付加するために使用される。理想的には、図２６に「データ出力」および「ＤＱＳの９０度位相ずらし後」として示すように、データストローブ信号に対して９０度分のディレイが付加されたタイミングが、データ確定領域の中心点となるので、望ましい。
【０００９】
遅延測定クロック信号の１周期、つまり３６０度分のディレイを付加するために必要なディレイラインの数は、上述した位相比較等による測定によって求められている。データストローブ信号の周期は、遅延測定クロック信号の周期と同じであるので、データストローブ信号に９０度分のディレイを付加するための値は、遅延測定クロック信号に３６０度分のディレイを付加するための値の１／４となる。具体的には、例えば、３６０度のディレイを作るために２５６個のディレイラインが必要である場合、９０度のディレイを作るためには、その１／４である６４個のディレイラインが必要となる。
【００１０】
また、ＤＤＲ方式のメモリインタフェースでは、データストローブ信号の位相が１８０度以上ずれると、データストローブ信号の次のエッジで取り込まれるデータ領域になってしまうので、データストローブ信号に１８０度以上のディレイが付加されることはない。従って、図２３に示すように、ディレイ出力回路２のディレイラインユニット６におけるディレイラインの数は、基準ディレイ決定回路１のディレイラインユニット３におけるディレイラインの数（３６０度分）の半分で足りる。
【００１１】
ところで、基本クロックと同じ周期を有する複数の遅延クロックを生成するクロック生成回路が公知である。この遅延クロック生成回路は、基本クロックを順次遅延する縦続接続したｎ（ｎは２以上の整数）段の遅延回路と、ｎ段目の遅延回路による遅延クロックと基本クロックとの位相を比較する位相比較回路と、位相比較結果に基づいて、ｎ段目の遅延回路からの遅延クロックと基本クロックとの位相を同期させる遅延値を発生し、遅延値によってｎ段の遅延回路それぞれの遅延量を制御する遅延制御回路とを含む。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開平８−３２１７５３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、従来のデジタルＤＬＬ回路では、基準ディレイ決定回路とディレイ出力回路が別々に設けられているため、次のような種々の問題が生じる。両回路で製造時のプロセス条件、または実際の使用時の温度や電圧の条件にばらつきが生じることがあり、基準ディレイ決定回路による遅延測定によって決定されたディレイをディレイ出力回路で正確に作ることができない。また、基準ディレイ決定回路とディレイ出力回路が別々にディレイラインを有するので、回路の規模が大きくなってしまう。さらに、ＤＬＬ回路の規模が大きいと、消費電力が多くなってしまう。また、ディレイ出力回路でデータストローブ信号にディレイを付加しているときに、そのディレイ値が更新されると、誤動作を起こす。
【００１４】
本発明は、上記に鑑みてなされたものであって、正確にディレイを作ることができるデジタルＤＬＬ回路を提供することを目的とする。また、本発明は、回路規模を縮小し、消費電力を低減できるデジタルＤＬＬ回路を提供することを目的とする。さらに、本発明は、ディレイ値の更新による誤動作を回避できるデジタルＤＬＬ回路を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上述した課題を解決し、目的を達成するために、本発明は、基準ディレイ値を測定するために遅延測定対象である遅延測定クロック信号を通過させるディレイラインと、メモリリード時にメモリアクセス信号であるデータストローブ信号に所定のディレイを付加するためにデータストローブ信号を通過させるディレイラインを共通とし、そのディレイラインに遅延測定クロック信号またはデータストローブ信号を択一的に選択して入力させるセレクタを有することを特徴とする。また、基準ディレイ値を測定するディレイ測定モードと、データストローブ信号にディレイを付加するディレイ生成モードのそれぞれで使用されていたデジタルデータを格納するデータ格納領域を有し、そのデータ格納領域の格納値に基づいて、メモリアクセスコントローラによりセレクタの切り替えを行う。
【００１６】
この発明によれば、基準ディレイ値の測定と、データストローブ信号に付加するディレイの生成を、同じディレイラインを用いて行うので、製造時のプロセス条件、または実際の使用時の温度や電圧の条件のばらつきがなくなる。また、基準ディレイ値の測定用と、データストローブ信号に付加するディレイの生成用に別々にディレイラインを設ける必要がないので、回路規模が小さくなり、消費電力も減る。さらに、データストローブ信号にディレイを付加するためにディレイラインが使用されている間は、同じディレイラインを用いて基準ディレイ値の測定を行うことができないので、データストローブ信号にディレイを付加しているときにディレイ値が変更されることがない。
【発明の効果】
【００１７】
本発明にかかるデジタルＤＬＬ回路は、正確にディレイを作ることができるという効果を奏する。また、回路規模の縮小と、低消費電力化を図ることができるという効果を奏する。さらに、ディレイ値の更新による誤動作を回避できるという効果を奏する。
【図面の簡単な説明】
【００１８】
【図１】本発明にかかるデジタルＤＬＬ回路の実施例の構成を示す図である。
【図２】本発明の実施例におけるディレイ値更新回路の構成を示す図である。
【図３】本発明の実施例における位相比較回路の構成を示す図である。
【図４】データストローブ信号によるディレイ測定時の波形を示す図である。
【図５】ディレイ値決定回路の構成を示す図である。
【図６】データ格納領域の構成を示す図である。
【図７】基準ディレイ値更新関連レジスタ群の構成を示す図である。
【図８】更新閾値設定レジスタの構成を示す図である。
【図９】更新結果継続実施設定レジスタの構成を示す図である。
【図１０】更新発生および特定コード遷移発生レジスタの構成を示す図である。
【図１１】更新発生および特定コード遷移発生マスクレジスタの構成を示す図である。
【図１２】特定コード遷移割り込み設定レジスタの構成を示す図である。
【図１３】更新方法選択レジスタの構成を示す図である。
【図１４】更新有効期間設定レジスタの構成を示す図である。
【図１５】更新カウンタリセット値設定レジスタの構成を示す図である。
【図１６】実遅延量関連レジスタ群の構成を示す図である。
【図１７】データストローブ信号遅延量設定レジスタの構成を示す図である。
【図１８】本発明にかかるデジタルＤＬＬ回路のセットアップ処理手順を示すフローチャートである。
【図１９】ＤＤＲ方式のメモリインタフェースの構成を示す図である。
【図２０】ＤＤＲ方式のメモリインタフェースのメモリリード時のタイムチャートを示す図である。
【図２１】本発明にかかるデジタルＤＬＬ回路の入力信号の切り替えタイミングを示す図である。
【図２２】本発明にかかるデジタルＤＬＬ回路の基準ディレイ値更新処理手順を示すフローチャートである。
【図２３】従来のデジタルＤＬＬ回路の構成を示す図である。
【図２４】位相比較によるディレイ測定法の原理を説明する図である。
【図２５】位相比較によるディレイ測定時の波形を示す図である。
【図２６】ＤＤＲ方式のメモリインタフェースにおけるメモリリード時のタイムチャートを示す図である。
【発明を実施するための形態】
【００１９】
以下に、本発明にかかるデジタルＤＬＬ回路の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【００２０】
（デジタルＤＬＬ回路の全体構成）
図１は、本発明にかかるデジタルＤＬＬ回路の実施例の構成を示す図である。図１に示すように、実施例のデジタルＤＬＬ回路は、例えば、セレクタ２１、ディレイライン２２，２３からなるディレイラインユニット、および位相比較・ディレイ値決定・データ格納部２４を備えている。セレクタ２１は、図示しないメモリアクセスコントローラから供給される入力選択信号に基づいて、ディレイ測定モードのときに遅延測定対象である遅延測定クロック信号を選択し、ディレイ生成モードのときにデータストローブ信号を選択する。
【００２１】
ここで、ディレイ測定モードとは、基準ディレイ値の測定を行うモードであり、ディレイ生成モードとは、メモリアクセス時に、データストローブ信号に例えば９０度のディレイを付加するモードである。セレクタ２１により選択された信号は、ディレイライン２２，２３に入力される。ディレイライン２２，２３は、セレクタ２１の出力信号にディレイを付加した信号を位相比較・ディレイ値決定・データ格納部２４へ出力するとともに、ディレイ生成モード時に、データストローブ信号に所望のディレイが付加されたＤＱＳディレイ出力信号として、図示しないＤＤＲ方式のメモリインタフェースへ出力する。
【００２２】
ディレイラインユニットの、セレクタ２１の出力信号が通過するディレイラインの数、すなわちセレクタ２１の出力信号に付加されるディレイは、位相比較・ディレイ値決定・データ格納部２４から出力されるディレイ値選択信号（ディレイ測定モード時）または決定ディレイ値設定信号（ディレイ生成モード時）により制御される。このように、実施例のデジタルＤＬＬ回路は、ディレイ測定モードおよびディレイ生成モードにおいて、同一のディレイライン２２，２３を用いる構成となっている。
【００２３】
位相比較・ディレイ値決定・データ格納部２４には、ディレイ測定モード時に、ディレイライン２２，２３を通過していない遅延測定クロック信号と、ディレイライン２２，２３を通過した遅延クロック信号が入力される。位相比較・ディレイ値決定・データ格納部２４の位相比較回路は、ディレイ測定モード時には、遅延測定クロック信号の位相と遅延クロック信号の位相を比較する。その比較結果に基づいて、基準ディレイ値の決定または更新が行われる。
【００２４】
その際のディレイ測定法については、図２４および図２５を参照しながら説明した従来の位相比較によるディレイ測定法と同じであるので、詳細な説明を省略する。基準ディレイ値の更新を行うための構成および方法の詳細については、後述する「（位相比較・ディレイ値決定・データ格納部の構成）」において説明する。
【００２５】
また、位相比較・ディレイ値決定・データ格納部２４には、ディレイ生成モード時に、ディレイライン２２，２３を通過していない遅延測定クロック信号と、ディレイライン２２，２３の通過により遅延させられたデータストローブ信号（以下、遅延データストローブ信号とする）が入力される。位相比較・ディレイ値決定・データ格納部２４の位相比較回路は、ディレイ生成モード時に、遅延データストローブ信号の立ち下がりエッジと遅延測定クロック信号の立ち下がりエッジの位相を比較する。その比較結果に基づいて、ディレイ値の変動が検出され、基準ディレイ値が更新される。
【００２６】
遅延データストローブ信号の立ち下がりエッジと遅延測定クロック信号の立ち下がりエッジの位相を比較する理由については、後述する。また、データストローブ信号に基づいて基準ディレイ値を更新するための構成および方法の詳細については、後述の「（位相比較・ディレイ値決定・データ格納部の構成）」において説明する。
【００２７】
また、ディレイライン２２，２３には、外部からディレイ角度設定信号が入力される。位相比較・ディレイ値決定・データ格納部２４のディレイ値決定回路は、外部から設定されたディレイ角度と、位相比較回路による位相比較の結果、決定または更新された基準ディレイ値に基づいて、最終的なディレイ値を決定し、その決定したディレイ値をディレイライン２２，２３に設定する。
【００２８】
位相比較・ディレイ値決定・データ格納部２４のデータ格納領域には、ディレイ測定モードとディレイ生成モードの切り替えを行うためにそれぞれのモードで使用されていたデジタルデータが格納される。位相比較・ディレイ値決定・データ格納部２４の位相比較回路、ディレイ値決定回路およびデータ格納領域のそれぞれの詳細については、後述する。
【００２９】
（位相比較・ディレイ値決定・データ格納部の構成）
図２は、本発明の実施例において位相比較後に基準ディレイ値を更新する回路の構成を示す図である。図２に示すように、基準ディレイ値を更新する回路（以下、ディレイ値更新回路とする）３０は、例えば、位相比較回路３１、アップカウンタ３２、ダウンカウンタ３３および更新比較部３４を備えている。ディレイ値更新回路３０は、位相比較・ディレイ値決定・データ格納部２４に含まれている。
【００３０】
位相比較回路３１には、ディレイ測定モード時に、遅延測定クロック信号と遅延クロック信号が入力され、ディレイ生成モード時に、遅延測定クロック信号と遅延データストローブ信号が入力される。位相比較回路３１は、遅延測定クロック信号の位相と遅延クロック信号の位相、または遅延データストローブ信号の立ち下がりエッジの位相と遅延測定クロック信号の立ち下がりエッジの位相を比較した結果、ディレイが不足している場合には、アップカウンタ３２へ供給するアップカウンタ起動信号をアサートし、ディレイが過多である場合には、ダウンカウンタ３３へ供給するダウンカウンタ起動信号をアサートする。
【００３１】
アップカウンタ３２およびダウンカウンタ３３は、それぞれ、アップカウンタ起動信号およびダウンカウンタ起動信号がアサートされると、カウントアップする。アップカウンタ３２およびダウンカウンタ３３のそれぞれのカウンタ値は、更新比較部３４に供給される。更新比較部３４は、アップカウンタ３２およびダウンカウンタ３３のそれぞれのカウンタ値と閾値を比較する。
【００３２】
アップカウンタ３２のカウンタ値が閾値を超えると、更新比較部３４は、図示しないメモリコントローラに対して、ディレイを増やすように基準ディレイ値を更新するための更新通知および割り込みの発生を行う。ダウンカウンタ３３のカウンタ値が閾値を超えた場合は、更新比較部３４は、ディレイを減らすように基準ディレイ値を更新するための更新通知および割り込みの発生を行う。
【００３３】
また、更新比較部３４は、割り込みの発生とともに、アップカウンタ３２およびダウンカウンタ３３にカウンタクリア信号を出力し、各カウンタ３２，３３の値を初期値に戻す。ただし、リードコマンドでデータストローブ信号を使用している場合には、そのデータストローブ信号にディレイを付加して遅延させているため、リードコマンドが終了してから基準ディレイ値の更新が行われる。
【００３４】
ここで、閾値は、ユーザにより任意に定められる。閾値は、外部から入力される更新閾値設定信号に基づいて設定される。例えば、変化に対してできるだけ迅速に制御を行うために、アップカウンタ３２またはダウンカウンタ３３のカウンタ値が８になったら、基準ディレイ値を更新し、新しいディレイライン数に更新するようにしてもよい。あるいは、環境的に大きく変化する構成ではない場合などでは、アップカウンタ３２またはダウンカウンタ３３が連続して１０２４回カウントアップしたら、基準ディレイ値を更新し、新しいディレイライン数に更新するようにしてもよい。
【００３５】
なお、ディレイ値更新回路３０は、図２の構成に限らない。また、アップカウンタ３２およびダウンカウンタ３３を、期間を制限しないでカウントを続けるようにしたり、ある一定期間内でカウントを行うようにすることができる。また、アップカウンタ３２が所定回数カウントアップしたときに、ダウンカウンタ３３のカウンタ値を初期値に戻し、ダウンカウンタ３３が所定回数カウントアップしたときに、アップカウンタ３２のカウンタ値を初期値に戻すようにしたり、いずれのカウンタも他方のカウンタがカウントアップしたときに初期値に戻らないようにすることもできる。後述する各種レジスタの設定によりいずれの構成も選択できる。
【００３６】
さらに、アップカウンタ３２とダウンカウンタ３３を共通のカウンタで構成してもよい。この場合、アップカウンタ起動信号が連続してアサートされている間はカウントアップを続け、ダウンカウンタ起動信号がアサートされたらカウンタ値を初期化してカウントアップを再開し、ダウンカウンタ起動信号が連続してアサートされている間カウントアップを続け、アップカウンタ起動信号がアサートされたらカウンタ値を初期化してカウントアップを再開するという構成にしてもよい。
【００３７】
図３は、位相比較回路の構成を示す図である。図３に示すように、位相比較回路３１は、例えば、３個のフリップフロップ３５，３６，３７と位相比較器３８を備えている。３個のフリップフロップ３５，３６，３７は、遅延測定クロック信号に同期して、入力信号をラッチし、そのラッチした信号を位相比較器３８へ出力する。従来同様、位相比較回路３１には、遅延クロック信号または遅延データストローブ信号として、あるディレイ値でディレイさせた信号と、そのディレイ値よりも１小さい値でディレイさせた信号と、１大きい値でディレイさせた信号が入力される。
【００３８】
あるディレイ値よりも１小さい値でディレイさせた信号は、第１のフリップフロップ３５に入力される。あるディレイ値でディレイさせた信号は、第２のフリップフロップ３６に入力される。あるディレイ値よりも１大きい値でディレイさせた信号は、第３のフリップフロップ３７に入力される。３個のフリップフロップ３５，３６，３７への入力信号が遅延クロック信号である場合には、次のようになる。３個のフリップフロップ３５，３６，３７への入力信号は、ディレイが不足している場合には、すべてＨ（ハイ）レベルとなり、ディレイが過多である場合には、すべてＬ（ロー）レベルとなる（図２５参照）。
【００３９】
また、ディレイが最適である場合には、第１のフリップフロップ３５および第３のフリップフロップ３７への入力信号が、それぞれ、Ｈ（ハイ）レベルおよびＬ（ロー）レベルとなり、第２のフリップフロップ３６への入力信号が不定となる（図２５参照）。位相比較器３８は、３個のフリップフロップ３５，３６，３７の出力信号がすべてＨ（ハイ）レベルである場合には、アップカウンタ起動信号をアサートし、すべてＬ（ロー）レベルであれば、ダウンカウンタ起動信号をアサートし、それ以外の場合には、いずれのカウンタ起動信号もアサートしないような論理構成となっている。
【００４０】
一方、３個のフリップフロップ３５，３６，３７への入力信号が遅延データストローブ信号である場合には、次のようになる。図４は、データストローブ信号によるディレイ測定時の波形を示す図である。図４に示すように、データストローブ信号の半周期は、遅延測定クロック信号の１周期に等しい。そして、ディレイ値がずれていなければ、遅延データストローブ信号の立ち下がりエッジは、遅延測定クロック信号の立ち下がりエッジに１つおきに一致する。
【００４１】
遅延データストローブ信号の立ち下がりエッジの位相を遅延測定クロック信号の立ち下がりエッジの位相と比較した結果、遅延データストローブ信号４２の値がＬ（ロー）レベルであれば、ディレイが不足しており、遅延データストローブ信号４４の値がＨ（ハイ）レベルであれば、ディレイが過多である。ディレイが最適である場合には、遅延測定クロック信号４１の立ち下がりエッジが遅延データストローブ信号４３の変化点と重なり、遅延データストローブ信号４３の値は不定となる。
【００４２】
従って、図３に示す位相比較回路３１において、３個のフリップフロップ３５，３６，３７への入力信号は、ディレイが不足している場合には、すべてＬ（ロー）レベルとなり、ディレイが過多である場合には、すべてＨ（ハイ）レベルとなる。また、ディレイが最適である場合には、第１のフリップフロップ３５および第３のフリップフロップ３７への入力信号が、それぞれ、Ｌ（ロー）レベルおよびＨ（ハイ）レベルとなり、第２のフリップフロップ３６への入力信号が不定となる。
【００４３】
そのため、遅延データストローブ信号が入力される場合の位相比較器３８の論理は、遅延クロック信号が入力される場合の逆になる。位相比較器３８は、例えば、セレクタ２１への入力選択信号によって、遅延クロック信号が入力される場合の論理と、遅延データストローブ信号が入力される場合の論理が反転される構成となっている。例えば、遅延クロック信号は、３個のフリップフロップ３５，３６，３７から位相比較器３８にそのまま入力される。遅延データストローブ信号は、３個のフリップフロップ３５，３６，３７からインバータを介して位相比較器３８に入力される。
【００４４】
このように、データストローブ信号に基づいて基準ディレイ値を更新できる構成となっていることによって、最大バースト長のリードが連続的に実行されていき、それによって、基準ディレイ値の更新を行うための時間が減ってしまう場合でも、基準ディレイ値の微調整を行うことができる。また、ＤＤＲ２方式では、Ｐｏｓｔｅｄ  ＣＡＳ動作によりデータリードを連続して行うことができるが、この場合には、更新比較部３４の割り込み発生により、メモリコントローラにＰｏｓｔｅｄ  ＣＡＳ動作を一旦停止させ、その間に基準ディレイ値の更新が行われる。
【００４５】
なお、遅延測定クロック信号に基づく基準ディレイ値の更新条件とデータストローブ信号に基づく基準ディレイ値の更新条件を別々に管理し、それぞれの更新条件に基づく基準ディレイ値の更新を独立して行う構成としてもよい。あるいは、両更新条件を合算して基準ディレイ値の更新を行う構成としてもよい。後述する各種レジスタの設定によりいずれの構成も選択できる。
【００４６】
図５は、ディレイ値決定回路の構成を示す図である。図５に示すように、ディレイ値決定５１は、乗算器５２を備えている。乗算器５２は、外部から設定されるディレイ角度と、基準ディレイ値の乗算を行い、その演算結果を、データストローブ信号に加算する最終的なディレイ値として出力する。
【００４７】
図６は、データ格納領域の構成を示す図である。図６に示すように、データ格納領域は、レジスタ制御インタフェース回路６１とレジスタ群６２を備えている。レジスタ制御インタフェース回路６１は、内部のレジスタアクセス信号に基づいて、レジスタ群６２にアドレス信号とリード制御信号を出力し、レジスタ群６２から該当するデータを読み出す。また、レジスタ制御インタフェース回路６１は、レジスタ群６２にアドレス信号とレジスタ群６２に書き込むデータとライト制御信号を出力する。レジスタ群６２には、後述する基準ディレイ値更新関連レジスタ群および実遅延量関連レジスタ群が含まれている。
【００４８】
図７は、基準ディレイ値更新関連レジスタ群の構成を示す図である。図７に示すように、基準ディレイ値更新関連レジスタ群６３は、更新閾値設定レジスタ７１、更新結果継続実施設定レジスタ７２、更新発生および特定コード遷移発生レジスタ７３、更新発生および特定コード遷移発生マスクレジスタ７４、特定コード遷移割り込み設定レジスタ７５、更新方法選択レジスタ７６、更新有効期間設定レジスタ７７および更新カウンタリセット値設定レジスタ７８を備えている。
【００４９】
図８は、更新閾値設定レジスタの構成を示す図である。更新閾値設定レジスタ７１は、基準ディレイ値の更新に関する閾値を設定するレジスタであり、アップカウンタ３２またはダウンカウンタ３３の更新が何回発生したら、基準ディレイ値の更新を行うかということを決める。例えば、基準ディレイ値の更新を行う際のカウンタの更新回数を２の［４＋更新閾値設定値］乗にすると、更新閾値が「０ｈ」である場合には、アップカウンタ３２またはダウンカウンタ３３が２の４乗回、すなわち１６回更新されると、基準ディレイ値が更新される。
【００５０】
また、例えば、更新閾値が「ｆｆｈ」である場合には、アップカウンタ３２またはダウンカウンタ３３が２の［４＋１５］乗回、すなわち５２４２８８回更新されると、基準ディレイ値が更新される。更新閾値設定レジスタ７１は、遅延測定クロック信号での更新用とデータストローブ信号での更新用に２個設けられており、前述したように、遅延測定クロック信号での更新条件とデータストローブ信号での更新条件を合算して基準ディレイ値の更新を行う構成の場合には、遅延測定クロック信号での更新用のレジスタとデータストローブ信号での更新用のレジスタの両方に同じ値が設定される。
【００５１】
図９は、更新結果継続実施設定レジスタの構成を示す図である。更新結果継続実施設定レジスタ７２は、基準ディレイ値の更新に関して、データストローブ信号でのディレイ値測定によるカウンタ値と遅延測定クロック信号でのディレイ値測定によるカウンタ値を合算して閾値との比較を行うか否かを設定するレジスタである。例えば、更新結果継続実施設定レジスタ７２のビット０の値が「１」であれば、合算して比較を行い、「０」であれば、合算しないで、それぞれの信号でのディレイ値測定によるカウンタ値が閾値を超える場合に基準ディレイ値の更新を行う。
【００５２】
図１０は、更新発生および特定コード遷移発生レジスタの構成を示す図である。更新発生および特定コード遷移発生レジスタ７３は、コードの更新（基準ディレイ値の更新）または特定コードへの遷移（特定のディレイ値への遷移）が発生したことを通知するレジスタである。例えば、更新発生および特定コード遷移発生レジスタ７３のビット０がコード更新の発生を示し、ビット１が特定コードへの遷移の発生を示す。いずれも、それぞれの事象が発生すると、該当するビットの値が「１」に設定される。
【００５３】
図１１は、更新発生および特定コード遷移発生マスクレジスタの構成を示す図である。更新発生および特定コード遷移発生マスクレジスタ７４は、更新発生および特定コード遷移発生レジスタ７３と同じビット配列の割り込みマスクレジスタである。例えば、更新発生および特定コード遷移発生マスクレジスタ７４の該当するビットの値が「１」である場合には、コードの更新または特定コードへの遷移が発生しても、割り込みがマスクされるので、割り込みが発生しない。
【００５４】
図１２は、特定コード遷移割り込み設定レジスタの構成を示す図である。特定コード遷移割り込み設定レジスタ７５は、特定コードへの遷移が発生する際のその特定コードを設定するレジスタである。特定コード遷移割り込み設定レジスタ７５に設定された値にコードが遷移すると、更新発生および特定コード遷移発生レジスタ７３のコード遷移発生ビット（ビット１）の値が「１」になる。
【００５５】
図１３は、更新方法選択レジスタの構成を示す図である。更新方法選択レジスタ７６は、基準ディレイ値の更新方法に関する設定を行うレジスタである。更新方法選択レジスタ７６のビット０は、基準ディレイ値の更新を行う場合のアップカウンタ３２およびダウンカウンタ３３の有効期間の有無を設定するビットであり、その値が「１」であれば、有効期間ありを示し、「０」であれば、有効期間なしを示す。有効期間ありの場合には、後述する更新有効期間設定レジスタ７７に設定されている有効期間にアップカウンタ３２またはダウンカウンタ３３のカウンタ値が更新閾値まで達しなければ、基準ディレイ値は更新されず、更新有効期間の満了後にアップカウンタ３２およびダウンカウンタ３３は、一旦、リセットされる。
【００５６】
更新方法選択レジスタ７６のビット１は、アップカウンタ３２およびダウンカウンタ３３のカウント方法を決定するビットであり、その値が「１」であれば、両カウンタ３２，３３のカウントを別々に行い、「０」であれば、両カウンタ３２，３３のカウンタ値を差し引きする。更新方法選択レジスタ７６のビット２は、アップカウンタ３２およびダウンカウンタ３３のカウンタリセットを設定するビットであり、その値が「１」であれば、アップカウンタ３２の更新時にダウンカウンタ３３をリセットし、ダウンカウンタ３３の更新時にアップカウンタ３２をリセットすることを示す。
【００５７】
このようなリセットを行う場合、一方のカウンタをリセットするまでの他方のカウンタの更新回数は、後述する更新カウンタリセット値設定レジスタ７８により設定される。更新方法選択レジスタ７６のビット２の値が「０」であれば、一方のカウンタが更新されても他方のカウンタはリセットされない。
【００５８】
図１４は、更新有効期間設定レジスタの構成を示す図である。更新有効期間設定レジスタ７７は、アップカウンタ３２およびダウンカウンタ３３の更新を行う有効期間を設定する。例えば、基準ディレイ値を更新するための閾値とのバランスを考慮すると、有効期間は、２の［６＋更新有効期間設定値］などである。
【００５９】
図１５は、更新カウンタリセット値設定レジスタの構成を示す図である。更新カウンタリセット値設定レジスタ７８は、一方のカウンタをリセットするまでの他方のカウンタの更新回数を設定する。アップカウンタ３２が、更新カウンタリセット値設定レジスタ７８の設定値に１を加算した回数だけ更新されたら、ダウンカウンタ３３がリセットされる。また、ダウンカウンタ３３が、更新カウンタリセット値設定レジスタ７８の設定値に１を加算した回数だけ更新されたら、アップカウンタ３２がリセットされる。
【００６０】
図１６は、実遅延量関連レジスタ群の構成を示す図である。図１６に示すように、実遅延量関連レジスタ群６４は、データストローブ信号遅延量設定レジスタ８１、基準ディレイ値格納レジスタ８２、実遅延量格納レジスタ８３、データストローブ信号での遅延量測定時の設定遅延値格納レジスタ８４および遅延測定クロック信号での遅延量測定時の設定遅延値格納レジスタ８５を備えている。
【００６１】
図１７は、データストローブ信号遅延量設定レジスタの構成を示す図である。データストローブ信号遅延量設定レジスタ８１は、基準ディレイ値に基づいてデータストローブ信号の遅延量を設定するレジスタである。例えば、［データストローブ信号の遅延量＝基準ディレイ値×遅延量設定値÷３２］の式で表される遅延量がデータストローブ信号に加算される。
【００６２】
例えば、データストローブ信号に、基準ディレイ値の半分、すなわちＤＤＲ方式のメモリインタフェースのクロック信号の１／４周期（９０度に相当）の遅延量を加算する場合には、データストローブ信号遅延量設定レジスタ８１に「０ｆｈ」が設定される。データストローブ信号に加算される遅延量が前記式によって決まる場合には、ＤＤＲ方式のメモリインタフェースのクロック信号に対して５．６２５度相当の刻みで遅延量を設定することができる。
【００６３】
基準ディレイ値格納レジスタ８２は、基準ディレイ値を格納するレジスタである。実遅延量格納レジスタ８３は、実際の遅延量を格納するレジスタである。データストローブ信号での遅延量測定時の設定遅延値格納レジスタ８４は、データストローブ信号でのディレイ測定時に設定される遅延値を格納するレジスタである。遅延測定クロック信号での遅延量測定時の設定遅延値格納レジスタ８５は、遅延測定クロック信号でのディレイ測定時に設定される遅延値を格納するレジスタである。
【００６４】
基準ディレイ値格納レジスタ８２、実遅延量格納レジスタ８３、データストローブ信号での遅延量測定時の設定遅延値格納レジスタ８４および遅延測定クロック信号での遅延量測定時の設定遅延値格納レジスタ８５は、内部レジスタである。従って、それらのレジスタに対して、ユーザが値を書き込んだり、値を読み出すことはない。
【００６５】
（セットアップ処理手順）
図１８は、本発明にかかるデジタルＤＬＬ回路のセットアップ処理手順を示すフローチャートである。図１８に示すように、セットアップ処理が開始されると、まず、前記レジスタ群６２に含まれる各種レジスタの初期設定を行う（ステップＳ１）。次いで、デジタルＤＬＬ回路のリセットを解除する（ステップＳ２）。次いで、遅延測定クロック信号でのディレイ測定により、基準ディレイ値を算出する（ステップＳ３）。次いで、ステップＳ３で算出された基準ディレイ値に基づいて、データストローブ信号に付加するディレイ値の算出を行い、算出が終了したか否かを判断する（ステップＳ４）。
【００６６】
ディレイ値の算出が終了していなければ（ステップＳ４：Ｎｏ）、算出終了まで待機し、算出が終了したら（ステップＳ４：Ｙｅｓ）、メモリのセットアップを開始する（ステップＳ５）。ここまでは、デジタルＤＬＬ回路に遅延測定クロック信号が入力される。次いで、デジタルＤＬＬ回路にデータストローブ信号を入力し、データストローブ信号でのディレイ測定により、基準ディレイ値を算出する（ステップＳ６）。次いで、ステップＳ６で算出された基準ディレイ値に基づいて、データストローブ信号に付加する最終的なディレイ値の算出を行い、算出が終了したか否かを判断する（ステップＳ７）。
【００６７】
ディレイ値の算出が終了していなければ（ステップＳ７：Ｎｏ）、算出終了まで待機する。これは、遅延測定クロック信号でのディレイ測定により得られたディレイ値と、データストローブ信号でのディレイ測定により得られたディレイ値が一致することを確認するためである。ステップＳ７でディレイ値の算出が終了したら（ステップＳ７：Ｙｅｓ）、ロックが完了し、実際にデータストローブ信号にディレイを付加してメモリアクセスを開始できる状態となる。また、メモリアクセスの合間に遅延測定クロック信号でのディレイ測定によるディレイ値の更新、メモリアクセス中のデータストローブ信号でのディレイ測定によるディレイ値の更新、ディレイ値の更新のための割り込みおよび更新通知を随時、実行できる状態となり（ステップＳ８）、セットアップシーケンスを終了する。
【００６８】
ここで、ステップＳ５までＤＬＬ回路に入力される遅延測定クロック信号は、実際にＤＤＲ方式のメモリインタフェースに接続されるメモリに入力されるクロック信号の２倍以上の周波数を有する。これについて説明する。図１９は、ＤＤＲ方式のメモリインタフェースのデータ出力部およびコマンド出力部の構成を示す図である。また、図２０は、ＤＤＲ方式のメモリインタフェースのメモリリード時のタイムチャートを示す図である。
【００６９】
図１９に示すように、メモリインタフェースのクロック生成ブロック９１、コマンド生成ブロック９２および出力データ生成ブロック９３から出力された信号は、それぞれ、遅延測定クロック信号に同期して動作するフリップフロップ９４、フリップフロップ群９５および別のフリップフロップ群９６にラッチされる。そして、それらの出力信号は、クロック信号（ＤＤＲ−ＩＦ  ＣＬＫ）、コマンドアドレス（ＤＤＲ−ＩＦ  コマンドアドレス）およびデータ（ＤＤＲ−ＩＦ  データ）として、図示しないメモリへ出力される。従って、図２０に示すように、遅延測定クロック信号は、メモリに入力されるクロック信号（ＤＤＲ−ＩＦ  ＣＬＫ）の２倍の周波数を有し、通常、メモリインタフェースで使用されているクロック信号であるので、本実施例において特別に生成されるものではない。
【００７０】
また、遅延測定クロック信号が、メモリに入力されるクロック信号の２倍の周波数を有することにより、遅延測定クロック信号の周期は、従来のデジタルＤＬＬ回路で使用されているクロック信号の周期の１／２となるので、必要となるディレイライン数が従来の半分で済む。従って、ディレイ測定モードで必要なディレイライン数と、ディレイ生成モードで必要なディレイライン数が同じになるので、ディレイ測定モードとディレイ生成モードで同一のディレイラインユニットを時分割で用いることができる。また、メモリに入力されるクロック信号の周期の９０度位相分を計算する際に、従来、３６０度の位相分に要するディレイライン数の１／４のディレイライン数としていたのを、実施例では、１／２のディレイライン数として換算する。
【００７１】
（メモリリード時の入力信号の切り替えタイミング）
図２１は、本発明にかかるデジタルＤＬＬ回路の入力信号の切り替えタイミングを示す図である。図２１に示すように、遅延測定クロック信号での基準ディレイ値の測定終了後に、データストローブ信号が入力されて、データストローブ信号に付加するディレイが生成される。その際、デジタルＤＬＬ回路にデータストローブ信号が入力されるのは、リードコマンドが出力されてからＣＡＳ（Ｃｏｌｕｍｎ  Ａｄｄｒｅｓｓ  Ｓｔｒｏｂｅ）レイテンシが経過した後になる。
【００７２】
従って、リードコマンドの出力後、ＣＡＳレイテンシが経過するまでの間に、メモリインタフェースが入力切り替え信号を発生し、デジタルＤＬＬ回路への入力信号を、遅延測定クロック信号からデータストローブ信号に切り替えればよい。また、その入力信号の切り替えと同時に、位相比較・ディレイ値決定・データ格納部２４の位相比較回路３１が遅延測定クロック信号の位相と遅延クロック信号の位相を比較する動作を行わないようにする。また、バースト長に基づいてリードアクセス終了が認識され、入力信号がデータストローブ信号から遅延測定クロック信号に切り替えられる。
【００７３】
（基準ディレイ値更新処理手順）
図２２は、本発明にかかるデジタルＤＬＬ回路の基準ディレイ値更新処理手順を示すフローチャートである。図２２に示すように、基準ディレイ値更新処理が開始されると、まず、前記更新方法選択レジスタ７６のビット０を参照して、更新期間、すなわちアップカウンタ３２およびダウンカウンタ３３を更新する際の有効期間が設定されているか否かを判断する（ステップＳ１１）。
【００７４】
更新期間が設定されていれば（ステップＳ１１：Ｙｅｓ）、前記更新有効期間設定レジスタ７７を参照して、その更新期間が満了しているか否かを判断する（ステップＳ１２）。更新期間が満了してれば（ステップＳ１２：Ｙｅｓ）、アップカウンタ３２およびダウンカウンタ３３のカウンタ値を初期値に戻し（ステップＳ１３）、ステップＳ１１に戻る。ステップＳ１１で、更新期間が設定されていない場合（ステップＳ１１：Ｎｏ）、または、ステップＳ１２で、更新期間が満了していない場合（ステップＳ１２：Ｎｏ）、前記位相比較器３８から出力されるカウンタ起動信号によるカウンタ更新要求の有無を判断する（ステップＳ１４）。
【００７５】
アップカウンタ起動信号およびダウンカウンタ起動信号のいずれもアサートされていなければ（ステップＳ１４：Ｎｏ）、ステップＳ１１に戻る。いずれかのカウンタの起動信号がアサートされていれば（ステップＳ１４：Ｙｅｓ）、その起動信号がアサートされている側のカウンタを更新する（ステップＳ１５）。そして、前記更新閾値設定レジスタ７１および更新結果継続実施設定レジスタ７２を参照し、基準ディレイ値を更新する条件（ディレイ更新条件）が成立するか否か、すなわちアップカウンタ３２またはダウンカウンタ３３のいずれかのカウンタ値が閾値に達するか否かを判断する（ステップＳ１６）。
【００７６】
閾値に達する場合（ステップＳ１６：Ｙｅｓ）、基準ディレイ値を更新し（ステップＳ１７）、アップカウンタ３２およびダウンカウンタ３３をリセットして、それぞれのカウンタ値を初期値に戻す（ステップＳ１８）。そして、ステップＳ１１に戻る。一方、ステップＳ１６で、ディレイ更新条件が成立しない場合（ステップＳ１６：Ｎｏ）、更新方法選択レジスタ７６のビット２を参照し、アップカウンタ３２またはダウンカウンタ３３を更新したときに未更新側のカウンタをリセットするように設定されているか否かを判断する（ステップＳ１９）。
【００７７】
設定されている場合（ステップＳ１９：Ｙｅｓ）、更新カウンタリセット値設定レジスタ７８を参照し、未更新側のカウンタをリセットする条件が成立するか否か、すなわち更新された側のカウンタの更新回数が所定数になったか否かを判断する（ステップＳ２０）。所定回数の更新が行われている場合（ステップＳ２０：Ｙｅｓ）、未更新側のカウンタをリセットして、そのカウンタ値を初期値に戻し（ステップＳ２１）、ステップＳ１１に戻る。ステップＳ１９で、未更新側のカウンタをリセットするように設定されていない場合（ステップＳ１９：Ｎｏ）、または、ステップＳ２０で、更新された側のカウンタの更新回数が足りない場合（ステップＳ２０：Ｎｏ）、ステップＳ１１に戻る。
【００７８】
以上説明したように、実施例によれば、基準ディレイ値の測定と、データストローブ信号に付加するディレイの生成を、同じディレイライン２２，２３を用いて行うので、製造時のプロセス条件、または実際の使用時の温度や電圧の条件のばらつきがなくなる。従って、正確にディレイを作ることができる。また、基準ディレイ値の測定用と、データストローブ信号に付加するディレイの生成用に別々にディレイラインを設ける必要がないので、回路規模が小さくなり、消費電力も減る。従って、回路規模の縮小と、低消費電力化を図ることができる。さらに、データストローブ信号にディレイを付加するためにディレイライン２２，２３が使用されている間は、同じディレイライン２２，２３を用いて基準ディレイ値の測定を行うことができないので、データストローブ信号にディレイを付加しているときにディレイ値が変更されることがない。従って、ディレイ値の更新による誤動作を回避できる。
【００７９】
上述した実施の形態に関し、さらに以下の付記を開示する。
【００８０】
（付記１）メモリからデータを読み出す際にメモリインタフェースによるリードデータの取り込みタイミングをディレイさせるためのディレイ値を生成するデジタルＤＬＬ回路において、クロック信号とデータストローブ信号のいずれか一方を選択して出力するセレクタと、前記セレクタの出力信号が通過する際に該出力信号にディレイを付加するディレイラインと、前記クロック信号と前記ディレイラインの出力信号の位相を比較して、前記ディレイラインを通過する際に前記データストローブ信号に付加するディレイ量を決めるディレイ値を決定する位相比較・ディレイ値決定部と、を備えることを特徴とするデジタルＤＬＬ回路。
【００８１】
（付記２）前記クロック信号は、メモリに入力されるクロック信号の２倍以上の周波数を有する信号であることを特徴とする付記１に記載のデジタルＤＬＬ回路。
【００８２】
（付記３）前記セレクタが前記クロック信号を選択している間、前記位相比較・ディレイ値決定部は、前記ディレイラインから出力されるクロック信号の位相に基づいて、前記ディレイ値の更新を行うことを特徴とする付記１または２に記載のデジタルＤＬＬ回路。
【００８３】
（付記４）前記セレクタが前記データストローブ信号を選択している間、前記位相比較・ディレイ値決定部は、前記ディレイラインから出力されるデータストローブ信号の位相に基づいて、前記ディレイ値の更新を行うことを特徴とする付記３に記載のデジタルＤＬＬ回路。
【００８４】
（付記５）前記ディレイラインから出力されるデータストローブ信号を用いてリードデータの取り込みが行われている間、前記位相比較・ディレイ値決定部は、前記ディレイ値の更新を行わないことを特徴とする付記４に記載のデジタルＤＬＬ回路。
【００８５】
（付記６）前記位相比較・ディレイ値決定部は、前記ディレイラインから出力されるクロック信号の位相に基づいて、前記ディレイ値の更新を行う際の条件と、前記ディレイラインから出力されるデータストローブ信号の位相に基づいて、前記ディレイ値の更新を行う際の条件を、個別に設定するための手段を有することを特徴とする付記４または５に記載のデジタルＤＬＬ回路。
【００８６】
（付記７）前記位相比較・ディレイ値決定部は、前記ディレイラインから出力されるクロック信号の位相に基づいて、前記ディレイ値の更新を行う際に使用するディレイ値と、前記ディレイラインから出力されるデータストローブ信号の位相に基づいて、前記ディレイ値の更新を行う際に使用するディレイ値を、それぞれ保持する手段を有することを特徴とする付記４または５に記載のデジタルＤＬＬ回路。
【００８７】
（付記８）前記位相比較・ディレイ値決定部は、前記ディレイラインから出力されるクロック信号の位相に基づいて、前記ディレイ値の過不足を検出した回数と、前記ディレイラインから出力されるデータストローブ信号の位相に基づいて、前記ディレイ値の過不足を検出した回数の合計値と、前記ディレイ値の更新を行う際の条件とを比較して、前記ディレイ値を保持する手段に保持されている前記ディレイ値の更新を行う手段を有することを特徴とする付記７に記載のデジタルＤＬＬ回路。
【００８８】
（付記９）前記位相比較・ディレイ値決定部は、前記ディレイ値を更新する際に、メモリコントローラに、更新が必要であることを割り込みで通知することを特徴とする付記６に記載のデジタルＤＬＬ回路。
【００８９】
（付記１０）前記位相比較・ディレイ値決定部は、前記割り込みによりメモリアクセスが中断している間に、前記ディレイ値の更新を行うことを特徴とする付記９に記載のデジタルＤＬＬ回路。
【００９０】
（付記１１）前記位相比較・ディレイ値決定部は、前記ディレイ値を更新する際に、メモリコントローラに、更新が必要であることを割り込みで通知することを特徴とする付記８に記載のデジタルＤＬＬ回路。
【００９１】
（付記１２）前記位相比較・ディレイ値決定部は、前記割り込みによりメモリアクセスが中断している間に、前記ディレイ値の更新を行うことを特徴とする付記１１に記載のデジタルＤＬＬ回路。
【産業上の利用可能性】
【００９２】
以上のように、本発明にかかるデジタルＤＬＬ回路は、高速メモリインタフェースを備えた機器に有用であり、特に、ＤＤＲ方式などの高速メモリインタフェースを備えた民生機器や高度な通信機器などに適している。
【符号の説明】
【００９３】
２１  セレクタ
２２，２３  ディレイライン
２４  位相比較・ディレイ値決定・データ格納部
７１  更新閾値設定レジスタ
７２  更新結果継続実施設定レジスタ
８４  データストローブ信号での遅延量測定時の設定遅延値格納レジスタ
８５  遅延測定クロック信号での遅延量測定時の設定遅延値格納レジスタ
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
メモリからデータを読み出す際にメモリインタフェースによるリードデータの取り込みタイミングをディレイさせるためのディレイ値を生成するデジタルＤＬＬ回路において、クロック信号とデータストローブ信号のいずれか一方を選択して出力するセレクタと、前記セレクタの出力信号が通過する際に該出力信号にディレイを付加するディレイラインと、前記クロック信号と前記ディレイラインの出力信号の位相を比較して、前記ディレイラインを通過する際に前記データストローブ信号に付加するディレイ量を決めるディレイ値を決定する位相比較・ディレイ値決定部と、を備えることを特徴とするデジタルＤＬＬ回路。
【請求項２】
前記クロック信号は、メモリに入力されるクロック信号の２倍以上の周波数を有する信号であることを特徴とする請求項１に記載のデジタルＤＬＬ回路。
【請求項３】
前記セレクタが前記クロック信号を選択している間、前記位相比較・ディレイ値決定部は、前記ディレイラインから出力されるクロック信号の位相に基づいて、前記ディレイ値の更新を行うことを特徴とする請求項１または２に記載のデジタルＤＬＬ回路。
【請求項４】
前記セレクタが前記データストローブ信号を選択している間、前記位相比較・ディレイ値決定部は、前記ディレイラインから出力されるデータストローブ信号の位相に基づいて、前記ディレイ値の更新を行うことを特徴とする請求項３に記載のデジタルＤＬＬ回路。
【請求項５】
前記ディレイラインから出力されるデータストローブ信号を用いてリードデータの取り込みが行われている間、前記位相比較・ディレイ値決定部は、前記ディレイ値の更新を行わないことを特徴とする請求項４に記載のデジタルＤＬＬ回路。
【請求項６】
前記位相比較・ディレイ値決定部は、前記ディレイラインから出力されるクロック信号の位相に基づいて、前記ディレイ値の更新を行う際の条件と、前記ディレイラインから出力されるデータストローブ信号の位相に基づいて、前記ディレイ値の更新を行う際の条件を、個別に設定するための手段を有することを特徴とする請求項４または５に記載のデジタルＤＬＬ回路。
【請求項７】
前記位相比較・ディレイ値決定部は、前記ディレイラインから出力されるクロック信号の位相に基づいて、前記ディレイ値の更新を行う際に使用するディレイ値と、前記ディレイラインから出力されるデータストローブ信号の位相に基づいて、前記ディレイ値の更新を行う際に使用するディレイ値を、それぞれ保持する手段を有することを特徴とする請求項４または５に記載のデジタルＤＬＬ回路。
【請求項８】
前記位相比較・ディレイ値決定部は、前記ディレイラインから出力されるクロック信号の位相に基づいて、前記ディレイ値の過不足を検出した回数と、前記ディレイラインから出力されるデータストローブ信号の位相に基づいて、前記ディレイ値の過不足を検出した回数の合計値と、前記ディレイ値の更新を行う際の条件とを比較して、前記ディレイ値を保持する手段に保持されている前記ディレイ値の更新を行う手段を有することを特徴とする請求項７に記載のデジタルＤＬＬ回路。
【請求項９】
前記位相比較・ディレイ値決定部は、前記ディレイ値を更新する際に、メモリコントローラに、更新が必要であることを割り込みで通知することを特徴とする請求項６に記載のデジタルＤＬＬ回路。
【請求項１０】
前記位相比較・ディレイ値決定部は、前記割り込みによりメモリアクセスが中断している間に、前記ディレイ値の更新を行うことを特徴とする請求項９に記載のデジタルＤＬＬ回路。
【国際調査報告】
2008068851.tif 000029
2008068851.tif 000030