Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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

share|improve this question
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
up vote 4 down vote accepted

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.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .