vyges-resize — gate sizing
Part of the Vyges Loom suite (optimizer). Install once with
vyges install loom, then runvyges loom resize. It’s also a standalonevyges-resizebinary on your PATH.
Where the sign-off engines say what’s wrong, the optimizers fix it. vyges-resize
picks a better drive strength for each cell — upsizing cells on the critical path to
close setup violations, downsizing cells with slack to recover area — then emits the
resized netlist. The logic never changes; only the cell variant does, and every candidate
is scored by the vyges-sta-si timer. Run it pre-place (ideal
interconnect) or as a post-place ECO by naming a spef: so sizing is scored against
the real wire RC.
Run it
vyges install loom # one-time: fetch the Loom suite
vyges loom resize demo # instant: built-in example closes a violation
vyges loom resize run top.resize -o sized.v # size → resized netlist
vyges loom resize run top.resize --fail-on-violation # exit 3 if still violating (CI gate)
vyges loom resize check top.resize # validate the job
A .resize job is a superset of a .sta job plus group: (interchangeable cell families,
weakest → strongest), objective: (timing | area), effort:, and dont_touch:.
See the full CLI reference (generated from --help).
Where it sits
netlist + .lib + constraints (+ optional .spef) → resized netlist + before/after WNS/TNS.
It decides sizes, not locations — placement/routing stay the flow’s job. See
the data spine.
Source & releases
- Repo: https://github.com/vyges-tools/resize
- Binaries: https://github.com/vyges-tools/resize/releases
- Apache-2.0. Per-foundry calibration plugins are separate (NDA).