I am wondering if there are any known issues with this function in the DSPLIB V340 library.
I am upgrading from a 6482 based system running DSP/BIOS to a AM5728 DSP Core based system runnign SYS/BIOS.
I ahve existing unit test functions that all pass on the 6482 but have come across a test failing on the AM5728 I can't quite figure out.
The 6482 is using DSPLIB V100. Yeah, pretty old, I know.
I have narrowed it down to the function DSP_ifft16x16_imre from DSPLIB V340 C66 version.
I know that the twiddle factors have changed over the various versions so I have been tracking that also.
I have dumped the inputs and outputs and I see that my twiddle factors are doing what is expected and my input vector is constant, but my output changes for the C66 V340 version.
Here is a detailed trace of what I have tested.
C6482 running DSPLIB V100 is my baseline. I took the source code from V100 and compiled it on the AM5728 DSP and it worked.
On the AM5728 I then did this progression using the files from the DSPLIB V340 source code.
ifft twiddle output match? Unit Test Pass?
C64p/cn C64p Yes Yes
C64p/i C64p Yes Yes
C66/cn C66 Yes Yes
C66/i C66 No No
cn is the c natural version, i is the processor intrinsic version.
For each test case above I copied the source code to my project and rebuilt the code, changing the function names so I was 100% sure
I was using the correct code and not some library code by default.
As you can see, the only difference that causes it to fail is the version I want to use, C66 Intrinsic.
More details on my config:
Compiler v8.1.0
DSPLIB C66x 3.4.0.0
XDCtools 3.32.0.06_core
am57xx PDK 1.0.2