IntermediateQuestion 34 of 112

Read this exception report line and tell me what happened: From { A B C }, To D, Setup 2, Hold *, Ignored f,o.

From PDVerse STA Mentor Guide, part of the pdVerse Mentor Guide

Short Answer

A set_multicycle_path 2 -from {A B C} -to D (SDC) was only partly applied. The f code means one startpoint, C, was invalid and got dropped; the o code means another path, A-to-D, was overridden by a higher-priority exception. Only B-to-D actually carries the multicycle value of 2.

Technical Reference DiagramRead this exception report line and tell me what happened: From { A B C }, To D, Setup 2, Hold *, Ignored f,o.

Technical Explanation

The report line reads { A B C }, D, 2, , f,o โ€” startpoints A, B, and C into endpoint D, a setup value of 2, no hold value (shown as ), and an Ignored column carrying two letter codes. That combination, read from report_exceptions (PT), tells you set_multicycle_path 2 -from {A B C} -to D (SDC) was accepted syntactically but only partly took effect.

  • The f code: at least one named startpoint is invalid for this kind of exception โ€” here, C โ€” so the C-to-D path is dropped from the exception entirely, not applied at all.
  • The o code: at least one path was overridden by a higher-priority exception โ€” here, A-to-D, which some other command already covers, for instance a false path, and a false path outranks a multicycle path in the tool's exception precedence order.
  • What's actually left: only B-to-D, which is the sole path enforced with the multicycle value of 2.
  • The reading skill this tests: a command being accepted without a syntax error doesn't mean the whole thing took effect โ€” of the three startpoints written, one was never valid, one is excused by something stronger, and only one behaves as intended.
  • Why the Ignored column matters most: every field in the line is informative, but the Ignored column is the one that tells you the command's real, as-applied scope rather than its as-written scope.

Common Mistake

The Trap: treating a syntactically clean set_multicycle_path as fully applied to every startpoint and endpoint named in the command.

  • A designer writes the three-startpoint exception, sees no error at load time, and moves on assuming all three paths now carry the multicycle relaxation.
  • Signoff timing later shows A-to-D and C-to-D still checked as single-cycle paths, which looks like a tool inconsistency until report_exceptions reveals the f and o codes were there all along, unread.

Follow-up Question & Model Response

If you wanted the A-to-D path to actually get the multicycle relaxation despite the existing false path, what would you need to change?

Candidate Model Response: You'd need to remove or narrow the false path that currently covers A-to-D, since a multicycle path can't outrank a false path in the precedence order regardless of how it's written. If A-to-D genuinely shouldn't be a false path anymore, for example because a design change made it a real, timed path again, the fix is to update the false-path exception's scope so it no longer includes A-to-D, then let the multicycle command take effect on that path. Simply repeating or reordering the multicycle command won't change the precedence outcome.

Practical Example

A block has set_false_path -from A -to D (SDC) written earlier in the SDC, followed later by set_multicycle_path 2 -from {A B C} -to D (SDC) where C is a clock-domain pin invalid as a multicycle startpoint. Running report_exceptions -ignored (PT) produces the line { A B C } D 2 * f,o, confirming C was dropped for being an invalid startpoint and A was overridden by the pre-existing false path, leaving only B-to-D with the multicycle value of 2 actually enforced in the signoff run.

Complete STA Handbook

Get the complete 10-chapter STA handbook covering setup/hold margins, clock modeling, OCV/POCV, crosstalk noise, and PrimeTime closure.

Offline PDF Bundle

Want all 1109 questions offline?

Get the complete 4-book PDF bundle (PnR, STA, MMMC, Low Power) with a clickable table of contents - no ads, no internet needed.

See what's inside the bundle
Timing Constraints (SDC) Handbook โ€” nine chaptersSDC ConstraintsNine chapters on clocks, exceptions, and constraint linting.