Вы находитесь на странице: 1из 4

Introduction to FPGA

Field programmable gate arrays (FPGAs) are digital integrated circuits (ICs) that contain
configurable (programmable) blocks of logic along with configurable interconnects between
these blocks. Design engineers can configure (program) such devices to perform a tremendous
variety of tasks.

Depending on the way in which they are implemented, some FPGAs may only be programmed a
single time, while others may be reprogrammed over and over again. Not surprisingly, a device
that can be programmed only one time is referred to as one-time programmable (OTP).

The field programmable portion of the FPGAs name refers to the fact that its programming
takes place in the field (as opposed to devices whose internal functionality is hardwired by the
manufacturer). This may mean that FPGAs are configured in the laboratory, or it may refer to
modifying the function of a device resident in an electronic system that has already been
deployed in the outside world. If a device is capable of being programmed while remaining
resident in a higher-level system, it is referred to as being in-system programmable (ISP).

What can FPGA used for?


When they first arrived on the scene in the mid-1980s, FPGAs were largely used to
implement glue logic, medium complexity state machines, and relatively limited data
processing tasks.
During the early 1990s, as the size and sophistication of FPGAs started to increase, their
big markets at that time were in the telecommunications and networking arenas, both of
which involved processing large blocks of data and pushing that data around.
Later, toward the end of the 1990s, the use of FPGAs in consumer, automotive, and
industrial applications underwent a humongous growth spurt. FPGAs are often used to
prototype ASIC designs or to provide a hardware platform on which to verify the
physical implementation of new algorithms. However, their low development cost and
short time-to-market mean that they are increasingly finding their way into final
products.
By the early-2000s, high-performance FPGAs containing millions of gates had become
available. Some of these devices feature embedded microprocessor cores, high-speed
input/output (I/O) interfaces, and the like. The end result is that todays FPGAs can be
used to implement just about anything, including communications devices and softwaredefined radios; radar, image, and other digital signal processing (DSP) applications; all
the way up to system-on-chip (SoC) components that contain both hardware and
software elements.

To be just a more specific, FPGAs are currently eating into four major market segments:
ASIC and custom silicon, DSP, embedded microcontroller applications, and physical layer
communication chips. Furthermore, FPGAs have created a new market in their own right:
reconfigurable computing (RC).
A. ASIC and custom silicon: As was discussed in the previous section, todays FPGAs are
increasingly being used to implement a variety of designs that could previously have
been realized using only ASICs and custom silicon.
B. Digital signal processing: High-speed DSP has traditionally been implemented using
specially tailored microprocessors called digital signal processors (DSPs). However,
todays FPGAs can contain embedded multipliers, dedicated arithmetic routing, and
large amounts of on-chip RAM, all of which facilitate DSP operations. When these
features are coupled with the massive parallelism provided by FPGAs, the result is to
outperform the fastest DSP chips by a factor of 500 or more.

C. Embedded microcontrollers: Small control functions have traditionally been handled by


special-purpose embedded processors called microcontrollers. These low cost devices
contain on-chip program and instruction memories, timers, and I/O peripherals wrapped
around a processor core. FPGA prices are falling, however, and even the smallest devices
now have more than enough capability to implement a soft processor core combined with a
selection of custom I/O functions. The end result is that FPGAs are becoming increasingly
attractive for embedded control applications.
D. Physical layer communications: FPGAs have long been used to implement the glue
logic that interfaces between physical layer communication chips and high-level networking
protocol layers. The fact that todays high-end FPGAs can contain multiple high-speed
transceivers means that communications and networking functions can be consolidated into a
single device.
E. Reconfigurable computing: This refers to exploiting the inherent parallelism and reconfigurability provided by FPGAs to hardware accelerates software algorithms. Various
companies are currently building huge FPGA-based reconfigurable computing engines for
tasks ranging from hardware simulation to cryptography analysis to discovering new drugs.

Вам также может понравиться