vyges-cdc — CLI reference
Generated from vyges-cdc --help. Do not edit by hand — run scripts/gen-cli-reference.sh.
vyges-cdc — structural clock- and reset-domain-crossing checks
usage:
vyges-cdc check NETLIST --lib L.lib --sdc S.sdc [-o OUT] [--json] [--fail-on-violation]
vyges-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)
--describe print a machine-readable JSON description of the command
-h, --help · -V, --version
Contract
Generated from vyges-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.