Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ARM PrimeCell multiport memory controller technical reference manual.pdf
Скачиваний:
22
Добавлен:
23.08.2013
Размер:
1.79 Mб
Скачать

Chapter 2

Functional Overview

This chapter describes the major functional blocks of the ARM PrimeCell MultiPort Memory Controller (MPMC). It contains the following section:

PrimeCell MPMC functional description on page 2-2.

ARM DDI 0215A

Copyright © 2002 ARM Limited. All rights reserved.

2-1

Functional Overview

2.1PrimeCell MPMC functional description

Figure 2-1 shows a block diagram of the PrimeCell MPMC.

MPMCBIGENDIAN

MPMCSREFREQ

MPMCSREFACK

MPMCSTATICCS0POL

MPMCSTATICCS1POL

MPMCSTATICCS2POL

MPMCSTATICCS3POL

MPMCSTATICCS1MWIN[1:0]

HSELMPMCREG

HADDRREG[11:2]

HWDATAREG[31:0]

HRDATAREG[31:0]

MiscCntlREG

HSELMPMC0CS[7:0]

HADDR0[27:0]

HWDATA0[31:0]

HRDATA0[31:0]

MiscCntl0

HSELMPMC1CS[7:0]

HADDR1[27:0]

HWDATA1[31:0]

HRDATA1[31:0]

MiscCntl1

HSELMPMC2CS[7:0]

HADDR2[27:0]

HWDATA2[31:0]

HRDATA2[31:0]

MiscCntl2

HSELMPMC3CS[7:0]

HADDR3[27:0]

HWDATA3[31:0]

HRDATA3[31:0]

MiscCntl3

HBUSREQTIC

HGRANTTIC

HADDRTIC[31:0]

HWDATATIC[31:0]

HRDATATIC[31:0]

MiscCntlTIC

HCLK

MPMCCLK

Multiport memory controller

AHB slave

 

 

register

 

 

interface

 

 

 

 

 

 

 

 

 

 

Memory

AHB slave

 

 

controller

interface 0

 

 

 

 

 

 

 

 

 

AHB slave

 

 

interface

 

 

interface 1

 

 

 

 

 

Data

PAD

 

 

buffers

 

 

 

 

 

 

 

AHB slave

 

 

 

 

 

 

interface 2

 

 

 

 

 

 

 

 

 

Endianisation

 

 

 

 

 

 

 

 

and packing

 

AHB slave

 

logic

 

 

 

 

interface 3

 

 

 

 

 

 

 

Test interface controller

MPMCADDROUT[27:0]

MPMCDATAIN[31:0]

MPMCDATAOUT[31:0]

nMPMDYCSOUT[3:0]

MPMCCCLKOUT[3:0]

MPMCFBCLKIN[3:0]

MPMCCKEOUT[3:0]

nMPMCRASOUT

nMPMCCASOUT

nMPMCWEOUT

nMPMCOEOUT

nMPMCRPOUT

nMPMCRPVHHOUT

nMPMCSTCSOUT[3:0]

MPMCDQMOUT[3:0]

nMPMCBLSOUT[3:0]

nMPMCDATAIN[3:0]

MPMCRPVHHOUT

MPMCTESTREQA

MPMCTESTREQB

MPMCTESTIN

Figure 2-1 PrimeCell MPMC block diagram

2-2

Copyright © 2002 ARM Limited. All rights reserved.

ARM DDI 0215A

Functional Overview

The functions of the PrimeCell MPMC blocks are described in the following sections:

Multiport memory controller

AHB slave register interface on page 2-4

AHB slave memory interfaces on page 2-5

Data buffers on page 2-6

Pad interface on page 2-6

Test Interface Controller on page 2-8

Overview of a PrimeCell MPMC, ASIC, or ASSP system on page 2-9

AHB slave memory interface priority on page 2-6

Low power operation on page 2-11

Deep sleep mode on page 2-11

Lock and semaphores on page 2-12

Memory bank select on page 2-14.

2.1.1Multiport memory controller

The multiport memory controller block optimizes and controls external memory transactions.

