This invention relates generally to signal generation and more specifically to generation of periodic signals with high purity.
Direct Digital Synthesis (“DDS”) is a technique used to generate periodic signals where control over one or more signal properties is desired. Analog signals can be generated with the period and the wave shape controlled through DDS.
In operation, accumulator 110 produces a new output value ΦAcc on each cycle of clock CLKACC. To produce each new value, the accumulator 110 adds ΦInc to its current contents.
The value in accumulator 110 serves as a control input to Sine Unit 112. Sine Unit 112 converts each phase value ΦAcc into a corresponding amplitude value. In the illustration, the DDS signal generator is producing a sine wave. Accordingly, the amplitudes are related to the value ΦAcc by the function sin (ΦAcc). Sine Unit 112 might generate the required outputs using a math engine—a circuit configured to produce an output signal having a specific mathematical relationship to an input signal. Alternatively, it is possible to implement a sine unit by pre-computing the required output value for each value of the control input. These pre-computed output values are then stored in a memory at locations addressed by the control input. In operation, the control inputs are applied as addresses to the memory, resulting in the required output value of sin (ΦAcc) being read from the memory for each of ΦAcc applied as an input. Such a look-up table is shown in
The output of sine unit 112 is periodic. Periodicity is achieved because of overflow in accumulator 110. The value stored in accumulator 110 increases (or decrease if negative values of ΦInc are used) for every cycle of CLKACC. Eventually, the value in accumulator 110 overflows (or underflows—if negative values of ΦInc are used). The full scale value of the accumulator is selected to correspond to a phase of 2pi radians. If the addition of ΦInc would cause the value of ΦAcc to exceed 2pi radians by an amount x, after the overflow, the accumulator stores only the value x. As a result, an overflow of the accumulator has the same effect as starting a new cycle of the periodic waveform, with the appropriate phase relationship maintained between the end of one cycle and the beginning of the next cycle.
The duration of one cycle of the waveform Fout can be controlled by altering the time it takes for accumulator 110 to overflow. This time can be controlled by changing the frequency of clock CLKACC. This time can also be controlled by changing the value of ΦInc.
Digital values representing sin (ΦAcc) are then fed to a digital to analog converter, such as DAC 114 which converts them to a quantized analog signal. Usually, a filter is attached to the output of the digital to analog converter to smooth out the quantized signal. Where a sine wave is required, the filter is likely a bandpass filter because a bandpass filter that includes the desired frequency of the sine wave in its pass band will increase the “spectral purity” of the signal.
If a digital signal, such as a clock, is desired, the analog signal may be fed to a comparator 118 to square off the signal. Thus, the DDS signal generator provides a convenient mechanism to generate a clock of controlled frequency. Where the DDS signal generator is being used to generate a clock, spectral purity is also important. Lack of spectral purity in the signal Fout appears as “jitter” in the digital clock. For precise measurement applications requiring a clock, low jitter is important. Therefore, it would be highly desirable to provide a DDS signal generator with high spectral purity.
One application where a variable frequency, but low jitter, clock is desirable is in automatic test equipment.
The test system includes a work station 810 that controls the test system 800. Work station 810 runs test programs that set up the hardware within tester body 812 and reads back results of tests. The work station also provides an interface to a human operator so that the operator can provide commands or data for testing a particular type of semiconductor device. For example a program running on work station 810 might change the frequency of a clock within the test system by changing the value of a register inside tester body 812 holding the value of ΦInc.
To fully test many types of devices, both analog and digital test signals must be generated and measured. Inside tester body 812 are digital “pins” 820 and analog instruments 818. Both are connected to the device under test 850. Digital pins are circuits that generate or measure digital signals or DC voltages and currents. In contrast, analog instruments generate and measure analog signals.
Pattern generator 816 provides control inputs to the digital pins 820 and the analog instruments 818. These control inputs define both the values and the time at which test signals should be generated or measured. To ensure an accurate test, the actions of the digital pins and the analog instruments often must be synchronized. Timing generator 814 provides timing signals that synchronize operation of the various components within tester body 812.
Automatic test equipment is made programmable so that it can test many different types of devices. It is often desirable to be able within automatic test equipment to generate a digital clock of a programmable frequency that has very low jitter. An example of such an application is called an arbitrary waveform generator (AWG). AWG 822 creates a waveform that can be programmed into an almost arbitrary shape using a clock of controllable frequency. In the prior art, a DDS signal generator 100 has been used as the clock for the AWG. The generated waveform would be more accurate if the clock provided to AWG had less jitter.
Automatic test equipment also sometimes contains an analog instrument called a digitizer. Digitizer 823 also relies on a clock, which should preferably be programmable. Digitizer 823 could also be made more accurate if it were provided with a clock with lower jitter.
More generally, there are many applications where sine waves of high spectral purity are desirable for testing devices such as semiconductor chips. It would therefore be desirable to provide automatic test equipment with an improved synthesizer circuit to generate signals with improved spectral purity.
We have recognized that the DAC strongly influences the overall spectral purity of signals produced by a DDS. We have also recognized that spectral purity strongly depends on the sampling rate at which the DAC operates. In particular, impurities arising from signal-to-noise ratio (SNR) and spurious-free dynamic range (SFDR) decrease approximately linearly with DAC sampling rate. We have recognized the benefits of operating the DAC of a DDS at its highest possible sampling rate. However, as DACs with faster sampling rates become available, there are limitations on the availability of circuitry that can generate the data stream into the DAC. The circuitry needed to operate a DDS signal generator for high spectral purity is generally not available or undesirably expensive, consumes too much power, takes up too much space or is otherwise undesirable.
With the foregoing background in mind, it is an object to provide an improved DDS signal generator.
The forgoing and other objects are achieved in a DDS signal generator with a high sampling rate DAC fed by a circuit that interleaves a plurality of data streams. In the preferred embodiment, the data streams are generated by relatively inexpensive circuitry. In one aspect, the DDS signal generator generates a sine wave. In the preferred embodiment, this sine wave is used to create a low-jitter digital clock.
In another aspect, the DDS signal is used to generate a low-jitter digital clock of variable frequency. That clock is used within an automatic test system to clock an arbitrary waveform generator.
The foregoing and other objects will be better appreciated by reference to the following detailed description and accompanying drawings in which:
This invention is not limited in its application to the details of construction and the arrangement of components set forth in the following description or illustrated in the drawings. The invention is capable of other embodiments and of being practiced or of being carried out in various ways. Also, the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” or “having,” “containing”, “involving”, and variations thereof herein, is meant to encompass the items listed thereafter and equivalents thereof as well as additional items.
As in the prior art, synthesizer 400 is clocked by a clock CLKACC. Register 402 stores a value of ΦInc. For each cycle of clock CLKACC, the value stored in accumulator 410 increases by the value of ΦInc stored in register 402.
The value in accumulator 410 is fed to accumulator fill-in unit 420. Accumulator fill-in unit is shown in more detail in
As shown in
The second input to each of the adders is based on the value of the phase increment, ΦInc, stored in register 402. A different fraction of the value of ΦInc is input to each of the adders. As shown in
Thus, for each cycle of CLKACC, accumulator fill-in unit outputs N linearly increasing phase values. The signals Φ0 . . . ΦN-1 are provided to sine bank 412.
Sine bank 412 can be implemented as a bank of sine units 112. Each of the sine units in sine bank 412 receives one of the signals Φ0 . . . ΦN-1 as a phase control input. Each of the sine units within sine bank 412 outputs a digital value representing a point on a sine wave. The specific point on the sine wave is controlled by the phase input applied to the specific sine unit.
The first control input Φ0 represents the control input to a sine unit as used in a prior art DDS circuit. Accordingly, the output of the first sine unit is a value of a sine wave as in the prior art DDS circuit. Each of the successive inputs Φ1 . . . ΦN-1 represents a phase that is shifted relative to Φ0. Accordingly, the output of each successive sine unit within sine bank 412 represents the value of a sine wave shifted in time relative to the value produced by the preceding sine unit in the sine bank.
The outputs of each of the sine units within sine bank 412 is fed to one of the switchable inputs of selector 422. Selector 422, sometimes called a “multiplexer,” connects one of the switchable inputs through to its output based on the value of a control input.
The control input of selector 422 is provided by counter 426. Preferably, counter 426 is a counter that counts at least from 0 to (N-1). Counter 426 either overflows to zero or is reset to zero for each cycle of CLKACC.
Counter 426 is clocked by frequency multiplier 424. Frequency multiplier receives an input from CLKACC. The output of frequency multiplier 424 is a higher frequency clock with a frequency that is N times the frequency of clock CLKACC. In this way, for each cycle of clock CLKACC, N successive values are clocked through selector 422.
Accumulator fill-in unit and sine bank 412 can be thought of as multiplying by N the number of samples of a sine wave available in each cycle of CLKACC. To allow the circuitry to operate at a relatively slow speed, these samples are generated in parallel. Frequency multiplier 424, counter 426 and selector 422 convert these parallel samples of a sine wave into a stream of digital values representing one sine wave. However, the sample rate of that stream of values is increased by a factor of N.
This stream of digital values is applied as the input to digital to analog (DAC) converter 414. DAC 414 is similar to DACs used in prior art DDS circuits. However, it needs to have a higher sampling rate to handle the higher data rate out of selector 422. By providing a data stream with a higher sampling rate to DAC, the output of DAC 414 has much greater spectral purity than signals generated by prior art DDS circuits.
The output of DAC 414 is shown in the embodiment of
The output of the bandpass filter 414 is provided to comparator 418. As in prior art synthesizers, a sine wave with high purity can be used to generate a digital clock with low jitter using a comparator as shown in
As shown more fully in
For example, accumulator 710 can initially be set to 0. Accumulator 712 can initially be set to (1/N)*ΦInc. Accumulator 714 can initially be set to (2/N)*ΦInc. This pattern continues in order, with accumulator 716 being initially set to (N-1)/N*ΦInc.
Various known techniques could be used to construct a synthesizer, such as synthesizer 400 or 600. To achieve high spectral purity, it is desirable that DAC 414 have both a high sample rate and relatively large number of bits. In a preferred embodiment, DAC 414 will receive at least 2 Giga-values (2*109) per second. More preferably, DAC 414 will receive 4 Giga-values per second. In a presently contemplated implementation, a 4.8 Giga-Hertz DAC is used.
Each digital value input to DAC 414 in a presently preferred embodiment has 10 bits. It is possible, as a way to reduce the effects of computational roundoff, that the circuits generating digital values applied to DAC 414 will generate values with more bits than DAC 414 uses in a conversion. For example, each value will preferably have at least 14 bits of resolution. In a presently contemplated implementation, the generated values have 18 bits of resolution.
Frequency divider 424, counter 426 and selector 422 have components that operate at the sampling rate of DAC 414. Accordingly, relatively high frequency components are needed to implement these components. Technologies to make circuit components operate at this speed are known. For example, circuits made using an ECL or SiGe processes can operate at the required speeds. In a preferred embodiment, these components will be implemented as a single ASIC or as part of an ASIC in automatic test 800 that is used for other functions. These features could, for example, be implemented as part of the same integrated circuit chip that holds DAC 414.
One advantage of the above described architecture is that the sine bank 412 and accumulator bank 610 or accumulator 410 and accumulator fill-in unit 420 do not need to operate at the same data rate as DAC 414. Thus, these components, and any other components clocked by CLKACC, can be implemented with relatively low speed circuitry. In a preferred embodiment, CLKACC will operate at a frequency less than 500 MHz. In a presently preferred embodiment, CLKACC will operate at a frequency less than 200 MHz. These clock rates correspond to a value of N that is at least 32. In a presently preferred embodiment, N is 64.
Many techniques are known to implement circuits operating at this range of frequencies. For example, CMOS is widely used to construct circuits operating in this range. A CMOS ASIC could be used for these components. However, because of the simplicity of the design, a relatively low-cost CMOS gate array could be used to implement these components. Moreover, the small size and relatively low power consumption of CMOS allows a synthesizer as described to be practically implemented in applications that are sensitive to size, power consumption and/or cost, such as automatic test equipment.
As described above, a synthesizer generates a signal with high spectral purity by creating a stream of digital values at a high rate. These values represent samples of a sine wave and serve as an input to the DAC. This stream of values is constructed by interleaving, for each period of the low frequency clock, the outputs of multiple sine units. The outputs of the sine units represent samples of sine waves, each having the same frequency as the sine wave in the interleaved data stream. However, the sampling rates of these sine waves is lower. Other implementations of a circuit that generates streams of digital values representing samples of sine waves and interleaving them would also be possible.
Having thus described several aspects of at least one embodiment of this invention, it is to be appreciated various alterations, modifications, and improvements will readily occur to those skilled in the art. Such alterations, modifications, and improvements are intended to be part of this disclosure, and are intended to be within the spirit and scope of the invention. Accordingly, the foregoing description and drawings are by way of example only.
For example, the invention is described in connection with a synthesizer that generates a sine wave that is then converted to a low jitter digital clock. The invention could be used to generate a sine wave that is used for other applications.
Also, the invention is illustrated as used in connection with automatic test equipment. However, the invention is applicable in any other area where sine waves of high spectral purity or digital clocks with low jitter are desired.
Furthermore, it should also be appreciated that DDS can be used to generate signals other than sine waves. Sine bank 412 could be replaced by a memory or math engine that implements a function other than a sine function.
Also, it was described above that the DDS circuit generates the multiple streams of digital values, each representing a sine wave offset by a uniform phase from sine waves represented by the other streams of digital values. These streams of data were achieved by supplying sine bank 410 with multiple phase inputs, each offset from the other by a uniform amount. The same effect could be achieved by supplying one control input to each sine unit in a sine bank, where each sine unit of the sine bank responded with a sine wave of a slightly different phase. For example, rather than receive N inputs representing N different phases, sine bank 412 might contain N memories that each stored values for a sine wave with a different phase.
As another example, it should be noted that the adders, sine units within the sine bank, and the inputs to the selector are “ordered.” This ordering is a “logical” ordering in the sense that the ordering is used, for example, in determining which phase input to connect to which sine unit or which sine unit to connect through to the selector output. Such a logical ordering does not mean that any specific physical ordering is required when a chip containing the unit is constructed. Any convenient construction technique might be used. Also, the ordering may be established by any convenient system. For example, it is not necessary that the control input 0 to selector 422 switch the first value in the order to the output. Any numbering system or convention that preserves the desired ordering of signal may be used.
Also, counter 426 is shown to be clocked by a clock that is generated in a frequency multiplier. Any convenient method of generating two clocks with a known frequency relationship might be used. For example, a higher frequency clock might be generated to clock counter 426, with CLKACC being generated in a frequency divider having the higher frequency clock as an input. Also, though preferable, it is not strictly necessary that the clocks be generated from the same clock.
Further, it was described that a sine unit could be implemented as either a look-up table or a math engine. It is also possible that a combination of look-up and computation could be used to generate the data streams that are provided by each sine unit. For example, a look-up table might have only 29 locations, meaning that the memory is addressed by only 9 address lines. However, accumulator 410 might have more than 9 bits of resolution. In this case, the high order bits of the accumulator would be used to select a base value from one of the look-up tables. The low order bits of the accumulator could then be used to interpolate between the base value and the value at the next address in the memory. A simple linear interpolation might be used, though other more complicated forms of interpolation could be constructed.
Also, it was described that a DSS synthesizer is used to generate a sine wave of high spectral purity. The same circuitry could be used to generate a sine wave at a higher frequency than is possible with a traditional DDS circuit. In a traditional DDS circuit, the frequency of a generated sine wave is limited to ½ the frequency of CLKACC. In the described embodiment, the frequency of the generated sine wave is limited at N×½ the frequency of CLKACC.
Number | Name | Date | Kind |
---|---|---|---|
4283768 | Scott | Aug 1981 | A |
4454486 | Hassun et al. | Jun 1984 | A |
4958310 | Goldberg | Sep 1990 | A |
5028887 | Gilmore | Jul 1991 | A |
5467294 | Hu et al. | Nov 1995 | A |
5517532 | Reymond | May 1996 | A |
5528308 | Alelyunas et al. | Jun 1996 | A |
6246726 | Garcia et al. | Jun 2001 | B1 |
6493131 | Tarng et al. | Dec 2002 | B1 |
6584162 | Tinker | Jun 2003 | B1 |
6642754 | Dobramysl et al. | Nov 2003 | B1 |
6993087 | Rosnell et al. | Jan 2006 | B2 |
7092476 | Melanson | Aug 2006 | B1 |
7130327 | Robinson et al. | Oct 2006 | B2 |
20020075976 | Richards et al. | Jun 2002 | A1 |
20030142737 | Tarng | Jul 2003 | A1 |
20050002481 | Woo et al. | Jan 2005 | A1 |
Number | Date | Country |
---|---|---|
0 528 565 | Feb 1993 | EP |
0 528 565 | Feb 1993 | EP |
1353189 | Oct 2003 | EP |
WO 9107828 | May 1991 | WO |
Number | Date | Country | |
---|---|---|---|
20050135524 A1 | Jun 2005 | US |