Skip to main content

Module target

Module target 

Source
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): realizes Sum, and GainConst as 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§

AnalogTarget
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.
AnalogCapability
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 AnaUnplaceable variants, which carry the offending value.
AnalogCellKind
An analog tile kind the fabric can realize.

Constants§

ALL_ANALOG_CELL_KINDS
Every analog tile kind — the cell universe a superset target provides.