(57)【要約】【課題】内部クロック信号が外部クロック信号に位相同期するまでに要するクロックサイクル数を低減する。【解決手段】可変遅延線（３２，３３）を通して生成する内部クロック信号（ＣＬＫＰ，ＣＬＫＮ）に対応するフィードバッククロック信号ＦＢＣＬＫと外部クロック信号に対応するバッファクロック信号（ＢＵＦＣＬＫ）の位相差を位相検出器（３５）で検出し、該検出結果をシフト回路（４２）を介して転送する。遅延制御回路（２０）により、シフト回路（４２）からのダウン信号が活性化されると強制的に所定クロックサイクル期間ダウン指示信号（ＤＷＮ）を活性状態に維持する。カウント制御回路（４１）はダウン指示信号が活性状態から非活性状態となると、カウント回路（３７）のカウント単位を最小値に設定する。可変遅延線は、カウント回路の出力カウントビット（Ａ［Ｎ：０］）に従って遅延量が設定される。【選択図】　　　　図２
2004046686.tif 000002
【特許請求の範囲】
【請求項１】
外部クロック信号に従って内部クロック信号を生成する内部クロック生成回路、
前記内部クロック信号と前記外部クロック信号との位相差を検出する位相差検出回路、
前記位相差検出回路の出力信号に従って、前記内部クロック信号と前記外部クロック信号との位相関係が所定の状態となると該所定の状態を予め定められた数のクロックサイクルの間連続して維持し、前記予め定められた数に到達すると該維持状態を解除する位相関係調整回路、
前記位相関係調整回路の出力信号に従って、前記内部クロック信号の位相を調整する位相調整回路、および
前記位相調整回路の前記所定の状態が解除されるまで前記位相調整回路の位相調整単位を第１の遅延量に設定し、前記所定の状態の解除に応答して、前記位相調整回路の位相調整単位を前記第１の遅延量よりも小さい第２の遅延量に設定する遅延制御回路を備える、クロック発生回路。
【請求項２】
前記位相関係調整回路は、
前記位相差検出回路の出力信号を所定数のクロックサイクル間遅延する遅延回路と、
前記遅延回路の出力信号が前記所定の状態を示すとき、前記位相関係調整回路の出力信号を強制的に前記所定状態を示す状態に設定する強制設定回路と、
前記強制設定を前記予め定められた数のクロックサイクルの経過に応答して解除する解除回路とを備える、請求項１記載のクロック発生回路。
【請求項３】
前記所定数と前記予め定められた数とは等しい、請求項２記載のクロック発生回路。
【請求項４】
前記位相調整回路は、
前記位相関係調整回路の出力信号の前記所定状態指示をカウントして前記内部クロック生成回路の遅延量を設定するカウント値を生成するカウンタを備え、
前記遅延制御回路は、前記位相関係調整回路の出力信号の前記所定の状態指示が解除されるまで前記カウンタのカウント単位を前記第１の遅延量に対応する値に設定する、請求項２記載のクロック発生回路。
【請求項５】
前記内部クロック発生回路は、前記カウンタのカウント値により前記外部クロック信号を遅延する遅延量が設定される可変遅延回路を備える、請求項４記載のクロック発生回路。
【請求項６】
外部クロック信号に従って内部クロック信号を生成する内部クロック生成回路、
前記内部クロック信号と前記外部クロック信号との位相差を検出する位相差検出回路、
前記位相差検出回路の出力信号に従って、前記内部クロック信号と前記外部クロック信号との位相差を調整する位相調整回路、および
前記位相差検出回路の出力信号に従って前記位相調整回路の位相調整単位を調整する遅延制御回路を備え、前記遅延制御回路は、前記位相差検出回路の出力信号の所定の状態指示に応答して所定サイクル期間前記位相調整単位を第１の値から第２の値へ増大させかつ以後のサイクルにおいて前記位相調整単位を前記第１の値よりも小さな最小値に設定する、クロック発生回路。
【請求項７】
前記内部クロック生成回路は、前記外部クロック信号を遅延して前記内部クロック信号を生成し、
前記位相調整回路は、前記位相差検出回路の出力信号の前記所定状態指示をカウントして、前記内部クロック生成回路の遅延量を設定するカウント値を生成するカウンタを備え、
前記遅延制御回路は、
前記位相差検出回路の前記所定状態の出力信号に従って、前記所定サイクル期間前記カウンタの所定のカウントビットを固定状態とし、前記所定サイクル期間経過後に前記カウンタのカウントビットをすべて有効としてカウント動作を行なわせ、有効状態のカウントビットに従ってカウント動作が行われ、前記内部クロック生成回路の遅延量が設定される、請求項６記載のクロック発生回路。
【請求項８】
前記所定サイクル期間は、１クロックサイクル期間である、請求項６記載のクロック発生回路。
【請求項９】
前記内部クロック生成回路は、前記外部クロック信号を遅延して前記内部クロック信号を生成する可変遅延回路を備え、
前記遅延制御回路は、
無効状態に初期設定される第１のビットが無効状態のとき前記所定状態の出力信号を前記所定サイクル期間遅延して前記第１のビットを生成する遅延初期化回路と、
前記位相差検出回路の前記所定状態の出力信号に応答してセットされて前記第１のビットよりも上位の第２のビットを無効状態に設定しかつ前記遅延初期化回路の出力信号に応答して前記第２のビットを有効とする遅延更新回路とを備え、有効状態のビットにより、前記内部クロック発生回路の遅延変化量が設定される、請求項６記載のクロック発生回路。
【請求項１０】
前記位相調整回路は、前記位相差検出回路の出力信号の前記所定の状態指示をカウントするカウント回路を含み、前記カウント回路は前記遅延制御回路の出力する前記第１および第２のビットによりカウント単位が設定され、かつ前記カウント回路の出力カウント値により前記内部クロック生成回路の遅延量が設定される、請求項９記載のクロック発生回路。
【請求項１１】
前記位相差検出回路は、前記外部クロック信号と前記内部クロック信号との位相差を検出する位相検出器と、
前記位相検出器の出力信号を所定サイクル期間遅延するシフト回路とを備え、前記シフト回路により、前記位相差検出回路の出力信号が生成される、請求項６記載のクロック発生回路。
【請求項１２】
外部クロック信号に従って内部クロック信号を生成する内部クロック生成回路、
前記内部クロック信号と前記外部クロック信号との位相差を検出する位相差検出回路、
前記位相差検出回路の出力信号に従って、前記内部クロック信号と前記外部クロック信号との位相差を調整する位相調整回路、および
前記位相差検出回路の出力信号に従って、前記位相調整回路の位相調整単位を調整する遅延制御回路を備え、前記遅延制御回路は、前記位相調整単位を最小値よりも大きな第１の値に初期設定し、前記位相差検出回路の出力信号の前記所定の状態の解除に応答して前記位相調整単位を前記最小値に設定する、クロック発生回路。
【請求項１３】
前記位相差検出回路は、
前記外部クロック信号と前記内部クロック信号との位相差を検出する位相検出器と、
前記位相検出器の出力信号を所定クロックサイクル遅延して前記位相調整回路へ出力するシフト回路とを備える、請求項１２記載のクロック発生回路。
【請求項１４】
前記位相調整回路は、
前記位相差検出回路の出力信号の前記所定状態指示をカウントして前記内部クロック生成回路の遅延量を設定するカウント値を生成するカウンタを備え、
前記内部クロック発生回路は、前記カウンタのカウント値により遅延時間が設定される可変遅延線を備え、
前記遅延制御回路は、初期化時前記カウンタの所定のビットを固定状態としかつ前記位相調整回路の出力信号の前記所定状態の完了に応答して前記所定のビットを有効状態としかつ該有効状態を維持し、
前記カウンタは、該カウントビットのカウント動作が、対応のビットの固定状態のときに禁止される、請求項１２記載のクロック発生回路。
【請求項１５】
前記内部クロック発生回路は、前記内部クロック信号のエッジに応答してワンショットのパルス信号を生成して前記位相差検出回路へ印加するパルス発生回路をさらに備える、請求項１、６、または１２記載のクロック発生回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、外部クロック信号に同期した内部クロック信号を生成するクロック発生回路に関し、特に、同期型半導体記憶装置において少なくともデータ出力のために利用される内部クロック信号を生成する内部クロック発生回路に関する。より特定的には、この発明は、外部クロック信号を遅延して、この外部クロック信号に位相同期した内部クロック信号を生成するＤＬＬ（ディレイ・ロック・ループ）回路の遅延量を調整するための回路に関する。
【０００２】
【従来の技術】
クロック信号に同期してデータ／信号を転送するクロック同期型半導体記憶装置が広く用いられている。クロック同期型半導体記憶装置においては、信号／データのスキューは、クロック信号に対して考慮することが要求されるだけであり、信号間のスキューを考慮する必要がなく、内部動作開始タイミングを早くすることができる。また、たとえばシステムクロックであるクロック信号に同期してデータを転送するため、高速のデータ転送を実現することができ、データ転送のバンド幅を広くすることができる。
【０００３】
このようなクロック同期型半導体記憶装置として、クロック信号の立上がりエッジおよび立下がりエッジに同期してデータを転送するＤＤＲ−ＳＤＲＡＭ（ダブル・データ・レート・シンクロナス・ダイナミック・ランダム・アクセス・メモリ）が知られている。
【０００４】
図２３は、このＤＤＲ−ＳＤＲＡＭのデータ出力タイミングを示す図である。この図２３に示すように、出力データＱ０−Ｑ３が、外部クロック信号ＣＬＫの立上がりエッジおよび立下がりエッジに同期して順次出力される。このように、外部クロック信号ＣＬＫの立上がりエッジおよび立下がりエッジに同期してデータＤＱを出力することが、ＤＤＲ−ＳＤＲＡＭの出力タイミングについての標準規格として定められている。
【０００５】
外部クロック信号ＣＬＫをトリガとして用いてデータを出力する場合、内部クロックを生成するクロック入力バッファおよびデータ出力バッファの遅延のために、出力データが、外部クロック信号ＣＬＫに対して遅延するため、このデータ出力についての規格を満足することができない。
【０００６】
したがって、通常、ＤＤＲ−ＳＤＲＡＭにおいては、データ出力用のクロック信号を生成するために、ＤＬＬ（ディレイ・ロック・ループ）回路が内部に設けられる。このＤＬＬ回路は、外部クロック信号ＣＬＫを、内部で固定遅延および可変遅延を用いて遅延し、外部クロック信号ＣＬＫよりも位相の進んだデータ出力用のクロック信号ＣＬＫＰおよびＣＬＫＮを生成する。
【０００７】
図２４は、従来のＤＬＬ回路の全体の構成を概略的に示す図である。図２４において、ＤＬＬ回路９００に対しては、外部からの相補クロック信号ＣＬＫおよびＺＣＬＫをバッファ処理してバッファクロック信号ＢＵＦＣＬＫおよびＺＢＵＦＣＬＫを生成するクロック入力バッファ８９０が設けられる。
【０００８】
ＤＬＬ回路９００は、これらのバッファクロック信号ＢＵＦＣＬＫおよびＺＢＵＦＣＬＫを遅延してデータ出力用の内部クロック信号ＣＬＫＰおよびＣＬＫＮを生成する内部クロック生成回路９０２と、内部クロック信号ＣＬＫＰとバッファクロック信号ＢＵＦＣＬＫの位相差を検出し、検出結果を示す信号ＵＰおよびＤＷＮを生成する位相差検出回路９０４と、この位相差検出回路９０４からの位相検出信号ＵＰおよびＤＷＮに従って、内部クロック発生回路９０２の遅延量を制御する位相制御回路９０６を含む。
【０００９】
データ出力用の内部クロック信号ＣＬＫＰをフィードバックして、位相差検出回路９０４においてバッファクロック信号ＢＵＦＣＬＫとの位相比較を行ない、位相差を最小とするように、内部クロック発生回路９０２における遅延量を調整する。データ出力用内部クロック信号ＣＬＫＰの位相を、クロック入力バッファ８９０およびデータ出力バッファの遅延を考慮して調整することにより、外部クロック信号ＣＬＫの位相とデータ出力の位相を一致させることができる。
【００１０】
図２５は、図２４に示すＤＬＬ回路９００のより具体的な構成を示す図である。図２５において、位相差検出回路９０４は、内部クロック信号ＣＬＫＰを所定時間遅延するレプリカバッファ３４と、このレプリカバッファ３４の出力するフィードバッククロック信号ＦＢＣＬＫとバッファクロック信号ＢＵＦＣＬＫの位相差を検出する位相検出器３５とを含む。レプリカバッファ３４は、図２４に示すクロック入力バッファ８９０およびデータ出力バッファにおける遅延を補償するために設けられる。通常、クロック入力バッファ８９０が、差動増幅回路で構成され、相補外部クロック信号ＣＬＫおよびＺＣＬＫの交差部を検出してバッファクロック信号ＢＵＦＣＬＫおよびＺＢＵＦＣＬＫを生成する場合には、このクロック入力バッファ８９０における遅延は無視される。
【００１１】
位相検出器３５は、フィードバッククロック信号ＦＢＣＬＫとバッファクロック信号ＢＵＦＣＬＫの位相比較結果に従って位相検出結果指示信号ＵＰおよびＤＷＮを出力する。フィードバッククロック信号ＦＢＣＬＫの位相が、バッファクロック信号ＢＵＦＣＬＫよりも進んでいる場合には、内部クロック信号ＣＬＫＰおよびＣＬＫＮの遅延量を増大するためにアップ指示信号ＵＰをＨレベルに設定する。逆に、フィードバッククロック信号ＦＢＣＬＫの位相が、バッファクロック信号ＢＵＦＣＬＫの位相よりも遅れている場合には、内部クロック信号ＣＬＫＰおよびＣＬＫＮの位相を進めるために、ダウン指示信号ＤＷＮがＨレベルに設定される。
【００１２】
アップ指示信号ＵＰにより内部クロック信号ＣＬＫＰの遅延量が増加され、ダウン指示信号ＤＷＮにより、内部クロック信号ＣＬＫＰの遅延量が低減される。
【００１３】
位相制御回路９０６は、位相検出器３５の出力信号ＵＰおよびＤＷＮに従ってカウント動作を行なうカウント回路３７と、電源投入またはシステムリセット時にカウント回路３７の最小カウント値を制御するカウント制御回路４１を含む。このカウント回路３７のカウント値Ａ［Ｎ：０］に従って、内部クロック信号ＣＬＫＰおよびＣＬＫＮの遅延量が設定される。
【００１４】
内部クロック発生回路９０２は、バッファクロック信号ＢＵＦＣＬＫを遅延して内部クロック信号ＣＬＫＰを生成する可変遅延線３２と、バッファクロック信号ＺＢＵＦＣＬＫを遅延して、内部クロック信号ＣＬＫＮを生成する可変遅延線３３を含む。これらの可変遅延線３２および３３に対し、カウント回路３７のカウント値Ａ［Ｎ：０］が共通に与えられる。カウント回路３７は、双方向カウンタであり、位相検出器３５の出力するアップ指示信号ＵＰが活性化されるとそのカウント値を増分し、位相検出器３５の出力するダウン指示信号ＤＷＮが活性化されるとそのカウント値を減分する。これらの可変遅延線３２および３３の遅延量は、カウント回路３７のカウント値により設定され、このカウント値Ａ［Ｎ：０］が増大すると、可変遅延線３２および３３の遅延量が増大する。
【００１５】
カウント制御回路４１は、イネーブル信号ＥＮにより、カウント回路３７のカウント動作を制御する。イネーブル信号ＥＮがＨレベルに設定されるとカウント回路３７がカウント動作を行い、イネーブル信号ＥＮがＬレベルに設定されるとと動作が停止される。たとえばパワーダウンモードなどにおいて、カウント回路３７のカウント動作を停止させて、消費電流を低減する。
【００１６】
図２６（Ａ）および図２６（Ｂ）は、図２５に示す位相検出器３５の位相検出動作を示す図である。位相検出器３５は、フィードバッククロック信号ＦＢＣＬＫとバッファクロック信号ＢＵＦＣＬＫとの位相が一致するように、出力信号ＵＰおよびＤＷＮを生成する。これらの信号ＵＰおよびＤＷＮは、互いに相補な信号である。位相検出タイミングは、バッファクロック信号ＢＵＦＣＬＫの立上りエッジである。
【００１７】
図２６（Ａ）において、バッファクロック信号ＢＵＦＣＬＫの立上がりエッジで、フィードバッククロック信号ＦＢＣＬＫがＬレベルの場合、フィードバッククロック信号ＦＢＣＬＫの位相を進める必要がある。したがって、この場合、位相検出器３５からのダウン指示信号ＤＷＮがＨレベルに設定され、フィードバッククロック信号ＦＢＣＬＫの遅延量が低減される。
【００１８】
一方、図２６（Ｂ）に示すように、バッファクロック信号ＢＵＦＣＬＫの立上がりエッジで、フィードバッククロック信号ＦＢＣＬＫがＨレベルのときには、このフィードバッククロック信号ＦＢＣＬＫの位相が、バッファクロック信号ＢＵＦＣＬＫよりも進んでいる。したがって、この場合、フィードバッククロック信号ＦＢＣＬＫを遅らせる必要があり、アップ指示信号ＵＰをＨレベルに設定して、このフィードバッククロック信号ＦＢＣＬＫの遅延量を増大させる。
【００１９】
図２７および２８は、図２５に示すＤＬＬ回路９００の動作を示す図である。以下、図２７および図２８を参照してＤＬＬ回路９００の位相調整動作について簡単に説明する。
【００２０】
図２７において、時刻ｔ１においてバッファクロック信号ＢＵＦＣＬＫがＨレベルに立上がる。可変遅延線３２および３３は、カウント回路３７からのカウント値に従ってバッファクロック信号ＢＵＦＣＬＫおよびＺＢＵＦＣＬＫを遅延する。
【００２１】
図２７において、時刻ｔ２において、内部クロック信号ＣＬＫＰがＨレベルに立上がる。レプリカバッファ３４が、このデータ出力用の内部クロック信号ＣＬＫＰを所定時間（一定の固定時間）遅延する。したがって、フィードバッククロック信号ＦＢＣＬＫは時刻ｔ３においてＨレベルに立上がる。この場合、フィードバッククロック信号ＦＢＣＬＫの立上がりエッジは、バッファクロック信号ＢＵＦＣＬＫの立上がりエッジよりも早いタイミングで生じているため、位相検出器３５は、内部クロック信号ＣＬＫＰの遅延量を増加させるため、アップ指示信号ＵＰをＨレベルに設定する。
【００２２】
すなわち、ＤＬＬ回路９００においては、バッファクロック信号ＢＵＦＣＬＫおよびＺＢＵＦＣＬＫを遅延させて、内部クロック信号ＣＬＫＰおよびＣＬＫＮを生成する。フィードバッククロック信号ＦＢＣＬＫは、レプリカバッファ３４により固定時間遅延されている。したがって、データ出力タイミングを、外部のクロック信号ＣＬＫの立上がりエッジよりも早いタイミングに設定することができ、外部クロック信号ＣＬＫのエッジに同期してデータの出力を行なうことができる。
【００２３】
この位相調整動作により、図２８において、フィードバッククロック信号ＦＢＣＬＫの立上がりエッジとバッファクロック信号ＢＵＦＣＬＫの立上がりエッジが一致する。この場合は、図２８の時刻ｔ２において、データ出力用の内部クロック信号ＣＬＫＰがＨレベルに立上がっている。内部クロック信号ＣＬＫＰに従って、データ出力が実行される。レプリカバッファ３４は、データ出力バッファにおけるデータ伝搬の遅延時間を考慮して、その遅延時間が決定される。したがって、この図２８に示すタイミングで、データ出力用の内部クロック信号ＣＬＫＰおよびＣＬＫＮに従ってデータ出力を行なうことにより、時間ｔ２からｔ３の間にデータが出力バッファを介して転送され、時刻ｔ３において出力データが変化する。クロック信号ＣＬＫＮについても、同様、バッファクロック信号ＺＢＵＦＣＬＫを遅延して生成されるため、外部クロック信号ＣＬＫの立下りエッジでデータを出力することができる。これにより、外部クロック信号ＣＬＫの立上りエッジおよび立下りエッジにに同期してデータの出力を行なうことができる。
【００２４】
バッファクロック信号ＢＵＦＣＬＫとフィードバッククロック信号ＦＢＣＬＫの位相が一致するまでのサイクル数が最大となるのは、たとえばパワーオンリセット後にこれらのクロック信号ＢＵＦＣＬＫおよびＦＢＣＬＫの位相が１８０°ずれた場合である。
【００２５】
すなわち、図２９に示すように、バッファクロック信号ＢＵＦＣＬＫとフィードバッククロック信号ＦＢＣＬＫの位相が１８０°ずれた場合、バッファクロック信号ＢＵＦＣＬＫの立上がりエッジで、フィードバッククロック信号ＦＢＣＬＫの位相がＨレベルまたはＬレベルのいずれかに判定される。クロック信号ＢＵＦＣＬＫおよびＦＢＣＬＫは、Ｈレベル期間とＬレベル期間とが等しいデューティが５０％のクロック信号である。この場合、判定結果に従って、フィードバッククロック信号ＦＢＣＬＫの位相が変化した場合、それ以後のサイクルにおいて、信号ＵＰまたはＤＷＮが、位相が一致するまで連続して生成される。
【００２６】
外部クロック信号ＣＬＫ、すなわちバッファクロック信号ＢＵＦＣＬＫの周期を、ＴＣＫ（ｎｓ）、１サイクル当りのフィードバッククロック信号ＦＢＣＬＫの遅延量をΔｔ（ｎｓ）とすると、位相が１８０°ずれた場合、両者の位相を一致させるまでに必要なサイクル数は、（ＴＣＫ／２）／Δｔで与えられる。
【００２７】
ＪＥＤＥＣ（ジョイント・エレクトロン・デバイス・エンジニアリング・カウンシル）により仕様で定められているクロック周期の最大値ＴＣＫｍａｘを１５ｎｓ、１サイクルの遅延量Δｔを０．０４ｎｓと考えた場合、この位相一致までに、１８７サイクルが必要となる。一方、パワーオンリセットからＤＬＬ回路が位相を一致させるまでの最大サイクル数の仕様値は、２００である。したがって、フィードバッククロック信号ＦＢＣＬＫのデューティ比を５０％のままで、位相比較を行なった場合、この仕様値に対し余裕が極めて小さくなり、パワーオンリセット後、早いタイミングで安定に外部クロック信号に同期してデータを出力することができなくなるおそれがある。
【００２８】
上述のＤＬＬ回路のロックに要する問題を回避するために、データ出力用のクロック信号をたとえば２ｎｓ程度の一定のパルス幅を有するセルフタイミングパルスに整形してフィードバックする技術が用いられる。
【００２９】
図３０は、セルフタイミングパルス発生回路を内蔵するＤＬＬ回路９００の構成を概略的に示す図である。図３０において、内部クロック生成回路９０２において、可変遅延線３２および３３の出力段に、それぞれワンショットパルス発生回路３９および４０が設けられる。これらのワンショットパルス発生回路３９および４０から出力用の内部クロック信号ＣＬＫＰおよびＣＬＫＮが生成される。このワンショットパルス発生回路３９の出力する内部クロック信号ＣＬＫＰが、位相差検出回路９０４内のレプリカバッファ３４へ与えられる。
【００３０】
この図３０に示すＤＬＬ回路の他の構成は、図２５に示すＤＬＬ回路の構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【００３１】
ワンショットパルス発生回路３９は、図３１に示すように、可変遅延線３２の出力クロック信号ＣＬＫＰＦの立上がりに応答して所定時間Ｌレベルとなるワンショットのパルス信号を発生する。このワンショットパルス発生回路３９の出力パルスをレプリカバッファ３４を介してフィードバッククロック信号ＦＢＣＬＫとして位相検出器３５にフィードバックする。
【００３２】
カウント制御回路４１は、この位相検出器３５からダウン指示信号ＤＷＮが発生されるまで、イネーブル信号ＥＮ［Ｎ：０］の所定のビットをＬレベルに設定し、カウント回路３７のカウント単位を、最小値よりも増加させる。ダウン指示信号ＤＷＮが発生されると、カウント制御回路４１は、このイネーブル信号ＥＮ［Ｎ：０］すべてをＨレベルに設定する。これにより、遅延量減少時においては、１サイクルの遅延変化量を最小値に設定する。
【００３３】
図３２は、フィードバッククロック信号ＦＢＣＬＫとバッファクロック信号ＢＵＦＣＬＫの位相関係を概略的に示す図である。このフィードバッククロック信号ＦＢＣＬＫは、ワンショットパルス発生回路３９により、所定期間（たとえば２ｎｓ）のＬレベル期間を有する。
【００３４】
今、フィードバッククロック信号ＦＢＣＬＫの立下がりエッジが、バッファクロック信号ＢＵＦＣＬＫの立上がりエッジとほぼ同様のタイミングで生成される状態を考える。位相検出器３５が、このバッファクロック信号ＢＵＦＣＬＫの立上がりエッジにおいて、フィードバッククロック信号ＦＢＣＬＫがＨレベルであると判定すると、アップ指示信号ＵＰをＨレベルに設定し、遅延量を増加させる。したがって、この場合、フィードバッククロック信号ＦＢＣＬＫは、そのＨレベル期間、位相をシフトさせる必要がある。一方、バッファクロック信号ＢＵＦＣＬＫの立上がりエッジにおいて、フィードバッククロック信号ＦＢＣＬＫがＬレベルであると判定されると、ダウン指示信号ＤＷＮがＨレベルに設定され、遅延量が減少される。したがって、この場合には、フィードバッククロック信号ＦＢＣＬＫのＬレベルの期間だけ、遅延量を調整する。
【００３５】
フィードバッククロック信号ＦＢＣＬＫは、Ｌレベル期間がたとえば２ｎｓと短く、Ｈレベル期間が長い。したがって、最初に、バッファクロック信号ＢＵＦＣＬＫの立上がりエッジで、フィードバッククロック信号ＦＢＣＬＫがＨレベルのときには、１サイクル当りの遅延変化量をたとえば８Δｔに設定する。ＤＬＬ回路９００のリセット後に、初めてフィードバッククロック信号ＦＢＣＬＫがＬレベルとなり、ダウン指示信号ＤＷＮがＨレベルとなると、可変遅延線３２および３３の遅延各サイクルの遅延変化量をΔｔに低減する。この場合、位相が一致するまでの最大サイクル数は、バッファクロック信号ＢＵＦＣＬＫの周期をＴＣＫとし、フィードバッククロック信号ＦＢＣＬＫのＬレベル期間を２ｎｓとすると、次式で表わされる。
【００３６】
（ＴＣＫ−２）／（８Δｔ）＋２／Δｔ
周期ＴＣＫおよび最小遅延変化量Δｔが、それぞれ、１５ｎｓおよび０．０４ｎｓの場合、位相が一致するまでに必要な最大サイクル数は、約９０サイクルとなり、ＪＥＤＥＣの仕様値の２００サイクルに比べて大幅にマージンを大きくすることができる。
【００３７】
図３３は、図３０に示すカウント制御回路４１の構成を概略的に示す図である。図３３において、カウント制御回路４１は、イネーブル信号ＥＮ［Ｎ：３］をＨレベル（電源電圧ＶＤＤレベル）に固定する配線４１ａと、電源投入検出信号（パワーオンリセット信号）ＺＰＯＲに応答してリセットされかつダウン指示信号ＤＷＮの活性化に応答してセットされて、イネーブル信号ＥＮ［２：０］を生成するセット／リセットフリップフロップ４１ｂを含む。
【００３８】
この図３３に示すカウント制御回路４１の構成においては、電源投入後イネーブル信号ＥＮ［Ｎ：３］は、すべてＨレベルに固定される。一方、セット／リセットフリップフロップ４１ｂは、電源投入時に、電源投入検出信号ＺＰＯＲによりリセットされ、イネーブル信号ＥＮ［２：０］をＬレベルに設定する。ダウン指示信号ＤＷＮがＨレベルに設定されると、このセット／リセットフリップフロップ４１ｂがセットされ、イネーブル信号ＥＮ［２：０］がＨレベルに設定される。
【００３９】
図３４は、図３０に示すカウント回路３７の構成を概略的に示す図である。この図３４において、カウント回路３７は、（Ｎ＋１）段の単位カウンタＣＮＴ０−ＣＮＴＮを含む。これらの単位カウンタＣＮＴ０−ＣＮＴＮから、遅延設定信号（遅延段アドレス信号）Ａ［０］−Ａ［Ｎ］が生成される。この単位カウンタＣＮＴ０−ＣＮＴＮに対しアップ指示信号ＵＰおよびダウン指示信号ＷＤＮが与えられる。これらの単位カウンタＣＮＴ０−ＣＮＴＮそれぞれに対し、イネーブル信号ＥＮ［０］−ＥＮ［Ｎ］が与えられる。単位カウンタＣＮＴ０−ＣＮＴＮは、それぞれ対応のイネーブル信号ＥＮ［０］−ＥＮ［Ｎ］がＨレベルに設定されたときにカウント動作を実行する。
【００４０】
したがって、電源投入後、ダウン指示信号ＤＷＮが活性化されるまで、イネーブル信号ＥＮ［２：０］がＬレベルであるため、単位カウンタＣＮＴ０−ＣＮＴ２はカウント動作を行なわず、遅延段アドレス信号Ａ［０］−Ａ［２］はＬ初期値に維持される。単位カウンタＣＮＴ３−ＣＮＴＮがアップ指示信号ＵＰに従ってカウント動作を行ない、そのカウント値を増分する。
【００４１】
遅延段アドレス信号ビットＡ［０：Ｎ］により、図３０に示す可変遅延線３２および３３の遅延量が設定される。カウント動作においては、単位カウンタＣＮＴ３より上位の単位カウンタによりカウント動作が行われる。カウントビットＡ［３］より上位のカウントビット（遅延段アドレス信号）が変化する。従って、遅延段アドレス信号Ａ「Ｎ：０」は可変遅延回路の遅延量を２進値で表示しており、遅延量の変更は、８Δｔを単位として実行される。ここで、可変遅延線３２および３３の構成は後に説明するが、これらのカウントビットＡ［０］−Ａ［Ｎ］の重みに応じた遅延量を有する遅延段が縦続接続され、これらのカウントビットＡ［０］−Ａ［Ｎ］の値により、対応の遅延段のバイパスが選択的に行われ、可変遅延線の遅延量が設定される。
【００４２】
したがって、フィードバッククロック信号ＦＢＣＬＫが、バッファクロック信号ＢＵＦＣＬＫの立上がりエッジにおいてＨレベルに設定されて、アップ指示信号ＵＰがＨレベルに設定されたときには、カウントビットＡ［３：Ｎ］によりカウント動作が行なわれ、８Δｔを単位として遅延量が増分される。ダウン指示信号ＤＷＮがＨレベルに設定されると、イネーブル信号ＥＮ［２：０］がＨレベルに設定され、カウント回路３７のカウントビットＡ［０］−Ａ［Ｎ］を用いて、カウント動作が行なわれる。したがって、この場合には、可変遅延線３２および３３の遅延量はΔｔを単位として変更される。
【００４３】
バッファクロック信号ＢＵＦＣＬＫとフィードバッククロック信号ＦＢＣＬＫの位相が接近した場合、位相検出器３５の出力信号がメタステーブル（準安定）状態となる可能性がある。位相検出器３５の出力信号が準安定状態となると、カウント回路３７のカウントビットＡ［Ｎ：０］も準安定状態となり、可変遅延線３２および３３において用いられる遅延段数が不定状態となる。したがって、内部クロック信号ＣＬＫＰおよびＣＬＫＮも不定状態となり、データ出力タイミングと外部クロック信号ＣＬＫとの同期がとれなくなる可能性がある。
【００４４】
図３５は、従来のＤＬＬ回路のさらに他の構成を示す図である。この図３５に示すＤＬＬ回路９００においては、位相検出器３５の出力信号が準安定状態となる影響が、可変遅延線３２および３３において用いられる遅延段数に及ぶ確率を低減するために、位相検出器３５の出力信号をシフト回路４２を介してカウント回路３７へ伝達する。このシフト回路４２を通して位相検出器３５の出力信号をカウント回路３７へ伝達することにより、バッファクロック信号ＢＵＦＣＬＫの立上がりでフィードバッククロック信号ＦＢＣＬＫが初めてＬレベルとなり、その後、実際に遅延が減少するまでに、このシフト回路４２によるタイムラグが存在する。このタイムラグの期間、シフト回路４２の段数をＭ段とした場合、Ｍ×（８Δｔ）だけ遅延量が誤って増加する。たとえば、バッファクロック信号ＢＵＦＣＬＫの立上がりエッジでフィードバッククロック信号ＦＢＣＬＫが初めてＬレベルとなった直後の１サイクル当りの可変遅延量をΔｔ、シフト回路４２のシフト段数を３段とした場合、この過剰な遅延量増加の補償のために、２４サイクルが必要となる。
【００４５】
このようなタイムラグによる過剰な制御を防止するために、カウント制御回路４１において、この遅延量の過剰な増加を補償するための機能が設けられる。
【００４６】
図３６は、カウント制御回路４１の構成の一例を示す図である。図３６において、カウント制御回路４１は、ダウン指示信号ＤＷＮを受けるインバータ４１ｃと、イネーブル信号ＥＮとインバータ４１ｃの出力信号を受けるＮＯＲ回路４１ｄと、バッファクロック信号ＢＵＦＣＬＫとＮＯＲ回路４１ｄの出力信号を受けるＡＮＤ回路４１ｅと、入力ＩＮに与えられる信号がＨレベルのときに内部転送動作を行ない、入力ＩＮに与えられる信号がＬレベルのときに、内部信号を出力ＯＵＴに出力するシフタ４１ｆと、シフタ４１ｆの出力信号を入力ＩＮに受けるシフタ４１ｇと、シフタ４１ｆおよび４１ｇの出力信号を受けてイネーブル信号ＥＮ［２：０］を生成するＡＮＤ回路４１ｈを含む。
【００４７】
このＡＮＤ回路４１ｈは、１ビットの信号を出力し、イネーブル信号ＥＮ［２：０］が共通に制御される。シフタ４１ｆおよび４１ｇのリセット入力ＲＳＴに対しては、リセット信号ＲＥＳＥＴが与えられる。このリセット信号ＲＥＳＥＴは、パワーオンリセット時またはシステムリセット時にＨレベルに設定される。
【００４８】
図３７は、図３６に示すシフタ４１ｆおよび４１ｇの構成の一例を示す図である。これらのシフタ４１ｆおよび４１ｇは、同一構成を有するため、図３７においては１つのシフタの構成を代表的に示す。
【００４９】
図３７において、シフタ４１ｆおよび４１ｇの各々は、リセット入力ＲＳＴに与えられるリセット信号に従って内部ノードＦ０を接地電圧レベルにリセットするリセット用トランジスタＴＲ０と、内部ノードＦ０の信号を反転するインバータＩＶ０と、入力ＩＮに与えられる信号がＬレベルのときに活性化されインバータＩＶ０の出力信号を伝達するトライステートバッファＴＢ０と、トライステートバッファＴＢ０の出力信号を反転しかつラッチするインバータラッチＬＴ０と、入力ＩＮに与えられる信号がＨレベルのときに活性化され、ラッチＬＴ０のラッチ信号を反転して伝達するトライステートバッファＴＢ１と、トライステートバッファＴＢ１の出力信号をラッチするインバータラッチＬＴ１と、入力ＩＮに与えられる信号がＬレベルのときに活性化され、ラッチＬＴ１のラッチ信号を反転して出力ノードＯＵＴに伝達するトライステートバッファＴＢ２と、トライステートバッファＴＢ２の出力信号をラッチするインバータラッチＬＴ３を含む。
【００５０】
入力ＩＮへ与えられる信号は、内部のインバータにより反転され、トライステートバッファＴＢ０−ＴＢ２へ、入力ＩＮおよびＺＩＮの相補信号が制御信号として与えられる。
【００５１】
図３８は、図３６および図３７に示すカウント制御回路４１の動作を示すタイミング図である。以下、図３８を参照して、図３６および図３７に示すカウント制御回路の動作について説明する。
【００５２】
初期状態においては、リセット入力ＲＳＴに与えられるリセット信号ＲＥＳＥＴにより、シフタ４１ｆおよび４１ｇがリセットされ、内部ノードＦ０はＬレベルに設定される。ダウン指示信号ＤＷＮは、Ｌレベルであるため、インバータ４１ｃの出力信号がＨレベルであり、応じてＮＯＲ回路４１ｄの出力信号はＬレベルである。ＡＮＤ回路４１ｅの出力信号はＬレベルであり、シフタ４１ｆにおいては、出力段のトライステートバッファＴＢ２が活性状態にあり、Ｌレベルの信号を出力する。同様、シフタ４１ｇにおいても、その出力信号Ｆ００２は、Ｌレベルである。この状態において、イネーブル信号ＥＮ［２：０］はＬレベルである。
【００５３】
シフト回路４２のシフト動作により、ダウン指示信号ＤＷＮがＬレベルの間は、バッファクロック信号ＢＵＦＣＬＫが発生されても、ＡＮＤ回路４１ｅの出力信号はＬレベルであり、シフタ４１ｆおよび４１ｇにおいては、トライステートバッファＴＢ１が出力ハイインピーダンス状態であり、内部での転送動作は行なわれず、イネーブル信号ＥＮ［２：０］はすべてＬレベルを維持する。
【００５４】
シフト回路４２のシフト動作により、ダウン指示信号ＤＷＮがＨレベルに立上がると、インバータ４１ｃの出力信号がＬレベルとなる。応じて、ＮＯＲ回路４１ｄの出力信号がＨレベルとなる。バッファクロック信号ＢＵＦＣＬＫがＨレベルに立上がると、ＡＮＤ回路４１ｅの出力信号がＨレベルとなり、シフタ４１ｆにおいてトライステートバッファＴＢ１が活性化され、ラッチＬＴ０によりラッチされていたＬレベルの信号が、ラッチＬＴ１に転送される。この状態においては、トライステートバッファＴＢ２は、出力ハイインピーダンス状態であり、その出力ノードＯＵＴからの信号Ｆ００１はＬレベルを維持する。
【００５５】
バッファクロック信号ＢＵＦＣＬＫがＬレベルに立下がると、トライステートバッファＴＢ１が出力ハイインピーダンス状態となり、一方、トライステートバッファＴＢ０およびＴＢ２が活性化され、出力ノードＯＵＴに、ラッチＬＴ１によりラッチされているＨレベルの信号が出力され、シフタ４１ｆの出力信号Ｆ００１がＨレベルとなる。また、インバータＩＶ０により、Ｌレベルの信号がラッチＬＴ０に転送され、ラッチＬＴ０は、その出力信号をＨレベルに維持する。
【００５６】
シフタ４１ｇにおいては、シフタ４１ｆの出力信号がＦ００１がＨレベルに立上がると、内部で転送動作を行ない、ラッチＬＴ１のラッチ信号が、Ｈレベルとなる。
【００５７】
次のサイクルにおいてダウン指示信号ＤＷＮがＨレベルを維持していれば、シフタ４１ｆが、再びバッファクロック信号ＢＵＦＣＬＫの立上がりに応答して内部転送動作を行ない、ラッチＬＴ０によりラッチされていたＨレベルの信号をラッチＬＴ１に転送する。バッファクロック信号ＢＵＦＣＬＫがＬレベルに立下がると、したがってトライステートバッファＴＢ２が活性化され、その出力ノードＯＵＴの出力信号Ｆ００１がＬレベルに立下がる。
【００５８】
シフタ４１ｆの出力信号Ｆ００１がＬレベルに立下がると、シフタ４１ｇにおいて、最終段のトライステートバッファＴＢ２が活性化され、ラッチＬＴ１によりラッチされていたＨレベルの信号が出力ノードＯＵＴに転送され、その出力信号Ｆ００２がＨレベルとなる。シフタ４１ｇの出力信号Ｆ００２がＨレベルとなっても、シフタ４１ｆの出力信号Ｆ００１はＬレベルであり、ＡＮＤ回路４１ｈの出力信号はＬレベルである。したがって、イネーブル信号ＥＮ［２：０］は依然Ｌレベルを維持する。
【００５９】
ダウン指示信号ＤＷＮが、Ｈレベルに設定されている場合、再び、シフタ４１ｆにおいて、バッファクロック信号ＢＵＦＣＬＫの立上がりに応答して転送動作が行なわれ、バッファクロック信号ＢＵＦＣＬＫの立下がりに応答してシフタ４１ｆの出力信号Ｆ００１がＨレベルに立上がる。
【００６０】
シフタ４１ｇにおいては、シフタ４１ｆの出力信号Ｆ００１がＬレベルのときには、内部の転送動作は行なわれておらず、ラッチ状態を維持している。したがって、このシフタ４１ｇの出力信号Ｆ００２はＨレベルを維持する。シフタ４１ｆの出力信号がＨレベルに立上がると、シフタ４１ｇにおいて、トライステートバッファＴＢ１が活性化され、ラッチＬＴ０のラッチ信号がラッチＬＴ１に転送される。しかしながら、この状態においては、トライステートバッファＴＢ２が出力ハイインピーダンス状態となっており、ラッチＬＴ３によりラッチされたＨレベルの信号が出力される。したがって、シフタ４１ｆの出力信号Ｆ００１がＨレベルに立上がると、シフタ４１ｇの出力信号Ｆ００１もＨレベルであり、ＡＮＤ回路４１ｈの出力信号、すなわちイネーブル信号ＥＮ［２：０］がＨレベルとなる。
【００６１】
イネーブル信号ＥＮ［２：０］がＨレベルとなると、ＮＯＲゲート４１ｄの出力信号がＬレベルに固定され、シフタ４１ｆおよび４１ｇでのシフト動作は行われず、以降、イネーブル信号ＥＮ［２：０］は、Ｈレベルに維持される。
【００６２】
したがって、ダウン指示信号ＤＷＮが、３回通算して生成されると、イネーブル信号ＥＮ［２：０］がＨレベルに設定され、カウント回路３７のカウントが、全ビットＡ［Ｎ：０］を用いて実行される。
【００６３】
シフト回路４２が３段のシフタで構成され、このシフト回路４２のシフト動作によるタイムラグにより、３回、遅延量が増加する場合には、合計３回、遅延段数を減少させてから、１サイクル当りの遅延変化量を最小単位のΔｔに設定する。したがって、シフト回路４２がＮ段のシフタで構成される場合には、カウント制御回路４１においてシフタ４１ｆおよび４１ｇとして、シフタが（Ｎ−１）段設けられる。最終段のシフタとその前段のシフタの出力信号に従ってイネーブル信号ＥＮ［２：０］が生成される。
【００６４】
【発明が解決しようとする課題】
シフト回路４２において、Ｍ段のシフタを用い、バッファクロック信号ＢＵＦＣＬＫの立上がりエッジのタイミングで、ＤＬＬ回路のリセット後初めてフィードバッククロック信号ＦＢＣＬＫがＬレベルになるまでの１サイクル当りの遅延変化量をｎΔｔ、また、フィードバッククロック信号ＦＢＣＬＫのＬレベル期間幅をΔＴとすると、この過剰遅延増加量を補償するためには、次式を満たす必要がある。
【００６５】
ΔＴ＞Ｍ・ｎΔｔ
この不等式を満たせば、Ｍ回の過剰遅延増加に対し、Ｍ回遅延量を減少させるため、問題は生じない。しかしながら、プロセスばらつき等により、フィードバッククロック信号ＦＢＣＬＫのセルフタイミングパルス幅ΔＴが短くなり、上述の不等式が成立しなくなっる可能性がある。いま、シフト回路４２のシフタの段数を３段（Ｍ＝３）の場合を考える。
【００６６】
図３９は、シフト回路４２において、３段のシフタが設けられている場合のＤＬＬ回路の構成を概略的に示す図である。図３９に示す位相差検出回路９０４において、位相検出器３５の出力信号ＵＰ０をバッファクロック信号ＢＵＦＣＬＫに同期して転送する３段のシフタ４２ｕａ−４２ｕｃと、位相検出器３５の出力信号ＤＷＮ０をバッファクロック信号ＢＵＦＣＬＫに同期して転送するシフタ４２ｄａ−４２ｄｃが設けられる。シフタ４２ｕｃおよび４２ｄｃの出力信号ＵＰおよびＤＷＮが、それぞれカウント回路３７へアップ指示信号およびダウン指示信号として与えられる。ダウン指示信号ＤＷＮは、またカウント制御回路４１へ与えられる。
【００６７】
これらのシフタ４２ｕａ−４２ｕｃおよび４２ｄａ−４２ｄｃの各々は、バッファクロック信号ＢＵＦＣＬＫと前段回路の出力信号とに応答して与えられた信号を取込み、バッファクロック信号ＢＵＦＣＬＫの立下がりに同期して取込んだ信号を出力する。したがって、シフタ４２ｕｃおよび４２ｄｃの出力する信号ＵＰおよびＤＷＮはバッファクロック信号ＢＵＦＣＬＫの立下がりに同期して変化する。
【００６８】
図４０は、図３９に示すＤＬＬ回路の位相調整動作を示す図である。今、通算３回、遅延段数を減少させる前に、フィードバッククロック信号ＦＢＣＬＫのＬレベル期間が、バッファクロック信号ＢＵＦＣＬＫの立上がりエッジを超えてしまう場合を考える。ここで、フィードバッククロック信号ＦＢＣＬＫのＬレベル期間（セルフタイミング幅）が、Δｌであり、３・８Δｔよりも小さい場合を考える。
【００６９】
クロックサイクル数０においては、シフタ４２ｕａ−４２ｕｃの出力信号ＵＰ０−ＵＰ２およびＵＰがすべてＨレベルである。この状態においては、アップ指示信号ＵＰがＨレベルであり、フィードバッククロック信号ＦＢＣＬＫの遅延量が８Δｔ大きくされ、その位相が遅らされる。
【００７０】
この位相調整動作により、クロックサイクル数１において、バッファクロック信号ＢＵＦＣＬＫの立上がりエッジで、フィードバッククロック信号ＦＢＣＬＫがＬレベルとなる。しかしながら、アップ指示信号ＵＰは、Ｈレベルであるため、再びこのフィードバッククロック信号ＦＢＣＬＫの遅延量が８Δｔ大きくされる。以降、この動作が、クロックサイクル数３まで連続して行なわれる。
【００７１】
したがって、クロックサイクル数４において、フィードバッククロック信号ＦＢＣＬＫが、バッファクロック信号ＢＵＦＣＬＫの立上がりエッジでＨレベルであっても、アップ指示信号ＵＰが初めてＬレベルとなるため、このフィードバッククロック信号ＦＢＣＬＫの遅延量が８Δｔ減分される。
【００７２】
次のクロックサイクルにおいても、アップ指示信号ＵＰはＬレベルであるため、再びフィードバッククロック信号ＦＢＣＬＫの遅延量が８Δｔ小さくされる。クロックサイクル数６においては、フィードバッククロック信号ＦＢＣＬＫが、バッファクロック信号ＢＵＦＣＬＫの立上がりエッジでＬレベルであっても、シフタ４２ｕｃからのアップ指示信号ＵＰがＨレベルであるため、その遅延量が再び大きくされる。この場合、位相検出器３５の出力信号ＵＰ０がＬレベルとなる（信号ＤＷＮ０がＨレベル）。
【００７３】
したがって、クロックサイクル数３から５までは、フィードバッククロック信号ＦＢＣＬＫは、バッファクロック信号ＢＵＦＣＬＫの立上がりエッジでＨレベルであるため、その遅延量が、サイクル６から８まで、３クロックサイクル連続して、大きくされる。
【００７４】
クロックサイクル６において、フィードバッククロック信号ＦＢＣＬＫを遅延すると、フィードバッククロック信号ＦＢＣＬＫの位相がクロックサイクル数５のときの位相と同じ位相関係をバッファクロック信号ＢＦＣＬＫに対して有し、フィードバッククロック信号ＦＢＣＬＫのＬレベル期間を超えて位相調整が行われる。すなわち、Ｌレベル期間を超えて位相調整が行われ、過剰に位相補償が行われている。
【００７５】
クロックサイクル数９において、アップ指示信号ＵＰが、サイクル数６における位相検出器３５の出力信号ＵＰ０に従ってＬレベルとなるため、このサイクルにおいてフィードバッククロック信号ＦＢＣＬＫの位相遅延量が８Δｔ小さくされる。ダウン指示信号ＤＷＮが、合計３回活性化されたため、次のサイクルからの位相調整単位は、Δｔに設定される。
【００７６】
ここで、アップ指示信号ＵＰとダウン指示信号ＤＷＮは相補な信号であり、アップ指示信号ＵＰがＬレベルのときには、ダウン指示信号ＤＷＮはＨレベルである。したがって、この場合、カウント制御回路４１は、クロックサイクル数９における３回目のダウン指示信号（アップ指示信号ＵＰのＬレベル）に従ってイネーブル信号ＥＮ［２：０］をすべてＨレベルに設定するため、クロックサイクル数１０の１サイクル当りの遅延変化量が最小単位のΔｔに変化する。
【００７７】
クロックサイクル数７からは、フィードバッククロック信号ＦＢＣＬＫは、バッファクロック信号ＢＵＦＣＬＫの立上がりエッジでＨレベルであるため、クロックサイクル７から、位相検出器３５の出力する信号ＵＰ０はＨレベルである。応じて、クロックサイクル数１０から再びシフタ４２ｕｃの出力するアップ指示信号ＵＰがＨレベルとなる。
【００７８】
クロックサイクル数１０においては、クロックサイクル数７の位相検出結果に従ってさらにその遅延量を大きくする必要がある。したがって、以降、バッファクロック信号ＢＵＦＣＬＫの立上りエッジにおいてフィードバッククロック信号ＦＢＣＬＫがＨレベルであるため、バッファクロック信号ＢＵＦＣＬＫの次の立上がりエッジまで、このフィードバッククロック信号ＦＢＣＬＫの立上がりエッジを遅延させて、バッファクロック信号ＢＵＦＣＬＫとフィードバッククロック信号ＦＢＣＬＫの立上りエッジを位相同期させる処理が行なわれる。
【００７９】
フィードバッククロック信号ＦＢＣＬＫのＬレベル期間とＨレベル期間の和は、バッファクロック信号ＢＵＦＣＬＫの周期ＴＣＫと同じである。したがって、このクロックサイクル数１０からの遅延調整動作時においては、最小単位の遅延量Δｔで、次のバッファクロック信号ＢＵＦＣＬＫの立上がりエッジまで遅延量を増加させる必要がある。
【００８０】
以上のように、プロセスのばらつき等により、上述のセルフタイミングパルス信号のＬレベル期間が短くなり、シフト段数と遅延変化量の積よりも小さくなった場合、このシフト段におけるタイムラグに起因する遅延量の増加を補償することができなくなり、フィードバッククロック信号ＦＢＣＬＫがバッファクロック信号ＢＦＣＬＫにロックするまでに必要なサイクル数が大幅に増加するという問題が生じる。
【００８１】
それゆえ、この発明の目的は、プロセスばらつき等が発生しても、外部クロック信号と高速で内部クロック信号の位相を同期させることのできるクロック発生回路を提供することである。
【００８２】
この発明の他の目的は、プロセスばらつき等が生じても、ロックまでに要するクロックサイクル数の増大を抑制することのできるＤＬＬ回路を提供することである。
【００８３】
【課題を解決するための手段】
この発明の第１の観点に係るクロック発生回路は、外部クロック信号に従って内部クロック信号を生成する内部クロック生成回路と、内部クロック信号と外部クロック信号との位相差を検出する位相差検出回路と、位相差検出回路の出力信号に従って内部クロック信号と外部クロック信号との位相関係が所定の状態となると所定の状態を予め定められた数のクロックサイクルの間連続して維持し、この予め定められた数に到達するとこの維持状態を解除する位相関係調整回路と、この位相関係調整回路の出力信号に従って内部クロック信号の位相を調整する位相調整回路と、この位相調整回路の所定状態の維持状態が予め定められた数に到達するまで位相調整回路の位相調整単位を第１の遅延量に設定し、かつ予め定められた回数に到達すると第１の遅延量よりも小さい第２の遅延量に設定する遅延制御回路を含む。
【００８４】
好ましくは、位相関係調整回路は、位相差検出回路の出力信号を所定数のクロックサイクル遅延する遅延回路と、この遅延回路の出力信号が所定状態を示すときにその出力信号を強制的に所定状態を示す状態に設定する強制設定回路と、この強制設定を予め定められた数のクロックサイクルの経過に応答して解除する解除回路とを含む。
【００８５】
好ましくは、所定数と予め定められた数とは等しい。
好ましくは、位相調整回路は、位相関係調整回路の出力信号の所定状態指示をカウントし、この内部クロック生成回路の遅延量を設定するカウント値を生成するカウンタを含む。遅延制御回路は、この位相関係調整回路の出力信号が所定状態が解除されるまで、カウンタのカウント単位を第１の遅延量に対応する値に設定する。
【００８６】
好ましくは、内部クロック発生回路は、カウンタのカウント値により外部クロック信号を遅延する遅延量が設定される可変遅延回路で構成される。
【００８７】
この発明の第２の観点に係るクロック発生回路は、外部クロック信号に従って内部クロック信号を生成する内部クロック生成回路と、内部クロック信号と外部クロック信号との位相差を検出する位相差検出回路と、位相差検出回路の出力信号に従って内部クロック信号と外部クロック信号との位相差を調整する位相調整回路と、この位相差検出回路の出力信号に従って、位相調整回路の位相調整単位を調整する遅延制御回路を含む。この遅延制御回路は、位相差検出回路の出力信号の所定の状態に応答して所定サイクル期間位相調整単位を第１の値から第２の値へ増大させかつ所定サイクル経過後第１の値よりも小さな最小値に設定する。
【００８８】
好ましくは、内部クロック生成回路は、外部クロック信号を遅延して内部クロック信号を生成し、位相調整回路は、位相差検出回路の出力信号の所定状態指示をカウントし、内部クロック生成回路の遅延量を設定するカウント値を生成するカウンタを含む。遅延制御回路は、位相差検出回路の所定状態の出力信号に従って所定サイクル期間カウンタの所定のカウントビットを固定状態とし、かつ所定サイクル期間経過後に、このカウンタのカウントビットをすべて有効としてカウント動作を行なわせる。
【００８９】
所定サイクル期間は、好ましくは１クロックサイクル期間である。
また、これに代えて、好ましくは、内部クロック生成回路は、外部クロック信号を遅延して内部クロック信号を生成する可変遅延回路を含み、遅延制御回路は、無効状態に初期設定される第１のビットが無効状態のとき、所定状態の出力信号を所定サイクル期間遅延して第１のビットを生成する遅延初期化回路と、位相差検出回路の所定状態の出力信号に従ってセットされて第１のビットよりも上位の第２のビットを無効状態に設定し、かつ遅延初期化回路の出力信号に従って第２のビットを有効とする遅延更新回路とを含む。有効状態のビットにより、内部クロック生成回路の遅延変化量が設定される。
【００９０】
好ましくは、位相差検出回路は、内部クロック信号と外部クロック信号の位相差を検出する位相検出器と、この位相検出器の出力信号を所定時間遅延するシフト回路とを含む。このシフト回路により、位相差検出回路の出力信号が生成される。
【００９１】
この発明の第３の観点に係るクロック発生回路は、外部クロック信号に従って内部クロック信号を生成する内部クロック生成回路と、内部クロック信号と外部クロック信号との位相差を検出する位相差検出回路と、位相差検出回路の出力信号に従って内部クロック信号と外部クロック信号との位相差を調整する位相調整回路と、位相差検出回路の出力信号に従って位相調整回路の位相調整単位を調整する遅延制御回路を含む。この遅延制御回路は、初期状態において位相調整単位を最小値よりも大きな第１の値に設定しかつ位相差検出回路の出力信号の所定状態解除に応答して位相調整単位を最小値に設定する。
【００９２】
好ましくは、位相差検出回路は、外部クロック信号と内部クロック信号との位相差を検出する位相検出器と、この位相検出器の出力信号を所定クロックサイクル期間遅延して位相調整回路へ出力するシフト回路とを含む。
【００９３】
好ましくは、位相調整回路は、位相差検出回路の出力信号の所定状態指示をカウントし、内部クロック生成回路の遅延量を設定するカウント値を生成するカウンタとを含む。内部クロック生成回路は、カウンタのカウント値により遅延時間が設定される可変遅延線を含む。この遅延制御回路は、好ましくは、初期化時カウンタの所定のビットを固定状態としかつ位相調整回路の出力信号の所定状態の完了に応答して所定のビットを有効状態としかつ該有効状態を維持する。カウンタは、所定のビットの固定状態のときそのビットについてカウント動作が禁止される。
【００９４】
好ましくは、内部クロック発生回路は、内部クロック信号のエッジに応答してワンショットのパルス信号を生成して位相差検出回路へ印加するパルス発生回路を含む。
【００９５】
位相調整回路が所定状態のときに、この所定状態を連続して所定クロックサイクル数維持し、その間位相調整単位を大きくすることにより、確実に、過剰に遅延調整された遅延量を補償することができる。
【００９６】
また、この位相差検出回路において所定の状態が検出されたときに位相調整単位を増大させることにより、所定状態時においてのみ遅延変化量を大きくすることができ、反対方向に過剰に遅延量調整が行なわれた遅延量を確実に補償することができる。
【００９７】
また、内部クロック信号と外部クロック信号の位相の所定の状態に応答して、位相調整単位を増大し、かつその所定状態解除に応答して位相調整単位を最小値に設定することにより、確実に、過剰に行なわれた遅延量変化を補償した後に、最小遅延量調整単位で遅延量調整を行なうことができ、高速で外部クロック信号と内部クロック信号の位相を同期させることができ、パラメータなどがばらついても、確実に、電源投入後、高速で内部クロック信号を外部クロック信号にロックさせることができる。
【００９８】
【発明の実施の形態】
［実施の形態１］
図１は、この発明に従うＤＬＬ回路を内蔵する半導体記憶装置の全体の構成を概略的に示す図である。半導体記憶装置１は、外部からのアドレス信号ビットＡ０−Ａ１１とバンクアドレス信号ビットＢＡ０およびＢＡ１とを受けて内部アドレス信号ビットＩＮＴＡ０−ＩＮＴＡ１１、ＩＮＴＢＡ０およびＩＮＴＢＡ１を発生するアドレスバッファ４と、相補外部クロック信号ＣＬＫおよびＺＣＬＫとクロックイネーブル信号ＣＫＥとを受けて内部クロック信号ＩＣＬＫを発生するクロック入力バッファ２と、内部クロック信号ＩＣＬＫに基づいてチップセレクト信号／ＣＳ、ロウアドレスストローブ信号／ＲＡＳ、コラムアドレスストローブ信号／ＣＡＳ、ライトイネーブル信号／ＷＥおよび入出力データマスク信号ＵＤＭおよびＬＤＭを内部に取込むコントロール入力バッファ６と、内部クロック信号ＩＣＬＫ、内部アドレス信号ビットＩＮＴＡ０−ＩＮＴＡ１１、ＩＮＴＢＡ０およびＩＮＴＢＡ１と、コントロール入力バッファ６の出力信号とを受けてこの半導体記憶装置全体の動作制御を行なうコントロール回路８と、コントロール入力バッファ６の出力信号に応じて、この半導体記憶装置の動作モードを示すデータをコントロール回路８の指示により保持するモードレジスタ１０とを含む。
【００９９】
アドレスバッファおよびコントロール入力バッファ６は、内部クロック信号ＩＣＬＫに同期して与えられた信号を取込み内部信号を生成する。入出力データマスク信号ＵＤＭおよびＬＤＭは、それぞれ上位バイトデータおよび下位バイトデータのデータの書込／読出にマスクをかけるかどうかをそれぞれ指示する。
【０１００】
コントロール回路８は、内部クロック信号ＩＣＬＫに同期して、コントロール入力バッファ６から与えられた内部制御信号に基づいて指定された動作を決定し、この決定された動作モードに従って必要な内部動作制御信号を生成する。チップセレクト信号／ＣＳが、この内部クロック信号ＩＣＬＫの立上がり時においてＬレベルであれば、この半導体記憶装置１が選択状態とされ、外部からの動作モード指示が有効と判定されて指定された動作が実行される。動作モードは、ロウアドレスストローブ信号／ＲＡＳ、コラムアドレスストローブ信号／ＣＡＳおよびライトイネーブル信号／ＷＥと所定のアドレス信号ビットの内部クロック信号ＩＣＬＫの立上がりエッジにおける論理状態の組合せにより指定される。
【０１０１】
モードレジスタ１０は、この半導体記憶装置１におけるコラムレイテンシ、およびバースト長などのデータを保持する。
【０１０２】
半導体記憶装置１は、さらに、外部のデータバスとデータビットＤＱ０−ＤＱ１５の授受を行なうＤＱバッファ１４と、データを記憶するメモリアレイ１２ａ−１２ｄを含む。これらのメモリアレイ１２ａ−１２ｄは、それぞれバンク♯０−♯３を構成し、互いに独立に選択状態へ駆動することができる。バンクアドレス信号ＢＡ０およびＢＡ１により、１つのバンクが指定され、指定されたバンクに対して、外部からの制御信号／ＲＡＳ、／ＣＡＳおよび／ＷＥにより構成されるコマンドにより指定される動作モードが実行される。
【０１０３】
半導体記憶装置１は、さらに、クロック入力バッファ２からのバッファクロック信号ＢＵＦＣＬＫおよびＺＢＵＦＣＬＫを受けてデータ出力用内部クロック信号ＣＬＫＰおよびＣＬＫＮを生成するＤＬＬ回路１６と、バス分離制御信号／ＱＦＣおよびデータストローブ信号ＱＳを入出力するＱＦＣ／ＱＳバッファ１８を含む。バス分離コントロール信号／ＱＦＣは、この半導体記憶装置１に対しデータの書込／読出のアクセスが行なわれる場合、外部データバスと他の装置とを分離するための制御信号として用いることができる信号である。この半導体記憶装置が接続される外部データバスに接続される他の装置が外部データバスを使用する場合、バス分離制御信号／ＱＦＣにより、この半導体記憶装置１が出力ハイインピーダンス状態となり、外部バスから分離される。
【０１０４】
データストローブ信号ＬＤＱＳおよびＵＢＱＳは、それぞれ下位バイトデータＤＱ０−ＤＱ７および上位バイトデータＤＱ８−ＤＱ１５のストローブタイミングを決定する。データ書込が、この半導体記憶装置１に対して行なわれる場合には、外部のコントローラから、外部クロック信号に同期してこれらのデータストローブ信号ＬＤＱＳおよびＵＤＱＳが与えられ、ＤＱバッファ１４は、ＱＦＣ／ＱＳバッファ１８から与えられるストローブ信号に従って外部データＤＱ０−ＤＱ１５の取込を行なう。
【０１０５】
この半導体記憶装置１がデータを出力する場合には、ＱＦＣ／ＱＳバッファ１８は、ＤＱバッファ１４におけるデータ出力タイミングに合せて、これらのデータストローブ信号ＬＤＱＳおよびＵＤＱＳを変化させる。外部のコントローラは、この半導体記憶装置１から転送されるデータＤＱ０−ＤＱ１５を、データストローブ信号ＬＤＱＳおよびＵＤＱＳに同期して取込む。
【０１０６】
この図１に示す半導体記憶装置１において、ＤＬＬ回路１６には、外部クロック信号ＣＬＫおよびＺＣＬＫに同期したバッファクロック信号ＢＵＦＣＬＫおよびＺＢＵＦＣＬＫが与えられる。このＤＬＬ回路１６は、その構成は後に詳細に説明するが、セルフタイミングパルス発生回路を含み、電源投入後またはシステムリセット後において、このセルフタイミングパルスのＬレベル期間を超えて位相調整が過剰に行なわれた場合、この過剰な位相調整を補償する機能を有する。
【０１０７】
図２は、図１に示すＤＬＬ回路１６の構成を概略的に示す図である。図２において、ＤＬＬ回路１６は、バッファクロック信号ＢＵＦＣＬＫおよびＺＢＵＦＣＬＫに従ってデータ出力用の内部クロック信号ＣＬＫＰおよびＣＬＫＮを生成する内部クロック生成回路９０２と、内部クロック信号ＣＬＫＰに従ってフィードバッククロック信号ＦＢＣＬＫを生成し、このフィードバッククロック信号ＦＢＣＬＫとバッファクロック信号ＢＵＦＣＬＫの位相差を比較し、比較結果に従って遅延段アドレス信号Ａ［Ｎ：０］を出力する位相比較器３８を含む。
【０１０８】
内部クロック生成回路９０２は、位相比較器３８からの遅延段アドレス信号Ａ［Ｎ：０］に従ってその遅延量が設定され、バッファクロック信号ＢＵＦＣＬＫを遅延する可変遅延線３２と、可変遅延線３２の出力クロック信号ＣＬＫＰＦの立上がりに応答してワンショットのパルス信号を生成してデータ出力用クロック信号ＣＬＫＰを生成するセルフタイミングパルス発生回路３９と、位相比較器３８の出力する遅延段アドレス信号Ａ［Ｎ：０］に従ってその遅延量が設定され、バッファクロック信号ＺＢＵＦＣＬＫを遅延する可変遅延線３３と、可変遅延線３３の出力クロック信号の立上がりに応答してワンショットのパルス信号を生成して、データ出力用内部クロック信号ＣＬＫＮを生成するセルフタイミングパルス発生回路４０を含む。
【０１０９】
バッファクロック信号ＢＵＦＣＬＫおよびＺＢＵＦＣＬＫは、クロック入力バッファ２において、例えば、外部クロック信号ＣＬＫおよびＺＣＬＫの交差部を検出して生成される。
【０１１０】
位相比較器３８は、内部クロック信号ＣＬＫＰとバッファクロック信号ＢＵＦＣＬＫの位相差を検出する位相差検出回路９０４と、位相差検出回路９０４の出力信号ＵＰ３およびＤＷＮ３に従ってアップ指示信号ＵＰおよびダウン指示信号ＤＷＮを生成する遅延制御回路２０と、この遅延制御回路２０の出力信号ＵＰおよびＤＷＮに従って、遅延段アドレス信号Ａ［Ｎ：０］を生成する位相制御回路９０６を含む。
【０１１１】
位相差検出回路９０４は、内部クロック信号ＣＬＫＰを遅延してフィードバッククロック信号ＦＢＣＬＫを生成するレプリカバッファ３４と、レプリカバッファ３４からのフィードバッククロック信号ＦＢＣＬＫとバッファクロック信号ＢＵＦＣＬＫの位相差を検出する位相検出器３５と、位相検出器３５の出力信号ＵＰ０およびＤＷＮ０をバッファクロック信号ＢＵＦＣＬＫに従って転送するシフト回路４２を含む。
【０１１２】
レプリカバッファ３４は、図１に示すＤＱバッファ１４におけるデータ出力遅延時間を補償するために、内部クロック信号ＣＬＫＰを、ＤＱバッファ１４における遅延時間と同じ時間遅延して、フィードバッククロック信号ＦＢＣＬＫを生成する。
【０１１３】
位相検出器３５は、このフィードバッククロック信号ＦＢＣＬＫとバッファクロック信号ＢＵＦＣＬＫの位相差に応じて位相差検出信号ＵＰ０およびＤＷＮ０を生成する。
【０１１４】
シフト回路４２は、位相検出器３５の位相差検出信号ＵＰ０をバッファクロック信号ＢＵＦＣＬＫに従って転送するシフタ４２ｕａ−４２ｕｃと、位相検出器３５の出力信号ＷＤＮ０をバッファクロック信号ＢＵＦＣＬＫにしたがって転送するシフタ４２ｄａ−４２ｄｃを含む。このシフト回路４２は、本実施の形態１において、３段のシフタを含む。したがって、位相検出器３５の出力信号ＵＰ０およびＤＷＮ０は、３クロックサイクル期間遅延された後に、遅延制御回路２０へ与えられる。
【０１１５】
遅延制御回路２０は、このシフト回路４２の出力信号ＤＷＮ３が、活性化されると、連続する３クロックサイクル期間ダウン指示信号ＤＷＮをＨレベルに設定して、内部クロック信号ＣＬＫＰの遅延量減少を指示する。
【０１１６】
位相制御回路９０６は、この遅延制御回路２０の出力信号ＵＰおよびＤＷＮに従って双方向にカウント動作を行なうカウント回路３７と、遅延制御回路２０の出力するダウン指示信号ＤＷＮに従ってカウント回路３７のカウント動作を制御するカウント制御回路４１を含む。
【０１１７】
カウント制御回路４１は、電源投入後またはシステムリセット後、ダウン指示信号ＤＷＮがＨレベルの間、カウント回路３７の下位のカウントビットを制御するイネーブル信号ＥＮ［０：２］をＬレベルに設定し、その後、イネーブル信号ＥＮ［０：２］をＨレベルに設定する。残りのイネーブル信号ＥＮ［３：Ｎ］は、電源投入によりＨレベルに固定される。
【０１１８】
カウント回路３７は、イネーブル信号ＥＮ［０：Ｎ］に従って、各ビットの状態が設定される。すなわち、イネーブル信号ＥＮ［ｉ］がＬレベルのときには、カウント回路３７において遅延アドレス信号ビットＡ［ｉ］が固定され、このビットについてはカウントがされない。従って、カウント回路３７は、初期時においては、カウントビットＡ［３：Ｎ］を用いてカウント動作を行い、カウントビットＡ［０：２］は、その状態が初期状態に固定される。従って、カウント回路３７においては、カウント動作が、ビットＡ［３：Ｎ］にしたがって行われるため、内部クロック信号ＣＬＫＰおよびＣＬＫＮは、このカウント時の最下位ビットＡ［３］が規定する遅延量を単位として位相が調整される。
【０１１９】
図３は、図２に示す可変遅延線３２および３３の構成の一例を示す図である。これらの可変遅延線３２および３３は、同一構成を有するため、図３において、１つの可変遅延線３２の構成を示し、可変遅延線３３については、括弧内にその信号を示す。
【０１２０】
図３において、可変遅延線３２は、（Ｎ＋１）段の遅延段ＤＳ０−ＤＳＮと、遅延段ＤＳ０−ＤＳＮのそれぞれの入力に設けられ、導通時入力ノードＮＩに前段の遅延段の出力ノードＮＯ０−ＮＯＮ−１を対応の入力ノードＮＩ０−ＮＩＮに接続するＮチャネルＭＯＳトランジスタＴＮ０−ＴＮＮと、遅延段ＤＳ０−ＤＳＮそれぞれに対応して設けられ、導通時対応の遅延段ＤＳ０−ＤＳＮをバイパスするＰチャネルＭＯＳトランジスタＴＰ０−ＴＰＮを含む。
【０１２１】
ＭＯＳトランジスタＴＮ０−ＴＮＮへは、カウント回路３７からの遅延段アドレス信号ビットＡ［０］−Ａ［Ｎ］が与えられ、また、ＭＯＳトランジスタＴＰ０−ＴＰＮのゲートへも、同様遅延段アドレス信号Ａ［０］−Ａ［Ｎ］が与えられる。
【０１２２】
この可変遅延線３２において、遅延段ＤＳ０−ＤＳＮは、それぞれ偶数段の縦続接続されるインバータで構成される。遅延段ＤＳｊは、遅延時間（２＾（ｊ＋１））Δｉｖを有する。ここで、Δｉｖは、インバータ１段の遅延時間を示す。また、符号＾は、べき乗を示す。
【０１２３】
したがって、この可変遅延線３２において、最小遅延量Δｔは、２段のインバータの遅延段時間２Δｉｖで与えられる。遅延段アドレス信号ビットＡ［０：Ｎ］をカウント回路３７のカウント値に従って設定することにより、インバータ１段の遅延時間Δｉｖを重みとして、遅延段アドレス信号Ａ［０：Ｎ］により２進表示された遅延時間を、バッファクロック信号ＢＵＦＣＬＫに対して与えることができる。
【０１２４】
たとえば、アドレス信号ビットＡ［０］が“１”（Ｈレベル）であり、残りのカウントビットＡ［１：Ｎ］が“０”（Ｌレベル）のときには、ＭＯＳトランジスタＴＮ１−ＴＮＮおよびＴＰ０が非導通状態、ＭＯＳトランジスタＴＮ０およびＴＰ１−ＴＰＮが導通状態となる。したがって、この場合、１段の遅延段ＤＳ０により遅延された信号が、出力ノードＮＯＮに伝達される。この場合、出力クロック信号ＣＬＫＰＦまたはＣＬＫＮＦの遅延時間は、Δｔで与えられる。
【０１２５】
図４は、図２に示すセルフタイミングパルス発生回路３９の構成の一例を示す図である。図４において、タイミングパルス発生回路３９は、可変遅延線３２からのクロック信号ＣＬＫＰＦを受ける３段の縦続接続されるインバータ３９ａ−３９ｃと、インバータ３９ｃの出力信号ＰＦＡとクロック信号ＣＬＫＰＦとを受けて内部クロック信号ＣＬＫＰを生成するＮＡＮＤゲート３９を含む。インバータ３９ａ−３９ｃにより、反転遅延回路が形成される。
【０１２６】
図５は、図４に示すセルフタイミングパルス発生回路３９の動作を示すタイミング図である。以下、図５を参照して、図４に示すセルフタイミングパルス発生回路３９の動作について説明する。
【０１２７】
可変遅延線３２の出力クロック信号ＣＬＫＰＦがＨレベルに立上がるとき、インバータ３９ｃの出力信号ＰＦＡはＨレベルにある。応じて、ＮＡＮＤ回路３９ｄから出力されるクロック信号ＣＬＫＰがＬレベルに立上がる。インバータ３９ａ−３９ｃの有する遅延時間が経過すると、インバータ３９ｃの出力信号ＰＦＡがＬレベルとなり、応じてＮＡＮＤゲート３９ｄからの内部クロック信号ＣＬＫＰがＨレベルとなる。
【０１２８】
したがって、このセルフタイミングパルス発生回路３９は、可変遅延線３２からの出力クロック信号ＣＬＫＰＦの立上がりに応答して、インバータ３９ａ−３９ｃの有する遅延時間の間Ｌレベルとなるパルス信号を生成する。
【０１２９】
内部クロック信号ＣＬＫＮを生成するセルフタイミングパルス発生回路４０もこの図４に示すセルフタイミングパルス発生回路３９と同様の構成を有し、可変遅延線３３の出力クロック信号の立上がりに同期して、Ｌレベルとなるワンショットのパルス信号を生成する。
【０１３０】
図６は、図２に示すレプリカバッファ３４の構成の一例を示す図である。図６において、レプリカバッファ３４は、偶数段の縦続接続されるインバータ３４ａ−３４ｄを含む。図６においては、１例として４段のインバータ３４ａ−３４ｄが、レプリカバッファ３４において用いられる。このレプリカバッファ３４は、図１に示すＤＱバッファの内部クロック信号ＣＬＫＰおよびＣＬＫＮの立上がりエッジに対するデータ出力の遅延時間に等しい遅延時間を、フィードバッククロック信号ＦＢＣＬＫに対して与える。ここで、バッファクロック信号ＢＵＦＣＬＫおよびＺＢＵＦＣＬＫは外部クロック信号に対して遅延時間はないものとする。バッファクロック信号ＢＵＦＣＬＫおよびＺＢＵＦＣＬＫを生成するクロック入力バッファ２における遅延時間を考慮する場合には、このレプリカバッファ３４において、クロック入力バッファにおける遅延時間がさらに追加される。
【０１３１】
図７は、図２に示すＤＱバッファ１４に含まれるデータ出力部の構成を概略的に示す図である。図７においては、１ビットのデータを出力する部分の構成を代表的に示す。図７において、ＤＱバッファ１４は、並列に内部読出データＲＤｏおよびＲＤｅを受ける出力バッファ１４ｐおよび１４ｎを含む。出力バッファ１４ｐは、内部クロック信号ＣＬＫＰがＨレベルとなると活性化されてデータ出力ノードを内部読出データＲＤｏに従って駆動する。出力バッファ１４ｎは、内部クロック信号ＣＬＫＮの立上がりに応答して活性化されて、内部読出データＲＤｅに従って出力ノードを駆動する。
【０１３２】
内部読出データＲＤｏおよびＲＤｅは、内部で並列に読出され、出力バッファ１４ｐおよび１４ｎを交互に活性化することにより、外部クロック信号ＣＬＫの立上がりエッジおよび立下がりエッジに同期してデータを転送する。
【０１３３】
図８は、図７に示すＤＱバッファの動作を示すタイミング図である。以下、図８を参照して図７に示すＤＱバッファ１４の動作について簡単に説明する。
【０１３４】
定常状態時においては、フィードバッククロック信号ＦＢＣＬＫの立上がりエッジが、バッファクロック信号ＢＵＦＣＬＫの立上がりエッジに同期している。出力信号ＣＬＫＰが、このフィードバッククロック信号ＦＢＣＬＫよりも位相が進んでおり、この内部クロック信号ＣＬＫＰの立上がりに同期して出力バッファ１４ｐが活性化されて外部へデータを出力する。この場合、レプリカバッファ３４により、出力バッファ１４ｐにおけるデータ伝搬遅延が補償されており、データＤＱは、バッファクロック信号ＢＵＦＣＬＫ、すなわち外部クロック信号ＣＬＫに同期して変化する。
【０１３５】
また、クロック信号ＣＬＫＮは、相補のバッファクロック信号ＺＢＵＦＣＬＫに同期して変化する。したがって、この内部クロック信号ＣＬＫＮは、バッファクロック信号ＢＵＦＣＬＫの立下がりエッジよりも早いタイミングでＨレベルとなり、出力バッファ１４ｎが内部クロック信号ＣＬＫＮに従ってデータの出力を行なう。したがって、これらの出力バッファ１４ｐおよび１４ｎを交互に活性化することにより、バッファクロック信号ＢＵＦＣＬＫすなわち外部クロック信号ＣＬＫの立上がりエッジおよび立下がりエッジに同期してデータを出力することができる。
【０１３６】
なお、このセルフタイミングパルス発生回路からのセルフタイミングパルスＣＬＫＰおよびＣＬＫＮをそのまま出力バッファ１４ｐおよび１４Ｎを活性化するために用いた場合、これらのタイミングパルスＣＬＫＰおよびＣＬＫＮのＨレベル期間が重なる期間が存在する。この場合、出力バッファ１４ｐおよび１４ｎを、それぞれ、内部クロック信号ＣＬＫＰおよびＣＬＫＮの立上がりエッジから所定期間のみ活性状態にする構成が用いられてもよい。またこれに代えて、内部クロック信号ＣＬＫＰと可変遅延線３２の出力クロック信号ＣＬＫＰＦの論理積をとった信号を出力バッファ１４ｐへ与え、また可変遅延線３３の出力クロック信号と内部クロック信号ＣＬＫＮの論理積をとった信号を、出力バッファ１４ｎへ、データ出力制御クロック信号として与えてもよい。
【０１３７】
図９は、図２に示す位相検出器３５の構成の一例を示す図である。図９において、位相検出器３５は、バッファクロック信号ＢＵＦＣＬＫとフィードバッククロック信号ＦＢＣＬＫを受けるＮＡＮＤ型フリップフロップ３５ａと、バッファクロック信号ＢＵＦＣＬＫとフリップフロップ３５ａの出力信号Ｓ２とを受けるＮＡＮＤ型フリップフロップ３５ｂと、フリップフロップ３５ａの出力信号Ｓ１を受けるインバータ３５ｃと、インバータ３５ｃの出力信号とバッファクロック信号ＢＵＦＣＬＫとフリップフロップ３５ｂの出力信号Ｓ３を受けるＮＡＮＤゲート３５ｄと、フリップフロップ３５ｂの出力信号Ｓ３とＮＡＮＤゲート３５ｄの出力信号Ｓ４とを受けてアップ指示信号ＵＰおよびダウン指示信号ＤＷＮを生成するＮＡＮＤ型フリップフロップ３５ｅを含む。
【０１３８】
フリップフロップ３５ａは、バッファクロック信号ＢＵＦＣＬＫがＬレベルのときに出力信号Ｓ１がＨレベルに設定され、フィードバッククロック信号ＦＢＣＬＫがＬレベルのときにその出力信号Ｓ２がＨレベルに設定される。フィードバッククロック信号ＦＢＣＬＫの位相が、バッファクロック信号ＢＵＦＣＬＫよりも進んでいるときに、信号Ｓ２がＬレベルとなり、逆の場合には、信号Ｓ１がＨレベルになる。
【０１３９】
フリップフロップ３５ｂは、バッファクロック信号ＢＵＦＣＬＫがＬレベルのときにその出力信号Ｓ３をＨレベルに設定する。フリップフロップ３５ｅは、フリップフロップ３５ｂの出力信号Ｓ３がＬレベルのときにアップ指示信号ＵＰをＨレベルに設定し、ＮＡＮＤゲート３５ｄの出力信号がＬレベルのときにダウン指示信号ＤＷＮをＨレベルに設定する。
【０１４０】
図１０は、図９に示す位相検出器３５の動作を示すタイミング図である。以下、図１０を参照して図９に示す位相検出器３５の動作について説明する。
【０１４１】
バッファクロック信号ＢＵＦＣＬＫがＬレベルのとき、フリップフロップ３５ａの出力信号Ｓ１はＨレベルである。また、フィードバッククロック信号ＦＢＣＬＫがＬレベルの間、このフリップフロップ３５ａの出力信号Ｓ２もＨレベルである。またフリップフロップ３５ｂの出力信号Ｓ３もバッファクロック信号ＢＵＦＣＬＫがＬレベルの間Ｈレベルである。また、バッファクロック信号ＢＵＦＣＬＫがＬレベルの間、ＮＡＮＤゲート３５ｂの出力信号Ｓ４はＨレベルである。したがって、フリップフロップ３５ｅの出力信号ＵＰおよびＤＷＮは、前のサイクルの状態を維持する。
【０１４２】
フィードバッククロック信号ＦＢＣＬＫが、バッファクロック信号ＢＵＦＣＬＫの立上がりよりも早いタイミングで立上がった場合、フリップフロップ３５ａの出力信号Ｓ２がＬレベルとなる。このときまだ、バッファクロック信号ＢＵＦＣＬＫはＬレベルであるため、信号Ｓ１、Ｓ３およびＳ４はすべてＨレベルを維持する。
【０１４３】
バッファクロック信号ＢＵＦＣＬＫがＨレベルに立上がると、フリップフロップ３５ｂの出力信号Ｓ３がＬレベルに立下がり、応じて、フリップフロップ３５ｅからのアップ指示信号ＵＰがＨレベルに設定される。フリップフロップ３５ａの出力信号Ｓ１はＨレベルであり、インバータ３５ｃの出力信号はＬレベルである。したがって、ＮＡＮＤゲート３５ｄの出力信号Ｓ４はＨレベルであるため、このアップ指示信号ＵＰがＨレベルに設定されると、ダウン指示信号ＤＷＮが、Ｌレベルに設定される。
【０１４４】
バッファクロック信号ＢＵＦＣＬＫがＬレベルに立下がると、再びフリップフロップ３５ｂの出力信号Ｓ３がＨレベルに立上がる。フリップフロップ３５ａにおいては、フィードバッククロック信号ＦＢＣＬＫがＬレベルに立下がると、その出力信号Ｓ２がＨレベルとなる。
【０１４５】
フィードバッククロック信号ＦＢＣＬＫがＬレベルのときに、バッファクロック信号ＢＵＦＣＬＫがＨレベルに立上がった場合、フリップフロップ３５ａにおいて出力信号Ｓ１がＬレベルとなり、インバータ３５ｃの出力信号がＨレベルとなる。フィードバッククロック信号ＦＢＣＬＫがＬレベルであるため、フリップフロップ３５ａの出力信号Ｓ２はＨレベルであり、フリップフロップ３５ｂの出力信号Ｓ３は、このバッファクロック信号ＢＵＦＣＬＫの立上がり時においてもＨレベルである。したがって、ＮＡＮＤゲート３５ｅの出力信号がすべてＨレベルとなり、このＮＡＮＤゲート３５ｄの出力信号Ｓ４がＬレベルとなり、応じてフリップフロップ３５ｅの出力するダウン指示信号ＤＷＮがＨレベルとなる。このダウン指示信号ＤＷＮがＨレベルとなると、フリップフロップ３５ｂの出力信号Ｓ３はＨレベルであるため、アップ指示信号ＵＰはＬレベルとなる。
【０１４６】
したがって、この位相検出器３５において、バッファクロック信号ＢＵＦＣＬＫの立上がりエッジにおいて、フィードバッククロック信号ＦＢＣＬＫがＨレベルであるかＬレベルであるかに応じて、アップ指示信号ＵＰおよびダウン指示信号ＤＷＮの状態を決定する。カウント回路３７は、この位相検出器３５のアップ指示信号ＵＰがＨレベルのときにカウントアップ動作を行ない、ダウン指示信号ＤＷＮがＬレベルのときにカウントダウン動作を行なう。
【０１４７】
図１１は、図２に示すカウント回路３７の構成の一例を示す図である。図１１において、カウント回路３７は、遅延段アドレス信号Ａ［０］−Ａ［Ｎ］を生成する遅延段アドレス信号生成回路ＡＤＧ０−ＡＤＧＮと、遅延段アドレス信号生成回路ＡＤＧ０−ＡＤＧＮ−１に対応して設けられ、対応の遅延段アドレス信号発生回路の遅延段アドレス信号の次段回路への転送を制御する転送制御回路ＣＴＬ１−ＣＴＬＮと、遅延段アドレス信号発生回路ＡＤＧ０のカウント動作を制御するＡＮＤゲートＡＧ０を含む。
【０１４８】
転送制御回路ＣＴＬ１−ＣＴＬＮが、それぞれイネーブル信号信号ビットＥＮ［１］−ＥＮ［Ｎ］に従って選択的に能動化され、能動化時、アップ指示信号ＵＰおよびダウン指示信号ＤＷＮに従って遅延段アドレス信号発生回路ＡＤＧ−ＡＤＧＮにカウントアップまたはカウントダウン動作を行なわせる。
【０１４９】
転送制御回路ＣＴＬ１−ＣＴＬＮの各々は、同一構成を有し、対応のイネーブル信号ビットＥＮ［１］−ＥＮ［Ｎ］がＨレベルのときに、アップ指示信号ＵＰを通過させるＡＮＤゲートＡＧ１と、対応のイネーブル信号ビットＥＮ［１］−ＥＮ［Ｎ］がＨレベルのときにダウン指示信号ＤＷＮを通過させるＡＮＤゲートＡＧ２を含む。
【０１５０】
遅延段アドレス信号生成回路ＡＤＧ０−ＡＤＧＮ−１は同一構成を有し、それぞれ、ＪＫフリップフロップＦＦと、対応の転送制御回路のＡＮＤゲートＡＧ１の出力信号がＨレベルのときにＪＫフリップフロップＦＦの出力Ｑからの信号を伝達するＡＮＤゲートＡＧ３と、対応の転送制御回路のＡＮＤゲートＡＧ２の出力信号がＨレベルのときに対応のＪＫフリップフロップＦＦの出力ＺＱからの信号を通過させるＡＮＤゲートＡＧ４と、ＡＮＤゲートＡＧ３およびＡＧ４の出力信号を受けるＯＲゲートＯＧ０を含む。
【０１５１】
ＪＫフリップフロップＦＦは、その入力ＪおよびＫが相互接続され、クロック入力ＣＰに、カウントパルスＣＰＬを受ける。ＯＲゲートＯＧ０の出力信号は次段の遅延段アドレス信号生成回路のＪＫフリップフロップＦＦの入力ＪおよびＫに与えられる。ＪＫフリップフロップＦＦは、カウントパルスＣＬＰの立下りにおける入力ＪおよびＫの信号に従って、出力状態が決定される。
【０１５２】
ＡＮＤゲートＡＧ０は、電源電圧ＶＤＤとイネーブル信号ビットＥＮ［０］を受け、その出力信号を遅延段アドレス信号生成回路ＡＤＧ０のＪＫフリップフロップＦＦの入力ＪおよびＫへ与える。
【０１５３】
遅延段アドレス信号生成回路ＡＤＧＮは、最終段の回路であり、ＪＫフリップフロップＦＦを含む。このＪＫフリップフロップＦＦの出力ＺＱから、遅延段アドレス信号ビットＡ［Ｎ］が出力される。
【０１５４】
イネーブル信号ビットＥＮ［０］−ＥＮ［Ｎ］がすべてＨレベルのときには、カウント回路３７はカウント動作を実行する。アップ指示信号ＵＰがＨレベルのときには、ＡＮＤゲートＡＧ１の出力信号がＨレベル、ＡＮＤゲートＡＧ２の出力信号はＬレベルである。したがって、遅延段アドレス信号生成回路ＡＤＧ０−ＡＤＧＮ−１においてＡＮＤゲートＡＧ３がイネーブルされ、ＯＲゲートＯＧ０を介して次段へ、対応の遅延段アドレス信号ビットＡ［０］−Ａ［Ｎ−１］が伝達される。ＪＫフリップフロップＦＦは、その入力ＪおよびＫがともにＨレベルのときには、カウントパルスＣＰＬの立下がりに応答してその出力状態を変更する。ＪＫフリップフロップＦＦは、その入力ＡおよびＫがともにＬレベルのときには、出力状態は前のサイクルの状態を維持する。したがって、アップ指示信号ＵＰが与えられたときには、遅延段アドレス信号ビットＡ［０］−Ａ［Ｎ−１］に従って次段のアドレス信号生成回路の出力状態が設定され、１カウントアップするカウント動作が実行される。
【０１５５】
一方、ダウン指示信号ＤＷＮがＨレベルのときには、ＪＫフリップフロップＦＦの出力ＺＱからの信号が、ＡＮＤゲートＡＧ４およびＯＲゲートＯＧ０を介して次段の遅延段アドレス生成回路へ伝達される。したがって、この場合には、補の出力ＺＱからの信号に従って次段の遅延段アドレス信号生成回路の出力状態が設定されるため、１カウントダウンする動作が実行される。遅延段アドレス信号ビットＡ［０］−Ａ［Ｎ］は、ＪＫフリップフロップＦＦの出力Ｑから生成される。したがって、アップ指示信号ＵＰが１回与えられると、可変遅延線においてカウント回路３７が通常動作を行なっている場合には、１段の遅延段ＤＳ０の遅延量を単位として、その遅延量が更新される。
【０１５６】
図２に示すカウント制御回路４１としては、図３６および図３７に示すカウント制御回路の構成が用いられる。すなわち、通算３回ダウン指示信号ＤＷＮが発生されると、イネーブル信号ビットＥＮ［２：０］をＬレベルからＨレベルに設定する。
【０１５７】
図１２は、図２に示す遅延制御回路２０の構成を示す図である。図１２において、遅延制御回路２０は、バッファクロック信号ＢＵＦＣＬＫを所定時間遅延する遅延回路２０ａと、遅延回路２０ａの出力信号ＢＵＦＣＬＫＤと制御信号ＦＩＸＤＷＮとを受けるＮＡＮＤゲート２０ｂと、ＮＡＮＤゲート２０ｂの出力信号を反転するインバータ２０ｃと、図２に示すシフタ４２ｃからの信号ＤＷＮ３の活性化時セットされかつリセット信号ＲＥＳＥＴに応答してリセットされるＮＯＲ型フリップフロップ２０ｉと、フリップフロップ２０ｉの出力信号とインバータ２０ｃの出力信号とを受けるＡＮＤゲート２０ｄと、ＡＮＤゲート２０ｄの出力信号がＨレベルとなると内部転送動作を行なうシフタ２０ｅと、シフタｅの出力信号Ｆ１０１がＨレベルとなると内部転送を行なうシフタ２０ｆと、シフタ２０ｆの出力信号Ｆ１０２がＨレベルとなると内部転送動作を行なうシフタ２０ｇと、ＮＡＮＤゲート２０ｂの出力信号とシフタ２０ｇの出力信号Ｆ１０３とを受けるＮＡＮＤゲート２０ｈと、リセット信号ＲＥＳＥＴとフリップフロップ２０ｉの出力信号を受けるＯＲゲート２０ｊと、ＯＲゲート２０ｊの出力信号の立上がりに応答してワンショットのパルス信号を生成するワンショットパルス発生回路２０ｋを含む。
【０１５８】
シフタ２０ｅ−２０ｇは、先の図３７に示すシフタ４１ｆおよび４１ｇと同じ構成を備え、リセット信号ＲＥＳＥＴの活性化に応答してその出力信号Ｆ１０１−Ｆ１０３がそれぞれＬレベルに初期設定される。
【０１５９】
ワンショットパルス発生回路２０ｋは、３段の縦続接続されるインバータと、ＯＲゲート２０ｊの出力信号と３段のインバータの出力信号とを受けるＮＡＮＤゲートを含む。したがって、このワンショットパルス発生回路２０ｋからは、ＯＲゲート２０ｊの出力信号の立上がりに応答して所定時間Ｌレベルとなるパルス信号が生成される。
【０１６０】
遅延制御回路２０は、さらに、ワンショットパルス発生回路２０ｋの出力パルスに応答してセットされかつＮＡＮＤゲート２０ｈの出力信号に従ってリセットされるＮＡＮＤ型フリップフロップ２０ｌと、フリップフロップ２０ｌの出力信号ＦＩＸＤＷＮを受けるインバータ２０ｍと、図２に示すシフタ４２ｄｃの出力信号ＤＷＮ３とフリップフロップ２０Ｌの出力信号ＦＩＸＤＷＮを受けてダウン指示信号ＤＷＮを生成するＯＲゲート２０ｐと、インバータ２０ｍの出力信号と図２に示すシフタ４２ｕａの出力信号ＵＰ３を受けてアップ指示信号ＵＰを生成するＡＮＤゲート２０ｎを含む。
【０１６１】
フリップフロップ２０ｌは、ワンショットパルス発生回路２０ｋの出力パルスがＬレベルとなるとその出力信号ＦＩＸＤＷＮをＨレベルに設定し、ＮＡＮＤゲート２０ｈの出力信号がＬレベルとなるとその出力信号ＦＩＸＤＷＮをＬレベルにリセットする。
【０１６２】
遅延制御回路２０は、さらに、リセット信号ＲＥＳＥＴに応答してフリップフロップ２０ｉをリセットするＮチャネルＭＯＳトランジスタ２０ｑと、リセット信号ＲＥＳＥＴを受けるインバータ２０ｒと、インバータ２０ｒの出力信号に従ってワンショットパルス発生回路２０ｋの出力信号をＨレベルにリセットするＰチャネルＭＯＳトランジスタ２０ｓと、リセット信号ＲＥＳＥＴに応答してフリップフロップ２０ｌの出力信号ＦＩＸＤＷＮをＬレベルにリセットするＮチャネルＭＯＳトランジスタ２０ｔを含む。
【０１６３】
この遅延制御回路２０においては、シフタ４２ｄｃからの信号ＤＷＮ３がＨレベルとなると、強制的に、連続する３サイクル期間ダウン指示信号ＤＷＮをＨレベルに設定して、遅延量減少動作を行なう。連続的に、３サイクルにおいて遅延減少動作を行なうことにより、過剰に増大された遅延量を補償する。
【０１６４】
図１３は、図３に示す遅延制御回路２０の動作を示すタイミング図である。以下、図１３を参照して、図２から図１２に示すＤＬＬ回路の動作について説明する。
【０１６５】
電源投入後またはシステムリセット後、この半導体記憶装置１に対し、ＤＬＬリセットコマンドが入力されると、図１に示すコントロール回路８の制御の下に、所定期間Ｈレベルとなるワンショットのパルスの形態でリセット信号ＲＥＳＥＴが発生される。このリセット信号ＲＥＳＥＴにより、ＤＬＬ回路１６が初期化され、図２０に示す遅延制御回路２０からのダウン指示信号ＤＷＮがＬレベルに初期化される。
【０１６６】
また、カウント制御回路４１においても、図３６に示すように、リセット信号ＲＥＳＥＴに従って、イネーブル信号ビットＥＮ［２：０］がすべてＬレベルに初期化される。イネーブル信号ビットＥＮ［３］−ＥＮ［Ｎ］はＨレベルに固定される。したがって、図１１に示すカウント回路３７において、初期状態においては、遅延段アドレス信号発生回路ＡＤＧ０−ＡＤＧ２のカウント動作が禁止される（ＯＲゲートＯＧ０の出力信号がＬレベルとなり、またＡＮＤゲートＡＧ０の出力信号がＬレベルとなるため）。可変遅延線３２および３３のデフォルト値の遅延時間により、このカウント回路３７の初期化時のカウント値（遅延段アドレス信号Ａ［０：Ｎ］の初期値）が適当な値に定められる。
【０１６７】
このＤＬＬ回路１６がリセットされた後、位相比較器３８が動作し、位相検出器３５から、相補なアップ指示信号ＵＰ０およびダウン指示信号ＤＷＮ０が生成され、図２に示すシフタ４２ｕａ−４２ｕｃおよび４２ｄａ−４２ｄｃを介して遅延制御回路２０へ与えられる。このシフタにおけるシフトサイクル時においては、イネーブル信号ビットＥＮ［０］−ＥＮ［２］がＬレベルであり、遅延段アドレス信号Ａ［０］−Ａ［２］は更新されず初期値を維持し、遅延段アドレス信号Ａ［３］−Ａ［Ｎ］で表わされる部分だけが更新される。したがって、ＤＬＬ回路１６のリセット後ダウン指示信号ＤＷＮがＨレベルに到達するまでは、その可変遅延線３２および３３においては、遅延段アドレス信号ビットＡ［３］を最下位ビットとして遅延量が変化するため、８Δｔの遅延時間単位で、その遅延時間が変化する。このダウン指示信号ＤＷＮがＨレベルになるまでの可変遅延線３２および３３の遅延変化量は、８Δｔに限定されず、適当な値に定められてもよい。
【０１６８】
シフト動作により、シフタ４２ｄｃからの信号ＤＷＮ３がＨレベルとなると、フリップフロップ２０ｉがセットされ、その出力信号がＨレベルとなる。また、この信号ＤＷＮ３に従ってＯＲゲート２０ｐからのダウン指示信号ＤＷＮがＨレベルとなる。また、ＯＲ回路２０ｊの出力信号の立上がりに応答してワンショットパルス発生回路２０ｋがワンショットのパルスを発生し、フリップフロップ２０ｌがセットされ、その出力信号ＦＩＸＤＷＮがＨレベルに設定される。したがって、このシフタ４２ｄｃからの信号ＤＷＮ３がＨレベルに立上がると、フリップフロップ２０ｉおよび２０ｌがセットされるため、次のサイクルにおける信号ＤＷＮ３の論理レベルにかかわらず、ダウン指示信号ＤＷＮはＨレベルに固定される。
【０１６９】
遅延回路２０ａからの遅延バッファクロック信号ＢＵＦＣＬＫＤがＨレベルに立上がると、インバータ２０ｃの出力信号がＨレベルとなる。このフリップフロップ２０ｉの出力信号がＨレベルに設定されると、遅延バッファクロック信号ＢＵＦＣＬＫＤの立上りに応答してＡＮＤゲート２０ｄの出力信号がＨレベルとなる。ＡＮＤゲート２０ｄの出力信号がＨレベルとなると、シフタ２０ｅが内部転送動作を行ない、遅延バッファクロック信号ＢＵＦＣＬＫＤの立下がりに応答してＡＮＤゲート２０ｄの出力信号はＬレベルとなると、シフト２０ｅにおいて取込んだ内部信号が出力され、この出力信号Ｆ１０１がＨレベルとなる。フリップフロップ２０ｌがセット状態にあり、その出力信号ＦＩＸＤＷＮがＨレベルの間、このシフタ２０ｅがシフト動作を行ない、その出力信号Ｆ１０１は、遅延バッファクロック信号ＢＵＦＣＬＫＤの立下がりに応答して、その論理レベルが変化する。
【０１７０】
シフタ２０ｆは、そのシフタ２０ｅの出力信号がＨレベルのとき内部転送動作を行ない、このシフタ２０ｅの出力信号Ｆ１０１の立下がりに応答して取込んだ内部転送した信号を出力する。したがって、このシフタ２０ｆからは、シフタ２０ｅの出力信号Ｆ１０１の立下がりに応答してその論理レベルが変化する出力信号Ｆ１０２が生成される。
【０１７１】
シフタ２０ｇも同様のシフト動作を行ない、このシフタ２０ｆの出力信号Ｆ１０２がＨレベルからＬレベルになると、その出力信号Ｆ１０３がＨレベルに立上がる。したがって、３クロックサイクル期間、シフタ２０ｅ−２０ｇにおいてシフト動作を行なうことにより、信号ＤＷＮ３がＨレベルに立上がってから、３クロックサイクル期間連続的にダウン指示信号ＤＷＮをバッファクロック信号ＢＵＦＣＬＫの立上がりエッジでＨレベルに設定することができる。
【０１７２】
シフタ２０ｅの出力信号Ｆ１０３がＨレベルとなると、バッファクロック信号ＢＵＦＣＬＫＤの立下がりに応答してＮＡＮＤゲート２０ｅの出力信号がＨレベルとなり、応じてＮＡＮＤゲート２０ｈの出力信号がＬレベルとなる。したがって、フリップフロップ２０ｌがリセットされ、その出力信号ＦＩＸＤＷＮがＬレベルにリセットされ、またダウン指示信号ＤＷＮもＬレベルとなる。以降はシフタからの信号ＤＷＮ３に従ってＯＲゲート２０ｂがダウン指示信号ＤＷＮを生成し、またＡＮＤゲート２０ｐが、シフタからの信号ＵＰ３に従ってアップ指示信号ＵＰを生成する。
【０１７３】
このダウン指示信号ＤＷＮを強制的にＨレベルに３クロックサイクル期間設定している場合、このインバータ２０ｍの出力信号がＬレベルであり、アップ指示信号ＵＰはＬレベルである。
【０１７４】
フリップフロップ２０ｉは、電源投入後において、シフタからの信号ＤＷＮ３が最初にＨレベルに立上がるとセットされその出力信号をＨレベルに立上げる。以降、このフリップフロップ２０ｉはセット状態を維持し、その出力信号はＨレベルに維持される。したがって、最初に、シフタ４２ｄｃからの信号ＤＷＮ３が初めてＨレベルに立上がったときに、強制的に連続して３クロックサイクル期間ダウン指示信号ＤＷＮをＨレベルに設定して、遅延量を８Δｔ単位で強制的に減少させる。この３クロックサイクル期間が経過すると、フリップフロップ２０ｉがセット状態を維持し、またフリップフロップ２０ｌがリセット状態を維持し、ダウン指示信号ＤＷＮは、シフタからの信号ＤＷＮ３に従って変化する。
【０１７５】
カウント制御回路４１は、ダウン指示信号ＤＷＮが通産３回活性化されると、イネーブル信号ビットＥＮ［０：２］をバッファクロック信号ＢＵＦＣＬＫの立下りに応答してＨレベルに設定する。従って、この３クロックサイクルが経過すると、カウント回路３７の最下位カウントビットが、Ａ［０］となり、次のサイクルからの可変遅延回路３２および３３の遅延量変化単位がΔｔに設定される。
【０１７６】
図１１に示すカウント回路３７へは、このバッファクロック信号ＢＵＦＣＬＫの立上がりに応答して所定期間ＬレベルとなるカウントパルスＣＰＬが与えられる。したがって、バッファクロック信号ＢＵＦＣＬＫの立上がりエッジでダウン指示信号ＤＷＮおよびアップ指示信号ＵＰの状態が確定した後に、このカウント回路３７においてカウント動作が行なわれる。
【０１７７】
図１４は、この発明の実施の形態１に従うＤＬＬ回路１６の位相調整動作を示す図である。以下、図１４を参照して、この発明の実施の形態１に従うＤＬＬ回路の位相調整動作について説明する。
【０１７８】
今、サイクル数０において、位相検出器３５の出力信号ＵＰ０およびシフタ４２ｕａ−４２ｕｃの出力信号がすべてＨレベルであり、また、遅延制御回路２０の出力するアップ指示信号ＵＰもＨレベルの状態を考える。このサイクル数０において、バッファクロック信号ＢＵＦＣＬＫの立上がりエッジで、フィードバッククロック信号ＦＢＣＬＫがＨレベルの状態を考える。この状態においては、位相検出器３５の出力信号ＵＰ０はＨレベルである。アップ指示信号ＵＰに従って、８Δｔの遅延量増加が行なわれる。
【０１７９】
クロックサイクル数１において、フィードバッククロック信号ＦＢＣＬＫが、バッファクロック信号ＢＵＦＣＬＫの立上がりエッジでＬレベルとなる。このとき、位相比較器３５の出力信号ＵＰ０がＬレベルとなる。しかしながら、アップ指示信号ＵＰは、Ｈレベルであり、フィードバッククロック信号ＦＢＣＬＫの位相が、８Δｔ遅延される。クロックサイクル数２において、依然フィードバッククロック信号ＦＢＣＬＫがバッファクロック信号ＢＵＦＣＬＫの立上がりエッジでＬレベルのとき、位相比較器３５の出力信号ＵＰ０がＬレベルとなる。このときにおいても、アップ指示信号ＵＰはＨレベルであり、フィードバッククロック信号ＦＢＣＬＫの遅延量が８Δｔ増大される。
【０１８０】
クロックサイクル数３において、このフィードバッククロック信号ＦＢＣＬＫのＬレベル期間を超えて位相補正が行なわれ、バッファクロック信号ＢＵＦＣＬＫの立上がりエッジでフィードバッククロック信号ＦＢＣＬＫがＨレベルとなる。このサイクル３においてもアップ指示信号ＵＰがＨレベルであり、フィードバッククロック信号ＦＢＣＬＫの遅延量が増大される。
【０１８１】
クロックサイクル数４において、アップ指示信号ＵＰがシフタからの出力信号ＵＰ３に従ってＬレベルに設定される。その場合、ダウン指示信号ＤＷＮがＨレベルであり、フィードバッククロック信号ＦＢＣＬＫの位相遅延量が、８Δｔだけ小さくされる。次のサイクル数５においても、アップ指示信号ＵＰはＬレベルであり、ダウン指示信号ＤＷＮがＨレベルであり、フィードバッククロック信号ＦＢＣＬＫの遅延量が８Δｔだけ小さくされる。
【０１８２】
クロックサイクル数６において、シフタの出力信号ＵＰ３がＨレベルとなっても、遅延制御回路２０の出力するダウン指示信号ＤＷＮはＨレベルであり、強制的にこのシフタの出力信号ＵＰ３にかかわらず、フィードバッククロック信号ＦＢＣＬＫの遅延量が８Δｔだけ小さくされる。
【０１８３】
このクロックサイクル４から６における３クロックサイクル期間アップ指示信号ＵＰがＬレベルであり、クロックサイクル数６におけるシフタ４２ｄｃおよび４２ｕａの出力信号は、遅延制御回路２０において無視される。
【０１８４】
クロックサイクル数７において、シフタの出力信号ＵＰ３に従ってアップ指示信号ＵＰをＨレベルに設定される。このとき、３クロックサイクル連続して、遅延量低減動作が行なわれており、クロックサイクル数６においてバッファクロック信号ＢＵＦＣＬＫの立下りに従って、カウント制御回路４１からのイネーブル信号ビットＥＮ［０］−ＥＮ［２］がＨレベルに設定される。これにより、クロックサイクル数７における遅延量の調整は、遅延段ＤＳ０の遅延量Δｔを単位として遅延量が調整される。以降、このシフタからの出力信号ＵＰ３およびＤＷＮ３に従って、フィードバッククロック信ＢＵＦＣＬＫの位相調整が、遅延量Δｔ単位で実行される。
【０１８５】
このシフタのタイムラグにより位相調整が過剰に行われ、フィードバッククロック信号ＦＢＣＬＫのＬ期間が、バッファクロック信号ＢＵＦＣＬＫの立上がりエッジを超えた場合、この位相の過剰調整は、シフタ３段による３クロックサイクル期間のタイムラグに起因している。従って、３サイクル連続して、バッファクロック信号ＢＵＦＣＬＫの遅延量を低減することにより、この３サイクル分の過剰遅延増加は、補償することができる。
【０１８６】
この過剰遅延量増加を補償した後に、最小遅延単位Δｔ単位で位相補正を行なうことにより、シフタのシフト動作によるタイムラグの影響を排除して、セルフタイミングパルスのＬレベル期間を有効に利用して位相調整を行うことができ、早いタイミングで、フィードバッククロック信号ＦＢＣＬＫをバッファクロック信号ＢＵＦＣＬＫの立上がりエッジにロックさせることができる。
【０１８７】
従って、プロセスパラメータなどのバラツキにより、セルフタイミングパルスのＬレベル期間がばらついても、確実にその影響を排除して、位相調整動作を行うことができ、内部クロック信号が外部クロック信号に位相同期（ロック）するまでに要するクロックサイクル数が増大するのを確実に防止することができる。
【０１８８】
なお、上述の構成においては、３段のシフタが用いられているが、シフタがＭ段設けられてもよい。この場合には、連続Ｍサイクル期間、ダウン指示信号ＤＷＮをＨレベルに設定する。したがって、図１２に示すシフタ２０ｅ−２０ｇを、Ｍ段縦続接続する。
【０１８９】
以上のように、この発明の実施の形態１に従えば、位相検出器の出力信号をシフタを通して可変遅延線の遅延量を調整する場合、ダウン指示信号が初めてＨレベルとなると、強制的にシフタ段数だけ連続的に、その遅延量を低減している。したがって、遅延段アドレス信号が準安定状態となるのを、このシフタの利用により抑制することができる。また、バッファクロック信号ＢＵＦＣＬＫとフィードバッククロック信号ＦＢＣＬＫとの位相差調整において、シフタによるタイムラグにより過剰に位相調整されるのを防止することができる。電源投入後、高速で、外部クロック信号に位相同期した内部クロック信号を安定に生成することができる。
【０１９０】
［実施の形態２］
図１５は、この発明の実施の形態２に従うＤＬＬ回路の構成を概略的に示す図である。この図１５に示すＤＬＬ回路は、図４０に示すＤＬＬ回路と以下の点が異なる。すなわち、位相制御回路９０６において、カウント制御回路１４１は、シフタ４２ｄｃからダウン指示信号ＤＷＮが初めて与えられると、そのときに、遅延単位を他のサイクルよりも増大させる。最初にダウン指示信号ＤＷＮが発生されるまでは、シフト回路４２のシフト段数に応じた遅延量で、可変遅延線３２および３３の遅延量を調整する。初めてダウン指示信号ＤＷＮがＨレベルに設定されると、カウント制御回路１４１は、その遅延量を、さらにたとえばシフト回路４２のシフト段数に応じた遅延量増大させる。このサイクルが完了すると、カウント制御回路１４１は、イネーブル信号ＥＮ［Ｎ：０］をすべてＨレベルに設定する。この図１５に示すＤＬＬ回路の他の構成は、図４０に示すＤＬＬ回路の構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【０１９１】
すなわち、この発明の実施の形態２においては、シフト回路４２のシフタによるタイムラグの影響を、１サイクル期間、この遅延量をさらに増加させて、タイムラグの影響を補償する。
【０１９２】
図１６は、図１５に示すカウント制御回路１４１の構成を示す図である。図１６において、カウント制御回路１４１は、図１５に示すシフタ４２ｄｃからのダウン指示信号ＤＷＮを受けるインバータ１４１ａと、ダウン指示信号ＤＷＮの活性化に応答してセットされかつリセット信号ＲＥＳＥＴに応答してリセットされるＮＯＲ型フリップフロップ１４１ｄと、インバータ１４１ａの出力信号とシフタ１４１ｄの出力信号を受けるＮＯＲゲート１４１ｂと、ＮＯＲゲート１４１ｂの出力信号とバッファクロック信号ＢＵＦＣＬＫとを受けるＡＮＤゲート１４１ｃと、シフタ１４１ｄの出力信号とフリップフロップ１４１ｄの出力信号Ｆ２０１とを受けてイネーブル信号ＥＮ［３：４］を生成するＯＲゲート１４１ｅを含む。
【０１９３】
シフタ１４１ｄから、イネーブル信号ＥＮ［０：２］が出力される。これらのＯＲゲート１４１ｅおよびシフタ１４１ｄは、それぞれ出力信号が、１ビットであり、これらのイネーブル信号ビットＥＮ［３：４］は、ＯＲゲート１４１ｅの出力信号に従って共通に制御され、またシフタ１４１ｄの出力信号に従って、イネーブル信号ビットＥＮ［０：２］が共通に制御される。
【０１９４】
シフタ１４１ｄは、図３７に示す構成を有し、その入力ＩＮに与えられる信号がＨレベルのとき内部で転送動作を行ない、ＡＮＤゲート１４１ｃの出力信号を分周する。
【０１９５】
図１７は、図１６に示すカウント制御回路４１Ａの動作を示すタイミング図である。以下、図１７を参照して、図１６に示すカウント制御回路１４１の動作について説明する。
【０１９６】
電源投入後、この半導体記憶装置１に対し、ＤＬＬリセットコマンドが入力され、リセット信号ＲＥＳＥＴが所定期間Ｈレベルとなる。応じて、フリップフロップ１４１ｄがリセットされ、その出力信号Ｆ２０１がＨレベルに設定される。応じて、ＯＲ回路１４１ｅの出力信号がＨレベルとなり、イネーブル信号ビットＥＮ［３：４］（ビットＥＮ［３］、ＥＮ［４］）がともにＨレベルに設定される。
【０１９７】
一方、リセット信号ＲＥＳＥＴに従ってシフタ１４１ｄにおいて初期化動作が行なわれ、イネーブル信号ビットＥＮ［０］−ＥＮ［２］はすべてＬレベルに初期化される。
【０１９８】
位相検出器３５の検出動作により、相補な信号ＵＰ０およびＤＷＮ０が、シフト回路４２のシフタを通して転送される。この場合、イネーブル信号ＥＮ［０：２］がＬレベルであり、カウント回路３７の遅延段アドレス信号ビットＡ［０］−Ａ［２］は更新されず、遅延段アドレス信号ビットＡ［３］−Ａ［Ｎ］で表わされる部分が更新される。したがって、ＤＬＬリセット後、ダウン指示信号ＤＷＮがＨレベルに設定されるまで、可変遅延線３２および３３は、８段の遅延回路の遅延量（８Δｔ）単位で遅延量が変化する。
【０１９９】
ダウン指示信号ＤＷＮがＨレベルに立上がるとフリップフロップ１４１ｄがセットされ、その出力信号Ｆ２０１がＬレベルとなる。イネーブル信号ＥＮ［０：２］はＬレベルであるため、ＯＲ回路１４１ｅからの信号がＬレベルとなり、応じてイネーブル信号ビットＥＮ［３］およびＥＮ［４］が、Ｌレベルに設定される。
【０２００】
したがって、ダウン指示信号ＤＷＮが初めてＨレベルに到達した後、最初に遅延段アドレス信号Ａ［０：Ｎ］の値を減少させるバッファクロック信号ＢＵＦＣＬＫの立上がりの時刻ｔ１において、遅延段アドレス信号ビットＡ［５］−Ａ［Ｎ］で表わされる部分だけが更新される。この場合、ダウン指示信号ＤＷＮに従って、可変遅延線３２および３３の遅延段数が低減される。遅延段アドレス信号Ａ［５］は、遅延量３２Δｔの遅延段に対応している。カウント回路３７におけるカウント動作により、３２（１０進）のカウントダウンが行われ、可変遅延回路３２および３３において３２Δｔの遅延時間の低減が行われる。この遅延量低減は、８遅延単位（８Δｔ）が４回低減されたことに相当する。
【０２０１】
バッファクロック信号ＢＵＦＣＬＫがＨレベルに立上がると、ＡＮＤゲート１４１ｃの出力信号がＨレベルとなり、シフタ１４１ｄにおいて内部転送動作が行なわれる。したがって、バッファクロック信号ＢＵＦＣＬＫがＬレベルに立下がると、このシフタ１４１ｄの出力信号がＨレベルに立上がり、応じてイネーブル信号ビットＥＮ［０］−ＥＮ［２］がＨレベルとなる。応じてＯＲ回路１４１ｅの出力信号がＨレベルとなり、イネーブル信号ビットＥＮ［３］およびＥＮ［４］がともにＨレベルとなる。したがって、次のバッファクロック信号ＢＵＦＣＬＫの立上がりエッジの時刻ｔ３における調整動作は、最小遅延単位Δｔを単位として行なわれる。
【０２０２】
この図１６に示すカウント制御回路１４１を利用し、ダウン指示信号ＤＷＮが初めてＨレベルに設定されたときには、シフタのシフト動作による過剰位相増加分を１クロックサイクルで補償する。したがって、フィードバッククロック信号ＦＢＣＬＫのＬレベル期間が、バッファクロック信号ＢＵＦＣＬＫの立上がりエッジを超えて変化しても、１クロックサイクルで、確実に、その過剰位相調整を補償することができ、高速で、外部クロック信号に位相同期した内部クロック信号を生成することができる。
【０２０３】
図１８は、この発明の実施の形態２に従うＤＬＬ回路の動作を示す図である。図１８において、最終段のシフタからのアップ指示信号ＵＰがＨレベルの状態を考える。ダウン指示信号ＤＷＮはＬレベルである。この場合、フィードバッククロック信号ＦＢＣＬＫの位相遅延量が、クロックサイクル数３まで８Δｔ単位で増分される。クロックサイクル数１および２において、位相検出器３５の出力信号ＵＰ０がＬレベルとなる。
【０２０４】
クロックサイクル数４において、アップ指示信号ＵＰがＬレベルとなると、すなわちダウン指示信号ＤＷＮがＨレベルとなると、フィードバッククロック信号ＦＢＣＬＫの遅延量が、３２Δｔだけ減分され、その位相が、４クロックサイクル前のクロックサイクル数０と同じ値に復帰する。このクロックサイクルにおいて、遅延量単位がΔｔに設定される。
【０２０５】
次のクロックサイクル数５においても、アップ指示信号ＵＰはＬレベルである。このときには、最小遅延単位Δｔ単位でフィードバッククロック信号ＦＢＣＬＫの位相を小さくすることが行なわれる。
【０２０６】
クロックサイクル数６においては、アップ指示信号ＵＰがＨレベルであり、フィードバッククロック信号ＦＢＣＬＫの遅延量を増大する処理が行なわれる。
【０２０７】
この遅延量増加処理において、フィードバッククロック信号ＦＢＣＬＫの立上りが、バッファクロック信号ＢＵＦＣＬＫの立上り前に生じており、フィードバッククロック信号ＦＢＣＬＫの立上がりエッジを、少ないサイクル数で、バッファクロック信号ＢＵＦＣＬＫの立上がりエッジに同期させることができる。
【０２０８】
なお、シフト回路４２においてＭ段のシフタが配置されている場合、最初にダウン指示信号ＤＷＮがＨレベルとなったとき、次の遅延段アドレス変更サイクルにおいて、一度に任意のＫ段減少させるように、カウント制御回路１４１を構成することもできる。図１６に示すカウント制御回路４１Ａにおいて、ＯＲゲート１４１ｅの制御するイネーブル信号ＥＮのビット範囲を遅延量Ｋ段に対応するように設定することにより、容易に実現することができる。
【０２０９】
以上のように、この発明の実施の形態２に従えば、ダウン指示信号が初めてＨレベルとなると、可変遅延線の１サイクルの遅延変化量をシフタ段数＋１段に設定している。シフト回路のシフト動作によるタイムラグの影響を抑制して、高速で、フィードバッククロック信号を内部バッファクロック信号に位相同期させることができる。また、位相検出器の出力信号を転送するシフタを利用しているため、カウント回路の出力する遅延段アドレス信号が準安定状態となるのを抑制することができ、安定にかつ高速で外部クロック信号に位相同期した内部クロック信号を生成することができる。
【０２１０】
［実施の形態３］
図１９は、この発明の実施の形態３に従うＤＬＬ回路１６の構成を概略的に示す図である。この図１９に示すＤＬＬ回路１６においては、位相制御回路９０６内において、位相比較器９０４からのダウン指示信号ＤＷＮに従ってカウント制御回路２４１がカウント回路３７に対するイネーブル信号ＥＮ［Ｎ：０］を生成する。このカウント制御回路２４１は、ダウン指示信号ＤＷＮの積算動作は行なわず、最初に生成されたダウン指示信号ＤＷＮがＬレベルに立下がると、イネーブル信号ビットＥＮ［Ｎ：０］をすべてＨレベルに設定する。図１９に示すＤＬＬ回路１６の他の構成は、図１５に示すＤＬＬ回路１６の構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【０２１１】
図２０は、図１９に示すカウント制御回路２４１の構成を示す図である。図２０において、カウント制御回路２４１は、図１９に示すシフタ４２ｄｃからのダウン指示信号ＤＷＮを受けるインバータ２４１ａと、イネーブル信号ＥＮとインバータ２４１ａの出力信号とを受けるＮＯＲゲート２４１ｂと、ＮＯＲゲート２４１ｂの出力信号に従ってシフト動作を行なってイネーブル信号ＥＮ（ＥＮ［０］−ＥＮ［２］）を生成するシフタ２４１ｃと、リセット信号ＲＥＳＥＴに従ってイネーブル信号ビットＥＮ［０］−ＥＮ［２］をＬレベルに初期設定するＮチャネルＭＯＳトランジスタ２４１ｄを含む。このシフタ２４１ｃは、１ビットのシフタであり、イネーブル信号ビットＥＮ［０］−ＥＮ［２］は、シフタ２４１ｃにより共通に制御される。
【０２１２】
シフタ２４１ｃは、図３７に示すシフタ４１ｆおよび４１ｇと同様の構成を備え、入力ＩＮに与えられる信号がＨレベルのとき内部で転送動作を行ない、入力ＩＮに与えられる信号がＬレベルとなると、内部ノードの信号を出力する。このシフタ２４１ｃに対してまたリセット信号ＲＥＳＥＴがリセット入力ＲＳＴに与えられる。シフタ２４１ｃは、リセット信号ＲＥＳＥＴに応答して内部ノードがＬレベルに設定される。
【０２１３】
図２１は、図２０に示すカウント制御回路２４１の動作を示すタイミング図である。以下、図２１を参照して、図２０に示すカウント制御回路２４１の動作について簡単に説明する。
【０２１４】
電源投入後のＤＬＬリセットコマンドに従って、リセット信号ＲＥＳＥＴがＨレベルに駆動され、シフタ２４１ｃの内部ノードの初期化およびイネーブル信号ビットＥＮ［０］−ＥＮ［２］の初期化が行なわれる。
【０２１５】
位相差検出回路９０９における位相検出動作に従って、図１９に示すシフタ４２ｄｃからのダウン指示信号ＤＷＮがＨレベルに立上がると、シフタ２４１ｃにおいて内部ノードの信号の転送が行なわれる。このダウン指示信号ＤＷＮがＨレベルの間、シフタ２４０ｃにおいて出力段のトライステートバッファは出力ハイインピーダンス状態であり、その出力段のラッチにより、イネーブル信号ビットＥＮ［０］−ＥＮ［２］はＬレベルを維持する。したがって、この間、図１９に示すカウント回路３７からの遅延段アドレス信号Ａ［０：２］は初期状態を維持しており、遅延段アドレス信号Ａ［３：Ｎ］が変化する。
【０２１６】
ダウン指示信号ＤＷＮがＬレベルに立下がると、インバータ２４１ａの出力信号がＨレベルとなり、応じてＮＯＲゲート２４１ｂの出力信号がＬレベルとなる。したがって、シフタ２４１ｃにおいて内部で転送されたＨレベルの信号が最終出力段のトライステートバッファを介して出力され、イネーブル信号ビットＥＮ［０］−ＥＮ［２］がＨレベルに立上がる。以降、カウント回路３７の出力する遅延段アドレス信号Ａ［０：Ｎ］のビットはすべて有効となり、Δｔ単位での遅延量の調整が実行される。
【０２１７】
図２２は、この発明の実施の形態３に従うＤＬＬ回路の動作を示す図である。以下、図２２を参照して、図２０および図２１に示すＤＬＬ回路の動作について説明する。
【０２１８】
ＤＬＬ回路１６のリセットの後、位相検出器３５の位相検出動作により、相補なアップ指示信号ＵＰおよびダウン指示信号ＤＷＮがシフト回路４２を介してカウント回路３７へ与えられる。またカウント制御回路２４１に対し、ダウン指示信号ＤＷＮが与えられる。
【０２１９】
クロックサイクル数０から３までにおいては、アップ指示信号ＵＰがＨレベルであり、イネーブル信号ビットＥＮ［０］−ＥＮ［２］がＬレベルであり、８Δｔ単位で遅延量の増分が行なわれる。
【０２２０】
クロックサイクル数４において、アップ指示信号ＵＰがＬレベルとなると、フィードバッククロック信号ＦＢＣＬＫが、その位相が８Δｔだけ進められる。次のクロックサイクル数５においても、アップ指示信号ＵＰがＬレベルであり、再びフィードバッククロック信号ＦＢＣＬＫの遅延量が８Δｔだけ減分される。
【０２２１】
クロックサイクル数５において、バッファクロック信号ＢＵＦＣＬＫの立下がりに同期して、ダウン指示信号ＤＷＮがＬレベルとなり、応じて、図２０に示すカウント制御回路２４１において、イネーブル信号ビットＥＮ［０］−ＥＮ［２］がＨレベルに設定される。カウント回路３７の全ビットＡ［０：Ｎ］が全て有効となり、全ビットを用いてカウント動作が行われる。したがって、以後のサイクルにおいては、位相調整は、Δｔを単位として行われる。
【０２２２】
クロックサイクル数６において、アップ指示信号ＵＰがＨレベルとなると、Δｔだけフィードバッククロック信号ＦＢＣＬＫの位相の遅延量が増分される。以降、このイネーブル信号ビットＥＮ［０］−ＥＮ［２］はＨレベルであるため、可変遅延線３２および３３においては、遅延段アドレス信号ビットＡ［０］−Ａ［Ｎ］すべてを用いて遅延量が変更される。Ｌレベル期間において遅延量が最小遅延量Δｔ単位で調整されるだけであり、高速で、フィードバッククロック信号ＦＢＣＬＫの立上がりエッジを、バッファクロック信号ＢＵＦＣＬＫの立上がりエッジにロックさせることができる。
【０２２３】
また、シフト回路４２を通して、アップ指示信号ＵＰおよびダウン指示信号ＤＷＮを転送しており、遅延段アドレス信号が準安定状態となるのを抑制することができ、安定に内部クロック信号を生成することができる。
【０２２４】
なお、上述の実施の形態１から３においては、セルフタイミングパルスとして、可変遅延線の出力信号の立上がりに応答して所定期間Ｌレベルとなるパルス信号を用いている。しかしながら、これに代えて、可変遅延線の出力信号の立上がりに応答して所定期間Ｈレベルとなるパルス信号を生成して、セルフタイミングパルス信号として用いてもよい。この場合、可変遅延線のデューティ比５０％の出力クロック信号を、データ出力用のクロック信号として用い、フィードバッククロック信号としては、このセルフタイミングパルス信号を利用する。セルフタイミングパルス信号の立上がりエッジが、可変遅延線の出力信号の立上がりエッジと同期しており、このセルフタイミングパルス信号をレプリカバッファを介してフィードバッククロック信号ＦＢＣＬＫを生成して、バッファクロック信号ＢＵＦＣＬＫとの位相の調整を行なう。この構成の場合、ダウン指示信号ＤＷＮに代えて、アップ指示信号ＵＰを用いて可変遅延線の遅延量の調整／制御を行なう。シフタのタイムラグにより過剰に位相遅延量の低減が行われたときに遅延量を増大させて、過剰位相調整を補償する。
【０２２５】
また、上述の実施の形態においては、ＤＤＲモードで動作するクロック同期型半導体記憶装置においてＤＤＬ回路が用いられている。しかしながら、一般に、外部クロック信号に位相同期した内部クロック信号を生成する回路に対し、本発明のＤＤＬ回路は適用することができる。
【０２２６】
また、内部クロック生成回路として遅延回路を縦続接続して遅延回路の段数を調整して内部クロック信号を生成している。しかしながら、内部クロック生成回路としては、遅延段アドレス信号に従って動作電流が調整される電流制御型遅延回路列が用いられてもよい。遅延回路の段数の変更に変えて動作電流の調整により、遅延時間の調整が行われる。従って、内部クロック生成回路としては、カウント回路の出力カウント値により遅延時間が調整される可変遅延回路であればよい。
【０２２７】
【発明の効果】
以上のように、この発明に従えば、セルフタイミングパルス信号のエッジを超えて過剰に位相調整が行なわれた場合、この過剰位相調整を補償するように位相遅延量を制御しており、内部クロック信号を高速で外部クロック信号に位相同期させることができる。
【０２２８】
すなわち、位相検出回路の出力信号が所定状態となると、この状態を予め定められた数のクロックサイクルの間連続的に維持し、この予め定められた数のクロックサイクルが経過すると、この維持状態を解除し、その所定の状態が維持されている間位相遅延調整量を第１の遅延量に設定し、その維持状態の解除時、この第１の遅延量よりも小さな第２の遅延量に位相調整量を設定しており、内部クロック信号の位相調整が過剰に行なわれる場合においても、確実に、この過剰位相調整を補償して過剰位相調整前の状態に内部クロック信号を戻した後に、最小遅延単位で位相調整を行なうことができ、高速でかつ安定に、内部クロック信号を外部クロック信号に位相同期させることができる。
【０２２９】
また、位相検出回路の出力信号を所定クロックサイクル期間遅延し、この遅延回路の出力信号に従って連続的に所定状態を示す状態に設定することにより、確実に、連続的に内部クロック信号と外部クロック信号の位相関係を所定状態に設定することができ、また遅延回路を用いることにより、位相調整回路の位相調整動作が準安定状態になるのを防止することができ、高速でかつ安定に外部クロック信号に位相同期した内部クロック信号を生成することができる。
【０２３０】
また、位相関係調整回路を、位相差検出回路の出力信号を所定クロックサイクル期間遅延し、この遅延回路の出力信号にしたがって所定状態の維持およびクロックサイクル数に応じて維持状態の解除を行うことにより、位相調整信号が充安定状態となるのを防止しつつ正確に所望の期間連続的に所定の状態に維持することができる。
【０２３１】
また、所定状態の維持クロックサイクル数を位相差検出回路の出力の遅延回路の段数と同じとすることにより、正確に、過剰調整された位相を遅延回路の遅延時間の影響を排除した状態に復帰させることができ、正確に過剰位相調整を補償することができる。
【０２３２】
また、この位相調整回路において、遅延量設定用のカウンタのカウント値を、所定状態の間、カウンタのカウント単位を第１の遅延量に対応する値に設定することにより、容易に内部クロック生成回路の遅延量を調整することができる。
【０２３３】
また、内部クロック生成回路をカウンタのカウント値により遅延量が設定される可変遅延回路で構成することにより、外部クロック信号を遅延して内部クロック信号を生成するＤＬＬ回路において、高速で外部クロック信号に位相同期した内部クロック信号を安定に生成することができる。
【０２３４】
また、位相差検出回路の出力信号が内部クロック信号と外部クロック信号の位相関係が所定の状態を示すときには、この内部クロック生成回路の位相調整量を初期設定値よりも増大させ、この所定状態解除後、位相調整単位を最小値に設定することにより、位相調整が過剰に行なわれる場合においても、この過剰位相調整を補償することができ、その後、内部クロック信号を最小位相調整単位で位相調整することにより、内部クロック信号を外部クロック信号に位相同期させるまでに要するクロックサイクル数を低減することができる。
【０２３５】
また、位相調整量を設定するカウンタのカウントビットを所定サイクル期間カウンタの所定のカウントビットを固定状態とし、この所定サイクル期間経過後にカウンタのカウントビットをすべて有効とすることにより、内部クロック信号の位相調整が過剰に行なわれた場合においても、この大きな位相調整単位により、過剰位相調整を補償することができ、内部クロック信号が外部クロック信号にロックするのに要するクロックサイクル数を低減することができる。
【０２３６】
また、この所定サイクル期間を１クロックサイクル期間に設定することにより、過剰位相調整補償に要するクロックサイクル数を最小値に設定でき、内部クロック信号が外部クロック信号に位相同期するのに要するクロックサイクル数を低減することができる。
【０２３７】
また、無効状態に初期設定される第１のビットが無効状態のとき、位相差検出回路からの所定状態の出力信号を所定サイクル期間遅延して第１のビットを生成し、またこの所定状態の出力信号に従って第１のビットよりも上位の第２のビットを無効状態に設定し、かつこの遅延回路の出力する第１ビットに応答して第２のビットを有効状態とし、これらのビットにより内部クロック信号の位相調整量を設定することにより、容易に、所定サイクル期間位相補正量を変更し、所定サイクル経過後に、位相調整量を最小値に設定することができる。
【０２３８】
また、内部クロック信号を生成する可変遅延回路の遅延量をカウント回路の出力カウント値にしたがって設定し、このカウント回路のカウント単位を第１および第２のビットで設定することにより、容易に、位相差検出回路の出力信号に従って内部クロック信号の遅延量を変更することができ、正確に内部クロック信号の位相の過剰調整を補償することができる。
【０２３９】
また位相差検出回路において、内部クロック信号と外部クロック信号の位相差を検出する位相検出器の出力信号をシフトして、位相差検出回路の出力信号を生成することにより、内部クロック信号が準安定状態になるのを防止することができ安定に内部クロック信号を生成することができる。
【０２４０】
また、位相差検出回路の出力信号に従って位相調整回路の位相調整単位を調整する際に、この位相差検出時に内部クロック信号と外部クロック信号が所定状態となるまで、内部クロック信号の位相調整量を最小値よりも大きく設定し、この所定状態の解除に応答して位相調整量を最小値に設定することにより、位相調整が過剰に行なわれたときに、その位相調整補償が過剰に行なわれるのを防止することができ、内部クロック信号が外部クロック信号に位相同期するまでに要するクロックサイクル数を低減することができる。
【０２４１】
また、位相差検出回路を、内部クロック信号と外部クロック信号の位相差を検出し、該検出結果をシフタを介して転送する構成とすることにより、位相比較結果が準安定状態となるのを防止することができ、安定に位相調整動作を行なって内部クロック信号を外部クロック信号に対し位相同期させることができる。
【０２４２】
また、内部クロック信号を可変遅延線を介して生成し、この可変遅延線の遅延量をカウンタのカウント値に従って設定する場合、初期化時カウントビットの所定ビットを無効とし、内部クロック信号と外部クロック信号との位相関係の所定状態完了時にこの所定ビットを有効状態とすることにより、過剰に位相調整が行われるのを防止することができ、初期化時、高速で内部クロック信号を外部クロック信号に位相同期させることができる。
【０２４３】
また、位相差検出結果を所定サイクルシフトして位相調整信号として出力することにより、位相調整信号が準安定状態となるのを防止することができ、安定に内部クロック信号を生成することができる。
【０２４４】
また、位相調整時において、内部クロック信号の遅延量を設定するカウント回路の所定のビットを固定状態としてカウント動作を行わせることにより、正確にかつ容易に内部クロック信号の遅延量を設定することができ、正確に過剰に調整された位相を補償して過剰調整前の状態に内部クロック信号を復帰させることができる。
【０２４５】
また、位相差検出回路へは、この内部クロック信号のエッジに応答してワンショットパルス信号を生成して印加することにより、デューティ比５０％と異なる信号を用いて位相検出動作を行なうことができ、可変遅延線を用いた場合においても、内部クロック信号を外部クロック信号に位相同期させるまでに要するクロックサイクル数を低減することができる。
【図面の簡単な説明】
【図１】この発明に従うクロック同期型半導体記憶装置の全体の構成を概略的に示す図である。
【図２】図１に示すＤＬＬ回路の構成を概略的に示す図である。
【図３】図２に示す可変遅延線の構成を示す図である。
【図４】図２に示すセルフタイミングパルス発生回路の構成の一例を示す図である。
【図５】図４に示す回路の動作を示すタイミング図である。
【図６】図２に示すレプリカバッファの構成の一例を示す図である。
【図７】図１に示すＤＱバッファの構成を概略的に示す図である。
【図８】図７に示すＤＱバッファの動作を示すタイミング図である。
【図９】図２に示す位相検出器の構成の一例を示す図である。
【図１０】図９に示す位相検出器の動作を示すタイミング図である。
【図１１】図２に示すカウント回路の構成を示す図である。
【図１２】図２に示す遅延制御回路の構成を示す図である。
【図１３】図１２に示す遅延制御回路の動作を示すタイミング図である。
【図１４】図２に示すＤＬＬ回路の動作を示すタイミング図である。
【図１５】この発明の実施の形態２に従うＤＬＬ回路の構成を概略的に示す図である。
【図１６】図１５に示すカウント制御回路の構成を示す図である。
【図１７】図１６に示すカウント制御回路の動作を示すタイミング図である。
【図１８】図１５に示すＤＬＬ回路の動作を示すタイミング図である。
【図１９】この発明の実施の形態３に従うＤＬＬ回路の構成を概略的に示す図である。
【図２０】図１９に示すカウント制御回路の構成を示す図である。
【図２１】図２０に示すカウント制御回路の動作を示すタイミング図である。
【図２２】図１９に示すＤＬＬ回路の調整動作を示す図である。
【図２３】ダブルデータレートのデータ出力動作を示すタイミング図である。
【図２４】内部クロック発生回路の構成を概略的に示す図である。
【図２５】図２４に示す内部クロック発生回路の構成をより具体的に示す図である。
【図２６】（Ａ）および（Ｂ）は、図２５に示す位相検出器の動作を示すタイミング図である。
【図２７】図２５に示す内部クロック発生回路の動作を示すタイミング図である。
【図２８】図２５に示す内部クロック発生回路の動作を示すタイミング図である。
【図２９】図２５に示す位相差検出回路の動作を示すタイミング図である。
【図３０】従来の内部クロック発生回路の他の構成を概略的に示す図である。
【図３１】図３０に示すセルフタイミングパルス発生回路の動作を示すタイミング図である。
【図３２】図３０に示す位相検出器の動作を示すタイミング図である。
【図３３】図３０に示すカウント制御回路の構成の一例を示す図である。
【図３４】図３０に示すカウント回路の構成を概略的に示す図である。
【図３５】従来の内部クロック発生回路のさらに他の構成を概略的に示す図である。
【図３６】図３５に示すカウント制御回路の構成を示す図である。
【図３７】図３６に示すシフタの構成の一例を示す図である。
【図３８】図３６に示すカウント制御回路の動作を示すタイミング図である。
【図３９】図３５に示す内部クロック発生回路の構成をより具体的に示す図である。
【図４０】図３９に示す内部クロック発生回路の位相調整動作を示す図である。
【符号の説明】
１　半導体記憶装置、１６　ＤＬＬ回路、２０　遅延制御回路、３２，３３　可変遅延線、３４　レプリカバッファ、３５　位相検出器、３７　カウント回路、３８　位相比較回路、４１，１４１，２４１　カウント制御回路、４２　シフト回路、４２ｕａ−４２ｕｃ，４２ｄａ−４２ｄｃ　シフタ、３９，４０　セルフタイミングパルス発生回路、２０ａ　遅延回路、２０ｂ，２０ｈ　ＮＡＮＤゲート、２０ｃ，２０ｍ　インバータ、２０ｅ，２０ｆ，２０ｇ　シフタ、２０ｉ，２０ｌ　フリップフロップ、２０ｊ，２０ｐ　ＯＲゲート、２０ｋ　ワンショットパルス発生回路、２０ｄ，２０ｎ　ＡＮＤゲート、１４１ａ　インバータ、１４１ｂ　ＮＯＲゲート、１４１ｃ　ＡＮＤゲート、１４１ｂ　シフタ、１４１ｆ　フリップフロップ、１４１ｅ　ＯＲゲート、２４１ａ　インバータ、２４１ｂ　ＮＯＲゲート、２４１ｃ　シフタ。
【図１】
2004046686.tif 000003
【図２】
2004046686.tif 000004
【図３】
2004046686.tif 000005
【図４】
2004046686.tif 000006
【図５】
2004046686.tif 000007
【図６】
2004046686.tif 000008
【図７】
2004046686.tif 000009
【図８】
2004046686.tif 000010
【図９】
2004046686.tif 000011
【図１０】
2004046686.tif 000012
【図１１】
2004046686.tif 000013
【図１２】
2004046686.tif 000014
【図１３】
2004046686.tif 000015
【図１４】
2004046686.tif 000016
【図１５】
2004046686.tif 000017
【図１６】
2004046686.tif 000018
【図１７】
2004046686.tif 000019
【図１８】
2004046686.tif 000020
【図１９】
2004046686.tif 000021
【図２０】
2004046686.tif 000022
【図２１】
2004046686.tif 000023
【図２２】
2004046686.tif 000024
【図２３】
2004046686.tif 000025
【図２４】
2004046686.tif 000026
【図２５】
2004046686.tif 000027
【図２６】
2004046686.tif 000028
【図２７】
2004046686.tif 000029
【図２８】
2004046686.tif 000030
【図２９】
2004046686.tif 000031
【図３０】
2004046686.tif 000032
【図３１】
2004046686.tif 000033
【図３２】
2004046686.tif 000034
【図３３】
2004046686.tif 000035
【図３４】
2004046686.tif 000036
【図３５】
2004046686.tif 000037
【図３６】
2004046686.tif 000038
【図３７】
2004046686.tif 000039
【図３８】
2004046686.tif 000040
【図３９】
2004046686.tif 000041
【図４０】
2004046686.tif 000042