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.

TMS320C6678: C66x

Part Number: TMS320C6678

1) It is said that some of the libraries for C66x based DSPs are open source and some do require commercial licences. Does anybody know how I can get information about which are the open source libraries and  which require commercial licenses?

 2) Is there anyway to use OPENCL on a device without ARM Cortex like TMS320C6678 which consists 8 C66x cores.

3) The lsat question is about how C66x is set as fixed or floating point. Is there an instruciton set that makes C66x core to change its state from fixed to floating point in the same code?

Thanks.

  • Hello!

    As to 3), C66x core can do both fixed and floating point. At the lowest level, there are fixed and floating point instructions, which in turn, you rarely code yourself, but compiler translates your C code into proper instructions. No any kind of switching required, they are all available to you at all time.

  • user4762450 said:
    1) It is said that some of the libraries for C66x based DSPs are open source and some do require commercial licences. Does anybody know how I can get information about which are the open source libraries and  which require commercial licenses?

    You can check the licensing information for DSP libraries here: http://processors.wiki.ti.com/index.php/Software_libraries

    TI TSPA and TI BSD are available in source and available for modification and distribution. A small correction there is that VLIB library is not available only in object code the source is not TI commercial and only distributed with NDA in place due to some patent/IP specific content.

     2) Is there anyway to use OPENCL on a device without ARM Cortex like TMS320C6678 which consists 8 C66x cores.

    OpenCL is only used in heterogeneous ARM + DSP environment to offload tasks to DSP.. For homogeneous, multi-core DSP environment, user can use OpenMP which is compiler directive that takes advantage of multi-core architecture. 

    You can checkout quick overview for OpenCL and OpenMP here:

    https://training.ti.com/opencl_openmp_offload_on_sitara_am57x_processors

    user4762450 said:
    3) The lsat question is about how C66x is set as fixed or floating point. Is there an instruciton set that makes C66x core to change its state from fixed to floating point in the same code?

    The C66x DSP architecture does switch from fixed and floating point. The architecture support instruction set that the compute unit deals as fixed point data type or floating point data type base on the CPU instruction. This is seamless to end user if you are using TI compiler but if you plan to optimize in assembly or intrinsic then you may need to be aware of CPU instructions that apply to fixed  and floating point data type. The compiler instruction set is described here:

    https://training.ti.com/system/files/docs/c66x-corepac-instruction-set-reference-guide.pdf