Not Applicable.
The present invention relates to high-resolution timing measurements and, in particular, to a timing measurement system and method using a component-invariant Vernier Delay Line.
An accurate measure of the jitter characteristics of a signal waveform or, alternatively, a measure of the timing variation between a signal waveform and a reference waveform can yield important information relating to the performance of the source of the signal waveform. Accordingly, the performance of timing and jitter measurement devices is a key factor in being able to accurately characterize the performance of a signal waveform source (e.g. a phase-locked loop). To this end, much recent effort has been devoted to improving the performance and resolution of such timing and jitter measurement devices.
Performing a jitter measurement on a data signal with sub-gate resolution can be achieved using two delay chains feeding into the clock and data lines of a series of D-latches as shown in FIG. 1. Such a structure has come to be known in the art as a Vernier Delay Line (VDL). Here it is assumed that the clock signal is jitter-free. In this case, then, the jitter measurement may be defined as a measure of the time interval between the rising edge of the data signal and the rising edge of the clock signal. The symbols τf and τs represent the respective propagation delays of the buffers interconnecting each stage of the VDL. As the propagation delays of the clock and data paths differ by an amount of Δτ=(τs−τf) the time difference between the rising edges of the data and clock signals will correspondingly decrease by Δτ after each stage of the VDL. After each stage, the phase relationship between these two rising edges is detected and recorded by a corresponding D-latch. A logical 0 will result when the clock signal leads the data signal, whereas a logical 1 will result when the data signal leads the clock signal. The output of each D-latch is passed to a counter circuit, which simply counts the number of times the data signal leads the clock signal (i.e., the number of logical 1's) with a delay difference set by its position in the VDL.
By design, the data signal in
As the phase between the data and clock signals at the input of the VDL is a random variable, each time the measurement is performed, a different set of D-latches are set to a logical 1 level and the corresponding counters begin to register different values. In the case of the first counter, for example, its count value reflects the number of times the rising edge of the data signal is ahead of the rising edge of the clock signal with a delay greater than Δτ. Likewise, the counter in the next stage will correspond to the number of times the rising edge of the data signal leads the rising edge of the clock signal with a delay greater than 2Δτ. In the same manner, the following stages correspond to the number of times the data signal leads the clock signal by 3Δτ, 4Δτ, and so on and forth. Statistically, these numbers can be viewed as representing the Cumulative Distribution Function (CDF) of the jitter riding on the data signal. The Probability Density Function (PDF), or what is also referred to as a histogram, can then be obtained by taking the derivative of the CDF.
Alternatively, a histogram of jitter can also be derived from the data generated by a VDL. For example, if one assumes that the period of the data and clock signal, denoted as T, is larger than the total propagation delay through an M-stage VDL, approximately Mτs if we assume τs>τf, then the outputs of all the D-latches may be combined into one bit-stream whose total count of logical 1's represents the actual time difference between the edge of the data and clock signal taken at a particular instant in time. As is shown in
An important drawback to the prior art VDL structures shown in
In general, Time-to-Digital Converter (TDC) using a Delay Locked Loop (DLL), Vernier Delay Line (VDL) and ring oscillator phase digitization are common techniques used to provide high-resolution timing measurements. In recent years, on-chip timing measurements, such as jitter characterization of Phase Locked Loops (PLLs), have become extremely demanding with required timing resolutions less than 100 ps In order to meet these needs, researchers have devised various schemes in which to perform on-chip timing measurements. In S. Sunter and A. Roy, entitled “BIST for phase-locked loops in digital applications”, and published in Proc. IEEE International Test Conference, pp. 532-540, 1999, an on-chip circuit consisting of a ring oscillator and a calibration circuit was reported to be able to perform timing measurements with a resolution as low as a single gate delay. Moreover, the circuit was fully synthesizable from an RTL description, as the design did not depend on matched elements. A significant improvement to sub-gate resolution was recently reported using a VDL. In this case, the timing resolution was said to be derived from the difference of two gate delays. Unfortunately, however, the reported design still depends largely on the matching of pairs of delay elements. Accordingly, a timing measurement method and system that avoids dependency on matched delay lines remains highly desirable.
Accordingly, an object of the present invention is to avoid the dependency on element matching of prior art timing and jitter measurement devices by providing a component-invariant VDL structure. Thus, the present invention provides a single-stage VDL structure, which is used to mimic the behavior of a complete VDL. This is accomplished by feeding the output of one stage of a VDL back to its input. In fact, this is equivalent to having two oscillators running simultaneously with different frequencies to produce a constant delay difference during every cycle of oscillation. By extending the circuit structure to include multiple oscillators, measurement time is reduced by a factor equivalent to the number of additional oscillators.
According to one aspect of the present invention, there is provided a method for measuring a time difference between a first event and a second event comprising the steps of: triggering a first oscillator circuit to generate a first oscillation signal with an oscillation period Ts upon detection of said first event; triggering a second oscillator circuit to generate a second oscillation signal with an oscillation period Tf upon detection of said second event, wherein TB is greater than Tf and wherein a difference, ΔT, between Ts and Tf is small with respect to either of Ts and Tf; counting a number of cycles, Nm, of said second oscillator circuit; detecting a change of phase between said first and second oscillation signals; and determining a time difference between said first and said second events from said difference, ΔT, between Ts and Tf and the count of the number of cycles of said second oscillator circuit at which said detected change of phase occurs.
According to a further aspect of the present invention, there is provided an apparatus for measuring a time difference between a first event and a second event comprising: a first oscillator circuit adapted to generate a first oscillation signal with an oscillation period Ts upon detection of said first event; a second oscillator circuit adapted to generate a second oscillation signal with an oscillation period Tf upon detection of said second event, wherein Ts is greater than Tf and wherein a difference, ΔT, between Ts and Tf is small with respect to either of Ts and Tf; means for counting a number of cycles of said second oscillator circuit; means for detecting a change of phase between said first and second oscillation signals; means for determining the time difference between said first and said second events using said difference ΔT between Ts and Tf and the count of the number of cycles of said second oscillator circuit at which said detected change of phase occurs.
According to a further aspect of the present invention, there is provided a method for measuring a time difference between a first signal and a reference signal using a first oscillator circuit adapted to generate a first oscillation signal having a period Ts and a second oscillator circuit adapted to generate a second oscillation signal having a period Tf, said method comprising the steps of: performing a calibration sequence to determine the oscillation period Ts of said first oscillator circuit, the oscillation period Tf of said second oscillator circuit and a measure of an intrinsic path delay difference between said first and second signals; triggering said first oscillator circuit to generate said first oscillation signal in response to said first signal; triggering said second oscillator circuit to generate said second oscillation signal in response to said reference signal, wherein Tε is greater than Tf and wherein a difference, ΔT, between Ts and Tf is small with respect to either of Ts and Tf; counting a number of cycles, Nm, of said second oscillation signal; detecting a change of phase between said first and second oscillation signals; and determining the time difference between said first signal and said reference signal from said difference, ΔT, between Ts and Tf and the count of the number of cycles of said second oscillation signal at which said detected change of phase occurs.
Further features and advantages of the present invention will become apparent from the following detailed description, taken in combination with the appended drawings, in which:
a shows an edge detector implementation which may be used in accordance with the present invention.
b shows the timing behavior of the edge detector implementation in
a shows a phase detector implementation which may be used in accordance with the present invention.
b shows the timing behavior of the phase detector implementation in
a shows the timing relationship between the ring oscillators and corresponding response of the phase detector during calibration mode.
b shows the timing relationship between the ring oscillators and corresponding response of the phase detector during measurement mode.
a shows a measured histogram using the VDL of the present invention arranged to have a timing resolution of 0.566 ns.
b shows a measured histogram using the VDL of the present invention arranged to have a timing resolution of 1.22 ns.
It will be noted that throughout the appended drawings, Like features are identified by like reference numerals.
Current timing and jitter measurement devices employing VDL techniques generally require highly matched elements in order to reduce differential non-linearity timing errors. In order to remove this dependency on element matching, the present invention provides a component-invariant VDL structure. The measurement device of the present invention is based on a single-stage VDL structure, which is used to mimic the behavior of a complete VDL. This is accomplished by feeding the output of one stage of a VDL back to its input. In fact, this is equivalent to having two oscillators running simultaneously with different frequencies to produce a constant delay difference during every cycle of oscillation. By extending the circuit structure to include multiple oscillators, measurement, time may be reduced by a factor equivalent to the number of additional oscillators.
The data-triggered oscillator is comprised of a first inverter 42 and a first switch 44. Similarly, the clock-triggered oscillator comprises a second inverter 52 and a second switch 54. Inverters 42 and 52 are used instead of buffers (as in
When the switches 44, 54 are closed, the inverters 42, 52 are configured with regenerative feedback, and will oscillate with a period of 2τs or 2τf seconds, depending on the propagation delay τs, τf of each inverter. More importantly, the combined effect of the inverters 42, 52 is to delay the leading edge of the data signal 32 with respect to the leading edge of the clock signal 34 by an amount 2Δτ seconds for every cycle of the input clock signal.
The component-invariant VDL structure 30 in
As may be appreciated, the timing measurement system and method described in
a shows an exemplary edge detector 60 which may be used in a practical implementation of the present invention. As shown, the edge detector 60 may be implemented using a single D-Flip-Flop 62 with the D and reset (R) inputs connected together. An enable signal 66 is delivered to the D-input while the clock signal 34 (or data signal 32) to be monitored is delivered to the clock input of the D-Flip-Flop 62. The output (Q) of the edge detector 60 will, then, correspond to an output clock edge signal 70 (or data edge signal). The main function of the edge detector 60 is to catch the rising edge of the data or clock signal for triggering of respective oscillators 40 or 50. In a preferred embodiment, two edge detectors will be required, one for the data signal 32 and one for the clock signal 34.
b is a timing diagram illustrating sample operation of the edge detector 60 shown in
At the heart of the component-invariant VDL structure of the present invention are the two switched oscillator circuits 40, 50 depicted in FIG. 3. Implementation of the switched oscillator circuits 40, 50 may, for example, take the form of the circuitry shown in FIG. 5. Here, a clock-triggered oscillator 80 comprises an AND gate 84 feeding into an XOR gate 86, the output of which is fed back to a first input of the AND gate 84. A second input of the AND gate 84 receives a clock edge signal 82 from an edge detector (not shown) which detects the rising edge of the clock signal 34. Similarly, a data-triggered oscillator 90 comprises an AND gate 94 feeding into an XOR gate 96 whose output is fed back to a first input of the AND gate 94. A second input of the AND gate 94 receives a data edge signal 92 from an edge detector (riot shown) which detects the rising edge of the data signal 32. By design, each oscillator circuit 80, 90 is enabled on a logical ‘1’. Note that τf and τs are the respective propagation delays around the loop of each oscillator circuit 80, 90.
As shown in
a shows a typical phase detector circuit 100 which may be used in an implementation of the present invention. The phase detector circuit 100 is implemented using a first D-latch 102, a second D-latch 104 and an AND gate 106. The D-input of the first D-latch 102 receives the data-triggered oscillation signal 98. The Q output of the first D-latch 102 is passed to the D-input of the second D-latch 104 while the QB(complementary) output is fed in as a first input to the AND gate 106. The Q output of the second D-latch 104 serves as a second input to the AND gate 106. The clock input of each D-latch 102, 104 receives the clock-triggered oscillation signal 88.
By design, the edge of the data-triggered oscillation signal 98 can always be set to lead the edge of the clock-triggered oscillation signal 88 at the start of the measurement process (using, for example, a buffer such as buffer 36 in FIG. 3). A phase detector circuit as that depicted in
b is a timing diagram clarifying the operation of the phase detector 100 in
The data-triggered oscillation signal 98 will continue to lead the clock-triggered oscillation signal 88 until a point in time is reached when the rising edge of the clock-triggered oscillator signal 88 corresponds to a logical ‘0’ of the data-triggered oscillator signal 98. In
The circuitry in
Those skilled in the art will appreciate that an intrinsic delay difference will exist between the signal path of the data signal 32 and the signal path of the clock signal 34 before triggering respective oscillator circuits 80, 90. This delay difference will include, for example, the intentional delay added between the clock-triggered ring oscillator 80 and the clock edge detector 60b (not shown), the setup time and propagation delay difference between the D-Latches in the two edge detectors 60a, 60b as well as that of the “XOR” gates in the two switched oscillators 80, 90. Since all these delays are process sensitive, the measured delay will be different from the actual delay difference between the clock and the data edges.
It should also be noted that the difference in oscillation frequencies between the data-triggered oscillation signal and the clock-triggered oscillation signal determines the measurement resolution, which also becomes process sensitive due to the unpredictable delay of the loop in each oscillator 80, 90. Therefore, in order to make the design fully synthesizable, i.e. no element matching required, a calibration sequence is necessary to determine the frequency of each oscillation signal and the difference between the delay paths of the data 32 and clock signal 34. The nature of such a calibration sequence will now be discussed with reference to
In calibration mode, the CLOCK and DATA lines 32, 34 are first tied together to determine the intrinsic delay difference between the two signal paths. This may be accomplished, for example, using a switching block implemented in CMOS technology which controllably connects the clock signal 34 (reference signal) to the clock input of D-latch 60b when calibration is to be performed. In calibration, then, the same reference or input calibration signal is used to trigger each respective oscillator 80, 90. Because these two inputs are tied together, jitter on the input calibration signal will not be important. The, the delay difference between the two signal paths is recorded as the number of clock-triggered oscillator cycles, i.e. No counts, prior to detection of a first change of phase 120. This number of clock-triggered oscillator cycles, No, may be recorded by a counter and then passed to a register for temporary storage.
Note that a change of phase is defined as the time when the data-triggered oscillation signal 98 goes from a leading to lagging relationship with respect to the clock-triggered oscillation signal 88. As mentioned, after each oscillation period, Tf, of the clock-triggered oscillation signal 88, the clock-triggered oscillation signal 88 advances towards the data-triggered oscillation signal 98 by the difference delay:
ΔT=Ts−Tf (1)
where Ts is the oscillation period of the data-triggered oscillation signal 98. As seen in
Nf=Nd−No (2)
where Nf is the number of clock-triggered oscillator cycles over the range Tod. Clearly, the number of clock-triggered oscillation cycles, Nd, prior to detection of a second change of phase may be recorded by the same counter as before. In this case, the number of counts No recorded by the counter are passed out to a first register at detection of a first change of phase while the counter continues counting to record Nd counts of the clock-triggered oscillator until a second change of phase is detected. The number of clock-triggered oscillator cycles, Nd, recorded at the second change of phase may then passed to a second register for temporary storage and calculation purposes.
The count values No, Nd stored in the registers during calibration may then be latched out to a programmed processor adapted to carry out various calculations. For example, the period of the clock-triggered oscillator, Tf, can then be determined from a time measurement of Tod and the register values as follows:
As the clock-triggered oscillator completes Nf cycles in the time interval Tod, the data-triggered oscillator must complete (Nf−1) cycles. Hence,
Tod=Nf·Tf=(Nf−1)·Ts (4)
Rearranging equation (4), the period of the data-triggered oscillator, Ts, may then be determined as:
The time value of Tod is usually very large compared to Tf. Thus, depending on measurement equipment, an accurate measure of Tod may not be easily obtainable, especially in the case of a small time step over a large measurement range. An alternative approach is to measure Tf indirectly using the counter output. As described previously, the counter is used to count the number of clock-triggered oscillator cycles during calibration as well as during measurement mode. Therefore, when the clock-triggered oscillator is running, Tf can be obtained by measuring the cycling time of one bit of the counter. In this case, Tf can be defined as follows:
where n is the bit position with respect to the least significant bit of the counter and Tc is the cycling time of the nth counter bit. Therefore, substituting equation (6) into equation (3) and rearranging yields the following expression for Tod:
The oscillation period of the data-triggered oscillator, Ts, may then be calculated using equation (5)
Since the measurement and calibration modes will experience the same delay difference between the clock and data signal paths, the time difference between the rising edges of the data and clock signals (i.e. jitter) may be computed in a straightforward manner. In this regard,
Tm=ΔT(Nm−No) (8)
where ΔT=Ts−Tf, and No is the number of counts recorded in calibration mode (and stored in a register) for the delay difference in signal paths between the clock and data signals.
Those skilled in the art will appreciate that in terms of an on-chip implementation of the present invention, a mode select pin on the chip may be used to toggle between a calibration and a measurement mode. In a simple example, a logical ‘1’ presented on the mode select pin may render the system into calibration mode while a logical ‘0’ may render the system into measurement mode. In calibration mode, the clock and data lines may be tied together using a suitable switching block and an output controller may be used to control the loading of various registers with count values Nm, Nd recorded by the counter at first and second instances of a change in phase. In measurement mode, then, the switching block will pass the data signal of interest to its respective oscillator in order that jitter measurements may be made. In this mode, the output controller will control the loading of a register with the appropriate count value Nm from the counter. In both calibration and measurement modes, the values of interest recorded by the counter and stored in the registers may be passed to a programmed processor to carry out the necessary calculations defined by the preceding equations.
It is well known that test time is an important criteria when quantifying the performance of a measurement device. Accordingly, the required test time of the component-invariant VDL of the present invention will now be compared with that of a full VDL.
For a full VDL, the required test time, Ttest, to collect all the CDF data will be roughly equal to:
Ttest≈Tclk×Nsample+Δτ×Nstage (9)
where Tclk is the clock period, Nsample is the number of samples taken, Δτ is the time resolution of the complete VDL and Nstage is the number of stages used in the VDL. For example, using a clock frequency Tclk=1 ns and assuming the number of samples to be collected is Nsample=5000 with a resolution of τs=1 ps and a measurement range of 0.5 ns (i.e. half of the clock period), the number of stages needed is Nstage=500. Then, using equation (9), the required test time, Ttest, will be approximately 2.5 μs.
For the component-invariant VDL structure of the present invention, assuming jitter is uncorrelated with the clock signal, the average test time can be estimated by taking the mean of the respective maximum and minimum test times per sample. It is obvious that the test time per sample will be at a maximum when the clock-triggered oscillation signal and the data-triggered oscillation signal differ by almost one full clock-triggered oscillation cycle, Tf. Similarly, the test time per sample will be at a minimum when the data-triggered oscillation signal and the clock-triggered oscillation signal are aligned such that it only requires one clock-triggered oscillation cycle to obtain a phase change. Accordingly, the maximum test time can be estimated to be:
where Ttest is the test time, Ts is the period of the data-triggered oscillation signal, Tf is the period of the clock-triggered oscillation signal and ΔT is the time resolution of the component invariant VDL. Since Tf≈Ts, the maximum test time can be simplified to:
Therefore, the average test time per sample is:
For an oscillation period of Tf=0.5 ns (i.e. measurement range of 0.5 ns) and the number of samples to be collected being Nsample=5000 with a resolution of ΔT=1 ps, a rather large test time of Ttest≈1.25 ms is required. Therefore, the single component-invariant VDL approach of the present invention clearly leads to longer test times when compared to the full VDL approach. However, as will be seen, one way to reduce the test time using the component-invariant VDL approach of the present invention is to incorporate additional component-invariant VDL stages.
With the data-triggered oscillation frequency set below the clock-triggered oscillation frequency, a time-grid 300 of data-triggered oscillation signals will result as shown in FIG. 10. In this figure, a clock-triggered oscillation signal 340 is shown along with three data-triggered oscillation signals. Here, for example, a first data-triggered oscillation signal 310 may correspond to the case where a data signal is delayed by one buffer, a second data-triggered oscillation signal 320 may correspond to the case where the data signal is delayed by two buffers and a third data-triggered oscillation signal 330 may correspond to the case where the data signal is delayed by three buffers. In a similar manner to the single component-invariant VDL structure of
For jitter measurement applications, the arrayed structure of
Phase differences between any of the data-triggered oscillators do not have to be matched, since calibration can be performed separately on each component-invariant VDL circuit. For the same reasons, the frequencies of oscillation for each of these data-triggered oscillators do not, likewise, have to be exactly equal.
However, since more than one phase detector is necessary, a controller will be required to identify the earliest detection of a change of phase. In this regard,
The calibration process for the arrayed component-invariant VDL will be exactly the same as that described for the single component-invariant VDL structure (FIG. 7), provided one calibrates each data-triggered oscillator separately with respect to the clock-triggered oscillator. For example, during calibration mode, a control signal Ci of the ith data-triggered oscillator should be set to a logical ‘1’ to enable the ith data-triggered oscillator. At this time, all other control signals, Cj (i≠j), should be set to a logical ‘0’ to disable the other data-triggered oscillators. During measurement mode, all control signals, Ci, j, should be set to logical ‘1’.
Since the efficiency of the test time reduction depends on the time-grid location, if N component-invariant VDLs are added to the array to provide an optimal time-grid, the average test time per sample is reduced to:
where Ttest is the test time per sample, Tf is the period of the clock-triggered oscillator, ΔT is the time resolution of the component-invariant VDL and N is the number of data-triggered oscillators.
It will be appreciated that an “OR” gate with a large number of inputs will be required if many data-triggered oscillators are employed in the design. However, since the test time is reduced by a factor of N, if N oscillators are added to the array, only a few data-triggered oscillators are required to produce a “time grid” fine enough to reduce the test time significantly. Note also that the circuit for an arrayed VDL configuration must be capable of identifying which particular data-triggered oscillator led to detection of a first occurrence of a phase change. This can easily be obtained by feeding the output of each phase detector circuit into the counter as additional most significant bits. In other words, the most significant bits of the counter will then contain enough information to identify which data-triggered oscillator corresponds to first detection of a change of phase.
As an example implementation, a three oscillator structure (i.e. one clock-triggered oscillator and two data-triggered oscillators) was implemented on an Altera FPGA. The whole design fit onto a 128 macrocell FPGA. The oscillation frequency of the clock-triggered oscillator was found to be 1.23 MHz, corresponding to a period of 81.6 ns. The oscillation period of the two data-triggered oscillators were found to be 81.03 ns and 80.38 ns. This gave rise to a timing resolution of 0.566 ns in one case, and 1.22 ns, in the other. It should be noted that these particular results are strongly dependent on the physical location of the macrocell in the FPGA. That is, if one were to exercise greater control over the cell placement, a higher timing resolution would be expected.
To test the above circuits, a Teradyne A567 tester was used to generate a 2 MHz repetitive data signal with a jitter component having Gaussian statistics. The jitter was designed to have zero mean, an RMS value of 1.03 ns and an 8 ns peak-to-peak value. The component-invariant VDL with a 0.566 ns timing resolution was then used to measure the characteristics of this signal with 1500 samples, the results of which are displayed in
A second test was run using the component-invariant VDL that had a 1.22 ns timing resolution. In this case, the jitter was designed to have an RMS value of 2.06 ns and a 16 ns peak-to-peak value. The results gathered in this second case are shown in
To illustrate the test time reduction that is possible when an array of component-invariant VDL structures are utilized, Table 1 below summarizes the test time required for each of two VDLs tuned to 0.5466 ns and 1.22 ns timing resolution, and also for when both VDLs are utilized during the same timing measurement. As is clearly evident in the case cited, when the two VDLs are combined, a reduction in test time is achieved. Since the efficiency of the time reduction depends on the time grid location of the VDLs, if one were to exercise greater control over the cell placement, then a higher efficiency in test time reduction would be expected.
Table 1: Test Time Reduction
Peak-to-peak Jitter of 45 ns
The component-invariant VDL circuit of the present invention was implemented in a 0.18 μm CMOS process. The expected time resolution was of the order of 10 ps. One component-invariant VDL occupied an area of 0.12 mm2. Since the design is relatively small, it is believed that numerous jitter measurement test cores can be constructed and placed on the same die.
To conclude, in recent years, much effort has been placed on improving the performance of timing and jitter measurement devices using Delay Locked Loop (DLL) and Vernier Delay Line (VDL) techniques, However, these approaches require highly matched elements in order to reduce differential non-linearity timing errors. In an attempt to reduce the requirement on element matching, the component-invariant VDL technique of the present invention enables the measurement device to he synthesized from an RTL description. Furthermore, the method of the present invention also reduces test time at the expense of more hardware, as test time is an important consideration during a production test.
The embodiment(s) of the invention described above is(are) intended to be exemplary only. The scope of the invention is therefore intended to be limited solely by the scope of the appended claims.
This application is based on, and claims benefit under 35 U.S.C. 119(e) of, U.S. patent application Ser. No. 60/278,441, filed Mar. 26, 2001.
Number | Name | Date | Kind |
---|---|---|---|
4164648 | Chu | Aug 1979 | A |
5293520 | Hayashi | Mar 1994 | A |
6295315 | Frisch et al. | Sep 2001 | B1 |
Number | Date | Country | |
---|---|---|---|
20030006750 A1 | Jan 2003 | US |
Number | Date | Country | |
---|---|---|---|
60278441 | Mar 2001 | US |