DLL回路
【課題】 クロックの立ち上がり及び立ち下がりに同期した内部クロックを生成するDLL回路においては、高精度が要求されることから回路規模が大きくなるという問題がある。
【解決手段】 Rise用の遅延調整回路とFall用の遅延調整回路を備え、Fall用の遅延調整回路にはRise用の遅延調整回路でRise側を調整したクロックを入力する。入力されるクロックのRise側が調整されていることから、Fall側の遅延差は非常に小さくなる。そのため、Fall用の遅延調整回路、カウンタの回路規模が大幅に削減できる。その結果少ない回路規模で、高精度のDLL回路が得られる。
【解決手段】 Rise用の遅延調整回路とFall用の遅延調整回路を備え、Fall用の遅延調整回路にはRise用の遅延調整回路でRise側を調整したクロックを入力する。入力されるクロックのRise側が調整されていることから、Fall側の遅延差は非常に小さくなる。そのため、Fall用の遅延調整回路、カウンタの回路規模が大幅に削減できる。その結果少ない回路規模で、高精度のDLL回路が得られる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はDLL回路に係り、外部クロック信号の立ち上がり、立ち下がりに同期した内部クロックを生成するDLL回路に関する。
【背景技術】
【0002】
最近の電子システムは高速化され、システムを構成する半導体装置間のデータ転送速度は非常に高速化されている。そのため半導体装置においても、高速データ転送動作が求められ、半導体装置内部ではクロックに同期させたクロック同期方式が採用されている。さらに近年はクロック信号の立ち上がり(以下Riseと記す)及び立ち下がり(以下Fallと記す)に同期してデータを出力するDDR(Double Data Rate)インターフェースを利用するシステムが増えている。
【0003】
例えばDRAM(Dynamic Random Access Memory)においては、DDRインターフェースで動作するDDR1、DDR2、DDR3などが製品化させている。DDRインターフェースの製品においては、外部クロックに同期した内部クロックを生成するためにDLL(Delay Lock Loop:遅延同期ループ)回路が一般的に用いられている。これらのデータ転送速度は、DDR1(400MHz)、DDR2(800MHz)、DDR3(1.6GHz)と高速化されている。このようにデータ転送速度が高速化されることで、これらに使用されるDLL回路のクロック精度を高くすることが重要となる。
【0004】
DLL回路としては、クロックに同期させるためにクロック周期以上に相当する遅延調整幅を有し、かつ遅延調整ステップは高精度に行うことが要求される。例えば、DDR2の533MHz品の場合3.75ns〜8nsまでカバーする必要がある。このクロック周期の8nsをカバーする場合には、通常余裕をもち10ns程度の遅延調整幅を有する遅延調整回路が必要となる。10nsの遅延調整幅を25psステップで調整すると、400ステップとなり、9ビットのカウンタが必要となる。かつ、その遅延素子自体も10nsまでカバーするとインバータ一段で100psとしても、100段必要となる。さらに、これらのインバータ段を選択するセレクタ群も必要となる。このようにDLL回路の回路規模は非常に大きくなるという問題がある。そのためDLL回路としては、高精度で、かつ少ない回路規模で構成することが望まれている。
【0005】
DLL回路に関して先行特許文献1(特開2005-51673)がある。特許文献1のDLL回路は粗遅延CDL、微小遅延FDL、カウンタ回路により構成され、クロックのRise/Fallとも独立して制御されている。遅延回路のインバータ部分をRise/Fallで共用化している。しかし、NANDなどで構成するセレクタ、及び粗遅延調整回路はRise/Fallにそれぞれ独立に必要であり、基本的にはRise/Fallとも独立した遅延回路となっている。特許文献1の回路構成を簡素化して図10に、そのタイムチャートを図11に示す。
【0006】
図10に示すDLL回路は、Rise用の遅延調整回路12、位相比較回路15、カウンタ14、Fall用の遅延調整回路20、位相比較回路17、カウンタ21、最終的な内部クロックを合成するMux回路18及び出力レプリカ回路19から構成される。Rise/ Fall用の遅延調整用回路12、20は、特許文献1の粗遅延CDL、微小遅延FDL双方を含んだ回路に相当する。図11に示す動作タイムチャートとしては、入力された外部クロックCLKに対しRise/Fall用の独立の回路により遅延調整される。
【0007】
外部クロックCLKに対し、それぞれのRise又はFallが遅延調整されたクロックClk-R1、Clk-F1はMux回路18に入力され、合成される。遅延調整されたクロック信号Clk-FBは、それぞれの位相比較回路15,17にFeedbackされ、入力される。それぞれの位相比較回路15,17において、クロック信号Clk-FBと、外部クロックCLKとが比較される。比較結果によりカウンタ14,21がUp/Downして、カウンタ出力Ct-R、Ct-Fを出力する。カウンタ出力Ct-R、Ct-Fにしたがって遅延調整用回路12、20により、それぞれRise、Fallの遅延が調整される。
【0008】
また、先行特許文献2(特開2003-218691)においては、微調整回路(文献の図1の200)の制御はRise/Fallとも共用している。しかし、粗遅延部はRise/Fallが独立の回路となっており、粗遅延部に関しては、倍の回路規模が必要となる点で問題点は解決されていない。また、本文献では、微調整回路でRise/Fallとも共用としているが、このように共用化した場合、Fallに関しては微調整でFall側の調整をしていないため、特許文献1のDLL回路に比べるとFall側に誤差が生じるという問題点も生じる。
【0009】
先行特許文献3(特開平10-32488)は、クロックのRise側のみを使用するDLL回路である。特許文献3には、行きの遅延と帰りの遅延値が同じになるような2系統の遅延回路が使用されたシンクロナスミラード遅延回路において、1系統の遅延回路を用いている。しかしこの特許文献3はFall側を使用しないものであり、本願のRise/Fall側に同期させるDLL回路には適用できない。これらの先行特許文献によれば、高精度のDLL回路を構成する場合には回路規模が大きくなり、少ない素子でかつ高精度のDLL回路を得るための技術は開示されていない。そのため依然として少ない素子でかつ高精度のDLL回路が望まれているという問題がある。
【0010】
【特許文献1】特開2005−51673号公報(図5、6、8)
【特許文献2】特開2003−218691号公報(図1)
【特許文献3】特開平10−32488号公報
【発明の開示】
【発明が解決しようとする課題】
【0011】
上記したように高速データ転送のために、少ない回路規模で、かつ高精度のDLL回路の開発が望まれている。本発明の目的はこれらの課題に鑑み、少ない回路規模で、かつ高精度のDLL回路を提供することにある。
【課題を解決するための手段】
【0012】
本願は上記した課題を解決するため、基本的には下記に記載される技術を採用するものである。またその技術趣旨を逸脱しない範囲で種々変更できる応用技術も、本願に含まれることは言うまでもない。
【0013】
本発明のDLL回路は、内部クロックの立ち上がりを外部クロックの立ち上がりに同期させるためのRise遅延調整回路と、内部クロックの立ち下がりを外部クロックの立ち下がりに同期させるためのFall遅延調整回路と、を備え、前記Fall遅延調整回路は前記Rise遅延調整回路からの出力を入力とし、内部クロックの立ち下がりを外部クロックの立ち下がりに同期させるために遅延調整することを特徴とする。
【0014】
本発明のDLL回路における前記Rise遅延調整回路における遅延調整幅は外部クロックサイクルよりも長く、前記Fall遅延調整回路における遅延調整幅は外部クロックサイクルよりも短いことを特徴とする。
【0015】
本発明のDLL回路は、前記Rise遅延調整回路において内部クロックの立ち上がりを遅延調整した信号は、その立ち上がりから立ち下がりまでの時間幅が外部クロックのそれより一定時間だけ短くしたことを特徴とする。
【0016】
本発明のDLL回路は、前記Rise遅延調整回路において内部クロックの立ち上がりを遅延調整した信号を、前記Fall遅延調整回路において一定時間遅延させることを特徴とする請求項2に記載のDLL回路。
【0017】
本発明のDLL回路は、外部クロックと内部クロックとの立ち上がりにおける遅延差を検出するRise位相比較回路とその比較結果をカウントするRiseカウンタと、外部クロックと内部クロックとの立ち下がりにおける遅延差を検出するFall位相比較回路とその比較結果をカウントするFallカウンタと、をさらに備え、前記Rise遅延調整回路において外部クロックと内部クロックとの立ち上がりが同期するまでは前記Riseカウンタのみ動作させ、前記Fallカウンタは停止させることを特徴とする。
【0018】
本発明のDLL回路は、外部クロックと内部クロックとの立ち上がりにおける遅延差を検出するRise位相比較回路とその比較結果をカウントするRiseカウンタと、外部クロックと内部クロックとの立ち下がりにおける遅延差を検出するFall位相比較回路とその比較結果をカウントするFallカウンタと、をさらに備え、前記Riseカウンタと前記Fallカウンタとは、交互に動作させることを特徴とする。
【0019】
本発明のDLL回路は、外部クロックと内部クロックとの立ち上がりにおける遅延差を検出するRise位相比較回路とその比較結果をカウントするRiseカウンタと、外部クロックと内部クロックとの立ち下がりにおける遅延差を検出するFall位相比較回路とその比較結果をカウントするFallカウンタと、をさらに備え、前記Riseカウンタと前記Fallカウンタとは、アクトコマンドが入力されることにより動作させることを特徴とする。
【発明の効果】
【0020】
本発明のDLL回路は、Rise用の遅延調整回路、位相比較回路、カウンタ、Fall用の遅延調整回路、位相比較回路、カウンタ、最終的な内部クロックを合成するMux回路及び出力遅延のレプリカ回路で構成される。Fall用の遅延調整回路には、Rise用の遅延調整回路からの出力クロックを入力し、Rise側を遅延調整されたクロックに基づいてFall側の遅延を調整する。そのためにFall側の遅延調整する遅延調整幅を短くできる。遅延調整幅が短いことで、Fall側の遅延調整回路、カウンタの回路規模を大幅に削減できる効果が得られる。本発明の構成とすることで小さな回路規模で、かつ高精度のDLL回路が得られる。
【発明を実施するための最良の形態】
【0021】
本発明のDLL回路の基本構成について、図1を参照して説明する。図1には本発明におけるDLL回路の回路ブロック構成を示す。
【0022】
本発明のDLL回路は、Rise用遅延調整回路12、Rise用位相比較回路15、Rise用カウンタ14、Fall用遅延調整回路13、Fall用位相比較回路17、Fall用カウンタ16、最終的な内部クロックを合成するMux回路18及び出力レプリカ回路19から構成される。本発明の特徴は、Fall用遅延調整回路13は外部からクロック信号ではなくRise用遅延調整回路12からの出力クロックClk-R0を入力している点にある。また本発明におけるそれぞれの遅延調整回路及び遅延回路は、従来からのインバータあるいはナンド回路等から構成されるものであり、その詳細回路構成の説明は省略する。
【0023】
Rise側の遅延調整を説明する。Rise用の遅延調整回路12は入力バッファからのクロックClkを入力され、Rise用カウンタ14からのカウンタ出力Ct-Rにより遅延調整され、クロックClk-ROを出力する。Rise用の遅延調整回路12は、高精度で、遅延調整可能な範囲としてクロック周期以上の遅延調整幅を有する遅延調整回路である。例えば10ns程度の遅延調整幅を有し、かつ高精度の遅延調整が可能な構成とする。またここでのRise用遅延調整回路12は、クロックClk-R0のFallはクロックClkのFallより一定時間(td)早くなるように構成する。
【0024】
クロックClk-ROは、Fall用の遅延調整回路13を経由し、クロックClk-R1となる。クロックClk-R1は、Mux回路18で合成され、出力レプリカ回路19を経て、クロックClk-FBとなる。Rise用の位相比較回路15でクロックClk-FBと、外部クロックCLKのRiseが比較される。その比較結果によりRise用カウンタ14がup/downし、Rise用遅延調整回路12を制御する。このRise用カウンタ14もクロック周期以上の時間幅をカウントするため、例えば10ビットのビット数を備えている。このRise側の遅延調整は、クロックサイクル以上の10ns程度の遅延調整幅を有するRise用遅延調整回路12と、10ビット程度のビット数を有するRise用カウンタ14により行われる。
【0025】
次にFall側の遅延調整を説明する。Fall用の遅延調整回路13には、Rise用の遅延調整回路12からのクロックClk-ROと、Fall用カウンタ16からのカウンタ出力Ct-Fとが入力され、遅延調整されたクロックClk-F1を出力する。Fall用の遅延調整回路13に入力されるクロックClk-ROのRise側はすでに遅延調整されているクロックであり、Fall側は一定時間(td)早くなるように設定される。この一定時間(td)は数100ps程度と小さい。そのため遅延調整する時間幅も小さくできる。例えば遅延調整する時間幅は、200psとすることができる。その結果、従来必要だったFall側の10ns程度の遅延調整回路は不要となり、数100ps程度の遅延調整回路で実現できる。このようにFall用の遅延調整回路13の回路規模を小さくできる。
【0026】
Fall用の遅延調整回路13からのクロックClk-F1は、Mux回路18で合成され、出力レプリカ回路19を経て、クロックClk-FBとなる。Fall用位相比較回路17でクロックClk-FBと、外部クロックCLKとのFallが比較される。その比較結果によりFall用カウンタ16がup/downし、Fall用遅延調整回路13を制御する。
【0027】
このFall用カウンタ16は、クロックClk-FBと外部クロックCLKとのずれが小さいことから、小さなビット数とすることができる。従来は25psステップで10nsをカバーすると10ビットのカウンタが必要となる。しかし本発明のDLL回路ではRiseが遅延調整されていることから、Fallの遅延差は小さく、その遅延調整幅は200ps程度に抑えることが可能となる。遅延調整幅が200psの場合には25psステップとしても、3〜4ビットのカウンタで補正可能となる。この結果、Fall側のカウンタ16は半分の回路規模で構成可能となる。Fall側のカウンタ16の回路規模を小さくできる。
【0028】
このようにFall用の遅延調整回路に、Rise用の遅延調整回路でRise側を調整したクロックを入力する。入力されるクロックのRise側が調整されていることから、クロックのRise/Fall間のみの遅延差となり、Fall側の遅延差は非常に小さくなる。そのため、Fall用の遅延調整する時間幅を小さくできる。Rise/Fall側にそれぞれ独立した遅延調整回路をもたず、Fall側の遅延調整に関しては、Rise側の遅延調整したクロック信号をFall遅延調整の入力信号とする。
【0029】
上記した構成とすることで、Fall側の遅延調整に関しては数100ps程度の遅延調整幅とすることができる。従ってこのFall側の遅延調整は、このように数100ps程度の遅延調整幅を有するFall用遅延調整回路13と、3〜4ビット程度のビット数を有するFall用カウンタ16により行うことができる。このためFall用の遅延調整回路、カウンタの回路規模が大幅に削減できる。その結果少ない回路規模で、高精度のDLL回路が得られる。
【0030】
以下、本発明のDLL回路について、その回路構成、及びタイムチャートの実施例に即して詳細に説明する。
【実施例1】
【0031】
実施例1として図1に示すDLL回路の第1の回路構成例として、図2〜5を参照して説明する。図2には、Fall用遅延調整回路13の構成図、図3にはその動作タイムチャートを示す。図4には図2に示した遅延調整回路31の回路図、図5にはその動作タイムチャートを示している。
【0032】
図2に示すFall用の遅延調整回路13は、クロックClk-R0と、カウンタ出力Ct-Fが入力され、クロックClk-R1とクロックClk-F1とを出力する。Rise用の遅延調整回路12からのクロックClk-R0の1つは、そのままクロックClk-R1としてMux回路18に出力される。遅延調整回路31にはクロックClk-R0が入力され、Fall用カウンタ16からのカウンタ出力Ct-FによりFall側が調整され、クロックClk-F1がMux回路18に出力される。遅延調整回路31は数100ps程度の遅延調整幅を有する遅延調整回路であり、カウンタ出力Ct-FによりクロックClk- R0のFall側の遅延を調整する。クロックClk-R1はRise側が遅延調整されたクロックであり、クロックClk-F1はFall側が遅延調整されたクロックとして出力する。
【0033】
図1、2、3を参照して、DLL回路の構成図、そのタイムチャートを説明する。Rise用遅延調整回路12はクロックClkのRise側を、Rise用カウンタ14のカウンタ出力Ct-Rにより遅延調整し、クロックClk-R0として出力する。Rise用遅延調整回路12の出力クロックClk-R0のFall側は、Rise側よりも時間(td)だけ速くしている。これは例えば、Rise用遅延調整回路12を構成するインバータの負荷側Pchトランジスタと、ドライバー側Nchトランジスタのレシオを調整することで実現できる。クロックClk-R0は、そのままクロックClk-R1としてMux回路18に出力される。
【0034】
クロックClk-R0のFall側は、Fall用遅延調整回路13(即ち遅延調整回路31)で遅延調整され、クロックClk-F1として出力される。遅延調整回路31にはFall用カウンタ16からのカウンタ出力Ct-Fが入力され、Fall側の遅延が調整される。ここでは、おおよそ時間(td)が調整されることになる。Rise用遅延調整回路12によりクロックClk-R0のFall側は、Rise側よりも時間(td)だけ速くする。この時間(td)は、遅延調整回路31の遅延調整幅の半分が好ましい。これによりFall側の調整量は、遅延調整回路31の遅延調整幅の半分とすることができる。
【0035】
Rise側が遅延調整されたクロックClk-R1と、Fall側が遅延調整されたクロックClk-F1とがMux回路で合成され、出力レプリカ回路を経てクロックClk-FBとなる。クロックClk-FBは位相比較回路15、17に入力され、クロックCLKと比較され、遅延差があればカウンタ14、16をup/downさせる。遅延差がない場合には、カウンタ14、16からの出力はup/downせず、一定出力のままとなる。位相比較回路15、17においてRise側とFall側とがそれぞれ位相比較され、カウンタ14、16からカウンタ出力Ct-R、Ct-Fとして出力される。
【0036】
カウンタ出力Ct-Rを入力されたRise用遅延調整回路12は、クロックClkのRise側の遅延を調整し、Riseが調整されたクロックClk-R0を出力する。カウンタ出力Ct-Fを入力されたFall用遅延調整回路13は、クロックClk-R0の Fall側の遅延を調整し、Fallが調整されたクロックClk-F1を出力する。このようにしてクロックCLKのRiseに同期したクロックClk-R1、クロックCLKのFallに同期したクロックClk-F1が生成できる。
【0037】
次に遅延調整回路31の回路図及びそのタイムチャートを、図4,5を参照して説明する。ここではカウンタ出力は3ビットとしているが、ビット数は特に限定されることなく遅延調整幅により任意に設定できるものである。遅延調整回路31は、入力信号IN(具体的にはClk-R0)が入力され、遅延調整された出力信号OUT(具体的にはClk-F1)が出力される。遅延調整回路31の遅延調整は、Fall用カウンタ16から3ビットのカウンタ出力(q0、q1、q2)が入力されることで、制御される。ここでの遅延調整回路31の遅延調整量は、入力される信号のRise側が同期していることから、Fall側の遅延調整量は数100ps、カウンタ出力も3ビットで十分調整可能である。
【0038】
遅延調整回路31の入力段であるインバータINV1には、入力信号IN(Clk-R0)が入力され、遅延回路51及びトランジスタP2、N2のゲートへの信号IN−Eとして、出力する。トランジスタP2のドレイン、ソース、ゲートは、それぞれトランジスタN2のドレイン、電源、信号IN−Eに接続される。トランジスタN2のドレイン、ソース、ゲートは、それぞれトランジスタP2のドレイン、トランジスタN4−3とN4−2とN4−1とのドレイン、信号IN−Eに接続される。トランジスタP2及びトランジスタN2のドレイン同士は接続され、その出力をインバータINV2の入力として出力する。
【0039】
トランジスタN4−1、N4−2、N4−3のドレイン、ソースは、トランジスタN2のソース、接地電位に共通接続される。それぞれのゲートには、カウンタからのカウンタ出力(q0、q1、q2)をそれぞれインバータINV3,4,5で反転した信号が入力される。ここでトランジスタN4−1、N4−2、N4−3はその電流駆動能力が1:2:4になるように設定される。トランジスタN4−1、N4−2、N4−3は、カウンタからのカウンタ出力(q0、q1、q2)の反転信号に応じてオン・オフし、遅延時間の調整を行う。
【0040】
遅延回路51は、入力された信号IN−Eを遅延し、トランジスタP1、N1のゲートへの信号IN−Dとして、出力する。トランジスタP1のドレイン、ソース、ゲートは、それぞれトランジスタN1のドレイン、電源、信号IN−Dに接続される。トランジスタN1のドレイン、ソース、ゲートは、それぞれトランジスタP1のドレイン、トランジスタN3−3とN3−2とN3−1とのドレイン、信号IN−Dに接続される。トランジスタP1及びトランジスタN1のドレイン同士は接続され、その出力をインバータINV2の入力として出力する。
【0041】
トランジスタN3−1、N3−2、N3−3のドレイン、ソースは、トランジスタN1のソース、接地電位に共通接続される。それぞれのゲートには、カウンタからのカウンタ出力(q0、q1、q2)が入力される。ここでトランジスタN3−1、N3−2、N3−3はその電流駆動能力が1:2:4になるように設定される。トランジスタN4−1、N4−2、N4−3は、カウンタからのカウンタ出力(q0、q1、q2)に応じてオン・オフし、遅延時間の調整を行う。
【0042】
インバータINV2は、前段からの2つの出力を入力され、その波形を整形し、出力信号OUTを出力する。遅延調整回路31は、入力信号INのRiseに対してはそのままローレベルに変化し、入力信号INのFallに対しては時間差をもってハイレベルに変化させる。そのためNchトランジスタのサイズをx1、x2、x4として、カウンタからのカウンタ出力(q0、q1、q2)により8(=23)段階に、その動作速度を調整する。この構成とすることで、数10psオーダーのステップでの遅延調整を可能としている。
【0043】
この遅延調整回路31のFall時の動作を、図5のタイムチャートを参照して説明する。入力信号INは、インバータINV1で反転され、信号IN−Eと、遅延回路51で遅延された信号IN−Dとなる。この遅延回路での遅延量はFall側の遅延調整幅となる。入力される信号のRise側が同期していることから、Fall側の遅延調整幅は数100psである。遅延調整幅の中心部で遅延調整することが好ましいことから、遅延回路51の遅延量は例えば時間(td)の2倍とすることが好ましい。
【0044】
この遅延回路51の遅延量をカウンタ出力により分割し、遅延調整する。例えばカウンタからのカウンタ出力(q0、q1、q2)を(0、0、0)とする。この場合にはトランジスタN3−1、N3−2、N3−3はオフ状態で、トランジスタN4−1、N4−2、N4−3がオン状態となる。そのため信号IN−Eに対応して、遅延されることなく出力信号OUTはハイレベルとなる。一方カウンタ出力(q0、q1、q2)が(1、1、1)の場合にはトランジスタN3−1、N3−2、N3−3はオン状態で、トランジスタN4−1、N4−2、N4−3がオフ状態となる。そのため遅延された信号IN−Dに対応して、出力信号OUTはハイレベルとなる。
【0045】
このようにカウンタ出力(q0、q1、q2)に応じて活性化するトランジスタを切り替え、遅延回路51の遅延量を分割した遅延時間をもって出力信号OUTはハイレベルとなる。例えば入力されるクロックClk-R0はFall側がRise側に比較して時間(td)だけ早いことから、その遅延調整量は大体tdとなる。遅延回路51の遅延量を、例えば時間(td)の2倍とした場合にはその中心領域で遅延調整されることになる。Rise側の動作は、入力信号INがハイレベルで、信号IN−Eがローレベルとなり、トランジスタP2がオンすることで信号IN−Eに同期して一定時刻に動作する。
【0046】
本実施例のFall用遅延調整回路には、Rise用遅延調整回路でRise側を調整したクロックを入力する。入力されたクロックから調整に必要な時間だけ遅延させた遅延クロックを生成する。この入力クロックと、遅延クロックとの間の遅延量はRise側が入力クロックと同期していることから小さくでき、遅延回路の回路規模を削減できる。この入力クロックと、遅延クロックとの間の遅延量をカウンタ出力により分割することで、高精度にFall側の遅延調整を行うことができる。このときのカウンタのビット数も少なくできることから、カウンタ回路規模を削減できる。本実施例のFall用遅延調整回路を備えることで、小さな回路規模で、高精度に遅延調整を行うことができるDLL回路が実現できる。
【実施例2】
【0047】
実施例2として、図1、6、7を参照して説明する。本実施例はDLL回路の第2の回路構成例であり、図6に遅延調整回路31の第2の回路構成図、図7にそのタイムチャートを示す。
【0048】
第2の遅延調整回路31においては、Rise用遅延調整回路12からのクロックClk-R0が第2の遅延回路61と遅延調整回路31に入力される。第2の遅延回路61は、クロックClk-R0を一定時間遅延させ、クロックClk-R1としてMux回路に出力する。また遅延調整回路31にはクロックClk-R0が入力され、Fall用カウンタ16からのカウンタ出力によりFall側が調整され、クロックClk-F1が出力される。遅延調整回路31は実施例1において説明した回路と同じ回路である。
【0049】
実施例1におけるRise側の遅延調整回路12は、Rise/Fallの遅延を変えFall側を時間(td)速くなるようにした。本実施例のRise側の遅延調整回路12では、Rise/Fallとも遅延が変わらない様にして、クロックClkに対し一定時間(td)だけ速くしたクロックClk-R0を出力する。クロックClk-R0は、第2の遅延回路61により一定時間(td)遅延させ、クロックClk-R1として出力される。従ってクロックClk-R1のRiseは、クロックCLKのRiseに同期することになる。Fall側の遅延調整回路31に入力されたクロックClk-R0のFallは、クロックCLKのFallに対し一定時間(td)だけ早くなっている。従って実施例1と同様にして、遅延調整回路31によりクロックClk-F1はクロックCLKのFallに同期させることができる。
【0050】
本実施例では、図6のようにクロックClk-R0を一定時間(td)遅延させ、クロックClk-R1として出力される。遅延調整回路の特に粗遅延調整回路は、従来例(特開2005-51673の図5、図6)に示すように同じインバータ、ナンド回路を複数段もつなげて構成される。単純に各々の回路にRise/Fall差をつけると回路段数の増加により粗遅延の遅延値が増える。その結果Rise/Fallの遅延差も大きくなるため、一部回路のみRise/Fall差をつけることになる。
【0051】
しかし通常、微調整回路に入力する2つの信号の遅延差、つまり、粗遅延の1ステップの遅延量を均一にするため、粗遅延調整回路の遅延素子は同じ回路の繰り返しが用いられる。このため、粗遅延調整回路は同一回路でできるだけRise/Fall遅延がつかないように作成し、図6のようにRise側に固定遅延をつける構成の方が好ましい。この固定遅延の遅延値は、遅延調整回路31の遅延調整幅の半分が好ましい。これにより、Fall側の調整をRise側に対して遅延調整回路31の遅延調整幅の半分まで前後させることが可能になる。
【0052】
本実施例では、Rise用遅延調整回路12では、クロックClkに対し一定時間だけ速くしたクロックClk-R0として出力する。Fall用遅延調整回路13では、Rise側は一定時間遅延させ、クロックCLKのRiseに同期させたクロックClk-R1とする。Fall側は実施例1と同様にして、クロックCLKのfallに同期させたクロックClk-F1とする。本実施例においても、実施例1と同様に回路規模の小さな遅延回路、カウンタにより構成できる。本実施例のFall用遅延調整回路を備えることで、小さな回路規模で、高精度にFall側の遅延調整を行うことができるDLL回路が実現できる。
【実施例3】
【0053】
実施例3にはDLL回路のカウンタ制御方法を、図8,9のタイムチャートを参照して説明する。
【0054】
図8のタイムチャートは、例えば電源投入時等におけるクロックの同期がずれた時点を含むタイムチャートである。本発明のDLL回路は、Rise側において同期されたクロックを使用し、Fall側を同期させる回路である。従って、Rise側の同期が完了した状態で、Fall側を同期させるタイムチャートとすることが好ましい。図8に示すように最初のクロックサイクルにおいては、Fall側のカウンタを停止させ、Rise側のカウンタのみによる調整を行う。数サイクルの調整により、Rise側がロック状態に近づいた時点で、Fall側のカウンタを動作させる。Rise側がロック状態に近づいた時点とは、クロックClk-FBとクロックCLKがほぼ同期した時点である。このロック状態に近づいた時点は、例えばカウンタのUp/Downの変動が少ない、又は変動がなくなったことで検知できる。
【0055】
Rise側がロック状態に近づいた時点からはFall側も動作させる。Fall側、Rise側、Fall側と交互に動作させ、遅延調整する。Rise側を調整すると遅延を共用しているFall側の遅延もずれるため、交互の調整が好ましい構成となる。ここではクロック毎に調整しているが、例えば数クロックサイクル毎に調整するように構成してもよい。またDLL回路がロック状態に近づくまではクロックサイクル毎、ロック状態になった状態から、数サイクル毎に交互に調整するように構成してもよい。
【0056】
図8においては、クロックCLKに同期してカウンタを動作させている。しかし例えばDRAMにおいては、図9のようにACTコマンド毎にカウンタを動作させる構成もある。その場合にはクロックサイクルをACTサイクルに相当させて調整する構成となる。図9のようにACTコマンド毎にカウンタを更新する構成の場合、まず、Riseが調整されて、その後、Riseの調整結果が遅延の反映されたのち、たとえば、3〜4サイクル後にFallのカウンタを更新する構成もある。この場合、ACTコマンド毎に交互にカウンタが更新される構成に比べ、カウンタの更新頻度が多くなるためDLL回路の精度が高くなることが期待される。
【0057】
本発明のDLL回路では、Riseが調整されたクロックに基づいてFall側を調整する。Rise側が調整されると遅延を共用しているFall側の遅延もずれることになる。従って最初は、Rise側のみの調整とし、Fall側の調整は停止する。Rise側がロック状態に近づいた状態で、Fall側、Rise側、Fall側と交互に動作調整させることが好ましい。またクロックのみならず、クロックとACTコマンドとを組み合わせることで、Rise側及びFall側の動作間隔を設定することができる。
【0058】
以上、実施形態に基づき本発明を具体的に説明したが、本発明は上述の実施形態に制限されるものではなく、その要旨を逸脱しない範囲で種々の変更を施すことができ、これらの変更例も本願に含まれることはいうまでもない。例えば、本願の説明においては最初にRise用遅延調整回路によりRise側を同期させ、その出力をFall用遅延調整回路に入力している。しかし最初にFall用遅延調整回路によりFall側を同期させ、その出力をRise用遅延調整回路に入力してもよい。この場合にも同様に動作させることができ、Rise用遅延調整回路及びRise用カウンタの回路規模を削減することができる。このようにRiseとFallを入れ替えて動作させることも可能であり、これらが本願に含まれることはいうまでもない。
【図面の簡単な説明】
【0059】
【図1】本発明におけるDLL回路の回路ブロック構成図である。
【図2】実施例1におけるFall用遅延調整回路の構成図である。
【図3】実施例1におけるタイムチャートである。
【図4】図2におけるFall用遅延調整回路の回路図である。
【図5】図4におけるタイムチャートである。
【図6】実施例2におけるFall用遅延調整回路の構成図である。
【図7】図6におけるタイムチャートである。
【図8】本発明におけるカウンタ制御のタイムチャートである。
【図9】本発明におけるカウンタ制御の他のタイムチャートである。
【図10】従来例におけるDLL回路の回路ブロック構成図である。
【図11】図10におけるタイムチャートである。
【符号の説明】
【0060】
12 Rise用遅延調整回路
13、20 Fall用遅延調整回路
14 カウンタ(Rise用)
15 Rise用位相比較回路
16、21 Fall用カウンタ
17 Fall用位相比較回路
18 Mux回路
19 出力レプリカ回路
31 遅延調整回路
51、61 遅延回路
INV1、INV2、INV3、INV4、INV5 インバータ回路
P1、P2 Pchトランジスタ
N1、N2、N3−1、N3−2、N3−3、N4−1、N4−2、N4−3 Nchトランジスタ
【技術分野】
【0001】
本発明はDLL回路に係り、外部クロック信号の立ち上がり、立ち下がりに同期した内部クロックを生成するDLL回路に関する。
【背景技術】
【0002】
最近の電子システムは高速化され、システムを構成する半導体装置間のデータ転送速度は非常に高速化されている。そのため半導体装置においても、高速データ転送動作が求められ、半導体装置内部ではクロックに同期させたクロック同期方式が採用されている。さらに近年はクロック信号の立ち上がり(以下Riseと記す)及び立ち下がり(以下Fallと記す)に同期してデータを出力するDDR(Double Data Rate)インターフェースを利用するシステムが増えている。
【0003】
例えばDRAM(Dynamic Random Access Memory)においては、DDRインターフェースで動作するDDR1、DDR2、DDR3などが製品化させている。DDRインターフェースの製品においては、外部クロックに同期した内部クロックを生成するためにDLL(Delay Lock Loop:遅延同期ループ)回路が一般的に用いられている。これらのデータ転送速度は、DDR1(400MHz)、DDR2(800MHz)、DDR3(1.6GHz)と高速化されている。このようにデータ転送速度が高速化されることで、これらに使用されるDLL回路のクロック精度を高くすることが重要となる。
【0004】
DLL回路としては、クロックに同期させるためにクロック周期以上に相当する遅延調整幅を有し、かつ遅延調整ステップは高精度に行うことが要求される。例えば、DDR2の533MHz品の場合3.75ns〜8nsまでカバーする必要がある。このクロック周期の8nsをカバーする場合には、通常余裕をもち10ns程度の遅延調整幅を有する遅延調整回路が必要となる。10nsの遅延調整幅を25psステップで調整すると、400ステップとなり、9ビットのカウンタが必要となる。かつ、その遅延素子自体も10nsまでカバーするとインバータ一段で100psとしても、100段必要となる。さらに、これらのインバータ段を選択するセレクタ群も必要となる。このようにDLL回路の回路規模は非常に大きくなるという問題がある。そのためDLL回路としては、高精度で、かつ少ない回路規模で構成することが望まれている。
【0005】
DLL回路に関して先行特許文献1(特開2005-51673)がある。特許文献1のDLL回路は粗遅延CDL、微小遅延FDL、カウンタ回路により構成され、クロックのRise/Fallとも独立して制御されている。遅延回路のインバータ部分をRise/Fallで共用化している。しかし、NANDなどで構成するセレクタ、及び粗遅延調整回路はRise/Fallにそれぞれ独立に必要であり、基本的にはRise/Fallとも独立した遅延回路となっている。特許文献1の回路構成を簡素化して図10に、そのタイムチャートを図11に示す。
【0006】
図10に示すDLL回路は、Rise用の遅延調整回路12、位相比較回路15、カウンタ14、Fall用の遅延調整回路20、位相比較回路17、カウンタ21、最終的な内部クロックを合成するMux回路18及び出力レプリカ回路19から構成される。Rise/ Fall用の遅延調整用回路12、20は、特許文献1の粗遅延CDL、微小遅延FDL双方を含んだ回路に相当する。図11に示す動作タイムチャートとしては、入力された外部クロックCLKに対しRise/Fall用の独立の回路により遅延調整される。
【0007】
外部クロックCLKに対し、それぞれのRise又はFallが遅延調整されたクロックClk-R1、Clk-F1はMux回路18に入力され、合成される。遅延調整されたクロック信号Clk-FBは、それぞれの位相比較回路15,17にFeedbackされ、入力される。それぞれの位相比較回路15,17において、クロック信号Clk-FBと、外部クロックCLKとが比較される。比較結果によりカウンタ14,21がUp/Downして、カウンタ出力Ct-R、Ct-Fを出力する。カウンタ出力Ct-R、Ct-Fにしたがって遅延調整用回路12、20により、それぞれRise、Fallの遅延が調整される。
【0008】
また、先行特許文献2(特開2003-218691)においては、微調整回路(文献の図1の200)の制御はRise/Fallとも共用している。しかし、粗遅延部はRise/Fallが独立の回路となっており、粗遅延部に関しては、倍の回路規模が必要となる点で問題点は解決されていない。また、本文献では、微調整回路でRise/Fallとも共用としているが、このように共用化した場合、Fallに関しては微調整でFall側の調整をしていないため、特許文献1のDLL回路に比べるとFall側に誤差が生じるという問題点も生じる。
【0009】
先行特許文献3(特開平10-32488)は、クロックのRise側のみを使用するDLL回路である。特許文献3には、行きの遅延と帰りの遅延値が同じになるような2系統の遅延回路が使用されたシンクロナスミラード遅延回路において、1系統の遅延回路を用いている。しかしこの特許文献3はFall側を使用しないものであり、本願のRise/Fall側に同期させるDLL回路には適用できない。これらの先行特許文献によれば、高精度のDLL回路を構成する場合には回路規模が大きくなり、少ない素子でかつ高精度のDLL回路を得るための技術は開示されていない。そのため依然として少ない素子でかつ高精度のDLL回路が望まれているという問題がある。
【0010】
【特許文献1】特開2005−51673号公報(図5、6、8)
【特許文献2】特開2003−218691号公報(図1)
【特許文献3】特開平10−32488号公報
【発明の開示】
【発明が解決しようとする課題】
【0011】
上記したように高速データ転送のために、少ない回路規模で、かつ高精度のDLL回路の開発が望まれている。本発明の目的はこれらの課題に鑑み、少ない回路規模で、かつ高精度のDLL回路を提供することにある。
【課題を解決するための手段】
【0012】
本願は上記した課題を解決するため、基本的には下記に記載される技術を採用するものである。またその技術趣旨を逸脱しない範囲で種々変更できる応用技術も、本願に含まれることは言うまでもない。
【0013】
本発明のDLL回路は、内部クロックの立ち上がりを外部クロックの立ち上がりに同期させるためのRise遅延調整回路と、内部クロックの立ち下がりを外部クロックの立ち下がりに同期させるためのFall遅延調整回路と、を備え、前記Fall遅延調整回路は前記Rise遅延調整回路からの出力を入力とし、内部クロックの立ち下がりを外部クロックの立ち下がりに同期させるために遅延調整することを特徴とする。
【0014】
本発明のDLL回路における前記Rise遅延調整回路における遅延調整幅は外部クロックサイクルよりも長く、前記Fall遅延調整回路における遅延調整幅は外部クロックサイクルよりも短いことを特徴とする。
【0015】
本発明のDLL回路は、前記Rise遅延調整回路において内部クロックの立ち上がりを遅延調整した信号は、その立ち上がりから立ち下がりまでの時間幅が外部クロックのそれより一定時間だけ短くしたことを特徴とする。
【0016】
本発明のDLL回路は、前記Rise遅延調整回路において内部クロックの立ち上がりを遅延調整した信号を、前記Fall遅延調整回路において一定時間遅延させることを特徴とする請求項2に記載のDLL回路。
【0017】
本発明のDLL回路は、外部クロックと内部クロックとの立ち上がりにおける遅延差を検出するRise位相比較回路とその比較結果をカウントするRiseカウンタと、外部クロックと内部クロックとの立ち下がりにおける遅延差を検出するFall位相比較回路とその比較結果をカウントするFallカウンタと、をさらに備え、前記Rise遅延調整回路において外部クロックと内部クロックとの立ち上がりが同期するまでは前記Riseカウンタのみ動作させ、前記Fallカウンタは停止させることを特徴とする。
【0018】
本発明のDLL回路は、外部クロックと内部クロックとの立ち上がりにおける遅延差を検出するRise位相比較回路とその比較結果をカウントするRiseカウンタと、外部クロックと内部クロックとの立ち下がりにおける遅延差を検出するFall位相比較回路とその比較結果をカウントするFallカウンタと、をさらに備え、前記Riseカウンタと前記Fallカウンタとは、交互に動作させることを特徴とする。
【0019】
本発明のDLL回路は、外部クロックと内部クロックとの立ち上がりにおける遅延差を検出するRise位相比較回路とその比較結果をカウントするRiseカウンタと、外部クロックと内部クロックとの立ち下がりにおける遅延差を検出するFall位相比較回路とその比較結果をカウントするFallカウンタと、をさらに備え、前記Riseカウンタと前記Fallカウンタとは、アクトコマンドが入力されることにより動作させることを特徴とする。
【発明の効果】
【0020】
本発明のDLL回路は、Rise用の遅延調整回路、位相比較回路、カウンタ、Fall用の遅延調整回路、位相比較回路、カウンタ、最終的な内部クロックを合成するMux回路及び出力遅延のレプリカ回路で構成される。Fall用の遅延調整回路には、Rise用の遅延調整回路からの出力クロックを入力し、Rise側を遅延調整されたクロックに基づいてFall側の遅延を調整する。そのためにFall側の遅延調整する遅延調整幅を短くできる。遅延調整幅が短いことで、Fall側の遅延調整回路、カウンタの回路規模を大幅に削減できる効果が得られる。本発明の構成とすることで小さな回路規模で、かつ高精度のDLL回路が得られる。
【発明を実施するための最良の形態】
【0021】
本発明のDLL回路の基本構成について、図1を参照して説明する。図1には本発明におけるDLL回路の回路ブロック構成を示す。
【0022】
本発明のDLL回路は、Rise用遅延調整回路12、Rise用位相比較回路15、Rise用カウンタ14、Fall用遅延調整回路13、Fall用位相比較回路17、Fall用カウンタ16、最終的な内部クロックを合成するMux回路18及び出力レプリカ回路19から構成される。本発明の特徴は、Fall用遅延調整回路13は外部からクロック信号ではなくRise用遅延調整回路12からの出力クロックClk-R0を入力している点にある。また本発明におけるそれぞれの遅延調整回路及び遅延回路は、従来からのインバータあるいはナンド回路等から構成されるものであり、その詳細回路構成の説明は省略する。
【0023】
Rise側の遅延調整を説明する。Rise用の遅延調整回路12は入力バッファからのクロックClkを入力され、Rise用カウンタ14からのカウンタ出力Ct-Rにより遅延調整され、クロックClk-ROを出力する。Rise用の遅延調整回路12は、高精度で、遅延調整可能な範囲としてクロック周期以上の遅延調整幅を有する遅延調整回路である。例えば10ns程度の遅延調整幅を有し、かつ高精度の遅延調整が可能な構成とする。またここでのRise用遅延調整回路12は、クロックClk-R0のFallはクロックClkのFallより一定時間(td)早くなるように構成する。
【0024】
クロックClk-ROは、Fall用の遅延調整回路13を経由し、クロックClk-R1となる。クロックClk-R1は、Mux回路18で合成され、出力レプリカ回路19を経て、クロックClk-FBとなる。Rise用の位相比較回路15でクロックClk-FBと、外部クロックCLKのRiseが比較される。その比較結果によりRise用カウンタ14がup/downし、Rise用遅延調整回路12を制御する。このRise用カウンタ14もクロック周期以上の時間幅をカウントするため、例えば10ビットのビット数を備えている。このRise側の遅延調整は、クロックサイクル以上の10ns程度の遅延調整幅を有するRise用遅延調整回路12と、10ビット程度のビット数を有するRise用カウンタ14により行われる。
【0025】
次にFall側の遅延調整を説明する。Fall用の遅延調整回路13には、Rise用の遅延調整回路12からのクロックClk-ROと、Fall用カウンタ16からのカウンタ出力Ct-Fとが入力され、遅延調整されたクロックClk-F1を出力する。Fall用の遅延調整回路13に入力されるクロックClk-ROのRise側はすでに遅延調整されているクロックであり、Fall側は一定時間(td)早くなるように設定される。この一定時間(td)は数100ps程度と小さい。そのため遅延調整する時間幅も小さくできる。例えば遅延調整する時間幅は、200psとすることができる。その結果、従来必要だったFall側の10ns程度の遅延調整回路は不要となり、数100ps程度の遅延調整回路で実現できる。このようにFall用の遅延調整回路13の回路規模を小さくできる。
【0026】
Fall用の遅延調整回路13からのクロックClk-F1は、Mux回路18で合成され、出力レプリカ回路19を経て、クロックClk-FBとなる。Fall用位相比較回路17でクロックClk-FBと、外部クロックCLKとのFallが比較される。その比較結果によりFall用カウンタ16がup/downし、Fall用遅延調整回路13を制御する。
【0027】
このFall用カウンタ16は、クロックClk-FBと外部クロックCLKとのずれが小さいことから、小さなビット数とすることができる。従来は25psステップで10nsをカバーすると10ビットのカウンタが必要となる。しかし本発明のDLL回路ではRiseが遅延調整されていることから、Fallの遅延差は小さく、その遅延調整幅は200ps程度に抑えることが可能となる。遅延調整幅が200psの場合には25psステップとしても、3〜4ビットのカウンタで補正可能となる。この結果、Fall側のカウンタ16は半分の回路規模で構成可能となる。Fall側のカウンタ16の回路規模を小さくできる。
【0028】
このようにFall用の遅延調整回路に、Rise用の遅延調整回路でRise側を調整したクロックを入力する。入力されるクロックのRise側が調整されていることから、クロックのRise/Fall間のみの遅延差となり、Fall側の遅延差は非常に小さくなる。そのため、Fall用の遅延調整する時間幅を小さくできる。Rise/Fall側にそれぞれ独立した遅延調整回路をもたず、Fall側の遅延調整に関しては、Rise側の遅延調整したクロック信号をFall遅延調整の入力信号とする。
【0029】
上記した構成とすることで、Fall側の遅延調整に関しては数100ps程度の遅延調整幅とすることができる。従ってこのFall側の遅延調整は、このように数100ps程度の遅延調整幅を有するFall用遅延調整回路13と、3〜4ビット程度のビット数を有するFall用カウンタ16により行うことができる。このためFall用の遅延調整回路、カウンタの回路規模が大幅に削減できる。その結果少ない回路規模で、高精度のDLL回路が得られる。
【0030】
以下、本発明のDLL回路について、その回路構成、及びタイムチャートの実施例に即して詳細に説明する。
【実施例1】
【0031】
実施例1として図1に示すDLL回路の第1の回路構成例として、図2〜5を参照して説明する。図2には、Fall用遅延調整回路13の構成図、図3にはその動作タイムチャートを示す。図4には図2に示した遅延調整回路31の回路図、図5にはその動作タイムチャートを示している。
【0032】
図2に示すFall用の遅延調整回路13は、クロックClk-R0と、カウンタ出力Ct-Fが入力され、クロックClk-R1とクロックClk-F1とを出力する。Rise用の遅延調整回路12からのクロックClk-R0の1つは、そのままクロックClk-R1としてMux回路18に出力される。遅延調整回路31にはクロックClk-R0が入力され、Fall用カウンタ16からのカウンタ出力Ct-FによりFall側が調整され、クロックClk-F1がMux回路18に出力される。遅延調整回路31は数100ps程度の遅延調整幅を有する遅延調整回路であり、カウンタ出力Ct-FによりクロックClk- R0のFall側の遅延を調整する。クロックClk-R1はRise側が遅延調整されたクロックであり、クロックClk-F1はFall側が遅延調整されたクロックとして出力する。
【0033】
図1、2、3を参照して、DLL回路の構成図、そのタイムチャートを説明する。Rise用遅延調整回路12はクロックClkのRise側を、Rise用カウンタ14のカウンタ出力Ct-Rにより遅延調整し、クロックClk-R0として出力する。Rise用遅延調整回路12の出力クロックClk-R0のFall側は、Rise側よりも時間(td)だけ速くしている。これは例えば、Rise用遅延調整回路12を構成するインバータの負荷側Pchトランジスタと、ドライバー側Nchトランジスタのレシオを調整することで実現できる。クロックClk-R0は、そのままクロックClk-R1としてMux回路18に出力される。
【0034】
クロックClk-R0のFall側は、Fall用遅延調整回路13(即ち遅延調整回路31)で遅延調整され、クロックClk-F1として出力される。遅延調整回路31にはFall用カウンタ16からのカウンタ出力Ct-Fが入力され、Fall側の遅延が調整される。ここでは、おおよそ時間(td)が調整されることになる。Rise用遅延調整回路12によりクロックClk-R0のFall側は、Rise側よりも時間(td)だけ速くする。この時間(td)は、遅延調整回路31の遅延調整幅の半分が好ましい。これによりFall側の調整量は、遅延調整回路31の遅延調整幅の半分とすることができる。
【0035】
Rise側が遅延調整されたクロックClk-R1と、Fall側が遅延調整されたクロックClk-F1とがMux回路で合成され、出力レプリカ回路を経てクロックClk-FBとなる。クロックClk-FBは位相比較回路15、17に入力され、クロックCLKと比較され、遅延差があればカウンタ14、16をup/downさせる。遅延差がない場合には、カウンタ14、16からの出力はup/downせず、一定出力のままとなる。位相比較回路15、17においてRise側とFall側とがそれぞれ位相比較され、カウンタ14、16からカウンタ出力Ct-R、Ct-Fとして出力される。
【0036】
カウンタ出力Ct-Rを入力されたRise用遅延調整回路12は、クロックClkのRise側の遅延を調整し、Riseが調整されたクロックClk-R0を出力する。カウンタ出力Ct-Fを入力されたFall用遅延調整回路13は、クロックClk-R0の Fall側の遅延を調整し、Fallが調整されたクロックClk-F1を出力する。このようにしてクロックCLKのRiseに同期したクロックClk-R1、クロックCLKのFallに同期したクロックClk-F1が生成できる。
【0037】
次に遅延調整回路31の回路図及びそのタイムチャートを、図4,5を参照して説明する。ここではカウンタ出力は3ビットとしているが、ビット数は特に限定されることなく遅延調整幅により任意に設定できるものである。遅延調整回路31は、入力信号IN(具体的にはClk-R0)が入力され、遅延調整された出力信号OUT(具体的にはClk-F1)が出力される。遅延調整回路31の遅延調整は、Fall用カウンタ16から3ビットのカウンタ出力(q0、q1、q2)が入力されることで、制御される。ここでの遅延調整回路31の遅延調整量は、入力される信号のRise側が同期していることから、Fall側の遅延調整量は数100ps、カウンタ出力も3ビットで十分調整可能である。
【0038】
遅延調整回路31の入力段であるインバータINV1には、入力信号IN(Clk-R0)が入力され、遅延回路51及びトランジスタP2、N2のゲートへの信号IN−Eとして、出力する。トランジスタP2のドレイン、ソース、ゲートは、それぞれトランジスタN2のドレイン、電源、信号IN−Eに接続される。トランジスタN2のドレイン、ソース、ゲートは、それぞれトランジスタP2のドレイン、トランジスタN4−3とN4−2とN4−1とのドレイン、信号IN−Eに接続される。トランジスタP2及びトランジスタN2のドレイン同士は接続され、その出力をインバータINV2の入力として出力する。
【0039】
トランジスタN4−1、N4−2、N4−3のドレイン、ソースは、トランジスタN2のソース、接地電位に共通接続される。それぞれのゲートには、カウンタからのカウンタ出力(q0、q1、q2)をそれぞれインバータINV3,4,5で反転した信号が入力される。ここでトランジスタN4−1、N4−2、N4−3はその電流駆動能力が1:2:4になるように設定される。トランジスタN4−1、N4−2、N4−3は、カウンタからのカウンタ出力(q0、q1、q2)の反転信号に応じてオン・オフし、遅延時間の調整を行う。
【0040】
遅延回路51は、入力された信号IN−Eを遅延し、トランジスタP1、N1のゲートへの信号IN−Dとして、出力する。トランジスタP1のドレイン、ソース、ゲートは、それぞれトランジスタN1のドレイン、電源、信号IN−Dに接続される。トランジスタN1のドレイン、ソース、ゲートは、それぞれトランジスタP1のドレイン、トランジスタN3−3とN3−2とN3−1とのドレイン、信号IN−Dに接続される。トランジスタP1及びトランジスタN1のドレイン同士は接続され、その出力をインバータINV2の入力として出力する。
【0041】
トランジスタN3−1、N3−2、N3−3のドレイン、ソースは、トランジスタN1のソース、接地電位に共通接続される。それぞれのゲートには、カウンタからのカウンタ出力(q0、q1、q2)が入力される。ここでトランジスタN3−1、N3−2、N3−3はその電流駆動能力が1:2:4になるように設定される。トランジスタN4−1、N4−2、N4−3は、カウンタからのカウンタ出力(q0、q1、q2)に応じてオン・オフし、遅延時間の調整を行う。
【0042】
インバータINV2は、前段からの2つの出力を入力され、その波形を整形し、出力信号OUTを出力する。遅延調整回路31は、入力信号INのRiseに対してはそのままローレベルに変化し、入力信号INのFallに対しては時間差をもってハイレベルに変化させる。そのためNchトランジスタのサイズをx1、x2、x4として、カウンタからのカウンタ出力(q0、q1、q2)により8(=23)段階に、その動作速度を調整する。この構成とすることで、数10psオーダーのステップでの遅延調整を可能としている。
【0043】
この遅延調整回路31のFall時の動作を、図5のタイムチャートを参照して説明する。入力信号INは、インバータINV1で反転され、信号IN−Eと、遅延回路51で遅延された信号IN−Dとなる。この遅延回路での遅延量はFall側の遅延調整幅となる。入力される信号のRise側が同期していることから、Fall側の遅延調整幅は数100psである。遅延調整幅の中心部で遅延調整することが好ましいことから、遅延回路51の遅延量は例えば時間(td)の2倍とすることが好ましい。
【0044】
この遅延回路51の遅延量をカウンタ出力により分割し、遅延調整する。例えばカウンタからのカウンタ出力(q0、q1、q2)を(0、0、0)とする。この場合にはトランジスタN3−1、N3−2、N3−3はオフ状態で、トランジスタN4−1、N4−2、N4−3がオン状態となる。そのため信号IN−Eに対応して、遅延されることなく出力信号OUTはハイレベルとなる。一方カウンタ出力(q0、q1、q2)が(1、1、1)の場合にはトランジスタN3−1、N3−2、N3−3はオン状態で、トランジスタN4−1、N4−2、N4−3がオフ状態となる。そのため遅延された信号IN−Dに対応して、出力信号OUTはハイレベルとなる。
【0045】
このようにカウンタ出力(q0、q1、q2)に応じて活性化するトランジスタを切り替え、遅延回路51の遅延量を分割した遅延時間をもって出力信号OUTはハイレベルとなる。例えば入力されるクロックClk-R0はFall側がRise側に比較して時間(td)だけ早いことから、その遅延調整量は大体tdとなる。遅延回路51の遅延量を、例えば時間(td)の2倍とした場合にはその中心領域で遅延調整されることになる。Rise側の動作は、入力信号INがハイレベルで、信号IN−Eがローレベルとなり、トランジスタP2がオンすることで信号IN−Eに同期して一定時刻に動作する。
【0046】
本実施例のFall用遅延調整回路には、Rise用遅延調整回路でRise側を調整したクロックを入力する。入力されたクロックから調整に必要な時間だけ遅延させた遅延クロックを生成する。この入力クロックと、遅延クロックとの間の遅延量はRise側が入力クロックと同期していることから小さくでき、遅延回路の回路規模を削減できる。この入力クロックと、遅延クロックとの間の遅延量をカウンタ出力により分割することで、高精度にFall側の遅延調整を行うことができる。このときのカウンタのビット数も少なくできることから、カウンタ回路規模を削減できる。本実施例のFall用遅延調整回路を備えることで、小さな回路規模で、高精度に遅延調整を行うことができるDLL回路が実現できる。
【実施例2】
【0047】
実施例2として、図1、6、7を参照して説明する。本実施例はDLL回路の第2の回路構成例であり、図6に遅延調整回路31の第2の回路構成図、図7にそのタイムチャートを示す。
【0048】
第2の遅延調整回路31においては、Rise用遅延調整回路12からのクロックClk-R0が第2の遅延回路61と遅延調整回路31に入力される。第2の遅延回路61は、クロックClk-R0を一定時間遅延させ、クロックClk-R1としてMux回路に出力する。また遅延調整回路31にはクロックClk-R0が入力され、Fall用カウンタ16からのカウンタ出力によりFall側が調整され、クロックClk-F1が出力される。遅延調整回路31は実施例1において説明した回路と同じ回路である。
【0049】
実施例1におけるRise側の遅延調整回路12は、Rise/Fallの遅延を変えFall側を時間(td)速くなるようにした。本実施例のRise側の遅延調整回路12では、Rise/Fallとも遅延が変わらない様にして、クロックClkに対し一定時間(td)だけ速くしたクロックClk-R0を出力する。クロックClk-R0は、第2の遅延回路61により一定時間(td)遅延させ、クロックClk-R1として出力される。従ってクロックClk-R1のRiseは、クロックCLKのRiseに同期することになる。Fall側の遅延調整回路31に入力されたクロックClk-R0のFallは、クロックCLKのFallに対し一定時間(td)だけ早くなっている。従って実施例1と同様にして、遅延調整回路31によりクロックClk-F1はクロックCLKのFallに同期させることができる。
【0050】
本実施例では、図6のようにクロックClk-R0を一定時間(td)遅延させ、クロックClk-R1として出力される。遅延調整回路の特に粗遅延調整回路は、従来例(特開2005-51673の図5、図6)に示すように同じインバータ、ナンド回路を複数段もつなげて構成される。単純に各々の回路にRise/Fall差をつけると回路段数の増加により粗遅延の遅延値が増える。その結果Rise/Fallの遅延差も大きくなるため、一部回路のみRise/Fall差をつけることになる。
【0051】
しかし通常、微調整回路に入力する2つの信号の遅延差、つまり、粗遅延の1ステップの遅延量を均一にするため、粗遅延調整回路の遅延素子は同じ回路の繰り返しが用いられる。このため、粗遅延調整回路は同一回路でできるだけRise/Fall遅延がつかないように作成し、図6のようにRise側に固定遅延をつける構成の方が好ましい。この固定遅延の遅延値は、遅延調整回路31の遅延調整幅の半分が好ましい。これにより、Fall側の調整をRise側に対して遅延調整回路31の遅延調整幅の半分まで前後させることが可能になる。
【0052】
本実施例では、Rise用遅延調整回路12では、クロックClkに対し一定時間だけ速くしたクロックClk-R0として出力する。Fall用遅延調整回路13では、Rise側は一定時間遅延させ、クロックCLKのRiseに同期させたクロックClk-R1とする。Fall側は実施例1と同様にして、クロックCLKのfallに同期させたクロックClk-F1とする。本実施例においても、実施例1と同様に回路規模の小さな遅延回路、カウンタにより構成できる。本実施例のFall用遅延調整回路を備えることで、小さな回路規模で、高精度にFall側の遅延調整を行うことができるDLL回路が実現できる。
【実施例3】
【0053】
実施例3にはDLL回路のカウンタ制御方法を、図8,9のタイムチャートを参照して説明する。
【0054】
図8のタイムチャートは、例えば電源投入時等におけるクロックの同期がずれた時点を含むタイムチャートである。本発明のDLL回路は、Rise側において同期されたクロックを使用し、Fall側を同期させる回路である。従って、Rise側の同期が完了した状態で、Fall側を同期させるタイムチャートとすることが好ましい。図8に示すように最初のクロックサイクルにおいては、Fall側のカウンタを停止させ、Rise側のカウンタのみによる調整を行う。数サイクルの調整により、Rise側がロック状態に近づいた時点で、Fall側のカウンタを動作させる。Rise側がロック状態に近づいた時点とは、クロックClk-FBとクロックCLKがほぼ同期した時点である。このロック状態に近づいた時点は、例えばカウンタのUp/Downの変動が少ない、又は変動がなくなったことで検知できる。
【0055】
Rise側がロック状態に近づいた時点からはFall側も動作させる。Fall側、Rise側、Fall側と交互に動作させ、遅延調整する。Rise側を調整すると遅延を共用しているFall側の遅延もずれるため、交互の調整が好ましい構成となる。ここではクロック毎に調整しているが、例えば数クロックサイクル毎に調整するように構成してもよい。またDLL回路がロック状態に近づくまではクロックサイクル毎、ロック状態になった状態から、数サイクル毎に交互に調整するように構成してもよい。
【0056】
図8においては、クロックCLKに同期してカウンタを動作させている。しかし例えばDRAMにおいては、図9のようにACTコマンド毎にカウンタを動作させる構成もある。その場合にはクロックサイクルをACTサイクルに相当させて調整する構成となる。図9のようにACTコマンド毎にカウンタを更新する構成の場合、まず、Riseが調整されて、その後、Riseの調整結果が遅延の反映されたのち、たとえば、3〜4サイクル後にFallのカウンタを更新する構成もある。この場合、ACTコマンド毎に交互にカウンタが更新される構成に比べ、カウンタの更新頻度が多くなるためDLL回路の精度が高くなることが期待される。
【0057】
本発明のDLL回路では、Riseが調整されたクロックに基づいてFall側を調整する。Rise側が調整されると遅延を共用しているFall側の遅延もずれることになる。従って最初は、Rise側のみの調整とし、Fall側の調整は停止する。Rise側がロック状態に近づいた状態で、Fall側、Rise側、Fall側と交互に動作調整させることが好ましい。またクロックのみならず、クロックとACTコマンドとを組み合わせることで、Rise側及びFall側の動作間隔を設定することができる。
【0058】
以上、実施形態に基づき本発明を具体的に説明したが、本発明は上述の実施形態に制限されるものではなく、その要旨を逸脱しない範囲で種々の変更を施すことができ、これらの変更例も本願に含まれることはいうまでもない。例えば、本願の説明においては最初にRise用遅延調整回路によりRise側を同期させ、その出力をFall用遅延調整回路に入力している。しかし最初にFall用遅延調整回路によりFall側を同期させ、その出力をRise用遅延調整回路に入力してもよい。この場合にも同様に動作させることができ、Rise用遅延調整回路及びRise用カウンタの回路規模を削減することができる。このようにRiseとFallを入れ替えて動作させることも可能であり、これらが本願に含まれることはいうまでもない。
【図面の簡単な説明】
【0059】
【図1】本発明におけるDLL回路の回路ブロック構成図である。
【図2】実施例1におけるFall用遅延調整回路の構成図である。
【図3】実施例1におけるタイムチャートである。
【図4】図2におけるFall用遅延調整回路の回路図である。
【図5】図4におけるタイムチャートである。
【図6】実施例2におけるFall用遅延調整回路の構成図である。
【図7】図6におけるタイムチャートである。
【図8】本発明におけるカウンタ制御のタイムチャートである。
【図9】本発明におけるカウンタ制御の他のタイムチャートである。
【図10】従来例におけるDLL回路の回路ブロック構成図である。
【図11】図10におけるタイムチャートである。
【符号の説明】
【0060】
12 Rise用遅延調整回路
13、20 Fall用遅延調整回路
14 カウンタ(Rise用)
15 Rise用位相比較回路
16、21 Fall用カウンタ
17 Fall用位相比較回路
18 Mux回路
19 出力レプリカ回路
31 遅延調整回路
51、61 遅延回路
INV1、INV2、INV3、INV4、INV5 インバータ回路
P1、P2 Pchトランジスタ
N1、N2、N3−1、N3−2、N3−3、N4−1、N4−2、N4−3 Nchトランジスタ
【特許請求の範囲】
【請求項1】
内部クロックの立ち上がりを外部クロックの立ち上がりに同期させるためのRise遅延調整回路と、内部クロックの立ち下がりを外部クロックの立ち下がりに同期させるためのFall遅延調整回路と、を備え、前記Fall遅延調整回路は前記Rise遅延調整回路からの出力を入力とし、内部クロックの立ち下がりを外部クロックの立ち下がりに同期させるために遅延調整することを特徴とするDLL回路。
【請求項2】
前記Rise遅延調整回路における遅延調整幅は外部クロックサイクルよりも長く、前記Fall遅延調整回路における遅延調整幅は外部クロックサイクルよりも短いことを特徴とする請求項1に記載のDLL回路。
【請求項3】
前記Rise遅延調整回路において内部クロックの立ち上がりを遅延調整した信号は、その立ち上がりから立ち下がりまでの時間幅が外部クロックのそれより一定時間だけ短くしたことを特徴とする請求項2に記載のDLL回路。
【請求項4】
前記Fall遅延調整回路における遅延調整幅は前記一定時間の2倍であることを特徴とする請求項3に記載のDLL回路。
【請求項5】
前記Rise遅延調整回路において内部クロックの立ち上がりを遅延調整した信号を、前記Fall遅延調整回路において一定時間遅延させることを特徴とする請求項2に記載のDLL回路。
【請求項6】
前記Fall遅延調整回路における遅延調整幅は前記一定時間の2倍であることを特徴とする請求項5に記載のDLL回路。
【請求項7】
外部クロックと内部クロックとの立ち上がりにおける遅延差を検出するRise位相比較回路とその比較結果をカウントするRiseカウンタと、外部クロックと内部クロックとの立ち下がりにおける遅延差を検出するFall位相比較回路とその比較結果をカウントするFallカウンタと、をさらに備え、前記Rise遅延調整回路において外部クロックと内部クロックとの立ち上がりが同期するまでは前記Riseカウンタのみ動作させ、前記Fallカウンタは停止させることを特徴とする請求項2に記載のDLL回路。
【請求項8】
外部クロックと内部クロックとの立ち上がりにおける遅延差を検出するRise位相比較回路とその比較結果をカウントするRiseカウンタと、外部クロックと内部クロックとの立ち下がりにおける遅延差を検出するFall位相比較回路とその比較結果をカウントするFallカウンタと、をさらに備え、前記Riseカウンタと前記Fallカウンタとは、交互に動作させることを特徴とする請求項2に記載のDLL回路。
【請求項9】
外部クロックと内部クロックとの立ち上がりにおける遅延差を検出するRise位相比較回路とその比較結果をカウントするRiseカウンタと、外部クロックと内部クロックとの立ち下がりにおける遅延差を検出するFall位相比較回路とその比較結果をカウントするFallカウンタと、をさらに備え、前記Riseカウンタと前記Fallカウンタとは、アクトコマンドが入力されることにより動作させることを特徴とする請求項2に記載のDLL回路。
【請求項1】
内部クロックの立ち上がりを外部クロックの立ち上がりに同期させるためのRise遅延調整回路と、内部クロックの立ち下がりを外部クロックの立ち下がりに同期させるためのFall遅延調整回路と、を備え、前記Fall遅延調整回路は前記Rise遅延調整回路からの出力を入力とし、内部クロックの立ち下がりを外部クロックの立ち下がりに同期させるために遅延調整することを特徴とするDLL回路。
【請求項2】
前記Rise遅延調整回路における遅延調整幅は外部クロックサイクルよりも長く、前記Fall遅延調整回路における遅延調整幅は外部クロックサイクルよりも短いことを特徴とする請求項1に記載のDLL回路。
【請求項3】
前記Rise遅延調整回路において内部クロックの立ち上がりを遅延調整した信号は、その立ち上がりから立ち下がりまでの時間幅が外部クロックのそれより一定時間だけ短くしたことを特徴とする請求項2に記載のDLL回路。
【請求項4】
前記Fall遅延調整回路における遅延調整幅は前記一定時間の2倍であることを特徴とする請求項3に記載のDLL回路。
【請求項5】
前記Rise遅延調整回路において内部クロックの立ち上がりを遅延調整した信号を、前記Fall遅延調整回路において一定時間遅延させることを特徴とする請求項2に記載のDLL回路。
【請求項6】
前記Fall遅延調整回路における遅延調整幅は前記一定時間の2倍であることを特徴とする請求項5に記載のDLL回路。
【請求項7】
外部クロックと内部クロックとの立ち上がりにおける遅延差を検出するRise位相比較回路とその比較結果をカウントするRiseカウンタと、外部クロックと内部クロックとの立ち下がりにおける遅延差を検出するFall位相比較回路とその比較結果をカウントするFallカウンタと、をさらに備え、前記Rise遅延調整回路において外部クロックと内部クロックとの立ち上がりが同期するまでは前記Riseカウンタのみ動作させ、前記Fallカウンタは停止させることを特徴とする請求項2に記載のDLL回路。
【請求項8】
外部クロックと内部クロックとの立ち上がりにおける遅延差を検出するRise位相比較回路とその比較結果をカウントするRiseカウンタと、外部クロックと内部クロックとの立ち下がりにおける遅延差を検出するFall位相比較回路とその比較結果をカウントするFallカウンタと、をさらに備え、前記Riseカウンタと前記Fallカウンタとは、交互に動作させることを特徴とする請求項2に記載のDLL回路。
【請求項9】
外部クロックと内部クロックとの立ち上がりにおける遅延差を検出するRise位相比較回路とその比較結果をカウントするRiseカウンタと、外部クロックと内部クロックとの立ち下がりにおける遅延差を検出するFall位相比較回路とその比較結果をカウントするFallカウンタと、をさらに備え、前記Riseカウンタと前記Fallカウンタとは、アクトコマンドが入力されることにより動作させることを特徴とする請求項2に記載のDLL回路。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2008−99002(P2008−99002A)
【公開日】平成20年4月24日(2008.4.24)
【国際特許分類】
【出願番号】特願2006−278773(P2006−278773)
【出願日】平成18年10月12日(2006.10.12)
【出願人】(500174247)エルピーダメモリ株式会社 (2,599)
【Fターム(参考)】
【公開日】平成20年4月24日(2008.4.24)
【国際特許分類】
【出願日】平成18年10月12日(2006.10.12)
【出願人】(500174247)エルピーダメモリ株式会社 (2,599)
【Fターム(参考)】
[ Back to top ]