
4-10
Memory Interface
Rev. A
Copyright 2000 by LSI Logic Corporation. All rights reserved.
In normal circumstances, a memory system must sample the
WDATA[31:0] bus on the rising edge of CLK at the end of a write bus
cycle. The value on WDATA[31:0] is valid only during write cycles.
4.3.2.2 RDATA[31:0]
RDATA[31:0] is the read data bus; the ARM7TDMI-S core uses it to fetch
both opcodes and data. The RDATA[31:0] signal is sampled on the rising
edge of CLK at the end of the bus cycle. RDATA[31:0] is also used during
C cycles to transfer data from a coprocessor to the ARM7TDMI-S core.
4.3.2.3 ABORT
Assertion of ABORT indicates that a memory transaction failed to
complete successfully. ABORT is sampled at the end of the bus cycle
during active memory cycles (S cycles and N cycles).
If ABORT is asserted on a data access, it causes the ARM7TDMI-S core
to take the data abort trap. If ABORT is asserted on an opcode fetch, the
abort is tracked down the pipeline, and the prefetch abort trap is taken if
the instruction is executed.
A memory management system can use ABORT to implement, for
example, a basic memory protection scheme or a demand-paged virtual
memory system.
For more details about aborts, see
Section 3.6.5, “Aborts (PABT and
DABT),” page 3-14
.
4.3.3 Byte and Halfword Accesses
The ARM7TDMI-S core indicates the size of a transfer using the
SIZE[1:0] signals. These signals are encoded in
Table 4.3
.
All writable memory in an ARM7TDMI-S based system should support
the writing of individual bytes to allow the use of the C Compiler and the
ARM debug tool chain (for example, Multi-ICE).