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 physical psm — CLI reference

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

vyges physical psm — power-grid analysis on the design database: connectivity check, static IR drop, per-node voltages, SPICE export

USAGE:
  vyges physical psm check        <design.odb> --net NET [--floorplanning] [--dont-require-terminals]
                                [--error-file FILE] [--dump-dir DIR] [--stats]
                                                  every power/ground shape and instance pin reaches a supply
  vyges physical psm analyze      <design.odb> --net NET [--voltage-file FILE] [--enable-em [--em-file FILE]]
                                [--save-solution FILE [--allow-reuse]] [--dump-dir DIR]
                                [--corners C,C] [--liberty FILE | --liberty-corner C FILE ...] [--sdc FILE]
                                [--corner C] [--inst-power FILE]
                                                  static IR drop: per-node voltages, worst and average drop;
                                                  each instance's power from the timer on the libraries
                                                  and constraints
  vyges physical psm write-spice  <design.odb> <file> --net NET --save-solution FILE [--vsrc FILE]
                                                  the power grid as a SPICE netlist, with the currents
                                                  of the session's last analyze of the net
  vyges physical psm activities   <design.odb> [--corners C,C] --liberty FILE | --liberty-corner C FILE ...
                                [--sdc FILE] [--powers [--corner C]]
                                                  diagnostic: the timer's switching-activity propagation,
                                                  each value set (IEEE bits), in the order it was set;
                                                  --powers: then each instance's power terms (IEEE bits)
  vyges physical psm --describe
  vyges physical psm --help
  vyges physical psm --version

OPTIONS:
  --net NET             the supply net to analyse
  --floorplanning       check: only FIXED instances count (the grid before placement)
  --dont-require-terminals  check: a net without a placed block terminal is not an error
  --error-file FILE     check: write the net's unconnected and shorted shapes as a marker report
  --voltage-file FILE   analyze: write each instance terminal's voltage (CSV)
  --enable-em           analyze: report the grid's connection currents (maximum, average, count)
  --em-file FILE        analyze: with --enable-em, write each connection's current (CSV)
  --save-solution FILE  analyze: the session's solutions, kept between calls (read, then updated)
  --allow-reuse         analyze: report the saved solution of this net and corner instead of solving
  --liberty FILE        a Liberty library, in read order (gzip read); --liberty-corner C FILE: for corner C only
  --sdc FILE            analyze: the constraints the instance power is timed under (clocks, activities)
  --corners C,C         analyze: the corners defined (define_corners); --corner C: the one analysed
  --inst-power FILE     analyze: each instance's power given (`INSTANCE WATTS` per line) instead of the
                        timer's: a diagnostic
  --dump-dir DIR        write the network after each construction stage (psm_<stage>.txt) to DIR
  --stats               print the network's shape, node and connection counts
  -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
  --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 psm --describe.

psm

Power-grid analysis on the design database: connectivity check, static IR drop, per-node voltages, SPICE export.

Maturity: discovered

analyze {design} --net {net}
InputTypeRequiredDescription
designstringyesdesign database (.odb) holding the power grid
netstringyessupply net to analyse, e.g. VDD
inst_powerstringnofile of per-instance power, one INSTANCE WATTS pair per line, used instead of the timer’s (diagnostic)
user_powerstringnoone instance’s power as INST=WATTS[@CORNER]
libertystringnoLiberty library (.lib, may be gzipped): the cells the instance power is computed from, the supply voltage and RC units
sdcstringnoconstraints (SDC) the instance power is timed under: clocks set the switching activity
net_voltagestringnoa supply net’s voltage as NET=VOLTS[@CORNER], overriding the Liberty’s
vsrcstringnovoltage-source location file (it also gives the source voltage); without it the sources are the net’s block-terminal pins, else generated as source_type says
source_typestringnothe generated source pattern when there is no vsrc and the net has no block-terminal pins (default BUMPS)
cornerstringnocorner name (default: default)
voltage_filestringnoCSV file to write each instance terminal’s voltage to

Consumes: odb, liberty, sdc

Artifacts: instance_voltages (voltage_file)

Assertion: ir-drop-reported — none; this operation establishes no engineering claim

Provenance limitations

  • check: an error file holding a short whose overlap is not one rectangle refuses (exit 3).
  • check refuses (exit 3) on an octilinear special wire of another net, a pin layer mixing a polygon off the Manhattan grid with other metal, and an off-grid obstruction polygon.
  • analyze and write-spice are built end to end; a solution is kept between calls only through –save-solution (write-spice reads it).
  • The described call is analyze: the net’s connectivity checked, then its static IR drop solved and the IR report printed (supply voltage, worst and average voltage, worst and average drop, percentage drop).
  • Instance power is computed by the timer from liberty and sdc (switching activity propagated from the clocks and the default input activity, then internal, switching and leakage power per instance), as the solve needs it. Without liberty no instance has a liberty cell and the power is user_power alone. A timer this build does not reproduce (liberty k_ scale factors, set_clock_transition, more than one constraints file) refuses (exit 3) rather than solving at 0 W. inst_power replaces the timer’s power with the file’s, for diagnosis. liberty also gives the supply voltage (its nominal voltage) and the RC units; without it or net_voltage the supply voltage is unknown and analyze stops (PSM-0079, exit 1).
  • analyze prints its report; it has no –json output (a –json is refused as an unknown option, exit 2), so emits_json is false and the result is the printed report.
  • analyze sets no IR-drop or current limit, so it establishes no pass/fail claim: the assertion is not_applicable. A net whose shapes are not all connected stops the call with exit 1 (PSM-0069) before any solve. EM reporting, a saved solution and repeated net_voltage or user_power entries need the engine’s own arguments.
  • input_hash covers the argument vector, not the content of the database, source, power or Liberty files it names.