原创 Verilog中小数计算方法

2014-12-6 13:59 3624 18 18 分类: FPGA/CPLD

verilog中没有小数的概念,如果要有小数的计算,最普遍的办法是将小数按2的倍数增大计算完后缩小相同的倍数。按2的多少倍数增大是个关键。

例如需要将0.2变成整数计算,那么需要将0.2x2N使之成为整数,如果没法成为真正的整数,那么就取误差范围相对于小的倍数。

如果0.2 x 23= 1.6,那么verilog是取1.6中的整数进行计算,误差就是(1.6-1/1.6 = 0.38 左右;

如果0.2 x 26= 12.8,那么verilog是用12进行计算,误差范围是0.8/12.8 = 0.0625;相比之下增大倍数越大同倍数减少时误差范围越来越小,但是不需要夸张的增加放大倍数,通过实际情况,在合理的误差范围内就可以了。

文章评论0条评论)

登录后参与讨论
我要评论
0
18
关闭 站长推荐上一条 /2 下一条