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-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}
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.