Provides the internal definitions for PBIST.
Provides the APIs for PBIST.
Sub Modules | |
PBIST Low-Level API | |
Functions | |
int32_t | SDL_PBIST_selfTest (SDL_PBIST_inst instance, SDL_PBIST_testType testType, uint32_t timeout, bool *pResult) |
PBIST self test. More... | |
Enumerations | |
enum | SDL_PBIST_inst { SDL_PBIST_INST_MCU, SDL_PBIST_INST_R5F0, SDL_PBIST_INST_R5F1, SDL_PBIST_INST_MPU, SDL_PBIST_INST_INFRA } |
PBIST instance. More... | |
enum | SDL_PBIST_testType { SDL_PBIST_TEST, SDL_PBIST_NEG_TEST } |
PBIST self test type. More... | |
Macros | |
#define | SDL_PBIST_NUM_INSTANCES 5U |
#define SDL_PBIST_NUM_INSTANCES 5U |
enum SDL_PBIST_inst |
enum SDL_PBIST_testType |
PBIST self test type.
This enum defines the test types supported by the SDL_PBIST_selfTest API.
int32_t SDL_PBIST_selfTest | ( | SDL_PBIST_inst | instance, |
SDL_PBIST_testType | testType, | ||
uint32_t | timeout, | ||
bool * | pResult | ||
) |
PBIST self test.
This function executes a PBIST self test of the specified type for a specific PBIST instance. The test types supported are defined in SDL_PBIST_testType. PBIST is a feature that is used for self test of the memory regions in the SoC. Multiple instances may be supported. Note: The PBIST test is destructive to the cores/IP which are being tested. Therefore it should be executed from a different core than the one under test. It is important to note that execution of PBIST self-tests require preparation of the IPS under test by bringing them to a certain power and reset state before executing the test. The application must take care of this sequence before executing the self-test. The SDL examples give a reference for the necessary sequences. The PBIST instances supported are specific to the SoC, and are defined in the soc-specific header file.
instance | [IN] PBIST instance |
testType | [IN] PBIST test type to run. |
timeout | [IN] Max number of times to check for PBIST done |
pResult | [OUT] Pointer to variable to indicate result |