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 Loom — the open EDA sign-off & optimization suite

The Loom suite, under vyges. Install once — vyges install loom — then run any engine as vyges loom <engine> (e.g. vyges loom sta-si run top.sta). Each engine is also a standalone vyges-<engine> binary on your PATH, which is what the dispatch calls and the integration contract flow authors target directly (see integrating into a flow).

Commercial-grade engines — sign-off that analyzes and optimizers that act on the result — each driven by a declarative job file that produces a standard artifact. They share one cross-engine data spine (vyges-loom) — the output of one is the input of the next, with no glue scripts:

.ext  ─► vyges loom extract ─► .spef ──┐
.char ─► vyges loom char    ─► .lib  ──┼─► vyges loom sta-si ─► WNS / TNS ─► resize · vt-swap · buffer-insert ─► fixed netlist
                                       └─► vyges loom power ─► activity ─┬─► vyges loom em-ir   ─► IR-drop + EM
                                                                        └─► vyges loom thermal ─► temp / hotspot
.gds + rules ─► vyges loom lvs ─► MATCH / MISMATCH
EngineCommandJob fileOutput
charvyges loom char.char / .charlibLiberty .lib
extractvyges loom extract.extSPEF
powervyges loom power.pwrpower report + activity map
sta-sivyges loom sta-si.staWNS / TNS / worst path
em-irvyges loom em-ir.emirIR-drop map + EM check
thermalvyges loom thermal.thermaltemperature field + hotspot
lvsvyges loom lvs.lvsMATCH / MISMATCH + diagnostics

Optimizers — they read the timer’s verdict and edit the netlist to fix it:

EngineCommandJob fileOutput
resizevyges loom resize.resizeresized netlist (drive sizing)
vt-swapvyges loom vt-swap.vtswapresized netlist (Vt / leakage)
buffer-insertvyges loom buffer-insert.bufinsbuffered netlist (transition fix)

Physical construction — they build the design database the engines above read. ⚠️ Not part of vyges install loom: install the group with vyges install physical, or one with vyges install <engine>. None has a published release yet, so vyges modules lists them as unreleased and the installer says so rather than failing on a missing download.

EngineCommandBuilds
ifpvyges ifpdie area, core area and the standard-cell rows
mplvyges mplhard-macro placement, before the cells go round them
tapvyges tapwell taps, endcaps, and row cutting around macros
pdnvyges pdnpower rings, straps, follow pins and their vias
pplvyges pplIO pin slots and the assignment onto them
padvyges padthe IO pad ring, bumps and RDL routes
dplvyges dpllegal detailed placement, and the check for one
finvyges findensity fill, to meet per-layer density rules

Verification + utilities — prove correctness, or view the layout:

EngineCommandInputOutput
drcvyges loom drcGDS + .drc deckgeometry violations
cdcvyges loom cdcnetlist + lib + SDCclock-domain crossings
glitchvyges loom glitchnetlist + Libertyreconvergent-fanout hazards
lecvyges loom lectwo netlists + libEQUIVALENT / NOT + counter-ex.
gds-viewvyges loom gds-viewGDS (+ marks)layered SVG with overlay
opendbvyges opendb <cmd>.odb / .3dbxECO surgery, DEF I/O, 3D assembly checks

opendb is the odd one out: it takes subcommands, not a job file, because it is the design database the other engines read and edit rather than an analysis over one. It is also the only engine with a native (C++/libodb) dependency, which is why the suite is unix-only.

Domain coverage. The suite is a digital sign-off / optimization flow; on top of that, lvs, layout, em-ir, thermal and extract additionally cover analog / mixed-signal physical & integrity verification — LVS, geometry, IR / EM, thermal, and RC. Analog functional / timing sign-off is out of scope.

Open core

Every engine is Apache-2.0 and runnable today. The per-foundry calibration plugins (NDA) stay private — the engine is open, the fab-specific accuracy is gated.

One declarative job in, one standard artifact out

No Tcl, no glue scripts: describe the job, get a standard sign-off file. The timing and power engines exit non-zero on a violation, so they gate CI directly. See job-file formats.