You now command two ways to get custom hardware — configure an FPGA, or (as modules 4–5 will teach)
tape out an ASIC — and the world offers a third that involves designing no hardware at all: buy
Chip economics splits every cost into two bins. NRE (non-recurring engineering) is what you pay once, before the first unit exists; unit cost is what each additional device costs forever after. The two technologies sit at opposite corners:
With NRE
Worked example with real-ish numbers:
The FPGA line starts at zero and climbs steeply ($300/unit); the ASIC line starts at the NRE and climbs gently ($30/unit). Their crossing point is the whole business case — drag the NRE slider and watch cheap masks (mature process node) pull the crossover left, while a bleeding-edge node pushes it right:
For a fixed, known function, efficiency follows how specialised the silicon is:
Every layer of generality — programmable routing on the FPGA, instruction fetch and schedulers on the GPU and CPU — spends energy on being general rather than on the work. But note the fine print "fixed function": for floating-point-heavy, batch-parallel throughput (dense matrix multiplies above all), a GPU's thousands of hardened FPUs and mature software stack routinely beat an FPGA implementation in raw throughput and in engineering time. The ordering flips with the workload — remember this for the Watch out below.
Flexibility runs exactly the other way:
A CPU changes behaviour by loading a program (seconds); a GPU by loading kernels (seconds, but only for parallel-shaped work); an FPGA by re-running a flow and reconfiguring (hours); an ASIC by taping out a new chip (a year and a fortune). The same ranking is roughly time-to-market: software this afternoon, a working bitstream this month, silicon in 12–18 months if nothing goes wrong.
| NRE | Unit cost | Perf/watt (fixed fn) | Change the behaviour | Time to market | |
|---|---|---|---|---|---|
| CPU | ~0 | low | worst | recompile — seconds | days |
| GPU | ~0 | moderate | good for parallel float | new kernels — seconds | weeks |
| FPGA | ~0 | high | very good | new bitstream — hours | months |
| ASIC | $0.5M–$50M+ | lowest | best | new tape-out — ~a year | 12–18 months |
A serviceable decision procedure falls out: volume huge and function frozen → ASIC; volume modest, latency-critical, streaming or exotic-I/O → FPGA; workload is batched parallel float with good library support → GPU; none of the above → the CPU you already have.
This lesson closes the FPGA module, and the syllabus now turns deliberately down the ASIC road:
Module 4 teaches static timing analysis and Module 5 the physical-design flow — synthesis to
GDSII, the ASIC big siblings of the
The tidy three-way split is dissolving at every edge, and the hard-block logic of
Both versions of this sentence appear in vendor slides, and both are meaningless as stated, because each is true for some workloads and false for others. Fixed-point streaming with microsecond deadlines — a radio front-end processing samples as they arrive, a market-data feed handler — plays to the FPGA: a custom pipeline computes at wire speed with no batching, and latency is deterministic to the nanosecond. Batched dense floating-point — training a neural network on ten thousand images — plays to the GPU: thousands of hardened FPUs, memory bandwidth an FPGA can only envy, and a decade of tuned libraries. Run each contender on the other's home turf and it loses embarrassingly, in both directions. So the professional reflex when anyone claims "X is faster than Y": ask "on what workload, at what batch size, at what latency bound, with how many engineer-months of tuning?" A performance claim without a named workload is an advertisement, not a measurement.