1. Field of the Invention
The present invention generally relates to integrated circuit device testing and, more particularly, to device testing designed to ensure a device under test will tolerate a minimum amount of jitter on a serial communications line.
2. Description of the Related Art
In modern computer systems, data is often exchanged between devices over a high speed serial communications bus with multiple data lines. Each device commonly includes serialization circuitry to serialize parallel data to be sent serially over each data line and de-serialization circuitry to assemble and present in parallel (e.g., to other data processing components on the receiving device) data received serially over a data line.
Clock and data recovery (CDR) circuits are often connected in series with the de-serializer circuits and used to extract (recover) a clock signal from the incoming serial data stream. The general goal of the CDR circuits is to produce (recover) clock signals used to sample incoming data on serial data lines. Ideally, the CDR circuit produces a sampling clock signal with a sampling edge that is aligned with a center of the period in which the serial data is valid between possible transitions.
This period is commonly referred to as the data “eye” due to the corresponding shape in a timing diagram, as illustrated in
CDR circuits usually have a requirement for a minimum jitter tolerance. Jitter tolerance for a serial data recovery system generally refers to how much jitter can exist on a serial data pattern while still achieving a specified error rate. Jitter is usually defined in phase modulation spectrums where the lower frequency components are sometimes classified as wander and the higher frequency components as jitter. The higher frequency components are the most difficult jitter components to tolerate since CDR loops usually have a finite tracking bandwidth.
In some cases, it may be desirable to generate jitter, in an attempt to characterize a device tolerance to jitter. The act of generating jitter on a data stream is commonly referred to as “closing the data eye.” It is generally desirable to know exactly how much jitter is being induced on a data stream when running built in self test (BIST) algorithms, so the system is not overstressed resulting in forced failures on components that might work with normally stressed input. Unfortunately, it is difficult to design a built in self test (BIST) algorithm that generates a serial data pattern with a predictable/controllable amount of eye closure since intersymbol interference effects are sensitive to process variations and contribute significantly to the eye closure.
Accordingly, what is needed are improved techniques and apparatus for testing jitter tolerance of a device.
The present invention generally provides methods and apparatus for testing jitter tolerance of a device.
One embodiment provides a method of testing jitter tolerance of data processing circuits of an integrated circuit device. The method generally includes generating, on the device, a phase-adjusted clock signal based on a reference clock signal, distributing the phase-adjusted clock signal to the data processing circuits, simulating jitter in a data stream received by the data processing circuits by rapidly adjusting the phase of the phase-adjusted clock signal, and monitoring the data processing circuits for errors while simulating the jitter.
Another embodiment provides an integrated circuit device generally including one or more data processing circuits, each having a phase rotator to adjust a phase of a clock signal received by the data processing circuits and jitter simulation logic. The jitter simulation logic is generally configured to rapidly adjust the phase of the clock signal received by the one or more data processing circuits during a test mode in order to simulate jitter in a data stream received by the data processing circuits.
Another embodiment provides a system generally including a test mechanism and an integrated circuit device coupled to the test mechanism via a multi-bit interface. The integrated circuit device generally includes a plurality of data processing circuits, each configured to receive data over one line of the multi-bit interface and having a phase rotator to adjust a phase of a clock signal to which the data is synchronized, and jitter simulation logic. The jitter simulation logic configured to rapidly adjust the phase of the clock signal received by the one or more data processing circuits during a test mode in order to simulate jitter in a data stream received by the data processing circuits.
So that the manner in which the above recited features, advantages and objects of the present invention are attained and can be understood in detail, a more particular description of the invention, briefly summarized above, may be had by reference to the embodiments thereof which are illustrated in the appended drawings.
It is to be noted, however, that the appended drawings illustrate only typical embodiments of this invention and are therefore not to be considered limiting of its scope, for the invention may admit to other equally effective embodiments.
The present invention generally provides a technique and apparatus for testing jitter tolerance of a device. Jitter control logic within a device may include a master phase rotator to rapidly adjust the phase of a clock signal to simulate jitter in a data stream received by the device. For some embodiments, the rate, magnitude, and signature (or waveform shape) of the phase adjustments may be controlled to simulate high frequency jitter. Errors in received data packets may be monitored while simulating this jitter (e.g., as part of a built in self test) to test the jitter tolerance of a device under test.
In the following, reference is made to embodiments of the invention. However, it should be understood that the invention is not limited to specific described embodiments. Instead, any combination of the following features and elements, whether related to different embodiments or not, is contemplated to implement and practice the invention. Furthermore, in various embodiments the invention provides numerous advantages over the prior art. However, although embodiments of the invention may achieve advantages over other possible solutions and/or over the prior art, whether or not a particular advantage is achieved by a given embodiment is not limiting of the invention. Thus, the following aspects, features, embodiments and advantages are merely illustrative and are not considered elements or limitations of the appended claims except where explicitly recited in a claim(s). Likewise, reference to “the invention” shall not be construed as a generalization of any inventive subject matter disclosed herein and shall not be considered to be an element or limitation of the appended claims except where explicitly recited in a claim(s).
For example, the IC device 210 may be a central processing unit (CPU) or a graphics processing unit (GPU). In such cases, the phase rotators 218 may be included as part of de-skew circuitry in a physical layer of a communications interface (e.g., a front-side bus) used to exchange data serially (e.g., with the tester 220). A clock signal may be distributed to different data processing circuits (labeled data slices) 216 that each receive a serial bit of data in conjunction with the clock signal over a different bit line of a multi-bit serial interface. The phase rotator 218 in each data slice 216 may be configured to align the clock signal with the serial data, for example, in an effort to produce a clock signal with a sample edge that is near the center of the data eye of serial data.
In order to test the device for jitter tolerance, for example, during a built in self test (BIST) mode, the jitter simulation logic 212 may be configured to rapidly vary the phase of the clock signal distributed to the data slices 216 to simulate high frequency jitter. By continuing to monitor for errors in data packets received, tolerance of the device 210 to jitter may be determined.
For example, while the logic 212 simulates jitter, the tester 220 may send test or “ping” packets to the device 210. The ping packets may be designed only for testing and thus, may not contain any real data of interest. However, the ping packets may include an appended checksum calculated based on the content of the remainder of the packet. The device 212 may then detect errors by generating its own checksum and comparing the generated checksum to the appended checksum sent with the ping packet. A mismatch indicates an error, which may be due to intolerance of the simulated jitter. In some cases, rather than use an external tester 220 to generate ping packets, a loop-back path may be provided whereby the device itself generates and transmits the ping packets which are fed back to receiver circuit 214.
For some embodiments, the rate, amplitude, and shape or signature of the phase adjustments may be programmable via one or more jitter control registers 213. For example, the jitter control registers may include one or more bits that determine how often (e.g., based on a number of system clock cycles) each phase adjustment or step is made. Another one or more bits may determine a peak-to-peak amplitude of phase adjustments during a jitter cycle. Another one or more bits may specify the signature, such as a saw-tooth pattern (e.g., rapidly incrementing the phase up and down, within the specified peak-to-peak amplitude), a random pattern, or any other type of pattern.
When performing jitter tolerance testing (e.g., as indicated by a jt_test signal asserted when beginning the testing), the varied clock signal produced by the master phase rotator 308 may be selected by a multiplexor (mux) 302 for distribution by clock distribution logic 304 to the data slices 316. The mux 302 may be controlled by a signal (jt_test) generated when a test mode is enabled such that the varied clock signal is selected when the test mode is enabled and the normal clock signal is selected otherwise.
Fortunately, the magnitude of phase adjustments made to simulate jitter may be very predictable since phase rotators generally have fairly good linearity in their transfer curve where the step size of each step is equal to the 360 degrees divided by the total number of steps N. For example, as illustrated in
Referring back to
As an example, to vary the output phase to generate the saw-tooth shaped jitter pattern illustrated in
As illustrated in
As described in co-pending U.S. patent application entitled, “Phase Rotator Control Test Scheme” (Atty. Docket No. ROC920040296), filed herewith and incorporated by reference in its entirety, a master phase rotator may also be used to sweep the phase of an adjusted-phase clock over an entire range to test for defects in operational phase rotators 218. For some embodiments, the jitter simulation described herein may be combined with such phase rotator testing.
For example, the relatively rapid phase adjustments described herein to simulate high frequency jitter may be superimposed on relatively slow phase adjustments made while sweeping an entire range to test phase rotators. As an example, during phase rotator testing, phase adjustments may be made every 512 clock cycles or less often. In contrast, during jitter simulation, phase adjustments may be made more rapidly (e.g., every 4 clock cycles or more often).
Therefore, a BIST algorithm that combines phase rotator and jitter testing may be provided that adjusts the phase of a clock signal distributed to operational phase rotators by superimposing rapid phase adjustments along with relatively slow phase adjustments. If only phase rotator testing were to be performed, each phase step may be maintained for a relatively long period to allow the operational phase rotators to adjust. However, to incorporate jitter testing, the phase may be adjusted rapidly within this relatively long period to simulate jitter, while returning to the initial adjusted phase. After the relatively long period has expired, the phase may again be adjusted, as per phase rotator testing, and rapid phase adjustments may again be made to simulate jitter. These operations may be repeated as the phase of the output clock is adjusted over the entire range (e.g., an entire 360 degree rotation).
By rapidly adjusting the phase of a clock signal distributed to one or more data processing circuits, jitter in the data stream may be simulated. By utilizing phase rotators, the jitter amplitude may be uniformly controlled. As a result, a BIST algorithm may be implemented that helps determine jitter tolerance of a device.
While the foregoing is directed to embodiments of the present invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.
This application is related to co-pending U.S. patent application entitled, “Phase Rotator Control Test Scheme” (Atty. Docket No. ROC920040296US1), filed herewith and incorporated by reference in its entirety.