CMP - United Business Media TechOnline
All Articles Products Courses Papers VirtuaLabs Webinars Web



 
LoginRegister
      TechOnline > Design Article
Under the Hood
October 08, 2002

Using FPGAs for Software Radio Systems

Rodger H. Hosking
Pentek
TechOnline

ABOUT THE AUTHOR

Rodger H. Hosking is vice president and co-founder of Pentek where he is responsible for new product definition, technical marketing, and strategic alliances. With over 25 years in the electronics industry, he has served as engineering manager at Wavetek/Rockland, and holds patents in frequency synthesis and spectrum analysis techniques. He received a BS degree in Physics from Allegheny College and BSEE and MSEE degrees from Columbia University.
During the last decade, designers have used ASICs and DSPs to handle nearly all of the signal-processing functions associated with radio communications. Even though programmable logic has been around for decades, the latest generation of FPGAs is so powerful that they're now displacing both ASICs and DSPs in the latest software-radio applications.

With Moore's law at work, these FPGA devices sport incredibly small silicon geometries, capable of operating at very low core voltages and very high clock speeds. Most of these new devices take advantage of ball-grid-array (BGA) packaging to deliver thousands of I/O pins while keeping the packaged device's footprint very small.

In the early days, only hardware engineers were capable of creating designs for programmable logic. Today, an entire new class of design tools is appearing that now opens up FPGAs for both hardware and software engineers. Instead of just accepting logic equations and schematics, these new tools accept entire block diagrams as well as VHDL and Verilog descriptions. Excellent modeling and analysis tools have greatly simplified the task of debugging these new devices.

Perhaps the most exciting new twist in design tools is the growing libraries of silicon-IP (SIP) cores available from FPGA vendors as well as a whole new industry of third-party companies that offer application-specific SIP cores.

Software Radio Functions
Figure 1 shows a typical wireless-communication software-radio system identifying various signal-processing tasks. A dedicated ASIC device consisting of three major blocks"mixer, local oscillator, and filter"usually handles the digital-down-converter or digital-receiver sections.


Figure 1:  DSP functions for software radio

The local oscillator or NCO consists of a phase accumulator, which is just a register, and an adder, both available as standard library blocks for virtually all FPGAs. The phase value in the accumulator drives a sine/cosine lookup table, which you can implement in a simple ROM. The mixer is nothing more than a pair of digital multipliers, now available as dedicated hardware resources in the latest generation FPGAs.

Programmable DSPs are often used to implement some common demodulation, decoding, and analysis functions. However, FPGA and third-party vendors now offer a good selection of SIP libraries to handle Viterbi, Reed-Solomon, convolutional, and trellis decoders; data encryption standard engines; and various noisy-channel models.

Both FFT and discrete-cosine transform cores are also available with several different block lengths. Several vendors are offering scalable FFT engines ranging in size from 16 to 1024 points and higher using complex radix-4 algorithms. Since an FFT operates on blocks of data, the block-memory RAM available with the newer FPGA devices allows some design tradeoffs. You can save memory by doing an in-place FFT with a single block, or move up to a swinging buffer arrangement to provide continuous real-time calculations. Some of the SIP cores support several different memory modes.

To help with control functions, a long list of SIP cores is available for popular processors. The benefit with this technique is that by using a well-supported core processor you can take advantage of existing code and the software-development tools already in place for these engines"this helps speed development and improve maintainability.

For speech and video signals, you can take advantage of a wide range of cores including ADPCM, JPEG, and color-space converters. The decimating low-pass filter usually comprises several CIC filter stages followed by a FIR filter. SIP cores for all of these basic functions are available from multiple sources. If some or all of these signal-processing functions are handled by an FPGA, the programmable DSP is now able to concentrate on the analysis and control functions, much more appropriate tasks for the DSP's capabilities.

Tradeoffs: Digital-Receiver ASICs vs. FPGAs
Although you can implement digital-receiver functions within an FPGA, this technique can consume more power and cost much more per channel than an ASIC. These performance differences depend on many different factors, including sampling frequency, filter characteristics, and signal-to-noise requirements.

The ASIC digital receiver usually is designed with a full set of standard operating modes and features, and has been more thoroughly tested and characterized than a custom combination of FGPA-based SIP cores. This gap will obviously shrink as the cores add more functionality and more cores become available. Since the ASIC hardware is optimized for dedicated functions, the latest ASIC devices are usually the better choice for extremely high-performance receiver applications.

The ASIC normally benefits from a longer user history, bug fixes, and a much more complete characterization and testing effort. Standard ASICs usually have extra bells and whistles you may not need today, but they've already been tested and will be ready to use for future requirements.

However, if you can't buy a standard digital-receiver ASIC with just the right phase and frequency characteristics, or if the local oscillator just doesn't meet your switching requirements, an FPGA's flexibility might get the job done. Also, for proof-of-concept systems or when time-to-market is critical, FPGAs are often the right choice.

In other applications, where the required signal-to-noise ratios, filter skirts, or frequency templates are beyond the complexity of the standard filter inside a commercial ASIC, the flexibility of SIP filter designs for FPGAs can provide just about any characteristic.

