- •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
Appendix B
Troubleshooting
This appendix describes how to troubleshoot the ARM PrimeCell MPMC block. It contains the following section:
•Troubleshooting on page B-2.
ARM DDI 0215A |
Copyright © 2002 ARM Limited. All rights reserved. |
B-1 |
Troubleshooting
B.1 Troubleshooting
Table B-1 lists typical problems and the suggested remedy.
|
|
|
Table B-1 Troubleshooting |
||
|
|
||||
Problem |
Suggested remedy |
||||
|
|
|
|||
Static memory operates correctly, but |
• |
Ensure that the SDRAM memory is |
|||
accessing dynamic memory does not |
|
initialized correctly. The appropriate address |
|||
work. |
|
mapping, burst size, and CAS latency must |
|||
|
|
be programmed. |
|||
|
|
|
Note |
|
|
|
|
|
|
||
|
|
During initialization the buffers |
|||
|
|
(MPMCDynamicConfig, B = 0) must be |
|||
|
|
disabled, and CKE |
|||
|
|
(MPMCDynamicControl, CD = 1) must be |
|||
|
|
HIGH. |
|||
|
|
|
|
||
|
|
|
|||
|
• |
Ensure that the buffers are enabled during |
|||
|
|
normal operation (MPMCDynamicConfig, |
|||
|
|
B = 1). |
|||
|
|
|
|||
|
• |
If the memory is being clocked at twice the |
|||
|
|
frequency of HCLK. Ensure that HCLK |
|||
|
|
and MPMCCLK are synchronous, and that |
|||
|
|
their positive clock edges are aligned. |
|||
|
|
||||
How must HSELMPMCxG and |
HSELMPMCxG must go active whenever there is |
||||
HSELMPMCxS[7:0] function? |
an access to the PrimeCell MPMC. Together with |
||||
|
HSELMPMCxG going active, the relevant bit of |
HSELMPMCxS[7:0] must go active.
HSELMPMCxS[7:0] indicates which memory chip select the transfer is for.
B-2 |
Copyright © 2002 ARM Limited. All rights reserved. |
ARM DDI 0215A |
Appendix C
MultiPort Memory Controller Signal
Descriptions
This appendix describes the signals that interface with the ARM PrimeCell MPMC block. It contains the following sections:
•AHB register signals on page C-2
•AHB memory signals on page C-4
•Miscellaneous and clock signals on page C-6
•Pad interface and control signals on page C-8
•Test Interface Controller (TIC) signals on page C-12
•Scan test signals on page C-14.
ARM DDI 0215A |
Copyright © 2002 ARM Limited. All rights reserved. |
C-1 |
MultiPort Memory Controller Signal Descriptions
C.1 AHB register signals
Table C-1 describes the AHB register signals.
|
|
|
Table C-1 AHB register signal descriptions |
|
|
|
|
|
|
Name |
Type |
Source/ |
Description |
|
destination |
||||
|
|
|
||
|
|
|
|
|
HADDRREG[11:2] |
Input |
AHB master |
The AHB address bus. |
|
Address bus |
|
layer |
|
|
|
|
|
|
|
HCLK |
Input |
Clock source |
This clock times all bus transfers. All signal timings are |
|
Bus clock |
|
|
related to the rising edge of HCLK. |
|
|
|
|
|
|
HRDATAREG[29:0] |
Output |
AHB master |
The read databus is used to transfer data from the |
|
Read databus |
|
layer |
MPMC to the bus master during read operations. |
|
|
|
|
|
|
HREADYINREG |
Input |
AHB slave |
When HIGH, the HREADYIN signal indicates that a |
|
Transfer done |
|
layer |
transfer has finished on the bus. This signal can be |
|
|
|
|
driven LOW to extend a transfer. An alternate slave |
|
|
|
|
generates this signal. |
|
|
|
|
|
|
HREADYOUTREG |
Output |
AHB master |
When HIGH, the HREADYOUT signal indicates that |
|
Transfer done |
|
layer and AHB |
a transfer has finished on the bus. This signal can be |
|
|
|
slave layer |
driven LOW to extend a transfer. |
|
|
|
|
|
|
HRESETn |
Input |
Reset controller |
The bus reset signal is active LOW and is used to reset |
|
Reset |
|
|
the system and the bus. |
|
|
|
|
|
|
HRESPREG[1:0] |
Output |
AHB master |
The transfer response provides additional information |
|
Transfer response |
|
layer |
on the status 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 not 32-bits wide. |
|
|
|
|
|
|
HSELMPMCREG |
Input |
AHB decoder |
MPMC controller register select signal. This signal |
|
Slave select |
|
|
indicates an access to the memory controllers control |
|
|
|
|
registers. |
|
|
|
|
|
|
HSIZEREG[2:0] |
Input |
AHB master |
Indicates the size of the transfer, which is typically byte |
|
Transfer size |
|
layer |
(8-bit), halfword (16-bit), or word (32-bit). Only word |
|
|
|
|
(32-bit) transfers are allowed, (HSIZE[2:0] = 0b010) to |
|
|
|
|
access the MPMC registers. Transfer sizes other than |
|
|
|
|
32-bits generate an ERROR response. |
C-2 |
Copyright © 2002 ARM Limited. All rights reserved. |
ARM DDI 0215A |
|
|
|
MultiPort Memory Controller Signal Descriptions |
|
|
|
Table C-1 AHB register signal descriptions (continued) |
||
|
|
|
|
|
Name |
Type |
Source/ |
Description |
|
destination |
||||
|
|
|
||
|
|
|
|
|
HTRANSREG |
Input |
AHB master |
Indicates the type of the current transfer, which can be |
|
Transfer type |
|
layer |
NONSEQUENTIAL, SEQUENTIAL, IDLE, or BUSY. |
|
|
|
|
Only HTRANS[1] is used. Indicating if a transfer is |
|
|
|
|
required or not. |
|
|
|
|
|
|
HWDATAREG29TO28[29:28] |
Input |
AHB master |
The write databus is used to transfer data from the |
|
Write databus |
|
layer |
master to the bus slaves during write operations. |
|
|
|
|
|
|
HWDATAREG26 |
Input |
AHB master |
The write databus is used to transfer data from the |
|
Write databus |
|
layer |
master to the bus slaves during write operations. |
|
|
|
|
|
|
HWDATAREG24TO22[24:22] |
Input |
AHB master |
The write databus is used to transfer data from the |
|
Write databus |
|
layer |
master to the bus slaves during write operations. |
|
|
|
|
|
|
HWDATAREG20TO0[20:0] |
Input |
AHB master |
The write databus is used to transfer data from the |
|
Write databus |
|
layer |
master to the bus slaves during write operations. |
|
|
|
|
|
|
HWRITEREG |
Input |
AHB master |
When HIGH this signal indicates a write transfer and |
|
Transfer direction |
|
layer |
when LOW a read transfer. |
|
|
|
|
|
ARM DDI 0215A |
Copyright © 2002 ARM Limited. All rights reserved. |
C-3 |