Test & characterize RF filters in IC production: a new approach
The developers of integrated circuits (ICs) are no more blessed with the ability to accurately predict the future than anyone else. So although, in theory, a new IC design submitted for production will be fully specified and its characterization well defined, in practice it is common for additional requirements or specifications to be added after the beginning of the production process.
IC production teams will generally find ways to accommodate late requests from developers. But a particularly troublesome example is the common request to change the way RF filters are characterized by the production test unit. This entails extensive changes to the test software code. This not only holds up the test process and delays the chip’s progress towards tape-out, it also entails the risk of introducing errors into the test code. With the whole production team often under pressure to expedite the fabrication process, the time required for comprehensive debugging of test code is not always available.
We developed a standard test routine that could be used both for characterisation and production at the same time. The routine also needed to be capable of simple modification to make it suitable for a wide range of ICs. Stored in a test code library, this new routine would facilitate the repeated re-use of a base set of test IP.
The chosen method to be investigated was a chirp, sweeping the filter’s frequency range and characterising it in a one-shot measurement.
We also considered a multitone to characterize filters. However, this is unsuitable for devices with low input-power sensitivity. To use a multitone, each frequency component has to be divided by the total number of frequencies so that the overall crest factor is below the maximum input power. If this is not done, the individual frequencies interact and cause intermodulation distortion products, which can distort the results in the frequency sweep.
How to build a chirp
In a chirp, the instantaneous frequency of the signal linearly increases with no frequency jumps (see Figure 1). To implement a chirp in practice, the test engineer must allow for the limited memory size of an arbitrary waveform generator (AWG) – a discrete form of the chirp must be created. The formula for a linear chirp is defined by the equation f(t) = f0 + kt, where f0 is the starting frequency (at time t = 0), and k is the rate of frequency increase, or chirp rate.
After performing a chirp sweep and capturing the results, the new method also requires a means to extract the key parameter of a filter that the IC’s designers want to characterize: magnitude response, that is, the 3dB point, 10dB point and the bandwidth of the filter. Other parameters that are sometimes also requested are phase response and group delay.
To build the chirp signal in DSP, several parameters need to be understood:
- What is the required accuracy of the measurement for the corner frequencies of the bandpass filter?
- Which features of the test instrument support the measurement – memory depth, maximum sampling frequency, waveform stitching?
- What are the corner frequencies and bandwidth of the filter?
With the syntax available in the latest tools for developing test code, it is quite straightforward to build a chirp waveform in DSP. Syntax usually provides an option to build a sinusoidal waveform using built-in-functions (BIF) based on number samples, sampling frequency, array size, phase delay and Sinx/x correction. By putting this code into a loop and linearly increasing the bin number, a set of waveforms will be generated with a linear increase in the Tone Frequency (Ft). As long as coherence is guaranteed by ensuring the sampling theorem is met, then these waveforms can be stitched together to make a discrete chirp signal.
If there is no BIF for generating the individual wavelets, this can be done easily by using the sampling theorem. This requires an array in which M is increased in a linear fashion and an inverse Fast Fourier Transform (FFT) is performed, as follows:
Equation for sampling theorem: Fs/Ft = N/M
Equation for Fourier frequency calculation: Ff = Fs/N
Once the inverse FFT has been made, the time-domain data for each segment need to be stitched to the others, to produce a single array of a size equal to the number of tones multiplied by the number of samples. Care needs to be taken here to ensure that the array is not bigger than the AWG’s memory.
In the chirp test developed, the worst-case measurement was for the filter with the narrowest bandwidth, at a center frequency of 40kHz and a bandwidth of approximately 80kHz. The low and high 3dB points needed to be measured to an accuracy of better than 5kHz. Based on this worst case, a chirp was built that had 100 discrete frequencies with a frequency resolution of 1kHz. The chirp signal started at a frequency of 1kHz and finished at 100kHz (see Figure 2).