| |||
| Home > Trace Capture > Designing your trace system > Using additional buffers in trace systems | |||
Adding supplemental FIFOs within a trace system can help to alleviate narrowing of bandwidths across a system and reducing the risk of losing trace data. Although trace sources are designed with FIFOs to mitigate the large burst nature, there are still situations when the ATB bandwidth can limit the amount of information that can be traced.
periods of heavy trace data generation from a trace source
sustained coincident periods of trace data generation from multiple trace sources
constrained size Trace Ports
trace sinks with inconsistent bandwidths such as those interacting with a memory system for storage.
You can use a trace link component that has a large FIFO, such as the ETF that uses an SRAM for data storage, to compensate for differing bandwidth specification of devices on the inputs and output of the link. The FIFO enables for averaging of the ATB activity over larger periods of time than would be practical within a trace source, either by sharing the resources of a large buffer or because the conditions for it are not applicable in all ASICs where the trace source is implemented.
The following areas exist where an ETF can be fitted to reduce the effects that can cause loss of data:
after a high-bandwidth trace source, such as an ETM, to reduce the effects of arbitration with other trace data streams
after a low-bandwidth trace source that is being used more frequently to avoid the risk of FIFO overflow during peak periods of activity
additionally, after devices such as the STM that can cause back-pressure on the memory system during periods of high sustained use
before a trace sink with a guaranteed average bandwidth that is lower than the peak bandwidth of the ATB, such as a TPIU with a Trace Port less than the size of the ATB interconnect or operating at a frequency of the ATB
before a trace sink that stores trace data in bursts of data, such as an ETR when it is arbitrating with other bus systems on a high-bandwidth interconnect.
Figure 5.5 shows four potential locations for fitting an ETF in a trace system. In such a system, not all the ETFs have to be fitted depending on the constraints of the ATB interfaces for the trace sinks and trace sources.
An ETF with a large amount of SRAM are not going to solve all situations where FIFO overflows occur. Restrictions in bandwidth when crossing asynchronous boundaries and widths of ATB can alter the characteristics of the ATB before and after the change in bandwidth. For example, if an ETF is fitted after an ETM, to absorb large quantities of trace data produced during data-value trace, if the ATB interface is running significantly slower that the of the core, then the trace source is still liable to overflow as the bandwidth from the output of the ETM's internal FIFO is restricted between the ETM and ETF to enable the trace data to drain from the FIFO before more data is internally created.