| |||
| Home > Protocol Details > Bandwidth limitations | |||
In theory, the HTM can generate more than four words of trace information per cycle, but the ATB interface can only output one word per cycle in its maximum performance. Therefore it is easy to overflow the FIFO if too many transactions are traced. To avoid FIFO overflow, it is recommended that you only trace useful data accesses. Instruction executions must be traced with an ETM.
In a typical debug environment, an HTM is useful for:
tracking accesses to a peripheral
checking memory mapping with a small number of transfers
monitoring accesses to small memory regions
bus profiling (this uses only an auxiliary packet, with a maximum of 2 bytes per cycle).
The amount of information you can trace depends on the ATB bandwidth. A number of factors can affect the maximum bandwidth of the ATB bus:
ATB bus frequency
bandwidth sharing with other trace sources
TPIU data port width.
If the trace has been unsuccessful because of FIFO overflow, you can solve this situation by reducing the amount of trace packets generated by:
setting up better trace filtering rules
using trace resources so that only useful information is traced and trace does not start until it is required
disabling unnecessary packet types, for example, CycleCount
increasing the ATB clock frequency
increasing the TPIU data width if possible
reducing the amount of trace data generated from other trace sources
if it is necessary to trace instruction accesses, only enable the address packet generation.
During the system design stage, you can improve the trace capability by:
using a wide TPIU data port width.
including ETB in the design
using a higher ATB clock frequency.