The above and other objects, advantages and features of the present invention will be more apparent from the following description of certain preferred embodiments taken in conjunction with the accompanying drawings, in which:
The invention will be now described herein with reference to illustrative embodiments. Those skilled in the art will recognize that many alternative embodiments can be accomplished using the teachings of the present invention and that the invention is not limited to the embodiments illustrated for explanatory purposes.
Embodiments of the present invention are described hereinafter in detail with reference to the drawings.
Referring to
A DQ signal Nd11 is output from the DDR-SDRAM 3 through a DQ terminal 31. A DQ signal Nd12, which has passed through the DQ terminal 21 and the input/output buffer 23 of the semiconductor integrated circuit 2, is input to the fixed delay circuit 11. On the other hand, a DQS signal Nq11 is output from the DDR-SDRAM 3 through a DQS terminal 32. A DQS signal Nq12, which has passed through the DQS terminal 22 and the input/output buffer 24 of the semiconductor integrated circuit 2, is input to the variable delay circuit 13. A DQ signal Nd13, which is fixed at a prescribed delay amount in the fixed delay circuit 11, is captured into the capture circuit 12 at a rising edge of a DQS signal Nq13, which is phase-shifted by the variable delay circuit 13. The DQ signal captured into the capture circuit 12 is normally output to the internal circuit 25. Although the capture circuit 12 captures aDQ signal at the timing of a DQS signal, it may output the captured DQ signal in synchronization with a clock of the internal circuit.
On the other hand, during delay adjustment mode where a variable delay amount of the variable delay circuit 13 is determined by the delay adjustment circuit 14, the DQ signal Nd14 which is captured into the capture circuit 12 is input to the delay adjustment circuit 14. The variable delay circuit 13 generates a DQS signal with a variable delay amount=tMINDLY+tDLYSTEP*n where a minimum delay amount is tMINDLY, a step value of a variable delay is tDLYSTEP, and n is an integer of 0 or above. The capture circuit 12 captures the DQ signal Nd13 at the timing of the DQS signal Nq13 having each delay value.
The delay adjustment circuit 14 includes an expectation matching circuit 41, a delay amount calculation circuit 42, and a delay setting circuit 43. The delay adjustment circuit 14 sets the delay adjustment mode in appropriate timing after product assembly before shipment or the like so as to determine an optimum delay amount to be set to the variable delay circuit 13. In this mode, the delay adjustment circuit 14 first writes the data for expectation matching into the DDR-SDRAM 3 and checks the data against a reading expected value while shifting a delay amount of the variable delay circuit 13, thereby searching for an optimum delay amount. The expectation matching data is held in a holding section (not shown) which is placed in the delay adjustment circuit 14 or the like.
The expectation matching circuit 41 receives the DQ signal Nd14 which is latched into the capture circuit 12 using the DQS signal which is delayed by a variable delay amount. The expectation matching circuit 41 checks if the DQ signal Nd14 which is captured into the capture circuit 12 matches with an expected value and thereby determines whether the reading of the DQ signal is a success or not. If the variable delay amount is so small that the DQ signal is captured prior to a setup limit, the reading of the DQ signal results in failure. If the DQ signal is captured within a data valid window after the setup time, the DQ signal matches with an expected value. If the delay amount is so large that the DQ signal is captured within a hold time, the reading of the DQ signal results in failure again. A setup limit and a hold limit can be detected based on the expectation matching result in the expectation matching circuit 41.
In this manner, the delay adjustment circuit 14 obtains an optimum delay amount of a DQS signal so as to capture a DQ signal at the center of a data valid window where a timing margin is maximum by searching for a setup/hold limit delay while changing a delay amount of a variable delay circuit and determining its center just like the related art.
The delay amount calculation circuit 42 detects a setup limit and a hold limit based on the expectation matching and calculates optimum data capture timing in the capture circuit 12. The delay setting circuit 43 sets the optimum delay amount calculated in the delay amount calculation circuit 42 to the variable delay circuit 13 so as to generate a DQS signal which rises at the optimum data capture timing which is calculated in the delay amount calculation circuit 42.
The interface circuit 10 of this embodiment includes the fixed delay circuit 11 to thereby generate a DQ signal Nd13 by adding a prescribed delay amount to the DQ signal Nd12. Because the interface circuit 10 calculates an optimum delay amount by performing delay adjustment with the use of the delayed DQ signal, it is possible to detect a setup limit even if a clock frequency is high.
The delay adjustment operation of the interface circuit according to this embodiment is described hereinafter.
In view of the foregoing, an input DQ signal is a delayed DQ signal to which a prescribed amount of delay is added by the fixed delay circuit 11 in this embodiment. The delay amount is set in such a way that a setup limit of a delayed DQ signal is later than a rising edge of a Z-deg DQS signal with a minimum delay as described in detail later. In the example of
A fixed delay amount of the delayed DQ signal is described in detail hereinbelow.
The DQ signal Nd12 and the DQS signal Nq12 are a DQ signal and a DQS signal which are input to the fixed delay circuit 11 and the variable delay circuit 13, respectively. Although the DQ signal Nd11 and the DQS signal Nq11 are output from the DDR-SDRAM 3 at substantially the same timing, they become out of phase due to a difference in line length or the like until they are input to the DQ terminal 21 and the DQS terminal 22, respectively, of the semiconductor integrated circuit 2; as a result, they have a different delay amount as shown in DQ Nd12 and DQS Nq12 with a delay difference of tSKEW.
tCYC: Cycle of DQ signal
tJITTER: Length of jitter of DQ signal
tFIXDLY: Delay amount of fixed delay circuit 11
tSETUP: Setup time
tHOLD: Hold time
tSKEW: Skew time between DQ signal and DQS signal
tPASSMIN: Minimum delay amount (setup limit)
tPASSMAX: Maximum delay amount (hold limit)
tMINDLY: Minimum delay amount of variable delay circuit
tBSTMR: ½ (tPASSMAX−tPASSMIN)
tACTDLY: Actual delay amount
where
The case where the DQS signal Nq12 is delayed behind the DQ signal Nd12 by the amount of tSKEW due to a skew because of a difference in line length between the DDR-SDRAM 3 and the semiconductor integrated circuit 2 or the like is described hereinafter. The DQ signal Nd12 becomes the DQ signal Nd13 with a delay of tFIXDLY by the fixed delay circuit 11. The DQS signal Nq13 (actual) is a DQS signal after optimum delay amount adjustment, and the DQS signal Nq13 (minimum) is a DQS signal having a minimum delay amount tMINDLY of the variable delay circuit. The rising edge t1 of the DQS signal Nq13 (minimum) with a minimum delay amount tMINDLY is earlier than a setup limit t2.
It is necessary to set a delay amount of a DQS signal Nq13 to the variable delay circuit 13 in such a way that the rising edge of the DQS signal Nq13 is at the center of a data valid window in which a jitter tJITTER, a setup time tSETUP, and a hold time tHOLD are subtracted from a data cycle tCYC, as shown in the DQS signal Nq13 (actual) in
Therefore, it is necessary to detect a setup limit t2 which is the setup end timing and a hold limit t4 which is the hold start timing in the DQ signal Nd12. In order to detect the timing t2 and t4, a delay of the variable delay circuit 13 is varied within a prescribed delay width and checked against an expected value. In the timing before t2, the expectation matching results in failure. Within a data valid window from the timing t2 to t4, data is readable and it matches with an expected value. After the timing t4, the expectation matching results in failure again.
The timing t2 and t4 are detected by sequentially changing a delay amount and performing expectation matching. The intermediate timing t3 between the timing t2 and t4 is the ideal delay timing of the DQS signal (Nq13 (actual)). To calculate this, a minimum pass delay tPASSMIN from the rising edge of the DQS signal Nq12 input to the variable delay circuit 13 to the timing t2 is calculated using the equation (1) described above. Then, a maximum pass delay tPASSMAX from the rising edge of the DQS signal Nq12 to the timing t4 is calculated using the above-described equation (2). Further, a delay amount tACTDLY which is actually set to the variable delay circuit 13 is calculated using the above-described equation (3).
In this embodiment, tPASSMIN>tMINDLY is satisfied. Thus, the minimum delay timing t1 of the variable delay circuit 13 is always earlier than the setup limit t2. It is thereby possible to detect the setup limit t2 without fail. To this end, the interface circuit 10 of this embodiment includes the fixed delay circuit 11 in which tFIXDLY is set so as to satisfy tPASSMIN>tMINDLY. From the above-described equation (1), tFIXDLY>tMINDLY+tSKEW−tSETUP is satisfied.
Specifically, a delay amount of the fixed delay circuit 11 is set to be larger than a time which is a result of subtracting a setup time tSETUP from a minimum delay amount tMINDLY of the variable delay circuit 13 and a skew tSKEW. Although tSKEW is described as a skew between a DQ signal and a DQS signal in this embodiment, if there are eight DQ signals for a DQS signal, for example, tSKEW includes each skew between those DQ signals. Because it is possible to estimate the amount of tSKEW or the like based on the standard technological level, the fixed delay amount can be set according to these values so as to satisfy tPASSMIN>tMINDLY with some margin.
In this embodiment, a DQ signal is delayed so that the timing of a minimum delayed DQS signal Nq13 of the variable delay circuit 13 is earlier than the setup limit t2, thereby enabling detection of a setup limit even if a clock frequency is high. It is therefore possible to calculate an accurate optimum delay amount and set an optimum delay amount properly. This significantly reduces the probability of a failure in reading of a DQ signal, thus providing a highly reliable semiconductor device even with a DDR-SDRAM having a high operating frequency such as DDR2-800 and DDR3.
A second embodiment of the present invention is described hereinafter.
In an interface circuit 50 of this embodiment, a selector 16 for bypassing the fixed delay circuit 11 is added. The interface circuit 50 includes a semi-fixed delay circuit 15 which is composed of the fixed delay circuit 11 and the selector 16. Further, a delay adjustment circuit 54 includes a delay setting circuit 44 for controlling the selector 16, in addition to the expectation matching circuit 41, the delay amount calculation circuit 42 and the delay setting circuit 43.
The interface circuit 50 of this embodiment uses a DQ signal which is delayed by the fixed delay circuit 11 during the calibration operation just like the first embodiment. During the normal operation, on the other hand, it inputs a DQ signal directly to the capture circuit 12 without passing through the fixed delay circuit 11, thereby eliminating the latency of the capture timing of a DQ signal.
Specifically, a DQ signal Nd22 which is input to the interface circuit 50 passes through the fixed delay circuit 11 and becomes a delayed signal Nd23 having a fixed delay amount of tFIXDLY. A DQS signal (Nd22) is input to the interface circuit 50 earlier than the DQ signal by tSKEW due to a skew or the like. The variable delay circuit 13 shifts a delay amount and searches for a setup limit and a hold limit to obtain an actual delay amount tACTDLY.
Then, the delay setting circuit 44 switches the selector 16 to select a path that bypasses the fixed delay circuit 11 to search for the delay setting with its limit being at hold. A delay amount tFIXDLY of the fixed delay circuit 11 can be obtained by comparing the hold limits when passing through the fixed delay circuit 11 and when not passing through the fixed delay circuit 11. Just like the first embodiment, a fixed delay amount of the fixed delay circuit 11 is set to be larger than a time which is a result of subtracting a setup time tSETUP from a minimum delay amount tMINDLY of the variable delay circuit 13 and a skew tSKEW. An accurate fixed delay amount can be obtained by such measurement.
In
Then, the process searches for a maximum pass delay (tPASSMAX) and stores the delay setting (n_max1) (Step SP3). tPASSMAX is a delay amount which is immediately before the delay amount that first mismatches with an expected value in the expectation matching circuit 41 while further increasing a delay amount from tPASSMIN.
Then, the process switches the selector 16 by the delay setting circuit 44 to select a path that bypasses the fixed delay circuit 11 (Step SP4). It then searches for a maximum pass delay (tPASSMAX
t
ESTDLY
=n_max1−(n_min1−n_min2) (6)
This embodiment not only enables to obtain an optimum delay amount of a variable delay circuit by delaying a DQ signal using the fixed delay circuit 11 to allow setup limit search, but also enables to prevent a delay in a DQ signal during normal operation by bypassing the fixed delay circuit 11.
A third embodiment of the present invention is described hereinafter.
When setting a fixed delay amount, the fixed delay amount is determined so as to satisfy tPASSMIN>tMINDLY with some margin, and the amount of tSKEW or the like is estimated based on the standard technological level. Because tSKEW varies by DIMM or DRAM, a slightly large value of tMINDLY is set.
However, there are cases where the amount of tSKEW is larger than estimated and thereby the fixed delay amount tFIXDLY does not satisfy the above expression. A DQS signal which is output from a memory is not a continuous signal like a clock signal but a signal that is added only when there is a DQ signal to be read. Thus, if tSKEW is large, tFIXDLY should be large accordingly. However, because a large fixed delay amount generally causes an increase in error, it is preferred to set an optimum fixed delay amount. To this end, this embodiment prepares several delay amounts which can be selected as a delay amount of a DQ signal for calibration.
This configuration allows increasing a fixed delay amount to enable accurate calibration when a fixed delay amount is too small to detect a setup limit, and also allows preventing a fixed delay amount from being too large to thereby enable more accurate calibration.
In
In view of the foregoing, a delay amount of a DQ signal is set to tFIXDLY1, which is larger than tFIXDLY2. As shown in
t
ESTDLY
=t
ADLY1
−t
FIXDLY1
Because a delay amount of a DQ signal is variable in this embodiment, it is possible to set an optimum fixed delay amount tFIXDLY, which minimizes an error in the calibration of a delay amount in a variable delay circuit. Further, if a fixed delay amount is too small to search for a setup limit, it is possible to increase a fixed delay amount to enable searching of a setup limit. Although the configuration of this embodiment allows bypassing of the variable delay circuit in the semi-fixed delay circuit 65, it may include a delay circuit only just like in the first embodiment.
It is apparent that the present invention is not limited to the above embodiments, but may be modified and changed without departing from the scope and spirit of the invention. For example, the above embodiments describe a case of receiving a DQS signal and a DQ signal output from an SDRAM and adjusting the latch timing of the DQ signal. However, it is not limited to a memory such as an SDRAM, and the same operation can be performed when receiving a strobe signal and data output from an LSI or the like and adjusting the timing to latch the received data. Further, although the above embodiments describe a single data bus for simplification of description, there may be a plurality of, e.g. eight, data buses. In such a case, a delay adjustment circuit may be placed for each data bus.
| Number | Date | Country | Kind |
|---|---|---|---|
| 2006-225241 | Aug 2006 | JP | national |