The combined dynamic and static memory controller controls all static and dynamic memory accesses. The block contains the following:

Command sequencer

The command sequencer rearranges the memory accesses for maximum efficiency.

Memory transfer state machine

The memory transfer state machine controls the transfer currently being performed.

Static memory controller register banks

The four static memory controller register banks hold the static memory registers.

Dynamic memory controller register banks

The four dynamic memory controller register banks hold the dynamic memory registers.

Note

Data is transferred to and from synchronous memory in quad access bursts.

ARM DDI 0215A

Copyright © 2002 ARM Limited. All rights reserved.

2-3

Functional Overview

Command sequencer

The command sequencer holds up to two requests in its internal buffer. It prioritizes and rearranges accesses to maximize memory bandwidth and minimize transaction latency.

For example, if AHB interfaces 3 and 2 simultaneously request a data transfer from dynamic memory, to different memory banks, and the port 2 request address is to a closed page, but port 3 address is for an already open page, the following sequence occurs:

1.The ACT command is sent to open the SDRAM row specified by the AHB interface 2 address.

2.The AHB interface 3 access is completed.

3.The AHB interface 2 access is completed.

The access priority is modified to take into account the ease of getting data to complete each transfer, but the access priority is always biased to the highest priority AHB interface.

Memory transfer state machine

The memory transfer state machine controls memory transactions.

Static memory controller register bank

There are four static memory controller register banks. Each one contains the registers for a static memory bank.

Dynamic memory controller register bank

There are four dynamic memory controller register banks. Each one contains the registers for a dynamic memory bank.

2.1.2AHB slave register interface

The AHB slave register interface block enables the registers of the PrimeCell MPMC to be programmed. This module also contains most of the registers and performs the majority of the register address decoding.This interface must be connected to the ARM processor AHB bus to enable the PrimeCell MPMC to be programmed.

2-4

Copyright © 2002 ARM Limited. All rights reserved.

ARM DDI 0215A

Functional Overview

Memory transaction endianness

To eliminate the possibility of endianness problems, all data transfers to and from the registers of the PrimeCell MPMC must be 32 bits wide.

Memory transaction size

If an access is attempted with a size other than a word (32 bits), it causes an ERROR response on HRESP and the transfer is terminated.

2.1.3AHB slave memory interfaces

The AHB slave memory interfaces enable devices to access the external memories. The memory interfaces are prioritized, with interface 0 having the highest priority. Having more than one memory interface enables high-bandwidth peripherals direct access to the PrimeCell MPMC, without data having to pass over the main system bus.

Note

All AHB burst types are supported, enabling the most efficient use of memory bandwidth. The AHB interfaces do not generate SPLIT and RETRY responses.

Memory transaction endianess

The endianness of the data transfers to and from the external memories is determined by the Endian mode (N) bit in the MPMCConfig register.

Note

You must flush all data in the PrimeCell MPMC when switching between little-endian and big-endian mode. This is so that data residing in the buffers is transferred correctly.

Memory transaction size

Memory transactions can be 8, 16, or 32 bits wide. Any access attempted with a size greater than a word (32 bits) causes an ERROR response on HRESP and the transfer is terminated.

Protected memory transactions

Write transactions to write-protected memory areas generate an ERROR response on HRESP and the transfer is terminated. Memory is protected on a chip select basis.

ARM DDI 0215A

Copyright © 2002 ARM Limited. All rights reserved.

2-5

Functional Overview

2.1.4AHB slave memory interface priority

AHB interface 0 has the highest access priority, and AHB interface 3 has the lowest priority.

2.1.5Data buffers

The AHB interfaces use read and write buffers to improve memory bandwidth and reduce transaction latency. The PrimeCell MPMC contains four quadword buffers. The buffers are not tied to a particular AHB interface, and can be used as read buffers, write buffers, or a combination of both. The buffers are allocated automatically. Because of the way the buffers are designed they are always coherent for reads and writes, and across AHB memory interfaces.

The buffers are enabled on a memory bank basis, using the MPMCDynamicConfig or the MPMCStaticConfig registers.

