Related Information
Lauterbach.com
For more information, refer to the Lauterbach GmbH website.
2.7.6.1. Execution vs. Data Trace
The JTAG debug module supports tracing the instruction bus (execution trace), the
data bus (data trace), or both simultaneously. Execution trace records only the
addresses of the instructions executed, enabling you to analyze where in memory
(that is, in which functions) code executed. Data trace records the data associated
with each load and store operation on the data bus.
The JTAG debug module can filter the data bus trace in real time to capture the
following:
•
Load addresses only
•
Store addresses only
•
Both load and store addresses
•
Load data only
•
Load address and data
•
Store address and data
•
Address and data for both loads and stores
•
Single sample of the data bus upon trigger event
2.7.6.2. Trace Frames
A frame is a unit of memory allocated for collecting trace data. However, a frame is
not an absolute measure of the trace depth.
To keep pace with the processor executing in real time, execution trace is optimized to
store only selected addresses, such as branches, calls, traps, and interrupts. From
these addresses, host-side debug software can later reconstruct an exact instruction-
by-instruction execution trace. Furthermore, execution trace data is stored in a
compressed format, such that one frame represents more than one instruction. As a
result of these optimizations, the actual start and stop points for trace collection
during execution might vary slightly from the user-specified start and stop points.
Data trace stores 100% of requested loads and stores to the trace buffer in real time.
When storing to the trace buffer, data trace frames have lower priority than execution
trace frames. Therefore, while data frames are always stored in chronological order,
execution and data trace are not guaranteed to be exactly synchronized with each
other.
2.8. Processor Architecture Revision History
Document
Version
Changes
2018.04.18
Implemented editorial enhancements.
2016.10.28
Maintenance release.
2015.04.02
Initial release
2. Processor Architecture
NII-PRG | 2018.04.18
Nios II Processor Reference Guide
35