AM64x MCU+ SDK  10.00.00
APIs for PBIST (Memory Built-In Self Test)

Introduction

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
 

Macro Definition Documentation

◆ SDL_PBIST_NUM_INSTANCES

#define SDL_PBIST_NUM_INSTANCES   5U

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_MCU 

MCU Instance (NCGO)

SDL_PBIST_INST_R5F0 

Pulsar Instance 0

SDL_PBIST_INST_R5F1 

Pulsar Instance 1

SDL_PBIST_INST_MPU 

A53 Instance

SDL_PBIST_INST_INFRA 

Infrastructure Instance

◆ 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