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
1
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
 

sharath666

Advanced Member level 2
Joined
Apr 4, 2011
Messages
552
Helped
126
Reputation
252
Reaction score
124
Trophy points
1,323
Location
India
Activity points
3,830
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?
 

limitless_21

Member level 2
Joined
May 17, 2012
Messages
52
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,288
Activity points
1,668
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
 

shobhit

Member level 2
Joined
Oct 4, 2007
Messages
49
Helped
13
Reputation
26
Reaction score
10
Trophy points
1,288
Location
India
Activity points
1,643
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:

sharath666

Advanced Member level 2
Joined
Apr 4, 2011
Messages
552
Helped
126
Reputation
252
Reaction score
124
Trophy points
1,323
Location
India
Activity points
3,830
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".
 

limitless_21

Member level 2
Joined
May 17, 2012
Messages
52
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,288
Activity points
1,668
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
 

kumar_eee

Advanced Member level 3
Joined
Sep 22, 2004
Messages
814
Helped
139
Reputation
276
Reaction score
110
Trophy points
1,323
Location
Bangalore,India
Activity points
4,676
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.
 

sharath666

Advanced Member level 2
Joined
Apr 4, 2011
Messages
552
Helped
126
Reputation
252
Reaction score
124
Trophy points
1,323
Location
India
Activity points
3,830
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.
 

imsaurabh

Junior Member level 1
Joined
Feb 12, 2007
Messages
17
Helped
3
Reputation
6
Reaction score
3
Trophy points
1,283
Activity points
1,397
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

Top