Hi Team,
customer use safety lib to do self test and find the execution time has big difference when running PBIST on all rom memories, which make the time of software initialization too long. so customer want to know the reason on this and do some study.
Currently customer find the reason is that for current software version, after calling the PLL self-test function and finish the self-test, the clk doesn't change back to PLL1 and stay in OSC, so it makes the time longer.
But they do not find the root cause that trigger the issue. And they have two questions: 1. they change the initialization code ( IO overturn) in Main function which should have no relationship with this, but it will trigger the issue 2. For this version of software, the action on clk change is not same when do step by step execution or one time execution on check PLL1slip.
Regarding current PLL self-test function, datasheet mentioned you need to disable PLL first if you want to clear slip bits, but clearing slip is put after CLK change back to PLL1 in self-test function. Based on this, customer add 38us delay ( delay function in normal time base, in this working condition, it should be ~400us) after the code" restore the pll multiplier value" and also add 38us delay before the code that change clk source back to original clk, then no issue and the results are expected at both step-by-step execution or with no simulator. Please kindly check if the issue is caused by the function and if the work-around above is reasonable.
Thanks.
BRs
Given