Custom hardware design
Why engineers going for FPGA rather
than ASIC?
At the latest semiconductor IC fabrication process nodes
of 45nm and below, the number of logic gates in an FPGA
exceeds 5million giving ample space for designing logic
functional blocks for today's SoCs (System on Chip). Nearly
every FPGA Company provides silicon, software, and hardware
reference design to quickly develop embedded system applications
even with least knowledge of HDL or any such FPGA specific
languages. With such a set of tools and support, FPGA based
systems can be developed within weeks compared to what it
used to take months earlier. Factors such as these are contributing
to the growth of FPGA. On the otherside ASIC's development
cost is rising; forcing cost sensitive applications to move
from ASIC based to FPGA based.
Even at basic level, FPGA provide flexibility of reprogrammability
to the user. FPGA can be used to implement any logical function
that an application-specific integrated circuit (ASIC) could
perform. Where, ASIC is a chip designed for a particular
application.
Earlier FPGAs are used for lower speed, lower complexity
and lower volume designs. But today's FPGAs run at >500
MHz with good performance. With the drag and drop kind of
ready IPs available for embedded processors, DSP blocks,
and high-speed serial interface at lower prices, FPGAs are
targeting almost any type of design.
A coarse-grained architectural approach a step further
by combining the logic blocks and interconnects of traditional
FPGAs with embedded microprocessors and related peripherals
to form a complete "system on a programmable chip".Check
this Wikipedia article to know more about coarse-grained
architecture
http://en.wikipedia.org/wiki/Reconfigurable_computing
Modern FPGAs can be reprogrammed at "run time,"
leading to the idea of reconfigurable computing or reconfigurable
systems (CPUs that reconfigure themselves to suit the task
at hand).
Some of the trends that make FPGAs a better alternative
than ASICs for a growing number of higher-volume applications
are,
1. Increasing IC design costs.
2. Lack of R&D sources and VLSI design engineers
3. FPGA offers time-to-market advantage.
4. Weak economy asking for low-cost technologies
5. FPGA can be re-programmed in the field to fix bugs,
6. Reusability, and lower non-recurring engineering costs.
7. Some FPGAs have the capability of partial re-configuration
that lets one portion of the device be re- programmed
while other portions continue running.
However there are some disadvantages with FPGA too, they
are,
1. Not a right device for high volume applications
2. Costlier than custom silicon
3. No on-chip analog functions
4. Higher power consumption compared to ASIC.
5. Large configuration time and compilation time in FPGAs
compared with general-purpose processor.