Source
When this applies
when the cost of physical/full-scale iteration is extremely high, so iteration must happen in cheaper proxy representations first
The takeaway
When the final iteration medium is extremely expensive, build a staged ladder of progressively cheaper-to-expensive proxies, and push as much learning as possible into the cheapest stages before advancing.
Why it works
Because full chip builds (tapeouts) cost tens of millions of dollars and months, the team pushes as much iteration as possible into free, instant representations: back-of-envelope math, then performance simulators, then small-model ML experiments, then full Verilog simulation — each stage progressively more expensive and realistic.
One level up
The fastest and cheapest iteration loop available should absorb as much of the design risk as possible before committing to costly, slow iteration loops.
Where it stops holding
This stops working when cheap proxies (mental models, back-of-envelope estimates) don't correlate well with real-world outcomes, giving false confidence before expensive commitment.
Detail
procedure:- 1. Estimate performance mentally/on paper (e.g., simple division of parameters by multiplier throughput) to within ~30-40% accuracy.
- 2. Estimate circuit costs analytically (e.g., gate counts for a 16-bit multiplier).
- 3. Run small ML model experiments for fast iteration on numerics/architecture choices.
- 4. Use performance simulators for next-level hardware detail.
- 5. Only then write Verilog and run industry-standard simulators to catch implementation bugs.
benchmarks: {"accuracy_target":"estimate performance to within 30-40% before writing anything"}
rationale: The company maintains an internal 'gates' reference (cost of an XOR gate, AND gate, full adder, SRAM bit cell) so people can reason intuitively and quickly, similar to Jeff Dean's 'numbers everyone should know.'
In their words
at least the way I like to do design and architecture and optimization is to be able to sort of estimate the performance to within about 30, 40% before even typing anything in at all.