Synthesis scores every timing path with two numbers: when the signal arrives and when it is required. Their difference is the slack, and the path with the worst slack is the critical path.
Term | Meaning |
|---|---|
Arrival time | When the signal actually reaches a point, adding clock-to-Q, cell and net delays along the path. |
Required time | When the signal must reach a point, set by the clock period minus setup (or by the hold bound). |
Slack | Required minus arrival. Positive means margin; negative means the path fails. |
Critical path | The path with the worst (smallest) slack. It sets the maximum speed of the block. |
Cell delay | Delay through a gate, from a table or linear model in the library. |
Net delay | Delay along a wire, estimated at synthesis time and known only after layout. |
Lesson | What it covers |
|---|---|
Arrival, required, slack and the critical path with a worked EXAMPLE. | |
Launch and capture edges, setup and hold checks, and a worked pair. | |
Table versus linear cell models with a worked interpolation. | |
Ideal-wire and wire-load estimates with a worked slack comparison. | |
A runnable Python calculator over a small cell DAG. |
Slack is 2.9 minus 3.2, which is minus 0.3 ns. Negative slack means the path fails.