A zero-slack-is-still-a-passing-boundary ledger marks the deterministic convention that equality at the setup and hold windows is accepted. The 0 s setup slack, 0 s hold slack, and accepted bit are exact only for the stated ideal boundary rule, with no extra margin implied. Real designs budget guardband for skew, jitter, PVT spread, metastability, delay variation, finite precision, and measurement uncertainty.

The training convention accepts equality at both windows. Exact arithmetic here means exact results for the stated model inputs; measured inputs still carry uncertainty and significant-figure limits.

highlighted = computed this step

The deterministic boundary accepts zero slack

Data at 6 seconds and next change at 9 seconds put both markers on the boundary.

ssetup=0 s,shold=0 ss_{\text{setup}}=0\ \text{s},\quad s_{\text{hold}}=0\ \text{s}
Zero slack boundaryBoundary equality is accepted by convention.period 8 sedges 4edge 1 at 8 slast 24 sedge 1 at 8 sdata 6 snext 9 ssetup slack 0 shold slack 0 saccepted

Zero and positive slack rows are accepted

The boundary row has no margin; the contrast rows add margin on one side.

ssetupsholdgate0 s0 spass1 s0 spass0 s1 spass\begin{array}{c|c|c}s_{\text{setup}}&s_{\text{hold}}&\text{gate}\\0\ \text{s}&0\ \text{s}&\text{pass}\\1\ \text{s}&0\ \text{s}&\text{pass}\\0\ \text{s}&1\ \text{s}&\text{pass}\\\end{array}

Zero is not extra margin, but it still passes here

Both slack labels are 0 seconds, and the checked status is accepted.

accepted bit=1\text{accepted bit}=1
Boundary acceptedThe accepted label is tied to nonnegative slack.period 8 sedges 4edge 1 at 8 slast 24 sedge 1 at 8 sdata 6 snext 9 ssetup slack 0 shold slack 0 saccepted