Timing analysis and CDC

Which correctly describes WNS and TNS as they appear in STA reports?

  1. AWNS is a metric for the number of violating paths and TNS for the total number of paths analyzed
  2. BWNS is the worst slack value and TNS is the sum of the negative slacks
  3. CWNS is the hold slack and TNS is the setup slack
Show answer and explanation

Answer: B. WNS is the worst slack value and TNS is the sum of the negative slacks

WNS (Worst Negative Slack) is the worst slack among all paths and indicates how far the frequency can be raised. TNS (Total Negative Slack) is the sum of the negative slacks of the violating path endpoints. For example, with three endpoints at −0.1 ns, WNS is −0.1 ns and TNS is −0.3 ns. Even if the magnitude of WNS is small, a large TNS magnitude means many paths need fixing. The number of violations is reported by a separate metric, and WNS and TNS are computed for setup and for hold separately.

Practice this topic Back to topic

Books on Timing analysis and CDC Ad

As an Amazon Associate I earn from qualifying purchases.

More Timing analysis and CDC questions

  1. A path has a clock period of 1.0 ns, a clock-to-output delay of 0.1 ns, a combinational logic delay of 0.85 ns and a setup time of 0.08 ns. If the clock arrives at the capturing flip-flop 0.05 ns later than at the launching flip-flop, what is the setup slack?
  2. When the clock arrives at the capturing flip-flop later than at the launching flip-flop (positive skew), what is the effect on setup and hold?
  3. The launching flip-flop's minimum clock-to-output delay is 0.08 ns, the minimum combinational logic delay is 0.02 ns and the capturing flip-flop's hold time is 0.05 ns. If the clock arrives at the capturing flip-flop 0.1 ns later than at the launching flip-flop, what is the hold slack?
  4. A hold violation (slack −0.03 ns) is found on an ordinary path that launches and captures on the rising edge of the same clock. How is this violation affected if the clock frequency is halved?
  5. To fix a hold violation, delay buffers are inserted in the data path. What is the most important thing to check when doing this?