JP2011049660A - Dll回路 - Google Patents

Dll回路 Download PDF

Info

Publication number
JP2011049660A
JP2011049660A JP2009194431A JP2009194431A JP2011049660A JP 2011049660 A JP2011049660 A JP 2011049660A JP 2009194431 A JP2009194431 A JP 2009194431A JP 2009194431 A JP2009194431 A JP 2009194431A JP 2011049660 A JP2011049660 A JP 2011049660A
Authority
JP
Japan
Prior art keywords
delay
circuit
clock
control information
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009194431A
Other languages
English (en)
Inventor
Yasuo Nishioka
泰男 西岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Original Assignee
Panasonic Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp filed Critical Panasonic Corp
Priority to JP2009194431A priority Critical patent/JP2011049660A/ja
Publication of JP2011049660A publication Critical patent/JP2011049660A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Abstract

【課題】参照クロックの生成のために、360度の位相差の素子数が特定される際に、遅延素子の温度等が変化しても、特定時間が長くならないこと。
【解決手段】遅延素子の温度等の動作状況情報を取得する動作状況認識部110と、前記動作状況情報に対応する遅延制御情報を生成する初期遅延決定部120と、前記遅延制御情報による遅延クロックを生成する可変遅延回路130と、位相差を検出する位相比較回路140と、検出に応じ、360度の位相差の遅延制御情報を特定する遅延制御回路150とを含むDLL回路。
【選択図】図1

Description

