【技术实现步骤摘要】
一种基于CORDIC算法的N次根计算装置及方法
本专利技术涉及超大规模集成电路设计领域,尤其涉及一种高精度、低硬件资源开销的N次根计算装置及其方法。
技术介绍
N次根作为一种常见的计算,经常应用于一些特殊领域,如计算机视觉、电磁学、大气科学、流体力学等。在超大规模集成电路设计中,实现N次根的计算具有一定的难度。现有的技术大多是针对平方根和立方根的计算,实现的方法有查找表、线性收敛法、逐位计算法和牛顿迭代法等,其中最常用的方法为牛顿迭代法。牛顿迭代法也可以用于N次根的计算,它具有一定的优点:收敛速度为二阶,迭代次数较少,计算速度快。但是牛顿迭代法的精度与初始点有关,当初始点选择不当时,计算精度会大大降低,而且在利用牛顿迭代法进行N次根的计算时,一个固定的硬件电路只能用于某一个特定根指数的次方根的求解,通用性低。此外,牛顿迭代法的运算量大,需要使用大量的乘法器,占用较多的硬件资源。因此如何在增加运算精度、保证运算速度的前提下,使用较少的硬件资源进行N次根的计算,是现有技术亟需解决的问题。CORDIC(Coordinate ...
【技术保护点】
1.一种基于CORDIC算法的N次根计算装置,其特征在于,包括基本计算模块、CORDIC模块和控制模块;所述基本计算模块与CORDIC模块相连,所述控制模块分别与基本计算模块和CORDIC模块连接,其中:/n所述控制模块用于控制CORDIC模块和基本计算模块之间的配合计算;/n所述CORDIC模块可多次复用,用于进行对数运算、除法运算、双曲正弦运算和双曲余弦运算;/n所述基本计算模块用于对需要输入给CORDIC模块的数据或CORDIC模块输出的数据进行加法和移位操作。/n
【技术特征摘要】
1.一种基于CORDIC算法的N次根计算装置,其特征在于,包括基本计算模块、CORDIC模块和控制模块;所述基本计算模块与CORDIC模块相连,所述控制模块分别与基本计算模块和CORDIC模块连接,其中:
所述控制模块用于控制CORDIC模块和基本计算模块之间的配合计算;
所述CORDIC模块可多次复用,用于进行对数运算、除法运算、双曲正弦运算和双曲余弦运算;
所述基本计算模块用于对需要输入给CORDIC模块的数据或CORDIC模块输出的数据进行加法和移位操作。
2.根据权利要求1所述的一种基于CORDIC算法的N次根计算装置,其特征在于,所述CORDIC模块包括:
(1)计算单元,该计算单元在同一时刻进行双曲CORDIC向量模式计算、线性CORDIC向量模式计算和双曲CORDIC旋转模式计算中的一种;
(2)多个数据选择器,其中,与CORDIC模块输入端相连的三个数据选择器用于控制CORDIC计算单元的操作数,该操作数有两个选项,分别为CORDIC模块外输入的起始值和CORDIC模块内进行CORDIC计算产生的迭代值;与CORDIC模块输出端相连的三个数据选择器用于控制CORDIC模块计算数据输出前进行加法操作还是减法操作;另外设置三个数据选择器用于选择CORDIC模块的计算模式,所述计算模式包括双曲CORDIC向量模式计算、线性CORDIC向量模式计算和双曲CORDIC旋转模式计算三种;
(3)寄存器,用于存储与CORDIC模块输入端相连的三个数据选择器输出的数据。
...
【专利技术属性】
技术研发人员:潘红兵,薛元,陈轩,罗元勇,王宇宣,
申请(专利权)人:南京大学,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。