BeginnerQuestion 88 of 95Source: Synopsys PrimeTime User Guide: Reporting and Debugging Analysis Results

What is the difference between the incremental and cumulative delay columns in a timing report?

From PDVerse STA Mentor Guide · pdVerse Mentor Guide

Short Answer

The incremental delay column shows how much time one single stage — one cell or one net — adds by itself. The cumulative delay column, printed right next to it, is the running total of every incremental delay so far, from the path's startpoint up to that pin. The final cumulative value at the endpoint is the arrival time used in the slack calculation.

Technical Reference DiagramWhat is the difference between the incremental and cumulative delay columns in a timing report?
A report_timing excerpt with two columns highlighted: incremental delay per pin (40, 55, 310, 45ps) and cumulative delay climbing (180, 235, 545, 590ps), with the 310ps incremental jump circled.

Technical Explanation

A report_timing (PT) listing prints both columns side by side, and reading the wrong one is a very easy beginner mistake.

  • Incremental delay is the local number: what this one cell or net added, on its own, at this one pin.
  • Cumulative delay is the running sum: incremental delays added together from the very first pin in the path down to the current row.
  • The last cumulative number in the Data Arrival Path section is the path's total arrival time, the number the tool compares against the required time to get slack.
  • Two pins can show similar incremental delays but very different cumulative values, simply because one sits earlier in a long path than the other.
  • When hunting for the single slowest stage in a path, the incremental column is the one to scan — the cumulative column just keeps climbing regardless of which stage is fast or slow.
  • When checking the path's total delay against a budget, the cumulative column at the endpoint is the right number to use, not any single incremental value.

Common Mistake

The Trap: reading the cumulative number at some middle pin and calling it "the delay of that cell."

  • The cumulative value already includes every stage before it, so it overstates that one cell's actual contribution, sometimes by a large margin.
  • Confusing the two columns leads a designer to resize the wrong cell, chasing a large cumulative number instead of the actual large incremental jump.

Follow-up Question & Model Response

If you want to find the single largest delay contributor in a long path with twenty stages, which column tells you that directly?

Candidate Model Response: The incremental column, scanned row by row for the largest single jump between consecutive pins. The cumulative column cannot show this directly, since it only ever increases and a big jump in it could reflect one slow stage or several ordinary ones adding up. Some report formats also print a percentage-of-total next to each incremental value specifically to make this scan easier. Once the largest incremental jump is found, that pin's cell is the one worth investigating first, since it is contributing the most delay of any single stage in the path.

Practical Example

In a 12-stage path with 900ps total arrival time, the incremental column shows most cells contributing 40-60ps each, except one buffer contributing 310ps by itself. The cumulative column at that same pin reads 545ps, which looks unremarkable next to the 900ps total until the incremental column reveals that one stage alone is a third of the entire path's delay.

Complete STA Handbook

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

Static Timing Analysis (STA) Handbook — ten chaptersSTA HandbookTen chapters on setup, hold, OCV, and PrimeTime signoff. →