iLLD_TC27xD  1.0
MBIST Operations
Collaboration diagram for MBIST Operations:

Functions

IFX_EXTERN void IfxMtu_clearSram (IfxMtu_MbistSel mbistSel)
 Function to Clear the MBIST SRAM (Synchronous mode). Note: The function clears & sets safety endinit bit while running the test to prevent watchdog TO and automatically restores the endinit state (same state at the time of entering the function) at the end. More...
 
IFX_EXTERN void IfxMtu_clearSramContinue (IfxMtu_MbistSel mbistSel)
 This Function should be called after MBIST Clear SRAM operation is completed. Note: The function should be called with safety endinit bit cleared. More...
 
IFX_EXTERN void IfxMtu_clearSramStart (IfxMtu_MbistSel mbistSel)
 This Function triggers the Clear the MBIST SRAM operation (Asynchronous operation). It doesn't wait till the end of operation. The application has to poll the Mbist status (IfxMtu_isMbistDone()) in a task and once the operation is done, the IfxMtu_clearSramContinue() function should be called to complete the operation. If Synchronous usage is need, use IfxMtu_clearSram() function. Note: The function should be called with safety endinit bit cleared. More...
 
IFX_EXTERN boolean IfxMtu_isMbistDone (IfxMtu_MbistSel mbistSel)
 This Function returns the status of MBIST clear Sram operation. Caution: It is recommended not to call this function continously in a loop. Use IfxMtu_ClearSram() function for Synchronous polling mode. More...
 
IFX_EXTERN void IfxMtu_readSramAddress (IfxMtu_MbistSel mbistSel, uint16 sramAddress)
 
IFX_EXTERN uint8 IfxMtu_runCheckerBoardTest (IfxMtu_MbistSel mbistSel, uint8 rangeSel, uint8 rangeAddrUp, uint8 rangeAddrLow, uint16 *errorAddr, uint32 numberRedundancyLines)
 Run CheckerBoard test. This test consists of writing the physical checkerboard pattern into the memory, then reading it back for verification Note: The function clears & sets safety endinit bit while running the test to prevent watchdog TO and automatically restores the endinit state (same state at the time of entering the function) at the end. More...
 
IFX_EXTERN uint8 IfxMtu_runMarchUTest (IfxMtu_MbistSel mbistSel, uint8 rangeSel, uint8 rangeAddrUp, uint8 rangeAddrLow, uint16 *errorAddr)
 Run March U test. This test MARCHES 0 and 1 values through the memory array in an up and down direction. More precisely, 0 and 1 values are propagated through the memory in each direction; i.e. a single bit cell toggles into each direction with the neighboring cells having a given value and, in another run, the inverse given value. Note: The function clears & sets safety endinit bit while running the test to prevent watchdog TO and automatically restores the endinit state (same state at the time of entering the function) at the end. More...
 
IFX_EXTERN uint8 IfxMtu_runNonDestructiveInversionTest (IfxMtu_MbistSel mbistSel, uint8 rangeSel, uint8 rangeAddrUp, uint8 rangeAddrLow, uint16 *errorAddr)
 This function runs the Non-Destructive Inversion test algorithm. Non-Destructive Inversion test can be considered as a simple linear test that is able to find all Stuck-At faults (the cell remains stuck at a value for any operation) without destroying any user data. The test accesses every Word in the address range defined by the RANGE register, four times. Test Steps: More...
 
IFX_EXTERN void IfxMtu_writeSramAddress (IfxMtu_MbistSel mbistSel, uint16 sramAddress)
 

Detailed Description

Function Documentation

IFX_EXTERN void IfxMtu_clearSram ( IfxMtu_MbistSel  mbistSel)

Function to Clear the MBIST SRAM (Synchronous mode). Note: The function clears & sets safety endinit bit while running the test to prevent watchdog TO and automatically restores the endinit state (same state at the time of entering the function) at the end.

Parameters
mbistSelMemory Selection
Returns
None

A coding example can be found in How to use the Mtu driver?

Definition at line 60 of file IfxMtu.c.

Referenced by IfxEray_Eray_initModule().

IFX_EXTERN void IfxMtu_clearSramContinue ( IfxMtu_MbistSel  mbistSel)

This Function should be called after MBIST Clear SRAM operation is completed. Note: The function should be called with safety endinit bit cleared.

Parameters
mbistSelMemory Selection
Returns
None

A coding example can be found in How to use the Mtu driver?

Definition at line 103 of file IfxMtu.c.

Referenced by IfxMtu_clearSram().

IFX_EXTERN void IfxMtu_clearSramStart ( IfxMtu_MbistSel  mbistSel)

This Function triggers the Clear the MBIST SRAM operation (Asynchronous operation). It doesn't wait till the end of operation. The application has to poll the Mbist status (IfxMtu_isMbistDone()) in a task and once the operation is done, the IfxMtu_clearSramContinue() function should be called to complete the operation. If Synchronous usage is need, use IfxMtu_clearSram() function. Note: The function should be called with safety endinit bit cleared.

Parameters
mbistSelMemory Selection
Returns
None

A coding example can be found in How to use the Mtu driver?

Definition at line 117 of file IfxMtu.c.

Referenced by IfxMtu_clearSram().

