Home Knowledge Base Timing Exceptions (False Paths and Multicycle Paths)

Timing Exceptions (False Paths and Multicycle Paths) are the SDC (Synopsys Design Constraints) directives that instruct static timing analysis tools to relax or ignore timing requirements on specific paths — because certain paths are architecturally guaranteed to never be exercised simultaneously (false paths) or have multiple clock cycles available for data propagation (multicycle paths), and without these exceptions, STA would report thousands of spurious violations that block timing closure and waste engineering effort.

Why Timing Exceptions Are Needed

False Paths

# Mux select is static during normal operation
set_false_path -from [get_ports test_mode]

# No timing relationship between async clock domains
set_false_path -from [get_clocks clk_a] -to [get_clocks clk_b]

# Static configuration register
set_false_path -from [get_cells config_reg*]

Common False Path Scenarios

ScenarioReasonSDC
Test mode selectStatic during functional modeset_false_path -from test_mode
Async clock domainsHandled by CDC synchronizersset_false_path between clocks
Mutually exclusive mux pathsOnly one active at a timeset_false_path through mux
Static config registersWritten once at bootset_false_path -from config
Reset deassertionHandled by reset synchronizerset_false_path on reset

Multicycle Paths

# Data path has 2 cycles for setup, capture on 2nd edge
set_multicycle_path 2 -setup -from [get_cells slow_reg*] -to [get_cells dest_reg*]
set_multicycle_path 1 -hold  -from [get_cells slow_reg*] -to [get_cells dest_reg*]

Multicycle Path Scenarios

ScenarioCyclesExample
Slow enable register2-4Data valid every 2 clocks, enable gated
Multi-stage pipelineNIntentional multi-cycle computation
Divided clock logic2Logic between clk and clk/2 domains
Memory write data2Data setup to SRAM write port

Multicycle Path Setup/Hold Math

Dangers of Exception Misuse

MistakeConsequence
False path on real pathSilicon timing failure → functional bug
MCP on single-cycle pathData captured wrong → intermittent failure
Overly broad wildcardsAccidentally exclude critical paths
Stale exceptions after ECONew paths not covered → missed violations

Best Practices

Timing exceptions are the essential bridge between architectural intent and physical implementation — they encode the designer's knowledge of which paths actually matter for correct operation, enabling STA to focus optimization effort where it counts while avoiding the impossible task of meeting timing on paths that the circuit architecture guarantees will never be exercised under normal operation.

timing exceptionfalse pathmulticycle pathtiming constraintsdc exception

Explore 500+ Semiconductor & AI Topics

From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.