This application relates to high-speed I/O links and, more particularly, to circuits performing measurements at a pico-second level of accuracy.
In high-speed input/output (I/O) links, an accurate measurement of the eye-width of the received signal is critically important. The output of a signal from a I/O Circuit transmitter is known commonly as an eye diagram. Eye diagrams helps to determine system level voltage and timing margin associated with a high speed I/O operation. The better the quality of the digital signal transmission, the wider the eye width and eye height will be.
In the current eye measurement technique, phase interpolator (PI) codes for eye center training are captured. After training, system margining is performed to push the clock edge to the right (or left) edge of the eye. A phase interpolator code for right (or left) edge of the eye is captured. The difference of phase interpolator codes between eye-center training and eye edge right (or left) is used to manually generate the right eye width (or left eye width) data in picoseconds. This process needs to refer to the phase interpolator differential non-linearity (DNL) characteristics collected through silicon validation processes.
The current eye measurement technique is a very tedious operation, involving a significant amount of manual labor. More importantly, to obtain highly accurate eye-width measurements, extensive silicon validation characterizations across multiple process/voltage/temperature variations would be required.
Other prior art eye measurement designs have flip-flop metastability issues, which affect the measurement precision.
Thus, there is a continuing need for an automated eye-width characterization method that overcomes the shortcomings of the prior art.
The foregoing aspects and many of the attendant advantages of this document will become more readily appreciated as the same becomes better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein like reference numerals refer to like parts throughout the various views, unless otherwise specified.
In accordance with the embodiments described herein, a novel digital eye width monitor (DEWM) system and method are disclosed. The DEWM system provides on-die capability to directly measure the left and right eye-width in picoseconds. The DEWM system measures the time from the phase interpolator (PI) clock position (data eye center, left edge, right edge) to a reference clock, and calculates the left and right eye width with 1-2 pico seconds of accuracy.
In the following detailed description, reference is made to the accompanying drawings, which show by way of illustration specific embodiments in which the subject matter described herein may be practiced. However, it is to be understood that other embodiments will become apparent to those of ordinary skill in the art upon reading this disclosure. The following detailed description is, therefore, not to be construed in a limiting sense, as the scope of the subject matter is defined by the claims.
Most of the high-speed I/O links use a phase interpolator-based training mechanism in a receiver (RX) circuit. This training mechanism is used to place the data sampling clock at the center of the valid window. This is followed by margining the phase interpolator (PI) clock, to the left and right, to measure the data eye width, and averaging the two sets of PI codes to find the received data eye center. The difference of the two sets (left and right) of the PI codes multiplied by the average PI step time gives the eye width. This is the conventional way to obtain the received eye width.
Because the PI DNL has a big variation over its code control range, the eye width measurement result typically has a big error, using this prior art technique.
The novel digital eye width monitor provides a new method to measure received data eye width, with a pico-second range precision.
The control script 200 initializes a test access port (TAP) controller, which includes programmable TAP registers 400. In some embodiments, the TAP controller is an on-chip device that controls the read and write operations to the tap register 400. These TAP registers 400 send a PI offset code to the phase interpolator 500, and a DEWM control code (counting phase select, measure, calibrate, and oscview), in response to receiving a test data input (TDI) signal from the software 200. The software 200 further reads out DEWM measurement results from the test data output (TDO) signal, which is also received into the software program 200.
Using the Ploffset signal and the TAP registers 400, the software 200 is able to offset the phase interpolator (PI) 500 to its left, right, and center positions, of the digital eye. The DEWM 300 is then able to measure the data eye width, based on these positions. The PI training algorithm is not part of this disclosure. The DEWM 300 uses the training results and measures the received data eye within a pico-second range precision. In some embodiments, the hardware of the DEWM system 100 is on-chip, while the software 200 of the DEWM system is off-chip, to form a full timing measurement function.
In some embodiments, the reference clock, RefClk, coming into the phase interpolator 500 and digital eye width monitor 300 is a stable clock operating at a known frequency and fixed phase. In some embodiments, the RefClk used in
The TAP system is a state machine using in testing systems under a joint test action group (JTAG). JTAG is the common name for what has been standardized as the IEEE 1149.1, “Standard Test Access Port and Boundary-Scan Architecture”, where IEEE is short for the Institute of Electrical and Electronics Engineers. JTAG was initially devised for testing printed circuit boards using boundary scan and is still widely used for this application. In the system 100, the software 200, using the TAP registers 400, controls the position of the PiClk, thus enabling the DEWM 300 to do timing measurements. Other data bus accessible and programmable registers also can be chosen to control the DEWM measurement system.
The DEWM 300 of the system 100 generates digital outputs, shown in
Three measurements are obtained by offsetting the PiClk to its three locations, in some embodiments, once at the beginning of the data eye (PICIk1), once at the center of the data eye (PICIk2), and once at the end of the data eye (PICIk3). Once the three PICIk events occur, the system 100 is able to measure the width of the data eye. A first measure, denoted TC, is obtained by measuring the time from PICIk2 to RefClk. A second measure, denoted LC, is obtained by measuring the time from PICIk1 to RefClk. A third measure, denoted RC, is obtained by measuring the time from PICIk3 to RefClk. From the three measurements, TC, LC, and RC, the left eye width is calculated as TC−LC and the right eye width is calculated as RC−TC. The subtractions, TC−LC and RC−TC are then multiplied with the average time step, Δt, from the calibration in
The measurement process starts with a calibration cycle, in which the total number of rising and falling clock edges of the GRO 50 during one PiClk is measured. The DEWM 300 uses RefClk to trigger DEWMstart, to start the timing measurement, and uses PiClk to trigger DEWMstop, to finish the time measurement. Thus, looking at
To count up all the rising and falling edges between the clocks, the DEWM 300 includes ripple counters 24. The ripple counters 24 count the number of clock rising and falling edges that show up during the time period to be measured, from DEWMstart low-to-high transition (triggered by RefClk) to DEWMstop low-to-high transition (triggered by PiClk). The DEWM 300 also uses an adder circuit 26 to sum up the total number of rising and falling edges counted by the ripple counters 24. This count number, shown as DEWMout, is used by the software 200 to determine the left/right eye width. In some embodiments, with different control flow of the software 200, the same set of hardware may be used to do clock duty cycle measurement, clock jitter measurement, and phase interpolator linearity check.
In some embodiments, the GRO of the DEWM 300 consists of an odd number of outputs. In
Because of this configuration, the GRO 50 of the DEWM 300 has an odd number of sequential clock phases (the outputs 0, . . . , 18). The GRO 50 thus guarantees that all GRO clock phases have a deterministic start from a fixed state with a repeatable sequence. This makes it possible to count the number of edges that occurred during the same time period to be measured for each GRO clock phase, using the same set of ripple counters 24 and adder circuit 26. In other words, because the clock phases of the GRO 50 have a deterministic start from a fixed state with a repeatable sequence, some of the hardware may be reused. The system 100 is thus designed to minimize the on-chip hardware to save silicon costs, yet offer sufficient hardware hooks to perform several different types of measurements, using external software control. The external software control gives flexibility to make a full use of the on-chip hardware resource to other possible applications.
An example of this hardware economy is illustrated in
In some embodiments, the maximum gate delay inside the GRO 50 is about 6 picoseconds (ps). Thus, in some embodiments, the time measurement resolution is 6 ps. In order to achieve sub-gate delay resolution for performing the time measurements, standard cell-based phase interpolation is used to further divide down the gate delay, in some embodiments. In
To illustrate how the circuits 20 divide the GRO gate delay down, the GRO clock is shown as four separate clocks, denoted GROclk0, GROclk1, GROclk2, and GROclk3, with GROclk0 showing the rising edge, GROclk1 showing the falling edge, GROclk2 showing the next rising edge, and GROclk3 showing the next falling edge of the GRO clock. Arrows extending from the GRO 50 denote the part of the circuit producing each edge, with the first and third down-facing solid arrows denoting the rising edges (GROclk0 and GROclk2) and the second and fourth down-facing solid arrows denoting the falling edges (GROcIk1 and GROclk3).
With the inclusion of the circuit 20A following the inverter 54B in the GRO 50, two new clock edges, denoted GROclk0.1 and GROclk0.2, are essentially inserted between GROclk0 and GROclk1, with the first rising edge (GROclk0) and the second rising edge (GROclk2) producing the two new clock edges, as indicated by the dashed arrows. Similarly, the insertion of the circuit 20B in the GRO 50, following the inverter 54C causes two new clock edges, denoted GROclk1.1 and GROclk1.2, to be inserted between GROclk1 and GROclk2, with the first falling edge (GROclk1) and the second falling edge (GROclk3) producing the two new clock edges, as indicated by the dotted arrows. This process is repeated for all succeeding inverters 54 in the GRO 50. The circuits 20 thus have the effect of dividing down the GRO clock, GROclk, to one third of its time resolution. In some embodiments, the time resolution of the GRO clock may be further divided down, to one fourth of its time resolution, one fifth of its time resolution, and so on.
Assuming the GRO 50 has an odd number, N, of stage delay elements (with N=19 in the DEWM 300 of
In
In some embodiments, the ripple counters 24 are shared to count for different GRO clock phases, thus minimizing the real estate that is needed for the DEWM 300. In some embodiments, the ripple counter outputs are summed as a time measurement output. Also to conserve hardware, in some embodiments, all DEWM control inputs (counting phase select, measure, calibrate, and oscview) are generated using the writable TAP registers 400. The DEWM GRO clock edge counting number and its internal status bits (DEWMstart and DEWMstop) are sent to read-only TAP register bits, also found in the TAP registers 400. External software 200 operates the on-chip DEWM circuit through an on-chip TAP controller (not shown), which controls the read and write operations to the tap register 400. Each GRO clock phase and its two interpolated clock edges are selected from the total N GRO clock phases and their 2*N interpolated clock edges, using the software 200, to count the number of rising and falling edges that show up in the time interval to be measured. In some embodiments, the N groups of counted edge numbers are added up by the software 200 as the final timing measurement result.
Until the measurement is completed, no other operations are performed (block 212). Once completed, the read-only registers of the TAP controller are used to read back the DEWM measurement result (DEWMout, the counting results), and this operation is performed for all nineteen phases of the GRO 50 (block 214). The counting results are then summed for all nineteen phases (block 216) and the difference (delta) is calculated for different PI offset positions (block 218), such as left data eye, or right data eye.
Otherwise, if all nineteen phases of the GRO 50 are counted (block 314), then the nineteen DEWM counting results are added together (block 318). If all the phase interpolation positions have been measured (block 320), then the differences are calculated to check the results (block 322). Otherwise, a new phase interpolator position is selected (block 302) and the process is repeated.
The flow diagrams in
The range of the timing measurement is decided by the number of ripple counter stages, in some embodiments. This range may be easily extended by attaching one or more stages to the ripple counter to double the timing measurement range without any design timing issue.
In some embodiments, the DEWM system 100 provides support for manufacturers interested in reducing the product development cycle time, by reducing the total processing time of the post-silicon electrical validation tests. In some embodiments, a 15% improvement in post-silicon total processing time for electrical validation tests is expected. Several manual measurements will be replaced by the automated data collection procedure disclosed above.
Further, in some embodiments, the DEWM system 100 is helpful in determining the unit per million specifications more accurately in the face of growing challenges offered by phase interpolator circuit repeatability issues. Where in the prior art, an extra guard band is inserted in the system timing margin, due to the presence of phase interpolator repeatability, the DEWM system 100 obviates the need to address guard banding issues.
While the application has been described with respect to a limited number of embodiments, those skilled in the art 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.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US2012/024132 | 2/7/2012 | WO | 00 | 3/11/2014 |
Number | Name | Date | Kind |
---|---|---|---|
6429693 | Staszewski et al. | Aug 2002 | B1 |
6501706 | West | Dec 2002 | B1 |
7679459 | Menolfi et al. | Mar 2010 | B2 |
20040170244 | Cranford, Jr. et al. | Sep 2004 | A1 |
20050147194 | Koenenkamp | Jul 2005 | A1 |
20050265487 | Sou | Dec 2005 | A1 |
20060002497 | Zhang | Jan 2006 | A1 |
20060103566 | Vemulapalli et al. | May 2006 | A1 |
20060181319 | Zhang | Aug 2006 | A1 |
20060227917 | Buchwald et al. | Oct 2006 | A1 |
20060242367 | Ramakrishnan et al. | Oct 2006 | A1 |
20070075877 | Goller et al. | Apr 2007 | A1 |
20080297213 | Abbasfar et al. | Dec 2008 | A1 |
20090202027 | Yin et al. | Aug 2009 | A1 |
20110068840 | Williams et al. | Mar 2011 | A1 |
20110075781 | Kenney | Mar 2011 | A1 |
20110084863 | Chiu et al. | Apr 2011 | A1 |
20110274215 | Hollis | Nov 2011 | A1 |
20140093014 | Wei et al. | Apr 2014 | A1 |
Number | Date | Country |
---|---|---|
2013119209 | Aug 2013 | WO |
Entry |
---|
International Search Report and Written Opinion received for PCT Patent Application No. PCT/US2012/024132, mailed on Oct. 24, 2012, 12 pages. |
International Preliminary Report on Patentability and Written Opinion received for PCT Patent Application No. PCT/US2012/24132, mailed on Aug. 21, 2014, 9 pages. |
Number | Date | Country | |
---|---|---|---|
20140204988 A1 | Jul 2014 | US |