Test & Measurement World: Maximize a waveform generator’s memory

By Joan Mercadé, Arbitrary Resources, Barcelona, Spain -- EDN Europe, 01 Jun 2011

The architecture of an AWG (arbitrary waveform generator) looks like that of a DSO (digital storage oscilloscope) in reverse. Waveform memory plays a critical role in both instruments. DSOs capture waveforms and store them in memory, while AWGs create waveforms from data stored in memory. You can use sequencing, loops, and branches to produce a signal that requires less memory and cuts calculating and loading time.

AWGs must generate continuous signals for seconds, minutes, hours, or days to properly emulate actual systems, but they must do this within the limits of their memory. An AWG can have one of four architectures: the socalled “true arb,” DDS (direct-digital synthesis), interpolating, or interleaving, each of which interacts with the waveform memory in a different way (see a description of the four architectures). Fortunately, regardless of which type of AWG you have, you can program the instrument with loops and branches to re-use segments of memory and generate longer waveforms.

An AWG’s waveform RL (record length) gives it the ability to generate nonrepeating signals. A waveform’s TW (time window) is proportional to the RL and is inversely proportional to the AWG’s SR (sampling rate). For AWGs with a “true-arb” architecture, in which samples are converted by the DAC one after the other at the sampling speed, you can calculate the time window as; TW = RL/SR.

As AWG sample rates grow, the amount of waveform memory needed must keep pace. Increasing the memory size at such high sampling rates raises two main issues. One is whether you can justify the cost of implementing the extra memory and the sophisticated memory-access architectures that feed the DAC at the required speeds. The other is whether you can afford to expend the effort and time required to calculate samples for complex signals and move them from mass storage devices (local or remote) to the waveform memory.

Memory access issues

AWGs combine ultra-high-speed RAM and massive demultiplexing of the memory access buses to resolve these issues. AWG architectures can be configured either with, or without, multiplexed access. The mux lets the AWG read slower memory at a lower speed while keeping the overall data throughput constant.

There are always tradeoffs among design complexity, size, and cost. As a result, high-speed AWGs (those with sample rates greater than 2 GHz) typically limit the available waveform memory to some tens of megasamples. Even that much memory may limit time windows. For example, a 32-Msample, 12-Gsamples/sec AWG can generate just over 2.5 msec of a nonrepeating waveform.

Just because an AWG has a large waveform memory doesn’t mean that you should use all of it. You should minimize waveform length to reduce calculation and transfer time. For short waveforms, you should consider increasing the amount of waveform memory beyond what you need for building the basic waveform. You’ll increase waveform quality, because you can increase the sampling rate (oversampling). A higher sampling rate will spread out quantization noise over frequency and improve signal-tonoise ratio. You can further improve signal quality by applying sigma-delta techniques. For periodic signals, simply store one cycle of the signal and repeat it.

Unfortunately, using short waveforms creates periodic quantization noise that will appear as high-amplitude spurious spectral lines in the output signal’s frequency spectrum. That noise will reduce the instrument’s SFDR (spurious-free dynamic range). Repeating the signal many times while ensuring that the signal does not repeat itself exactly in the waveform memory (such as by selecting a prime number for the record length or by selecting a number of cycles that is not a divisor of the selected record length) will result in a lower repetition rate for the quantization noise; likewise, adding some small amplitude dither will also result in a lower repetition rate. You’ll have about the same amount of noise power, but it will be spread over many more spectral lines. Thus, you’ll reduce the average power for each line and improve the SFDR.

Some AWGs have a specification for the minimum usable record length just as they do for the minimum sample rate. In addition to those limits, a parallel waveform-memory-access bus architecture forces the waveform length to be a multiple of a given integer to reflect the number of samples transferred simultaneously in each memory access cycle. This integer number (typically a power of 2) reflects the number of samples that the AWG transfers in parallel from the waveform memory to the DAC. You can call this characteristic the “record- length granularity.” AWGs with interleaving DACs double the recordlength granularity because they use a two-DAC architecture, with each DAC connected to an independent memory bus.

You can update an AWG’s waveform memory from local, nonvolatile storage; from a remote computer; or from a DSO. But with any of these options, the update process may be unacceptably slow for applications such as automated test. Most high-performance AWGs allow for segmentation of their waveform memory, where each segment can hold a different number of samples, which maximizes flexibility. Switching from one segment to another is as easy as updating the sample pointer. Memory segmentation plays a fundamental role in sequencing and real-world interaction.

Sequencing

Many tests require long waveform memory records, and eventually, the necessary record length may exceed the available waveform memory. Sequencing is a popular way to increase a signal’s length. In sequencing, different waveform segments repeat (or are played back one after the other) through a user-defined sequence list.

For example, to produce a serialdata signal with one anomalous bit every second at 10 Gsamples/s, a typical AWG would need a 10-Gsample memory. A sequencing AWG could accomplish the same effect by repeating a 1-Msample record containing one bit 9999 times and then producing one anomalous bit (Figure 2). Doing this reduces waveform memory by 5000 times (2 Msamples versus 10 Gsamples), and it reduces the time needed to calculate, transfer, and load the necessary samples.

Using signals with regularities may result in huge memory savings. Video- test signals are a good example. Each video line may contain similar sections, or synchronization signals: Lines with the same video information repeat many times in a single frame or field, and each frame or field requires similar synchronization signals at the beginning.

Straightforward sequencing— where each entry, or step, in the table (sequence list) specifies a waveform segment and the number of times it should be repeated before the AWG proceeds to the next step—may produce the necessary synchronization signals. Complex signals such as video- test signals, however, may require long sequences.

You can reduce memory usage by implementing nested sequences where you define “sequences of sequences” or even mix regular segments and other sequences. For a video- test signal, one low-level sequence could contain the segment with the line synchronization, and a second sequence could contain the luminance and chrominance information. Another sequence could contain the same segment with the line synchronization and the contents of the frame synchronization, and then a higherlevel sequence could link all these sequences and include specific segments for each frame. With this structure, defining a new test pattern becomes as easy as changing the luminance segment entry in the sequence list.

For more information
In the full version of this article in Test & Measurement World, the author proceeds to explore how the use of sequencing can affect performance, and then discusses using an AWG in interactive modes, where the instrument responds to external triggers or other stimuli; and concludes by examining some of the more subtle problems you may need to avoid when making full use of the AWG’s capabilities, such as how to avoid discontinuities when you loop around to repeat a sequence. Read the complete article at www.tmworld.com/article/517961-Maximize_a_waveform_ generator_s_memory.php


 

Our Sponsors



Ads by Google