[go: up one dir, main page]

WO2001069328A2 - High resolution time-to-digital converter - Google Patents

High resolution time-to-digital converter Download PDF

Info

Publication number
WO2001069328A2
WO2001069328A2 PCT/CA2001/000364 CA0100364W WO0169328A2 WO 2001069328 A2 WO2001069328 A2 WO 2001069328A2 CA 0100364 W CA0100364 W CA 0100364W WO 0169328 A2 WO0169328 A2 WO 0169328A2
Authority
WO
WIPO (PCT)
Prior art keywords
time
signal
oscillators
state
delay
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CA2001/000364
Other languages
French (fr)
Other versions
WO2001069328A3 (en
WO2001069328A8 (en
Inventor
Sassan Tabatabaei
Andre Ivanov
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vector 12 Corp
Original Assignee
Vector 12 Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vector 12 Corp filed Critical Vector 12 Corp
Priority to AU2001242171A priority Critical patent/AU2001242171A1/en
Publication of WO2001069328A2 publication Critical patent/WO2001069328A2/en
Publication of WO2001069328A3 publication Critical patent/WO2001069328A3/en
Priority to US10/244,084 priority patent/US20030076181A1/en
Priority to US10/244,085 priority patent/US6754613B2/en
Anticipated expiration legal-status Critical
Publication of WO2001069328A8 publication Critical patent/WO2001069328A8/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G04HOROLOGY
    • G04FTIME-INTERVAL MEASURING
    • G04F10/00Apparatus for measuring unknown time intervals by electric means
    • GPHYSICS
    • G04HOROLOGY
    • G04FTIME-INTERVAL MEASURING
    • G04F10/00Apparatus for measuring unknown time intervals by electric means
    • G04F10/06Apparatus for measuring unknown time intervals by electric means by measuring phase

Definitions

  • This invention relates to time-to-digital conversion
  • TDC time to digital conversion methods and apparatus which use a differential delay between frequency-mismatched oscillators to measure time between events to high resolution.
  • the invention has particular application in measuring jitter characteristics in high frequency digital signals.
  • Specific embodiments of the invention are useful for on board self testing of timing circuits such as phase-locked loops ("PLLs”), delay- locked loops (“DLLs”), and serialiser/deserializers .
  • PLLs phase-locked loops
  • DLLs delay- locked loops
  • serialiser/deserializers serialiser/deserializers .
  • Another aspect of the invention relates to a finely tunable digital ring oscillator suitable for use in TDC systems according to the invention.
  • Jitter is an important characteristic of high-speed digital signals generally. While there exist sophisticated stand-alone devices capable of measuring jitter in highspeed digital signals, such devices tend to be extremely complicated and expensive. Jitter testing typically requires a long test time. Further, where the signal to be tested is internal to an integrated circuit, it may not be practical to use a stand-alone device to test for jitter.
  • Timing circuits such as phase-locked loops, delay- locked loops, and serializers/deserializers are used widely in many high-speed integrated circuits. These circuits are used in many applications. Some examples are synthesizing clock signals, recovering data, realigning clock edges and timing the transmission of data.
  • jitter varies depending on the field of application.
  • jitter is defined as the variation of the clock period, known as "cycle-to-cycle” or “period jitter”.
  • cycle-to-cycle or “period jitter”.
  • period jitter Such variation is best modelled as a frequency modulation of the clock signal. More formally period jitter can be expressed as :
  • V F jr M M ( t ) sgn [ s dt (i)
  • V FM is the clock signal
  • T 0 is the average clock period
  • T ⁇ (t) is the frequency modulating jitter signal
  • sgn [x] is the sign function:
  • period jitter samples are collected by measuring the duration of each period of the signal INI .
  • M jitter samples are collected to calculate jitter characteristics, such as rms, peak-to-peak, or frequency components.
  • the rms jitter may be obtained by performing the following computations:
  • Intrinsic jitter is defined as the jitter at the output of the PLL when the input is jitter- free. This is often expressed in terms of unit interval UI , which is defined as the period of a signal with a frequency equal to the average frequency of the original signal . For example in a 155.54 MHz SONET network application, 1 UI is 6.429 ns.
  • Jitter transfer is defined as the ratio of the output jitter to input jitter of the PLL as a function of frequency.
  • Jitter tolerance is the peak-to-peak amplitude of the sinusoidal jitter applied to the input of the PLL which causes ldB power penalty (in terms of bit error rate) . - A -
  • Jitter specifications are typically the single most important set of specifications for a high-speed timing circuit. Jitter specifications include intrinsic jitter, jitter transfer functions and jitter tolerance. Testing such a circuit to determine whether its actual jitter characteristics meet its specifications is a significant problem.
  • Custom Integrated Circuits Conf. pp. 210-213, 1997 propose methods for efficient fault simulation of PLLs and suggest lock frequency range measurement for PLL testing.
  • 5,663,991 and 5,889,435 disclose on-chip jitter measurement techniques for testing PLL circuits.
  • the BIST circuits proposed in these patents are mixed-signal and their resolution is limited to one gate delay. This is inadequate for testing high-speed PLLs.
  • FIG. 1A, IB and 1C illustrate respectively how period, accumulative jitter, and relative itter can be measured through the use of a TDC 10.
  • TDC circuits have been used in physics experiments. It has been suggested that such TDC circuits could be used in jitter measurement.
  • Existing TDC circuits are, however, mixed-signal, require custom design and layout, occupy large areas, do not provide high resolution, or rely heavily on matching of the elements .
  • jitter can be defined as the short-term variations of a digital signal's significant instants, e.g. rising edges, from their ideal position in time. Such jitter is often denoted as "accumulative jitter” and is described as a phase modulation of a clock signal.
  • accumulative jitter In a clock synthesis circuit, where the absolute jitter is important, often a jitter-free (practically low-jitter) reference signal is used for jitter measurement. In such a case, the difference between the position of corresponding edges of the signal (INI) relative to the reference clock (REF) indicates the jitter.
  • the relative jitter between two signals is of interest if neither of the two signals is a jitter-free signal, e.g. in data recovery circuits.
  • Fig. 1C shows how relative jitter between the edges of signal INI and IN2 can be measured using a TDC.
  • a classic method of measuring a time interval is to start a counter at the beginning of the interval and stop it when the interval ends. The resulting number in the counter will be proportional to the time interval.
  • the resolution in this method is the period of the clock controlling the counter.
  • a clock frequency of 50 GHZ would be needed. This method is not suitable for on-chip applications where the maximum clock available is in the range of a few hundreds of MHz.
  • DLL and the controlled delay elements are analog.
  • a fully digital TDC could be made by eliminating the DLL and using digital gates as delay elements.
  • the trade-off is decreased accuracy due to the quantization error associated with calibration reference inputs.
  • the resolution T ⁇ of such methods without time interpolation is limited to one gate delay at best.
  • the smallest gate delay is approximately 50 ps, whereas a resolution and precision of about 20ps is required for functional testing of high-speed PLLs with 155 MHz center frequency. Also, since this delay is dependent on process variations and temperature, the resolution in such schemes is not controllable.
  • Kalisz et al . Field programmable gate array based time to digi tal converter wi th 200 ps resolution, IEEE Trans, on Instrumentation and Measurement, v. 46, pp. 51- 55, February, 1997 propose a differential delay technique based on using two delay chains.
  • One chain is composed of gates (each with a delay of ⁇ g .
  • the other chain is made of latches (each with a delay of ⁇ x ) .
  • the time quantization step is the difference between the delay of the delay elements in the two delay chains.
  • a difficulty with this technique is that, since gates and latches are very different structures, ⁇ g and ⁇ ⁇ are likely to differ significantly. This makes it difficult to achieve high resolution (in the range of 20 ps or less) .
  • the TDC comprises a timing circuit which includes first and second digital oscillators.
  • the oscillators produce first and second clock signals respectively.
  • the first and second oscillators have different periods.
  • the invention uses the accurately known difference between the periods of the first and second oscillators to make high resolution time measurements.
  • at least one of the oscillators comprises a plurality of digitally controllable delay elements. The delay elements, when activated alter the period of the oscillator .
  • the TDC also includes a coincidence detector connected to generate a coincidence signal when a reference point m the first clock signal has a known time relationship to a corresponding reference point on the second clock signal.
  • the coincidence detector comprises a flip flop which is set when a rising edge of the first clock signal coincides with a corresponding rising edge of the second clock signal .
  • a first counter is connected to count a number of cycles of the first oscillator until the coincidence detector generates the coincidence signal .
  • the number is related to the length of an interval between starting the first oscillator and starting the second oscillator.
  • a resolution adjustment circuit is connected to start the first and second oscillators at times separated by a known interval compare the number to a threshold and, if the number is not at least equal to a threshold value altering the period of at least one of the oscillators by activating or deactivating one or more of the digitally controllable delay elements.
  • the first and second oscillators are switchable between a first state wherein a difference in periods of the first and second signals is T ⁇ 1 and a second state wherein a difference in periods of the first and second signals is T ⁇ 2 where T ⁇ 2 ⁇ T ⁇ 1 ; and the time to digital converter comprises a resolution switching control circuit connected to switch the timing circuit from its first state to its second state, a second counter connected to count a number of edges of the first signal between a START signal and a time when the timing circuit is switched from its first state to its second state, the first counter connected to count a number of edges of the first signal between the time when the timing circuit is switched from its first state to its second state and the time when coincidence signal is generated.
  • a time to digital converter comprising a timing circuit comprising first and second digital oscillators producing first and second clock signals respectively.
  • the first and second oscillators are switchable between a first state wherein a difference in periods of the first and second signals is T ⁇ l and a second state wherein a difference in periods of the first and second signals is T ⁇ 2 where T ⁇ 2 ⁇ T ⁇ l.
  • a resolution switching control circuit is connected to switch the timing circuit from its first state to its second state when the reference point of the first clock signal approaches the known time relationship with the reference point of the second clock signal .
  • a coincidence detector connected to generate a coincidence signal when a reference point in the first clock signal has a known time relationship to a corresponding reference point on the second clock signal.
  • a first counter is connected to count a number of edges of the first clock signal between the time when the timing circuit is switched from its first state to its second state and the time when the coincidence signal is generated and a second counter is connected to count a number of edges of the first signal between a START signal and a time when the timing circuit is switched from its first state to its second state.
  • the resolution switching control circuit comprises a delay element connected to provide a delayed first clock signal and a coincidence detector connected to generate a coincidence signal when a reference point in the second clock signal has a known time relationship to a corresponding reference point on the delayed first clock signal .
  • the delay element has a first state resulting in a first delay of the delayed first clock signal and a second state resulting in a second delay of the delayed first clock signal different from the first delay.
  • a further embodiment of the invention provides a digital timing circuit for generating first and second digital output signals having first and second periods.
  • the timing circuit comprises a first ring oscillator triggered by a first control signal and generating a first clock signal; and a second ring oscillator triggered by a second control signal and generating a second control signal.
  • At least one of the oscillators comprises a plurality of digitally controllable delay elements. The delay elements, when activated alter the period of the oscillator.
  • the timing circuit comprises a coincidence detector connected to generate a coincidence signal when a reference point in the first clock signal has a known time relationship to a corresponding reference point on the second clock signal.
  • a counter is connected to count a number, N, of cycles of the first oscillator between the first control signal and the coincidence signal.
  • a resolution adjustment circuit connected to generate the first and second control signals at times separated by a known interval, compare the number ⁇ to a threshold Nth and, if N is not at least equal to a threshold value altering the period of at least one of the oscillators by activating or deactivating one or more of the digitally controllable delay elements.
  • a still further aspect of the invention provides a method for producing first and second digital signals having first and second periods.
  • the method comprises providing a pair of digital oscillators; starting the first oscillator and starting the second oscillator a time period Td after starting the first oscillator; counting a number N of cycles of the first oscillator until a reference point on the first signal coincides with a corresponding reference point on the second signal; if N is not at least equal to a threshold value altering the period of at least one of the oscillators and repeating these steps until N is at least equal to the threshold value.
  • varying a period of at least one of the oscillators comprises changing a state of a controllable delay element.
  • a yet further aspect of the invention provides a method for time to digital conversion comprising providing first and second digital oscillators having periods which differ by an amount T ⁇ wherein the first and second oscillators are switchable between a first state wherein a difference in periods of the first and second signals is T ⁇ 1 and a second state wherein a difference in periods of the first and second signals is T ⁇ 2 where T ⁇ 2 ⁇ T ⁇ 1 ; starting the first oscillator upon the occurrence of a first control signal and starting the second oscillator on the occurrence of a second control signal a time T d later; when the reference points occur within a known time delay of one another switching the oscillators to their second state; counting a number N c of edges of the first clock signal which occur between the first control signal and a time when the oscillators are switched to their second state; and, counting a number N F of edges of the first clock signal which occur between the time when the oscillators are switched to their second state and a time when the reference points have a known
  • the method may include estimating a noise floor for the first and second oscillators by acquiring a first set of the numbers N F and N c for T d having a known value Tref while the known time delay has a first value and a second set of the numbers N F and N c for T d having a known value Tref, or a known multiple of T ref , while the known time delay has a second value, averaging N F and N c for each set of measurements and computing the noise floor from the average values of N F and N c for the two sets of measurements .
  • Another aspect of the invention provides a frequency tunable digital ring oscillator comprising a closed signal path defined at least in part by a plurality of series connected delay elements each having an input and an output the delay elements comprising at least one digitally controllable delay element.
  • the digitally controllable delay element comprises a gate connected in series with the signal path and a tri-state device having an input connected to an output of the gate and a control connection connected to a control device.
  • the tri-state device may be a tri-NOT gate or a tri-state buffer, for example.
  • FIGS. 1A, IB and 1C are schematic block diagrams which illustrate respectively how period, accumulative jitter, and relative jitter can be measured through the use of a TDC;
  • Figure 2 is a block diagram illustrating major components of a jitter measurement circuit according to the invention.
  • FIG. 3 is a block diagram of a TDC circuit according to the invention.
  • Figure 4A is a schematic circuit diagram of a simple single resolution time quantizer according to the invention.
  • Figure 4B illustrates waveforms of digital signals at various locations in the time quantizer of Fig. 4A;
  • Figure 5A is a schematic circuit diagram of a dual resolution time quantizer according to the invention
  • Figure 5B illustrates waveforms of digital signals at various locations in the time quantizer of Fig. 5A;
  • Figure 6A is a schematic circuit diagram of a range extender circuit
  • Figure 6B illustrates waveforms of digital signals at various locations in the range extender circuit of Fig. 6A;
  • Figure 7A is a schematic circuit diagram of an alternative range extender circuit
  • Figure 7B illustrates waveforms of digital signals at various locations in the range extender circuit of Fig. 7A;
  • Figure 8 is a schematic diagram of an automatic resolution adjustment circuit
  • Figure 9A is a TATB checker circuit
  • Figures 9B and 9C are waveforms at locations in the circuit of Figure 9A for T A > T B and T A ⁇ T B respectively;
  • Figure 10A is an alternative TATB checker circuit
  • Figure 10B illustrates waveforms of digital signals at various locations in the TATB checker circuit of Fig. 10A;
  • Figure 11A is a flow chart illustrating an exhaustive search method for tuning a pair of oscillators to have a small period difference where controllable delay elements in the oscillators have fixed steps;
  • Figure 11B is a flow chart illustrating a directed search method for tuning a pair of oscillators to have a small period difference where controllable delay elements in the oscillators have fixed steps;
  • Figure 12 is a flow chart illustrating an exhaustive search method for tuning a pair of oscillators to have a small period difference where controllable delay elements in the oscillators have incrementally varying steps
  • Figure 13 is a flow chart illustrating a semi- exhaustive search method for tuning a pair of oscillators to have a small period difference where controllable delay elements in the oscillators have incrementally varying steps
  • Figure 14 is a flow chart illustrating a fast search method for tuning a pair of oscillators to have a small period difference where controllable delay elements in the oscillators have incrementally varying steps
  • Figures 15A through 15E are schematic diagrams illustrating various types of load elements and their simplified models
  • Figure 16 is a schematic diagram of a circuit for testing the effect of control voltage variations on time delay provided by a controllable delay element
  • Figures 17A and 17B are schematic diagrams of controllable delay elements based on a multiplexer
  • Figures 18A, 18B and 18C are schematic views of controllable delay elements in which a variable load is applied by the input of a tri-state device;
  • Figures 19A and 19B are schematic diagrams illustrating the structure of typical tri-NOT gates
  • Figures 20A, 20B and 20C are schematic views of controllable delay elements having tri-state devices connected in parallel with other gates;
  • Figure 21 is a schematic view of a selection circuit for providing a reference interval
  • Figure 22 is a schematic view of a jitter generator circuit
  • Figure 23 is a schematic view of a configuration of edge sample suitable for cycle-to-cycle jitter measurement ;
  • Figure 24A is a schematic view of a configuration of edge sample suitable for relative jitter measurement
  • Figure 24B is a timing diagram illustrating significant signals in the circuit of Figure 24A;
  • Figure 25 is a top level diagram of various components in an example embodiment of a jitter measurement system according to the invention
  • Figure 26 is a schematic diagram of the time quantizer circuit of the jitter measurement system of Figure 25;
  • Figure 27 is schematic diagram of the RE_TAB block of Figure 25;
  • Figures 28 and 29 are schematic diagrams of 3 -bit and 6-bit comparators used in the RE_TAB block of Figure 27;
  • Figure 30 is a schematic view of a calibration interval generator circuit of the jitter measurement system of Figure 25;
  • Figure 31 is a schematic view of a TATB checker circuit for the jitter measurement system of Figure 25;
  • Figure 32 is a timing diagram for some signals present during a TATB check and resolution adjustment process .
  • edge sampler 26 edge sampler controller
  • delay element resolution control 54 delay line circuit , 56A flip flop 58 counter B counter 60 multiplexer delay elements 70A counters 70B pulse 72 comparator flip flop 74A flip flops 74B gate 76A, 76B delay elements
  • t refers to an instant in time
  • T refers to a time interval
  • refers to a time delay associated with the operation of a physical structure, such as a gate or a latch.
  • t refers to an instant in time
  • T refers to a time interval
  • refers to a time delay associated with the operation of a physical structure, such as a gate or a latch.
  • T B the period of clkB; t x(i) - the time at which the i th rising edge of clkX
  • T ⁇ T A -T B the time quantization step
  • N - a value generated by the time quantizer 30 from which T d can be determined
  • M A the output state of counter CntrA; and, • M B - the output state of counter CntrB.
  • FIG. 1 shows a digital circuit 20 according to the invention.
  • Circuit 20 includes a high-resolution time-to-digital converter 22.
  • TDC 22 measures the duration of a time interval T d between a start event and a stop event.
  • an edge sampler 24 generates the start and stop events.
  • the start and stop events may respectively be, for example, rising edges of START and STOP signals.
  • Edge sampler 24 is controlled by an edge sampler controller 26.
  • edge sampler 24 selects the appropriate START and STOP edges and passes them to TDC 22.
  • Edge sampler 24 and edge sampler controller 26 can preferably be configured for measuring various jitter specifications as described in more detail below.
  • FIG. 3 illustrates a circuitry for one embodiment of TDC 22 suitable for use in this invention.
  • TDC 22 includes a time quantizer 30 which quantizes time with a time resolution of T ⁇ .
  • a resolution adjustment block 32 controls T ⁇ to be less than a programmable threshold.
  • a range extender block 34 extends the maximum time interval that time quantizer 30 is capable of measuring.
  • a calibration circuit 36 is used to obtain a precise estimate of T ⁇ with reference to a low-jitter reference clock.
  • a TDC controller 38 controls the overall operation of TDC 22. [5] Initially the resolution of time quantizer 30 is adjusted by resolution adjustment block 32 and time quantizer is calibrated.
  • edge sampler controller 26 causes edge sampler 24 to generate START and STOP signals for a signal of interest and to pass pairs of START and STOP signals as jitter samples to time quantizer 30 for measurement.
  • Time quantizer 30 measures values related to the intervals between the START and STOP signals. These measured values can be used to determine jitter characteristics of the signal of interest, as described below.
  • Time quantizer 30A A simple single resolution time quantizer 30A is shown in Figure 4A.
  • Time quantizer 30 may be constructed to provide multiple, preferably two, different resolutions.
  • Figure 5A shows a time quantizer 30B which provides coarse and fine resolutions.
  • time quantizer 30A includes a pair of oscillators 40A and 40B (generally oscillators 40) .
  • Each oscillator 40 comprises a closed signal path along which a plurality of delay elements 41 are connected in series.
  • Oscillators 40A and 40B have slightly different periods.
  • Time quantizer 30 uses a differential method to obtain high resolution. This reduces the need for circuit matching.
  • the time quantizer 30A of Figure 4A comprises oscillators 40, a coincidence detector 42 (in the illustrated embodiment, coincidence detector 42 comprises a flip flop 44) and a counter 46.
  • the resolution of time quantizer 30A is determined by T ⁇ .
  • the periods of oscillators 40A and 40B are set to be very slightly different so that T ⁇ is a short time. T ⁇ may be, for example, about 20 ps .
  • T A is slightly larger than T B .
  • FIG. 8 Figure illustrates waveforms involved in the operation of time quantizer 30A.
  • Oscillators 40A and 40B start oscillating on the rising edges of START and STOP respectively.
  • Counter 46 starts counting on the rising edge of STOP.
  • Coincidence detector 42 determines when reference points on the waveforms of clkA and clkB are in a known temporal relationship. In the illustrated embodiment the reference points are the rising edges of clkA and clkB.
  • Flip flop 44 samples clkB at the rising edge of clkA. If flip flop 44 detects that clkB has a value of HIGH then flip flop 44 sets EOC_flag.
  • EOC_flag will be low for the first cycle of clkB. However, in each successive cycle of clkB, the rising edge of clkB gets closer to the corresponding rising edge of clkA by an amount T ⁇ . Eventually the N- th rising edge of clkB will precede the corresponding rising edge of clkA by at least the setup time of flip flop 44. When this occurs, EOC_flag changes state .
  • EOC_flag is set HIGH.
  • the value N in counter 46 indicates the value of T d .
  • EOC_flag also initiates processing of data and prepares TDC 20 to measure another time interval .
  • coincidence detector 42 is constructed to avoid logic errors which might be caused by metastable behaviour of flip flop 44. Metastable behaviour may occur if, for some value of T d , the interval between corresponding rising edges of clkA and clkB is within the metastability window of flip flop 44. Under these circumstances it may take significantly longer than ⁇ CLK _ to . Q for the output EOC_DFF to switch to its HIGH state. If counter were driven directly by the EOC_DFF signal output by flip flop 44 then this could cause an unknown clock state for counter 46.
  • coincidence detector 42 comprises a triple flip flop synchronizer comprising flip flops 44, 44A and 44B.
  • the output of flip flop 44B provides the EOC_flag signal.
  • metastable behaviour of flip flop 44 prevents EOC_DFF from settling to its HIGH value after the Nth rising edge of clkB then the decision to end the measurement will be made at the N+l th rising edge of clkB. This is because the relative delay between the N+l th edges of clkA and clkB is greater than the delay between the Nth edges of clkA and clkB by T ⁇ , which is much greater than the metastability window of flip flop 44.
  • the metastability window of flip flops in some 0.35 ⁇ m CMOS digital cell libraries is less than 0.01 ps . Since the metastability window of flip flop 44 is typically extremely short, it will not significantly affect the precision with which jitter can be measured.
  • T NT T d+ T c+ T Q+ T R ( 4)
  • T c is a constant offset time
  • T Q is the quantization error ( 0 ⁇ T o ⁇ T ⁇ )
  • T R is a random error due to intrinsic jitter of gates, flip flops and other components of TDC 20.
  • T c 0
  • T A 4 ns then the measurement time will be approximately 800 ns .
  • time quantizer 30A has a limited valid measurement range. From the waveforms of Figure 4B it can be seen that if: T d were larger than T A -DT B , where D is the duty cycle of clkB, then flip flop 44 will sample a HIGH value on the second rising edge of clkA. This would signal an end of conversion prematurely.
  • Range extender block 34 inhibits the operation of coincidence detector 42 until time quantizer circuit 30A is in its valid measurement range.
  • a NAND gate 48 is connected between flip flop 44 and counter 46. NAND gate 48 prevents EOC_flag from being applied to preserve the value in counter 46 until range extender block 34 has generated a RE-flag signal.
  • Range extender block 34 may take various forms.
  • One type of range extender uses a circuit which has delay elements in an input signal path.
  • a range extender 34A which has this construction is shown in Figure 6A.
  • Another type of range extender uses a circuit which has delay elements in a clock signal path.
  • a range extender 34B which has this construction is shown in Figure 7A.
  • Range extender circuit 34A comprises four flip flops, two k-bit counters, a it-bit comparator, and two delay elements.
  • Figure 6B is a waveform diagram which illustrates signals at various points in range extender circuit 34A.
  • circuit 43A uses a flip flop 73.
  • Flip flop 73 prevents the RE_flag signal from being set until the first rising edge of clkA has occurred, thereby ensuring that counter 70A is ahead of counter 70B.
  • M B may become equal to M A for a short period after a rising edge of clkB and before the next rising edge of clkA arrives. This may cause comparator 72 to generate a short pulse 71. Pulses 71 become wider at successive rising edges of clkB. When pulses 71 become sufficiently wide, a pulse 71 can be sampled at the same clkA rising edge by both of flip flops 74A and 74B. When all of flip flops 74A, 74B and 73 are set then the output of AND gate 75 changes state to cause the RE-flag to be set.
  • range extender circuit 34A operates asynchronously, a time diversity sampling technique is used to ensure valid sampling of the output of comparator 72.
  • counter 70A registers another count. For a short period after the rising edge of clkA, the output of counter 70A may have a transient random value. This random value, if equal to M B , may cause comparator 72 to generate a short pulse, or glitch 77A
  • Delay elements 76A and 76B delay the application of the output of comparator 72 to flip flops 74A and 74B.
  • the signals cmp_outl and cmp_out2 which are applied to flip flops 74A and 74B respectively are delayed by different amounts ⁇ 2 and ⁇ 2 + r 2 . Choosing a delay element
  • the glitch width can be expected to be about % of the interval ⁇ CLK . to . Q , where ⁇ CLK _ to _ Q is the worst-case CLK- to-Q delay for an output bit of counter 70B. This assumes that the worst case process variation of ⁇ CLK . to . Q is less than about 1/4 ⁇ CLK _ to . Q .
  • the expected worst case process variation of r CLK _ to - 0 may be determined by performing a monte-carlo analysis of the components of counter 70B.
  • flip flops 74A and 74B must be set before the output of AND gate 75 will change state to set RE_flag.
  • Delay element 76A causes flip flops 74A and 74B to sample the output of comparator 72 at different times. As the rising edges of clkA and clkB become closer together, the pulses output by comparator 72 become longer in duration. Eventually the pulses are long enough in duration to trigger both of flip flops 74A and 74B on one rising edge of clkA.
  • Delay element 76A is selected to provide a value of r 2 such that when both of flip flops 74A and 74B are triggered, t B (lj - t A ) is within the valid range described above.
  • ⁇ ⁇ may be selected as follows:
  • T l A ⁇ clkB-to-cmp_outl ⁇ C + ⁇ Xetup (6)
  • ⁇ clkB _ to _ cmp outl is the delay between a rising edge of clkB and a corresponding rising edge of cmp_outl
  • T setup is the maximum setup time for flip flop 44.
  • range extender block 34 does not affect the ultimate precision or accuracy of any measurements made since it merely ensures that the i th rising edges of clkA and clkB are close enough for measuring by time quantizer 30. Range extender block 34 does not interfere with the path of signals clkA and clkB to E0C_flag. From Figure 6B it can be seen that the range extension provided by range extender circuit 34A is as follows :
  • Figure 7A shows an alternative range extender circuit 34B.
  • the core of circuit 34B comprises k-b ⁇ t counters 70A and 70B which have outputs connected to a k-bit comparator 72.
  • the output of comparator 72 is connected to the D inputs of flip flops 78A and 78B.
  • Delay elements 76C and 76D are placed in the clock paths of counter 70A and flip flops 78A and 78B. These delay elements provide signals clkAl and clkA2 which are delayed versions of clkA.
  • Circuit 34B has the advantage that the desired values for the time delays produced by delay elements 76C and 76D do not depend on other time delays in the circuit. This feature makes range extender circuit 34B especially well adapted for field programmable gate array (“FPGA ”) implementations of the invention.
  • FPGA field programmable gate array
  • counters 70A and 70B are initialized to values which differ by 1. Preferably these counters are initialized to values of 1 and 0 respectively.
  • Counter 70A counts rising edges of clkA2 and counter 70B counts rising edges of clkB. From Figure 7B it can be understood that the number in counter 70A remains larger than the number in counter 70B as long as ⁇ A2 d ) - ⁇ B (i) > ⁇ A i + ⁇ A2i where ⁇ A1 and ⁇ A2 are the delays produced by delay elements 76C and 76D respectively.
  • RE_flag is set .
  • a dual threshold time quantizer 30B also has two oscillators 40. Oscillators 40A and 40B begin oscillating at the rising edges of START and STOP respectively.
  • oscillator 40A includes a delay element 50 which selectively provides either a shorter delay or a longer delay depending upon the value of a control signal, CRS_flag.
  • delay element 50 is set to provide a longer delay. This causes T ⁇ to have a relatively large value T ⁇ C .
  • control signal CRS_flag controls delay element 50 to provide a smaller delay. This reduces T ⁇ to a smaller value T ⁇ F .
  • T ⁇ C is in the range of 5 times to 30 times greater than T ⁇ F . Most preferably, T ⁇ C is approximately 10 times greater than T ⁇ F .
  • resolution control circuit 52 comprises a delay line 54 which produces a version of clkA delayed by an interval ⁇ f ⁇ ne at the clock input CLK of a flip flop 56.
  • clkB is connected to the D input of flip flop 56.
  • flip flop 56 changes state and CRS_flag is set.
  • a first counter 58 counts the number (N C0ARSE ) of cycles of clkA which occur during the first part of the measurement cycle.
  • a second counter 59 counts the number (N FINE ) of cycles of clkA which occur during the second part of the measurement cycle .
  • resolution control circuit 52 preferably comprises flip flops 56A and 56B.
  • Flip flops 56, 56A and 56B together comprise a triple flip flop synchronizer as described above .
  • Equation (8) If the error term in Equation (8) is negligible then the time required to take one measurement is given approximately by:
  • Preferably resolution control circuit 52 is constructed to allow the value of ⁇ f ⁇ ne to be varied.
  • delay line 54 comprises a multiplexer 60 which permits one or more delay elements 61 to be either included or not included in the signal path of delay line 54.
  • ⁇ f ⁇ ne has a value ⁇ f ⁇ neN .
  • ⁇ f ⁇ ne has a smaller value T fmeF - Tne ability to vary ⁇ f ⁇ ne permits the noise floor of time quantizer 30B to be estimated in the manner described below.
  • the time quantizer circuits described above rely on oscillators 40A and 40B having periods which differ by only a very small amount T ⁇ . Any mismatch in the gate delays or interconnect wiring between oscillators 40A and 4 OB can cause a significant increase in T ⁇ . The resolution and accuracy of the time quantizer are degraded if T ⁇ increases. The mismatch could also result in T B > T A . This would prevent the time quantizer from functioning properly.
  • Oscillators 40 are preferably constructed in a manner which permits T ⁇ to be set accurately. This may be done by constructing one or both of oscillators 40 using a plurality of controllable delay elements 41A.
  • Figure 8 shows a pair of oscillators 40 which each include a number of controllable delay elements 41A.
  • Each controllable delay element 41A includes a control line which controls the controllable delay element to provide either a longer delay or a shorter delay.
  • the controllable delay elements 41A are controlled digitally by a resolution adjustment controller 82 to achieve relative values for T B and T A such that T ⁇ is less than a threshold T th .
  • T th is selected to provide adequate resolution and is preferably user configurable. This threshold may be supplied to the circuit as a 16-bit digital number.
  • X CDE ⁇ CDE(l) " X CDE(0) (10) where T CDE (1) and ⁇ CDE (0) are the delays provided by the controllable delay element when it is in its longer delay state and its shorter delay state respectively.
  • Resolution adjustment controller 82 generates control signals for controllable delay elements 41A.
  • Resolution adjustment controller 82 searches for vectors a and B which yield an acceptable value for T ⁇ (i.e. T ⁇ ⁇ T th ) .
  • resolution controller 82 causes time quantizer 30 to measure (in a single resolution mode) two known time intervals T ref and 2 T ref .
  • the time intervals may be, for example, the period of accurately known reference signals.
  • the number of counts in counter 46 is obtained for each measurement and the numbers of counts are subtracted from one another to yield a difference N ⁇ . Assuming that measurement errors are negligible then N ⁇ and T ⁇ are related to one another by:
  • N ⁇ corresponds to a smaller T ⁇ .
  • N ⁇ must be larger than some corresponding value N th .
  • Resolution adjustment controller switches controllable delay elements 41A between their states until it finds a combination in which N ⁇ ⁇ N th .
  • the steps implemented by resolution adjustment controller to most efficiently seek appropriate vectors a and b will depend upon how much delay can be added by each controllable delay element 41A.
  • Oscillators 40 may be constructed so that all of controllable delay elements 41A are designed to be the same. Process variations will result in variations of the delays provided by the controllable delay elements 41A.
  • each controllable delay element 41A is constructed so that the nominal delay, T step , added by each controllable delay element is less than % T th . This can be done by choosing appropriate sizes for the components used in the controllable delay element 41A.
  • T ⁇ can be stepped in increments of T th , or less.
  • the initial difference between T A and T B is in the range of (- (n- 1 ) T th , % ⁇ n- l ) T th ) then there exist vectors a and B such that T ⁇ ⁇ T th .
  • T step ⁇ 1 ) ⁇ T step ⁇ T step(u) where T step(1) and T step(u) are the lower and upper 3 ⁇ thresholds of the probability density function (PDF) of T step (these thresholds may be estimated by performing monte-carlo simulations of loaded ring oscillators) .
  • PDF probability density function
  • T step(1) is small relative to T th then larger numbers of controllable delay elements 41A must be provided to ensure that a suitable value for T ⁇ can be obtained even if T A0 - T B0 is initially large.
  • oscillators 40 may be designed so that different controllable delay elements 41A provide different delays.
  • the delays are related to one another in an ascending series to provide resolution adjustment steps of different sizes.
  • 0 ⁇ ⁇ f ⁇ l is a constant and ⁇ CDEl is the delay added by an i th one of controllable delay elements of an oscillator 40.
  • oscillators 40 can be controlled to provide a value of T ⁇ smaller than T th .
  • the maximum size of the smallest step should be smaller than T th .
  • resolution adjustment controller may take advantage of the fact that both coarser and finer adjustment steps are available. This permits very fine resolutions (for example, resolutions on the order of 5 ps or less) to be achieved while reducing the average adjustment time.
  • a binary search algorithm is preferably used to select vectors a and B which provide a resolution T ⁇ ⁇ T th .
  • FIGS. 9A and 10A illustrate two alternative TATB checker circuits that may be used in practising this invention.
  • TATB checker circuit 84A includes a pair of flip flops 85, 86 and a counter 88. As the waveforms of Figure 9B illustrate, when T A ⁇ T B , flip flop 85 samples LOW until the i th rising edge of clkA matches that of clkB.
  • flip flop 86 samples a HIGH value after T C /T ⁇ cycles of clkA. Therefore flip flop 86 is set before flip flop 85.
  • Resolution adjustment controller 82 can check to ensure that T A ⁇ T B by monitoring the two flags EOC_flag and ERRl_flag which are set by the outputs of flip flops 85 and 86 respectively. While the condition T A ⁇ T B is being checked, the reset lines of flip flops 85 and 86 must be inactive. This is ensured in TATB circuit checker
  • OR gate 89 maintains the reset lines of flip flops 85 and 86 LOW while a check is in progress .
  • circuit 84A may share components with time quantizer 30.
  • flip flop 85 may be the same flip flop as flip flop 44 of Figure 4.
  • comparator 92 If the values in counters 90A and 90B become equal then comparator 92 generates a signal at its output which indicates that T A ⁇ T B .
  • the techniques for reliably detecting when the values in counters 90A and 90B are equal which are described above in respect of range extender circuits 34A or 34B are preferably also used in TATB circuit checker 84B.
  • the delayed clock signals clkAl and clkA2 from range extender circuit 34B are connected to the clock inputs of flip flops 93 and 94.
  • TATB circuit checker 84B may share components with other circuits which are not required to operate while a TATB check is being performed.
  • counter 90A may comprise at least 3 significant bits of counter 70A of Figure 4.
  • controllable delay elements 41A all provide substantially the same variation in T ⁇ then one method that can be implemented in resolution adjustment controller 82 for selecting vectors a and B is to perform an exhaustive search.
  • Resolution adjustment controller may comprise a 2n-bit state machine where n is the number of controllable delay elements 41A in each of oscillators 40A and 40B. n of the state machine's output bits are connected to the n controllable delay elements of oscillator 40A and the other n output bits are connected to the n controllable delay elements of oscillator 40B.
  • the state machine cycles through all possible combinations of a distinct vector a with a distinct vector B (in this case, two versions of a vector a are not considered distinct unless they have the different number of l's.
  • Figure 11A shows steps in one possible exhaustive search method 100A for selecting vectors a and B. If all distinct combinations of vectors a and B have been tried and no combination which provides an acceptable T ⁇ has been found then an error signal is generated.
  • Figure 11B may be used. Method 100B checks only distinct vectors a if T A ⁇ T B and checks only distinct vectors B if T A > T B . This reduces the number of combinations that must be checked.
  • oscillators 40 are constructed with controllable delay elements which are designed to add different delays when activated then the exhaustive search strategy becomes less practical because it requires a much larger number of combinations of vectors a and B to be checked. Up to 2 2n combinations may need to be checked in the worst case.
  • An exhaustive search can be implemented easily by providing a 2n-bit counter in resolution adjustment controller 82 as shown in Figure 12.
  • a semi -exhaustive search can be performed with the similar hardware.
  • the semi -exhaustive search increments either a or B, depending upon whether T A > T B or T B >T A .
  • Figure 13 is a flow chart which illustrates steps in a semi -exhaustive search method. In a semi -exhaustive search the maximum number of combinations tested is 2 n .
  • Figure 14 depicts steps in a fast search method 110 that may be implemented in resolution adjustment controller 82.
  • method 110 if T A ⁇ T B only a is adjusted because T A must be adjusted to obtain an acceptable value for T ⁇ .
  • N ⁇ , ⁇ N th the lowest significant bit of a (or B) (depending on whether T A ⁇ T B or T A > T B ) is set high to increase T A (or T B ) by the smallest amount possible. If the required resolution is still not achieved, the next bit of a or B is set HIGH and all other bits are set LOW. This is continued until setting the i-th bit HIGH implies that or T A (or T B ) has been increased too much. Then the i-th and (i-1) -th bits are set LOW and HIGH, respectively, and the process starts over by setting the 0-th bit.
  • Controllable delay elements 41A can take any of various forms. Some types of controllable delay element may be made with standard digital cells.
  • a controllable delay element may comprise a logic gate having a capacitive load provided by a load element. The load element permits the capacitive load to be digitally switched to different values.
  • Each load element comprises a digital switch and a load. Turning on the switch increases the load applied to output of the corresponding logic gate. This results in a longer propagation delay.
  • FIGS 15A through 15E illustrate various types of load elements and their simplified models.
  • T diff In designing load elements it is preferable to minimize the cell area required to provide a time difference T diff . It is also desirable that T diff should be relatively insensitive to variations in the control voltage V ctrI . If T diff varies with fluctuations in V ctrl then any noise in V ctrl will add jitter to oscillators 40. This will increase T R with the result that time quantizer 30 will have reduced precision.
  • C gs (x) , C gd (x) , C gb (x) , C db tx ) i an( C sb (x) are respectively the gate-source, gate-drain, gate-bulk, drain-bulk and source-bulk capacitances of the transistor M x , where is a transistor
  • load element various types.
  • FIG. 15A shows a voltage-controlled NMOS load element 112A.
  • element 112A provides a relatively large T diff in a small area, T diff is quite sensitive to V ctrl because the equivalent capacitive loading of cell is a function of V ct J .
  • FIG. 15B shows a load element 112B in which the capacitive load is a capacitance 113.
  • R s is in the range of a few tens of M ⁇ when switch 114 is OFF and a few K ⁇ when switch 114 is ON.
  • the C d (s) and C s (s) are also loading the oscillator.
  • FIG. 15C shows an alternative load element 112C and its simple model.
  • C d (s) ⁇ + C gd (s) .
  • FIG. 15D shows a load element 112D similar to load element 112C except that a NMOS gate capacitor is used instead of a parallel -plate capacitor.
  • a load element 112D is used because it provides 10 ps delay in an area of a single-drive NOT gate and it exhibits low sensitivity to variations in V ctrl .
  • the load element 112E of Figure 15E shows a good insensitivity to variations in V ctrl but requires more area to achieve a given delay than does load element 112D.
  • C d (L) C gs (L) + C gd (L) and C d ⁇ gb (L) + C db rs + C dg (s) .
  • Table I shows values for T dlff for the load elements of Figures 15A through 15E.
  • the numbers in Table I are for a test configuration shown in Figure 16 in which either 1, 2, 3, 4, 5, or 6 load elements were turned on.
  • Table II shows values for the sensitivity of T dlff to variations in V ctrI .
  • Controllable delay elements 41A may also be based on standard digital cells. This is preferable because there are some situations where it is not possible or practical to update a digital library for fabricating an oscillator for use in the invention.
  • Figures 17A and 17B show two controllable delay elements 115A and 115B which each use a multiplexer 116 to select between two path segments for insertion into a signal path. Such controllable delay elements are useful especially where the controllable delay element should exhibit a large delay difference between its long delay and short delay states. Process variations typically cause different multiplexers made according to the same design to exhibit significant differences in propagation delays. These process dependent variations could mask small differences in delay between the two path segments.
  • a multiplexer- based controllable delay element is particularly useful for achieving a delay increment step of about 40 ps or more .
  • the delay difference in the two multiplexed path segments can be achieved by providing a different number of delay elements in the two path segments, as shown in figure 17A or by loading a delay element in one path segment differently from a corresponding gate element in the other multiplexed path segment as shown in figure
  • Figure 17A is preferred where ⁇ CDE > 60 ps .
  • Figure 18A, 18B or 18C may be used.
  • a logic gate 119 is loaded by the input of a tri-state NOT-gate (tri-NOT) 120.
  • the delay of the element increases when tri-NOT 120 is activated.
  • FIGS 19A and 19B show two typical tri-NOT gate implementation as can be found in standard cell libraries.
  • the tri-NOT gate of Figure 19A When the tri-NOT gate of Figure 19A is inactive, the load C gdp + C gdn is floating because these capacitances are in series with large impedances (transistors Ml and M4 are in high impedance mode) . When Ml and M4 are turned on, these capacitances are added to the capacitive load on the input of the tri-NOT.
  • a similar effect occurs when a tri-NOT as shown in Figure 19B is activated.
  • a value of ⁇ CDE of 3 ps or less may be obtained in a controllable delay element 117A made with standard 0.35 ⁇ m CMOS fabrication processes.
  • the additional capacitative loading provided by a tri-NOT gate when it is activated is a small percentage (typically about 5% to 10%) of its total loading.
  • a controllable delay element 117A therefore is particularly useful where a very small value of ⁇ CDE is required.
  • the value of ⁇ CDE can be changed by either using a different tri-state buffer as a load element or by adding additional load elements at the output of gate 119.
  • FIG. 20 shows a controllable delay element 122 which comprises a number of similar logic gates and tri- state gates connected in parallel . All of the gates should provide similar functions and have similar propagation delays. If they do not then logic contentions may occur at the outputs of each element .
  • a NOT gate 123 is connected in parallel with a tri-NOT gate 124. When it is inactive, the tri-NOT gate 124 contributes only an output load. NOT gate 123 provides drive current as well as load. When tri-NOT gate 124 is activated, it adds a small load to the output load and some drive current to the total drive. Depending on which of the additional load or drive current has the dominating effect the delay will increase or decrease.
  • the delay which can be controlled by a controllable delay element 122 can be estimated by:
  • C o (0) and I o (0) are the output capacitance and drive current of delay element 122 when tri-NOT 124 is inactive and C ⁇ and I ⁇ are the additional capacitance and drive current when tri-NOT 124 is active.
  • Delay element 122 has the disadvantage that it suffers from large process variations. However, it may be used with good results for mid range values of ⁇ CDE (in the range of, for example, 20 ps to 50 ps) .
  • Delay element 122 has the advantage that it can be implemented with devices from a digital library which includes tri-state buffers but does not include tri-NOT gates.
  • a delay element 122 can, for example, be implemented on a FPGA. In many FPGA block cells the only available tri-state devices are tri-state buffers.
  • a TDC 22 according to the invention is calibrated 5 before it is used.
  • time quantizer 30 is a single resolution quantizer (for example in a time quantizer which uses circuit 30A)
  • the relationship between N and T d is linear. Therefore, if one knows T c and T ⁇ then it is straightforward to calculate T d from N.
  • T call and T cal2 which may be supplied from off-chip, are measured. The resulting numbers N and N 2 are recorded. It can be seen that:
  • N c ⁇ l2 T A T c ⁇ l2 + T C + T Q2 + T R2 (16) where T Q1 and T 02 are quantization errors, and T R1 and T R2 are random errors associated with the first and second measurements respectively.
  • T Call and T Cal2 are 20 chosen so that N call -N cal2 > 200.
  • T c and T ⁇ may be estimated using a two-point calibration, in which case T co , the estimated value of T c is given by:
  • the estimated value of T ⁇ is given by : r T x cal2 - T call cal2 call [78] It can be shown that the error associated with the estimation of T ⁇ is a random variable having a mean of zero and a variance given by:
  • the error associated with the estimation of T c is also a random variable having a mean of -T ⁇ /2 and a variance given by:
  • a more accurate estimate of T c and T ⁇ may be estimated using an n-point calibration.
  • n accurately known time intervals are measured by TDC 22. These time intervals are multiples of a reference interval.
  • An objective of n-point calibration is to limit the range of T Q variations and to therefore reduce ⁇ Tce .
  • T call T ref
  • T cal2 2T ref
  • T caln nT ref
  • a circuit 130 that allows reliable generation of KT ref intervals is shown in Figure 21A.
  • the Ref signal is connected to the elk inputs of flip flops 132 and 133. Since the D input of flip flop 133 is always HIGH, START is set high at the first rising edge of the Ref signal. The STOP signal always is set HIGH one Ref cycle after SP_In turns HIGH. Since the
  • K_DGen state machine block 134 sets SP_In to HIGH (K-l) cycles after the rising edge of the Ref signal, A delay of K Ref cycles results between the edges of START and STOP.
  • Constant delay is generated in the path of calibration signals in this circuit. The same delay will be used in the actual measurement, except for the term ⁇ ⁇ mx ⁇ - ⁇ ⁇ mx2 which represents the variation of the difference in propagation delays from 10 and II inputs to output in the multiplexers MUX1 and MUX2 , respectively. This is important for making absolute measurements because, if the mismatch is significant, the value estimated for T c during calibration will not be the same as the one used in actual measurements. This would cause additional error.
  • each measurement generates two numbers.
  • To estimate T ⁇ (C) and T ⁇ fF) system 20 may perform a number M cal of measurements of known time intervals.
  • the i th measurement set includes the following three measurements:
  • System 22 can be used to make various types of measurement.
  • One jitter characteristic that can be measured is RMS jitter.
  • RMS jitter can be defined as follows :
  • T d 1 is the time interval measured for the i-th jitter sample.
  • ⁇ 2 R is the total RMS internal jitter of TDC 30.
  • T ⁇ is known through calibration. If TDC 30 is well characterized then ⁇ 2 R will also be known. Therefore, an accurate estimate of RMS jitter can be obtained.
  • the error in this estimate can be shown to be inversely proportional to M. Therefore, this error can be made to be very small by using a large value for M. M may be, for example, in excess of 500 and is preferably in the range of 1000 to 2500. In designing a TDC 30 for use in estimating RMS jitter it is more important to minimize ⁇ 2 R than it is to minimize T ⁇ because the value of T ⁇ can be determined accurately during calibration of TDC 30. [90] The variance in internal jitter of time quantizer
  • the internal jitter in time quantizer 30 can be estimated by performing two sets of measurements after calibration using a double resolution time quantizer. A first set of measurements is taken with ⁇ fme - ⁇ f ⁇ ne i - Tne result is a set of pairs of counts N cl , and
  • the result is a set of pairs of counts N c2 , and N f2 .
  • the second set of counts has the same single shot accuracy as the first set of counts.
  • each measurement in the second set takes more cycles of clkA to complete because ⁇ f ⁇ ne2 ⁇ ⁇ f ⁇ nel .
  • a larger proportion of each measurement is carried out in the fine resolution mode.
  • the total measured RMS jitter in the second set of measurements is greater than the RMS jitter in the first set of measurements. Since the input signal is the same, the internal jitter of time quantizer 30 can be determined. If we assume that the internal jitter of time quantizer 30 appears as white noise then the internal jitter in the second set of measurements will scale with a factor ⁇ relative to the internal jitter in the second set of measurements with ⁇ given by:
  • CRUs clock recovery units
  • Figure 22 shows a circuit 140 which may be used to generate a signal having known jitter characteristics. A jitter-free clock signal is supplied to circuit 140.
  • Circuit 140 includes a delay line 141, a multiplexer 142 and a sequence counter 143.
  • the multiplexer connects a selected tap of delay line 141 to output J in response to a control signal from sequence counter 143.
  • Sequence counter 143 specifies which tap is connected to output J at any clock edge. For example, if delay line 141 has 8 taps and sequence counter 143 is a three bit up/down counter then circuit 140 will generate a triangular shaped jitter signal with a maximum peak-to- peak amplitude of ⁇ g where ⁇ g is the delay introduced by each delay element of delay line 141. By using a counter with a sequence which follows a sinusoidal pattern, circuit 140 will generate a signal having jitter which varies sinusoidally with time. Sequence counter 143 may be programmable so that circuit 140 can generate various types of jitter signal at its output J.
  • a TDC 22 may be used on-chip to measure period jitter.
  • a histogram approach can provide statistics of such jitter.
  • TDC 22 can measure period jitter by causing edge sampler 24 to make a number of measurements. In each measurement the edge sample passes two consecutive rising (or falling) edges of a signal V ⁇ n being measured to time quantizer 30 as START and STOP signals. After this has been done, control circuit 26 reads the value (s) of N stored in the counter (s) of time quantizer 30, passes these values to an analysis system and commences another measurement. This can be repeated until a desired number of samples has been taken.
  • Figure 23 shows an edge sampler circuit that may be used m making period jitter measurements .
  • the analysis system will typically be an external tester but may also be on chip. Where the analysis system is external then the data collected is transmitted to the analysis system through a suitable interface.
  • the chip may comprise a serial bus such as a JTAG interface or a parallel interface for moving the data off-chip.
  • an on-chip data storage area is provided to hold the collected data while it is waiting to be delivered to the analysis system.
  • the analysis system can form a histogram of the data and calculate variance and peak-to-peak jitter. If the analysis system receives information about the time at which each sample was taken then it can also analyze frequency components of the jitter. Thus, appropriately configured systems according to the invention may be used to conduct full jitter compliance tests.
  • FIG. 24A shows an edge sampler circuit 150 that can be used to generate START and STOP signals for measuring jitter between two signals INI and IN2.
  • flip flop 151 samples an edge of INI
  • flip flop 152 samples an edge of IN2 which is closes to the sampled edge of INI.
  • a delay element 153 ensures that the output of flip flop 151 has enough time to be set before the edge of IN2 arrives. This will be the case if:
  • ⁇ ql is the CLK-to-Q delay of flip flop 151
  • ⁇ s2 is the setup time of flip flop 152
  • ⁇ D2 is the delay introduced by delay element 153.
  • the generated START and STOP signals are passed to TDC 22 for measurement of the time displacement between them.
  • flip flops 151 and 152 are reset and another measurement can be taken. While the sample and hold times of flip flops 151 and 152 affect the measured time displacements, these times are constant and affect all measurements equally. They can therefore be dealt with by calibration. Further, it is typically the fluctuation in measured values between measurements that is of interest. These fluctuations are not affected by constant offsets.
  • Relative jitter tests can be used to perform jitter tolerance limit tests of CRUs . This can be done by applying a signal with a known jitter to the CRU and then measuring the relative jitter between this input signal and a signal output from the CRU.
  • a TDC according to the invention has been implemented in 0.35 ⁇ m /CMOS technology.
  • the circuit occupies an area equivalent to 1200 2 -input NAND gates and provides a time resolution of approximately 4 ps (-1/5 of a gate delay in current standard 0.35 ⁇ m CMOS technology).
  • the TDC generates a digital signature which can be read out by an inexpensive tester for further analysis to obtain the jitter characteristics of the signal being measured.
  • FIG. 25 is a top level diagram of a TDC made according to the invention.
  • uniform controllable load elements have been designed as standard cells to allow for automatic place and route.
  • the rest of the cells used in the implementation have been taken from a standard digital cell library.
  • RE-TATB Range extender and TA > TB condition checker
  • REEOC-sync-DFF, TQEOC-sync-DFF and ERRI -sync-DFF RE-EOC, TQ-EOC and ERRI -flag synchronizer flip-flops
  • Delay Generator Controls the selection of the delays needed for resolution adjustments, calibration and measurement.
  • controllable load elements have been designed according to the style of Figure 15D.
  • the transistor sizes for each of these cells are given in Table III.
  • the forth row of table III lists the additional delay in the oscillator A or B obtained by activating the cell.
  • These controllable load elements allow for ⁇ 288ps or +8.5% period mismatch between clkA and clkB (this is obtained when all the controllable load elements are activated) .
  • the last row of Table III lists the area of each cell.
  • the height of all the cells is the standard cell library height.
  • the area of the smallest cell is equivalent to the area of a double-drive 2 -input NAND gate.
  • Oscillators 40A and 40B in the TQ block each have a signal path which loops through 11 NAND gates and one AND gate. Six taps for each oscillator are connected to six different controllable load elements. The outputs of oscillators 40A and 40B are directly connected to the elk and D inputs of flip flop DFF_EOC . These outputs are buffered before being used in other control blocks which are less time sensitive. The output of flip flop DFF-EOC is sampled and held by another flip-flop to ensure that the end-of-conversion signal, EOC-Flag, can be observed by the control blocks operating with the system clock.
  • the flip-flop REEOC-sync-DFF synchronizes the RE-EOC signal with the system clock, SCLK. This prevents errors in sampling by the Main Controller block. Buffers Bufl to Buf6 are not necessary and are included to perform mixed signal simulations.
  • Figure 27 is a schematic diagram for RE-TATB while Figures 27 and 28 show the 3 -bit and 6 -bit comparators used in RE-TATB.
  • a 16-bit synchronous counter is used to count the number N. As shown in Fig. 4, clkA could drive the counter's clock input directly. However, the maximum operational frequency of the 16-bit counter used in this example is 250 MHz, whereas clkA has a frequency of 350
  • a divide by 2 divider circuit DivBy2 divides clkA by two. Thus enables the counter to count the number of clkA edges.
  • the state of the DivBy2 circuit recovers the lost bit due to division as follows:
  • N 2N cn,rl6- kDiv2 (36) where N c ⁇ trl6 is the state of the 16 -bit counter and clkDiv2 is the state of the DivBy2 flip flop. If the frequency of clkA is so high that even the frequency of clkDiv2 is too high for the counter a 2 -bit or 3 -bit ripple counter could be used in place of one divider to divide the clkA frequency by 4 or 8. The overflow bit of such counter can be used as the clock for the main counter.
  • both START and STOP are set HIGH and the StartCheck and StopCheck signals are activated to check for the condition T A > T B .
  • This block is illustrated in Figure 30.
  • TATB Check Delay Generator generates a delay of 1.8 nsec between the StartCheck and StopCheck edges in the T A > T B check mode. The outputs of this block are set HIGH in other modes. A schematic of this block is shown in Figure 31.
  • the main controller monitors the outputs of all other blocks and generates required signals for controlling the operation of the TDC.
  • the main controller may be specified using synthesizable Very High Speed Integrated Circuit Hardware Description Language ( "VHDL" ) code.
  • VHDL Very High Speed Integrated Circuit Hardware Description Language
  • the TDC operation starts by loading a threshold N ch serially. The serial data is read through SThre input while TestStart is HIGH. Then, the controller controls the Delay Generator while the TATB Check Delay Generator block performs resolution adjustment. After adjustment, calibration is performed and the TDC switches to measurement mode .
  • the Main Controller instructs the Delay Generator block to pass jitter samples to the time quantizer.
  • the data is sent off-chip serially through the DataOut output.
  • the InputReady, MeasReady, and DataReady signals are used for handshaking between the external tester and
  • circuits and methods described herein have various advantages. Among these are that the invention may be practised with circuits which are entirely digital and are well adapted to being designed using conventional design tools including automatic place and route. Jitter measurements having an accuracy in the order of lOps can be attained.
  • the digital and compact nature of this TDC circuit makes it very attractive for BIST applications for testing high-speed serial communication interfaces, e.g., clock and data recovery, timing circuits, and edge placement circuits. Since the TDC provides a very high-resolution time measurement capability, it is also suitable for use in testing digital clock recovery and clock synthesis circuits.
  • oscillators 40A and 40B integrate power supply noise (which is non-random) . High frequency power supply noise is effectively cancelled. If oscillators 40A and 40B are made structurally very similar to one another they will be affected in substantially the same manner by any low frequency power supply noise. Therefore, low frequency power supply noise can be effectively cancelled as well.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
  • Analogue/Digital Conversion (AREA)
  • Measurement Of Unknown Time Intervals (AREA)

Abstract

A time to digital converter (TDC) has a pair of digital oscillators. The periods of the oscillators differ by TΔ. The oscillators are triggered by START and STOP pulses. A counter counts a number of pulses until reference points on the signals output by the oscillators coincide. Measurements may be made using a dual resolution method. Intrinsic jitter of the TDC can be determined by comparing sets of measurements in which the switch in resolutions is made at different points.

Description

HIGH RESOLUTION TIME-TO-DIGITAL CONVERTER
Cross-Reference to Related Application
[1] This application claims the benefit of the filing date of U.S. application No. 60/189,975 filed on 17 March, 2000, which is hereby incorporated by reference in its entirety.
Technical Field
[2] This invention relates to time-to-digital conversion
("TDC"), more specifically to time to digital conversion methods and apparatus which use a differential delay between frequency-mismatched oscillators to measure time between events to high resolution. The invention has particular application in measuring jitter characteristics in high frequency digital signals. Specific embodiments of the invention are useful for on board self testing of timing circuits such as phase-locked loops ("PLLs"), delay- locked loops ("DLLs"), and serialiser/deserializers . Another aspect of the invention relates to a finely tunable digital ring oscillator suitable for use in TDC systems according to the invention.
Background of the Invention
[3] Jitter is an important characteristic of high-speed digital signals generally. While there exist sophisticated stand-alone devices capable of measuring jitter in highspeed digital signals, such devices tend to be extremely complicated and expensive. Jitter testing typically requires a long test time. Further, where the signal to be tested is internal to an integrated circuit, it may not be practical to use a stand-alone device to test for jitter. [4] Timing circuits such as phase-locked loops, delay- locked loops, and serializers/deserializers are used widely in many high-speed integrated circuits. These circuits are used in many applications. Some examples are synthesizing clock signals, recovering data, realigning clock edges and timing the transmission of data.
[5] Jitter in the outputs of such timing circuits can cause malfunctions. These malfunctions can be very difficult to diagnose. As complex System on Chip ("SOC") integrated circuits become even more complicated and clock speeds increase into the gigahertz range, it becomes increasingly costly and time consuming to test such circuits.
[6] The definition of jitter varies depending on the field of application. In sequential circuits, e.g. CPUs, jitter is defined as the variation of the clock period, known as "cycle-to-cycle" or "period jitter". Such variation is best modelled as a frequency modulation of the clock signal. More formally period jitter can be expressed as :
V FjrMM ( t ) = sgn [ s dt (i)
Figure imgf000004_0001
where VFM is the clock signal, T0 is the average clock period, Tα(t) is the frequency modulating jitter signal, and sgn [x] is the sign function:
Figure imgf000004_0002
As shown in Figure 1A, period jitter samples are collected by measuring the duration of each period of the signal INI . [7] For both period and accumulative jitter measurements, M jitter samples are collected to calculate jitter characteristics, such as rms, peak-to-peak, or frequency components. For example, the rms jitter may be obtained by performing the following computations:
Figure imgf000005_0001
[8] The important jitter specifications for PLLs used in digital communication interfaces are intrinsic jitter, jitter tolerance and jitter transfer. These specifications are given in standards for each application (e.g., see Bell Research Laboratories SONET transport systems : Common cri teria network element archi tectural features GR-253 core, Issue 1, pp. 5-81, December, 1994 for SONET interfaces) .
[9] Intrinsic jitter is defined as the jitter at the output of the PLL when the input is jitter- free. This is often expressed in terms of unit interval UI , which is defined as the period of a signal with a frequency equal to the average frequency of the original signal . For example in a 155.54 MHz SONET network application, 1 UI is 6.429 ns.
[10] Jitter transfer is defined as the ratio of the output jitter to input jitter of the PLL as a function of frequency.
[11] Jitter tolerance is the peak-to-peak amplitude of the sinusoidal jitter applied to the input of the PLL which causes ldB power penalty (in terms of bit error rate) . - A -
[12] There is a need for systems capable of measuring jitter characteristics of high-speed digital signals.
There is a particular need for such systems capable of measuring jitter in timing circuits internal to complicated integrated circuits.
[13] Functional testing is typically the only practical way to test today's high-speed timing circuits. Most structural test methods are too intrusive (i.e. the testing itself has a significant effect on the performance of the circuit) or provide poor correlation to important specifications such as jitter. Jitter specifications are typically the single most important set of specifications for a high-speed timing circuit. Jitter specifications include intrinsic jitter, jitter transfer functions and jitter tolerance. Testing such a circuit to determine whether its actual jitter characteristics meet its specifications is a significant problem.
[14] Various authors have proposed methods for testing devices such as PLLs. All of these proposed methods have disadvantages. R.J.A. Harvey et al . Test evalua tion for complex mixed-signal IC' s by introducing layou t dependent faul ts , IEEE Colloquium on Mixed Signal VLSI Test, pp. 6/1-8, 1993 suggests testing PLLs by performing partial specification testing by measuring lock range, lock time and power supply current . Dalmia et al . Power supply current moni toring techniques for testing PLLs Proc. of Asian Test Symposium, pp. 366-371, 1997 and Dalmia et al . , U.S. patent No. 5,835,501 disclose the use of power supply current monitoring for PLL testing.
[15] Devarayanadurg et al . Hierarchy based statistical faul t simulation of mixed signal IC ' s Int. Test Conf. p , 521-527, 1996 and Goteti et al . DFT for embedded charge- pump PLL systems incorporating IEEE 1149. 1 , Proc. of
Custom Integrated Circuits Conf. pp. 210-213, 1997 propose methods for efficient fault simulation of PLLs and suggest lock frequency range measurement for PLL testing.
[16] Although a combination of these techniques seems to provide a good efficient fault simulation it is difficult to correlate the test results to important jitter specifications. This is partly because simulating jitter for fault-free and faulty circuits is extremely difficult due to a lack of tools capable of simulating noise in non-linear dynamic circuits.
[17] Azias et al . A unified digi tal test technique for PLLs using reconfigurable VCO Proc. of Int. Mixed Signal Test Workshop, 1999 discloses a reconfiguration technique for testing ring oscillator-based PLLs. This technique has the advantage of being compatible with digital test methods, but it requires reconfiguring sensitive parts of a PLL. Also, it exhibits the problem of unknown correlation of test results and functional specifications .
[18] S. Sunter et al . BIST for phase-locked loops in digi tal applications, Proc. of Int. Test Conf. pp. 532- 540, 1999 discloses a BIST circuit capable of measuring lock range and loop gain of a PLL in addition to performing a jitter test. Methods which use this circuit to measure jitter depend on bit error rate (BER) and so can only provide statistical information about jitter. Such methods may give pessimistic estimates of jitter in noisy digital environments. This might lead to discarding some good devices. The jitter testing approach of Sunter et al . is limited primarily to clock recovery PLLs. [19] US patent Nos. 5,663,991 and 5,889,435 disclose on-chip jitter measurement techniques for testing PLL circuits. The BIST circuits proposed in these patents are mixed-signal and their resolution is limited to one gate delay. This is inadequate for testing high-speed PLLs.
[20] Veillette et al . On -chip measurement of the ji tter transfer function of charge-pump phase locked loops, Int. Test Conf. pp. 776-785, 1997 disclose a jitter transfer function measurement circuit. This circuit does not have sufficient resolution for intrinsic jitter testing.
[21] Veillette et al . , Stimulus genera tion for buil t in self test of charge pumped phase locked loops, Int. Test Conf. pp. 698-707, 1998 proposes a method for generating jitter at the input of a PLL for jitter transfer testing. This method, however, requires reconfiguration of the feedback in the PLL loop, which could affect the performance of the loop.
[22] Another on-chip jitter test method is to determine jitter by measuring time intervals between the significant edges of one or two signals. Such measurement can be done with a time-to-digital converter (TDC) . A TDC produces a digital output representing the time elapsed between two temporally separated events. Figures 1A, IB and 1C illustrate respectively how period, accumulative jitter, and relative itter can be measured through the use of a TDC 10.
[23] Various TDC circuits have been used in physics experiments. It has been suggested that such TDC circuits could be used in jitter measurement. Existing TDC circuits are, however, mixed-signal, require custom design and layout, occupy large areas, do not provide high resolution, or rely heavily on matching of the elements .
[24] Kelkar et al . U.S. patent No. 5,663,991 discloses the use of a controlled delay line in an on-chip jitter measurement method. This circuit is mixed- signal and suffers from the same limitations as most TDCs .
[25] In serial communication applications, jitter can be defined as the short-term variations of a digital signal's significant instants, e.g. rising edges, from their ideal position in time. Such jitter is often denoted as "accumulative jitter" and is described as a phase modulation of a clock signal. In a clock synthesis circuit, where the absolute jitter is important, often a jitter-free (practically low-jitter) reference signal is used for jitter measurement. In such a case, the difference between the position of corresponding edges of the signal (INI) relative to the reference clock (REF) indicates the jitter. Figure IB illustrates how accumulative jitter samples, ιJ(l) for i=l,...,N can be collected using a TDC.
[26] Sometimes, the relative jitter between two signals is of interest if neither of the two signals is a jitter-free signal, e.g. in data recovery circuits. Fig. 1C shows how relative jitter between the edges of signal INI and IN2 can be measured using a TDC.
[27] A classic method of measuring a time interval is to start a counter at the beginning of the interval and stop it when the interval ends. The resulting number in the counter will be proportional to the time interval. The resolution in this method is the period of the clock controlling the counter. To measure intrinsic jitter of a high-speed PLL (e.g. a 155MHz clock synthesis PLL), where a high resolution in the range of 20 ps is required, a clock frequency of 50 GHZ would be needed. This method is not suitable for on-chip applications where the maximum clock available is in the range of a few hundreds of MHz.
[28] Santos, A CMOS delay locked and sub-nanosecond time- to-digi tal converter chip, IEEE trans on nuclear science, vol. 43, pp. 1717-1719, June, 1996 discloses a TDC based on the use of a delay chain. In this circuit, the output of the delay elements in the delay chain are set HIGH as the START rising edge travels through them. A delay locked loop (DLL) is used to calibrate the delay elements to a known delay. Such a calibration requires very good matching between all the delay elements in both the delay chain and the DLL.
[29] Arai, A time digi tizer CMOS gate array wi th a 250 ps time resolution, IEEE Journal of Solid-State Circuits, v. 31, pp. 212-220, February, 1996 discloses an alternative TDC in which an analog delay chain and DLL are combined. This obviates the need for element matching. In both of the schemes of Santos and Arai the
DLL and the controlled delay elements are analog.
[30] A fully digital TDC could be made by eliminating the DLL and using digital gates as delay elements. The trade-off is decreased accuracy due to the quantization error associated with calibration reference inputs. The resolution Tδ of such methods without time interpolation is limited to one gate delay at best. In current 0.35 μm CMOS technology, the smallest gate delay is approximately 50 ps, whereas a resolution and precision of about 20ps is required for functional testing of high-speed PLLs with 155 MHz center frequency. Also, since this delay is dependent on process variations and temperature, the resolution in such schemes is not controllable. [31] Christiansen, An integra ted high resolution CMOS timing genera tor based on an array of delay locked loops , IEEE Journal of Solid-State Circuits, v. 31, pp. 952-957, February, 1996 proposes the use of an array of DLLs to improve the measurement resolution. Mota et al . A high resolution time interpolator based on a delay locked loop and an RC delay line, IEEE Journal of Solid-State Circuits, v. 34, pp. 1360-1366, October, 1999 propose the use of an RC delay line to increase the measurement resolution through time interpolation. Although resolutions in the range of 25ps (rms) have been reported in these papers, the design of these circuit requires a great deal of care because of the need for a high degree of matching. Also, the design and layout of the DLL need careful attention due to the presence of significant power supply noise in large mixed-signal ICs .
[32] Kalisz et al . , Field programmable gate array based time to digi tal converter wi th 200 ps resolution, IEEE Trans, on Instrumentation and Measurement, v. 46, pp. 51- 55, February, 1997 propose a differential delay technique based on using two delay chains. One chain is composed of gates (each with a delay of τg. The other chain is made of latches (each with a delay of τx) .In this technique the time quantization step is the difference between the delay of the delay elements in the two delay chains. A difficulty with this technique is that, since gates and latches are very different structures, τg and τλ are likely to differ significantly. This makes it difficult to achieve high resolution (in the range of 20 ps or less) .
[33] All the schemes mentioned above require good matching of the elements in the delay chains to achieve good accuracy. This is difficult to achieve within an acceptable accuracy under typical process variations. As the time interval to be measured becomes longer, more elements must be added to the delay chains, making it even more difficult to assure matching of delays in the chains. When more elements more added the elements will have to be placed further apart and more routing delay will have to be accounted for. Therefore, these schemes make it difficult to provide acceptable TDC linearity. In addition, these schemes do not lend themselves well to automatic place and route. Furthermore, the resolution is set by the process parameters on each chip and cannot be controlled or adjusted.
• There is a need for a system capable of measuring directly the jitter characteristics of PLLs and other timing circuits on integrated circuit chips.
Such a system should be :
• compact (i.e. small in area compared to the circuit under test ("CUT"));
• simple and quick to design; • robust (i.e. resistant to process variations, temperature and power supply variations) ;
• provide a digital output (i.e. the system should generate one or more digital signatures which can be sent off-chip at relatively low speed, e.g. serially;
• accurate (measurement accuracy must be sufficient for the test) ;
• capable of being calibrated (i.e. the system should be calibration-free, self-calibrating, or use readily available signals to the chip for calibration) ; and,
• have little or no impact on the performance of the CUT. Summary of the Invention
[34] One aspect of this invention provides a time to digital converter (TDC) . The TDC comprises a timing circuit which includes first and second digital oscillators. The oscillators produce first and second clock signals respectively. The first and second oscillators have different periods. The invention uses the accurately known difference between the periods of the first and second oscillators to make high resolution time measurements. In preferred embodiments of the invention, at least one of the oscillators comprises a plurality of digitally controllable delay elements. The delay elements, when activated alter the period of the oscillator .
[35] The TDC also includes a coincidence detector connected to generate a coincidence signal when a reference point m the first clock signal has a known time relationship to a corresponding reference point on the second clock signal. In preferred embodiments of the invention the coincidence detector comprises a flip flop which is set when a rising edge of the first clock signal coincides with a corresponding rising edge of the second clock signal .
[36] A first counter is connected to count a number of cycles of the first oscillator until the coincidence detector generates the coincidence signal . The number is related to the length of an interval between starting the first oscillator and starting the second oscillator.
[37] A resolution adjustment circuit is connected to start the first and second oscillators at times separated by a known interval compare the number to a threshold and, if the number is not at least equal to a threshold value altering the period of at least one of the oscillators by activating or deactivating one or more of the digitally controllable delay elements.
[38] In a preferred, dual resolution, embodiment the first and second oscillators are switchable between a first state wherein a difference in periods of the first and second signals is TΔ1 and a second state wherein a difference in periods of the first and second signals is TΔ2 where TΔ2 < TΔ1; and the time to digital converter comprises a resolution switching control circuit connected to switch the timing circuit from its first state to its second state, a second counter connected to count a number of edges of the first signal between a START signal and a time when the timing circuit is switched from its first state to its second state, the first counter connected to count a number of edges of the first signal between the time when the timing circuit is switched from its first state to its second state and the time when coincidence signal is generated.
[39] Another aspect of the invention provides a time to digital converter comprising a timing circuit comprising first and second digital oscillators producing first and second clock signals respectively. The first and second oscillators are switchable between a first state wherein a difference in periods of the first and second signals is TΔl and a second state wherein a difference in periods of the first and second signals is TΔ2 where TΔ2 < TΔl. A resolution switching control circuit is connected to switch the timing circuit from its first state to its second state when the reference point of the first clock signal approaches the known time relationship with the reference point of the second clock signal . A coincidence detector connected to generate a coincidence signal when a reference point in the first clock signal has a known time relationship to a corresponding reference point on the second clock signal. A first counter is connected to count a number of edges of the first clock signal between the time when the timing circuit is switched from its first state to its second state and the time when the coincidence signal is generated and a second counter is connected to count a number of edges of the first signal between a START signal and a time when the timing circuit is switched from its first state to its second state.
[40] In a preferred embodiment of the invention, the resolution switching control circuit comprises a delay element connected to provide a delayed first clock signal and a coincidence detector connected to generate a coincidence signal when a reference point in the second clock signal has a known time relationship to a corresponding reference point on the delayed first clock signal . Most preferably the delay element has a first state resulting in a first delay of the delayed first clock signal and a second state resulting in a second delay of the delayed first clock signal different from the first delay.
[41] A further embodiment of the invention provides a digital timing circuit for generating first and second digital output signals having first and second periods. The timing circuit comprises a first ring oscillator triggered by a first control signal and generating a first clock signal; and a second ring oscillator triggered by a second control signal and generating a second control signal. At least one of the oscillators comprises a plurality of digitally controllable delay elements. The delay elements, when activated alter the period of the oscillator. The timing circuit comprises a coincidence detector connected to generate a coincidence signal when a reference point in the first clock signal has a known time relationship to a corresponding reference point on the second clock signal. A counter is connected to count a number, N, of cycles of the first oscillator between the first control signal and the coincidence signal. A resolution adjustment circuit connected to generate the first and second control signals at times separated by a known interval, compare the number Ν to a threshold Nth and, if N is not at least equal to a threshold value altering the period of at least one of the oscillators by activating or deactivating one or more of the digitally controllable delay elements.
[42] A still further aspect of the invention provides a method for producing first and second digital signals having first and second periods. The method comprises providing a pair of digital oscillators; starting the first oscillator and starting the second oscillator a time period Td after starting the first oscillator; counting a number N of cycles of the first oscillator until a reference point on the first signal coincides with a corresponding reference point on the second signal; if N is not at least equal to a threshold value altering the period of at least one of the oscillators and repeating these steps until N is at least equal to the threshold value.
[43] In preferred embodiments of the invention, varying a period of at least one of the oscillators comprises changing a state of a controllable delay element.
[44] A yet further aspect of the invention provides a method for time to digital conversion comprising providing first and second digital oscillators having periods which differ by an amount TΔ wherein the first and second oscillators are switchable between a first state wherein a difference in periods of the first and second signals is TΔ1 and a second state wherein a difference in periods of the first and second signals is TΔ2 where TΔ2 < TΔ1; starting the first oscillator upon the occurrence of a first control signal and starting the second oscillator on the occurrence of a second control signal a time Td later; when the reference points occur within a known time delay of one another switching the oscillators to their second state; counting a number Nc of edges of the first clock signal which occur between the first control signal and a time when the oscillators are switched to their second state; and, counting a number NF of edges of the first clock signal which occur between the time when the oscillators are switched to their second state and a time when the reference points have a known time relationship .
[45] The method may include estimating a noise floor for the first and second oscillators by acquiring a first set of the numbers NF and Nc for Td having a known value Tref while the known time delay has a first value and a second set of the numbers NF and Nc for Td having a known value Tref, or a known multiple of Tref, while the known time delay has a second value, averaging NF and Nc for each set of measurements and computing the noise floor from the average values of NF and Nc for the two sets of measurements .
[46] Another aspect of the invention provides a frequency tunable digital ring oscillator comprising a closed signal path defined at least in part by a plurality of series connected delay elements each having an input and an output the delay elements comprising at least one digitally controllable delay element. The digitally controllable delay element comprises a gate connected in series with the signal path and a tri-state device having an input connected to an output of the gate and a control connection connected to a control device.
[47] The tri-state device may be a tri-NOT gate or a tri-state buffer, for example.
[48] Further features and advantages of the invention are described below.
Brief Description of the Drawings
[49] In figures which illustrate non-limiting embodiments of the invention:
Figures 1A, IB and 1C are schematic block diagrams which illustrate respectively how period, accumulative jitter, and relative jitter can be measured through the use of a TDC;
Figure 2 is a block diagram illustrating major components of a jitter measurement circuit according to the invention;
Figure 3 is a block diagram of a TDC circuit according to the invention;
Figure 4A is a schematic circuit diagram of a simple single resolution time quantizer according to the invention;
Figure 4B illustrates waveforms of digital signals at various locations in the time quantizer of Fig. 4A;
Figure 5A is a schematic circuit diagram of a dual resolution time quantizer according to the invention; Figure 5B illustrates waveforms of digital signals at various locations in the time quantizer of Fig. 5A;
Figure 6A is a schematic circuit diagram of a range extender circuit; Figure 6B illustrates waveforms of digital signals at various locations in the range extender circuit of Fig. 6A;
Figure 7A is a schematic circuit diagram of an alternative range extender circuit;
Figure 7B illustrates waveforms of digital signals at various locations in the range extender circuit of Fig. 7A;
Figure 8 is a schematic diagram of an automatic resolution adjustment circuit;
Figure 9A is a TATB checker circuit;
Figures 9B and 9C are waveforms at locations in the circuit of Figure 9A for TA > TB and TA < TB respectively;
Figure 10A is an alternative TATB checker circuit; Figure 10B illustrates waveforms of digital signals at various locations in the TATB checker circuit of Fig. 10A;
Figure 11A is a flow chart illustrating an exhaustive search method for tuning a pair of oscillators to have a small period difference where controllable delay elements in the oscillators have fixed steps;
Figure 11B is a flow chart illustrating a directed search method for tuning a pair of oscillators to have a small period difference where controllable delay elements in the oscillators have fixed steps;
Figure 12 is a flow chart illustrating an exhaustive search method for tuning a pair of oscillators to have a small period difference where controllable delay elements in the oscillators have incrementally varying steps; Figure 13 is a flow chart illustrating a semi- exhaustive search method for tuning a pair of oscillators to have a small period difference where controllable delay elements in the oscillators have incrementally varying steps; Figure 14 is a flow chart illustrating a fast search method for tuning a pair of oscillators to have a small period difference where controllable delay elements in the oscillators have incrementally varying steps; Figures 15A through 15E are schematic diagrams illustrating various types of load elements and their simplified models;
Figure 16 is a schematic diagram of a circuit for testing the effect of control voltage variations on time delay provided by a controllable delay element;
Figures 17A and 17B are schematic diagrams of controllable delay elements based on a multiplexer;
Figures 18A, 18B and 18C are schematic views of controllable delay elements in which a variable load is applied by the input of a tri-state device;
Figures 19A and 19B are schematic diagrams illustrating the structure of typical tri-NOT gates;
Figures 20A, 20B and 20C are schematic views of controllable delay elements having tri-state devices connected in parallel with other gates;
Figure 21 is a schematic view of a selection circuit for providing a reference interval;
Figure 22 is a schematic view of a jitter generator circuit ; Figure 23 is a schematic view of a configuration of edge sample suitable for cycle-to-cycle jitter measurement ;
Figure 24A is a schematic view of a configuration of edge sample suitable for relative jitter measurement; Figure 24B is a timing diagram illustrating significant signals in the circuit of Figure 24A;
Figure 25 is a top level diagram of various components in an example embodiment of a jitter measurement system according to the invention; Figure 26 is a schematic diagram of the time quantizer circuit of the jitter measurement system of Figure 25;
Figure 27 is schematic diagram of the RE_TAB block of Figure 25;
Figures 28 and 29 are schematic diagrams of 3 -bit and 6-bit comparators used in the RE_TAB block of Figure 27;
Figure 30 is a schematic view of a calibration interval generator circuit of the jitter measurement system of Figure 25;
Figure 31 is a schematic view of a TATB checker circuit for the jitter measurement system of Figure 25; and,
Figure 32 is a timing diagram for some signals present during a TATB check and resolution adjustment process .
List of Reference Numerals
20 circuit 22 time-to-digital converter
24 edge sampler 26 edge sampler controller
30, 30A time quantizer 32 resolution adjustment 30B block
34 range extender block 34A range extender circuit 34B
36 calibration circuit 38 TDC controller
40, 40A oscillators 41, 41A delay elements 40B
42 coincidence detector 43A circuit
44, 44A, flip flop 46 counter 44B
' NAND gate 50 delay element resolution control 54 delay line circuit , 56A flip flop 58 counter B counter 60 multiplexer delay elements 70A counters 70B pulse 72 comparator flip flop 74A flip flops 74B gate 76A, 76B delay elements
76C, 76D A glitch 78A flip flops B 78B pulse 82 resolution adjustment controller , 84A, TATB circuit 85, 86 flip flops B checker counter 89 gate A, 90B counter 92 comparator , 94 flip flops 100A method 0B method 110 method 2A, 112B load 113 capacitance 2C, 112D element 2E 4 switch 115A delay elements 115B 6 multiplexer 117A delay element 9 logic gate 120 tri-state NOT-gate 122 delay element 123 NOT-gate
124 tri-NOT gate 130 circuit
132, 133 flip flop 134 K_DGen state machine block
140 circuit 141 delay line
142 multiplexer 143 sequence counter
150 edge sampler circuit 151, 152 flip flop
153 delay element
Description
[1] In this description, a variable denoted by t refers to an instant in time, T refers to a time interval, and τ refers to a time delay associated with the operation of a physical structure, such as a gate or a latch. In this description the following notation is used:
'START the time of the START event (typically this is the time when the START signal is set HIGH) ; tSτop - the time of the STOP event (typically this is the time when the STOP signal is set HIGH) ;
-td ~ '-STOP the time interval to be measured; clkA the output signal produced by oscillator 40A; clkB the output signal produced by oscillator 40B;
TA - the period of clkA;
TB - the period of clkB; tx(i) - the time at which the ith rising edge of clkX
(X=A or B) occurs ;
TΔ = TA-TB the time quantization step;
N - a value generated by the time quantizer 30 from which Td can be determined;
MA - the output state of counter CntrA; and, • MB - the output state of counter CntrB.
[2] This invention provides digital circuits which are capable of measuring jitter in digital signals with high resolution. The circuits may be used to measure jitter characteristics of PLLs and may also be used to measure jitter in other signals. Figure 2 shows a digital circuit 20 according to the invention. Circuit 20 includes a high-resolution time-to-digital converter 22. TDC 22 measures the duration of a time interval Td between a start event and a stop event. In the illustrated embodiment of the invention an edge sampler 24 generates the start and stop events. The start and stop events may respectively be, for example, rising edges of START and STOP signals. Edge sampler 24 is controlled by an edge sampler controller 26.
[3] Under the control of edge sampler controller 26, edge sampler 24 selects the appropriate START and STOP edges and passes them to TDC 22. Edge sampler 24 and edge sampler controller 26 can preferably be configured for measuring various jitter specifications as described in more detail below.
[4] Figure 3 illustrates a circuitry for one embodiment of TDC 22 suitable for use in this invention. TDC 22 includes a time quantizer 30 which quantizes time with a time resolution of TΔ . A resolution adjustment block 32 controls TΔ to be less than a programmable threshold. A range extender block 34 extends the maximum time interval that time quantizer 30 is capable of measuring. A calibration circuit 36 is used to obtain a precise estimate of TΔ with reference to a low-jitter reference clock. A TDC controller 38 controls the overall operation of TDC 22. [5] Initially the resolution of time quantizer 30 is adjusted by resolution adjustment block 32 and time quantizer is calibrated. Then edge sampler controller 26 causes edge sampler 24 to generate START and STOP signals for a signal of interest and to pass pairs of START and STOP signals as jitter samples to time quantizer 30 for measurement. Time quantizer 30 measures values related to the intervals between the START and STOP signals. These measured values can be used to determine jitter characteristics of the signal of interest, as described below.
[6] A simple single resolution time quantizer 30A is shown in Figure 4A. Time quantizer 30 may be constructed to provide multiple, preferably two, different resolutions. Figure 5A shows a time quantizer 30B which provides coarse and fine resolutions. Referring to Figure 4A, time quantizer 30A includes a pair of oscillators 40A and 40B (generally oscillators 40) . Each oscillator 40 comprises a closed signal path along which a plurality of delay elements 41 are connected in series. Oscillators 40A and 40B have slightly different periods. Time quantizer 30 uses a differential method to obtain high resolution. This reduces the need for circuit matching.
[7] The time quantizer 30A of Figure 4A comprises oscillators 40, a coincidence detector 42 (in the illustrated embodiment, coincidence detector 42 comprises a flip flop 44) and a counter 46. The resolution of time quantizer 30A is determined by TΔ . The periods of oscillators 40A and 40B are set to be very slightly different so that TΔ is a short time. TΔ may be, for example, about 20 ps . TA is slightly larger than TB .
[8] Figure illustrates waveforms involved in the operation of time quantizer 30A. Oscillators 40A and 40B start oscillating on the rising edges of START and STOP respectively. Counter 46 starts counting on the rising edge of STOP. Coincidence detector 42 determines when reference points on the waveforms of clkA and clkB are in a known temporal relationship. In the illustrated embodiment the reference points are the rising edges of clkA and clkB. Flip flop 44 samples clkB at the rising edge of clkA. If flip flop 44 detects that clkB has a value of HIGH then flip flop 44 sets EOC_flag. Assuming that Td is larger than TΔ , EOC_flag will be low for the first cycle of clkB. However, in each successive cycle of clkB, the rising edge of clkB gets closer to the corresponding rising edge of clkA by an amount TΔ . Eventually the N- th rising edge of clkB will precede the corresponding rising edge of clkA by at least the setup time of flip flop 44. When this occurs, EOC_flag changes state .
[9] When EOC_flag changes state, the value in counter 46 is preserved. In the illustrated example oscillators 40 stop oscillating and counter 46 stops counting when
EOC_flag is set HIGH. The value N in counter 46 indicates the value of Td . In preferred embodiments, EOC_flag also initiates processing of data and prepares TDC 20 to measure another time interval .
[10] Preferably coincidence detector 42 is constructed to avoid logic errors which might be caused by metastable behaviour of flip flop 44. Metastable behaviour may occur if, for some value of Td, the interval between corresponding rising edges of clkA and clkB is within the metastability window of flip flop 44. Under these circumstances it may take significantly longer than τCLK_to. Q for the output EOC_DFF to switch to its HIGH state. If counter were driven directly by the EOC_DFF signal output by flip flop 44 then this could cause an unknown clock state for counter 46.
[11] In the illustrated embodiment, coincidence detector 42 comprises a triple flip flop synchronizer comprising flip flops 44, 44A and 44B. The output of flip flop 44B provides the EOC_flag signal. In this embodiment, if metastable behaviour of flip flop 44 prevents EOC_DFF from settling to its HIGH value after the Nth rising edge of clkB then the decision to end the measurement will be made at the N+l th rising edge of clkB. This is because the relative delay between the N+l th edges of clkA and clkB is greater than the delay between the Nth edges of clkA and clkB by TΔ, which is much greater than the metastability window of flip flop 44. For example, the metastability window of flip flops in some 0.35 μm CMOS digital cell libraries is less than 0.01 ps . Since the metastability window of flip flop 44 is typically extremely short, it will not significantly affect the precision with which jitter can be measured.
[12] It can be shown that the value N in counter 46 at the end of conversion is related to Td as follows:
NT = Td+ Tc+ TQ+ TR (4) where Tc is a constant offset time, TQ is the quantization error ( 0 < To≤ TΔ) , and TR is a random error due to intrinsic jitter of gates, flip flops and other components of TDC 20.
[13] Completing one measurement takes some time. The amount of time required for each measurement depends upon the value of Td. If the error term of Equation (4) is negligible then the time Tmeas required for one measurement can be shown to be : T + T T meas = NT AΛ = -X- — j, T A.
Figure imgf000028_0001
For example, if Tc=0, measuring an interval of 1 ns with a resolution of lOps requires a time of 200 x TA . If TA = 4 ns then the measurement time will be approximately 800 ns .
[14] Those skilled in the art will appreciate that time quantizer 30A has a limited valid measurement range. From the waveforms of Figure 4B it can be seen that if: Td were larger than TA-DTB , where D is the duty cycle of clkB, then flip flop 44 will sample a HIGH value on the second rising edge of clkA. This would signal an end of conversion prematurely. It can also be seen that if Td is less than |rB-rA|, where τA is the time between the application of the START signal to oscillator 40A and the first rising edge of clkA being applied to flip flop 44 and τB is the time between the application of the STOP signal to oscillator 40B and the first rising edge of clkB being applied to flip flop 44 then flip flop 44 will sample a HIGH value on the first rising edge of clkB regardless of the value of Td . This is because the first rising edge of clkB will occur when clkA is still HIGH.
[15] Range extender block 34 inhibits the operation of coincidence detector 42 until time quantizer circuit 30A is in its valid measurement range. In the illustrated embodiment, a NAND gate 48 is connected between flip flop 44 and counter 46. NAND gate 48 prevents EOC_flag from being applied to preserve the value in counter 46 until range extender block 34 has generated a RE-flag signal.
[16] Range extender block 34 may take various forms. One type of range extender uses a circuit which has delay elements in an input signal path. A range extender 34A which has this construction is shown in Figure 6A. Another type of range extender uses a circuit which has delay elements in a clock signal path. A range extender 34B which has this construction is shown in Figure 7A.
[17] Range extender circuit 34A comprises four flip flops, two k-bit counters, a it-bit comparator, and two delay elements. Figure 6B is a waveform diagram which illustrates signals at various points in range extender circuit 34A. Counters 70A and 70B respectively count the number of rising edges of clkA and clkB. Both counters are initialized to the same value, preferably zero. Since clkA is started before clkB, after the START signal starts clkA then counter 70A will contain a value MA which is greater than the value MB contained in counter 70B. The values of counters 70A and 70B are compared by comparator 72. The output of comparator 72 will go HIGH when MA = MB . RE_flag is set in response to comparator 72 detecting that MA = MB .
[18] As noted above, MA and MB are initialized to the same value. To prevent RE_flag from being set prematurely, circuit 43A uses a flip flop 73. Flip flop 73 prevents the RE_flag signal from being set until the first rising edge of clkA has occurred, thereby ensuring that counter 70A is ahead of counter 70B.
[19] When tA (j) - tB (l ) < TΛ then MB may become equal to MA for a short period after a rising edge of clkB and before the next rising edge of clkA arrives. This may cause comparator 72 to generate a short pulse 71. Pulses 71 become wider at successive rising edges of clkB. When pulses 71 become sufficiently wide, a pulse 71 can be sampled at the same clkA rising edge by both of flip flops 74A and 74B. When all of flip flops 74A, 74B and 73 are set then the output of AND gate 75 changes state to cause the RE-flag to be set.
[20] Since range extender circuit 34A operates asynchronously, a time diversity sampling technique is used to ensure valid sampling of the output of comparator 72. On each rising edge of clkA, counter 70A registers another count. For a short period after the rising edge of clkA, the output of counter 70A may have a transient random value. This random value, if equal to MB, may cause comparator 72 to generate a short pulse, or glitch 77A
(Fig 6B) at its output. Counter 70B changes its count on the rising edges of clkB. For the same reasons, comparator 72 may generate a glitch 77B at its output shortly after a rising edge of clkB. It is desirable to prevent such glitches from prematurely setting RE flag.
[21] Delay elements 76A and 76B delay the application of the output of comparator 72 to flip flops 74A and 74B.
The signals cmp_outl and cmp_out2 which are applied to flip flops 74A and 74B respectively are delayed by different amounts τ2 and τ2 + r2. Choosing a delay element
76B which causes τ2 to be longer than the longest expected glitch ensures that neither of flip flops 74A or 74B will be set to HIGH as a result of such glitches.
[22] The glitch width can be expected to be about % of the interval τCLK.to.Q, where τCLK_to_Q is the worst-case CLK- to-Q delay for an output bit of counter 70B. This assumes that the worst case process variation of τCLK.to.Q is less than about 1/4 τCLK_to.Q . The expected worst case process variation of rCLK_to-0 may be determined by performing a monte-carlo analysis of the components of counter 70B.
[23] Both of flip flops 74A and 74B must be set before the output of AND gate 75 will change state to set RE_flag. Delay element 76A causes flip flops 74A and 74B to sample the output of comparator 72 at different times. As the rising edges of clkA and clkB become closer together, the pulses output by comparator 72 become longer in duration. Eventually the pulses are long enough in duration to trigger both of flip flops 74A and 74B on one rising edge of clkA. Delay element 76A is selected to provide a value of r2 such that when both of flip flops 74A and 74B are triggered, tB (lj - tA ) is within the valid range described above. For example, where range extender circuit 34A is made using a 0.35 μm CMOS process then τλ may be selected as follows:
Tl A τclkB-to-cmp_outl ~ C + ^ Xetup (6) where τclkB_to_cmp outl is the delay between a rising edge of clkB and a corresponding rising edge of cmp_outl and Tsetup is the maximum setup time for flip flop 44.
[24] It is worth noting that range extender block 34 does not affect the ultimate precision or accuracy of any measurements made since it merely ensures that the i th rising edges of clkA and clkB are close enough for measuring by time quantizer 30. Range extender block 34 does not interfere with the path of signals clkA and clkB to E0C_flag. From Figure 6B it can be seen that the range extension provided by range extender circuit 34A is as follows :
Td < (2*- \)TA (7)
[25] Figure 7A shows an alternative range extender circuit 34B. Figure 7B shows waveforms at various points in circuit 34B for the example of Td = 2.6 TA . The core of circuit 34B comprises k-b±t counters 70A and 70B which have outputs connected to a k-bit comparator 72. The output of comparator 72 is connected to the D inputs of flip flops 78A and 78B. Delay elements 76C and 76D are placed in the clock paths of counter 70A and flip flops 78A and 78B. These delay elements provide signals clkAl and clkA2 which are delayed versions of clkA. Circuit 34B has the advantage that the desired values for the time delays produced by delay elements 76C and 76D do not depend on other time delays in the circuit. This feature makes range extender circuit 34B especially well adapted for field programmable gate array ("FPGA ") implementations of the invention.
[26] In range extender circuit 34B, counters 70A and 70B are initialized to values which differ by 1. Preferably these counters are initialized to values of 1 and 0 respectively. Counter 70A counts rising edges of clkA2 and counter 70B counts rising edges of clkB. From Figure 7B it can be understood that the number in counter 70A remains larger than the number in counter 70B as long as ^A2 d) - ^B(i) > τ Ai+ τA2i where τA1 and τA2 are the delays produced by delay elements 76C and 76D respectively. When tA2 (ι> - tB (l ) < τA1+ τA2 then MA becomes equal to MB for a brief time. This causes comparator 72 to generate a pulse 79. Pulse 79 becomes wider at subsequent rising edges of clkB. When pulse 79 is wide enough that both of flip flops 78A and 78B become set at the same time then
RE_flag is set .
[27] Referring now to Figure 5, a dual threshold time quantizer 30B also has two oscillators 40. Oscillators 40A and 40B begin oscillating at the rising edges of START and STOP respectively. In time quantizer 30B, oscillator 40A includes a delay element 50 which selectively provides either a shorter delay or a longer delay depending upon the value of a control signal, CRS_flag. During a first part of a measurement cycle delay element 50 is set to provide a longer delay. This causes TΔ to have a relatively large value TΔC. During a second part of the measurement, control signal CRS_flag controls delay element 50 to provide a smaller delay. This reduces TΔ to a smaller value TΔF. Preferably TΔC is in the range of 5 times to 30 times greater than TΔF. Most preferably, TΔC is approximately 10 times greater than TΔF.
[28] During the first part of the measurement cycle the successive rising edges of clkB approach the rising edges of clkA relatively quickly because TΔ is relatively large. When the rising edges of clkB and clkA are separated in time by a value smaller than a threshold time interval then a coarse/fine resolution control circuit 52 causes control signal CRS_flag to switch delay element 50 to its low delay state. In effect, each measurement begins with a coarse resolution and switches to a fine resolution when the rising edges of clkA and clkB are becoming very close to one another.
[29] In the illustrated embodiment, resolution control circuit 52 comprises a delay line 54 which produces a version of clkA delayed by an interval τfιne at the clock input CLK of a flip flop 56. clkB is connected to the D input of flip flop 56. When rising edges of clkA and clkB are separated by an interval of τfιne, or less, then flip flop 56 changes state and CRS_flag is set. A first counter 58 counts the number (NC0ARSE) of cycles of clkA which occur during the first part of the measurement cycle. A second counter 59 counts the number (NFINE) of cycles of clkA which occur during the second part of the measurement cycle .
[30] To prevent metastable behaviour of flip flop 56 from causing indeterminate states in counters 58 and 59, resolution control circuit 52 preferably comprises flip flops 56A and 56B. Flip flops 56, 56A and 56B together comprise a triple flip flop synchronizer as described above .
[31] It can be shown that the numbers counted by coarse counter 58 and fine counter 59 are related to Td as follows :
^COARSE Δ.C + ^FINE* AF ~ d + 1 C + * Q + R (8) where Td, Tc, TQ, and TR, are as described above.
[32] If the error term in Equation (8) is negligible then the time required to take one measurement is given approximately by:
-* meas * T, (9)
Figure imgf000034_0001
[33] For example, if Tc=0, and rfιne=300ps then measuring an interval of 2ns with TΔC =50 ps and TΔF =10 ps yields
NCOARSE=34 and NFINB=3 Q . If TA = 4 ns then the measurement time will be approximately 256 ns . It can be seen that this is significantly shorter than the time required to take a similar measurement using the single resolution time quantizer 30A.
[34] Preferably resolution control circuit 52 is constructed to allow the value of τfιne to be varied. In the illustrated embodiment, delay line 54 comprises a multiplexer 60 which permits one or more delay elements 61 to be either included or not included in the signal path of delay line 54. When delay elements 61 are included in the signal path of delay line 54, τfιne has a value τfιneN . When delay elements 61 are not included in the signal path of delay line 54, τfιne has a smaller value TfmeF - Tne ability to vary τfιne permits the noise floor of time quantizer 30B to be estimated in the manner described below.
[35] The time quantizer circuits described above rely on oscillators 40A and 40B having periods which differ by only a very small amount TΔ . Any mismatch in the gate delays or interconnect wiring between oscillators 40A and 4 OB can cause a significant increase in TΔ . The resolution and accuracy of the time quantizer are degraded if TΔ increases. The mismatch could also result in TB > TA . This would prevent the time quantizer from functioning properly.
[36] Oscillators 40 are preferably constructed in a manner which permits TΔ to be set accurately. This may be done by constructing one or both of oscillators 40 using a plurality of controllable delay elements 41A. Figure 8 shows a pair of oscillators 40 which each include a number of controllable delay elements 41A. Each controllable delay element 41A includes a control line which controls the controllable delay element to provide either a longer delay or a shorter delay. The controllable delay elements 41A are controlled digitally by a resolution adjustment controller 82 to achieve relative values for TB and TA such that TΔ is less than a threshold Tth . Tth is selected to provide adequate resolution and is preferably user configurable. This threshold may be supplied to the circuit as a 16-bit digital number.
[37] The amount of delay which a controllable delay element can add is given by:
XCDE = τCDE(l) " XCDE(0) (10) where TCDE (1) and τCDE (0) are the delays provided by the controllable delay element when it is in its longer delay state and its shorter delay state respectively. Resolution adjustment controller 82 generates control signals for controllable delay elements 41A. At any time the state of controllable delay elements 41A can be represented by a pair of vectors, a = a0, al f ... an and B = b0, bl f ... bn where each element of the vector represents the state of one of the controllable delay elements 41A. Resolution adjustment controller 82 searches for vectors a and B which yield an acceptable value for TΔ (i.e. TΔ < Tth ) .
[38] In the currently preferred embodiment of the invention, resolution controller 82 causes time quantizer 30 to measure (in a single resolution mode) two known time intervals Tref and 2 Tref . The time intervals may be, for example, the period of accurately known reference signals. The number of counts in counter 46 is obtained for each measurement and the numbers of counts are subtracted from one another to yield a difference NΔ . Assuming that measurement errors are negligible then NΔ and TΔ are related to one another by:
Figure imgf000036_0001
[39] Since Tref is constant, a larger NΔ corresponds to a smaller TΔ . For TΔ to be smaller than Tch, NΔ must be larger than some corresponding value Nth . Resolution adjustment controller switches controllable delay elements 41A between their states until it finds a combination in which NΔ < Nth . The steps implemented by resolution adjustment controller to most efficiently seek appropriate vectors a and b will depend upon how much delay can be added by each controllable delay element 41A. [40] Oscillators 40 may be constructed so that all of controllable delay elements 41A are designed to be the same. Process variations will result in variations of the delays provided by the controllable delay elements 41A. Preferably each controllable delay element 41A is constructed so that the nominal delay, Tstep, added by each controllable delay element is less than % Tth . This can be done by choosing appropriate sizes for the components used in the controllable delay element 41A.
[41] When this construction is used, as vector a (or vector B) steps through values from 0, ..., 0 to 1, ..., 1 then TΔ can be stepped in increments of Tth, or less. As long as the initial difference between TA and TB is in the range of (- (n- 1 ) Tth, % {n- l ) Tth) then there exist vectors a and B such that TΔ < Tth .
[42] On a real chip it is difficult to guarantee the uniformity of the steps because the value of Tstep varies with process variations and is affected by the states of neighbouring controllable delay elements. Assume that Tstep{1 ) < Tstep< Tstep(u), where Tstep(1) and Tstep(u) are the lower and upper 3σ thresholds of the probability density function (PDF) of Tstep (these thresholds may be estimated by performing monte-carlo simulations of loaded ring oscillators) . Then, as long as Tstep(u) < Tth, vectors a and B that satisfy the resolution requirement can generally be found if:
- nTsteP(D < T 0- TB0 < nTsteP{l) (12)
Where 3σ values of Tstep(1) and Tstep(u) are used no more than about 1% of manufactured circuits will fail to be able to meet the desired resolution even though the values of Tstep are not uniform as a result of process variations. Where 6σ values are used then fewer than about 0.1% of manufactured circuits will fail to provide the desired resolution.
[43] Resolution adjustment will take the maximum time if all 2n+l combinations of vectors a and B (each combination has a different numbers of l's in vector a or B ) must be tried to achieve the required resolution.
[44] If Tstep(1) is small relative to Tth then larger numbers of controllable delay elements 41A must be provided to ensure that a suitable value for TΔ can be obtained even if TA0 - TB0 is initially large.
[45] Instead of making the delay provided by all of controllable delay elements 41A the same, oscillators 40 may be designed so that different controllable delay elements 41A provide different delays. Preferably the delays are related to one another in an ascending series to provide resolution adjustment steps of different sizes. Most preferably:
Figure imgf000038_0001
where 0 < <f < l is a constant and τCDEl is the delay added by an ith one of controllable delay elements of an oscillator 40. For example, an oscillator 40 constructed with a series of controllable delay elements 41A such that τCDE1 = 8 ps and f=0.5 can have its period adjusted in steps of 8 ps , 12 ps, 18 ps, 27 ps, 40.5 ps, 60.75 ps and so on.
[46] To guarantee that oscillators 40 can be controlled to provide a value of TΔ smaller than Tth, The maximum size of the smallest step (taking into account probable process variations) should be smaller than Tth . [47] Where oscillators 40 are constructed to permit adjustment of TΔ in steps of different sizes then resolution adjustment controller may take advantage of the fact that both coarser and finer adjustment steps are available. This permits very fine resolutions (for example, resolutions on the order of 5 ps or less) to be achieved while reducing the average adjustment time. A binary search algorithm is preferably used to select vectors a and B which provide a resolution TΔ < Tth .
[48] In addition to adjusting oscillators 40 to provide a desired value for TΔ resolution adjustment controller 82 should check to ensure that TA > TB . A TATB checker circuit 84 may be used to perform this check. Figures 9A and 10A illustrate two alternative TATB checker circuits that may be used in practising this invention. TATB checker circuit 84A of Figure 9A is used by triggering both of oscillators 40A and 40B at the same time (i.e. Td = 0) . TATB checker circuit 84A includes a pair of flip flops 85, 86 and a counter 88. As the waveforms of Figure 9B illustrate, when TA < TB , flip flop 85 samples LOW until the ith rising edge of clkA matches that of clkB.
This occurs after ((D-1)TA +TC) / TΔ cycles of clkA.
However, flip flop 86 samples a HIGH value after TC/TΔ cycles of clkA. Therefore flip flop 86 is set before flip flop 85.
[49] As seen in Figure 9C, if TA < TB, the reverse occurs. Resolution adjustment controller 82 can check to ensure that TA < TB by monitoring the two flags EOC_flag and ERRl_flag which are set by the outputs of flip flops 85 and 86 respectively. While the condition TA < TB is being checked, the reset lines of flip flops 85 and 86 must be inactive. This is ensured in TATB circuit checker
84A by providing an OR gate 89 controlled by resolution adjustment controller 82. OR gate 89 maintains the reset lines of flip flops 85 and 86 LOW while a check is in progress .
[50] For TATB circuit checker 84A to function properly the integer part of ( (D-l ) TA +TC) / TΔ must not equal the integer part of TC/ TΔ . Otherwise, both flags may be set in the same cycle of clkA. This requirement will generally be satisfied by typical designs. For example, in a circuit implementation in a 0.35 μm CMOS process, (D-l ) TA is 1.5 ns, maximum Tc is 0.4 ns and maximum TΔ is
0.15 ns. In the worst case the integer part of ( (D-l ) TA + TC) / TΔ is 12 while the integer part of TC/ TΔ is 2.
[51] Since setup and hold times for flip flops 85 and 86 could be different, flip flops 85 and 86 might be set high simultaneously on the first or second rising edges of clkA and clkB. Such a case results in decision deadlock. The alternative TATB checker circuit 84B of Figure 10A addresses this problem but is more complicated than circuit 84A. Circuit 84A may share components with time quantizer 30. for example, flip flop 85 may be the same flip flop as flip flop 44 of Figure 4.
[52] It can be seen from the waveforms of Figure 10B that counter 70A (Fig. 6A) will count faster than counter 70B as long as TA < TB . This causes MA - MB to increase as time passes. Assuming that Td=0 the initial difference between the values in counters 70A and 70B will be either 0 or 1. If this difference becomes 2 or more then it must be the case that TA < TB . TATB circuit checker 84B has a pair of counters 90A and 90B. Comparator 92 compares the values in counters 90A and 90B. Counter 90B is initialized to a value which is 2 larger than the initial value of counter 90A. For example, counters 90B and 90A are initialized to values of 2 and 0 respectively.
[53] If the values in counters 90A and 90B become equal then comparator 92 generates a signal at its output which indicates that TA < TB . The techniques for reliably detecting when the values in counters 90A and 90B are equal which are described above in respect of range extender circuits 34A or 34B are preferably also used in TATB circuit checker 84B. In the embodiment illustrated in Figure 10A the delayed clock signals clkAl and clkA2 from range extender circuit 34B are connected to the clock inputs of flip flops 93 and 94.
[54] TATB circuit checker 84B may share components with other circuits which are not required to operate while a TATB check is being performed. For example, counter 90A may comprise at least 3 significant bits of counter 70A of Figure 4.
[55] If controllable delay elements 41A all provide substantially the same variation in TΔ then one method that can be implemented in resolution adjustment controller 82 for selecting vectors a and B is to perform an exhaustive search. Resolution adjustment controller may comprise a 2n-bit state machine where n is the number of controllable delay elements 41A in each of oscillators 40A and 40B. n of the state machine's output bits are connected to the n controllable delay elements of oscillator 40A and the other n output bits are connected to the n controllable delay elements of oscillator 40B. The state machine cycles through all possible combinations of a distinct vector a with a distinct vector B (in this case, two versions of a vector a are not considered distinct unless they have the different number of l's. For example, a=1100000 is not considered distinct from §=1000100 because both of these vectors have two l's in them) . Figure 11A shows steps in one possible exhaustive search method 100A for selecting vectors a and B. If all distinct combinations of vectors a and B have been tried and no combination which provides an acceptable TΔ has been found then an error signal is generated.
[56] One disadvantage of performing an exhaustive search is that it can be unnecessarily time consuming. To reduce time, an alternative method, 100B, which is shown in
Figure 11B may be used. Method 100B checks only distinct vectors a if TA < TB and checks only distinct vectors B if TA > TB . This reduces the number of combinations that must be checked.
[57] Where oscillators 40 are constructed with controllable delay elements which are designed to add different delays when activated then the exhaustive search strategy becomes less practical because it requires a much larger number of combinations of vectors a and B to be checked. Up to 22n combinations may need to be checked in the worst case. An exhaustive search can be implemented easily by providing a 2n-bit counter in resolution adjustment controller 82 as shown in Figure 12.
[58] A semi -exhaustive search can be performed with the similar hardware. The semi -exhaustive search increments either a or B, depending upon whether TA> TB or TB>TA . Figure 13 is a flow chart which illustrates steps in a semi -exhaustive search method. In a semi -exhaustive search the maximum number of combinations tested is 2n .
[59] Figure 14 depicts steps in a fast search method 110 that may be implemented in resolution adjustment controller 82. In method 110 if TA< TB only a is adjusted because TA must be adjusted to obtain an acceptable value for TΔ . Similarly, if TA>TB, only B is adjusted to increase TB . Since oscillators 40A and 40B are made to be very similar to one another, TA and TB will likely be initially close to one another. Therefore, the first choice is a =0..0 and B=0..0. If N^, < Nth, the lowest significant bit of a (or B) (depending on whether TA< TB or TA> TB ) is set high to increase TA (or TB) by the smallest amount possible. If the required resolution is still not achieved, the next bit of a or B is set HIGH and all other bits are set LOW. This is continued until setting the i-th bit HIGH implies that or TA (or TB) has been increased too much. Then the i-th and (i-1) -th bits are set LOW and HIGH, respectively, and the process starts over by setting the 0-th bit. To illustrate method 110, assume that TA>TB, n=6 and the required resolution is ultimately achieved for B =001001. The algorithm goes through the following sequence to find the required B: 000000, 000001, 000010, 000100, 001000, 010000, 001001.
This is in contrast with the exhaustive and semi-exhaustive searches, which go through the following sequence: 000000, 000001, 000010, 000011, 000100, 000101, 000110, 000111, 001000, 001001. As can be seen from above, the fast algorithm finds the solution in 7 steps, while the exhaustive and semi-exhaustive search each require 10 steps.
[60] Controllable delay elements 41A can take any of various forms. Some types of controllable delay element may be made with standard digital cells. A controllable delay element may comprise a logic gate having a capacitive load provided by a load element. The load element permits the capacitive load to be digitally switched to different values. Each load element comprises a digital switch and a load. Turning on the switch increases the load applied to output of the corresponding logic gate. This results in a longer propagation delay.
Figures 15A through 15E illustrate various types of load elements and their simplified models.
[61] In designing load elements it is preferable to minimize the cell area required to provide a time difference Tdiff . It is also desirable that Tdiff should be relatively insensitive to variations in the control voltage VctrI . If Tdiff varies with fluctuations in Vctrl then any noise in Vctrl will add jitter to oscillators 40. This will increase TR with the result that time quantizer 30 will have reduced precision.
[62] In the following description, Cgs (x) , Cgd (x) , Cgb (x) , Cdb tx) i an( Csb (x) are respectively the gate-source, gate-drain, gate-bulk, drain-bulk and source-bulk capacitances of the transistor Mx, where is a transistor
T identifier. Values forS Λf v are listed in Table I for
various types of load element .
[63] Figure 15A shows a voltage-controlled NMOS load element 112A. Although element 112A provides a relatively large Tdiff in a small area, Tdiff is quite sensitive to Vctrl because the equivalent capacitive loading of cell is a function of Vct J .
[64] Figure 15B shows a load element 112B in which the capacitive load is a capacitance 113. A simple model for such a load element has an ideal switch S, the switch resistance Rs, the switch drain capacitance Cd (s) = Cdb (s) + Cgd (s) , the switch source capacitance Cs (s) = Csb (s) + Cgs (s) , and the load capacitance CL. Rs is in the range of a few tens of MΩ when switch 114 is OFF and a few KΩ when switch 114 is ON. As is evident in the model, the Cd (s) and Cs (s) are also loading the oscillator. Since C^^, , Cgd (s) , Csb (s) , and Cgsis) are functions of Vctrl , this style of load element has a high Tdlff sensitivity to Vctrl and is therefore not preferred. Any load element having a switch connected to the oscillator node suffers from this high sensitivity characteristic .
[65] Figure 15C shows an alternative load element 112C and its simple model. In the model, Cd (s) = ^^ + Cgd (s) . This design provides a low Tdlff sensitivity to Vctrl because when switch transistor Ms is ON, the impedance of Cd (s) , Zd (s) =%πf Cd (s) >> Rs . Therefore, the Cd (s) variations do not affect the total loading provided by load element 112C significantly. Note also that variation in Rs due to Vctrl does not affect the capacitive loading of the cell significantly. If the Ms area is large such that CL << Cd (s) and Zd (s) dominates (i.e. Zd (s) << Rs) , then the load variation due to Vctrl variations is not significant because: CL (con) = CLCd (s) / ( CL+ Cd (s) ) ~ CL . In this case, the effect of Rs is significantly diminished, which means that the load variations for ON and OFF states of switch Ms are small. This is a disadvantage when larger load variations are required. Therefore, special attention must be paid to switch size in this design. Load element 112C has the advantage that it occupies a small area for a given load. However, fabricating a load element 112C requires that the target technology permit fabrication of floating capacitors .
[66] Figure 15D shows a load element 112D similar to load element 112C except that a NMOS gate capacitor is used instead of a parallel -plate capacitor. In the associated model, Cg (L) = Cgs (L) + Cgd (L) and Cd=Csb (L) + C^^ + c db ts) + c dg(s> - Tne sensitivity of Tdlff to variations in Vctrl is only marginally greater than that of load element 112C. In the prototype implementation, described below a load element 112D is used because it provides 10 ps delay in an area of a single-drive NOT gate and it exhibits low sensitivity to variations in Vctrl .
[67] The load element 112E of Figure 15E shows a good insensitivity to variations in Vctrl but requires more area to achieve a given delay than does load element 112D. In the model for load element 112E, Cd (L) = Cgs (L) + Cgd (L) and Cd ~ gb (L) + Cdbrs + Cdg (s) .
[68] Table I shows values for Tdlff for the load elements of Figures 15A through 15E. The numbers in Table I are for a test configuration shown in Figure 16 in which either 1, 2, 3, 4, 5, or 6 load elements were turned on. Table II shows values for the sensitivity of Tdlff to variations in VctrI .
Figure imgf000047_0001
Figure imgf000047_0002
Figure imgf000048_0001
[69] Controllable delay elements 41A may also be based on standard digital cells. This is preferable because there are some situations where it is not possible or practical to update a digital library for fabricating an oscillator for use in the invention. Figures 17A and 17B show two controllable delay elements 115A and 115B which each use a multiplexer 116 to select between two path segments for insertion into a signal path. Such controllable delay elements are useful especially where the controllable delay element should exhibit a large delay difference between its long delay and short delay states. Process variations typically cause different multiplexers made according to the same design to exhibit significant differences in propagation delays. These process dependent variations could mask small differences in delay between the two path segments. A multiplexer- based controllable delay element is particularly useful for achieving a delay increment step of about 40 ps or more .
[70] The delay difference in the two multiplexed path segments can be achieved by providing a different number of delay elements in the two path segments, as shown in figure 17A or by loading a delay element in one path segment differently from a corresponding gate element in the other multiplexed path segment as shown in figure
17B. The construction shown in Figure 17B is preferred where 20 ps < τCDE < 60 ps . The construction shown in
Figure 17A is preferred where τCDE > 60 ps .
[71] For achieving a very small τCDE on the order of a few picoseconds, one of the controllable delay elements of
Figure 18A, 18B or 18C may be used. In controllable delay element 117A of Figure 18A, a logic gate 119 is loaded by the input of a tri-state NOT-gate (tri-NOT) 120. The delay of the element increases when tri-NOT 120 is activated.
[72] Figures 19A and 19B show two typical tri-NOT gate implementation as can be found in standard cell libraries. When the tri-NOT gate of Figure 19A is inactive, the load Cgdp + Cgdn is floating because these capacitances are in series with large impedances (transistors Ml and M4 are in high impedance mode) . When Ml and M4 are turned on, these capacitances are added to the capacitive load on the input of the tri-NOT. A similar effect occurs when a tri-NOT as shown in Figure 19B is activated. A value of τCDE of 3 ps or less may be obtained in a controllable delay element 117A made with standard 0.35 μm CMOS fabrication processes.
[73] The additional capacitative loading provided by a tri-NOT gate when it is activated is a small percentage (typically about 5% to 10%) of its total loading. A controllable delay element 117A therefore is particularly useful where a very small value of τCDE is required. As shown in Figures 18B and 18C the value of τCDE can be changed by either using a different tri-state buffer as a load element or by adding additional load elements at the output of gate 119.
[74] Figure 20 shows a controllable delay element 122 which comprises a number of similar logic gates and tri- state gates connected in parallel . All of the gates should provide similar functions and have similar propagation delays. If they do not then logic contentions may occur at the outputs of each element . In the illustrated embodiment, a NOT gate 123 is connected in parallel with a tri-NOT gate 124. When it is inactive, the tri-NOT gate 124 contributes only an output load. NOT gate 123 provides drive current as well as load. When tri-NOT gate 124 is activated, it adds a small load to the output load and some drive current to the total drive. Depending on which of the additional load or drive current has the dominating effect the delay will increase or decrease. The delay which can be controlled by a controllable delay element 122 can be estimated by:
Figure imgf000050_0001
where Co (0) and Io (0) are the output capacitance and drive current of delay element 122 when tri-NOT 124 is inactive and CΔ and IΔ are the additional capacitance and drive current when tri-NOT 124 is active.
[75] Delay element 122 has the disadvantage that it suffers from large process variations. However, it may be used with good results for mid range values of τCDE (in the range of, for example, 20 ps to 50 ps) . Delay element 122 has the advantage that it can be implemented with devices from a digital library which includes tri-state buffers but does not include tri-NOT gates. A delay element 122 can, for example, be implemented on a FPGA. In many FPGA block cells the only available tri-state devices are tri-state buffers.
[76] A TDC 22 according to the invention is calibrated 5 before it is used. Where time quantizer 30 is a single resolution quantizer (for example in a time quantizer which uses circuit 30A) , the relationship between N and Td is linear. Therefore, if one knows Tc and TΔ then it is straightforward to calculate Td from N. To estimate Tc and 10 TΔ two accurately know time intervals Tcall and Tcal2, which may be supplied from off-chip, are measured. The resulting numbers N and N2 are recorded. It can be seen that:
,lTA = Tcαll + TC + ^ Ql + ^ (15)
15 and ,
Ncαl2TA = Tcαl2 + TC + TQ2 + TR2 (16) where TQ1 and T02 are quantization errors, and TR1 and TR2 are random errors associated with the first and second measurements respectively. Preferably TCall and TCal2 are 20 chosen so that Ncall -Ncal2 > 200.
[77] Tc and TΔ may be estimated using a two-point calibration, in which case Tco , the estimated value of Tc is given by:
,. _. T cαlT ^cαll ~ * cαll^ cαl2
25 Tco = N l cαl2 - N -'"call (17)
and TΔo, the estimated value of TΔ is given by : r T x cal2 - T call cal2 call [78] It can be shown that the error associated with the estimation of TΔ is a random variable having a mean of zero and a variance given by:
Figure imgf000052_0001
The error associated with the estimation of Tc is also a random variable having a mean of -TΔ/2 and a variance given by:
( τ 2 + alΑll)2
(20)
12 + °R - tlY
[79] A more accurate estimate of Tc and TΔ may be estimated using an n-point calibration. For an n-point calibration, n accurately known time intervals are measured by TDC 22. These time intervals are multiples of a reference interval. An objective of n-point calibration is to limit the range of TQ variations and to therefore reduce σTce .
[80] Since a low-jitter reference clock is often available on a chip for two-point or n-point calibration, it is convenient to choose Tcall = Tref , Tcal2= 2Tref , ... , Tcaln= nTref . A circuit 130 that allows reliable generation of KTref intervals is shown in Figure 21A. In circuit 130, when Cal=0, the Ref signal is connected to the elk inputs of flip flops 132 and 133. Since the D input of flip flop 133 is always HIGH, START is set high at the first rising edge of the Ref signal. The STOP signal always is set HIGH one Ref cycle after SP_In turns HIGH. Since the
K_DGen state machine block 134 sets SP_In to HIGH (K-l) cycles after the rising edge of the Ref signal, A delay of K Ref cycles results between the edges of START and STOP. The waveforms in Fig 2 IB illustrate the operation of circuit 130 for K=0 , 1 and 2.
[81] Constant delay is generated in the path of calibration signals in this circuit. The same delay will be used in the actual measurement, except for the term Δ τmxι - Δ τmx2 which represents the variation of the difference in propagation delays from 10 and II inputs to output in the multiplexers MUX1 and MUX2 , respectively. This is important for making absolute measurements because, if the mismatch is significant, the value estimated for Tc during calibration will not be the same as the one used in actual measurements. This would cause additional error.
[82] Therefore, the Ref signal paths to elk inputs of flip flops 132 and 133 must be matched to the INI and IN2 signal paths to the same inputs, respectively. This is particularly important in high resolution measurement because on-chip matching of elements to a high resolution is very difficult. Here, it is assumed that this matching is achieved, and therefore the term Δ τmxι - Δ τMUX2 is negligible. This matching is not required when the calibration is being performed for making differential measurements because Tc does not affect the accuracy or precision of differential measurements.
[83] Where a double resolution time quantizer 30 is used
(for example, where the time quantizer circuit 30B of Figure 5 is used) each measurement generates two numbers. To estimate TΔ (C) and TΔ fF) system 20 may perform a number Mcal of measurements of known time intervals. In a preferred embodiment of the invention, the ith measurement set includes the following three measurements:
1 - Td (l ι l ) = Tref and , τfιne= τf ιnel . There fore : Nc(ιΛ)TA(0 + NΛ.Λ)TAif) = r ,i) + TC + TβdA) + TM) (2D
2- Td ι21 = 2Tref and τfιnefιnel Therefore:
Nc(ι,2)TA(c) + N[ι,2)TA<) " Td(ι,2) + TC + TQ{ι,2) + TR(ι,2) (22)
3. Td(1/3) = 4Tref and rf ine= rf ιne2 Therefore:
Figure imgf000054_0001
[84] Each of these measurements is made M times and the resulting three sets of M equations are averaged over 1=1, ..., Mcal to yield the following equations:
Nc(ι,l)TA(c) N T T .D τc + Q('Λ) R(ι,\) (25)
N dι.2) T1 A(c) N T = T d(ι,2) 0(1,2) + T R.U.2) (26)
,3y (c) + ^j[ι,iγ-A() d(ι,3) + C + ^β(/,3) + ^/.(.,3) (27)
[85] For sufficiently large values of Mcal, TR(j) and TQ(J] average to negligible values. Choosing Td(lιl)=Tref,
Figure imgf000054_0002
is desirable because it simplifies circuit design. Assuming that noise factors are negligible, subtracting equation (26) from (25) and equation (27) from (26) yields the following system of equations :
Figure imgf000054_0003
and,
Nc(3l)TA(c) + NA l)Tm = 3Tref (30) where : fVjc(21)
Figure imgf000054_0005
Figure imgf000054_0004
[86] Solving this system of equations provides accurate estimates for TΔ and Tc. It is important to note that Td(lι3) is measured while τfιnefιne2 that the determinant of equations (29) and (30) is large enough to preserve the estimation accuracy.
[87] System 22 can be used to make various types of measurement. One jitter characteristic that can be measured is RMS jitter. RMS jitter can be defined as follows :
Figure imgf000055_0001
where M is the number of samples taken and Td 1 is the time interval measured for the i-th jitter sample.
[88] Estimating j^ is often sufficient for jitter testing. It can be shown that an estimate of ^ is given by:
T 2 f 2 -- j - 2 _Δ_ 2 (33Λ
JRMS 1 RMS 17
where σ2 R is the total RMS internal jitter of TDC 30. TΔ is known through calibration. If TDC 30 is well characterized then σ2 R will also be known. Therefore, an accurate estimate of RMS jitter can be obtained.
[89] The error in this estimate can be shown to be inversely proportional to M. Therefore, this error can be made to be very small by using a large value for M. M may be, for example, in excess of 500 and is preferably in the range of 1000 to 2500. In designing a TDC 30 for use in estimating RMS jitter it is more important to minimize σ2 R than it is to minimize TΔ because the value of TΔ can be determined accurately during calibration of TDC 30. [90] The variance in internal jitter of time quantizer
30 increases with the number of cycles it takes to complete a measurement. The internal jitter in time quantizer 30 can be estimated by performing two sets of measurements after calibration using a double resolution time quantizer. A first set of measurements is taken with τ fme- τ fιnei - Tne result is a set of pairs of counts Ncl , and
Nfl . The second set of measurements is taken with τfιne= τfιne2. The result is a set of pairs of counts Nc2, and Nf2. The second set of counts has the same single shot accuracy as the first set of counts. However, each measurement in the second set takes more cycles of clkA to complete because τfιne2< τfιnel . In the second set of measurements, a larger proportion of each measurement is carried out in the fine resolution mode.
[91] Since the second set of measurements take longer to complete, the total measured RMS jitter in the second set of measurements is greater than the RMS jitter in the first set of measurements. Since the input signal is the same, the internal jitter of time quantizer 30 can be determined. If we assume that the internal jitter of time quantizer 30 appears as white noise then the internal jitter in the second set of measurements will scale with a factor α relative to the internal jitter in the second set of measurements with α given by:
N, + (34)
N
where N1=Ncl+Nfl and N2=Nc2+Nf2. If the noise is Gaussian it is possible to achieve measurement accuracy of 0.1 ps using this technique by choosing a large M. For example, RMS jitter in a 10 MHz signal could be measured with 0.1 ps accuracy by taking approximately M=300,000 samples. [92] For testing jitter tolerance and jitter transfer characteristics of devices such as clock recovery units ( "CRUs" ) it is necessary to supply the CRU with a signal that has a known jitter. Figure 22 shows a circuit 140 which may be used to generate a signal having known jitter characteristics. A jitter-free clock signal is supplied to circuit 140. Circuit 140 includes a delay line 141, a multiplexer 142 and a sequence counter 143. The multiplexer connects a selected tap of delay line 141 to output J in response to a control signal from sequence counter 143. Sequence counter 143 specifies which tap is connected to output J at any clock edge. For example, if delay line 141 has 8 taps and sequence counter 143 is a three bit up/down counter then circuit 140 will generate a triangular shaped jitter signal with a maximum peak-to- peak amplitude of τg where τg is the delay introduced by each delay element of delay line 141. By using a counter with a sequence which follows a sinusoidal pattern, circuit 140 will generate a signal having jitter which varies sinusoidally with time. Sequence counter 143 may be programmable so that circuit 140 can generate various types of jitter signal at its output J.
[93] A TDC 22 may be used on-chip to measure period jitter. A histogram approach can provide statistics of such jitter. TDC 22 can measure period jitter by causing edge sampler 24 to make a number of measurements. In each measurement the edge sample passes two consecutive rising (or falling) edges of a signal Vιn being measured to time quantizer 30 as START and STOP signals. After this has been done, control circuit 26 reads the value (s) of N stored in the counter (s) of time quantizer 30, passes these values to an analysis system and commences another measurement. This can be repeated until a desired number of samples has been taken. Figure 23 shows an edge sampler circuit that may be used m making period jitter measurements .
[94] The analysis system will typically be an external tester but may also be on chip. Where the analysis system is external then the data collected is transmitted to the analysis system through a suitable interface. For example, the chip may comprise a serial bus such as a JTAG interface or a parallel interface for moving the data off-chip. Preferably an on-chip data storage area is provided to hold the collected data while it is waiting to be delivered to the analysis system.
[95] The analysis system can form a histogram of the data and calculate variance and peak-to-peak jitter. If the analysis system receives information about the time at which each sample was taken then it can also analyze frequency components of the jitter. Thus, appropriately configured systems according to the invention may be used to conduct full jitter compliance tests.
[96] In some applications, such as serial communications it is necessary to measure jitter between corresponding edges of two different signals. For example, without loss of generality corresponding edges of two signals might be required to fall within a tight time window. Figure 24A shows an edge sampler circuit 150 that can be used to generate START and STOP signals for measuring jitter between two signals INI and IN2. In circuit 150, flip flop 151 samples an edge of INI and flip flop 152 samples an edge of IN2 which is closes to the sampled edge of INI. A delay element 153 ensures that the output of flip flop 151 has enough time to be set before the edge of IN2 arrives. This will be the case if:
m > - τD2 + + τs2 (35) where τql is the CLK-to-Q delay of flip flop 151, τs2 is the setup time of flip flop 152, and τD2 is the delay introduced by delay element 153.
[97] Figure 24B is a timing diagram which shows waveforms at various points in edge sampler circuit 150 for one positive and one negative value of j = tIN1- tIN2. The generated START and STOP signals are passed to TDC 22 for measurement of the time displacement between them. After a measurement is completed, flip flops 151 and 152 are reset and another measurement can be taken. While the sample and hold times of flip flops 151 and 152 affect the measured time displacements, these times are constant and affect all measurements equally. They can therefore be dealt with by calibration. Further, it is typically the fluctuation in measured values between measurements that is of interest. These fluctuations are not affected by constant offsets.
[98] Relative jitter tests can be used to perform jitter tolerance limit tests of CRUs . This can be done by applying a signal with a known jitter to the CRU and then measuring the relative jitter between this input signal and a signal output from the CRU.
[99] For production tests of CRUs it is desirable to test jitter tolerance at at least two frequencies, one frequency within the loop bandwidth of the CRU and another frequency outside the loop bandwidth of the CRU.
Example
[100] A TDC according to the invention has been implemented in 0.35 μm /CMOS technology. In one embodiment the circuit occupies an area equivalent to 1200 2 -input NAND gates and provides a time resolution of approximately 4 ps (-1/5 of a gate delay in current standard 0.35 μm CMOS technology). The TDC generates a digital signature which can be read out by an inexpensive tester for further analysis to obtain the jitter characteristics of the signal being measured.
[101] Figure 25 is a top level diagram of a TDC made according to the invention. In this example embodiment of the invention uniform controllable load elements have been designed as standard cells to allow for automatic place and route. The rest of the cells used in the implementation have been taken from a standard digital cell library.
[102] The jitter measurement system of Figure 25 has the following blocks:
• TQ: Time Quantizer;
• RE-TATB: Range extender and TA > TB condition checker;
• Main Counter and DivBy2 circuit;
• REEOC-sync-DFF, TQEOC-sync-DFF and ERRI -sync-DFF : RE-EOC, TQ-EOC and ERRI -flag synchronizer flip-flops;
• TATB Check Delay Gen: Generates a small time delay for checking TA > TB; and,
• Delay Generator: Controls the selection of the delays needed for resolution adjustments, calibration and measurement.
[103] Six different controllable load elements have been designed according to the style of Figure 15D. The transistor sizes for each of these cells are given in Table III. The forth row of table III lists the additional delay in the oscillator A or B obtained by activating the cell. These controllable load elements allow for ±288ps or +8.5% period mismatch between clkA and clkB (this is obtained when all the controllable load elements are activated) . The last row of Table III lists the area of each cell. The height of all the cells is the standard cell library height. The area of the smallest cell is equivalent to the area of a double-drive 2 -input NAND gate.
Figure imgf000061_0001
[104] Oscillators 40A and 40B in the TQ block each have a signal path which loops through 11 NAND gates and one AND gate. Six taps for each oscillator are connected to six different controllable load elements. The outputs of oscillators 40A and 40B are directly connected to the elk and D inputs of flip flop DFF_EOC . These outputs are buffered before being used in other control blocks which are less time sensitive. The output of flip flop DFF-EOC is sampled and held by another flip-flop to ensure that the end-of-conversion signal, EOC-Flag, can be observed by the control blocks operating with the system clock.
[105] In addition to START and STOP inputs, two other inputs have been reserved for applying StartCheck and StopCheck signals to oscillators A and B, respectively
(see Figure 26) . These inputs are used to apply a Td for the purpose of checking the condition TA > TB . Without these inputs, an additional multiplexer would be required. However, when START and STOP are applied to the time quantizer the StartCheck and StopCheck signals must he inactive (HIGH), and vice versa. The main controller block ensures this condition using four control signals, Main-Set, rbMain, CheckSet, and rbCheck. The flip-flop TQEOC-sync-DFF is provided to synchronize the TQ-EOC signal with the system clock, SCLK, in order to avoid sampling errors by the Main-Controller block.
[106] The implementation of the RE-TATB block is essentially as described above with k = 6 , τA1= 1.2 ns and τA2 = 0.4 ns. The flip-flop REEOC-sync-DFF synchronizes the RE-EOC signal with the system clock, SCLK. This prevents errors in sampling by the Main Controller block. Buffers Bufl to Buf6 are not necessary and are included to perform mixed signal simulations. Figure 27 is a schematic diagram for RE-TATB while Figures 27 and 28 show the 3 -bit and 6 -bit comparators used in RE-TATB.
[107] A 16-bit synchronous counter is used to count the number N. As shown in Fig. 4, clkA could drive the counter's clock input directly. However, the maximum operational frequency of the 16-bit counter used in this example is 250 MHz, whereas clkA has a frequency of 350
MHz. A divide by 2 divider circuit DivBy2 divides clkA by two. Thus enables the counter to count the number of clkA edges. The state of the DivBy2 circuit recovers the lost bit due to division as follows:
N= 2Ncn,rl6- kDiv2 (36) where Ncπtrl6 is the state of the 16 -bit counter and clkDiv2 is the state of the DivBy2 flip flop. If the frequency of clkA is so high that even the frequency of clkDiv2 is too high for the counter a 2 -bit or 3 -bit ripple counter could be used in place of one divider to divide the clkA frequency by 4 or 8. The overflow bit of such counter can be used as the clock for the main counter. [108] The delay generator block generates START and STOP edges with tstop - tstart = Tref , 2 Tref and ( tIN2 - tIN1) for [SelDl, SelD0]=[01], [10], and [11] respectively. When [SelDl, SeID0]=[00], both START and STOP are set HIGH and the StartCheck and StopCheck signals are activated to check for the condition TA > TB . This block is illustrated in Figure 30.
[109] TATB Check Delay Generator generates a delay of 1.8 nsec between the StartCheck and StopCheck edges in the TA > TB check mode. The outputs of this block are set HIGH in other modes. A schematic of this block is shown in Figure 31.
[110] The main controller monitors the outputs of all other blocks and generates required signals for controlling the operation of the TDC. The main controller may be specified using synthesizable Very High Speed Integrated Circuit Hardware Description Language ( "VHDL" ) code. The TDC operation starts by loading a threshold Nch serially. The serial data is read through SThre input while TestStart is HIGH. Then, the controller controls the Delay Generator while the TATB Check Delay Generator block performs resolution adjustment. After adjustment, calibration is performed and the TDC switches to measurement mode .
[111] The Main Controller controls the "TATB Check Delay
Generator" and "Delay Generator" to generate appropriate signals for three different time quantization modes, ' TA > TB check', 'Nth evaluation', and 'sample measurement'. The first two modes are used in resolution adjustment and calibration while the last mode is used after calibration to measure jitter samples. [112] The timing diagram of Figure 31 shows the behaviour of some important signals during these three modes. During all three modes, first MainSet, rbMain, CheckSet , and rbCheck are all set LOW for five cycles of the system clock (SCLK) to ensure both oscillators 40A and 40B are in their reset states. Consequently, in ' TA > TB check' mode, rbMain and MainSet are set HIGH while rbCheck and CheckSet are set LOW. This causes START and STOP signals to be set HIGH. The time quantizer is then ready to accept StartCheck and StopCheck signals.
[113] At the next SCLK edge, rbCheck turns HIGH and two SCLK cycles after that, StartCheck and StopCheck signals are generated. When ' TA > TB check' is completed, MainSet, rbMain, CheckSet, and rbCheck are all set LOW again.
[114] In 'Nth evaluation' and 'sample measurement' modes, after the five reset SCLK cycles, rbCheck and CheckSet are set HIGH while rbMain and MainSet are set LOW. This causes StartCheck and StopCheck signals to be set HIGH. The time quantizer is then ready to accept START and STOP signals. At the next SCLK edge, rbMain turns HIGH and on the following SCLK edge, START and STOP signals are generated. When time quantizer operation is completed, MainSet, rbMain, CheckSet, and rbCheck are all set LOW again.
[115] In measurement mode, the Main Controller instructs the Delay Generator block to pass jitter samples to the time quantizer. Upon completion of each measurement, the data is sent off-chip serially through the DataOut output. The InputReady, MeasReady, and DataReady signals are used for handshaking between the external tester and
TDC.
[116] In the foregoing disclosure, conventional elements, such as power supply connections and the like are not specifically discussed or illustrated in the drawings. Such elements are well known to those skilled in the art and have been omitted for clarity.
[117] Those skilled in the art will appreciate that the circuits and methods described herein have various advantages. Among these are that the invention may be practised with circuits which are entirely digital and are well adapted to being designed using conventional design tools including automatic place and route. Jitter measurements having an accuracy in the order of lOps can be attained. The digital and compact nature of this TDC circuit makes it very attractive for BIST applications for testing high-speed serial communication interfaces, e.g., clock and data recovery, timing circuits, and edge placement circuits. Since the TDC provides a very high-resolution time measurement capability, it is also suitable for use in testing digital clock recovery and clock synthesis circuits. It is also notable that oscillators 40A and 40B integrate power supply noise (which is non-random) . High frequency power supply noise is effectively cancelled. If oscillators 40A and 40B are made structurally very similar to one another they will be affected in substantially the same manner by any low frequency power supply noise. Therefore, low frequency power supply noise can be effectively cancelled as well.
[118] As will be apparent to those skilled in the art in the light of the foregoing disclosure, many alterations and modifications are possible in the practice of this invention without departing from the spirit or scope thereof. For example, it will be understood from the foregoing that in systems according to various embodiments of the invention: • time delay elements may be inserted in places where their effects can be compensated for in hardware or software;
• logic levels may be reversed and hardware modifications made to preserve the function of the circuits in question.
[119] Accordingly, the scope of the invention is to be construed in accordance with the substance defined by the following claims.

Claims

WHAT IS CLAIMED IS:
1. A time to digital converter comprising: a timing circuit (30) comprising first and second digital oscillators (40A, 40B) producing first and second clock signals (clkA, clkB) respectively, the first and second oscillators having different periods (TA,TB); at least one of the oscillators comprising a plurality of digitally controllable delay elements (41A) , the delay elements, when activated altering the period of the oscillator; a coincidence detector connected to generate a coincidence signal (EOC_flag) when a reference point in the first clock signal has a known time relationship to a corresponding reference point on the second clock signal; a first counter connected to count a number (N) of cycles of the first oscillator until the coincidence detector generates the coincidence signal; and, a resolution adjustment circuit connected to start the first and second oscillators at times separated by a known interval (Tref) , compare the number N to a threshold (Nth) and, if N is not at least equal to a threshold value altering the period of at least one of the oscillators by activating or deactivating one or more of the digitally controllable delay elements (41A) .
2. The time to digital converter of claim 1 wherein the first and second oscillators are switchable between a first state wherein a difference in periods of the first and second signals is TΔ1 and a second state wherein a difference in periods of the first and second signals is TΔ2 where TΔ2 < TΔ1 ; and, the time to digital converter comprises: a resolution switching control circuit connected to switch the timing circuit from its first state to its second state; a second counter connected to count a number
(Nc) of edges of the first signal between a START signal and a time when the timing circuit is switched from its first state to its second state, the first counter connected to count a number (NF) of edges of the first signal between the time when the timing circuit is switched from its first state to its second state and the time when coincidence signal is generated.
3. The time to digital converter of claim 2 wherein the resolution switching control circuit comprises a delay element connected to provide a delayed first clock signal and a coincidence detector (56) connected to generate a coincidence signal (CRS_flag) hen a reference point in the second clock signal has a known time relationship to a corresponding reference point on the delayed first clock signal.
4. The time to digital converter of claim 3 wherein the delay element is selectively configurable to provide one of at least two different delays.
5. The time to digital converter of claim 3 wherein the delay element comprises a multiplexer (60) connected to a plurality of signal path segments, at least one of the second signal path segments comprising at least one gate (61A, 61B) , the delayed first clock signal passing through one of the signal path segments selected by the multiplexer.
6. The time to digital converter of any one of claims 1 through 5 comprising a range extender circuit, the range extender circuit suppressing the coincidence signal (E0C_flag) until corresponding edges of the first and second clock signals are within one cycle of one another.
7. The time to digital converter of claim 6 wherein the range extender circuit comprises a first k-bit counter (70A) connected to count edges of the first signal (clkA) , a second k-bit counter (70B) connected to count edges of the second signal (clkB) and a comparator (72) connected to compare outputs of the first and second k-bit counters and the resolution switching control circuit generates a resolution switching signal (RE_flag) when a pulse at the comparator output exceeds a predetermined length.
8. The time to digital converter of claim 7 wherein the predetermined length is determined by a delay element (76B) coupled between an output (cmp_out) of the comparator and a flip flop (74B) .
9. The time to digital converter of claim 7 wherein the predetermined length is determined by a delay element (76D) coupled between the first clock signal (clkA) and an input to the first k-bit counter (70A) .
10. The time to digital converter of any one of claims 1 through 9 wherein the first and second oscillators comprise ring oscillators each comprising a closed signal path defined at least in part by a plurality of series connected delay elements each having an input and an output .
11. The time to digital converter of claim 10 wherein the controllable delay elements each comprise a gate having an input and output connected in the signal path and a variable load element connected to the output .
12. The time to digital converter of claim 11 wherein the variable load element comprises a tri-state device having an input connected to the output of the gate .
13. The time to digital converter of claim 12 wherein the tri-state device comprises a tri-NOT gate.
14. The time to digital converter of claim 10 wherein the load element comprises an NMOS gate capacitor connected in series between the output of the gate and a digital switch.
15. The time to digital converter of claim 10 wherein a gate electrode of the NMOS gate capacitor is connected to the output of the gate.
16. The time to digital converter of any one of claims 1 through 15 wherein each of the oscillators comprises a plurality of digitally controllable delay elements.
17. The time to digital converter of claim 16 wherein all of the plurality of digitally controllable delay elements provide substantially the same effect on the period of the oscillator when activated.
18. The time to digital converter of claim 16 wherein, each of the oscillators the plurality of digitally controllable delay elements comprises a series digitally controllable delay elements which provide delays τCDE related to one another by τCDE(l) = (1+ ξ ) τCDE{1,
1)
19. A time to digital converter comprising: a timing circuit comprising first and second digital oscillators producing first and second clock signals respectively, the first and second oscillators switchable between a first state wherein a difference in periods of the first and second signals is TΔ1 and a second state wherein a difference in periods of the first and second signals is TΔ2 where TΔ2 < TΔ1; a resolution switching control circuit connected to switch the timing circuit from its first state to its second state when the reference point of the first clock signal approaches the known time relationship with the reference point of the second clock signal; a coincidence detector connected to generate a coincidence signal (E0C_flag) when a reference point in the first clock signal has a known time relationship to a corresponding reference point on the second clock signal; a first counter connected to count a number (NF) of edges of the first clock signal between the time when the timing circuit is switched from its first state to its second state and the time when the coincidence signal is generated; and, a second counter connected to count a number (Nc) of edges of the first signal between a START signal and a time when the timing circuit is switched from its first state to its second state.
20. The time to digital converter of claim 19 wherein the resolution switching control circuit comprises a delay element connected to provide a delayed first clock signal and a coincidence detector (56) connected to generate a coincidence signal (CRS_flag) when a reference point in the second clock signal has a known time relationship to a corresponding reference point on the delayed first clock signal .
21. The TDC of claim 20 wherein the delay element has a first state resulting in a first delay of the delayed first clock signal and a second state resulting in a second delay of the delayed first clock signal different from the first delay.
22. A digital timing circuit for generating first and second digital output signals having first and second periods, the timing circuit comprising: a first ring oscillator triggered by a first control signal (START) and generating a first clock signal (clkA) ; a second ring oscillator triggered by a second control signal (STOP) and generating a second control signal (clkB) ; at least one of the oscillators comprising a plurality of digitally controllable delay elements
(41A) , the delay elements, when activated altering the period of the oscillator; a coincidence detector connected to generate a coincidence signal (E0C_flag) when a reference point in the first clock signal has a known time relationship to a corresponding reference point on the second clock signal; a counter connected to count a number (N) of cycles of the first oscillator between the first control signal and the coincidence signal; and, a resolution adjustment circuit connected to generate the first and second control signals at times separated by a known interval (Tref) , compare the number N to a threshold (Nth) and, if N is not at least equal to a threshold value altering the period of at least one of the oscillators by activating or deactivating one or more of the digitally controllable delay elements (41A) .
23. A method for producing first and second digital signals having first and second periods, the method comprising : a) providing a pair of digital oscillators; b) starting the first oscillator and starting the second oscillator a time period Td after starting the first oscillator; c) counting a number N of cycles of the first oscillator until a reference point on the first signal coincides with a corresponding reference point on the second signal; d) if N is not at least equal to a threshold value altering the period of at least one of the oscillators and repeating steps (b) and (c) until N is at least equal to the threshold value.
24. The method of claim 23 wherein varying a period of at least one of the oscillators comprises changing a state of a controllable delay element.
25. The method of claim 23 comprising, if N exceeds a second threshold, altering the period of at least one of the oscillators and repeating steps (b) and
(c) until obtaining an N between the first and second thresholds.
26. A method for time to digital conversion comprising providing first and second digital oscillators having periods which differ by an amount TΔ wherein the first and second oscillators are switchable between a first state wherein a difference in periods of the first and second signals is TΔ1 and a second state wherein a difference in periods of the first and second signals is TΔ2 where TΔ2 < TΔ1; starting the first oscillator upon the occurrence of a first control signal and starting the second oscillator on the occurrence of a second control signal a time Td later; when the reference points occur within a known time delay of one another switching the oscillators to their second state; counting a number (Nc) of edges of the first clock signal which occur between the first control signal and a time when the oscillators are switched to their second state; and, counting a number (NF) of edges of the first clock signal which occur between the time when the oscillators are switched to their second state and a time when the reference points have a known time relationship .
27. The method of claim 26 wherein the reference points are edges of the first and second signals and the known time relationship is coincidence of the edges.
28. The method of claim 26 comprising estimating a noise floor for the first and second oscillators by acquiring a first set of the numbers NF and Nc for Td having a known value Tref while the known time delay has a first value and a second set of the numbers NF and Nc for Td having a known value Tref, or a known multiple of Tref, while the known time delay has a second value, averaging NF and Nc for each set of measurements and computing the noise floor from the average values of NF and Nc for the two sets of measurements.
29. A frequency tunable digital ring oscillator comprising a closed signal path defined at least in part by a plurality of series connected delay elements each having an input and an output the delay elements comprising at least one digitally controllable delay element, the digitally controllable delay element comprising a gate connected in series with the signal path and a tri- state device having an input connected to an output of the gate and a control connection connected to a control device.
30. The digital ring oscillator of claim 29 wherein the tri-state device comprises a tri-NOT gate.
31. The digital ring oscillator of claim 29 wherein the tri-state device comprises a tri-state buffer.
32. The digital ring oscillator of any one of claims 29 through 31 comprising n digitally controllable delay elements each having a tap and the oscillator comprises an n-bit state machine having one output connected to each of the taps .
33. Any apparatus or method described herein whether or not claimed in any of claims 1 through 32.
PCT/CA2001/000364 2000-03-17 2001-03-16 High resolution time-to-digital converter Ceased WO2001069328A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
AU2001242171A AU2001242171A1 (en) 2000-03-17 2001-03-16 High resolution time-to-digital converter
US10/244,084 US20030076181A1 (en) 2000-03-17 2002-09-16 Tunable oscillators and signal generation methods
US10/244,085 US6754613B2 (en) 2000-03-17 2002-09-16 High resolution time-to-digital converter

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US18997500P 2000-03-17 2000-03-17
US60/189,975 2000-03-17

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US10/244,084 Continuation-In-Part US20030076181A1 (en) 2000-03-17 2002-09-16 Tunable oscillators and signal generation methods
US10/244,085 Continuation-In-Part US6754613B2 (en) 2000-03-17 2002-09-16 High resolution time-to-digital converter

