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

  • How to Use This Course
  • Reading Path
  • STA Glossary
  • STA Metrics Reference
  • STA Mastery Cheatsheet
  • Timing Paths and Checks16
  • Constraints & SDC Fundamentals20
  • Delay Graph & Path Analysis16
    • Graph Traversal & Slack
      • Arrival and Required Times
      • Forward and Backward Propagation
      • Slack Worked Example
      • A Tiny Timing Engine
    • Cell vs Net Delay Budgets
    • Path Group Prioritization
    • Report Timing Deep Read
  • Beyond Setup and Hold16
  • Multi-Corner Multi-Mode Signoff16
  • OCV, AOCV, POCV and Variation16
  • Crosstalk and Noise16
  • ECO and Closure16
  • STA Debug Playbook16
  • STA Interview Prep26
  • Capstone Timing Signoff Lab4
Loading lesson

‹Delay Graph & Path Analysis
  1. Topics
  2. Static Timing Analysis
  3. Delay Graph & Path Analysis
  4. Graph Traversal & Slack

Part 3 · Delay Graph and Path Analysis · All levels

Graph Traversal & Slack

How arrival and required times propagate through the timing graph, why one pass is enough, and a tiny working timing engine.

  • 4topics
  • 4lessons

Every slack number comes from two propagations through the timing graph: arrival times forward from the startpoints and required times backward from the endpoints. This topic works both by hand, shows why the traversal scales to billions of paths, and ends with a complete timing engine in about forty lines of Python that you can run and change.

Lesson

After it you can...

Arrival and Required Times

Compute both times at every node and the slack there.

Forward and Backward Propagation

Explain why the cost is linear in design size.

Slack Worked Example

Find the critical path of a small circuit by hand.

A Tiny Timing Engine

Read and extend a working engine.

The first model of the graph is in The Timing Graph; here it becomes an algorithm.

Check yourself Why are two passes needed, forward and backward?

Arrival times depend on what comes before a node and required times on what comes after it. Slack needs both at the same node, so the arrivals are computed forward and the required times backward.

Interview

Be ready to say that STA is linear in the size of the graph and then explain why: each node and edge is visited once per pass.

PreviousNext: Arrival and Required Times

Up next

Up nextArrival and Required Times

Sign in to save progress

Practice this lessonReport an error

See also

  • Cell vs Net Delay Budgets
  • Path Group Prioritization
  • Report Timing Deep Read