Sizer

Initial Sizing module — Layer 3 of the CircuitGenome pipeline.

size_circuit() is the dispatcher: it routes a parsed netlist plus its Layer-2 FunctionalBlockRecognitionResult and a performance spec to the right sizer and returns a SizingResult.

  • technologies with a gm/Id LUT → the block-based gm/Id pipeline (size_gmid());

  • the card-less generic technology → the Level-1 CP-SAT sizer (size_level1());

  • a PTM/SPICE-model node without a LUT → UnsupportedTechError (the Level-1 square-law numbers are not valid for such nodes).

circuitgenome.sizer.sizer.size_circuit(parsed, sr_result, fbr_result, topology, tech, spec, *, time_limit_s=30.0)[source]

Compute initial transistor W/L values satisfying spec.

Parameters:
Returns:

SizingResult with per-transistor sizing, compensation cap, computed metrics, and safety margins.

Return type:

SizingResult