TECHNOLOGY IN CONTEXT
Mezzanines and Small Form-Factor Boards
Right-Sizing FPGA Mezzanines Expands Application Space
FPGA mezzanine modules are being offered for a broader base of application and user needs, typically at a much lower price point.
JOE PRIMEAU, ACROMAG
Field-programmable gate arrays provide the equivalent of custom hardware but require less development and at a significantly lower cost. Manufacturers of FPGA-based modules have thus leveraged open-architecture bus board standards such as VME, PCI and PMC to serve high-end signal- and image-processing applications. The rigorous requirements of these and other sophisticated applications such as software defined radio (SDR), however, have relegated field-programmable design to the high end, where large FPGAs, fast uplink/downlink converters and large, high-speed memories have driven the price of FPGA modules into the five-figure price range.
Yet many applications would benefit from the use of FPGA-based board-level products. As a result, board manufacturers have begun offering FPGA modules for a broader base of application and developer needs, typically at a much lower price point (Figure 1). They are becoming popular for an ever widening range of applications. Well suited to working with a CPU or as stand-alone controllers, they are also the most reasonable design approach when obsolescence is an issue. Moreover, a rich trove of advanced tools and a wealth of IP cores help speed the development process.

Right-sizing FPGA modules for use across the gamut of embedded computing applications involves balancing variously sized FPGAs—ranging from roughly 5K to 50K logic cells each—with appropriate mixtures of memory, bus interface and I/O components.
Nevertheless, selecting the right FPGA module for a particular design can be difficult for newcomers to this product type. Successfully putting the selected module to work, in turn, will depend on the scope and quality of the tools provided in the board support packages (BSPs), or engineering design kits, provided by board vendors.
At the very least, a BSP should provide example VHDL code, both compiled and in source form, for everything the FPGA touches, including memory, I/O, buses, DMA and interrupt controllers. Having the source code on CD is essential. But when code is pre-installed in the module’s onboard memory, designers can exercise the module out of the box and confirm its proper operation without writing any new code. Many new designs allow code to be downloaded directly to the FPGA. If new programming downloaded to the FPGA doesn’t work, the developer can power down and reload the original programming from flash memory.
Widening the Application Field
A broad variety of possible FPGA, memory and I/O combinations can be integrated into the physical envelope of a mezzanine board standard such as Industry Pack or PMC. Modules can be generally characterized by tiers of complexity—as defined by the capacity of their FPGA, types and availability of onboard memory, speed and type of bus interface—as well as specialized technologies supported such as digital signal processing (DSP).
The application’s data processing speed requirement may also dictate the choice of FPGA chips and modules. For relatively slow applications, device families such as Altera Cyclone and Xilinx Spartan are adequate, while higher-speed requirements dictate devices like an Altera Stratix or Xilinx Virtex 2. Applications requiring the utmost in FPGA speed call for the latest technology, such as the Xilinx Virtex 4 or 5 family or an Altera Stratix III. At the module level, the application also dictates the amount and speed of memory provided for the FPGA, the I/O and bus structures that are used and other factors.
Module designs can be divided into basic FPGA modules, medium-powered modules with expanded memory and bus support, and finally larger, more powerful modules supporting the latest high-performance FPGAs, with a full array memory and high-speed bus support.
Entry-Level FPGA Processing
A basic module with an FPGA containing as few as 5K logic cells, some simple digital I/O and a modicum of SRAM can serve many basic applications. They are usually offered in the form of a small mezzanine module with a three-figure price tag. Up to about 10K or 20K logic cells, FPGAs such as the Altera Cyclone II and Xilinx Spartan families are appropriate.

Kontron
Interphase