vyges physical upf — CLI reference
Generated from vyges physical upf --help — this page is the tool’s own output, verbatim.
vyges physical upf — power intent (UPF) for designs with several power domains: domains, isolation, level shifters, power switches
USAGE:
vyges physical upf run <design.odb> <intent.upf> -o OUT.odb [--trace]
read the power intent into the database
vyges physical upf write <design.odb> [-o FILE] write the database's power intent as UPF
vyges physical upf eval <design.odb> -o OUT.odb [--liberty FILE]... [--trace]
make the power intent physical: a fence region
and group per domain, the domain hierarchy,
isolation cells and level shifters between domains
vyges physical upf --describe
vyges physical upf --help
vyges physical upf --version
OPTIONS:
-o FILE write the report (or the output database) to FILE
--json machine-readable output instead of the text report
-q, --quiet suppress non-essential output
-v, --verbose extra detail on stderr
--liberty FILE eval: a Liberty library (repeatable, in read order): inverters, cell
areas and isolation pins for the cells eval inserts
--trace run: one VYG-UPF line per database-layer call, in call order;
eval: one VYGEV line per database write, in the order made
--describe print a machine-readable JSON description of the command
--bug-report file a bug (central: vyges/community)
--feature-request request a feature (central)
EXIT STATUS:
0 ok
1 a finding — the check ran and failed
2 usage or unreadable input
3 refused — this build does not implement the command yet
Contract
Generated from vyges physical upf --describe.
upf
Power intent (UPF) for designs with several power domains: domains, isolation, level shifters, power switches.
Maturity: discovered
write {design} -o {out}
| Input | Type | Required | Description |
|---|---|---|---|
design | string | yes | design database (.odb) |
out | string | yes | UPF file to write |
Consumes: odb
Artifacts: upf (out)
Assertion: upf-written — none; this operation establishes no engineering claim
Threads
Runs on one thread; there is no thread option. Several jobs can run side by side, one core each.
Provenance limitations
- input_hash covers the argument vector, not the content of the database it names.
writewrites the power intent already in the database: power domains, logic ports, power switches with their cell map, isolation and level-shifter strategies, each section in the database’s creation order. It matches the reference’s own UPF writer line for line, after the first line (which names the writing tool), on 6 of 6 cases: every UPF in the reference’s regression data and one written to reach what those do not (objects declared out of name order, a switch state with no supply port, an acknowledge with no net, a sense with no signal, thresholds at an exact binary tie).- A power switch with no cell map is written without
map_power_switch; the reference’s writer stops on one. runreads a UPF file into the database as the reference’sread_upfdoes: the ten UPF commands (create_power_domain, create_logic_port, create_power_switch, set_isolation, use_interface_cell, set_domain_area, map_power_switch, set_level_shifter, set_domain_voltage, set_level_shifter_cell) with the reference’s argument rules (a key may be abbreviated to a unique prefix; repeatable switch options keep their order), defaults and warnings. A UPF file is Tcl: a variable or command substitution, or any other Tcl command, is refused (exit 3), not guessed at. An error the reference stops on stops the read with exit 2 and writes nothing.- A level shifter’s cell (
set_level_shifter_cell) is held in memory only, as in the reference: it is not part of the stored database, so it is gone from the databaserunwrites.