Hello,
Have anyone verified C5535 has actually 200 MMAC at max ?
I could only get 5 MMAC at most.
What do I need with my program beside specifying optimization options for the compiler.
I appreciate your help.
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.
Hello,
Have anyone verified C5535 has actually 200 MMAC at max ?
I could only get 5 MMAC at most.
What do I need with my program beside specifying optimization options for the compiler.
I appreciate your help.
Hi,
The 200 MMAC is the max performance that can be achieved given the C55x architecture. Since the C55x has a single-cycle dual multiply-and-accumulate (MAC) ALU, the C5535 running at a maximum of 100 MHz can get 100 x 2 = 200MMACs per second. However certain conditions have to be met to enable the architecture to reach this level of performance.
If you are using C code to perform filtering, the code has to be constructed appropriately with relevant PRAGMA directives and compile options to let the C compiler understand that it can use dual MACs. Data buffers have to be in DARAM.You can also use C intrinsics to force the compiler to use dual MACs.
Please see section 2.3.1, 5.44, 6.5.4 of the 'TMS320C55x Optimizing C/C++ Compiler User’s Guide' (spru281f.pdf).
Regards,
Sunil Kamath
Many thanks for your reply.
Yes, I'm programming in C language, and I'm using the most of the compiler ability with my best knowledge, but still I can get 5-6 MMACs at most.
My experience with DM355 has been successful. I could easily get approx. 100 MMACs using C language, i.e. 60 taps FIR filters at 500Ksps.
I now understood C55x is a totally different architecture with no comparison with others.