Feature · Advanced Rules (v1.5.x)
SDC-150 through SDC-157: documented exceptions, reset trees, CDC, DFT scan and derate methodology. These are the checks that turn an SDC into constraints a signoff engineer can defend.
In plain words
Basic rules catch syntax and missing constraints. These eight catch the silent failure modes that STA tools accept without complaint: exceptions without a reason, unconstrained reset trees, blanket cuts that hide real paths, scan modes that blend into one misleading report, and derate strategies that don't match the process node.
A false path / multicycle / case analysis with no explanatory comment: an undocumented exception can hide a real violation.
A reset net driving flip-flop reset pins with no timing exception: async deassertion and CDC paths left unconstrained.
A wildcard false path covering a reset tree: a blanket cut hides the sync-input vs deassertion distinction.
A reset tree that also drives data inputs: the sync stage and deassertion path need distinct exceptions.
A scan enable with no set_case_analysis: STA blends shift and capture paths into one misleading report.
A fully-blanket cut in a DFT design cannot distinguish scan-present flops from non-scan flops.
Small-node operating conditions with only flat derates: consider AOCV/POCV. Advisory, never blocking.
Flat derates alongside sigma/table-based derates in one file: pick one methodology per corner.
Real-world example
An engineer adds set_false_path -from [all_inputs] -to [all_registers] as a shortcut. The wildcard silently covers the reset tree too, which has 2 reset pins with no targeted exception. The sync-input vs deassertion distinction is gone, and the reset paths are now unchecked.
$ rta check top.sdc --netlist top.v --top top
▲ SDC-152 :6 Wildcard false path covers
reset tree 'rst_n' (2 reset pin(s)) with
no targeted exception - replace with a
targeted set_false_path on the reset net
▲ SDC-150 :6 no explanatory comment - add one
Try it