[FPGA] fpga如何实现浮点指数运算?

[复制链接]
 楼主| xiantingfeng 发表于 2013-12-8 19:39 | 显示全部楼层 |阅读模式
双精度浮点指数运算,求exp(x),-20~20的范围。精度可以适当放低。
cordic算法的范围有限,在-1到1之间,而且需要转化为定点,需要进行拆解,用cordic比较麻烦。
有没有其他的比较好的实现方法。
zhaojingzb 发表于 2013-12-9 10:22 | 显示全部楼层
FPGA有浮点计算的IP,你可以看一下他的user guide,对你会有帮助
 楼主| xiantingfeng 发表于 2013-12-10 09:01 | 显示全部楼层
zhaojingzb 发表于 2013-12-9 10:22
FPGA有浮点计算的IP,你可以看一下他的user guide,对你会有帮助

嗯,是有浮点IP,像基本的乘除法,开方可以用,但像指数运算这种高级一点的没有,cordic运算输入范围小,而且频率没法太高。
zhaojingzb 发表于 2013-12-10 10:16 | 显示全部楼层
不是啊,我记得我应该做过指数的运算的,原理都是一样的吧。
 楼主| xiantingfeng 发表于 2013-12-15 16:07 | 显示全部楼层
zhaojingzb 发表于 2013-12-10 10:16
不是啊,我记得我应该做过指数的运算的,原理都是一样的吧。

cordic算法可以实现指数运算,但范围限于-pi/4~pi/4,其他范围需要转换,可以考虑用乘法什么的,也比较麻烦。
 楼主| xiantingfeng 发表于 2013-12-15 16:10 | 显示全部楼层
要用到的是求e^(-x),求负指数,参考了一篇文献, 基于组合移位的指数求解,转换为定点数据。在-1~-8范围内精度在1e-8,基本满足要求,但小于-8时误差百分数比较大,不过此时的结果已经不大,1e-4,对结果影响不大。基本满足要求
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

18

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部