cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Observer
Observer
9,502 Views
Registered: ‎03-12-2014

Setup time of destination flop and slack calculation

Jump to solution

Hi,

 

In the attached snapshot (slack_calc.jpg) it can be observed that the setup time of the destination flop is added to the destination clock delay by the timing engine (Please see last line in Destination clock delay FDRE (setup_fdre_c_d) is 0.066ns). This time 0.066 ns is added to the destination clock delay cumulatively and the resultant required time is 9.628 ns. 

 

I am confused that whether this time should be added or instead should be subtracted in the calculation. Because, as the setup time of the destination flop increases, the slack should reduce. Adding this component to the destination clock delay is increasing the slack. It should be subtracted instead.

 

I am pretty sure that I am wrong since this is a tool snapshot and it cannot be wrong. But also I am unable to identify where I am going wrong. Please clarify.

 

Thanks,

Amitra

 

slack_calc.jpg
0 Kudos
1 Solution

Accepted Solutions
Highlighted
Guide
Guide
16,810 Views
Registered: ‎01-23-2009

Re: Setup time of destination flop and slack calculation

Jump to solution

You are not wrong - the setup time is supposed to be subtracted from the calculation at that point.

 

However, in this case, the setup time of this particular flip-flop is (slightly) negative (-0.066ns). In reports, when Vivado subtracts a negative number, the two minus signs cancel out, so it makes it look like addition.

 

Avrum

 

 

View solution in original post

3 Replies
Highlighted
Guide
Guide
16,811 Views
Registered: ‎01-23-2009

Re: Setup time of destination flop and slack calculation

Jump to solution

You are not wrong - the setup time is supposed to be subtracted from the calculation at that point.

 

However, in this case, the setup time of this particular flip-flop is (slightly) negative (-0.066ns). In reports, when Vivado subtracts a negative number, the two minus signs cancel out, so it makes it look like addition.

 

Avrum

 

 

View solution in original post

Observer
Observer
9,461 Views
Registered: ‎03-12-2014

Re: Setup time of destination flop and slack calculation

Jump to solution

Thanks for the clarification avrumw, I found in the Vivado workbook that the setup time for the flop is mentioned as -0.066 ns. 

 

I have a slight off the topic question: In the same snapshot under Destination clock delay section "Clock uncertainty" (due to jitters) is subtracted. But later in the Vivado workbook, I found that in hold calculation, clock uncertainty is not considered at all. Is it because for hold check, the same clock edges are considered for analysis while for setup check consecutive clock edges are considered for analysis? 

 

Thanks and regards,

Amitra

0 Kudos
Highlighted
Guide
Guide
9,454 Views
Registered: ‎01-23-2009

Re: Setup time of destination flop and slack calculation

Jump to solution

Amitra,

 

Almost.

 

The clock uncertainty (due to jitter) is not a factor when a timing check has the same clock edge as the launch and capture edge. This would be the case in a hold check where the startpoint and endpoint are clocked by the same clock.

 

However, you can have hold checks on paths between different clocks (say between two clock outputs of the same MMCM). Here, even though this is a hold check, and even though the "requirement" is 0ns (if the two clocks are harmonically related), the clock uncertainty would still apply to this check (and would show up in the timing report).

 

Avrum

0 Kudos