Other Parts Discussed in Thread: HALCOGEN
There are two CPUs inside the chip,DO two CPU comparison function requires verification code?
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.
There are two CPUs inside the chip,DO two CPU comparison function requires verification code?
Hello Zhao,
TMS570LS uses ARM cortex-R4F CPU. The ARM cortex-R4F CPU is implemented with a checker cortex-R4F CPU in a lock-step configuration. Both the application CPU and the diagnostic CPU are fed the same input signals, which results in both CPUs running the same software. The diagnostic and application CPUs should generate the same output. The core compare module (CCM) compares the CPU outputs and flags all mis-compares to the ESM.The lockstep diagnostic is continually operating from power-on reset.
The CCM logic provides self test and error forcing capability via software triggered hardware. The self test ensures that the CCM compare logic is working properly. The error forcing capability allows you to test the system level response to a lockstep miscompare.
The HALCoGen generates example code (selftest.c) showing you how to enable the selftest, fault injection, etc. You don't need any verification code to verify the comparison.
Thank you
I have two questions that you need to help me.
1. I know that the program needs self-test when it starts, so whether need to add a self-test program during the running of the program, for example, in the for loop do self-test.
2 If I don't perform a self-test in the for loop, can the cpu find bug on the self-test? if that can,what the cpu to do?
Thanks and Regards,
ZHAO
HI Zhao,
1. The dual core lockstep detects failures at the core boundary on a cycle by cycle basis. Any difference in the core compare bus outputs of the CPUs is flagged as an error. The device is in lockstep mode after reset and start comparison automatically, so you don't need to enable and start.
2. CPU selftest (STC): This is used to test the lockstep CPUs at a transistor level. This test must be triggered by the software. It is suggested to run this test during startup. When test execution is complete, the CPU will be reset. You don't need a loop to run the self test.
3. CCM-R4F: The CCM logic provides self test and error forcing capability via software triggered hardware. The self test ensures that the CCM compare logic is working properly. The error forcing capability allows you to test the system level response to a lockstep miscompare. You don't need a for loop to call this selftest.
Please refer to the halcogen generated sys_startup file and APIs in selftest.c file.
According to what you mean, I only need to run the self-test at the beginning of the program. I don't need to do the CPU check later in cycle.
If the cpu finds a fault, there is an interrupt prompt, I did not find it.
Thank you
Hello whong,
I am sorry for my confused message. You can do the self test whenever you need based on your application.
STC generates a CPU reset after completion of the test regardless of pass or fail. You can run the STC test during startup or can divide STC into 24 or fewer intervals and run them during normal operation. If STC is ran only on startup, your software need not save the CPU contents since the reset caused will go through all startup configurations.This is why I suggest you to run this test at boot time. If your system keeps running for long time (for example 12 hours) without any reset (nRST, poweron reset), you may need to do more STC selftest. Please refer to chapter of TRM: spnu507.pdf
PSCON: power state controller -- chapter 3 of TRM spnu507.pdf
Efuse: Electrically programmable fuses are used to configure the device after deassertion of PORRST. Please refer to chapter 29
Flash: Please refer to sector 5.7 for flash Diagnostic Modes
Thank you
Yes.My system needs to run for a long time without restart So ,do I need to check all the self-tests of the cpu? But I think some self-tests take a long time and affect the operation of my system.for example In "SafeTI™ Hercules™ Diagnostic Library Release version 2.3.1"
Hello whong,
Is there a plan to get the safety certification for your product? What ASIL or SIL level is required?
It 's better to ask the assessor about if you need more CPU selftest?
Hello Whong,
Please refer to our functional safety manual. If your system needs SIL4, you probably need all the self tests. Please check with the assessor for your product.