Arm Mbist Controller
Arm Mbist Controller
Revision: r1p7
Change history
Proprietary Notice
Words and logos marked with ® or ™ are registered trademarks or trademarks of ARM Limited in the EU and
other countries, except as otherwise stated below in this proprietary notice. Other brands and names
mentioned herein may be the trademarks of their respective owners.
Neither the whole nor any part of the information contained in, or the product described in, this document
may be adapted or reproduced in any material form except with the prior written permission of the copyright
holder.
The product described in this document is subject to continuous developments and improvements. All
particulars of the product and its use contained in this document are given by ARM Limited in good faith.
However, all warranties implied or expressed, including but not limited to implied warranties of
merchantability, or fitness for purpose, are excluded.
This document is intended only to assist the reader in the use of the product. ARM Limited shall not be liable
for any loss or damage arising from the use of any information in this document, or any error or omission in
such information, or any incorrect use of the product.
Confidentiality Status
This document is Non-Confidential. The right to use, copy and disclose this document may be subject to
license restrictions in accordance with the terms of the agreement entered into by ARM and the party that
ARM delivered this document to.
Product Status
ii Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
Web Address
http://www.arm.com
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. iii
iv Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
Contents
L220 MBIST Controller Technical Reference
Manual
Preface
About this manual ......................................................................................... xii
Feedback ..................................................................................................... xvi
Chapter 1 Introduction
1.1 About the L220 MBIST Controller ............................................................... 1-2
1.2 L220 MBIST Controller interface ................................................................. 1-3
1.3 Product revisions ........................................................................................ 1-7
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. v
Contents
vi Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
List of Tables
L220 MBIST Controller Technical Reference
Manual
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. vii
List of Tables
viii Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
List of Figures
L220 MBIST Controller Technical Reference
Manual
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. ix
List of Figures
x Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
Preface
This preface introduces the L220 MBIST Controller Technical Reference Manual. It
contains the following sections:
• About this manual on page xii
• Feedback on page xvi.
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. xi
Preface
The rnpn identifier indicates the revision status of the product described in this manual,
where:
rn Identifies the major revision of the product.
pn Identifies the minor revision or modification status of the product.
Intended audience
This manual is written for hardware engineers who are familiar with ARM technology
and want to use the L220 MBIST Controller to test the RAM blocks used by the L220
Cache Controller. The AXI protocol is not specified but some familiarity with AXI is
assumed.
Chapter 1 Introduction
Read this chapter for an introduction to MBIST technology.
xii Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
Preface
Conventions
Typographical
monospace Denotes text that you can enter at the keyboard, such as
commands, file and program names, and source code.
monospace bold Denotes language keywords when used outside example code.
< and > Angle brackets enclose replaceable terms for assembler syntax
where they appear in code or code fragments. They appear in
normal font in running text. For example:
• MRC p15, 0 <Rd>, <CRn>, <CRm>, <Opcode_2>
• The Opcode_2 value selects the register that is accessed.
Timing diagrams
The figure named Key to timing diagram conventions on page xiv explains the
components used in timing diagrams. Variations, when they occur, have clear labels.
You must not assume any timing information that is not explicit in the diagrams.
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. xiii
Preface
Clock
HIGH to LOW
Transient
HIGH/LOW to HIGH
Bus stable
Bus change
Signals
Signal level The level of an asserted signal depends on whether the signal is
active-HIGH or active-LOW. Asserted means HIGH for
active-HIGH signals and LOW for active-LOW signals.
Numbering
<size in bits>'<base><number>
This is a Verilog method of abbreviating constant numbers. For example:
• 'h7B4 is an unsized hexadecimal value.
• 'o7654 is an unsized octal value.
• 8'd9 is an eight-bit wide decimal value of 9.
xiv Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
Preface
Further reading
ARM Limited periodically provides updates and corrections to its documentation. See
http://www.arm.com for current errata sheets, addenda, and the ARM Limited
Frequently Asked Questions list.
ARM publications
This manual contains information that is specific to the L220 MBIST Controller. See
the following documents for other relevant information:
• AMBA AXI Protocol Specification (ARM IHI 0022)
• L220 Cache Controller Technical Reference Manual (ARM DDI 0329)
• L220 Cache Controller Implementation Guide (ARM DII 0104).
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. xv
Preface
Feedback
ARM Limited welcomes feedback on the L220 MBIST Controller and its
documentation.
If you have any comments or suggestions about this product, contact your supplier
giving:
• the product name
• a concise explanation of your comments.
If you have any comments on this manual, send email to [email protected] giving:
• the title
• the number
• the relevant page number(s) to which your comments apply
• a concise explanation of your comments.
ARM Limited also welcomes general suggestions for additions and improvements.
xvi Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
Chapter 1
Introduction
This chapter introduces the MBIST Controller. It contains the following sections:
• About the L220 MBIST Controller on page 1-2
• L220 MBIST Controller interface on page 1-3
• Product revisions on page 1-7.
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. 1-1
Introduction
An MBIST Controller generates the correct sequence of reads and writes to all locations
of the RAM to ensure that the cells are operating correctly. In doing this, some
additional test coverage is achieved in the address and data paths that the MBIST uses.
You must only use the L220 MBIST Controller only with the L220 Cache Controller to
perform memory testing of the <Level 2> cache RAM.
Note
The example integration files provided with the L220 MBIST Controller only support
an 8-way cache design.
MBIST mode takes priority over all other modes for example SCAN, in that the L2
RAMs are only accessible to the L220 MBIST Controller when MBIST mode is
activated with the MTESTON pin. You must keep the MTESTON signal LOW during
functional mode.
The L220 MBIST Controller controls the MBIST testing of the L2 RAMs through the
MBIST port of the L220 Cache Controller. Figure 1-1 shows the L220 Cache Controller
MBIST configuration.
1-2 Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
Introduction
nRESET nRESET
CLK
CLK CLK
MBISTDOUT[63:0] MBISTDOUT[63:0]
MBISTDCTL[12:0] MBISTDCTL[12:0]
MBISTRESETN MBISTRESETN
MTESTON MTESTON MTESTON
MBISTDSHIFT MBISTDSHIFT
MBISTRUN MBISTRUN
MBISTSHIFT MBISTSHIFT
MBISTDATAIN MBISTDATAIN
MBISTRESULT[2:0] MBISTRESULT[2:0]
MBISTCE[10:0] MBISTCE[10:0]
Automated test
MBISTWE MBISTWE
equipment
MBISTADDR[17:0] MBISTADDR[17:0]
MBISTDIN[63:0] MBISTDIN[63:0]
Figure 1-3 on page 1-4 shows the traditional method of accessing a cache RAM for
MBIST.
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. 1-3
Introduction
DataIn 0
BistDataIn 1
Address 0
BistAddress 1
BistDataOut
RAM DataOut
CE 0
BistCE 1
WE 0
BistWE 1
BistMode
Because this method significantly reduces the maximum operating frequency, it is not
suitable for high-performance designs. Instead, the L220 MBIST Controller uses an
additional input to the existing functional multiplexors without reducing maximum
operating frequency.
Figure 1-4 on page 1-5 shows the five pipeline stages used to access the cache RAM
arrays.
1-4 Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
Introduction
From
data
paths D Q
MBISTDIN[63:0] D Q
From
address
paths D Q
Functional
MBISTADDR[17:0] D Q
output
RAM
D Q
block
From D Q MBISTDOUT[63:0]
chip
enables D Q
From
write
enables D Q
MBISTWE D Q
MTESTON D Q
MBISTDCTL[12:0] D Q
The L220 MBIST Controller accesses memory through the MBIST interface of the
L220 Cache Controller. Table 1-1 lists the L220 Cache Controller MBIST interface
signals.
CLK Input Active HIGH clock signal. This clock drives the L220 Cache Controller logic.
MBISTDOUT[63:0] Output Data out bus from all cache RAM blocks.
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. 1-5
Introduction
MBISTDCTL[12:0] Input Delayed versions of the MBISTCE[10:0] signal and the doubleword select signal,
MBISTADDR[1:0]. Selects the correct read data after it passes through the MBIST
pipeline stages.
MBISTDCTL[12:0] = delayed {MBISTCE[10:0], MBISTADDR[1:0]}.
MTESTON Input Select signal for cache RAM array. This signal is the select input to the multiplexors
that access the cache RAM arrays for test. When asserted, MTESTON takes priority
over all other select inputs to the multiplexors.
MBISTCE[10:0] Input One-hot chip enables to select cache RAM arrays for test.
MBISTWE Input Global write enable signal for all RAM arrays.
MBISTADDR[17:0] Input Address signal for cache RAM array. MBISTADDR[1:0] is the doubleword select
value. See Y-address and X-address fields, MBIR[23:20] and MBIR[27:24] on
page 3-8 for a description of the doubleword select. Not all RAM arrays use the full
address width.
MBISTDIN[63:0] Input Data bus to the cache RAM arrays. Not all RAM arrays use the full data width.
Note
The interface of the L220 MBIST Controller communicates with both the ATE and the
MBIST interface of the L220 Cache Controller. See Appendix A Signal Descriptions
for descriptions of the L220 MBIST Controller interface signals. See the L220 Cache
Controller Technical Reference Manual for more information about the MBIST
interface.
1-6 Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
Introduction
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. 1-7
Introduction
1-8 Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
Chapter 2
Functional Description
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. 2-1
Functional Description
The L220 MBIST Controller has one MBIST port, see Appendix A Signal
Descriptions. Only one RAM is accessed by the L220 MBIST Controller at any time.
The MBIST Controller must be able to account for the different latencies of the RAMs.
You can configure RAM latencies for the L220 Cache Controller RAMS. You can
configure the following RAMs for up to eight cycles of latency:
• data read
• data write
• tag read and write
• dirty read and write
• parity read and write.
You can use the MBIST Controller for testing the L220 Cache Controller compiled
RAMs. You can also choose to design your own MBIST Controller. You can only access
one RAM by the MBIST port at a time.
The Tag Parity RAM, if present, is tested at the same time as the Tag RAMs. Parity bits
are considered as an extra bit on the Tag Data Bus.
Figure 2-1 on page 2-3 shows the interfaces between the L220 MBIST Controller and
the RAMs that MBIST tests.
2-2 Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
Functional Description
DATAPRD[31:0]
One
DATAADDR[15:0] optional
DATACS data
DATAPEN[31:0] parity
RAM
DATAPWD[31:0]
DATAADDR[15:0]
DATACS One
DATAEN[31:0] data
DATAWD[255:0] RAM
DATARD[255:0]
TAGADDR[12:0]
TAGCS[7:0]
Up to
TAGEN eight
MBISTADDR[17:0] TAGWD[19:0] tag
MBISTCE[10:0] TAGRD0-7[19:0] RAMs
MBISTDIN[63:0] TAGPWD
L220
L220 TAGPRD[7:0]
MBIST MBISTDCTL[12:0]
Cache
Controller MBISTWE TAGADDR[12:0]
Controller
MTESTON DIRTYCS
One
MBISTDOUT[63:0] DIRTYEN[15:0]
dirty
DIRTYWD[15:0] RAM
DIRTYRD[15:0]
This section describes RAM latencies and the four MBIST RAM tests:
• L220 Compiled RAM Latencies
• MBIST testing of L220 Cache Controller data RAM on page 2-4
• MBIST Testing of L220 Cache Controller data parity RAM on page 2-7
• MBIST testing of L220 Cache Controller tag RAMs on page 2-8
• MBIST testing of L220 dirty RAM on page 2-11.
The L220 Cache Controller resets assuming the slowest compiled RAMs are being
used. This means eight L220 Cache Controller clock cycles are used for each access. In
terms of reads, this means that the read data is sampled eight clock edges after the edge
on which the read request is sampled by the RAM. Using this nomenclature, the shortest
latency is one. During functional mode, the latencies for each RAM are programmed in
the L220 Cache Controller Auxiliary Control Register. For MBIST, you must know the
latencies of the RAMs being tested. The MBIST Controller defaults to one cycle of
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. 2-3
Functional Description
latency, but must reprogram this during the instruction load before MBIST testing can
begin. The latency of the current RAM being tested is passed to the L220 MBIST
Controller in the MBIST instruction. Table 2-1 shows the L220 Cache Controller
compiled RAM latency.
Figure 2-2 shows the L220 Cache Controller compiled RAM latency.
CLK
Chip Select
L220 Cache Controller compiled RAM latency = 000 data
The L220 Cache Controller data RAM is 256 bits wide, and the size of the MBISTDIN
and MBISTDOUT buses on the L220 Cache Controller MBIST interface is 64 bits, so
four reads and four writes are required for each index of the data RAM. The L220 Cache
Controller handles this by using the MBISTADDR[1:0] signal as a doubleword select
for each index of the data RAM for writes. For reads from a previous MBIST
transaction you use the MBISTDCTL[1:0] signal. You require separate pins because
2-4 Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
Functional Description
the MBIST transactions are pipelined. The MBIST Controller takes into account the
data RAM latency and issues the correct control signals. Table 2-2shows the address
range of the MBISTADDR bus used to test the data RAM, based on the L2 cache size
and configured to be 8-way.
Table 2-2 MBISTADDR and MBISTDIN mapping for data RAM, 8-way
L2 Number of
cache data RAM MBISTADDR to data RAM mapping MBISTDIN to data RAM mapping
size indexes
For a 4-way cache, you can remove one bit from the upper address range and add it to
the lower address range as compared to an 8-way cache of the same size. Table
2-3shows the address range of the MBISTADDR bus used to test the data RAM, based
on the L2 cache size and configured to be 4-way.
Table 2-3 MBISTADDR and MBISTDIN mapping for data RAM, 4-way
L2 Number of
cache data RAM MBISTADDR to data RAM mapping MBISTDIN to data RAM mapping
size indexes
Note
A 2M 4-way cache is not possible because the L220 Cache Controller maximum way
size is limited to 256KB.
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. 2-5
Functional Description
The L220 Cache Controller has a Line Read Buffer (LRB), in each slave these are 256
bits wide. One of these holds data for MBIST testing. The L220 Cache Controller
always adds two register delays to the MBIST data read path for the data RAM.
When using the L220 MBIST Controller you must account for the data RAM latency in
the pipeline. The latency can be from one to eight clock cycles. See L220 Compiled
RAM Latencies on page 2-3. The signal MBISTCE[0] is for the chip enable to the data
RAM. The signal MBISTDCTL[2:0] is for reads from previous MBIST transactions.
Figure 2-3 shows the L220 Cache Controller MBIST paths for data RAM testing.
256 DATARD[255:0]
64 LRB0
MBISTDOUT[63:0]
MbistdctlD1[2:0] MtestonD1
MtestonD1 Data RAM
MBISTADDR[17:0] DATAADDR[15:0]
MBISTCE[10:0]=h001 MbistaddrD1[17:0] DATACS
MBISTDIN[63:0] MbistceD1[0] DATAEN[31:0]
MBISTDCTL[12:0] MbistdinD1[63:0] DATAWD[255:0]
MBISTWE MbistweD1
MTESTON
Figure 2-3 L220 Cache Controller MBIST paths for data RAM testing
2-6 Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
Functional Description
There is one data parity RAM associated with the L220. Table 2-5 shows the address
range of the MBISTADDR bus used to test the data parity RAM, based on the L2 cache
size and configured to be 8-way.
Table 2-5 MBISTADDR and MBISTDIN mapping for data parity RAM, 8-way
L2 Number of
MBISTDIN to data parity RAM
cache data RAM MBISTADDR to data parity RAM mapping
mapping
size indexes
The L220 Cache Controller has an LRB, in each slave these are each 256 bits wide. One
of these holds data for MBIST testing. The L220 Cache Controller always adds two
register delays to the MBIST data read path for the data parity RAM.
When using the L220 MBIST Controller you must account for the data parity RAM
latency in the pipeline. The latency can be from one to eight clock cycles. See L220
Compiled RAM Latencies on page 2-3. The signal MBISTCE[10] is for the chip enable
to the data parity RAM. The signal MBISTDCTL[12] is for reads from previous
MBIST transactions.
Figure 2-4 on page 2-8 shows the L220 Cache Controller MBIST paths for data parity
RAM testing.
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. 2-7
Functional Description
32 DATAPRD[31:0]
64 LRB0
MBISTDOUT[63:0]
MtestonD1
MbistdctlD1[12]
Data parity
MtestonD1
RAM
MBISTADDR[17:0] DATAADDR[15:0]
MBISTCE[10:0]=h400 MbistaddrD1[17:0] DATACS
MBISTDIN[63:0] MbistceD1[10] DATAPEN[31:0]
MBISTDCTL[12:0] MbistdinD1[31:0] DATAPWD[31:0]
MBISTWE MbistweD1
MTESTON
Figure 2-4 L220 Cache Controller MBIST paths for data parity RAM testing
There is one Tag RAM for each way of the L2 cache. The maximum number of tag
RAMs the MBIST Controller has to test is eight. Only one tag RAM is tested at a time.
Table 2-6 shows the address range of the MBISTADDR bus used to test a tag RAM,
based on the L2 cache size and configured to be 8-way. The parity for each tag RAM
present is tested along with the rest of the tag and is mapped to MBISTDIN[20].
Table 2-6 MBISTADDR and MBISTDIN mapping for tag RAM, 8-way
Number of
L2 cache
tag RAM MBISTADDR to tag RAM mapping MBISTDIN to tag RAM mapping
size
indexes
2-8 Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
Functional Description
Table 2-7 shows the address range of the MBISTADDR bus used to test the tag RAM,
based on the L2 cache size and configured to be 4-way.
Table 2-7 MBISTADDR and MBISTDIN mapping for tag RAM, 4-way
Number of
L2 cache
tag RAM MBISTADDR to tag RAM mapping MBISTDIN to tag RAM mapping
size
indexes
The data from the tag RAMs is always registered by the L220 Cache Controller, plus
there is a register on the MBIST port of the L220 Cache Controller. Consequently, to
the L220 MBIST Controller, the L220 always adds two register delays to the MBIST
data read path for the tag RAMs.
When using the L220 MBIST Controller you must account for the Tag RAM latency in
the pipeline. The signal MBISTCE[8:1] is for chip enables to the tag RAMs. The signal
MBISTDCTL[10:3] is for reads from previous MBIST transactions. The latency of the
tag RAMs can be from one to eight clock cycles. See L220 Compiled RAM Latencies
on page 2-3.
Figure 2-5 on page 2-10 shows the L220 Cache Controller MBIST paths for tag RAM
testing.
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. 2-9
Functional Description
TAGRD0[20:0]
TAGRD1[20:0]
TAGRD2[20:0]
TAGRD3[20:0]
TAGRD4[20:0]
TAGRD5[20:0]
TAGRD6[20:0]
TAGRD7[20:0]
20
64
MBISTDOUT[63:0]
MbistdctlD1[10:3] MtestonD1
Up to eight
MtestonD1 tag RAMS
MBISTADDR[17:0] TAGADDR[12:0]
MBISTCE[10:0] MbistaddrD1[14:2] TAGCS[7:0]
MBISTDIN[63:0] MbistceD1[8:1] TAGEN
MBISTDCTL[12:0] MbistdinD1[20:0] TAGWD[20:0]
MBISTWE MbistweD1
MTESTON
Figure 2-5 L220 Cache Controller MBIST paths for tag RAM testing
Note
• MBISTCE[8:1] corresponds to TAGCS[7:0]
• MDBISTDCL[10:3] corresponds to TAG[7:0]
• Only [20:0] of MBISTDIN and MBISTDOUT are used.
2-10 Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
Functional Description
There is one dirty RAM associated with the L220 Cache Controller. The dirty RAM
uses the same address as the tag RAMs. Table 2-8 shows the address range of the
MBISTADDR bus used to test the dirty RAM, based on the L2 cache size and
configured to be 8-way.
Table 2-8 MBISTADDR and MBISTDIN mapping for dirty RAM, 8-way
Number
L2 cache of dirty
MBISTADDR to dirty RAM mapping MBISTDIN to dirty RAM mapping
size RAM
indexes
Table 2-9 shows the address range of the MBISTADDR bus used to test the dirty RAM,
based on the L2 cache size and configured to be 4-way.
Table 2-9 MBISTADDR and MBISTDIN mapping for dirty RAM, 4-way
Number
L2 cache of Dirty
MBISTADDR to dirty RAM Mapping MBISTDIN to dirty RAM Mapping
size RAM
Indexes
The data from the dirty RAM is always registered by the L220 Cache Controller, plus
there is a register on the MBIST port of the L220 Cache Controller. Consequently, to
the L220 MBIST Controller, the L220 always adds two register delays to the MBIST
data read path for the dirty RAM.
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. 2-11
Functional Description
When using the L220 MBIST Controller you must account for the dirty RAM latency
in the pipeline. The signal MBISTCE[9] is for the chip enable to the dirty RAM. The
signal MBISTDCTL[11] is for reads from previous MBIST transactions. The latency
can be from one to eight clock cycles. See L220 Compiled RAM Latencies on page 2-3.
Figure 2-6 shows the L220 Cache Controller MBIST paths for dirty RAM testing.
16 DIRTYRD[15:0]
64
MBISTDOUT[63:0]
MbistdctlD1[11] MtestonD1
MtestonD1 Dirty RAM
MBISTADDR[17:0] TAGADDR[12:0]
MbistaddrD1[14:2] DIRTYCS
MBISTCE[10:0]=h200
MbistceD1[9] DIRTYEN[7:0]
MBISTDIN[63:0]
MbistdinD1[15:0] DIRTYWD[15:0]
MBISTDCTL[12:0]
MbistweD1
MBISTWE
MTESTON
Figure 2-6 L220 Cache Controller MBIST paths for dirty RAM testing
Note
• MBISTCE[9] corresponds to DIRTYCS
• MBISTDCTL[11] corresponds to the dirty RAM
• Only [15:0] of MBISTDIN and MBISTOUT are used
• The dirty RAM uses the same address as the tag RAM.
The L220 MBIST Controller block that Figure 2-7 on page 2-13 shows, consists of two
major blocks:
• MBIST Controller
• Dispatch unit.
2-12 Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
Functional Description
MBISTTX[11:0]
The MBIST Controller and the dispatch unit communicate using the following signals:
MBISTTX[11:0]
This signal is an output of the MBIST Controller that goes to the dispatch
unit. Table 2-10 shows the signals.
0 Reset address
1 Increment address
4 Checkerboard data
5 Write data
6 Read data
7 Yfast/nXfast
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. 2-13
Functional Description
8 Direction
MBISTRX[2:0]
This signal is an output of the dispatch unit that goes to the MBIST
Controller. The behavior of MBISTRX[2:0] is ARM-specific and is
intended for use only with the L220 MBIST Controller. The address
expire signal is set when both the row and column address counters
expire. Table 2-11 shows the signals.
2-14 Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
Functional Description
The top level I/O of the L220 MBIST Controller consists of the L220 interface. See
Appendix A Signal Descriptions and the inputs and outputs that Table 2-12 shows.
Note
nRESET of the L220 Cache Controller must be HIGH in MBIST test mode.
SCANENABLE
Preservation of array state is required when performing multiload ATPG
runs or when performing IDDQ testing. The L220 MBIST Controller
keeps all L220 RAM chip select signals LOW with the SCANENABLE
signal. After performing MBIST tests to initialize the arrays to a required
background, the Automatic Test Pattern Generator (ATPG) test
procedures must assert SCANEANABLE during all test setup cycles in
addition to load/unload. Any clocking during IDDQ capture cycles must
have array chip select signals constrained.
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. 2-15
Functional Description
MBISTRESULT[2:0]
During tests, the MBISTRESULT[1] signal indicates failures. You can
operate using two modes, by configuring bit 5 of the engine control
section of the instruction register. If bit 5 is set, the MBISTRESULT[1]
signal is asserted for a single cycle for each failed compare. If bit 5 is not
set, the MBISTRESULT[1] signal is sticky, and is asserted from the first
failure until the end of the test.
At the completion of the test, the MBISTRESULT[2] signal goes HIGH.
The MBISTRESULT[0] signal indicates that an address expire has
occurred and enables you to measure sequential progress through the test
algorithms.
2-16 Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
Functional Description
2.2.1 Timing
A 46-bit instruction, loaded serially at the start of each test, controls the operation of the
L220 MBIST Controller. Chapter 3 MBIST Instruction Register describes how to write
the instruction.
The timing diagrams in this section show the clock running at two different speeds:
• the slower clock relates to the clock driven by your ATE
• the faster clock relates to the clock driven by an on-chip Phase Locked Loop
(PLL).
If you do not have an on-chip PLL, both clocks relate to the clock driven by your ATE.
Timing diagrams in the following sections show the procedures for operating the L220
MBIST Controller:
• Instruction load
• Starting MBIST on page 2-18
• Failure detection on page 2-18
• Data log retrieval on page 2-18.
Instruction load
To load an MBIST instruction, drive MBISTSHIFT HIGH. At the next rising clock
edge, the 46-bit shift sequence begins as shown in Figure 2-8. To enable data input from
the ATE, the PLL is in bypass mode, and the clock is not running at test frequency.
CLK
MBISTRUN
MBISTSHIFT
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. 2-17
Functional Description
Starting MBIST
After loading the MBIST instruction, drive MBISTSHIFT LOW and disable CLK.
With CLK disabled, drive MBISTRUN HIGH and, after an MBISTRUN setup time,
start the PLL at the test frequency as shown in Figure 2-9.
CLK
MBISTRUN
MBISTSHIFT
Failure detection
The MBISTRESULT[1] flag goes HIGH two CLK cycles after the controller detects
a failure, as Figure 2-10 shows. It stays HIGH if sticky fail is enabled. If stop on fail is
enabled, the MBISTRESULT[2] flag goes HIGH two cycles later.
CLK
Note
To ensure that the ATE can observe a failure at test speed, specify a sticky fail in the
MBIST instruction. See Control field, MBIR[39:34] on page 3-6.
During a test, the L220 MBIST Controller automatically logs the first detected failure.
If required, you can retrieve the data log at the end of the test to generate failure
statistics. Figure 2-11 on page 2-19 and Figure 2-12 on page 2-19 show the method of
retrieving a data log.
2-18 Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
Functional Description
Note
MBISTRESULT[0] is the serial data output for instructions and the data log.
After the MBISTRESULT[2] flag goes HIGH, stop the test by putting the PLL in
bypass mode and driving MBISTRUN LOW as Figure 2-11 shows. To begin shifting
out the data log on MBISTRESULT[0], drive MBISTDSHIFT HIGH. The
MBISTRESULT[2] flag goes LOW two cycles after MBISTRUN goes LOW. Data
begins shifting out on MBISTRESULT[0] two cycles after MBISTDSHIFT goes
HIGH.
CLK
MBISTRESULT[2]
(complete flag)
MBISTDSHIFT
MBISTRESULT[0]
D[0]
(data log shift out)
MBISTRUN
When the last data log bit shifts out, drive MBISTDSHIFT LOW as Figure 2-12 shows.
CLK
MBISTRESULT[2]
MBISTDSHIFT
MBISTRUN
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. 2-19
Functional Description
Bits Description
[67:4] Failing data bits. These bits are set for faulty bits and cleared for passing bits.
[3:0] The data seed used in the test. See Data seed field, MBIR[19:16] on page 3-12.
The address contained in the data log refers to the full address of the failing location as
it appears on the MBISTADDR[17:0] port of the MBIST interface of the L220. It
always includes the doubleword select value in the least significant two bits. See
Y-address and X-address fields, MBIR[23:20] and MBIR[27:24] on page 3-8 for more
information on the doubleword select value. Contact ARM Limited if you require more
information.
In bitmap mode, you can identify all failing locations in a RAM. Each time a failure
occurs, the controller stops executing the current test and waits for you to begin shifting
out the data log as Figure 2-13 shows.
CLK
MBISTRESULT[1]
(f ail f lag)
MBISTDSHIFT
MBISTRESULT[0]
D[0]
(data log shif t out)
MBISTRUN
After you finish shifting and drive MBISTDSHIFT LOW, the controller then resumes
testing where it stopped as Figure 2-14 on page 2-21 shows. This process continues
until the test algorithm completes. A fault can cause a failure to occur several times
during a given test algorithm. The fault might be logged multiple times depending on
the number of reads performed by the algorithm and the exact nature of the fault.
2-20 Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
Functional Description
CLK
MBISTRESULT[1]
MBISTDSHIFT
MBISTRUN
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. 2-21
Functional Description
2-22 Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
Chapter 3
MBIST Instruction Register
This chapter describes how to use the MBIST Instruction Register (MBIR) to configure
the mode of operation of the L220 MBIST Controller. It contains the following sections:
• About the MBIST Instruction Register on page 3-2
• Field descriptions on page 3-3.
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. 3-1
MBIST Instruction Register
Cache size Specifies a cache size of 128KB, 256KB, 512KB, 1MB, or 2MB.
Field descriptions on page 3-3 describes the MBIR fields in more detail.
3-2 Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
MBIST Instruction Register
The L220 MBIST Controller is supplied with industry-standard pattern algorithms and
a bit-line stress algorithm. You can group algorithms together to create a specific
memory test methodology for your product.
Table 3-1 describes the supported algorithms, and Pattern specification on page 3-4
describes their use. The N values in the table indicate the number of RAM accesses per
address location and give an indication of the test time when using that algorithm.
Pattern
MBIR[45:40] Algorithm name N Description
b000110 Read Write March (x-fast) 6N Read write march pattern, incrementing X-address first
b000111 Read Write March (y-fast) 6N Read write march pattern incrementing Y-address first
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. 3-3
MBIST Instruction Register
Pattern
MBIR[45:40] Algorithm name N Description
b001000 Read Write Read March (x-fast) 8N Read write read march pattern, incrementing X-address
first
b001001 Read Write Read March (y-fast) 8N Read write read march pattern, incrementing y-address
first
Pattern specification
This section describes the MBIST test patterns. An x-fast pattern increments or
decrements the X-address counter first. A y-fast pattern increments or decrements the
Y-address counter first. Y-address and X-address fields, MBIR[23:20] and
MBIR[27:24] on page 3-8 describes the X-address and Y-address counters.
The first four patterns are useful for data retention or IDDQ testing.
Write Solids This initializes the RAM with the supplied data seed.
Read Solids This reads each RAM location once expecting the supplied data seed.
Write Checkerboard
This initializes the RAM with a physical checkerboard pattern created by
alternating the supplied data seed and its inverse.
Read Checkerboard
This reads back the physical checkerboard pattern created by alternating
the supplied data seed and its inverse.
For the next set of patterns, the following notation describes the algorithm:
• 0 represents the data seed
• 1 represents the inverse data seed
• w indicates a write operation
• r indicates a read operation
• ⇑indicates that the address is incremented
• ⇓ indicates that the address is decremented.
3-4 Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
MBIST Instruction Register
Go/No-Go If you do not want to implement your own memory test strategy, use the
Go/No-Go test pattern that performs the algorithms that Table 3-2 shows.
6 Bang 0xF
This test suite provides a comprehensive test of the arrays. The series of
tests in Go/No-Go are the result of the experience in memory testing by
ARM memory test engineers.
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. 3-5
MBIST Instruction Register
The control field specifies the MBIST function. Table 3-3 shows how the control field
affects the behavior of the L220 MBIST Controller.
Control
MBIR[39:34] Behavior Description
bx00000 Default Test runs to completion. If MBIR[39] = 0, sticky fail present after first failure.
bx00011 Bitmap mode Enables logging of each failure. See Bitmap mode on page 2-20.
• When MBIR[39] is set, the fail bit toggles in real time. It goes HIGH for failing
comparisons and LOW for passing comparisons.
Note
Setting MBIR[39] can cause the fail bit to toggle at the test frequency. It is not
recommended when the external pin or the ATE cannot follow the test frequency.
• When MBIR[39] is cleared, the fail bit is sticky. It remains HIGH after the first
failure until a new MBIST instruction shifts in or until the data log shifts out.
3.2.3 Read latency and write latency fields, MBIR[30:28] and MBIR[33:31]
The read latency and write latency fields of the MBIR are used to specify the read and
write latency of the RAM under test. Read and write latencies are the numbers of cycles
that the RAM requires to complete read and write operations. For example, in a write to
a RAM with a write latency of two cycles, the RAM inputs are valid for a single cycle.
The next cycle is a NOP cycle with the chip enable negated. Similarly, in a read from a
RAM with a read latency of three cycles, the RAM inputs are valid for a single cycle.
After two NOP cycles, the read data is valid on the RAM outputs.
Note
Even if the RAM under test uses the same latency for both read and write operations,
you must still program both the read latency and write latency fields of the MBIR with
the same value.
3-6 Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
MBIST Instruction Register
b000 1
b001 2
b010 3
b011 4
b100 5
b101 6
b110 7
b111 8
b000 1
b001 2
b010 3
b011 4
b100 5
b101 6
b110 7
b111 8
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. 3-7
MBIST Instruction Register
You can determine the number of address bits you must specify for a RAM from the
MBIR fields:
• X-address
• Y-address.
This enables you to specify your address range in two dimensions, this represents the
topology of the physical implementation of the RAM more accurately. These two
dimensions are controlled by two separate address counters, the X-address counter and
the y-address counter. One counter can be incremented or decremented only when the
other counter has expired. The chosen test algorithm determines the counter that moves
faster.
Use this procedure to determine how many bits to assign to the X-address and Y-address
counters:
1. Determine the column width of the RAM array. The Y-address must have at least
that many bits for the column select. If it is a Data RAM, then add two bits to that
number for the doubleword select.
2. Determine how many address bits the RAM requires. See L220 Cache Controller
RAMs on page 3-12. Subtract the current Y-address bit number from that number.
If the result is eight or fewer bits, then they are all assigned to the X-address for
the row select. Otherwise, eight bits are used for the X-address and any
unassigned bits are added to the bits already assigned to the Y-address and used
for the block select.
Figure 3-2 on page 3-9 shows an example topology for the Data RAM in a 256K level-2
cache.
3-8 Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
MBIST Instruction Register
Block 0 Block 1
Column 0 ... Column 15 Column 0 ... Column 15
255 0 255 0 255 0 255 0
255 255 255 255
... ...
X-address
(rows)
0 0 0 0
Lower ... ...
Y-address
(columns)
Upper
Y-address
(blocks)
Data Out [255:0]
Doubleword
select
(data RAM only)
MBISTDOUT[63:0]
The cache RAM in Figure 3-2 has a column width of 16, so it uses four bits for the
column address. These four bits map to the least significant bits of the Y-address
counter. Because this is a data RAM, it requires two additional doubleword select bits.
The doubleword select bits choose between the four 64-bit groups of RAM data before
sending the data to the 64-bit MBISTDOUT[63:0] bus. These two bits always map to
the Y-address counter bits between the column address and the block address.
Because this cache RAM has 256 rows per column, it uses eight bits for the row address,
this uses up all eight bits of the X-address counter. This RAM also contains two blocks
of 16 columns each, so it uses one bit for the block address. This maps to the most
significant bit of the Y-address counter. To correctly test this RAM, the Y-address field
must have a value of seven, MBIR[23:20] = b0111, and the X-address field must have
a value of eight, MBIR[27:24] = b1000. Values higher or lower than these produce
incorrect results.
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. 3-9
MBIST Instruction Register
Note
If the columns have fewer than 256 rows, you must still assign address bits to the row
address until all eight bits are used before assigning any to the block address. If the
cache RAM has more than 256 rows per column, then the additional bits must be
assigned to the block address. This does not have any detrimental effects on the test
coverage of the RAM.
Figure 3-3 shows how the L220 MBIST Controller builds the address output. The
doubleword select bits are the least significant two bits of the address. These two bits
are ignored unless the data RAM is selected. The exclusive OR of the two least
significant bits of the Y-address counter is the least significant bit of the column address
for physical addressing of the columns. This is followed by the row address from the
X-address counter and, if required, the block address.
17 3 2 1 0
... ...
3-10 Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
MBIST Instruction Register
Y-address
The Y-address field specifies the number of Y-address counter bits to use during test.
Table 3-6 shows the Y-address settings.
Y-address Number of
MBIR[23:20] counter bits
<b0010 Unsupported
b0010 2
b0011 3
b0100 4
b0101 5
b0110 6
b0111 7
b1000 8
b1001 9
b1010 10
>b1010 Reserved
X-address
The X-address field specifies the number of X-address counter bits to use during test.
Table 3-7 shows the X address settings.
X-address Number of
MBIR[27:24] counter bits
<b0010 Unsupported
b0010 2
b0011 3
b0100 4
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. 3-11
MBIST Instruction Register
X-address Number of
MBIR[27:24] counter bits
b0101 5
b0110 6
b0111 7
b1000 8
>b1000 Reserved
Table 3-8 shows the required sums of the X-address and Y-address fields for complete
testing of each RAM type.
128KB 14 12 9
256KB 15 13 10
512KB 16 14 11
1MB 17 15 12
2MB 18 16 13
The four-bit data seed field supplies the background data for the test algorithm at
instruction load.
Note
In the Go/No-Go algorithm, the Read Write Read March (y-fast) and Bang algorithms
do not use the data seed value. Table 3-2 on page 3-5 shows the data that the Go/No-Go
algorithm uses.
3-12 Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
MBIST Instruction Register
The data seed enables you to select values stored into arrays for IDDQ ATPG, or to select
data words to search for unexpected sensitivities during march or bit-line stress tests.
The MBIST engine replicates the four bits of data 16 times to give the full 64 bits of
data required on the MBISTDIN[63:0] port of the L220 MBIST interface.
Table 3-9 shows how each bit in the enables field selects the cache RAM array to be
tested. You can select only one array at a time. Selecting multiple arrays produces
unpredictable behavior.
Enables
MBIR[15:5] RAM name
b00000000001 Data
b00000000010 Tag 0
b00000000100 Tag 1
b00000001000 Tag 2
b00000010000 Tag 3
b00000100000 Tag 4
b00001000000 Tag 5
b00010000000 Tag 6
b00100000000 Tag 7
b01000000000 Dirty
The column width field specifies the number of columns in each block of RAM in the
array under test. The column address is always encoded in the least significant bits of
the RAM address, so the number of columns determines the number of bits used. This
information is important for the correct operation of certain MBIST operations, such as
bit-line stress testing and writing a true physical checkerboard pattern to the array.
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. 3-13
MBIST Instruction Register
Table 3-10 shows the supported column widths along with the number of LSB address
bits used for each and the MBIR encodings required to select them.
b00 4 2
b01 8 3
b10 16 4
b11 32 5
The cache size field specifies the size of the cache in your implementation of the L220
module and therefore must always be the same. Table 3-11 shows the supported cache
sizes.
Cache size
MBIR[2:0] Cache size
b000 Reserved
b001 128KB
b010 256KB
b011 512KB
b100 1MB
b101 2MB
b110 Reserved
b111 Reserved
3-14 Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
Appendix A
Signal Descriptions
This appendix describes the L220 MBIST Controller signals. It contains the following
sections:
• L220 interface signals on page A-2
• Miscellaneous signals on page A-4.
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. A-1
Signal Descriptions
A-2 Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F
Signal Descriptions
ARM DDI 0330F Copyright © 2004-2006 ARM Limited. All rights reserved. A-3
Signal Descriptions
A-4 Copyright © 2004-2006 ARM Limited. All rights reserved. ARM DDI 0330F