Quickstart
The fastest way to understand COmPOSER is to run one of the included example configs and inspect the generated stage_1, stage_2, and stage_3 outputs.
Run an Example
source .venv/bin/activate
export PROJECT_HOME="$(pwd)"
./composer.sh EXAMPLES/LNA_1/config.jsonOr for a PA example:
./composer.sh EXAMPLES/PA_1/config.jsonRun From a Later Step
./composer.sh EXAMPLES/LNA_1/config.json placement
./composer.sh EXAMPLES/LNA_1/config.json only routingExpected Output Directory
The project_name in the config becomes the run directory. For EXAMPLES/LNA_1/config.json, that is lna_1/.
stage_1/: best design JSON and sweep CSVstage_2/: generated primitives and design JSONstage_3/placement/: placement JSON and GDSstage_3/routing/: LEFs, DEF, route log, routed GDSstage_3/pdn/: final GDS with PDN
Most Common User Edits
config.json- the unsized netlist
net_weights.jsonplacement_constraint.jsonrouter_constraints.json- the stage 1 config JSON
- the stage 1 mapping JSON
Connected PDN Routing
Build the dedicated router once with make -C ROUTER/pdn_router. Then use the same composer command shown above. If the selected config.json contains pdn_routing, its routing step automatically runs signal routing, grid generation, decap insertion, power routing, and final GDS assembly. For LNA_1 the final file is lna_1/stage_3/pdn/lna_final.gds; PA examples use pa_*/stage_3/pdn/pa_final.gds.
