- •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
System Connectivity
9.3Example system
This section shows an example system. The system illustrates the memory controller integration issues. See Figure 9-5 for a block diagram of the example system.
Misc pads |
|
||
|
|
|
nRESET |
|
Input |
|
|
|
signals |
|
|
|
|
|
Multiplexed |
|
|
|
|
|
Input |
|
|
|
|
input signals |
|
|
signals |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MPMCTESTIN
TestClock
Clock HCLK generator MPMCCLK
PMU
Reset control
Refresh
control
Clock select
ARM processor
DMA controller
DMA controller
LCD controller
nPOR
HRESETn
MPMCBIGENDIAN MPMCSTCS1MW[1:0]
MPMCSTCS0POL
MPMCSTCS1POL
MPMCSTCS2POL
MPMCSTCS3POL
MPMCSREFREQ
MPMCSREFACK
HCLK
MPMCCLK
AHB Bus3
AHB Bus2
AHB Bus1
AHB Bus0
MPMC |
MPMCDATAOUTEN[1:0] |
SDRAM pads |
|
|
|
MPMCDATAOUT[15:0] |
Bidirectional |
|
|
|
|
MPMCDATA[15:0] |
||
|
|
tristate |
||
|
MPMCDATAIN[15:0] |
|
||
|
signals |
|
||
|
|
|
||
|
MPMCADDROUT[27:0] |
|
MPMCADDROUT[27:0] |
|
|
MPMCCKEOUT[3:0] |
|
MPMCCKEOUT[3:0] |
|
|
MPMCDQMOUT[3:0] |
|
MPMCDQMOUT[3:0] |
|
|
nMPMCCASOUT |
|
nMPMCCASOUT |
|
|
nMPMCRASOUT |
|
nMPMCRASOUT |
|
|
nMPMCDYCSOUT[3:0] |
|
nMPMCDYCSOUT[3:0] |
|
|
nMPMCWEOUT |
Output |
nMPMCWEOUT |
|
|
nMPMCRPOUT |
signals |
nMPMCRPOUT |
|
|
|
|||
|
nMPMCOEOUT |
|
nMPMCOEOUT |
|
|
nMPMCBLSOUT[3:0] |
|
nMPMCBLSOUT[3:0] |
|
|
nMPMCSTCSOUT[3:0] |
|
nMPMCSTCSOUT[3:0] |
|
|
MPMCCLKOUT[3:0] |
|
MPMCCLKOUT[3:0] |
|
|
Delay |
|
|
|
|
MPMCFBCLKIN[3:0] |
|
MPMCFBCLKIN[3:0] |
|
|
|
Input |
|
|
|
MPMCTESTIN |
signals |
MPMCTESTIN |
|
|
|
|||
TICAHB |
|
|
|
|
|
|
MUX pads |
|
|
Register |
MPMCDATAOUTEN[3:2] |
|
|
|
AHB |
MPMCDATAOUT[31:16] |
|
|
|
|
Bidirectional |
MPMCDATA[31:16] |
||
|
|
|||
|
|
tristate |
||
|
MPMCDATAIN[31:16] |
|
||
|
signals |
|
||
Memory |
|
|
||
|
|
|
||
AHB3 |
|
|
|
|
|
MPMCTESTREQB |
|
MPMCTESTREQB |
|
Memory |
MPMCTESTREQA |
Input |
MPMCTESTREQA |
|
AHB2 |
signals |
|||
|
|
|||
Memory |
|
|
|
|
AHB1 |
|
|
|
|
Memory |
|
|
|
|
AHB0 |
|
|
|
Figure 9-5 Example system
9-10 |
Copyright © 2002 ARM Limited. All rights reserved. |
ARM DDI 0215A |
System Connectivity
9.3.1AHB bus 0
The highest priority MPMC AHB memory port, port 0, is connected to high priority, low latency peripheral, in this case a LCD controller.
9.3.2AHB bus 1
The next highest priority MPMC AHB memory port, port 1, is connected to the next highest priority peripheral, in this case a DMA controller.
9.3.3AHB bus 2
MPMC AHB memory port 2, is connected to a DMA controller.
9.3.4AHB bus 3
The AHB memory port (lowest priority), the AHB register port, and the AHB Tic port of the MPMC are all connected to AHB bus 3. The ARM processor is also connected to this bus. The ARM processor is therefore able to program the MPMC and to access external memory. The ARM processor can also be production tested using TIC test patterns.
Note
Some ARM processors use the TIC interface for production test.
9.3.5Power Management Unit
The major components of the Power Management Unit (PMU) are:
•Reset controller
•Refresh controller on page 9-12
•Clock select on page 9-12.
Reset controller
The reset controller generates the power-on-reset, nPOR, and AMBA reset signal,
HRESETn.
The MPMCBIGENDIAN, MPMCSTCS1MW[1:0], and MPMCSTCS[3:0]POL signals are generated by registering the value of a number of inputs to the chip when the power-on reset goes inactive. These input signals are reused during normal operation.
ARM DDI 0215A |
Copyright © 2002 ARM Limited. All rights reserved. |
9-11 |
System Connectivity
Refresh controller
The refresh controller can place the SDRAM memory devices into self-refresh mode by using the MPMCSREFREQ and MPMCSREFACK signals.
Clock select
The clock select logic is used to select the various clocks. In TIC test mode, when MPMCTESTIN is HIGH, HCLK and MPMCCLK must operate at no more than 10MHz.
9.3.6MPMC off-chip signals
The MPMC off-chip signals are:
•Functional mode signals
•Test mode signals.
Functional mode signals
The system has a 16-bit external databus MPMCDATA[15:0].
MPMCDATAOUT[15:0] and MPMCDATAIN[15:0] are connected to bidirectional tristate pads. The direction of these pads is controlled by MPMCDATAEN[1:0].
It is recommended that you use clock pads, if available, for the clock signals
MPMCCLKOUT[3:0] and MPMCFBCLKIN[3:0].
The output signals, for example MPMCADDROUT[27:0], must be skew balanced with the databus. This can be performed by selecting appropriate pad cells. One possible way is to use the same bidirectional pads for the output signals as used for the data signals.
The input signals need not be skew balanced and so an appropriate input pad must be chosen.
Test mode signals
This example system requires the use of the TIC controller for ARM production test. The TIC controller requires a 32-bit databus, MPMCDATA[31:0], and three control signals, MPMCTESTREQA, MPMCTESTREQB and MPMCTESTACK.
MPMCTESTACK is multiplexed with the nMPMCWEOUT signal. The MPMCTESTREQA, MPMCTESTREQB and upper 16-bits of the databus, MPMCDATA[31:16], signals are required in test mode. To minimize the number of pads used these signals can be multiplexed with other signals.
9-12 |
Copyright © 2002 ARM Limited. All rights reserved. |
ARM DDI 0215A |