Feature · Constraint Interactions
When two constraints overlap on the same objects, one of them silently wins. Ṛta finds duplicates, overrides, contradictions and overlaps, then shows you the exact two lines involved.
In plain words
SDC files grow by merging: branches, engineers, IP. Two constraints can end up targeting the same path with different intentions. STA resolves these quietly (usually "last one wins"), which may not be what you meant.
The same exception applied twice on identical endpoints. Redundant, usually copy-paste from merged branches.
A later constraint silently replaces an earlier one with a different value on the same objects and analysis type. Setup and hold are distinct types — a hold uncertainty is never mistaken for an overridden setup.
Two exceptions that cannot both hold, e.g. a false path and a multicycle on identical endpoints. Provable without running STA.
Object sets partially overlap. Not provably wrong, but it needs a human STA decision. Reported as review, never falsely called a contradiction.
Real-world example
Line 12 sets a false path from a to b. Line 38 sets a multicycle of 2 on the same path. A path cannot be both fully false and timed with 2 cycles. One of these is a mistake, probably a stale line from an old branch.
L12 · set_false_path -from [get_ports a] -to [get_ports b]
L38 · set_multicycle_path 2 -from [get_ports a] -to [get_ports b]
✗ SDC-069 false path vs multicycle
identical endpoints - cannot both hold
▲ SDC-070 partial overlap L20/L44
object sets intersect - STA review needed
STA's "last one wins" is now visible before it bites you at signoff.
Findings diff cleanly across baselines, so you can track a conflict being resolved.
Provable contradictions are errors; partial overlaps are review items. Never overclaimed.
Try it