To initiate a negative PBIST test of the H/W IP modules, follow the below programming
sequence.
- PBIST_PACT – Set PACT[1:0] While this bit is 0, any access to PBIST will not go
through.
- Set to 1 to turn on internal PBIST clocks.
- PBIST_MARGIN_MODE - Safety enable
and algorithm subset select register. This register is repurposed on the TDA4VH
device.
- PBIST_MARGIN_MODE[2:0]
are safety bits, set all bits 1.
- PBIST_MARGIN_MODE [3]
selects algorithm subset #0 or #1
- ROM0 is for
system-test and basic production test.
- MARGIN_MODE[3] is
not used in PBIST Negative test.
- PBIST_L0 - Variable loop count register
- PBIST_DLR - Datalogger register
- Put PBIST controller into the appropriate modes and start the test.
- Set bit [4] for config mode by programming 0x10
- Use TI recommended values from Section 5. Device Configuration -> Module
Integration -> PBIST -> Negative Test Data, to program the following
registers.
- PBIST_RF0L, PBIST_RF0U
- PBIST_RF1L, PBIST_RF1U
- PBIST_RF2L, PBIST_RF2U
- PBIST_RF3L, PBIST_RF3U
- PBIST_RF4L, PBIST_RF4U
- PBIST_D
- PBIST_E
- Use TI recommended values from Section 5. Device Configuration -> Module
Integration -> PBIST -> Negative Test Data, to program below registers.
- PBIST_DLR
- PBIST_CA2
- PBIST_CL0
- PBIST_CA3
- PBIST_IO0
- PBIST_CL1
- PBIST_I3
- PBIST_I2
- PBIST_CL2
- PBIST_CA1
- PBIST_CA0
- PBIST_CL3
- PBIST_I1
- PBIST_RAMT
- PBIST_CSR
- PBIST_CMS
- Set PBIST_STR to 0x1, to start.
- Wait for PBIST controller interrupt. Upon completion of the test, an interrupt
will be generated and the system interrupt handler will read the pbist_fail
registers below to confirm pass/fail status of the test.
- Read registers FSRF0,1 for port0,1 pbist fail.
- Expected value for both: 0x1
- Read registers FSRA0,1
- Expected value for both: 0x0
- Read registers FSRDL0,1
- Expected value for both: 0xFFFFFFFF