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.

AspectASICFPGASoC
What it isA chip designed and manufactured for one specific applicationA chip with programmable logic blocks and interconnect that you configure after manufacturingA chip that integrates the main parts of a system: processor cores, memory controllers, I/O and accelerators
FlexibilityFixed once manufacturedReconfigurable, even in the fieldHardware is fixed, but the processors run software that can be updated
Performance and power efficiencyBest: the logic is tailored to the taskIn between: the programmable fabric costs area, speed and powerHigh, thanks to dedicated accelerators for common tasks
Up-front costVery high: design, verification and masks can cost millions to hundreds of millions of dollars at advanced nodesLow: you buy a ready-made deviceHigh, similar to an ASIC, because it is a custom chip
Unit cost at high volumeLowestHigher per unitLow
Time to marketLong: design, verification and fabrication take many months to yearsShort: a design can be running in days or weeksLong
Fixing a design bugExpensive: usually needs a new set of masks (a respin)Easy: reprogram the deviceExpensive, though some problems can be worked around in software
Typical usesCryptocurrency miners, network and storage controllers, dedicated codecsPrototyping, low-volume products, telecom and test equipment, hardware accelerationSmartphones, tablets, game consoles and many embedded devices

Figures are typical orders of magnitude and vary by process generation and product.

When to use which

ASIC
When the volume is high, the function is stable and you need the best performance and power efficiency per unit cost.
FPGA
When the volume is low, the requirements may change, or you need to start quickly: prototypes, early products, specialized equipment.
SoC
When you want a complete product in one chip, such as a phone. In practice an SoC is designed as an ASIC, and FPGAs are often used to prototype it before manufacturing.

FAQ

Is an SoC an ASIC?

In practice, usually yes. SoC describes what is integrated on the chip (a whole system), while ASIC describes how it is designed (custom for an application). A smartphone SoC is normally built as an ASIC.

Why are FPGAs used to prototype ASICs?

An FPGA can be reprogrammed in hours, so designers can test and fix their logic before paying for expensive masks. A bug found in an ASIC after manufacturing usually requires a respin.

When is an ASIC cheaper than an FPGA?

At high volume. An ASIC has a very high up-front cost but the lowest cost per unit, while an FPGA has a low up-front cost but a higher price per unit.

Are FPGAs slower than ASICs?

Generally yes. The programmable fabric costs area, speed and power, so a custom ASIC doing the same job is faster and more power-efficient.

Check your understanding

Which correctly describes a feature of FPGAs?

  1. AThe circuit is fixed at manufacture and cannot be changed
  2. BThey are devices dedicated to analog circuits
  3. CUsers can rewrite the configuration of the logic circuit after manufacturing
Show answer and explanation

Answer: C. Users can rewrite the configuration of the logic circuit after manufacturing

An FPGA consists of logic blocks with small lookup tables (LUTs) and programmable interconnect whose configuration can be rewritten after manufacture. With no fabrication lead time or mask costs, unlike an ASIC, it suits prototypes, low volumes and equipment needing updates. Its reconfiguration circuitry adds overhead, so the same function in an ASIC is faster, lower power and smaller. It is not an analog-only device.

What is an IC called that integrates functions a system needs, such as a CPU, GPU, memory controller and communications, on a single chip?

  1. ASiP (system in package)
  2. BCommodity DRAM
  3. CSoC (system on chip)
Show answer and explanation

Answer: C. SoC (system on chip)

An SoC integrates most of a system's functions on a single chip; smartphone processors are the classic example. Eliminating chip-to-chip wiring reduces part count and makes systems smaller, faster and lower-power. On the other hand, larger dies yield worse, and circuits requiring different processes are hard to combine. It is distinguished from an SiP, which houses multiple chips in one package. Commodity DRAM is a standalone memory product.

What is an IC called that is custom-designed for a specific application or customer?

  1. ACommodity memory
  2. BASIC (application-specific integrated circuit)
  3. CFPGA
Show answer and explanation

Answer: B. ASIC (application-specific integrated circuit)

An ASIC (application specific integrated circuit) is designed specifically for a particular product or application. Optimized for just the needed functions, it excels in performance and power, but high development costs including masks and months of development time mean it is used where sufficient volume is expected. Reprogrammable FPGAs suit low volumes and prototypes, and commodity memory serves many applications alike.

  1. In verifying large SoCs, which technique runs the designed circuit on dedicated hardware or FPGAs and verifies it quickly together with software?
  2. Which dedicated circuit is built into smartphone SoCs and similar chips to perform AI inference quickly and with low power?

Practice IC design flow and EDA questions

Key terms explained

ASIC (application-specific integrated circuit)
An IC designed specifically for one application or customer. It beats general-purpose chips on performance and power, but high development costs suit it to high-volume uses.
FPGA
A chip whose logic configuration the user can rewrite after manufacture. It is used for prototypes, low-volume products and ASIC verification.
SoC (system on chip)
An IC that integrates the functions a system needs, such as CPU, GPU, memory controller and communications, on one chip. The heart of a smartphone is a typical example.

Related comparisons