Level One Memory System
ARM DDI 0363G
Copyright © 2006-2011 ARM Limited. All rights reserved.
8-16
ID073015
Non-Confidential
When either the LSU or the AXI slave interface is performing a read-modify-write operation on
a TCM port, various internal data hazards exist for either the AXI slave interface or the LSU. In
these cases, additional stall cycles are generated, beyond those normally required for arbitration.
For optimum performance of the processor when configured with ECC, ensure that all write
bursts to the TCM from the AXI slave interface write an entire data chunk, that is, 32-bits or
64-bits, naturally aligned, depending on the error scheme.
8.4.5
TCM initialization
You can enable the processor to boot from the ATCM or the BTCM. The
INITRAMA
and
INITRAMB
pins, when tied HIGH, enable the ATCM and the BTCM respectively on leaving
reset. The
LOCZRAMA
pin forces one of the TCMs to have its base address at
0x0
. If
LOCZRAMA
is tied HIGH, the initial base address of the ATCM is
0x0
, otherwise the initial
base address of the BTCM is
0x0
. In both cases, the initial base address of the other TCM is
implementation-defined, see
The ATCM Region Register and BTCM Region Register respectively determine the base
address for the ATCM and BTCM. For information on how to read the TCM region registers,
see
appropriate. For information about pre-loading data into the TCMs, see
.
8.4.6
TCM port protocol
Each TCM port operates independently to read and write data to and from the memory attached
to it. Information about which memory location is to be accessed is passed on the TCM port
along with write data and associated error code or parity bits, if appropriate. In addition, the
TCM port provides information about whether the access results from an instruction fetch from
the PFU, a data access from the LSU, or a DMA transfer from the AXI slave interface. Each
TCM port can also be configured to have an associated parity bit, computed from the address
and control signals for that port.
Read data and associated error code or parity bits are read back from the TCM port. In addition,
the TCM memory controller can indicate that the processor must wait one or more cycles before
reading the response, or signal that an error has occurred and must be either aborted or retried.
For more information about TCM errors, see
.
8.4.7
External TCM errors
Each TCM port has a number of features that support the integration of a TCM RAM with an
error checking scheme implemented in the RAM controller logic outside of the processor, that
is, by the integrator.
Errors can be signaled to each TCM port if the external error checking scheme detects one and,
if enabled, the processor generates an instruction or data abort or an AXI error response as
appropriate. On a TCM read from either the instruction side or data side, the TCM controller
can indicate that the read must be retried instead of generating an abort.
You can enable external errors for each TCM port individually by setting the appropriate bits in
the ACTLR. See
c1, Auxiliary Control Register
. If external errors are not enabled
for a TCM port, the processor ignores any error signaled on that port. You can pin-configure the
processor to set the enable bits, and therefore enable external error checking on reset, by tying
off the
ERRENRAM
input as required.
In addition, an external error detection scheme might require that data is read and written in
particular sized chunks. The load/store-64 feature, when enabled for a particular TCM interface,
causes all loads and stores to the TCM ports to be of 64-bits of data. This feature is also known
as
Read-Modify-Write
(RMW), because it causes the processor to generate read-modify-write