IFX_EXTERN boolean IfxMtu_isMbistDone ( IfxMtu_MbistSel  mbistSel)

This Function returns the status of MBIST clear Sram operation. Caution: It is recommended not to call this function continously in a loop. Use IfxMtu_ClearSram() function for Synchronous polling mode.

Parameters
mbistSelMemory Selection
Returns
status of Mbist Clear Sram operation (TRUE - Operation completed, FALSE - Operation still in progress)

A coding example can be found in How to use the Mtu driver?

Definition at line 309 of file IfxMtu.c.

Referenced by IfxMtu_clearSram(), IfxMtu_readSramAddress(), IfxMtu_runCheckerBoardTest(), IfxMtu_runMarchUTest(), IfxMtu_runNonDestructiveInversionTest(), and IfxMtu_writeSramAddress().

IFX_EXTERN void IfxMtu_readSramAddress ( IfxMtu_MbistSel  mbistSel,
uint16  sramAddress 
)
Parameters
mbistSelMemory Selection
sramAddressSRAM address which should be read
Returns
None

A coding example can be found in How to use the Mtu driver?

Definition at line 319 of file IfxMtu.c.

Referenced by IfxMtu_clearSramContinue().

IFX_EXTERN uint8 IfxMtu_runCheckerBoardTest ( IfxMtu_MbistSel  mbistSel,
uint8  rangeSel,
uint8  rangeAddrUp,
uint8  rangeAddrLow,
uint16 errorAddr,
uint32  numberRedundancyLines 
)

Run CheckerBoard test. This test consists of writing the physical checkerboard pattern into the memory, then reading it back for verification Note: The function clears & sets safety endinit bit while running the test to prevent watchdog TO and automatically restores the endinit state (same state at the time of entering the function) at the end.

Parameters
mbistSelMemory Selection
rangeSelenable/disable range Selection (0 - disable, 1- enable)
rangeAddrUpwhen range mode is enabled, it specifies the upper logical block address limit in 64 word increments.
rangeAddrLowwhen range mode is enabled, it specifies the lower logical block address limit.
errorAddrIf the test fails, it contains the error address (bit0 - bit12) and memory block index (Bit13 - Bit15)
Returns
Test Status (0-PASS, 1- FAIL)

Definition at line 346 of file IfxMtu.c.

IFX_EXTERN uint8 IfxMtu_runMarchUTest ( IfxMtu_MbistSel  mbistSel,
uint8  rangeSel,
uint8  rangeAddrUp,
uint8  rangeAddrLow,
uint16 errorAddr 
)

Run March U test. This test MARCHES 0 and 1 values through the memory array in an up and down direction. More precisely, 0 and 1 values are propagated through the memory in each direction; i.e. a single bit cell toggles into each direction with the neighboring cells having a given value and, in another run, the inverse given value. Note: The function clears & sets safety endinit bit while running the test to prevent watchdog TO and automatically restores the endinit state (same state at the time of entering the function) at the end.

Parameters
mbistSelMemory Selection
rangeSelenable/disable range Selection (0 - disable, 1- enable)
rangeAddrUpwhen range mode is enabled, it specifies the upper logical block address limit in 64 word increments.
rangeAddrLowwhen range mode is enabled, it specifies the lower logical block address limit.
errorAddrIf the test fails, it contains the error address (bit0 - bit12) and memory block index (Bit13 - Bit15)
Returns
Test Status (0-PASS, 1- FAIL)

Definition at line 436 of file IfxMtu.c.

IFX_EXTERN uint8 IfxMtu_runNonDestructiveInversionTest ( IfxMtu_MbistSel  mbistSel,
uint8  rangeSel,
uint8  rangeAddrUp,
uint8  rangeAddrLow,
uint16 errorAddr 
)

This function runs the Non-Destructive Inversion test algorithm. Non-Destructive Inversion test can be considered as a simple linear test that is able to find all Stuck-At faults (the cell remains stuck at a value for any operation) without destroying any user data. The test accesses every Word in the address range defined by the RANGE register, four times. Test Steps:

  1. Read data Word including check bits
  2. write back all bits inverted
  3. Read data Word including check bits
  4. Write back all bits inverted At the end of this procedure the user data remains unchanged and and every bit has been set to 0 and 1. Any single Stuck-At error will be visible as a correctable error. Note: The function clears & sets safety endinit bit while running the test to prevent watchdog TO and automatically restores the endinit state (same state at the time of entering the function) at the end.
    Parameters
    mbistSelMemory Selection
    rangeSelenable/disable range Selection (0 - disable, 1- enable)
    rangeAddrUpwhen range mode is enabled, it specifies the upper logical block address limit in 64 word increments.
    rangeAddrLowwhen range mode is enabled, it specifies the lower logical block address limit.
    errorAddrIf the test fails, it contains the error address (bit0 - bit12) and memory block index (Bit13 - Bit15)
    Returns
    Test Status (0-PASS, 1- FAIL)

Definition at line 529 of file IfxMtu.c.

IFX_EXTERN void IfxMtu_writeSramAddress ( IfxMtu_MbistSel  mbistSel,
uint16  sramAddress 
)
Parameters
mbistSelMemory Selection
sramAddressSRAM address which should be written
Returns
None

Definition at line 685 of file IfxMtu.c.