- •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
Functional Overview
2.2Overview of a PrimeCell MPMC, ASIC, or ASSP system
Figure 2-4 shows the PrimeCell MPMC in an example system.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SDRAM |
|
|
|
|
|
|
|
|
|
LCD AHB |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
ARM |
|
|
|
LCD |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
controller |
|
|
|
|
|
|
|
|
Low-power |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
System AHB |
|
|
|
|
|
SDRAM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
PrimeCell |
|
|
|
Synchronous |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
flash |
||
|
|
|
|
|
|
|
|
|
|
|
multiport |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
non-DMA |
|
|
DMA |
|
DMA AHB |
memory |
|
|
|
|
|
|||
|
|
|
|
|
controller |
|
|
|
|
|||||||
|
|
peripherals |
|
|
controller |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SRAM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ROM |
|
|
|
|
|
|
|
DMA |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
peripherals |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Flash |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Figure 2-4 PrimeCell MPMC in an example system
The example system uses two types of buses:
•external
•internal (AHB).
2.2.1External bus
The off-chip bus that contains data, address, and control signals, connects the ASIC or ASSP to the external memory.
Note
•Connecting a large number of memory devices externally impacts on performance.
•Only one memory device can be accessed at a time.
ARM DDI 0215A |
Copyright © 2002 ARM Limited. All rights reserved. |
2-9 |
Functional Overview
2.2.2Internal bus
The on-chip bus enables communication between the on-chip peripherals. The PrimeCell MPMC appears as a standard slave on the on-chip bus and controls the memory on the external bus.
Providing multiple AHB interfaces improves system performance by enabling several access requests to be presented to the memory controller at the same time. This enables the PrimeCell MPMC to pipeline many of the operations (for example, bank activate and precharge), and so reduce the average system access latency and improve utilization of external memory. The use of multiple AHB interfaces also improves system performance by removing heavy DMA traffic from the main AHB bus.
2-10 |
Copyright © 2002 ARM Limited. All rights reserved. |
ARM DDI 0215A |
Functional Overview
2.3Low power operation
In many systems, the contents of the memory system have to be maintained during low-power sleep modes. The PrimeCell MPMC provides two features to enable this:
•dynamic memory refresh over soft reset
•a mechanism to place the dynamic memories into self-refresh mode.
Self-refresh mode can be entered automatically by hardware or manually by software:
•It can be entered manually setting the SREFREQ bit in the MPMCDynamicControl register and polling the SREFACK bit in the MPMCStatus register.
•It can be entered automatically using a Power Management Unit (PMU). This is typically present to control the safe transition between the following modes:
—power-up
—reset
—normal
—sleep.
The PMU can be used to enable self-refresh mode to be entered automatically. To do this, the PMU asserts the MPMCSREFREQ signal when self-refresh mode is to be entered. The memory controller then closes any open memory banks and puts the external memory into self-refresh mode. The PrimeCell MPMC then asserts the MPMCSREFACK signal to indicate to the PMU that self-refresh mode is entered. The system must ensure that the memory subsystem is idle before asserting MPMCSREFREQ. Any transactions to memory that are generated while the memory controller is in self-refresh mode are rejected and an error response is generated (HRESP = ERROR). Deasserting MPMCSREFREQ returns the memory to normal operation. See the memory data sheet for refresh requirements. If MPMCSREFREQ is not required it must be tied LOW.
Note
Static memory can be accessed as normal when the SDRAM memory is in self-refresh mode.
2.3.1Deep sleep mode
The PrimeCell MPMC supports JEDEC low-power SDRAM deep sleep mode. Deep sleep mode can be entered by setting the deep sleep mode (DP) bit in the MPMCDynamicControl register. The device is then put into a low-power mode where the device is powered down and no longer refreshed. All data in the memory is lost.
ARM DDI 0215A |
Copyright © 2002 ARM Limited. All rights reserved. |
2-11 |
Functional Overview
2.4Lock and semaphores
Locked accesses on the AHB bus, transactions where HMASTLOCK is HIGH, are processed correctly. When an AHB interface requests a locked transfer and the request is executed, accesses from the other AHB interfaces are blocked, and data transfers are not re-ordered.
2-12 |
Copyright © 2002 ARM Limited. All rights reserved. |
ARM DDI 0215A |