New Approaches to DSP Software Reduce Test-Program Development

IC test program development is one of the major hurdles to overcome on the road to introducing a new IC. And these obstacles to the marketplace place a heavy burden on the test engineer. Lately, the increasing complexity of chip designs has intensified this pressure, making the search for new methods for test-program generation an indisputable necessity.

It’s easy to see where there’s room for improvement. One of the most time-consuming areas of test-program development is the design and debug of digital signal processing (DSP) algorithms used to compute mixed-signal test results.

DSP is a catch-all phrase for the numeric representation of signals and the subsequent processing of these numeric sequences. In the general sense and at the academic level, it can include complex techniques such as correlation and convolution and, by definition, common techniques such as differentiation and integration.

In the form for which they have grown in popularity, however, DSP techniques are used to convert signals between the analog and digital domains. The most popular algorithm for this conversion is the Fourier Transform.

Basically, the Fourier Transform says that any periodic signal can be represented by a sum of a sequence of known signals or, more specifically, sine and cosine waves at varying frequencies and amplitudes. Once represented by this known sequence, the waveform can be analyzed for content.

To facilitate this conversion process, an algorithm known as a Discrete Fourier Transform (DFT) converts the time-based waveform into frequency-based sine and cosine components. The inverse DFT performs the reverse by using the frequency information to create a time-based waveform.

An optimized algorithm for waveforms with sample sizes that are a power of 2 is called the Fast Fourier Transform (FFT). This algorithm can yield results much more rapidly than the DFT. The FFT is based on iterations of multiplying and adding.

Special microprocessors that can multiply and accumulate in the same instruction cycle have been designed to expedite the implementation of the FFT and inverse-FFT algorithms. These special microprocessors, nicknamed DSPs, have taken off into a $2 billion annual market led by Texas Instruments, AT&T, Motorola and Analog Devices.

DSPs can be found in most of today’s devices that process analog signals. These include televisions, cellular telephones, modems and most other devices involving audio or video.

For the test-equipment industry, DSP makes it possible to evaluate the content and fidelity of any type of waveform. Techniques that were once possible only in the analog domain can now be implemented digitally via software. Consequently, the DSP is replacing components that were once used in analog circuits, such as filters and mixers.

Creating the software that uses DSP techniques has not been a straightforward process for test engineers. In college, most engineers are taught about DSP from the theoretical level and do not see it applied to a real-life problem.

Also, the software used for programming the DSP is a processor-specific assembly language, which adds another big bump to the learning curve. In industry, test engineers using DSP software spend time writing algorithms that may have already been written by other engineers, but are not structured so they may be reused.

Once the algorithm has been written, its optimization depends on the experience of the programmer. It takes an experienced engineer to write efficient algorithms for the DSP software.

If the software for DSP programming were graphical, object-oriented and intuitive, the engineer would not suffer from the learning curve due to the software, and the time saved could be put toward understanding DSP techniques. The focus would be on debugging the DUT, not the DSP algorithm. In addition, the novice programmer could create the same optimized program as the experienced engineer.

Of course, the creation of this programming environment is not an obvious task. The software must be easy to learn and use. It must quickly evaluate what-if scenarios for debugging waveforms by displaying the effects of the DSP algorithm on the waveform.

The software should also provide virtual instruments, such as oscilloscopes and spectrum analyzers. These help show the engineer the real-life effects of DSP on the waveforms under test.

One approach separates the software problems into two parts: the creation of the DSP algorithm and the display of the results.

In this scenario, the DSP algorithm creation software utilizes a library of more than 300 signal-processing algorithms. The library is the only direct link to the target processor and can be modified as the hardware is modified. It includes functions for vector and scalar arithmetic manipulation, Fourier Transforms, correlation, windowing, filtering and various other operations. User algorithms may be created and entered into a separate library.

Each piece of the total algorithm is represented as a graphical block with input and output ports. To add a block into the flow, the block is selected through a series of graphical browsers which are used to view the library of existing algorithms, sorted by category. Each algorithm is represented by a readily recognizable description, not a cryptic function call.

The flow of blocks is created by connecting the input and output ports of the blocks together. Blocks may be moved, cut, copied and pasted. Blocks with a particular functionality are represented by a specific graphical icon.

To maximize the reuse of proven algorithms, the DSP algorithm creation software provides a mechanism for grouping blocks together and renaming them as one parent block. This parent block inherits all the functionality of its child blocks.

For example, 10 blocks that are connected together to form a signal-to-noise test can be grouped as the signal-to-noise ratio (SNR) block and stored as part of the library. This minimizes debug time for future applications because the SNR block is a known-good algorithm.

Figure 1 shows how the signal-to-noise test looks with this new software technique. Follow the flow of the algorithm via the arrows.

During the execution of the algorithm, breakpoints can be set at any block so that intermediate results can be analyzed. The flow of execution is maintained graphically as the border of each icon changes color once it has been executed. One quick look determines the active block.

The intermediate values and final results can be displayed graphically via point-and-click interaction with the DSP algorithm creation software. The arrays of values are imported into a flexible waveform viewing tool for display.

In the display software, the X axis and Y axis can be set to accommodate any units of scaling, including linear and log. A waveform can be displayed in time and voltage, as with an oscilloscope; or in frequency and decibels, as with a spectrum analyzer. The software approach provides features common to hardware waveform analysis tools, such as cursors and grid lines. Data can be represented in a variety of formats, including floating point, twos complement and offset binary.

Multiple waveforms can be added to the same set of axes or a new view can be created for each waveform. Each waveform is accompanied by a corresponding set of user-defined statistics, which are displayed at the bottom of the window (Figure 2).

This new graphical method for interacting with DSP software lowers the learning curve and improves test engineering time-to-market. This method can be applied to any hardware where the programming of digital signal processors is necessary.

About the Author

 

Eric B. Norton is Manager of Mixed-Signal Applications for the ATE Division of Schlumberger Technologies. He graduated from Tufts University with a B.S.E.E. degree. Schlumberger Technologies, ATE Division, 1601 Technology Dr., San Jose, CA 95110-1397, (408) 453-0123.

Copyright 1995 Nelson Publishing Inc.

July 1995


Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!