Page 2
This document is intended only to assist the reader in the use of the product. ARM Limited shall not be liable for any loss or damage arising from the use of any information in this document, or any error or omission in such information, or any incorrect use of the product.
Identifies the minor revision or modification status of the product. Intended audience This document has been written for experienced hardware and software engineers who want to design or obtain trace information from chips that use ARM cores with the ETM facility. Using this manual...
Page 11
Preface Appendix B Integrating the ETB11 This appendix describes how to integrate the ETB11 if you are not using the ETK11 Integration Kit. Conventions This section describes the conventions that this manual uses: • Typographical • Timing diagrams on page xii •...
Page 13
ARM periodically provides updates and corrections to its documentation. See for current errata sheets, addenda, and the ARM Frequently Asked http://www.arm.com Questions. ARM publications This document contains information that is specific to the ETB11. Refer to the following documents for other relevant information: ™ • ETB11 Implementation Guide (ARM DII 0067) •...
Preface Feedback ARM Limited welcomes feedback both on the ETB11 r0p1, and on the documentation. Feedback on the ETB11 If you have any comments or suggestions about this product, contact your supplier giving: • the product name • a concise explanation of your comments.
Page 15
Chapter 1 Introduction This chapter introduces the Embedded Trace Buffer (ETB11) and its features. It contains the following sections: • About the Embedded Trace Buffer on page 1-2 • ETM versions and variants on page 1-5 • Silicon revision on page 1-6.
The solution is to provide a buffer area on-chip where the trace information is stored, and read from the chip later, at a slower rate. The ETB11 stores data produced by the ETM11RV. The buffered data can then be accessed by the debugging tools using a JTAG (IEEE 1149.1) interface, as shown in Figure 1-1.
Page 17
This buffered data can also be accessed through an AHB slave-based AHB interface included as part of the ETB11. This enables software running on the processor to read the trace data generated by the ETM11RV.
Introduction ETM versions and variants The ETB11 is an enhanced version of the ETB that is designed to support the higher operating speeds of ETM11RV. Although ETB11 supports older ETM protocols, it is intended for use with ETM11RV only. For this reason this document only describes details related to storing trace from ETM11RV.
Page 21
Chapter 2 Functional Description This chapter describes how the ETB11 operates. It contains the following sections: • Functional information on page 2-2 • Operation on page 2-4 • Control logic on page 2-6 • Data Formatter on page 2-8 •...
ETB registers or trace RAM, the AHB interface can be left unconnected. If this is done, all accesses to the ETB must be performed using the JTAG interface. A block diagram of the ETB11 module is shown in Figure 2-1 on page 2-3. 2.1.2 Global configurability The size of the trace RAM is configurable.
Trace capture is enabled using the control register. Trace data is continuously written into the trace RAM while the ETB11 is enabled and the trigger counter value is nonzero. Once the ETM11RV indicates a trigger by asserting TRIGGER, the trigger counter decrements once per word of trace stored.
ATPG vectors are created using Synopsys TetraMax. These enable the shadow logic around the ETB11 RAM to be tested provided that the TetraMax has access to a model of the RAM used. Greater than 99% stuck-at fault coverage can be achieved.
Functional Description TAP controller All registers in the ETB11 are programmed through the TAP controller or the AHB interface. Registers are accessed through scan chain 0. The TAP controller is connected in series with other TAP controllers on the chip.
An active HIGH write enable signal RAM data input bus An active HIGH output enable signal RAM data output bus The timing requirements for the ETB11 are described in Chapter 4 Timing Requirements. 2.9.2 Read access A timing diagram showing a read access from the Trace RAM to the Trace RAM interface is shown in Figure 2-5 on page 2-16.
Write transfer on page 2-22. 2.10.2 Resets There are the following resets: • nRESET resets all of the ETB11 registers in the CLK domain. nRESET must be synchronized to CLK using the circuit shown in Figure 2-7. ETB11 nDBGTRST nRESET...
HADDRReg, the registered version of HADDR that remains valid until HReq goes LOW, is valid. The CS and CRegRead signals that control read access of the ETB11 RAM and the ETB11 registers go HIGH for one cycle after CReq goes HIGH.
A software read cycle with CLK and HCLK synchronous is shown in Figure 2-9 on page 2-21. The pipelined nature of the ETB11 data means that data takes more than a single cycle to perform a read (and write) operation. Wait states are inserted until the read cycle is completed.
Page 43
HWDATA), and the address is already valid on HADDRReg. The CS,WE, and RegWrite signals that control write access of the ETB11 RAM and the ETB11 registers then go HIGH for one cycle after CReq goes HIGH to perform the write access.
Programmer’s Model About the programmer’s model This section provides general information relevant to the ETB11 programmer’s model: • Register fields • Register map. 3.1.1 Register fields You must not access reserved or unused address locations because this can result in unpredictable behavior.
[31:0] Read-only RAM data depth This value is configurable in the RTL but must be fixed when the ETB11 is synthesized. 3.2.3 RAM Width Register, r2 This is a read-only register, that indicates the number of bits in each addressable entry in the RAM to the trace tools.
Programmer’s Model 3.2.4 Status Register, r3 The read-only Status Register contains ETB11 status flags. You can read it at any time. Register bit allocations for the Status Register are listed in Table 3-5. Table 3-5 Status Register bit allocations Name...
You can use the read-only RAM Data Register, while trace capture is disabled, to return the contents of the ETB11 SRAM location addressed by the RAM Read Pointer Register. Reading this register increments the RAM Read Pointer Register and triggers a RAM access cycle.
When read, the RAM Read Pointer Register returns the current trace RAM read address. You cannot write to this register if TraceCaptEn is HIGH. This register is not accessible from the AHB interface because the RAM is memory-mapped. See Software access to the ETB11 using the AHB interface on page 3-11. 3.2.7...
Trace before The counter is set to a small value. Trace about The counter is set to half the number of entries in the ETB11 RAM. The register bit allocations for the Trigger Counter Register are listed in Table 3-9.
0 = Trace capture is disabled Control register bit 0 drives the TraceCaptEn signal. When TraceCaptEn is set the ETB11 SRAM is in write mode. If you attempt to read the RAM Data Register read while TraceCaptEn is set, then the contents of the SRAM are altered, resulting in the corruption of any stored trace data.
Aliased trace RAM RAM base address (for example, 0x13900000 The base addresses of the ETB11 registers and the RAM are defined by the AHB decoder. Software access to registers is only enabled when bit 2 of the control register (SoftwareCntl) is set to 1. This is the default and is set to 1 on reset.
Page 58
The AHB interface is enabled when the SoftwareCntl bit of the control register and the SWEN signal are ANDed. The ETB11 registers and RAM accesses are controlled by separate read/write ports and each has their own separate HSEL input. This enables the ETB11 RAM to share the address space with main memory. 3.3.1...
Page 59
Chapter 4 Timing Requirements The timing requirements for the ETB11 interfaces are defined in this chapter. It contains the following sections: • AHB interface on page 4-2 • CLK domain on page 4-4 • IEEE1149.1 interface on page 4-6. ARM DDI 0275D...
Signal Descriptions Signal properties and requirements To ensure ease of integration of the ETB11 into embedded applications, and to simplify synthesis flow, the following design techniques have been used: • a single rising edge clock times all activity • all signals and buses are unidirectional •...
Signal Descriptions Signal descriptions Table A-1 lists the ETB11 input and output signals. Table A-1 Signal descriptions Clock Signal Name Type Description domain Output When HIGH indicates that trace ACQCOMP acquisition is complete. Input This clock times all operations in the Trace Buffer.
Page 68
Memory-mapped peripheral AHB transfer response. Provides additional information on the transfer status: 00 = OKAY 01 = ERROR 10 = RETRY 11 = SPLIT. ETB11 does not support splits and retries. ETB11 outputs an OK or ERROR response only/ HSELMEM HCLK Input Indicates that the ETB11 RAM has been selected for an AHB transfer.
Page 71
Appendix B Integrating the ETB11 This section describes how to integrate the ETB11 if you are not using the ETK11 Integration Kit. It contains the following sections: • ASIC connections on page B-2 • Connecting to ETM11RV on page B-3 •...
Signal Connection information SWEN If the AHB interface is to be used to access the ETB11 registers and the ETB11 RAM, then this must be tied HIGH. Otherwise it must be tied LOW. ACQCOMP This is a status signal from the ETB11 that can be used to control on-chip logic. For example, ACQCOMP can be used to generate an interrupt request to the ARM processor in the system to indicate that the ETB11 is finished collecting trace information.
Integrating the ETB11 Connecting to ETM11RV Use the connection scheme listed in Table B-2 to connect the ETB11 to a generic trace port interface device, such as an ETM11RV. Table B-2 ETB11 to generic trace port interface connections ETB11 signal...
If the code shown in Example B-1 is used then load/store multiple instructions that access the ETB11 have unpredictable results because these use both halves of the 64-bit bus at the same time. These accesses do not cause an AHB ERROR response, which normally cause a Data Abort, so the error is not seen by the system.
Advanced Microcontroller Bus Architecture (AMBA) AMBA is the ARM open standard for multi-master on-chip buses, capable of running with multiple masters and slaves. It is an on-chip bus specification that details a strategy for the interconnection and management of functional blocks that make up a System-on-Chip (SoC).