PBIST Configuration Example
341
SPNU503C – March 2018
Copyright © 2018, Texas Instruments Incorporated
Programmable Built-In Self-Test (PBIST) Module
7.6.2 Example 2 : Configuration of PBIST Controller to Run Self-Test on ALL RAM Groups
This example explains the configurations for running March13, Down1A and Mapcolumn algorithms on all
RAM groups defined in the PBIST ROM.
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. Enable RAM Override.
OVER = 0x1
7. Select the Algorithms to be run (refer to ).
ALGO = 0x000000FC (select March13N, Down1A and Map Column algorithms for single-port and two-
port RAMs)
8. Select both Algorithm and RAM information from on-chip PBIST ROM.
ROM = 0x3
9. Configure PBIST to run in ROM Mode and kickoff PBIST test.
DLR = 0x14
10. Wait for PBIST test to complete by polling MSTDONE bit in System Module.
while (MSTDONE !=1)
11. 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