Recovery and removal analysis are done on asynchronous signals like resets. These specify the requirement of these signals with respect to clock.
One thing you should always remember that recovery-removal check are performed only deassertion of the asyn (reset) signals.
Recovery is similar to SETUP requirement. This is generally used for ASYCN signals i/p to FF such as RESET.
Removal is like HOLD requirement. This is generally used for ASYCN signals i/p to FF such as RESET.
For the clock edges A & B, Tr is the recovery time, and Tm is the removal time. RESET cannot be released within these intervals.
Here, reset_n is applied in the beginning and after edge A, it is released. However, the clock edge B comes too soon after the reset_n release. (The release is within the Tr of edge B). Hence this is a case of recovery violation. Similarly, if the reset_n was released within the Tm time range, it would be a removal violation. You can see that recovery time is like the setup check, in that this is the time the asynchronous input should be stable before the arrival of the clock. Similarly removal is the equivalent of hold check, in that the asynchronous input should be held after the clock edge.
Recovery Slack = Data Required Time – Data Arrival Time
Data Arrival Time = Clock Network Delay to FF1 + Combination path delay to CLR of FF2.
Data Required Time = Clock period + Clock Network Delay to FF2/CP – Tr of FF2.
For ideal clock, Tr is the time before the next clock edge the CLR input should be stable. This library removal time for CLK-CLR arc will be given in the .lib.
Removal Slack = Data Arrival Time – Data Required Time
Data Arrival Time = Clock Network Delay to FF1/CP + Combination path delay from FF1/Q to FF2/CLR
Data Required Time = Clock Network Delay to FF2/CP + Tm of FF2
One thing you should always remember that recovery-removal check are performed only deassertion of the asyn (reset) signals.
Recovery Time:
Is the minimum required time to the next active clock edge the after the reset (or the signal under analysis) is released.Recovery is similar to SETUP requirement. This is generally used for ASYCN signals i/p to FF such as RESET.
Removal Time:
Is the minimum required time after the clock edge after which reset can be released. You are trying to make sure that the reset removal is not occurring for different flops for different clock edges, thereby creating functional/metastability issues.Removal is like HOLD requirement. This is generally used for ASYCN signals i/p to FF such as RESET.
Recovery-Removal
For the clock edges A & B, Tr is the recovery time, and Tm is the removal time. RESET cannot be released within these intervals.
recovery_violation
Here, reset_n is applied in the beginning and after edge A, it is released. However, the clock edge B comes too soon after the reset_n release. (The release is within the Tr of edge B). Hence this is a case of recovery violation. Similarly, if the reset_n was released within the Tm time range, it would be a removal violation. You can see that recovery time is like the setup check, in that this is the time the asynchronous input should be stable before the arrival of the clock. Similarly removal is the equivalent of hold check, in that the asynchronous input should be held after the clock edge.
Recovery_Removal
Recovery Slack = Data Required Time – Data Arrival Time
Data Arrival Time = Clock Network Delay to FF1 + Combination path delay to CLR of FF2.
Data Required Time = Clock period + Clock Network Delay to FF2/CP – Tr of FF2.
For ideal clock, Tr is the time before the next clock edge the CLR input should be stable. This library removal time for CLK-CLR arc will be given in the .lib.
Removal Slack = Data Arrival Time – Data Required Time
Data Arrival Time = Clock Network Delay to FF1/CP + Combination path delay from FF1/Q to FF2/CLR
Data Required Time = Clock Network Delay to FF2/CP + Tm of FF2
No comments:
Post a Comment