cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Voyager
Voyager
9,354 Views
Registered: ‎07-28-2008

Why is IN and OUT of IOBUFDS reported on one timing path ?

Jump to solution

I got a crtical path, from INPUT of of IOBUFDS goes through OUT of IOBUFDS.

 

Vivado 2015.2, Don't understand why are they related, I was expecting T to make totally separate data path.

 

Is there special constraint needed? What am I missing?

 

Thanks,

 

IOBUFDS_path.png

IOBUFDS_path_report.png

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Xilinx Employee
Xilinx Employee
17,307 Views
Registered: ‎05-07-2015

hi

 

As you can see in the below figure. When T is enabled(i.e '0'). I input not only drives IO port, but also drives O output.
hence I --> O is a valid path.

I understand that you might not consider 'O' output of IOBUFDS as along T is enabled(i.e '0'). 
If you see any timing violation in these kinds of logically unused paths, you can apply a set_false_path constraint on such paths.
As the timing is meeting anyway with reasonable slack. I suggest that you ignore them.

IOBUFDS.JPG

Thanks
Bharath
--------------------------------------------------​--------------------------------------------
Please mark the Answer as "Accept as solution" if information provided addresses your query/concern.
Give Kudos to a post which you think is helpful.
--------------------------------------------------​-------------------------------------------

View solution in original post

4 Replies
Highlighted
Xilinx Employee
Xilinx Employee
9,344 Views
Registered: ‎07-31-2012

Hi,

 

Do you mean from the input of the IOBUFDS on the external side to the output on the fabric side? Or is this path between both fabric end input and output.

What is the exact path mentioned in the report as a critical path.

 

I dont think this path needs timing as only one of them is active based on the T selection. Probably cross-check other basic timing constraints which you might have missed which are to be applied to the inputs paths. e.g set_input_delay.

Thanks,
Anirudh

PS: Please MARK this as an answer in case it helped resolve your query.Give kudos in case the post guided you to a solution.
0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
17,308 Views
Registered: ‎05-07-2015

hi

 

As you can see in the below figure. When T is enabled(i.e '0'). I input not only drives IO port, but also drives O output.
hence I --> O is a valid path.

I understand that you might not consider 'O' output of IOBUFDS as along T is enabled(i.e '0'). 
If you see any timing violation in these kinds of logically unused paths, you can apply a set_false_path constraint on such paths.
As the timing is meeting anyway with reasonable slack. I suggest that you ignore them.

IOBUFDS.JPG

Thanks
Bharath
--------------------------------------------------​--------------------------------------------
Please mark the Answer as "Accept as solution" if information provided addresses your query/concern.
Give Kudos to a post which you think is helpful.
--------------------------------------------------​-------------------------------------------

View solution in original post

Highlighted
Voyager
Voyager
9,246 Views
Registered: ‎07-28-2008

Thanks for all replies; The diagram is literally accurate. I will add a false path.

0 Kudos
Highlighted
8,161 Views
Registered: ‎07-15-2015

Link added here for the same topic and scenario when applied to a single-ended (LVCMOS) bidirectional IOBUF:

 

set_disable_timing arc issue vs. set_false_path in bidirectional