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.

About software Test of SRAM Wrapper Address Decode Diagnostic and ECC

In SPNU577B - April 2013

5.10.12  Software Test of SRAM Wrapper Address Decode Diagnostic and ECC

How to implement the Software test ?

I think ECC test is forcibly writting a numer in SRAM and read this address so the ECC is wrong.

Is there any specific example or steps to test ECC ?

And I don't know how to test wrapper address decode, could you give me some advice ?

  • Hi user1411371,

    There is a software library available to help you with this.

    See - http://www.ti.com/tool/SAFETI_DIAG_LIB

    I think the demo that comes with this library may show how to do this.
  • I checked my diagnose lib 2.1.0 there is no "RAM 12 - software Test of SRAM Wrapper Address Decode Diagnostic and ECC "

    Is there any latest library or could you give me some detailed method ?

  • As the ECC controllers for the SRAM are embedded in the CPU, the lockstep and the LBIST STC can provide diagnostic coverage of the ECC functionality.  If you want to test the ECC with software, you can directly access the ECC bits in the memory map to insert single bit and dual bit errors.

    For the redundant address decode, please refer to the TRM and the description of the RAMTEST register in the TCRAM wrapper module.

    Regards,

    Karl

  • Hi User,

    I actually asked the same question of the library developers - I would have expected a RAM12 line myself.

    There are demo codes that show how to inject ECC errors and test the ECC detection logic - for example the project 1 demo for the new launchpads inserts an error into RAM every time you press a button. So I think at minimum getting you the demo code will show how to do this.

    Working on that - sorry for the delay.
  • User,

    I looked at the demo_app sources that come with the safety library.

    I think the function that tests the ECC is SL_SelfTest_SRAM()

    The description looks like what you need - not sure why it's listed for several of the RAM requirements but not RAM12,  maybe it's just missing for RAM12.

    The demo app uses the function like this:

    #if 1
            /* Run 1Bit ECC test on TCM RAM */
            retVal = SL_SelfTest_SRAM(SRAM_ECC_ERROR_FORCING_1BIT, TRUE, &failInfoTCMRAM);;
            INCREMENT_PASS_FAIL_COUNTER(failInfoTCMRAM, retVal);
            /* Run 2Bit ECC test on TCM RAM */
            retVal = SL_SelfTest_SRAM(SRAM_ECC_ERROR_FORCING_2BIT, TRUE, &failInfoTCMRAM);;
            INCREMENT_PASS_FAIL_COUNTER(failInfoTCMRAM, retVal);

  • Thanks, I'll check this and the TRM and the description of the RAMTEST register in the TCRAM wrapper module that KGreb said.
  • Thank you! I'll check these two methods