2
\$\begingroup\$

I have been reading about FPGAs recently and found that they have a lot of applications in many fields. I also read an article that they are used for testing purposes alone. Are FPGAs only for that? Also please tell me the disadvantages of the FPGAs compared to the ASICs. Are FPGAs slowly being used more in many fields like military, space, image processing etc? Are they very useful compared to the ASICs?

\$\endgroup\$
6
  • 6
    \$\begingroup\$ No they're not. \$\endgroup\$
    – Andy aka
    Aug 6 '20 at 14:11
  • 2
    \$\begingroup\$ Whatever you read is wrong. \$\endgroup\$
    – DKNguyen
    Aug 6 '20 at 14:12
  • 2
    \$\begingroup\$ FPGA's has a good advantage to implement parallel programming, not like RTOS'es, RTOS'es does serial programming with good timing, but thanks to FPGA, separate tasks can be operated. \$\endgroup\$
    – emre iris
    Aug 6 '20 at 14:13
  • 1
    \$\begingroup\$ I think some of the iPhones have small FPGAs in them so.. pretty easy to find examples of end products with FPGAs. \$\endgroup\$
    – Wesley Lee
    Aug 6 '20 at 14:41
  • 1
    \$\begingroup\$ At least the Samsung Galaxy S5 had an FPGA inside. \$\endgroup\$
    – asdfex
    Aug 6 '20 at 14:53
16
\$\begingroup\$

I also read an article that they are used for testing purposes alone.

That is so ridiculous that I think you misunderstood the article. FPGAs are used for various applications, including data processing in specialized applications, and as glue logic in low volume applications where developing a fixed function ASIC would not be viable. Open up all kinds of electronic equipment and you will find an FPGA, or often many.

Also please tell me the disadvantages of the FPGAs compared to the ASICs.

Compared to an ASIC implementing the same function, an FPGA is slower, uses more power and costs more money per unit. The advantage is that it is much cheaper in low volumes and can be reprogrammed inexpensively.

Are FPGAs slowly being used more in many fields like military, space, image processing etc?

They have already been widely used in those fields for decades, although use in space can be tricky due to radiation hardness.

\$\endgroup\$
4
  • 1
    \$\begingroup\$ For space use, there are special rad-tolerant and rad-hard parts - for example, Microchip (through its acquisition of Microsemi/Actel) has a big range of product families, and I think Xilinx also plays in the high-performace section of this market. \$\endgroup\$ Aug 6 '20 at 14:50
  • \$\begingroup\$ Actel uses antifuse technology so it's not as susceptible to radiation as RAM-based architectures. Unfortunately, that also means it's not reprogrammable (OTP). \$\endgroup\$ Aug 6 '20 at 16:45
  • 1
    \$\begingroup\$ SRAM based Xilinx 7-Series FPGAs have a mechanism for detecting flipped configuration bits (See UG470 Chapter 8). Upon detection of a flipped bit the part can be re-configured. This may make them usable in radiation environments (such as space) as long as one is willing to accept an occasional reset. \$\endgroup\$
    – user4574
    Aug 6 '20 at 17:14
  • \$\begingroup\$ @SpehroPefhany: Microchip's formerly Microsemi FPGAs store programming Flash, so they're relatively rad-hard, and still re-programmable (but lower density and slower than SRAM-based FPGAs). \$\endgroup\$ Aug 10 '20 at 17:14
5
\$\begingroup\$

No, FPGAs are used in lots of different products from consumer electronic displays to video / image processing. They are also used in automotive & aerospace vehicles.

Earlier in FPGA's life I believe they were more likely used for lower volume products, but potentially down to us improving production processes and reducing volume costs they are totally viable for volume productions.

\$\endgroup\$
4
\$\begingroup\$

The cost of going from a design concept to an ASIC is horrendous and easily goes into 100ks$ to 1000ks$ range. Here I am referring to the money we pay to a company to manufactuer our ASICs. Once manufactured the design inside ASIC is fixed and cannot be improved or easily changed to fix any errors discovered later. However, provided that we mass produce the ASIC then the cost per unit becomes quite low. This is a whole science and I will not go into the details.

The thing called FPGA today started off a few decades ago where devices were developed that contained a small number logic gates that we could connect in an arbitrary order by "configuring them". In the beginning this process was "one time only" but later devices could be "congfigured" more than once. This created some ease in developing digital circuit implementation. Today's FPGAs are descendants of those devices but have a lot more resources then just logic gates and instead of having a few gates, they can easily have millions of them.

FPGAs are often used to "prototype" an ASIC design before we commit to getting the ASIC manufactured. This makes it easy to test and verify our design before we sign the paper to get the ASICs manufactured and end up paying 100ks$ to 1000ks$. However, as others have mentioned this is not always the case anymore. Now a lot of designs are implemented in FPGA and shipped to customers. Although the per unit cost of FPGA for given amount of logic resource would usually be higher than equivalent ASIC depending on the manufacture volume, the ability to be able to "upgrade" the design or "fix faults" in it once the product is shipped into the field and user by customer is a very powerful features of the FPGA.

FPGAs certainly cannot beat ASICs all the time. However, they can certainly help significantly if the production volume of our design is not in 100ks or 1000k+ of units. There are few things that FPGAs cannot achieve that ASICs can with some effort. ASICs can combine analogue and digital parts onto a single IC for a specific application. FPGAs are quite flexible in what they contain but they mostly contain resource to implement digital circuits. Another thing is power dissipation. FPGAs will ususally be more power hungry then ASICs for a given design. Also, FPGAs can be run at 100s of MHz clock frequency at most. However, ASICs can be designed to run in GHz range.

Engineering is all about trade-offs. Sometimes an ASIC will be the better option to implement the final design and FPGA will still be used for design testing and verification. At other times, the final product will contain FPGA instead of ASIC. FPGAs have come a long way in the last 20 years I must say due which they have moved into the "brain" of complex digital circuits whereas before they just worked as a "helper" for an ASIC or Processor. This has become possible only due to the massive increase in resources they can provide.

\$\endgroup\$
3
  • \$\begingroup\$ It should be noted that some of the FPGA manufacturers have a process to directly migrate an FPGA design into an ASIC. For example Xilinx has "EasyPath" \$\endgroup\$
    – user4574
    Aug 6 '20 at 17:23
  • \$\begingroup\$ Altera/Intel have it as well but ultimately FPGAs and FPGA to ASIC conversions are not suitable for all applications. In some things, ASIC is the only option available. \$\endgroup\$ Aug 6 '20 at 20:42
  • \$\begingroup\$ Really comprehensive post and summarises the application of both FPGAs and ASICs quite well. The use case that I feel will be more streamlined nowadays is that there will be a FPGA to control various peripherals, and if the peripheral are complex, they might have their own ASICs. \$\endgroup\$ Oct 6 '21 at 5:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.