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.

TMS320F280049: Dividing Calculation in CLA

Part Number: TMS320F280049

Hi team,

I am supporting my customer on CLA testing, and here is wired result.

If we use something like time=tbprd/3, the execution time of CLA task would be extended from 5us to 160us. Obviously, the code is not functioning.

However if we change to time=tbprd/3.0, the execution time would reduce to 5us. What is the question between these 2 expressions?

Another observation is, if time=tbprd/3.0 is used. The execution of CLA would be halted in CLA task sometime in debug mode, but seems working fine without emulator. Not sure if this is a problem due to IDE?

Regards,

Brian

  • Hi Brian,

    The CLA is a floating point engine and is much more efficient when computing floating point vs fixed point. When the expression is /3 it is treated as a fixed point compute and when expression is /3.0 it is treated as a floating point compute, hence the execution time will be different..

    However the compute time for fixed points seems a bit large.  Would it be possible to share the disassembly for the two cases, this will help figure out why fixed point is so much larger.

    Regarding the halting CLA, can you confirm that no software breakpoints are being set, the halt without an explicit halt or software breakpoint would not be expected.

    Thanks,

    Ashwini