vyges-buffer-insert — buffer insertion
Part of the Vyges Loom suite (optimizer). Install once with
vyges install loom, then runvyges loom buffer-insert. It’s also a standalonevyges-buffer-insertbinary on your PATH.
The third Loom optimizer. Where vyges-resize and
vyges-vt-swap swap a cell for one with the same footprint, this one
adds cells. When a net is so heavily loaded that its driver’s output transition exceeds
the limit, vyges-buffer-insert splits the net: a fresh buffer takes over a share of
the sinks so the original driver sees less load and switches faster. It keeps an insertion
only if the worst transition dropped without breaking setup, scored by the
vyges-sta-si timer.
Run it
vyges install loom # one-time: fetch the Loom suite
vyges loom buffer-insert demo # instant: relieve a heavy net
vyges loom buffer-insert run top.bufins -o buffered.v # buffer → netlist
vyges loom buffer-insert run top.bufins --json # before/after slew + timing
vyges loom buffer-insert check top.bufins # validate the job
A .bufins job names the buffer: cell to insert, a max_slew: transition limit, a
min_fanout: threshold, effort:, and dont_touch:.
See the full CLI reference (generated from --help).
Where it sits
netlist + .lib + constraints (+ optional .spef) → buffered netlist + before/after worst
transition and WNS. A pre-place structural fixup — it decides where in the logical net
to split and hands placement of the new buffer back to the flow. See
the data spine.
Source & releases
- Repo: https://github.com/vyges-tools/buffer-insert
- Binaries: https://github.com/vyges-tools/buffer-insert/releases
- Apache-2.0. Per-foundry calibration plugins are separate (NDA).