Full Flow
The paper describes COmPOSER conceptually as hybrid analytical sizing, primitive block layout generation, layout synthesis, and post-layout verification. The public repo exposes the synthesis side of that architecture through composer.sh and the stage scripts.
Main Driver
./composer.sh
./composer.sh <config.json>
./composer.sh <config.json> placement
./composer.sh <config.json> only routingRecognized Steps
sizingparseplacementrouting_inputsrouting
What Each Step Does
| Step | Action |
|---|---|
sizing | Runs stage 1 sizing and maps the selected values into the sized netlist |
parse | Parses the sized netlist, generates primitive layouts, and exports stage 2 JSON |
placement | Runs the Gurobi-based placer and creates placement JSON and placement GDS |
routing_inputs | Converts primitive GDS files into LEF and combines them for routing |
routing | Runs detailed routing, routed GDS assembly, and PDN generation |
Paper Mapping
- Paper Stage 1 maps mostly to
sizing - Paper Stage 2 maps mostly to
parse - Paper Stage 3 maps mostly to
placement,routing_inputs, androuting - Paper Stage 4 is the verification loop discussed in the paper, beyond the open synthesis scripts bundled here