本発明は、SDRAM(Synchronous Dynamic Random Access Memory)のように、クロックに同期して高速に動作するメモリにアクセスするシステムなどにおいて使用されるDLL(Delay Lock Loop)回路に関する。より具体的には、本発明は、DLL回路における、位相差検出を行う時間(以下、ロック時間という)を短縮する装置および方法に関する。
一般に、SDRAMなどのメモリと、同期通信によって高速なデータ転送を行うシステムでは、データの送受信のために、クロック信号をタイミング基準として使用する。このようなシステムでは、プロセス、電圧または温度に変化が生じると、クロック信号とデータ信号の位相差が変化するため、高速になるほど、安定してデータ転送を行うためのタイミングマージンが減少する。DLL回路は、このプロセス、電圧および温度に変化が生じる環境において、クロック信号とデータ信号間の信号間の位相差を維持して、安定したデータ転送を行うために用いられる。つまり、DLL回路では、刻々と変化する位相関係を、継続的に比較し、比較結果をフィードバックしながら位相差を維持するように動作する。この位相関係の比較には、基準となるクロック(以下、基準クロックという)から、所定位相だけ遅らさせたクロック(以下、参照クロックという)が使用され、参照クロックとデータ信号とを同期、あるいは単位遅延時間以内の遅延差に収めることで、基準クロックとデータ信号間に所定の位相差を持たせることを実現する。
可変遅延回路は、基準クロックに対して付加する遅延量を制御することよって、360度位相差検出用クロックを生成する。そして、DLL回路は、この360度位相差検出用クロックを、基準クロックのエッジ検出に使用して、参照クロックを生成する。具体的には、可変遅延回路にて、360度位相差検出用クロックを生成するための遅延量を変化させながら、基準クロックの立ち上がり(位相差0度)から、基準クロックの次の立ち上がり(位相差360度)まで遅延させるために必要な、可変遅延回路の遅延素子数を割り出す。そして、さらにその結果から、所定の位相差を付けるために必要な遅延素子数を算出することで、基準クロックに対して所定の位相遅れた参照クロックを生成する。
特開2000−207052号公報
参照クロックを生成するためには、上述のように、基準クロックの立ち上がり(位相差0度)から360度の位相差がついた、次のクロックの立ち上がりを検出する必要がある。
従来は、基準クロックに対して一定の単位遅延のみを反復的に与えた360度位相差検出用クロックの立ち上がりと、基準クロックの次の立ち上がり(位相差360度)との位相差が単位遅延量より小さくなるまで、360度位相差検出用クロックへの単位遅延の付加と比較動作を繰り返す。そして、比較動作を繰り返しながら、基準クロックの次の立ち上がり(位相差360度)を検出して、基準クロックの立ち上がり(位相差0度)から360度の位相差となるまでに、可変遅延回路の単位遅延素子をどの程度必要かを決定する(以下、DLLロックするという)。
しかし、遅延素子を利用して、DLLロックするまで、反復的に基準クロックを遅延させた360度位相差検出用クロックと、基準クロックの位相差を比較していくこの方法は、反復回数が多いため、DLLロックするまでの時間(以下、ロック時間という)が長時間になってしまう。
特許文献1によれば、基準クロックに対して、単位遅延だけでなく、多段遅延を反復的に併行して実行しながら、補正結果を確認して、短い時間内にDLLの初期動作を完了することが可能な、遅延固定ループの初期ロックタイム短縮装置及び方法を提供している。
しかしながら、特許文献1においても、基準クロックに対して、単位遅延に加えて多段遅延も付加されることにより、付加される遅延の粒度は増しているが、次の問題が残る。つまり、最初に基準クロックに付加する遅延素子数と、DLLロックする遅延素子数が大きく離れていた場合は、ロック時間が、なお長時間になってしまうという問題が残る。また、一旦DLLロックしても、電圧、温度またはシステム設定により周波数に変化が生じて、再度DLLロックさせるときに、それまでDLLロックに要していた遅延素子数からかけ離れていた場合も同様である。
すなわち、従来より、DLL回路がある。DLL回路では、1以上の素子数の遅延素子により基準クロックが遅延されたクロックが生成される。
具体的には、SRAMなどのメモリのデータ信号の通信において、その通信のタイミングの基準にされる参照クロックが生成される。参照クロックは、基準クロックが、第2の所定角度の位相差だけ遅延されたクロックである。
そして、この参照クロックを生成するために、その生成に先立って、360度(第1の所定角度)の位相差が生じるだけの、遅延素子の素子数が特定される。ここで、特定される、第1の所定角度(360度)の素子数は、基準クロックの第1の立ち上がり(位相差0度)から、第1の立ち上がりの次の、第2の立ち上がりまでの遅延がされる、遅延素子の素子数である。このため、この第1の所定角度(360度)の素子数は、比較的容易に特定される。そして、特定された第1の所定角度の素子数と、第1の所定角度および第2の所定角度の間の比となどから、第2の所定角度の位相差が生じるだけの素子数が特定される。これにより、その素子数による遅延により、参照クロックが生成される。
そして、DLL回路では、360度(第1の所定角度)の素子数を特定するために、素子数を特定する遅延制御情報が生成されて、生成された遅延制御情報により特定される素子数での遅延がされた遅延クロックが生成される。そして、生成された遅延クロックの位相差が検出され、検出された位相差が、第1の所定角度(360度)の位相差か否かが判定される。
これにより、第1の所定角度の位相差と判定された場合、その遅延クロックが生成された遅延制御情報が、参照クロックの生成のための、第1の所定角度の素子数を特定する遅延制御情報として特定される。
他方、検出された位相差が、第1の所定角度の位相差ではないと判定された場合、上述のフィードバックの動作をすることにより、検出された位相差から、第1の所定角度(360度)の位相差の遅延制御情報を特定する。この後続の処理により、第1の所定角度(360度)の位相差の遅延制御情報が特定される。
しかしながら、基準クロックの波長に対する、遅延素子による遅延の、相対的な遅延時間(相対遅延時間)は、遅延素子の温度、遅延素子の電圧、基準クロックの周波数などにより、変化してしまう。そして、相対遅延時間が変化すると、第1の所定角度(360度)の素子数も変化して、生成される遅延クロックの位相差が、第1の所定角度(360度)から離れてしまうことがある。
このため、遅延素子の温度等の変化により、上記された後続の処理が余計に必要になったり、後続の処理の時間が長くなったりしてしまう。これにより、遅延クロックの生成から、第1の所定角度(360度)の位相差の素子数の特定までの特定時間、つまり、DLLロックまでに要するロック時間が、長くなってしまう。そして、ひいては、参照クロックの生成が遅くなったり、データ信号の通信が遅れたりしてしまう。
なお、ここで、後続の処理は、その後続の処理の基となる、検出された位相差が、第1の所定角度(360度)に近いほど短い。
また、ここで、第1の所定角度(360度)の位相差とは、第1の所定角度(360度)の位相差と同一又は近傍の位相差であると理解されてもよい。
本発明の目的は、上記問題を鑑み、最初に基準クロックに付加する遅延素子数(以下、初期遅延素子数という)が、DLLロックする遅延素子数(以下、ロック遅延素子数という)から大きく離れないようにすることで、ロック時間を短縮することである。また、本発明の目的は、さらに、周波数に大きな変化が生じた場合に、基準クロックに付加する遅延素子数を、電圧、温度またはシステム設定を監視して追随させ、再度DLLロックするために要するロック時間を短縮するDLL回路を提供することである。
つまり、本発明は、遅延素子の温度等が変化しても、360度(所定角度)の素子数を特定する遅延制御情報が迅速に生成できることを目的とする。そして、本発明は、ひいては、温度等が変化しても、参照クロックが迅速に生成でき、データ信号の通信が迅速にできることを目的とする。
前記の目的を達成するために、本発明のDLL回路は、基準クロックに対して、遅延素子により遅延を付加した参照クロックを生成するのに先立って、前記基準クロックに対して所定角度(360度など)の位相差の遅延を付加するための遅延制御情報(遅延素子の素子数など)を生成するDLL(Delay Lock Loop)回路であって、前記DLL回路が動作している状況を示す動作状況情報(遅延素子の温度、電圧、基準クロックの周波数のうちの少なくとも1つ)を取得する動作状況取得部と、前記基準クロックに対して最初に付加する遅延の長さ(遅延素子の素子数等)を特定する遅延制御情報として、前記動作状況取得部の取得する前記動作状況情報に対応する長さを特定する遅延制御情報を生成する初期遅延決定部と、前記基準クロックが入力され、入力された前記基準クロックに対して、前記初期遅延決定部により生成された前記遅延制御情報、または、フィードバックされた遅延制御情報により特定される長さの遅延(その長さの素子数による遅延)を前記遅延素子により付加した遅延クロックを生成する可変遅延回路と、前記可変遅延回路によって生成された前記遅延クロックと、前記基準クロックとの間の位相差を検出する位相比較回路と、前記位相比較回路によって検出された前記位相差が、前記所定角度(360度等)の位相差である場合、前記初期遅延決定部により生成された前記遅延制御情報を、前記所定角度の前記遅延制御情報と特定し、前記所定角度の位相差ではない場合、検出された前記位相差から遅延制御情報を生成して、生成された当該遅延制御情報を前記可変遅延回路にフィードバックする遅延制御回路とを含むDLL回路である。
すなわち、このDLL回路においては、参照クロックが生成されるのに先立ち、その生成の基準とされるための、360度等の所定角度の遅延のための遅延制御情報が特定される。そして、特定された遅延制御情報によって、適切な参照クロックが生成される。
なお、ここで、動作状況情報は、例えば、基準クロックの波長に対する相対的な、遅延素子の遅延時間(相対遅延時間)が、その状況に対応する時間である、DLL回路の状況を示す情報である。ここで、動作状況情報は、前記DLL回路が動作する間に変化する状況の情報である。
また、遅延制御回路は、例えば、前記可変遅延回路にフィードバックをすることにより、フィードバックがされた前記可変遅延回路により生成される後続の遅延クロックについて位相比較回路により検出された後続の位相差から、360度等の遅延制御情報を特定してもよい。
すなわち、このDLL回路においては、前記DLL回路における、前記遅延素子の温度と、前記遅延素子の電圧と、前記基準クロックの周波数とのうちの少なくとも1つの値を示し、前記DLL回路が動作するうちに、示される前記値が変化し、前記基準クロックの波長に対する、前記遅延素子による遅延の相対的な遅延時間が、示される前記値に対応する時間である情報が、前記動作状況情報として前記動作状況取得部により取得される。そして、第1の前記動作状況情報(低い温度の情報など)と、第1の前記動作状況情報により示される前記値に対応する第1の前記遅延時間よりも長い第2の前記遅延時間に対応する前記値を示す第2の前記動作状況情報(高い温度の情報など)とが前記動作状況取得部により取得される。そして、前記動作状況取得部により第1の前記動作状況情報が取得された場合、第1の素子数を特定する第1の前記遅延制御情報が前記初期遅延決定部により生成され、第2の前記動作状況情報が取得された場合、前記第1の素子数よりも少ない第2の素子数を特定する第2の前記遅延制御情報が前記初期遅延決定部により生成される。そして、第1の前記遅延制御情報および第2の前記遅延制御情報のうち、前記初期遅延決定部により生成された方の前記遅延制御情報により特定される素子数の遅延素子による遅延で、前記遅延クロックが前記可変遅延回路により生成される。
このDLL回路によれば、遅延素子の温度等が変化しても、その変化に対応した適切な動作状況情報が取得され、適切な遅延制御情報により遅延クロックが生成される。これにより、360度の素子数を特定する遅延制御情報が迅速に特定され、つまり、迅速にDLLロックがされる。このため、温度等が変化しても、参照クロックが迅速に生成でき、ひいては、データ信号の通信が迅速にできる。
なお、例えば、前記遅延制御回路は、特定された360度の素子数から、前記参照クロックのための素子数を算出し、算出された前記素子数による遅延で、前記参照クロックを生成し、生成された前記参照クロックでの通信を行わせる。
また、ここで、例えば、このDLL回路は、クロックに同期したアクセスを行うメモリを有するシステムにおいて、前記メモリにアクセスするために使用されるDLL回路であって、温度、電圧またはクロック周波数などを検知する動作状況認識手段と、基準クロックに対して最初にどの程度遅延素子を付加するかを決定する初期遅延決定手段と、基準クロックを遅延させる可変遅延回路と、基準クロックを可変遅延回路により遅延させた360度位相差検出用クロックと基準クロックとの位相差を比較する位相比較回路と、位相比較回路の検出した位相差に応じて可変遅延回路にフィードバックする遅延の程度を制御する遅延制御回路を有し、前記動作状況認識手段で検出した温度、電圧または周波数などの情報を元に、前記初期遅延決定手段にて前記ロック遅延素子数に近いと思われる初期遅延素子数を決定し、前記初期遅延素子数で指定された前記可変遅延回路の遅延素子を使用して基準クロックを遅延させた360度位相差検出用クロックと基準クロックとを前記位相比較回路にて位相比較し、位相比較結果を元に遅延制御回路で生成した遅延制御情報を前記可変遅延回路にフィードバックしながらDLLロックするまで基準クロックに付加する遅延素子数を制御することで初期ロック時間を短縮してもよい。
さらに、例えば、ロック遅延素子数を探索している最中に、温度、電圧または周波数などの情報を取得して、前記初期遅延決定手段や前記遅延制御回路を通して、前記遅延制御回路にて付加する遅延阻止数を制御することにより、リアルタイムで変化する電圧、温度または周波数に追随させ再度ロックするために要するロック時間を短縮してもよい。
本発明によれば、動作状況認識手段で取得した温度、電圧またはクロック周波数の少なくともいずれか一つに応じて、初期遅延決定手段によって決定された初期遅延素子数、位相比較回路の位相比較結果、および遅延制御回路の遅延制御情報を、可変遅延回路にフィードバックする。このことにより、温度、電圧またはクロック周波数に応じた最適な初期遅延からのエッジ検出が可能となり、さらに温度、電圧またはクロック周波数の変化に対応して、ロック時間を短縮することが可能となる。
図1は、DLL回路の構成の例を示すブロック図である。 図2は、動作状況認識部と初期遅延決定部の一実施例を説明するための図である。 図3は、DLL回路を使用してDLLロックするためのフローチャートの一実施例を説明するための図である。 図4は、DLL回路の構成の例を示すブロック図である。 図5は、DLL回路の構成の例を示すブロック図である。 図6は、DLL回路の構成の例を示すブロック図である。
以下、本発明の実施の形態について、図を用いて説明する。
実施の形態のDLL回路(DLL回路100)は、基準クロック(基準クロックS01)に対して、遅延素子により遅延を付加した参照クロックを生成するのに先立って、前記基準クロックに対して所定角度(360度)の位相差の遅延を付加するための遅延制御情報(ロック素子数情報S02)を生成するDLL回路であって、前記DLL回路が動作している状況を示す動作状況情報(動作状況情報S11:遅延素子の温度、電圧、基準クロックS01の周波数など)を取得する動作状況取得部(動作状況認識部110)と、前記基準クロックに対して最初に付加する遅延の長さを特定する遅延制御情報として、前記動作状況取得部の取得する前記動作状況情報に対応する長さを特定する遅延制御情報(素子数情報S12)を生成する初期遅延決定部(初期遅延決定部120)と、前記基準クロックが入力され、入力された前記基準クロックに対して、前記初期遅延決定部により生成された前記遅延制御情報(素子数情報S12)、または、フィードバックされた遅延制御情報(素子数情報S15)により特定される長さの遅延(その素子数による遅延)を前記遅延素子により付加した遅延クロック(遅延クロックS13)を生成する可変遅延回路(可変遅延回路130)と、前記可変遅延回路によって生成された前記遅延クロックと、前記基準クロックとの間の位相差(位相差情報S14)を検出する位相比較回路(位相比較回路140)と、前記位相比較回路によって検出された前記位相差が、前記所定角度の位相差(と同一又は近傍)である場合(ステップ34:yes)、前記初期遅延決定部により生成された前記遅延制御情報を、前記所定角度の前記遅延制御情報と特定し、前記所定角度の位相差ではない場合(ステップ34:no)、検出された前記位相差から遅延制御情報(素子数情報S15)を生成して、生成された当該遅延制御情報をフィードバック遅延制御回路(遅延制御回路150)とを含むDLL回路である。
すなわち、このDLL回路は、前記動作状況取得部が、前記DLL回路における、前記遅延素子の温度と、前記遅延素子の電圧と、前記基準クロックの周波数とのうちの少なくとも1つの値を示し、前記DLL回路が動作するうちに、示される前記値が変化し、前記基準クロックの波長に対する、前記遅延素子による遅延の相対的な遅延時間が、示される前記値に対応する時間である情報を、前記動作状況情報として取得し、第1の前記動作状況情報(低い温度の情報など)と、第1の前記動作状況情報により示される前記値に対応する第1の前記遅延時間よりも長い第2の前記遅延時間に対応する前記値を示す第2の前記動作状況情報(高い温度の情報など)とを取得し、前記初期遅延決定部が、前記動作状況取得部により第1の前記動作状況情報が取得された場合、第1の素子数を特定する第1の前記遅延制御情報を生成し、第2の前記動作状況情報が取得された場合、前記第1の素子数よりも少ない第2の素子数を特定する第2の前記遅延制御情報を生成し、前記可変遅延回路が、第1の前記遅延制御情報および第2の前記遅延制御情報のうち、前記初期遅延決定部により生成された方の前記遅延制御情報により特定される素子数の遅延素子による遅延により、前記遅延クロックを生成するDLL回路である。
このDLL回路によれば、遅延素子の温度等の変化により、基準クロックの波長に対する相対的な、遅延素子の遅延時間(相対遅延時間)が変化しても、変化後の相対遅延時間に対応した動作状況情報が取得される。これにより、変化後の相対遅延時間に対応した(素子数による)遅延クロックが生成される。これにより、生成される遅延クロックの位相差が、所定角度(360度)の位相差から離れないようにできる。これにより、フィードバックにより、所定角度の位相差の素子数を特定する後続の処理が不要になったり、後続の処理の時間が短くなったりする。これにより、温度等の変化により相対遅延時間が変化しても、所定角度の位相差の素子数の特定時間が長くならず、短い時間に維持できる。これにより、ひいては、特定された所定角度の素子数から、参照クロックが、容易、迅速に生成できる。これにより、さらには、メモリのデータ信号の通信が、容易、迅速にできる。
以下、詳しく説明される。
図1は、DLL回路の構成例(DLL回路100)を示している。
なお、図示されていないブロックの有無および、その構成については任意とする。また、以下の各図面において、同一の符号を付したブロックや情報等は、同様の機能または情報の内容のブロック等を表すものとする。
DLL回路100は、図1に示したように、温度、電圧またはクロック周波数などを検知する動作状況認識部110と、動作状況認識部110によって生成された動作状況情報(回路情報)S11を元に、基準クロックS01に対して最初にどの程度、遅延素子による遅延を付加するかを決定する初期遅延情報(素子数情報)S12を生成する初期遅延決定部120と、DLL回路100の外部から当該DLL回路100に入力された基準クロックS01を、後述する初期遅延情報S12または遅延制御情報S15によって指定された遅延素子数分だけ遅延させる可変遅延回路130と、可変遅延回路130によって遅延した360度位相差検出用クロック(遅延クロック)S13と、基準クロックS01との位相差を検出する位相比較回路140と、位相比較回路140によって生成される位相差情報S14によって、可変遅延回路130にフィードバックする、可変遅延回路130による遅延の程度を制御するための遅延制御情報(素子数情報)S15を生成する遅延制御回路150とを具備する。
さらにDLL回路100において、可変遅延回路130は、初期遅延情報S12または遅延制御情報S15を元に、基準クロックS01を遅延させて、DLLロックするまで繰り返し、360度位相差検出用クロックS13を生成する。つまり、可変遅延回路130は、最後の360度位相差検出用クロックS13によりDLLロックするまでの間に、複数の360度位相差検出用クロックS13をそれぞれ生成する。DLLロックすると、遅延制御回路150が、遅延ロック素子数情報(ロック素子数情報)S02を出力する。
なお、遅延制御回路150は、例えば、動作状況認識部110から動作状況情報S11を取得してもよい。この場合、遅延制御回路150は、温度、電圧もしくはクロック周波数が所定のレベルを超えて変動した場合または常に、温度、電圧もしくはクロック周波数の情報の少なくともいずれか一つを使用して、ロック遅延素子数を推定する。そして、遅延制御回路150は、推定した遅延素子数と、位相差情報S14より得られる遅延素子数との差が、基準Aより大きいか否かを判定する。
なお、例えば、動作状況情報S11として温度情報を動作状況認識部110が取得するときにおいて、その動作状況情報S11が、温度が高いことを示したならば、1遅延素子あたりの遅延量は増加するため、DLLロックに必要な遅延素子数は少なくなる。逆に動作状況情報S11が、温度が低いことを示したならば、1遅延素子あたりの遅延量は減少するため、DLLロックに必要な遅延素子数は多くなる。つまり、基準クロックの波長に対応する相対的な、遅延素子による遅延時間(相対遅延時間)は、低い第1の温度では長く、第1の温度よりも高い第2の温度では、短い。これにより、360度の位相差が生じる素子数は、低い第1の温度では少なく、高い第2の温度では多い。
同様に、動作状況情報S11として電圧情報を取得するときにおいて、動作状況情報S11が、電圧が低いことを示したならば、1遅延素子あたりの遅延量は増加するため、DLLロックに必要な遅延素子数は少なくなる。逆に、動作状況情報S11が、電圧が高いことを示したならば、1遅延素子あたりの遅延量は減少するため、DLLロックに必要な遅延素子数は多くなる。つまり、相対遅延時間は、低い第1の電圧では長く、高い第2の電圧では短い。これにより、360度の位相差の素子数は、低い第1の電圧では少なく、高い第2の電圧では多い。
また、同様に、動作状況情報S11としてクロック周波数情報を取得するときにおいて、動作状況情報S11が、クロック周波数が高いことを示したならば、DLLロックに要する遅延素子数は少なくなる。逆に、動作状況情報S11が、クロック周波数が低いことを示したならば、DLLロックに要する遅延素子数は多くなる。つまり、相対遅延時間は、高い第1の周波数では長く、低い第2の周波数では短い。これにより、360度の位相差の素子数は、高い第1の周波数では少なく、低い第2の周波数では多い。
この動作状況情報S11により得られる、DLLロックに要する遅延素子数についての大まかな基準を設ける。そして、遅延制御回路150は、この基準を、基準A(後述)として、判断をする。遅延制御回路150は、動作状況情報S11から推定したロック遅延素子数と、位相差情報S14とによって、可変遅延回路130にフィードバックする、可変遅延回路130による遅延の程度を制御するための遅延制御情報S15を生成する。
なお、例えば、上記の基準Aは、次の閾値である。つまり、基準Aによる判断は、動作状況情報S11から特定される、遅延素子の素子数が、位相差情報S14から特定される素子数から、閾値以上、離れているか否かの判断である。そして、遅延制御回路150は、例えば、閾値以上離れている場合、動作状況情報S11及び位相差情報S14の両方から特定される個数に対応する遅延制御情報S15を生成し、閾値以上離れていない場合、位相差情報S14のみから特定される個数に対応する遅延制御情報S15を生成してもよい。
なお、動作状況情報S11は、DLL回路100内で生成せず、DLL回路100の外部からDLL回路100に入力してもよい。また、初期遅延情報S12も、DLL回路100内で生成せず、DLL回路100の外部から入力してもよい。この場合、動作状況情報S11のみ、DLL回路100の外部から入力してもよく、動作状況情報S11および初期遅延情報S12の両方をDLL回路100の外部から入力してもよい。
図4は、DLL回路400を示す図である。
さらに、図4に示すように、DLL回路400(DLL回路100)は、図1における、可変遅延回路130および位相比較回路140の両方の機能を有した回路160を有してもよい。この場合、回路160は、基準クロックS01を当該回路160に入力し、初期遅延情報S12または遅延制御情報S15を元に、基準クロックS01を遅延させる。そして、回路160は、DLLロックするまで繰り返し、基準クロックS01と、遅延させた基準クロックS01(遅延クロック)との位相差を表す位相差情報S14を生成する。つまり、生成することが繰り返される。
図5は、DLL回路500を示す図である。
また、図5に示すように、DLL回路500(DLL回路100)は、図1における位相比較回路140および遅延制御回路150の両方の機能を有した回路170を有してもよい。この場合、回路170は、基準クロックS01および360度位相差検出用クロックS13を元に、可変遅延回路130の遅延の程度を制御するために遅延制御情報S15を、可変遅延回路130へとフィードバックする。そして、回路170は、DLLロックすると、遅延ロック素子数情報(ロック素子数情報)S02を出力する。
図6は、DLL回路600を示す図である。
また、図6に示すように、DLL回路600(DLL回路100)は、図1における、可変遅延回路130および遅延制御回路150の両方の機能を有した回路180を有してもよい。この場合、回路180は、基準クロックS01と、初期遅延情報S12または位相差情報S14とを元に、基準クロックS01を遅延させる。そして、回路180は、DLLロックするまで、繰り返し、360度位相差検出用クロックS13を生成する。つまり、生成することが繰り返される。そして、回路180は、DLLロックすると、遅延ロック素子数情報S02を出力する。
図2は、図1の動作状況認識部110と初期遅延決定部120の一実施例を示した図である。
なお、図示されていないブロックの有無および構成については任意とする。
図2において、動作状況認識部110は、図1の基準クロックS01より高速なクロック(高速クロック)S21を生成する高速クロック生成部210と、高速クロック用の初期遅延素子数を決定する高速クロック用初期遅延決定部(制御用レジスタ)220と、入力された高速クロックS21を、高速クロック用初期遅延決定部220にて生成(決定)された高速クロック用初期遅延情報(高速クロック用素子数情報)S22に応じて遅延させる高速クロック用可変遅延回路230と、高速クロック用可変遅延回路230によって遅延した高速360度位相差検出用クロックS23と、高速クロックS21との位相差を検出して、高速クロック用位相差情報S24を生成する高速クロック用位相比較回路240と、高速クロック用位相比較回路240によって生成される高速クロック用位相差情報S24によって、高速クロック用可変遅延回路230にフィードバックする、高速クロック用可変遅延回路230による遅延の程度を制御するための高速クロック用遅延制御情報(高速クロック用素子数情報)S25を生成する高速クロック用遅延制御回路250とを具備する。
高速クロック用初期遅延決定部220は、例えば、ユーザ設定可能な制御用レジスタであってもよい。そして、高速クロックS21に対して一定の単位遅延のみを反復的に与えた高速360度位相差検出用クロックS23と、高速クロックS21との位相差が、単位遅延量より小さくなるまで、高速クロック用可変遅延回路230が、単位遅延の付加を行ってもよい。すなわち、高速クロックがロックするまで、高速クロック用位相比較回路240が、高速360度位相差検出用クロックS23と、高速クロックS21との比較動作を繰り返す。高速クロックの処理について、この従来の方法を採ったとしても、基準クロックの処理を、この従来の方法で行う場合に比べて、360度の位相差を有する素子数の特定がされるまでの特定時間が、基準クロックでの特定時間よりも、高速クロックでの特定時間の方が、高速クロックの基準クロックに対する周波数比分だけ短い。つまり、特定される時刻は、その分だけ早い時刻である。これにより、ひいては、迅速に特定された、高速クロックでの素子数から、基準クロックでの素子数が迅速に特定できる。
例えば、基準クロックが100MHz、高速クロックが基準クロックの2倍の周波数の200MHzとしたとき、高速クロックのロック時間は、基準クロックのロック時間の約半分のオーダーである。動作状況認識部110は、高速クロックがロックに要したロック遅延素子数を、動作状況情報S11として、初期遅延決定部120に入力する。
なお、高速クロックS21は、動作状況認識部110内で生成せず、動作状況認識部110の外部から動作状況認識部110に入力してもよい。また、高速クロック用初期遅延情報S22も、動作状況認識部110内ではなく、動作状況認識部110の外部から入力してもよい。
また、初期遅延決定部120は、例えば、乗算器310(図2)を具備してもよい。乗算器310は、動作状況認識部110によって初期遅延決定部120に与えられた動作状況情報S11が、高速クロックのロック遅延素子数であったときに、高速クロックS21および基準クロックS01の周波数比と、高速クロックのロック遅延素子数との積を、初期遅延情報S12として、出力する。
例えば、基準クロックが100MHz、高速クロックが、基準クロックの2倍の周波数の200MHz、200MHzの高速クロックのロック遅延素子数をαとしたとき、「(上記の周波数比)×α」=「200MHz/100MHz×α」を、初期遅延情報S12とする。なお、高速クロックS21と、基準クロックとの周波数比は、乗算器310の被乗数として予め乗算器310が保持していても良いし、初期遅延決定部120の外部から入力しても良い。
なお、動作状況認識部110の別の形態としては、次の形態が採られてもよい。動作状況認識部110は、例えば、DLL回路100を含んだデータ処理システムが置かれた温度を検知する温度検知部、DLL回路を含んだデータ処理システムの電圧を検知する電圧検知部、もしくはDLL回路を含んだデータ処理システムが意図的にクロック周波数を変動する場合に、当該データ処理システムがシステム情報として持つクロック周波数を取得するクロック周波数検知部のいずれか、または複数を具備する。また、初期遅延決定部120の別の形態としては、初期遅延決定部120は、例えば、温度、電圧もしくはクロック周波数の値または範囲に応じて、チップの評価に基づいた初期遅延情報S12を生成するものとしてもよい。
なお、図2の動作状況認識部110は、具体的には、例えば、図4〜図6の方式のうちの何れかの方式が採用された構成でもよい。
つまり、動作状況認識部110は、例えば、図4のDLL回路400の方式が採用されて、高速クロック用可変遅延回路230および高速クロック用位相比較回路240の両方の機能を有した回路を有してもよい。その回路は、DLL回路400の回路160に対応する。この場合、その回路は、高速クロックS21を入力し、高速クロック用初期遅延情報S22または高速クロック用遅延制御情報S25を元に、高速クロックS21を遅延させる。そして、その回路は、DLLロックするまで繰り返し、高速クロックS21と、遅延させた後の高速クロック、つまり高速360度位相差検出用クロックS23との位相差を表す高速クロック用位相差情報S24を生成する。つまり、生成することが繰り返される。
また、動作状況認識部110は、例えば、図5のDLL回路500の方式が採用されて、高速クロック用位相比較回路240および高速クロック用遅延制御回路250の両方の機能を有した回路(回路170)を有してもよい。この場合、その回路は、高速クロックS21および高速360度位相差検出用クロックS23を元に、高速クロック用可変遅延回路230の遅延の程度を制御するために高速クロック用遅延制御情報S25を、高速クロック用可変遅延回路230へとフィードバックする。そして、その回路は、DLLロックすると、動作状況情報S11(図2)を出力する。
また、動作状況認識部110は、例えば、図6のDLL回路600の方式が採用されて、高速クロック用可変遅延回路230および高速クロック用遅延制御回路250の両方の機能を有した回路(回路180)を有してもよい。この場合、その回路は、高速クロックS21と、高速クロック用初期遅延情報S22または高速クロック用位相差情報S24とを元に、高速クロックS21を遅延させる。そして、その回路は、DLLロックするまで、繰り返し、高速360度位相差検出用クロックS23を生成する。つまり、生成することが繰り返される。そして、その回路は、DLLロックすると、動作状況情報S11(図2)を出力する。
図3は、本発明におけるDLLロックの処理のフローチャートの一実施例として示した図である。
まず、温度、電圧またはクロック周波数などを検知する動作状況認識部110によって、動作状況情報S11を生成する(ステップ31)。次に、動作状況情報S11を元に、初期遅延決定部120が、初期遅延情報S12を生成する(ステップ32)。
次に、DLL回路100がロックした状態になく、かつ可変遅延回路130による遅延の付加および位相比較回路140による位相比較を一度も行っていない一巡目のDLLロック探索である場合において、可変遅延回路130が処理を行う。この処理で、可変遅延回路130は、初期遅延情報S12で指定された分だけ、基準クロックS01に対して遅延を付加した360度位相差検出用クロックS13を生成する(ステップ33)。
続いて、位相比較回路140が、可変遅延回路130によって基準クロックS01を遅延した360度位相差検出用クロックS13と、基準クロックS01との位相差を検出する(ステップ34)。もし、ステップ34にて、基準クロックS01と、360度位相差検出用クロックS13とが単位遅延の位相差しかない場合(ステップ34:yes)、DLL回路100はロックしている状態である。そこで、基準クロックS01に対して360度位相遅れとなっている360度位相差検出用クロックS13を生成するために可変遅延回路130が要した遅延素子数を、遅延制御回路150が、ロック遅延素子数情報S02として出力する(ステップ35)。
参照クロックまたはロック遅延素子数情報S02は、内部制御用のクロックや他の信号を、基準クロックから所定の位相差分だけ遅延させるときに使用される。
ステップ34において、検出した位相差が単位遅延より大きいと遅延制御回路150により判定される場合(ステップ34:no)、その位相差に応じて、遅延制御回路150は可変遅延回路130で基準クロックに付加されている遅延素子数を増減させる遅延制御情報S15を生成する(ステップ36)。なお、遅延制御情報S15は、増減により変化された後の遅延素子数を特定する。
ここで遅延制御回路150が増減させる遅延素子数は単位遅延だけでも良いし、位相差の程度に応じて、遅延制御回路150が、増減させる遅延素子数を制御できるように、遅延制御回路150が実装されていても良い。一方で、遅延制御回路150は、動作状況認識部110から動作状況情報S11を取得し、または動作状況認識部110と同じ手法で動作状況情報を生成してもよい。そして、遅延制御回路150は、温度、電圧もしくはクロック周波数が所定のレベルを超えて変動した場合または常に、次の処理を行う。行われる処理は、温度、電圧もしくはクロック周波数の情報の少なくとも何れか一つを使用して推定したロック遅延素子数と、ステップ36にて生成した遅延制御情報(遅延制御情報S15)より得られる遅延素子数との差が、基準Aより大きいか否かを判定する(ステップ37)処理である。
ここで、基準Aは固定値であっても、ハード的に自動更新される値であっても、ユーザ設定可能なレジスタなどによって設定可能であっても良い。遅延制御回路150は、ステップ37の上記の差が基準Aより大きい場合(ステップ37:yes)、ステップ36で生成した遅延制御情報を、動作状況情報より得られる遅延素子数に更新して、出力される遅延制御情報S15とする(ステップ38、39)。そして、遅延制御回路150は、ステップ37で得られる差が基準A以下の場合(ステップ37:no)、ステップ36で得られた遅延制御情報を、そのまま、出力される遅延制御情報S15として使用する(ステップ39)。
なお、上記の差が基準Aより大きい場合、ステップ39で、可変遅延回路130は、ステップ38での遅延制御情報S15に応じて基準クロックを遅延させた360度位相差検出用クロックを生成する。
以降、DLL回路100は、ステップ34にてDLLロックしていると判断されるまで、ステップ34〜ステップ39の処理を繰り返し(ステップ34:no)、ステップ34にてDLLロック判定された場合は(ステップ34:yes)、ステップ35を実行して、図3の動作を終了する。
ここで、ロック素子数情報S02による参照クロックにより、例えば、参照クロックと同期されるなどして、データ信号(DATA信号)が通信される。つまり、基準となる基準クロックS01に対して、DATA信号を、例えば位相差50度の信号にしたいと思ったときに、最初から、基準クロックS01に対して50度ずれたクロック(参照クロック)を予め作っておいて、DATA信号と参照クロックを同期させる。これにより、結果として、DATA信号も、基準クロックに対して50度の位相差になる。
そのために、使用する参照クロックを、基準クロックに対して50度ずらすのに際して、どうすれば、ずらされた参照クロックを生成するのが早いかという目的の下で、上記のDLL回路100は構成される。つまり、DLL回路100の目的は、「参照クロックを早く作ること」である。
そして、整理すると、基準クロック、参照クロック、及び360度位相差検出用クロックのそれぞれについて、次のように説明される。
つまり、基準クロックS01は、基準となるクロックであり、このクロックに対して、参照クロックの位相差の角度を遅延させた参照クロックを生成したいクロックである。
そして、参照クロックは、これに、DATA信号を同期させることで、結果として、基準クロックS01から、適切な角度だけ、DATA信号の位相差がずれるクロックである。このDLL回路100は、この参照クロックを、早い時間で、つまり、遅れが生じることなく作る目的の下での回路である。
そして、360度位相差検出用クロックS13は、参照クロックを作るために必要なクロックである。ここで、基準クロックS01に対して、360度の位相差を有するクロックを作るためには、遅延素子の何個分(何素子分)が必要なのかというのを、この「360度位相差検出用クロック」(遅延クロックS13)を、互いに異なる複数の素子数のうちのそれぞれの素子数で遅延させていくことで、検出する。ここで、360度位相差検出用クロックS13の位相差が、360度になることは、DLLロックと呼ばれる。例えば、360度位相差検出用クロックS13を使っているうちに、DLLロックしたときに、360度位相差検出用クロックS13の生成のために、360個の遅延素子が必要だったときには、次の通りである。すなわち、参照クロックを、基準クロックS01から50度遅延させたいと思ったら、360個に、50度/360度を乗算して、50個の遅延素子が特定され、この50個の遅延素子が必要だということが特定される。
ここで、要約すれば、例えば、次の通りである。つまり、DLL回路100では、遅延素子を利用して、DLLロックするまで反復的に、基準クロックS01を遅延させた遅延クロック(360度位相差検出用クロック)S13と、基準クロックS01との位相差を比較する。そして、DLL回路100では、反復回数が多いため、DLLロックするまでの時間が長時間になることが回避される。すなわち、DLL回路100は、動作状況認識部110で取得した温度、電圧、クロック周波数の少なくともいずれか一つに応じて初期遅延決定部120によって決定された初期遅延素子数(素子数情報、初期遅延情報)S12と、遅延制御回路150からの遅延制御情報S15とが可変遅延回路130にフィードバックされる。このことにより、温度、あるいは電圧、あるいはクロック周波数に応じた最適な初期遅延からのエッジ検出が可能となる。そして、さらに、温度、あるいは電圧、あるいはクロック周波数の変化に対応してロック時間を短縮することが可能である。
このように、実施形態のDLL回路(DLL回路100)は、次の説明の通りである。ただし、次の説明は、単なる一例である。
前記動作状況情報は、温度情報と、電圧情報と、周波数情報とのうちの少なくとも1つである。ここで、温度情報は、その温度が高いほど、前記相対遅延時間が長い、前記遅延素子の温度を特定する。電圧情報は、その電圧が低いほど、前記相対遅延時間が長い、前記遅延素子の電圧を特定する。周波数情報は、その周波数が高いほど、前記相対遅延時間が長い、前記基準クロックの周波数を特定する。
前記動作状況取得部は、第1の前記動作状況情報(低い温度の動作状況情報S11など)と、第1の前記動作状況情報に対応する第1の前記相対遅延時間よりも長い第2の前記相対遅延時間に対応する第2の動作状況情報(高い温度の動作状況情報S11など)とを取得する。
前記初期遅延決定部は、前記情報取得部により第1の前記動作状況情報が取得された場合、第1の素子数を特定する第1の前記遅延制御情報(素子数情報S12)を生成する。また、前記初期遅延決定部は、第2の前記動作状況情報が取得された場合、前記第1の素子数よりも少ない第2の素子数を特定する第2の前記遅延制御情報(素子数情報S12)を生成する。
前記可変遅延回路は、前記初期遅延決定部により生成された前記遅延制御情報により特定される前記素子数の前記遅延素子による遅延が前記基準クロックに付加されたクロックを、前記遅延クロック(遅延クロックS13)として生成する。
第1の前記所定角度は、360度である。
前記遅延制御回路は、前記位相比較回路により検出された前記位相差が360度の位相差である場合(ステップ34:yes)、前記遅延クロックの前記遅延制御情報を、360度の位相差の前記遅延制御情報と特定する。他方、前記遅延制御回路は、検出された前記位相差が360度の位相差ではない場合(ステップ34:no)、フィードバックにより特定された前記遅延制御情報を、360度の位相差の前記遅延制御情報と特定する。
前記参照クロックは、メモリのデータ信号が通信されるのに際して、その通信のタイミングの基準として利用される、前記基準クロックに対して、第2の所定角度の位相差の遅延が付加されたクロックである。そして、前記参照クロックは、前記遅延制御回路により特定された、360度の前記遅延制御情報により特定される前記素子数(ロック素子数情報S02)と、360度及び第2の前記所定角度の間の比とに対応する素子数の前記遅延素子による遅延が前記基準クロックに付加されたクロックである。前記参照クロックは、例えば、前記遅延制御回路により生成されてもよい。
なお、前記動作状況情報は、前記DLL回路における、前記遅延素子の温度と、前記遅延素子の電圧と、前記基準クロックの周波数とのうちの少なくとも1つの値を示し、前記DLL回路が動作するうちに、示される前記値が変化し、前記基準クロックの波長に対する、前記遅延素子による遅延の相対的な遅延時間が、示される前記値に対応する時間である情報であるといえる。
このため、遅延素子の温度等が変化しても、例えば、変化しない場合に取得される、第1の動作状況情報とは異なる、第2の動作状況情報が取得される等する。これにより、より適切な素子数で遅延クロックが生成され、迅速に、360度の素子数が特定される。そして、ひいては、迅速に、参照クロックが生成され、データ信号の通信が迅速に行われる。
続けて説明がされる。ただし、次の説明も、単なる一例である。
実施形態のDLL回路(DLL回路100)は、取得部(動作状況認識部110)と、遅延回路(可変遅延回路130)と、制御部(位相比較回路140、遅延制御回路150、初期遅延決定部120)との3つの部分を備えると捉えられてもよい。
遅延回路は、遅延素子の素子数が指定され(素子数情報S12)、指定された素子数の遅延素子による遅延を基準クロック(基準クロックS01)に付加した遅延クロック(遅延クロックS13)を生成する(ステップ32)。
取得部は、前記DLL回路(遅延回路、遅延素子など)に表れる回路情報(動作状況情報S11)を取得する(ステップ31)。取得される回路情報は、前記遅延回路に指定されることにより、所定角度(360度)の位相差の前記遅延クロックが生成される素子数を示す情報である。
制御部は、前記取得部により取得された前記回路情報により示される前記素子数を前記遅延回路に指定する(ステップ32)。
そして、制御部は、制御部により前記素子数が指定された前記遅延回路により生成される前記遅延クロックが、所定角度のクロックか否かを判定し、所定角度のクロックであると判定した場合(ステップ34:yes)、参照クロックが生成される際の基準の素子数として、前記遅延回路に指定した前記素子数を特定する。
他方、制御部は、所定角度のクロックではないと判定した場合(ステップ34:no)、前記遅延回路に指定した前記素子数以外の他の素子数を、所定角度の素子数と特定するための処理をして(ステップ36〜39、34〜35)、その処理により特定された他の素子数を、上記された基準の素子数として特定する。
先述のようにして、回路情報が取得されての動作が行われることで、この、他の素子数を特定する処理が不要になったり、短い時間での処理になったりする。これにより、少ない処理で、迅速に、基準となる、360度の素子数が特定される。つまり、少ない処理で、迅速に、DLLロックができる。これにより、ひいては、少ない処理で、迅速に、参照クロックが生成できる。これにより、さらには、少ない処理で、迅速に、メモリのデータ信号の通信ができる。
なお、回路情報は、当該要素の状態が変化することが原因となって、遅延素子の相対遅延時間が変化する結果が生じる要素(遅延素子の温度等)の前記状態(温度の値等)を示す情報である。ここで、要素とは、例えば、DLL回路が動作するうちに変化する、DLL回路(遅延回路、遅延素子など)の一部又は全部の属性(温度、電圧、周波数など)である。例えば、回路情報は、その状態の変化を示す。そして、回路情報は、(変化後の)状態を示すことにより、その状態に対応した、適切な素子数を特定する。
取得部は、例えば、DLL回路における、遅延素子以外の他の箇所の温度等を検知することにより、間接的に、遅延素子の温度等を検知してもよい。取得部は、例えば、温度を検知する温度検知器、電圧を検知する電圧検知器、周波数を検知する周波数検知器のうちの少なくとも1つである。
DLL回路は、例えば、複数の遅延素子を備える。そして、複数の遅延素子は、それらの複数の遅延素子のうちで、遅延を付加する遅延素子の素子数に略比例した長さの遅延を、基準クロックに付加する。複数の遅延素子は、例えば、可変遅延回路130に含まれてもよい。
遅延回路は、例えば、当該遅延回路に対して指定された遅延量(遅延の長さ、素子数情報S12)が入力され、入力された遅延量の近傍に含まれる長さの遅延を、基準クロックS01に付加してもよい。付加される遅延の長さは、その近傍のうちで、取得された回路情報に対応した長さである。これにより、より適切な長さの遅延が付加できる。
所定角度(360度)の位相差とは、所定角度と同一又は近傍の位相差をいうと理解されてもよい。
なお、DLL回路100は、上記の説明では言及されない技術事項を更に具備してもよいのは当然である。ここで、DLL回路100は、その技術事項として、例えば、更に他の構成要素を備えてもよいし、上述の動作以外の他の動作を更に行ってもよい。
また、互いに離れた2箇所で言及された2つの技術事項は、適宜組み合わせられてよい。それらの2つの技術事項の記載は、組み合わせられた形態の技術を開示する。
以上説明してきた通り、本発明に係る回路はクロックに同期して高速に動作するメモリにアクセスするシステムにおいて、電圧や温度、クロック周波数制御によりメモリアクセスの制御を行うので、複数バンクから成るメモリへアクセスを行うシステムにおいて有用である。
100 DLL回路
110 動作状況認識部
120 初期遅延決定部
130 可変遅延回路
140 位相比較回路
150 遅延制御回路
210 高速クロック生成部
220 高速クロック用初期遅延決定部
230 高速クロック用可変遅延回路
240 高速クロック用位相比較回路
250 高速クロック用遅延制御回路
310 乗算器

