Setup and hold both pass when their slack values are nonnegative. Exact arithmetic here means exact results for the stated model inputs; measured inputs still carry uncertainty and significant-figure limits.

highlighted = computed this step

Data must arrive before the setup window closes

The selected edge is at 8 seconds, and data arrives at 5 seconds.

8 s+(5 s)+(2 s)=1 s8\ \text{s}+(-5\ \text{s})+(-2\ \text{s})=1\ \text{s}
Passing setup windowSetup slack is recomputed from edge and arrival.period 8 sedges 4edge 1 at 8 slast 24 sedge 1 at 8 sdata 5 snext 10 ssetup slack 1 shold slack 1 saccepted

Passing rows keep both slacks nonnegative

Each row recomputes setup and hold slack from arrival and next-change times.

tDtnextssetupshold4 s10 s2 s1 s5 s10 s1 s1 s6 s11 s0 s2 s\begin{array}{c|c|c|c}t_D&t_{\text{next}}&s_{\text{setup}}&s_{\text{hold}}\\4\ \text{s}&10\ \text{s}&2\ \text{s}&1\ \text{s}\\5\ \text{s}&10\ \text{s}&1\ \text{s}&1\ \text{s}\\6\ \text{s}&11\ \text{s}&0\ \text{s}&2\ \text{s}\\\end{array}

The next change must wait through the hold window

The next data change is at 10 seconds, leaving 1 second of hold slack.

10 s+(8 s)+(1 s)=1 s10\ \text{s}+(-8\ \text{s})+(-1\ \text{s})=1\ \text{s}
Passing hold windowBoth slacks are visible checked labels.period 8 sedges 4edge 1 at 8 slast 24 sedge 1 at 8 sdata 5 snext 10 ssetup slack 1 shold slack 1 saccepted