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

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

vyges loom cdc — structural clock- and reset-domain-crossing checks

usage:
  vyges loom cdc check NETLIST --lib L.lib --sdc S.sdc [-o OUT] [--json] [--fail-on-violation]
  vyges loom cdc rdc   NETLIST --lib L.lib           [-o OUT] [--json] [--fail-on-violation]

`check` finds CLOCK-domain crossings; `rdc` finds RESET-domain crossings — a flop
asynchronously reset by one reset feeding a flop reset by another. A single-clock design is
CDC-clean by construction and can still fail `rdc`, so they are separate reports. `rdc` needs
no SDC: reset domains are structural, traced from the Liberty ff group's clear/preset pins.

flags:
  --lib FILE            Liberty (identifies flops + clock/data/reset pins) — required
  --sdc FILE            SDC clock definitions (the domains) — required by `check`
  -o FILE               write the report to FILE (default: stdout)
  --json                machine-readable JSON instead of text
  --fail-on-violation   exit 3 if any unsynchronized crossing is found (CI gate)
  --fail-on-multibit    exit 3 on a multi-bit crossing too. Opt-in, because a gray-coded
                        or handshake-qualified bus looks identical here — waive the ones
                        you have reviewed with --waivers
  --waivers FILE        findings the team has accepted, each with a reason (and optionally
                        an approver and an expiry). A lapsed waiver stops applying
  --as-of YYYY-MM-DD    evaluate waiver expiry as of this date instead of today, so a
                        sign-off run reproduces
  --describe            print a machine-readable JSON description of the command
  -h, --help · -V, --version

Contract

Generated from vyges loom cdc --describe.

cdc

structural clock-domain-crossing check

Maturity: structured

check {netlist} --lib {lib} --sdc {sdc}
InputTypeRequiredDescription
netliststringyesgate-level netlist to analyze
libstringyesLiberty file identifying flops and clock/data pins
sdcstringyesSDC file defining clock domains
outstringnowrite the report to this file instead of stdout

Artifacts: cdc_report (report_path)

Assertion: cdc-synchronized — passes when unsynchronized equals 0

Provenance limitations

  • input_hash covers the argument vector, not the content of the netlist, Liberty or SDC it names.
  • Liberty include files are not enumerated.