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
      • Skew and Jitter in Practical STA
      • Uncertainty Modeling
      • Clock Tree and Skew Sources
      • Reading Timing Reports with Skew Context
      • OCV and AOCV Concepts
    • Timing Exceptions
    • Clock Gating
    • RTL for Timing
    • Clock Architecture
  • Reset & CDC34
  • Memory & Buses57
  • Advanced RTL28
  • Senior & Interview76
  • Glossary and Notation
Loading lesson

‹Skew and Variation
  1. Topics
  2. RTL Design
  3. Timing & Clocking
  4. Skew and Variation
  5. Reading Timing Reports with Skew Context

Part 5 · Timing & Clocking · Intermediate

Reading Timing Reports with Skew Context

A constructed setup and hold report with clock latencies and final slack explained.

On this page

    Why this matters

    In an interview you may be handed a path report and asked to explain it in 30 seconds. Here the slack is +0.11 ns, the skew of +0.18 ns helps, and a NAND3 with fanout 12 is the culprit.

    After this lesson you can: read a setup and hold report line by line, compute the skew and the slack from the latencies, and name the dominant cell and the first fix.

    An annotated setup report

    The report below is built from the equations to show the layout. Real tools print the same information in their own format.

    Diagram
    Startpoint: u_a/r_reg   (rising edge-triggered flop clocked by clk)
    Endpoint:   u_b/s_reg   (rising edge-triggered flop clocked by clk)
    Path type:  max (setup)
    
      Data path
        launch clock latency                       0.62      (clock arrival at u_a/r_reg)
        u_a/r_reg  clk -> Q                        0.35
        U1  (NAND2)                                0.22
        U2  (XOR2)                                 0.31
        U3  (AOI22)                                0.28
        U4  (NAND3, fanout 12)                     0.40      <-- slowest cell
        U5  (INV)                                  0.24
        data arrival time                          2.42
    
      Capture path
        clock period                               2.00
        capture clock latency                      0.80      (clock arrival at u_b/s_reg)
        setup time                                -0.12
        clock uncertainty                         -0.15
        data required time                         2.53
    
      slack (MET)                                  0.11

    Walk through the numbers

    Line

    Meaning

    Check

    launch clock latency 0.62

    Clock tree delay to the launch flop

    Adds to the data arrival

    capture clock latency 0.80

    Clock tree delay to the capture flop

    Skew = 0.80 − 0.62 = +0.18 ns, which helps setup

    logic cells

    0.22 + 0.31 + 0.28 + 0.40 + 0.24

    = 1.45 ns of combinational delay

    data arrival

    0.62 + 0.35 + 1.45

    = 2.42

    data required

    2.00 + 0.80 − 0.12 − 0.15

    = 2.53

    slack

    2.53 − 2.42

    = +0.11 ns

    Annotated hold report for the same pair

    Diagram
    Path type:  min (hold)
    
        launch clock latency                       0.62
        u_a/r_reg  clk -> Q (min delay)            0.30
        shortest logic path                        0.10
        data arrival time                          1.02
    
        capture clock latency                      0.80
        hold time                                  0.06
        clock uncertainty (hold)                   0.05
        data required time                         0.91
    
        slack (MET)                                0.11        (1.02 - 0.91)

    Both reports use one set of clock latencies and no on-chip-variation derates, so the shared part of the clock tree has the same delay for launch and capture and there is no pessimism to remove. A clock reconvergence pessimism removal (CRPR) line appears once early and late derates are applied; the next lesson adds them.

    Common mistakes

    Tip

    To locate the problem in a failing report, find (1) the biggest cell delay (U4 above: a NAND3 with fanout 12 is the culprit), (2) the skew line (is the capture clock later or earlier than the launch clock?), and (3) any large wire delay. Those three explain most failures.

    Common pitfall

    Don't be fooled by the sign of the clock latency lines. The absolute latency is irrelevant (0.62 or 6.2 ns); only the difference between launch and capture, and the shared part removed by CRPR, matter.

    Interview

    Be able to take a report like this and say, in 30 seconds: the slack, the skew and whether it helped, the dominant cell, and your first fix (here: reduce the fanout of U4 by duplicating its driver).

    Check yourself If the capture latency were 0.55 instead of 0.80, what would the setup slack be?

    Required = 2.00 + 0.55 − 0.12 − 0.15 = 2.28. Slack = 2.28 − 2.42 = −0.14 ns. The path now fails because the skew is −0.07 instead of +0.18.

    Remember

    • Skew is capture latency minus launch latency. Only that difference matters, not the absolute latency.

    • Data arrival is launch latency + clock-to-Q + logic. Required time is period + capture latency - setup - uncertainty.

    • To find the problem, look at the biggest cell delay, the skew line and any large wire delay.

    Rule of thumb: report the slack, the skew and whether it helped, the dominant cell, and your first fix.

    How this was checked

    The setup and hold reports are constructed from the equations to show the layout. They are not output from a specific tool.

    Keep going

    • Interview: run a mock interview on this topic

    Related topics

    • OCV and AOCV

    Previous

    130 / 350

    Next: OCV and AOCV Concepts

    Up next

    Up nextOCV and AOCV Concepts

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Skew and Jitter in Practical STA
    • Uncertainty Modeling