PBIST Configuration Example
340
SPNU503C – March 2018
Copyright © 2018, Texas Instruments Incorporated
Programmable Built-In Self-Test (PBIST) Module
7.6
PBIST Configuration Example
The following examples assume that the PLL is locked and selected as clock source with
HCLK = 160 MHz and VCLK = 80 MHz.
7.6.1 Example 1 : Configuration of PBIST Controller to Run Self-Test on RAM Group 3
This example explains the configurations for running March13, Down1A and Map Column algorithms on
RAM Group 3 (see device datasheet for RAM Group information).
1. Program the HCLK to PBIST ROM clock ratio to 1:2 in System Module.
MSTGCR[9:8] = 1
2. Enable PBIST Controller in System Module.
MSIENA[31:0] = 0x00000001
3. Enable the PBIST self-test in System Module.
MSTGCR[3:0] = 0xA
4. Wait for at least 32 VCLK cycles in a software loop.
5. Enable the PBIST internal clocks.
PACT = 0x1
6. Disable RAM Override. This will make the PBIST controller use the information provided by the
application in the RINFOx and ALGO registers for the memory self-test.
OVER = 0x0
7. Select the Algorithm (refer to ).
ALGO = 0x00000054 (Algo 3 = March13N, Algo 5 = down1A_red, Algo 7 = Map column for two-port
RAM Group 3)
8. Program the RAM group Info to select RAM Group 3 (refer to
).
RINFOL = 0x00000004 (select RAM Group 3)
RINFOU = 0x00000000 (since this device supports only 28 RAM Groups)
9. Select both Algorithm and RAM information from on-chip PBIST ROM.
ROM = 0x3
10. Configure PBIST to run in ROM Mode and start PBIST run.
DLR = 0x14
11. Wait for PBIST test to complete by polling MSTDONE bit in System Module.
while (MSTDONE !=1)
12. Once self-test is completed, check the Fail Status register FSRF0.
a. In case there is a failure (FSRF0 = 0x01):
i.
Read RAMT register that indicates the RGS and RDS values of the failure RAM.
ii. Read FSRC0 and FSRC1 registers that contains the failure count.
iii. Read FSRA0 and FSRA1 registers that contains the address of first failure.
iv. Read FSRDL0 and FSRDL1 registers that contains the failure data.
v. Resume the Test if required using Program Control register (offset = 0x16C) STR = 2.
b. In case there is no failure (FSRF0 = 0x00), the memory self-test is completed:
i.
Disable the PBIST internal clocks.
PACT = 0
ii. Disable the PBIST self-test.
MSTGCR[3:0] = 0x5