Forums

cycles no. and time

Started by Medris March 1, 2006
Hi every body,
I would like to know how can I calculate or measure the time and number of
cycles of the algorithm which I used in CCS with DSK6711? For example what
is the time should be taken to get the FFT analysis for input signal with
10-point FFT in CCS? is it the calculation like cfftr2_dit.sa function
which is can get from cycles = ((2N) + 23)log2 (N)+6
also for another algorithms how can I calculate.
so please any one help. 
Thanks



I'm sorta confused by what you are asking, but... have you tried
profiling your code using a cycle accurate simulator in CCS? By using
the profiling tools you can get an estimate of the cycle counts broken
down by type (stalls, NOPs, CPU, etc.). Once you have the cycle count,
you can multiply by your DSP clock speed. If you want to learn more,
read up on the profiling tools.

>I'm sorta confused by what you are asking, but... have you tried >profiling your code using a cycle accurate simulator in CCS? By using >the profiling tools you can get an estimate of the cycle counts broken >down by type (stalls, NOPs, CPU, etc.). Once you have the cycle count, >you can multiply by your DSP clock speed. If you want to learn more, >read up on the profiling tools. > >Thank you for your reply, actually I used ADS8364EVM (250 KSPS) with
DSK6711(as you know 150MHz) so I got the signal in real time, my question is how can I know the no of cycles and time to finish FFT processing which is available in CCS graph. I sow the profile tool and there is no change in clock setup. so please help
I haven't used any of their startup kits before... so hopefully someone
else who has can reply. So I take it you are using the emulator for the
6711? If you are compiling with debug on (-g) you should be able to
step through the program as it executes with the profiler enabled and
get cycle counts for each statement in your code... That's what I
typically do to evaluate performance of key functions... Sorry I can't
be of anymore help.

>I haven't used any of their startup kits before... so hopefully someone >else who has can reply. So I take it you are using the emulator for the >6711? If you are compiling with debug on (-g) you should be able to >step through the program as it executes with the profiler enabled and >get cycle counts for each statement in your code... That's what I >typically do to evaluate performance of key functions... Sorry I can't >be of anymore help. > >I would like to inform you that I found the number of clock is equal to
"24233660" after excuting my main code. Therefore, I multiplied this number with the processor cycle time i.e. (1/150MHz)and got the value to be "0.1615sec". I wonder whether this calculation is correct or not. Any inconvenience is regreted. I highly appreciate your cooperation.
That is too high for typical fft. Are you sure you are just timing the
FFT call?

After you load your debug cof file (File > Load Program), make sure you
reset the CPU (Debug > Reset CPU). I'm not sure if there is a better
way, but if I'm trying to get an early performance estimate of some
code I have (assembly in particular), I'll put a debug point at the
function call, run to that point in debug, enable profiling, step over
the function, disable profiling, and save the profile information. The
numbers tend to be a little inflated because debug introduces some
overhead in your code and disables some optimizations, but it's not too
bad.

As a reference, I have done this analysis on TI DSP lib functions with
code stored on chip and I've been able to replicate cycle counts listed
in their lib docs. You might want to try the same?