(57)【要約】【課題】  Slave DLL毎にばらついているディレイラインの遅延量を補正することが可能な手段を提供することにより、各Slave DLLから供給されるクロック信号の位相誤差を低減する。【解決手段】  Slave DLL(200-1〜200-n)の各出力クロック信号DQSOUTはフィードバックされて、Master DLL(100)に入力され、時分割でMaster DLL(100)の出力クロック信号CLK0と位相比較(PD)されて位相誤差が検出される。この位相誤差は制御信号生成部107に入力され、Master DLL(100)から出力される制御信号を補正する。該補正された制御信号は、各々のSlave DLLを特定する識別信号とともにSlave DLL(200-1〜200-n)へ出力される。各Slave DLLでは、識別信号判定部204でMaster DLL(100)から送られてきた識別信号を判定し、自己の識別信号を受信した時点における前記補正済み制御信号を取り込んで自己のディレイラインの遅延量を制御する。【選択図】      図１
2005142859.tif 000002
【特許請求の範囲】
【請求項１】
基準となる外部クロック信号と出力クロック信号間の位相差を検出し、該位相差に応じた制御信号によりその遅延量が制御されることによって、前記基準となる外部クロック信号と位相同期した前記出力クロック信号を出力するMaster ＤＬＬと、該Master ＤＬＬから出力される前記制御信号によってその遅延量が制御され、入力される外部クロック信号を前記制御された遅延量に相当する位相だけ遅延したクロック信号として出力する複数のSlave ＤＬＬとからなるMaster/Slave ディジタルＤＬＬにおいて、
前記複数のSlave ＤＬＬから出力されるクロック信号を時分割により順次前記Master ＤＬＬの出力クロック信号または前記基準となる外部クロック信号と位相比較する手段と、該位相比較手段により検出された位相誤差によって前記制御信号を補正する手段と、該補正された制御信号を、該制御信号が供給されるSlave ＤＬＬを特定する識別信号とともに前記Master ＤＬＬから出力する手段と、前記識別信号により自己宛の前記補正された制御信号を受信し、該受信した制御信号により各Slave ＤＬＬにおける前記遅延量を制御する手段を備えていることを特徴とするMaster/Slave ディジタルＤＬＬ。
【請求項２】
基準となる外部クロック信号と出力クロック信号間の位相差を検出し、該位相差に応じた制御信号によりその遅延量が制御されることによって、前記基準となる外部クロック信号と位相同期した前記出力クロック信号を出力するMaster ＤＬＬと、該Master ＤＬＬから出力される前記制御信号によってその遅延量が制御され、入力される外部クロック信号を前記制御された遅延量に相当する位相だけ遅延したクロック信号として出力する複数のSlave ＤＬＬとからなるMaster/Slave ディジタルＤＬＬにおいて、
前記複数のSlave ＤＬＬから出力されるクロック信号を時分割により順次前記Master ＤＬＬの出力クロック信号または前記基準となる外部クロック信号と位相比較する手段と、該位相比較手段により位相比較された結果を位相の進み／遅れを示す位相判定信号として前記各Slave ＤＬＬを特定する識別信号とともに出力する手段と、前記識別信号により自己宛の前記位相判定信号を受信し、該受信した位相判定信号により各Slave ＤＬＬにおける前記遅延量を制御する制御信号を補正する手段を備えていることを特徴とするMaster/Slave ディジタルＤＬＬ。
【請求項３】
基準となる外部クロック信号と出力クロック信号間の位相差を検出し、該位相差に応じた制御信号によりその遅延量が制御されることによって、前記基準となる外部クロック信号と位相同期した前記出力クロック信号を出力するMaster ＤＬＬと、該Master ＤＬＬから出力される前記制御信号によってその遅延量が制御され、入力される外部クロック信号を前記制御された遅延量に相当する位相だけ遅延したクロック信号として出力する複数のSlave ＤＬＬとからなるMaster/Slave ディジタルＤＬＬにおいて、
前記複数のSlave ＤＬＬから出力されるクロック信号を時分割により順次前記Master ＤＬＬの出力クロック信号または前記基準となる外部クロック信号と位相比較する手段と、該位相比較手段により検出された位相誤差の最小値と最大値から中心値を求める演算、または検出された全ての位相誤差の平均値を求める演算を実行する手段と、該求められた中心値または平均値によって前記制御信号を補正して前記Slave ＤＬＬ全てに共通に供給する手段を備えていることを特徴とするMaster/Slave ディジタルＤＬＬ。
【請求項４】
前記複数のSlave ＤＬＬに供給される外部クロック信号として、周期的に各Slave ＤＬＬの位相誤差が補正される期間においては、前記Master ＤＬＬに供給されている基準となる外部クロック信号を選択して供給し、通常動作時は各Slave ＤＬＬに供給されている外部クロック信号を選択して供給する手段を備えていることを特徴とする請求項１〜３の何れかに記載のMaster/Slave ディジタルＤＬＬ。
【請求項５】
基準となる外部クロック信号と出力クロック信号間の位相差を検出し、該位相差に応じた制御信号によりその遅延量を制御することによって、前記基準となる外部クロック信号と位相同期した前記出力クロック信号を出力するMaster ＤＬＬと、該Master ＤＬＬが出力する前記制御信号によってその遅延量を制御することにより、入力される外部クロック信号を前記制御された遅延量に相当する位相だけ遅延したクロック信号として出力する複数のSlave ＤＬＬとからなるMaster/Slave ディジタルＤＬＬ制御方法において、
前記複数のSlave ＤＬＬから出力されるクロック信号を時分割により順次前記Master ＤＬＬの出力クロック信号または前記基準となる外部クロック信号と位相比較し、該位相比較により検出した位相誤差によって前記制御信号を補正し、該補正した制御信号を、該制御信号が供給されるSlave ＤＬＬを特定する識別信号とともに前記複数のSlave ＤＬＬへ出力し、前記複数のSlave ＤＬＬが前記識別信号により自己宛の前記補正された制御信号を受信し、該受信した制御信号により各Slave ＤＬＬにおける前記遅延量を制御することを特徴とするMaster/Slave ディジタルＤＬＬ制御方法。
【請求項６】
基準となる外部クロック信号と出力クロック信号間の位相差を検出し、該位相差に応じた制御信号によりその遅延量を制御することによって、前記基準となる外部クロック信号と位相同期した前記出力クロック信号を出力するMaster ＤＬＬと、該Master ＤＬＬが出力する前記制御信号によってその遅延量を制御することにより、入力される外部クロック信号を前記制御された遅延量に相当する位相だけ遅延したクロック信号として出力する複数のSlave ＤＬＬとからなるMaster/Slave ディジタルＤＬＬ制御方法において、
前記複数のSlave ＤＬＬから出力されるクロック信号を時分割により順次前記Master ＤＬＬの出力クロック信号または前記基準となる外部クロック信号と位相比較し、該位相比較結果を位相の進み／遅れを示す位相判定信号として前記各Slave ＤＬＬを特定する識別信号とともに前記複数のSlave ＤＬＬへ出力し、前記複数のSlave ＤＬＬが前記識別信号により自己宛の前記位相判定信号を受信し、該受信した位相判定信号により各Slave ＤＬＬにおける前記遅延量を制御する制御信号を補正することを特徴とするMaster/Slave ディジタルＤＬＬ制御方法。
【請求項７】
基準となる外部クロック信号と出力クロック信号間の位相差を検出し、該位相差に応じた制御信号によりその遅延量を制御することによって、前記基準となる外部クロック信号と位相同期した前記出力クロック信号を出力するMaster ＤＬＬと、該Master ＤＬＬが出力する前記制御信号によってその遅延量を制御することにより、入力される外部クロック信号を前記制御された遅延量に相当する位相だけ遅延したクロック信号として出力する複数のSlave ＤＬＬとからなるMaster/Slave ディジタルＤＬＬ制御方法において、
前記複数のSlave ＤＬＬから出力されるクロック信号を時分割により順次前記Master ＤＬＬの出力クロック信号または前記基準となる外部クロック信号と位相比較し、該位相比較により検出された位相誤差の最小値と最大値から中心値を求め、または検出された全ての位相誤差の平均値を求め、該求めた中心値または平均値によって前記制御信号を補正して全ての前記Slave ＤＬＬに共通に供給することを特徴とするMaster/Slave ディジタルＤＬＬ制御方法。
【請求項８】
前記複数のSlave ＤＬＬに対して、各Slave ＤＬＬの位相誤差の補正動作期間においては、前記Master ＤＬＬに供給されている基準となる外部クロック信号を入力クロック信号として供給し、通常動作時は各Slave ＤＬＬに供給されている外部クロック信号を入力クロック信号として供給することを特徴とする請求項５〜７の何れかに記載のMaster/Slave ディジタルＤＬＬ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はMaster/Slave方式のディジタルＤＬＬ（Delay Locked Loop）における制御方法に関する。
【背景技術】
【０００２】
ＤＬＬは、チップ外部から与えたクロック信号と内部のクロック信号との間に生ずる時間差を回路的に制御して調整し、高速なクロックアクセス時間や高い動作周波数を実現する回路技術であり、特許文献１〜３等に記載されているように、例えば半導体集積回路における動作クロック発生回路として用いられている。他にも同様な機能を果たす回路としてＰＬＬ（Phase Locked Loop）回路が有名だが、違いは、ＤＬＬにおいては外部クロックに対する内部信号の遅延時間を制御するのに対し、ＰＬＬにおいては、外部クロック信号に対して内部発振回路の出力の位相を制御する点である。
【０００３】
また、Master ＤＬＬで外部クロックに対する内部信号の遅延時間を制御する信号を生成し、Slave ＤＬＬはこの制御信号を受けて内部信号の遅延時間を制御したクロック信号を、チップ内部に供給するMaster/Slave方式ディジタルＤＬＬが提案されており（特願２００２−２２１０２４号等）この方式を利用してマイクロプロセッサやメモリなどにおいて、外部クロック信号と内部クロック信号の位相差を補償することが可能となっている。
【０００４】
Master/Slave方式ディジタルＤＬＬでは、Master ＤＬＬで生成した制御信号で、複数のSlave ＤＬＬを制御することが可能となるため、チップの広範囲にクロック信号を供給しながらも、ＤＬＬ毎に制御回路を持つ必要がない分だけ、チップ面積の増加を抑えることができるというメリットがある。
【０００５】
しかし一方で、近年のプロセスの微細化や低電圧化によって、各ＤＬＬ同士間における遅延値のばらつきが無視できないレベルに達する事もあり、これらを補正するために再設計も強いられる状況が発生しつつある。
【０００６】
図８は、従来のMaster/Slave ＤＬＬの構成例を示すブロック図であり、図９、図１０は、図８におけるMaster ＤＬＬ、Slave ＤＬＬの構成例を示すブロック図である。
【０００７】
Master/Slave ＤＬＬのMaster ＤＬＬ（１００）とSlave ＤＬＬ（２００−１〜２００−ｎ）にはそれそれ図９、図１０で示すように、外部クロックと内部クロックの位相差を補償するためにディレイライン（遅延回路）が用いられており、Master ＤＬＬ（１００）とSlave ＤＬＬ（２００）のそれぞれに搭載されるディレイライン（１０３）、（２０３）は全く同じ構成ものが使用される。Master ＤＬＬ（１００）が外部クロック信号（入力クロック信号）ＲＣＬＫを基準に所望の位相差を生成するようにディレイライン（１０３）、（２０３）を制御する。
【０００８】
例として、基準となる外部クロック信号ＲＣＬＫにＤＬＬの出力クロック信号の位相を合わせる場合、Master ＤＬＬ（１００）から出力されたクロック信号ＣＬＫ０を図９にある位相比較器（１０１）で外部クロック信号ＲＣＬＫと比較して、両者間の位相の進み／遅れを判定し、この判定結果から、ディレイライン（１０３）の遅延量を制御する。
【０００９】
なお、Slave ＤＬＬ（２００−１〜２００−ｎ）の入力クロック信号ＤＱＳＩＮは、必ずしも常時供給されるとは限らないが、その位相関係はMaster ＤＬＬ（１００）の基準入力クロック信号ＲＣＬＫと同じである。この制御によって、図１１で示すようにMaster/SlaveＤＬＬ（１００）／（２００）から出力されるクロック信号ＣＬＫ０／ＤＱＳＯＵＴを３６０度遅延させることで外部クロック信号ＲＣＬＫ／ＤＱＳＩＮと同じ位相に合わせることができる。
【００１０】
このMaster ＤＬＬ（１００）で生成された制御信号を図８で示すように、Master ＤＬＬ（１００）とSlave ＤＬＬ（２００−１〜２００−ｎ）をつなぐ遅延回路制御信号線によって各Slave ＤＬＬ（２００−１〜２００−ｎ）に供給することで、図１０のSlave ＤＬＬ（２００−１〜２００−ｎ）のディレイライン（２０３）も制御される。このSlave ＤＬＬ（２００−１〜２００−ｎ）より出力されたクロック信号がチップ内部のそれぞれ割り当てられた機能ブロックに供給される。
【００１１】
【特許文献１】特開２００１−８４７６３号公報
【特許文献２】特開２００１−３２６５６３号公報
【特許文献２】特開２００１−３３９２９４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
プロセスの微細化によって、プロセスばらつきによる遅延値への影響が増加する傾向にある。即ち、各々のＤＬＬで本来、ディレイラインに同じ制御値が与えられたならば、各Slave ＤＬＬの遅延値は全く同じ値になるはずであるが、プロセスばらつきにより遅延値がばらついてしまうと、チップ内部に供給されるクロック信号に位相誤差が発生してしまうことになり、機能ブロックの正常な動作に支障が出る可能性がある。
【００１３】
これは特に近年、クロック周波数の高速化が進んでいる上で、無視できないものとなっている。このような遅延値のばらつきは、近年の電源電圧の低電圧化による影響もあるが、特にSlave ＤＬＬ（２００）のチップ上の配置位置が図１２にあるように、チップの４辺に置かれることが多く、その向きも一定でないことがあるため、プロセスばらつきの影響を受けやすくなっている。
【００１４】
また、各ＤＬＬに電源を供給する配線の太さや長さ、本数が異なることもあり、電源配線の抵抗値が異なることから、電圧降下量も各ＤＬＬで異なる。このような問題は近年の高集積化によるチップレイアウト上の制約から、ばらつき防止対策は困難になってきている。
【００１５】
本発明の目的は、上記問題点に鑑み、各々のSlave ＤＬＬによってばらついているディレイラインの遅延量を補正することが可能な手段を提供することにより、各Slave ＤＬＬから供給されるクロック信号の位相誤差を低減することにある。
【課題を解決するための手段】
【００１６】
本発明のMaster/Slave ＤＬＬは、基準となる外部クロック信号と出力クロック信号間の位相差を検出し、該位相差に応じた制御信号によりその遅延量が制御されることによって、前記基準となる外部クロック信号と位相同期した前記出力クロック信号を出力するMaster ＤＬＬと、該Master ＤＬＬから出力される前記制御信号によってその遅延量が制御され、入力される外部クロック信号を前記制御された遅延量に相当する位相だけ遅延したクロック信号として出力する複数のSlave ＤＬＬとからなり、前記複数のSlave ＤＬＬから出力されるクロック信号を時分割により順次前記Master ＤＬＬの出力クロック信号または前記基準となる外部クロック信号と位相比較する手段と、該位相比較手段により検出された位相誤差によって前記制御信号を補正する手段と、該補正された制御信号を、該制御信号が供給されるSlave ＤＬＬを特定する識別信号とともに前記Master ＤＬＬから出力する手段と、前記識別信号により自己宛の前記補正された制御信号を受信し、該受信した制御信号により各Slave ＤＬＬにおける前記遅延量を制御する手段を備えていることを特徴とする。
【００１７】
また、本発明のMaster/Slave ＤＬＬは、基準となる外部クロック信号と出力クロック信号間の位相差を検出し、該位相差に応じた制御信号によりその遅延量が制御されることによって、前記基準となる外部クロック信号と位相同期した前記出力クロック信号を出力するMaster ＤＬＬと、該Master ＤＬＬから出力される前記制御信号によってその遅延量が制御され、入力される外部クロック信号を前記制御された遅延量に相当する位相だけ遅延したクロック信号として出力する複数のSlave ＤＬＬとからなり、前記複数のSlave ＤＬＬから出力されるクロック信号を時分割により順次前記Master ＤＬＬの出力クロック信号または前記基準となる外部クロック信号と位相比較する手段と、該位相比較手段により位相比較された結果を位相の進み／遅れを示す位相判定信号として前記各Slave ＤＬＬを特定する識別信号とともに出力する手段と、前記識別信号により自己宛の前記位相判定信号を受信し、該受信した位相判定信号により各Slave ＤＬＬにおける前記遅延量を制御する制御信号を補正する手段を備えていることを特徴とする。
【００１８】
また、本発明のMaster/Slave ＤＬＬは、基準となる外部クロック信号と出力クロック信号間の位相差を検出し、該位相差に応じた制御信号によりその遅延量が制御されることによって、前記基準となる外部クロック信号と位相同期した前記出力クロック信号を出力するMaster ＤＬＬと、該Master ＤＬＬから出力される前記制御信号によってその遅延量が制御され、入力される外部クロック信号を前記制御された遅延量に相当する位相だけ遅延したクロック信号として出力する複数のSlave ＤＬＬとからなり、前記複数のSlave ＤＬＬから出力されるクロック信号を時分割により順次前記Master ＤＬＬの出力クロック信号または前記基準となる外部クロック信号と位相比較する手段と、該位相比較手段により検出された位相誤差の最小値と最大値から中心値を求める演算、または検出された全ての位相誤差の平均値を求める演算を実行する手段と、該求められた中心値または平均値によって前記制御信号を補正して前記Slave ＤＬＬ全てに共通に供給する手段を備えていることを特徴とする。
【００１９】
即ち本発明は、Master ＤＬＬの出力クロック信号のみを帰還させ、基準となる外部クロック信号と位相比較し、該位相比較結果のみで各Slave ＤＬＬのディレイラインの遅延量を制御していた従来技術に対して、各Slave ＤＬＬの出力クロック信号もフィードバックさせ、これを時分割で基準となる外部クロック信号またはMaster ＤＬＬの出力クロック信号と位相比較して、その位相の進み／遅れ情報を各Slave ＤＬＬ毎に検出しているので、各々のSlave ＤＬＬによってばらついていたディレイラインの遅延量を補正することが可能となり、各Slave ＤＬＬ毎に生じていた位相誤差の低減を図ることができる。
【発明の効果】
【００２０】
本発明によれば、各Slave ＤＬＬ間での位相誤差を抑えることが可能となる。また、時分割による処理なのでSlave ＤＬＬの搭載数だけ位相比較器を準備する必要はなく、比較的簡単な構成と少ないチップ面積で実現できる。
【００２１】
また、各Slave ＤＬＬがMaster ＤＬＬから受け取った位相の進み／遅れの情報から位相誤差を補正するように構成した場合には、Master ＤＬＬに複雑な制御信号の生成／保持機能を従来機能部以外に新たに持たせる必要はなく、構成も簡単になる。
【００２２】
さらに、位相誤差の中心値または平均値により制御値を補正するように構成すれば、一層、面積と配線リソースの増加を最小限に抑えることが可能となる。
【００２３】
また、ＤＤＲメモリインターフェイスのような間欠クロックが各Slave ＤＬＬに入力される場合にも対応可能に構成することができる。
【発明を実施するための最良の形態】
【００２４】
図１は、本発明の第１の実施形態を示すMaster/Slave ＤＬＬのブロック図である。
【００２５】
本実施形態では、Slave ＤＬＬ（２００−１〜２００−ｎ）の各出力クロック信号ＤＱＳＯＵＴをフィードバックして、Master ＤＬＬ（１００）の出力クロック信号ＣＬＫ０（または入力クロック信号ＲＣＬＫ）と時分割で位相比較（ＰＤ）することにより、Slave ＤＬＬ毎に生じている位相誤差をそれぞれ検出する。
【００２６】
そして、該検出したそれぞれの位相誤差によりMaster ＤＬＬ（１００）から出力される制御信号を各Slave ＤＬＬ毎に補正し、各Slave ＤＬＬの識別信号とともに時分割で送出する。Slave ＤＬＬ（２００−１〜２００−ｎ）では、自己の識別信号とともに送られてきた補正制御信号により自己のディレイラインの遅延量を補正する。
【００２７】
そのため本実施形態では、Master ＤＬＬ（１００）は、Slave ＤＬＬ（２００−１〜２００−ｎ）の各出力クロック信号ＤＱＳＯＵＴから時分割で一つのＤＱＳＯＵＴを選択して出力するマルチプレクサ１０５と、Master ＤＬＬ（１００）の出力クロック信号ＣＬＫ０と選択されたＤＱＳＯＵＴとの位相を比較する位相比較器１０６と、位相比較器１０６から出力される位相誤差によりMaster ＤＬＬ（１００）から出力される制御信号を補正して出力する制御信号生成部１０７とを備えている。
【００２８】
また、各Slave ＤＬＬ（２００−１〜２００−ｎ）は、Master ＤＬＬ（１００）から送出される識別信号が自己の識別信号であるか否かを判定する識別信号判定部２０４を備えており、自己の識別信号が送出されたことを判定したとき、当該識別信号とともに送られてきた制御信号を取り込み、該制御信号によって自己のディレイライン（２０３）の遅延量を制御する。
【００２９】
以下、本実施形態の動作について、図１〜図２を参照して詳細に説明する。
【００３０】
Master/Slave ＤＬＬのMaster ＤＬＬ（１００）とSlave ＤＬＬ（２００−１〜２００−ｎ）にはそれそれ従来例（図９、図１０）と同様に、外部クロックと内部クロックの位相差を補償するためのディレイライン（遅延回路）が設けられており、Master ＤＬＬ（１００）は、外部クロック信号（入力クロック信号）ＲＣＬＫに位相同期した出力クロックＣＬＫＯを生成するようにディレイライン（１０３）の遅延量を制御する制御信号を生成する。なお位相同期とは、外部クロック信号ＲＣＬＫと出力クロックＣＬＫＯの位相差が０の場合だけでなく、例えば９０度あるいは７２度等所望の位相差に固定された出力クロック信号を出力する場合も意味する。その場合、外部クロック信号を基準として出力クロック信号が該所望の位相差で位相同期した信号となるように、ディレイライン（１０３）の遅延量を制御する制御信号が生成される。本実施形態では、この制御信号は制御信号生成部１０７へ出力される。
【００３１】
一方、Slave ＤＬＬ（２００−１〜２００−ｎ）の各出力クロック信号ＤＱＳＯＵＴはフィードバックされて、Master ＤＬＬ（１００）のマルチプレクサ１０５に入力される。マルチプレクサ１０５から出力される各出力クロック信号ＤＱＳＯＵＴは、図２に示すように位相比較器１０６において時分割でMaster ＤＬＬ（１００）の入力クロック信号ＲＣＬＫ（または出力クロック信号ＣＬＫ０）と位相比較（ＰＤ）され、位相誤差が検出される。この位相誤差は制御信号生成部１０７に入力される。
【００３２】
制御信号生成部１０７は、入力された位相誤差によりMaster ＤＬＬ（１００）から出力された制御信号を補正し、該補正した制御信号を、各々のSlave ＤＬＬを特定する識別信号とともにSlave ＤＬＬ（２００−１〜２００−ｎ）へ出力する。各Slave ＤＬＬ（２００−１〜２００−ｎ）では、識別信号判定部２０４でMaster ＤＬＬ（１００）から送られてきた識別信号を判定しており、自己の識別信号を受信した時点における前記補正済み制御信号を取り込み、この補正済み制御信号によって自己のディレイライン２０３の遅延量を制御する。
【００３３】
例えば、最初にSlave ＤＬＬ（２００−１）の出力クロックＤＱＳＯＵＴとMaster ＤＬＬ（１００）の出力クロックＣＬＫ０との位相誤差を検出して制御信号を補正し、補正した制御信号をSlave ＤＬＬ（２００−１）の識別信号と共にMaster ＤＬＬ（１００）から出力する。識別信号と共にこの補正された制御信号を受け取ったSlave ＤＬＬ（２００−１）は補正された制御値に従い、自己のディレイライン２０３の遅延量を制御することにより精度の高い位相のクロックＤＱＳＯＵＴを出力することができる。
【００３４】
またこの間、Slave ＤＬＬ（２００−１）以外のSlave ＤＬＬは直前に受信した制御信号の値を保持しており、その制御信号によって制御された遅延量により動作している。Slave ＤＬＬ（２００−１）が完了したら、Slave ＤＬＬ（２００−２），・・・，Slave ＤＬＬ（２００−ｎ）へと同様の処理を時分割で行う。この時分割による位相誤差の補正処理は所定周期毎に繰り返してもよい。
【００３５】
本実施形態では、Slave ＤＬＬの出力するクロック信号（ＤＱＳＯＵＴ）をMaster ＤＬＬの出力するクロック信号（ＣＬＫ０）と位相比較することで、各Slave ＤＬＬで生じていた遅延値のばらつきを補正することが可能であるため、各々のSlave ＤＬＬが出力するクロック信号（ＤＱＳＯＵＴ）の位相誤差を、搭載する位相比較器１０６の解像度か、またはディレイライン２０３の遅延step程度の限界まで低減することができる。
【００３６】
また、処理を時分割で行っているため、仮に、それぞれのSlave ＤＬＬ毎に出力クロック信号をフィードバックし、Master ＤＬＬの出力クロック信号と位相比較して補正する回路を設ける場合と比較すると、位相比較器や制御線の本数を削減することが可能になり、マクロ面積の増加を抑えることが可能となる。
【００３７】
図３は、本発明の第２の実施形態を示すMaster/Slave ＤＬＬのブロック図である。
【００３８】
本実施形態においても、Slave ＤＬＬ（２００−１〜２００−ｎ）の各出力クロック信号ＤＱＳＯＵＴをフィードバックして、Master ＤＬＬ（１００）の出力クロック信号ＣＬＫ０（または入力クロック信号ＲＣＬＫ）と時分割で位相比較（ＰＤ）することによりSlave ＤＬＬ毎の位相誤差を検出する。
【００３９】
しかし本実施形態では、Master ＤＬＬ（１００）から出力される前記制御信号はそのままSlave ＤＬＬ（２００−１〜２００−ｎ）に共通に入力され、一方、時分割で位相比較することにより検出されたSlave ＤＬＬ毎の位相誤差は、位相の進みまたは遅れを示す位相判定信号として識別信号と共にSlave ＤＬＬへ供給される。各Slave ＤＬＬ（２００−１〜２００−ｎ）では、識別信号が自身を指している時の位相判定信号の結果を取り込み、位相判定結果に応じて、Master ＤＬＬから供給されている制御値を加減算するかまたは、予め用意しているオフセット機能を制御することで出力クロックの位相誤差を補正する。
【００４０】
そのため本実施形態では、Master ＤＬＬ（１００）は、Slave ＤＬＬ（２００−１〜２００−ｎ）の各出力クロック信号ＤＱＳＯＵＴから時分割で一つのＤＱＳＯＵＴを選択して出力するマルチプレクサ１０５と、Master ＤＬＬ（１００）の出力クロック信号ＣＬＫ０と選択されたＤＱＳＯＵＴとの位相を比較する位相比較器１０６と、位相比較器１０６から出力される位相誤差により位相の進みまたは遅れを示す位相判定信号を生成して出力する位相判定部１０８とを備えている。
【００４１】
また、各Slave ＤＬＬ（２００−１〜２００−ｎ）は、Master ＤＬＬ（１００）から送出される識別信号が自己の識別信号であるか否かを判定する識別信号判定部２０４と、識別信号が自身を指している時の位相判定信号の結果を取り込み、位相判定結果に応じて、Master ＤＬＬから供給されている制御値を加減算するかまたは、予め用意しているオフセット機能を制御する制御信号補正部２０５とを備える遅延補正部２０１を有している。
【００４２】
図４は本実施形態の遅延補正部２０１の概略ブロック図である。以下、本実施形態の動作について、図３〜図４を参照して詳細に説明する。
【００４３】
Master/Slave ＤＬＬのMaster ＤＬＬ（１００）とSlave ＤＬＬ（２００−１〜２００−ｎ）にはそれそれ従来例（図９、図１０）と同様に、外部クロックと内部クロックの位相差を補償するためにディレイライン（遅延回路）（１０３）と（２０３）が設けられており、Master ＤＬＬ（１００）は、外部クロック信号（入力クロック信号）ＲＣＬＫを基準にして所望の位相差を生成するようにディレイライン（１０３）、（２０３）を制御する。
【００４４】
一方、Slave ＤＬＬ（２００−１〜２００−ｎ）の各出力クロック信号ＤＱＳＯＵＴはフィードバックされて、Master ＤＬＬ（１００）のマルチプレクサ１０５に入力される。マルチプレクサ１０５から出力される各出力クロック信号ＤＱＳＯＵＴは、位相比較器１０６において時分割でMaster ＤＬＬ（１００）の入力クロック信号ＲＣＬＫ（または出力クロック信号ＣＬＫ０）と位相比較（ＰＤ）され、位相誤差が検出される。この位相誤差は位相判定部１０８に入力される。
【００４５】
位相判定部１０８は、位相比較器１０６からSlave ＤＬＬ（２００−１〜２００−ｎ）毎に出力される位相誤差から、各Slave ＤＬＬ（２００−１〜２００−ｎ）における位相の進みまたは遅れを判定し、判定結果である位相判定信号にSlave ＤＬＬ（２００−１〜２００−ｎ）毎の識別信号を付加して出力する。
【００４６】
Slave ＤＬＬ（２００−１〜２００−ｎ）では、遅延補正部２０１内の識別信号判定部２０４でMaster ＤＬＬ（１００）から送られてきた識別信号を判別しており、自己の識別信号を受信した時点における前記位相判定信号を、制御信号補正部２０５が取り込み、取り込んだ位相判定信号に応じて、Master ＤＬＬ（１００）から供給されている制御信号の制御値を加減算するか、または予め用意しているオフセット機能を制御することによって、自己のディレイライン２０３の遅延量を制御することにより精度の高い位相のクロックを出力する。
【００４７】
Slave ＤＬＬ（２００−１）の制御が行われているとき、Slave ＤＬＬ（２００−１）以外のSlave ＤＬＬは直前に受信した位相判定信号を保持しており、その位相判定信号によって制御されている。Slave ＤＬＬ（２００−１）が完了したら、Slave ＤＬＬ（２００−２），・・・，Slave ＤＬＬ（２００−ｎ）へと同様の処理を行い、時分割で位相誤差を補正する処理を繰り返し続ける。
【００４８】
本実施形態によれば、位相の判定結果をMaster ＤＬＬから受けて各Slave ＤＬＬ自身がディレイラインに対する制御信号の加減算またはオフセットをかけるため、第１の実施形態のように、各Slave ＤＬＬ毎にMaster ＤＬＬから制御信号を供給する必要がないため、Master ＤＬＬに複雑な制御信号の生成／保持機能を新たに持たせる必要がなく、Master ＤＬＬの負担が軽減し、構成も簡単になる。
【００４９】
図５は、本発明の第３の実施形態を示すMaster/Slave ＤＬＬのブロック図である。
【００５０】
本実施形態においても、Slave ＤＬＬ（２００−１〜２００−ｎ）の各出力クロック信号ＤＱＳＯＵＴはフィードバックされて、Master ＤＬＬ（１００）の出力クロック信号ＣＬＫ０（または入力クロック信号ＲＣＬＫ）と時分割で位相比較（ＰＤ）されることにより、Slave ＤＬＬ毎に生じている位相誤差がそれぞれ抽出される。
【００５１】
しかし本実施形態では、抽出された各Slave ＤＬＬ（２００−１〜２００−ｎ）の位相誤差は、制御信号生成部１０９においてこれらの位相誤差の最小値と最大値から中心値を求める演算、あるいはこれらの位相誤差の平均値を求める演算が実行される。そして求められた位相誤差の中心値または平均値を全てのSlave ＤＬＬの位相誤差と仮定して、これに合わせて補正した制御信号を全てのSlave ＤＬＬに共通に供給する。
【００５２】
そのため本実施形態では、Master ＤＬＬ（１００）は、Slave ＤＬＬ（２００−１〜２００−ｎ）の各出力クロック信号ＤＱＳＯＵＴから時分割で一つのＤＱＳＯＵＴを選択して出力するマルチプレクサ１０５と、Master ＤＬＬ（１００）の出力クロック信号ＣＬＫ０と選択されたＤＱＳＯＵＴとの位相を比較する位相比較器１０６と、位相比較器１０６から出力される位相誤差からその中心値または平均値を求める演算手段および求められた中心値または平均値によりMaster ＤＬＬ（１００）から出力される制御信号を補正して出力する制御信号生成部１０９とを備えている。
【００５３】
一方、Slave ＤＬＬ自体は従来と全く同じ仕様で実現でき、制御信号生成部１０９から出力される制御信号を共通に取り込み、該制御信号によって自己のディレイライン（２０３）の遅延量を制御する。
【００５４】
以下、本実施形態の動作について、図５を参照して詳細に説明する。
【００５５】
Master/Slave ＤＬＬのMaster ＤＬＬ（１００）とSlave ＤＬＬ（２００−１〜２００−ｎ）にはそれそれ従来例（図９、図１０）と同様に、外部クロックと内部クロックの位相差を補償するためのディレイライン（遅延回路）（１０３）と（２０３）が設けられており、Master ＤＬＬ（１００）は、外部クロック信号（入力クロック信号）ＲＣＬＫを基準にして所望の位相差を生成するようにディレイライン（１０３）の遅延量を制御する制御信号を生成するが、本実施形態では、この制御信号は制御信号生成部１０９へ出力される。
【００５６】
一方、Slave ＤＬＬ（２００−１〜２００−ｎ）の各出力クロック信号ＤＱＳＯＵＴはフィードバックされて、Master ＤＬＬ（１００）のマルチプレクサ１０５に入力される。マルチプレクサ１０５から出力される各出力クロック信号ＤＱＳＯＵＴは、図２に示すように位相比較器１０６において時分割でMaster ＤＬＬ（１００）の入力クロック信号ＲＣＬＫ（または出力クロック信号ＣＬＫ０）と位相比較（ＰＤ）され、位相誤差が抽出される。この位相誤差は制御信号生成部１０９に入力される。
【００５７】
制御信号生成部１０９は、抽出された各Slave ＤＬＬ（２００−１〜２００−ｎ）の位相誤差の最小値と最大値から中心値を求める演算、またはこれらの位相誤差の平均値を求める演算を実行し、ディレイライン（１０３）の遅延量を制御するために生成された制御信号を前記演算により求めた位相誤差の中心値または平均値を用いて補正し、該補正した制御信号を全てのSlave ＤＬＬに共通に供給する。
【００５８】
本実施形態の場合、Slave ＤＬＬ自体は従来と全く同じ仕様とすることができ、Master/Slave間の配線もSlave ＤＬＬの出力クロックＤＱＳＯＵＴをMaster ＤＬＬに帰還させる分が増加するだけで済むことから、Master/Slave ＤＬＬ間の配線本数やマクロ面積が上記他の実施形態に比べて少なくなり、チップレイアウトの面では有利となる。よってSlave ＤＬＬ同士で遅延値のばらつきが比較的小さいと判断される場合には十分有効な方法となる。
【００５９】
図６は、本発明の第４の実施形態を示すMaster/Slave ＤＬＬの一部を示す構成図であり、図７は、本実施形態における各入力信号と動作モードを示す図である。
【００６０】
Slave ＤＬＬ（２００−１〜２００−ｎ）の入力信号ＤＱＳＩＮには連続したクロック信号が常に供給されているとは限らず、One Shot等の不連続な信号が供給される場合、上記第１〜第３の実施形態では、各Slave ＤＬＬの位相誤差を補正する期間を設けることができなくなる場合が生ずることも考えられる。
【００６１】
特に、最近主流となっているＤＤＲ（double data rate）方式のメモリインターフェイスなどにおいて本Master/Slave ＤＬＬが使用される場合は、Slave ＤＬＬの入力クロック信号ＤＱＳＩＮに常にクロック信号が供給されているとは限らず、メモリインターフェイスで必要な時だけ、間欠でクロック信号が入ってくることもあり、その場合、各Slave ＤＬＬの位相誤差を補正する期間を設けることができなくなることもある。
【００６２】
そこで本実施形態では、この問題を解決するため図６に示すように、Slave ＤＬＬ（２００−１〜２００−ｎ）に対して、各Slave ＤＬＬの位相誤差を補正する時のみ、Master ＤＬＬに供給されている外部クロック信号（入力クロック信号）ＲＣＬＫを選択して供給し、補正を完了した後の通常動作時はＤＱＳＩＮの信号をSlave ＤＬＬへ供給するマルチプレクサ３００を設けたことを特徴とする。この入力クロック供給部分を除いたその他の構成は第１〜第３の実施形態と同様である。
【００６３】
図７は、本実施形態における各入力信号と動作モードを示す図である。以下、本実施形態の入力クロック供給動作について、図６〜図７を参照して説明する。
【００６４】
第１〜第３の実施形態において、各Slave ＤＬＬのディレイラインの遅延量を制御する制御信号を補正する動作モードのときには、マルチプレクサ３００は、Slave ＤＬＬ（２００−１〜２００−ｎ）へ供給するクロック信号としてMaster ＤＬＬ（１００）に供給されている外部クロック信号（入力クロック信号）ＲＣＬＫを選択して供給する。
【００６５】
その結果、各Slave ＤＬＬ（２００−１〜２００−ｎ）には、図７に示すように、ＲＣＬＫが入力され、各Slave ＤＬＬ（２００−１〜２００−ｎ）の出力クロック信号ＤＱＳＯＵＴは、このＲＣＬＫをそれぞれのディレイライン（２０３）で遅延したクロック信号となり、このクロック信号がフィードバックされて、Master ＤＬＬ（１００）のマルチプレクサ１０５（図１，図３，図５参照）に入力される。
【００６６】
以下、第１〜第３の実施形態と同様に、マルチプレクサ１０５から出力される各出力クロック信号ＤＱＳＯＵＴは、図２に示すように位相比較器１０６において時分割でMaster ＤＬＬ（１００）の入力クロック信号ＲＣＬＫ（または出力クロック信号ＣＬＫ０）と位相比較（ＰＤ）されて位相誤差が抽出され、該位相誤差に基づいて各Slave ＤＬＬのディレイラインの遅延量が制御される。
【００６７】
一方、通常の動作時には、マルチプレクサ３００は、Slave ＤＬＬ（２００−１〜２００−ｎ）へ供給するクロック信号としてＤＱＳＩＮを選択して供給する。またこの間、各Slave ＤＬＬ（２００−１〜２００−ｎ）は、直前に受信した制御信号の値を保持しており、その制御信号によって動作する。
【図面の簡単な説明】
【００６８】
【図１】本発明の第１の実施形態を示すMaster/Slave ＤＬＬの構成図である。
【図２】本発明の実施形態の動作を説明するためのタイムチャートである。
【図３】本発明の第２の実施形態を示すMaster/Slave ＤＬＬのブロック図である。
【図４】本実施形態におけるSlave ＤＬＬの遅延補正部を示すブロック図である。
【図５】本発明の第３の実施形態を示すMaster/Slave ＤＬＬのブロック図である。
【図６】本発明の第４の実施形態を示すMaster/Slave ＤＬＬの一部を示す構成図である。
【図７】第４の実施形態における各入力信号と動作モードを示す図である。
【図８】従来のMaster/Slave ＤＬＬの構成図である。
【図９】従来例におけるMaster ＤＬＬの構成図である。
【図１０】従来例におけるSlave ＤＬＬの構成図である。
【図１１】Master/Slave ＤＬＬの入出力波形例である。
【図１２】チップ上にMaster/Slave ＤＬＬを配置する例を示した図である。
【符号の説明】
【００６９】
１００  Master ＤＬＬ
１０１，１０６  位相比較器
１０２  遅延制御信号発生部
１０３  ディレイライン
１０４，１０５  マルチプレクサ
１０７，１０９  制御信号生成部
１０８  位相判定部
２００−１〜２００−ｎ  Slave ＤＬＬ
２０１  遅延補正部
２０４  識別信号判定部
２０５  制御信号補正部
３００  マルチプレクサ
【図１】
2005142859.tif 000003
【図２】
2005142859.tif 000004
【図３】
2005142859.tif 000005
【図４】
2005142859.tif 000006
【図５】
2005142859.tif 000007
【図６】
2005142859.tif 000008
【図７】
2005142859.tif 000009
【図８】
2005142859.tif 000010
【図９】
2005142859.tif 000011
【図１０】
2005142859.tif 000012
【図１１】
2005142859.tif 000013
【図１２】
2005142859.tif 000014