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}
| Input | Type | Required | Description |
|---|---|---|---|
netlist | string | yes | gate-level netlist to analyze |
lib | string | yes | Liberty file identifying flops and clock/data pins |
sdc | string | yes | SDC file defining clock domains |
out | string | no | write 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
includefiles are not enumerated.