What does it mean for a timing path to be unconstrained?
From PDVerse STA Mentor Guide ยท pdVerse Mentor Guide
Short Answer
An unconstrained path is one the tool can trace electrically but has no timing requirement attached to โ no clock relationship or set_input_delay/set_output_delay (SDC) tells it what "on time" means. The tool will not report a slack number for it at all, good or bad.
Technical Explanation
A path needs a requirement before slack means anything.
- What makes a path constrained: every path needs a startpoint and endpoint each tied to a clock, or an I/O delay statement, so the tool has both an arrival time and a required time to compare.
- A missing constraint, not a missing wire: an unconstrained path still physically exists and carries a real signal โ the netlist connection is fine, but nothing tells the tool what deadline that signal must meet.
- Why it happens: a common cause is a new output port added late in the flow that never got a matching
set_output_delay(SDC), or an asynchronous reset pin the SDC file never mentions. - The tool stays silent, it does not fail:
report_timing(PT) simply shows no path there, and a design can look perfectly clean while an entire signal is never being timed at all. - How you find them:
check_timing(PT) reports every unconstrained endpoint by default; setting thetiming_report_unconstrained_pathsvariable to true also makesreport_timing(PT) list those paths under a path group called "(none)", which is why running both is part of trusting any report.
Common Mistake
The Trap: assuming a completely clean report_timing output means every signal has been checked.
- A designer only ever runs
report_timingfor the worst paths and never runscheck_timing(PT) to look for missing constraints. - An unconstrained output pin ships to silicon having never been timed once, and any real delay problem on it is discovered only after tapeout.
Follow-up Question & Model Response
Why doesn't the tool just assume a default requirement for an unconstrained path? Candidate Model Response: Because the tool has no way to know what the outside world expects from that signal โ a chip output could be read by a slow off-chip device or a fast one, and only the designer knows which. Guessing a default would silently hide real problems instead of flagging them, so the tool leaves the path unreported and relies on check_timing (PT) to surface it as something the designer must explicitly fix by adding the missing constraint.
Practical Example
A block adds a new debug output port, DBG_OUT, late in the design cycle. The SDC file is never updated with a matching set_output_delay. report_timing never mentions DBG_OUT in any of its top-worst-path lists; only check_timing -include unconstrained_endpoints (PT) reveals it, three weeks later, still missing a delay constraint.
Complete STA Handbook
Master Signoff-Ready Static Timing Analysis
Get the complete 10-chapter STA handbook covering setup/hold margins, clock modeling, OCV/POCV, crosstalk noise, and PrimeTime closure.

Continue practising