Why are there usually more hold time violations in best corner?

Status
Not open for further replies.

luodong

Newbie level 2
Joined
Nov 22, 2013
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Visit site
Activity points
25
Hi All,
When I do hold time analysis after P&R using PrimeTime, I find a phenomenon that there are usually more hold time violations in best corner than in worst corner for the same design. I don't understand why this phenomenon exists.
Let's assume the clock slew of the design is 0 to simplify the topic to be discussed. And assume the delay that is from launch flip-flop's clock pin to capture flip-flop's data input pin is A in worst corner and is B in best corner. Assume the hold time limit of the capture flip-flop's data input pin is C in worst corner and is D in best corner.
In my option, if a path's hold time slack is greater than 0 in worst corner, that means A > C. When I do hold time analysis for the same path in best corner, of course, both the delay from launch flip-flop's clock pin to capture flip-flop's data input pin and the hold time limit of the capture flip-flop's data input pin become smaller than the values in worst corner, I think we can assume B = k1*A and D = k2*B. Of course, both k1 and k2 are greater than 0.0 and less than 1.0. I think the values of k1 and k2 may not exactly identical but they probably close to each other. So B is probably greater than D. So there should not be more hold time violations in best corner than in worst corner. For my understanding, can anyone explain which part is wrong?
If k1 is usually much smaller than k2 which leads to more hold time violations in best corner than in worst corner, can anyone explain why k1 is usually much smaller than k2? Thanks.
 

I think you should forget about primetime and study the basics of the hold time.
setup time = max of all data delays - min of all clk delays.
hold time = max of clock delays - min of all data delays.

The clock delay will be in terms of inverters/buffer delays while the data delay will be in terms of logic gates( mostly complex). the question is difference between the two. The basic idea is logic data delays vary more (because of design example difference between delay of xor gate is much more between slow corner and best corner).

so the Slow corner logic gates are slower than clock buffers thereby leading to setup time issue. And the best corner, the logic gates are faster so lead to hold time failure. This is way Primetime tool functions.



 
Hi artmalik,
Thanks for the reply.
I assume the clock skew of the launch clock and capture clock is 0 in both worst corner and best corner. So, wo don't need to consider the clock tree latency. We need to consider only the data delay and the hold time limit of the capture flip-flop, right? I observe the data delay has more improvement than the hold time limit when moving from worst corner to best corner. But I don't know why. Does anyone know the cause? Thanks.
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…