[求助] 求助:定点实数乘法的FPGA实现

wang182004   2010-7-30 10:42 楼主

我用定点数做两个实数的乘法,比如共16位,用1+5+11定点。

方法是不是这样:把小数点右移11位,即把数放大2^11,这样就变成整数运算,结果在缩小2^22,即小数点左移22位???

                     问题(1)但是我写 testbench时输入小数,modersim无法现实小数?需要在哪做处理?(我看过别人写过一个帖子,里面可以显示小数。

                             (2)我知道VERILOG中无法识别小数,那么我们需要处理小数时应该如何处理后再放到程序中??

                        

 

回复评论 (4)

直接把小数放大成整数,然后进行相乘,然后缩小,这样处理完全能满足常用的数字处理。

不需要你这么复杂。

 

对了,如果只是实现乘法运算,是没有必要用MODESIM仿真哦,问题比较简单,实现也不难

一个为理想不懈前进的人,一个永不言败人! http://shop57496282.taobao.com/ 欢迎光临网上店铺!
点赞  2010-7-30 12:28

引用: 原帖由 eeleader 于 2010-7-30 12:28 发表 直接把小数放大成整数,然后进行相乘,然后缩小,这样处理完全能满足常用的数字处理。不需要你这么复杂。   对了,如果只是实现乘法运算,是没有必要用MODESIM仿真哦,问题比较简单,实现也不难!

 

 

          谢谢,这个思路跟我所述差不多。我要做的是一个复矩阵求逆的模块,所以我想先保证每个模块的正确,所以想乘法也用MODERSIM反正下。

          我还存在的问题是:

       (1)因为我们要处理实数,即使我们在编功能模块的时候可以直接对输入进行移位放大,但是我们要仿真的话肯定要输入真实的实 数,但MODERSIM 却不能识别实数,这个该怎么处理。

        (2)因为我最终是要实现MIMO系统的检测,所以还是要做定点处理的1+5+11,1是符号位,5是整数部分,11是小数,这样的话整个模块才能统一, 所以底层乘法模块也得这样,看起来可能复杂点,版主还有什么更好的办法请指教下哈。。。?

[ 本帖最后由 wang182004 于 2010-7-31 20:15 编辑 ]
点赞  2010-7-31 20:10
???版主不见了啊,帮帮忙哈。。。
点赞  2010-8-2 10:13
怎么没人说话了哈,,,我的问题还没解决的嘛,,,:(
点赞  2010-11-16 21:09
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复