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.

K1例程 计时错误



您好!

我是根据K1的TCP3D的程序,改成同时使用3个TCP3D实体,解码结果都正确,但是用TSCL计时的时候,记得的cycle数不正确

比如,使用1个TCP3D,输入3个6144 bit的码块,测得的cycle数为66924,吞吐量在260Mbps左右,很明显这是错误的

跟K1类似,我的程序流程是:startCycle --> tcp3d_pollfree --> tcp3d_submit --> tcp3d_pollfree --> endCycle

请问是哪里出错了呢?

还有就是当我设置断点的时候,Cycle数会明显变少,在640左右,请问这是因为设置断点之后,tcp3d仍在解码导致的么?

  • 确认测试cycle需要在板子上测试,如下链接中的例程已经加了相应的性能测试,直接将例程在板子上测试,打开宏定义#define THROUGHPUT_TEST,配置译码截止模式为最大迭代次数,最大的迭代次数为8,配置LTE mode下译码3*6144,1个TCP3D的吞吐量大概在115Mbps左右。

    http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/47664.aspx

    打断点后TCP3D还在工作,测试过程中在提交TCP3D后不能打断点。

  • Andy,您好!

    谢谢您的回复!

    我是在C6670L的评估板上测试的cycle,K1的那个例程我也跑过,没有问题

    现在是根据K1程序修改成使用多个TCP3D之后,测试cycle不正确,kestone_TCP3D.c 文件没有进行改动

  • 您好!

    我刚刚在我自己的程序里试了下,停止准则改成‘最大迭代次数’,发现cycle结果是正确的

    而我之前用CRC就是错的,这是为什么呢?

  • 需要在迭代次数最多的情况下测试性能,如果配置为CRC迭代截止,会在CRC译码正确时提前截止,此时的迭代次数可能很小,你可以查看一下输出状态寄存器中翻译的当前迭代次数,相关状态寄存器的定义参考TCP3D手册。