Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Setup and hold time in same path and on the same flop ?

Status
Not open for further replies.

limitless_21

Member level 2
Joined
May 17, 2012
Messages
52
Helped
1
Reputation
2
Reaction score
2
Trophy points
1,288
Activity points
1,668
Hello all,

I have 2 questions here

Setup and hold violations in same path - yes / no ?
Setup and hold violations on the same flop - yes / no ?

I have know that setup and hold violations cannot come on same flop as it will lead to metastability and the exact data will not be captured or we will not get the exact value.
If i am wrong please correct me on this. I am not sure on whether the setup and hold violations can occur on the same path.

Regards
limitless
 
If you think about it logically a setup and a hold violation cannot occur on the same flop. I don't understand what do you mean by violations in the same path?
 

Hi Sharath,

Consider the path as a critical path where we have for example 4 flip flops and 3 combo delays between them.
Now the question comes up
Can we have setup and hold violations in the same path ?? - yes / no
If the answer to the above question is yes, then can we have the setup and hold violations on the same flop.

Yes logically if you see, setup and hold time cannot occur on the same flop, but practically i have heard from designers that they can occur on the same flop too and the same path too.
I need a explanation on this.
REgards
limitless
 

Ideally setup and hold violation should not be present on same timing path (F2F path).
(BUT THERE CAN BE SITUATION WHERE BOTH SETUP slack & HOLD slack are negative)
But if such a situation happens we will never be able to fix these violations and the design will fail.

The reason is that when we will try fixing the hold violation by buffering the datapath, we will start eating up the setup slack. Thus the hold fixing is possible only when we have a +ve setup slack. If both hold and setup slack are negative then we would be left with only one way to fix it.
1) buffer datapath for hold fix
2) slow the clock frequency for setup fix --- (this is not a valid fix, but we are left with no other option).

Ideally for such a scenario the RTL should be fixed because this is a bottle neck situation and cannot be fixed without RTL modification.

--
Shobhit


1 more point.
When there are many combo paths between two flops.
The for setup analysis, the timing tool picks up the largest delay path & for hold analysis the tool picks up the smallest delay path.

--
Shobhit
 
Last edited:
Your example of 4 flops does not seem to be right. Let us talk of a launch flop and a capture flop. That is the definition of a "path". I don't think you should be bothered about violations in the "same path".
 

Ideally setup and hold violation should not be present on same timing path (F2F path).
(BUT THERE CAN BE SITUATION WHERE BOTH SETUP slack & HOLD slack are negative)
But if such a situation happens we will never be able to fix these violations and the design will fail.

The reason is that when we will try fixing the hold violation by buffering the datapath, we will start eating up the setup slack. Thus the hold fixing is possible only when we have a +ve setup slack. If both hold and setup slack are negative then we would be left with only one way to fix it.
1) buffer datapath for hold fix
2) slow the clock frequency for setup fix --- (this is not a valid fix, but we are left with no other option).

Ideally for such a scenario the RTL should be fixed because this is a bottle neck situation and cannot be fixed without RTL modification.

--
Shobhit


1 more point.
When there are many combo paths between two flops.
The for setup analysis, the timing tool picks up the largest delay path & for hold analysis the tool picks up the smallest delay path.

--
Shobhit

HI Shobhit,

Thanks for the explanation. I have a more clear understanding now :) :grin::grin:


Regards
Limitless

- - - Updated - - -

Hi Sharath,

That was taken only for an example - The idea was to get the view of setup time and hold time and the violation fixing.

REgards
Limitless
 
Yes, both setup & hold violations are possible in the same path.

Setup analysis will be done in the slow corner, where as Hold is done in the fast corner.

Now, look at this way, the combo path consists of only HVT cells ( which usually gives more delay in slow corner, less delay in fast corner ). This is due to delay variation between slow & fast corners ( which is 5X approximately ).

In this scenario, you will see both setup & hold violations.

To fix the hold viol, add delay buffers first. Then to fix setup violations, swap the HVT to RVT/LVT, which can be the best way as far my knowledge.
 
Your reply is about runs in different corners. That is definitely possible. But I think the question is about a run in a single corner. With that kind of a run, it should not occur.
 

Hi,
Setup and hold can occur same time on same flop.... if the path is different.

Having said that in ideal scnario it can even occur at same path... if frequency operation is not calculated correctly... But this is hypothetical answer... practically it's difficult.

Saurabh
 
Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top