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.

TMS570LS0432: can anyone elaborate the meaning of pbistREG->rsvd1?

Expert 1995 points
Part Number: TMS570LS0432
Other Parts Discussed in Thread: HALCOGEN

Hello,

I cannot understand the answer given in the previous thread:

If there is the line:

/* PBIST_RUN */
pbistREG->rsvd1[1U] = 1U;

it means that a user (i.e. Halcogen) is programming it. So it is needed, isn't it ? 

 Thanks

  • Hello Marco,

    As Charles says that this register is not user programmed during application selftest.

    The rsvd1[1U] is used internally to select test clock inputs. However, this register is not user programmed during application selftest. During application selftest it is automatically configured for the memory under test based on the information downloaded from the PBIST ROM.
  • QJ Wang said:
    Hello Marco,

    As Charles says that this register is not user programmed during application selftest.

    The rsvd1[1U] is used internally to select test clock inputs. However, this register is not user programmed during application selftest. During application selftest it is automatically configured for the memory under test based on the information downloaded from the PBIST ROM.

    I found nothing about this you wrote through the TM or in other (official) documents. Is there any reference on that ?

  • Hello Marco,

    This register is rsved for TI internal use only. It should not be used by the users.
  • HI QJ,

    Thanks for your reply.

    QJ Wang said:
    Hello Marco,

    This register is rsved for TI internal use only. It should not be used by the users.

    I agree mostly because in safety-critical applications any portion of code must be documented and it does not happen for that code. Can you please propose an alternative way to obtain the same result of setting that register to run the PBIST and obtain the expected fail ?

    Furthermore, I would like to know whether the following code can be avoided by the user since rsvd1[1U] is not used any more:

    /* Custom always fail algo, this will not use the ROM and just set a fail */
        pbistREG->RAMT         = 0x00002000U;
        *(volatile uint32 *)0xFFFFE400U = 0x4C000001U;
        *(volatile uint32 *)0xFFFFE440U = 0x00000075U;
        *(volatile uint32 *)0xFFFFE404U = 0x4C000002U;
        *(volatile uint32 *)0xFFFFE444U = 0x00000075U;
        *(volatile uint32 *)0xFFFFE408U = 0x4C000003U;
        *(volatile uint32 *)0xFFFFE448U = 0x00000075U;
        *(volatile uint32 *)0xFFFFE40CU = 0x4C000004U;
        *(volatile uint32 *)0xFFFFE44CU = 0x00000075U;
        *(volatile uint32 *)0xFFFFE410U = 0x4C000005U;
        *(volatile uint32 *)0xFFFFE450U = 0x00000075U;
        *(volatile uint32 *)0xFFFFE414U = 0x4C000006U;
        *(volatile uint32 *)0xFFFFE454U = 0x00000075U;
        *(volatile uint32 *)0xFFFFE418U = 0x00000000U;
        *(volatile uint32 *)0xFFFFE458U = 0x00000001U;

    Thanks ahead for a kind reply.

    Regards,

    -Marco

  • Hello Marco,

    Thanks for your very good questions. I will check with with our design team and come back to you.
  • Hi Marco,

    I will close this thread, and talk with you offline. Thanks