
What is an FPGA?
Increasingly FPGAs have gained popularity in the embedded market space to speed up development and for rapid prototyping of complex systems. But what is an FPGA? Here is a very good explanation from market leader Altera.
The field-programmable gate array (FPGA) is a semiconductor device that can be programmed after manufacturing. Instead of being restricted to any predetermined hardware function, an FPGA allows you to program product features and functions, adapt to new standards, and reconfigure hardware for specific applications even after the product has been installed in the field—hence the name “field-programmable”. You can use an FPGA to implement any logical function that an application-specific integrated circuit (ASIC) could perform, but the ability to update the functionality after shipping offers advantages for many applications.
Unlike previous generation FPGAs using I/Os with programmable logic and interconnects, today’s FPGAs consist of various mixes of configurable embedded SRAM, high-speed transceivers, high-speed I/Os, logic blocks, and routing. Specifically, an FPGA contains programmable logic components called logic elements (LEs) and a hierarchy of reconfigurable interconnects that allow the LEs to be physically connected. You can configure LEs to perform complex combinational functions, or merely simple logic gates like AND and XOR. In most FPGAs, the logic blocks also include memory elements, which may be simple flipflops or more complete blocks of memory.
As FPGAs continue to evolve, the devices have become more integrated. Hard intellectual property (IP) blocks built into the FPGA fabric provide rich functions while lowering power and cost and freeing up logic resources for product differentiation. Newer FPGA families are being developed with hard embedded processors, transforming the devices into systems on a chip (SoC).
Compared to ASICs or ASSPs, FPGAs offer many design advantages, including:
- Rapid prototyping
- Shorter time to market
- The ability to re-program in the field for debugging
- Lower NRE costs
- Long product life cycle to mitigate obsolescence risk
Source : http://www.altera.com/
“The field-programmable gate array (FPGA) is a semiconductor device that can be programmed after manufacturing.” is not a good explanation, since also a (e. g. von Neumann type) microprocessor can be programmed after manufacturing. Also a microprocessor allows you to program product features and functions, adapt to new standards (depends what standards you mean).
Reiner
Posted by Reiner Hartenstein | September 5, 2011, 11:28 amAs with my previous response, the statements are true and the two or three that you have highlighted are features of an FPGA. The fact that other devices can also perform these functions is not relevant, in fact it only highlights the fact that the FPGA is a highly flexible device. If you are looking for a single all encompassing statement, I am not sure there is one.
Thanks again for visiting my blog.
Posted by tmnorris | September 5, 2011, 12:09 pm“You can use an FPGA to implement any logical function that an application-specific integrated circuit (ASIC) could perform,” is not a good explanation, since also a (e. g. von Neumann type) microprocessor can be programmed to implement any logic function.
Reiner
Posted by Reiner Hartenstein | September 5, 2011, 11:38 amThanks for commenting – Just because it describes a function that something else can do, it doesn’t mean its not a good description. An FPGA can implement any logical function that an ASIC could perform.
Posted by tmnorris | September 5, 2011, 12:05 pm