Abstract:
A DLL circuit uses a rising edge DLL to align the rising edge of the output data to the system clock and a falling edge DLL to align the falling edge of the output data. The DLL circuit does not use the falling edge of the input clock to provide a reference for the falling edge DLL. The DLL circuit uses the rising edge of a first reference clock (a buffered version of the input clock) to align the rising edge of the output data. An additional DLL is used to generate a precise second reference clock that is delayed by exactly one-half period of the first reference clock to align the falling edge of the output data. Any variation in the duty cycle of the input clock or the input clock buffer does not effect the duty cycle of the output data.

Description:
BACKGROUND OF THE INVENTION 
   The present invention is related to integrated circuit memories, and, more particularly, to a circuit for aligning both the rising and falling edges of data signals in DDR (Double Data Rate) integrated circuit memories. 
   As the frequency of DDR memories continues to increase, the precise alignment of both the rising edge and falling edge of the output data to the rising and falling edges of the system clock has become very critical since data must be captured by both edges of the clock. Delay Locked Loops (DLLs) have been used to adjust the timing of the output data such that it aligns with the system clock. Until recently, only the rising edge of the data has been aligned with the rising edge of the system clock by the DLL. Circuit techniques have been used to maintain the duty cycle of the output data at 50% so that the falling edge of the data will align with the falling edge of the 50% duty cycle system clock.  FIG. 1  shows a typical Voltage Controlled DLL used in recent DDR memory devices. 
   The Voltage Controlled DLL  100  of  FIG. 1  includes an input clock buffer  102 , a phase detector  104 , a variable delay line  106 , a control voltage generator  108 , a replica fixed delay line  110 , and an output data path block  112 . 
   Referring to  FIG. 1 , it can be seen that when the DLL is locked, the signals DLLCLK and SYNC at the input of phase detector  104  are in phase, which means that:
 
 tvar=ntck−t fix, where  tck  is the clock period.
 
The delay between the external clock ExCLK and the data output is:
 
 tbuf+tvar+t out= tbuf +( ntck−t fix)+ t out.
 
