2.2.1. Timing

A 60-bit instruction, loaded serially at the start of each test, controls the operation of the 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:

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 MBIST controller:

Instruction load

To load an MBIST instruction, drive MBISTSHIFT HIGH. At the next rising clock edge, the 61-bit shift sequence begins as shown in Figure 2.6. To enable data input from the ATE, the PLL is in bypass mode, and the clock is not running at test frequency.

Figure 2.6. Loading the MBIST controller instruction

Starting MBIST

Reset the MBIST engine. 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.7.

Figure 2.7. Starting the MBIST test

Failure detection

The MBISTRESULT[1] flag goes HIGH two CLK cycles after the controller detects a failure, as Figure 2.8 shows. It stays HIGH if sticky fail is enabled. If stop on fail is enabled, the MBISTRESULT[2] flag goes HIGH two cycles later.

Figure 2.8. Detecting an MBIST failure


To ensure that the ATE can observe a failure at test speed, specify a sticky fail in the MBIST instruction. See Control field, MBIR[54:49].

Data log retrieval

During a test, the 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.9 and Figure 2.10 show the method of retrieving a data log.


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.9 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.

Figure 2.9. Start of data log retrieval

When the last data log bit shifts out, drive MBISTDSHIFT LOW as Figure 2.10 shows.

Figure 2.10. End of data log retrieval

Table 2.10 shows the format of the data log.

Table 2.10. Data log format

[87:68]Address of the failing location.
[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[32:29].

The address contained in the data log refers to the full address of the failing location as it appears on the MBISTADDR[19:0] port of the MBIST interface of the cache controller. It always includes the doubleword select value in the least significant two bits. See Y-address and X-address fields, MBIR[36:33] and MBIR[40:37] for more information on the doubleword select value. Contact ARM if you require more information.

Copyright © 2007-2010 ARM. All rights reserved.ARM DDI 0402E