Answer each question out loud before opening it. If you miss more than three in the checkpoint, revisit the lessons linked at the end.
When nothing is pending in either direction, for longer than a timeout set from break-even time and latency tolerance.
Power saved and exit latency trade off; light states suit short gaps, deep ones long idle periods.
The idle length at which sleeping and staying on cost the same: (P_tr − P_lp) × T_tr / (P_on − P_lp).
Only it knows whether it has outstanding or imminent work; denial prevents being cut off mid-transaction.
Stop new requests, wait for outstanding ones, flush posted writes, settle credits, confirm, isolate, then cut power.
A sideband wire or a low-power in-band detector; the link then retrains before traffic.
Task. A 4-lane chip-to-chip link draws 400 mW active, 40 mW in its deep state, and takes 20 µs to enter and leave at 500 mW. Idle periods are bursty: many of 2 to 5 µs between packets, a few of 1 ms between bursts. The attached device tolerates 50 µs of extra latency. Design the power policy.
Break-even of the deep state: (500 − 40) × 20 / (400 − 40) ≈ 25.6 µs. The 2 to 5 µs gaps are far below it, so the deep state must not be used there; a light state with sub-microsecond exit (if available) can take them, or the link simply stays on. The 1 ms gaps are about 40× break-even: sleep deep, saving roughly 90% of the energy in those gaps. Policy: a deep-state timeout of about 30 µs (above break-even and above the longest intra-burst gap, so gaps never trigger it). Latency: exit is within 20 µs, below the 50 µs tolerance, so allowed. Entry by handshake: the device accepts only with nothing outstanding and nothing queued, otherwise denies. Wake: the device signals on a sideband wire or in-band beacon when it has data; the host wakes the link when it has work. Verify the request-during-entry race and measure wakes per second against the model.
No outstanding requests, no credits owed, no acknowledgements owed (and nothing queued above).
It is held, the link wakes, and the request is served after the wake time.
The link sleeps through gaps shorter than break-even, paying transitions that cost more than they save.
The link state is what the wires are doing; the device state is how much of the device is working.
(100 − 10) × 5 / 90 = 5 µs.
Some energy for fewer wakes (and so less added latency).
QREQn, QACCEPTn, QDENY, QACTIVE.
They get no response, so they look done while they may still be in a buffer.
A powering-down block's outputs float; isolation clamps them to safe values for the blocks still on.
Whatever monitors the wake signal, typically an always-on power controller.