- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
用矢量旋转求解平方根的算法及其FPGA实现
在相同精度的条件下,本文算法占用资源比采用牛顿迭代算法和不恢复余数的开平方算法分别少了9%和6%,完成一次平方根运算需要的周期明显减少,只需要1个时钟周期就可以输出运算结果,以后每个时钟输出1个运算结果。而牛顿迭代算法由于需要反馈调整,需要31个时钟周期才可以完成1次开平方运算;不恢复余数的开平方算法则需要9个时钟周期才能输出第一个结果。
在硬件速度允许的情况下,该算法可以进一步提高以获得更好的性能,这取决于迭代计算中每次旋转角度大小的选择。
结语
本文提出了一种基于矢量旋转求三角函数进而求得任意数平方根的算法,并在FPGA上加以实现。该算法没有时延,且迭代次数少;在相同的计算误差下,使用的算术逻辑单元较少,适于在FPGA上实现,满足了数据更快处理速度和芯片更少面积的要求。
参考文献:
[1] Hennessy J, Patterson D. Computer Architecture, A Quantitative Approach[M], Second Edition, Morgan Kaufmann Publishers, Inc., 1996
[2] Kabuo H, Taniguchi T, Miyoshi A. et al. Accurate Rounding Scheme for the Newton-Raphson Method Using Redundant Binary Representation[J], IEEE Transaction on Computers, Vol. 43, No. 1, 1994. pp43-51
[3] Markstein P, Computation of Elementary Functions on the IBM RISC RS6000 Processor[J]. IBM Jour. Of Res. and Dev., January, 1990. pp111-119
[4] Ercegovac M, Lang T, Radix-4 Square Root Without Initial PLA[J], IEEE Transaction on Computers, Vol. 39, No. 8, 1990. pp1016-1024
[5] Lang T, Montuschi P, Very-high Radix Combined Division and Square Root with Prescaling and Selection by Rounding[J], Proc. of 12th IEEE Symposium on Computer Arithmetic, IEEE Computer Society Press, 1995. pp124-131
[6] Bannur J, Varma A, The VLSI Implementation of A Square Root Algorithm[J], Proc. of IEEE Symposium on Computer Arithmetic, IEEE Computer Society Press, 1985. pp159-165
[7] Johnson K C, Efficient Square Root Implementation on the 68000[J], ACM Transaction on Mathematical Software, Vol. 13, No. 2, 1987. pp138-151
[8] 王艳梅,王同杰,郑成文.用VHDL实现的开方运算[J].沈阳工业学院学报,2004, 23(1): 3
[9] 林志谋,卢贵主.一种适合FPGA实现的开平方算法[J].厦门大学学报,2006,45(2):119-201
来源:电子产品世界
上一篇:节能智能型3G基站的设计
下一篇:无线接入网中关于WCDMA的全面介绍