7.10.4. A-sync, alignment synchronization

Periodically a sequence of five or more A-sync P-headers, b0000 0000, are output, followed by the binary value b1000 0000. This is equivalent to a string of 47 or more 0 bits followed by a 1.

To synchronize, the decompressor must search for this sequence, that cannot occur in any other way. While trace capture devices are usually byte-aligned, this might not be the case for sub-byte ports. Therefore the decompressor must realign all data following the A-sync sequence if required.

The next byte is a header, that can be of any type.

For example, in a byte-aligned system, an A-sync sequence followed by a single E P-header might be represented, in hexadecimal bytes, as 00 00 00 00 00 80 84. However, the same sequence offset by 1 bit, from capture from a 1-bit port, might be represented, in hexadecimal bytes, as 01 00 00 00 00 40 42. This does not occur if the trace capture device is completely accurate over the course of the trace run. However, if it captures one cycle incorrectly, either capturing an extra cycle or missing one out because of instability on the TRACECTL signal then all subsequent captures are offset. By accommodating for the new alignment in each byte, the error can be localized.


The trace is normally byte-aligned if any of the following are true:

  • The width of TRACEDATA is a multiple of 8 bits, that is, not a 4-bit port.

  • The trace is embedded in the CoreSight formatting protocol.

  • The trace port was inactive when the trace capture device was connected, and there have been no errors in the capture.

Loss of byte alignment is rare, and most decompressors are slower at decompressing misaligned trace. However, all decompressors must be able to cope with misaligned trace.

The A-sync packet is output in the trace stream when required and the generation of other packets does not affect it. This means that it can be output even when TraceEnable is LOW.

Copyright © 1999-2002, 2004-2009, 2011 ARM Limited. All rights reserved.ARM IHI 0014Q