Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

vyges-buffer-insert — buffer insertion

Part of the Vyges Loom suite (optimizer). Install once with vyges install loom, then run vyges loom buffer-insert. It’s also a standalone vyges-buffer-insert binary 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