What are recovery and removal checks?
From PDVerse STA Mentor Guide · pdVerse Mentor Guide
Explanation
Recovery and removal checks apply to asynchronous control signals like reset, verifying they're properly synchronized relative to the clock even though they aren't clocked data. A recovery check is setup-like: reset must be deasserted early enough before the active clock edge. A removal check is hold-like: reset must stay asserted long enough after the active clock edge.
Timing-path Walkthrough
Think of reset deassertion as analogous to a data launch event relative to the clock edge — recovery checks that there's enough time between reset going inactive and the next active clock edge, just as setup checks data arrival relative to a capture edge. Removal, by contrast, checks that reset stays asserted long enough past the edge, mirroring how a hold check protects data that must remain stable briefly after the edge.
Expected Report Behavior
These show up as separate recovery/removal checks in timing reports on asynchronous reset (or similar) pins, distinct from ordinary setup/hold checks on data pins.
Mentor Note — Common Mistake
Treating an asynchronous reset path as fully asynchronous with no timing relevance at all, missing that its deassertion edge still needs recovery/removal checking against the clock.
How To Debug
Look specifically for recovery and removal check entries on asynchronous control pins in the timing report rather than assuming only data setup/hold checks apply.
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.
Continue practising