3

Recently I started to experiment with FPGAs and while doing this I found out about ASICs.

Can anyone explain me the main differences between them.

From what I have read so far, I understand the following:

  • FPGA can be reprogrammed, while ASIC can not (so sometimes people are testing the idea on FPGA and then move to ASIC)
  • the cost of one FPGA is lower than ASIC, but the cost of many ASICs is lower than many FPGA

There is a question raised here, but 2 answers there are actually from bitcoin prospective (which is not surprising, given that this is bitcoin-related site). I am more interested in a common answer.

Does anyone has a better way to explain the difference?

P.S. I know that the tag I am using is not really relevant, but because there are no tags ASIC, FPGA, there is the best I was able to find

  • 3
    I think you've already identified the major difference. – Brad Patton Apr 18 '13 at 13:31
  • The major thing I've noticed is that you'll see ASICS in things like networking equipment and small consumer devices while FPGA's are a lot more flexible and allow you to tinker more with them, geared more towards curious people and engineers. Not really much different than what you have above really. – jmreicha Apr 18 '13 at 13:50

1 Answers1

5

Well, alone from the wording:

  • an ASIC is an Application specific IC (integrated circuit)
  • an FPGA is a Field-programmable gate array

which means that ASICs execute hard-coded operations (they will never be able to be used for any other operations that they're not designed to do), while FPGAs are reprogrammable "in the field", i.e. by the user. So one implication is that you could design your algorithm on an FPGA (because it's basically a logic whiteboard) and tweak it until it does exactly what you want, then you can have an ASIC made which implements that same logic, and never any other. You can then use the same FPGA to implement other algorithms as often as you like.

Stefan Seidel
  • 10,655
  • Is there any limitation of how many times we can flash an FPGA? – Arash May 25 '21 at 18:39
  • @Arash, it depends on the time. There are different technologies used to create the hardware of the FPGA. If the FPGA is SRAM based, then there is no limit. If it is an antifuse based FPGA then there will be a limit. Some types are one time programmable only like the ones from Mirosemi. – quantum231 Sep 02 '21 at 23:56