- •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 4
Programmer’s Model for Test
This chapter describes the additional logic for integration testing. It contains the following sections:
•PrimeCell MPMC test harness overview on page 4-2
•Scan testing on page 4-3
•Test registers on page 4-4.
ARM DDI 0215A |
Copyright © 2002 ARM Limited. All rights reserved. |
4-1 |
Programmer’s Model for Test
4.1PrimeCell MPMC test harness overview
The additional logic for functional verification and integration vectors enables:
•capture of input signals to the block
•stimulation of the output signals.
The integration vectors provide a way of verifying that the PrimeCell MPMC is correctly wired into a system. This is done by separately testing two groups of signals:
AMBA signals
These are tested by checking the connections of all the address data bits.
Intra-chip signals (such as interrupt sources)
The tests for these signals are system-specific, and enable you to write the necessary tests. Additional logic is implemented enabling you to read and write to each intra-chip input/output signal.
These test features are controlled by test registers. This enables you to test the PrimeCell MPMC in isolation from the rest of the system using only transfers from the AMBA AHB.
4.1.1Intra-chip integration test strategy
The non-AMBA intra-chip input signals can be set to a certain value and the outputs can be read using the integration test registers.
The input signal MPMCSRERFREQ can be set and read using the MPMCITIP register. The output signal MPMCSREFACK can be set and read using the MPMCITOP register. The test control register, MPMCITR, is used to set the test multiplexors into test mode.
4.1.2Primary I/O test strategy
The primary I/O signals are tested by performing a sequence of memory accesses.
4-2 |
Copyright © 2002 ARM Limited. All rights reserved. |
ARM DDI 0215A |
Programmer’s Model for Test
4.2Scan testing
The PrimeCell MPMC has been designed to simplify:
•insertion of scan test cells
•use of Automatic Test Pattern Generation (ATPG).
This is the recommended method of manufacturing test.
ARM DDI 0215A |
Copyright © 2002 ARM Limited. All rights reserved. |
4-3 |
Programmer’s Model for Test
4.3Test registers
The PrimeCell MPMC test registers are memory-mapped as shown in Table 4-1.
Table 4-1 Test registers memory map
Address |
Type |
Width |
Reset |
Name |
Description |
|
value |
||||||
|
|
|
|
|
||
|
|
|
|
|
|
|
MPMC base +0xF00 |
Read/write |
1 |
0x0 |
MPMCITCR |
Test control register |
|
|
|
|
|
|
|
|
MPMC base +0xF20 |
Read/write |
8 |
0x00 |
MPMCITIP |
Test input register |
|
|
|
|
|
|
|
|
MPMC base +0xF40 |
Read/write |
2 |
0x0 |
MPMCITOP |
Test output register |
|
|
|
|
|
|
|
Each register shown in Table 4-1 is described in the following sections:
•MPMCITCR register
•MPMCITIP register on page 4-5
•MPMCITOP register on page 4-7.
4.3.1MPMCITCR register
The MPMCITCR is a single-bit control register. The T bit in this register controls the input test multiplexors. This register must only be used in test mode.
The register can be accessed with one wait state.
Table 4-2 shows the bit assignments for the MPMCITCR register.
|
|
Table 4-2 MPMCITCR register |
|
|
|
Bits |
Name |
Description |
|
|
|
[31:1] |
- |
Reserved, read undefined, must be written as zeros |
[0]Test control register (T) 0 = normal mode (reset value on nPOR or HRESETn)
1 = test mode
4-4 |
Copyright © 2002 ARM Limited. All rights reserved. |
ARM DDI 0215A |
Programmer’s Model for Test
4.3.2MPMCITIP register
The MPMCITIP is an eight-bit register. The SR bit in this register returns the value of the MPMCSREFREQ input. This register must only be used in test mode.
The register can be accessed with one wait state.
Table 4-3 shows the bit assignments for the MPMCITIP register.
|
|
Table 4-3 MPMCITIP register |
|
|
|
Bits |
Name |
Description |
|
|
|
[31:8] |
- |
Reserved, read undefined, must be written as zeros. |
[7]MPMCSTCS3POL Polarity of chip select3 signal MPMCSTCS3POL.
Read:
Read the value of this field if the MPMCITCR T bit is HIGH.
Read the value of the MPMCSTCS3POL input signal if the MPMCITCR T bit is LOW.
Write:
0 = Clear MPMCSTCS3POL if the MPMCITCR T bit is HIGH.
1 = Set MPMCSTCS3POL if the MPMCITCR T bit is HIGH.
[6]MPMCSTCS2POL Polarity of chip select2 signal MPMCSTCS2POL.
Read:
Read the value of this field if the MPMCITCR T bit is HIGH.
Read the value of the MPMCSTCS2POL input signal if the MPMCITCR T bit is LOW.
Write:
0 = Clear this field if the MPMCITCR T bit is HIGH. 1 = Set this field if the MPMCITCR T bit is HIGH.
[5]MPMCSTCS1POL Polarity of chip select1 signal MPMCSTCS1POL.
Read:
Read the value of this field if the MPMCITCR T bit is HIGH.
Read the value of the MPMCSTCS1POL input signal if the MPMCITCR T bit is LOW.
Write:
0 = Clear this field if the MPMCITCR T bit is HIGH. 1 = Set this field if the MPMCITCR T bit is HIGH.
ARM DDI 0215A |
Copyright © 2002 ARM Limited. All rights reserved. |
4-5 |
Programmer’s Model for Test
Table 4-3 MPMCITIP register (continued)
Bits Name |
Description |
[4]MPMCSTCS0POL Polarity of chip select0 signal MPMCSTCS0POL.
Read:
Read the value of this field if the MPMCITCR T bit is HIGH.
Read the value of the MPMCSTCS0POL input signal if the MPMCITCR T bit is LOW.
Write:
0 = Clear this field if the MPMCITCR T bit is HIGH. 1 = Set this field if the MPMCITCR T bit is HIGH.
[3:2] |
MPMCSTCS1MW |
Chip select one memory width MPMCSTCS1MW. |
|
|
|
Read: |
|
|
|
Read the value of this field if the MPMCITCR T bit is |
|
|
|
HIGH. |
|
|
|
Read the value of the MPMCSTCS1MW input signal |
|
|
|
if the MPMCITCR T bit is LOW. |
|
|
|
Write: |
|
|
|
0 |
= Clear this field if the MPMCITCR T bit is HIGH. |
|
|
1 |
= Set this field if the MPMCITCR T bit is HIGH. |
|
|
|
|
[1] |
MPMCBIGENDIAN |
Big-endian enable signal MPMCBIGENDIAN. |
|
|
|
Read: |
|
|
|
Read the value of this field if the MPMCITCR T bit is |
|
|
|
HIGH. |
|
|
|
Read the value of the MPMCBIGENDIAN input |
|
|
|
signal if the MPMCITCR T bit is LOW. |
|
|
|
Write: |
|
|
|
0 |
= Clear this field if the MPMCITCR T bit is HIGH. |
|
|
1 |
= Set this field if the MPMCITCR T bit is HIGH. |
|
|
|
|
[0] |
MPMCSREFREQ (SR) |
Read: |
|
|
|
Read the value of this field if the MPMCITCR T bit is |
|
|
|
HIGH. |
|
|
|
Read the value of the MPMCSREFREQ input signal |
|
|
|
if the MPMCITCR T bit is LOW. |
|
|
|
Write: |
|
|
|
0 |
= Clear this field if the MPMCITCR T bit is HIGH. |
|
|
1 |
= Set this field if the MPMCITCR T bit is HIGH. |
|
|
|
|
4-6 |
Copyright © 2002 ARM Limited. All rights reserved. |
ARM DDI 0215A |
Programmer’s Model for Test
4.3.3MPMCITOP register
The MPMCITOP is a two-bit register. The SA bit in this register controls the
MPMCSREFACK output. This register must only be used in test mode.
The register can be accessed with one wait state.
Table 4-4 shows the bit assignments for the MPMCITOP register.
|
|
Table 4-4 MPMCITOP register |
|
|
|
Bits |
Name |
Description |
|
|
|
[31:2] |
- |
Reserved, read undefined, must be written as zeros. |
[1]MPMCRPVHHOUT Signal MPMCRPVHHOUT.
Read:
Read the value of this field if the MPMCITCR T bit is HIGH.
Read the value of the MPMCRPVHHOUT output signal if the MPMCITCR T bit is LOW.
Write:
0 = Clear this field and the MPMCRPVHHOUT output signal if the MPMCITR T bit is HIGH.
1 = Set this field and the MPMCRPVHHOUT output signal if the MPMCITR T bit is HIGH.
[0] |
MPMCSREFACK (SA) Self refresh acknowledge. |
|
Read: |
|
Read the value of this field if the MPMCITCR T bit is |
|
HIGH. |
|
Read the value of the MPMCSREFACK output signal |
|
if the MPMCITCR T bit is LOW. |
|
Write: |
|
0 = Clear this field and the MPMCSREFACK output |
|
signal if the MPMCITR T bit is HIGH. |
|
1 = Set this field and the MPMCSREFACK output |
|
signal if the MPMCITR T bit is HIGH. |
|
|
ARM DDI 0215A |
Copyright © 2002 ARM Limited. All rights reserved. |
4-7 |
Programmer’s Model for Test
4-8 |
Copyright © 2002 ARM Limited. All rights reserved. |
ARM DDI 0215A |