UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor dspace2006
Visitor
2,237 Views
Registered: ‎06-25-2018

Delay (890 ns) in OBUFTDS in Kintex UltraScale

Hi,

 

I have ported a design from a Kintex-7 to a Kintex UltraScale device. I have changed the primitives but get now a huge delay in the OBUFTDS elements (see path analysis).

Additionally it seems, that the OSERDES component is not recognized correctly by the timing analyzer.

In the Kintex-7 the OSERDES clock is used, in UltraScale the driving register instead.

 

Note: The ODELAY is missing in the UltraScale, since I thought that this might cause the delay initially.

I have used Vivado 2017.4 and 2018.2.

 

Thank you already for your help,

Sebastian

OBUFTDS_KU.png
OBUFTDS_K7.png
0 Kudos
12 Replies
Visitor dspace2006
Visitor
2,146 Views
Registered: ‎06-25-2018

Re: Delay (890 ns) in OBUFTDS in Kintex UltraScale

Hello again,

 

I have done some further investigations and found out, that the timing issue arises also with other primitives (IOBUFDS), as soon as the IO standard is set to LVDS. Am I missing something crucial or is this a bug in Vivado?

 

Update: Attached is the schematic of the above described circuit.

 

I'd really appreciate any comment :)

Sebastian

OBUFTDS_SCH.png
0 Kudos
Moderator
Moderator
2,133 Views
Registered: ‎01-16-2013

Re: Delay (890 ns) in OBUFTDS in Kintex UltraScale

Hi Sebastian,

 

I will look into this issue.

This looks issue to me as 890ns huge primitive delay.

 

Are you getting expected results with 2017.4? Is this issue associated with 2018.2?

Can you please share the path report for 2017.4 and 2018.2 for cross check at my end? If possible is it possible to share the test case?

 

Thanks,
Yash

0 Kudos
Visitor dspace2006
Visitor
2,125 Views
Registered: ‎06-25-2018

Re: Delay (890 ns) in OBUFTDS in Kintex UltraScale

Hi Yash,

 

thanks for your reply.

The issue is in both versions. Attached are the path reports (first figure is 2017.4).

 

Another strange thing: If the T pin of the OSERDES is connected to something else (e.g. the clk), the path analysis is again different (third figure, Vivado 2017.4).

 

I'd prefer to send the test design via Email, if possible.

 

Thank you very much,

Sebastian

OBUFTDS__17_4.png
OBUFTDS__18_2.png
OBUFTDS_T_CLK__17_4.png
0 Kudos
Visitor shaynal
Visitor
2,090 Views
Registered: ‎08-22-2014

Re: Delay (890 ns) in OBUFTDS in Kintex UltraScale

Hi,

 

I am also seeing this same problem when using these primitives on a XCVU440. I see this with Vivado 2017.4 and 2018.1. I am very interested in the solution Xilinx provides.

 

Best Regards,

 

Steve

 

 

0 Kudos
Moderator
Moderator
2,077 Views
Registered: ‎01-16-2013

Re: Delay (890 ns) in OBUFTDS in Kintex UltraScale

Hi Sebastian,

I have sent one personal message with subject "Timing issue with OBUFTDS (Email ID for the test case)"

Please check your personal message. I will wait for your revert email.

Thanks,
Yash
0 Kudos
Moderator
Moderator
2,005 Views
Registered: ‎01-16-2013

Re: Delay (890 ns) in OBUFTDS in Kintex UltraScale

Hi Sebastian, I tried to run synthesis and Implementation using the Vivado 2018.2 (As this is the latest version of vivado). Everything works well no issue while migration but when I try to find out the timing path mentioned in your earlier post there is no valid path available. I query for all OBUFTDS in the design no result found. I have attached the snapshot for your reference. Thanks, Yash

Capture1.PNG
0 Kudos
Visitor dspace2006
Visitor
1,997 Views
Registered: ‎06-25-2018

Re: Delay (890 ns) in OBUFTDS in Kintex UltraScale

Hi Yash,

 

The code i've sent to you represents run_2 (with commented out IO standard LVDS attribute). There Vivado inserts a OBUFTDS_DUAL_BUF with default IO standard.

You can just open run_1 and have a look at the netlist for the leaf cell OBUFTDS_inst. Or comment in the lines 130-132 where the IOSTANDARD LVDS attribute is located and rerun implementation.

 

Best regards,

Sebastian

0 Kudos
Xilinx Employee
Xilinx Employee
1,963 Views
Registered: ‎05-06-2008

Re: Delay (890 ns) in OBUFTDS in Kintex UltraScale

Hello All,

 

The Kintex UltraScale DS (DS892) (https://www.xilinx.com/support/documentation/data_sheets/ds892-kintex-ultrascale-data-sheet.pdf ), mentioned the IOB performance in Table 28, on page 29.  The LVDS Toutbuf_delay_td_pad of 890.28ns for many of the speed grades.  

 

Thanks,
Chris

Visitor dspace2006
Visitor
1,948 Views
Registered: ‎06-25-2018

Re: Delay (890 ns) in OBUFTDS in Kintex UltraScale

Hi chrisz,

 

thanks for your reply.

 

Why is there a factor of 1000 (!) compared to other IO standards?

 

It seems to be a general delay for all speed grades in the HP IOs. Even in the HR IOs it is way higher (105 ns) for the LVDS IO standard.

 

Are there (intended?) shift chains inserted or how is it possible to get these value?

 

Best regards,

Sebastian

0 Kudos
Xilinx Employee
Xilinx Employee
1,613 Views
Registered: ‎05-06-2008

Re: Delay (890 ns) in OBUFTDS in Kintex UltraScale

Hello @dspace2006,

 

The IO Standard delays are based upon measured characterization data for the device family.  These values surprised me when I saw them in the datasheet for the first time.  The silicon team did  confirm that these values are correct and these IO Standards do have this much delay.  

 

Sorry,
Chris

Guide avrumw
Guide
1,575 Views
Registered: ‎01-23-2009

Re: Delay (890 ns) in OBUFTDS in Kintex UltraScale

The LVDS Toutbuf_delay_td_pad of 890.28ns for many of the speed grades. 

 

Really??????????? This is more than just a bit hard to believe...

 

This seems to be saying (essentially) - you cannot tristate LVDS signals. The existence of a tristate pin is there only for "long term power savings" - once you place an LVDS pin in High-Z mode, you need to wait a "looooooong" time before you can use it after taking it out of High-Z mode...

 

Avrum

0 Kudos
Observer sundarbas
Observer
582 Views
Registered: ‎12-20-2018

Re: Delay (890 ns) in OBUFTDS in Kintex UltraScale

Hi,

It is suprising that this IOSTANDARD has so much delay. Although, there is a necessity to use this exact IOSTANDARD for specific implementations like DP AUX.

Is there any root cause for it?

Could you help me with how I should constrain this IO pad so that this slack does not show up/ is accounted for in the timing. I have four digit slack violation because of this IO.

 

Regards,
Sundar

Tags (2)
0 Kudos