Hardware/Software Event Tracing

The systems produced by the SDSoC™ Environment are high-performance and complex, hardware and software. It can be difficult to understand the execution of applications in such systems with portions of software running in a processor, hardware accelerators executing in the programmable fabric, and many simultaneous data transfers occurring. Through the use of event tracing, the SDSoC Environment tracing feature provides to you a detailed view of what is happening in the system during the execution of an application.

This detailed view can help you understand the performance of your application given the workload, hardware/software partitioning, and system design choices. Such information helps you to optimize and improve system implementation. This view enables event tracing of software running on the processor, as well as hardware accelerators and data transfer links in the system. Trace events are produced and gathered into a timeline view, showing you a detailed perspective unavailable anywhere else about how their application executes.

Tracing an application produces a log that records information about system execution. Compared to event logging, event tracing provides correlation between events for a duration of time (where events have a duration, rather than an instantaneous event at a particular time). The goal of tracing is to help debug execution by observing what happened when, and how long events took. Tracing shows the performance of execution with more granularity than overall runtime.

All possible trace points are included automatically, including the standard HLS-produced hardware accelerators, AXI4-Stream interfaces that serve data to or from an accelerator core, and the accelerator control code in software (stub code). See the SDx Pragma Reference Guide (UG1253) for more information.

As with application debugging, for event tracing, you must connect a board to the host PC using JTAG.

Also, execute the application using the SDSoC GUI from the host using a debug or run configuration.