If tfix=tbuf+tout, the delay between ExCLK and the data output is ntck, and the output data will be precisely aligned with the external clock. It is very difficult to have tfix precisely match tbuf+tout under all conditions unless an exact replica of the clock buffer and data output path are used to implement the fixed delay. In addition, since only the rising edge of SYNC is aligned with DLLCLK, any duty cycle distortion introduced by the clock buffer, variable delay, and output path will result in the falling edge data undesirably not being aligned with the falling edge of the system clock.
 
   For double data rate outputs, data is output on the rising and falling edge of the system clock. In the discussion below, the term “rising edge” data refers to data that is output on the rising edge of the system clock. The term “falling edge” data refers to data that is output on the falling edge of the system clock. 
     FIG. 2  is a prior art DLL (U.S. Pat. No. 7,028,208 B2) that addresses most of the limitations of the DLL of  FIG. 1 . DLL  200  includes input buffers  202  and  204 , a coarse delay line/phase detect block  206 , a converter  208 , fine delay line/phase detect blocks  210  and  212 , converters  214  and  216 , a clock driver  218 , I/O model  220 , a clock driver  218 , data latch  222 , and a data driver  224 . 
   The circuit  200  of  FIG. 2  has the goal of precisely aligning the rising and falling edge of the output data with the system clock signal, even if the clock signal is not precisely 50% duty cycle. If the clock is precisely 50% duty cycle, the intention is to have the output also be 50%. 
   However, circuit  200  of  FIG. 2  has two major limitations. 
   Firstly, the two RX Buffers  202  and  204  must produce the reference clocks CLKIN− and CLKIN+ without introducing any duty cycle distortion relative to the input clocks since these are the references to which the outputs are effectively aligned by the fine DL/PD circuits. Since two separate buffers  202  and  204  are required to generate these references and they are responding to complementary input clock signals, it is inevitable that duty cycle distortion will be introduced in these reference signals with respect to each other. This distortion will show up in the output signal. If a single ended input clock signal were used and its rising and falling edges were the source of the reference signals, the input would still have to be buffered and distortion would again be introduced. 
   Secondly, the output of the “I/O Model”  220 , which is the feedback signal, is converted into a rising edge signal (CLKFB+) and a falling edge signal (CLKFB−). If CLKIN+ and CLKIN− are perfect representations of the duty cycle of the input clocks, but the time between the rising edges of CLKFB+ and CLKFB− does not precisely track the high time of the output of the I/O Model  220 , duty cycle distortion in the feedback signal not present in the output path will be introduced. The DLL  200  will remove the distortion in the feedback signal, but this effectively introduces distortion into the data out signal. It is inevitable that the circuit block, “CONVERTER”  216 , will introduce duty cycle distortion. 
   What is desired, therefore, is a DLL circuit capable of effectively aligning both the rising edge and falling edge of data signals in a DDR memory, and without introducing undesirable duty cycle distortion. 
   SUMMARY OF THE INVENTION 
   According to the present invention, a DLL circuit uses a rising edge DLL to align the rising edge of the output data to the system clock and a falling edge DLL to align the falling edge of the output data to the falling edge of the system clock. However, the DLL circuit of the present invention does not use the falling edge of the input clock to provide a reference for the falling edge DLL. The circuit of the present invention uses the rising edge of a first reference clock (a buffered version of the input clock) to align the rising edge of the output data. An additional DLL is used to generate a precise second reference clock that is delayed by exactly one-half period of the first reference clock to align the falling edge of the output data. Thus, any variation in the duty cycle of the input clock or the input buffer does not effect the duty cycle of the output data. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The aforementioned and other features and objects of the present invention and the manner of attaining them will become more apparent and the invention itself will be best understood by reference to the following description of a preferred embodiment taken in conjunction with the accompanying drawings, wherein: 
       FIG. 1  is a schematic diagram of a prior art DLL circuit; 
       FIG. 2  is a schematic diagram of a prior art DLL circuit including circuitry for aligning the rising and falling edges of a data signal; 
       FIG. 3  is a schematic diagram of a DLL circuit including circuitry for aligning the rising and falling edges of a data signal according to the present invention; 
       FIG. 4  is a schematic diagram of an additional DLL circuit that is used to generate a precise 50% duty cycle reference in accordance with the present invention; 
       FIG. 5(   a ) is a timing diagram showing various timing signals before the DLLs lock in accordance with the present invention; and 
       FIG. 5(   b ) is a timing diagram showing the same timing signals of  FIG. 5(   a ) after the DLLs are locked in accordance with the present invention. 
   

   DETAILED DESCRIPTION 
     FIG. 3  is a block diagram of the duty cycle correction circuit  300  and  FIG. 4  is a block diagram of the precise reference generation circuit  400  according to an embodiment of the present invention. 
   Circuit  300  includes a clock buffer  302 , a rising edge phase detector  304 , a falling edge phase detector  306 , a falling edge control multiplexer  308 , a rising variable delay line  310 , a control voltage generator  312 , a control voltage generator  314 , a falling variable delay line  316 , an edge triggered latch  318 , an output data path  320 , a clock buffer  322  and an output data path  324 . These circuit components, their functions and interaction are described in further detail below. 
   With respect to the duty cycle correction circuit  300  shown in  FIG. 3 , there are two voltage controlled variable delay line paths in the duty cycle correction circuit that have their delays independently controlled via two delay locked loops. One delay line receives the reference clock, (Clock 1 ) as its input (the “rising edge delay line”) and the other delay line (the “falling edge delay line”) receives an inverted version of the reference clock as its input (Clock 1 B). The edge-triggered latch  318  generates the data output clock (Clock 3 ). The rising edge of the data output clock is determined by the rising edge of the delayed version of Clock 1 , “Set,” and the falling edge of the data output clock is determined by the rising edge of the delayed version of the inverted clock Clock 1 B, “Reset.” Thus, the rising and falling edges of the data output clock can be adjusted independently by adjusting the delay through the two variable delay lines. Any duty cycle distortion introduced by the inverter in the falling edge path, the variable delay lines, or the latch is of no consequence since only the rising edges of the outputs of the two delay lines are utilized. 
   The rising edge phase detector  304  compares the phase of the rising edges of its two inputs and the falling edge phase detector  306  compares the phase of the falling edges of its two inputs. As will be seen below, the rising edge of Clock 1  and the falling edge of Clock 2  are separated by precisely one-half clock period of the input clock. The duty cycle of Clock 4  will thus be precisely 50% since its rising and falling edges are aligned to signals separated by precisely one-half clock period. The DataOut duty cycle will be precisely 50% and aligned with the system clock to the extent that the feedback replica accurately represents the input buffer and the output data path. 
   Both delay lines are initialized with minimum possible delay and the delay is forced to increase even if the phase detector indicates the delay should be decreased until the first indication by the phase detector that the delay should be increased. From that point on, the delay is adjusted on the basis of the phase detector indications. The benefits of this approach are documented in prior art U.S. Pat. No. 7,071,745, which is hereby incorporated by reference. It is important to assure that neither phase detector  304 ,  306  issue a premature indication to decrease the delay of the respective delay lines, since this is not initially possible. U.S. Pat. No. 7,071,745 discusses how this may be accomplished in the case of the rising edge. In the case of the falling edge, the “Falling Edge Control Mux”  308  forces the falling edge path delay to be controlled by the rising edge phase detector until a locked rising edge condition is detected and the signal “Rising_Locked” is output from the rising edge phase detector  304 . At that time, the “Falling Edge Control Mux”  308  switches and the falling edge phase detector controls the falling edge path. The signal “Rising_Locked” occurs after one or more indications to increase delay are followed by an indication to decrease delay or neither of these indications occurs for a fixed period of time set by an internal timer. 
   An additional voltage controlled delay DLL  400  is used to generate a precise 50% duty cycle reference in accordance with this invention as shown in  FIG. 4 . Circuit  400  includes a control voltage generator  402 , a phase detector  404 , and stage delay stages  406 A,  406 B,  406 C, and  406 D. These circuit components, their functions and interaction are described in further detail below. 
   The signal Clock 1  is the same signal as shown in  FIG. 3  and does not have to have a precise duty cycle. A four-stage voltage controlled delay line  406 A- 406 D is shown for illustration. Any even number of delay stages can be used with the signal “Mid” taken at the mid-point. The delay of the delay line is initialized at its minimum possible delay and the delay between Clock 1  and the Feedback Signal must be less than one clock period of the signal that is to have its duty cycle adjusted. The delay through the delay line must only increase initially. The first requirement is achieved simply by the design of the “Delay Stage” and by properly selecting the number of stages in the delay line. U.S. Pat. No. 7,071,745 describes a method for forcing the delay to only increase initially. 
   According to the present invention, the reference generator of  FIG. 4  provides a DLL locked condition with a delay equal to a single period of Clock 1  (Tck) between the rising edges of signals Clock 1  and the Feedback Signal. Thus, when the DLL is locked, the delay from the rising edge of Clock 1  to the rising edge of the Feedback Signal will be precisely Tck. 
   If the delay per stage of the reference generator  400  in  FIG. 4  when the DLL is locked is DELTA and the delay of the inverters is INV, then the delay from the rising edge of Clock 1  to the falling edge of Clock 2  is:
 
