This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SafeTI: why SL_SelfTest_PBIST() checks that nERROR is not active - PBIST failure doesn't activate it or does it?

Hi,

Function SL_SelfTest_PBIST() has the following code which claims that PBIST error would activate nERROR and thus that check is made

    /* If nERROR is active then do not proceed with tests that trigger nERROR */
    if((boolean)(TRUE) == SL_ESM_nERROR_Active()){
        SL_Log_Error(FUNC_ID_ST_PBIST, ERR_TYPE_ENTRY_CON, 2u);
        return(retVal);

I couldn't find any sources for ESM nor any mentions in PBIST paragraph in TRM how that could happen. I also generated a code which results to PBIST failure and error pin is not activated

------ Code ------
// use not suitable algo (RAM) for given ROM memories
    vClearAndWait_nError();

    retVal = SL_SelfTest_PBIST( PBIST_EXECUTE, PBIST_RAMGROUP_01_PBIST_ROM | PBIST_RAMGROUP_02_STC_ROM, PBISTALGO_MARCH13N_RED_1PORT );
    if (!retVal)
    {
        initSTFailCount++;
        for(;;)
        {
        }/* Wait */
    }

    while (TRUE != SL_SelfTest_WaitCompletion_PBIST());

    retVal = SL_SelfTest_Status_PBIST(&failInfoPBIST);

    if( (retVal) && (failInfoPBIST.stResult == ST_FAIL) ) {
        initSTPassCount++;
    } else {
        (void)SL_SelfTest_PBIST_StopExec(); // if status returns false, then PBIST is not stopped, stop here just in case
        initSTFailCount++;
        for(;;)
        {
        }/* Wait */
    }
}

------ Code ends ------


If PBIST doesn't activate nERROR why that function then checks in the entry that nERROR is not active - seems useless and annoying check and is actually a bug?

  • Hello Jarkko,

    On a surface level, I tend agree that the check of nERROR state is not necessary based on the code provided. However, I am not certain how this test fits into the overall flow of tests and if it possibly trying to preserve some failure data or prevent additional testing given failures already identified. I will check with our SW team on this to see if they can provide further explanation of why the check is there.
  • Hi Jarkko,

    It's a Bug. This Error Pin check Entry condition check is not valid for the function SL_SelfTest_PBIST(). Raised a Ticket ( SDOCM00122904) to track this and address in upcoming release.