cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
kriskoorndyk
Observer
Observer
1,061 Views
Registered: ‎04-24-2019

Show schematic of path between two elements

Jump to solution

I'm looking for a method for generating a post-synthesis or post-implementation schematic of the path between two elements (a start point and an end point) including any elements the path "goes through".

I essentially want to replicate what Vivado does under the hood when a schematic is generated from a selected timing path in the GUI.

Specifically, I'm looking for the appropriate tcl commands to analyze the paths reported by 'report_qor_suggestions'.  It looks like 2018.3 and newer added some GUI support for that command, but I'm currently stuck on an older version of Vivado for this project.

 

0 Kudos
1 Solution

Accepted Solutions
kriskoorndyk
Observer
Observer
965 Views
Registered: ‎04-24-2019

I think I figured out a solution.

show_schematic -name schem1 [get_timing_paths -from [get_pins $STARTPOINT] -to [get_pins $ENDPOINT]]


 Manually selecting the start point and end point cells to highlight them in the schematic:

2020-03-26_104519.jpg

 

View solution in original post

0 Kudos
3 Replies
rshekhaw
Xilinx Employee
Xilinx Employee
1,031 Views
Registered: ‎05-22-2018

Hi @kriskoorndyk ,

You can use:

show_schematic [get_pins]
show_schematic [get_ports]
show_schematic [get_cells]

Also check page no.1675 of below link:

https://www.xilinx.com/support/documentation/sw_manuals/xilinx2019_2/ug835-vivado-tcl-commands.pdf

Thanks and Regards,

Raj Singh

0 Kudos
kriskoorndyk
Observer
Observer
995 Views
Registered: ‎04-24-2019

I'm familiar with those commands, but that doesn't help with showing the signal path from the start point to the end point and nothing else.  That's what I'm looking for.  If you select a timing path in the timing summary report and right-click and select schematic (or simply press F4) to generate a schematic it generates a schematic of that timing path including all cells and nets between the start and end points.  If you double-click on it, or right-click and select 'View Path Report', the tool obviously knows all of those nets and cells between the start and end.

When using the 'report_qor_suggestions' command it only reports start and end points.  For example, one of the outputs of that report is the "Tight Path Requirements" report, which indicates a sub-category with a bunch of parametric data, including the number of logic levels, the starting point and the ending point.  I'm looking for a relatively easy way to identify each of the elements between the start point and end point, including nets to show in the schematic view and nothing else.

Here's one method I've tried:

 

select_objects [get_cells $STARTPOINT]
select_objects -add [all_fanin -trace_arcs all -flat $ENDPOINT]
show_schematic -name schem1 -regenerate -pin_pairs [get_selected_objects]

 

 

However, as expected when using the all_fanin command, it includes a lot more cells than just those directly in the path between the start and end point.  The following schematic is intentionally zoomed out to obscure design details, but illustrates what I'm talking about.  

2020-03-25_104547.jpg

I manually selected the starting point register, ending point SRL, and nets and two LUTs in between in the image above.  

I'm trying to figure out the Tcl commands to generate a schematic of ONLY the highlighted elements above.

 

0 Kudos
kriskoorndyk
Observer
Observer
966 Views
Registered: ‎04-24-2019

I think I figured out a solution.

show_schematic -name schem1 [get_timing_paths -from [get_pins $STARTPOINT] -to [get_pins $ENDPOINT]]


 Manually selecting the start point and end point cells to highlight them in the schematic:

2020-03-26_104519.jpg

 

View solution in original post

0 Kudos