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 char — CLI reference

Generated from vyges loom char --help — this page is the tool’s own output, verbatim.

vyges loom char — standard-cell timing characterization (SPICE -> Liberty)

usage:
  vyges loom char run     JOB      [-o OUT] [--json] [--threads N]
                                   [--sparse RxC [--verify K]] | [--auto [--target PCT]]
                                                       characterize one cell. --sparse: simulate a
                                                       coarse RxC grid, surrogate-fill the rest.
                                                       --auto: self-tuning — keep sampling the
                                                       biggest gap until CV error <= target, fill.
                                                       Grid points run in parallel.
  vyges loom char library MANIFEST  [-o DIR] [--threads N]
                                                       characterize many cells (parallel) -> merged .lib
  vyges loom char dataset [JOB]    [-o OUT] [--format csv|jsonl] [--clean]
                                                       flatten characterization to a tidy
                                                       training table (no JOB = offline demo)
  vyges loom char surrogate [JOB]  [--degree D] [--metric M] [--log] [--json]
                                                       fit a CPU surrogate on a grid subset,
                                                       report held-out error (no JOB = demo)
  vyges loom char macro   TIMING.json [-o OUT]   Liberty for a hard macro (SRAM, register file)
                                                       from its measured interface timing
                                                       (schema vyges-char-macro/1): each pin group
                                                       on its own clock edge, min period and pulse
                                                       widths, is_macro_cell, memory group
  vyges loom char check   JOB
  vyges loom char demo    [-o OUT] [--json]

flags:
  -o FILE          write output to FILE (default: stdout)
  --json           characterization summary as JSON instead of Liberty
  --format FMT     dataset format: csv (default) or jsonl
  --clean          dataset: drop flagged (non-physical, e.g. negative-delay) rows
  --degree D       surrogate polynomial degree per axis (default 2)
  --metric M       surrogate: restrict to one metric (e.g. cell_rise)
  --log            surrogate: fit in log-log space (NLDM grids are log-spaced)
  --sparse RxC     run: simulate only a coarse RxC grid, surrogate-fill the dense .lib
  --verify K       run --sparse: re-simulate K un-fitted points, report the real error
  --threads N      simulator processes at once: run = one cell's grid points, library = every
                   cell's points from one shared pool. --jobs N is the same option.
  --auto           run: self-tuning active sampling to a target accuracy, then surrogate-fill
  --target PCT     run --auto: stop when LOO-CV error <= PCT% of peak (default 2.0)
  --max-points N   run --auto: cap simulated points (default: the full grid)
  --seed RxC       run --auto: initial seed grid (default 3x3)
  -q, --quiet      suppress non-essential output
  -v, --verbose    extra detail on stderr
  --describe       print a machine-readable JSON description of the command
  -h, --help       show this help
  -V, --version    show version
  --bug-report     file a bug (central: vyges/community)
  --feature-request request a feature (central)
  --sponsor        sponsor Vyges (github.com/sponsors/vyges-ip)
  --star           star this tool on GitHub ⭐

THREADS:
  --threads N   worker threads. Default: chosen from the machine — its physical cores, one
                fewer above four, at most 16 (VYGES_THREADS sets it for every engine).
                0 = the default, 1 = serial. Results are the same at any count; the run
                says what it chose.

Contract

Generated from vyges loom char --describe.

char

standard-cell timing characterization (SPICE -> Liberty)

Maturity: structured

run {job}
InputTypeRequiredDescription
jobstringyespath to the characterization job file (JOB)
outstringnowrite output to FILE instead of stdout
threadsintegernoworker threads for the per-point simulator sweep; omit for the balanced default (see the top-level threads block)
sparsestringnosimulate only a coarse RxC grid, surrogate-fill the dense .lib
verifystringnowith –sparse: re-simulate K un-fitted points, report the real error
autobooleannoself-tuning active sampling to a target accuracy, then surrogate-fill
targetstringnowith –auto: stop when LOO-CV error <= PCT% of peak (default 2.0)
max_pointsstringnowith –auto: cap simulated points (default: the full grid)
seedstringnowith –auto: initial seed grid (default 3x3)
degreestringnosurrogate polynomial degree per axis, used with –sparse or –auto (default 2)

Consumes: spice

Artifacts: liberty (out)

Assertion: characterization — none; this operation establishes no engineering claim

Threads

  • Option: --threads
  • Environment: VYGES_THREADS
  • Default: the machine’s physical cores (within this process’s CPU affinity), one fewer when there are more than four, at most 16
  • 0 / serial: 0 = the default / 1 = serial
  • Same results at any count: yes
  • Reported: the run logs the count it chose and why

Leave it unset: the default is chosen from the machine and the results are identical at any count. Pass –threads N only to bound CPU or memory, for example when running several jobs at once (give each a share of the cores).

Provenance limitations

  • The job names the SPICE decks; input_hash covers the job path and arguments, not their contents, and .include chains are not followed.