Advantages of FPGA | disadvantages of FPGA
This page covers advantages and disadvantages of FPGA. It mentions FPGA advantages or benefits and FPGA disadvantages or drawbacks. FPGA stands for Field Programmable Gate Array.
What is FPGA?
The FPGA is a semiconductor IC which can be programmed any time after manufacturing. The FPGA consists of matrix of CLBs (Configurable Logic Blocks) which are connected as per program. The languages such as VHDL and Verilog are used in order to write the higher language code for FPGA programming. The flashing of code is very easy and is same as PROM.
The figure-1 depicts internals of a FPGA IC. As shown it consists of collection of cells (e.g. LUTs, Look Up Tables). These logic cells are surrounded by interconnect fabric. Both the LUTs and fabric can be programmed. FPGAs are used for low speed, low volume and less complex operations. Refer What is FPGA>> and FPGA Architecture>> for more information.
Benefits or advantages of FPGA
Following are the benefits or advantages of FPGA:
➨FPGAs can be programmed at logic level. Hence it can implement faster and parallel processing of signals. This is difficult to be executed by processor.
➨Unlike ASIC which are fixed once programmed, FPGAs are programmable at software level at any time. Hence FPGA IC can be re-programmed or reused any number of times. FPGA can also be programmed from remote locations.
➨FPGA ICs are readily available which can be programmed using HDL code in no time. Hence the solution is available faster to the market.
➨Unlike ASIC which requires huge NRE (Non Recurring Expenses) and costly tools, FPGA development is cheaper due to less costly tools and no NRE.
➨In FPGA design, software takes care of routing, placement and timing. This makes lesser manual intervention. The design flow eliminates complex and time consuming place and router, floor planning and timing analysis.
Drawbacks or disadvantages of FPGA
Following are the disadvantages of FPGA:
➨The programming of FPGA requires knowledge of VHDL/Verilog programming languages as well as digital system fundamentals. The programming is not as simple as C programming used in processor based hardware. Moreover engineers need to learn use of simulation tools.
➨The power consumption is more and programmers do not have any control on power optimization in FPGA. No such issues in ASIC.
➨Once any particular FPGA is selected and used in the design, programmers need to make use of resources available on the FPGA IC. This will limit the design size and features. TO avoid such situation, appropriate FPGA need to be chosen at the beginning itself.
➨FPGAs are better for prototyping and low quantity production. When the quantity of FPGAs to be manufactured increases, cost per product also increases. This is not the case with ASIC implementation.