gm/Id — Analyze (Phase 1)¶
Phase 1 — Analyze: build the structural view of the recognised circuit.
Everything the later phases need to know about the circuit’s structure is derived here, once: the per-slot device lists, the deduplicated ref→(device, slot) map, the typed block view (load kind, stage count, fully-differential flag), the cascode devices, and the topology-mismatch warnings. All of it is read-only from here on.
- class circuitgenome.sizer.gmid.analyze.CircuitView(slot_transistors, slot_resistors, all_transistors, blocks, cascode_refs, warnings)[source]¶
Bases:
objectStructural view of the circuit (Phase 1 output).
- Parameters:
slot_transistors (dict[str, list[Device]]) – FBR slot name → MOSFET devices in that slot.
slot_resistors (dict[str, list[Device]]) – FBR slot name → resistor devices in that slot.
all_transistors (dict[str, tuple[Device, str]]) – deduplicated ref → (Device, owning slot); a device appearing in several slots is attributed to the highest-priority one.
blocks (OpAmpBlocks) – the typed
OpAmpBlocksdecomposition.cascode_refs (set[str]) – refs of stacked (cascode) current-source devices.
warnings (list[str]) – topology-mismatch advisories from the structural check.
- blocks: OpAmpBlocks¶
- circuitgenome.sizer.gmid.analyze.analyze_circuit(fbr_result, topology)[source]¶
Build the
CircuitViewfrom the FBR assignments.- Parameters:
fbr_result (FunctionalBlockRecognitionResult)
topology (TopologyTemplate)
- Return type: