IHI0032C Amba Atb Protocol Spec
IHI0032C Amba Atb Protocol Spec
Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved.
ARM IHI 0032C (ID120321)
AMBA ATB Protocol Specification
Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved.
Release Information
Change history
Proprietary Notice
This document is NON-CONFIDENTIAL and any use by you is subject to the terms of this notice and the Arm AMBA
Specification Licence set about below.
This document is protected by copyright and other related rights and the practice or implementation of the information contained
in this document may be protected by one or more patents or pending patent applications. No part of this document may be
reproduced in any form by any means without the express prior written permission of Arm. No license, express or implied, by
estoppel or otherwise to any intellectual property rights is granted by this document unless specifically stated.
Your access to the information in this document is conditional upon your acceptance that you will not use or permit others to use
the information for the purposes of determining whether implementations infringe any third party patents.
THIS DOCUMENT IS PROVIDED "AS IS". ARM PROVIDES NO REPRESENTATIONS AND NO WARRANTIES,
EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT OR FITNESS FOR A PARTICULAR
PURPOSE WITH RESPECT TO THE DOCUMENT. For the avoidance of doubt, Arm makes no representation with respect to,
and has undertaken no analysis to identify or understand the scope and content of, patents, copyrights, trade secrets, or other rights.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY DAMAGES,
INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE, OR
CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING
OUT OF ANY USE OF THIS DOCUMENT, EVEN IF ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
This document consists solely of commercial items. You shall be responsible for ensuring that any use, duplication or disclosure
of this document complies fully with any relevant export laws and regulations to assure that this document or any portion thereof
is not exported, directly or indirectly, in violation of such export laws. Use of the word "partner" in reference to Arm's customers
is not intended to create or refer to any partnership relationship with any other company. Arm may make changes to this document
at any time and without notice.
This document may be translated into other languages for convenience, and you agree that if there is any conflict between the
English version of this document and any translation, the terms of the English version of the Agreement shall prevail.
The Arm corporate logo and words marked with ® or ™ are registered trademarks or trademarks of Arm Limited (or its
subsidiaries) in the US and/or elsewhere. All rights reserved. Other brands and names mentioned in this document may be the
trademarks of their respective owners. Please follow Arm's trademark usage guidelines at
http://www.arm.com/company/policies/trademarks.
Copyright © 2014, 2017-2021 Arm Limited (or its affiliates). All rights reserved.
ii Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. ARM IHI 0032C
Non-Confidential ID120321
AMBA SPECIFICATION LICENCE
THIS END USER LICENCE AGREEMENT ("LICENCE") IS A LEGAL AGREEMENT BETWEEN YOU (EITHER A
SINGLE INDIVIDUAL, OR SINGLE LEGAL ENTITY) AND ARM LIMITED ("ARM") FOR THE USE OF ARM'S
INTELLECTUAL PROPERTY (INCLUDING, WITHOUT LIMITATION, ANY COPYRIGHT) IN THE RELEVANT AMBA
SPECIFICATION ACCOMPANYING THIS LICENCE. ARM LICENSES THE RELEVANT AMBA SPECIFICATION TO
YOU ON CONDITION THAT YOU ACCEPT ALL OF THE TERMS IN THIS LICENCE. BY CLICKING "I AGREE" OR
OTHERWISE USING OR COPYING THE RELEVANT AMBA SPECIFICATION YOU INDICATE THAT YOU AGREE TO
BE BOUND BY ALL THE TERMS OF THIS LICENCE.
"Subsidiary" means, if You are a single entity, any company the majority of whose voting shares is now or hereafter owned or
controlled, directly or indirectly, by You. A company shall be a Subsidiary only for the period during which such control exists.
1. Subject to the provisions of Clauses 2, 3 and 4, Arm hereby grants to LICENSEE a perpetual, non-exclusive,
non-transferable, royalty free, worldwide licence to:
(i) use and copy the relevant AMBA Specification for the purpose of developing and having developed products
that comply with the relevant AMBA Specification;
(ii) manufacture and have manufactured products which either: (a) have been created by or for LICENSEE under
the licence granted in Clause 1(i); or (b) incorporate a product(s) which has been created by a third party(s)
under a licence granted by Arm in Clause 1(i) of such third party's AMBA Specification Licence; and
(iii) offer to sell, sell, supply or otherwise distribute products which have either been (a) created by or for
LICENSEE under the licence granted in Clause 1(i); or (b) manufactured by or for LICENSEE under the
licence granted in Clause 1(ii).
2. LICENSEE hereby agrees that the licence granted in Clause 1 is subject to the following restrictions:
(i) where a product created under Clause 1(i) is an integrated circuit which includes a CPU then either: (a) such
CPU shall only be manufactured under licence from Arm; or (b) such CPU is neither substantially compliant
with nor marketed as being compliant with the Arm instruction sets licensed by Arm from time to time;
(ii) the licences granted in Clause 1(iii) shall not extend to any portion or function of a product that is not itself
compliant with part of the relevant AMBA Specification; and
(iii) no right is granted to LICENSEE to sublicense the rights granted to LICENSEE under this Agreement.
3. Except as specifically licensed in accordance with Clause 1, LICENSEE acquires no right, title or interest in any Arm
technology or any intellectual property embodied therein. In no event shall the licences granted in accordance with Clause
1 be construed as granting LICENSEE, expressly or by implication, estoppel or otherwise, a licence to use any Arm
technology except the relevant AMBA Specification.
6. No licence, express, implied or otherwise, is granted to LICENSEE, under the provisions of Clause 1, to use the Arm
tradename, or AMBA trademark in connection with the relevant AMBA Specification or any products based thereon.
Nothing in Clause 1 shall be construed as authority for LICENSEE to make any representations on behalf of Arm in respect
of the relevant AMBA Specification.
7. This Licence shall remain in force until terminated by you or by Arm. Without prejudice to any of its other rights if
LICENSEE is in breach of any of the terms and conditions of this Licence then Arm may terminate this Licence
immediately upon giving written notice to You. You may terminate this Licence at any time. Upon expiry or termination
ARM IHI 0032C Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. iii
ID120321 Non-Confidential
of this Licence by You or by Arm LICENSEE shall stop using the relevant AMBA Specification and destroy all copies of
the relevant AMBA Specification in your possession together with all documentation and related materials. Upon expiry
or termination of this Licence, the provisions of clauses 6 and 7 shall survive.
8. The validity, construction and performance of this Agreement shall be governed by English Law.
Confidentiality Status
This document is Non-Confidential. The right to use, copy and disclose this document may be subject to license restrictions in
accordance with the terms of the agreement entered into by Arm and the party that Arm delivered this document to.
Product Status
Web Address
http://www.arm.com
iv Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. ARM IHI 0032C
Non-Confidential ID120321
Contents
AMBA ATB Protocol Specification
Preface
About this book ......................................................................................................... viii
Using this book ........................................................................................................... ix
Conventions ................................................................................................................ x
Additional reading ...................................................................................................... xii
Feedback .................................................................................................................. xiii
Chapter 01 Introduction
1.1 About the ATB protocol .......................................................................................... 1-16
1.2 About the ATB interface ......................................................................................... 1-17
ARM IHI 0032C Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. v
ID120321 Non-Confidential
Chapter 06 Wake-up signaling
6.1 Introduction ............................................................................................................ 6-42
6.2 ATWAKEUP signaling ............................................................................................ 6-43
Appendix B Revisions
Glossary
vi Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. ARM IHI 0032C
Non-Confidential ID120321
Preface
This preface introduces the Advanced Microcontroller Bus Architecture (AMBA) Advanced Trace Bus (ATB). It
contains the following sections:
• About this book on page viii
• Using this book on page ix
• Conventions on page x
• Additional reading on page xii
• Feedback on page xiii
ARM IHI 0032C Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. vii
ID120321 Non-Confidential
Preface
About this book
Intended audience
This specification is written for the following target audience:
• Engineers who are familiar with Arm architecture.
• Hardware engineers integrating ATB protocol-compliant components into a design.
• Hardware engineers designing ATB protocol-compliant components.
• Advanced users of development tools that provide support for ATB protocol functionality.
This specification does not document the behavior of individual components unless they form a fundamental part
of the architecture.
viii Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. ARM IHI 0032C
Non-Confidential ID120321
Preface
Using this book
Chapter 1 Introduction
Read this chapter for an overview of the protocol and its interface.
Appendix B Revisions
Read this for a description of the technical changes between released issues of this book.
Glossary
Read this for definitions of some terms used in this book. The glossary does not contain terms that
are industry standard unless the Arm meaning differs from the generally accepted meaning.
ARM IHI 0032C Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. ix
ID120321 Non-Confidential
Preface
Conventions
Conventions
The following sections describe conventions that this book can use:
• Typographic conventions
• Signal naming
• Timing diagrams on page x
• Numbers on page xi
Typographic conventions
The typographical conventions are:
italic
Introduces special terminology, denotes internal cross-references and citations, or highlights an
important note.
bold
Denotes signal names, and is used for terms in descriptive lists, where appropriate.
monospace
Used for assembler syntax descriptions, pseudocode, and source code examples.
Also used in the main text for instruction mnemonics and for references to other items appearing in
assembler syntax descriptions, pseudocode, and source code examples.
SMALL CAPITALS
Signal naming
The level of an asserted signal depends on whether the signal is active-HIGH or active-LOW. Asserted means HIGH
for active-HIGH signals and LOW for active-LOW signals:
Prefix A Denotes AMBA 3 Advanced eXtensible Interface (AXI) interface global and address channel
signals.
Prefix n Denotes active-LOW signals except in the case of AHB, Advanced Peripheral Bus (APB), or ATB
interface reset signals. These are named HRESETn, PRESETn, and ATRESETn respectively.
Timing diagrams
The components used in timing diagrams are explained in the figure Key to timing diagram conventions. Variations
have clear labels, when they occur. Do not assume any timing information that is not explicit in the diagrams.
x Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. ARM IHI 0032C
Non-Confidential ID120321
Preface
Conventions
Shaded bus and signal areas are undefined, so the bus or signal can assume any value within the shaded area at that
time. The actual level is unimportant and does not affect normal operation.
Clock
HIGH to LOW
Transient
HIGH/LOW to HIGH
Bus stable
Bus change
Timing diagrams sometimes show single-bit signals as HIGH and LOW at the same time and they look similar to
the bus change shown in Key to timing diagram conventions. If a timing diagram shows a single-bit signal in this
way then its value does not affect the accompanying description.
Numbers
Numbers are normally written in decimal. Binary numbers are preceded by 0b, and hexadecimal numbers by 0x. In
both cases, the prefix and the associated value are written in a monospace font, for example 0xFFFF0000.
ARM IHI 0032C Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. xi
ID120321 Non-Confidential
Preface
Additional reading
Additional reading
This section lists relevant publications from Arm.
Arm publications
This book contains information that is specific to the ATB protocol. See the following documents for other relevant
information:
• AMBA AXI and ACE-Lite Protocol Specification (ARM IHI 0022).
• AMBA AHB Protocol Specification (ARM IHI 0033)
• AMBA APB Protocol Specification (ARM IHI 0024)
xii Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. ARM IHI 0032C
Non-Confidential ID120321
Preface
Feedback
Feedback
Arm welcomes feedback on its documentation.
Previous issues of this document included terms that can be offensive. We have replaced these terms. If you find
offensive terms in this document, please contact [email protected].
ARM IHI 0032C Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. xiii
ID120321 Non-Confidential
Preface
Feedback
xiv Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. ARM IHI 0032C
Non-Confidential ID120321
Chapter 1
Introduction
This chapter introduces the ATB protocol. It contains the following sections:
• About the ATB protocol on page 1-16
• About the ATB interface on page 1-17
ARM IHI 0032C Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. 1-15
ID120321 Non-Confidential
Introduction
1.1 About the ATB protocol
The ATB protocol defines how trace information transfers between components in a trace system. ATB is a common
bus used by trace components to pass format-independent trace data through a CoreSight system.
A trace component or platform that has trace capabilities requires an ATB interface. The ATB interfaces are
designated by either:
Transmitter An interface that generates trace data onto the ATB bus.
Receiver An interface that receives trace data from the ATB bus.
1-16 Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. ARM IHI 0032C
Non-Confidential ID120321
Introduction
1.2 About the ATB interface
Figure 1-1 shows the general relationships between the ATB and associated components.
HTM
xTM
ATB
ATB
Trace
funnel
ATB
Trace
replicator
ATB
ATB
ETB
TPIU
Trace
port
Trace funnel
This combines multiple trace sources onto a single bus.
Trace replicator
This replicates a single ATB Receiver interface into two independent ATB Transmitters.
ARM IHI 0032C Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. 1-17
ID120321 Non-Confidential
Introduction
1.2 About the ATB interface
Between the trace sources and the sinks, there can be trace links that help manage the passage of data over ATB
interfaces, such as the trace funnel and trace replicator.
The trace sources generate ATB data traffic that can be managed by trace links on the ATB path. Trace links can
re-transmit information to the trace sinks. Trace sinks act as the receivers of the trace data generated by the trace
sources.
Typically, a trace sink can request a flush of the trace structure to ensure all trace data, up to a particular time, has
been received. These flush requests propagate back up the ATB system from the trace sinks towards the trace
sources. On receiving a flush request, a trace source marks all data that occurred before the flush request, and
indicates completion when it has output all of this data. Any trace link in the ATB system must:
• Pass flush requests up to its connected trace sources.
• Ensure that it acknowledges flush completion only after all connected trace sources have acknowledged
completion.
1-18 Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. ARM IHI 0032C
Non-Confidential ID120321
Chapter 2
Signal Descriptions
This chapter describes the ATB interface signals and signaling rules. It contains the following section:
• ATB signals on page 2-20
ARM IHI 0032C Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. 2-19
ID120321 Non-Confidential
Signal Descriptions
2.1 ATB signals
The tables in the following sections include a clamp value of the signal when the component is powered down or
disabled.
ATRESETn Input Input ATB interface reset, active LOW. This signal is asserted LOW asynchronously, and
deasserted HIGH synchronously.
ATBYTES[m:0] a Output Input LOW The number of bytes on ATDATA to be captured, minus 1.
ATID[6:0] Output Input LOW An ID that uniquely identifies the source of the trace. See
ATIDs on page 4-30.
ATREADY Input Output HIGH The Receiver is ready to accept data. See Chapter 3 Flow
Control.
ATVALID Output Input LOW A transfer is valid during this cycle. If LOW, all other AT
signals must be ignored. See Chapter 3 Flow Control.
a. Relationship between ATDATA and ATBYTES on page 3-26 explains the relationship between the values of m and n.
2-20 Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. ARM IHI 0032C
Non-Confidential ID120321
Signal Descriptions
2.1 ATB signals
AFVALID Input Output LOW The flush signal to indicate that all buffers must be flushed because
trace capture is about to stop. See Buffer flush on page 4-31.
AFREADY Output Input HIGH The flush acknowledge to indicate that buffers have been flushed.
See Buffer flush on page 4-31.
SYNCREQ Input Output LOW The synchronization request signal to request the insertion of
synchronization information in the trace stream. See Buffer flush
on page 4-31.
ATWAKEUP Input Output The wake-up signal indicating any activity associated with an ATB
interface. See Chapter 6 Wake-up signaling.
ARM IHI 0032C Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. 2-21
ID120321 Non-Confidential
Signal Descriptions
2.1 ATB signals
2-22 Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. ARM IHI 0032C
Non-Confidential ID120321
Chapter 3
Flow Control
This chapter describes the ATB protocol flow control which uses the ATVALID and ATREADY signals and shows
the interconnection of a Transmitter and a Receiver. It contains the following sections:
• About flow control on page 3-24
• ATB connections and flow control signaling on page 3-25
ARM IHI 0032C Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. 3-23
ID120321 Non-Confidential
Flow Control
3.1 About flow control
The source generates the ATVALID signal to indicate when the data or control information is available.
The destination generates the ATREADY signal to indicate that it accepts the data or control information.
Transfer of data occurs only when both the ATVALID and ATREADY signals are HIGH.
3-24 Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. ARM IHI 0032C
Non-Confidential ID120321
Flow Control
3.2 ATB connections and flow control signaling
ATCLK
ATCLKEN
ATRESETn
Global
signals
ATBYTES[m:0]
ATDATA[n:0]
Data
ATID[6:0] ATB
signals ATB
Transmitter ATREADY Receiver
ATVALID
Synchronization
SYNCREQ
request signal
ATVALID and ATREADY provide a handshake between the Transmitter and the Receiver, to indicate trace data
item availability:
• The Transmitter indicates that it has trace available to output by asserting ATVALID.
T0 T1 T2 T3 T4
ATCLK
ATDATA
A A B
ATBYTES
ATVALID
ATREADY
A trace source can only start driving ATVALID HIGH after ATRESETn has been HIGH at a rising edge of
ATCLK.
Although ATRESETn can be asserted LOW asynchronously, deassertion must be synchronous with a rising edge
of ATCLK.
ARM IHI 0032C Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. 3-25
ID120321 Non-Confidential
Flow Control
3.2 ATB connections and flow control signaling
If ATREADY is LOW and ATVALID is HIGH on a cycle, ATVALID, ATDATA, ATID, and ATBYTES must
retain the same value on the next cycle.
Table 3-1 shows the status indicated by the ATB signals at each of the ATCLK rising edges in Figure 3-2 on
page 3-25.
T2 Value A accepted
T3 Value B accepted
If an implementation of a Receiver cannot guarantee that it can respond with ATREADY during the same cycle that
ATVALID is asserted, then it is recommended that the Receiver implements sufficient internal buffering. This
internal buffering must be sufficient to store one or more cycles of trace. The Receiver can then assert ATREADY
when space is available in the buffer, even when ATVALID is not asserted.
The following sections describe the relationship between ATDATA and ATBYTES, and what happens if a
Transmitter or Receiver cannot respond:
• Relationship between ATDATA and ATBYTES
• Receiver unable to respond on page 3-27
• Transmitter unable to respond on page 3-27
Using this equation, Table 3-2 shows the relationship between ATBYTES[m:0] and ATDATA[n:0].
ATDATA[n:0] ATBYTES[m:0]
n = 15 m=0
n = 31 m=1
n = 63 m=2
n = 127 m=3
For example, if ATDATA is 32 bits wide (n=31), then ATBYTES is 2 bits wide (m=1).
If ATREADY and ATVALID are both HIGH, then the bottom bytes of ATDATA must be captured and the data
must be aligned to the least significant bit.
Note
• Zero bytes cannot be captured.
3-26 Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. ARM IHI 0032C
Non-Confidential ID120321
Flow Control
3.2 ATB connections and flow control signaling
Note
This ensures a replicator does not block because one of its two outputs is disabled.
ARM IHI 0032C Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. 3-27
ID120321 Non-Confidential
Flow Control
3.2 ATB connections and flow control signaling
3-28 Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. ARM IHI 0032C
Non-Confidential ID120321
Chapter 4
Other ATB Features
This chapter describes the features of the ATB specification that are outside the scope of Chapter 2 Signal
Descriptions and Chapter 3 Flow Control. It contains the following sections:
• ATIDs on page 4-30
• Buffer flush on page 4-31
• Signaling a trace trigger on page 4-34
• Synchronization request on page 4-35
ARM IHI 0032C Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. 4-29
ID120321 Non-Confidential
Other ATB Features
4.1 ATIDs
4.1 ATIDs
Trace data items are generated with separate IDs. These separate IDs can provide:
• Identification of high bandwidth and low bandwidth components of a trace so components downstream from
the trace source can perform selective filtering.
Note
The ATID values 0x00, 0x70-0x7C, 0x7E, and 0x7F are reserved for use by the CoreSight Architecture and must not
be used as ATB IDs.
There are two options to ensure different trace streams use unique ID values:
Fixed IDs
The IDs for all ATB interface sources are chosen when designing the system, and no ATB interfaces
are exported from the system.
Programmed IDs
The ID for each ATB interface source is programmable by the debugger, allowing components to
be reused in larger systems.
Reusable CoreSight components must implement Programmed IDs.
Implementations must ensure that the ATDATA value is captured at the same time as bytes on ATID are captured.
Although a CoreSight trace funnel can order trace from different sources in any order, when funneled onto a single
bus the order cannot be changed, see Buffer flush on page 4-31.
Note
This differs from the required ordering by ID signals in AXI interfaces, where ordering is preserved only between
transactions with the same ID.
4-30 Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. ARM IHI 0032C
Non-Confidential ID120321
Other ATB Features
4.2 Buffer flush
In a typical trace source, there is a fixed amount of time and number of pipeline stages between the occurrence of
an event to be traced and the trace generation for that event. An example of this is an instruction executed by the
processor. Figure 4-1 shows an example of a trace generation.
Trace source
Trace
Processor Trace
generation Output
funnel
FIFO
Contains data
When a trace data item is generated, it is written to a FIFO. Data is output from the FIFO consisting of a whole
dataword at a time. The width of the ATDATA bus defines the size of the dataword.
The period of time between the trace generation and output is, in theory, unlimited because the FIFO might never
receive enough trace data to fill a whole output dataword. An example of a possibly extended delay between
generation and output is when the trace source withholds output until it has a whole dataword of trace data available
for output.
In a system where data is output only when a whole dataword is available, there are various situations that might
require a buffer flush. For example:
• The system, or a portion of the system, is about to be powered down or its clock is about to be stopped.
Any trace remaining within buffers or FIFOs in trace sources must be output before powering down or
stopping the clock. Therefore, the AFVALID signal signals a flush. Normally, after signaling the flush, no
more trace is generated because processor and memory activity has stopped. If trace is generated after the
flush it can be ignored. An example of trace data generated after a flush is that from a processor idle loop.
• The trace capture device is about to stop capturing, usually because of a trigger point.
The trace capture device might be an off-chip Trace Port Analyzer (TPA) or an on-chip Embedded Trace
Buffer (ETB).
In this case the possibilities include:
— The on-chip logic is signaled that capture is about to stop.
A flush is issued at this point.
— The on-chip logic is signaled about the trigger but does not have any information about how much
additional trace is to be captured.
A flush can be issued at the point of the trigger. This ensures all trace generated before the trigger is
captured, but makes no difference to trace generated after the trigger.
— A flush is issued periodically.
The period defined for the flush must be chosen so that a flush always occurs between a trigger
occurring and the trace capture stopping.
When a flush occurs, indicated by AFVALID HIGH, the protocol expects that trace funnels give the
highest priority to trace sources that have not yet asserted AFREADY.
Note
• A flush sequence can not be canceled by a Receiver interface after it initiates. This means it cannot be
canceled by the trace sink.
• An implementation must ensure that ATB signals are sampled on the rising edge of ATCLK. The AFVALID
signal remains asserted until AFREADY is deasserted.
ARM IHI 0032C Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. 4-31
ID120321 Non-Confidential
Other ATB Features
4.2 Buffer flush
T0 T1 T2 T3 T4 T5 T6 T7
ATCLK
ATDATA
A B B C D E
ATBYTES
ATVALID
ATREADY
AFVALID
AFREADY
AFREADY is asserted when all trace generated at the time AFVALID was asserted has been output. This assertion
of AFREADY does not indicate that the FIFO is empty.
Trace, which is generated after AFVALID is asserted, is stored in the FIFO. This trace is then output after
AFREADY is asserted.
When AFVALID is asserted, the Transmitter must start outputting buffered trace immediately.
When the Transmitter asserts AFREADY, if an additional flush is not required, the Receiver must deassert
AFVALID on the following cycle.
When AFVALID is asserted, the Transmitter must assert AFREADY one cycle after the output data that was
buffered on the cycle in which AFVALID was first asserted. That is, it must assert AFREADY one cycle after it
has output the last of the data that the assertion of AFVALID required it to flush. For more information, see Buffer
flush on page 4-31.
Table 4-1 describes the events that occur during the ATB flush shown in Figure 4-2.
T2 Flushing begins.
T6 AFVALID deasserted.
0 - 1
1 0 0
1 1 1
4-32 Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. ARM IHI 0032C
Non-Confidential ID120321
Other ATB Features
4.2 Buffer flush
Figure 4-3 shows this AFREADY control for a Transmitter that does not store any trace locally.
T0 T1 T2 T3 T4 T5 T6
ATCLK
ATDATA
A B
ATBYTES
ATVALID
ATREADY
AFVALID
AFREADY
Table 4-3 describes the events that occur during the flush from a Transmitter that does not store any trace locally
shown in Figure 4-3.
Table 4-3 Events associated with flushing from a Transmitter that does not store trace locally
ARM IHI 0032C Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. 4-33
ID120321 Non-Confidential
Other ATB Features
4.3 Signaling a trace trigger
• ATBYTES indicates the number of trace triggers output in this cycle. It is recommended that, wherever
possible, only one trace trigger is generated at a time. In this case:
— There is only one byte of data.
— ATBYTES is zero.
• A trace source that uses ATID 0x10 for its ATB signaling can indicate a trigger on its ATB interface by
generating a byte of trace data with:
— ATID signaling 0x7D, indicating a trace trigger.
— ATBYTES signaling 0x0, indicating a single data byte.
— ATDATA signaling 0x10, indicating the trace source ID.
• A trace stream that uses ATIDs 0x10 and 0x12 can indicate simultaneous trace triggers on both trace sources
by generating two bytes of trace data with:
— ATID signaling 0x7D, indicating a trace trigger.
— ATBYTES signaling 0x1, indicating two data bytes.
— ATDATA signaling 0x1210, indicating the trace source IDs of 0x10 and 0x12.
4-34 Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. ARM IHI 0032C
Non-Confidential ID120321
Other ATB Features
4.4 Synchronization request
A Receiver signals a synchronization request to a Transmitter by asserting SYNCREQ HIGH for a single ATCLK
cycle.
Optionally, a Transmitter can implement a SYNCREQ input. This allows the Transmitter to recognize a
synchronization request from a Receiver when this input is asserted HIGH for a single ATCLK cycle.
The SYNCREQ signal is not related in any way to any other signal on the ATB interface. However, from ATB-B
(v1.1) onwards, the specification expects:
• Any trace link, such as a trace funnel, to pass an input synchronization request from an ATB Transmitter
interface to an upstream trace sources.
An enabled trace source must attempt to provide synchronization information in the trace stream once for each
synchronization request received. The trace source can:
• Delay outputting the synchronization information to avoid overflowing any internal buffers.
• Ignore a synchronization request that is received before the trace source has output the synchronization
information corresponding to a previous synchronization request.
An ATB Transmitter must be aware that a pulse on SYNCREQ might be received at any time, and must ensure it
is responsive to SYNCREQ when required.
ARM IHI 0032C Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. 4-35
ID120321 Non-Confidential
Other ATB Features
4.4 Synchronization request
4-36 Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. ARM IHI 0032C
Non-Confidential ID120321
Chapter 5
Interface Signaling Rules
This chapter describes the ATB interface signaling rules. It contains the following section:
• Interface signaling rules on page 5-38
ARM IHI 0032C Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. 5-37
ID120321 Non-Confidential
Interface Signaling Rules
5.1 Interface signaling rules
• If ATREADY is LOW and ATVALID is HIGH on a cycle, ATVALID, ATDATA, ATID, and ATBYTES
must retain the same value on the next cycle.
If ATVALID is LOW, ATREADY must be ignored.
• If ATREADY and ATVALID are HIGH, the bottom bytes of ATDATA must be captured.
Data must be aligned to the least significant byte.
Note
Zero bytes cannot be captured.
• The relationship between the widths of ATBYTES[m:0] and ATDATA[n:0] is defined by the equation:
m = log2(n+1) - 4
For examples of possible implementations, see Relationship between ATDATA and ATBYTES on page 3-26.
• The ATDATA value must be captured at the same time as bytes on ATID are captured.
• The order of trace bytes must be preserved, even between trace with different ATIDs.
A CoreSight trace funnel can order trace from different sources in any order. When funneled onto a single
bus, the order cannot be changed, see Buffer flush on page 4-31.
Note
This differs from the ordering required by AXI interfaces, where ordering is preserved only between
transactions with the same ID.
• When AFVALID is asserted, a Transmitter must output any buffered trace immediately.
• When AFREADY is asserted, AFVALID must be deasserted on the following cycle, unless an additional
flush is required.
• When AFVALID is asserted, the Transmitter must assert AFREADY one cycle after it has output the last of
the trace that it generated and stored, up to and including any trace generated on the cycle in which AFVALID
was asserted. For more information, see Buffer flush on page 4-31.
Note
ATRESETn is an active LOW signal, meaning it must be asserted LOW.
• A trace source can only start driving ATVALID HIGH after ATRESETn has been HIGH at a rising edge of
ATCLK.
• Whenever a Receiver interface cannot respond, ATREADY must be driven HIGH and AFVALID must be
driven LOW. Examples of when this must happen include powering down, the Receiver not being present,
and the result of incorrect programming of the system.
This ensures a replicator does not block because one of its two outputs are disabled.
5-38 Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. ARM IHI 0032C
Non-Confidential ID120321
Interface Signaling Rules
5.1 Interface signaling rules
• Whenever a Transmitter interface cannot respond, AFREADY must be driven HIGH and ATVALID must
be driven LOW. Examples of when this must happen include powering down, the Transmitter not being
present, and the result of incorrect programming of the system.
• ATID, ATBYTES, and ATDATA can have any value. This permitted behavior can be used to tie off unused
CoreSight trace funnel input signals.
• The ATID values 0x00, 0x70-0x7C, 0x7E, and 0x7F are reserved for use by the CoreSight Architecture and must
not be used as ATB IDs.
ARM IHI 0032C Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. 5-39
ID120321 Non-Confidential
Interface Signaling Rules
5.1 Interface signaling rules
5-40 Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. ARM IHI 0032C
Non-Confidential ID120321
Chapter 6
Wake-up signaling
This chapter introduces wake-up signaling used in the ATB protocol. It contains the following section:
• Introduction on page 6-42
ARM IHI 0032C Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. 6-41
ID120321 Non-Confidential
Wake-up signaling
6.1 Introduction
6.1 Introduction
The wake-up signal is used to indicate that there is activity associated with an ATB interface. This can be used to
provide a glitch-free signal that can be routed to a clock controller, or similar component, to enable power and clocks
to the connected components.
The Wakeup_Signal property is used to indicate whether a component supports wake-up signaling:
6-42 Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. ARM IHI 0032C
Non-Confidential ID120321
Wake-up signaling
6.2 ATWAKEUP signaling
• ATWAKEUP is synchronous to ATCLK but is more appropriate for crossing clock domains to a controller.
• It is permitted for ATWAKEUP to be asserted at any point before or after the assertion of ATVALID.
• A Receiver is permitted to wait for ATWAKEUP to be asserted, before asserting ATREADY. This means
that the ATB interface could deadlock if ATWAKEUP is present, but never asserted.
• If ATWAKEUP and ATVALID are HIGH in the same cycle, ATWAKEUP must remain HIGH until
ATREADY is asserted.
It is recommended:
• ATWAKEUP is asserted at least one cycle before the assertion of ATVALID to prevent the acceptance of a
new transaction being delayed.
ARM IHI 0032C Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. 6-43
ID120321 Non-Confidential
Wake-up signaling
6.2 ATWAKEUP signaling
6-44 Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. ARM IHI 0032C
Non-Confidential ID120321
Appendix A
Signal matrix
This appendix describes a summary of the interface signals used in ATB. It contains the following section:
ARM IHI 0032C Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. A-45
ID120321 Non-Confidential
Signal matrix
A.1 ATB signals
ATCLK 1 - - Y Y Y
ATCLKEN 1 1 - O O Y
ATRESETn 1 - - Y Y Y
ATBYTES log2(DATA_WIDTH) - 3 - - Y Y Y
ATDATA DATA_WIDTH - - Y Y Y
ATID 7 - - Y Y Y
ATREADY 1 - - Y Y Y
ATVALID 1 - - Y Y Y
ATWAKEUP 1 1 Wakeup_Signal C N N
AFVALID 1 - - Y Y Y
AFREADY 1 - - Y Y Y
SYNCREQ 1 0 - O O N
A-46 Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. ARM IHI 0032C
Non-Confidential ID120321
Appendix B
Revisions
This appendix describes the technical changes between released issues of this book.
Change Location
Removal of recommendation that ATDATA is at least 32 bits • Relationship between ATDATA and ATBYTES on page 3-26
wide • Interface signaling rules on page 5-38
Change Location
ARM IHI 0032C Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. B-47
ID120321 Non-Confidential
Revisions
B-48 Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. ARM IHI 0032C
Non-Confidential ID120321
Glossary
This glossary describes some of the terms used in technical documents from Arm Limited.
The AXI protocol includes optional signaling extensions for low-power operation.
ARM IHI 0032C Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. Glossary-49
ID120321 Non-Confidential
Glossary
CoreSight The infrastructure for monitoring, tracing, and debugging a complete system on chip.
Data cache A block of on-chip fast access memory locations, situated between the processor and main memory, used for storing
and retrieving copies of often used data. This is done to greatly increase the average speed of memory accesses and
so improve processor performance.
Macrocell A complex logic block with a defined interface and behavior. A typical VLSI system comprises several macrocells
(such as a processor, an ETM, and a memory block) plus application-specific logic.
Processor A processor is the circuitry in a computer system required to process data using the computer instructions. It is an
abbreviation of microprocessor. A clock source, power supplies, and main memory are also required to create a
minimum complete working computer system.
Trace funnel A device that combines multiple trace sources onto a single bus.
Trace port A port on a device, such as a processor or ASIC, used to output trace information.
Write Writes are defined as operations that have the semantics of a store. That is, the Arm instructions SRS, STM, STRD,
STC, STRT, STRH, STRB, STRBT, STREX, SWP, and SWPB, and the Thumb instructions STM, STR, STRH,
STRB, and PUSH.
Java instructions that are accelerated by hardware can cause a number of writes to occur, according to the state of
the Java stack and the implementation of the Java hardware acceleration.
Glossary-50 Copyright © 2006, 2012, 2021 Arm Limited or its affiliates. All rights reserved. ARM IHI 0032C
Non-Confidential ID120321