An embodiment of the invention relates to a clock generator; and, more particularly, to a clock generator for reducing a clock duty cycle variation.
A time delay is generated while an external clock signal inputted to a synchronous semiconductor memory device is used as an internal clock signal of the synchronous semiconductor memory device. A delay locked loop (DLL) is employed for synchronizing the internal clock signal with the external clock signal by compensating a clock skew between the internal clock signal and the external clock signal.
Meanwhile, as operation speed of DRAM increases, an efficiency of the DLL affects the performance of the DRAM. In order to increase the efficiency of the DLL, a clock duty cycle of the DLL has to be tightly controlled, as a well-controlled clock duty cycle decreases jitter (which would otherwise degrade the operation speed of the DLL).
As shown, the conventional DLL includes a clock buffer 10, first and second variable delay lines 20 and 30, a pre-clock duty cycle corrector 40, a clock duty cycle corrector 50, a replica delay model 60, a phase detector 70, a mode generator 80, and an output driver 90.
The clock buffer 10 buffers an external clock to thereby output first and second internal clocks clkin1 and clkin2 and a reference clock refclk. Herein, the first and second internal clocks clkin1 and clkin2 have the same phase.
The first variable delay line 20 delays the first internal clock clkin1 in response to a first fine delay control signal FINE, a first coarse delay control signal COARSE, and a first lock state signal lock_state to thereby output a first internal delay signal mixout_r. Herein, the first fine delay control signal FINE and the first coarse delay control signal COARSE are outputted from the phase detector 70; and the first lock state signal lock_state is outputted from the mode generator 80.
The second variable delay line 30 delays the second internal clock clkin2 in response a second fine delay control signal FINEf, a second coarse delay control signal COARSEf, and a second lock state signal lock_statef to thereby output a second internal delay signal mixout_f. Herein, the second fine delay control signal FINEf and the second coarse delay control signal COARSEf are outputted from the phase detector 70; and the second lock state signal lock_statef is outputted from the mode generator 80.
The pre-clock duty cycle corrector 40 buffers the first and second internal delay clocks mixout_r and mixout_f to thereby output a rising clock rclk and a falling clock fclk, respectively. Herein, the rising clock rclk and the falling clock fclk have opposite phase.
The clock duty cycle corrector 50 performs a clock duty cycle correction operation to the rising clock rclk and the falling clock fclk to thereby output a rising feedback clock ifbclkr and a falling feedback clock ifbclkf.
The replica delay model 60 models delay elements to generate compensated rising feedback clock fbclkr and a compensated falling feedback clock fbclkf by respectively compensating the rising feedback clock ifbclkr and the falling feedback clock ifbclkf for a clock skew between the external clock and the rising and falling feedback clocks ifbclkr and ifbclkf. Herein, a delay element corresponds to a delay occurred before the external clock inputted to the first and the second variable delay lines 20 and 30 after inputted from outside and after outputted from the first and the second variable delay lines 20 and 30 until outputted from the output buffer 90.
The phase detector 70 compares the compensated rising and falling signals fbclkr and fbclkf with the reference clock refclk to thereby output the delay control signals FINE, COARSE, FINEf, and COARSEf.
The mode generator 80 generates the first lock state signal lock_state based on the first fine delay control signal FINE and the first coarse delay control signal COARSE and generates the second lock state signal lock_statef based on the second fine delay control signal FINEf and the second coarse delay control signal COARSEf. Herein, the first and second lock state signals lock_state and lock_statef indicate to the clock duty cycle corrector 50 that the rising and the falling clocks are in a lock state.
The output driver 90 buffers and outputs the rising feedback clock ifbclkr and the falling feedback clock ifbclkf outputted from the clock duty cycle corrector 50.
As shown, the conventional clock duty cycle corrector 50 includes a phase comparator 52, a DCC controller 54, a DCC mixer 56, and a DCC dummy mixer 58.
The phase comparator 52 compares a phase of a falling edge of the rising clock rclk with that of the falling clock fclk. That is, when the phase of the falling edge of the rising clock rclk leads that of the falling clock fclk, the phase comparator 52 outputs a phase comparing signal PC of a logic level ‘H’. On the contrary, when the phase of the falling edge of the falling clock fclk leads that of the rising clock rclk, the phase comparing signal PC becomes a logic level ‘L’.
The DCC controller 54 receives the phase comparing signal PC outputted from the phase comparator 52 to thereby output a DCC enable signal DCC_enb for enabling the clock duty cycle correction operation and a weight selection signal weight_sel for determining a weight of the rising clock rclk and the falling clock fclk in response to the first and the second lock state signals lock_state and lock_statef. In detail, when the rising clock rclk and the falling clock fclk are in a lock state, i.e., the first and the second lock state signals lock_state and lock_statef are activated, the DCC enable signal DCC_enb is activated as a logic level ‘L’.
The DCC mixer 56 is a block for actually performing the clock duty cycle correction operation by blending the rising clock rclk and the falling clock fclk. The DCC mixer 56 blends the rising clock rclk and the falling clock fclk based on the DCC enable signal DCC_enb and the weight selection signal weight_sel. Herein, when the DCC enable signal DCC_enb is a logic level ‘H’, the DCC mixer 56 outputs the rising clock rclk as the rising feedback clock ifbclkr. Meanwhile, when the DCC enable signal DCC_enb is a logic level ‘L’, the DCC mixer 56 blends the rising clock rclk and the falling clock fclk.
As shown, the conventional DCC mixer 56 is provided with two NAND gates, one NOR gate, three inverters, and a plurality of tri-state inverters serially connected to each other. As mentioned above, the conventional DCC mixer 56 performs the clock duty cycle correction operation by blending the rising clock rclk and the falling clock fclk based on the weight selection signal weight_sel.
Meanwhile, when a high pulse width of the external clock is relatively large, the DCC mixer 56 corrects the clock duty cycle by using the weight selection signal which will be at a logic level ‘L’. On the contrary, when the high pulse width of the external clock is relatively small, the DCC mixer 56 corrects the clock duty cycle by using the weight selection signal which will indicate a logic level ‘H’.
When the DCC enable signal DCC_enb is at logic level ‘H’, the conventional DCC dummy mixer 58 outputs the falling clock fclk as the falling feedback clock ifbclkf. On the other hand, when the DCC enable signal DCC_enb is at logic level ‘L’, the conventional DCC dummy mixer 58 generates the logic level ‘H’ as the falling feedback clock ifbclkf.
When the high pulse width of the external clock is relatively large (wide high pulse case in
An embodiment of the invention is a clock generator for reducing clock duty cycle variation in a narrow high pulse case (e.g. a narrow high pulse as described above). The clock generator may also be used to reduce clock duty cycle variation in other instances.
In accordance with an aspect of the present invention, there is provided an apparatus for correcting a clock duty cycle of an external clock for use in a semiconductor memory device having a DLL including: a phase comparator for comparing a phase of a rising clock with that of a falling clock to thereby output a comparing signal; a clock duty cycle correction (DCC) controller for outputting a DCC enable signal and a weight selection signal in response to the comparing signal and first and second lock state signals; a DCC mixing block for blending the rising clock and the falling clock in response to the DCC enable signal and the weight selection signal to thereby generate rising and falling pre-clock signals; and a clock selector for selectively outputing the rising and the falling pre-clock signals in response to the weight selection signal.
In accordance with another aspect of the present invention, there is provided a method for correcting a clock duty cycle of an external clock for use in a semiconductor memory device having a DLL including: comparing a phase of a rising clock with that of a falling clock to thereby output a comparing signal; outputting a clock duty cycle correction (DCC) enable signal and a weight selection signal in response to the comparing signal and first and second lock state signals; blending the rising clock and the falling clock in response to the DCC enable signal and the weight selection signal to thereby generate rising and falling pre-clock signals; and selectively outputting the rising and the falling pre-clock signals in response to the weight selection signal.
In accordance with still another aspect of the present invention, there is provided a clock duty cycle correction (DCC) circuit for correcting a clock duty cycle of an external clock including: a phase comparator for comparing a phase of a rising clock with that of a falling clock to thereby output a comparing signal; a DCC controller for outputting a DCC enable signal and a weight selection signal in response to the comparing signal and first and second lock state signals; a DCC mixing block for blending the rising clock and the falling clock in response to the DCC enable signal and the weight selection signal to thereby generate rising and falling pre-clock signals; and a clock selector for selectively outputting the rising and the falling pre-clock signals in response to the weight selection signal.
The above and other objects and features of the present invention will become apparent from the following description of preferred embodiments taken in conjunction with the accompanying drawings, in which:
Hereinafter, a clock generator including a clock duty cycle corrector in accordance with the different embodiments of the invention will be described in detail referring to the accompanying drawings.
The clock duty cycle corrector includes a phase comparator 100, a DCC controller 200, a DCC mixer 300, a DCC dummy mixer 400, and a clock selector 500.
The phase comparator 100 is similar to the conventional phase comparator 52. That is, the phase comparator 100 of the present invention compares a phase of a falling edge of a rising clock rclk with that of a falling edge. According to an embodiment of the present invention, when the falling edge of the rising clock leads that of the falling clock, the phase comparator 100 outputs a phase comparing signal PC of a logic level ‘H’. On the other hand, when the falling edge of the falling clock leads that of the rising clock, the phase comparing signal PC becomes a logic level ‘L’.
The DCC controller 200 outputs a DCC enable signal, a weight selection signal, and an inverted weight selection signal (weight_selb). In detail, the DCC controller 200 activates the DCC enable signal DCC_enb as a logic level ‘L’ in response to an activation of the first and second lock state signals lock_state and lock_statef. Further, the weight selection signal weight_sel and the inverted weight selection signal weight_selb are used for determining a weight of the rising clock rclk and the falling clock fclk based on the phase comparing signal PC.
Herein, a logic level of the weight selection signal weight_sel is determined by the high pulse width of an external clock. That is, when the high pulse width is relatively small, the weight selection signal weight_sel becomes a logic level ‘H’. Further, when the high pulse width is relatively large, the weight selection signal weight_sel becomes a logic level ‘L’.
The DCC mixer 300 and the DCC dummy mixer 400 of the present invention are similar to those of conventional art, respectively.
The DCC mixer 300 of an embodiment of the present invention blends the rising clock rclk and the falling clock fclk based on the DCC enable signal DCC_enb and the weight selection signal weight_sel to thereby output a rising pre-clock signal ifbclkr_pre. In detail, the DCC mixer 300 outputs the rising clock rclk as the rising pre-clock signal ifbclkr_pre, when the DCC enable signal DCC_enb is a logic level ‘H’. When DCC_enb is ‘L’, the DCC mixer 300 blends the rising clock rclk and the falling clock fclk based on the weight selection signal weight_sel to thereby adjust the clock duty cycle in ifbclkr_pre.
The DCC dummy mixer 400 blends the rising clock rclk and the falling clock fclk based on the inverted weight selection signal weight_selb and the DCC enable signal DCC_enb to thereby output a falling pre-clock signal ifbclkf_pre. In detail, the DCC dummy mixer 400 outputs the falling clock fclk as the falling pre-clock signal ifbclkf_pre when the DCC enable signal DCC_enb is a logic level ‘H’ and, when DCC_enb is ‘L’, blends the rising clock rclk and the falling clock fclk based on the inverted weight selection signal weight selb to thereby adjust the clock duty cycle in ifbclkf_pre. Accordingly, the DCC dummy mixer 400 performs a clock duty cycle correction operation in the opposite way of that of the DCC mixer 300.
Meanwhile, in another embodiment, the DCC controller 200 can be implemented with similar structure of conventional art,and the DCC dummy mixer 400 inverts the weight selection signal weight_sel, to thereby perform the same operation with that of the abovementioned embodiment.
When the DCC enable signal DCC_enb is at logic level ‘H’, the clock selector 500 outputs the rising and the falling pre-clock signals ifbclkr_pre and ifbclkf_pre as rising and falling feedback clocks ifbclkr and ifbclkf, respectively.
Thereafter, when the DCC enable signal DCC_enb becomes logic level ‘L’, the falling feedback clock ifbclkf is stuck at logic level ‘H’; the clock selector 500 selectively outputs the rising and falling clock signals ifbclkr-pre and ifbclkf_pre, as the rising feedback clock ifbclkr, in response to the weight selection signal weight_sel. When the weight selection signal weight-sel is at logic level ‘H’, the falling pre_clock signal ifbclkf_pre is outputted as the rising feedback clock ifbclkr; on the other hand, when the weight selection signal weight_sel is at logic level ‘L’, the rising pre_clock ifbclkr_pre is outputted as the rising feedback clock ifbclkr.
The clock duty cycle of the DLL is about 43% when a skew is fast (FF); about 48% when the skew is typical (TT); and about 47% when the skew is slow (SS). Accordingly, the clock duty cycle variation in this embodiment of the invention is about 5% when the high pulse of the external clock is small.
The clock generator of the different embodiments of the present invention reduces the clock duty cycle variation even though the high pulse of the external clock is small. Further, by using the present invention, jittering factors of the DLL can be also reduced to thereby obtain a high data processing speed.
The present application contains subject matter related to Korean patent application No. 2005-27354, filed in the Korean Patent Office on Mar. 31, 2005, the entire contents of which being incorporated herein by reference.
While the present invention has been described with respect to the particular embodiments, it will be apparent to those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the invention as defined in the following claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2005-0027354 | Mar 2005 | KR | national |
Number | Name | Date | Kind |
---|---|---|---|
6373309 | Bang | Apr 2002 | B1 |
6735669 | Shin | May 2004 | B2 |
6815985 | Jeon | Nov 2004 | B2 |
6853225 | Lee | Feb 2005 | B2 |
6859081 | Hong et al. | Feb 2005 | B2 |
6897693 | Kim | May 2005 | B2 |
7046059 | Kwak | May 2006 | B2 |
7057431 | Kwak | Jun 2006 | B2 |
7142026 | Kwak | Nov 2006 | B2 |
20030219088 | Kwak | Nov 2003 | A1 |
20040066873 | Cho et al. | Apr 2004 | A1 |
20050093600 | Kwak | May 2005 | A1 |
Number | Date | Country |
---|---|---|
2004-129255 | Apr 2004 | JP |
2000-0044265 | Jul 2000 | KR |
10-2004-0037786 | May 2004 | KR |
10-2004-0082530 | Sep 2004 | KR |
Number | Date | Country | |
---|---|---|---|
20060220714 A1 | Oct 2006 | US |