Another shortcoming of some digital-receiver ASICs is the ability to provide output sampling that is decoupled from the input sampling rate and, instead, is synchronous with the output symbol rate. Although interpolation or re-sampling filters and synchronizers are now appearing on some new ASIC devices, they may not meet the needs of some of the new wireless protocols.

Tradeoffs: DSPs vs. FPGAs
While FPGAs can handle many of the tasks you traditionally do with a programmable DSP chip, there are several factors worth considering. Be careful of memory budgets for DSP applications. Even though today's FPGAs have quite a bit of on-board RAM, it's still a far cry from the large external SDRAMs normally surrounding a DSP chip. In spite of all the best design tools and simulators, DSP code (like any software) always seems to need more memory sooner or later. This usually occurs at the most inappropriate time in the design cycle—at the end. Newer FPGAs are now capable of embedding SDRAM controller cores to help alleviate this shortcoming.

While you can reconfigure FPGA code for new modes of operation and feature enhancements, it's usually much easier to make the more significant changes on a programmable DSP instead. Sometimes, a very small change can have a profound impact on the gate and logic-cell topology inside your device. In some cases, these changes can also mandate a new pinout, requiring a new printed-circuit-board design.

System Example
Figure 2 shows a 32-channel digital-receiver system suitable for a wide range of applications, including signal intelligence, direction finding, and signal tracking or dehopping receivers. It consists of a Model 6230 VIM-4 mezzanine module attached to a Model 4294 Quad G4 PowerPC VIM processor board at the bottom.

The receiver module has four 14-bit 80-MHz A/D converters for digitizing IF or HF analog inputs entering through front-panel SMA connectors. All four A/Ds feed a bank of eight quad digital down-converter ASICs with four channels of local oscillator, mixer, and filter in each chip.

On board are two Xilinx Virtex-E FPGAs, each receiving the 16 baseband signals from four quad-receiver chips. These FPGAs handle data formatting and channel selection for delivery down through the VIM interface to the 32-bit mezzanine FIFOs on the processor board. Since the receiver signals flow through the FPGAs, they can also perform demodulation and decoding functions to offload these tasks from the DSP.

Note that all four A/Ds are connected to all eight quad-receiver chips. Inside the front end of each receiver chip is a programmable crossbar switch that allows each of the four narrowband-channels inside to independently select any one of the four A/D inputs. This means all 32 receiver channels on-board can independently select which A/D or antenna they are looking at. This provides a very dynamic antenna-to-channel assignment scheme for systems that need to adapt to changing traffic patterns.

Also notice that the digital outputs of two A/D converters are delivered directly into each FPGA. This allows wideband A/D data to stream directly through the FPGA to the DSP. The high bandwidth of the VIM interface supports clock rates up to 100 MHz.

Even more important, it also allows the FPGA to handle signal-processing algorithms on the raw A/D data before it goes to the DSP, again, to offload some of its processing tasks. After handling the factory-standard functions of data formatting and control, nearly 70% of these resources are still available for custom applications.

The factory-default code takes care of all of the basic functions for most applications, including channel selection for delivery to the DSP board, selection of real or complex data modes, selection of receiver data or raw A/D data, and data-packing-mode selection. For custom signal-processing tasks, the optional design kit for each product includes the VHDL source code for all of these standard factory-default modes.

Customers can extend the factory code by adding their own algorithms at appropriate points in the signal flow path. You can develop and simulated FPGA algorithms by drawing on the wealth of SIP cores and design tools available for these devices. Once compiled, you can download the custom code through utility loaders into a non-volatile user memory on the board.

Design Guidelines
Care should be taken when evaluating benchmarks for FPGA devices and the associated SIP cores. Often, they assume that data has already been loaded into internal block memory and that the operation is finished when the result is written back into internal memory. Getting the data into and out of these memories takes extra time and it must be taken into account.

Many of the SIP cores are parameterizable"designers can specify the number of bits of calculation to tradeoff space for accuracy, if necessary. Be sure that the cores have enough precision to meet system requirements.

Algorithms run faster when they don't include exception handling"this can make benchmarks look deceptively fast. Designers may be able to guarantee, through system design, that certain exceptions simply cannot occur, but mysterious problems can appear in deployed systems if you overlook this aspect of the design.

To help check out new designs, take full advantage of simulation tools. Many of the advanced simulators are now bit-true, meaning they perform the operations with exactly the same number of bits that are in the FPGA algorithm. Be sure to allow enough time to thoroughly test a new FPGA design under all modes of operation to make sure it will act as reliably as the high-volume standard ASIC you're replacing.

Conclusion
In spite of all of these caveats, FPGAs are very successfully taking up many of the roles formerly played by DSPs and ASICs. One of the major benefits of the SIP core concept is that, like high-level languages, these cores can migrate to next-generation devices. This means that the wealth of core functions can accumulate and diversify, eliminating the need to start over again for each new family.

Your best source for more information on devices and cores is the Internet. New announcements are appearing daily and a good springboard for information is the third-party section of FPGA vendors' Web sites. Certain third parties are true experts in niche application areas and many of them offer consulting or custom design services as well.

 
Rate this article
WORSE | BETTER
1 2 3 4 5




Pentek
   

ARTICLE
1. FPGAs Boost Performance Levels of Wideband Digital Receivers

WEBINAR
2. FPGAs: Enabling the Software Radio

ARTICLE
3. What's in Store for 2004