Claims (11)

  1. 基準クロックに対して、遅延素子により遅延を付加した参照クロックを生成するのに先立って、前記基準クロックに対して所定角度の位相差の遅延を付加するための遅延制御情報を生成するDLL(Delay Lock Loop)回路であって、
    前記DLL回路が動作している状況を示す動作状況情報を取得する動作状況取得部と、
    前記基準クロックに対して最初に付加する遅延の長さを特定する遅延制御情報として、前記動作状況取得部の取得する前記動作状況情報に対応する長さを特定する遅延制御情報を生成する初期遅延決定部と、
    前記基準クロックが入力され、入力された前記基準クロックに対して、前記初期遅延決定部により生成された前記遅延制御情報、または、フィードバックされた遅延制御情報により特定される長さの遅延を前記遅延素子により付加した遅延クロックを生成する可変遅延回路と、
    前記可変遅延回路によって生成された前記遅延クロックと、前記基準クロックとの間の位相差を検出する位相比較回路と、
    前記位相比較回路によって検出された前記位相差が、前記所定角度の位相差である場合、前記初期遅延決定部により生成された前記遅延制御情報を、前記所定角度の前記遅延制御情報と特定し、前記所定角度の位相差ではない場合、検出された前記位相差から遅延制御情報を生成して、生成された当該遅延制御情報を前記可変遅延回路にフィードバックする遅延制御回路とを含むDLL回路。
  2. 請求項1に記載のDLL回路であって、
    前記動作状況情報は、前記遅延素子の温度を特定する温度情報と、前記遅延素子の電圧を特定する電圧情報と、前記基準クロックの周波数を特定する周波数情報とのうちの1つであるDLL回路。
  3. 請求項1に記載のDLL回路であって、
    前記所定角度は、360度であるDLL回路。
  4. 請求項1に記載のDLL回路であって、
    前記動作状況取得部は、前記遅延素子の温度を検知し、
    前記初期遅延決定部は、前記動作状況取得部の検知した前記温度に応じて、検知された前記温度が、第1の温度よりも高い第2の温度である場合、前記第1の温度が検知された場合に生成する第1の前記遅延制御情報により特定される長さよりも短い長さを特定する第2の前記遅延制御情報を生成するDLL回路。
  5. 請求項1に記載のDLL回路であって、
    前記動作状況取得部は、前記遅延素子の電圧を検知し、
    前記初期遅延決定部は、前記動作状況取得部の検知した前記電圧に応じて、検知された前記電圧が、第1の電圧よりも低い第2の電圧である場合、前記第1の電圧が検知された場合に生成する第1の前記遅延制御情報により特定される長さよりも短い長さを特定する第2の前記遅延制御情報を生成するDLL回路。
  6. 請求項1に記載のDLL回路であって、
    前記動作状況取得部は、前記遅延素子の周波数を検知し、
    前記初期遅延決定部は、前記動作状況取得部の検知した前記周波数に応じて、検知された前記周波数が、第1の周波数よりも低い第2の周波数である場合、前記第1の周波数が検知された場合に生成する第1の前記遅延制御情報により特定される長さよりも短い長さを特定する第2の前記遅延制御情報を生成するDLL回路。
  7. 請求項1に記載のDLL回路であって、
    前記可変遅延回路は、付加する遅延の長さに対応する素子数の前記遅延素子による遅延を前記基準クロックに付加したクロックを、前記遅延クロックとして生成し、
    前記動作状況取得部は、前記基準クロックよりも高速な高速クロックをロックさせ、前記高速クロックのロックにより特定された、前記高速クロックが前記所定角度の位相差だけ遅延される、前記遅延素子の素子数を検知し、
    前記初期遅延決定部は、前記動作状況取得部の検知した、前記高速クロックの前記素子数に、前記高速クロックと前記基準クロックとの間の周波数比を乗算した結果に応じて、前記結果に対応する長さを特定する前記遅延制御情報を生成するDLL回路。
  8. 請求項1に記載のDLL回路であって、
    前記可変遅延回路は、前記可変遅延回路によって前記基準クロックに付加する最初の遅延の長さとして、前記初期遅延決定部により生成された前記遅延制御情報により特定される長さを決定するDLL回路。
  9. 請求項1に記載のDLL回路であって、
    前記遅延制御回路は、前記位相比較回路によって検出した、前記遅延クロックと前記基準クロックとの間の前記位相差により、当該位相差に対応する遅延制御情報を前記可変遅延回路にフィードバックし、
    前記可変遅延回路は、最初以外の遅延クロックの生成に際して、前記遅延制御回路の生成する、フィードバックの前記遅延制御情報によって、前記基準クロックに遅延を付加するDLL回路。
  10. 請求項1に記載のDLL回路であって、
    前記遅延制御回路は、前記動作状況取得部によって取得された前記動作状況情報に応じて、取得された前記動作状況情報に対応する遅延制御情報に、生成する前記遅延制御情報を更新し、
    前記可変遅延回路は、最初以外の遅延クロックの生成に際して、前記遅延制御回路により更新された後の前記遅延制御情報によって、前記基準クロックに遅延を付加するDLL回路。
  11. 請求項1に記載のDLL回路であって、
    前記動作状況取得部は、
    前記DLL回路における、前記遅延素子の温度と、前記遅延素子の電圧と、前記基準クロックの周波数とのうちの少なくとも1つの値を示し、前記DLL回路が動作するうちに、示される前記値が変化し、前記基準クロックの波長に対する、前記遅延素子による遅延の相対的な遅延時間が、示される前記値に対応する時間である情報を、前記動作状況情報として取得し、
    第1の前記動作状況情報と、第1の前記動作状況情報により示される前記値に対応する第1の前記遅延時間よりも長い第2の前記遅延時間に対応する前記値を示す第2の前記動作状況情報とを取得し、
    前記初期遅延決定部は、前記動作状況取得部により第1の前記動作状況情報が取得された場合、第1の素子数を特定する第1の前記遅延制御情報を生成し、第2の前記動作状況情報が取得された場合、前記第1の素子数よりも少ない第2の素子数を特定する第2の前記遅延制御情報を生成し、
    前記可変遅延回路は、第1の前記遅延制御情報および第2の前記遅延制御情報のうち、前記初期遅延決定部により生成された方の前記遅延制御情報により特定される素子数の遅延素子による遅延により、前記遅延クロックを生成するDLL回路。
