Configuration
The main config.json is the primary user interface to the full COmPOSER flow. The example files in EXAMPLES/LNA_1/ and EXAMPLES/PA_1/ are the best reference templates.
Main Keys
| Key | Meaning |
|---|---|
datasets | CSV datasets for inductors, T-lines, capacitors, and CPWDs |
project_name | Output run directory |
stage_1_config | Design-specific stage 1 constants |
stage_1_sizer | Stage 1 entry point, such as lna_stage_1_sizer.py or pa_stage_1_sizer.py |
stage_1_map_file | Mapping from stage 1 output keys back into netlist instance annotations |
design_requirements | Electrical specs such as frequency, gain, NF, bandwidth, and PA saturation target |
design | Unsized netlist, sized netlist, and net-weight file paths |
pdk | Path to layers.json |
placement | Placement constraints and solver controls |
routing | Router binary and router-constraint JSON |
pdn | PDN width and gap controls |
Design Section
input_unsized_netlist: user-provided starting netlistinput_netlist: sized netlist after stage 1 mappingnet_weights: RF-critical net weighting JSON
Advice
- Use the example configs as templates instead of the root placeholder config
- Keep
project_nameunique when you want to preserve multiple runs - Keep
topcellaligned with the top circuit name in the netlist - Replace the mock PDK only if your replacement preserves the layer-file structure the scripts expect