The invention generally relates to a skew correction circuit.
Computer devices typically use buses to communicate with each other. In this manner, the bus typically include data lines that propagate data signals for purposes of communicating data between the devices. For purposes of synchronizing the capture of the data by the receiving device, or receiver, the transmitting device, or transmitter, may furnish a strobe signal (to a strobe line of the bus) that accompanies the data signals in a technique called source synchronous signaling.
In this manner, in source synchronous signaling, the strobe signal and data signals are synchronized together at the transmitter, the source of the transmitted signals. The strobe signal includes edges to which the receiver responds to latch the data signals at the appropriate times. Because the strobe signal propagates approximately along the same signal path as the data signals, the strobe signal experiences approximately the same delay as the data signals. However, the signal paths are not identical, and thus, a delay, or skew, may exist at the receiver between each data signal and the strobe signal. Therefore, typically the receiver includes circuitry, such as fixed delay lines, to adjust the timing of the strobe and/or data signals to accommodate any relative delay, or skew, between the strobe signal and the data signals.
There are two approaches that are commonly used to implement source synchronous signaling: quadrature strobing and coincident strobing. Quadrature strobing centers each data eye, or cell, of a data signal 10 (see
With coincident strobing, the transmitter aligns the edges of the data signal and a strobe signal so that the signals are driven simultaneously onto the bus. For example, a particular edge 17 (see
Because a different skew may exist between each data signal and the strobe signal, the above-described techniques may not eliminate all of the skews between the data signals and the strobe signal. Furthermore, the skew may not be fixed, but rather, the skew may vary over time due to temperature and/or voltage variations.
Thus, there is a continuing need for an arrangement that addresses one or more of the problems that are stated above.
In one embodiment of the invention, a method includes using a data bit signal and a first strobe signal to generate a pulse train signal. A duty cycle of the pulse train signal indicates a degree of skew between the data bit signal and the strobe signal. A timing relationship is regulated between the data bit and the second strobe signal based on the degree of skew that is indicated by the duty cycle.
Advantages and other features of the invention will become apparent from the following description, drawing and claims.
Referring to
More particularly, in some embodiments, the skew correction circuit 20 receives a data signal (called DATA (see also
To accomplish the skew compensation, in some embodiments, the skew correction circuit 20 includes a quadrature detector 22 (see
Referring to
The operation of the quadrature detector 30 is dependent on the transitions of the logical state of the DATA signal and the state of the STROBE signal. In particular, there are four possible combinations of transitions that affect the quadrature detector 30:
1. A logical one to a logical zero transition of the DATA signal when the STROBE signal has a logical one state, as depicted near time T1 in
2. A logical zero to a logical one transition of the DATA signal when the STROBE signal has a logical one state, as depicted near time T2 in
3. A logical one to a logical zero transition of the DATA signal when the STROBE signal has a logical zero state, as depicted near time T3 in
4. A logical zero to a logical one transition of the DATA signal when the STROBE signal has a logical one state, as depicted near time T4 in
For transition numbers one and two, the duty cycle of the XOR signal and the level of the XOR_LPF signal decreases with an increase in the skew 29, and the duty cycle of the XNOR signal and the level of the XNOR_LPF signal increases with an increase in the skew 29. This relationship causes the ERROR signal to indicate a positive value that is proportional to the degree of skew, as depicted in
For transition numbers three and four, the duty cycle of the XOR signal and the level of the XOR_LPF signal increases with an increase in the skew 29, and the duty cycle of the XNOR signal and the level of the XNOR_LPF signal decreases with an increase in the skew 29. This relationship causes the ERROR signal to indicate a negative value that is proportional to the degree of skew, as depicted in
Therefore, using these relationships, in some embodiments, a calibration data pattern may be used to produce a net error offset (as indicated by the ERROR signal) whenever there is a nonzero quadrature error. In some embodiments, the calibration data pattern is chosen to implement either transitions one and two or transitions three and four, without mixing these groupings.
The LPFs 56 and 58 (see
The calibration value is stored in the error register 28 each time the quadrature error is updated, and the rate at which the error register 28 is updated is a function of how rapidly the skew can change. If the skew exhibits little change over time then it may be sufficient to update the error register 28 only at power-up. Otherwise the error register 28 may be updated at a rate slightly faster than the skew can change. In some embodiments, a control unit 25 controls when updates to the error register 28 are made.
In some embodiments, the delay chain 30 may include inverters that are coupled together via multiplexers to form the desired delay. The delay chain 30 is designed for the appropriate dynamic range and resolution. In this manner, because in some embodiments, coincident strobing may be used at the source, the dynamic range accommodates the delay of one half of the bit time plus maximum amount of skew that needs to be corrected. The resolution specifies how fine a correction can be made. Typically the resolution should be on the order of the setup, or hold, time for the receive buffer. For example, for current silicon processes this is about 50 picoseconds (pS). However, this value may be reduced or increased according to the particular process.
As an example, a 500 megabits per second (Mb/s) system may have up to +/−500 pS of skew. The bit time for this system is 2.0 nanoseconds (nS), so that one half of a bit time would be 1.0 nS. For this example, the delay chain 30 may be designed to delay a nominal 1.0 nS (to center the strobe if there were no other skew) plus an additional delay of 500pS (to account for worst case skew). The normal operating range of the delay would then be 500 pS −1.5 nS.
Referring to
Other arrangements are within the scope of the following claims. For example,
For purposes of storing the appropriate indications of the error registers 114, the skew correction circuit includes a multiplexer 124 that has input terminals that are coupled to the output terminals of the multiplexers 118, and the output terminal of the multiplexer 124 is coupled to an input terminal of the quadrature detector 110. The other input terminal of the quadrature multiplexer 110 is coupled to the output terminal of a multiplexer 102. The input terminals of the multiplexer 110, in turn, are coupled to the data lines 23. A controller 120 of the skew correction circuit 100 is coupled to the selection terminals of the multiplexers 102 and 118 and to the error registers 114 so that the controller 120 may selectively measure the skews that are associated with each of the data lines 23 and cause an indication of the measured skew to be stored in the appropriate error register 114.
Among the other features of the skew correction circuit 100, the circuit 100 may include matched delay elements 102, each of which is coupled between a different one of the data lines 23 and the input terminal of a different one of the D-type flip-flops 106. The skew correction circuit 100 may also include matched delay elements 122, each of which is coupled between the clock input terminal of a different D-type flip-flop 106 and a different one of the output terminals of the multiplexer 118.
While the invention has been disclosed with respect to a limited number of embodiments, those skilled in the art, having the benefit of this disclosure, will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of the invention.
Number | Name | Date | Kind |
---|---|---|---|
3872397 | Hanneman | Mar 1975 | A |
5184350 | Dara | Feb 1993 | A |
5465277 | Schreurs et al. | Nov 1995 | A |
5638410 | Kuddes | Jun 1997 | A |
5736872 | Sharma et al. | Apr 1998 | A |
5854553 | Barclay et al. | Dec 1998 | A |
5973526 | Dabral | Oct 1999 | A |
6008703 | Perrott et al. | Dec 1999 | A |
6119242 | Harrison | Sep 2000 | A |
6247138 | Tamura et al. | Jun 2001 | B1 |
6269060 | Harvey et al. | Jul 2001 | B1 |
6292040 | Iwamoto et al. | Sep 2001 | B1 |
6338144 | Doblar et al. | Jan 2002 | B2 |
6608703 | Toriyama et al. | Aug 2003 | B1 |
6775344 | Buhler et al. | Aug 2004 | B1 |
20010013802 | Faulcon et al. | Aug 2001 | A1 |