Installation
COmPOSER needs a Python environment, a working Gurobi installation for placement, and a built Hanan router binary for detailed routing.
Recommended Setup
git clone <your-repo-url>
cd COmPOSER
python3 -m venv .venv
source .venv/bin/activate
export PROJECT_HOME="$(pwd)"Python Packages
The repo's requirements.txt covers the main package families used by the flow:
gdspygurobipyjoblibmatplotlibnetworkxnumpypandasplotlyscikit_learnscipyShapelytqdm
The file currently contains duplicate pins for some packages, so treat it as an inventory rather than a guaranteed lockfile.
Gurobi
perform_placement.py imports gurobipy, so placement requires a valid Gurobi installation and license.
Build the Router
cd ROUTER/hanan_router
make -j4
cd ../..The example configs expect the binary at ROUTER/hanan_router/hanan_router.
Mock PDK and Fixed Assets
The repo already contains a mock 65 nm PDK layer file and several fixed primitive GDS files. They are enough to exercise the public flow, but not meant to replace technology-correct production collateral.