JP2009194431A 2009-08-25 2009-08-25 Dll回路 Pending JP2011049660A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009194431A JP2011049660A (ja) 2009-08-25 2009-08-25 Dll回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009194431A JP2011049660A (ja) 2009-08-25 2009-08-25 Dll回路

Publications (1)

Publication Number Publication Date
JP2011049660A true JP2011049660A (ja) 2011-03-10

Family

ID=43835592

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009194431A Pending JP2011049660A (ja) 2009-08-25 2009-08-25 Dll回路

Country Status (1)

Country Link
JP (1) JP2011049660A (ja)

Similar Documents

Publication Publication Date Title
US8542044B2 (en) Semiconductor integrated circuit and method for driving the same
US10128853B2 (en) Delay locked loop circuit and integrated circuit including the same
US8106693B2 (en) Delay locked loop circuit and operation method thereof
JP2004145999A (ja) タイミング調整回路及びそれを備えた半導体装置
US8164370B2 (en) Clock control circuit and semiconductor device including the same
US9564907B2 (en) Multi-channel delay locked loop
JP2012049863A (ja) 半導体装置
US7667510B2 (en) Delay locked loop circuit and method thereof
US8836393B2 (en) Fast measurement initialization for memory
US10965292B1 (en) Delay-locked loop device and operation method therefor
KR100983485B1 (ko) 지연고정루프 기반의 주파수 체배 시스템 및 그 체배 방법
US8598927B2 (en) Internal clock generator and operating method thereof
US7629821B2 (en) Semiconductor memory device
JP2004120433A (ja) 位相同期ループ回路
US8723570B2 (en) Delay-locked loop and method for a delay-locked loop generating an application clock
US20100118626A1 (en) Delay device for shifting phase of strobe signal
US7495486B2 (en) Semiconductor memory device
US8638137B2 (en) Delay locked loop
JP2011049660A (ja) Dll回路
US8502580B2 (en) Semiconductor device and method for operating the same
CN104253610A (zh) 一种延迟锁相环防止错锁的电路及方法
CN113746475B (zh) 延迟锁相回路装置及其操作方法
JP2006074580A (ja) Dll回路
US20140145771A1 (en) Delay locked loop
KR102516881B1 (ko) 클럭 위상 정렬을 위한 방법 및 장치