JP2004046686A - クロック発生回路 - Google Patents
クロック発生回路 Download PDFInfo
- Publication number
- JP2004046686A JP2004046686A JP2002205411A JP2002205411A JP2004046686A JP 2004046686 A JP2004046686 A JP 2004046686A JP 2002205411 A JP2002205411 A JP 2002205411A JP 2002205411 A JP2002205411 A JP 2002205411A JP 2004046686 A JP2004046686 A JP 2004046686A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- signal
- clock signal
- phase
- delay
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/0805—Details of the phase-locked loop the loop being adapted to provide an additional control signal for use outside the loop
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/13—Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
- H03K5/131—Digitally controlled
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/13—Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
- H03K5/133—Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals using a chain of active delay devices
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/081—Details of the phase-locked loop provided with an additional controlled phase shifter
- H03L7/0812—Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used
- H03L7/0814—Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used the phase shifting device being digitally controlled
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/081—Details of the phase-locked loop provided with an additional controlled phase shifter
- H03L7/0812—Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used
- H03L7/0816—Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used the controlled phase shifter and the frequency- or phase-detection arrangement being connected to a common input
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/085—Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal
- H03L7/089—Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal the phase or frequency detector generating up-down pulses
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K2005/00013—Delay, i.e. output pulse is delayed after input pulse and pulse length of output pulse is dependent on pulse length of input pulse
- H03K2005/00019—Variable delay
- H03K2005/00058—Variable delay controlled by a digital setting
Abstract
【課題】内部クロック信号が外部クロック信号に位相同期するまでに要するクロックサイクル数を低減する。
【解決手段】可変遅延線(32,33)を通して生成する内部クロック信号(CLKP,CLKN)に対応するフィードバッククロック信号FBCLKと外部クロック信号に対応するバッファクロック信号(BUFCLK)の位相差を位相検出器(35)で検出し、該検出結果をシフト回路(42)を介して転送する。遅延制御回路(20)により、シフト回路(42)からのダウン信号が活性化されると強制的に所定クロックサイクル期間ダウン指示信号(DWN)を活性状態に維持する。カウント制御回路(41)はダウン指示信号が活性状態から非活性状態となると、カウント回路(37)のカウント単位を最小値に設定する。可変遅延線は、カウント回路の出力カウントビット(A[N:0])に従って遅延量が設定される。
【選択図】 図2
【解決手段】可変遅延線(32,33)を通して生成する内部クロック信号(CLKP,CLKN)に対応するフィードバッククロック信号FBCLKと外部クロック信号に対応するバッファクロック信号(BUFCLK)の位相差を位相検出器(35)で検出し、該検出結果をシフト回路(42)を介して転送する。遅延制御回路(20)により、シフト回路(42)からのダウン信号が活性化されると強制的に所定クロックサイクル期間ダウン指示信号(DWN)を活性状態に維持する。カウント制御回路(41)はダウン指示信号が活性状態から非活性状態となると、カウント回路(37)のカウント単位を最小値に設定する。可変遅延線は、カウント回路の出力カウントビット(A[N:0])に従って遅延量が設定される。
【選択図】 図2
Description
【0001】
【発明の属する技術分野】
この発明は、外部クロック信号に同期した内部クロック信号を生成するクロック発生回路に関し、特に、同期型半導体記憶装置において少なくともデータ出力のために利用される内部クロック信号を生成する内部クロック発生回路に関する。より特定的には、この発明は、外部クロック信号を遅延して、この外部クロック信号に位相同期した内部クロック信号を生成するDLL(ディレイ・ロック・ループ)回路の遅延量を調整するための回路に関する。
【0002】
【従来の技術】
クロック信号に同期してデータ/信号を転送するクロック同期型半導体記憶装置が広く用いられている。クロック同期型半導体記憶装置においては、信号/データのスキューは、クロック信号に対して考慮することが要求されるだけであり、信号間のスキューを考慮する必要がなく、内部動作開始タイミングを早くすることができる。また、たとえばシステムクロックであるクロック信号に同期してデータを転送するため、高速のデータ転送を実現することができ、データ転送のバンド幅を広くすることができる。
【0003】
このようなクロック同期型半導体記憶装置として、クロック信号の立上がりエッジおよび立下がりエッジに同期してデータを転送するDDR−SDRAM(ダブル・データ・レート・シンクロナス・ダイナミック・ランダム・アクセス・メモリ)が知られている。
【0004】
図23は、このDDR−SDRAMのデータ出力タイミングを示す図である。この図23に示すように、出力データQ0−Q3が、外部クロック信号CLKの立上がりエッジおよび立下がりエッジに同期して順次出力される。このように、外部クロック信号CLKの立上がりエッジおよび立下がりエッジに同期してデータDQを出力することが、DDR−SDRAMの出力タイミングについての標準規格として定められている。
【0005】
外部クロック信号CLKをトリガとして用いてデータを出力する場合、内部クロックを生成するクロック入力バッファおよびデータ出力バッファの遅延のために、出力データが、外部クロック信号CLKに対して遅延するため、このデータ出力についての規格を満足することができない。
【0006】
したがって、通常、DDR−SDRAMにおいては、データ出力用のクロック信号を生成するために、DLL(ディレイ・ロック・ループ)回路が内部に設けられる。このDLL回路は、外部クロック信号CLKを、内部で固定遅延および可変遅延を用いて遅延し、外部クロック信号CLKよりも位相の進んだデータ出力用のクロック信号CLKPおよびCLKNを生成する。
【0007】
図24は、従来のDLL回路の全体の構成を概略的に示す図である。図24において、DLL回路900に対しては、外部からの相補クロック信号CLKおよびZCLKをバッファ処理してバッファクロック信号BUFCLKおよびZBUFCLKを生成するクロック入力バッファ890が設けられる。
【0008】
DLL回路900は、これらのバッファクロック信号BUFCLKおよびZBUFCLKを遅延してデータ出力用の内部クロック信号CLKPおよびCLKNを生成する内部クロック生成回路902と、内部クロック信号CLKPとバッファクロック信号BUFCLKの位相差を検出し、検出結果を示す信号UPおよびDWNを生成する位相差検出回路904と、この位相差検出回路904からの位相検出信号UPおよびDWNに従って、内部クロック発生回路902の遅延量を制御する位相制御回路906を含む。
【0009】
データ出力用の内部クロック信号CLKPをフィードバックして、位相差検出回路904においてバッファクロック信号BUFCLKとの位相比較を行ない、位相差を最小とするように、内部クロック発生回路902における遅延量を調整する。データ出力用内部クロック信号CLKPの位相を、クロック入力バッファ890およびデータ出力バッファの遅延を考慮して調整することにより、外部クロック信号CLKの位相とデータ出力の位相を一致させることができる。
【0010】
図25は、図24に示すDLL回路900のより具体的な構成を示す図である。図25において、位相差検出回路904は、内部クロック信号CLKPを所定時間遅延するレプリカバッファ34と、このレプリカバッファ34の出力するフィードバッククロック信号FBCLKとバッファクロック信号BUFCLKの位相差を検出する位相検出器35とを含む。レプリカバッファ34は、図24に示すクロック入力バッファ890およびデータ出力バッファにおける遅延を補償するために設けられる。通常、クロック入力バッファ890が、差動増幅回路で構成され、相補外部クロック信号CLKおよびZCLKの交差部を検出してバッファクロック信号BUFCLKおよびZBUFCLKを生成する場合には、このクロック入力バッファ890における遅延は無視される。
【0011】
位相検出器35は、フィードバッククロック信号FBCLKとバッファクロック信号BUFCLKの位相比較結果に従って位相検出結果指示信号UPおよびDWNを出力する。フィードバッククロック信号FBCLKの位相が、バッファクロック信号BUFCLKよりも進んでいる場合には、内部クロック信号CLKPおよびCLKNの遅延量を増大するためにアップ指示信号UPをHレベルに設定する。逆に、フィードバッククロック信号FBCLKの位相が、バッファクロック信号BUFCLKの位相よりも遅れている場合には、内部クロック信号CLKPおよびCLKNの位相を進めるために、ダウン指示信号DWNがHレベルに設定される。
【0012】
アップ指示信号UPにより内部クロック信号CLKPの遅延量が増加され、ダウン指示信号DWNにより、内部クロック信号CLKPの遅延量が低減される。
【0013】
位相制御回路906は、位相検出器35の出力信号UPおよびDWNに従ってカウント動作を行なうカウント回路37と、電源投入またはシステムリセット時にカウント回路37の最小カウント値を制御するカウント制御回路41を含む。このカウント回路37のカウント値A[N:0]に従って、内部クロック信号CLKPおよびCLKNの遅延量が設定される。
【0014】
内部クロック発生回路902は、バッファクロック信号BUFCLKを遅延して内部クロック信号CLKPを生成する可変遅延線32と、バッファクロック信号ZBUFCLKを遅延して、内部クロック信号CLKNを生成する可変遅延線33を含む。これらの可変遅延線32および33に対し、カウント回路37のカウント値A[N:0]が共通に与えられる。カウント回路37は、双方向カウンタであり、位相検出器35の出力するアップ指示信号UPが活性化されるとそのカウント値を増分し、位相検出器35の出力するダウン指示信号DWNが活性化されるとそのカウント値を減分する。これらの可変遅延線32および33の遅延量は、カウント回路37のカウント値により設定され、このカウント値A[N:0]が増大すると、可変遅延線32および33の遅延量が増大する。
【0015】
カウント制御回路41は、イネーブル信号ENにより、カウント回路37のカウント動作を制御する。イネーブル信号ENがHレベルに設定されるとカウント回路37がカウント動作を行い、イネーブル信号ENがLレベルに設定されるとと動作が停止される。たとえばパワーダウンモードなどにおいて、カウント回路37のカウント動作を停止させて、消費電流を低減する。
【0016】
図26(A)および図26(B)は、図25に示す位相検出器35の位相検出動作を示す図である。位相検出器35は、フィードバッククロック信号FBCLKとバッファクロック信号BUFCLKとの位相が一致するように、出力信号UPおよびDWNを生成する。これらの信号UPおよびDWNは、互いに相補な信号である。位相検出タイミングは、バッファクロック信号BUFCLKの立上りエッジである。
【0017】
図26(A)において、バッファクロック信号BUFCLKの立上がりエッジで、フィードバッククロック信号FBCLKがLレベルの場合、フィードバッククロック信号FBCLKの位相を進める必要がある。したがって、この場合、位相検出器35からのダウン指示信号DWNがHレベルに設定され、フィードバッククロック信号FBCLKの遅延量が低減される。
【0018】
一方、図26(B)に示すように、バッファクロック信号BUFCLKの立上がりエッジで、フィードバッククロック信号FBCLKがHレベルのときには、このフィードバッククロック信号FBCLKの位相が、バッファクロック信号BUFCLKよりも進んでいる。したがって、この場合、フィードバッククロック信号FBCLKを遅らせる必要があり、アップ指示信号UPをHレベルに設定して、このフィードバッククロック信号FBCLKの遅延量を増大させる。
【0019】
図27および28は、図25に示すDLL回路900の動作を示す図である。以下、図27および図28を参照してDLL回路900の位相調整動作について簡単に説明する。
【0020】
図27において、時刻t1においてバッファクロック信号BUFCLKがHレベルに立上がる。可変遅延線32および33は、カウント回路37からのカウント値に従ってバッファクロック信号BUFCLKおよびZBUFCLKを遅延する。
【0021】
図27において、時刻t2において、内部クロック信号CLKPがHレベルに立上がる。レプリカバッファ34が、このデータ出力用の内部クロック信号CLKPを所定時間(一定の固定時間)遅延する。したがって、フィードバッククロック信号FBCLKは時刻t3においてHレベルに立上がる。この場合、フィードバッククロック信号FBCLKの立上がりエッジは、バッファクロック信号BUFCLKの立上がりエッジよりも早いタイミングで生じているため、位相検出器35は、内部クロック信号CLKPの遅延量を増加させるため、アップ指示信号UPをHレベルに設定する。
【0022】
すなわち、DLL回路900においては、バッファクロック信号BUFCLKおよびZBUFCLKを遅延させて、内部クロック信号CLKPおよびCLKNを生成する。フィードバッククロック信号FBCLKは、レプリカバッファ34により固定時間遅延されている。したがって、データ出力タイミングを、外部のクロック信号CLKの立上がりエッジよりも早いタイミングに設定することができ、外部クロック信号CLKのエッジに同期してデータの出力を行なうことができる。
【0023】
この位相調整動作により、図28において、フィードバッククロック信号FBCLKの立上がりエッジとバッファクロック信号BUFCLKの立上がりエッジが一致する。この場合は、図28の時刻t2において、データ出力用の内部クロック信号CLKPがHレベルに立上がっている。内部クロック信号CLKPに従って、データ出力が実行される。レプリカバッファ34は、データ出力バッファにおけるデータ伝搬の遅延時間を考慮して、その遅延時間が決定される。したがって、この図28に示すタイミングで、データ出力用の内部クロック信号CLKPおよびCLKNに従ってデータ出力を行なうことにより、時間t2からt3の間にデータが出力バッファを介して転送され、時刻t3において出力データが変化する。クロック信号CLKNについても、同様、バッファクロック信号ZBUFCLKを遅延して生成されるため、外部クロック信号CLKの立下りエッジでデータを出力することができる。これにより、外部クロック信号CLKの立上りエッジおよび立下りエッジにに同期してデータの出力を行なうことができる。
【0024】
バッファクロック信号BUFCLKとフィードバッククロック信号FBCLKの位相が一致するまでのサイクル数が最大となるのは、たとえばパワーオンリセット後にこれらのクロック信号BUFCLKおよびFBCLKの位相が180°ずれた場合である。
【0025】
すなわち、図29に示すように、バッファクロック信号BUFCLKとフィードバッククロック信号FBCLKの位相が180°ずれた場合、バッファクロック信号BUFCLKの立上がりエッジで、フィードバッククロック信号FBCLKの位相がHレベルまたはLレベルのいずれかに判定される。クロック信号BUFCLKおよびFBCLKは、Hレベル期間とLレベル期間とが等しいデューティが50%のクロック信号である。この場合、判定結果に従って、フィードバッククロック信号FBCLKの位相が変化した場合、それ以後のサイクルにおいて、信号UPまたはDWNが、位相が一致するまで連続して生成される。
【0026】
外部クロック信号CLK、すなわちバッファクロック信号BUFCLKの周期を、TCK(ns)、1サイクル当りのフィードバッククロック信号FBCLKの遅延量をΔt(ns)とすると、位相が180°ずれた場合、両者の位相を一致させるまでに必要なサイクル数は、(TCK/2)/Δtで与えられる。
【0027】
JEDEC(ジョイント・エレクトロン・デバイス・エンジニアリング・カウンシル)により仕様で定められているクロック周期の最大値TCKmaxを15ns、1サイクルの遅延量Δtを0.04nsと考えた場合、この位相一致までに、187サイクルが必要となる。一方、パワーオンリセットからDLL回路が位相を一致させるまでの最大サイクル数の仕様値は、200である。したがって、フィードバッククロック信号FBCLKのデューティ比を50%のままで、位相比較を行なった場合、この仕様値に対し余裕が極めて小さくなり、パワーオンリセット後、早いタイミングで安定に外部クロック信号に同期してデータを出力することができなくなるおそれがある。
【0028】
上述のDLL回路のロックに要する問題を回避するために、データ出力用のクロック信号をたとえば2ns程度の一定のパルス幅を有するセルフタイミングパルスに整形してフィードバックする技術が用いられる。
【0029】
図30は、セルフタイミングパルス発生回路を内蔵するDLL回路900の構成を概略的に示す図である。図30において、内部クロック生成回路902において、可変遅延線32および33の出力段に、それぞれワンショットパルス発生回路39および40が設けられる。これらのワンショットパルス発生回路39および40から出力用の内部クロック信号CLKPおよびCLKNが生成される。このワンショットパルス発生回路39の出力する内部クロック信号CLKPが、位相差検出回路904内のレプリカバッファ34へ与えられる。
【0030】
この図30に示すDLL回路の他の構成は、図25に示すDLL回路の構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【0031】
ワンショットパルス発生回路39は、図31に示すように、可変遅延線32の出力クロック信号CLKPFの立上がりに応答して所定時間Lレベルとなるワンショットのパルス信号を発生する。このワンショットパルス発生回路39の出力パルスをレプリカバッファ34を介してフィードバッククロック信号FBCLKとして位相検出器35にフィードバックする。
【0032】
カウント制御回路41は、この位相検出器35からダウン指示信号DWNが発生されるまで、イネーブル信号EN[N:0]の所定のビットをLレベルに設定し、カウント回路37のカウント単位を、最小値よりも増加させる。ダウン指示信号DWNが発生されると、カウント制御回路41は、このイネーブル信号EN[N:0]すべてをHレベルに設定する。これにより、遅延量減少時においては、1サイクルの遅延変化量を最小値に設定する。
【0033】
図32は、フィードバッククロック信号FBCLKとバッファクロック信号BUFCLKの位相関係を概略的に示す図である。このフィードバッククロック信号FBCLKは、ワンショットパルス発生回路39により、所定期間(たとえば2ns)のLレベル期間を有する。
【0034】
今、フィードバッククロック信号FBCLKの立下がりエッジが、バッファクロック信号BUFCLKの立上がりエッジとほぼ同様のタイミングで生成される状態を考える。位相検出器35が、このバッファクロック信号BUFCLKの立上がりエッジにおいて、フィードバッククロック信号FBCLKがHレベルであると判定すると、アップ指示信号UPをHレベルに設定し、遅延量を増加させる。したがって、この場合、フィードバッククロック信号FBCLKは、そのHレベル期間、位相をシフトさせる必要がある。一方、バッファクロック信号BUFCLKの立上がりエッジにおいて、フィードバッククロック信号FBCLKがLレベルであると判定されると、ダウン指示信号DWNがHレベルに設定され、遅延量が減少される。したがって、この場合には、フィードバッククロック信号FBCLKのLレベルの期間だけ、遅延量を調整する。
【0035】
フィードバッククロック信号FBCLKは、Lレベル期間がたとえば2nsと短く、Hレベル期間が長い。したがって、最初に、バッファクロック信号BUFCLKの立上がりエッジで、フィードバッククロック信号FBCLKがHレベルのときには、1サイクル当りの遅延変化量をたとえば8Δtに設定する。DLL回路900のリセット後に、初めてフィードバッククロック信号FBCLKがLレベルとなり、ダウン指示信号DWNがHレベルとなると、可変遅延線32および33の遅延各サイクルの遅延変化量をΔtに低減する。この場合、位相が一致するまでの最大サイクル数は、バッファクロック信号BUFCLKの周期をTCKとし、フィードバッククロック信号FBCLKのLレベル期間を2nsとすると、次式で表わされる。
【0036】
(TCK−2)/(8Δt)+2/Δt
周期TCKおよび最小遅延変化量Δtが、それぞれ、15nsおよび0.04nsの場合、位相が一致するまでに必要な最大サイクル数は、約90サイクルとなり、JEDECの仕様値の200サイクルに比べて大幅にマージンを大きくすることができる。
【0037】
図33は、図30に示すカウント制御回路41の構成を概略的に示す図である。図33において、カウント制御回路41は、イネーブル信号EN[N:3]をHレベル(電源電圧VDDレベル)に固定する配線41aと、電源投入検出信号(パワーオンリセット信号)ZPORに応答してリセットされかつダウン指示信号DWNの活性化に応答してセットされて、イネーブル信号EN[2:0]を生成するセット/リセットフリップフロップ41bを含む。
【0038】
この図33に示すカウント制御回路41の構成においては、電源投入後イネーブル信号EN[N:3]は、すべてHレベルに固定される。一方、セット/リセットフリップフロップ41bは、電源投入時に、電源投入検出信号ZPORによりリセットされ、イネーブル信号EN[2:0]をLレベルに設定する。ダウン指示信号DWNがHレベルに設定されると、このセット/リセットフリップフロップ41bがセットされ、イネーブル信号EN[2:0]がHレベルに設定される。
【0039】
図34は、図30に示すカウント回路37の構成を概略的に示す図である。この図34において、カウント回路37は、(N+1)段の単位カウンタCNT0−CNTNを含む。これらの単位カウンタCNT0−CNTNから、遅延設定信号(遅延段アドレス信号)A[0]−A[N]が生成される。この単位カウンタCNT0−CNTNに対しアップ指示信号UPおよびダウン指示信号WDNが与えられる。これらの単位カウンタCNT0−CNTNそれぞれに対し、イネーブル信号EN[0]−EN[N]が与えられる。単位カウンタCNT0−CNTNは、それぞれ対応のイネーブル信号EN[0]−EN[N]がHレベルに設定されたときにカウント動作を実行する。
【0040】
したがって、電源投入後、ダウン指示信号DWNが活性化されるまで、イネーブル信号EN[2:0]がLレベルであるため、単位カウンタCNT0−CNT2はカウント動作を行なわず、遅延段アドレス信号A[0]−A[2]はL初期値に維持される。単位カウンタCNT3−CNTNがアップ指示信号UPに従ってカウント動作を行ない、そのカウント値を増分する。
【0041】
遅延段アドレス信号ビットA[0:N]により、図30に示す可変遅延線32および33の遅延量が設定される。カウント動作においては、単位カウンタCNT3より上位の単位カウンタによりカウント動作が行われる。カウントビットA[3]より上位のカウントビット(遅延段アドレス信号)が変化する。従って、遅延段アドレス信号A「N:0」は可変遅延回路の遅延量を2進値で表示しており、遅延量の変更は、8Δtを単位として実行される。ここで、可変遅延線32および33の構成は後に説明するが、これらのカウントビットA[0]−A[N]の重みに応じた遅延量を有する遅延段が縦続接続され、これらのカウントビットA[0]−A[N]の値により、対応の遅延段のバイパスが選択的に行われ、可変遅延線の遅延量が設定される。
【0042】
したがって、フィードバッククロック信号FBCLKが、バッファクロック信号BUFCLKの立上がりエッジにおいてHレベルに設定されて、アップ指示信号UPがHレベルに設定されたときには、カウントビットA[3:N]によりカウント動作が行なわれ、8Δtを単位として遅延量が増分される。ダウン指示信号DWNがHレベルに設定されると、イネーブル信号EN[2:0]がHレベルに設定され、カウント回路37のカウントビットA[0]−A[N]を用いて、カウント動作が行なわれる。したがって、この場合には、可変遅延線32および33の遅延量はΔtを単位として変更される。
【0043】
バッファクロック信号BUFCLKとフィードバッククロック信号FBCLKの位相が接近した場合、位相検出器35の出力信号がメタステーブル(準安定)状態となる可能性がある。位相検出器35の出力信号が準安定状態となると、カウント回路37のカウントビットA[N:0]も準安定状態となり、可変遅延線32および33において用いられる遅延段数が不定状態となる。したがって、内部クロック信号CLKPおよびCLKNも不定状態となり、データ出力タイミングと外部クロック信号CLKとの同期がとれなくなる可能性がある。
【0044】
図35は、従来のDLL回路のさらに他の構成を示す図である。この図35に示すDLL回路900においては、位相検出器35の出力信号が準安定状態となる影響が、可変遅延線32および33において用いられる遅延段数に及ぶ確率を低減するために、位相検出器35の出力信号をシフト回路42を介してカウント回路37へ伝達する。このシフト回路42を通して位相検出器35の出力信号をカウント回路37へ伝達することにより、バッファクロック信号BUFCLKの立上がりでフィードバッククロック信号FBCLKが初めてLレベルとなり、その後、実際に遅延が減少するまでに、このシフト回路42によるタイムラグが存在する。このタイムラグの期間、シフト回路42の段数をM段とした場合、M×(8Δt)だけ遅延量が誤って増加する。たとえば、バッファクロック信号BUFCLKの立上がりエッジでフィードバッククロック信号FBCLKが初めてLレベルとなった直後の1サイクル当りの可変遅延量をΔt、シフト回路42のシフト段数を3段とした場合、この過剰な遅延量増加の補償のために、24サイクルが必要となる。
【0045】
このようなタイムラグによる過剰な制御を防止するために、カウント制御回路41において、この遅延量の過剰な増加を補償するための機能が設けられる。
【0046】
図36は、カウント制御回路41の構成の一例を示す図である。図36において、カウント制御回路41は、ダウン指示信号DWNを受けるインバータ41cと、イネーブル信号ENとインバータ41cの出力信号を受けるNOR回路41dと、バッファクロック信号BUFCLKとNOR回路41dの出力信号を受けるAND回路41eと、入力INに与えられる信号がHレベルのときに内部転送動作を行ない、入力INに与えられる信号がLレベルのときに、内部信号を出力OUTに出力するシフタ41fと、シフタ41fの出力信号を入力INに受けるシフタ41gと、シフタ41fおよび41gの出力信号を受けてイネーブル信号EN[2:0]を生成するAND回路41hを含む。
【0047】
このAND回路41hは、1ビットの信号を出力し、イネーブル信号EN[2:0]が共通に制御される。シフタ41fおよび41gのリセット入力RSTに対しては、リセット信号RESETが与えられる。このリセット信号RESETは、パワーオンリセット時またはシステムリセット時にHレベルに設定される。
【0048】
図37は、図36に示すシフタ41fおよび41gの構成の一例を示す図である。これらのシフタ41fおよび41gは、同一構成を有するため、図37においては1つのシフタの構成を代表的に示す。
【0049】
図37において、シフタ41fおよび41gの各々は、リセット入力RSTに与えられるリセット信号に従って内部ノードF0を接地電圧レベルにリセットするリセット用トランジスタTR0と、内部ノードF0の信号を反転するインバータIV0と、入力INに与えられる信号がLレベルのときに活性化されインバータIV0の出力信号を伝達するトライステートバッファTB0と、トライステートバッファTB0の出力信号を反転しかつラッチするインバータラッチLT0と、入力INに与えられる信号がHレベルのときに活性化され、ラッチLT0のラッチ信号を反転して伝達するトライステートバッファTB1と、トライステートバッファTB1の出力信号をラッチするインバータラッチLT1と、入力INに与えられる信号がLレベルのときに活性化され、ラッチLT1のラッチ信号を反転して出力ノードOUTに伝達するトライステートバッファTB2と、トライステートバッファTB2の出力信号をラッチするインバータラッチLT3を含む。
【0050】
入力INへ与えられる信号は、内部のインバータにより反転され、トライステートバッファTB0−TB2へ、入力INおよびZINの相補信号が制御信号として与えられる。
【0051】
図38は、図36および図37に示すカウント制御回路41の動作を示すタイミング図である。以下、図38を参照して、図36および図37に示すカウント制御回路の動作について説明する。
【0052】
初期状態においては、リセット入力RSTに与えられるリセット信号RESETにより、シフタ41fおよび41gがリセットされ、内部ノードF0はLレベルに設定される。ダウン指示信号DWNは、Lレベルであるため、インバータ41cの出力信号がHレベルであり、応じてNOR回路41dの出力信号はLレベルである。AND回路41eの出力信号はLレベルであり、シフタ41fにおいては、出力段のトライステートバッファTB2が活性状態にあり、Lレベルの信号を出力する。同様、シフタ41gにおいても、その出力信号F002は、Lレベルである。この状態において、イネーブル信号EN[2:0]はLレベルである。
【0053】
シフト回路42のシフト動作により、ダウン指示信号DWNがLレベルの間は、バッファクロック信号BUFCLKが発生されても、AND回路41eの出力信号はLレベルであり、シフタ41fおよび41gにおいては、トライステートバッファTB1が出力ハイインピーダンス状態であり、内部での転送動作は行なわれず、イネーブル信号EN[2:0]はすべてLレベルを維持する。
【0054】
シフト回路42のシフト動作により、ダウン指示信号DWNがHレベルに立上がると、インバータ41cの出力信号がLレベルとなる。応じて、NOR回路41dの出力信号がHレベルとなる。バッファクロック信号BUFCLKがHレベルに立上がると、AND回路41eの出力信号がHレベルとなり、シフタ41fにおいてトライステートバッファTB1が活性化され、ラッチLT0によりラッチされていたLレベルの信号が、ラッチLT1に転送される。この状態においては、トライステートバッファTB2は、出力ハイインピーダンス状態であり、その出力ノードOUTからの信号F001はLレベルを維持する。
【0055】
バッファクロック信号BUFCLKがLレベルに立下がると、トライステートバッファTB1が出力ハイインピーダンス状態となり、一方、トライステートバッファTB0およびTB2が活性化され、出力ノードOUTに、ラッチLT1によりラッチされているHレベルの信号が出力され、シフタ41fの出力信号F001がHレベルとなる。また、インバータIV0により、Lレベルの信号がラッチLT0に転送され、ラッチLT0は、その出力信号をHレベルに維持する。
【0056】
シフタ41gにおいては、シフタ41fの出力信号がF001がHレベルに立上がると、内部で転送動作を行ない、ラッチLT1のラッチ信号が、Hレベルとなる。
【0057】
次のサイクルにおいてダウン指示信号DWNがHレベルを維持していれば、シフタ41fが、再びバッファクロック信号BUFCLKの立上がりに応答して内部転送動作を行ない、ラッチLT0によりラッチされていたHレベルの信号をラッチLT1に転送する。バッファクロック信号BUFCLKがLレベルに立下がると、したがってトライステートバッファTB2が活性化され、その出力ノードOUTの出力信号F001がLレベルに立下がる。
【0058】
シフタ41fの出力信号F001がLレベルに立下がると、シフタ41gにおいて、最終段のトライステートバッファTB2が活性化され、ラッチLT1によりラッチされていたHレベルの信号が出力ノードOUTに転送され、その出力信号F002がHレベルとなる。シフタ41gの出力信号F002がHレベルとなっても、シフタ41fの出力信号F001はLレベルであり、AND回路41hの出力信号はLレベルである。したがって、イネーブル信号EN[2:0]は依然Lレベルを維持する。
【0059】
ダウン指示信号DWNが、Hレベルに設定されている場合、再び、シフタ41fにおいて、バッファクロック信号BUFCLKの立上がりに応答して転送動作が行なわれ、バッファクロック信号BUFCLKの立下がりに応答してシフタ41fの出力信号F001がHレベルに立上がる。
【0060】
シフタ41gにおいては、シフタ41fの出力信号F001がLレベルのときには、内部の転送動作は行なわれておらず、ラッチ状態を維持している。したがって、このシフタ41gの出力信号F002はHレベルを維持する。シフタ41fの出力信号がHレベルに立上がると、シフタ41gにおいて、トライステートバッファTB1が活性化され、ラッチLT0のラッチ信号がラッチLT1に転送される。しかしながら、この状態においては、トライステートバッファTB2が出力ハイインピーダンス状態となっており、ラッチLT3によりラッチされたHレベルの信号が出力される。したがって、シフタ41fの出力信号F001がHレベルに立上がると、シフタ41gの出力信号F001もHレベルであり、AND回路41hの出力信号、すなわちイネーブル信号EN[2:0]がHレベルとなる。
【0061】
イネーブル信号EN[2:0]がHレベルとなると、NORゲート41dの出力信号がLレベルに固定され、シフタ41fおよび41gでのシフト動作は行われず、以降、イネーブル信号EN[2:0]は、Hレベルに維持される。
【0062】
したがって、ダウン指示信号DWNが、3回通算して生成されると、イネーブル信号EN[2:0]がHレベルに設定され、カウント回路37のカウントが、全ビットA[N:0]を用いて実行される。
【0063】
シフト回路42が3段のシフタで構成され、このシフト回路42のシフト動作によるタイムラグにより、3回、遅延量が増加する場合には、合計3回、遅延段数を減少させてから、1サイクル当りの遅延変化量を最小単位のΔtに設定する。したがって、シフト回路42がN段のシフタで構成される場合には、カウント制御回路41においてシフタ41fおよび41gとして、シフタが(N−1)段設けられる。最終段のシフタとその前段のシフタの出力信号に従ってイネーブル信号EN[2:0]が生成される。
【0064】
【発明が解決しようとする課題】
シフト回路42において、M段のシフタを用い、バッファクロック信号BUFCLKの立上がりエッジのタイミングで、DLL回路のリセット後初めてフィードバッククロック信号FBCLKがLレベルになるまでの1サイクル当りの遅延変化量をnΔt、また、フィードバッククロック信号FBCLKのLレベル期間幅をΔTとすると、この過剰遅延増加量を補償するためには、次式を満たす必要がある。
【0065】
ΔT>M・nΔt
この不等式を満たせば、M回の過剰遅延増加に対し、M回遅延量を減少させるため、問題は生じない。しかしながら、プロセスばらつき等により、フィードバッククロック信号FBCLKのセルフタイミングパルス幅ΔTが短くなり、上述の不等式が成立しなくなっる可能性がある。いま、シフト回路42のシフタの段数を3段(M=3)の場合を考える。
【0066】
図39は、シフト回路42において、3段のシフタが設けられている場合のDLL回路の構成を概略的に示す図である。図39に示す位相差検出回路904において、位相検出器35の出力信号UP0をバッファクロック信号BUFCLKに同期して転送する3段のシフタ42ua−42ucと、位相検出器35の出力信号DWN0をバッファクロック信号BUFCLKに同期して転送するシフタ42da−42dcが設けられる。シフタ42ucおよび42dcの出力信号UPおよびDWNが、それぞれカウント回路37へアップ指示信号およびダウン指示信号として与えられる。ダウン指示信号DWNは、またカウント制御回路41へ与えられる。
【0067】
これらのシフタ42ua−42ucおよび42da−42dcの各々は、バッファクロック信号BUFCLKと前段回路の出力信号とに応答して与えられた信号を取込み、バッファクロック信号BUFCLKの立下がりに同期して取込んだ信号を出力する。したがって、シフタ42ucおよび42dcの出力する信号UPおよびDWNはバッファクロック信号BUFCLKの立下がりに同期して変化する。
【0068】
図40は、図39に示すDLL回路の位相調整動作を示す図である。今、通算3回、遅延段数を減少させる前に、フィードバッククロック信号FBCLKのLレベル期間が、バッファクロック信号BUFCLKの立上がりエッジを超えてしまう場合を考える。ここで、フィードバッククロック信号FBCLKのLレベル期間(セルフタイミング幅)が、Δlであり、3・8Δtよりも小さい場合を考える。
【0069】
クロックサイクル数0においては、シフタ42ua−42ucの出力信号UP0−UP2およびUPがすべてHレベルである。この状態においては、アップ指示信号UPがHレベルであり、フィードバッククロック信号FBCLKの遅延量が8Δt大きくされ、その位相が遅らされる。
【0070】
この位相調整動作により、クロックサイクル数1において、バッファクロック信号BUFCLKの立上がりエッジで、フィードバッククロック信号FBCLKがLレベルとなる。しかしながら、アップ指示信号UPは、Hレベルであるため、再びこのフィードバッククロック信号FBCLKの遅延量が8Δt大きくされる。以降、この動作が、クロックサイクル数3まで連続して行なわれる。
【0071】
したがって、クロックサイクル数4において、フィードバッククロック信号FBCLKが、バッファクロック信号BUFCLKの立上がりエッジでHレベルであっても、アップ指示信号UPが初めてLレベルとなるため、このフィードバッククロック信号FBCLKの遅延量が8Δt減分される。
【0072】
次のクロックサイクルにおいても、アップ指示信号UPはLレベルであるため、再びフィードバッククロック信号FBCLKの遅延量が8Δt小さくされる。クロックサイクル数6においては、フィードバッククロック信号FBCLKが、バッファクロック信号BUFCLKの立上がりエッジでLレベルであっても、シフタ42ucからのアップ指示信号UPがHレベルであるため、その遅延量が再び大きくされる。この場合、位相検出器35の出力信号UP0がLレベルとなる(信号DWN0がHレベル)。
【0073】
したがって、クロックサイクル数3から5までは、フィードバッククロック信号FBCLKは、バッファクロック信号BUFCLKの立上がりエッジでHレベルであるため、その遅延量が、サイクル6から8まで、3クロックサイクル連続して、大きくされる。
【0074】
クロックサイクル6において、フィードバッククロック信号FBCLKを遅延すると、フィードバッククロック信号FBCLKの位相がクロックサイクル数5のときの位相と同じ位相関係をバッファクロック信号BFCLKに対して有し、フィードバッククロック信号FBCLKのLレベル期間を超えて位相調整が行われる。すなわち、Lレベル期間を超えて位相調整が行われ、過剰に位相補償が行われている。
【0075】
クロックサイクル数9において、アップ指示信号UPが、サイクル数6における位相検出器35の出力信号UP0に従ってLレベルとなるため、このサイクルにおいてフィードバッククロック信号FBCLKの位相遅延量が8Δt小さくされる。ダウン指示信号DWNが、合計3回活性化されたため、次のサイクルからの位相調整単位は、Δtに設定される。
【0076】
ここで、アップ指示信号UPとダウン指示信号DWNは相補な信号であり、アップ指示信号UPがLレベルのときには、ダウン指示信号DWNはHレベルである。したがって、この場合、カウント制御回路41は、クロックサイクル数9における3回目のダウン指示信号(アップ指示信号UPのLレベル)に従ってイネーブル信号EN[2:0]をすべてHレベルに設定するため、クロックサイクル数10の1サイクル当りの遅延変化量が最小単位のΔtに変化する。
【0077】
クロックサイクル数7からは、フィードバッククロック信号FBCLKは、バッファクロック信号BUFCLKの立上がりエッジでHレベルであるため、クロックサイクル7から、位相検出器35の出力する信号UP0はHレベルである。応じて、クロックサイクル数10から再びシフタ42ucの出力するアップ指示信号UPがHレベルとなる。
【0078】
クロックサイクル数10においては、クロックサイクル数7の位相検出結果に従ってさらにその遅延量を大きくする必要がある。したがって、以降、バッファクロック信号BUFCLKの立上りエッジにおいてフィードバッククロック信号FBCLKがHレベルであるため、バッファクロック信号BUFCLKの次の立上がりエッジまで、このフィードバッククロック信号FBCLKの立上がりエッジを遅延させて、バッファクロック信号BUFCLKとフィードバッククロック信号FBCLKの立上りエッジを位相同期させる処理が行なわれる。
【0079】
フィードバッククロック信号FBCLKのLレベル期間とHレベル期間の和は、バッファクロック信号BUFCLKの周期TCKと同じである。したがって、このクロックサイクル数10からの遅延調整動作時においては、最小単位の遅延量Δtで、次のバッファクロック信号BUFCLKの立上がりエッジまで遅延量を増加させる必要がある。
【0080】
以上のように、プロセスのばらつき等により、上述のセルフタイミングパルス信号のLレベル期間が短くなり、シフト段数と遅延変化量の積よりも小さくなった場合、このシフト段におけるタイムラグに起因する遅延量の増加を補償することができなくなり、フィードバッククロック信号FBCLKがバッファクロック信号BFCLKにロックするまでに必要なサイクル数が大幅に増加するという問題が生じる。
【0081】
それゆえ、この発明の目的は、プロセスばらつき等が発生しても、外部クロック信号と高速で内部クロック信号の位相を同期させることのできるクロック発生回路を提供することである。
【0082】
この発明の他の目的は、プロセスばらつき等が生じても、ロックまでに要するクロックサイクル数の増大を抑制することのできるDLL回路を提供することである。
【0083】
【課題を解決するための手段】
この発明の第1の観点に係るクロック発生回路は、外部クロック信号に従って内部クロック信号を生成する内部クロック生成回路と、内部クロック信号と外部クロック信号との位相差を検出する位相差検出回路と、位相差検出回路の出力信号に従って内部クロック信号と外部クロック信号との位相関係が所定の状態となると所定の状態を予め定められた数のクロックサイクルの間連続して維持し、この予め定められた数に到達するとこの維持状態を解除する位相関係調整回路と、この位相関係調整回路の出力信号に従って内部クロック信号の位相を調整する位相調整回路と、この位相調整回路の所定状態の維持状態が予め定められた数に到達するまで位相調整回路の位相調整単位を第1の遅延量に設定し、かつ予め定められた回数に到達すると第1の遅延量よりも小さい第2の遅延量に設定する遅延制御回路を含む。
【0084】
好ましくは、位相関係調整回路は、位相差検出回路の出力信号を所定数のクロックサイクル遅延する遅延回路と、この遅延回路の出力信号が所定状態を示すときにその出力信号を強制的に所定状態を示す状態に設定する強制設定回路と、この強制設定を予め定められた数のクロックサイクルの経過に応答して解除する解除回路とを含む。
【0085】
好ましくは、所定数と予め定められた数とは等しい。
好ましくは、位相調整回路は、位相関係調整回路の出力信号の所定状態指示をカウントし、この内部クロック生成回路の遅延量を設定するカウント値を生成するカウンタを含む。遅延制御回路は、この位相関係調整回路の出力信号が所定状態が解除されるまで、カウンタのカウント単位を第1の遅延量に対応する値に設定する。
【0086】
好ましくは、内部クロック発生回路は、カウンタのカウント値により外部クロック信号を遅延する遅延量が設定される可変遅延回路で構成される。
【0087】
この発明の第2の観点に係るクロック発生回路は、外部クロック信号に従って内部クロック信号を生成する内部クロック生成回路と、内部クロック信号と外部クロック信号との位相差を検出する位相差検出回路と、位相差検出回路の出力信号に従って内部クロック信号と外部クロック信号との位相差を調整する位相調整回路と、この位相差検出回路の出力信号に従って、位相調整回路の位相調整単位を調整する遅延制御回路を含む。この遅延制御回路は、位相差検出回路の出力信号の所定の状態に応答して所定サイクル期間位相調整単位を第1の値から第2の値へ増大させかつ所定サイクル経過後第1の値よりも小さな最小値に設定する。
【0088】
好ましくは、内部クロック生成回路は、外部クロック信号を遅延して内部クロック信号を生成し、位相調整回路は、位相差検出回路の出力信号の所定状態指示をカウントし、内部クロック生成回路の遅延量を設定するカウント値を生成するカウンタを含む。遅延制御回路は、位相差検出回路の所定状態の出力信号に従って所定サイクル期間カウンタの所定のカウントビットを固定状態とし、かつ所定サイクル期間経過後に、このカウンタのカウントビットをすべて有効としてカウント動作を行なわせる。
【0089】
所定サイクル期間は、好ましくは1クロックサイクル期間である。
また、これに代えて、好ましくは、内部クロック生成回路は、外部クロック信号を遅延して内部クロック信号を生成する可変遅延回路を含み、遅延制御回路は、無効状態に初期設定される第1のビットが無効状態のとき、所定状態の出力信号を所定サイクル期間遅延して第1のビットを生成する遅延初期化回路と、位相差検出回路の所定状態の出力信号に従ってセットされて第1のビットよりも上位の第2のビットを無効状態に設定し、かつ遅延初期化回路の出力信号に従って第2のビットを有効とする遅延更新回路とを含む。有効状態のビットにより、内部クロック生成回路の遅延変化量が設定される。
【0090】
好ましくは、位相差検出回路は、内部クロック信号と外部クロック信号の位相差を検出する位相検出器と、この位相検出器の出力信号を所定時間遅延するシフト回路とを含む。このシフト回路により、位相差検出回路の出力信号が生成される。
【0091】
この発明の第3の観点に係るクロック発生回路は、外部クロック信号に従って内部クロック信号を生成する内部クロック生成回路と、内部クロック信号と外部クロック信号との位相差を検出する位相差検出回路と、位相差検出回路の出力信号に従って内部クロック信号と外部クロック信号との位相差を調整する位相調整回路と、位相差検出回路の出力信号に従って位相調整回路の位相調整単位を調整する遅延制御回路を含む。この遅延制御回路は、初期状態において位相調整単位を最小値よりも大きな第1の値に設定しかつ位相差検出回路の出力信号の所定状態解除に応答して位相調整単位を最小値に設定する。
【0092】
好ましくは、位相差検出回路は、外部クロック信号と内部クロック信号との位相差を検出する位相検出器と、この位相検出器の出力信号を所定クロックサイクル期間遅延して位相調整回路へ出力するシフト回路とを含む。
【0093】
好ましくは、位相調整回路は、位相差検出回路の出力信号の所定状態指示をカウントし、内部クロック生成回路の遅延量を設定するカウント値を生成するカウンタとを含む。内部クロック生成回路は、カウンタのカウント値により遅延時間が設定される可変遅延線を含む。この遅延制御回路は、好ましくは、初期化時カウンタの所定のビットを固定状態としかつ位相調整回路の出力信号の所定状態の完了に応答して所定のビットを有効状態としかつ該有効状態を維持する。カウンタは、所定のビットの固定状態のときそのビットについてカウント動作が禁止される。
【0094】
好ましくは、内部クロック発生回路は、内部クロック信号のエッジに応答してワンショットのパルス信号を生成して位相差検出回路へ印加するパルス発生回路を含む。
【0095】
位相調整回路が所定状態のときに、この所定状態を連続して所定クロックサイクル数維持し、その間位相調整単位を大きくすることにより、確実に、過剰に遅延調整された遅延量を補償することができる。
【0096】
また、この位相差検出回路において所定の状態が検出されたときに位相調整単位を増大させることにより、所定状態時においてのみ遅延変化量を大きくすることができ、反対方向に過剰に遅延量調整が行なわれた遅延量を確実に補償することができる。
【0097】
また、内部クロック信号と外部クロック信号の位相の所定の状態に応答して、位相調整単位を増大し、かつその所定状態解除に応答して位相調整単位を最小値に設定することにより、確実に、過剰に行なわれた遅延量変化を補償した後に、最小遅延量調整単位で遅延量調整を行なうことができ、高速で外部クロック信号と内部クロック信号の位相を同期させることができ、パラメータなどがばらついても、確実に、電源投入後、高速で内部クロック信号を外部クロック信号にロックさせることができる。
【0098】
【発明の実施の形態】
[実施の形態1]
図1は、この発明に従うDLL回路を内蔵する半導体記憶装置の全体の構成を概略的に示す図である。半導体記憶装置1は、外部からのアドレス信号ビットA0−A11とバンクアドレス信号ビットBA0およびBA1とを受けて内部アドレス信号ビットINTA0−INTA11、INTBA0およびINTBA1を発生するアドレスバッファ4と、相補外部クロック信号CLKおよびZCLKとクロックイネーブル信号CKEとを受けて内部クロック信号ICLKを発生するクロック入力バッファ2と、内部クロック信号ICLKに基づいてチップセレクト信号/CS、ロウアドレスストローブ信号/RAS、コラムアドレスストローブ信号/CAS、ライトイネーブル信号/WEおよび入出力データマスク信号UDMおよびLDMを内部に取込むコントロール入力バッファ6と、内部クロック信号ICLK、内部アドレス信号ビットINTA0−INTA11、INTBA0およびINTBA1と、コントロール入力バッファ6の出力信号とを受けてこの半導体記憶装置全体の動作制御を行なうコントロール回路8と、コントロール入力バッファ6の出力信号に応じて、この半導体記憶装置の動作モードを示すデータをコントロール回路8の指示により保持するモードレジスタ10とを含む。
【0099】
アドレスバッファおよびコントロール入力バッファ6は、内部クロック信号ICLKに同期して与えられた信号を取込み内部信号を生成する。入出力データマスク信号UDMおよびLDMは、それぞれ上位バイトデータおよび下位バイトデータのデータの書込/読出にマスクをかけるかどうかをそれぞれ指示する。
【0100】
コントロール回路8は、内部クロック信号ICLKに同期して、コントロール入力バッファ6から与えられた内部制御信号に基づいて指定された動作を決定し、この決定された動作モードに従って必要な内部動作制御信号を生成する。チップセレクト信号/CSが、この内部クロック信号ICLKの立上がり時においてLレベルであれば、この半導体記憶装置1が選択状態とされ、外部からの動作モード指示が有効と判定されて指定された動作が実行される。動作モードは、ロウアドレスストローブ信号/RAS、コラムアドレスストローブ信号/CASおよびライトイネーブル信号/WEと所定のアドレス信号ビットの内部クロック信号ICLKの立上がりエッジにおける論理状態の組合せにより指定される。
【0101】
モードレジスタ10は、この半導体記憶装置1におけるコラムレイテンシ、およびバースト長などのデータを保持する。
【0102】
半導体記憶装置1は、さらに、外部のデータバスとデータビットDQ0−DQ15の授受を行なうDQバッファ14と、データを記憶するメモリアレイ12a−12dを含む。これらのメモリアレイ12a−12dは、それぞれバンク♯0−♯3を構成し、互いに独立に選択状態へ駆動することができる。バンクアドレス信号BA0およびBA1により、1つのバンクが指定され、指定されたバンクに対して、外部からの制御信号/RAS、/CASおよび/WEにより構成されるコマンドにより指定される動作モードが実行される。
【0103】
半導体記憶装置1は、さらに、クロック入力バッファ2からのバッファクロック信号BUFCLKおよびZBUFCLKを受けてデータ出力用内部クロック信号CLKPおよびCLKNを生成するDLL回路16と、バス分離制御信号/QFCおよびデータストローブ信号QSを入出力するQFC/QSバッファ18を含む。バス分離コントロール信号/QFCは、この半導体記憶装置1に対しデータの書込/読出のアクセスが行なわれる場合、外部データバスと他の装置とを分離するための制御信号として用いることができる信号である。この半導体記憶装置が接続される外部データバスに接続される他の装置が外部データバスを使用する場合、バス分離制御信号/QFCにより、この半導体記憶装置1が出力ハイインピーダンス状態となり、外部バスから分離される。
【0104】
データストローブ信号LDQSおよびUBQSは、それぞれ下位バイトデータDQ0−DQ7および上位バイトデータDQ8−DQ15のストローブタイミングを決定する。データ書込が、この半導体記憶装置1に対して行なわれる場合には、外部のコントローラから、外部クロック信号に同期してこれらのデータストローブ信号LDQSおよびUDQSが与えられ、DQバッファ14は、QFC/QSバッファ18から与えられるストローブ信号に従って外部データDQ0−DQ15の取込を行なう。
【0105】
この半導体記憶装置1がデータを出力する場合には、QFC/QSバッファ18は、DQバッファ14におけるデータ出力タイミングに合せて、これらのデータストローブ信号LDQSおよびUDQSを変化させる。外部のコントローラは、この半導体記憶装置1から転送されるデータDQ0−DQ15を、データストローブ信号LDQSおよびUDQSに同期して取込む。
【0106】
この図1に示す半導体記憶装置1において、DLL回路16には、外部クロック信号CLKおよびZCLKに同期したバッファクロック信号BUFCLKおよびZBUFCLKが与えられる。このDLL回路16は、その構成は後に詳細に説明するが、セルフタイミングパルス発生回路を含み、電源投入後またはシステムリセット後において、このセルフタイミングパルスのLレベル期間を超えて位相調整が過剰に行なわれた場合、この過剰な位相調整を補償する機能を有する。
【0107】
図2は、図1に示すDLL回路16の構成を概略的に示す図である。図2において、DLL回路16は、バッファクロック信号BUFCLKおよびZBUFCLKに従ってデータ出力用の内部クロック信号CLKPおよびCLKNを生成する内部クロック生成回路902と、内部クロック信号CLKPに従ってフィードバッククロック信号FBCLKを生成し、このフィードバッククロック信号FBCLKとバッファクロック信号BUFCLKの位相差を比較し、比較結果に従って遅延段アドレス信号A[N:0]を出力する位相比較器38を含む。
【0108】
内部クロック生成回路902は、位相比較器38からの遅延段アドレス信号A[N:0]に従ってその遅延量が設定され、バッファクロック信号BUFCLKを遅延する可変遅延線32と、可変遅延線32の出力クロック信号CLKPFの立上がりに応答してワンショットのパルス信号を生成してデータ出力用クロック信号CLKPを生成するセルフタイミングパルス発生回路39と、位相比較器38の出力する遅延段アドレス信号A[N:0]に従ってその遅延量が設定され、バッファクロック信号ZBUFCLKを遅延する可変遅延線33と、可変遅延線33の出力クロック信号の立上がりに応答してワンショットのパルス信号を生成して、データ出力用内部クロック信号CLKNを生成するセルフタイミングパルス発生回路40を含む。
【0109】
バッファクロック信号BUFCLKおよびZBUFCLKは、クロック入力バッファ2において、例えば、外部クロック信号CLKおよびZCLKの交差部を検出して生成される。
【0110】
位相比較器38は、内部クロック信号CLKPとバッファクロック信号BUFCLKの位相差を検出する位相差検出回路904と、位相差検出回路904の出力信号UP3およびDWN3に従ってアップ指示信号UPおよびダウン指示信号DWNを生成する遅延制御回路20と、この遅延制御回路20の出力信号UPおよびDWNに従って、遅延段アドレス信号A[N:0]を生成する位相制御回路906を含む。
【0111】
位相差検出回路904は、内部クロック信号CLKPを遅延してフィードバッククロック信号FBCLKを生成するレプリカバッファ34と、レプリカバッファ34からのフィードバッククロック信号FBCLKとバッファクロック信号BUFCLKの位相差を検出する位相検出器35と、位相検出器35の出力信号UP0およびDWN0をバッファクロック信号BUFCLKに従って転送するシフト回路42を含む。
【0112】
レプリカバッファ34は、図1に示すDQバッファ14におけるデータ出力遅延時間を補償するために、内部クロック信号CLKPを、DQバッファ14における遅延時間と同じ時間遅延して、フィードバッククロック信号FBCLKを生成する。
【0113】
位相検出器35は、このフィードバッククロック信号FBCLKとバッファクロック信号BUFCLKの位相差に応じて位相差検出信号UP0およびDWN0を生成する。
【0114】
シフト回路42は、位相検出器35の位相差検出信号UP0をバッファクロック信号BUFCLKに従って転送するシフタ42ua−42ucと、位相検出器35の出力信号WDN0をバッファクロック信号BUFCLKにしたがって転送するシフタ42da−42dcを含む。このシフト回路42は、本実施の形態1において、3段のシフタを含む。したがって、位相検出器35の出力信号UP0およびDWN0は、3クロックサイクル期間遅延された後に、遅延制御回路20へ与えられる。
【0115】
遅延制御回路20は、このシフト回路42の出力信号DWN3が、活性化されると、連続する3クロックサイクル期間ダウン指示信号DWNをHレベルに設定して、内部クロック信号CLKPの遅延量減少を指示する。
【0116】
位相制御回路906は、この遅延制御回路20の出力信号UPおよびDWNに従って双方向にカウント動作を行なうカウント回路37と、遅延制御回路20の出力するダウン指示信号DWNに従ってカウント回路37のカウント動作を制御するカウント制御回路41を含む。
【0117】
カウント制御回路41は、電源投入後またはシステムリセット後、ダウン指示信号DWNがHレベルの間、カウント回路37の下位のカウントビットを制御するイネーブル信号EN[0:2]をLレベルに設定し、その後、イネーブル信号EN[0:2]をHレベルに設定する。残りのイネーブル信号EN[3:N]は、電源投入によりHレベルに固定される。
【0118】
カウント回路37は、イネーブル信号EN[0:N]に従って、各ビットの状態が設定される。すなわち、イネーブル信号EN[i]がLレベルのときには、カウント回路37において遅延アドレス信号ビットA[i]が固定され、このビットについてはカウントがされない。従って、カウント回路37は、初期時においては、カウントビットA[3:N]を用いてカウント動作を行い、カウントビットA[0:2]は、その状態が初期状態に固定される。従って、カウント回路37においては、カウント動作が、ビットA[3:N]にしたがって行われるため、内部クロック信号CLKPおよびCLKNは、このカウント時の最下位ビットA[3]が規定する遅延量を単位として位相が調整される。
【0119】
図3は、図2に示す可変遅延線32および33の構成の一例を示す図である。これらの可変遅延線32および33は、同一構成を有するため、図3において、1つの可変遅延線32の構成を示し、可変遅延線33については、括弧内にその信号を示す。
【0120】
図3において、可変遅延線32は、(N+1)段の遅延段DS0−DSNと、遅延段DS0−DSNのそれぞれの入力に設けられ、導通時入力ノードNIに前段の遅延段の出力ノードNO0−NON−1を対応の入力ノードNI0−NINに接続するNチャネルMOSトランジスタTN0−TNNと、遅延段DS0−DSNそれぞれに対応して設けられ、導通時対応の遅延段DS0−DSNをバイパスするPチャネルMOSトランジスタTP0−TPNを含む。
【0121】
MOSトランジスタTN0−TNNへは、カウント回路37からの遅延段アドレス信号ビットA[0]−A[N]が与えられ、また、MOSトランジスタTP0−TPNのゲートへも、同様遅延段アドレス信号A[0]−A[N]が与えられる。
【0122】
この可変遅延線32において、遅延段DS0−DSNは、それぞれ偶数段の縦続接続されるインバータで構成される。遅延段DSjは、遅延時間(2^(j+1))Δivを有する。ここで、Δivは、インバータ1段の遅延時間を示す。また、符号^は、べき乗を示す。
【0123】
したがって、この可変遅延線32において、最小遅延量Δtは、2段のインバータの遅延段時間2Δivで与えられる。遅延段アドレス信号ビットA[0:N]をカウント回路37のカウント値に従って設定することにより、インバータ1段の遅延時間Δivを重みとして、遅延段アドレス信号A[0:N]により2進表示された遅延時間を、バッファクロック信号BUFCLKに対して与えることができる。
【0124】
たとえば、アドレス信号ビットA[0]が“1”(Hレベル)であり、残りのカウントビットA[1:N]が“0”(Lレベル)のときには、MOSトランジスタTN1−TNNおよびTP0が非導通状態、MOSトランジスタTN0およびTP1−TPNが導通状態となる。したがって、この場合、1段の遅延段DS0により遅延された信号が、出力ノードNONに伝達される。この場合、出力クロック信号CLKPFまたはCLKNFの遅延時間は、Δtで与えられる。
【0125】
図4は、図2に示すセルフタイミングパルス発生回路39の構成の一例を示す図である。図4において、タイミングパルス発生回路39は、可変遅延線32からのクロック信号CLKPFを受ける3段の縦続接続されるインバータ39a−39cと、インバータ39cの出力信号PFAとクロック信号CLKPFとを受けて内部クロック信号CLKPを生成するNANDゲート39を含む。インバータ39a−39cにより、反転遅延回路が形成される。
【0126】
図5は、図4に示すセルフタイミングパルス発生回路39の動作を示すタイミング図である。以下、図5を参照して、図4に示すセルフタイミングパルス発生回路39の動作について説明する。
【0127】
可変遅延線32の出力クロック信号CLKPFがHレベルに立上がるとき、インバータ39cの出力信号PFAはHレベルにある。応じて、NAND回路39dから出力されるクロック信号CLKPがLレベルに立上がる。インバータ39a−39cの有する遅延時間が経過すると、インバータ39cの出力信号PFAがLレベルとなり、応じてNANDゲート39dからの内部クロック信号CLKPがHレベルとなる。
【0128】
したがって、このセルフタイミングパルス発生回路39は、可変遅延線32からの出力クロック信号CLKPFの立上がりに応答して、インバータ39a−39cの有する遅延時間の間Lレベルとなるパルス信号を生成する。
【0129】
内部クロック信号CLKNを生成するセルフタイミングパルス発生回路40もこの図4に示すセルフタイミングパルス発生回路39と同様の構成を有し、可変遅延線33の出力クロック信号の立上がりに同期して、Lレベルとなるワンショットのパルス信号を生成する。
【0130】
図6は、図2に示すレプリカバッファ34の構成の一例を示す図である。図6において、レプリカバッファ34は、偶数段の縦続接続されるインバータ34a−34dを含む。図6においては、1例として4段のインバータ34a−34dが、レプリカバッファ34において用いられる。このレプリカバッファ34は、図1に示すDQバッファの内部クロック信号CLKPおよびCLKNの立上がりエッジに対するデータ出力の遅延時間に等しい遅延時間を、フィードバッククロック信号FBCLKに対して与える。ここで、バッファクロック信号BUFCLKおよびZBUFCLKは外部クロック信号に対して遅延時間はないものとする。バッファクロック信号BUFCLKおよびZBUFCLKを生成するクロック入力バッファ2における遅延時間を考慮する場合には、このレプリカバッファ34において、クロック入力バッファにおける遅延時間がさらに追加される。
【0131】
図7は、図2に示すDQバッファ14に含まれるデータ出力部の構成を概略的に示す図である。図7においては、1ビットのデータを出力する部分の構成を代表的に示す。図7において、DQバッファ14は、並列に内部読出データRDoおよびRDeを受ける出力バッファ14pおよび14nを含む。出力バッファ14pは、内部クロック信号CLKPがHレベルとなると活性化されてデータ出力ノードを内部読出データRDoに従って駆動する。出力バッファ14nは、内部クロック信号CLKNの立上がりに応答して活性化されて、内部読出データRDeに従って出力ノードを駆動する。
【0132】
内部読出データRDoおよびRDeは、内部で並列に読出され、出力バッファ14pおよび14nを交互に活性化することにより、外部クロック信号CLKの立上がりエッジおよび立下がりエッジに同期してデータを転送する。
【0133】
図8は、図7に示すDQバッファの動作を示すタイミング図である。以下、図8を参照して図7に示すDQバッファ14の動作について簡単に説明する。
【0134】
定常状態時においては、フィードバッククロック信号FBCLKの立上がりエッジが、バッファクロック信号BUFCLKの立上がりエッジに同期している。出力信号CLKPが、このフィードバッククロック信号FBCLKよりも位相が進んでおり、この内部クロック信号CLKPの立上がりに同期して出力バッファ14pが活性化されて外部へデータを出力する。この場合、レプリカバッファ34により、出力バッファ14pにおけるデータ伝搬遅延が補償されており、データDQは、バッファクロック信号BUFCLK、すなわち外部クロック信号CLKに同期して変化する。
【0135】
また、クロック信号CLKNは、相補のバッファクロック信号ZBUFCLKに同期して変化する。したがって、この内部クロック信号CLKNは、バッファクロック信号BUFCLKの立下がりエッジよりも早いタイミングでHレベルとなり、出力バッファ14nが内部クロック信号CLKNに従ってデータの出力を行なう。したがって、これらの出力バッファ14pおよび14nを交互に活性化することにより、バッファクロック信号BUFCLKすなわち外部クロック信号CLKの立上がりエッジおよび立下がりエッジに同期してデータを出力することができる。
【0136】
なお、このセルフタイミングパルス発生回路からのセルフタイミングパルスCLKPおよびCLKNをそのまま出力バッファ14pおよび14Nを活性化するために用いた場合、これらのタイミングパルスCLKPおよびCLKNのHレベル期間が重なる期間が存在する。この場合、出力バッファ14pおよび14nを、それぞれ、内部クロック信号CLKPおよびCLKNの立上がりエッジから所定期間のみ活性状態にする構成が用いられてもよい。またこれに代えて、内部クロック信号CLKPと可変遅延線32の出力クロック信号CLKPFの論理積をとった信号を出力バッファ14pへ与え、また可変遅延線33の出力クロック信号と内部クロック信号CLKNの論理積をとった信号を、出力バッファ14nへ、データ出力制御クロック信号として与えてもよい。
【0137】
図9は、図2に示す位相検出器35の構成の一例を示す図である。図9において、位相検出器35は、バッファクロック信号BUFCLKとフィードバッククロック信号FBCLKを受けるNAND型フリップフロップ35aと、バッファクロック信号BUFCLKとフリップフロップ35aの出力信号S2とを受けるNAND型フリップフロップ35bと、フリップフロップ35aの出力信号S1を受けるインバータ35cと、インバータ35cの出力信号とバッファクロック信号BUFCLKとフリップフロップ35bの出力信号S3を受けるNANDゲート35dと、フリップフロップ35bの出力信号S3とNANDゲート35dの出力信号S4とを受けてアップ指示信号UPおよびダウン指示信号DWNを生成するNAND型フリップフロップ35eを含む。
【0138】
フリップフロップ35aは、バッファクロック信号BUFCLKがLレベルのときに出力信号S1がHレベルに設定され、フィードバッククロック信号FBCLKがLレベルのときにその出力信号S2がHレベルに設定される。フィードバッククロック信号FBCLKの位相が、バッファクロック信号BUFCLKよりも進んでいるときに、信号S2がLレベルとなり、逆の場合には、信号S1がHレベルになる。
【0139】
フリップフロップ35bは、バッファクロック信号BUFCLKがLレベルのときにその出力信号S3をHレベルに設定する。フリップフロップ35eは、フリップフロップ35bの出力信号S3がLレベルのときにアップ指示信号UPをHレベルに設定し、NANDゲート35dの出力信号がLレベルのときにダウン指示信号DWNをHレベルに設定する。
【0140】
図10は、図9に示す位相検出器35の動作を示すタイミング図である。以下、図10を参照して図9に示す位相検出器35の動作について説明する。
【0141】
バッファクロック信号BUFCLKがLレベルのとき、フリップフロップ35aの出力信号S1はHレベルである。また、フィードバッククロック信号FBCLKがLレベルの間、このフリップフロップ35aの出力信号S2もHレベルである。またフリップフロップ35bの出力信号S3もバッファクロック信号BUFCLKがLレベルの間Hレベルである。また、バッファクロック信号BUFCLKがLレベルの間、NANDゲート35bの出力信号S4はHレベルである。したがって、フリップフロップ35eの出力信号UPおよびDWNは、前のサイクルの状態を維持する。
【0142】
フィードバッククロック信号FBCLKが、バッファクロック信号BUFCLKの立上がりよりも早いタイミングで立上がった場合、フリップフロップ35aの出力信号S2がLレベルとなる。このときまだ、バッファクロック信号BUFCLKはLレベルであるため、信号S1、S3およびS4はすべてHレベルを維持する。
【0143】
バッファクロック信号BUFCLKがHレベルに立上がると、フリップフロップ35bの出力信号S3がLレベルに立下がり、応じて、フリップフロップ35eからのアップ指示信号UPがHレベルに設定される。フリップフロップ35aの出力信号S1はHレベルであり、インバータ35cの出力信号はLレベルである。したがって、NANDゲート35dの出力信号S4はHレベルであるため、このアップ指示信号UPがHレベルに設定されると、ダウン指示信号DWNが、Lレベルに設定される。
【0144】
バッファクロック信号BUFCLKがLレベルに立下がると、再びフリップフロップ35bの出力信号S3がHレベルに立上がる。フリップフロップ35aにおいては、フィードバッククロック信号FBCLKがLレベルに立下がると、その出力信号S2がHレベルとなる。
【0145】
フィードバッククロック信号FBCLKがLレベルのときに、バッファクロック信号BUFCLKがHレベルに立上がった場合、フリップフロップ35aにおいて出力信号S1がLレベルとなり、インバータ35cの出力信号がHレベルとなる。フィードバッククロック信号FBCLKがLレベルであるため、フリップフロップ35aの出力信号S2はHレベルであり、フリップフロップ35bの出力信号S3は、このバッファクロック信号BUFCLKの立上がり時においてもHレベルである。したがって、NANDゲート35eの出力信号がすべてHレベルとなり、このNANDゲート35dの出力信号S4がLレベルとなり、応じてフリップフロップ35eの出力するダウン指示信号DWNがHレベルとなる。このダウン指示信号DWNがHレベルとなると、フリップフロップ35bの出力信号S3はHレベルであるため、アップ指示信号UPはLレベルとなる。
【0146】
したがって、この位相検出器35において、バッファクロック信号BUFCLKの立上がりエッジにおいて、フィードバッククロック信号FBCLKがHレベルであるかLレベルであるかに応じて、アップ指示信号UPおよびダウン指示信号DWNの状態を決定する。カウント回路37は、この位相検出器35のアップ指示信号UPがHレベルのときにカウントアップ動作を行ない、ダウン指示信号DWNがLレベルのときにカウントダウン動作を行なう。
【0147】
図11は、図2に示すカウント回路37の構成の一例を示す図である。図11において、カウント回路37は、遅延段アドレス信号A[0]−A[N]を生成する遅延段アドレス信号生成回路ADG0−ADGNと、遅延段アドレス信号生成回路ADG0−ADGN−1に対応して設けられ、対応の遅延段アドレス信号発生回路の遅延段アドレス信号の次段回路への転送を制御する転送制御回路CTL1−CTLNと、遅延段アドレス信号発生回路ADG0のカウント動作を制御するANDゲートAG0を含む。
【0148】
転送制御回路CTL1−CTLNが、それぞれイネーブル信号信号ビットEN[1]−EN[N]に従って選択的に能動化され、能動化時、アップ指示信号UPおよびダウン指示信号DWNに従って遅延段アドレス信号発生回路ADG−ADGNにカウントアップまたはカウントダウン動作を行なわせる。
【0149】
転送制御回路CTL1−CTLNの各々は、同一構成を有し、対応のイネーブル信号ビットEN[1]−EN[N]がHレベルのときに、アップ指示信号UPを通過させるANDゲートAG1と、対応のイネーブル信号ビットEN[1]−EN[N]がHレベルのときにダウン指示信号DWNを通過させるANDゲートAG2を含む。
【0150】
遅延段アドレス信号生成回路ADG0−ADGN−1は同一構成を有し、それぞれ、JKフリップフロップFFと、対応の転送制御回路のANDゲートAG1の出力信号がHレベルのときにJKフリップフロップFFの出力Qからの信号を伝達するANDゲートAG3と、対応の転送制御回路のANDゲートAG2の出力信号がHレベルのときに対応のJKフリップフロップFFの出力ZQからの信号を通過させるANDゲートAG4と、ANDゲートAG3およびAG4の出力信号を受けるORゲートOG0を含む。
【0151】
JKフリップフロップFFは、その入力JおよびKが相互接続され、クロック入力CPに、カウントパルスCPLを受ける。ORゲートOG0の出力信号は次段の遅延段アドレス信号生成回路のJKフリップフロップFFの入力JおよびKに与えられる。JKフリップフロップFFは、カウントパルスCLPの立下りにおける入力JおよびKの信号に従って、出力状態が決定される。
【0152】
ANDゲートAG0は、電源電圧VDDとイネーブル信号ビットEN[0]を受け、その出力信号を遅延段アドレス信号生成回路ADG0のJKフリップフロップFFの入力JおよびKへ与える。
【0153】
遅延段アドレス信号生成回路ADGNは、最終段の回路であり、JKフリップフロップFFを含む。このJKフリップフロップFFの出力ZQから、遅延段アドレス信号ビットA[N]が出力される。
【0154】
イネーブル信号ビットEN[0]−EN[N]がすべてHレベルのときには、カウント回路37はカウント動作を実行する。アップ指示信号UPがHレベルのときには、ANDゲートAG1の出力信号がHレベル、ANDゲートAG2の出力信号はLレベルである。したがって、遅延段アドレス信号生成回路ADG0−ADGN−1においてANDゲートAG3がイネーブルされ、ORゲートOG0を介して次段へ、対応の遅延段アドレス信号ビットA[0]−A[N−1]が伝達される。JKフリップフロップFFは、その入力JおよびKがともにHレベルのときには、カウントパルスCPLの立下がりに応答してその出力状態を変更する。JKフリップフロップFFは、その入力AおよびKがともにLレベルのときには、出力状態は前のサイクルの状態を維持する。したがって、アップ指示信号UPが与えられたときには、遅延段アドレス信号ビットA[0]−A[N−1]に従って次段のアドレス信号生成回路の出力状態が設定され、1カウントアップするカウント動作が実行される。
【0155】
一方、ダウン指示信号DWNがHレベルのときには、JKフリップフロップFFの出力ZQからの信号が、ANDゲートAG4およびORゲートOG0を介して次段の遅延段アドレス生成回路へ伝達される。したがって、この場合には、補の出力ZQからの信号に従って次段の遅延段アドレス信号生成回路の出力状態が設定されるため、1カウントダウンする動作が実行される。遅延段アドレス信号ビットA[0]−A[N]は、JKフリップフロップFFの出力Qから生成される。したがって、アップ指示信号UPが1回与えられると、可変遅延線においてカウント回路37が通常動作を行なっている場合には、1段の遅延段DS0の遅延量を単位として、その遅延量が更新される。
【0156】
図2に示すカウント制御回路41としては、図36および図37に示すカウント制御回路の構成が用いられる。すなわち、通算3回ダウン指示信号DWNが発生されると、イネーブル信号ビットEN[2:0]をLレベルからHレベルに設定する。
【0157】
図12は、図2に示す遅延制御回路20の構成を示す図である。図12において、遅延制御回路20は、バッファクロック信号BUFCLKを所定時間遅延する遅延回路20aと、遅延回路20aの出力信号BUFCLKDと制御信号FIXDWNとを受けるNANDゲート20bと、NANDゲート20bの出力信号を反転するインバータ20cと、図2に示すシフタ42cからの信号DWN3の活性化時セットされかつリセット信号RESETに応答してリセットされるNOR型フリップフロップ20iと、フリップフロップ20iの出力信号とインバータ20cの出力信号とを受けるANDゲート20dと、ANDゲート20dの出力信号がHレベルとなると内部転送動作を行なうシフタ20eと、シフタeの出力信号F101がHレベルとなると内部転送を行なうシフタ20fと、シフタ20fの出力信号F102がHレベルとなると内部転送動作を行なうシフタ20gと、NANDゲート20bの出力信号とシフタ20gの出力信号F103とを受けるNANDゲート20hと、リセット信号RESETとフリップフロップ20iの出力信号を受けるORゲート20jと、ORゲート20jの出力信号の立上がりに応答してワンショットのパルス信号を生成するワンショットパルス発生回路20kを含む。
【0158】
シフタ20e−20gは、先の図37に示すシフタ41fおよび41gと同じ構成を備え、リセット信号RESETの活性化に応答してその出力信号F101−F103がそれぞれLレベルに初期設定される。
【0159】
ワンショットパルス発生回路20kは、3段の縦続接続されるインバータと、ORゲート20jの出力信号と3段のインバータの出力信号とを受けるNANDゲートを含む。したがって、このワンショットパルス発生回路20kからは、ORゲート20jの出力信号の立上がりに応答して所定時間Lレベルとなるパルス信号が生成される。
【0160】
遅延制御回路20は、さらに、ワンショットパルス発生回路20kの出力パルスに応答してセットされかつNANDゲート20hの出力信号に従ってリセットされるNAND型フリップフロップ20lと、フリップフロップ20lの出力信号FIXDWNを受けるインバータ20mと、図2に示すシフタ42dcの出力信号DWN3とフリップフロップ20Lの出力信号FIXDWNを受けてダウン指示信号DWNを生成するORゲート20pと、インバータ20mの出力信号と図2に示すシフタ42uaの出力信号UP3を受けてアップ指示信号UPを生成するANDゲート20nを含む。
【0161】
フリップフロップ20lは、ワンショットパルス発生回路20kの出力パルスがLレベルとなるとその出力信号FIXDWNをHレベルに設定し、NANDゲート20hの出力信号がLレベルとなるとその出力信号FIXDWNをLレベルにリセットする。
【0162】
遅延制御回路20は、さらに、リセット信号RESETに応答してフリップフロップ20iをリセットするNチャネルMOSトランジスタ20qと、リセット信号RESETを受けるインバータ20rと、インバータ20rの出力信号に従ってワンショットパルス発生回路20kの出力信号をHレベルにリセットするPチャネルMOSトランジスタ20sと、リセット信号RESETに応答してフリップフロップ20lの出力信号FIXDWNをLレベルにリセットするNチャネルMOSトランジスタ20tを含む。
【0163】
この遅延制御回路20においては、シフタ42dcからの信号DWN3がHレベルとなると、強制的に、連続する3サイクル期間ダウン指示信号DWNをHレベルに設定して、遅延量減少動作を行なう。連続的に、3サイクルにおいて遅延減少動作を行なうことにより、過剰に増大された遅延量を補償する。
【0164】
図13は、図3に示す遅延制御回路20の動作を示すタイミング図である。以下、図13を参照して、図2から図12に示すDLL回路の動作について説明する。
【0165】
電源投入後またはシステムリセット後、この半導体記憶装置1に対し、DLLリセットコマンドが入力されると、図1に示すコントロール回路8の制御の下に、所定期間Hレベルとなるワンショットのパルスの形態でリセット信号RESETが発生される。このリセット信号RESETにより、DLL回路16が初期化され、図20に示す遅延制御回路20からのダウン指示信号DWNがLレベルに初期化される。
【0166】
また、カウント制御回路41においても、図36に示すように、リセット信号RESETに従って、イネーブル信号ビットEN[2:0]がすべてLレベルに初期化される。イネーブル信号ビットEN[3]−EN[N]はHレベルに固定される。したがって、図11に示すカウント回路37において、初期状態においては、遅延段アドレス信号発生回路ADG0−ADG2のカウント動作が禁止される(ORゲートOG0の出力信号がLレベルとなり、またANDゲートAG0の出力信号がLレベルとなるため)。可変遅延線32および33のデフォルト値の遅延時間により、このカウント回路37の初期化時のカウント値(遅延段アドレス信号A[0:N]の初期値)が適当な値に定められる。
【0167】
このDLL回路16がリセットされた後、位相比較器38が動作し、位相検出器35から、相補なアップ指示信号UP0およびダウン指示信号DWN0が生成され、図2に示すシフタ42ua−42ucおよび42da−42dcを介して遅延制御回路20へ与えられる。このシフタにおけるシフトサイクル時においては、イネーブル信号ビットEN[0]−EN[2]がLレベルであり、遅延段アドレス信号A[0]−A[2]は更新されず初期値を維持し、遅延段アドレス信号A[3]−A[N]で表わされる部分だけが更新される。したがって、DLL回路16のリセット後ダウン指示信号DWNがHレベルに到達するまでは、その可変遅延線32および33においては、遅延段アドレス信号ビットA[3]を最下位ビットとして遅延量が変化するため、8Δtの遅延時間単位で、その遅延時間が変化する。このダウン指示信号DWNがHレベルになるまでの可変遅延線32および33の遅延変化量は、8Δtに限定されず、適当な値に定められてもよい。
【0168】
シフト動作により、シフタ42dcからの信号DWN3がHレベルとなると、フリップフロップ20iがセットされ、その出力信号がHレベルとなる。また、この信号DWN3に従ってORゲート20pからのダウン指示信号DWNがHレベルとなる。また、OR回路20jの出力信号の立上がりに応答してワンショットパルス発生回路20kがワンショットのパルスを発生し、フリップフロップ20lがセットされ、その出力信号FIXDWNがHレベルに設定される。したがって、このシフタ42dcからの信号DWN3がHレベルに立上がると、フリップフロップ20iおよび20lがセットされるため、次のサイクルにおける信号DWN3の論理レベルにかかわらず、ダウン指示信号DWNはHレベルに固定される。
【0169】
遅延回路20aからの遅延バッファクロック信号BUFCLKDがHレベルに立上がると、インバータ20cの出力信号がHレベルとなる。このフリップフロップ20iの出力信号がHレベルに設定されると、遅延バッファクロック信号BUFCLKDの立上りに応答してANDゲート20dの出力信号がHレベルとなる。ANDゲート20dの出力信号がHレベルとなると、シフタ20eが内部転送動作を行ない、遅延バッファクロック信号BUFCLKDの立下がりに応答してANDゲート20dの出力信号はLレベルとなると、シフト20eにおいて取込んだ内部信号が出力され、この出力信号F101がHレベルとなる。フリップフロップ20lがセット状態にあり、その出力信号FIXDWNがHレベルの間、このシフタ20eがシフト動作を行ない、その出力信号F101は、遅延バッファクロック信号BUFCLKDの立下がりに応答して、その論理レベルが変化する。
【0170】
シフタ20fは、そのシフタ20eの出力信号がHレベルのとき内部転送動作を行ない、このシフタ20eの出力信号F101の立下がりに応答して取込んだ内部転送した信号を出力する。したがって、このシフタ20fからは、シフタ20eの出力信号F101の立下がりに応答してその論理レベルが変化する出力信号F102が生成される。
【0171】
シフタ20gも同様のシフト動作を行ない、このシフタ20fの出力信号F102がHレベルからLレベルになると、その出力信号F103がHレベルに立上がる。したがって、3クロックサイクル期間、シフタ20e−20gにおいてシフト動作を行なうことにより、信号DWN3がHレベルに立上がってから、3クロックサイクル期間連続的にダウン指示信号DWNをバッファクロック信号BUFCLKの立上がりエッジでHレベルに設定することができる。
【0172】
シフタ20eの出力信号F103がHレベルとなると、バッファクロック信号BUFCLKDの立下がりに応答してNANDゲート20eの出力信号がHレベルとなり、応じてNANDゲート20hの出力信号がLレベルとなる。したがって、フリップフロップ20lがリセットされ、その出力信号FIXDWNがLレベルにリセットされ、またダウン指示信号DWNもLレベルとなる。以降はシフタからの信号DWN3に従ってORゲート20bがダウン指示信号DWNを生成し、またANDゲート20pが、シフタからの信号UP3に従ってアップ指示信号UPを生成する。
【0173】
このダウン指示信号DWNを強制的にHレベルに3クロックサイクル期間設定している場合、このインバータ20mの出力信号がLレベルであり、アップ指示信号UPはLレベルである。
【0174】
フリップフロップ20iは、電源投入後において、シフタからの信号DWN3が最初にHレベルに立上がるとセットされその出力信号をHレベルに立上げる。以降、このフリップフロップ20iはセット状態を維持し、その出力信号はHレベルに維持される。したがって、最初に、シフタ42dcからの信号DWN3が初めてHレベルに立上がったときに、強制的に連続して3クロックサイクル期間ダウン指示信号DWNをHレベルに設定して、遅延量を8Δt単位で強制的に減少させる。この3クロックサイクル期間が経過すると、フリップフロップ20iがセット状態を維持し、またフリップフロップ20lがリセット状態を維持し、ダウン指示信号DWNは、シフタからの信号DWN3に従って変化する。
【0175】
カウント制御回路41は、ダウン指示信号DWNが通産3回活性化されると、イネーブル信号ビットEN[0:2]をバッファクロック信号BUFCLKの立下りに応答してHレベルに設定する。従って、この3クロックサイクルが経過すると、カウント回路37の最下位カウントビットが、A[0]となり、次のサイクルからの可変遅延回路32および33の遅延量変化単位がΔtに設定される。
【0176】
図11に示すカウント回路37へは、このバッファクロック信号BUFCLKの立上がりに応答して所定期間LレベルとなるカウントパルスCPLが与えられる。したがって、バッファクロック信号BUFCLKの立上がりエッジでダウン指示信号DWNおよびアップ指示信号UPの状態が確定した後に、このカウント回路37においてカウント動作が行なわれる。
【0177】
図14は、この発明の実施の形態1に従うDLL回路16の位相調整動作を示す図である。以下、図14を参照して、この発明の実施の形態1に従うDLL回路の位相調整動作について説明する。
【0178】
今、サイクル数0において、位相検出器35の出力信号UP0およびシフタ42ua−42ucの出力信号がすべてHレベルであり、また、遅延制御回路20の出力するアップ指示信号UPもHレベルの状態を考える。このサイクル数0において、バッファクロック信号BUFCLKの立上がりエッジで、フィードバッククロック信号FBCLKがHレベルの状態を考える。この状態においては、位相検出器35の出力信号UP0はHレベルである。アップ指示信号UPに従って、8Δtの遅延量増加が行なわれる。
【0179】
クロックサイクル数1において、フィードバッククロック信号FBCLKが、バッファクロック信号BUFCLKの立上がりエッジでLレベルとなる。このとき、位相比較器35の出力信号UP0がLレベルとなる。しかしながら、アップ指示信号UPは、Hレベルであり、フィードバッククロック信号FBCLKの位相が、8Δt遅延される。クロックサイクル数2において、依然フィードバッククロック信号FBCLKがバッファクロック信号BUFCLKの立上がりエッジでLレベルのとき、位相比較器35の出力信号UP0がLレベルとなる。このときにおいても、アップ指示信号UPはHレベルであり、フィードバッククロック信号FBCLKの遅延量が8Δt増大される。
【0180】
クロックサイクル数3において、このフィードバッククロック信号FBCLKのLレベル期間を超えて位相補正が行なわれ、バッファクロック信号BUFCLKの立上がりエッジでフィードバッククロック信号FBCLKがHレベルとなる。このサイクル3においてもアップ指示信号UPがHレベルであり、フィードバッククロック信号FBCLKの遅延量が増大される。
【0181】
クロックサイクル数4において、アップ指示信号UPがシフタからの出力信号UP3に従ってLレベルに設定される。その場合、ダウン指示信号DWNがHレベルであり、フィードバッククロック信号FBCLKの位相遅延量が、8Δtだけ小さくされる。次のサイクル数5においても、アップ指示信号UPはLレベルであり、ダウン指示信号DWNがHレベルであり、フィードバッククロック信号FBCLKの遅延量が8Δtだけ小さくされる。
【0182】
クロックサイクル数6において、シフタの出力信号UP3がHレベルとなっても、遅延制御回路20の出力するダウン指示信号DWNはHレベルであり、強制的にこのシフタの出力信号UP3にかかわらず、フィードバッククロック信号FBCLKの遅延量が8Δtだけ小さくされる。
【0183】
このクロックサイクル4から6における3クロックサイクル期間アップ指示信号UPがLレベルであり、クロックサイクル数6におけるシフタ42dcおよび42uaの出力信号は、遅延制御回路20において無視される。
【0184】
クロックサイクル数7において、シフタの出力信号UP3に従ってアップ指示信号UPをHレベルに設定される。このとき、3クロックサイクル連続して、遅延量低減動作が行なわれており、クロックサイクル数6においてバッファクロック信号BUFCLKの立下りに従って、カウント制御回路41からのイネーブル信号ビットEN[0]−EN[2]がHレベルに設定される。これにより、クロックサイクル数7における遅延量の調整は、遅延段DS0の遅延量Δtを単位として遅延量が調整される。以降、このシフタからの出力信号UP3およびDWN3に従って、フィードバッククロック信BUFCLKの位相調整が、遅延量Δt単位で実行される。
【0185】
このシフタのタイムラグにより位相調整が過剰に行われ、フィードバッククロック信号FBCLKのL期間が、バッファクロック信号BUFCLKの立上がりエッジを超えた場合、この位相の過剰調整は、シフタ3段による3クロックサイクル期間のタイムラグに起因している。従って、3サイクル連続して、バッファクロック信号BUFCLKの遅延量を低減することにより、この3サイクル分の過剰遅延増加は、補償することができる。
【0186】
この過剰遅延量増加を補償した後に、最小遅延単位Δt単位で位相補正を行なうことにより、シフタのシフト動作によるタイムラグの影響を排除して、セルフタイミングパルスのLレベル期間を有効に利用して位相調整を行うことができ、早いタイミングで、フィードバッククロック信号FBCLKをバッファクロック信号BUFCLKの立上がりエッジにロックさせることができる。
【0187】
従って、プロセスパラメータなどのバラツキにより、セルフタイミングパルスのLレベル期間がばらついても、確実にその影響を排除して、位相調整動作を行うことができ、内部クロック信号が外部クロック信号に位相同期(ロック)するまでに要するクロックサイクル数が増大するのを確実に防止することができる。
【0188】
なお、上述の構成においては、3段のシフタが用いられているが、シフタがM段設けられてもよい。この場合には、連続Mサイクル期間、ダウン指示信号DWNをHレベルに設定する。したがって、図12に示すシフタ20e−20gを、M段縦続接続する。
【0189】
以上のように、この発明の実施の形態1に従えば、位相検出器の出力信号をシフタを通して可変遅延線の遅延量を調整する場合、ダウン指示信号が初めてHレベルとなると、強制的にシフタ段数だけ連続的に、その遅延量を低減している。したがって、遅延段アドレス信号が準安定状態となるのを、このシフタの利用により抑制することができる。また、バッファクロック信号BUFCLKとフィードバッククロック信号FBCLKとの位相差調整において、シフタによるタイムラグにより過剰に位相調整されるのを防止することができる。電源投入後、高速で、外部クロック信号に位相同期した内部クロック信号を安定に生成することができる。
【0190】
[実施の形態2]
図15は、この発明の実施の形態2に従うDLL回路の構成を概略的に示す図である。この図15に示すDLL回路は、図40に示すDLL回路と以下の点が異なる。すなわち、位相制御回路906において、カウント制御回路141は、シフタ42dcからダウン指示信号DWNが初めて与えられると、そのときに、遅延単位を他のサイクルよりも増大させる。最初にダウン指示信号DWNが発生されるまでは、シフト回路42のシフト段数に応じた遅延量で、可変遅延線32および33の遅延量を調整する。初めてダウン指示信号DWNがHレベルに設定されると、カウント制御回路141は、その遅延量を、さらにたとえばシフト回路42のシフト段数に応じた遅延量増大させる。このサイクルが完了すると、カウント制御回路141は、イネーブル信号EN[N:0]をすべてHレベルに設定する。この図15に示すDLL回路の他の構成は、図40に示すDLL回路の構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【0191】
すなわち、この発明の実施の形態2においては、シフト回路42のシフタによるタイムラグの影響を、1サイクル期間、この遅延量をさらに増加させて、タイムラグの影響を補償する。
【0192】
図16は、図15に示すカウント制御回路141の構成を示す図である。図16において、カウント制御回路141は、図15に示すシフタ42dcからのダウン指示信号DWNを受けるインバータ141aと、ダウン指示信号DWNの活性化に応答してセットされかつリセット信号RESETに応答してリセットされるNOR型フリップフロップ141dと、インバータ141aの出力信号とシフタ141dの出力信号を受けるNORゲート141bと、NORゲート141bの出力信号とバッファクロック信号BUFCLKとを受けるANDゲート141cと、シフタ141dの出力信号とフリップフロップ141dの出力信号F201とを受けてイネーブル信号EN[3:4]を生成するORゲート141eを含む。
【0193】
シフタ141dから、イネーブル信号EN[0:2]が出力される。これらのORゲート141eおよびシフタ141dは、それぞれ出力信号が、1ビットであり、これらのイネーブル信号ビットEN[3:4]は、ORゲート141eの出力信号に従って共通に制御され、またシフタ141dの出力信号に従って、イネーブル信号ビットEN[0:2]が共通に制御される。
【0194】
シフタ141dは、図37に示す構成を有し、その入力INに与えられる信号がHレベルのとき内部で転送動作を行ない、ANDゲート141cの出力信号を分周する。
【0195】
図17は、図16に示すカウント制御回路41Aの動作を示すタイミング図である。以下、図17を参照して、図16に示すカウント制御回路141の動作について説明する。
【0196】
電源投入後、この半導体記憶装置1に対し、DLLリセットコマンドが入力され、リセット信号RESETが所定期間Hレベルとなる。応じて、フリップフロップ141dがリセットされ、その出力信号F201がHレベルに設定される。応じて、OR回路141eの出力信号がHレベルとなり、イネーブル信号ビットEN[3:4](ビットEN[3]、EN[4])がともにHレベルに設定される。
【0197】
一方、リセット信号RESETに従ってシフタ141dにおいて初期化動作が行なわれ、イネーブル信号ビットEN[0]−EN[2]はすべてLレベルに初期化される。
【0198】
位相検出器35の検出動作により、相補な信号UP0およびDWN0が、シフト回路42のシフタを通して転送される。この場合、イネーブル信号EN[0:2]がLレベルであり、カウント回路37の遅延段アドレス信号ビットA[0]−A[2]は更新されず、遅延段アドレス信号ビットA[3]−A[N]で表わされる部分が更新される。したがって、DLLリセット後、ダウン指示信号DWNがHレベルに設定されるまで、可変遅延線32および33は、8段の遅延回路の遅延量(8Δt)単位で遅延量が変化する。
【0199】
ダウン指示信号DWNがHレベルに立上がるとフリップフロップ141dがセットされ、その出力信号F201がLレベルとなる。イネーブル信号EN[0:2]はLレベルであるため、OR回路141eからの信号がLレベルとなり、応じてイネーブル信号ビットEN[3]およびEN[4]が、Lレベルに設定される。
【0200】
したがって、ダウン指示信号DWNが初めてHレベルに到達した後、最初に遅延段アドレス信号A[0:N]の値を減少させるバッファクロック信号BUFCLKの立上がりの時刻t1において、遅延段アドレス信号ビットA[5]−A[N]で表わされる部分だけが更新される。この場合、ダウン指示信号DWNに従って、可変遅延線32および33の遅延段数が低減される。遅延段アドレス信号A[5]は、遅延量32Δtの遅延段に対応している。カウント回路37におけるカウント動作により、32(10進)のカウントダウンが行われ、可変遅延回路32および33において32Δtの遅延時間の低減が行われる。この遅延量低減は、8遅延単位(8Δt)が4回低減されたことに相当する。
【0201】
バッファクロック信号BUFCLKがHレベルに立上がると、ANDゲート141cの出力信号がHレベルとなり、シフタ141dにおいて内部転送動作が行なわれる。したがって、バッファクロック信号BUFCLKがLレベルに立下がると、このシフタ141dの出力信号がHレベルに立上がり、応じてイネーブル信号ビットEN[0]−EN[2]がHレベルとなる。応じてOR回路141eの出力信号がHレベルとなり、イネーブル信号ビットEN[3]およびEN[4]がともにHレベルとなる。したがって、次のバッファクロック信号BUFCLKの立上がりエッジの時刻t3における調整動作は、最小遅延単位Δtを単位として行なわれる。
【0202】
この図16に示すカウント制御回路141を利用し、ダウン指示信号DWNが初めてHレベルに設定されたときには、シフタのシフト動作による過剰位相増加分を1クロックサイクルで補償する。したがって、フィードバッククロック信号FBCLKのLレベル期間が、バッファクロック信号BUFCLKの立上がりエッジを超えて変化しても、1クロックサイクルで、確実に、その過剰位相調整を補償することができ、高速で、外部クロック信号に位相同期した内部クロック信号を生成することができる。
【0203】
図18は、この発明の実施の形態2に従うDLL回路の動作を示す図である。図18において、最終段のシフタからのアップ指示信号UPがHレベルの状態を考える。ダウン指示信号DWNはLレベルである。この場合、フィードバッククロック信号FBCLKの位相遅延量が、クロックサイクル数3まで8Δt単位で増分される。クロックサイクル数1および2において、位相検出器35の出力信号UP0がLレベルとなる。
【0204】
クロックサイクル数4において、アップ指示信号UPがLレベルとなると、すなわちダウン指示信号DWNがHレベルとなると、フィードバッククロック信号FBCLKの遅延量が、32Δtだけ減分され、その位相が、4クロックサイクル前のクロックサイクル数0と同じ値に復帰する。このクロックサイクルにおいて、遅延量単位がΔtに設定される。
【0205】
次のクロックサイクル数5においても、アップ指示信号UPはLレベルである。このときには、最小遅延単位Δt単位でフィードバッククロック信号FBCLKの位相を小さくすることが行なわれる。
【0206】
クロックサイクル数6においては、アップ指示信号UPがHレベルであり、フィードバッククロック信号FBCLKの遅延量を増大する処理が行なわれる。
【0207】
この遅延量増加処理において、フィードバッククロック信号FBCLKの立上りが、バッファクロック信号BUFCLKの立上り前に生じており、フィードバッククロック信号FBCLKの立上がりエッジを、少ないサイクル数で、バッファクロック信号BUFCLKの立上がりエッジに同期させることができる。
【0208】
なお、シフト回路42においてM段のシフタが配置されている場合、最初にダウン指示信号DWNがHレベルとなったとき、次の遅延段アドレス変更サイクルにおいて、一度に任意のK段減少させるように、カウント制御回路141を構成することもできる。図16に示すカウント制御回路41Aにおいて、ORゲート141eの制御するイネーブル信号ENのビット範囲を遅延量K段に対応するように設定することにより、容易に実現することができる。
【0209】
以上のように、この発明の実施の形態2に従えば、ダウン指示信号が初めてHレベルとなると、可変遅延線の1サイクルの遅延変化量をシフタ段数+1段に設定している。シフト回路のシフト動作によるタイムラグの影響を抑制して、高速で、フィードバッククロック信号を内部バッファクロック信号に位相同期させることができる。また、位相検出器の出力信号を転送するシフタを利用しているため、カウント回路の出力する遅延段アドレス信号が準安定状態となるのを抑制することができ、安定にかつ高速で外部クロック信号に位相同期した内部クロック信号を生成することができる。
【0210】
[実施の形態3]
図19は、この発明の実施の形態3に従うDLL回路16の構成を概略的に示す図である。この図19に示すDLL回路16においては、位相制御回路906内において、位相比較器904からのダウン指示信号DWNに従ってカウント制御回路241がカウント回路37に対するイネーブル信号EN[N:0]を生成する。このカウント制御回路241は、ダウン指示信号DWNの積算動作は行なわず、最初に生成されたダウン指示信号DWNがLレベルに立下がると、イネーブル信号ビットEN[N:0]をすべてHレベルに設定する。図19に示すDLL回路16の他の構成は、図15に示すDLL回路16の構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【0211】
図20は、図19に示すカウント制御回路241の構成を示す図である。図20において、カウント制御回路241は、図19に示すシフタ42dcからのダウン指示信号DWNを受けるインバータ241aと、イネーブル信号ENとインバータ241aの出力信号とを受けるNORゲート241bと、NORゲート241bの出力信号に従ってシフト動作を行なってイネーブル信号EN(EN[0]−EN[2])を生成するシフタ241cと、リセット信号RESETに従ってイネーブル信号ビットEN[0]−EN[2]をLレベルに初期設定するNチャネルMOSトランジスタ241dを含む。このシフタ241cは、1ビットのシフタであり、イネーブル信号ビットEN[0]−EN[2]は、シフタ241cにより共通に制御される。
【0212】
シフタ241cは、図37に示すシフタ41fおよび41gと同様の構成を備え、入力INに与えられる信号がHレベルのとき内部で転送動作を行ない、入力INに与えられる信号がLレベルとなると、内部ノードの信号を出力する。このシフタ241cに対してまたリセット信号RESETがリセット入力RSTに与えられる。シフタ241cは、リセット信号RESETに応答して内部ノードがLレベルに設定される。
【0213】
図21は、図20に示すカウント制御回路241の動作を示すタイミング図である。以下、図21を参照して、図20に示すカウント制御回路241の動作について簡単に説明する。
【0214】
電源投入後のDLLリセットコマンドに従って、リセット信号RESETがHレベルに駆動され、シフタ241cの内部ノードの初期化およびイネーブル信号ビットEN[0]−EN[2]の初期化が行なわれる。
【0215】
位相差検出回路909における位相検出動作に従って、図19に示すシフタ42dcからのダウン指示信号DWNがHレベルに立上がると、シフタ241cにおいて内部ノードの信号の転送が行なわれる。このダウン指示信号DWNがHレベルの間、シフタ240cにおいて出力段のトライステートバッファは出力ハイインピーダンス状態であり、その出力段のラッチにより、イネーブル信号ビットEN[0]−EN[2]はLレベルを維持する。したがって、この間、図19に示すカウント回路37からの遅延段アドレス信号A[0:2]は初期状態を維持しており、遅延段アドレス信号A[3:N]が変化する。
【0216】
ダウン指示信号DWNがLレベルに立下がると、インバータ241aの出力信号がHレベルとなり、応じてNORゲート241bの出力信号がLレベルとなる。したがって、シフタ241cにおいて内部で転送されたHレベルの信号が最終出力段のトライステートバッファを介して出力され、イネーブル信号ビットEN[0]−EN[2]がHレベルに立上がる。以降、カウント回路37の出力する遅延段アドレス信号A[0:N]のビットはすべて有効となり、Δt単位での遅延量の調整が実行される。
【0217】
図22は、この発明の実施の形態3に従うDLL回路の動作を示す図である。以下、図22を参照して、図20および図21に示すDLL回路の動作について説明する。
【0218】
DLL回路16のリセットの後、位相検出器35の位相検出動作により、相補なアップ指示信号UPおよびダウン指示信号DWNがシフト回路42を介してカウント回路37へ与えられる。またカウント制御回路241に対し、ダウン指示信号DWNが与えられる。
【0219】
クロックサイクル数0から3までにおいては、アップ指示信号UPがHレベルであり、イネーブル信号ビットEN[0]−EN[2]がLレベルであり、8Δt単位で遅延量の増分が行なわれる。
【0220】
クロックサイクル数4において、アップ指示信号UPがLレベルとなると、フィードバッククロック信号FBCLKが、その位相が8Δtだけ進められる。次のクロックサイクル数5においても、アップ指示信号UPがLレベルであり、再びフィードバッククロック信号FBCLKの遅延量が8Δtだけ減分される。
【0221】
クロックサイクル数5において、バッファクロック信号BUFCLKの立下がりに同期して、ダウン指示信号DWNがLレベルとなり、応じて、図20に示すカウント制御回路241において、イネーブル信号ビットEN[0]−EN[2]がHレベルに設定される。カウント回路37の全ビットA[0:N]が全て有効となり、全ビットを用いてカウント動作が行われる。したがって、以後のサイクルにおいては、位相調整は、Δtを単位として行われる。
【0222】
クロックサイクル数6において、アップ指示信号UPがHレベルとなると、Δtだけフィードバッククロック信号FBCLKの位相の遅延量が増分される。以降、このイネーブル信号ビットEN[0]−EN[2]はHレベルであるため、可変遅延線32および33においては、遅延段アドレス信号ビットA[0]−A[N]すべてを用いて遅延量が変更される。Lレベル期間において遅延量が最小遅延量Δt単位で調整されるだけであり、高速で、フィードバッククロック信号FBCLKの立上がりエッジを、バッファクロック信号BUFCLKの立上がりエッジにロックさせることができる。
【0223】
また、シフト回路42を通して、アップ指示信号UPおよびダウン指示信号DWNを転送しており、遅延段アドレス信号が準安定状態となるのを抑制することができ、安定に内部クロック信号を生成することができる。
【0224】
なお、上述の実施の形態1から3においては、セルフタイミングパルスとして、可変遅延線の出力信号の立上がりに応答して所定期間Lレベルとなるパルス信号を用いている。しかしながら、これに代えて、可変遅延線の出力信号の立上がりに応答して所定期間Hレベルとなるパルス信号を生成して、セルフタイミングパルス信号として用いてもよい。この場合、可変遅延線のデューティ比50%の出力クロック信号を、データ出力用のクロック信号として用い、フィードバッククロック信号としては、このセルフタイミングパルス信号を利用する。セルフタイミングパルス信号の立上がりエッジが、可変遅延線の出力信号の立上がりエッジと同期しており、このセルフタイミングパルス信号をレプリカバッファを介してフィードバッククロック信号FBCLKを生成して、バッファクロック信号BUFCLKとの位相の調整を行なう。この構成の場合、ダウン指示信号DWNに代えて、アップ指示信号UPを用いて可変遅延線の遅延量の調整/制御を行なう。シフタのタイムラグにより過剰に位相遅延量の低減が行われたときに遅延量を増大させて、過剰位相調整を補償する。
【0225】
また、上述の実施の形態においては、DDRモードで動作するクロック同期型半導体記憶装置においてDDL回路が用いられている。しかしながら、一般に、外部クロック信号に位相同期した内部クロック信号を生成する回路に対し、本発明のDDL回路は適用することができる。
【0226】
また、内部クロック生成回路として遅延回路を縦続接続して遅延回路の段数を調整して内部クロック信号を生成している。しかしながら、内部クロック生成回路としては、遅延段アドレス信号に従って動作電流が調整される電流制御型遅延回路列が用いられてもよい。遅延回路の段数の変更に変えて動作電流の調整により、遅延時間の調整が行われる。従って、内部クロック生成回路としては、カウント回路の出力カウント値により遅延時間が調整される可変遅延回路であればよい。
【0227】
【発明の効果】
以上のように、この発明に従えば、セルフタイミングパルス信号のエッジを超えて過剰に位相調整が行なわれた場合、この過剰位相調整を補償するように位相遅延量を制御しており、内部クロック信号を高速で外部クロック信号に位相同期させることができる。
【0228】
すなわち、位相検出回路の出力信号が所定状態となると、この状態を予め定められた数のクロックサイクルの間連続的に維持し、この予め定められた数のクロックサイクルが経過すると、この維持状態を解除し、その所定の状態が維持されている間位相遅延調整量を第1の遅延量に設定し、その維持状態の解除時、この第1の遅延量よりも小さな第2の遅延量に位相調整量を設定しており、内部クロック信号の位相調整が過剰に行なわれる場合においても、確実に、この過剰位相調整を補償して過剰位相調整前の状態に内部クロック信号を戻した後に、最小遅延単位で位相調整を行なうことができ、高速でかつ安定に、内部クロック信号を外部クロック信号に位相同期させることができる。
【0229】
また、位相検出回路の出力信号を所定クロックサイクル期間遅延し、この遅延回路の出力信号に従って連続的に所定状態を示す状態に設定することにより、確実に、連続的に内部クロック信号と外部クロック信号の位相関係を所定状態に設定することができ、また遅延回路を用いることにより、位相調整回路の位相調整動作が準安定状態になるのを防止することができ、高速でかつ安定に外部クロック信号に位相同期した内部クロック信号を生成することができる。
【0230】
また、位相関係調整回路を、位相差検出回路の出力信号を所定クロックサイクル期間遅延し、この遅延回路の出力信号にしたがって所定状態の維持およびクロックサイクル数に応じて維持状態の解除を行うことにより、位相調整信号が充安定状態となるのを防止しつつ正確に所望の期間連続的に所定の状態に維持することができる。
【0231】
また、所定状態の維持クロックサイクル数を位相差検出回路の出力の遅延回路の段数と同じとすることにより、正確に、過剰調整された位相を遅延回路の遅延時間の影響を排除した状態に復帰させることができ、正確に過剰位相調整を補償することができる。
【0232】
また、この位相調整回路において、遅延量設定用のカウンタのカウント値を、所定状態の間、カウンタのカウント単位を第1の遅延量に対応する値に設定することにより、容易に内部クロック生成回路の遅延量を調整することができる。
【0233】
また、内部クロック生成回路をカウンタのカウント値により遅延量が設定される可変遅延回路で構成することにより、外部クロック信号を遅延して内部クロック信号を生成するDLL回路において、高速で外部クロック信号に位相同期した内部クロック信号を安定に生成することができる。
【0234】
また、位相差検出回路の出力信号が内部クロック信号と外部クロック信号の位相関係が所定の状態を示すときには、この内部クロック生成回路の位相調整量を初期設定値よりも増大させ、この所定状態解除後、位相調整単位を最小値に設定することにより、位相調整が過剰に行なわれる場合においても、この過剰位相調整を補償することができ、その後、内部クロック信号を最小位相調整単位で位相調整することにより、内部クロック信号を外部クロック信号に位相同期させるまでに要するクロックサイクル数を低減することができる。
【0235】
また、位相調整量を設定するカウンタのカウントビットを所定サイクル期間カウンタの所定のカウントビットを固定状態とし、この所定サイクル期間経過後にカウンタのカウントビットをすべて有効とすることにより、内部クロック信号の位相調整が過剰に行なわれた場合においても、この大きな位相調整単位により、過剰位相調整を補償することができ、内部クロック信号が外部クロック信号にロックするのに要するクロックサイクル数を低減することができる。
【0236】
また、この所定サイクル期間を1クロックサイクル期間に設定することにより、過剰位相調整補償に要するクロックサイクル数を最小値に設定でき、内部クロック信号が外部クロック信号に位相同期するのに要するクロックサイクル数を低減することができる。
【0237】
また、無効状態に初期設定される第1のビットが無効状態のとき、位相差検出回路からの所定状態の出力信号を所定サイクル期間遅延して第1のビットを生成し、またこの所定状態の出力信号に従って第1のビットよりも上位の第2のビットを無効状態に設定し、かつこの遅延回路の出力する第1ビットに応答して第2のビットを有効状態とし、これらのビットにより内部クロック信号の位相調整量を設定することにより、容易に、所定サイクル期間位相補正量を変更し、所定サイクル経過後に、位相調整量を最小値に設定することができる。
【0238】
また、内部クロック信号を生成する可変遅延回路の遅延量をカウント回路の出力カウント値にしたがって設定し、このカウント回路のカウント単位を第1および第2のビットで設定することにより、容易に、位相差検出回路の出力信号に従って内部クロック信号の遅延量を変更することができ、正確に内部クロック信号の位相の過剰調整を補償することができる。
【0239】
また位相差検出回路において、内部クロック信号と外部クロック信号の位相差を検出する位相検出器の出力信号をシフトして、位相差検出回路の出力信号を生成することにより、内部クロック信号が準安定状態になるのを防止することができ安定に内部クロック信号を生成することができる。
【0240】
また、位相差検出回路の出力信号に従って位相調整回路の位相調整単位を調整する際に、この位相差検出時に内部クロック信号と外部クロック信号が所定状態となるまで、内部クロック信号の位相調整量を最小値よりも大きく設定し、この所定状態の解除に応答して位相調整量を最小値に設定することにより、位相調整が過剰に行なわれたときに、その位相調整補償が過剰に行なわれるのを防止することができ、内部クロック信号が外部クロック信号に位相同期するまでに要するクロックサイクル数を低減することができる。
【0241】
また、位相差検出回路を、内部クロック信号と外部クロック信号の位相差を検出し、該検出結果をシフタを介して転送する構成とすることにより、位相比較結果が準安定状態となるのを防止することができ、安定に位相調整動作を行なって内部クロック信号を外部クロック信号に対し位相同期させることができる。
【0242】
また、内部クロック信号を可変遅延線を介して生成し、この可変遅延線の遅延量をカウンタのカウント値に従って設定する場合、初期化時カウントビットの所定ビットを無効とし、内部クロック信号と外部クロック信号との位相関係の所定状態完了時にこの所定ビットを有効状態とすることにより、過剰に位相調整が行われるのを防止することができ、初期化時、高速で内部クロック信号を外部クロック信号に位相同期させることができる。
【0243】
また、位相差検出結果を所定サイクルシフトして位相調整信号として出力することにより、位相調整信号が準安定状態となるのを防止することができ、安定に内部クロック信号を生成することができる。
【0244】
また、位相調整時において、内部クロック信号の遅延量を設定するカウント回路の所定のビットを固定状態としてカウント動作を行わせることにより、正確にかつ容易に内部クロック信号の遅延量を設定することができ、正確に過剰に調整された位相を補償して過剰調整前の状態に内部クロック信号を復帰させることができる。
【0245】
また、位相差検出回路へは、この内部クロック信号のエッジに応答してワンショットパルス信号を生成して印加することにより、デューティ比50%と異なる信号を用いて位相検出動作を行なうことができ、可変遅延線を用いた場合においても、内部クロック信号を外部クロック信号に位相同期させるまでに要するクロックサイクル数を低減することができる。
【図面の簡単な説明】
【図1】この発明に従うクロック同期型半導体記憶装置の全体の構成を概略的に示す図である。
【図2】図1に示すDLL回路の構成を概略的に示す図である。
【図3】図2に示す可変遅延線の構成を示す図である。
【図4】図2に示すセルフタイミングパルス発生回路の構成の一例を示す図である。
【図5】図4に示す回路の動作を示すタイミング図である。
【図6】図2に示すレプリカバッファの構成の一例を示す図である。
【図7】図1に示すDQバッファの構成を概略的に示す図である。
【図8】図7に示すDQバッファの動作を示すタイミング図である。
【図9】図2に示す位相検出器の構成の一例を示す図である。
【図10】図9に示す位相検出器の動作を示すタイミング図である。
【図11】図2に示すカウント回路の構成を示す図である。
【図12】図2に示す遅延制御回路の構成を示す図である。
【図13】図12に示す遅延制御回路の動作を示すタイミング図である。
【図14】図2に示すDLL回路の動作を示すタイミング図である。
【図15】この発明の実施の形態2に従うDLL回路の構成を概略的に示す図である。
【図16】図15に示すカウント制御回路の構成を示す図である。
【図17】図16に示すカウント制御回路の動作を示すタイミング図である。
【図18】図15に示すDLL回路の動作を示すタイミング図である。
【図19】この発明の実施の形態3に従うDLL回路の構成を概略的に示す図である。
【図20】図19に示すカウント制御回路の構成を示す図である。
【図21】図20に示すカウント制御回路の動作を示すタイミング図である。
【図22】図19に示すDLL回路の調整動作を示す図である。
【図23】ダブルデータレートのデータ出力動作を示すタイミング図である。
【図24】内部クロック発生回路の構成を概略的に示す図である。
【図25】図24に示す内部クロック発生回路の構成をより具体的に示す図である。
【図26】(A)および(B)は、図25に示す位相検出器の動作を示すタイミング図である。
【図27】図25に示す内部クロック発生回路の動作を示すタイミング図である。
【図28】図25に示す内部クロック発生回路の動作を示すタイミング図である。
【図29】図25に示す位相差検出回路の動作を示すタイミング図である。
【図30】従来の内部クロック発生回路の他の構成を概略的に示す図である。
【図31】図30に示すセルフタイミングパルス発生回路の動作を示すタイミング図である。
【図32】図30に示す位相検出器の動作を示すタイミング図である。
【図33】図30に示すカウント制御回路の構成の一例を示す図である。
【図34】図30に示すカウント回路の構成を概略的に示す図である。
【図35】従来の内部クロック発生回路のさらに他の構成を概略的に示す図である。
【図36】図35に示すカウント制御回路の構成を示す図である。
【図37】図36に示すシフタの構成の一例を示す図である。
【図38】図36に示すカウント制御回路の動作を示すタイミング図である。
【図39】図35に示す内部クロック発生回路の構成をより具体的に示す図である。
【図40】図39に示す内部クロック発生回路の位相調整動作を示す図である。
【符号の説明】
1 半導体記憶装置、16 DLL回路、20 遅延制御回路、32,33 可変遅延線、34 レプリカバッファ、35 位相検出器、37 カウント回路、38 位相比較回路、41,141,241 カウント制御回路、42 シフト回路、42ua−42uc,42da−42dc シフタ、39,40 セルフタイミングパルス発生回路、20a 遅延回路、20b,20h NANDゲート、20c,20m インバータ、20e,20f,20g シフタ、20i,20l フリップフロップ、20j,20p ORゲート、20k ワンショットパルス発生回路、20d,20n ANDゲート、141a インバータ、141b NORゲート、141c ANDゲート、141b シフタ、141f フリップフロップ、141e ORゲート、241a インバータ、241b NORゲート、241c シフタ。
【発明の属する技術分野】
この発明は、外部クロック信号に同期した内部クロック信号を生成するクロック発生回路に関し、特に、同期型半導体記憶装置において少なくともデータ出力のために利用される内部クロック信号を生成する内部クロック発生回路に関する。より特定的には、この発明は、外部クロック信号を遅延して、この外部クロック信号に位相同期した内部クロック信号を生成するDLL(ディレイ・ロック・ループ)回路の遅延量を調整するための回路に関する。
【0002】
【従来の技術】
クロック信号に同期してデータ/信号を転送するクロック同期型半導体記憶装置が広く用いられている。クロック同期型半導体記憶装置においては、信号/データのスキューは、クロック信号に対して考慮することが要求されるだけであり、信号間のスキューを考慮する必要がなく、内部動作開始タイミングを早くすることができる。また、たとえばシステムクロックであるクロック信号に同期してデータを転送するため、高速のデータ転送を実現することができ、データ転送のバンド幅を広くすることができる。
【0003】
このようなクロック同期型半導体記憶装置として、クロック信号の立上がりエッジおよび立下がりエッジに同期してデータを転送するDDR−SDRAM(ダブル・データ・レート・シンクロナス・ダイナミック・ランダム・アクセス・メモリ)が知られている。
【0004】
図23は、このDDR−SDRAMのデータ出力タイミングを示す図である。この図23に示すように、出力データQ0−Q3が、外部クロック信号CLKの立上がりエッジおよび立下がりエッジに同期して順次出力される。このように、外部クロック信号CLKの立上がりエッジおよび立下がりエッジに同期してデータDQを出力することが、DDR−SDRAMの出力タイミングについての標準規格として定められている。
【0005】
外部クロック信号CLKをトリガとして用いてデータを出力する場合、内部クロックを生成するクロック入力バッファおよびデータ出力バッファの遅延のために、出力データが、外部クロック信号CLKに対して遅延するため、このデータ出力についての規格を満足することができない。
【0006】
したがって、通常、DDR−SDRAMにおいては、データ出力用のクロック信号を生成するために、DLL(ディレイ・ロック・ループ)回路が内部に設けられる。このDLL回路は、外部クロック信号CLKを、内部で固定遅延および可変遅延を用いて遅延し、外部クロック信号CLKよりも位相の進んだデータ出力用のクロック信号CLKPおよびCLKNを生成する。
【0007】
図24は、従来のDLL回路の全体の構成を概略的に示す図である。図24において、DLL回路900に対しては、外部からの相補クロック信号CLKおよびZCLKをバッファ処理してバッファクロック信号BUFCLKおよびZBUFCLKを生成するクロック入力バッファ890が設けられる。
【0008】
DLL回路900は、これらのバッファクロック信号BUFCLKおよびZBUFCLKを遅延してデータ出力用の内部クロック信号CLKPおよびCLKNを生成する内部クロック生成回路902と、内部クロック信号CLKPとバッファクロック信号BUFCLKの位相差を検出し、検出結果を示す信号UPおよびDWNを生成する位相差検出回路904と、この位相差検出回路904からの位相検出信号UPおよびDWNに従って、内部クロック発生回路902の遅延量を制御する位相制御回路906を含む。
【0009】
データ出力用の内部クロック信号CLKPをフィードバックして、位相差検出回路904においてバッファクロック信号BUFCLKとの位相比較を行ない、位相差を最小とするように、内部クロック発生回路902における遅延量を調整する。データ出力用内部クロック信号CLKPの位相を、クロック入力バッファ890およびデータ出力バッファの遅延を考慮して調整することにより、外部クロック信号CLKの位相とデータ出力の位相を一致させることができる。
【0010】
図25は、図24に示すDLL回路900のより具体的な構成を示す図である。図25において、位相差検出回路904は、内部クロック信号CLKPを所定時間遅延するレプリカバッファ34と、このレプリカバッファ34の出力するフィードバッククロック信号FBCLKとバッファクロック信号BUFCLKの位相差を検出する位相検出器35とを含む。レプリカバッファ34は、図24に示すクロック入力バッファ890およびデータ出力バッファにおける遅延を補償するために設けられる。通常、クロック入力バッファ890が、差動増幅回路で構成され、相補外部クロック信号CLKおよびZCLKの交差部を検出してバッファクロック信号BUFCLKおよびZBUFCLKを生成する場合には、このクロック入力バッファ890における遅延は無視される。
【0011】
位相検出器35は、フィードバッククロック信号FBCLKとバッファクロック信号BUFCLKの位相比較結果に従って位相検出結果指示信号UPおよびDWNを出力する。フィードバッククロック信号FBCLKの位相が、バッファクロック信号BUFCLKよりも進んでいる場合には、内部クロック信号CLKPおよびCLKNの遅延量を増大するためにアップ指示信号UPをHレベルに設定する。逆に、フィードバッククロック信号FBCLKの位相が、バッファクロック信号BUFCLKの位相よりも遅れている場合には、内部クロック信号CLKPおよびCLKNの位相を進めるために、ダウン指示信号DWNがHレベルに設定される。
【0012】
アップ指示信号UPにより内部クロック信号CLKPの遅延量が増加され、ダウン指示信号DWNにより、内部クロック信号CLKPの遅延量が低減される。
【0013】
位相制御回路906は、位相検出器35の出力信号UPおよびDWNに従ってカウント動作を行なうカウント回路37と、電源投入またはシステムリセット時にカウント回路37の最小カウント値を制御するカウント制御回路41を含む。このカウント回路37のカウント値A[N:0]に従って、内部クロック信号CLKPおよびCLKNの遅延量が設定される。
【0014】
内部クロック発生回路902は、バッファクロック信号BUFCLKを遅延して内部クロック信号CLKPを生成する可変遅延線32と、バッファクロック信号ZBUFCLKを遅延して、内部クロック信号CLKNを生成する可変遅延線33を含む。これらの可変遅延線32および33に対し、カウント回路37のカウント値A[N:0]が共通に与えられる。カウント回路37は、双方向カウンタであり、位相検出器35の出力するアップ指示信号UPが活性化されるとそのカウント値を増分し、位相検出器35の出力するダウン指示信号DWNが活性化されるとそのカウント値を減分する。これらの可変遅延線32および33の遅延量は、カウント回路37のカウント値により設定され、このカウント値A[N:0]が増大すると、可変遅延線32および33の遅延量が増大する。
【0015】
カウント制御回路41は、イネーブル信号ENにより、カウント回路37のカウント動作を制御する。イネーブル信号ENがHレベルに設定されるとカウント回路37がカウント動作を行い、イネーブル信号ENがLレベルに設定されるとと動作が停止される。たとえばパワーダウンモードなどにおいて、カウント回路37のカウント動作を停止させて、消費電流を低減する。
【0016】
図26(A)および図26(B)は、図25に示す位相検出器35の位相検出動作を示す図である。位相検出器35は、フィードバッククロック信号FBCLKとバッファクロック信号BUFCLKとの位相が一致するように、出力信号UPおよびDWNを生成する。これらの信号UPおよびDWNは、互いに相補な信号である。位相検出タイミングは、バッファクロック信号BUFCLKの立上りエッジである。
【0017】
図26(A)において、バッファクロック信号BUFCLKの立上がりエッジで、フィードバッククロック信号FBCLKがLレベルの場合、フィードバッククロック信号FBCLKの位相を進める必要がある。したがって、この場合、位相検出器35からのダウン指示信号DWNがHレベルに設定され、フィードバッククロック信号FBCLKの遅延量が低減される。
【0018】
一方、図26(B)に示すように、バッファクロック信号BUFCLKの立上がりエッジで、フィードバッククロック信号FBCLKがHレベルのときには、このフィードバッククロック信号FBCLKの位相が、バッファクロック信号BUFCLKよりも進んでいる。したがって、この場合、フィードバッククロック信号FBCLKを遅らせる必要があり、アップ指示信号UPをHレベルに設定して、このフィードバッククロック信号FBCLKの遅延量を増大させる。
【0019】
図27および28は、図25に示すDLL回路900の動作を示す図である。以下、図27および図28を参照してDLL回路900の位相調整動作について簡単に説明する。
【0020】
図27において、時刻t1においてバッファクロック信号BUFCLKがHレベルに立上がる。可変遅延線32および33は、カウント回路37からのカウント値に従ってバッファクロック信号BUFCLKおよびZBUFCLKを遅延する。
【0021】
図27において、時刻t2において、内部クロック信号CLKPがHレベルに立上がる。レプリカバッファ34が、このデータ出力用の内部クロック信号CLKPを所定時間(一定の固定時間)遅延する。したがって、フィードバッククロック信号FBCLKは時刻t3においてHレベルに立上がる。この場合、フィードバッククロック信号FBCLKの立上がりエッジは、バッファクロック信号BUFCLKの立上がりエッジよりも早いタイミングで生じているため、位相検出器35は、内部クロック信号CLKPの遅延量を増加させるため、アップ指示信号UPをHレベルに設定する。
【0022】
すなわち、DLL回路900においては、バッファクロック信号BUFCLKおよびZBUFCLKを遅延させて、内部クロック信号CLKPおよびCLKNを生成する。フィードバッククロック信号FBCLKは、レプリカバッファ34により固定時間遅延されている。したがって、データ出力タイミングを、外部のクロック信号CLKの立上がりエッジよりも早いタイミングに設定することができ、外部クロック信号CLKのエッジに同期してデータの出力を行なうことができる。
【0023】
この位相調整動作により、図28において、フィードバッククロック信号FBCLKの立上がりエッジとバッファクロック信号BUFCLKの立上がりエッジが一致する。この場合は、図28の時刻t2において、データ出力用の内部クロック信号CLKPがHレベルに立上がっている。内部クロック信号CLKPに従って、データ出力が実行される。レプリカバッファ34は、データ出力バッファにおけるデータ伝搬の遅延時間を考慮して、その遅延時間が決定される。したがって、この図28に示すタイミングで、データ出力用の内部クロック信号CLKPおよびCLKNに従ってデータ出力を行なうことにより、時間t2からt3の間にデータが出力バッファを介して転送され、時刻t3において出力データが変化する。クロック信号CLKNについても、同様、バッファクロック信号ZBUFCLKを遅延して生成されるため、外部クロック信号CLKの立下りエッジでデータを出力することができる。これにより、外部クロック信号CLKの立上りエッジおよび立下りエッジにに同期してデータの出力を行なうことができる。
【0024】
バッファクロック信号BUFCLKとフィードバッククロック信号FBCLKの位相が一致するまでのサイクル数が最大となるのは、たとえばパワーオンリセット後にこれらのクロック信号BUFCLKおよびFBCLKの位相が180°ずれた場合である。
【0025】
すなわち、図29に示すように、バッファクロック信号BUFCLKとフィードバッククロック信号FBCLKの位相が180°ずれた場合、バッファクロック信号BUFCLKの立上がりエッジで、フィードバッククロック信号FBCLKの位相がHレベルまたはLレベルのいずれかに判定される。クロック信号BUFCLKおよびFBCLKは、Hレベル期間とLレベル期間とが等しいデューティが50%のクロック信号である。この場合、判定結果に従って、フィードバッククロック信号FBCLKの位相が変化した場合、それ以後のサイクルにおいて、信号UPまたはDWNが、位相が一致するまで連続して生成される。
【0026】
外部クロック信号CLK、すなわちバッファクロック信号BUFCLKの周期を、TCK(ns)、1サイクル当りのフィードバッククロック信号FBCLKの遅延量をΔt(ns)とすると、位相が180°ずれた場合、両者の位相を一致させるまでに必要なサイクル数は、(TCK/2)/Δtで与えられる。
【0027】
JEDEC(ジョイント・エレクトロン・デバイス・エンジニアリング・カウンシル)により仕様で定められているクロック周期の最大値TCKmaxを15ns、1サイクルの遅延量Δtを0.04nsと考えた場合、この位相一致までに、187サイクルが必要となる。一方、パワーオンリセットからDLL回路が位相を一致させるまでの最大サイクル数の仕様値は、200である。したがって、フィードバッククロック信号FBCLKのデューティ比を50%のままで、位相比較を行なった場合、この仕様値に対し余裕が極めて小さくなり、パワーオンリセット後、早いタイミングで安定に外部クロック信号に同期してデータを出力することができなくなるおそれがある。
【0028】
上述のDLL回路のロックに要する問題を回避するために、データ出力用のクロック信号をたとえば2ns程度の一定のパルス幅を有するセルフタイミングパルスに整形してフィードバックする技術が用いられる。
【0029】
図30は、セルフタイミングパルス発生回路を内蔵するDLL回路900の構成を概略的に示す図である。図30において、内部クロック生成回路902において、可変遅延線32および33の出力段に、それぞれワンショットパルス発生回路39および40が設けられる。これらのワンショットパルス発生回路39および40から出力用の内部クロック信号CLKPおよびCLKNが生成される。このワンショットパルス発生回路39の出力する内部クロック信号CLKPが、位相差検出回路904内のレプリカバッファ34へ与えられる。
【0030】
この図30に示すDLL回路の他の構成は、図25に示すDLL回路の構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【0031】
ワンショットパルス発生回路39は、図31に示すように、可変遅延線32の出力クロック信号CLKPFの立上がりに応答して所定時間Lレベルとなるワンショットのパルス信号を発生する。このワンショットパルス発生回路39の出力パルスをレプリカバッファ34を介してフィードバッククロック信号FBCLKとして位相検出器35にフィードバックする。
【0032】
カウント制御回路41は、この位相検出器35からダウン指示信号DWNが発生されるまで、イネーブル信号EN[N:0]の所定のビットをLレベルに設定し、カウント回路37のカウント単位を、最小値よりも増加させる。ダウン指示信号DWNが発生されると、カウント制御回路41は、このイネーブル信号EN[N:0]すべてをHレベルに設定する。これにより、遅延量減少時においては、1サイクルの遅延変化量を最小値に設定する。
【0033】
図32は、フィードバッククロック信号FBCLKとバッファクロック信号BUFCLKの位相関係を概略的に示す図である。このフィードバッククロック信号FBCLKは、ワンショットパルス発生回路39により、所定期間(たとえば2ns)のLレベル期間を有する。
【0034】
今、フィードバッククロック信号FBCLKの立下がりエッジが、バッファクロック信号BUFCLKの立上がりエッジとほぼ同様のタイミングで生成される状態を考える。位相検出器35が、このバッファクロック信号BUFCLKの立上がりエッジにおいて、フィードバッククロック信号FBCLKがHレベルであると判定すると、アップ指示信号UPをHレベルに設定し、遅延量を増加させる。したがって、この場合、フィードバッククロック信号FBCLKは、そのHレベル期間、位相をシフトさせる必要がある。一方、バッファクロック信号BUFCLKの立上がりエッジにおいて、フィードバッククロック信号FBCLKがLレベルであると判定されると、ダウン指示信号DWNがHレベルに設定され、遅延量が減少される。したがって、この場合には、フィードバッククロック信号FBCLKのLレベルの期間だけ、遅延量を調整する。
【0035】
フィードバッククロック信号FBCLKは、Lレベル期間がたとえば2nsと短く、Hレベル期間が長い。したがって、最初に、バッファクロック信号BUFCLKの立上がりエッジで、フィードバッククロック信号FBCLKがHレベルのときには、1サイクル当りの遅延変化量をたとえば8Δtに設定する。DLL回路900のリセット後に、初めてフィードバッククロック信号FBCLKがLレベルとなり、ダウン指示信号DWNがHレベルとなると、可変遅延線32および33の遅延各サイクルの遅延変化量をΔtに低減する。この場合、位相が一致するまでの最大サイクル数は、バッファクロック信号BUFCLKの周期をTCKとし、フィードバッククロック信号FBCLKのLレベル期間を2nsとすると、次式で表わされる。
【0036】
(TCK−2)/(8Δt)+2/Δt
周期TCKおよび最小遅延変化量Δtが、それぞれ、15nsおよび0.04nsの場合、位相が一致するまでに必要な最大サイクル数は、約90サイクルとなり、JEDECの仕様値の200サイクルに比べて大幅にマージンを大きくすることができる。
【0037】
図33は、図30に示すカウント制御回路41の構成を概略的に示す図である。図33において、カウント制御回路41は、イネーブル信号EN[N:3]をHレベル(電源電圧VDDレベル)に固定する配線41aと、電源投入検出信号(パワーオンリセット信号)ZPORに応答してリセットされかつダウン指示信号DWNの活性化に応答してセットされて、イネーブル信号EN[2:0]を生成するセット/リセットフリップフロップ41bを含む。
【0038】
この図33に示すカウント制御回路41の構成においては、電源投入後イネーブル信号EN[N:3]は、すべてHレベルに固定される。一方、セット/リセットフリップフロップ41bは、電源投入時に、電源投入検出信号ZPORによりリセットされ、イネーブル信号EN[2:0]をLレベルに設定する。ダウン指示信号DWNがHレベルに設定されると、このセット/リセットフリップフロップ41bがセットされ、イネーブル信号EN[2:0]がHレベルに設定される。
【0039】
図34は、図30に示すカウント回路37の構成を概略的に示す図である。この図34において、カウント回路37は、(N+1)段の単位カウンタCNT0−CNTNを含む。これらの単位カウンタCNT0−CNTNから、遅延設定信号(遅延段アドレス信号)A[0]−A[N]が生成される。この単位カウンタCNT0−CNTNに対しアップ指示信号UPおよびダウン指示信号WDNが与えられる。これらの単位カウンタCNT0−CNTNそれぞれに対し、イネーブル信号EN[0]−EN[N]が与えられる。単位カウンタCNT0−CNTNは、それぞれ対応のイネーブル信号EN[0]−EN[N]がHレベルに設定されたときにカウント動作を実行する。
【0040】
したがって、電源投入後、ダウン指示信号DWNが活性化されるまで、イネーブル信号EN[2:0]がLレベルであるため、単位カウンタCNT0−CNT2はカウント動作を行なわず、遅延段アドレス信号A[0]−A[2]はL初期値に維持される。単位カウンタCNT3−CNTNがアップ指示信号UPに従ってカウント動作を行ない、そのカウント値を増分する。
【0041】
遅延段アドレス信号ビットA[0:N]により、図30に示す可変遅延線32および33の遅延量が設定される。カウント動作においては、単位カウンタCNT3より上位の単位カウンタによりカウント動作が行われる。カウントビットA[3]より上位のカウントビット(遅延段アドレス信号)が変化する。従って、遅延段アドレス信号A「N:0」は可変遅延回路の遅延量を2進値で表示しており、遅延量の変更は、8Δtを単位として実行される。ここで、可変遅延線32および33の構成は後に説明するが、これらのカウントビットA[0]−A[N]の重みに応じた遅延量を有する遅延段が縦続接続され、これらのカウントビットA[0]−A[N]の値により、対応の遅延段のバイパスが選択的に行われ、可変遅延線の遅延量が設定される。
【0042】
したがって、フィードバッククロック信号FBCLKが、バッファクロック信号BUFCLKの立上がりエッジにおいてHレベルに設定されて、アップ指示信号UPがHレベルに設定されたときには、カウントビットA[3:N]によりカウント動作が行なわれ、8Δtを単位として遅延量が増分される。ダウン指示信号DWNがHレベルに設定されると、イネーブル信号EN[2:0]がHレベルに設定され、カウント回路37のカウントビットA[0]−A[N]を用いて、カウント動作が行なわれる。したがって、この場合には、可変遅延線32および33の遅延量はΔtを単位として変更される。
【0043】
バッファクロック信号BUFCLKとフィードバッククロック信号FBCLKの位相が接近した場合、位相検出器35の出力信号がメタステーブル(準安定)状態となる可能性がある。位相検出器35の出力信号が準安定状態となると、カウント回路37のカウントビットA[N:0]も準安定状態となり、可変遅延線32および33において用いられる遅延段数が不定状態となる。したがって、内部クロック信号CLKPおよびCLKNも不定状態となり、データ出力タイミングと外部クロック信号CLKとの同期がとれなくなる可能性がある。
【0044】
図35は、従来のDLL回路のさらに他の構成を示す図である。この図35に示すDLL回路900においては、位相検出器35の出力信号が準安定状態となる影響が、可変遅延線32および33において用いられる遅延段数に及ぶ確率を低減するために、位相検出器35の出力信号をシフト回路42を介してカウント回路37へ伝達する。このシフト回路42を通して位相検出器35の出力信号をカウント回路37へ伝達することにより、バッファクロック信号BUFCLKの立上がりでフィードバッククロック信号FBCLKが初めてLレベルとなり、その後、実際に遅延が減少するまでに、このシフト回路42によるタイムラグが存在する。このタイムラグの期間、シフト回路42の段数をM段とした場合、M×(8Δt)だけ遅延量が誤って増加する。たとえば、バッファクロック信号BUFCLKの立上がりエッジでフィードバッククロック信号FBCLKが初めてLレベルとなった直後の1サイクル当りの可変遅延量をΔt、シフト回路42のシフト段数を3段とした場合、この過剰な遅延量増加の補償のために、24サイクルが必要となる。
【0045】
このようなタイムラグによる過剰な制御を防止するために、カウント制御回路41において、この遅延量の過剰な増加を補償するための機能が設けられる。
【0046】
図36は、カウント制御回路41の構成の一例を示す図である。図36において、カウント制御回路41は、ダウン指示信号DWNを受けるインバータ41cと、イネーブル信号ENとインバータ41cの出力信号を受けるNOR回路41dと、バッファクロック信号BUFCLKとNOR回路41dの出力信号を受けるAND回路41eと、入力INに与えられる信号がHレベルのときに内部転送動作を行ない、入力INに与えられる信号がLレベルのときに、内部信号を出力OUTに出力するシフタ41fと、シフタ41fの出力信号を入力INに受けるシフタ41gと、シフタ41fおよび41gの出力信号を受けてイネーブル信号EN[2:0]を生成するAND回路41hを含む。
【0047】
このAND回路41hは、1ビットの信号を出力し、イネーブル信号EN[2:0]が共通に制御される。シフタ41fおよび41gのリセット入力RSTに対しては、リセット信号RESETが与えられる。このリセット信号RESETは、パワーオンリセット時またはシステムリセット時にHレベルに設定される。
【0048】
図37は、図36に示すシフタ41fおよび41gの構成の一例を示す図である。これらのシフタ41fおよび41gは、同一構成を有するため、図37においては1つのシフタの構成を代表的に示す。
【0049】
図37において、シフタ41fおよび41gの各々は、リセット入力RSTに与えられるリセット信号に従って内部ノードF0を接地電圧レベルにリセットするリセット用トランジスタTR0と、内部ノードF0の信号を反転するインバータIV0と、入力INに与えられる信号がLレベルのときに活性化されインバータIV0の出力信号を伝達するトライステートバッファTB0と、トライステートバッファTB0の出力信号を反転しかつラッチするインバータラッチLT0と、入力INに与えられる信号がHレベルのときに活性化され、ラッチLT0のラッチ信号を反転して伝達するトライステートバッファTB1と、トライステートバッファTB1の出力信号をラッチするインバータラッチLT1と、入力INに与えられる信号がLレベルのときに活性化され、ラッチLT1のラッチ信号を反転して出力ノードOUTに伝達するトライステートバッファTB2と、トライステートバッファTB2の出力信号をラッチするインバータラッチLT3を含む。
【0050】
入力INへ与えられる信号は、内部のインバータにより反転され、トライステートバッファTB0−TB2へ、入力INおよびZINの相補信号が制御信号として与えられる。
【0051】
図38は、図36および図37に示すカウント制御回路41の動作を示すタイミング図である。以下、図38を参照して、図36および図37に示すカウント制御回路の動作について説明する。
【0052】
初期状態においては、リセット入力RSTに与えられるリセット信号RESETにより、シフタ41fおよび41gがリセットされ、内部ノードF0はLレベルに設定される。ダウン指示信号DWNは、Lレベルであるため、インバータ41cの出力信号がHレベルであり、応じてNOR回路41dの出力信号はLレベルである。AND回路41eの出力信号はLレベルであり、シフタ41fにおいては、出力段のトライステートバッファTB2が活性状態にあり、Lレベルの信号を出力する。同様、シフタ41gにおいても、その出力信号F002は、Lレベルである。この状態において、イネーブル信号EN[2:0]はLレベルである。
【0053】
シフト回路42のシフト動作により、ダウン指示信号DWNがLレベルの間は、バッファクロック信号BUFCLKが発生されても、AND回路41eの出力信号はLレベルであり、シフタ41fおよび41gにおいては、トライステートバッファTB1が出力ハイインピーダンス状態であり、内部での転送動作は行なわれず、イネーブル信号EN[2:0]はすべてLレベルを維持する。
【0054】
シフト回路42のシフト動作により、ダウン指示信号DWNがHレベルに立上がると、インバータ41cの出力信号がLレベルとなる。応じて、NOR回路41dの出力信号がHレベルとなる。バッファクロック信号BUFCLKがHレベルに立上がると、AND回路41eの出力信号がHレベルとなり、シフタ41fにおいてトライステートバッファTB1が活性化され、ラッチLT0によりラッチされていたLレベルの信号が、ラッチLT1に転送される。この状態においては、トライステートバッファTB2は、出力ハイインピーダンス状態であり、その出力ノードOUTからの信号F001はLレベルを維持する。
【0055】
バッファクロック信号BUFCLKがLレベルに立下がると、トライステートバッファTB1が出力ハイインピーダンス状態となり、一方、トライステートバッファTB0およびTB2が活性化され、出力ノードOUTに、ラッチLT1によりラッチされているHレベルの信号が出力され、シフタ41fの出力信号F001がHレベルとなる。また、インバータIV0により、Lレベルの信号がラッチLT0に転送され、ラッチLT0は、その出力信号をHレベルに維持する。
【0056】
シフタ41gにおいては、シフタ41fの出力信号がF001がHレベルに立上がると、内部で転送動作を行ない、ラッチLT1のラッチ信号が、Hレベルとなる。
【0057】
次のサイクルにおいてダウン指示信号DWNがHレベルを維持していれば、シフタ41fが、再びバッファクロック信号BUFCLKの立上がりに応答して内部転送動作を行ない、ラッチLT0によりラッチされていたHレベルの信号をラッチLT1に転送する。バッファクロック信号BUFCLKがLレベルに立下がると、したがってトライステートバッファTB2が活性化され、その出力ノードOUTの出力信号F001がLレベルに立下がる。
【0058】
シフタ41fの出力信号F001がLレベルに立下がると、シフタ41gにおいて、最終段のトライステートバッファTB2が活性化され、ラッチLT1によりラッチされていたHレベルの信号が出力ノードOUTに転送され、その出力信号F002がHレベルとなる。シフタ41gの出力信号F002がHレベルとなっても、シフタ41fの出力信号F001はLレベルであり、AND回路41hの出力信号はLレベルである。したがって、イネーブル信号EN[2:0]は依然Lレベルを維持する。
【0059】
ダウン指示信号DWNが、Hレベルに設定されている場合、再び、シフタ41fにおいて、バッファクロック信号BUFCLKの立上がりに応答して転送動作が行なわれ、バッファクロック信号BUFCLKの立下がりに応答してシフタ41fの出力信号F001がHレベルに立上がる。
【0060】
シフタ41gにおいては、シフタ41fの出力信号F001がLレベルのときには、内部の転送動作は行なわれておらず、ラッチ状態を維持している。したがって、このシフタ41gの出力信号F002はHレベルを維持する。シフタ41fの出力信号がHレベルに立上がると、シフタ41gにおいて、トライステートバッファTB1が活性化され、ラッチLT0のラッチ信号がラッチLT1に転送される。しかしながら、この状態においては、トライステートバッファTB2が出力ハイインピーダンス状態となっており、ラッチLT3によりラッチされたHレベルの信号が出力される。したがって、シフタ41fの出力信号F001がHレベルに立上がると、シフタ41gの出力信号F001もHレベルであり、AND回路41hの出力信号、すなわちイネーブル信号EN[2:0]がHレベルとなる。
【0061】
イネーブル信号EN[2:0]がHレベルとなると、NORゲート41dの出力信号がLレベルに固定され、シフタ41fおよび41gでのシフト動作は行われず、以降、イネーブル信号EN[2:0]は、Hレベルに維持される。
【0062】
したがって、ダウン指示信号DWNが、3回通算して生成されると、イネーブル信号EN[2:0]がHレベルに設定され、カウント回路37のカウントが、全ビットA[N:0]を用いて実行される。
【0063】
シフト回路42が3段のシフタで構成され、このシフト回路42のシフト動作によるタイムラグにより、3回、遅延量が増加する場合には、合計3回、遅延段数を減少させてから、1サイクル当りの遅延変化量を最小単位のΔtに設定する。したがって、シフト回路42がN段のシフタで構成される場合には、カウント制御回路41においてシフタ41fおよび41gとして、シフタが(N−1)段設けられる。最終段のシフタとその前段のシフタの出力信号に従ってイネーブル信号EN[2:0]が生成される。
【0064】
【発明が解決しようとする課題】
シフト回路42において、M段のシフタを用い、バッファクロック信号BUFCLKの立上がりエッジのタイミングで、DLL回路のリセット後初めてフィードバッククロック信号FBCLKがLレベルになるまでの1サイクル当りの遅延変化量をnΔt、また、フィードバッククロック信号FBCLKのLレベル期間幅をΔTとすると、この過剰遅延増加量を補償するためには、次式を満たす必要がある。
【0065】
ΔT>M・nΔt
この不等式を満たせば、M回の過剰遅延増加に対し、M回遅延量を減少させるため、問題は生じない。しかしながら、プロセスばらつき等により、フィードバッククロック信号FBCLKのセルフタイミングパルス幅ΔTが短くなり、上述の不等式が成立しなくなっる可能性がある。いま、シフト回路42のシフタの段数を3段(M=3)の場合を考える。
【0066】
図39は、シフト回路42において、3段のシフタが設けられている場合のDLL回路の構成を概略的に示す図である。図39に示す位相差検出回路904において、位相検出器35の出力信号UP0をバッファクロック信号BUFCLKに同期して転送する3段のシフタ42ua−42ucと、位相検出器35の出力信号DWN0をバッファクロック信号BUFCLKに同期して転送するシフタ42da−42dcが設けられる。シフタ42ucおよび42dcの出力信号UPおよびDWNが、それぞれカウント回路37へアップ指示信号およびダウン指示信号として与えられる。ダウン指示信号DWNは、またカウント制御回路41へ与えられる。
【0067】
これらのシフタ42ua−42ucおよび42da−42dcの各々は、バッファクロック信号BUFCLKと前段回路の出力信号とに応答して与えられた信号を取込み、バッファクロック信号BUFCLKの立下がりに同期して取込んだ信号を出力する。したがって、シフタ42ucおよび42dcの出力する信号UPおよびDWNはバッファクロック信号BUFCLKの立下がりに同期して変化する。
【0068】
図40は、図39に示すDLL回路の位相調整動作を示す図である。今、通算3回、遅延段数を減少させる前に、フィードバッククロック信号FBCLKのLレベル期間が、バッファクロック信号BUFCLKの立上がりエッジを超えてしまう場合を考える。ここで、フィードバッククロック信号FBCLKのLレベル期間(セルフタイミング幅)が、Δlであり、3・8Δtよりも小さい場合を考える。
【0069】
クロックサイクル数0においては、シフタ42ua−42ucの出力信号UP0−UP2およびUPがすべてHレベルである。この状態においては、アップ指示信号UPがHレベルであり、フィードバッククロック信号FBCLKの遅延量が8Δt大きくされ、その位相が遅らされる。
【0070】
この位相調整動作により、クロックサイクル数1において、バッファクロック信号BUFCLKの立上がりエッジで、フィードバッククロック信号FBCLKがLレベルとなる。しかしながら、アップ指示信号UPは、Hレベルであるため、再びこのフィードバッククロック信号FBCLKの遅延量が8Δt大きくされる。以降、この動作が、クロックサイクル数3まで連続して行なわれる。
【0071】
したがって、クロックサイクル数4において、フィードバッククロック信号FBCLKが、バッファクロック信号BUFCLKの立上がりエッジでHレベルであっても、アップ指示信号UPが初めてLレベルとなるため、このフィードバッククロック信号FBCLKの遅延量が8Δt減分される。
【0072】
次のクロックサイクルにおいても、アップ指示信号UPはLレベルであるため、再びフィードバッククロック信号FBCLKの遅延量が8Δt小さくされる。クロックサイクル数6においては、フィードバッククロック信号FBCLKが、バッファクロック信号BUFCLKの立上がりエッジでLレベルであっても、シフタ42ucからのアップ指示信号UPがHレベルであるため、その遅延量が再び大きくされる。この場合、位相検出器35の出力信号UP0がLレベルとなる(信号DWN0がHレベル)。
【0073】
したがって、クロックサイクル数3から5までは、フィードバッククロック信号FBCLKは、バッファクロック信号BUFCLKの立上がりエッジでHレベルであるため、その遅延量が、サイクル6から8まで、3クロックサイクル連続して、大きくされる。
【0074】
クロックサイクル6において、フィードバッククロック信号FBCLKを遅延すると、フィードバッククロック信号FBCLKの位相がクロックサイクル数5のときの位相と同じ位相関係をバッファクロック信号BFCLKに対して有し、フィードバッククロック信号FBCLKのLレベル期間を超えて位相調整が行われる。すなわち、Lレベル期間を超えて位相調整が行われ、過剰に位相補償が行われている。
【0075】
クロックサイクル数9において、アップ指示信号UPが、サイクル数6における位相検出器35の出力信号UP0に従ってLレベルとなるため、このサイクルにおいてフィードバッククロック信号FBCLKの位相遅延量が8Δt小さくされる。ダウン指示信号DWNが、合計3回活性化されたため、次のサイクルからの位相調整単位は、Δtに設定される。
【0076】
ここで、アップ指示信号UPとダウン指示信号DWNは相補な信号であり、アップ指示信号UPがLレベルのときには、ダウン指示信号DWNはHレベルである。したがって、この場合、カウント制御回路41は、クロックサイクル数9における3回目のダウン指示信号(アップ指示信号UPのLレベル)に従ってイネーブル信号EN[2:0]をすべてHレベルに設定するため、クロックサイクル数10の1サイクル当りの遅延変化量が最小単位のΔtに変化する。
【0077】
クロックサイクル数7からは、フィードバッククロック信号FBCLKは、バッファクロック信号BUFCLKの立上がりエッジでHレベルであるため、クロックサイクル7から、位相検出器35の出力する信号UP0はHレベルである。応じて、クロックサイクル数10から再びシフタ42ucの出力するアップ指示信号UPがHレベルとなる。
【0078】
クロックサイクル数10においては、クロックサイクル数7の位相検出結果に従ってさらにその遅延量を大きくする必要がある。したがって、以降、バッファクロック信号BUFCLKの立上りエッジにおいてフィードバッククロック信号FBCLKがHレベルであるため、バッファクロック信号BUFCLKの次の立上がりエッジまで、このフィードバッククロック信号FBCLKの立上がりエッジを遅延させて、バッファクロック信号BUFCLKとフィードバッククロック信号FBCLKの立上りエッジを位相同期させる処理が行なわれる。
【0079】
フィードバッククロック信号FBCLKのLレベル期間とHレベル期間の和は、バッファクロック信号BUFCLKの周期TCKと同じである。したがって、このクロックサイクル数10からの遅延調整動作時においては、最小単位の遅延量Δtで、次のバッファクロック信号BUFCLKの立上がりエッジまで遅延量を増加させる必要がある。
【0080】
以上のように、プロセスのばらつき等により、上述のセルフタイミングパルス信号のLレベル期間が短くなり、シフト段数と遅延変化量の積よりも小さくなった場合、このシフト段におけるタイムラグに起因する遅延量の増加を補償することができなくなり、フィードバッククロック信号FBCLKがバッファクロック信号BFCLKにロックするまでに必要なサイクル数が大幅に増加するという問題が生じる。
【0081】
それゆえ、この発明の目的は、プロセスばらつき等が発生しても、外部クロック信号と高速で内部クロック信号の位相を同期させることのできるクロック発生回路を提供することである。
【0082】
この発明の他の目的は、プロセスばらつき等が生じても、ロックまでに要するクロックサイクル数の増大を抑制することのできるDLL回路を提供することである。
【0083】
【課題を解決するための手段】
この発明の第1の観点に係るクロック発生回路は、外部クロック信号に従って内部クロック信号を生成する内部クロック生成回路と、内部クロック信号と外部クロック信号との位相差を検出する位相差検出回路と、位相差検出回路の出力信号に従って内部クロック信号と外部クロック信号との位相関係が所定の状態となると所定の状態を予め定められた数のクロックサイクルの間連続して維持し、この予め定められた数に到達するとこの維持状態を解除する位相関係調整回路と、この位相関係調整回路の出力信号に従って内部クロック信号の位相を調整する位相調整回路と、この位相調整回路の所定状態の維持状態が予め定められた数に到達するまで位相調整回路の位相調整単位を第1の遅延量に設定し、かつ予め定められた回数に到達すると第1の遅延量よりも小さい第2の遅延量に設定する遅延制御回路を含む。
【0084】
好ましくは、位相関係調整回路は、位相差検出回路の出力信号を所定数のクロックサイクル遅延する遅延回路と、この遅延回路の出力信号が所定状態を示すときにその出力信号を強制的に所定状態を示す状態に設定する強制設定回路と、この強制設定を予め定められた数のクロックサイクルの経過に応答して解除する解除回路とを含む。
【0085】
好ましくは、所定数と予め定められた数とは等しい。
好ましくは、位相調整回路は、位相関係調整回路の出力信号の所定状態指示をカウントし、この内部クロック生成回路の遅延量を設定するカウント値を生成するカウンタを含む。遅延制御回路は、この位相関係調整回路の出力信号が所定状態が解除されるまで、カウンタのカウント単位を第1の遅延量に対応する値に設定する。
【0086】
好ましくは、内部クロック発生回路は、カウンタのカウント値により外部クロック信号を遅延する遅延量が設定される可変遅延回路で構成される。
【0087】
この発明の第2の観点に係るクロック発生回路は、外部クロック信号に従って内部クロック信号を生成する内部クロック生成回路と、内部クロック信号と外部クロック信号との位相差を検出する位相差検出回路と、位相差検出回路の出力信号に従って内部クロック信号と外部クロック信号との位相差を調整する位相調整回路と、この位相差検出回路の出力信号に従って、位相調整回路の位相調整単位を調整する遅延制御回路を含む。この遅延制御回路は、位相差検出回路の出力信号の所定の状態に応答して所定サイクル期間位相調整単位を第1の値から第2の値へ増大させかつ所定サイクル経過後第1の値よりも小さな最小値に設定する。
【0088】
好ましくは、内部クロック生成回路は、外部クロック信号を遅延して内部クロック信号を生成し、位相調整回路は、位相差検出回路の出力信号の所定状態指示をカウントし、内部クロック生成回路の遅延量を設定するカウント値を生成するカウンタを含む。遅延制御回路は、位相差検出回路の所定状態の出力信号に従って所定サイクル期間カウンタの所定のカウントビットを固定状態とし、かつ所定サイクル期間経過後に、このカウンタのカウントビットをすべて有効としてカウント動作を行なわせる。
【0089】
所定サイクル期間は、好ましくは1クロックサイクル期間である。
また、これに代えて、好ましくは、内部クロック生成回路は、外部クロック信号を遅延して内部クロック信号を生成する可変遅延回路を含み、遅延制御回路は、無効状態に初期設定される第1のビットが無効状態のとき、所定状態の出力信号を所定サイクル期間遅延して第1のビットを生成する遅延初期化回路と、位相差検出回路の所定状態の出力信号に従ってセットされて第1のビットよりも上位の第2のビットを無効状態に設定し、かつ遅延初期化回路の出力信号に従って第2のビットを有効とする遅延更新回路とを含む。有効状態のビットにより、内部クロック生成回路の遅延変化量が設定される。
【0090】
好ましくは、位相差検出回路は、内部クロック信号と外部クロック信号の位相差を検出する位相検出器と、この位相検出器の出力信号を所定時間遅延するシフト回路とを含む。このシフト回路により、位相差検出回路の出力信号が生成される。
【0091】
この発明の第3の観点に係るクロック発生回路は、外部クロック信号に従って内部クロック信号を生成する内部クロック生成回路と、内部クロック信号と外部クロック信号との位相差を検出する位相差検出回路と、位相差検出回路の出力信号に従って内部クロック信号と外部クロック信号との位相差を調整する位相調整回路と、位相差検出回路の出力信号に従って位相調整回路の位相調整単位を調整する遅延制御回路を含む。この遅延制御回路は、初期状態において位相調整単位を最小値よりも大きな第1の値に設定しかつ位相差検出回路の出力信号の所定状態解除に応答して位相調整単位を最小値に設定する。
【0092】
好ましくは、位相差検出回路は、外部クロック信号と内部クロック信号との位相差を検出する位相検出器と、この位相検出器の出力信号を所定クロックサイクル期間遅延して位相調整回路へ出力するシフト回路とを含む。
【0093】
好ましくは、位相調整回路は、位相差検出回路の出力信号の所定状態指示をカウントし、内部クロック生成回路の遅延量を設定するカウント値を生成するカウンタとを含む。内部クロック生成回路は、カウンタのカウント値により遅延時間が設定される可変遅延線を含む。この遅延制御回路は、好ましくは、初期化時カウンタの所定のビットを固定状態としかつ位相調整回路の出力信号の所定状態の完了に応答して所定のビットを有効状態としかつ該有効状態を維持する。カウンタは、所定のビットの固定状態のときそのビットについてカウント動作が禁止される。
【0094】
好ましくは、内部クロック発生回路は、内部クロック信号のエッジに応答してワンショットのパルス信号を生成して位相差検出回路へ印加するパルス発生回路を含む。
【0095】
位相調整回路が所定状態のときに、この所定状態を連続して所定クロックサイクル数維持し、その間位相調整単位を大きくすることにより、確実に、過剰に遅延調整された遅延量を補償することができる。
【0096】
また、この位相差検出回路において所定の状態が検出されたときに位相調整単位を増大させることにより、所定状態時においてのみ遅延変化量を大きくすることができ、反対方向に過剰に遅延量調整が行なわれた遅延量を確実に補償することができる。
【0097】
また、内部クロック信号と外部クロック信号の位相の所定の状態に応答して、位相調整単位を増大し、かつその所定状態解除に応答して位相調整単位を最小値に設定することにより、確実に、過剰に行なわれた遅延量変化を補償した後に、最小遅延量調整単位で遅延量調整を行なうことができ、高速で外部クロック信号と内部クロック信号の位相を同期させることができ、パラメータなどがばらついても、確実に、電源投入後、高速で内部クロック信号を外部クロック信号にロックさせることができる。
【0098】
【発明の実施の形態】
[実施の形態1]
図1は、この発明に従うDLL回路を内蔵する半導体記憶装置の全体の構成を概略的に示す図である。半導体記憶装置1は、外部からのアドレス信号ビットA0−A11とバンクアドレス信号ビットBA0およびBA1とを受けて内部アドレス信号ビットINTA0−INTA11、INTBA0およびINTBA1を発生するアドレスバッファ4と、相補外部クロック信号CLKおよびZCLKとクロックイネーブル信号CKEとを受けて内部クロック信号ICLKを発生するクロック入力バッファ2と、内部クロック信号ICLKに基づいてチップセレクト信号/CS、ロウアドレスストローブ信号/RAS、コラムアドレスストローブ信号/CAS、ライトイネーブル信号/WEおよび入出力データマスク信号UDMおよびLDMを内部に取込むコントロール入力バッファ6と、内部クロック信号ICLK、内部アドレス信号ビットINTA0−INTA11、INTBA0およびINTBA1と、コントロール入力バッファ6の出力信号とを受けてこの半導体記憶装置全体の動作制御を行なうコントロール回路8と、コントロール入力バッファ6の出力信号に応じて、この半導体記憶装置の動作モードを示すデータをコントロール回路8の指示により保持するモードレジスタ10とを含む。
【0099】
アドレスバッファおよびコントロール入力バッファ6は、内部クロック信号ICLKに同期して与えられた信号を取込み内部信号を生成する。入出力データマスク信号UDMおよびLDMは、それぞれ上位バイトデータおよび下位バイトデータのデータの書込/読出にマスクをかけるかどうかをそれぞれ指示する。
【0100】
コントロール回路8は、内部クロック信号ICLKに同期して、コントロール入力バッファ6から与えられた内部制御信号に基づいて指定された動作を決定し、この決定された動作モードに従って必要な内部動作制御信号を生成する。チップセレクト信号/CSが、この内部クロック信号ICLKの立上がり時においてLレベルであれば、この半導体記憶装置1が選択状態とされ、外部からの動作モード指示が有効と判定されて指定された動作が実行される。動作モードは、ロウアドレスストローブ信号/RAS、コラムアドレスストローブ信号/CASおよびライトイネーブル信号/WEと所定のアドレス信号ビットの内部クロック信号ICLKの立上がりエッジにおける論理状態の組合せにより指定される。
【0101】
モードレジスタ10は、この半導体記憶装置1におけるコラムレイテンシ、およびバースト長などのデータを保持する。
【0102】
半導体記憶装置1は、さらに、外部のデータバスとデータビットDQ0−DQ15の授受を行なうDQバッファ14と、データを記憶するメモリアレイ12a−12dを含む。これらのメモリアレイ12a−12dは、それぞれバンク♯0−♯3を構成し、互いに独立に選択状態へ駆動することができる。バンクアドレス信号BA0およびBA1により、1つのバンクが指定され、指定されたバンクに対して、外部からの制御信号/RAS、/CASおよび/WEにより構成されるコマンドにより指定される動作モードが実行される。
【0103】
半導体記憶装置1は、さらに、クロック入力バッファ2からのバッファクロック信号BUFCLKおよびZBUFCLKを受けてデータ出力用内部クロック信号CLKPおよびCLKNを生成するDLL回路16と、バス分離制御信号/QFCおよびデータストローブ信号QSを入出力するQFC/QSバッファ18を含む。バス分離コントロール信号/QFCは、この半導体記憶装置1に対しデータの書込/読出のアクセスが行なわれる場合、外部データバスと他の装置とを分離するための制御信号として用いることができる信号である。この半導体記憶装置が接続される外部データバスに接続される他の装置が外部データバスを使用する場合、バス分離制御信号/QFCにより、この半導体記憶装置1が出力ハイインピーダンス状態となり、外部バスから分離される。
【0104】
データストローブ信号LDQSおよびUBQSは、それぞれ下位バイトデータDQ0−DQ7および上位バイトデータDQ8−DQ15のストローブタイミングを決定する。データ書込が、この半導体記憶装置1に対して行なわれる場合には、外部のコントローラから、外部クロック信号に同期してこれらのデータストローブ信号LDQSおよびUDQSが与えられ、DQバッファ14は、QFC/QSバッファ18から与えられるストローブ信号に従って外部データDQ0−DQ15の取込を行なう。
【0105】
この半導体記憶装置1がデータを出力する場合には、QFC/QSバッファ18は、DQバッファ14におけるデータ出力タイミングに合せて、これらのデータストローブ信号LDQSおよびUDQSを変化させる。外部のコントローラは、この半導体記憶装置1から転送されるデータDQ0−DQ15を、データストローブ信号LDQSおよびUDQSに同期して取込む。
【0106】
この図1に示す半導体記憶装置1において、DLL回路16には、外部クロック信号CLKおよびZCLKに同期したバッファクロック信号BUFCLKおよびZBUFCLKが与えられる。このDLL回路16は、その構成は後に詳細に説明するが、セルフタイミングパルス発生回路を含み、電源投入後またはシステムリセット後において、このセルフタイミングパルスのLレベル期間を超えて位相調整が過剰に行なわれた場合、この過剰な位相調整を補償する機能を有する。
【0107】
図2は、図1に示すDLL回路16の構成を概略的に示す図である。図2において、DLL回路16は、バッファクロック信号BUFCLKおよびZBUFCLKに従ってデータ出力用の内部クロック信号CLKPおよびCLKNを生成する内部クロック生成回路902と、内部クロック信号CLKPに従ってフィードバッククロック信号FBCLKを生成し、このフィードバッククロック信号FBCLKとバッファクロック信号BUFCLKの位相差を比較し、比較結果に従って遅延段アドレス信号A[N:0]を出力する位相比較器38を含む。
【0108】
内部クロック生成回路902は、位相比較器38からの遅延段アドレス信号A[N:0]に従ってその遅延量が設定され、バッファクロック信号BUFCLKを遅延する可変遅延線32と、可変遅延線32の出力クロック信号CLKPFの立上がりに応答してワンショットのパルス信号を生成してデータ出力用クロック信号CLKPを生成するセルフタイミングパルス発生回路39と、位相比較器38の出力する遅延段アドレス信号A[N:0]に従ってその遅延量が設定され、バッファクロック信号ZBUFCLKを遅延する可変遅延線33と、可変遅延線33の出力クロック信号の立上がりに応答してワンショットのパルス信号を生成して、データ出力用内部クロック信号CLKNを生成するセルフタイミングパルス発生回路40を含む。
【0109】
バッファクロック信号BUFCLKおよびZBUFCLKは、クロック入力バッファ2において、例えば、外部クロック信号CLKおよびZCLKの交差部を検出して生成される。
【0110】
位相比較器38は、内部クロック信号CLKPとバッファクロック信号BUFCLKの位相差を検出する位相差検出回路904と、位相差検出回路904の出力信号UP3およびDWN3に従ってアップ指示信号UPおよびダウン指示信号DWNを生成する遅延制御回路20と、この遅延制御回路20の出力信号UPおよびDWNに従って、遅延段アドレス信号A[N:0]を生成する位相制御回路906を含む。
【0111】
位相差検出回路904は、内部クロック信号CLKPを遅延してフィードバッククロック信号FBCLKを生成するレプリカバッファ34と、レプリカバッファ34からのフィードバッククロック信号FBCLKとバッファクロック信号BUFCLKの位相差を検出する位相検出器35と、位相検出器35の出力信号UP0およびDWN0をバッファクロック信号BUFCLKに従って転送するシフト回路42を含む。
【0112】
レプリカバッファ34は、図1に示すDQバッファ14におけるデータ出力遅延時間を補償するために、内部クロック信号CLKPを、DQバッファ14における遅延時間と同じ時間遅延して、フィードバッククロック信号FBCLKを生成する。
【0113】
位相検出器35は、このフィードバッククロック信号FBCLKとバッファクロック信号BUFCLKの位相差に応じて位相差検出信号UP0およびDWN0を生成する。
【0114】
シフト回路42は、位相検出器35の位相差検出信号UP0をバッファクロック信号BUFCLKに従って転送するシフタ42ua−42ucと、位相検出器35の出力信号WDN0をバッファクロック信号BUFCLKにしたがって転送するシフタ42da−42dcを含む。このシフト回路42は、本実施の形態1において、3段のシフタを含む。したがって、位相検出器35の出力信号UP0およびDWN0は、3クロックサイクル期間遅延された後に、遅延制御回路20へ与えられる。
【0115】
遅延制御回路20は、このシフト回路42の出力信号DWN3が、活性化されると、連続する3クロックサイクル期間ダウン指示信号DWNをHレベルに設定して、内部クロック信号CLKPの遅延量減少を指示する。
【0116】
位相制御回路906は、この遅延制御回路20の出力信号UPおよびDWNに従って双方向にカウント動作を行なうカウント回路37と、遅延制御回路20の出力するダウン指示信号DWNに従ってカウント回路37のカウント動作を制御するカウント制御回路41を含む。
【0117】
カウント制御回路41は、電源投入後またはシステムリセット後、ダウン指示信号DWNがHレベルの間、カウント回路37の下位のカウントビットを制御するイネーブル信号EN[0:2]をLレベルに設定し、その後、イネーブル信号EN[0:2]をHレベルに設定する。残りのイネーブル信号EN[3:N]は、電源投入によりHレベルに固定される。
【0118】
カウント回路37は、イネーブル信号EN[0:N]に従って、各ビットの状態が設定される。すなわち、イネーブル信号EN[i]がLレベルのときには、カウント回路37において遅延アドレス信号ビットA[i]が固定され、このビットについてはカウントがされない。従って、カウント回路37は、初期時においては、カウントビットA[3:N]を用いてカウント動作を行い、カウントビットA[0:2]は、その状態が初期状態に固定される。従って、カウント回路37においては、カウント動作が、ビットA[3:N]にしたがって行われるため、内部クロック信号CLKPおよびCLKNは、このカウント時の最下位ビットA[3]が規定する遅延量を単位として位相が調整される。
【0119】
図3は、図2に示す可変遅延線32および33の構成の一例を示す図である。これらの可変遅延線32および33は、同一構成を有するため、図3において、1つの可変遅延線32の構成を示し、可変遅延線33については、括弧内にその信号を示す。
【0120】
図3において、可変遅延線32は、(N+1)段の遅延段DS0−DSNと、遅延段DS0−DSNのそれぞれの入力に設けられ、導通時入力ノードNIに前段の遅延段の出力ノードNO0−NON−1を対応の入力ノードNI0−NINに接続するNチャネルMOSトランジスタTN0−TNNと、遅延段DS0−DSNそれぞれに対応して設けられ、導通時対応の遅延段DS0−DSNをバイパスするPチャネルMOSトランジスタTP0−TPNを含む。
【0121】
MOSトランジスタTN0−TNNへは、カウント回路37からの遅延段アドレス信号ビットA[0]−A[N]が与えられ、また、MOSトランジスタTP0−TPNのゲートへも、同様遅延段アドレス信号A[0]−A[N]が与えられる。
【0122】
この可変遅延線32において、遅延段DS0−DSNは、それぞれ偶数段の縦続接続されるインバータで構成される。遅延段DSjは、遅延時間(2^(j+1))Δivを有する。ここで、Δivは、インバータ1段の遅延時間を示す。また、符号^は、べき乗を示す。
【0123】
したがって、この可変遅延線32において、最小遅延量Δtは、2段のインバータの遅延段時間2Δivで与えられる。遅延段アドレス信号ビットA[0:N]をカウント回路37のカウント値に従って設定することにより、インバータ1段の遅延時間Δivを重みとして、遅延段アドレス信号A[0:N]により2進表示された遅延時間を、バッファクロック信号BUFCLKに対して与えることができる。
【0124】
たとえば、アドレス信号ビットA[0]が“1”(Hレベル)であり、残りのカウントビットA[1:N]が“0”(Lレベル)のときには、MOSトランジスタTN1−TNNおよびTP0が非導通状態、MOSトランジスタTN0およびTP1−TPNが導通状態となる。したがって、この場合、1段の遅延段DS0により遅延された信号が、出力ノードNONに伝達される。この場合、出力クロック信号CLKPFまたはCLKNFの遅延時間は、Δtで与えられる。
【0125】
図4は、図2に示すセルフタイミングパルス発生回路39の構成の一例を示す図である。図4において、タイミングパルス発生回路39は、可変遅延線32からのクロック信号CLKPFを受ける3段の縦続接続されるインバータ39a−39cと、インバータ39cの出力信号PFAとクロック信号CLKPFとを受けて内部クロック信号CLKPを生成するNANDゲート39を含む。インバータ39a−39cにより、反転遅延回路が形成される。
【0126】
図5は、図4に示すセルフタイミングパルス発生回路39の動作を示すタイミング図である。以下、図5を参照して、図4に示すセルフタイミングパルス発生回路39の動作について説明する。
【0127】
可変遅延線32の出力クロック信号CLKPFがHレベルに立上がるとき、インバータ39cの出力信号PFAはHレベルにある。応じて、NAND回路39dから出力されるクロック信号CLKPがLレベルに立上がる。インバータ39a−39cの有する遅延時間が経過すると、インバータ39cの出力信号PFAがLレベルとなり、応じてNANDゲート39dからの内部クロック信号CLKPがHレベルとなる。
【0128】
したがって、このセルフタイミングパルス発生回路39は、可変遅延線32からの出力クロック信号CLKPFの立上がりに応答して、インバータ39a−39cの有する遅延時間の間Lレベルとなるパルス信号を生成する。
【0129】
内部クロック信号CLKNを生成するセルフタイミングパルス発生回路40もこの図4に示すセルフタイミングパルス発生回路39と同様の構成を有し、可変遅延線33の出力クロック信号の立上がりに同期して、Lレベルとなるワンショットのパルス信号を生成する。
【0130】
図6は、図2に示すレプリカバッファ34の構成の一例を示す図である。図6において、レプリカバッファ34は、偶数段の縦続接続されるインバータ34a−34dを含む。図6においては、1例として4段のインバータ34a−34dが、レプリカバッファ34において用いられる。このレプリカバッファ34は、図1に示すDQバッファの内部クロック信号CLKPおよびCLKNの立上がりエッジに対するデータ出力の遅延時間に等しい遅延時間を、フィードバッククロック信号FBCLKに対して与える。ここで、バッファクロック信号BUFCLKおよびZBUFCLKは外部クロック信号に対して遅延時間はないものとする。バッファクロック信号BUFCLKおよびZBUFCLKを生成するクロック入力バッファ2における遅延時間を考慮する場合には、このレプリカバッファ34において、クロック入力バッファにおける遅延時間がさらに追加される。
【0131】
図7は、図2に示すDQバッファ14に含まれるデータ出力部の構成を概略的に示す図である。図7においては、1ビットのデータを出力する部分の構成を代表的に示す。図7において、DQバッファ14は、並列に内部読出データRDoおよびRDeを受ける出力バッファ14pおよび14nを含む。出力バッファ14pは、内部クロック信号CLKPがHレベルとなると活性化されてデータ出力ノードを内部読出データRDoに従って駆動する。出力バッファ14nは、内部クロック信号CLKNの立上がりに応答して活性化されて、内部読出データRDeに従って出力ノードを駆動する。
【0132】
内部読出データRDoおよびRDeは、内部で並列に読出され、出力バッファ14pおよび14nを交互に活性化することにより、外部クロック信号CLKの立上がりエッジおよび立下がりエッジに同期してデータを転送する。
【0133】
図8は、図7に示すDQバッファの動作を示すタイミング図である。以下、図8を参照して図7に示すDQバッファ14の動作について簡単に説明する。
【0134】
定常状態時においては、フィードバッククロック信号FBCLKの立上がりエッジが、バッファクロック信号BUFCLKの立上がりエッジに同期している。出力信号CLKPが、このフィードバッククロック信号FBCLKよりも位相が進んでおり、この内部クロック信号CLKPの立上がりに同期して出力バッファ14pが活性化されて外部へデータを出力する。この場合、レプリカバッファ34により、出力バッファ14pにおけるデータ伝搬遅延が補償されており、データDQは、バッファクロック信号BUFCLK、すなわち外部クロック信号CLKに同期して変化する。
【0135】
また、クロック信号CLKNは、相補のバッファクロック信号ZBUFCLKに同期して変化する。したがって、この内部クロック信号CLKNは、バッファクロック信号BUFCLKの立下がりエッジよりも早いタイミングでHレベルとなり、出力バッファ14nが内部クロック信号CLKNに従ってデータの出力を行なう。したがって、これらの出力バッファ14pおよび14nを交互に活性化することにより、バッファクロック信号BUFCLKすなわち外部クロック信号CLKの立上がりエッジおよび立下がりエッジに同期してデータを出力することができる。
【0136】
なお、このセルフタイミングパルス発生回路からのセルフタイミングパルスCLKPおよびCLKNをそのまま出力バッファ14pおよび14Nを活性化するために用いた場合、これらのタイミングパルスCLKPおよびCLKNのHレベル期間が重なる期間が存在する。この場合、出力バッファ14pおよび14nを、それぞれ、内部クロック信号CLKPおよびCLKNの立上がりエッジから所定期間のみ活性状態にする構成が用いられてもよい。またこれに代えて、内部クロック信号CLKPと可変遅延線32の出力クロック信号CLKPFの論理積をとった信号を出力バッファ14pへ与え、また可変遅延線33の出力クロック信号と内部クロック信号CLKNの論理積をとった信号を、出力バッファ14nへ、データ出力制御クロック信号として与えてもよい。
【0137】
図9は、図2に示す位相検出器35の構成の一例を示す図である。図9において、位相検出器35は、バッファクロック信号BUFCLKとフィードバッククロック信号FBCLKを受けるNAND型フリップフロップ35aと、バッファクロック信号BUFCLKとフリップフロップ35aの出力信号S2とを受けるNAND型フリップフロップ35bと、フリップフロップ35aの出力信号S1を受けるインバータ35cと、インバータ35cの出力信号とバッファクロック信号BUFCLKとフリップフロップ35bの出力信号S3を受けるNANDゲート35dと、フリップフロップ35bの出力信号S3とNANDゲート35dの出力信号S4とを受けてアップ指示信号UPおよびダウン指示信号DWNを生成するNAND型フリップフロップ35eを含む。
【0138】
フリップフロップ35aは、バッファクロック信号BUFCLKがLレベルのときに出力信号S1がHレベルに設定され、フィードバッククロック信号FBCLKがLレベルのときにその出力信号S2がHレベルに設定される。フィードバッククロック信号FBCLKの位相が、バッファクロック信号BUFCLKよりも進んでいるときに、信号S2がLレベルとなり、逆の場合には、信号S1がHレベルになる。
【0139】
フリップフロップ35bは、バッファクロック信号BUFCLKがLレベルのときにその出力信号S3をHレベルに設定する。フリップフロップ35eは、フリップフロップ35bの出力信号S3がLレベルのときにアップ指示信号UPをHレベルに設定し、NANDゲート35dの出力信号がLレベルのときにダウン指示信号DWNをHレベルに設定する。
【0140】
図10は、図9に示す位相検出器35の動作を示すタイミング図である。以下、図10を参照して図9に示す位相検出器35の動作について説明する。
【0141】
バッファクロック信号BUFCLKがLレベルのとき、フリップフロップ35aの出力信号S1はHレベルである。また、フィードバッククロック信号FBCLKがLレベルの間、このフリップフロップ35aの出力信号S2もHレベルである。またフリップフロップ35bの出力信号S3もバッファクロック信号BUFCLKがLレベルの間Hレベルである。また、バッファクロック信号BUFCLKがLレベルの間、NANDゲート35bの出力信号S4はHレベルである。したがって、フリップフロップ35eの出力信号UPおよびDWNは、前のサイクルの状態を維持する。
【0142】
フィードバッククロック信号FBCLKが、バッファクロック信号BUFCLKの立上がりよりも早いタイミングで立上がった場合、フリップフロップ35aの出力信号S2がLレベルとなる。このときまだ、バッファクロック信号BUFCLKはLレベルであるため、信号S1、S3およびS4はすべてHレベルを維持する。
【0143】
バッファクロック信号BUFCLKがHレベルに立上がると、フリップフロップ35bの出力信号S3がLレベルに立下がり、応じて、フリップフロップ35eからのアップ指示信号UPがHレベルに設定される。フリップフロップ35aの出力信号S1はHレベルであり、インバータ35cの出力信号はLレベルである。したがって、NANDゲート35dの出力信号S4はHレベルであるため、このアップ指示信号UPがHレベルに設定されると、ダウン指示信号DWNが、Lレベルに設定される。
【0144】
バッファクロック信号BUFCLKがLレベルに立下がると、再びフリップフロップ35bの出力信号S3がHレベルに立上がる。フリップフロップ35aにおいては、フィードバッククロック信号FBCLKがLレベルに立下がると、その出力信号S2がHレベルとなる。
【0145】
フィードバッククロック信号FBCLKがLレベルのときに、バッファクロック信号BUFCLKがHレベルに立上がった場合、フリップフロップ35aにおいて出力信号S1がLレベルとなり、インバータ35cの出力信号がHレベルとなる。フィードバッククロック信号FBCLKがLレベルであるため、フリップフロップ35aの出力信号S2はHレベルであり、フリップフロップ35bの出力信号S3は、このバッファクロック信号BUFCLKの立上がり時においてもHレベルである。したがって、NANDゲート35eの出力信号がすべてHレベルとなり、このNANDゲート35dの出力信号S4がLレベルとなり、応じてフリップフロップ35eの出力するダウン指示信号DWNがHレベルとなる。このダウン指示信号DWNがHレベルとなると、フリップフロップ35bの出力信号S3はHレベルであるため、アップ指示信号UPはLレベルとなる。
【0146】
したがって、この位相検出器35において、バッファクロック信号BUFCLKの立上がりエッジにおいて、フィードバッククロック信号FBCLKがHレベルであるかLレベルであるかに応じて、アップ指示信号UPおよびダウン指示信号DWNの状態を決定する。カウント回路37は、この位相検出器35のアップ指示信号UPがHレベルのときにカウントアップ動作を行ない、ダウン指示信号DWNがLレベルのときにカウントダウン動作を行なう。
【0147】
図11は、図2に示すカウント回路37の構成の一例を示す図である。図11において、カウント回路37は、遅延段アドレス信号A[0]−A[N]を生成する遅延段アドレス信号生成回路ADG0−ADGNと、遅延段アドレス信号生成回路ADG0−ADGN−1に対応して設けられ、対応の遅延段アドレス信号発生回路の遅延段アドレス信号の次段回路への転送を制御する転送制御回路CTL1−CTLNと、遅延段アドレス信号発生回路ADG0のカウント動作を制御するANDゲートAG0を含む。
【0148】
転送制御回路CTL1−CTLNが、それぞれイネーブル信号信号ビットEN[1]−EN[N]に従って選択的に能動化され、能動化時、アップ指示信号UPおよびダウン指示信号DWNに従って遅延段アドレス信号発生回路ADG−ADGNにカウントアップまたはカウントダウン動作を行なわせる。
【0149】
転送制御回路CTL1−CTLNの各々は、同一構成を有し、対応のイネーブル信号ビットEN[1]−EN[N]がHレベルのときに、アップ指示信号UPを通過させるANDゲートAG1と、対応のイネーブル信号ビットEN[1]−EN[N]がHレベルのときにダウン指示信号DWNを通過させるANDゲートAG2を含む。
【0150】
遅延段アドレス信号生成回路ADG0−ADGN−1は同一構成を有し、それぞれ、JKフリップフロップFFと、対応の転送制御回路のANDゲートAG1の出力信号がHレベルのときにJKフリップフロップFFの出力Qからの信号を伝達するANDゲートAG3と、対応の転送制御回路のANDゲートAG2の出力信号がHレベルのときに対応のJKフリップフロップFFの出力ZQからの信号を通過させるANDゲートAG4と、ANDゲートAG3およびAG4の出力信号を受けるORゲートOG0を含む。
【0151】
JKフリップフロップFFは、その入力JおよびKが相互接続され、クロック入力CPに、カウントパルスCPLを受ける。ORゲートOG0の出力信号は次段の遅延段アドレス信号生成回路のJKフリップフロップFFの入力JおよびKに与えられる。JKフリップフロップFFは、カウントパルスCLPの立下りにおける入力JおよびKの信号に従って、出力状態が決定される。
【0152】
ANDゲートAG0は、電源電圧VDDとイネーブル信号ビットEN[0]を受け、その出力信号を遅延段アドレス信号生成回路ADG0のJKフリップフロップFFの入力JおよびKへ与える。
【0153】
遅延段アドレス信号生成回路ADGNは、最終段の回路であり、JKフリップフロップFFを含む。このJKフリップフロップFFの出力ZQから、遅延段アドレス信号ビットA[N]が出力される。
【0154】
イネーブル信号ビットEN[0]−EN[N]がすべてHレベルのときには、カウント回路37はカウント動作を実行する。アップ指示信号UPがHレベルのときには、ANDゲートAG1の出力信号がHレベル、ANDゲートAG2の出力信号はLレベルである。したがって、遅延段アドレス信号生成回路ADG0−ADGN−1においてANDゲートAG3がイネーブルされ、ORゲートOG0を介して次段へ、対応の遅延段アドレス信号ビットA[0]−A[N−1]が伝達される。JKフリップフロップFFは、その入力JおよびKがともにHレベルのときには、カウントパルスCPLの立下がりに応答してその出力状態を変更する。JKフリップフロップFFは、その入力AおよびKがともにLレベルのときには、出力状態は前のサイクルの状態を維持する。したがって、アップ指示信号UPが与えられたときには、遅延段アドレス信号ビットA[0]−A[N−1]に従って次段のアドレス信号生成回路の出力状態が設定され、1カウントアップするカウント動作が実行される。
【0155】
一方、ダウン指示信号DWNがHレベルのときには、JKフリップフロップFFの出力ZQからの信号が、ANDゲートAG4およびORゲートOG0を介して次段の遅延段アドレス生成回路へ伝達される。したがって、この場合には、補の出力ZQからの信号に従って次段の遅延段アドレス信号生成回路の出力状態が設定されるため、1カウントダウンする動作が実行される。遅延段アドレス信号ビットA[0]−A[N]は、JKフリップフロップFFの出力Qから生成される。したがって、アップ指示信号UPが1回与えられると、可変遅延線においてカウント回路37が通常動作を行なっている場合には、1段の遅延段DS0の遅延量を単位として、その遅延量が更新される。
【0156】
図2に示すカウント制御回路41としては、図36および図37に示すカウント制御回路の構成が用いられる。すなわち、通算3回ダウン指示信号DWNが発生されると、イネーブル信号ビットEN[2:0]をLレベルからHレベルに設定する。
【0157】
図12は、図2に示す遅延制御回路20の構成を示す図である。図12において、遅延制御回路20は、バッファクロック信号BUFCLKを所定時間遅延する遅延回路20aと、遅延回路20aの出力信号BUFCLKDと制御信号FIXDWNとを受けるNANDゲート20bと、NANDゲート20bの出力信号を反転するインバータ20cと、図2に示すシフタ42cからの信号DWN3の活性化時セットされかつリセット信号RESETに応答してリセットされるNOR型フリップフロップ20iと、フリップフロップ20iの出力信号とインバータ20cの出力信号とを受けるANDゲート20dと、ANDゲート20dの出力信号がHレベルとなると内部転送動作を行なうシフタ20eと、シフタeの出力信号F101がHレベルとなると内部転送を行なうシフタ20fと、シフタ20fの出力信号F102がHレベルとなると内部転送動作を行なうシフタ20gと、NANDゲート20bの出力信号とシフタ20gの出力信号F103とを受けるNANDゲート20hと、リセット信号RESETとフリップフロップ20iの出力信号を受けるORゲート20jと、ORゲート20jの出力信号の立上がりに応答してワンショットのパルス信号を生成するワンショットパルス発生回路20kを含む。
【0158】
シフタ20e−20gは、先の図37に示すシフタ41fおよび41gと同じ構成を備え、リセット信号RESETの活性化に応答してその出力信号F101−F103がそれぞれLレベルに初期設定される。
【0159】
ワンショットパルス発生回路20kは、3段の縦続接続されるインバータと、ORゲート20jの出力信号と3段のインバータの出力信号とを受けるNANDゲートを含む。したがって、このワンショットパルス発生回路20kからは、ORゲート20jの出力信号の立上がりに応答して所定時間Lレベルとなるパルス信号が生成される。
【0160】
遅延制御回路20は、さらに、ワンショットパルス発生回路20kの出力パルスに応答してセットされかつNANDゲート20hの出力信号に従ってリセットされるNAND型フリップフロップ20lと、フリップフロップ20lの出力信号FIXDWNを受けるインバータ20mと、図2に示すシフタ42dcの出力信号DWN3とフリップフロップ20Lの出力信号FIXDWNを受けてダウン指示信号DWNを生成するORゲート20pと、インバータ20mの出力信号と図2に示すシフタ42uaの出力信号UP3を受けてアップ指示信号UPを生成するANDゲート20nを含む。
【0161】
フリップフロップ20lは、ワンショットパルス発生回路20kの出力パルスがLレベルとなるとその出力信号FIXDWNをHレベルに設定し、NANDゲート20hの出力信号がLレベルとなるとその出力信号FIXDWNをLレベルにリセットする。
【0162】
遅延制御回路20は、さらに、リセット信号RESETに応答してフリップフロップ20iをリセットするNチャネルMOSトランジスタ20qと、リセット信号RESETを受けるインバータ20rと、インバータ20rの出力信号に従ってワンショットパルス発生回路20kの出力信号をHレベルにリセットするPチャネルMOSトランジスタ20sと、リセット信号RESETに応答してフリップフロップ20lの出力信号FIXDWNをLレベルにリセットするNチャネルMOSトランジスタ20tを含む。
【0163】
この遅延制御回路20においては、シフタ42dcからの信号DWN3がHレベルとなると、強制的に、連続する3サイクル期間ダウン指示信号DWNをHレベルに設定して、遅延量減少動作を行なう。連続的に、3サイクルにおいて遅延減少動作を行なうことにより、過剰に増大された遅延量を補償する。
【0164】
図13は、図3に示す遅延制御回路20の動作を示すタイミング図である。以下、図13を参照して、図2から図12に示すDLL回路の動作について説明する。
【0165】
電源投入後またはシステムリセット後、この半導体記憶装置1に対し、DLLリセットコマンドが入力されると、図1に示すコントロール回路8の制御の下に、所定期間Hレベルとなるワンショットのパルスの形態でリセット信号RESETが発生される。このリセット信号RESETにより、DLL回路16が初期化され、図20に示す遅延制御回路20からのダウン指示信号DWNがLレベルに初期化される。
【0166】
また、カウント制御回路41においても、図36に示すように、リセット信号RESETに従って、イネーブル信号ビットEN[2:0]がすべてLレベルに初期化される。イネーブル信号ビットEN[3]−EN[N]はHレベルに固定される。したがって、図11に示すカウント回路37において、初期状態においては、遅延段アドレス信号発生回路ADG0−ADG2のカウント動作が禁止される(ORゲートOG0の出力信号がLレベルとなり、またANDゲートAG0の出力信号がLレベルとなるため)。可変遅延線32および33のデフォルト値の遅延時間により、このカウント回路37の初期化時のカウント値(遅延段アドレス信号A[0:N]の初期値)が適当な値に定められる。
【0167】
このDLL回路16がリセットされた後、位相比較器38が動作し、位相検出器35から、相補なアップ指示信号UP0およびダウン指示信号DWN0が生成され、図2に示すシフタ42ua−42ucおよび42da−42dcを介して遅延制御回路20へ与えられる。このシフタにおけるシフトサイクル時においては、イネーブル信号ビットEN[0]−EN[2]がLレベルであり、遅延段アドレス信号A[0]−A[2]は更新されず初期値を維持し、遅延段アドレス信号A[3]−A[N]で表わされる部分だけが更新される。したがって、DLL回路16のリセット後ダウン指示信号DWNがHレベルに到達するまでは、その可変遅延線32および33においては、遅延段アドレス信号ビットA[3]を最下位ビットとして遅延量が変化するため、8Δtの遅延時間単位で、その遅延時間が変化する。このダウン指示信号DWNがHレベルになるまでの可変遅延線32および33の遅延変化量は、8Δtに限定されず、適当な値に定められてもよい。
【0168】
シフト動作により、シフタ42dcからの信号DWN3がHレベルとなると、フリップフロップ20iがセットされ、その出力信号がHレベルとなる。また、この信号DWN3に従ってORゲート20pからのダウン指示信号DWNがHレベルとなる。また、OR回路20jの出力信号の立上がりに応答してワンショットパルス発生回路20kがワンショットのパルスを発生し、フリップフロップ20lがセットされ、その出力信号FIXDWNがHレベルに設定される。したがって、このシフタ42dcからの信号DWN3がHレベルに立上がると、フリップフロップ20iおよび20lがセットされるため、次のサイクルにおける信号DWN3の論理レベルにかかわらず、ダウン指示信号DWNはHレベルに固定される。
【0169】
遅延回路20aからの遅延バッファクロック信号BUFCLKDがHレベルに立上がると、インバータ20cの出力信号がHレベルとなる。このフリップフロップ20iの出力信号がHレベルに設定されると、遅延バッファクロック信号BUFCLKDの立上りに応答してANDゲート20dの出力信号がHレベルとなる。ANDゲート20dの出力信号がHレベルとなると、シフタ20eが内部転送動作を行ない、遅延バッファクロック信号BUFCLKDの立下がりに応答してANDゲート20dの出力信号はLレベルとなると、シフト20eにおいて取込んだ内部信号が出力され、この出力信号F101がHレベルとなる。フリップフロップ20lがセット状態にあり、その出力信号FIXDWNがHレベルの間、このシフタ20eがシフト動作を行ない、その出力信号F101は、遅延バッファクロック信号BUFCLKDの立下がりに応答して、その論理レベルが変化する。
【0170】
シフタ20fは、そのシフタ20eの出力信号がHレベルのとき内部転送動作を行ない、このシフタ20eの出力信号F101の立下がりに応答して取込んだ内部転送した信号を出力する。したがって、このシフタ20fからは、シフタ20eの出力信号F101の立下がりに応答してその論理レベルが変化する出力信号F102が生成される。
【0171】
シフタ20gも同様のシフト動作を行ない、このシフタ20fの出力信号F102がHレベルからLレベルになると、その出力信号F103がHレベルに立上がる。したがって、3クロックサイクル期間、シフタ20e−20gにおいてシフト動作を行なうことにより、信号DWN3がHレベルに立上がってから、3クロックサイクル期間連続的にダウン指示信号DWNをバッファクロック信号BUFCLKの立上がりエッジでHレベルに設定することができる。
【0172】
シフタ20eの出力信号F103がHレベルとなると、バッファクロック信号BUFCLKDの立下がりに応答してNANDゲート20eの出力信号がHレベルとなり、応じてNANDゲート20hの出力信号がLレベルとなる。したがって、フリップフロップ20lがリセットされ、その出力信号FIXDWNがLレベルにリセットされ、またダウン指示信号DWNもLレベルとなる。以降はシフタからの信号DWN3に従ってORゲート20bがダウン指示信号DWNを生成し、またANDゲート20pが、シフタからの信号UP3に従ってアップ指示信号UPを生成する。
【0173】
このダウン指示信号DWNを強制的にHレベルに3クロックサイクル期間設定している場合、このインバータ20mの出力信号がLレベルであり、アップ指示信号UPはLレベルである。
【0174】
フリップフロップ20iは、電源投入後において、シフタからの信号DWN3が最初にHレベルに立上がるとセットされその出力信号をHレベルに立上げる。以降、このフリップフロップ20iはセット状態を維持し、その出力信号はHレベルに維持される。したがって、最初に、シフタ42dcからの信号DWN3が初めてHレベルに立上がったときに、強制的に連続して3クロックサイクル期間ダウン指示信号DWNをHレベルに設定して、遅延量を8Δt単位で強制的に減少させる。この3クロックサイクル期間が経過すると、フリップフロップ20iがセット状態を維持し、またフリップフロップ20lがリセット状態を維持し、ダウン指示信号DWNは、シフタからの信号DWN3に従って変化する。
【0175】
カウント制御回路41は、ダウン指示信号DWNが通産3回活性化されると、イネーブル信号ビットEN[0:2]をバッファクロック信号BUFCLKの立下りに応答してHレベルに設定する。従って、この3クロックサイクルが経過すると、カウント回路37の最下位カウントビットが、A[0]となり、次のサイクルからの可変遅延回路32および33の遅延量変化単位がΔtに設定される。
【0176】
図11に示すカウント回路37へは、このバッファクロック信号BUFCLKの立上がりに応答して所定期間LレベルとなるカウントパルスCPLが与えられる。したがって、バッファクロック信号BUFCLKの立上がりエッジでダウン指示信号DWNおよびアップ指示信号UPの状態が確定した後に、このカウント回路37においてカウント動作が行なわれる。
【0177】
図14は、この発明の実施の形態1に従うDLL回路16の位相調整動作を示す図である。以下、図14を参照して、この発明の実施の形態1に従うDLL回路の位相調整動作について説明する。
【0178】
今、サイクル数0において、位相検出器35の出力信号UP0およびシフタ42ua−42ucの出力信号がすべてHレベルであり、また、遅延制御回路20の出力するアップ指示信号UPもHレベルの状態を考える。このサイクル数0において、バッファクロック信号BUFCLKの立上がりエッジで、フィードバッククロック信号FBCLKがHレベルの状態を考える。この状態においては、位相検出器35の出力信号UP0はHレベルである。アップ指示信号UPに従って、8Δtの遅延量増加が行なわれる。
【0179】
クロックサイクル数1において、フィードバッククロック信号FBCLKが、バッファクロック信号BUFCLKの立上がりエッジでLレベルとなる。このとき、位相比較器35の出力信号UP0がLレベルとなる。しかしながら、アップ指示信号UPは、Hレベルであり、フィードバッククロック信号FBCLKの位相が、8Δt遅延される。クロックサイクル数2において、依然フィードバッククロック信号FBCLKがバッファクロック信号BUFCLKの立上がりエッジでLレベルのとき、位相比較器35の出力信号UP0がLレベルとなる。このときにおいても、アップ指示信号UPはHレベルであり、フィードバッククロック信号FBCLKの遅延量が8Δt増大される。
【0180】
クロックサイクル数3において、このフィードバッククロック信号FBCLKのLレベル期間を超えて位相補正が行なわれ、バッファクロック信号BUFCLKの立上がりエッジでフィードバッククロック信号FBCLKがHレベルとなる。このサイクル3においてもアップ指示信号UPがHレベルであり、フィードバッククロック信号FBCLKの遅延量が増大される。
【0181】
クロックサイクル数4において、アップ指示信号UPがシフタからの出力信号UP3に従ってLレベルに設定される。その場合、ダウン指示信号DWNがHレベルであり、フィードバッククロック信号FBCLKの位相遅延量が、8Δtだけ小さくされる。次のサイクル数5においても、アップ指示信号UPはLレベルであり、ダウン指示信号DWNがHレベルであり、フィードバッククロック信号FBCLKの遅延量が8Δtだけ小さくされる。
【0182】
クロックサイクル数6において、シフタの出力信号UP3がHレベルとなっても、遅延制御回路20の出力するダウン指示信号DWNはHレベルであり、強制的にこのシフタの出力信号UP3にかかわらず、フィードバッククロック信号FBCLKの遅延量が8Δtだけ小さくされる。
【0183】
このクロックサイクル4から6における3クロックサイクル期間アップ指示信号UPがLレベルであり、クロックサイクル数6におけるシフタ42dcおよび42uaの出力信号は、遅延制御回路20において無視される。
【0184】
クロックサイクル数7において、シフタの出力信号UP3に従ってアップ指示信号UPをHレベルに設定される。このとき、3クロックサイクル連続して、遅延量低減動作が行なわれており、クロックサイクル数6においてバッファクロック信号BUFCLKの立下りに従って、カウント制御回路41からのイネーブル信号ビットEN[0]−EN[2]がHレベルに設定される。これにより、クロックサイクル数7における遅延量の調整は、遅延段DS0の遅延量Δtを単位として遅延量が調整される。以降、このシフタからの出力信号UP3およびDWN3に従って、フィードバッククロック信BUFCLKの位相調整が、遅延量Δt単位で実行される。
【0185】
このシフタのタイムラグにより位相調整が過剰に行われ、フィードバッククロック信号FBCLKのL期間が、バッファクロック信号BUFCLKの立上がりエッジを超えた場合、この位相の過剰調整は、シフタ3段による3クロックサイクル期間のタイムラグに起因している。従って、3サイクル連続して、バッファクロック信号BUFCLKの遅延量を低減することにより、この3サイクル分の過剰遅延増加は、補償することができる。
【0186】
この過剰遅延量増加を補償した後に、最小遅延単位Δt単位で位相補正を行なうことにより、シフタのシフト動作によるタイムラグの影響を排除して、セルフタイミングパルスのLレベル期間を有効に利用して位相調整を行うことができ、早いタイミングで、フィードバッククロック信号FBCLKをバッファクロック信号BUFCLKの立上がりエッジにロックさせることができる。
【0187】
従って、プロセスパラメータなどのバラツキにより、セルフタイミングパルスのLレベル期間がばらついても、確実にその影響を排除して、位相調整動作を行うことができ、内部クロック信号が外部クロック信号に位相同期(ロック)するまでに要するクロックサイクル数が増大するのを確実に防止することができる。
【0188】
なお、上述の構成においては、3段のシフタが用いられているが、シフタがM段設けられてもよい。この場合には、連続Mサイクル期間、ダウン指示信号DWNをHレベルに設定する。したがって、図12に示すシフタ20e−20gを、M段縦続接続する。
【0189】
以上のように、この発明の実施の形態1に従えば、位相検出器の出力信号をシフタを通して可変遅延線の遅延量を調整する場合、ダウン指示信号が初めてHレベルとなると、強制的にシフタ段数だけ連続的に、その遅延量を低減している。したがって、遅延段アドレス信号が準安定状態となるのを、このシフタの利用により抑制することができる。また、バッファクロック信号BUFCLKとフィードバッククロック信号FBCLKとの位相差調整において、シフタによるタイムラグにより過剰に位相調整されるのを防止することができる。電源投入後、高速で、外部クロック信号に位相同期した内部クロック信号を安定に生成することができる。
【0190】
[実施の形態2]
図15は、この発明の実施の形態2に従うDLL回路の構成を概略的に示す図である。この図15に示すDLL回路は、図40に示すDLL回路と以下の点が異なる。すなわち、位相制御回路906において、カウント制御回路141は、シフタ42dcからダウン指示信号DWNが初めて与えられると、そのときに、遅延単位を他のサイクルよりも増大させる。最初にダウン指示信号DWNが発生されるまでは、シフト回路42のシフト段数に応じた遅延量で、可変遅延線32および33の遅延量を調整する。初めてダウン指示信号DWNがHレベルに設定されると、カウント制御回路141は、その遅延量を、さらにたとえばシフト回路42のシフト段数に応じた遅延量増大させる。このサイクルが完了すると、カウント制御回路141は、イネーブル信号EN[N:0]をすべてHレベルに設定する。この図15に示すDLL回路の他の構成は、図40に示すDLL回路の構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【0191】
すなわち、この発明の実施の形態2においては、シフト回路42のシフタによるタイムラグの影響を、1サイクル期間、この遅延量をさらに増加させて、タイムラグの影響を補償する。
【0192】
図16は、図15に示すカウント制御回路141の構成を示す図である。図16において、カウント制御回路141は、図15に示すシフタ42dcからのダウン指示信号DWNを受けるインバータ141aと、ダウン指示信号DWNの活性化に応答してセットされかつリセット信号RESETに応答してリセットされるNOR型フリップフロップ141dと、インバータ141aの出力信号とシフタ141dの出力信号を受けるNORゲート141bと、NORゲート141bの出力信号とバッファクロック信号BUFCLKとを受けるANDゲート141cと、シフタ141dの出力信号とフリップフロップ141dの出力信号F201とを受けてイネーブル信号EN[3:4]を生成するORゲート141eを含む。
【0193】
シフタ141dから、イネーブル信号EN[0:2]が出力される。これらのORゲート141eおよびシフタ141dは、それぞれ出力信号が、1ビットであり、これらのイネーブル信号ビットEN[3:4]は、ORゲート141eの出力信号に従って共通に制御され、またシフタ141dの出力信号に従って、イネーブル信号ビットEN[0:2]が共通に制御される。
【0194】
シフタ141dは、図37に示す構成を有し、その入力INに与えられる信号がHレベルのとき内部で転送動作を行ない、ANDゲート141cの出力信号を分周する。
【0195】
図17は、図16に示すカウント制御回路41Aの動作を示すタイミング図である。以下、図17を参照して、図16に示すカウント制御回路141の動作について説明する。
【0196】
電源投入後、この半導体記憶装置1に対し、DLLリセットコマンドが入力され、リセット信号RESETが所定期間Hレベルとなる。応じて、フリップフロップ141dがリセットされ、その出力信号F201がHレベルに設定される。応じて、OR回路141eの出力信号がHレベルとなり、イネーブル信号ビットEN[3:4](ビットEN[3]、EN[4])がともにHレベルに設定される。
【0197】
一方、リセット信号RESETに従ってシフタ141dにおいて初期化動作が行なわれ、イネーブル信号ビットEN[0]−EN[2]はすべてLレベルに初期化される。
【0198】
位相検出器35の検出動作により、相補な信号UP0およびDWN0が、シフト回路42のシフタを通して転送される。この場合、イネーブル信号EN[0:2]がLレベルであり、カウント回路37の遅延段アドレス信号ビットA[0]−A[2]は更新されず、遅延段アドレス信号ビットA[3]−A[N]で表わされる部分が更新される。したがって、DLLリセット後、ダウン指示信号DWNがHレベルに設定されるまで、可変遅延線32および33は、8段の遅延回路の遅延量(8Δt)単位で遅延量が変化する。
【0199】
ダウン指示信号DWNがHレベルに立上がるとフリップフロップ141dがセットされ、その出力信号F201がLレベルとなる。イネーブル信号EN[0:2]はLレベルであるため、OR回路141eからの信号がLレベルとなり、応じてイネーブル信号ビットEN[3]およびEN[4]が、Lレベルに設定される。
【0200】
したがって、ダウン指示信号DWNが初めてHレベルに到達した後、最初に遅延段アドレス信号A[0:N]の値を減少させるバッファクロック信号BUFCLKの立上がりの時刻t1において、遅延段アドレス信号ビットA[5]−A[N]で表わされる部分だけが更新される。この場合、ダウン指示信号DWNに従って、可変遅延線32および33の遅延段数が低減される。遅延段アドレス信号A[5]は、遅延量32Δtの遅延段に対応している。カウント回路37におけるカウント動作により、32(10進)のカウントダウンが行われ、可変遅延回路32および33において32Δtの遅延時間の低減が行われる。この遅延量低減は、8遅延単位(8Δt)が4回低減されたことに相当する。
【0201】
バッファクロック信号BUFCLKがHレベルに立上がると、ANDゲート141cの出力信号がHレベルとなり、シフタ141dにおいて内部転送動作が行なわれる。したがって、バッファクロック信号BUFCLKがLレベルに立下がると、このシフタ141dの出力信号がHレベルに立上がり、応じてイネーブル信号ビットEN[0]−EN[2]がHレベルとなる。応じてOR回路141eの出力信号がHレベルとなり、イネーブル信号ビットEN[3]およびEN[4]がともにHレベルとなる。したがって、次のバッファクロック信号BUFCLKの立上がりエッジの時刻t3における調整動作は、最小遅延単位Δtを単位として行なわれる。
【0202】
この図16に示すカウント制御回路141を利用し、ダウン指示信号DWNが初めてHレベルに設定されたときには、シフタのシフト動作による過剰位相増加分を1クロックサイクルで補償する。したがって、フィードバッククロック信号FBCLKのLレベル期間が、バッファクロック信号BUFCLKの立上がりエッジを超えて変化しても、1クロックサイクルで、確実に、その過剰位相調整を補償することができ、高速で、外部クロック信号に位相同期した内部クロック信号を生成することができる。
【0203】
図18は、この発明の実施の形態2に従うDLL回路の動作を示す図である。図18において、最終段のシフタからのアップ指示信号UPがHレベルの状態を考える。ダウン指示信号DWNはLレベルである。この場合、フィードバッククロック信号FBCLKの位相遅延量が、クロックサイクル数3まで8Δt単位で増分される。クロックサイクル数1および2において、位相検出器35の出力信号UP0がLレベルとなる。
【0204】
クロックサイクル数4において、アップ指示信号UPがLレベルとなると、すなわちダウン指示信号DWNがHレベルとなると、フィードバッククロック信号FBCLKの遅延量が、32Δtだけ減分され、その位相が、4クロックサイクル前のクロックサイクル数0と同じ値に復帰する。このクロックサイクルにおいて、遅延量単位がΔtに設定される。
【0205】
次のクロックサイクル数5においても、アップ指示信号UPはLレベルである。このときには、最小遅延単位Δt単位でフィードバッククロック信号FBCLKの位相を小さくすることが行なわれる。
【0206】
クロックサイクル数6においては、アップ指示信号UPがHレベルであり、フィードバッククロック信号FBCLKの遅延量を増大する処理が行なわれる。
【0207】
この遅延量増加処理において、フィードバッククロック信号FBCLKの立上りが、バッファクロック信号BUFCLKの立上り前に生じており、フィードバッククロック信号FBCLKの立上がりエッジを、少ないサイクル数で、バッファクロック信号BUFCLKの立上がりエッジに同期させることができる。
【0208】
なお、シフト回路42においてM段のシフタが配置されている場合、最初にダウン指示信号DWNがHレベルとなったとき、次の遅延段アドレス変更サイクルにおいて、一度に任意のK段減少させるように、カウント制御回路141を構成することもできる。図16に示すカウント制御回路41Aにおいて、ORゲート141eの制御するイネーブル信号ENのビット範囲を遅延量K段に対応するように設定することにより、容易に実現することができる。
【0209】
以上のように、この発明の実施の形態2に従えば、ダウン指示信号が初めてHレベルとなると、可変遅延線の1サイクルの遅延変化量をシフタ段数+1段に設定している。シフト回路のシフト動作によるタイムラグの影響を抑制して、高速で、フィードバッククロック信号を内部バッファクロック信号に位相同期させることができる。また、位相検出器の出力信号を転送するシフタを利用しているため、カウント回路の出力する遅延段アドレス信号が準安定状態となるのを抑制することができ、安定にかつ高速で外部クロック信号に位相同期した内部クロック信号を生成することができる。
【0210】
[実施の形態3]
図19は、この発明の実施の形態3に従うDLL回路16の構成を概略的に示す図である。この図19に示すDLL回路16においては、位相制御回路906内において、位相比較器904からのダウン指示信号DWNに従ってカウント制御回路241がカウント回路37に対するイネーブル信号EN[N:0]を生成する。このカウント制御回路241は、ダウン指示信号DWNの積算動作は行なわず、最初に生成されたダウン指示信号DWNがLレベルに立下がると、イネーブル信号ビットEN[N:0]をすべてHレベルに設定する。図19に示すDLL回路16の他の構成は、図15に示すDLL回路16の構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【0211】
図20は、図19に示すカウント制御回路241の構成を示す図である。図20において、カウント制御回路241は、図19に示すシフタ42dcからのダウン指示信号DWNを受けるインバータ241aと、イネーブル信号ENとインバータ241aの出力信号とを受けるNORゲート241bと、NORゲート241bの出力信号に従ってシフト動作を行なってイネーブル信号EN(EN[0]−EN[2])を生成するシフタ241cと、リセット信号RESETに従ってイネーブル信号ビットEN[0]−EN[2]をLレベルに初期設定するNチャネルMOSトランジスタ241dを含む。このシフタ241cは、1ビットのシフタであり、イネーブル信号ビットEN[0]−EN[2]は、シフタ241cにより共通に制御される。
【0212】
シフタ241cは、図37に示すシフタ41fおよび41gと同様の構成を備え、入力INに与えられる信号がHレベルのとき内部で転送動作を行ない、入力INに与えられる信号がLレベルとなると、内部ノードの信号を出力する。このシフタ241cに対してまたリセット信号RESETがリセット入力RSTに与えられる。シフタ241cは、リセット信号RESETに応答して内部ノードがLレベルに設定される。
【0213】
図21は、図20に示すカウント制御回路241の動作を示すタイミング図である。以下、図21を参照して、図20に示すカウント制御回路241の動作について簡単に説明する。
【0214】
電源投入後のDLLリセットコマンドに従って、リセット信号RESETがHレベルに駆動され、シフタ241cの内部ノードの初期化およびイネーブル信号ビットEN[0]−EN[2]の初期化が行なわれる。
【0215】
位相差検出回路909における位相検出動作に従って、図19に示すシフタ42dcからのダウン指示信号DWNがHレベルに立上がると、シフタ241cにおいて内部ノードの信号の転送が行なわれる。このダウン指示信号DWNがHレベルの間、シフタ240cにおいて出力段のトライステートバッファは出力ハイインピーダンス状態であり、その出力段のラッチにより、イネーブル信号ビットEN[0]−EN[2]はLレベルを維持する。したがって、この間、図19に示すカウント回路37からの遅延段アドレス信号A[0:2]は初期状態を維持しており、遅延段アドレス信号A[3:N]が変化する。
【0216】
ダウン指示信号DWNがLレベルに立下がると、インバータ241aの出力信号がHレベルとなり、応じてNORゲート241bの出力信号がLレベルとなる。したがって、シフタ241cにおいて内部で転送されたHレベルの信号が最終出力段のトライステートバッファを介して出力され、イネーブル信号ビットEN[0]−EN[2]がHレベルに立上がる。以降、カウント回路37の出力する遅延段アドレス信号A[0:N]のビットはすべて有効となり、Δt単位での遅延量の調整が実行される。
【0217】
図22は、この発明の実施の形態3に従うDLL回路の動作を示す図である。以下、図22を参照して、図20および図21に示すDLL回路の動作について説明する。
【0218】
DLL回路16のリセットの後、位相検出器35の位相検出動作により、相補なアップ指示信号UPおよびダウン指示信号DWNがシフト回路42を介してカウント回路37へ与えられる。またカウント制御回路241に対し、ダウン指示信号DWNが与えられる。
【0219】
クロックサイクル数0から3までにおいては、アップ指示信号UPがHレベルであり、イネーブル信号ビットEN[0]−EN[2]がLレベルであり、8Δt単位で遅延量の増分が行なわれる。
【0220】
クロックサイクル数4において、アップ指示信号UPがLレベルとなると、フィードバッククロック信号FBCLKが、その位相が8Δtだけ進められる。次のクロックサイクル数5においても、アップ指示信号UPがLレベルであり、再びフィードバッククロック信号FBCLKの遅延量が8Δtだけ減分される。
【0221】
クロックサイクル数5において、バッファクロック信号BUFCLKの立下がりに同期して、ダウン指示信号DWNがLレベルとなり、応じて、図20に示すカウント制御回路241において、イネーブル信号ビットEN[0]−EN[2]がHレベルに設定される。カウント回路37の全ビットA[0:N]が全て有効となり、全ビットを用いてカウント動作が行われる。したがって、以後のサイクルにおいては、位相調整は、Δtを単位として行われる。
【0222】
クロックサイクル数6において、アップ指示信号UPがHレベルとなると、Δtだけフィードバッククロック信号FBCLKの位相の遅延量が増分される。以降、このイネーブル信号ビットEN[0]−EN[2]はHレベルであるため、可変遅延線32および33においては、遅延段アドレス信号ビットA[0]−A[N]すべてを用いて遅延量が変更される。Lレベル期間において遅延量が最小遅延量Δt単位で調整されるだけであり、高速で、フィードバッククロック信号FBCLKの立上がりエッジを、バッファクロック信号BUFCLKの立上がりエッジにロックさせることができる。
【0223】
また、シフト回路42を通して、アップ指示信号UPおよびダウン指示信号DWNを転送しており、遅延段アドレス信号が準安定状態となるのを抑制することができ、安定に内部クロック信号を生成することができる。
【0224】
なお、上述の実施の形態1から3においては、セルフタイミングパルスとして、可変遅延線の出力信号の立上がりに応答して所定期間Lレベルとなるパルス信号を用いている。しかしながら、これに代えて、可変遅延線の出力信号の立上がりに応答して所定期間Hレベルとなるパルス信号を生成して、セルフタイミングパルス信号として用いてもよい。この場合、可変遅延線のデューティ比50%の出力クロック信号を、データ出力用のクロック信号として用い、フィードバッククロック信号としては、このセルフタイミングパルス信号を利用する。セルフタイミングパルス信号の立上がりエッジが、可変遅延線の出力信号の立上がりエッジと同期しており、このセルフタイミングパルス信号をレプリカバッファを介してフィードバッククロック信号FBCLKを生成して、バッファクロック信号BUFCLKとの位相の調整を行なう。この構成の場合、ダウン指示信号DWNに代えて、アップ指示信号UPを用いて可変遅延線の遅延量の調整/制御を行なう。シフタのタイムラグにより過剰に位相遅延量の低減が行われたときに遅延量を増大させて、過剰位相調整を補償する。
【0225】
また、上述の実施の形態においては、DDRモードで動作するクロック同期型半導体記憶装置においてDDL回路が用いられている。しかしながら、一般に、外部クロック信号に位相同期した内部クロック信号を生成する回路に対し、本発明のDDL回路は適用することができる。
【0226】
また、内部クロック生成回路として遅延回路を縦続接続して遅延回路の段数を調整して内部クロック信号を生成している。しかしながら、内部クロック生成回路としては、遅延段アドレス信号に従って動作電流が調整される電流制御型遅延回路列が用いられてもよい。遅延回路の段数の変更に変えて動作電流の調整により、遅延時間の調整が行われる。従って、内部クロック生成回路としては、カウント回路の出力カウント値により遅延時間が調整される可変遅延回路であればよい。
【0227】
【発明の効果】
以上のように、この発明に従えば、セルフタイミングパルス信号のエッジを超えて過剰に位相調整が行なわれた場合、この過剰位相調整を補償するように位相遅延量を制御しており、内部クロック信号を高速で外部クロック信号に位相同期させることができる。
【0228】
すなわち、位相検出回路の出力信号が所定状態となると、この状態を予め定められた数のクロックサイクルの間連続的に維持し、この予め定められた数のクロックサイクルが経過すると、この維持状態を解除し、その所定の状態が維持されている間位相遅延調整量を第1の遅延量に設定し、その維持状態の解除時、この第1の遅延量よりも小さな第2の遅延量に位相調整量を設定しており、内部クロック信号の位相調整が過剰に行なわれる場合においても、確実に、この過剰位相調整を補償して過剰位相調整前の状態に内部クロック信号を戻した後に、最小遅延単位で位相調整を行なうことができ、高速でかつ安定に、内部クロック信号を外部クロック信号に位相同期させることができる。
【0229】
また、位相検出回路の出力信号を所定クロックサイクル期間遅延し、この遅延回路の出力信号に従って連続的に所定状態を示す状態に設定することにより、確実に、連続的に内部クロック信号と外部クロック信号の位相関係を所定状態に設定することができ、また遅延回路を用いることにより、位相調整回路の位相調整動作が準安定状態になるのを防止することができ、高速でかつ安定に外部クロック信号に位相同期した内部クロック信号を生成することができる。
【0230】
また、位相関係調整回路を、位相差検出回路の出力信号を所定クロックサイクル期間遅延し、この遅延回路の出力信号にしたがって所定状態の維持およびクロックサイクル数に応じて維持状態の解除を行うことにより、位相調整信号が充安定状態となるのを防止しつつ正確に所望の期間連続的に所定の状態に維持することができる。
【0231】
また、所定状態の維持クロックサイクル数を位相差検出回路の出力の遅延回路の段数と同じとすることにより、正確に、過剰調整された位相を遅延回路の遅延時間の影響を排除した状態に復帰させることができ、正確に過剰位相調整を補償することができる。
【0232】
また、この位相調整回路において、遅延量設定用のカウンタのカウント値を、所定状態の間、カウンタのカウント単位を第1の遅延量に対応する値に設定することにより、容易に内部クロック生成回路の遅延量を調整することができる。
【0233】
また、内部クロック生成回路をカウンタのカウント値により遅延量が設定される可変遅延回路で構成することにより、外部クロック信号を遅延して内部クロック信号を生成するDLL回路において、高速で外部クロック信号に位相同期した内部クロック信号を安定に生成することができる。
【0234】
また、位相差検出回路の出力信号が内部クロック信号と外部クロック信号の位相関係が所定の状態を示すときには、この内部クロック生成回路の位相調整量を初期設定値よりも増大させ、この所定状態解除後、位相調整単位を最小値に設定することにより、位相調整が過剰に行なわれる場合においても、この過剰位相調整を補償することができ、その後、内部クロック信号を最小位相調整単位で位相調整することにより、内部クロック信号を外部クロック信号に位相同期させるまでに要するクロックサイクル数を低減することができる。
【0235】
また、位相調整量を設定するカウンタのカウントビットを所定サイクル期間カウンタの所定のカウントビットを固定状態とし、この所定サイクル期間経過後にカウンタのカウントビットをすべて有効とすることにより、内部クロック信号の位相調整が過剰に行なわれた場合においても、この大きな位相調整単位により、過剰位相調整を補償することができ、内部クロック信号が外部クロック信号にロックするのに要するクロックサイクル数を低減することができる。
【0236】
また、この所定サイクル期間を1クロックサイクル期間に設定することにより、過剰位相調整補償に要するクロックサイクル数を最小値に設定でき、内部クロック信号が外部クロック信号に位相同期するのに要するクロックサイクル数を低減することができる。
【0237】
また、無効状態に初期設定される第1のビットが無効状態のとき、位相差検出回路からの所定状態の出力信号を所定サイクル期間遅延して第1のビットを生成し、またこの所定状態の出力信号に従って第1のビットよりも上位の第2のビットを無効状態に設定し、かつこの遅延回路の出力する第1ビットに応答して第2のビットを有効状態とし、これらのビットにより内部クロック信号の位相調整量を設定することにより、容易に、所定サイクル期間位相補正量を変更し、所定サイクル経過後に、位相調整量を最小値に設定することができる。
【0238】
また、内部クロック信号を生成する可変遅延回路の遅延量をカウント回路の出力カウント値にしたがって設定し、このカウント回路のカウント単位を第1および第2のビットで設定することにより、容易に、位相差検出回路の出力信号に従って内部クロック信号の遅延量を変更することができ、正確に内部クロック信号の位相の過剰調整を補償することができる。
【0239】
また位相差検出回路において、内部クロック信号と外部クロック信号の位相差を検出する位相検出器の出力信号をシフトして、位相差検出回路の出力信号を生成することにより、内部クロック信号が準安定状態になるのを防止することができ安定に内部クロック信号を生成することができる。
【0240】
また、位相差検出回路の出力信号に従って位相調整回路の位相調整単位を調整する際に、この位相差検出時に内部クロック信号と外部クロック信号が所定状態となるまで、内部クロック信号の位相調整量を最小値よりも大きく設定し、この所定状態の解除に応答して位相調整量を最小値に設定することにより、位相調整が過剰に行なわれたときに、その位相調整補償が過剰に行なわれるのを防止することができ、内部クロック信号が外部クロック信号に位相同期するまでに要するクロックサイクル数を低減することができる。
【0241】
また、位相差検出回路を、内部クロック信号と外部クロック信号の位相差を検出し、該検出結果をシフタを介して転送する構成とすることにより、位相比較結果が準安定状態となるのを防止することができ、安定に位相調整動作を行なって内部クロック信号を外部クロック信号に対し位相同期させることができる。
【0242】
また、内部クロック信号を可変遅延線を介して生成し、この可変遅延線の遅延量をカウンタのカウント値に従って設定する場合、初期化時カウントビットの所定ビットを無効とし、内部クロック信号と外部クロック信号との位相関係の所定状態完了時にこの所定ビットを有効状態とすることにより、過剰に位相調整が行われるのを防止することができ、初期化時、高速で内部クロック信号を外部クロック信号に位相同期させることができる。
【0243】
また、位相差検出結果を所定サイクルシフトして位相調整信号として出力することにより、位相調整信号が準安定状態となるのを防止することができ、安定に内部クロック信号を生成することができる。
【0244】
また、位相調整時において、内部クロック信号の遅延量を設定するカウント回路の所定のビットを固定状態としてカウント動作を行わせることにより、正確にかつ容易に内部クロック信号の遅延量を設定することができ、正確に過剰に調整された位相を補償して過剰調整前の状態に内部クロック信号を復帰させることができる。
【0245】
また、位相差検出回路へは、この内部クロック信号のエッジに応答してワンショットパルス信号を生成して印加することにより、デューティ比50%と異なる信号を用いて位相検出動作を行なうことができ、可変遅延線を用いた場合においても、内部クロック信号を外部クロック信号に位相同期させるまでに要するクロックサイクル数を低減することができる。
【図面の簡単な説明】
【図1】この発明に従うクロック同期型半導体記憶装置の全体の構成を概略的に示す図である。
【図2】図1に示すDLL回路の構成を概略的に示す図である。
【図3】図2に示す可変遅延線の構成を示す図である。
【図4】図2に示すセルフタイミングパルス発生回路の構成の一例を示す図である。
【図5】図4に示す回路の動作を示すタイミング図である。
【図6】図2に示すレプリカバッファの構成の一例を示す図である。
【図7】図1に示すDQバッファの構成を概略的に示す図である。
【図8】図7に示すDQバッファの動作を示すタイミング図である。
【図9】図2に示す位相検出器の構成の一例を示す図である。
【図10】図9に示す位相検出器の動作を示すタイミング図である。
【図11】図2に示すカウント回路の構成を示す図である。
【図12】図2に示す遅延制御回路の構成を示す図である。
【図13】図12に示す遅延制御回路の動作を示すタイミング図である。
【図14】図2に示すDLL回路の動作を示すタイミング図である。
【図15】この発明の実施の形態2に従うDLL回路の構成を概略的に示す図である。
【図16】図15に示すカウント制御回路の構成を示す図である。
【図17】図16に示すカウント制御回路の動作を示すタイミング図である。
【図18】図15に示すDLL回路の動作を示すタイミング図である。
【図19】この発明の実施の形態3に従うDLL回路の構成を概略的に示す図である。
【図20】図19に示すカウント制御回路の構成を示す図である。
【図21】図20に示すカウント制御回路の動作を示すタイミング図である。
【図22】図19に示すDLL回路の調整動作を示す図である。
【図23】ダブルデータレートのデータ出力動作を示すタイミング図である。
【図24】内部クロック発生回路の構成を概略的に示す図である。
【図25】図24に示す内部クロック発生回路の構成をより具体的に示す図である。
【図26】(A)および(B)は、図25に示す位相検出器の動作を示すタイミング図である。
【図27】図25に示す内部クロック発生回路の動作を示すタイミング図である。
【図28】図25に示す内部クロック発生回路の動作を示すタイミング図である。
【図29】図25に示す位相差検出回路の動作を示すタイミング図である。
【図30】従来の内部クロック発生回路の他の構成を概略的に示す図である。
【図31】図30に示すセルフタイミングパルス発生回路の動作を示すタイミング図である。
【図32】図30に示す位相検出器の動作を示すタイミング図である。
【図33】図30に示すカウント制御回路の構成の一例を示す図である。
【図34】図30に示すカウント回路の構成を概略的に示す図である。
【図35】従来の内部クロック発生回路のさらに他の構成を概略的に示す図である。
【図36】図35に示すカウント制御回路の構成を示す図である。
【図37】図36に示すシフタの構成の一例を示す図である。
【図38】図36に示すカウント制御回路の動作を示すタイミング図である。
【図39】図35に示す内部クロック発生回路の構成をより具体的に示す図である。
【図40】図39に示す内部クロック発生回路の位相調整動作を示す図である。
【符号の説明】
1 半導体記憶装置、16 DLL回路、20 遅延制御回路、32,33 可変遅延線、34 レプリカバッファ、35 位相検出器、37 カウント回路、38 位相比較回路、41,141,241 カウント制御回路、42 シフト回路、42ua−42uc,42da−42dc シフタ、39,40 セルフタイミングパルス発生回路、20a 遅延回路、20b,20h NANDゲート、20c,20m インバータ、20e,20f,20g シフタ、20i,20l フリップフロップ、20j,20p ORゲート、20k ワンショットパルス発生回路、20d,20n ANDゲート、141a インバータ、141b NORゲート、141c ANDゲート、141b シフタ、141f フリップフロップ、141e ORゲート、241a インバータ、241b NORゲート、241c シフタ。
Claims (15)
- 外部クロック信号に従って内部クロック信号を生成する内部クロック生成回路、
前記内部クロック信号と前記外部クロック信号との位相差を検出する位相差検出回路、
前記位相差検出回路の出力信号に従って、前記内部クロック信号と前記外部クロック信号との位相関係が所定の状態となると該所定の状態を予め定められた数のクロックサイクルの間連続して維持し、前記予め定められた数に到達すると該維持状態を解除する位相関係調整回路、
前記位相関係調整回路の出力信号に従って、前記内部クロック信号の位相を調整する位相調整回路、および
前記位相調整回路の前記所定の状態が解除されるまで前記位相調整回路の位相調整単位を第1の遅延量に設定し、前記所定の状態の解除に応答して、前記位相調整回路の位相調整単位を前記第1の遅延量よりも小さい第2の遅延量に設定する遅延制御回路を備える、クロック発生回路。 - 前記位相関係調整回路は、
前記位相差検出回路の出力信号を所定数のクロックサイクル間遅延する遅延回路と、
前記遅延回路の出力信号が前記所定の状態を示すとき、前記位相関係調整回路の出力信号を強制的に前記所定状態を示す状態に設定する強制設定回路と、
前記強制設定を前記予め定められた数のクロックサイクルの経過に応答して解除する解除回路とを備える、請求項1記載のクロック発生回路。 - 前記所定数と前記予め定められた数とは等しい、請求項2記載のクロック発生回路。
- 前記位相調整回路は、
前記位相関係調整回路の出力信号の前記所定状態指示をカウントして前記内部クロック生成回路の遅延量を設定するカウント値を生成するカウンタを備え、
前記遅延制御回路は、前記位相関係調整回路の出力信号の前記所定の状態指示が解除されるまで前記カウンタのカウント単位を前記第1の遅延量に対応する値に設定する、請求項2記載のクロック発生回路。 - 前記内部クロック発生回路は、前記カウンタのカウント値により前記外部クロック信号を遅延する遅延量が設定される可変遅延回路を備える、請求項4記載のクロック発生回路。
- 外部クロック信号に従って内部クロック信号を生成する内部クロック生成回路、
前記内部クロック信号と前記外部クロック信号との位相差を検出する位相差検出回路、
前記位相差検出回路の出力信号に従って、前記内部クロック信号と前記外部クロック信号との位相差を調整する位相調整回路、および
前記位相差検出回路の出力信号に従って前記位相調整回路の位相調整単位を調整する遅延制御回路を備え、前記遅延制御回路は、前記位相差検出回路の出力信号の所定の状態指示に応答して所定サイクル期間前記位相調整単位を第1の値から第2の値へ増大させかつ以後のサイクルにおいて前記位相調整単位を前記第1の値よりも小さな最小値に設定する、クロック発生回路。 - 前記内部クロック生成回路は、前記外部クロック信号を遅延して前記内部クロック信号を生成し、
前記位相調整回路は、前記位相差検出回路の出力信号の前記所定状態指示をカウントして、前記内部クロック生成回路の遅延量を設定するカウント値を生成するカウンタを備え、
前記遅延制御回路は、
前記位相差検出回路の前記所定状態の出力信号に従って、前記所定サイクル期間前記カウンタの所定のカウントビットを固定状態とし、前記所定サイクル期間経過後に前記カウンタのカウントビットをすべて有効としてカウント動作を行なわせ、有効状態のカウントビットに従ってカウント動作が行われ、前記内部クロック生成回路の遅延量が設定される、請求項6記載のクロック発生回路。 - 前記所定サイクル期間は、1クロックサイクル期間である、請求項6記載のクロック発生回路。
- 前記内部クロック生成回路は、前記外部クロック信号を遅延して前記内部クロック信号を生成する可変遅延回路を備え、
前記遅延制御回路は、
無効状態に初期設定される第1のビットが無効状態のとき前記所定状態の出力信号を前記所定サイクル期間遅延して前記第1のビットを生成する遅延初期化回路と、
前記位相差検出回路の前記所定状態の出力信号に応答してセットされて前記第1のビットよりも上位の第2のビットを無効状態に設定しかつ前記遅延初期化回路の出力信号に応答して前記第2のビットを有効とする遅延更新回路とを備え、有効状態のビットにより、前記内部クロック発生回路の遅延変化量が設定される、請求項6記載のクロック発生回路。 - 前記位相調整回路は、前記位相差検出回路の出力信号の前記所定の状態指示をカウントするカウント回路を含み、前記カウント回路は前記遅延制御回路の出力する前記第1および第2のビットによりカウント単位が設定され、かつ前記カウント回路の出力カウント値により前記内部クロック生成回路の遅延量が設定される、請求項9記載のクロック発生回路。
- 前記位相差検出回路は、前記外部クロック信号と前記内部クロック信号との位相差を検出する位相検出器と、
前記位相検出器の出力信号を所定サイクル期間遅延するシフト回路とを備え、前記シフト回路により、前記位相差検出回路の出力信号が生成される、請求項6記載のクロック発生回路。 - 外部クロック信号に従って内部クロック信号を生成する内部クロック生成回路、
前記内部クロック信号と前記外部クロック信号との位相差を検出する位相差検出回路、
前記位相差検出回路の出力信号に従って、前記内部クロック信号と前記外部クロック信号との位相差を調整する位相調整回路、および
前記位相差検出回路の出力信号に従って、前記位相調整回路の位相調整単位を調整する遅延制御回路を備え、前記遅延制御回路は、前記位相調整単位を最小値よりも大きな第1の値に初期設定し、前記位相差検出回路の出力信号の前記所定の状態の解除に応答して前記位相調整単位を前記最小値に設定する、クロック発生回路。 - 前記位相差検出回路は、
前記外部クロック信号と前記内部クロック信号との位相差を検出する位相検出器と、
前記位相検出器の出力信号を所定クロックサイクル遅延して前記位相調整回路へ出力するシフト回路とを備える、請求項12記載のクロック発生回路。 - 前記位相調整回路は、
前記位相差検出回路の出力信号の前記所定状態指示をカウントして前記内部クロック生成回路の遅延量を設定するカウント値を生成するカウンタを備え、
前記内部クロック発生回路は、前記カウンタのカウント値により遅延時間が設定される可変遅延線を備え、
前記遅延制御回路は、初期化時前記カウンタの所定のビットを固定状態としかつ前記位相調整回路の出力信号の前記所定状態の完了に応答して前記所定のビットを有効状態としかつ該有効状態を維持し、
前記カウンタは、該カウントビットのカウント動作が、対応のビットの固定状態のときに禁止される、請求項12記載のクロック発生回路。 - 前記内部クロック発生回路は、前記内部クロック信号のエッジに応答してワンショットのパルス信号を生成して前記位相差検出回路へ印加するパルス発生回路をさらに備える、請求項1、6、または12記載のクロック発生回路。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002205411A JP2004046686A (ja) | 2002-07-15 | 2002-07-15 | クロック発生回路 |
US10/359,679 US6724228B2 (en) | 2002-07-15 | 2003-02-07 | Clock generating circuit capable of generating internal clock accurately synchronized with external clock |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002205411A JP2004046686A (ja) | 2002-07-15 | 2002-07-15 | クロック発生回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004046686A true JP2004046686A (ja) | 2004-02-12 |
Family
ID=30112762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002205411A Withdrawn JP2004046686A (ja) | 2002-07-15 | 2002-07-15 | クロック発生回路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6724228B2 (ja) |
JP (1) | JP2004046686A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008228276A (ja) * | 2007-03-08 | 2008-09-25 | Hynix Semiconductor Inc | Zqキャリブレーション動作制御回路及びそれによるzqキャリブレーション方法 |
JP2010134463A (ja) * | 2008-11-26 | 2010-06-17 | Samsung Electronics Co Ltd | データストリームを利用した送受信システムのインターフェース方法 |
JP2010250859A (ja) * | 2006-06-30 | 2010-11-04 | Mosaid Technologies Inc | 同期メモリの読出しデータ収集 |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6759881B2 (en) * | 2002-03-22 | 2004-07-06 | Rambus Inc. | System with phase jumping locked loop circuit |
JP4159415B2 (ja) * | 2002-08-23 | 2008-10-01 | エルピーダメモリ株式会社 | メモリモジュール及びメモリシステム |
JP2004287691A (ja) * | 2003-03-20 | 2004-10-14 | Renesas Technology Corp | 半導体集積回路 |
KR100560297B1 (ko) * | 2003-10-29 | 2006-03-10 | 주식회사 하이닉스반도체 | 지연고정루프용 전원 공급 회로를 구비한 반도체 소자 |
US7421606B2 (en) | 2004-05-18 | 2008-09-02 | Micron Technology, Inc. | DLL phase detection using advanced phase equalization |
US7088156B2 (en) * | 2004-08-31 | 2006-08-08 | Micron Technology, Inc. | Delay-locked loop having a pre-shift phase detector |
KR100639616B1 (ko) * | 2004-10-29 | 2006-10-30 | 주식회사 하이닉스반도체 | 반도체 기억 소자에서의 지연 고정 루프 및 그의 록킹 방법 |
US7106655B2 (en) * | 2004-12-29 | 2006-09-12 | Micron Technology, Inc. | Multi-phase clock signal generator and method having inherently unlimited frequency capability |
US7116143B2 (en) * | 2004-12-30 | 2006-10-03 | Micron Technology, Inc. | Synchronous clock generator including duty cycle correction |
KR100711547B1 (ko) * | 2005-08-29 | 2007-04-27 | 주식회사 하이닉스반도체 | 지연 고정 루프 |
KR100784907B1 (ko) * | 2006-06-30 | 2007-12-11 | 주식회사 하이닉스반도체 | Dll 회로 및 그 제어 방법 |
KR100761401B1 (ko) * | 2006-09-28 | 2007-09-27 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 및 그 구동 방법 |
US7656745B2 (en) | 2007-03-15 | 2010-02-02 | Micron Technology, Inc. | Circuit, system and method for controlling read latency |
US20100260242A1 (en) * | 2008-03-04 | 2010-10-14 | Katsuaki Abe | Time digital converter, digital pll frequency synthesizer, transceiver, and receiver |
KR100925389B1 (ko) * | 2008-04-10 | 2009-11-09 | 주식회사 하이닉스반도체 | 반도체 집적회로의 데이터 출력 장치 및 방법 |
US8243555B2 (en) * | 2008-08-07 | 2012-08-14 | Infineon Technologies Ag | Apparatus and system with a time delay path and method for propagating a timing event |
US8151132B2 (en) * | 2008-08-13 | 2012-04-03 | Integrated Device Technology, Inc. | Memory register having an integrated delay-locked loop |
KR20100025745A (ko) * | 2008-08-28 | 2010-03-10 | 삼성전자주식회사 | 신호 처리 장치 및 방법 |
JP5451012B2 (ja) * | 2008-09-04 | 2014-03-26 | ピーエスフォー ルクスコ エスエイアールエル | Dll回路及びその制御方法 |
JP2010219751A (ja) * | 2009-03-16 | 2010-09-30 | Elpida Memory Inc | 半導体装置 |
US8130016B2 (en) * | 2009-08-27 | 2012-03-06 | Altera Corporation | Techniques for providing reduced duty cycle distortion |
US7893739B1 (en) * | 2009-08-27 | 2011-02-22 | Altera Corporation | Techniques for providing multiple delay paths in a delay circuit |
KR101143469B1 (ko) | 2010-07-02 | 2012-05-08 | 에스케이하이닉스 주식회사 | 반도체 메모리의 출력 인에이블 신호 생성 회로 |
KR101907073B1 (ko) * | 2011-12-22 | 2018-10-11 | 에스케이하이닉스 주식회사 | 펄스신호 생성회로, 버스트 오더 제어회로 및 데이터 출력회로 |
US9954517B2 (en) | 2012-11-06 | 2018-04-24 | Micron Technology, Inc. | Apparatuses and methods for duty cycle adjustment |
US9413338B2 (en) | 2014-05-22 | 2016-08-09 | Micron Technology, Inc. | Apparatuses, methods, and circuits including a duty cycle adjustment circuit |
JP2016208231A (ja) * | 2015-04-21 | 2016-12-08 | 日本電気株式会社 | 論理回路、及び設定回路の制御方法 |
US9813067B2 (en) | 2015-06-10 | 2017-11-07 | Micron Technology, Inc. | Clock signal and supply voltage variation tracking |
US9865317B2 (en) | 2016-04-26 | 2018-01-09 | Micron Technology, Inc. | Methods and apparatuses including command delay adjustment circuit |
US9997220B2 (en) | 2016-08-22 | 2018-06-12 | Micron Technology, Inc. | Apparatuses and methods for adjusting delay of command signal path |
US10056909B1 (en) | 2017-05-01 | 2018-08-21 | Everspin Technologies, Inc. | Single-lock delay locked loop with cycle counter and method therefore |
US10224938B2 (en) * | 2017-07-26 | 2019-03-05 | Micron Technology, Inc. | Apparatuses and methods for indirectly detecting phase variations |
US11011212B1 (en) * | 2020-05-12 | 2021-05-18 | Micron Technology, Inc. | Delay calibration oscillators for a memory device |
JP2022032287A (ja) * | 2020-08-11 | 2022-02-25 | キオクシア株式会社 | タイミング検出回路、半導体装置及びメモリシステム |
US11784651B2 (en) * | 2021-10-27 | 2023-10-10 | Nxp B.V. | Circuitry and methods for fractional division of high-frequency clock signals |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000163961A (ja) * | 1998-11-26 | 2000-06-16 | Mitsubishi Electric Corp | 同期型半導体集積回路装置 |
US6504408B1 (en) * | 2001-07-09 | 2003-01-07 | Broadcom Corporation | Method and apparatus to ensure DLL locking at minimum delay |
-
2002
- 2002-07-15 JP JP2002205411A patent/JP2004046686A/ja not_active Withdrawn
-
2003
- 2003-02-07 US US10/359,679 patent/US6724228B2/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010250859A (ja) * | 2006-06-30 | 2010-11-04 | Mosaid Technologies Inc | 同期メモリの読出しデータ収集 |
JP2008228276A (ja) * | 2007-03-08 | 2008-09-25 | Hynix Semiconductor Inc | Zqキャリブレーション動作制御回路及びそれによるzqキャリブレーション方法 |
JP2010134463A (ja) * | 2008-11-26 | 2010-06-17 | Samsung Electronics Co Ltd | データストリームを利用した送受信システムのインターフェース方法 |
Also Published As
Publication number | Publication date |
---|---|
US20040008064A1 (en) | 2004-01-15 |
US6724228B2 (en) | 2004-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004046686A (ja) | クロック発生回路 | |
US6914798B2 (en) | Register controlled DLL for reducing current consumption | |
US6101197A (en) | Method and apparatus for adjusting the timing of signals over fine and coarse ranges | |
US6757212B2 (en) | Clock synchronous type semiconductor memory device | |
US6603686B2 (en) | Semiconductor memory device having different data rates in read operation and write operation | |
JP3901297B2 (ja) | Dll回路及びそれを利用した半導体記憶装置 | |
US20020021157A1 (en) | Variable delay circuit and semiconductor integrated circuit device | |
TWI261268B (en) | ODT mode conversion circuit and method | |
KR100811263B1 (ko) | 듀티사이클 보정회로 및 이를 이용한 지연고정루프 회로 | |
WO2019160587A1 (en) | Improved timing circuit for command path in a memory device | |
US8023339B2 (en) | Pipe latch circuit and semiconductor memory device using the same | |
JP2002124873A (ja) | 半導体装置 | |
US7515482B2 (en) | Pipe latch device of semiconductor memory device | |
US7994833B2 (en) | Delay locked loop for high speed semiconductor memory device | |
US6771108B2 (en) | Input circuit and semiconductor integrated circuit having the input circuit | |
KR100883140B1 (ko) | 데이터 출력 제어회로, 반도체 메모리 장치 및 그의 동작방법 | |
US20110204942A1 (en) | Clock control circuit and semiconductor device including the same | |
US20060077751A1 (en) | Latency control circuit and method of latency control | |
JP2000124796A (ja) | Dll回路を有する集積回路装置 | |
EP1532737B1 (en) | Synchronous mirror delay (smd) circuit and method including a counter and reduced size bi-directional delay line | |
US8742812B2 (en) | Pipe latch circuit and driving method thereof | |
US20050242850A1 (en) | Timing adjustment circuit and memory controller | |
US7408394B2 (en) | Measure control delay and method having latching circuit integral with delay circuit | |
KR100525096B1 (ko) | Dll 회로 | |
JPH11127063A (ja) | 集積回路装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20051004 |