Publications (3)

Publication Number Publication Date
WO2001069328A2 true WO2001069328A2 (en) 2001-09-20
WO2001069328A3 WO2001069328A3 (en) 2002-08-22
WO2001069328A8 WO2001069328A8 (en) 2004-04-15

Family

ID=22699542

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CA2001/000364 Ceased WO2001069328A2 (en) 2000-03-17 2001-03-16 High resolution time-to-digital converter

Country Status (2)

Country Link
AU (1) AU2001242171A1 (en)
WO (1) WO2001069328A2 (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003025683A1 (en) * 2001-09-20 2003-03-27 Vector 12 Corporation High accuracy timing and jitter measurement system and methods
WO2003081266A1 (en) * 2002-03-26 2003-10-02 Mcgill University Timing measurement system and method using a component-invariant vernier delay line
US6975106B1 (en) 2004-10-15 2005-12-13 Agilent Technologies, Inc. Phase locked time interval analyzer
US7136772B2 (en) 2002-11-08 2006-11-14 Avago Technologies Fiber Ip (Singapore) Pte. Ltd. Monitoring system for a communications network
US7636387B2 (en) 2002-02-26 2009-12-22 Advantest Corporation Measuring apparatus and measuring method
WO2009152837A1 (en) * 2008-06-20 2009-12-23 Verigy (Singapore) Pte. Ltd. Apparatus and method for estimating data relating to a time difference and apparatus and method for calibrating a delay line
US7741917B2 (en) 2008-11-07 2010-06-22 Telefonaktiebolaget Lm Ericsson (Publ) Noise shaping time to digital converter
DE10392148B4 (en) * 2002-02-26 2010-08-19 Advantest Corp. Measuring device and measuring method
CN106168753A (en) * 2016-06-28 2016-11-30 中国科学院微电子研究所 Time to Digital Converter
TWI620419B (en) * 2016-04-26 2018-04-01 華邦電子股份有限公司 Time to digital converter with high resolution
CN110824889A (en) * 2019-11-08 2020-02-21 中山大学 A Time-to-Digital Converter Based on a Novel Time Amplifier
EP4002697A1 (en) * 2020-11-18 2022-05-25 Nxp B.V. Pll jitter detection
CN115016243A (en) * 2022-05-12 2022-09-06 北京大学 Method for enhancing linearity of random time-to-digital converter
US20240088907A1 (en) * 2022-09-12 2024-03-14 Asahi Kasei Microdevices Corporation Td converter, pll circuit, td converting method, and clock generating method
CN118759498A (en) * 2024-06-20 2024-10-11 努美(天津)科技有限公司 A fast TDC measurement system and method based on differential carry chain

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1251967A (en) * 1968-01-31 1971-11-03
US4165459A (en) * 1978-01-16 1979-08-21 Rca Corporation Time interval measurement

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003025683A1 (en) * 2001-09-20 2003-03-27 Vector 12 Corporation High accuracy timing and jitter measurement system and methods
DE10392148B4 (en) * 2002-02-26 2010-08-19 Advantest Corp. Measuring device and measuring method
US7636387B2 (en) 2002-02-26 2009-12-22 Advantest Corporation Measuring apparatus and measuring method
WO2003081266A1 (en) * 2002-03-26 2003-10-02 Mcgill University Timing measurement system and method using a component-invariant vernier delay line
US7136772B2 (en) 2002-11-08 2006-11-14 Avago Technologies Fiber Ip (Singapore) Pte. Ltd. Monitoring system for a communications network
US6975106B1 (en) 2004-10-15 2005-12-13 Agilent Technologies, Inc. Phase locked time interval analyzer
JP2011525737A (en) * 2008-06-20 2011-09-22 ヴェリジー(シンガポール) プライベート リミテッド Apparatus and method for evaluating data relating to time difference, and apparatus and method for calibrating a delay line
WO2009152837A1 (en) * 2008-06-20 2009-12-23 Verigy (Singapore) Pte. Ltd. Apparatus and method for estimating data relating to a time difference and apparatus and method for calibrating a delay line
US8825424B2 (en) 2008-06-20 2014-09-02 Advantest (Singapore) Pte Ltd Apparatus and method for estimating data relating to a time difference and apparatus and method for calibrating a delay line
US7741917B2 (en) 2008-11-07 2010-06-22 Telefonaktiebolaget Lm Ericsson (Publ) Noise shaping time to digital converter
TWI620419B (en) * 2016-04-26 2018-04-01 華邦電子股份有限公司 Time to digital converter with high resolution
CN106168753A (en) * 2016-06-28 2016-11-30 中国科学院微电子研究所 Time to Digital Converter
CN110824889A (en) * 2019-11-08 2020-02-21 中山大学 A Time-to-Digital Converter Based on a Novel Time Amplifier
EP4002697A1 (en) * 2020-11-18 2022-05-25 Nxp B.V. Pll jitter detection
US11522551B2 (en) 2020-11-18 2022-12-06 Nxp B.V. PLL jitter detection
CN115016243A (en) * 2022-05-12 2022-09-06 北京大学 Method for enhancing linearity of random time-to-digital converter
CN115016243B (en) * 2022-05-12 2023-03-10 北京大学 A Linearity Enhancement Method of Random Time-to-Digital Converter
US20240088907A1 (en) * 2022-09-12 2024-03-14 Asahi Kasei Microdevices Corporation Td converter, pll circuit, td converting method, and clock generating method
CN118759498A (en) * 2024-06-20 2024-10-11 努美(天津)科技有限公司 A fast TDC measurement system and method based on differential carry chain

Also Published As

Publication number Publication date
AU2001242171A1 (en) 2001-09-24
WO2001069328A3 (en) 2002-08-22
WO2001069328A8 (en) 2004-04-15

Similar Documents

Publication Publication Date Title
US6754613B2 (en) High resolution time-to-digital converter
US20030076181A1 (en) Tunable oscillators and signal generation methods
US8385394B2 (en) Circuit and method for on-chip jitter measurement
Kalisz Review of methods for time interval measurements with picosecond resolution
Tabatabaei et al. Embedded timing analysis: A SoC infrastructure
Christiansen An integrated high resolution CMOS timing generator based on an array of delay locked loops
Tierno et al. A wide power supply range, wide tuning range, all static CMOS all digital PLL in 65 nm SOI
US6850051B2 (en) Timing measurement device using a component-invariant vernier delay line
US7791330B2 (en) On-chip jitter measurement circuit
WO2001069328A2 (en) High resolution time-to-digital converter
Chan et al. A synthesizable, fast and high-resolution timing measurement device using a component-invariant vernier delay line
Hsu et al. BIST for measuring clock jitter of charge-pump phase-locked loops
US6636979B1 (en) System for measuring phase error between two clocks by using a plurality of phase latches with different respective delays
Tabatabaei et al. An embedded core for sub-picosecond timing measurements
Jung et al. All-digital process-variation-calibrated timing generator for ATE with 1.95-ps resolution and maximum 1.2-GHz test rate
Liu et al. A high-accuracy programmable pulse generator with a 10-ps timing resolution
Kinniment et al. Measuring deep metastability
Sunter et al. Purely digital BIST for any PLL or DLL
US8552740B2 (en) Method of measuring delay in an integrated circuit
Mollah et al. Design of a tunable differential ring oscillator with short start-up and switching transients
Wu et al. A scalable DCO design for portable ADPLL designs
US6937106B2 (en) Built-in jitter measurement circuit for voltage controlled oscillator and phase locked loop
Yao Time to Digital Converter used in ALL digital PLL
Olsson et al. A digitally controlled PLL for digital SOCs
Abdel-Hafeez et al. On-chip jitter measurement architecture using a delay-locked loop with vernier delay line, to the order of giga hertz

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ CZ DE DE DK DK DM DZ EE EE ES FI FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 10244085

Country of ref document: US

Ref document number: 10244084

Country of ref document: US

122 Ep: pct application non-entry in european phase
CFP Corrected version of a pamphlet front page
CR1 Correction of entry in section i

Free format text: IN PCT GAZETTE 38/2001 DUE TO A TECHNICAL PROBLEMAT THE TIME OF INTERNATIONAL PUBLICATION, SOME INFORMATION WAS MISSING UNDER (81). THE MISSING INFORMATION NOW APPEARS IN THE CORRECTED VERSION

NENP Non-entry into the national phase

Ref country code: JP