Expand description
3D placement over composed analog tiers — vertical interconnect as a COUNTED, refusable resource, and the cross-tier Pelgrom category priced into the budget.
The 2D placer’s greedy operand adjacency generalizes: sites now span every analog tier,
the cost of an operand edge is lateral pitches plus hop_cost_pitches per crossed gap,
and each crossing CONSUMES one via from each crossed gap’s budget — running out is a typed
AnaUnplaceable::VerticalResourceExhausted, never an overcommit. The budget composes
through the SAME engine as 2D (nonideal_budget_with), fed the full separation law: a
cross-tier leg pays the flat categorical ceiling
(Separation::CrossTier), which is how the budget itself teaches the placer to keep
matched clusters in-tier. place_stack_blind is the deliberate straw man the anti-vacuity
lock beats three ways (wire, ε, vias).
Structs§
- Stack
Placement - Per-cell site assignment plus the per-gap via ledger.
- Stack
Site - A physical site in the stack: which STACK tier, and where on its array.
Functions§
- error_
budget_ nonideal_ stacked - The stacked physical budget: the SAME composition engine as 2D, fed the full separation law — cross-tier legs pay the categorical ceiling, so hot scattering provably costs ε.
- error_
budget_ thermal_ stacked - The thermally-coupled stacked budget: the stacked budget PLUS the drift terms priced
against the CERTIFIED thermal map — offset drifts with each tile’s absolute rise
(
offset_tempco · ΔT), gain with the tile-to-operand GRADIENT (gain_tempco · |ΔT_cell − ΔT_operand|) — matching cares about gradients. One Picard pass, deterministic: placement + power → temperature → ε; hot placement provably costs ε (thermal_cooking_lockmeasures it). The ℚ→f64 bridge rounds outward. - place_
stack - Greedy operand-adjacent 3D placement: seat cells in SSA order at the FEASIBLE free site minimizing lateral-plus-hop cost to the placed operands (tier-major row-major tie-break — deterministic forever). A cell with no feasible site refuses on the blocking gap.
- place_
stack_ blind - The deliberate straw man: max-stride scatter over the tier-major site list, adjacency- and hop-blind (it still refuses rather than overcommit a gap — legality is non-negotiable).