Timing generator

Abstract: Disclosed is a timing generator (100) comprising a frequency generator (20) receiving parameter setting values for setting one or more parameters, preferably frequency, delay time and/or pulse width, of an output signal (OUTPUT). The timing generator further comprises a first memory (110), directly coupled to the frequency generator (20) and containing predefined parameter setting values for directly setting and/or modifying the one or more parameters.

Description: BACKGROUND OF THE INVENTION The present invention relates to a timing generator according to the preamble to claim 1. Modem timing generators, in particular pulse generators such as e.g. the Hewlett-Packard HP 81100 family, produce timing signals at precise duration and frequencies, with fast edges and high timing resolution. The generated timing signals can almost be regarded as ideal timing signals. Fig. 1 depicts in a principle block diagram a timing generator 10 as known in the art. The circuit of Fig. 1 generalizes timing generation features as known e.g. from US-A-5,592,659, US-A-4,231,104, US-A-5,280,195, US-A-4,675,546, US-A-4,646,030, US-A-5,361,301, or WO 93/25954. The timing generator 10 comprises as functional units a frequency generator 20, a controllable delay unit 30, and/or a controllable pulse width unit 40. The parameter setting of the frequency generator 20, the delay unit 30 and/or the pulse width unit 40 is controlled by a microprocessor interface 50 via respective converters 60, 70 and 80 (e.g. digital analog converters DACs). The microprocessor interface 50 represents any type of (miniature) electronic device containing memory, arithmetic, logic, and control circuitry necessary to perform functions of a digital computer's central processing unit, such as interpreting and executing program instructions as well as handling arithmetic operations. In accordance with the parameter setting, as provided by the microprocessor interface 50 via the converter 60, the frequency generator 20 provides a timing signal at a substantially constant frequency. The delay unit 30 and/or the pulse width unit 40 might change the timing signal delivered from the frequency generator 20 in accordance with their respective parameter setting, as provided from the microprocessor interface 50 via the converter 70 or 80, respectively. Frequency, delay time and/or pulse width of an output signal output of the timing generator 10 can thus be controlled and remain substantially constant unless newly programmed. For re-programming the timing signal output of the timing generator 10, the microprocessor interface 50 reads out values e.g. from predefined tables, equates from those read out values parameter setup values for setting one or more parameters of the timing generator 10 to specific values, and respectively provides those parameter setup values via the respective converters 60-80 to the frequency generator 20, the delay unit 30 and/or the pulse width unit 40. This re-programming scheme requires a certain amount of time until the respective parameter setup values have been determined/gathered and provided to the respective units, so that the timing of the timing generator 10 cannot be changed fast. In real environment situations, today's high-speed signals cannot be considered as ideal. Due to a variety of influences on the signals, the real world signals might considerably deviate from the ideal signals. Such influences might be random jitter, synchronization jitter e.g. from PLL circuits, modulations, and/or timing impairs. On the other hand, with increasing speed of designs, timing margins are decreasing. The result is that the impact of signal-disturbing influences becomes increasingly critical. In testing environments for testing the performance and characteristics of electronic circuits, those circuits are generally tested with more or less ideal signals. This, however, might lead to the situation that the tested electronic circuit well behaves in the artificial, ideal testing environment but causes failures or other irregularities in its real environments. In order to simulate/emulate real timing behaviors, arbitrary waveform generators might be applied. Such arbitrary waveform generators, such as the Tektronix AWG500 family, provide programmable waveforms allowing to simulate real environment waveforms in a testing environment. Arbitrary waveform generators, however, find a limitation in their applicable frequency range due to the fact that programmable waveforms can only be generated at signal repetition rates smaller than about one tenth of the sampling rates. Thus, arbitrary waveform generators are often not applicable for high-speed environments. Moreover, arbitrary waveform generators are normally more costly with respect to the same achievable speed performance. SUMMARY OF THE INVENTION It is therefore an object of the present invention to provide a timing generator applicable to simulate real environment conditions for high-speed signals. The object is solved by the independent claim. Preferred embodiments are shown by the dependent claims. BRIEF DESCRIPTION OF THE DRAWINGS Other objects and many of the attendant advantages of the present invention will be readily appreciated and become better understood by reference to the following detailed description when considering in connection with the accompanied drawings. Features that are or can be built up substantially equally or similarly are referred to with the same reference sign. Fig. 1 depicts a timing generator 10 as known in the art, Fig. 2 illustrates a timing generator 100 according to the invention, and Figs. 3A, 3B and 3C show examples of the modification of ideal timing signals in accordance with the invention. DETAILED DESCRIPTION OF THE INVENTION Fig. 2 illustrates in a principle block diagram a timing generator 100 according to the invention. The timing generator 100 comprises as functional unit the frequency generator 20 receiving parameter setting values from the microprocessor interface 50 via the converter 60. The output signal from the frequency generator 20 is coupled to the controllable delay unit 30 and/or to the controllable pulse width unit 40. As explained for Fig. 1, the frequency generator 20, the delay unit 30 and the pulse width unit 40 receive respective parameter setting values from the microprocessor interface 50 via respective converter circuits 60, 70 and 80 for setting the frequency, delay and/or pulse width to their nominal values. In contrast to the timing generator 10 as depicted in Fig. 1, the timing generator 100 further comprises a memory 110 allowing to directly provide parameter setup values to the frequency generator 20, the delay unit 30 and/or the pulse width unit 40, in addition to the parameter setup values from the microprocessor interface 50. The memory 110 is preferably controlled by a state machine 120 generating addresses for the memory 110. The content of the memory 110, corresponding to an applied address, is read out and directly supplied via a converter 130 and a coupling unit 140 to the frequency generator 20, via a converter 150 and a coupling unit 160 to the delay unit 30, and/or via a converter 170 and a coupling unit 180 to the pulse width unit 40. While the converter 60 preferably provides the parameter setup values for the nominal frequency for the frequency-generator 20, the converter 130 preferably provides the parameter setup values for frequency variations versus time of the frequency-generator 20. The coupling unit 140 couples both signals and provides them to the frequency generator 20. Accordingly, the converter 70 preferably provides the parameter setup values for the nominal delay for the delay unit 30, and the converter 150 preferably provides the parameter setup values for delay variation versus time. The coupling unit 160 couples both signals and supplies the results to the delay unit 30. Finally, the converter 80 preferably provides the parameter setup values for the nominal pulse width for the pulse width unit 40, while the converter 170 preferably provides the parameter setup values for pulse width variations versus time. Both signals are coupled by the coupling unit 180 and supplied to the pulse width unit 40. The converters 60, 70, 80, 130, 150 and 170 are preferably selected to be digital analog converters (DAC). Preferably, the converters 60, 70 and 80 are optimized on high resolution, while the converters 130, 150 and 170 are optimized on speed. The converters shall represent any kind of interface allowing to adapt a data format of the memory 110 or the microprocessor interface 50 to a data format required for the respective functional unit(s) 20-30. It is clear that in case the formats already match the converters become obsolete. Further more, the respective converters can be concentrated to one or more converting units. The representations of the converters in Fig. 1 and 2 shall only depict their principle functionality of format conversion/adaptation. The coupling units 140, 160 and 180 can be embodied by any unit allowing to combine the respective signals, such as adders or subtractors. The state machine 120, preferably implemented by a counter and/or a sequencer, provides an address sweep for the memory 110. The memory 110 contains already defined parameter setup values allowing to directly and thus quickly modify the parameter setup values of the frequency generator 20, the delay unit 30 and/or the pulse width unit 40. While the microprocessor interface 50 individually determines the parameter setup values, the memory 110 contains already defined parameter setup values, thus allowing to much quicker change the parameter setup of the frequency generator 20, the delay unit 30 and/or the pulse width unit 40. Even if the microprocessor interface 50, in best case, simply reads out the parameter setup values from its memory, the applying scheme for the parameter setup values according to the invention by directly applying the parameter setup values from the memory 110 to the functional units will still be much faster since it avoids the additional reading out step of the microprocessor interface 50. Figs. 3A, 3B and 3C show examples of the modification of ideal timing signals (upper parts of Figs. 3A, 3B and 3C) in accordance with the invention. The frequency of a reference signal REFERENCE (upper part of Fig. 3A) is changed over the time according to a frequency deviation scheme shown in the middle part of Fig. 3A. The output signal, changed in frequency with respect to the reference signal REFERENCE, is depicted in the lower part of Fig. 3A. In accordance with Fig. 3A, Fig. 3B depicts the modification of the delay time as set out in the middle part of Fig. 3B. The resulting output signal is depicted in the lower part of Fig. 3B. From the lower parts of Fig. 3A and 3B, it is apparent that both, frequency deviation and delay deviation, can lead to the same result for the output signal. In cases where the delay time is larger than the period of the frequency, the frequency modification of Fig. 3A will normally be of advantage while the delay time modification of Fig. 3A will be more advantageous when the delay is only a fraction of the period of the frequency is greater than the delay time. Fig. 3C depicts the modification of the pulse width as set out in the middle part of Fig. 3C. The resulting output signal is depicted in the lower part of Fig. 3C. It is clear, that the variation of the parameters frequency and delay might be sufficient for some applications, so that at least two of the parameter setup deviation means (frequency and delay) as depicted in Fig. 2 might be sufficient. However, all three parameters (frequency, delay, pulse width) can be modified also in combination. The memory 110 in combination with the state machine 120 allows providing a huge variety of parameter setup sweeps. Any memory-addressing scheme as known in the art can be applied for the purpose of the invention, such as serially sweeping the content of the memory 110 or jumping between different addresses. The sweeping of the content of the memory 110 is preferably accomplished in accordance to a predefined testing scheme. However, a stochastic, random or pseudo random sequence sweeping might also be applied. The memory 110 can be loaded, as known in the art, before or during application, e.g. via the microprocessor interface 50. It is clear that instead of applying one memory 110 for each functional unit of the frequency generator 20, the delay unit 30 and/or the pulse width unit 40, each functional unit can be coupled to an independent memory. Accordingly, the memory 110 or each individual memory for each functional unit might be controlled by a central state machine 120 or by individual state machines allowing to independently sweep the parameters. The circuit of Fig. 2 is preferably adapted to set an 'ideal' signal via the microprocessor interface 50 and to modify the 'ideal' signal into a more 'real' signal by means of the memory 110 in conjunction with the state machine 120. However, it is clear that the parameter setting of the timing generator 100 can also be directly accomplished by reading out parameter setup values stored in the memory 110. This, however, requires higher demands on resolution and speed.

