Zibb
Subscribe to Control Engineering
FirstLight
Ask Charlie   


Link This | Email this | Blog This | Comments (0)


What’s an FPGA, and what’s it good for?
August 13, 2007

FPGA stands for “field programmable gate array,” which is pretty self-explanatory. An FPGA is an integrated circuit containing a large number of “logic blocks,” which the user can program (and in most cases re-program) to provide the functions of logic gates. A sufficiently large (measured by total number of logic blocks) FPGA can be programmed to embody any Boolean algebraic expression. They are “field programmable” when their characteristics are such that they can be reprogrammed by electrical circuits sourcing relatively low voltages and currents compatible field deployment. Many also include registers for use as memory elements.

FPGAs’ advantages over competing means to create computing engines include relatively high speed, real-time performance, rapid and inexpensive reconfigurability, and low cost in small unit volumes. Most commonly, FPGAs are used to create digital signal processing (DSP) engines for prototype or low-production-volume real-time embedded systems. Alternatives include application specific integrated circuits (ASICs), which tend to perform the same computations at higher speeds. ASICs, however, are not reprogrammable (unless part of the circuitry includes FPGA functionality), and are more expensive in low unit volumes.

Often, embedded system designers plan their designs for FPGAs, which are a better choice at the prototype and pilot production stages, then port them to ASICs or full-custom ICs when the design has been tested out and production volumes become high enough to make economic sense. FPGAs also make good platforms for special purpose systems requiring higher speed real-time performance than is possible using microprocessor-based computing engines.

Being programmable, FPGAs require a program written (typically) in the VHDL hardware description language. While VHDL is a human-readable language, most developers prefer to use more general-purpose tools, such as those available from Wind River, Montavista, National Instruments, and other embedded-system tool providers. These tools allow users to start by developing their algorithms in simulation on general-purpose computers, then generate VHDL code to download into the FPGA.

Users then test the FPGA-based hardware system to make sure that the algorithm works as required. The FPGA’s reprogrammability allows users to modify and retest the algorithm rapidly and at low cost through many iterations until the code has been optimized.

For pilot production, FPGAs provide an inexpensive option when unit volumes are too low to justify the cost of designing an ASIC or custom IC. As production volumes rise, the FPGA’s VHDL program provides the starting point for the high-volume chip’s design.

FPGAs also can make sense as a component of a high-volume design that may be expected to undergo firmware revisions. For example, an ASIC incorporating an FPGA block can accommodate additional features or addition of optional system hardware that may not be available when the system originally was deployed. Adding the new functionality only requires downloading a new VHDL program, not replacing the entire chip.

High-speed real-time control is an obvious application for FPGAs, including many mechatronic applications. Industrial control systems are often one-of-a-kind designs and often require revisions. Single-chip embedded controllers based on large FPGAs can have much smaller footprints than microprocessor-based systems as well.

Of course, any complex relay-based control system can be readily replaced with a small FPGA and power amplifiers to drive high-current loads. Such a replacement system can generally be expected to take up a small fraction of the space, use a fraction of the electricity, and switch at vastly higher speeds. And, reprogramming an FPGA is simpler, faster and easier than rewiring a relay bank.

Posted by Charlie Masi on August 13, 2007 | Comments (0)



POST A COMMENT
Display Name or Registered Users Login Here.

Before submitting this form, please type the characters displayed above:


Advertisement



Advertisements



About Us   |   Advertising Info   |   Site Map   |   Contact Us   |   Useful Sites   |   FREE Subscription   |   RSS
© 2008 Reed Business Information, a division of Reed Elsevier Inc. All rights reserved.
Use of this Web site is subject to its Terms of Use | Privacy Policy
Please visit these other Reed Business sites