What is setup timing, and what is hold timing, in plain terms?
From PDVerse MMMC Interview Masterclass · pdVerse Mentor Series
Direct answer
Setup checks whether data launched from one flop arrives at the next flop early enough to be captured correctly on the upcoming clock edge. Hold checks whether that same data avoids arriving so early that it gets captured on the wrong edge instead.
Mentor explanation
Picture a launch flop sending data through some combinational logic to a capture flop. Setup asks: is the data guaranteed to be stable before the capture clock edge shows up, with enough margin? If the data path is too slow, setup fails — the value hasn't settled in time. Hold asks a very different question: could the data race through so fast that it changes the capture flop's input almost immediately after the previous edge, before that edge is even done capturing? If so, the flop might grab the wrong value. Both checks look at the same launch- to-capture path, but they stress opposite failure modes — one from being too slow, one from being too fast.
Example or conceptual chain
Launch flop -> combinational logic -> capture flop. Setup protects the upcoming capture edge; hold protects the previous edge.
Interview trap
Trying to memorize a formula instead of being able to explain, in a sentence, what each check is actually protecting against.
Key takeaways
- Setup checks whether data launched from one flop arrives at the next flop early enough to be captured correctly on the upcoming clock edge.
- Hold checks whether that same data avoids arriving so early that it gets captured on the wrong edge instead.
Self-check: can you answer this aloud?
Try a 45-second answer using this structure:
- State the direct answer.
- Explain the timing or physical reason.
- Name one caveat.
- Say how you would verify it in a real flow.
Continue learning free
Get a practical low-power chapter
Receive the existing “Low Power and Multivoltage Fundamentals” PDF chapter and its download link by email.
Keep connecting concepts