- •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
Chapter 5
Static Memory Controller
This chapter describes the Static Memory Controller (SMC). It contains the following sections:
•Static memory device selection on page 5-2
•Write-protection on page 5-3
•Extended wait transfers on page 5-4
•Memory mapped peripherals on page 5-5
•Static memory initialization on page 5-6
•Byte lane control and databus steering for little and big-endian configurations on page 5-28.
ARM DDI 0215A |
Copyright © 2002 ARM Limited. All rights reserved. |
5-1 |
Static Memory Controller
5.1Static memory device selection
Table 5-1 shows suggested configurations for the static memory controller with different types of memory devices. These fields are found in the MPMCStaticConfig[n] register, for more information see Chapter 3 Programmer’s Model.
Table 5-1 Static memory controller configurations
Device |
Write-protect |
Page |
Buffer |
|
mode |
||||
|
|
|
||
|
|
|
|
|
ROM |
1 |
0 |
0a |
|
Page mode ROM |
1 |
1 |
1a |
|
Extended wait ROM |
1 |
0 |
0a |
|
SRAM |
0 (or 1)b |
0 |
0a |
|
Page mode SRAM |
0 (or 1)b |
1 |
1a |
|
Extended wait SRAM |
0 (or 1)b |
0 |
0a |
|
Flash |
0 (or 1)b |
0 |
0c |
|
Page mode Flash |
0 (or 1)b |
1 |
1c |
|
Extended wait Flash |
0 (or 1)b |
0 |
0a |
|
Memory mapped peripheral |
0 (or 1)b |
0 |
0 |
a.Enabling the buffers means that any access causes the buffer to be used. Depending on the application, this can provide performance improvements. Generally, devices without async-page-mode support work better with the buffer disabled. Devices with async page-mode support are more efficient with the buffer enabled.
b.SRAM and FLASH memory devices can be write protected if required.
c.Buffering must be disabled when polling the FLASH memories status registers and during writes.
Note
Write buffering can only be enabled if the ordering of transfers is unimportant. This is the case for SRAM. Extended wait and Page mode cannot be enabled simultaneously.
5-2 |
Copyright © 2002 ARM Limited. All rights reserved. |
ARM DDI 0215A |
Static Memory Controller
5.2Write-protection
Each memory bank can be configured for write-protection. Usually SRAM is unprotected and ROM devices must be write-protected (to avoid potential bus conflict when performing a write access to ROM), but the P field in the MPMCStaticConfig register can be set to write-protect SRAM as well as ROM devices. If a write access is made to a write-protected memory bank, an error is indicated by the HRESP[1:0] signal. If a write access is made to a memory bank containing ROM devices and the bank is not write-protected, an error indication is not returned, and a write access proceeds as normal. In this case output enable is not brought LOW (active). Depending on the ROM device, this might lead to bus conflict.
ARM DDI 0215A |
Copyright © 2002 ARM Limited. All rights reserved. |
5-3 |
Static Memory Controller
5.3Extended wait transfers
The static memory controller supports extremely long transfer times. In normal use the memory transfers are timed using the MPMCStaticWaitRd and MPMCStaticWaitWr registers. These registers enable transfers with up to 32 wait states. However, if an extremely slow static memory device has to be accessed you can enable the MPMCStaticConfig Extended Wait (EW) bit. When this bit is enabled the MPMCStaticExtendedWait register is used to time both the read and write transfers. This register enables transfers to have up to 16368 wait states.
Note
Using extremely long transfer times might mean that SDRAM devices are not refreshed correctly.
Very slow transfers can severely degrade system performance as the external memory interface is tied up for long periods of time. This has detrimental efforts on time critical services, such as interrupt latency and low latency devices, for example video controllers.
5-4 |
Copyright © 2002 ARM Limited. All rights reserved. |
ARM DDI 0215A |