(57)【要約】【課題】本発明は、データをストローブ信号に同期させて取り込む際のデータとストローブ信号の同期を簡単かつ適切にとる遅延制御装置を提供する。【解決手段】遅延制御装置１は、ＭＵＸ１１がストローブ信号を選択しているときに、遅延素子１３が、当該ストローブ信号を遅延値だけ遅延させて、データをストローブ信号に基づいて取り込むフリップフロップ２３〜２６に入力させ、ＭＵＸ１１がクロックを選択しているときに、遅延素子１２と遅延素子１３のクロックの遅延出力の位相を、位相比較器１４で比較し、遅延制御回路１５で、位相比較器１４の比較結果に基づいて、第２遅延素子の遅延値を制御する。したがって、遅延素子１３のフリップフロップ２３〜２６に至るまでの遅延値を基準となる遅延素子１２の遅延値と等しくし、データ転送を適切に行うことができる。【選択図】          図１
2006013990.tif 000002
【特許請求の範囲】
【請求項１】
データの数に対応する数だけ設けられそれぞれ当該データをストローブ信号に基づいて取り込むフリップフロップと、選択信号に応じてストローブ信号とクロックを選択して出力する選択手段と、前記選択手段の選択するストローブ信号またはクロックが入力され遅延値が可変である第１遅延素子と第２遅延素子と、当該第１遅延素子と当該第２遅延素子の出力の位相を比較する位相比較手段と、当該位相比較手段の比較結果に基づいて前記第２遅延素子の遅延値を制御する遅延制御手段と、を備え、前記選択手段が前記ストローブ信号を選択しているとき、前記第２遅延素子が当該ストローブ信号を前記遅延値だけ遅延させて前記フリップフロップに出力する遅延制御装置であって、前記選択手段が前記クロックを選択すると、当該クロックの前記第１遅延素子と前記第２遅延素子の遅延出力を前記位相比較手段で比較し、前記遅延制御手段が、当該位相比較手段の比較結果に基づいて前記第２遅延素子の遅延値を制御することを特徴とする遅延制御装置。
【請求項２】
前記遅延制御装置は、前記第２遅延素子の出力が、１つのバッファまたは複数のバッファのツリー構造を通して、前記位相比較手段及び前記フリップフロップに入力されていることを特徴とする請求項１記載の遅延制御装置。
【請求項３】
前記遅延制御装置は、前記フリップフロップの前記データの入力端子に、少なくとも前記第１遅延素子及び第２遅延素子に設定可能な遅延値のうち最小の遅延値を有するデータ遅延素子が接続されていることを特徴とする請求項１または請求項２記載の遅延制御装置。
【請求項４】
前記遅延制御装置は、前記クロックの整数倍の周期に相当する遅延値と当該遅延値を増減させる量を示す遅延設定値に基づいて遅延値を算出して前記第１遅延素子に設定するとともに、前記遅延制御手段に出力する遅延値算出手段を、さらに備え、前記遅延制御手段が、当該遅延値算出手段から入力される遅延値と前記位相比較手段の比較結果に基づいて前記第２遅延素子の遅延値を制御することを特徴とする請求項１から請求項３のいずれかに記載の遅延制御装置。
【請求項５】
データの数に対応する数だけ設けられそれぞれ当該データをストローブ信号に基づいて取り込むフリップフロップと、選択信号に応じてストローブ信号とクロックを選択して出力する選択手段と、前記選択手段の選択するストローブ信号またはクロックが入力され遅延値が可変である第１遅延素子と第２遅延素子と、第１遅延素子と第２遅延素子の出力の位相を比較する位相比較手段と、前記クロックの整数倍の周期に相当する遅延値と当該遅延値を増減させる量を示す遅延設定値に基づいて遅延値を算出して前記第１遅延素子に設定する遅延値算出手段と、前記位相比較手段の比較結果に基づいて前記第２遅延素子の遅延値を制御する遅延制御手段と、を備え、前記選択手段が前記ストローブ信号を選択しているとき、前記第２遅延素子が当該ストローブ信号を前記遅延値だけ遅延させて前記フリップフロップに出力する遅延制御装置であって、前記選択手段が前記クロックを選択すると、当該クロックを前記第１遅延素子が前記遅延値算出手段の算出する遅延値で遅延させた遅延出力と当該クロックを前記第２遅延素子が遅延させた遅延出力とを前記位相比較手段で比較し、前記遅延制御手段が、当該位相比較手段の比較結果に基づいて前記第２遅延素子の遅延値を制御することを特徴とする遅延制御装置。
【請求項６】
前記遅延制御装置は、前記第２遅延素子の出力が、１つのバッファまたは複数のバッファのツリー構造を通して、前記位相比較手段及び前記フリップフロップに入力されていることを特徴とする請求項５記載の遅延制御装置。
【請求項７】
前記遅延制御装置は、前記フリップフロップの前記データの入力端子に、少なくとも前記第１遅延素子及び第２遅延素子に設定可能な遅延値のうち最小の遅延値を有するデータ遅延素子が接続されていることを特徴とする請求項５または請求項６記載の遅延制御装置。
【請求項８】
前記遅延制御装置は、前記クロックの整数倍の周期に相当する遅延値と当該遅延値を増減させる量を示す遅延設定値に基づいて遅延値を算出する複数の遅延値算出手段を、さらに備え、当該１つの遅延値算出手段が、当該算出した遅延値を前記第１遅延素子に設定し、当該他の遅延値算出手段が、当該算出した遅延値を前記データ遅延素子に設定することを特徴とする請求項７記載の遅延制御装置。
【請求項９】
前記遅延制御装置は、前記選択手段に入力される前記ストローブ信号を所定の遅延値で遅延させるストローブ遅延素子と、前記クロックの整数倍の周期に相当する遅延値と当該遅延値を増減させる量を示す遅延設定値に基づいて遅延値を算出する複数の遅延値算出手段を、さらに備え、当該遅延値算出手段の１つが、当該算出した遅延値を前記ストローブ遅延素子に設定することを特徴とする請求項５から請求項８のいずれかに記載の遅延制御装置。
【請求項１０】
前記遅延制御装置は、少なくとも前記データ遅延素子に設定可能な遅延値のうち最小の遅延値を有するとともに当該データ遅延素子に入力されるデータを遅延させる第２データ遅延素子を前記データ遅延素子と同じ数だけ備えていることを特徴とする請求項９記載の遅延制御装置。
【請求項１１】
前記遅延制御装置は、前記クロックの整数倍の周期に相当する遅延値と当該遅延値を増減させる量を示す遅延設定値に基づいて遅延値を算出する複数の遅延値算出手段を、さらに備え、当該遅延値算出手段の１つが、当該算出した遅延値を前記第２データ遅延素子に設定することを特徴とする請求項１０記載の遅延制御装置。
【請求項１２】
前記遅延制御装置は、前記選択手段に、前記ストローブ信号と補正信号制御回路の出力する補正信号が入力され、当該補正信号制御回路が、所定周期でハイとローに変化する補正信号を出力し、前記選択手段が、前記選択信号に応じて当該ストローブ信号と当該補正信号を選択して出力することを特徴とする請求項１から請求項１１のいずれかに記載の遅延制御装置。
【請求項１３】
前記遅延制御装置は、前記遅延値算出手段の前記遅延設定値が、外部の制御手段から設定可能であることを特徴とする請求項４、請求項８、請求項９、請求項１１のいずれかに記載の遅延制御装置。
【請求項１４】
前記遅延制御装置は、前記遅延値算出手段の前記遅延設定値が、外部の不揮発性メモリに格納されている当該遅延設定値を外部の制御手段が読み出して設定可能であることを特徴とする請求項４、請求項８、請求項９、請求項１１のいずれかに記載の遅延制御装置。
【請求項１５】
前記遅延制御装置は、記憶手段としてのＤＤＲ−ＳＤＲＡＭに接続され、当該ＤＤＲ−ＳＤＲＡＭへのアクセス時のデータ及びストローブ信号の遅延制御を行うことを特徴とする請求項１から請求項１４のいずれかに記載の遅延制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遅延制御装置に関し、詳細には、ＤＬＬ（ディレイ・ロックド・ループ）を用いてデータをクロックまたはストローブ信号に同期させて取り込む際のデータとクロックまたはストローブ信号の同期を簡単かつ適切にとる遅延制御装置に関する。
【背景技術】
【０００２】
従来からデバイス間のデータインターフェースの手法としては、デバイス間で位相制御された単一のクロックを用い当該クロックに同期してデータを送受信する手法と、データを送信するデバイスがストローブ信号とデータを出力し当該データを受信するデバイスが受け取ったストローブ信号とデータを用いて内部に取り込む手法とがある。
【０００３】
後者の手法の例としては、ハードディスクにおけるウルトラＤＭＡあるいはＤＤＲ（ダブルデータレート：Double Data Rate）―ＳＤＲＡＭのデータインターフェースがある。これらのうちウルトラＤＭＡを実施することは、ウルトラＤＭＡ１００においてもストローブ信号は最大５０ＭＨｚの動作であるため、ハードディスクインターフェースを有するＡＳＩＣ設計において特に困難ではない。
【０００４】
ところが、ＤＤＲ−ＳＤＲＡＭの場合、４００ＭＨｚあるいは２６６ＭＨｚのような高速のストローブ信号に同期してデータを受ける必要があり、また、ストローブ信号とデータのタイミング規定が厳しいため、ＡＳＩＣ設計において専用の機構を用いないと、実施が困難である。
【０００５】
ＤＬＬ（Delay Locked Loop ）を用いた従来技術としては、例えば、非特許文献１に記載の技術が知られており、この手法を用いた構成は、図８のように示され、図８の構成を用いたデータの入力タイミングは、図９のように示される。
【０００６】
すなわち、従来の信号遅延装置は、データが４ビットの場合、図８に示すように、ＤＬＬ１０１、遅延設定算出回路１０２、遅延素子１０３、４個の最小遅延素子１０４〜１０７、４個のフリップフロップ１０８〜１１１等を備え、ＤＬＬ１０１は、遅延素子１１２、位相比較器１１３及び遅延制御回路１１４等を備えている。
【０００７】
ＤＬＬ１０１は、遅延素子１１２が、入力されるクロックの１周期分を遅延させて位相比較器１１３に出力し、位相比較器１１３が遅延素子１１２で遅延されたクロックと入力されたクロックの位相を比較して、遅延制御回路１１４に出力し、遅延制御回路１１４が、この位相比較結果に基づいてクロックの１周期分に値する遅延設定値を算出して、遅延素子１１２と遅延設定値算出回路１０２に出力する。
【０００８】
遅延設定値算出回路１０２は、遅延制御回路１１４から入力される遅延設定値とギア比設定値からストローブ信号を遅延させる遅延素子１０３の遅延設定値を算出して、遅延素子１０３に出力し、遅延素子１０３は、入力されるストローブ信号を遅延設定算出回路１０２から入力される遅延設定値に基づいて遅延させて補正ストローブ信号としてフリップフロップ１０８〜１１１に出力する。
【０００９】
最小遅延素子１０４〜１０７には、それぞれデータ０〜データ３が入力され、最小遅延素子１０４〜１０７は、予め設定されている遅延量だけデータ０〜データ３を遅延させてフリップフロップ１０８〜１１１に出力する。この最小遅延素子１０４〜１０７は、遅延値が０％に設定された遅延素子１０３の遅延値と同じ遅延値となる。
【００１０】
そして、例えば、上記ギア比設定値が４５％であると、遅延設定値算出回路１０２は、クロックの４５％の遅延値を遅延素子１０３に設定し、遅延素子１０３は、入力されるストローブ信号を当該遅延値だけ遅延させて、フリップフロップ１０８〜１１１に出力する。なお、上記回路では、遅延素子１１２と遅延素子１０３は、同じ構成の遅延素子であることが前提となっている。そして、この信号遅延装置におけるデータの入力タイミングは、図９のようになり、図９のｔｄがストローブ用の遅延素子１０３による遅延量である。
【００１１】
【非特許文献１】Micron Design Line ,Volume8,Issue3 3Q99 「DDR SDRAM Functionality and Controller Read Data Capture」
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、このような従来の技術にあっては、ＤＬＬを使用してＡＳＩＣを設計した場合、データが複数ビットあると、補正されたストローブ信号と各データを取り込むフリップフロップ間のスキュー、各データのＡＳＩＣ端子からフリップフロップの入力までのスキューの大小が、図９に示した有効なデータ幅の大小に影響する。
【００１３】
すなわち、図１０（ａ）は、ストローブ遅延の理想的なタイミングを示しており、ＴＤＤは、複数のデータ信号の入力から最小遅延素子１０４〜１０７を通してフリップフロップ１０８〜１１１に至るまでの遅延を示している。図１０において、ＴＤ１は、ストローブ遅延値であり、Ｔ１は、遅延素子１０３で設定された遅延値を示している。遅延素子１０３は、小さな遅延単位の選択により遅延値Ｔ１が決まるためジッタが存在し、Ｊ１は、そのジッタを示している。ＡＳＩＣ設計においては、複数のデータ信号で遅延ＴＤＤが一定になることが必要である。したがって、図８に示すように、フリップフロップ１０８〜１１１は、最小遅延素子１０４〜１０７の近傍に配置され、各データ線の遅延ＴＤＤの差が無いように設計される。
【００１４】
ここで問題となるのは、ＡＳＩＣ設計では、遅延素子１０３により補正されるストローブ信号は、遅延素子１０３を出力した後、クロックツリーシンセシスを用いて各フリップフロップ１０８〜１１１までのスキューが小さくなるように設計されるが、遅延素子１０３からフリップフロップ１０８〜１１１までの距離が長くなることである。遅延素子１０３からフリップフロップ１０８〜１１１までの遅延は、温度、電圧の変動により遅延値の変動が大きいことである。図１０（ｂ）のＪ２が、その変動量であり、ＴＣが遅延素子１０３からフリップフロップ１０８〜１１１までの遅延値に相当する。
【００１５】
したがって、図１０（ａ）の理想的なタイミングにおいては、その有効なデータウィンドウＴＤＷに対して、マージンが、図１０（ａ）のＭ１Ａ、Ｍ１Ｂになるが、実際のＡＳＩＣ設計においては、マージンが図１０（ｂ）のＭ２Ａ、Ｍ２Ｂのように、データウィンドウに対するバランス及びマージンが減少してしまう。
【００１６】
すなわち、遅延素子１０３〜フリップフロップ１０８〜１１１までの遅延値の変動量Ｊ２及び遅延素子１０３からフリップフロップ１０８〜１１１までの遅延値ＴＣが存在するため、ＡＳＩＣ設計において、複数のデータ信号で遅延ＴＤＤを一定することが困難になるという問題である。
【００１７】
また、図１０（ａ）の理想的なタイミングにおいて、遅延ＴＤＤの値は、図８に示すように、ＡＳＩＣのデータ入力からフリップフロップ１０８〜１１１までの遅延値を示しているが、実際のシステム上では、接続される記憶装置の複数のデータバスからＡＳＩＣのデータバスまでの配線距離は全て等しいわけではなく、スキューを持っている。すなわち、図１１に示すように、遅延ＴＤＤが、一定であっても、データ０〜データ３がＡＳＩＣに入力されるタイミングが異なる。そのため、ストローブ信号で取り込むべきデータウィンドウは、図１１にＴＤＷ＿ＡＬＬで示されるように、狭くなってしまう。
【００１８】
したがって、ＡＳＩＣ設計においては、この入力されるデータ０〜データ３のスキューを小さく抑制する必要がある。
【００１９】
そこで、請求項１記載の発明は、選択手段で選択されたストローブ信号またはクロックが入力されるとともに、遅延値が可変である第１遅延素子と第２遅延素子を有し、選択手段がストローブ信号を選択しているときに、第２遅延素子が、当該ストローブ信号を遅延値だけ遅延させて、データの数に対応する数だけ設けられそれぞれ当該データをストローブ信号に基づいて取り込むフリップフロップに入力させ、選択手段がクロックを選択しているときに、第１遅延素子と第２遅延素子の当該クロックの遅延出力の位相を、位相比較手段で比較し、遅延制御手段で、当該位相比較手段の比較結果に基づいて、第２遅延素子の遅延値を制御することにより、第２遅延素子の位相比較手段に至るまでの遅延値を第１遅延素子に設定される遅延値に等しくして、第２遅延素子のフリップフロップに至るまでの遅延値を、基準となる第１遅延素子の遅延値と等しくし、フリップフロップのクロック入力のジッタが第１遅延素子および第２遅延素子のみで決定されるようにして、データ転送を適切に行う遅延制御装置を提供することを目的としている。
【００２０】
請求項２記載の発明は、第２遅延素子の出力を、１つのバッファまたは複数のバッファのツリー構造を通して、位相比較手段及びフリップフロップに入力することにより、第２遅延素子から位相比較手段に至るまでの遅延値と第２遅延素子からフリップフロップに至るまでの遅延値を等しくして、第２遅延素子からフリップフロップまでの遅延を小さく抑制し、スキューによるデータとストローブ信号とのタイミングのずれを適切に補正できるようにして、データとストローブ信号を適切に同期させて、データ転送を適切に行う遅延制御装置を提供することを目的としている。
【００２１】
請求項３記載の発明は、フリップフロップのデータの入力端子に、少なくとも第１遅延素子及び第２遅延素子に設定可能な遅延値のうち最小の遅延値を有するデータ遅延素子を接続することにより、クロックツリーシンセシスによるバッファ段数に関係なく、第２遅延素子からフリップフロップまでの遅延を小さく抑制し、理想的な遅延制御を行えるようにするとともに、ＡＳＩＣのレイアウト設計工程においても、クロックツリーシンセシスのバッファ段数や遅延値の大小に関係なくレイアウト設計を行えるようにして、設計工期を短縮させることのできる遅延制御装置を提供することを目的としている。
【００２２】
請求項４記載の発明は、遅延制御手段が、クロックの整数倍の周期に相当する遅延値と当該遅延値を増減させる量を示す遅延設定値に基づいて遅延値を算出して第１遅延素子に設定するとともに、遅延制御手段に出力する遅延値算出手段から入力される遅延値と位相比較手段の比較結果に基づいて第２遅延素子の遅延値を制御することにより、第１遅延素子に設定する遅延値を、ストローブ信号とデータ信号のタイミング関係から第１遅延素子に設定する遅延値分だけずれたタイミングでストローブ信号をデータ信号からずらし、理想的な遅延制御を行えるようにする遅延制御装置を提供することを目的としている。
【００２３】
請求項５記載の発明は、選択手段で選択されたストローブ信号またはクロックが入力されるとともに、遅延値が可変である第１遅延素子と第２遅延素子を有し、選択手段がストローブ信号を選択しているときに、第２遅延素子が、当該ストローブ信号を遅延値だけ遅延させて、データの数に対応する数だけ設けられそれぞれ当該データをストローブ信号に基づいて取り込むフリップフロップに入力させ、選択手段がクロックを選択しているときに、クロックの整数倍の周期に相当する遅延値と当該遅延値を増減させる量を示す遅延設定値に基づいて遅延値を算出する遅延値算出手段が算出した遅延値で第１遅延素子が当該クロックを遅延させた遅延出力と第２遅延素子の当該クロックの遅延出力の位相を、位相比較手段で比較し、遅延制御手段で、当該位相比較手段の比較結果に基づいて、第２遅延素子の遅延値を制御することにより、第２遅延素子の位相比較手段に至るまでの遅延値を第１遅延素子に設定される遅延値に等しくして、第２遅延素子のフリップフロップに至るまでの遅延値を、基準となる第１遅延素子の遅延値と等しくし、フリップフロップのクロック入力のジッタが第１遅延素子および第２遅延素子のみで決定されるようにして、データ転送を適切に行う遅延制御装置を提供することを目的としている。
【００２４】
請求項６記載の発明は、請求項５の第２遅延素子の出力を、１つのバッファまたは複数のバッファのツリー構造を通して、位相比較手段及びフリップフロップに入力することにより、第２遅延素子から位相比較手段に至るまでの遅延値と第２遅延素子からフリップフロップに至るまでの遅延値を等しくして、第２遅延素子からフリップフロップまでの遅延を小さく抑制し、スキューによるデータとストローブ信号とのタイミングのずれを適切に補正できるようにして、データとストローブ信号を適切に同期させて、データ転送を適切に行う遅延制御装置を提供することを目的としている。
【００２５】
請求項７記載の発明は、請求項５または請求項６のフリップフロップのデータの入力端子に、少なくとも第１遅延素子及び第２遅延素子に設定可能な遅延値のうち最小の遅延値を有するデータ遅延素子を接続することにより、クロックツリーシンセシスによるバッファ段数に関係なく、第２遅延素子からフリップフロップまでの遅延を小さく抑制し、理想的な遅延制御を行えるようにするとともに、ＡＳＩＣのレイアウト設計工程においても、クロックツリーシンセシスのバッファ段数や遅延値の大小に関係なくレイアウト設計を行えるようにして、設計工期を短縮させることのできる遅延制御装置を提供することを目的としている。
【００２６】
請求項８記載の発明は、クロックの整数倍の周期に相当する遅延値と当該遅延値を増減させる量を示す遅延設定値に基づいて遅延値を算出する複数の遅延値算出手段のうち、１つの遅延値算出手段が、当該算出した遅延値を第１遅延素子に設定し、当該他の遅延値算出手段が、当該算出した遅延値をデータ遅延素子に設定することにより、複数のデータの遅延を、例えば、クロック周期のＭ％分の遅延にさせるような制御を、それぞれのデータ信号毎に個別で設定し、データ信号のスキューを補正するとともに、クロックツリーを採用することなく、第２遅延素子から各フリップフロップまでの伝送路にスキューがあっても補正できるようにし、安価かつ適切にデータ転送を行う遅延制御装置を提供することを目的としている。
【００２７】
請求項９記載の発明は、ロックの整数倍の周期に相当する遅延値と当該遅延値を増減させる量を示す遅延設定値に基づいて遅延値を算出する複数の遅延値算出手段のうち、１つの遅延値算出手段が、当該算出した遅延値を、入力されるストローブ信号を所定の遅延値で遅延させるストローブ遅延素子に設定することにより、ストローブ出力信号にデータ出力信号に対して一定の遅延を持たせ、スキューによるデータとストローブ信号とのタイミングのずれを適切に補正できるようにして、データとストローブ信号を適切に同期させて、データ転送を適切に行う遅延制御装置を提供することを目的としている。
【００２８】
請求項１０記載の発明は、少なくともデータ遅延素子に設定可能な遅延値のうち最小の遅延値を有するとともに当該データ遅延素子に入力されるデータを遅延させる第２データ遅延素子をデータ遅延素子と同じ数だけ設けることにより、データ出力信号とストローブ出力信号のタイミング（遅延差）をデータ遅延素子に設定する遅延分とし、データとストローブ信号を適切に同期させて、データ転送を適切に行う遅延制御装置を提供することを目的としている。
【００２９】
請求項１１記載の発明は、クロックの整数倍の周期に相当する遅延値と当該遅延値を増減させる量を示す遅延設定値に基づいて遅延値を算出する複数の遅延値算出手段のうち、１つの遅延値算出手段が、当該算出した遅延値を第２データ遅延素子に設定することにより、データ出力信号毎に遅延値を設定できるようにし、データ出力以降の伝送路のスキューを補正して、より一層適切にデータ転送を行う遅延制御装置を提供することを目的としている。
【００３０】
請求項１２記載の発明は、選択手段に、ストローブ信号と補正信号制御回路の出力する補正信号が入力され、当該補正信号制御回路が、所定周期でハイとローに変化する補正信号を出力し、選択手段が、選択信号に応じて当該ストローブ信号と当該補正信号を選択して出力することにより、安価にかつ汎用性が良好な状態で、適切にデータ転送を行う遅延制御装置を提供することを目的としている。
【００３１】
請求項１３記載の発明は、遅延値算出手段の遅延設定値を、外部の制御手段から設定可能とすることにより、遅延設定値をソフトウェア等で設定できるようにし、ＡＳＩＣ設計やボード設計の差異により異なる値を機器毎に自由に設定することのできる遅延制御装置を提供することを目的としている。
【００３２】
請求項１４記載の発明は、遅延値算出手段の遅延設定値を、外部の不揮発性メモリに格納されている当該遅延設定値を外部の制御手段が読み出して設定可能とすることにより、機器毎に異なるボード上のデータスキューに対応した遅延設定値を、例えば、初期化用のＲＯＭ等の不揮発性メモリに書き込んで、制御手段が設定して、メインのソフトウェアを変更することなく、適切な遅延設定値を設定できるようにし、ＡＳＩＣ設計やボード設計の差異により異なる値を機器毎に自由にかつ安価に設定することのできる遅延制御装置を提供することを目的としている。
【００３３】
請求項１５記載の発明は、遅延制御装置を、記憶手段としてのＤＤＲ−ＳＤＲＡＭに接続し、当該ＤＤＲ−ＳＤＲＡＭへのアクセス時のデータ及びストローブ信号の遅延制御を行うことにより、ＤＤＲ−ＳＤＲＡＭの制御を適切に行うとともに、例えば、選択信号を、例えば、リフレッシュ期間にアクティブにすることにより、データの転送サイクルを妨げることなくストローブ信号の補正を行うことのできる利用性の良好な遅延制御装置を提供することを目的としている。
【課題を解決するための手段】
【００３４】
請求項１記載の発明の遅延制御装置は、データの数に対応する数だけ設けられそれぞれ当該データをストローブ信号に基づいて取り込むフリップフロップと、選択信号に応じてストローブ信号とクロックを選択して出力する選択手段と、前記選択手段の選択するストローブ信号またはクロックが入力され遅延値が可変である第１遅延素子と第２遅延素子と、当該第１遅延素子と当該第２遅延素子の出力の位相を比較する位相比較手段と、当該位相比較手段の比較結果に基づいて前記第２遅延素子の遅延値を制御する遅延制御手段と、を備え、前記選択手段が前記ストローブ信号を選択しているとき、前記第２遅延素子が当該ストローブ信号を前記遅延値だけ遅延させて前記フリップフロップに出力する遅延制御装置であって、前記選択手段が前記クロックを選択すると、当該クロックの前記第１遅延素子と前記第２遅延素子の遅延出力を前記位相比較手段で比較し、前記遅延制御手段が、当該位相比較手段の比較結果に基づいて前記第２遅延素子の遅延値を制御することにより、上記目的を達成している。
【００３５】
この場合、例えば、請求項２に記載するように、前記遅延制御装置は、前記第２遅延素子の出力が、１つのバッファまたは複数のバッファのツリー構造を通して、前記位相比較手段及び前記フリップフロップに入力されているものであってもよい。
【００３６】
また、例えば、請求項３に記載するように、前記遅延制御装置は、前記フリップフロップの前記データの入力端子に、少なくとも前記第１遅延素子及び第２遅延素子に設定可能な遅延値のうち最小の遅延値を有するデータ遅延素子が接続されているものであってもよい。
【００３７】
また、例えば、請求項４に記載するように、前記遅延制御装置は、前記クロックの整数倍の周期に相当する遅延値と当該遅延値を増減させる量を示す遅延設定値に基づいて遅延値を算出して前記第１遅延素子に設定するとともに、前記遅延制御手段に出力する遅延値算出手段を、さらに備え、前記遅延制御手段が、当該遅延値算出手段から入力される遅延値と前記位相比較手段の比較結果に基づいて前記第２遅延素子の遅延値を制御するものであってもよい。
【００３８】
請求項５記載の発明の遅延制御装置は、データの数に対応する数だけ設けられそれぞれ当該データをストローブ信号に基づいて取り込むフリップフロップと、選択信号に応じてストローブ信号とクロックを選択して出力する選択手段と、前記選択手段の選択するストローブ信号またはクロックが入力され遅延値が可変である第１遅延素子と第２遅延素子と、第１遅延素子と第２遅延素子の出力の位相を比較する位相比較手段と、前記クロックの整数倍の周期に相当する遅延値と当該遅延値を増減させる量を示す遅延設定値に基づいて遅延値を算出して前記第１遅延素子に設定する遅延値算出手段と、前記位相比較手段の比較結果に基づいて前記第２遅延素子の遅延値を制御する遅延制御手段と、を備え、前記選択手段が前記ストローブ信号を選択しているとき、前記第２遅延素子が当該ストローブ信号を前記遅延値だけ遅延させて前記フリップフロップに出力する遅延制御装置であって、前記選択手段が前記クロックを選択すると、当該クロックを前記第１遅延素子が前記遅延値算出手段の算出する遅延値で遅延させた遅延出力と当該クロックを前記第２遅延素子が遅延させた遅延出力とを前記位相比較手段で比較し、前記遅延制御手段が、当該位相比較手段の比較結果に基づいて前記第２遅延素子の遅延値を制御することにより、上記目的を達成している。
【００３９】
この場合、例えば、請求項６に記載するように、前記遅延制御装置は、前記第２遅延素子の出力が、１つのバッファまたは複数のバッファのツリー構造を通して、前記位相比較手段及び前記フリップフロップに入力されているものであってもよい。
【００４０】
また、例えば、請求項７に記載するように、前記遅延制御装置は、前記フリップフロップの前記データの入力端子に、少なくとも前記第１遅延素子及び第２遅延素子に設定可能な遅延値のうち最小の遅延値を有するデータ遅延素子が接続されているものであってもよい。
【００４１】
さらに、例えば、請求項８に記載するように、前記遅延制御装置は、前記クロックの整数倍の周期に相当する遅延値と当該遅延値を増減させる量を示す遅延設定値に基づいて遅延値を算出する複数の遅延値算出手段を、さらに備え、当該１つの遅延値算出手段が、当該算出した遅延値を前記第１遅延素子に設定し、当該他の遅延値算出手段が、当該算出した遅延値を前記データ遅延素子に設定するものであってもよい。
【００４２】
また、例えば、請求項９に記載するように、前記遅延制御装置は、前記選択手段に入力される前記ストローブ信号を所定の遅延値で遅延させるストローブ遅延素子と、前記クロックの整数倍の周期に相当する遅延値と当該遅延値を増減させる量を示す遅延設定値に基づいて遅延値を算出する複数の遅延値算出手段を、さらに備え、当該遅延値算出手段の１つが、当該算出した遅延値を前記ストローブ遅延素子に設定するものであってもよい。
【００４３】
さらに、例えば、請求項１０に記載するように、前記遅延制御装置は、少なくとも前記データ遅延素子に設定可能な遅延値のうち最小の遅延値を有するとともに当該データ遅延素子に入力されるデータを遅延させる第２データ遅延素子を前記データ遅延素子と同じ数だけ備えているものであってもよい。
【００４４】
また、例えば、請求項１１に記載するように、前記遅延制御装置は、前記クロックの整数倍の周期に相当する遅延値と当該遅延値を増減させる量を示す遅延設定値に基づいて遅延値を算出する複数の遅延値算出手段を、さらに備え、当該遅延値算出手段の１つが、当該算出した遅延値を前記第２データ遅延素子に設定するものであってもよい。
【００４５】
さらに、例えば、請求項１２に記載するように、前記遅延制御装置は、前記選択手段に、前記ストローブ信号と補正信号制御回路の出力する補正信号が入力され、当該補正信号制御回路が、所定周期でハイとローに変化する補正信号を出力し、前記選択手段が、前記選択信号に応じて当該ストローブ信号と当該補正信号を選択して出力するものであってもよい。
【００４６】
また、例えば、請求項１３に記載するように、前記遅延制御装置は、前記遅延値算出手段の前記遅延設定値が、外部の制御手段から設定可能であってもよい。
【００４７】
さらに、例えば、請求項１４に記載するように、前記遅延制御装置は、前記遅延値算出手段の前記遅延設定値が、外部の不揮発性メモリに格納されている当該遅延設定値を外部の制御手段が読み出して設定可能であってもよい。
【００４８】
また、例えば、請求項１５に記載するように、前記遅延制御装置は、記憶手段としてのＤＤＲ−ＳＤＲＡＭに接続され、当該ＤＤＲ−ＳＤＲＡＭへのアクセス時のデータ及びストローブ信号の遅延制御を行うものであってもよい。
【発明の効果】
【００４９】
請求項１記載の発明の遅延制御装置によれば、選択手段で選択されたストローブ信号またはクロックが入力されるとともに、遅延値が可変である第１遅延素子と第２遅延素子を有し、選択手段がストローブ信号を選択しているときに、第２遅延素子が、当該ストローブ信号を遅延値だけ遅延させて、データの数に対応する数だけ設けられそれぞれ当該データをストローブ信号に基づいて取り込むフリップフロップに入力させ、選択手段がクロックを選択しているときに、第１遅延素子と第２遅延素子の当該クロックの遅延出力の位相を、位相比較手段で比較し、遅延制御手段で、当該位相比較手段の比較結果に基づいて、第２遅延素子の遅延値を制御するので、第２遅延素子の位相比較手段に至るまでの遅延値を第１遅延素子に設定される遅延値に等しくして、第２遅延素子のフリップフロップに至るまでの遅延値を、基準となる第１遅延素子の遅延値と等しくすることができ、フリップフロップのクロック入力のジッタが第１遅延素子および第２遅延素子のみで決定されるようにして、データ転送を適切に行うことができる。
【００５０】
請求項２記載の発明の遅延制御装置によれば、第２遅延素子の出力を、１つのバッファまたは複数のバッファのツリー構造を通して、位相比較手段及びフリップフロップに入力しているので、第２遅延素子から位相比較手段に至るまでの遅延値と第２遅延素子からフリップフロップに至るまでの遅延値を等しくして、第２遅延素子からフリップフロップまでの遅延を小さく抑制することができ、スキューによるデータとストローブ信号とのタイミングのずれを適切に補正できるようにして、データとストローブ信号を適切に同期させて、データ転送を適切に行うことができる。
【００５１】
請求項３記載の発明の遅延制御装置によれば、フリップフロップのデータの入力端子に、少なくとも第１遅延素子及び第２遅延素子に設定可能な遅延値のうち最小の遅延値を有するデータ遅延素子を接続しているので、クロックツリーシンセシスによるバッファ段数に関係なく、第２遅延素子からフリップフロップまでの遅延を小さく抑制することができ、理想的な遅延制御を行えるようにすることができるとともに、ＡＳＩＣのレイアウト設計工程においても、クロックツリーシンセシスのバッファ段数や遅延値の大小に関係なくレイアウト設計を行えるようにして、設計工期を短縮させることができる。
【００５２】
請求項４記載の発明の遅延制御装置によれば、クロックの整数倍の周期に相当する遅延値と当該遅延値を増減させる量を示す遅延設定値に基づいて遅延値を算出して第１遅延素子に設定するとともに遅延制御手段に出力する遅延値算出手段から入力される遅延値と位相比較手段の比較結果に基づいて、遅延制御手段が、第２遅延素子の遅延値を制御しているので、第１遅延素子に設定する遅延値を、ストローブ信号とデータ信号のタイミング関係から第１遅延素子に設定する遅延値分だけずれたタイミングでストローブ信号をデータ信号からずらすことができ、理想的な遅延制御を行えるようにすることができる。
【００５３】
請求項５記載の発明の遅延制御装置によれば、選択手段で選択されたストローブ信号またはクロックが入力されるとともに、遅延値が可変である第１遅延素子と第２遅延素子を有し、選択手段がストローブ信号を選択しているときに、第２遅延素子が、当該ストローブ信号を遅延値だけ遅延させて、データの数に対応する数だけ設けられそれぞれ当該データをストローブ信号に基づいて取り込むフリップフロップに入力させ、選択手段がクロックを選択しているときに、クロックの整数倍の周期に相当する遅延値と当該遅延値を増減させる量を示す遅延設定値に基づいて遅延値を算出する遅延値算出手段が算出した遅延値で第１遅延素子が当該クロックを遅延させた遅延出力と第２遅延素子の当該クロックの遅延出力の位相を、位相比較手段で比較し、遅延制御手段で、当該位相比較手段の比較結果に基づいて、第２遅延素子の遅延値を制御しているので、第２遅延素子の位相比較手段に至るまでの遅延値を第１遅延素子に設定される遅延値に等しくして、第２遅延素子のフリップフロップに至るまでの遅延値を、基準となる第１遅延素子の遅延値と等しくすることができ、フリップフロップのクロック入力のジッタが第１遅延素子および第２遅延素子のみで決定されるようにして、データ転送を適切に行うことができる。
【００５４】
請求項６記載の発明の遅延制御装置によれば、第２遅延素子の出力を、１つのバッファまたは複数のバッファのツリー構造を通して、位相比較手段及びフリップフロップに入力しているので、第２遅延素子から位相比較手段に至るまでの遅延値と第２遅延素子からフリップフロップに至るまでの遅延値を等しくして、第２遅延素子からフリップフロップまでの遅延を小さく抑制することができ、スキューによるデータとストローブ信号とのタイミングのずれを適切に補正できるようにして、データとストローブ信号を適切に同期させて、データ転送を適切に行うことができる。
【００５５】
請求項７記載の発明の遅延制御装置によれば、請求項５または請求項６のフリップフロップのデータの入力端子に、少なくとも第１遅延素子及び第２遅延素子に設定可能な遅延値のうち最小の遅延値を有するデータ遅延素子を接続しているので、クロックツリーシンセシスによるバッファ段数に関係なく、第２遅延素子からフリップフロップまでの遅延を小さく抑制することができ、理想的な遅延制御を行えるようにすることができるとともに、ＡＳＩＣのレイアウト設計工程においても、クロックツリーシンセシスのバッファ段数や遅延値の大小に関係なくレイアウト設計を行えるようにして、設計工期を短縮させることができる。
【００５６】
請求項８記載の発明の遅延制御装置によれば、クロックの整数倍の周期に相当する遅延値と当該遅延値を増減させる量を示す遅延設定値に基づいて遅延値を算出する複数の遅延値算出手段のうち、１つの遅延値算出手段が、当該算出した遅延値を第１遅延素子に設定し、当該他の遅延値算出手段が、当該算出した遅延値をデータ遅延素子に設定しているので、複数のデータの遅延を、例えば、クロック周期のＭ％分の遅延にさせるような制御を、それぞれのデータ信号毎に個別で設定することができ、データ信号のスキューを補正することができるとともに、クロックツリーを採用することなく、第２遅延素子から各フリップフロップまでの伝送路にスキューがあっても補正できるようにして、安価かつ適切にデータ転送を行うことができる。
【００５７】
請求項９記載の発明の遅延制御装置によれば、ロックの整数倍の周期に相当する遅延値と当該遅延値を増減させる量を示す遅延設定値に基づいて遅延値を算出する複数の遅延値算出手段のうち、１つの遅延値算出手段が、当該算出した遅延値を、入力されるストローブ信号を所定の遅延値で遅延させるストローブ遅延素子に設定しているので、ストローブ出力信号にデータ出力信号に対して一定の遅延を持たせることができ、スキューによるデータとストローブ信号とのタイミングのずれを適切に補正できるようにして、データとストローブ信号を適切に同期させて、データ転送を適切に行うことができる。
【００５８】
請求項１０記載の発明の遅延制御装置によれば、少なくともデータ遅延素子に設定可能な遅延値のうち最小の遅延値を有するとともに当該データ遅延素子に入力されるデータを遅延させる第２データ遅延素子をデータ遅延素子と同じ数だけ設けているので、データ出力信号とストローブ出力信号のタイミング（遅延差）をデータ遅延素子に設定する遅延分とすることができ、データとストローブ信号を適切に同期させて、データ転送を適切に行うことができる。
【００５９】
請求項１１記載の発明の遅延制御装置によれば、クロックの整数倍の周期に相当する遅延値と当該遅延値を増減させる量を示す遅延設定値に基づいて遅延値を算出する複数の遅延値算出手段のうち、１つの遅延値算出手段が、当該算出した遅延値を第２データ遅延素子に設定しているので、データ出力信号毎に遅延値を設定できるようにすることができ、データ出力以降の伝送路のスキューを補正して、より一層適切にデータ転送を行うことができる。
【００６０】
請求項１２記載の発明の遅延制御装置によれば、選択手段に、ストローブ信号と補正信号制御回路の出力する補正信号が入力され、当該補正信号制御回路が、所定周期でハイとローに変化する補正信号を出力し、選択手段が、選択信号に応じて当該ストローブ信号と当該補正信号を選択して出力するので、安価にかつ汎用性が良好な状態で、適切にデータ転送を行うことができる。
【００６１】
請求項１３記載の発明の遅延制御装置によれば、遅延値算出手段の遅延設定値を、外部の制御手段から設定可能としているので、遅延設定値をソフトウェア等で設定できるようにすることができ、ＡＳＩＣ設計やボード設計の差異により異なる値を機器毎に自由に設定することができる。
【００６２】
請求項１４記載の発明の遅延制御装置によれば、遅延値算出手段の遅延設定値を、外部の不揮発性メモリに格納されている当該遅延設定値を外部の制御手段が読み出して設定可能としているので、機器毎に異なるボード上のデータスキューに対応した遅延設定値を、例えば、初期化用のＲＯＭ等の不揮発性メモリに書き込んで、制御手段が設定して、メインのソフトウェアを変更することなく、適切な遅延設定値を設定できるようにすることができ、ＡＳＩＣ設計やボード設計の差異により異なる値を機器毎に自由にかつ安価に設定することができる。
【００６３】
請求項１５記載の発明の遅延制御装置によれば、遅延制御装置を、記憶手段としてのＤＤＲ−ＳＤＲＡＭに接続し、当該ＤＤＲ−ＳＤＲＡＭへのアクセス時のデータ及びストローブ信号の遅延制御を行っているので、ＤＤＲ−ＳＤＲＡＭの制御を適切に行うことができるとともに、例えば、選択信号を、例えば、リフレッシュ期間にアクティブにすることで、データの転送サイクルを妨げることなくストローブ信号の補正を行うことができ、利用性を向上させることができる。
【発明を実施するための最良の形態】
【００６４】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。
【実施例１】
【００６５】
図１は、本発明の遅延制御装置の第１実施例を示す図であり、図１は、本発明の遅延制御装置の第１実施例を適用した遅延制御装置１の回路構成図である。
【００６６】
図１において、遅延制御装置１は、マスターＤＬＬ２、遅延設定値算出回路３、ストローブ遅延部４、２つのデータ遅延部５、６及び４つのバッファ７〜１０等を備えている。
【００６７】
ストローブ遅延部４は、選択手段としてのＭＵＸ（multiplexer ：マルチプレクサ）１１、２つの遅延素子１２、１３、位相比較器１４及び遅延制御回路１５を備えており、データ遅延部５とデータ遅延部６は、それぞれ最小遅延素子２１と最小遅延素子２２を備えているとともに、フリップフロップ２３、２４とフリップフロップ２５、２６を備えている。
【００６８】
マスターＤＬＬ２には、リファレンスクロックが入力され、マスターＤＬＬ２は、入力されるリファレンスクロックの１周期分に値する遅延値を生成して、遅延設定値算出回路３に出力する。
【００６９】
遅延設定値算出回路（遅延値算出手段）３には、遅延設定値と上記マスターＤＬＬ２からの遅延値が入力され、遅延設定値算出回路３は、遅延設定値と遅延値に基づいてストローブ信号の遅延設定値を算出して、ストローブ遅延部４の遅延素子１２と遅延制御回路１３に出力する。
【００７０】
ストローブ遅延部４は、そのＭＵＸ１１に、上記リファレンスクロック（クロック）とストローブ信号が入力されるとともに、切換信号として補正モード信号が入力され、ＭＵＸ１１は、補正モード信号に基づいてリファレンスクロックとストローブ信号を切り換えて遅延素子１２と遅延素子１３に共通に出力する。特に、ＭＵＸ１１は、補正モード信号がアクティブのとき、すなわち、補正モード時に、リファレンスクロックを選択して遅延素子１２と遅延素子１３に出力する。なお、ストローブ信号は、バッファＢｆ１を介してＭＵＸ１１に入力される。
【００７１】
遅延素子（第１遅延素子）１２は、ＭＵＸ１１から入力されるリファレンスクロックまたはストローブ信号を遅延設定値算出回路３から入力される遅延設定値だけ遅延させて、位相比較器１４に出力する。この遅延素子１２の遅延値は、遅延素子１２の入力端子から位相比較器１４の入力端子までの遅延が理想的なストローブ信号の遅延値となるように設定されている。
【００７２】
遅延制御回路（遅延制御手段）１５は、遅延設定値算出回路３から入力される遅延設定値を遅延素子１３に設定するとともに、遅延素子１３への遅延値を、位相比較器１４からの遅延補正値で一単位ずつ増やして設定、または、一単位ずつ減らして設定する。
【００７３】
遅延素子（第２遅延素子）１３は、ＭＵＸ１１から入力されるリファレンスクロックまたはストローブ信号を遅延制御回路１５から入力される補正遅延値だけ遅延させて、バッファ７及びバッファ８を介して位相比較器１４に出力するとともに、バッファ７とバッファ１０を介してデータ遅延部５のフリップフロップ２３、２４に、また、バッファ７とバッファ９を介してデータ遅延部６のフリップフロップ２５、２６に、出力する。
【００７４】
位相比較器（位相比較手段）１４には、遅延素子１２の出力と、バッファ７及びバッファ８を通した遅延素子１３の出力と、が入力され、位相比較器１４は、これらの入力の位相を比較して、遅延素子１３の出力が遅延素子１２の出力よりも遅いと判定すると、遅延制御回路１５の現在の遅延値（最初は遅延素子１２と同じ設定値が設定・保存されている）の設定単位を一単位増やす遅延補正値を遅延制御回路１５に出力し、遅延素子１３の出力が遅延素子１２の出力よりも早いと判定すると、遅延制御回路１５の現在の遅延値の設定単位を一単位減らす遅延補正値を遅延制御回路１５に出力する。なお、位相比較器１４による遅延素子１３の出力が遅延素子１２の出力よりも遅いという判定を、「＋」判定、遅延素子１３の出力が遅延素子１２の出力よりも早いという判定を、「−」判定という。
【００７５】
遅延制御回路１５は、位相比較器１４からの「＋」判定または「−」判定に応じた遅延補正値に基づいて、遅延素子１３への現在の遅延設定値を設定単位の一単位増やして設定、あるいは、一単位減らして設定する。
【００７６】
データ遅延部５の最小遅延素子（データ遅延素子）２１には、データ０がバッファＢｆ２を介して入力され、フリップフロップ２３、２４は、そのデータ入力端子に最小遅延素子２１の出力が、そのクロック入力端子にストローブ遅延部４の遅延素子１３からのストローブ信号がバッファ７及びバッファ１０を通して入力される。最小遅延素子２１は、最小の遅延値である場合のストローブ信号入力からフリップフロップ２３、２４のクロック入力端子までの遅延値と、データ入力からフリップフロップ２３、２４のデータ入力端子までの遅延値と、を等しい遅延値とする遅延値でデータ０を遅延させて、フリップフロップ２３、２４のデータ入力端子に出力する。フリップフロップ２３、２４は、最小遅延素子２１から入力されるデータ０をストローブ遅延部４の遅延素子１３からのストローブ信号に基づいて出力する。
【００７７】
データ遅延部６の最小遅延素子（データ遅延素子）２２には、データ１がバッファＢｆ３を介して入力され、フリップフロップ２５、２６は、そのデータ入力端子に最小遅延素子２２の出力が、そのクロック入力端子にストローブ遅延部４の遅延素子１３からのストローブ信号がバッファ７及びバッファ９を通して入力される。最小遅延素子２２は、最小の遅延値である場合のストローブ信号入力からフリップフロップ２５、２６のクロック入力端子までの遅延値と、データ入力からフリップフロップ２５、２６のデータ入力端子までの遅延値と、を等しい遅延値とする遅延値でデータ１を遅延させて、フリップフロップ２５、２６のデータ入力端子に出力する。フリップフロップ２５、２６は、最小遅延素子２２から入力されるデータ１をストローブ遅延部４の遅延素子１３からのストローブ信号に基づいて出力する。
【００７８】
そして、上記遅延素子１２、１３としては、例えば、図２に示すような遅延素子３０を用いることができ、この遅延素子３０は、複数の単位遅延素子３１ａ〜３１ｎと選択回路３２を備えている。遅延素子３０は、設定される遅延値に応じて選択回路３２が、データまたはストローブ信号を出力させる単位遅延素子３１ａ〜３１ｎを選択して、当該選択した単位遅延素子３１ａ〜３１ｎの遅延させたデータまたはストローブ信号を出力する。
【００７９】
なお、上記構成では、ストローブ遅延部４は、遅延設定値算出回路３の出力が遅延制御回路１５に接続されて、遅延制御回路１５で遅延素子１２と同じ遅延値を、遅延素子１３に初期遅延値として設定しているが、ストローブ遅延部４の構成としては、上記構成に限るものではなく、遅延素子１３の遅延値は、予め初期遅延値を、遅延素子１３または遅延制御回路１５等に設定またはメモリ等に保存しておくことで、設定することができるため、遅延制御回路１５は、遅延設定値算出回路３に接続されていなくてもよい。
【００８０】
また、遅延素子１３から各フリップフロップ２３〜２６及び位相比較器１４の入力端子までの配線は、スキューを少なくするため、クロックツリーシンセシスを用いてバッファのツリー構造にしてもよい。
【００８１】
次に、本実施例の作用を説明する。本実施例の遅延制御装置１は、遅延素子１２の入力端子から位相比較器１４の入力端子までの遅延が理想的なストローブ信号の遅延値となっており、遅延素子１３の入力端子から遅延素子１３の出力バッファ７、８を介して位相比較器１４の入力端子に至るまでの遅延値を、理想的な遅延値に再設定する。
【００８２】
遅延制御装置１は、通常の動作モードでは、補正モード信号が非アクティブであり、ＭＵＸ１１がストローブ信号を選択して、遅延素子１３が、遅延制御回路１５により設定される遅延値でストローブ信号を遅延させて、バッファ７、１０を通してデータ遅延部５のフリップフロップ２３、２４に、また、バッファ７、９を通してデータ遅延部６のフリップフロップ２５、２６に、出力する。
【００８３】
フリップフロップ２３、２４及びフリップフロップ２５、２６は、それぞれ最小遅延素子２１及び最小遅延素子２２で遅延されたデータ０及びデータ１を、バッファ７、１０またはバッファ７、１０を通して遅延素子１３から入力されるストローブ信号に同期して出力する。
【００８４】
そして、遅延制御装置１は、所定の補正タイミングで、補正モード信号がアクティブになると、ＭＵＸ１１が、リファレンスクロックを選択して、遅延素子１２と遅延素子１３に出力し、遅延素子１２は、マスターＤＬＬ２が生成したリファレンスクロックの１周期分に値する遅延値と遅延設定値に基づいて遅延設定値算出回路３の算出した遅延値だけリファレンスクロックを遅延させて位相比較器１４に出力する。そして、この遅延素子１２の遅延値は、上述のように、遅延素子１２の入力端子から位相比較器１４の入力端子までの遅延が理想的なストローブ信号の遅延値となるように設定されている。
【００８５】
一方、遅延素子１３は、遅延制御回路１５により設定される遅延値でリファレンスクロックを遅延させて、バッファ７及びバッファ８を通して位相比較器１４に入力する。この遅延素子１３からバッファ７及びバッファ８を介した位相比較器１４の入力端子までの遅延値は、ストローブ信号の経路である遅延素子１３からバッファ７及びバッファ１０を通してフリップフロップ２３、２４の入力端子までの遅延値、遅延素子１３からバッファ７及びバッファ９を通してフリップフロップ２５、２５の入力端子までの遅延値と同じに設定されている。
【００８６】
そして、位相比較器１４は、遅延素子１２で理想的なストローブ信号の遅延値で遅延されて遅延素子１２から入力されるリファレンスクロックとバッファ７及びバッファ８を通して遅延素子１３から入力されるリファレンスクロックの位相を比較し、上記「＋」判定、または、「−」判定して、遅延制御回路１５の現在の遅延値の設定単位を一単位増やす遅延補正値、あるいは、一単位減らす遅延補正値を遅延制御回路１５に出力する。
【００８７】
遅延制御回路１５は、位相比較器１４からの「＋」判定または「−」判定に応じた遅延補正値に基づいて、遅延素子１３への現在の遅延値を設定単位の一単位増やして設定、あるいは、一単位減らして設定する。
【００８８】
遅延素子１３は、設定された遅延値だけ、ＭＵＸ１１から入力されるリファレンスクロックを回路１５から遅延させて、バッファ７及びバッファ８を介して位相比較器１４に出力する。
【００８９】
したがって、位相比較器１４の判定が「＋」から「−」に遷移した時が、遅延素子１３及びバッファ７、９及び配線遅延を含めた遅延値が遅延素子１２の遅延値と一致したことを示しており、このとき、ストローブ信号が遅延素子１３からフリップフロップ２３、２４及びフリップフロップ２５、２６まで到達する遅延値が理想的な遅延値と一致することになる。
【００９０】
上記補正処理を定期的に行うことにより、理想的なストローブ遅延を保つことができる。
【００９１】
このように、補正処理を行うことで、遅延素子１２の入力端子から位相比較器１４までの遅延値と、遅延素子１３の入力端子からバッファ７、８あるいはバッファのツリー構造を通って位相比較器１４に至るまでの遅延値とが一致するとともに、遅延素子１２の入力端子から位相比較器１４までの遅延値と、遅延素子１３の入力端子からバッファ７、１０またはバッファ７、９あるいはバッファのツリー構造を通ってフリップフロップ２３〜２６のクロック入力端子に至るまでの遅延値とも一致することになる。
【００９２】
したがって、ストローブ信号を意図した遅延値でフリップフロップ２３〜２６のクロック入力端子まで遅延させることができる。すなわち、フリップフロップ２３〜２６までのストローブ信号の遅延が、従来では、図１０（ｂ）のタイミング図で、ジッタがＪ２であったのが、図１０（ａ）のタイミング図で、ジッタをＪ１にすることができる。
【００９３】
また、遅延素子１２及び遅延素子１３は、最小の遅延値に設定しても０遅延にはならないが、本実施例の遅延制御装置１は、データ０及びデータ１を最小遅延素子２１、２２を通してフリップフロップ２３、２４及びフリップフロップ２５、２６に入力しているため、遅延素子１２及び遅延素子１３が最小の遅延値である場合のストローブ信号入力からフリップフロップ２３〜２６のクロック入力端子までの遅延値と、データ入力からフリップフロップ２３〜２６のデータ入力端子までの遅延値を等しくすることができる。
【００９４】
なお、遅延素子１３の出力端子からバッファ７、９及びバッファ７、１０等を介して接続されるフリップフロップ２３〜２６は、立ち上がりエッジあるいは立ち下がりエッジのものが混在していてもよく、また、遅延素子１３の出力は、正論理、負論理の２系統の出力があってもよい。さらに、図１の最小遅延素子２１、２２の出力が接続されるフリップフロップ２３、２４、２５、２６は複数であってもよい。
【００９５】
そして、本実施例の遅延制御装置１は、ストローブ遅延部４がリファレンスクロックに基づいて遅延素子１３の遅延値の補正処理を行っているが、リファレンスクロックに基づくものに限るものではなく、例えば、図３に示すように、入力クロックで、「Ｌ」から「Ｈ」、または、「Ｈ」から「Ｌ」に変化する補正信号を出力する補正信号制御回路４０を設けて、補正モード信号がアクティブのときに、この補正信号をＭＵＸ１１を介して遅延素子１２及び遅延素子１３に出力することで、上記同様に補正処理を行ってもよい。
【００９６】
このようにすると、遅延素子１３の位相比較器１４に至るまでの遅延値を遅延素子１２に設定される遅延値に等しくして、遅延素子１３のフリップフロップ２３〜２６に至るまでの遅延値を、基準となる遅延素子１２の遅延値と等しくすることができ、フリップフロップ２３〜２６のクロック入力のジッタが遅延素子１２および遅延素子１３のみで決定されるようにして、データ転送を適切に行うことができる。
【００９７】
また、本実施例の遅延制御装置１は、遅延素子１３の出力を、バッファ７〜１０を通して、位相比較器１４及びフリップフロップ２３〜２６に入力している。
【００９８】
したがって、遅延素子１３から位相比較器１４に至るまでの遅延値と遅延素子１３からフリップフロップ２３〜２６に至るまでの遅延値を等しくして、遅延素子１３からフリップフロップ２３〜２６までの遅延を小さく抑制することができ、スキューによるデータとストローブ信号とのタイミングのずれを適切に補正できるようにして、データとストローブ信号を適切に同期させて、データ転送を適切に行うことができる。
【実施例２】
【００９９】
図４は、本発明の遅延制御装置の第２実施例を適用した遅延制御装置１００の回路構成図である。
【０１００】
なお、本実施例は、上記第１実施例の遅延制御装置１と同様の遅延制御装置１００に適用したものであり、本実施例の説明においては、上記第１実施例の遅延制御装置１と同様の構成部分には、同一の符号を付して、その詳細な説明を省略する。
【０１０１】
図４において、遅延制御装置１００は、上記第１実施例の遅延制御装置１と同様のマスターＤＬＬ２、遅延設定値算出回路３、ストローブ遅延部４を備えているとともに、データ遅延設定値算出回路（遅延値算出手段）１０１、１０２及びデータ遅延部１０３、１０４を備えている。
【０１０２】
データ遅延部１０３は、遅延素子（データ遅延素子）１０５と上記第１実施例の遅延制御装置１のデータ遅延部５と同様のフリップフロップ２３、２４を備えており、データ遅延部１０４は、遅延素子（データ遅延素子）１０６と上記第１実施例の遅延制御素子１のデータ遅延部６と同様のフリップフロップ２５、２６を備えている。
【０１０３】
データ遅延部１０３の遅延素子１０５及びデータ遅延部１０４の遅延素子１０６は、上記第１実施例の遅延制御装置１の遅延素子１２、１３と同様の構成であり、複数のデータ遅延部１０３、１０４に入力されるデータ入力信号のスキューを調整するためのものである。したがって、これらの遅延素子１０５、１０６の設定できる遅延単位の最大値は、遅延素子１２、１３よりも少なくてもよい。
【０１０４】
データ遅延設定値算出回路１０１、１０２には、マスターＤＬＬ２からリファレンスクロックの１周期分に値する遅延値とデータ遅延設定値が入力され、データ遅延設定値算出回路１０１、１０２は、マスターＤＬＬ２からの遅延値に基づいてデータ遅延設定値に対応する遅延値を算出して、遅延素子１０５及び遅延素子１０６に設定する。
【０１０５】
この遅延素子１０５及び遅延素子１０６に設定される遅延値は、上述のように、複数のデータ遅延部１０３、１０４に入力されるデータ入力信号のスキューを調整する遅延値であり、遅延素子１０５及び遅延素子１０６は、それぞれ入力されるデータ０及びデータ１を設定された遅延値で遅延させて、フリップフロップ２３、２４及びフリップフロップ２５、２６に出力する。
【０１０６】
このように、本実施例の遅延制御装置１００は、フリップフロップ２３〜２６のデータの入力端子に、遅延素子１０５、１０６を接続し、クロックの整数倍の周期に相当する遅延値と当該遅延値を増減させる量を示す遅延設定値に基づいて遅延値を算出する複数の遅延設定値算出回路３、１０１、１０２が設けられ、１つの遅延設定値算出回路３が当該算出した遅延値を遅延素子１２に設定し、他の遅延設定値算出回路１０１、１０２が、当該算出した遅延値を遅延素子１０５、１０６に設定している。
【０１０７】
したがって、複数のデータの遅延を、例えば、クロック周期のＭ％分の遅延にさせるような制御を、それぞれのデータ信号毎に個別で設定することができ、データ信号のスキューを補正することができるとともに、クロックツリーを採用することなく、遅延素子１３から各フリップフロップ２３〜２６までの伝送路にスキューがあっても補正できるようにして、安価かつ適切にデータ転送を行うことができる。
【実施例３】
【０１０８】
図５は、本発明の遅延制御装置の第３実施例を適用した遅延制御装置２００の回路構成図である。
【０１０９】
なお、本実施例は、上記第１実施例の遅延制御装置１と同様の遅延制御装置２００に適用したものであり、本実施例の説明においては、上記第１実施例の遅延制御装置１と同様の構成部分には、同一の符号を付して、その詳細な説明を省略する。
【０１１０】
図５において、遅延制御装置２００は、上記第１実施例の遅延制御装置１と同様のマスターＤＬＬ２及び４つのバッファ７〜１０を備えているとともに、入力用の遅延設定値算出回路（遅延値算出手段）２０１、出力用の遅延設定値算出回路（遅延値算出手段）２０２、ストローブ遅延部２０３及び２つのデータ遅延部２０４、２０５を備えている。
【０１１１】
ストローブ遅延部２０３は、上記第１実施例のストローブ遅延部４と同様のＭＵＸ１１、２つの遅延素子１２、１３、位相比較器１４及び遅延制御回路１５を備えているとともに、遅延素子（ストローブ遅延素子）２１１とストローブ制御回路２１２を備えている。
【０１１２】
また、データ遅延部２０４は、上記第１実施例のデータ遅延部５と同様の最小遅延素子２１及びフリップフロップ２３、２４を備えているとともに、フリップフロップ２２１と最小遅延素子（第２データ遅延素子）２２２を備えており、データ遅延部２０５は、上記第１実施例のデータ遅延部６と同様の最小遅延素子２２及びフリップフロップ２５、２６を備えているとともに、フリップフロップ２２３と最小遅延素子（第２データ遅延素子）２２４を備えている。
【０１１３】
上記遅延設定値算出回路２０１には、マスターＤＬＬ２からリファレンスクロックの１周期分に値する遅延値と入力用遅延設定値が入力され、遅延設定値算出回路２０１は、マスターＤＬＬ２からの遅延値と入力用遅延設定値に基づいて入力用の遅延値を算出して、ストローブ遅延部２０３の遅延素子１２と遅延制御回路１５に出力する。
【０１１４】
上記遅延設定値算出回路２０２には、マスターＤＬＬ２からリファレンスクロックの１周期分に値する遅延値と出力用遅延設定値が入力され、遅延設定値算出回路２０２は、マスターＤＬＬ２からの遅延値と出力用遅延設定値に基づいて出力用の遅延値を算出して、ストローブ遅延部２０３の遅延素子２１１に出力する。
【０１１５】
上記ストローブ遅延部２０３のストローブ制御回路２１２には、出力回路用クロックが入力され、ストローブ制御回路２１２は、出力回路用クロックに基づいてストローブ出力タイミング信号を遅延素子２１１に出力する。
【０１１６】
遅延素子２１１は、ストロ−ブ制御回路２１２からのストローブ出力タイミング信号を遅延設定値算出回路２０２からの遅延値だけ遅延させて、バッファＢｆ１ｂを介してストローブ信号の入力に戻す。
【０１１７】
また、データ遅延部２０４のフリップフロップ２２１及びデータ遅延部２０５のフリップフロップ２２３には、上記出力回路用クロックが入力され、フリップフロップ２２１及びフリップフロップ２２３は、出力用クロック毎に、データ出力タイミング信号を最小遅延素子２２２及び最小遅延素子２２４に出力する。
【０１１８】
最小遅延素子２２２及び最小遅延素子２２４は、最小遅延素子２１及び最小遅延素子２２と同様の機能を備えており、フリップフロップ２２１及びフリップフロップ２２３からのデータ出力タイミング信号を、最小遅延素子２１及び最小遅延素子２２と同じ遅延値だけ遅延させて、それぞれバッファＢｆ２ｂ及びバッファＢｆ３ｂを介してデータ０及びデータ１の入力に戻す。
【０１１９】
したがって、ストローブ出力信号もデータ出力信号に対して一定の遅延を持たせることができ、さらに、データ出力信号とストローブ出力信号とのタイミング差（遅延差）を遅延素子２１１に遅延設定値算出回路２０２により設定される遅延分とすることができる。  このように、本実施例の遅延制御装置２００は、ロックの整数倍の周期に相当する遅延値と当該遅延値を増減させる量を示す遅延設定値に基づいて遅延値を算出する複数の遅延設定値算出回路２０１、２０２のうち、１つの遅延設定値算出回路２０２が、当該算出した遅延値を、入力されるストローブ信号を所定の遅延値で遅延させる遅延素子２１１に設定している。
【０１２０】
したがって、ストローブ出力信号にデータ出力信号に対して一定の遅延を持たせることができ、スキューによるデータとストローブ信号とのタイミングのずれを適切に補正できるようにして、データとストローブ信号を適切に同期させて、データ転送を適切に行うことができる。
【実施例４】
【０１２１】
図６は、本発明の遅延制御装置の第４実施例を適用した遅延制御装置３００の回路構成図である。
【０１２２】
なお、本実施例は、上記第３実施例の遅延制御装置２００と同様の遅延制御装置３００に適用したものであり、本実施例の説明においては、上記第３実施例の遅延制御装置２００と同様の構成部分には、同一の符号を付して、その詳細な説明を省略する。
【０１２３】
図６において、遅延制御装置３００は、上記第３実施例の遅延制御装置２００と同様のマスターＤＬＬ２、遅延設定値算出回路２０１、２０２及びストローブ遅延部２０３を備えているとともに、４つのデータ遅延設定値算出回路（遅延値算出手段）３０１〜３０４及びデータ遅延部３０５、３０６を備えている。
【０１２４】
データ遅延部３０５は、上記第１実施例のデータ遅延部５と同様のフリップフロップ２３、２４を備えているとともに、遅延素子（データ遅延素子）３１１、遅延素子（第２データ遅延素子）３１２及びフリップフロップ３１３を備えており、データ遅延部３０６は、上記第１実施例のデータ遅延部５と同様のフリップフロップ２５、２６を備えているとともに、遅延素子（データ遅延素子）３１４、遅延素子（第２データ遅延素子）３１５及びフリップフロップ３１６を備えている。
【０１２５】
データ遅延設定値算出回路３０１〜３０４には、それぞれマスターＤＬＬ２からリファレンスクロックの１周期分に値する遅延値とデータ遅延設定値が入力され、データ遅延設定値算出回路３０１〜３０４は、マスターＤＬＬ２からの遅延値に基づいてデータ遅延設定値に対応する遅延値を算出して、データ遅延部３０５の遅延素子３１１と遅延素子３１２及びデータ遅延部３０５の遅延素子３１４と遅延素子３１５に設定する。
【０１２６】
遅延素子３１１は、データ遅延設定値算出回路３０１により設定される遅延値だけバッファＢｆ２を介して入力されるデータ０を遅延させてフリップフロップ２３、２４に出力し、遅延素子３１４は、データ遅延設定値算出回路３０２により設定される遅延値だけバッファＢｆ３を介して入力されるデータ１を遅延させてフリップフロップ２５、２６に出力する。
【０１２７】
遅延設定値算出回路２０１は、上述のように、マスターＤＬＬ２からの遅延値と入力用遅延設定値に基づいて入力用の遅延値を算出して、ストローブ遅延部２０３の遅延素子１２と遅延制御回路１５に出力する。
【０１２８】
また、遅延設定値算出回路２０２は、マスターＤＬＬ２からの遅延値と出力用遅延設定値に基づいて出力用の遅延値を算出して、ストローブ遅延部２０３の遅延素子２１１に出力する。
【０１２９】
ストローブ遅延部２０３のストローブ制御回路２１２には、出力回路用クロックが入力され、ストローブ制御回路２１２は、出力回路用クロックに基づいてストローブ出力タイミング信号を遅延素子２１１に出力する。
【０１３０】
遅延素子２１１は、ストロ−ブ制御回路２１２からのストローブ出力タイミング信号を遅延設定値算出回路２０２からの遅延値だけ遅延させて、バッファＢｆ１ｂを介してストローブ信号の入力に戻す。
【０１３１】
また、データ遅延部３０５のフリップフロップ３１３及びデータ遅延部３０６のフリップフロップ３１６には、上記出力回路用クロックが入力され、フリップフロップ３１３及びフリップフロップ３１６は、出力用クロック毎に、データ出力タイミング信号を遅延素子３１２及び遅延素子３１５に出力する。
【０１３２】
遅延素子３１２及び遅延素子３１５は、遅延素子３１１及び遅延素子３１４と同様の機能を備えており、フリップフロップ３１３及びフリップフロップ３１６からのデータ出力タイミング信号を、遅延素子３１１及び遅延素子３１４と同じ遅延値だけ遅延させて、それぞれバッファＢｆ２ｂ及びバッファＢｆ３ｂを介してデータ０及びデータ１の入力に戻す。
【０１３３】
そして、上記遅延素子３１１と遅延素子３１２及び遅延素子３１４と遅延素子３１５に設定される遅延値は、上述のように、複数のデータ遅延部３０５、３０６に入力されるデータ入力信号のスキューを調整する遅延値である。
【０１３４】
したがって、遅延制御装置３００をＡＳＩＣと記憶装置等の間に配設すると、ＡＳＩＣと記憶装置等の間のデータスキューを調整することができる。
【０１３５】
また、本実施例の遅延制御素子３００は、クロックの整数倍の周期に相当する遅延値と当該遅延値を増減させる量を示す遅延設定値に基づいて遅延値を算出する複数のデータ遅延設定値算出回路３０１〜３０４のうち、遅延値算出回路３０２、３０４が、当該算出した遅延値を第２データ遅延素子である遅延素子３１２、３１５に設定している。
【０１３６】
したがって、データ出力信号毎に遅延値を設定できるようにすることができ、データ出力以降の伝送路のスキューを補正して、より一層適切にデータ転送を行うことができる。
【実施例５】
【０１３７】
図７は、本発明の遅延制御装置の第５実施例を適用した遅延制御装置４００の適用される電子機器５００の要部ブロック構成図である。
【０１３８】
電子機器５００は、ＣＰＵ（Central Processing Unit ）５０１、ＲＯＭ（Read Only Memory）５０２及びレジスタ５０３〜５０７等がバス５０８に接続されており、ＣＰＵ（外部の制御手段）５０１が、バス５０８に接続されているレジスタ５０３〜５０７及び遅延制御装置４００を介して記憶装置（記憶手段）５０９へのデータの書き込みや記憶装置５０９からのデータの読み出しを行う。この記憶装置５０９は、例えば、ＤＤＲ―ＳＤＲＡＭである。
【０１３９】
遅延制御装置４００は、上記第１実施例の遅延制御装置１から第４実施例の遅延制御装置３００を用いることができ、いま、ストローブ遅延部４０１と複数（図７では、４つ）のデータ遅延部４０２〜４０５を備えている。
【０１４０】
ストローブ遅延部４０１へのストローブ遅延設定値及びデータ遅延部４０２〜４０５のデータ遅延設定値は、ＣＰＵ５０１によりレジスタ５０３及びレジスタ５０４〜５０７を介して設定される。
【０１４１】
そして、このストローブ遅延設定値及びデータ遅延設定値は、ＲＯＭ（外部の不揮発性メモリ）５０２に予め格納されており、電子機器５００のパワーオン時やリセット時にＣＰＵ５０１がＲＯＭ５０２のストローブ遅延設定値及びデータ遅延設定値を読み出して、レジスタ５０３〜５０７にに設定する。このストローブ遅延設定値及びデータ遅延設定値は、電子機器５００のボード設計時に、ＣＰＵ５０１から記憶装置５０９までのデータの配線スキューやストローブ信号との遅延を考慮して決定され、ＲＯＭ５０２に書き込まれる。
【０１４２】
このように、本実施例では、ストローブ遅延部４０１へのストローブ遅延設定値及びデータ遅延部４０２〜４０５のデータ遅延設定値を、外部の制御手段であるＣＰＵ５０１から設定可能としている。
【０１４３】
したがって、遅延設定値をソフトウェア等で設定できるようにすることができ、ＡＳＩＣ設計やボード設計の差異により異なる値を機器毎に自由に設定することができる。
【０１４４】
また、ストローブ遅延部４０１へのストローブ遅延設定値及びデータ遅延部４０２〜４０５のデータ遅延設定値を、外部の不揮発性メモリであるＲＯＭ５０２に格納されている当該遅延設定値を外部の制御手段であるＣＰＵ５０１が読み出して設定可能としている。
【０１４５】
したがって、機器毎に異なるボード上のデータスキューに対応した遅延設定値を、メインのソフトウェアを変更することなく、適切な遅延設定値を設定できるようにすることができ、ＡＳＩＣ設計やボード設計の差異により異なる値を機器毎に自由にかつ安価に設定することができる。
【０１４６】
以上、本発明者によってなされた発明を好適な実施の形態に基づき具体的に説明したが、本発明は上記のものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【０１４７】
電子機器等のＬＳＩ間の高速インターフェース、信号間のタイミング規定が厳しいデータ転送のタイミング補正を適切に行う遅延制御装置に適用することができる。
【図面の簡単な説明】
【０１４８】
【図１】本発明の遅延制御装置の第１実施例を適用した遅延制御装置の回路構成図。
【図２】図１の遅延素子の一例を示す回路構成図。
【図３】図１のストローブ遅延部の他の例の回路構成図。
【図４】本発明の遅延制御装置の第２実施例を適用した遅延制御装置の回路構成図。
【図５】本発明の遅延制御装置の第３実施例を適用した遅延制御装置の回路構成図。
【図６】本発明の遅延制御装置の第４実施例を適用した遅延制御装置の回路構成図。
【図７】本発明の遅延制御装置の第５実施例を適用した遅延制御装置の適用される電子機器の要部ブロック構成図。
【図８】従来のＤＬＬを用いた信号遅延装置の要部回路ブロック構成図。
【図９】図８のデータの入力タイミングを示す図。
【図１０】ストローブ信号の遅延が理想的な場合のタイミング（ａ）と理想的なタイミングに対してマージンが生じている実際のタイミング（ｂ）を示す図。
【図１１】配線距離のデータ転送タイミングに対するデータスキューの影響の説明図。
【符号の説明】
【０１４９】
１  遅延制御装置
２  マスターＤＬＬ
３  遅延設定値算出回路
４  ストローブ遅延部
５、６  データ遅延部
７〜１０  バッファ
１１  ＭＵＸ
１２、１３  遅延素子
１４  位相比較器
１５  遅延制御回路
２１、２２  最小遅延素子
２３、２４、２５、２６  フリップフロップ
Ｂｆ１〜Ｂｆ３  バッファ
３０  遅延素子
３１ａ〜３１ｎ  単位遅延素子
３２  選択回路
１００  遅延制御装置
１０１、１０２  データ遅延設定値算出回路
１０３、１０４  データ遅延部
１０５  遅延素子
１０６  遅延素子
２００  遅延制御装置
２０１、２０２  遅延設定値算出回路
２０３  ストローブ遅延部
２０４、２０５  データ遅延部
２１１  遅延素子
２１２  ストローブ制御回路
２２１  フリップフロップ
２２２  最小遅延素子
２２３  フリップフロップ
２２４  最小遅延素子
Ｂｆ１ｂ〜Ｂｆ３ｂ  バッファ
３００  遅延制御装置
３０１〜３０４  データ遅延設定値算出回路
３０５、３０６  データ遅延部
３１１、３１２  遅延素子
３１３  フリップフロップ
３１４、３１５  遅延素子
３１６  フリップフロップ
４００  遅延制御装置
５００  電子機器
５０１  ＣＰＵ
５０２  ＲＯＭ
５０３〜５０７  レジスタ
５０８  バス
５０９  記憶装置
４０１  ストローブ遅延部
４０２〜４０５  データ遅延部
【図１】
2006013990.tif 000003
【図２】
2006013990.tif 000004
【図３】
2006013990.tif 000005
【図４】
2006013990.tif 000006
【図５】
2006013990.tif 000007
【図６】
2006013990.tif 000008
【図７】
2006013990.tif 000009
【図８】
2006013990.tif 000010
【図９】
2006013990.tif 000011
【図１０】
2006013990.tif 000012
【図１１】
2006013990.tif 000013