3.5.8 · D3HDL & Digital Design Flow

Worked examples — FPGA vs ASIC design flow

3,082 words14 min readBack to topic

The scenario matrix

Think of every question as a point on a straight-line graph: cost on the vertical axis, quantity on the horizontal. FPGA is a steep line starting at ~zero; ASIC is a shallow line starting high up. They cross once, at .

Figure — FPGA vs ASIC design flow

How to read this figure: the horizontal axis is (thousands of chips), the vertical axis is total cost in millions of dollars. The cyan line is the FPGA — it starts at the origin (no mask cost) and climbs steeply because each chip is expensive. The amber line is the ASIC — it starts high up at $1 M (the mask NRE) but climbs gently because each chip is cheap. They meet at the white dot labelled . Notice the shaded verdict text: left of the dashed line the cyan line is lower (FPGA cheaper); right of it the amber line is lower (ASIC cheaper). Every example below is just "which side of that white dot am I on?"

Every case class below is just where you land relative to that crossing point, or what happens when an input is extreme/zero.

Cell Case class What makes it special Covered by
A (FPGA side) not enough volume to repay masks Ex 1
B (ASIC side) volume repays masks & then some Ex 2
C exactly tie — the degenerate boundary Ex 3
D (zero denominator) lines parallel → no crossing Ex 4
E Non-zero FPGA NRE (dev-board/tools) numerator uses difference of NREs Ex 5
F Solve for a target price not a choice invert the model for Ex 6
G Real-world word problem translate English → symbols Ex 7
H Time / re-spin cost (not just $) bug-after-tape-out limiting case Ex 8
I Negative denominator () → no valid crossing Ex 9
J Exam twist: volume ramp over time piecewise decision, when to switch Ex 10
K (zero numerator) → lines cross at the origin Ex 11

Example 1 — Cell A: below break-even


Example 2 — Cell B: above break-even


Example 3 — Cell C: exactly at the boundary (degenerate tie)


Example 4 — Cell D: parallel lines (denominator = 0)


Example 5 — Cell E: non-zero FPGA NRE


Example 6 — Cell F: invert the model (solve for a price)


Example 7 — Cell G: real-world word problem


Example 8 — Cell H: the re-spin limiting case (a bug appears)


Example 9 — Cell I: negative denominator ()


Example 10 — Cell J: exam twist, decision over a volume ramp


Example 11 — Cell K: identical fixed costs (zero numerator, crossing at the origin)


Recap

Recall Every cell in one sentence

Compare to : below → FPGA, above → ASIC, equal → tie; if the denominator is zero the lines never cross (compare start points); if the numerator is zero the lines cross at the origin (cheaper slope wins for all ); if comes out negative there is no valid crossing (the cheaper-start, cheaper-slope option always wins); the numerator always uses the difference of NREs (which a re-spin can enlarge).

Which side of the crossing wins for volume below ?
FPGA — its steep line is still below the shallow ASIC line to the left of the crossing.
What does a zero denominator in mean physically?
Equal per-unit costs → ASIC saves nothing per chip → lines are parallel → no crossing → compare start points instead.
What does a zero numerator () mean?
Equal fixed costs (NREs) → lines cross at the origin → the option with the cheaper per-unit cost wins for every .
What does a negative mean?
The crossing is at a negative (impossible) volume → no valid break-even → the cheaper-start, cheaper-slope option wins for all real .
What goes in the numerator of ?
The difference (the extra fixed cost of ASIC), not ASIC's NRE alone.
How does an ASIC re-spin change the graph?
It adds to , shifting the crossing rightward; the FPGA line is unchanged.

Prerequisites & neighbours: RTL Design & Verilog · Logic Synthesis · Lookup Tables (LUTs) & FPGA Architecture · Standard Cell Libraries · Static Timing Analysis · Place and Route · Non-Recurring Engineering (NRE) Cost · GDSII & Tape-out