Agilex™ 5 ES Device Errata and User Guidelines

ID 825514
Date 12/09/2024
Public
Document Table of Contents

3.3.1. 1991599: ETF flush may not complete and cause data corruption

Description

This erratum affects the following components:

  • Trace Memory Controller
  • css600_tmc in ETF configuration (css600_tmc_etf)
  • Component Revisions: r0p0, r0p1, r0p2, r0p3, r0p4

The Trace Memory Controller Embedded Trace FIFO (ETF) configuration has an ATB master interface which supports flushing.

With this erratum the ETF may stall the ATB master interface indefinitely, and may corrupt one ATB master sample on either or both atid_m and atdata_m outputs.

Conditions

ETF hardware configuration with:

  • ATB_DATA_WIDTH=64 or ATB_DATA_WIDTH=128

The following sequence of events:

  • The ETF is operating in Hardware FIFO mode.
  • The ETF contains some ATB data.
  • A flush is requested on the ETF master interface (by a component downstream).
  • The ETF requests a flush on the slave interface, and the flush completes.
  • Data is read from the ETF master interface on two or more consecutive clock cycles (atready_m is high for 2 or more consecutive cycles).

Impact

  • Without further ATB traffic on the ATB slave interface the flush is not terminated on the ATB master interface.
  • Components downstream of the ETF are stalled, waiting for the flush to complete.
  • Corrupted data or id values may cause incorrect or misleading behavior in debug tools.

Workaround

Software

  • Do not request a flush from a component downstream of the ATB master interface.
  • If trace capture is controlled directly by a debugger or debug-agent software, flush trace data through the ATB trace network from the top downwards, from trace sources to trace sink(s).
  • If trace capture is stopped automatically by the on-chip hardware due to a trigger, ensure that the stop condition does not cause a flush request. In this scenario you might not capture all the data you wanted because the ATB network is not flushed.

Hardware

There is no hardware workaround.

Category

Category B