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.

Simulator Cycle Counting.



I am getting larger cycle times with the simulator benchmarking the RFFT_f32 method of the DSP library against a 4096 point FFT.  When running the library example I get about 135,000 cycles.  For FFT sizes that the library documentation benchmarked, my simulation numbers were within a few percent.To get the larger array size I believe I needed to modify the linker command file.  This project is built for the F28355.

I created a new project and did my own FFT using the same library function.  This project targeted the C28346 (a floating point processor from the same family).  The cycle count in this case was about 159,000.  At least one version of the similator condsiders memory speed and I am thinking this may be causing the speed difference.  Since I am using linker command files for different variants, and have modified them, the memory layout is not the same.  I am using the C28X simulator.

Can I configure the memory timing in the simulator?  If so how?  Is there documenation for this specific simulator.

 

John

  • Hi John,

    Which CCS version are you using? And what is the exact simulator name?

    Thanks

    ki

  • Thank you for the fast response.

    The CCS Version = 4.2.4.00033

    The target I use for the simulator is:  SIM28X.ccxml

     

  • You must be using the F283x CPU Cycle Accurate Simulator since that is the only 28x simulator that comes with CCSv4. It assumes a flat memory system. You mentioned "At least one version of the simulator considers memory speed". If you have been using CCSv4 the whole time, you have been using the same simulator. Or were you using another simulator at one time (say from CCSv3.3)?

    Thanks

    ki

  • For now I am goint to attribute the difference to the input data.

    I ran two instances of code composer side by side and got the same cycle counts as I stepped through the assemble code (up to 294 cycles).  Perhpas the code or HW is smart enough to optmize in cases where input data is 0 etc. (i. e. 0 * anything = 0, don't need to calc).  Thank you for your help. If I get more curious, I will run exactly the same source code in both projects.  I had been assuming FFT execution time would not depend on data but this may be a bad assumption.

    John