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.

TMS320F280039C: CLA and C2000 having different rounding modes for floating point numbers

Part Number: TMS320F280039C

I understand that intially the CLA and the CPU have different rounding modes for floating point numbers, CLA truncates the number, and that this can be changed to match what the CPU does.

The assembly instruction to change the mode:
__asm(" MSETFLG RNDF32=1");  

I was wondering if there is a specific reason why the CLA defaults to truncation instead of the CPU rounding mode. My main concern is whether enabling RNDF32 has any meaningful performance impact on the CLA. In my application the additional accuracy is useful, so I would like to enable it if there is no significant downside.
 
The issue appears in the following line of code executed on the CLA:

 uint32_t pwmPeriodTicks_cla = (DEVICE_SYSCLK_FREQ / (float)freq);

Where my freq is equal to 1000000, and the DEVICE_SYSCLK_FREQ is equal to C2000 ((uint32_t)(((20000000UL) * 48) / (2 * 4 * 1))).

pwmPeriodTicks equates to 120 in the CPU, but in the CLA it makes it 119. 

My questions are:
Is the default CLA truncation behavior intentional for performance reasons?
Is there any meaningful performance penalty when enabling RNDF32=1?
Is enabling RNDF32 the recommended way to maintain consistency between CLA and C28x results?