Abstract:
A circuit for calibrating linear delay lines wherein a periodic ramp voltage is counted a fixed number of times at first and second frequencies. While the ramp voltages are being counted at each frequency, system clock pulses are counted. The number of system clock pulses counted for each first and second ramp voltage frequency is used to adjust the charging current applied to an integrator which establishes the delay value.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     This invention relates to electronic testing devices and, more particularly, to a method and apparatus for calibrating linear delay lines in a VLSI tester. 
     2. Description of the Related Art 
     When testing integrated circuits, the time marker signals which are used to form the test signals must be accurately placed within prescribed time intervals. The time intervals typically comprise the periods of a system clock signal. It is not uncommon to find system clock periods on the order of 3.2 nanoseconds, and this frequently results in a required marker placement resolution on the order of picoseconds. 
     Because of the magnitude of the required resolution, it is usually necessary to employ linear delay lines rather than gated digital circuits for marker placement. Such a delay line is illustrated in FIG. 1. As shown in FIG. 1, a delay circuit 10 comprises a range digital-to-analog converter (DAC) 14 for converting a digital word into a charging current on a line 18; an integrator 22 for converting the current on line 18 into a ramp voltage on line 2610; a delay DAC 30 for converting a digital word into a reference voltage on a line 34; and a comparator 38 for comparing the range voltage on line 26 with the reference voltage on line 34 and for producing a signal on a line 42 when the range voltage matches the reference voltage. Once the range voltage matches the reference voltage, integrator 22 may be reset by signals applied to a reset line 46. 
     Operation of delay circuit 10 may be understood by referring to FIG. 2. Delay DAC 30 produces a voltage V n   on line 34, and range DAC 14 produces a current I c  on line 18. At the beginning of each system clock period integrator 22 produces an increasing voltage from current I c  on line 26. At time T n  the voltage on line 26 matches the reference voltage V n  on line 34, and a signal is provided on line 42 for indicating that fact. The time T n  that it takes for the voltage produced by integrator 22 to reach V n  determines the delay from the start of the clock pulse and hence determines the point within the clock period where the timing marker is to be placed. 
     Because of production tolerances and variations in the operating environment, the charging current I c , the reference voltage V n  or the charging characteristics of integrator 22 may not be precise. For example, if the charging time of integrator 22 is smaller than expected, then, when a current I c  (FIG. 2) is provided on line 18, a longer time T n , elapses before the reference voltage V n  is matched. On the other hand, if the charging rate of integrator 22 is faster than expected, then a charging current I c  &#34; causes the voltage on line 26 to increase much faster, and hence a shorter time T n&#34;  elapses before the reference voltage V n  is matched. Consequently, the actual range of delay times T n&#39;  or T n&#34;  may vary significantly from the theoretical range of delay time T n , and the circuit will not perform properly. 
     SUMMARY OF THE INVENTION 
     The present invention is directed to a method and apparatus for calibrating linear delay lines wherein the charging current provided by a range DAC is automatically adjusted to compensate for any variations from theoretical circuit operating parameters. In one embodiment of the present invention, a voltage generator generates a ramp voltage at first and second frequencies. A counter counts the number of cycles of the ramp voltages generated at the first and second frequencies, and, based on the difference in the number of ramp voltages counted, the rate of change or slope of the ramp voltage may be adjusted. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of a known delay circuit. 
     FIG. 2 is a graph showing voltage as a function of time and charging current for a linear delay line. 
     FIG. 3 is a block diagram of a calibrating circuit according to the present invention. 
     FIGS. 4A and 4B are two graphs showing waveforms produced by the integrators in the calibrating circuit according to the present invention. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     FIG. 3 is a block diagram of a linear delay circuit 50 which includes calibration circuitry according to the present invention. In this embodiment, a range DAC 54 receives an eight-bit digital word on bit lines 58 and produces therefrom a charging current I l  on a line 62. The current on line 62 is communicated to an integrator 66 which typically includes a capacitance for converting the charging current from line 62 into a ramp voltage on line 70. The voltage on line 70 is communicated to one input terminal of a comparator 74. A delay DAC 78 receives an eight-bit digital word over bit lines 82 and produces therefrom a reference voltage on a line 86. The reference voltage on line 86 is communicated to the other input terminal of comparator 74. Comparator 74 compares the ramp voltage on line 70 with the reference voltage on line 86 and produces a time marker signal on a line 90 when the voltages match. 
     The time marker signal on line 90 is communicated to the reset input terminal of a flip-flop 94 for causing flip-flop 94 to assume a reset state. In this state a low signal appears on the Q output terminal of flip-flop 94 and a high signal appears on the Q output terminal of flip-flop 94. When flip-flop 94 is in the reset state, the high signal appearing at the Q output terminal of flip-flop terminal 94 is communicated to integrator 66 over a line 98 for discharging the capacitance in integrator 66 and hence reset the ramp voltage on line 70. 
     The Q output terminal of flip-flop terminal 94 is coupled to a line 102 which, in turn, is coupled to an integrator 106 and a programmable counter 108. Integrator 106 receives a fixed current I f  on a line 110 and produces therefrom a ramp voltage on a line 114. Line 114 is coupled to one input terminal of a comparator 118. The other input terminal of comparator 118 is coupled to a line 122 for receiving a reference voltage V ref . Comparator 118 compares the ramp voltage received on line 114 with the reference voltage received on line 122 and provides a time marker signal on a line 126 when the voltages match. 
     A control unit 130 controls calibration of the circuit. Control unit 13O receives a mode signal on a line 134 for placing circuit 50 in an automatic calibration mode. When in automatic calibration mode, control unit 130 provides signals to counter 108, to a counter/register 138 and to an AND gate 142 over lines 146, 150 and 156, respectively, for enabling the operation of these units. Additionally, control unit 130 couples the time marker signal from line 126 to a line 160 which, in turn, is connected to the set input terminal of flip-flop 94 for placing flip-flop 94 in a set state. When flip-flop 94 is in a set state, a high signal appears on line 102 for discharging the capacitance in integrator 106. As discussed below, flip-flop 94 is converted into a free-running multivibrator by control line 134. 
     Counter 108 is programmed to count N cycles of the oscillating frequency of flip-flop 94. While counter 108 is counting it provides a count signal over line 164. The count signal is used in conjunction with control signal line 156 for enabling AND gate 142. The control signals on line 156 enable the up/down counter register 138 to count the number of system clock pulses on line 166 during the period of the count signal on line 164 through the AND gate 142 over line 180. The contents of counter/register 138 are communicated to an adder 174 over bit lines 178. Adder 174 adds (or subtracts) the binary value on lines 178 to the original range DAC input value received from bit lines 182 and produces a new input value on lines 58. The value on lines 58 are looped back to lines 182 to provide an updated input value to adder 174. 
     In this embodiment, the system clock pulses received on line 166 are square wave pulses having a period T c  of 3.2 nanoseconds. Since the delay DAC 78 receives an eight-bit word on line 82, the system clock period T c  may be resolved into 256 units of 12.5 picoseconds each. Assume that integrator 66 produces a linear ramp voltage in response to the current I l  from range DAC 54 and that T n  is the calibrated time taken to integrate from V o  to V n  when the input of delay DAC 78 is set to n. Assume further that the input word on lines 82 to delay DAC 78 is set to 255 (hex FF) with T 255&#39;  being the corresponding period. An objective of range calibration is to set the charging current I l  (set by the range DAC) so that the voltage ramps created by integrator 66 take exactly 3.1875 nanoseconds to reach the reference voltage V 255  provided by delay DAC 78. When the delay line is calibrated, T 255&#39;  =T 255  =3.1875  nanoseconds, and I l  =I c  where I c  is the calibrated integrator current set by the range DAC 54. 
     Before calibration is achieved, T 255&#39;  and I l  can be written as 
     
         T.sub.255 =T.sub.255&#39; +dT                                  (1) 
    
     
         I.sub.c =I.sub.l -dI.sub.1                                 (2) 
    
     For a linear integrator, 
     
         T.sub.255&#39; =(V.sub.255 ×C.sub.1)/I.sub.l             (3) 
    
     where C l  is the capacitance of the integrator, and 
     
         T.sub.c =(V.sub.256 ×C.sub.l)/I.sub.c =3.2 nanoseconds (4) 
    
     Dividing equation 3 by equation 4, we have 
     
         T.sub.255&#39; /T.sub.c =(V.sub.255 ×I.sub.c)/(V.sub.256 ×I.sub.l) (5) 
    
     Dividing equation 2 by I c  we have 
     
         I.sub.l /I.sub.c =(1+dI.sub.l /I.sub.c) or 
    
     
         I.sub.c /I.sub.l =(1-dI.sub.l /I.sub.c)                    (6) 
    
     Substituting equation 6 into equation 5, we obtain 
     
         T.sub.255&#39; /T.sub.c =(1-dI.sub.l /I.sub.c) V.sub.255 /V.sub.256 (7) 
    
     When circuit 50 is to be calibrated, flip-flop 94 is placed in a set state (Q high and Q low) for enabling integrator 66 to charge in response to the charging current I l  on line 62. The input to delay DAC 78 is set to 255 for providing the voltage V 255  to comparator 74. Operation of the circuit then proceeds as shown in FIG. 4A. At time T 1 , integrator 66 begins to charge, and the voltage on line 70 linearly varies from V 0  to V 255  as shown in the upper waveform of FIG. 4A. At time T 2 , the voltage on line 70 matches the reference voltage V 255 , and a signal is provided on line 90 for resetting flip-flop 94. After a propagation delay represented by an interval T d1  between time T 2  and time T 3 , a high signal is provided on line 98 for discharging the capacitance in integrator 66. On the other hand, the low signal on line 102 allows integrator 106 to begin charging in response to the fixed current received on line 110 as shown in the lower waveform of FIG. 4A. At time T 4 , the voltage appearing on line 114 matches the reference voltage V ref  on line 122, and a time marker signal is produced on line 126. When in calibration mode, control unit 130 couples the signal on line 126 to line 160 for setting flip-flop 94. As with the operation of integrator 66, there is a time delay T d1 , between times T 4  and T 5  before flip-flop 94 sets. In this embodiment, V ref  is chosen so that the interval T w1  between times T 3  and T 5  is sufficient to allow the capacitance in integrator 66 to completely discharge, so that no duty cycle error is introduced into the calibration. 
     After flip-flop 94 is set, a high signal appears on line 102 for discharging integrator 106 and for incrementing counter 110. The process continues for a prescribed number of cycles (e.g. 1024) of the waveform. At the same time, counter/register 138 counts the number of system clock pulses which appear on line 166. Therefore, the total count in counter/register 138 after N cycles will be 
     
         K.sub.1 =(T.sub.255&#39; +T.sub.d1 +T.sub.w1)×N/T.sub.c  (8) 
    
     Next, the input to the delay DAC is set to 127, and the waveforms shown in FIG. 4B are produced. Once again, system clock pulses are counted over N cycles of the waveform, and the total count K 2  is 
     
         K.sub.2 =(T.sub.127&#39; +T.sub.d2 +T.sub.w2)×N/T.sub.c  (9) 
    
     T d1  =T d2  because these values are set by loop delay through integrator 66, comparator 74 and flip-flop 94. Additionally, T w1  =T w2  because these values are set by loop delay through integrator 106, comparator 118 and flip-flop 94. Thus, subtracting equation 9 from equation 8, we have 
     
         (K.sub.1 -K.sub.2)=(T.sub.255&#39; -T.sub.127&#39;)×N/T.sub.c 
    
     Since the integrator is linear, 
     
         T.sub.255&#39; -T.sub.127&#39; =T.sub.128&#39;, T.sub.256&#39; =2×T.sub.128&#39;, and 
    
     
         T.sub.256&#39; /T.sub.c =2(K.sub.1 -K.sub.2)/N                 (10) 
    
     For a linear ramp, 
     
         T.sub.256&#39; /T.sub.c =(V.sub.256 ×T.sub.255&#39;)/V.sub.255 ×T.sub.c) 
    
     hence, 
     
         2(K.sub.1 -K.sub.2)/N=(V.sub.256 /V.sub.255)×(T.sub.255&#39; /T.sub.c) (11) 
    
     Substituting equation 7 into equation 11, we obtain 
     
         2(K.sub.1 -K.sub.2)/N =1-dI.sub.l /I.sub.c or 
    
     
         dI.sub.l /I.sub.c =(N-2K.sub.1 +2K.sub.2)/N=2dK/N          (12) 
    
     where dK=(N/2 -K 1  +K 2 ) 
     In order to provide the value of dK in counter/ register 138, it is necessary to preload counter/register 138 with the value N/2, subtract the number of system clock pulses counted with delay DAC 78 set to 255, and then add the number of system clock pulses counted while delay DAC 78 is set to 127. This may be accomplished by using two&#39;s compliment notation and causing counter/register 138 to count up and then down. 
     Once the value of dK is obtained, it may be necessary to scale the number depending on the input sensitivity of range DAC 54. In this embodiment, an eight-bit range DAC 78 is used to provide an adjustment range of ±r% in the charging current I l  for integrator 66. &#34;r&#34; should be chosen to cover for variations in I l  due to process or other tolerances. The range DAC 54 is therefore capable of providing a current adjustment range of (2r×I b ) where I b  is the bias charging current (typically 220 microamps), and 
     
         (1+r)I.sub.b =I.sub.l                                      (13) 
    
     For an eight-bit range DAC, one least significant bit (LSB) of the range DAC provides a current increment of 
     
         1lsb =2rIb/(2**8) microamps 2rI.sub.l /[(1+r)2**8]         (14) 
    
     If the same current I l  is input to delay DAC 78, then 1lsb of range DAC 54 equals 2r/(1+r) LSB of the current in delay DAC 78 used to create the voltage on line 86. 
     Since I c  is approximately equal to I l , substitution of equation (13) into equation 12 results in 
     
         dI.sub.l /(1+r)I.sub.b =2dK/N, or 
    
     
         dI.sub.l /rIb=2(1+r) dK/rN                                 (15) 
    
     Since rIb is half range of the eight-bit range DAC 54, it can be expressed as an input value of 2**7 units, and 
     
         dI.sub.l =2**8×(1+r)dK/rN 
    
     If N=2**n for n=0, 1 2, etc., then 
     
         dI.sub.l =dK(1+r)/[r×2**(n-8)]                       16) 
    
     For ease of implementation, dI l  may be chosen as binary multiples of dK such that 
     
         dI.sub.l =2**m×dK                                    (17) 
    
     where m=0, 1, 2 etc. Consequently, 
     
         (1+r)/(r×2**(n+m-8))=1                               (18) 
    
     The properly scaled correction term in equation 17 (formed by shifting the contents of the value of dK in register 138) can be added directly to the range input data on line 182 by adder 174 for successive iterations to achieve automatic calibration. In this embodiment. (n+m)=10 for equation 15, which yields a resolution ±1/4 lsb of the delay DAC current, and an adjustment range of ±33% of the delay DAC current. 
     Successive iterations are performed over a few calibration cycles until the correction factor (dK) in the up/down counter 138 vanishes to zero. This guarantees system calibration. The calibration circuit according to the present invention adds less than two-hundred gates to the circuit shown in FIG. 1 and provides for automatic generation of the current correction factor in binary form. Calibration is independent of random noise, systematic noise, and timing jitter, since these effects are averaged over N (typically 512 or 1024) cycles. Calibration is independent of signal propagation delays (T d1 , T d2 ), and discharging characteristics (T w1  and T w2 ) and nonlinearity of the ramp generators. Nonlinearity in the linear portion of the ramp will only affect the linearity of timing resolution, but not range calibration. The circuit configuration and functionality of the linear delay line is unaffected by whether the delay line is in calibration or normal mode. As a result, systemic errors are eliminated. 
     While the above is a complete description of a preferred embodiment of the present invention, various modifications may be employed. For example, the amount of hardware may be further reduced by accumulating the results of a number of up/down counting sequences per iteration with shorter counters. Consequently, the scope of the invention should not be limited except as described in the claims.