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.

【请教】CCS5仿真运行测试周期数与在线仿真运行周期数存在差别?



问题是这样的:

设计了一个有六个模块的数据处理算法,在仿真模式下运行,利用TSCL测试出各个模块的运行时间; 算法验证完成后,现在上电路板在线调试,利用TSCL再次测试各个模块的运行时间,出现了有的模块运行时间基本一致,有的模块运行时间有20%~50%以上的增加;各个模块中都有对数据的读、写操作,数据存放位置与仿真时一致,LL2 或者 SL2(用的是6678)。

为何仿真测试与在线测试会存在这样的差别?

这里设置L1D L1P为全cache模式,代码存放在ddr3或L2中,测试结果类似。

  • 今天又做了个测试:

           用dsplib 中的 DSP_fft32x32()在simulator 和上板在线测试,得到的结果也不相同,比如,个问号2048点fft,在simulator模式下运行只要16510clk,而在线模式需要24635个clk,二者具有相同的优化级别等相关设置。

          数据和代码都存放在LL2中。

    求专家解答

  • 帖子石沉大海了哈,自己顶一下,求专家解答~~

  • 我表示我也遇到了这样的问题,后来我猜想可能是simulator仿真的时候,由于内存是理想的,取数和存数上不存在硬件物理延时,而在真实的在线调试过程中从内存中取数时间比simulator仿真要慢很多,后来我做过测试,比如一句简单的赋值语句,float *a=(float *)0x10802000       TSC_start();    for(i=0;i<5;i++)   a[i]=i;  TSC_end();      你用simulator和在线调试测试的时间就会得到很大的差距。

  • function simulator不能用来仿真性能,可以用cycle approximate simulator大致测试一下性能,但是simulator不能准确反映memory访问、cache miss、及总线冲突等引入的时延,与板载的性能差异在20%左右,具体根据不同的算法代码有关。