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.

TMS320F28027: The floating-point calculation time issue

Part Number: TMS320F28027


Hi team,

Here's an issue from the customer may need your help:

Clock is configured as 60MHZ.

1) How much time does the floating-point multiplication and floating-point addition take?

2) What is the time it takes respectively to add and multiply data of type uint16_t?

3) When using the IQ library, such as the original data is in the _iq30 range and #define GLOBAL_Q. 19. What should they do if at this point they want to add, subtract or multiple a number of data types _iq30 and data types _iq?

Could you help check this case? Thanks.

Best Regards,

Cherry

  • HI,

    1) MPY32 and ADD32 takes 2 pipeline cycles each. 

    2) ADD16 takes 1 cycles, MPY for 16 bit takes 1 cycle. 

    For the cycles information, please consult the C28x CPU and ISA manual and also the extended ISA manual.

    3) Subtracting/Adding/Multiplying two variables of different Q values will lead to incorrect results. You will have to make sure that they are all of the same format using _IQx().

    -Shantanu

  • Hi Shantanu,

    Thanks for your help and sorry for the delay in feedback.

    3) Subtracting/Adding/Multiplying two variables of different Q values will lead to incorrect results. You will have to make sure that they are all of the same format using _IQx().

    When subtracting/adding/multiplying 2 variables of different Q values, for example, a =IQ16, b=IQ2, but #define   GLOBAL_Q       19. And then a+b," IQ16toIQ(a)+IQ2toIQ(b)", is that right? 

    Thanks and regards,

    Cherry

  • Yes that is correct