Skip to main content

Module error_budget

Module error_budget 

Source
Expand description

The error budget — ε as a COMPILER OUTPUT, never a hand-tuned test tolerance.

Every physical error source contributes a bounded math-domain term; the budget composes them through the dataflow with directed-outward rounding (sound linear-sum, the standard first-order perturbation bound plus the exact Mul cross term) and publishes the itemized decomposition. recheck() re-derives the total from the terms and demands bit-equality — dropping or editing a term is detected, mirroring PlacementCertificate::recheck.

Phase scope: the IDEALIZED-physical sources — DAC/ADC quantization (half-LSB at the block scale), the multiplier interaction cross-term, and an explicit f64-evaluator-rounding guard. Mismatch / noise / drift terms arrive with the non-ideality model, each itemized and sourced.

Structs§

ErrorTerm
One itemized contribution, in the MATH domain at the region output.
OutputBudget
The per-output budget: eps_math is the outward-rounded sum of terms, pinned by recheck.

Enums§

ErrorSource
A named physical origin of error. The decomposition is user-facing spec: a refusal or a budget report says exactly which arrow of the architecture costs what.

Functions§

error_budget
Compose the budget for a scheduled DAG netlist: one propagation pass with a lane per DAC input, the wq lane, and the cross lane; then the itemized terms.
error_budget_chopped
The CHOPPED physical budget: the schedule runs every frame twice around a ChopSwap and averages, so the frozen per-tile offset CANCELS EXACTLY — TileOffset is replaced by the modeled ChopResidual drift class, and the noise term is √2-averaged (two independent draws per result, bookkept outward). Everything else is the unchopped budget verbatim.
error_budget_nonideal
The PHYSICAL budget: the converter/quantization budget plus the non-ideality terms — per-leg gain error over the PLACED operand separations, per-tile offset, and the noise floor, each at the k·σ envelope and propagated through the dataflow. This is the ε the Monte-Carlo battery and (later) SPICE must live inside.