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.

TCI6638K2K: Recommendation on the Fixed-Point Analysis

Part Number: TCI6638K2K

Hi,

I am in the implementation phase of some large DSP algorithms, and I have written them in a "Fully Optimized" design in terms of speed on C66x target. These algorithms have been written on MATLAB Floating Point at the first step (all numbers are complex) and then I converted them into fixed-point (mostly 16bits) by using MATLAB Fixed-Point Toolbox. Then, I wrote the C66 code by using TMS320C6000 intrinsic operators.

During test of the algorithms, I have noticed that outputs of MATLAB fixed-point and C are not bit-matched in many places. Since my algorithm is highly sensitive to small errors (rounding or saturation), I wanted to ask TI DSP experts about any recommendation they have about the best environment to simulate the algorithm to get the closest expected numerical performance before implementing on the target. My other reason for switching to another environment from MATLAB Toolbox is its slow process and the long time of simulations.

I have found in some of threads in E2E forum from very long time ago that IQMATH was providing similar capabilities that I am looking for on C64x devices. Is there any similar software or packages for these purposes?

Thanks,

Ardalan

  • Hi Ardalen,

    I've forwarded this to the experts. Their feedback should be posted here.

    BR
    Tsvetolin Shulev
  • Thank you very much Zhaoyun for your quick response. May I have more details about your methodology? I totally understand that some part of these details might be proprietary of TI and cannot be shared. However, I am more curious to know if you use Fixed-Point Toolbox? If you don't use Toolbox, do you convert numbers to integer/binaries and then apply similar process that you have considered in your hardware design for each instruction?

    I would like to give you an example. Let's say, I want to calculate square root reciprocal of a 32-bit float number on my C66 target (i.e. RSQRSP). I would need to achieve the exact bit-match output from my MATLAB model to be able to analyze my very big algorithm correctly compare with outputs on target. Does TI provide any public MATLAB libraries for every instruction or at least for some of them are being used most frequently? If not, can you please guide me how to do to that?

    Thanks,

    Ardalan
  • If you think about rsqrsp, all intrinsic instructions and data types are modelled using C6xSimulator (). That is C, but still you may run that on PC.

  • Thank you rrlagic. I was not aware of C6xSimulator. It can be a good help for me and I can follow the exact process that has been considered in the design of each instruction and apply them in my MATLAB fixed-point model. However, it may not be a good environment to be considered as my simulation platform because it is too much close to final implementation. I need an environment to be close to my first step which is MATLAB float algorithms and fill the gap between it and my fixed-point C66 intrinsic-type code.

    Any information about the best way of simulating fixed-point model in MATLAB based on TI instructions would be greatly appreciated. Please let me know if there exists a library or a tutorial resource regarding this modeling.