vyges-thermal — on-chip thermal
Part of the Vyges Loom suite. Install once with
vyges install loom, then runvyges loom thermal. It’s also a standalonevyges-thermalbinary on your PATH (the integration contract for flow authors).
vyges-thermal lands the design’s power on the die as heat and solves the steady
state — reporting the peak temperature, the hotspot location, per-block
temperatures, and a PASS/FAIL against a temperature limit. It is the thermal dual of
vyges-em-ir: the same grid solve, temperature where em-ir has voltage. The
per-block power comes from vyges-power; with temperature-dependent leakage
it runs the electro-thermal loop to a fixed point (leakage heats the die, the hotter
die leaks more), so you get the real operating temperature — closing
char → power → em-ir → thermal → power.
Run it
vyges install loom # one-time: fetch the Loom suite
vyges loom thermal demo # instant: built-in floorplan → temp + heat map
vyges loom thermal run block.thermal -o block.rpt # analyze → report
vyges loom thermal run block.thermal --fail-on-violation # exit 3 if over the limit (CI gate)
vyges loom thermal check block.thermal # validate the job
Job file
A .thermal job declares the die, the solver grid, the material parameters
(k_si, thickness_um, theta_ja), the ambient, and the temperature limit; a
floorplan: (.flp) places the blocks and their power (with an optional per-block
leakage portion for the coupling). Standard CLI: --json, --quiet, --verbose — and
like the rest of the suite it fails CI (exit 3) when the peak exceeds t_limit_c.
See the CLI reference for the full flag list, and
Job-file formats for the .thermal / .flp shapes.
Correlation baseline: HotSpot (the canonical open on-chip thermal simulator) — there is no thermal tool inside OpenLane/OpenROAD, so vyges-thermal fills that gap.