You are on page 1of 4

What is an FPGA?

Before the advent of programmable logic, custom logic circuits were built at the board level using
standard components, or at the gate level in expensive application-specific (custom) integrated circuits.
The FPGA is an integrated circuit that contains many (64 to over 10,000) identical logic cells that can be
viewed as standard components. Each logic cell can independently take on any one of a limited set of
personalities. The individual cells are interconnected by a matrix of wires and programmable switches. A
user's design is implemented by specifying the simple logic function for each cell and selectively closing
the switches in the interconnect matrix. The array of logic cells and interconnect form a fabric of basic
building blocks for logic circuits. Complex designs are created by combining these basic blocks to create
the desired circuit.

What does a logic cell do?

The logic cell architecture varies between different device families. Generally speaking, each logic cell
combines a few binary inputs (typically between 3 and 10) to one or two outputs according to a boolean
logic function specified in the user program . In most families, the user also has the option of registering
the combinatorial output of the cell, so that clocked logic can be easily implemented. The cell's
combinatorial logic may be physically implemented as a small look-up table memory (LUT) or as a set of
multiplexers and gates. LUT devices tend to be a bit more flexible and provide more inputs per cell than
multiplexer cells at the expense of propagation delay.

So what does 'Field Programmable' mean?

Field Programmable means that the FPGA's function is defined by a user's program rather than by the
manufacturer of the device. A typical integrated circuit performs a particular function defined at the time
of manufacture. In contrast, the FPGA's function is defined by a program written by someone other than
the device manufacturer. Depending on the particular device, the program is either 'burned' in
permanently or semi-permanently as part of a board assembly process, or is loaded from an external
memory each time the device is powered up. This user programmability gives the user access to
complex integrated designs without the high engineering costs associated with application specific
integrated circuits.

How are FPGA programs created?

Individually defining the many switch connections and cell logic functions would be a daunting task.
Fortunately, this task is handled by special software. The software translates a user's schematic
diagrams or textual hardware description language code then places and routes the translated design.
Most of the software packages have hooks to allow the user to influence implementation, placement and
routing to obtain better performance and utilization of the device. Libraries of more complex function
macros (eg. adders) further simplify the design process by providing common circuits that are already
optimized for speed or area.
FPGAs offer an opportunity to accelerate your digital signal processing application up to
1000 times over a traditional DSP microprocessor.

Microprocessors are slow.


Digital signal processing has traditionally been done using enhanced
microprocessors. While the high volume of generic product provides a low
cost solution, the performance falls seriously short for many applications.
Until recently, the only alternatives were to develop custom hardware
(typically board level or ASIC designs), buy expensive fixed function
processors (eg. an FFT chip), or use an array of microprocessors.

FPGAs accelerate DSP


Recent increases in Field Programmable Gate Array performance and size
offer a new hardware acceleration opportunity. FPGAs are an array of
programmable logic cells interconnected by a matrix of wires and
programmable switches.. Each cell performs a simple logic function defined
by a user's program. An FPGA has a large number (64 to over 20,000) of
these cells available to use as building blocks in complex digital circuits.
Custom hardware has never been so easy to develop.

Performance up to 1000x.*
The ability to manipulate the logic at the gate level means you can construct
a custom processor to efficiently implement the desired function. By
simultaneoulsy performing all of the algorithm’s subfunctions, the FPGA can
outperform a DSP by as much as 1000:1.
DSP performance is limited by the serial instruction stream. FPGAs are a
better solution in the region above the curve.
* Actual performance gains depend on algorithm efficiency, clock rates, degree of parallelism and other factors. Typical
gains lie between 10:1 and 1000:1

FPGA DSPs are flexible,


Like microprocessors, many FPGAs can be infinitely reprogrammed in-circuit
in only a fraction of a second. Design revisions, even for a fielded product,
can be implemented quickly and painlessly. Hardware can also be reduced
by taking advantage of reconfiguration.

Highly integrated,
The programmable logic in an FPGA can absorb much of the interface and
‘glue’ logic associated with microprocessors. The tighter integration can
make a product smaller, lighter, cheaper and lower power.

Competitively priced,
FPGAs are a generic product customized at the point of use. They enjoy the
cost advantages of high production volumes. There are also none of the NRE
charges or fabrication delays associated with ASIC development..

And get you to market on time.


The FPGA’s flexibility eliminates the long design cycle associated with ASICs.
With FPGAs there are no delays for prototypes or early production volume.
Design revisions are easily implemented, often taking less than a day. The
devices are fully tested by the manufacturer, eliminating production test
development.
So why isn’t everyone using FPGAs for DSP?
Lack of experience using these devices for intense computational
applications.
Algorithms developed for microprocessors can be difficult to translate into
hardware.
Immaturity of design tools for FPGA based DSP design
Success of an FPGA DSP design is heavily dependent on the experience of
the designer, not only in implementing designs in FPGAs, but also in
tailoring algorithms for hardware efficiency.

Andraka Consulting Group


is the high performance FPGA DSP expert.
We’ve been using FPGAs in DSP designs since 1988 for:

Radar signal processors (data rates above 40 Mhz)


Physical system and noise modeling
Video processing
Audio signal processing
Communications
and other applications

Andraka Consulting Group will


Tailor your algorithms to the FPGA
Optimize the logic for high performance or density
Translate the design into an FPGA program
Provide the highest possible performance in FPGAs

You might also like