ASIC vs FPGA vs SoC: What Is the Difference?
These three terms describe different things. An ASIC is a chip custom-designed for one application. An FPGA is a chip whose logic you can reprogram after manufacturing. An SoC (system on chip) is a chip that integrates a whole system, such as CPU cores, a GPU, memory controllers and I/O. The terms overlap: a smartphone SoC is usually built as an ASIC, and some FPGAs include processor cores, which makes them SoCs too.
| Aspect | ASIC | FPGA | SoC |
|---|---|---|---|
| What it is | A chip designed and manufactured for one specific application | A chip with programmable logic blocks and interconnect that you configure after manufacturing | A chip that integrates the main parts of a system: processor cores, memory controllers, I/O and accelerators |
| Flexibility | Fixed once manufactured | Reconfigurable, even in the field | Hardware is fixed, but the processors run software that can be updated |
| Performance and power efficiency | Best: the logic is tailored to the task | In between: the programmable fabric costs area, speed and power | High, thanks to dedicated accelerators for common tasks |
| Up-front cost | Very high: design, verification and masks can cost millions to hundreds of millions of dollars at advanced nodes | Low: you buy a ready-made device | High, similar to an ASIC, because it is a custom chip |
| Unit cost at high volume | Lowest | Higher per unit | Low |
| Time to market | Long: design, verification and fabrication take many months to years | Short: a design can be running in days or weeks | Long |
| Fixing a design bug | Expensive: usually needs a new set of masks (a respin) | Easy: reprogram the device | Expensive, though some problems can be worked around in software |
| Typical uses | Cryptocurrency miners, network and storage controllers, dedicated codecs | Prototyping, low-volume products, telecom and test equipment, hardware acceleration | Smartphones, tablets, game consoles and many embedded devices |
Figures are typical orders of magnitude and vary by process generation and product.