打印

请教一个 ALTERA NIOS 定制指令的问题

[复制链接]
595|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yxs888|  楼主 | 2016-12-1 15:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟在开发中遇到一个C 程序需要加速的功能,C 程序代码如下:
        int32 j;
        int64 sum;

        for(i = 0; i < data_len; i++)
        {
                sum = 0;
               
                for(j = 0; j < order; j++)
                {
                        sum += qlp_coeff[j] * (int64)data[i-j-1];
                }
                data[i] = residual[i] + (int32)(sum >> lp_quantization);
        }

其实就是一个 DSP 中常用的 32位乘加指令,两个32位乘法得出一个64位的数据,但 NIOS CPU 是32 位的,我白思不得其解,不知如何下手。仔细阅读了手册也未能找到方法。
上面 C 程序中, 每次循环 data_len 有 4K 次,order 是在 1-32 之间的一个数,所以这里非常耗时间。希望有高手能指点一下,可以有偿。谢谢

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

19

帖子

0

粉丝