Claims: A timing generator (100) for generating timing signals in an output signal (OUTPUT), comprising: a frequency generator (20) for generating the output signal (OUTPUT), and nominal frequency means (50, 60) for providing a nominal frequency setting value to the frequency generator (20) for selling a nominal value for the frequency of the output signal (OUTPUT), a first modifying memory (110) for storing predefined frequency modifying values, whereby the frequency modifying values represent frequency variations versus time of the frequency generator (20), a first coupling unit (140) coupled to the nominal frequency means (50, 60) and to the first modifying memory (110), whereby the first coupling unit (140) combines the nominal frequency setting value with frequency modifying values read out from the first modifying memory (110) in order to modify the nominal value of the frequency with the read out frequency modifying values, and the first coupling unit (140) provides the combined values to the frequency generator (20) for generating the output signal (OUTPUT) in accordance thereto; a delay unit (30) for delaying the output signal (OUTPUT) by a delay time, nominal delay time means (50, 70) for providing a nominal delay time setting value to the delay unit (30) for setting a nominal value of the delay time, a second modifying memory (110) containing predefined delay time modifying values for modifying the nominal value of the delay time, and a second coupling unit (160) coupled to the nominal delay time means (50, 70) and to the second modifying memory (110), whereby the second coupling unit (160) combines the nominal delay time setting value with delay time modifying values read out from the second modifying memory (110) in order to modify the nominal value of the delay time with the read out delay time modifying values, and the second coupling unit (160) provides the combined values to the delay unit (30) for setting the delay time of the output signal (OUTPUT) in accordance thereto. The timing generator (100) of claim 1, further comprising: a pulse width unit (40) for setting a pulse width of the output signal (OUTPUT), nominal pulse width means (50, 80) for providing a nominal pulse width setting value to the pulse width unit (40) for setting a nominal value of the pulse width, a third modifying memory (110) containing predefined pulse width modifying values for modifying the nominal value of the pulse width, and a third coupling unit (180) coupled to the nominal pulse width means (50, 80) and to the third modifying memory (110), whereby the third coupling unit (180) combines the nominal pulse width setting value with pulse width modifying values read out from the third modifying memory (110) in order to modify the nominal value of the pulse width with the read out pulse width modifying values, and the third coupling unit (180) provides the combined values to the pulse width unit (40) for setting the pulse width of the output signal (OUTPUT) in accordance thereto. The timing generator (100) of claim 1 or 2, further comprising a state machine (120) coupled to at least one of the modifying memories (110) for generating addresses for reading out the at least one of the modifying memories (110).

Inventors: SCHINZEL PETER, SCHINZEL, PETER
Applicants: AGILENT TECHNOLOGIES INC, AGILENT TECHNOLOGIES INC.
Application year: 1998
Main classification: H03K3
IPC codes: H03K5