Setup and hold slack move from positive through boundary to rejection. Exact arithmetic here means exact results for the stated model inputs; measured inputs still carry uncertainty and significant-figure limits.

highlighted = computed this step

Early data and late next change leave positive slack

The capture edge is fixed at 10 seconds. Data at 7 seconds and next change at 13 seconds give setup slack 1 s and hold slack 2 s.

ssetup=10+(7)+(2)=1 s,shold=13+(10)+(1)=2 ss_{\text{setup}}=10+(-7)+(-2)=1\ \text{s},\quad s_{\text{hold}}=13+(-10)+(-1)=2\ \text{s}
Setup and hold slack scanBoth slacks and the pass/fail label are checked.period 10 sedges 2edge 1 at 10 slast 10 sedge 1 at 10 sdata 7 snext 13 ssetup slack 1 shold slack 2 saccepted

Both timing windows can land exactly on the boundary

The capture edge is fixed at 10 seconds. Data at 8 seconds and next change at 11 seconds give setup slack 0 s and hold slack 0 s.

ssetup=10+(8)+(2)=0 s,shold=11+(10)+(1)=0 ss_{\text{setup}}=10+(-8)+(-2)=0\ \text{s},\quad s_{\text{hold}}=11+(-10)+(-1)=0\ \text{s}
Setup and hold slack scanBoth slacks and the pass/fail label are checked.period 10 sedges 2edge 1 at 10 slast 10 sedge 1 at 10 sdata 8 snext 11 ssetup slack 0 shold slack 0 saccepted

Late data makes setup slack negative

The capture edge is fixed at 10 seconds. Data at 9 seconds and next change at 11 seconds give setup slack -1 s and hold slack 0 s.

ssetup=10+(9)+(2)=1 s,shold=11+(10)+(1)=0 ss_{\text{setup}}=10+(-9)+(-2)=-1\ \text{s},\quad s_{\text{hold}}=11+(-10)+(-1)=0\ \text{s}
Setup and hold slack scanBoth slacks and the pass/fail label are checked.period 10 sedges 2edge 1 at 10 slast 10 sedge 1 at 10 sdata 9 snext 11 ssetup slack -1 shold slack 0 srejected