Reference

Stage 1 Sizing

In the paper, this is the hybrid analytical sizing stage. It combines circuit equations with learned passive models to produce initial device and passive values that are later mapped into the netlist.

Main Driver

python3 perform_initial_sizing.py --config EXAMPLES/LNA_1/config.json

What It Does

  • reads the main config
  • calls the selected stage 1 sizer
  • writes best_<topcell>_design.json and a sweep CSV into project_name/stage_1/
  • maps the chosen values into design.input_netlist

LNA Stage 1

The LNA flow uses lna_stage_1_sizer.py plus a detailed JSON file such as EXAMPLES/LNA_1/lna_stage_1_config.json. That config holds device constants, sweep ranges, scoring weights, and fallback rules.

PA Stage 1

The PA flow uses pa_stage_1_sizer.py and a flatter stage 1 config such as EXAMPLES/PA_1/pa_stage_1_config.json for stage gain, load-line, and matching-network calculations.

Mapping to the Netlist

map_initial_size_to_netlist.py supports:

  • json_list mode for directly mapping numeric design keys
  • regex_extract mode for extracting values from formatted sizing strings