Expand description
The AnalogTarget ADL — the analog lane’s described-fabric spine, shaped as a
characterized analog PDK for the compiler, not a feature checklist.
Mirrors the pattern of crate::codegen_sva::fabric_target::FabricTarget (capability
gating + typed refusal + cited presets) without sharing its lattice: the digital fabric’s
vocabulary is exact ≡VM; this one is tolerance-≡ by physics. Two regimes, two ADLs.
§The physical model the descriptor encodes
Two physical tile classes realize the whole compute vocabulary:
- the linear tile — programmable-transconductance elements into a current-summing node
(
Iᵢ = gmᵢ·Vᵢ, Kirchhoff sums the currents): realizesSum, andGainConstas the one-input degenerate case (NOT a separate physical macro); - the multiplier tile — a differential four-quadrant (Gilbert/translinear) cell
normalizing by a programmed reference (
Vout = Va·Vb/Vref): scarce, like FPGA DSP blocks.
Every net is DIFFERENTIAL (Vsignal = V⁺ − V⁻ around Vcm ≈ mid-rail): the math-domain
signed span ±half_span is the differential swing, signed weights are a wire swap, and
common-mode noise cancels. Fan-in is a physical resource (summing-node loading, settling,
noise), so sum_fanin is a hard per-tile limit the compiler trees around. Weights are
digitally programmed from matched unit elements (weight_bits sign+magnitude), so a weight
is QUANTIZED and its snap error is an itemized error-budget term. The multiplier’s Vref
comes from a DISCRETE realizable set — rail safety does NOT imply reference realizability,
and the gain schedule must land the block scale on a member or refuse.
Provenance discipline: a preset may carry exactly two kinds of numbers — a sourced
physical figure (cited in the doc block AND in AnalogTarget::provenance) or a
modeled-design parameter of OUR fabric. An invented physical constant is neither, and
ships never. The characterization ladder that ultimately fills these fields is
schematic-SPICE → PVT → Monte-Carlo mismatch → layout extraction → silicon measurement.
Structs§
- Analog
Target - A described analog fabric. One lowering retargets across shapes by varying this descriptor;
each demand is either realizable on it or refused with a typed
AnaUnplaceable.
Enums§
- AnaUnplaceable
- Why a netlist cannot be realized on a given analog target — a TYPED refusal, never a silently-wrong circuit.
- Analog
Capability - A discrete capability a lowering demands of an analog target — the unit of typed refusal.
Continuous demands (gain ratios, integrator rates, multiplier references) refuse through
their own
AnaUnplaceablevariants, which carry the offending value. - Analog
Cell Kind - An analog tile kind the fabric can realize.
Constants§
- ALL_
ANALOG_ CELL_ KINDS - Every analog tile kind — the cell universe a superset target provides.