- •Contents
- •List of Tables
- •List of Figures
- •Preface
- •About this document
- •Feedback
- •Introduction
- •1.1 About the ARM PrimeCell MultiPort Memory Controller (PL172)
- •1.2 Supported dynamic memory devices
- •1.3 Supported static memory devices
- •Functional Overview
- •2.1 PrimeCell MPMC functional description
- •2.2 Overview of a PrimeCell MPMC, ASIC, or ASSP system
- •2.3 Low power operation
- •2.4 Lock and semaphores
- •2.5 Arbitration
- •2.6 Memory bank select
- •2.7 Memory map
- •Programmer’s Model
- •3.1 About the programmer’s model
- •3.2 Register descriptions
- •Programmer’s Model for Test
- •4.1 PrimeCell MPMC test harness overview
- •4.2 Scan testing
- •4.3 Test registers
- •Static Memory Controller
- •5.1 Static memory device selection
- •5.2 Write-protection
- •5.3 Extended wait transfers
- •5.4 Memory mapped peripherals
- •5.5 Static memory initialization
- •5.6 Byte lane control
- •5.7 Byte lane control and databus steering for little and big-endian configurations
- •Dynamic Memory Controller
- •6.1 Write-protection
- •6.2 Access sequencing and memory width
- •6.3 Address mapping
- •6.4 Dynamic memory controller command descriptions
- •6.5 Generic SDRAM initialization example
- •6.6 Micron MT48LC4M16A2 SDRAM initialization example
- •6.8 Micron MT28F4M16S2 SyncFlash initialization example
- •6.9 Micron SyncFlash commands
- •Common Memory Transactions
- •7.1 Static and dynamic memory transaction latency
- •Test Interface Controller
- •8.1 About TIC
- •8.2 Sequence of events leading to entry into TIC test mode
- •System Connectivity
- •9.2 Self-refresh entry
- •9.3 Example system
- •Off-chip Connectivity
- •10.2 Pin count reduction by reducing databus width
- •10.3 Pin count reduction by removing functionality
- •10.4 Address pin reduction
- •10.5 Chip select pin reduction
- •10.6 Device support
- •10.7 Multiplexing static and dynamic memory pins
- •10.8 Reducing pin count by multiplexing MPMC pins
- •10.9 About MPMC timing
- •10.10 On-chip timing path
- •10.11 Off-chip timing path
- •10.12 Clock strategy
- •10.13 Clock ratios
- •10.14 Memory clock and fed-back clock strategy
- •Pad Interface Timing
- •A.1 Overview
- •A.2 Signal delay
- •A.3 Method to reduce delay
- •A.4 Methods to reduce skew
- •A.5 Methods to minimize the effects of delay and skew
- •A.6 Example SDRAM memory timing diagram
- •A.7 SDRAM memory timing paths
- •Troubleshooting
- •B.1 Troubleshooting
- •C.1 AHB register signals
- •C.2 AHB memory signals
- •C.3 Miscellaneous and clock signals
- •C.4 Pad interface and control signals
- •C.5 Test Interface Controller (TIC) signals
- •C.6 Scan test signals
MultiPort Memory Controller Signal Descriptions
C.2 AHB memory signals
Table C-2 describes the AHB memory signals. In Table C-2, the signal names for each port can be found by substituting the port number, 0, 1, 2, or 3, for the symbol x. Unused ports are disabled by connecting their inputs to logic 0.The MPMC does not support RETRY or SPLIT transactions.
|
|
|
|
Table C-2 AHB memory signal descriptions |
|
|
|
|
|
|
|
Name |
Type |
Source/ |
Description |
||
destination |
|||||
|
|
|
|
||
|
|
|
|
||
HADDRx[27:0] |
Input |
AHB master |
The AHB address bus. |
||
Address bus |
|
layer |
|
|
|
|
|
|
|
||
HBURSTx[2:0] |
Input |
AHB master |
Indicates if the transfer forms part of a burst. 4, 8 and 16 beat bursts |
||
Burst type |
|
layer |
are supported and the burst can be either incrementing or |
||
|
|
|
wrapping. |
||
|
|
|
|
||
HMASTLOCKx |
Input |
AHB master |
When HIGH, this signal indicates that the master requires locked |
||
Locked transfers |
|
layer |
access to the SDRAM and no other master must be granted the bus |
||
|
|
|
until this signal is LOW. |
||
|
|
|
|
||
HRDATAx[31:0] |
Output |
AHB master |
The read databus is used to transfer data from the MPMC to the bus |
||
Read databus |
|
layer |
master during read operations. |
||
|
|
|
|
||
HREADYINx |
Input |
AHB slave |
When HIGH, the HREADYIN signal indicates that a transfer has |
||
Transfer done |
|
layer |
finished on the bus. This signal can be driven LOW to extend a |
||
|
|
|
transfer. An alternate slave generates this signal. |
||
|
|
|
|
||
HREADYOUTx |
Output |
AHB master |
When HIGH, the HREADYOUT signal indicates that a transfer |
||
Transfer done |
|
layer and |
has finished on the bus. This signal can be driven LOW to extend |
||
|
|
AHB slave |
a transfer. |
||
|
|
layer |
|
|
|
|
|
|
|
||
HRESPx[1:0] |
Output |
AHB master |
The transfer response provides additional information on the status |
||
Transfer response |
|
layer |
of a transfer. Four different responses are provided, OKAY, |
||
|
|
|
ERROR, RETRY and SPLIT. The SDRAM controller can respond |
||
|
|
|
with either the OKAY or ERROR responses. The ERROR |
||
|
|
|
response is generated when: |
||
|
|
|
• |
the transfer size is greater than allowed |
|
|
|
|
• |
the memory access is a write to a write protected region |
|
|
|
|
• |
the memory is accessed with the MCEnable bit disabled or |
|
|
|
|
|
the LowPowerMode bit is asserted. |
C-4 |
Copyright © 2002 ARM Limited. All rights reserved. |
ARM DDI 0215A |
|
|
|
MultiPort Memory Controller Signal Descriptions |
|
|
|
|
Table C-2 AHB memory signal descriptions (continued) |
|
|
|
|
|
|
Name |
Type |
Source/ |
Description |
|
destination |
||||
|
|
|
||
|
|
|
|
|
HSELMPMCxCS[7:0] |
Input |
AHB decoder |
MPMC select signal. These signals select indicate an access to |
|
Slave select |
|
|
memory. Specific chip select. HSELMPMCxCS[0] indicates the |
|
|
|
|
transfer is to chip select 0, HSELMPMCxCS[1] indicates the |
|
|
|
|
transfer is to chip select 1, and so on. Only one signal can go active |
|
|
|
|
at a time. |
|
|
|
|
|
|
HSIZEx[2:0] |
Input |
AHB master |
Indicates the size of the transfer, which is typically byte (8-bit), |
|
Transfer size |
|
layer |
halfword (16-bit), or word (32-bit). Byte (8-bit), halfword (16-bit), |
|
|
|
|
and word (32-bit) transfers are allowed to access the external |
|
|
|
|
memory. Transfer sizes greater than 32-bits generate an ERROR |
|
|
|
|
response. |
|
|
|
|
|
|
HTRANSx[1:0] |
Input |
AHB master |
Indicates the type of the current transfer, which can be |
|
Transfer type |
|
layer |
NONSEQUENTIAL, SEQUENTIAL, IDLE, or BUSY. |
|
|
|
|
|
|
HWDATAx[31:0] |
Input |
AHB master |
The write databus is used to transfer data from the master to the bus |
|
Write databus |
|
layer |
slaves during write operations. |
|
|
|
|
|
|
HWRITEx |
Input |
AHB master |
When HIGH this signal indicates a write transfer and when LOW |
|
Transfer direction |
|
layer |
a read transfer. |
|
|
|
|
|
|
HSELMPMCxG |
Input |
AHB decoder |
PrimeCell MPMC global select signal. This signal must go active |
|
Slave select |
|
|
with the HSELMPMCxCS[7:0] signals, and whenever the |
|
|
|
|
MPMC is accessed. |
|
|
|
|
|
ARM DDI 0215A |
Copyright © 2002 ARM Limited. All rights reserved. |
C-5 |
MultiPort Memory Controller Signal Descriptions
C.3 Miscellaneous and clock signals
Table C-3 describes the miscellaneous and clock signals.
Table C-3 Miscellaneous and clock signal descriptions
Name |
Type |
Source/ |
Description |
|
destination |
||||
|
|
|
||
|
|
|
|
|
MPMCBIGENDIAN |
Input |
Reset controller |
Endian select. If this bit is HIGH, big-endian mode is |
|
|
|
|
selected. This signal must not be altered during normal |
|
|
|
|
operation. This signal can be generated by registering |
|
|
|
|
an input signal on power-on-reset (nPOR) in the reset |
|
|
|
|
controller. Alternatively, this signal can be tied to the |
|
|
|
|
appropriate value. |
|
|
|
|
|
|
MPMCCLK |
Input |
Clock source |
MPMCCLK times all external memory transfers. |
|
|
|
|
MPMCCLK must be synchronous to HCLK. |
|
|
|
|
MPMCCLK can operate at the same frequency as |
|
|
|
|
HCLK or twice the frequency of HCLK. |
|
|
|
|
|
|
MPMCSREFACK |
Output |
Power management |
Self-refresh acknowledgement. |
|
Self-refresh acknowledge |
|
unit |
|
|
|
|
|
|
|
MPMCSREFREQ |
Input |
Power management |
Self-refresh request. |
|
Self-refresh request |
|
unit |
|
|
|
|
|
|
|
MPMCSTCS1MW[1:0] |
Input |
Reset controller |
Chip select 1 memory width selection.00 = 8-bit wide |
|
|
|
|
memory01 = 16-bit wide memory10 = 32-bit wide |
|
|
|
|
memory11 = reserved. Used for static memory devices. |
|
|
|
|
This signal must not be altered during normal |
|
|
|
|
operation. This signal can be generated by registering |
|
|
|
|
an input signal on power-on-reset (nPOR) in the reset |
|
|
|
|
controller. Alternatively, this signal can be tied to the |
|
|
|
|
appropriate value. |
|
|
|
|
|
|
MPMCSTCS0POL |
Input |
Reset controller |
Chip select 0 polarity select. A HIGH value indicates |
|
|
|
|
CS active high, a LOW value indicates CS active |
|
|
|
|
low.Used for static memory devices. This signal must |
|
|
|
|
not be altered during normal operation. This signal can |
|
|
|
|
be generated by registering an input signal on |
|
|
|
|
power-on-reset (nPOR) in the reset controller. |
|
|
|
|
Alternatively, this signal can be tied to the appropriate |
|
|
|
|
value. |
C-6 |
Copyright © 2002 ARM Limited. All rights reserved. |
ARM DDI 0215A |
|
|
|
MultiPort Memory Controller Signal Descriptions |
|
|
|
Table C-3 Miscellaneous and clock signal descriptions (continued) |
||
|
|
|
|
|
Name |
Type |
Source/ |
Description |
|
destination |
||||
|
|
|
||
|
|
|
|
|
MPMCSTCS1POL |
Input |
Reset controller |
Chip select 1 polarity select.A HIGH value indicates |
|
|
|
|
CS active high, a LOW value indicates CS active |
|
|
|
|
low.Used for static memory devices. This signal must |
|
|
|
|
not be altered during normal operation. This signal can |
|
|
|
|
be generated by registering an input signal on |
|
|
|
|
power-on-reset (nPOR) in the reset controller. |
|
|
|
|
Alternatively, this signal can be tied to the appropriate |
|
|
|
|
value. |
|
|
|
|
|
|
MPMCSTCS2POL |
Input |
Reset controller |
Chip select 2 polarity select.A HIGH value indicates |
|
|
|
|
CS active high, a LOW value indicates CS active low. |
|
|
|
|
Used for static memory devices. This signal must not |
|
|
|
|
be altered during normal operation. This signal can be |
|
|
|
|
generated by registering an input signal on |
|
|
|
|
power-on-reset (nPOR) in the reset controller. |
|
|
|
|
Alternatively, this signal can be tied to the appropriate |
|
|
|
|
value. |
|
|
|
|
|
|
MPMCSTCS3POL |
Input |
Reset controller |
Chip select 3 polarity select.A HIGH value indicates |
|
|
|
|
CS active high, a LOW value indicates CS active low. |
|
|
|
|
Used for static memory devices. This signal must not |
|
|
|
|
be altered during normal operation. This signal can be |
|
|
|
|
generated by registering an input signal on |
|
|
|
|
power-on-reset (nPOR) in the reset controller. |
|
|
|
|
Alternatively, this signal can be tied to the appropriate |
|
|
|
|
value. |
|
|
|
|
|
|
nPOR |
Input |
Reset controller |
Power-on reset (active LOW). |
|
Power-on reset |
|
|
|
|
|
|
|
|
ARM DDI 0215A |
Copyright © 2002 ARM Limited. All rights reserved. |
C-7 |