Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • RTL Foundations36
  • Combinational Design25
  • Sequential Design27
  • FSM & Control27
  • Timing & Clocking39
    • STA Foundations
    • Setup, Hold and Slack
    • Skew and Variation
    • Timing Exceptions
      • Taxonomy and Intent
      • Multicycle Setup and Hold Pairing
      • RTL Pattern That Often Needs MCP
      • False Paths and Case Analysis
    • Clock Gating
    • RTL for Timing
    • Clock Architecture
  • Reset & CDC34
  • Memory & Buses57
  • Advanced RTL28
  • Senior & Interview76
  • Glossary and Notation
Loading lesson

‹Timing & Clocking
  1. Topics
  2. RTL Design
  3. Timing & Clocking
  4. Timing Exceptions

Part 5 · Timing & Clocking · Intermediate

Timing Exceptions

Multicycle paths, false paths, and case analysis for paths with special timing.

  • 4topics
  • 4lessons

Topics in this section

  1. 1Taxonomy and Intent1 lesson
  2. 2Multicycle Setup and Hold Pairing1 lesson
  3. 3RTL Pattern That Often Needs MCP1 lesson
  4. 4False Paths and Case Analysis1 lesson
On this page

    Some paths need more than one cycle, and some are never active. Timing exceptions record these guarantees, and each one needs an RTL reason plus a test.

    Decision tree. Constant in this mode: case analysis. Otherwise, crosses clock domains: synchroniser first, then a scoped CDC constraint. Otherwise, can never carry a transition and proved: narrowly scoped false path. Otherwise, RTL holds data for N cycles: multicycle setup N and hold N minus 1. Otherwise no exception, fix the timing.
    Which exception fits a path: ask about modes first, then clock domains, then whether the path is ever active, then whether the RTL guarantees a multi-cycle window. If every answer is no, the path is real and needs a timing fix.

    Read the tree from the top and stop at the first yes. Each question asks for something the RTL or the mode must guarantee, not something the timing report shows.

    • Mode constants come first: case analysis changes what STA sees instead of removing a check.

    • A clock-domain crossing is never solved by an exception alone; the synchroniser comes first.

    • The last box is the most common answer. Most failing paths are real and need a timing fix.

    Lessons in this topic

    4 lessons, about 20 min

    1. 1Taxonomy and IntentYou can name each SDC exception, say what it promises about the RTL, and write one with a narrow scope, a stated reason and a matching hold.4 min
    2. 2Multicycle Setup and Hold PairingYou can move the setup and hold edges for a multicycle path, write the matching -hold N-1 exception, and show why capture frequency alone does not prove N cycles.5 min
    3. 3RTL Pattern That Often Needs MCPYou can build a multicycle datapath whose operands hold still and whose result captures exactly N cycles later, constrain it, and turn the promise into an assertion.5 min
    4. 4False Paths and Case AnalysisYou can decide when a false path is justified, scope it to the exact pins, prune modes with case analysis, and run STA once per mode.6 min
    Check yourself What must the RTL guarantee before you declare the demonstrated 3-cycle multicycle path?

    Capture occurs three full periods after the corresponding launch, and the source operands hold throughout that window. Checking capture frequency alone is insufficient: its phase relative to launch matters. Check both promises.

    Interview

    “When would you use a multicycle path?” When RTL guarantees the launch-to-capture interval and source stability. For the matching same-clock waveforms demonstrated here, -setup N with -hold N-1 restores the original same-edge hold relationship. For different waveforms, derive the actual edges first.

    Revision sheet

    The whole topic on one page, taken from each lesson's Remember box. Read it before an interview, or print it.

    Taxonomy and Intent

    • Multicycle, false path, case analysis, disable timing and min/max delay each answer a different question about the path.

    • Use the smallest -from and -to, one reason per exception, and review setup and hold together.

    • A failing output path is a real requirement, not a false path.

    Rule of thumb: review an exception like code: name the RTL that guarantees it and back it with a test.

    Multicycle Setup and Hold Pairing

    • -setup N moves the setup edge to n+N. The hold edge follows to n+N-1, and -hold N-1 puts it back at n.

    • The cadence must give at least N periods between launch and capture. Both enables repeating every three edges is not enough if their phase gives one.

    • The number N comes from the RTL. If you cannot read N from it, you do not have a legal multicycle path.

    Rule of thumb: a multicycle number must be large enough for the logic and true in the RTL cadence.

    RTL Pattern That Often Needs MCP

    • Operand registers change only on an accepted start. A counter or FSM says when the result captures, and a clock enable makes it sample only then.

    • The constraint starts at the operand registers, never at the module inputs, because the registers freeze the data for the whole window.

    • Do not use y as a multicycle end point if other logic also writes it or reads its input path in one cycle.

    Rule of thumb: pipeline for throughput; use a multicycle path only when the control can wait and the operands are stable.

    False Paths and Case Analysis

    • A false path needs an RTL reason and proof. A configuration register is false only with a settling contract, such as 20.00 - 0.35 - 12.00 - 0.15 = 7.50 ns margin.

    • Scope a reset false path to the synchroniser's asynchronous pins. The synchronised reset keeps recovery and removal checks.

    • Never apply case analysis to a signal that changes at run time.

    Rule of thumb: if a path crosses clock domains, a false path is not a fix: you still need a synchroniser, handshake or FIFO.

    Practise it

    • Mini project: close timing on an 8-tap FIR filter

    • Code lab: Timing exception path

    • Code lab: Multi-cycle divider step

    • Interview: run a mock interview on this topic

    PreviousNext: Taxonomy and Intent

    Up next

    Up nextTaxonomy and Intent

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • STA Foundations
    • Setup, Hold and Slack
    • Skew and Variation