首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

多次乘法运算使得数据宽度越来越大怎样处理?

多次乘法运算使得数据宽度越来越大怎样处理?

我的设计中需要进行多次乘法运算,而多次乘法运算使得数据宽度越来越大,这样会占用很多资源,请问有解决办法么?
比如我的16*16的乘法器,经过n次后数据宽度就变成(n+1)×16位,占用了太多的资源
对于高位的处理,还请详细说一下,谢谢。
谢谢,看来确实需要在这方面下点功夫哦。

最好用matlab仿真一下

关于这方面的问题,最好用matlab仿真一下,(用modelsim也可以仿真的,只是很费时间)。
对于高位截位,还是低位截位,从仿真结果中可以看得很清楚,对于成法结果高位没有变化的位(也就是同符号位相同的位,均可截掉,只剩下符号位,对于无符合数相乘,高位为零的军可截掉)。当然你首先得知道你的成法输入范围,比如对于CPSK调制的信号,只有几个点(输入数据只有几个数值可选) 。对于低位截位,就要看你的精度要求了,如果你的系统输出只有16位的话,你在每次相乘后,或者FIR滤波器(滤波器的中间可以进行全精度运算)的最后结果,进行截位,有16~18bit应该就可以了

[此贴子已经被作者于2006-6-9 23:23:40编辑过]

同楼上的.

中间结果取决你的算法,以及最后要求的数据精度.

多次乘法中间结果最好使用四舍五入法,以避免累积误差.
FPGA welcome
返回列表