Vitis Analyzer GUI and Window Manager

As shown below, the Vitis™ analyzer workspace is arranged into three views, which includes the Report Navigator, Reports, and the Source Code view. The different views can be opened, closed, and rearranged as needed.

Figure 1: Vitis Analyzer Workspace
Report Navigator
On the left side, this view lists all open summary files and associated reports. You can use this view to quickly find and open a report. In the figure above you can see the Link Summary is opened, and the Compile Summary is contained within it, and all their related reports are listed in the Report Navigator.

When you click any file in Report Navigator, it opens as a new tab in the Report view. Opening a file adds a green dot next to the report name in Report Navigator to let you quickly determine if a report is already open in the tool.

TIP: You can right-click the Compile Summary file to Open HLS Project, or right-click the Link Summary or Run Summary to Open Vivado Project if needed. The Vivado project cannot be opened for the Software Emulation build.
Reports
The center area displays the contents of the summary files and open reports. You can have multiple reports open in the Reports view, and quickly change from one report to another by selecting the window tab at the top of the view.

All the reports related to the Compile Summary, Link Summary, or Run Summary are grouped together within a single container. You can arrange the reports for a container in different ways, using the New Horizontal Group, New Vertical Group, or Float commands for the reports in a container. Multiple Summary reports can be opened and the contents managed as collections.

Reports that are currently opened in Vitis analyzer will display an "out-of-date" banner if the summary files or reports have been updated on the disk, due to recompiling or rerunning the application for instance. You can keep working in the open report, or reload the updated files.

Source Code
The optional Source Code view is opened on the right side of the workspace. This lets you view and edit kernel source code, based on feedback from the System Guidance report for instance. You can open the Source Code window by selecting a link in the Guidance report, or by right-clicking the Compile Summary in the Report Navigator and clicking Open Source.
Global Search
Vitis analyzer provides a search field next to the Help command in the main menu at the top of the display. You can use it to search the loaded Summary, associated reports, and source files. The search dialog box provides options to limit the scope of the search of the search terms, as shown in the following figure.
Figure 2: Global Search

The Report Navigator and Source Code views can be collapsed by clicking the Minimize button in the toolbar, and restored by clicking the tab for the collapsed view.

To close all the open source code views, select the File > Close All Sources command.

To close all the open reports associated with a Summary report, such as the Link Summary, right-click the Summary in the Report Navigator view and select Close Tabs. This closes all open reports associated with the summary in the Report view.

To close a Summary file, such as the Link Summary, right-click the file in the Report Navigator area and select Close File. Closing the Summary file closes all associated reports and files. Therefore, closing the Link Summary also ends the Compile Summary for the build.

To close all files displayed in the Report Navigator select the File > Close All Files command. This returns Vitis analyzer to the home screen.

Diff Two Text Files

The Vitis analyzer lets you compare two reports of the same type. This opens a report window similar to the one shown below.

Figure 3: Compare Text Files

The text-based comparison reports include:

  • Kernel estimate
  • System estimate
  • Timing summary
  • Log files

To compare reports, you must have two of the same type of reports listed in the Report Navigator window, or opened in the Reports view. Right-click a supported report in the Report Navigator, or in the Report view, and select the Diff with > command. This command lets you specify another report of the same type to compare with the currently selected report.

Diff Two Timeline Trace Reports

Vitis analyzer provides the capability of comparing one Timeline Trace report with another, when multiple Timeline Trace reports are available. In an open Timeline Trace report click theCompare link in the report toolbar menu to display a drop-down list of other Timeline Trace reports which can be compared with the current report. Vitis analyzer synchronizes the timelines with each other, as shown in the following figure, and when you scroll horizontally in one trace window both trace reports are scrolled together.

TIP: You can also right-click the Timeline Trace report listed in the Report Navigator pane on the left and select the Compare to command, which is enabled when there are multiple timelines to compare.

Events in the Timeline reports can be triggered at different times between the two different application runs. You can use the Time offset option report toolbar menu, as shown in the figure above, to synchronize the cursors in both windows so that a visual comparison can be carried out. When you zoom in or zoom out in the top trace window, the bottom window also zooms in or zooms out automatically.

As you can see in the figure, for the same time duration there are more Kernel Enqueues in the lower timeline trace compared to the upper timeline. There are also more Data transfer buffers on Read/Write in the lower timeline trace compared to the upper timeline. These visualizations help you compare the density of the transfer in both traces, for example, the distance between each enqueues is much smaller in the bottom timeline trace and the compute time of each enqueue is also smaller.

You can click the Filter command on the top right to specify the elements to show in each timeline. This allows you to limit the information displayed in the Timeline Trace reports, and lets you focus on the information you are interested in for comparison.

Cross-Probing between Reports

The Vitis analyzer supports a variety of selectable objects within different reports and views:

Compute Units (CU)
Selectable in the System Diagram and associated Compute Units table. Selecting the kernel selects associated compute units and vice versa. The CU is found in the Utilization report, the Profile Summary, the Application Timeline, and the Waveform view.
CU ports
Selectable in the System Diagram.
Kernels
Selectable in the System Diagram and associated Kernels table. Note that selecting the kernel also selects the CUs and vice versa. Kernels are found in the Link Summary, Utilization report, System Guidance (under Accelerators), Profile Summary, and the Waveform view.
Kernel ports
Selectable in the System Diagram.
Function arguments
Selectable the System Diagram and Kernels table.
AXI interconnects
Selectable in the System Diagram. This selects all connections to a memory bank.
AXI ports
Selectable in the System Diagram. These are "flattened", for example, they are the same for all kernels. Shown in the Profile Summary, and the Waveform view (data transfers).
Memory resources
Selectable in the Platform and System Diagrams, and associated Memories table. Shown in the Profile Summary (data transfers: kernels to global memory).
Host CPU
Selectable in the Platform and System Diagrams.
Figure 4: Cross-Probing Reports

The Vitis analyzer supports cross-probing between reports, such as within the System Diagram and from the Guidance View to other views. The Guidance view will provide an actionable resolution for a violation reported, and you can use cross-probing from the violation to quickly navigate to other reports and views.

Cross-probing can be bidirectional or unidirectional, depending on the report. The Guidance report lets you select objects in other reports, but does not support cross-probing from other reports or views.

  • Bidirectional cross-probing between the System Diagram and Profile Summary report. Selecting a kernel, compute unit or compute unit port in one selects it in the other. Selecting a kernel also selects associated CUs in the reports.
  • Unidirectional cross-probing from the Guidance to the System Diagram and Profile Summary report. The Details column of the guidance report displays hyperlinks that correspond to design objects such as kernels, CUs, etc.
    • Clicking a kernel, compute unit, or compute unit port hyperlink in Guidance selects it in the System Diagram and Profile Summary.
    • Clicking a memory or kernel argument hyperlink selects it in the System Diagram, but not the Profile Summary.
    • Clicking a kernel port hyperlink in Guidance selects a CU port in the System Diagram.
    • In some cases, the Details column displays a hyperlink for a value, for example, 82.601%.
      • Clicking a value hyperlink selects the corresponding design object and navigates to the associated section in the Profile Summary report.
      • If the report is already open but is hidden behind another tab, it will be brought to the front.
      • If the report is not open, clicking a value hyperlink will open the report.
    • Guidance hyperlinks also have tooltips explaining what the click action does.
    • Additionally, selecting other objects such as the host, memories, AXI interconnects, and kernel arguments in the System Diagram does not cross-probe to the Profile Summary because the report does not represent these as selectable objects.