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.

What is included in the CPU self-diagnosis provided by the STC module

Other Parts Discussed in Thread: HALCOGEN

hi,I now want to use the interface provided by the STC module to enable CPU Self Test through HALCOGen to perform CPU self-diagnosis. The CPU self-diagnosis provided by this interface includes specific diagnostics, whether it contains instruction sets, special function registers, general registers, etc. ? thanks a lot。

  • Hi Xiaohong,

    The STC modules consists of a interface to read the self-test microcode from the ROM. The microcode is not user accessible.

    SCT module contains various config and status registers, and those registers are memory mapped and user accessible through VBUSP interface.

    To enable the STC self-check and CPU self-test, please refer to the STC configuration examples listed in device TRM.

  • The self-check of our project on the CPU on other platforms is implemented by ourselves through assembly and other methods, including the instruction set, some functional registers, etc. Now on the TMS570 series, if we use the diagnostic interface provided by the platform for self-check, call STC Test and CPU Test interfaces, whether they both include the diagnosis of instruction set, special function registers, general registers, etc. I am not sure whether the CPU self-diagnosis interface provided by your platform meets our most diagnostic coverage requirements and in which documents Can you see specific instructions in? 

    Thanks a lot.

  • The STC self-check and CPU self-test are done by the hardware. No instruction set or special registers are needed for the diagnostic test. What the user need to do is to configure the STC clock, and enable the test.

    The coverage of the CPU self-test is listed in the device TRM:

  • First of all thank you for your reply,I probably understand what you mean.That is to say, the function of CPU diagnosis is realized by the bottom of the hardware, and the content of diagnosis is also related to the hardware, right?

    If I need to diagnose whether the instruction set of the CPU or some registers are invalid, does this diagnosis require our users to write the diagnostic code? Does the platform provide an interface or library function call for this diagnosis?

    Thaks and regards.

  • Hi Xiaohong,

    The CPU self-test uses the hardware logic BIST (LBIST) engine to test CPU at a transistor level. It provides a very high diagnostic coverage. This LBIST technique has proven to be drastically more effective than software-based tests of logic, particularly for the complex logic structures seen in a modern CPU.

    The CPU selftest must be triggered by the software. You may elect to run all tests, or only a subset of the tests based on the execution time.

    The CPU Self-test doesn't test instructions. It doesn't require any user diagnostic code.