While running emulation, you can specify a number of profile options as
described in Enabling Profiling in Your Application to capture design data
during runtime. Any reports generated during the run are collected into the xrt.run_summary file. This collection of reports can be
viewed by opening the run_summary in Vitis analyzer, and
includes a Summary report,
System and
Platform Diagrams to
illustrate the hardware design, Run
Guidance offering any suggestions for improving the performance
of the system, and a Profile
Summary and Timeline
Trace when enabled in the xrt.ini file during runtime. Refer to
Working with the
Analysis View (Vitis Analyzer) in the Vitis Reference Guide
(UG1702) for additional
information.
The following table shows some specific techniques for debugging different scenarios in hardware emulation.
| Debug Focus | Description | Steps |
|---|---|---|
| x86 host (XRT) | Enable detailed XRT logs by updating xrt.ini. |
Add the following to xrt.ini file. Run the test case with the updated xrt.ini. Review the generated xrt_hal.log.
|
| AXI traffic on SystemC models like AI Engine, NOC, CIPS |
The host transactions are routed through If PL is RTL, then boundary of PL can be viewed in waveform. |
In xrt.ini add,
View file xsc_report.log. |
| Viewing DDR memory content |
The DDR model saves its contents in a binary file. In the folder where simulation is run (package.hw_emu/sim/behav_waveform/xsim dir), look for files named like below. Each such binary file corresponds to a region of DDR memory at a particular offset.
These files represent DDR/LPDDR memory contents in binary form. There is a backdoor connection between QEMU to NOC_DDR model. Thus, users will not see any transactions in the waveform nor will they see any logs. The shared memory is directly updated. To view memory contents, users can directly dump the memory contents. |
The contents of the memory can be seen by using
|
| PS (QEMU) | During firmware and software execution, the Arm APU can run into issues. You see details of various transactions and state on PS using these mechanisms. |
|
| AI Engine | PDI is downloaded from PS to AI Engine through fast mode, thus transactions cannot be seen in the waveform. Users can enable logging all transactions at AI Engine AXI interfaces. There is a separate file per AXI interface |
|
| Dumping Waveform in DC flow (Batch Mode) |
Make sure the design is linked with the Dump the waveform and open it in xsim along with saved .wcfg file |
Update following options in xrt.ini option
Pre-simulation script is needed to enable signal
dumping:
|