Job-file formats
Every engine is driven by a small declarative job file — you describe the job,
not the script. Each format is documented with worked examples in its engine’s
repository (the examples/ directory, linked from each engine’s chapter).
Sign-off · analyze — describe the job, get a standard sign-off artifact:
| Format | Engine | Declares |
|---|---|---|
.char / .charlib | vyges-char | corner(s), cells, SPICE collateral |
.ext | vyges-extract | design, PDK parasitic rules, settings |
.pwr | vyges-power | netlist, libraries, activity source, budget |
.sta | vyges-sta-si | libraries, parasitics, constraints |
.emir | vyges-em-ir | design, PDN, IR/EM budget |
.thermal | vyges-thermal | die + grid + material params, floorplan, limit |
.lvs | vyges-lvs | layout (GDS) + schematic netlist |
Optimizers · act — netlist in, better netlist out (each move scored by sta-si):
| Format | Engine | Declares |
|---|---|---|
.resize | vyges-resize | netlist, libraries, (SPEF), timing / area goal |
.vtswap | vyges-vt-swap | netlist, libraries, (SPEF), leakage / timing goal |
.bufins | vyges-buffer-insert | netlist, libraries, (SPEF), transition limit |
Shared CLI conventions
Every engine shares the same surface (<engine> = vyges loom <name>, e.g.
vyges loom sta-si):
vyges loom <engine> run JOB [-o OUT] [--json] run the job → standard artifact (or JSON)
vyges loom <engine> check JOB parse + validate the job
vyges loom <engine> demo built-in example, no inputs
Common flags: --json, -q/--quiet, -v/--verbose, -h/--help, -V/--version,
plus the central --bug-report / --feature-request / --sponsor. The engines that
gate on a budget/limit add a fail flag — sta-si, em-ir, thermal use
--fail-on-violation; power uses --fail-on-budget — returning a distinct non-zero
exit code so a violation fails CI automatically.
-V/--version prints the exact build commit (e.g. vyges-char 0.0.1 (abc1234))
so a bug report traces back to a precise build.