Technical Reference Manual
Technical Reference Manual
Revision: r0p0
Change history
Proprietary Notice
Words and logos marked with ® or ™ are registered trademarks or trademarks of ARM Limited in the EU and
other countries, except as otherwise stated below in this proprietary notice. Other brands and names
mentioned herein may be the trademarks of their respective owners.
Neither the whole nor any part of the information contained in, or the product described in, this document
may be adapted or reproduced in any material form except with the prior written permission of the copyright
holder.
The product described in this document is subject to continuous developments and improvements. All
particulars of the product and its use contained in this document are given by ARM in good faith. However,
all warranties implied or expressed, including but not limited to implied warranties of merchantability, or
fitness for purpose, are excluded.
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.
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
ii Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Contents
ETM10 Technical Reference Manual
Preface
About this manual .......................................................................................... x
Feedback ...................................................................................................... xv
Chapter 1 Introduction
1.1 About the ETM10 ........................................................................................ 1-2
1.2 Supported standard configurations ............................................................. 1-3
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. iii
Contents
Glossary
iv Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
List of Tables
ETM10 Technical Reference Manual
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. v
List of Tables
vi Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
List of Figures
ETM10 Technical Reference Manual
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. vii
List of Figures
viii Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Preface
This preface introduces the ARM10™ Embedded Trace Macrocell (ETM10) Revision
r0p0 Technical Reference Manual. It contains the following sections:
• About this manual on page x
• Feedback on page xv.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. ix
Preface
The rnpn identifier indicates the revision status of the product described in this
document, where:
Intended audience
This manual is written for hardware and software engineers who want to integrate the
ETM10 into an ASIC that includes and ARM1020E processor.
Chapter 1 Introduction
Read this chapter for an introduction to the ETM10.
x Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Preface
Conventions
Typographical
monospace Denotes text that you can enter at the keyboard, such as
commands, file and program names, and source code.
monospace bold Denotes language keywords when used outside example code.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. xi
Preface
< and > Angle brackets enclose replaceable terms for assembler syntax
where they appear in code or code fragments. They appear in
normal font in running text. For example:
• MRC p15, 0 <Rd>, <CRn>, <CRm>, <Opcode_2>
• The Opcode_2 value selects which register is accessed.
Timing diagrams
The figure named Key to timing diagram conventions explains the components used in
timing diagrams. Variations, when they occur, have clear labels. You must not assume
any timing information that is not explicit in the diagrams.
Clock
HIGH to LOW
Transient
HIGH/LOW to HIGH
Bus stable
Bus change
Signals
Signal level 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.
xii Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Preface
Numbering
<size in bits>’<base><number>
This is a Verilog method of abbreviating constant numbers. For example:
• ‘h7B4 is an unsized hexadecimal value.
• ‘o7654 is an unsized octal value.
• 8’d9 is an eight-bit wide decimal value of 9.
• 8’h3F is an eight-bit wide hexadecimal value of 0x3F. This is
equivalent to b00111111.
• 8’b1111 is an eight-bit wide binary value of b00001111.
Further reading
ARM Limited periodically provides updates and corrections to its documentation. See
http://www.arm.com for current errata sheets, addenda, and the ARM Limited
Frequently Asked Questions list.
ARM publications
This manual contains information that is specific to the ETM10. Read the following
manuals for additional information:
• Embedded Trace Macrocell Specification (ARM IHI 0014)
• ARM1020E Technical Reference Manual (ARM DDI 0177)
• Multi-ICE User Guide (ARM DUI 0048).
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. xiii
Preface
Other publications
• Trace Port Analysis for ARM ETM Users Guide, Agilent Publications,
publication number E5903-97002.
xiv Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Preface
Feedback
ARM Limited welcomes feedback on the ETM10 and its documentation.
If you have any comments or suggestions about this product, contact your supplier
giving:
• the product name
• a concise explanation of your comments.
If you have any comments on this manual, send email to [email protected] giving:
• the document title
• the document number
• the page number(s) to which your comments refer
• a concise explanation of your comments.
ARM Limited also welcomes general suggestions for additions and improvements.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. xv
Preface
xvi Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Chapter 1
Introduction
This chapter gives an overview of the ARM10 Embedded Trace Macrocell (ETM10)
r0p0. It contains the following section:
• About the ETM10 on page 1-2.
• Supported standard configurations on page 1-3.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 1-1
Introduction
TRACEPKT
Trace FIFO
control
ETM interface signals ARM1020E PIPESTAT
from ARM1020E interface logic
processor
TraceEnable, ViewData
Trigger, sequencer,
counters
System control
TAP signals
controller
Scan chain 6
ETM10
JTAG signals
For information about the trace protocol, and about controlling tracing using triggering
and filtering resources, see the Embedded Trace Macrocell Specification.
For information about ETM10 input and output signals, see Appendix A Signal
Descriptions.
1-2 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Introduction
Data comparators 0 2 4
CONTEXT ID comparators 0 1 3
Counters 1 2 4
External inputs 2 4 4
External outputs 0 1 4
FIFO depth 30 45 60
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 1-3
Introduction
1-4 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Chapter 2
Accessing the ETM10 Registers
This chapter describes how to program the registers that control the trace and triggering
facilities of the ETM10. It contains the following sections:
• The JTAG interface on page 2-2
• ETM10 registers on page 2-3.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 2-1
Accessing the ETM10 Registers
The ETM10 TAP is logically part of the ARM processor to which it is connected. This
means that Multi-ICE detects only one TAP in a single ARM10-ETM system.
The general arrangement of the ETM10 JTAG registers is shown in Figure 2-1.
R/W Update
6 Address
Address decoder
0
31
Data
ETM registers
TDI TDO
The data to be written is scanned into the 32-bit data field, the address of the register
into the 7-bit address field, and a 1 into the read/write bit.
A register is read by scanning its address into the address field and a 0 into the
read/write bit. The 32-bit data field is ignored.
A read or a write takes place when the TAP controller enters the UPDATE-DR state.
2-2 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Accessing the ETM10 Registers
The setting and clearing of the programming bit is necessary for proper synchronization
between the CLK and TCK clock domains. You do not have to set the programing bit
to read ETM registers.
The ETM control register and all the other ETM registers are described in the
Embedded Trace Macrocell Specification.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 2-3
Accessing the ETM10 Registers
2-4 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Chapter 3
Integrating the ETM10
This chapter describes how to integrate the ETM10 with an ARM10 processor. It
contains the following sections:
• About integrating the ETM10 on page 3-2
• ARM1020E trace interface on page 3-4
• System control signals on page 3-8
• Clocks and resets on page 3-12
• TAP interface wiring on page 3-14
• Trace port interfacing on page 3-17
• Modes of operation of the trace port on page 3-21.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 3-1
Integrating the ETM10
232 inputs All input signals are registered immediately inside the ETM10.
35 outputs all outputs are driven directly from the output of a register, with the single
exception of TDO.
Table 3-1 shows how the ETM10 must be connected to the ARM1020E.
DBGRQ EDBGRQ
TDO SDOUTBS
PWRDOWN ETMPWRDOWN
FIFOFULL FIFOFULL
DBGACK DBGACK
ETMCORECTL[23:0] ETMCORECTL[23:0]
ETMDATAVALID[1:0] ETMDATAVALID[1:0]
ETMIA[31:1] ETMIA[31:1]
ETMDA[31:0] ETMDA[31:0]
ETMR15EX[31:1] ETMR15EX[31:1]
ETMR15BP[31:1] ETMR15BP[31:1]
ETMDATA[63:0] ETMDATA[63:0]
The functional diagram of the ETM10 is shown in Figure 3-1 on page 3-3.
3-2 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Integrating the ETM10
GCLK ETM10DFTGCKEN
Clock
NRESET ETM10DFTWCKEN
Reset
TRIGGER ETM10RSTSAFE
FIFOFULL SCORETEST
PORTSIZE[2:0] SCANMUX12
PWRDOWN SCANMUX6
Miscellaneous
output signals ETMEN ETM10WCLK
CLKDIVTWOEN ETM10WSCANEN
EXTOUT[3:0] ETM10SCANMODE
PORTMODE[1:0] ETM10SCANEN
ETM10
ETMR15EX[31:1] ETM10DFTRESET
MRC Data bus[63:0]
ETMR15BP[31:1] ETM10SCANIN[23:0]
TCK ETM10SCANOUT[23:0]
TMS ETM10WSCANIN[1:0]
TDI ETM10WSCANOUT[1:0]
TAP interface NTRST WMUX2
ARMTDO PIPESTATA[3:0]
TDO
PIPESTATB[3:0]
ETMDATAVALID[1:0]
TRACEPKTA[15:0] Trace port
Control inputs
ETMCORECTL[23:0]
TRACEPKTB[15:0]
EXTIN[3:0] TRACECLK
Miscellaneous
input signals SYSOPT[8:0]
DBGRQ
Debug DBGACK
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 3-3
Integrating the ETM10
ETMDATA[63:0] Contains the data value for a Load, Store, MRC, or MCR
instruction.
ETMDA[31:0] Data address bus. Gives the address for every load or store
transaction.
ETMIA[31:1] Instruction address bus. Gives the address for every instruction
fetch.
ETMR15BP[31:1] Address for the branch phantom currently in the Execute stage
of the processor pipeline.
Each data bus is 64 bits wide. Only one data bus can contain valid data in any cycle, so
all four buses are multiplexed within the ARM1020E processor to a single 64-bit data
bus, ETMDATA. ETMDATA is registered within the ARM1020E processor before it
is driven to the ETM. ETMDATA is valid in the Write (WR) stage of the ARM1020E
pipeline.
3-4 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Integrating the ETM10
Address buses
Four address buses are driven from the ARM1020E processor to ETM10:
As shown in Table 3-2 on page 3-4, ETMDA[31:0] is for data addresses and the other
address buses are for instruction addresses.
ETMDATAVALID[1:0]
ETMCORECTL[23:0]
The control signals from the ARM10 core comprise ETMCORECTL[23:0]. The
control signals present on this bus are described in Table 3-3 on page 3-6.
Note
All the signals described in Table 3-3 on page 3-6 are valid in the Write (WR) stage of
the ARM1020E pipeline, unless specified otherwise.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 3-5
Integrating the ETM10
3-6 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Integrating the ETM10
MISSCNT[1:0] [20:19] The number of load misses that are None. Transitions
outstanding. indicate new miss.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 3-7
Integrating the ETM10
3.3.1 Debug
When the trigger condition occurs, you can set bit 9 in the ETM control register to assert
DBGRQ until DBGACK is observed.
It is recommended that you connect the DBGRQ output of the ETM10 to the
EDBGRQ input of the ARM processor. If this input is already in use, when for example
a DBGRQ input is present on the device, you can logically OR the DBGRQ signals
together as shown in Figure 3-2.
ARM ETM10
EDBGRQ DBGRQ
ASIC
DBGRQ
Note
ARM10 processors take at least one cycle to respond to EDBGRQ. This means that the
ARM processor can execute a few instructions after the trigger condition is detected but
before the system has stopped. Some debug tools can report an unrecognized breakpoint
as a result.
3-8 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Integrating the ETM10
The core only recognizes EDGBRQ if the ARM10 core is currently in hardware debug
mode.
For more information about ARM10 debug modes, see the ARM1020E Technical
Reference Manual.
PWRDOWN is asserted when the ETM is not enabled. When a TAP reset (NTRST)
occurs, PWRDOWN is forced HIGH until bit 0 of the ETM10 control register has been
deasserted (the ETM10 registers are programmed by the ARM debug tools through
JTAG). The ARM1020E processor uses the assertion of PWRDOWN to indicate that
ETM10 bus inputs must be held stable. Within the ETM, PWRDOWN assertion is also
used to gate the clock, for more power savings.
Note
For PWRDOWN to function correctly, the TAP reset must be asserted every time the
system is powered on (see NTRST on page 3-12).
The PWRDOWN output is controlled by the ARM debug tools, and is automatically
cleared at the start of a debug session.
Context ID values
ETM10 supports the tracing of dynamically loaded memory and overlay systems by
maintaining the current context ID value in an internal register. To guarantee that
context ID values are updated while the ETM is in powerdown state, the ETM10 clock
gating logic allows a one cycle clock pulse on context ID updates. This logic is part of
the ETM10 internal clock control logic, and is controlled by ETMCORECTL10 (an
input from the ARM1020E core).
Note
Context ID was previously known as process ID. This has been changed to avoid
confusion with the Fast Context Switch Extensions (FCSE) field, sometimes referred to
as the FCSE process ID.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 3-9
Integrating the ETM10
FIFOFULL changes on the rising edge of GCLK and is active HIGH. When asserted,
it indicates that the trace tools user has enabled the ETM FIFO full detection mechanism
and that one of the following is true:
• bytes are currently present in the FIFO
• bytes are being inserted this cycle.
You can use FIFOFULL to stall the ARM core, so that more trace data is not generated
until the FIFO has drained. It is recommended that you implement this by connecting
the FIFOFULL ETM10 output directly to the FIFOFULL input on the ARM1020E
processor. Within the ETM you can specify the address regions in which FIFOFULL
can be asserted. This enables you to slow down non real-time areas of code, while
critical regions remain unaffected.
The logic does not directly affect the behavior of the ETM, so it is not significant if the
FIFOFULL logic inside the ETM is programmed and enabled when the system
designer cannot support the use of this signal. However, if FIFOFULL is not used,
there is a risk of some trace data being lost while the FIFO drains.
Note
To maintain interrupt response time in the system, you might have to override
FIFOFULL assertion when nIRQ and/or nFIQ are asserted.
System control signals are broadcast on the system options bus, SYSOPT[8:0]. You
can use the SYSOPT bus to specify whether certain trace features, such as half-rate
clocking, are implemented on the ASIC. You must tie each of the bits of the bus LOW
or HIGH, depending on the features supported. The trace debug tools read the state of
the SYSOPT bus using the JTAG interface, and adapt the user options offered
accordingly. The signals on the SYSOPT bus are described in Table 3-4.
3-10 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Integrating the ETM10
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 3-11
Integrating the ETM10
3.4.1 GCLK
GCLK is the clock domain used for ETM trace generation logic. GCLK is the same
clock that is used by the ARM1020E core. To save power, GCLK is gated internal to
ETM10 whenever the ETM10 output PWRDOWN is asserted. The PWRDOWN
signal is described in Using the PWRDOWN signal on page 3-9.
3.4.2 TCK
TCK is the clock domain of the JTAG interface. This is the clock domain in which the
ETM registers are programmed.
ETM10 is designed to function with fully asynchronous GCLK and TCK inputs.
Synchronizing logic is included in the design to prevent metastability problems
between the two clock domains when running with asynchronous clocks.
3.4.3 NRESET
NRESET is the system power-on reset. NRESET is used only to reset the ContextID
shadow register in ETM10. NRESET is synchronized to GCLK for deassertion
internal to ETM10 to avoid timing problems. Assertion of NRESET is asynchronous.
3.4.4 NTRST
NTRST is the TAP controller reset. It is used within the ETM10 as the main reset signal
for both TCK and GCLK domain logic. ETM10 uses NTRST rather than the core reset
signal so that you can trace the core through reset. Deassertion of the main NTRST
input can be asynchronous to both TCK and GCLK, and TCK and GCLK are
asynchronous clock domains, so NTRST is synchronized internally for deassertion for
both the TCK and GCLK domains. Assertion of NTRST is asynchronous.
3-12 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Integrating the ETM10
Note
NTRST must be asserted for at least eight cycles when the system is initially powered
on, otherwise the behavior of the ETM and of the whole system is unpredictable.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 3-13
Integrating the ETM10
ETM10 uses the same TAP interface wiring as previous ETM versions. The TDO pin
is connected to the ARM1020E scan expansion input SDOUTBS. ETM10 registers are
accessed using scan chain 6 and are programmed in a manner identical to previous ETM
implementations.
The recommended connectivity is shown in Figure 3-3. For information about the
JTAG interface, see The JTAG interface on page 2-2.
TDO
ARMTDO
TAP Scan SDOUTBS TAP Scan
controller chains controller chain
Note
For clarity, NTRST is omitted from figures relating to the TAP interface. You must
connect NTRST to all TAPs on the chip. See the Multi-ICE User Guide for details.
If your ASIC includes a further scan chain controlled by the ARM1020E TAP
controller, then the TDO of this scan chain can be connected into the otherwise unused
ARMTDO input on the ETM10. This is shown in Figure 3-4.
3-14 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Integrating the ETM10
TDO
TDO TDO
ARM10 ETM10
SDOUTBS ARMTDO
External scan
chain
TCK TDI TMS TCK TDI TMS
Figure 3-4 Using ETM10 and ARM10 with an external scan chain
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 3-15
Integrating the ETM10
TDO TDO
ARM10 ETM10
SDOUTBS
ARMTDO
TDO TDO
ARM10 ETM10
SDDOUTBS
ARMTDO
Note
For clarity, NTRST is omitted from figures relating to the TAP interface. You must
connect NTRST to all TAPs on the chip. See the Multi-ICE User Guide for details.
3-16 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Integrating the ETM10
See Modes of operation of the trace port on page 3-21 for details of trace port operation.
You can use these to configure the external logic connected to the trace port, under the
control of the debugger.
Some chips might not dedicate 16 pins to the TRACEPKTA bus. Under some
circumstances you might be able to re-use miscellaneous output signals from the chip
as trace port pins. To allow this, the ETM10 has the following outputs:
• ETMEN
• PORTSIZE[2:0].
Figure 3-6 on page 3-18 shows one way in which the TRACEPKTA pins can be shared
with the ASIC pins.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 3-17
Integrating the ETM10
ASIC
logic ASIC output
0 TRACEPKTA[15:4]
ETM10 TRACEPKTA[15:0]
1
ASIC output
TRACEPKTA[3:0]
PORTSIZE, ETMEN
Logic
You can use the PORTSIZE and ETMEN signals to control on-chip logic to select
between the normal ASIC output signals and the ETM10 trace port signals. This enables
you to control the port width of the trace, and the number of pins used, from the
debugger.
At reset the ETM10 is disabled (ETMEN LOW) and a 4-bit port is selected
(PORTSIZE = 000). This ensures that normal operation of the ASIC is unaffected.
Once the debug session starts, the debug tools can control ETMEN and PORTSIZE
by programming the ETM control register.
Where there are multiple ARM processors on a single chip, it is recommended that each
ARM processor has its own dedicated ETM.
The recommended dual-trace configuration uses 21 pins on the ASIC, because this
matches the 20 data pins and one clock pin defined in the trace connector specification.
These pins are configured as 20 data pins and a single clock pin (assuming that both
processors are controlled by a single clock).
3-18 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Integrating the ETM10
Possible trace port configurations for a single processor are shown in Table 3-5.
You can, therefore, use a single 20-pin trace port to allow the configurations shown in
Table 3-6 for dual-processor systems.
Table 3-6 Dual-processor trace port configurations for a single 20-pin trace port
Processor 1 Processor 2
Note
If you want to trace multiple cores in demultiplexed mode, you must use two separate
target system connectors. See Demultiplexed trace port signals on page 3-22 for more
details.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 3-19
Integrating the ETM10
The Embedded Trace Macrocell Specification documents the target system connector
pin allocations for single and dual-processor configurations. Support for the
dual-processor pinouts is dependent on the debug tools and the TPA.
It is not recommended that you connect a single ETM10 to multiple ARM10 processors.
This is because there is no general mechanism available to control the logic that selects
which processor is connected to the single ETM.
See Chapter 7 Physical Trace Port Signal Guidelines, for information about output pad
selection and PCB design, including:
• trace signal termination
• PCB track lengths
• pad drive strength.
3-20 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Integrating the ETM10
Demultiplexed mode
See Demultiplexed trace port signals on page 3-22.
In each mode, both normal and half-rate clocking are supported. The clocking mode is
controlled by CLKDIVTWOEN (this is a copy of ETM control register bit 13).
Normal and demultiplexed modes are supported directly on ETM10. Multiplexed mode
is not supported directly by ETM10, because it is unlikely that the system speed will be
slow enough for it to be used. You can implement multiplexed mode with logic external
to ETM10 in the same way as for ETM9 (see the ETM9 Technical Reference Manual
for details).
In normal mode tracing, the trace port signals PIPESTATA and TRACEPKTA are
mapped directly onto the trace port pins of the ASIC. PIPESTATB and TRACEPKTB
are not used. Both normal and half-rate clocking are supported in this mode, but
half-rate clocking is recommended to allow for higher frequency tracing. To use
half-rate clocking, the TPA device must be capable of capturing data on both edges of
TRACECLK.
Figure 3-7 on page 3-22 shows the timing for the normal trace port with normal
clocking.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 3-21
Integrating the ETM10
T1 T2 T3 T4 T5
GCLK
TRACECLK
Figure 3-8 shows the timing for the normal trace port with half-rate clocking.
T1 T2 T3 T4 T5
GCLK
TRACECLK
This scheme is recommended for high-speed systems where the switching frequency of
the off-chip trace signals is unacceptable.
Figure 3-9 on page 3-23 shows the timing for the demultiplexed trace port with normal
clocking.
3-22 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Integrating the ETM10
T1 T2 T3 T4 T5
GCLK
TRACECLK
Figure 3-10 displays the timing for the demultiplexed trace port with half-rate clocking.
T1 T2 T3 T4 T5
GCLK
TRACECLK
In demultiplexed mode, the TPA must examine the trace port A and trace port B in
parallel to determine whether a trigger has occurred. It must also check for the TD
(Trace Disabled) pipeline status in trace port A and trace port B.
You can use the ETM10 in systems that have a fully asynchronous TCK and GCLK.
All synchronization issues are handled in the ETM10. All groups of signals are
synchronous to the relevant clock:
• ARM10 interface GCLK
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 3-23
Integrating the ETM10
The ETM10 contains synchronizing D-types to synchronize between the TCK timing
domain and the GCLK timing domain. When GCLK is much slower than TCK, it
might take several TCK cycles before you can disable tracing (by setting the
programming bit). It is possible to read back the programming bit value to guarantee
that synchronization has occurred. For more information, see the Embedded Trace
Macrocell Specification.
3-24 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Chapter 4
Design for Test
This chapter describes the Design for Test (DFT) features of ETM10. It contains the
following sections:
• About DFT on page 4-2
• Scan chain configurations on page 4-4
• ETM10 test wrapper on page 4-6
• Test modes and ports on page 4-10
• Clocks and gating on page 4-15.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 4-1
Design for Test
The test wrapper enables a tester to apply vectors, or control stimulus, that can achieve
a high quality measurement with a minimal amount of external pin control. This is
extremely important if the design unit is to be embedded or buried within other design
units or chip logic. See ETM10 test wrapper on page 4-6 for more details.
In addition to the normal ETM10 functional mode, there are three DFT modes, as
follows:
Internal test mode In this mode, you have control over the inputs to the functional
core during test, and you can observe the core outputs (see
Internal test mode on page 4-12).
External test mode In this mode, you can observe the logic in the wrapper cell itself,
while signals are propagated between the peripheral logic to the
functional core (see External test mode example on page 4-12).
ETM10 comprises 24 individual scan chains. You can combine them in different
configurations, as follows:
4-2 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Design for Test
The scan chains are shorter if there are more parallel scan chains in a design. The total
vector count becomes smaller as the scan chains become shorter, saving tester memory.
However, you must choose the 12 or 6-chain configuration if your final package or test
environment does not have the pin bandwidth to handle the maximum 24 chains. There
are no memories on the core.
The test wrapper contains only dedicated test wrapper cells, and these are clocked by
ETM10WCLK, a dedicated test wrapper clock. Gating of ETM10WCLK is enabled
by ETM10DFTWCKEN.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 4-3
Design for Test
The ETM10 internal scan chain concatenations are shown in Table 4-1.
Scan chains
Mode ScanIn ScanOut
concatenated
4-4 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Design for Test
Scan chains
Mode ScanIn ScanOut
concatenated
Note
The internal scan chains do not cross clock domains during 6, 12, or 24 scan chain
modes.
For scan testing of the core, you must tie the SCANMUX12, SCANMUX6, and
WMUX2 signals in one of the configurations listed in Table 4-2.
Maximum
Configuration Pins
chain length
Restricted SCANMUX12 -
HIGHSCANMUX6 HIGH
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 4-5
Design for Test
The longest scan chain must not be a wrapper chain, otherwise it controls the ultimate
length of each scan pattern. If you are implementing 24 internal scan chains, you must
implement two test wrapper scan chains, so that the wrapper chain does not gate the
scan pattern length.
The wrapper scan chain comprises only dedicated test wrapper cells. There is a wrapper
cell connected to every functional input and output port with the exception of the clock
ports.
There are three types of wrapper cell, described in the following sections:
• Dedicated input wrapper cells
• Dedicated output wrapper cells on page 4-7
• Reset-dedicated wrapper cell on page 4-8.
4-6 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Design for Test
Functional path
OUT 0 IN
D 1
SI Q
SE
CK
Peripheral Functional
logic Wrapper cell core of ETM
ETM10WMUXINSEL
ETM10WCLK
ETM10WSCANEN
Note
Dedicated output cells have safe gates.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 4-7
Design for Test
Functional path
OUT 0 Safe IN
D 1 gate
SI Q
SE
CK
Functional Peripheral
Wrapper cell
core of ETM logic
ETM10WMUXOUTSEL
ETM10WCLK
ETM10WSCANEN
The reset-dedicated wrapper cell is used during asynchronous reset input. During
external test mode, the safe gate on the reset wrapper cells can enable the reset of the
core to reduce power and to keep the core safe. In addition, both asynchronous resets
(NRESET and NTRST) are directly-controllable during scan mode. The
ETM10DFTRESET port is a separate port that must be directly connected to a pin to
have direct control of reset during ATPG testing.
Note
Reset-dedicated wrapper cells have safe gates.
4-8 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Design for Test
Functional path
OUT 0 Safe IN
1 gate
D
SI Q
SE
Functional CK Peripheral
core of ETM Wrapper cell logic
ETM10DFTRESET ETM10WMUXINSEL
ETM10WCLK
ETM10WSCANEN
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 4-9
Design for Test
ETM10SCANEN Input Dynamic Scan enable for all internal clock domains. HIGH = shift.
ETM10SAFE Input Static Forces safe values onto the outputs of the core. Use during
core test and during the shift sequence of any other mode
that uses the ETM10 wrapper.
ETM10WMUXINSEL Input Static Configures the wrapper cells into internal test mode.
ETM10WMUXOUTSEL Input Static Configures the wrapper cells in external test mode.
ETM10DFTRESET Input Dynamic Direct control over asynchronous reset during scan mode.
ETM10DFTWCKEN Input Static Enables gating of the wrapper clock to the dedicated test
cells.
ETM10WSCANEN Input Dynamic Scan enable for all dedicated test cells in the wrapper.
HIGH = shift.
SCORETEST Input Static Serialize all of the scan chains (internal and wrapper).
4-10 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Design for Test
ETM10WSCANIN[1:0] Input Dynamic Input ports for the wrapper scan chains.
ETM10WSCANOUT[1:0] Output Dynamic Output ports for the wrapper scan chains.
You use the wrapper control signals to select the wrapper mode, as shown in Table 4-4.
Safe mode
During the internal test, ETM10SAFE can be asserted so that the values at the output
of the core are held in a steady state.
To enable the reset of the ETM10 during external test mode, the ETM10RSTSAFE
signal must be asserted. If the state of the core is to be frozen (for example, for IDDQ
testing), this signal must be disabled along with the clock enable signals after set up of
the core, to hold the state.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 4-11
Design for Test
The ETM10 test signals for internal test mode are shown in Table 4-5. You can create
a test control module to control the states of these signals.
ETM10SCANMODE 1
ETM10DFTGCKEN 1
ETM10DFTWCKEN 1
ETM10WMUXINSEL 1
ETM10WMUXOUTSEL 0
ETM10SAFE 1 (recommended)
ETM10RSTSAFE 0
The ETM10 test signals for external test mode are shown in Table 4-6.
ETM10SCANMODE 1
ETM10DFTGCKEN 0 (recommended)
ETM10DFTWCKEN 1
ETM10SCANEN 0 (recommended)
4-12 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Design for Test
ETM10MUXINSEL 0
ETM10MUXOUTSEL 1
SCANIN 0
The serial core test (SCORETEST) mode is enabled by the SCORETEST signal. In
this mode, all the scan chains are connected serially, with the wrapper chain attached
last in the ETM10 module. The last cell in the wrapper chain is a lock-up latch, enabling
this output to be connected to another clock domain and retain safe shift properties. This
means that values can be shifted from one scan cell to the next with no risk of error due
to clock skew. You must ensure that the chain shifts safely. ETM10WCLK must be in
the same phase as GCLK during serial core test mode. Capture cycles cannot occur
safely if there are delay differences between the clock domains.
The ETM10 serial scan chain does cross clock domains in serial core test mode.
Lock-up latches are placed wherever the serial scan chain crosses clock domains to
allow safe shift.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 4-13
Design for Test
The states of the ETM10 test signals when the ETM is in functional mode are shown in
Table 4-7.
ETM10SCANMODE 0
ETM10DFTGCKEN 1
ETM10DFTWCKEN 0 (recommended)
ETM10SCANEN 0
ETM10WSCANEN 0
ETM10DFTRESET 0 (recommended)
ETM10MUXINSEL 0
ETM10MUXOUTSEL 0
ETM10SAFE 0
ETM10RSTSAFE 0
SCANIN 0 (recommended)
4-14 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Design for Test
While the clock gating signals are enabled, GCLK and ETM10WCLK are enabled.
Note
During functional mode, ETM10DFTGCKEN must be enabled. You are advised to
disable ETM10DFTWCKEN.
If gating of the TCK signal is necessary, this must be done external to the ETM10 core.
The ETM10 patterns are created with GCLK and TCK driven separately. These two
clock domains are not delay-matched, and the ETM10 scan patterns do not allow these
clocks to toggle simultaneously during a capture cycle. The ETM10 wrapper clock
(ETM10WCLK) is 180 degrees out of phase with GCLK during production scan
mode, as shown in Figure 4-4. This prevents hold-timing issues, because GCLK and
ETM10WCLK are not perfectly delay matched within the ETM10.
ETM10WCLK can be created by inverting GCLK, but the timing from the package
pins to the ports of these two signals on the ETM10 must be closely delay-matched.
T1 T2 T3 T4 T5
GCLK
TCLK
ETM10WCLK
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 4-15
Design for Test
In SCORETEST mode, all scan enables must remain enabled. All clocks are coincident
(see Figure 4-5). For more information about SCORETEST mode, see Serial core test
mode on page 4-13.
T1 T2 T3 T4 T5
GCLK
TCLK
ETM10WCLK
4-16 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Chapter 5
Implementation-defined Behavior
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 5-1
Implementation-defined Behavior
Table 5-1 shows the value of the fields when reading the ETM ID register (0x79).
Bit
Value Meaning
numbers
5-2 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Implementation-defined Behavior
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 5-3
Implementation-defined Behavior
While the trace start/stop block is calculated for each instruction as required, the ETM
is not capable of tracing one instruction without the other. In particular, if a folded
branch is traced, the instruction it is paired with is also traced, along with any data
associated with it if ViewData is active.
5-4 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Implementation-defined Behavior
Note
This does not create any extra data, because the instructions executed underneath
cannot be data instructions or indirect branches.
All address comparators have a sticky bit that is observed when the comparator is used
as shown in Table 5-2.
Sticky bit set When the comparator matches the instruction address of a data
instruction.
The sticky bit is never set for address comparators configured for data addresses.
Where observed, the comparator continues to match while the sticky bit is set.
Single address comparators cannot observe the sticky bit when selected as an event,
because they are defined to be active for only one cycle for the benefit of the counters
and sequencer. If an event of the kind instruction address = X AND data address = Y
is required, the instruction address comparator must be an address range comparator to
guarantee that it will still match when the data address comparator matches.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 5-5
Implementation-defined Behavior
ViewData always observes the sticky bits so that if an instruction address comparator
is selected, all the data corresponding to that instruction will match. In normal
circumstances, you must not use single instruction address comparators as the enabling
event, because they do not observe the sticky bit.
There is no need for TraceEnable or the start/stop block to observe the sticky bit,
because when a data instruction has been traced, tracing cannot be disabled until all data
transfers corresponding to that instruction have occurred.
Note
Using data values to create an event, such as a sequencer transition, might result in
out-of-order events occurring because the load data might be returned out of order. If
you are concerned that the ARM10 nonblocking cache might affect programmed
events, you can disable it in the core by writing to bit 21 of the cp15 configuration
register (r1). See the appropriate ARM10 Technical Reference Manual for more
information.
5-6 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Implementation-defined Behavior
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 5-7
Implementation-defined Behavior
5-8 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Chapter 6
Tracing Dynamically-loaded Images
This chapter describes software issues relating to the ETM10. It contains the following
sections:
• About tracing dynamically-loaded code on page 6-2
• Software support for context ID on page 6-3
• Hardware support for context ID on page 6-4.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 6-1
Tracing Dynamically-loaded Images
In a simple statically-linked and loaded system, a single image is run that describes the
mapping between target addresses as image locations. To perform the debugging, the
debugger requires only the name of the code image. However, many systems, including
operating systems such as Windows CE, Linux, or EPOC32, load part or all of their
software dynamically. This can have a number of effects:
• the address at which an image is loaded might not be known until it is loaded
• in a complex system the debugger might not know what images are candidates to
be loaded until they are loaded.
To debug systems like these, the debugger must be able to interrogate the target, to
determine what images are loaded and where they are loaded from.
The problem is more complex when using trace, because trace data is historical
information. Any embedded trace solution requires an image of the code that was
executed to be available to the trace decompression software of the debugger, otherwise
the debugger cannot decode the trace.
The compression algorithm used for trace conserves data bandwidth by broadcasting
only the minimum of address information. This means that, given a (compressed)
address issued by the trace port, the tools must be able to know what instructions are at
and around that point. This enables the target address of direct branches (B and BL
instructions in the case of code in ARM state) to be inferred. This is difficult with, for
example, virtual memory and software paging, because the debugger is unlikely to
know where the code is executed from.
To resolve this problem, ETM10 uses context IDs. These require both software and
hardware support, as described in:
• Software support for context ID on page 6-3
• Hardware support for context ID on page 6-4.
6-2 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Tracing Dynamically-loaded Images
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 6-3
Tracing Dynamically-loaded Images
To support tracing when only a partial binary image is available, the ETM10
compression protocol maintains synchronization even as the ETM branches into
unknown code regions. Trace is decompressable again immediately after jumping back
into a region for which the code image is available.
6-4 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Chapter 7
Physical Trace Port Signal Guidelines
This chapter contains some signal guidelines that can ensure correct operation of the
ETM and trace tools. It contains the following sections:
• About trace port signal quality on page 7-2
• ASIC pad selection, placement, and package type on page 7-3
• PCB design guidelines on page 7-4
• EMI compliance on page 7-8
• Further references on page 7-9.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 7-1
Physical Trace Port Signal Guidelines
When integrating an ETM into an ASIC, the quality and timing of the trace port signals
to the TPA are critical for reliable operation. Some of the issues to consider are:
• output pad selection
• PCB track lengths
• PCB track termination
• setup and hold times for the trace data signals with respect to TRACECLK.
7-2 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Physical Trace Port Signal Guidelines
The quality of the TRACECLK signal, as observed by the TPA, has the greatest effect
on the reliability of the system. It is vital that TRACECLK transitions move cleanly
through the threshold region of the input circuitry of the TPA, without glitches or
ringing.
With certain types of package and pin placement (for example, pads on the corner or the
edge of a package), the signal coupling between the trace data signals and the trace
clock can be significant. If this problem is encountered during simulations, place GND
or static I/O signals on both sides of the TRACECLK signal.
The quality of the package, and specifically the presence or absence of a ground plane
in the package, can significantly affect the quality of the output signal. In general, ASIC
pads are specified in terms of current drive and signal slew rate. For calculating the PCB
signal quality you are likely to also have to determine:
• the signal rise and fall times
• the pad output impedance.
Note
Matched impedance output pads give a significantly improved performance.
You must also consider the pad placement, to ensure that the PCB tracking to the trace
port connector is possible. You are recommended to place the pads so that they are:
• on the outside of the package
• grouped together
• in the same order as the connector.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 7-3
Physical Trace Port Signal Guidelines
This is the preferred implementation for connecting a TPA to a trace port. The TPA is
the only load on the nodes connected to target ASIC pins, so the only factor affecting
operation is signal integrity at the TPA connector.
If you know the characteristics of your PCB tracks, use the actual trace impedance and
propagation delay. If you do not have access to this information, use the following
guidelines for microstrip (track on outer layer over a ground plane) on FR4 PCB:
• the characteristic impedance and signal edge rates of the ETM output drivers
• the actual setup and hold provided by the ASIC ETM outputs with reference to
the ETM TRACECLK.
If you do not know the characteristics of the signals from your ASIC, consult your ASIC
vendor. It is difficult to provide any general rule because ETM output drivers and
timings vary between ASIC vendors.
7-4 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Physical Trace Port Signal Guidelines
• if the clock is delayed compared to the data, you must increase the setup
specification by the additional clock delay
• if any data is delayed compared to the clock, you must add the delay to the setup
requirement
• if data paths are such that data has both greater than and less than delays compared
with the clock, you must add the difference to both the setup and hold
specification.
Signal quality
The primary variable that characterizes signal quality is the rise time of a signal
compared to its propagation time. It is this relationship that affects the track length, and
this is where the minimum signal rise and fall time becomes important.
To ensure accurate data acquisition, you must minimize all reflections, overshoot, and
undershoot. Aim to keep the one-way propagation time for all tracks at less than one
third of the signal rise time.
As the fabrication process for your ASIC improves, your output driver is likely to
improve and your rise and fall times are likely to decrease. If you cannot keep the
propagation time for all tracks below one third of the signal rise time, some form of
signal termination is required. This can be either of the following:
Series termination Place the series resistor as close as possible to the ASIC pin,
ideally within half an inch (1.27 cm). The value of this series
resistor plus the output impedance of the signal driver must
closely match the impedance of the PCB track. This is the
recommended method.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 7-5
Physical Trace Port Signal Guidelines
If the total track length is equivalent to one rise time propagation delay or greater,
follow standard high-speed design practices to minimize cross talk between the clock
and the data signals. (The total track length is the target PCB track length plus any PCB
track on the TPA buffer board.)
Note
ASIC output pads with an output impedance that is matched to the PCB track might be
available from your ASIC vendor. If these are used, the signal quality of the trace port
signals is significantly improved.
Some applications might not have enough pins available for trace, so you might have to
multiplex trace signals with other functions. This has the effect of increasing the load
on the trace signals, unless a specific trace-only development board is built.
When an ETM output pin is multiplexed with other functions, the addition of the TPA
target header can add a stub to the PCB track on the target system. It is important to
minimize the effect of the TPA target header on non TPA-based signal usage and
maintain the integrity of the trace measurements. The following constraints apply:
7-6 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Physical Trace Port Signal Guidelines
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 7-7
Physical Trace Port Signal Guidelines
7-8 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Physical Trace Port Signal Guidelines
Agilent The Agilent web site enables you to download data on their TPA and LA
products. You can use the search engine on the web site to look for pages
and documents that refer to ETM. For example, the document Trace Port
Analysis for ARM ETM (Agilent document number E5903-97002)
contains equivalent models for Agilent TPA and Logic Analyzer
products.
Tektronix The Tektronix web site has a number of documents relating to the use of
their Logic Analyzers for acquiring trace. For example, the document
P6434 Mass Termination Probe (Tektronix document number
070-9793-02) provides models for the equivalent load of the Logic
Analyzer probe.
Other vendors
Details about TPA vendors are added to this document as they become
known to ARM. You can also contact your chosen vendor directly for the
latest information.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. 7-9
Physical Trace Port Signal Guidelines
7-10 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Appendix A
Signal Descriptions
This appendix describes the signals used in ETM10. It contains the following sections:
• Functional signals on page A-2
• DFT signals on page A-5.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. A-1
Signal Descriptions
ARMTDO Input The TDO output signal from an external scan chain.
DBGRQ Output Debug request. You can use this signal to stop the ARM
processor.
ETMDATA[63:0] Input The load, store, and coprocessor data from the ARM1020E
core.
ETMDATAVALID[1:0]] Input Valid signal for ETMDATA bus (one bit for each for high
and low word).
ETMEN Output This output is HIGH when the debugger has enabled the
ETM.
ETMR15EX[31:1] Input The instruction address for all non branch phantom
instructions.
EXTOUT[3:0] Output External outputs from the ETM. Can be used to trigger
hardware inside the ASIC, or external equipment such as a
logic analyzer.
A-2 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Signal Descriptions
FIFOFULL Output Can be used to stall the ARM1020E core and prevent the
ETM FIFO from overflowing in most circumstances. See
The FIFOFULL stall signal on page 3-10 for more
information.
GCLK Input The same clock that is used by the ARM1020E core. Used
to time most of the operations in the ETM10. GCLK is
gated internal to ETM10 to be disabled whenever
PWRDOWN is asserted.
PIPESTATA[3:0] Output Indicates the pipeline status of the ARM1020E core. Used
in both normal and demultiplexed ports.
PIPESTATB[3:0] Output Indicates the pipeline status of the ARM1020E core. Used
in demultiplexed ports only.
PORTMODE[1:0] Output Indicates whether the trace port has been configured in the
normal or demultiplexed configuration.
PORTSIZE[1:0] Output Indicates the currently selected port size in use on the
TRACEPKTA and TRACEPKTB buses.
PWRDOWN Output When HIGH, indicates that the ETM10 is powered down.
SYSOPT[8:0] Input Indicates to the debug tools the system options that have
been implemented. Bits are tied HIGH or LOW, as
appropriate, as part of the integration process.
TRACECLK Output Trace port clock used by TPA device to sample trace port
outputs.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. A-3
Signal Descriptions
TRACEPKTA[15:0] Output Trace packet port used in both normal and demultiplexed
ports.
TRIGGER Output Single bit indication that a trigger has occurred in the ETM.
TPA devices do not require this signal because triggers are
usually indicated by the TR PIPESTAT value on the trace
port. However, ASIC logic can make use of this signal for
a glueless indication that a trigger has occurred.
A-4 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Signal Descriptions
ETM10SCANEN Input Dynamic Scan enable for all internal clock domains. HIGH = shift.
ETM10SAFE Input Static Forces safe values onto the outputs of the core. Use during
core test and during the shift sequence of any other mode that
uses the ETM10 wrapper.
ETM10WMUXINSEL Input Static Configures the wrapper cells into core test mode.
ETM10WMUXOUTSEL Input Static Configures the wrapper cells in external test mode.
ETM10DFTRESET Input Dynamic Direct control over asynchronous reset during scan mode.
ETM10DFTWCKEN Input Static Enables gating of the wrapper clock to the dedicated test cells.
ETM10WSCANEN Input Dynamic Scan enable for all dedicated test cells in the wrapper. HIGH
= shift.
SCORETEST Input Static Serialize all of the scan chains (internal and wrapper).
ETM10WSCANIN[1:0] Input Dynamic Input ports for the wrapper scan chains.
ETM10WSCANOUT[1:0] Output Dynamic Output ports for the wrapper scan chains.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. A-5
Signal Descriptions
A-6 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Glossary
This glossary describes some of the terms used in this manual. Where terms can have
several meanings, the meaning presented here is intended.
Abort A mechanism that indicates to a core that it must halt execution of an attempted illegal
memory access. An abort can be caused by the external or internal memory system as a
result of attempting to access invalid instruction or data memory. An abort is classified
as either a Prefetch Abort, a Data Abort, or an External Abort.
Application Specific Integrated Circuit (ASIC)
An integrated circuit that is designed to perform a specific application function. It can
be custom-built or mass-produced.
ASIC See Application Specific Integrated Circuit.
ATPG See Automatic Test Pattern Generation.
Automatic Test Pattern Generation (ATPG)
The process of automatically generating manufacturing test vectors for an ASIC design,
using a specialized software tool.
Branch folding Branch folding is a technique where, on the prediction of most branches, the branch
instruction is completely removed from the instruction stream presented to the
execution pipeline. Branch folding can significantly improve the performance of
branches, taking the CPI for branches below one.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. Glossary-1
Glossary
In ARM processors, a fast context switch is caused by the selection of a non-zero PID
value to switch the context to that of the next process. A fast context switch causes each
Virtual Address for a memory access, generated by the ARM processor, to produce a
Modified Virtual Address which is sent to the rest of the memory system to be used in
Glossary-2 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Glossary
place of a normal Virtual Address. For some cache control operations Virtual Addresses
are passed to the memory system as data. In these cases no address modification takes
place.
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. Glossary-3
Glossary
Glossary-4 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Index
ARMDDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. Index-1
Index
S T
J
Scan chains 4-2 TAP
JTAG interface 2-2 concatenations 4-4 interface 3-14
Scan chain, external 3-14 reset 3-12
Serial core test mode 4-13 TCK 3-12, 3-24, A-3
M Shared trace port 7-6 TDI A-3
Signal naming conventions xii TDO A-3
Matched AC termination 7-5 Signal quality 7-1 Test
Modes of operation Signals modes 4-10
demultiplexed 3-22 ARMTDO A-2 ports 4-10
normal 3-21 CLKDIVTWOEN 3-21, A-2 wrapper 4-6
Index-2 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B
Index
W
Wrapper cells
input 4-6
output 4-7
reset 4-8
ARM DDI 0206B Copyright © 2001, 2003 ARM Limited. All rights reserved. Index-3
Index
Index-4 Copyright © 2001, 2003 ARM Limited. All rights reserved. ARM DDI 0206B