SPRUJ17H March 2022 – October 2024 AM2631 , AM2631-Q1 , AM2632 , AM2632-Q1 , AM2634 , AM2634-Q1
This section describes the sequence to be followed for enabling memory self-test on any intended memory group.
Before re-programming PBIST registers to target test for a different memory group, the Self-Test Key and Reset register bits [7:0] should be reset to reset the PBIST controller and hence clear the status of PBIST internal registers.
Step # | Step | Register/Bitfield/Programming | Value |
---|---|---|---|
1 | Enable the Top PBIST Self-Test Key | MSS_CTRL.TOP_PBIST_KEY_RST[3:0] | 0x5 |
2 | Bring PBIST controller and MDP logic out of reset | MSS_CTRL.TOP_PBIST_KEY_RST[7:4] | 0xA |
3 | Enable the PBIST internal clocks and ROM interface clock | TOP_PBIST.PBIST_PACT | 0x1 |
4 | Ensure the Loop count register is at its reset value | TOP_PBIST.PBIST_L0 TOP_PBIST.PBIST_L1 TOP_PBIST.PBIST_L2 TOP_PBIST.PBIST_L3 |
0x0 |
5 | Program Override register to allow configuration of memory group and algorithm group registers | TOP_PBIST.PBIST_OVR | 0x9 |
6 | Program DLR register | TOP_PBIST.PBIST_DLR | 0x10 |
7 | Clear the memory group registers | TOP_PBIST.PBIST_RINFOL TOP_PBIST.PBIST_RINFOU | 0x0 |
8 | Clear the algorithm register | TOP_PBIST.PBIST_ALGO | 0x0 |
9 | Program the algorithm register for the intended algorithm (Refer Section TOP PBIST RAM-ROM Memory and Algorithm Group Configuration) | TOP_PBIST.PBIST_ALGO | *Values mentioned in PBIST RAM-ROM Memory and Algorithm Group Configuration |
10 | Program the memory group number on which selected algorithm is to be run. (Refer Section Top PBIST RAM-ROM Memory and Algorithm Group Configuration) | TOP_PBIST.PBIST_RINFOL TOP_PBIST.PBIST_RINFOU | *Values mentioned in PBIST RAM-ROM Memory and Algorithm Group Configuration |
11 | Re-Program the Override register to mask overwriting of RINFOL, RINFOU, ALGO registers from PBIST Rom after PBIST execution starts | TOP_PBIST.PBIST_OVR | 0x0 |
12 | Ensure ROM MASK Register is set to ensure both Algorithm and memory information is picked from PBIST ROM. | TOP_PBIST.PBIST_ROM | 0x3 |
13 | Kick off PBIST test | TOP_PBIST.PBIST_DLR | 0x021C |
14 | Wait for Interrupt (Refer to Section ‘Top PBIST Interrupt signal Integration’ for interrupt mapping) | ||
15 | Read Fail Status Register to check the status of the test | TOP_PBIST.PBIST_FSRF0 TOP_PBIST.PBIST_FSRF1 | (READ) 0x0 - Test Pass Non-zero value - Test Fail |
16 | Read Address registers to ensure Test has been indeed run |
TOP_PBIST.PBIST_CA1 TOP_PBIST.PBIST_CA2 |
(READ)0x0- test has not been runNon- zero – test is correctly run |
17 | Program PACT back to reset value (Gating PBIST internal clocks – test exit sequence ) | TOP_PBIST.PBIST_PACT | 0x0 |
18 | Disable the Top PBIST Self-Test Key and assert reset to PBIST controller and MDP logic | MSS_CTRL.TOP_PBIST_KEY_RST[7:0] | 0x0 |