Feature · Advanced Rules (v1.5.x)

The rules that close the gap between "valid" and "defensible"

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

What makes these rules "advanced"?

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.

SDC-150

Exception without rationale

A false path / multicycle / case analysis with no explanatory comment: an undocumented exception can hide a real violation.

SDC-151

Unconstrained reset tree

A reset net driving flip-flop reset pins with no timing exception: async deassertion and CDC paths left unconstrained.

SDC-152

Suspect blanket false path

A wildcard false path covering a reset tree: a blanket cut hides the sync-input vs deassertion distinction.

SDC-153

Reset synchronizer input

A reset tree that also drives data inputs: the sync stage and deassertion path need distinct exceptions.

SDC-154

Scan enable, no mode coverage

A scan enable with no set_case_analysis: STA blends shift and capture paths into one misleading report.

SDC-155

Scan false path too broad

A fully-blanket cut in a DFT design cannot distinguish scan-present flops from non-scan flops.

SDC-156

Flat derate on advanced node

Small-node operating conditions with only flat derates: consider AOCV/POCV. Advisory, never blocking.

SDC-157

Derate methodology mix

Flat derates alongside sigma/table-based derates in one file: pick one methodology per corner.

Real-world example

The blanket false path that hid a reset tree

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.

With Ṛta: the blanket cut is flagged against the provable reset-tree coverage, with the fix: a targeted false path on the reset net instead.
Advisory where appropriate: flat derates at small nodes are flagged as info, not blocking, because they can be legitimate.
$ 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

See the advanced rules fire

Design-aware check
$ rta check top.sdc --netlist top.v --top top
# SDC-151/152/153 fire on reset trees; 154/155 on scan;
# 150 always; 156/157 on derate methodology