Write buffers are used to:

Merge multiple write transactions to the same quadword of memory into a single external quadword memory transaction.

Buffer data until the PrimeCell MPMC can complete the write transaction.

Convert all write transactions into quadword bursts on the external memory interface. This enhances transfer efficiency for SDRAM and async page-mode static memories.

Reduce external memory traffic. This improves memory performance and reduces power consumption.

Read buffers are used to:

Buffer read requests from memory. Future read requests that hit the buffer read the data from the buffer rather than memory, so reducing transaction latency.

Convert all read transactions into quadword bursts on the external memory interface. This enhances transfer efficiency for SDRAM and async-page-mode static memories.

Reduce external memory traffic. This improves memory performance and reduces power consumption.

2.1.6Pad interface

The pad interface block provides the interface to the pads. The pad interface uses a feedback clock, MPMCFBCLKIN, to resynchronize from the off-chip to on-chip domains.

Figure 2-2 on page 2-7 shows a block diagram of the pad interface.

2-6

Copyright © 2002 ARM Limited. All rights reserved.

ARM DDI 0215A

Functional Overview

 

 

 

 

nMPMCSTATICCSOUT[3:0]

 

 

 

Pad interface

MPMCBIGENDIAN

 

 

 

 

 

 

 

 

MPMCSTCS1MW[1:0]

 

 

 

 

MPMCSTCS[3:0]POL

 

MPMCCLK

 

Control

MPMCCLKOUT[3:0]

 

 

 

 

 

 

 

register

 

block

 

 

 

MPMCCKEOUT[3:0]

 

 

 

nMPMCSYNCCSOUT[3:0]

 

 

 

 

Control

ControlOut

Control

 

nMPMCRASOUT

 

 

 

 

nMPMCCASOUT

 

register

 

 

 

 

 

 

 

nMPMCWEOUT

 

 

 

 

 

 

 

 

nMPMCOEOUT

 

 

 

 

MPMCDQMOUT[3:0]

block

 

 

 

nMPMCRP

ADDR[27:0]

 

 

MPMCADDROUT[27:0]

Address

Address

 

 

 

 

 

register

 

 

 

 

 

bus

 

MPMCDATAOUT[31:0]

 

DATA[31:0]

Off-chip memory

 

 

DataOut

MPMCDATAOUT[31:0]

 

 

register

 

 

 

Data block

DataIn[31:0] register

nENABLE

 

 

 

 

 

MPMCDATAIN[31:0]

DATA[31:0]

MPMCDATAIN[31:0]

 

 

 

 

Figure 2-2 Pad interface block diagram

ARM DDI 0215A

Copyright © 2002 ARM Limited. All rights reserved.

2-7

Functional Overview

2.1.7Test Interface Controller

The Test Interface Controller (TIC) enables TIC device testing. For full details about the TIC, see the AMBA Specification. The AHB master interface must be placed on the same AHB interface as the ARM processor. Figure 2-3 shows a block diagram of the TIC.

On-chip AHB interface

HPROTTIC[3:0]

 

 

 

 

 

HADDRTIC[31:0]

 

 

MPMCDATAIN[31:0]

HTRANSTIC[1:0]

 

 

TBUSOUT[31:0]

HWRITETIC

 

 

 

 

 

HLOCKTIC

 

 

 

 

 

HSIZETIC[2:0]

Test Interface

 

 

 

 

HBURSTTIC[2:0]

 

 

 

 

Controller

 

 

 

 

HWDATATIC[31:0]

 

MPMCTESTACK

 

(TIC)

 

HBUSREQTIC

 

MPMCTESTREQA

 

 

HGRANTTIC

 

 

MPMCTESTREQB

HREADYTIC

 

 

MPMCTESTIN

HRDATATIC[31:0]

 

 

 

 

 

HRESPTIC[1:0]

 

 

 

 

 

 

 

 

 

 

 

Test signals Internal memory control bus

Figure 2-3 TIC block diagram

2-8

Copyright © 2002 ARM Limited. All rights reserved.

ARM DDI 0215A