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: 
Highlighted
Observer sundarbas
Observer
292 Views
Registered: ‎12-20-2018

Timing Analysis of a specific data path

Jump to solution

Hi I have a synchronous dual port fifo implementation where data is transferred from a write logic to a read logic.

I am trying to probe for timing path in the highlighted net in the image attached, but it reports it as no timing path available. How do I time this path?

The implementation of this logic condensed is as below:

Write_flop -> FIFO_memory(RAM) -> Read flop

I suspect a hold violation due to a timing ignored path in RAM -> Read flop path.

I am new to Timing anlaysis, please help me out.

FPGA family: XCKU-115

Regards,
Sundar

Capture.PNG
0 Kudos
1 Solution

Accepted Solutions
Historian
Historian
264 Views
Registered: ‎01-23-2009

Re: Timing Analysis of a specific data path

Jump to solution

You are clearly having trouble locating the proper net for your "-through" - my suggestion is that you let the GUI help you.

If you create a schematic (like the one you show in your post) and select the net (by clicking on it), you can get its full name in property window - you can use that to create your command.

Even better, you can use the "get_selected_objects" command as part of another command. So if you do

report_timing -name test -max_paths 100 -delay_type min_max -through [get_selected_objects]

it will report the top 100 paths (in a graphical window) that go through the selected object (in this case the nets you selected).

However, the process you specified in your post "What i basically tried is, right click on the net highlighted earlier and then clicked Report Timing. " should also have worked - what was the result when you tried that?

Avrum

0 Kudos
3 Replies
Moderator
Moderator
278 Views
Registered: ‎11-04-2010

Re: Timing Analysis of a specific data path

Jump to solution

Hi, @sundarbas ,

How do you report the timing for the path?

It looks the pin is not the pin of a leaf level primitive.

You can try to use the below command to report timing for the net:

report_timing -name test -through [get_pins -hier -filter {NAME =~ *xfer_fifo/fifo_rd_data[*] } ] -max_paths 10

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
Observer sundarbas
Observer
274 Views
Registered: ‎12-20-2018

Re: Timing Analysis of a specific data path

Jump to solution

Hi @hongh ,

 

Thank you for your reply.

I am using a command like this. report_timing -through [get_nets {$PROJ/vid_transfer/fifo_rd_dat[191]}] -delay_type min_max -max_paths 15000 -sort_by group -input_pins -routable_nets -user_ignored -name {[get_nets {$PROJ/vid_transfer/fifo_rd_dat[191]}]}

 

INFO: [Timing 38-91] UpdateTimingParams: Speed grade: -2, Temperature grade: E, Delay Type: min_max.
INFO: [Timing 38-191] Multithreading enabled for timing update using a maximum of 8 CPUs
INFO: [Timing 38-78] ReportTimingParams: -through_pins -max_paths 15000 -nworst 1 -delay_type min_max -sort_by group.
WARNING: [Timing 38-164] This design has multiple clocks. Inter clock paths are considered valid unless explicitly excluded by timing constraints such as set_clock_groups or set_false_path.
INFO: [Timing 38-72] No paths found.

$PROJ replaces higher level path for project confidentiality reasons. 

What i basically tried is, right click on the net highlighted earlier and then clicked Report Timing. 

 

I also tried your command, but it reports it cannot find the net. I also tried a few variations of it. But in vain.

WARNING: [Vivado 12-508] No pins matched 'get_pins -hier -filter {NAME =~ */vid_transfer/fifo_rd_data[*] }'.
ERROR: [Vivado 12-4739] report_timing:No valid object(s) found for '-through [get_pins -hier -filter {NAME =~ */vid_transfer/fifo_rd_data[*] }]'.
Resolution: Check if the specified object(s) exists in the current design. If it does, ensure that the correct design hierarchy was specified for the object. If you are working with clocks, make sure create_clock was used to create the clock object before it is referenced.

 

Regards,

Sundar

0 Kudos
Historian
Historian
265 Views
Registered: ‎01-23-2009

Re: Timing Analysis of a specific data path

Jump to solution

You are clearly having trouble locating the proper net for your "-through" - my suggestion is that you let the GUI help you.

If you create a schematic (like the one you show in your post) and select the net (by clicking on it), you can get its full name in property window - you can use that to create your command.

Even better, you can use the "get_selected_objects" command as part of another command. So if you do

report_timing -name test -max_paths 100 -delay_type min_max -through [get_selected_objects]

it will report the top 100 paths (in a graphical window) that go through the selected object (in this case the nets you selected).

However, the process you specified in your post "What i basically tried is, right click on the net highlighted earlier and then clicked Report Timing. " should also have worked - what was the result when you tried that?

Avrum

0 Kudos