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.

C6748 Efficient Fixed Point FIR?

Hi,

My platform is a Hawkboard, OMAP L-138, CCSv4, XDS100v2.

I need to implement a 16 bit fixed point FIR efficiently on the C6748.  A  function like the C64x DSP_fir_gen()  would be ideal.  Any suggestions on how to create one that runs on the C6748?    

Unfortunately  the floating point DSPF_sp_fir_gen(), as efficient and convenient as it is, uses too many cycles for my project.   

Best regards,

Joe

   

  • The C6748 is fixed- and floating-point DSP that is ISA compatible with all previous C6000 architectures, so it can run the DSP_fir_gen code from the C64x+ DSPLib library.

    Regards, Daniel

  • Hi Daniel,

    I'm not by my HW right now.  I should've mentioned that I did try to run the 64x lib last night, but the build failed.  I just created a test project in the simulator and got the same error.  So t he next question is how do you configure the ISA revision?  Below is the error message. 

    "./FirLibTestcfg.obj" -l"libc.a" "../dsplib64plus.lib"

    <Linking>

    fatal error: file "../dsplib64plus.lib<DSP_fir_gen.obj>" specifies ISA revision

    "C6400+", which is not compatible with ISA revision "C6700" specified in a

    previous file or on the command line

     

    >> Compilation failure

     

    Thanks,

    Joe

    PS: What does ISA stand for?

     

  • ISA=Instruction Set Architecture

    Make sure you use -mv6740 as the architecture for any files you build.  It's conceivable that you will need to update your compiler tools to something more recent (something like 6.1.11 or newer) to get everything to work .  The linker should not have any issues linking 64x+ code with 6740 code.  Worst case scenario is that you could rebuild the DSPLib code using the 6740 ISA setting.

    There is some potential for issues with packed data structure alignment when combining older architecture code (see section 2.13 of this doc).

    Regards, Daniel

  •  Hi Daniel,

    Since I started working with CCS4 just about a week ago  I decided to go back to CCS3.3 to be on familiar ground while I work through this.  I upgraded  to CCS 3.3.82.13 and uprgraded the compiler to 6.1.17, built the project and voila!   I simply added dsplib64plus.lib to my project without rebuilding it. In simulatiion mode I stepped into DSP_fir_gen and saw the desired tight code.  It's like magic!

    Thank you so much!  You guys are the BEST!

    Joe