FPGA中如何求倒数

2019-03-25 10:07发布

      我先要做的是一个定点实数的倒数运算,我用16bit的数表示范围为1.0~15.0的实数,用4bit表示整数,11bit表示小数我的思路是先把1.0~15.0做倒数, 然后扩大2048倍(右移11位), 但是如果我要精确运算的话,要从1.0001算到15.9999,即使从1.01~15.99然后做一个查找表放入ROM中,在运算时调用 也很麻烦(指的不够自动化)。      大家有没更好的方法呢??、   此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
仙猫
1楼-- · 2019-03-25 15:32
< /  找下开发环境里,可能有除法IP可以利用的,这样就很省事(比如在Xilinx的ISE工具里,找CORE Generator)。
 如果速度不要求很快的话,用嵌入处理器的办法,至少可以不用外接ROM了。
 FPGA内置有块存储器可以利用,先算好灌成ROM,缺点是存储量不是很大,只能作为稀疏的倒数表。
 剩下的,就是外接ROM了,但这不仅是多一个器件的问题,得考虑好ROM怎么写——加装ROM Socket,用写入器写好了装进去?还是在FPGA里编写写ROM的程序?数据是边算边写还是通过通信接收?总之挺麻烦。
wang182004
2楼-- · 2019-03-25 18:22
嗯,谢谢楼上。我现在的做法就是你提到的第三种,算好灌成ROM,就是精确度上有缺点。因为我可能比较主要硬件的使用效率,所以用IP核的话可能会太费资源,如果第三种做法确实无法达到预期的精确度,那只能用IP核了。

    PS:我现在做的是MIMO检测实现中的矩阵求逆运算,感觉网上对于这种数值计算实现方面介绍的很少,楼上的高人能否介绍点这方面的资料呢?谢谢
仙猫
3楼-- · 2019-03-25 23:48
扫瑞,这个俺七窍通了六窍呢……;P
wang182004
4楼-- · 2019-03-26 01:56
 精彩回答 2  元偷偷看……
zhtong19860109
5楼-- · 2019-03-26 03:16
谢谢分享
lichao_198801
6楼-- · 2019-03-26 03:37
楼主V5

一周热门 更多>