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.jsonWhat It Does
- reads the main config
- calls the selected stage 1 sizer
- writes
best_<topcell>_design.jsonand a sweep CSV intoproject_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_listmode for directly mapping numeric design keysregex_extractmode for extracting values from formatted sizing strings