Delay(Clock2)=2*DELTA+ INV  
     Since the delay between Clock 1  and the Feedback Signal is one clock period of Clock 1  (Tck), DELTA=(Tck-2*INV)/4, and the delay of the falling edge of Clock 2  becomes:
 
Delay(Clock2)=2*( Tck− 2 *INV )/4+ INV  or:
 
Delay(Clock2)= Tck/ 2.
   

   As stated above, any even number of delay stages  406 A- 406 D can be used in the delay line as long as the initial delay is less than Tck. 
   Referring again to  FIG. 3 , using Clock 1  as the rising edge reference and Clock 2  from the reference generator of  FIG. 4  as the falling edge reference, the signal Clock 4  will have precisely a 50% duty cycle when the rising and falling edge DLLs are locked. To the extent the replica clock buffer and output path reflect the true clock buffer and output path, the output will have a 50% duty cycle, and will be aligned with the system clock. 
     FIG. 5  illustrates the phase relationships of the various signals named in  FIG. 3  before and after the DLLs lock.  FIG. 5(   a ) shows the phase relationships at power-up, before any of the three DLLs have made any adjustments to the delay through any of the respective delay lines. The phase relationships and the duty cycle shown are arbitrary and have been selected only for illustrative purposes.  FIG. 5(   b ) shows the phase relationships after all three DLLs have locked. The process of arriving at the conditions shown in  FIG. 5(   b ) is described below. 
   After the DLL shown in  FIG. 4  has locked, the falling edge of Clock 2  is delayed precisely one-half Tck from the rising edge of Clock 1  as is illustrated in  FIG. 5(   b ). 
   The delay through delay line  310  of  FIG. 3  has been adjusted and the signal Set has established the timing of the rising edge of Clock 3 . The timing of the rising edge of Clock 3  has been adjusted such that, after passing through the “Replica Delay”, the rising edge of Clock 4  is precisely aligned with the rising edge of Clock 1  as is shown in  FIG. 5(   b ). 
   The delay through delay line  316  of  FIG. 3  has been adjusted and the signal Reset has established the timing of the falling edge of Clock 3 . The timing of the falling edge of Clock 3  has been adjusted such that, after passing through the “Replica Delay”, the falling edge of Clock 4  is precisely aligned with the falling edge of Clock 2  as is shown in  FIG. 5(   b ). 
   While there have been described above the principles of the present invention in conjunction with specific circuit designs and methods of operation, it is to be clearly understood that the foregoing description is made only by way of example and not as a limitation to the scope of the invention. Particularly, it is recognized that the teachings of the foregoing disclosure will suggest other modifications to those persons skilled in the relevant art. Such modifications may involve other features which are already known per se and which may be used instead of or in addition to features already described herein. Although claims have been formulated in this application to particular combinations of features, it should be understood that the scope of the disclosure herein also includes any novel feature or any novel combination of features disclosed either explicitly or implicitly or any generalization or modification thereof which would be apparent to persons skilled in the relevant art, whether or not such relates to the same invention as presently claimed in any claim and whether or not it mitigates any or all of the same technical problems as confronted by the present invention. The applicant hereby reserves the right to formulate new claims to such features and/or combinations of such features during the prosecution of the present application or of any further application derived therefrom.