AM62Ax MCU+ SDK  10.01.00
APIs for PBIST (Memory Built-In Self Test)

Introduction

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...
 
int32_t SDL_SBL_PBIST_selfTest (SDL_PBIST_inst instance)
 PBIST self test for MCU only. More...
 
uint32_t SDL_SBL_PBIST_checkDone (SDL_PBIST_inst instance)
 PBIST API to check if the test is complete. More...
 
int32_t SDL_SBL_PBIST_checkResult (SDL_PBIST_inst instance)
 PBIST API to check if PBIST test is executed successfully. More...
 

Enumerations

enum  SDL_PBIST_inst {
  SDL_PBIST_INST_MPU, SDL_PBIST_INST_ENCODE, SDL_PBIST_INST_C7X, SDL_PBIST_INST_VPAC,
  SDL_PBIST_INST_MAIN, SDL_PBIST_INST_MCU
}
 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   6U
 

Macro Definition Documentation

◆ SDL_PBIST_NUM_INSTANCES

#define SDL_PBIST_NUM_INSTANCES   6U

Enumeration Type Documentation

◆ SDL_PBIST_inst

PBIST instance.

This enum defines the PBIST instances supported by the SDL_PBIST_selfTest API.

Enumerator
SDL_PBIST_INST_MPU 

COMPUTE_CLUSTER0_PBIST :A53

SDL_PBIST_INST_ENCODE 

PBIST3 : Encoder

SDL_PBIST_INST_C7X 

C7X256V0_PBIST : C7x

SDL_PBIST_INST_VPAC 

VPAC0_PBIST : VPAC

SDL_PBIST_INST_MAIN 

PBIST0 : Main IP

SDL_PBIST_INST_MCU 

MCU_PBIST0 : MCU Pulsar

◆ SDL_PBIST_testType

PBIST self test type.

This enum defines the test types supported by the SDL_PBIST_selfTest API.

Enumerator
SDL_PBIST_TEST 

PBIST Test Performs the PBIST test for a the instance specified. When a valid pConfig is passed, those values will be used to execute the test. If pConfig is NULL (recommended), then the default "golden vectors" will be used to execute the test.

SDL_PBIST_NEG_TEST 

PBIST Negative Test Performs the PBIST negative test to verify the PBIST logic for the instance specified

Function Documentation

◆ SDL_PBIST_selfTest()

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.

Parameters
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
Returns
The SDL error code for the API. If pResult is NULL: SDL_EBADARGS If testType is invalid: SDL_EBADARGS If other error happened: SDL_EFAIL Success: SDL_PASS

◆ SDL_SBL_PBIST_selfTest()

int32_t SDL_SBL_PBIST_selfTest ( SDL_PBIST_inst  instance)

PBIST self test for MCU only.

This function executes a PBIST self test of the specified type for a MCU 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.

Parameters
instance[IN] PBIST instance
Returns
The SDL error code for the API. If pResult is NULL: SDL_EBADARGS If testType is invalid: SDL_EBADARGS If other error happened: SDL_EFAIL Success: SDL_PASS

◆ SDL_SBL_PBIST_checkDone()

uint32_t SDL_SBL_PBIST_checkDone ( SDL_PBIST_inst  instance)

PBIST API to check if the test is complete.

This function checks if the PBIST test is complete.

Parameters
instance[IN] PBIST instance
Returns
The SDL error code for the API. Success:PBIST_DONE Fail:PBIST_NOT_DONE

◆ SDL_SBL_PBIST_checkResult()

int32_t SDL_SBL_PBIST_checkResult ( SDL_PBIST_inst  instance)

PBIST API to check if PBIST test is executed successfully.

This function checks if the PBIST test is executed successfully..

Parameters
instance[IN] PBIST instance
Returns
The SDL error code for the API. Success:SDL_PASS Fail:SDL_EFAIL