gm/Id — Plan (Phases 2+3)¶
Phases 2+3 — Bias currents and the per-device sizing plan.
Phase 2 (assign_currents()) fixes what cannot be chosen: every device’s
quiescent current follows from spec.ibias and KCL, and the rail-referenced
load resistors follow from the first-stage branch current.
Phase 3 (plan_devices()) derives what must be achieved and what is
chosen: the per-stage gm requirements and compensation caps from the
performance spec (through the gm/Id device model), and the per-device design
intent (role, gm/Id region, L) resolved from the functional-block registry.
Both phases are pure derivations — no geometry exists yet.
- class circuitgenome.sizer.gmid.plan.CurrentPlan(ids_map, load_resistors, gd_load_r)[source]¶
Bases:
objectQuiescent currents and passive loads (Phase 2 output).
- Parameters:
- class circuitgenome.sizer.gmid.plan.SizingPlan(model, gm_req_map, vod_max_map, cc_pf, cc2_pf, tintents, warnings)[source]¶
Bases:
objectPer-device targets and design intent (Phase 3 output).
- Parameters:
model (GmIdModel) – the gm/Id device model (LUT + L/region policy from the intent).
gm_req_map (dict[str, float]) – ref → required gm in A/V (0 for non-signal devices).
vod_max_map (dict[str, float]) – ref → max VDS_sat in V from the output-swing spec (absent = unconstrained).
cc2_pf (float | None) – compensation cap(s) in pF (
Nonewhen absent).tintents (dict[str, TransistorIntent]) – ref → resolved
TransistorIntent.warnings (list[str]) – gm-ceiling advisories (a spec that needs more gm than the device can physically deliver at its bias current).
cc_pf (float | None)
cc2_pf
- tintents: dict[str, TransistorIntent]¶
- circuitgenome.sizer.gmid.plan.assign_currents(view, spec, tech)[source]¶
Assign per-device quiescent currents and size the load resistors.
- Parameters:
view (CircuitView)
spec (SizingSpec)
tech (TechParams)
- Return type:
- circuitgenome.sizer.gmid.plan.plan_devices(view, currents, spec, tech, intent)[source]¶
Derive gm requirements, compensation caps and per-device intent.
- Parameters:
view (CircuitView)
currents (CurrentPlan)
spec (SizingSpec)
tech (TechParams)
intent (GmIdIntent)
- Return type: